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+CistLS0KKyB0b29scy9nZW9zLWNvbmZpZy5pbiB8ICAgIDMgKystCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvdG9vbHMvZ2Vvcy1jb25maWcuaW4gYi90b29scy9nZW9zLWNvbmZpZy5pbgoraW5kZXggOWI0NWI1Zi4uMTc0OTg5MiAxMDA2NDQKKy0tLSBhL3Rvb2xzL2dlb3MtY29uZmlnLmluCisrKysgYi90b29scy9nZW9zLWNvbmZpZy5pbgorQEAgLTEsNiArMSw3IEBACisgIyEvYmluL3NoCisgcHJlZml4PUBwcmVmaXhACisgZXhlY19wcmVmaXg9QGV4ZWNfcHJlZml4QAorK2luY2x1ZGVkaXI9QGluY2x1ZGVkaXJACisgbGliZGlyPUBsaWJkaXJACisgCisgdXNhZ2UoKQorQEAgLTM4LDcgKzM5LDcgQEAgY2FzZSAkMSBpbgorICAgICBlY2hvIEBWRVJTSU9OQAorICAgICAgOzsKKyAgICAgLS1jZmxhZ3MpCistICAgIGVjaG8gLUkke3ByZWZpeH0vaW5jbHVkZSAKKysgICAgZWNobyAtSSR7aW5jbHVkZWRpcn0KKyAgICAgICA7OworICAgICAtLWxpYnMpCisgICAgICAgIyBUT0RPOiBtYWtlIGFuIGFsaWFzIGZvciAtLWNsaWJzCistLSAKKzEuNy4xMC40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ2Vvcy9nZW9zLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ2Vvcy9nZW9zLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZTMwOGI0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9nZW9zL2dlb3MuaW5jCkBAIC0wLDAgKzEsMjEgQEAKK0RFU0NSSVBUSU9OID0gIkdFT1MgLSBHZW9tZXRyeSBFbmdpbmUsIE9wZW4gU291cmNlIgorSE9NRVBBR0UgPSAiaHR0cDovL3RyYWMub3NnZW8ub3JnL2dlb3MvIgorU0VDVElPTiA9ICJsaWJzIgorCitMSUNFTlNFID0gIkxHUEx2Mi4xKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTdmYmMzMzgzMDlhYzM4ZmVmY2Q2NGIwNGJiOTAzZTM0IgorCitTUkNfVVJJID0gImh0dHA6Ly9kb3dubG9hZC5vc2dlby5vcmcvZ2Vvcy9nZW9zLSR7UFZ9LnRhci5iejIiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBiaW5jb25maWcKKworUEFDS0FHRVMgPSsgImdlb3NsaWIgJHtQTn0tYzEiCisKK0RFU0NSSVBUSU9OXyR7UE59bGliID0gIkdlb21ldHJ5IGVuZ2luZSBmb3IgR2VvZ3JhcGhpYyBJbmZvcm1hdGlvbiBTeXN0ZW1zIC0gQysrIExpYnJhcnkiCitGSUxFU18ke1BOfWxpYiArPSAiJHtsaWJkaXJ9L2xpYmdlb3MtJHtQVn0uc28iCisKK0RFU0NSSVBUSU9OXyR7UE59LWMxID0gIkdlb21ldHJ5IGVuZ2luZSBmb3IgR2VvZ3JhcGhpYyBJbmZvcm1hdGlvbiBTeXN0ZW1zIC0gQyBMaWJyYXJ5IgorRklMRVNfJHtQTn0tYzEgKz0gIiR7bGliZGlyfS9saWJnZW9zX2Muc28uKiIKKworQUxMT1dfRU1QVFlfJHtQTn0gPSAiMSIKK1JERVBFTkRTXyR7UE59ICs9ICJnZW9zbGliICR7UE59LWMxIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9nZW9zL2dlb3NfMy40LjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2dlb3MvZ2Vvc18zLjQuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYTlhMDI4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9nZW9zL2dlb3NfMy40LjIuYmIKQEAgLTAsMCArMSw2IEBACityZXF1aXJlIGdlb3MuaW5jCisKK1NSQ19VUkkgKz0gImZpbGU6Ly9nZW9zLWNvbmZpZy1BZGQtaW5jbHVkZWRpci12YXJpYWJsZS5wYXRjaCIKKworU1JDX1VSSVttZDVzdW1dID0gImZjNWRmMmQ5MjZlYjdlNjdmOTg4YTQzYTkyNjgzYmFlIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjE1ZThiZmRmN2UyOTA4N2E5NTdiNTZhYzU0M2VhOWE4MDMyMTQ4MWNlZjRkNGY2M2E3YjI2ODk1M2FkMjZjNTMiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2dwc2QvZ3BzZC0zLjE0LzAwMDEtQ2hlY2stZm9yLV9fU1REQ19OT19BVE9NSUNTX18tYmVmb3JlLXVzaW5nLXN0ZGF0b21pYy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3BzZC9ncHNkLTMuMTQvMDAwMS1DaGVjay1mb3ItX19TVERDX05PX0FUT01JQ1NfXy1iZWZvcmUtdXNpbmctc3RkYXRvbWljLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgyYWM1YWEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2dwc2QvZ3BzZC0zLjE0LzAwMDEtQ2hlY2stZm9yLV9fU1REQ19OT19BVE9NSUNTX18tYmVmb3JlLXVzaW5nLXN0ZGF0b21pYy5wYXRjaApAQCAtMCwwICsxLDI1IEBACitGcm9tIGMzMDcxNmJlOWU2MTU1MTNmZTY2OTkzZmQzY2RjODE4YzNkNzA0MTAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiAiR2FyeSBFLiBNaWxsZXIiIDxnZW1AcmVsbGltLmNvbT4KK0RhdGU6IFN1biwgMTUgTWFyIDIwMTUgMTE6NTE6NDUgLTA3MDAKK1N1YmplY3Q6IFtQQVRDSCAxLzNdIENoZWNrIGZvciBfX1NURENfTk9fQVRPTUlDU19fIGJlZm9yZSB1c2luZyBzdGRhdG9taWMuaAorCistLS0KKyBTQ29uc3RydWN0IHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvU0NvbnN0cnVjdCBiL1NDb25zdHJ1Y3QKK2luZGV4IGFkZjQ3M2QuLjU2NmMxNGEgMTAwNjQ0CistLS0gYS9TQ29uc3RydWN0CisrKysgYi9TQ29uc3RydWN0CitAQCAtNjMzLDcgKzYzMyw3IEBAIGVsc2U6CisgICAgICAgICBhbm5vdW5jZSgiWW91IGRvIG5vdCBoYXZlIGtlcm5lbCBDQU5idXMgYXZhaWxhYmxlLiIpCisgICAgICAgICBlbnZbIm5tZWEyMDAwIl0gPSBGYWxzZQorIAorLSAgICBpZiBjb25maWcuQ2hlY2tIZWFkZXIoInN0ZGF0b21pYy5oIik6CisrICAgIGlmIG5vdCBjb25maWcuQ2hlY2tDb21waWxlckRlZmluZXMoIl9fU1REQ19OT19BVE9NSUNTX18iKSBhbmQgY29uZmlnLkNoZWNrSGVhZGVyKCJzdGRhdG9taWMuaCIpOgorICAgICAgICAgY29uZmRlZnMuYXBwZW5kKCIjZGVmaW5lIEhBVkVfU1REQVRPTUlDX0ggMVxuIikKKyAgICAgZWxzZToKKyAJY29uZmRlZnMuYXBwZW5kKCIvKiAjdW5kZWYgSEFWRV9TVERBVE9NSUNfSCAqL1xuIikKKy0tIAorMi4xLjAKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9ncHNkL2dwc2QtMy4xNC8wMDAxLUluY2x1ZGUtc3RkYXRvbWljLmgtb25seS1pbi1DLW1vZGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2dwc2QvZ3BzZC0zLjE0LzAwMDEtSW5jbHVkZS1zdGRhdG9taWMuaC1vbmx5LWluLUMtbW9kZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYzkxNjdlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9ncHNkL2dwc2QtMy4xNC8wMDAxLUluY2x1ZGUtc3RkYXRvbWljLmgtb25seS1pbi1DLW1vZGUucGF0Y2gKQEAgLTAsMCArMSw0MyBAQAorRnJvbSA3OWY2ZDkxMzMzNzgzMjVkNzBhOTJlNjZmNzM1MmMxYmVjZWZiYjg4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogR2xlYiBTbWlybm9mZiA8Z2xlYml1c0BGcmVlQlNELm9yZz4KK0RhdGU6IFNhdCwgMTYgTWF5IDIwMTUgMDI6NDc6MjggKzAzMDAKK1N1YmplY3Q6IFtQQVRDSF0gSW5jbHVkZSA8c3RkYXRvbWljLmg+IG9ubHkgaW4gQyBtb2RlLgorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IGZyb20gMy4xNQorCitXaXRob3V0IHRoaXMgYnVpbGQgd2l0aCBnY2MtNS4yIGZhaWxzIHdpdGg6Cit8IGFybS1vZS1saW51eC1nbnVlYWJpLWcrKyAtbWFyY2g9YXJtdjR0IC1tdGh1bWIgLW10aHVtYi1pbnRlcndvcmsgLW10dW5lPWFybTkyMHQgLS1zeXNyb290PS9PRS9idWlsZC9zaHItY29yZS90bXAtZ2xpYmMvc3lzcm9vdHMvb20tZ3RhMDIgLW8gY2xvY2tfZ2V0dGltZS1xdC5vcyAtYyAtTzIgLXBpcGUgLWcgLWZlbGltaW5hdGUtdW51c2VkLWRlYnVnLXR5cGVzIC0tc3lzcm9vdD0vT0UvYnVpbGQvc2hyLWNvcmUvdG1wLWdsaWJjL3N5c3Jvb3RzL29tLWd0YTAyIC1XZXh0cmEgLVdhbGwgLVduby11bmluaXRpYWxpemVkIC1Xbm8tbWlzc2luZy1maWVsZC1pbml0aWFsaXplcnMgLVdjYXN0LWFsaWduIC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdwb2ludGVyLWFyaXRoIC1XcmV0dXJuLXR5cGUgLXB0aHJlYWQgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtZyAtTzAgLXB0aHJlYWQgLWZQSUMgLURVU0VfUVQgLURRVF9TSEFSRUQgLUkvT0UvYnVpbGQvc2hyLWNvcmUvdG1wLWdsaWJjL3N5c3Jvb3RzL29tLWd0YTAyL3Vzci9pbmNsdWRlL2RidXMtMS4wIC1JL09FL2J1aWxkL3Noci1jb3JlL3RtcC1nbGliYy9zeXNyb290cy9vbS1ndGEwMi91c3IvbGliL2RidXMtMS4wL2luY2x1ZGUgLUkvT0UvYnVpbGQvc2hyLWNvcmUvdG1wLWdsaWJjL3N5c3Jvb3RzL29tLWd0YTAyL3Vzci9pbmNsdWRlL3F0NC9RdE5ldHdvcmsgLUkvT0UvYnVpbGQvc2hyLWNvcmUvdG1wLWdsaWJjL3N5c3Jvb3RzL29tLWd0YTAyL3Vzci9pbmNsdWRlL3F0NCAtSS9PRS9idWlsZC9zaHItY29yZS90bXAtZ2xpYmMvc3lzcm9vdHMvb20tZ3RhMDIvdXNyL2luY2x1ZGUvcXQ0L1F0Q29yZSBjbG9ja19nZXR0aW1lLmMKK3wgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIGNvbXBpbGVyLmg6NTA6MCwKK3wgICAgICAgICAgICAgICAgICBmcm9tIGNsb2NrX2dldHRpbWUuYzoxMDoKK3wgL09FL2J1aWxkL3Noci1jb3JlL3RtcC1nbGliYy9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2xpYi9hcm0tb2UtbGludXgtZ251ZWFiaS9nY2MvYXJtLW9lLWxpbnV4LWdudWVhYmkvNS4yLjAvaW5jbHVkZS9zdGRhdG9taWMuaDo0MDo5OiBlcnJvcjogJ19BdG9taWMnIGRvZXMgbm90IG5hbWUgYSB0eXBlCit8ICB0eXBlZGVmIF9BdG9taWMgX0Jvb2wgYXRvbWljX2Jvb2w7Cit8ICAgICAgICAgIF4KKy4uLi4KKworTW9yZSBpbmZvOgoraHR0cHM6Ly9nY2MuZ251Lm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9NjA5MzIKKworU2lnbmVkLW9mZi1ieTogR2FyeSBFLiBNaWxsZXIgPGdlbUByZWxsaW0uY29tPgorLS0tCisgY29tcGlsZXIuaCB8IDQgKystLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb21waWxlci5oIGIvY29tcGlsZXIuaAoraW5kZXggODM3YzkzNS4uMDM0MzBjMCAxMDA2NDQKKy0tLSBhL2NvbXBpbGVyLmgKKysrKyBiL2NvbXBpbGVyLmgKK0BAIC02Niw5ICs2Niw5IEBACisgICAgIH0gd2hpbGUgKDApCisgCisgI2lmZGVmIEhBVkVfU1REQVRPTUlDX0gKKy0jaWZuZGVmIF9fQ09WRVJJVFlfXwkvKiBDb3Zlcml0eSBpcyBjb25mdXNlZCBieSBhIEdOVSB0eXBlZGVmICovCisrI2lmICFkZWZpbmVkKF9fQ09WRVJJVFlfXykgJiYgIWRlZmluZWQoX19jcGx1c3BsdXMpCisgI2luY2x1ZGUgPHN0ZGF0b21pYy5oPgorLSNlbmRpZiAvKiBfX0NPVkVSSVRZX18gKi8KKysjZW5kaWYgLyogX19DT1ZFUklUWV9fIHx8IF9fY3BsdXNwbHVzICovCisgI2VuZGlmIC8qIEhBVkVfU1REQVRPTUlDX0ggKi8KKyAKKyAjaWZkZWYgSEFWRV9PU0FUT01JQ19ICistLSAKKzIuNS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3BzZC9ncHNkLTMuMTQvMDAwMS1TQ29uc3RydWN0LXByZWZpeC1pbmNsdWRlcHktd2l0aC1zeXNyb290LWFuZC1kcm9wLXN5LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9ncHNkL2dwc2QtMy4xNC8wMDAxLVNDb25zdHJ1Y3QtcHJlZml4LWluY2x1ZGVweS13aXRoLXN5c3Jvb3QtYW5kLWRyb3Atc3kucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmVhMzIyNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3BzZC9ncHNkLTMuMTQvMDAwMS1TQ29uc3RydWN0LXByZWZpeC1pbmNsdWRlcHktd2l0aC1zeXNyb290LWFuZC1kcm9wLXN5LnBhdGNoCkBAIC0wLDAgKzEsNzUgQEAKK0Zyb20gMWUyY2VhODk0NWJjMjE4M2ZiZTFhMDEyZGNkNjMzYTM1MjEyNTk1MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KK0RhdGU6IFR1ZSwgMjQgQXByIDIwMTIgMTg6NDU6MTQgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gU0NvbnN0cnVjdDogcHJlZml4IGluY2x1ZGVweSB3aXRoIHN5c3Jvb3QgYW5kIGRyb3Agc3lzcm9vdAorIGZyb20gcHl0aG9uX2xpYl9kaXIKKworKiB3aXRob3V0IFBZVEhPTlBBVEgsIGRpc3R1dGlsJ3Mgc3lzY29uZmlnIHJldHVybnMgSU5DTFVERVBZIHdpdGhvdXQgc3lzcm9vdCBwcmVmaXgKKyAgYW5kIHdpdGggUFlUSE9OUEFUSCBmcm9tIE9FIGl0J3MgcG9pbnRpbmcgdG8gbmF0aXZlIHB5dGhvbiBkaXIKKworICAgICQgZXhwb3J0IFBZVEhPTlBBVEg9L09FL3Noci1jb3JlL3RtcC1lZ2xpYmMvc3lzcm9vdHMvb20tZ3RhMDIvdXNyL2xpYi9weXRob24yLjcvCisgICAgJCBweXRob24KKyAgICBQeXRob24gMi43LjIgKGRlZmF1bHQsIEFwciAxOCAyMDEyLCAwOToxOTo1OSkKKyAgICBbR0NDIDQuNi4yXSBvbiBsaW51eDIKKyAgICBUeXBlICJoZWxwIiwgImNvcHlyaWdodCIsICJjcmVkaXRzIiBvciAibGljZW5zZSIgZm9yIG1vcmUgaW5mb3JtYXRpb24uCisgICAgPj4+IGZyb20gZGlzdHV0aWxzIGltcG9ydCBzeXNjb25maWcKKyAgICA+Pj4gc3lzY29uZmlnLmdldF9jb25maWdfdmFycygnSU5DTFVERVBZJykKKyAgICBbJy9PRS9zaHItY29yZS90bXAtZWdsaWJjL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvaW5jbHVkZS9weXRob24yLjcnXQorICAgID4+PgorICAgICQgdW5zZXQgUFlUSE9OUEFUSAorICAgICQgcHl0aG9uCisgICAgUHl0aG9uIDIuNy4yIChkZWZhdWx0LCBBcHIgMTggMjAxMiwgMDk6MTk6NTkpCisgICAgW0dDQyA0LjYuMl0gb24gbGludXgyCisgICAgVHlwZSAiaGVscCIsICJjb3B5cmlnaHQiLCAiY3JlZGl0cyIgb3IgImxpY2Vuc2UiIGZvciBtb3JlIGluZm9ybWF0aW9uLgorICAgID4+PiBmcm9tIGRpc3R1dGlscyBpbXBvcnQgc3lzY29uZmlnCisgICAgPj4+IHN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcnMoJ0lOQ0xVREVQWScpCisgICAgWycvcHl0aG9uMi43J10KKyAgICA+Pj4gaW1wb3J0IHN5c2NvbmZpZworICAgID4+PiBzeXNjb25maWcuZ2V0X2NvbmZpZ192YXJzKCdJTkNMVURFUFknKQorICAgIFsnL09FL3Noci1jb3JlL3RtcC1lZ2xpYmMvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9pbmNsdWRlL3B5dGhvbjIuNyddCisqIHB5dGhvbl9saWJfZGlyID0gcHl0aG9uX2xpYl9kaXIucmVwbGFjZShlbnZbJ3N5c3Jvb3QnXSwgJycpCisgIHJldHVybnMgcGF0aCB0byB0YXJnZXQgc3lzcm9vdAorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CitTaWduZWQtb2ZmLWJ5OiBQZXRlciBBLiBCaWdvdCA8cGFiQHBhYmlnb3QuY29tPgorLS0tCisgU0NvbnN0cnVjdCB8IDkgKysrKysrKysrCisgMSBmaWxlIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvU0NvbnN0cnVjdCBiL1NDb25zdHJ1Y3QKK2luZGV4IDZjOTMzMTEuLmNkZThiM2QgMTAwNjQ0CistLS0gYS9TQ29uc3RydWN0CisrKysgYi9TQ29uc3RydWN0CitAQCAtMTE0OCw2ICsxMTQ4LDEyIEBAIGVsc2U6CisgICAgICAgICBiYXNlY2ZsYWdzICs9ICcgLWNvdmVyYWdlJworICAgICAgICAgbGRmbGFncyArPSAnIC1jb3ZlcmFnZScKKyAgICAgICAgIGxkc2hhcmVkICs9ICcgLWNvdmVyYWdlJworKworKyAgICBpZiBlbnZbJ3N5c3Jvb3QnXToKKysgICAgICAgIHByaW50ICJQcmVmaXhpbmcgaW5jbHVkZXB5ICclcycgd2l0aCBzeXNyb290IHByZWZpeCIgJSBpbmNsdWRlcHkKKysgICAgICAgIGluY2x1ZGVweSA9IG9zLnBhdGgubm9ybXBhdGgoIiVzLyVzLyVzLyVzIiAlIChlbnZbJ3N5c3Jvb3QnXSwgZW52WydwcmVmaXgnXSwgZW52WydpbmNsdWRlZGlyJ10sIGluY2x1ZGVweSkpCisrICAgICAgICBwcmludCAiJyVzJyIgJSBpbmNsdWRlcHkKKysKKyAgICAgIyBpbiBjYXNlIENDL0NYWCB3YXMgc2V0IHRvIHRoZSBzY2FuLWJ1aWxkIHdyYXBwZXIsCisgICAgICMgZW5zdXJlIHRoYXQgd2UgYnVpbGQgdGhlIHB5dGhvbiBtb2R1bGVzIHdpdGggc2Nhbi1idWlsZCwgdG9vCisgICAgIGlmIGVudlsnQ0MnXSBpcyBOb25lIG9yIGVudlsnQ0MnXS5maW5kKCdzY2FuLWJ1aWxkJykgPCAwOgorQEAgLTE0MDgsMTEgKzE0MTQsMTQgQEAgaWYgbm90IGVudlsncHl0aG9uJ106CisgICAgIHB5dGhvbl9pbnN0YWxsID0gW10KKyBlbHNlOgorICAgICBweXRob25fbGliX2RpciA9IGVudlsncHl0aG9uX2xpYmRpciddCisrICAgIHB5dGhvbl9saWJfZGlyID0gcHl0aG9uX2xpYl9kaXIucmVwbGFjZShlbnZbJ3N5c3Jvb3QnXSwgJycpCisgICAgIHB5dGhvbl9tb2R1bGVfZGlyID0gcHl0aG9uX2xpYl9kaXIgKyBvcy5zZXAgKyAnZ3BzJworICAgICBweXRob25fZXh0ZW5zaW9uc19pbnN0YWxsID0gcHl0aG9uX2Vudi5JbnN0YWxsKCBERVNURElSICsgcHl0aG9uX21vZHVsZV9kaXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB5dGhvbl9idWlsdF9leHRlbnNpb25zKQorICAgICBpZiBub3QgZW52WydkZWJ1ZyddIGFuZCBub3QgZW52Wydwcm9maWxpbmcnXSBhbmQgbm90IGVudlsnbm9zdHJpcCddIGFuZCBub3Qgc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoJ2RhcndpbicpOgorICAgICAgICAgcHl0aG9uX2Vudi5BZGRQb3N0QWN0aW9uKHB5dGhvbl9leHRlbnNpb25zX2luc3RhbGwsICckU1RSSVAgJFRBUkdFVCcpCisrICAgIGVudi5BZGRQb3N0QWN0aW9uKHB5dGhvbl9leHRlbnNpb25zX2luc3RhbGwsICckQ0hSUEFUSCAtciAiJXMiICIkVEFSR0VUIicgXAorKyAgICAgICAgICAgICAgICAgICAgICUgKHB5dGhvbl9saWJfZGlyLCApKQorIAorICAgICBweXRob25fbW9kdWxlc19pbnN0YWxsID0gcHl0aG9uX2Vudi5JbnN0YWxsKCBERVNURElSICsgcHl0aG9uX21vZHVsZV9kaXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHl0aG9uX21vZHVsZXMpCistLSAKKzIuMS4wCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3BzZC9ncHNkLTMuMTQvMDAwMS1TQ29uc3RydWN0LXJlc3BlY3Qtc3lzcm9vdC1hbHNvLWluLVNQTElOVE9QVFMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2dwc2QvZ3BzZC0zLjE0LzAwMDEtU0NvbnN0cnVjdC1yZXNwZWN0LXN5c3Jvb3QtYWxzby1pbi1TUExJTlRPUFRTLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM0MTM0ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2dwc2QvZ3BzZC0zLjE0LzAwMDEtU0NvbnN0cnVjdC1yZXNwZWN0LXN5c3Jvb3QtYWxzby1pbi1TUExJTlRPUFRTLnBhdGNoCkBAIC0wLDAgKzEsMzMgQEAKK0Zyb20gM2M1ZmIzYTg2OTFhYzcxMWVhOTNlZGY4ZTBiNDJiZmZjNjJiMTk3ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KK0RhdGU6IFR1ZSwgMjQgQXByIDIwMTIgMTE6NTI6MzUgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAxLzRdIFNDb25zdHJ1Y3Q6IHJlc3BlY3Qgc3lzcm9vdCBhbHNvIGluIFNQTElOVE9QVFMKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorU2lnbmVkLW9mZi1ieTogRGVuaXMgJ0dOVXRvbycgQ2FyaWtsaSA8R05VdG9vQG5vLWxvZy5vcmc+CitTaWduZWQtb2ZmLWJ5OiBQZXRlciBBLiBCaWdvdCA8cGFiQHBhYmlnb3QuY29tPgorLS0tCisgU0NvbnN0cnVjdCB8IDUgKysrKy0KKyAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9TQ29uc3RydWN0IGIvU0NvbnN0cnVjdAoraW5kZXggMTRlMmY1OS4uZjBjYWZhOCAxMDA2NDQKKy0tLSBhL1NDb25zdHJ1Y3QKKysrKyBiL1NDb25zdHJ1Y3QKK0BAIC0xNDE0LDcgKzE0MTQsMTAgQEAgZGVmIFV0aWxpdHkodGFyZ2V0LCBzb3VyY2UsIGFjdGlvbik6CisgIyBSZXBvcnQgc3BsaW50IHdhcm5pbmdzCisgIyBOb3RlOiB0ZXN0X2JpdHMuYyBpcyB1bnNwbGludGFibGUgYmVjYXVzZSBvZiB0aGUgUFJJNjQgbWFjcm9zLgorICMgSWYgeW91IGdldCBwcmVwcm9jZXNzb3Igb3IgZmF0YWwgZXJyb3JzLCBhZGQgK3Nob3dzY2FuLgorLXNwbGludG9wdHMgPSAiLUkvdXNyL2luY2x1ZGUvbGlidXNiLTEuMCArcXVpZXQiCisraWYgbm90IGVudlsnc3lzcm9vdCddOgorKyAgICBzcGxpbnRvcHRzID0gIi1JL3Vzci9pbmNsdWRlL2xpYnVzYi0xLjAgK3F1aWV0IgorK2Vsc2U6CisrICAgIHNwbGludG9wdHMgPSAiLUklcy91c3IvaW5jbHVkZS9saWJ1c2ItMS4wICtxdWlldCIgJSBlbnZbJ3N5c3Jvb3QnXQorICMgc3BsaW50IGRvZXMgbm90IGtub3cgYWJvdXQgbXVsdGktYXJjaCwgd29yayBhcm91bmQgdGhhdAorIG1hX3N0YXR1cywgbWEgPSBfZ2V0c3RhdHVzb3V0cHV0KCdkcGtnLWFyY2hpdGVjdHVyZSAtcURFQl9IT1NUX01VTFRJQVJDSCcpCisgaWYgbWFfc3RhdHVzID09IDA6CistLSAKKzEuOC41LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9ncHNkL2dwc2QtMy4xNC8wMDAxLWxpYmdwc2QtY29yZS1GaXgtaXNzdWUtd2l0aC1BQ1RJVkFURS1ob29rLW5vdC1iZWluZy0ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2dwc2QvZ3BzZC0zLjE0LzAwMDEtbGliZ3BzZC1jb3JlLUZpeC1pc3N1ZS13aXRoLUFDVElWQVRFLWhvb2stbm90LWJlaW5nLS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YTA2Nzk1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9ncHNkL2dwc2QtMy4xNC8wMDAxLWxpYmdwc2QtY29yZS1GaXgtaXNzdWUtd2l0aC1BQ1RJVkFURS1ob29rLW5vdC1iZWluZy0ucGF0Y2gKQEAgLTAsMCArMSwzNSBAQAorRnJvbSA2ZmYwOTliMWJhOGRlNzRkZjlkZGViNjFlMzgyNTI2NGI5NmVmNjkyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTW9yaXR6IEZpc2NoZXIgPG1vcml0ei5maXNjaGVyQGV0dHVzLmNvbT4KK0RhdGU6IFR1ZSwgMjIgRGVjIDIwMTUgMTk6Mzg6MzEgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gbGliZ3BzZC1jb3JlOiBGaXggaXNzdWUgd2l0aCBBQ1RJVkFURSBob29rIG5vdCBiZWluZyBjYWxsZWQuCisKK0luIHRoZSBjdXJyZW50IHN5c3RlbSBzZXNzaW9uLT5tb2RlIHNlZW1lZCB0byBpZ25vcmUgdGhlCitPX09QVElNSVpFIGZsYWcsIGxlYWRpbmcgdG8gdGhlIEFDVElWQVRFIGhvb2sgYmVpbmcgaWdub3JlZC4KKworQW5vdGhlciB3YXkgdG8gZml4IHRoaXMgd291bGQgYmUgdG8ga2VlcCB0aGUgc2Vzc2lvbi0+bW9kZQorY29uZGl0aW9uIHB1bGwgdXAgdGhlIGNoZWNrIGZvciBPX0NPTlRJTlVFLgorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0ZWQKK1RoaXMgcGF0Y2ggaXMgaW4gdXBzdHJlYW0gZ2l0CisKK1NpZ25lZC1vZmYtYnk6IE1vcml0eiBGaXNjaGVyIDxtb3JpdHouZmlzY2hlckBldHR1cy5jb20+CistLS0KKyBsaWJncHNkX2NvcmUuYyB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2xpYmdwc2RfY29yZS5jIGIvbGliZ3BzZF9jb3JlLmMKK2luZGV4IDMxZmVjMmEuLmE4NGU4NWYgMTAwNjQ0CistLS0gYS9saWJncHNkX2NvcmUuYworKysrIGIvbGliZ3BzZF9jb3JlLmMKK0BAIC01NDMsNyArNTQzLDcgQEAgaW50IGdwc2Rfb3BlbihzdHJ1Y3QgZ3BzX2RldmljZV90ICpzZXNzaW9uKQorIGludCBncHNkX2FjdGl2YXRlKHN0cnVjdCBncHNfZGV2aWNlX3QgKnNlc3Npb24sIGNvbnN0IGludCBtb2RlKQorIC8qIGFjcXVpcmUgYSBjb25uZWN0aW9uIHRvIHRoZSBHUFMgZGV2aWNlICovCisgeworLSAgICBpZiAoc2Vzc2lvbi0+bW9kZSA9PSBPX09QVElNSVpFKQorKyAgICBpZiAobW9kZSA9PSBPX09QVElNSVpFKQorIAlncHNkX3J1bl9kZXZpY2VfaG9vaygmc2Vzc2lvbi0+Y29udGV4dC0+ZXJyb3V0LAorIAkJCSAgICAgc2Vzc2lvbi0+Z3BzZGF0YS5kZXYucGF0aCwgIkFDVElWQVRFIik7CisgICAgIHNlc3Npb24tPmdwc2RhdGEuZ3BzX2ZkID0gZ3BzZF9vcGVuKHNlc3Npb24pOworLS0gCisyLjQuMworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2dwc2QvZ3BzZC0zLjE0LzAwMDItQWRkLWEtdGVzdC1mb3ItQzExLWFuZC1jaGVjay13ZS1oYXZlLUMxMS1iZWZvcmUtdXNpbi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3BzZC9ncHNkLTMuMTQvMDAwMi1BZGQtYS10ZXN0LWZvci1DMTEtYW5kLWNoZWNrLXdlLWhhdmUtQzExLWJlZm9yZS11c2luLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIyZWUxYmQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2dwc2QvZ3BzZC0zLjE0LzAwMDItQWRkLWEtdGVzdC1mb3ItQzExLWFuZC1jaGVjay13ZS1oYXZlLUMxMS1iZWZvcmUtdXNpbi5wYXRjaApAQCAtMCwwICsxLDU3IEBACitGcm9tIDk5NDQ0YjNkMmM0YTRmN2ZkNzEyOGU2MDQ2MTAwNTc4MGQwYzVjODMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiAiR2FyeSBFLiBNaWxsZXIiIDxnZW1AcmVsbGltLmNvbT4KK0RhdGU6IFN1biwgMTUgTWFyIDIwMTUgMTI6MDU6MTUgLTA3MDAKK1N1YmplY3Q6IFtQQVRDSCAyLzNdIEFkZCBhIHRlc3QgZm9yIEMxMSBhbmQgY2hlY2sgd2UgaGF2ZSBDMTEgYmVmb3JlIHVzaW5nCisgc3RkYXRvbWljLmgKKworLS0tCisgU0NvbnN0cnVjdCB8IDE5ICsrKysrKysrKysrKysrKysrKy0KKyAxIGZpbGUgY2hhbmdlZCwgMTggaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvU0NvbnN0cnVjdCBiL1NDb25zdHJ1Y3QKK2luZGV4IDU2NmMxNGEuLmZhYTg2NTEgMTAwNjQ0CistLS0gYS9TQ29uc3RydWN0CisrKysgYi9TQ29uc3RydWN0CitAQCAtNDczLDYgKzQ3MywyMCBAQCBkZWYgQ2hlY2tDb21waWxlckRlZmluZXMoY29udGV4dCwgZGVmaW5lKToKKyAgICAgY29udGV4dC5SZXN1bHQocmV0KQorICAgICByZXR1cm4gcmV0CisgCisrIyBDaGVjayBpZiB0aGlzIGNvbXBpbGVyIGlzIEMxMSBvciBiZXR0ZXIKKytkZWYgQ2hlY2tDMTEoY29udGV4dCk6CisrICAgIGNvbnRleHQuTWVzc2FnZSggJ0NoZWNraW5nIGlmIGNvbXBpbGVyIGlzIEMxMSAuLi4nICkKKysgICAgcmV0ID0gY29udGV4dC5UcnlMaW5rKCIiIgorKwkjaWYgKF9fU1REQ19WRVJTSU9OX18gPCAyMDExMTJMKSAKKysgICAgICAgICNlcnJvciBOb3QgQzExCisrICAgICAgICAjZW5kaWYKKysgICAgICAgIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgeworKyAgICAgICAgICAgIHJldHVybiAwOworKyAgICAgICAgfQorKyAgICAiIiIsJy5jJykKKysgICAgY29udGV4dC5SZXN1bHQocmV0KQorKyAgICByZXR1cm4gcmV0CisrCisgZGVmIEdldExvYWRQYXRoKGNvbnRleHQpOgorICAgICBjb250ZXh0Lk1lc3NhZ2UoIkdldHRpbmcgc3lzdGVtIGxvYWQgcGF0aCAuLi4iKQorIAorQEAgLTQ5MSw2ICs1MDUsNyBAQCBlbHNlOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDaGVja1hzbHRwcm9jJyA6IENoZWNrWHNsdHByb2MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NoZWNrQ29tcGlsZXJPcHRpb24nIDogQ2hlY2tDb21waWxlck9wdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ2hlY2tDb21waWxlckRlZmluZXMnIDogQ2hlY2tDb21waWxlckRlZmluZXMsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NoZWNrQzExJyA6IENoZWNrQzExLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDaGVja0hlYWRlckRlZmluZXMnIDogQ2hlY2tIZWFkZXJEZWZpbmVzfSkKKyAKKyAKK0BAIC02MzMsNyArNjQ4LDkgQEAgZWxzZToKKyAgICAgICAgIGFubm91bmNlKCJZb3UgZG8gbm90IGhhdmUga2VybmVsIENBTmJ1cyBhdmFpbGFibGUuIikKKyAgICAgICAgIGVudlsibm1lYTIwMDAiXSA9IEZhbHNlCisgCistICAgIGlmIG5vdCBjb25maWcuQ2hlY2tDb21waWxlckRlZmluZXMoIl9fU1REQ19OT19BVE9NSUNTX18iKSBhbmQgY29uZmlnLkNoZWNrSGVhZGVyKCJzdGRhdG9taWMuaCIpOgorKyAgICAjIGNoZWNrIGZvciBDMTEgb3IgYmV0dGVyLCBhbmQgX19TVERDX19OT19BVE9NSUNTX18gaXMgbm8gZGVmaW5lZAorKyAgICAjIGJlZm9yZSBsb29raW5nIGZvciBzdGRhdG9taWMuaAorKyAgICBpZiBub3QgY29uZmlnLkNoZWNrQzExKCkgYW5kICBub3QgY29uZmlnLkNoZWNrQ29tcGlsZXJEZWZpbmVzKCJfX1NURENfTk9fQVRPTUlDU19fIikgYW5kIGNvbmZpZy5DaGVja0hlYWRlcigic3RkYXRvbWljLmgiKToKKyAgICAgICAgIGNvbmZkZWZzLmFwcGVuZCgiI2RlZmluZSBIQVZFX1NUREFUT01JQ19IIDFcbiIpCisgICAgIGVsc2U6CisgCWNvbmZkZWZzLmFwcGVuZCgiLyogI3VuZGVmIEhBVkVfU1REQVRPTUlDX0ggKi9cbiIpCistLSAKKzIuMS4wCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3BzZC9ncHNkLTMuMTQvMDAwMi1TQ29uc3RydWN0LXJlbW92ZS1ycGF0aC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3BzZC9ncHNkLTMuMTQvMDAwMi1TQ29uc3RydWN0LXJlbW92ZS1ycGF0aC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wODNhNjYyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9ncHNkL2dwc2QtMy4xNC8wMDAyLVNDb25zdHJ1Y3QtcmVtb3ZlLXJwYXRoLnBhdGNoCkBAIC0wLDAgKzEsNDUgQEAKK0Zyb20gZDA5MDYzOGZmOTgzZTUwOTE2MmQ1ZTNiNjJhYTQ5MThkZTRhYTVmYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KK0RhdGU6IFR1ZSwgMjQgQXByIDIwMTIgMTY6MjQ6MzUgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAyLzRdIFNDb25zdHJ1Y3Q6IHJlbW92ZSBycGF0aAorCisqIGV2ZW4gd2l0aCBjb3JyZWN0IHByZWZpeCAod2l0aG91dCBERVNURElSKSBpbmNsdWRlZCBpdCdzIHJlZHVuZGFudAorICBXQVJOSU5HOiBRQSBJc3N1ZTogbGliZ3BzOgorICAvd29yay9hcm12NHQtb2UtbGludXgtZ251ZWFiaS9ncHNkL2dwc2QtMy41LXIwL3BhY2thZ2VzLXNwbGl0L2xpYmdwcy91c3IvbGliL2xpYmdwcy5zby4yMC4wCisgIGNvbnRhaW5zIHByb2JhYmx5LXJlZHVuZGFudCBSUEFUSCAvdXNyL2xpYgorKiBhbmQgd2l0aCBwcmVmaXggZnJvbSBzY29ucy5iYmNsYXNzIGl0J3MgaW52YWxpZAorICBXQVJOSU5HOiBRQSBJc3N1ZTogcGFja2FnZSBsaWJncHMgY29udGFpbnMgYmFkIFJQQVRICisgIC9PRS9zaHItY29yZS90bXAtZWdsaWJjL3dvcmsvYXJtdjR0LW9lLWxpbnV4LWdudWVhYmkvZ3BzZC9ncHNkLTMuNS1yMC9pbWFnZS91c3IvbGliCisgIGluIGZpbGUKKyAgL09FL3Noci1jb3JlL3RtcC1lZ2xpYmMvd29yay9hcm12NHQtb2UtbGludXgtZ251ZWFiaS9ncHNkL2dwc2QtMy41LXIwL3BhY2thZ2VzLXNwbGl0L2xpYmdwcy91c3IvbGliL2xpYmdwcy5zby4yMC4wCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CitTaWduZWQtb2ZmLWJ5OiBEZW5pcyAnR05VdG9vJyBDYXJpa2xpIDxHTlV0b29Abm8tbG9nLm9yZz4KK1NpZ25lZC1vZmYtYnk6IFBldGVyIEEuIEJpZ290IDxwYWJAcGFiaWdvdC5jb20+CistLS0KKyBTQ29uc3RydWN0IHwgNyArKysrKy0tCisgMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL1NDb25zdHJ1Y3QgYi9TQ29uc3RydWN0CitpbmRleCBmMGNhZmE4Li5mZjQ2NzEzIDEwMDY0NAorLS0tIGEvU0NvbnN0cnVjdAorKysrIGIvU0NvbnN0cnVjdAorQEAgLTEzNDAsOCArMTM0MCwxMSBAQCBpZiBxdF9lbnY6CisgICAgIGJpbmFyeWluc3RhbGwuYXBwZW5kKExpYnJhcnlJbnN0YWxsKHF0X2VudiwgaW5zdGFsbGRpcignbGliZGlyJyksIGNvbXBpbGVkX3FncHNtbWxpYikpCisgCisgaWYgZW52WyJzaGFyZWQiXSBhbmQgZW52WyJjaHJwYXRoIl06CistICAgIGVudi5BZGRQb3N0QWN0aW9uKGJpbmFyeWluc3RhbGwsICckQ0hSUEFUSCAtciAiJXMiICIkVEFSR0VUIicgXAorLSAgICAgICAgICAgICAgICAgICAgICAlIChpbnN0YWxsZGlyKCdsaWJkaXInLCBGYWxzZSksICkpCisrICAgIGlmIG5vdCBlbnZbJ3N5c3Jvb3QnXToKKysgICAgICAgIGVudi5BZGRQb3N0QWN0aW9uKGJpbmFyeWluc3RhbGwsICckQ0hSUEFUSCAtciAiJXMiICIkVEFSR0VUIicgXAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgJSAoaW5zdGFsbGRpcignbGliZGlyJywgRmFsc2UpLCApKQorKyAgICBlbHNlOgorKyAgICAgICAgZW52LkFkZFBvc3RBY3Rpb24oYmluYXJ5aW5zdGFsbCwgJyRDSFJQQVRIIC1kICIkVEFSR0VUIicpCisgCisgaWYgbm90IGVudlsnZGVidWcnXSBhbmQgbm90IGVudlsncHJvZmlsaW5nJ10gYW5kIGVudlsnc3RyaXAnXToKKyAgICAgZW52LkFkZFBvc3RBY3Rpb24oYmluYXJ5aW5zdGFsbCwgJyRTVFJJUCAkVEFSR0VUJykKKy0tIAorMS44LjUuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2dwc2QvZ3BzZC0zLjE0LzAwMDMtV2hvb3BzLWNoZWNrLWZvci1DMTEtbm90LWZvci1ub3QtQzExLWluLXN0ZGF0b21pYy5oLS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3BzZC9ncHNkLTMuMTQvMDAwMy1XaG9vcHMtY2hlY2stZm9yLUMxMS1ub3QtZm9yLW5vdC1DMTEtaW4tc3RkYXRvbWljLmgtLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhiYjA5MjgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2dwc2QvZ3BzZC0zLjE0LzAwMDMtV2hvb3BzLWNoZWNrLWZvci1DMTEtbm90LWZvci1ub3QtQzExLWluLXN0ZGF0b21pYy5oLS5wYXRjaApAQCAtMCwwICsxLDI2IEBACitGcm9tIDY3NGM1MGVlNTRmZDdjZDMwNGU4YjNjNGIzM2QzZmYxMjcyZWQxOTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiAiR2FyeSBFLiBNaWxsZXIiIDxnZW1AcmVsbGltLmNvbT4KK0RhdGU6IFN1biwgMTUgTWFyIDIwMTUgMTI6MTc6NTEgLTA3MDAKK1N1YmplY3Q6IFtQQVRDSCAzLzNdIFdob29wcywgY2hlY2sgZm9yIEMxMSwgbm90IGZvciBub3QgQzExIGluIHN0ZGF0b21pYy5oCisgdGVzdC4KKworLS0tCisgU0NvbnN0cnVjdCB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL1NDb25zdHJ1Y3QgYi9TQ29uc3RydWN0CitpbmRleCBmYWE4NjUxLi5mNGVhMTQ1IDEwMDY0NAorLS0tIGEvU0NvbnN0cnVjdAorKysrIGIvU0NvbnN0cnVjdAorQEAgLTY1MCw3ICs2NTAsNyBAQCBlbHNlOgorIAorICAgICAjIGNoZWNrIGZvciBDMTEgb3IgYmV0dGVyLCBhbmQgX19TVERDX19OT19BVE9NSUNTX18gaXMgbm8gZGVmaW5lZAorICAgICAjIGJlZm9yZSBsb29raW5nIGZvciBzdGRhdG9taWMuaAorLSAgICBpZiBub3QgY29uZmlnLkNoZWNrQzExKCkgYW5kICBub3QgY29uZmlnLkNoZWNrQ29tcGlsZXJEZWZpbmVzKCJfX1NURENfTk9fQVRPTUlDU19fIikgYW5kIGNvbmZpZy5DaGVja0hlYWRlcigic3RkYXRvbWljLmgiKToKKysgICAgaWYgY29uZmlnLkNoZWNrQzExKCkgYW5kICBub3QgY29uZmlnLkNoZWNrQ29tcGlsZXJEZWZpbmVzKCJfX1NURENfTk9fQVRPTUlDU19fIikgYW5kIGNvbmZpZy5DaGVja0hlYWRlcigic3RkYXRvbWljLmgiKToKKyAgICAgICAgIGNvbmZkZWZzLmFwcGVuZCgiI2RlZmluZSBIQVZFX1NUREFUT01JQ19IIDFcbiIpCisgICAgIGVsc2U6CisgCWNvbmZkZWZzLmFwcGVuZCgiLyogI3VuZGVmIEhBVkVfU1REQVRPTUlDX0ggKi9cbiIpCistLSAKKzIuMS4wCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3BzZC9ncHNkLTMuMTQvMDAwNC1TQ29uc3RydWN0LWRpc2FibGUtaHRtbC1hbmQtbWFuLWRvY3MtYnVpbGRpbmctYmVjYXVzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9ncHNkL2dwc2QtMy4xNC8wMDA0LVNDb25zdHJ1Y3QtZGlzYWJsZS1odG1sLWFuZC1tYW4tZG9jcy1idWlsZGluZy1iZWNhdXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODUyN2YwZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3BzZC9ncHNkLTMuMTQvMDAwNC1TQ29uc3RydWN0LWRpc2FibGUtaHRtbC1hbmQtbWFuLWRvY3MtYnVpbGRpbmctYmVjYXVzLnBhdGNoCkBAIC0wLDAgKzEsNTIgQEAKK0Zyb20gNjk3ZTJlOWZmOTc0ODcyNjZkODE3Y2RkNDFiYWNjODNmNjgxZTNkNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KK0RhdGU6IFN1biwgMjkgQXByIDIwMTIgMDA6MDU6NTkgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCA0LzRdIFNDb25zdHJ1Y3Q6IGRpc2FibGUgaHRtbCBhbmQgbWFuIGRvY3MgYnVpbGRpbmcgYmVjYXVzZQorIHhtbHRvLW5hdGl2ZSBmcm9tIE9FIGlzIGJyb2tlbgorCitJdCB3aWxsIHRyeSB0byBsb2FkIGR0ZCBhbmQgZmFpbDoKK3wgeG1sdG8gbWFuIGdwc2N0bC54bWw7IG12IGBiYXNlbmFtZSBncHNjdGwuMWAgZ3BzY3RsLjEKK3wgeG1sdG86IC92YXIvbGliL2plbmtpbnMvam9icy9zaHItY29yZS1icmFuY2hlcy93b3Jrc3BhY2Uvc2hyLWNvcmUvdG1wLWVnbGliYy93b3JrL2FybXY0dC1vZS1saW51eC1nbnVlYWJpL2dwc2QtMy40LXIyL2dwc2QtMy40L2dwc2N0bC54bWwgZG9lcyBub3QgdmFsaWRhdGUgKHN0YXR1cyAzKQorfCB4bWx0bzogRml4IGRvY3VtZW50IHN5bnRheCBvciB1c2UgLS1za2lwLXZhbGlkYXRpb24gb3B0aW9uCit8IEkvTyBlcnJvciA6IEF0dGVtcHQgdG8gbG9hZCBuZXR3b3JrIGVudGl0eSBodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2RvY2Jvb2sveG1sLzQuMS4yL2RvY2Jvb2t4LmR0ZAorfCAvdmFyL2xpYi9qZW5raW5zL2pvYnMvc2hyLWNvcmUtYnJhbmNoZXMvd29ya3NwYWNlL3Noci1jb3JlL3RtcC1lZ2xpYmMvd29yay9hcm12NHQtb2UtbGludXgtZ251ZWFiaS9ncHNkLTMuNC1yMi9ncHNkLTMuNC9ncHNjdGwueG1sOjg6IHdhcm5pbmc6IGZhaWxlZCB0byBsb2FkIGV4dGVybmFsIGVudGl0eSAiaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9kb2Nib29rL3htbC80LjEuMi9kb2Nib29reC5kdGQiCit8ICAgICJodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2RvY2Jvb2sveG1sLzQuMS4yL2RvY2Jvb2t4LmR0ZCI+Cit8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgorfCBJL08gZXJyb3IgOiBBdHRlbXB0IHRvIGxvYWQgbmV0d29yayBlbnRpdHkgaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9kb2Nib29rL3htbC80LjEuMi9kb2Nib29reC5kdGQKK3wgd2FybmluZzogZmFpbGVkIHRvIGxvYWQgZXh0ZXJuYWwgZW50aXR5ICJodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2RvY2Jvb2sveG1sLzQuMS4yL2RvY2Jvb2t4LmR0ZCIKK3wgdmFsaWRpdHkgZXJyb3IgOiBDb3VsZCBub3QgbG9hZCB0aGUgZXh0ZXJuYWwgc3Vic2V0ICJodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2RvY2Jvb2sveG1sLzQuMS4yL2RvY2Jvb2t4LmR0ZCIKK3wgRG9jdW1lbnQgL3Zhci9saWIvamVua2lucy9qb2JzL3Noci1jb3JlLWJyYW5jaGVzL3dvcmtzcGFjZS9zaHItY29yZS90bXAtZWdsaWJjL3dvcmsvYXJtdjR0LW9lLWxpbnV4LWdudWVhYmkvZ3BzZC0zLjQtcjIvZ3BzZC0zLjQvZ3BzY3RsLnhtbCBkb2VzIG5vdCB2YWxpZGF0ZQorfCBtdjogY2Fubm90IHN0YXQgYGdwc2N0bC4xJzogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQorfCBzY29uczogKioqIFtncHNjdGwuMV0gRXJyb3IgMQorfCBzY29uczogYnVpbGRpbmcgdGVybWluYXRlZCBiZWNhdXNlIG9mIGVycm9ycy4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtkaXNhYmxlIGZlYXR1cmVdCisKK1NpZ25lZC1vZmYtYnk6IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KK1NpZ25lZC1vZmYtYnk6IFBldGVyIEEuIEJpZ290IDxwYWJAcGFiaWdvdC5jb20+CistLS0KKyBTQ29uc3RydWN0IHwgNCArKy0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL1NDb25zdHJ1Y3QgYi9TQ29uc3RydWN0CitpbmRleCAwZTUxOGU3Li5jMDFhNzFiIDEwMDY0NAorLS0tIGEvU0NvbnN0cnVjdAorKysrIGIvU0NvbnN0cnVjdAorQEAgLTcwNCwxMiArNzA0LDEyIEBAIHNpemVfdCBzdHJsY3B5KC8qQG91dEAqL2NoYXIgKmRzdCwgLypAaW5AKi9jb25zdCBjaGFyICpzcmMsIHNpemVfdCBzaXplKTsKKyAKKyAgICAgbWFuYnVpbGRlciA9IG1hbmdlbmVyYXRvciA9IGh0bWxidWlsZGVyID0gTm9uZQorICAgICBpZiBlbnZbJ21hbmJ1aWxkJ106CistICAgICAgICBpZiBjb25maWcuQ2hlY2tYc2x0cHJvYygpOgorKyAgICAgICAgaWYgRmFsc2UgYW5kIGNvbmZpZy5DaGVja1hzbHRwcm9jKCk6CisgICAgICAgICAgICAgbWFuZ2VuZXJhdG9yID0gJ3hzbHRwcm9jJworICAgICAgICAgICAgIGJ1aWxkID0gInhzbHRwcm9jIC0tbm9uZXQgJXMgJFNPVVJDRSA+JFRBUkdFVCIKKyAgICAgICAgICAgICBodG1sYnVpbGRlciA9IGJ1aWxkICUgZG9jYm9va19odG1sX3VyaQorICAgICAgICAgICAgIG1hbmJ1aWxkZXIgPSBidWlsZCAlIGRvY2Jvb2tfbWFuX3VyaQorLSAgICAgICAgZWxpZiBXaGVyZUlzKCJ4bWx0byIpOgorKyAgICAgICAgZWxpZiBGYWxzZSBhbmQgV2hlcmVJcygieG1sdG8iKToKKyAgICAgICAgICAgICBtYW5nZW5lcmF0b3IgPSAneG1sdG8nCisgICAgICAgICAgICAgeG1sdG8gPSAieG1sdG8gJXMgJFNPVVJDRSB8fCBtdiBgYmFzZW5hbWUgJFRBUkdFVGAgYGRpcm5hbWUgJFRBUkdFVGAiCisgICAgICAgICAgICAgaHRtbGJ1aWxkZXIgPSB4bWx0byAlICJodG1sLW5vY2h1bmtzIgorLS0gCisxLjguNS41CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3BzZC9ncHNkLW1hY2hpbmUtY29uZl8xLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2dwc2QvZ3BzZC1tYWNoaW5lLWNvbmZfMS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQwMjNjNWQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2dwc2QvZ3BzZC1tYWNoaW5lLWNvbmZfMS4wLmJiCkBAIC0wLDAgKzEsNyBAQAorU1VNTUFSWSA9ICJNYWNoaW5lIHNwZWNpZmljIGdwc2QgY29uZmlnIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke0NPUkVCQVNFfS9tZXRhL2ZpbGVzL2NvbW1vbi1saWNlbnNlcy9CU0Q7bWQ1PTM3NzU0ODBhNzEyZmM0NmE2OTY0NzY3OGFjYjIzNGNiIgorCisjIGVtcHR5IGJ5IGRlZmF1bHQKKyMgQlNQIGxheWVycyBjYW4gYWRkIHN0dWZmIGxpa2UgbWV0YS1vcGVubW9rbyBleGFtcGxlOgorIyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3BzZC9ncHNkLzYwLWdwc2QucnVsZXMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2dwc2QvZ3BzZC82MC1ncHNkLnJ1bGVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYxMTQzYjgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2dwc2QvZ3BzZC82MC1ncHNkLnJ1bGVzCkBAIC0wLDAgKzEsNDcgQEAKKyMgdWRldiBydWxlcyBmb3IgZ3BzZAorIyAkSWQkCisjCisjIEdQU2VzIGRvbid0IGhhdmUgdGhlaXIgb3duIFVTQiBkZXZpY2UgY2xhc3MuICBUaGV5J3JlIHNlcmlhbC1vdmVyLVVTQgorIyBkZXZpY2VzLCBzbyB3aGF0IHlvdSBzZWUgaXMgYWN0dWFsbHkgdGhlIElEIG9mIHRoZSBzZXJpYWwtb3Zlci1VU0IgY2hpcC4KKyMgRm9ydHVuYXRlbHksIGp1c3QgdHdvIG9mIHRoZXNlIGFjY291bnQgZm9yIG92ZXIgODAlIG9mIGNvbnN1bWVyLWdyYWRlCisjIEdQUyBzZW5zb3JzLiAgVGhlIGdwc2QuaG90cGx1Zy53cmFwcGVyIHNjcmlwdCB3aWxsIHRlbGwgYSBydW5uaW5nIGdwc2QKKyMgdGhhdCBpdCBzaG91bGQgbG9vayBhdCB0aGUgZGV2aWNlIHRoYXQganVzdCB3ZW50IGFjdGl2ZSwgYmVjYXVzZSBpdAorIyBtaWdodCBiZSBhIEdQUy4KKyMKKyMgVGhlIGZvbGxvd2luZyBzZXR1cCB3b3JrcyBvbiBEZWJpYW4gLSBzb21ldGhpbmcgc2ltaWxhciB3aWxsIGFwcGx5IG9uIAorIyBvdGhlciBkaXN0cmlidXRpb25zOgorIyAKKyMgICAvZXRjL3VkZXYvZ3BzZC5ydWxlcworIyAgIC9ldGMvdWRldi9ydWxlcy5kLzAyNV9ncHNkLnJ1bGVzIC0+IC4uL2dwc2QucnVsZXMKKyMgICAvbGliL3VkZXYvZ3BzZC5ob3RwbHVnLndyYXBwZXIKKyMgICAvbGliL3VkZXYvZ3BzZC5ob3RwbHVnCisjIAorIyBTZXR0aW5nIHRoZSBsaW5rIGluIC9ldGMvdWRldi9ydWxlcy5kIGFjdGl2YXRlcyB0aGUgcnVsZSBhbmQgZGV0ZXJtaW5lcworIyB3aGVuIHRvIHJ1biBpdCBvbiBib290IChzaW1pbGFyIHRvIGluaXQuZCBwcm9jZXNzaW5nKS4KKworU1VCU1lTVEVNIT0idHR5IiwgR09UTz0iZ3BzZF9ydWxlc19lbmQiCisKKyMgUHJvbGlmaWMgVGVjaG5vbG9neSwgSW5jLiBQTDIzMDMgU2VyaWFsIFBvcnQKK0FUVFJ7aWRWZW5kb3J9PT0iMDY3YiIsIEFUVFJ7aWRQcm9kdWN0fT09IjIzMDMiLCBTWU1MSU5LKz0iZ3BzJW4iLCBSVU4rPSIvbGliL3VkZXYvZ3BzZC5ob3RwbHVnLndyYXBwZXIiCisjIEFURU4gSW50ZXJuYXRpb25hbCBDby4sIEx0ZCBVQy0yMzJBIFNlcmlhbCBQb3J0IFtwbDIzMDNdCitBVFRSe2lkVmVuZG9yfT09IjA1NTciLCBBVFRSe2lkUHJvZHVjdH09PSIyMDA4IiwgU1lNTElOSys9ImdwcyVuIiwgUlVOKz0iL2xpYi91ZGV2L2dwc2QuaG90cGx1Zy53cmFwcGVyIgorIyBGVERJIDhVMjMyQU0KK0FUVFJ7aWRWZW5kb3J9PT0iMDQwMyIsIEFUVFJ7aWRQcm9kdWN0fT09IjYwMDEiLCBTWU1MSU5LKz0iZ3BzJW4iLCBSVU4rPSIvbGliL3VkZXYvZ3BzZC5ob3RwbHVnLndyYXBwZXIiCisjIEN5cHJlc3MgTTgvQ1k3QzY0MDEzIChEZUxvcm1lIHVzZXMgdGhlc2UpCitBVFRSe2lkVmVuZG9yfT09IjExNjMiLCBBVFRSe2lkUHJvZHVjdH09PSIwMTAwIiwgU1lNTElOSys9ImdwcyVuIiwgUlVOKz0iL2xpYi91ZGV2L2dwc2QuaG90cGx1Zy53cmFwcGVyIgorIyBQUy0zNjAgT0VNIChNaWNyb3NvZnQgR1BTIHNvbGQgd2l0aCBTdHJlZXQgYW5kIFRyaXBzIDIwMDUpCitBVFRSe2lkVmVuZG9yfT09IjA2N2IiLCBBVFRSe2lkUHJvZHVjdH09PSJhYWEwIiwgU1lNTElOSys9ImdwcyVuIiwgUlVOKz0iL2xpYi91ZGV2L2dwc2QuaG90cGx1Zy53cmFwcGVyIgorIyBHYXJtaW4gSW50ZXJuYXRpb25hbCBHUFNtYXAsIHZhcmlvdXMgbW9kZWxzICh0ZXN0ZWQgd2l0aCBHYXJtaW4gR1BTIDE4IFVTQikKK0FUVFJ7aWRWZW5kb3J9PT0iMDkxZSIsIEFUVFJ7aWRQcm9kdWN0fT09IjAwMDMiLCBTWU1MSU5LKz0iZ3BzJW4iLCBSVU4rPSIvbGliL3VkZXYvZ3BzZC5ob3RwbHVnLndyYXBwZXIiCisjIEN5Z25hbCBJbnRlZ3JhdGVkIFByb2R1Y3RzLCBJbmMuIENQMjEweCBDb21wb3NpdGUgRGV2aWNlIChVc2VkIGJ5IEhvbHV4IG0yNDEpCitBVFRSe2lkVmVuZG9yfT09IjEwYzQiLCBBVFRSe2lkUHJvZHVjdH09PSJlYTYwIiwgU1lNTElOSys9ImdwcyVuIiwgUlVOKz0iL2xpYi91ZGV2L2dwc2QuaG90cGx1Zy53cmFwcGVyIgorIyB1LWJsb3ggQUcsIHUtYmxveCA1ICh0ZXN0ZWQgd2l0aCBOYXZpbG9jayBOTC00MDJVKQorQVRUUntpZFZlbmRvcn09PSIxNTQ2IiwgQVRUUntpZFByb2R1Y3R9PT0iMDFhNSIsIFNZTUxJTks9ImdwcyVuIiwgUlVOKz0iL2xpYi91ZGV2L2dwc2QuaG90cGx1Zy53cmFwcGVyIgorIyBGVERJIEZUMjMyCitBVFRSe2lkVmVuZG9yfT09IjA0MDMiLCBBVFRSe2lkUHJvZHVjdH09PSI2MDAxIiwgU1lNTElOSz0iZ3BzJW4iLCBSVU4rPSIvbGliL3VkZXYvZ3BzZC5ob3RwbHVnLndyYXBwZXIiCisjIHUtYmxveCA0CitBVFRSe2lkVmVuZG9yfT09IjE1NDYiLCBBVFRSe2lkUHJvZHVjdH09PSIwMWE0IiwgU1lNTElOSz0iZ3BzJW4iLCBSVU4rPSIvbGliL3VkZXYvZ3BzZC5ob3RwbHVnLndyYXBwZXIiCisKK0FDVElPTj09InJlbW92ZSIsIFJVTis9Ii9saWIvdWRldi9ncHNkLmhvdHBsdWcud3JhcHBlciIKKworTEFCRUw9Imdwc2RfcnVsZXNfZW5kIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9ncHNkL2dwc2QvZ3BzZCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3BzZC9ncHNkL2dwc2QKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYmE3M2RhZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3BzZC9ncHNkL2dwc2QKQEAgLTAsMCArMSwxMzYgQEAKKyMhL2Jpbi9zaAorIyMjIEJFR0lOIElOSVQgSU5GTworIyBQcm92aWRlczogICAgICAgICAgZ3BzZAorIyBSZXF1aXJlZC1TdGFydDogICAgJHJlbW90ZV9mcyAkbmV0d29yaworIyBTaG91bGQtU3RhcnQ6ICAgICAgYmx1ZXRvb3RoIGRidXMgdWRldgorIyBSZXF1aXJlZC1TdG9wOiAgICAgJHJlbW90ZV9mcyAkbmV0d29yaworIyBEZWZhdWx0LVN0YXJ0OiAgICAgMiAzIDQgNQorIyBEZWZhdWx0LVN0b3A6ICAgICAgMCAxIDYKKyMgU2hvcnQtRGVzY3JpcHRpb246IEdQUyAoR2xvYmFsIFBvc2l0aW9uaW5nIFN5c3RlbSkgZGFlbW9uIHN0YXJ0L3N0b3Agc2NyaXB0CisjIERlc2NyaXB0aW9uOiAgICAgICBTdGFydC9TdG9wIHNjcmlwdCBmb3IgdGhlIGdwc2Qgc2VydmljZSBkYWVtb24sCisjICAgICAgICAgICAgICAgICAgICB3aGljaCBpcyBhYmxlIHRvIG1vbml0b3Igb25lIG9yIG1vcmUgR1BTIGRldmljZXMKKyMgICAgICAgICAgICAgICAgICAgIGNvbm5lY3RlZCB0byBhIGhvc3QgY29tcHV0ZXIsIG1ha2luZyBhbGwgZGF0YSBvbgorIyAgICAgICAgICAgICAgICAgICAgdGhlIGxvY2F0aW9uIGFuZCBtb3ZlbWVudHMgb2YgdGhlIHNlbnNvcnMgYXZhaWxhYmxlCisjICAgICAgICAgICAgICAgICAgICB0byBiZSBxdWVyaWVkIG9uIFRDUCBwb3J0IDI5NDcuCisjIyMgRU5EIElOSVQgSU5GTworCisjIEF1dGhvcjogQmVybmQgWmVpbWV0eiA8YnplZEBkZWJpYW4ub3JnPgorIworIyBQbGVhc2UgcmVtb3ZlIHRoZSAiQXV0aG9yIiBsaW5lcyBhYm92ZSBhbmQgcmVwbGFjZSB0aGVtCisjIHdpdGggeW91ciBvd24gbmFtZSBpZiB5b3UgY29weSBhbmQgbW9kaWZ5IHRoaXMgc2NyaXB0LgorCisjIERvIE5PVCAic2V0IC1lIgorCisjIFBBVEggc2hvdWxkIG9ubHkgaW5jbHVkZSAvdXNyLyogaWYgaXQgcnVucyBhZnRlciB0aGUgbW91bnRuZnMuc2ggc2NyaXB0CitQQVRIPS9zYmluOi91c3Ivc2JpbjovYmluOi91c3IvYmluCitERVNDPSJHUFMgKEdsb2JhbCBQb3NpdGlvbmluZyBTeXN0ZW0pIGRhZW1vbiIKK05BTUU9Z3BzZAorREFFTU9OPS91c3Ivc2Jpbi8kTkFNRQorUElERklMRT0vdmFyL3J1bi8kTkFNRS5waWQKK1NDUklQVE5BTUU9L2V0Yy9pbml0LmQvJE5BTUUKKworIyBFeGl0IGlmIHRoZSBwYWNrYWdlIGlzIG5vdCBpbnN0YWxsZWQKK1sgLXggIiREQUVNT04iIF0gfHwgZXhpdCAwCisKKyMgUmVhZCBjb25maWd1cmF0aW9uLCBpZiBwcmVzZW50CitbIC1yIC9ldGMvZGVmYXVsdC8kTkFNRSBdICYmIC4gL2V0Yy9kZWZhdWx0LyROQU1FCisKK2lmIFsgLXogIiRHUFNEX1NPQ0tFVCIgXSAmJiBbIC16ICIkREVWSUNFUyIgXTsgdGhlbgorCUdQU0RfU09DS0VUPS92YXIvcnVuL2dwc2Quc29jaworZmkKKworaWYgWyAtbiAiJEdQU0RfU09DS0VUIiBdOyB0aGVuCisgICAgICAgIEdQU0RfT1BUSU9OUz0iJEdQU0RfT1BUSU9OUyAtRiAkR1BTRF9TT0NLRVQiCitmaQorCisjCisjIEZ1bmN0aW9uIHRoYXQgc3RhcnRzIHRoZSBkYWVtb24vc2VydmljZQorIworZG9fc3RhcnQoKQoreworCSMgUmV0dXJuCisJIyAgIDAgaWYgZGFlbW9uIGhhcyBiZWVuIHN0YXJ0ZWQKKwkjICAgMSBpZiBkYWVtb24gd2FzIGFscmVhZHkgcnVubmluZworCSMgICAyIGlmIGRhZW1vbiBjb3VsZCBub3QgYmUgc3RhcnRlZAorCXN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RhcnQgLS1xdWlldCAtLXBpZGZpbGUgJFBJREZJTEUgLS1leGVjICREQUVNT04gLS10ZXN0IFwKKyAgICAgICAgLS0gJEdQU0RfT1BUSU9OUyAtUCAkUElERklMRSAkR1BTX0RFVklDRVMgPiAvZGV2L251bGwgXAorCQl8fCByZXR1cm4gMQorCXN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RhcnQgLS1xdWlldCAtLXBpZGZpbGUgJFBJREZJTEUgLS1leGVjICREQUVNT04gLS0gXAorCQkkR1BTRF9PUFRJT05TIC1QICRQSURGSUxFICRHUFNfREVWSUNFUyBcCisJCXx8IHJldHVybiAyCit9CisKKyMKKyMgRnVuY3Rpb24gdGhhdCBzdG9wcyB0aGUgZGFlbW9uL3NlcnZpY2UKKyMKK2RvX3N0b3AoKQoreworCSMgUmV0dXJuCisJIyAgIDAgaWYgZGFlbW9uIGhhcyBiZWVuIHN0b3BwZWQKKwkjICAgMSBpZiBkYWVtb24gd2FzIGFscmVhZHkgc3RvcHBlZAorCSMgICAyIGlmIGRhZW1vbiBjb3VsZCBub3QgYmUgc3RvcHBlZAorCSMgICBvdGhlciBpZiBhIGZhaWx1cmUgb2NjdXJyZWQKKwlzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLS1xdWlldCAtLXJldHJ5PVRFUk0vMzAvS0lMTC81IC0tcGlkZmlsZSAkUElERklMRSAtLW5hbWUgJE5BTUUKKwlSRVRWQUw9IiQ/IgorCVsgIiRSRVRWQUwiID0gMiBdICYmIHJldHVybiAyCisJIyBNYW55IGRhZW1vbnMgZG9uJ3QgZGVsZXRlIHRoZWlyIHBpZGZpbGVzIHdoZW4gdGhleSBleGl0LgorCXJtIC1mICRQSURGSUxFCisJcmV0dXJuICIkUkVUVkFMIgorfQorCisjCisjIEZ1bmN0aW9uIHRoYXQgc2VuZHMgYSBTSUdIVVAgdG8gdGhlIGRhZW1vbi9zZXJ2aWNlCisjCitkb19yZWxvYWQoKSB7CisJIworCSMgSWYgdGhlIGRhZW1vbiBjYW4gcmVsb2FkIGl0cyBjb25maWd1cmF0aW9uIHdpdGhvdXQKKwkjIHJlc3RhcnRpbmcgKGZvciBleGFtcGxlLCB3aGVuIGl0IGlzIHNlbnQgYSBTSUdIVVApLAorCSMgdGhlbiBpbXBsZW1lbnQgdGhhdCBoZXJlLgorCSMKKwlzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLS1zaWduYWwgMSAtLXF1aWV0IC0tcGlkZmlsZSAkUElERklMRSAtLW5hbWUgJE5BTUUKKwlyZXR1cm4gMAorfQorCitjYXNlICIkMSIgaW4KKyAgc3RhcnQpCisJCWVjaG8gIlN0YXJ0aW5nICRERVNDIiAiJE5BTUUiCisJCWRvX3N0YXJ0CisJCWV4aXQgJD8KKwk7OworICBzdG9wKQorCWVjaG8gIlN0b3BwaW5nICRERVNDIiAiJE5BTUUiCisJZG9fc3RvcAorCWV4aXQgJD8KKwk7OworICBzdGF0dXMpCisgICAgICAgOzsKKyAgcmVsb2FkfGZvcmNlLXJlbG9hZCkKKwllY2hvICJSZWxvYWRpbmcgJERFU0MiICIkTkFNRSIKKwlkb19yZWxvYWQKKwlleGl0ICQ/CisJOzsKKyAgcmVzdGFydCkKKwkjCisJIyBJZiB0aGUgInJlbG9hZCIgb3B0aW9uIGlzIGltcGxlbWVudGVkIHRoZW4gcmVtb3ZlIHRoZQorCSMgJ2ZvcmNlLXJlbG9hZCcgYWxpYXMKKwkjCisJZWNobyAiUmVzdGFydGluZyAkREVTQyIgIiROQU1FIgorCWRvX3N0b3AKKwljYXNlICIkPyIgaW4KKwkgIDB8MSkKKwkJZG9fc3RhcnQKKwkJZXhpdCAkPworCQk7OworCSAgKikKKwkgCSMgRmFpbGVkIHRvIHN0b3AKKwkJZXhpdCAxCisJCTs7CisJZXNhYworCTs7CisgICopCisJZWNobyAiVXNhZ2U6ICRTQ1JJUFROQU1FIHtzdGFydHxzdG9wfHN0YXR1c3xyZXN0YXJ0fGZvcmNlLXJlbG9hZH0iID4mMgorCWV4aXQgMworCTs7Citlc2FjCisKKzoKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3BzZC9ncHNkL2dwc2QtZGVmYXVsdCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3BzZC9ncHNkL2dwc2QtZGVmYXVsdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wY2VmZjAzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9ncHNkL2dwc2QvZ3BzZC1kZWZhdWx0CkBAIC0wLDAgKzEsNSBAQAorIyBJZiB5b3UgbXVzdCBzcGVjaWZ5IGEgbm9uLU5NRUEgZHJpdmVyLCB1bmNvbW1lbnQgYW5kIG1vZGlmeSB0aGUgbmV4dCBsaW5lCitHUFNEX1NPQ0tFVD0iL3Zhci9ydW4vZ3BzZC5zb2NrIgorR1BTRF9PUFRJT05TPSIiIAorR1BTX0RFVklDRVM9IiIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9ncHNkL2dwc2QvZ3BzZC5zZXJ2aWNlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9ncHNkL2dwc2QvZ3BzZC5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcxMzFhNTgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2dwc2QvZ3BzZC9ncHNkLnNlcnZpY2UKQEAgLTAsMCArMSwxMCBAQAorW1VuaXRdCitEZXNjcmlwdGlvbj1HUFMgKEdsb2JhbCBQb3NpdGlvbmluZyBTeXN0ZW0pIERhZW1vbgorUmVxdWlyZXM9Z3BzZC5zb2NrZXQKKworW1NlcnZpY2VdCitFbnZpcm9ubWVudEZpbGU9L2V0Yy9kZWZhdWx0L2dwc2QKK0V4ZWNTdGFydD0vdXNyL3NiaW4vZ3BzZCAtTiAkR1BTX0RFVklDRVMKKworW0luc3RhbGxdCitBbHNvPWdwc2Quc29ja2V0CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2dwc2QvZ3BzZF8zLjE0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9ncHNkL2dwc2RfMy4xNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZWY5YjEzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9ncHNkL2dwc2RfMy4xNC5iYgpAQCAtMCwwICsxLDE0NSBAQAorU1VNTUFSWSA9ICJBIFRDUC9JUCBEYWVtb24gc2ltcGxpZnlpbmcgdGhlIGNvbW11bmljYXRpb24gd2l0aCBHUFMgZGV2aWNlcyIKK1NFQ1RJT04gPSAiY29uc29sZS9uZXR3b3JrIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMjE3YTIzZjQwOGU5MWM5NDM1OTQ0NzczNWJjMTgwMCIKK0RFUEVORFMgPSAiZGJ1cyBkYnVzLWdsaWIgbmN1cnNlcyBweXRob24gbGlidXNiMSBjaHJwYXRoLXJlcGxhY2VtZW50LW5hdGl2ZSBwcHMtdG9vbHMiCitQUk9WSURFUyA9ICJ2aXJ0dWFsL2dwc2QiCisKK0VYVFJBTkFUSVZFUEFUSCArPSAiY2hycGF0aC1uYXRpdmUiCisKK1NSQ19VUkkgPSAiJHtTQVZBTk5BSF9HTlVfTUlSUk9SfS8ke0JQTn0vJHtCUH0udGFyLmd6IFwKKyAgICBmaWxlOi8vMDAwMS1TQ29uc3RydWN0LXJlc3BlY3Qtc3lzcm9vdC1hbHNvLWluLVNQTElOVE9QVFMucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDAyLVNDb25zdHJ1Y3QtcmVtb3ZlLXJwYXRoLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMS1TQ29uc3RydWN0LXByZWZpeC1pbmNsdWRlcHktd2l0aC1zeXNyb290LWFuZC1kcm9wLXN5LnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwNC1TQ29uc3RydWN0LWRpc2FibGUtaHRtbC1hbmQtbWFuLWRvY3MtYnVpbGRpbmctYmVjYXVzLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMS1DaGVjay1mb3ItX19TVERDX05PX0FUT01JQ1NfXy1iZWZvcmUtdXNpbmctc3RkYXRvbWljLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMi1BZGQtYS10ZXN0LWZvci1DMTEtYW5kLWNoZWNrLXdlLWhhdmUtQzExLWJlZm9yZS11c2luLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMy1XaG9vcHMtY2hlY2stZm9yLUMxMS1ub3QtZm9yLW5vdC1DMTEtaW4tc3RkYXRvbWljLmgtLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMS1JbmNsdWRlLXN0ZGF0b21pYy5oLW9ubHktaW4tQy1tb2RlLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMS1saWJncHNkLWNvcmUtRml4LWlzc3VlLXdpdGgtQUNUSVZBVEUtaG9vay1ub3QtYmVpbmctLnBhdGNoIFwKKyAgICBmaWxlOi8vZ3BzZC1kZWZhdWx0IFwKKyAgICBmaWxlOi8vZ3BzZCBcCisgICAgZmlsZTovLzYwLWdwc2QucnVsZXMgXAorICAgIGZpbGU6Ly9ncHNkLnNlcnZpY2UgXAorIgorU1JDX1VSSVttZDVzdW1dID0gImJjNzQ2NzAwOWI5OWUwN2JhNDYxMzc3YjVkYTZjMDM5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjUwNGZjODEyZjNjMTUyNWExYTQ4ZTA0YmY0ZDc3ZjlhODA2NmMyMDE0NDhkOTgwODlkZjg5ZDU4ZWY1M2E4Y2IiCisKK2luaGVyaXQgc2NvbnMgdXBkYXRlLXJjLmQgcHl0aG9uLWRpciBweXRob25uYXRpdmUgc3lzdGVtZCBibHVldG9vdGgKKworSU5JVFNDUklQVF9OQU1FID0gImdwc2QiCitJTklUU0NSSVBUX1BBUkFNUyA9ICJkZWZhdWx0cyAzNSIKKworU1lTVEVNRF9PRVNDT05TID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICd0cnVlJywgJ2ZhbHNlJyxkKX0iCisKK2V4cG9ydCBTVEFHSU5HX0lOQ0RJUgorZXhwb3J0IFNUQUdJTkdfTElCRElSCisKK1BBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2JsdWV0b290aCcsICdibHVleicsICcnLCBkKX0iCitQQUNLQUdFQ09ORklHW2JsdWV6XSA9ICJibHVlej0ndHJ1ZScsYmx1ZXo9J2ZhbHNlJywke0JMVUVafSIKK1BBQ0tBR0VDT05GSUdbcXRdID0gInF0PSd5ZXMnLHF0PSdubycscXQ0LXgxMS1mcmVlIgorRVhUUkFfT0VTQ09OUyA9ICIgXAorICAgIHN5c3Jvb3Q9JHtTVEFHSU5HX0RJUl9UQVJHRVR9IFwKKyAgICBsaWJRZ3BzbW09J2ZhbHNlJyBcCisgICAgZGVidWc9J3RydWUnIFwKKyAgICBzdHJpcD0nZmFsc2UnIFwKKyAgICBjaHJwYXRoPSd5ZXMnIFwKKyAgICBzeXN0ZW1kPScke1NZU1RFTURfT0VTQ09OU30nIFwKKyAgICAke0VYVFJBX09FQ09ORn0gXAorIgorRElTQUJMRV9TVEFUSUMgPSAiIgorIyB0aGlzIGNhbm5vdCBiZSB1c2VkLCBiZWNhdXNlIHRoZW4gY2hycGF0aCBpcyBub3QgZm91bmQgYW5kIG9ubHkgc3RhdGljIGxpYiBpcyBidWlsdAorIyB0YXJnZXQ9JHtIT1NUX1NZU30KKworZG9fY29tcGlsZV9wcmVwZW5kKCkgeworICAgIGV4cG9ydCBQS0dfQ09ORklHX1BBVEg9IiR7UEtHX0NPTkZJR19QQVRIfSIKKyAgICBleHBvcnQgUEtHX0NPTkZJRz0iUEtHX0NPTkZJR19TWVNST09UX0RJUj1cIiR7UEtHX0NPTkZJR19TWVNST09UX0RJUn1cIiBwa2ctY29uZmlnIgorICAgIGV4cG9ydCBTVEFHSU5HX1BSRUZJWD0iJHtTVEFHSU5HX0RJUl9IT1NUfS8ke3ByZWZpeH0iCisKKyAgICBleHBvcnQgQlVJTERfU1lTPSIke0JVSUxEX1NZU30iCisgICAgZXhwb3J0IEhPU1RfU1lTPSIke0hPU1RfU1lTfSIKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBleHBvcnQgUEtHX0NPTkZJR19QQVRIPSIke1BLR19DT05GSUdfUEFUSH0iCisgICAgZXhwb3J0IFBLR19DT05GSUc9IlBLR19DT05GSUdfU1lTUk9PVF9ESVI9XCIke1BLR19DT05GSUdfU1lTUk9PVF9ESVJ9XCIgcGtnLWNvbmZpZyIKKyAgICBleHBvcnQgU1RBR0lOR19QUkVGSVg9IiR7U1RBR0lOR19ESVJfSE9TVH0vJHtwcmVmaXh9IgorCisgICAgZXhwb3J0IEJVSUxEX1NZUz0iJHtCVUlMRF9TWVN9IgorICAgIGV4cG9ydCBIT1NUX1NZUz0iJHtIT1NUX1NZU30iCisKKyAgICBleHBvcnQgREVTVERJUj0iJHtEfSIKKyAgICAjIHByZWZpeCBpcyB1c2VkIGZvciBSUEFUSCBhbmQgREVTVERJUi9wcmVmaXggZm9yIGluc3RhbGF0aW9uCisgICAgJHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L3Njb25zIHByZWZpeD0ke3ByZWZpeH0gaW5zdGFsbCAke0VYVFJBX09FU0NPTlN9fHwgXAorICAgICAgYmJmYXRhbCAic2NvbnMgaW5zdGFsbCBleGVjdXRpb24gZmFpbGVkLiIKK30KKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzY29uZmRpcn0vaW5pdC5kCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vZ3BzZCAke0R9LyR7c3lzY29uZmRpcn0vaW5pdC5kLworICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c2NvbmZkaXJ9L2RlZmF1bHQKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9ncHNkLWRlZmF1bHQgJHtEfS8ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvZ3BzZC5kZWZhdWx0CisKKyAgICAjc3VwcG9ydCBmb3IgdWRldgorICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c2NvbmZkaXJ9L3VkZXYvcnVsZXMuZAorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9LzYwLWdwc2QucnVsZXMgJHtEfS8ke3N5c2NvbmZkaXJ9L3VkZXYvcnVsZXMuZAorICAgIGluc3RhbGwgLWQgJHtEfSR7YmFzZV9saWJkaXJ9L3VkZXYvCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7U30vZ3BzZC5ob3RwbHVnICR7RH0ke2Jhc2VfbGliZGlyfS91ZGV2LworCisgICAgI3N1cHBvcnQgZm9yIHB5dGhvbgorICAgIGluc3RhbGwgLWQgJHtEfS8ke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS9ncHMKKyAgICBpbnN0YWxsIC1tIDc1NSAke1N9L2dwcy8qLnB5ICR7RH0vJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vZ3BzCisKKyAgICAjc3VwcG9ydCBmb3Igc3lzdGVtZAorICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vJHtCUE59LnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vJHtCUE59LnNlcnZpY2UKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9zeXN0ZW1kLyR7QlBOfS5zb2NrZXQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vJHtCUE59LnNvY2tldAorfQorCitwa2dfcG9zdGluc3RfJHtQTn0tY29uZigpIHsKKyAgICB1cGRhdGUtYWx0ZXJuYXRpdmVzIC0taW5zdGFsbCAke3N5c2NvbmZkaXJ9L2RlZmF1bHQvZ3BzZCBncHNkLWRlZmF1bHRzICR7c3lzY29uZmRpcn0vZGVmYXVsdC9ncHNkLmRlZmF1bHQgMTAKK30KKworcGtnX3Bvc3RybV8ke1BOfS1jb25mKCkgeworICAgIHVwZGF0ZS1hbHRlcm5hdGl2ZXMgLS1yZW1vdmUgZ3BzZC1kZWZhdWx0cyAke3N5c2NvbmZkaXJ9L2RlZmF1bHQvZ3BzZC5kZWZhdWx0Cit9CisKK1BBQ0tBR0VTID0rICJsaWJncHMgbGliZ3BzZCBweXRob24tcHlncHMtZGJnIHB5dGhvbi1weWdwcyBncHNkLXVkZXYgZ3BzZC1jb25mIGdwc2QtZ3BzY3RsIGdwcy11dGlscyIKKworRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vcGtnY29uZmRpci9saWJncHNkLnBjICR7bGliZGlyfS9wa2djb25mZGlyL2xpYmdwcy5wYyBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9saWJRZ3BzbW0ucHJsIgorCitGSUxFU19weXRob24tcHlncHMtZGJnICs9ICIgJHtsaWJkaXJ9L3B5dGhvbiovc2l0ZS1wYWNrYWdlcy9ncHMvLmRlYnVnIgorCitSREVQRU5EU18ke1BOfSA9ICJncHNkLWdwc2N0bCIKK1JSRUNPTU1FTkRTXyR7UE59ID0gImdwc2QtY29uZiBncHNkLXVkZXYgZ3BzZC1tYWNoaW5lLWNvbmYiCisKK1NVTU1BUllfZ3BzZC11ZGV2ID0gInVkZXYgcmVsZXZhbnQgZmlsZXMgdG8gdXNlIGdwc2QgaG90cGx1Z2dpbmciCitGSUxFU19ncHNkLXVkZXYgPSAiJHtiYXNlX2xpYmRpcn0vdWRldiAke3N5c2NvbmZkaXJ9L3VkZXYvKiIKK1JERVBFTkRTX2dwc2QtdWRldiArPSAidWRldiBncHNkLWNvbmYiCisKK1NVTU1BUllfbGliZ3BzZCA9ICJDIHNlcnZpY2UgbGlicmFyeSB1c2VkIGZvciBjb21tdW5pY2F0aW5nIHdpdGggZ3BzZCIKK0ZJTEVTX2xpYmdwc2QgPSAiJHtsaWJkaXJ9L2xpYmdwc2Quc28uKiIKKworU1VNTUFSWV9saWJncHMgPSAiQyBzZXJ2aWNlIGxpYnJhcnkgdXNlZCBmb3IgY29tbXVuaWNhdGluZyB3aXRoIGdwc2QiCitGSUxFU19saWJncHMgPSAiJHtsaWJkaXJ9L2xpYmdwcy5zby4qIgorCitTVU1NQVJZX2dwc2QtY29uZiA9ICJncHNkIGNvbmZpZ3VyYXRpb24gZmlsZXMgYW5kIGluaXQgc2NyaXB0cyIKK0ZJTEVTX2dwc2QtY29uZiA9ICIke3N5c2NvbmZkaXJ9IgorQ09ORkZJTEVTX2dwc2QtY29uZiA9ICIke3N5c2NvbmZkaXJ9L2RlZmF1bHQvZ3BzZC5kZWZhdWx0IgorCitTVU1NQVJZX2dwc2QtZ3BzY3RsID0gIlRvb2wgZm9yIHR3ZWFraW5nIEdQUyBtb2RlcyIKK0ZJTEVTX2dwc2QtZ3BzY3RsID0gIiR7YmluZGlyfS9ncHNjdGwiCisKK1NVTU1BUllfZ3BzLXV0aWxzID0gIlV0aWxzIHVzZWQgZm9yIHNpbXVsYXRpbmcsIG1vbml0b3JpbmcsLi4uIGEgR1BTIgorRklMRVNfZ3BzLXV0aWxzID0gIiR7YmluZGlyfS8qIgorUkRFUEVORFNfZ3BzLXV0aWxzID0gInB5dGhvbi1weWdwcyIKKworU1VNTUFSWV9weXRob24tcHlncHMgPSAiUHl0aG9uIGJpbmRpbmdzIHRvIGdwc2QiCitGSUxFU19weXRob24tcHlncHMgPSAiJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vKiIKK1JERVBFTkRTX3B5dGhvbi1weWdwcyA9ICJweXRob24tY29yZSBweXRob24tY3Vyc2VzIGdwc2QgcHl0aG9uLWpzb24iCisKK1JQUk9WSURFU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1JSRVBMQUNFU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1JDT05GTElDVFNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAiJHtQTn0uc29ja2V0IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9neXBzeS9maWxlcy8wMDAxLWdfdHlwZV9pbml0LWlzLWRlcHJlY2F0ZWQtZm9yLWdsaWItMi4zNS4wLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9neXBzeS9maWxlcy8wMDAxLWdfdHlwZV9pbml0LWlzLWRlcHJlY2F0ZWQtZm9yLWdsaWItMi4zNS4wLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA2M2JlYTYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2d5cHN5L2ZpbGVzLzAwMDEtZ190eXBlX2luaXQtaXMtZGVwcmVjYXRlZC1mb3ItZ2xpYi0yLjM1LjAucGF0Y2gKQEAgLTAsMCArMSwxMTQgQEAKK0Zyb20gNWI4NTliNmU3YzgyZjQ5ZDk2N2MyNTM5OGE4ZTc1YjYxYWY5YmNjMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBXZWQsIDEyIEp1biAyMDEzIDIwOjU4OjUxIC0wNzAwCitTdWJqZWN0OiBbUEFUQ0hdIGdfdHlwZV9pbml0KCkgaXMgZGVwcmVjYXRlZCBmb3IgZ2xpYiA+PSAyLjM1LjAKKworQ2FsbCBpdCBmb3Igb2xkIHZlcnNpb25zLgorCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKy0tLQorIGV4YW1wbGVzL2xpc3Qta25vd24tZ3BzLWRldmljZXMuYyB8ICAgIDQgKystLQorIGV4YW1wbGVzL3NpbXBsZS1ncHMtZGJ1cy5jICAgICAgICB8ICAgIDMgKystCisgZXhhbXBsZXMvc2ltcGxlLWdwcy1neXBzeS5jICAgICAgIHwgICAgNCArKy0tCisgZXhhbXBsZXMvc2ltcGxlLWdwcy1zYXRlbGxpdGVzLmMgIHwgICAgNCArKy0tCisgZ3lwc3kvZ3lwc3ktbWFyc2hhbC5jICAgICAgICAgICAgIHwgICAgMiArLQorIHNyYy9tYWluLmMgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDQgKystLQorIDYgZmlsZXMgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9leGFtcGxlcy9saXN0LWtub3duLWdwcy1kZXZpY2VzLmMgYi9leGFtcGxlcy9saXN0LWtub3duLWdwcy1kZXZpY2VzLmMKK2luZGV4IGM3YzQwNTkuLjBhOGIwNGIgMTAwNjQ0CistLS0gYS9leGFtcGxlcy9saXN0LWtub3duLWdwcy1kZXZpY2VzLmMKKysrKyBiL2V4YW1wbGVzL2xpc3Qta25vd24tZ3BzLWRldmljZXMuYworQEAgLTIwLDkgKzIwLDkgQEAgbWFpbiAoaW50IGFyZ2MsCisgICAgIEdFcnJvciAqZXJyb3IgPSBOVUxMOworICAgICBHUHRyQXJyYXkgKmtub3duX2RldmljZXM7CisgICAgIGludCBpOworLQorKyNpZiAhR0xJQl9DSEVDS19WRVJTSU9OKDIsMzUsMCkKKyAgICAgZ190eXBlX2luaXQgKCk7CistCisrI2VuZGlmCisgICAgIGRpc2NvdmVyeSA9IGd5cHN5X2Rpc2NvdmVyeV9uZXcgKCk7CisgICAgIGtub3duX2RldmljZXMgPSBneXBzeV9kaXNjb3ZlcnlfbGlzdF9kZXZpY2VzIChkaXNjb3ZlcnksICZlcnJvcik7CisgCitkaWZmIC0tZ2l0IGEvZXhhbXBsZXMvc2ltcGxlLWdwcy1kYnVzLmMgYi9leGFtcGxlcy9zaW1wbGUtZ3BzLWRidXMuYworaW5kZXggZjcwNDRlNi4uNzZiMThhYSAxMDA2NDQKKy0tLSBhL2V4YW1wbGVzL3NpbXBsZS1ncHMtZGJ1cy5jCisrKysgYi9leGFtcGxlcy9zaW1wbGUtZ3BzLWRidXMuYworQEAgLTEyMSw4ICsxMjEsOSBAQCBtYWluIChpbnQgICAgYXJnYywKKyAJREJ1c0Nvbm5lY3Rpb24gKmNvbm47CisgCURCdXNFcnJvciBlcnJvcjsKKyAJR01haW5Mb29wICptYWlubG9vcDsKKy0KKysjaWYgIUdMSUJfQ0hFQ0tfVkVSU0lPTigyLDM1LDApCisgCWdfdHlwZV9pbml0ICgpOworKyNlbmRpZgorIAljb25uID0gZ2V0X2Nvbm5lY3Rpb24gKCk7CisgCisgCWRidXNfZXJyb3JfaW5pdCAoJmVycm9yKTsKK2RpZmYgLS1naXQgYS9leGFtcGxlcy9zaW1wbGUtZ3BzLWd5cHN5LmMgYi9leGFtcGxlcy9zaW1wbGUtZ3BzLWd5cHN5LmMKK2luZGV4IDBiNmI3YTYuLjg2MDMzZDkgMTAwNjQ0CistLS0gYS9leGFtcGxlcy9zaW1wbGUtZ3BzLWd5cHN5LmMKKysrKyBiL2V4YW1wbGVzL3NpbXBsZS1ncHMtZ3lwc3kuYworQEAgLTY3LDkgKzY3LDkgQEAgbWFpbiAoaW50ICAgIGFyZ2MsCisgCQlnX3ByaW50ICgiVXNhZ2U6ICVzIGRldmljZVxuIiwgYXJndlswXSk7CisgCQlyZXR1cm4gMDsKKyAJfQorLQorKyNpZiAhR0xJQl9DSEVDS19WRVJTSU9OKDIsMzUsMCkgCisgCWdfdHlwZV9pbml0ICgpOworLQorKyNlbmRpZgorIAljb250cm9sID0gZ3lwc3lfY29udHJvbF9nZXRfZGVmYXVsdCAoKTsKKyAJcGF0aCA9IGd5cHN5X2NvbnRyb2xfY3JlYXRlIChjb250cm9sLCBhcmd2WzFdLCAmZXJyb3IpOworIAlpZiAocGF0aCA9PSBOVUxMKSB7CitkaWZmIC0tZ2l0IGEvZXhhbXBsZXMvc2ltcGxlLWdwcy1zYXRlbGxpdGVzLmMgYi9leGFtcGxlcy9zaW1wbGUtZ3BzLXNhdGVsbGl0ZXMuYworaW5kZXggMTQwYzk4Zi4uOWEzZjk1YSAxMDA2NDQKKy0tLSBhL2V4YW1wbGVzL3NpbXBsZS1ncHMtc2F0ZWxsaXRlcy5jCisrKysgYi9leGFtcGxlcy9zaW1wbGUtZ3BzLXNhdGVsbGl0ZXMuYworQEAgLTQyLDkgKzQyLDkgQEAgbWFpbiAoaW50ICAgIGFyZ2MsCisgCQlnX3ByaW50ICgiVXNhZ2U6ICVzIGRldmljZVxuIiwgYXJndlswXSk7CisgCQlyZXR1cm4gMDsKKyAJfQorLQorKyNpZiAhR0xJQl9DSEVDS19WRVJTSU9OKDIsMzUsMCkKKyAJZ190eXBlX2luaXQgKCk7CistCisrI2VuZGlmCisgCWNvbnRyb2wgPSBneXBzeV9jb250cm9sX2dldF9kZWZhdWx0ICgpOworIAlwYXRoID0gZ3lwc3lfY29udHJvbF9jcmVhdGUgKGNvbnRyb2wsIGFyZ3ZbMV0sICZlcnJvcik7CisgCWlmIChwYXRoID09IE5VTEwpIHsKK2RpZmYgLS1naXQgYS9neXBzeS9neXBzeS1tYXJzaGFsLmMgYi9neXBzeS9neXBzeS1tYXJzaGFsLmMKK2luZGV4IDY5NjQ2NDQuLjlhYzAwOTUgMTAwNjQ0CistLS0gYS9neXBzeS9neXBzeS1tYXJzaGFsLmMKKysrKyBiL2d5cHN5L2d5cHN5LW1hcnNoYWwuYworQEAgLTUsNyArNSw3IEBACisgCisgI2lmZGVmIEdfRU5BQkxFX0RFQlVHCisgI2RlZmluZSBnX21hcnNoYWxfdmFsdWVfcGVla19ib29sZWFuKHYpICBnX3ZhbHVlX2dldF9ib29sZWFuICh2KQorLSNkZWZpbmUgZ19tYXJzaGFsX3ZhbHVlX3BlZWtfY2hhcih2KSAgICAgZ192YWx1ZV9nZXRfY2hhciAodikKKysjZGVmaW5lIGdfbWFyc2hhbF92YWx1ZV9wZWVrX2NoYXIodikgICAgIGdfdmFsdWVfZ2V0X3NjaGFyICh2KQorICNkZWZpbmUgZ19tYXJzaGFsX3ZhbHVlX3BlZWtfdWNoYXIodikgICAgZ192YWx1ZV9nZXRfdWNoYXIgKHYpCisgI2RlZmluZSBnX21hcnNoYWxfdmFsdWVfcGVla19pbnQodikgICAgICBnX3ZhbHVlX2dldF9pbnQgKHYpCisgI2RlZmluZSBnX21hcnNoYWxfdmFsdWVfcGVla191aW50KHYpICAgICBnX3ZhbHVlX2dldF91aW50ICh2KQorZGlmZiAtLWdpdCBhL3NyYy9tYWluLmMgYi9zcmMvbWFpbi5jCitpbmRleCAzZThhNzk0Li5lYzk4MGU1IDEwMDY0NAorLS0tIGEvc3JjL21haW4uYworKysrIGIvc3JjL21haW4uYworQEAgLTE4Nyw5ICsxODcsOSBAQCBtYWluIChpbnQgICAgYXJnYywKKyAJZ19vcHRpb25fY29udGV4dF9mcmVlIChjb250ZXh0KTsKKyAKKyAJdW1hc2sgKDAyMik7CistCisrI2lmICFHTElCX0NIRUNLX1ZFUlNJT04oMiwzNSwwKQorIAlnX3R5cGVfaW5pdCAoKTsKKy0KKysjZW5kaWYKKyAJbWFpbmxvb3AgPSBnX21haW5fbG9vcF9uZXcgKE5VTEwsIEZBTFNFKTsKKyAKKyAJY29ubiA9IGRidXNfZ19idXNfZ2V0IChEQlVTX0JVU19TWVNURU0sICZlcnJvcik7CistLSAKKzEuNy45LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9neXBzeS9maWxlcy9maXh1cHMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2d5cHN5L2ZpbGVzL2ZpeHVwcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZTRkOTJlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9neXBzeS9maWxlcy9maXh1cHMucGF0Y2gKQEAgLTAsMCArMSwyMSBAQAorVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQorCistLS0KKyBkb2NzL3JlZmVyZW5jZS9NYWtlZmlsZS5hbSB8ICAgIDIgKysKKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspCisKKy0tLSBneXBzeS5vcmlnL2RvY3MvcmVmZXJlbmNlL01ha2VmaWxlLmFtCisrKysgZ3lwc3kvZG9jcy9yZWZlcmVuY2UvTWFrZWZpbGUuYW0KK0BAIC04MSwxMCArODEsMTIgQEAgZXhwYW5kX2NvbnRlbnRfZmlsZXM9CisgIyBlLmcuIEdUS0RPQ19MSUJTPSQodG9wX2J1aWxkZGlyKS9ndGsvJChndGt0YXJnZXRsaWIpCisgCisgSU5DTFVERVM9LUkkKHRvcF9zcmNkaXIpICQoR1lQU1lfQ0ZMQUdTKQorIEdUS0RPQ19MSUJTPSQodG9wX2J1aWxkZGlyKS9neXBzeS9saWJneXBzeS5sYSAkKEdZUFNZX0xJQlMpCisgCisrRVhUUkFfRElTVCA9CisrQ0xFQU5GSUxFUyA9CisgIyBUaGlzIGluY2x1ZGVzIHRoZSBzdGFuZGFyZCBndGstZG9jIG1ha2UgcnVsZXMsIGNvcGllZCBieSBndGtkb2NpemUuCisgaW5jbHVkZSAkKHRvcF9zcmNkaXIpL2d0ay1kb2MubWFrZQorIAorICMgT3RoZXIgZmlsZXMgdG8gZGlzdHJpYnV0ZQorICMgZS5nLiBFWFRSQV9ESVNUICs9IHZlcnNpb24ueG1sLmluCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2d5cHN5L2d5cHN5LmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3lwc3kvZ3lwc3kuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjllZmQzNTYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2d5cHN5L2d5cHN5LmluYwpAQCAtMCwwICsxLDI1IEBACitTVU1NQVJZID0gIkdQUyBNdWx0aXBsZXhpbmcgRGFlbW9uIgorREVTQ1JJUFRJT04gPSAiR3lwc3kgaXMgYSBHUFMgbXVsdGlwbGV4aW5nIGRhZW1vbiB3aGljaCBhbGxvd3MgXAorbXVsdGlwbGUgY2xpZW50cyB0byBhY2Nlc3MgR1BTIGRhdGEgZnJvbSBtdWx0aXBsZSBHUFMgc291cmNlcyBcCitjb25jdXJyZW50bHkuICBHeXBzeSBhbHNvIGhpZGVzIHRoZSBkZXRhaWxzIG9mIHBhcnNpbmcgTk1FQSBmcm9tIHRoZSBcCitjbGllbnQgYXBwbGljYXRpb25zLCBwYXNzaW5nIHRoZSBkYXRhIGFzIHNpbXBsZSB2YWx1ZXMgZm9yIHRoZSBjbGllbnRzIFwKK3RvIHVzZS4iCitMSUNFTlNFID0gIkdQTHYyLjAgJiBMR1BMdjIuMSIKK1NFQ1RJT04gPSAiY29uc29sZS9uZXR3b3JrIgorREVQRU5EUyA9ICJnbGliLTIuMCBkYnVzIGJsdWV6NCBkYnVzLWdsaWIgbGlieHNsdC1uYXRpdmUgbGlieHNsdCIKKworUE5CTEFDS0xJU1RbZ3lwc3ldID89ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2JsdWV6NScsICdibHVlejUgY29uZmxpY3RzIHdpdGggYmx1ZXo0IGFuZCBibHVlejUgaXMgc2VsZWN0ZWQgaW4gRElTVFJPX0ZFQVRVUkVTJywgJycsIGQpfSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGd0ay1kb2MKK1BBQ0tBR0VTICs9ICJsaWJneXBzeSIKKworRklMRVNfJHtQTn0gPSAiIFwKKyAgJHtzeXNjb25mZGlyfS9neXBzeS5jb25mIFwKKyAgJHtzeXNjb25mZGlyfS9kYnVzLTEgXAorICAke2xpYmV4ZWNkaXJ9L2d5cHN5LWRhZW1vbiBcCisgICR7ZGF0YWRpcn0vZGJ1cy0xIFwKKyIKKworRklMRVNfbGliZ3lwc3kgPSAiIFwKKyAgJHtsaWJkaXJ9L2xpYmd5cHN5JHtTT0xJQlN9IFwKKyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3lwc3kvZ3lwc3lfMC45LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9neXBzeS9neXBzeV8wLjkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjRjODk4NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3lwc3kvZ3lwc3lfMC45LmJiCkBAIC0wLDAgKzEsMTUgQEAKK3JlcXVpcmUgZ3lwc3kuaW5jCisKK1BSID0gInIyIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLmxpYjttZDU9N2ZiYzMzODMwOWFjMzhmZWZjZDY0YjA0YmI5MDNlMzQgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL21haW4uYztiZWdpbmxpbmU9MTtlbmRsaW5lPTI1O21kNT0zZmU2NGUyN2U2MWIyODliNzczODNhNTRhOTgyY2JkZCBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9neXBzeS9neXBzeS10aW1lLmg7YmVnaW5saW5lPTE7ZW5kbGluZT0yNDttZDU9MDY0MzJlYTE5YTdiNjYwNzQyOGQwNGQ5ZGFkYzM3ZmQiCisKK1NSQ19VUkkgKz0gImh0dHA6Ly9neXBzeS5mcmVlZGVza3RvcC5vcmcvcmVsZWFzZXMvZ3lwc3ktJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtZ190eXBlX2luaXQtaXMtZGVwcmVjYXRlZC1mb3ItZ2xpYi0yLjM1LjAucGF0Y2ggXAorICAgICAgICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gImUyZDE4NmRmOWMyY2MzYjcwYTAyNzA0M2UyMmFjZjFhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjE0ZTFjYmUxNzM1MWY0MDg1MzhlMDMzY2EzNzBiNGJmNTFjY2Y5Yzg4NzQ0ZTIzNmRkZmIyNzE5MDRmMTU0ZDYiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2d5cHN5L2d5cHN5X2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3lwc3kvZ3lwc3lfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZhYjE2ZTYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2d5cHN5L2d5cHN5X2dpdC5iYgpAQCAtMCwwICsxLDIyIEBACityZXF1aXJlIGd5cHN5LmluYworCitERUZBVUxUX1BSRUZFUkVOQ0UgPSAiLTEiCisKK1NSQ1JFViA9ICJiZThjOWMzODJkMmQxZDM3YjUxZDI5YjA4NDMwNDUxMjFlYzkwMjEzIgorUFYgPSAiMC45K2dpdCR7U1JDUFZ9IgorUFIgPSAicjIiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcubGliO21kNT03ZmJjMzM4MzA5YWMzOGZlZmNkNjRiMDRiYjkwM2UzNCBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvbWFpbi5jO2JlZ2lubGluZT0xO2VuZGxpbmU9MjU7bWQ1PTNmZTY0ZTI3ZTYxYjI4OWI3NzM4M2E1NGE5ODJjYmRkIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2d5cHN5L2d5cHN5LXRpbWUuaDtiZWdpbmxpbmU9MTtlbmRsaW5lPTI0O21kNT0wNjQzMmVhMTlhN2I2NjA3NDI4ZDA0ZDlkYWRjMzdmZCIKKworU1JDX1VSSSArPSAiZ2l0Oi8vYW5vbmdpdC5mcmVlZGVza3RvcC5vcmcvZ3lwc3kgXAorICAgICAgICAgICAgZmlsZTovL2ZpeHVwcy5wYXRjaCIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICMgZnJvbSBwYXRjaCA1NjM3MTZmYzU5NmQ1M2YxMDg1OTQ5YTlkZDExYTYyZjM5YjJkNjI0CisgIHRlc3QgLWQgJHtTfS9tNCB8fCBta2RpciAtcCAke1N9L200Cit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2xpYnNwYXRpYWxpdGUvbGlic3BhdGlhbGl0ZS00LjIuMC9nZW9zLWNvbmZpZy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vbGlic3BhdGlhbGl0ZS9saWJzcGF0aWFsaXRlLTQuMi4wL2dlb3MtY29uZmlnLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI4YmQ3ZGEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2xpYnNwYXRpYWxpdGUvbGlic3BhdGlhbGl0ZS00LjIuMC9nZW9zLWNvbmZpZy5wYXRjaApAQCAtMCwwICsxLDE3IEBACitodHRwczovL3d3dy5nYWlhLWdpcy5pdC9mb3NzaWwvbGlic3BhdGlhbGl0ZS90a3R2aWV3P25hbWU9YWJlZWFhZDQ0OAorCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbcnBtNS1kZXZlbEBycG01Lm9yZ10KKworSW5kZXg6IGxpYnNwYXRpYWxpdGUtNC4yLjAvY29uZmlndXJlLmFjCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbGlic3BhdGlhbGl0ZS00LjIuMC5vcmlnL2NvbmZpZ3VyZS5hYworKysrIGxpYnNwYXRpYWxpdGUtNC4yLjAvY29uZmlndXJlLmFjCitAQCAtMjYwLDcgKzI2MCw3IEBAIGlmIHRlc3QgeCIkZW5hYmxlX2dlb3MiICE9ICJ4bm8iOyB0aGVuCisgICBmaQorICAgIyBFeHRyYWN0IHRoZSBsaW5rZXIgYW5kIGluY2x1ZGUgZmxhZ3MKKyAgIEdFT1NfTERGTEFHUz1gJEdFT1NDT05GSUcgLS1sZGZsYWdzYAorLSAgR0VPU19DRkxBR1M9LUlgJEdFT1NDT05GSUcgLS1pbmNsdWRlc2AKKysgIEdFT1NfQ0ZMQUdTPWAkR0VPU0NPTkZJRyAtLWNmbGFnc2AKKyAgIEFDX1NVQlNUKFtHRU9TX0xERkxBR1NdKQorICAgQUNfU1VCU1QoW0dFT1NfQ0ZMQUdTXSkJCisgICAjIEVuc3VyZSB0aGF0IHdlIGNhbiBwYXJzZSBnZW9zX2MuaApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9saWJzcGF0aWFsaXRlL2xpYnNwYXRpYWxpdGVfNC4yLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2xpYnNwYXRpYWxpdGUvbGlic3BhdGlhbGl0ZV80LjIuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNjZkYzg3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9saWJzcGF0aWFsaXRlL2xpYnNwYXRpYWxpdGVfNC4yLjAuYmIKQEAgLTAsMCArMSwyMyBAQAorREVTQ1JJUFRJT04gPSAiTGlicmFyeSBleHRlbmRpbmcgdGhlIFNRTGl0ZSBjb3JlIHRvIHN1cHBvcnQgZnVsbHkgZmxlZGdlZCBTcGF0aWFsIFNRTCBjYXBhYmlsaXRpZXMiCitIT01FUEFHRSA9ICJodHRwczovL3d3dy5nYWlhLWdpcy5pdC9mb3NzaWwvbGlic3BhdGlhbGl0ZS8iCitTRUNUSU9OID0gImxpYnMiCitERVBFTkRTID0gInByb2ogZ2VvcyBzcWxpdGUzIGxpYnhtbDIgemxpYiIKKworTElDRU5TRSA9ICJNUEx2MS4xICYgR1BMdjIrICYgTEdQTHYyLjErIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MGU5MmUxYTM2Y2MzODRiNjBmNWIzMWRkZTBiZGQzOWUiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5nYWlhLWdpcy5pdC9nYWlhLXNpbnMvbGlic3BhdGlhbGl0ZS1zb3VyY2VzL2xpYnNwYXRpYWxpdGUtJHtQVn0udGFyLmd6IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworRVhUUkFfT0VDT05GID0gIi0tZW5hYmxlLWZyZWV4bD1ubyIKKworIyBwYWNrYWdlIHBsdWdpbnMgZm9yIFNRTGl0ZTMKK1BBQ0tBR0VTICs9ICIke1BOfS1wbHVnaW4iCitJTlNBTkVfU0tJUF8ke1BOfS1wbHVnaW4gPSAiZGV2LXNvIgorRklMRVNfJHtQTn0tcGx1Z2luICs9ICIke2xpYmRpcn0vbW9kXyoiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI4MzMwNWVkNjk0YTc3MTUyMTIwZDFmNzRjNTE1MTc3OSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5ZjEzOGE2ODU0NzQwYzc4MjdmZGVlNTM4NDVlYjE0ODVmY2UzZTgwNWE3YWE5ZmM5MTUxZjgwNDZlYmQzMTJkIgorCitTUkNfVVJJICs9ICJmaWxlOi8vZ2Vvcy1jb25maWcucGF0Y2giCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL25hdml0L25hdml0LWZwdS5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL25hdml0L25hdml0LWZwdS5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDk2MzcwMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vbmF2aXQvbmF2aXQtZnB1LmluYwpAQCAtMCwwICsxLDYgQEAKKworZGVmIGdldF9uYXZpdF9mcHVfc2V0dGluZyhiYiwgZCk6CisgICAgaWYgZC5nZXRWYXIoJ1RBUkdFVF9GUFUnLCAxKSBpbiBbICdzb2Z0JyBdOgorICAgICAgICByZXR1cm4gIi0tZW5hYmxlLWF2b2lkLWZsb2F0IgorICAgIHJldHVybiAiIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL25hdml0L25hdml0LmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vbmF2aXQvbmF2aXQuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFjMGJmZGEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL25hdml0L25hdml0LmluYwpAQCAtMCwwICsxLDk1IEBACitERVNDUklQVElPTiA9ICJOYXZpdCBpcyBhIGNhciBuYXZpZ2F0aW9uIHN5c3RlbSB3aXRoIHJvdXRpbmcgZW5naW5lLiIKK0xJQ0VOU0UgPSAiR1BMdjIgJiBMR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1lZDUzOWQwOTlkNmNlMDhkZTZlYTBkZmVkOWVjYjMzMyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9MR1BMLTI7bWQ1PTMyMTRmMDgwODc1NzQ4OTM4YmEwNjAzMTRiNGY3MjdkIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0dQTC0yO21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSBcCisiCisKK1NFQ1RJT04gPSAieDExL2FwcGxpY2F0aW9ucyIKK0RFUEVORFMgPSAiZ2xpYi0yLjAgZ2QgZ3lwc3kgbGlicnN2Zy1uYXRpdmUiCitSREVQRU5EU18ke1BOfSA9ICIgJHtQTn0taWNvbnMgJHtQTn0tY29uZmlnICIKK1JSRUNPTU1FTkRTXyR7UE59ID0gImdwc2QgJHtQTn0tZGJ1cyAke1BOfS1zcGVlY2gtY21kbGluZSAke1BOfS1ndWktaW50ZXJuYWwgJHtQTn0tZ3JhcGhpY3MtZ3RrIgorUlNVR0dFU1RTXyR7UE59ID0gImZsaXRlLWFsc2EgZXNwZWFrICR7UE59LXNwZWVjaC1kYnVzICR7UE59LWd1aS1ndGsgJHtQTn0tZ3VpLXFtbCAke1BOfS1ncmFwaGljcy1zZGwgJHtQTn0tZ3JhcGhpY3MtcXQgJHtQTn0tbWFwdG9vbCIKKworUEUgPSAiMSIKK0lOQ19QUiA9ICJyMTEiCisKKyMgRGVwZW5kcyBvbiBneXBzeQorUE5CTEFDS0xJU1RbbmF2aXRdID89ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2JsdWV6NScsICdibHVlejUgY29uZmxpY3RzIHdpdGggYmx1ZXo0IGFuZCBibHVlejUgaXMgc2VsZWN0ZWQgaW4gRElTVFJPX0ZFQVRVUkVTJywgJycsIGQpfSIKKworaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCBwa2djb25maWcKKworUEFDS0FHRUNPTkZJRyA/PSAiIgorUEFDS0FHRUNPTkZJR1tmcmliaWRpXSA9ICItLWVuYWJsZS1mcmliaWRpLC0tZGlzYWJsZS1mcmliaWRpLGZyaWJpZGkiCitQQUNLQUdFQ09ORklHW2ltbGliMl0gPSAiLS1lbmFibGUtaW1saWIyLC0tZGlzYWJsZS1pbWxpYjIsaW1saWIyIgorUEFDS0FHRUNPTkZJR1tzZGxdID0gIi0tZW5hYmxlLWdyYXBoaWNzLXNkbCwtLWRpc2FibGUtZ3JhcGhpY3Mtc2RsLGxpYnNkbCIKK1BBQ0tBR0VDT05GSUdbZ3RrXSA9ICItLWVuYWJsZS1ncmFwaGljcy1ndGstZHJhd2luZy1hcmVhIC0tZW5hYmxlLWd1aS1ndGssLS1kaXNhYmxlLWdyYXBoaWNzLWd0ay1kcmF3aW5nLWFyZWEgLS1kaXNhYmxlLWd1aS1ndGssZ3RrKyIKK1BBQ0tBR0VDT05GSUdbcXRdID0gIi0tZW5hYmxlLWdyYXBoaWNzLXF0LXFwYWludGVyIC0tZW5hYmxlLWd1aS1xbWwsLS1kaXNhYmxlLWdyYXBoaWNzLXF0LXFwYWludGVyIC0tZGlzYWJsZS1ndWktcW1sLHF0NC14MTEtZnJlZSxxdDQtcGx1Z2luLWltYWdlZm9ybWF0LXN2ZyIKKworRVhUUkFfT0VDT05GICs9ICIgXAorICAgIC0tZGlzYWJsZS1iaW5kaW5nLXB5dGhvbiBcCisgICAgLS1kaXNhYmxlLXNhbXBsZW1hcCBcCisgICAgLS1lbmFibGUtYXZvaWQtdW5hbGlnbmVkIFwKKyAgICAtLWVuYWJsZS1zdmcycG5nLXNjYWxpbmctZmxhZz0zMiBcCisgICAgLS1kaXNhYmxlLXNwZWVjaC1zcGVlY2gtZGlzcGF0Y2hlciBcCisgICAgLS1lbmFibGUtY2FjaGUtc2l6ZT0yMDk3MTUyMCBcCisiCisKKyMgIC0tZW5hYmxlLWF2b2lkLWZsb2F0IFwKKyNjaGVjayBmb3IgVEFSR0VUX0ZQVT1zb2Z0IGFuZCBpbmZvcm0gY29uZmlndXJlIG9mIHRoZSByZXN1bHQgc28gaXQgY2FuIGRpc2FibGUgc29tZSBmbG9hdGluZyBwb2ludHMKK3JlcXVpcmUgbmF2aXQtZnB1LmluYworRVhUUkFfT0VDT05GICs9ICIke0BnZXRfbmF2aXRfZnB1X3NldHRpbmcoYmIsIGQpfSIKKworUEFDS0FHRVMgPSsgIiR7UE59LW1hcHRvb2wgJHtQTn0tY29uZmlnICR7UE59LWRidXMgJHtQTn0tc3BlZWNoLWNtZGxpbmUgJHtQTn0tc3BlZWNoLWRidXMgJHtQTn0tZ3VpLWd0ayAke1BOfS1ndWktaW50ZXJuYWwgJHtQTn0tZ3VpLXFtbCAke1BOfS1ncmFwaGljcy1zZGwgJHtQTn0tZ3JhcGhpY3MtZ3RrICR7UE59LWdyYXBoaWNzLXF0ICR7UE59LWljb25zIgorCitFWFRSQV9BVVRPUkVDT05GID0gIiAtSSBtNCIKKworQ09ORkZJTEVTXyR7UE59LWNvbmZpZyArPSAiJHtkYXRhZGlyfS9uYXZpdC9uYXZpdC5kZWZhdWx0LnhtbCBcCisgICAgJHtkYXRhZGlyfS9uYXZpdC9uYXZpdC54bWwgXAorICAgICR7ZGF0YWRpcn0vbmF2aXQvbWFwcy54bWwgXAorICAgICR7ZGF0YWRpcn0vbmF2aXQvb3NkLnhtbCBcCisgICAgJHtkYXRhZGlyfS9uYXZpdC9zcGVlY2gueG1sIFwKKyAgICAke2RhdGFkaXJ9L25hdml0L3BsdWdpbnMueG1sIFwKKyIKKworU1JDX1VSSSArPSAiZmlsZTovL25hdml0LnhtbCBcCisgICAgICAgICAgICBmaWxlOi8vbWFwcy54bWwgXAorICAgICAgICAgICAgZmlsZTovL29zZC54bWwgXAorICAgICAgICAgICAgZmlsZTovL3NwZWVjaC54bWwgXAorICAgICAgICAgICAgZmlsZTovL3BsdWdpbnMueG1sIFwKKyIKKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS8ke0JQTn0vKi8qLnNvICR7ZGF0YWRpcn0vaWNvbnMiCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS8ke0JQTn0vKi8uZGVidWciCitGSUxFU18ke1BOfS1tYXB0b29sID0gIiAke2JpbmRpcn0vbWFwdG9vbCAiCitGSUxFU18ke1BOfS1jb25maWcgPSAiICR7ZGF0YWRpcn0vbmF2aXQvKi54bWwgIgorRklMRVNfJHtQTn0tZGJ1cyA9ICIgJHtkYXRhZGlyfS9kYnVzLTEvc2VydmljZXMvICR7bGliZGlyfS8ke0JQTn0vYmluZGluZy9saWJiaW5kaW5nX2RidXMuc28gIgorRklMRVNfJHtQTn0tc3BlZWNoLWNtZGxpbmUgPSAiICR7bGliZGlyfS8ke0JQTn0vc3BlZWNoL2xpYnNwZWVjaF9jbWRsaW5lLnNvICIKK0ZJTEVTXyR7UE59LXNwZWVjaC1kYnVzID0gIiAke2xpYmRpcn0vJHtCUE59L3NwZWVjaC9saWJzcGVlY2hfZGJ1cy5zbyAiCitGSUxFU18ke1BOfS1ndWktZ3RrID0gIiAke2xpYmRpcn0vJHtCUE59L2d1aS9saWJndWlfZ3RrLnNvICIKK0ZJTEVTXyR7UE59LWd1aS1xbWwgPSAiICR7bGliZGlyfS8ke0JQTn0vZ3VpL2xpYmd1aV9xbWwuc28gJHtkYXRhZGlyfS9uYXZpdC9za2lucy8gIgorRklMRVNfJHtQTn0tZ3VpLWludGVybmFsID0gIiAke2xpYmRpcn0vJHtCUE59L2d1aS9saWJndWlfaW50ZXJuYWwuc28gIgorRklMRVNfJHtQTn0tZ3JhcGhpY3Mtc2RsID0gIiAke2xpYmRpcn0vJHtCUE59L2dyYXBoaWNzL2xpYmdyYXBoaWNzX3NkbC5zbyAiCitGSUxFU18ke1BOfS1ncmFwaGljcy1xdCA9ICIgJHtsaWJkaXJ9LyR7QlBOfS9ncmFwaGljcy9saWJncmFwaGljc19xdF9xcGFpbnRlci5zbyAiCitGSUxFU18ke1BOfS1ncmFwaGljcy1ndGsgPSAiICR7bGliZGlyfS8ke0JQTn0vZ3JhcGhpY3MvbGliZ3JhcGhpY3NfZ3RrX2RyYXdpbmdfYXJlYS5zbyAiCitGSUxFU18ke1BOfS1pY29ucyA9ICIvdXNyL3NoYXJlL25hdml0L3hwbS8iCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgICMgTU9DPWAkUEtHX0NPTkZJRyBRdEd1aSAtLXZhcmlhYmxlPW1vY19sb2NhdGlvbmAgcmV0dXJucyBvbmx5IC91c3IvYmluL21vYzQgd2hpY2ggaXMgbm90IGF2YWlsYWJsZSBvbiBob3N0cyB3aXRob3V0IFF0CisgICAgc2VkIC1pICJzI01PQz0jTU9DPSR7U1RBR0lOR19ESVJfTkFUSVZFfSNnIiAke1N9L2NvbmZpZ3VyZS5pbgorfQorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICAjIGZpeCBRQSBpc3N1ZQorICAgIHNlZCAtaSAncyNDYXRlZ29yaWVzPUdUSztVdGlsaXR5O0dlb2dyYXBoeTsjQ2F0ZWdvcmllcz1HcmFwaGljczsjZycgJHtEfSR7ZGF0YWRpcn0vYXBwbGljYXRpb25zL25hdml0LmRlc2t0b3AKKworICAgIHJtICR7RH0ke2xpYmRpcn0vJHtCUE59LyovKi5sYQorCisgICAgI1VzZSBzcGxpdCBjb25maWcKKyAgICBtdiAke0R9JHtkYXRhZGlyfS9uYXZpdC9uYXZpdC54bWwgJHtEfSR7ZGF0YWRpcn0vbmF2aXQvbmF2aXQuZGVmYXVsdC54bWwKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9uYXZpdC54bWwgJHtEfSR7ZGF0YWRpcn0vbmF2aXQvbmF2aXQueG1sCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vbWFwcy54bWwgJHtEfSR7ZGF0YWRpcn0vbmF2aXQvbWFwcy54bWwKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9vc2QueG1sICR7RH0ke2RhdGFkaXJ9L25hdml0L29zZC54bWwKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9zcGVlY2gueG1sICR7RH0ke2RhdGFkaXJ9L25hdml0L3NwZWVjaC54bWwKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9wbHVnaW5zLnhtbCAke0R9JHtkYXRhZGlyfS9uYXZpdC9wbHVnaW5zLnhtbAorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9uYXZpdC9uYXZpdC9jb25maWd1cmUuYWRkLmltbGliMi5vcHRpb24ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL25hdml0L25hdml0L2NvbmZpZ3VyZS5hZGQuaW1saWIyLm9wdGlvbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZTQxNzkyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9uYXZpdC9uYXZpdC9jb25maWd1cmUuYWRkLmltbGliMi5vcHRpb24ucGF0Y2gKQEAgLTAsMCArMSwxNiBAQAorLS0tIGEvY29uZmlndXJlLmluLm9yaWcJMjAxNC0wNS0xMCAxNTo1NzoxOC4xNDYzNjIxMTAgKzAyMDAKKysrKyBiL2NvbmZpZ3VyZS5pbgkyMDE0LTA1LTEwIDE1OjU5OjI3Ljg1OTM1ODg0NSArMDIwMAorQEAgLTQ5OCwxMCArNDk4LDEzIEBACisgQUNfU1VCU1QoRlJJQklESV9DRkxBR1MpCisgQUNfU1VCU1QoRlJJQklESV9MSUJTKQorIAorK0FDX0FSR19FTkFCTEUoaW1saWIyLCBbICAtLWRpc2FibGUtaW1saWIyICBkaXNhYmxlIGltbGliMiBzdXBwb3J0XSwgaW1saWIyPSRlbmFibGV2YWw7aW1saWIyX3JlYXNvbj0iY29uZmlndXJlIHBhcmFtZXRlciIsIGltbGliMj15ZXMpCisraWYgdGVzdCB4IiR7aW1saWIyfSIgPSAieHllcyI7IHRoZW4KKyBQS0dfQ0hFQ0tfTU9EVUxFUyhJTUxJQjIsIFtpbWxpYjJdLCBbaW1saWIyX3BrZ2NvbmZpZz15ZXNdLCBbaW1saWIyX3BrZ2NvbmZpZz1ub10pCisgaWYgdGVzdCAieCRpbWxpYjJfcGtnY29uZmlnIiA9ICJ4eWVzIjsgdGhlbgorICAgIEFDX0RFRklORShIQVZFX0lNTElCMiwgMSwgW0RlZmluZSB0byAxIGlmIHlvdSBoYXZlIGltbGliMl0pCisgZmkKKytmaQorIEFDX1NVQlNUKElNTElCMl9DRkxBR1MpCisgQUNfU1VCU1QoSU1MSUIyX0xJQlMpCisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL25hdml0L25hdml0L2ZyZWV0eXBlLWluY2x1ZGUtcGF0aC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vbmF2aXQvbmF2aXQvZnJlZXR5cGUtaW5jbHVkZS1wYXRoLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI4ODk5N2IKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL25hdml0L25hdml0L2ZyZWV0eXBlLWluY2x1ZGUtcGF0aC5wYXRjaApAQCAtMCwwICsxLDI4IEBACitEZXNjcmlwdGlvbjogRml4IEZUQkZTIGNhdXNlZCBieSBmcmVldHlwZSBoZWFkZXJzIHBhdGggY2hhbmdlLgorQXV0aG9yOiBHaWxsZXMgRmlsaXBwaW5pIDxwaW5pQGRlYmlhbi5vcmc+CitCdWctRGViaWFuOiBodHRwOi8vYnVncy5kZWJpYW4ub3JnLzczMzM3OAorSW5kZXg6IG5hdml0L25hdml0L2ZvbnQvZnJlZXR5cGUvZm9udF9mcmVldHlwZS5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbmF2aXQub3JpZy9uYXZpdC9mb250L2ZyZWV0eXBlL2ZvbnRfZnJlZXR5cGUuYwkyMDEzLTA5LTIzIDEwOjQzOjMyLjAwMDAwMDAwMCArMDIwMAorKysrIG5hdml0L25hdml0L2ZvbnQvZnJlZXR5cGUvZm9udF9mcmVldHlwZS5jCTIwMTMtMTItMzAgMTk6NTQ6NDUuMDAwMDAwMDAwICswMTAwCitAQCAtMzIsNyArMzIsNyBAQAorICNpZiBVU0VfRlJJQklESQorICNpbmNsdWRlIDxmcmliaWRpLmg+CisgI2VuZGlmCistI2luY2x1ZGUgPGZyZWV0eXBlL2Z0Z2x5cGguaD4KKysjaW5jbHVkZSA8ZnRnbHlwaC5oPgorICNpbmNsdWRlICJwb2ludC5oIgorICNpbmNsdWRlICJncmFwaGljcy5oIgorICNpbmNsdWRlICJkZWJ1Zy5oIgorZGlmZiAtdU5yIG5hdml0Lm9yaWcvbmF2aXQvZ3JhcGhpY3Mvc2RsL2dyYXBoaWNzX3NkbC5jIG5hdml0L25hdml0L2dyYXBoaWNzL3NkbC9ncmFwaGljc19zZGwuYworLS0tIG5hdml0Lm9yaWcvbmF2aXQvZ3JhcGhpY3Mvc2RsL2dyYXBoaWNzX3NkbC5jCTIwMTItMDYtMjIgMTQ6MTY6MDEuMDAwMDAwMDAwICswMjAwCisrKysgbmF2aXQvbmF2aXQvZ3JhcGhpY3Mvc2RsL2dyYXBoaWNzX3NkbC5jCTIwMTQtMDEtMDEgMjI6MzE6MTAuODkyOTQ4MTY0ICswMTAwCitAQCAtODQsNyArODQsNyBAQAorICNlbHNlCisgI2luY2x1ZGUgPGZ0MmJ1aWxkLmg+CisgI2luY2x1ZGUgRlRfRlJFRVRZUEVfSAorLSNpbmNsdWRlIDxmcmVldHlwZS9mdGdseXBoLmg+CisrI2luY2x1ZGUgPGZ0Z2x5cGguaD4KKyAjZW5kaWYKKyAjaW5jbHVkZSA8ZXZlbnQuaD4KKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vbmF2aXQvbmF2aXQvbWFwcy54bWwgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL25hdml0L25hdml0L21hcHMueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZmNTlmMjAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL25hdml0L25hdml0L21hcHMueG1sCkBAIC0wLDAgKzEsMjQgQEAKKyAgICAgICAgICAgICAgICA8IS0tIElmIHlvdSBoYXZlIHRoZSByZWlzZXBsYW5lciBtYXBzIGluc3RhbGxlZCwgc2V0IGVuYWJsZWQ9InllcyIgaW4gdGhlIG5leHQgbGluZSBhbmQgc2V0IHRoZSBwYXRoIGNvcnJlY3RseSAtLT4KKyAgICAgICAgICAgICAgICA8bWFwc2V0IGVuYWJsZWQ9Im5vIj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxtYXAgdHlwZT0ibWciIGVuYWJsZWQ9InllcyIgZGF0YT0iL29wdC9yZWlzZXBsYW5lci90cmF2ZWwvREUubWFwIi8+CisgICAgICAgICAgICAgICAgICAgICAgICA8bWFwIHR5cGU9Im1nIiBlbmFibGVkPSJ5ZXMiIGRhdGE9Ii9vcHQvcmVpc2VwbGFuZXIvdHJhdmVsL0RFLm1hcC9zbXAxLnNtcCIvPgorICAgICAgICAgICAgICAgICAgICAgICAgPG1hcCB0eXBlPSJtZyIgZW5hYmxlZD0ieWVzIiBkYXRhPSIvb3B0L3JlaXNlcGxhbmVyL3RyYXZlbC9ERS5tYXAvc21wMi5zbXAiLz4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxtYXAgdHlwZT0ibWciIGVuYWJsZWQ9InllcyIgZGF0YT0iL29wdC9yZWlzZXBsYW5lci90cmF2ZWwvREUubWFwL3NtcDMuc21wIi8+CisgICAgICAgICAgICAgICAgICAgICAgICA8bWFwIHR5cGU9Im1nIiBlbmFibGVkPSJ5ZXMiIGRhdGE9Ii9vcHQvcmVpc2VwbGFuZXIvdHJhdmVsL0RFLm1hcC9zbXA0LnNtcCIvPgorICAgICAgICAgICAgICAgICAgICAgICAgPG1hcCB0eXBlPSJtZyIgZW5hYmxlZD0ieWVzIiBkYXRhPSIvb3B0L3JlaXNlcGxhbmVyL3RyYXZlbC9ERS5tYXAvc21wNS5zbXAiLz4KKyAgICAgICAgICAgICAgICA8L21hcHNldD4KKworICAgICAgICAgICAgICAgIDwhLS0gSWYgeW91IGRvbnQgd2FudCB0byB1c2UgdGhlIHNhbXBsZSBtYXAsIGVpdGhlciBzZXQgZW5hYmxlZD0ibm8iIGluIHRoZSBuZXh0IGxpbmUgb3IgcmVtb3ZlIHRoZSB4bWwgZmlsZSBmcm9tIHRoZSBtYXBzIGRpcmVjdG9yeSAtLT4KKyAgICAgICAgICAgICAgICA8bWFwc2V0IGVuYWJsZWQ9Im5vIj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx4aTppbmNsdWRlIGhyZWY9IiROQVZJVF9TSEFSRURJUi9tYXBzLyoueG1sIi8+CisgICAgICAgICAgICAgICAgPC9tYXBzZXQ+CisKKyAgICAgICAgICAgICAgICA8IS0tIE1hcHNldCB0ZW1wbGF0ZSBmb3Igb3BlbnN0cmVldG1hcHMgLS0+CisgICAgICAgICAgICAgICAgPG1hcHNldCBlbmFibGVkPSJ5ZXMiPgorICAgICAgICAgICAgICAgICAgICAgICAgPG1hcCB0eXBlPSJiaW5maWxlIiBlbmFibGVkPSJ5ZXMiIGRhdGE9Ii9tZWRpYS9tbWMyL01hcHNOYXZpdC9vc21fZXVyb3BlLmJpbiIvPgorICAgICAgICAgICAgICAgIDwvbWFwc2V0PgorCisgICAgICAgICAgICAgICAgPCEtLSBNYXBzZXQgdGVtcGxhdGUgZm9yIGdhcm1pbiBtYXBzIC0tPgorICAgICAgICAgICAgICAgIDxtYXBzZXQgZW5hYmxlZD0ibm8iPgorICAgICAgICAgICAgICAgICAgICAgICAgPG1hcCB0eXBlPSJnYXJtaW4iIGVuYWJsZWQ9InllcyIgZGF0YT0iL3BhdGgvdG8vaW1nIiBkZWJ1Zz0iNCIvPgorICAgICAgICAgICAgICAgIDwvbWFwc2V0PgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9uYXZpdC9uYXZpdC9uYXZpdC54bWwgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL25hdml0L25hdml0L25hdml0LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41OGM4YzIyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9uYXZpdC9uYXZpdC9uYXZpdC54bWwKQEAgLTAsMCArMSw0NSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhRE9DVFlQRSBjb25maWcgU1lTVEVNICJuYXZpdC5kdGQiPgorPGNvbmZpZyB4bWxuczp4aT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YSW5jbHVkZSI+CisJPHhpOmluY2x1ZGUgaHJlZj0iL3Vzci9zaGFyZS9uYXZpdC9wbHVnaW5zLnhtbCIvPgorCTx4aTppbmNsdWRlIGhyZWY9Ii91c3Ivc2hhcmUvbmF2aXQvbmF2aXQuZGVmYXVsdC54bWwiIHhwb2ludGVyPSJ4cG9pbnRlcigvY29uZmlnL2RlYnVnKSIvPgorCisJPG5hdml0IGNlbnRlcj0iNDgwOCBOIDExMzQgRSIgem9vbT0iMjU2IiB0cmFja2luZz0iMSIgb3JpZW50YXRpb249Ii0xIiByZWNlbnRfZGVzdD0iMTAiIGRyYWdfYml0bWFwPSIxIj4KKwkJPGdyYXBoaWNzIHR5cGU9Imd0a19kcmF3aW5nX2FyZWEiLz4KKwkJPGd1aSB0eXBlPSJndGsiIGVuYWJsZWQ9Im5vIiBtZW51YmFyPSIxIiB0b29sYmFyPSIxIiBzdGF0dXNiYXI9IjEiLz4KKwkJPHhpOmluY2x1ZGUgaHJlZj0iL3Vzci9zaGFyZS9uYXZpdC9uYXZpdC5kZWZhdWx0LnhtbCIgeHBvaW50ZXI9Inhwb2ludGVyKC9jb25maWcvbmF2aXQvZ3VpW0B0eXBlPSdpbnRlcm5hbCddKSIvPgorCQk8IS0tIG9yIGNvbW1lbnQgZ3RrIHZlcnNpb24gYWJvdmUgYW5kIHRyeToKKwkJb3BrZyBpbnN0YWxsIG5hdml0LWdyYXBoaWNzLXF0CisJCW9wa2cgaW5zdGFsbCBuYXZpdC1ndWktcW1sCisJCTxncmFwaGljcyB0eXBlPSJxdF9xcGFpbnRlciIvPgorCQk8Z3VpIHR5cGU9InFtbCIgZW5hYmxlZD0ieWVzIiBtZW51YmFyPSIxIiB0b29sYmFyPSIxIiBzdGF0dXNiYXI9IjEiLz4KKwkJLS0+CisJCTx4aTppbmNsdWRlIGhyZWY9Ii91c3Ivc2hhcmUvbmF2aXQvb3NkLnhtbCIvPgorCQk8bG9nIGVuYWJsZWQ9Im5vIiB0eXBlPSJ0ZXh0ZmlsZV9kZWJ1ZyIgZGF0YT0iZGVidWdfJVklbSVkLSVpLnR4dCIgZmx1c2hfc2l6ZT0iMTAwMCIgZmx1c2hfdGltZT0iMzAiLz4KKwkJPHZlaGljbGUgbmFtZT0iTG9jYWwgR1BTIiBwcm9maWxlbmFtZT0iY2FyIiBlbmFibGVkPSJ5ZXMiIGFjdGl2ZT0iMSIgc291cmNlPSJncHNkOi8vbG9jYWxob3N0IiBncHNkX3F1ZXJ5PSJ3K3hqIj4KKwkJCTwhLS0gPGxvZyB0eXBlPSJncHgiIGF0dHJfdHlwZXM9InBvc2l0aW9uX3RpbWVfaXNvODYwMSxwb3NpdGlvbl9kaXJlY3Rpb24scG9zaXRpb25fc3BlZWQscHJvZmlsZW5hbWUscG9zaXRpb25fcmFkaXVzIiBkYXRhPSJ0cmFja18lWSVtJWQtJWkuZ3B4IiBmbHVzaF9zaXplPSIxMDAwIiBmbHVzaF90aW1lPSIzMCIvPiAtLT4KKwkJPC92ZWhpY2xlPgorCisJCTx2ZWhpY2xlIG5hbWU9IkRlbW8iIHByb2ZpbGVuYW1lPSJjYXIiIGVuYWJsZWQ9Im5vIiBhY3RpdmU9InllcyIgc291cmNlPSJkZW1vOi8vIi8+CisKKwkJPCEtLSBGb3IgdGhlIGN1bXVsYXRpdmUgZGlzcGxhY2VtZW50IGZpbHRlciB0byBiZSBlbmFibGVkLCBzZXQgY2RmX2hpc3RzaXplPSJ4IiBoZXJlLCB3aXRoIHggYmVpbmcgYW4gaW50ZWdlciBzb21ld2hlcmUgYXJvdW5kIDQgLS0+CisJCTx0cmFja2luZyBjZGZfaGlzdHNpemU9IjAiLz4KKworCQk8eGk6aW5jbHVkZSBocmVmPSIvdXNyL3NoYXJlL25hdml0L25hdml0LmRlZmF1bHQueG1sIiB4cG9pbnRlcj0ieHBvaW50ZXIoL2NvbmZpZy9uYXZpdC92ZWhpY2xlcHJvZmlsZVtAbmFtZT0nY2FyJ10pIi8+CisJCTx4aTppbmNsdWRlIGhyZWY9Ii91c3Ivc2hhcmUvbmF2aXQvbmF2aXQuZGVmYXVsdC54bWwiIHhwb2ludGVyPSJ4cG9pbnRlcigvY29uZmlnL25hdml0L3ZlaGljbGVwcm9maWxlW0BuYW1lPSdiaWtlJ10pIi8+CisJCTx4aTppbmNsdWRlIGhyZWY9Ii91c3Ivc2hhcmUvbmF2aXQvbmF2aXQuZGVmYXVsdC54bWwiIHhwb2ludGVyPSJ4cG9pbnRlcigvY29uZmlnL25hdml0L3ZlaGljbGVwcm9maWxlW0BuYW1lPSdwZWRlc3RyaWFuJ10pIi8+CisJCTx4aTppbmNsdWRlIGhyZWY9Ii91c3Ivc2hhcmUvbmF2aXQvbmF2aXQuZGVmYXVsdC54bWwiIHhwb2ludGVyPSJ4cG9pbnRlcigvY29uZmlnL25hdml0L3ZlaGljbGVwcm9maWxlW0BuYW1lPSdob3JzZSddKSIvPgorCisJCTxyb3V0ZSBkZXN0aW5hdGlvbl9kaXN0YW5jZT0iNTAiLz4KKworCQk8eGk6aW5jbHVkZSBocmVmPSIvdXNyL3NoYXJlL25hdml0L25hdml0LmRlZmF1bHQueG1sIiB4cG9pbnRlcj0ieHBvaW50ZXIoL2NvbmZpZy9uYXZpdC9uYXZpZ2F0aW9uKSIvPgorCisJCTx4aTppbmNsdWRlIGhyZWY9Ii91c3Ivc2hhcmUvbmF2aXQvc3BlZWNoLnhtbCIvPgorCQk8eGk6aW5jbHVkZSBocmVmPSIvdXNyL3NoYXJlL25hdml0L21hcHMueG1sIi8+CisKKwkJPHhpOmluY2x1ZGUgaHJlZj0iL3Vzci9zaGFyZS9uYXZpdC9uYXZpdC5kZWZhdWx0LnhtbCIgeHBvaW50ZXI9Inhwb2ludGVyKC9jb25maWcvbmF2aXQvbGF5b3V0W0BuYW1lPSdDYXInXSkiLz4KKwkJPHhpOmluY2x1ZGUgaHJlZj0iL3Vzci9zaGFyZS9uYXZpdC9uYXZpdC5kZWZhdWx0LnhtbCIgeHBvaW50ZXI9Inhwb2ludGVyKC9jb25maWcvbmF2aXQvbGF5b3V0W0BuYW1lPSdDYXItZGFyayddKSIvPgorCQk8eGk6aW5jbHVkZSBocmVmPSIvdXNyL3NoYXJlL25hdml0L25hdml0LmRlZmF1bHQueG1sIiB4cG9pbnRlcj0ieHBvaW50ZXIoL2NvbmZpZy9uYXZpdC9sYXlvdXRbQG5hbWU9J0Jpa2UnXSkiLz4KKwkJPHhpOmluY2x1ZGUgaHJlZj0iL3Vzci9zaGFyZS9uYXZpdC9uYXZpdC5kZWZhdWx0LnhtbCIgeHBvaW50ZXI9Inhwb2ludGVyKC9jb25maWcvbmF2aXQvbGF5b3V0W0BuYW1lPSdUQEgnXSkiLz4KKwk8L25hdml0PgorPC9jb25maWc+CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL25hdml0L25hdml0L29zZC54bWwgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL25hdml0L25hdml0L29zZC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmQwZjlmZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vbmF2aXQvbmF2aXQvb3NkLnhtbApAQCAtMCwwICsxLDE1IEBACisgICAgICAgICAgICAgICAgPCEtLSBvc2QgaXRlbXMgYWxsb3cgdG8gcG9zaXRpb24gZGlzcGxheSBhbmQgY29udHJvbCBpdGVtcyBkaXJlY3RseSBvbiB0b3Agb2YgdGhlIG1hcDogLS0+CisgICAgICAgICAgICAgICAgPG9zZCBlbmFibGVkPSJubyIgdHlwZT0iY29tcGFzcyIvPgorICAgICAgICAgICAgICAgIDxvc2QgZW5hYmxlZD0ibm8iIHR5cGU9ImV0YSIvPgorICAgICAgICAgICAgICAgIDxvc2QgZW5hYmxlZD0ibm8iIHR5cGU9Im5hdmlnYXRpb25fZGlzdGFuY2VfdG9fdGFyZ2V0Ii8+CisgICAgICAgICAgICAgICAgPG9zZCBlbmFibGVkPSJubyIgdHlwZT0ibmF2aWdhdGlvbiIvPgorICAgICAgICAgICAgICAgIDxvc2QgZW5hYmxlZD0ibm8iIHR5cGU9Im5hdmlnYXRpb25fZGlzdGFuY2VfdG9fbmV4dCIvPgorICAgICAgICAgICAgICAgIDxvc2QgZW5hYmxlZD0ibm8iIHR5cGU9Im5hdmlnYXRpb25fbmV4dF90dXJuIi8+CisKKyAgICAgICAgICAgICAgICA8IS0tIENvbW1hbmRzIGluY2x1ZGUgZ3VpX2ludGVybmFsX21lbnUsIGd1aV9pbnRlcm5hbF9mdWxsc2NyZWVuLCB6b29tX2luIGFuZCB6b29tX291dC4KKyAgICAgICAgICAgICAgICAgICAgICAgICBVc2FnZSBvZiBuZWdhdGl2ZSB2YWx1ZXMgY2hhbmdlIHRoZSBidXR0b24gb3JpZ2lucy4geD0iMCIgeT0iMCIgc3BlY2lmaWVzIHRoZSB0b3AgbGVmdCwgeD0iLTAiIHk9Ii0wIiB0aGUgYm90dG9tIHJpZ2h0IGNvcm5lci4KKyAgICAgICAgICAgICAgICAgICAgICAgICBJdCdzIGFsd2F5cyB0aGUgdG9wIGxlZnQgY29ybmVyIG9mIHRoZSBpY29uLCBzbyB5b3UgbmVlZCB0byBjb25zaWRlciB0aGUgaWNvbidzIHNpemUgd2hlbiB5b3UgZW50ZXIgdGhlIHZhbHVlcy4gLS0+CisgICAgICAgICAgICAgICAgPG9zZCBlbmFibGVkPSJubyIgdHlwZT0iYnV0dG9uIiB4PSIwIiB5PSIwIiBjb21tYW5kPSJndWkuZnVsbHNjcmVlbigpIiBzcmM9InRvZ2dsZV9mdWxsc2NyZWVuLnhwbSIvPgorICAgICAgICAgICAgICAgIDxvc2QgZW5hYmxlZD0ibm8iIHR5cGU9ImJ1dHRvbiIgeD0iLTk2IiB5PSIwIiBjb21tYW5kPSJndWkubWVudSgpIiBzcmM9Im1lbnUueHBtIi8+CisgICAgICAgICAgICAgICAgPG9zZCBlbmFibGVkPSJubyIgdHlwZT0iYnV0dG9uIiB4PSItOTYiIHk9Ii05NiIgY29tbWFuZD0iem9vbV9pbigpIiBzcmM9Inpvb21faW4ueHBtIi8+CisgICAgICAgICAgICAgICAgPG9zZCBlbmFibGVkPSJubyIgdHlwZT0iYnV0dG9uIiB4PSIwIiB5PSItOTYiIGNvbW1hbmQ9Inpvb21fb3V0KCkiIHNyYz0iem9vbV9vdXQueHBtIi8+CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL25hdml0L25hdml0L3BsdWdpbnMueG1sIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9uYXZpdC9uYXZpdC9wbHVnaW5zLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMTViMDU1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9uYXZpdC9uYXZpdC9wbHVnaW5zLnhtbApAQCAtMCwwICsxLDYgQEAKKzxwbHVnaW5zPgorCTxwbHVnaW4gcGF0aD0iJE5BVklUX0xJQkRJUi8qLyR7TkFWSVRfTElCUFJFRklYfWxpYiouc28iIG9uZGVtYW5kPSJ5ZXMiLz4KKwk8cGx1Z2luIHBhdGg9IiROQVZJVF9MSUJESVIvYXV0b2xvYWQvJHtOQVZJVF9MSUJQUkVGSVh9bGliKi5zbyIvPgorCTxwbHVnaW4gcGF0aD0iJE5BVklUX0xJQkRJUi8qLyR7TkFWSVRfTElCUFJFRklYfWxpYmJpbmRpbmdfZGJ1cy5zbyIgYWN0aXZlPSJ5ZXMiLz4KKwk8cGx1Z2luIHBhdGg9IiROQVZJVF9MSUJESVIvKi8ke05BVklUX0xJQlBSRUZJWH1saWJncmFwaGljc19udWxsLnNvIiBhY3RpdmU9Im5vIi8+Cis8L3BsdWdpbnM+CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL25hdml0L25hdml0L3NwZWVjaC54bWwgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL25hdml0L25hdml0L3NwZWVjaC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjhjNDk5MAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vbmF2aXQvbmF2aXQvc3BlZWNoLnhtbApAQCAtMCwwICsxLDggQEAKKyAgICAgICAgICAgICAgICA8IS0tIE5hdml0IHByb3ZpZGVzIHNwZWVjaCBvdXRwdXQgaW4gdGV4dCBmb3JtYXQuCisgICAgICAgICAgICAgICAgICAgICAgICAgSWYgeW91IGhhdmUgYSBzcGVlY2ggc3ludGhlc2l6ZXIgbGlrZSBmZXN0aXZhbCBsaXRlIGluc3RhbGxlZCwgeW91IGNhbiBnZXQgdHVybiBieSB0dXJuIGRpcmVjdGlvbnMgb3V0IG9mIG5hdml0LiBQbGVhc2Ugc2V0IHRoZSAiY3BzIi12YWx1ZSB0byBob3cgbWFueSBjaGFyYWN0ZXJzIHlvdXIgdHRzIGVuZ2luZSBhcHByb3hpbWF0ZWx5IHNwZWFrcyBwZXIgc2Vjb25kLgorICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBkZWZhdWx0IGlzIHRleHQgb3V0cHV0IHRvIHRoZSBzaGVsbCAtLT4KKyAgICAgICAgICAgICAgICA8IS0tIDxzcGVlY2ggdHlwZT0iY21kbGluZSIgZGF0YT0iZWNobyAnRml4IHRoZSBzcGVlY2ggdGFnIGluIG5hdml0LnhtbCB0byBsZXQgbmF2aXQgc2F5OicgJyVzJyIgY3BzPSIxNSIvPiAtLT4KKyAgICAgICAgICAgICAgICA8IS0tIDxzcGVlY2ggdHlwZT0iY21kbGluZSIgZGF0YT0iZXNwZWFrIC1zIDE1MCAtdiBjemVjaCAnJXMnICZhbXA7Ii8+IC0tPgorICAgICAgICAgICAgICAgIDwhLS0gPHNwZWVjaCB0eXBlPSJjbWRsaW5lIiBkYXRhPSJmbGl0ZSAtdCAnJXMnIi8+IC0tPgorICAgICAgICAgICAgICAgIDwhLS0gPHNwZWVjaCB0eXBlPSJjbWRsaW5lIiBkYXRhPSIvdXNyL2xvY2FsL2Jpbi9zYXkuc2ggJyVzJyIvPiAtLT4KKyAgICAgICAgICAgICAgICA8c3BlZWNoIHR5cGU9ImNtZGxpbmUiIGRhdGE9ImVzcGVhayAnJXMnICZhbXA7Ii8+CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL25hdml0L25hdml0X3N2bi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vbmF2aXQvbmF2aXRfc3ZuLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJkZmJiNGIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL25hdml0L25hdml0X3N2bi5iYgpAQCAtMCwwICsxLDExIEBACityZXF1aXJlIG5hdml0LmluYworCitTUkNSRVYgPSAiNTMxMCIKK1BWID0gIjAuMi4wK3N2bnIke1NSQ1BWfSIKK1BSID0gIiR7SU5DX1BSfS4zIgorCitTID0gIiR7V09SS0RJUn0vJHtCUE59IgorU1JDX1VSSSArPSAic3ZuOi8vYW5vbnltb3VzQG5hdml0LnN2bi5zb3VyY2Vmb3JnZS5uZXQvc3Zucm9vdC9uYXZpdC90cnVuazttb2R1bGU9bmF2aXQ7cHJvdG9jb2w9aHR0cCBcCisgICAgZmlsZTovL2ZyZWV0eXBlLWluY2x1ZGUtcGF0aC5wYXRjaCBcCisgICAgZmlsZTovL2NvbmZpZ3VyZS5hZGQuaW1saWIyLm9wdGlvbi5wYXRjaCBcCisiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL29ycmVyeS9vcnJlcnkvb3JyZXJ5LnBuZyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vb3JyZXJ5L29ycmVyeS9vcnJlcnkucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ5ODY1YjcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL29ycmVyeS9vcnJlcnkvb3JyZXJ5LnBuZwpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL29ycmVyeS9vcnJlcnkvdXNlLkdka1BpeGJ1Zi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vb3JyZXJ5L29ycmVyeS91c2UuR2RrUGl4YnVmLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkyZDE5NGQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL29ycmVyeS9vcnJlcnkvdXNlLkdka1BpeGJ1Zi5wYXRjaApAQCAtMCwwICsxLDU5IEBACitGcm9tOiBCZW5qYW1pbiBEZWVyaW5nCitTdWJqZWN0OiBvcnJlcnkgY3Jhc2hpbmcgWAorRGF0ZTogVGh1cnNkYXksIFNlcHRlbWJlciAyLCAyMDEwIC0gNToyNSBwbQorTGluazogaHR0cDovL2tlcm5lbHRyYXAub3JnL21haWxhcmNoaXZlL29wZW5tb2tvLWNvbW11bml0eS8yMDEwLzkvMy8xMzIxOAorCitkaWZmIC11TnIgb3JyZXJ5Lm9yaWcvL29ycmVyeS5jIG9ycmVyeS9vcnJlcnkuYworLS0tIG9ycmVyeS5vcmlnLy9vcnJlcnkuYwkyMDA5LTExLTMwIDA2OjU5OjQ0LjAwMDAwMDAwMCArMDEwMAorKysrIG9ycmVyeS9vcnJlcnkuYwkyMDEwLTExLTE1IDIyOjMzOjE3LjAwMDAwMDAwMCArMDEwMAorQEAgLTEyMzgsMTIgKzEyMzgsNDQgQEAKKyAgICAgfQorICAgICBjdXJyZW50RW50cnkgPSBjdXJyZW50RW50cnktPmZvcndhcmRQb2ludGVyOworICAgfQorLSAgaWYgKG5EYXJrR3JleVBvaW50cyA+IDApCistICAgIGdka19kcmF3X3BvaW50cyhwaXhtYXAsIGRhcmtHcmV5R0MsIGRhcmtHcmV5UG9pbnRzLCBuRGFya0dyZXlQb2ludHMpOworLSAgaWYgKG5HcmV5UG9pbnRzID4gMCkKKy0gICAgZ2RrX2RyYXdfcG9pbnRzKHBpeG1hcCwgZ3JleUdDLCBncmV5UG9pbnRzLCBuR3JleVBvaW50cyk7CistICBpZiAobldoaXRlUG9pbnRzID4gMCkKKy0gICAgZ2RrX2RyYXdfcG9pbnRzKHBpeG1hcCwgd2hpdGVHQywgd2hpdGVQb2ludHMsIG5XaGl0ZVBvaW50cyk7CisrICBHZGtQaXhidWYqIHN0YXJEcmF3aW5nQnVmID0gZ2RrX3BpeGJ1Zl9nZXRfZnJvbV9kcmF3YWJsZSggTlVMTCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwaXhtYXAsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2RrX2NvbG9ybWFwX2dldF9zeXN0ZW0oKQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgMCwgMCwgMCwgMCwgZGlzcGxheVdpZHRoLCBkaXNwbGF5SGVpZ2h0KTsKKysgIGdfYXNzZXJ0IChnZGtfcGl4YnVmX2dldF9iaXRzX3Blcl9zYW1wbGUgKHN0YXJEcmF3aW5nQnVmKSA9PSA4KTsKKysgIGd1Y2hhciogcDsKKysgIGludCByb3dzdHJpZGUgPSBnZGtfcGl4YnVmX2dldF9yb3dzdHJpZGUgKHN0YXJEcmF3aW5nQnVmKTsKKysgIGd1Y2hhciogcGl4ZWxzID0gZ2RrX3BpeGJ1Zl9nZXRfcGl4ZWxzIChzdGFyRHJhd2luZ0J1Zik7CisrICBpbnQgbl9jaGFubmVscyA9IGdka19waXhidWZfZ2V0X25fY2hhbm5lbHMgKHN0YXJEcmF3aW5nQnVmKTsKKysgIEdka0dDVmFsdWVzIHN0YXJHQ3ZhbDsKKysgIEdka0NvbG9yIHN0YXJDb2xvcjsKKysgIGludCBwb2ludE51bTsKKysgIGdka19nY19nZXRfdmFsdWVzKGRhcmtHcmV5R0MsICZzdGFyR0N2YWwpOworKyAgZ2RrX2NvbG9ybWFwX3F1ZXJ5X2NvbG9yKCBnZGtfZ2NfZ2V0X2NvbG9ybWFwKGRhcmtHcmV5R0MpLHN0YXJHQ3ZhbC5mb3JlZ3JvdW5kLnBpeGVsLCAmc3RhckNvbG9yICk7CisrICBmb3IoIHBvaW50TnVtID0gMDsgcG9pbnROdW0gPCBuRGFya0dyZXlQb2ludHM7IHBvaW50TnVtKyspIHsKKysgICAgcCA9IHBpeGVscyArIGRhcmtHcmV5UG9pbnRzW3BvaW50TnVtXS55ICogcm93c3RyaWRlICsgZGFya0dyZXlQb2ludHNbcG9pbnROdW1dLnggKiBuX2NoYW5uZWxzOworKyAgICBwWzBdID0gc3RhckNvbG9yLnJlZCAmIDB4ZmY7CisrICAgIHBbMV0gPSBzdGFyQ29sb3IuZ3JlZW4gJiAweGZmOworKyAgICBwWzJdID0gc3RhckNvbG9yLmJsdWUgJiAweGZmOworKyAgfQorKyAgZ2RrX2djX2dldF92YWx1ZXMoZ3JleUdDLCAmc3RhckdDdmFsKTsKKysgIGdka19jb2xvcm1hcF9xdWVyeV9jb2xvciggZ2RrX2djX2dldF9jb2xvcm1hcChncmV5R0MpLCBzdGFyR0N2YWwuZm9yZWdyb3VuZC5waXhlbCwgJnN0YXJDb2xvciApOworKyAgZm9yKCBwb2ludE51bSA9IDA7IHBvaW50TnVtIDwgbkdyZXlQb2ludHM7IHBvaW50TnVtKyspIHsKKysgICAgcCA9IHBpeGVscyArIGdyZXlQb2ludHNbcG9pbnROdW1dLnkgKiByb3dzdHJpZGUgKyBncmV5UG9pbnRzW3BvaW50TnVtXS54ICogbl9jaGFubmVsczsKKysgICAgcFswXSA9IHN0YXJDb2xvci5yZWQgJiAweGZmOworKyAgICBwWzFdID0gc3RhckNvbG9yLmdyZWVuICYgMHhmZjsKKysgICAgcFsyXSA9IHN0YXJDb2xvci5ibHVlICYgMHhmZjsKKysgIH0KKysgIGdka19nY19nZXRfdmFsdWVzKHdoaXRlR0MsICZzdGFyR0N2YWwpOworKyAgZ2RrX2NvbG9ybWFwX3F1ZXJ5X2NvbG9yKCBnZGtfZ2NfZ2V0X2NvbG9ybWFwKHdoaXRlR0MpLCBzdGFyR0N2YWwuZm9yZWdyb3VuZC5waXhlbCwgJnN0YXJDb2xvciApOworKyAgZm9yKCBwb2ludE51bSA9IDA7IHBvaW50TnVtIDwgbldoaXRlUG9pbnRzOyBwb2ludE51bSsrKSB7CisrICAgIHAgPSBwaXhlbHMgKyB3aGl0ZVBvaW50c1twb2ludE51bV0ueSAqIHJvd3N0cmlkZSArIHdoaXRlUG9pbnRzW3BvaW50TnVtXS54ICogbl9jaGFubmVsczsKKysgICAgcFswXSA9IHN0YXJDb2xvci5yZWQgJiAweGZmOworKyAgICBwWzFdID0gc3RhckNvbG9yLmdyZWVuICYgMHhmZjsKKysgICAgcFsyXSA9IHN0YXJDb2xvci5ibHVlICYgMHhmZjsKKysgIH0KKysgIGdka19kcmF3X3BpeGJ1ZiAoIHBpeG1hcCAsIE5VTEwgLCBzdGFyRHJhd2luZ0J1ZiwKKysgICAgICAgICAgICAwLCAwLCAwLCAwLCBkaXNwbGF5V2lkdGgsIGRpc3BsYXlIZWlnaHQsIEdES19SR0JfRElUSEVSX05PUk1BTCwgMCwgMCApIDsKKyB9CisgCisgdm9pZCBtYWtlVGltZVN0cmluZyhjaGFyICpzdHJpbmcpCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL29ycmVyeS9vcnJlcnlfMi43LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9vcnJlcnkvb3JyZXJ5XzIuNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MGE2ZGYzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9vcnJlcnkvb3JyZXJ5XzIuNy5iYgpAQCAtMCwwICsxLDMyIEBACitTVU1NQVJZID0gIkFzdHJvbm9taWNhbCBhcHBsaWNhdGlvbiB3aGljaCBkaXNwbGF5cyB0aGUgbmlnaHQgc2t5IgorSE9NRVBBR0UgICAgPSAiaHR0cDovL3Byb2plY3RzLm9wZW5tb2tvLm9yZy9wcm9qZWN0cy9vcnJlcnkvIgorU0VDVElPTiA9ICJ4MTEvc2NpZW50aWZpYyIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vb3JyZXJ5LmM7ZW5kbGluZT0yNTttZDU9ZDc5MmJkZjJiNTkxOTcyZGExNzVhZWNjMzhkODhjZmUiCitERVBFTkRTID0gImd0aysiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwa2djb25maWcKKworU1JDX1VSSSA9ICJodHRwOi8vcHJvamVjdHMub3Blbm1va28ub3JnL2Zycy9kb3dubG9hZC5waHAvOTIzL29ycmVyeV8yLjdfY2xlYW4udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL29ycmVyeS5wbmcgXAorICAgICAgICAgICBmaWxlOi8vdXNlLkdka1BpeGJ1Zi5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSAgICA9ICJiZDYyYTMzZTc1NTRlZTEwMzAzMTNkZmNkZWZjZGE4YiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2NDUxNjZhNWUwNWIyMDY0YWI2MzA1MzRhNTE0Njk3ZmM0N2I2ODE5NTFlN2ZlMWQ2MzVjMjU5Y2JkZjdhNWU2IgorCitTID0gIiR7V09SS0RJUn0vJHtCUE59IgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICAjIGZpeCBEU08gaXNzdWUgd2l0aCBiaW51dGlscy0yLjIyCisgICAgc2VkIC1pICdzLyAtbHJ0LyAtbHJ0IC1sbS9nJyAke1N9L01ha2VmaWxlLmFtCit9Citkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9L29ycmVyeQorICAgIGNwIC1SIC0tbm8tZGVyZWZlcmVuY2UgLS1wcmVzZXJ2ZT1tb2RlLGxpbmtzIC12ICR7U30vZGF0YS8qICR7RH0ke2RhdGFkaXJ9L29ycmVyeQorICAgIGNob3duIC1SIHJvb3Q6cm9vdCAke0R9JHtkYXRhZGlyfS9vcnJlcnkKKyAgICBpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9L2ljb25zCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vb3JyZXJ5LnBuZyAke0R9JHtkYXRhZGlyfS9pY29ucworfQorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9pY29ucy9vcnJlcnkucG5nIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9wcm9qL3Byb2pfNC44LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL3Byb2ovcHJval80LjguMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNGJmYWY0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9wcm9qL3Byb2pfNC44LjAuYmIKQEAgLTAsMCArMSwxNCBAQAorU1VNTUFSWSA9ICJQUk9KLjQgLSBDYXJ0b2dyYXBoaWMgUHJvamVjdGlvbnMgbGlicmFyeSIKK0hPTUVQQUdFID0gImh0dHA6Ly90cmFjLm9zZ2VvLm9yZy9wcm9qLyIKK1NFQ1RJT04gPSAibGlicyIKKworTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03NGQ5YWFlYzVmYTBjZDczNDM0MWU4YzRkYzkxYjYwOCIKKworU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWQub3NnZW8ub3JnL3Byb2ovcHJvai0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiZDgxNTgzOGM5MmEyOTE3OTI5OGMxMjZlZmZiYjE1MzciCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMmRiMmRiZjBmZWNlOGQ5ODgwNjc5MTU0ZTBkNmQxY2U3YzY5NGRkOGUwOGI0ZDA5MTAyODA5M2Q4N2E5ZDFiNSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGxpYl9wYWNrYWdlCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L3Byb2oiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zYXRvL2NsYXdzLW1haWwvY2xhd3MtbWFpbF8zLjkuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXNhdG8vY2xhd3MtbWFpbC9jbGF3cy1tYWlsXzMuOS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkzOGFmMmUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zYXRvL2NsYXdzLW1haWwvY2xhd3MtbWFpbF8zLjkuMC5iYgpAQCAtMCwwICsxLDU2IEBACitTRUNUSU9OID0gIngxMS9uZXR3b3JrIgorU1VNTUFSWSA9ICJNYWlsIHVzZXIgYWdlbnQiCitERVBFTkRTID0gImd0aysgbGliZXRwYW4gb3BlbnNzbCBhc3BlbGwgY3VybCBsaWJnY3J5cHQiCitMSUNFTlNFID0gIkdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZTA1OWJkZTI5NzJjMTc5MGFmNzg2ZjNlODZiYWMyMmUiCisKK1BOQkxBQ0tMSVNUW2NsYXdzLW1haWxdID89ICJkZXBlbmRzIG9uIGJsYWNrbGlzdGVkIGxpYmV0cGFuIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZ2V0dGV4dAorCisjIHRyYW5zbGF0aW9uIHBhdGNoOiBodHRwOi8vd3d3LnRoZXdpbGRiZWFzdC5jby51ay9jbGF3cy1tYWlsL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0xNzc0CitTUkNfVVJJID0gIlwKKyAgICAgICAgJHtTT1VSQ0VGT1JHRV9NSVJST1J9L3Byb2plY3QvY2xhd3MtbWFpbC9DbGF3cyUyME1haWwvJHtQVn0vY2xhd3MtbWFpbC0ke1BWfS50YXIuYnoyO25hbWU9YXJjaGl2ZSAiCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICI0YzVhYzdiMjFmMGVkMTdkMGY2NDA0MTI0YzIyMjlhNCIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gImVkNzA5NzVhNTA1NmIzZmZjNGZlNmU5NzdmMGQ5NjA2ZmViYzE0OTk3NjNjMDkwMjQxYjAyOWE3M2ZmMjRlNjUiCisKK2RvX2NvbmZpZ3VyZV9hcHBlbmQoKSB7CisgICAgY2QgJHtTfS9wbyA7IGZvciBQTyBpbiAqLnBvIDsgZG8gTU89YGVjaG8gJFBPIHwgc2VkIHMvXFwucG8vL2AuZ21vIDsgaWYgISB0ZXN0IC1mICRNTyA7IHRoZW4gbXNnZm10ICRQTyAtbyAkTU8gOyBmaSA7IGRvbmU7IGNkICR7Qn0KK30KKworUEFDS0FHRUNPTkZJRyA/Pz0gInN0YXJ0dXAtbm90aWZpY2F0aW9uIGRidXMiCitQQUNLQUdFQ09ORklHW2VuY2hhbnRdID0gIi0tZW5hYmxlLWVuY2hhbnQsLS1kaXNhYmxlLWVuY2hhbnQsZW5jaGFudCIKK1BBQ0tBR0VDT05GSUdbc3RhcnR1cC1ub3RpZmljYXRpb25dID0gIi0tZW5hYmxlLXN0YXJ0dXAtbm90aWZpY2F0aW9uLC0tZGlzYWJsZS1zdGFydHVwLW5vdGlmaWNhdGlvbixzdGFydHVwLW5vdGlmaWNhdGlvbiIKK1BBQ0tBR0VDT05GSUdbZGJ1c10gPSAiLS1lbmFibGUtZGJ1cywtLWRpc2FibGUtZGJ1cyxkYnVzIGRidXMtZ2xpYiIKK1BBQ0tBR0VDT05GSUdbbGRhcF0gPSAiLS1lbmFibGUtbGRhcCwtLWRpc2FibGUtbGRhcCxvcGVubGRhcCIKKworIyBGSVhNRTogbWFlbW8gYnVpbGRzIG1heSB3YW50IC0tZW5hYmxlLW1hZW1vCisjIEZJWE1FOiBzb21lIHBsYXRmb3JtcyBtYXkgd2FudCAtLWVuYWJsZS1nZW5lcmljLXVtcGMKK0VYVFJBX09FQ09ORiA9ICIgXAorICAgIC0tZGlzYWJsZS1tYW51YWwgXAorICAgIC0tZGlzYWJsZS1jcmFzaC1kaWFsb2cgXAorICAgIC0tZGlzYWJsZS1qcGlsb3QgXAorICAgIC0tZGlzYWJsZS10cmF5aWNvbi1wbHVnaW4gXAorICAgIC0tZGlzYWJsZS1zcGFtYXNzYXNzaW4tcGx1Z2luIFwKKyAgICAtLWRpc2FibGUtYm9nb2ZpbHRlci1wbHVnaW4gXAorICAgIC0tZGlzYWJsZS1wZ3Bjb3JlLXBsdWdpbiBcCisgICAgLS1kaXNhYmxlLXBncG1pbWUtcGx1Z2luIFwKKyAgICAtLWRpc2FibGUtcGdwaW5saW5lLXBsdWdpbiBcCisgICAgLS1kaXNhYmxlLWRpbGxvLXZpZXdlci1wbHVnaW4gXAorICAgIC0tZGlzYWJsZS12YWxncmluZCBcCisiCisKKyMgUmVtb3ZlIGVuY2hhbnQgcmVmZXJlbmNlczoKK2RvX2luc3RhbGxfcHJlcGVuZCgpIHsKKyAgICBzZWQgLWkgLWUgJ3M6JHtTVEFHSU5HX0lOQ0RJUn06JHtpbmNsdWRlZGlyfTpnO3M6JHtTVEFHSU5HX0xJQkRJUn06JHtsaWJkaXJ9OmcnIGNsYXdzLW1haWwucGMKK30KKworIyBXb3JrLWFyb3VuZCBicm9rZW4gR1BFIGljb24gbG9va3VwOgorZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgcm0gLXIgJHtEfSR7ZGF0YWRpcn0vaWNvbnMKKyAgICBpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9L3BpeG1hcHMKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9jbGF3cy1tYWlsLnBuZyAke0R9JHtkYXRhZGlyfS9waXhtYXBzLworICAgIHNlZCAtaSAncy9JY29uPVteLl0qJC8mLnBuZy8nICR7RH0ke2RhdGFkaXJ9L2FwcGxpY2F0aW9ucy9jbGF3cy1tYWlsLmRlc2t0b3AKK30KKworUlNVR0dFU1RTXyR7UE59ID0gImNsYXdzLXBsdWdpbi1ndGtodG1sMi12aWV3ZXIgY2xhd3MtcGx1Z2luLW1haWxtYm94IGNsYXdzLXBsdWdpbi1yc3N5bCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXNhdG8vY2xhd3MtbWFpbC9jbGF3cy1wbHVnaW4tZ3RraHRtbDItdmlld2VyL2NvbmZpZ3VyZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXNhdG8vY2xhd3MtbWFpbC9jbGF3cy1wbHVnaW4tZ3RraHRtbDItdmlld2VyL2NvbmZpZ3VyZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMjJhNzk2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc2F0by9jbGF3cy1tYWlsL2NsYXdzLXBsdWdpbi1ndGtodG1sMi12aWV3ZXIvY29uZmlndXJlLnBhdGNoCkBAIC0wLDAgKzEsNTIgQEAKK0luZGV4OiBndGtodG1sMl92aWV3ZXItMC4zMS9jb25maWd1cmUuYWMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBndGtodG1sMl92aWV3ZXItMC4zMS5vcmlnL2NvbmZpZ3VyZS5hYwkyMDExLTA4LTI3IDA4OjA4OjU1LjAwMDAwMDAwMCArMDAwMAorKysrIGd0a2h0bWwyX3ZpZXdlci0wLjMxL2NvbmZpZ3VyZS5hYwkyMDE0LTA3LTE4IDA3OjI4OjQyLjc2OTUxODYxOCArMDAwMAorQEAgLTEsMzMgKzEsMjcgQEAKKyBBQ19QUkVSRVEoMi42MCkKKy1BQ19JTklUKHNyYy9ndGtodG1sMl92aWV3ZXIuYykKKysKKytkbmwgcGx1Z2luIHZlcnNpb24KKyttNF9kZWZpbmUoW3BsdWdpbl9tYWpvcl92ZXJzaW9uXSxbMF0pCisrbTRfZGVmaW5lKFtwbHVnaW5fbWlub3JfdmVyc2lvbl0sWzMxXSkKKyttNF9kZWZpbmUoW3BsdWdpbl9taWNyb192ZXJzaW9uXSxbMF0pCisrbTRfZGVmaW5lKFtwbHVnaW5fdmVyc2lvbl0sIFtwbHVnaW5fbWFqb3JfdmVyc2lvbi5wbHVnaW5fbWlub3JfdmVyc2lvbi5wbHVnaW5fbWljcm9fdmVyc2lvbl0pCisrCisrQUNfSU5JVChndGtobWwyX3ZpZXdlciwgcGx1Z2luX3ZlcnNpb24pCisrQUNfQ09ORklHX1NSQ0RJUihzcmMvZ3RraHRtbDJfdmlld2VyLmMpCisgQUNfQ09ORklHX0FVWF9ESVIoY29uZmlnKQorIEFNX01BSU5UQUlORVJfTU9ERQorIAorIFBBQ0tBR0U9Z3RraHRtbDJfdmlld2VyCisgCistZG5sIHBsdWdpbiB2ZXJzaW9uCistTUFKT1JfVkVSU0lPTj0wCistTUlOT1JfVkVSU0lPTj0zMQorLU1JQ1JPX1ZFUlNJT049MAorK01BSk9SX1ZFUlNJT049cGx1Z2luX21ham9yX3ZlcnNpb24KKytNSU5PUl9WRVJTSU9OPXBsdWdpbl9taW5vcl92ZXJzaW9uCisrTUlDUk9fVkVSU0lPTj1wbHVnaW5fbWljcm9fdmVyc2lvbgorIEVYVFJBX1ZFUlNJT049MAorLQorLWlmIHRlc3QgXCggJEVYVFJBX1ZFUlNJT04gLWVxIDAgXCk7IHRoZW4KKy0gICAgaWYgdGVzdCBcKCAkTUlDUk9fVkVSU0lPTiAtZXEgMCBcKTsgdGhlbgorLSAgICAgICAgVkVSU0lPTj0ke01BSk9SX1ZFUlNJT059LiR7TUlOT1JfVkVSU0lPTn0gCistICAgIGVsc2UKKy0JCVZFUlNJT049JHtNQUpPUl9WRVJTSU9OfS4ke01JTk9SX1ZFUlNJT059LiR7TUlDUk9fVkVSU0lPTn0KKy0gICAgZmkKKy1lbHNlCistICAgIGlmIHRlc3QgXCggJE1JQ1JPX1ZFUlNJT04gLWVxIDAgXCk7IHRoZW4KKy0gICAgICAgIFZFUlNJT049JHtNQUpPUl9WRVJTSU9OfS4ke01JTk9SX1ZFUlNJT059Y3ZzJHtFWFRSQV9WRVJTSU9OfQorLSAgICBlbHNlCistCQlWRVJTSU9OPSR7TUFKT1JfVkVSU0lPTn0uJHtNSU5PUl9WRVJTSU9OfS4ke01JQ1JPX1ZFUlNJT059Y3ZzJHtFWFRSQV9WRVJTSU9OfQorLSAgICBmaQorLWZpCisrVkVSU0lPTj1wbHVnaW5fdmVyc2lvbgorIAorIEFDX0NBTk9OSUNBTF9TWVNURU0KKyAKKy1BTV9JTklUX0FVVE9NQUtFKCRQQUNLQUdFLCAkVkVSU0lPTiwgbm8tZGVmaW5lKQorK0FNX0lOSVRfQVVUT01BS0UoW2ZvcmVpZ24gbm8tZGVmaW5lXSkKKyBBQ19DT05GSUdfSEVBREVSUyhjb25maWcuaCkKKyBBQ19ERUZJTkVfVU5RVU9URUQoUExVR0lOVkVSU0lPTiwgIiRWRVJTSU9OIiwgW3BsdWdpbiB2ZXJzaW9uXSkKKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXNhdG8vY2xhd3MtbWFpbC9jbGF3cy1wbHVnaW4tZ3RraHRtbDItdmlld2VyXzAuMzEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zYXRvL2NsYXdzLW1haWwvY2xhd3MtcGx1Z2luLWd0a2h0bWwyLXZpZXdlcl8wLjMxLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMyNTI1NzMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zYXRvL2NsYXdzLW1haWwvY2xhd3MtcGx1Z2luLWd0a2h0bWwyLXZpZXdlcl8wLjMxLmJiCkBAIC0wLDAgKzEsMjQgQEAKK1NFQ1RJT04gPSAieDExL25ldHdvcmsiCitTVU1NQVJZID0gIk1haWwgdXNlciBhZ2VudCBwbHVnaW5zIgorREVQRU5EUyA9ICJjbGF3cy1tYWlsIGd0a2h0bWwyIGN1cmwiCitMSUNFTlNFID0gIkdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTc3ZjA0YTgwNDhjMDQ2ODRlNTIxYzA2ZTI4NDRhOTQiCisKK1BOQkxBQ0tMSVNUW2NsYXdzLXBsdWdpbi1ndGtodG1sMi12aWV3ZXJdID89ICJkZXBlbmRzIG9uIGJsYWNrbGlzdGVkIGNsYXdzLW1haWwiCisKK1BSID0gInIxIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cuY2xhd3MtbWFpbC5vcmcvZG93bmxvYWRzL3BsdWdpbnNfb2Jzb2xldGUvZ3RraHRtbDJfdmlld2VyLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9jb25maWd1cmUucGF0Y2giCitTUkNfVVJJW21kNXN1bV0gPSAiYTZjOWRmYTZmOTY5Y2NkODQ0Nzk2YTU3MjRiNTIxNjciCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNGQ0MWY2ZDk2MWVmYWFjMGY1MTcwNWU1MDUyYmFjNzMyYmMwYmRhZmVlMmVmMjA4MmE5Y2Y5ZDg5ZjE4M2FlNSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGdldHRleHQKKworUyA9ICIke1dPUktESVJ9L2d0a2h0bWwyX3ZpZXdlci0ke1BWfSIKKworRklMRVNfJHtQTn0gPSAiJHtsaWJkaXJ9L2NsYXdzLW1haWwvcGx1Z2lucy8qLnNvIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vY2xhd3MtbWFpbC9wbHVnaW5zLy5kZWJ1ZyIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L2NsYXdzLW1haWwvcGx1Z2lucy8qLmxhIgorRklMRVNfJHtQTn0tc3RhdGljZGV2ID0gIiR7bGliZGlyfS9jbGF3cy1tYWlsL3BsdWdpbnMvKi5hIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zYXRvL2NsYXdzLW1haWwvY2xhd3MtcGx1Z2luLW1haWxtYm94XzEuMTUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zYXRvL2NsYXdzLW1haWwvY2xhd3MtcGx1Z2luLW1haWxtYm94XzEuMTUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjEzMjE3NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXNhdG8vY2xhd3MtbWFpbC9jbGF3cy1wbHVnaW4tbWFpbG1ib3hfMS4xNS5iYgpAQCAtMCwwICsxLDIwIEBACitTRUNUSU9OID0gIngxMS9uZXR3b3JrIgorU1VNTUFSWSA9ICJNYWlsIHVzZXIgYWdlbnQgcGx1Z2lucyIKK0RFUEVORFMgPSAiY2xhd3MtbWFpbCIKK0xJQ0VOU0UgPSAiR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKKworUE5CTEFDS0xJU1RbY2xhd3MtcGx1Z2luLW1haWxtYm94XSA/PSAiZGVwZW5kcyBvbiBibGFja2xpc3RlZCBjbGF3cy1tYWlsIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cuY2xhd3MtbWFpbC5vcmcvZG93bmxvYWRzL3BsdWdpbnNfb2Jzb2xldGUvbWFpbG1ib3gtJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjdmNzJjNjhlNmUxYTg3NjhmMTI0N2Y0NTVmZDIwYjYyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjYzM2Y3ODM1MjYxYzg4YTBhYTA2ZGUzODU1M2FjOTM1YTE3OTlhNzEyODEyMDk2M2E3ZmE4N2FjZTAxZGFjMTgiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitTID0gIiR7V09SS0RJUn0vbWFpbG1ib3gtJHtQVn0iCisKK0ZJTEVTXyR7UE59ID0gIiR7bGliZGlyfS9jbGF3cy1tYWlsL3BsdWdpbnMvKi5zbyIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2NsYXdzLW1haWwvcGx1Z2lucy8uZGVidWciCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9jbGF3cy1tYWlsL3BsdWdpbnMvKi5sYSIKK0ZJTEVTXyR7UE59LXN0YXRpY2RldiA9ICIke2xpYmRpcn0vY2xhd3MtbWFpbC9wbHVnaW5zLyouYSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXNhdG8vY2xhd3MtbWFpbC9jbGF3cy1wbHVnaW4tcnNzeWwvY29uZmlndXJlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc2F0by9jbGF3cy1tYWlsL2NsYXdzLXBsdWdpbi1yc3N5bC9jb25maWd1cmUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTdhMzhmMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXNhdG8vY2xhd3MtbWFpbC9jbGF3cy1wbHVnaW4tcnNzeWwvY29uZmlndXJlLnBhdGNoCkBAIC0wLDAgKzEsNTMgQEAKK0luZGV4OiByc3N5bC0wLjM0L2NvbmZpZ3VyZS5hYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHJzc3lsLTAuMzQub3JpZy9jb25maWd1cmUuYWMJMjAxNC0wNy0xOCAwNzozNzoyOC45ODE1MzI5NTkgKzAwMDAKKysrKyByc3N5bC0wLjM0L2NvbmZpZ3VyZS5hYwkyMDE0LTA3LTE4IDA3OjM5OjQ1Ljg4MTUzNjY5MCArMDAwMAorQEAgLTEsNSArMSwxMyBAQAorKworK2RubCBwbHVnaW4gdmVyc2lvbgorK200X2RlZmluZShbcGx1Z2luX21ham9yX3ZlcnNpb25dLFswXSkKKyttNF9kZWZpbmUoW3BsdWdpbl9taW5vcl92ZXJzaW9uXSxbMzRdKQorK200X2RlZmluZShbcGx1Z2luX21pY3JvX3ZlcnNpb25dLFswXSkKKyttNF9kZWZpbmUoW3BsdWdpbl92ZXJzaW9uXSwgW3BsdWdpbl9tYWpvcl92ZXJzaW9uLnBsdWdpbl9taW5vcl92ZXJzaW9uLnBsdWdpbl9taWNyb192ZXJzaW9uXSkKKysKKyBBQ19QUkVSRVEoMi42MCkKKy1BQ19JTklUKHNyYy9wbHVnaW4uYykKKytBQ19JTklUKHJzc3lsLCBwbHVnaW5fdmVyc2lvbikKKytBQ19DT05GSUdfU1JDRElSKHNyYy9wbHVnaW4uYykKKyBBQ19DT05GSUdfQVVYX0RJUihjb25maWcpCisgQU1fTUFJTlRBSU5FUl9NT0RFCisgQUNfQ09ORklHX0hFQURFUlMoY29uZmlnLmgpCitAQCAtNywyOCArMTUsMTUgQEAKKyBQQUNLQUdFPXJzc3lsCisgCisgZG5sIHBsdWdpbiB2ZXJzaW9uCistTUFKT1JfVkVSU0lPTj0wCistTUlOT1JfVkVSU0lPTj0zNAorLU1JQ1JPX1ZFUlNJT049MAorK01BSk9SX1ZFUlNJT049cGx1Z2luX21ham9yX3ZlcnNpb24KKytNSU5PUl9WRVJTSU9OPXBsdWdpbl9taW5vcl92ZXJzaW9uCisrTUlDUk9fVkVSU0lPTj1wbHVnaW5fbWljcm9fdmVyc2lvbgorIEVYVFJBX1ZFUlNJT049MAorLQorLWlmIHRlc3QgXCggJEVYVFJBX1ZFUlNJT04gLWVxIDAgXCk7IHRoZW4KKy0gICAgaWYgdGVzdCBcKCAkTUlDUk9fVkVSU0lPTiAtZXEgMCBcKTsgdGhlbgorLSAgICAgICAgVkVSU0lPTj0ke01BSk9SX1ZFUlNJT059LiR7TUlOT1JfVkVSU0lPTn0gCistICAgIGVsc2UKKy0JCVZFUlNJT049JHtNQUpPUl9WRVJTSU9OfS4ke01JTk9SX1ZFUlNJT059LiR7TUlDUk9fVkVSU0lPTn0KKy0gICAgZmkKKy1lbHNlCistICAgIGlmIHRlc3QgXCggJE1JQ1JPX1ZFUlNJT04gLWVxIDAgXCk7IHRoZW4KKy0gICAgICAgIFZFUlNJT049JHtNQUpPUl9WRVJTSU9OfS4ke01JTk9SX1ZFUlNJT059Y3ZzJHtFWFRSQV9WRVJTSU9OfQorLSAgICBlbHNlCistCQlWRVJTSU9OPSR7TUFKT1JfVkVSU0lPTn0uJHtNSU5PUl9WRVJTSU9OfS4ke01JQ1JPX1ZFUlNJT059Y3ZzJHtFWFRSQV9WRVJTSU9OfQorLSAgICBmaQorLWZpCisrVkVSU0lPTj1wbHVnaW5fdmVyc2lvbgorIAorIEFDX0NBTk9OSUNBTF9TWVNURU0KKyAKKy1BTV9JTklUX0FVVE9NQUtFKCRQQUNLQUdFLCAkVkVSU0lPTiwgbm8tZGVmaW5lKQorK0FNX0lOSVRfQVVUT01BS0UoW2ZvcmVpZ24gbm8tZGVmaW5lXSkKKyBBQ19ERUZJTkVfVU5RVU9URUQoUExVR0lOVkVSU0lPTiwgIiRWRVJTSU9OIiwgW3BsdWdpbiB2ZXJzaW9uXSkKKyAKKyBBQ19QUk9HX0NDCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zYXRvL2NsYXdzLW1haWwvY2xhd3MtcGx1Z2luLXJzc3lsXzAuMzQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zYXRvL2NsYXdzLW1haWwvY2xhd3MtcGx1Z2luLXJzc3lsXzAuMzQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2RhNDYwYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXNhdG8vY2xhd3MtbWFpbC9jbGF3cy1wbHVnaW4tcnNzeWxfMC4zNC5iYgpAQCAtMCwwICsxLDIwIEBACitTRUNUSU9OID0gIngxMS9uZXR3b3JrIgorU1VNTUFSWSA9ICJNYWlsIHVzZXIgYWdlbnQgcGx1Z2lucyIKK0RFUEVORFMgPSAiY2xhd3MtbWFpbCBsaWJ4bWwyIGN1cmwgZ2xpYi0yLjAgZ3RrKyIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0wYzIzNDhlMGEwODRlNTczZjAyMjBmNWU0NWQ4MDk3ZSIKKworUE5CTEFDS0xJU1RbY2xhd3MtcGx1Z2luLXJzc3lsXSA/PSAiZGVwZW5kcyBvbiBibGFja2xpc3RlZCBjbGF3cy1tYWlsIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cuY2xhd3MtbWFpbC5vcmcvZG93bmxvYWRzL3BsdWdpbnNfb2Jzb2xldGUvcnNzeWwtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL2NvbmZpZ3VyZS5wYXRjaCIKK1NSQ19VUklbbWQ1c3VtXSA9ICI0OWI0NTYwOGU4ZDE2MGIzNjI1ZDNkNTAwMTZlYzJjYSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyZTk2YTFjZDZhMWE1YmI3Zjg2Y2QyZWI0OGY2ZTE3NDY2NTk1N2ZhZmUxZjNiMWU4MzYxYWFjM2JiOTY3Zjc5IgoraW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGdldHRleHQKKworUyA9ICIke1dPUktESVJ9L3Jzc3lsLSR7UFZ9IgorCitGSUxFU18ke1BOfSA9ICIke2xpYmRpcn0vY2xhd3MtbWFpbC9wbHVnaW5zLyouc28iCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9jbGF3cy1tYWlsL3BsdWdpbnMvLmRlYnVnIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vY2xhd3MtbWFpbC9wbHVnaW5zLyoubGEiCitGSUxFU18ke1BOfS1zdGF0aWNkZXYgPSAiJHtsaWJkaXJ9L2NsYXdzLW1haWwvcGx1Z2lucy8qLmEiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zYXRvL2NsYXdzLW1haWwvc3lscGhlZWQvZ2xpYi0yLjMyLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc2F0by9jbGF3cy1tYWlsL3N5bHBoZWVkL2dsaWItMi4zMi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNTIwZTU3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc2F0by9jbGF3cy1tYWlsL3N5bHBoZWVkL2dsaWItMi4zMi5wYXRjaApAQCAtMCwwICsxLDExIEBACistLS0gc3lscGhlZWQtMi43LjEub3JpZy9saWJzeWxwaC9kZWZzLmgJMjAwOS0wNi0xMCAwOTo1NTo0Ni4wMDAwMDAwMDAgKzAyMDAKKysrKyBzeWxwaGVlZC0yLjcuMS9saWJzeWxwaC9kZWZzLmgJMjAxMi0wNS0wNiAwODoyODoyNy41MTQ3NDYyNTYgKzAyMDAKK0BAIC0yNCw4ICsyNCw2IEBACisgIyAgaW5jbHVkZSAiY29uZmlnLmgiCisgI2VuZGlmCisgCistI2luY2x1ZGUgPGdsaWJjb25maWcuaD4KKy0KKyAjaWZkZWYgR19PU19XSU4zMgorICMgIGluY2x1ZGUgPGdsaWIvZ3dpbjMyLmg+CisgI2VuZGlmCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zYXRvL2NsYXdzLW1haWwvc3lscGhlZWRfMi43LjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zYXRvL2NsYXdzLW1haWwvc3lscGhlZWRfMi43LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzA0YjY1NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXNhdG8vY2xhd3MtbWFpbC9zeWxwaGVlZF8yLjcuMS5iYgpAQCAtMCwwICsxLDMxIEBACitTRUNUSU9OID0gIngxMS9uZXR3b3JrIgorU1VNTUFSWSA9ICJNYWlsIHVzZXIgYWdlbnQiCitERVBFTkRTID0gImd0aysgZ3BnbWUgZ251dGxzIgorTElDRU5TRSA9ICJHUEx2MiAmIExHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NDMyNWFmZDM5NmZlYmNiNjU5YzM2YjQ5NTMzMTM1ZDQgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PTJkNTAyNWQ0YWEzNDk1YmVmZWY4ZjE3MjA2YTViMGExIgorCitQUiA9ICJyMiIKKworU1JDX1VSSSA9ICJodHRwOi8vc3lscGhlZWQuc3Jhb3NzLmpwL3N5bHBoZWVkL3YyLjcvc3lscGhlZWQtJHtQVn0udGFyLmJ6MiBcCisgICAgZmlsZTovL2dsaWItMi4zMi5wYXRjaCBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiMWY0NzA1MjVjMWZiZTUzMjUzODEzYTA5NzhjMTgyMjgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOGJiNjQ1N2RiNGUyZWVhMTg3N2I0ODdkOWFjODUxMzU0NjM3MmRiOWE2YTJlNDI3MWQxMTIyOWY0YWY4NGUyMyIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vcGl4bWFwcyAke2RhdGFkaXJ9L2FwcGxpY2F0aW9ucyIKK0ZJTEVTXyR7UE59LWRvYyArPSAiJHtkYXRhZGlyfSIKKworRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1zc2wiCisKK0NGTEFHUyArPSAiLURfR05VX1NPVVJDRSIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgbWtkaXIgLXAgbTQKKyAgICBmb3IgaSBpbiAkKGZpbmQgJHtTfSAtbmFtZSAiTWFrZWZpbGUuYW0iKSA7IGRvCisgICAgICAgIHNlZCAtaSBzOictSSQoaW5jbHVkZWRpciknOjpnICRpCisgICAgZG9uZQorfQorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hbnRoeS9hbnRoeS8yY2hfdC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYW50aHkvYW50aHkvMmNoX3QucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmY5YmRiNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYW50aHkvYW50aHkvMmNoX3QucGF0Y2gKQEAgLTAsMCArMSw1MDYyIEBACitzb3VyY2U6IHNoYW1lbGVzc2x5IHN0b2xlbiBmcm9tIGRlYmlhbiA7LSkKK3B1cnBvc2U6IGFkZCBzb21lIGVudHJpZXMgcGFydGljdWxhcmx5IHVzZWZ1bCBpbiBKYXBhbmVzZSAyY2hhbm5lbCBhbm9ueW1vdXMgd2Vic2l0ZQorICAgICAgICAgKGF0IGxlYXN0IHRoYXQgaXMgbXkgdW5kZXJzdGFuZGluZyA7LSkpCisKKy0tLSBhbnRoeS01NDE0Lm9yaWcvbWthbnRoeWRpYy8yY2gudAorKysrIGFudGh5LTU0MTQvbWthbnRoeWRpYy8yY2gudAorQEAgLTAsMCArMSw1MDU1IEBACisrIyAyY2jN0bjspM5DYW5uYbfBvLC8rb3xCisrIyBIQVJVWUFNQSBTZWlnbyBoYXJ1eWFtYUB1bml4dXNlci5vcmcKKysjILjtpOqk5MnKu+ykz6SzpKakuaTZpK0gpMqkySCkpKTDpNGkpKSipOukz6S6pMqkzqTHCisrIyCktLvYxaak6KTtpLekrworKyMgu7K5zTogaHR0cDovL2ZyZWV6b25lLmtha2lrby5jb20vaml0ZW4vaW5kZXguaHRtbAorKyMgICAgICAgaHR0cDovL21lbWJlcnMudHJpcG9kLmNvLmpwL21hcnVoZXNvL2FhZGljL2luZGV4Lmh0bWwKKysjICAgICAgIGh0dHA6Ly9pc3dlYjMzLmluZm9zZWVrLmNvLmpwL2NvbXB1dGVyL2dpa29zaXRlLyAoNDAzIEZvcmJpZGRlbikKKysjICAgICAgIGh0dHA6Ly9jYW5uYWRpYy5vdWNyYy5vcmcvCisrIyAgICAgICBodHRwOi8vd3d3Lmt5b3RvLnRyYW5zLW50LmNvbS9hbnRoeS8KKysjICAgICAgIGh0dHA6Ly93d3cubWVkaWEtay5jby5qcC9qaXRlbi8KKysjILuyuc2ky6S3pMakpKTrvK298aTOx9vJ1aXppaSlu6XzpbmkrKTPpMOkraTqpLek3qS7pPOkrAorKyMgvP3Pv6S1pOykv7jspMu02KS3pMakz6XRpdal6qXDpa+lyaXhpaSl86TIsvKkt6TGzOTC6qTKpKQKKysjIKTIyL3Dx6S3pMakpKTepLkuCisrIworKyMgpLOkzrytvfGkz8y1yt2+2qTHpLmhoworKyMgCisrIyAyMDA0LzUvMTnIxworKyMKKysxpM6kpKS3pOWkpqSrpPMgI1QzNSA+PjGkzrDsvbW01gorKzGkzqSkpMOkt6TlpKakq6TzICNKTiA+PjGkzrDsvbW01gorKzGkzqSqpLWkyqTKpLik3yAjSk4gMaTOzcSkyqS4pN8KKysypMGk46TzpLukpKS3pPOk06TnpKakpKTzICNKTiAyY2jAur/AycKxoQorKzkxMaS4pLGk8yAjVDM1IDkxMbv2t+8KKyukoqG8pKahvCAjQ0ogpKKhwaSmocEKKyukoqG8pLik5SAjS0sgpaKhvKW4peUKKyukoqG8pLik5SAjVDM1IKWiobyluKXlCisrpKKhvKTrpKKhvKTrICNUMzUgUlIKKyukoqG8pO2k86TipOmk6aG8ICNKTiCloqG8pe2l86Xipeml6aG8CisrpKKkoqSkpKik0KS4pOekpqTmpKYgI0NKIKSipKK4wKSopNC+5c20CisrpKKkoqSmpKYgI0NKIKSiocGkpqHBCisrpKKkoqSspOCk5KTrpOggI0NKIKSipKKhoqWspeCk5KTrpOihoworK6SipKKkuKTlICNUMzUgpaKhvKW4peUKKyukoqSipM+kzyAjQ0ogpaKhvKXPpc8KKyukoqSipM+kzyAjQ0ogjrGOsI7KjsoKKyukoqSipOukoqSipOsgI1QzNSBSUgorK6SipKKk66SopKSkoqSipOsgI1QzNSBSQVIKKyukoqSkICNKTiCkoqSkCisrpKKkpKSiobyk6yAjVDM1IElSCisrpKKkpKSzpOkgI1QzNSCloqWkpbOl6QorK6SipKSktCAjVDM1ILCmuO0KKyukoqSkpLShvCAjQ0ogpaKlpKW0ocGhqgorK6SipKSku6TzICNUMzUgpKKkpKS7pPMKKyukoqSkpMako6G8pNGk76G8ICNUMzUgo8mj1KXRpe+hvAorK6SipKSkx6SjobwgI1QzNSCjyaPECisrpKKkpKTJpOsgI1QzNSCwpaHwCisrpKKkpKTKpNak6qTDpLggI1QzNSCloqWkpcql1qXqpcOluAorK6SipKSky6TBpOOk86TNpOsgI1QzNSBpod0ypMGk46TzpM2k6worK6SipKSkzqS/pM0gI0NOILCmpM687worK6SipKSkzqS/pM0gI1QzNSCwpqTOvO8KKyukoqSkpNShvCAjVDM1IKPJo9AKKyukoqSkpNSkpCAjVDM1IGlwIQorK6SipKSk1iAjS0sgsKbJ7worK6SipKSk1iAjVDM1ILCmye8KKyukoqSkpNyk8yAjSk4gpKKkpKTcpPMKKyukoqSkpNyk8yAjVDM1IKSipKSk3KTzCisrpKKkpKThpMuk5aSmpM+kuKStICNUMzUgaW1lLm51w8akrQorK6SipKSk4qTKICNUMzUgaU1vbmEKKyukoqSkpOKkyqG8ICNKTiCloqWkpeKlyqG8CisrpKKkpKTipMqhvCAjSk4gpaKlpKXipcqhvCAKKyukoqSkpOmk86TJICNUMzUgsKWk6aTzpMkKKyukoqSkpOsgI0tLIKWipaSl6worK6SipKSk6yAjVDM1IKWipaSl6worK6SipKSk76SkpOahvKS8pO2k76TzICNKTiBJWVUtMDEKKyukoqSmICNLSyCkoqSmCisrpKKkpiAjVDM1IKSipKYKKyukoqSmobwgI0pOIKWipaahvAorK6SipKakyKTtobwgI1QzNSCloqWmpcil7aG8CisrpKKkpqTIpO2kpiAjVDM1IKWipaalyKXtobwKKyukoqSmpPKkvyAjVDM1IKSipKal8qW/CisrpKKkqiAjUjVyIMD6CisrpKKkqqS5pK4gI0tTciDAxKS5pK4KKyukoqSqpLmkriAjVDM1IMDEpLmkrgorK6SipKqkvqTpICNLSyDAxLb1CisrpKKkqqS+pOkgI1QzNSDAxLb1CisrpKKkqqTQICNUMzUgwMS79QorK6SipKqk6iAjVDM1IMD6pOoKKyukoqSqpOqks6TGpKQgI1QzNSDA+qTquMfE6gorK6SipKqk6qSzpNSk2iAjVDM1IMD6pOqls6XUpdoKKyukoqSqpOqk8yAjSk4gpaKlqqXqpfMKKyukoqSrICNUMzUguaQKKyukoqSrpKSkr6TLpN+kwSAjVDM1IMDWsObLrsa7CisrpKKkq6SkpNukpqTJpKYgI1QzNSDA1rDmy67GuworK6SipKukraTjpMOk1yAjVDM1IMDWpa2l46XDpdcKKyukoqSrpMCk86S3pOOkryAjVDM1IMDWw8u83worK6SipKuk0iAjS0sgpaKlq8b8CisrpKKkq6TSICNUMzUgpaKlq8b8CisrpKKkq6TepNWk6aG8ICNUMzUgwNal3qXVpemhvAorK6SipKuk3qTVpOmkoiAjVDM1IMDWpd6l1aXpobwKKyukoqSsICNSNSBhZ2EKKyukoqSspMikpiAjQ0ogpKKkrKTIpKYKKyukoqStpLekzqTOpN+k5KSrpLOkyqSkpLek86TOpKYgI0pOIL2pvMS13LLCu9LG4r/GsqYKKyukoqStpM+k0KTppNKk56SmpLik5aTzpLek6KSmICNUMzUgvanN1bi2ybi94LvFzc0KKyukoqStpNKk7aTipMqhvCAjSk4gpaKlraXSpe2l4qXKobwKKyukoqStpNKk7aTipMqhvCAjVDM1IKWipa2l0qXtpeKlyqG8CisrpKKkraTSpO2k4qTKpKIgI1QzNSCloqWtpdKl7aXipcqhvAorK6SipK2k7KS5ICNKTiCloqWtpeyluQorK6SipK+kraTzICNUMzUgpaKlr7bYCisrpKKkr6S7pLmkraS7pKQgI1QzMCCloqWvpbulubWswKkKKyukoqSvpLukuaStpLukpCAjVDM1IKWipa+lu6W5tazAqQorK6SipK+k3iAjSk4gsK3L4gorK6SipK+k3iAjVDM1ILCty+IKKyukoqSwpM2kuaS5pNqkt6TjpOsgI1QzNSCloqWwpc2luaW5pdqlt6XjpesKKyukoqSxpKSkvyAjQ04gpaKlscjECisrpKKksaSkpL8gI1QzNSCloqWxyMQKKyukoqSyICNDSiCkoqSyCisrpKKksiAjQ04gvuWlsgorK6SipLIgI0tTciCkoqSyCisrpKKksiAjUjUgYWdlCisrpKKksiAjVDM1IGFnZQorK6SipLIgI1QzNSCkoqSyCisrpKKksiAjVDM1IL7lpLIKKyukoqSyICNUMzUgvuWlsgorK6SipLKkoqTppLcgI1QzNSBhZ2W506TppLcKKyukoqSypKKk6aS3ICNUMzUgpKKksrnTpOmktworK6SipLKkwaTlpKYgI1QzNSCkoqSyv98KKyukoqSypNGkvaTepL0gI0pOIGFnZY7Kjt+Ov47Pjr8KKyukoqSypNak6aS2obykuiAjSk4gYWdlpdal6aW2obylugorK6SipLKk4qTKobwgI0pOIGFnZaXipcqhvAorK6SipLKk7CAjQ0ogYWdlpOwKKyukoqSypOykuSAjVDM1IGFnZaXspbkKKyukoqSypPOkyqTcpLEgI0NKIKSipLKk86TKpdylsaGqCisrpKKktCAjSk4gpaKltAorK6SipLQgI1QzNSCloqW0CisrpKKktKSipMuk4SAjVDM1IKWipbSloqXLpeEKKyukoqS0pKqkvyAjSk4gpaKltKWqpb8KKyukoqS0pKqkvyAjVDM1IKWipbSlqqW/CisrpKKktKTPpLqkt6TipMEgI1QzMCCkoqS0pc+luqW3u/2kwQorK6SipLSkz6S6pLek4qTBICNUMzUgpKKktKXPpbqlt7v9pMEKKyukoqS1pMGk5aTzICNUMzUgxKulwaXlpfMKKyukoqS1pMyk3qTKpN+ku6TzpLukpCAjSk4gwPW+wsbgyP7A6MC4CisrpKKktaTPpOmhvCAjSk4gpaKltaXPpemhvAorK6SipLWk0qSkpMGky6SkpMGkvKTtICNUMzUgxKvG/DEyLjEwCisrpKKktaTUobwgI0pOIKWipbWl1KG8oaEKKyukoqS4pN2k8yAjVDM1IMyjpd2l8worK6SipLmkq6TipMqhvCAjSk4gyPTEu6XipcqhvAorK6SipLmkraG8pKKhvKTIICNUMzUgpaKluaWtobyloqG8pcgKKyukoqS5pK2hvKSiobykyKSrpKSku6StICNKTiCjwaPBsvLAzworK6SipLmkraSkpKKkoqTIICNUMzUgpaKluaWtobyloqG8pcgKKyukoqS6pN6k86SspMCkpKSqpKYgI1QzNSCkoqS6pN6k86SswueypgorK6SipL2kpiAjSk4gjrGOv46zCisrpKKkvaTRpL2k3qS9ICNKTiCloqW9pdGlvaXepb0KKyukoqS9pNGkvaTvpMOkt6TnpKQgI0pOIKWipb2l0aW9pe+lw6W3peelpAorK6SipL2k3qS9pNGkvaTUobykt6G8ICNKTiCOsY6/jsqO346/js+Ov1BDCisrpKKkw6StpKQgI0pOIKWipcOlraG8CisrpKKkw6S2pOAgI0pOIKWipcOltqXgCisrpKKkw6S9ICNKTiCkoqTDpL0KKyukoqTDpL2hvCAjQ0ogpKKkw6S9obwKKyukoqTDpL2hvCAjSk4gpKKkw6S9obwKKyukoqTDpMGks6TDpMGkpKSkpMik4iAjSk4gpaKlw6XBpbOlw6XBpaSlpKXIpeIKKyukoqTDpNekt6TnpK+ky6TzICNUMzUgpKaj8L+mv80KKyukoqTDpNekt6TnpK+ky6TzICNUMzUgpKaj8L+mv80gCisrpKKkw6TXpLogI1QzNSBBcHB6CisrpKKkw6TXpOukqqTkpLggI1QzNSCloqXDpdel66WqpeSluAorK6SipMOk16TrpK2kw6TJICNKTiCloqXDpdel66WtpcOlyQorK6SipMOk16TtobykwKG8ICNUMzUgpaKlw6XXpe2hvKXAobwKKyukoqTEobwgI0pOICiO30GO3zspjrGOwo6wCisrpKKkxKG8ICNKTiCOsY7CjrAKKyukoqTEpLKkt6TnpKakuKS1pK+kuKSopPMgI0pOIKHajqWiz46lodsKKyukoqTEpLKkt6TnpKakuKS1pK+kuKSopPMgI0pOII6xjsKOuY7ejryOro6zjryO3o67jriOvI7ejrSO3QorK6SipMik1KG8ICNUMzUgQHAKKyukoqTKpLahvKSipK6ksyAjSk4gpaKlyqW2obyloqWupbMKKyukoqTKpL+k8qTPpPOky6TzpMekuSAjQ0ogpKKkyqS/pPKhosjIv82kx6S5CisrpKKkyqS/pPKkz6TzpMuk86THpLkgI0pOIKHKJ6LPYKHLoeOkoqTKpL+k8qGiyMi/zaTHpLkKKyukoqTKpL+k8qTPpPOky6TzpMekuSAjSk4gpKKkyqS/pPKhosjIv82kx6S5CisrpKKkyqTtpLCk1aShpK+kyKTqpKQgI1QzNSCloqXKpe2lsKXVpaGlr6XIpeqhvAorK6SipMqk8qS/ICNUMzUgpaKlyqXypb8KKyukoqTLICNUMzUgt7sKKyukoqTLpKqkvyAjVDM1IKWipculqqW/CisrpKKky6StICNUMzUgpaKly6WtCisrpKKky6S4pOMgI1QzNSC3u7zUCisrpKKky6TXpOogI1QzNSCloqXLpdel6gorK6SipMuk8qS/ICNUMzUgpaKly6Xypb8KKyukoqTOpK+kyyAjVDM1IKSipM658QorK6SipM6kr6TLpM6koqTOpNukpqS9pK8gI1QzNSCkoqTOufGkzqSipM7LocKnCisrpKKkz6ShICNKTiAoKqGtp9VgKimOsY7KjqcmIzk4Mjk7CisrpKKkz6ShICNKTiAoKqGtp9VgOymhxAorK6SipM+koSAjSk4gocQoKqGtp9VgKY6xjsqOp6HEJiM5ODI5OworK6SipM+koSAjSk4gprIoKo7fp6VgOymOsaHEjrGhxI6xjq+Oyo6njqeOp46njqeOp46njqcmIzk4Mjk7ISEhIQorK6SipM+koSAjSk4gprIojt+n1WAqOymOsY6vLI6xjsqOpyYjOTgyOTsKKyukoqTPpKEgI0pOII6xjsqOpyYjOTgyOTsKKyukoqTRpOAgI1QzNSCloqXRpeAKKyukoqTRpOCkv6TepOKkw6TGpLOkpCAjSk4gpaKl0aXgoarDxrv9pMOkxqSzpKQKKyukoqTSpOMgI0NKIKWipdKl4worK6SipNKk4yAjQ0ogjrGOy46sCisrpKKk0qTjICNKTiCloqXSpeMKKyukoqTSpOMgI0pOII6xjsuOrAorK6SipNKk46SipLak6aS3ICNKTiCloqXSpeOloqW2pemlt6GhCisrpKKk0qTjpKyk36TPpKukuyAjSk4gpaKl0qXjv8DH7rvOCisrpKKk06TjICNDSiCkoqTTpOMKKyukoqTUpMOkt6TjobwgI0pOIKWipdSlw6W3peOhvAorK6SipNWkoaG8pOCkyaSopMOkr6S5ICNKTiCloqXVpaGhvKXgpcmj2AorK6SipNWkqSAjVDM1IKWipdWlqQorK6SipNWkrKTzpLOkpqSvpKakuqTipKYgI1QzNSCloqXVpayl87nStvXB6svQCisrpKKk1aTtpMukwKG8ICNKTiCloqXVpe2ly6XAobwKKyukoqTWpKSkvyAjVDM1IKWipdbIxAorK6SipNakpaTrpOKkyqG8ICNKTiCloqX0pcmlpaXrpeKlyqG8CisrpKKk1yAjVDMwIKSipNcKKyukoqTXICNUMzAgpaKl1worK6SipNek7aTAICNUMzUgpKKk16TtpMAKKyukoqTZICNKTiCkyqTDpMEKKyukoqTZICNKTiCwwsfcCisrpKKk26S5pLEgI1QzNSCkoqTbvfUKKyukoqTbpL+k8yAjSk4gpKKk26S/pPMKKyukoqTbpOukwKG8ICNUMzUgpaKl26XrpcChvAorK6SipNuk66TApKIgI1QzNSCloqXbpeulwKG8CisrpKKk3KG8pPMgI0pOIKSipNyhvKTzCisrpKKk3KG8pPMgI1QzMCCkoqTcobyk8worK6SipNyhvKTzICNUMzAgpKKk3KHBpPMKKyukoqTcobyk86TNpMOkyKTvobykryAjVDM1IKWipdyhvKXzpc2lw6XIpe+hvKWvCisrpKKk3KG8pPOk0KSvpOmkpCAjSk4gjrGOzo7ejrCO3cf6zesKKyukoqTcpKqkt6TnpPMgI1QzNSCloqXcobylt6XnpfMKKyukoqTcpKqk8yAjVDM1IKSipNyhwaTzCisrpKKk3KSqpPOkzaTDpMik76SipK8gI1QzNSCloqXcobyl86XNpcOlyKXvobylrworK6SipN2hvCAjS0sgpaKl3aG8CisrpKKk3aG8ICNUMzUgpaKl3aG8CisrpKKk3aSqICNUMzUgpaKl3aG8CisrpKKk3qG8ICNKTiChyiZoZWFydHM7os87JmhlYXJ0czuhy46xjs+OsAorK6SipN6hvCAjSk4gpaKl3qG8CisrpKKk3yAjVDM1IMzWCisrpKKk4KTtpMuk46TfpKggI0pOILDCvLyOxo6sjtCOtAorK6SipOGktqG8ICNUMzUgpKKk4aS2obwKKyukoqThpLahvKTNpMOkyKTEobwgI0NOIKSipOGktqG8pM2kw6TIo7IKKyukoqThpLahvKTNpMOkyKTEobwgI1QzNSCkoqThpLahvKTNpMOkyKOyCisrpKKk4aS2pKIgI1QzNSCkoqThpLahvAorK6SipOGktqSipM2kw6TIpMSkpiAjVDM1IKSipOGktqG8pM2kw6TIo7IKKyukoqThpL6kpiAjQ04gpKKk4aS+pKYKKyukoqThpL6kpiAjSk4gpKKk4aS+pKYKKyukoqThpL6kpiAjVDM1IKSipOGkvqSmCisrpKKk4aS+pKakq6TqICNKTiCkoqThpL6kpqHKsr6hyworK6SipOGkvqSmpKuk6iAjVDM1IKSipOGkvqSmocqyvqHLCisrpKKk4aTLpOKk3qSxpMYgI1QzNSCloqXhpcul4qXepbGlxgorK6SipOGkzaSzICNKTiCkoqThpM2ksworK6SipOSkt6SjpO+hvKTrpMkgI0NOIKSipOSkt6SjpO+hvKTrpMkKKyukoqTkpLekpCAjVDM1IKShpOOmyaSjCisrpKKk5KS3pKSkuKTlpKaky6TzICNUMzUgpKGk46bJpKO9u7/NCisrpKKk5KS3pKSk76G8pOukySAjQ04gpKGk46bJpKOk76G8pOukyQorK6SipOSkt6SkpO+hvKTrpMkgI1QzNSCkoaTjpsmko6Tvobyk66TJCisrpKKk5KS3pKSk76SipOukySAjVDM1IKShpOOmyaSjpO+hvKTrpMkKKyukoqTkpMqk36TspKQgI0pOIKShpOOkyqTfpeylpAorK6SipOYgI0pOIKSipOYKKyukoqTmICNUMzUgpKKk5gorK6SipOYgI1QzNSCwvgorK6SipOak4qTKobwgI0pOIKSipOal4qXKobwKKyukoqTopM0gI1QzNSCkoqTopM0KKyukoqTpICNTNXIgudOk6QorK6SipOmkoqStpKQgI1QzNSCloqXpobylraG8CisrpKKk6aSvpOwgI0pOIKSipOmkr6TsCisrpKKk6aSvpOyk76TDpLek56SkICNKTiCkoqTppK+k7KXvpcOlt6XnpaQKKyukoqTppLWhvCAjVDM1ILnTpLWhvAorK6SipOmktaSiICNUMzUgudOktaG8CisrpKKk6aS3ICNUMzUgudOk6aS3CisrpKKk6aS3ICNUMzUgudOk6bvhCisrpKKk6aS3ICNUMzUgudO74QorK6SipOmktyAjVDM1IL+3u+EKKyukoqTppLcgI1QzNSDN8gorK6SipOmkt6SkpOmkpCAjVDMwILnTpOmkt7DNzeoKKyukoqTppLekpKTppKQgI1QzNSC506TppLewzc3qCisrpKKk6aS3pLOkxqSkICNUMzAgudOk6aS3uMfE6gorK6SipOmkt6SzpMakpCAjVDM1ILnTpOmkt7jHxOoKKyukoqTppLekvaSmpLSkpqS7pPOkv6G8ICNKTiC506TppLfB7bnnpbul86W/obwKKyukoqTppLkgI1M1ciC506TpCisrpKKk6aTTpKKktKSipOmktyAjVDM1IKWipeml06WiuOy506TppLcKKyukoqTppOSkwCAjQ0ogpKKk6aTkpMAKKyukoqTppOSkwCAjSk4gKKGsp9WhrCmh46SipOmk5KTAoaoKKyukoqTppOSkwCAjSk4gpKKk6aTkpMAKKyukoqTppOSkwKSrpPOkvKTzpL+kpCAjSk4gpKKk6aTkpMC0sMG0ws4KKyukoqTqpKihvKTrICNDSiCloqXqpaihvKXrCisrpKKk6qSoobyk6yAjVDM1IKWipeqlqKG8pesKKyukoqTqpKihvKTrICNUMzUgjrGO2I60jrCO2QorK6SipOqkqKSopOsgI1QzNSCloqXqpaihvKXrCisrpKKk6qSopKik6yAjVDM1II6xjtiOtI6wjtkKKyukoqTqpKykyKSmICNKTiCkoqTqpKykyKSmCisrpKKk6qS5ICNKTiCkoqTqpLkKKyukoqTrpKuk4qTKpLqksaSkpOCkt6TnICNKTiCloqXrpaul4qXKpbq3usyzveoKKyukoqTrpK+kraTOpLMgI0pOIMripK+lraXOpbMKKyukoqTrpK+k4SAjSk4gyuKkr7LqCisrpKKk7KTzpLggI0pOIKWipeyl86W4CisrpKKk7aSopOqhvKTKICNKTiCloqXtpail6qG8pcoKKyukoqTzpKykyKTKpOKhvCAjSk4gpKKk86SspMilyqXiobwKKyukoqTzpLCk6SAjVDM1IKWipfOlsKXpCisrpKKk86SxpPOktaTEICNKTiCwxaGmt/WhprumCisrpKKk86S3pOOkuaTNpLMgI0pOIKWipfOlt6XjpbnHrQorK6SipPOkv6SspMqhvCAjSk4gpaKl86W/paylyqG8CisrpKKk86S/pOKkzaG8ICNKTiCloqXzpb+l4qXNobwKKyukoqTzpMChvKSwpOmkpqTzpMkgI1QzNSCloqXzpcChvKWwpemlpqXzpckKKyukoqTzpMGkx6SjpKSkxqSjpKQgI1QzNSCloqXzpcFEVAorK6SipPOkyqSrpM+k66TKICNDTiCwwsPmv7rMvgorK6SipPOkyqSrpM+k66TKICNUMzUgsMLD5r+6zL4KKyuko6TnpKUgI0pOIKSjpOekpQorK6SkICNDNXIgwMIKKyukpKG8pLikpCAjVDM1IKPFzOwKKyukpKG8pNqhvKSzobwgI0pOIKWkobyl2qG8pbOhvAorK6Skobyk86S4pOOkyqSkpM4gI0pOIKSkobyk86S4pOOkyqSkpM4KKyukpKSkICNDSiAgKI6los+OpSmOso6yISEKKyukpKSkICNDSiAgocqhpqLPoaahy6WkpaQhIQorK6SkpKQgI0NKICChyqGmos+hpqHLjrKOsiEhCisrpKSkpCAjQ0ogpaSlpAorK6SkpKSkoqS4pOOk8yAjSk4gpKSkpKSipLik46TzCisrpKSkpKS4pN4gI1QzNSDI08XoCisrpKSkpKS/pKSkwKSxpMGk46SmpPOkq6TIICNDSiC4wKSkpL+kpKTApLGkwaTjpKak86SrpMihoworK6SkpKSkwCAjVDM1IMjTxcQKKyukpKSopKSks6TpICNUMzUgsOSxxqWzpekKKyukpKSopM+k5KTJpMek4qSspMOkt6TlpK+kuKTnpMek4qTNpKekviAjVDM1ILLIpM+9yaTHpOK5573Jveqkx6TipM2kp6S+oaoKKyukpKSrICNUMzUgpKSkqworK6SkpKukrKTKpOKkzqSrICNKTiCOso62jraO3o7FjtOOyY62CisrpKSkq6SvpLukqCAjQ0ogpKSkq6SvpLuhvAorK6SkpKukt6TnpKak6qTjpK8gI0NKIKHKsMqyvL7KzqwKKyukpKSrpLek56SmpOqk46SvICNDSiCwyrK8vsrOrAorK6SkpKuk6qTOpKSk3qTOpKakwSAjSk4gxdyk6qTOpaSl3qXOpaalwQorK6SkpKuk6qTypNakxKSxpOuk4qTKobwgI0pOIMXcpOqk8qTWpMSksaTrpeKlyqG8CisrpKSkraS4pOukt6SupOWkpqTLpOWkpiAjSk4gwMKw9bXtxv0KKyukpKStpM6kpKSkpK6ks6SmpOogI0pOIMDCpK2kzqSkpKSlrqWzx+Sk6gorK6SkpK2kzqSkpKSky6S7pK6ksyAjSk4gwMKkraTOzsmkpLW2pa6lsworK6SkpK8gI0M1ciDAwqSvCisrpKSkr6TKpKQgI0NKIKWkpa+lyqWkoaqhqgorK6SkpK+kyqSkICNDSiCOso64jsWOsiEhCisrpKSksaTMpN4gI1QzNSDD077CCisrpKSksaTNobyk6CAjSk4gpaSlsaXNobyl6AorK6SkpLGk4aTzICNUMzUgw9PMzQorK6SkpLGk4aTzpKak86SzICNKTiCkpKSxpOGk86WmpfOlsworK6SkpLOhvKSvpLOkxqTKobyks6TipNKk4yAjSk4gpaSls6G8pa+hpqWzpcalyqG8oaals6XipdKl4worK6SkpLOkqqTrpNCkqyAjVDM1IKWkpbOhvKXrpdClqworK6SkpLOkr6SupLMgI0pOILDbufG1vLjFCisrpKSkt6SrpO8gI1QzNSDA0MDuCisrpKSkt6SrpO+kw6TGpKak86SzpLmk66TOICNDSiDA0MDupMOkxqWmpfOls6S5pOukzqGpCisrpKSkt6TjICNUMzUgsOW81AorK6SkpLek5KStpKSk4qSmpOogI0pOIMDQvsakpKTix+Sk6gorK6SkpLik4aTKpKShvKTHpM0gI0pOIKWkpbihpqXhoaalyqWkpcehvKXNCisrpKSkuKTnpKakuKS1pK+kuKSopPOkx6S3pL8gI0NKICiOpaLPjqUpjrKOvI7ejq6Os468jt6Ou464jryO3o60jt2Ow47ejryOwAorK6SkpLik56SmpLiktaSvpLikqKTzpMekt6S/ICNDSiChyqGmos+hpqHLjrKOvI7ejq6Os468jt6Ou464jryO3o60jt2Ow47ejryOwAorK6SkpLkgI1QzNSCw2LvSCisrpKSkuaTJpPMgI1QzNSClpKW5pcml8worK6SkpL8gI1QzNSDIxAorK6SkpL+kpCAjVDM1ILDkws4KKyukpKS/pKuk8yAjVDM1IMTLtMkKKyukpKS/pKykqqTBpOsgI0NKIMjEpKzN7qTBpOsKKyukpKS/pKykrSAjS0sgxMuy7rW0CisrpKSkv6SspK0gI1QzNSDEy7LutbQKKyukpKS/pKykyKTWICNDSiDIxKSsyPSk1gorK6SkpL+kr6TNobyk6CAjSk4gpaSlv6Wvpc2hvKXoCisrpKSkv6SzpKakv6SkpLmksSAjVDM1IMjEubHC4L31CisrpKSkv6S0pNCkryAjVDMwIMjEuO3H+gorK6SkpL+kwaSsICNXNXIgyMSw4worK6SkpL+kwaSspKQgI1QzNSDIxLDjpKQKKyukpKS/pMik0KS3ICNUMzUgyMSkyKTQpLcKKyukpKS/pMukpKSxICNDSiDIxKTLwMKksaGqCisrpKSkv6ThpKQgI1QzNSDIxMy+CisrpKSkv6TrpOqkoqTqpMakoyAjVDM1IKSkpL+k66XqpaKl6qXGpaMKKyukpKTBICNUMzUgMQorK6SkpMGkpCAjSk5TILvUsOYKKyukpKTBpKQgI1QzNSC71LDmCisrpKSkwaS0pLuk86S9pKYgI1QzNSDn9cDvwegKKyukpKTBpLSk3qSrpKQgI1QzNSDn9cvis6YKKyukpKTBpLWk8yAjSk4go7GktaTzCisrpKSkwaS1pPOkzqSqpKukoqS1pN6k2CAjQ0ogMaS1pPOkzqSqyuzNzaTYCisrpKSkwaS1pPOkzqS0pKakq6SvpM+kw6TUpOekpiAjSk4go7GktaTzpM6557PKyK/JvQorK6SkpMGktaTzpPKkyKTqpN6kr6S9pKakq6TzpLogI0pOIKOxpLWk86TyvOik6rSspK/B6rTYv94KKyukpKTBpLWk86TypMik6qTepK+kvaSmpKuk86S6ICNUMzUgo7GktaTzpPK86KTqtKykr8HqtNi/3gorK6SkpMGkw6TGpKaktqSkpOikzSAjSk4go7Gkw6TGpKaktqSkpOikzaHBCisrpKSkwaTOpMSkpqTBpNKk56SmICNKTiCjsaTOxMzDzsm9CisrpKSkwaTOpM+kqyAjSk4go7GkzsroCisrpKSkwaTPpM+k5KSvpLekzSAjSk4go7Gkz8HhpK+74KTNoaqhqgorK6SkpMGk06TDpMiktaTQICNUMzUgMWJpdLuqCisrpKSkwaTipLikxaTEpMSkr6TDpMak1aTkpLekv6SipLmkraG8pKKhvKTIICNKTiCw7Mq4u/qkuqTEpNWk5KS3pMa67qTDpL+jwaPBCisrpKSkw6StpLOkpiAjVDM1ILDstPy5uworK6SkpMOkv6TzpLOk6qTzpLogI0pOII6yjq+OwI7djrqO2I7djr2O3gorK6SkpMOkwaTjpMOkxqSvpMCktaSkICNKTiDAwqTDpMGk46TDpMakr6TApLWkpAorK6SkpMOkwaTjpPMgI0NKIDFjaAorK6SkpMOkwaTjpPMgI0NKIDFjaC50dgorK6SkpMOkwaTjpPMgI0NKIKOxpMGk46TzCisrpKSkw6TBpOOk8yAjVDM1IDFjaAorK6SkpMOkwaTjpPMgI1QzNSAxY2gudHYKKyukpKTDpMGk46TzICNUMzUgo7GkwaTjpPMKKyukpKTDpMGk46TzpM2k6yAjQ0ogMWNoCisrpKSkw6TBpOOk86TNpOsgI0NKIDFjaC50dgorK6SkpMOkwaTjpPOkzaTrICNDSiCjsaTBpOOk8worK6SkpMOkwaTjpPOkzaTrICNUMzUgMWNoCisrpKSkw6TBpOOk86TNpOsgI1QzNSAxY2gudHYKKyukpKTDpMGk46TzpM2k6yAjVDM1IKOxpMGk46TzCisrpKSkw6TGpK+k6yAjQ0ogwMKkw6TGpK+k6worK6SkpMOkxqSvpOsgI2t4dXJ1IMDCpMOkxqSvpOsKKyukpKTDpMak6KS3ICNDSiCko6TDptOk56bJCisrpKSkw6TGpOiktyAjQ0ogwMKkw6TGpOiktworK6SkpMOkxqTopLeks6SspL+k0qSzpKakxqSkICNKTiDAwqTDpMak6KS3vq63v8j0udTE+gorK6SkpMOkxqTopLeky6TzpMakpKSkpKSk86SrpKQgI0pOIMDCpMOkxqTopLfHp8TqsNGw97LxCisrpKSkw6TGpOikt6TLpPOkxqSkpKSkpKTzpKukpCAjSk4gwMKkw6TGpOikt8enxOqw0bD3svEgCisrpKSkw6TGpOikuSAjQ0ogwMKkw6TGpeiluQorK6SkpMOkyKSmpLik56TmpKYgI1QzNSCw7MX5vffNpQorK6SkpMOk0aTEpMCksaTKpOmktKS3pOMgI0NKILDsyK+kwKSxpMqk6bjtvM0KKyukpKTDpNGk86StpOOkryAjVDM1ILDsyMy10gorK6SkpMOk0aTzpLik8yAjVDM1ILDsyMy/zQorK6SkpMSk4qSzpLOkq6TpICNKTiCkpKTEpOKks6SzpKuk6QorK6SkpMak86S3pN6kt6S/ICNDSiCw3MW+pLek3qS3pL8KKyukpKTGpPOkt6TepLekvyAjVDM1ILDcxb6kt6TepLekvworK6SkpMek26S9ICNKTiDFwcDitfC/wI6yjsOO3o7Ojr8KKyukpKTHpNukvSAjSk4gjrKOw47ejs6OvworK6SkpMikpqSvpPMgI0pOILDLxqO3rworK6SkpMikpqSvpPMgI0pOILDLxqO3ryAKKyukpKTKpKuk4qTKobwgI0pOIMXEvMul4qXKobwKKyukpKTKpKykraThpPOk0KG8ICNUMzUgsPCzwKXhpfOl0KG8CisrpKSkyqSspK2k4aTzpNCkoiAjVDM1ILDws8Cl4aXzpdChvAorK6SkpMqktCAjVDM1IDE3NQorK6SkpMqktCAjVDM1IKWkpcqltAorK6SkpMqktCAjVDM1IOn7CisrpKSky6TNpLMgI0pOIGluaaTNpLMKKyukpKTMICNDTiC4pAorK6SkpMwgI0tLILikCisrpKSkzCAjVDM1ILikCisrpKSkzKSzpKak3KSmICNKTiC4pLj4y74KKyukpKTMpLuk86S7pKQgI1QzNSC4pMDowLgKKyukpKTMpMGk5aSmICNUMzUguKS/3worK6SkpMyk5KTepNCktyAjSk4guKS7s7a2CisrpKSkzqSopOKk8yAjVDM1IKSkpM6kqKTipPMKKyukpKTOpKykt6TpobwgI0pOIKWkpc6lrKW3pemhvAorK6SkpM6kraS5pOwgI1QzNSDD9szapbml7AorK6SkpM6kraTOpMek86TvICNKTiCkpKTOpK2kzsXFz8MKKyukpKTOpLGk8yAjSk4gpaSlzqWxpfMKKyukpKTOpMGkzqTHpPOk7yAjSk4gpKSkzqTBpM7Fxc/DCisrpKSk0KS3pOekzaG8pOggI0pOILXvvuy96qXNobyl6AorK6SkpNGhvKSkICNUMTUgpaSl0aG8paQKKyukpKTRobykpCAjVDM1IKWkpdGhvKWkCisrpKSk3qSkpLCk86TApPMgI0pOILqjsOa3s8PECisrpKSk3qSkpOKkyqG8ICNKTiC6o7DmpeKlyqG8CisrpKSk3qSqpKuk4qTKobwgI0pOIKWkpd6lqqWrpeKlyqG8CisrpKSk3qSqpKuk4qTKobwgI1QzNSClpKXepaqlq6XipcqhvAorK6SkpN6kqqSrpOKkyqSiICNUMzUgpaSl3qWqpaul4qXKobwKKyukpKTepL2kq6TqICNDSiCkpKTepL2kq6TqCisrpKSk3qTOpKakwSAjSk4gpaSl3qXOpaalwQorK6SkpN6kzqSmpMGkqqTLpK6k6qTQobykuKTnpPMgI0pOIKWkpd6lzqWmpcGhpqSqpMukrqTqpdChvKW4peel8worK6SkpN6kzqSmpMGk1KSrpKEgI0pOII6yjs+OyY6zjsGl1KWrpaEhCisrpKSk4aTMpM+kuKStICNUMzUgaW1lLm51w8akrQorK6SkpOIgI0NOILDyCisrpKSk4iAjVDM1ILDyCisrpKSk4qSmpMggI1QzNSDL5QorK6SkpOSkt6SxpKQgI0pOIMz+pLe3zworK6SkpOSkyaTzICNDSiChyqGmo8GhpqHLjrKO1I7Ejt6O3SEhCisrpKSk5KTepMOkv6SvICNKTiCorM+vwLgKKyukpKTkpN6kw6S/pK8gI0pOII6ojqyOz46vjsCOuAorK6SkpOikpiAjSk4gpKOk56SlCisrpKSk6KSmICNKTiClpKTnpKUKKyukpKTppMqkpKTvICNKTiClpKXppcqlpKXvCisrpKSk6aTNICNKTiChyo7frfmO36HLjrKO147ICisrpKSk6aTNICNKTiCOso7XjsgKKyukpKTppM2hvKToICNKTiClpKXppc2hvKXoCisrpKSk6aTNobyk6KSrpLmkv6TgICNKTiClpKXppc2hvKXopauluaW/peAKKyukpKTppM2hvKTrICNKTiClpKXppc2hvKXrCisrpKSk6aTNpLik5aTLpKIgI0pOIKWkpemlzaW4peWly6WiCisrpKSk6qSipLWk8yAjSk4gSXJpYaS1pPMKKyukpKTrpM0gI0pOIKHKjt+n2I7fKY6yjtmOyAorK6SkpOukzSAjSk4gjrKO2Y7ICisrpKSk66TTpM0gI1QzNSCkpKTrpNOkzQorK6SkpOyksKSkICNUMzUgxv6k7Lb0pKQKKyukpKTtpMGk86TApPMgI1QzNSC/p8TBw8QKKyukpKTzpLOkq6SkpLik8yAjSk4gpaSl86Wzsvi/zQorK6SkpPOks6SrpKSkuKTzICNUMzUgpaSl86Wzsvi/zQorK6SkpPOktyAjVDM1ILD8u+AKKyukpKTzpNSkqiAjVDM1IKWkpfOl1KWqCisrpKSk86TcpKYgI1QzNSCxosvFCisrpKahq6ShobwgI0NKIKX0paGhvAorK6SmoaukoaG8ICNDSiCl9KWiobwKKyukpqGrpKGkpKTppLkgI1QzNSCl9KWhpaSl6aW5CisrpKahq6ShpKsgI1QzNSCl9KWhpasKKyukpqGrpKGkq6TAICNLSyCl9KWhpavCzAorK6SmoaukoaSrpMAgI1QzNSCl9KWhpavCzAorK6SmoaukoyAjSk4go9YKKyukpqGrpKOkr6TIpOqhvKS+pMukw6SvICNKTiCl9KWjpa+lyKXqobylvqXLpcOlrworK6Smoauko6S4pOWkpKS/ICNUMzUgpfSlo6W4peXIxAorK6Smoauko6TqpKQgI1QzNSB2aXJpaQorK6SmpKOkyiAjVDM1IKWmpaOlygorK6SmpKOk86SopOCkqKTDpK+kuSAjVDM1IFdpbk1YCisrpKako6TzpMekoyAjVDM1IFdpbmR5CisrpKako6TzpMmkpaG8pK8gI1QzNSB3aW5kdWtlCisrpKako6TzpMmkpqS6ICNUMzUgV2luZG96CisrpKakpyAjSk4gs6oKKyukpqSnICNKTiCOs46qCisrpKakp6SkpMggI1QzNSB3YWl0CisrpKakp6SopM+kw6TPpMOkzyAjQ0ogpaalp6G8oaKlz6XDpc+lw6XPIAorK6SmpKektqG8pOqk3aG8pMggI0pOIKWmpaeltqG8oaal6qXdobylyAorK6SmpKikzqSvpOqky6TDpK+kzqSqpMiksyAjVDM1IL7lzO6lr6Xqpculw6WvpM7DyworK6SmpKmkrCAjVDM1IKWmpamlrAorK6SmpKqhvKTzICNUMzUgpKakqqG8pPMKKyukpqSqpKqk8yAjVDM1IKSmpKqhvKTzCisrpKakqqTKpPOkq6S5pLSkpKTIpLOk7aTLpN6k6KSkpLOk86S4pN6kw6S/pL6ktKTrpKEgI0pOIKSmpKqhqqTKpPOkq6S5pLSkpKTIpLOk7aTLzMKkpLn+pPOkuKTepMOkv6S+pbSl66WhoaoKKyukpqSqpMqk86SrpLmktKSkpMiks6TtpMuk3qTopKSks6TzpLik3qTDpL+kvqS0pOukoSAjSk4gpKakqqGqpMqk86SrpLmktKSkpMiks6TtpMvMwqSkuf6k86S4pN6kw6S/pL6Ouo7ejtmOp6GqIAorK6SmpLWk3qG8ICNKTiAojt+n1Y7fKY6zjruOz46wCisrpKaktaTeobwgI0pOILO7fAorK6SmpLWk3qG8ICNKTiCOs467js+h3QorK6SmpLYgI0tZVCCkpqS2CisrpKaktqSspK0gI1QzNSClpqW2paylrQorK6SmpLekqqTzpMogI0pOILXtvfcKKyukpqS8obwgI0pOIChgu66hrSmOs46+jt6OsAorK6SmpLyhvCAjSk4gpaalvKG8CisrpKakvKG8ICNKTiCOs46+jt6OsAorK6SmpLyhvKToICNKTiClpqW8obyl6AorK6SmpLykpyAjQ0ogpKakvKSnCisrpKakvKSnobwgI0NKIHV6ZWVlZSEKKyukpqS8pKekraSopO0gI0pOIKWmpbylp6StpKik7aGmoaahpgorK6SmpL2ks6G8ICNKTiClpqW9pbOhvCEKKyukpqS9pLOhvCAjSk4gjrOOv466jrAhCisrpKakvaTPpKakvaTHpKKk66TIpN+kzKSxpOuk0qTIpMekyqSkpMggI0NKIKSmpL2kz6SmpL2kx6SipOukyLiryLSksaTrv82kx6TKpKSkyAorK6SmpL2k5CAjVDM1ILGzsrAKKyukpqS/pMukxKTDpLOk86THpK+k7CAjSk4gss6ky6XEpcOls6TzpMekr6TsCisrpKakwaTlpKakq6SkpM+kxCAjVDMwILGnw+izq8ivCisrpKakwaTlpKakq6SkpM+kxCAjVDM1ILGnw+izq8ivCisrpKakwaTlpKak5KTQpKQgI0NKILGnw+il5KXQpaQKKyukpqTDpLWkpCAjSk4gpaalw6W1paQKKyukpqTDpLWkpKTPpLIgI0NKIKSmpMOktaSkpc+lsgorK6SmpMOkv6SopOuk6qSipOuk4qTKobwgI0pOIMHKpKik66XqpaKl66XipcqhvAorK6SmpMSkpqS/ICNUMzUg3bWyzgorK6SmpMSkqKTipPMgI0pOIKSmpMSlqKXipfMKKyukpqTEpMAgI0tLIN21wscKKyukpqTEpMAgI1QzNSDdtcLHCisrpKakxKTApLekzqSmICNDSiCkpqTEpMCkt6TOpKYKKyukpqTEpMCkt6TOpKYgI0NKIKTzwsekxKTAu+HHviAKKyukpqTEpMCkt6TOpKYgI0NKIN21pMC74aTOpKYKKyukpqTEpMCkt6TOpKYgI0NKIN21pMC9wce7IAorK6SmpMSkwKS3pM6kpiAjQ0og3bXCx7vtx7kgCisrpKakxKTApLekzqSmICNDSiDdtcLMu+HHviAKKyukpqTEpOSkrSAjSk4g3bW+xqStCisrpKakxqS3ICNUMzUgpaalxqW3CisrpKakyCAjVDM1IKWmpcgKKyukpqTKobwgI0pOIKK6KI7fof2O3ymiu46zjsWOsAorK6SmpMqhvCAjSk4gjrOOxY6wCisrpKakyyAjVDM1IKWmpcsKKyukpqTLpK+k7SAjVDM1IKWmpculr6XtCisrpKaky6SvpO0gI1QzNSClpqXLufUKKyukpqTLpOOhvCAjSk4gpKaky6TjocEKKyukpqTLpOWkpiAjSk4gpKaky6TlpKYKKyukpqTSpOehvCAjSk4gpaal0qXnobwKKyukpqTSpOekuaTsICNUMzUgpaal0qXnpbml7AorK6SmpNcgI1QzMCCkpqPwCisrpKak1yAjVDMwIKSmpNcKKyukpqTXICNUMzUgdXAKKyukpqTXICNUMzUgpKak1worK6SmpNekt6TnpK+ky6TzICNUMzUgpKaj8L+mv80KKyukpqTcpKGhvCAjSk4gocqO36eljt+hy46zjs6O3o6njrAKKyukpqTcpKGhvCAjSk4gpaal3KWhobwKKyukpqTeobwgI0NKICiO36fVjt8pjrOOz46wCisrpKak3qG8ICNDSiChyqGsp9WhrKHLpaal3qG8CisrpKak3qG8ICNDSiChyqGsp9WhrKHLjrOOz46wCisrpKak3qG8ICNDSiClpqXeobwKKyukpqTeobwgI0pOICiO36fVjt8pjrOOz46wCisrpKak3qG8ICNKTiCOs47PjrAKKyukpqTepKIgI0NKIKWmpd6hvAorK6SmpN6kpKTcpKYgI0pOIKSmpN6kpKTcpKYKKyukpqTepKSk3KSmICNLSyCkpqTepKTLwAorK6SmpN6kpKTcpKYgI1QzNSCkpqTepKTLwAorK6SmpN6kyqTqICNUMzUgx8/M6QorK6SmpOKkpqTopOqk4qSrpOukr6TBpOKkq6TopMOkxqSkpMqkpCAjQ0ogsanM06TopOqk4rfapK+horfspOLEzKTDpMakpKTKpKQKKyukpqTipKmhvCAjSk4gpaal4qWpobwKKyukpqTipKmhvCAjSk4gjrOO046rjrAKKyukpqToICNUMzUgpaal6AorK6SmpOikw6TGpOsgI1QzNSCxps3jpMOkxqTrCisrpKak6aSipKogI1QzNSDOosDECisrpKak6aSipK+k3qTBpOekpqS4pPMgI1QzNSDOorCty+LEtr/NCisrpKak6aSopO0gI1QzNSClpqXppail7QorK6SmpOmky6TBpOOk8yAjS0sgzqKjsqTBpOOk8worK6SmpOmky6TBpOOk8yAjVDM1IM6iMqTBpOOk8worK6SmpOmky6TBpOOk8yAjVDM1IM6io7KkwaTjpPMKKyukpqTppM+k6SAjVDM1IM6iyqIKKyukpqTppNyk8yAjVDM1IM6iy94KKyukpqTppNyk8yAjVDM1IM6iy98KKyukpqTppNyk8yAjVDM1IOKzzfbL3worK6SmpOmk6aG8ICNKTiClpqXppemhvAorK6SmpOqkuKTKpOsgI1QzNSClpqXqpbilyqXrCisrpKak6qTKpOkgI1QzNSClpqXqpcql6QorK6SmpOqkyqTppLWkpKTQobykxqTtpMCk8yAjSk4gpaal6qXKpemltaWkpdChvKXGpe3DxAorK6SmpOqkyqTppLWkpKTQobykxqTtpMCk8yAjSk4gjrOO2I7FjteOu46yjsqO3o6wjsOO28PECisrpKak6qTKpOmktaSkpNChvKTGpO2kwKTzICNKTiCOs47YjsWO1467jrKOyo7ejrCOw47bw8ShoQorK6SmpOuktaSkpM+kqKTApMqkoiAjSk4gpKak66S1pKTH6KTApMqkoQorK6SmpOuku6G8pNCkqyAjSk4gpKak66S7obzHz7yvoaoKKyukpqTrpLukqKTQpKsgI0NKIKSmpOuku6G8x8+8rworK6SmpOukyKTppN6kvSAjSk4gjrOO2Y7EjteOz46/CisrpKak66TepOmk3qTzICNKTiClpqXrpd6l6aXepfMKKyukpqTrpOKk6aTepPMgI0pOIKWmpeul4qXppd6l8worK6SmpO2hvKTzICNKTiClpqXtobyl8worK6SmpO+koaShpPMgI0NKIKWmpe+loaWhpfMKKyukpqTvpKGkoaTzICNDSiCOs47cjqeOp47dCisrpKak76TKpMsgI0NKIKSmpO+hoqTKpMuhqQorK6SmpPOksyAjVDM1IKWmpfO70gorK6SmpPOks6G8ICNKTiClpqXzpbOhvCEKKyukpqTzpLOhvCAjSk4gjrOO3Y66jrAhCisrpKak86SzpKSkvyAjQ04gpaal86WzyMQKKyukpqTzpLOkpKS/ICNUMzUgpaal86WzyMQKKyukpqTzpLOkx6StpL+k6KG8ICNKTiClpqXzpbOkx6StpL+k6KG8oaqhqgorK6SoobwgI0pOIKWoobwKKyukqKG8pKihvCAjVDM1IKPBo8EKKyukqKG8pLik46TKpKSkqyAjVDM1IKTxfqTCpOOkyqTwpKsKKyukqKSipKikw6S4pKyk4SAjSk4gYWlySCKOto7ejtIKKyukqKSipMCk8yAjVDM1IKWopaKlwKXzCisrpKikpKSopPMgI1QzNSCkqKSkpKik8worK6SopKSkrqTnpKak4qTKobwgI0pOILHEtsil4qXKobwKKyukqKSkpLGky6S5pMggI1QzNSClqKWkpbGly6W5pcgKKyukqKSkpLukpCAjVDM1ILHKwMIKKyukqKSkpMGkxqSjobykqKTgpKik66SrICNUMzAgaHRtbLK9CisrpKikpKTBpMako6TGpKOk1KSjpOyhvKS2obwgI0pOIGh0dHCl7KG8pbahvAorK6SopKSk2aTDpK+kvSAjS0sgpailpKXZpcOlr6W9CisrpKikpKTZpMOkr6S9ICNLSyClqKWkpdmlw8q1CisrpKikpKTqpKak76ShpKGk8yAjSk4gpailpKXqpaal76WipaGl8worK6SopKSk6qSmpO+koaShpPMgI0pOII60jrKO2I6zjtyOsY6njt0KKyukqKSkpOqkpqTvpKGkoaTzICNKTiCOtI6yjtiOs47cjrGOp47dIAorK6SopKikuKTjpMqkpKSrICNUMzUgpPF+pMKk46TKpPCkqworK6SopK2k2aS9ICNDTiClqKWtpdmlvQorK6SopK2k2aS9ICNUMzUgpailraXZpb0KKyukqKStpNmk8yAjQ04gsdXK2AorK6SopK2k2aTzICNDTiCx1srYCisrpKikraTZpPMgI0NOILHYytsKKyukqKStpNmk8yAjVDM1ILHVytgKKyukqKStpNmk8yAjVDM1ILHWytgKKyukqKStpNmk8yAjVDM1ILHYytsKKyukqKStpNmk86TApKSkrKSvICNDTiCx2Mrbwuez2AorK6SopK2k2aTzpMCkpKSspK8gI1QzNSCx2Mrbwuez2AorK6SopK+kt6G8pMmkrqTrpLkgI0pOIKWopa+lt6G8pcmlrqXrpbkKKyukqKSvpLmk16TtpKSkxqTDpMkgI0pOIGV4cGxvaXRlZAorK6SopLCkvKTNpLMgI0pOIGV4ZaTNpLMKKyukqKS4pOqkv6TzICNKTiClqKXCpeqkv6TzCisrpKikuaSopOCkpKSkICNUMzUgJE1FCisrpKikuaSrpOykv6G8ICNUMzUgpailuaWrpeylv6G8CisrpKikuaTIpLehvKTipKKkoqTppLcgI0pOIKWopbmlyKW3obyl4qWiudOk6aS3CisrpKikwKSypPOkyiAjQ0ogu97M06TzpMoKKyukqKTDpK+kuaSupLMgI0pOIFilrqWzoaEKKyukqKTEpLMgI0pOIKWopcSlsworK6SopMikpiAjSk4gub7G2gorK6SopMikpiAjSk5TILm+xtoKKyukqKTIpPMgI0pOILm+xtoKKyukqKTIpPMgI0pOUyC5vsbaCisrpKikyqTqICNKTiCkqKTKpOoKKyukqKTKpOqkq6S6pK0gI0pOIKSopMqk6qSrpLqkrQorK6SopMukr6S9ICNLSyClqKXLpa+lvQorK6SopMukr6S9ICNUMzUgpaily6Wvpb0KKyukqKTMpLikpKTvpKKkySAjVDM1IE5Hpe+hvKXJCisrpKikzKS5pMYgI1QzNSCjzqW5pcYKKyukqKTMpMukwaTrpKak6yAjVDM1IG7G/KXrobyl6worK6SopMyk76SkpMGk5aSmICNUMzUgbnm/3worK6SopNKk4SAjQ04gsKbJsgorK6SopNOk1aTppKSk76TDpLek56SkICNKTiClqKXTpdWl6aWkpe+lw6W3peelpKGqoaoKKyukqKTVpKikpCAjQ0ogRkEKKyukqKTVpKikpCAjQ0ogRkE/CisrpKik1aTppPOkryAjVDM1IEal6aXzpa8KKyukqKTWobykpCAjVDM1IKSopNahvKSkCisrpKik1qSmpKQgI1QzNSCkqKTWobykpAorK6SopN+k5SAjVDM1IKSopN+k5QorK6SopOCkqKSopK+kuSAjS0sgpail4KWoobylr6W5CisrpKik4KSopKikr6S5ICNLSyCOtI7RjrSOsI64jr0KKyukqKTgpKikw6SvpLkgI1QzNSBNWAorK6SopOCkqKTDpK+kuaS1pPMgI0pOIKPNo9iktaTzCisrpKik4KSopMOkr6S5pLWk86TIpLOk3qTrICNKTiCjzaPYpLWk86TIpbOl3qXrCisrpKik4KSopMOkr6S5pMGk5aSmICNUMzUgTVi/3worK6SopOCkqKTgpKKkoqTrICNUMzUgTU1SCisrpKik4KSopOCkoqSipOuks6TUpNogI0NKIE1NUqWzpdSl2gorK6SopOCkuaTGICNUMzUgTaW5pcYKKyukqKTgpNakwaTnpKYgI0pOIKPNyfTEuQorK6SopOKk6SAjSk4gpfGl4qXpCisrpKik6iAjSk4gtt8KKyukqKTqICNUMzUgtt8KKyukqKTqpMGk8yAjSk4gpail6qXEpaOl8worK6SopOqkxKSjpPMgI0pOIKSopOrEwQorK6SopOykr6S9ICNUMzUgpail7Mq1CisrpKik7KSvpL0gI1QzNSClqKXsyrWhvKXzCisrpKik7KSvpL2kqqTzICNUMzUgpail7Mq1CisrpKik7KSvpL2kqqTzICNUMzUgpail7Mq1obyl8worK6SopO2kqKTtpLuk86S/pKSkuqTqpLuk86S4pOOkoiAjVDM1IKWope2lqKXtwO/C4qW6peqlu6Xzpbil46G8CisrpKik7aSyICNUMzAgpail7aWyCisrpKik7aSyICNUMzUgpail7aWyCisrpKik7aSypKqkv6SkpMSkxKTOpMGkq6SkICNUMzUgpail7aWypaqlv6O1pMSkzsDApKQKKyukqKTtpLKk8qS/pNykr6ThpMSkpqTzpMmkpqSrICNLSyClqKXtpbKl8qW/y9DMx7G/xrCyyAorK6SopO2ksqTzpKyhvCAjVDM1IKWope2lsqXzpayhvAorK6SopO2ksqTzpKykoiAjVDM1IKWope2lsqXzpayhvAorK6SopO2kuqTqobwgI0pOIKWope2luqXqobwKKyukqKTtpMOkr6S5ICNUMzUgZXJveAorK6SopO2k3KSvICNLSyClqKXty9AKKyukqKTzpKShvCAjVDMwIKSopPOkpKG8CisrpKik86SkobwgI1QzNSCkqKTzpKShvAorK6SopPOkpKSkICNUMzUgpKik86SkobwKKyukqKTzpKukq6S3pOWkt6SjpMGk46TzICNKTiCx6bLOss686qS3pKOkwaTjpPMKKyukqKTzpLOkpqTJICNUMzUgsee48qHuCisrpKik86S4pPOkqqSmICNKTiClqKXzpbil87KmCisrpKqhvKSopKSkwaTUobwgI1QzNSCjz6PIo9AKKyukqqSipKSkvaTmobyk26G8ICNKTiCkqqSipKSkvaXmobyl26G8CisrpKqkpKSqpKSky6TlobykuaTfpL8gI0NKIKSqpKSkqqSkoaKly6XlobylubirpL+hqQorK6SqpKSkqqTepKik6SAjQ0ogpKqkpKGipKrBsKTpCisrpKqkpKS5pL+hvKS1pK+ku6TzICNUMzUgpaqlpKW5pb+hvLruwO8KKyukqqSkpLmkv6SipLWkr6S7pPMgI1QzNSClqqWkpbmlv6G8uu7A7worK6SqpKSkyqTqpOKkyqG8ICNKTiCkqqSkpMqk6qXipcqhvAorK6SqpKSk4CAjVDM1IKWqpaSl4AorK6SqpKSk6SAjVDM1IKSqpKSk6QorK6SqpKaktKTzpMGk5aSmICNUMzUgsqu24r/fCisrpKqkpqTJpKak4aSspN8gI0tLILKmxru997/ACisrpKqkqqSupLOk1qTBpOekpiAjSk4gwuelrqWzyfTEuQorK6SqpKqks6TfpN+kz6TzpMak8yAjSk4gwue+rryqyNPFuQorK6SqpKqkwyAjSk4gjrWOtaXDoaoKKyukqqSqpMSkrSAjSk4gpaqlqqXEpa0KKyukqqSqpMSkrSAjSk4gjrWOtY7CjrcKKyukqqSqpMeko6SopPOkuSAjVDM1IKWqobylx6Wjpail86W5CisrpKqkqqTIpLOk86TXpOqkpKTIICNUMzUgpaqhvKXIpbOl86XXpeqhvKXICisrpKqkqqTIpOogI0tLIMuxCisrpKqkqqTIpOogI1QzNSDLsQorK6SqpKqk36TfpOKkyqG8ICNKTiDC57yqpeKlyqG8CisrpKqkqqTfpN+k4qTKpN8gI0pOIMLnvKrLqMbgyP4KKyukqqSqpN+k36TipOmk6aG8ICNKTiDC57yqpeKl6aXpobwKKyukqqSqpOKk6qSzpKSk8yAjVDM1IMLnv7mls6WkpfMKKyukqqSrpK6ks6StpOekpqS4pOUgI0pOIKWqpaulrqWztrW8+AorK6SqpKukt6SkpMekuaTopKukxqS4pMqktaTzICNDSiCkqqSrpLekpKTHpLmk6KGqpaulxqW4pcqktaTzoaqhqgorK6SqpKuk3yAjSk4gpKqkq6TfCisrpKqkq6TkpPMgI0pOILW21N2hoQorK6SqpKuk5KTzICNKTiCOtY62jtSO3aGhCisrpKqkq6TspLkgI1QzNSCyrKXspbkKKyukqqSspO8gI1QzNSC+rsDuCisrpKqkryAjVDM1ILH8CisrpKqkr6TspLkgI1QzNSDD2aXspbkKKyukqqSwpOogI1QzNSC+rreqCisrpKqksaSkpM+k8yAjSk4gpKqksaSkpM+k8worK6SqpLGkpKTPpPMgI1QzNSCkqqSxpKSkz6TzCisrpKqksqTepPMgI1QzNSClqqWypd6l8worK6SqpLOkzqTfpLik56SmpOYgI0pOIKSquaWk377fzP0KKyukqqS1pLek36TipMqhvCAjSk4gpKqktaS3pN+l4qXKobwKKyukqqS1pNWkzaG8pOikq6TDpLOkpqSjpLqk4qTGpM2hvKTopMikuKSrpMOksyAjSk4gpaqltaXVpc2hvKXoocp3aXRooaGl4qXGpc2hvKXoocsKKyukqqS1pN6k06TzpOmkx6SjpPMgI0pOIKWqpbWl3qXTpfOl6aXHpaOl8worK6SqpLWk6aG8ICNKTiCkqruuobwKKyukqqS1pOmhvCAjSk4gpKq7rqG8IAorK6SqpLWk7CAjVDMwIKWqpbWl7AorK6SqpLak76TipMqkqyAjSk4gvq7C9KXipcqlqworK6SqpLekqKTGpK+k8yAjVDM1ILa1pKikxrevCisrpKqkt6SqICNKTiCkqrH2CisrpKqkt6SqICNUMzUgpKqx9gorK6SqpLek6qS5ICNKTiClqqW3peqluQorK6SqpLek6qTapPOk2qTzICNDSiClqqW3peql2qXzpdql8yEgCisrpKqkt6TqpNqk86TapPMgI0NKII61jryO2I7Njt+O3Y7Njt+O3SEgCisrpKqkt6TqpPKkqqSspOCkpKSkpPOkq6SkICNKTiCh+qH6ofqkqr+spPLH0qTgsNGw97Lxofqh+qH6CisrpKqkt6TqpPKkqqSspOCkpKSkpPOkq6SkICNKTiCh+qH6ofqkqr+spPLH0qTgsNGw97Lxofqh+qH6IAorK6SqpLik46TepLik5yAjSk4gpKqluKXjy+K99worK6SqpLik86SsobykvKTDpMggI0pOIKWqpbil86WsobxaCisrpKqkuKTzpKykoqS8pMOkyCAjSk4gpaqluKXzpayhvFoKKyukqqS5pK4gI1QzNSCkqr/5CisrpKqku6G8pO0gI0NKIKSqpLuhvKTtCisrpKqku6SopO0gI0NKIKSqpLuhvKTtCisrpKqku6TtpMek4qS3pOikpqToICNDSiClqqW7pe2kx6TipLek6KSmpOgKKyukqqS9pOykuSAjVDM1IMPZpeyluQorK6SqpL+krKTqICNUMzUgpaqlv7ztpOoKKyukqqS/pK2k5aSmICNLSyCl8qW/td4KKyukqqS/pK2k5aSmICNUMzUgpfKlv7XeCisrpKqkv6S3pOWkpiAjVDM1IKWqpb+9rQorK6SqpL+kwKSkpLek5aSmpLSkpiAjSk4gpaqlv8Lnvbi55worK6SqpL+k66TDpK8gI1QzNSClqqW/peulw6WvCisrpKqkwKSupOqk4qTKobwgI0pOIKWqpcClrqXqpeKlyqG8CisrpKqkwaTjpM6k3iAjSk4gpKrD46TOtNYKKyukqqTDpMihvKTBpOOk8yAjSk4gpaqlw6XIobykwaTjpPMKKyukqqTEICNUMzUgsrUKKyukqqTEpKukpCAjS0sgsrWy8QorK6SqpMSkq6TsobwgI0NKILK1paul7KG8CisrpKqkxKSrpOyhvCAjVDM1ILK1paul7KG8CisrpKqkxKSrpOykqCAjVDM1ILK1paul7KG8CisrpKqkxKTIpKukpKTDpL+k5KTEpLekzSAjQ0ogsrWkyKSruMCkw6S/xdu74KTNCisrpKqkxaTpICNKTiClqqXFpekKKyukqqTHpLihvKTJICNKTiClqqXHpbihvKXJCisrpKqkx6TzICNUMzUgpKqkx6TzCisrpKqkx6TzpN6k8yAjSk4gpKqkx6Tzpd6l8worK6SqpMek86TepPMgI1QzNSCkqqTHpPOk3qTzCisrpKqkyKG8pMGk46TzpNykw6StpLek56SmpKykpCAjSk4gpKqkyKG8pMGk46Tzy9a1r77js7IKKyukqqTIpKak1SAjSk4gpKqkyKSmpNUKKyukqqTIpLOkyaTzICNUMzUgtMHQpworK6SqpMikuKTjICNUMzUgxO+81AorK6SqpMikv6SxICNKTiCj2snwCisrpKqkyKS/pLEgI0pOUyClqqXIpb+lsQorK6SqpMikv6SxICNUMzUgo9q8sAorK6SqpMikv6SxICNUMzUgo9rJ8AorK6SqpMikv6SxpKQgI0pOIKWqpcilv7e6CisrpKqkyKS/pLGkpCAjVDMwIKWqpcilv7e6CisrpKqkyKS/pLGkpCAjVDM1IKWqpcilv7e6CisrpKqkyKS/pLGksqTzpLmkpCAjSk4gpaqlyKW/pbG4tb/jCisrpKqkyKTKICNUMzUgpPKkyKTKCisrpKqkyKTKpM6krqSzpK6ks6S/ICNKTiDC57/NpM61vLjFpa6ls8LACisrpKqkyKTepOsgI0pOIKPatN0KKyukqqTIpOEgI1QzNSC0wb33CisrpKqkyaTqICNUMzUgpKqkyaTqCisrpKqkyiAjQ0ogpKqkygorK6SqpMqhvKTLICNUMzAgpaqlyqG8pcsKKyukqqTKobykyyAjVDMwII61jsWOsI7GCisrpKqkyqSspKSkt6TepLkgI0NKIKSqpMqkrKSkpLek3qS5CisrpKqkyqSspKSkt6TepLkgI0pOIKSqpMqkrKSkpLek3qS5oaEKKyukqqTKpLek5aTfICNDSiCkqqTKvPHMoworK6SqpMqkt6TlpN8gI1QzNSCkqqTKvPHMoworK6SqpMqky6G8ICNUMzAgpaqlyqXLobwKKyukqqTKpMukpKS5pOwgI1QzNSClqqXKpcuhvKW5pewKKyukqqTKpMukuaTIICNUMzUgpaqlyqXLpbmlyAorK6SqpMqkzKG8ICNUMzAgpaqlyqXMobwKKyukqqTKpMyhvCAjVDMwII61jsWOx46wCisrpKqky6SkpMuk76TDpMGk56SkICNKTiCkqqTLobyky6XvpcOlwaXnpaQKKyukqqTLpK6k6iAjSk4gpKqky6SupOoKKyukqqTLpK6k6qSmpMCkpKS4pPMgI0pOIKSqpMukrqTqsabC57/DCisrpKqky6SupOqkrKTKobwgI0pOIKSqpMukrqTqpaylyqG8CisrpKqky6SupOqkuKSkpLWk8yAjSk4gpKqky6SupOqkuKSkpLWk8worK6SqpMukrqTqpLik46SuICNKTiCkqqTLpK6k6qW4peOlrgorK6SqpMukrqTqpLmk6aSkpOAgI0pOIKSqpMukrqTqpbml6aWkpeAKKyukqqTLpK6k6qS7pKSkyCAjSk4gpKqky6SupOrAuMXMCisrpKqky6SupOqku6TzpOikpqSipMOkrKSkICNKTiCkqqTLpK6k6sDszdGloqXDpaylpAorK6SqpMukrqTqpL+k4qTqICNKTiCkqqTLpK6k6qW/oful6gorK6SqpMukrqTqpMCk8yAjSk4gpKqky6SupOrDxAorK6SqpMukrqTqpMak86S3ICNKTiCkqqTLpK6k6sW3u8gKKyukqqTLpK6k6qTIpKYgI0pOIKSqpMukrqTqxd4KKyukqqTLpK6k6qTIpKYgI0pOIKSqpMukrqTqxd4gCisrpKqky6SupOqk0KTzpMkgI0pOIKSqpMukrqTqpdCl86XJCisrpKqky6SupOqk0qTDpK2hvCAjSk4gpKqky6SupOql0qXDpa2hvAorK6SqpMukrqTqpNuk86TdICNKTiCkqqTLpK6k6svcyt4KKyukqqTLpK6k6qTgpK2k4KStICNKTiCkqqTLpK6k6qXgpa2l4KWtCisrpKqky6SupOqk4qTKobwgI0pOIKSqpMukrqTqpeKlyqG8CisrpKqky6SupOqk76TDpMGk56SkICNKTiClqqXLpa6l6qXvpcOlwaXnpaQKKyukqqTLpO+k6qG8pMogI1QzNSClqqXLpe+l6qG8pcoKKyukqqTLpO+k6qSkpMogI1QzNSClqqXLpe+l6qG8pcoKKyukqqTNICNUMzUgpKqkzQorK6SqpM2kpKS1pPMgI1QzNSCkqqTNpKSktaTzCisrpKqkz6TKpNCkv6SxICNUMzUgpKqy1siqCisrpKqkz6TopKakuKTnICNUMzUgpKqkz6TnpKWmyaGrpOcgCisrpKqk0KTBpOOk8yAjVDM1II61jsqO3o7BjqyO3QorK6SqpNCkwaTjpPMgI1QzNSClqqXQpcGl46XzCisrpKqk0KTBpOWkpiAjVDM1IKSqpNC/3worK6SqpNCkwaTlpKYgI1QzNSClqqXQv98KKyukqqTRobykpCAjVDM1IKWqpdGhvKWkCisrpKqk0aSipKQgI1QzNSClqqXRobylpAorK6SqpNOkv6TLpN2kw6TIICNKTiDC08Orpd2lw6XICisrpKqk1aSrpKQgI1QzMCClqqXVsvEKKyukqqTVpOmkpKTzpNOk5aG8pO8gI0tLIKWqpdWl6aWkpfOl06Xlobyl7worK6SqpNakxCAjVDM1ILH4yqoKKyukqqTZpOSk6qG8pMogI1QzNSClqqXZpeSl6qG8pcoKKyukqqTZpOSk6qSkpMogI1QzNSClqqXZpeSl6qG8pcoKKyukqqTZpOmk6qG8pMogI1QzNSClqqXZpeml6qG8pcoKKyukqqTZpOmk6qSkpMogI1QzNSClqqXZpeml6qG8pcoKKyukqqTZpPOkyKSmpKakpKTzpMqkoiAjVDM1IKSqytvF9qWmpaSl86XKobwKKyukqqTeobyk6SAjVDM1IKSqpN6hvKTpCisrpKqk3qSkpOogI0pOIKSqu7Kk6gorK6SqpN6kqKSrpMuhvCAjSk4gpaql3qWopauly6G8CisrpKqk3qSopKykxqTbpPOk8qTfpLuk7aToICNDSiCkqsGwpKy86svcpPK4q6S7pO2k6KHKofej97nTCisrpKqk3qSopKykyqG8ICNKTiClqqXepailrKXKobwKKyukqqTepKikr6TeobwgI0pOIKWqpd6lqKWvpd6hvAorK6SqpN6kqKS3pM2hvCAjSk4gpaql3qWopbelzaG8CisrpKqk3qSopLik46SsobwgI0pOIKWqpd6lqKW4peOlrKG8CisrpKqk3qSopLik46SsobwgI0pOIKWqpd6lqKW4peOlrKG8IAorK6SqpN6kqKS4pOOkzaG8pL4gI0pOIKWqpd6lqKW4peOlzaG8pb4KKyukqqTepKikwKSxICNKTiClqqXepailwKWxCisrpKqk3qSopMCksSAjSk4gpaql3qWopcClsSi45sGwwvspCisrpKqk3qSopMCksSAjSk4guObBsML7CisrpKqk3qSopMCkyqG8ICNKTiCkqqTepKikwKTKobwKKyukqqTepKikwKTLICNKTiClqqXepajDqworK6SqpN6kqKTPpL+k86TtpPOkqyAjQ0ogpKrBsKTPpb+l86Gmpe2l86SroakKKyukqqTepKik4qSrobwgI0pOIKWqpd6lqKXipauhvAorK6SqpN6kqKTipMKk46G8ICNKTiClqqXepail4qXCpeOhvAorK6SqpN6kqKTipMqhvCAjQ0ogpaql3qWopeKlyqG8CisrpKqk3qSopOKkyqG8pM+k8yAjSk4gpaql3qWopeKlyqG8tMAKKyukqqTepKik4qTKpKIgI0NKIKWqpd6lqKXipcqhvAorK6SqpN6kqKTipMqktKSmICNKTiBPTUFFTU9OQbnmCisrpKqk3qSopOKky6TjobwgI0pOIKSqpN6kqKTipMuk46G8CisrpKqk3qSopOKk0qTjICNKTiClqqXepail4qXSpeMKKyukqqTepPOkuKTlpKYgI1QzNSCkqvG9xqwKKyukqqTfpKKkpKS5pOuk4qTppOmhvCAjSk4gpKq4q7nnpKSkuaTrpeKl6aXpobwKKyukqqTfpMik7aTzICNUMzUgpaql36XIpe2l8worK6SqpOCkuaTTICNKTiCkqqTgpLmk0worK6SqpOGhvKTpICNUMzUgpKqk4aG8pOkKKyukqqThpKSk0KTzpKukpCAjQ0ogsfjMvsjUsvMKKyukqqThpKwgI1QzNSClqqXhpawKKyukqqThpKykoqTppLcgI1QzNSCm2LnTpOmktworK6SqpOGkrKTBpPMgI1QzNSCm2MTBCisrpKqk4qTVICNDSiC716TVCisrpKqk4qTppL+kq6TSpO0gI0pOIMj4peKl6c60ubAKKyukqqTipO+k7CAjQ0ogu9ek76TsoaMKKyukqqTipO+k7CAjVDM1ILvXpO+k7AorK6SqpOSks6TapPOkrqTzICNKTiC/xrvSpdql86WupfMKKyukqqTqICNLSyDdoworK6SqpOogI1QzNSDdoworK6SqpOqkrSAjVDM1IKWqpeqlrQorK6SqpOqkxaTrMTSk3qTzpNCk16TtpLikp6SvpMggI0NKIMDepOrE4TE0y/yxqaXXpe2luKWnpa+lyAorK6SqpOqkz6TppNak6SAjVDM1IMDeuLal1qXpCisrpKqk6qTZpO2k06G8ICNUMzUgv6XJ9KXtpdOhvAorK6SqpOqk2aTtpNOkpCAjVDM1IL+lyfSl7aXTobwKKyukqqTqpOekpqTqpKqkzaSopLWk8yAjSk4gpKrOwc39pKq70KS1pPMKKyukqqTrpLmkxqTDpMkgI0pOIKWqpeuluaXGpcOlyQorK6SqpOykqqTzpMogI1QzNSCytr33CisrpKqk7KS1pN4gI1QzNSCyts3NCisrpKqk7KS1pN6k6KSmpLekqqTqICNUMzUgsrbNzc3RpLekqqTqCisrpKqk7KTAobwgI0pOILK2pMChvAorK6SqpOyky6S1pO+ksKSqpNUgI1QzNSCytqTLwfuksKWqpdUKKyukqqTspM+k3qTBpKykpKTKpK+kpKTDpNGk86S4pPMgI1QzNSCytqTPtNaw46SkpMqkr7DsyMy/zQorK6SqpOyk4qTKobwgI0NKIKWqpeyl4qXKobwKKyukqqTspOKk7KTiICNUMzUgsrbPs6TspOIKKyukqqTvpMOkv6TKICNKTiAooaahvKGmocuOtY7cjq+OwI7FjqWOpY6lCisrpKqk76TDpL+kyiAjSk4gpaql76XDpb+lyqGmoaahpgorK6SqpO+kw6S/pMogI0pOII61jtyOr47AjsWOpY6ljqUKKyukqqTzpL+kpCAjVDM1ILK5wtMKKyukqqTzpL+kpCAjVDM1ILjmwucKKyukqqTzpN+k56SmpLggI0pOILGizdu71QorK6SqpPOk6qSopPMgI1QzNSBPbmxpZW4KKyukqyAjUjVyILztCisrpKuhvKTJpK2k46TXpL+hvKTipMqhvCAjSk4gQ0Ol4qXKobwKKyukq6SkpLOkt6TlpK4gI1QzNSCy+7jFvOe1wQorK6SrpKSku6TzICNUMzUg4c7h/QorK6SrpKSku6TzpK2kw6TGpK+k06TEpMOkxqS3pM0gI0NKILLzwP7A2qTDpMa888TfpMOkxrvhpM0KKyukq6SkpLuk86StpMOkxqSvpNOkxKTDpMakt6TNICNKTiCy88D+wNqkw6TGvPPE36TDpMa74aTNCisrpKukpKTGpK2k1qTppKaktqG8ICNLSyCy98Wspdal6aWmpbahvAorK6SrpKSkyaSmICNLSyCy8caxCisrpKukpKTJpKYgI0tLILL4xrgKKyukq6SkpMmkpiAjS0sgs7nGuworK6SrpKSkyaSmICNUMzUgsvHGsQorK6SrpKSkyaSmICNUMzUgsvjGuAorK6SrpKSkyaSmICNUMzUgs7nGuworK6SrpKSk1aSvpLmk0aS5pNGk4qTKobykrKSvICNKTiCy88n8pbml0aW5pdGl4qXKobyz2AorK6SrpKSk2KSkpLWk8yAjSk4gs6vKxKS1pPMKKyukq6SkpO+k7CAjVDM1IKWrpaSl76XsCisrpKukqCAjQ0ogpKukqAorK6SrpKikx6TkpMSk6SAjVDM1IKSrpKikx6TkpMSk6QorK6SrpKik7CAjQ0ogKI6los+OpSmOto60jtohCisrpKukqKTsICNDSiChyqGmos+hpqHLjraOtI7aIQorK6SrpKik7CAjQ0ogpaulqKXsCisrpKukqKTsICNDSiClq6WopewhCisrpKukqKTsICNDSiCOto60jtohCisrpKukqKTsICNUMzUgpaulqKXsCisrpKukqqTipLggI1QzNSC06cq4u/oKKyukq6SqpOKkuKS1pK+ku6SkpKSk6aSkICNUMzAgtOnKuLv6uu7ArrDNzeoKKyukq6SspOQgI0s1ciC1sQorK6SrpKyk5KSxICNDSiC1saSxCisrpKukrKTkpLEgI1QzNSC1saSxCisrpKukrKTvICNUMzUgueHA7gorK6SrpK2ksyAjTTVyIL3xpK25/gorK6SrpK2ksyAjVDMwIKWrpa2lsworK6SrpK2k56SmpKSk86TOpOqkoqStpMikz6TzpKukwaTOpMGk56SmpLuk86S4pOekpiAjSk4gsta1/rGhxbXMwKTIpc+l86WrpcGkzsSpwO++9QorK6SrpK4gI0tLILiwCisrpKukriAjVDM1ILiwCisrpKukrqTDpLMgI1QzNSC4sKTDu9IKKyukq6SvpMmkyKSrICNDSiCz0cXZpMikqworK6SrpK+ky6SkpL8gI0NOILPRvNHIxAorK6SrpK+k2KTzICNUMzAgs87K0QorK6SrpK+k2KTzICNUMzUgs87K0QorK6SrpK+k6KSmICNUMzUgxOHC6worK6SrpK+k6iAjVDMwILPWzqUKKyukq6SvpOqkpKS/ICNDTiCz1s6lyMQKKyukq6SvpOqkpKS/ICNUMzUgs9bOpcjECisrpKukr6TqpKSkv6TOpKukr6TqpKSkvyAjVDM1ILPWzqXIxKTOs9bOpcjECisrpKuksKS3ICNUMzUgueG28bvVCisrpKuksiAjVDM1IGthZ2UKKyukq6SzpKQgI0tZIKWrpbOlpAorK6SrpLOkpKSkICNUMzUgpauls6WkpaQKKyukq6SzpO2ksCAjVDM1ILLhte6l7aWwCisrpKuks6TvpOsgI0tZIKWrpbOl76XrCisrpKuks6TvpOukpCAjVDM1IKWrpbOl76XrpaQKKyukq6S0ICNKTiCkoqSkpNyk8worK6SrpLQgI0pOILLDuO4KKyukq6S1ICNKTiC7sQorK6SrpLUgI1QzNSC7sQorK6SrpLWhvKTqICNKTiClq6W1obyl6gorK6SrpLWkq6S1ICNKTiClq6W1paultQorK6SrpLek76TiobykwSAjSk4gpault6XvpeKhvKXBCisrpKukuaTGpOsgI0tLIKWrpbmlxqXrCisrpKukuaTGpOsgI1QzNSClq6W5pcal6worK6SrpLogI1QzNSC/9KKqCisrpKukuqS4pLWk8yAjVDM1IL/0u/qktaTzCisrpKukuqTkpLik66S3ICNUMzUgv/SiqgorK6SrpLukraS5pOwgI1QzNSCyvcDQpbml7AorK6SrpL2kpKS/ICNUMzUgsuHBwsjECisrpKukvaSmpOKkyqG8ICNKTiCy0MHypeKlyqG8CisrpKukvyAjUjUg8dkKKyukq6S/ICNSNXIg8dkKKyukq6S/pKykwSAjVDMwIMrSpaylwQorK6SrpL+k5KSqICNUMzAgytKl5KWqCisrpKukv6TqICNUMzUg8dmk6gorK6SrpL+k76TpobwgI0pOIKWrpb+l76XpobwKKyukq6TBpLCk36TppKSk8yAjVDM1IL6hwcik36XppaSl8worK6SrpMGk5aG8pLek4yAjS0sgpKukwaTlocGkt6TjCisrpKukwaTlobykt6TjICNUMzUgpKukwaTlocGkt6TjCisrpKukwaTlobykt6TjpLWk8yAjSk4gpKukwaTlocGkt6TjpLWk8worK6SrpMGk5aSmpLek4yAjVDM1IKSrpMGk5aHBpLek4worK6SrpMGk56SmICNUMzUgst3EuQorK6SrpMOksaG8ICNDSiCkq6TDpLGhvAorK6SrpMOksaG8ICNUMzUgpKukw6SxobwKKyukq6TDpLGkqCAjQ0ogpKukw6SxobwKKyukq6TDpLOkpKSkICNUMzUgpaulw6WzpaSlpAorK6SrpMOkyKTipMqhvCAjSk4gpaulw6XIpeKlyqG8CisrpKukw6TRICNLSyCyz8a4CisrpKukw6TRICNUMzUgss/GuAorK6SrpMOk0aS4pOOkyqSkpOggI0pOIKWrpcOl0aS4pOOkyqSkpOgKKyukq6TDpNGkw6TRobwgI0pOIKWrpcOl0aXDpdGhvAorK6SrpMQgI0pOILnuCisrpKukxCAjVDM1ILnuCisrpKukxKTepL8gI1QzNSC+ocvzCisrpKukxKTzICNUMzUgpaulxKXzCisrpKukxqS0pOogI1QzNSClq6XGpbSl6gorK6SrpMikpqS4pOWk6iAjSk4gssPGo6W4peWl6gorK6SrpMikpqS4pOek5qSmICNUMzUgsrzF+b33zaUKKyukq6TIpKak5qSrICNKTiCyw8ajzbO54QorK6SrpMmk3qTvpPMgI0tLIKWrpcml3qXvpfMKKyukq6TJpN6k76TzICNUMzUgpaulyaXepe+l8worK6SrpMqhvCAjSk4gpaulyqG8CisrpKukyyAjS0sgs6oKKyukq6TLICNUMzUgs6oKKyukq6TLpNCk6yAjSk4gKKGmxvmhpikKKyukq6TLpNCk6yAjSk4gpauly6XQpesKKyukq6TNpM2hvKToICNKTiClq6XNpc2hvKXoCisrpKuk06SqpMukrqTqICNLSyClq6XTpaqly6WupeoKKyukq6TTpKqky6SupOogI1QzNSClq6XTpaqly6WupeoKKyukq6TTpPOkv6TzICNKTiCy1snTpL+k8worK6SrpNWkp6G8ICNKTiClq6XVpaehvAorK6SrpNYgI1I1IKSrpNYKKyukq6TWpLekraSspKSkt6TjpOSkqqStpPMgI0tLILP0vLCy8bzSpeSlqqWtpfMKKyukq6TWpLekraSspKSkt6TjpOSkqqStpPMgI1QzNSCz9LywsvG80qXkpaqlraXzCisrpKuk1qTIpOCktyAjVDM1IKWrpdalyKXgpbcKKyukq6TXobyk66SkpL8gI0NOIKWrpdehvKXryMQKKyukq6TXobyk66SkpL8gI1QzNSClq6XXobyl68jECisrpKuk16G8pOukpKS/ICNUMzUgjraOzI7fjrCO2cjECisrpKuk16SmpOukpKS/ICNUMzUgpaul16G8pevIxAorK6SrpNekpqTrpKSkvyAjVDM1II62jsyO346wjtnIxAorK6SrpNek86SzICNKTiAojqWiz46lKaXOoaEKKyukq6TXpPOksyAjSk4gpaul16XzpbOhqgorK6SrpNkgI1QzNSDKyQorK6SrpN6kyaSmpN6koqTppLcgI0pOIKWrpd6lyaWmpd6506TppLcKKyukq6TfICNKTiC75gorK6SrpN8gI1QzNSC/wAorK6SrpN+kq6S8pMikw6SzpKakv6SkICNKTiC/wMn3xsO5tsLiCisrpKuk36SzpKak6qTzICNUMzUgv8C5387XCisrpKuk36S1pK+krCAjVDM1IL/Auu6y6AorK6SrpN+kyqTqpLCk66G8pNcgI0pOIM3rpbCl66G8pdcKKyukq6TfpMqk6qSwpOuhvKTXICNUMzUgzeulsKXrobyl1worK6SrpN+kyqTqpLCk66SmpNcgI1QzNSDN66WwpeuhvKXXCisrpKuk36TOpLikpKTGpKOkpKSqpKYgI1QzNSC/wKTOR1RPCisrpKuk36TOpMqk5KTfpM+k6qG8pNaky6S4pOWkpqSkpMEgI0pOIMixpM7HuqTfpM+l6qG8pdajsqOxCisrpKuk4SAjVDM1ILW1CisrpKuk4SAjVDM1ILW1pd6l3gorK6SrpOGk3qTeICNUMzUgtbWl3qXeCisrpKuk4aTipMqhvCAjSk4gpaul4aXipcqhvAorK6SrpOGk4qTKobyksKTsobykyCAjSk4gpaul4aXipcqhvKWwpeyhvKXICisrpKuk4aTspLkgI1QzNSC1taXspbkKKyukq6ThpPOk6aSkpMChvKSipK6ksyAjSk4gsr7MzKXppaSlwKG8paKlrqWzCisrpKuk4aTzpOmkpKTAobykoqSupLMgI0pOILK+zMyl6aWkpcChvKWipa6lsyAKKyukq6ThpPOk6aSkpMChvKSipN6kvqTzICNKTiCyvszMpemlpKXAobyloqXepb6l8worK6SrpOGk86TppKSkwKG8pK6k66S5ICNKTiCyvszMpemlpKXAobylrqXrpbkKKyukq6ThpPOk6aSkpMChvKSupOukuSAjSk4gsr7MzKXppaSlwKG8pa6l66W5IAorK6SrpOGk86TppKSkwKG8pLSk66ShpMOkryAjSk4gsr7MzKXppaSlwKG8R09MQUNLCisrpKuk4aTzpOmkpKTAobykt6SjpLmk6qG8ICNKTiCyvszMpemlpKXAobykt6Sjo7MKKyukq6ThpPOk6aSkpMChvKS3pKOkuaTqobwgI0pOILK+zMyl6aWkpcChvKS3pKOjsyAKKyukq6ThpPOk6aSkpMChvKS3pKOkuaTqobykqKTDpK+kuSAjSk4gsr7MzKXppaSlwKG8pLeko6Ozod2j2AorK6SrpOGk86TppKSkwKG8pLeko6S5pOqhvKSopMOkr6S5ICNKTiCyvszMpemlpKXAobykt6Sjo7Oh3aPYIAorK6SrpOGk86TppKSkwKG8pLmkyKTtpPOkrKG8ICNKTiCyvszMpemlpKXAobyluaXIpe2l86WsobwKKyukq6ThpPOk6aSkpMChvKTipKakyiAjSk4gsr7MzKXppaSlwKG8peKlpqXKCisrpKuk4qS5ICNTNSC++qS5CisrpKuk4qThICNUMzUgsqoKKyukq6TppKKkrqTjpPOksCAjVDM1IKWrpemhvKWupeOl86WwCisrpKuk6aSipLIgI1QzNSDF4s3IpLIKKyukq6TppK2k3qS3pL8gI0NKIKSrpOnN6KTepLekvworK6SrpOmkuSAjSk4gsagKKyukq6TrpL+k8yAjSk4gpaul66W/pfMKKyukq6Tsobyk0aS9pN6kvSAjSk4gpaul7KG8pdGlvaXepb0KKyukq6Tsobyk0aTzpN6k8yAjSk4gpaul7KG8pdGl86XepfMKKyukq6Tsobyk0aTzpN6k8yAjSk4gjraO2o6wjsqO347djs+O3QorK6SrpOykpKS3pOWkpqS/pMCk6KSmICNDSiCyw87wva3JuqSmCisrpKuk7KTPICNUMzUguM/N1QorK6SrpO+ktaSuICNUMzUgwO66vrW9CisrpKuk76S3pN6koqTFpN8gI0pOIMDuxefPwsTFvMIKKyukq6TzICNUMzUgtLAKKyukq6TzpKuk86TJpKak6qTEICNLSyC02LTYxrHOqQorK6SrpPOkq6TzpMmkpqTqpMQgI1QzNSC02LTYxrHOqQorK6SrpPOkrKSvpLSkraTWpOogI0pOILTYs9iltKWtpdal6gorK6SrpPOkrKTrobyk4qTKobwgI0pOIKWrpfOlrKXrobyl4qXKobwKKyukq6TzpK+k7aSmICNKTiClq6Xzo7mjtgorK6SrpPOkr6TtpKYgI0pOILSqtuzPqworK6SrpPOkr6TtpKYgI1QzNSClq6Xzo7mjtgorK6SrpPOkr6TtpKYgI1QzNSC0qrbsz6sKKyukq6TzpLMgI1I1IKWrpfOlsworK6SrpPOksyAjUjVyIKWrpfOlsworK6SrpPOks6SvICNLSyC0r7nxCisrpKuk86SzpK8gI0tLILSvufMKKyukq6TzpLOkryAjS0sg1aG58QorK6SrpPOks6SvICNUMzUgtK+58QorK6SrpPOks6SvICNUMzUgtK+58worK6SrpPOks6SvICNUMzUg1aG58QorK6SrpPOks6SvpMik6iAjVDM1ILTaufGkyKTqCisrpKuk86SzpK+kyKTqICNUMzUgtNq58aTIpOogCisrpKuk86SzpMOkryAjS0sgpaul86WzpcOlrworK6SrpPOks6TDpK8gI1QzNSClq6XzpbOlw6WvCisrpKuk86SzpMmk6iAjSk4gtNe4xcS7CisrpKuk86S1pKSk1aShpKSk1qS5pL+koiAjVDM1ILTYwL6l1aWhpaSl1qW5pb+hvAorK6SrpPOktaTzpMikt6S/pMek86S3pOMgI0pOILTXu7akyKS3pL/FxbzWCisrpKuk86S3pOOkz6TgpMukwCAjQ0ogtLa81aXPpeCly6XACisrpKuk86S4pO+k66SkICNUMzUgtLakuLCtpKQKKyukq6TzpMGk56SvpMuk8yAjVDM1ILTJxL6/zQorK6SrpPOkxqSkpLcgI1QzNSC01cTqu84KKyukq6TzpMakpKS5pOwgI1QzNSC01cTqpbml7AorK6SrpPOkxqSkpMik6qSqICNUMzUgtNXE6qXIpeqlqgorK6SrpPOkxqSkpMuk86SvpN+koqSkICNUMzUgtNXE6r/Nwci55worK6SrpPOkxqSkpOikpqS0ICNUMzUgtNXE6s3RuOwKKyukq6TzpMikpqTPpMCkq6SrpKQgI0pOILTYxezN57LxCisrpKuk86TIpPMgI0tLIKWrpfOlyKXzCisrpKuk86TIpPMgI1QzNSClq6Xzpcil8worK6SrpPOkyqSqpMggI0pOILSvxL6/zQorK6SrpPOkyqSqpMggI0pOILSvzL6yuworK6SrpPOkyqSqpMggI0pOILTaxL6/zQorK6SrpPOkyqSqpMggI0pOIL/7xL6/zQorK6SrpPOkyqSqpMggI1QzNSC0r8S+v80KKyukq6TzpMqkqqTIICNUMzUgtK/MvrK7CisrpKuk86TKpKqkyCAjVDM1ILTaxL6/zQorK6SrpPOkyqSqpMggI1QzNSC/+8S+v80KKyukq6TzpM2kpKSzpKakzyAjSk4gtMXHq7a9x8YKKyukq6TzpN6k86S7pKSkyCAjSk4gtLPL/sC4xcwKKyukq6TzpOqkt6TjpLWk86THpLmkqyAjQ0ogtMnN/bzUpLWk86THpLmkq6Gpo/cKKyukq6TzpOqky6TzpNWkoaTkpOQgI1QzNSAmcXVvdDu0yc39JnF1b3Q7v82l1aWhpeSl5AorK6SrpPOk7KTzpLmk7KTDpMkgI1QzNSC02M+ipbml7KXDpckKKyukq6TzpOyk86TqpPOkryAjVDM1ILTYz6Kl6qXzpa8KKyukrKG8pPMgI0NKIKWsqKyorKisocpfp6VfO6HLqKyorKXzoaoKKyukrKG8pPMgI0pOIKWsobyl8worK6Ssobyk8yAjSk4gpayorKisocqO36eljt87KaisqKyl86GqCisrpKyhvKTzICNKTiCmsqHKjt+n1Y7fbGxsocuOto7ejrCO3QorK6SspKSkpKSzpMik8qSkpMOkvyAjQ0ogpKykpKSkpLOkyKTyuMCkw6S/CisrpKykpKStpMEgI1QzNSClrKWkpa2lwQorK6SspKSkt6TlpMQgI1QzNSCkrKSkpLek5aTECisrpKykpKS3pOWkxCAjVDM1ILOwvdAKKyukrKSkpLek5aTEpK2kw6TJICNKTiC0+73Qpa2lw6XJCisrpKykpKS3pOWkxKSvpPMgI0pOIKWspaSlt6XlpcS3rworK6SspKSkvyAjVDM1IKWsyMQKKyukrKSkpMmk6aSkpMqkoiAjVDM1IKWspaSlyaXppaSlyqG8CisrpKykpKTJpOmkpKTzpKSkvyAjVDM1IKWspaSlyaXppaSl88jECisrpKykr6SspK+k1qTrpNak6yAjQ0ogpaylr6Wspa+l1qXrpdal6worK6SspK+krKSvpNak66TWpOsgI0NKII62jt6OuI62jt6OuI7Mjt6O2Y7Mjt6O2QorK6SspK+krKSvpNak66TWpOsgI1QzMCClrKWvpaylr6XWpeul1qXrCisrpKykr6SspK+k1qTrpNak66StpOekpqSzpKak6qTzICNUMzAgpaylr6Wspa+l1qXrpdal67a1ud/O1worK6SspK+k7KStpKKktqTppLcgI1QzNSCz2M7ypaKltqXppbcKKyukrKSvpOykraS4pOWk86SkICNUMzUgs9jO8r3nsMwKKyukrKSvpOykraTBpOWkpqTJpK+kt6TjICNUMzUgs9jO8sPmxse81AorK6SspK+k7KStpO2k86TApOqk86SwICNUMzUgs9jO8qXtpfOlwKXqpfOlsAorK6SspLOkzqS5pOyky6StpOekpqTfpPKk4qTDpL+k6KSmpMekuSAjQ0ogpKyks6TOpbml7KTLtr3Mo6Tyu/2kw6S/pOikpqTHpLkKKyukrKS+pKakoqTDpNek7aG8pMAgI1QzNSCy6MH8paKlw6XXpe2hvKXACisrpKykwSAjVDMwIKWspcEKKyukrKTBICNUMzUgpaylwQorK6SspMGk46TUpPMgI0pOIKWspcGl46XUpfMKKyukrKTDpK+ktyAjQ0ogobJ8obF8ofsKKyukrKTDpK+ktyAjQ0ogb3J6CisrpKykw6SvpLcgI0NKIF9ubworK6SspMOkr6S3ICNDSiBPVEwKKyukrKTDpK+ktyAjQ0ogT1RaCisrpKykw6SvpLcgI0NKIEpUTworK6SspMOktyAjSk4gpaylw6W3CisrpKykw6S3pOWkr6S4pOcgI1QzNSC5573JveoKKyukrKTDpMGk5aTzICNUMzUgpKykw6TBpOWk86H5CisrpKykw6TEICNLSyClrKXDpcQKKyukrKTDpMQgI1QzNSClrKXDpcQKKyukrKTKobwgI0pOIKWspcqhvAorK6SspMqhvKSrpMOks6S4pMSk6KSmpKykv6SrpMOks6TIpLik6yAjSk4gpaylyqG8ocq8ws3Rt7+hyworK6SspMqhvKS/pKSkxqSkICNKTiClrKXKobzC58TrCisrpKykyqG8pL+kpKTGpKQgI0pOIKWspcqhvMLnxOsgCisrpKykyqSyICNDSiClrKXKpbIKKyukrKTKpLIgI0NKII62jt6OxY65jt4KKyukrKTOpL8gI1QzNSClrKXOpb8KKyukrKTPpK8gI1QzNSCy6MfsCisrpKyk4aS1pNAgI0tLILW1u6oKKyukrKThpLWk0CAjVDM1ILW1u6oKKyukrKTqpKyk6qSvpPMgI1QzNSClrKXqpayl6revCisrpKyk6qTZpPMgI0pOIKWsperK2QorK6SspOqk2aTzpOKk6aTpobwgI0pOIKSspOrK2aXipeml6aG8CisrpKyk86SspOsgI1I1ciCkrKTzpKyk6worK6SspPOkrKTrICNUMzUgpayl86WspesKKyukrKTzpNCk66TipMqhvCAjSk4gpayl86XQpeul4qXKobwKKyukrKTzpNwgI1I1IKSspPOk3AorK6SspPOk3CAjUjVyIKSspPOk3AorK6SspPOk4KTPpPOkyaTrpM2kqKTgpOKk86TApKQgI1QzNSC9xsy0SE7M5MLqCisrpK2kpCAjS0sguLAKKyukraSkpMakoqTtpKik6qG8pMogI0NKIKStpKSkxqWipe2lqKXqobylyqL2CisrpK2kpKTGpKKk7aSopOqhvKTKICNUMzUgpK2kpKTGpaKl7aWopeqhvKXKovYKKyukraSkpMukt6StICNUMzUgpa2hvKXLpbelrQorK6StpKSk7SAjVDM1ILKrv6cKKyukraSmpKQgI1QzNSClraWmpaQKKyukraSopKSk3KS5pOykuKSxpPMgI1QzNSClraWoobyl3KW5pey79rfvCisrpK2kqyAjSk4gtaKyvQorK6StpKukpKSrpLGkpKTbpKYgI0pOILWhs6OyvbfZyvMKKyukraSsobwgI0pOIKWtpayhvAorK6StpK2hvKTzICNKTiClraWtobyl8worK6StpK8gI1QzNSC1xgorK6StpLGkpKSqpMukrqTqICNKTiC08bfBpKqky6SupOoKKyukraSxpKSk4qTppOmhvCAjSk4gtPG3waXipeml6aG8CisrpK2ktKTKpNMgI0tLIKWupbOlyqXTCisrpK2ktaTepLSkyKStpKykyKTKpN+k8qSrpL+k66TKICNKTiC1rs3Nx6GkraSspcilyqXfpPK47KTrpMoKKyukraS1pN6kuKTjpMqhvCAjSk4gpa2ltaXepbil46XKobwKKyukraS3pOMgI1QzNSC1rbzUCisrpK2kt6TlpKSkvaTzpOKkuCAjVDM1ILWhvO+wzcK4yri7+gorK6StpLek5aSkpL6k86TipLggI1QzNSC1obzvsM3CuMq4u/oKKyukraS3pOWkpiAjVDMwILTxvbEKKyukraS3pOWkpiAjVDM1ILTxvbEKKyukraS3pOWkxCAjVDM1ILT7vdAKKyukraS3pOcgI0NKIKWtpbel5worK6StpLek5yAjS1lUIKWtpbel5worK6StpLek56SkICNUMzUgpa2lt6XnpaQKKyukraS3pOekqqS/ICNUMzUgpa2lt6XnpaqlvworK6StpLek56TypL8gI1QzNSClraW3peel8qW/CisrpK2kv6G8ICNDSiClraW/qKyorKisqKyorKisqKyorCihrKLPoawpqKyorKisqKyorKisqKyorKisoaqhqgorK6StpL+hvCAjQ0ogpa2lv6isqKyorKisqKyorKisqKwojt+iz47fKaisqKyorKisqKyorKisqKyorKGqoaoKKyukraS/obwgI0NKII63jsCorKisqKyorCihrKLPoayi4SihrKLPoayi4aGsos+hrCmi4aGsos+hrCmorKisqKyorCEhIQorK6StpL+hvCAjQ0ogjreOwKisqKyorKisqKyorKisqKwojt+iz47fKaisqKyorKisqKyorKisqKyorCEhIQorK6StpL+hvCAjSk4gpa2lv6G8ISEhIQorK6StpL+hvCAjSk4gjreOwKisqKyorKisqKwojt+iz47fKaisqKyorKisqKwhISEhCisrpK2kv6SiICNDSiClraW/obwKKyukraS/pKIgI0NKII63jsCOsAorK6StpL+kpKSipLIgI1QzNSC0/MLUYWdlCisrpK2kv6StpOWkpiAjVDM1IMvMo9EKKyukraS/pLWk0KS4pMCkpCAjVDM1IMvMu6q7/sLlCisrpK2kv6TBpOek8yAjVDM1IMvMpcGl56XzCisrpK2kv6TNobyk6CAjSk4gpa2lv6XNobyl6AorK6StpL+kzaG8pPOkwKToICNKTiClraW/pc2hvKXzpcCl6AorK6StpL+kzaTDpMggI0tLIMvMpc2lw6XICisrpK2kv6TipOogI0tLIMvMv7kKKyukraS/pOKk6iAjVDM1IMvMv7kKKyukraTAICNLSyDM2sXECisrpK2kwCAjVDM1IMzaxcQKKyukraTBICNUMzUgpa2lwQorK6StpMEgI1QzNSC08MPPCisrpK2kwaG8pOogI0pOIKWtpcGhvKXqCisrpK2kwaG8pOogI0pOIKXgpauhvKXHodqk4KSrobykx6HbyszMvqWtpcGhvKXqCisrpK2kwaSspKQgI1QzNSClraXBpaylpAorK6StpMGkrKSkICNUMzUgtPDDz7OwCisrpK2kwaSspKQgI1QzNSC08MPPs7IKKyukraTBpKykpKSxpKSk26SmICNKTiC08MPPs7C32crzCisrpK2kwaSspKSksaSkpNukpiAjVDM1IKWtpcGlrKWkt9nK8worK6StpMOks6G8pN6kvSAjSk4gpa2lw6Wzobyl3qW9CisrpK2kw6TBpPMgI1QzNSClraXDpcGl8worK6StpMakoyAjVDM1IKWtpcaloworK6StpMako6StpOWkpiAjVDM1IKWtpcalo7XeCisrpK2kxqTKpKQgI0pOII63jsOOxY6yCisrpK2kxqTKpKQgI0pOII63jsOOxY6yqKyorKisqKyorKisocqO31+O36HLqKyorKisqKyorKisISEhISEKKyukraTIobwgI0pOIKWtpcihvAorK6StpMukpKTppM2hvKToICNKTiClraXLpaSl6aXNobyl6AorK6StpMukt6TKpKQgI0pOIKHKjt+mxY7focuOt47GjryOxY6yISEKKyukraTLpLekyqSkICNKTiClraXLpbelyqWkISEKKyukraTLpLekyqSkICNKTiCOt47GjryOxY6yISEKKyukraTMpKak6aTqpPOkq6SkpMakxKTJpKYgI0pOILDhsbrO17OkxbTGuworK6StpM2k86SrpK2ksyAjVDMwILWtx7Clq6WtpbMKKyukraTNpPOkq6StpLMgI1QzNSC1rcewpaulraWzCisrpK2kzaTzpNGk1KSzICNUMzUgta3HsKXRpdSlsworK6StpM2k86TepK2ksyAjVDM1ILWtx7Diw7Wqu9IKKyukraTOpLMgI1QzNSClraXOpbMKKyukraTOpLMgI1QzNSDC+worK6StpM6ku6G8pMuk4yAjSk4goaGhoSihvKfXsOwpCisrpK2kzqS7obyky6TjICNKTiClraXOpbuhvKXLpeMKKyukraTPpNKk46SvpMukuKTlpKYgI0pOIKWtpc+jsaOyo7AKKyukraTQpPMgI1QzNSDM2sjWCisrpK2k3KG8pPMgI0NKIKStpNyhvKTzCisrpK2k3KG8pPMgI1QzNSCkraTcobyk8worK6StpNyk8yAjQ0ogpK2k3KTzCisrpK2k3KTzICNDSiClraXcpfMKKyukraTcpPOkzCAjQ0ogpK2k3KTzpMwKKyukraTcpPOkzCAjQ0ogpa2l3KXzpcwKKyukraTfpM+k76TApLWk86S0pM6k3yAjQ0ogt6+kz6XvpcCltaXzuaWk3worK6StpOAgI0tLIKStpOAKKyukraTgICNLWSCkraTgCisrpK2k4KSzICNUMzUgpa2l4KWzCisrpK2k4KS1pO8gI0tLIKWtpeDC9AorK6StpOCktaTvICNUMzUgpa2l4ML0CisrpK2k4KS1pO8gI1QzNSDKp8L0CisrpK2k4KTBICNKTiClraXgpcEKKyukraTgpMEgI1QzNSClraXgpcEKKyukraTgpMGk4qTzICNKTiClraXgpcGl4qXzCisrpK2k4KTopPOkuKTzICNKTiC24rHL768KKyukraTgpOik86S4pPMgI1QzNSC24rHL768KKyukraTiICNLWVQgpa2l4gorK6StpOKkpCAjVDM1IKWtpeKlpAorK6StpOKkwaSkpKSks6TIpLek6KSmICNDSiC1pLv9pMGkpKSkpLOkyKS3pOikpgorK6StpOOkw6TIpK2k6aG8ICNKTiClraXjpcOlyKWtpemhvAorK6StpOOkw6TIpK2k6aG8ICNUMzUgpa2l46XDpcilraXpobwKKyukraTjpMOkyKStpOmkoiAjVDM1IKWtpeOlw6XIpa2l6aG8CisrpK2k46TDpM+kuqSrpLcgI0pOIKWtpeOlw6Gipc+luqWrpbcKKyukraTjpMOkz6S6pKuktyAjSk4gjreOrI6voaKOyo69jt6Oto68ocotjsmOyaHLCisrpK2k46TDpNcgI1QzNSClraXjpcOl1worK6StpOOkw6TXpOKk7CAjVDM1IKWtpeOlw6XXz7Ok7AorK6StpOOkzyAjVDM1IKH5CisrpK2k46TUpKQgI0NKIKWtpeOl1KG8CisrpK2k46TXpMakvSAjSk4gpa2l46XXpcalvQorK6StpOOk16TGpL0gI1QzNSClraXjpdelxqW9CisrpK2k46TXpMakvSAjVDM1II63jqyOzI7fjsOOvworK6StpOOk6aTPpPMgI1QzNSClraXjpemlz6XzCisrpK2k5aSmICNUMzUgUQorK6StpOWkpqS1pKSkq6SkICNUMzUgtd+60bLxCisrpK2k5aSmpLcgI0pOILXru8UKKyukraTlpKakt6TlpKYgI1QzNSC127z9CisrpK2k5aSmpLek5aSmICNUMzUgtd69sQorK6StpOWkpqS5pOwgI1QzNSC17KW5pewKKyukraTlpKakwKSkICNUMzUgUcLnCisrpK2k5aSmpMGk46TzpM2k6yAjVDM1ILblpcGl46Xzpc2l6worK6StpOWkpqTGpKOkpCAjVDM1IFFUCisrpK2k5aSmpMakpCAjS0sgtezE6worK6StpOWkpqTGpKQgI1QzNSC13MTuCisrpK2k5aSmpMakpCAjVDM1ILXsxOsKKyukraTlpKakxqTzpKSkwaS0pLiksaTzICNUMzUgOaGmMTW79rfvCisrpK2k5aSmpMak86StpOWkpqTUpPOkr6SspNik8yAjVDM1IDmhpjlwaW5rpKzK0QorK6StpOWkpqTLpK2kzqStpOekpqSkpK+k6aTzpL6kpiAjVDM1ILXsxvO0/KTOtrWw6aGmzfTCpLj4zqmhprnxuPjOqczrtNbJ9AorK6StpOWkpqTepMOkr6SkpL8gI0NOILXso82j4aPjyMQKKyukraTlpKak3qTDpK+kpKS/ICNUMzUgteyjzaPho+PIxAorK6StpOWkpqTtpK8gI0tLILXsz7sKKyukraTlpKak7aSvICNUMzUgtezPuworK6StpOYgI0pOIKWtpeYKKyukraTmICNUMzUgpa2l5gorK6StpOak4aSkpLKk8yAjSk4gpa2l5szCuMAKKyukraTnpKYgI1QzNSC2pworK6StpOekpqSupOWkpqTTpOekpqS3pPOkuKTjICNUMzUgtri17cnCv6681AorK6StpOekpqS1pPMgI1QzNSC2r7vACisrpK2k56SmpLWk86S3pOWkriAjVDM1ILa4u7S857XBCisrpK2k56SmpLWk86S3pOWkriAjVDM1ILa4u7q857XBCisrpK2k56SmpLukpKSipKSkx6SjpKQgI1QzNSC2r8CpSUQKKyukraTnpKaku6SkpLek5aSmpOqk56SmICNKTiC2r8CpvarOuworK6StpOekpqTApKSkzqTbpLSkt6TjICNKTiChyqGmobyhpqHLjt2howorK6StpOekpqTApKSkzqTbpLSkt6TjICNKTiC3u8TvpM7K3bjuvNQKKyukraTnpKakwKSkpOKkyqG8ICNKTiC3u8TvpeKlyqG8CisrpK2k56SmpMCkpKTipMqhvKTOpM+kzyAjSk4gt7vE76XipcqhvKTOyuwKKyukraTnpKakyKSmpLuk86S7pKQgI0pOILa1xqzA6MC4CisrpK2k56SmpMiksaTzICNDTiC1/sXUuKkKKyukraTnpKakyKSxpPMgI0NOUyC1/sXUuKkKKyukraTnpKakyKSxpPMgI1QzNSC1/sXUuKkKKyukraTnpKakyKS3pKqkqqTEpK8gI0NOILX+xdS71MLnxMW26AorK6StpOekpqTIpLekqqSqpMSkryAjQ05TILX+xdS71MLnxMW26AorK6StpOekpqTIpLekqqSqpMSkryAjVDM1ILX+xdS71MLnxMW26AorK6StpOekpqTIpOyk86S4pOOhvCAjSk4gtf7F1KXspfOluKXjobwKKyukraTnpKakz6TzICNUMzUgtqalz6XzCisrpK2k56SmpOakpqStpOOkw6TXICNUMzUgtqbNraWtpeOlw6XXCisrpK2k56SmpOakpqSzpMakz6TzICNUMzUgtqbNraWzpcalz6XzCisrpK2k56SmpOakpqTIpOqkw6TXICNUMzUgtqbNraXIpeqlw6XXCisrpK2k56S4pPMgI1QzNSC19b/QCisrpK2k56TApKSksaSkpLik0KTzICNUMzUgtfDC57fHvKjIxAorK6StpOekwKSkpLGkpKS4pNCk86SwpPMgI1QzNSC18MLnt8e8qMjEt7IKKyukraTnpN+k36TipMqhvCAjSk4gtfC8qqXipcqhvAorK6StpOmk6iAjSk4gocqhsaG8K6GxocuOt47XjtgKKyukraTppOogI0pOIKWtpeml6gorK6StpOmk6iAjSk4gjreO147YCisrpK2k6qSzpN+kv6SkpMGk56SmICNKTiDA2rn+wuLEuQorK6StpOqks6TfpL+kpKTBpOekpqTIpNKk7aTmpK0gI0pOIMDauf7C4sS5pMik0qTtpOakrQorK6StpOqk0KTzICNUMzUgpa2l6qXQpfMKKyukraTqpNCk8yAjVDM1IKWtperI1gorK6StpOqk0KTzpLKkw6S/obwgI1QzNSClraXqyNalsqXDpb+hvAorK6StpOqk0KTzpLKkw6S/pKIgI1QzNSClraXqyNalsqXDpb+hvAorK6StpPMgI1QzNSC24gorK6StpPOkraS4pMmkpiAjSk4gtuG1prv5xrgKKyukraTzpK2kuKTJpKYgI1QzNSC24bWmu/nGuAorK6StpPOksKTipMqk6qS+pPMgI0pOIKWtpfOlsKXipcql6qW+pfMKKyukraTzpLCk7KSqpOKk6qTopLek7aSmICNKTiClraXzpbCl7KWqv7nBsc+vCisrpK2k86TApKQgI1QzNSC24cLlCisrpK2k86TepPOksyAjSk4gpa2l86XepfOlsworK6StpPOk3qTzpLMgI1QzNSClraXzpd6l86WzCisrpK2k86TepPOks6StpOekpiAjS0sgpa2l86XepfOls7a1CisrpK2k86TepPOks6StpOekpiAjVDM1IKWtpfOl3qXzpbO2tQorK6SupKwgI0pOIKWupawKKyukrqSspOGkuSAjSk4gpa6lrKXhpbkKKyukrqSzICNDSiClrqWzCisrpK6ksyAjSk4gpa6lsworK6SupLOhvKSwICNKTiClrqWzobylsAorK6SupLOkoqSkpLkgI0pOIKWupbOloqWkpbkKKyukrqSzpKSkzCAjSk4gpa6ls7ikCisrpK6ks6SmpLUgI0pOIKWupbOlpqW1CisrpK6ks6SopOKk8yAjSk4gpa6ls6SopOKk8worK6SupLOkqKTrICNKTiClrqWzpail6worK6SupLOkq6TvpMCk86S3ICNKTiClrqWzwO7DzLvWCisrpK6ks6SspKik6yAjSk4gpa6ls6Wspail6worK6SupLOkraTnpKakuKTlICNKTiClrqWztrW8+AorK6SupLOkrqSzICNDSiClrqWzpa6lsworK6SupLOkrqSzpLmksSAjSk4gtby4xaWupbO99QorK6SupLOkrqSzpL8gI0pOILW8uMWlrqWzwsAKKyukrqSzpK+ktSAjSk4gpa6ls8HwCisrpK6ks6SxpPOkraTlpKakpKTzICNKTiClrqWzuKa15rD3CisrpK6ks6SzICNKTiChoaGhoqyl4qXKu9Kh2qTipMqks6HboaGhoaGhoaGhoaGhoaGhoaGhoqylrqWzu9IKKyukrqSzpLMgI0pOIKWupbO70gorK6SupLOkuKTJpKakt6TjpKykw6SzpKYgI0pOIKWupbO8q8awvNaz2Lm7CisrpK6ks6S5pL+hvKSwpPMgI0pOIKWupbOluaW/oby3sworK6SupLOkuaS/obyksKTzICNKTiCOt47ejrqOvY7AjrC3sworK6SupLOkuaS/obyksKTzICNKTiCO047FjrCO0Y6wjt23sworK6SupLOku6TzpMikpqSkpPMgI0pOIKWupbPA78ausPcKKyukrqSzpL+kryAjSk4gpa6ls6W/pa8KKyukrqSzpL+k3qSzICNKTiC1vLjFtsy70gorK6SupLOkwaTjpPOk4qTKpMGk46TzICNKTiClrqWzpMGk46TzpeKlyqTBpOOk8worK6SupLOkwaTlpKYgI0pOIKWupbOlwaXlpaYKKyukrqSzpMGk5aSmICNKTiClrqWzv98KKyukrqSzpMSk6qG8ICNKTiClrqWzpcSl6qG8CisrpK6ks6TGpPOkqqSqpK6k6iAjSk4gpa6ls8XAoaHC57TuzfihoQorK6SupLOkyqTTICNLSyClrqWzpcql0worK6SupLOkyqTTICNUMzUgpa6ls6XKpdMKKyukrqSzpM2ksyAjSk4gpa6ls6XNpbMKKyukrqSzpM2ksyAjSk4gpa6ls8etCisrpK6ks6TNpLMgI0pOIKWupbPHraGhCisrpK6ks6TNpLMgI1QzNSClrqWzx60KKyukrqSzpM2ks6TqpOekwKTzpKKkw6TIpMCk86TBpOehvCAjSk4gpa6ls8etzrnDxKH3w8TEuQorK6SupLOkzqS7pPOkviAjSk4gpa6ls6TOwOjBxAorK6SupLOkz6TBICNKTiClrqWzyK0KKyukrqSzpM+ky6Tjobyk8yAjQ0ogpa6ls6XPpcul46G8pfMKKyukrqSzpM+ky6Tjobyk8yAjSk4gpa6ls6XPpcul46G8pfMKKyukrqSzpM+kz6TPICNDSiClrqWzpc+lz6XPCisrpK6ks6TRpO0gI0pOIKWupbOl0aXtCisrpK6ks6TRpO0gI0tLIKWupbOl0aXtCisrpK6ks6TRpO0gI1QzNSClrqWzpdGl7QorK6SupLOk1aSmpNUgI0pOILW8uMXJ18nYCisrpK6ks6TVpLWk6qSqpOukt6TnpKaksKTzICNKTiClrqWzoaal1aW1peqlqqXrvq23sworK6SupLOk2aG8pMChvCAjSk4gpa6ls6XZobylwKG8CisrpK6ks6TaICNLSyClrqWzpdoKKyukrqSzpNogI1QzNSClrqWzpdoKKyukrqSzpN6k66S1pPOkoqSkpKikuSAjSk4gRzUwM2lzCisrpK6ks6TfICNKTiClrqWzpd8KKyukrqS0pMGk46TzpOKkyqTBpOOk8yAjSk4gpa6ls6TBpOOk86XipcqkwaTjpPMKKyukrqS4pPOkq6SjpOekpSAjSk4gtby/zbK9pKOk56SlCisrpK6kuKTzpKukuKS1pK+kuKSopPMgI0pOILW8v82yvaW4pbWlr6W4pail8worK6SupLik86SrpOKk6aTpobwgI0pOILW8v82yvaXipeml6aG8CisrpK6kw6SzpLekp6TrpNUgI0tLIKWupcOls6W3pael66XVCisrpK6kw6SzpOogI0NKIKWupcOls6XqCisrpK6kzqSzICNKTiClrqXOpbMKKyukrqTOpLMgI0pOIKWupc6lsyAKKyukrqTjpK+krqTspN+kuqSrpLGk4qTKobwgI0pOILXVpa6l7L/ls92ksaXipcqhvAorK6SupOOkr6SupOyk36S6pKuksaTipMqhvKTRobyk1aSnpK+kyKTQpPMgI0pOILXVpa6l7L/ls92ksaXipcqhvKXRobyl1aWnpa+lyMjHCisrpK6k46SvpLWkxKTBpOWkpiAjVDM1ILXUu6a/3worK6SupOOkr6S1pMSkwaTzICNUMzUgtdS7psTBCisrpK6k46SvpL+kpKSupOOkr6S1pMSkoqS5pK2kpKSipKKkyCAjVDM1ILXUwtShprXUu6ZBQQorK6SupOOkr6S/pKSkt6TnpK+ky6TzICNUMzUgtdTC1L+mv80KKyukrqTjpK+kv6SkpLmk7CAjVDM1ILXUwtSluaXsCisrpK6k46SvpM+kxKTJpKYgI1QzMCC11civxrAKKyukrqTjpPMgI0pOIKWupeOl8worK6SupOekr6TkpO2kpiAjVDM1IKWupeelr8zuz7oKKyukrqTrpKGk4qTKICNKTiClrqXrpaGl4qXKCisrpK6k66TLpOOhvKTOICNKTiClrqXrpcul46HBpc4KKyukrqTtpPOkq6TzpL2kpqS5pOykw6TJICNUMzUgtcTPwKGmtLbB26W5peylw6XJCisrpK6k7aTzpLmkraG8ICNUMzUgpa6l7aXzpbmlraG8CisrpK6k7aTzpLmkraSkICNUMzUgpa6l7aXzpbmlraG8CisrpK6k86SopPOk3qTzpLukqCAjVDM1ILbksfbL/LrQCisrpK+kpKS6pN+k6qTipM2koiAjSk4gofCh8KHwofClr6WkpbqhpqXfpeql4qXNpaKh8KHwofCh8AorK6SvpKakrSAjVDM1ILb1taQKKyukr6SmpK2ks6TGpKQgI1QzNSC29bWkuMfE6gorK6SvpKakraTopOGkxqTNobyk6CAjSk4gpa+lpqWtpeil4aXGpc2hvKXoCisrpK+kpqS4pOekpqTipMqkv6TtpKYgI0pOILb1vvKl4qXKwsDPugorK6SvpKakuKTnpKak4qTKpOqhvKTzICNKTiC29b7ypeKlyqXqobyl8worK6SvpKakxqSkpOKkyqG8ICNKTiC29cTypeKlyqG8CisrpK+kqqSpICNDSiCkr6SqpKkKKyukr6S1ICNUMzUgpa+ltQorK6SvpLUgI1QzNSDB8AorK6SvpLWhvCAjSk4gocqO36fXjt+hy464jruOsAorK6SvpLWhvCAjSk4gpa+ltaG8CisrpK+ktaG8ICNKTiCOuI67jrAKKyukr6S1pKSkv6TeICNUMzUgpa+ltaWkpb+l3gorK6SvpLWkwaTlobyktCAjS0sgpa+ltaXBpeWhvLjsCisrpK+ktaTBpOWhvKS0ICNUMzUgpa+ltaXBpeWhvLjsCisrpK+ktaTBpOWkpqS0ICNUMzUgpa+ltaXBpeWhvLjsCisrpK+ktyAjVDM1ILb6CisrpK+kt6S2pLekqqTNpKiktaTzICNKTiC2+rvJpLekqrvQpLWk8worK6SvpLukpKS4pKSkpKTBpL6kryAjVDM1IKWvpbulpKW4obyw7MKyCisrpK+kvaSyobyk4qTKobwgI0pOIKWvpb2lsqG8peKlyqG8CisrpK+kvaSzpMYgI1QzNSDKtaWzpcYKKyukr6S9pLWk86TTpOOkr6TIpPMgI0pOIEt1U28zMDB0IAorK6SvpL2kuaTsICNUMzUgpa+lvaW5pewKKyukr6S9pLmk7CAjVDM1IMq1pbml7AorK6SvpL2kuaTspKqkyKSzICNKTiClr6W9pbml7MPLCisrpK+kvaS5pOykq6SkpLek5aSmpK6k56SmpLek4yAjSk4gyrWluaXssvO8/bbIvNQKKyukr6S9pLmk7KSxpPOku6TEpKSkpKTzpKukpCAjVDM1IMq1pbml7Lf6wN+w0bD3svEKKyukr6S9pLmk7KS3pLmkpqTbpKaks6SvpKSkpKTzpKukpCAjSk4gyrWluaXsu9i/9MrzufCw0bD3svEKKyukr6S9pLmk7KS3pPMgI0pOIKWvpb2luaXsv8AKKyukr6S9pLmk7KTPICNKTiDKtaW5peykz86ppMak86TKpMOkxrjApMOkv6TtpKakrKX0pamlsaSsobyhvKGqCisrpK+kvaS5pOyk4qTKobwgI0pOIKWvpb2luaXspeKlyqG8CisrpK+kvaS5pOyk76TDpLek56SkICNKTiClr6W9pbml7KXvpcOlt6XnpaQKKyukr6S9pMGk5aSmpNykpqTHpPOk0aTApLOk6qTjICNKTiDKtb/fy7zFxcfIpMCks6TqpOOhqgorK6SvpL2kx6SrpKSkoqS5pK2hvKSiobykyCAjSk4gyrWkx6SrpKSjwaPBCisrpK+kvaTQpLMgI1QzNSDKtciiCisrpK+kvaTcpMOkr6S5ICNUMzUgyrWl3KXDpa+luQorK6SvpL2k6qTXpMggI1QzNSClr6W9peql16XICisrpK+kvaTspLkgI1QzMCDKtaXspbkKKyukr6S9pOykuSAjVDM1IMq1peyluQorK6SvpMCkt6TEICNUMzUgpK+kwLzBCisrpK+kwKTppMqkpKS3pMSk4qTzICNUMzUgpK+kwKTppMqkpLzBzOQKKyukr6TApOmkyqSkpLekxKTipPOkuaTsICNUMzUgpK+kwKTppMqkpLzBzOSluaXsCisrpK+kwKTppM2hvKToICNKTiClr6XApemlzaG8pegKKyukr6TBpK+kwSAjVDM1ILj9uP0KKyukr6TBpNOk66SyICNUMzUgpa+lwaXTpeulsgorK6SvpMOkraG8ICNUMzUgpa+lw6WtobwKKyukr6TDpK2kpCAjVDM1IKWvpcOlraG8CisrpK+kw6SvpOukyaSlpMmkpaTJpKUgI0pOII64jq+OuI7ZjsSO3o6pjsSO3o6pjsSO3o6pCisrpK+kyaSmpOKkyiAjSk4guanGo6XipcoKKyukr6TLpKogI0pOTSClr6XLpfIKKyukr6TLpKogI1QzNSClr6XLpfIKKyukr6TLpKqkr6TzpK+k7aS5pKuk86TIpOqhvKTYpPMgI0pOIKSvpMukqqSvpPOlr6Xtpbmlq6Xzpcil6qG8ytShoQorK6SvpMuktaTvpM2kw6TIpMukpKSxICNDSiBrdW5pc2F3YS5uZXSky8DCpLEKKyukr6TTpMSk6qSupLMgI0pOILzzxN+k6qWupbMKKyukr6TepLWk86SzpKqkuSAjVDM1IKSvpN6ktaTzpbOhvKW5CisrpK+k4aG8pOsgI1QzNSC3qaG8pesKKyukr6ThpKik6yAjVDM1ILepobyl6worK6SvpOGk4qTKobwgI0pOILeppeKlyqG8CisrpK+k6SAjVDM1IMHSCisrpK+k6SAjVDM1IMKiCisrpK+k6aSkpL8gI1QzNSClr6XpyMQKKyukr6TppKikz6SkpNak6qS5ICNKTiCkr6TppKilz6Wkpdal6qW5CisrpK+k6aSvICNUMzAgpa+l6aWvCisrpK+k6aSyICNUMzUgpa+l6aWyCisrpK+k6aSyICNUMzUgs6S37gorK6SvpOmkw6SrobwgI1QzNSClr6XppcOlq6G8CisrpK+k6aTDpKukoiAjVDM1IKWvpemlw6WrobwKKyukr6TppMOkryAjVDMwIKWvpemlw6WvCisrpK+k6aTppKykv6TDpL8gI0pOIKWvpeml6aSszqmkw6S/CisrpK+k6aTypL8gI1QzNSClr6XppfKlvworK6SvpOqhvKTzpNKkw6TIICNUMzAgpa+l6qG8pfOl0qXDpcgKKyukr6TqpLMgI0pOIKSvpOq70gorK6SvpOqkwaTlpKYgI1QzNSC3qr/fCisrpK+k7KSipOmkt6TrICNLSyClr6XspaKl6aW3pesKKyukr6TspKSkuKSkpLSkpqS5pMggI1QzNSClr6XspaSluKG8pbShvKW5pcgKKyukr6TspK+k7KSvpPMgI1QzNSCkr6TspK+k7LevCisrpK+k7KSvpOykwaTlpKak3KSmpNykr6ThpMSkuaSkpLek86SkpKSk86SrpKQgI0pOIKSvpOykr6Tsv9/LvMvQzMe/5L/KsNGw97LxCisrpK+k7aS3pOekpqS+pK8gI1QzNSC59cH1wqsKKyukr6TtpLek56SmpL6kr6SqpNUgI1QzNSC59cH1wqtPRkYKKyukr6TtpN6k6aTpobwgI0pOILn1pd6l6aXpobwKKyukr6TtpN+k36TipMqhvCAjSk4gufW8qqXipcqhvAorK6SvpO2k4KTEICNUMzUgufWl4KXECisrpK+k76TpICNDSiClr6XvpekKKyukr6TvpOkgI0NKII64jtyO1worK6SwICNUMzUgtvEKKyuksKSipO+kuyAjVDM1ILbxueek76S7CisrpLCkw6S4pOek1iAjQ0ogpbClw6W4peel1gorK6SwpMOkuKTnpNYgI0NKII64jt6Or468jt6Oro7Mjt4KKyuksKTDpMmk1aSjpKSk6qTzpLAgI0NKIKWwpcOlyaXVpaOhvKXqpfOlsAorK6SwpOKkw6TBpOWkpKSkpPMgI1QzNSClsKXipcOlwaXlpaShvKXzCisrpLCk6qG8pPMgI1QzNSClsKXqobylvQorK6SwpOqhvKTzICNUMzUgpbCl6qG8pfMKKyuksKTqpKSk86TNpKiktaTzICNUMzUgpbCl6qG8pfOwuaS1pPMKKyuksKTqpKSk86TNpKiktaTzICNUMzUgpbCl6qG8pfO70KS1pPMKKyuksKTsobykyKSspPOk0KTrpOKkyqG8ICNKTiClsKXsobylyKWspfOl0KXrpeKlyqG8CisrpLCk7KTBpOOk8yAjSk4gpbCl7KTBpOOk8yAKKyuksKTtICNUMzUgpbCl7QorK6SwpPOkyKSmpK6ksyAjSk4gt7PF4aWupbMKKyuksKTzpN6ksaTzICNDTiC3ssfPuKkKKyuksaG8ICNUMzUgo8sKKyuksaG8pK2k5KTdpPOkySAjSk4gpbGhvKWtsrCh8gorK6SxpKSkqqSmICNUMzUgS08KKyuksaSkpK2k5aSmICNUMzUgS1EKKyuksaSkpLOkr6TWpPMgI1QzNSC32bnwyrgKKyuksaSkpLekwaTnpKYgI0pOILfZu+vEoworK6SxpKSkuKTQpPMgI1QzNSC3x7yoyMQKKyuksaSkpLik0KTzpKSkwaTppPMgI1QzNSC3x7yoyMSw7M33CisrpLGkpKS4pNCk86TIpMOk16TYICNDSiC3x7yoyMSlyKXDpdek2AorK6SxpKSkv6SkpMek86TvpOKkyqG8ICNKTiC3yMLTxcXPw6XipcqhvAorK6SxpKykyyAjSk4gzNOkrKTLCisrpLGks6G8pPMgI1QzMCClsaWzobyl8worK6SxpLOhvKTzICNUMzAgjrmOuo6wjt0KKyuksaTDpLOk8yAjVDMwILfruqcKKyuksaTDpNqkrSAjVDM1ILfpysoKKyuksaTDpNqkraSvpPMgI1QzNSC36crKt68KKyuksaTEpKyk8yAjVDM1IMrHtOQKKyuksaTEpLIgI1QzNSCksaTEzNMKKyuksaTGpOsgI0NKIKSxpMak6worK6SxpO2k1KG8ICNKTiClsaXtpNShvAorK6SxpO2k6qTzpLKk66TTpMikpiAjVDM1IKWxpe2l6qXzpbKl68j4xqMKKyuksaTzICNKTk0gpLGk8worK6SxpPOkq6TPpOSk4aTGICNKTiCksaTzpKukz6TkpOGkxqHKofyhraG8oa6h/KHLCisrpLGk86SrpPOkwaTlpKYgI1QzNSC3+bTav98KKyuksaTzpLGk86SrpPOkwaTlpKYgI1QzNSC3+bf5tNq/3worK6Syobykz6G8pKSkvyAjQ04gpbKhvKXPobzIxAorK6SypK2kpqTppLik56SmpNukpiAjVDM1ILfjzqK+8MrzCisrpLKkraS4pOekpiAjVDM1ILfgvuwKKyuksqS5pMiksqS5pMggI0NKIGd1ZXN0Z3Vlc3QKKyuksqS9pKqkvSAjVDM1IKWypb2lqqW9CisrpLKkvaSqpL0gI1QzNSCOuY7ejr+OtY6/CisrpLKkw6SzpKYgI1QzNSC37rj3CisrpLKkw6S/obyk4qTKpN6k3iAjSk4gpbKlw6W/obyl4qXKpd6l3gorK6SypMOkxCAjVDM1IKWypcOlxAorK6SypMOk16G8ICNKTiClsqXDpdehvAorK6SypMmkpqS7pPOku6SkICNKTiCzsMa7wOjAuAorK6SypOkgI0pOIKWypekKKyuksqTpICNKTiClsqXppemhvAorK6SypOmk6aG8ICNKTiClsqXpCisrpLKk6aTpobwgI0pOIKWypeml6aG8CisrpLKk7aSkpL8gI0NOIKWype3IxAorK6SypO2kpKS/ICNUMzUgpbKl7cjECisrpLKk7aTipMqhvCAjSk4gpbKl7aXipcqhvAorK6SypPOkqqTzICNUMzUgpbKlvaWqpb0KKyuksqTzpKqk8yAjVDM1II65jt6Ov461jr8KKyuksqTzpLekqqSmICNKTiC4trvSsqYKKyuksqTzpLek0KSvpMCk8yAjSk4guLa70sf6w8YKKyuksqTzpLik8yAjVDM1ILi2v80KKyuks6G8pNuhvCAjVDM1IKWzobyl26G8CisrpLOhvKTbobwgI1QzNSC5qsryCisrpLOhvKTbobwgI1QzNSC54sryCisrpLOkoqTqICNUMzUgu9K1wgorK6SzpKSkwaS4pKuk86TIpKSkxKThpL+kpCAjQ0ogvq6w7Lv+tNbM5KSkpMSk4aS/pKQKKyuks6SmoaukoSAjVDM1IKWzpfSloQorK6SzpKahq6ShpKSkvyAjQ04gpbOl9KWhyMQKKyuks6SmoaukoaSkpL8gI1QzNSCls6X0paHIxAorK6SzpKakqKSkpNikpCAjSk4gucix0sq8CisrpLOkpqSrpKSkt6TnpLGkpCAjVDM1ILj4s6u96Le6CisrpLOkpqSrpPOkwaTlpKYgI1QzNSC5pbTav98KKyuks6SmpLCktyAjVDM1ILmptvG71QorK6SzpKaksKS3ICNUMzUgueG28bvVCisrpLOkpqSzpK+kwaTlpKak3KSmICNUMzUgua258L/fy7wKKyuks6SmpLOkr6TopLEgI1QzNSC5rbnwvfyksQorK6SzpKaktaSvpKSk8yAjVDM1ILmpuu6w9worK6SzpKakt6StpLukw6TGpKQgI1QzNSC4+LywwN/E6gorK6SzpKakv6SkpLektaTeICNKTiC5xMLAu9LNzQorK6SzpKakwKTzpK6ksyAjSk4gudbDzLW8uMUKKyuks6SmpMGk56SmpLcgI1QzNSCks6SmpMGk56SmpLcKKyuks6SmpMSkpqSkpM+k86TOpOKk36SxpLekq6S/ICNLSyC48sTMsOPIv6TO2eak377DpLfK/QorK6SzpKakyqTDpMak66TPpLqkrKSzpKakyqTDpMak66TzpMekuSAjQ0ogpLOkpqTKpMOkxqTrpM+kuqSsoaKks6SmpMqkw6TGpOuk86THpLmhoworK6SzpKakzqTopKak2KSkICNKTiC5vqTOzcPKvAorK6SzpKakzqTopKak2KSkICNUMzUgub6kzs3DyrwKKyuks6SmpNCktyAjS1kgueGk0KS3CisrpLOkpqTQpLcgI0tZbWkgueGk0KS3CisrpLOkpqTZICNLSyC88worK6SzpKak2SAjVDM1ILzzCisrpLOkpqTbpKYgI1QzNSCls6G8pduhvAorK6SzpKak26SmICNUMzUguarK8gorK6SzpKak26SmICNUMzUgueLK8gorK6SzpKak3KSmICNUMzUguanLvAorK6SzpKak4qTqpOKkyqG8ICNKTiCls6WmpeKl6qXipcqhvAorK6SzpKak4qTzpKSkw6TGpOiktyAjQ0og5urM58DCpMOkxqTopLcKKyuks6SmpOqkxKTBpOWkpiAjVDM1ILj4zqnD7gorK6SzpKak6qTzICNUMzAguPfO1worK6SzpKak6qTzICNUMzAgud/O1worK6SzpK+k6qTEpKikraTZpPOkq6TWICNUMzUgufHOqbHYytuhyrP0ocsKKyuks6SvpOqkxKTPpKakxKSvpLekpKS3pOqkxKTPpN+ky6SvpKQgI0NKILnxzqmkz8j+pLekpKGiv6zExaTPvbmkpAorK6SzpK+k7KTzpMqkyqS3pLWk8yAjVDM1ILnxz6KkysCupLektaTzCisrpLOks6THpKKksiAjQ0ogpLOks6THpKKksgorK6SzpLOkz6S0pLik46G8pLmkyqS5pOykw6TJpMCk6CAjSk4gKKGmos+hpimOuo66jsqOuo7ejryO3o6sjrCOvY7Fjr2O2o6vjsSO3o7Ajt6O1gorK6SzpLOkz6S0pLik46G8pLmkyqS5pOykw6TJpMCk6CAjSk4gpbOls6XPpbSluKXjobyluaXKpbml7KXDpcmlwKXoCisrpLOks6TPpLSkuKTjobykuaTKpLmk7KTDpMmkwKToICNKTiCOuo66jsqOuo7ejryO3o6sjrCOvY7Fjr2O2o6vjsSO3o7Ajt6O1gorK6SzpLOkz6TJpLOkuKTjICNKTiCks6SzpM+kyaSzpLik4worK6SzpLOkz6TJpLOkuKTjICNKTiCls6Wzpc+lyaWzpbil4worK6SzpLOkz6TJpLOkuKTjICNKTiCOuo66jsqOxI7ejrqOvI7ejqwKKyuks6SzpM+k0qTJpKSkpKTzpL+koqTNpMOkyKTHpLmkzSAjQ0ogpLOks6TPpNKkyaSkpaSl86W/obylzaXDpcikx6S5pM0KKyuks6SzpM+k76S7pMCkuKTjpMqkpKToICNDSiCks6SzpM/B4bDwxcSkuKTjpMqkpKToCisrpLOks6TPpO+k66SkpKSk86S/pKKkzaTDpMikx6S5pM0gI0NKIKSzpLOkz7CtpKSlpKXzpb+hvKXNpcOlyKTHpLmkzQorK6SzpLOk3qTHpOik86TAICNDSiAtLS0tLS0tLaSzpLOk3qTHxsmk86TALS0tLS0tLQorK6SzpLekqiAjVDM1IL6usfYKKyuks6S3pMyksSAjS0sgufjItKSxCisrpLOkt6TMpLEgI1QzNSC5+Mi0pLEKKyuks6S4pK2k4qTKobwgI0pOILjwv6ml4qXKobwKKyuks6S5pNek7KTGpPMgI1QzNSCls6W5pdel7MW5CisrpLOkvqSmICNKTiC+rsHOCisrpLOkvqSmICNUMzUgvq7BzgorK6SzpMOkr6TipOmk6aG8ICNKTiCls6XDpa+l4qXppemhvAorK6SzpMOkvaTqpLWk8yAjSk4gpLOkw6S9pOqktaTzCisrpLOkxiAjVDM1IKWzpcYKKyuks6TGpKQgI1QzNSC4x8TqCisrpLOkxqSkpL+kv6StICNUMzAguMfE6sOhpK0KKyuks6TGpKSkz6TzpMmk6yAjVDM1ILjHxOqlz6Xzpcml6worK6SzpMakpKTPpPOkyaTrpLmk7KTDpMkgI1QzNSC4x8Tqpc+l86XJpeuluaXspcOlyQorK6SzpMakpKTVpKGk8yAjVDM1ILjHxOql1aWhpfMKKyuks6TGpM+k8yAjVDM1IKWzpcalz6XzCisrpLOkxqTPpPOkq6G8pMuk0KTrICNUMzUgpbOlxqXPpfOlq6G8pcul0KXrCisrpLOkxqTPpPOkq6SipMuk0KTrICNUMzUgpbOlxqXPpfOlq6G8pcul0KXrCisrpLOkxqTPpPOkuaTspMOkySAjVDM1IKWzpcalz6Xzpbml7KXDpckKKyuks6TJpOKkyqG8ICNKTiCks6TJpeKlyqG8CisrpLOkyqS3ICNUMzUgu9LN/AorK6SzpMuhvCAjVDM1IKWzpcuhvAorK6SzpMukpCAjVDM1IKWzpcuhvAorK6SzpM6kpqTDpL+kqKTPpN6kpKTLpMGkt6TGpKSkr6TEpOKk6qTHpLkgI0NKIKSzpM7ByqSopM/L6Mb8pLekxqSkpK+kxKTipOqkx6S5CisrpLOkzqS5pOykz6SopO2kpKTKICNDSiCks6TOpbml7KTPpail7aSkpMoKKyuks6TOpL+ksyAjSk4gpLOkzqW/jroKKyuks6TOpOSk7aSmICNDSiCks6TOzO7PuqGqCisrpLOk1KTaICNUMzAgpbOl1KXaCisrpLOk1KTapKKk6aS3ICNUMzUgpbOl1KXaudOk6aS3CisrpLOk1KTapKaktiAjS1lUIKWzpdSl2qSmpLYKKyuks6TUpNqkwaTlpKYgI1QzNSCls6XUpdq/3worK6SzpNSk2qTPpKukwaTlobykt6TjpMekoqTcobyk86TApOggI0pOIKSzpNSk2qTPpKukwaTlocGkt6TjpMekoqTcocGk86TApOgKKyuks6TcpOakraG8ICNKTiChyo7Soaak86GmocsKKyuks6TcpOakraG8ICNKTiCls6XcpealraG8CisrpLOk3qTEpNCk6aSzpKaks6SmICNLSyC+rr6+uLa54rm7CisrpLOk3qTEpNCk6aSzpKaks6SmICNUMzUgvq6+vri2ueK5uworK6SzpN6k6yAjSk4gpbOl3qXrCisrpLOk36SxICNLSyCls6XfpbEKKyuks6TfpNEgI0tLIKSzpN+l0QorK6SzpN+k0SAjVDM1IKSzpN+l0QorK6SzpN+k36TipMqhvCAjSk4gvq68qqXipcqhvAorK6SzpOEgI1QzNSCiqAorK6SzpOGkt6SqICNLSyDKxrH2CisrpLOk4aS3pKogI1QzNSDKxrH2CisrpLOk4aS4pKogI0tLIMrGsfYKKyuks6ThpLikqiAjVDM1IMrGsfYKKyuks6TpICNSVCCls6XpCisrpLOk6SAjVDM1IKWzpekKKyuks6TqpOOk3qG8ICNDTiCls6XqpeOl3qG8CisrpLOk6qTjpN6hvCAjVDM1IKWzpeql46XeobwKKyuks6TqpOOk3qSiICNUMzUgpbOl6qXjpd6hvAorK6SzpOqk86S6ICNKTiCls6XqpfOlugorK6SzpOqk86S6pKKk6aS3ICNKTiCls6XqpfOlurnTpOmkt6GhCisrpLOk6qTzpLqkraTpobwgI0pOIKWzpeql86W6pa2l6aG8CisrpLOk6qTzpLqkwKG8pK8gI0pOIKWzpeql86W6pcChvKWvCisrpLOk7KSqpOKk7aSkICNDSiCks6TspKqk4qTtpKShqgorK6SzpOykz6S3pOWkpqS7pKSktaTspOukzSAjQ0ogpLOk7KTPvaTAsKS1pOyk66TNd3d3dworK6SzpO2kw6SxICNUMzUgpbOl7aXDpbEKKyuks6TtpMOksaS1pKQgI1QzNSCls6XtpcOlsbrXCisrpLOk7aTDpLGk76TDpLek56SkICNKTiCls6XtpcOlsaXvpcOlt6XnpaQKKyuks6TtpMwgI0NKICCls6XtpcwKKyuks6TtpMwgI0NKIKWzpe2lzAorK6SzpO2kzCAjTjUgpbOl7aXMCisrpLOk76SkpLOk76SkpNKhvCAjQ0ogpbOl76WkpbOl76WkpdKhvAorK6SzpPOkt6TlpKakzqTTpMOkr6TqpMmkw6StpOqkvqTMICNKTiC6o721pM6l06XDpa+l6qXJpcOlraXqpL6kzAorK6SzpPOkyaG8pOCk3qTppOmhvCAjSk4gpbOl86XJobyl4KXepeml6aG8CisrpLOk86TOpKYgI1QzNSC6rse+CisrpLShvCAjS0sgpbShvAorK6S0obyktKG8pMuhvKTWpPOkt6TnICNUMzUgNTUyyri98QorK6S0obyktKG8pMuhvKTipPOkuKTnICNUMzUgNTUyyri98QorK6S0pKSk86StpOcgI1QzNSC45rGjte8KKyuktKSmpMGk86StpOOk6aS1pPOky6TzpLCk3yAjSk4guezEwKWtpeOl6buwv83ByAorK6S0pKakwaTzpK2k46TppLWk86TLpPOksKTfpKukw6SzpMCkpKS1pPOkraTIpLikq6TDpLMgI0pOILnsxMClraXjpem7sL/NwcihysLou7C0/KHLCisrpLSkpqTBpPOkraTjpOmktaTzpMuk86SwpN+kq6TDpLOkwKSkpMukraTIpLikq6TDpLMgI0pOILnsxMClraXjpem7sL/NwcihysLoxvO0/KHLCisrpLSkpqTPpOkgI0pOUyC2yMqiCisrpLSkpqTPpOkgI1QzNSC2yMqiCisrpLSkpqTPpOmk4qTKobwgI0pOIKW0ocqwyrK8zqyhy6XipcqhvCAKKyuktKSmpN6k66S1pPOk6aSmpPOkuCAjVDM1IDUwM6Xppaal86W4CisrpLSkraTWpOqkw6TEICNKTiCltKWtpdal6qXDpcQKKyuktKStpNak6qTDpMQgI0tLIKW0pa2l1qXqpcOlxAorK6S0pK2k1qTqpMOkxCAjVDM1IKW0pa2l1qXqpcOlxAorK6S0pK2k1qTqpOiks6TPpN6kuKTzICNKTiCltKWtpdal6rKjyc2/zQorK6S0pK2k7aSqICNUMzUgpbSlraXtobwKKyuktKSupLOktaG8pMako6G8pPMgI0pOIKW0pa6ls6Oxo7MKKyuktKSvpKYgI1QzNSC457b1CisrpLSkr6TWpMik0KSkpNahvCAjVDM1ILbLwsCl0KWkpdahvKGqoaoKKyuktKS1pPOksSAjVDM1ILjmu7CyyAorK6S0pLik46G8pLmk3qTppOmhvCAjSk4gpbSluKXjobyluaXepeml6aG8CisrpLSkuKTjobykuaTipOmk6aG8ICNKTiCltKW4peOhvKW5peKl6aXpobwKKyuktKS5pOkgI0pOIKW0pbml6QorK6S0pMOkyaTPpPOkySAjVDM1IKW0pcOlyaXPpfOlyQorK6S0pMuk46SiICNKTiCktKTLpOOkogorK6S0pMuk46SiICNKTiCltKXLpeOlogorK6S0pNCkryAjVDM1ILjtx/oKKyuktKTQpK+koqTppLcgI1QzNSC47cf6udOk6aS3CisrpLSk0KSvpLmk3qS9ICNDSiC47cf6pbml3qW9CisrpLSk3qTipMmkrSAjSk4gpbSl3qTipMmkrQorK6S0pN+k0KSzICNUMzUgpbSl38iiCisrpLSk36TzICNUMzUgpLSk36TzCisrpLSk4aS9ICNDSiCltKXhpb0KKyuktKTpobwgI0pOIKW0pemhvAorK6S0pOmkoSAjSk4godSO36eljt+h1Y66jt6O146njqeOp46njqeOp46njqeOp46njqeOp46njrEhISEhIQorK6S0pOmkoSAjSk4gpbSl6aWhCisrpLSk6qTnpKak4qSoICNUMzUguObO7suoCisrpLSk66ShICNDSiAojt+npY7fKY66jt6O2Y6noaoKKyuktKTrpKEgI0NKIKW0peuloQorK6S0pOukoSAjQ0ogpbSl66WhIQorK6S0pOukoSAjQ0ogjrqO3o7ZjqehqgorK6S0pOukoSAjSk4gIKGzKCqhrqeloa0ppc6Ouo7ejtmOpworK6S0pOukoSAjSk4gKI7fp6WO3ymOuo7ejtmOpworK6S0pOukoSAjSk4gpbSl66WhCisrpLSk66ShICNKTiCOuo7ejtmOpworK6S0pOukoSAjVDM1IGdvbHVhaCEKKyuktKTrpKGkyKTppN6k8yAjSk4gpbSl66Whpcil6aXepfMKKyuktKTrpKIgI0NKIKW0peuloSEKKyuktKTtpO2kpiAjVDM1IKW0pe2l7aG8CisrpLWhvKTQpKuk86S3pLik5yAjVDM1IKW1obyl0LTGu+u96gorK6S1obyk0KTApKSkraTzICNUMzUgpbWhvKXQwuW24gorK6S1pKKkpKSzpKakqyAjSk4gpLWkoqHFoaHAwqSzpKakq6HFocUKKyuktaSipLKkqKTgpM6kz6S4pN6k6qTHpLkgI0NKIKS1pKKlsqG8peCkzrvPpN6k6qTHpLkKKyuktaSipLWkoqSqpK2k46SvpLWk86SspK+k66ToICAjSk4gpLWkoqS1pKKhoqSqtdKktaTzpKzN6KTrpOghISEgCisrpLWkoqS1pKKkqqStpOOkr6S1pPOkrKSvpOuk6CAjSk4gpLWkoqS1pKKhoqSqtdKktaTzpKzN6KTrpOghISEKKyuktaSkpLOkpiAjVDM1ILrHueIKKyuktaSkpLOkpqStpOekpiAjVDM1ILrHueK2tQorK6S1pKSks6SmpLyhvKToICNKTiCltaWkpbOlpqW8obyl6AorK6S1pKSks6TVpMOktaG8pOsgI0pOIKW1paSls6GmpdWlw6W1obyl6worK6S1pKSkt6TzpOykuSAjVDM1ILrHv7el7KW5CisrpLWkpKS8pPOku6TzpK+k8yAjVDM1ILrHwbDA/revCisrpLWkpKS/pN4gI0pOIKS1pKSkv6TeCisrpLWkpKS/pN4gI1QzNSCktaSkpL+k3gorK6S1pKSkwKSkpK2k5aSmpK2kwaSspKSksaSkpNukpiAjSk4gusfC57Xppa2lwaWspaS32crzCisrpLWkpKTJpOqkraSkpMEgI0pOILq4sOa4zc7PsOwKKyuktaSkpNChvKSoobykuKSnpPOkyCAjS0sgpbWlpKXQobylqKG8pbilp6XzpcgKKyuktaSkpOKkqKTIobykyqThpPOkyCAjVDM1ILrHy6ilyKG8pcql4aXzpcgKKyuktaSkpOKkqKTIpKakyqThpPOkyCAjVDM1ILrHy6ilyKG8pcql4aXzpcgKKyuktaSrobykyiAjSk4gpbWlq6G8pcoKKyuktaSrpK2k0KTppLukpKTIICNUMzUgvPK1tOms6a/Au8XNCisrpLWkq6TKICNKTiC1+worK6S1pKukyiAjVDM1ILX7CisrpLWkq6TLpMOk3SAjVDM1IKS1pKuky6TDpN0KKyuktaSspLGk86S1pKykt6S4pOWkpqTKpMqktaSkICNKTiC6tLLsuKm6tLLsu9S9vby3utAKKyuktaSvpLik5yAjVDMwILrvvfwKKyuktaSvpLik56SkpOmkpCAjVDMwILrvvfywzc3qCisrpLWkr6S4pOekpKTppKQgI1QzNSC67738sM3N6gorK6S1pK+kuKTnpKykpKTJpOmkpKTzICNUMzUguu+9/KWspaSlyaXppaSl8worK6S1pK+kuKTnpMuk8yAjVDM1ILrvvfy/zQorK6S1pK+ku6SkpKSk6aSkICNUMzAguu7ArrDNzeoKKyuktaSvpL+k8yAjVDM1IKW1pa+kv6TzCisrpLWkr6TFpLEgI1QzMCCktaSvpMWksQorK6S1pK+kxaSxICNUMzAgpbWlr6W6pLEKKyuktaSvpOmkrKSqpKukrKSvpKik8yAjS0sguvm11rPYseAKKyuktaSvpOmkrKSqpKuks6SmpLOkpiAjS0sguvm11rniubsKKyuktaSvpOmkrKSqpKukwaTlpKakrKTDpLOkpiAjS0sguvm11sPms9i5uworK6S1pK+k6aS/pPOkq6TqICNUMzUgpLWkr6TppL+k86HKsr6hyworK6S1pK+k6aS/pPOkwaTlpKYgI1QzNSCktaSvpOmkv6Tzv98KKyuktaSvpOmkwaTlpKYgI1QzNSC6+b/fCisrpLWkr6TppMOkwSAjVDM1IKW1pa+l6aTDpMEKKyuktaSvpOmkw6TBICNUMzUguvnZx8PXCisrpLWkr6TppMuksyAjSk4gpLWkr6TppculsworK6S1pK+k6aTNpMOkyCAjS0sgpLWkr6TppM2kw6TICisrpLWkr6TppOGk86TIICNKTiCltaWvpeml4aXzpcgKKyuktaSxpMikrqSzpMikz6TLpOOhvKTzpMggI0pOILzypMilrqWzpMikz6TLpOOhvKTzpMgKKyuktaSxpMukrqTqpO+kw6S3pOekpCAjSk4guvqky6SupOql76XDpbel56WkCisrpLWksiAjS1Mgc2FnZQorK6S1pLIgI0tTciCktaSyCisrpLWksiAjVDM1IHNhZ2UKKyuktaSypKKkqqTqICNUMzUgc2FnZcD6pOoKKyuktaSypKKk6aS3ICNUMzUgc2FnZbnTpOmktworK6S1pLKkt6TzpLOkpiAjVDMwIKS1pLK/yrnUCisrpLWksqS3pPOks6SmICNUMzUgc2FnZb/KudQKKyuktaSypMOkxqSjICNKTiBzYWdljq+Ow46oCisrpLWksqTspLkgI1QzMCBzYWdlpeyluQorK6S1pLOkxCAjSk4gpbW5/AorK6S1pLWkraSxpPOkuaSxICNKTiC6tKG5zNq38rLwCisrpLWktqSopLWk8yAjSk4gpbWltqWopLWk8worK6S1pLakqKS1pPMgI0pOIKW1pbalqKS1pPOhoQorK6S1pLmktaS5ICNKTiCktaS5pLWkuQorK6S1pL+k8yAjSk4gpbWlv6XzCisrpLWkv6TzICNKTiCOu47Ajt0KKyuktaTDpMGhvKTepMSk6iAjVDM1IKW1pcOlwaG8utek6gorK6S1pMOkwaTlpKaktqSkpLSkuKTjobykuSAjSk4gu6a/37repbSluKXjobyluQorK6S1pMOk3aTtICNDTiC7po7Ojt+O2worK6S1pMOk3aTtICNLSyC7pqXdpe0KKyuktaTDpN2k7SAjVDM1ILumpd2l7QorK6S1pMOk3aTtICNUMzUgu6aOzo7fjtsKKyuktaTEpKikpKStpPOktyAjVDM1ILujsca22LvfCisrpLWkyKTppOwgI1QzNSCltaXIpeml7AorK6S1pNAgI1QzNSC7qgorK6S1pNCkqqTBICNUMzAgu6rN7qTBCisrpLWk0KSspKqkwaTrICNDSiC7qqSsze6kwaTrCisrpLWk0KSspMik1iAjQ0ogu6qkrMj0pNYKKyuktaTWpNCkw6SvpKikpKTBpMako6G8pKik4KSopOsgI1QzNSBzdWJiYWNrLmh0bWwKKyuktaThpLik3qS4pLGk8yAjVDM1ILutxee79rfvCisrpLWk6CAjVDM1IKW1pegKKyuktaTopMOkxqTrICNUMzUgurjN46TDpMak6worK6S1pOik86TcICNUMzUgpbWl6KXzpdwKKyuktaTppLekoqSyICNLU3IgpLWk6aS3YWdlCisrpLWk6aS3pKKksiAjS1NyIKS1pOmkt6SipLIKKyuktaTppLekoqSyICNLU3Igu6+kt2FnZQorK6S1pOmkt6SipLIgI1QzNSBTQUxBpLdhZ2UKKyuktaTppLekoqSyICNUMzUgU0FMQbvFvuWksgorK6S1pOmkt6SipLIgI1QzNSCj06PBo8yjwbvFvuWksgorK6S1pOmkt6SipLIgI1QzNSCktaTppLdhZ2UKKyuktaTppLekoqSyICNUMzUgu6+kt2FnZQorK6S1pOmkt6SipLKk4qTKobwgI0pOILuvpLe+5aSypeKlyqG8CisrpLWk6aTWpOykw6TIICNKTiCltaXppdal7KXDpcgKKyuktaTppNak7KTDpMkgI0pOIKW1peml1qXspcOlyQorK6S1pOuktqTIpKYgI1QzNSCx7rq9xfwKKyuktaTrpNmhvKS4ICNUMzAgpbWl66XZobyluAorK6S1pOykxKTeICNUMzUgpLWk7LrKCisrpLWk7KTFpN4gI1QzNSCktaTsusoKKyuktaTvpL+k6qTepLOkyKTPpO+krKSkpM6kwSAjQ0ogwvTFz7+/ttekz7LmpKzMvworK6S1pO+k5KSrICNKTiDB1qTkpKuhqgorK6S1pPOkrKTEpKaktaSuICNKTiCjs7fupaaltaWuCisrpLWk86StpOOkryAjS0sgu7C10worK6S1pPOkraTjpK8gI1QzNSC7sLXTCisrpLWk86SvpLmksyAjQ0ogpbWl86WvpbmlsworK6S1pPOkr6S5pLMgI0NKII67jt2OuI69jroKKyuktaTzpLGhvCAjSk4gpbWl86WxobwKKyuktaTzpLGhvKS3pPOk1qTzICNUMzUgo7Ojy7+3yrkKKyuktaTzpLKkw6TIICNKTiCjs6WypcOlyKSppKmkqaSpoaqhqgorK6S1pPOktCAjVDM1ILu5uOoKKyuktaTzpLqkzqSrpO8gI0pOILuwxdOkzsDuCisrpLWk86S/pOKky6SrICNKTiCltaXzpb+h4aXipculqworK6S1pPOkwKTzpOKkyqG8ICNKTiCjs8PKpeKl6aXpobwKKyuktaTzpMmkpKTDpMEgI0pOIKW1pfOlyaWkpcOlwQorK6S1pPOk4aG8pMik66TOpKakwaTlpKakuKTzICNKTiCjs6PtpM6xp8Pov82hoQorK6S1pPOk4qS4pLWkr6SsICNUMzUgu7DKuLv6uu6y6AorK6S2obyk3KTzICNKTiCltqG8pdyl8worK6S2pKKk4aTzpL+kpKS3pMQgI1QzNSCltqG8zMzCzrzBCisrpLakpKSipL0gI0pOIKW2paSloqW9CisrpLakpKSipL0gI0pOIKW2paSloqW9IAorK6S2pKSksyAjSk4gpbalpLvSCisrpLakpKSzpLek56TqpM+k8yAjSk4gut+4y73ozf3IyQorK6S2pKSky6TBpKSkt6TspMOkySAjVDM1ILrfxvyw5bvVUkVECisrpLakpKTLpMGky6TzpMakpCAjVDMwILrfxvzHp8TqCisrpLakpKTqpOekpqTWpMOku6SkpKSkvyAjQ04guuDOwcqqwK3IxAorK6S2pKSk6qTnpKak1qTDpLukpKSkpL8gI1QzNSC64M7ByqrArcjECisrpLakrSAjVDM1IKW2pa0KKyuktqTDpLek5aS7pPOku6SkICNKTiC7qLzvwOjAuAorK6S2pMSkwKTzpLOkxqSkICNUMzUgu6jDzLjHxOoKKyuktqTWpMik86SipOmktyAjSk4gpLak1qTIpPO506TppLcKKyuktqTvpLak7yAjVDMwIKS2pO+ktqTvCisrpLcgI001IKS3CisrpLcgI041IKS3CisrpLcgI041ILvUCisrpLcgI041ILvhCisrpLcgI1I1IKS3CisrpLehvKTLpOOk8yAjSk4gpLehvKTLpOOk8worK6S3pKKhvKTrICNLSyCkt1IKKyukt6Siobyk6yAjVDM1IKS3UgorK6S3pKKkoqTrICNUMzUgpLdSCisrpLekoqTvpLuktaTzpNcgI0pOILmspLu7tsnbCisrpLekoyAjSk4gpLekoworK6S3pKMgI1QzNSCkt6SjCisrpLeko6SiICNKTiCkt6SjpKIKKyukt6SjpKSkpKTzpMGk56SmICNKTiCkt6SjsNGw98S5CisrpLeko6SrpMGk46TzICNKTiCkt6SjpKukwaTjpPMKKyukt6SjpLik56StpOekpqS4pOUgI0pOIKS3pKO99ba1vPgKKyukt6SjpLmk6qG8pN6kv6G8pOogI0pOIKS3pKOjs8/AsNgKKyukt6SjpLmk6qG8pN6kv6G8pOogI0pOIKS3pKOjs47PjsCOsI7YCisrpLeko6S/pLEgI0pOIKS3pKOkv6SxCisrpLeko6S/pLEgI0pOIKS3pKOkv6SxIAorK6S3pKOk0qThICNKTiCkt6SjybEKKyukt6SjpNKk7aTVpN8gI0pOIKS3pKPNzsq4CisrpLeko6TepN4gI0pOIKS3pKOl3qXeCisrpLekpKS1pKIgI1QzNSClt6G8pbWhvAorK6S3pKSkv6SxICNUMzUgpLekpKS/pLEKKyukt6SopPMgI1QzNSC72bHnCisrpLekqiAjSk4gsfYKKyukt6SqICNUMzUgsfYKKyukt6SqpKuk8yAjS0sgpLekqrTaCisrpLekqqSrpPMgI1QzNSCkt6SqtNoKKyukt6SqpL8gI1QzNSCx9sXECisrpLekqqTLpMEgI1QzNSCx9sb8CisrpLekq6SvICNLSyC7zbPRCisrpLekq6SvICNUMzUgoqMKKyukt6SrpK+kt6SrpK8gI1QzNSCioqKiCisrpLekq6SvpLek86S4pOMgI1QzNSC7zbPRv6681AorK6S3pKyktaSvICNUMzUgvKKy7LruCisrpLekraSspN+ktKTppKEgI0pOILywv8COuo7ejteOpworK6S3pK2krKTfpMqk4aSvpLggI0pOILywv8Dp3eqhCisrpLeksaTzpKuk8yAjSk4gu+64s7TJCisrpLeksqTyICNKTk0gpbelsqXyCisrpLeksqTyICNUMzUgpbelsqXyCisrpLeks6SvICNDTiC74LnxCisrpLeks6SvICNUMzUgu+C58QorK6S3pLOkv6TbpO+koiAjQ0ogpbels6W/pdul76G8CisrpLekuKTfICNUMzUgpbeluKXfCisrpLekuaS/obyktqG8pNyk8yAjSk4gpbeluaW/obyltqG8pdyl8worK6S3pLmk16TqICNLSyClt6W5pdel6gorK6S3pLmk16TqICNUMzUgpbeluaXXpeoKKyukt6S/pKSkrKS+pKYgI1QzNSC74MLOsujB/AorK6S3pL+k6aTQpK+k8yAjSk4gpLekv6TppNC3r6HKsr6hyworK6S3pL+k6aTQpLOkpqTEpKak5KSzpKaks6SmpL2kr6TQpLkgI0pOIKS3pL+k6aTQuPLEzMzrudS54sKupdCluQorK6S3pL+k6aTQpMqhvCAjSk4gpbelv6XppdClyqG8CisrpLekwaS4pOWkpqSvICNUMzUgvLe9xbbsCisrpLekwaTLpPOkzqS1pNYgI1QzNSC8t7/NpM6ltaXWCisrpLekw6S/pKsgI1QzNSDDzqTDpL+kqworK6S3pMOkv6SrpK+k8yAjVDM1IMPOpMOkv6Srt68KKyukt6TDpL+kq6TBpOWkpqTcpKYgI1QzNSDDzqTDpL+kq7/fy7wKKyukt6TDpMak66TKpOmkyqS8pLekxqStpLekxqSvpOykyqSrpMOkv6TOpMekuaSrICNDSiDDzqTDpMak66TKpOmhoqTKpLy72MWmpLekxqSvpOykyqSrpMOkv6TOpMekuaSroakKKyukt6TIpMuk6aTBpOOkqKTrICNKTiC7yMXMpcul6aXBpeOlqKXrCisrpLekyiAjQ0ogpbelygorK6S3pMqhvCAjSk4gpbelyqG8CisrpLekyqSiICNUMzUgpbelyqG8CisrpLekyqS9pNCk5KTOpLWkzqTipMqhvCAjSk4gu9nG4ba+x/6ysKTOurTM7qXipcqhvAorK6S3pMqkzaG8pOggI0pOILvhpcqlzaG8pegKKyukt6TLpKyk36TIpOqkw6TXpKqk1qTHpLkgI0pOILvgv8ClyKXqpcOl16Wqpdalx6W5CisrpLeky6SspN+k36TKpOmkpKS3pKek6qG8ICNKTiC74L/AuKu9rKGhpbelp6XqobwKKyukt6TLpKyk36TfpMqk6aSkpLekp6TqobwgI0pOILvgv8C4q72spbelp6XqobwKKyukt6TNICNDSiCkt6TNCisrpLekzSAjQ0ogu9SkzQorK6S3pM0gI0NKILvhpM0KKyukt6TNobyk6CAjSk4gu+GlzaG8pegKKyukt6TNpNChvCAjSk4gpbelzaXQobwKKyukt6TNpNChvCAjSk4gpcGlzaXQobwKKyukt6TNpOikqqThobyk6SAjSk4gu+GkzaTopKqk4aG8pOkKKyukt6TOpNak6aSkpPMgI1QzNSDHpqXppaSl8worK6S3pNCkpKTMICNUMzUgvMa4pAorK6S3pNCksaTzICNUMzUgvMa4pAorK6S3pNCkuSAjVDM1ILvgpdCluQorK6S3pNaktaTvpLWk8yAjSk4gvcLft6S1pPMKKyukt6TbpL0gI1QzNSCkt6Xbpb0KKyukt6TbpPMgI1QzNSCkt6XbpfMKKyukt6TcpKakuKTlpKYgI0pOIKHKYCmizyihraHLocqhrSmnpShgocsKKyukt6TcpKakuKTlpKYgI0pOILvpy8O9wworK6S3pOCk4qTKobwgI0pOIKW3peChpqXipcqhvAorK6S3pOGkuCAjVDM1ICiO36fVjt8pjryO0o68jt4KKyukt6ThpMSksaTBpKuk86TTpKSk4CAjVDM1IMT5pOHJ1aSxw9S0waXTobyl4AorK6S3pOKkxKS3ICNKTiClt6XipcSltworK6S3pOKkyCAjVDM1IKW3peKlyAorK6S3pOKkyCAjVDM1II68jtOOxAorK6S3pOOkoaS7pPOk6KSmpK6ks6TzpLCkyKSspPOk4qTKICNKTiClt6XjpaHA7M3Rpa6ls6XzpbCkyKWspfOl4qXKCisrpLek46SipLuk86TopKakpKS/ICNDTiClt6XjpaLA7M3RyMQKKyukt6TjpKKku6TzpOikpqSkpL8gI1QzNSClt6XjpaLA7M3RyMQKKyukt6TjpKSkoqS4pPMgI1QzNSClt6XjpaSlor/NCisrpLek46SkpPMgI1QzNSClt6XjpaSl8worK6S3pOOkraSkpPMgI0NKICihro6lptiOpaGtKY68jqyOt46wjt0KKyukt6TjpK2kpKTzICNDSiClt6Xjpa2hvKXzCisrpLek46SvpOykraTqpLekv6TzICNUMzUgpbel46WvpeylraXqpbelv6XzCisrpLek46S3pOekpiAjSk4gvNa+uAorK6S3pOOk0KSkpM6kqSAjQ0ogpbel46XQpaSlzqWpCisrpLek46TQpKSkzqSpICNDSiCOvI6sjsqO3o6yjsmOqworK6S3pOOk0KS+pKYgI1QzNSClt6XjpdDB/gorK6S3pOOk2aTrpMSkr6SoICNKTiCkt6TjpNmk67T5CisrpLek46TzpMakoyAjSk4gocqOpaLPjqWhy468jqyO3Y7Djqii9gorK6S3pOOk86TGpKMgI0pOIKW3peOl86XGpaMKKyukt6TkpKIgI1QzNSCkt6fBCisrpLek5aSmICNKTiCkt6TlpKUKKyukt6TlpKakq6TzpKKkuaStobwgI0tLIL21tKmloqW5pa2hvAorK6S3pOWkpqStpOekpiAjVDM1IL2htrUKKyukt6TlpKaktaSkpOKk6aTpobwgI0pOIL2ous2l4qXppemhvAorK6S3pOWkpqTIpKYgI1QzMCC9qsXfCisrpLek5aSmpMikpiAjVDM1IL2qxd8KKyukt6TlpKak1aTmICNUMzAgvarF3worK6S3pOWkpqTVpOYgI1QzNSC9qsXfCisrpLek5aSmpOmkryAjVDM1IKS3pOWkpqTppK+hyr2wze6hyworK6S3pOWkpqTqpOekpiAjQ0ogLS0tLS0tLS29qs67LS0tLS0tLQorK6S3pOWkpqTqpOekpiAjQ0ogoeGh4aHhoeGh4aHhvarOu6HhoeGh4aHhoeGh4QorK6S3pOWkpqTqpOekpiAjVDMwIL2qzrsKKyukt6TlpKak6qTnpKakwaTlpKak3KSmICNUMzUgvarOu7/fy7wKKyukt6TlpLcgI1QzNSC88bvdCisrpLek5aS3pOUgI0pOIKS3pOWkt6TlCisrpLek5aS4pKQgI1QzNSC857yjsOUKKyukt6TlpMOkwaTnpKYgI1QzMCC90MSlCisrpLek5aTUpKSk86S3pOMgI1QzNSClt6XlpdShvKXzvNQKKyukt6Tnobyk4qTKobwgI0pOIKW3peehvKXipcqhvAorK6S3pOehvKTipMqhvCAjSk4gpbel56G8peKlyqG8IAorK6S3pOehvKTmpM2kr6S5pMggI0tLIKW3peehvKXmpc2lr6W5pcgKKyukt6TnpKakq6TzICNUMzAgvqS0rQorK6S3pOekpqSrpPMgI1QzMCC+pLTUCisrpLek56SmpKykyaStpOWk8yAjVDM1IMC41apEUU4KKyukt6TnpKaksKTzpLWk3iAjVDM1IL6tt7PNzQorK6S3pOekpqS4pK2kuaTepPOkq6TDpL8gI0NKIMC1xL6hoqW5pd6l86WrpcOlvworK6S3pOekpqS4pK2kuaTepPOkq6TDpL8gI0NKIMC1xL6hoqW5pd6l86WrpcOlv6GqCisrpLek56SmpMGk5aSmICNUMzUgwLW/3worK6S3pOekpqTcpKYgI1QzNSC+w8vJCisrpLek56SmpNykpqSkpL8gI1QzNSC+w8vJyMQKKyukt6TnpKak5qS7pPOkt6StpMOks6SmpN6kvSAjVDM1IL7fzP3A77vOpa2lw6Wzobyl3qW9CisrpLek56SmpOaku6TzpLekraTDpLOkpqTepPMgI1QzNSC+38z9wO+7zqWtpcOls6G8pd6lvQorK6S3pOekpqTmpMqk16StpPMgI1QzNSC+38z9pcql16WtpfMKKyukt6TnpKak5qTNpK+kuaTIICNUMzUgpbel56G8pealzaWvpbmlyAorK6S3pOekr6TLpPMgI1QzNSC/pr/NCisrpLek56SvpMuk86S1pPMgI1QzNSC/pr/NpLWk8worK6S3pOekr6TNobyk6CAjSk4gv6alzaG8pegKKyukt6TnpK+k6KSmpOKkyqG8ICNKTiC/qc3RpeKlyqG8CisrpLek56S4pOekraTpobykoqTZpOsgI0pOIL3ovfelraXpobyloqXZpesKKyukt6TnpL8gI1QzNSClt6Xnpb8KKyukt6TnpL+ks6TzICNUMzUgpbel56W/pbOl8worK6S3pOekwKSkpLWk86TJpKSkw6TBICNKTiC96cLlpbWl86XJpaSlw6XBCisrpLek56TApKSkt6TNpNChvCAjSk4gvenC5aW3pc2l0KG8CisrpLek56TApKSk3qS4pOykuaTepPMgI0pOIL3pwuWl3qW4peyluaXepfMKKyukt6TnpMCkpKTipMqhvCAjSk4gvenC5aXipcqhvAorK6S3pOekwKSkpOKkzaG8ICNKTiC96cLlpeKlzaG8CisrpLek56TcICNKTiClt6XnpdwKKyukt6TnpNwgI0pOII68jq6Ozo7eCisrpLek56Tcobyk8yAjQ0ogjryOro7Ojt6OsI7dCisrpLek56Tcobyk8yAjSk4gKKGtoaam2KGmYCmlt6XnpdyhvKXzCisrpLek56Tcobyk8yAjSk4gKKGtjqWm2I6lYCmOvI6ujs6O3o6wjt0KKyukt6TnpNyhvKTzICNKTiClt6XnpdwtpfMKKyukt6TnpNyhvKTzICNKTiCOvI6ujs6O3i2O3QorK6S3pOek3KSqpPMgI0NKIKW3peel3KG8pfMKKyukt6TnpNykqqTzICNDSiCOvI6ujs6O3o6wjt0KKyukt6TnpNykrqSzICNKTiCOvI6ujs6O3o63jt6OugorK6S3pOek6aTNobyk6CAjSk4gpbel56Xppc2hvKXoCisrpLek6KSqpKak6CAjU1VDIKW3peihvKWmpegKKyukt6TopKqkpqToICNTVUMgjryO1o6wjrOO1gorK6S3pOmkyqSkpO8gI0pOIKW3pemlyqWkpe8KKyukt6TppM2hvKToICNKTiClt6Xppc2hvKXoCisrpLek6aTNpKik6CAjVDM1IKW3pemlzaG8pegKKyukt6TppM2kzqSqpO2kwSAjSk4gpbel6aXNpc6lqqXtpcEKKyukt6TppNKhvKSyICNKTiClt6XppdKhvKWyCisrpLek6iAjVDM1IL+sCisrpLek6qTEICNUMzUgv6zExQorK6S3pOqkyKTqpKSkvyAjVDM1IKS3pOqkyKTqyMQKKyukt6TqpMik6qS2pOCk6aSkICNKTiCkt6TqpMik6rv4CisrpLek6yAjU1VDIKS3pOsKKyukt6TrICNTVUMgvcEKKyukt6TtpKakyKTLpM+kqqS5pLmk4aTHpK2kyqSkICNDSiDBx7/NpMukz6Sqwaak4b3QzeikyqSkoaMKKyukt6TtpM2ksyAjS0sgx/LHrQorK6S3pO2kzaSzICNUMzUgx/LHrQorK6S3pO2k4KTEICNUMzUgx/Kl4KXECisrpLek86SrpOGk4qTKobwgI0pOIL+/oaalq6XhpeKlyqG8oaEKKyukt6TzpK2k7aSvpL+kw6S7pKSky6TzpMakpKS3pOekpiAjSk4gv7e1rc+/w6PArsenxOq+2gorK6S3pPOksaSkpLukpCAjVDM1IL/At9DArQorK6S3pPOktqTzpM+kq6SrpLqky6TPpPOkyKS3pO2k4KTDpMak7SAjQ0ogv7e7sqTPvfGkq6S6pMvIvsevo9Kjz6PNpMOkxqTtCisrpLek86S3ICNUMzUgv8K7zgorK6S3pPOkt6TlpM4xpLWk8yAjSk4gv7e876TOo7GktaTzCisrpLek86S4pMSkq6SvpMkgI1QzNSC/v7zCs9HF2QorK6S3pPOkuKTjICNUMzUgv6681AorK6S3pPOkuKTlpK+ktKS4pOWkpiAjVDM1IL+3vck1MAorK6S3pPOkuKTlpK+k36TKpN+ksKTBpK6k5aSmpMuk5aSmpL2k1aTIpK+k6qG8pOCkzqTNpKikwaTjpPMgI0pOIL+3vcnG7rj9oda17cb9pb2l1aXIpa+l6qG8peCh16TOpM2kqKTBpOOk8worK6S3pPOkuaTsICNUMzUgv7eluaXsCisrpLek86S5pOykqqThpMekyKSmpLSktqSkpN6hvKS5ICNKTiChwKHKobCipqGwocuhv7+3pbml7KSqpOGkx6TIpKaktKS2pKSk3qHdpLmi9gorK6S3pPOkuaTspKqk4aTHpMikpqS0pLakpKTeobykuSAjSk4gv7eluaXspKqk4aTHpMikpqS0pLakpKTeod2kuQorK6S3pPOkuaTspMOkyaS5pMikw6TRobwgI1QzNSC/v6Gmpbml7KXDpcmluaXIpcOl0aG8CisrpLek86S5pOykw6TJpLmkyKTDpNGkoiAjVDM1IL+/oaaluaXspcOlyaW5pcilw6XRobwKKyukt6TzpLukpCAjUFJFIL+/wK0KKyukt6TzpLukpCAjVDM1IL+/wK0KKyukt6TzpLukpKTBpOWkpqTcpKYgI1QzNSC/v8Ctv9/LvAorK6S3pPOku6TzICNUMzUgv7fBrworK6S3pPOkvaSzpMmkpqTHpOKkpCAjS1kgv7TE7KTJpKakx6TipKQKKyukt6TzpL2ks6TJpKakx6TipKQgI0tZIL+0xOykyaSmpMek4s7JIAorK6S3pPOkvaSzpMmkpqTHpOKk6CAjS1kgv7TE7KTJpKakx6TizskgCisrpLek86TBpOekpqS5pOwgI0tLIL/IxLmluaXsCisrpLek86TBpOekpqS5pOwgI1QzNSC/yMS5pbml7AorK6S3pPOkySAjVDM1IL+8xdkKKyukt6TzpMukwaSqpL8gI1QzNSC/t8b8paqlvworK6S3pPOkzaG8pOikqqTWpM2hvKToICNKTiC/v6Gmpc2hvKXooaalqqXWoaalzaG8pegKKyukuKG8ICNUMzUgo8cKKyukuKG8pKik4CAjVDM1IKPHo80KKyukuKG8pLWkr6TIpLikp6G8pPMgI0pOIEe67qTIpbilp6G8pfMKKyukuKG8pLWkr6TIpLikp6G8pPMgI0pOIEe67qTIpbilp6G8pfOhysOxws6kwKTIsr+kwKSryL2k6aTKpKSkzqTHo7LJpI6+jq+OxKHLIAorK6S4obyktaSvpMikuKSnobyk8yAjSk4gocqhpqLPoaahy6GhocqhpqLPoaai6aLpCisrpLikoyAjSk4gpLikoworK6S4pKSksyAjVDM1ILyrsNa4xQorK6S4pKekpKSmpOikryAjVDM1IEqxps3jCisrpLikp6SkpNOkpKTTpKSkqKS5ICNUMzUgSkJCUworK6S4pKekzqS1pKSkyaSrpMOkv6G8ICNKTiCluKWnpc6ltaWkpcmlq6XDpb+hvAorK6S4pKek86TIpOuk4qTKICNKTiCluKWnpfOlyKXrpeKlygorK6S4pKek86TIpOuk4qTppOmhvKTIpK6ksyAjSk4gpbilp6Xzpcil66Xipeml6aG8pMilrqWzCisrpLikqKSkpKuk86SopOmkpCAjQ0ogpbilqKWkpaul86WopemlpAorK6S4pKikpKSrpPOkqKTppKQgI0NKII68jt6OtI6yjraO3Y60jteOsgorK6S4pKogI0tLIKW4paoKKyukuKSqICNLSyCx9gorK6S4pKogI1QzNSCluKWqCisrpLikqiAjVDM1ILH2CisrpLikr6SmpN6kqqSmICNKTiC7/rb1y+KypgorK6S4pLKk8yAjSk4gvKG4tQorK6S4pLSkpqS4pMikryAjSk4gKKGtos+hrimOvI7ejrqO3o6zjryO3o7EjrCOuAorK6S4pLSkpqS4pMikryAjSk4gpbiltKWmpbilyKWvCisrpLiktKSvpM6ktKSmpKsgI0pOIMPPufakzrbIstAKKyukuKS1pK+kuKSoobyk8yAjSk4gpbiltaWvpbilqKG8pfMKKyukuKS1pK+kuKSopPMgI0pOICiOpaLPjqUpjryO3o67jriOvI7ejrSOsI7dCisrpLiktaSvpLikqKTzICNKTiChzqHKoaaiz6GmocuhzworK6S4pLWkr6S4pKik8yAjSk4gpbiltaWvpbilqKXzCisrpLiktaSvpLikqKTzICNKTiCluKW1pa+luLHfCisrpLiktaSvpLikqKTzICNKTiCOtY7GjrCOwY6sjt0oKqGmos+hpiopjrSOr47BjrAhIQorK6S4pLWkr6S4pKik8yAjVDMwIFFRUVEKKyukuKS1pK+kuKSopPMgI1QzMCC8q7ruvKux6QorK6S4pLWkr6S4pKik8yAjVDM1IKW4pbWlr6W4pail8worK6S4pLWkr6S4pKik8yAjVDM1ILyruu68q7HpCisrpLiktaSvpLiku6TzICNKTiChyqGmwOmhpqHLCisrpLiktaSvpLiku6TzICNKTiCluKW1pa+luKW7pfMKKyukuKS1pK+kuKS7pPMgI0pOILzeu7i83r7dCisrpLiktaSvpLiku6TzICNKTiCOvI7ejruOuI68jt6Ovo7dCisrpLiktaTEpLikqKTzICNKTiChyi274S2hyworK6S4pLWkxKS4pKik8yAjSk4gpbiltaXEpbilqKXzCisrpLiktaTEpLikqKTzICNKTiC83rvCvN603QorK6S4pLWkxKS4pKik8yAjSk4gjryO3o67jsKOvI7ejrSO3QorK6S4pLek86S7pKSkyCAjSk4gw8+/zMC4xcwKKyukuKS3pPOkwCAjQ0ogvKu/rqTAoaqhqqGqoaoKKyukuKS3pPOkwCAjQ0ogw8+/zKTAoaqhqqGqoaoKKyukuKS7pKSkyqTJpK2kq6TKpKSkwyAjQ0ogvKvAqaTKpMnN+KSrpMqkpKTDCisrpLikwaS5pOwgI1QzNSC8q7yjpbml7AorK6S4pMGkwaTlpKYgI1QzNSC8q7yjv98KKyukuKTBpPOktaSkICNUMzUgw8/Ew7rXCisrpLikw6StpOekpqS5pOwgI1QzNSC8wra3pbml7AorK6S4pMOk0aTSpMikq6TqpLIgI0pOIKW4pcOl0aXSpcilq6XqpbIKKyukuKTEpO+k8qSrpK+kyqTIpKKk7KTbpMkgI0NKILzCz8Ok8r3xpK+kyqTIpKKk7KTbpMmhxAorK6S4pMmkpqSqpKakwKS9pKakwSAjVDM1ILyrxrCypcLHwfXD1gorK6S4pM+koqTJICNUMzUgpbilz6G8pckKKyukuKTQpK8gI1QzNSC8q8f6CisrpLik0qTjpK+kuKSopPMgI0pOIKHKoabJtKGmocsKKyukuKTSpOOkr6S4pKik8yAjSk4gpbil0qXjpa+luKWopfMKKyukuKTSpOOkr6S4pKik8yAjSk4gjryO3o7LjqyOuI68jt6OtI7dCisrpLik16S3obwgI1QzNSCluKXXpbehvAorK6S4pNekt6SkICNUMzUgpbil16W3obwKKyukuKTYpKSk3aTzICNLSyC8q8rEpN2k8worK6S4pNikpKTdpPMgI1QzNSC8q8rEpN2k8worK6S4pN+k86TIpKak4qTKobwgI0pOILyrzLHF3qXipcqh3QorK6S4pN+k86TIpKak4qTKobwgI0pOILyrzLHF3qXipcqh3SAKKyukuKTgICNKTiBHTQorK6S4pOGk86TypKqk6KSwpK6ksyAjSk4gw8/MzKTyscuksKWupbMKKyukuKTjobyky6G8ICNKTiCluKXjobyly6G8CisrpLik46SspOKkyqG8ICNKTiCkuKTjpKyl4qXKobwKKyukuKTjpLek8yAjVDM1ILzZv8AKKyukuKTjpMOkq6TrICNUMzUgpbil46XDpaul6worK6S4pOOkw6StobwgI0pOIKW4peOlw6WtobwKKyukuKTjpMOkraG8ICNUMzUgpbil46XDpa2hvAorK6S4pOOkw6StpKQgI1QzNSCluKXjpcOlraG8CisrpLik46TLpKQgI1QzNSC82Le7CisrpLik46TLpKQgI1QzNSC82be7CisrpLik46TTICNKTiCOvI7ejqyOy47eCisrpLik46TepLWkrSAjVDM1ILzZy+K66gorK6S4pOOk36TtpK+kpCAjSk4gpbil46Xfpe2lr6WkCisrpLik46TrICNUMzUgSkGlzkwKKyukuKTjpPOkrKTqpKKk86TPpOCkuaS/obwgI0pOIKW4peOl86WspeqloqXzpc+l4KW5pb+hvAorK6S4pOOk86SvpK+k6aTDpKuhvKSvpOmkw6S3pOOhvCAjSk4gpbil46Xzpa+hpqWvpemlw6WrobyhpqWvpemlw6W3peOhvAorK6S4pOOk86SwpOuk3aSxpMOkyKTOpMGkwaTPpNWkuKStpLukrSAjQ0ogpbil46XzpbCl66XdpbGlw6XIpM7J46TPpdWluKWtpbulrQorK6S4pOWkpqS3pOekryAjSk4gvbu/pgorK6S4pOWkpqS3pOekryAjVDM1IL27v6YKKyukuKTlpKakyqTKpLmkr6TqpNekyCAjVDM1IDE3pbmlr6XqpdelyAorK6S4pOWkpqTLpPMgI1QzNSC9u7/NCisrpLik5aSmpM+kwaS4pMukuKTlpKakuKTipPOkwKSkICNUMzUgMTi7/qGmMjC7/szkwuoKKyukuKTlpKak1aSvpLmk7CAjVDM1IL3FyqOluaXsCisrpLik5aSmpNWkr6S5pOykw6TJICNUMzUgvcXKo6W5peylyQorK6S4pOWkpqTepPOkqKTzICNKTiCtqqGhCisrpLik5aSmpN6k86SopPMgI0pOIL29y/yx3worK6S4pOWkpqTfpPMgI1QzNSC9u8yxCisrpLik5aSmpOik8yAjSk4go7GjtAorK6S4pOWkq6SkICNDTiC8+bOkCisrpLik5aSrpKQgI1QzNSC8+bOkCisrpLik5aTGobyk4CAjSk4gpbil5aXGobyl4AorK6S4pOWk86SrpKQgI1QzMCC95LLzCisrpLik5aTzpK2k86SkpL8gI0NOIL3jtuLIxAorK6S4pOWk86StpPOkpKS/ICNUMzUgveO24sjECisrpLik5qSmpPKk36SupMaky6SipKSkyqTppNKkwKTqpMakyyAjSk4gpbil5qWmpfKl36Wupcaly6WipaSlyqXppdKlwKXqpcalyworK6S4pOakpqTypN+krqTGpMukoqSkpMqk6aTSpMCk6qTGpMsgI0pOILze1bOm0Lfew8axssXXy8De2MPGCisrpLik5qSmpPKk36SupMaky6SipKSkyqTppNKkwKTqpMakyyAjSk4gjryO3o7VjrOOpo7QjreO3o7DjsaOsY6yjsWO147LjsCO3o7YjsOOxgorK6S4pOekpKTDpMYgI0tTIEpPWaTDpMYKKyukuKTnpKakraSqpKYgI0pOIL74taSypgorK6S4pOekpqTBpOWkpiAjVDMwIL7vw/MKKyukuKTnpKakyKSmpLik56TmpKYgI1QzNSC+5cX5vffNpQorK6S4pOekpqTIpMGk5aSmICNUMzUgvvnFz7/fCisrpLik56SmpOyk8yAjVDM1IL7vz6IKKyukuKTnpLuk1aTIpKKk1qTJpKWk6yAjSk4gpbil56W7pdWkyKWipfSlyaWlpesKKyukuKTnpMakpCAjVDM1IL33xOsKKyukuKTnpMakpKSopLmkq6TqobykzCAjSk4gvffE66Wopbmlq6XqobylzAorK6S4pOeky6G8ICNKTiCluKXnpcuhvAorK6S4pOek8yAjSk4gpbil56XzCisrpLik56TzICNUMzUgpbil56XzCisrpLik56TzpLik5yAjSk4gpbil56Xzpbil5worK6S4pOek86TVobyk8yAjSk4gpbil56Xzoaal1aG8pfMKKyukuKTppKQgI1QzNSDDz83rCisrpLik6aSkpLKk86S3pOek6qS3pOMgI0pOIMPPzeu4tr3ozf281gorK6S4pOmkzaG8pOggI0pOIKW4pemlzaG8pegKKyukuKTspLkgI1QzMCC8q6XspbkKKyukuKTzICNTVUMgv9AKKyukuKTzpLik46G8ICNKTiCluKXzpbil46G8CisrpLik86TLpK8gI1QzNSC/zcb5CisrpLik86TLpK8gI1QzNSC/zcb5u9S+7AorK6S4pPOky6SvpKSkwaTQICNUMzUgv83G+QorK6S4pPOky6SvpKSkwaTQICNUMzUgv83G+bvUvuwKKyukuKTzpN+k86SwpPOksKTzpKuk8yAjSk4gv83Msbezt7O0sQorK6S4pPOk4aTzpLSkraTWpOqkw6TEICNKTiC/zczMpbSlraXWpeqlw6XECisrpLmhvKTRobyktKTqpKogI0pOIKW5obyl0aG8pbSl6qWqCisrpLmhvKTRobyk4qTKpK6ks6S/pKSku6TzICNKTiCluaG8pdGhvKXipcqlrqWzwufA7worK6S5obyk0aG8pOqkoqTrpMGk5aSmpNykpiAjVDM1IKW5obyl0aG8peqloqXrv9/LvAorK6S5pKSku6TzpKuk86S5pOwgI0tLIL/lwPa0yaW5pewKKyukuaSkpLuk86SrpPOkuaTsICNUMzUgv+XA9rTJpbml7AorK6S5pKSkvaSmICNUMzUgv+XB5QorK6S5pKSkv6SjpOekpSAjSk4gtdukpKS/pKOk56SloaEKKyukuaSkpL+kpKTopKYgI0pOILXbpKSkv6SjpOekpaGhCisrpLmkpqTRpKKkzqSmoaukoSAjVDM1IKW5obyl0aG8pc6l9KWhCisrpLmkpqTRpKKkz6SrpKIgI1QzNSCluaG8pdGhvKXPpauhvAorK6S5pKak0aSipOqkoqTrpMGk5aSmpNykpiAjVDM1IKW5obyl0aG8peqloqXrv9/LvAorK6S5pKak4qS4pOKkuKS6pMSkxKSvpMOkxqTVpOSkt6S/pKKkuaStobykoqG8pMggI0pOIL/0yri7+qS6pMTB/aTkpLekxrrupMOkv6PBo8EKKyukuaSopMOksyAjSk4gy/akw7vSCisrpLmkqKTDpLMgI1QzNSDL9qTDu9IKKyukuaSrICNUMzUgv9yywworK6S5pKukpKTpobykr6S8pPOk1iAjQ0ogpbmlq6WkpemhvKWvwbTJ9AorK6S5pKuk6aSipM8gI1QzNSCluaWrpemhvMfICisrpLmkriAjU1VDIL/5CisrpLmkr6SmpKekoiAjVDM1IKKjCisrpLmkr6SmpKekoqTbpPOkt6TjICNKTiCluaWvpaalp6Wiy9y80gorK6S5pK+kvaTXpMggI1QzNSCluaWvpb2l16XICisrpLmkr6TEICNUMzUgpLmkr6TECisrpLmkr6TqpNekyCAjVDM1IKW5pa+l6qXXpcgKKyukuaS0pN6kuKSkICNDSiCkuaS0pN6kuKSkCisrpLmktqSxpOukyiAjQ0ogpLmktqSxpOukyqGqCisrpLmkuaS6ICNUMzUgpbmluaW6CisrpLmkuqStpOCkzaSqpMekt6S/ICNKTiChyqGmos+hpqHLzuvM2r2hw8uOw47ejryOwAorK6S5pLqkraTgpM2kqqTHpLekvyAjSk4gzuvM2r2hw8ulx6W3pb8KKyukuaS6pK2k4KTNpKqkx6S3pL8gI0pOIM7rzNq9ocPLjsOO3o68jsAKKyukuaS/obyk3qTzICNKTiCluaW/obyl3qXzCisrpLmkv6S4pKqky6TBpOOk86TNpOukz6S4pN6k66ToICNKTiCluaW/pbilqjJjaLvPpN6k66ToovYKKyukuaTBpLogI0pOIMHHw8+/3gorK6S5pMGkuiAjVDM1IMHHw8+/3gorK6S5pMOktKSvpKuk76SkpKSk4qTKobwgI0pOIKH5pLmkw6S0pK+h+aSrpO+kpKSkKF5vXiml4qXKobwKKyukuaTDpMmk7CAjSk4gocqhpqLPoaahy469jq+OxI7ejtohCisrpLmkw6TJpOwgI0pOIKW5pcOlyaXsCisrpLmkw6TJpOwgI0pOII69jq+OxI7ejtoKKyukuaTDpMmk7CAjVDM1IKW5pcOlyaXsCisrpLmkxqStpL+kpKTgICNUMzUgpbmlxqWtpb+lpKXgCisrpLmkxqTPpPMgI1QzNSC8zqTGpc+l8worK6S5pMihvKSrpOGksyAjVDM1IKW5pcihvKWrpeGlsworK6S5pMikpqSrpOGksyAjVDM1IKW5pcihvKWrpeGlsworK6S5pMik6qTDpNcgI1QzNSDBx6XIpeqlw6XXCisrpLmkyqSkpNcgI1QzMCCluaXKpaSl1worK6S5pMqkq6SxpNCk0KSiICNKTiC6vaSrpLHHzAorK6S5pM2kq6S4pOogI1QzNSCluaXNpKukuKTqCisrpLmkzqG8ICNUMzUgo9OjzqPPo9cKKyukuaTOpKYgI1QzNSBTTk9XCisrpLmk0SAjS1Mgpbml0QorK6S5pNGhvKSvpOKkyqG8ICNKTiCluaXRobylr6XipcqhvAorK6S5pNGkt6G8pNwgI1QzNSChyqGmos+hpqHLpbml0aW3obyl3CEhoekgCisrpLmk0aS3obyk3CAjVDM1IKHKoaaiz6GmocuOvY7Kjt+OvI6wjs6O3iEhoekgCisrpLmk0aS3obyk3CAjVDM1IKW5pdGlt6G8pdwKKyukuaTRpLehvKTcICNUMzUgjr2Oyo7fjryOsI7Ojt4KKyukuaTRpLehvKTcpLOkpqSrICNUMzUgpbml0aW3obyl3Lj6sswKKyukuaTRpLekpKTcICNUMzUgocqhpqLPoaahy469jsqO3468jrCOzo7eISGh6SAKKyukuaTRpLekpKTcICNUMzUgjr2Oyo7fjryOsI7Ojt4KKyukuaTRpLekpKTcpLOkpqSrICNUMzUgpbml0aW3obyl3Lj6sswKKyukuaTRpMGk5aSmICNUMzUgpbml0b/fCisrpLmk0aTgICNUMzAgpbml0aXgCisrpLmk0aTgICNUMzUgc3BhbQorK6S5pNGk4CAjVDM1IKW5pdGl4AorK6S5pNGk8yAjSk4gU1BBTgorK6S5pNSk3qS5ICNUMzUgpbml1KXepbkKKyukuaTVpKOk86SvpLkgI0pOIKW5pdWlo6Xzpa+luaGhCisrpLmk1qS/pPMgI1QzNSCluaXWpb+l8worK6S5pNqk6aTzpKuhvCAjS0sgpbml2qXppfOlq6G8CisrpLmk2qTppPOkq6G8ICNUMzUgpbml2qXppfOlq6G8CisrpLmk2qTppPOkq6SiICNUMzUgpbml2qXppfOlq6G8CisrpLmk3iAjSk4gv9zL4QorK6S5pN4gI1QzNSC/3MvhCisrpLmk3qS9ICNDSiCluaXepb0KKyukuaTgpOmkw6TIICNUMzUgU01BUlQKKyukuaTgpOmkw6TIICNUMzUgo9OjzaPSo8Gj1AorK6S5pOggI0pOIKW5pegKKyukuaTppKSk4CAjSk4gpbml6aWkpeAKKyukuaTrpMOkyKTBpOOk8yAjSk4gpbml66XDpcikwaTjpPMKKyukuaTsICNUMzUgpbml7AorK6S5pOyktKTQpK8gI1QzMCCluaXsuO3H+gorK6S5pOyktaSvpLik5yAjVDMwIKW5pey67738CisrpLmk7KS5pMggI1QzNSCluaXspbmlyAorK6S5pOykv6SkICNUMzUgpbml7KW/paQKKyukuaTspMGkrKSkICNUMzUgpbml7LDjpKQKKyukuaTspMOkySAjVDM1IKS5pOykw6TJCisrpLmk7KTDpMkgI1QzNSCluaXspcOlyQorK6S5pOykw6TJpKKkw6S3pOWkryAjVDMwIKW5peylw6XJsLW9zAorK6S5pOykw6TJpKKkw6S3pOWkryAjVDM1IKW5peylw6XJsLW9zAorK6S5pOykw6TJpKSkwaTppPMgI1QzNSCluaXspcOlybDszfcKKyukuaTspMOkyaS5pMikw6TRobwgI1QzNSCluaXspcOlyaW5pcilw6XRobwKKyukuaTspMOkyaS5pMikw6TRobykuaTGobykt6TnpPMgI0pOIKW5peylw6XJpbmlyKXDpdGhvKW5pcahvKW3peel8worK6S5pOykw6TJpLmkyKTDpNGkoiAjVDM1IKW5peylw6XJpbmlyKXDpdGhvAorK6S5pOykw6TJpNKk56SmpKuky6TzpMakpKSkpKSk86SrpKQgI0pOIKW5peylw6XJyb6ywcenxOqw0bD3svEKKyukuaTspMOkyaTVpO2hvKTIpNukpqS3pK0gI1QzNSCluaXspcOlyaXVpe2hvKXIyv28sAorK6S5pOykw6TJpNWk7aSmpMik26SmpLekrSAjVDM1IKW5peylw6XJpdWl7aG8pcjK/bywCisrpLmk7KTDpMmk7KSkpNcgI1QzMCCluaXspcOlyaXspaSl1worK6S5pOyky6TzpMakpKS3pOekpiAjSk4gpbml7MenxOq+2gorK6S5pOyk0qTnpKakq6S4pOekpiAjSk4gpbml7Mm+ssG+7gorK6S5pOyk8qTopLQgI1M1IKW5peyk8rH4CisrpLmk7KTypOiktKS5ICNDSiCluaXspPKx+KS5CisrpLmk7aTDpMikqqTcpKikv6TGpMcgI0NKIKW5pe2lw6XIs9CkqKS/pMakxworK6S5pPOkuaTzpLmkpqTzICNDSiAooaaiz6GmKY69jt2OvY7djr2OsI7dovYKKyukuaTzpLmk86S5pKak8yAjQ0ogpbml86W5pfOluaG8pfOi9gorK6S5pPOk3qS9ICNDSiCkuaTzpN6kvQorK6S6pLSkqqTepLAgI0pOIKW6oaaltKWqpd6hpqWwCisrpLqktaSupLMgI0pOIKW6pbalrqWzCisrpLqktqTKpN6kz6SypLWk3iAjSk4gocqluqW2oculyqXepc+lss3NCisrpLqk6aTpobwgI0pOIKW6peml6aG8CisrpLqk6qS7pL0gI1QzNSCluqXqpbul8worK6S6pOukpKSqpPOkyiAjS0sgpLqk66SkvfcKKyukuqTrpKSkqqTzpMogI1QzNSCkuqTrpKS99worK6S6pOwgI1QzNSCluqXsCisrpLqk7KSspLmkr6TKpKSkzqTHpLek5aSmpLukpKS3pMakqqStpN6kt6S/ICNKTiCluqXspKy+rqS1pKSkzqTHvaTAtaS3pMakqqStpN6kt6S/oaMKKyukuqTspKykuaSvpMqkpKTOpMekt6TlpKaku6SkpLek3qS3pL8gI0pOIKW6peykrL6vpMqkpKTOpMe9pMC1pLek3qS3pL8KKyukuqTspKykuaSvpMqkpKTOpMekt6TlpKaku6SkpLek3qS5ICNKTiCluqXspKy+r6TKpKSkzqTHvaTAtaS3pN6kuQorK6S7obyk6aTgpKqkpqSzpK8gI0pOIKS7obyk6aTgpKqkpqSzpK8KKyuku6SkpKukpCAjVDM1IMCtsvQKKyuku6SkpK6ksyAjSk4gpbulpKWupbMKKyuku6SkpK6ksyAjSk4gpbulpKWupbMgCisrpLukpKS0ICNKTk0gwKy44worK6S7pKSktKSmICNKTiDArbnrCisrpLukpKS0pKYgI1QzNSDArbnrCisrpLukpKS3pOWk8yAjSk4gwMS91QorK6S7pKSkt6TzpMakraTWpOmkr6TpICNUMzUgwLq/wMWqpdal6aWvpekKKyuku6SkpLuk86S3pOekr6TSpPOk4qTppN6ktSAjSk4gwLjBr7+pycql4qXppd6ltQorK6S7pKSkvaSmpMGk5aSmICNUMzUgwLbB3b/fCisrpLukpKTBICNUMzUgwLvDzworK6S7pKSkyCAjSk4gwLjFzAorK6S7pKSkyCAjSk4gwLjFzKGpCisrpLukpKTIMiAjSk4gwLjFzKPWo+Wj8qOyCisrpLukpKTIMyAjSk4gwLjFzKPWo+Wj8qOzCisrpLukpKTIpKSk6aTNobyk6CAjSk4gwLjFzKWkpemlzaG8pegKKyuku6SkpMikpqS3ICNKTiDAuMXMte0KKyuku6SkpMikq6SqpMCksSAjSk4gKKGooa2npaGuKaG/wOjAuKGqoaahpqGmoaYKKyuku6SkpMikq6SqpMCksSAjSk4gwLjFzLTppMCksQorK6S7pKSkyKS1pKSkt6TnpKYgI0pOIMC4xcy6x76uCisrpLukpKTIpLikqqTzpLAgI0pOIMC4xcyluKWqpfOlsAorK6S7pKSkyKS4pOWkpqTtpK+kr6TzICNKTiDAuMXMo7GjtrevCisrpLukpKTIpLmk1aSjpPOkr6S5ICNKTiDAuMXMpbml1aWjpfOlr6W5CisrpLukpKTIpLqktKSqpN6ksCAjSk4gwLjFzKW6oaaltKWqpd6hpqWwCisrpLukpKTIpMCkpKSkpMGk1aTDpLWhvKTrICNKTiDAuMXMwuiw7KXVpcOltaG8pesKKyuku6SkpMikwKSkpKSkwaTVpMOktaG8pOuk0KG8pLik56TzMiAjSk4gwLjFzMLosOyl1aXDpbWhvKXrdmVyo7IKKyuku6SkpMikwKSkpKSkwaTVpMOktaG8pOuk0KG8pLik56TzMyAjSk4gwLjFzMLosOyl1aXDpbWhvKXrdmVyo7MKKyuku6SkpMikzqTOICNKTiDAuMXMpM6kzgorK6S7pKSkyKTPpOmk3qStpNChvKS4pOek8zEgI0pOIMC4xczKorSspK2j1qPlo/KjsQorK6S7pKSkyKTPpOmk3qStpNChvKS4pOek8zIgI0pOIMC4xczKorSspK2j1qPlo/KjsgorK6S7pKSkyKTVobyk8yAjSk4gwLjFzKTVobyk8worK6S7pKSkyKTVpLWk1qTEICNKTiDAuMXMpNWktaTWpMQKKyuku6SkpMik1qTEpNakxCAjSk4gwLjFzKTWpMSk1qTECisrpLukpKTIpNakxKTWpMSkuKTlpKak7aSvpK+k8yAjSk4gwLjFzKTWpMSk1qTEo7GjtrevCisrpLukpKTIpNakxKTWpMSkyaSmpOggI0pOIMC4xcyk1qTEpNakxKTJpKak6AorK6S7pKSkyKTWpMSk1qTEpMmkpqTopNChvKS4pOek8zIgI0pOIMC4xcyk1qTEpNakxKTJpKak6KPWo+Wj8qOyCisrpLukpKTIpOCkw6SvICNKTiDAuMXMpeClw6WvCisrpLukpKTIpOGkv6Tpobyk0KG8pLik56TzMSAjSk4gwLjFzKXhpb+l6aG8dmVyo7EKKyuku6SkpMik4aS/pOmhvKTQobykuKTnpPMyICNKTiDAuMXMpeGlv6Xpobx2ZXKjsgorK6S7pKSkyKTppMeko6TzICNKTiDAuMXMpemlx6WjpfMKKyuku6SkpMik7KSrpOCkwaTjpMOkq6TfpL2kwaTzpM+kpqS5ICNKTiDAuMXMpeyhpqSrpOCkwaTjpMOkq6TfpL3EwaXPpaaluQorK6S7pKSkyKTzobwgI0pOIMC4xcyk86HBoaqhqQorK6S7pKSk6qTlpKYgI1QzNSDAtsLtCisrpLukq6SkpLuk1aSvpPKkv6SvpOmk4KTipOmk6aG8ICNKTiDApLOmodbAqaHXyf6k8rTrpOCl4qXppemhvAorK6S7pKykt6TzpLik4yAjVDM1IKW7pay/rrzUCisrpLukrKTTobwgI1QzNSClu6WsQgorK6S7pKyk7yAjVDM1IKW7yOkKKyuku6StpLmkpCAjS0sgwNG/5QorK6S7pK2kuaSkICNUMzUgwNG/5QorK6S7pK2kuqSkpM+k86S3pOOk7KS5ICNUMzAgwNS/8ci/vM2l7KW5CisrpLukraS6pKSkz6TzpLek46TspLkgI1QzNSDA1L/xyL+8zaXspbkKKyuku6SvobykuSAjQ04gpbulr6G8pbkKKyuku6SvobykuSAjVDMwIKW7pa+hvKW5CisrpLukr6G8pLkgI1QzNSClu6WvobyluQorK6S7pN+ktaTzpLOkqqS5ICNUMzUgpbul36S1pPOls6G8pbkKKyuku6TrpLKkqKTgICNUMzUgpbul66Wyobyl4AorK6S7pPMgI1QzNSAxMDAwCisrpLuk86SkpK+kv6TTpMukpKS/pPKkxqTzpMak86TIpLmk66S5pOykw6TJICNUMzUgMTAwMLnUpK+kv6TTpMvIxKTyxb6huaTIpLmk66W5peylw6XJCisrpLuk86SkpMEgI1QzNSAxMDAxCisrpLuk86SzpKakt6TjICNKTiDA6Lj4vNQKKyuku6TzpLOkpqS3pOMgI0pOIMDoudS81AorK6S7pPOks6SmpLek4yAjVDM1IMDoudS81AorK6S7pPOkt6TlpKakrKTDpLOkpiAjVDM1IMDsvaSz2Lm7CisrpLuk86S5pKSkq6TzpLmk7CAjVDM1IMD4v+W0z6W5pewKKyuku6TzpLukpCAjSk4gwOjAuAorK6S7pPOku6SkpL+kuaSxpMYgI0pOIMDowLihqr31pLGkxqGqCisrpLuk86S7pKSk1aS1pNakxCAjSk4gwOjAuKTVpLWk1qTECisrpLuk86S7pKSk1qTEpNakxCAjSk4gwOjAuKTWpMSk1qTECisrpLuk86S9pKYgI1QzNSAxMDAwwegKKyuku6TzpM6kpqS3pOWkpqSrpKQgI1QzNSDA9se+vbiy8QorK6S7pPOk4qTzpKSkvyAjVDM1IMDszOfIxAorK6S8pMOkyKStICNKTiCj2rT6CisrpLykw6TIpLekrSAjVDM1IKPavLAKKyukvKTDpMikv6SxICNUMzUgo9rJ8AorK6S8pMOkyKTBpOOk86TNpOukpqTzpKikpKS4pPMgI0pOIFpjaLG/scS/2AorK6S8pNWkoaG8pKKk86TBpOOk8yAjSk4gpbyl1aWhobykoqTzpMGk46TzCisrpLyk7SAjVDM1IDAKKyukvKTtpO+k8yAjVDM1IM7tsO0KKyukvKTzpMSkpiAjVDMwIMG0xMwKKyukvKTzpMSkpiAjVDM1IMG0xMwKKyukvKTzpOkgI1QzNSDBtM3nCisrpLyk86TppL+kpCAjVDM1IMG0zefC4gorK6S9obykuSAjVDM1IKW9obyluQorK6S9obykuaTPICNDSiClvaG8pbmkz6GpCisrpL2hvKTHpOKkyqSkpOggI0pOIKS9obykx6TipMqkpKToCisrpL2hvKTKpM4gI0pOIKW9obylyqXOCisrpL2kpKS/ICNDTiCkvcjECisrpL2kpKS/ICNUMzUgpL3IxAorK6S9pKakqyAjVDM1IMHYsr0KKyukvaSmpK+kxCAjVDM1IMHjt6IKKyukvaSmpLGkpCAjS0sgweG3xAorK6S9pKaksaSkICNUMzUgweG3xAorK6S9pKaksaSkpLik56SmpMEgI1QzNSDB4bfEvuXD0gorK6S9pKaksyAjVDM1IMHSuMsKKyukvaSmpLOkpKStICNDSiDB0rjLwMKkrQorK6S9pKaks6SkpK0gI1QzNSDB0rjLudSkrQorK6S9pKaks6SmICNKTiDB4rm/CisrpL2kpqSzpNCk8yAjVDM1IMHSuMvI1gorK6S9pKaktKSmpLmk7KTDpMkgI1QzNSDB7bnnpbml7KXDpckKKyukvaSmpLWkpCAjVDM1IMHtutsKKyukvaSmpLek56SvICNUMzAgwfW+/gorK6S9pKakuKTzICNKTiDB4r/OCisrpL2kpqS5ICNUMzUgpb2hvKW5CisrpL2kpqTBpOekpqTspLkgI1QzMCDB4cSrpeyluQorK6S9pKakx6TipMqkpKToICNDSiCkvaSmpMek4qTKpKSk6AorK6S9pKakx6TipMqkpKToICNKTiCkvaSmpMek4qTKpKSk6AorK6S9pKakyKSmICNUMzUgwe3F/QorK6S9pKakz6SkpKuk86S2pK0gI0NKIKS9pKakz6Skv8C66gorK6S9pKak6qS9pKak6qTjpK8gI1QzNSDBz834wc/OrAorK6S9pKukpCAjVDMwIMHCs6sKKyukvaSvpLcgI1QzNSDCqLvgCisrpL2kr6S3pLmk7CAjVDM1IMKou+CluaXsCisrpL2kr6S3pM+k86TGpKQgI1QzNSDCqLvgyL3E6gorK6S9pK+k26SmICNDSiDCrsrzoaoKKyukvaSvpOykuSAjVDMwIMKopeyluQorK6S9pK+k7KS5ICNUMzUgwqil7KW5CisrpL2ky6G8pL+kpKTeobwgI1QzNSClvaXLobylv6Wkpd6hvAorK6S9pMukpKS/pKSk3qSiICNUMzUgpb2ly6G8pb+lpKXeobwKKyukvaTMpK2k5aSmpNOk8yAjSk4gpb6lzLXeytgKKyukvaTOICNKTiCkvaTOCisrpL2kzqSzICNKTiCx8bvSCisrpL2kzqTEpK+kq6SkpLek4yAjVDM1IKHWpL2h16TOpMSkr7LxvNIKKyukvaTQpNCk0KG8pPMgI0pOIKW9pdCl0KXQLaXzISEhCisrpL2k0KTQpNChvKTzICNKTiCOv47Kjt6Oyo7ejsqO3i2O3SEhIQorK6S9pNCk0KTQobyk8yAjSk4gjr+Oyo7ejsqO3o7Kjt6OsI7dISEhIQorK6S9pNOkqKTIICNKTiClvaXTpailyAorK6S9pNWk3qTDpNcgI0pOIKW9pdWl3qXDpdehoQorK6S9pNykr6TKpK6k4qG8pPMgI0NKIMHHy9GkyqSupOKhvKTzCisrpL2k3qTqpOSkrKSkpLmk6aTgpMukvaTepOqk5CAjQ0ogpb2l3qXqpeSkrKWkpbml6aXgpMukvaTepOqk5AorK6S9pOmkpKTgICNKTiClvaXppaSl4AorK6S9pOmkyqSkpO8gI0pOIKW9pemlyqWkpe8KKyukvaTppM2hvKTHpOggI0pOIKW9pemlzaG8pcel6AorK6S9pOmkzaG8pOggI0pOIKW9pemlzaG8pegKKyukvaTppM2hvKTopKuk86SkpNCk8yAjSk4gpb2l6aXNobyl6LTKsNfIxworK6S9pOmk36S/pLOkyKSrICNKTiCkvaTpuKukv6SzpMikqworK6S9pOqkw6TJpOKkyqG8pK8gI0pOIKW9peqlw6XJoaal4qXKobylrworK6S9pOykrKTKpMukqyAjSk4gpb2l7KWspcqh4aXLpasKKyukvaTzICNKTlMgwrkKKyukvaTzpLSkr6SmICNUMzUgwrm457b1CisrpL2k86S3pM6kz6S/pLik66S3ICNKTiDCubvSpM60+rD1CisrpL2k86TKpM6kt6TDpMGk56TspK4gI0pOIKS9pPOkyqTOw86kw6XBpeel7KWuCisrpL2k86TKpNCkyqTKpK6ksyAjSk4gpL2k86TKpdClyqXKpa6lsworK6S9pPOk3qS1pOiktyAjSk4gwrnAtbXBCisrpL6kpKTJpKSkvyAjQ04gpb6lpKXJyMQKKyukvqSkpMmkpKS/ICNUMzUgpb6lpKXJyMQKKyukvqS5ICNDSiClvqW5CisrpL6ky6TDpK8gI0pOIKS+pMukw6SvCisrpL6ky6TDpK+kwKTzpLek46SvICNKTiCkvqTLpMOkr8PLvN8KKyukvqTLpMOkr6TApPOkt6TjpK+koqTrpNWkoSAjSk4gpL6ky6TDpK/Dy7zfpsEKKyukvqTLpMOkr6TApPOkt6TjpK+kpqGrpKOkr6TIpOqhvCAjSk4gpL6ky6TDpK/Dy7zfVgorK6S+pMwgI0pOIKS+pMwKKyukvqTMICNKTiClvqXMCisrpL6kzCAjVDM1IKS+pMwKKyukvqTMobyk1KG8ICNKTiClvqXMobyl1KG8CisrpL6kzKS2pOGkpKS/pPOkxqSkICNKTiCkvqTMoaaltqGmzMLDtcTlCisrpL6kzKS3pOOkwaTnpKYgI0pOIKS+pMy80sS5CisrpL6kzKTDpMak6yAjQ0ogpL6kzKTDpMak6worK6S+pMyk1qS3ICNUMzUgpL6kzMn6CisrpL6kzKTepLek8yAjSk4gpL6kzKXepbel8worK6S+pM0gI1QzNSCkvqTNCisrpL6k4CAjSk4gpb6l4AorK6S+pO2k0KTzICNUMzUgpb6l7aXQpfMKKyukvyAjSzUgv+YKKyukvyAjS0ogv+YKKyukv6G8pPMgI0pOII7AjrCO3QorK6S/pKQgI0pOIMLkCisrpL+kpCAjVDM1IMLkCisrpL+kpKG8pNsgI0NKIKW/paSorKisqKyorHx8prV8KHyhrXynpXxgfCl8prV8fKisqKyorKispdsKKyukv6Skobyk2yAjQ0ogpb+lpKisqKyorKisocOhw6a1ocOhyqHDoayhw6LPocOhrKHDocuhw6a1ocOhw6isqKyorKispduhqqGqoaoKKyukv6Skobyk2yAjQ0ogjsCOsqisqKyorKisfHymtXwofI7ffKLPfI7ffCl8prV8fKisqKyorKisjs4hISEKKyukv6SkpK0gI1QzNSDC57WkCisrpL+kpKS3pKuk8yAjVDM1IMLnu8i02worK6S/pKSkt6TnpKakt6TnpKak76SupLMgI0pOIMLnwLW+vM/Ctby4xQorK6S/pKSkwaTnpKYgI0NKIMLixLmhqgorK6S/pKSkyKTrpNCkyqG8ICNUMzUgpb+lpKXIpeul0KXKobwKKyukv6SkpOAgI1QzNSBUSU1FCisrpL+kpKTgpNGk6aTJpMOkr6S5ICNUMzUgpb+lpKXgpdGl6aXJpcOlr6W5CisrpL+kpKTvpPMgI1QzNSClv6WkuKQKKyukv6SrpKyk3aTzpLWk7KTJpN2k8yAjQ0ogpL+kq6Sspd2l86S1pOykyaXdpfMKKyukv6SrpLWkraTfpO8gI0pOILniuurI/s/CIAorK6S/pKuktaTzICNKTk0gpb+lq6S1pPMKKyukv6SrpLWk8yAjVDM1IKW/pauktaTzCisrpL+kq6S3pK+k86S4pLGk8yAjS0sgpL+kq6S3t6+79rfvCisrpL+kq6S3pK+k86S4pLGk8yAjVDM1IKS/pKukt7evu/a37worK6S/pKukv6S3pOOkwaTnpKYgI0pOUyCkv6SrpL+80sS5CisrpL+kq6S/pLek46TBpOekpiAjSk5TVUMgpL+kq6S/vNLEuQorK6S/pKukz6S3pOiktyAjVDM1ILnitrbNsworK6S/pKuk6aSupLMgI0pOIKW/paul6aWupbMKKyukv6SvpKKk86TipMqhvCAjSk4gpL+kr6SipPOl4qXKobwKKyukv6SvpK2k5aSmICNUMzUgwvC15QorK6S/pLCkwaTLpMOkrSAjVDM1IMXEuP3G/LWtCisrpL+ksaS3pK+k8yAjSk5NIKS/pLGkt7evCisrpL+ksaTApK2kvqTMICNKTiDJ8MXEtbOkvqTMCisrpL+ksaTApK2k0CAjSk4gyfDFxLWzx88KKyukv6SxpMCkraTQpLCk86TApPMgI1QzNSDJ8MXEtbPHz7ezw8QKKyukv6SxpNWkuKTOpLehvKSopOAgI0pOIMnwydm7zqTOo8OjzQorK6S/pLOktaTQICNUMzUgdGFrb7uqCisrpL+ks6TNpLMgI0pOIKW/pbOkzaSzCisrpL+ks6TNpLMgI0pOIKW/pbOkzaSzIAorK6S/pLek7SAjSk5TIMXEwuUKKyukv6S3pO0gI1QzNSDFxMLlCisrpL+kt6TtpMOkryAjS0sgpb+lt6XtpcOlrworK6S/pLek7aTbpKYgI1QzNSDFxMLly6QKKyukv6S3pO2k3qS1pLcgI0pOIMXEwuWk3qS1pLcgCisrpL+kt6TtpN6kxKTqICNUMzUgxcTC5brXpOoKKyukv6S4pOWkpiAjVDMwIMK/vcUKKyukv6S4pOWkpqTIpKaks6SmICNUMzAgwr+9xcXqucYKKyukv6S5pKOk7aS5ICNUMzUgpb+luaWjpe2luQorK6S/pL2krKTsICNLSyDDr8jgCisrpL+kvaSspOwgI1QzNSDDr8jgCisrpL+kvaS9pK2hvKS9ICNDSiClv6W9pb2lraG8pb0KKyukv6S9pL2kraG8pL0gI0NKII7Ajr+Ov463jrCOvworK6S/pL2kvaStobykvSAjSk4gKI7fos+O3ymOwI6/jr+Ot46wjr8KKyukv6S9pL2kraG8pL0gI0pOIKW/pb2lvaWtobylvSAKKyukv6S9pL2kraG8pL0gI0pOII7Ajr+Ov463jrCOvyAKKyukv6S/ICNLNXIgw6EKKyukv6S/pK0gI1QzNSDDoaStCisrpL+kv6SvICNLNXIgw6GkrworK6S/pMCkraTBpLWk8yAjSk4gw+m1yKS1pPMKKyukv6TApK2kwaS1pPMgI0pOIMPptciktaTzIAorK6S/pMCkziAjVDM1IFRETgorK6S/pMCk86SvpLcgI1QzNSDCv8PKtvoKKyukv6TDpK2k5aSmICNUMzUgwvC15QorK6S/pMakoqTppLcgI1QzNSDOqaTGudOk6aS3CisrpL+kxqTKpKqktyAjVDM1IM6ppMbEvqS3CisrpL+kxqTLpLIgI1QzMCDOqaTGxqiksgorK6S/pMak6KTfICNUMzUgvcTGyaTfCisrpL+kyqSrICNKTiDFxMPmCisrpL+kyqSrICNKTlMgxcTD5gorK6S/pMqkq6TVpKGk86S/pLikpCAjVDM1IMXEw+al1aWhpfOlv6W4obwKKyukv6TKpKuk4qTKpOQgI0pOIMXEw+al4qXKzOkKKyukv6TKpNCkv6SopMmkpqTtpKak4qTKobwgI0pOILy3zbyzqKTJpKak7aSmpeKlyqG8CisrpL+ky6S2pO+kyaSmpNakxKTTpOekpqSkpPMgI1QzNSDDq9+3xrDKqsnCsaEKKyukv6TNICNUMzUgvO8KKyukv6TNpMGk5aSmICNUMzUgvO+/3worK6S/pM2kyqS3ICNKTiC878y1pLcKKyukv6TNpMqktyAjVDM1ILzvzLWktworK6S/pNAgI0tLIMKrCisrpL+k0CAjVDM1IMKrCisrpL+k0KS4pOekpqS7pPMgI1QzNSDCq77lwP4KKyukv6TepLQgI1QzNSC2zLvSCisrpL+k3qTBpOOk8yAjSk4gpb+l3qTBpOOk8worK6S/pN+k5CAjS0sgpb+l36XkCisrpL+k4KTppOqk56SmpLMgI0pOIMXEwrzOvLvSCisrpMCk4aTdICNDSiChsnyhsXyh+worK6TApOGk3SAjQ0ogb3J6CisrpMCk4aTdICNDSiBfbm8KKyukv6TipOogI0pOIKW/peKl6gorK6S/pOkgI0tLIMOtCisrpL+k6SAjVDM1IMOtCisrpL+k6aSzICNUMzUgpb+l6aWzCisrpL+k6qStpMGk46TzICNUMzUgwr7Oz6TBpOOk8worK6S/pOqk0KTzICNDTiClv6XqyMQKKyukv6TqpNCk8yAjVDM1IKW/perIxAorK6S/pOqk0KTzpL+k7aSmICNUMzUgpb+l6qXQpfPCwM+6CisrpL+k66SxpKggI1QzNSClv6XrpbGhvAorK6S/pOyk36TfpOKkyqG8ICNKTiCkv6TsvKql4qXKobwKKyukv6TtpKYgI1NVQyDCwM+6CisrpL+k7aSmICNUMzUgofuh+8LAz7oKKyukv6TvpOkgI1QzNSBUQVdBUkEKKyukv6TzICNTVUMgpb+l8worK6S/pPMgI1NVQyCOwI7dCisrpL+k86StpOWhvCAjQ0ogpb+l86WtpeWhvAorK6S/pPOkraTlobwgI0NKII7Ajt2Ot46tjrAKKyukv6TzpK2k5aSmICNDSiClv6Xzpa2l5aG8CisrpL+k86StpOWkpiAjQ0ogjsCO3Y63jq2OsAorK6S/pPOkvaStobyk8yAjQ0ogKKGmos+hpimlv6Xzpb2lraG8pfMgCisrpL+k86S9pK2hvKTzICNDSiAooaaiz6GmKY7Ajt2Ov463jrCO3SAKKyukv6TzpL2kraG8pPMgI0NKICihrKLPoawppb+lvaW9pa2hvKW9IAorK6S/pPOkvaStobyk8yAjQ0ogKI7fos+O3ymOwI6/jr+Ot46wjr8gCisrpL+k86S9pK2hvKTzICNDSiClv6Xzpb2lraG8pfMgCisrpL+k86S9pK2hvKTzICNDSiCOwI7djr+Ot46wjt0gCisrpL+k86S9pK2hvKTzICNKTiAooaaiz6GmKY7Ajt2Ov463jrCO3QorK6S/pPOkvaStobyk8yAjSk4gpb+l86W9pa2hvKXzIAorK6S/pPOkvaStobyk8yAjSk4gwN2/t7DdCisrpL+k86S9pK2hvKTzICNKTiCOwI7djr+Ot46wjt0gCisrpL+k86S9pK+k5KSvpLYgI0pOIMO7wq2O1I64jruO3gorK6S/pPOk3aTdpL2k86S3ICNKTiCz97j4sdHCurvVCisrpMChvKTkpLkgI0pOIKXAobyl5KW5CisrpMChvKTkpLkgI1QzNSClwKG8peSluQorK6TAobyk5KS5pK2kzqSzICNKTiClwKG8peSluaWtpc6lsworK6TApKKk5KS5ICNKTiClwKG8peSluQorK6TApKSkqqSmpNKktaTeICNUMzUgwueypsjezc0KKyukwKSkpKuk86SypPMgI1QzNSDC57TUuLUKKyukwKSkpLWkryAjSk4gwue67gorK6TApKSkt6TlpOqk56SmpK2k86SwpL6hvKTMICNKTiDC57zzzs6lraXzpbClvqG8pcwKKyukwKSkpLek86SrpPOks6TqpPOkuiAjSk4gwue/wLSxpbOl6qXzpboKKyukwKSkpLek86SrpPOkxqTKobwgI0pOIMLnv8C0saXGpcqhvAorK6TApKSkt6TzpKuk86TipNKk4yAjSk4gwue/wLSxpeKl0qXjCisrpMCkpKS7pPOku6SkICNUMzUgwufA6MC4CisrpMCkpKTIpKakoqTGpKSks6SvICNLSyDC58XssKHE67nxCisrpMCkpKTIpKakoqTGpKSks6SvICNUMzUgwufF7LChxOu58QorK6TApKSky6TBpOWkpqTcpKakpKS/ICNUMzUgwugyv9/LvMjECisrpMCkpKTLpMGk5aSmpNykpqSkpL8gI1QzNSDC6KOyv9/LvMjECisrpMCkpKTQpK+kz6TEICNKTiDC58f6yK8KKyukwKSmpL0gI1QzMCClwKWmpb0KKyukwKSmpL0gI1QzNSClwKWmpb0KKyukwKSmpPMgI1QzMCClwKWmpb0KKyukwKSmpPMgI1QzNSClwKWmpb0KKyukwKSmpPMgI1QzNSClwKWmpfMKKyukwKSspL2k7KSspKSkpCAjQ0ogpMCkrKS9pOykrKSkpKQKKyukwKSxpMkgI1NVQyCkwKSxpMkKKyukwKSxpMmkyqTLpKukt6TEpOKk86SipOsgI0NKIKTApLGkyaGisr+kq7zBzOSkoqTroakKKyukwKSxpM+kq6TzpNmk86S3pMakr6TApLWkpCAjQ0ogpMCksaTPtKrK26S3pMakr6TApLWkpAorK6TApLWkpKS/pN4gI1QzNSClwKW1paSlv6XeCisrpMCkuaTZpKekwCAjSk4gvdCkuaTZpKfCwAorK6TApLmk7CAjVDM1IMLMpbml7AorK6TApLmk7KS3pOWkpqTopKakuKTnICNUMzUgwsyluaXsvP3Nxr3qCisrpMCku6G8pOggI0pOIKXApbuhvKXoCisrpMCkvaTKICNKTiClwKW9pcoKKyukwKTDpLOkwaTlpKYgI1QzNSCkwKTDpLO/3worK6TApMOkyKSkpK0gI0NKIGRhdMDCpK0KKyukwKTDpMikpKStpLWk5qTqICNKTiBEQVTAwqSturTNtM39CisrpMCkw6TIpKqkwSAjQ0ogZGF0ze6kwQorK6TApNak66SkpKuk5KStpL2k0CAjSk4gpcCl1qXrpKSkq77GpK2kvaTQCisrpMCk1qTrpN6hvKTBICNUMzUgo9ejzaPBo9Kjw6PICisrpMCk3qS3pLmk7CAjVDM1IPHZpLeluaXsCisrpMCk3qTspLOkvqSmICNKTiClwKXepeyls6W+paYKKyukwKTfpKKk8yAjVDM1IKXApd+loqW9CisrpMCk36SipPMgI1QzNSClwKXfpaKl8worK6TApN+koqTzICNUMzUgpcCl36Xkpb0KKyukwKTgICNKTiCiuqHKoaam2KGmocuiuworK6TApOAgI0pOIMLMzLUKKyukwKTgICNUMzUgwszMtAorK6TApOAgI1QzNSDCzMy1CisrpMCk4aSrobwgI0NKIMLMzNykq6G8CisrpMCk4aSrpKIgI0NKIMLMzNykq6G8CisrpMCk4aS5pOykw6TJpKuk86TqpK2ks6SmICNKTiDCzMzcjr2O2o6vjsSO3rTJzf21obm9CisrpMCk4aTKpOSkxKTPpMqky6TypOSkw6TGpMCk4SAjQ0ogpMCk4aTKpOSkxKTPsr+k8qTkpMOkxqTiwszM3AorK6TApOGkyqTkpMSkz6TKpMuk8qTkpMOkxqTipMCk4SAjQ0ogpMCk4aTKxdukz7K/pPKk5KTDpMak4qTApOEKKyukwKThpMqk5KTEpM+kyqTLpPKk5KTDpMak4qTApOEgI0pOIKTApOGkysXbpM+yv6TypOSkw6TGpOKkwKThCisrpMCk4aTQpLMgI1QzNSClwKXhyKIKKyukwKThpNykw6SvpLkgI1QzNSClwKXhpdylw6WvpbkKKyukwKTopOKk8yAjVDM1IKTApOik4qTzCisrpMCk66TepOKkyqG8ICNKTiCkwKTrpN6l4qXKobwKKyukwKTrpN6k4qTKobwgI0pOIKTApOuk3qXipcqhvCAKKyukwKTspKSk5KTNpPMgI0pOIMLEzu6ysMewoaEKKyukwKTspLkgI1QzNSDCzKXspbkKKyukwKTspOKkpKTKpKSkuaTspNKkyKTqpNykw6TBICNDSiDDr6TipKSkyqSkpbml7KGjpNKkyKTqpNykw6TBCisrpMGhvKS6pLGhvKStICNKTiCOwY6wjr2O3o65jrCOtyAKKyukwaG8pOCky6TBpOOk86TNpOsgI0tLIKXBobyl4KOypMGk46TzpM2k6worK6TBpKOk4qTKobwgI0pOIKTBpKOl4qXKobwKKyukwaSnpK2kyiAjVDM1IKXBpaelraXKCisrpMGkp6TBpKek8yAjVDM1IKXBpaelwaWnpfMKKyukwaSnpMMgI0pOIKGloaWhpSihraepoa6hy47BjqqOrworK6TBpKekwyAjSk4gpMGkp6TDCisrpMGkq6SvpNik86TJpKYgI1QzMCDDz7PMytHGsAorK6TBpKukr6TYpPOkyaSmICNUMzUgw8+zzMrRxrAKKyukwaSrpLIgI0pOTSClwaWrpbIKKyukwaSrpLIgI0pOTSC37LHGCisrpMGkq6SyICNKTk0gxv2xxgorK6TBpKuksiAjVDM1IKXBpaulsgorK6TBpKuksiAjVDM1ILfsscYKKyukwaSrpLIgI1QzNSDG/bHGCisrpMGkq6S5pOwgI1QzNSDDz7K8pbml7AorK6TBpKuk8yAjVDM1IMPUtMEKKyukwaSrpPOkx6TDpMGkoqSyICNUMzUgw9S0waTHpMOkwb7lpLIKKyukwaStpPOk7KG8pLkgI1QzNSClwaWtpfOl7KG8pbkKKyukwaStpPOk7KSopLkgI1QzNSClwaWtpfOl7KG8pbkKKyukwaSyobyk6CAjSk4gpcGlsqG8pegKKyukwaS0pKSkzSAjQ0ogpcGltKWkpc0KKyukwaS3pOekpiAjVDM1IMPTvsIKKyukwaS6ICNUMzUgw8+/3gorK6TBpL+kzaG8pOggI0pOIKXBpb+lzaG8pegKKyukwaTBpOek86TepPOkwSAjSk4gpMGkwaTnpPOk3qTzpMEKKyukwaTDpNGk8yAjS0sgpMGkw6TRpPMKKyukwaTGpKQgI0tLIMPPxOwKKyukwaTGpKQgI1QzNSDDz8TsCisrpMGkxqSkpOKkyiAjSk4gw8/E7KTipMoKKyukwaTNpNChvCAjSk4gpcGlzaXQobwKKyukwaTQpLKk86S4pPMgI1QzNSDA6c3VuLa/zQorK6TBpNCkt6S3pOMgI1QzNSDD1MfNu+C81AorK6TBpNCkyKTfpPMgI1QzNSDA6c3VxdTMsQorK6TBpNCk6aStICNDTiClwaXQpemlrQorK6TBpNCk6aStICNUMzUgpcGl0KXppa0KKyukwaTQpOmkriAjQ04gpcGl0KXppa4KKyukwaTQpOmkriAjVDM1IKXBpdCl6aWuCisrpMGk06SupLMgI0pOIKTBpNOlrqWzCisrpMGk06SupLOk1qTqICNKTiCkwaTTpa6ls6XWpeoKKyukwaTTpLekoyAjSk4gpMGk06S3pKMKKyukwaTTpNWktSAjSk4gpcGl06XVpbUKKyukwaTTpOKk6aTpobwgI0pOIKXBpdOl4qXppemhvAorK6TBpOGkpCAjVDM1IMPPzL4KKyukwaTjpKQgI0pOIKGhoaEsLl8uLKGhCisrpMGk46SkICNKTiCOwY6sjrKhoQorK6TBpOOk1qTApKQgI0pOIKTBpOOk1sLmCisrpMGk46TWpMCkpCAjSk4gqLWorKi1CisrpMGk46TWpMCkpKSkpMmkpiAjSk4gpMGk46TWwuaw3MawCisrpMGk46TgICNKTiClwaXjpeAKKyukwaTjpOAgI1QzNSClwaXjpeAKKyukwaTjpPOksyAjSk4gpcGl46XzpbMKKyukwaTjpPOks6TepLmkwCAjVDM1IKXBpeOl86Wzwf3FxAorK6TBpOOk86SzpO0gI1QzNSClwaXjpfOls6XtCisrpMGk46TzpLWk3iAjU1VDIKTBpOOk883NCisrpMGk46TzpLWk3iAjVDM1IKTBpOOk883NCisrpMGk5aG8pMGk5aG8pL2k86SwICNLSyCkwaTlobykwaTlobylvaXzpbAKKyukwaTlobyk3KG8ICNKTiClwaXlobyhpqXcobwKKyukwaTlobyk3KG8pMekuaToICNKTiClwaXlobyl3KG8pMekuaTooaoKKyukwaTlpKYgI1QzNSC/3worK6TBpOWkpqSrpOqk56SmpOqk7aTcpLuk86SzpKakt6TjICNKTiDD5rLazsHN/aXtpdzA6LnUvNQKKyukwaTlpKakrKSvpLukpKTBpM+k6yAjVDM1IMPms9jAuKTBpM+k6worK6TBpOWkpqSxpKQgI1QzMCDD5rfRCisrpMGk5aSmpLGk8yAjSk4gw+a3+AorK6TBpOWkpqSxpPMgI1QzNSDD5rf4CisrpMGk5aSmpLOkqqTzpMogI1QzNSDD5rjFvfcKKyukwaTlpKakwaTlpKakvaTzpLAgI1QzNSCkwaTlobykwaTlobylvaXzpbAKKyukwaTlpKak1qTrpKqk86TKICNUMzUgw+a4xb33CisrpMGk5aSmpNykpiAjVDM1IL/fy7wKKyukwaTlpKak3KSmpLCk86TApPMgI1QzNSC/38u8t7PDxAorK6TBpOWkpqTcpKak6qTLpOWkpqTqpOekryAjS0sgv9/LvM6lxv2/qQorK6TBpOWk1yAjVDM1IKXBpeWl1worK6TBpOWk16S/pPMgI1QzNSClwaXlpdelv6XzCisrpMGk5aTXpL+k8yAjVDM1II7Bjq2OzI7fjsCO3QorK6TBpOYgI0pOIKTBpOYKKyukwaTmpOKkyiAjSk4gpMGk5qTipMoKKyukwaTnpKSkzqTqICNUMzUgpcGl56Wkpc6l6gorK6TBpOekpqSqpOyksKTrpN4gI0pOIMS2sra81gorK6TBpOekpqS7pKSkyaTDpMggI0pOIC4KKyukwaTnpKaku6SkpMmkw6TIICNKTiDEtMCwpcmlw6XICisrpMGk56SmpLuk86S3pOMgI0pOIMSpwO+81AorK6TBpOekpqS7pPOku6SkICNKTiDEtsDowLgKKyukwaTnpKaku6TzpLukpCAjVDM1IMS2wOjAuAorK6TBpOekpqTLpMGkt6TzpNak8yAjS0sgpMGk56SmpMukwb+3yrkKKyukwaTnpKaky6TBpLek86TWpPMgI1QzNSCkwaTnpKaky6TBv7fKuQorK6TBpOekpqTVpK+kuaTsICNUMzUgvcXKo6W5pewKKyukwaTnpKak1aSvpLmk7KTDpMkgI1QzNSC9xcqjpbml7KXJCisrpMGk56SmpNak86TspLkgI1QzNSDEucq4peyluQorK6TBpOekpqTspLkgI1QzNSDEuaXspbkKKyukwaTnpKak7aSmICNKTiDEuc+3CisrpMGk56SmpO2kpiAjVDM1IMS5z7cKKyukwaTnpK+k6qTzICNUMzAgxL6l6qXzCisrpMGk56SvpOqk86SvICNUMzAgxL6l6qXzpa8KKyukwaTnpLek5aS1pPMgI1QzNSClwaXnpbel5aW1pfMKKyukwaTnpLek5aS1pPMgI1QzNSCOwY6ujryOrY67jt0KKyukwaTnpL0gI1QzNSClwaXnpb0KKyukwaTnpL0gI1QzNSCOwY6ujr8KKyukwaTnpMOk0aTqICNUMzUgpcGl56XDpdGl6gorK6TBpOek6aTNobyk6CAjSk4gpcGl56Xppc2hvKXoCisrpMGk56TspK6ktaTppMAgI0pOIKXBpeel7KWupbWl6aXACisrpMGk56TzICNUMzUgpcGl56XzCisrpMGk56TzICNUMzUgjsGOro7dCisrpMGk56TzpKSk66S3pPOk1qTzICNLSyClwaXnpfOlpKXrv7fKuQorK6TBpOek86SkpOukt6TzpNak8yAjVDM1IKXBpeel86Wkpeu/t8q5CisrpMGk56TzpMogI0NKIKXBpeel86TKCisrpMGk6aTNobyk6CAjSk4gpcGl6aXNobyl6KGhCisrpMGk7KS5ICNUMzAgw9ml7KW5CisrpMGk7KS5ICNUMzUgw9ml7KW5CisrpMGk8yAjVDM1IMS/CisrpMGk8yAjVDM1IMTBCisrpMGk86SrpLOk36TApPMgI1QzNSDEwbDPw8QKKyukwaTzpLIgI0pOIKXBpfOlsgorK6TBpPOksiAjVDM1IKXBpfOlsgorK6TBpPOks6SqpPOkySAjVDM1IKTBpPOks7K7xqwKKyukwaTzpLOk4KSupOWhvCAjQ0ogpMGk86SzpOCkrqTlobwKKyukwaTzpLOk4KSupOWkpiAjQ0ogpMGk86SzpOCkrqTlobwKKyukwaTzpLek4yAjVDM1IMTBvNYKKyukwaTzpLik5yAjVDM1IMTBvfcKKyukwaTzpL2kpiAjVDMwIMTBwdUKKyukwaTzpL2kpqSipOmktyAjSk4gxMHB9rnTpOmktworK6TBpPOkvaSmpLik8yAjVDM1IMTBwdW/zQorK6TBpPOkvaSmpMCk8yAjVDM1IMTBwdXDxAorK6TBpPOkvaSmpMCk8yAjVDM1IMTBwfbDxAorK6TBpPOkvaSmpMkgI1QzNSDEwcHVxdsKKyukwaTzpL2kpqTZpPOkuKTnICNUMzUgxMHB1crYveoKKyukwaTzpL2kpqTipOmk6aG8ICNKTiDEwsH2peKl6aXpobwKKyukwaTzpMeko6SkICNUMzUgxMFECisrpMGk86TQpPMgI1QzNSDEwcjXCisrpMGk86TXpKYgI0tLIMTByfcKKyukwaTzpNekpiAjS0sgxMTJ5aWmCisrpMGk86TXpKYgI1QzNSDEwcn3CisrpMGk86TXpKYgI1QzNSDExMnlpaYKKyukwaTzpNekryAjVDM1IMTByf4KKyukwaTzpN2hvCAjSk4gocqhpqLPoaahy47Bjt2Ozo7fjrAhIQorK6TBpPOk3aG8ICNKTiDB3c7fIQorK6TBpPOk3aG8ICNKTiCOwY7djs6O346wISEKKyukwaTzpN2ktKStpNak6iAjSk4gpcGl86XdpbSlraXWpeoKKyukwaTzpN2kwKTzICNUMzUgxMHK4sPECisrpMKk46TzICNKTiClwqXjpfMKKyukwqTzpK6k5yAjSk4gpMKk87X7CisrpMOkxqSkpKakq6SmoaukoaSrICNDSiCkw6TGpKSkpqSroaKl9KWhpauhqQorK6TDpMakpKSmpKukpqGrpKGkqyAjQ0ogpMOkxqSkpKakq6GijrOO3o6njrahqQorK6TDpMakpKSmpKukpqGrpKGkqyAjQ0ogpMOkxqSkpKakq6GijrOO3o6njrahqT4+CisrpMQgICNSNXIgxOAKKyukxCAjUjUgxOAKKyukxKGrpLWkr6TEoaukqKS9ICNKTiAoP6LPPykKKyukxKGrpLWkr6TEoaukqKS9ICNKTiClxaW1pa+lxaWopb0KKyukxKGrpLWkr6TEoaukqKS9ICNKTiCOwo7ejruOuI7Cjt6OtI6/CisrpMShvCAjSk4gpMShvAorK6TEobykqyAjQ0ogpMShvKSrCisrpMShvKSrpKuks6TtpLCk6KThICNKTiCkxKG8pKuy4bXupe2lsMbJpOEKKyukxKSmoaukoaSkICNKTiClxKX0paGlpAorK6TEpKakuKTnpKakzqS1pPOk0KSkICNDSiDEzL7vpM6js8fcCisrpMSkpqS4pOekpqTOpLWk86TQpKQgI1QzNSDEzL7vpM6js8fcCisrpMSkpqTbpKakt6TepLmkvyAjVDM1IMTMyvOkt6TepLmkvworK6TEpKsgI0tLIMTNCisrpMSkqyAjVDM1IMTNCisrpMSkrSAjVDM1ILfuCisrpMSkraTBpOWkpiAjVDM1ILfuv98KKyukxKStpM6kz6S3pLqkryAjSk4gpMSkraTOpM+kt6S6pK8KKyukxKStpNKk4SAjS0sgt+7JsQorK6TEpLggI1QzNSCkzqTOpL+k8worK6TEpLggI1QzNSDE1AorK6TEpLihvKTzICNKTiDE1KG8pPMKKyukxKS4obyk8yAjVDM1IMTUobyk8worK6TEpLikpKTzICNUMzUgxNShvKTzCisrpMSkuKSopK0gI0pOIMTUsdgKKyukxKTOpOKkyqG8ICNKTiCkxKTOpeKlyqG8CisrpMSk3CAjQ04gxNsKKyukxKTcICNUMzUgxNoKKyukxKTcICNUMzUgxNsKKyukxKTcpN6kuKTzpN+ky6TKpMuk56TqobykyiAjSk4gxNvL4r/NoaaO0I7GjsWOxo6ujtiOsI7FCisrpMSk3qTzpM0gI0NKIKXEpd6l86XNCisrpMSk4iAjSk4gpcSl4gorK6TEpOak0qS/ICNUMzUgpMSk5qTSpL8KKyukxKTppKSks6TIpPKkqqTipKak4qTppOmhvCAjSk4gv8mkpKSzpMik8rvXpKal4qXppemhvAorK6TEpOogI1QzNSDE4KTqCisrpMSk6qS3ICNUMzUgxOCk6rvVCisrpMSk66TZpLiksaTzICNUMzUgxOHJ07v2t+8KKyukxKTspL8gI1QzNSDE4KTspL8KKyukxaG8ICNKTiCkxaG8CisrpMako6G8ICNKTiCj9KGhCisrpMako6G8pMAgI0pOIKXGpaOhvKXACisrpMako6SkpMeko6SkpKikzCAjVDM1IFRETgorK6TGpKOkq6SyICNKTk0gpcalo6WrpbIKKyukxqSjpKuksiAjVDM1IKXGpaOlq6WyCisrpMako6StpOOhvKSyICNUMzUgpcalo6WtpeOhvKWyCisrpMako6StpOOkoqSyICNUMzUgpcalo6WtpeOhvKWyCisrpMako6TQICNUMzUgpcalo6XQCisrpMako6TQICNUMzUgjsOOqI7Kjt4KKyukxqSjpOCk3SAjVDM1IKXGpaOl4KXdCisrpMako6TgpN2kzqTvpK6k6iAjVDM1IKXGpaOl4KXdpM7O2MDapOoKKyukxqSjpOCk3aTOpO+krqTqICNUMzUgjsOOqI7Rjs6O36TOztjA2qTqCisrpMako6TgpN2k06TrICNUMzUgpcalo6Xgpd2l06XrCisrpMako6TzpN0gI1QzNSClxqWjpfOl3QorK6TGpKSkraSxpPMgI1QzNSDE6rT8t/QKKyukxqSkpK2k56SmICNUMzUgxOO2uAorK6TGpKSks6SvpOGkpKTJICNKTiDE69SizL3F0worK6TGpKSkt6TlpKuk86TRpK+k4qTKobwgI0pOIMTivOe02MfypeKlyqG8CisrpMakpKS7pMQgI1QzNSDE6sDiCisrpMakpKTJpNKkryAjS1lUIMT4xdnE4worK6TGpKuk6qTWpL8gI1QzNSClxqWrperG2gorK6TGpK2kuKTnICNUMzAgpMakraS4pOcKKyukxqStpMggI0pOIKXGpa2lyAorK6TGpK+k4iAjS0sgvOrD2OnhCisrpMakr6TiICNUMzUgvOrD2OnhCisrpMakuaTGpLkgI0NKIKTGpLmkxqS5CisrpMakvSAjSk4gpcalvQorK6TGpL0gI0pOII7Djr8KKyukxqS9ICNUMzUgpcalvQorK6TGpL0gI1QzNSCOw46/CisrpMakw6SzpKaktyAjVDM1IKXGpcOls6WmpbcKKyukxqTDpLuk86SrpKQgI0tLIO/EwPDQ8gorK6TGpMOku6TzpKukpCAjVDM1IO/EwPDQ8gorK6TGpMOkxqSkpLOkpqS7pPOku6TzpLKk8yAjSk4gxbDE7LmzwO/A67jACisrpMakxCAjVDM1IMW0CisrpMakxKSqpL+kvKTDpMikv6SxpKKkw6TIpOGkpKTGpMQgI0pOIMW0pfKlv6PayfBApszFtAorK6TGpMSkqqS/pLykw6TIpL+ksaThpKSkxqTEICNKTiDFtKXypb+j2snwQKbMxbQKKyukxqTEpM6kqqStpMYgI1QzNSDFtKTO2d0KKyukxqTGpLcgI1QzNSCkxqTGpLcKKyukxqTKobwgI0pOIKXGpcqhvAorK6TGpNWkxqTVICNKTiCkxqTVpMak1SAKKyukxqThpKek4qTKobwgI0pOIKXGpeGlp6XipcqhvAorK6TGpOukr6TPpM6k6yAjVDM1IKTGpOukr6TPpM6k6worK6TGpOyk2yAjVDM1IKXGpeyl2worK6TGpOyk26S3pOWkpqTqpOekpiAjVDMwIKXGpeyl272qzrsKKyukxqTspNuk3qTzICNKTiClxqXspdul3qXzCisrpMak7KTbpOmkw6S3pOUgI1QzNSClxqXspdul6aXDpbel5QorK6TGpO2kqKTqobykyiAjSk4gpcal7aWopeqhvKXKCisrpMak86S3pKik8yAjQ0ogxbe7yLHqCisrpMak86S3pKik8yAjVDM1IMW3u8ix6gorK6TGpPOkzqSmICNKTiDFt7nECisrpMak86TXpOwgI1QzNSClxqXzpdel7AorK6TGpPOk3aTDpMYgI0tTIKXGpfOl3aTDpMYKKyukx6SipOukqyAjQ0ogpMehoqSipOukqworK6THpKMgI0pOIKTHpKMKKyukx6SjobykuKSnobyk4qTKobwgI0pOIKPEo8ql4qXKobyhoQorK6THpKOhvKTdICNUMzUgo8Sl3QorK6THpKOkoqTKpLWk3iAjSk4gpcelo6WipcrNzQorK6THpKOkqqTipOmk86TJobwgI0pOIKXHpaOlqqGmpeKl6aXzpcmhvAorK6THpKOkqqTzpLCk8yAjVDM1IERJT063sworK6THpKOk66TspKahq6ShpPOkrKG8ICNKTiClx6Wjpeul7KX0paGl86WsobwKKyukx6SjpOuk7KSmoaukoaTzpKykoiAjSk4gpcelo6Xrpeyl9KWhpfOlrKG8CisrpMekpKTIpKSk7KTAobwgI1QzNSClx6WkpcilpKXspcChvAorK6THpKSkyKSkpOykwKSiICNUMzUgpcelpKXIpaSl7KXAobwKKyukx6SmoasgI0pOIERFVlUKKyukx6SmoasgI0pOIKTgpLek46TgpLek46HKoaGhraHLp6WhyqGuocsKKyukx6SopPOk0aTfpPOkvqSvICNUMzUgpcehvKXzpdGl36Xzpb6lrworK6THpKik86TRpN+k86S+pK8gI1QzNSCOw47ejrCO3Y7Kjt+O0I7djr+O3o64CisrpMekq6TBpOekpqSipPOkyaSrpLogI0pOIKXHpavEuaH1paulugorK6THpKyk7yAjSk5TIL3QwO4KKyukx6SspO8gI1QzNSC90MDuCisrpMekrKTvpNKkw6S3pMCk4qS9ICNUMzUgvdDA7smsu+ClwKXipb2hqgorK6THpLMgI0pOIMbMCisrpMeksyAjVDM1IMbMCisrpMekuKTipMqkxqSkpN6hvKS6pO2ktCAjSk4gpceluKXipcqlxqWkpd6hvKW6pe2ltAorK6THpLkgI1NVQyBERUFUSAorK6THpLkgI1NVQyClx6W5CisrpMekuaSvpMikw6TXpLOkpqSrpKSkuaTsICNUMzUgpceluaWvpcilw6XXuPizq6W5pewKKyukx6S5pLGkyaTKpMukqyAjQ0ogpMekuaSxpMmhorK/pKuhqQorK6THpLmkx6S5ICNDSiCkx6S5pMekuQorK6THpLmkyKTtpKSktaTeICNKTiClx6W5pcil7aWkzc0KKyukx6S9pNEgI1QzNSClx6W9pdEKKyukx6TVpKmk66TIpMqkyqS3ICNUMzUgpcel1aWppeulyMy+zLWktworK6THpNakqqS/ICNUMzUgpcel1qXypb8KKyukx6TWpK2k8yAjSk4gpcel1qWtpfMKKyukx6TWpMCkyqG8ICNKTiClx6XWpcClyqG8CisrpMek1qTtpPOksiAjVDM1IKXHpdal7aXzpbIKKyukx6TWpPKkvyAjVDM1IKXHpdal8qW/CisrpMek1qTypL+k0qTDpK2hvCAjVDM1IKXHpdal8qW/pdKlw6WtobwKKyukx6TWpPKkv6TSpMOkraSkICNUMzUgpcel1qXypb+l0qXDpa2hvAorK6THpNik6aG8ICNKTiClx6XYpemhvAorK6THpNykuaS6pOEgI0pOIKXHpdykuaS6pOEKKyukx6TepMEgI1QzMCC90MSuCisrpMek3qTBICNUMzUgvdDErgorK6THpOik7aS3pKSkqyAjQ0ogpMek6KTtpLekpKSrCisrpMek6iAjUjUgpcel6gorK6THpOqkq6S3ICNKTiClx6XqocqhrafXYKHLpaultworK6THpPOkraSqpKYgI0pOIMXFtaSypgorK6THpPOksqStpNCkwaTQpMEgI0pOIKTHpPOksqStpdClwaXQpcEKKyukx6TzpLek46SmpLcgI0pOIMXFvNa17QorK6THpPOkt6TjpKykoqTrICNUMzUgxcW81qWsobyl6worK6THpPOkt6TjpK6k5aSmICNKTiDFxbzWte0KKyukx6TzpLukxKStpOekuKTzpKSkx6TbpL0gI0pOIMXBwOK18L/AjrKOw47ejs6OvworK6THpPOkv6TeICNUMzUgxcS2zAorK6THpPOkxKSmICNUMzUgxcUyCisrpMek86TIICNUMzUgxcTF1AorK6THpPOkyaTtICNUMzUgxcTFpQorK6THpPOkyyAjVDM1IMXFMgorK6THpPOk0SAjVDM1IKXHpfOl0QorK6THpPOk0SAjVDM1IMXFx8gKKyukx6TzpNGkqqTPpMqk0KS/pLGkpKS/ICNUMzUgxcXHyKGmpKqy1siqyMQKKyukx6TzpNGkraS3pOMgI1QzNSDFxcfIta281AorK6THpPOk0aStpOOk6SAjVDM1IMXFx8ilraXjpekKKyukx6TzpNGkwaTnpKaktaSkpPOk4qTKobwgI0pOIMXFx8jEtLq6sPel4qXKobwKKyukx6TzpNGkyKS3ICNUMzUgxcXHyMXUu9QKKyukx6TzpNGky6TBpOOk8yAjVDM1IMXFx8gyY2gKKyukx6TzpNGky6TBpOOk86TNpOsgI1QzNSDFxcfIMqTBpOOk86TNpOsKKyukx6TzpNGk4qTppOmhvCAjSk4gxcXHyKXipeml6aG8CisrpMek86TRpOmkpKS/pKIgI1QzNSDFxcfIpemlpKW/obwKKyukx6TzpNGk8qS/ICNUMzUgxcXHyKXypb8KKyukyCAjU1VDIKTIoaMKKyukyKG8pNuksCAjQ04gpcihvKXbpbAKKyukyKG8pNuksCAjVDM1IKXIobyl26WwCisrpMikpKSmpLOkyKTLpLekv6SkpM6kx6S5pM0gI0NKIKTIpKSkpqSzpMiky6S3pL+kpKTOpMekuaTNCisrpMikpKSmpLOkyKTLpLekv6SkpM6kx6S5pM0gI0NKIKTIpKSkpqSzpMiky6S3pL+kpKTOpMekuaTNoaM6KQorK6TIpKSkw6TGpKqkr6SupOogI0NKIKTIuMCkw6TGpKqkr7XBzf0KKyukyKSkpMOkxqTfpOukxqS5pMggI0NKIKTIuMCkw6TGpN+k66XGpbmlyAorK6TIpKWktqSmoauko6SvpMik6qG8ICNKTiClyKWlpbal9KWjpa+lyKXqobwKKyukyKSmICNUMzUgxeMKKyukyKSmpKukpCAjQ04gxd2y9QorK6TIpKakq6SkICNDTiDF7LOkCisrpMikpqSrpKQgI0tLIMXdsvUKKyukyKSmpKukpCAjVDM1IMXdsvUKKyukyKSmpKukpCAjVDM1IMXss6QKKyukyKSmpK2k5aSmpMGk5aSmICNUMzUgxey13r/fCisrpMikpqStpOekpiAjSk4gxey1/gorK6TIpKakraTnpKYgI1QzNSDF7LX+CisrpMikpqStpOekpqSipK+ku6S5ICNLSyDF7LX+paKlr6W7pbkKKyukyKSmpK2k56SmpK2kxqSjpKQgI1QzNSDF7LX+a2l0dHmhyqH3o/e50worK6TIpKakraTnpKakuKSopPMgI0pOIKXIpaalraXnpaaluKWopfMKKyukyKSmpK2k56SmpLukpKS3pPOk06TnpKakpKTzICNKTiDF7LX+wLq/wMnCsaGhoQorK6TIpKakraTnpKakyKS7pKSkvaSmpK2k56SvICNKTiDF7LX+xdTAtsHdtskKKyukyKSmpK2k56SmpMik6qTEpN6kxKS2pO+k06TnpKakpKTzICNKTiDF7LX+xdTOqb6+wvTJwrGhCisrpMikpqS1pPMgI1QzMCDJ46S1pPMKKyukyKSmpLik56SmpLuk8yAjVDM1IMKrvuXA/gorK6TIpKakwKSkpKqkwSAjVDM1IMXswufN7qTBCisrpMikpqTPpMggI0tLIMXsyLcKKyukyKSmpM+kyCAjVDM1IMXsyLcKKyukyKSmpNakwaTlpKYgI1QzNSDF7Mnwv98KKyukyKSmpNak2KTDpMkgI1QzNSDGrMn0pdilw6XJCisrpMikpqTbpLAgI1QzNSClyKG8pdulsAorK6TIpKak4aSkpKKk3KG8pPMgI1QzMCDGqczApKKk3KG8pPMKKyukyKSmpOGkpKSipNykqqTzICNUMzAgxqnMwKSipNyhvKTzCisrpMikpqTopLOkyKTDpK2k5aSmpM+k3qSkpMukwaTcpO2kpKTBICNDSiDF7LKjxsO13qTPy+jG/KXcpe271CEKKyukyKSopKSk0KS5ICNKTiDF1LHEpdCluQorK6TIpKqk4qTvpOwgI0NKIKTIu9ek76TsoaMKKyukyKSqpOKk76TspOEgI0NKIKTIu9el76XspeEKKyukyKStpOWk8yAjVDM1IKTIpa2l5aXzCisrpMikr6TApLOkpqSkpMEgI0pOIMbBxcS5zLDsCisrpMikr6TGpKSk6qTnpKukryAjVDM1IMbDxOrOubXSCisrpMikr6TLpPOkrqTnpKaku6SkpLek56S3ICNKTiDGw8enudTAr73xu84KKyukyKSvpMuk86SupOekpqS7pKSkt6TnpLcgI0tLIMbDx6e51MCvvfG7zgorK6TIpK+k4aSkICNUMzUgxr/MvgorK6TIpK+k4aSkpK+ktyAjVDM1IMa/zL62+gorK6TIpK+k4aSkpLGkpKS4pNCk8yAjVDM1IMa/zL63x7yoyMQKKyukyKSxpM2hvKToICNKTiChyqGspsehrKHLoaGlyKWxpc2hvKXoCisrpMiksaTNobyk6CAjSk4gpcilsaXNobyl6AorK6TIpLOk7aTHICNDSiCkyKSzpO2kxworK6TIpLOk7aTzpMikwaTjpOqk1KSrpKEgI0pOIKXIpbOl7aXzpcilwaXjpeql1KWrpaGhqgorK6TIpLcgI1QzNSDF1LvUCisrpMikwKTKICNUMzUguM3DqgorK6TIpMOkraTlpKakvqTMpLSkpiAjSk4gxsO13qS+pMy55gorK6TIpMOkxqTipL+k4aTLpMqk66SqpM+kyqS3ICNKTiCkyKTDpMak4qS/pOGky6TKpOukqs/DCisrpMikw6TIpMikpKSvpKogI0pOIKTIpMOkyKTIwMLJ1worK6TIpMSksqStICNUMzUgxs234gorK6TIpMSksqStpLKkw6S/obykuiAjSk4gt+PGzaWypcOlv6G8pboKKyukyKTEpLKkraTBpOWkpiAjVDM1IMbNt+K/3worK6TIpMqkq6SkICNKTiCOxI7FjraOsgorK6TIpNOkuaStobyk5KG8pOKkyqG8ICNKTiDI9KTTpbmlraG8peShvKXipcqhvAorK6TIpNQgI1QzNSClyKXUCisrpMik3qTIICNUMzUgdG9tYXRvCisrpMik4CAjSk4gpcil4AorK6TIpOEgI1QzNSClyKXhCisrpMik4qTopOKkyqG8ICNKTiDDzsCkpeKlyqG8CisrpMik5KTeICNUMzUgpcil5MviCisrpMik5KTeICNUMzUgjsSO1MviCisrpMik5KTepPOksyAjVDM1IKXIpeSl3qXzpbMKKyukyKTkpN6k86SzICNUMzUgjsSO1I7Pjt2OugorK6TIpOikz6S3pLek36TzICNUMzUgy622trvUzLEKKyukyKTppKak3qG8ICNKTiAofHyO36eljt8pjsSO146zjs+OsAorK6TIpOmkpqTeobwgI0pOIKXIpemlpqXeobwKKyukyKTppKak3qG8ICNKTiCOxI7XjrOOz46wCisrpMik6aSvpPOkoqTzpMmkq6TXpK+k8yAjSk4gpMik6aSvpPOh9aSrpNekr6TzCisrpMik6aSvpPOkoqTzpMmkq6TXpK+k8yAjSk4gpMik6aSvpPOh9aSrpNekr6TzIAorK6TIpOmk6aG8ICNKTiClyKXppemhvAorK6TIpOogI0NOIMS7CisrpMik6iAjQ04gxtMKKyukyKTqICNLSyDG0worK6TIpOogI1QzNSDEuworK6TIpOogI1QzNSDG0worK6TIpOqks6ThICNDTiC86KTquf6k4QorK6TIpOqks6ThICNDTiDEu8rGCisrpMik6qSzpOEgI1QzNSC86KTquf6k4QorK6TIpOqks6ThICNUMzUgxLvKxgorK6TIpOqktaTzICNKTiClyKXqpLWk8worK6TIpOqkw6TXICNUMzUgpcil6qXDpdcKKyukyKTqpMikyKTzpMekpKTrpOKk6aTpobwgI0pOIMS7pMjI9KTzpMekpKTrpeKl6aXpobwKKyukyKTqpM+k4CAjVDM1IMS7pM+k4AorK6TIpOykq6ThICNUMzUgpcil7KWrpeEKKyukyKTzICNUMzUgrcUKKyukyKTzpK2k8yAjQ04gpcil86WtpfMKKyukyKTzpK2k8yAjVDM1IKXIpfOlraXzCisrpMik86TBpOOk4qTzICNLSyClyKXzpcGl46XipfMKKyukyKTzpMGk46TipPMgI1QzNSClyKXzpcGl46XipfMKKyukyKTzpMmk6yAjQ0ogpcil86XJpesKKyukyKTzpMmk6yAjQ0ogrcWtyworK6TIpPOkyaTrICNKTiCtxa3LCisrpMik86TapKQgI1QzNSClyKXzpdqlpAorK6TJobyk4qSvpPMgI1QzNSCkyaG8pOK3rworK6TJpKSkqCAjSk4gpcmlpKWoCisrpMmkpKSoICNSNSClyaWkpagKKyukyaSkpKggI1QzNSClyaWkpagKKyukyaSkpMSk4qTKobwgI0pOIKXJpaSlxKXipcqhvAorK6TJpKakt6S3pOOktKStpNak6iAjSk4gxrG71rzSpbSlraXWpeoKKyukyaSmpLik8yAjVDM1IMaxv80KKyukyaSmpLik86SqpPOkyiAjVDM1IMaxv8299worK6TJpKakxqSkICNUMzUgxrjE5worK6TJpKakx6TipKSkpKTLpMAgI0pOIKTJpKakx6TipKSkpKXLpcAKKyukyaSmpMek4qSkpKSk5KG8ICNKTiClyaWmpcel4qWkpaSl5KG8CisrpMmkpqTHpOKkpKSkpOSkvaTzpMqks6TIICNKTiCkyaSmpMek4qSkpKSk5KGipL2k86TKpLOkyKGqCisrpMmkpqTHpOKkpKSkpOggI0pOIKTJpKakx6TipKSkpKToCisrpMmkpqTipLmk36TepLuk8yAjSk4gpcmlpqXipbml36Xepbul8worK6TJpKak4qS5pN+k3qS7pPMgI0pOII7Ejt6Os47Tjr2O0I7Pjr6O3QorK6TJpKak6CAjQ0ogpMmkpqToCisrpMmkpqToICNTVUMgpMmkpqToCisrpMmkpqTtpLik56SmpNukpqTSpOekpqS4pNCk8yAjSk4gxrvPqb7wyvPJvbyoyMQKKyukyaSpobyhvKTzICNKTiClyaWpobyhvKXzoaqhqqGqCisrpMmkqaG8obyk8zIgI0pOIKXJpamhvKG8pfOhqqGqoaqjsgorK6TJpK2k5aS9ICNUMzUgRFFTCisrpMmkraTlpL0gI1QzNSClyaWtpeWlvQorK6TJpK2k5aS9pKqkpqSzpK+ky6TDpN2k8yAjSk4gpcmlraXlpb2yprnxxvzL3AorK6TJpK2k5aS9pKqkpqSzpK+ky6TDpN2k8yAjSk4gjsSO3o63jq2Ov7KmufHG/MvcCisrpMmkraTlpL2kwaTjpPMgI0pOII7Ejt6Ot46tjr+kwaTjpPMKKyukyaStpOWk4iAjS0sgpcmlraXlpeIKKyukyaStpOWk4iAjVDM1IKXJpa2l5aXiCisrpMmkraTlpPMgI1QzNSBESk4KKyukyaStpOWk8yAjVDM1IKPEo9GjzgorK6TJpK2k5aTzICNUMzUgpcmlraXlpfMKKyukyaStpOWk86TKpKukpKS3pOMgI1QzNSClyaWtpeWl86TKsvG80gorK6TJpK+kqqTIpLMgI1QzNSDGx8PLCisrpMmkr6S3pPOkxqSkpKqkpiAjSk4gxsi/yMTrsqYKKyukyaSvpLikvyAjVDM1IKTJpK+kuKS/CisrpMmkr6S9ICNUMzUgxsfBxworK6TJpK+kyKSmICNDTiDGyMXnCisrpMmkr6TIpKYgI1QzNSDGyMXnCisrpMmkr6TIpOuk3qTpICNKTiClyaWvpcil600KKyukyaSzpNShvCAjVDM1IKXJpbOj0AorK6TJpLOk1KSkICNUMzUgpcmls1AKKyukyaS5pKYgI1QzNSDF2b/0CisrpMmku6SkpLWk8yAjSk4gxdrAsaS1pPMKKyukyaTGpMGk5aG8ICNUMzUgpcmlxqXBpeWhvAorK6TJpMakwaTlpKYgI1QzNSClyaXGpcGl5aG8CisrpMmk1qTNpLqk3yAjVDM1ILnCwc0KKyukyaTgICNUMzUgo8Sjz6PNCisrpMmk4aTrpMkgI0pOIKXJpeGl66XJCisrpMmk6SAjSk4gpcml6QorK6TJpOmkqKTipPOk1aSvpOKkyKTVpKmhvKTgICNKTiClyaXppKik4qTzyqHL3KXVpamhvKXgCisrpMmk6aS0pPMgI1QzNSClyaXppbSl8worK6TJpOmktKTzpKqkqKS5pMggI1QzNSClyaXppbSl86WqpailuaXICisrpMmk6aS0pPOkuaTIpMOk1yAjVDM1IKXJpemltKXzpbmlyKXDpdcKKyukyaTppMOkraTKobwgI0pOIKXJpemlw6WtpcqhvAorK6TJpOqkwaTzICNUMzUgpcml6qXBpfMKKyukyaTqpOukwaTzpMGk8yAjVDM1IKXJpeql66TBpPOkwaTzCisrpMmk66SopOCkpKSkICNUMzUgJE1FCisrpMqkoqS5pKako6TDpMGks6TgpK6kwaTjpPMgI1QzNSClyqG8pbmlpqWjpcOlwb6ux/6kwaTjpPMKKyukyqSkpLmkyqTYpMOkyaTVpKmk8yAjVDM1IKXKpaSluaTKpdilw6XJpdWlqaXzoaoKKyukyqSoICNLUyCw4KSoIAorK6TKpKggI1QzNSCw4KSoIAorK6TKpKikyqSkpO8gI0pOIKXKpailyqWkpe8KKyukyqSqpOqk8yAjVDM1IKTKpKqk6qTzCisrpMqkq6SmpOmk76TOpNuktyAjVDM1IMPmsbrPwqTOwLEKKyukyqSrpLihvKTUobwgI1QzNSCkyqSrR1AKKyukyqSrpLikpKTUpKQgI1QzNSCkyqSrR1AKKyukyqSrpL+ksyAjSk4gpMqkq6S/pLMKKyukyqSrpL+ksyAjVDM1IKTKpKukv6SzCisrpMqkq6S/pN6ktCAjVDM1IKTKpKvN8QorK6TKpKukwKS3ICNUMzAgw+bFxLvhCisrpMqkq6TEpK6kqyAjVDM1IMPmt9GkrrLdCisrpMqkq6TOpNKkyCAjVDM1IMPmpM6/zQorK6TKpKykt6S9pKak4aTzICNKTiDOrqS3pL2kpqThpPMKKyukyqSspNak86TOpKuk86S9pKak4qS4pOykuaTmpKakyaSmpKKkuaStobykoqG8pMggI0pOIMS5yrikzrS2wdvKuLv6peyluc22xrOjwaPBCisrpMqksKTBpOOk86TNpOsgI1QzNSCkyqSwpMGk46TzpM2k6worK6TKpLKkuaTGpOuk4qTKobwgI0pOIMXqpLK8zqTGpOul4qXKobwKKyukyqS0pOSksaTzICNUMzUgzL64xbKwuKkKKyukyqS3pMCkpCAjVDM1IMy1wucKKyukyqS+pM6ku6SkpOGkpKS/pKQgI0pOIMbmpM7AuMy/ws4KKyukyqS+pM6ky6TbpPOkuKTzICNKTiDG5qTOxvzL3L/NCisrpMqkw6TBICNKTiChyqH8oa2hvKGuofyhyworK6TKpMOkwSAjSk4gpMqkw6TBCisrpMqkw6TBICNUMzUgpMqkw6TBCisrpMqkw6TBICNUMzUgsMLH3AorK6TKpMOkwaSipOqkrKTIpKYgI0NKIKTKpMOkwaSipOqkrKTIpKYoofyhraG8oa6h/CkKKyukyqTDpMGk4qTKobwgI0pOIKTKpMOkwaXipcqhvAorK6TKpMOkwaTlICNUMzUgpMqkw6TBpOUKKyukyqTDpMGk5aSmICNUMzUgx7y/3worK6TKpMSkwaTlpKYgI1QzNSCyxr/fCisrpMqkxKTBpOWkpqTcpKYgI1QzNSCyxr/fy7wKKyukyqTEpNykpiAjVDM1ILLGy7wKKyukyqTEpOEgI0pOIKXKpcSl4QorK6TKpMqktaTzICNKTiCjt6S1pPMKKyukyqTKpLektaTzICNUMzUgzL7MtaS3pLWk8worK6TKpMqkt6S1pPOk16TppLqk3iAjSk4gzL7MtaS3pLWk86XXpemluqXeCisrpMqkyqThpKakqCAjVDM1ILzQpOG+5QorK6TKpMqk4aSrpMOks6TPpPOkwKSvpMak86S/obyk86Soobykz6TzpMCkr6TGpPOkq6TDpLOkyKS4pMqkyqThpNek66TDpNGk26S3ICNKTiChwCihrKLPoawpob+l16XrpcOl0aH5CisrpMqkyqThpKukw6SzpM+k86TApK+kxqTzpL+hvKTzpKihvKTPpPOkwKSvpMak86SrpMOks6TIpLikyqTKpOGk16TrpMOk0aTbpLcgI0pOIKHAKI7fos+O3ymhv47Mjt+O2Y6vjsqO36H5CisrpMqky6SkpMOkxqTrpNWk4aSkICNDSiCyv7jApMOkxqTrydTMwAorK6TKpMukqyAjS0sgsr+kqworK6TKpMukqyAjVDM1ILK/pKsKKyukyqTLpKukoqTrICNDSiCkyqTLpKukoqTroakKKyukyqTLpKuky6SqpNOkqKTrpK6ksyAjSk4gKCihqI7fp6WO3ymOto7ejriOto7ejriOzI7ejtmOzI7ejtkKKyukyqTLpKuky6SqpNOkqKTrpK6ksyAjSk4gsr+kq6TLtrGkqKTrpa6lsworK6TKpMuktaTeICNKTiCyv83NIAorK6TKpMuktaTeICNUMzUgsr/NzQorK6TKpMuk36TGpPOkwKTopLWk6yAjSk4gsr+4q6TGpPOkwKTose4KKyukyqTLpOek6qG8pMogI0pOII7FjsaOro7YjrCOxQorK6TKpM6k6SAjU1VDIKTKpM6k6QorK6TKpM6k6aSiICNDSiCkyqTOpOmhwQorK6TKpN6koqSkpNSkpCAjVDM1IMC4SVAKKyukyqTepKKkv6S/pKukr6TfpN6k4qTrICNDSiCkyqTew8ikq6SvuKu86aTrCisrpMqk3qSzICNUMzUgpMqk3qSzCisrpMqk3qSzpNek7KSkICNUMzUgpMqk3qSzpdel7KWkCisrpMqk3qTipM4gI1QzNSClyqXepeKlzgorK6TKpN+kq6TsICNDSiClyqXfpaul7AorK6TKpN+kwKTHpN6kqKSspN+kqKTepLuk8yAjQ0ogzt6kx8GwpKy4q6SopN6ku6TzoaoKKyukyqTgICNKTiClyqXiCisrpMqk4aSvpLggI0pOIKXKpeGlr6W4CisrpMqk5KTfpLmkrqTrpMikz6SypOsgI1QzNSDHuqTfpLmkrqTrpMjGxaSypOsKKyukyqTmpK2ksKTrpN4gI0pOIMy+wOO81gorK6TKpOqkraTqpLmk7CAjVDM1IKTKpOqkraTqpbml7AorK6TKpOqkuaTeICNTNXIgpMqk6qS5pN4KKyukyqTqpL+kyKTDpNek7aSqpMkgI0pOIKTKpOqkv6TIpMOk16TtpKqkyQorK6TKpOqkv6TIpMOk16TtpKqkySAjSk4gpMqk6qS/pMikw6TXpO2kqqTJIAorK6TKpOqk0KTzICNUMzUgpcql6qXQpfMKKyukyqTspKIgI1c1IMbrpOy55worK6TKpOykoqSkICNUMzUgxuuk7LnnpKQKKyukyqTtICNDSiCkyqTtCisrpMqk86SspPOkxqSkpK2koqTEICNKTiDG7rTfxOO1pLC1CisrpMqk86SxpKSk0CAjVDM1IKTKpPO2pcfPCisrpMqk86TApKukyqG8pKKk86TJpLWkpKSzobykwCAjSk4gpcql86XApaulyqG8ofWltaWkpbOhvKXACisrpMqk86TApKuk86TAICNDSiCkyqTzpMCkq6TzpMAgCisrpMqk86TEpMOkv6TqpLekxiAjQ0ogpMqk86TEpMOkv6TqpLekxgorK6TKpPOkyKSkpKaks6TIpMekt6TnpKYgI0NKIKTKpPOkyKSkpKaks6TIpMekt6TnpKYKKyukyqTzpNCkoqS5pK+kpqTrICNUMzUgpcql86XQobyluaWvobyl6worK6TKpPOk36TzICNUMzUgxvHMsQorK6TKpPOk36TzpKSkvyAjVDM1IMbxzLHIxAorK6TKpPOk4qS4pOGk8qS/pMak6KTfpLmk66TOICNDSiCyv8q4u/rM3KTyvcTGyaTfpLmk66TOoakKKyukyyAjVDMwIL2qxd8KKyukyyAjVDM1IDIKKyukyyAjVDM1IL2qxd8KKyuky6G8ICNKTiCly6G8CisrpMuhvKSkpMGk6KTzpLiksaTzICNUMzUgo7KhpqOxo7S79rfvCisrpMukpKTBpOWkpiAjVDM1IG55v98KKyuky6SkpMOk1KTnpKYgI0NKIKTLsOzJvAorK6TLpK2ks6SmICNUMzUgxvO0/Lm7CisrpMukraTTpKykx6StpL+k4qTKobwgI0pOIKXLpa2l06SsvdDN6KS/peKlyqG8CisrpMukr6SzpMOk16TzpK+kqCAjQ0ogpculr6WzpcOl16Xzpa+lqCEKKyuky6SvpLOkw6TXpPOkr6SoICNDSiCOxo64jrqOr47Mjt+O3Y64jrQhCisrpMukr6SzpMOk16TzpK+kqCAjSk4gpculr6WzpcOl16Xzpa+lqCEKKyuky6SvpLOkw6TXpPOkr6SoICNKTiCOxo64jrqOr47Mjt+O3Y64jrQhCisrpMukr6SzpNehvKTzICNDSiAooaaiz6GmKaXLpa+ls6XXobyl8yAKKyuky6SvpLOk16G8pPMgI0NKICiOpaLPjqUpjsaOuI66jsyO346wjt0gCisrpMukr6SzpNehvKTzICNDSiCly6WvpbOl16G8pfMKKyuky6SvpLOk16G8pPMgI0NKII7GjriOuo7Mjt+OsI7dCisrpMukr6SzpNehvKTzICNKTiAojqWiz46lKY7GjriOuo7Mjt+OsI7dCisrpMukr6SzpNehvKTzICNKTiCly6WvpbOl16G8pfMKKyuky6SvpLOk16G8pPMgI0pOII7GjriOuo7Mjt+OsI7dCisrpMukr6TPpPOky6TjICNLSyDG+cjMvOMKKyuky6SvpM+k86TLpOMgI1QzNSDG+cjMvOMKKyuky6SvpNmk86StICNUMzUgxvnK2LTvCisrpMuksqTDpMggI0pOIDKlsqXDpcgKKyuky6SypMakp6TLpLKkxqSnpMuksqTGpKekz6TkpK+ky6SypMakp6TDICNKTiDGqKSypMakp8aopLKkxqSnxqiksqTGpKfB4aSvxqiksqTGpKelw6GqCisrpMuks6TspMOkyCAjSk4gpculs6XspcOlyAorK6TLpLcgI0pOIMbzu+AKKyuky6S3ICNKTlMgxvO74AorK6TLpLcgI1QzNSDG87vgCisrpMukt6S/pPMgI0pOIMbzu+Clv6XzCisrpMukt6S/pPMgI1QzNSDG87vgpb+l8worK6TLpLekxqTEpNCkuaS4pOOkw6SvpLiksaTzICNLSyDAvsW0pdCluaW4peOlw6Wvu/a37worK6TLpLekxqTEpNCkuaS4pOOkw6SvpLiksaTzICNUMzUgwL7FtKXQpbmluKXjpcOlr7v2t+8KKyuky6S3pOWkpqTNpPOkpKTZpPOkyCAjVDM1IKOyvP7Hr6Wkpdml86XICisrpMukuKSypPMgI1QzNSDG87yhuLUKKyuky6S4pLKk86SqpL8gI1QzNSDG87yhuLWlqqW/CisrpMukuKSypPOk8qS/ICNUMzUgxvO8obi1pfKlvworK6TLpLik5aSmICNUMzUgMjAKKyuky6S4pOWkpqTKpMqkt6StpK+kvaS5pOykr6TBpK+kxqSkICNKTiAyN7ywyrWluaXstu7D4MT6CisrpMukuKTlpMOkyKSmpLek8yAjVDM1IDIwxq6/wAorK6TLpLik56SmpKyk76TppM6k6aSvpLek5yAjVDM1IMbzvvKyz7i2pM7N7r3xCisrpMuku6SipOYgI1QzNSC1tqSipOYKKyuky6S7pM+k66TKpKKk86TJpKaky6TlpKak6qG8pMogI0pOILW2vdW62qH1pKaky6TlpKal6qG8pcoKKyuky6S7pOGkw6S7ICNUMzUgtbal4aXDpbsKKyuky6S7pOKkyqG8ICNKTiC1tqXipcqhvAorK6TLpLuk86TOpO+ktiAjQ0ogMjAwMKTOtbsKKyuky6TAobwgI0pOIKXLpcChvAorK6TLpMChvCAjSk4gjsaOwI7ejrAKKyuky6TAobykv6SkpKQgI0pOIKXLpcChvMLnsNMKKyuky6TAobykwaTnICNKTiCly6XAobylwaXnCisrpMukwKTAobwgI0pOIKXLpcClwKG8CisrpMukwKTAobwgI0pOIKXLpcClwKG8IAorK6TLpMGk46TzICNDSiAyY2gKKyuky6TBpOOk8yAjQ0ogo7KkwaTjpPMKKyuky6TBpOOk8yAjVDM1IDJjaAorK6TLpMGk46TzICNUMzUgo7KkwaTjpPMKKyuky6TBpOOk86S1pNCkq6TDpMakyqSrpPOkt6S4pOcgI1QzNSAyY2i7qr6hvOqkyrTGu+u96gorK6TLpMGk46TzpMakraTLpM8gI0NKIKOyo+Oj6MWqpMukzworK6TLpMGk46TzpMakraTSpOekpqSrICNUMzUgo7Kj46PoxarJvrLBCisrpMukwaTjpPOkzaTrpK+kvaS5pOykw6TJpMSkpKTbpKaku6TzpLuk8yAjSk4go7KkwaTjpPOkzaTryrWluaXspcOlycTJyvzA78D+CisrpMukwaTjpPOkzaTrpLCk86TdpKakrKSkpK4gI0pOIKOyo+Oj6Lezy6Gy8bXECisrpMukwaTjpPOkzaTrpLWk3aG8pMiku6TzpL+hvCAjSk4go7KkwaTjpPOkzaTrpbWl3aG8pcilu6Xzpb+hvAorK6TLpMGk46TzpM2k66S8pPOkpKS/pMuk86StpMikpqTKpOGk86TIICNUMzUgMqTBpOOk86TNpOvBtMjEv821pKXIobylyqXhpfOlyAorK6TLpMGk46TzpM2k66S/pKKk3CAjVDM1IDKkwaTjpPOkzaTrpb+hvKXcCisrpMukwaTjpPOkzaTrpMSkpiAjVDM1IDJjaDIKKyuky6TBpOOk86TNpOukxKSmICNUMzUgMqTBpOOk86TNpOsyCisrpMukwaTjpPOkzaTrpMqkyqTBpOWkpqSkpL8gI0NKIKOypMGk46TzpM2k67y3v9/IxAorK6TLpMGk46TzpM2k66TKpMqkwaTlpKakpKS/ICNUMzUgo7KkwaTjpPOkzaTrvLe/38jECisrpMukwaTjpPOkzaTrpMsgI1QzNSAyY2gyCisrpMukwaTjpPOkzaTrpMsgI1QzNSAypMGk46TzpM2k6zIKKyuky6TBpOOk86TNpOukzqTPpPOk1qTzpM+kzaS/pMekx6StpMakpKTepLkgI0NKIDKkwaTjpPOkzaTrpM7IvsqspM+lzaW/pMekx6StpMakpKTepLkKKyuky6TBpOOk86TNpOuk06TlpKakoiAjVDM1IDKkwaTjpPOkzaTrpdOl5aG8paIKKyuky6TBpOOk86TNpOuk1qTppKaktiAjVDM1IDKkwaTjpPOkzaTrpdal6aWmpbYKKyuky6TBpOOk86TWpO2ksCAjVDM1IDJjaC1CbG9nCisrpMukwaTjpPOk16TtpNCkpKTApKIgI1QzNSAyY2il16XtpdClpKXAobwKKyuky6TBpOOk86TspPOk4aSkICNKTiAypMGk46Tzz6LMwQorK6TLpMOkrSAjSk4gxvy1rQorK6TLpMOkrSAjVDM1IMb8ta0KKyuky6TDpK2hvCAjSk4gpculw6WtobwKKyuky6TDpK+kt6TzpLukpCAjVDMwIKXLpcOlr7+9wMEKKyuky6TDpLukpCAjVDM1IKXLpcOlu6WkCisrpMukw6S7pKQgI1QzNSDG/MDCCisrpMukw6TdpPOkz6TPpPOku6SkpLek6yAjQ0ogxvzL3KTPyL++yqS3pOuhqgorK6TLpMikpqS4pOek5qSmICNUMzUgxvPF+b33zaUKKyuky6TIpKak2KSkICNKTiDG88X5yrwKKyuky6TIpKak2KSkICNUMzUgxvPF+cq8CisrpMuky6TBpOOk86SspKKkw6S/pOmkt6TqobykuiAjU1VDIKTLo7KkwaTjpPOkrKSipMOkv6Tppbel6qG8pboKKyuky6TLpMGk46TzpKykoqTDpL+k6aS3pOqhvKS6ICNUMzUgpMujsqTBpOOk86SspKKkw6S/pOmlt6XqobylugorK6TLpMukwaTjpPOkrKSipMOkv6TppLek6qSkpLogI1QzNSCky6OypMGk46TzpKykoqTDpL+k6aW3peqhvKW6CisrpMukz6TvpOmkw6S/ICNDSiCky6TPvtCkw6S/oaoKKyuky6TbpPOktaTzpK2k56SmpMCkpKSspK8gI1QzNSDG/Mvco7O1/sLns9gKKyuky6TbpPOku6SkpOGkpCAjS0sgxvzL3MC4zL8KKyuky6TbpPOkwaTjpPMgI0tLIKXLpdul86TBpOOk8worK6TLpNuk86TBpOOk8yAjVDM1IKXLpdul86TBpOOk8worK6TLpOOkpiAjSk4gpMuk46SmoaEKKyuky6TkpMuk5CAjQ0ogpcul5KXLpeQKKyuky6TkpOogI0NKIKHKobGhvKGxoculy6XkpeoKKyuky6TkpOogI0NKIKXLpeSl6gorK6TLpOSk6qTDICNDSiChyqGxobyhsaHLpcul5KXqpcMgCisrpMuk5KTqpMMgI0NKIKHKobGhvKGxocuOxo7UjtiOryAKKyuky6TkpOqkwyAjSk4gocqhsaG8obGhy47GjtSO2I6vCisrpMuk5KTqpMMgI0pOIKXLpeSl6qXDCisrpMuk5KTqpMMgI0pOII7GjtSO2I6vCisrpMuk5aG8pLmkuaTGobykt6TnpPMgI0tLIKXLpeWhvKW5pbmlxqG8pbel56XzCisrpMuk5aSmpLmkvaSvpNukpqTXpOmkuSAjVDM1IKXLpeWhvKW5wq7K8ysKKyuky6TlpKakvaSvpNek6aS5pK2kt6TjICNUMzUgpcul5aG8wq4rta281AorK6TLpOcgI1JUIKTLpOcKKyuky6TnpKSkrKS/ICNUMzUgpcul56Wks+MKKyuky6TnpKSkrKS/ICNUMzUgjsaOro6ys+MKKyuky6TnpKyhvKTzICNDSiAojt+n1Y7fKY7Gjq6Oto7ejrCO3QorK6TLpOekrKG8pPMgI0NKIKXLpeelrKG8pfMKKyuky6TnpKyhvKTzICNDSiCOxo6ujraO3o6wjt0KKyuky6TnpMGk86TApPMgI1QzNSC998TBw8QKKyuky6TppKSk4CAjSk4gpcul6aWkpeAKKyuky6TppMGk46SopOuku6SkpNChvCAjSk4gpcul6aXBpeOlqKXrpbulpKXQobwKKyuky6TppMGk46TFpN4gI0pOIKXLpenD47rKCisrpMuk6aTBpOOkzaSzICNKTiCly6Xpw+PHrQorK6TLpOmkwaTjpOCkuaThICNKTiCly6Xpw+PMvAorK6TLpOmk4KS3ICNKTiCly6Xpw+4KKyuky6TrpM+hvKTLpOOk8yAjSk4gpMuk66TPobyky6TjpPMKKyuky6TvpKsgI1QzNSCly6XvpasKKyuky6TvpKuk6aS3pOqhvKS6ICNDTiDE7aSrpOmlt6XqobylugorK6TLpO+kq6TppLek6qG8pLogI1QzNSDE7aSrpOmlt6XqobylugorK6TLpO+kq6TppLek6qSkpLogI1QzNSDE7aSrpOmlt6XqobylugorK6TLpPOkpKS/pPMgI0pOIMeksNWkv6TzCisrpMuk86S3pPMgI0tLIMelv7EKKyuky6TzpLek8yAjVDM1IMelv7EKKyuky6TzpLik4yAjSk4gpcul86W4peMKKyuky6TzpMak86TJpKakq6SkpLCk86SzpKakr6SmpL+kpCAjVDM1IMekxbfGsrOkt7O50rb1wuIKKyuky6TzpOmkpKTzICNUMzUgx6al6aWkpfMKKyukzKG8pOsgI1QzNSClzKG8pesKKyukzKSmpKykvyAjQ04gpMykpqSspL8KKyukzKSmpKykvyAjVDM1IKTMpKakrKS/CisrpMykpqTrICNUMzUgpcyhvKXrCisrpMykraTKpN8gI0YwNCCkzKStpMqk3worK6TMpK2kyqTfICNUMzUgpMykraTKpN8KKyukzKTDpNikw6TbobwgI0NKIKXMpcOl2KXDpduhvAorK6TMpMOk2KTDpNuhvCAjSk4gKI6los+OpaLPjqUpjseOr47Njq+Ozo6wCisrpMykw6TYpMOk26G8ICNKTiCkzKTDpNikw6TbobwKKyukzKTDpNikw6TbobwgI0pOIKXMpcOl2KXDpduhvAorK6TMpMOk2KTDpNuhvCAjSk4gjseOr47Njq+Ozo6wCisrpMykw6TYpMOk26G8ICNUMzUgKKGmos+hpqLPoaYppcylw6XYpcOl26G8CisrpMykw6TYpMOk26G8ICNUMzUgKI6los+OpaLPjqUpjseOr47Njq+Ozo6wCisrpMykw6TdpPMgI1QzNSClzKXDpd2l8worK6TMpN6kw6StICNLSyCkzKTepMOkrQorK6TMpN6kw6StICNUMzUgpMyk3qTDpK0KKyukzKTqpKuk2aTipMqhvCAjSk4gpMyk6srJpeKlyqG8CisrpMyk6yAjS1kgpcyl6worK6TMpOuk3SAjVDM1IKTMpOuk3QorK6TNICNDSiBuZaGqCisrpM2hvKTOICNKTiClzaG8pc4KKyukzaG8pOikqqTWpM2hvKToICNKTiClzaG8peihpqWqpdahpqXNobyl6AorK6TNobyk6KTJpKak4aSkICNKTiClzaG8pejGsczBCisrpM2kqCAjSk4gpM2kqAorK6TNpKikzaSoICNDSiCkzaSnpM2kpworK6TNpKik3KSvpLmktKSkpMekt6TnICNKTiCkzaSopNykr6S5pLSkpKTHpLek5worK6TNpKqkpqSmpO2k86TBpOMgI1QzNSClzaWqsajOtsPjCisrpM2kqqS/pKSkxqSkICNKTiClzaWqwufE6worK6TNpKqk4KSupMGk4yAjSk4gpc2lqqTgpK7D4worK6TNpKqk4KSupMGk4yAjSk4gpc2lqsf+w+MKKyukzaSrpN4gI1QzMCClzaWrpd4KKyukzaSrpN4gI1QzNSClzaWrpd4KKyukzaSuICNDTiCkzaSuCisrpM2kriAjQ04gpc2lrgorK6TNpK4gI1QzNSCkzaSuCisrpM2kriAjVDM1IKXNpa4KKyukzaSvpO2k3qTppOmhvCAjSk4gpc2lr6Xtpd6l6aXpobwKKyukzaSzpMCkpKS5pK0gI0NKIKTNpLPC57mlpK0KKyukzaSzpOSkt6StICNDTiDHrbKwyd8KKyukzaSzpOSkt6StICNUMzUgx62ysMnfCisrpM2kuSAjSk4gpc2luQorK6TNpLmksaS3pPOkuKTjICNUMzUgpc2luaWxv6681AorK6TNpLmk4qTKobwgI0pOIKXNpbml4qXKobwKKyukzaS6pN+kqqTIpLMgI0pOIKXNpbql38PLCisrpM2kuqTfpM+k6aTmpKaktqTzICNKTiDBzbi2zbq7sAorK6TNpL8gI1QzNSClzaW/CisrpM2kv6S3pOekr6TLpPOkuaTsICNUMzUgpc2lv7+mv82luaXsCisrpM2kv6S5pOwgI1QzNSClzaW/pbml7AorK6TNpL+kwKTtICNDSiClzaW/pMCk7aGpCisrpM2kv6TQpOmkt6TBpOWkpiAjVDM1IKXNpb+k0KTppLe/3worK6TNpMGksaTDpMikuKSkpLWk8yAjSk4gpc2lwaWxpcOlyKS4pKSktaTzoaEKKyukzaTBpLqk8yAjVDM1IKXNpcGluqXzCisrpM2kwaS6pPMgI1QzNSDZ1KXBpbql8worK6TNpMGk5aSmICNUMzUgpc2/3worK6TNpMGk8yAjVDM1IKXNxMEKKyukzaTDpMikwaTzICNUMzUgTmV0xMEKKyukzaTDpMik16TspKSk5KSiICNUMzUgpc2lw6XIpdel7KWkpeShvAorK6TNpMOkyKTppPOkyqSiICNLSyClzaXDpcil6aXzpcqhvAorK6TNpMqk2SAjVDM1IKXNpcql2QorK6TNpMukwaTqobyk8yAjSk4gocqhpqLPoaahy47IjsaOwY7YjrCO3QorK6TNpMukwaTqobyk8yAjSk4gpc2ly6XBpeqhvKXzCisrpM2ky6TBpOqhvKTzICNUMzUgpc2ly6XBpeqhvKXzCisrpM2k4aTzpMogI0NKIKTNpOGk86TKCisrpM2k6aSiICNUMzUgpc2l6aG8CisrpM2k6aTzpMGk5aSmICNUMzUgpc2l6aXzv98KKyukzaTsICNDSiC/sqTsCisrpM2k86TBpOOkryAjVDM1IMe0w+UKKyukzaTzpMGk46SvpK+k8yAjVDM1IMe0w+W3rworK6TNpPOk1qTEpLek5aSmpMikpqTfpKukpCAjS0sgx7DKqb2hxc+zpLLxCisrpM2k86TWpMSkt6TlpKakyKSmpN+kq6SkICNUMzUgx7DKqb2hxc+zpLLxCisrpM2k86TqpOekpiAjVDM1IMezzsEKKyukzqG8pMGk46TzICNKTiCkzqG8pMGk46TzCisrpM6hvKTNICNKTiClzqG8pc0KKyukzqSipKqkvyAjVDM1IKXOpaKlqqW/CisrpM6kpKTDpNGk86TGpK2kyqTIpK+kwaTnpKYgI1NVQyCkzrDsyMzFqqTKxsPEpworK6TOpKakqyAjSk4gx8CyyAorK6TOpKakraTnpKYgI1QzNSDHwLaoCisrpM6kpqTKpKQgI1QzNSDHvsbiCisrpM6kpqTKpKSkoqTcobyk8yAjVDMwIMe+xuKkoqTcobyk8worK6TOpKqkyKTzpLuk86S7pKQgI1QzNSClzqG8pcil88DowLgKKyukzqSqpMik86TIpOmkw6TXICNUMzUgpc6hvKXIpfOlyKXppcOl1worK6TOpKsgI0NKIKTOpKsKKyukzqSrICNTVUMgpM6kqworK6TOpKuhvCAjSk4gpc6lq6G8CisrpM6ksKS9ICNUMzUgTkdTCisrpM6kuaS/pOukzyAjVDM1IKXOpbmlv6Xrx8gKKyukzqTOpL2hvKTqICNKTiCkzqTOwe3N/QorK6TOpM6kv6TzICNKTiCkzqTOpL+k8worK6TOpM6kv6TzICNUMzUgpM6kzqS/pPMKKyukzqTOpL+k8yAjVDM1IMTUCisrpM6k0yAjS1NyIL+tpNMKKyukzqTTpM6k06S3pL+k5KTEICNKTiCkzqTTpM6k06S3pL+l5KXECisrpM6k06TnpN+k5aSipKKk4CAjSk4gpc6l06Xnpd+l5aWipaGl4AorK6TOpNOk56TfpOWkoqSipOAgI0pOII7JjsuO3o6ujtCOrY6xjqeO0QorK6TOpNak5KTcICNUMzUgpM6k1qTkpNwKKyukzqTopKuk8yAjQ0ogpM7NvbS2ISEKKyukzqTppMqkw6TBICNKTiDM7s7JpMqkw6TBCisrpM6k6aTNpLMgI0pOIMzuzsnHrQorK6TOpOogI1QzNSCzpMLdCisrpM6k6qTyICNUMzUgpc6l6qXyCisrpM6k7aSkpN6koqS5ICNDSiC89qTeobykuQorK6TOpO2kvqSmICNUMzUgpM6k7aS+pKYKKyukzqTzpLmkxiAjVDM1IKXOpfOluaXGCisrpM8gI0tLIM3VCisrpM8gI1QzNSDN1QorK6TPpKEgI0NKIKXPpaGhqQorK6TPpKEgI0pOIKHKoeunpaHrKY7KjqehqQorK6TPpKEgI0pOIKXPpaE/CisrpM+koaTPpKEgI0NKICg7oa2npaGuKaXPpaGlz6WhIAorK6TPpKGkz6ShICNDSiAoO6Gtp6WhrimOyo6njsqOpyAKKyukz6ShpM+koSAjQ0ogpc+loaXPpaEKKyukz6ShpM+koSAjQ0ogjsqOp47KjqcKKyukz6ShpM+koSAjSk4gKDuhraeloa4pjsqOp47KjqcKKyukz6ShpM+koSAjSk4gpc+loaXPpaEKKyukz6ShpM+koSAjSk4gjsqOp47KjqcKKyukz6ShpM+koSAjVDMwIKXPpaGlz6WhCisrpM+koaTPpKEgI1QzMCCOyo6njsqOpworK6TPpKGkz6ShpMqk86TGpMekraTKpKSk6CAjQ0ogjsqOp47KjqekyqTzpMa90M3opMqkpKToocQKKyukz6ShpM+koaTKpPOkxqTHpK2kyqSkpOggI0pOIKXPpaGlz6WhpMqk86TGvdDN6KTKpKSk6KHECisrpM+koaTPpKGkyqTzpMakx6StpMqkpKToICNKTiCOyo6njsqOp6TKpPOkxr3QzeikyqSkpOihxAorK6TPpKIgI0NKIKTPpKGhqQorK6TPpKIgI0pOIKHKoeunpaHrKY7KjqehqQorK6TPpKKkz6SiICNDSiClz6Whpc+loQorK6TPpKSkraTnICNDTiDH0dTSCisrpM+kpKStpOcgI1QzNSDH0dTSCisrpM+kpKS5pLSkpKS5pLSkpCAjSk4gobOhzI7fp6WO36HN0KiOyo6yjr2Ouo7ejrKOvY66jt6OsgorK6TPpKSkuaS0pKSkuaS0pKQgI0pOIKXPpaSluaW0paSluaW0paQKKyukz6SkpLmktKSkpLmktKSkICNKTiCOyo6yjr2Ouo7ejrKOvY66jt6OsgorK6TPpKSkvaTKpLuk7KTWpMuk3qS/pKSkw6TdICNDSiClz6Wkpb2kyqW7peyl1qTLpN6kv7DsyuK24aTFpK2k3qS3pL+kx6S5oaMKKyukz6SkpMOkpKS9pKYgI0NKIMb+pMOkpKS9pKYKKyukz6SkpMkgI0pOIKTPpKSkyQorK6TPpKSkySAjVDM1IKTPpKSkyQorK6TPpKSk4KTEICNUMzUgs6Wl4KXECisrpM+kq6G8ICNUMzUgpc+lq6G8CisrpM+kq6G8ICNUMzUgyuihvAorK6TPpKukoiAjVDM1IKXPpauhvAorK6TPpKukoiAjVDM1IMroobwKKyukz6SrpK4gI0tLIM3VuLAKKyukz6SrpK6kpKS/ICNDTiDN1biwyMQKKyukz6SrpK6kpKS/ICNUMzUgzdW4sMjECisrpM+kq6SupKSkv6S1pKSk4qSopKqkyKSzpMihvKTKpOGk86TIICNUMzUgzdW4sMjEusfHs6Sow8ulyKG8pcql4aXzpcgKKyukz6SrpK6kpKS/pLWkpKTipKikyKG8pMqk4aTzpMggI0tLIM3VuLDIxLrHy6ilyKG8pcql4aXzpcgKKyukz6SrpK6kpKS/pLWkpKTipKikyKG8pMqk4aTzpMggI1QzNSDN1biwyMS6x8uopcihvKXKpeGl86XICisrpM+kq6SupLuk86S9pKYgI1QzNSDN1biwwO/B6AorK6TPpKukrqTBpOWkpiAjVDM1IM3VuLC/3worK6TPpKukrqTDpLMgI1QzNSDN1biwpMO70gorK6TPpK2k5aSmpPMgI0NKIEhRTgorK6TPpK6kpKS/ICNDTiDH68jECisrpM+krqSkpL8gI1QzNSDH68jECisrpM+krqTvpOkgI0NKICjH67i2CisrpM+krqTvpOkgI0NKIMfruLYKKyukz6SvICNUMzAgpc+lrworK6TPpK+kvaTqobykyqTYICNKTiCkz6SvpL2l6qG8pcqk2AorK6TPpK+kwKTEpMGk5aSmICNUMzUgx+3Dpb/fCisrpM+kr6TBICNUMzUgx/LD1AorK6TPpLCkrSAjSk4gu/W31AorK6TPpLCkrSAjVDM1ILv1t9QKKyukz6SwpOuk3qSqpKYgI0pOILv1vNaypgorK6TPpLCk66TepO+k86TBpKek8yAjSk4gu/W81qXvpfOlwaWnpfMKKyukz6SwpOuk3qTvpPOkwaSnpPMgI0pOILv1vNal76XzpcGlp6Xzocqyvr7OocsKKyukz6SwpOykyqTepLMgI1QzNSCkz6SwpOykyqTepLMKKyukz6Sxobyk8yAjVDMwIKXPpbGhvKXzCisrpM+ksaG8pPMgI1QzMCCOyo65jrCO3QorK6TPpLIgI1QzNSC7s7K8CisrpM+ksqS3pK+kr6TOpKSkwSAjSk4gt+Okt6SvpK+lzrDsCisrpM+ksqS3pK+kwKTfobwgI0pOILfjpLekr6XApd+hvAorK6TPpLKkt6SvpMmkpaSkpKggI0NKILfjpLekr6XJpaWlpKWooaoKKyukz6SypLekr6TJpKakpCAjQ0ogt+Okt6SvxrGw1aGqCisrpM+ksqS3pK+kyaSmpNIgI0NKILfjpLekr8axyPShqgorK6TPpLKkt6SvpMuk56SmpKQgI0NKILfjpLekr8eisNWhqiAKKyukz6SypLekr6TLpPOkuKTjICNKTiC346S3pK/HprzUCisrpM+ksqS3pK+k0qTnpKakpCAjQ0ogt+Okt6Sv2OGwzaGqCisrpM+ksqTJpKYgI0NKIKTPpLKkyaSmCisrpM+ksqTJpKYgI0NKIMbFxrEKKyukz6SypMmkpiAjVDMwIKTPpLKkyaSmCisrpM+ksqTJpKYgI1QzMCDGxcaxCisrpM+ksqTipMqhvCAjSk4gaGFnZaXipcqhvAorK6TPpLKk86TqpLek5aSuICNUMzUgzdW4ts39vOe1wQorK6TPpLOks6THpLmkqyAjQ0ogpM+ks6SzpMekuaSroakKKyukz6SzpLOkx6S5pKsgI1NVQyCkz6SzpLOkx6S5pKuhqQorK6TPpLek66TzpMekuSAjVDM1IMH2peul86THpLkKKyukz6S4pMOksyAjVDM1IMPRpMO70gorK6TPpLik66S5ICNUMzUgpM+kuKTrpLkKKyukz6S5ICNUMzUgz6EKKyukz6S5pLOk6SAjVDM1IM+hpbOl6QorK6TPpLogI1QzNSClz6W6CisrpM+kwaSkpMGktKS4pLGk8yAjVDM1IKO4o7Gjtbv2t+8KKyukz6TBpKykxKStpK0gI1QzNSCjuLfutO21oQorK6TPpMGkuKTnpKakuKTepLikq6TzpKuk86TqpLuk86S/obwgI0pOIMisvubF57v+tNa0yc39pbul86W/obwKKyukz6TBpMGkwSAjVDM1IKTPpMGkwaTBCisrpM+kwaTIpKakt6TzpM4gI1JUIKO4xqy/yKTOoaEKKyukz6TBpMikpqS3pPOkzqTepOuk3qTrICNKTiCjuMasv8ikzqH7ofuhoQorK6TPpMOkq6G8ICNUMzUgpc+lw6WrobwKKyukz6TDpKukoiAjVDM1IKXPpcOlq6G8CisrpM+kw6SvpOmkpKS/ICNDTiClz6XDpa+l6cjECisrpM+kw6SvpOmkpKS/ICNUMzUgpc+lw6WvpenIxAorK6TPpMOkt6TlICNUMzUgpc+lw6W3peUKKyukz6TDpLuk86TBpOWkpiAjVDM1IDgwMDC/3worK6TPpMOkwaTjpLGkxqSwpKUgI0NKIKTPpMOkwaTjpLGkxqWwpaUKKyukz6TDpMak8yAjVDM1IGhhdHRlbgorK6TPpMOkxqTzICNUMzUgpc+lw6XGpfMKKyukz6TDpMak86SvpPMgI0pOIGhhdHRlbrevCisrpM+kw6TGpPOkt6TNobyk6CAjSk4gyK/FuKW3pc2hvKXoCisrpM+kw6TIpKakt6TzpKqky6SupOqk4qTKobwgI0pOIKO4xfm/yKSqpMukrqTqpeKlyqG8CisrpM+kw6TIpKakt6TzpK6ksyAjSk4gyKzGrL/Ipa6lsworK6TPpMOkyKSmpLek86S7pPOk6KSmpKykr6TkpKak6aSzpL+kxCAjSk4gyKzGrL/IwOzN0bPasrDOot/Z3/0KKyukz6TDpMikpqS3pPOk4aTzpMmkr6S7pKcgI0pOIMisxqy/yI7Sjt2OxI7ejriOvo6qCisrpM+kw6TIpKakt6TzpOKkyqG8ICNKTiCjuMasv8il4qXKobwKKyukz6TDpMikpqS3pPOk4qTKobykr6TzICNKTiCjuKTIpKakt6TzpeKlyqG9pK+k8worK6TPpMOkyKSmpLek86TypNuk7aTcpLmky6S7pKSkwaS1pPMgI0pOIKO4xqy/yKTyzMek3KS5tbajsaS1pPMKKyukz6TDpNEgI1QzNSDN1aTDx8kKKyukz6TDpNGkv6SkICNKTiCkz6TDpNHC4gorK6TPpMOk1KSkpMSk6qSkpNWk7KTzpLogI1QzNSBIYXBweVRyZWVGcmllbmRzCisrpM+kxKS3pNCk6qTDpK8gI1QzNSC96bzHpeqlw6WvCisrpM+kxKTJpKYgI1QzMCDIr8awCisrpM+kxKTSpM6kx6TBpPOkvaSmICNUMzAgvenG/KTOvdCh+cTBwfYKKyukz6THpLmk4aTzpNChvCAjS0sgpc+lx6W5peGl86XQobwKKyukz6THpLmk4aTzpNChvCAjVDM1IKXPpceluaXhpfOl0KG8CisrpM+kx6S5pOGk86TQpKIgI1QzNSClz6XHpbml4aXzpdChvAorK6TPpMggI0pOIMi3CisrpM+kyCAjVDM1IMi3CisrpM+kyKSipMsgI0pOIMi3t7sKKyukz6TIpKKkyyAjVDM1IMi3t7sKKyukz6TIpKqkyKSmpMggI0pOIMi3xO8KKyukz6TIpKqkyKSmpMggI1QzNSDIt8TvCisrpM+kyKTkpN6k5qStpKogI0pOIMi3u7PNs7WqydcKKyukz6TJpKak26SmICNKTiDHyMawy6QKKyukz6TKICNUMzUgstoKKyukz6TKpLIgI0pOIMmhzNMKKyukz6TKpLIgI1QzNSDJoczTCisrpM+kyqTcpKaktyAjSk4gstbLubvSCisrpM+ky6TjpPOkvqSmICNKTiClz6XLpeOl88KiCisrpM+kzaTAICNUMzUgxLekzaTACisrpM+k3iAjVDM1IKTPpN4KKyukz6TeICNUMzUgpc+l3gorK6TPpN6k3qTEpOogI1QzNSCkz6Teutek6gorK6TPpOAgI0tLILj4CisrpM+k4CAjVDM1ILj4CisrpM+k4KSzICNKTk0gpc+l4LvSCisrpM+k4KSzICNUMzUgpc+l4LvSCisrpM+k4KS5pL+hvCAjSk4goaGhoaGhocosocuhoaGhoaGhoaHBKCKhpikKKyukz6TgpLmkv6G8ICNKTiClz6Xgpbmlv6G8CisrpM+k4KS/pO2kpiAjSk4gpc+l4MLAz7oKKyukz6TgpMqk16TIpOkgI0pOIKXPpeClyqXXpcil6QorK6TPpOSkr6SipOSk3qTspOggI0NKIMHhpK+81aTspOgKKyukz6TkpN+k3qS5pN8gI0pOIMKuv+W/v8ChCisrpM+k6aS3pN4gI1QzNSClz6Xppbel3gorK6TPpOmkt6TepPMgI1QzNSClz6Xppbel3qXzCisrpM+k6qG8pN2kw6S/obykyKTYpMmkpqSjpLAgI0pOIKXPpeqhvKGmpd2lw6W/obykyKXYpcmlpqWjpbAKKyukz6TrpKSkwaTQpPMgI0pOIL3VsOzI1gorK6TPpOukpKTBpNCk8yAjVDM1IL3VsOzI1gorK6TPpOukqyAjVDM1IKXPpeulqworK6TPpOukwaTlpKYgI1QzNSC91b/fCisrpM+k66TkpN4gI0pOUyC91buzCisrpM+k76TppMOkvyAjQ0ogpM++0KTDpL+hqgorK6TPpO+k6aTDpL8gI1NVQyCkz77QpMOkv6GqCisrpM+k86SrpK8gI1QzNSCkz6TzpKukrworK6TPpPOkq6SvpKukyiAjVDM1IMi+s9Glq6XKCisrpM+k86SrpK+kq6TKpKSkvyAjVDM1IMi+s9Gkq6TKyMQKKyukz6TzpKukr6TLpLiksqTzpKSkvyAjVDM1IMi+s9HG87yhuLXIxAorK6TPpPOkq6SvpOKkuKTspMQgI1QzNSDIvrPRyri7+s7zCisrpM+k86SrpK+k4qS4pOykxKSkpL8gI0NOIMi+s9HKuLv6zvPIxAorK6TPpPOkq6SvpOKkuKTspMSkpKS/ICNLSyDIvrPRyri7+s7zyMQKKyukz6TzpKukr6TipLik7KTEpKSkvyAjVDM1IMi+s9HKuLv6zvPIxAorK6TPpPOkraTlpKYgI0tLIMi+tdkKKyukz6TzpK2k5aSmICNLSyDIvrXlCisrpM+k86StpOWkpiAjVDM1IMi+tdkKKyukz6TzpK2k5aSmICNUMzUgyL615QorK6TPpPOkraTlpKakz6S6ICNUMzUgyMi1547Kjr2O3gorK6TPpPOksKTrpKSkv6TApKSkpKTBpNukpqS9pK8gI1QzNSClz6XzpbCl68jEwuiw7MuhwqcKKyukz6TzpLOkpqTopLOkryAjVDMwIMjIudTNvbnwCisrpM+k86SzpKak6KSzpK+kuaTsICNUMzUgyMi51M29ufCluaXsCisrpM+k86S3pPOkwKSkpLek86S1pKSkz6TvpOmkqKS/ICNDSiC65b/Awue/zLrSpM++0KSopL+hqgorK6TPpPOkuKTjpKSkt6TjICNUMzUgyMi64bzUCisrpM+k86S6pNyk86S3ICNUMzUgyL6luqXcpfO74QorK6TPpPOku6SkpLek66SqpLiktaTzICNKTiDIv77KpLek66SqpLiktaTzCisrpM+k86S7pKSkt6TrpKqkuKS1pPMgI1QzNSDIv77KpLek66SqpLiktaTzCisrpM+k86S9pKakqqG8pOukuaS/obwgI0pOIMjCwfelqqG8peuluaW/obwKKyukz6TzpMGk8yAjVDM1IMjIxMEKKyukz6TzpMikpiAjVDM1IMi+xecKKyukz6TzpMmk6yAjVDM1IKXPpfOlyaXrCisrpM+k86TJpOukzaG8pOAgI1QzNSClz6Xzpcml66XNobyl4AorK6TPpPOkyaTrpM2kqKTgICNUMzUgpc+l86XJpeulzaG8peAKKyukz6TzpMuk4yAjU1VDIMjMvOMKKyukz6TzpMuk46S3pPOkrqTnpKYgI0pOIMjMvOO/tLfQCisrpM+k86TOpKYgI1QzNSDIvse+CisrpNChvCAjSk4gQkFSCisrpNChvCAjVDM1IKXQobwKKyuk0KG8pLik86StpOmhvKSipNmk6yAjSk4gvei996WtpemhvKWipdml6worK6TQobykv6TsICNUMzUgpdChvKW/pewKKyuk0KG8pMGk46TNpMOkyKSipKSkyaTrpMukt6TgpOmk0qTtpLMxMqS1pKQgI0pOIKXQobylwaXjpeulzaXDpciloqWkpcml68C+wrzH7rvSo7GjsrrQCisrpNChvKTBpOOk66TNpMOkyKSipKSkyaTrpKik66SopOukqKTrICNKTiCl0KG8pcGl46Xrpc2lw6XIpaKlpKXJpetMTEwKKyuk0KG8pNykw6TIICNKTiCl0KG8pdylw6XICisrpNChvKTkICNKTiCl0KG8peQKKyuk0KG8pOQgI1QzNSCl0KG8peQKKyuk0KSiICNUMzUgpdChvAorK6TQpKKkv6TsICNUMzUgpdChvKW/pewKKyuk0KSipOQgI1QzNSCl0KG8peQKKyuk0KSkpKukr6TipLggI1QzNSDH3LPRyri7+gorK6TQpKSkr6TsobykuSAjVDM1IKXQpaSlr6XsobyluQorK6TQpKSk0KSkICNKTiDK3rLK3rIKKyuk0KSkpNCkpCAjSk4gjsqO3o6yjsqO3o6yCisrpNCkpKTtpPOk4qTspM4gI1QzNSCl0KWkpe2l86GmpeKl7KXOCisrpNCkq6G8ICNKTiCOyo7ejraOsAorK6TQpKuhvCAjSk4gjsqO3o62jrChtCiO36fVjt8pjsmhqworK6TQpKukpqToICNKTiCl0KWrpaal6AorK6TQpKukrqTDpLMgI1QzNSCl0LiwpMO70gorK6TQpKukwCAjVDM1IKXQpavFxAorK6TQpKuky6TPpLOk1KTapMekraTKpKQgI0NKIKbCpsGmyqbBpMukz6WzpdSl2qTHpK2kyqSkCisrpNCkq6TppO2kpiAjVDM1IKXQpaul6aXtpaYKKyuk0KSrpO2k6qG8pL8gI1QzNSCl0K3Kpb8KKyuk0KSrpO2k6qG8pL8gI1QzNSCOyo7ercqOwAorK6TQpKuk7aTqobykv6TppOqkw6TIpOsgI0NKIKXQrcqlv6XprcgKKyuk0KSrpO2k6qG8pL+k6aTqpMOkyKTrICNDSiCOyo7ercqOwI7XrcgKKyuk0KSrpO2k6qSkpL8gI1QzNSCOyo7ercqOwCil0KWrpe2l6qG8pb8pCisrpNCkq6TtpOqkpKS/pOmk6qTDpMik6yAjQ0ogjsqO3q3KjsCO163ICisrpNCkq6TzpLOkryAjQ04gpdC02rnxCisrpNCkq6TzpLOkryAjVDM1IKXQtNq58QorK6TQpK2k5aG8pOCkq6G8ICNKTiCl0KWtpeWhvKXgpauhvAorK6TQpK+ksqStICNUMzUgx/q34gorK6TQpK+kuKTjpMOkr6S4pLGk8yAjS0sgpdCluaW4peOlw6Wvu/a37worK6TQpK+kwKTzpM2kuqTfICNKTiDH+sPGpc2luqXfCisrpNCkr6TBpOWhvKTipPOkwKSkICNKTiDH+qXBpeWhvMzkwuoKKyuk0KSwICNKTiCl0KWwCisrpNCktaTtpLmk7CAjVDM1IKXQpbWl7aW5pewKKyuk0KS5pLik46TDpK8gI1QzMCCl0KW5pbil46XDpa8KKyuk0KS6obykq6SupLMgI0pOIKXQpbqhvKWrpa6lsworK6TQpMOktaSkpOQgI0pOIMiyus6ysAorK6TQpMQgI0pOIPqlCisrpNCkxKTQpLMgI1QzNSCh38iiCisrpNCkxKTcpMOkr6S5ICNUMzUgod+l3KXDpa+luQorK6TQpMik6aG8ICNKTiCl0KXIpemhvAorK6TQpMik7aTvpLmk7CAjSk4gpdClyKXtpe+luaXsCisrpNCk0KShICNKTiDHzKWhCisrpNCk0yAjUjUgpdCl0worK6TQpNOk6qTGpKMgI1QzNSCl0KXTpeqlxqWjCisrpNCk06TrpMukuyAjS0sgpdCl06XrtbYKKyuk0KTTpOuky6S7ICNUMzUgpdCl06XrtbYKKyuk0KTppLOkpiAjQ04gpdCl6bniCisrpNCk6aSzpKYgI1QzNSCl0KXpueIKKyuk0KTppMGkvSAjVDM1IKXQpemlwaW9CisrpNCk6aTBpL0gI1QzNSCOyo7ejteOwY6/CisrpNCk66SrpPOk76TDpLek56SkICNKTiCl0KXrpaul86Gmpe+lw6W3peelpAorK6TQpPMgI1QzNSDIxworK6TQpPOkwKSkICNUMzUgyNbC5gorK6TQpPOkwaTnpKYgI0pOIMjWxLkKKyuk0KTzpMGk56SmICNUMzUgyNbEuQorK6TRpKSk0aSkICNUMzUgptChuQorK6TRpKSk0aTzpK2k56SmpMCkpCAjSk4gpdGlpKXRpfO3u8TvCisrpNGkr6TqICNUMzUgy9HN+worK6TRpL2ks6TzpK2k5aSmpK2k5aSmpNCkuaS/pKKkuiAjVDM1IKXRpb2ls6Xztd+13qXQpbmlv6G8pboKKyuk0aTDpMggI1QzNSBQYXQKKyuk0aTGICNLSyCl0aXGCisrpNGkxiAjVDM1IKXRpcYKKyuk0aTIICNLUyCl0aXICisrpNGkyCAjUjUgpdGlyAorK6TRpMggI1QzNSBQYXQKKyuk0aTUpLMgI1QzNSCl0aXUpbMKKyuk0aTapMOkyKTepNqkw6TIICNKTiCl0aXapcOlyKXepdqlw6XICisrpNGk5KSqICNUMzUgpdGl5KWqCisrpNGk6aS1pKSkyKTUpOik36G8ICNKTiChoSiO32+O36K/ocF+fgorK6TRpOmktaSkpMik1KTopN+hvCAjSk4gpdGl6aW1paSlyKXUpeil36G8CisrpNGk6aS1pKSkyKTUpOik36G8ICNKTiCl0aXppbWlpKXIpdSl6KXfobwgCisrpNGk6aTApKSkuaSxpKSktqSkICNUMzUgpdGl6aXApaSlubfQutEKKyuk0aTppOKk6qTepMSk6iAjVDM1IKXRpem/ubrXpOoKKyuk0aTsobykySAjSk4gpdGl7KG8pckKKyuk0aTtpN+kzqSvpPMgI0pOIKXRpe2l36XOt68KKyuk0aTzpMako6TpICNUMzUgpdGl86XGpaOl6QorK6TRpPOk0aSrICNUMzUgpdGl86XRpasKKyuk0aTzpNGk8yAjVDM1IKXRpfOl0aXzoaoKKyuk0iAjVDM1IMjmCisrpNKhvKTLpMuhvKTLpNOkw6SvpOogI0pOIKXSobyly6XLobyly6GqCisrpNKkpKSrpOqk46SvICNUMzUgpNKhyrDKsrzOrKHLCisrpNKkq6TppNOkyaTzICNUMzUgpNKkq6TppNPQpworK6TSpKuk6qTEpKakt6TzICNLSyC498TMv64KKyuk0qSrpOsgI1QzNSCl0qWrpesKKyuk0qSspK+k8yAjVDM1IMjmssW3rworK6TSpKyktyAjSk5TILSzstu70gorK6TSpKyktyAjVDM1ILSzstu70gorK6TSpKykt6SrpL+k4qTKpLmksSAjSk4gxezK/aXipcq99QorK6TSpK2ksyAjVDM1IKXSpa2lsworK6TSpK2ks6G8pOKk6iAjSk4gpdKlraWzobyl4qXqCisrpNKkraSzpOIgI1I1ciCk0qStpLOk4gorK6TSpK2ks6TiICNSNXIgsPqkreTGpOIKKyuk0qStpLOk4qTppOmhvCAjSk4gpdKlraWzpeKl6aXpobwKKyuk0qStpLOk4qTqpLOk3qTrICNKTiCl0qWtpbO/uaWzpd6l6worK6TSpK2k46SvICNUMzUgyPS10worK6TSpK+kvaTzICNKTiCl0qWvpb2l8worK6TSpLIgI0pOIKXSpbIKKyuk0qSyICNKTiDJpgorK6TSpLIgI1QzNSCl0qWyCisrpNKksqTgpLcgI1QzNSCk0qSypOCktworK6TSpLWk86TKMSAjVDM1IMjhu7SkyqOxCisrpNKktaTzpMqkpKTBICNKTiDI4bu0pMqjsQorK6TSpLWk86TKpKSkwSAjVDM1IMjhu7SkyjEKKyuk0qS3pMCkyiAjVDM1IMjpu+mkwKTKCisrpNKkt6TnpKaksaSkpMmkpqS4pPMgI0tLIMj05sa3z8axv80KKyuk0qS3pOekpqSxpKSkyaSmpLik8yAjVDM1IMj05sa3z8axv80KKyuk0qS6pN8gI0pOIM/ECisrpNKkvaTSpOwgI1QzNSCk0qS9pNKk7AorK6TSpMOkraG8ICNKTiCl0qXDpa2hvAorK6TSpMOkraG8ICNKTiCl0qXDpa2hvCAKKyuk0qTDpK2hvCAjVDM1IKTSpMOkraG8CisrpNKkw6StobwgI1QzNSCl0qXDpa2hvAorK6TSpMOkraSkICNUMzUgpdKlw6WtobwKKyuk0qTDpLekwKTKICNDSiDJrLvgpMCkygorK6TSpMOkt6TApMogI1QzNSDJrLvgpMCkygorK6TSpMOkv6TqICNUMzUgpNKkw6S/pOoKKyuk0qTEpLggI1QzNSDN0worK6TSpMSk6KSmpKKkr6TOpNCkq6S5pMak0CAjVDM1IMmszdewraTOx8+8r7zOpMa+7AorK6TSpMekp6TkICNKTiCk0qTHpKek5AorK6TSpMek6aTsICNLUyBISURFpOmk7AorK6TSpMikqqSqpLmkriAjVDM1IL/Nwue/+QorK6TSpMikr6SkpKqkqqTfpN8gI0pOIL/Nv6mkpMLnvKoKKyuk0qTIpNCkt6TpICNUMzUgv83D7AorK6TSpMik36TBpOOk8yAjSk4gxrekwaTjpPMKKyuk0qTIpOqk6KSmpK2k46TDpNcgI1QzNSCk0qTIpOrN0aWtpeOlw6XXCisrpNKkyaSmpMmkpqTGpKQgI1QzNSDI88a7xrjE5worK6TSpMqk86S4pOcgI1QzNSDI8sbxveoKKyuk0qTKpPOkuKTnpOakpqTJpKakrqSzICNKTiDI8sbxverNtsazpa6lsworK6TSpM6kx6TBpOekpiAjVDM1IMb8vdDErgorK6TSpM+k86TopKak3KSmICNUMzUgyOPIvc3Xy74KKyuk0qTSpNKk0iAjQ0ogpdKl0qXSpdIKKyuk0qTSpNKk0qTSICNDSiCl0qXSpdKl0qXSCisrpNKk1aTfpK+kwKTzICNUMzUgo7GjsqOzo7nDygorK6TSpNkgI1QzNSBoaWJlCisrpNKk2SAjVDM1IKXSpdkKKyuk0qTepM2hvKToICNKTiCl0qXepc2hvKXoCisrpNKk46SvpLWksqTPpKSkwaSipLKky6S3pKukuiAjQ0ogybSktaSypM+w7KSipLKky6S3pKukugorK6TSpOOkr6S1pPOkuKTlpKaky6TLpPOk4aTOpL2kuaSmpLWk8yAjVDM1IDEzMr/NzNykzsHHv/SktaTzCisrpNKk46SvpLek56SmpMiktyAjVDM1IMm0wKvF1LvUCisrpNKk46SvpLik5aSmpK2k5aSmpLGkpKTHpPOkt6TjICNKTiAxMTm3z8XFvNYKKyuk0qTjpK+ky6S4pOWkpqTPpMOkyKSmpLek86TipMqhvCAjSk4gMTI4xqy/yKXipcqhvAorK6TSpOOkw6TbpKYgI0NKIKXSpeOlw6XbobwKKyuk0qTjpMOk26SmICNDSiCOy46sjq+Ozo6wCisrpNKk6KSzICNKTiCl0qXopbMKKyuk0qTopLekwaTlpKYgI1QzNSDG/LXIv98KKyuk0qTppKykyiAjSk4gpNKk6aSspMoKKyuk0qTppKykyiAjVDM1IKTSpOmkrKTKCisrpNKk6aSspMqkx6TlobykryAjSk4gpLqko6SzpLSkrKSnpKqkrKS4pKKkr6StpK6ksqSqpKykpaSzpLmh47DKsrzOrKHkIAorK6TSpOmkrKTKpMek5aG8pK8gI0pOIKTSpOmkrKTKRFVLRQorK6TSpOmk36TfpOKkyqG8ICNKTiDKv7yqpeKlyqG8CisrpNKk6aTfpN+k4qTppOmhvCAjSk4gyr+8qqXipeml6aG8CisrpNKk6qTjpK8gI1QzNSCk0qHKzqyhyworK6TSpO2kt6S1pN4gI0pOTSDH7s3NCisrpNKk7aS3pLWk3iAjVDM1IMfuzc0KKyuk0qTtpNKkyCAjSk4gpdKl7aXSpcgKKyuk0qTtpNKkyCAjVDM1IKXSpe2l0qXICisrpNKk7aTdpPMgI0pOIKTSpO2k3aTzCisrpNKk7aTmpK0gI0pOIKTSpO2k5qStCisrpNKk7aTmpK0gI0pOTSCk0qTtpOakrQorK6TSpO2k5qStICNUMzUgpNKk7aTmpK0KKyuk0qTtpOakraSrpPOkwaTnpK+ky6TzICNKTiCk0qTtpOakraH3tMnEvr/NCisrpNKk7aTmpK2kq6TzpMGk56SvpMuk8yAjSk4gpNKk7aTmpK2h97TJxL6/zSAKKyuk0qTtpOakraSrpPOkyqSqpMggI0pOTSCk0qTtpOakraH3v/vEvr/NCisrpNKk7aTmpK2ks6SmpMuk86TVpKGk86SvpOmk1iAjS0sgpNKk7aTmpK24+MenpdWloaXzpa+l6aXWCisrpNKk7aTmpK2kw6TdpKSkziAjSk4gpNKk7aTmpK2kw6TdpKSkzgorK6TSpO2k5qSzpKuk86TKpKqkyCAjSk5NIKTSpO2k5rvSofe/+8S+v80KKyuk0qTzpNSk56SmpKukpCAjVDMwIMnKyb6y8QorK6TSpPOk1KTnpKakq6SkICNUMzUgycrJvrLxCisrpNOhvCAjVDM1IKPCCisrpNOhvKSwpOsgI0pOIKXTobylsKXrCisrpNOhvKSwpOukoqTppLcgI0pOIKXTobylsKXrudOk6aS3CisrpNOhvKTBpK8gI1QzNSBCw8+26AorK6TTpKMgI0pOIKTTpKMKKyuk06SkpLCk66SipOmktyAjVDM1IKXTobylsKXrudOk6aS3CisrpNOkraTjpK8gI0pOIMj+tdMgCisrpNOkt6TnpKakuKTnpLuk86S3pLuhvKTpobyk1aG8pPMgI0pOIMj+vq+998Dvu86lu6G8pemhvKTVobyk8worK6TTpLek56SmpLik56TLpPOkxqSkICNUMzAgyP6+r733x6fE6gorK6TTpLggI1QzNSCl06W4CisrpNOkuKTNpLmky6TlpKakuaTXpOmkuSAjVDM1IKXTpbilzaW5pcul5aG8pbmh3AorK6TTpLmksaS/pPMgI1QzNSCl06W5pbGkv6TzCisrpNShvKSzICNUMzAgpdShvKWzCisrpNShvKSzpOSk7aSmICNUMzUgpdShvKWzzO7PugorK6TUpKQgI1QzNSBQCisrpNSkq6TBpOWhvCAjSk4gpdSlq6XBpeWhvCAKKyuk1KSrpMGk5aSmICNKTiCl1KWrpcGl5aWmCisrpNSkq6TBpOWkpiAjSk4gpdSlq7/fCisrpNSkq6TEobwgI0tLIKXUpaulxKG8CisrpNSkr6TfpL0gI0pOIKXUpa+l36W9CisrpNSkr6TfpPMgI0pOIKXUpa+l36XzCisrpNSksyAjVDM1IKXUpbMKKyuk1KTnpPOk1KTnpPMgI0pOIKXUpeel86XUpeel8worK6TUpO0gI0pOIKXUpe2lsworK6TUpO0gI1QzNSCl1KXtCisrpNSk7SAjVDM1IKXUpe2lsworK6TUpO2ksyAjSk4gpdSl7QorK6TUpO2ksyAjVDM1IKXUpe0KKyuk1KTtpLMgI1QzNSCl1KXtpbMKKyuk1KTzpK2hvCAjSk4gpdSl86WtobwKKyuk1KTzpK+kv6TvpKKkyaTDpMiks6TgICNUMzUgcGlua3Rvd2VyLmNvbQorK6TUpPOkr6TBpOOk86TNpOsgI1QzNSBQaW5rpMGk46TzpM2k6worK6TUpPOk3aTzpMCkw6S3pOUgI1QzMCCl1KXzpd2l86XApcOlt6XlCisrpNWhvKTzICNDSiCk1aG8pPMKKyuk1aG8pPMgI0pOIKTVobyk86GhCisrpNWhvKTzpK2k56SmpMCkpCAjSk4gpNWhvKTzt7vE7worK6TVpKGhvKS5pMikrqSzpKik4qTzICNKTiCl1aWhobyluaXIoaalrqWzpail4qXzCisrpNWkoaG8pLmkyKSupLOk3yAjSk4gpdWloaG8pbmlyKGmpa6ls6XfCisrpNWkoaSkpMqk66SipPOktaSiICNDSiBGQQorK6TVpKGkpKTKpOukoqTzpLWkoiAjQ0ogRkE/CisrpNWkoaSkpMqk66SipPOktaSiICNDSiCl1aWhpaSlyqXrpaKl86W1obyhqQorK6TVpKGkpKTKpOukv6TWpKYgI1QzNSCl1aWhpaSlyqXrpb+l1qG8CisrpNWkoaSkpMqk66TVpKGk86S/pLqkoyAjVDM1IEZJTkFMoaFGQU5UQVpZCisrpNWkoaTDpK+k5qG8ICNKTiCl1aWhpcOlr6XmobwKKyuk1aShpMOkr6TmpKak1qTBpLOk7aS5pL4gI0NKIEZ1Y2ihoVlvdaGhpNakwbumpLmkvgorK6TVpKGk06TnICNLUyCl1aWhpdOl5worK6TVpKGk06TnpPMgI1QzNSCl1aWhpdOl56XzCisrpNWkoaTppKogI0pOIKXVpaGl6aWqCisrpNWkoaTzpL+kuKG8ICNUMzUgpdWloaXzpb+luKG8CisrpNWkoaTzpL+kuKSkICNUMzUgpdWloaXzpb+luKG8CisrpNWko6G8pM2k4qSoICNKTiCl1aWjobylzcuopKgKKyuk1aSjpMOkt6Tjobyk3qTzICNKTiCl1aWjpcOlt6Xjobyl3qXzCisrpNWko6TrpL8gI1QzMCCl1aWjpeulvworK6TVpKOk66S/obwgI1QzNSCl1aWjpeulv6G8CisrpNWkpqStpKSkpKTzICNUMzUgyfe1qrDRsPcKKyuk1aSmpNakxKS3ICNUMzUgpNWkpqTWpMSktworK6TVpKak8yAjQ0ogpdWhvKXzCisrpNWkpqTzICNDSiCOzI6wjt0KKyuk1aSnpOmhvKTBpOcgI0pOIKXVpael6aG8pcGl5worK6TVpKek6aG8pMGk56TVpKGk36TqobwgI0pOIKXVpael6aG8pcGl56XVpaGl36XqobwKKyuk1aSnpOmkzaG8pOggI0pOIKXVpael6aXNobyl6AorK6TVpKmkpqTJICNUMzUgNHJkCisrpNWkqaTppM2hvKToICNKTiCl1aWppemlzaG8pegKKyuk1aSrpN+kqKSkpKSkwaTtpKYgI0pOIL+8v+Wx0bDsz7oKKyuk1aSrpO+k6qTnpKYgI0pOIKTVpKuk76TqpOekpgorK6TVpK6hvCAjSk4gpdWlrqG8CisrpNWkrqSkICNUMzUgpdWlrqG8CisrpNWkr6S3pOekpiAjSk4gyfu+rQorK6TVpK+kt6TnpKYgI1QzNSDJ+76tCisrpNWkr6S5pKakuaTsICNUMzUgyqO/9KW5pewKKyuk1aSvpLmkpqS5pOykw6TJICNUMzUgyqO/9KW5peylw6XJCisrpNWkr6S5pLEgI1QzNSCjsqO5vfUKKyuk1aSvpOykrSAjVDM1IMqkzvIKKyuk1aSwICNUMzUgss/G2gorK6TVpLCk6qTpobwgI0pOIKXVpbCl6qXpobwKKyuk1aS1pKogI0pOIKXVpbXJ1worK6TVpLWkqiAjSk5NIKTVpLWkqgorK6TVpLWkrqSzICNKTiCl1aW1pa6lsworK6TVpLWkrqSzpLOkpqTcpPKkzqTfpLmkrqS/pNWktaSupLMgI0pOIKXVpbWlrqWzudrK7KTysPuk37LhpK6kv6XVpbWlrqWzCisrpNWktaSupLOk3qTzpMCk8yAjSk4gpdWltaWupbPMocPMCisrpNWkt6SipMqktaTzICNUMzAgZnVzaWFuYXNhbgorK6TVpLekoqTKpLWk86TIpOmkw6TXICNUMzUgZnVzaWFuYXNhbqXIpemlw6XXCisrpNWkuKTnpKYgI1QzMCDJ4r7lCisrpNWkuKTnpLcgI1QzNSDJ5b33u9IKKyuk1aTBpOWkpqSxpKSk4KS3pOcgI0pOIMncw+a3usyzveoKKyuk1aTDpK2k5CAjVDM1IMn8taKysAorK6TVpMOktaG8pOukv6SkpLUgI0pOIKXVpcOltaG8pevC57q0CisrpNWkw6S1pOukyKTTpNWktaS5pLEgI0pOIKXVpcOx7sj0pdWltb31CisrpNWkw6S1pOukyKTTpNWktaS5pLEgI0pOII7Mjq+x7sj0jsyOu731CisrpNWkw6S1pOwgI0pOII7Mjq+Ou47aCisrpNWkyKS5pLEgI0pOTSDCwMrlCisrpNWkyKS5pLEgI1QzNSDCwMrlCisrpNWkyKTepLcgI0pOIKXVpcil3qW3CisrpNWkyKTepLcgI0tZIMLApN6ktworK6TVpMik3qS3pKSku6SkpMggI0pOIMLApN6kt6SkwLjFzAorK6TVpMik3qS3pKSku6SkpMggI0pOIMLApN6kt6SkwLjFzCAKKyuk1aTIpN6kt6SkpN6k6aTpobwgI0pOIMLApN6kt6Skpd6l6aXpobwKKyuk1aTIpN6kt6SkpOKkyqG8ICNKTiDCwKTepLekpKXipcqhvAorK6TVpMmkpqTfpM0gI1QzNSDJ1MawyvYKKyuk1aTLpK8gI1QzNSDJ5cb5CisrpNWk5aSmpLik46TNpKSktqTzICNUMzUgpdWl5aG8pbil46XNpaSltqXzCisrpNWk5aSmpLik46TNpKSkt6TjpPMgI1QzNSCl1aXlobyluKXjpc2lpKW3peOl8worK6TVpOakt6TQpLGk8yAjSk4gxd+8xrikCisrpNWk5qS3pNCksaTzICNUMzUgxd+8xrikCisrpNWk5qTBpOWkpiAjVDM1IMXfv98KKyuk1aTppLCkrKS/ICNUNSCl1aXppbCkrM6pCisrpNWk6aTDpLek5aTepPMgI0pOIKXVpemlw6W3peWl3qXzCisrpNWk6aTDpMikuaTqpKMgI1QzNSCl1aXppcOlyDMKKyuk1aTppPOkuaTRpPMgI1QzNSCl1aXppb2luaXRpfMKKyuk1aTppPOkuaTRpPMgI1QzNSCOzI7Xjr+OvY7Kjt+O3QorK6TVpOqhvKTVpKmhvKTrICNKTiBGUkVFRkFMTAorK6TVpOqkq6SopOqk4qTKpKsgI0pOIL+2pOrK1qTqpeKlyqWrCisrpNWk6qTzpMGk46TzICNUMzUgydTO0aTBpOOk8worK6TVpOukpqGrpKek8yAjSk4gpdWl66X0pael8worK6TVpOukpqGrpKek8yAjVDM1IKXVpeul9KWnpfMKKyuk1aTspMOkxKTtpNwgI0pOIKXVpeylw6XEpe2l3AorK6TWpKQgI0pOICDJ9LDMCisrpNakpCAjSk4gyfCw0gorK6TWpKQgI1QzNSDJ8LDSCisrpNakpCAjVDM1IMn0sMwKKyuk1qSvpN6kryAjVDMwIKXWpa+l3qWvCisrpNaktaSkpLMgI1QzNSCl1qW1paSlsworK6TWpLWk6KSvICNKTiCl1qW1peilrworK6TWpLWk6KSvICNUMzUgpdaltaXopa8KKyuk1qS/ICNKTiDG2gorK6TWpL8gI1QzNSDG2gorK6TWpMEgI1QzNSDevAorK6TWpMGksyAjSk4gpNakwaSzCisrpNakwaSzICNUMzUgpNakwaSzCisrpNakw6SvICNUMzUgpdalw6WvCisrpNakw6SvpN6hvKSvICNUMzAgpdalw6Wvpd6hvKWvCisrpNakw6S3pMQgI1QzNSDKqrzBCisrpNakw6TAICNUMzUgpdalw6XACisrpNakxKTApPMgI1QzNSDKqcPFCisrpNakyaSmpOKkyqG8ICNKTiDJ8sa6peKlyqG8CisrpNakzKS5ICNUMzUgpdalzKW5CisrpNak06TBpOWkpiAjVDM1IKXWpdO/3worK6TWpOikryAjVDM1IKXWpeilrworK6TWpOkgI1QzNSCl1qXpCisrpNak6aSmpLakr6TppMOkt6TjICNUMzUgpdal6aWmpbahvKWvpemlw6W3peMKKyuk1qTppKaktqSvpOmkw6S3pOOhvCAjVDM1IKXWpemlpqW2obylr6XppcOlt6XjobwKKyuk1qTppK+k6SAjVDM1IKXWpemlr6XpCisrpNak6aSvpOkgI1QzNSDJ9M3upOkKKyuk1qTppK+k6aTBpKekw6SrICNUMzUgpdal6aWvpemlwaWnpcOlqworK6TWpOmkr6TppMGkp6TDpKuhvCAjVDM1IKXWpemlr6XppcGlp6XDpauhvAorK6TWpOmkw6SvpNukqqTrICNUMzUgpdal6aXDpa+l26G8pesKKyuk1qTrpKqkvyAjVDM1IKXWpeul8qW/CisrpNak66TJpMOkr6S9obykuSAjS0sgpdal66XJpcOlr6W9obyluQorK6TWpOykpKS6ICNUMzUgzLXO6b/eCisrpNak7KSkpPOkrCAjSk4gpdal7KWkpfOlrAorK6TWpO2hvKTJpNCk86TJpOuhvKS/ICNUMzUgpdal7aG8pcml0KXzpcml66G8pb8KKyuk1qTtobykyaTQpPOkyaTrobykv6G8ICNUMzUgpdal7aG8pcml0KXzpcml66G8pb+hvAorK6TWpO2kw6SvpLkgI1QzNSCk1qTtpMOkr6S5CisrpNekpKS/ICNDTiCl18jECisrpNekpKS/ICNUMzUgpdfIxAorK6TXpLmko6SzICNKTiCk16S5pKO70gorK6TXpMMgI0NKIKTXpMMKKyuk16TDICNDSiCl16XDCisrpNekwyAjQ0ogjsyO346vCisrpNekwyAjSk4gocqhrSxfobWhrqHLjsyO346vCisrpNekwyAjSk4gjsyO346vCisrpNekw6TXpK+k16G8ICNKTiCk16TDpNekr6TXobwKKyuk16TLICNUMzUgpNekyworK6TXpMsgI1QzNSCl16XLCisrpNeky6TrICNUMzUgpdely6XrCisrpNeky6TrpMGk5aSmICNUMzUgpdely6Xrv98KKyuk16TppMqk6qSiICNKTiCl16Xppcql6qWiCisrpNek6qSmpPOksyAjVDM1IKTXpOqkpqTzpLMKKyuk16TqpNek6qTRpMOk0SAjSk4gpdel6qXXpeql0aXDpdEKKyuk16TqpOukyqTppKSk3qTOpKakwSAjQ0ogpdel6qXrpcql6aWkpd6lzqWmpcEKKyuk16TqpOukyqTppKSk3qTOpKakwSAjQ0ogjsyO347YjtmOxY7XjrKOz47JjrOOwQorK6TXpOqk66TKpOmkpKTepM6kpqTBICNKTiCl16XqpeulyqXppaSl3qXOpaalwQorK6TXpOqk66TKpOmkpKTepM6kpqTBICNKTiCOzI7fjtiO2Y7FjteOso7PjsmOs47BCisrpNek6qTzpKKkv6TeICNUMzUgpdel6qXzxqwKKyuk16TrpK6ksyAjSk4gpdel66WupbMKKyuk16TrpOKkyiAjSk4gpdel66XipcoKKyuk16TtpK2kt6StpLukpCAjVDM1IKPQo9Kjz6PYo9m1rMCpCisrpNek7aSvpLcgI1QzNSCl16Xtpa+ltworK6TXpO2kt6TfpPMgI1QzNSCl16Xtu9TMsQorK6TXpO2kuKSnpK+kyKSopMOkr6S5ICNLSyCl16Xtpbilp6Wvpcij2AorK6TXpO2kuKSnpK+kyKSopMOkr6S5ICNUMzUgpdel7aW4paelr6XIWAorK6TXpO2kuKSnpK+kyKSopMOkr6S5ICNUMzUgpdel7aW4paelr6XIo9gKKyuk16TtpLikp6SvpMiksaG8ICNLSyCl16Xtpbilp6WvpcijyworK6TXpO2kuKSnpK+kyKSxobwgI1QzNSCl16Xtpbilp6WvpcijyworK6TXpO2kuKSnpK+kyKSxpKggI1QzNSCl16Xtpbilp6WvpchLCisrpNek7aTQpKyk86TApLOkpiAjVDM1IKXXpe2l0aWspfOlwLm7CisrpNek7aTRpKyk86TApL+k76SiICNUMzUgpdel7aXRpayl86XApb+l76G8CisrpNihvKTipMqhvCAjSk4gpNihvKXipcqhvAorK6TYpKSkoqTzICNKTiDKv7DCCisrpNikpKSipPMgI1QzNSDKv7DCCisrpNikpKS1pLukxCAjVDM1IMrEur/A4gorK6TYpKekqCAjQ0ogKKGtjqWiz46lYCmk2KSnobwKKyuk2KSnpKggI0NKIKTYpKehwQorK6TYpKikqKStpN+k6aSkpMCkoqTLpMqkw6S/pNCkw6SrpOqkyqTzpMAgI0NKIKTYpKihvLevpemlpKXAobyky6TKpMOkv6TQpMOkq6TqpMqk86TACisrpNiksyAjVDM1ILH6CisrpNikxKSwICNDSiA+PqH7ofuk2LnwpLAKKyuk2KTKpK4gI0pOUyCk2KTKpK4KKyuk2KTKpK4gI1QzNSCk2KTKpK4KKyuk2KTOpNikzqTipNikuCAjSk4gpNikzqTYpM6k4qTYpLgKKyuk2KTcpPMgI1QzNSCk2KTcpPMKKyuk2KTzpMqkpqS/ICNUMzUgytGkyrLOCisrpNmkw6S9pKYgI1QzNSDKzMHxCisrpNmk06S3pKMgI0pOIKXZpdOkt6SjCisrpNmk66TApPOkx6SjobykoqTppLcgI0pOIKXZpeulwKXzpcelo6G8udOk6aS3CisrpNmk7KTipOkgI0pOIKXZpeyl4qXpCisrpNmk86StICNUMzUgyti07worK6TZpPOkuKTnpM6k6aSvpKykrSAjVDM1IMrYveqkzs3uvfGkrQorK6TZpPOkvKTzpKuk8yAjSk4gpdml86W8pfO0xAorK6TaobykuKTTpOWhvCAjVDM1IKXaobyluKXTpeWhvAorK6TapLGk0KSzICNUMzUgpdqlsciiCisrpNqksaTcpMOkr6S5ICNUMzUgpdqlsaXcpcOlr6W5CisrpNqks6TqICNDSiCk2qSzpOoKKyuk2qTDICNDSiCk2qTDCisrpNqkw6TIICNUMzUgpdqlw6XICisrpNqkw6TIpNykyKTrICNUMzUgpdqlw6XIpdylyKXrCisrpNqkySAjVDM1IKXapckKKyuk2qTJpNWko6TqpKIgI1QzNSCk2qTJpNWko6TqpKIKKyuk2qTJpNWko6TqpKIgI1QzNSCl2qXJpdWlo6XqpaIKKyuk2qTkpPOksCAjSk4gpdql5KXzpbAKKyuk2qTkpPOksCAjVDM1IKXapeSl86WwCisrpNqk6qSrICNUMzUgpdql6qWrCisrpNuhvKS5pK+k6aTDpLek46G8ICNKTiCl26G8pbmlr6XppcOlt6XjobwKKyuk26G8pLmkr6TppMOkt6TjobwgI1QzNSCl26G8pbmlr6XppcOlt6XjobwKKyuk26SlICNKTiChyo7fovKO36HLCisrpNukpSAjSk4gjs6OqQorK6TbpKYgI1QzNSDLpAorK6TbpKakqKSkpNWk86SopPOk7aSvICNUMzUgyvWxysqusezPvQorK6TbpKaksaSkICNDTiDK8bfUCisrpNukpqSxpKQgI1QzNSDK8bfUCisrpNukpqS4pOekpqTipMqk6yAjSk4gy8zb6qXipcql6worK6TbpKakuaSvpOmkw6S3pOOkoiAjVDM1IKXbobyluaWvpemlw6W3peOhvAorK6TbpKakvaSvpKukpKTSICNUMzUgy6HCp7LzyPIKKyuk26SmpMEgI1QzMCDK/MPWCisrpNukpqTGpKQgI0pOIMuhxO4KKyuk26SrpPMgI1QzMCDK3bTJCisrpNukr6TIpLek86SxpPOkx6TkpOmk7KTrpOKkyqG8ICNKTiDLzMXNv8C3/aTHu6ak6aTspOul4qXKobwKKyuk26SvpNukr6S1pMSktaTEICNDTiDLzMvMu6W7pQorK6TbpK+k26SvpLWkxKS1pMQgI1QzNSDLzMvMu6W7pQorK6TbpLCkwKSkICNUMzUgpNuksKTApKQKKyuk26S3ICNUMzUgwLEKKyuk26S3pK+k8yAjSk4gofmkr6TzCisrpNukt6TlICNUMzAgyt286QorK6TbpLek5aTPpKKk6aS3ICNDSiDK3bzppM+506TppLcKKyuk26S5pKMgI0NKIKXbpbmlo6GmoaahpgorK6TbpLmkoyAjQ0ogjs6OvY6ojqWOpY6lCisrpNukuaSjICNKTiCl26W5paMKKyuk26S8pPMgI1QzMCDK3cG0CisrpNukw6S1pO8gI1QzNSDKp8L0CisrpNukw6TIpL6kzCAjS0sgpdulw6XIpb6lzAorK6TbpMOkyKS+pMwgI1QzNSCl26XDpcilvqXMCisrpNukzSAjSk4gufyhoQorK6TbpM2kqqSmICNUMzUgufyypgorK6TbpM6kqqTOpLOk3iAjVDM1ILHqpM6ls6XeCisrpNuk4KSmpOmk8yAjVDM1IKXbpeChvKXppfMKKyuk26TgpKak6aTzpKakv6TspMYgI0NKIKXbpeChvKXppfPCx6S/pOykxqHECisrpNuk4aTRpLIgI1QzNSCl26XhpdGlsgorK6TbpOmk6CAjQ0ogpNuk6aToCisrpNuk76SkpMik2aG8pLmkq6TzpK2k56SmICNKTiCl26XvpaSlyKXZobylubTPtrYKKyuk26TzICNUMzUgy9wKKyuk26TzpLGkyqSwICNKTiDL3LLIpMqksAorK6TbpPOkt6TEICNUMzUgy9y8wQorK6TbpPOkuaTsICNUMzUgy9yluaXsCisrpNuk86S5pOyktaTzpK2k56SmpMCkpCAjSk4gy9yluaXsu7C3u8TvCisrpNuk86S5pOykzqTPpL8gI0pOIMvcpbml7KTOtPoKKyuk3KG8pMmkpKTBpOmk8yAjVDM1IKXcobylybDszfcKKyuk3KSmICNUMzUgy7wKKyuk3KSmpMAgI1QzNSDLwMLMCisrpNykpqThpKQgI1QzNSDLtMy/CisrpNykqqTrpLogI0pOIKXcobyl66W6CisrpNykraTzICNUMzAgpNykraTzCisrpNykr6SqpPOkyiAjVDM1IMvNvfcKKyuk3KSvpMGk86SrpO+kpKTBpOWkrqTApO+k8yAjSk4gpNykr6TBpPOhoqSrpO+kpKTBpOWkrqTApe+l86GqCisrpNykr6TIpKYgI0pOIMzaxeEKKyuk3KSvpMikpiAjVDM1IMzaxeEKKyuk3KSvpM6koqTEpLOkv6TzICNKTiDLzaTOpKKkxKSzpL+k86GqCisrpNykr6TOpKKkxKSzpL+k8yAjSk4gy82kzqSipMSks6S/pPOhqqGzKKGtobxgKY7JCisrpNykr6TOpLOkpqTipPOk4qTYpKSktaS1pOykvaSmpMekuSAjQ0ogpdylr6TO5urM56TiysS6v6S1pOykvaSmpMekuQorK6TcpLGkpyAjQ0ogpdylsaWnCisrpNyksyAjUjUgsfoKKyuk3KTAICNUMzUgyujCzAorK6TcpMOkraSipLIgI0pOIKGzKGCnpaGtKaXOpdylw6WtpaKlsgorK6TcpMOkraSipLIgI0pOIKGzKGCnpaGtKY7Jjs6O3o6vjreOsY65jt4KKyuk3KTDpK2koqSyICNKTiCl3KXDpa2loqWyIAorK6TcpMOkraSipLIgI0pOII7Ojt6Or463jrGOuY7eIAorK6TcpMOkraSipLIgI1QzNSCl3KXDpa2loqWyCisrpNykw6StpMak86S3ICNUMzUgy9a1r8W3u8gKKyuk3KTDpK2kyaTppKik4qTzICNKTiCk3KTDpK2lyaXppKik4qTzoaEKKyuk3KTDpLek5aG8pMggI0pOIKXcpcOlt6XlobylyAorK6TcpMeko6SkpLqk06SkpMggI1QzNSCl3KXHpaOhvKW6pdOhvKXICisrpNyk3KTzICNUMzUgpdzL3worK6TcpNyk8yAjVDM1IMvQpdyhvKXzCisrpNyk3KTzICNUMzUgy9Cl3KXzCisrpNyk3KTzpLmk7CAjVDM1IKXcpdyl86W5pewKKyuk3KTfpOekpiAjQ0ogpNyk36TnobwKKyuk3KTfpOekpiAjVDM1IKTcpN+k56G8CisrpNyk66S4pOekoiAjSk4gpNyk66S4pOekoqKheUJFbmNja0ZPVQorK6TcpPOkr6TppLkgI1QzNSCl3KXzpa+l6aW5CisrpNyk86S1pKQgI1QzNSDL37rPCisrpNyk86S1pKSku6TzpLukpCAjVDM1IMvfus/A6MC4CisrpNyk86TBpOWkpiAjVDM1IMvfv98KKyuk3SAjQ0ogpN0KKyuk3aG8pKuk8yAjSk4gocqh+7j9ofsqocuOzo7fjrCOto7dCisrpN2hvKSrpPMgI0pOIKXdobylq6XzCisrpN2hvKTrpN6k8yAjSk4gpd2hvKXrpd6l8worK6TdpKIgI1QzNSCl3aWiCisrpN2kpKS6pPMgI1QzNSCl3aWkpbql8worK6TdpKSkuqTzpLmk7CAjVDM1IKXdpaSluqXzpbml7AorK6TdpKikv6TzICNKTiCl3aWopL+k8worK6TdpKikv6TzICNUMzUgpd2lqKS/pPMKKyuk3aSrobyk8yAjQ0ogKKGsp9WhrCml3aWrobyl8worK6TdpKuhvKTzICNDSiAojt+n1Y7fKY7Ojt+Oto6wjt0KKyuk3aSrobyk8yAjQ0ogpd2lq6G8pfMKKyuk3aSrobyk8yAjQ0ogjs6O3462jrCO3QorK6TdpKuhvKTzICNKTiAojt+n1Y7fKY7Ojt+Oto6wjt0KKyuk3aSrobyk8yAjSk4gpd2lq6G8pfMKKyuk3aSrobyk8yAjSk4gjs6O3462jrCO3QorK6TdpLOhvKTqICNDSiCl3aWzobyl6gorK6TdpLOhvKTqICNDSiCOzo7fjrqOsI7YCisrpN2kuaTIpLWk8yAjSk4gpd2luaXIpLWk8worK6TdpMOk3SAjSk4gpN2kw6TdCisrpN2kw6TdICNKTiCl3aXDpd0KKyuk3aTDpN0gI1QzNSCk3aTDpN0KKyuk3aTDpN0gI1QzNSCl3aXDpd0KKyuk3aTqpLSk86TipMqhvCAjSk4goaGhoaGhpd2l6qW0pfOl4qXKobwKKyuk3aTqpLSk86TipMqhvCAjSk4gpd2l6qW0pfOl4qXKobwKKyuk3aTrpMikrKTrpLQgI1QzNSDJ8sa6sue47AorK6TdpOwgI1QzNSCl3aXsCisrpN2k86StpPOkq6TzICNDTiCl3aXzpa2l86WrpfMKKyuk3aTzpK2k86SrpPMgI1QzNSCl3aXzpa2l86WrpfMKKyuk3aTzpMCkpCAjQ04gpd2l88LnCisrpN2k86TApKQgI1QzNSCl3aXzwucKKyuk3aTzpNCktyAjQ04gpd2l87a2CisrpN2k86TQpLcgI1QzNSCl3aXztrYKKyuk3iAjSk4gy+IKKyuk3iAjVDM1IMviCisrpN6hvKSspOykw6TIpKKk86TJpNWk6aTzpL2k7yAjSk4gpd6hvKWspeylw6XIofWl1aXppfOlvaXvCisrpN6hvKS3obwgI0pOIKXeobylt6G8CisrpN6hvKS6pOQgI0pOIKPNo8Gj0qPTsrAKKyuk3qG8pMEgI0tLIKXeobylwQorK6TepKGkpqGrpLWksiAjVDM1IKGzKGCnpaGtKaXOpd6loaX0pbWlsgorK6TepKGkpqGrpLWksiAjVDM1IKGzKGCnpaGtKY7Jjs+Op46zjt6Ou465jt4KKyuk3qSipKqkwaTEpLEgI0NKIKTepKLN7qTBw+WksQorK6TepKKkqqTzpL+kpKTApLcgI0NKIKTepKK45sLnpMCktworK6TepKKkwSAjVDM1IKXeobylwQorK6TepKSkpqG8ICNUMzUgpd6lpKWmobwKKyuk3qSkpK6k56SvICNUMzUgo82j+bbMCisrpN6kpKSvpL2kvaTVpMggI1QzNSCl3qWkyrWlvaXVpcgKKyuk3qSkpL8gI0NOIKXeyMQKKyuk3qSkpL8gI1QzNSCl3sjECisrpN6kpKS/pPOk2qTzpK6k8yAjSk4gpN6kpKS/pPOl2qXzpa6l8worK6TepKSky6TDpMEgI0pOIKXepaSly6XDpcGhoQorK6TepKSk06SkpOAgI1QzNSCl3qWkpdOhvKXgCisrpN6kpKTzpMmkr6TppMOkt6TjpKIgI1QzNSCl3qWkpfOlyaWvpemlw6W3peOhvAorK6TepKYgI0pOIKXepaYKKyuk3qSmICNUMzUgpd6lpgorK6TepKakuaTRpMOkyCAjVDM1IKXepaaluaXRpcOlyAorK6TepKikuaTsICNUMzUgwbCluaXsCisrpN6kqKTApLGkpKS4ICNKTiDBsMXEt8S8oQorK6TepKqhvCAjSk4gpd6lqqG8CisrpN6kqqSmpOKkyqTVpKGhvCAjSk4gy+KypqXipcql1aWhobwKKyuk3qSrobwgI1QzNSCl3qWrobwKKyuk3qSrpKIgI1QzNSCl3qWrobwKKyuk3qSrpKQgI1QzNSDL4rOmCisrpN6kq6TEICNLNSCk3qSrpMQKKyuk3qSrpMSkr6TDpMakpKSmpKukraTipKQgI0NKIKTepKukxKSvpMOkxqSkpKakq6WtpeKlpAorK6TepK2ksyAjSk5NIKXepa2lsworK6TepK2ksyAjSk5NIMvitbS70gorK6TepK2ksyAjVDM1IKXepa2lsworK6TepK2ksyAjVDM1IMvitbS70gorK6TepK2kzqTrpK0gI0pOIMvSzO7OscmxCisrpN6ksKTepLAgI0tLIKTepLCk3qSwCisrpN6ksKTtICNUMzUgy+4KKyuk3qSxpKSkzCAjVDM1IMnppLG4pAorK6TepLOkxCAjVDM1IMviufwKKyuk3qSzpMggI0pOIL+/CisrpN6ks6TUobwgI0pOIKTepLOk1KG8CisrpN6ks6TUobwgI1QzNSCk3qSzpNShvAorK6TepLOk1KSkICNUMzUgpN6ks6TUobwKKyuk3qSzpNSkuaTIICNUMzUgpN6ks6TUpLmkyAorK6TepLWkqiAjSk5NIKTepLWkqgorK6TepLWkqiAjSk5NIKXepbWlqgorK6TepLWkqiAjSk5NIMC1w8sKKyuk3qS1pKogI1QzNSCk3qS1pKoKKyuk3qS1pKogI1QzNSCl3qW1paoKKyuk3qS1pKogI1QzNSDAtcPLCisrpN6ktaTgpM2hvKTopKukw6SzpKako6S6pMqkqKTKpKSk76TIpLikq6TDpLMgI0pOIKXepbWl4KXNobyl6KHKd2l0aKGhpcqlqKXKpaSl76HLCisrpN6ktaTkICNKTk0gpd6ltaXkCisrpN6ktaTkICNUMzUgpd6ltaXkCisrpN6ktaTopLcgI0pOTSDAtbXBCisrpN6kt6G8pNYgI1QzNSCl3qW3obyl1gorK6TepLekpKTWICNUMzUgpd6lt6G8pdYKKyuk3qS3pOqkyCAjSk4gpd6lt6XqpcgKKyuk3qS3pOqkyCAjVDM1IKXepbel6qXICisrpN6kt6TzpKSk6aTNpKSkwKG8ICNKTiCl3qW3pfOlpKXppc2lpKXAobwKKyuk3qS3pPOktaTzICNDSiCk3qS3pPOktaTzoaahpqGmCisrpN6kuKThpMCkyqG8ICNKTiCl3qW4peGlwKXKobwKKyuk3qS4pOykuSAjVDMwIKXepbil7KW5CisrpN6kuKTspLmk3qTzICNKTiCl3qW4peyluaXepfMKKyuk3qS4pPKkvyAjVDM1IKXepbil8qW/CisrpN6kuaSqICNKTk0gpd6luaWqCisrpN6kuaSqICNUMzUgpd6luaWqCisrpN6kuaS0pN8gI1QzNSCl3qW5pbSl3worK6TepLmkvyAjU1VDIKTepLmkvworK6TepLmkv6G8pKSkxKTipM6kv6TOpOAgI0NKIKXepbmlv6G8oaKkpKTEpOKkzqS/pM6k4AorK6TepLqkpiAjQ0ogpd6luqG8CisrpN6kuqSmICNDSiCOz469jt6OsAorK6TepLqkuKTlobwgI1QzNSCk3qS6pbil5aG8CisrpN6kvaSzICNUMzUgpd6lvaWzCisrpN6kvyAjQ0ogpN6kv6GpCisrpN6kv6G8pOogI1QzMCCl3qW/obyl6gorK6TepL+hvKTqICNUMzAgpd6lv6HBpeoKKyuk3qS/obyk6qStpOOk6aSupOOkr6S1pMSkyKSmICNLSyCl3qW/obyl6qWtpeOl6bXUu6bF3gorK6TepL+hvKTqpK2k46TppK6k46SvpLWkxKTIpKakoqTppLcgI0pOIKXepb+hvKXqpa2l46XptdS7psXeudOk6aS3CisrpN6kv6G8pOqkraTjpOmkrqTjpK+ktaTEpMikpqS9pKakuaSkICNKTiCl3qW/obyl6qWtpeOl6bXUu6bF3sHtv+MKKyuk3qS/obyk6qS0pKYgI0pOIE1BVEFBUkm55gorK6TepL+hvKTqpMqk5KS3pOekr6TypMSkr6TtpKYgI0pOIKXeobylv6XqpMrM67+ppPK67qTtpKYKKyuk3qS/obyk6qThpMCk6yAjSk4gpd6lv6G8peql4aXApesKKyuk3qS/obyk6qThpMCk6yAjSk4gjs+OwI6wjtiO0o7Ajt6O2QorK6TepL+koqTqpLmk7CAjVDM1IKXepb+hvKXqpbml7AorK6TepL+koqTqpMGk5aSmICNUMzUgpd6lv6G8peq/3worK6TepL+kqqSqpLWkq6SrICNDSiCk3qS/wue65aSrCisrpN6kv6SqpKqktaSrpOQgI0NKIKTepL/C57rlpOQKKyuk3qS/pMqkrKS/pLmk7KSrICNDSiCk3qS/scrFxKW5peykqworK6TepMCk4CAjSk4gpd6lwKXgCisrpN6kwaTTobyk06G8pKikuSAjS0sgpN6kwUJCUworK6TepMGk06SkpNOkpKSopLkgI1QzNSCk3qTBQkJTCisrpN6kw6S/pOogI1QzMCAgpd6lw6W/peoKKyuk3qTDpL+k6iAjVDMwIKTepMOkv6TqCisrpN6kw6TBpOek4qTKobwgI0pOIKXepcOlwaXnpeKlyqG8CisrpN6kxKSkICNUMzUgvr6w5gorK6TepMSkv6SxpLMgI0pOIL6+pL+ksbvSCisrpN6kxKTApKSk6SAjVDM1IL6+yr8KKyuk3qTEpMCkv6SrpMggI0pOIL6+xcS3vL/NCisrpN6kxKTqICNUMzUgutek6gorK6TepMSk6qSipK2kvyAjSk4gutek6suwpK2kvworK6TepMSk6qTApMikxKSypK2kwCAjSk4gutek6qTAovbGzbfipMChqgorK6TepMUgI1QzNSCl3qXFCisrpN6kyKTQpNWk36SqICNKTiDFqr7syrjDyworK6TepMmkqyAjVDM1IKXepcmlqworK6TepMmkxKSrpKQgI1QzNSDB67vIpKQKKyuk3qTLobwgI0pOIKXepcuhvKGhCisrpN6ky6G8pK+k3qTDpLek5aTrobyk4CAjSk4gpd6ly6G8pa+l3qXDpbel5aXrobyl4AorK6TepMuhvKSvpN6kw6S3pOWk66G8pOAgI0pOIKXepcuhvKWvpd6lw6W3peWl66G8peAgCisrpN6k0qSjpKIgI0pOIKXepdKlo6WiCisrpN6k0qSjpKIgI0pOII7PjsuOqI6xCisrpN6k0qSjpKIgI1QzNSCl3qXSpaOlogorK6TepNKko6SipKOk56SlICNKTiCl3qXSpaOloqSjpOekpQorK6TepNKko6SipKOk56SlICNKTiCOz47LjqiOsaSjpOekpQorK6TepNukpqTEpKukpCAjVDM1IMviy6G7yKSkCisrpN6k3KTzICNUMzUgy/Wl3KG8pfMKKyuk3qTcpPMgI1QzNSDL9aXcpfMKKyuk3qTdobyk6SAjQ0ogpd6l3aG8pekKKyuk3qTeICNDSiChyqGtp9WhrqHLpd6l3qGmoaahpgorK6TepN4gI0NKIKHKoa2n1aGuocuOz47PoaahpqGmCisrpN6k3iAjSk4gocqhrafVoa6hy6Xepd6hpqGmoaYKKyuk3qTeICNKTiChyqGtp9WhrqHLjs+Oz6GmoaahpgorK6TepN6ktKTzICNUMzUgpd6l3qW0pfMKKyuk3qTepOKkyqG8pLukpKTBpOekpqS6ICNKTiCl3qXepeKlyqG8wK7Eub/eCisrpN6k3qTzICNKTiCl3qXepfMKKyuk3qTepPMgI1QzNSCl3qXepfMKKyuk3qTgpLMgI1QzNSCl3qXgpbMKKyuk3qThICNUMzUgxqYKKyuk3qTppKSkoqTzICNKTiCl3qXppaSloqXzCisrpN6k6aS5pL+hvCAjSk4gpd6l6aGmpbmlv6G8CisrpN6k6aTNobyk6CAjSk4gpd6l6aXNobyl6AorK6TepOmk3KSmICNKTiCl3qXpy7cKKyuk3qTppN8gI0pOIKXepenI/gorK6TepOmk6aG8ICNKTiCl3qXppemhvAorK6TepOmk6aG8pMCk86S1obykuiAjSk4gpd6l6aXpobylwKXzpbWhvKW6CisrpN6k6aTppMmkziAjSk4gpd6l6aXpxcIKKyuk3qTppOqhvKTepPMgI0pOIKXepeml6qG8pd6l8worK6TepOqk4iAjSk4g3dzB9AorK6TepOqk4iAjVDM1IKTepOqk4gorK6TepOukpKSxpKQgI1QzNSC03bDmt88KKyuk3qTrpLmk5CAjSk4go82jwaPSo9OysAorK6TepOukwSAjSk4gpd6l66XBCisrpN6k66TBICNUMzUgpd6l66XBCisrpN6k66TBpN2kuaTIICNUMzAgpd6l66XBpd2luaXICisrpN6k66TfICNKTiCx38j+CisrpN6k66TfpN+k4qTKobwgI0pOILTdvKql4qXKobwKKyuk3qTtpPMgI1QzNSCl3qXtpfMKKyuk3qTvpLekrqSzICNKTiCk3qTvpLelrqWzCisrpN6k8yAjVDM1IMv+CisrpN6k86SkpPOkx6TzpLek4yAjSk4gy/6w98XFvNYKKyuk3qTzpKykzaS/pLmk7CAjVDM1IMyhsuilzaW/pbml7AorK6TepPOkraTzpKiksKS8ICNUMzUgpd6l86WtpfNFWEUKKyuk3qTzpK6k46TrICNUMzUgpd6l86WupeOl6worK6TepPOkuqTqICNUMzUg0sSluqXqCisrpN6k86S7obwgI0NKIKXepfOlu6G8CisrpN6k86S7obyk4aG8pL+hvCAjVDM1IKXepfOlu6G8peGhvKW/obwKKyuk3qTzpLukqKThpKikv6SiICNUMzUgpd6l86W7obyl4aG8pb+hvAorK6TepPOkyaSvpLukqCAjQ0ogpd6l86XJpa+lu6G8CisrpN6k86TcpKYgI0pOIKXepfOl3KWmCisrpN+hvKTIpNyhvKTrICNKTiCl36G8pcil3KG8pesKKyuk36SkpMuk46SipL+k8yAjVDM1IKXfobzG86Xjobykv6TzCisrpN+kpqTKICNKTiCk36SmpMoKKyuk36SrpKsgI0tLIKTfpKukqworK6TfpKukqyAjVDM1IKTfpKukqworK6TfpKukyaSipPMgI0pOIKTfpKukybDDCisrpN+kq6TJpKKk86TKpKSk1iAjSk4gpN+kq6TJsMPG4sn0CisrpN+kraG8pKogI0pOIKXfpa2hvKWqCisrpN+krqTGpMekq6StpN6kt6S/ICNDSiCxprzqpMe98aStpN6kt6S/CisrpN+krqTSpLIgI1QzNSCxpqTSpLIKKyuk36SzpN+ks6TKpKKkuSAjS0sg1uC996TfpLOlyqG8pbkKKyuk36S1pKukq6SqpOogI1QzNSDI/rrkueHOpAorK6TfpLek46TipMqhvCAjSk4gyP6806XipcqhvAorK6TfpLek56SvpK+k8yAjVDM1IMykv6m3rworK6TfpLmkuqTipMqhvCAjSk4gtNHO66XipcqhvAorK6TfpLmkv6G8pNukpSAjSk4gTXIujs6OqQorK6TfpLqktKTqpOkgI0pOIL/lpbSl6qXpCisrpN+kuqS0pOqk6SAjVDM1IL/lpbSl6qXpCisrpN+kvqTNpLqk3yAjSk4gucLBzQorK6TfpL6kzaS6pN8gI1QzNSC5wsHNCisrpN+kv6TppKSk0qTtpK0gI1QzNSC45rzqwPbK2LTvCisrpN+kwaTlICNKTiAoKictJyopCisrpN+kwaTlICNKTiCk36TBpOUKKyuk36TDpLehvCAjSk4gpN+kw6S3obwKKyuk36TDpLehvCAjVDM1IKTfpMOkt6G8CisrpN+kw6S3pKQgI1QzNSCk36TDpLehvAorK6TfpMOk1aSjobykqqTkpLMgI0pOIKXfpcOl1aWjoby/xrvSCisrpN+kxKS0pO0gI1QzNSCjs6Oyo7WjtgorK6TfpMSk3yAjVDM1IKOzo7KjsworK6TfpMSk36TipMqhvCAjSk4go7OjsqOzpeKlyqG8CisrpN+kyaTNpKggI1QzNSCl36XJsLkKKyuk36TJpOqkrKSopOsgI1QzNSDO0LO/CisrpN+kyqG8ICNKTiCl36XKobwKKyuk36TKpLukyqTmpK0gI0pOIL/lwKXMvsDjCisrpN+kyqS7pMqk5qStICNUMzUgv+XApcy+wOMKKyuk36TKpMWkraS4pOekpqTbpKak2qG8pLggI0tLIL/lzLW37r7wyvOl2qG8pbgKKyuk36TKpN2k8yAjVDM1IKTfpMqk3aTzCisrpN+kyqTfpMGk56TzICNUMzUgxu6lwaXnpfMKKyuk36TKpN+k4qTqpN6kwSAjS0sgxu6/ucSuCisrpN+kyqTfpOKk6qTepMEgI1QzNSDG7r+5xK4KKyuk36TKpOKkyCAjVDM1IKXfpcqk4qTICisrpN+kyqTipMiktaTzICNKTiC4u6S1pPMKKyuk36TLpK6ksyAjSk4gpd+ly6WupbMKKyuk36TLpOKk6SAjSk4gpd+ly6XipekKKyuk36TOpO8gI1QzNSDMp87YCisrpN+k36S6pOSktaTzICNUMzUgpd+l36W6srCktaTzCisrpN+k36TKpLek4qTKobwgI0pOILyqpMqkt6XipcqhvAorK6TfpOCk6SAjSk5TILuwwrwKKyuk36TgpOkgI1QzNSC7sMK8CisrpN+k46SipMCkpCAjVDM1IKTfpOOhwcLnCisrpN+k46TDpK8gI0pOIKXfpeOlw6WvCisrpN+k56SlICNKTiCk36TnpKUKKyuk36TopKYgI0pOIKTfpOekpQorK6TfpOmkpKTLpMOkrSAjVDM1IMykzejG/LWtCisrpN+k66SvpKuk1aSnICNUMzUgpd+l66Wvpaul1aWnCisrpN+k86TJICNUMzUgzLHF2QorK6TfpPOkyqG8pKqkwaSxpMShvCAjSk4gpN+k86TKobykqqTBpLGkxKG8CisrpN+k86TKpKuk6aTOpKqkzaSspKQgI1QzNSCk36TzpMqkq6TppM6kqqTNpKykpAorK6TgpKSkvyAjQ04gpeDIxAorK6TgpKUgI0pOIKTgpKUKKyuk4KSrobykxyAjSk4gpeClq6G8pccKKyuk4KSrpMSkr6TNpPMgI0pOIKXgpaukxKSvx7AKKyuk4KSupOWhvCAjSk4gpeClrqXlobwKKyuk4KSxpOmhvCAjSk4gpeClsaXpobwKKyuk4KS3pKuktCAjVDM1IMPu5MYKKyuk4KS3pNChvCAjSk4gpeClt6XQobwKKyuk4KS3pOWkpiAjVDM1IMy1va0KKyuk4KS3pOekryAjVDM1IMy1v6YKKyuk4KS4pOuktyAjVDM1IMy1sPUKKyuk4KS5obyky6TnICNKTiCl4KW5obyly6XnCisrpOCkuaSrICNUMzUgpeCluaWrCisrpOCkw6SvICNKTiCl4KXDpa8KKyuk4KTNpKogI0pOTSCl4KXNpaoKKyuk4KTNpKogI1QzNSCl4KXNpaoKKyuk4KTNpKqkz6SmpLkgI1QzNSCl4KXNpaqlz6WmpbkKKyuk4KTNpPIgI0pOIKXgpc2l8gorK6TgpM2k8iAjSk5NIKXgpc2l8gorK6TgpM2k8iAjVDM1IKXgpc2l8gorK6TgpM+koSAjSk4gocqO36eljt+hoaHLpeClz6WhCisrpOCkz6ShICNKTiCl4KXPpaEKKyuk4KTppLWkrSAjSk4gu+cKKyuk4KTppLWkrSAjVDM1ILvnCisrpOCk6aS1pK2kwCAjQ0ogu+ekwAorK6TgpOmkzqS3pPOk3KTrICNKTiDCvKTOpbel86XcpesKKyuk4KTqpMChvKToICNKTiCl4KXqpcChvKXoCisrpOCk6qTAobyk6CAjSk4gjtGO2I7Ajt6OsI7WCisrpOGhvKTrpNyk4CAjVDM1IKXhobyl66XcpeAKKyuk4aSipOqkoyAjVDM1IKXhpaKl6qWjoaKhuqWipeqloworK6ThpKKk6qSjpM6kzaTEpL6kpqTspLkgI1QzNSCl4aWipeqlo6TO2dTCpKXspbmhoqG6paKl6qWjpM7Z1MKkpeyluQorK6ThpKSkuCAjQ04gzMC8oworK6ThpKSkuCAjVDM1IK3tCisrpOGkpKS5pOwgI1QzNSDMvqW5pewKKyuk4aSkpLmk7KTOpKqkq6TzICNDSiDMvqW5peykzrCttKgKKyuk4aSkpLmk7KTOpOikq6TzICNDSiDMvqW5peykzs29tLYKKyuk4aSkpMakxCAjVDM1IMzCxbQKKyuk4aSkpMyk7KTOpOikq6TzICNDSiCzxqXMpeykzsy3tLYKKyuk4aSkpNek66S3pO2kw6TXICNUMzUgTWFwbGVTeXJ1cAorK6ThpKSk6KTYpPOkuKTnpKYgI0NKIMy+zcDK1r7lCisrpOGkpKTrpNyk4CAjVDM1IKXhobyl66XcpeAKKyuk4aSopMak66S5pOwgI1QzNSCl4aG8pcal66W5pewKKyuk4aSrobwgI0pOII7SjraOsAorK6ThpKukpKTopKYgI0pOIKXhpauko6TnpKUKKyuk4aSrpKak3qG8ICNKTiCO0o62jrOOz46wocqO0o62jrChyworK6ThpKukqqTIpL+ksSAjSk4gpeGlq1rJ8AorK6ThpKukqqTLpK6k6iAjSk4gpeGlq6SqpMukrqTqCisrpOGkq6SrpOGk4qTKobwgI0pOIKXhpaulq6XhpeKlyqG8CisrpOGkq6SupLMgI0pOIKXhpaulrqWzCisrpOGkq6SypOmk6aG8ICNKTiCl4aWrpbKl6aXpobwKKyuk4aSrpLek6aTNobyk6CAjSk4gpeGlq6W3pemlzaG8pegKKyuk4aSrpLikqKTzICNKTiBboaa7rqGmoaddCisrpOGkq6S4pKik8yAjSk4gjtKOto68jt6OtI7dCisrpOGkq6S7pKSkyCAjSk4gpeGlq8C4xcwKKyuk4aSrpL2kpqTHpOKkyqSkpOggI0pOIKXhpaukvaSmpMek4qTKpKSk6AorK6ThpKukvaTppM2hvKToICNKTiCl4aWrpb2l6aXNobyl6AorK6ThpKukvqTMICNKTiCl4aWrpL6kzAorK6ThpKukyKSxpM2hvKToICNKTiBbOo7fL3yO3zpdjsSOuY7IjrCO1gorK6ThpKukyKSxpM2hvKToICNKTiCl4aWrpcilsaXNobyl6AorK6ThpKuk1aSnpOmhvKTBpOcgI0pOIKXhpaul1aWnpemhvKXBpecKKyuk4aSrpOKkpqSzpM2kp6ToICNKTiCl4aWrjtOOs466jsiOqo7WIQorK6ThpKuk4qTKobwgI0pOIKXhpaul4qXKobwKKyuk4aSspKik6yAjSk4gpeGlrKWopesKKyuk4aSspNMgI0tLIKXhpayl0worK6ThpKyk0yAjVDM1IKXhpayl0worK6ThpKyk3yAjVDM1IL33v8AKKyuk4aSupM6krKTHICNKTiCl4aGmpa6lzqWsoaalxworK6ThpLEgI1QzNSCk4aSxCisrpOGksaTDICNUMzUgpOGksaTDCisrpOGksaTypN+kyKThpOsgI0NKIKThpLGk8senpOGk6worK6ThpLekwKSkICNUMzUgpOGkt8LnCisrpOGkuaTWpL8gI1QzNSC788baCisrpOGkvaTQobwgI1QzNSCl4aW9pdChvAorK6ThpL2k0KSiICNUMzUgpeGlvaXQobwKKyuk4aS+pLek46G8pOqhvCAjS0sgpeGlvqW3peOhvKXqobwKKyuk4aS+pLek46G8pOqhvCAjVDM1IKXhpb6lt6Xjobyl6qG8CisrpOGkvqS3pOOkoqTqpKQgI1QzNSCl4aW+pbel46G8peqhvAorK6ThpL+k6qSrICNUMzUgpeGlv6XqpasKKyuk4aS/pOqkw6SvICNLSyCk4aS/pOqkw6SvCisrpOGkwKTeICNUMzUgzNy2zAorK6ThpMekxqG8pOggI0pOIKXhpcelxqG8pegKKyuk4aTKpLcgI0pOIMzcpMqktworK6ThpOCk0KG8ICNUMzUgpeGl4KXQobwKKyuk4aTipOmhvCAjSk4gpeGl4qXpobwKKyuk4aTqpLGk86TGpPOkt6S1pOkgI0pOIKXhpeqlsaXzxbe7yKH5pbWl6aGqCisrpOGk6qTrpLeko6TrpNChvKTQobyksCAjSk4gpeGl6qXroaakt6Sjpeul0KG8pdChvKWwCisrpOGk66TYpPMgI1QzNSCl4aXrpdil8worK6ThpOuk2KTzpKSkvyAjVDM1IKXhpeul2KXzyMQKKyuk4aTrpN6krCAjVDM1IKXhpeul3qWsCisrpOGk7aS5pNGhvCAjVDM1IKXhpe2luaXRobwKKyuk4aTtpLmk0aSiICNUMzUgpeGl7aW5pdGhvAorK6ThpO2k8yAjVDM1IKXhpe2l8worK6ThpPMgI1QzNSDMzQorK6ThpPOkv6TrpNik66S5pKSkvyAjVDM1IKXhpfOlv6Xrpdil66W5yMQKKyuk4aTzpMYgI1QzMCCl4aXzpcYKKyuk4aTzpMmkr6S7pKcgI0pOIKXhpfOlyaWvpbulpworK6ThpPOkyaSvpLukp6S7pKSkyCAjSk4gjtKO3Y7Ejt6OuI6+jqrAuMXMCisrpOGk86TQobwgI1QzNSCl4aXzpdChvAorK6ThpPOk0KSiICNUMzUgpeGl86XQobwKKyuk4aTzpNik6aSiICNUMzUgpeGl86XYpemhvAorK6ThpPOk2KTrpKSkvyAjVDM1IKXhpfOl2KXryMQKKyuk4aTzpNykpiAjVDM1IKThpPOk3KSmCisrpOKhvKSkpL8gI0NOIKXiobzIxAorK6TiobykpKS/ICNUMzUgpeKhvMjECisrpOKhvKSzobwgI0NOIKXiobyls6G8CisrpOKhvKSzobwgI1QzNSCl4qG8pbOhvAorK6Tiobyky6TzpLCks6G8pNKhvCAjQ04gpeKhvKXLpfOlsKWzobyl0qG8CisrpOKhvKTLpPOksKSzobyk0qG8ICNLSyCl4qG8pcul86WwpbOhvKXSobwKKyuk4qG8pMuk86SwpOCkuaThICNKTiCl4qG8pcul86WwzLyhoworK6Tiobyky6TzpLCk4KS5pOGkpKS/ICNDTiCl4qG8pcul86WwzLyho8jECisrpOKkoqTqICNUMzUgwfTNrQorK6TipKSkvyAjQ04gpeLIxAorK6TipKSkvyAjVDM1IKXiyMQKKyuk4qSmpKSkvyAjVDM1IKXiobzIxAorK6TipKakqqSzpMOkv6S+pKYgI0pOIKTipKbF3KTDpL+lvqWmCisrpOKkpqSypPMgI1QzNSDM0bjACisrpOKkpqSzpKYgI1QzNSCl4qG8pbOhvAorK6TipKaks6TNpKik6CAgI0pOIKGzKGCnpaGtKY7JpOKkps3opM2kqKToCisrpOKkpqSzpM2kqKToICNDSiChsyhgp6WhrSmlzqTipKbN6KTNpKik6KGqCisrpOKkpqSzpM2kqKToICNDSiChsyhgp6WhrSmlzqTipKbN6KTNpKik6KGqpaal76WhpaGl8yAKKyuk4qSmpLOkzaSopOggI0NKIKGzKGCnpaGtKY7JpOKkps3opM2kqKTooaoKKyuk4qSmpLOkzaSopOggI0NKIKGzKGCnpaGtKY7JpOKkps3opM2kqKTooaqOs47cjqeOp47dIAorK6TipKaks6TNpKik6CAjQ0ogpOKkps3opM2kqKTooaoKKyuk4qSmpLOkzaSopOggI0pOIKGzKGCnpaGtKaXOpOKkps3opM2kqKTooaqlpqXvpaGloaXzIAorK6TipKaks6TNpKik6CAjSk4gobMoYKeloa0pjsmk4qSmzeikzaSopOihqo6zjtyOp46njt0gCisrpOKkpqSzpM2kqKToICNKTiCl4qWmpbOlzaWopeghIaWmpe+loaWhpfMhpeKlpqWzpc2lqKXoISGlpqXvpaGloaXzIaXipaals6XNpail6CEhpaal76WhpaGl8yEKKyuk4qSmpLOkzaSopOggI0pOII7TjrOOuo7IjrSO1iEhjrOO3I6njqeO3SGO046zjrqOyI60jtYhIY6zjtyOp46njt0hjtOOs466jsiOtI7WISGOs47cjqeOp47dIQorK6TipKaks6TNpKik6KSmpO+koaShpPMgICNKTiChsyhgp6WhrSmOyaTipKbN6KTNpKik6KGqjrOO3I6njqeO3SAKKyuk4qSmpL2kpqS9pKYgI0NKIKTipKakvaSmpL2kpgorK6TipKakv6SipKqkyKSzICNUMzUgpeKhvKW/obzDyworK6TipKakv6SipLWkpKSvpOsgI1QzNSCl4qG8pb+hvKW1paSlr6XrCisrpOKkpqS/pM2k3SAjQ0ogpOKkpqS/pM2k3QorK6TipKakwKThpN0gI0NKIKTipKakwKThpN0KKyuk4qSmpMCk4aTdICNUMzUgpOKkpqTApOGk3QorK6TipKaky6TzpLCks6SmpNKkpCAjVDM1IKXiobyly6XzpbCls6G8pdKhvAorK6TipKak36S6pN0gI0NKIKTipKak36S6pN0KKyuk4qSmpN+kuqTdICNUMzUgpOKkpqTfpLqk3QorK6TipKak4qSmICNDSiCk4qG8pOKhvAorK6TipKggI0tTIMuopKgKKyuk4qSoICNUMzUgy6ikqAorK6TipKqkzqStICNUMzUgpeKlqqXOpa0KKyuk4qSrobwgI0pOIKXipauhvAorK6TipKyk7KS/pK+k8yAjSk4gpeKlrKXspb+3rworK6TipK+ksqStpMmkraTlpPMgI0tLIMzct+KlyaWtpeWl8worK6TipLGksSAjSk4gpeKlsaWxCisrpOKksaSxICNKTiCO0465jrkKKyuk4qSzpL8gI0pOIKTipLPCwAorK6TipLekvaSmpOogI0pOUyC/ucHtzf0KKyuk4qS3pL2kpqTqICNKTlNVQyC/ucHtzf0KKyuk4qS4pOykuSAjVDM1IMq4u/ql7KW5CisrpOKkuaTpobwgI0pOIKXipbml6aG8CisrpOKkuyAjVDM1IKTipLsKKyuk4qS7pKIgI1QzNSCk4qS7pKIKKyuk4qS/pKogI1QzNSCl4qW/w8sKKyuk4qTDpLOk6qG8pMogI0pOIKXipcOls6XqobylygorK6TipMOkwaG8ICNKTiCl4qXDpcGhvAorK6TipMOkwaG8ICNUMzUgpeKlw6XBobwKKyuk4qTDpMGkpCAjVDM1IKTipMOkwaG8CisrpOKkw6TBpKQgI1QzNSCl4qXDpcGhvAorK6TipMakzaG8pOggI0pOIKXipcalzaG8pegKKyuk4qTIpKukpKS+pK+kzqTEpOqkraTBpLWkq6G8pMogI0pOILi1s6TCsaTOxOCk6rTww8+ltaWrobylygorK6TipMikq6SkpL6kr6TOpMSk6qStpMGktaSrobykyqTIpL2kzqSzpNak86S/pMEgI0pOILi1s6TCsaTOxOCk6rTww8+ltaWrobylyqTIpL2kzrvSyqykv6TBIAorK6TipMqhvCAjSk4gpeKlyqG8CisrpOKkyqG8pKahvKTepPMgI0pOIKXipcqhvKWmobyl3qXzCisrpOKkyqG8pKuhvKTJICNKTiCl4qXKobylq6G8pckKKyuk4qTKobykq6TzpLOkpiAjS0sgpeKlyqG8tNG49worK6TipMqhvKSvpKikuaTIICNLSyCl4qXKobylr6WopbmlyAorK6TipMqhvKSvpKikuaTIICNUMzUgpeKlyqG8pa+lqKW5pcgKKyuk4qTKobykr6TDpK2k86SwICNKTiCl4qXKobylr6XDpa2l86WwCisrpOKkyqG8pLGk86S5pLEgI0pOIKXipcqhvLfysvAKKyuk4qTKobyksaTzpLmksaSkICNKTiCl4qXKoby38qS5t9kKKyuk4qTKobykt6TlpNak86TXpLogI0pOIKXipcqhvLzvyqzJ27/eCisrpOKkyqG8pLek5aTWpPOk16S6pOKkyqG8pOKk6aTpobyk0KTzICNKTiCl4qXKoby878qsydu/3qXipcqhvKGmpeKl6aXpobzIxworK6TipMqhvKS3pOWk1qTzpOukpKS6pLGkw6TGpKSk0KTzICNKTiCl4qXKoby878qszuC/3rfoxOrIxworK6TipMqhvKS3pOWk1qTzpOukpKS6pL6ky6TDpK+k0KTzICNKTiCl4qXKoby878qszuC/3qGhpb6ly6XDpa/IxworK6TipMqhvKS3pOWk1qTzpOukpKS6pL6ky6TDpK+k0KTzICNKTiCl4qXKoby878qszuC/3qW+pculw6WvyMcKKyuk4qTKobykt6TnpKak4aTEICNKTiCl4qXKoby+w8zHCisrpOKkyqG8pLikvqSmICNKTiCl4qXKobzDz8KiCisrpOKkyqG8pLik5aSmpOik86S7pKQgI0pOIKXipcqhvKOxo7TApAorK6TipMqhvKS+pK+kraTlpKakraTnpK+kqqSmpK6k4qTppOmhvKTJpOmkpKTQobwgI0pOIKXipcqhvMKyoaa15rbLsfy1waGmpeKl6aXpobylyaXppaSl0KG8CisrpOKkyqG8pL+k86S4pOekpqTOpNKk36TEICNKTiCl4qXKobzDwsC4pM7I68ypCisrpOKkyqG8pMekpKSrpOqk8qTWpMSksaTrpLmk7KSzpK+ktaSkpLik56SmpOSkr6S4pOWkw6SrpLik56SmICNKTiCl4qXKobykx8XcpOqk8qTWpMSksaTrpbml7Lnxut2+8szzvb2l9r7yCisrpOKkyqG8pMikrqSzpM6ksqG8pOCkt6TnpMOk1yAjSk4gpeKlyqG8pMilrqWzpM6lsqG8peClt6XnpcOl1worK6TipMqhvKTOpKSkwaTLpMEgI0pOIKXipcqhvKTOsOzG/AorK6TipMqhvKTOpKukzqS4pOcgI0pOIKXipcqhvKTOyOC99worK6TipMqhvKTOpKukzqS4pOcgI0pOIKXipcqhvKTOyOC996HKuM6/zaHLIAorK6TipMqhvKTOpLuk86S+ICNKTiCl4qXKobykzsDowcQKKyuk4qTKobykz6TopKakwaS3pM2k6CAjSk4gpeKlyqG8pM/NxMPVoaO74KTNpOgKKyuk4qTKobyk0KTzpMkgI0pOIKXipcqhvKXQpfOlyQorK6TipMqhvKTVpMOkq6TEICNKTiCl4qXKobzJ/LPoCisrpOKkyqG8pN6k8yAjSk4gpeKlyqG8pd6l8worK6TipMqhvKTepPMgI0pOII7TjsWOsI7Pjt0KKyuk4qTKobyk4KG8pPOksKTzICNKTiCl4qXKobyl4KG8pfO3sworK6TipMqhvKTgobyk86SwpPMgI0pOII63jt6Ouo69jsCOsLezCisrpOKkyqG8pOChvKTzpLCk8yAjSk4gjtOOxY6wjtGOsI7dt7MKKyuk4qTKobyk4aS/pOuk0KTzpMkgI0pOIKXipcqhvKXhpb+l66XQpfOlyQorK6TipMqhvKTqpLYgI0pOIKXipcqhvKXqpbYKKyuk4qTKpKIgI1QzNSCl4qXKobwKKyuk4qTKpKKkq6TzpLOkpiAjVDM1IKXipcqhvLTRuPcKKyuk4qTKpKKkr6SopLmkyCAjVDM1IKXipcqhvKWvpailuaXICisrpOKkyqSipLak6aS3ICNKTiCl4qXKpaKltqXppbehoQorK6TipMqkoqTppNYgI1QzNSCl4qXKocGk6aTWCisrpOKkyqSkpKKk8yAjSk4gpeKlyqWkpaKl8worK6TipMqkqCAjSk4gpeKl6bveCisrpOKkyqSopMCku6TzpLukpCAjSk4gpeKlyrvewOjAuAorK6TipMqkqKTipPMgI0pOIKXipcqkqKTipPMKKyuk4qTKpKqkpiAjSk4gpeKlyrKmCisrpOKkyqSrICNKTiCl4qXKpasKKyuk4qTKpKsgI0pOIKXipcqlqyAKKyuk4qTKpKsgI0pOUyCl4qXKpasKKyuk4qTKpKsgI1QzNSCl4qXKpasKKyuk4qTKpKsgI1QzNSC6x8PmCisrpOKkyqSrpKuk86TOpPMgI0pOIKXipcqlq7TRsrsKKyuk4qTKpKuksiAjSk4gpeKlyrHGCisrpOKkyqSrpLIgI0pOII7TjsWxxgorK6TipMqkq6TBpOOk8yAjSk4gpeKlyqSrpMGk46TzCisrpOKkyqSrpPOkzqTzICNKTiCl4qXKtNGyuworK6TipMqkq6TzpM6k8yAjSk4gzNDMvrTRsrsKKyuk4qTKpK6ks6S7pK2k5qSspL2k6qTzpLmkv6TzpMkgI0pOIKXipcqlrqWzwNDM/aWspb2l6qXzpbmlv6XzpckKKyuk4qTKpK6ks6TVpKOk66TPobyk4qTLobykq6TzpLKk86SspK+kwKTzICNKTiCl4qXKpa6ls6XVpaOl66XPobyl4qXLoby0ybi5s9rDxAorK6TipMqkr6TtpNekuSAjSk4go82jz6POo8Gjw6PMo8+j0KPTCisrpOKkyqSvpO2k8yAjSk4gpeKlyqWvpe2l8worK6TipMqksKTppKik6iAgI0pOIKXipcrCorfDzqQKKyuk4qTKpLCk6aSopOogI0pOIKXipcrCorfDzqQKKyuk4qTKpLMgI0pOIKXipcq70gorK6TipMqks6TzICNKTiCl4qXKpbOl8worK6TipMqktaTzpLGkpKTKobwgI0pOIKXipcqltaXzoaalsaWkpcqhvAorK6TipMqktqSkpLMgI0pOIKXipcqltqWku9IKKyuk4qTKpLikvqSmICNKTiCl4qXKw8/CogorK6TipMqkuKTpICNLSyCl4qXKpbil6QorK6TipMqkuKTpobwgI0tLIKXipcqluKXpobwKKyuk4qTKpLik6aSipKSkx6SjobwgI1QzNSBtb25hemlsbGFJRAorK6TipMqkuKTppKqk66SwpO+k6SAjVDM1IG1vbmF6aWxsYS5vcmcodworK6TipMqku6TzpMuk8yAjSk4gpeKlysDnv80KKyuk4qTKpL2kpqS3pK0gI0pOIKXipcrB8rywCisrpOKkyqTIpO2k0KS4obykyqS/pKSkpCAjSk4gpeKlyqXIpe2hpqXQpbihvKXKwuew0worK6TipMqky6G8ICNKTiCl4qXKpcuhvAorK6TipMqkzqTqpK2k5aSmICNKTiCl4qXKpc6hoc34tdkKKyuk4qTKpNogI0tLIKXipcql2gorK6TipMqk2iAjVDM1IKXipcql2gorK6TipMqk2yAjSk4gpeKlyqXbCisrpOKkyqTcpPMgI0pOIKXipcql3KXzCisrpOKkyqTdpOykqqTzpOKkyqTRpOukySAjSk4gpeKlyqXdpeylqqXzoeGl4qXKpdGl66XJCisrpOKkyqTepLik8yAjSk4gpeKlysviv8AKKyuk4qTKpN+kz6TzpL+hvCAjSk4gpeKlyqXfoaalz6Xzpb+hvAorK6TipMqk4KS3ICNKTiCl4qXKw+4KKyuk4qTKpOqkq6S6pK0gI0pOIKXipcqk6qSrpLqkrQorK6TipMqk7KSkICNKTiCl4qXKzu4KKyuk4qTKpOykpCAjSk4gpeKlys7uIAorK6TipMuhvCAjSk4gpeKly6G8CisrpOKky6SrICNKTiCl4qXLpauhprGmCisrpOKky6Tjobykr6TzICNKTiCl4qXLpeOhvLevCisrpOKky6Tjobykr6TzICNKTiCl4qXLpeOhvLevIAorK6TipMuk5yAjUjUgpOKky6TnCisrpOKkzaG8ICNKTiCl4qXNobwKKyuk4qTNobyk6yAjSk4gpeKlzaG8pesKKyuk4qTNpLkgI0pOIKXipc2luQorK6TipM6kr6Ttobyk4CAjSk4gpeKlzqGmpa+l7aG8peAKKyuk4qTOpLmktKSkpKSkraSqpKSkxyAjQ0ogpOKkzqS5pLSkpMCqpKSkxworK6TipM6k26S3pLakqqSmpOogI0pOIMqqtLOkt7TIx+Sk6gorK6TipNGkoqTpICNUMzUgpeKl0aG8pekKKyuk4qTVpKGk2KTVpKEgI0pOIKXipdWloaTYpdWloQorK6TipN6hvCAjSk4gpeKl3qG8CisrpOKk36SqpKsgI1QzNSCl4qXfsqwKKyuk4qTfpKqkqyAjVDM1INnmsqwKKyuk4qTipKSk7aS1pPOkx6G8pK+k6qG8pOCkuaTapLek46TrICNKTiDF7b+npbWl86XHobylr6Xqobyl4FNQCisrpOKk4qSmpKQgI1QzNSCl4qXiobylpAorK6TipOKkqqSkICNUMzUgpeKl4qG8paQKKyuk4qTipMGk46TzICNKTiDF7aTBpOOk8worK6TipOKk86TpobwgI0pOIKXipeKl86XpobwKKyuk4qTkpLcgI1QzNSCl4qXkpbcKKyuk4qTpICNKTiCk4qTpovYKKyuk4qTpobyk3qTzICNKTiCk4qTpobyl3qXzCisrpOKk6aSopOKk8yAjSk4gpeKl6aSopOKk8worK6TipOmkqqTzpNcgI0pOIKTipOmi9gorK6TipOmksyAjSk4gpeKl6bvSCisrpOKk6aS/pKSktyAjSk4gpeKl6cLnu8gKKyuk4qTppMGk46SopOsgI0pOIKXipemlwaXjpail6worK6TipOmk0qTjpK8gI0pOIKXipenJtAorK6TipOmk3qS4pPMgI0pOIKXipenL4r/ACisrpOKk6aTepPMgI0pOIKTipOml3qXzCisrpOKk6aTopLekq6SyICNKTiCl4qXptcixxgorK6TipOmk6SAjSk4gpOKk6aTpCisrpOKk6aTpobwgI0pOIKXipeml6aG8CisrpOKk6aTpobykoqTppLcgI0pOIKXipeml6aG8udOk6aS3CisrpOKk6aTpobykq6TBpOekpiAjSk4gpeKl6aXpobyy3cS5CisrpOKk6aTpobyktaTzpLik5aSmpLcgI0pOIKXipeml6aG8u7C9xrvOCisrpOKk6aTpobykwaTnpKakq6TzICNKTiCl4qXppemhvMS5tLEKKyuk4qTppOmhvKTGpKOhvKTAICNKTiCl4qXppemhvKXGpaOhvKXACisrpOKk6aTpobyk1aSpobwgI0pOIKXipeml6aG8NAorK6TipOmk6aG8pNakwaTnpKYgI0pOIKXipeml6aG8yfTEuQorK6TipOmk6aG8pN6k3iAjSk4gpeKl6aXpobyl3qXeCisrpOKk6aTppKik6yAjSk4gpeKl6aXppail6worK6TipOmk6aTIpM4gI0pOIKXipeml6cXCCisrpOKk6aTppMikziAjSk4gjtOO147XxcIKKyuk4qTppOmkyKTOpMik4qTKpKuksiAjSk4gjtOO147XxcKhyrq4ocukyI7TjsWxxqHKsaahyworK6TipOmk6iAjSk4gpeKl6aXqoaa6uAorK6TipOogI1QzNSC/uQorK6TipOqkoqSspMOkxqTepKSk6qTepLekvyAjQ0ogwLmk6r7lpKykw6TGpN6kpKTqpN6kt6S/CisrpOKk6qTBpOWkpiAjVDM1IMC5v98KKyuk4qTrICNKTiCl4qXrCisrpOKk66ShICNKTiAojt+O247fKY7TjtmOpyEhCisrpOKk66ShICNKTiCl4qXrpaEKKyuk4qTsICNUMzUgz7Ok7AorK6TipOykr6S3ICNUMzUgz7Ok7Lb6CisrpOKk7aTPpM6kxKTrpK4gI0NKIL30v8+kzrf1oaMKKyuk4qTzpK2kpKS3pOWkrKSiICNUMzUgpeKl86Wtobylt6XlpayhvAorK6TipPOkr6SipOsgI0NKIMq4tuekoqTroakKKyuk4qTzpOukpCAjVDMwIMzlzt4KKyuk5CAjU1VDIKTkCisrpOSkqiAjVDMwIKXkpaoKKyuk5KSqpKQgI1QzNSCk5KSqpKQKKyuk5KSqpK2k8yAjS0sgpeSlqqWtpfMKKyuk5KSqpK2k8yAjVDM1IKXkpaqlraXzCisrpOSkqqTPpLIgI1QzNSCl5KWqxsWksgorK6TkpKqk0CAjVDM1ILKwpaql0AorK6TkpKqk1aSvICNLSyCl5KWqpdWlrworK6TkpK2kpKTiICNUMzUgpOSkraSkpOIKKyuk5KStpMSksaTQICNUMzUgvsbJ1aSxv88KKyuk5KStpMSksaTkpKSk0CAjVDM1IL7GydWksb/PCisrpOSkraTIpOogI0tLIL7GpK3EuworK6TkpK2kyKTqICNUMzUgvsakrcS7CisrpOSkraTKpKqku6THpKqk3qSopM6koqS/pN6k4qTkpK2kyqSqpLsgI0NKIL7GpK2kyqSqpLuhoqTHoaKkqsGwpM7GrKTivsakraTKpKqkuworK6TkpK2k8yAjSk4gzOu20AorK6TkpK2k8yAjSk4gzOu20KH6CisrpOSkr6S2ICNKTiCl5KWvpbYKKyuk5KSvpOukxCAjVDM1IKXkpa+l66XECisrpOSkr6TrpMSkt6SjICNKTiCl5KWvpeulxKS3pKMKKyuk5KSwpMOkwaTnpOqhvKTKICNKTiCl5KWwpcOlwaXnpeqhvKXKCisrpOSktaS3pN8gI0pOIM2lpLek3worK6TkpLcgI1QzNSC54bbxu9UKKyuk5KS3pKykyyAjVDMwIKXkpbelrKXLCisrpOSkt6TjICNUMzUgzOu6tQorK6TkpLik66S3pMGk5aSmICNUMzUgzPCw9b/fCisrpOSkuaTApLmk7KTDpMkgI0NOIMrdxcSluaXspcOlyQorK6TkpLmkwKS5pOykw6TJICNUMzUgyt3FxKW5peylw6XJCisrpOSkuaTqICNUMzUg78wKKyuk5KS9pN6hvCAjSk4gpeSlvaXeobwKKyuk5KS9pN6hvKTtpLSkpKTqICNKTiCl5KW9pd6hvCil7aW0xv6k6ikKKyuk5KTApOKk8yAjSk4gpeSlwKXipfMKKyuk5KTDpNuhvCAjQ04gpeSlw6XbobwKKyuk5KTDpNuhvCAjS0sgpeSlw6XbobwKKyuk5KTDpNuhvCAjVDM1IKXkpcOl26G8CisrpOSkw6TbpKogI1QzNSCl5KXDpduhvAorK6TkpMQgI0pOIKXkpcQKKyuk5KTEICNUMzUgpeSlxAorK6TkpMqkrKS3pO8gI0pOUyCk5KTKpKykt6TvCisrpOSkyqSspLek7yAjVDM1IKTkpMqkrKS3pO8KKyuk5KTKpK6ktaTvpOKkyqG8ICNKTiCl5KXKpa6ltaXvpeKlyqG8CisrpOSk1SAjS0sgpeSl1QorK6TkpNWkpiAjQ04gzPDJ9worK6TkpNWkpiAjVDM1IMzwyfcKKyuk5KTVpKqkryAjS0sgpeSl1aWqpa8KKyuk5KTVpKqkryAjVDM1IKXkpdWlqqWvCisrpOSk1qTLpOmk36TipOmk6aG8ICNKTiDprqTLpOmk36Xipeml6aG8CisrpOSk3qS2pK2kyKTppMOk1yAjVDM1ILuzuuqlyKXppcOl1worK6TkpN6ktqStpO+kv6TrICNUMzUgu7O66r7EKF5eKQorK6TkpN6kwCAjSk4gu7PFxAorK6TkpOGkxqS/pOKk7CAjQ0ogpOSk4aTGpL+k4qTsCisrpOSk4aTsICNDSiCk5KThpOwKKyuk5KTppMqkpKSrICNDSiCk5KTppMqkpKSrCisrpOSk6qS5pK6kr6TzICNKTiCk5KTqpLmkrrevCisrpOSk66StpMqktyAjVDM1IKTkpOu1pKTKpLehqgorK6TkpOukviAjSk4gpOSk66S+oaqhqgorK6TkpOukw6TGpNaktyAjQ0ogpOSk66TDpMbA4QorK6TkpO2kqqSmpOggI0NKIKXkpe2hvKWmpegKKyuk5KTtpKqkpqToICNDSiCO1I7bjrCOs47WCisrpOSk76TppMGk46TzICNKTk0gpeSl76XppMGk46TzCisrpOSk86S4pOOk8yAjS0sgpeSl86W4peOl8worK6TkpPOkuKTjpPMgI1QzNSCl5KXzpbil46XzCisrpOSk86TkpPMgI0NKIKTkpPOk5KTzCisrpOSk86TkpPMgI1QzNSCk5KTzpOSk8worK6TmobykqKS5pNOhvKSxobyk1qTrpMekr6TTpMSkw6TGpLekzSAjQ0ogVVNCpbGhvKXWpeukx7zzxN+kw6TGu+GkzQorK6TmobykuKG8ICNUMzUgo9WjxworK6Tmobyk5qG8ICNKTiCl5qG8peahvAorK6TmpKakpKTBICNKTiDNtKOxCisrpOakpqSrpPMgI0pOIM28tKkKKyuk5qSmpK2krKTKpK+kxqTfpOykyqSkpKykvqSmpKukpKS7pMSkuaTsICNUMzUgzaa1pKSszLWkr6TGuKuk7KTKpKSy6MH8svLA4qW5pewgCisrpOakpqSzICNUMzUgpOakpqSzCisrpOakpqS3pOMgI1QzNSDNprzUCisrpOakpqS3pOOk4qTKobwgI0pOIM2mvNSl4qXKobwKKyuk5qSmpLek46TipMqkvyAjSk4gzaa81KXipcrCwAorK6TmpKakx6SjpKSk16TtpLikp6SvpMggI1QzNSBVRKXXpe2luKWnpa+lyAorK6TmpKakyaSmICNUMzAgzbbGsworK6TmpKakyqTzpN6kxKTqICNUMzUgpOakpqTKpPO616TqCisrpOakpqTPpMikr6TGpKSktaTspN6kuaS/ICNDSiBZT1Wkz8bDxOqktaTspN6kuaS/CisrpOakpqTTpPOk5qSmpLukpKSkpL8gI0NKIM25ytihps25wK/IxAorK6TmpKak06TzpOakpqS7pKSkpKS/ICNDTiDNucrYoabNucCvyMQKKyuk5qSmpNOk86TmpKaku6SkpKSkvyAjVDM1IM25ytihps25wK/IxAorK6TmpKak3KSmICNKTiBtKC1fLW0pocGOs47XjtKOvI7UjrAKKyuk5qSmpNykpiAjSk4gpOakpsu3CisrpOakpqThpKSks6TGpKQgI1QzNSDNrcy+uMfE6gorK6TmpKak6qTnpKakqyAjVDMwIM2tzsGyvQorK6TmpKyk3yAjVDM1IM/ECisrpOakraSqpMukrqTqpMCk66TeICNKTiDA46SqpMukrqTqpMCk66TeCisrpOakraS4pOuktyAjVDM1IMDCsPUKKyuk5qStpLik66S3pK6k5aSmpMuk5aSmICNKTiDAwrD1te3G/QorK6TmpMOkraG8ICNKTiCl5qXDpa2hvAorK6TmpMOkraG8ICNUMzUgpealw6WtobwKKyuk5qTDpK2kpCAjVDM1IKXmpcOlraG8CisrpOakx6TApKuk6SAjVDM1IKTmpMekwKSrpOmhpqGmoaYKKyuk5qTLpMOkr6S5pNWk6aTDpLek5SAjVDM1IHVuaXil1aXppcOlt6XlCisrpOak1qS/ICNUMzUgzP3G2gorK6TmpPMgI0pOIKTmpPMKKyuk5qTzpKuhvKS5ICNKTiCl5qXzpauhvKW5CisrpOak86SrobykuSAjVDM1IKXmpfOlq6G8pbkKKyuk5qTzpKukoqS5ICNUMzUgpeal86WrobyluQorK6TmpPOk5qTzICNDSiCk5qTzpOak8worK6TmpPOk5qTzICNUMzUgpOak86TmpPMKKyuk6CAjQ0ogWU+hqgorK6ToICNDSiB5b6GqCisrpOggI0NKIHlwCisrpOikoqTLICNUMzUgwuWloqXLCisrpOikpKG8pLek56TipMqhvCAjSk4gpeilpKG8pbel56XipcqhvAorK6TopKShvKS3pOek4qTKobwgI0pOII7WjrKOsI68jq6O047FjrAKKyuk6KSmpK+ktyAjVDM1IM3OtvoKKyuk6KSmpLek0aTRpMikr6TipOqkv6TOpPOkuKTjpKakvqSmICNDSiCk6KG8pLel0aXRxsPAuc3qpPOkuKTjpKakvqG8CisrpOikpqS4pOcgI1QzNSCk56SlpsmO3qTnCisrpOikpqS4pOek5qSmpKukpCAjSk4gpOekpabJoauk56TlpKWl9aSjCisrpOikpqS7pKQgI1QzNSDNxcC6CisrpOikpqTBpKik86SrpOmkx6TKpKqkt6TGpLOkpCAjVDM1IM3EoaHD1aGhseChoaSroaGk6aGhvdChocS+oaGkt6GhpMahoaSzoaGkpCAKKyuk6KSmpMGk86TApPMgI1QzNSDNzsTBw8QKKyuk6KSpICNDSiBZT6GqCisrpOikqSAjQ0ogeW+hqgorK6TopKkgI0NKIHlwCisrpOikqaG8pLyk1SAjSk4gpeilqaG8pbyl1QorK6TopKmhvKS8pNWkq6TDpLOkq6S3pOekpqSrpMOks6TIpLggI0pOIKXopamhvKW8pdUosr6+zikKKyuk6KSrobyk8yAjSk4gpeilq6G8pfMKKyuk6KSvpNakq6SqpKYgI0pOICihrVahrimh1gorK6TopK+k1qSrpKqkpiAjSk4gzd+/vLKmCisrpOikr6TiICNKTiChyqaop9WmqKHLjtaOuI7TjqWOpY6lCisrpOikr6TiICNKTiCl6KWvpeKhpqGmoaYKKyuk6KSvpOIgI0pOII7WjriO046ljqWOpQorK6TopLOkz6ThICNDTiCl6KWzpc+l4QorK6TopLOkz6ThICNUMzUgpeils6XPpeEKKyuk6KSzpOSk3qS1pPOktKSvpLcgI1QzNSCyo7uzu7C58bvWCisrpOiktKTsICNUMzUgpeiltKXsCisrpOiktKTsICNUMzUgsfik7AorK6TopLekwCAjSk4gWW9zaGlkYQorK6TopLekzqTkpLOk1KTaICNUMzUgtcjM7rLIpbOl1KXaCisrpOikt6TmpK0gI1QzNSCk6KS3pOakrQorK6TopLek6KS3ICNKTiChyqGhoainpaGoocuhs6HKoa2j9qGuoaGhy47WjryO1o68CisrpOikt6TopLcgI0pOIKTopLek6KS3CisrpOikvKTLICNUMzUgwuWlvKXLCisrpOikvaSmpM6kyqTKpOGkpqSoICNUMzUgzb3B26TOvNCk4b7lCisrpOikwaTspLkgI1QzNSDNvcPOpeyluQorK6TopMOkraTlpPMgI0pOIKTopMOkraTlpPMKKyuk6KTDpK2k5aTzICNUMzUgpOikw6StpOWk8worK6TopMOkuaSjpOKkyqG8ICNKTiCk6KTDpLmko6XipcqhvAorK6TopMqhvCAjSk4gpeilyqG8CisrpOikzSAjVDM1IKKoCisrpOikzaG8ICNKTiCl6KXNobwKKyuk6KTfobyk6iAjSk4gpeil36G8peoKKyuk6KThICNDSiCyxworK6TopOukzqSqpKukuiAjVDM1IMzrpM6kqqSrpLoKKyuk6KTzICNUMzUgPj40CisrpOik86TIpKakt6TzpMuk6aSkpOAgI0pOILvNxqy/yKXLpemlpKXgCisrpOik86TepOuk6KTzICNUMzUgNDA0CisrpOik86TopPMgI0NKIKTopPOk6KTzCisrpOik86TopPMgI1QzNSCk6KTzpOik8worK6TpobwgI1QzNSCj0qPBo9IKKyuk6aG8pLikqKSkpOqkpqTvpKGkoaTzICNKTiCl6S2luKWopaSl6qWmpe+loaWhpfMKKyuk6aG8pLikqKSkpOqkpqTvpKGkoaTzICNKTiCO1y2OvI7ejrSOso7YjrOO3I6njqeO3QorK6Tpobyk4aTzICNUMzUgpemhvKXhpfMKKyuk6aG8pOGk86SupLMgI0pOIKXpobyl4aXzpa6lsworK6Tpobyk4aTzpK6ks6SipPOkyaTipMqhvCAjSk4gpemhvKXhpfOlrqWzofWl4qXKobwKKyuk6aG8pOGk86TipMqhvCAjSk4gpemhvKXhpfOl4qXKobwKKyuk6aSiICNUMzUgUkFSCisrpOmkpKG8pOihvCAjVDM1ICiOpaLPjqUpjteOso6wjtaOsCEhCisrpOmkpKG8pOihvCAjVDM1IKHKoaaiz6Gmocul6aWkobyl6KG8ISEKKyuk6aSkobyk6KG8ICNUMzUgocqhpqLPoaahy47XjrKOsI7WjrAhIQorK6TppKSkoqTDpMggI0tLIKXppbih9worK6TppKSkvyAjQ04gpenIxAorK6TppKSkwaTnpKYgI0tLIM3rxLsKKyuk6aSkpMGk56SmICNUMzUgzevEuworK6TppKSkzCAjVDM1IKXppaSlzAorK6TppKSkzCAjVDM1IKXpuKQKKyuk6aSkpMwgI1QzNSCO17ikCisrpOmkpKTMICNUMzUgjteOso7HCisrpOmkpqG8pLggI1QzNSCl6aWmobyluAorK6TppKak4aS5ICNKTiCl6aWmpeGluQorK6TppKak4aS5ICNUMzUgpemlpqXhpbkKKyuk6aSmpPOkuCAjQ04gpemlpqXzpbgKKyuk6aSmpPOkuCAjVDM1IKXppaal86W4CisrpOmkpqTzpLikqqTVpKukpCAjVDMwIKXppaal86W4paql1bLxCisrpOmkpqTzpLikqyAjVDMwIKXppaal86W4sr0KKyuk6aSmpPOkuKTSpMqk86S4pOcgI1QzNSCl6aWmpfOluMjyxvG96gorK6TppKak86S4pOMgI1QzNSCl6aWmpfOluKXjCisrpOmkpqTzpLik46G8ICNUMzUgpemlpqXzpbil46G8CisrpOmkpqTzpLik46SiICNUMzUgpemlpqXzpbil46G8CisrpOmkpqTzpLik46SipM2kriAjVDM1IKXppaal86W4peOhvMesCisrpOmkraG8pN6k8yAjSk4gpemlraG8pd6l8worK6TppK2hvKTepPMgI0pOIKXppa2hvKXepfMgCisrpOmkuKSipMOkyCAjS0sgpemluKH3CisrpOmkuaTcpLmkz6SopLmkyKS3obyk4qSiICNDSiCl6aW5pdyluaTPpailuaXIpbehvKXipaIKKyuk6aTDpK2hvKTBpPOk0CAjVDM1IKXppcOlraG8xMHHzworK6TppMOkyKStpOmhvCAjSk4gpemlw6XIpa2l6aG8CisrpOmkxqTzpKKk0qTjICNKTiCl6aXGpfOloqXSpeMKKyuk6aTHpKOkvSAjVDM1IKXppcelo6W9CisrpOmkyqG8ICNKTiCl6aXKobwKKyuk6aTqpOmk6iAjVDM1IKXppeql6aXqCisrpOmk6qTppOogI1QzNSCO147YjteO2AorK6TppOukr6S9ICNKTiCl6aXrpa+lvQorK6TppOukr6S9ICNUMzUgpeml66Wvpb0KKyuk6aTtobwgI1NVQyCk6aTtobwKKyuk6aTtpKYgI1NVQyCk6aTtobwKKyuk6qG8pLyk86TIICNKTiCl6qG8wbDF0worK6Tqobyk1aTIpKaktaSvICNUMzUgpeqhvKXVxfC67gorK6Tqobyk3qTzICNKTiCl6qG8pd6l8worK6Tqobyk3qTzICNUMzAgpeqhvKXepfMKKyuk6qG8pOqkw6TSICNKTiCtoaXqobyl6qXDpdIKKyuk6qG8pOqkw6TSpLik5aTLpKIgI0pOIK2ipeqhvKXqpcOl0qPKo/IKKyuk6qG8pOqkw6TSpMuku6SkICNKTiCto6Xqobyl6qXDpdLG88CkCisrpOqkoqS9pLek6aTNobyk6CAjSk4gpeqloqXrpb2l6aXNobyl6AorK6TqpKKkwaTlpKYgI1QzNSCl6qWiv98KKyuk6qSipOsgI1QzNSCl6qWipesKKyuk6qSipOukoqS9pNGkvaTepL0gI0pOIKXqpaKl66Wipb2l0aW9pd6lvQorK6TqpKKk66SipL2k0aS9pN6kvSAjSk4gpeqloqXrjrGOv47Kjt+Ov47Pjr8KKyuk6qSipOukoqTDpL2hvCAjSk4gpeqloqXrpKKkw6S9obwKKyuk6qSipOuko6TnpKUgI0pOIKXqpaKl66SjpOekpQorK6TqpKKk66SjpOekpaTipLOk4qSzpNChvKS4pOek8yAjSk4gpeqloqXrpKOk56Slocqk4qSzpOKks6XQobyluKXnpfOhyworK6TqpKKk66SkpOmkzaG8pOggI0pOIKXqpaKl66WkpemlzaG8pegKKyuk6qSipOukpqTEICNKTiCl6qWipevdtQorK6TqpKKk66SqpN6kqKSvpN6hvCAjSk4gpeqloqXrpaql3qWopa+l3qG8CisrpOqkoqTrpKqk3qSopOKkyqG8ICNKTiCl6qWipeulqqXepail4qXKobwKKyuk6qSipOukq6S1obyk6iAjSk4gpeqloqXrpaultaG8peoKKyuk6qSipOukraS/obyhvCAjSk4gpeqloqXrpa2lv6G8CisrpOqkoqTrpK2kwaSspKSksaSkpNukpiAjSk4gpeqloqXrtPDDz7Owt9nK8worK6TqpKKk66SupLMgI0pOIKXqpaKl66WupbMKKyuk6qSipOuktKS/pKSk1aTepPOkvqSvICNKTiCl6qWipeu43sLOydTL/sKtCisrpOqkoqTrpLekoyAjSk4gpeqloqXrpLekoworK6TqpKKk66S3pM2k0KG8ICNKTiCl6qWipeult6XNpdChvAorK6TqpKKk66S3pOekpqTcpKYgI1QzNSCl6qWipeu+w8vJCisrpOqkoqTrpLek6aTNobyk6CAjSk4gpeqloqXrpbel6aXNobyl6AorK6TqpKKk66S3pOmkzaG8pOgyICNKTiCl6qWipeult6Xppc2hvKXoo7IKKyuk6qSipOukuKS1pK+kuKSopPMgI0pOIKXqpaKl66W4pbWlr6W4pail8worK6TqpKKk66S4pLWkr6S4pKik8yAjSk4gpeqloqXrjryO3o67jriOvI7ejrSO3QorK6TqpKKk66S4pOOkyqSkpKuk6aSvpL0gI0NKIKXqpaKl66S4pOOkyqSkpKuk6aWvpb0KKyuk6qSipOukuKTnpPOkuKTnpLWk8yAjSk4gpeqloqXrpbil56Xzpbil56S1pPMKKyuk6qSipOukuaTDpMmk7CAjSk4gpeqloqXrjr2Or47Ejt6O2gorK6TqpKKk66S5pNWko6TzpK+kuSAjSk4gpeqloqXrpbml1aWjpfOlr6W5CisrpOqkoqTrpL2kpqTHpOKkyqSkpOggI0pOIKXqpaKl66S9pKakx6TipMqkpKToCisrpOqkoqTrpL2k6aTNobyk6CAjSk4gpeqloqXrpb2l6aXNobyl6AorK6TqpKKk66S9pOykrKTKpMukqyAjSk4gpeqloqXrpb2l7KWspcqh4aXLpasKKyuk6qSipOukv6SkpOAgI1QzNSCl6qWipeulv6WkpeAKKyuk6qSipOukwaTlpKak3KSmICNUMzUgpeqloqXrv9/LvAorK6TqpKKk66TKpKqky6SupOqk4qTKobwgI0pOIKXqpaKl66TKpKqky6SupOql4qXKobwKKyuk6qSipOukyqSqpMukrqTqpOKkyqG8pKSkwSAjSk4gpeqloqXrpMqkqqTLpK6k6qXipcqhvKOxCisrpOqkoqTrpMqkqqTLpK6k6qTipMqhvKTLICNKTiCl6qWipeukyqSqpMukrqTqpeKlyqG8o7IKKyuk6qSipOukyqSxpPMgI0pOIKXqpaKl66TKpbGl8worK6TqpKKk66TKpMOkwSAjSk4gpeqloqXrpMqkw6TBCisrpOqkoqTrpMqkyaS7pKSktaTzICNKTiCl6qWipeukysXawLGktaTzCisrpOqkoqTrpMqkzaS5pOKkyqG8ICNKTiCl6qWipeukyqXNpbml4qXKobwKKyuk6qSipOuky6TAobwgI0pOIKXqpaKl66XLpcChvAorK6TqpKKk66TPpKEgI0pOIKXqpaKl66XPpaGhqQorK6TqpKKk66TSpO2k5qStICNKTiCl6qWipeuk0qTtpOakrQorK6TqpKKk66TVpKek6aG8pMGk5yAjSk4gpeqloqXrpdWlp6XpobylwaXnCisrpOqkoqTrpNukvaThICNKTiCl6qWipeu62czcCisrpOqkoqTrpN6kwKG8ICNKTiCl6qWipeul3qXAobwKKyuk6qSipOuk3qTLobwgI0pOIKXqpaKl66XexvOh3QorK6TqpKKk66TgpMOkryAjSk4gpeqloqXrpeClw6WvCisrpOqkoqTrpOKkpqSzpM2kqKToICNKTiCl6qWipeul4qWmpbOlzaWopegKKyuk6qSipOuk4qTKobwgI0pOIKXqpaKl66XipcqhvAorK6TqpKKk66TkpMCk4qTzICNKTiCl6qWipeul5KXApeKl8worK6TqpKKk66TopLekxqSjobwgI0pOIKXqpaKl66TopLelxqWjobwKKyuk6qSipOuk6qSipOqkxqSjICNUMzUgpeqloqXrpeqloqXqpcaloworK6TqpKKk66TspOKkyiAjSk4gpeqloqXrpeyl4qXKCisrpOqkpKTBICNUMzUgcmVhY2gKKyuk6qSkpMmkt6SkpLikpKSipKQgI1QzNSByZWFkLmNnaQorK6TqpKukwaTjpPMgI1QzNSDOpLLCpMGk46TzCisrpOqkraS3pOykx6SjICNUMzUgpeqlraW3peylx6WjCisrpOqkraTDpMmk4qTpobykryAjSk4gpeqlraXDpcmhpqXipemhvKWvCisrpOqkryAjVDM1IM6mCisrpOqkuKSnpPOk6qTjICNKTiDN+7fyzskKKyuk6qTDpMQgI1QzNSCl6qXDpcQKKyuk6qTDpMSkrKSkpOuktSAjSk4gpeqlw6XEpKykpKTrpLUKKyuk6qTDpN2kpqS/pKQgI0pOIM6pyv3CzgorK6TqpMakyqSiICNUMzUgpeqlxqXKobwKKyuk6qTIpOukqKSkpOqkpqTvpKGkoaTzICNKTiCl6qXIpeulqKWkpeqlpqWhpaGl8worK6TqpMik66SopKSk6qSmpO+koaShpPMgI0pOII7YjsSO2Y60jrKO2I6zjqeOp47dCisrpOqk3KTDpMggI1QzNSCl6qXcpcOlyAorK6TqpNyk66TQobykuaTepPOkq6TDpL8gI0pOIKXqpdyl66XQobyhpqW5pd6l86WrpcOlvworK6TqpNyk66TQobykuaTepPOkq6TDpL8gI0pOIKXqpdyl66X0paGhvKGmpbml3qXzpaulw6W/CisrpOqk3KTzICNUMzUgpeql3KXzCisrpOqk3KTzpNek7KSkICNUMzAgpeql3KXzpdel7KWkCisrpOqk4qG8pMik26S5pMggI1QzNSCl6qXiobylyKXbpbmlyAorK6TqpOKk2yAjVDM1IKXqpeKl2worK6TqpOOkryAjVDM1IChyeQorK6TqpOOkryAjVDM1IHJ5CisrpOqk46SvICNUMzUgocqj8qP5CisrpOqk46SvpLekraS4pMGk86S1pKQgI1QzNSDOrLyww8/Ew7rXCisrpOqk56SmpLmk7KSqpMiksyAjSk4gzsmluaXsw8sKKyuk6qTnpKakuaTspM6k6KSrpPMgI0NKIM7Jpbml7KTOzb20tgorK6TqpOekpqTOpKYgI1QzNSDOvse+CisrpOqk66SzICNKTiCl6qXru9IKKyuk6qTtobykySAjVDMwIKXqpe2hvKXJCisrpOqk7aSqpMmkuaTspMOkySAjVDM1IKXqpe2hvKXJpbml7KXDpckKKyuk6qTtpLmk7CAjVDM1IKXqpe2luaXsCisrpOqk86S0pMSkq6SkICNUMzUgpeql86W0u8ikpAorK6TrpKQgI1QzNSBydWkKKyuk66TRpPOk1aTppMOkt6TlICNUMzUgpeul0aXzpdWl6aXDpbel5QorK6TsobwgI0pOIKXsobwKKyuk7KSkpK2k5aSmpLek4yAjSk4gzu7bzbzWCisrpOykpKSvICNKTiCl7KWkpa8KKyuk7KSkpLWk4CAjVDM1IM7ktKgKKyuk7KSkpL6kpqSzICNUMzUgzuTCorjLCisrpOyksKTNpMOku6TgICNUMzUgUmVnbmVzc2VtCisrpOyksqG8ICNUMzUgpeylsqG8CisrpOyksqG8pKSkvyAjQ04gpeylsqG8yMQKKyuk7KSyobykpKS/ICNUMzUgpeylsqG8yMQKKyuk7KS4ICNUMzUgpeyluAorK6TspLkgI1QzMCCl7KW5CisrpOykuaS1pK+kuKTnICNUMzAgpeylubrvvfwKKyuk7KS5pLmk7KS0pNCkryAjVDMwIKXspbmluaXsuO3H+gorK6TspLmkv6TGpLSk0KSvICNUMzAgpeyluc6ppMa47cf6CisrpOykuaTQpPOktKSmICNUMzUgpeylucjWueYKKyuk7KTDpMikpiAjS0sgzvTGrAorK6TspMOkyaTWpMOkr6SkpM+k8yAjQ0ogpeylw6XJpdalw6WvsOPIv6GqoaKl7KXDpcmlq6G8pcmhqgorK6TspMSkrqTnpNmkpKTZobykt6G8pN6kpKTYobwgI0NKIKTspMSkrqTnoaqk2aSkpNmhvKGhpLehvKTepKSk2KG8ovYKKyuk7KTEpK6k56TZpKSk2aG8pLehvKTepKSk2KG8ICNUMzUgpOykxKSupOehqqTZpKSk2aG8oaGkt6G8pN6kpKTYobyi9gorK6TspMeko6SkpLmktaTeICNUMzUgpeylx6Wjobyluc3NCisrpOyk2aTrpNKkryAjS1kgpeyl2aXrxOMKKyuk7KTipMogI0pOIKXspeKlygorK6TspOKkyiAjSk4gpeyl4qXKIAorK6TspOKkyqS5pOwgI0NOIKXspeKlyqW5pewKKyuk7KTipMqkuaTspM6k4qTppOmhvCAjSk4gpeyl4qXKpbml7KTOpeKl6aXpobwKKyuk7KTipOmk4qG8pMogI0pOIKXspeKl6aXiobylygorK6TspOyk2yAjVDM1IKXspeyl2worK6TspPOkrCAjVDM1IKXspfOlrAorK6TtICNUMzUgz6cKKyuk7aG8pKuk66Trobyk6yAjVDM1IKXtobylq6XrpeuhvKXrCisrpO2kpKTipMqk2aTrICNKTiCl7aWkoaal4qXKpdml6worK6TtpLAgI1QzNSCl7aWwCisrpO2ksaTDpMikx6TEpK2kzKSxpOsgI0NKIKXtpbGlw6XIpMfGzaStyLSksaTrCisrpO2ktCAjVDM1IKXtpbQKKyuk7aTDpK+kt6TGpKMgI0pOIKXtpcOlr6W3pcaloworK6TtpMOkr6TipMqhvCAjSk4gpe2lw6WvpeKlyqG8CisrpO2kw6TdpPOkvqG8ICNKTiCk7aTDpN2k86S+obwKKyuk7aTDpN2k86S+obwgI1QzNSCk7aTDpN2k86S+obwKKyuk7aTGpKik8yAjVDM1IKXtpcahvKXzCisrpO2kxqSopPMgI1QzNSCO247DjrCO3QorK6TtpNOk4aS5ICNKTiCl7aXTpeGluQorK6TtpNOk4aS5ICNUMzUgpe2l06XhpbkKKyuk7aTTpOmhvCAjVDM1IKXtpdOl6aG8CisrpO2k1aTIpNek6aS5pO+k8yAjQ04gpe2l1aXIpdel6aW5pe+l8worK6TtpOAgI0tTIFJPTQorK6TtpOAgI1I1IKPSo8+jzQorK6TtpOAgI1QzNSBSQE0KKyuk7aTgICNUMzUgUk9NCisrpO2k4CAjVDM1IKPSo8+jzQorK6TtpOogI1QzNSCl7aXqCisrpO2k6qSzpPMgI1QzNSCl7aXqpbOl8worK6TtpOqk2qTJICNUMzUgpe2l6qXapckKKyuk7aTrICNDSiAobG9sCisrpO2k7CAjS0sgpe2l7AorK6TtpO0gI0pOIKXtpe0KKyuk7aTtICNUMzUgpe2l7QorK6TtpPOksiAjVDM1IKXtpfPM0worK6Tvobyk4qTKobwgI0pOIKTvobyk4qTKobwKKyuk76SkpMekuaTopPOkuKTlpKYgI0pOIKXvpaSlxqGrpbmjtKOwCisrpO+kpKTTobyk06G8pNukpqTBpN+k8yAjVDM1IKPZo8Kjwsr8w9bMsQorK6TvpKukqqSvICNUMzUgpO+kq6SqpK8KKyuk76SrpM6kz6TKICNUMzUgV0FLQU5PSEFOQQorK6TvpKuk4SAjVDM1IKTvpKuk4QorK6TvpLGk76SrpOmk8yAjSk4gpe+lsaXvpaul6aXzCisrpO+ktaTTICNUMzUgpe+ltaXTCisrpO+kuKSqICNDTiDPwrH2CisrpO+kuKSqICNLSyDPwrH2CisrpO+kuKSqICNUMzUgz8Kx9gorK6TvpLukwKSopK0gI0pOIMHhsPDFxLHYCisrpO+kv6TKpNkgI1QzNSDFz8rVCisrpO+kv6TKpNmk4qTKobwgI0pOIKXvpb+lyqXZpeKlyqG8CisrpO+kv6TKpNmk4qTKobwgI0pOIKXvpb+lyqXZpeKlyqG8IAorK6TvpMogI1QzNSDmqworK6TvpMqhvCAjSk4gpe+lyqG8CisrpO+k6SAjQ0ogICjPzgorK6TvpOkgI0NKICh3CisrpO+k6SAjQ0ogKKP3CisrpO+k6SAjQ0ogKKXvpekKKyuk76TpICNDSiAo3NcKKyuk76TpICNDSiAojtyO1worK6TvpOkgI0NKIHcKKyuk76TpICNDSiCk76TpIAorK6TvpOkgI0NKIKXvpekKKyuk76TpICNDSiDPziAKKyuk76TpMSAjSk4gpe+l6TEKKyuk76TpMSAjSk4gjtyO1zEKKyuk76TppKMgI0NKIKXvpemloworK6TvpOmkvyAjQ0ogpe+l6aW/CisrpO+k6aS/ICNDSiCO3I7XjsAKKyuk76TppNMgI1QzNSChys/PCisrpO+k6aTvpLuk66TKICNDSiCl76Xppe+lu6XrpcoKKyuk76TppO+ku6TrpMogI0NKII7cjteO3I6+jtmOxQorK6TvpOqkqiAjVDM1IKXvpeqlqgorK6TvpOuk7CAjUjUgpO+k66TsCisrpO+k7KS2obwgI1QzNSCl76XspbahvAorK6TvpOyktqTBpOWkpqTcpKYgI1QzNSCl76Xspba/38u8CisrpO+k7KS6ICNUMzUgpe+l7KW6CisrpO+k7KTipM4gI0tLIKTvpOyk4qTOCisrpO+k7KTipM4gI1QzNSCk76TspOKkzgorK6TvpOyk4qTOICNUMzUgs+Sk7MqqCisrpO+k7aS/ICNDSiCl76Xtpb8KKyuk76TzpMChvCAjVDM1IFdPTkRFUgorK6TypKukraSzpOCkuaTspMCk6CAjQ0ogpPK98aStuf6k4KW5peykwKTooaqhqgorK6TypKukraSzpOCkuaTspMCk6CAjSk4gocqhpqLPoaahyworK6TypL8gI0pOIKXypb8KKyuk8qS/ICNUMzUgpfKlvworK6TypL+kt6TLpMqk3qTrpN6k6yAjSk4gjqaOwDQyNzAwCisrpPKkv6S/pL+krSAjVDM1IKXypb/DoaStCisrpPKkv6S/pL+kraTypL8gI1QzNSCl8qW/w6GkraXypb8KKyuk8qS/pMGkp6TDpK8gI1QzMCCl8qW/pcGlp6XDpa8KKyuk8qS/pMGkp6TDpK+koqTLpPKkv6TYpPMgI0pOIKXypb+lwaWnpcOlr6HKpaKly6Xypb/K1KHLCisrpPKkv6TpobwgI0pOIKXypb+l6aG8CisrpPKkv6TpobwgI0pOII6mjsCO146wCisrpPKkwSAjVDMwIKXypcEKKyuk8qTBpKSkvyAjQ04gpfKlwcjECisrpPKkwaSkpL8gI1QzNSCl8qXByMQKKyuk8qTDpMEgI1QzMCCl8qXDpcEKKyuk8qTDpMGkpKS/ICNDTiCl8qXDpcHIxAorK6TypMOkwaSkpL8gI1QzNSCl8qXDpcHIxAorK6TypPAgI1QzNSCk8qTwCisrpPOhvCAjSk4gpPOhwaGqoakKKyuk86SspPOksCAjQ0ogpPOkrKTzpLAKKyuk86S4pOMgI0NKIKTzpLik46GqCisrpPOkwKToICNKTiCl86XApegKKyuk86TApPOkwCAjQ0ogpPOkwKTzpMAKKyuk86THICNKTiCk86THoaEKKyuk86TKpLOkv6SipMqkpCAjQ0ogpPOkyqSzpL+hvKTKpKQKKyuk86TKpO+ksaTNobyk6CAjSk4gpPOkyqTvpLGlzaG8pegKKyuk86TeICNKTiAoYKbGLqGtKaHjpPOk3iEKKyuk86TeICNKTiCk86TeoaoKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYW50aHkvYW50aHkvbmF0aXZlLWhlbHBlcnMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2FudGh5L2FudGh5L25hdGl2ZS1oZWxwZXJzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI5MWI2NmIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2FudGh5L2FudGh5L25hdGl2ZS1oZWxwZXJzLnBhdGNoCkBAIC0wLDAgKzEsNTAgQEAKK3Vwc3RyZWFtOiBub3QgYXBwbGljYWJsZQorYXV0aG9yOiBwSDUKK2NvbW1lbnQ6IFN0YWdlIHRoZSBuYXRpdmUgYW50aHkgaGVscGVycyBta2ZpbGVkaWMsIG1rZGVwZ3JhcGgsIG1rd29yZGRpYywgCitjb21tZW50OiBjYWxjdHJhbnMgYW5kIHByb2Njb3JwdXMuCisKKy0tLSBhbnRoeS03ODExL21rYW50aHlkaWMvTWFrZWZpbGUuYW1+CTIwMDYtMDUtMTMgMTg6Mjg6MzUuMDAwMDAwMDAwICswOTAwCisrKysgYW50aHktNzgxMS9ta2FudGh5ZGljL01ha2VmaWxlLmFtCTIwMDYtMDYtMTggMTA6NTY6MjUuNzcwMDAwMDAwICswOTAwCitAQCAtMyw3ICszLDcgQEAKKyBDTEVBTkZJTEVTID0gYW50aHkuZGljCisgSU5DTFVERVMgPSAtSSQodG9wX3NyY2RpcikvaW5jbHVkZSAtRFNSQ0RJUj1cIiQoc3JjZGlyKVwiCisgCistbm9pbnN0X1BST0dSQU1TID0gbWtmaWxlZGljCisrYmluX1BST0dSQU1TID0gbWtmaWxlZGljCisgbWtmaWxlZGljX1NPVVJDRVMgPSBta2ZpbGVkaWMuYworIG1rZmlsZWRpY19MREFERCA9IC4uL3NyYy1kaWNsaWIvbGliZGljbGliLmxhCisgCistLS0gYW50aHktNzgxMS9kZXBncmFwaC9NYWtlZmlsZS5hbX4JMjAwNi0wNi0wMiAwMDoyMDo1NC4wMDAwMDAwMDAgKzA5MDAKKysrKyBhbnRoeS03ODExL2RlcGdyYXBoL01ha2VmaWxlLmFtCTIwMDYtMDYtMTggMTA6NTc6MTkuNDIwMDAwMDAwICswOTAwCitAQCAtOSw3ICs5LDcgQEAKKyBFWFRSQV9ESVNUID0gaW5kZXB3b3JkLnR4dCAkKERFUFdPUkRTKQorIAorICMgR2VuZXJhdGUgdGhlIGRpY3Rpb25hcnkKKy1ub2luc3RfUFJPR1JBTVMgPSBta2RlcGdyYXBoCisrYmluX1BST0dSQU1TID0gbWtkZXBncmFwaAorIG1rZGVwZ3JhcGhfU09VUkNFUyA9IG1rZGVwZ3JhcGguYworIG1rZGVwZ3JhcGhfTERBREQgPSAgLi4vc3JjLW1haW4vbGliYW50aHkubGEgLi4vc3JjLXdvcmRkaWMvbGliYW50aHlkaWMubGEKKyAKKy0tLSBhbnRoeS03ODExL21rd29yZGRpYy9NYWtlZmlsZS5hbX4JMjAwNi0wNS0xMyAxODoyOTowNy4wMDAwMDAwMDAgKzA5MDAKKysrKyBhbnRoeS03ODExL21rd29yZGRpYy9NYWtlZmlsZS5hbQkyMDA2LTA2LTE4IDExOjIxOjU2LjMwMDAwMDAwMCArMDkwMAorQEAgLTE2LDcgKzE2LDggQEAKKyAgdWRpY3QgZGljdC5hcmdzLmluCisgCisgIyBHZW5lcmF0ZSB0aGUgZGljdGlvbmFyeQorLW5vaW5zdF9QUk9HUkFNUyA9IG1rd29yZGRpYworKyNub2luc3RfUFJPR1JBTVMgPSBta3dvcmRkaWMKKytiaW5fUFJPR1JBTVMgPSBta3dvcmRkaWMKKyBta3dvcmRkaWNfU09VUkNFUyA9IG1rZGljLmMgd3JpdGV3b3Jkcy5jIG1rdWRpYy5jIGNhbGNmcmVxLmMgbWtkaWMuaAorIG1rd29yZGRpY19MREFERCA9IC4uL3NyYy13b3JkZGljL2xpYmFudGh5ZGljLmxhCisKKy0tLSBhbnRoeS05MTAwZS5vcmlnL2NhbGN0cmFucy9NYWtlZmlsZS5hbQkyMDA4LTA1LTA4IDE1OjA0OjEzLjAwMDAwMDAwMCArMDIwMAorKysrIGFudGh5LTkxMDBlL2NhbGN0cmFucy9NYWtlZmlsZS5hbQkyMDA4LTA1LTA4IDE1OjA0OjI0LjAwMDAwMDAwMCArMDIwMAorQEAgLTMsNyArMyw3IEBACisgIGNvcnB1cy4zLnR4dCBjb3JwdXMuNC50eHQgY29ycHVzLjUudHh0XAorICBjb3JwdXNfaW5mbyB3ZWFrX3dvcmRzCisgCistbm9pbnN0X1BST0dSQU1TID0gY2FsY3RyYW5zIHByb2Njb3JwdXMKKytiaW5fUFJPR1JBTVMgPSBjYWxjdHJhbnMgcHJvY2NvcnB1cworIElOQ0xVREVTID0gLUkkKHRvcF9zcmNkaXIpLworIAorIGNhbGN0cmFuc19TT1VSQ0VTID0gY2FsY3RyYW5zLmMgaW5wdXRfc2V0LmMgaW5wdXRfc2V0LmggY29ycHVzLmMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYW50aHkvYW50aHkvbm90X2J1aWxkX2VsYy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYW50aHkvYW50aHkvbm90X2J1aWxkX2VsYy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZjc0OGYzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hbnRoeS9hbnRoeS9ub3RfYnVpbGRfZWxjLnBhdGNoCkBAIC0wLDAgKzEsMTYgQEAKK3Vwc3RyZWFtOiBub3QgYXBwbGljYWJsZQorc291cmNlOiBzdG9sZW4gZnJvbSBkZWJpYW4KKworZGlmZiAtTmF1ciBhbnRoeS03ODExL3NyYy11dGlsLm9yaWcvTWFrZWZpbGUuYW0gYW50aHktNzgxMS9zcmMtdXRpbC9NYWtlZmlsZS5hbQorLS0tIGFudGh5LTc4MTEvc3JjLXV0aWwub3JpZy9NYWtlZmlsZS5hbQkyMDA2LTA2LTE4IDEwOjQ3OjU1Ljc5MDAwMDAwMCArMDkwMAorKysrIGFudGh5LTc4MTEvc3JjLXV0aWwvTWFrZWZpbGUuYW0JMjAwNi0wNi0xOCAxMDo0ODoyMy44NjAwMDAwMDAgKzA5MDAKK0BAIC02LDcgKzYsOCBAQAorICBhbnRoeS1pc2VhcmNoLmVsIGFudGh5LWF6aWsuZWwgYW50aHkta3l1cmkuZWwKKyBFWFRSQV9ESVNUID0gJChFTElTUF9GSUxFUykgdHlwZXRhYiBkaWMtdG9vbC11c2FnZS50eHQgcmNzaXplLnJiCisgYmluX1BST0dSQU1TID0gYW50aHktZGljLXRvb2wgYW50aHktYWdlbnQgYW50aHktbW9ycGhvbG9naWNhbC1hbmFseXplcgorLUVMQ0ZJTEVTID0gYW50aHkuZWxjIGFudGh5LWRpYy5lbGMgYW50aHktYXppay5lbGMgYW50aHktY29uZi5lbGMgYW50aHktaXNlYXJjaC5lbGMgYW50aHkta3l1cmkuZWxjIGxlaW0tbGlzdC5lbGMKKysjRUxDRklMRVMgPSBhbnRoeS5lbGMgYW50aHktZGljLmVsYyBhbnRoeS1hemlrLmVsYyBhbnRoeS1jb25mLmVsYyBhbnRoeS1pc2VhcmNoLmVsYyBhbnRoeS1reXVyaS5lbGMgbGVpbS1saXN0LmVsYworK0VMQ0ZJTEVTID0gCisgaWYgRUxJU1AKKyBsaXNwX0xJU1AgPSAkKEVMSVNQX0ZJTEVTKQorIGVuZGlmCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2FudGh5L2FudGh5L3RhcmdldC1oZWxwZXJzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hbnRoeS9hbnRoeS90YXJnZXQtaGVscGVycy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMjJjMzU2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hbnRoeS9hbnRoeS90YXJnZXQtaGVscGVycy5wYXRjaApAQCAtMCwwICsxLDExMSBAQAorZGlmZiAtTnVycCBhbnRoeS05MTAwaC5vcmcvY2FsY3RyYW5zL01ha2VmaWxlLmFtIGFudGh5LTkxMDBoL2NhbGN0cmFucy9NYWtlZmlsZS5hbQorLS0tIGFudGh5LTkxMDBoLm9yZy9jYWxjdHJhbnMvTWFrZWZpbGUuYW0JMjAwNy0xMC0yNyAyMzowMjo1OS4wMDAwMDAwMDAgKzA5MDAKKysrKyBhbnRoeS05MTAwaC9jYWxjdHJhbnMvTWFrZWZpbGUuYW0JMjAxNC0xMS0xMSAxNzoxNDo0Mi4xNTI5OTk5OTEgKzA5MDAKK0BAIC0xNSwzMSArMTUsMzEgQEAgZGljdF9zb3VyY2VfZmlsZXMgPSBhbnRoeS5jYW5kX2luZm8gYW50aAorIAorIHVwZGF0ZV9wYXJhbXM6CisgCXJtIC1mIHBhcnNlZF9kYXRhMgorLQkuL3Byb2Njb3JwdXMgJChzcmNkaXIpL2NvcnB1cy4/LnR4dCA+IHBhcnNlZF9kYXRhCistCS4vY2FsY3RyYW5zIHBhcnNlZF9kYXRhIC1vICQoc3JjZGlyKS9jb3JwdXNfaW5mbworLQkuL2NhbGN0cmFucyBwYXJzZWRfZGF0YSAtZSAtbyAkKHNyY2Rpcikvd2Vha193b3JkcworKwlwcm9jY29ycHVzICQoc3JjZGlyKS9jb3JwdXMuPy50eHQgPiBwYXJzZWRfZGF0YQorKwljYWxjdHJhbnMgcGFyc2VkX2RhdGEgLW8gJChzcmNkaXIpL2NvcnB1c19pbmZvCisrCWNhbGN0cmFucyBwYXJzZWRfZGF0YSAtZSAtbyAkKHNyY2Rpcikvd2Vha193b3JkcworIAltYWtlIGRvX3VwZGF0ZV9wYXJhbXMKKyAKKyB1cGRhdGVfcGFyYW1zMDoKKyAJcm0gLWYgcGFyc2VkX2RhdGEyCistCS4vcHJvY2NvcnB1cyAkKHNyY2RpcikvY29ycHVzLjAudHh0ID4gcGFyc2VkX2RhdGEKKy0JLi9jYWxjdHJhbnMgcGFyc2VkX2RhdGEgLW8gJChzcmNkaXIpL2NvcnB1c19pbmZvCistCS4vY2FsY3RyYW5zIHBhcnNlZF9kYXRhIC1lIC1vICQoc3JjZGlyKS93ZWFrX3dvcmRzCisrCXByb2Njb3JwdXMgJChzcmNkaXIpL2NvcnB1cy4wLnR4dCA+IHBhcnNlZF9kYXRhCisrCWNhbGN0cmFucyBwYXJzZWRfZGF0YSAtbyAkKHNyY2RpcikvY29ycHVzX2luZm8KKysJY2FsY3RyYW5zIHBhcnNlZF9kYXRhIC1lIC1vICQoc3JjZGlyKS93ZWFrX3dvcmRzCisgCW1ha2UgZG9fdXBkYXRlX3BhcmFtcworIAorIHVwZGF0ZV9wYXJhbXMyOgorLQkuL3Byb2Njb3JwdXMgJChzcmNkaXIpL2NvcnB1cy4/LnR4dCA+PiBwYXJzZWRfZGF0YTIKKy0JLi9jYWxjdHJhbnMgcGFyc2VkX2RhdGEgcGFyc2VkX2RhdGEyIC1vICQoc3JjZGlyKS9jb3JwdXNfaW5mbworLQkuL2NhbGN0cmFucyBwYXJzZWRfZGF0YSBwYXJzZWRfZGF0YTIgLWUgLW8gJChzcmNkaXIpL3dlYWtfd29yZHMKKysJcHJvY2NvcnB1cyAkKHNyY2RpcikvY29ycHVzLj8udHh0ID4+IHBhcnNlZF9kYXRhMgorKwljYWxjdHJhbnMgcGFyc2VkX2RhdGEgcGFyc2VkX2RhdGEyIC1vICQoc3JjZGlyKS9jb3JwdXNfaW5mbworKwljYWxjdHJhbnMgcGFyc2VkX2RhdGEgcGFyc2VkX2RhdGEyIC1lIC1vICQoc3JjZGlyKS93ZWFrX3dvcmRzCisgCW1ha2UgZG9fdXBkYXRlX3BhcmFtcworIAorIGRvX3VwZGF0ZV9wYXJhbXM6CistCS4vY2FsY3RyYW5zIC1jICQoc3JjZGlyKS9jb3JwdXNfaW5mbworKwljYWxjdHJhbnMgLWMgJChzcmNkaXIpL2NvcnB1c19pbmZvCisgCXJtIC1mICQoZGljdF9zb3VyY2VfZmlsZXMpCisgCW1ha2UgJChkaWN0X3NvdXJjZV9maWxlcykKKyAKKy0kKGRpY3Rfc291cmNlX2ZpbGVzKTogJChzcmNkaXIpL2NvcnB1c19pbmZvICQoc3JjZGlyKS93ZWFrX3dvcmRzIGNhbGN0cmFucworLQkuL2NhbGN0cmFucyAtYyAkKHNyY2RpcikvY29ycHVzX2luZm8gJChzcmNkaXIpL3dlYWtfd29yZHMKKyskKGRpY3Rfc291cmNlX2ZpbGVzKTogJChzcmNkaXIpL2NvcnB1c19pbmZvICQoc3JjZGlyKS93ZWFrX3dvcmRzCisrCWNhbGN0cmFucyAtYyAkKHNyY2RpcikvY29ycHVzX2luZm8gJChzcmNkaXIpL3dlYWtfd29yZHMKKyAKKyBub2luc3RfREFUQSA9ICQoZGljdF9zb3VyY2VfZmlsZXMpCisgQ0xFQU5GSUxFUyA9ICQoZGljdF9zb3VyY2VfZmlsZXMpIHBhcnNlZF9kYXRhIHBhcnNlZF9kYXRhMiBhbnRoeS5mZWF0dXJlX2luZm8KK2RpZmYgLU51cnAgYW50aHktOTEwMGgub3JnL2RlcGdyYXBoL01ha2VmaWxlLmFtIGFudGh5LTkxMDBoL2RlcGdyYXBoL01ha2VmaWxlLmFtCistLS0gYW50aHktOTEwMGgub3JnL2RlcGdyYXBoL01ha2VmaWxlLmFtCTIwMDgtMTEtMjkgMjE6NDY6MTQuMDAwMDAwMDAwICswOTAwCisrKysgYW50aHktOTEwMGgvZGVwZ3JhcGgvTWFrZWZpbGUuYW0JMjAxNC0xMS0xMSAxNzoxMjowMy44MTM5OTk5OTEgKzA5MDAKK0BAIC05LDExICs5LDExIEBAIENMRUFORklMRVMgPSBhbnRoeS5kZXAKKyBFWFRSQV9ESVNUID0gaW5kZXB3b3JkLnR4dCAkKERFUFdPUkRTKQorIAorICMgR2VuZXJhdGUgdGhlIGRpY3Rpb25hcnkKKy1ub2luc3RfUFJPR1JBTVMgPSBta2RlcGdyYXBoCistbWtkZXBncmFwaF9TT1VSQ0VTID0gbWtkZXBncmFwaC5jCistbWtkZXBncmFwaF9MREFERCA9ICAuLi9zcmMtbWFpbi9saWJhbnRoeS5sYSAuLi9zcmMtd29yZGRpYy9saWJhbnRoeWRpYy5sYQorKyNub2luc3RfUFJPR1JBTVMgPSBta2RlcGdyYXBoCisrI21rZGVwZ3JhcGhfU09VUkNFUyA9IG1rZGVwZ3JhcGguYworKyNta2RlcGdyYXBoX0xEQUREID0gIC4uL3NyYy1tYWluL2xpYmFudGh5LmxhIC4uL3NyYy13b3JkZGljL2xpYmFudGh5ZGljLmxhCisgCistYW50aHkuZGVwIDogbWtkZXBncmFwaCAkKERFUFdPUkRTKQorLQkuL21rZGVwZ3JhcGgKKythbnRoeS5kZXAgOiAkKERFUFdPUkRTKQorKwlta2RlcGdyYXBoCisgCisgbm9pbnN0X0RBVEEgPSBhbnRoeS5kZXAKK2RpZmYgLU51cnAgYW50aHktOTEwMGgub3JnL21rYW50aHlkaWMvTWFrZWZpbGUuYW0gYW50aHktOTEwMGgvbWthbnRoeWRpYy9NYWtlZmlsZS5hbQorLS0tIGFudGh5LTkxMDBoLm9yZy9ta2FudGh5ZGljL01ha2VmaWxlLmFtCTIwMDctMDQtMTQgMTg6MDE6MTAuMDAwMDAwMDAwICswOTAwCisrKysgYW50aHktOTEwMGgvbWthbnRoeWRpYy9NYWtlZmlsZS5hbQkyMDE0LTExLTExIDE3OjEwOjM0Ljc5Mjk5OTk5MSArMDkwMAorQEAgLTMsMTIgKzMsMTIgQEAgbm9pbnN0X1NDUklQVFMgPQorIENMRUFORklMRVMgPSBhbnRoeS5kaWMKKyBJTkNMVURFUyA9IC1JJCh0b3Bfc3JjZGlyKS8gLURTUkNESVI9XCIkKHNyY2RpcilcIgorIAorLW5vaW5zdF9QUk9HUkFNUyA9IG1rZmlsZWRpYworLW1rZmlsZWRpY19TT1VSQ0VTID0gbWtmaWxlZGljLmMKKy1ta2ZpbGVkaWNfTERBREQgPSAuLi9zcmMtZGljbGliL2xpYmRpY2xpYi5sYQorKyNub2luc3RfUFJPR1JBTVMgPSBta2ZpbGVkaWMKKysjbWtmaWxlZGljX1NPVVJDRVMgPSBta2ZpbGVkaWMuYworKyNta2ZpbGVkaWNfTERBREQgPSAuLi9zcmMtZGljbGliL2xpYmRpY2xpYi5sYQorIAorLWFudGh5LmRpYyA6IG1rZmlsZWRpYyAuLi9ta3dvcmRkaWMvYW50aHkud2RpYyAuLi9kZXBncmFwaC9hbnRoeS5kZXAgLi4vY2FsY3RyYW5zL2FudGh5LmNhbmRfaW5mbyAuLi9jYWxjdHJhbnMvYW50aHkudHJhbnNfaW5mbyAuLi9jYWxjdHJhbnMvYW50aHkuY29ycHVzX2FycmF5IC4uL2NhbGN0cmFucy9hbnRoeS5jb3JwdXNfYnVja2V0CistCS4vbWtmaWxlZGljCisrYW50aHkuZGljIDogLi4vbWt3b3JkZGljL2FudGh5LndkaWMgLi4vZGVwZ3JhcGgvYW50aHkuZGVwIC4uL2NhbGN0cmFucy9hbnRoeS5jYW5kX2luZm8gLi4vY2FsY3RyYW5zL2FudGh5LnRyYW5zX2luZm8gLi4vY2FsY3RyYW5zL2FudGh5LmNvcnB1c19hcnJheSAuLi9jYWxjdHJhbnMvYW50aHkuY29ycHVzX2J1Y2tldAorKwlta2ZpbGVkaWMKKyAKKyAKKyAjIFRvIGluc3RhbGwgCitkaWZmIC1OdXJwIGFudGh5LTkxMDBoLm9yZy9ta3dvcmRkaWMvTWFrZWZpbGUuYW0gYW50aHktOTEwMGgvbWt3b3JkZGljL01ha2VmaWxlLmFtCistLS0gYW50aHktOTEwMGgub3JnL21rd29yZGRpYy9NYWtlZmlsZS5hbQkyMDA5LTAxLTIzIDEyOjMxOjMxLjAwMDAwMDAwMCArMDkwMAorKysrIGFudGh5LTkxMDBoL21rd29yZGRpYy9NYWtlZmlsZS5hbQkyMDE0LTExLTExIDE3OjEzOjMxLjk0Njk5OTk5MiArMDkwMAorQEAgLTI2LDE0ICsyNiwxNCBAQCBESUNfRklMRVMgPSBAdG9wX3NyY2RpckAvYWx0LWNhbm5hZGljL2djCisgCSAgICBAdG9wX3NyY2RpckAvbWt3b3JkZGljL3VkaWN0CisgCisgIyBHZW5lcmF0ZSB0aGUgZGljdGlvbmFyeQorLW5vaW5zdF9QUk9HUkFNUyA9IG1rd29yZGRpYworLW1rd29yZGRpY19TT1VSQ0VTID0gbWtkaWMuYyB3cml0ZXdvcmRzLmMgbWt1ZGljLmMgY2FsY2ZyZXEuYyBta2RpYy5oCistbWt3b3JkZGljX0xEQUREID0gLi4vc3JjLXdvcmRkaWMvbGliYW50aHlkaWMubGEKKysjbm9pbnN0X1BST0dSQU1TID0gbWt3b3JkZGljCisrI21rd29yZGRpY19TT1VSQ0VTID0gbWtkaWMuYyB3cml0ZXdvcmRzLmMgbWt1ZGljLmMgY2FsY2ZyZXEuYyBta2RpYy5oCisrI21rd29yZGRpY19MREFERCA9IC4uL3NyYy13b3JkZGljL2xpYmFudGh5ZGljLmxhCisgCisgbm9pbnN0X0RBVEEgPSBhbnRoeS53ZGljCisgCistYW50aHkud2RpYyA6IG1rd29yZGRpYyAkKERJQ19GSUxFUykKKy0JICAgLi9ta3dvcmRkaWMgLWYgLi9kaWN0LmFyZ3MKKythbnRoeS53ZGljIDogJChESUNfRklMRVMpCisrCSAgIG1rd29yZGRpYyAtZiAuL2RpY3QuYXJncworIAorIAorICMgVG8gaW5zdGFsbApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hbnRoeS9hbnRoeV85MTAwaC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYW50aHkvYW50aHlfOTEwMGguYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTEyMWI0NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYW50aHkvYW50aHlfOTEwMGguYmIKQEAgLTAsMCArMSw0MiBAQAorREVTQ1JJUFRJT049IkFudGh5IGlzIGEgc3lzdGVtIGZvciBKYXBhbmVzZSBpbnB1dCBtZXRob2QuIEl0IGNvbnZlcnRzIEhpcmFnYW5hIHRleHQgdG8gS2FuYSBLYW5qaSBtaXhlZCB0ZXh0LiIKK0FVVEhPUiA9ICJBbnRoeSBEZXZlbG9wZXJzIDxhbnRoeS1kZXZAbGlzdHMuc291cmNlZm9yZ2UuanA+IgorSE9NRVBBR0UgPSAiaHR0cDovL2FudGh5LnNvdXJjZWZvcmdlLmpwIgorCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MTFmMzg0MDc0ZDhlOTNlMjYzYjU2NjRlZjA4YTQxMWEiCisKK1NSQ19VUkkgPSAiaHR0cDovL29zZG4uZGwuc291cmNlZm9yZ2UuanAvYW50aHkvMzc1MzYvYW50aHktOTEwMGgudGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL25vdF9idWlsZF9lbGMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMmNoX3QucGF0Y2ggXAorICAgICAgICAgICIKKworU1JDX1VSSV9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gImZpbGU6Ly90YXJnZXQtaGVscGVycy5wYXRjaCIKK1NSQ19VUklfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICJmaWxlOi8vbmF0aXZlLWhlbHBlcnMucGF0Y2giCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIxZjU1OGZmN2VkMjk2Nzg3YjU1YmIxYzZjZjEzMTEwOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkMjU2ZjA3NWYwMThiNGEzY2IwZDE2NWVkNjE1MWZkYTRiYTdkYjE2MjE3MjdlMGViNTQ1NjliNmUyMjc1NTQ3IgorCitERVBFTkRTX2NsYXNzLXRhcmdldCA9ICJhbnRoeS1uYXRpdmUiCitSREVQRU5EU18ke1BOfV9jbGFzcy10YXJnZXQgPSAibGliYW50aHkwIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworUEFDS0FHRVMgKz0gIiR7UE59LWVsIGxpYmFudGh5MCBsaWJhbnRoeS1kZXYiCisKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9Ly5kZWJ1ZyIKK0ZJTEVTX2xpYmFudGh5MCA9ICIke2xpYmRpcn0vbGliYW50aHkuc28uKiAgXAorCQkgICAke2xpYmRpcn0vbGliYW50aHlkaWMuc28uKiAgIFwKKwkJICAgJHtsaWJkaXJ9L2xpYmFudGh5aW5wdXQuc28uKiIKKworRklMRVNfbGliYW50aHktZGV2ID0gIiR7bGliZGlyfS9saWJhbnRoeSoubGEgXAorCQkgICAgICAke2xpYmRpcn0vbGliYW50aHkqLmEgXAorCQkgICAgICAke2xpYmRpcn0vbGliYW50aHkqLnNvIFwKKwkJICAgICAgJHtpbmNsdWRlZGlyfS9hbnRoeSAgIFwKKwkJICAgICAgJHtsaWJkaXJ9L3BrZ2NvbmZpZy9hbnRoeS5wYyIKKworRklMRVNfJHtQTn0tZWwgPSAiJHtkYXRhZGlyfS9lbWFjcy8qIgorRklMRVNfJHtQTn0gPSAiJHtkYXRhZGlyfS8qIFwKKwkgICAgICAgJHtiaW5kaXJ9LyogXAorCSAgICAgICAke3N5c2NvbmZkaXJ9L2FudGh5LWNvbmYiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hcGN1cHNkL2FwY3Vwc2RfMy4xNC4xMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXBjdXBzZC9hcGN1cHNkXzMuMTQuMTAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzVjODkxZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXBjdXBzZC9hcGN1cHNkXzMuMTQuMTAuYmIKQEAgLTAsMCArMSw0MiBAQAorU1VNTUFSWSA9ICJBcGN1cHNkIGEgZGFlbW9uIGZvciBjb250cm9sbGluZyBBUEMgVVBTZXMiCisKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1jMTI4NTNjYzdmZGYyMGQxN2I0ZmRkZWZkMjZiNzgwMiIKKworU1JDX1VSSSA9ICJodHRwOi8vZ2Fyci5kbC5zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdC9hcGN1cHNkL2FwY3Vwc2QlMjAtJTIwU3RhYmxlLzMuMTQuMTAvYXBjdXBzZC0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiNTkyODgyMmQ4NTVjNWNmN2FjMjk2NTVlM2UwYjhjMjMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDcwN2I1ZWM5OTE2ZmJkZTllNDRlYjhkMTgwMzdjOGQ4Zjc1ZGZkNmFlZWY1MWFiYTU0ODdlMTg5ZWVmMjAzMiIKKworUE5CTEFDS0xJU1RbYXBjdXBzZF0gPz0gIkJST0tFTjogZG9lc24ndCBidWlsZCB3aXRoIEIhPVMiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK0xEID0gIiR7Q1hYfSIKKworRVhUUkFfT0VDT05GID0gIi0td2l0aG91dC14IFwKKyAgICAgICAgICAgICAgICAtLWVuYWJsZS11c2IgXAorICAgICAgICAgICAgICAgIC0td2l0aC1kaXN0bmFtZT0ke0RJU1RST30iCisKK2RvX2NvbmZpZ3VyZSgpIHsKKyAgICBleHBvcnQgdG9wZGlyPSR7U30KKyAgICBjcCAtUiAtLW5vLWRlcmVmZXJlbmNlIC0tcHJlc2VydmU9bW9kZSxsaW5rcyAtdiAke1N9L2F1dG9jb25mL2NvbmZpZ3VyZS5pbiAke1N9CisKKyAgICBpZiAhIFsgLWQgJHtTfS9wbGF0Zm9ybXMvJHtESVNUUk99IF0gOyB0aGVuCisgICAgICAgIGNwIC1SIC0tbm8tZGVyZWZlcmVuY2UgLS1wcmVzZXJ2ZT1tb2RlLGxpbmtzIC12ICR7U30vcGxhdGZvcm1zL3Vua25vd24gJHtTfS9wbGF0Zm9ybXMvJHtESVNUUk99IAorICAgIGZpCisKKyAgICBnbnUtY29uZmlnaXplIC0tZm9yY2UKKyAgICAjIGluc3RhbGwgLS1oZWxwIHNheXMgJy1jJyBpcyBhbiBpZ25vcmVkIG9wdGlvbiwgYnV0IGl0IHR1cm5zIG91dCB0aGF0IHRoZSBhcmd1bWVudCB0byAtYyBpc24ndCBpZ25vcmVkLCBzbyBkcm9wIHRoZSBjb21wbGV0ZSAnLWMgcGF0aC90by9zdHJpcCcgbGluZQorICAgIHNlZCAtaSAtZSAnczokKElOU1RBTExfUFJPR1JBTSkgJChTVFJJUCk6JChJTlNUQUxMX1BST0dSQU0pOmcnICR7U30vYXV0b2NvbmYvdGFyZ2V0cy5tYWsKKyAgICAjIFNlYXJjaGluZyBpbiBob3N0IGRpcnMgdHJpZ2dlcnMgdGhlIFFBIGNoZWNrcworICAgIHNlZCAtaSAtZSAnczotSS91c3IvbG9jYWwvaW5jbHVkZTo6ZycgLWUgJ3M6LUwvdXNyL2xvY2FsL2xpYjY0OjpnJyAtZSAnczotTC91c3IvbG9jYWwvbGliOjpnJyAke1N9L2NvbmZpZ3VyZQorCisgICAgIyBtNCBtYWNyb3MgYXJlIG1pc3NpbmcsIHVzaW5nIGF1dG90b29sc19kb19jb25maWd1cmUgbGVhZHMgdG8gbGlua2luZyBlcnJvcnMgd2l0aCBnZXRob3N0bmFtZV9yZQorICAgIG9lX3J1bmNvbmYKK30KKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgcm0gJHtEfSR7ZGF0YWRpcn0vaGFsIC1yZgorfQorCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXNpby9hc2lvLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXNpby9hc2lvLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45Y2VhODI0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hc2lvL2FzaW8uaW5jCkBAIC0wLDAgKzEsMTUgQEAKK0RFU0NSSVBUSU9OID0gIkFzaW8gaXMgYSBjcm9zcy1wbGF0Zm9ybSBDKysgbGlicmFyeSBmb3IgbmV0d29yayBhbmQgbG93LWxldmVsIFwKKyAgICAgICAgSS9PIHByb2dyYW1taW5nIHRoYXQgcHJvdmlkZXMgZGV2ZWxvcGVycyB3aXRoIGEgY29uc2lzdGVudCBhc3luY2hyb25vdXMgXAorICAgICAgICBtb2RlbCB1c2luZyBhIG1vZGVybiBDKysgYXBwcm9hY2guIgorQVVUSE9SID0gIkNocmlzdG9waGVyIE0uIEtvaGxob2ZmIChjaHJpcyBhdCBrb2hsaG9mZiBkb3QgY29tKSIKK0hPTUVQQUdFID0gImh0dHA6Ly90aGluay1hc3luYy5jb20vQXNpbyIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiQlNMLTEuMCIKKworREVQRU5EUyA9ICJib29zdCIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vYXNpby8ke0JQfS50YXIuYnoyIgorCitpbmhlcml0IGF1dG90b29scworCitBTExPV19FTVBUWV8ke1BOfSA9ICIxIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hc2lvL2FzaW9fMS4xMC4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hc2lvL2FzaW9fMS4xMC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZkZmFhZjYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2FzaW8vYXNpb18xLjEwLjEuYmIKQEAgLTAsMCArMSw2IEBACityZXF1aXJlIGFzaW8uaW5jCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTExM2Y4MDBhYTUyMmQ5ZTM4YzMzMDljOThlYzUzYWRlIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNGQ1MDhjOTk0NzQwNGZlZTQwOTQ1Mzc1YjhhNWZkMzIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiODIwYTVkYWQzYzU2YTRmM2U5MzdmMmI5YWUwNTlhYjI2OTZjNjA1ODM0NWQ3MWI3YThiMDcyYTBmMmZjYmQ5OSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXRvcC9hdG9wL2ZpeC1wZXJtaXNzaW9ucy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXRvcC9hdG9wL2ZpeC1wZXJtaXNzaW9ucy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZTc0MTk5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hdG9wL2F0b3AvZml4LXBlcm1pc3Npb25zLnBhdGNoCkBAIC0wLDAgKzEsNTIgQEAKK1VwZGF0ZSBwZXJtaXNzaW9ucyBvZiBleGVjdXRhYmxlIGZpbGVzIHRoYXQgcmVtb3ZlIHNldHVpZCBiaXQgYW5kIG1ha2UgZXZlcnlvbmUKK2NvdWxkIHJlYWQuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IEthaSBLYW5nIDxrYWkua2FuZ0B3aW5kcml2ZXIuY29tPgorLS0tCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUgYi9NYWtlZmlsZQoraW5kZXggYTY1YjliNi4uMjFkOTgyOCAxMDA2NDQKKy0tLSBhL01ha2VmaWxlCisrKysgYi9NYWtlZmlsZQorQEAgLTY2LDcgKzY2LDcgQEAgc3lzdGVtZGluc3RhbGw6CWdlbmVyaWNpbnN0YWxsCisgCQljaG1vZCAwNjQ0ICAgICAgICAgICAgJChERVNURElSKSQoU1lTRFBBVEgpL2F0b3BhY2N0LnNlcnZpY2UKKyAJCWNwIGF0b3AuY3JvbnN5c3RlbWQgICAkKERFU1RESVIpJChDUk5QQVRIKS9hdG9wCisgCQljcCBhdG9wLXBtLnNoICAgICAgICAgJChERVNURElSKSQoUE1QQVRIRCkKKy0JCWNobW9kIDA3MTEgICAgICAgICAgICAkKERFU1RESVIpJChQTVBBVEhEKS9hdG9wLXBtLnNoCisrCQljaG1vZCAwNzU1ICAgICAgICAgICAgJChERVNURElSKSQoUE1QQVRIRCkvYXRvcC1wbS5zaAorIAkJIworIAkJIyBvbmx5IHdoZW4gbWFraW5nIG9uIHRhcmdldCBzeXN0ZW06CisgCQkjCitAQCAtOTEsMTEgKzkxLDExIEBAIHN5c3ZpbnN0YWxsOglnZW5lcmljaW5zdGFsbAorIAkJIworIAkJaWYgWyAgIC1kICQoREVTVERJUikkKFBNUEFUSDEpIF07IAkJCVwKKyAJCXRoZW4JY3AgNDVhdG9wcG0gJChERVNURElSKSQoUE1QQVRIMSk7IAkJXAorLQkJCWNobW9kIDA3MTEgICQoREVTVERJUikkKFBNUEFUSDEpLzQ1YXRvcHBtOwlcCisrCQkJY2htb2QgMDc1NSAgJChERVNURElSKSQoUE1QQVRIMSkvNDVhdG9wcG07CVwKKyAJCWZpCisgCQlpZiBbIC1kICQoREVTVERJUikkKFBNUEFUSDIpIF07IAkJCVwKKyAJCXRoZW4JY3AgNDVhdG9wcG0gJChERVNURElSKSQoUE1QQVRIMik7CQlcCistCQkJY2htb2QgMDcxMSAgJChERVNURElSKSQoUE1QQVRIMikvNDVhdG9wcG07CVwKKysJCQljaG1vZCAwNzU1ICAkKERFU1RESVIpJChQTVBBVEgyKS80NWF0b3BwbTsJXAorIAkJZmkKKyAJCSMKKyAJCSMKK0BAIC0xMzksNyArMTM5LDcgQEAgZ2VuZXJpY2luc3RhbGw6CWF0b3AgYXRvcGFjY3RkCisgCQkjCisgCQljcCBhdG9wICAgCQkkKERFU1RESVIpJChCSU5QQVRIKS9hdG9wCisgCQljaG93biByb290CQkkKERFU1RESVIpJChCSU5QQVRIKS9hdG9wCistCQljaG1vZCAwNDcxMSAJCSQoREVTVERJUikkKEJJTlBBVEgpL2F0b3AKKysJCWNobW9kIDA3NTUgCQkkKERFU1RESVIpJChCSU5QQVRIKS9hdG9wCisgCQlsbiAtc2YgYXRvcCAgICAgICAgICAgICAkKERFU1RESVIpJChCSU5QQVRIKS9hdG9wc2FyCisgCQljcCBhdG9wYWNjdGQgIAkJJChERVNURElSKSQoU0JJTlBBVEgpL2F0b3BhY2N0ZAorIAkJY2hvd24gcm9vdAkJJChERVNURElSKSQoU0JJTlBBVEgpL2F0b3BhY2N0ZAorQEAgLTE0Nyw3ICsxNDcsNyBAQCBnZW5lcmljaW5zdGFsbDoJYXRvcCBhdG9wYWNjdGQKKyAJCWNwIGF0b3AgICAJCSQoREVTVERJUikkKEJJTlBBVEgpL2F0b3AtJChWRVJTKQorIAkJbG4gLXNmIGF0b3AtJChWRVJTKSAgICAgJChERVNURElSKSQoQklOUEFUSCkvYXRvcHNhci0kKFZFUlMpCisgCQljcCBhdG9wLmRhaWx5ICAgIAkkKERFU1RESVIpJChTQ1JQQVRIKQorLQkJY2htb2QgMDcxMSAJIAkkKERFU1RESVIpJChTQ1JQQVRIKS9hdG9wLmRhaWx5CisrCQljaG1vZCAwNzU1IAkgCSQoREVTVERJUikkKFNDUlBBVEgpL2F0b3AuZGFpbHkKKyAJCWNwIG1hbi9hdG9wLjEgICAgCSQoREVTVERJUikkKE1BTjFQQVRIKQorIAkJY3AgbWFuL2F0b3BzYXIuMSAJJChERVNURElSKSQoTUFOMVBBVEgpCisgCQljcCBtYW4vYXRvcHJjLjUgIAkkKERFU1RESVIpJChNQU41UEFUSCkKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXRvcC9hdG9wL3JlbW92ZS1iYXNoaXNtcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXRvcC9hdG9wL3JlbW92ZS1iYXNoaXNtcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMWZjYmZlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hdG9wL2F0b3AvcmVtb3ZlLWJhc2hpc21zLnBhdGNoCkBAIC0wLDAgKzEsMzMgQEAKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IEthaSBLYW5nIDxrYWkua2FuZ0B3aW5kcml2ZXIuY29tPgorLS0tCitkaWZmIC0tZ2l0IGEvYXRvcC1wbS5zaCBiL2F0b3AtcG0uc2gKK2luZGV4IDdmNDFhODYuLjNmZjRhYjUgMTAwNzU1CistLS0gYS9hdG9wLXBtLnNoCisrKysgYi9hdG9wLXBtLnNoCitAQCAtMSw0ICsxLDQgQEAKKy0jIS9iaW4vYmFzaAorKyMhL2Jpbi9zaAorIAorIGNhc2UgIiQxIiBpbgorIAlwcmUpCS91c3IvYmluL3N5c3RlbWN0bCBzdG9wIGF0b3AKK2RpZmYgLS1naXQgYS9hdG9wLmRhaWx5IGIvYXRvcC5kYWlseQoraW5kZXggMjRkMzNiZC4uZjI5YmQ5NCAxMDA3NTUKKy0tLSBhL2F0b3AuZGFpbHkKKysrKyBiL2F0b3AuZGFpbHkKK0BAIC0xLDQgKzEsNCBAQAorLSMhL2Jpbi9iYXNoCisrIyEvYmluL3NoCisgCisgQ1VSREFZPWBkYXRlICslWSVtJWRgCisgTE9HUEFUSD0vdmFyL2xvZy9hdG9wCitAQCAtMTYsNyArMTYsNyBAQCB0aGVuCisgCisgCXdoaWxlIHBzIC1wIGBjYXQgJFBJREZJTEVgID4gL2Rldi9udWxsCisgCWRvCistCQlsZXQgQ05UKz0xCisrCQlDTlQ9JCgoQ05UKzEpKQorIAorIAkJaWYgWyAkQ05UIC1ndCA1IF0KKyAJCXRoZW4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXRvcC9hdG9wL3N5c3Zpbml0LWltcGxlbWVudC1zdGF0dXMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2F0b3AvYXRvcC9zeXN2aW5pdC1pbXBsZW1lbnQtc3RhdHVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU5OTRkM2UKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2F0b3AvYXRvcC9zeXN2aW5pdC1pbXBsZW1lbnQtc3RhdHVzLnBhdGNoCkBAIC0wLDAgKzEsMjcgQEAKK0ltcGxlbWVudCB0aGUgc3ViLWNvbW1hbmQgc3RhdHVzLgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogS2FpIEthbmcgPGthaS5rYW5nQHdpbmRyaXZlci5jb20+CistLS0KK2RpZmYgLS1naXQgYS9hdG9wLmluaXQgYi9hdG9wLmluaXQKK2luZGV4IDEwOGJkYzUuLjlmODlmYWQgMTAwNzU1CistLS0gYS9hdG9wLmluaXQKKysrKyBiL2F0b3AuaW5pdAorQEAgLTE4LDYgKzE4LDggQEAKKyAjIENoZWNrIGV4aXN0YW5jZSBvZiBiaW5hcmllcyAKKyBbIC1mIC91c3IvYmluL2F0b3AgXSB8fCBleGl0IDAKKyAKKytbIC1mIC9ldGMvaW5pdC5kL2Z1bmN0aW9ucyBdICYmIC4gL2V0Yy9pbml0LmQvZnVuY3Rpb25zCisrCisgUElERklMRT0vdmFyL3J1bi9hdG9wLnBpZAorIFJFVFZBTD0wCisgCitAQCAtNjMsNiArNjUsNyBAQCBjYXNlICIkMSIgaW4KKyAJOzsKKyAKKyAgIHN0YXR1cykKKysJc3RhdHVzIGF0b3AKKyAJOzsKKyAKKyAgIHJlbG9hZCkKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXRvcC9hdG9wL3ZvbGF0aWxlcy45OV9hdG9wIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hdG9wL2F0b3Avdm9sYXRpbGVzLjk5X2F0b3AKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjRlYTNmMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXRvcC9hdG9wL3ZvbGF0aWxlcy45OV9hdG9wCkBAIC0wLDAgKzEgQEAKK2Qgcm9vdCByb290IDA3NTUgL3Zhci92b2xhdGlsZS9sb2cvYXRvcCBub25lCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2F0b3AvYXRvcC92b2xhdGlsZXMuYXRvcC5jb25mIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hdG9wL2F0b3Avdm9sYXRpbGVzLmF0b3AuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZjIzMDAwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hdG9wL2F0b3Avdm9sYXRpbGVzLmF0b3AuY29uZgpAQCAtMCwwICsxIEBACitkICAgICAgICAgICAgICAgL3Zhci92b2xhdGlsZS9sb2cvYXRvcCAgICAgICAgICAgICAgIC0gICAgICAgLSAgICAgICAtICAgICAgIC0KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXRvcC9hdG9wXzIuMi4zLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hdG9wL2F0b3BfMi4yLjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjEzMTFlMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXRvcC9hdG9wXzIuMi4zLmJiCkBAIC0wLDAgKzEsNjIgQEAKK1NVTU1BUlkgPSAiTW9uaXRvciBmb3Igc3lzdGVtIHJlc291cmNlcyBhbmQgcHJvY2VzcyBhY3Rpdml0eSIKK0RFU0NSSVBUSU9OID0gIkF0b3AgaXMgYW4gQVNDSUkgZnVsbC1zY3JlZW4gcGVyZm9ybWFuY2UgbW9uaXRvciBmb3IgTGludXggdGhhdCBcCitpcyBjYXBhYmxlIG9mIHJlcG9ydGluZyB0aGUgYWN0aXZpdHkgb2YgYWxsIHByb2Nlc3NlcyAoZXZlbiBpZiBwcm9jZXNzZXMgaGF2ZSBcCitmaW5pc2hlZCBkdXJpbmcgdGhlIGludGVydmFsKSwgZGFpbHkgbG9nZ2luZyBvZiBzeXN0ZW0gYW5kIHByb2Nlc3MgYWN0aXZpdHkgZm9yIFwKK2xvbmctdGVybSBhbmFseXNpcywgaGlnaGxpZ2h0aW5nIG92ZXJsb2FkZWQgc3lzdGVtIHJlc291cmNlcyBieSB1c2luZyBjb2xvcnMsIFwKK2V0Yy4gQXQgcmVndWxhciBpbnRlcnZhbHMsIGl0IHNob3dzIHN5c3RlbS1sZXZlbCBhY3Rpdml0eSByZWxhdGVkIHRvIHRoZSBDUFUsIFwKK21lbW9yeSwgc3dhcCwgZGlza3MgKGluY2x1ZGluZyBMVk0pIGFuZCBuZXR3b3JrIGxheWVycywgYW5kIGZvciBldmVyeSBwcm9jZXNzIFwKKyhhbmQgdGhyZWFkKSBpdCBzaG93cyBlLmcuIHRoZSBDUFUgdXRpbGl6YXRpb24sIG1lbW9yeSBncm93dGgsIGRpc2sgXAordXRpbGl6YXRpb24sIHByaW9yaXR5LCB1c2VybmFtZSwgc3RhdGUsIGFuZCBleGl0IGNvZGUuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5hdG9wdG9vbC5ubCIKK1NFQ1RJT04gPSAiY29uc29sZS91dGlscyIKKworTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTM5M2E1Y2E0NDVmNjk2NTg3M2VjYTAyNTlhMTdmODMzIgorCitERVBFTkRTID0gIm5jdXJzZXMgemxpYiIKKworQVRPUF9WRVIgPSAiJHtAJy0nLmpvaW4oZC5nZXRWYXIoJ1BWJywgVHJ1ZSkucnNwbGl0KCcuJywgMSkpfSIKKworU1JDX1VSSSA9ICIgXAorICAgIGh0dHA6Ly93d3cuYXRvcHRvb2wubmwvZG93bmxvYWQvJHtCUE59LSR7QVRPUF9WRVJ9LnRhci5neiBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ2ZpbGU6Ly92b2xhdGlsZXMuYXRvcC5jb25mJywgJ2ZpbGU6Ly92b2xhdGlsZXMuOTlfYXRvcCcsIGQpfSBcCisgICAgZmlsZTovL3JlbW92ZS1iYXNoaXNtcy5wYXRjaCBcCisgICAgZmlsZTovL2ZpeC1wZXJtaXNzaW9ucy5wYXRjaCBcCisgICAgZmlsZTovL3N5c3Zpbml0LWltcGxlbWVudC1zdGF0dXMucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMDM0ZGMxNTQ0ZjJlYzRlNGQyYzczOWQzMjBkYzMyNmQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYzc4NWI4YTIzNTViZTI4YjNkZTZiNThhOGVhNGM0ZmNhYjhmYWRlYWE1N2E5OWFmZWIwM2M2NmZhYzhlMDU1ZCIKKworUyA9ICIke1dPUktESVJ9LyR7QlBOfS0ke0FUT1BfVkVSfSIKKworZG9fY29tcGlsZSgpIHsKKyAgICBvZV9ydW5tYWtlIGFsbAorfQorCitkb19pbnN0YWxsKCkgeworICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCisgICAgICAgIG1ha2UgREVTVERJUj0ke0R9IFZFUlM9JHtBVE9QX1ZFUn0gU1lTRFBBVEg9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfSBcCisgICAgICAgICAgICBQTVBBVEhEPSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0tc2xlZXAgc3lzdGVtZGluc3RhbGwKKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS90bXBmaWxlcy5kCisgICAgICAgIGluc3RhbGwgLW0gNjQ0ICR7V09SS0RJUn0vdm9sYXRpbGVzLmF0b3AuY29uZiAke0R9JHtzeXNjb25mZGlyfS90bXBmaWxlcy5kL2F0b3AuY29uZgorICAgICAgICBybSAtZiAke0R9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9hdG9wYWNjdC5zZXJ2aWNlCisgICAgZWxzZQorICAgICAgICBtYWtlIERFU1RESVI9JHtEfSBWRVJTPSR7QVRPUF9WRVJ9IHN5c3ZpbnN0YWxsCisgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMKKyAgICAgICAgaW5zdGFsbCAtbSA2NDQgJHtXT1JLRElSfS92b2xhdGlsZXMuOTlfYXRvcCAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3ZvbGF0aWxlcy85OV9hdG9wCisgICAgICAgIHJtIC1mICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9hdG9wYWNjdAorICAgIGZpCisKKyAgICAjIHJlbW92ZSBhdG9wYWNjdCByZWxhdGVkIGZpbGVzCisgICAgcm0gLXJmICR7RH0ke3NiaW5kaXJ9ICR7RH0ke21hbmRpcn0vbWFuOAorfQorCitpbmhlcml0IHN5c3RlbWQKKworU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gImF0b3Auc2VydmljZSIKK1NZU1RFTURfQVVUT19FTkFCTEUgPSAiZGlzYWJsZSIKKworRklMRVNfJHtQTn0gKz0gIiR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0tc2xlZXAiCisKK1JERVBFTkRTXyR7UE59ID0gInByb2NwcyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY2Fub25pY2FsLW11bHRpdG91Y2gvZnJhbWVfMi41LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2Nhbm9uaWNhbC1tdWx0aXRvdWNoL2ZyYW1lXzIuNS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVjYzk1MjQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2Nhbm9uaWNhbC1tdWx0aXRvdWNoL2ZyYW1lXzIuNS4wLmJiCkBAIC0wLDAgKzEsMjEgQEAKK1NVTU1BUlkgPSAiRnJhbWUgaGFuZGxlcyBzaW11bHRhbmVvdXMgdG91Y2hlcyIKKworSE9NRVBBR0UgPSAiaHR0cHM6Ly9sYXVuY2hwYWQubmV0L2ZyYW1lIgorCitMSUNFTlNFID0gIkdQTHYzICYgTEdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICIgXAorICAgIGZpbGU6Ly9DT1BZSU5HO21kNT1lNmE2MDBmZDVlMWQ5Y2JkZTJkOTgzNjgwMjMzYWQwMiBcCisgICAgZmlsZTovL0NPUFlJTkcuR1BMMzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQgXAorIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworU1JDX1VSSSA9ICJodHRwczovL2xhdW5jaHBhZC5uZXQvJHtCUE59L3RydW5rL3Yke1BWfS8rZG93bmxvYWQvJHtCUE59LSR7UFZ9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICIwMmJhYTk0MTA5MWM1ZDE5OGNkMTYyM2IzYWQzNmU2OCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjZmI5YWI1MmNkY2NkOTI2ZjE4MjJhNDU3MjY0ZDAwMTRjN2ViOWY0NjAwYTcyNjI2MDYzZGQwNzNiMjYyNTZmIgorCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCAneDExJywgJycsIGQpfSIKK1BBQ0tBR0VDT05GSUdbeDExXSA9ICItLWVuYWJsZS14MTEsIC0tZGlzYWJsZS14MTEsIGxpYnhpIHhleHQgdmlydHVhbC94c2VydmVyIgorCitQQUNLQUdFX0JFRk9SRV9QTiArPSAiJHtQTn0tdGVzdCIKK0ZJTEVTXyR7UE59LXRlc3QgPSAiJHtiaW5kaXJ9L2ZyYW1lLXRlc3QqIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jYW5vbmljYWwtbXVsdGl0b3VjaC9nZWlzXzIuMi4xNy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY2Fub25pY2FsLW11bHRpdG91Y2gvZ2Vpc18yLjIuMTcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmM4ODE0MwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY2Fub25pY2FsLW11bHRpdG91Y2gvZ2Vpc18yLjIuMTcuYmIKQEAgLTAsMCArMSw1NCBAQAorU1VNTUFSWSA9ICJBbiBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgR0VJUyBpbnRlcmZhY2UiCitERVNDUklQVElPTiA9ICJBbiBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgR0VJUyAoR2VzdHVyZSBFbmdpbmUgSW50ZXJmYWNlIGFuZCBTdXBwb3J0KSBcCitpbnRlcmZhY2VcCitHRUlTIGlzIGEgbGlicmFyeSBmb3IgYXBwbGljYXRpb25zIGFuZCB0b29sa2l0IHByb2dyYW1tZXJzIHdoaWNoIFwKK3Byb3ZpZGVzIGEgY29uc2lzdGVudCBwbGF0Zm9ybSBpbmRlcGVuZGVudCBpbnRlcmZhY2UgZm9yIGFueSBcCitzeXN0ZW0td2lkZSBpbnB1dCBnZXN0dXJlIHJlY29nbml0aW9uIG1lY2hhbmlzbS4iCisKK0hPTUVQQUdFID0gImh0dHBzOi8vbGF1bmNocGFkLm5ldC9nZWlzIgorCitMSUNFTlNFID0gIkdQTHYzICYgTEdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICIgXAorICAgIGZpbGU6Ly9DT1BZSU5HO21kNT02YTZhOGUwMjA4MzhiMjM0MDZjODFiMTljMWQ0NmRmNiBcCisgICAgZmlsZTovL0NPUFlJTkcuR1BMO21kNT1mMjdkZWZlMWU5NmMyZTFlY2Q0ZTBjOWJlODk2Nzk0OSBcCisiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBweXRob24zbmF0aXZlIGxpYl9wYWNrYWdlIGRpc3Ryb19mZWF0dXJlc19jaGVjaworCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgorCitERVBFTkRTICs9ICJncmFpbCBkYnVzLWdsaWIgcHl0aG9uMyB2aXJ0dWFsL2xpYngxMSBsaWJ4ZXh0IGxpYnhpIGxpYnhjYiBkYnVzIGZyYW1lIgorCitTUkNfVVJJID0gImh0dHBzOi8vbGF1bmNocGFkLm5ldC8ke0JQTn0vdHJ1bmsvJHtQVn0vK2Rvd25sb2FkLyR7QlBOfS0ke1BWfS50YXIueHoiCitTUkNfVVJJW21kNXN1bV0gPSAiMmZmOWQ3NmEzZWE1Nzk0NTE2YmIwMmM5ZDE5MjRmYWYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOGE2MGY1NjgzODUyMDk0MDM4OTA0ZTY5MGQyM2NjNWE5MGE5ODBmYzUyZGE2N2YwZjI4ODkwYmFhMjVjNzBlYiIKKworRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1pbnRlZ3JhdGlvbi10ZXN0cyIKKworRklMRVNfJHtQTn0tYmluID0gIiR7YmluZGlyfSIKK1JERVBFTkRTXyR7UE59LWJpbiA9ICIgXAorICAgIHB5dGhvbjMtY29tcHJlc3Npb24gXAorICAgIHB5dGhvbjMtY29yZSBcCisgICAgcHl0aG9uMy1jcnlwdCBcCisgICAgcHl0aG9uMy1jdHlwZXMgXAorICAgIHB5dGhvbjMtZmNudGwgXAorICAgIHB5dGhvbjMtbWlzYyBcCisgICAgcHl0aG9uMy1waWNrbGUgXAorICAgIHB5dGhvbjMtc2hlbGwgXAorICAgIHB5dGhvbjMtc3RyaW5nb2xkIFwKKyAgICBweXRob24zLXN1YnByb2Nlc3MgXAorICAgIHB5dGhvbjMtdGV4dHV0aWxzIFwKKyAgICBweXRob24zLXRocmVhZGluZyBcCisiCisKK0ZJTEVTXyR7UE59ICs9ICIgXAorICAgICR7ZGF0YWRpcn0vZ2Vpc3ZpZXcgXAorICAgICR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvZ2VpcyogXAorICAgICR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvXyouc28gXAorIgorCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvLmRlYnVnIgorCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvXyoubGEiCisKK0ZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy9fKi5hIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jYW5vbmljYWwtbXVsdGl0b3VjaC9ncmFpbF8zLjEuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY2Fub25pY2FsLW11bHRpdG91Y2gvZ3JhaWxfMy4xLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmVhMTBkNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY2Fub25pY2FsLW11bHRpdG91Y2gvZ3JhaWxfMy4xLjAuYmIKQEAgLTAsMCArMSwyMyBAQAorU1VNTUFSWSA9ICJHZXN0dXJlIFJlY29nbml0aW9uIEFuZCBJbnN0YW50aWF0aW9uIExpYnJhcnkiCisKK0hPTUVQQUdFID0gImh0dHBzOi8vbGF1bmNocGFkLm5ldC9ncmFpbCIKKworTElDRU5TRSA9ICJHUEx2MyAmIExHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiIFwKKyAgICBmaWxlOi8vQ09QWUlORzttZDU9ZTZhNjAwZmQ1ZTFkOWNiZGUyZDk4MzY4MDIzM2FkMDIgXAorICAgIGZpbGU6Ly9DT1BZSU5HLkdQTDM7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IFwKKyIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK0RFUEVORFMgPSAiZnJhbWUiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9sYXVuY2hwYWQubmV0LyR7QlBOfS90cnVuay8ke1BWfS8rZG93bmxvYWQvJHtCUE59LSR7UFZ9LnRhci5iejIiCitTUkNfVVJJW21kNXN1bV0gPSAiMmFjNTZhZjVmNmY0NjZiNDMzYzk5Y2ExMmYzNGMzNGYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYzI2ZGNlZDFiM2Y0MzE3ZWNmNmFmMzZkYjBlOTAyOTRkODdlNDM5NjZkNTZhZWNjNGU5N2I2NTM2OGFiNzhiOSIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAneDExJywgJ3gxMScsICcnLCBkKX0iCitQQUNLQUdFQ09ORklHW3gxMV0gPSAiLS13aXRoLXgxMSwgLS13aXRob3V0LXgxMSwgbGlieGkiCisKK1BBQ0tBR0VfQkVGT1JFX1BOICs9ICIke1BOfS10ZXN0IgorRklMRVNfJHtQTn0tdGVzdCA9ICIke2JpbmRpcn0vZ3JhaWwtdGVzdCoiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2NjaWQvY2NpZC9uby1kZXAtb24tbGliZmwucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2NjaWQvY2NpZC9uby1kZXAtb24tbGliZmwucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDc3Y2MzMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY2NpZC9jY2lkL25vLWRlcC1vbi1saWJmbC5wYXRjaApAQCAtMCwwICsxLDE4IEBACitObyBuZWVkIHRvIGxpbmsgd2l0aCBsaWJmbC4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBKYWNvYiBLcm9vbiA8amFjb2Iua3Jvb25AbWlrcm9kaWRha3Quc2U+CisKK0luZGV4OiBjY2lkLTEuNC44L3NyYy9NYWtlZmlsZS5hbQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGNjaWQtMS40Ljgub3JpZy9zcmMvTWFrZWZpbGUuYW0KKysrKyBjY2lkLTEuNC44L3NyYy9NYWtlZmlsZS5hbQorQEAgLTUzLDcgKzUzLDcgQEAgUFJPVklERURfQllfUENTQyA9IGRlYnVnLmMKKyBlbmRpZgorIAorIGxpYmNjaWRfbGFfU09VUkNFUyA9ICQoQ09NTU9OKSAkKFVTQikgJChUT0tFTl9QQVJTRVIpICQoUFJPVklERURfQllfUENTQykgJChUMSkKKy1saWJjY2lkX2xhX0xJQkFERCA9ICQoTEVYTElCKSAkKExJQlVTQl9MSUJTKSAkKFBUSFJFQURfTElCUykKKytsaWJjY2lkX2xhX0xJQkFERCA9ICQoTElCVVNCX0xJQlMpICQoUFRIUkVBRF9MSUJTKQorIGxpYmNjaWRfbGFfQ0ZMQUdTID0gJChQQ1NDX0NGTEFHUykgJChMSUJVU0JfQ0ZMQUdTKSAkKFBUSFJFQURfQ0ZMQUdTKSBcCisgCSQoU1lNQk9MX1ZJU0lCSUxJVFkpIC1EJChDQ0lEX1ZFUlNJT04pIC1EU0lNQ0xJU1RfTk9fRFVNUFJFU1RPUkUKKyBsaWJjY2lkX2xhX0xERkxBR1MgPSAtYXZvaWQtdmVyc2lvbgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jY2lkL2NjaWRfMS40LjE5LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jY2lkL2NjaWRfMS40LjE5LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY3N2UwNjkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2NjaWQvY2NpZF8xLjQuMTkuYmIKQEAgLTAsMCArMSwxOCBAQAorU1VNTUFSWSA9ICJHZW5lcmljIFVTQiBDQ0lEIHNtYXJ0IGNhcmQgcmVhZGVyIGRyaXZlciIKK0hPTUVQQUdFID0gImh0dHA6Ly9wY3NjbGl0ZS5hbGlvdGguZGViaWFuLm9yZy9jY2lkLmh0bWwiCitMSUNFTlNFID0gIkxHUEx2Mi4xKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTJkNTAyNWQ0YWEzNDk1YmVmZWY4ZjE3MjA2YTViMGExIgorCitERVBFTkRTID0gInZpcnR1YWwvbGlidXNiMCBwY3NjLWxpdGUiCitSREVQRU5EU18ke1BOfSA9ICJwY3NjLWxpdGUiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9hbGlvdGguZGViaWFuLm9yZy9mcnMvZG93bmxvYWQucGhwL2ZpbGUvNDEzMi9jY2lkLSR7UFZ9LnRhci5iejIgXAorCSAgIGZpbGU6Ly9uby1kZXAtb24tbGliZmwucGF0Y2ggIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZDFlZWQ5OTViYTlhMmViMzk1YTY1YThhNzgwOTBmNTIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiY2NjYjJjMmJiNGU1NjY4OWVmZTM0NTU5ZjcxMzEwMmQ5MmY5NDczNTU0MmU1OGQzZTQzMzRlMTQ1OWU5MzRlMSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vcGNzYy8iCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9wY3NjL2RyaXZlcnMvKi8qLyovLmRlYnVnIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9ja2VybWl0L2NrZXJtaXRfMzAyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9ja2VybWl0L2NrZXJtaXRfMzAyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE4N2E1N2UKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2NrZXJtaXQvY2tlcm1pdF8zMDIuYmIKQEAgLTAsMCArMSw2MCBAQAorREVTQ1JJUFRJT04gPSAiQy1LZXJtaXQgaXMgYSBjb21iaW5lZCBzZXJpYWwgYW5kIG5ldHdvcmsgY29tbXVuaWNhdGlvbiBcCitzb2Z0d2FyZSBwYWNrYWdlIG9mZmVyaW5nIGEgY29uc2lzdGVudCwgbWVkaXVtLWluZGVwZW5kZW50LCBcCitjcm9zcy1wbGF0Zm9ybSBhcHByb2FjaCB0byBjb25uZWN0aW9uIGVzdGFibGlzaG1lbnQsIHRlcm1pbmFsIFwKK3Nlc3Npb25zLCBmaWxlIHRyYW5zZmVyLCBjaGFyYWN0ZXItc2V0IHRyYW5zbGF0aW9uLCBhbmQgYXV0b21hdGlvbiBcCitvZiBjb21tdW5pY2F0aW9uIHRhc2tzLiIKK0hPTUVQQUdFID0gInd3dy5rZXJtaXRwcm9qZWN0Lm9yZy9jazkwLmh0bWwiCitTRUNUSU9OID0gImNvbnNvbGUvbmV0d29yayIKK0xJQ0VOU0UgPSAiQlNELTMtQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORy5UWFQ7bWQ1PTkzMmNhNTQyZDZjNmNiOGE1OWEwYmNkNzZhYjY3Y2MzIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cua2VybWl0cHJvamVjdC5vcmcvZnRwL2tlcm1pdC9hcmNoaXZlcy9ja3Uke1BWfS50YXIuZ3o7c3ViZGlyPSR7QlBOfS0ke1BWfSIKK1NSQ19VUklbbWQ1c3VtXSA9ICJlYWM0ZGJmMThiNDU3NzVlNGNkZWU1YTdjNzQ3NjJiMCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwZDVmMmNkMTJiZGFiOTQwMWI0YzgzNjg1NGViYmYyNDE2NzUwNTE4NzU1NTc3ODNjMzMyYTZhNDBkYWMwNzExIgorCisKK2V4cG9ydCBDQzIgPSAiJHtDQ30iCitleHBvcnQgQklORElSID0gIiR7YmluZGlyfSIKK2V4cG9ydCBNQU5ESVIgPSAiJHttYW5kaXJ9L21hbjEiCitleHBvcnQgSU5GT0RJUiA9ICIke2luZm9kaXJ9IgorCitFWFRSQV9PRU1BS0UgPSAiLWUgTUFLRUZMQUdTPSIKKworIyBBZGRpdGlvbmFsIGZsYWdzLiBGb3IgdWNsaWJjIHdlIGFkZCAtRE5PQVJST1dLRVlTIHdoaWNoIHN0b3BzIGNrZXJtaXQKKyMgdHJ5aW5nIHRvIGxvb2sgaW5zaWRlIHRoZSBzdGRpbyBoZWFkZXJzLgorQ0tFUk1JVF9BRERJVElPTkFMID0gIiIKK0NLRVJNSVRfQURESVRJT05BTF9saWJjLXVjbGliYyA9ICItRE5PQVJST1dLRVlTIgorCitUQVJHRVRfQ0NfQVJDSCArPSAiJHtMREZMQUdTfSIKKworZG9fY29tcGlsZSAoKSB7CisgICAgIyBUaGUgb3JpZ2luYWwgbWFrZWZpbGUgZG9lc24ndCBkaWZmZXJlbnRpYXRlIGJldHdlZW4gQ0MgYW5kIENDX0ZPUl9CVUlMRCwKKyAgICAjIHNvIHdlIGJ1aWxkIHdhcnQgbWFudWFsbHkuIE5vdGUgdGhhdCB5b3UgbmVlZCBhIGNrd2FydC5vIHdpdGggdGhlIHByb3BlcgorICAgICMgdGltZXN0YW1wIHRvIG1ha2UgdGhpcyBoYWNrIHdvcms6CisgICAgJHtCVUlMRF9DQ30gLWMgY2t3YXJ0LmMKKyAgICAke0JVSUxEX0NDfSAtbyB3YXJ0IGNrd2FydC5vCisgICAgLi93YXJ0IGNrY3Byby53IGNrY3Byby5jCisKKyAgICAjIHJlYWQgJHtTfS9ja2NjZmcudHh0IHRvIHVuZGVyc3RhbmQgdGhpcyA6LSkKKyAgICBvZV9ydW5tYWtlIHdlcm1pdCBDRkxBR1M9IiR7Q0ZMQUdTfSAtRExJTlVYIC1EQ0tfUE9TSVhfU0lHIFwKKyAgICAgICAgLUROT1RDUE9QVFMgLURMSU5VWEZTU1RORCAtRE5PQ09URk1DIC1EUE9TSVggLURVU0VfU1RSRVJST1IgXAorICAgICAgICAtRE5PU1lTTE9HIC1ESEFWRV9QVE1YIC1ETk9fRE5TX1NSViAtRE5PR0ZUSU1FUiBcCisgICAgICAgIC1ETk9CXzUwIC1ETk9CXzc1IC1ETk9CXzEzNCAtRE5PQl8xNTAgLUROT0JfMjAwIFwKKyAgICAgICAgLUROT0JfMTgwMCAtRE5PQl8zNjAwIC1ETk9CXzcyMDAgLUROT0JfNzZLIC1ETk9CXzIzMEsgXAorICAgICAgICAtRE5PQl80NjBLIC1ETk9CXzkyMUsgXAorICAgICAgICAtRE5PQ1NFVFMgLUROT05FVCAtRE5PVU5JQ09ERSAtRE5PSEVMUCAtRE5PREVCVUcgXAorICAgICAgICAtRE5PRlJJTExTIC1ETk9GVFAgLUROT0RJQUwgLUROT1BVU0ggLUROT0lLU0QgLUROT0hUVFAgLUROT0ZMT0FUIFwKKyAgICAgICAgLUROT1NFUlZFUiAtRE5PU0VYUCAtRE5PUkxPR0lOIC1ETk9PTERNT0RFTVMgLUROT1NTSCAtRE5PTElTVEVOIFwKKyAgICAgICAgLUROT1JFU0VORCAtRE5PQVVUT0RMIC1ETk9TVFJFQU1JTkcgLUROT0hJTlRTIC1ETk9DS1hZWiAtRE5PTEVBUk4gXAorICAgICAgICAtRE5PTUtESVIgLUROT1BFUk1TIC1ETk9DS1RJTUVSUyAtRE5PQ0tSRUdFWCAtRE5PUkVBTFBBVEggXAorICAgICAgICAtRENLX1NNQUxMIC1ETk9MT0dESUFMIC1ETk9SRU5BTUUgLUROT1dIQVRBTUkgXAorICAgICAgICAke0NLRVJNSVRfQURESVRJT05BTH0iCit9CisKK2RvX2luc3RhbGwgKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7QklORElSfSAke0R9JHtNQU5ESVJ9ICR7RH0ke0lORk9ESVJ9CisgICAgb2VfcnVubWFrZSAnREVTVERJUj0ke0R9JyBpbnN0YWxsCisgICAgIyBGaXggdXAgZGFuZ2xpbmcgc3ltbGluaworICAgIHJtICR7RH0ke0JJTkRJUn0va2VybWl0LXNzaHN1YgorICAgIChjZCAke0R9JHtCSU5ESVJ9ICYmIGxuIC1zICR7QklORElSfS9rZXJtaXQga2VybWl0LXNzaHVzYikKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY3B1ZnJlcXV0aWxzL2NwdWZyZXF1dGlscy8wMDAxLWRvbnQtdW5zZXQtY2ZsYWdzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jcHVmcmVxdXRpbHMvY3B1ZnJlcXV0aWxzLzAwMDEtZG9udC11bnNldC1jZmxhZ3MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmIyZjA3ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY3B1ZnJlcXV0aWxzL2NwdWZyZXF1dGlscy8wMDAxLWRvbnQtdW5zZXQtY2ZsYWdzLnBhdGNoCkBAIC0wLDAgKzEsMzAgQEAKKy0tLSBnaXQub2xkL01ha2VmaWxlCTIwMTItMDQtMTcgMTM6Mjk6NDYuMjgwNDM1MzQwICswMjAwCisrKysgZ2l0L01ha2VmaWxlCTIwMTItMDQtMTcgMTM6MzE6MTMuNjY0NDMzNDcwICswMjAwCitAQCAtNzcsMTcgKzc3LDcgQEAgSU5TVEFMTF9QUk9HUkFNID0gJHtJTlNUQUxMfQorIElOU1RBTExfREFUQSAgPSAke0lOU1RBTEx9IC1tIDY0NAorIElOU1RBTExfU0NSSVBUID0gJHtJTlNUQUxMX1BST0dSQU19CisgCistIyBJZiB5b3UgYXJlIHJ1bm5pbmcgYSBjcm9zcyBjb21waWxlciwgeW91IG1heSB3YW50IHRvIHNldCB0aGlzCistIyB0byBzb21ldGhpbmcgbW9yZSBpbnRlcmVzdGluZywgbGlrZSAiYXJtLWxpbnV4LSIuICBJZiB5b3Ugd2FudAorLSMgdG8gY29tcGlsZSB2cyB1Q2xpYmMsIHRoYXQgY2FuIGJlIGRvbmUgaGVyZSBhcyB3ZWxsLgorLUNST1NTID0gIy91c3IvaTM4Ni1saW51eC11Y2xpYmMvdXNyL2Jpbi9pMzg2LXVjbGliYy0KKy1DQyA9ICQoQ1JPU1MpZ2NjCistTEQgPSAkKENST1NTKWdjYworLUFSID0gJChDUk9TUylhcgorLVNUUklQID0gJChDUk9TUylzdHJpcAorLVJBTkxJQiA9ICQoQ1JPU1MpcmFubGliCistSE9TVENDID0gZ2NjCistCisrSE9TVENDID0gJChCVUlMRF9DQykKKyAKKyAjIE5vdyB3ZSBzZXQgdXAgdGhlIGJ1aWxkIHN5c3RlbQorICMKK0BAIC05NSw3ICs4NSw3IEBAIEhPU1RDQyA9IGdjYworICMgc2V0IHVwIFBXRCBzbyB0aGF0IG9sZGVyIHZlcnNpb25zIG9mIG1ha2Ugd2lsbCB3b3JrIHdpdGggb3VyIGJ1aWxkLgorIFBXRCA9ICQoc2hlbGwgcHdkKQorIAorLWV4cG9ydCBDUk9TUyBDQyBBUiBTVFJJUCBSQU5MSUIgQ0ZMQUdTIExERkxBR1MgTElCX09CSlMKKytleHBvcnQgQ0ZMQUdTIExERkxBR1MgTElCX09CSlMKKyAKKyAjIGNoZWNrIGlmIGNvbXBpbGVyIG9wdGlvbiBpcyBzdXBwb3J0ZWQKKyBjYy1zdXBwb3J0cyA9ICR7c2hlbGwgaWYgJChDQykgJHsxfSAtUyAtbyAvZGV2L251bGwgLXhjIC9kZXYvbnVsbCA+IC9kZXYvbnVsbCAyPiYxOyB0aGVuIGVjaG8gIiQoMSkiOyBmaTt9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2NwdWZyZXF1dGlscy9jcHVmcmVxdXRpbHNfMDA4LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jcHVmcmVxdXRpbHMvY3B1ZnJlcXV0aWxzXzAwOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44OGZjYzAyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jcHVmcmVxdXRpbHMvY3B1ZnJlcXV0aWxzXzAwOC5iYgpAQCAtMCwwICsxLDM3IEBACitERVNDUklQVElPTiA9ICJUbyBtYWtlIGFjY2VzcyB0byB0aGUgTGludXgga2VybmVsIGNwdWZyZXEgc3Vic3lzdGVtIGVhc2llciBmb3IgdXNlcnMgYW5kIGNwdWZyZXEgdXNlcnNwYWNlIHRvb2xzLCBhIGNwdWZyZXF1dGlscyBwYWNrYWdlIHdhcyBjcmVhdGVkIgorCitpbmhlcml0IGdldHRleHQKKworREVQRU5EUyA9ICJsaWJ0b29sLWNyb3NzIgorCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCisKK1NSQ1JFViA9ICJhMmYwYzM5ZDVmMjE1OTZiYjlmNTIyM2U4OTVjMGZmMjEwYjI2NWQwIgorIyBTUkNfVVJJID0gImdpdDovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vdXRpbHMva2VybmVsL2NwdWZyZXEvY3B1ZnJlcXV0aWxzLmdpdAorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vZW1hZ2lpL2NwdWZyZXF1dGlscy5naXQgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1kb250LXVuc2V0LWNmbGFncy5wYXRjaCBcCisiCisKK0VYVFJBX09FTUFLRV9hcHBlbmQgPSAiICR7QFsnJywgJ05MUz1mYWxzZSddWycke1VTRV9OTFN9JyA9PSAnbm8nXX0gIgorCitQUiA9ICJyNSIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworVEFSR0VUX0NDX0FSQ0ggKz0gIiR7TERGTEFHU30iCisKK0VYVFJBX09FTUFLRSA9ICJWPTEgQ1JPU1M9JHtUQVJHRVRfUFJFRklYfSBMSUJUT09MPScke0hPU1RfU1lTfS1saWJ0b29sIC0tdGFnIGNjJyBTVFJJUENNRD1lY2hvICdDUD1jcCciCisKK2RvX2NvbXBpbGUoKSB7CisgICAgb2VfcnVubWFrZQorfQorCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgLWUgaW5zdGFsbCBERVNURElSPSR7RH0KKyAgICBybSAtZiAke0R9JHtsaWJkaXJ9L2xpYmNwdWZyZXEuc28uMCAke0R9JHtsaWJkaXJ9L2xpYmNwdWZyZXEuc28KKyAgICBsbiAtcyBsaWJjcHVmcmVxLnNvLjAuMC4wICR7RH0ke2xpYmRpcn0vbGliY3B1ZnJlcS5zby4wCisgICAgbG4gLXMgbGliY3B1ZnJlcS5zby4wLjAuMCAke0R9JHtsaWJkaXJ9L2xpYmNwdWZyZXEuc28KK30KKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jcnlwdHNldHVwL2NyeXB0c2V0dXBfMS43LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2NyeXB0c2V0dXAvY3J5cHRzZXR1cF8xLjcuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNmMyMWQzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jcnlwdHNldHVwL2NyeXB0c2V0dXBfMS43LjAuYmIKQEAgLTAsMCArMSwzMyBAQAorU1VNTUFSWSA9ICJNYW5hZ2UgcGxhaW4gZG0tY3J5cHQgYW5kIExVS1MgZW5jcnlwdGVkIHZvbHVtZXMiCitERVNDUklQVElPTiA9ICJDcnlwdHNldHVwIGlzIHVzZWQgdG8gY29udmVuaWVudGx5IHNldHVwIGRtLWNyeXB0IG1hbmFnZWQgXAorZGV2aWNlLW1hcHBlciBtYXBwaW5ncy4gVGhlc2UgaW5jbHVkZSBwbGFpbiBkbS1jcnlwdCB2b2x1bWVzIGFuZCBcCitMVUtTIHZvbHVtZXMuIFRoZSBkaWZmZXJlbmNlIGlzIHRoYXQgTFVLUyB1c2VzIGEgbWV0YWRhdGEgaGVhZGVyIFwKK2FuZCBjYW4gaGVuY2Ugb2ZmZXIgbW9yZSBmZWF0dXJlcyB0aGFuIHBsYWluIGRtLWNyeXB0LiBPbiB0aGUgb3RoZXIgXAoraGFuZCwgdGhlIGhlYWRlciBpcyB2aXNpYmxlIGFuZCB2dWxuZXJhYmxlIHRvIGRhbWFnZS4iCitIT01FUEFHRSA9ICJodHRwOi8vY29kZS5nb29nbGUuY29tL3AvY3J5cHRzZXR1cC8iCitTRUNUSU9OID0gImNvbnNvbGUiCitMSUNFTlNFID0gIkdQTC0yLjAtd2l0aC1PcGVuU1NMLWV4Y2VwdGlvbiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTMyMTA3ZGQyODNiMWRmZWI2NmM5YjNlNmJlMzEyMzI2IgorCitERVBFTkRTID0gInV0aWwtbGludXggbHZtMiBwb3B0IGxpYmdjcnlwdCIKKworU1JDX1VSSSA9ICIke0tFUk5FTE9SR19NSVJST1J9L2xpbnV4L3V0aWxzLyR7QlBOfS92MS43LyR7QlB9LnRhci54eiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI1NmMzODVmZTg3ZmMyYjY4NzNkZjRiN2Y4OTIwMmQwZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwNzU1MjRhN2NjMGRiMzZkMTIxMTlmYTc5MTE2NzUwYWNjYjFjNmM4ODI1ZDVmYWEyNTM0Yjc0YjhjZTNkMTQ4IgorCitpbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IHBrZ2NvbmZpZworCisjIFVzZSBvcGVuc3NsIGJlY2F1c2UgbGliZ2NyeXB0IGRyb3BzIHJvb3QgcHJpdmlsZWdlcworIyBpZiBsaWJnY3J5cHQgaXMgbGlua2VkIHdpdGggbGliY2FwIHN1cHBvcnQKK1BBQ0tBR0VDT05GSUcgPz89ICJvcGVuc3NsIgorUEFDS0FHRUNPTkZJR1tvcGVuc3NsXSA9ICItLXdpdGgtY3J5cHRvX2JhY2tlbmQ9b3BlbnNzbCwsb3BlbnNzbCIKK1BBQ0tBR0VDT05GSUdbZ2NyeXB0XSA9ICItLXdpdGgtY3J5cHRvX2JhY2tlbmQ9Z2NyeXB0LCxsaWJnY3J5cHQiCisKK1JSRUNPTU1FTkRTXyR7UE59ID0gImtlcm5lbC1tb2R1bGUtYWVzLWdlbmVyaWMgXAorICAgICAgICAgICAgICAgICAgICAga2VybmVsLW1vZHVsZS1kbS1jcnlwdCBcCisgICAgICAgICAgICAgICAgICAgICBrZXJuZWwtbW9kdWxlLW1kNSBcCisgICAgICAgICAgICAgICAgICAgICBrZXJuZWwtbW9kdWxlLWNiYyBcCisgICAgICAgICAgICAgICAgICAgICBrZXJuZWwtbW9kdWxlLXNoYTI1Ni1nZW5lcmljIFwKKyIKKworRVhUUkFfT0VDT05GID0gIi0tZW5hYmxlLXN0YXRpYyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY3RhcGktY29tbW9uL2N0YXBpLWNvbW1vbl8xLjEtMTEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2N0YXBpLWNvbW1vbi9jdGFwaS1jb21tb25fMS4xLTExLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEzYjY3ZjcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2N0YXBpLWNvbW1vbi9jdGFwaS1jb21tb25fMS4xLTExLmJiCkBAIC0wLDAgKzEsMjMgQEAKK1NVTU1BUlkgPSAiQ29tbW9uIGZpbGVzIGFuZCBwYWNrYWdpbmcgaW5mcmFzdHJ1Y3R1cmUgZm9yIENULUFQSSBtb2R1bGVzIgorSE9NRVBBR0UgPSAiaHR0cDovL2ZlZG9yYXByb2plY3Qub3JnLyIKK1NFQ1RJT04gPSAiU3lzdGVtIEVudmlyb25tZW50L0xpYnJhcmllcyIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vLi4vY3RhcGktY29tbW9uLkxJQ0VOU0U7bWQ1PTg3NDRjZDUyNTQ1ZWNiNDViZWZlYmQwZGE2ZjcwZjBhIgorCitTUkNfVVJJID0gImh0dHA6Ly9mdHAucmlrZW4uanAvTGludXgvZmVkb3JhL3JlbGVhc2VzLzIwL0ZlZG9yYS9zb3VyY2UvU1JQTVMvYy8ke0JQTn0tJHtQVn0uZmMyMC5zcmMucnBtO2V4dHJhY3Q9Y3RhcGktY29tbW9uLkxJQ0VOU0UgXAorICAgICAgICAgICBodHRwOi8vZnRwLnJpa2VuLmpwL0xpbnV4L2ZlZG9yYS9yZWxlYXNlcy8yMC9GZWRvcmEvc291cmNlL1NSUE1TL2MvJHtCUE59LSR7UFZ9LmZjMjAuc3JjLnJwbTtleHRyYWN0PWN0YXBpLWNvbW1vbi5SRUFETUUiCitTUkNfVVJJW21kNXN1bV0gPSAiZjAyZTY3NDg3YzQ4MzE5Mzc2ODAwNTYzYTI2NTk1MDIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMzIzOTk4MTliMGExY2FjMWFiYjJiOGYwZjE4MGM1NzJjOTM4MDlmYWFkMzZjNDY4MjVkZDUzNmU0ODQ0YzdjZiIKKworZG9fY29tcGlsZSgpIHsKKyAgICBpbnN0YWxsIC1wbSA2NDQgJHtXT1JLRElSfS9jdGFwaS1jb21tb24uTElDRU5TRSBMSUNFTlNFCisgICAgaW5zdGFsbCAtcG0gNjQ0ICR7V09SS0RJUn0vY3RhcGktY29tbW9uLlJFQURNRSBSRUFETUUKKyAgICBlY2hvICR7bGliZGlyfS9jdGFwaSA+IGN0YXBpLmNvbmYKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1EcG0gNjQ0IGN0YXBpLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vbGQuc28uY29uZi5kL2N0YXBpLSR7VEFSR0VUX0FSQ0h9LmNvbmYKKyAgICBpbnN0YWxsIC1kbSA3NTUgJHtEfSR7bGliZGlyfS9jdGFwaQorfQorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L2N0YXBpIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9kYWVtb25pemUvZGFlbW9uaXplX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZGFlbW9uaXplL2RhZW1vbml6ZV9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGIxNTkxYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZGFlbW9uaXplL2RhZW1vbml6ZV9naXQuYmIKQEAgLTAsMCArMSwxNCBAQAorU1VNTUFSWSA9ICJBIHRvb2wgdG8gcnVuIGEgY29tbWFuZCBhcyBhIGRhZW1vbiIKK0hPTUVQQUdFID0gImh0dHA6Ly9zb2Z0d2FyZS5jbGFwcGVyLm9yZy9kYWVtb25pemUvIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLm1kO21kNT0zY2Y5MDg0ZmFhODhiYzg1NTRhOTEzOWQ4ZDdkZDM1ZiIKK1BWID0gIjEuNy4zK2dpdCR7U1JDUFZ9IgorCitpbmhlcml0IGF1dG90b29scworCitTUkNSRVYgPSAiYTRhYzY0YTI0M2FmOTFkYzQzNGI3YTM5MTVmNDM0ODJkNTI4YTJiMSIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9ibWMvZGFlbW9uaXplLmdpdCIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworRVhUUkFfQVVUT1JFQ09ORiArPSAiLS1leGNsdWRlPWF1dG9oZWFkZXIiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2RhZW1vbnRvb2xzL2RhZW1vbnRvb2xzLzAwMDEtZXJyb3IuaC1pbmNsdWRlLWVycm5vLmgtaW5zdGVhZC1vZi1leHRlcm4taW50LmRpZmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2RhZW1vbnRvb2xzL2RhZW1vbnRvb2xzLzAwMDEtZXJyb3IuaC1pbmNsdWRlLWVycm5vLmgtaW5zdGVhZC1vZi1leHRlcm4taW50LmRpZmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2UxOTU5NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZGFlbW9udG9vbHMvZGFlbW9udG9vbHMvMDAwMS1lcnJvci5oLWluY2x1ZGUtZXJybm8uaC1pbnN0ZWFkLW9mLWV4dGVybi1pbnQuZGlmZgpAQCAtMCwwICsxLDI1IEBACitGcm9tIGQzZTc2NTFlMmYyNDkyZGQxMDMxZDA5YTk5NzEzNjQ0YjYwNGNhYjUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBHZXJyaXQgUGFwZSA8cGFwZUBzbWFyZGVuLm9yZz4KK0RhdGU6IFdlZCwgMTIgRGVjIDIwMDcgMTM6NDQ6MTUgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gZXJyb3IuaDogJyNpbmNsdWRlIDxlcnJuby5oPicgaW5zdGVhZCBvZiAnZXh0ZXJuIGludCBlcnJubzsnCisKKy0tLQorIGRhZW1vbnRvb2xzLTAuNzYvc3JjL2Vycm9yLmggfCAgICAyICstCisgMSBmaWxlcyBjaGFuZ2VkLCAxIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgZGFlbW9udG9vbHMtMC43Ni5vcmlnL3NyYy9lcnJvci5oIGRhZW1vbnRvb2xzLTAuNzYvc3JjL2Vycm9yLmgKK2luZGV4IDA4NmZiNTUuLmY3ZTgyNzMgMTAwNjQ0CistLS0gZGFlbW9udG9vbHMtMC43Ni5vcmlnL3NyYy9lcnJvci5oCisrKysgZGFlbW9udG9vbHMtMC43Ni9zcmMvZXJyb3IuaAorQEAgLTMsNyArMyw3IEBACisgI2lmbmRlZiBFUlJPUl9ICisgI2RlZmluZSBFUlJPUl9ICisgCistZXh0ZXJuIGludCBlcnJubzsKKysjaW5jbHVkZSA8ZXJybm8uaD4KKyAKKyBleHRlcm4gaW50IGVycm9yX2ludHI7CisgZXh0ZXJuIGludCBlcnJvcl9ub21lbTsKKy0tIAorMS41LjQuMgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2RhZW1vbnRvb2xzL2RhZW1vbnRvb2xzLzAwMDItc3VwZXJ2aXNlLmMtLi1zdXBlcnZpc2UtbWF5LWJlLWEtc3ltbGluay1pZi1pdC1zLWRhLmRpZmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2RhZW1vbnRvb2xzL2RhZW1vbnRvb2xzLzAwMDItc3VwZXJ2aXNlLmMtLi1zdXBlcnZpc2UtbWF5LWJlLWEtc3ltbGluay1pZi1pdC1zLWRhLmRpZmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzNkY2U5MAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZGFlbW9udG9vbHMvZGFlbW9udG9vbHMvMDAwMi1zdXBlcnZpc2UuYy0uLXN1cGVydmlzZS1tYXktYmUtYS1zeW1saW5rLWlmLWl0LXMtZGEuZGlmZgpAQCAtMCwwICsxLDQ3IEBACitGcm9tIDdlZTU4NWNhYjFkNWI2OGY4MDRhNTYwMWE2NmFlODc3OTljOGE3YzMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBHZXJyaXQgUGFwZSA8cGFwZUBzbWFyZGVuLm9yZz4KK0RhdGU6IFN1biwgMjQgRmViIDIwMDggMTA6NTQ6MjYgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gc3VwZXJ2aXNlLmM6IC4vc3VwZXJ2aXNlIG1heSBiZSBhIHN5bWxpbmssIGlmIGl0J3MgZGFuZ2xpbmcsIGNyZWF0ZSBsaW5rIHRhcmdldAorCistLS0KKyBkYWVtb250b29scy0wLjc2L3NyYy9zdXBlcnZpc2UuYyB8ICAgMTcgKysrKysrKysrKysrKysrKy0KKyAxIGZpbGVzIGNoYW5nZWQsIDE2IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgZGFlbW9udG9vbHMtMC43Ni5vcmlnL3NyYy9zdXBlcnZpc2UuYyBkYWVtb250b29scy0wLjc2L3NyYy9zdXBlcnZpc2UuYworaW5kZXggMjQ4MmFkMi4uZjQzY2FiZiAxMDA2NDQKKy0tLSBkYWVtb250b29scy0wLjc2Lm9yaWcvc3JjL3N1cGVydmlzZS5jCisrKysgZGFlbW9udG9vbHMtMC43Ni9zcmMvc3VwZXJ2aXNlLmMKK0BAIC0yMDgsNiArMjA4LDggQEAgdm9pZCBkb2l0KHZvaWQpCisgaW50IG1haW4oaW50IGFyZ2MsY2hhciAqKmFyZ3YpCisgeworICAgc3RydWN0IHN0YXQgc3Q7CisrICBpbnQgcjsKKysgIGNoYXIgYnVmWzI1Nl07CisgCisgICBkaXIgPSBhcmd2WzFdOworICAgaWYgKCFkaXIgfHwgYXJndlsyXSkKK0BAIC0yMzIsNyArMjM0LDIwIEBAIGludCBtYWluKGludCBhcmdjLGNoYXIgKiphcmd2KQorICAgICBpZiAoZXJybm8gIT0gZXJyb3Jfbm9lbnQpCisgICAgICAgc3RyZXJyX2RpZTRzeXMoMTExLEZBVEFMLCJ1bmFibGUgdG8gc3RhdCAiLGRpciwiL2Rvd246ICIpOworIAorLSAgbWtkaXIoInN1cGVydmlzZSIsMDcwMCk7CisrICBpZiAobWtkaXIoInN1cGVydmlzZSIsMDcwMCkgPT0gLTEpIHsKKysgICAgaWYgKChyID0gcmVhZGxpbmsoInN1cGVydmlzZSIsIGJ1ZiwgMjU2KSkgIT0gLTEpIHsKKysgICAgICBpZiAociA9PSAyNTYpIHsKKysgICAgICAgIGVycm5vID0gRU9WRVJGTE9XOworKyAgICAgICAgc3RyZXJyX2RpZTFzeXMoMTExLCJ1bmFibGUgdG8gcmVhZGxpbmsgLi9zdXBlcnZpc2U6ICIpOworKyAgICAgIH0KKysgICAgICBidWZbcl0gPSAwOworKyAgICAgIG1rZGlyKGJ1ZiwgMDcwMCk7CisrICAgIH0KKysgICAgZWxzZSB7CisrICAgICAgaWYgKChlcnJubyAhPSBFTk9FTlQpICYmIChlcnJubyAhPSBFSU5WQUwpKQorKyAgICAgICAgc3RyZXJyX2RpZTFzeXMoMTExLCAidW5hYmxlIHRvIHJlYWRsaW5rIC4vc3VwZXJ2aXNlOiAiKTsKKysgICAgfQorKyAgfQorICAgZmRsb2NrID0gb3Blbl9hcHBlbmQoInN1cGVydmlzZS9sb2NrIik7CisgICBpZiAoKGZkbG9jayA9PSAtMSkgfHwgKGxvY2tfZXhuYihmZGxvY2spID09IC0xKSkKKyAgICAgc3RyZXJyX2RpZTRzeXMoMTExLEZBVEFMLCJ1bmFibGUgdG8gYWNxdWlyZSAiLGRpciwiL3N1cGVydmlzZS9sb2NrOiAiKTsKKy0tIAorMS41LjQuMgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2RhZW1vbnRvb2xzL2RhZW1vbnRvb2xzL2Nyb3NzLWNvbXBpbGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2RhZW1vbnRvb2xzL2RhZW1vbnRvb2xzL2Nyb3NzLWNvbXBpbGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjE2NGMyZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZGFlbW9udG9vbHMvZGFlbW9udG9vbHMvY3Jvc3MtY29tcGlsZS5wYXRjaApAQCAtMCwwICsxLDQ1IEBACittYWtlIHN1cmUgaXQgY2FuIGJlIGNvbXBpbGVkIGZvciBjcm9zcyB0YXJnZXQKKworMS4gbmV2ZXIgdHJ5IHRvIGNvbXBpbGUgdGFyZ2V0IGJpbmFyeSBieSBuYXRpdmUgZ2NjCisyLiB0YXJnZXQncyBjaGtzaHNnciBkb2Vzbid0IHdvcmsgb24gbmF0aXZlLgorMy4gaXQncyB3cm9uZyB0byBkbyB0YXJnZXQgdGVzdHMgb24gbmF0aXZlLgorCitTaWduZWQtb2ZmLWJ5OiBCaWFuIE5haW1lbmcgPGJpYW5ubUBjbi5mdWppdHN1LmNvbT4KKworZGlmZiAtTnVycCBkYWVtb250b29scy0wLjc2Lm9yaWcvc3JjL2NvbmYtY2MgZGFlbW9udG9vbHMtMC43Ni9zcmMvY29uZi1jYworLS0tIGRhZW1vbnRvb2xzLTAuNzYub3JpZy9zcmMvY29uZi1jYwkyMDAxLTA3LTEzIDAwOjQ5OjQ5LjAwMDAwMDAwMCArMDgwMAorKysrIGRhZW1vbnRvb2xzLTAuNzYvc3JjL2NvbmYtY2MJMjAxNC0xMS0yNiAwOTozNDozOC44Mjg4MTIxNjIgKzA4MDAKK0BAIC0xLDMgKzEsMyBAQAorLWdjYyAtTzIgLVdpbXBsaWNpdCAtV3VudXNlZCAtV2NvbW1lbnQgLVdjaGFyLXN1YnNjcmlwdHMgLVd1bmluaXRpYWxpemVkIC1Xc2hhZG93IC1XY2FzdC1xdWFsIC1XY2FzdC1hbGlnbiAtV3dyaXRlLXN0cmluZ3MKKyske0NDfSAtTzIgLVdpbXBsaWNpdCAtV3VudXNlZCAtV2NvbW1lbnQgLVdjaGFyLXN1YnNjcmlwdHMgLVd1bmluaXRpYWxpemVkIC1Xc2hhZG93IC1XY2FzdC1xdWFsIC1XY2FzdC1hbGlnbiAtV3dyaXRlLXN0cmluZ3MKKyAKKyBUaGlzIHdpbGwgYmUgdXNlZCB0byBjb21waWxlIC5jIGZpbGVzLgorZGlmZiAtTnVycCBkYWVtb250b29scy0wLjc2Lm9yaWcvc3JjL2NvbmYtbGQgZGFlbW9udG9vbHMtMC43Ni9zcmMvY29uZi1sZAorLS0tIGRhZW1vbnRvb2xzLTAuNzYub3JpZy9zcmMvY29uZi1sZAkyMDAxLTA3LTEzIDAwOjQ5OjQ5LjAwMDAwMDAwMCArMDgwMAorKysrIGRhZW1vbnRvb2xzLTAuNzYvc3JjL2NvbmYtbGQJMjAxNC0xMS0yNiAwOTozNDo0OS44ODA4MTE3MzAgKzA4MDAKK0BAIC0xLDMgKzEsMyBAQAorLWdjYyAtcworKyR7Q0N9CisgCisgVGhpcyB3aWxsIGJlIHVzZWQgdG8gbGluayAubyBmaWxlcyBpbnRvIGFuIGV4ZWN1dGFibGUuCitkaWZmIC1OdXJwIGRhZW1vbnRvb2xzLTAuNzYub3JpZy9zcmMvTWFrZWZpbGUgZGFlbW9udG9vbHMtMC43Ni9zcmMvTWFrZWZpbGUKKy0tLSBkYWVtb250b29scy0wLjc2Lm9yaWcvc3JjL01ha2VmaWxlCTIwMDEtMDctMTMgMDA6NDk6NDkuMDAwMDAwMDAwICswODAwCisrKysgZGFlbW9udG9vbHMtMC43Ni9zcmMvTWFrZWZpbGUJMjAxNC0xMS0yNiAwOTozODo0Ny4xMjA4MDI0NTkgKzA4MDAKK0BAIC0xNjUsNyArMTY1LDcgQEAgaGFzc2dwcm0uaDogY2hvb3NlIGNvbXBpbGUgaGFzc2dwcm0uaDEgaAorIAorIGhhc3Noc2dyLmg6IGNoa3Noc2dyIGNob29zZSBjb21waWxlIGhhc3Noc2dyLmgxIGhhc3Noc2dyLmgyIGxvYWQgXAorIHRyeXNoc2dyLmMgd2Fybi1zaHNncgorLQkuL2Noa3Noc2dyIHx8ICggY2F0IHdhcm4tc2hzZ3I7IGV4aXQgMSApCisrCWNoa3Noc2dyIHx8ICggY2F0IHdhcm4tc2hzZ3I7IGV4aXQgMSApCisgCS4vY2hvb3NlIGNsciB0cnlzaHNnciBoYXNzaHNnci5oMSBoYXNzaHNnci5oMiA+IGhhc3Noc2dyLmgKKyAKKyBoYXN3YWl0cC5oOiBjaG9vc2UgY29tcGlsZSBoYXN3YWl0cC5oMSBoYXN3YWl0cC5oMiBsb2FkIHRyeXdhaXRwLmMKK0BAIC0yNjUsNyArMjY1LDcgQEAgcmVhZHByb2N0aXRsZS5vOiBjb21waWxlIGVycm9yLmggcmVhZHBybworIHJ0czogZW52ZGlyIGVudnVpZGdpZCBmZ2hhY2sgbWF0Y2h0ZXN0IG11bHRpbG9nIHBncnBoYWNrIFwKKyByZWFkcHJvY3RpdGxlIHJ0cy50ZXN0cyBzZXRsb2NrIHNldHVpZGdpZCBzb2Z0bGltaXQgc3VwZXJ2aXNlIHN2YyBcCisgc3ZvayBzdnNjYW4gc3ZzY2FuYm9vdCBzdnN0YXQgdGFpNjRuIHRhaTY0bmxvY2FsCistCWVudiAtIC9iaW4vc2ggcnRzLnRlc3RzIDI+JjEgfCBjYXQgLXYgPiBydHMKKysJZWNobyAiV2FybmluZzogV2UgY2FuIG5vdCBydW4gdGVzdCBvbiBjcm9zcyB0YXJnZXQuIgorIAorIHNjYW5fdWxvbmcubzogY29tcGlsZSBzY2FuLmggc2Nhbl91bG9uZy5jCisgCS4vY29tcGlsZSBzY2FuX3Vsb25nLmMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZGFlbW9udG9vbHMvZGFlbW9udG9vbHNfMC43Ni5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZGFlbW9udG9vbHMvZGFlbW9udG9vbHNfMC43Ni5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNjFmOTJmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9kYWVtb250b29scy9kYWVtb250b29sc18wLjc2LmJiCkBAIC0wLDAgKzEsNDcgQEAKK1NVTU1BUlkgPSAiREpCIGRhZW1vbnRvb2xzIgorREVTQ1JJUFRJT04gPSAic3VwZXJ2aXNlIG1vbml0b3JzIGEgc2VydmljZS4gSXQgc3RhcnRzIHRoZSBzZXJ2aWNlIGFuZCByZXN0YXJ0cyB0aGUgXAorc2VydmljZSBpZiBpdCBkaWVzLiBUaGUgY29tcGFuaW9uIHN2YyBwcm9ncmFtIHN0b3BzLCBwYXVzZXMsIG9yIHJlc3RhcnRzIFwKK3RoZSBzZXJ2aWNlIG9uIHN5c2FkbWluIHJlcXVlc3QuIFRoZSBzdnN0YXQgcHJvZ3JhbSBwcmludHMgYSBvbmUtbGluZSBcCitzdGF0dXMgcmVwb3J0LiBcCittdWx0aWxvZyBzYXZlcyBlcnJvciBtZXNzYWdlcyB0byBvbmUgb3IgbW9yZSBsb2dzLiAgSXQgb3B0aW9uYWxseSB0aW1lc3RhbXBzIFwKK2VhY2ggbGluZSBhbmQsIGZvciBlYWNoIGxvZywgaW5jbHVkZXMgb3IgZXhjbHVkZXMgbGluZXMgbWF0Y2hpbmcgc3BlY2lmaWVkIFwKK3BhdHRlcm5zLiAgSXQgYXV0b21hdGljYWxseSByb3RhdGVzIGxvZ3MgdG8gbGltaXQgdGhlIGFtb3VudCBvZiBkaXNrIHNwYWNlIFwKK3VzZWQuICBJZiB0aGUgZGlzayBmaWxscyB1cCwgaXQgcGF1c2VzIGFuZCB0cmllcyBhZ2Fpbiwgd2l0aG91dCBsb3NpbmcgYW55IFwKK2RhdGEuIgorCitTRUNUSU9OID0gIlN5c3RlbS9TZXJ2ZXJzIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke0NPTU1PTl9MSUNFTlNFX0RJUn0vUEQ7bWQ1PWIzNTk3ZDEyOTQ2ODgxZTEzY2IzYjU0OGQxMTczODUxIgorTElDRU5TRSA9ICJQRCIKKworU1JDX1VSSSA9ICJodHRwOi8vY3IueXAudG8vZGFlbW9udG9vbHMvJHtCUE59LSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWVycm9yLmgtaW5jbHVkZS1lcnJuby5oLWluc3RlYWQtb2YtZXh0ZXJuLWludC5kaWZmIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDItc3VwZXJ2aXNlLmMtLi1zdXBlcnZpc2UtbWF5LWJlLWEtc3ltbGluay1pZi1pdC1zLWRhLmRpZmYgIgorCitTUkNfVVJJX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiZmlsZTovL2Nyb3NzLWNvbXBpbGUucGF0Y2giCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIxODcxYWYyNDUzZDZlNDY0MDM0OTY4YTBmYmNiMmJmYyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhNTU1MzUwMTJiMmJlN2E1MmRjZDllY2NhYmI5YTE5OGIxM2JlNTBkMDM4NDE0M2JkM2IzMmI4NzEwZGY0YzFmIgorCitTID0gIiR7V09SS0RJUn0vYWRtaW4vJHtCUE59LSR7UFZ9IgorCitERVBFTkRTICs9ICJkYWVtb250b29scy1uYXRpdmUiCitERVBFTkRTX2NsYXNzLW5hdGl2ZSA9ICIiCisKK2RvX2NvbXBpbGUoKSB7CisgICAgLi9wYWNrYWdlL2NvbXBpbGUKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtiaW5kaXJ9Cit9CisKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZSgpIHsKKyAgICBpbnN0YWxsIC1tIDc1NSAke1N9L2NvbXBpbGUvY2hrc2hzZ3IgJHtEfS8ke2JpbmRpcn0KK30KKworZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtdGFyZ2V0KCkgeworICAgIGluc3RhbGwgLW03NTUgJHtTfS9jb21tYW5kLyogJHtEfS8ke2JpbmRpcn0KK30KKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2RldmljZWtpdC9kZXZpY2VraXQtcG93ZXJfMDE0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9kZXZpY2VraXQvZGV2aWNla2l0LXBvd2VyXzAxNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMmI3ZTY2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9kZXZpY2VraXQvZGV2aWNla2l0LXBvd2VyXzAxNC5iYgpAQCAtMCwwICsxLDMwIEBACitTVU1NQVJZID0gIkRldmljZWtpdCBwb3dlciIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03NTZjZjk3ODcxZjc3MjMzNjM4OTM3ZGEyMWIwMjVkMyIKKworREVQRU5EUyA9ICJsaWJ1c2ItY29tcGF0IGxpYnVzYjEgdWRldiBnbGliLTIuMCBkYnVzLWdsaWIgcG9sa2l0IGludGx0b29sLW5hdGl2ZSBsaWJndWRldiIKKworU1JDX1VSSSA9ICJodHRwOi8vdXBvd2VyLmZyZWVkZXNrdG9wLm9yZy9yZWxlYXNlcy9EZXZpY2VLaXQtcG93ZXItJHtQVn0udGFyLmd6O25hbWU9YXJjaGl2ZSIKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gIjkzNWQzN2YxZTE0YjNjOGExZDZkYWJjZDlhMzhkM2NhIgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiYWQzZTlhOGJkOTUyNWQ2NmZhZGM3ZmE1M2VmOTllMDYzMmFhOGNjYThmZDViYzI3NDgzOTU2MjYxMTUzYjM3MyIKKworUyA9ICIke1dPUktESVJ9L0RldmljZUtpdC1wb3dlci0ke1BWfSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK0VYVFJBX09FQ09ORiA9ICIgLS13aXRoLWJhY2tlbmQ9bGludXgiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIHNlZCAtaSAtZSBzOi1ub25ldDpcOmcgJHtTfS9kb2MvbWFuL01ha2VmaWxlLmFtCisgICAgc2VkIC1pIC1lICdzOiBkb2MgOiA6ZycgJHtTfS9NYWtlZmlsZS5hbQorfSAgICAKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vZGJ1cy0xLyBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9wb2xraXQtMS8gXAorICAgICAgICAgICAgICAgICR7YmFzZV9saWJkaXJ9L3VkZXYvKiBcCisiCisKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtiYXNlX2xpYmRpcn0vdWRldi8uZGVidWciCisKKworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2Rldm1lbTIvZGV2bWVtMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZGV2bWVtMi9kZXZtZW0yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU0OGNjOTIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2Rldm1lbTIvZGV2bWVtMi5iYgpAQCAtMCwwICsxLDIyIEBACitTVU1NQVJZID0gIlNpbXBsZSBwcm9ncmFtIHRvIHJlYWQvd3JpdGUgZnJvbS90byBhbnkgbG9jYXRpb24gaW4gbWVtb3J5IgorTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9kZXZtZW0yLmM7ZW5kbGluZT0yODttZDU9ZGQ2OGYyYjBhNTE4NGIzZGIzZGMyNWM5OWUwYmQwY2QiCitQUiA9ICJyNyIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmxhcnRtYWtlci5ubC9sYXJ0d2FyZS9wb3J0L2Rldm1lbTIuYyBcCisgICAgICAgICAgIGZpbGU6Ly9kZXZtZW0yLWZpeHVwcy0yLnBhdGNoO2FwcGx5PXllcztzdHJpcGxldmVsPTAiCitTID0gIiR7V09SS0RJUn0iCisKK0NGTEFHUyArPSAiLURGT1JDRV9TVFJJQ1RfQUxJR05NRU5UIgorCitkb19jb21waWxlKCkgeworICAgICR7Q0N9IC1vIGRldm1lbTIgZGV2bWVtMi5jICR7Q0ZMQUdTfSAke0xERkxBR1N9Cit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9CisgICAgaW5zdGFsbCBkZXZtZW0yICR7RH0ke2JpbmRpcn0KK30KKworU1JDX1VSSVttZDVzdW1dID0gImJlMTJjMDEzMmExYWUxMThjYmY1ZTc5ZDk4NDI3YzFkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImVjMzgyYzkwYWYzZWYyZjQ5Njk1ZmYxNGE0ZDY1MjFlNThhYzQ4MmM0ZTI5ZDZjOWViY2E4NzY4ZjY5OWMxOTEiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2Rldm1lbTIvZGV2bWVtMi9kZXZtZW0yLWZpeHVwcy0yLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9kZXZtZW0yL2Rldm1lbTIvZGV2bWVtMi1maXh1cHMtMi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NTE3Nzk3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9kZXZtZW0yL2Rldm1lbTIvZGV2bWVtMi1maXh1cHMtMi5wYXRjaApAQCAtMCwwICsxLDkxIEBACistLS0gZGV2bWVtMi5jCTIwMDQtMDgtMDUgMDE6NTU6MjUuMDAwMDAwMDAwICswMjAwCisrKysgZGV2bWVtMl9tb2RpZi5jCTIwMTEtMDEtMTMgMTU6NDg6MzcuNzk4Nzk5Nzg0ICswMTAwCitAQCAtNDUsMTIgKzQ1LDE2IEBACisgI2RlZmluZSBNQVBfU0laRSA0MDk2VUwKKyAjZGVmaW5lIE1BUF9NQVNLIChNQVBfU0laRSAtIDEpCisgCisrc3RhdGljIGlubGluZSB2b2lkICpmaXh1cF9hZGRyKHZvaWQgKmFkZHIsIHNpemVfdCBzaXplKTsKKysKKyBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKKyAgICAgaW50IGZkOworICAgICB2b2lkICptYXBfYmFzZSwgKnZpcnRfYWRkcjsgCistCXVuc2lnbmVkIGxvbmcgcmVhZF9yZXN1bHQsIHdyaXRldmFsOworKwl1bnNpZ25lZCBsb25nIHJlYWRfcmVzdWx0LCB3cml0ZV92YWw7CisgCW9mZl90IHRhcmdldDsKKyAJaW50IGFjY2Vzc190eXBlID0gJ3cnOworKwljaGFyIGZtdF9zdHJbMTI4XTsKKysJc2l6ZV90IGRhdGFfc2l6ZTsKKyAJCisgCWlmKGFyZ2MgPCAyKSB7CisgCQlmcHJpbnRmKHN0ZGVyciwgIlxuVXNhZ2U6XHQlcyB7IGFkZHJlc3MgfSBbIHR5cGUgWyBkYXRhIF0gXVxuIgorQEAgLTc5LDM4ICs4Myw1MSBAQAorICAgICB2aXJ0X2FkZHIgPSBtYXBfYmFzZSArICh0YXJnZXQgJiBNQVBfTUFTSyk7CisgICAgIHN3aXRjaChhY2Nlc3NfdHlwZSkgeworIAkJY2FzZSAnYic6CisrCQkJZGF0YV9zaXplID0gc2l6ZW9mKHVuc2lnbmVkIGNoYXIpOworKwkJCXZpcnRfYWRkciA9IGZpeHVwX2FkZHIodmlydF9hZGRyLCBkYXRhX3NpemUpOworIAkJCXJlYWRfcmVzdWx0ID0gKigodW5zaWduZWQgY2hhciAqKSB2aXJ0X2FkZHIpOworIAkJCWJyZWFrOworIAkJY2FzZSAnaCc6CisrCQkJZGF0YV9zaXplID0gc2l6ZW9mKHVuc2lnbmVkIHNob3J0KTsKKysJCQl2aXJ0X2FkZHIgPSBmaXh1cF9hZGRyKHZpcnRfYWRkciwgZGF0YV9zaXplKTsKKyAJCQlyZWFkX3Jlc3VsdCA9ICooKHVuc2lnbmVkIHNob3J0ICopIHZpcnRfYWRkcik7CisgCQkJYnJlYWs7CisgCQljYXNlICd3JzoKKysJCQlkYXRhX3NpemUgPSBzaXplb2YodW5zaWduZWQgbG9uZyk7CisrCQkJdmlydF9hZGRyID0gZml4dXBfYWRkcih2aXJ0X2FkZHIsIGRhdGFfc2l6ZSk7CisgCQkJcmVhZF9yZXN1bHQgPSAqKCh1bnNpZ25lZCBsb25nICopIHZpcnRfYWRkcik7CisgCQkJYnJlYWs7CisgCQlkZWZhdWx0OgorIAkJCWZwcmludGYoc3RkZXJyLCAiSWxsZWdhbCBkYXRhIHR5cGUgJyVjJy5cbiIsIGFjY2Vzc190eXBlKTsKKyAJCQlleGl0KDIpOworIAl9CistICAgIHByaW50ZigiVmFsdWUgYXQgYWRkcmVzcyAweCVYICglcCk6IDB4JVhcbiIsIHRhcmdldCwgdmlydF9hZGRyLCByZWFkX3Jlc3VsdCk7IAorKwlzcHJpbnRmKGZtdF9zdHIsICJSZWFkIGF0IGFkZHJlc3MgIDB4JSUwOGxYICglJXApOiAweCUlMCVkbFhcbiIsIDIqZGF0YV9zaXplKTsKKysgICAgcHJpbnRmKGZtdF9zdHIsICh1bnNpZ25lZCBsb25nKXRhcmdldCwgdmlydF9hZGRyLCByZWFkX3Jlc3VsdCk7CisgICAgIGZmbHVzaChzdGRvdXQpOworIAorIAlpZihhcmdjID4gMykgeworLQkJd3JpdGV2YWwgPSBzdHJ0b3VsKGFyZ3ZbM10sIDAsIDApOworKwkJd3JpdGVfdmFsID0gc3RydG91bChhcmd2WzNdLCAwLCAwKTsKKyAJCXN3aXRjaChhY2Nlc3NfdHlwZSkgeworIAkJCWNhc2UgJ2InOgorLQkJCQkqKCh1bnNpZ25lZCBjaGFyICopIHZpcnRfYWRkcikgPSB3cml0ZXZhbDsKKysJCQkJdmlydF9hZGRyID0gZml4dXBfYWRkcih2aXJ0X2FkZHIsIHNpemVvZih1bnNpZ25lZCBjaGFyKSk7CisrCQkJCSooKHVuc2lnbmVkIGNoYXIgKikgdmlydF9hZGRyKSA9IHdyaXRlX3ZhbDsKKyAJCQkJcmVhZF9yZXN1bHQgPSAqKCh1bnNpZ25lZCBjaGFyICopIHZpcnRfYWRkcik7CisgCQkJCWJyZWFrOworIAkJCWNhc2UgJ2gnOgorLQkJCQkqKCh1bnNpZ25lZCBzaG9ydCAqKSB2aXJ0X2FkZHIpID0gd3JpdGV2YWw7CisrCQkJCXZpcnRfYWRkciA9IGZpeHVwX2FkZHIodmlydF9hZGRyLCBzaXplb2YodW5zaWduZWQgc2hvcnQpKTsKKysJCQkJKigodW5zaWduZWQgc2hvcnQgKikgdmlydF9hZGRyKSA9IHdyaXRlX3ZhbDsKKyAJCQkJcmVhZF9yZXN1bHQgPSAqKCh1bnNpZ25lZCBzaG9ydCAqKSB2aXJ0X2FkZHIpOworIAkJCQlicmVhazsKKyAJCQljYXNlICd3JzoKKy0JCQkJKigodW5zaWduZWQgbG9uZyAqKSB2aXJ0X2FkZHIpID0gd3JpdGV2YWw7CisrCQkJCXZpcnRfYWRkciA9IGZpeHVwX2FkZHIodmlydF9hZGRyLCBzaXplb2YodW5zaWduZWQgbG9uZykpOworKwkJCQkqKCh1bnNpZ25lZCBsb25nICopIHZpcnRfYWRkcikgPSB3cml0ZV92YWw7CisgCQkJCXJlYWRfcmVzdWx0ID0gKigodW5zaWduZWQgbG9uZyAqKSB2aXJ0X2FkZHIpOworIAkJCQlicmVhazsKKyAJCX0KKy0JCXByaW50ZigiV3JpdHRlbiAweCVYOyByZWFkYmFjayAweCVYXG4iLCB3cml0ZXZhbCwgcmVhZF9yZXN1bHQpOyAKKysJCXNwcmludGYoZm10X3N0ciwgIldyaXRlIGF0IGFkZHJlc3MgMHglJTA4bFggKCUlcCk6IDB4JSUwJWRsWCwgIgorKwkJCSJyZWFkYmFjayAweCUlMCVkbFhcbiIsCTIqZGF0YV9zaXplLCAyKmRhdGFfc2l6ZSk7CisrCQlwcmludGYoZm10X3N0ciwgKHVuc2lnbmVkIGxvbmcpdGFyZ2V0LCB2aXJ0X2FkZHIsCisrCQkJd3JpdGVfdmFsLCByZWFkX3Jlc3VsdCk7CisgCQlmZmx1c2goc3Rkb3V0KTsKKyAJfQorIAkKK0BAIC0xMTksMyArMTM2LDEyIEBACisgICAgIHJldHVybiAwOworIH0KKyAKKytzdGF0aWMgaW5saW5lIHZvaWQgKmZpeHVwX2FkZHIodm9pZCAqYWRkciwgc2l6ZV90IHNpemUpCisreworKyNpZmRlZiBGT1JDRV9TVFJJQ1RfQUxJR05NRU5UCisrCXVuc2lnbmVkIGxvbmcgYWxpZ25lZF9hZGRyID0gKHVuc2lnbmVkIGxvbmcpYWRkcjsKKysJYWxpZ25lZF9hZGRyICY9IH4oc2l6ZSAtIDEpOworKwlhZGRyID0gKHZvaWQgKilhbGlnbmVkX2FkZHI7CisrI2VuZGlmCisrCXJldHVybiBhZGRyOworK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZGZ1LXV0aWwvZGZ1LXV0aWwtbmF0aXZlXzAuOS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZGZ1LXV0aWwvZGZ1LXV0aWwtbmF0aXZlXzAuOS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YTdhNjYyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9kZnUtdXRpbC9kZnUtdXRpbC1uYXRpdmVfMC45LmJiCkBAIC0wLDAgKzEsMTYgQEAKK3JlcXVpcmUgZGZ1LXV0aWxfJHtQVn0uYmIKKworaW5oZXJpdCBuYXRpdmUgZGVwbG95CisKK0RFUEVORFMgPSAibGlidXNiMS1uYXRpdmUiCisKK1NSQ19VUkkgKz0gImZpbGU6Ly8wMDAxLVJldmVydC1NYWtlZmlsZS5hbS1Ecm9wLXN0YXRpYy1kZnUtdXRpbC5wYXRjaCIKKworZG9fZGVwbG95W3NzdGF0ZS1vdXRwdXRkaXJzXSA9ICIke0RFUExPWV9ESVJfVE9PTFN9IgorZG9fZGVwbG95KCkgeworICAgIGluc3RhbGwgLWQgJHtERVBMT1lfRElSX1RPT0xTfQorICAgIGluc3RhbGwgLW0gMDc1NSBzcmMvZGZ1LXV0aWxfc3RhdGljICR7REVQTE9ZX0RJUl9UT09MU30vZGZ1LXV0aWwtJHtQVn0KKyAgICBybSAtZiAke0RFUExPWV9ESVJfVE9PTFN9L2RmdS11dGlsCisgICAgbG4gLXNmIC4vZGZ1LXV0aWwtJHtQVn0gJHtERVBMT1lfRElSX1RPT0xTfS9kZnUtdXRpbAorfQorYWRkdGFzayBkZXBsb3kgYmVmb3JlIGRvX3BhY2thZ2UgYWZ0ZXIgZG9faW5zdGFsbApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9kZnUtdXRpbC9kZnUtdXRpbC8wMDAxLVJldmVydC1NYWtlZmlsZS5hbS1Ecm9wLXN0YXRpYy1kZnUtdXRpbC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZGZ1LXV0aWwvZGZ1LXV0aWwvMDAwMS1SZXZlcnQtTWFrZWZpbGUuYW0tRHJvcC1zdGF0aWMtZGZ1LXV0aWwucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWM2YWQwOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZGZ1LXV0aWwvZGZ1LXV0aWwvMDAwMS1SZXZlcnQtTWFrZWZpbGUuYW0tRHJvcC1zdGF0aWMtZGZ1LXV0aWwucGF0Y2gKQEAgLTAsMCArMSw2OCBAQAorRnJvbSBjMmFhYjNiOWFlMWZlYmNiNmI0YzY1NjFhNTlkZjE5MzBhNTdiMzk0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFydGluIEphTWEgSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CitEYXRlOiBUaHUsIDExIEF1ZyAyMDExIDExOjE5OjUyICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIFJldmVydCAiTWFrZWZpbGUuYW06IERyb3Agc3RhdGljIGRmdS11dGlsIgorCitUaGlzIHJldmVydHMgY29tbWl0IGZlMDQyNmRkYzA0ZjUwM2QxNDhjNWU1ZjkzMWYxNmI4ZjY3NGYwNzEuCisKK1NpZ25lZC1vZmYtYnk6IE1hcnRpbiBKYU1hIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorLS0tCisgY29uZmlndXJlLmFjICAgIHwgIDIgKy0KKyBzcmMvTWFrZWZpbGUuYW0gfCAyMiArKysrKysrKysrKysrKysrKysrKystCisgMiBmaWxlcyBjaGFuZ2VkLCAyMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCBmNWE0M2I4Li42YTM3NTdlIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC0yMSw3ICsyMSw3IEBAIEFTX0lGKFt0ZXN0IHgkbmF0aXZlX2xpYnVzYiA9IHhub10sIFsKKyAgICAgICAgIEFDX01TR19FUlJPUihbKioqIFJlcXVpcmVkIGxpYnVzYi0xLjAgPj0gMS4wLjAgbm90IGluc3RhbGxlZCAqKipdKSkKKyBdKQorIAorLUxJQlM9IiRMSUJTICRVU0JfTElCUyIKKytMSUJTPSIkTElCUyAkVVNCX0xJQlMgLWxwdGhyZWFkIgorIENGTEFHUz0iJENGTEFHUyAkVVNCX0NGTEFHUyIKKyAKKyAjIENoZWNrcyBmb3IgaGVhZGVyIGZpbGVzLgorZGlmZiAtLWdpdCBhL3NyYy9NYWtlZmlsZS5hbSBiL3NyYy9NYWtlZmlsZS5hbQoraW5kZXggNzAxNzljNC4uZTg3MzZlZSAxMDA2NDQKKy0tLSBhL3NyYy9NYWtlZmlsZS5hbQorKysrIGIvc3JjL01ha2VmaWxlLmFtCitAQCAtMSw2ICsxLDYgQEAKKyBBTV9DRkxBR1MgPSAtV2FsbCAtV2V4dHJhCisgCistYmluX1BST0dSQU1TID0gZGZ1LXV0aWwgZGZ1LXN1ZmZpeCBkZnUtcHJlZml4CisrYmluX1BST0dSQU1TID0gZGZ1LXV0aWwgZGZ1LXV0aWxfc3RhdGljIGRmdS1zdWZmaXggZGZ1LXByZWZpeAorIGRmdV91dGlsX1NPVVJDRVMgPSBtYWluLmMgXAorIAkJcG9ydGFibGUuaCBcCisgCQlkZnVfbG9hZC5jIFwKK0BAIC0xOSw2ICsxOSwyNiBAQCBkZnVfdXRpbF9TT1VSQ0VTID0gbWFpbi5jIFwKKyAJCXF1aXJrcy5jIFwKKyAJCXF1aXJrcy5oCisgCisrZGZ1X3V0aWxfc3RhdGljX1NPVVJDRVMgPSBtYWluLmMgXAorKwkJcG9ydGFibGUuaCBcCisrCQlkZnVfbG9hZC5jIFwKKysJCWRmdV9sb2FkLmggXAorKwkJZGZ1X3V0aWwuYyBcCisrCQlkZnVfdXRpbC5oIFwKKysJCWRmdXNlLmMgXAorKwkJZGZ1c2UuaCBcCisrCQlkZnVzZV9tZW0uYyBcCisrCQlkZnVzZV9tZW0uaCBcCisrCQlkZnUuYyBcCisrCQlkZnUuaCBcCisrCQl1c2JfZGZ1LmggXAorKwkJZGZ1X2ZpbGUuYyBcCisrCQlkZnVfZmlsZS5oIFwKKysJCXF1aXJrcy5jIFwKKysJCXF1aXJrcy5oCisrCisrZGZ1X3V0aWxfc3RhdGljX0xERkxBR1MgPSAtc3RhdGljCisrCisgZGZ1X3N1ZmZpeF9TT1VSQ0VTID0gc3VmZml4LmMgXAorIAkJZGZ1X2ZpbGUuaCBcCisgCQlkZnVfZmlsZS5jCistLSAKKzIuNy4yCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZGZ1LXV0aWwvZGZ1LXV0aWxfMC45LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9kZnUtdXRpbC9kZnUtdXRpbF8wLjkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDFiY2EyMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZGZ1LXV0aWwvZGZ1LXV0aWxfMC45LmJiCkBAIC0wLDAgKzEsMTQgQEAKK0RFU0NSSVBUSU9OID0gIlVTQiBEZXZpY2UgRmlybXdhcmUgVXBncmFkZSB1dGlsaXR5IgorU0VDVElPTiA9ICJkZXZlbCIKK0FVVEhPUiA9ICJIYXJhbGQgV2VsdGUgPGxhZm9yZ2VAb3Blbm1va28ub3JnPiIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKKworU1JDX1VSSSA9ICJodHRwOi8vZGZ1LXV0aWwuZ251bW9ua3Mub3JnL3JlbGVhc2VzLyR7QlB9LnRhci5neiIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK0RFUEVORFMgPSAibGlidXNiMSIKKworU1JDX1VSSVttZDVzdW1dID0gIjIzM2JiMWUwOGVmNGI0MDUwNjI0NDVkODRlMjhmZGU2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjM2NDI4YzZhNmNiMzA4OGNhZDVhMzU5MjkzMzM4NTI1M2RhNWYyOWYyZWZmYTYxNTE4ZWU1OTkxZWEzOGY4MzMiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2RpZ2l0ZW1wL2RpZ2l0ZW1wL21ha2VmaWxlLWZpeC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZGlnaXRlbXAvZGlnaXRlbXAvbWFrZWZpbGUtZml4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMwZDU1MmQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2RpZ2l0ZW1wL2RpZ2l0ZW1wL21ha2VmaWxlLWZpeC5wYXRjaApAQCAtMCwwICsxLDIwIEBACitkaWdpdGVtcDogYWxsb3cgb3ZlcnJpZGUgb2YgQ0MgYW5kIENGTEFHUyB2YXJzCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IE90YXZpbyBTYWx2YWRvciA8b3RhdmlvQG9zc3lzdGVtcy5jb20uYnI+CisKKy0tLSBhL01ha2VmaWxlCTIwMDgtMDgtMjggMjE6Mzc6MDAuMDAwMDAwMDAwICswMDAwCisrKysgYi9NYWtlZmlsZQkyMDExLTExLTI0IDIyOjIyOjM5Ljg4MjUxMTI3MiArMDAwMAorQEAgLTExLDggKzExLDkgQEAKKyAKKyBWRVJTSU9OID0gMy42LjAKKyAKKy1DQwk9IGdjYworLUNGTEFHUwk9IC1JLi9zcmMgLUkuL3VzZXJpYWwgLU8yIC1XYWxsICMgLWcKKytDQwk/PSBnY2MKKytDRkxBR1MJPz0gIC1PMiAtV2FsbCAjIC1nCisrQ0ZMQUdTICs9IC1JLi9zcmMgLUkuL3VzZXJpYWwKKyAKKyBPQkpTCQk9CXNyYy9kaWdpdGVtcC5vIHNyYy9kZXZpY2VfbmFtZS5vIHNyYy9kczI0MzgubworIEhEUlMJCT0gCXNyYy9kaWdpdGVtcC5oIHNyYy9kZXZpY2VfbmFtZS5oCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2RpZ2l0ZW1wL2RpZ2l0ZW1wXzMuNi4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9kaWdpdGVtcC9kaWdpdGVtcF8zLjYuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNTgyODIwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9kaWdpdGVtcC9kaWdpdGVtcF8zLjYuMC5iYgpAQCAtMCwwICsxLDI3IEBACitTVU1NQVJZID0gInJlYWQgdGVtcGVyYXR1cmUgc2Vuc29ycyBpbiBhIDEtV2lyZSBuZXQiCitTRUNUSU9OID0gInV0aWwiCitERVBFTkRTID0gImxpYnVzYjEiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NDRmZWU4MmExZDJlZDA2NzZjZjM1NDc4MjgzZTBhYTAiCisKK1BSID0gInIyIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cuZGlnaXRlbXAuY29tL3NvZnR3YXJlL2xpbnV4L2RpZ2l0ZW1wLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9tYWtlZmlsZS1maXgucGF0Y2giCitTUkNfVVJJW21kNXN1bV0gPSAiOWJlMmU0OGRiMzc5MjBmMjE5MjVhZTZlODhmODNiODQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMTRjZmM1ODRjZDM3MTRmZThjOWEyY2RjODM4OGJlNDllMDhiNWUzOTVkOTVlNmJjZDExZDQ0MTBlMjUwNWNhMiIKKworRVhUUkFfT0VNQUtFID0gImRzOTA5NyBkczkwOTd1IFwKKyAgICAgICAgICAgICAgICBTWVNUWVBFPSdMaW51eCcgXAorIgorIyBGaXggR05VX0hBU0ggUUEgZXJyb3JzCitUQVJHRVRfQ0NfQVJDSCArPSAiJHtDRkxBR1N9ICR7TERGTEFHU30iCisKK2RvX2NvbmZpZ3VyZSgpIHsKKyAgICBybSAtZiBkaWdpdGVtcF8qCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtzYmluZGlyfQorICAgIGluc3RhbGwgZGlnaXRlbXBfKiAke0R9JHtzYmluZGlyfQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9kc3RhdC9kc3RhdF8wLjcuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZHN0YXQvZHN0YXRfMC43LjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjNmMTgxMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZHN0YXQvZHN0YXRfMC43LjIuYmIKQEAgLTAsMCArMSwyMyBAQAorU1VNTUFSWSA9ICJ2ZXJzYXRpbGUgcmVzb3VyY2Ugc3RhdGljcyB0b29sIgorREVTQ1JJUFRJT04gPSAiRHN0YXQgaXMgYSB2ZXJzYXRpbGUgcmVwbGFjZW1lbnQgZm9yIHZtc3RhdCwgaW9zdGF0LCBuZXRzdGF0IGFuZCBpZnN0YXQuIFwKK0RzdGF0IG92ZXJjb21lcyBzb21lIG9mIHRoZWlyIGxpbWl0YXRpb25zIGFuZCBhZGRzIHNvbWUgZXh0cmEgZmVhdHVyZXMsIG1vcmUgY291bnRlcnMgXAorYW5kIGZsZXhpYmlsaXR5LiBEc3RhdCBpcyBoYW5keSBmb3IgbW9uaXRvcmluZyBzeXN0ZW1zIGR1cmluZyBwZXJmb3JtYW5jZSB0dW5pbmcgdGVzdHMsIFwKK2JlbmNobWFya3Mgb3IgdHJvdWJsZXNob290aW5nLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9kYWcud2llZS5ycy9ob21lLW1hZGUvZHN0YXQiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vZGFnd2llZXJzL2RzdGF0LmdpdCIKK1NSQ19VUklbbWQ1c3VtXSA9ICI3OThlMDUwZTJlMDI0ZjA4YTI3MmRkNGIwZTFlYmE0MSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5NmQxZTZlYTI0MzRlNDc3ZmE5NzMyMmQ5Mjc3OGY2ODQ1OGQ3ZTU3YmM1NWJjNGY3MmUyOTQ2N2E1MmNmZmQxIgorCitTUkNSRVYgPSAiNTI1MTM5N2ViOGQzYjI4NGE5MGJmZGZhZWMwYzhlMTIxMDE0NmUzZiIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworZG9fY29tcGlsZV9wcmVwZW5kKCkgeworICAgICN1bmRvIHRoZSBzdGVwICJtYWtlIGRvY3MiCisgICAgc2VkIC1pIC1lICdzLyQoTUFLRSkgLUMgZG9jcyBkb2NzLyMgJChNQUtFKSAtQyBkb2NzIGRvY3MvOycgJHtTfS9NYWtlZmlsZQorfQorZG9faW5zdGFsbCgpIHsKKyAgICBvZV9ydW5tYWtlICdERVNURElSPSR7RH0nIGluc3RhbGwKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZWRhYy11dGlscy9lZGFjLXV0aWxzX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZWRhYy11dGlscy9lZGFjLXV0aWxzX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMGFkNjY1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lZGFjLXV0aWxzL2VkYWMtdXRpbHNfZ2l0LmJiCkBAIC0wLDAgKzEsMzQgQEAKK1NVTU1BUlkgPSAiVXNlcnNwYWNlIGhlbHBlciBmb3IgTGludXgga2VybmVsIEVEQUMgZHJpdmVycyIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9ncm9uZG8vZWRhYy11dGlscyIKK1NFQ1RJT04gPSAiQXBwbGljYXRpb25zL1N5c3RlbSIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKKworREVQRU5EUyA9ICIgc3lzZnN1dGlscyIKKworU1JDUkVWID0gImY5YWE5NjIwNWY2MTBkZTM5YTc5ZmY0M2M3NDc4YjdlZjAyZTMxMzgiCitQViA9ICIwLjE4K2dpdCR7U1JDUFZ9IgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vZ3JvbmRvL2VkYWMtdXRpbHMgXAorICAgIGZpbGU6Ly9tYWtlLWluaXQtc2NyaXB0LWJlLWFibGUtdG8tYXV0b21hdGljYWxseS1sb2FkLUVEQUMtLnBhdGNoIFwKKyAgICBmaWxlOi8vYWRkLXJlc3RhcnQtdG8taW5pdHNjcmlwdC5wYXRjaCBcCisiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcAorCitkb19jb25maWd1cmVfcHJlcGVuZCAoKSB7CisgICAgdG91Y2ggJHtTfS9DaGFuZ2VMb2cKKyAgICAke1N9L2Jvb3RzdHJhcAorfQorCitSREVQRU5EU18ke1BOfV94ODYgPSAiZG1pZGVjb2RlIgorUkRFUEVORFNfJHtQTn1feDg2LTY0ID0gImRtaWRlY29kZSIKK1JERVBFTkRTXyR7UE59X2FybSA9ICJkbWlkZWNvZGUiCitSREVQRU5EU18ke1BOfV9hYXJjaDY0ID0gImRtaWRlY29kZSIKK1JERVBFTkRTXyR7UE59X3Bvd2VycGMgPSAiZG1pZGVjb2RlIgorUkRFUEVORFNfJHtQTn1fcG93ZXJwYzY0ID0gImRtaWRlY29kZSIKK1JERVBFTkRTXyR7UE59X2FwcGVuZCA9ICIgXAorICAgIHBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUgcGVybC1tb2R1bGUtZmlsZS1maW5kIHBlcmwtbW9kdWxlLWdldG9wdC1sb25nIHBlcmwtbW9kdWxlLXBvc2l4IFwKKyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZWRhYy11dGlscy9maWxlcy9hZGQtcmVzdGFydC10by1pbml0c2NyaXB0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lZGFjLXV0aWxzL2ZpbGVzL2FkZC1yZXN0YXJ0LXRvLWluaXRzY3JpcHQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODcwNTFkYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZWRhYy11dGlscy9maWxlcy9hZGQtcmVzdGFydC10by1pbml0c2NyaXB0LnBhdGNoCkBAIC0wLDAgKzEsMzMgQEAKK0Zyb20gM2FkZTgzN2Y2NGRlMGNmZTJhZWQ1YmM1MmY3OTE5NzYwZjM1MDUzMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFdlbnpvbmcgRmFuIDx3ZW56b25nLmZhbkB3aW5kcml2ZXIuY29tPgorRGF0ZTogRnJpLCA3IE1hciAyMDE0IDAwOjU3OjEyIC0wNTAwCitTdWJqZWN0OiBbUEFUQ0hdIGVkYWM6IGFkZCByZXN0YXJ0IHRvIGluaXRzY3JpcHQKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IFdlbnpvbmcgRmFuIDx3ZW56b25nLmZhbkB3aW5kcml2ZXIuY29tPgorLS0tCisgc3JjL2V0Yy9lZGFjLmluaXQuaW4gfCAgICA2ICsrKysrLQorIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3NyYy9ldGMvZWRhYy5pbml0LmluIGIvc3JjL2V0Yy9lZGFjLmluaXQuaW4KK2luZGV4IGFkZjc2ZWUuLjAwN2E1MTkgMTAwNjQ0CistLS0gYS9zcmMvZXRjL2VkYWMuaW5pdC5pbgorKysrIGIvc3JjL2V0Yy9lZGFjLmluaXQuaW4KK0BAIC0xNTUsOCArMTU1LDEyIEBAIGNhc2UgIiQxIiBpbgorICAgc3RhdHVzKQorICAgICBzZXJ2aWNlX3N0YXR1cworICAgICA7OworKyAgcmVzdGFydCkKKysgICAgc2VydmljZV9zdG9wCisrICAgIHNlcnZpY2Vfc3RhcnQKKysgICAgOzsKKyAgICopCistICAgIENPTU1BTkRTPSJzdGFydHxzdG9wfHN0YXR1cyIKKysgICAgQ09NTUFORFM9InN0YXJ0fHN0b3B8c3RhdHVzfHJlc3RhcnQiCisgICAgIGVjaG8gIlVzYWdlOiAkMCB7JHtDT01NQU5EU319IgorICAgICBleGl0IDIKKyAgICAgOzsKKy0tIAorMS43LjkuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VkYWMtdXRpbHMvZmlsZXMvbWFrZS1pbml0LXNjcmlwdC1iZS1hYmxlLXRvLWF1dG9tYXRpY2FsbHktbG9hZC1FREFDLS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZWRhYy11dGlscy9maWxlcy9tYWtlLWluaXQtc2NyaXB0LWJlLWFibGUtdG8tYXV0b21hdGljYWxseS1sb2FkLUVEQUMtLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZkZGMyNWYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VkYWMtdXRpbHMvZmlsZXMvbWFrZS1pbml0LXNjcmlwdC1iZS1hYmxlLXRvLWF1dG9tYXRpY2FsbHktbG9hZC1FREFDLS5wYXRjaApAQCAtMCwwICsxLDk4IEBACittYWtlIGluaXQgc2NyaXB0IGJlIGFibGUgdG8gYXV0b21hdGljYWxseSBsb2FkIEVEQUMgbW9kdWxlLgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBSb3kuTGkgPHJvbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CistLS0KKyBzcmMvZXRjL2VkYWMuaW5pdC5pbiB8ICAgNDkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLQorIDEgZmlsZSBjaGFuZ2VkLCA0NyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2V0Yy9lZGFjLmluaXQuaW4gYi9zcmMvZXRjL2VkYWMuaW5pdC5pbgoraW5kZXggN2E1MWRhOS4uNWI1NjhjNCAxMDA2NDQKKy0tLSBhL3NyYy9ldGMvZWRhYy5pbml0LmluCisrKysgYi9zcmMvZXRjL2VkYWMuaW5pdC5pbgorQEAgLTQyLDcgKzQyLDYgQEAgZm9yIGRpciBpbiAiJHN5c2NvbmZkaXIvZGVmYXVsdCIgIiRzeXNjb25mZGlyL3N5c2NvbmZpZyI7IGRvCisgICBbIC1mICIkZGlyLyRTRVJWSUNFIiBdICYmIC4gIiRkaXIvJFNFUlZJQ0UiCisgZG9uZQorIAorLQorICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyAKKyBzZXJ2aWNlX3N0YXJ0ICgpCitAQCAtNTIsNiArNTEsNDYgQEAgc2VydmljZV9zdGFydCAoKQorICMgQXNzdW1lIHRoYXQgaWYgRURBQ19EUklWRVIgaXMgbm90IHNldCwgdGhlbiBFREFDIGlzIGNvbmZpZ3VyZWQKKyAjICBhdXRvbWF0aWNhbGx5LCB0aHVzIHJldHVybiBzdWNjZXNzZnVsbHksIGJ1dCBkb24ndCBkbyBhbnl0aGluZy4KKyAjCisrICAgIGlmIFsgISAtZiAvZXRjL2VkYWMvZWRhYy1kcml2ZXIgXTsgdGhlbgorKyAgICAgICAgIFsgLWQgL3N5cy9idXMvZWRhYy9kZXZpY2VzL21jL21jMCBdICYmIFwKKysgICAgICAgICBlY2hvIGBsc21vZCB8IGdyZXAgX2VkYWMgfCBjdXQgLWQiICIgLWYxYCA+IC9ldGMvZWRhYy9lZGFjLWRyaXZlcgorKyAgICBmaQorKworKyAgICBbIC1mIC9ldGMvZWRhYy9lZGFjLWRyaXZlciBdICYmIEVEQUNfRFJJVkVSPWBjYXQgL2V0Yy9lZGFjL2VkYWMtZHJpdmVyYAorKworKyAgICBpZiBbIC16ICIkRURBQ19EUklWRVIiIF07IHRoZW4KKysKKysgICAgICAgIERSSVZFUl9QQVRIPS9saWIvbW9kdWxlcy9gdW5hbWUgLXJgL2tlcm5lbC9kcml2ZXJzL2VkYWMKKysgICAgICAgIG9sZHBhdGg9YHB3ZGAKKysgICAgICAgIGlmIFsgLWQgJERSSVZFUl9QQVRIIF07IHRoZW4KKysKKysgICAgICAgICAgICBjZCAkRFJJVkVSX1BBVEgKKysKKysgICAgICAgICAgICBmb3IgaSBpbiAkKC9iaW4vbHMgfCAvdXNyL2Jpbi9jdXQgLWQuIC1mMSkgOyBkbworKyAgICAgICAgICAgICAgICAvc2Jpbi9tb2Rwcm9iZSAkaSAyPi9kZXYvbnVsbAorKyAgICAgICAgICAgICAgICBpZiBbIC1kIC9zeXMvYnVzL2VkYWMvZGV2aWNlcy9tYy9tYzAgXTsgdGhlbgorKyAgICAgICAgICAgICAgICAgICAgZWNobyAkaT4gL2V0Yy9lZGFjL2VkYWMtZHJpdmVyCisrICAgICAgICAgICAgICAgICAgICBFREFDX0RSSVZFUj0kaQorKyAgICAgICAgICAgICAgICAgICAgYnJlYWsKKysgICAgICAgICAgICAgICAgZmkKKysgICAgICAgICAgICAgICAgL3NiaW4vbW9kcHJvYmUgLXIgJGkgMj4vZGV2L251bGwKKysgICAgICAgICAgICBkb25lCisrCisrICAgICAgICAgICAgY2QgIiRvbGRwYXRoIgorKworKworKyAgICAgICAgICAgIGlmIFsgLXogIiRFREFDX0RSSVZFUiIgXTsgdGhlbgorKyAgICAgICAgICAgICAgICBlY2hvICJUaGlzIGJvYXJkIG1heSBub3Qgc3VwcG9ydCBFREFDLCBvciBFREFDIG1vZHVsZSBtYXkgbm90IGJlIGNvbXBpbGVkIGluIgorKyAgICAgICAgICAgICAgICBleGl0CisrICAgICAgICAgICAgZmkKKysKKysgICAgICAgIGVsc2UKKysgICAgICAgICAgICBlY2hvICJUaGlzIGJvYXJkIG1heSBub3Qgc3VwcG9ydCBFREFDLCBvciBFREFDIG1vZHVsZSBtYXkgbm90IGJlIGNvbXBpbGVkIGluIgorKyAgICAgICAgICAgIGV4aXQKKysgICAgICAgIGZpCisrCisrICAgIGZpCisrCisgICBpZiBbIC1uICIkRURBQ19EUklWRVIiIF07IHRoZW4KKyAgICAgIGVjaG8gLW4gIlN0YXJ0aW5nICR7U0VSVklDRX06ICIKKyAgICAgIG1vZHByb2JlICRFREFDX0RSSVZFUgorQEAgLTc2LDEyICsxMTUsMTUgQEAgc2VydmljZV9zdGFydCAoKQorIHNlcnZpY2Vfc3RvcCAoKQorIHsKKyAgIGVjaG8gLW4gIkRpc2FibGluZyAke1NFUlZJQ0V9OiAiCisrCisrICBbIC1mIC9ldGMvZWRhYy9lZGFjLWRyaXZlciBdICYmIEVEQUNfRFJJVkVSPWBjYXQgL2V0Yy9lZGFjL2VkYWMtZHJpdmVyYAorKworICAgaWYgWyAtbiAiJEVEQUNfRFJJVkVSIiBdOyB0aGVuCisgICAgIG1vZHByb2JlIC1yICRFREFDX0RSSVZFUgorICAgICBTVEFUVVM9JD8KKyAgICAgWyAkU1RBVFVTIC1lcSAwIF0gJiYgZWNobyBzdWNjZXNzIHx8IGVjaG8gZmFpbHVyZQorICAgZWxzZQorLSAgICBlY2hvICJOb3Qgc3VwcG9ydGVkIGZvciB0aGlzIGNvbmZpZ3VyYXRpb24uIgorKyAgICBlY2hvICJOb3Qgc3VwcG9ydGVkIGZvciB0aGlzIGNvbmZpZ3VyYXRpb24sIG9yIEVEQUMgTW9kdWxlIGlzIG5vdCBsb2FkZWQuIgorICAgICBTVEFUVVM9NgorICAgZmkKKyB9CitAQCAtOTIsNiArMTM0LDkgQEAgc2VydmljZV9zdGF0dXMgKCkKKyB7CisgIyBQcmludCB0aGUgY3VycmVudCBzdGF0dXMgb2YgdGhlIHNlcnZpY2UuICBSZXF1aXJlZCBieSBMU0IuCisgIworKyAgWyAtZiAvZXRjL2VkYWMvZWRhYy1kcml2ZXIgXSAmJiBFREFDX0RSSVZFUj1gY2F0IC9ldGMvZWRhYy9lZGFjLWRyaXZlcmAKKysgIFsgLXogIiRFREFDX0RSSVZFUiIgXSAmJiBTVEFUVVM9MSAmJiBleGl0CisrCisgICBlZGFjLWN0bCAtLXN0YXR1cworICAgU1RBVFVTPTAKKyB9CistLSAKKzEuNy4xMC40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZWplY3QvZWplY3QvZWplY3QtMi4xLjEtdmVyYm9zZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZWplY3QvZWplY3QvZWplY3QtMi4xLjEtdmVyYm9zZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NDAzNjA2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lamVjdC9lamVjdC9lamVjdC0yLjEuMS12ZXJib3NlLnBhdGNoCkBAIC0wLDAgKzEsMTkgQEAKK0tlcHQgdG8gaGVscCB3aXRoIGRlYnVnZ2luZworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogTW9yZ2FuIExpdHRsZSA8bW9yZ2FuLmxpdHRsZUB3aW5kcml2ZXIuY29tPgorCistLS0gZWplY3QtMi4xLjEvZWplY3QuYy50bgkyMDA1LTA4LTI0IDExOjI3OjQyLjAwMDAwMDAwMCArMDIwMAorKysrIGVqZWN0LTIuMS4xL2VqZWN0LmMJMjAwNS0wOC0yNCAxMTozMzowNS4wMDAwMDAwMDAgKzAyMDAKK0BAIC02MzgsNyArNjM4LDkgQEAKKyAJdW5zaWduZWQgY2hhciBzZW5zZV9idWZmZXJbMzJdOworIAorIAlpZiAoKGlvY3RsKGZkLCBTR19HRVRfVkVSU0lPTl9OVU0sICZrKSA8IDApIHx8IChrIDwgMzAwMDApKSB7CistCSAgcHJpbnRmKCJub3QgYW4gc2cgZGV2aWNlLCBvciBvbGQgc2cgZHJpdmVyXG4iKTsKKysJICBpZiAodl9vcHRpb24pIHsKKysJCSAgcHJpbnRmKF8oIm5vdCBhbiBzZyBkZXZpY2UsIG9yIG9sZCBzZyBkcml2ZXJcbiIpKTsKKysJICB9CisgCSAgcmV0dXJuIDA7CisgCX0KKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZWplY3QvZWplY3QvZWplY3QtMi4xLjUtZXJyb3ItcmV0dXJuLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lamVjdC9lamVjdC9lamVjdC0yLjEuNS1lcnJvci1yZXR1cm4ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWUxMzAzNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZWplY3QvZWplY3QvZWplY3QtMi4xLjUtZXJyb3ItcmV0dXJuLnBhdGNoCkBAIC0wLDAgKzEsMTIgQEAKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbdGhlIHVwc3RyZWFtIGlzIG5vIGxvbmdlciBhY3RpdmVdCisKKy0tLSBlamVjdC9lamVjdC5jLm9yaWcJMjAxMy0wOS0xMSAxODowODozNi4wMDAwMDAwMDAgKzA4MDAKKysrKyBlamVjdC9lamVjdC5jCTIwMTMtMDktMTEgMTg6MDk6MDUuMDAwMDAwMDAwICswODAwCitAQCAtMjA3LDcgKzIwNyw2IEBACisgIklmIG9taXR0ZWQsIG5hbWUgZGVmYXVsdHMgdG8gYCVzJy5cbiIKKyAiQnkgZGVmYXVsdCB0cmllcyAtciwgLXMsIC1mLCBhbmQgLXEgaW4gb3JkZXIgdW50aWwgc3VjY2Vzcy5cbiIpLAorIAkJCURFRkFVTFRERVZJQ0UpOworLSAgZXhpdCgxKTsKKyB9CisgCisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VqZWN0L2VqZWN0L2VqZWN0LTIuMS41LXNwYWNlcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZWplY3QvZWplY3QvZWplY3QtMi4xLjUtc3BhY2VzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmExNmM0YjEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VqZWN0L2VqZWN0L2VqZWN0LTIuMS41LXNwYWNlcy5wYXRjaApAQCAtMCwwICsxLDY2IEBACitLZXB0IHRvIGhlbHAgd2l0aCBzcGFjZXMgaW4gdGhlIG1vdW50IHBhdGgKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorCitMaW51eCBtYW5nbGVzIHNwYWNlcyBpbiBtb3VudCBwb2ludHMgYnkgY2hhbmdpbmcgdGhlbSB0byBhbiBvY3RhbCBzdHJpbmcKK29mICdcMDQwJy4gIFNvIGxldHMgc2NhbiB0aGUgbW91bnQgcG9pbnQgYW5kIGZpeCBpdCB1cCBieSByZXBsYWNpbmcgYWxsCitvY2N1cnJlbmNlcyBvZmYgJ1wwIyMnIHdpdGggdGhlIEFTQ0lJIHZhbHVlIG9mIDAjIy4gIFJlcXVpcmVzIGEgd3JpdGFibGUKK3N0cmluZyBhcyBpbnB1dCBhcyB3ZSBtYW5nbGUgaW4gcGxhY2UuICBTb21lIG9mIHRoaXMgd2FzIHRha2VuIGZyb20gdGhlCit1dGlsLWxpbnV4IHBhY2thZ2UuCisKK1NpZ25lZC1vZmYtYnk6IE1vcmdhbiBMaXR0bGUgPG1vcmdhbi5saXR0bGVAd2luZHJpdmVyLmNvbT4KKy0tLSBlamVjdC9lamVjdC5jLm9yaSAgIDIwMDctMDYtMjQgMDA6MDg6NDQgLTA3MDAKKysrKyBlamVjdC9lamVjdC5jICAgICAgIDIwMDctMDYtMjQgMDA6MTI6NDQgLTA3MDAKK0BAIC0zNzAsNiArMzcwLDMwIEBACisgCisgCisgLyoKKysgKiBMaW51eCBtYW5nbGVzIHNwYWNlcyBpbiBtb3VudCBwb2ludHMgYnkgY2hhbmdpbmcgdGhlbSB0byBhbiBvY3RhbCBzdHJpbmcKKysgKiBvZiAnXDA0MCcuICBTbyBsZXRzIHNjYW4gdGhlIG1vdW50IHBvaW50IGFuZCBmaXggaXQgdXAgYnkgcmVwbGFjaW5nIGFsbAorKyAqIG9jY3VycmVuY2VzIG9mZiAnXDAjIycgd2l0aCB0aGUgQVNDSUkgdmFsdWUgb2YgMCMjLiAgUmVxdWlyZXMgYSB3cml0YWJsZQorKyAqIHN0cmluZyBhcyBpbnB1dCBhcyB3ZSBtYW5nbGUgaW4gcGxhY2UuICBTb21lIG9mIHRoaXMgd2FzIHRha2VuIGZyb20gdGhlCisrICogdXRpbC1saW51eCBwYWNrYWdlLgorKyAqLworKyNkZWZpbmUgb2N0YWxpZnkoYSkgKChhKSAmIDcpCisrI2RlZmluZSB0b29jdGFsKHMpICg2NCpvY3RhbGlmeShzWzFdKSArIDgqb2N0YWxpZnkoc1syXSkgKyBvY3RhbGlmeShzWzNdKSkKKysjZGVmaW5lIGlzb2N0YWwoYSkgKCgoYSkgJiB+NykgPT0gJzAnKQorK3N0YXRpYyBjaGFyICpEZU1hbmdsZU1vdW50KGNoYXIgKnMpCisreworKwljaGFyICp0bXAgPSBzOworKwl3aGlsZSAoKHRtcCA9IHN0cmNocih0bXAsICdcXCcpKSAhPSBOVUxMKSB7CisrCQlpZiAoaXNvY3RhbCh0bXBbMV0pICYmIGlzb2N0YWwodG1wWzJdKSAmJiBpc29jdGFsKHRtcFszXSkpIHsKKysJCQl0bXBbMF0gPSB0b29jdGFsKHRtcCk7CisrCQkJbWVtbW92ZSh0bXArMSwgdG1wKzQsIHN0cmxlbih0bXApLTMpOworKwkJfQorKwkJKyt0bXA7CisrCX0KKysJcmV0dXJuIHM7CisrfQorKworKworKy8qCisgICogR2l2ZW4gbmFtZSwgc3VjaCBhcyBmb28sIHNlZSBpZiBhbnkgb2YgdGhlIGZvbGxvd2luZyBleGlzdDoKKyAgKgorICAqIGZvbyAoaWYgZm9vIHN0YXJ0cyB3aXRoICcuJyBvciAnLycpCitAQCAtODg0LDggKzkwOCw4IEBACisgCQkJaWYgKCgoc3RyY21wKHMxLCBuYW1lKSA9PSAwKSB8fCAoc3RyY21wKHMyLCBuYW1lKSA9PSAwKSkgfHwKKyAJCQkJKChtYWogIT0gLTEpICYmIChtYWogPT0gbXRhYm1haikgJiYgKG1pbiA9PSBtdGFibWluKSkpIHsKKyAJCQkJRkNMT1NFKGZwKTsKKy0JCQkJKmRldmljZU5hbWUgPSBzdHJkdXAoczEpOworLQkJCQkqbW91bnROYW1lID0gc3RyZHVwKHMyKTsKKysJCQkJKmRldmljZU5hbWUgPSBEZU1hbmdsZU1vdW50KHN0cmR1cChzMSkpOworKwkJCQkqbW91bnROYW1lID0gRGVNYW5nbGVNb3VudChzdHJkdXAoczIpKTsKKyAJCQkJcmV0dXJuIDE7CisgCQkJfQorIAkJfQorQEAgLTkyOCw4ICs5NTIsOCBAQAorIAkJcmMgPSBzc2NhbmYobGluZSwgIiUxMDIzcyAlMTAyM3MiLCBzMSwgczIpOworIAkJaWYgKHJjID49IDIgJiYgczFbMF0gIT0gJyMnICYmIHN0cmNtcChzMiwgbmFtZSkgPT0gMCkgeworIAkJCUZDTE9TRShmcCk7CistCQkJKmRldmljZU5hbWUgPSBzdHJkdXAoczEpOworLQkJCSptb3VudE5hbWUgPSBzdHJkdXAoczIpOworKwkJCSpkZXZpY2VOYW1lID0gRGVNYW5nbGVNb3VudChzdHJkdXAoczEpKTsKKysJCQkqbW91bnROYW1lID0gRGVNYW5nbGVNb3VudChzdHJkdXAoczIpKTsKKyAJCQlyZXR1cm4gMTsKKyAJCX0KKyAJfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lamVjdC9lamVjdC9lamVjdC10aW1lb3V0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lamVjdC9lamVjdC9lamVjdC10aW1lb3V0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRlODE0NmYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VqZWN0L2VqZWN0L2VqZWN0LXRpbWVvdXQucGF0Y2gKQEAgLTAsMCArMSwxNyBAQAorYWxsb3cgYSBsb25nZXIgdGltZW91dAorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IAorCitTaWduZWQtb2ZmLWJ5OiBNb3JnYW4gTGl0dGxlIDxtb3JnYW4ubGl0dGxlQHdpbmRyaXZlci5jb20+CisKKy0tLSBlamVjdC9lamVjdC5jLm9yaWcJMjAwNi0wOC0wNyAxNjozNToxNS4wMDAwMDAwMDAgKzAyMDAKKysrKyBlamVjdC9lamVjdC5jCTIwMDYtMDgtMDcgMTY6MzU6NTQuMDAwMDAwMDAwICswMjAwCitAQCAtNzIzLDcgKzcyMyw3IEBACisgCWlvX2hkci5keGZlcl9sZW4gPSAwOworIAlpb19oZHIuZHhmZXJwID0gaW5xQnVmZjsKKyAJaW9faGRyLnNicCA9IHNlbnNlX2J1ZmZlcjsKKy0JaW9faGRyLnRpbWVvdXQgPSAyMDAwOworKwlpb19oZHIudGltZW91dCA9IDEwMDAwOworIAorIAlpb19oZHIuY21kcCA9IGFsbG93Um1CbGs7CisgCXN0YXR1cyA9IGlvY3RsKGZkLCBTR19JTywgKHZvaWQgKikmaW9faGRyKTsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZWplY3QvZWplY3RfMi4xLjUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VqZWN0L2VqZWN0XzIuMS41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA0NDBmMGMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VqZWN0L2VqZWN0XzIuMS41LmJiCkBAIC0wLDAgKzEsMzUgQEAKK0RFU0NSSVBUSU9OID0gIkVqZWN0IGFsbG93cyByZW1vdmFibGUgbWVkaWEgKHR5cGljYWxseSBhIENELVJPTSwgZmxvcHB5IGRpc2ssIHRhcGUsIG9yIEpBWiBvciBaSVAgZGlzaykgdG8gYmUgZWplY3RlZCB1bmRlciBzb2Z0d2FyZSBjb250cm9sLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9lamVjdC5zb3VyY2Vmb3JnZS5uZXQvIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PThjYTQzY2JjODQyYzIzMzZlODM1OTI2YzIxNjZjMjhiIgorCitpbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IHVwZGF0ZS1hbHRlcm5hdGl2ZXMKKworU1JDX1VSSSA9ICJodHRwOi8vc291cmNlcy5vcGVuZW1iZWRkZWQub3JnLyR7QlB9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9lamVjdC0yLjEuNS1lcnJvci1yZXR1cm4ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZWplY3QtMi4xLjEtdmVyYm9zZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9lamVjdC0yLjEuNS1zcGFjZXMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZWplY3QtdGltZW91dC5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJiOTZhNmQ0MjYzMTIyZjE3MTFkYjEyNzAxZDc5ZjczOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlZjlmNzkwNjQ4NGNmZGU0YmEyMjNiMjY4MmEzNzA1OGY5YTNjN2QzYmIxYWRkYTdhMzRhNjc0MDJlMmZmZTU1IgorCitTID0gIiR7V09SS0RJUn0vJHtCUE59IgorCitQUiA9ICJyMSIKKworZG9fY29tcGlsZV9wcmVwZW5kKCkgeworICAgICMgUE8gc3ViZGlyIG11c3QgYmUgaW4gYnVpbGQgZGlyZWN0b3J5CisgICAgaWYgWyAhICR7U30gPSAke0J9IF07IHRoZW4KKyAgICAgICAgbWtkaXIgLXAgJHtCfS9wbworICAgICAgICBjcCAtciAke1N9L3BvLyogJHtCfS9wby8KKyAgICBmaQorfQorCitBTFRFUk5BVElWRV8ke1BOfSA9ICJ2b2xuYW1lIGVqZWN0IgorQUxURVJOQVRJVkVfTElOS19OQU1FW3ZvbG5hbWVdID0gIiR7YmluZGlyfS92b2xuYW1lIgorQUxURVJOQVRJVkVfTElOS19OQU1FW2VqZWN0XSA9ICIke2JpbmRpcn0vZWplY3QiCitBTFRFUk5BVElWRV9QUklPUklUWVt2b2xuYW1lXSA9ICIxMDAiCitBTFRFUk5BVElWRV9QUklPUklUWVtlamVjdF0gPSAiMTAwIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VtYWNzL2VtYWNzLTIzLjQvbm9zdGRsaWItdW53aW5kLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lbWFjcy9lbWFjcy0yMy40L25vc3RkbGliLXVud2luZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MjAwMzAxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lbWFjcy9lbWFjcy0yMy40L25vc3RkbGliLXVud2luZC5wYXRjaApAQCAtMCwwICsxLDE2IEBACitGaXggbGlua2luZyBwcm9ibGVtOgordW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX19hZWFiaV91bndpbmRfY3BwX3ByMCcKK3VuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9fYWVhYmlfdW53aW5kX2NwcF9wcjEnCitJbmRleDogZW1hY3Mvc3JjL01ha2VmaWxlLmluCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZW1hY3Mub3JpZy9zcmMvTWFrZWZpbGUuaW4JMjAwOC0wOC0xNiAxNDoyMDoxOC4wMDAwMDAwMDAgKzAwMDAKKysrKyBlbWFjcy9zcmMvTWFrZWZpbGUuaW4JMjAwOC0wOC0xNiAxNDo1MToyNS4wMDAwMDAwMDAgKzAwMDAKK0BAIC00NDMsNyArNDQzLDcgQEAKKyAgICBhc2sgR0NDIGV4cGxpY2l0bHkgd2hlcmUgdG8gZmluZCBsaWJnY2MuYS4gICovCisgCisgI2lmbmRlZiBMSU5LRVIKKy0jZGVmaW5lIExJTktFUiAkKENDKSAtbm9zdGRsaWIKKysjZGVmaW5lIExJTktFUiAkKENDKSAtbm9zdGRsaWIgLWxnY2NfcworICNlbmRpZgorIAorICNpZm5kZWYgTElCX0dDQwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lbWFjcy9lbWFjcy0yMy40L3VzZS1xZW11LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lbWFjcy9lbWFjcy0yMy40L3VzZS1xZW11LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMxNTIwN2EKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VtYWNzL2VtYWNzLTIzLjQvdXNlLXFlbXUucGF0Y2gKQEAgLTAsMCArMSwxMDQgQEAKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCisKK2RpZmYgLXVOciBlbWFjcy0yMy40L01ha2VmaWxlLmluIGVtYWNzLTIzLjQubmV3L01ha2VmaWxlLmluCistLS0gZW1hY3MtMjMuNC9NYWtlZmlsZS5pbgkyMDEyLTAxLTExIDEzOjM1OjAxLjAwMDAwMDAwMCArMDEwMAorKysrIGVtYWNzLTIzLjQubmV3L01ha2VmaWxlLmluCTIwMTItMDctMzEgMDA6NTQ6MDcuMjIzNTkwODY2ICswMjAwCitAQCAtMzM2LDcgKzMzNiw3IEBACisgIyBhbGwgcHJlbG9hZGVkIGVsaXNwIGZpbGVzLCBhbmQgb25seSB0aGVuIGR1bXAgdGhlIGFjdHVhbCBzcmMvZW1hY3MsIHdoaWNoCisgIyBpcyBub3Qgd3JvbmcsIGJ1dCBpcyBvdmVya2lsbCBpbiA5OS45OSUgb2YgdGhlIGNhc2VzLgorIHNyYzogTWFrZWZpbGUgRlJDCistCWJvb3Q9Ym9vdHN0cmFwLWVtYWNzJChFWEVFWFQpOyAgICAgICAgICAgICAgICAgICAgICAgICBcCisrCWJvb3Q9JHtRRU1VfSBib290c3RyYXAtZW1hY3MkKEVYRUVYVCk7ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAJaWYgWyAhIC14ICJzcmMvJCRib290IiBdOyB0aGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAJICAgIGNkICRAOyAkKE1BS0UpIGFsbCAkKE1GTEFHUykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAJICAgICAgQ0M9JyR7Q0N9JyBDRkxBR1M9JyR7Q0ZMQUdTfScgQ1BQRkxBR1M9JyR7Q1BQRkxBR1N9JyAgICAgICAgIFwKK2RpZmYgLXVOciBlbWFjcy0yMy40L2xlaW0vTWFrZWZpbGUuaW4gZW1hY3MtMjMuNC5uZXcvbGVpbS9NYWtlZmlsZS5pbgorLS0tIGVtYWNzLTIzLjQvbGVpbS9NYWtlZmlsZS5pbgkyMDEyLTAxLTExIDEzOjM1OjAxLjAwMDAwMDAwMCArMDEwMAorKysrIGVtYWNzLTIzLjQubmV3L2xlaW0vTWFrZWZpbGUuaW4JMjAxMi0wNy0zMSAwMDo1NDowNy4xNzk1OTA4NjYgKzAyMDAKK0BAIC01MSw3ICs1MSw3IEBACisgCisgIyBIb3cgdG8gcnVuIEVtYWNzLgorIFJVTi1FTUFDUyA9IEVNQUNTTE9BRFBBVEg9JChidWlsZGxpc3BwYXRoKSBMQ19BTEw9QyBcCistCSR7QlVJTFQtRU1BQ1N9IC1iYXRjaCAtLW5vLWluaXQtZmlsZSAtLW5vLXNpdGUtZmlsZSAtLW11bHRpYnl0ZQorKwkke1FFTVV9ICR7QlVJTFQtRU1BQ1N9IC1iYXRjaCAtLW5vLWluaXQtZmlsZSAtLW5vLXNpdGUtZmlsZSAtLW11bHRpYnl0ZQorIAorICMgU3ViZGlyZWN0b3JpZXMgdG8gYmUgbWFkZSBpZiAke3NyY2Rpcn0gaXMgZGlmZmVyZW50IGZyb20gdGhlIGN1cnJlbnQKKyAjIGRpcmVjdG9yeS4KK2RpZmYgLXVOciBlbWFjcy0yMy40L2xpYi1zcmMvTWFrZWZpbGUuaW4gZW1hY3MtMjMuNC5uZXcvbGliLXNyYy9NYWtlZmlsZS5pbgorLS0tIGVtYWNzLTIzLjQvbGliLXNyYy9NYWtlZmlsZS5pbgkyMDEyLTAxLTExIDEzOjM1OjAxLjAwMDAwMDAwMCArMDEwMAorKysrIGVtYWNzLTIzLjQubmV3L2xpYi1zcmMvTWFrZWZpbGUuaW4JMjAxMi0wNy0zMSAwMDo1NDowNy4xODA1OTA4NjYgKzAyMDAKK0BAIC0yMyw3ICsyMyw3IEBACisgU0hFTEwgPSAvYmluL3NoCisgCisgIyBGb2xsb3dpbmcgLi4vbGlzcC9NYWtlZmlsZS5pbi4KKy1FTUFDUyA9IC4uL3NyYy9lbWFjcworK0VNQUNTID0gJHtRRU1VfSAuLi9zcmMvZW1hY3MKKyBFTUFDU09QVCA9IC1iYXRjaCAtLW5vLXNpdGUtZmlsZSAtLW11bHRpYnl0ZQorIAorICMgPT09PT09PT09PT09PT09PT09PT0gVGhpbmdzIGBjb25maWd1cmUnIHdpbGwgZWRpdCA9PT09PT09PT09PT09PT09PT09PQorQEAgLTM3Miw3ICszNzIsNyBAQAorICAgIGNsb2JiZXJlZCB0b28uICAqLworIHRlc3QtZGlzdHJpYiR7RVhFRVhUfTogJHtzcmNkaXJ9L3Rlc3QtZGlzdHJpYi5jCisgCSQoQ0MpICR7QUxMX0NGTEFHU30gLW8gdGVzdC1kaXN0cmliICR7c3JjZGlyfS90ZXN0LWRpc3RyaWIuYworLQkuL3Rlc3QtZGlzdHJpYiAke3NyY2Rpcn0vdGVzdGZpbGUKKysJJHtRRU1VfSAuL3Rlc3QtZGlzdHJpYiAke3NyY2Rpcn0vdGVzdGZpbGUKKyAKKyAvKiBXZSBuZWVkIHRoZSBmb2xsb3dpbmcgaW4gb3JkZXIgdG8gY3JlYXRlIGEgPGdldG9wdC5oPiB3aGVuIHRoZSBzeXN0ZW0KKyAgICBkb2VzIG5vdCBoYXZlIG9uZSB0aGF0IHdvcmtzIHdpdGggdGhlIGdpdmVuIGNvbXBpbGVyLiAgKi8KK2RpZmYgLXVOciBlbWFjcy0yMy40L2xpc3AvTWFrZWZpbGUuaW4gZW1hY3MtMjMuNC5uZXcvbGlzcC9NYWtlZmlsZS5pbgorLS0tIGVtYWNzLTIzLjQvbGlzcC9NYWtlZmlsZS5pbgkyMDEyLTAxLTExIDEzOjM1OjAxLjAwMDAwMDAwMCArMDEwMAorKysrIGVtYWNzLTIzLjQubmV3L2xpc3AvTWFrZWZpbGUuaW4JMjAxMi0wNy0zMSAwMDo1NDowNy4xOTU1OTA4NjYgKzAyMDAKK0BAIC0yNiw4ICsyNiw3IEBACisgIyBZb3UgY2FuIHNwZWNpZnkgYSBkaWZmZXJlbnQgZXhlY3V0YWJsZSBvbiB0aGUgbWFrZSBjb21tYW5kIGxpbmUsCisgIyBlLmcuICJtYWtlIEVNQUNTPS4uL3NyYy9lbWFjcyAuLi4iLgorIAorLUVNQUNTID0gLi4vc3JjL2VtYWNzCistCisrRU1BQ1MgPSAiJHtRRU1VfSAuLi9zcmMvZW1hY3MiCisgIyBDb21tYW5kIGxpbmUgZmxhZ3MgZm9yIEVtYWNzLiAgVGhpcyBtdXN0IGluY2x1ZGUgLS1tdWx0aWJ5dGUsCisgIyBvdGhlcndpc2Ugc29tZSBmaWxlcyB3aWxsIG5vdCBjb21waWxlLgorIAorZGlmZiAtdU5yIGVtYWNzLTIzLjQvc3JjL01ha2VmaWxlLmluIGVtYWNzLTIzLjQubmV3L3NyYy9NYWtlZmlsZS5pbgorLS0tIGVtYWNzLTIzLjQvc3JjL01ha2VmaWxlLmluCTIwMTItMDEtMTIgMTE6Mjc6NTQuMDAwMDAwMDAwICswMTAwCisrKysgZW1hY3MtMjMuNC5uZXcvc3JjL01ha2VmaWxlLmluCTIwMTItMDctMzEgMDA6NTU6MzAuMzQ0NTkzODQ3ICswMjAwCitAQCAtNDgyLDcgKzQ4Miw3IEBACisgICAgdGhpcyB3aXRoIHRoZSBzaGVsbCcncyBgYGZvcicnIGNvbnN0cnVjdC4KKyAgICBOb3RlIHRoYXQgc29tZSBwZW9wbGUgZG8gbm90IGhhdmUgJy4nICBpbiB0aGVpciBwYXRocywgc28gd2UgbXVzdAorICAgIHVzZSAuL3ByZWZpeC1hcmdzLiAgKi8KKy0jZGVmaW5lIFlNRl9QQVNTX0xERkxBR1MoZmxhZ3MpIGAuL3ByZWZpeC1hcmdzIC1YbGlua2VyIGZsYWdzYAorKyNkZWZpbmUgWU1GX1BBU1NfTERGTEFHUyhmbGFncykgYCR7UUVNVX0gLi9wcmVmaXgtYXJncyAtWGxpbmtlciBmbGFnc2AKKyAjZWxzZQorICNkZWZpbmUgWU1GX1BBU1NfTERGTEFHUyhmbGFncykgZmxhZ3MKKyAjZW5kaWYKK0BAIC05MTksOSArOTE5LDkgQEAKKyAgICAkKEdOVUxJQl9WQVIpIExJQl9NQVRIIExJQl9TVEFOREFSRCAkKEdOVUxJQl9WQVIpCisgCisgI2lmZGVmIEhBVkVfU0hNCistUlVOX1RFTUFDUyA9IGAvYmluL3B3ZGAvdGVtYWNzIC1ubAorK1JVTl9URU1BQ1MgPSAke1FFTVV9IHRlbWFjcyAtbmwKKyAjZWxzZQorLVJVTl9URU1BQ1MgPSBgL2Jpbi9wd2RgL3RlbWFjcworK1JVTl9URU1BQ1MgPSAke1FFTVV9IHRlbWFjcworICNlbmRpZgorIAorIGFsbDogZW1hY3Mke0VYRUVYVH0gJChPVEhFUl9GSUxFUykKK0BAIC05MzYsNyArOTM2LDcgQEAKKyAJQDogVGhpcyBuZXcgRW1hY3MgaXMgYXMgZnVuY3Rpb25hbCBhbmQgbW9yZSBlZmZpY2llbnQgdGhlbgorIAlAOiBib290c3RyYXAtZW1hY3MsIHNvIGxldCB1cyByZXBsYWNlIGl0LgorIAktbG4gLWYgZW1hY3Mke0VYRUVYVH0gYm9vdHN0cmFwLWVtYWNzJHtFWEVFWFR9CistCS0uL2VtYWNzIC1xIC1iYXRjaCAtZiBsaXN0LWxvYWQtcGF0aC1zaGFkb3dzCisrCS0ke1FFTVV9IC4vZW1hY3MgLXEgLWJhdGNoIC1mIGxpc3QtbG9hZC1wYXRoLXNoYWRvd3MKKyAjZW5kaWYgLyogISBkZWZpbmVkIChDQU5OT1RfRFVNUCkgKi8KKyAKKyAvKiBXZSBydW4gbWFrZS1kb2NmaWxlIHR3aWNlIGJlY2F1c2UgdGhlIGNvbW1hbmQgbGluZSBtYXkgZ2V0IHRvbyBsb25nCitAQCAtOTU0LDggKzk1NCw4IEBACisgICAgb25seSBpbiBvcmRlciB0byByZWR1Y2UgdGhlIGNvbW1hbmQgbGluZSBsZW5ndGguICAtLVN0ZWYgICovCisgJHtldGN9RE9DOiAke2xpYnNyY31tYWtlLWRvY2ZpbGUke0VYRUVYVH0gJHtvYmp9ICR7bGlzcH0gJHtTT01FX01BQ0hJTkVfTElTUH0KKyAJLXJtIC1mICR7ZXRjfURPQworLQkke2xpYnNyY31tYWtlLWRvY2ZpbGUgLWQgJHtzcmNkaXJ9ICR7U09NRV9NQUNISU5FX09CSkVDVFN9ICR7b2JqfSA+ICR7ZXRjfURPQworLQkke2xpYnNyY31tYWtlLWRvY2ZpbGUgLWEgJHtldGN9RE9DIC1kICR7c3JjZGlyfSAke1NPTUVfTUFDSElORV9MSVNQfSAke3Nob3J0bGlzcH0KKysJJHtRRU1VfSR7bGlic3JjfW1ha2UtZG9jZmlsZSAtZCAke3NyY2Rpcn0gJHtTT01FX01BQ0hJTkVfT0JKRUNUU30gJHtvYmp9ID4gJHtldGN9RE9DCisrCSR7UUVNVX0gJHtsaWJzcmN9bWFrZS1kb2NmaWxlIC1hICR7ZXRjfURPQyAtZCAke3NyY2Rpcn0gJHtTT01FX01BQ0hJTkVfTElTUH0gJHtzaG9ydGxpc3B9CisgCisgJHtsaWJzcmN9bWFrZS1kb2NmaWxlJHtFWEVFWFR9OgorIAljZCAke2xpYnNyY307ICR7TUFLRX0gJHtNRkxBR1N9IG1ha2UtZG9jZmlsZSR7RVhFRVhUfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lbWFjcy9lbWFjcy5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VtYWNzL2VtYWNzLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZmI1YzUwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lbWFjcy9lbWFjcy5pbmMKQEAgLTAsMCArMSwxNDcgQEAKK0RFU0NSSVBUSU9OID0gIkVtYWNzIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKK0xJQ0VOU0UgPSAiR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKK1NFQ1RJT04gPSAiZWRpdG9yIgorIyBhbmQgaXQgbmVlZHMgdG8gcnVuIHNvbWUgZ2VuZXJhdGVkIGJpbmFyaWVzLi4KK0RFUEVORFMgKz0gInFlbXUtbmF0aXZlIgorCitERVBFTkRTICs9IiBsaWJsb2NrZmlsZSIKKworWDExREVQRU5EUyA9ICIgXAorICAgIGxpYmljZSBsaWJzbSBhdGsgY2Fpcm8gZGJ1cyBleHBhdCBsaWJmZmkgZm9udGNvbmZpZyBmcmVldHlwZSBnY29uZiBnaWZsaWIgXAorICAgIGpwZWcgeHogcGl4bWFuIGxpYnBuZyBsaWJyc3ZnIHRpZmYgbGliY3JvY28gXAorICAgIGxpYngxMSBsaWJ4YXUgbGlieGNvbXBvc2l0ZSBsaWJ4Y3Vyc29yIGxpYnhkYW1hZ2UgbGlieGRtY3AgbGlieGV4dCBsaWJ4Zml4ZXMgXAorICAgIGxpYnhmdCBsaWJ4cG0gbGlieHJhbmRyIGxpYnhyZW5kZXIgXAorICAgIGdkay1waXhidWYgZ2xpYi0yLjAgZ3RrKyBwYW5nbyBsaWJ4Y2IgaGFyZmJ1enogaWN1IFwKKyIgCisKK0VYVFJBX09FQ09ORiA9ICAiLS13aXRob3V0LXNvdW5kIC0td2l0aC1jcnQtZGlyPSR7U1RBR0lOR19MSUJESVJ9ICIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAneDExJywgJ3gxMScsICcnLCBkKX0iCitQQUNLQUdFQ09ORklHW3gxMV0gPSAiLS13aXRoLXgtdG9vbGtpdD1ndGssLS13aXRob3V0LXggLS13aXRob3V0LWRidXMsJHtYMTFERVBFTkRTfSIKKworCitpbmhlcml0IGF1dG90b29scworCitQQUNLQUdFUyA9KyAiJHtQTn0tZWwiCisKK0ZJTEVTXyR7UE59LWVsID0gIiR7ZGF0YWRpcn0vZW1hY3MvKi8qLyouZWwuZ3ogXAorICAgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9lbWFjcy8qLyovKi8qLmVsLmd6IgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9lbWFjcyAke2RhdGFkaXJ9L2ljb25zIgorCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZXhlY2Rpcn0vZW1hY3MvKi8qLy5kZWJ1ZyAke2RhdGFkaXJ9L2VtYWNzLyovKi8uZGVidWciCisKK1RSRUVESVIgPSAiJHtXT1JLRElSfS9xZW11LXRyZWVkaXIiCisKK1FFTVVBUkNIPSAiJHtUQVJHRVRfQVJDSH0iCitRRU1VQVJDSF94ODYgPSAiaTM4NiIKKworIyBMYXJnZSBzdGFjayBpcyByZXF1aXJlZCBhdCBsZWFzdCBvbiB4ODZfNjQgaG9zdCwgb3RoZXJ3aXNlIHJhbmRvbSBzZWdmYXVsdHMgYXBwZWFyOgorUUVNVSA9ICJxZW11LSR7UUVNVUFSQ0h9ICR7UUVNVV9PUFRJT05TfSAtcyAxMDQ4NTc2IC1MICR7VFJFRURJUn0gIgorCitleHBvcnQgTE9HTkFNRSA9ICIkKHdob2FtaSkiCisKK2RvX2NvbXBpbGVfcHJlcGVuZCgpIHsKKyAgICBzZWQgLWkgJzoxO3M6XChTVEFSVC4qIFx8TElCX1NUQU5EQVJELiogXHxMSUJFUy4qIFwpL3Vzci9saWI6XDEke1NUQUdJTkdfTElCRElSfTo7dDEnICR7U30vc3JjL3MvZ251LWxpbnV4LmggYGZpbmQgIiR7U30iIC1uYW1lIE1ha2VmaWxlYAorICAgIGV4cG9ydCBMRF9MSUJSQVJZX1BBVEg9IiRMRF9MSUJSQVJZX1BBVEg6JHtUT09MQ0hBSU5fUEFUSH0vJHtUQVJHRVRfU1lTfS9saWIiCisjIFVnbHkgaGFjaywgc2VlIGZpbGVzL3VzZS1xZW11LnBhdGNoIGZvciBtb3JlOgorICAgIGxuIC1zZiAuLi9zcmMvZW1hY3MgbGlzcC9lbWFjcworICAgIGxuIC1zZiAuLi9zcmMvZW1hY3MgbGliLXNyYy9lbWFjcworICAgIGxuIC1zZiAuLi9zcmMvZW1hY3MgbGVpbS9lbWFjcworI2NvcHkgU1RBR0lOR19ESVJfVEFSR0VUIGFuZCBsaWJnY2Nfcy5zbyogdG8gV09SS0RJUi9xZW11LXRyZWVkaXIgI2NvcGllZCBjb2RlIGZyb20gZ2xpYmMtcGFja2FnZS5iYmNsYXNzCisgICAgdHJlZWRpcj0ke1RSRUVESVJ9CisgICAgaWYgWyAtZSAkdHJlZWRpciBdO3RoZW4KKyAgICAgICAgcm0gLXJmICR0cmVlZGlyCisgICAgZmkKKyAgICAKKyAgICBta2RpciAtcCAkdHJlZWRpci8ke2Jhc2VfbGliZGlyfQorCisgICAgaWYgWyAtZiAke1RPT0xDSEFJTl9QQVRIfS8ke1RBUkdFVF9TWVN9LyR7YmFzZV9saWJkaXJ9L2xpYmdjY19zLnNvIF07IHRoZW4KKyAgICAgICAgY3AgLXBQUiAke1RPT0xDSEFJTl9QQVRIfS8ke1RBUkdFVF9TWVN9LyR7YmFzZV9saWJkaXJ9L2xpYmdjY19zLnNvICR0cmVlZGlyLyR7YmFzZV9saWJkaXJ9CisgICAgZmkKKyAgICBpZiBbIC1mICR7VE9PTENIQUlOX1BBVEh9LyR7VEFSR0VUX1NZU30vJHtiYXNlX2xpYmRpcn0vbGliZ2NjX3Muc28uKiBdOyB0aGVuCisgICAgICAgIGNwIC1wUFIgJHtUT09MQ0hBSU5fUEFUSH0vJHtUQVJHRVRfU1lTfS8ke2Jhc2VfbGliZGlyfS9saWJnY2Nfcy5zby4qICR0cmVlZGlyLyR7YmFzZV9saWJkaXJ9CisgICAgZmkKKyAgICAjIHN0dXBpZCBoYWNrLCBidXQgd2l0aG91dCBpdCwgaXQgdHJpZXMgdG8gdXNlIC91c3IvbGliL2xpYmMuc28gZnJvbSBob3N0IGFuZCBmYWlscworICAgICMgdGVtYWNzOiBlcnJvciB3aGlsZSBsb2FkaW5nIHNoYXJlZCBsaWJyYXJpZXM6IC91c3IvbGliL2xpYmMuc286IEVMRiBmaWxlIHZlcnNpb24gZG9lcyBub3QgbWF0Y2ggY3VycmVudCBvbmUKKyAgICBpZiBbICEgLWYgJHRyZWVkaXIvJHtiYXNlX2xpYmRpcn0vbGliYy5zbyBdOyB0aGVuCisgICAgICAgIGxuIC1zIGxpYmMuc28uNiAkdHJlZWRpci8ke2Jhc2VfbGliZGlyfS9saWJjLnNvCisgICAgZmkKKworICAgICMgY29weSBvbmx5IGFzIG11Y2ggc3R1ZmYgYXMgd2UgbmVlZAorICAgICMgYmVmb3JlOiA1LjVHICAgLi4vLi4vcWVtdS10cmVlZGlyLworICAgICMgYWZ0ZXI6ICAgMTdNICAgLi4vLi4vcWVtdS10cmVlZGlyLworICAgIGNwIC1wUFIgXAorICAgICR7U1RBR0lOR19ESVJfVEFSR0VUfS8ke2Jhc2VfbGliZGlyfS9sZC0qIFwKKyAgICAke1NUQUdJTkdfRElSX1RBUkdFVH0vJHtiYXNlX2xpYmRpcn0vbGliYy4qIFwKKyAgICAke1NUQUdJTkdfRElSX1RBUkdFVH0vJHtiYXNlX2xpYmRpcn0vbGliYy0qIFwKKyAgICAke1NUQUdJTkdfRElSX1RBUkdFVH0vJHtiYXNlX2xpYmRpcn0vbGlibS0qIFwKKyAgICAke1NUQUdJTkdfRElSX1RBUkdFVH0vJHtiYXNlX2xpYmRpcn0vbGlibS4qIFwKKyAgICAke1NUQUdJTkdfRElSX1RBUkdFVH0vJHtiYXNlX2xpYmRpcn0vbGlidGluZm8uc28uKiBcCisgICAgJHtTVEFHSU5HX0RJUl9UQVJHRVR9LyR7YmFzZV9saWJkaXJ9L2xpYnJlc29sdiogXAorICAgICR7U1RBR0lOR19ESVJfVEFSR0VUfS8ke2Jhc2VfbGliZGlyfS9saWJkbCogXAorICAgICR7U1RBR0lOR19ESVJfVEFSR0VUfS8ke2Jhc2VfbGliZGlyfS9saWJydCogXAorICAgICR7U1RBR0lOR19ESVJfVEFSR0VUfS8ke2Jhc2VfbGliZGlyfS9saWJnY2Nfcy5zby4qIFwKKyAgICAke1NUQUdJTkdfRElSX1RBUkdFVH0vJHtiYXNlX2xpYmRpcn0vbGlicHRocmVhZCogJHRyZWVkaXIvJHtiYXNlX2xpYmRpcn0vCisKKyAgICBpZiBbICEgLXogIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3gxMScsICd4MTEnLCAnJywgZCl9IiBdIDsgdGhlbgorICAgICAgICBlY2hvICJYMTEgYnVpbGQgZW5hYmxlZCIKKyAgICAgICAgIyBjb3B5IG9ubHkgYXMgbXVjaCBzdHVmZiBhcyB3ZSBuZWVkCisgICAgICAgICMgYmVmb3JlOiA1LjVHICAgLi4vLi4vcWVtdS10cmVlZGlyLworICAgICAgICAjIGFmdGVyOiAgIDg2TSAgIC4uLy4uL3FlbXUtdHJlZWRpci8KKyAgICAgICAgY3AgLXBQUiBcCisgICAgICAgICR7U1RBR0lOR19ESVJfVEFSR0VUfS8ke2Jhc2VfbGliZGlyfS9saWJ1dWlkLnNvLiogXAorICAgICAgICAke1NUQUdJTkdfRElSX1RBUkdFVH0vJHtiYXNlX2xpYmRpcn0vbGliei5zby4qIFwKKyAgICAgICAgJHtTVEFHSU5HX0RJUl9UQVJHRVR9LyR7bGliZGlyfS9saWJJQ0Uuc28uKiBcCisgICAgICAgICR7U1RBR0lOR19ESVJfVEFSR0VUfS8ke2xpYmRpcn0vbGliU00uc28uKiBcCisgICAgICAgICR7U1RBR0lOR19ESVJfVEFSR0VUfS8ke2xpYmRpcn0vbGliYXRrLTEuMC5zby4qIFwKKyAgICAgICAgJHtTVEFHSU5HX0RJUl9UQVJHRVR9LyR7bGliZGlyfS9saWJjYWlyby5zby4qIFwKKyAgICAgICAgJHtTVEFHSU5HX0RJUl9UQVJHRVR9LyR7bGliZGlyfS9saWJkYnVzLTEuc28uKiBcCisgICAgICAgICR7U1RBR0lOR19ESVJfVEFSR0VUfS8ke2xpYmRpcn0vbGliZGJ1cy1nbGliLTEuc28uKiBcCisgICAgICAgICR7U1RBR0lOR19ESVJfVEFSR0VUfS8ke2xpYmRpcn0vbGliZXhwYXQuc28uKiBcCisgICAgICAgICR7U1RBR0lOR19ESVJfVEFSR0VUfS8ke2xpYmRpcn0vbGliZmZpLnNvLiogXAorICAgICAgICAke1NUQUdJTkdfRElSX1RBUkdFVH0vJHtsaWJkaXJ9L2xpYmZvbnRjb25maWcuc28uKiBcCisgICAgICAgICR7U1RBR0lOR19ESVJfVEFSR0VUfS8ke2xpYmRpcn0vbGliZnJlZXR5cGUuc28uKiBcCisgICAgICAgICR7U1RBR0lOR19ESVJfVEFSR0VUfS8ke2xpYmRpcn0vbGliZ2NvbmYtMi5zby4qIFwKKyAgICAgICAgJHtTVEFHSU5HX0RJUl9UQVJHRVR9LyR7bGliZGlyfS9saWJnaWYuc28uKiBcCisgICAgICAgICR7U1RBR0lOR19ESVJfVEFSR0VUfS8ke2xpYmRpcn0vbGlianBlZy5zby4qIFwKKyAgICAgICAgJHtTVEFHSU5HX0RJUl9UQVJHRVR9LyR7bGliZGlyfS9saWJsem1hLnNvLiogXAorICAgICAgICAke1NUQUdJTkdfRElSX1RBUkdFVH0vJHtsaWJkaXJ9L2xpYnBpeG1hbi0xLnNvLiogXAorICAgICAgICAke1NUQUdJTkdfRElSX1RBUkdFVH0vJHtsaWJkaXJ9L2xpYnBuZzEqLnNvLiogXAorICAgICAgICAke1NUQUdJTkdfRElSX1RBUkdFVH0vJHtsaWJkaXJ9L2xpYnJzdmctMi5zby4qIFwKKyAgICAgICAgJHtTVEFHSU5HX0RJUl9UQVJHRVR9LyR7bGliZGlyfS9saWJzdGRjKysuc28uKiBcCisgICAgICAgICR7U1RBR0lOR19ESVJfVEFSR0VUfS8ke2xpYmRpcn0vbGlidGlmZi5zby4qIFwKKyAgICAgICAgJHtTVEFHSU5HX0RJUl9UQVJHRVR9LyR7bGliZGlyfS9saWJ4bWwyLnNvLiogXAorICAgICAgICAke1NUQUdJTkdfRElSX1RBUkdFVH0vJHtsaWJkaXJ9L2xpYmNyb2NvLTAuNi5zby4qIFwKKyAgICAgICAgJHtTVEFHSU5HX0RJUl9UQVJHRVR9LyR7bGliZGlyfS9saWJoYXJmYnV6ei5zby4qIFwKKyAgICAgICAgJHtTVEFHSU5HX0RJUl9UQVJHRVR9LyR7bGliZGlyfS9saWJpY3VsZS5zby4qIFwKKyAgICAgICAgJHtTVEFHSU5HX0RJUl9UQVJHRVR9LyR7bGliZGlyfS9saWJpY3V1Yy5zby4qIFwKKyAgICAgICAgJHtTVEFHSU5HX0RJUl9UQVJHRVR9LyR7bGliZGlyfS9saWJpY3VkYXRhLnNvLiogJHRyZWVkaXIvJHtiYXNlX2xpYmRpcn0vCisKKyAgICAgICAgIyBYMTEgWGF1IFhjb21wb3NpdGUgWGN1cnNvciBYZGFtYWdlIFhkbWNwIFhleHQgWGZpeGVzIFhmdCBYcG0gWHJhbmRyIFhyZW5kZXIKKyAgICAgICAgY3AgLXBQUiAke1NUQUdJTkdfRElSX1RBUkdFVH0vJHtsaWJkaXJ9L2xpYlgqLnNvLiogJHRyZWVkaXIvJHtiYXNlX2xpYmRpcn0vCisKKyAgICAgICAgIyBnZGsteDExIGdka19waXhidWYgZ2lvIGdsaWIgZ21vZHVsZSBnb2JqZWN0IGd0aHJlYWQgZ3RrLXgxMQorICAgICAgICBjcCAtcFBSICR7U1RBR0lOR19ESVJfVEFSR0VUfS8ke2xpYmRpcn0vbGliZyotMi4wLnNvLiogJHRyZWVkaXIvJHtiYXNlX2xpYmRpcn0vCisKKyAgICAgICAgIyBwYW5nbyBwYW5nb2NhaXJvIHBhbmdvZnQyCisgICAgICAgIGNwIC1wUFIgJHtTVEFHSU5HX0RJUl9UQVJHRVR9LyR7bGliZGlyfS9saWJwYW5nbyotMS4wLnNvLiogJHRyZWVkaXIvJHtiYXNlX2xpYmRpcn0vCisKKyAgICAgICAgIyB4Y2ItcmVuZGVyIHhjYi1zaG0geGNiCisgICAgICAgIGNwIC1wUFIgJHtTVEFHSU5HX0RJUl9UQVJHRVR9LyR7bGliZGlyfS9saWJ4Y2IqLnNvLiogJHRyZWVkaXIvJHtiYXNlX2xpYmRpcn0vCisgICAgZmkKK30KKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgIyBmcmVha3MgcGFja2FnZS5iYmNsYXNzIGFuZCB3aG9sZSBiaXRiYWtlIGNhbGwgcmV0dXJucyBlcnJvciBjb2RlCisgICAgIyBFUlJPUjogcnVuc3RyaXA6ICcnYXJtLW9lLWxpbnV4LWdudWVhYmktc3RyaXAnICAnL3Zhci9saWIvamVua2lucy9qb2JzL3Noci1jb3JlLWJyYW5jaGVzL3dvcmtzcGFjZS9zaHItY29yZS90bXAtZWdsaWJjL3dvcmsvYXJtdjR0LW9lLWxpbnV4LWdudWVhYmkvZW1hY3MtMjMuNC1yMC9wYWNrYWdlL3Vzci9zaGFyZS9lbWFjcy8yMy40L2V0Yy90dXRvcmlhbHMvVFVUT1JJQUwua28nJyBzdHJpcCBjb21tYW5kIGZhaWxlZAorICAgIG12ICR7RH0ke2RhdGFkaXJ9LyR7QlBOfS8ke1BWfS9ldGMvdHV0b3JpYWxzL1RVVE9SSUFMLmtvICR7RH0ke2RhdGFkaXJ9LyR7QlBOfS8ke1BWfS9ldGMvdHV0b3JpYWxzL1RVVE9SSUFMLktPCisgICAgIyBJbmZvIGRpciBsaXN0aW5nIGlzbid0IGludGVyZXN0aW5nIGF0IHRoaXMgcG9pbnQgc28gcmVtb3ZlIGl0IGlmIGl0IGV4aXN0cy4KKyAgICBpZiBbIC1lICIke0R9JHtpbmZvZGlyfS9kaXIiIF07IHRoZW4KKyAgICAgICAgcm0gLWYgJHtEfSR7aW5mb2Rpcn0vZGlyCisgICAgZmkKK30KKworRVhUUkFfT0VNQUtFICs9ICdRRU1VPSIke1FFTVV9IicKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZW1hY3MvZW1hY3NfMjMuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZW1hY3MvZW1hY3NfMjMuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMzI0ODI4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lbWFjcy9lbWFjc18yMy40LmJiCkBAIC0wLDAgKzEsMTIgQEAKK3JlcXVpcmUgZW1hY3MuaW5jCisKK1BSID0gInI0IgorCitQTkJMQUNLTElTVFtlbWFjc10gPz0gInFlbXU6IHVuY2F1Z2h0IHRhcmdldCBzaWduYWwgMTEgKFNlZ21lbnRhdGlvbiBmYXVsdCkgLSBjb3JlIGR1bXBlZCIKKworU1JDX1VSSSA9ICIke0dOVV9NSVJST1J9L2VtYWNzL2VtYWNzLSR7UFZ9LnRhci5nejtuYW1lPXRhcmJhbGwgXAorICAgICAgICAgICBmaWxlOi8vdXNlLXFlbXUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vbm9zdGRsaWItdW53aW5kLnBhdGNoIFwKKyIKK1NSQ19VUklbdGFyYmFsbC5tZDVzdW1dID0gIjM0NDA1MTY1ZmNkOTc4ZmJjOGIzMDRjYmQ5OWNjZjRmIgorU1JDX1VSSVt0YXJiYWxsLnNoYTI1NnN1bV0gPSAiYjlhMmI4NDM0MDUyNzcxZjc5N2QyMDMyNzcyZWJhODYyZmY5YWExNDMwMjllZmM3MjI5NTE3MDYwNzI4OWMxOCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZW5jYS9lbmNhL2NvbmZpZ3VyZS1oYWNrLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lbmNhL2VuY2EvY29uZmlndXJlLWhhY2sucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODVhYmNkYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZW5jYS9lbmNhL2NvbmZpZ3VyZS1oYWNrLnBhdGNoCkBAIC0wLDAgKzEsMTIgQEAKKy0tLSBlbmNhLTEuOS9jb25maWd1cmUuYWMub3JpZwkyMDA2LTAyLTE1IDAwOjU3OjM5LjAwMDAwMDAwMCAtMDgwMAorKysrIGVuY2EtMS45L2NvbmZpZ3VyZS5hYwkyMDA2LTAyLTE1IDAwOjU3OjQ2LjAwMDAwMDAwMCAtMDgwMAorQEAgLTkyLDkgKzkyLDYgQEAKKyBkbmwgQW5kIGZvciBndGstZG9jCisgZ3RrX0NIRUNLX0dUS19ET0MKKyAKKy1kbmwgQ2hlY2sgZm9yIGdvb2QgcmFuZG9tIG51bWJlciBzb3VyY2VzCistQUNfQ0hFQ0tfRklMRVMoL2Rldi9yYW5kb20gL2Rldi91cmFuZG9tIC9kZXYvc3JhbmRvbSAvZGV2L2FyYW5kb20pCistCisgZG5sIERpcnR5IHBhdGggaGFjay4gIEhlbHBzIHNvbWUgcGVvcGxlIHdpdGggYmFkbHkgc2V0IHVwIHNlYXJjaCBwYXRocy4KKyBpZiB0ZXN0ICIkcHJlZml4IiA9ICJOT05FIjsgdGhlbgorICAgTERGTEFHUz0iJExERkxBR1MgLUwkYWNfZGVmYXVsdF9wcmVmaXgvbGliIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lbmNhL2VuY2EvY29uZmlndXJlLXJlbW92ZS1kdW1ibmVzcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZW5jYS9lbmNhL2NvbmZpZ3VyZS1yZW1vdmUtZHVtYm5lc3MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmY2ZjNlMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZW5jYS9lbmNhL2NvbmZpZ3VyZS1yZW1vdmUtZHVtYm5lc3MucGF0Y2gKQEAgLTAsMCArMSwyNiBAQAorLS0tIGVuY2EtMS45L2NvbmZpZ3VyZS5hYy5vcmlnCTIwMDYtMDYtMjkgMTU6MzA6NDQuMDAwMDAwMDAwICswMTAwCisrKysgZW5jYS0xLjkvY29uZmlndXJlLmFjCTIwMDYtMDYtMjkgMTU6MzE6NDEuMDAwMDAwMDAwICswMTAwCitAQCAtOTIsMTQgKzkyLDE1IEBACisgZG5sIEFuZCBmb3IgZ3RrLWRvYworIGd0a19DSEVDS19HVEtfRE9DCisgCistZG5sIERpcnR5IHBhdGggaGFjay4gIEhlbHBzIHNvbWUgcGVvcGxlIHdpdGggYmFkbHkgc2V0IHVwIHNlYXJjaCBwYXRocy4KKy1pZiB0ZXN0ICIkcHJlZml4IiA9ICJOT05FIjsgdGhlbgorLSAgTERGTEFHUz0iJExERkxBR1MgLUwkYWNfZGVmYXVsdF9wcmVmaXgvbGliIgorLSAgQ1BQRkxBR1M9IiRDUFBGTEFHUyAtSSRhY19kZWZhdWx0X3ByZWZpeC9pbmNsdWRlIgorLWVsc2UKKy0gIExERkxBR1M9IiRMREZMQUdTIC1MJHByZWZpeC9saWIiCistICBDUFBGTEFHUz0iJENQUEZMQUdTIC1JJHByZWZpeC9pbmNsdWRlIgorLWZpCisrIyBUaGlzIGlzIHJlYWxseSBkdW1iIGNvZGUKKysjZG5sIERpcnR5IHBhdGggaGFjay4gIEhlbHBzIHNvbWUgcGVvcGxlIHdpdGggYmFkbHkgc2V0IHVwIHNlYXJjaCBwYXRocy4KKysjaWYgdGVzdCAiJHByZWZpeCIgPSAiTk9ORSI7IHRoZW4KKysjICBMREZMQUdTPSIkTERGTEFHUyAtTCRhY19kZWZhdWx0X3ByZWZpeC9saWIiCisrIyAgQ1BQRkxBR1M9IiRDUFBGTEFHUyAtSSRhY19kZWZhdWx0X3ByZWZpeC9pbmNsdWRlIgorKyNlbHNlCisrIyAgTERGTEFHUz0iJExERkxBR1MgLUwkcHJlZml4L2xpYiIKKysjICBDUFBGTEFHUz0iJENQUEZMQUdTIC1JJHByZWZpeC9pbmNsdWRlIgorKyNmaQorIAorIGRubCBDaGVja3MgZm9yIGxpYnJhcmllcy4KKyB5ZV9DSEVDS19MSUJNCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VuY2EvZW5jYS9kb250LXJ1bi10ZXN0cy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZW5jYS9lbmNhL2RvbnQtcnVuLXRlc3RzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMyMWQxZTYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VuY2EvZW5jYS9kb250LXJ1bi10ZXN0cy5wYXRjaApAQCAtMCwwICsxLDEzIEBACitJbmRleDogZW5jYS0xLjkvTWFrZWZpbGUuYW0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBlbmNhLTEuOS5vcmlnL01ha2VmaWxlLmFtCTIwMDUtMTEtMjQgMTE6MjE6MzIuMDAwMDAwMDAwICswMTAwCisrKysgZW5jYS0xLjkvTWFrZWZpbGUuYW0JMjAwNi0wNC0xMSAxMToxNDoyMS44MzI1MDI5MDQgKzAyMDAKK0BAIC0yLDcgKzIsNyBAQAorIGlmIE1BSU5UQUlORVJfTU9ERQorIFNVQkRJUlMgPSB0b29scyBkYXRhIHNjcmlwdCBsaWIgc3JjIGRldmVsLWRvY3MgdGVzdAorIGVsc2UKKy1TVUJESVJTID0gdG9vbHMgc2NyaXB0IGxpYiBzcmMgZGV2ZWwtZG9jcyB0ZXN0CisrU1VCRElSUyA9IHRvb2xzIHNjcmlwdCBsaWIgc3JjIGRldmVsLWRvY3MKKyBlbmRpZgorIG1hbl9NQU5TID0gbWFuL2VuY2EuMQorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lbmNhL2VuY2EvbGliZW5jYS0wMDMtaWNvbnYucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VuY2EvZW5jYS9saWJlbmNhLTAwMy1pY29udi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYmYwZmI4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lbmNhL2VuY2EvbGliZW5jYS0wMDMtaWNvbnYucGF0Y2gKQEAgLTAsMCArMSwyOCBAQAorRnJvbSA3ZTE0NDQ5NTA5MzE4NzE0M2EzZDE1ODlmNzRjMmVhYzM3ZTRkNzkwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWF4aW1lIEhhZGppbmxpYW4gPG1heGltZS5oYWRqaW5saWFuQGdtYWlsLmNvbT4KK0RhdGU6IFN1biwgNCBNYXkgMjAxNCAxNTo0OToyOCArMDIwMAorU3ViamVjdDogW1BBVENIXSBsaWJpY29udi5tNDogRml4IEFNX0lDT05WIG1hY3JvIHVzYWdlCisKK1RoaXMgcGF0Y2ggY29tZSBzdHJhaWdodCBmcm9tIHRoZSBCdWlsZHJvb3Qgc291cmNlIHRyZWUuCisKK1NpZ25lZC1vZmYtYnk6IEJlcm5kIEt1aGxzIDxiZXJuZGt1aGxzQGhvdG1haWwuY29tPgorU2lnbmVkLW9mZi1ieTogTWF4aW1lIEhhZGppbmxpYW4gPG1heGltZS5oYWRqaW5saWFuQGdtYWlsLmNvbT4KKy0tLQorIG00L2xpYmljb252Lm00IHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvbTQvbGliaWNvbnYubTQgYi9tNC9saWJpY29udi5tNAoraW5kZXggZmM4YzZmOC4uM2E1OTU0OSAxMDA2NDQKKy0tLSBhL200L2xpYmljb252Lm00CisrKysgYi9tNC9saWJpY29udi5tNAorQEAgLTE3LDcgKzE3LDcgQEAgQUNfUkVRVUlSRShbQUNfQ19DT05TVF0pZG5sCisgZG5sCisgCisgZG5sIFVzZSBzdGFuZGFyZCBpY29udiB0ZXN0CistQU1fSUNPTlYKKyttNF9wYXR0ZXJuX2FsbG93KFtBTV9JQ09OVl0pCisgQ09OVkVSVE9SX0xJQlM9IiRDT05WRVJUT1JfTElCUyAkTElCSUNPTlYiCisgCisgZG5sIENvbXBpbGUgaWNvbnZjYXAuYyBhbmQgcnVuIGl0IHRvIGRldGVybWluZSB3aGF0IGVuY29kaW5ncyBpY29udiBhY3R1YWxseQorLS0gCisxLjkuMwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lbmNhL2VuY2EvbWFrZWZpbGUtcmVtb3ZlLXRvb2xzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lbmNhL2VuY2EvbWFrZWZpbGUtcmVtb3ZlLXRvb2xzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFjY2ZiY2MKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VuY2EvZW5jYS9tYWtlZmlsZS1yZW1vdmUtdG9vbHMucGF0Y2gKQEAgLTAsMCArMSwxMyBAQAorLS0tIGVuY2EtMS45L01ha2VmaWxlLmFtLm9yaWcJMjAwNi0wNi0yOSAxNTozNDo1NS4wMDAwMDAwMDAgKzAxMDAKKysrKyBlbmNhLTEuOS9NYWtlZmlsZS5hbQkyMDA2LTA2LTI5IDE1OjM1OjIwLjAwMDAwMDAwMCArMDEwMAorQEAgLTEsOCArMSw4IEBACisgIyBAKCMpICRJZDogTWFrZWZpbGUuYW0sdiAxLjM1IDIwMDUvMTEvMjQgMTA6MjE6MzIgeWV0aSBFeHAgJAorIGlmIE1BSU5UQUlORVJfTU9ERQorLVNVQkRJUlMgPSB0b29scyBkYXRhIHNjcmlwdCBsaWIgc3JjIGRldmVsLWRvY3MgdGVzdAorK1NVQkRJUlMgPSBkYXRhIHNjcmlwdCBsaWIgc3JjIGRldmVsLWRvY3MgdGVzdAorIGVsc2UKKy1TVUJESVJTID0gdG9vbHMgc2NyaXB0IGxpYiBzcmMgZGV2ZWwtZG9jcworK1NVQkRJUlMgPSBzY3JpcHQgbGliIHNyYyBkZXZlbC1kb2NzCisgZW5kaWYKKyBtYW5fTUFOUyA9IG1hbi9lbmNhLjEKKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZW5jYS9lbmNhXzEuOS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZW5jYS9lbmNhXzEuOS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZjE5ODQzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lbmNhL2VuY2FfMS45LmJiCkBAIC0wLDAgKzEsMzcgQEAKK1NVTU1BUlkgPSAiRW5jYSBpcyBhbiBFeHRyZW1lbHkgTmFpdmUgQ2hhcnNldCBBbmFseXNlciIKK1NFQ1RJT04gPSAibGlicyIKK0hPTUVQQUdFID0gImh0dHA6Ly90cmlmaWMuYXRoLmN4L3NvZnR3YXJlL2VuY2EvIgorCitERVBFTkRTICs9ICJnZXR0ZXh0LW5hdGl2ZSIKKworTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTI0Yjk1Njk4MzFjNDZkNDgxODQ1MGI1NTI4MjQ3NmI0IgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cuc291cmNlZmlsZXMub3JnL05ldHdvcmtpbmcvVG9vbHMvTWlzY2VsbGFuZW5vdXMvZW5jYS0ke1BWfS50YXIuYnoyIFwKKyAgICBmaWxlOi8vY29uZmlndXJlLWhhY2sucGF0Y2ggXAorICAgIGZpbGU6Ly9kb250LXJ1bi10ZXN0cy5wYXRjaCBcCisgICAgZmlsZTovL2NvbmZpZ3VyZS1yZW1vdmUtZHVtYm5lc3MucGF0Y2ggXAorICAgIGZpbGU6Ly9tYWtlZmlsZS1yZW1vdmUtdG9vbHMucGF0Y2ggXAorICAgIGZpbGU6Ly9saWJlbmNhLTAwMy1pY29udi5wYXRjaCAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJiMzU4MWUyOGQ2OGQ0NTIyODZmYjBiZmU1OGJlZDNiMyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwMmFjZmVmMmIyNGE5Yzg0MjYxMmRhNDkzMzgxMzgzMTFmOTA5ZjFjZDMzOTMzNTIwYzA3YjhiMjZjNDEwZjRkIgorCitpbmhlcml0IGF1dG90b29scworCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICAjIHJlbW92ZSBmYWlsaW5nIHRlc3Qgd2hpY2ggY2hlY2tzIGZvciBzb21ldGhpbmcgdGhhdCBpc24ndCBldmVuIHVzZWQKKyAgICBzZWQgLWkgLWUgJy95ZV9GVU5DX1NDQU5GX01PRElGX1NJWkVfVC9kJyAke1N9L2NvbmZpZ3VyZS5hYworfQorCitkb19jb25maWd1cmVfYXBwZW5kKCkgeworICAgIHNlZCAtaSBzOi1JL3Vzci9pbmNsdWRlOjpnICR7Qn0vTWFrZWZpbGUKKyAgICBzZWQgLWkgczotSS91c3IvaW5jbHVkZTo6ZyAke0J9LyovTWFrZWZpbGUKK30KKworZG9fY29tcGlsZSgpIHsKKyAgICBjZCAke1N9L3Rvb2xzICYmICR7QlVJTERfQ0N9IC1vIG1ha2VfaGFzaCBtYWtlX2hhc2guYworICAgIGNkICR7Qn0KKyAgICBvZV9ydW5tYWtlCit9CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZW5naW5lLXBrY3MxMS9lbmdpbmUtcGtjczExXzAuMi4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lbmdpbmUtcGtjczExL2VuZ2luZS1wa2NzMTFfMC4yLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjJhMjI1OAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZW5naW5lLXBrY3MxMS9lbmdpbmUtcGtjczExXzAuMi4wLmJiCkBAIC0wLDAgKzEsMjkgQEAKK1NVTU1BUlkgPSAiQSBQS0NTIgorREVTQ1JJUFRJT04gPSAiXAorRW5naW5lX3BrY3MxMSBpcyBhbiBpbXBsZW1lbnRhdGlvbiBvZiBhbiBlbmdpbmUgZm9yIE9wZW5TU0wuIEl0IGNhbiBiZSBcCitsb2FkZWQgdXNpbmcgY29kZSwgY29uZmlnIGZpbGUgb3IgY29tbWFuZCBsaW5lIGFuZCB3aWxsIHBhc3MgYW55IGZ1bmN0aW9uIFwKK2NhbGwgYnkgb3BlbnNzbCB0byBhIFBLQ1MgY2FyZHMgYW5kIHNvZnR3YXJlIGZvciB1c2luZyBzbWFydCBjYXJkcyBpbiBQS0NTIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL09wZW5TQy9lbmdpbmVfcGtjczExIgorU0VDVElPTiA9ICJEZXZlbG9wbWVudC9MaWJyYXJpZXMiCitMSUNFTlNFID0gIkxHUEx2Mi4xKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3NyYy9lbmdpbmVfcGtjczExLmg7c3RhcnRsaW5lPTE7ZW5kbGluZT0yNjttZDU9OTczYTE5ZjhhNjEwNWRlMDQ3ZjJhZGZiYmZjMDRjMzMiCitERVBFTkRTID0gIm9wZW5zc2wgbGlicDExIgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vT3BlblNDL2VuZ2luZV9wa2NzMTEuZ2l0O3Byb3RvY29sPWh0dHAiCitTUkNSRVYgPSAiNjkwOWQ2NzYxYzg4MjBlMTc1MGZhMGJmNGZhODUzMmM4MmYzNGUzNSIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK0VYVFJBX09FQ09ORiA9ICJcCisgICAgLS1kaXNhYmxlLXN0YXRpYyBcCisgICAgLS1saWJkaXIgJHtsaWJkaXJ9L29wZW5zc2wgXAorIgorCitkb19pbnN0YWxsX2FwcGVuZCAoKSB7CisgICAgcm0gLWYgJHtEfSR7bGliZGlyfS9vcGVuc3NsL2VuZ2luZXMvbGlicGtjczExLmxhCit9CisKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vb3BlbnNzbC9lbmdpbmVzL2xpYnBrY3MxMS5zbyoiCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9vcGVuc3NsL2VuZ2luZXMvLmRlYnVnLyoiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VwZWcvZXBlZ19naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VwZWcvZXBlZ19naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGZlMTliNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZXBlZy9lcGVnX2dpdC5iYgpAQCAtMCwwICsxLDEzIEBACitTVU1NQVJZID0gIkVwZWcgaXMgYSBzbWFsbCBsaWJyYXJ5IGZvciBoYW5kbGluZyB0aHVtYm5haWxzIgorREVTQ1JJUFRJT04gPSAiSW5zYW5lbHkgZmFzdCBKUEVHLyBKUEcgdGh1bWJuYWlsIHNjYWxpbmcgd2l0aCB0aGUgbWluaW11bSBmdXNzIGFuZCBDUFUgb3ZlcmhlYWQuIEl0IG1ha2VzIHVzZSBvZiBsaWJqcGVnIGZlYXR1cmVzIG9mIGJlaW5nIGFibGUgdG8gbG9hZCBhbiBpbWFnZSBieSBvbmx5IGRlY29kaW5nIHRoZSBEQ1QgY29lZmZpY2llbnRzIG5lZWRlZCB0byByZWNvbnN0cnVjdCBhbiBpbWFnZSBvZiB0aGUgc2l6ZSBkZXNpcmVkLiIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZTc3MzJhOTI5MGVhMWU0YjAzNGZkYzE1Y2Y0OTk2OGQgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy1QTEFJTjttZDU9ZjU5Y2FjYzA4MjM1YTU0NmIwYzM0YTU0MjIxMzMwMzUiCitERVBFTkRTID0gImpwZWcgbGliZXhpZiIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL21hdHRlcy9lcGVnLmdpdCIKK1NSQ1JFViA9ICJkNzhiZWNjNTU4YTY4MmYxYmUwYTc4YjFhZjkwZDFiNGEwOGU1YjRlIgorUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZXNwZWFrL2VzcGVhay1kYXRhXzEuMzcuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VzcGVhay9lc3BlYWstZGF0YV8xLjM3LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkxNGJmMzYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VzcGVhay9lc3BlYWstZGF0YV8xLjM3LmJiCkBAIC0wLDAgKzEsMjcgQEAKK3JlcXVpcmUgZXNwZWFrLmluYworCitpbmhlcml0IG5hdGl2ZQorCitQQUNLQUdFUyA9ICIke1BOfSIKK0ZJTEVTXyR7UE59ID0gIiR7bGF5b3V0X2RhdGFkaXJ9IgorCitQQUNLQUdFX0FSQ0ggPSAiJHtNQUNISU5FX0FSQ0h9IgorVEFSR0VUX0FSQ0ggPSAiJHtNQUNISU5FX0FSQ0h9IgorCitkb19jb21waWxlKCkgeworICAgICMgRml4aW5nIGJ5dGUgb3JkZXIgb2YgcGhvbmVtZSBkYXRhIGZpbGVzCisgICAgY2QgIiR7U30vcGxhdGZvcm1zL2JpZ19lbmRpYW4iCisgICAgc2VkIC1pICcvXiAqQ0MgKj0vZCcgTWFrZWZpbGUKKyAgICBzZWQgLWkgJ3MvXCguKkJZVEVfT1JERVJcKS8jdW5kZWYgQllURV9PUkRFUlxuI2RlZmluZSBCWVRFX09SREVSIEJJR19FTkRJQU5cblwxLycgZXNwZWFrLXBob25lbWUtZGF0YS5jCisgICAgb2VfcnVubWFrZQorICAgIC4vZXNwZWFrLXBob25lbWUtZGF0YSAiJHtTfS9lc3BlYWstZGF0YSIKKyAgICBjcCAtZiBwaG9uZGF0YSBwaG9uaW5kZXggcGhvbnRhYiAiJHtTfS9lc3BlYWstZGF0YSIKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2xheW91dF9kYXRhZGlyfS9lc3BlYWstZGF0YQorICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L2VzcGVhay1kYXRhL3Bob24qICR7RH0ke2xheW91dF9kYXRhZGlyfS9lc3BlYWstZGF0YQorfQorCitTUkNfVVJJW21kNXN1bV0gPSAiNWM3YjI5MmQwNTM3MjMyODY4YjRhYzEzMTdkNzZjMDIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNzdmNDA2YzM0NTM2MjE4NWVjNGYzNjJiZjQ5ZjYxZDIwMmUwMWFjOWI5Y2Q1YzE0ZjgwMzE5NWE1NDRjZTZkMyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZXNwZWFrL2VzcGVhay5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VzcGVhay9lc3BlYWsuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk4YTE3NjUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VzcGVhay9lc3BlYWsuaW5jCkBAIC0wLDAgKzEsMTAgQEAKK0RFU0NSSVBUSU9OID0gImVTcGVhayBpcyBhIGNvbXBhY3Qgb3BlbiBzb3VyY2Ugc29mdHdhcmUgc3BlZWNoIHN5bnRoZXNpemVyIgorU0VDVElPTiA9ICJiYXNlIgorTElDRU5TRSA9ICJHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xpY2Vuc2UudHh0O21kNT1jYjdhMjBlZGI0YzlmNWY0NzhkZTY1MjNkY2Q3MzYyYyIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vZXNwZWFrL2VzcGVhay0ke1BWfS1zb3VyY2UuemlwIgorCitTID0gIiR7V09SS0RJUn0vZXNwZWFrLSR7UFZ9LXNvdXJjZSIKKworREVQRU5EUyA9ICJwb3J0YXVkaW8tdjE5IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lc3BlYWsvZXNwZWFrXzEuMzcuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VzcGVhay9lc3BlYWtfMS4zNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNzNmZTM0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lc3BlYWsvZXNwZWFrXzEuMzcuYmIKQEAgLTAsMCArMSw0NCBAQAorcmVxdWlyZSBlc3BlYWsuaW5jCitpbmhlcml0IHNpdGVpbmZvCisKK0VYVFJBX1BIT05FTUVTID0gJyR7QGJiLnV0aWxzLmNvbnRhaW5zKCJTSVRFSU5GT19FTkRJQU5ORVNTIiwgImJlIiwgICJlc3BlYWstZGF0YSAoPSAke1BWfSkiLCAiIiwgZCl9JworUkRFUEVORFNfJHtQTn0gPSAicG9ydGF1ZGlvLXYxOSAke0VYVFJBX1BIT05FTUVTfSIKKworU1JDX1VSSVttZDVzdW1dID0gIjVjN2IyOTJkMDUzNzIzMjg2OGI0YWMxMzE3ZDc2YzAyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjc3ZjQwNmMzNDUzNjIxODVlYzRmMzYyYmY0OWY2MWQyMDJlMDFhYzliOWNkNWMxNGY4MDMxOTVhNTQ0Y2U2ZDMiCisKK0NYWEZMQUdTICs9ICItRFVTRV9QT1JUQVVESU8iCitUQVJHRVRfQ0NfQVJDSCArPSAiJHtMREZMQUdTfSIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vZXNwZWFrLWRhdGEiCisKK2RvX2NvbmZpZ3VyZSgpIHsKKyAgICAjICAic3BlYWsiIGJpbmFyeSwgYSBUVFMgZW5naW5lLCB1c2VzIHBvcnRhdWRpbyBpbiBlaXRoZXIgQVBJcyBWMTggb3IgVjE5LCB1c2UgVjE5CisgICAgY3AgIiR7U30vc3JjL3BvcnRhdWRpbzE5LmgiICIke1N9L3NyYy9wb3J0YXVkaW8uaCIKK30KKworZG9fY29tcGlsZSgpIHsKKyAgICBjZCBzcmMKKyAgICBvZV9ydW5tYWtlCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtZCAke0R9JHtsaWJkaXJ9CisgICAgaW5zdGFsbCAtZCAke0R9JHtpbmNsdWRlZGlyfS9lc3BlYWsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9L2VzcGVhay1kYXRhCisKKyAgICAjIHdlIGRvIG5vdCBzaGlwICJzcGVhayIgYmluYXJ5IHRob3VnaC4KKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtTfS9zcmMvZXNwZWFrICR7RH0ke2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9zcmMvc3BlYWtfbGliLmggJHtEfSR7aW5jbHVkZWRpcn0vZXNwZWFrLworICAgIGxuIC1zZiBlc3BlYWsvZXNwZWFrLmggJHtEfSR7aW5jbHVkZWRpcn0vCisgICAgb2VfbGliaW5zdGFsbCAtc28gLUMgc3JjIGxpYmVzcGVhayAke0R9JHtsaWJkaXJ9CisKKyAgICBpZiBbICIke1NJVEVJTkZPX0VORElBTk5FU1N9IiA9ICJiZSIgXSA7IHRoZW4KKyAgICAgICAgIyB0aGUgYmlnLWVuZGlhbiBwaG9uKiBmaWxlcyBhcmUgcHJvdmlkZWQgYnkgdGhlIHBhY2thZ2UgZXNwZWFrLWRhdGEKKyAgICAgICAgcm0gLWYgJHtTfS9lc3BlYWstZGF0YS9waG9uKgorICAgIGZpCisKKyAgICBjcCAtcHJmICR7U30vZXNwZWFrLWRhdGEvKiAke0R9JHtkYXRhZGlyfS9lc3BlYWstZGF0YQorICAgIGNob3duIC1SIHJvb3Q6cm9vdCAke0R9JHtkYXRhZGlyfS9lc3BlYWstZGF0YQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9ldmVudGxvZy9ldmVudGxvZ18wLjIuMTMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2V2ZW50bG9nL2V2ZW50bG9nXzAuMi4xMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNDk1MDdkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9ldmVudGxvZy9ldmVudGxvZ18wLjIuMTMuYmIKQEAgLTAsMCArMSwyMCBAQAorU1VNTUFSWSA9ICJSZXBsYWNlbWVudCBzeXNsb2cgQVBJIgorREVTQ1JJUFRJT04gPSAiVGhlIEV2ZW50TG9nIGxpYnJhcnkgYWltcyB0byBiZSBhIHJlcGxhY2VtZW50IG9mIHRoZSBcCisgICAgICAgICAgICAgIHNpbXBsZSBzeXNsb2coKSBBUEkgcHJvdmlkZWQgb24gVU5JWCBzeXN0ZW1zLiBUaGUgXAorICAgICAgICAgICAgICBtYWpvciBkaWZmZXJlbmNlIGJldHdlZW4gRXZlbnRMb2cgYW5kIHN5c2xvZyBpcyB0aGF0IFwKKyAgICAgICAgICAgICAgRXZlbnRMb2cgdHJpZXMgdG8gYWRkIHN0cnVjdHVyZSB0byBtZXNzYWdlcy4gRXZlbnRMb2cgXAorICAgICAgICAgICAgICBwcm92aWRlcyBhbiBpbnRlcmZhY2UgdG8gYnVpbGQsIGZvcm1hdCBhbmQgb3V0cHV0IGFuIFwKKyAgICAgICAgICAgICAgZXZlbnQgcmVjb3JkLiBUaGUgZXhhY3QgZm9ybWF0IGFuZCBvdXRwdXQgbWV0aG9kIGNhbiBcCisgICAgICAgICAgICAgIGJlIGN1c3RvbWl6ZWQgYnkgdGhlIGFkbWluaXN0cmF0b3IgdmlhIGEgY29uZmlndXJhdGlvbiBcCisgICAgICAgICAgICAgIGZpbGUuIGhpcyBwYWNrYWdlIGlzIHRoZSBydW50aW1lIHBhcnQgb2YgdGhlIGxpYnJhcnkuIFwKKyIKKworTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iOGJhOGU3N2JjZGE5YTUzZmFjMGZlMzlmZTk1Nzc2NyIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmJhbGFiaXQuY29tL2Rvd25sb2Fkcy9maWxlcy9zeXNsb2ctbmcvb3Blbi1zb3VyY2UtZWRpdGlvbi8zLjQuMi9zb3VyY2UvJHtCUE59XyR7UFZ9LnRhci5neiIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI2OGVjOGQxZWEzYjk4ZmEzNTAwMmJiNzU2MjI3YzMxNSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3Y2I0ZTZmMzE2ZGFlZGU0ZmE1NDU0NzM3MWQ1Yzk4NjM5NTE3N2MxMmRiZGVjNzRhNjYyOThlNjg0YWM4Yjg1IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9ldnRlc3QvZXZ0ZXN0X2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZXZ0ZXN0L2V2dGVzdF9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTZmZWFiNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZXZ0ZXN0L2V2dGVzdF9naXQuYmIKQEAgLTAsMCArMSwxNyBAQAorU1VNTUFSWSA9ICJTaW1wbGUgdG9vbCBmb3IgaW5wdXQgZXZlbnQgZGVidWdnaW5nIgorSE9NRVBBR0UgPSAiaHR0cDovL3Blb3BsZS5mcmVlZGVza3RvcC5vcmcvfndob3QvZXZ0ZXN0LyIKK0FVVEhPUiA9ICJWb2p0ZWNoIFBhdmxpayA8dm9qdGVjaEBzdXNlLmN6PiIKK1NFQ1RJT04gPSAiY29uc29sZS91dGlscyIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSIKKworREVQRU5EUyA9ICJsaWJ4bWwyIgorCitTUkNSRVYgPSAiYjgzNDNlYzExMjRkYTE4YmRhYmNjMDQ4MDlhODczMWI5ZTM5Mjk1ZCIKK1NSQ19VUkkgPSAiZ2l0Oi8vYW5vbmdpdC5mcmVlZGVza3RvcC5vcmcvZXZ0ZXN0O3Byb3RvY29sPWdpdCIKKworUFYgPSAiMS4zMiske1NSQ1BWfSIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZhcnNpZ2h0L2ZhcnNpZ2h0Ml8wLjAuMjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZhcnNpZ2h0L2ZhcnNpZ2h0Ml8wLjAuMjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjk4OTg1MAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmFyc2lnaHQvZmFyc2lnaHQyXzAuMC4yMi5iYgpAQCAtMCwwICsxLDMwIEBACitERVNDUklQVElPTiA9ICJGYXJTaWdodCBpcyBhbiBhdWRpby92aWRlbyBjb25mZXJlbmNpbmcgZnJhbWV3b3JrIHNwZWNpZmljYWxseSBkZXNpZ25lZCBmb3IgSW5zdGFudCBNZXNzZW5nZXJzLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9mYXJzaWdodC5zZi5uZXQiCitTUkNfVVJJID0gImh0dHA6Ly9mYXJzaWdodC5mcmVlZGVza3RvcC5vcmcvcmVsZWFzZXMvZmFyc2lnaHQyLyR7QlB9LnRhci5neiIKKworTElDRU5TRSA9ICJMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWZiYzA5MzkwMTg1N2ZjZDExOGYwNjVmOTAwOTgyYzI0IgorCitQUiA9ICJyMyIKKworREVQRU5EUyA9ICJsaWJuaWNlIGdsaWItMi4wIGxpYnhtbDIgemxpYiBkYnVzIGdzdHJlYW1lciBnc3QtcGx1Z2lucy1iYXNlIgorCitpbmhlcml0IGF1dG90b29scworCitQQUNLQUdFQ09ORklHID8/PSAiIgorUEFDS0FHRUNPTkZJR1tndXBucF0gPSAiLS1lbmFibGUtZ3VwbnAsLS1kaXNhYmxlLWd1cG5wLGd1cG5wLWlnZCIKKworRVhUUkFfT0VDT05GID0gIiBcCisgICAgLS1kaXNhYmxlLWRlYnVnIFwKKyAgICAtLWRpc2FibGUtZ3RrLWRvYyBcCisgICAgLS1kaXNhYmxlLXB5dGhvbiBcCisiCisKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vKi8qLnNvIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vKi8qLmxhIgorRklMRVNfJHtQTn0tc3RhdGljZGV2ICs9ICIke2xpYmRpcn0vKi8qLmEiCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS8qLy5kZWJ1ZyIKKworCitTUkNfVVJJW21kNXN1bV0gPSAiZTFmNTQwY2YzZWJhYjA2YzNkN2RiMWY0NmI0NGFjODgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiM2FlNTlhYTYxYTgwNzFjOWZhZDExMWU1ZmQ2MDZhYWJjMjc5NjFlYjQxOTJmODcyOTk4N2EyN2RhZTZiMzk3NCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmFyc2lnaHQvbGlibmljZV8wLjAuMTMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZhcnNpZ2h0L2xpYm5pY2VfMC4wLjEzLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYyMGVlMWYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZhcnNpZ2h0L2xpYm5pY2VfMC4wLjEzLmJiCkBAIC0wLDAgKzEsNDAgQEAKK1NVTU1BUlkgPSAiSW50ZXJhY3RpdmUgQ29ubmVjdGl2aXR5IEVzdGFibGlzaG1lbnQgbGlicmFyeSIKK0RFU0NSSVBUSU9OID0gIkxpYm5pY2UgaXMgYW4gaW1wbGVtZW50YXRpb24gb2YgdGhlIElFVEYncyBkcmFmdCBJbnRlcmFjdGl2ZSBDb25uZWN0aXZpdHkgRXN0YWJsaXNobWVudCBzdGFuZGFyZCAoSUNFKS4iCitIT01FUEFHRSA9ICJodHRwOi8vbmljZS5mcmVlZGVza3RvcC5vcmcvd2lraS8iCitTUkNfVVJJID0gImh0dHA6Ly9uaWNlLmZyZWVkZXNrdG9wLm9yZy9yZWxlYXNlcy9saWJuaWNlLSR7UFZ9LnRhci5neiIKKworTElDRU5TRSA9ICJMR1BMdjIuMSAmIE1QTHYxLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05YzQyMzI1MDE1NzAyZmVkYTRmNGQyZjE5YTU1Yjc2NyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxHUEw7bWQ1PTJkNTAyNWQ0YWEzNDk1YmVmZWY4ZjE3MjA2YTViMGExIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuTVBMO21kNT0zYzYxNzcxMGU1MWNkYmUwZmMwMDcxNmYwNTZkZmIxYSBcCisiCisKK1BSID0gInI0IgorCitERVBFTkRTID0gImdsaWItMi4wIGdzdHJlYW1lciIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbZ3VwbnBdID0gIi0tZW5hYmxlLWd1cG5wLC0tZGlzYWJsZS1ndXBucCxndXBucC1pZ2QiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBndGstZG9jCisKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vZ3N0cmVhbWVyLTAuMTAvKi5zbyIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L2dzdHJlYW1lci0wLjEwLyoubGEiCitGSUxFU18ke1BOfS1zdGF0aWNkZXYgKz0gIiR7bGliZGlyfS9nc3RyZWFtZXItMC4xMC8qLmEiCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9nc3RyZWFtZXItMC4xMC8uZGVidWciCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIG1rZGlyICR7U30vbTQgfHwgdHJ1ZQorfQorCitkb19jb21waWxlX2FwcGVuZCgpIHsKKyAgICBmb3IgaSBpbiAkKGZpbmQgJHtCfSAtbmFtZSAiKi5wYyIpIDsgZG8KKyAgICAgICAgc2VkIC1pIC1lIHM6JHtTVEFHSU5HX0RJUl9UQVJHRVR9OjpnIFwKKyAgICAgICAgICAgICAgIC1lIHM6LyR7VEFSR0VUX1NZU306OmcgXAorICAgICAgICAgICAgICAgICAgJGkKKyAgICBkb25lCit9CisKKworU1JDX1VSSVttZDVzdW1dID0gImU1YjlmNzk5YTU3Y2I5MzllYTI2NThlYzM1MjUzYWI5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImQ4ZGQyNjBjNDg2YTQ3MGE2MDUyYTUzMjM5MjA4NzhhMDg0ZTQ0YTE5ZGYwOWIxNTcyOGI4NWM5ZTNkNmVkZjAiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2Zic2V0L2Zic2V0LTIuMS9mYnNldC0yLjEtZml4LW1ha2VmaWxlLWRlcC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmJzZXQvZmJzZXQtMi4xL2Zic2V0LTIuMS1maXgtbWFrZWZpbGUtZGVwLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQxYWI4YWYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2Zic2V0L2Zic2V0LTIuMS9mYnNldC0yLjEtZml4LW1ha2VmaWxlLWRlcC5wYXRjaApAQCAtMCwwICsxLDMxIEBACitGcm9tIDNkYjY3ODJkZTFkZTdjYTRmMWJiOWVlNzY1MmM0ZjI4MDhlNTc1MzkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBKYWNraWUgSHVhbmcgPGphY2tpZS5odWFuZ0B3aW5kcml2ZXIuY29tPgorRGF0ZTogVGh1LCAxMCBKYW4gMjAxMyAxMjoyNDozMyArMDgwMAorU3ViamVjdDogW1BBVENIXSBmYnNldCAyLjEgZml4IG1ha2VmaWxlIGRlcCBtb2Rlcy50YWIuYworCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW25vIHVwc3RyZWFtXQorCitmaXggdGhlIGVycm9yIGluIHBhcmFsbGVsIGJ1aWxkOgorbWFrZTogKioqIE5vIHJ1bGUgdG8gbWFrZSB0YXJnZXQgYG1vZGVzLnRhYi5oJywgbmVlZGVkIGJ5IGBsZXgueXkubycuICBTdG9wLiAKKworU2lnbmVkLW9mZi1ieTogSmFja2llIEh1YW5nIDxqYWNraWUuaHVhbmdAd2luZHJpdmVyLmNvbT4KKy0tLQorIE1ha2VmaWxlIHwgICAgMiArLQorIDEgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUgYi9NYWtlZmlsZQoraW5kZXggNjE1MzZjMS4uMDkxODNlNSAxMDA2NDQKKy0tLSBhL01ha2VmaWxlCisrKysgYi9NYWtlZmlsZQorQEAgLTE1LDcgKzE1LDcgQEAgZmJzZXQ6CQlmYnNldC5vIG1vZGVzLnRhYi5vIGxleC55eS5vCisgCisgZmJzZXQubzoJZmJzZXQuYyBmYnNldC5oIGZiLmgKKyBtb2Rlcy50YWIubzoJbW9kZXMudGFiLmMgZmJzZXQuaCBmYi5oCistbGV4Lnl5Lm86CWxleC55eS5jIGZic2V0LmggbW9kZXMudGFiLmgKKytsZXgueXkubzoJbGV4Lnl5LmMgZmJzZXQuaCBtb2Rlcy50YWIuYworIAorIGxleC55eS5jOgltb2Rlcy5sCisgCQkkKEZMRVgpIG1vZGVzLmwKKy0tIAorMS43LjQuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2Zic2V0L2Zic2V0LTIuMS9tYWtlZmlsZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmJzZXQvZmJzZXQtMi4xL21ha2VmaWxlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgyYjFjNjEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2Zic2V0L2Zic2V0LTIuMS9tYWtlZmlsZS5wYXRjaApAQCAtMCwwICsxLDExIEBACistLS0gZmJzZXQtMi4xL01ha2VmaWxlLm9yaWcJMjAwNi0wNS0yOCAwNDowNDoyNy40MTIwOTU0ODAgKzAyMDAKKysrKyBmYnNldC0yLjEvTWFrZWZpbGUJMjAwNi0wNS0yOCAwNDoxNDowNS4zNzkyMzExMjAgKzAyMDAKK0BAIC0yLDcgKzIsNyBAQAorICMgTGludXggRnJhbWUgQnVmZmVyIERldmljZSBDb25maWd1cmF0aW9uCisgIworIAorLUNDID0JCWdjYyAtV2FsbCAtTzIgLUkuCisrQ0ZMQUdTID0JLVdhbGwgLU8yIC1JLgorIEJJU09OID0JCWJpc29uIC1kCisgRkxFWCA9CQlmbGV4CisgSU5TVEFMTCA9CWluc3RhbGwKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmJzZXQvZmJzZXQtbW9kZXMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2Zic2V0L2Zic2V0LW1vZGVzLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg4ZjdhNGYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2Zic2V0L2Zic2V0LW1vZGVzLmJiCkBAIC0wLDAgKzEsMjIgQEAKK1NVTU1BUlkgPSAiRGVmYXVsdCBkaXNwbGF5IHRpbWluZ3MgYW5kIHJlc29sdXRpb25zIGZvciBmYnNldCIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtDT1JFQkFTRX0vbWV0YS9DT1BZSU5HLk1JVDttZDU9M2RhOWNmYmNiNzg4YzgwYTAzODQzNjFiNGRlMjA0MjAiCisKK1BWID0gIjAuMS4wIgorUFIgPSAicjYiCisKK1NSQ19VUkkgPSAiZmlsZTovL2ZiLm1vZGVzIgorUyA9ICIke1dPUktESVJ9IgorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9mYi5tb2RlcyAke0R9JHtzeXNjb25mZGlyfQorfQorCitpbmhlcml0IGFsbGFyY2gKKworIyBmYi5tb2RlcyBmaWxlIGlzIE1BQ0hJTkVfQVJDSCwgYmFzZS5iYmNsYXNzIGNvcnJlY3RseSBjaGFuZ2VzIGl0IHRvIE1BQ0hJTkVfQVJDSCwgYnV0IHRvbyBsYXRlIGZvciBhbGxhcmNoLmJiY2xhc3MKKyMgdG8gZGlzYWJsZSAiYWxsIiBiZWhhdmlvciAoZm91bmQgd2hlbiBjb21wYXJpbmcgcWVtdWFybSBhbmQgcWVtdXg4NiBzaWduYXR1cmVzKQorUEFDS0FHRV9BUkNIID0gIiR7TUFDSElORV9BUkNIfSIKKworQ09ORkZJTEVTXyR7UE59ID0gIiR7c3lzY29uZmRpcn0vZmIubW9kZXMiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2Zic2V0L2Zic2V0LW1vZGVzL2ZiLm1vZGVzIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mYnNldC9mYnNldC1tb2Rlcy9mYi5tb2RlcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYTVlNmVkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mYnNldC9mYnNldC1tb2Rlcy9mYi5tb2RlcwpAQCAtMCwwICsxLDMgQEAKKyMgQnkgZGVmYXVsdCB0aGVyZSBpcyBub3RoaW5nIGluIHRoaXMgZmlsZSBqdXN0IGEgcmVtaW5kZXIgdG8gZGVmaW5lIHNvbWUKKyMgbW9kZXMgaW4gT0UKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mYnNldC9mYnNldC1tb2Rlcy9vbS1ndGEwMS9mYi5tb2RlcyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmJzZXQvZmJzZXQtbW9kZXMvb20tZ3RhMDEvZmIubW9kZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDQ2ZDIzZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmJzZXQvZmJzZXQtbW9kZXMvb20tZ3RhMDEvZmIubW9kZXMKQEAgLTAsMCArMSwyOSBAQAorIyBUaW1pbmdzIGZvciBHVEEwMSBWR0EgYW5kIFFWR0EgbW9kZQorCittb2RlICI0ODB4NjQwIgorICAgICMgRDogMjYuMDAwIE1IeiwgSDogNDMuMzM0IGtIeiwgVjogNjUuNjU3IEh6CisgICAgZ2VvbWV0cnkgNDgwIDY0MCA0ODAgNjQwIDE2CisgICAgdGltaW5ncyAzODQ2MSAxMDQgOCAyIDE2IDggMgorICAgIGFjY2VsIGZhbHNlCitlbmRtb2RlCisKK21vZGUgInZnYSIKKyAgICAjIEQ6IDI2LjAwMCBNSHosIEg6IDQzLjMzNCBrSHosIFY6IDY1LjY1NyBIegorICAgIGdlb21ldHJ5IDQ4MCA2NDAgNDgwIDY0MCAxNgorICAgIHRpbWluZ3MgMzg0NjEgMTA0IDggMiAxNiA4IDIKKyAgICBhY2NlbCBmYWxzZQorZW5kbW9kZQorCittb2RlICIyNDB4MzIwIgorICAgICMgRDogOC40NzUgTUh6LCBIOiAyNC42MzUga0h6LCBWOiA3NS41NjkgSHoKKyAgICBnZW9tZXRyeSAyNDAgMzIwIDI0MCAzMjAgMTYKKyAgICB0aW1pbmdzIDExODAwMCA4OCA4IDIgMiA4IDIKKyAgICBhY2NlbCBmYWxzZQorZW5kbW9kZQorCittb2RlICJxdmdhIgorICAgICMgRDogOC40NzUgTUh6LCBIOiAyNC42MzUga0h6LCBWOiA3NS41NjkgSHoKKyAgICBnZW9tZXRyeSAyNDAgMzIwIDI0MCAzMjAgMTYKKyAgICB0aW1pbmdzIDExODAwMCA4OCA4IDIgMiA4IDIKKyAgICBhY2NlbCBmYWxzZQorZW5kbW9kZQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mYnNldC9mYnNldC1tb2Rlcy9vbWFwMy1wYW5kb3JhL2ZiLm1vZGVzIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mYnNldC9mYnNldC1tb2Rlcy9vbWFwMy1wYW5kb3JhL2ZiLm1vZGVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBjODc0MDEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2Zic2V0L2Zic2V0LW1vZGVzL29tYXAzLXBhbmRvcmEvZmIubW9kZXMKQEAgLTAsMCArMSw2IEBACittb2RlICI4MDB4NDgwLTY1IgorICAgICMgRDogMzYuMDAxIE1IeiwgSDogMzQuMTI0IGtIeiwgVjogNjQuOTk4IEh6CisgICAgZ2VvbWV0cnkgODAwIDQ4MCA4MDAgNDgwIDE2CisgICAgdGltaW5ncyAyNzc3NyA0MCAyMTQgMTAgMzQgMSAxCisgICAgcmdiYSA1LzExLDYvNSw1LzAsMC8wCitlbmRtb2RlCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2Zic2V0L2Zic2V0LW1vZGVzL3FlbXVhcm0vZmIubW9kZXMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2Zic2V0L2Zic2V0LW1vZGVzL3FlbXVhcm0vZmIubW9kZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTExNDU2NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmJzZXQvZmJzZXQtbW9kZXMvcWVtdWFybS9mYi5tb2RlcwpAQCAtMCwwICsxLDE3IEBACisjIFFFTVUgdmVyc2F0aWxlcGIgbWFjaGluZSwgcWVtdWFybSBpbiBPRQorCittb2RlICJ2Z2EiICI2NDB4NDgwIgorICAgIGdlb21ldHJ5IDY0MCA0ODAgNjQwIDQ4MCAxNgorZW5kbW9kZQorCittb2RlICJ2Z2EtcG9ydHJhaXQiICI0ODB4NjQwIgorICAgIGdlb21ldHJ5IDQ4MCA2NDAgNDgwIDY0MCAxNgorZW5kbW9kZQorCittb2RlICJxdmdhIiAiMzIweDI0MCIKKyAgICBnZW9tZXRyeSAzMjAgMjQwIDMyMCAyNDAgMTYKK2VuZG1vZGUKKworbW9kZSAicXZnYS1wb3J0cmFpdCIgIjI0MHgzMjAiCisgICAgZ2VvbWV0cnkgMjQwIDMyMCAyNDAgMzIwIDE2CitlbmRtb2RlCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2Zic2V0L2Zic2V0LW1vZGVzL3FlbXVtaXBzL2ZiLm1vZGVzIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mYnNldC9mYnNldC1tb2Rlcy9xZW11bWlwcy9mYi5tb2RlcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMTE0NTY0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mYnNldC9mYnNldC1tb2Rlcy9xZW11bWlwcy9mYi5tb2RlcwpAQCAtMCwwICsxLDE3IEBACisjIFFFTVUgdmVyc2F0aWxlcGIgbWFjaGluZSwgcWVtdWFybSBpbiBPRQorCittb2RlICJ2Z2EiICI2NDB4NDgwIgorICAgIGdlb21ldHJ5IDY0MCA0ODAgNjQwIDQ4MCAxNgorZW5kbW9kZQorCittb2RlICJ2Z2EtcG9ydHJhaXQiICI0ODB4NjQwIgorICAgIGdlb21ldHJ5IDQ4MCA2NDAgNDgwIDY0MCAxNgorZW5kbW9kZQorCittb2RlICJxdmdhIiAiMzIweDI0MCIKKyAgICBnZW9tZXRyeSAzMjAgMjQwIDMyMCAyNDAgMTYKK2VuZG1vZGUKKworbW9kZSAicXZnYS1wb3J0cmFpdCIgIjI0MHgzMjAiCisgICAgZ2VvbWV0cnkgMjQwIDMyMCAyNDAgMzIwIDE2CitlbmRtb2RlCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2Zic2V0L2Zic2V0LzAwMDEtZmJzZXQtaW5jbHVkaW5nLWFzbS10eXBlcy5oLWlzLW5lZWRlZC1vbi1hbGwtbGludXgtcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmJzZXQvZmJzZXQvMDAwMS1mYnNldC1pbmNsdWRpbmctYXNtLXR5cGVzLmgtaXMtbmVlZGVkLW9uLWFsbC1saW51eC1zLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdmNDVkYmUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2Zic2V0L2Zic2V0LzAwMDEtZmJzZXQtaW5jbHVkaW5nLWFzbS10eXBlcy5oLWlzLW5lZWRlZC1vbi1hbGwtbGludXgtcy5wYXRjaApAQCAtMCwwICsxLDM0IEBACitGcm9tIDA2ZWRkODg4MzNkYTkzMzYxZDU0MDhiODgwZmJiODkwZGYzMzI0OTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogVHVlLCAxOSBKYW4gMjAxNiAwMTo1NTo0NyArMDAwMAorU3ViamVjdDogW1BBVENIXSBmYnNldDogaW5jbHVkaW5nIGFzbS90eXBlcy5oIGlzIG5lZWRlZCBvbiBhbGwgbGludXggc3lzdGVtcworCitpbmNsdWRpbmcgYXNtL3R5cGVzLmggaXMgbmVlZGVkIHRvIGdldCBMaW51eCB0eXBlZGVmJ3MgbGlrZQorX19zMzIgYW5kIHNvIG9uIHdoaWNoIGFyZSBpbmRlcGVuZGVudCBvZiBDIGxpYnJhcnkgdGhlcmVmb3JlIHRoaXMKK2RlZmluZSBzaG91bGQgbm90IGJlIGd1YXJkZWQgYnkgX19HTElCQ19fIGJ1dCBieSBfX2xpbnV4X18KKworSGVscHMgdG8gY29tcGlsZSBpdCBvbiBtdXNsIHN5c3RlbXMKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKKyBmYnNldC5oIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvZmJzZXQuaCBiL2Zic2V0LmgKK2luZGV4IDliMWQyYWMuLjBkOGRlZjggMTAwNjQ0CistLS0gYS9mYnNldC5oCisrKysgYi9mYnNldC5oCitAQCAtMTUsNyArMTUsNyBAQAorICNpbmNsdWRlIDxzdGRpby5oPgorICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyAKKy0jaWZkZWYgX19HTElCQ19fCisrI2lmZGVmIF9fbGludXhfXworICNpbmNsdWRlIDxhc20vdHlwZXMuaD4KKyAjZW5kaWYKKyAKKy0tIAorMi43LjAKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mYnNldC9mYnNldF8yLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2Zic2V0L2Zic2V0XzIuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYmJlNmNhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mYnNldC9mYnNldF8yLjEuYmIKQEAgLTAsMCArMSwzNyBAQAorIworIyBDb3B5cmlnaHQgTWF0dGhpYXMgSGVudGdlcyA8ZGV2ZWxAaGVudGdlcy5uZXQ+IChjKSAyMDA2CisjIExpY2Vuc2U6IE1JVCAoc2VlIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwIGZvciBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UpCisjCisjIEZpbGVuYW1lOiBmYnNldF8yLjEuYmIKKyMgRGF0ZTogMjgtTWF5LTA2CisKK1NVTU1BUlkgPSAiVGhlIGZic2V0IGNvbnNvbGUgdG9vbCIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9mYnNldC5jO2VuZGxpbmU9MTk7bWQ1PWJmMzI2ZjgyY2RmY2FjMzkxYWYyMDhmMDE5YzU2MDNmIgorUlJFQ09NTUVORFNfJHtQTn0gPSAiZmJzZXQtbW9kZXMiCitERVBFTkRTID0gImJpc29uLW5hdGl2ZSBmbGV4LW5hdGl2ZSIKKworUFIgPSAicjQiCisKK1NSQ19VUkkgPSAiaHR0cDovL2Z0cC5kZWJpYW4ub3JnL2RlYmlhbi9wb29sL21haW4vZi9mYnNldC9mYnNldF8yLjEub3JpZy50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vbWFrZWZpbGUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZmJzZXQtMi4xLWZpeC1tYWtlZmlsZS1kZXAucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1mYnNldC1pbmNsdWRpbmctYXNtLXR5cGVzLmgtaXMtbmVlZGVkLW9uLWFsbC1saW51eC1zLnBhdGNoIFwKKyIKKworaW5oZXJpdCB1cGRhdGUtYWx0ZXJuYXRpdmVzCisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtzYmluZGlyfSAke0R9JHtkYXRhZGlyfS9tYW4vbWFuOCAke0R9JHtkYXRhZGlyfS9tYW4vbWFuNQorICAgIGluc3RhbGwgLW0gMDc1NSAke0J9L2Zic2V0ICR7RH0ke3NiaW5kaXJ9L2Zic2V0LnJlYWwKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtCfS8qLjUgJHtEfSR7ZGF0YWRpcn0vbWFuL21hbjUKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtCfS8qLjggJHtEfSR7ZGF0YWRpcn0vbWFuL21hbjgKK30KKworQUxURVJOQVRJVkVfZmJzZXQgPSAiZmJzZXQiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbZmJzZXRdID0gIiR7c2JpbmRpcn0vZmJzZXQiCitBTFRFUk5BVElWRV9UQVJHRVRbZmJzZXRdID0gIiR7c2JpbmRpcn0vZmJzZXQucmVhbCIKK0FMVEVSTkFUSVZFX1BSSU9SSVRZW2Zic2V0XSA9ICI1NSIKKworU1JDX1VSSVttZDVzdW1dID0gIjQwZWQ5NjA4ZjQ2ZDc4N2JmYjY1ZmQxMjY5ZjdmNDU5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjUxN2ZhMDYyZDdiMmQzNjdmOTMxYTFjNmViYjJiZWY4NDkwNzA3N2YwY2UzZjBjODk5ZTM0NDkwYmJlYTkzMzgiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZidGVzdC9mYi10ZXN0X2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmJ0ZXN0L2ZiLXRlc3RfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEzZjllMzcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZidGVzdC9mYi10ZXN0X2dpdC5iYgpAQCAtMCwwICsxLDIwIEBACitTVU1NQVJZID0gIlRlc3Qgc3VpdGUgZm9yIExpbnV4IGZyYW1lYnVmZmVyIgorCitQViA9ICIxLjEuMCIKKworTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWViNzIzYjYxNTM5ZmVlZjAxM2RlNDc2ZTY4YjVjNTBhIgorCitTUkNSRVYgPSAiMDYzZWM2NTA5NjBjMmQ3OWFjNTFmNWM1ZjAyNmNiMDUzNDNhMzNlMiIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9wcnBwbGFndWUvZmItdGVzdC1hcHAuZ2l0IgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitkb19pbnN0YWxsKCkgeworCWluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorCWluc3RhbGwgLW0gMDc1NSBmYi10ZXN0ICR7RH0ke2JpbmRpcn0KKwkjIGF2b2lkIGNvbGxpc2lvbnMgd2l0aCBwZXJmIChwZXJmKSBhbmQgbWVzYS1kZW1vcyAob2Zmc2V0KQorCWZvciBwcm9nIGluIHBlcmYgcmVjdCBvZmZzZXQgOyBkbworCQlpbnN0YWxsIC1tIDA3NTUgJHByb2cgJHtEfSR7YmluZGlyfS9mYi0kcHJvZworCWRvbmUKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmZ0dy9iZW5jaGZmdF8zLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZmdHcvYmVuY2hmZnRfMy4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ4NTkzODYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZmdHcvYmVuY2hmZnRfMy4xLmJiCkBAIC0wLDAgKzEsMjEgQEAKK1NVTU1BUlkgPSAiRkZUVyBiZW5jaG1hcmtzIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJHUEx2MiIKKworIyBzaW5nbGUgcHJlY2lzaW9uIGZmdHcgaXMgY2FsbGVkIGZmdHdmIAorREVQRU5EUyA9ICJ2aXJ0dWFsL2ZmdHciCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5mZnR3Lm9yZy9iZW5jaGZmdC9iZW5jaGZmdC0ke1BWfS50YXIuZ3oiCisKK0VYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtZm9ydHJhbiAtLWVuYWJsZS1zaW5nbGUgLS1lbmFibGUtc2hhcmVkIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworZG9fY29tcGlsZV9wcmVwZW5kKCkgeworICAgIHNlZCAtaSAtZSAnczphbGwtcmVjdXJzaXZlOiQoUkVDVVJTSVZFX1RBUkdFVFMpOmcnICR7U30vTWFrZWZpbGUKK30KKworU1JDX1VSSVttZDVzdW1dID0gIjkzNTZlNWU5ZGNiM2YxNDgxOTc3MDA5NzIwYTJjY2Y4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjFiNGE1YjVlNDhhZDVlNjFhMjE1ODZiN2I1OWQ1YzBhODg2OTFhOTgxZTczZTJjNmRjNTg2ODE5NzQ2MTc5MWIiCisKK1BOQkxBQ0tMSVNUW2JlbmNoZmZ0XSA/PSAiZG9lcyBub3QgYnVpbGQgd2l0aCBkaXN0cm9sZXNzIHFlbXVhcm0gYXMgcmVwb3J0ZWQgaW4gJ1N0YXRlIG9mIGJpdGJha2Ugd29ybGQnIHRocmVhZCwgbm9ib2R5IHZvbHVudGVlcmVkIHRvIGZpeCB0aGVtIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mZnR3L2ZmdHcuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mZnR3L2ZmdHcuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE1MjJlYTAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZmdHcvZmZ0dy5pbmMKQEAgLTAsMCArMSwyNSBAQAorREVTQ1JJUFRJT04gPSAiRkZUVyIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01OTUzMGJkZjMzNjU5YjI5ZTczZDRhZGI5ZjlmNjU1MiIKKworUFJPVklERVMgPSAidmlydHVhbC9mZnR3IgorCitSUFJPVklERVNfJHtQTn0gKz0gImxpYmZmdHczIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cuZmZ0dy5vcmcvZmZ0dy0ke1BWfS50YXIuZ3oiCisKK1MgPSAiJHtXT1JLRElSfS9mZnR3LSR7UFZ9IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1mb3J0cmFuIC0tZW5hYmxlLXNoYXJlZCAtLWVuYWJsZS10aHJlYWRzIgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICBlY2hvICdBTV9QUk9HX0FTJyA+PiAke1N9L2NvbmZpZ3VyZS5hYyAKK30KKworUEFDS0FHRVMgPSsgImxpYiR7QlBOfSIKK0ZJTEVTX2xpYiR7QlBOfSA9ICIke2xpYmRpcn0vbGliKi5zby4qIgorCisjIHJlbmFtZSBiaW5hcnkgaW4gL2JpbiBhbmQgdXNlIHUtYSB0cG8gY2hvb3NlIGJldHdlZW4gZGlmZmVyZW50IHByZWNpc2lvbiBpbXBsZW1lbnRhdGlvbnM/CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZmdHcvZmZ0d18zLjMuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmZ0dy9mZnR3XzMuMy40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk5MGYwMWUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZmdHcvZmZ0d18zLjMuNC5iYgpAQCAtMCwwICsxLDYgQEAKK3JlcXVpcmUgZmZ0dy5pbmMKKworU1JDX1VSSVttZDVzdW1dID0gIjJlZGFiOGMwNmIyNGZlZWIzYjgyYmJiM2ViZjNlN2IzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjhmMGNkZTkwOTI5YmMwNTU4N2MzMzY4ZDJmMTVjZDA1MzBhNjBiOGE5OTEyYThlMjk3OWE3MmRiZTVhZjA5ODIiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mZnR3L2ZmdHdmXzMuMy40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mZnR3L2ZmdHdmXzMuMy40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRhNjU5ODYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZmdHcvZmZ0d2ZfMy4zLjQuYmIKQEAgLTAsMCArMSwxMSBAQAorcmVxdWlyZSBmZnR3LmluYworCisjIGNvbmZsaWN0cyB3aXRoIGZmdHcgYW5kIGZmdHdsCitFWENMVURFX0ZST01fV09STEQgPSAiMSIKKworRVhUUkFfT0VDT05GICs9ICItLWVuYWJsZS1zaW5nbGUgXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ25lb24nLCAnLS1lbmFibGUtbmVvbicsICcnLCBkKX0gXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMmVkYWI4YzA2YjI0ZmVlYjNiODJiYmIzZWJmM2U3YjMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOGYwY2RlOTA5MjliYzA1NTg3YzMzNjhkMmYxNWNkMDUzMGE2MGI4YTk5MTJhOGUyOTc5YTcyZGJlNWFmMDk4MiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmZ0dy9mZnR3bF8zLjMuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmZ0dy9mZnR3bF8zLjMuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MzJmZjEyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mZnR3L2ZmdHdsXzMuMy40LmJiCkBAIC0wLDAgKzEsOSBAQAorcmVxdWlyZSBmZnR3LmluYworCisjIGNvbmZsaWN0cyB3aXRoIGZmdHcgYW5kIGZmdHdmCitFWENMVURFX0ZST01fV09STEQgPSAiMSIKKworRVhUUkFfT0VDT05GICs9ICItLWVuYWJsZS1sb25nLWRvdWJsZSIKKworU1JDX1VSSVttZDVzdW1dID0gIjJlZGFiOGMwNmIyNGZlZWIzYjgyYmJiM2ViZjNlN2IzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjhmMGNkZTkwOTI5YmMwNTU4N2MzMzY4ZDJmMTVjZDA1MzBhNjBiOGE5OTEyYThlMjk3OWE3MmRiZTVhZjA5ODIiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZsaXRlL2ZsaXRlLWFsc2EtMS4zL2ZsaXRlLTEuMy1hbHNhX3N1cHBvcnQtMS4yLmRpZmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZsaXRlL2ZsaXRlLWFsc2EtMS4zL2ZsaXRlLTEuMy1hbHNhX3N1cHBvcnQtMS4yLmRpZmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjNlNGI3YQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmxpdGUvZmxpdGUtYWxzYS0xLjMvZmxpdGUtMS4zLWFsc2Ffc3VwcG9ydC0xLjIuZGlmZgpAQCAtMCwwICsxLDY2MTUgQEAKK0luZGV4OiBsYW5nL3VzZW5nbGlzaC9NYWtlZmlsZQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGZsaXRlLTEuMy1yZWxlYXNlL2xhbmcvdXNlbmdsaXNoL01ha2VmaWxlCSguLi4vZmxpdGUtMS4zLW9yaWcpCShyZXZpc2lvbiA3KQorKysrIGZsaXRlLTEuMy1yZWxlYXNlL2xhbmcvdXNlbmdsaXNoL01ha2VmaWxlCSguLi4vcmVsZWFzZS0xLjIpCShyZXZpc2lvbiA3KQorQEAgLTM4LDYgKzM4LDcgQEAKKyBESVJOQU1FPWxhbmcvdXNlbmdsaXNoCisgQlVJTERfRElSUyA9IAorIEFMTF9ESVJTPSAKKytpbmNsdWRlICQoVE9QKS9jb25maWcvY29uZmlnCisgSCA9IHVzZW5nbGlzaC5oIHVzX2ludF9hY2NlbnRfY2FydC5oIHVzX2ludF90b25lX2NhcnQuaCB1c19kdXJ6X2NhcnQuaCBcCisgICAgIHVzX2ZmZWF0dXJlcy5oIHVzX3BocmFzaW5nX2NhcnQuaCB1c190ZXh0LmggdXNfZjAuaCB1c19udW1zX2NhcnQuaAorIFNSQ1MgPSB1c19pbnRfYWNjZW50X2NhcnQuYyB1c19pbnRfdG9uZV9jYXJ0LmMgdXNfZjBfbW9kZWwuYyBcCitAQCAtNDUsNyArNDYsMTEgQEAKKyAgICAgICAgdXNfcGhvbmVzZXQuYyB1c19mZmVhdHVyZXMuYyB1c19waHJhc2luZ19jYXJ0LmMgXAorICAgICAgICB1c19ncG9zLmMgdXNfdGV4dC5jIHVzX2V4cGFuZC5jIHVzX3Bvc3RsZXguYyBcCisgICAgICAgIHVzX251bXNfY2FydC5jIHVzX2Fzd2QuYyB1c2VuZ2xpc2guYyAKKy1PQkpTID0gJChTUkNTOi5jPS5vKQorK2lmZGVmIFNIRkxBR1MKKytPQkpTIDo9ICQoU1JDUzouYz0ub3MpCisrZWxzZQorK09CSlMgOj0gJChTUkNTOi5jPS5vKQorK2VuZGlmCisgU0NNPQorIEZJTEVTID0gTWFrZWZpbGUgJChTQ00pICQoU1JDUykgJChIKQorIExJQk5BTUUgPSBmbGl0ZV91c2VuZ2xpc2gKK0luZGV4OiBsYW5nL2NtdV91c19rYWwvTWFrZWZpbGUKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBmbGl0ZS0xLjMtcmVsZWFzZS9sYW5nL2NtdV91c19rYWwvTWFrZWZpbGUJKC4uLi9mbGl0ZS0xLjMtb3JpZykJKHJldmlzaW9uIDcpCisrKysgZmxpdGUtMS4zLXJlbGVhc2UvbGFuZy9jbXVfdXNfa2FsL01ha2VmaWxlCSguLi4vcmVsZWFzZS0xLjIpCShyZXZpc2lvbiA3KQorQEAgLTQzLDcgKzQzLDEyIEBACisgICAgICAgIGNtdV91c19rYWxfbHBjLmMgXAorICAgICAgICBjbXVfdXNfa2FsX3Jlcy5jIFwKKyAgICAgICAgY211X3VzX2thbF9yZXNpZHguYworLU9CSlMgPSAkKFNSQ1M6LmM9Lm8pCisraW5jbHVkZSAkKFRPUCkvY29uZmlnL2NvbmZpZworK2lmZGVmIFNIRkxBR1MKKytPQkpTIDo9ICQoU1JDUzouYz0ub3MpCisrZWxzZQorK09CSlMgOj0gJChTUkNTOi5jPS5vKQorK2VuZGlmCisgU0NNPQorIEZJTEVTID0gTWFrZWZpbGUgJChTQ00pICQoU1JDUykgJChIKQorIExJQk5BTUUgPSBmbGl0ZV9jbXVfdXNfa2FsCitJbmRleDogbGFuZy9jbXVfdXNfa2FsMTYvTWFrZWZpbGUKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBmbGl0ZS0xLjMtcmVsZWFzZS9sYW5nL2NtdV91c19rYWwxNi9NYWtlZmlsZQkoLi4uL2ZsaXRlLTEuMy1vcmlnKQkocmV2aXNpb24gNykKKysrKyBmbGl0ZS0xLjMtcmVsZWFzZS9sYW5nL2NtdV91c19rYWwxNi9NYWtlZmlsZQkoLi4uL3JlbGVhc2UtMS4yKQkocmV2aXNpb24gNykKK0BAIC00NCw3ICs0NCwxMiBAQAorICAgICAgICBjbXVfdXNfa2FsMTZfbHBjLmMgXAorICAgICAgICBjbXVfdXNfa2FsMTZfcmVzLmMgXAorICAgICAgICBjbXVfdXNfa2FsMTZfcmVzaWR4LmMKKy1PQkpTID0gJChTUkNTOi5jPS5vKQorK2luY2x1ZGUgJChUT1ApL2NvbmZpZy9jb25maWcKKytpZmRlZiBTSEZMQUdTCisrT0JKUyA6PSAkKFNSQ1M6LmM9Lm9zKQorK2Vsc2UKKytPQkpTIDo9ICQoU1JDUzouYz0ubykKKytlbmRpZgorIFNDTT0KKyBGSUxFUyA9IE1ha2VmaWxlICQoU0NNKSAkKFNSQ1MpICQoSCkKKyBMSUJOQU1FID0gZmxpdGVfY211X3VzX2thbDE2CitJbmRleDogbGFuZy9jbXVfdGltZV9hd2IvTWFrZWZpbGUKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBmbGl0ZS0xLjMtcmVsZWFzZS9sYW5nL2NtdV90aW1lX2F3Yi9NYWtlZmlsZQkoLi4uL2ZsaXRlLTEuMy1vcmlnKQkocmV2aXNpb24gNykKKysrKyBmbGl0ZS0xLjMtcmVsZWFzZS9sYW5nL2NtdV90aW1lX2F3Yi9NYWtlZmlsZQkoLi4uL3JlbGVhc2UtMS4yKQkocmV2aXNpb24gNykKK0BAIC00NSw3ICs0NSwxMiBAQAorIAljbXVfdGltZV9hd2JfbWNlcC5jIFwKKyAJY211X3RpbWVfYXdiX2xwYy5jIFwKKyAJY211X3RpbWVfYXdiX2xleF9lbnRyeS5jCistT0JKUyA9ICQoU1JDUzouYz0ubykKKytpbmNsdWRlICQoVE9QKS9jb25maWcvY29uZmlnCisraWZkZWYgU0hGTEFHUworK09CSlMgOj0gJChTUkNTOi5jPS5vcykKKytlbHNlCisrT0JKUyA6PSAkKFNSQ1M6LmM9Lm8pCisrZW5kaWYKKyBTQ009CisgRklMRVMgPSBNYWtlZmlsZSAkKFNDTSkgJChTUkNTKSAkKEgpCisgTElCTkFNRSA9IGZsaXRlX2NtdV90aW1lX2F3YgorSW5kZXg6IGxhbmcvY211bGV4L01ha2VmaWxlCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZmxpdGUtMS4zLXJlbGVhc2UvbGFuZy9jbXVsZXgvTWFrZWZpbGUJKC4uLi9mbGl0ZS0xLjMtb3JpZykJKHJldmlzaW9uIDcpCisrKysgZmxpdGUtMS4zLXJlbGVhc2UvbGFuZy9jbXVsZXgvTWFrZWZpbGUJKC4uLi9yZWxlYXNlLTEuMikJKHJldmlzaW9uIDcpCitAQCAtMzgsMTMgKzM4LDIwIEBACisgRElSTkFNRT1sYW5nL2NtdWxleAorIEJVSUxEX0RJUlMgPSAKKyBBTExfRElSUz0gCisrCisgSCA9IGNtdV9sdHNfbW9kZWwuaCBjbXVsZXguaAorIFNSQ1MgPSBjbXVfbHRzX3J1bGVzLmMgY211X2x0c19tb2RlbC5jIFwKKyAgICAgICAgY211X2xleC5jIGNtdV9sZXhfZW50cmllcy5jIGNtdV9sZXhfZGF0YS5jCisgTEVYX0RBVEFfSU5DTFVERVMgPSBjbXVfbGV4X2RhdGFfcmF3LmMgY211X2xleF9udW1fYnl0ZXMuYyBcCisgICAgICBjbXVfbGV4X3Bob25lc19odWZmX3RhYmxlLmMgY211X2xleF9lbnRyaWVzX2h1ZmZfdGFibGUuYworIAorLU9CSlMgPSAkKFNSQ1M6LmM9Lm8pCisraW5jbHVkZSAkKFRPUCkvY29uZmlnL2NvbmZpZworK2lmZGVmIFNIRkxBR1MKKytPQkpTIDo9ICQoU1JDUzouYz0ub3MpCisrZWxzZQorK09CSlMgOj0gJChTUkNTOi5jPS5vKQorK2VuZGlmCisrCisgU0NSSVBUUz1tYWtlX2NtdWxleCAgCisgCisgU0NNPQorSW5kZXg6IGNvbmZpZ3VyZQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGZsaXRlLTEuMy1yZWxlYXNlL2NvbmZpZ3VyZQkoLi4uL2ZsaXRlLTEuMy1vcmlnKQkocmV2aXNpb24gNykKKysrKyBmbGl0ZS0xLjMtcmVsZWFzZS9jb25maWd1cmUJKC4uLi9yZWxlYXNlLTEuMikJKHJldmlzaW9uIDcpCitAQCAtMSwzMjQgKzEsMzggQEAKKyAjISAvYmluL3NoCisrCisgIyBHdWVzcyB2YWx1ZXMgZm9yIHN5c3RlbS1kZXBlbmRlbnQgdmFyaWFibGVzIGFuZCBjcmVhdGUgTWFrZWZpbGVzLgorLSMgR2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjU3LgorKyMgR2VuZXJhdGVkIGF1dG9tYXRpY2FsbHkgdXNpbmcgYXV0b2NvbmYgdmVyc2lvbiAyLjEzIAorKyMgQ29weXJpZ2h0IChDKSAxOTkyLCA5MywgOTQsIDk1LCA5NiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyAjCistIyBDb3B5cmlnaHQgMTk5MiwgMTk5MywgMTk5NCwgMTk5NSwgMTk5NiwgMTk5OCwgMTk5OSwgMjAwMCwgMjAwMSwgMjAwMgorLSMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisgIyBUaGlzIGNvbmZpZ3VyZSBzY3JpcHQgaXMgZnJlZSBzb2Z0d2FyZTsgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbgorICMgZ2l2ZXMgdW5saW1pdGVkIHBlcm1pc3Npb24gdG8gY29weSwgZGlzdHJpYnV0ZSBhbmQgbW9kaWZ5IGl0LgorLSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIworLSMjIE00c2ggSW5pdGlhbGl6YXRpb24uICAjIworLSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIworIAorLSMgQmUgQm91cm5lIGNvbXBhdGlibGUKKy1pZiB0ZXN0IC1uICIke1pTSF9WRVJTSU9OK3NldH0iICYmIChlbXVsYXRlIHNoKSA+L2Rldi9udWxsIDI+JjE7IHRoZW4KKy0gIGVtdWxhdGUgc2gKKy0gIE5VTExDTUQ9OgorLSAgIyBac2ggMy54IGFuZCA0LnggcGVyZm9ybXMgd29yZCBzcGxpdHRpbmcgb24gJHsxKyIkQCJ9LCB3aGljaAorLSAgIyBpcyBjb250cmFyeSB0byBvdXIgdXNhZ2UuICBEaXNhYmxlIHRoaXMgZmVhdHVyZS4KKy0gIGFsaWFzIC1nICckezErIiRAIn0nPSciJEAiJworLWVsaWYgdGVzdCAtbiAiJHtCQVNIX1ZFUlNJT04rc2V0fSIgJiYgKHNldCAtbyBwb3NpeCkgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCistICBzZXQgLW8gcG9zaXgKKy1maQorLQorLSMgU3VwcG9ydCB1bnNldCB3aGVuIHBvc3NpYmxlLgorLWlmIChGT089Rk9POyB1bnNldCBGT08pID4vZGV2L251bGwgMj4mMTsgdGhlbgorLSAgYXNfdW5zZXQ9dW5zZXQKKy1lbHNlCistICBhc191bnNldD1mYWxzZQorLWZpCistCistCistIyBXb3JrIGFyb3VuZCBidWdzIGluIHByZS0zLjAgVVdJTiBrc2guCistJGFzX3Vuc2V0IEVOViBNQUlMIE1BSUxQQVRICistUFMxPSckICcKKy1QUzI9Jz4gJworLVBTND0nKyAnCistCistIyBOTFMgbnVpc2FuY2VzLgorLWZvciBhc192YXIgaW4gXAorLSAgTEFORyBMQU5HVUFHRSBMQ19BRERSRVNTIExDX0FMTCBMQ19DT0xMQVRFIExDX0NUWVBFIExDX0lERU5USUZJQ0FUSU9OIFwKKy0gIExDX01FQVNVUkVNRU5UIExDX01FU1NBR0VTIExDX01PTkVUQVJZIExDX05BTUUgTENfTlVNRVJJQyBMQ19QQVBFUiBcCistICBMQ19URUxFUEhPTkUgTENfVElNRQorLWRvCistICBpZiAoc2V0ICt4OyB0ZXN0IC1uICJgKGV2YWwgJGFzX3Zhcj1DOyBleHBvcnQgJGFzX3ZhcikgMj4mMWAiKTsgdGhlbgorLSAgICBldmFsICRhc192YXI9QzsgZXhwb3J0ICRhc192YXIKKy0gIGVsc2UKKy0gICAgJGFzX3Vuc2V0ICRhc192YXIKKy0gIGZpCistZG9uZQorLQorLSMgUmVxdWlyZWQgdG8gdXNlIGJhc2VuYW1lLgorLWlmIGV4cHIgYSA6ICdcKGFcKScgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCistICBhc19leHByPWV4cHIKKy1lbHNlCistICBhc19leHByPWZhbHNlCistZmkKKy0KKy1pZiAoYmFzZW5hbWUgLykgPi9kZXYvbnVsbCAyPiYxICYmIHRlc3QgIlhgYmFzZW5hbWUgLyAyPiYxYCIgPSAiWC8iOyB0aGVuCistICBhc19iYXNlbmFtZT1iYXNlbmFtZQorLWVsc2UKKy0gIGFzX2Jhc2VuYW1lPWZhbHNlCistZmkKKy0KKy0KKy0jIE5hbWUgb2YgdGhlIGV4ZWN1dGFibGUuCistYXNfbWU9YCRhc19iYXNlbmFtZSAiJDAiIHx8CistJGFzX2V4cHIgWC8iJDAiIDogJy4qL1woW14vXVteL10qXCkvKiQnIFx8IFwKKy0JIFgiJDAiIDogJ1hcKC8vXCkkJyBcfCBcCistCSBYIiQwIiA6ICdYXCgvXCkkJyBcfCBcCistCSAuICAgICA6ICdcKC5cKScgMj4vZGV2L251bGwgfHwKKy1lY2hvIFgvIiQwIiB8CistICAgIHNlZCAnL14uKlwvXChbXi9dW14vXSpcKVwvKiQveyBzLy9cMS87IHE7IH0KKy0gIAkgIC9eWFwvXChcL1wvXCkkL3sgcy8vXDEvOyBxOyB9CistICAJICAvXlhcL1woXC9cKS4qL3sgcy8vXDEvOyBxOyB9CistICAJICBzLy4qLy4vOyBxJ2AKKy0KKy0KKy0jIFBBVEggbmVlZHMgQ1IsIGFuZCBMSU5FTk8gbmVlZHMgQ1IgYW5kIFBBVEguCistIyBBdm9pZCBkZXBlbmRpbmcgdXBvbiBDaGFyYWN0ZXIgUmFuZ2VzLgorLWFzX2NyX2xldHRlcnM9J2FiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6JworLWFzX2NyX0xFVFRFUlM9J0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaJworLWFzX2NyX0xldHRlcnM9JGFzX2NyX2xldHRlcnMkYXNfY3JfTEVUVEVSUworLWFzX2NyX2RpZ2l0cz0nMDEyMzQ1Njc4OScKKy1hc19jcl9hbG51bT0kYXNfY3JfTGV0dGVycyRhc19jcl9kaWdpdHMKKy0KKy0jIFRoZSB1c2VyIGlzIGFsd2F5cyByaWdodC4KKy1pZiB0ZXN0ICIke1BBVEhfU0VQQVJBVE9SK3NldH0iICE9IHNldDsgdGhlbgorLSAgZWNobyAiIyEgL2Jpbi9zaCIgPmNvbmYkJC5zaAorLSAgZWNobyAgImV4aXQgMCIgICA+PmNvbmYkJC5zaAorLSAgY2htb2QgK3ggY29uZiQkLnNoCistICBpZiAoUEFUSD0iL25vbmV4aXN0ZW50Oy4iOyBjb25mJCQuc2gpID4vZGV2L251bGwgMj4mMTsgdGhlbgorLSAgICBQQVRIX1NFUEFSQVRPUj0nOycKKy0gIGVsc2UKKy0gICAgUEFUSF9TRVBBUkFUT1I9OgorLSAgZmkKKy0gIHJtIC1mIGNvbmYkJC5zaAorLWZpCistCistCistICBhc19saW5lbm9fMT0kTElORU5PCistICBhc19saW5lbm9fMj0kTElORU5PCistICBhc19saW5lbm9fMz1gKGV4cHIgJGFzX2xpbmVub18xICsgMSkgMj4vZGV2L251bGxgCistICB0ZXN0ICJ4JGFzX2xpbmVub18xIiAhPSAieCRhc19saW5lbm9fMiIgJiYKKy0gIHRlc3QgIngkYXNfbGluZW5vXzMiICA9ICJ4JGFzX2xpbmVub18yIiAgfHwgeworLSAgIyBGaW5kIHdobyB3ZSBhcmUuICBMb29rIGluIHRoZSBwYXRoIGlmIHdlIGNvbnRhaW4gbm8gcGF0aCBhdCBhbGwKKy0gICMgcmVsYXRpdmUgb3Igbm90LgorLSAgY2FzZSAkMCBpbgorLSAgICAqW1xcL10qICkgYXNfbXlzZWxmPSQwIDs7CistICAgICopIGFzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKKy1mb3IgYXNfZGlyIGluICRQQVRICistZG8KKy0gIElGUz0kYXNfc2F2ZV9JRlMKKy0gIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCistICB0ZXN0IC1yICIkYXNfZGlyLyQwIiAmJiBhc19teXNlbGY9JGFzX2Rpci8kMCAmJiBicmVhaworLWRvbmUKKy0KKy0gICAgICAgOzsKKy0gIGVzYWMKKy0gICMgV2UgZGlkIG5vdCBmaW5kIG91cnNlbHZlcywgbW9zdCBwcm9iYWJseSB3ZSB3ZXJlIHJ1biBhcyBgc2ggQ09NTUFORCcKKy0gICMgaW4gd2hpY2ggY2FzZSB3ZSBhcmUgbm90IHRvIGJlIGZvdW5kIGluIHRoZSBwYXRoLgorLSAgaWYgdGVzdCAieCRhc19teXNlbGYiID0geDsgdGhlbgorLSAgICBhc19teXNlbGY9JDAKKy0gIGZpCistICBpZiB0ZXN0ICEgLWYgIiRhc19teXNlbGYiOyB0aGVuCistICAgIHsgZWNobyAiJGFzX21lOiBlcnJvcjogY2Fubm90IGZpbmQgbXlzZWxmOyByZXJ1biB3aXRoIGFuIGFic29sdXRlIHBhdGgiID4mMgorLSAgIHsgKGV4aXQgMSk7IGV4aXQgMTsgfTsgfQorLSAgZmkKKy0gIGNhc2UgJENPTkZJR19TSEVMTCBpbgorLSAgJycpCistICAgIGFzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKKy1mb3IgYXNfZGlyIGluIC9iaW4kUEFUSF9TRVBBUkFUT1IvdXNyL2JpbiRQQVRIX1NFUEFSQVRPUiRQQVRICistZG8KKy0gIElGUz0kYXNfc2F2ZV9JRlMKKy0gIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCistICBmb3IgYXNfYmFzZSBpbiBzaCBiYXNoIGtzaCBzaDU7IGRvCistCSBjYXNlICRhc19kaXIgaW4KKy0JIC8qKQorLQkgICBpZiAoIiRhc19kaXIvJGFzX2Jhc2UiIC1jICcKKy0gIGFzX2xpbmVub18xPSRMSU5FTk8KKy0gIGFzX2xpbmVub18yPSRMSU5FTk8KKy0gIGFzX2xpbmVub18zPWAoZXhwciAkYXNfbGluZW5vXzEgKyAxKSAyPi9kZXYvbnVsbGAKKy0gIHRlc3QgIngkYXNfbGluZW5vXzEiICE9ICJ4JGFzX2xpbmVub18yIiAmJgorLSAgdGVzdCAieCRhc19saW5lbm9fMyIgID0gIngkYXNfbGluZW5vXzIiICcpIDI+L2Rldi9udWxsOyB0aGVuCistCSAgICAgJGFzX3Vuc2V0IEJBU0hfRU5WIHx8IHRlc3QgIiR7QkFTSF9FTlYrc2V0fSIgIT0gc2V0IHx8IHsgQkFTSF9FTlY9OyBleHBvcnQgQkFTSF9FTlY7IH0KKy0JICAgICAkYXNfdW5zZXQgRU5WIHx8IHRlc3QgIiR7RU5WK3NldH0iICE9IHNldCB8fCB7IEVOVj07IGV4cG9ydCBFTlY7IH0KKy0JICAgICBDT05GSUdfU0hFTEw9JGFzX2Rpci8kYXNfYmFzZQorLQkgICAgIGV4cG9ydCBDT05GSUdfU0hFTEwKKy0JICAgICBleGVjICIkQ09ORklHX1NIRUxMIiAiJDAiICR7MSsiJEAifQorLQkgICBmaTs7CistCSBlc2FjCistICAgICAgIGRvbmUKKy1kb25lCistOzsKKy0gIGVzYWMKKy0KKy0gICMgQ3JlYXRlICRhc19tZS5saW5lbm8gYXMgYSBjb3B5IG9mICRhc19teXNlbGYsIGJ1dCB3aXRoICRMSU5FTk8KKy0gICMgdW5pZm9ybWx5IHJlcGxhY2VkIGJ5IHRoZSBsaW5lIG51bWJlci4gIFRoZSBmaXJzdCAnc2VkJyBpbnNlcnRzIGEKKy0gICMgbGluZS1udW1iZXIgbGluZSBiZWZvcmUgZWFjaCBsaW5lOyB0aGUgc2Vjb25kICdzZWQnIGRvZXMgdGhlIHJlYWwKKy0gICMgd29yay4gIFRoZSBzZWNvbmQgc2NyaXB0IHVzZXMgJ04nIHRvIHBhaXIgZWFjaCBsaW5lLW51bWJlciBsaW5lCistICAjIHdpdGggdGhlIG51bWJlcmVkIGxpbmUsIGFuZCBhcHBlbmRzIHRyYWlsaW5nICctJyBkdXJpbmcKKy0gICMgc3Vic3RpdHV0aW9uIHNvIHRoYXQgJExJTkVOTyBpcyBub3QgYSBzcGVjaWFsIGNhc2UgYXQgbGluZSBlbmQuCistICAjIChSYWphIFIgSGFyaW5hdGggc3VnZ2VzdGVkIHNlZCAnPScsIGFuZCBQYXVsIEVnZ2VydCB3cm90ZSB0aGUKKy0gICMgc2Vjb25kICdzZWQnIHNjcmlwdC4gIEJsYW1lIExlZSBFLiBNY01haG9uIGZvciBzZWQncyBzeW50YXguICA6LSkKKy0gIHNlZCAnPScgPCRhc19teXNlbGYgfAorLSAgICBzZWQgJworLSAgICAgIE4KKy0gICAgICBzLCQsLSwKKy0gICAgICA6IGxvb3AKKy0gICAgICBzLF5cKFsnJGFzX2NyX2RpZ2l0cyddKlwpXCguKlwpWyRdTElORU5PXChbXickYXNfY3JfYWxudW0nX11cKSxcMVwyXDFcMywKKy0gICAgICB0IGxvb3AKKy0gICAgICBzLC0kLCwKKy0gICAgICBzLF5bJyRhc19jcl9kaWdpdHMnXSpcbiwsCistICAgICcgPiRhc19tZS5saW5lbm8gJiYKKy0gIGNobW9kICt4ICRhc19tZS5saW5lbm8gfHwKKy0gICAgeyBlY2hvICIkYXNfbWU6IGVycm9yOiBjYW5ub3QgY3JlYXRlICRhc19tZS5saW5lbm87IHJlcnVuIHdpdGggYSBQT1NJWCBzaGVsbCIgPiYyCistICAgeyAoZXhpdCAxKTsgZXhpdCAxOyB9OyB9CistCistICAjIERvbid0IHRyeSB0byBleGVjIGFzIGl0IGNoYW5nZXMgJFswXSwgY2F1c2luZyBhbGwgc29ydCBvZiBwcm9ibGVtcworLSAgIyAodGhlIGRpcm5hbWUgb2YgJFswXSBpcyBub3QgdGhlIHBsYWNlIHdoZXJlIHdlIG1pZ2h0IGZpbmQgdGhlCistICAjIG9yaWdpbmFsIGFuZCBzbyBvbi4gIEF1dG9jb25mIGlzIGVzcGVjaWFsbHkgc2Vuc2libGUgdG8gdGhpcykuCistICAuIC4vJGFzX21lLmxpbmVubworLSAgIyBFeGl0IHN0YXR1cyBpcyB0aGF0IG9mIHRoZSBsYXN0IGNvbW1hbmQuCistICBleGl0CistfQorLQorLQorLWNhc2UgYGVjaG8gInRlc3RpbmdcYyI7IGVjaG8gMSwyLDNgLGBlY2hvIC1uIHRlc3Rpbmc7IGVjaG8gMSwyLDNgIGluCistICAqYyosLW4qKSBFQ0hPX049IEVDSE9fQz0nCistJyBFQ0hPX1Q9JwknIDs7CistICAqYyosKiAgKSBFQ0hPX049LW4gRUNIT19DPSBFQ0hPX1Q9IDs7CistICAqKSAgICAgICBFQ0hPX049IEVDSE9fQz0nXGMnIEVDSE9fVD0gOzsKKy1lc2FjCistCistaWYgZXhwciBhIDogJ1woYVwpJyA+L2Rldi9udWxsIDI+JjE7IHRoZW4KKy0gIGFzX2V4cHI9ZXhwcgorLWVsc2UKKy0gIGFzX2V4cHI9ZmFsc2UKKy1maQorLQorLXJtIC1mIGNvbmYkJCBjb25mJCQuZXhlIGNvbmYkJC5maWxlCistZWNobyA+Y29uZiQkLmZpbGUKKy1pZiBsbiAtcyBjb25mJCQuZmlsZSBjb25mJCQgMj4vZGV2L251bGw7IHRoZW4KKy0gICMgV2UgY291bGQganVzdCBjaGVjayBmb3IgREpHUFA7IGJ1dCB0aGlzIHRlc3QgYSkgd29ya3MgYikgaXMgbW9yZSBnZW5lcmljCistICAjIGFuZCBjKSB3aWxsIHJlbWFpbiB2YWxpZCBvbmNlIERKR1BQIHN1cHBvcnRzIHN5bWxpbmtzIChESkdQUCAyLjA0KS4KKy0gIGlmIHRlc3QgLWYgY29uZiQkLmV4ZTsgdGhlbgorLSAgICAjIERvbid0IHVzZSBsbiBhdCBhbGw7IHdlIGRvbid0IGhhdmUgYW55IGxpbmtzCistICAgIGFzX2xuX3M9J2NwIC1wJworLSAgZWxzZQorLSAgICBhc19sbl9zPSdsbiAtcycKKy0gIGZpCistZWxpZiBsbiBjb25mJCQuZmlsZSBjb25mJCQgMj4vZGV2L251bGw7IHRoZW4KKy0gIGFzX2xuX3M9bG4KKy1lbHNlCistICBhc19sbl9zPSdjcCAtcCcKKy1maQorLXJtIC1mIGNvbmYkJCBjb25mJCQuZXhlIGNvbmYkJC5maWxlCistCistaWYgbWtkaXIgLXAgLiAyPi9kZXYvbnVsbDsgdGhlbgorLSAgYXNfbWtkaXJfcD06CistZWxzZQorLSAgYXNfbWtkaXJfcD1mYWxzZQorLWZpCistCistYXNfZXhlY3V0YWJsZV9wPSJ0ZXN0IC1mIgorLQorLSMgU2VkIGV4cHJlc3Npb24gdG8gbWFwIGEgc3RyaW5nIG9udG8gYSB2YWxpZCBDUFAgbmFtZS4KKy1hc190cl9jcHA9InNlZCB5JSokYXNfY3JfbGV0dGVycyVQJGFzX2NyX0xFVFRFUlMlO3MlW15fJGFzX2NyX2FsbnVtXSVfJWciCistCistIyBTZWQgZXhwcmVzc2lvbiB0byBtYXAgYSBzdHJpbmcgb250byBhIHZhbGlkIHZhcmlhYmxlIG5hbWUuCistYXNfdHJfc2g9InNlZCB5JSorJXBwJTtzJVteXyRhc19jcl9hbG51bV0lXyVnIgorLQorLQorLSMgSUZTCistIyBXZSBuZWVkIHNwYWNlLCB0YWIgYW5kIG5ldyBsaW5lLCBpbiBwcmVjaXNlbHkgdGhhdCBvcmRlci4KKy1hc19ubD0nCistJworLUlGUz0iIAkkYXNfbmwiCistCistIyBDRFBBVEguCistJGFzX3Vuc2V0IENEUEFUSAorLQorLQorLSMgTmFtZSBvZiB0aGUgaG9zdC4KKy0jIGhvc3RuYW1lIG9uIHNvbWUgc3lzdGVtcyAoU1ZSMy4yLCBMaW51eCkgcmV0dXJucyBhIGJvZ3VzIGV4aXQgc3RhdHVzLAorLSMgc28gdW5hbWUgZ2V0cyBydW4gdG9vLgorLWFjX2hvc3RuYW1lPWAoaG9zdG5hbWUgfHwgdW5hbWUgLW4pIDI+L2Rldi9udWxsIHwgc2VkIDFxYAorLQorLWV4ZWMgNj4mMQorLQorLSMKKy0jIEluaXRpYWxpemF0aW9ucy4KKy0jCisrIyBEZWZhdWx0czoKKythY19oZWxwPQorIGFjX2RlZmF1bHRfcHJlZml4PS91c3IvbG9jYWwKKy1hY19jb25maWdfbGlib2JqX2Rpcj0uCistY3Jvc3NfY29tcGlsaW5nPW5vCistc3ViZGlycz0KKy1NRkxBR1M9CistTUFLRUZMQUdTPQorLVNIRUxMPSR7Q09ORklHX1NIRUxMLS9iaW4vc2h9CisrIyBBbnkgYWRkaXRpb25zIGZyb20gY29uZmlndXJlLmluOgorK2FjX2hlbHA9IiRhY19oZWxwCisrICAtLWRpc2FibGUtc2hhcmVkICAgICB3aXRob3V0IHNoYXJlZCBsaWJyYXJ5IHN1cHBvcnQiCisrYWNfaGVscD0iJGFjX2hlbHAKKysgIC0tZGlzYWJsZS1zb2NrZXRzICAgICB3aXRob3V0IHNvY2tldCBzdXBwb3J0IgorK2FjX2hlbHA9IiRhY19oZWxwCisrICAtLXdpdGgtYXVkaW8gICAgICAgICAgd2l0aCBzcGVjaWZpYyBhdWRpbyBzdXBwb3J0IChub25lIGxpbnV4IGZyZWVic2QgZXRjKSAiCisrYWNfaGVscD0iJGFjX2hlbHAKKysgIC0td2l0aC1sYW5nICAgICAgICAgICB3aXRoIGxhbmd1YWdlICIKKythY19oZWxwPSIkYWNfaGVscAorKyAgLS13aXRoLXZveCAgICAgICAgICAgIHdpdGggdm94ICIKKythY19oZWxwPSIkYWNfaGVscAorKyAgLS13aXRoLWxleCAgICAgICAgICAgIHdpdGggbGV4aWNvbiAiCisgCistIyBNYXhpbXVtIG51bWJlciBvZiBsaW5lcyB0byBwdXQgaW4gYSBzaGVsbCBoZXJlIGRvY3VtZW50LgorLSMgVGhpcyB2YXJpYWJsZSBzZWVtcyBvYnNvbGV0ZS4gIEl0IHNob3VsZCBwcm9iYWJseSBiZSByZW1vdmVkLCBhbmQKKy0jIG9ubHkgYWNfbWF4X3NlZF9saW5lcyBzaG91bGQgYmUgdXNlZC4KKy06ICR7YWNfbWF4X2hlcmVfbGluZXM9Mzh9CistCistIyBJZGVudGl0eSBvZiB0aGlzIHBhY2thZ2UuCistUEFDS0FHRV9OQU1FPQorLVBBQ0tBR0VfVEFSTkFNRT0KKy1QQUNLQUdFX1ZFUlNJT049CistUEFDS0FHRV9TVFJJTkc9CistUEFDS0FHRV9CVUdSRVBPUlQ9CistCistYWNfdW5pcXVlX2ZpbGU9ImluY2x1ZGUvZmxpdGUuaCIKKy0jIEZhY3RvcmluZyBkZWZhdWx0IGhlYWRlcnMgZm9yIG1vc3QgdGVzdHMuCistYWNfaW5jbHVkZXNfZGVmYXVsdD0iXAorLSNpbmNsdWRlIDxzdGRpby5oPgorLSNpZiBIQVZFX1NZU19UWVBFU19ICistIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKy0jZW5kaWYKKy0jaWYgSEFWRV9TWVNfU1RBVF9ICistIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgorLSNlbmRpZgorLSNpZiBTVERDX0hFQURFUlMKKy0jIGluY2x1ZGUgPHN0ZGxpYi5oPgorLSMgaW5jbHVkZSA8c3RkZGVmLmg+CistI2Vsc2UKKy0jIGlmIEhBVkVfU1RETElCX0gKKy0jICBpbmNsdWRlIDxzdGRsaWIuaD4KKy0jIGVuZGlmCistI2VuZGlmCistI2lmIEhBVkVfU1RSSU5HX0gKKy0jIGlmICFTVERDX0hFQURFUlMgJiYgSEFWRV9NRU1PUllfSAorLSMgIGluY2x1ZGUgPG1lbW9yeS5oPgorLSMgZW5kaWYKKy0jIGluY2x1ZGUgPHN0cmluZy5oPgorLSNlbmRpZgorLSNpZiBIQVZFX1NUUklOR1NfSAorLSMgaW5jbHVkZSA8c3RyaW5ncy5oPgorLSNlbmRpZgorLSNpZiBIQVZFX0lOVFRZUEVTX0gKKy0jIGluY2x1ZGUgPGludHR5cGVzLmg+CistI2Vsc2UKKy0jIGlmIEhBVkVfU1RESU5UX0gKKy0jICBpbmNsdWRlIDxzdGRpbnQuaD4KKy0jIGVuZGlmCistI2VuZGlmCistI2lmIEhBVkVfVU5JU1REX0gKKy0jIGluY2x1ZGUgPHVuaXN0ZC5oPgorLSNlbmRpZiIKKy0KKy1hY19zdWJzdF92YXJzPSdTSEVMTCBQQVRIX1NFUEFSQVRPUiBQQUNLQUdFX05BTUUgUEFDS0FHRV9UQVJOQU1FIFBBQ0tBR0VfVkVSU0lPTiBQQUNLQUdFX1NUUklORyBQQUNLQUdFX0JVR1JFUE9SVCBleGVjX3ByZWZpeCBwcmVmaXggcHJvZ3JhbV90cmFuc2Zvcm1fbmFtZSBiaW5kaXIgc2JpbmRpciBsaWJleGVjZGlyIGRhdGFkaXIgc3lzY29uZmRpciBzaGFyZWRzdGF0ZWRpciBsb2NhbHN0YXRlZGlyIGxpYmRpciBpbmNsdWRlZGlyIG9sZGluY2x1ZGVkaXIgaW5mb2RpciBtYW5kaXIgYnVpbGRfYWxpYXMgaG9zdF9hbGlhcyB0YXJnZXRfYWxpYXMgREVGUyBFQ0hPX0MgRUNIT19OIEVDSE9fVCBMSUJTIGJ1aWxkIGJ1aWxkX2NwdSBidWlsZF92ZW5kb3IgYnVpbGRfb3MgaG9zdCBob3N0X2NwdSBob3N0X3ZlbmRvciBob3N0X29zIHRhcmdldCB0YXJnZXRfY3B1IHRhcmdldF92ZW5kb3IgdGFyZ2V0X29zIENDIENGTEFHUyBMREZMQUdTIENQUEZMQUdTIGFjX2N0X0NDIEVYRUVYVCBPQkpFWFQgUkFOTElCIGFjX2N0X1JBTkxJQiBJTlNUQUxMX1BST0dSQU0gSU5TVEFMTF9TQ1JJUFQgSU5TVEFMTF9EQVRBIEFSIGFjX2N0X0FSIFRBUkdFVF9PUyBUQVJHRVRfQ1BVIE02OEtDQyBMRVhERUZTIFZPWERFRlMgSE9TVF9PUyBIT1NUX0NQVSBPVEhFUkxJQlMgU0hGTEFHUyBNTUFQVFlQRSBTVERJT1RZUEUgQ1BQIEVHUkVQIEFVRElPRFJJVkVSIEFVRElPREVGUyBBVURJT0xJQlMgRkxfTEFORyBGTF9WT1ggRkxfTEVYIExJQk9CSlMgTFRMSUJPQkpTJworLWFjX3N1YnN0X2ZpbGVzPScnCistCisgIyBJbml0aWFsaXplIHNvbWUgdmFyaWFibGVzIHNldCBieSBvcHRpb25zLgorLWFjX2luaXRfaGVscD0KKy1hY19pbml0X3ZlcnNpb249ZmFsc2UKKyAjIFRoZSB2YXJpYWJsZXMgaGF2ZSB0aGUgc2FtZSBuYW1lcyBhcyB0aGUgb3B0aW9ucywgd2l0aAorICMgZGFzaGVzIGNoYW5nZWQgdG8gdW5kZXJsaW5lcy4KKy1jYWNoZV9maWxlPS9kZXYvbnVsbAorK2J1aWxkPU5PTkUKKytjYWNoZV9maWxlPS4vY29uZmlnLmNhY2hlCisgZXhlY19wcmVmaXg9Tk9ORQorK2hvc3Q9Tk9ORQorIG5vX2NyZWF0ZT0KKytub25vcHQ9Tk9ORQorIG5vX3JlY3Vyc2lvbj0KKyBwcmVmaXg9Tk9ORQorIHByb2dyYW1fcHJlZml4PU5PTkUKK0BAIC0zMjcsMTUgKzQxLDEwIEBACisgc2lsZW50PQorIHNpdGU9Cisgc3JjZGlyPQorK3RhcmdldD1OT05FCisgdmVyYm9zZT0KKyB4X2luY2x1ZGVzPU5PTkUKKyB4X2xpYnJhcmllcz1OT05FCistCistIyBJbnN0YWxsYXRpb24gZGlyZWN0b3J5IG9wdGlvbnMuCistIyBUaGVzZSBhcmUgbGVmdCB1bmV4cGFuZGVkIHNvIHVzZXJzIGNhbiAibWFrZSBpbnN0YWxsIGV4ZWNfcHJlZml4PS9mb28iCistIyBhbmQgYWxsIHRoZSB2YXJpYWJsZXMgdGhhdCBhcmUgc3VwcG9zZWQgdG8gYmUgYmFzZWQgb24gZXhlY19wcmVmaXgKKy0jIGJ5IGRlZmF1bHQgd2lsbCBhY3R1YWxseSBjaGFuZ2UuCistIyBVc2UgYnJhY2VzIGluc3RlYWQgb2YgcGFyZW5zIGJlY2F1c2Ugc2gsIHBlcmwsIGV0Yy4gYWxzbyBhY2NlcHQgdGhlbS4KKyBiaW5kaXI9JyR7ZXhlY19wcmVmaXh9L2JpbicKKyBzYmluZGlyPScke2V4ZWNfcHJlZml4fS9zYmluJworIGxpYmV4ZWNkaXI9JyR7ZXhlY19wcmVmaXh9L2xpYmV4ZWMnCitAQCAtMzQ5LDkgKzU4LDE3IEBACisgaW5mb2Rpcj0nJHtwcmVmaXh9L2luZm8nCisgbWFuZGlyPScke3ByZWZpeH0vbWFuJworIAorKyMgSW5pdGlhbGl6ZSBzb21lIG90aGVyIHZhcmlhYmxlcy4KKytzdWJkaXJzPQorK01GTEFHUz0gTUFLRUZMQUdTPQorK1NIRUxMPSR7Q09ORklHX1NIRUxMLS9iaW4vc2h9CisrIyBNYXhpbXVtIG51bWJlciBvZiBsaW5lcyB0byBwdXQgaW4gYSBzaGVsbCBoZXJlIGRvY3VtZW50LgorK2FjX21heF9oZXJlX2xpbmVzPTEyCisrCisgYWNfcHJldj0KKyBmb3IgYWNfb3B0aW9uCisgZG8KKysKKyAgICMgSWYgdGhlIHByZXZpb3VzIG9wdGlvbiBuZWVkcyBhbiBhcmd1bWVudCwgYXNzaWduIGl0LgorICAgaWYgdGVzdCAtbiAiJGFjX3ByZXYiOyB0aGVuCisgICAgIGV2YWwgIiRhY19wcmV2PVwkYWNfb3B0aW9uIgorQEAgLTM1OSw1OSArNzYsNTkgQEAKKyAgICAgY29udGludWUKKyAgIGZpCisgCistICBhY19vcHRhcmc9YGV4cHIgIngkYWNfb3B0aW9uIiA6ICd4W149XSo9XCguKlwpJ2AKKysgIGNhc2UgIiRhY19vcHRpb24iIGluCisrICAtKj0qKSBhY19vcHRhcmc9YGVjaG8gIiRhY19vcHRpb24iIHwgc2VkICdzL1stX2EtekEtWjAtOV0qPS8vJ2AgOzsKKysgICopIGFjX29wdGFyZz0gOzsKKysgIGVzYWMKKyAKKyAgICMgQWNjZXB0IHRoZSBpbXBvcnRhbnQgQ3lnbnVzIGNvbmZpZ3VyZSBvcHRpb25zLCBzbyB3ZSBjYW4gZGlhZ25vc2UgdHlwb3MuCisgCistICBjYXNlICRhY19vcHRpb24gaW4KKysgIGNhc2UgIiRhY19vcHRpb24iIGluCisgCisgICAtYmluZGlyIHwgLS1iaW5kaXIgfCAtLWJpbmRpIHwgLS1iaW5kIHwgLS1iaW4gfCAtLWJpKQorICAgICBhY19wcmV2PWJpbmRpciA7OworICAgLWJpbmRpcj0qIHwgLS1iaW5kaXI9KiB8IC0tYmluZGk9KiB8IC0tYmluZD0qIHwgLS1iaW49KiB8IC0tYmk9KikKKy0gICAgYmluZGlyPSRhY19vcHRhcmcgOzsKKysgICAgYmluZGlyPSIkYWNfb3B0YXJnIiA7OworIAorICAgLWJ1aWxkIHwgLS1idWlsZCB8IC0tYnVpbCB8IC0tYnVpIHwgLS1idSkKKy0gICAgYWNfcHJldj1idWlsZF9hbGlhcyA7OworKyAgICBhY19wcmV2PWJ1aWxkIDs7CisgICAtYnVpbGQ9KiB8IC0tYnVpbGQ9KiB8IC0tYnVpbD0qIHwgLS1idWk9KiB8IC0tYnU9KikKKy0gICAgYnVpbGRfYWxpYXM9JGFjX29wdGFyZyA7OworKyAgICBidWlsZD0iJGFjX29wdGFyZyIgOzsKKyAKKyAgIC1jYWNoZS1maWxlIHwgLS1jYWNoZS1maWxlIHwgLS1jYWNoZS1maWwgfCAtLWNhY2hlLWZpIFwKKyAgIHwgLS1jYWNoZS1mIHwgLS1jYWNoZS0gfCAtLWNhY2hlIHwgLS1jYWNoIHwgLS1jYWMgfCAtLWNhIHwgLS1jKQorICAgICBhY19wcmV2PWNhY2hlX2ZpbGUgOzsKKyAgIC1jYWNoZS1maWxlPSogfCAtLWNhY2hlLWZpbGU9KiB8IC0tY2FjaGUtZmlsPSogfCAtLWNhY2hlLWZpPSogXAorICAgfCAtLWNhY2hlLWY9KiB8IC0tY2FjaGUtPSogfCAtLWNhY2hlPSogfCAtLWNhY2g9KiB8IC0tY2FjPSogfCAtLWNhPSogfCAtLWM9KikKKy0gICAgY2FjaGVfZmlsZT0kYWNfb3B0YXJnIDs7CisrICAgIGNhY2hlX2ZpbGU9IiRhY19vcHRhcmciIDs7CisgCistICAtLWNvbmZpZy1jYWNoZSB8IC1DKQorLSAgICBjYWNoZV9maWxlPWNvbmZpZy5jYWNoZSA7OworLQorICAgLWRhdGFkaXIgfCAtLWRhdGFkaXIgfCAtLWRhdGFkaSB8IC0tZGF0YWQgfCAtLWRhdGEgfCAtLWRhdCB8IC0tZGEpCisgICAgIGFjX3ByZXY9ZGF0YWRpciA7OworICAgLWRhdGFkaXI9KiB8IC0tZGF0YWRpcj0qIHwgLS1kYXRhZGk9KiB8IC0tZGF0YWQ9KiB8IC0tZGF0YT0qIHwgLS1kYXQ9KiBcCisgICB8IC0tZGE9KikKKy0gICAgZGF0YWRpcj0kYWNfb3B0YXJnIDs7CisrICAgIGRhdGFkaXI9IiRhY19vcHRhcmciIDs7CisgCisgICAtZGlzYWJsZS0qIHwgLS1kaXNhYmxlLSopCistICAgIGFjX2ZlYXR1cmU9YGV4cHIgIngkYWNfb3B0aW9uIiA6ICd4LSpkaXNhYmxlLVwoLipcKSdgCisrICAgIGFjX2ZlYXR1cmU9YGVjaG8gJGFjX29wdGlvbnxzZWQgLWUgJ3MvLSpkaXNhYmxlLS8vJ2AKKyAgICAgIyBSZWplY3QgbmFtZXMgdGhhdCBhcmUgbm90IHZhbGlkIHNoZWxsIHZhcmlhYmxlIG5hbWVzLgorLSAgICBleHByICJ4JGFjX2ZlYXR1cmUiIDogIi4qW14tXyRhc19jcl9hbG51bV0iID4vZGV2L251bGwgJiYKKy0gICAgICB7IGVjaG8gIiRhc19tZTogZXJyb3I6IGludmFsaWQgZmVhdHVyZSBuYW1lOiAkYWNfZmVhdHVyZSIgPiYyCistICAgeyAoZXhpdCAxKTsgZXhpdCAxOyB9OyB9CistICAgIGFjX2ZlYXR1cmU9YGVjaG8gJGFjX2ZlYXR1cmUgfCBzZWQgJ3MvLS9fL2cnYAorLSAgICBldmFsICJlbmFibGVfJGFjX2ZlYXR1cmU9bm8iIDs7CisrICAgIGlmIHRlc3QgLW4gImBlY2hvICRhY19mZWF0dXJlfCBzZWQgJ3MvWy1hLXpBLVowLTlfXS8vZydgIjsgdGhlbgorKyAgICAgIHsgZWNobyAiY29uZmlndXJlOiBlcnJvcjogJGFjX2ZlYXR1cmU6IGludmFsaWQgZmVhdHVyZSBuYW1lIiAxPiYyOyBleGl0IDE7IH0KKysgICAgZmkKKysgICAgYWNfZmVhdHVyZT1gZWNobyAkYWNfZmVhdHVyZXwgc2VkICdzLy0vXy9nJ2AKKysgICAgZXZhbCAiZW5hYmxlXyR7YWNfZmVhdHVyZX09bm8iIDs7CisgCisgICAtZW5hYmxlLSogfCAtLWVuYWJsZS0qKQorLSAgICBhY19mZWF0dXJlPWBleHByICJ4JGFjX29wdGlvbiIgOiAneC0qZW5hYmxlLVwoW149XSpcKSdgCisrICAgIGFjX2ZlYXR1cmU9YGVjaG8gJGFjX29wdGlvbnxzZWQgLWUgJ3MvLSplbmFibGUtLy8nIC1lICdzLz0uKi8vJ2AKKyAgICAgIyBSZWplY3QgbmFtZXMgdGhhdCBhcmUgbm90IHZhbGlkIHNoZWxsIHZhcmlhYmxlIG5hbWVzLgorLSAgICBleHByICJ4JGFjX2ZlYXR1cmUiIDogIi4qW14tXyRhc19jcl9hbG51bV0iID4vZGV2L251bGwgJiYKKy0gICAgICB7IGVjaG8gIiRhc19tZTogZXJyb3I6IGludmFsaWQgZmVhdHVyZSBuYW1lOiAkYWNfZmVhdHVyZSIgPiYyCistICAgeyAoZXhpdCAxKTsgZXhpdCAxOyB9OyB9CistICAgIGFjX2ZlYXR1cmU9YGVjaG8gJGFjX2ZlYXR1cmUgfCBzZWQgJ3MvLS9fL2cnYAorLSAgICBjYXNlICRhY19vcHRpb24gaW4KKy0gICAgICAqPSopIGFjX29wdGFyZz1gZWNobyAiJGFjX29wdGFyZyIgfCBzZWQgInMvJy8nXFxcXFxcXFwnJy9nImA7OworKyAgICBpZiB0ZXN0IC1uICJgZWNobyAkYWNfZmVhdHVyZXwgc2VkICdzL1stX2EtekEtWjAtOV0vL2cnYCI7IHRoZW4KKysgICAgICB7IGVjaG8gImNvbmZpZ3VyZTogZXJyb3I6ICRhY19mZWF0dXJlOiBpbnZhbGlkIGZlYXR1cmUgbmFtZSIgMT4mMjsgZXhpdCAxOyB9CisrICAgIGZpCisrICAgIGFjX2ZlYXR1cmU9YGVjaG8gJGFjX2ZlYXR1cmV8IHNlZCAncy8tL18vZydgCisrICAgIGNhc2UgIiRhY19vcHRpb24iIGluCisrICAgICAgKj0qKSA7OworICAgICAgICopIGFjX29wdGFyZz15ZXMgOzsKKyAgICAgZXNhYworLSAgICBldmFsICJlbmFibGVfJGFjX2ZlYXR1cmU9JyRhY19vcHRhcmcnIiA7OworKyAgICBldmFsICJlbmFibGVfJHthY19mZWF0dXJlfT0nJGFjX29wdGFyZyciIDs7CisgCisgICAtZXhlYy1wcmVmaXggfCAtLWV4ZWNfcHJlZml4IHwgLS1leGVjLXByZWZpeCB8IC0tZXhlYy1wcmVmaSBcCisgICB8IC0tZXhlYy1wcmVmIHwgLS1leGVjLXByZSB8IC0tZXhlYy1wciB8IC0tZXhlYy1wIHwgLS1leGVjLSBcCitAQCAtNDIwLDQ3ICsxMzcsOTUgQEAKKyAgIC1leGVjLXByZWZpeD0qIHwgLS1leGVjX3ByZWZpeD0qIHwgLS1leGVjLXByZWZpeD0qIHwgLS1leGVjLXByZWZpPSogXAorICAgfCAtLWV4ZWMtcHJlZj0qIHwgLS1leGVjLXByZT0qIHwgLS1leGVjLXByPSogfCAtLWV4ZWMtcD0qIHwgLS1leGVjLT0qIFwKKyAgIHwgLS1leGVjPSogfCAtLWV4ZT0qIHwgLS1leD0qKQorLSAgICBleGVjX3ByZWZpeD0kYWNfb3B0YXJnIDs7CisrICAgIGV4ZWNfcHJlZml4PSIkYWNfb3B0YXJnIiA7OworIAorICAgLWdhcyB8IC0tZ2FzIHwgLS1nYSB8IC0tZykKKyAgICAgIyBPYnNvbGV0ZTsgdXNlIC0td2l0aC1nYXMuCisgICAgIHdpdGhfZ2FzPXllcyA7OworIAorLSAgLWhlbHAgfCAtLWhlbHAgfCAtLWhlbCB8IC0taGUgfCAtaCkKKy0gICAgYWNfaW5pdF9oZWxwPWxvbmcgOzsKKy0gIC1oZWxwPXIqIHwgLS1oZWxwPXIqIHwgLS1oZWw9ciogfCAtLWhlPXIqIHwgLWhyKikKKy0gICAgYWNfaW5pdF9oZWxwPXJlY3Vyc2l2ZSA7OworLSAgLWhlbHA9cyogfCAtLWhlbHA9cyogfCAtLWhlbD1zKiB8IC0taGU9cyogfCAtaHMqKQorLSAgICBhY19pbml0X2hlbHA9c2hvcnQgOzsKKysgIC1oZWxwIHwgLS1oZWxwIHwgLS1oZWwgfCAtLWhlKQorKyAgICAjIE9taXQgc29tZSBpbnRlcm5hbCBvciBvYnNvbGV0ZSBvcHRpb25zIHRvIG1ha2UgdGhlIGxpc3QgbGVzcyBpbXBvc2luZy4KKysgICAgIyBUaGlzIG1lc3NhZ2UgaXMgdG9vIGxvbmcgdG8gYmUgYSBzdHJpbmcgaW4gdGhlIEEvVVggMy4xIHNoLgorKyAgICBjYXQgPDwgRU9GCisrVXNhZ2U6IGNvbmZpZ3VyZSBbb3B0aW9uc10gW2hvc3RdCisrT3B0aW9uczogW2RlZmF1bHRzIGluIGJyYWNrZXRzIGFmdGVyIGRlc2NyaXB0aW9uc10KKytDb25maWd1cmF0aW9uOgorKyAgLS1jYWNoZS1maWxlPUZJTEUgICAgICAgY2FjaGUgdGVzdCByZXN1bHRzIGluIEZJTEUKKysgIC0taGVscCAgICAgICAgICAgICAgICAgIHByaW50IHRoaXMgbWVzc2FnZQorKyAgLS1uby1jcmVhdGUgICAgICAgICAgICAgZG8gbm90IGNyZWF0ZSBvdXRwdXQgZmlsZXMKKysgIC0tcXVpZXQsIC0tc2lsZW50ICAgICAgIGRvIG5vdCBwcmludCBcYGNoZWNraW5nLi4uJyBtZXNzYWdlcworKyAgLS12ZXJzaW9uICAgICAgICAgICAgICAgcHJpbnQgdGhlIHZlcnNpb24gb2YgYXV0b2NvbmYgdGhhdCBjcmVhdGVkIGNvbmZpZ3VyZQorK0RpcmVjdG9yeSBhbmQgZmlsZSBuYW1lczoKKysgIC0tcHJlZml4PVBSRUZJWCAgICAgICAgIGluc3RhbGwgYXJjaGl0ZWN0dXJlLWluZGVwZW5kZW50IGZpbGVzIGluIFBSRUZJWAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgWyRhY19kZWZhdWx0X3ByZWZpeF0KKysgIC0tZXhlYy1wcmVmaXg9RVBSRUZJWCAgIGluc3RhbGwgYXJjaGl0ZWN0dXJlLWRlcGVuZGVudCBmaWxlcyBpbiBFUFJFRklYCisrICAgICAgICAgICAgICAgICAgICAgICAgICBbc2FtZSBhcyBwcmVmaXhdCisrICAtLWJpbmRpcj1ESVIgICAgICAgICAgICB1c2VyIGV4ZWN1dGFibGVzIGluIERJUiBbRVBSRUZJWC9iaW5dCisrICAtLXNiaW5kaXI9RElSICAgICAgICAgICBzeXN0ZW0gYWRtaW4gZXhlY3V0YWJsZXMgaW4gRElSIFtFUFJFRklYL3NiaW5dCisrICAtLWxpYmV4ZWNkaXI9RElSICAgICAgICBwcm9ncmFtIGV4ZWN1dGFibGVzIGluIERJUiBbRVBSRUZJWC9saWJleGVjXQorKyAgLS1kYXRhZGlyPURJUiAgICAgICAgICAgcmVhZC1vbmx5IGFyY2hpdGVjdHVyZS1pbmRlcGVuZGVudCBkYXRhIGluIERJUgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgW1BSRUZJWC9zaGFyZV0KKysgIC0tc3lzY29uZmRpcj1ESVIgICAgICAgIHJlYWQtb25seSBzaW5nbGUtbWFjaGluZSBkYXRhIGluIERJUiBbUFJFRklYL2V0Y10KKysgIC0tc2hhcmVkc3RhdGVkaXI9RElSICAgIG1vZGlmaWFibGUgYXJjaGl0ZWN0dXJlLWluZGVwZW5kZW50IGRhdGEgaW4gRElSCisrICAgICAgICAgICAgICAgICAgICAgICAgICBbUFJFRklYL2NvbV0KKysgIC0tbG9jYWxzdGF0ZWRpcj1ESVIgICAgIG1vZGlmaWFibGUgc2luZ2xlLW1hY2hpbmUgZGF0YSBpbiBESVIgW1BSRUZJWC92YXJdCisrICAtLWxpYmRpcj1ESVIgICAgICAgICAgICBvYmplY3QgY29kZSBsaWJyYXJpZXMgaW4gRElSIFtFUFJFRklYL2xpYl0KKysgIC0taW5jbHVkZWRpcj1ESVIgICAgICAgIEMgaGVhZGVyIGZpbGVzIGluIERJUiBbUFJFRklYL2luY2x1ZGVdCisrICAtLW9sZGluY2x1ZGVkaXI9RElSICAgICBDIGhlYWRlciBmaWxlcyBmb3Igbm9uLWdjYyBpbiBESVIgWy91c3IvaW5jbHVkZV0KKysgIC0taW5mb2Rpcj1ESVIgICAgICAgICAgIGluZm8gZG9jdW1lbnRhdGlvbiBpbiBESVIgW1BSRUZJWC9pbmZvXQorKyAgLS1tYW5kaXI9RElSICAgICAgICAgICAgbWFuIGRvY3VtZW50YXRpb24gaW4gRElSIFtQUkVGSVgvbWFuXQorKyAgLS1zcmNkaXI9RElSICAgICAgICAgICAgZmluZCB0aGUgc291cmNlcyBpbiBESVIgW2NvbmZpZ3VyZSBkaXIgb3IgLi5dCisrICAtLXByb2dyYW0tcHJlZml4PVBSRUZJWCBwcmVwZW5kIFBSRUZJWCB0byBpbnN0YWxsZWQgcHJvZ3JhbSBuYW1lcworKyAgLS1wcm9ncmFtLXN1ZmZpeD1TVUZGSVggYXBwZW5kIFNVRkZJWCB0byBpbnN0YWxsZWQgcHJvZ3JhbSBuYW1lcworKyAgLS1wcm9ncmFtLXRyYW5zZm9ybS1uYW1lPVBST0dSQU0KKysgICAgICAgICAgICAgICAgICAgICAgICAgIHJ1biBzZWQgUFJPR1JBTSBvbiBpbnN0YWxsZWQgcHJvZ3JhbSBuYW1lcworK0VPRgorKyAgICBjYXQgPDwgRU9GCisrSG9zdCB0eXBlOgorKyAgLS1idWlsZD1CVUlMRCAgICAgICAgICAgY29uZmlndXJlIGZvciBidWlsZGluZyBvbiBCVUlMRCBbQlVJTEQ9SE9TVF0KKysgIC0taG9zdD1IT1NUICAgICAgICAgICAgIGNvbmZpZ3VyZSBmb3IgSE9TVCBbZ3Vlc3NlZF0KKysgIC0tdGFyZ2V0PVRBUkdFVCAgICAgICAgIGNvbmZpZ3VyZSBmb3IgVEFSR0VUIFtUQVJHRVQ9SE9TVF0KKytGZWF0dXJlcyBhbmQgcGFja2FnZXM6CisrICAtLWRpc2FibGUtRkVBVFVSRSAgICAgICBkbyBub3QgaW5jbHVkZSBGRUFUVVJFIChzYW1lIGFzIC0tZW5hYmxlLUZFQVRVUkU9bm8pCisrICAtLWVuYWJsZS1GRUFUVVJFWz1BUkddICBpbmNsdWRlIEZFQVRVUkUgW0FSRz15ZXNdCisrICAtLXdpdGgtUEFDS0FHRVs9QVJHXSAgICB1c2UgUEFDS0FHRSBbQVJHPXllc10KKysgIC0td2l0aG91dC1QQUNLQUdFICAgICAgIGRvIG5vdCB1c2UgUEFDS0FHRSAoc2FtZSBhcyAtLXdpdGgtUEFDS0FHRT1ubykKKysgIC0teC1pbmNsdWRlcz1ESVIgICAgICAgIFggaW5jbHVkZSBmaWxlcyBhcmUgaW4gRElSCisrICAtLXgtbGlicmFyaWVzPURJUiAgICAgICBYIGxpYnJhcnkgZmlsZXMgYXJlIGluIERJUgorK0VPRgorKyAgICBpZiB0ZXN0IC1uICIkYWNfaGVscCI7IHRoZW4KKysgICAgICBlY2hvICItLWVuYWJsZSBhbmQgLS13aXRoIG9wdGlvbnMgcmVjb2duaXplZDokYWNfaGVscCIKKysgICAgZmkKKysgICAgZXhpdCAwIDs7CisgCisgICAtaG9zdCB8IC0taG9zdCB8IC0taG9zIHwgLS1obykKKy0gICAgYWNfcHJldj1ob3N0X2FsaWFzIDs7CisrICAgIGFjX3ByZXY9aG9zdCA7OworICAgLWhvc3Q9KiB8IC0taG9zdD0qIHwgLS1ob3M9KiB8IC0taG89KikKKy0gICAgaG9zdF9hbGlhcz0kYWNfb3B0YXJnIDs7CisrICAgIGhvc3Q9IiRhY19vcHRhcmciIDs7CisgCisgICAtaW5jbHVkZWRpciB8IC0taW5jbHVkZWRpciB8IC0taW5jbHVkZWRpIHwgLS1pbmNsdWRlZCB8IC0taW5jbHVkZSBcCisgICB8IC0taW5jbHVkIHwgLS1pbmNsdSB8IC0taW5jbCB8IC0taW5jKQorICAgICBhY19wcmV2PWluY2x1ZGVkaXIgOzsKKyAgIC1pbmNsdWRlZGlyPSogfCAtLWluY2x1ZGVkaXI9KiB8IC0taW5jbHVkZWRpPSogfCAtLWluY2x1ZGVkPSogfCAtLWluY2x1ZGU9KiBcCisgICB8IC0taW5jbHVkPSogfCAtLWluY2x1PSogfCAtLWluY2w9KiB8IC0taW5jPSopCistICAgIGluY2x1ZGVkaXI9JGFjX29wdGFyZyA7OworKyAgICBpbmNsdWRlZGlyPSIkYWNfb3B0YXJnIiA7OworIAorICAgLWluZm9kaXIgfCAtLWluZm9kaXIgfCAtLWluZm9kaSB8IC0taW5mb2QgfCAtLWluZm8gfCAtLWluZikKKyAgICAgYWNfcHJldj1pbmZvZGlyIDs7CisgICAtaW5mb2Rpcj0qIHwgLS1pbmZvZGlyPSogfCAtLWluZm9kaT0qIHwgLS1pbmZvZD0qIHwgLS1pbmZvPSogfCAtLWluZj0qKQorLSAgICBpbmZvZGlyPSRhY19vcHRhcmcgOzsKKysgICAgaW5mb2Rpcj0iJGFjX29wdGFyZyIgOzsKKyAKKyAgIC1saWJkaXIgfCAtLWxpYmRpciB8IC0tbGliZGkgfCAtLWxpYmQpCisgICAgIGFjX3ByZXY9bGliZGlyIDs7CisgICAtbGliZGlyPSogfCAtLWxpYmRpcj0qIHwgLS1saWJkaT0qIHwgLS1saWJkPSopCistICAgIGxpYmRpcj0kYWNfb3B0YXJnIDs7CisrICAgIGxpYmRpcj0iJGFjX29wdGFyZyIgOzsKKyAKKyAgIC1saWJleGVjZGlyIHwgLS1saWJleGVjZGlyIHwgLS1saWJleGVjZGkgfCAtLWxpYmV4ZWNkIHwgLS1saWJleGVjIFwKKyAgIHwgLS1saWJleGUgfCAtLWxpYmV4IHwgLS1saWJlKQorICAgICBhY19wcmV2PWxpYmV4ZWNkaXIgOzsKKyAgIC1saWJleGVjZGlyPSogfCAtLWxpYmV4ZWNkaXI9KiB8IC0tbGliZXhlY2RpPSogfCAtLWxpYmV4ZWNkPSogfCAtLWxpYmV4ZWM9KiBcCisgICB8IC0tbGliZXhlPSogfCAtLWxpYmV4PSogfCAtLWxpYmU9KikKKy0gICAgbGliZXhlY2Rpcj0kYWNfb3B0YXJnIDs7CisrICAgIGxpYmV4ZWNkaXI9IiRhY19vcHRhcmciIDs7CisgCisgICAtbG9jYWxzdGF0ZWRpciB8IC0tbG9jYWxzdGF0ZWRpciB8IC0tbG9jYWxzdGF0ZWRpIHwgLS1sb2NhbHN0YXRlZCBcCisgICB8IC0tbG9jYWxzdGF0ZSB8IC0tbG9jYWxzdGF0IHwgLS1sb2NhbHN0YSB8IC0tbG9jYWxzdCBcCitAQCAtNDY5LDE5ICsyMzQsMTkgQEAKKyAgIC1sb2NhbHN0YXRlZGlyPSogfCAtLWxvY2Fsc3RhdGVkaXI9KiB8IC0tbG9jYWxzdGF0ZWRpPSogfCAtLWxvY2Fsc3RhdGVkPSogXAorICAgfCAtLWxvY2Fsc3RhdGU9KiB8IC0tbG9jYWxzdGF0PSogfCAtLWxvY2Fsc3RhPSogfCAtLWxvY2Fsc3Q9KiBcCisgICB8IC0tbG9jYWxzPSogfCAtLWxvY2FsPSogfCAtLWxvY2E9KiB8IC0tbG9jPSogfCAtLWxvPSopCistICAgIGxvY2Fsc3RhdGVkaXI9JGFjX29wdGFyZyA7OworKyAgICBsb2NhbHN0YXRlZGlyPSIkYWNfb3B0YXJnIiA7OworIAorICAgLW1hbmRpciB8IC0tbWFuZGlyIHwgLS1tYW5kaSB8IC0tbWFuZCB8IC0tbWFuIHwgLS1tYSB8IC0tbSkKKyAgICAgYWNfcHJldj1tYW5kaXIgOzsKKyAgIC1tYW5kaXI9KiB8IC0tbWFuZGlyPSogfCAtLW1hbmRpPSogfCAtLW1hbmQ9KiB8IC0tbWFuPSogfCAtLW1hPSogfCAtLW09KikKKy0gICAgbWFuZGlyPSRhY19vcHRhcmcgOzsKKysgICAgbWFuZGlyPSIkYWNfb3B0YXJnIiA7OworIAorICAgLW5mcCB8IC0tbmZwIHwgLS1uZikKKyAgICAgIyBPYnNvbGV0ZTsgdXNlIC0td2l0aG91dC1mcC4KKyAgICAgd2l0aF9mcD1ubyA7OworIAorICAgLW5vLWNyZWF0ZSB8IC0tbm8tY3JlYXRlIHwgLS1uby1jcmVhdCB8IC0tbm8tY3JlYSB8IC0tbm8tY3JlIFwKKy0gIHwgLS1uby1jciB8IC0tbm8tYyB8IC1uKQorKyAgfCAtLW5vLWNyIHwgLS1uby1jKQorICAgICBub19jcmVhdGU9eWVzIDs7CisgCisgICAtbm8tcmVjdXJzaW9uIHwgLS1uby1yZWN1cnNpb24gfCAtLW5vLXJlY3Vyc2lvIHwgLS1uby1yZWN1cnNpIFwKK0BAIC00OTUsMjYgKzI2MCwyNiBAQAorICAgLW9sZGluY2x1ZGVkaXI9KiB8IC0tb2xkaW5jbHVkZWRpcj0qIHwgLS1vbGRpbmNsdWRlZGk9KiB8IC0tb2xkaW5jbHVkZWQ9KiBcCisgICB8IC0tb2xkaW5jbHVkZT0qIHwgLS1vbGRpbmNsdWQ9KiB8IC0tb2xkaW5jbHU9KiB8IC0tb2xkaW5jbD0qIHwgLS1vbGRpbmM9KiBcCisgICB8IC0tb2xkaW49KiB8IC0tb2xkaT0qIHwgLS1vbGQ9KiB8IC0tb2w9KiB8IC0tbz0qKQorLSAgICBvbGRpbmNsdWRlZGlyPSRhY19vcHRhcmcgOzsKKysgICAgb2xkaW5jbHVkZWRpcj0iJGFjX29wdGFyZyIgOzsKKyAKKyAgIC1wcmVmaXggfCAtLXByZWZpeCB8IC0tcHJlZmkgfCAtLXByZWYgfCAtLXByZSB8IC0tcHIgfCAtLXApCisgICAgIGFjX3ByZXY9cHJlZml4IDs7CisgICAtcHJlZml4PSogfCAtLXByZWZpeD0qIHwgLS1wcmVmaT0qIHwgLS1wcmVmPSogfCAtLXByZT0qIHwgLS1wcj0qIHwgLS1wPSopCistICAgIHByZWZpeD0kYWNfb3B0YXJnIDs7CisrICAgIHByZWZpeD0iJGFjX29wdGFyZyIgOzsKKyAKKyAgIC1wcm9ncmFtLXByZWZpeCB8IC0tcHJvZ3JhbS1wcmVmaXggfCAtLXByb2dyYW0tcHJlZmkgfCAtLXByb2dyYW0tcHJlZiBcCisgICB8IC0tcHJvZ3JhbS1wcmUgfCAtLXByb2dyYW0tcHIgfCAtLXByb2dyYW0tcCkKKyAgICAgYWNfcHJldj1wcm9ncmFtX3ByZWZpeCA7OworICAgLXByb2dyYW0tcHJlZml4PSogfCAtLXByb2dyYW0tcHJlZml4PSogfCAtLXByb2dyYW0tcHJlZmk9KiBcCisgICB8IC0tcHJvZ3JhbS1wcmVmPSogfCAtLXByb2dyYW0tcHJlPSogfCAtLXByb2dyYW0tcHI9KiB8IC0tcHJvZ3JhbS1wPSopCistICAgIHByb2dyYW1fcHJlZml4PSRhY19vcHRhcmcgOzsKKysgICAgcHJvZ3JhbV9wcmVmaXg9IiRhY19vcHRhcmciIDs7CisgCisgICAtcHJvZ3JhbS1zdWZmaXggfCAtLXByb2dyYW0tc3VmZml4IHwgLS1wcm9ncmFtLXN1ZmZpIHwgLS1wcm9ncmFtLXN1ZmYgXAorICAgfCAtLXByb2dyYW0tc3VmIHwgLS1wcm9ncmFtLXN1IHwgLS1wcm9ncmFtLXMpCisgICAgIGFjX3ByZXY9cHJvZ3JhbV9zdWZmaXggOzsKKyAgIC1wcm9ncmFtLXN1ZmZpeD0qIHwgLS1wcm9ncmFtLXN1ZmZpeD0qIHwgLS1wcm9ncmFtLXN1ZmZpPSogXAorICAgfCAtLXByb2dyYW0tc3VmZj0qIHwgLS1wcm9ncmFtLXN1Zj0qIHwgLS1wcm9ncmFtLXN1PSogfCAtLXByb2dyYW0tcz0qKQorLSAgICBwcm9ncmFtX3N1ZmZpeD0kYWNfb3B0YXJnIDs7CisrICAgIHByb2dyYW1fc3VmZml4PSIkYWNfb3B0YXJnIiA7OworIAorICAgLXByb2dyYW0tdHJhbnNmb3JtLW5hbWUgfCAtLXByb2dyYW0tdHJhbnNmb3JtLW5hbWUgXAorICAgfCAtLXByb2dyYW0tdHJhbnNmb3JtLW5hbSB8IC0tcHJvZ3JhbS10cmFuc2Zvcm0tbmEgXAorQEAgLTUzMSw3ICsyOTYsNyBAQAorICAgfCAtLXByb2dyYW0tdHJhbnNmbz0qIHwgLS1wcm9ncmFtLXRyYW5zZj0qIFwKKyAgIHwgLS1wcm9ncmFtLXRyYW5zPSogfCAtLXByb2dyYW0tdHJhbj0qIFwKKyAgIHwgLS1wcm9nci10cmE9KiB8IC0tcHJvZ3JhbS10cj0qIHwgLS1wcm9ncmFtLXQ9KikKKy0gICAgcHJvZ3JhbV90cmFuc2Zvcm1fbmFtZT0kYWNfb3B0YXJnIDs7CisrICAgIHByb2dyYW1fdHJhbnNmb3JtX25hbWU9IiRhY19vcHRhcmciIDs7CisgCisgICAtcSB8IC1xdWlldCB8IC0tcXVpZXQgfCAtLXF1aWUgfCAtLXF1aSB8IC0tcXUgfCAtLXEgXAorICAgfCAtc2lsZW50IHwgLS1zaWxlbnQgfCAtLXNpbGVuIHwgLS1zaWxlIHwgLS1zaWwpCitAQCAtNTQxLDcgKzMwNiw3IEBACisgICAgIGFjX3ByZXY9c2JpbmRpciA7OworICAgLXNiaW5kaXI9KiB8IC0tc2JpbmRpcj0qIHwgLS1zYmluZGk9KiB8IC0tc2JpbmQ9KiB8IC0tc2Jpbj0qIFwKKyAgIHwgLS1zYmk9KiB8IC0tc2I9KikKKy0gICAgc2JpbmRpcj0kYWNfb3B0YXJnIDs7CisrICAgIHNiaW5kaXI9IiRhY19vcHRhcmciIDs7CisgCisgICAtc2hhcmVkc3RhdGVkaXIgfCAtLXNoYXJlZHN0YXRlZGlyIHwgLS1zaGFyZWRzdGF0ZWRpIFwKKyAgIHwgLS1zaGFyZWRzdGF0ZWQgfCAtLXNoYXJlZHN0YXRlIHwgLS1zaGFyZWRzdGF0IHwgLS1zaGFyZWRzdGEgXAorQEAgLTU1Miw1NyArMzE3LDU4IEBACisgICB8IC0tc2hhcmVkc3RhdGVkPSogfCAtLXNoYXJlZHN0YXRlPSogfCAtLXNoYXJlZHN0YXQ9KiB8IC0tc2hhcmVkc3RhPSogXAorICAgfCAtLXNoYXJlZHN0PSogfCAtLXNoYXJlZHM9KiB8IC0tc2hhcmVkPSogfCAtLXNoYXJlPSogfCAtLXNoYXI9KiBcCisgICB8IC0tc2hhPSogfCAtLXNoPSopCistICAgIHNoYXJlZHN0YXRlZGlyPSRhY19vcHRhcmcgOzsKKysgICAgc2hhcmVkc3RhdGVkaXI9IiRhY19vcHRhcmciIDs7CisgCisgICAtc2l0ZSB8IC0tc2l0ZSB8IC0tc2l0KQorICAgICBhY19wcmV2PXNpdGUgOzsKKyAgIC1zaXRlPSogfCAtLXNpdGU9KiB8IC0tc2l0PSopCistICAgIHNpdGU9JGFjX29wdGFyZyA7OworKyAgICBzaXRlPSIkYWNfb3B0YXJnIiA7OworIAorICAgLXNyY2RpciB8IC0tc3JjZGlyIHwgLS1zcmNkaSB8IC0tc3JjZCB8IC0tc3JjIHwgLS1zcikKKyAgICAgYWNfcHJldj1zcmNkaXIgOzsKKyAgIC1zcmNkaXI9KiB8IC0tc3JjZGlyPSogfCAtLXNyY2RpPSogfCAtLXNyY2Q9KiB8IC0tc3JjPSogfCAtLXNyPSopCistICAgIHNyY2Rpcj0kYWNfb3B0YXJnIDs7CisrICAgIHNyY2Rpcj0iJGFjX29wdGFyZyIgOzsKKyAKKyAgIC1zeXNjb25mZGlyIHwgLS1zeXNjb25mZGlyIHwgLS1zeXNjb25mZGkgfCAtLXN5c2NvbmZkIHwgLS1zeXNjb25mIFwKKyAgIHwgLS1zeXNjb24gfCAtLXN5c2NvIHwgLS1zeXNjIHwgLS1zeXMgfCAtLXN5KQorICAgICBhY19wcmV2PXN5c2NvbmZkaXIgOzsKKyAgIC1zeXNjb25mZGlyPSogfCAtLXN5c2NvbmZkaXI9KiB8IC0tc3lzY29uZmRpPSogfCAtLXN5c2NvbmZkPSogfCAtLXN5c2NvbmY9KiBcCisgICB8IC0tc3lzY29uPSogfCAtLXN5c2NvPSogfCAtLXN5c2M9KiB8IC0tc3lzPSogfCAtLXN5PSopCistICAgIHN5c2NvbmZkaXI9JGFjX29wdGFyZyA7OworKyAgICBzeXNjb25mZGlyPSIkYWNfb3B0YXJnIiA7OworIAorICAgLXRhcmdldCB8IC0tdGFyZ2V0IHwgLS10YXJnZSB8IC0tdGFyZyB8IC0tdGFyIHwgLS10YSB8IC0tdCkKKy0gICAgYWNfcHJldj10YXJnZXRfYWxpYXMgOzsKKysgICAgYWNfcHJldj10YXJnZXQgOzsKKyAgIC10YXJnZXQ9KiB8IC0tdGFyZ2V0PSogfCAtLXRhcmdlPSogfCAtLXRhcmc9KiB8IC0tdGFyPSogfCAtLXRhPSogfCAtLXQ9KikKKy0gICAgdGFyZ2V0X2FsaWFzPSRhY19vcHRhcmcgOzsKKysgICAgdGFyZ2V0PSIkYWNfb3B0YXJnIiA7OworIAorICAgLXYgfCAtdmVyYm9zZSB8IC0tdmVyYm9zZSB8IC0tdmVyYm9zIHwgLS12ZXJibyB8IC0tdmVyYikKKyAgICAgdmVyYm9zZT15ZXMgOzsKKyAKKy0gIC12ZXJzaW9uIHwgLS12ZXJzaW9uIHwgLS12ZXJzaW8gfCAtLXZlcnNpIHwgLS12ZXJzIHwgLVYpCistICAgIGFjX2luaXRfdmVyc2lvbj06IDs7CisrICAtdmVyc2lvbiB8IC0tdmVyc2lvbiB8IC0tdmVyc2lvIHwgLS12ZXJzaSB8IC0tdmVycykKKysgICAgZWNobyAiY29uZmlndXJlIGdlbmVyYXRlZCBieSBhdXRvY29uZiB2ZXJzaW9uIDIuMTMiCisrICAgIGV4aXQgMCA7OworIAorICAgLXdpdGgtKiB8IC0td2l0aC0qKQorLSAgICBhY19wYWNrYWdlPWBleHByICJ4JGFjX29wdGlvbiIgOiAneC0qd2l0aC1cKFtePV0qXCknYAorKyAgICBhY19wYWNrYWdlPWBlY2hvICRhY19vcHRpb258c2VkIC1lICdzLy0qd2l0aC0vLycgLWUgJ3MvPS4qLy8nYAorICAgICAjIFJlamVjdCBuYW1lcyB0aGF0IGFyZSBub3QgdmFsaWQgc2hlbGwgdmFyaWFibGUgbmFtZXMuCistICAgIGV4cHIgIngkYWNfcGFja2FnZSIgOiAiLipbXi1fJGFzX2NyX2FsbnVtXSIgPi9kZXYvbnVsbCAmJgorLSAgICAgIHsgZWNobyAiJGFzX21lOiBlcnJvcjogaW52YWxpZCBwYWNrYWdlIG5hbWU6ICRhY19wYWNrYWdlIiA+JjIKKy0gICB7IChleGl0IDEpOyBleGl0IDE7IH07IH0KKysgICAgaWYgdGVzdCAtbiAiYGVjaG8gJGFjX3BhY2thZ2V8IHNlZCAncy9bLV9hLXpBLVowLTldLy9nJ2AiOyB0aGVuCisrICAgICAgeyBlY2hvICJjb25maWd1cmU6IGVycm9yOiAkYWNfcGFja2FnZTogaW52YWxpZCBwYWNrYWdlIG5hbWUiIDE+JjI7IGV4aXQgMTsgfQorKyAgICBmaQorICAgICBhY19wYWNrYWdlPWBlY2hvICRhY19wYWNrYWdlfCBzZWQgJ3MvLS9fL2cnYAorLSAgICBjYXNlICRhY19vcHRpb24gaW4KKy0gICAgICAqPSopIGFjX29wdGFyZz1gZWNobyAiJGFjX29wdGFyZyIgfCBzZWQgInMvJy8nXFxcXFxcXFwnJy9nImA7OworKyAgICBjYXNlICIkYWNfb3B0aW9uIiBpbgorKyAgICAgICo9KikgOzsKKyAgICAgICAqKSBhY19vcHRhcmc9eWVzIDs7CisgICAgIGVzYWMKKy0gICAgZXZhbCAid2l0aF8kYWNfcGFja2FnZT0nJGFjX29wdGFyZyciIDs7CisrICAgIGV2YWwgIndpdGhfJHthY19wYWNrYWdlfT0nJGFjX29wdGFyZyciIDs7CisgCisgICAtd2l0aG91dC0qIHwgLS13aXRob3V0LSopCistICAgIGFjX3BhY2thZ2U9YGV4cHIgIngkYWNfb3B0aW9uIiA6ICd4LSp3aXRob3V0LVwoLipcKSdgCisrICAgIGFjX3BhY2thZ2U9YGVjaG8gJGFjX29wdGlvbnxzZWQgLWUgJ3MvLSp3aXRob3V0LS8vJ2AKKyAgICAgIyBSZWplY3QgbmFtZXMgdGhhdCBhcmUgbm90IHZhbGlkIHNoZWxsIHZhcmlhYmxlIG5hbWVzLgorLSAgICBleHByICJ4JGFjX3BhY2thZ2UiIDogIi4qW14tXyRhc19jcl9hbG51bV0iID4vZGV2L251bGwgJiYKKy0gICAgICB7IGVjaG8gIiRhc19tZTogZXJyb3I6IGludmFsaWQgcGFja2FnZSBuYW1lOiAkYWNfcGFja2FnZSIgPiYyCistICAgeyAoZXhpdCAxKTsgZXhpdCAxOyB9OyB9CistICAgIGFjX3BhY2thZ2U9YGVjaG8gJGFjX3BhY2thZ2UgfCBzZWQgJ3MvLS9fL2cnYAorLSAgICBldmFsICJ3aXRoXyRhY19wYWNrYWdlPW5vIiA7OworKyAgICBpZiB0ZXN0IC1uICJgZWNobyAkYWNfcGFja2FnZXwgc2VkICdzL1stYS16QS1aMC05X10vL2cnYCI7IHRoZW4KKysgICAgICB7IGVjaG8gImNvbmZpZ3VyZTogZXJyb3I6ICRhY19wYWNrYWdlOiBpbnZhbGlkIHBhY2thZ2UgbmFtZSIgMT4mMjsgZXhpdCAxOyB9CisrICAgIGZpCisrICAgIGFjX3BhY2thZ2U9YGVjaG8gJGFjX3BhY2thZ2V8IHNlZCAncy8tL18vZydgCisrICAgIGV2YWwgIndpdGhfJHthY19wYWNrYWdlfT1ubyIgOzsKKyAKKyAgIC0teCkKKyAgICAgIyBPYnNvbGV0ZTsgdXNlIC0td2l0aC14LgorQEAgLTYxMywxMTAgKzM3OSw5OSBAQAorICAgICBhY19wcmV2PXhfaW5jbHVkZXMgOzsKKyAgIC14LWluY2x1ZGVzPSogfCAtLXgtaW5jbHVkZXM9KiB8IC0teC1pbmNsdWRlPSogfCAtLXgtaW5jbHVkPSogfCAtLXgtaW5jbHU9KiBcCisgICB8IC0teC1pbmNsPSogfCAtLXgtaW5jPSogfCAtLXgtaW49KiB8IC0teC1pPSopCistICAgIHhfaW5jbHVkZXM9JGFjX29wdGFyZyA7OworKyAgICB4X2luY2x1ZGVzPSIkYWNfb3B0YXJnIiA7OworIAorICAgLXgtbGlicmFyaWVzIHwgLS14LWxpYnJhcmllcyB8IC0teC1saWJyYXJpZSB8IC0teC1saWJyYXJpIFwKKyAgIHwgLS14LWxpYnJhciB8IC0teC1saWJyYSB8IC0teC1saWJyIHwgLS14LWxpYiB8IC0teC1saSB8IC0teC1sKQorICAgICBhY19wcmV2PXhfbGlicmFyaWVzIDs7CisgICAteC1saWJyYXJpZXM9KiB8IC0teC1saWJyYXJpZXM9KiB8IC0teC1saWJyYXJpZT0qIHwgLS14LWxpYnJhcmk9KiBcCisgICB8IC0teC1saWJyYXI9KiB8IC0teC1saWJyYT0qIHwgLS14LWxpYnI9KiB8IC0teC1saWI9KiB8IC0teC1saT0qIHwgLS14LWw9KikKKy0gICAgeF9saWJyYXJpZXM9JGFjX29wdGFyZyA7OworKyAgICB4X2xpYnJhcmllcz0iJGFjX29wdGFyZyIgOzsKKyAKKy0gIC0qKSB7IGVjaG8gIiRhc19tZTogZXJyb3I6IHVucmVjb2duaXplZCBvcHRpb246ICRhY19vcHRpb24KKy1UcnkgXGAkMCAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLiIgPiYyCistICAgeyAoZXhpdCAxKTsgZXhpdCAxOyB9OyB9CisrICAtKikgeyBlY2hvICJjb25maWd1cmU6IGVycm9yOiAkYWNfb3B0aW9uOiBpbnZhbGlkIG9wdGlvbjsgdXNlIC0taGVscCB0byBzaG93IHVzYWdlIiAxPiYyOyBleGl0IDE7IH0KKyAgICAgOzsKKyAKKy0gICo9KikKKy0gICAgYWNfZW52dmFyPWBleHByICJ4JGFjX29wdGlvbiIgOiAneFwoW149XSpcKT0nYAorLSAgICAjIFJlamVjdCBuYW1lcyB0aGF0IGFyZSBub3QgdmFsaWQgc2hlbGwgdmFyaWFibGUgbmFtZXMuCistICAgIGV4cHIgIngkYWNfZW52dmFyIiA6ICIuKlteXyRhc19jcl9hbG51bV0iID4vZGV2L251bGwgJiYKKy0gICAgICB7IGVjaG8gIiRhc19tZTogZXJyb3I6IGludmFsaWQgdmFyaWFibGUgbmFtZTogJGFjX2VudnZhciIgPiYyCistICAgeyAoZXhpdCAxKTsgZXhpdCAxOyB9OyB9CistICAgIGFjX29wdGFyZz1gZWNobyAiJGFjX29wdGFyZyIgfCBzZWQgInMvJy8nXFxcXFxcXFwnJy9nImAKKy0gICAgZXZhbCAiJGFjX2VudnZhcj0nJGFjX29wdGFyZyciCistICAgIGV4cG9ydCAkYWNfZW52dmFyIDs7CistCisgICAqKQorLSAgICAjIEZJWE1FOiBzaG91bGQgYmUgcmVtb3ZlZCBpbiBhdXRvY29uZiAzLjAuCistICAgIGVjaG8gIiRhc19tZTogV0FSTklORzogeW91IHNob3VsZCB1c2UgLS1idWlsZCwgLS1ob3N0LCAtLXRhcmdldCIgPiYyCistICAgIGV4cHIgIngkYWNfb3B0aW9uIiA6ICIuKlteLS5fJGFzX2NyX2FsbnVtXSIgPi9kZXYvbnVsbCAmJgorLSAgICAgIGVjaG8gIiRhc19tZTogV0FSTklORzogaW52YWxpZCBob3N0IHR5cGU6ICRhY19vcHRpb24iID4mMgorLSAgICA6ICR7YnVpbGRfYWxpYXM9JGFjX29wdGlvbn0gJHtob3N0X2FsaWFzPSRhY19vcHRpb259ICR7dGFyZ2V0X2FsaWFzPSRhY19vcHRpb259CisrICAgIGlmIHRlc3QgLW4gImBlY2hvICRhY19vcHRpb258IHNlZCAncy9bLWEtejAtOS5dLy9nJ2AiOyB0aGVuCisrICAgICAgZWNobyAiY29uZmlndXJlOiB3YXJuaW5nOiAkYWNfb3B0aW9uOiBpbnZhbGlkIGhvc3QgdHlwZSIgMT4mMgorKyAgICBmaQorKyAgICBpZiB0ZXN0ICJ4JG5vbm9wdCIgIT0geE5PTkU7IHRoZW4KKysgICAgICB7IGVjaG8gImNvbmZpZ3VyZTogZXJyb3I6IGNhbiBvbmx5IGNvbmZpZ3VyZSBmb3Igb25lIGhvc3QgYW5kIG9uZSB0YXJnZXQgYXQgYSB0aW1lIiAxPiYyOyBleGl0IDE7IH0KKysgICAgZmkKKysgICAgbm9ub3B0PSIkYWNfb3B0aW9uIgorICAgICA7OworIAorICAgZXNhYworIGRvbmUKKyAKKyBpZiB0ZXN0IC1uICIkYWNfcHJldiI7IHRoZW4KKy0gIGFjX29wdGlvbj0tLWBlY2hvICRhY19wcmV2IHwgc2VkICdzL18vLS9nJ2AKKy0gIHsgZWNobyAiJGFzX21lOiBlcnJvcjogbWlzc2luZyBhcmd1bWVudCB0byAkYWNfb3B0aW9uIiA+JjIKKy0gICB7IChleGl0IDEpOyBleGl0IDE7IH07IH0KKysgIHsgZWNobyAiY29uZmlndXJlOiBlcnJvcjogbWlzc2luZyBhcmd1bWVudCB0byAtLWBlY2hvICRhY19wcmV2IHwgc2VkICdzL18vLS9nJ2AiIDE+JjI7IGV4aXQgMTsgfQorIGZpCisgCistIyBCZSBzdXJlIHRvIGhhdmUgYWJzb2x1dGUgcGF0aHMuCistZm9yIGFjX3ZhciBpbiBleGVjX3ByZWZpeCBwcmVmaXgKKy1kbworLSAgZXZhbCBhY192YWw9JGBlY2hvICRhY192YXJgCistICBjYXNlICRhY192YWwgaW4KKy0gICAgW1xcLyRdKiB8ID86W1xcL10qIHwgTk9ORSB8ICcnICkgOzsKKy0gICAgKikgIHsgZWNobyAiJGFzX21lOiBlcnJvcjogZXhwZWN0ZWQgYW4gYWJzb2x1dGUgZGlyZWN0b3J5IG5hbWUgZm9yIC0tJGFjX3ZhcjogJGFjX3ZhbCIgPiYyCistICAgeyAoZXhpdCAxKTsgZXhpdCAxOyB9OyB9OzsKKy0gIGVzYWMKKy1kb25lCisrdHJhcCAncm0gLWZyIGNvbmZ0ZXN0KiBjb25mZGVmcyogY29yZSBjb3JlLiogKi5jb3JlICRhY19jbGVhbl9maWxlczsgZXhpdCAxJyAxIDIgMTUKKyAKKy0jIEJlIHN1cmUgdG8gaGF2ZSBhYnNvbHV0ZSBwYXRocy4KKy1mb3IgYWNfdmFyIGluIGJpbmRpciBzYmluZGlyIGxpYmV4ZWNkaXIgZGF0YWRpciBzeXNjb25mZGlyIHNoYXJlZHN0YXRlZGlyIFwKKy0gICAgICAgICAgICAgIGxvY2Fsc3RhdGVkaXIgbGliZGlyIGluY2x1ZGVkaXIgb2xkaW5jbHVkZWRpciBpbmZvZGlyIG1hbmRpcgorKyMgRmlsZSBkZXNjcmlwdG9yIHVzYWdlOgorKyMgMCBzdGFuZGFyZCBpbnB1dAorKyMgMSBmaWxlIGNyZWF0aW9uCisrIyAyIGVycm9ycyBhbmQgd2FybmluZ3MKKysjIDMgc29tZSBzeXN0ZW1zIG1heSBvcGVuIGl0IHRvIC9kZXYvdHR5CisrIyA0IHVzZWQgb24gdGhlIEt1Ym90YSBUaXRhbgorKyMgNiBjaGVja2luZyBmb3IuLi4gbWVzc2FnZXMgYW5kIHJlc3VsdHMKKysjIDUgY29tcGlsZXIgbWVzc2FnZXMgc2F2ZWQgaW4gY29uZmlnLmxvZworK2lmIHRlc3QgIiRzaWxlbnQiID0geWVzOyB0aGVuCisrICBleGVjIDY+L2Rldi9udWxsCisrZWxzZQorKyAgZXhlYyA2PiYxCisrZmkKKytleGVjIDU+Li9jb25maWcubG9nCisrCisrZWNobyAiXAorK1RoaXMgZmlsZSBjb250YWlucyBhbnkgbWVzc2FnZXMgcHJvZHVjZWQgYnkgY29tcGlsZXJzIHdoaWxlCisrcnVubmluZyBjb25maWd1cmUsIHRvIGFpZCBkZWJ1Z2dpbmcgaWYgY29uZmlndXJlIG1ha2VzIGEgbWlzdGFrZS4KKysiIDE+JjUKKysKKysjIFN0cmlwIG91dCAtLW5vLWNyZWF0ZSBhbmQgLS1uby1yZWN1cnNpb24gc28gdGhleSBkbyBub3QgcGlsZSB1cC4KKysjIEFsc28gcXVvdGUgYW55IGFyZ3MgY29udGFpbmluZyBzaGVsbCBtZXRhY2hhcmFjdGVycy4KKythY19jb25maWd1cmVfYXJncz0KKytmb3IgYWNfYXJnCisgZG8KKy0gIGV2YWwgYWNfdmFsPSRgZWNobyAkYWNfdmFyYAorLSAgY2FzZSAkYWNfdmFsIGluCistICAgIFtcXC8kXSogfCA/OltcXC9dKiApIDs7CistICAgICopICB7IGVjaG8gIiRhc19tZTogZXJyb3I6IGV4cGVjdGVkIGFuIGFic29sdXRlIGRpcmVjdG9yeSBuYW1lIGZvciAtLSRhY192YXI6ICRhY192YWwiID4mMgorLSAgIHsgKGV4aXQgMSk7IGV4aXQgMTsgfTsgfTs7CisrICBjYXNlICIkYWNfYXJnIiBpbgorKyAgLW5vLWNyZWF0ZSB8IC0tbm8tY3JlYXRlIHwgLS1uby1jcmVhdCB8IC0tbm8tY3JlYSB8IC0tbm8tY3JlIFwKKysgIHwgLS1uby1jciB8IC0tbm8tYykgOzsKKysgIC1uby1yZWN1cnNpb24gfCAtLW5vLXJlY3Vyc2lvbiB8IC0tbm8tcmVjdXJzaW8gfCAtLW5vLXJlY3Vyc2kgXAorKyAgfCAtLW5vLXJlY3VycyB8IC0tbm8tcmVjdXIgfCAtLW5vLXJlY3UgfCAtLW5vLXJlYyB8IC0tbm8tcmUgfCAtLW5vLXIpIDs7CisrICAqIiAiKnwqIgkiKnwqW1xbXF1cflwjXCRcXlwmXCpcKFwpXHtcfVxcXHxcO1w8XD5cP10qKQorKyAgYWNfY29uZmlndXJlX2FyZ3M9IiRhY19jb25maWd1cmVfYXJncyAnJGFjX2FyZyciIDs7CisrICAqKSBhY19jb25maWd1cmVfYXJncz0iJGFjX2NvbmZpZ3VyZV9hcmdzICRhY19hcmciIDs7CisgICBlc2FjCisgZG9uZQorIAorLSMgVGhlcmUgbWlnaHQgYmUgcGVvcGxlIHdobyBkZXBlbmQgb24gdGhlIG9sZCBicm9rZW4gYmVoYXZpb3I6IGAkaG9zdCcKKy0jIHVzZWQgdG8gaG9sZCB0aGUgYXJndW1lbnQgb2YgLS1ob3N0IGV0Yy4KKy0jIEZJWE1FOiBUbyByZW1vdmUgc29tZSBkYXkuCistYnVpbGQ9JGJ1aWxkX2FsaWFzCistaG9zdD0kaG9zdF9hbGlhcworLXRhcmdldD0kdGFyZ2V0X2FsaWFzCisrIyBOTFMgbnVpc2FuY2VzLgorKyMgT25seSBzZXQgdGhlc2UgdG8gQyBpZiBhbHJlYWR5IHNldC4gIFRoZXNlIG11c3Qgbm90IGJlIHNldCB1bmNvbmRpdGlvbmFsbHkKKysjIGJlY2F1c2Ugbm90IGFsbCBzeXN0ZW1zIHVuZGVyc3RhbmQgZS5nLiBMQU5HPUMgKG5vdGFibHkgU0NPKS4KKysjIEZpeGluZyBMQ19NRVNTQUdFUyBwcmV2ZW50cyBTb2xhcmlzIHNoIGZyb20gdHJhbnNsYXRpbmcgdmFyIHZhbHVlcyBpbiBgc2V0JyEKKysjIE5vbi1DIExDX0NUWVBFIHZhbHVlcyBicmVhayB0aGUgY3R5cGUgY2hlY2suCisraWYgdGVzdCAiJHtMQU5HK3NldH0iICAgPSBzZXQ7IHRoZW4gTEFORz1DOyAgIGV4cG9ydCBMQU5HOyAgIGZpCisraWYgdGVzdCAiJHtMQ19BTEwrc2V0fSIgPSBzZXQ7IHRoZW4gTENfQUxMPUM7IGV4cG9ydCBMQ19BTEw7IGZpCisraWYgdGVzdCAiJHtMQ19NRVNTQUdFUytzZXR9IiA9IHNldDsgdGhlbiBMQ19NRVNTQUdFUz1DOyBleHBvcnQgTENfTUVTU0FHRVM7IGZpCisraWYgdGVzdCAiJHtMQ19DVFlQRStzZXR9IiAgICA9IHNldDsgdGhlbiBMQ19DVFlQRT1DOyAgICBleHBvcnQgTENfQ1RZUEU7ICAgIGZpCisgCistIyBGSVhNRTogVG8gcmVtb3ZlIHNvbWUgZGF5LgorLWlmIHRlc3QgIngkaG9zdF9hbGlhcyIgIT0geDsgdGhlbgorLSAgaWYgdGVzdCAieCRidWlsZF9hbGlhcyIgPSB4OyB0aGVuCistICAgIGNyb3NzX2NvbXBpbGluZz1tYXliZQorLSAgICBlY2hvICIkYXNfbWU6IFdBUk5JTkc6IElmIHlvdSB3YW50ZWQgdG8gc2V0IHRoZSAtLWJ1aWxkIHR5cGUsIGRvbid0IHVzZSAtLWhvc3QuCistICAgIElmIGEgY3Jvc3MgY29tcGlsZXIgaXMgZGV0ZWN0ZWQgdGhlbiBjcm9zcyBjb21waWxlIG1vZGUgd2lsbCBiZSB1c2VkLiIgPiYyCistICBlbGlmIHRlc3QgIngkYnVpbGRfYWxpYXMiICE9ICJ4JGhvc3RfYWxpYXMiOyB0aGVuCistICAgIGNyb3NzX2NvbXBpbGluZz15ZXMKKy0gIGZpCistZmkKKysjIGNvbmZkZWZzLmggYXZvaWRzIE9TIGNvbW1hbmQgbGluZSBsZW5ndGggbGltaXRzIHRoYXQgREVGUyBjYW4gZXhjZWVkLgorK3JtIC1yZiBjb25mdGVzdCogY29uZmRlZnMuaAorKyMgQUlYIGNwcCBsb3NlcyBvbiBhbiBlbXB0eSBmaWxlLCBzbyBtYWtlIHN1cmUgaXQgY29udGFpbnMgYXQgbGVhc3QgYSBuZXdsaW5lLgorK2VjaG8gPiBjb25mZGVmcy5oCisgCistYWNfdG9vbF9wcmVmaXg9CistdGVzdCAtbiAiJGhvc3RfYWxpYXMiICYmIGFjX3Rvb2xfcHJlZml4PSRob3N0X2FsaWFzLQorKyMgQSBmaWxlbmFtZSB1bmlxdWUgdG8gdGhpcyBwYWNrYWdlLCByZWxhdGl2ZSB0byB0aGUgZGlyZWN0b3J5IHRoYXQKKysjIGNvbmZpZ3VyZSBpcyBpbiwgd2hpY2ggd2UgY2FuIGxvb2sgZm9yIHRvIGZpbmQgb3V0IGlmIHNyY2RpciBpcyBjb3JyZWN0LgorK2FjX3VuaXF1ZV9maWxlPWluY2x1ZGUvZmxpdGUuaAorIAorLXRlc3QgIiRzaWxlbnQiID0geWVzICYmIGV4ZWMgNj4vZGV2L251bGwKKy0KKy0KKyAjIEZpbmQgdGhlIHNvdXJjZSBmaWxlcywgaWYgbG9jYXRpb24gd2FzIG5vdCBzcGVjaWZpZWQuCisgaWYgdGVzdCAteiAiJHNyY2RpciI7IHRoZW4KKyAgIGFjX3NyY2Rpcl9kZWZhdWx0ZWQ9eWVzCisgICAjIFRyeSB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgdGhpcyBzY3JpcHQsIHRoZW4gaXRzIHBhcmVudC4KKy0gIGFjX2NvbmZkaXI9YChkaXJuYW1lICIkMCIpIDI+L2Rldi9udWxsIHx8CistJGFzX2V4cHIgWCIkMCIgOiAnWFwoLipbXi9dXCkvLypbXi9dW14vXSovKiQnIFx8IFwKKy0gICAgICAgICBYIiQwIiA6ICdYXCgvL1wpW14vXScgXHwgXAorLSAgICAgICAgIFgiJDAiIDogJ1hcKC8vXCkkJyBcfCBcCistICAgICAgICAgWCIkMCIgOiAnWFwoL1wpJyBcfCBcCistICAgICAgICAgLiAgICAgOiAnXCguXCknIDI+L2Rldi9udWxsIHx8CistZWNobyBYIiQwIiB8CistICAgIHNlZCAnL15YXCguKlteL11cKVwvXC8qW14vXVteL10qXC8qJC97IHMvL1wxLzsgcTsgfQorLSAgCSAgL15YXChcL1wvXClbXi9dLioveyBzLy9cMS87IHE7IH0KKy0gIAkgIC9eWFwoXC9cL1wpJC97IHMvL1wxLzsgcTsgfQorLSAgCSAgL15YXChcL1wpLioveyBzLy9cMS87IHE7IH0KKy0gIAkgIHMvLiovLi87IHEnYAorKyAgYWNfcHJvZz0kMAorKyAgYWNfY29uZmRpcj1gZWNobyAkYWNfcHJvZ3xzZWQgJ3MlL1teL11bXi9dKiQlJSdgCisrICB0ZXN0ICJ4JGFjX2NvbmZkaXIiID0gIngkYWNfcHJvZyIgJiYgYWNfY29uZmRpcj0uCisgICBzcmNkaXI9JGFjX2NvbmZkaXIKKyAgIGlmIHRlc3QgISAtciAkc3JjZGlyLyRhY191bmlxdWVfZmlsZTsgdGhlbgorICAgICBzcmNkaXI9Li4KK0BAIC03MjYsNDQxICs0ODEsMTMgQEAKKyBmaQorIGlmIHRlc3QgISAtciAkc3JjZGlyLyRhY191bmlxdWVfZmlsZTsgdGhlbgorICAgaWYgdGVzdCAiJGFjX3NyY2Rpcl9kZWZhdWx0ZWQiID0geWVzOyB0aGVuCistICAgIHsgZWNobyAiJGFzX21lOiBlcnJvcjogY2Fubm90IGZpbmQgc291cmNlcyAoJGFjX3VuaXF1ZV9maWxlKSBpbiAkYWNfY29uZmRpciBvciAuLiIgPiYyCistICAgeyAoZXhpdCAxKTsgZXhpdCAxOyB9OyB9CisrICAgIHsgZWNobyAiY29uZmlndXJlOiBlcnJvcjogY2FuIG5vdCBmaW5kIHNvdXJjZXMgaW4gJGFjX2NvbmZkaXIgb3IgLi4iIDE+JjI7IGV4aXQgMTsgfQorICAgZWxzZQorLSAgICB7IGVjaG8gIiRhc19tZTogZXJyb3I6IGNhbm5vdCBmaW5kIHNvdXJjZXMgKCRhY191bmlxdWVfZmlsZSkgaW4gJHNyY2RpciIgPiYyCistICAgeyAoZXhpdCAxKTsgZXhpdCAxOyB9OyB9CisrICAgIHsgZWNobyAiY29uZmlndXJlOiBlcnJvcjogY2FuIG5vdCBmaW5kIHNvdXJjZXMgaW4gJHNyY2RpciIgMT4mMjsgZXhpdCAxOyB9CisgICBmaQorIGZpCistKGNkICRzcmNkaXIgJiYgdGVzdCAtciAuLyRhY191bmlxdWVfZmlsZSkgMj4vZGV2L251bGwgfHwKKy0gIHsgZWNobyAiJGFzX21lOiBlcnJvcjogc291cmNlcyBhcmUgaW4gJHNyY2RpciwgYnV0IFxgY2QgJHNyY2RpcicgZG9lcyBub3Qgd29yayIgPiYyCistICAgeyAoZXhpdCAxKTsgZXhpdCAxOyB9OyB9Cistc3JjZGlyPWBlY2hvICIkc3JjZGlyIiB8IHNlZCAncyVcKFteXFwvXVwpW1xcL10qJCVcMSUnYAorLWFjX2Vudl9idWlsZF9hbGlhc19zZXQ9JHtidWlsZF9hbGlhcytzZXR9CistYWNfZW52X2J1aWxkX2FsaWFzX3ZhbHVlPSRidWlsZF9hbGlhcworLWFjX2N2X2Vudl9idWlsZF9hbGlhc19zZXQ9JHtidWlsZF9hbGlhcytzZXR9CistYWNfY3ZfZW52X2J1aWxkX2FsaWFzX3ZhbHVlPSRidWlsZF9hbGlhcworLWFjX2Vudl9ob3N0X2FsaWFzX3NldD0ke2hvc3RfYWxpYXMrc2V0fQorLWFjX2Vudl9ob3N0X2FsaWFzX3ZhbHVlPSRob3N0X2FsaWFzCistYWNfY3ZfZW52X2hvc3RfYWxpYXNfc2V0PSR7aG9zdF9hbGlhcytzZXR9CistYWNfY3ZfZW52X2hvc3RfYWxpYXNfdmFsdWU9JGhvc3RfYWxpYXMKKy1hY19lbnZfdGFyZ2V0X2FsaWFzX3NldD0ke3RhcmdldF9hbGlhcytzZXR9CistYWNfZW52X3RhcmdldF9hbGlhc192YWx1ZT0kdGFyZ2V0X2FsaWFzCistYWNfY3ZfZW52X3RhcmdldF9hbGlhc19zZXQ9JHt0YXJnZXRfYWxpYXMrc2V0fQorLWFjX2N2X2Vudl90YXJnZXRfYWxpYXNfdmFsdWU9JHRhcmdldF9hbGlhcworLWFjX2Vudl9DQ19zZXQ9JHtDQytzZXR9CistYWNfZW52X0NDX3ZhbHVlPSRDQworLWFjX2N2X2Vudl9DQ19zZXQ9JHtDQytzZXR9CistYWNfY3ZfZW52X0NDX3ZhbHVlPSRDQworLWFjX2Vudl9DRkxBR1Nfc2V0PSR7Q0ZMQUdTK3NldH0KKy1hY19lbnZfQ0ZMQUdTX3ZhbHVlPSRDRkxBR1MKKy1hY19jdl9lbnZfQ0ZMQUdTX3NldD0ke0NGTEFHUytzZXR9CistYWNfY3ZfZW52X0NGTEFHU192YWx1ZT0kQ0ZMQUdTCistYWNfZW52X0xERkxBR1Nfc2V0PSR7TERGTEFHUytzZXR9CistYWNfZW52X0xERkxBR1NfdmFsdWU9JExERkxBR1MKKy1hY19jdl9lbnZfTERGTEFHU19zZXQ9JHtMREZMQUdTK3NldH0KKy1hY19jdl9lbnZfTERGTEFHU192YWx1ZT0kTERGTEFHUworLWFjX2Vudl9DUFBGTEFHU19zZXQ9JHtDUFBGTEFHUytzZXR9CistYWNfZW52X0NQUEZMQUdTX3ZhbHVlPSRDUFBGTEFHUworLWFjX2N2X2Vudl9DUFBGTEFHU19zZXQ9JHtDUFBGTEFHUytzZXR9CistYWNfY3ZfZW52X0NQUEZMQUdTX3ZhbHVlPSRDUFBGTEFHUworLWFjX2Vudl9DUFBfc2V0PSR7Q1BQK3NldH0KKy1hY19lbnZfQ1BQX3ZhbHVlPSRDUFAKKy1hY19jdl9lbnZfQ1BQX3NldD0ke0NQUCtzZXR9CistYWNfY3ZfZW52X0NQUF92YWx1ZT0kQ1BQCisrc3JjZGlyPWBlY2hvICIke3NyY2Rpcn0iIHwgc2VkICdzJVwoW14vXVwpLyokJVwxJSdgCisgCistIworLSMgUmVwb3J0IHRoZSAtLWhlbHAgbWVzc2FnZS4KKy0jCistaWYgdGVzdCAiJGFjX2luaXRfaGVscCIgPSAibG9uZyI7IHRoZW4KKy0gICMgT21pdCBzb21lIGludGVybmFsIG9yIG9ic29sZXRlIG9wdGlvbnMgdG8gbWFrZSB0aGUgbGlzdCBsZXNzIGltcG9zaW5nLgorLSAgIyBUaGlzIG1lc3NhZ2UgaXMgdG9vIGxvbmcgdG8gYmUgYSBzdHJpbmcgaW4gdGhlIEEvVVggMy4xIHNoLgorLSAgY2F0IDw8X0FDRU9GCistXGBjb25maWd1cmUnIGNvbmZpZ3VyZXMgdGhpcyBwYWNrYWdlIHRvIGFkYXB0IHRvIG1hbnkga2luZHMgb2Ygc3lzdGVtcy4KKy0KKy1Vc2FnZTogJDAgW09QVElPTl0uLi4gW1ZBUj1WQUxVRV0uLi4KKy0KKy1UbyBhc3NpZ24gZW52aXJvbm1lbnQgdmFyaWFibGVzIChlLmcuLCBDQywgQ0ZMQUdTLi4uKSwgc3BlY2lmeSB0aGVtIGFzCistVkFSPVZBTFVFLiAgU2VlIGJlbG93IGZvciBkZXNjcmlwdGlvbnMgb2Ygc29tZSBvZiB0aGUgdXNlZnVsIHZhcmlhYmxlcy4KKy0KKy1EZWZhdWx0cyBmb3IgdGhlIG9wdGlvbnMgYXJlIHNwZWNpZmllZCBpbiBicmFja2V0cy4KKy0KKy1Db25maWd1cmF0aW9uOgorLSAgLWgsIC0taGVscCAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXQKKy0gICAgICAtLWhlbHA9c2hvcnQgICAgICAgIGRpc3BsYXkgb3B0aW9ucyBzcGVjaWZpYyB0byB0aGlzIHBhY2thZ2UKKy0gICAgICAtLWhlbHA9cmVjdXJzaXZlICAgIGRpc3BsYXkgdGhlIHNob3J0IGhlbHAgb2YgYWxsIHRoZSBpbmNsdWRlZCBwYWNrYWdlcworLSAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0CistICAtcSwgLS1xdWlldCwgLS1zaWxlbnQgICBkbyBub3QgcHJpbnQgXGBjaGVja2luZy4uLicgbWVzc2FnZXMKKy0gICAgICAtLWNhY2hlLWZpbGU9RklMRSAgIGNhY2hlIHRlc3QgcmVzdWx0cyBpbiBGSUxFIFtkaXNhYmxlZF0KKy0gIC1DLCAtLWNvbmZpZy1jYWNoZSAgICAgIGFsaWFzIGZvciBcYC0tY2FjaGUtZmlsZT1jb25maWcuY2FjaGUnCistICAtbiwgLS1uby1jcmVhdGUgICAgICAgICBkbyBub3QgY3JlYXRlIG91dHB1dCBmaWxlcworLSAgICAgIC0tc3JjZGlyPURJUiAgICAgICAgZmluZCB0aGUgc291cmNlcyBpbiBESVIgW2NvbmZpZ3VyZSBkaXIgb3IgXGAuLiddCistCistX0FDRU9GCistCistICBjYXQgPDxfQUNFT0YKKy1JbnN0YWxsYXRpb24gZGlyZWN0b3JpZXM6CistICAtLXByZWZpeD1QUkVGSVggICAgICAgICBpbnN0YWxsIGFyY2hpdGVjdHVyZS1pbmRlcGVuZGVudCBmaWxlcyBpbiBQUkVGSVgKKy0gICAgICAgICAgICAgICAgICAgICAgICAgIFskYWNfZGVmYXVsdF9wcmVmaXhdCistICAtLWV4ZWMtcHJlZml4PUVQUkVGSVggICBpbnN0YWxsIGFyY2hpdGVjdHVyZS1kZXBlbmRlbnQgZmlsZXMgaW4gRVBSRUZJWAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgW1BSRUZJWF0KKy0KKy1CeSBkZWZhdWx0LCBcYG1ha2UgaW5zdGFsbCcgd2lsbCBpbnN0YWxsIGFsbCB0aGUgZmlsZXMgaW4KKy1cYCRhY19kZWZhdWx0X3ByZWZpeC9iaW4nLCBcYCRhY19kZWZhdWx0X3ByZWZpeC9saWInIGV0Yy4gIFlvdSBjYW4gc3BlY2lmeQorLWFuIGluc3RhbGxhdGlvbiBwcmVmaXggb3RoZXIgdGhhbiBcYCRhY19kZWZhdWx0X3ByZWZpeCcgdXNpbmcgXGAtLXByZWZpeCcsCistZm9yIGluc3RhbmNlIFxgLS1wcmVmaXg9XCRIT01FJy4KKy0KKy1Gb3IgYmV0dGVyIGNvbnRyb2wsIHVzZSB0aGUgb3B0aW9ucyBiZWxvdy4KKy0KKy1GaW5lIHR1bmluZyBvZiB0aGUgaW5zdGFsbGF0aW9uIGRpcmVjdG9yaWVzOgorLSAgLS1iaW5kaXI9RElSICAgICAgICAgICB1c2VyIGV4ZWN1dGFibGVzIFtFUFJFRklYL2Jpbl0KKy0gIC0tc2JpbmRpcj1ESVIgICAgICAgICAgc3lzdGVtIGFkbWluIGV4ZWN1dGFibGVzIFtFUFJFRklYL3NiaW5dCistICAtLWxpYmV4ZWNkaXI9RElSICAgICAgIHByb2dyYW0gZXhlY3V0YWJsZXMgW0VQUkVGSVgvbGliZXhlY10KKy0gIC0tZGF0YWRpcj1ESVIgICAgICAgICAgcmVhZC1vbmx5IGFyY2hpdGVjdHVyZS1pbmRlcGVuZGVudCBkYXRhIFtQUkVGSVgvc2hhcmVdCistICAtLXN5c2NvbmZkaXI9RElSICAgICAgIHJlYWQtb25seSBzaW5nbGUtbWFjaGluZSBkYXRhIFtQUkVGSVgvZXRjXQorLSAgLS1zaGFyZWRzdGF0ZWRpcj1ESVIgICBtb2RpZmlhYmxlIGFyY2hpdGVjdHVyZS1pbmRlcGVuZGVudCBkYXRhIFtQUkVGSVgvY29tXQorLSAgLS1sb2NhbHN0YXRlZGlyPURJUiAgICBtb2RpZmlhYmxlIHNpbmdsZS1tYWNoaW5lIGRhdGEgW1BSRUZJWC92YXJdCistICAtLWxpYmRpcj1ESVIgICAgICAgICAgIG9iamVjdCBjb2RlIGxpYnJhcmllcyBbRVBSRUZJWC9saWJdCistICAtLWluY2x1ZGVkaXI9RElSICAgICAgIEMgaGVhZGVyIGZpbGVzIFtQUkVGSVgvaW5jbHVkZV0KKy0gIC0tb2xkaW5jbHVkZWRpcj1ESVIgICAgQyBoZWFkZXIgZmlsZXMgZm9yIG5vbi1nY2MgWy91c3IvaW5jbHVkZV0KKy0gIC0taW5mb2Rpcj1ESVIgICAgICAgICAgaW5mbyBkb2N1bWVudGF0aW9uIFtQUkVGSVgvaW5mb10KKy0gIC0tbWFuZGlyPURJUiAgICAgICAgICAgbWFuIGRvY3VtZW50YXRpb24gW1BSRUZJWC9tYW5dCistX0FDRU9GCistCistICBjYXQgPDxcX0FDRU9GCistCistU3lzdGVtIHR5cGVzOgorLSAgLS1idWlsZD1CVUlMRCAgICAgY29uZmlndXJlIGZvciBidWlsZGluZyBvbiBCVUlMRCBbZ3Vlc3NlZF0KKy0gIC0taG9zdD1IT1NUICAgICAgIGNyb3NzLWNvbXBpbGUgdG8gYnVpbGQgcHJvZ3JhbXMgdG8gcnVuIG9uIEhPU1QgW0JVSUxEXQorLSAgLS10YXJnZXQ9VEFSR0VUICAgY29uZmlndXJlIGZvciBidWlsZGluZyBjb21waWxlcnMgZm9yIFRBUkdFVCBbSE9TVF0KKy1fQUNFT0YKKy1maQorLQorLWlmIHRlc3QgLW4gIiRhY19pbml0X2hlbHAiOyB0aGVuCistCistICBjYXQgPDxcX0FDRU9GCistCistT3B0aW9uYWwgRmVhdHVyZXM6CistICAtLWRpc2FibGUtRkVBVFVSRSAgICAgICBkbyBub3QgaW5jbHVkZSBGRUFUVVJFIChzYW1lIGFzIC0tZW5hYmxlLUZFQVRVUkU9bm8pCistICAtLWVuYWJsZS1GRUFUVVJFWz1BUkddICBpbmNsdWRlIEZFQVRVUkUgW0FSRz15ZXNdCistICAtLWRpc2FibGUtc2hhcmVkICAgICB3aXRob3V0IHNoYXJlZCBsaWJyYXJ5IHN1cHBvcnQKKy0gIC0tZGlzYWJsZS1zb2NrZXRzICAgICB3aXRob3V0IHNvY2tldCBzdXBwb3J0CistCistT3B0aW9uYWwgUGFja2FnZXM6CistICAtLXdpdGgtUEFDS0FHRVs9QVJHXSAgICB1c2UgUEFDS0FHRSBbQVJHPXllc10KKy0gIC0td2l0aG91dC1QQUNLQUdFICAgICAgIGRvIG5vdCB1c2UgUEFDS0FHRSAoc2FtZSBhcyAtLXdpdGgtUEFDS0FHRT1ubykKKy0gIC0td2l0aC1hdWRpbyAgICAgICAgICB3aXRoIHNwZWNpZmljIGF1ZGlvIHN1cHBvcnQgKG5vbmUgbGludXggZnJlZWJzZCBldGMpCistICAtLXdpdGgtbGFuZyAgICAgICAgICAgd2l0aCBsYW5ndWFnZQorLSAgLS13aXRoLXZveCAgICAgICAgICAgIHdpdGggdm94CistICAtLXdpdGgtbGV4ICAgICAgICAgICAgd2l0aCBsZXhpY29uCistCistU29tZSBpbmZsdWVudGlhbCBlbnZpcm9ubWVudCB2YXJpYWJsZXM6CistICBDQyAgICAgICAgICBDIGNvbXBpbGVyIGNvbW1hbmQKKy0gIENGTEFHUyAgICAgIEMgY29tcGlsZXIgZmxhZ3MKKy0gIExERkxBR1MgICAgIGxpbmtlciBmbGFncywgZS5nLiAtTDxsaWIgZGlyPiBpZiB5b3UgaGF2ZSBsaWJyYXJpZXMgaW4gYQorLSAgICAgICAgICAgICAgbm9uc3RhbmRhcmQgZGlyZWN0b3J5IDxsaWIgZGlyPgorLSAgQ1BQRkxBR1MgICAgQy9DKysgcHJlcHJvY2Vzc29yIGZsYWdzLCBlLmcuIC1JPGluY2x1ZGUgZGlyPiBpZiB5b3UgaGF2ZQorLSAgICAgICAgICAgICAgaGVhZGVycyBpbiBhIG5vbnN0YW5kYXJkIGRpcmVjdG9yeSA8aW5jbHVkZSBkaXI+CistICBDUFAgICAgICAgICBDIHByZXByb2Nlc3NvcgorLQorLVVzZSB0aGVzZSB2YXJpYWJsZXMgdG8gb3ZlcnJpZGUgdGhlIGNob2ljZXMgbWFkZSBieSBgY29uZmlndXJlJyBvciB0byBoZWxwCistaXQgdG8gZmluZCBsaWJyYXJpZXMgYW5kIHByb2dyYW1zIHdpdGggbm9uc3RhbmRhcmQgbmFtZXMvbG9jYXRpb25zLgorLQorLV9BQ0VPRgorLWZpCistCistaWYgdGVzdCAiJGFjX2luaXRfaGVscCIgPSAicmVjdXJzaXZlIjsgdGhlbgorLSAgIyBJZiB0aGVyZSBhcmUgc3ViZGlycywgcmVwb3J0IHRoZWlyIHNwZWNpZmljIC0taGVscC4KKy0gIGFjX3BvcGRpcj1gcHdkYAorLSAgZm9yIGFjX2RpciBpbiA6ICRhY19zdWJkaXJzX2FsbDsgZG8gdGVzdCAieCRhY19kaXIiID0geDogJiYgY29udGludWUKKy0gICAgdGVzdCAtZCAkYWNfZGlyIHx8IGNvbnRpbnVlCistICAgIGFjX2J1aWxkZGlyPS4KKy0KKy1pZiB0ZXN0ICIkYWNfZGlyIiAhPSAuOyB0aGVuCistICBhY19kaXJfc3VmZml4PS9gZWNobyAiJGFjX2RpciIgfCBzZWQgJ3MsXlwuW1xcL10sLCdgCistICAjIEEgIi4uLyIgZm9yIGVhY2ggZGlyZWN0b3J5IGluICRhY19kaXJfc3VmZml4LgorLSAgYWNfdG9wX2J1aWxkZGlyPWBlY2hvICIkYWNfZGlyX3N1ZmZpeCIgfCBzZWQgJ3MsL1teXFwvXSosLi4vLGcnYAorLWVsc2UKKy0gIGFjX2Rpcl9zdWZmaXg9IGFjX3RvcF9idWlsZGRpcj0KKy1maQorLQorLWNhc2UgJHNyY2RpciBpbgorLSAgLikgICMgTm8gLS1zcmNkaXIgb3B0aW9uLiAgV2UgYXJlIGJ1aWxkaW5nIGluIHBsYWNlLgorLSAgICBhY19zcmNkaXI9LgorLSAgICBpZiB0ZXN0IC16ICIkYWNfdG9wX2J1aWxkZGlyIjsgdGhlbgorLSAgICAgICBhY190b3Bfc3JjZGlyPS4KKy0gICAgZWxzZQorLSAgICAgICBhY190b3Bfc3JjZGlyPWBlY2hvICRhY190b3BfYnVpbGRkaXIgfCBzZWQgJ3MsLyQsLCdgCistICAgIGZpIDs7CistICBbXFwvXSogfCA/OltcXC9dKiApICAjIEFic29sdXRlIHBhdGguCistICAgIGFjX3NyY2Rpcj0kc3JjZGlyJGFjX2Rpcl9zdWZmaXg7CistICAgIGFjX3RvcF9zcmNkaXI9JHNyY2RpciA7OworLSAgKikgIyBSZWxhdGl2ZSBwYXRoLgorLSAgICBhY19zcmNkaXI9JGFjX3RvcF9idWlsZGRpciRzcmNkaXIkYWNfZGlyX3N1ZmZpeAorLSAgICBhY190b3Bfc3JjZGlyPSRhY190b3BfYnVpbGRkaXIkc3JjZGlyIDs7CistZXNhYworLSMgRG9uJ3QgYmxpbmRseSBwZXJmb3JtIGEgYGNkICIkYWNfZGlyIi8kYWNfZm9vICYmIHB3ZGAgc2luY2UgJGFjX2ZvbyBjYW4gYmUKKy0jIGFic29sdXRlLgorLWFjX2Fic19idWlsZGRpcj1gY2QgIiRhY19kaXIiICYmIGNkICRhY19idWlsZGRpciAmJiBwd2RgCistYWNfYWJzX3RvcF9idWlsZGRpcj1gY2QgIiRhY19kaXIiICYmIGNkICR7YWNfdG9wX2J1aWxkZGlyfS4gJiYgcHdkYAorLWFjX2Fic19zcmNkaXI9YGNkICIkYWNfZGlyIiAmJiBjZCAkYWNfc3JjZGlyICYmIHB3ZGAKKy1hY19hYnNfdG9wX3NyY2Rpcj1gY2QgIiRhY19kaXIiICYmIGNkICRhY190b3Bfc3JjZGlyICYmIHB3ZGAKKy0KKy0gICAgY2QgJGFjX2RpcgorLSAgICAjIENoZWNrIGZvciBndWVzdGVkIGNvbmZpZ3VyZTsgb3RoZXJ3aXNlIGdldCBDeWdudXMgc3R5bGUgY29uZmlndXJlLgorLSAgICBpZiB0ZXN0IC1mICRhY19zcmNkaXIvY29uZmlndXJlLmdudTsgdGhlbgorLSAgICAgIGVjaG8KKy0gICAgICAkU0hFTEwgJGFjX3NyY2Rpci9jb25maWd1cmUuZ251ICAtLWhlbHA9cmVjdXJzaXZlCistICAgIGVsaWYgdGVzdCAtZiAkYWNfc3JjZGlyL2NvbmZpZ3VyZTsgdGhlbgorLSAgICAgIGVjaG8KKy0gICAgICAkU0hFTEwgJGFjX3NyY2Rpci9jb25maWd1cmUgIC0taGVscD1yZWN1cnNpdmUKKy0gICAgZWxpZiB0ZXN0IC1mICRhY19zcmNkaXIvY29uZmlndXJlLmFjIHx8CistICAgICAgICAgICB0ZXN0IC1mICRhY19zcmNkaXIvY29uZmlndXJlLmluOyB0aGVuCistICAgICAgZWNobworLSAgICAgICRhY19jb25maWd1cmUgLS1oZWxwCistICAgIGVsc2UKKy0gICAgICBlY2hvICIkYXNfbWU6IFdBUk5JTkc6IG5vIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gaXMgaW4gJGFjX2RpciIgPiYyCistICAgIGZpCistICAgIGNkICRhY19wb3BkaXIKKy0gIGRvbmUKKy1maQorLQorLXRlc3QgLW4gIiRhY19pbml0X2hlbHAiICYmIGV4aXQgMAorLWlmICRhY19pbml0X3ZlcnNpb247IHRoZW4KKy0gIGNhdCA8PFxfQUNFT0YKKy0KKy1Db3B5cmlnaHQgMTk5MiwgMTk5MywgMTk5NCwgMTk5NSwgMTk5NiwgMTk5OCwgMTk5OSwgMjAwMCwgMjAwMSwgMjAwMgorLUZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorLVRoaXMgY29uZmlndXJlIHNjcmlwdCBpcyBmcmVlIHNvZnR3YXJlOyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uCistZ2l2ZXMgdW5saW1pdGVkIHBlcm1pc3Npb24gdG8gY29weSwgZGlzdHJpYnV0ZSBhbmQgbW9kaWZ5IGl0LgorLV9BQ0VPRgorLSAgZXhpdCAwCistZmkKKy1leGVjIDU+Y29uZmlnLmxvZworLWNhdCA+JjUgPDxfQUNFT0YKKy1UaGlzIGZpbGUgY29udGFpbnMgYW55IG1lc3NhZ2VzIHByb2R1Y2VkIGJ5IGNvbXBpbGVycyB3aGlsZQorLXJ1bm5pbmcgY29uZmlndXJlLCB0byBhaWQgZGVidWdnaW5nIGlmIGNvbmZpZ3VyZSBtYWtlcyBhIG1pc3Rha2UuCistCistSXQgd2FzIGNyZWF0ZWQgYnkgJGFzX21lLCB3aGljaCB3YXMKKy1nZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIuNTcuICBJbnZvY2F0aW9uIGNvbW1hbmQgbGluZSB3YXMKKy0KKy0gICQgJDAgJEAKKy0KKy1fQUNFT0YKKy17CistY2F0IDw8X0FTVU5BTUUKKy0jIyAtLS0tLS0tLS0gIyMKKy0jIyBQbGF0Zm9ybS4gIyMKKy0jIyAtLS0tLS0tLS0gIyMKKy0KKy1ob3N0bmFtZSA9IGAoaG9zdG5hbWUgfHwgdW5hbWUgLW4pIDI+L2Rldi9udWxsIHwgc2VkIDFxYAorLXVuYW1lIC1tID0gYCh1bmFtZSAtbSkgMj4vZGV2L251bGwgfHwgZWNobyB1bmtub3duYAorLXVuYW1lIC1yID0gYCh1bmFtZSAtcikgMj4vZGV2L251bGwgfHwgZWNobyB1bmtub3duYAorLXVuYW1lIC1zID0gYCh1bmFtZSAtcykgMj4vZGV2L251bGwgfHwgZWNobyB1bmtub3duYAorLXVuYW1lIC12ID0gYCh1bmFtZSAtdikgMj4vZGV2L251bGwgfHwgZWNobyB1bmtub3duYAorLQorLS91c3IvYmluL3VuYW1lIC1wID0gYCgvdXNyL2Jpbi91bmFtZSAtcCkgMj4vZGV2L251bGwgfHwgZWNobyB1bmtub3duYAorLS9iaW4vdW5hbWUgLVggICAgID0gYCgvYmluL3VuYW1lIC1YKSAyPi9kZXYvbnVsbCAgICAgfHwgZWNobyB1bmtub3duYAorLQorLS9iaW4vYXJjaCAgICAgICAgICAgICAgPSBgKC9iaW4vYXJjaCkgMj4vZGV2L251bGwgICAgICAgICAgICAgIHx8IGVjaG8gdW5rbm93bmAKKy0vdXNyL2Jpbi9hcmNoIC1rICAgICAgID0gYCgvdXNyL2Jpbi9hcmNoIC1rKSAyPi9kZXYvbnVsbCAgICAgICB8fCBlY2hvIHVua25vd25gCistL3Vzci9jb252ZXgvZ2V0c3lzaW5mbyA9IGAoL3Vzci9jb252ZXgvZ2V0c3lzaW5mbykgMj4vZGV2L251bGwgfHwgZWNobyB1bmtub3duYAorLWhvc3RpbmZvICAgICAgICAgICAgICAgPSBgKGhvc3RpbmZvKSAyPi9kZXYvbnVsbCAgICAgICAgICAgICAgIHx8IGVjaG8gdW5rbm93bmAKKy0vYmluL21hY2hpbmUgICAgICAgICAgID0gYCgvYmluL21hY2hpbmUpIDI+L2Rldi9udWxsICAgICAgICAgICB8fCBlY2hvIHVua25vd25gCistL3Vzci9iaW4vb3NsZXZlbCAgICAgICA9IGAoL3Vzci9iaW4vb3NsZXZlbCkgMj4vZGV2L251bGwgICAgICAgfHwgZWNobyB1bmtub3duYAorLS9iaW4vdW5pdmVyc2UgICAgICAgICAgPSBgKC9iaW4vdW5pdmVyc2UpIDI+L2Rldi9udWxsICAgICAgICAgIHx8IGVjaG8gdW5rbm93bmAKKy0KKy1fQVNVTkFNRQorLQorLWFzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKKy1mb3IgYXNfZGlyIGluICRQQVRICistZG8KKy0gIElGUz0kYXNfc2F2ZV9JRlMKKy0gIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCistICBlY2hvICJQQVRIOiAkYXNfZGlyIgorLWRvbmUKKy0KKy19ID4mNQorLQorLWNhdCA+JjUgPDxfQUNFT0YKKy0KKy0KKy0jIyAtLS0tLS0tLS0tLSAjIworLSMjIENvcmUgdGVzdHMuICMjCistIyMgLS0tLS0tLS0tLS0gIyMKKy0KKy1fQUNFT0YKKy0KKy0KKy0jIEtlZXAgYSB0cmFjZSBvZiB0aGUgY29tbWFuZCBsaW5lLgorLSMgU3RyaXAgb3V0IC0tbm8tY3JlYXRlIGFuZCAtLW5vLXJlY3Vyc2lvbiBzbyB0aGV5IGRvIG5vdCBwaWxlIHVwLgorLSMgU3RyaXAgb3V0IC0tc2lsZW50IGJlY2F1c2Ugd2UgZG9uJ3Qgd2FudCB0byByZWNvcmQgaXQgZm9yIGZ1dHVyZSBydW5zLgorLSMgQWxzbyBxdW90ZSBhbnkgYXJncyBjb250YWluaW5nIHNoZWxsIG1ldGEtY2hhcmFjdGVycy4KKy0jIE1ha2UgdHdvIHBhc3NlcyB0byBhbGxvdyBmb3IgcHJvcGVyIGR1cGxpY2F0ZS1hcmd1bWVudCBzdXBwcmVzc2lvbi4KKy1hY19jb25maWd1cmVfYXJncz0KKy1hY19jb25maWd1cmVfYXJnczA9CistYWNfY29uZmlndXJlX2FyZ3MxPQorLWFjX3NlcD0KKy1hY19tdXN0X2tlZXBfbmV4dD1mYWxzZQorLWZvciBhY19wYXNzIGluIDEgMgorLWRvCistICBmb3IgYWNfYXJnCistICBkbworLSAgICBjYXNlICRhY19hcmcgaW4KKy0gICAgLW5vLWNyZWF0ZSB8IC0tbm8tYyogfCAtbiB8IC1uby1yZWN1cnNpb24gfCAtLW5vLXIqKSBjb250aW51ZSA7OworLSAgICAtcSB8IC1xdWlldCB8IC0tcXVpZXQgfCAtLXF1aWUgfCAtLXF1aSB8IC0tcXUgfCAtLXEgXAorLSAgICB8IC1zaWxlbnQgfCAtLXNpbGVudCB8IC0tc2lsZW4gfCAtLXNpbGUgfCAtLXNpbCkKKy0gICAgICBjb250aW51ZSA7OworLSAgICAqIiAiKnwqIgkiKnwqW1xbXF1cflwjXCRcXlwmXCpcKFwpXHtcfVxcXHxcO1w8XD5cP1wiXCddKikKKy0gICAgICBhY19hcmc9YGVjaG8gIiRhY19hcmciIHwgc2VkICJzLycvJ1xcXFxcXFxcJycvZyJgIDs7CistICAgIGVzYWMKKy0gICAgY2FzZSAkYWNfcGFzcyBpbgorLSAgICAxKSBhY19jb25maWd1cmVfYXJnczA9IiRhY19jb25maWd1cmVfYXJnczAgJyRhY19hcmcnIiA7OworLSAgICAyKQorLSAgICAgIGFjX2NvbmZpZ3VyZV9hcmdzMT0iJGFjX2NvbmZpZ3VyZV9hcmdzMSAnJGFjX2FyZyciCistICAgICAgaWYgdGVzdCAkYWNfbXVzdF9rZWVwX25leHQgPSB0cnVlOyB0aGVuCistICAgICAgICBhY19tdXN0X2tlZXBfbmV4dD1mYWxzZSAjIEdvdCB2YWx1ZSwgYmFjayB0byBub3JtYWwuCistICAgICAgZWxzZQorLSAgICAgICAgY2FzZSAkYWNfYXJnIGluCistICAgICAgICAgICo9KiB8IC0tY29uZmlnLWNhY2hlIHwgLUMgfCAtZGlzYWJsZS0qIHwgLS1kaXNhYmxlLSogXAorLSAgICAgICAgICB8IC1lbmFibGUtKiB8IC0tZW5hYmxlLSogfCAtZ2FzIHwgLS1nKiB8IC1uZnAgfCAtLW5mKiBcCistICAgICAgICAgIHwgLXEgfCAtcXVpZXQgfCAtLXEqIHwgLXNpbGVudCB8IC0tc2lsKiB8IC12IHwgLXZlcmIqIFwKKy0gICAgICAgICAgfCAtd2l0aC0qIHwgLS13aXRoLSogfCAtd2l0aG91dC0qIHwgLS13aXRob3V0LSogfCAtLXgpCistICAgICAgICAgICAgY2FzZSAiJGFjX2NvbmZpZ3VyZV9hcmdzMCAiIGluCistICAgICAgICAgICAgICAiJGFjX2NvbmZpZ3VyZV9hcmdzMSIqIiAnJGFjX2FyZycgIiogKSBjb250aW51ZSA7OworLSAgICAgICAgICAgIGVzYWMKKy0gICAgICAgICAgICA7OworLSAgICAgICAgICAtKiApIGFjX211c3Rfa2VlcF9uZXh0PXRydWUgOzsKKy0gICAgICAgIGVzYWMKKy0gICAgICBmaQorLSAgICAgIGFjX2NvbmZpZ3VyZV9hcmdzPSIkYWNfY29uZmlndXJlX2FyZ3MkYWNfc2VwJyRhY19hcmcnIgorLSAgICAgICMgR2V0IHJpZCBvZiB0aGUgbGVhZGluZyBzcGFjZS4KKy0gICAgICBhY19zZXA9IiAiCistICAgICAgOzsKKy0gICAgZXNhYworLSAgZG9uZQorLWRvbmUKKy0kYXNfdW5zZXQgYWNfY29uZmlndXJlX2FyZ3MwIHx8IHRlc3QgIiR7YWNfY29uZmlndXJlX2FyZ3MwK3NldH0iICE9IHNldCB8fCB7IGFjX2NvbmZpZ3VyZV9hcmdzMD07IGV4cG9ydCBhY19jb25maWd1cmVfYXJnczA7IH0KKy0kYXNfdW5zZXQgYWNfY29uZmlndXJlX2FyZ3MxIHx8IHRlc3QgIiR7YWNfY29uZmlndXJlX2FyZ3MxK3NldH0iICE9IHNldCB8fCB7IGFjX2NvbmZpZ3VyZV9hcmdzMT07IGV4cG9ydCBhY19jb25maWd1cmVfYXJnczE7IH0KKy0KKy0jIFdoZW4gaW50ZXJydXB0ZWQgb3IgZXhpdCdkLCBjbGVhbnVwIHRlbXBvcmFyeSBmaWxlcywgYW5kIGNvbXBsZXRlCistIyBjb25maWcubG9nLiAgV2UgcmVtb3ZlIGNvbW1lbnRzIGJlY2F1c2UgYW55d2F5IHRoZSBxdW90ZXMgaW4gdGhlcmUKKy0jIHdvdWxkIGNhdXNlIHByb2JsZW1zIG9yIGxvb2sgdWdseS4KKy0jIFdBUk5JTkc6IEJlIHN1cmUgbm90IHRvIHVzZSBzaW5nbGUgcXVvdGVzIGluIHRoZXJlLCBhcyBzb21lIHNoZWxscywKKy0jIHN1Y2ggYXMgb3VyIERVIDUuMCBmcmllbmQsIHdpbGwgdGhlbiBgY2xvc2UnIHRoZSB0cmFwLgorLXRyYXAgJ2V4aXRfc3RhdHVzPSQ/CistICAjIFNhdmUgaW50byBjb25maWcubG9nIHNvbWUgaW5mb3JtYXRpb24gdGhhdCBtaWdodCBoZWxwIGluIGRlYnVnZ2luZy4KKy0gIHsKKy0gICAgZWNobworLQorLSAgICBjYXQgPDxcX0FTQk9YCistIyMgLS0tLS0tLS0tLS0tLS0tLSAjIworLSMjIENhY2hlIHZhcmlhYmxlcy4gIyMKKy0jIyAtLS0tLS0tLS0tLS0tLS0tICMjCistX0FTQk9YCistICAgIGVjaG8KKy0gICAgIyBUaGUgZm9sbG93aW5nIHdheSBvZiB3cml0aW5nIHRoZSBjYWNoZSBtaXNoYW5kbGVzIG5ld2xpbmVzIGluIHZhbHVlcywKKy17CistICAoc2V0KSAyPiYxIHwKKy0gICAgY2FzZSBgKGFjX3NwYWNlPSciJyInICciJyInOyBzZXQgfCBncmVwIGFjX3NwYWNlKSAyPiYxYCBpbgorLSAgICAqYWNfc3BhY2U9XCAqKQorLSAgICAgIHNlZCAtbiBcCistICAgICAgICAicy8nIiciJy8nIiciJ1xcXFwnIiciJyciJyInL2c7CistICAgIAkgIHMvXlxcKFtfJGFzX2NyX2FsbnVtXSpfY3ZfW18kYXNfY3JfYWxudW1dKlxcKT1cXCguKlxcKS9cXDE9JyInIidcXDInIiciJy9wIgorLSAgICAgIDs7CistICAgICopCistICAgICAgc2VkIC1uIFwKKy0gICAgICAgICJzL15cXChbXyRhc19jcl9hbG51bV0qX2N2X1tfJGFzX2NyX2FsbnVtXSpcXCk9XFwoLipcXCkvXFwxPVxcMi9wIgorLSAgICAgIDs7CistICAgIGVzYWM7CistfQorLSAgICBlY2hvCistCistICAgIGNhdCA8PFxfQVNCT1gKKy0jIyAtLS0tLS0tLS0tLS0tLS0tLSAjIworLSMjIE91dHB1dCB2YXJpYWJsZXMuICMjCistIyMgLS0tLS0tLS0tLS0tLS0tLS0gIyMKKy1fQVNCT1gKKy0gICAgZWNobworLSAgICBmb3IgYWNfdmFyIGluICRhY19zdWJzdF92YXJzCistICAgIGRvCistICAgICAgZXZhbCBhY192YWw9JGBlY2hvICRhY192YXJgCistICAgICAgZWNobyAiJGFjX3Zhcj0nIiciJyRhY192YWwnIiciJyIKKy0gICAgZG9uZSB8IHNvcnQKKy0gICAgZWNobworLQorLSAgICBpZiB0ZXN0IC1uICIkYWNfc3Vic3RfZmlsZXMiOyB0aGVuCistICAgICAgY2F0IDw8XF9BU0JPWAorLSMjIC0tLS0tLS0tLS0tLS0gIyMKKy0jIyBPdXRwdXQgZmlsZXMuICMjCistIyMgLS0tLS0tLS0tLS0tLSAjIworLV9BU0JPWAorLSAgICAgIGVjaG8KKy0gICAgICBmb3IgYWNfdmFyIGluICRhY19zdWJzdF9maWxlcworLSAgICAgIGRvCistCWV2YWwgYWNfdmFsPSRgZWNobyAkYWNfdmFyYAorLSAgICAgICAgZWNobyAiJGFjX3Zhcj0nIiciJyRhY192YWwnIiciJyIKKy0gICAgICBkb25lIHwgc29ydAorLSAgICAgIGVjaG8KKy0gICAgZmkKKy0KKy0gICAgaWYgdGVzdCAtcyBjb25mZGVmcy5oOyB0aGVuCistICAgICAgY2F0IDw8XF9BU0JPWAorLSMjIC0tLS0tLS0tLS0tICMjCistIyMgY29uZmRlZnMuaC4gIyMKKy0jIyAtLS0tLS0tLS0tLSAjIworLV9BU0JPWAorLSAgICAgIGVjaG8KKy0gICAgICBzZWQgIi9eJC9kIiBjb25mZGVmcy5oIHwgc29ydAorLSAgICAgIGVjaG8KKy0gICAgZmkKKy0gICAgdGVzdCAiJGFjX3NpZ25hbCIgIT0gMCAmJgorLSAgICAgIGVjaG8gIiRhc19tZTogY2F1Z2h0IHNpZ25hbCAkYWNfc2lnbmFsIgorLSAgICBlY2hvICIkYXNfbWU6IGV4aXQgJGV4aXRfc3RhdHVzIgorLSAgfSA+JjUKKy0gIHJtIC1mIGNvcmUgY29yZS4qICouY29yZSAmJgorLSAgcm0gLXJmIGNvbmZ0ZXN0KiBjb25mZGVmcyogY29uZiQkKiAkYWNfY2xlYW5fZmlsZXMgJiYKKy0gICAgZXhpdCAkZXhpdF9zdGF0dXMKKy0gICAgICcgMAorLWZvciBhY19zaWduYWwgaW4gMSAyIDEzIDE1OyBkbworLSAgdHJhcCAnYWNfc2lnbmFsPSckYWNfc2lnbmFsJzsgeyAoZXhpdCAxKTsgZXhpdCAxOyB9JyAkYWNfc2lnbmFsCistZG9uZQorLWFjX3NpZ25hbD0wCistCistIyBjb25mZGVmcy5oIGF2b2lkcyBPUyBjb21tYW5kIGxpbmUgbGVuZ3RoIGxpbWl0cyB0aGF0IERFRlMgY2FuIGV4Y2VlZC4KKy1ybSAtcmYgY29uZnRlc3QqIGNvbmZkZWZzLmgKKy0jIEFJWCBjcHAgbG9zZXMgb24gYW4gZW1wdHkgZmlsZSwgc28gbWFrZSBzdXJlIGl0IGNvbnRhaW5zIGF0IGxlYXN0IGEgbmV3bGluZS4KKy1lY2hvID5jb25mZGVmcy5oCistCistIyBQcmVkZWZpbmVkIHByZXByb2Nlc3NvciB2YXJpYWJsZXMuCistCistY2F0ID4+Y29uZmRlZnMuaCA8PF9BQ0VPRgorLSNkZWZpbmUgUEFDS0FHRV9OQU1FICIkUEFDS0FHRV9OQU1FIgorLV9BQ0VPRgorLQorLQorLWNhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YKKy0jZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiJFBBQ0tBR0VfVEFSTkFNRSIKKy1fQUNFT0YKKy0KKy0KKy1jYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCistI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIiRQQUNLQUdFX1ZFUlNJT04iCistX0FDRU9GCistCistCistY2F0ID4+Y29uZmRlZnMuaCA8PF9BQ0VPRgorLSNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIiRQQUNLQUdFX1NUUklORyIKKy1fQUNFT0YKKy0KKy0KKy1jYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCistI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiJFBBQ0tBR0VfQlVHUkVQT1JUIgorLV9BQ0VPRgorLQorLQorLSMgTGV0IHRoZSBzaXRlIGZpbGUgc2VsZWN0IGFuIGFsdGVybmF0ZSBjYWNoZSBmaWxlIGlmIGl0IHdhbnRzIHRvLgorICMgUHJlZmVyIGV4cGxpY2l0bHkgc2VsZWN0ZWQgZmlsZSB0byBhdXRvbWF0aWNhbGx5IHNlbGVjdGVkIG9uZXMuCisgaWYgdGVzdCAteiAiJENPTkZJR19TSVRFIjsgdGhlbgorICAgaWYgdGVzdCAieCRwcmVmaXgiICE9IHhOT05FOyB0aGVuCitAQCAtMTE3MSwxMDYgKzQ5OCw0MiBAQAorIGZpCisgZm9yIGFjX3NpdGVfZmlsZSBpbiAkQ09ORklHX1NJVEU7IGRvCisgICBpZiB0ZXN0IC1yICIkYWNfc2l0ZV9maWxlIjsgdGhlbgorLSAgICB7IGVjaG8gIiRhc19tZTokTElORU5POiBsb2FkaW5nIHNpdGUgc2NyaXB0ICRhY19zaXRlX2ZpbGUiID4mNQorLWVjaG8gIiRhc19tZTogbG9hZGluZyBzaXRlIHNjcmlwdCAkYWNfc2l0ZV9maWxlIiA+JjY7fQorLSAgICBzZWQgJ3MvXi98IC8nICIkYWNfc2l0ZV9maWxlIiA+JjUKKysgICAgZWNobyAibG9hZGluZyBzaXRlIHNjcmlwdCAkYWNfc2l0ZV9maWxlIgorICAgICAuICIkYWNfc2l0ZV9maWxlIgorICAgZmkKKyBkb25lCisgCisgaWYgdGVzdCAtciAiJGNhY2hlX2ZpbGUiOyB0aGVuCistICAjIFNvbWUgdmVyc2lvbnMgb2YgYmFzaCB3aWxsIGZhaWwgdG8gc291cmNlIC9kZXYvbnVsbCAoc3BlY2lhbAorLSAgIyBmaWxlcyBhY3R1YWxseSksIHNvIHdlIGF2b2lkIGRvaW5nIHRoYXQuCistICBpZiB0ZXN0IC1mICIkY2FjaGVfZmlsZSI7IHRoZW4KKy0gICAgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogbG9hZGluZyBjYWNoZSAkY2FjaGVfZmlsZSIgPiY1CistZWNobyAiJGFzX21lOiBsb2FkaW5nIGNhY2hlICRjYWNoZV9maWxlIiA+JjY7fQorLSAgICBjYXNlICRjYWNoZV9maWxlIGluCistICAgICAgW1xcL10qIHwgPzpbXFwvXSogKSAuICRjYWNoZV9maWxlOzsKKy0gICAgICAqKSAgICAgICAgICAgICAgICAgICAgICAuIC4vJGNhY2hlX2ZpbGU7OworLSAgICBlc2FjCistICBmaQorKyAgZWNobyAibG9hZGluZyBjYWNoZSAkY2FjaGVfZmlsZSIKKysgIC4gJGNhY2hlX2ZpbGUKKyBlbHNlCistICB7IGVjaG8gIiRhc19tZTokTElORU5POiBjcmVhdGluZyBjYWNoZSAkY2FjaGVfZmlsZSIgPiY1CistZWNobyAiJGFzX21lOiBjcmVhdGluZyBjYWNoZSAkY2FjaGVfZmlsZSIgPiY2O30KKy0gID4kY2FjaGVfZmlsZQorKyAgZWNobyAiY3JlYXRpbmcgY2FjaGUgJGNhY2hlX2ZpbGUiCisrICA+ICRjYWNoZV9maWxlCisgZmkKKyAKKy0jIENoZWNrIHRoYXQgdGhlIHByZWNpb3VzIHZhcmlhYmxlcyBzYXZlZCBpbiB0aGUgY2FjaGUgaGF2ZSBrZXB0IHRoZSBzYW1lCistIyB2YWx1ZS4KKy1hY19jYWNoZV9jb3JydXB0ZWQ9ZmFsc2UKKy1mb3IgYWNfdmFyIGluIGAoc2V0KSAyPiYxIHwKKy0gICAgICAgICAgICAgICBzZWQgLW4gJ3MvXmFjX2Vudl9cKFthLXpBLVpfMC05XSpcKV9zZXQ9LiovXDEvcCdgOyBkbworLSAgZXZhbCBhY19vbGRfc2V0PVwkYWNfY3ZfZW52XyR7YWNfdmFyfV9zZXQKKy0gIGV2YWwgYWNfbmV3X3NldD1cJGFjX2Vudl8ke2FjX3Zhcn1fc2V0CistICBldmFsIGFjX29sZF92YWw9IlwkYWNfY3ZfZW52XyR7YWNfdmFyfV92YWx1ZSIKKy0gIGV2YWwgYWNfbmV3X3ZhbD0iXCRhY19lbnZfJHthY192YXJ9X3ZhbHVlIgorLSAgY2FzZSAkYWNfb2xkX3NldCwkYWNfbmV3X3NldCBpbgorLSAgICBzZXQsKQorLSAgICAgIHsgZWNobyAiJGFzX21lOiRMSU5FTk86IGVycm9yOiBcYCRhY192YXInIHdhcyBzZXQgdG8gXGAkYWNfb2xkX3ZhbCcgaW4gdGhlIHByZXZpb3VzIHJ1biIgPiY1CistZWNobyAiJGFzX21lOiBlcnJvcjogXGAkYWNfdmFyJyB3YXMgc2V0IHRvIFxgJGFjX29sZF92YWwnIGluIHRoZSBwcmV2aW91cyBydW4iID4mMjt9CistICAgICAgYWNfY2FjaGVfY29ycnVwdGVkPTogOzsKKy0gICAgLHNldCkKKy0gICAgICB7IGVjaG8gIiRhc19tZTokTElORU5POiBlcnJvcjogXGAkYWNfdmFyJyB3YXMgbm90IHNldCBpbiB0aGUgcHJldmlvdXMgcnVuIiA+JjUKKy1lY2hvICIkYXNfbWU6IGVycm9yOiBcYCRhY192YXInIHdhcyBub3Qgc2V0IGluIHRoZSBwcmV2aW91cyBydW4iID4mMjt9CistICAgICAgYWNfY2FjaGVfY29ycnVwdGVkPTogOzsKKy0gICAgLCk7OworLSAgICAqKQorLSAgICAgIGlmIHRlc3QgIngkYWNfb2xkX3ZhbCIgIT0gIngkYWNfbmV3X3ZhbCI7IHRoZW4KKy0gICAgICAgIHsgZWNobyAiJGFzX21lOiRMSU5FTk86IGVycm9yOiBcYCRhY192YXInIGhhcyBjaGFuZ2VkIHNpbmNlIHRoZSBwcmV2aW91cyBydW46IiA+JjUKKy1lY2hvICIkYXNfbWU6IGVycm9yOiBcYCRhY192YXInIGhhcyBjaGFuZ2VkIHNpbmNlIHRoZSBwcmV2aW91cyBydW46IiA+JjI7fQorLSAgICAgICAgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogICBmb3JtZXIgdmFsdWU6ICAkYWNfb2xkX3ZhbCIgPiY1CistZWNobyAiJGFzX21lOiAgIGZvcm1lciB2YWx1ZTogICRhY19vbGRfdmFsIiA+JjI7fQorLSAgICAgICAgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogICBjdXJyZW50IHZhbHVlOiAkYWNfbmV3X3ZhbCIgPiY1CistZWNobyAiJGFzX21lOiAgIGN1cnJlbnQgdmFsdWU6ICRhY19uZXdfdmFsIiA+JjI7fQorLSAgICAgICAgYWNfY2FjaGVfY29ycnVwdGVkPToKKy0gICAgICBmaTs7CistICBlc2FjCistICAjIFBhc3MgcHJlY2lvdXMgdmFyaWFibGVzIHRvIGNvbmZpZy5zdGF0dXMuCistICBpZiB0ZXN0ICIkYWNfbmV3X3NldCIgPSBzZXQ7IHRoZW4KKy0gICAgY2FzZSAkYWNfbmV3X3ZhbCBpbgorLSAgICAqIiAiKnwqIgkiKnwqW1xbXF1cflwjXCRcXlwmXCpcKFwpXHtcfVxcXHxcO1w8XD5cP1wiXCddKikKKy0gICAgICBhY19hcmc9JGFjX3Zhcj1gZWNobyAiJGFjX25ld192YWwiIHwgc2VkICJzLycvJ1xcXFxcXFxcJycvZyJgIDs7CistICAgICopIGFjX2FyZz0kYWNfdmFyPSRhY19uZXdfdmFsIDs7CistICAgIGVzYWMKKy0gICAgY2FzZSAiICRhY19jb25maWd1cmVfYXJncyAiIGluCistICAgICAgKiIgJyRhY19hcmcnICIqKSA7OyAjIEF2b2lkIGR1cHMuICBVc2Ugb2YgcXVvdGVzIGVuc3VyZXMgYWNjdXJhY3kuCistICAgICAgKikgYWNfY29uZmlndXJlX2FyZ3M9IiRhY19jb25maWd1cmVfYXJncyAnJGFjX2FyZyciIDs7CistICAgIGVzYWMKKy0gIGZpCistZG9uZQorLWlmICRhY19jYWNoZV9jb3JydXB0ZWQ7IHRoZW4KKy0gIHsgZWNobyAiJGFzX21lOiRMSU5FTk86IGVycm9yOiBjaGFuZ2VzIGluIHRoZSBlbnZpcm9ubWVudCBjYW4gY29tcHJvbWlzZSB0aGUgYnVpbGQiID4mNQorLWVjaG8gIiRhc19tZTogZXJyb3I6IGNoYW5nZXMgaW4gdGhlIGVudmlyb25tZW50IGNhbiBjb21wcm9taXNlIHRoZSBidWlsZCIgPiYyO30KKy0gIHsgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogZXJyb3I6IHJ1biBcYG1ha2UgZGlzdGNsZWFuJyBhbmQvb3IgXGBybSAkY2FjaGVfZmlsZScgYW5kIHN0YXJ0IG92ZXIiID4mNQorLWVjaG8gIiRhc19tZTogZXJyb3I6IHJ1biBcYG1ha2UgZGlzdGNsZWFuJyBhbmQvb3IgXGBybSAkY2FjaGVfZmlsZScgYW5kIHN0YXJ0IG92ZXIiID4mMjt9CistICAgeyAoZXhpdCAxKTsgZXhpdCAxOyB9OyB9CistZmkKKy0KKyBhY19leHQ9YworKyMgQ0ZMQUdTIGlzIG5vdCBpbiBhY19jcHAgYmVjYXVzZSAtZywgLU8sIGV0Yy4gYXJlIG5vdCB2YWxpZCBjcHAgb3B0aW9ucy4KKyBhY19jcHA9JyRDUFAgJENQUEZMQUdTJworLWFjX2NvbXBpbGU9JyRDQyAtYyAkQ0ZMQUdTICRDUFBGTEFHUyBjb25mdGVzdC4kYWNfZXh0ID4mNScKKy1hY19saW5rPSckQ0MgLW8gY29uZnRlc3QkYWNfZXhlZXh0ICRDRkxBR1MgJENQUEZMQUdTICRMREZMQUdTIGNvbmZ0ZXN0LiRhY19leHQgJExJQlMgPiY1JworLWFjX2NvbXBpbGVyX2dudT0kYWNfY3ZfY19jb21waWxlcl9nbnUKKythY19jb21waWxlPScke0NDLWNjfSAtYyAkQ0ZMQUdTICRDUFBGTEFHUyBjb25mdGVzdC4kYWNfZXh0IDE+JjUnCisrYWNfbGluaz0nJHtDQy1jY30gLW8gY29uZnRlc3Qke2FjX2V4ZWV4dH0gJENGTEFHUyAkQ1BQRkxBR1MgJExERkxBR1MgY29uZnRlc3QuJGFjX2V4dCAkTElCUyAxPiY1JworK2Nyb3NzX2NvbXBpbGluZz0kYWNfY3ZfcHJvZ19jY19jcm9zcworIAorK2FjX2V4ZWV4dD0KKythY19vYmpleHQ9bworK2lmIChlY2hvICJ0ZXN0aW5nXGMiOyBlY2hvIDEsMiwzKSB8IGdyZXAgYyA+L2Rldi9udWxsOyB0aGVuCisrICAjIFN0YXJkZW50IFZpc3RyYSBTVlI0IGdyZXAgbGFja3MgLWUsIHNheXMgZ2hhemlAY2FpcC5ydXRnZXJzLmVkdS4KKysgIGlmIChlY2hvIC1uIHRlc3Rpbmc7IGVjaG8gMSwyLDMpIHwgc2VkIHMvLW4veG4vIHwgZ3JlcCB4biA+L2Rldi9udWxsOyB0aGVuCisrICAgIGFjX249IGFjX2M9JworKycgYWNfdD0nCScKKysgIGVsc2UKKysgICAgYWNfbj0tbiBhY19jPSBhY190PQorKyAgZmkKKytlbHNlCisrICBhY19uPSBhY19jPSdcYycgYWNfdD0KKytmaQorIAorIAorIAorLQorLQorLQorLQorLQorLQorLQorLQorLQorLQorLQorLQorLQorLQorLQorLQorIGFjX2F1eF9kaXI9CisgZm9yIGFjX2RpciBpbiAkc3JjZGlyICRzcmNkaXIvLi4gJHNyY2Rpci8uLi8uLjsgZG8KKyAgIGlmIHRlc3QgLWYgJGFjX2Rpci9pbnN0YWxsLXNoOyB0aGVuCitAQCAtMTI4MSw3NDAgKzU0NCwzMTIgQEAKKyAgICAgYWNfYXV4X2Rpcj0kYWNfZGlyCisgICAgIGFjX2luc3RhbGxfc2g9IiRhY19hdXhfZGlyL2luc3RhbGwuc2ggLWMiCisgICAgIGJyZWFrCistICBlbGlmIHRlc3QgLWYgJGFjX2Rpci9zaHRvb2w7IHRoZW4KKy0gICAgYWNfYXV4X2Rpcj0kYWNfZGlyCistICAgIGFjX2luc3RhbGxfc2g9IiRhY19hdXhfZGlyL3NodG9vbCBpbnN0YWxsIC1jIgorLSAgICBicmVhaworICAgZmkKKyBkb25lCisgaWYgdGVzdCAteiAiJGFjX2F1eF9kaXIiOyB0aGVuCistICB7IHsgZWNobyAiJGFzX21lOiRMSU5FTk86IGVycm9yOiBjYW5ub3QgZmluZCBpbnN0YWxsLXNoIG9yIGluc3RhbGwuc2ggaW4gJHNyY2RpciAkc3JjZGlyLy4uICRzcmNkaXIvLi4vLi4iID4mNQorLWVjaG8gIiRhc19tZTogZXJyb3I6IGNhbm5vdCBmaW5kIGluc3RhbGwtc2ggb3IgaW5zdGFsbC5zaCBpbiAkc3JjZGlyICRzcmNkaXIvLi4gJHNyY2Rpci8uLi8uLiIgPiYyO30KKy0gICB7IChleGl0IDEpOyBleGl0IDE7IH07IH0KKysgIHsgZWNobyAiY29uZmlndXJlOiBlcnJvcjogY2FuIG5vdCBmaW5kIGluc3RhbGwtc2ggb3IgaW5zdGFsbC5zaCBpbiAkc3JjZGlyICRzcmNkaXIvLi4gJHNyY2Rpci8uLi8uLiIgMT4mMjsgZXhpdCAxOyB9CisgZmkKKy1hY19jb25maWdfZ3Vlc3M9IiRTSEVMTCAkYWNfYXV4X2Rpci9jb25maWcuZ3Vlc3MiCistYWNfY29uZmlnX3N1Yj0iJFNIRUxMICRhY19hdXhfZGlyL2NvbmZpZy5zdWIiCistYWNfY29uZmlndXJlPSIkU0hFTEwgJGFjX2F1eF9kaXIvY29uZmlndXJlIiAjIFRoaXMgc2hvdWxkIGJlIEN5Z251cyBjb25maWd1cmUuCisrYWNfY29uZmlnX2d1ZXNzPSRhY19hdXhfZGlyL2NvbmZpZy5ndWVzcworK2FjX2NvbmZpZ19zdWI9JGFjX2F1eF9kaXIvY29uZmlnLnN1YgorK2FjX2NvbmZpZ3VyZT0kYWNfYXV4X2Rpci9jb25maWd1cmUgIyBUaGlzIHNob3VsZCBiZSBDeWdudXMgY29uZmlndXJlLgorIAorLSMgTWFrZSBzdXJlIHdlIGNhbiBydW4gY29uZmlnLnN1Yi4KKy0kYWNfY29uZmlnX3N1YiBzdW40ID4vZGV2L251bGwgMj4mMSB8fAorLSAgeyB7IGVjaG8gIiRhc19tZTokTElORU5POiBlcnJvcjogY2Fubm90IHJ1biAkYWNfY29uZmlnX3N1YiIgPiY1CistZWNobyAiJGFzX21lOiBlcnJvcjogY2Fubm90IHJ1biAkYWNfY29uZmlnX3N1YiIgPiYyO30KKy0gICB7IChleGl0IDEpOyBleGl0IDE7IH07IH0KKyAKKy1lY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgYnVpbGQgc3lzdGVtIHR5cGUiID4mNQorLWVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgYnVpbGQgc3lzdGVtIHR5cGUuLi4gJEVDSE9fQyIgPiY2CistaWYgdGVzdCAiJHthY19jdl9idWlsZCtzZXR9IiA9IHNldDsgdGhlbgorLSAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKKy1lbHNlCistICBhY19jdl9idWlsZF9hbGlhcz0kYnVpbGRfYWxpYXMKKy10ZXN0IC16ICIkYWNfY3ZfYnVpbGRfYWxpYXMiICYmCistICBhY19jdl9idWlsZF9hbGlhcz1gJGFjX2NvbmZpZ19ndWVzc2AKKy10ZXN0IC16ICIkYWNfY3ZfYnVpbGRfYWxpYXMiICYmCistICB7IHsgZWNobyAiJGFzX21lOiRMSU5FTk86IGVycm9yOiBjYW5ub3QgZ3Vlc3MgYnVpbGQgdHlwZTsgeW91IG11c3Qgc3BlY2lmeSBvbmUiID4mNQorLWVjaG8gIiRhc19tZTogZXJyb3I6IGNhbm5vdCBndWVzcyBidWlsZCB0eXBlOyB5b3UgbXVzdCBzcGVjaWZ5IG9uZSIgPiYyO30KKy0gICB7IChleGl0IDEpOyBleGl0IDE7IH07IH0KKy1hY19jdl9idWlsZD1gJGFjX2NvbmZpZ19zdWIgJGFjX2N2X2J1aWxkX2FsaWFzYCB8fAorLSAgeyB7IGVjaG8gIiRhc19tZTokTElORU5POiBlcnJvcjogJGFjX2NvbmZpZ19zdWIgJGFjX2N2X2J1aWxkX2FsaWFzIGZhaWxlZCIgPiY1CistZWNobyAiJGFzX21lOiBlcnJvcjogJGFjX2NvbmZpZ19zdWIgJGFjX2N2X2J1aWxkX2FsaWFzIGZhaWxlZCIgPiYyO30KKy0gICB7IChleGl0IDEpOyBleGl0IDE7IH07IH0KKysjIERvIHNvbWUgZXJyb3IgY2hlY2tpbmcgYW5kIGRlZmF1bHRpbmcgZm9yIHRoZSBob3N0IGFuZCB0YXJnZXQgdHlwZS4KKysjIFRoZSBpbnB1dHMgYXJlOgorKyMgICAgY29uZmlndXJlIC0taG9zdD1IT1NUIC0tdGFyZ2V0PVRBUkdFVCAtLWJ1aWxkPUJVSUxEIE5PTk9QVAorKyMKKysjIFRoZSBydWxlcyBhcmU6CisrIyAxLiBZb3UgYXJlIG5vdCBhbGxvd2VkIHRvIHNwZWNpZnkgLS1ob3N0LCAtLXRhcmdldCwgYW5kIG5vbm9wdCBhdCB0aGUKKysjICAgIHNhbWUgdGltZS4KKysjIDIuIEhvc3QgZGVmYXVsdHMgdG8gbm9ub3B0LgorKyMgMy4gSWYgbm9ub3B0IGlzIG5vdCBzcGVjaWZpZWQsIHRoZW4gaG9zdCBkZWZhdWx0cyB0byB0aGUgY3VycmVudCBob3N0LAorKyMgICAgYXMgZGV0ZXJtaW5lZCBieSBjb25maWcuZ3Vlc3MuCisrIyA0LiBUYXJnZXQgYW5kIGJ1aWxkIGRlZmF1bHQgdG8gbm9ub3B0LgorKyMgNS4gSWYgbm9ub3B0IGlzIG5vdCBzcGVjaWZpZWQsIHRoZW4gdGFyZ2V0IGFuZCBidWlsZCBkZWZhdWx0IHRvIGhvc3QuCisgCisrIyBUaGUgYWxpYXNlcyBzYXZlIHRoZSBuYW1lcyB0aGUgdXNlciBzdXBwbGllZCwgd2hpbGUgJGhvc3QgZXRjLgorKyMgd2lsbCBnZXQgY2Fub25pY2FsaXplZC4KKytjYXNlICRob3N0LS0tJHRhcmdldC0tLSRub25vcHQgaW4KKytOT05FLS0tKi0tLSogfCAqLS0tTk9ORS0tLSogfCAqLS0tKi0tLU5PTkUpIDs7CisrKikgeyBlY2hvICJjb25maWd1cmU6IGVycm9yOiBjYW4gb25seSBjb25maWd1cmUgZm9yIG9uZSBob3N0IGFuZCBvbmUgdGFyZ2V0IGF0IGEgdGltZSIgMT4mMjsgZXhpdCAxOyB9IDs7CisrZXNhYworKworKworKyMgTWFrZSBzdXJlIHdlIGNhbiBydW4gY29uZmlnLnN1Yi4KKytpZiAke0NPTkZJR19TSEVMTC0vYmluL3NofSAkYWNfY29uZmlnX3N1YiBzdW40ID4vZGV2L251bGwgMj4mMTsgdGhlbiA6CisrZWxzZSB7IGVjaG8gImNvbmZpZ3VyZTogZXJyb3I6IGNhbiBub3QgcnVuICRhY19jb25maWdfc3ViIiAxPiYyOyBleGl0IDE7IH0KKyBmaQorLWVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRhY19jdl9idWlsZCIgPiY1CistZWNobyAiJHtFQ0hPX1R9JGFjX2N2X2J1aWxkIiA+JjYKKy1idWlsZD0kYWNfY3ZfYnVpbGQKKy1idWlsZF9jcHU9YGVjaG8gJGFjX2N2X2J1aWxkIHwgc2VkICdzL15cKFteLV0qXCktXChbXi1dKlwpLVwoLipcKSQvXDEvJ2AKKy1idWlsZF92ZW5kb3I9YGVjaG8gJGFjX2N2X2J1aWxkIHwgc2VkICdzL15cKFteLV0qXCktXChbXi1dKlwpLVwoLipcKSQvXDIvJ2AKKy1idWlsZF9vcz1gZWNobyAkYWNfY3ZfYnVpbGQgfCBzZWQgJ3MvXlwoW14tXSpcKS1cKFteLV0qXCktXCguKlwpJC9cMy8nYAorIAorK2VjaG8gJGFjX24gImNoZWNraW5nIGhvc3Qgc3lzdGVtIHR5cGUiIi4uLiAkYWNfYyIgMT4mNgorK2VjaG8gImNvbmZpZ3VyZTo1ODU6IGNoZWNraW5nIGhvc3Qgc3lzdGVtIHR5cGUiID4mNQorIAorLWVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBob3N0IHN5c3RlbSB0eXBlIiA+JjUKKy1lY2hvICRFQ0hPX04gImNoZWNraW5nIGhvc3Qgc3lzdGVtIHR5cGUuLi4gJEVDSE9fQyIgPiY2CistaWYgdGVzdCAiJHthY19jdl9ob3N0K3NldH0iID0gc2V0OyB0aGVuCistICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorLWVsc2UKKy0gIGFjX2N2X2hvc3RfYWxpYXM9JGhvc3RfYWxpYXMKKy10ZXN0IC16ICIkYWNfY3ZfaG9zdF9hbGlhcyIgJiYKKy0gIGFjX2N2X2hvc3RfYWxpYXM9JGFjX2N2X2J1aWxkX2FsaWFzCistYWNfY3ZfaG9zdD1gJGFjX2NvbmZpZ19zdWIgJGFjX2N2X2hvc3RfYWxpYXNgIHx8CistICB7IHsgZWNobyAiJGFzX21lOiRMSU5FTk86IGVycm9yOiAkYWNfY29uZmlnX3N1YiAkYWNfY3ZfaG9zdF9hbGlhcyBmYWlsZWQiID4mNQorLWVjaG8gIiRhc19tZTogZXJyb3I6ICRhY19jb25maWdfc3ViICRhY19jdl9ob3N0X2FsaWFzIGZhaWxlZCIgPiYyO30KKy0gICB7IChleGl0IDEpOyBleGl0IDE7IH07IH0KKytob3N0X2FsaWFzPSRob3N0CisrY2FzZSAiJGhvc3RfYWxpYXMiIGluCisrTk9ORSkKKysgIGNhc2UgJG5vbm9wdCBpbgorKyAgTk9ORSkKKysgICAgaWYgaG9zdF9hbGlhcz1gJHtDT05GSUdfU0hFTEwtL2Jpbi9zaH0gJGFjX2NvbmZpZ19ndWVzc2A7IHRoZW4gOgorKyAgICBlbHNlIHsgZWNobyAiY29uZmlndXJlOiBlcnJvcjogY2FuIG5vdCBndWVzcyBob3N0IHR5cGU7IHlvdSBtdXN0IHNwZWNpZnkgb25lIiAxPiYyOyBleGl0IDE7IH0KKysgICAgZmkgOzsKKysgICopIGhvc3RfYWxpYXM9JG5vbm9wdCA7OworKyAgZXNhYyA7OworK2VzYWMKKyAKKy1maQorLWVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRhY19jdl9ob3N0IiA+JjUKKy1lY2hvICIke0VDSE9fVH0kYWNfY3ZfaG9zdCIgPiY2CistaG9zdD0kYWNfY3ZfaG9zdAorLWhvc3RfY3B1PWBlY2hvICRhY19jdl9ob3N0IHwgc2VkICdzL15cKFteLV0qXCktXChbXi1dKlwpLVwoLipcKSQvXDEvJ2AKKy1ob3N0X3ZlbmRvcj1gZWNobyAkYWNfY3ZfaG9zdCB8IHNlZCAncy9eXChbXi1dKlwpLVwoW14tXSpcKS1cKC4qXCkkL1wyLydgCistaG9zdF9vcz1gZWNobyAkYWNfY3ZfaG9zdCB8IHNlZCAncy9eXChbXi1dKlwpLVwoW14tXSpcKS1cKC4qXCkkL1wzLydgCisraG9zdD1gJHtDT05GSUdfU0hFTEwtL2Jpbi9zaH0gJGFjX2NvbmZpZ19zdWIgJGhvc3RfYWxpYXNgCisraG9zdF9jcHU9YGVjaG8gJGhvc3QgfCBzZWQgJ3MvXlwoW14tXSpcKS1cKFteLV0qXCktXCguKlwpJC9cMS8nYAorK2hvc3RfdmVuZG9yPWBlY2hvICRob3N0IHwgc2VkICdzL15cKFteLV0qXCktXChbXi1dKlwpLVwoLipcKSQvXDIvJ2AKKytob3N0X29zPWBlY2hvICRob3N0IHwgc2VkICdzL15cKFteLV0qXCktXChbXi1dKlwpLVwoLipcKSQvXDMvJ2AKKytlY2hvICIkYWNfdCIiJGhvc3QiIDE+JjYKKyAKKytlY2hvICRhY19uICJjaGVja2luZyB0YXJnZXQgc3lzdGVtIHR5cGUiIi4uLiAkYWNfYyIgMT4mNgorK2VjaG8gImNvbmZpZ3VyZTo2MDY6IGNoZWNraW5nIHRhcmdldCBzeXN0ZW0gdHlwZSIgPiY1CisgCistZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIHRhcmdldCBzeXN0ZW0gdHlwZSIgPiY1CistZWNobyAkRUNIT19OICJjaGVja2luZyB0YXJnZXQgc3lzdGVtIHR5cGUuLi4gJEVDSE9fQyIgPiY2CistaWYgdGVzdCAiJHthY19jdl90YXJnZXQrc2V0fSIgPSBzZXQ7IHRoZW4KKy0gIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CistZWxzZQorLSAgYWNfY3ZfdGFyZ2V0X2FsaWFzPSR0YXJnZXRfYWxpYXMKKy10ZXN0ICJ4JGFjX2N2X3RhcmdldF9hbGlhcyIgPSAieCIgJiYKKy0gIGFjX2N2X3RhcmdldF9hbGlhcz0kYWNfY3ZfaG9zdF9hbGlhcworLWFjX2N2X3RhcmdldD1gJGFjX2NvbmZpZ19zdWIgJGFjX2N2X3RhcmdldF9hbGlhc2AgfHwKKy0gIHsgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogZXJyb3I6ICRhY19jb25maWdfc3ViICRhY19jdl90YXJnZXRfYWxpYXMgZmFpbGVkIiA+JjUKKy1lY2hvICIkYXNfbWU6IGVycm9yOiAkYWNfY29uZmlnX3N1YiAkYWNfY3ZfdGFyZ2V0X2FsaWFzIGZhaWxlZCIgPiYyO30KKy0gICB7IChleGl0IDEpOyBleGl0IDE7IH07IH0KKyt0YXJnZXRfYWxpYXM9JHRhcmdldAorK2Nhc2UgIiR0YXJnZXRfYWxpYXMiIGluCisrTk9ORSkKKysgIGNhc2UgJG5vbm9wdCBpbgorKyAgTk9ORSkgdGFyZ2V0X2FsaWFzPSRob3N0X2FsaWFzIDs7CisrICAqKSB0YXJnZXRfYWxpYXM9JG5vbm9wdCA7OworKyAgZXNhYyA7OworK2VzYWMKKyAKKy1maQorLWVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRhY19jdl90YXJnZXQiID4mNQorLWVjaG8gIiR7RUNIT19UfSRhY19jdl90YXJnZXQiID4mNgorLXRhcmdldD0kYWNfY3ZfdGFyZ2V0CistdGFyZ2V0X2NwdT1gZWNobyAkYWNfY3ZfdGFyZ2V0IHwgc2VkICdzL15cKFteLV0qXCktXChbXi1dKlwpLVwoLipcKSQvXDEvJ2AKKy10YXJnZXRfdmVuZG9yPWBlY2hvICRhY19jdl90YXJnZXQgfCBzZWQgJ3MvXlwoW14tXSpcKS1cKFteLV0qXCktXCguKlwpJC9cMi8nYAorLXRhcmdldF9vcz1gZWNobyAkYWNfY3ZfdGFyZ2V0IHwgc2VkICdzL15cKFteLV0qXCktXChbXi1dKlwpLVwoLipcKSQvXDMvJ2AKKyt0YXJnZXQ9YCR7Q09ORklHX1NIRUxMLS9iaW4vc2h9ICRhY19jb25maWdfc3ViICR0YXJnZXRfYWxpYXNgCisrdGFyZ2V0X2NwdT1gZWNobyAkdGFyZ2V0IHwgc2VkICdzL15cKFteLV0qXCktXChbXi1dKlwpLVwoLipcKSQvXDEvJ2AKKyt0YXJnZXRfdmVuZG9yPWBlY2hvICR0YXJnZXQgfCBzZWQgJ3MvXlwoW14tXSpcKS1cKFteLV0qXCktXCguKlwpJC9cMi8nYAorK3RhcmdldF9vcz1gZWNobyAkdGFyZ2V0IHwgc2VkICdzL15cKFteLV0qXCktXChbXi1dKlwpLVwoLipcKSQvXDMvJ2AKKytlY2hvICIkYWNfdCIiJHRhcmdldCIgMT4mNgorIAorK2VjaG8gJGFjX24gImNoZWNraW5nIGJ1aWxkIHN5c3RlbSB0eXBlIiIuLi4gJGFjX2MiIDE+JjYKKytlY2hvICJjb25maWd1cmU6NjI0OiBjaGVja2luZyBidWlsZCBzeXN0ZW0gdHlwZSIgPiY1CisgCistIyBUaGUgYWxpYXNlcyBzYXZlIHRoZSBuYW1lcyB0aGUgdXNlciBzdXBwbGllZCwgd2hpbGUgJGhvc3QgZXRjLgorLSMgd2lsbCBnZXQgY2Fub25pY2FsaXplZC4KKy10ZXN0IC1uICIkdGFyZ2V0X2FsaWFzIiAmJgorK2J1aWxkX2FsaWFzPSRidWlsZAorK2Nhc2UgIiRidWlsZF9hbGlhcyIgaW4KKytOT05FKQorKyAgY2FzZSAkbm9ub3B0IGluCisrICBOT05FKSBidWlsZF9hbGlhcz0kaG9zdF9hbGlhcyA7OworKyAgKikgYnVpbGRfYWxpYXM9JG5vbm9wdCA7OworKyAgZXNhYyA7OworK2VzYWMKKysKKytidWlsZD1gJHtDT05GSUdfU0hFTEwtL2Jpbi9zaH0gJGFjX2NvbmZpZ19zdWIgJGJ1aWxkX2FsaWFzYAorK2J1aWxkX2NwdT1gZWNobyAkYnVpbGQgfCBzZWQgJ3MvXlwoW14tXSpcKS1cKFteLV0qXCktXCguKlwpJC9cMS8nYAorK2J1aWxkX3ZlbmRvcj1gZWNobyAkYnVpbGQgfCBzZWQgJ3MvXlwoW14tXSpcKS1cKFteLV0qXCktXCguKlwpJC9cMi8nYAorK2J1aWxkX29zPWBlY2hvICRidWlsZCB8IHNlZCAncy9eXChbXi1dKlwpLVwoW14tXSpcKS1cKC4qXCkkL1wzLydgCisrZWNobyAiJGFjX3QiIiRidWlsZCIgMT4mNgorKworK3Rlc3QgIiRob3N0X2FsaWFzIiAhPSAiJHRhcmdldF9hbGlhcyIgJiYKKyAgIHRlc3QgIiRwcm9ncmFtX3ByZWZpeCRwcm9ncmFtX3N1ZmZpeCRwcm9ncmFtX3RyYW5zZm9ybV9uYW1lIiA9IFwKKyAgICAgTk9ORU5PTkVzLHgseCwgJiYKKyAgIHByb2dyYW1fcHJlZml4PSR7dGFyZ2V0X2FsaWFzfS0KKy1hY19leHQ9YworLWFjX2NwcD0nJENQUCAkQ1BQRkxBR1MnCistYWNfY29tcGlsZT0nJENDIC1jICRDRkxBR1MgJENQUEZMQUdTIGNvbmZ0ZXN0LiRhY19leHQgPiY1JworLWFjX2xpbms9JyRDQyAtbyBjb25mdGVzdCRhY19leGVleHQgJENGTEFHUyAkQ1BQRkxBR1MgJExERkxBR1MgY29uZnRlc3QuJGFjX2V4dCAkTElCUyA+JjUnCistYWNfY29tcGlsZXJfZ251PSRhY19jdl9jX2NvbXBpbGVyX2dudQorLWlmIHRlc3QgLW4gIiRhY190b29sX3ByZWZpeCI7IHRoZW4KKy0gICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJHthY190b29sX3ByZWZpeH1nY2MiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorLXNldCBkdW1teSAke2FjX3Rvb2xfcHJlZml4fWdjYzsgYWNfd29yZD0kMgorLWVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorLWVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICRFQ0hPX0MiID4mNgorLWlmIHRlc3QgIiR7YWNfY3ZfcHJvZ19DQytzZXR9IiA9IHNldDsgdGhlbgorLSAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKKy1lbHNlCistICBpZiB0ZXN0IC1uICIkQ0MiOyB0aGVuCistICBhY19jdl9wcm9nX0NDPSIkQ0MiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgorLWVsc2UKKy1hc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCistZm9yIGFzX2RpciBpbiAkUEFUSAorLWRvCistICBJRlM9JGFzX3NhdmVfSUZTCistICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgorLSAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCistICBpZiAkYXNfZXhlY3V0YWJsZV9wICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgdGhlbgorLSAgICBhY19jdl9wcm9nX0NDPSIke2FjX3Rvb2xfcHJlZml4fWdjYyIKKy0gICAgZWNobyAiJGFzX21lOiRMSU5FTk86IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQorLSAgICBicmVhayAyCistICBmaQorLWRvbmUKKy1kb25lCisgCistZmkKKy1maQorLUNDPSRhY19jdl9wcm9nX0NDCistaWYgdGVzdCAtbiAiJENDIjsgdGhlbgorLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJENDIiA+JjUKKy1lY2hvICIke0VDSE9fVH0kQ0MiID4mNgorLWVsc2UKKy0gIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6IG5vIiA+JjUKKy1lY2hvICIke0VDSE9fVH1ubyIgPiY2CistZmkKKy0KKy1maQorLWlmIHRlc3QgLXogIiRhY19jdl9wcm9nX0NDIjsgdGhlbgorLSAgYWNfY3RfQ0M9JENDCistICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgImdjYyIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCisrIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICJnY2MiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorIHNldCBkdW1teSBnY2M7IGFjX3dvcmQ9JDIKKy1lY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKKy1lY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAkRUNIT19DIiA+JjYKKy1pZiB0ZXN0ICIke2FjX2N2X3Byb2dfYWNfY3RfQ0Mrc2V0fSIgPSBzZXQ7IHRoZW4KKy0gIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CisrZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yICRhY193b3JkIiIuLi4gJGFjX2MiIDE+JjYKKytlY2hvICJjb25maWd1cmU6NjQ5OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorK2lmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9wcm9nX0NDJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKysgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorLSAgaWYgdGVzdCAtbiAiJGFjX2N0X0NDIjsgdGhlbgorLSAgYWNfY3ZfcHJvZ19hY19jdF9DQz0iJGFjX2N0X0NDIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KKy1lbHNlCistYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgorLWZvciBhc19kaXIgaW4gJFBBVEgKKy1kbworLSAgSUZTPSRhc19zYXZlX0lGUworLSAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKy0gIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbworLSAgaWYgJGFzX2V4ZWN1dGFibGVfcCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IHRoZW4KKy0gICAgYWNfY3ZfcHJvZ19hY19jdF9DQz0iZ2NjIgorLSAgICBlY2hvICIkYXNfbWU6JExJTkVOTzogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CistICAgIGJyZWFrIDIKKy0gIGZpCistZG9uZQorLWRvbmUKKy0KKy1maQorLWZpCistYWNfY3RfQ0M9JGFjX2N2X3Byb2dfYWNfY3RfQ0MKKy1pZiB0ZXN0IC1uICIkYWNfY3RfQ0MiOyB0aGVuCistICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkYWNfY3RfQ0MiID4mNQorLWVjaG8gIiR7RUNIT19UfSRhY19jdF9DQyIgPiY2CistZWxzZQorLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogbm8iID4mNQorLWVjaG8gIiR7RUNIT19UfW5vIiA+JjYKKy1maQorLQorLSAgQ0M9JGFjX2N0X0NDCistZWxzZQorLSAgQ0M9IiRhY19jdl9wcm9nX0NDIgorLWZpCistCistaWYgdGVzdCAteiAiJENDIjsgdGhlbgorLSAgaWYgdGVzdCAtbiAiJGFjX3Rvb2xfcHJlZml4IjsgdGhlbgorLSAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIke2FjX3Rvb2xfcHJlZml4fWNjIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KKy1zZXQgZHVtbXkgJHthY190b29sX3ByZWZpeH1jYzsgYWNfd29yZD0kMgorLWVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorLWVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICRFQ0hPX0MiID4mNgorLWlmIHRlc3QgIiR7YWNfY3ZfcHJvZ19DQytzZXR9IiA9IHNldDsgdGhlbgorLSAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKKy1lbHNlCisgICBpZiB0ZXN0IC1uICIkQ0MiOyB0aGVuCisgICBhY19jdl9wcm9nX0NDPSIkQ0MiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgorIGVsc2UKKy1hc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCistZm9yIGFzX2RpciBpbiAkUEFUSAorLWRvCistICBJRlM9JGFzX3NhdmVfSUZTCistICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgorLSAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCistICBpZiAkYXNfZXhlY3V0YWJsZV9wICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgdGhlbgorLSAgICBhY19jdl9wcm9nX0NDPSIke2FjX3Rvb2xfcHJlZml4fWNjIgorLSAgICBlY2hvICIkYXNfbWU6JExJTkVOTzogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CistICAgIGJyZWFrIDIKKy0gIGZpCistZG9uZQorLWRvbmUKKy0KKysgIElGUz0iJHtJRlM9IAl9IjsgYWNfc2F2ZV9pZnM9IiRJRlMiOyBJRlM9IjoiCisrICBhY19kdW1teT0iJFBBVEgiCisrICBmb3IgYWNfZGlyIGluICRhY19kdW1teTsgZG8KKysgICAgdGVzdCAteiAiJGFjX2RpciIgJiYgYWNfZGlyPS4KKysgICAgaWYgdGVzdCAtZiAkYWNfZGlyLyRhY193b3JkOyB0aGVuCisrICAgICAgYWNfY3ZfcHJvZ19DQz0iZ2NjIgorKyAgICAgIGJyZWFrCisrICAgIGZpCisrICBkb25lCisrICBJRlM9IiRhY19zYXZlX2lmcyIKKyBmaQorIGZpCistQ0M9JGFjX2N2X3Byb2dfQ0MKKytDQz0iJGFjX2N2X3Byb2dfQ0MiCisgaWYgdGVzdCAtbiAiJENDIjsgdGhlbgorLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJENDIiA+JjUKKy1lY2hvICIke0VDSE9fVH0kQ0MiID4mNgorKyAgZWNobyAiJGFjX3QiIiRDQyIgMT4mNgorIGVsc2UKKy0gIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6IG5vIiA+JjUKKy1lY2hvICIke0VDSE9fVH1ubyIgPiY2CisrICBlY2hvICIkYWNfdCIibm8iIDE+JjYKKyBmaQorIAorLWZpCistaWYgdGVzdCAteiAiJGFjX2N2X3Byb2dfQ0MiOyB0aGVuCistICBhY19jdF9DQz0kQ0MKKy0gICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiY2MiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorLXNldCBkdW1teSBjYzsgYWNfd29yZD0kMgorLWVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorLWVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICRFQ0hPX0MiID4mNgorLWlmIHRlc3QgIiR7YWNfY3ZfcHJvZ19hY19jdF9DQytzZXR9IiA9IHNldDsgdGhlbgorLSAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKKy1lbHNlCistICBpZiB0ZXN0IC1uICIkYWNfY3RfQ0MiOyB0aGVuCistICBhY19jdl9wcm9nX2FjX2N0X0NDPSIkYWNfY3RfQ0MiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgorLWVsc2UKKy1hc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCistZm9yIGFzX2RpciBpbiAkUEFUSAorLWRvCistICBJRlM9JGFzX3NhdmVfSUZTCistICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgorLSAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCistICBpZiAkYXNfZXhlY3V0YWJsZV9wICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgdGhlbgorLSAgICBhY19jdl9wcm9nX2FjX2N0X0NDPSJjYyIKKy0gICAgZWNobyAiJGFzX21lOiRMSU5FTk86IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQorLSAgICBicmVhayAyCistICBmaQorLWRvbmUKKy1kb25lCistCistZmkKKy1maQorLWFjX2N0X0NDPSRhY19jdl9wcm9nX2FjX2N0X0NDCistaWYgdGVzdCAtbiAiJGFjX2N0X0NDIjsgdGhlbgorLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGFjX2N0X0NDIiA+JjUKKy1lY2hvICIke0VDSE9fVH0kYWNfY3RfQ0MiID4mNgorLWVsc2UKKy0gIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6IG5vIiA+JjUKKy1lY2hvICIke0VDSE9fVH1ubyIgPiY2CistZmkKKy0KKy0gIENDPSRhY19jdF9DQworLWVsc2UKKy0gIENDPSIkYWNfY3ZfcHJvZ19DQyIKKy1maQorLQorLWZpCisgaWYgdGVzdCAteiAiJENDIjsgdGhlbgorICAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICJjYyIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCisgc2V0IGR1bW15IGNjOyBhY193b3JkPSQyCistZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CistZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gJEVDSE9fQyIgPiY2CistaWYgdGVzdCAiJHthY19jdl9wcm9nX0NDK3NldH0iID0gc2V0OyB0aGVuCistICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorK2VjaG8gJGFjX24gImNoZWNraW5nIGZvciAkYWNfd29yZCIiLi4uICRhY19jIiAxPiY2CisrZWNobyAiY29uZmlndXJlOjY3OTogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKKytpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfcHJvZ19DQycrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisrICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKyAgIGlmIHRlc3QgLW4gIiRDQyI7IHRoZW4KKyAgIGFjX2N2X3Byb2dfQ0M9IiRDQyIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCisgZWxzZQorKyAgSUZTPSIke0lGUz0gCX0iOyBhY19zYXZlX2lmcz0iJElGUyI7IElGUz0iOiIKKyAgIGFjX3Byb2dfcmVqZWN0ZWQ9bm8KKy1hc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCistZm9yIGFzX2RpciBpbiAkUEFUSAorLWRvCistICBJRlM9JGFzX3NhdmVfSUZTCistICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgorLSAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCistICBpZiAkYXNfZXhlY3V0YWJsZV9wICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgdGhlbgorLSAgICBpZiB0ZXN0ICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA9ICIvdXNyL3VjYi9jYyI7IHRoZW4KKy0gICAgICAgYWNfcHJvZ19yZWplY3RlZD15ZXMKKy0gICAgICAgY29udGludWUKKy0gICAgIGZpCistICAgIGFjX2N2X3Byb2dfQ0M9ImNjIgorLSAgICBlY2hvICIkYXNfbWU6JExJTkVOTzogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CistICAgIGJyZWFrIDIKKy0gIGZpCistZG9uZQorLWRvbmUKKy0KKysgIGFjX2R1bW15PSIkUEFUSCIKKysgIGZvciBhY19kaXIgaW4gJGFjX2R1bW15OyBkbworKyAgICB0ZXN0IC16ICIkYWNfZGlyIiAmJiBhY19kaXI9LgorKyAgICBpZiB0ZXN0IC1mICRhY19kaXIvJGFjX3dvcmQ7IHRoZW4KKysgICAgICBpZiB0ZXN0ICIkYWNfZGlyLyRhY193b3JkIiA9ICIvdXNyL3VjYi9jYyI7IHRoZW4KKysgICAgICAgIGFjX3Byb2dfcmVqZWN0ZWQ9eWVzCisrCWNvbnRpbnVlCisrICAgICAgZmkKKysgICAgICBhY19jdl9wcm9nX0NDPSJjYyIKKysgICAgICBicmVhaworKyAgICBmaQorKyAgZG9uZQorKyAgSUZTPSIkYWNfc2F2ZV9pZnMiCisgaWYgdGVzdCAkYWNfcHJvZ19yZWplY3RlZCA9IHllczsgdGhlbgorICAgIyBXZSBmb3VuZCBhIGJvZ29uIGluIHRoZSBwYXRoLCBzbyBtYWtlIHN1cmUgd2UgbmV2ZXIgdXNlIGl0LgorICAgc2V0IGR1bW15ICRhY19jdl9wcm9nX0NDCisgICBzaGlmdAorLSAgaWYgdGVzdCAkIyAhPSAwOyB0aGVuCisrICBpZiB0ZXN0ICQjIC1ndCAwOyB0aGVuCisgICAgICMgV2UgY2hvc2UgYSBkaWZmZXJlbnQgY29tcGlsZXIgZnJvbSB0aGUgYm9ndXMgb25lLgorICAgICAjIEhvd2V2ZXIsIGl0IGhhcyB0aGUgc2FtZSBiYXNlbmFtZSwgc28gdGhlIGJvZ29uIHdpbGwgYmUgY2hvc2VuCisgICAgICMgZmlyc3QgaWYgd2Ugc2V0IENDIHRvIGp1c3QgdGhlIGJhc2VuYW1lOyB1c2UgdGhlIGZ1bGwgZmlsZSBuYW1lLgorICAgICBzaGlmdAorLSAgICBhY19jdl9wcm9nX0NDPSIkYXNfZGlyLyRhY193b3JkJHsxKycgJ30kQCIKKysgICAgc2V0IGR1bW15ICIkYWNfZGlyLyRhY193b3JkIiAiJEAiCisrICAgIHNoaWZ0CisrICAgIGFjX2N2X3Byb2dfQ0M9IiRAIgorICAgZmkKKyBmaQorIGZpCisgZmkKKy1DQz0kYWNfY3ZfcHJvZ19DQworK0NDPSIkYWNfY3ZfcHJvZ19DQyIKKyBpZiB0ZXN0IC1uICIkQ0MiOyB0aGVuCistICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkQ0MiID4mNQorLWVjaG8gIiR7RUNIT19UfSRDQyIgPiY2CisrICBlY2hvICIkYWNfdCIiJENDIiAxPiY2CisgZWxzZQorLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogbm8iID4mNQorLWVjaG8gIiR7RUNIT19UfW5vIiA+JjYKKysgIGVjaG8gIiRhY190IiJubyIgMT4mNgorIGZpCisgCistZmkKKy1pZiB0ZXN0IC16ICIkQ0MiOyB0aGVuCistICBpZiB0ZXN0IC1uICIkYWNfdG9vbF9wcmVmaXgiOyB0aGVuCistICBmb3IgYWNfcHJvZyBpbiBjbAorLSAgZG8KKy0gICAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIkYWNfdG9vbF9wcmVmaXgkYWNfcHJvZyIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCistc2V0IGR1bW15ICRhY190b29sX3ByZWZpeCRhY19wcm9nOyBhY193b3JkPSQyCistZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CistZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gJEVDSE9fQyIgPiY2CistaWYgdGVzdCAiJHthY19jdl9wcm9nX0NDK3NldH0iID0gc2V0OyB0aGVuCistICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorKyAgaWYgdGVzdCAteiAiJENDIjsgdGhlbgorKyAgICBjYXNlICJgdW5hbWUgLXNgIiBpbgorKyAgICAqd2luMzIqIHwgKldJTjMyKikKKysgICAgICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgImNsIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KKytzZXQgZHVtbXkgY2w7IGFjX3dvcmQ9JDIKKytlY2hvICRhY19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQiIi4uLiAkYWNfYyIgMT4mNgorK2VjaG8gImNvbmZpZ3VyZTo3MzA6IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CisraWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X3Byb2dfQ0MnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorKyAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCisgICBpZiB0ZXN0IC1uICIkQ0MiOyB0aGVuCisgICBhY19jdl9wcm9nX0NDPSIkQ0MiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgorIGVsc2UKKy1hc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCistZm9yIGFzX2RpciBpbiAkUEFUSAorLWRvCistICBJRlM9JGFzX3NhdmVfSUZTCistICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgorLSAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCistICBpZiAkYXNfZXhlY3V0YWJsZV9wICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgdGhlbgorLSAgICBhY19jdl9wcm9nX0NDPSIkYWNfdG9vbF9wcmVmaXgkYWNfcHJvZyIKKy0gICAgZWNobyAiJGFzX21lOiRMSU5FTk86IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQorLSAgICBicmVhayAyCistICBmaQorLWRvbmUKKy1kb25lCistCisrICBJRlM9IiR7SUZTPSAJfSI7IGFjX3NhdmVfaWZzPSIkSUZTIjsgSUZTPSI6IgorKyAgYWNfZHVtbXk9IiRQQVRIIgorKyAgZm9yIGFjX2RpciBpbiAkYWNfZHVtbXk7IGRvCisrICAgIHRlc3QgLXogIiRhY19kaXIiICYmIGFjX2Rpcj0uCisrICAgIGlmIHRlc3QgLWYgJGFjX2Rpci8kYWNfd29yZDsgdGhlbgorKyAgICAgIGFjX2N2X3Byb2dfQ0M9ImNsIgorKyAgICAgIGJyZWFrCisrICAgIGZpCisrICBkb25lCisrICBJRlM9IiRhY19zYXZlX2lmcyIKKyBmaQorIGZpCistQ0M9JGFjX2N2X3Byb2dfQ0MKKytDQz0iJGFjX2N2X3Byb2dfQ0MiCisgaWYgdGVzdCAtbiAiJENDIjsgdGhlbgorLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJENDIiA+JjUKKy1lY2hvICIke0VDSE9fVH0kQ0MiID4mNgorKyAgZWNobyAiJGFjX3QiIiRDQyIgMT4mNgorIGVsc2UKKy0gIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6IG5vIiA+JjUKKy1lY2hvICIke0VDSE9fVH1ubyIgPiY2CisrICBlY2hvICIkYWNfdCIibm8iIDE+JjYKKyBmaQorLQorLSAgICB0ZXN0IC1uICIkQ0MiICYmIGJyZWFrCistICBkb25lCistZmkKKy1pZiB0ZXN0IC16ICIkQ0MiOyB0aGVuCistICBhY19jdF9DQz0kQ0MKKy0gIGZvciBhY19wcm9nIGluIGNsCistZG8KKy0gICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJGFjX3Byb2ciLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorLXNldCBkdW1teSAkYWNfcHJvZzsgYWNfd29yZD0kMgorLWVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorLWVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICRFQ0hPX0MiID4mNgorLWlmIHRlc3QgIiR7YWNfY3ZfcHJvZ19hY19jdF9DQytzZXR9IiA9IHNldDsgdGhlbgorLSAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKKy1lbHNlCistICBpZiB0ZXN0IC1uICIkYWNfY3RfQ0MiOyB0aGVuCistICBhY19jdl9wcm9nX2FjX2N0X0NDPSIkYWNfY3RfQ0MiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgorLWVsc2UKKy1hc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCistZm9yIGFzX2RpciBpbiAkUEFUSAorLWRvCistICBJRlM9JGFzX3NhdmVfSUZTCistICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgorLSAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCistICBpZiAkYXNfZXhlY3V0YWJsZV9wICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgdGhlbgorLSAgICBhY19jdl9wcm9nX2FjX2N0X0NDPSIkYWNfcHJvZyIKKy0gICAgZWNobyAiJGFzX21lOiRMSU5FTk86IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQorLSAgICBicmVhayAyCisrIDs7CisrICAgIGVzYWMKKyAgIGZpCistZG9uZQorLWRvbmUKKy0KKysgIHRlc3QgLXogIiRDQyIgJiYgeyBlY2hvICJjb25maWd1cmU6IGVycm9yOiBubyBhY2NlcHRhYmxlIGNjIGZvdW5kIGluIFwkUEFUSCIgMT4mMjsgZXhpdCAxOyB9CisgZmkKKy1maQorLWFjX2N0X0NDPSRhY19jdl9wcm9nX2FjX2N0X0NDCistaWYgdGVzdCAtbiAiJGFjX2N0X0NDIjsgdGhlbgorLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGFjX2N0X0NDIiA+JjUKKy1lY2hvICIke0VDSE9fVH0kYWNfY3RfQ0MiID4mNgorLWVsc2UKKy0gIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6IG5vIiA+JjUKKy1lY2hvICIke0VDSE9fVH1ubyIgPiY2CistZmkKKyAKKy0gIHRlc3QgLW4gIiRhY19jdF9DQyIgJiYgYnJlYWsKKy1kb25lCisrZWNobyAkYWNfbiAiY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciAoJENDICRDRkxBR1MgJExERkxBR1MpIHdvcmtzIiIuLi4gJGFjX2MiIDE+JjYKKytlY2hvICJjb25maWd1cmU6NzYyOiBjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyICgkQ0MgJENGTEFHUyAkTERGTEFHUykgd29ya3MiID4mNQorIAorLSAgQ0M9JGFjX2N0X0NDCistZmkKKythY19leHQ9YworKyMgQ0ZMQUdTIGlzIG5vdCBpbiBhY19jcHAgYmVjYXVzZSAtZywgLU8sIGV0Yy4gYXJlIG5vdCB2YWxpZCBjcHAgb3B0aW9ucy4KKythY19jcHA9JyRDUFAgJENQUEZMQUdTJworK2FjX2NvbXBpbGU9JyR7Q0MtY2N9IC1jICRDRkxBR1MgJENQUEZMQUdTIGNvbmZ0ZXN0LiRhY19leHQgMT4mNScKKythY19saW5rPScke0NDLWNjfSAtbyBjb25mdGVzdCR7YWNfZXhlZXh0fSAkQ0ZMQUdTICRDUFBGTEFHUyAkTERGTEFHUyBjb25mdGVzdC4kYWNfZXh0ICRMSUJTIDE+JjUnCisrY3Jvc3NfY29tcGlsaW5nPSRhY19jdl9wcm9nX2NjX2Nyb3NzCisgCistZmkKKytjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8IEVPRgorIAorKyNsaW5lIDc3MyAiY29uZmlndXJlIgorKyNpbmNsdWRlICJjb25mZGVmcy5oIgorIAorLXRlc3QgLXogIiRDQyIgJiYgeyB7IGVjaG8gIiRhc19tZTokTElORU5POiBlcnJvcjogbm8gYWNjZXB0YWJsZSBDIGNvbXBpbGVyIGZvdW5kIGluIFwkUEFUSAorLVNlZSBcYGNvbmZpZy5sb2cnIGZvciBtb3JlIGRldGFpbHMuIiA+JjUKKy1lY2hvICIkYXNfbWU6IGVycm9yOiBubyBhY2NlcHRhYmxlIEMgY29tcGlsZXIgZm91bmQgaW4gXCRQQVRICistU2VlIFxgY29uZmlnLmxvZycgZm9yIG1vcmUgZGV0YWlscy4iID4mMjt9CistICAgeyAoZXhpdCAxKTsgZXhpdCAxOyB9OyB9CistCistIyBQcm92aWRlIHNvbWUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGNvbXBpbGVyLgorLWVjaG8gIiRhc19tZTokTElORU5POiIgXAorLSAgICAgImNoZWNraW5nIGZvciBDIGNvbXBpbGVyIHZlcnNpb24iID4mNQorLWFjX2NvbXBpbGVyPWBzZXQgWCAkYWNfY29tcGlsZTsgZWNobyAkMmAKKy17IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19jb21waWxlciAtLXZlcnNpb24gPC9kZXYvbnVsbCA+JjVcIiIpID4mNQorLSAgKGV2YWwgJGFjX2NvbXBpbGVyIC0tdmVyc2lvbiA8L2Rldi9udWxsID4mNSkgMj4mNQorLSAgYWNfc3RhdHVzPSQ/CistICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CistICAoZXhpdCAkYWNfc3RhdHVzKTsgfQorLXsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX2NvbXBpbGVyIC12IDwvZGV2L251bGwgPiY1XCIiKSA+JjUKKy0gIChldmFsICRhY19jb21waWxlciAtdiA8L2Rldi9udWxsID4mNSkgMj4mNQorLSAgYWNfc3RhdHVzPSQ/CistICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CistICAoZXhpdCAkYWNfc3RhdHVzKTsgfQorLXsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX2NvbXBpbGVyIC1WIDwvZGV2L251bGwgPiY1XCIiKSA+JjUKKy0gIChldmFsICRhY19jb21waWxlciAtViA8L2Rldi9udWxsID4mNSkgMj4mNQorLSAgYWNfc3RhdHVzPSQ/CistICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CistICAoZXhpdCAkYWNfc3RhdHVzKTsgfQorLQorLWNhdCA+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLSNsaW5lICRMSU5FTk8gImNvbmZpZ3VyZSIKKy0vKiBjb25mZGVmcy5oLiAgKi8KKy1fQUNFT0YKKy1jYXQgY29uZmRlZnMuaCA+PmNvbmZ0ZXN0LiRhY19leHQKKy1jYXQgPj5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistLyogZW5kIGNvbmZkZWZzLmguICAqLworLQorLWludAorLW1haW4gKCkKKy17CistCistICA7CistICByZXR1cm4gMDsKKy19CistX0FDRU9GCistYWNfY2xlYW5fZmlsZXNfc2F2ZT0kYWNfY2xlYW5fZmlsZXMKKy1hY19jbGVhbl9maWxlcz0iJGFjX2NsZWFuX2ZpbGVzIGEub3V0IGEuZXhlIGIub3V0IgorLSMgVHJ5IHRvIGNyZWF0ZSBhbiBleGVjdXRhYmxlIHdpdGhvdXQgLW8gZmlyc3QsIGRpc3JlZ2FyZCBhLm91dC4KKy0jIEl0IHdpbGwgaGVscCB1cyBkaWFnbm9zZSBicm9rZW4gY29tcGlsZXJzLCBhbmQgZmluZGluZyBvdXQgYW4gaW50dWl0aW9uCistIyBvZiBleGVleHQuCistZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IiA+JjUKKy1lY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0Li4uICRFQ0hPX0MiID4mNgorLWFjX2xpbmtfZGVmYXVsdD1gZWNobyAiJGFjX2xpbmsiIHwgc2VkICdzLyAtbyAqY29uZnRlc3RbXiBdKi8vJ2AKKy1pZiB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19saW5rX2RlZmF1bHRcIiIpID4mNQorLSAgKGV2YWwgJGFjX2xpbmtfZGVmYXVsdCkgMj4mNQorLSAgYWNfc3RhdHVzPSQ/CistICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CistICAoZXhpdCAkYWNfc3RhdHVzKTsgfTsgdGhlbgorLSAgIyBGaW5kIHRoZSBvdXRwdXQsIHN0YXJ0aW5nIGZyb20gdGhlIG1vc3QgbGlrZWx5LiAgVGhpcyBzY2hlbWUgaXMKKy0jIG5vdCByb2J1c3QgdG8ganVuayBpbiBgLicsIGhlbmNlIGdvIHRvIHdpbGRjYXJkcyAoYS4qKSBvbmx5IGFzIGEgbGFzdAorLSMgcmVzb3J0LgorLQorLSMgQmUgY2FyZWZ1bCB0byBpbml0aWFsaXplIHRoaXMgdmFyaWFibGUsIHNpbmNlIGl0IHVzZWQgdG8gYmUgY2FjaGVkLgorLSMgT3RoZXJ3aXNlIGFuIG9sZCBjYWNoZSB2YWx1ZSBvZiBgbm8nIGxlZCB0byBgRVhFRVhUID0gbm8nIGluIGEgTWFrZWZpbGUuCistYWNfY3ZfZXhlZXh0PQorLSMgYi5vdXQgaXMgY3JlYXRlZCBieSBpOTYwIGNvbXBpbGVycy4KKy1mb3IgYWNfZmlsZSBpbiBhX291dC5leGUgYS5leGUgY29uZnRlc3QuZXhlIGEub3V0IGNvbmZ0ZXN0IGEuKiBjb25mdGVzdC4qIGIub3V0CistZG8KKy0gIHRlc3QgLWYgIiRhY19maWxlIiB8fCBjb250aW51ZQorLSAgY2FzZSAkYWNfZmlsZSBpbgorLSAgICAqLiRhY19leHQgfCAqLnhjb2ZmIHwgKi50ZHMgfCAqLmQgfCAqLnBkYiB8ICoueFNZTSB8ICouYmIgfCAqLmJiZyB8ICoubyB8ICoub2JqICkKKy0gICAgICAgIDs7CistICAgIGNvbmZ0ZXN0LiRhY19leHQgKQorLSAgICAgICAgIyBUaGlzIGlzIHRoZSBzb3VyY2UgZmlsZS4KKy0gICAgICAgIDs7CistICAgIFthYl0ub3V0ICkKKy0gICAgICAgICMgV2UgZm91bmQgdGhlIGRlZmF1bHQgZXhlY3V0YWJsZSwgYnV0IGV4ZWV4dD0nJyBpcyBtb3N0CistICAgICAgICAjIGNlcnRhaW5seSByaWdodC4KKy0gICAgICAgIGJyZWFrOzsKKy0gICAgKi4qICkKKy0gICAgICAgIGFjX2N2X2V4ZWV4dD1gZXhwciAiJGFjX2ZpbGUiIDogJ1teLl0qXChcLi4qXCknYAorLSAgICAgICAgIyBGSVhNRTogSSBiZWxpZXZlIHdlIGV4cG9ydCBhY19jdl9leGVleHQgZm9yIExpYnRvb2wsCistICAgICAgICAjIGJ1dCBpdCB3b3VsZCBiZSBjb29sIHRvIGZpbmQgb3V0IGlmIGl0J3MgdHJ1ZS4gIERvZXMgYW55Ym9keQorLSAgICAgICAgIyBtYWludGFpbiBMaWJ0b29sPyAtLWFraW0uCistICAgICAgICBleHBvcnQgYWNfY3ZfZXhlZXh0CistICAgICAgICBicmVhazs7CistICAgICogKQorLSAgICAgICAgYnJlYWs7OworLSAgZXNhYworLWRvbmUKKy1lbHNlCistICBlY2hvICIkYXNfbWU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorLXNlZCAncy9eL3wgLycgY29uZnRlc3QuJGFjX2V4dCA+JjUKKy0KKy17IHsgZWNobyAiJGFzX21lOiRMSU5FTk86IGVycm9yOiBDIGNvbXBpbGVyIGNhbm5vdCBjcmVhdGUgZXhlY3V0YWJsZXMKKy1TZWUgXGBjb25maWcubG9nJyBmb3IgbW9yZSBkZXRhaWxzLiIgPiY1CistZWNobyAiJGFzX21lOiBlcnJvcjogQyBjb21waWxlciBjYW5ub3QgY3JlYXRlIGV4ZWN1dGFibGVzCistU2VlIFxgY29uZmlnLmxvZycgZm9yIG1vcmUgZGV0YWlscy4iID4mMjt9CistICAgeyAoZXhpdCA3Nyk7IGV4aXQgNzc7IH07IH0KKy1maQorLQorLWFjX2V4ZWV4dD0kYWNfY3ZfZXhlZXh0CistZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGFjX2ZpbGUiID4mNQorLWVjaG8gIiR7RUNIT19UfSRhY19maWxlIiA+JjYKKy0KKy0jIENoZWNrIHRoZSBjb21waWxlciBwcm9kdWNlcyBleGVjdXRhYmxlcyB3ZSBjYW4gcnVuLiAgSWYgbm90LCBlaXRoZXIKKy0jIHRoZSBjb21waWxlciBpcyBicm9rZW4sIG9yIHdlIGNyb3NzIGNvbXBpbGUuCistZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MiID4mNQorLWVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiAkRUNIT19DIiA+JjYKKy0jIEZJWE1FOiBUaGVzZSBjcm9zcyBjb21waWxlciBoYWNrcyBzaG91bGQgYmUgcmVtb3ZlZCBmb3IgQXV0b2NvbmYgMy4wCistIyBJZiBub3QgY3Jvc3MgY29tcGlsaW5nLCBjaGVjayB0aGF0IHdlIGNhbiBydW4gYSBzaW1wbGUgcHJvZ3JhbS4KKy1pZiB0ZXN0ICIkY3Jvc3NfY29tcGlsaW5nIiAhPSB5ZXM7IHRoZW4KKy0gIGlmIHsgYWNfdHJ5PScuLyRhY19maWxlJworLSAgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfdHJ5XCIiKSA+JjUKKy0gIChldmFsICRhY190cnkpIDI+JjUKKy0gIGFjX3N0YXR1cz0kPworLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorLSAgKGV4aXQgJGFjX3N0YXR1cyk7IH07IH07IHRoZW4KKy0gICAgY3Jvc3NfY29tcGlsaW5nPW5vCisrbWFpbigpe3JldHVybigwKTt9CisrRU9GCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo3Nzg6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgorKyAgYWNfY3ZfcHJvZ19jY193b3Jrcz15ZXMKKysgICMgSWYgd2UgY2FuJ3QgcnVuIGEgdHJpdmlhbCBwcm9ncmFtLCB3ZSBhcmUgcHJvYmFibHkgdXNpbmcgYSBjcm9zcyBjb21waWxlci4KKysgIGlmICguL2NvbmZ0ZXN0OyBleGl0KSAyPi9kZXYvbnVsbDsgdGhlbgorKyAgICBhY19jdl9wcm9nX2NjX2Nyb3NzPW5vCisgICBlbHNlCistICAgIGlmIHRlc3QgIiRjcm9zc19jb21waWxpbmciID0gbWF5YmU7IHRoZW4KKy0JY3Jvc3NfY29tcGlsaW5nPXllcworLSAgICBlbHNlCistCXsgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogZXJyb3I6IGNhbm5vdCBydW4gQyBjb21waWxlZCBwcm9ncmFtcy4KKy1JZiB5b3UgbWVhbnQgdG8gY3Jvc3MgY29tcGlsZSwgdXNlIFxgLS1ob3N0Jy4KKy1TZWUgXGBjb25maWcubG9nJyBmb3IgbW9yZSBkZXRhaWxzLiIgPiY1CistZWNobyAiJGFzX21lOiBlcnJvcjogY2Fubm90IHJ1biBDIGNvbXBpbGVkIHByb2dyYW1zLgorLUlmIHlvdSBtZWFudCB0byBjcm9zcyBjb21waWxlLCB1c2UgXGAtLWhvc3QnLgorLVNlZSBcYGNvbmZpZy5sb2cnIGZvciBtb3JlIGRldGFpbHMuIiA+JjI7fQorLSAgIHsgKGV4aXQgMSk7IGV4aXQgMTsgfTsgfQorLSAgICBmaQorKyAgICBhY19jdl9wcm9nX2NjX2Nyb3NzPXllcworICAgZmkKKytlbHNlCisrICBlY2hvICJjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorKyAgY2F0IGNvbmZ0ZXN0LiRhY19leHQgPiY1CisrICBhY19jdl9wcm9nX2NjX3dvcmtzPW5vCisgZmkKKy1lY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiB5ZXMiID4mNQorLWVjaG8gIiR7RUNIT19UfXllcyIgPiY2Cisrcm0gLWZyIGNvbmZ0ZXN0KgorK2FjX2V4dD1jCisrIyBDRkxBR1MgaXMgbm90IGluIGFjX2NwcCBiZWNhdXNlIC1nLCAtTywgZXRjLiBhcmUgbm90IHZhbGlkIGNwcCBvcHRpb25zLgorK2FjX2NwcD0nJENQUCAkQ1BQRkxBR1MnCisrYWNfY29tcGlsZT0nJHtDQy1jY30gLWMgJENGTEFHUyAkQ1BQRkxBR1MgY29uZnRlc3QuJGFjX2V4dCAxPiY1JworK2FjX2xpbms9JyR7Q0MtY2N9IC1vIGNvbmZ0ZXN0JHthY19leGVleHR9ICRDRkxBR1MgJENQUEZMQUdTICRMREZMQUdTIGNvbmZ0ZXN0LiRhY19leHQgJExJQlMgMT4mNScKKytjcm9zc19jb21waWxpbmc9JGFjX2N2X3Byb2dfY2NfY3Jvc3MKKyAKKy1ybSAtZiBhLm91dCBhLmV4ZSBjb25mdGVzdCRhY19jdl9leGVleHQgYi5vdXQKKy1hY19jbGVhbl9maWxlcz0kYWNfY2xlYW5fZmlsZXNfc2F2ZQorLSMgQ2hlY2sgdGhlIGNvbXBpbGVyIHByb2R1Y2VzIGV4ZWN1dGFibGVzIHdlIGNhbiBydW4uICBJZiBub3QsIGVpdGhlcgorLSMgdGhlIGNvbXBpbGVyIGlzIGJyb2tlbiwgb3Igd2UgY3Jvc3MgY29tcGlsZS4KKy1lY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nIiA+JjUKKy1lY2hvICRFQ0hPX04gImNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiAkRUNIT19DIiA+JjYKKy1lY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkY3Jvc3NfY29tcGlsaW5nIiA+JjUKKy1lY2hvICIke0VDSE9fVH0kY3Jvc3NfY29tcGlsaW5nIiA+JjYKKy0KKy1lY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcyIgPiY1CistZWNobyAkRUNIT19OICJjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uICRFQ0hPX0MiID4mNgorLWlmIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX2xpbmtcIiIpID4mNQorLSAgKGV2YWwgJGFjX2xpbmspIDI+JjUKKy0gIGFjX3N0YXR1cz0kPworLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorLSAgKGV4aXQgJGFjX3N0YXR1cyk7IH07IHRoZW4KKy0gICMgSWYgYm90aCBgY29uZnRlc3QuZXhlJyBhbmQgYGNvbmZ0ZXN0JyBhcmUgYHByZXNlbnQnICh3ZWxsLCBvYnNlcnZhYmxlKQorLSMgY2F0Y2ggYGNvbmZ0ZXN0LmV4ZScuICBGb3IgaW5zdGFuY2Ugd2l0aCBDeWd3aW4sIGBscyBjb25mdGVzdCcgd2lsbAorLSMgd29yayBwcm9wZXJseSAoaS5lLiwgcmVmZXIgdG8gYGNvbmZ0ZXN0LmV4ZScpLCB3aGlsZSBpdCB3b24ndCB3aXRoCistIyBgcm0nLgorLWZvciBhY19maWxlIGluIGNvbmZ0ZXN0LmV4ZSBjb25mdGVzdCBjb25mdGVzdC4qOyBkbworLSAgdGVzdCAtZiAiJGFjX2ZpbGUiIHx8IGNvbnRpbnVlCistICBjYXNlICRhY19maWxlIGluCistICAgICouJGFjX2V4dCB8ICoueGNvZmYgfCAqLnRkcyB8ICouZCB8ICoucGRiIHwgKi54U1lNIHwgKi5iYiB8ICouYmJnIHwgKi5vIHwgKi5vYmogKSA7OworLSAgICAqLiogKSBhY19jdl9leGVleHQ9YGV4cHIgIiRhY19maWxlIiA6ICdbXi5dKlwoXC4uKlwpJ2AKKy0gICAgICAgICAgZXhwb3J0IGFjX2N2X2V4ZWV4dAorLSAgICAgICAgICBicmVhazs7CistICAgICogKSBicmVhazs7CistICBlc2FjCistZG9uZQorLWVsc2UKKy0gIHsgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogZXJyb3I6IGNhbm5vdCBjb21wdXRlIHN1ZmZpeCBvZiBleGVjdXRhYmxlczogY2Fubm90IGNvbXBpbGUgYW5kIGxpbmsKKy1TZWUgXGBjb25maWcubG9nJyBmb3IgbW9yZSBkZXRhaWxzLiIgPiY1CistZWNobyAiJGFzX21lOiBlcnJvcjogY2Fubm90IGNvbXB1dGUgc3VmZml4IG9mIGV4ZWN1dGFibGVzOiBjYW5ub3QgY29tcGlsZSBhbmQgbGluaworLVNlZSBcYGNvbmZpZy5sb2cnIGZvciBtb3JlIGRldGFpbHMuIiA+JjI7fQorLSAgIHsgKGV4aXQgMSk7IGV4aXQgMTsgfTsgfQorK2VjaG8gIiRhY190IiIkYWNfY3ZfcHJvZ19jY193b3JrcyIgMT4mNgorK2lmIHRlc3QgJGFjX2N2X3Byb2dfY2Nfd29ya3MgPSBubzsgdGhlbgorKyAgeyBlY2hvICJjb25maWd1cmU6IGVycm9yOiBpbnN0YWxsYXRpb24gb3IgY29uZmlndXJhdGlvbiBwcm9ibGVtOiBDIGNvbXBpbGVyIGNhbm5vdCBjcmVhdGUgZXhlY3V0YWJsZXMuIiAxPiYyOyBleGl0IDE7IH0KKyBmaQorK2VjaG8gJGFjX24gImNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgKCRDQyAkQ0ZMQUdTICRMREZMQUdTKSBpcyBhIGNyb3NzLWNvbXBpbGVyIiIuLi4gJGFjX2MiIDE+JjYKKytlY2hvICJjb25maWd1cmU6ODA0OiBjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyICgkQ0MgJENGTEFHUyAkTERGTEFHUykgaXMgYSBjcm9zcy1jb21waWxlciIgPiY1CisrZWNobyAiJGFjX3QiIiRhY19jdl9wcm9nX2NjX2Nyb3NzIiAxPiY2CisrY3Jvc3NfY29tcGlsaW5nPSRhY19jdl9wcm9nX2NjX2Nyb3NzCisgCistcm0gLWYgY29uZnRlc3QkYWNfY3ZfZXhlZXh0CistZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGFjX2N2X2V4ZWV4dCIgPiY1CistZWNobyAiJHtFQ0hPX1R9JGFjX2N2X2V4ZWV4dCIgPiY2CistCistcm0gLWYgY29uZnRlc3QuJGFjX2V4dAorLUVYRUVYVD0kYWNfY3ZfZXhlZXh0CistYWNfZXhlZXh0PSRFWEVFWFQKKy1lY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMiID4mNQorLWVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gJEVDSE9fQyIgPiY2CistaWYgdGVzdCAiJHthY19jdl9vYmpleHQrc2V0fSIgPSBzZXQ7IHRoZW4KKy0gIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CisrZWNobyAkYWNfbiAiY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgR05VIEMiIi4uLiAkYWNfYyIgMT4mNgorK2VjaG8gImNvbmZpZ3VyZTo4MDk6IGNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIEdOVSBDIiA+JjUKKytpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfcHJvZ19nY2MnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorKyAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCistICBjYXQgPmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0jbGluZSAkTElORU5PICJjb25maWd1cmUiCistLyogY29uZmRlZnMuaC4gICovCistX0FDRU9GCistY2F0IGNvbmZkZWZzLmggPj5jb25mdGVzdC4kYWNfZXh0CistY2F0ID4+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLS8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKy0KKy1pbnQKKy1tYWluICgpCisteworLQorLSAgOworLSAgcmV0dXJuIDA7CistfQorLV9BQ0VPRgorLXJtIC1mIGNvbmZ0ZXN0Lm8gY29uZnRlc3Qub2JqCistaWYgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfY29tcGlsZVwiIikgPiY1CistICAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNQorLSAgYWNfc3RhdHVzPSQ/CistICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CistICAoZXhpdCAkYWNfc3RhdHVzKTsgfTsgdGhlbgorLSAgZm9yIGFjX2ZpbGUgaW4gYChscyBjb25mdGVzdC5vIGNvbmZ0ZXN0Lm9iajsgbHMgY29uZnRlc3QuKikgMj4vZGV2L251bGxgOyBkbworLSAgY2FzZSAkYWNfZmlsZSBpbgorLSAgICAqLiRhY19leHQgfCAqLnhjb2ZmIHwgKi50ZHMgfCAqLmQgfCAqLnBkYiB8ICoueFNZTSB8ICouYmIgfCAqLmJiZyApIDs7CistICAgICopIGFjX2N2X29iamV4dD1gZXhwciAiJGFjX2ZpbGUiIDogJy4qXC5cKC4qXCknYAorLSAgICAgICBicmVhazs7CistICBlc2FjCistZG9uZQorKyAgY2F0ID4gY29uZnRlc3QuYyA8PEVPRgorKyNpZmRlZiBfX0dOVUNfXworKyAgeWVzOworKyNlbmRpZgorK0VPRgorK2lmIHsgYWNfdHJ5PScke0NDLWNjfSAtRSBjb25mdGVzdC5jJzsgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo4MTg6IFwiJGFjX3RyeVwiKSAxPiY1OyAoZXZhbCAkYWNfdHJ5KSAyPiY1OyB9OyB9IHwgZWdyZXAgeWVzID4vZGV2L251bGwgMj4mMTsgdGhlbgorKyAgYWNfY3ZfcHJvZ19nY2M9eWVzCisgZWxzZQorLSAgZWNobyAiJGFzX21lOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKKy1zZWQgJ3MvXi98IC8nIGNvbmZ0ZXN0LiRhY19leHQgPiY1CistCisteyB7IGVjaG8gIiRhc19tZTokTElORU5POiBlcnJvcjogY2Fubm90IGNvbXB1dGUgc3VmZml4IG9mIG9iamVjdCBmaWxlczogY2Fubm90IGNvbXBpbGUKKy1TZWUgXGBjb25maWcubG9nJyBmb3IgbW9yZSBkZXRhaWxzLiIgPiY1CistZWNobyAiJGFzX21lOiBlcnJvcjogY2Fubm90IGNvbXB1dGUgc3VmZml4IG9mIG9iamVjdCBmaWxlczogY2Fubm90IGNvbXBpbGUKKy1TZWUgXGBjb25maWcubG9nJyBmb3IgbW9yZSBkZXRhaWxzLiIgPiYyO30KKy0gICB7IChleGl0IDEpOyBleGl0IDE7IH07IH0KKysgIGFjX2N2X3Byb2dfZ2NjPW5vCisgZmkKKy0KKy1ybSAtZiBjb25mdGVzdC4kYWNfY3Zfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKKyBmaQorLWVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRhY19jdl9vYmpleHQiID4mNQorLWVjaG8gIiR7RUNIT19UfSRhY19jdl9vYmpleHQiID4mNgorLU9CSkVYVD0kYWNfY3Zfb2JqZXh0CistYWNfb2JqZXh0PSRPQkpFWFQKKy1lY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyIiA+JjUKKy1lY2hvICRFQ0hPX04gImNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiAkRUNIT19DIiA+JjYKKy1pZiB0ZXN0ICIke2FjX2N2X2NfY29tcGlsZXJfZ251K3NldH0iID0gc2V0OyB0aGVuCistICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorLWVsc2UKKy0gIGNhdCA+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLSNsaW5lICRMSU5FTk8gImNvbmZpZ3VyZSIKKy0vKiBjb25mZGVmcy5oLiAgKi8KKy1fQUNFT0YKKy1jYXQgY29uZmRlZnMuaCA+PmNvbmZ0ZXN0LiRhY19leHQKKy1jYXQgPj5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistLyogZW5kIGNvbmZkZWZzLmguICAqLworIAorLWludAorLW1haW4gKCkKKy17CistI2lmbmRlZiBfX0dOVUNfXworLSAgICAgICBjaG9rZSBtZQorLSNlbmRpZgorK2VjaG8gIiRhY190IiIkYWNfY3ZfcHJvZ19nY2MiIDE+JjYKKyAKKy0gIDsKKy0gIHJldHVybiAwOworLX0KKy1fQUNFT0YKKy1ybSAtZiBjb25mdGVzdC4kYWNfb2JqZXh0CistaWYgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfY29tcGlsZVwiIikgPiY1CistICAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNQorLSAgYWNfc3RhdHVzPSQ/CistICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CistICAoZXhpdCAkYWNfc3RhdHVzKTsgfSAmJgorLSAgICAgICAgIHsgYWNfdHJ5PSd0ZXN0IC1zIGNvbmZ0ZXN0LiRhY19vYmpleHQnCistICB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY190cnlcIiIpID4mNQorLSAgKGV2YWwgJGFjX3RyeSkgMj4mNQorLSAgYWNfc3RhdHVzPSQ/CistICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CistICAoZXhpdCAkYWNfc3RhdHVzKTsgfTsgfTsgdGhlbgorLSAgYWNfY29tcGlsZXJfZ251PXllcworK2lmIHRlc3QgJGFjX2N2X3Byb2dfZ2NjID0geWVzOyB0aGVuCisrICBHQ0M9eWVzCisgZWxzZQorLSAgZWNobyAiJGFzX21lOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKKy1zZWQgJ3MvXi98IC8nIGNvbmZ0ZXN0LiRhY19leHQgPiY1CistCistYWNfY29tcGlsZXJfZ251PW5vCisrICBHQ0M9CisgZmkKKy1ybSAtZiBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKKy1hY19jdl9jX2NvbXBpbGVyX2dudT0kYWNfY29tcGlsZXJfZ251CisgCistZmkKKy1lY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkYWNfY3ZfY19jb21waWxlcl9nbnUiID4mNQorLWVjaG8gIiR7RUNIT19UfSRhY19jdl9jX2NvbXBpbGVyX2dudSIgPiY2CistR0NDPWB0ZXN0ICRhY19jb21waWxlcl9nbnUgPSB5ZXMgJiYgZWNobyB5ZXNgCistYWNfdGVzdF9DRkxBR1M9JHtDRkxBR1Mrc2V0fQorLWFjX3NhdmVfQ0ZMQUdTPSRDRkxBR1MKKy1DRkxBR1M9Ii1nIgorLWVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyB3aGV0aGVyICRDQyBhY2NlcHRzIC1nIiA+JjUKKy1lY2hvICRFQ0hPX04gImNoZWNraW5nIHdoZXRoZXIgJENDIGFjY2VwdHMgLWcuLi4gJEVDSE9fQyIgPiY2CistaWYgdGVzdCAiJHthY19jdl9wcm9nX2NjX2crc2V0fSIgPSBzZXQ7IHRoZW4KKy0gIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CisrYWNfdGVzdF9DRkxBR1M9IiR7Q0ZMQUdTK3NldH0iCisrYWNfc2F2ZV9DRkxBR1M9IiRDRkxBR1MiCisrQ0ZMQUdTPQorK2VjaG8gJGFjX24gImNoZWNraW5nIHdoZXRoZXIgJHtDQy1jY30gYWNjZXB0cyAtZyIiLi4uICRhY19jIiAxPiY2CisrZWNobyAiY29uZmlndXJlOjgzNzogY2hlY2tpbmcgd2hldGhlciAke0NDLWNjfSBhY2NlcHRzIC1nIiA+JjUKKytpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfcHJvZ19jY19nJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKysgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorLSAgY2F0ID5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistI2xpbmUgJExJTkVOTyAiY29uZmlndXJlIgorLS8qIGNvbmZkZWZzLmguICAqLworLV9BQ0VPRgorLWNhdCBjb25mZGVmcy5oID4+Y29uZnRlc3QuJGFjX2V4dAorLWNhdCA+PmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0vKiBlbmQgY29uZmRlZnMuaC4gICovCistCistaW50CistbWFpbiAoKQorLXsKKy0KKy0gIDsKKy0gIHJldHVybiAwOworLX0KKy1fQUNFT0YKKy1ybSAtZiBjb25mdGVzdC4kYWNfb2JqZXh0CistaWYgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfY29tcGlsZVwiIikgPiY1CistICAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNQorLSAgYWNfc3RhdHVzPSQ/CistICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CistICAoZXhpdCAkYWNfc3RhdHVzKTsgfSAmJgorLSAgICAgICAgIHsgYWNfdHJ5PSd0ZXN0IC1zIGNvbmZ0ZXN0LiRhY19vYmpleHQnCistICB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY190cnlcIiIpID4mNQorLSAgKGV2YWwgJGFjX3RyeSkgMj4mNQorLSAgYWNfc3RhdHVzPSQ/CistICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CistICAoZXhpdCAkYWNfc3RhdHVzKTsgfTsgfTsgdGhlbgorKyAgZWNobyAndm9pZCBmKCl7fScgPiBjb25mdGVzdC5jCisraWYgdGVzdCAteiAiYCR7Q0MtY2N9IC1nIC1jIGNvbmZ0ZXN0LmMgMj4mMWAiOyB0aGVuCisgICBhY19jdl9wcm9nX2NjX2c9eWVzCisgZWxzZQorLSAgZWNobyAiJGFzX21lOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKKy1zZWQgJ3MvXi98IC8nIGNvbmZ0ZXN0LiRhY19leHQgPiY1CisrICBhY19jdl9wcm9nX2NjX2c9bm8KKytmaQorK3JtIC1mIGNvbmZ0ZXN0KgorIAorLWFjX2N2X3Byb2dfY2NfZz1ubworIGZpCistcm0gLWYgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0CistZmkKKy1lY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkYWNfY3ZfcHJvZ19jY19nIiA+JjUKKy1lY2hvICIke0VDSE9fVH0kYWNfY3ZfcHJvZ19jY19nIiA+JjYKKysKKytlY2hvICIkYWNfdCIiJGFjX2N2X3Byb2dfY2NfZyIgMT4mNgorIGlmIHRlc3QgIiRhY190ZXN0X0NGTEFHUyIgPSBzZXQ7IHRoZW4KKy0gIENGTEFHUz0kYWNfc2F2ZV9DRkxBR1MKKysgIENGTEFHUz0iJGFjX3NhdmVfQ0ZMQUdTIgorIGVsaWYgdGVzdCAkYWNfY3ZfcHJvZ19jY19nID0geWVzOyB0aGVuCisgICBpZiB0ZXN0ICIkR0NDIiA9IHllczsgdGhlbgorICAgICBDRkxBR1M9Ii1nIC1PMiIKK0BAIC0yMDI4LDMwNCArODYzLDM3IEBACisgICAgIENGTEFHUz0KKyAgIGZpCisgZmkKKy1lY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yICRDQyBvcHRpb24gdG8gYWNjZXB0IEFOU0kgQyIgPiY1CistZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgJENDIG9wdGlvbiB0byBhY2NlcHQgQU5TSSBDLi4uICRFQ0hPX0MiID4mNgorLWlmIHRlc3QgIiR7YWNfY3ZfcHJvZ19jY19zdGRjK3NldH0iID0gc2V0OyB0aGVuCistICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorLWVsc2UKKy0gIGFjX2N2X3Byb2dfY2Nfc3RkYz1ubworLWFjX3NhdmVfQ0M9JENDCistY2F0ID5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistI2xpbmUgJExJTkVOTyAiY29uZmlndXJlIgorLS8qIGNvbmZkZWZzLmguICAqLworLV9BQ0VPRgorLWNhdCBjb25mZGVmcy5oID4+Y29uZnRlc3QuJGFjX2V4dAorLWNhdCA+PmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0vKiBlbmQgY29uZmRlZnMuaC4gICovCistI2luY2x1ZGUgPHN0ZGFyZy5oPgorLSNpbmNsdWRlIDxzdGRpby5oPgorLSNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKy0jaW5jbHVkZSA8c3lzL3N0YXQuaD4KKy0vKiBNb3N0IG9mIHRoZSBmb2xsb3dpbmcgdGVzdHMgYXJlIHN0b2xlbiBmcm9tIFJDUyA1LjcncyBzcmMvY29uZi5zaC4gICovCistc3RydWN0IGJ1ZiB7IGludCB4OyB9OworLUZJTEUgKiAoKnJjc29wZW4pIChzdHJ1Y3QgYnVmICosIHN0cnVjdCBzdGF0ICosIGludCk7Cistc3RhdGljIGNoYXIgKmUgKHAsIGkpCistICAgICBjaGFyICoqcDsKKy0gICAgIGludCBpOworLXsKKy0gIHJldHVybiBwW2ldOworLX0KKy1zdGF0aWMgY2hhciAqZiAoY2hhciAqICgqZykgKGNoYXIgKiosIGludCksIGNoYXIgKipwLCAuLi4pCisteworLSAgY2hhciAqczsKKy0gIHZhX2xpc3QgdjsKKy0gIHZhX3N0YXJ0ICh2LHApOworLSAgcyA9IGcgKHAsIHZhX2FyZyAodixpbnQpKTsKKy0gIHZhX2VuZCAodik7CistICByZXR1cm4gczsKKy19CistaW50IHRlc3QgKGludCBpLCBkb3VibGUgeCk7Cistc3RydWN0IHMxIHtpbnQgKCpmKSAoaW50IGEpO307Cistc3RydWN0IHMyIHtpbnQgKCpmKSAoZG91YmxlIGEpO307CistaW50IHBhaXJuYW1lcyAoaW50LCBjaGFyICoqLCBGSUxFICooKikoc3RydWN0IGJ1ZiAqLCBzdHJ1Y3Qgc3RhdCAqLCBpbnQpLCBpbnQsIGludCk7CistaW50IGFyZ2M7CistY2hhciAqKmFyZ3Y7CistaW50CistbWFpbiAoKQorLXsKKy1yZXR1cm4gZiAoZSwgYXJndiwgMCkgIT0gYXJndlswXSAgfHwgIGYgKGUsIGFyZ3YsIDEpICE9IGFyZ3ZbMV07CistICA7CistICByZXR1cm4gMDsKKy19CistX0FDRU9GCistIyBEb24ndCB0cnkgZ2NjIC1hbnNpOyB0aGF0IHR1cm5zIG9mZiB1c2VmdWwgZXh0ZW5zaW9ucyBhbmQKKy0jIGJyZWFrcyBzb21lIHN5c3RlbXMnIGhlYWRlciBmaWxlcy4KKy0jIEFJWAkJCS1xbGFuZ2x2bD1hbnNpCistIyBVbHRyaXggYW5kIE9TRi8xCS1zdGQxCistIyBIUC1VWCAxMC4yMCBhbmQgbGF0ZXIJLUFlCistIyBIUC1VWCBvbGRlciB2ZXJzaW9ucwktQWEgLURfSFBVWF9TT1VSQ0UKKy0jIFNWUjQJCQktWGMgLURfX0VYVEVOU0lPTlNfXworLWZvciBhY19hcmcgaW4gIiIgLXFsYW5nbHZsPWFuc2kgLXN0ZDEgLUFlICItQWEgLURfSFBVWF9TT1VSQ0UiICItWGMgLURfX0VYVEVOU0lPTlNfXyIKKy1kbworLSAgQ0M9IiRhY19zYXZlX0NDICRhY19hcmciCistICBybSAtZiBjb25mdGVzdC4kYWNfb2JqZXh0CistaWYgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfY29tcGlsZVwiIikgPiY1CistICAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNQorLSAgYWNfc3RhdHVzPSQ/CistICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CistICAoZXhpdCAkYWNfc3RhdHVzKTsgfSAmJgorLSAgICAgICAgIHsgYWNfdHJ5PSd0ZXN0IC1zIGNvbmZ0ZXN0LiRhY19vYmpleHQnCistICB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY190cnlcIiIpID4mNQorLSAgKGV2YWwgJGFjX3RyeSkgMj4mNQorLSAgYWNfc3RhdHVzPSQ/CistICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CistICAoZXhpdCAkYWNfc3RhdHVzKTsgfTsgfTsgdGhlbgorLSAgYWNfY3ZfcHJvZ19jY19zdGRjPSRhY19hcmcKKy1icmVhaworLWVsc2UKKy0gIGVjaG8gIiRhc19tZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1Cistc2VkICdzL14vfCAvJyBjb25mdGVzdC4kYWNfZXh0ID4mNQorIAorLWZpCistcm0gLWYgY29uZnRlc3QuJGFjX29iamV4dAorLWRvbmUKKy1ybSAtZiBjb25mdGVzdC4kYWNfZXh0IGNvbmZ0ZXN0LiRhY19vYmpleHQKKy1DQz0kYWNfc2F2ZV9DQworLQorLWZpCistCistY2FzZSAieCRhY19jdl9wcm9nX2NjX3N0ZGMiIGluCistICB4fHhubykKKy0gICAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogbm9uZSBuZWVkZWQiID4mNQorLWVjaG8gIiR7RUNIT19UfW5vbmUgbmVlZGVkIiA+JjYgOzsKKy0gICopCistICAgIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRhY19jdl9wcm9nX2NjX3N0ZGMiID4mNQorLWVjaG8gIiR7RUNIT19UfSRhY19jdl9wcm9nX2NjX3N0ZGMiID4mNgorLSAgICBDQz0iJENDICRhY19jdl9wcm9nX2NjX3N0ZGMiIDs7CistZXNhYworLQorLSMgU29tZSBwZW9wbGUgdXNlIGEgQysrIGNvbXBpbGVyIHRvIGNvbXBpbGUgQy4gIFNpbmNlIHdlIHVzZSBgZXhpdCcsCistIyBpbiBDKysgd2UgbmVlZCB0byBkZWNsYXJlIGl0LiAgSW4gY2FzZSBzb21lb25lIHVzZXMgdGhlIHNhbWUgY29tcGlsZXIKKy0jIGZvciBib3RoIGNvbXBpbGluZyBDIGFuZCBDKysgd2UgbmVlZCB0byBoYXZlIHRoZSBDKysgY29tcGlsZXIgZGVjaWRlCistIyB0aGUgZGVjbGFyYXRpb24gb2YgZXhpdCwgc2luY2UgaXQncyB0aGUgbW9zdCBkZW1hbmRpbmcgZW52aXJvbm1lbnQuCistY2F0ID5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistI2lmbmRlZiBfX2NwbHVzcGx1cworLSAgY2hva2UgbWUKKy0jZW5kaWYKKy1fQUNFT0YKKy1ybSAtZiBjb25mdGVzdC4kYWNfb2JqZXh0CistaWYgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfY29tcGlsZVwiIikgPiY1CistICAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNQorLSAgYWNfc3RhdHVzPSQ/CistICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CistICAoZXhpdCAkYWNfc3RhdHVzKTsgfSAmJgorLSAgICAgICAgIHsgYWNfdHJ5PSd0ZXN0IC1zIGNvbmZ0ZXN0LiRhY19vYmpleHQnCistICB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY190cnlcIiIpID4mNQorLSAgKGV2YWwgJGFjX3RyeSkgMj4mNQorLSAgYWNfc3RhdHVzPSQ/CistICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CistICAoZXhpdCAkYWNfc3RhdHVzKTsgfTsgfTsgdGhlbgorLSAgZm9yIGFjX2RlY2xhcmF0aW9uIGluIFwKKy0gICAnJ1wKKy0gICAnI2luY2x1ZGUgPHN0ZGxpYi5oPicgXAorLSAgICdleHRlcm4gIkMiIHZvaWQgc3RkOjpleGl0IChpbnQpIHRocm93ICgpOyB1c2luZyBzdGQ6OmV4aXQ7JyBcCistICAgJ2V4dGVybiAiQyIgdm9pZCBzdGQ6OmV4aXQgKGludCk7IHVzaW5nIHN0ZDo6ZXhpdDsnIFwKKy0gICAnZXh0ZXJuICJDIiB2b2lkIGV4aXQgKGludCkgdGhyb3cgKCk7JyBcCistICAgJ2V4dGVybiAiQyIgdm9pZCBleGl0IChpbnQpOycgXAorLSAgICd2b2lkIGV4aXQgKGludCk7JworLWRvCistICBjYXQgPmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0jbGluZSAkTElORU5PICJjb25maWd1cmUiCistLyogY29uZmRlZnMuaC4gICovCistX0FDRU9GCistY2F0IGNvbmZkZWZzLmggPj5jb25mdGVzdC4kYWNfZXh0CistY2F0ID4+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLS8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKy0jaW5jbHVkZSA8c3RkbGliLmg+CistJGFjX2RlY2xhcmF0aW9uCistaW50CistbWFpbiAoKQorLXsKKy1leGl0ICg0Mik7CistICA7CistICByZXR1cm4gMDsKKy19CistX0FDRU9GCistcm0gLWYgY29uZnRlc3QuJGFjX29iamV4dAorLWlmIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX2NvbXBpbGVcIiIpID4mNQorLSAgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjUKKy0gIGFjX3N0YXR1cz0kPworLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorLSAgKGV4aXQgJGFjX3N0YXR1cyk7IH0gJiYKKy0gICAgICAgICB7IGFjX3RyeT0ndGVzdCAtcyBjb25mdGVzdC4kYWNfb2JqZXh0JworLSAgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfdHJ5XCIiKSA+JjUKKy0gIChldmFsICRhY190cnkpIDI+JjUKKy0gIGFjX3N0YXR1cz0kPworLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorLSAgKGV4aXQgJGFjX3N0YXR1cyk7IH07IH07IHRoZW4KKy0gIDoKKysjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgInJhbmxpYiIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCisrc2V0IGR1bW15IHJhbmxpYjsgYWNfd29yZD0kMgorK2VjaG8gJGFjX24gImNoZWNraW5nIGZvciAkYWNfd29yZCIiLi4uICRhY19jIiAxPiY2CisrZWNobyAiY29uZmlndXJlOjg3MTogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKKytpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfcHJvZ19SQU5MSUInK3NldH0nYFwiID0gc2V0IjsgdGhlbgorKyAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCistICBlY2hvICIkYXNfbWU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorLXNlZCAncy9eL3wgLycgY29uZnRlc3QuJGFjX2V4dCA+JjUKKy0KKy1jb250aW51ZQorLWZpCistcm0gLWYgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0CistICBjYXQgPmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0jbGluZSAkTElORU5PICJjb25maWd1cmUiCistLyogY29uZmRlZnMuaC4gICovCistX0FDRU9GCistY2F0IGNvbmZkZWZzLmggPj5jb25mdGVzdC4kYWNfZXh0CistY2F0ID4+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLS8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKy0kYWNfZGVjbGFyYXRpb24KKy1pbnQKKy1tYWluICgpCisteworLWV4aXQgKDQyKTsKKy0gIDsKKy0gIHJldHVybiAwOworLX0KKy1fQUNFT0YKKy1ybSAtZiBjb25mdGVzdC4kYWNfb2JqZXh0CistaWYgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfY29tcGlsZVwiIikgPiY1CistICAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNQorLSAgYWNfc3RhdHVzPSQ/CistICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CistICAoZXhpdCAkYWNfc3RhdHVzKTsgfSAmJgorLSAgICAgICAgIHsgYWNfdHJ5PSd0ZXN0IC1zIGNvbmZ0ZXN0LiRhY19vYmpleHQnCistICB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY190cnlcIiIpID4mNQorLSAgKGV2YWwgJGFjX3RyeSkgMj4mNQorLSAgYWNfc3RhdHVzPSQ/CistICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CistICAoZXhpdCAkYWNfc3RhdHVzKTsgfTsgfTsgdGhlbgorLSAgYnJlYWsKKy1lbHNlCistICBlY2hvICIkYXNfbWU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorLXNlZCAncy9eL3wgLycgY29uZnRlc3QuJGFjX2V4dCA+JjUKKy0KKy1maQorLXJtIC1mIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuJGFjX2V4dAorLWRvbmUKKy1ybSAtZiBjb25mdGVzdCoKKy1pZiB0ZXN0IC1uICIkYWNfZGVjbGFyYXRpb24iOyB0aGVuCistICBlY2hvICcjaWZkZWYgX19jcGx1c3BsdXMnID4+Y29uZmRlZnMuaAorLSAgZWNobyAkYWNfZGVjbGFyYXRpb24gICAgICA+PmNvbmZkZWZzLmgKKy0gIGVjaG8gJyNlbmRpZicgICAgICAgICAgICAgPj5jb25mZGVmcy5oCistZmkKKy0KKy1lbHNlCistICBlY2hvICIkYXNfbWU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorLXNlZCAncy9eL3wgLycgY29uZnRlc3QuJGFjX2V4dCA+JjUKKy0KKy1maQorLXJtIC1mIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuJGFjX2V4dAorLWFjX2V4dD1jCistYWNfY3BwPSckQ1BQICRDUFBGTEFHUycKKy1hY19jb21waWxlPSckQ0MgLWMgJENGTEFHUyAkQ1BQRkxBR1MgY29uZnRlc3QuJGFjX2V4dCA+JjUnCistYWNfbGluaz0nJENDIC1vIGNvbmZ0ZXN0JGFjX2V4ZWV4dCAkQ0ZMQUdTICRDUFBGTEFHUyAkTERGTEFHUyBjb25mdGVzdC4kYWNfZXh0ICRMSUJTID4mNScKKy1hY19jb21waWxlcl9nbnU9JGFjX2N2X2NfY29tcGlsZXJfZ251CistCistaWYgdGVzdCAtbiAiJGFjX3Rvb2xfcHJlZml4IjsgdGhlbgorLSAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIke2FjX3Rvb2xfcHJlZml4fXJhbmxpYiIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCistc2V0IGR1bW15ICR7YWNfdG9vbF9wcmVmaXh9cmFubGliOyBhY193b3JkPSQyCistZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CistZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gJEVDSE9fQyIgPiY2CistaWYgdGVzdCAiJHthY19jdl9wcm9nX1JBTkxJQitzZXR9IiA9IHNldDsgdGhlbgorLSAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKKy1lbHNlCisgICBpZiB0ZXN0IC1uICIkUkFOTElCIjsgdGhlbgorICAgYWNfY3ZfcHJvZ19SQU5MSUI9IiRSQU5MSUIiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgorIGVsc2UKKy1hc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCistZm9yIGFzX2RpciBpbiAkUEFUSAorLWRvCistICBJRlM9JGFzX3NhdmVfSUZTCistICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgorLSAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCistICBpZiAkYXNfZXhlY3V0YWJsZV9wICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgdGhlbgorLSAgICBhY19jdl9wcm9nX1JBTkxJQj0iJHthY190b29sX3ByZWZpeH1yYW5saWIiCistICAgIGVjaG8gIiRhc19tZTokTElORU5POiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKKy0gICAgYnJlYWsgMgorLSAgZmkKKy1kb25lCistZG9uZQorLQorKyAgSUZTPSIke0lGUz0gCX0iOyBhY19zYXZlX2lmcz0iJElGUyI7IElGUz0iOiIKKysgIGFjX2R1bW15PSIkUEFUSCIKKysgIGZvciBhY19kaXIgaW4gJGFjX2R1bW15OyBkbworKyAgICB0ZXN0IC16ICIkYWNfZGlyIiAmJiBhY19kaXI9LgorKyAgICBpZiB0ZXN0IC1mICRhY19kaXIvJGFjX3dvcmQ7IHRoZW4KKysgICAgICBhY19jdl9wcm9nX1JBTkxJQj0icmFubGliIgorKyAgICAgIGJyZWFrCisrICAgIGZpCisrICBkb25lCisrICBJRlM9IiRhY19zYXZlX2lmcyIKKysgIHRlc3QgLXogIiRhY19jdl9wcm9nX1JBTkxJQiIgJiYgYWNfY3ZfcHJvZ19SQU5MSUI9IjoiCisgZmkKKyBmaQorLVJBTkxJQj0kYWNfY3ZfcHJvZ19SQU5MSUIKKytSQU5MSUI9IiRhY19jdl9wcm9nX1JBTkxJQiIKKyBpZiB0ZXN0IC1uICIkUkFOTElCIjsgdGhlbgorLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJFJBTkxJQiIgPiY1CistZWNobyAiJHtFQ0hPX1R9JFJBTkxJQiIgPiY2CisrICBlY2hvICIkYWNfdCIiJFJBTkxJQiIgMT4mNgorIGVsc2UKKy0gIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6IG5vIiA+JjUKKy1lY2hvICIke0VDSE9fVH1ubyIgPiY2CisrICBlY2hvICIkYWNfdCIibm8iIDE+JjYKKyBmaQorIAorLWZpCistaWYgdGVzdCAteiAiJGFjX2N2X3Byb2dfUkFOTElCIjsgdGhlbgorLSAgYWNfY3RfUkFOTElCPSRSQU5MSUIKKy0gICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAicmFubGliIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KKy1zZXQgZHVtbXkgcmFubGliOyBhY193b3JkPSQyCistZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CistZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gJEVDSE9fQyIgPiY2CistaWYgdGVzdCAiJHthY19jdl9wcm9nX2FjX2N0X1JBTkxJQitzZXR9IiA9IHNldDsgdGhlbgorLSAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKKy1lbHNlCistICBpZiB0ZXN0IC1uICIkYWNfY3RfUkFOTElCIjsgdGhlbgorLSAgYWNfY3ZfcHJvZ19hY19jdF9SQU5MSUI9IiRhY19jdF9SQU5MSUIiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgorLWVsc2UKKy1hc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCistZm9yIGFzX2RpciBpbiAkUEFUSAorLWRvCistICBJRlM9JGFzX3NhdmVfSUZTCistICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgorLSAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCistICBpZiAkYXNfZXhlY3V0YWJsZV9wICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgdGhlbgorLSAgICBhY19jdl9wcm9nX2FjX2N0X1JBTkxJQj0icmFubGliIgorLSAgICBlY2hvICIkYXNfbWU6JExJTkVOTzogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CistICAgIGJyZWFrIDIKKy0gIGZpCistZG9uZQorLWRvbmUKKy0KKy0gIHRlc3QgLXogIiRhY19jdl9wcm9nX2FjX2N0X1JBTkxJQiIgJiYgYWNfY3ZfcHJvZ19hY19jdF9SQU5MSUI9IjoiCistZmkKKy1maQorLWFjX2N0X1JBTkxJQj0kYWNfY3ZfcHJvZ19hY19jdF9SQU5MSUIKKy1pZiB0ZXN0IC1uICIkYWNfY3RfUkFOTElCIjsgdGhlbgorLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGFjX2N0X1JBTkxJQiIgPiY1CistZWNobyAiJHtFQ0hPX1R9JGFjX2N0X1JBTkxJQiIgPiY2CistZWxzZQorLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogbm8iID4mNQorLWVjaG8gIiR7RUNIT19UfW5vIiA+JjYKKy1maQorLQorLSAgUkFOTElCPSRhY19jdF9SQU5MSUIKKy1lbHNlCistICBSQU5MSUI9IiRhY19jdl9wcm9nX1JBTkxJQiIKKy1maQorLQorICMgRmluZCBhIGdvb2QgaW5zdGFsbCBwcm9ncmFtLiAgV2UgcHJlZmVyIGEgQyBwcm9ncmFtIChmYXN0ZXIpLAorICMgc28gb25lIHNjcmlwdCBpcyBhcyBnb29kIGFzIGFub3RoZXIuICBCdXQgYXZvaWQgdGhlIGJyb2tlbiBvcgorICMgaW5jb21wYXRpYmxlIHZlcnNpb25zOgorQEAgLTIzMzMsMzA2ICs5MDEsMTU4IEBACisgIyBTdW5PUyAvdXNyL2V0Yy9pbnN0YWxsCisgIyBJUklYIC9zYmluL2luc3RhbGwKKyAjIEFJWCAvYmluL2luc3RhbGwKKy0jIEFtaWdhT1MgL0MvaW5zdGFsbCwgd2hpY2ggaW5zdGFsbHMgYm9vdGJsb2NrcyBvbiBmbG9wcHkgZGlzY3MKKyAjIEFJWCA0IC91c3IvYmluL2luc3RhbGxic2QsIHdoaWNoIGRvZXNuJ3Qgd29yayB3aXRob3V0IGEgLWcgZmxhZworICMgQUZTIC91c3IvYWZzd3MvYmluL2luc3RhbGwsIHdoaWNoIG1pc2hhbmRsZXMgbm9uZXhpc3RlbnQgYXJncworICMgU1ZSNCAvdXNyL3VjYi9pbnN0YWxsLCB3aGljaCB0cmllcyB0byB1c2UgdGhlIG5vbmV4aXN0ZW50IGdyb3VwICJzdGFmZiIKKyAjIC4vaW5zdGFsbCwgd2hpY2ggY2FuIGJlIGVycm9uZW91c2x5IGNyZWF0ZWQgYnkgbWFrZSBmcm9tIC4vaW5zdGFsbC5zaC4KKy1lY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbCIgPiY1CistZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uICRFQ0hPX0MiID4mNgorK2VjaG8gJGFjX24gImNoZWNraW5nIGZvciBhIEJTRCBjb21wYXRpYmxlIGluc3RhbGwiIi4uLiAkYWNfYyIgMT4mNgorK2VjaG8gImNvbmZpZ3VyZTo5MTA6IGNoZWNraW5nIGZvciBhIEJTRCBjb21wYXRpYmxlIGluc3RhbGwiID4mNQorIGlmIHRlc3QgLXogIiRJTlNUQUxMIjsgdGhlbgorLWlmIHRlc3QgIiR7YWNfY3ZfcGF0aF9pbnN0YWxsK3NldH0iID0gc2V0OyB0aGVuCistICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorK2lmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9wYXRoX2luc3RhbGwnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorKyAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCistICBhc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCistZm9yIGFzX2RpciBpbiAkUEFUSAorLWRvCistICBJRlM9JGFzX3NhdmVfSUZTCistICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgorLSAgIyBBY2NvdW50IGZvciBwZW9wbGUgd2hvIHB1dCB0cmFpbGluZyBzbGFzaGVzIGluIFBBVEggZWxlbWVudHMuCistY2FzZSAkYXNfZGlyLyBpbgorLSAgLi8gfCAuLy8gfCAvY0MvKiB8IFwKKy0gIC9ldGMvKiB8IC91c3Ivc2Jpbi8qIHwgL3Vzci9ldGMvKiB8IC9zYmluLyogfCAvdXNyL2Fmc3dzL2Jpbi8qIHwgXAorLSAgL3Vzci91Y2IvKiApIDs7CistICAqKQorLSAgICAjIE9TRjEgYW5kIFNDTyBPRFQgMy4wIGhhdmUgdGhlaXIgb3duIG5hbWVzIGZvciBpbnN0YWxsLgorLSAgICAjIERvbid0IHVzZSBpbnN0YWxsYnNkIGZyb20gT1NGIHNpbmNlIGl0IGluc3RhbGxzIHN0dWZmIGFzIHJvb3QKKy0gICAgIyBieSBkZWZhdWx0LgorLSAgICBmb3IgYWNfcHJvZyBpbiBnaW5zdGFsbCBzY29pbnN0IGluc3RhbGw7IGRvCistICAgICAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCistICAgICAgICBpZiAkYXNfZXhlY3V0YWJsZV9wICIkYXNfZGlyLyRhY19wcm9nJGFjX2V4ZWNfZXh0IjsgdGhlbgorLSAgICAgICAgICBpZiB0ZXN0ICRhY19wcm9nID0gaW5zdGFsbCAmJgorLSAgICAgICAgICAgIGdyZXAgZHNwbXNnICIkYXNfZGlyLyRhY19wcm9nJGFjX2V4ZWNfZXh0IiA+L2Rldi9udWxsIDI+JjE7IHRoZW4KKy0gICAgICAgICAgICAjIEFJWCBpbnN0YWxsLiAgSXQgaGFzIGFuIGluY29tcGF0aWJsZSBjYWxsaW5nIGNvbnZlbnRpb24uCistICAgICAgICAgICAgOgorLSAgICAgICAgICBlbGlmIHRlc3QgJGFjX3Byb2cgPSBpbnN0YWxsICYmCistICAgICAgICAgICAgZ3JlcCBwd3BsdXMgIiRhc19kaXIvJGFjX3Byb2ckYWNfZXhlY19leHQiID4vZGV2L251bGwgMj4mMTsgdGhlbgorLSAgICAgICAgICAgICMgcHJvZ3JhbS1zcGVjaWZpYyBpbnN0YWxsIHNjcmlwdCB1c2VkIGJ5IEhQIHB3cGx1cy0tZG9uJ3QgdXNlLgorLSAgICAgICAgICAgIDoKKy0gICAgICAgICAgZWxzZQorLSAgICAgICAgICAgIGFjX2N2X3BhdGhfaW5zdGFsbD0iJGFzX2Rpci8kYWNfcHJvZyRhY19leGVjX2V4dCAtYyIKKy0gICAgICAgICAgICBicmVhayAzCistICAgICAgICAgIGZpCistICAgICAgICBmaQorKyAgICBJRlM9IiR7SUZTPSAJfSI7IGFjX3NhdmVfSUZTPSIkSUZTIjsgSUZTPSI6IgorKyAgZm9yIGFjX2RpciBpbiAkUEFUSDsgZG8KKysgICAgIyBBY2NvdW50IGZvciBwZW9wbGUgd2hvIHB1dCB0cmFpbGluZyBzbGFzaGVzIGluIFBBVEggZWxlbWVudHMuCisrICAgIGNhc2UgIiRhY19kaXIvIiBpbgorKyAgICAvfC4vfC4vL3wvZXRjLyp8L3Vzci9zYmluLyp8L3Vzci9ldGMvKnwvc2Jpbi8qfC91c3IvYWZzd3MvYmluLyp8L3Vzci91Y2IvKikgOzsKKysgICAgKikKKysgICAgICAjIE9TRjEgYW5kIFNDTyBPRFQgMy4wIGhhdmUgdGhlaXIgb3duIG5hbWVzIGZvciBpbnN0YWxsLgorKyAgICAgICMgRG9uJ3QgdXNlIGluc3RhbGxic2QgZnJvbSBPU0Ygc2luY2UgaXQgaW5zdGFsbHMgc3R1ZmYgYXMgcm9vdAorKyAgICAgICMgYnkgZGVmYXVsdC4KKysgICAgICBmb3IgYWNfcHJvZyBpbiBnaW5zdGFsbCBzY29pbnN0IGluc3RhbGw7IGRvCisrICAgICAgICBpZiB0ZXN0IC1mICRhY19kaXIvJGFjX3Byb2c7IHRoZW4KKysJICBpZiB0ZXN0ICRhY19wcm9nID0gaW5zdGFsbCAmJgorKyAgICAgICAgICAgIGdyZXAgZHNwbXNnICRhY19kaXIvJGFjX3Byb2cgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCisrCSAgICAjIEFJWCBpbnN0YWxsLiAgSXQgaGFzIGFuIGluY29tcGF0aWJsZSBjYWxsaW5nIGNvbnZlbnRpb24uCisrCSAgICA6CisrCSAgZWxzZQorKwkgICAgYWNfY3ZfcGF0aF9pbnN0YWxsPSIkYWNfZGlyLyRhY19wcm9nIC1jIgorKwkgICAgYnJlYWsgMgorKwkgIGZpCisrCWZpCisgICAgICAgZG9uZQorLSAgICBkb25lCistICAgIDs7CistZXNhYworLWRvbmUKKysgICAgICA7OworKyAgICBlc2FjCisrICBkb25lCisrICBJRlM9IiRhY19zYXZlX0lGUyIKKyAKKy0KKyBmaQorICAgaWYgdGVzdCAiJHthY19jdl9wYXRoX2luc3RhbGwrc2V0fSIgPSBzZXQ7IHRoZW4KKy0gICAgSU5TVEFMTD0kYWNfY3ZfcGF0aF9pbnN0YWxsCisrICAgIElOU1RBTEw9IiRhY19jdl9wYXRoX2luc3RhbGwiCisgICBlbHNlCisgICAgICMgQXMgYSBsYXN0IHJlc29ydCwgdXNlIHRoZSBzbG93IHNoZWxsIHNjcmlwdC4gIFdlIGRvbid0IGNhY2hlIGEKKyAgICAgIyBwYXRoIGZvciBJTlNUQUxMIHdpdGhpbiBhIHNvdXJjZSBkaXJlY3RvcnksIGJlY2F1c2UgdGhhdCB3aWxsCisgICAgICMgYnJlYWsgb3RoZXIgcGFja2FnZXMgdXNpbmcgdGhlIGNhY2hlIGlmIHRoYXQgZGlyZWN0b3J5IGlzCisgICAgICMgcmVtb3ZlZCwgb3IgaWYgdGhlIHBhdGggaXMgcmVsYXRpdmUuCistICAgIElOU1RBTEw9JGFjX2luc3RhbGxfc2gKKysgICAgSU5TVEFMTD0iJGFjX2luc3RhbGxfc2giCisgICBmaQorIGZpCistZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJElOU1RBTEwiID4mNQorLWVjaG8gIiR7RUNIT19UfSRJTlNUQUxMIiA+JjYKKytlY2hvICIkYWNfdCIiJElOU1RBTEwiIDE+JjYKKyAKKyAjIFVzZSB0ZXN0IC16IGJlY2F1c2UgU3VuT1M0IHNoIG1pc2hhbmRsZXMgYnJhY2VzIGluICR7dmFyLXZhbH0uCisgIyBJdCB0aGlua3MgdGhlIGZpcnN0IGNsb3NlIGJyYWNlIGVuZHMgdGhlIHZhcmlhYmxlIHN1YnN0aXR1dGlvbi4KKyB0ZXN0IC16ICIkSU5TVEFMTF9QUk9HUkFNIiAmJiBJTlNUQUxMX1BST0dSQU09JyR7SU5TVEFMTH0nCisgCistdGVzdCAteiAiJElOU1RBTExfU0NSSVBUIiAmJiBJTlNUQUxMX1NDUklQVD0nJHtJTlNUQUxMfScKKyt0ZXN0IC16ICIkSU5TVEFMTF9TQ1JJUFQiICYmIElOU1RBTExfU0NSSVBUPScke0lOU1RBTExfUFJPR1JBTX0nCisgCisgdGVzdCAteiAiJElOU1RBTExfREFUQSIgJiYgSU5TVEFMTF9EQVRBPScke0lOU1RBTEx9IC1tIDY0NCcKKyAKKy1pZiB0ZXN0IC1uICIkYWNfdG9vbF9wcmVmaXgiOyB0aGVuCistICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIiR7YWNfdG9vbF9wcmVmaXh9YXIiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorK2lmIHRlc3QgJGhvc3QgIT0gJGJ1aWxkOyB0aGVuCisrICBhY190b29sX3ByZWZpeD0ke2hvc3RfYWxpYXN9LQorK2Vsc2UKKysgIGFjX3Rvb2xfcHJlZml4PQorK2ZpCisrCisrIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIke2FjX3Rvb2xfcHJlZml4fWFyIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KKyBzZXQgZHVtbXkgJHthY190b29sX3ByZWZpeH1hcjsgYWNfd29yZD0kMgorLWVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorLWVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICRFQ0hPX0MiID4mNgorLWlmIHRlc3QgIiR7YWNfY3ZfcHJvZ19BUitzZXR9IiA9IHNldDsgdGhlbgorLSAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKKytlY2hvICRhY19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQiIi4uLiAkYWNfYyIgMT4mNgorK2VjaG8gImNvbmZpZ3VyZTo5NzE6IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CisraWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X3Byb2dfQVInK3NldH0nYFwiID0gc2V0IjsgdGhlbgorKyAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCisgICBpZiB0ZXN0IC1uICIkQVIiOyB0aGVuCisgICBhY19jdl9wcm9nX0FSPSIkQVIiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgorIGVsc2UKKy1hc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCistZm9yIGFzX2RpciBpbiAkUEFUSAorLWRvCistICBJRlM9JGFzX3NhdmVfSUZTCistICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgorLSAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCistICBpZiAkYXNfZXhlY3V0YWJsZV9wICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgdGhlbgorLSAgICBhY19jdl9wcm9nX0FSPSIke2FjX3Rvb2xfcHJlZml4fWFyIgorLSAgICBlY2hvICIkYXNfbWU6JExJTkVOTzogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CistICAgIGJyZWFrIDIKKy0gIGZpCistZG9uZQorLWRvbmUKKy0KKysgIElGUz0iJHtJRlM9IAl9IjsgYWNfc2F2ZV9pZnM9IiRJRlMiOyBJRlM9IjoiCisrICBhY19kdW1teT0iJFBBVEgiCisrICBmb3IgYWNfZGlyIGluICRhY19kdW1teTsgZG8KKysgICAgdGVzdCAteiAiJGFjX2RpciIgJiYgYWNfZGlyPS4KKysgICAgaWYgdGVzdCAtZiAkYWNfZGlyLyRhY193b3JkOyB0aGVuCisrICAgICAgYWNfY3ZfcHJvZ19BUj0iJHthY190b29sX3ByZWZpeH1hciIKKysgICAgICBicmVhaworKyAgICBmaQorKyAgZG9uZQorKyAgSUZTPSIkYWNfc2F2ZV9pZnMiCisrICB0ZXN0IC16ICIkYWNfY3ZfcHJvZ19BUiIgJiYgYWNfY3ZfcHJvZ19BUj0iYXIiCisgZmkKKyBmaQorLUFSPSRhY19jdl9wcm9nX0FSCisrQVI9IiRhY19jdl9wcm9nX0FSIgorIGlmIHRlc3QgLW4gIiRBUiI7IHRoZW4KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRBUiIgPiY1CistZWNobyAiJHtFQ0hPX1R9JEFSIiA+JjYKKysgIGVjaG8gIiRhY190IiIkQVIiIDE+JjYKKyBlbHNlCistICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiBubyIgPiY1CistZWNobyAiJHtFQ0hPX1R9bm8iID4mNgorKyAgZWNobyAiJGFjX3QiIm5vIiAxPiY2CisgZmkKKyAKKy1maQorLWlmIHRlc3QgLXogIiRhY19jdl9wcm9nX0FSIjsgdGhlbgorLSAgYWNfY3RfQVI9JEFSCistICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgImFyIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KKy1zZXQgZHVtbXkgYXI7IGFjX3dvcmQ9JDIKKy1lY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKKy1lY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAkRUNIT19DIiA+JjYKKy1pZiB0ZXN0ICIke2FjX2N2X3Byb2dfYWNfY3RfQVIrc2V0fSIgPSBzZXQ7IHRoZW4KKy0gIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CistZWxzZQorLSAgaWYgdGVzdCAtbiAiJGFjX2N0X0FSIjsgdGhlbgorLSAgYWNfY3ZfcHJvZ19hY19jdF9BUj0iJGFjX2N0X0FSIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KKy1lbHNlCistYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgorLWZvciBhc19kaXIgaW4gJFBBVEgKKy1kbworLSAgSUZTPSRhc19zYXZlX0lGUworLSAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKy0gIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbworLSAgaWYgJGFzX2V4ZWN1dGFibGVfcCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IHRoZW4KKy0gICAgYWNfY3ZfcHJvZ19hY19jdF9BUj0iYXIiCistICAgIGVjaG8gIiRhc19tZTokTElORU5POiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKKy0gICAgYnJlYWsgMgorLSAgZmkKKy1kb25lCistZG9uZQorIAorLWZpCistZmkKKy1hY19jdF9BUj0kYWNfY3ZfcHJvZ19hY19jdF9BUgorLWlmIHRlc3QgLW4gIiRhY19jdF9BUiI7IHRoZW4KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRhY19jdF9BUiIgPiY1CistZWNobyAiJHtFQ0hPX1R9JGFjX2N0X0FSIiA+JjYKKy1lbHNlCistICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiBubyIgPiY1CistZWNobyAiJHtFQ0hPX1R9bm8iID4mNgorLWZpCisgCistICBBUj0kYWNfY3RfQVIKKytlY2hvICRhY19uICJjaGVja2luZyB3aGV0aGVyIGJ5dGUgb3JkZXJpbmcgaXMgYmlnZW5kaWFuIiIuLi4gJGFjX2MiIDE+JjYKKytlY2hvICJjb25maWd1cmU6MTAwMTogY2hlY2tpbmcgd2hldGhlciBieXRlIG9yZGVyaW5nIGlzIGJpZ2VuZGlhbiIgPiY1CisraWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2NfYmlnZW5kaWFuJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKysgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorLSAgQVI9IiRhY19jdl9wcm9nX0FSIgorLWZpCistCistCistZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIHdoZXRoZXIgYnl0ZSBvcmRlcmluZyBpcyBiaWdlbmRpYW4iID4mNQorLWVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgd2hldGhlciBieXRlIG9yZGVyaW5nIGlzIGJpZ2VuZGlhbi4uLiAkRUNIT19DIiA+JjYKKy1pZiB0ZXN0ICIke2FjX2N2X2NfYmlnZW5kaWFuK3NldH0iID0gc2V0OyB0aGVuCistICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorLWVsc2UKKy0gICMgU2VlIGlmIHN5cy9wYXJhbS5oIGRlZmluZXMgdGhlIEJZVEVfT1JERVIgbWFjcm8uCistY2F0ID5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistI2xpbmUgJExJTkVOTyAiY29uZmlndXJlIgorLS8qIGNvbmZkZWZzLmguICAqLworLV9BQ0VPRgorLWNhdCBjb25mZGVmcy5oID4+Y29uZnRlc3QuJGFjX2V4dAorLWNhdCA+PmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0vKiBlbmQgY29uZmRlZnMuaC4gICovCisrICBhY19jdl9jX2JpZ2VuZGlhbj11bmtub3duCisrIyBTZWUgaWYgc3lzL3BhcmFtLmggZGVmaW5lcyB0aGUgQllURV9PUkRFUiBtYWNyby4KKytjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCisrI2xpbmUgMTAwOCAiY29uZmlndXJlIgorKyNpbmNsdWRlICJjb25mZGVmcy5oIgorICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyAjaW5jbHVkZSA8c3lzL3BhcmFtLmg+CisraW50IG1haW4oKSB7CisgCistaW50CistbWFpbiAoKQorLXsKKyAjaWYgIUJZVEVfT1JERVIgfHwgIUJJR19FTkRJQU4gfHwgIUxJVFRMRV9FTkRJQU4KKyAgYm9ndXMgZW5kaWFuIG1hY3JvcworICNlbmRpZgorLQorLSAgOworLSAgcmV0dXJuIDA7CistfQorLV9BQ0VPRgorLXJtIC1mIGNvbmZ0ZXN0LiRhY19vYmpleHQKKy1pZiB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19jb21waWxlXCIiKSA+JjUKKy0gIChldmFsICRhY19jb21waWxlKSAyPiY1CistICBhY19zdGF0dXM9JD8KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKy0gIChleGl0ICRhY19zdGF0dXMpOyB9ICYmCistICAgICAgICAgeyBhY190cnk9J3Rlc3QgLXMgY29uZnRlc3QuJGFjX29iamV4dCcKKy0gIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX3RyeVwiIikgPiY1CistICAoZXZhbCAkYWNfdHJ5KSAyPiY1CistICBhY19zdGF0dXM9JD8KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKy0gIChleGl0ICRhY19zdGF0dXMpOyB9OyB9OyB0aGVuCisrOyByZXR1cm4gMDsgfQorK0VPRgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTAxOTogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorKyAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgIyBJdCBkb2VzOyBub3cgc2VlIHdoZXRoZXIgaXQgZGVmaW5lZCB0byBCSUdfRU5ESUFOIG9yIG5vdC4KKy1jYXQgPmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0jbGluZSAkTElORU5PICJjb25maWd1cmUiCistLyogY29uZmRlZnMuaC4gICovCistX0FDRU9GCistY2F0IGNvbmZkZWZzLmggPj5jb25mdGVzdC4kYWNfZXh0CistY2F0ID4+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLS8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKytjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCisrI2xpbmUgMTAyMyAiY29uZmlndXJlIgorKyNpbmNsdWRlICJjb25mZGVmcy5oIgorICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyAjaW5jbHVkZSA8c3lzL3BhcmFtLmg+CisraW50IG1haW4oKSB7CisgCistaW50CistbWFpbiAoKQorLXsKKyAjaWYgQllURV9PUkRFUiAhPSBCSUdfRU5ESUFOCisgIG5vdCBiaWcgZW5kaWFuCisgI2VuZGlmCistCistICA7CistICByZXR1cm4gMDsKKy19CistX0FDRU9GCistcm0gLWYgY29uZnRlc3QuJGFjX29iamV4dAorLWlmIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX2NvbXBpbGVcIiIpID4mNQorLSAgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjUKKy0gIGFjX3N0YXR1cz0kPworLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorLSAgKGV4aXQgJGFjX3N0YXR1cyk7IH0gJiYKKy0gICAgICAgICB7IGFjX3RyeT0ndGVzdCAtcyBjb25mdGVzdC4kYWNfb2JqZXh0JworLSAgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfdHJ5XCIiKSA+JjUKKy0gIChldmFsICRhY190cnkpIDI+JjUKKy0gIGFjX3N0YXR1cz0kPworLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorLSAgKGV4aXQgJGFjX3N0YXR1cyk7IH07IH07IHRoZW4KKys7IHJldHVybiAwOyB9CisrRU9GCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMDM0OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisrICBybSAtcmYgY29uZnRlc3QqCisgICBhY19jdl9jX2JpZ2VuZGlhbj15ZXMKKyBlbHNlCistICBlY2hvICIkYXNfbWU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorLXNlZCAncy9eL3wgLycgY29uZnRlc3QuJGFjX2V4dCA+JjUKKy0KKy1hY19jdl9jX2JpZ2VuZGlhbj1ubworKyAgZWNobyAiY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKKysgIGNhdCBjb25mdGVzdC4kYWNfZXh0ID4mNQorKyAgcm0gLXJmIGNvbmZ0ZXN0KgorKyAgYWNfY3ZfY19iaWdlbmRpYW49bm8KKyBmaQorLXJtIC1mIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuJGFjX2V4dAorK3JtIC1mIGNvbmZ0ZXN0KgorIGVsc2UKKy0gIGVjaG8gIiRhc19tZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1Cistc2VkICdzL14vfCAvJyBjb25mdGVzdC4kYWNfZXh0ID4mNQorLQorLSMgSXQgZG9lcyBub3Q7IGNvbXBpbGUgYSB0ZXN0IHByb2dyYW0uCistaWYgdGVzdCAiJGNyb3NzX2NvbXBpbGluZyIgPSB5ZXM7IHRoZW4KKy0gICMgdHJ5IHRvIGd1ZXNzIHRoZSBlbmRpYW5uZXNzIGJ5IGdyZXBwaW5nIHZhbHVlcyBpbnRvIGFuIG9iamVjdCBmaWxlCistICBhY19jdl9jX2JpZ2VuZGlhbj11bmtub3duCistICBjYXQgPmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0jbGluZSAkTElORU5PICJjb25maWd1cmUiCistLyogY29uZmRlZnMuaC4gICovCistX0FDRU9GCistY2F0IGNvbmZkZWZzLmggPj5jb25mdGVzdC4kYWNfZXh0CistY2F0ID4+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLS8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKy1zaG9ydCBhc2NpaV9tbVtdID0geyAweDQyNDksIDB4NDc2NSwgMHg2RTQ0LCAweDY5NjEsIDB4NkU1MywgMHg3OTUzLCAwIH07Cistc2hvcnQgYXNjaWlfaWlbXSA9IHsgMHg2OTRDLCAweDU0NTQsIDB4NjU2QywgMHg2RTQ1LCAweDY5NDQsIDB4NkU2MSwgMCB9OworLXZvaWQgX2FzY2lpICgpIHsgY2hhciAqcyA9IChjaGFyICopIGFzY2lpX21tOyBzID0gKGNoYXIgKikgYXNjaWlfaWk7IH0KKy1zaG9ydCBlYmNkaWNfaWlbXSA9IHsgMHg4OUQzLCAweEUzRTMsIDB4ODU5MywgMHg5NUM1LCAweDg5QzQsIDB4OTU4MSwgMCB9OworLXNob3J0IGViY2RpY19tbVtdID0geyAweEMyQzksIDB4Qzc4NSwgMHg5NUM0LCAweDg5ODEsIDB4OTVFMiwgMHhBOEUyLCAwIH07Cistdm9pZCBfZWJjZGljICgpIHsgY2hhciAqcyA9IChjaGFyICopIGViY2RpY19tbTsgcyA9IChjaGFyICopIGViY2RpY19paTsgfQorLWludAorLW1haW4gKCkKKy17CistIF9hc2NpaSAoKTsgX2ViY2RpYyAoKTsKKy0gIDsKKy0gIHJldHVybiAwOworLX0KKy1fQUNFT0YKKy1ybSAtZiBjb25mdGVzdC4kYWNfb2JqZXh0CistaWYgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfY29tcGlsZVwiIikgPiY1CistICAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNQorLSAgYWNfc3RhdHVzPSQ/CistICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CistICAoZXhpdCAkYWNfc3RhdHVzKTsgfSAmJgorLSAgICAgICAgIHsgYWNfdHJ5PSd0ZXN0IC1zIGNvbmZ0ZXN0LiRhY19vYmpleHQnCistICB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY190cnlcIiIpID4mNQorLSAgKGV2YWwgJGFjX3RyeSkgMj4mNQorLSAgYWNfc3RhdHVzPSQ/CistICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CistICAoZXhpdCAkYWNfc3RhdHVzKTsgfTsgfTsgdGhlbgorLSAgaWYgZ3JlcCBCSUdlbkRpYW5TeVMgY29uZnRlc3QuJGFjX29iamV4dCA+L2Rldi9udWxsIDsgdGhlbgorLSAgYWNfY3ZfY19iaWdlbmRpYW49eWVzCisrICBlY2hvICJjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorKyAgY2F0IGNvbmZ0ZXN0LiRhY19leHQgPiY1CisgZmkKKy1pZiBncmVwIExpVFRsZUVuRGlhbiBjb25mdGVzdC4kYWNfb2JqZXh0ID4vZGV2L251bGwgOyB0aGVuCistICBpZiB0ZXN0ICIkYWNfY3ZfY19iaWdlbmRpYW4iID0gdW5rbm93bjsgdGhlbgorLSAgICBhY19jdl9jX2JpZ2VuZGlhbj1ubworLSAgZWxzZQorLSAgICAjIGZpbmRpbmcgYm90aCBzdHJpbmdzIGlzIHVubGlrZWx5IHRvIGhhcHBlbiwgYnV0IHdobyBrbm93cz8KKy0gICAgYWNfY3ZfY19iaWdlbmRpYW49dW5rbm93bgorLSAgZmkKKy1maQorK3JtIC1mIGNvbmZ0ZXN0KgorK2lmIHRlc3QgJGFjX2N2X2NfYmlnZW5kaWFuID0gdW5rbm93bjsgdGhlbgorK2lmIHRlc3QgIiRjcm9zc19jb21waWxpbmciID0geWVzOyB0aGVuCisrICAgIHsgZWNobyAiY29uZmlndXJlOiBlcnJvcjogY2FuIG5vdCBydW4gdGVzdCBwcm9ncmFtIHdoaWxlIGNyb3NzIGNvbXBpbGluZyIgMT4mMjsgZXhpdCAxOyB9CisgZWxzZQorLSAgZWNobyAiJGFzX21lOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKKy1zZWQgJ3MvXi98IC8nIGNvbmZ0ZXN0LiRhY19leHQgPiY1CistCistZmkKKy1ybSAtZiBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKKy1lbHNlCistICBjYXQgPmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0jbGluZSAkTElORU5PICJjb25maWd1cmUiCistLyogY29uZmRlZnMuaC4gICovCistX0FDRU9GCistY2F0IGNvbmZkZWZzLmggPj5jb25mdGVzdC4kYWNfZXh0CistY2F0ID4+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLS8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKy1pbnQKKy1tYWluICgpCisteworKyAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorKyNsaW5lIDEwNTQgImNvbmZpZ3VyZSIKKysjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyttYWluICgpIHsKKyAgIC8qIEFyZSB3ZSBsaXR0bGUgb3IgYmlnIGVuZGlhbj8gIEZyb20gSGFyYmlzb24mU3RlZWxlLiAgKi8KKyAgIHVuaW9uCisgICB7CitAQCAtMjY0Miw1MiArMTA2MiwzMSBAQAorICAgdS5sID0gMTsKKyAgIGV4aXQgKHUuY1tzaXplb2YgKGxvbmcpIC0gMV0gPT0gMSk7CisgfQorLV9BQ0VPRgorLXJtIC1mIGNvbmZ0ZXN0JGFjX2V4ZWV4dAorLWlmIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX2xpbmtcIiIpID4mNQorLSAgKGV2YWwgJGFjX2xpbmspIDI+JjUKKy0gIGFjX3N0YXR1cz0kPworLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorLSAgKGV4aXQgJGFjX3N0YXR1cyk7IH0gJiYgeyBhY190cnk9Jy4vY29uZnRlc3QkYWNfZXhlZXh0JworLSAgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfdHJ5XCIiKSA+JjUKKy0gIChldmFsICRhY190cnkpIDI+JjUKKy0gIGFjX3N0YXR1cz0kPworLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorLSAgKGV4aXQgJGFjX3N0YXR1cyk7IH07IH07IHRoZW4KKytFT0YKKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjEwNjc6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fSAmJiAoLi9jb25mdGVzdDsgZXhpdCkgMj4vZGV2L251bGwKKyt0aGVuCisgICBhY19jdl9jX2JpZ2VuZGlhbj1ubworIGVsc2UKKy0gIGVjaG8gIiRhc19tZTogcHJvZ3JhbSBleGl0ZWQgd2l0aCBzdGF0dXMgJGFjX3N0YXR1cyIgPiY1CistZWNobyAiJGFzX21lOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKKy1zZWQgJ3MvXi98IC8nIGNvbmZ0ZXN0LiRhY19leHQgPiY1CistCistKCBleGl0ICRhY19zdGF0dXMgKQorLWFjX2N2X2NfYmlnZW5kaWFuPXllcworKyAgZWNobyAiY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKKysgIGNhdCBjb25mdGVzdC4kYWNfZXh0ID4mNQorKyAgcm0gLWZyIGNvbmZ0ZXN0KgorKyAgYWNfY3ZfY19iaWdlbmRpYW49eWVzCisgZmkKKy1ybSAtZiBjb3JlIGNvcmUuKiAqLmNvcmUgZ21vbi5vdXQgYmIub3V0IGNvbmZ0ZXN0JGFjX2V4ZWV4dCBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKKytybSAtZnIgY29uZnRlc3QqCisgZmkKKysKKyBmaQorLXJtIC1mIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuJGFjX2V4dAorIGZpCistZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGFjX2N2X2NfYmlnZW5kaWFuIiA+JjUKKy1lY2hvICIke0VDSE9fVH0kYWNfY3ZfY19iaWdlbmRpYW4iID4mNgorLWNhc2UgJGFjX2N2X2NfYmlnZW5kaWFuIGluCistICB5ZXMpCisgCistY2F0ID4+Y29uZmRlZnMuaCA8PFxfQUNFT0YKKytlY2hvICIkYWNfdCIiJGFjX2N2X2NfYmlnZW5kaWFuIiAxPiY2CisraWYgdGVzdCAkYWNfY3ZfY19iaWdlbmRpYW4gPSB5ZXM7IHRoZW4KKysgIGNhdCA+PiBjb25mZGVmcy5oIDw8XEVPRgorICNkZWZpbmUgV09SRFNfQklHRU5ESUFOIDEKKy1fQUNFT0YKKy0gOzsKKy0gIG5vKQorLSAgICAgOzsKKy0gICopCistICAgIHsgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogZXJyb3I6IHVua25vd24gZW5kaWFubmVzcworLXByZXNldHRpbmcgYWNfY3ZfY19iaWdlbmRpYW49bm8gKG9yIHllcykgd2lsbCBoZWxwIiA+JjUKKy1lY2hvICIkYXNfbWU6IGVycm9yOiB1bmtub3duIGVuZGlhbm5lc3MKKy1wcmVzZXR0aW5nIGFjX2N2X2NfYmlnZW5kaWFuPW5vIChvciB5ZXMpIHdpbGwgaGVscCIgPiYyO30KKy0gICB7IChleGl0IDEpOyBleGl0IDE7IH07IH0gOzsKKy1lc2FjCisrRU9GCisgCisrZmkKKyAKKysKKyBpZiB0ZXN0ICJ4JEdDQyIgPSAieHllcyI7IHRoZW4KKyAJQ0ZMQUdTPSIkQ0ZMQUdTIC1XYWxsIgorIGZpCitAQCAtMjY5NywxNCArMTA5NiwxMyBAQAorICAgY2FzZSAiJHtlbmFibGV2YWx9IiBpbgorICAgICAgICAgICAgICAgICAgeWVzKSBzaGFyZWQ9dHJ1ZSA7OworICAgICAgICAgICAgICAgICAgbm8pIHNoYXJlZD1mYWxzZSA7OworLSAgICAgICAgICAgICAgICAgKikgeyB7IGVjaG8gIiRhc19tZTokTElORU5POiBlcnJvcjogYmFkIHZhbHVlICR7ZW5hYmxldmFsfSBmb3Igc2hhcmVkIG9wdGlvbnMiID4mNQorLWVjaG8gIiRhc19tZTogZXJyb3I6IGJhZCB2YWx1ZSAke2VuYWJsZXZhbH0gZm9yIHNoYXJlZCBvcHRpb25zIiA+JjI7fQorLSAgIHsgKGV4aXQgMSk7IGV4aXQgMTsgfTsgfSA7OworKyAgICAgICAgICAgICAgICAgKikgeyBlY2hvICJjb25maWd1cmU6IGVycm9yOiBiYWQgdmFsdWUgJHtlbmFibGV2YWx9IGZvciBzaGFyZWQgb3B0aW9ucyIgMT4mMjsgZXhpdCAxOyB9IDs7CisgICAgICAgICAgICAgICAgICBlc2FjCisgZWxzZQorICAgc2hhcmVkPWZhbHNlCistZmk7CisrZmkKKyAKKysKKyBjYXNlICIkdGFyZ2V0X2NwdSIgaW4KKyAgICAgIGkzODZ8aTQ4NnxpNTg2fGk2ODYpCisgCVRBUkdFVF9DUFU9aTM4NgorQEAgLTI3MTIsNyArMTExMCw3IEBACisgICAgICAqKQorICAgICAgICAgVEFSR0VUX0NQVT0kdGFyZ2V0X2NwdQorICAgICAgOzsKKy1lc2FjCisrZXNhYyAgICAgCisgVEFSR0VUX09TPSR0YXJnZXRfb3MKKyAKKyBNNjhLQ0M9CitAQCAtMjcyNiw3ICsxMTI0LDcgQEAKKyAJCU02OEtDQz0vdXNyL202OGstcGFsbW9zL2Jpbi9nY2MKKyAJCSMgR2VuZXJpYyBidWlsZCBpcyBBUk0gb3IgTTY4SyAocHJvYmFibHkgQVJNIHRob3VnaCkKKyAgICAgICAgICAgICAgICAgQ0M9Ii91c3IvJFRBUkdFVF9DUFUtcGFsbW9zL2Jpbi9nY2MiCistCQlpZiB0ZXN0ICIkdGFyZ2V0X2NwdSIgPSAiYXJtIgorKwkJaWYgdGVzdCAiJHRhcmdldF9jcHUiID0gImFybSIgCisgICAgICAgICAgICAgICAgIHRoZW4KKyAgICAgICAgICAgICAgICAgICAgQ0M9IiRDQyAtZlBJQyAtbWFyY2g9YXJtdjR0IgorICAgICAgICAgICAgICAgICBmaQorQEAgLTI3NjIsNyArMTE2MCw3IEBACisgICAgICAqKQorICAgICAgICAgSE9TVF9DUFU9JGhvc3RfY3B1CisgICAgICA7OworLWVzYWMKKytlc2FjICAgICAKKyBIT1NUX09TPSRob3N0X29zCisgCisgCitAQCAtMjgwMCwxMzggKzExOTgsOTEgQEAKKyAgIGNhc2UgIiR7ZW5hYmxldmFsfSIgaW4KKyAgICAgICAgICAgICAgICAgIHllcykgc29ja2V0cz10cnVlIDs7CisgICAgICAgICAgICAgICAgICBubykgc29ja2V0cz1mYWxzZSA7OworLSAgICAgICAgICAgICAgICAgKikgeyB7IGVjaG8gIiRhc19tZTokTElORU5POiBlcnJvcjogYmFkIHZhbHVlICR7ZW5hYmxldmFsfSBmb3Igc29ja2V0cyBvcHRpb25zIiA+JjUKKy1lY2hvICIkYXNfbWU6IGVycm9yOiBiYWQgdmFsdWUgJHtlbmFibGV2YWx9IGZvciBzb2NrZXRzIG9wdGlvbnMiID4mMjt9CistICAgeyAoZXhpdCAxKTsgZXhpdCAxOyB9OyB9IDs7CisrICAgICAgICAgICAgICAgICAqKSB7IGVjaG8gImNvbmZpZ3VyZTogZXJyb3I6IGJhZCB2YWx1ZSAke2VuYWJsZXZhbH0gZm9yIHNvY2tldHMgb3B0aW9ucyIgMT4mMjsgZXhpdCAxOyB9IDs7CisgICAgICAgICAgICAgICAgICBlc2FjCisgZWxzZQorICAgc29ja2V0cz10cnVlCistZmk7CisrZmkKKysKKyBpZiB0ZXN0ICIkc29ja2V0cyIgPSBmYWxzZTsgdGhlbgorLSAgIGNhdCA+PmNvbmZkZWZzLmggPDxcX0FDRU9GCisrICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisgI2RlZmluZSBDU1RfTk9fU09DS0VUUyAxCistX0FDRU9GCisrRU9GCisgCisgZmkKKyAKKy1jYXQgPmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0jbGluZSAkTElORU5PICJjb25maWd1cmUiCistLyogY29uZmRlZnMuaC4gICovCistX0FDRU9GCistY2F0IGNvbmZkZWZzLmggPj5jb25mdGVzdC4kYWNfZXh0CistY2F0ID4+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLS8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKytjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCisrI2xpbmUgMTIxNiAiY29uZmlndXJlIgorKyNpbmNsdWRlICJjb25mZGVmcy5oIgorICNpbmNsdWRlIDxzdGRpby5oPgorLWludAorLW1haW4gKCkKKy17CisraW50IG1haW4oKSB7CisgIHN0cnVjdCBhIHsgdW5pb24geyBmbG9hdCBiOyBpbnQgYzsgfSBkOyB9OworLSAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IGEgZSA9IHsgLmQ9eyAuYj0zLjE0IH0gfTsKKy0gIDsKKy0gIHJldHVybiAwOworLX0KKy1fQUNFT0YKKy1ybSAtZiBjb25mdGVzdC4kYWNfb2JqZXh0CistaWYgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfY29tcGlsZVwiIikgPiY1CistICAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNQorLSAgYWNfc3RhdHVzPSQ/CistICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CistICAoZXhpdCAkYWNfc3RhdHVzKTsgfSAmJgorLSAgICAgICAgIHsgYWNfdHJ5PSd0ZXN0IC1zIGNvbmZ0ZXN0LiRhY19vYmpleHQnCistICB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY190cnlcIiIpID4mNQorLSAgKGV2YWwgJGFjX3RyeSkgMj4mNQorLSAgYWNfc3RhdHVzPSQ/CistICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CistICAoZXhpdCAkYWNfc3RhdHVzKTsgfTsgfTsgdGhlbgorKyAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IGEgZSA9IHsgLmQ9eyAuYj0zLjE0IH0gfTsgCisrOyByZXR1cm4gMDsgfQorK0VPRgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTIyNDogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorKyAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgdW5pb25pbml0PXllcworIGVsc2UKKy0gIGVjaG8gIiRhc19tZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1Cistc2VkICdzL14vfCAvJyBjb25mdGVzdC4kYWNfZXh0ID4mNQorLQorLXVuaW9uaW5pdD1ubworKyAgZWNobyAiY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKKysgIGNhdCBjb25mdGVzdC4kYWNfZXh0ID4mNQorKyAgcm0gLXJmIGNvbmZ0ZXN0KgorKyAgdW5pb25pbml0PW5vCisgZmkKKy1ybSAtZiBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKKytybSAtZiBjb25mdGVzdCoKKyBpZiB0ZXN0ICIkdW5pb25pbml0IiA9IG5vOyB0aGVuCistICAgY2F0ID4+Y29uZmRlZnMuaCA8PFxfQUNFT0YKKysgICBjYXQgPj4gY29uZmRlZnMuaCA8PFxFT0YKKyAjZGVmaW5lIE5PX1VOSU9OX0lOSVRJQUxJWkFUSU9OIDEKKy1fQUNFT0YKKytFT0YKKyAKKyBmaQorIAorLWVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgbW1hcCIgPiY1CistZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgbW1hcC4uLiAkRUNIT19DIiA+JjYKKy1pZiB0ZXN0ICIke2FjX2N2X2Z1bmNfbW1hcCtzZXR9IiA9IHNldDsgdGhlbgorLSAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKKytlY2hvICRhY19uICJjaGVja2luZyBmb3IgbW1hcCIiLi4uICRhY19jIiAxPiY2CisrZWNobyAiY29uZmlndXJlOjEyNDI6IGNoZWNraW5nIGZvciBtbWFwIiA+JjUKKytpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfZnVuY19tbWFwJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKysgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorLSAgY2F0ID5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistI2xpbmUgJExJTkVOTyAiY29uZmlndXJlIgorLS8qIGNvbmZkZWZzLmguICAqLworLV9BQ0VPRgorLWNhdCBjb25mZGVmcy5oID4+Y29uZnRlc3QuJGFjX2V4dAorLWNhdCA+PmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0vKiBlbmQgY29uZmRlZnMuaC4gICovCisrICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCisrI2xpbmUgMTI0NyAiY29uZmlndXJlIgorKyNpbmNsdWRlICJjb25mZGVmcy5oIgorIC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKKy0gICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBtbWFwICgpOyBiZWxvdy4KKy0gICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQorLSAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuICAqLworLSNpZmRlZiBfX1NURENfXworLSMgaW5jbHVkZSA8bGltaXRzLmg+CistI2Vsc2UKKy0jIGluY2x1ZGUgPGFzc2VydC5oPgorLSNlbmRpZgorKyAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIG1tYXAoKTsgYmVsb3cuICAqLworKyNpbmNsdWRlIDxhc3NlcnQuaD4KKyAvKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLworLSNpZmRlZiBfX2NwbHVzcGx1cworLWV4dGVybiAiQyIKKy17CistI2VuZGlmCisgLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgorLSAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCistY2hhciBtbWFwICgpOworKyAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLworK2NoYXIgbW1hcCgpOworKworK2ludCBtYWluKCkgeworKworIC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKKyAgICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKKyAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCisgI2lmIGRlZmluZWQgKF9fc3R1Yl9tbWFwKSB8fCBkZWZpbmVkIChfX3N0dWJfX19tbWFwKQorIGNob2tlIG1lCisgI2Vsc2UKKy1jaGFyICgqZikgKCkgPSBtbWFwOworK21tYXAoKTsKKyAjZW5kaWYKKy0jaWZkZWYgX19jcGx1c3BsdXMKKy19CistI2VuZGlmCisgCistaW50CistbWFpbiAoKQorLXsKKy1yZXR1cm4gZiAhPSBtbWFwOworLSAgOworLSAgcmV0dXJuIDA7CistfQorLV9BQ0VPRgorLXJtIC1mIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QkYWNfZXhlZXh0CistaWYgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfbGlua1wiIikgPiY1CistICAoZXZhbCAkYWNfbGluaykgMj4mNQorLSAgYWNfc3RhdHVzPSQ/CistICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CistICAoZXhpdCAkYWNfc3RhdHVzKTsgfSAmJgorLSAgICAgICAgIHsgYWNfdHJ5PSd0ZXN0IC1zIGNvbmZ0ZXN0JGFjX2V4ZWV4dCcKKy0gIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX3RyeVwiIikgPiY1CistICAoZXZhbCAkYWNfdHJ5KSAyPiY1CistICBhY19zdGF0dXM9JD8KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKy0gIChleGl0ICRhY19zdGF0dXMpOyB9OyB9OyB0aGVuCistICBhY19jdl9mdW5jX21tYXA9eWVzCisrOyByZXR1cm4gMDsgfQorK0VPRgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTI3MDogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisrICBybSAtcmYgY29uZnRlc3QqCisrICBldmFsICJhY19jdl9mdW5jX21tYXA9eWVzIgorIGVsc2UKKy0gIGVjaG8gIiRhc19tZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1Cistc2VkICdzL14vfCAvJyBjb25mdGVzdC4kYWNfZXh0ID4mNQorLQorLWFjX2N2X2Z1bmNfbW1hcD1ubworKyAgZWNobyAiY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKKysgIGNhdCBjb25mdGVzdC4kYWNfZXh0ID4mNQorKyAgcm0gLXJmIGNvbmZ0ZXN0KgorKyAgZXZhbCAiYWNfY3ZfZnVuY19tbWFwPW5vIgorIGZpCistcm0gLWYgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdCRhY19leGVleHQgY29uZnRlc3QuJGFjX2V4dAorK3JtIC1mIGNvbmZ0ZXN0KgorIGZpCistZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGFjX2N2X2Z1bmNfbW1hcCIgPiY1CistZWNobyAiJHtFQ0hPX1R9JGFjX2N2X2Z1bmNfbW1hcCIgPiY2CistaWYgdGVzdCAkYWNfY3ZfZnVuY19tbWFwID0geWVzOyB0aGVuCisrCisraWYgZXZhbCAidGVzdCBcImBlY2hvICckYWNfY3ZfZnVuY18nbW1hcGBcIiA9IHllcyI7IHRoZW4KKysgIGVjaG8gIiRhY190IiJ5ZXMiIDE+JjYKKyAgIE1NQVBUWVBFPXBvc2l4CisrZWxzZQorKyAgZWNobyAiJGFjX3QiIm5vIiAxPiY2CisgZmkKKyAKKyAKK0BAIC0yOTU2LDEwMjggKzEzMDcsMjY2IEBACisgCisgCisgQVVESU9EUklWRVI9bm9uZQorLWFjX2V4dD1jCistYWNfY3BwPSckQ1BQICRDUFBGTEFHUycKKy1hY19jb21waWxlPSckQ0MgLWMgJENGTEFHUyAkQ1BQRkxBR1MgY29uZnRlc3QuJGFjX2V4dCA+JjUnCistYWNfbGluaz0nJENDIC1vIGNvbmZ0ZXN0JGFjX2V4ZWV4dCAkQ0ZMQUdTICRDUFBGTEFHUyAkTERGTEFHUyBjb25mdGVzdC4kYWNfZXh0ICRMSUJTID4mNScKKy1hY19jb21waWxlcl9nbnU9JGFjX2N2X2NfY29tcGlsZXJfZ251CistZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGhvdyB0byBydW4gdGhlIEMgcHJlcHJvY2Vzc29yIiA+JjUKKy1lY2hvICRFQ0hPX04gImNoZWNraW5nIGhvdyB0byBydW4gdGhlIEMgcHJlcHJvY2Vzc29yLi4uICRFQ0hPX0MiID4mNgorK2VjaG8gJGFjX24gImNoZWNraW5nIGhvdyB0byBydW4gdGhlIEMgcHJlcHJvY2Vzc29yIiIuLi4gJGFjX2MiIDE+JjYKKytlY2hvICJjb25maWd1cmU6MTMxMjogY2hlY2tpbmcgaG93IHRvIHJ1biB0aGUgQyBwcmVwcm9jZXNzb3IiID4mNQorICMgT24gU3Vucywgc29tZXRpbWVzICRDUFAgbmFtZXMgYSBkaXJlY3RvcnkuCisgaWYgdGVzdCAtbiAiJENQUCIgJiYgdGVzdCAtZCAiJENQUCI7IHRoZW4KKyAgIENQUD0KKyBmaQorIGlmIHRlc3QgLXogIiRDUFAiOyB0aGVuCistICBpZiB0ZXN0ICIke2FjX2N2X3Byb2dfQ1BQK3NldH0iID0gc2V0OyB0aGVuCistICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorK2lmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9wcm9nX0NQUCcrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisrICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKy0gICAgICAjIERvdWJsZSBxdW90ZXMgYmVjYXVzZSBDUFAgbmVlZHMgdG8gYmUgZXhwYW5kZWQKKy0gICAgZm9yIENQUCBpbiAiJENDIC1FIiAiJENDIC1FIC10cmFkaXRpb25hbC1jcHAiICIvbGliL2NwcCIKKy0gICAgZG8KKy0gICAgICBhY19wcmVwcm9jX29rPWZhbHNlCistZm9yIGFjX2NfcHJlcHJvY193YXJuX2ZsYWcgaW4gJycgeWVzCistZG8KKy0gICMgVXNlIGEgaGVhZGVyIGZpbGUgdGhhdCBjb21lcyB3aXRoIGdjYywgc28gY29uZmlndXJpbmcgZ2xpYmMKKy0gICMgd2l0aCBhIGZyZXNoIGNyb3NzLWNvbXBpbGVyIHdvcmtzLgorLSAgIyBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCistICAjIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4KKysgICAgIyBUaGlzIG11c3QgYmUgaW4gZG91YmxlIHF1b3Rlcywgbm90IHNpbmdsZSBxdW90ZXMsIGJlY2F1c2UgQ1BQIG1heSBnZXQKKysgICMgc3Vic3RpdHV0ZWQgaW50byB0aGUgTWFrZWZpbGUgYW5kICIke0NDLWNjfSIgd2lsbCBjb25mdXNlIG1ha2UuCisrICBDUFA9IiR7Q0MtY2N9IC1FIgorICAgIyBPbiB0aGUgTmVYVCwgY2MgLUUgcnVucyB0aGUgY29kZSB0aHJvdWdoIHRoZSBjb21waWxlcidzIHBhcnNlciwKKy0gICMgbm90IGp1c3QgdGhyb3VnaCBjcHAuICJTeW50YXggZXJyb3IiIGlzIGhlcmUgdG8gY2F0Y2ggdGhpcyBjYXNlLgorLSAgY2F0ID5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistI2xpbmUgJExJTkVOTyAiY29uZmlndXJlIgorLS8qIGNvbmZkZWZzLmguICAqLworLV9BQ0VPRgorLWNhdCBjb25mZGVmcy5oID4+Y29uZnRlc3QuJGFjX2V4dAorLWNhdCA+PmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0vKiBlbmQgY29uZmRlZnMuaC4gICovCistI2lmZGVmIF9fU1REQ19fCistIyBpbmNsdWRlIDxsaW1pdHMuaD4KKy0jZWxzZQorLSMgaW5jbHVkZSA8YXNzZXJ0Lmg+CistI2VuZGlmCistICAgICAgICAgICAgICAgICAgICAgU3ludGF4IGVycm9yCistX0FDRU9GCistaWYgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfY3BwIGNvbmZ0ZXN0LiRhY19leHRcIiIpID4mNQorLSAgKGV2YWwgJGFjX2NwcCBjb25mdGVzdC4kYWNfZXh0KSAyPmNvbmZ0ZXN0LmVyMQorLSAgYWNfc3RhdHVzPSQ/CistICBncmVwIC12ICdeICorJyBjb25mdGVzdC5lcjEgPmNvbmZ0ZXN0LmVycgorLSAgcm0gLWYgY29uZnRlc3QuZXIxCistICBjYXQgY29uZnRlc3QuZXJyID4mNQorLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorLSAgKGV4aXQgJGFjX3N0YXR1cyk7IH0gPi9kZXYvbnVsbDsgdGhlbgorLSAgaWYgdGVzdCAtcyBjb25mdGVzdC5lcnI7IHRoZW4KKy0gICAgYWNfY3BwX2Vycj0kYWNfY19wcmVwcm9jX3dhcm5fZmxhZworLSAgZWxzZQorLSAgICBhY19jcHBfZXJyPQorLSAgZmkKKy1lbHNlCistICBhY19jcHBfZXJyPXllcworLWZpCistaWYgdGVzdCAteiAiJGFjX2NwcF9lcnIiOyB0aGVuCisrICAjIG5vdCBqdXN0IHRocm91Z2ggY3BwLgorKyAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorKyNsaW5lIDEzMjcgImNvbmZpZ3VyZSIKKysjaW5jbHVkZSAiY29uZmRlZnMuaCIKKysjaW5jbHVkZSA8YXNzZXJ0Lmg+CisrU3ludGF4IEVycm9yCisrRU9GCisrYWNfdHJ5PSIkYWNfY3BwIGNvbmZ0ZXN0LiRhY19leHQgPi9kZXYvbnVsbCAyPmNvbmZ0ZXN0Lm91dCIKKyt7IChldmFsIGVjaG8gY29uZmlndXJlOjEzMzM6IFwiJGFjX3RyeVwiKSAxPiY1OyAoZXZhbCAkYWNfdHJ5KSAyPiY1OyB9CisrYWNfZXJyPWBncmVwIC12ICdeICorJyBjb25mdGVzdC5vdXQgfCBncmVwIC12ICJeY29uZnRlc3QuJHthY19leHR9XCQiYAorK2lmIHRlc3QgLXogIiRhY19lcnIiOyB0aGVuCisgICA6CisgZWxzZQorLSAgZWNobyAiJGFzX21lOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKKy1zZWQgJ3MvXi98IC8nIGNvbmZ0ZXN0LiRhY19leHQgPiY1CistCistICAjIEJyb2tlbjogZmFpbHMgb24gdmFsaWQgaW5wdXQuCistY29udGludWUKKy1maQorLXJtIC1mIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfZXh0CistCistICAjIE9LLCB3b3JrcyBvbiBzYW5lIGNhc2VzLiAgTm93IGNoZWNrIHdoZXRoZXIgbm9uLWV4aXN0ZW50IGhlYWRlcnMKKy0gICMgY2FuIGJlIGRldGVjdGVkIGFuZCBob3cuCistICBjYXQgPmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0jbGluZSAkTElORU5PICJjb25maWd1cmUiCistLyogY29uZmRlZnMuaC4gICovCistX0FDRU9GCistY2F0IGNvbmZkZWZzLmggPj5jb25mdGVzdC4kYWNfZXh0CistY2F0ID4+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLS8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKy0jaW5jbHVkZSA8YWNfbm9uZXhpc3RlbnQuaD4KKy1fQUNFT0YKKy1pZiB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19jcHAgY29uZnRlc3QuJGFjX2V4dFwiIikgPiY1CistICAoZXZhbCAkYWNfY3BwIGNvbmZ0ZXN0LiRhY19leHQpIDI+Y29uZnRlc3QuZXIxCistICBhY19zdGF0dXM9JD8KKy0gIGdyZXAgLXYgJ14gKisnIGNvbmZ0ZXN0LmVyMSA+Y29uZnRlc3QuZXJyCistICBybSAtZiBjb25mdGVzdC5lcjEKKy0gIGNhdCBjb25mdGVzdC5lcnIgPiY1CistICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CistICAoZXhpdCAkYWNfc3RhdHVzKTsgfSA+L2Rldi9udWxsOyB0aGVuCistICBpZiB0ZXN0IC1zIGNvbmZ0ZXN0LmVycjsgdGhlbgorLSAgICBhY19jcHBfZXJyPSRhY19jX3ByZXByb2Nfd2Fybl9mbGFnCistICBlbHNlCistICAgIGFjX2NwcF9lcnI9CistICBmaQorLWVsc2UKKy0gIGFjX2NwcF9lcnI9eWVzCistZmkKKy1pZiB0ZXN0IC16ICIkYWNfY3BwX2VyciI7IHRoZW4KKy0gICMgQnJva2VuOiBzdWNjZXNzIG9uIGludmFsaWQgaW5wdXQuCistY29udGludWUKKy1lbHNlCistICBlY2hvICIkYXNfbWU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorLXNlZCAncy9eL3wgLycgY29uZnRlc3QuJGFjX2V4dCA+JjUKKy0KKy0gICMgUGFzc2VzIGJvdGggdGVzdHMuCistYWNfcHJlcHJvY19vaz06CistYnJlYWsKKy1maQorLXJtIC1mIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfZXh0CistCistZG9uZQorLSMgQmVjYXVzZSBvZiBgYnJlYWsnLCBfQUNfUFJFUFJPQ19JRkVMU0UncyBjbGVhbmluZyBjb2RlIHdhcyBza2lwcGVkLgorLXJtIC1mIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfZXh0CistaWYgJGFjX3ByZXByb2Nfb2s7IHRoZW4KKy0gIGJyZWFrCistZmkKKy0KKy0gICAgZG9uZQorLSAgICBhY19jdl9wcm9nX0NQUD0kQ1BQCistCistZmkKKy0gIENQUD0kYWNfY3ZfcHJvZ19DUFAKKy1lbHNlCistICBhY19jdl9wcm9nX0NQUD0kQ1BQCistZmkKKy1lY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkQ1BQIiA+JjUKKy1lY2hvICIke0VDSE9fVH0kQ1BQIiA+JjYKKy1hY19wcmVwcm9jX29rPWZhbHNlCistZm9yIGFjX2NfcHJlcHJvY193YXJuX2ZsYWcgaW4gJycgeWVzCistZG8KKy0gICMgVXNlIGEgaGVhZGVyIGZpbGUgdGhhdCBjb21lcyB3aXRoIGdjYywgc28gY29uZmlndXJpbmcgZ2xpYmMKKy0gICMgd2l0aCBhIGZyZXNoIGNyb3NzLWNvbXBpbGVyIHdvcmtzLgorLSAgIyBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCistICAjIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4KKy0gICMgT24gdGhlIE5lWFQsIGNjIC1FIHJ1bnMgdGhlIGNvZGUgdGhyb3VnaCB0aGUgY29tcGlsZXIncyBwYXJzZXIsCistICAjIG5vdCBqdXN0IHRocm91Z2ggY3BwLiAiU3ludGF4IGVycm9yIiBpcyBoZXJlIHRvIGNhdGNoIHRoaXMgY2FzZS4KKy0gIGNhdCA+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLSNsaW5lICRMSU5FTk8gImNvbmZpZ3VyZSIKKy0vKiBjb25mZGVmcy5oLiAgKi8KKy1fQUNFT0YKKy1jYXQgY29uZmRlZnMuaCA+PmNvbmZ0ZXN0LiRhY19leHQKKy1jYXQgPj5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistLyogZW5kIGNvbmZkZWZzLmguICAqLworLSNpZmRlZiBfX1NURENfXworLSMgaW5jbHVkZSA8bGltaXRzLmg+CistI2Vsc2UKKy0jIGluY2x1ZGUgPGFzc2VydC5oPgorLSNlbmRpZgorLSAgICAgICAgICAgICAgICAgICAgIFN5bnRheCBlcnJvcgorLV9BQ0VPRgorLWlmIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX2NwcCBjb25mdGVzdC4kYWNfZXh0XCIiKSA+JjUKKy0gIChldmFsICRhY19jcHAgY29uZnRlc3QuJGFjX2V4dCkgMj5jb25mdGVzdC5lcjEKKy0gIGFjX3N0YXR1cz0kPworLSAgZ3JlcCAtdiAnXiAqKycgY29uZnRlc3QuZXIxID5jb25mdGVzdC5lcnIKKy0gIHJtIC1mIGNvbmZ0ZXN0LmVyMQorLSAgY2F0IGNvbmZ0ZXN0LmVyciA+JjUKKy0gIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKy0gIChleGl0ICRhY19zdGF0dXMpOyB9ID4vZGV2L251bGw7IHRoZW4KKy0gIGlmIHRlc3QgLXMgY29uZnRlc3QuZXJyOyB0aGVuCistICAgIGFjX2NwcF9lcnI9JGFjX2NfcHJlcHJvY193YXJuX2ZsYWcKKy0gIGVsc2UKKy0gICAgYWNfY3BwX2Vycj0KKy0gIGZpCistZWxzZQorLSAgYWNfY3BwX2Vycj15ZXMKKy1maQorLWlmIHRlc3QgLXogIiRhY19jcHBfZXJyIjsgdGhlbgorKyAgZWNobyAiJGFjX2VyciIgPiY1CisrICBlY2hvICJjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorKyAgY2F0IGNvbmZ0ZXN0LiRhY19leHQgPiY1CisrICBybSAtcmYgY29uZnRlc3QqCisrICBDUFA9IiR7Q0MtY2N9IC1FIC10cmFkaXRpb25hbC1jcHAiCisrICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCisrI2xpbmUgMTM0NCAiY29uZmlndXJlIgorKyNpbmNsdWRlICJjb25mZGVmcy5oIgorKyNpbmNsdWRlIDxhc3NlcnQuaD4KKytTeW50YXggRXJyb3IKKytFT0YKKythY190cnk9IiRhY19jcHAgY29uZnRlc3QuJGFjX2V4dCA+L2Rldi9udWxsIDI+Y29uZnRlc3Qub3V0IgorK3sgKGV2YWwgZWNobyBjb25maWd1cmU6MTM1MDogXCIkYWNfdHJ5XCIpIDE+JjU7IChldmFsICRhY190cnkpIDI+JjU7IH0KKythY19lcnI9YGdyZXAgLXYgJ14gKisnIGNvbmZ0ZXN0Lm91dCB8IGdyZXAgLXYgIl5jb25mdGVzdC4ke2FjX2V4dH1cJCJgCisraWYgdGVzdCAteiAiJGFjX2VyciI7IHRoZW4KKyAgIDoKKyBlbHNlCistICBlY2hvICIkYXNfbWU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorLXNlZCAncy9eL3wgLycgY29uZnRlc3QuJGFjX2V4dCA+JjUKKy0KKy0gICMgQnJva2VuOiBmYWlscyBvbiB2YWxpZCBpbnB1dC4KKy1jb250aW51ZQorLWZpCistcm0gLWYgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19leHQKKy0KKy0gICMgT0ssIHdvcmtzIG9uIHNhbmUgY2FzZXMuICBOb3cgY2hlY2sgd2hldGhlciBub24tZXhpc3RlbnQgaGVhZGVycworLSAgIyBjYW4gYmUgZGV0ZWN0ZWQgYW5kIGhvdy4KKy0gIGNhdCA+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLSNsaW5lICRMSU5FTk8gImNvbmZpZ3VyZSIKKy0vKiBjb25mZGVmcy5oLiAgKi8KKy1fQUNFT0YKKy1jYXQgY29uZmRlZnMuaCA+PmNvbmZ0ZXN0LiRhY19leHQKKy1jYXQgPj5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistLyogZW5kIGNvbmZkZWZzLmguICAqLworLSNpbmNsdWRlIDxhY19ub25leGlzdGVudC5oPgorLV9BQ0VPRgorLWlmIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX2NwcCBjb25mdGVzdC4kYWNfZXh0XCIiKSA+JjUKKy0gIChldmFsICRhY19jcHAgY29uZnRlc3QuJGFjX2V4dCkgMj5jb25mdGVzdC5lcjEKKy0gIGFjX3N0YXR1cz0kPworLSAgZ3JlcCAtdiAnXiAqKycgY29uZnRlc3QuZXIxID5jb25mdGVzdC5lcnIKKy0gIHJtIC1mIGNvbmZ0ZXN0LmVyMQorLSAgY2F0IGNvbmZ0ZXN0LmVyciA+JjUKKy0gIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKy0gIChleGl0ICRhY19zdGF0dXMpOyB9ID4vZGV2L251bGw7IHRoZW4KKy0gIGlmIHRlc3QgLXMgY29uZnRlc3QuZXJyOyB0aGVuCistICAgIGFjX2NwcF9lcnI9JGFjX2NfcHJlcHJvY193YXJuX2ZsYWcKKy0gIGVsc2UKKy0gICAgYWNfY3BwX2Vycj0KKy0gIGZpCistZWxzZQorLSAgYWNfY3BwX2Vycj15ZXMKKy1maQorLWlmIHRlc3QgLXogIiRhY19jcHBfZXJyIjsgdGhlbgorLSAgIyBCcm9rZW46IHN1Y2Nlc3Mgb24gaW52YWxpZCBpbnB1dC4KKy1jb250aW51ZQorLWVsc2UKKy0gIGVjaG8gIiRhc19tZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1Cistc2VkICdzL14vfCAvJyBjb25mdGVzdC4kYWNfZXh0ID4mNQorLQorLSAgIyBQYXNzZXMgYm90aCB0ZXN0cy4KKy1hY19wcmVwcm9jX29rPToKKy1icmVhaworLWZpCistcm0gLWYgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19leHQKKy0KKy1kb25lCistIyBCZWNhdXNlIG9mIGBicmVhaycsIF9BQ19QUkVQUk9DX0lGRUxTRSdzIGNsZWFuaW5nIGNvZGUgd2FzIHNraXBwZWQuCistcm0gLWYgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19leHQKKy1pZiAkYWNfcHJlcHJvY19vazsgdGhlbgorKyAgZWNobyAiJGFjX2VyciIgPiY1CisrICBlY2hvICJjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorKyAgY2F0IGNvbmZ0ZXN0LiRhY19leHQgPiY1CisrICBybSAtcmYgY29uZnRlc3QqCisrICBDUFA9IiR7Q0MtY2N9IC1ub2xvZ28gLUUiCisrICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCisrI2xpbmUgMTM2MSAiY29uZmlndXJlIgorKyNpbmNsdWRlICJjb25mZGVmcy5oIgorKyNpbmNsdWRlIDxhc3NlcnQuaD4KKytTeW50YXggRXJyb3IKKytFT0YKKythY190cnk9IiRhY19jcHAgY29uZnRlc3QuJGFjX2V4dCA+L2Rldi9udWxsIDI+Y29uZnRlc3Qub3V0IgorK3sgKGV2YWwgZWNobyBjb25maWd1cmU6MTM2NzogXCIkYWNfdHJ5XCIpIDE+JjU7IChldmFsICRhY190cnkpIDI+JjU7IH0KKythY19lcnI9YGdyZXAgLXYgJ14gKisnIGNvbmZ0ZXN0Lm91dCB8IGdyZXAgLXYgIl5jb25mdGVzdC4ke2FjX2V4dH1cJCJgCisraWYgdGVzdCAteiAiJGFjX2VyciI7IHRoZW4KKyAgIDoKKyBlbHNlCistICB7IHsgZWNobyAiJGFzX21lOiRMSU5FTk86IGVycm9yOiBDIHByZXByb2Nlc3NvciBcIiRDUFBcIiBmYWlscyBzYW5pdHkgY2hlY2sKKy1TZWUgXGBjb25maWcubG9nJyBmb3IgbW9yZSBkZXRhaWxzLiIgPiY1CistZWNobyAiJGFzX21lOiBlcnJvcjogQyBwcmVwcm9jZXNzb3IgXCIkQ1BQXCIgZmFpbHMgc2FuaXR5IGNoZWNrCistU2VlIFxgY29uZmlnLmxvZycgZm9yIG1vcmUgZGV0YWlscy4iID4mMjt9CistICAgeyAoZXhpdCAxKTsgZXhpdCAxOyB9OyB9CisrICBlY2hvICIkYWNfZXJyIiA+JjUKKysgIGVjaG8gImNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1CisrICBjYXQgY29uZnRlc3QuJGFjX2V4dCA+JjUKKysgIHJtIC1yZiBjb25mdGVzdCoKKysgIENQUD0vbGliL2NwcAorIGZpCistCistYWNfZXh0PWMKKy1hY19jcHA9JyRDUFAgJENQUEZMQUdTJworLWFjX2NvbXBpbGU9JyRDQyAtYyAkQ0ZMQUdTICRDUFBGTEFHUyBjb25mdGVzdC4kYWNfZXh0ID4mNScKKy1hY19saW5rPSckQ0MgLW8gY29uZnRlc3QkYWNfZXhlZXh0ICRDRkxBR1MgJENQUEZMQUdTICRMREZMQUdTIGNvbmZ0ZXN0LiRhY19leHQgJExJQlMgPiY1JworLWFjX2NvbXBpbGVyX2dudT0kYWNfY3ZfY19jb21waWxlcl9nbnUKKy0KKy0KKy1lY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yIGVncmVwIiA+JjUKKy1lY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciBlZ3JlcC4uLiAkRUNIT19DIiA+JjYKKy1pZiB0ZXN0ICIke2FjX2N2X3Byb2dfZWdyZXArc2V0fSIgPSBzZXQ7IHRoZW4KKy0gIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CistZWxzZQorLSAgaWYgZWNobyBhIHwgKGdyZXAgLUUgJyhhfGIpJykgPi9kZXYvbnVsbCAyPiYxCistICAgIHRoZW4gYWNfY3ZfcHJvZ19lZ3JlcD0nZ3JlcCAtRScKKy0gICAgZWxzZSBhY19jdl9wcm9nX2VncmVwPSdlZ3JlcCcKKy0gICAgZmkKKytybSAtZiBjb25mdGVzdCoKKyBmaQorLWVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRhY19jdl9wcm9nX2VncmVwIiA+JjUKKy1lY2hvICIke0VDSE9fVH0kYWNfY3ZfcHJvZ19lZ3JlcCIgPiY2CistIEVHUkVQPSRhY19jdl9wcm9nX2VncmVwCistCistCistZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciBBTlNJIEMgaGVhZGVyIGZpbGVzIiA+JjUKKy1lY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciBBTlNJIEMgaGVhZGVyIGZpbGVzLi4uICRFQ0hPX0MiID4mNgorLWlmIHRlc3QgIiR7YWNfY3ZfaGVhZGVyX3N0ZGMrc2V0fSIgPSBzZXQ7IHRoZW4KKy0gIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CistZWxzZQorLSAgY2F0ID5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistI2xpbmUgJExJTkVOTyAiY29uZmlndXJlIgorLS8qIGNvbmZkZWZzLmguICAqLworLV9BQ0VPRgorLWNhdCBjb25mZGVmcy5oID4+Y29uZnRlc3QuJGFjX2V4dAorLWNhdCA+PmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0vKiBlbmQgY29uZmRlZnMuaC4gICovCistI2luY2x1ZGUgPHN0ZGxpYi5oPgorLSNpbmNsdWRlIDxzdGRhcmcuaD4KKy0jaW5jbHVkZSA8c3RyaW5nLmg+CistI2luY2x1ZGUgPGZsb2F0Lmg+CistCistaW50CistbWFpbiAoKQorLXsKKy0KKy0gIDsKKy0gIHJldHVybiAwOworLX0KKy1fQUNFT0YKKy1ybSAtZiBjb25mdGVzdC4kYWNfb2JqZXh0CistaWYgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfY29tcGlsZVwiIikgPiY1CistICAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNQorLSAgYWNfc3RhdHVzPSQ/CistICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CistICAoZXhpdCAkYWNfc3RhdHVzKTsgfSAmJgorLSAgICAgICAgIHsgYWNfdHJ5PSd0ZXN0IC1zIGNvbmZ0ZXN0LiRhY19vYmpleHQnCistICB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY190cnlcIiIpID4mNQorLSAgKGV2YWwgJGFjX3RyeSkgMj4mNQorLSAgYWNfc3RhdHVzPSQ/CistICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CistICAoZXhpdCAkYWNfc3RhdHVzKTsgfTsgfTsgdGhlbgorLSAgYWNfY3ZfaGVhZGVyX3N0ZGM9eWVzCistZWxzZQorLSAgZWNobyAiJGFzX21lOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKKy1zZWQgJ3MvXi98IC8nIGNvbmZ0ZXN0LiRhY19leHQgPiY1CistCistYWNfY3ZfaGVhZGVyX3N0ZGM9bm8KKy1maQorLXJtIC1mIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuJGFjX2V4dAorLQorLWlmIHRlc3QgJGFjX2N2X2hlYWRlcl9zdGRjID0geWVzOyB0aGVuCistICAjIFN1bk9TIDQueCBzdHJpbmcuaCBkb2VzIG5vdCBkZWNsYXJlIG1lbSosIGNvbnRyYXJ5IHRvIEFOU0kuCistICBjYXQgPmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0jbGluZSAkTElORU5PICJjb25maWd1cmUiCistLyogY29uZmRlZnMuaC4gICovCistX0FDRU9GCistY2F0IGNvbmZkZWZzLmggPj5jb25mdGVzdC4kYWNfZXh0CistY2F0ID4+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLS8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKy0jaW5jbHVkZSA8c3RyaW5nLmg+CistCistX0FDRU9GCistaWYgKGV2YWwgIiRhY19jcHAgY29uZnRlc3QuJGFjX2V4dCIpIDI+JjUgfAorLSAgJEVHUkVQICJtZW1jaHIiID4vZGV2L251bGwgMj4mMTsgdGhlbgorLSAgOgorLWVsc2UKKy0gIGFjX2N2X2hlYWRlcl9zdGRjPW5vCistZmkKKyBybSAtZiBjb25mdGVzdCoKKy0KKyBmaQorLQorLWlmIHRlc3QgJGFjX2N2X2hlYWRlcl9zdGRjID0geWVzOyB0aGVuCistICAjIElTQyAyLjAuMiBzdGRsaWIuaCBkb2VzIG5vdCBkZWNsYXJlIGZyZWUsIGNvbnRyYXJ5IHRvIEFOU0kuCistICBjYXQgPmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0jbGluZSAkTElORU5PICJjb25maWd1cmUiCistLyogY29uZmRlZnMuaC4gICovCistX0FDRU9GCistY2F0IGNvbmZkZWZzLmggPj5jb25mdGVzdC4kYWNfZXh0CistY2F0ID4+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLS8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKy0jaW5jbHVkZSA8c3RkbGliLmg+CistCistX0FDRU9GCistaWYgKGV2YWwgIiRhY19jcHAgY29uZnRlc3QuJGFjX2V4dCIpIDI+JjUgfAorLSAgJEVHUkVQICJmcmVlIiA+L2Rldi9udWxsIDI+JjE7IHRoZW4KKy0gIDoKKy1lbHNlCistICBhY19jdl9oZWFkZXJfc3RkYz1ubworLWZpCisgcm0gLWYgY29uZnRlc3QqCistCisrICBhY19jdl9wcm9nX0NQUD0iJENQUCIKKyBmaQorLQorLWlmIHRlc3QgJGFjX2N2X2hlYWRlcl9zdGRjID0geWVzOyB0aGVuCistICAjIC9iaW4vY2MgaW4gSXJpeC00LjAuNSBnZXRzIG5vbi1BTlNJIGN0eXBlIG1hY3JvcyB1bmxlc3MgdXNpbmcgLWFuc2kuCistICBpZiB0ZXN0ICIkY3Jvc3NfY29tcGlsaW5nIiA9IHllczsgdGhlbgorLSAgOgorKyAgQ1BQPSIkYWNfY3ZfcHJvZ19DUFAiCisgZWxzZQorLSAgY2F0ID5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistI2xpbmUgJExJTkVOTyAiY29uZmlndXJlIgorLS8qIGNvbmZkZWZzLmguICAqLworLV9BQ0VPRgorLWNhdCBjb25mZGVmcy5oID4+Y29uZnRlc3QuJGFjX2V4dAorLWNhdCA+PmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0vKiBlbmQgY29uZmRlZnMuaC4gICovCistI2luY2x1ZGUgPGN0eXBlLmg+CistI2lmICgoJyAnICYgMHgwRkYpID09IDB4MDIwKQorLSMgZGVmaW5lIElTTE9XRVIoYykgKCdhJyA8PSAoYykgJiYgKGMpIDw9ICd6JykKKy0jIGRlZmluZSBUT1VQUEVSKGMpIChJU0xPV0VSKGMpID8gJ0EnICsgKChjKSAtICdhJykgOiAoYykpCistI2Vsc2UKKy0jIGRlZmluZSBJU0xPV0VSKGMpIFwKKy0gICAgICAgICAgICAgICAgICAgKCgnYScgPD0gKGMpICYmIChjKSA8PSAnaScpIFwKKy0gICAgICAgICAgICAgICAgICAgICB8fCAoJ2onIDw9IChjKSAmJiAoYykgPD0gJ3InKSBcCistICAgICAgICAgICAgICAgICAgICAgfHwgKCdzJyA8PSAoYykgJiYgKGMpIDw9ICd6JykpCistIyBkZWZpbmUgVE9VUFBFUihjKSAoSVNMT1dFUihjKSA/ICgoYykgfCAweDQwKSA6IChjKSkKKy0jZW5kaWYKKy0KKy0jZGVmaW5lIFhPUihlLCBmKSAoKChlKSAmJiAhKGYpKSB8fCAoIShlKSAmJiAoZikpKQorLWludAorLW1haW4gKCkKKy17CistICBpbnQgaTsKKy0gIGZvciAoaSA9IDA7IGkgPCAyNTY7IGkrKykKKy0gICAgaWYgKFhPUiAoaXNsb3dlciAoaSksIElTTE9XRVIgKGkpKQorLSAgICAgICAgfHwgdG91cHBlciAoaSkgIT0gVE9VUFBFUiAoaSkpCistICAgICAgZXhpdCgyKTsKKy0gIGV4aXQgKDApOworLX0KKy1fQUNFT0YKKy1ybSAtZiBjb25mdGVzdCRhY19leGVleHQKKy1pZiB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19saW5rXCIiKSA+JjUKKy0gIChldmFsICRhY19saW5rKSAyPiY1CistICBhY19zdGF0dXM9JD8KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKy0gIChleGl0ICRhY19zdGF0dXMpOyB9ICYmIHsgYWNfdHJ5PScuL2NvbmZ0ZXN0JGFjX2V4ZWV4dCcKKy0gIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX3RyeVwiIikgPiY1CistICAoZXZhbCAkYWNfdHJ5KSAyPiY1CistICBhY19zdGF0dXM9JD8KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKy0gIChleGl0ICRhY19zdGF0dXMpOyB9OyB9OyB0aGVuCistICA6CistZWxzZQorLSAgZWNobyAiJGFzX21lOiBwcm9ncmFtIGV4aXRlZCB3aXRoIHN0YXR1cyAkYWNfc3RhdHVzIiA+JjUKKy1lY2hvICIkYXNfbWU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorLXNlZCAncy9eL3wgLycgY29uZnRlc3QuJGFjX2V4dCA+JjUKKy0KKy0oIGV4aXQgJGFjX3N0YXR1cyApCistYWNfY3ZfaGVhZGVyX3N0ZGM9bm8KKysgIGFjX2N2X3Byb2dfQ1BQPSIkQ1BQIgorIGZpCistcm0gLWYgY29yZSBjb3JlLiogKi5jb3JlIGdtb24ub3V0IGJiLm91dCBjb25mdGVzdCRhY19leGVleHQgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0CistZmkKKy1maQorLWZpCistZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGFjX2N2X2hlYWRlcl9zdGRjIiA+JjUKKy1lY2hvICIke0VDSE9fVH0kYWNfY3ZfaGVhZGVyX3N0ZGMiID4mNgorLWlmIHRlc3QgJGFjX2N2X2hlYWRlcl9zdGRjID0geWVzOyB0aGVuCisrZWNobyAiJGFjX3QiIiRDUFAiIDE+JjYKKyAKKy1jYXQgPj5jb25mZGVmcy5oIDw8XF9BQ0VPRgorLSNkZWZpbmUgU1REQ19IRUFERVJTIDEKKy1fQUNFT0YKKy0KKy1maQorLQorLSMgT24gSVJJWCA1LjMsIHN5cy90eXBlcyBhbmQgaW50dHlwZXMuaCBhcmUgY29uZmxpY3RpbmcuCistCistCistCistCistCistCistCistCistCistZm9yIGFjX2hlYWRlciBpbiBzeXMvdHlwZXMuaCBzeXMvc3RhdC5oIHN0ZGxpYi5oIHN0cmluZy5oIG1lbW9yeS5oIHN0cmluZ3MuaCBcCistICAgICAgICAgICAgICAgICAgaW50dHlwZXMuaCBzdGRpbnQuaCB1bmlzdGQuaAorLWRvCistYXNfYWNfSGVhZGVyPWBlY2hvICJhY19jdl9oZWFkZXJfJGFjX2hlYWRlciIgfCAkYXNfdHJfc2hgCistZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciAkYWNfaGVhZGVyIiA+JjUKKy1lY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciAkYWNfaGVhZGVyLi4uICRFQ0hPX0MiID4mNgorLWlmIGV2YWwgInRlc3QgXCJcJHskYXNfYWNfSGVhZGVyK3NldH1cIiA9IHNldCI7IHRoZW4KKy0gIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CisrYWNfc2FmZT1gZWNobyAic3lzL3NvdW5kY2FyZC5oIiB8IHNlZCAneSUuLystJV9fcF8lJ2AKKytlY2hvICRhY19uICJjaGVja2luZyBmb3Igc3lzL3NvdW5kY2FyZC5oIiIuLi4gJGFjX2MiIDE+JjYKKytlY2hvICJjb25maWd1cmU6MTM5MzogY2hlY2tpbmcgZm9yIHN5cy9zb3VuZGNhcmQuaCIgPiY1CisraWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2hlYWRlcl8kYWNfc2FmZScrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisrICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKy0gIGNhdCA+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLSNsaW5lICRMSU5FTk8gImNvbmZpZ3VyZSIKKy0vKiBjb25mZGVmcy5oLiAgKi8KKy1fQUNFT0YKKy1jYXQgY29uZmRlZnMuaCA+PmNvbmZ0ZXN0LiRhY19leHQKKy1jYXQgPj5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistLyogZW5kIGNvbmZkZWZzLmguICAqLworLSRhY19pbmNsdWRlc19kZWZhdWx0CistCistI2luY2x1ZGUgPCRhY19oZWFkZXI+CistX0FDRU9GCistcm0gLWYgY29uZnRlc3QuJGFjX29iamV4dAorLWlmIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX2NvbXBpbGVcIiIpID4mNQorLSAgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjUKKy0gIGFjX3N0YXR1cz0kPworLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorLSAgKGV4aXQgJGFjX3N0YXR1cyk7IH0gJiYKKy0gICAgICAgICB7IGFjX3RyeT0ndGVzdCAtcyBjb25mdGVzdC4kYWNfb2JqZXh0JworLSAgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfdHJ5XCIiKSA+JjUKKy0gIChldmFsICRhY190cnkpIDI+JjUKKy0gIGFjX3N0YXR1cz0kPworLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorLSAgKGV4aXQgJGFjX3N0YXR1cyk7IH07IH07IHRoZW4KKy0gIGV2YWwgIiRhc19hY19IZWFkZXI9eWVzIgorLWVsc2UKKy0gIGVjaG8gIiRhc19tZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1Cistc2VkICdzL14vfCAvJyBjb25mdGVzdC4kYWNfZXh0ID4mNQorLQorLWV2YWwgIiRhc19hY19IZWFkZXI9bm8iCistZmkKKy1ybSAtZiBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKKy1maQorLWVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6IGBldmFsIGVjaG8gJyR7JyRhc19hY19IZWFkZXInfSdgIiA+JjUKKy1lY2hvICIke0VDSE9fVH1gZXZhbCBlY2hvICckeyckYXNfYWNfSGVhZGVyJ30nYCIgPiY2CistaWYgdGVzdCBgZXZhbCBlY2hvICckeyckYXNfYWNfSGVhZGVyJ30nYCA9IHllczsgdGhlbgorLSAgY2F0ID4+Y29uZmRlZnMuaCA8PF9BQ0VPRgorLSNkZWZpbmUgYGVjaG8gIkhBVkVfJGFjX2hlYWRlciIgfCAkYXNfdHJfY3BwYCAxCistX0FDRU9GCistCistZmkKKy0KKy1kb25lCistCistCistaWYgdGVzdCAiJHthY19jdl9oZWFkZXJfc3lzX3NvdW5kY2FyZF9oK3NldH0iID0gc2V0OyB0aGVuCistICBlY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yIHN5cy9zb3VuZGNhcmQuaCIgPiY1CistZWNobyAkRUNIT19OICJjaGVja2luZyBmb3Igc3lzL3NvdW5kY2FyZC5oLi4uICRFQ0hPX0MiID4mNgorLWlmIHRlc3QgIiR7YWNfY3ZfaGVhZGVyX3N5c19zb3VuZGNhcmRfaCtzZXR9IiA9IHNldDsgdGhlbgorLSAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKKy1maQorLWVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRhY19jdl9oZWFkZXJfc3lzX3NvdW5kY2FyZF9oIiA+JjUKKy1lY2hvICIke0VDSE9fVH0kYWNfY3ZfaGVhZGVyX3N5c19zb3VuZGNhcmRfaCIgPiY2CistZWxzZQorLSAgIyBJcyB0aGUgaGVhZGVyIGNvbXBpbGFibGU/CistZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIHN5cy9zb3VuZGNhcmQuaCB1c2FiaWxpdHkiID4mNQorLWVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgc3lzL3NvdW5kY2FyZC5oIHVzYWJpbGl0eS4uLiAkRUNIT19DIiA+JjYKKy1jYXQgPmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0jbGluZSAkTElORU5PICJjb25maWd1cmUiCistLyogY29uZmRlZnMuaC4gICovCistX0FDRU9GCistY2F0IGNvbmZkZWZzLmggPj5jb25mdGVzdC4kYWNfZXh0CistY2F0ID4+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLS8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKy0kYWNfaW5jbHVkZXNfZGVmYXVsdAorKyAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorKyNsaW5lIDEzOTggImNvbmZpZ3VyZSIKKysjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAjaW5jbHVkZSA8c3lzL3NvdW5kY2FyZC5oPgorLV9BQ0VPRgorLXJtIC1mIGNvbmZ0ZXN0LiRhY19vYmpleHQKKy1pZiB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19jb21waWxlXCIiKSA+JjUKKy0gIChldmFsICRhY19jb21waWxlKSAyPiY1CistICBhY19zdGF0dXM9JD8KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKy0gIChleGl0ICRhY19zdGF0dXMpOyB9ICYmCistICAgICAgICAgeyBhY190cnk9J3Rlc3QgLXMgY29uZnRlc3QuJGFjX29iamV4dCcKKy0gIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX3RyeVwiIikgPiY1CistICAoZXZhbCAkYWNfdHJ5KSAyPiY1CistICBhY19zdGF0dXM9JD8KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKy0gIChleGl0ICRhY19zdGF0dXMpOyB9OyB9OyB0aGVuCistICBhY19oZWFkZXJfY29tcGlsZXI9eWVzCisrRU9GCisrYWNfdHJ5PSIkYWNfY3BwIGNvbmZ0ZXN0LiRhY19leHQgPi9kZXYvbnVsbCAyPmNvbmZ0ZXN0Lm91dCIKKyt7IChldmFsIGVjaG8gY29uZmlndXJlOjE0MDM6IFwiJGFjX3RyeVwiKSAxPiY1OyAoZXZhbCAkYWNfdHJ5KSAyPiY1OyB9CisrYWNfZXJyPWBncmVwIC12ICdeICorJyBjb25mdGVzdC5vdXQgfCBncmVwIC12ICJeY29uZnRlc3QuJHthY19leHR9XCQiYAorK2lmIHRlc3QgLXogIiRhY19lcnIiOyB0aGVuCisrICBybSAtcmYgY29uZnRlc3QqCisrICBldmFsICJhY19jdl9oZWFkZXJfJGFjX3NhZmU9eWVzIgorIGVsc2UKKy0gIGVjaG8gIiRhc19tZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1Cistc2VkICdzL14vfCAvJyBjb25mdGVzdC4kYWNfZXh0ID4mNQorLQorLWFjX2hlYWRlcl9jb21waWxlcj1ubworKyAgZWNobyAiJGFjX2VyciIgPiY1CisrICBlY2hvICJjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorKyAgY2F0IGNvbmZ0ZXN0LiRhY19leHQgPiY1CisrICBybSAtcmYgY29uZnRlc3QqCisrICBldmFsICJhY19jdl9oZWFkZXJfJGFjX3NhZmU9bm8iCisgZmkKKy1ybSAtZiBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKKy1lY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkYWNfaGVhZGVyX2NvbXBpbGVyIiA+JjUKKy1lY2hvICIke0VDSE9fVH0kYWNfaGVhZGVyX2NvbXBpbGVyIiA+JjYKKy0KKy0jIElzIHRoZSBoZWFkZXIgcHJlc2VudD8KKy1lY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgc3lzL3NvdW5kY2FyZC5oIHByZXNlbmNlIiA+JjUKKy1lY2hvICRFQ0hPX04gImNoZWNraW5nIHN5cy9zb3VuZGNhcmQuaCBwcmVzZW5jZS4uLiAkRUNIT19DIiA+JjYKKy1jYXQgPmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0jbGluZSAkTElORU5PICJjb25maWd1cmUiCistLyogY29uZmRlZnMuaC4gICovCistX0FDRU9GCistY2F0IGNvbmZkZWZzLmggPj5jb25mdGVzdC4kYWNfZXh0CistY2F0ID4+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLS8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKy0jaW5jbHVkZSA8c3lzL3NvdW5kY2FyZC5oPgorLV9BQ0VPRgorLWlmIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX2NwcCBjb25mdGVzdC4kYWNfZXh0XCIiKSA+JjUKKy0gIChldmFsICRhY19jcHAgY29uZnRlc3QuJGFjX2V4dCkgMj5jb25mdGVzdC5lcjEKKy0gIGFjX3N0YXR1cz0kPworLSAgZ3JlcCAtdiAnXiAqKycgY29uZnRlc3QuZXIxID5jb25mdGVzdC5lcnIKKy0gIHJtIC1mIGNvbmZ0ZXN0LmVyMQorLSAgY2F0IGNvbmZ0ZXN0LmVyciA+JjUKKy0gIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKy0gIChleGl0ICRhY19zdGF0dXMpOyB9ID4vZGV2L251bGw7IHRoZW4KKy0gIGlmIHRlc3QgLXMgY29uZnRlc3QuZXJyOyB0aGVuCistICAgIGFjX2NwcF9lcnI9JGFjX2NfcHJlcHJvY193YXJuX2ZsYWcKKy0gIGVsc2UKKy0gICAgYWNfY3BwX2Vycj0KKy0gIGZpCistZWxzZQorLSAgYWNfY3BwX2Vycj15ZXMKKytybSAtZiBjb25mdGVzdCoKKyBmaQorLWlmIHRlc3QgLXogIiRhY19jcHBfZXJyIjsgdGhlbgorLSAgYWNfaGVhZGVyX3ByZXByb2M9eWVzCistZWxzZQorLSAgZWNobyAiJGFzX21lOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKKy1zZWQgJ3MvXi98IC8nIGNvbmZ0ZXN0LiRhY19leHQgPiY1CistCistICBhY19oZWFkZXJfcHJlcHJvYz1ubworLWZpCistcm0gLWYgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19leHQKKy1lY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkYWNfaGVhZGVyX3ByZXByb2MiID4mNQorLWVjaG8gIiR7RUNIT19UfSRhY19oZWFkZXJfcHJlcHJvYyIgPiY2CistCistIyBTbz8gIFdoYXQgYWJvdXQgdGhpcyBoZWFkZXI/CistY2FzZSAkYWNfaGVhZGVyX2NvbXBpbGVyOiRhY19oZWFkZXJfcHJlcHJvYyBpbgorLSAgeWVzOm5vICkKKy0gICAgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogV0FSTklORzogc3lzL3NvdW5kY2FyZC5oOiBhY2NlcHRlZCBieSB0aGUgY29tcGlsZXIsIHJlamVjdGVkIGJ5IHRoZSBwcmVwcm9jZXNzb3IhIiA+JjUKKy1lY2hvICIkYXNfbWU6IFdBUk5JTkc6IHN5cy9zb3VuZGNhcmQuaDogYWNjZXB0ZWQgYnkgdGhlIGNvbXBpbGVyLCByZWplY3RlZCBieSB0aGUgcHJlcHJvY2Vzc29yISIgPiYyO30KKy0gICAgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogV0FSTklORzogc3lzL3NvdW5kY2FyZC5oOiBwcm9jZWVkaW5nIHdpdGggdGhlIHByZXByb2Nlc3NvcidzIHJlc3VsdCIgPiY1CistZWNobyAiJGFzX21lOiBXQVJOSU5HOiBzeXMvc291bmRjYXJkLmg6IHByb2NlZWRpbmcgd2l0aCB0aGUgcHJlcHJvY2Vzc29yJ3MgcmVzdWx0IiA+JjI7fQorLSAgICAoCistICAgICAgY2F0IDw8XF9BU0JPWAorLSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIworLSMjIFJlcG9ydCB0aGlzIHRvIGJ1Zy1hdXRvY29uZkBnbnUub3JnLiAjIworLSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIworLV9BU0JPWAorLSAgICApIHwKKy0gICAgICBzZWQgInMvXi8kYXNfbWU6IFdBUk5JTkc6ICAgICAvIiA+JjIKKy0gICAgOzsKKy0gIG5vOnllcyApCistICAgIHsgZWNobyAiJGFzX21lOiRMSU5FTk86IFdBUk5JTkc6IHN5cy9zb3VuZGNhcmQuaDogcHJlc2VudCBidXQgY2Fubm90IGJlIGNvbXBpbGVkIiA+JjUKKy1lY2hvICIkYXNfbWU6IFdBUk5JTkc6IHN5cy9zb3VuZGNhcmQuaDogcHJlc2VudCBidXQgY2Fubm90IGJlIGNvbXBpbGVkIiA+JjI7fQorLSAgICB7IGVjaG8gIiRhc19tZTokTElORU5POiBXQVJOSU5HOiBzeXMvc291bmRjYXJkLmg6IGNoZWNrIGZvciBtaXNzaW5nIHByZXJlcXVpc2l0ZSBoZWFkZXJzPyIgPiY1CistZWNobyAiJGFzX21lOiBXQVJOSU5HOiBzeXMvc291bmRjYXJkLmg6IGNoZWNrIGZvciBtaXNzaW5nIHByZXJlcXVpc2l0ZSBoZWFkZXJzPyIgPiYyO30KKy0gICAgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogV0FSTklORzogc3lzL3NvdW5kY2FyZC5oOiBwcm9jZWVkaW5nIHdpdGggdGhlIHByZXByb2Nlc3NvcidzIHJlc3VsdCIgPiY1CistZWNobyAiJGFzX21lOiBXQVJOSU5HOiBzeXMvc291bmRjYXJkLmg6IHByb2NlZWRpbmcgd2l0aCB0aGUgcHJlcHJvY2Vzc29yJ3MgcmVzdWx0IiA+JjI7fQorLSAgICAoCistICAgICAgY2F0IDw8XF9BU0JPWAorLSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIworLSMjIFJlcG9ydCB0aGlzIHRvIGJ1Zy1hdXRvY29uZkBnbnUub3JnLiAjIworLSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIworLV9BU0JPWAorLSAgICApIHwKKy0gICAgICBzZWQgInMvXi8kYXNfbWU6IFdBUk5JTkc6ICAgICAvIiA+JjIKKy0gICAgOzsKKy1lc2FjCistZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciBzeXMvc291bmRjYXJkLmgiID4mNQorLWVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yIHN5cy9zb3VuZGNhcmQuaC4uLiAkRUNIT19DIiA+JjYKKy1pZiB0ZXN0ICIke2FjX2N2X2hlYWRlcl9zeXNfc291bmRjYXJkX2grc2V0fSIgPSBzZXQ7IHRoZW4KKy0gIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CistZWxzZQorLSAgYWNfY3ZfaGVhZGVyX3N5c19zb3VuZGNhcmRfaD0kYWNfaGVhZGVyX3ByZXByb2MKKy1maQorLWVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRhY19jdl9oZWFkZXJfc3lzX3NvdW5kY2FyZF9oIiA+JjUKKy1lY2hvICIke0VDSE9fVH0kYWNfY3ZfaGVhZGVyX3N5c19zb3VuZGNhcmRfaCIgPiY2CistCistZmkKKy1pZiB0ZXN0ICRhY19jdl9oZWFkZXJfc3lzX3NvdW5kY2FyZF9oID0geWVzOyB0aGVuCisraWYgZXZhbCAidGVzdCBcImBlY2hvICckYWNfY3ZfaGVhZGVyXyckYWNfc2FmZWBcIiA9IHllcyI7IHRoZW4KKysgIGVjaG8gIiRhY190IiJ5ZXMiIDE+JjYKKyAgIEFVRElPRFJJVkVSPSJvc3MiCisgICAgICAgICAgICAgICAgQVVESU9ERUZTPS1EQ1NUX0FVRElPX0xJTlVYCisrZWxzZQorKyAgZWNobyAiJGFjX3QiIm5vIiAxPiY2CisgZmkKKyAKKy0KKy1pZiB0ZXN0ICIke2FjX2N2X2hlYWRlcl9tYWNoaW5lX3NvdW5kY2FyZF9oK3NldH0iID0gc2V0OyB0aGVuCistICBlY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yIG1hY2hpbmUvc291bmRjYXJkLmgiID4mNQorLWVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yIG1hY2hpbmUvc291bmRjYXJkLmguLi4gJEVDSE9fQyIgPiY2CistaWYgdGVzdCAiJHthY19jdl9oZWFkZXJfbWFjaGluZV9zb3VuZGNhcmRfaCtzZXR9IiA9IHNldDsgdGhlbgorLSAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKKy1maQorLWVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRhY19jdl9oZWFkZXJfbWFjaGluZV9zb3VuZGNhcmRfaCIgPiY1CistZWNobyAiJHtFQ0hPX1R9JGFjX2N2X2hlYWRlcl9tYWNoaW5lX3NvdW5kY2FyZF9oIiA+JjYKKythY19zYWZlPWBlY2hvICJtYWNoaW5lL3NvdW5kY2FyZC5oIiB8IHNlZCAneSUuLystJV9fcF8lJ2AKKytlY2hvICRhY19uICJjaGVja2luZyBmb3IgbWFjaGluZS9zb3VuZGNhcmQuaCIiLi4uICRhY19jIiAxPiY2CisrZWNobyAiY29uZmlndXJlOjE0Mjc6IGNoZWNraW5nIGZvciBtYWNoaW5lL3NvdW5kY2FyZC5oIiA+JjUKKytpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfaGVhZGVyXyRhY19zYWZlJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKysgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorLSAgIyBJcyB0aGUgaGVhZGVyIGNvbXBpbGFibGU/CistZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIG1hY2hpbmUvc291bmRjYXJkLmggdXNhYmlsaXR5IiA+JjUKKy1lY2hvICRFQ0hPX04gImNoZWNraW5nIG1hY2hpbmUvc291bmRjYXJkLmggdXNhYmlsaXR5Li4uICRFQ0hPX0MiID4mNgorLWNhdCA+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLSNsaW5lICRMSU5FTk8gImNvbmZpZ3VyZSIKKy0vKiBjb25mZGVmcy5oLiAgKi8KKy1fQUNFT0YKKy1jYXQgY29uZmRlZnMuaCA+PmNvbmZ0ZXN0LiRhY19leHQKKy1jYXQgPj5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistLyogZW5kIGNvbmZkZWZzLmguICAqLworLSRhY19pbmNsdWRlc19kZWZhdWx0CisrICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCisrI2xpbmUgMTQzMiAiY29uZmlndXJlIgorKyNpbmNsdWRlICJjb25mZGVmcy5oIgorICNpbmNsdWRlIDxtYWNoaW5lL3NvdW5kY2FyZC5oPgorLV9BQ0VPRgorLXJtIC1mIGNvbmZ0ZXN0LiRhY19vYmpleHQKKy1pZiB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19jb21waWxlXCIiKSA+JjUKKy0gIChldmFsICRhY19jb21waWxlKSAyPiY1CistICBhY19zdGF0dXM9JD8KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKy0gIChleGl0ICRhY19zdGF0dXMpOyB9ICYmCistICAgICAgICAgeyBhY190cnk9J3Rlc3QgLXMgY29uZnRlc3QuJGFjX29iamV4dCcKKy0gIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX3RyeVwiIikgPiY1CistICAoZXZhbCAkYWNfdHJ5KSAyPiY1CistICBhY19zdGF0dXM9JD8KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKy0gIChleGl0ICRhY19zdGF0dXMpOyB9OyB9OyB0aGVuCistICBhY19oZWFkZXJfY29tcGlsZXI9eWVzCisrRU9GCisrYWNfdHJ5PSIkYWNfY3BwIGNvbmZ0ZXN0LiRhY19leHQgPi9kZXYvbnVsbCAyPmNvbmZ0ZXN0Lm91dCIKKyt7IChldmFsIGVjaG8gY29uZmlndXJlOjE0Mzc6IFwiJGFjX3RyeVwiKSAxPiY1OyAoZXZhbCAkYWNfdHJ5KSAyPiY1OyB9CisrYWNfZXJyPWBncmVwIC12ICdeICorJyBjb25mdGVzdC5vdXQgfCBncmVwIC12ICJeY29uZnRlc3QuJHthY19leHR9XCQiYAorK2lmIHRlc3QgLXogIiRhY19lcnIiOyB0aGVuCisrICBybSAtcmYgY29uZnRlc3QqCisrICBldmFsICJhY19jdl9oZWFkZXJfJGFjX3NhZmU9eWVzIgorIGVsc2UKKy0gIGVjaG8gIiRhc19tZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1Cistc2VkICdzL14vfCAvJyBjb25mdGVzdC4kYWNfZXh0ID4mNQorLQorLWFjX2hlYWRlcl9jb21waWxlcj1ubworKyAgZWNobyAiJGFjX2VyciIgPiY1CisrICBlY2hvICJjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorKyAgY2F0IGNvbmZ0ZXN0LiRhY19leHQgPiY1CisrICBybSAtcmYgY29uZnRlc3QqCisrICBldmFsICJhY19jdl9oZWFkZXJfJGFjX3NhZmU9bm8iCisgZmkKKy1ybSAtZiBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKKy1lY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkYWNfaGVhZGVyX2NvbXBpbGVyIiA+JjUKKy1lY2hvICIke0VDSE9fVH0kYWNfaGVhZGVyX2NvbXBpbGVyIiA+JjYKKy0KKy0jIElzIHRoZSBoZWFkZXIgcHJlc2VudD8KKy1lY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgbWFjaGluZS9zb3VuZGNhcmQuaCBwcmVzZW5jZSIgPiY1CistZWNobyAkRUNIT19OICJjaGVja2luZyBtYWNoaW5lL3NvdW5kY2FyZC5oIHByZXNlbmNlLi4uICRFQ0hPX0MiID4mNgorLWNhdCA+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLSNsaW5lICRMSU5FTk8gImNvbmZpZ3VyZSIKKy0vKiBjb25mZGVmcy5oLiAgKi8KKy1fQUNFT0YKKy1jYXQgY29uZmRlZnMuaCA+PmNvbmZ0ZXN0LiRhY19leHQKKy1jYXQgPj5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistLyogZW5kIGNvbmZkZWZzLmguICAqLworLSNpbmNsdWRlIDxtYWNoaW5lL3NvdW5kY2FyZC5oPgorLV9BQ0VPRgorLWlmIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX2NwcCBjb25mdGVzdC4kYWNfZXh0XCIiKSA+JjUKKy0gIChldmFsICRhY19jcHAgY29uZnRlc3QuJGFjX2V4dCkgMj5jb25mdGVzdC5lcjEKKy0gIGFjX3N0YXR1cz0kPworLSAgZ3JlcCAtdiAnXiAqKycgY29uZnRlc3QuZXIxID5jb25mdGVzdC5lcnIKKy0gIHJtIC1mIGNvbmZ0ZXN0LmVyMQorLSAgY2F0IGNvbmZ0ZXN0LmVyciA+JjUKKy0gIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKy0gIChleGl0ICRhY19zdGF0dXMpOyB9ID4vZGV2L251bGw7IHRoZW4KKy0gIGlmIHRlc3QgLXMgY29uZnRlc3QuZXJyOyB0aGVuCistICAgIGFjX2NwcF9lcnI9JGFjX2NfcHJlcHJvY193YXJuX2ZsYWcKKy0gIGVsc2UKKy0gICAgYWNfY3BwX2Vycj0KKy0gIGZpCistZWxzZQorLSAgYWNfY3BwX2Vycj15ZXMKKytybSAtZiBjb25mdGVzdCoKKyBmaQorLWlmIHRlc3QgLXogIiRhY19jcHBfZXJyIjsgdGhlbgorLSAgYWNfaGVhZGVyX3ByZXByb2M9eWVzCistZWxzZQorLSAgZWNobyAiJGFzX21lOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKKy1zZWQgJ3MvXi98IC8nIGNvbmZ0ZXN0LiRhY19leHQgPiY1CistCistICBhY19oZWFkZXJfcHJlcHJvYz1ubworLWZpCistcm0gLWYgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19leHQKKy1lY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkYWNfaGVhZGVyX3ByZXByb2MiID4mNQorLWVjaG8gIiR7RUNIT19UfSRhY19oZWFkZXJfcHJlcHJvYyIgPiY2CistCistIyBTbz8gIFdoYXQgYWJvdXQgdGhpcyBoZWFkZXI/CistY2FzZSAkYWNfaGVhZGVyX2NvbXBpbGVyOiRhY19oZWFkZXJfcHJlcHJvYyBpbgorLSAgeWVzOm5vICkKKy0gICAgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogV0FSTklORzogbWFjaGluZS9zb3VuZGNhcmQuaDogYWNjZXB0ZWQgYnkgdGhlIGNvbXBpbGVyLCByZWplY3RlZCBieSB0aGUgcHJlcHJvY2Vzc29yISIgPiY1CistZWNobyAiJGFzX21lOiBXQVJOSU5HOiBtYWNoaW5lL3NvdW5kY2FyZC5oOiBhY2NlcHRlZCBieSB0aGUgY29tcGlsZXIsIHJlamVjdGVkIGJ5IHRoZSBwcmVwcm9jZXNzb3IhIiA+JjI7fQorLSAgICB7IGVjaG8gIiRhc19tZTokTElORU5POiBXQVJOSU5HOiBtYWNoaW5lL3NvdW5kY2FyZC5oOiBwcm9jZWVkaW5nIHdpdGggdGhlIHByZXByb2Nlc3NvcidzIHJlc3VsdCIgPiY1CistZWNobyAiJGFzX21lOiBXQVJOSU5HOiBtYWNoaW5lL3NvdW5kY2FyZC5oOiBwcm9jZWVkaW5nIHdpdGggdGhlIHByZXByb2Nlc3NvcidzIHJlc3VsdCIgPiYyO30KKy0gICAgKAorLSAgICAgIGNhdCA8PFxfQVNCT1gKKy0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKKy0jIyBSZXBvcnQgdGhpcyB0byBidWctYXV0b2NvbmZAZ251Lm9yZy4gIyMKKy0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKKy1fQVNCT1gKKy0gICAgKSB8CistICAgICAgc2VkICJzL14vJGFzX21lOiBXQVJOSU5HOiAgICAgLyIgPiYyCistICAgIDs7CistICBubzp5ZXMgKQorLSAgICB7IGVjaG8gIiRhc19tZTokTElORU5POiBXQVJOSU5HOiBtYWNoaW5lL3NvdW5kY2FyZC5oOiBwcmVzZW50IGJ1dCBjYW5ub3QgYmUgY29tcGlsZWQiID4mNQorLWVjaG8gIiRhc19tZTogV0FSTklORzogbWFjaGluZS9zb3VuZGNhcmQuaDogcHJlc2VudCBidXQgY2Fubm90IGJlIGNvbXBpbGVkIiA+JjI7fQorLSAgICB7IGVjaG8gIiRhc19tZTokTElORU5POiBXQVJOSU5HOiBtYWNoaW5lL3NvdW5kY2FyZC5oOiBjaGVjayBmb3IgbWlzc2luZyBwcmVyZXF1aXNpdGUgaGVhZGVycz8iID4mNQorLWVjaG8gIiRhc19tZTogV0FSTklORzogbWFjaGluZS9zb3VuZGNhcmQuaDogY2hlY2sgZm9yIG1pc3NpbmcgcHJlcmVxdWlzaXRlIGhlYWRlcnM/IiA+JjI7fQorLSAgICB7IGVjaG8gIiRhc19tZTokTElORU5POiBXQVJOSU5HOiBtYWNoaW5lL3NvdW5kY2FyZC5oOiBwcm9jZWVkaW5nIHdpdGggdGhlIHByZXByb2Nlc3NvcidzIHJlc3VsdCIgPiY1CistZWNobyAiJGFzX21lOiBXQVJOSU5HOiBtYWNoaW5lL3NvdW5kY2FyZC5oOiBwcm9jZWVkaW5nIHdpdGggdGhlIHByZXByb2Nlc3NvcidzIHJlc3VsdCIgPiYyO30KKy0gICAgKAorLSAgICAgIGNhdCA8PFxfQVNCT1gKKy0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKKy0jIyBSZXBvcnQgdGhpcyB0byBidWctYXV0b2NvbmZAZ251Lm9yZy4gIyMKKy0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKKy1fQVNCT1gKKy0gICAgKSB8CistICAgICAgc2VkICJzL14vJGFzX21lOiBXQVJOSU5HOiAgICAgLyIgPiYyCistICAgIDs7CistZXNhYworLWVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgbWFjaGluZS9zb3VuZGNhcmQuaCIgPiY1CistZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgbWFjaGluZS9zb3VuZGNhcmQuaC4uLiAkRUNIT19DIiA+JjYKKy1pZiB0ZXN0ICIke2FjX2N2X2hlYWRlcl9tYWNoaW5lX3NvdW5kY2FyZF9oK3NldH0iID0gc2V0OyB0aGVuCistICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorLWVsc2UKKy0gIGFjX2N2X2hlYWRlcl9tYWNoaW5lX3NvdW5kY2FyZF9oPSRhY19oZWFkZXJfcHJlcHJvYworLWZpCistZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGFjX2N2X2hlYWRlcl9tYWNoaW5lX3NvdW5kY2FyZF9oIiA+JjUKKy1lY2hvICIke0VDSE9fVH0kYWNfY3ZfaGVhZGVyX21hY2hpbmVfc291bmRjYXJkX2giID4mNgorLQorLWZpCistaWYgdGVzdCAkYWNfY3ZfaGVhZGVyX21hY2hpbmVfc291bmRjYXJkX2ggPSB5ZXM7IHRoZW4KKytpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyRhY19jdl9oZWFkZXJfJyRhY19zYWZlYFwiID0geWVzIjsgdGhlbgorKyAgZWNobyAiJGFjX3QiInllcyIgMT4mNgorICAgQVVESU9EUklWRVI9Im9zcyIKKyAgICAgICAgICAgICAgICBBVURJT0RFRlM9LURDU1RfQVVESU9fRlJFRUJTRAorK2Vsc2UKKysgIGVjaG8gIiRhY190IiJubyIgMT4mNgorIGZpCisgCistCistaWYgdGVzdCAiJHthY19jdl9oZWFkZXJfc3lzX2F1ZGlvaW9faCtzZXR9IiA9IHNldDsgdGhlbgorLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciBzeXMvYXVkaW9pby5oIiA+JjUKKy1lY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciBzeXMvYXVkaW9pby5oLi4uICRFQ0hPX0MiID4mNgorLWlmIHRlc3QgIiR7YWNfY3ZfaGVhZGVyX3N5c19hdWRpb2lvX2grc2V0fSIgPSBzZXQ7IHRoZW4KKy0gIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CistZmkKKy1lY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkYWNfY3ZfaGVhZGVyX3N5c19hdWRpb2lvX2giID4mNQorLWVjaG8gIiR7RUNIT19UfSRhY19jdl9oZWFkZXJfc3lzX2F1ZGlvaW9faCIgPiY2CisrYWNfc2FmZT1gZWNobyAic3lzL2F1ZGlvaW8uaCIgfCBzZWQgJ3klLi8rLSVfX3BfJSdgCisrZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIHN5cy9hdWRpb2lvLmgiIi4uLiAkYWNfYyIgMT4mNgorK2VjaG8gImNvbmZpZ3VyZToxNDYxOiBjaGVja2luZyBmb3Igc3lzL2F1ZGlvaW8uaCIgPiY1CisraWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2hlYWRlcl8kYWNfc2FmZScrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisrICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKy0gICMgSXMgdGhlIGhlYWRlciBjb21waWxhYmxlPworLWVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBzeXMvYXVkaW9pby5oIHVzYWJpbGl0eSIgPiY1CistZWNobyAkRUNIT19OICJjaGVja2luZyBzeXMvYXVkaW9pby5oIHVzYWJpbGl0eS4uLiAkRUNIT19DIiA+JjYKKy1jYXQgPmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0jbGluZSAkTElORU5PICJjb25maWd1cmUiCistLyogY29uZmRlZnMuaC4gICovCistX0FDRU9GCistY2F0IGNvbmZkZWZzLmggPj5jb25mdGVzdC4kYWNfZXh0CistY2F0ID4+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLS8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKy0kYWNfaW5jbHVkZXNfZGVmYXVsdAorKyAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorKyNsaW5lIDE0NjYgImNvbmZpZ3VyZSIKKysjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAjaW5jbHVkZSA8c3lzL2F1ZGlvaW8uaD4KKy1fQUNFT0YKKy1ybSAtZiBjb25mdGVzdC4kYWNfb2JqZXh0CistaWYgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfY29tcGlsZVwiIikgPiY1CistICAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNQorLSAgYWNfc3RhdHVzPSQ/CistICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CistICAoZXhpdCAkYWNfc3RhdHVzKTsgfSAmJgorLSAgICAgICAgIHsgYWNfdHJ5PSd0ZXN0IC1zIGNvbmZ0ZXN0LiRhY19vYmpleHQnCistICB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY190cnlcIiIpID4mNQorLSAgKGV2YWwgJGFjX3RyeSkgMj4mNQorLSAgYWNfc3RhdHVzPSQ/CistICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CistICAoZXhpdCAkYWNfc3RhdHVzKTsgfTsgfTsgdGhlbgorLSAgYWNfaGVhZGVyX2NvbXBpbGVyPXllcworK0VPRgorK2FjX3RyeT0iJGFjX2NwcCBjb25mdGVzdC4kYWNfZXh0ID4vZGV2L251bGwgMj5jb25mdGVzdC5vdXQiCisreyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxNDcxOiBcIiRhY190cnlcIikgMT4mNTsgKGV2YWwgJGFjX3RyeSkgMj4mNTsgfQorK2FjX2Vycj1gZ3JlcCAtdiAnXiAqKycgY29uZnRlc3Qub3V0IHwgZ3JlcCAtdiAiXmNvbmZ0ZXN0LiR7YWNfZXh0fVwkImAKKytpZiB0ZXN0IC16ICIkYWNfZXJyIjsgdGhlbgorKyAgcm0gLXJmIGNvbmZ0ZXN0KgorKyAgZXZhbCAiYWNfY3ZfaGVhZGVyXyRhY19zYWZlPXllcyIKKyBlbHNlCistICBlY2hvICIkYXNfbWU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorLXNlZCAncy9eL3wgLycgY29uZnRlc3QuJGFjX2V4dCA+JjUKKy0KKy1hY19oZWFkZXJfY29tcGlsZXI9bm8KKysgIGVjaG8gIiRhY19lcnIiID4mNQorKyAgZWNobyAiY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKKysgIGNhdCBjb25mdGVzdC4kYWNfZXh0ID4mNQorKyAgcm0gLXJmIGNvbmZ0ZXN0KgorKyAgZXZhbCAiYWNfY3ZfaGVhZGVyXyRhY19zYWZlPW5vIgorIGZpCistcm0gLWYgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0CistZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGFjX2hlYWRlcl9jb21waWxlciIgPiY1CistZWNobyAiJHtFQ0hPX1R9JGFjX2hlYWRlcl9jb21waWxlciIgPiY2CistCistIyBJcyB0aGUgaGVhZGVyIHByZXNlbnQ/CistZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIHN5cy9hdWRpb2lvLmggcHJlc2VuY2UiID4mNQorLWVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgc3lzL2F1ZGlvaW8uaCBwcmVzZW5jZS4uLiAkRUNIT19DIiA+JjYKKy1jYXQgPmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0jbGluZSAkTElORU5PICJjb25maWd1cmUiCistLyogY29uZmRlZnMuaC4gICovCistX0FDRU9GCistY2F0IGNvbmZkZWZzLmggPj5jb25mdGVzdC4kYWNfZXh0CistY2F0ID4+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLS8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKy0jaW5jbHVkZSA8c3lzL2F1ZGlvaW8uaD4KKy1fQUNFT0YKKy1pZiB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19jcHAgY29uZnRlc3QuJGFjX2V4dFwiIikgPiY1CistICAoZXZhbCAkYWNfY3BwIGNvbmZ0ZXN0LiRhY19leHQpIDI+Y29uZnRlc3QuZXIxCistICBhY19zdGF0dXM9JD8KKy0gIGdyZXAgLXYgJ14gKisnIGNvbmZ0ZXN0LmVyMSA+Y29uZnRlc3QuZXJyCistICBybSAtZiBjb25mdGVzdC5lcjEKKy0gIGNhdCBjb25mdGVzdC5lcnIgPiY1CistICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CistICAoZXhpdCAkYWNfc3RhdHVzKTsgfSA+L2Rldi9udWxsOyB0aGVuCistICBpZiB0ZXN0IC1zIGNvbmZ0ZXN0LmVycjsgdGhlbgorLSAgICBhY19jcHBfZXJyPSRhY19jX3ByZXByb2Nfd2Fybl9mbGFnCistICBlbHNlCistICAgIGFjX2NwcF9lcnI9CistICBmaQorLWVsc2UKKy0gIGFjX2NwcF9lcnI9eWVzCisrcm0gLWYgY29uZnRlc3QqCisgZmkKKy1pZiB0ZXN0IC16ICIkYWNfY3BwX2VyciI7IHRoZW4KKy0gIGFjX2hlYWRlcl9wcmVwcm9jPXllcworLWVsc2UKKy0gIGVjaG8gIiRhc19tZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1Cistc2VkICdzL14vfCAvJyBjb25mdGVzdC4kYWNfZXh0ID4mNQorLQorLSAgYWNfaGVhZGVyX3ByZXByb2M9bm8KKy1maQorLXJtIC1mIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfZXh0CistZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGFjX2hlYWRlcl9wcmVwcm9jIiA+JjUKKy1lY2hvICIke0VDSE9fVH0kYWNfaGVhZGVyX3ByZXByb2MiID4mNgorLQorLSMgU28/ICBXaGF0IGFib3V0IHRoaXMgaGVhZGVyPworLWNhc2UgJGFjX2hlYWRlcl9jb21waWxlcjokYWNfaGVhZGVyX3ByZXByb2MgaW4KKy0gIHllczpubyApCistICAgIHsgZWNobyAiJGFzX21lOiRMSU5FTk86IFdBUk5JTkc6IHN5cy9hdWRpb2lvLmg6IGFjY2VwdGVkIGJ5IHRoZSBjb21waWxlciwgcmVqZWN0ZWQgYnkgdGhlIHByZXByb2Nlc3NvciEiID4mNQorLWVjaG8gIiRhc19tZTogV0FSTklORzogc3lzL2F1ZGlvaW8uaDogYWNjZXB0ZWQgYnkgdGhlIGNvbXBpbGVyLCByZWplY3RlZCBieSB0aGUgcHJlcHJvY2Vzc29yISIgPiYyO30KKy0gICAgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogV0FSTklORzogc3lzL2F1ZGlvaW8uaDogcHJvY2VlZGluZyB3aXRoIHRoZSBwcmVwcm9jZXNzb3IncyByZXN1bHQiID4mNQorLWVjaG8gIiRhc19tZTogV0FSTklORzogc3lzL2F1ZGlvaW8uaDogcHJvY2VlZGluZyB3aXRoIHRoZSBwcmVwcm9jZXNzb3IncyByZXN1bHQiID4mMjt9CistICAgICgKKy0gICAgICBjYXQgPDxcX0FTQk9YCistIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCistIyMgUmVwb3J0IHRoaXMgdG8gYnVnLWF1dG9jb25mQGdudS5vcmcuICMjCistIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCistX0FTQk9YCistICAgICkgfAorLSAgICAgIHNlZCAicy9eLyRhc19tZTogV0FSTklORzogICAgIC8iID4mMgorLSAgICA7OworLSAgbm86eWVzICkKKy0gICAgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogV0FSTklORzogc3lzL2F1ZGlvaW8uaDogcHJlc2VudCBidXQgY2Fubm90IGJlIGNvbXBpbGVkIiA+JjUKKy1lY2hvICIkYXNfbWU6IFdBUk5JTkc6IHN5cy9hdWRpb2lvLmg6IHByZXNlbnQgYnV0IGNhbm5vdCBiZSBjb21waWxlZCIgPiYyO30KKy0gICAgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogV0FSTklORzogc3lzL2F1ZGlvaW8uaDogY2hlY2sgZm9yIG1pc3NpbmcgcHJlcmVxdWlzaXRlIGhlYWRlcnM/IiA+JjUKKy1lY2hvICIkYXNfbWU6IFdBUk5JTkc6IHN5cy9hdWRpb2lvLmg6IGNoZWNrIGZvciBtaXNzaW5nIHByZXJlcXVpc2l0ZSBoZWFkZXJzPyIgPiYyO30KKy0gICAgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogV0FSTklORzogc3lzL2F1ZGlvaW8uaDogcHJvY2VlZGluZyB3aXRoIHRoZSBwcmVwcm9jZXNzb3IncyByZXN1bHQiID4mNQorLWVjaG8gIiRhc19tZTogV0FSTklORzogc3lzL2F1ZGlvaW8uaDogcHJvY2VlZGluZyB3aXRoIHRoZSBwcmVwcm9jZXNzb3IncyByZXN1bHQiID4mMjt9CistICAgICgKKy0gICAgICBjYXQgPDxcX0FTQk9YCistIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCistIyMgUmVwb3J0IHRoaXMgdG8gYnVnLWF1dG9jb25mQGdudS5vcmcuICMjCistIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCistX0FTQk9YCistICAgICkgfAorLSAgICAgIHNlZCAicy9eLyRhc19tZTogV0FSTklORzogICAgIC8iID4mMgorLSAgICA7OworLWVzYWMKKy1lY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yIHN5cy9hdWRpb2lvLmgiID4mNQorLWVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yIHN5cy9hdWRpb2lvLmguLi4gJEVDSE9fQyIgPiY2CistaWYgdGVzdCAiJHthY19jdl9oZWFkZXJfc3lzX2F1ZGlvaW9faCtzZXR9IiA9IHNldDsgdGhlbgorLSAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKKy1lbHNlCistICBhY19jdl9oZWFkZXJfc3lzX2F1ZGlvaW9faD0kYWNfaGVhZGVyX3ByZXByb2MKKy1maQorLWVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRhY19jdl9oZWFkZXJfc3lzX2F1ZGlvaW9faCIgPiY1CistZWNobyAiJHtFQ0hPX1R9JGFjX2N2X2hlYWRlcl9zeXNfYXVkaW9pb19oIiA+JjYKKy0KKy1maQorLWlmIHRlc3QgJGFjX2N2X2hlYWRlcl9zeXNfYXVkaW9pb19oID0geWVzOyB0aGVuCisraWYgZXZhbCAidGVzdCBcImBlY2hvICckYWNfY3ZfaGVhZGVyXyckYWNfc2FmZWBcIiA9IHllcyI7IHRoZW4KKysgIGVjaG8gIiRhY190IiJ5ZXMiIDE+JjYKKyAgIEFVRElPRFJJVkVSPSJzdW4iCisgICAgICAgICAgICAgICAgQVVESU9ERUZTPS1EQ1NUX0FVRElPX1NVTk9TCisrZWxzZQorKyAgZWNobyAiJGFjX3QiIm5vIiAxPiY2CisgZmkKKyAKKy0KKy1pZiB0ZXN0ICIke2FjX2N2X2hlYWRlcl9tbXN5c3RlbV9oK3NldH0iID0gc2V0OyB0aGVuCistICBlY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yIG1tc3lzdGVtLmgiID4mNQorLWVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yIG1tc3lzdGVtLmguLi4gJEVDSE9fQyIgPiY2CistaWYgdGVzdCAiJHthY19jdl9oZWFkZXJfbW1zeXN0ZW1faCtzZXR9IiA9IHNldDsgdGhlbgorLSAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKKy1maQorLWVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRhY19jdl9oZWFkZXJfbW1zeXN0ZW1faCIgPiY1CistZWNobyAiJHtFQ0hPX1R9JGFjX2N2X2hlYWRlcl9tbXN5c3RlbV9oIiA+JjYKKysgYWNfc2FmZT1gZWNobyAiYWxzYS9hc291bmRsaWIuaCIgfCBzZWQgJ3klLi8rLSVfX3BfJSdgCisrZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIGFsc2EvYXNvdW5kbGliLmgiIi4uLiAkYWNfYyIgMT4mNgorK2VjaG8gImNvbmZpZ3VyZToxNDk1OiBjaGVja2luZyBmb3IgYWxzYS9hc291bmRsaWIuaCIgPiY1CisraWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2hlYWRlcl8kYWNfc2FmZScrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisrICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKy0gICMgSXMgdGhlIGhlYWRlciBjb21waWxhYmxlPworLWVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBtbXN5c3RlbS5oIHVzYWJpbGl0eSIgPiY1CistZWNobyAkRUNIT19OICJjaGVja2luZyBtbXN5c3RlbS5oIHVzYWJpbGl0eS4uLiAkRUNIT19DIiA+JjYKKy1jYXQgPmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0jbGluZSAkTElORU5PICJjb25maWd1cmUiCistLyogY29uZmRlZnMuaC4gICovCistX0FDRU9GCistY2F0IGNvbmZkZWZzLmggPj5jb25mdGVzdC4kYWNfZXh0CistY2F0ID4+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLS8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKy0kYWNfaW5jbHVkZXNfZGVmYXVsdAorLSNpbmNsdWRlIDxtbXN5c3RlbS5oPgorLV9BQ0VPRgorLXJtIC1mIGNvbmZ0ZXN0LiRhY19vYmpleHQKKy1pZiB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19jb21waWxlXCIiKSA+JjUKKy0gIChldmFsICRhY19jb21waWxlKSAyPiY1CistICBhY19zdGF0dXM9JD8KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKy0gIChleGl0ICRhY19zdGF0dXMpOyB9ICYmCistICAgICAgICAgeyBhY190cnk9J3Rlc3QgLXMgY29uZnRlc3QuJGFjX29iamV4dCcKKy0gIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX3RyeVwiIikgPiY1CistICAoZXZhbCAkYWNfdHJ5KSAyPiY1CistICBhY19zdGF0dXM9JD8KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKy0gIChleGl0ICRhY19zdGF0dXMpOyB9OyB9OyB0aGVuCistICBhY19oZWFkZXJfY29tcGlsZXI9eWVzCisrICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCisrI2xpbmUgMTUwMCAiY29uZmlndXJlIgorKyNpbmNsdWRlICJjb25mZGVmcy5oIgorKyNpbmNsdWRlIDxhbHNhL2Fzb3VuZGxpYi5oPgorK0VPRgorK2FjX3RyeT0iJGFjX2NwcCBjb25mdGVzdC4kYWNfZXh0ID4vZGV2L251bGwgMj5jb25mdGVzdC5vdXQiCisreyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxNTA1OiBcIiRhY190cnlcIikgMT4mNTsgKGV2YWwgJGFjX3RyeSkgMj4mNTsgfQorK2FjX2Vycj1gZ3JlcCAtdiAnXiAqKycgY29uZnRlc3Qub3V0IHwgZ3JlcCAtdiAiXmNvbmZ0ZXN0LiR7YWNfZXh0fVwkImAKKytpZiB0ZXN0IC16ICIkYWNfZXJyIjsgdGhlbgorKyAgcm0gLXJmIGNvbmZ0ZXN0KgorKyAgZXZhbCAiYWNfY3ZfaGVhZGVyXyRhY19zYWZlPXllcyIKKyBlbHNlCistICBlY2hvICIkYXNfbWU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorLXNlZCAncy9eL3wgLycgY29uZnRlc3QuJGFjX2V4dCA+JjUKKy0KKy1hY19oZWFkZXJfY29tcGlsZXI9bm8KKysgIGVjaG8gIiRhY19lcnIiID4mNQorKyAgZWNobyAiY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKKysgIGNhdCBjb25mdGVzdC4kYWNfZXh0ID4mNQorKyAgcm0gLXJmIGNvbmZ0ZXN0KgorKyAgZXZhbCAiYWNfY3ZfaGVhZGVyXyRhY19zYWZlPW5vIgorIGZpCistcm0gLWYgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0CistZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGFjX2hlYWRlcl9jb21waWxlciIgPiY1CistZWNobyAiJHtFQ0hPX1R9JGFjX2hlYWRlcl9jb21waWxlciIgPiY2CistCistIyBJcyB0aGUgaGVhZGVyIHByZXNlbnQ/CistZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIG1tc3lzdGVtLmggcHJlc2VuY2UiID4mNQorLWVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgbW1zeXN0ZW0uaCBwcmVzZW5jZS4uLiAkRUNIT19DIiA+JjYKKy1jYXQgPmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0jbGluZSAkTElORU5PICJjb25maWd1cmUiCistLyogY29uZmRlZnMuaC4gICovCistX0FDRU9GCistY2F0IGNvbmZkZWZzLmggPj5jb25mdGVzdC4kYWNfZXh0CistY2F0ID4+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLS8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKy0jaW5jbHVkZSA8bW1zeXN0ZW0uaD4KKy1fQUNFT0YKKy1pZiB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19jcHAgY29uZnRlc3QuJGFjX2V4dFwiIikgPiY1CistICAoZXZhbCAkYWNfY3BwIGNvbmZ0ZXN0LiRhY19leHQpIDI+Y29uZnRlc3QuZXIxCistICBhY19zdGF0dXM9JD8KKy0gIGdyZXAgLXYgJ14gKisnIGNvbmZ0ZXN0LmVyMSA+Y29uZnRlc3QuZXJyCistICBybSAtZiBjb25mdGVzdC5lcjEKKy0gIGNhdCBjb25mdGVzdC5lcnIgPiY1CistICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CistICAoZXhpdCAkYWNfc3RhdHVzKTsgfSA+L2Rldi9udWxsOyB0aGVuCistICBpZiB0ZXN0IC1zIGNvbmZ0ZXN0LmVycjsgdGhlbgorLSAgICBhY19jcHBfZXJyPSRhY19jX3ByZXByb2Nfd2Fybl9mbGFnCistICBlbHNlCistICAgIGFjX2NwcF9lcnI9CistICBmaQorLWVsc2UKKy0gIGFjX2NwcF9lcnI9eWVzCisrcm0gLWYgY29uZnRlc3QqCisgZmkKKy1pZiB0ZXN0IC16ICIkYWNfY3BwX2VyciI7IHRoZW4KKy0gIGFjX2hlYWRlcl9wcmVwcm9jPXllcworK2lmIGV2YWwgInRlc3QgXCJgZWNobyAnJGFjX2N2X2hlYWRlcl8nJGFjX3NhZmVgXCIgPSB5ZXMiOyB0aGVuCisrICBlY2hvICIkYWNfdCIieWVzIiAxPiY2CisrICBBVURJT0RSSVZFUj0iYWxzYSIKKysJICAgICAgIEFVRElPREVGUz0tRENTVF9BVURJT19BTFNBCisrICAgICAgICAgICAgICAgQVVESU9MSUJTPS1sYXNvdW5kCisgZWxzZQorLSAgZWNobyAiJGFzX21lOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKKy1zZWQgJ3MvXi98IC8nIGNvbmZ0ZXN0LiRhY19leHQgPiY1CistCistICBhY19oZWFkZXJfcHJlcHJvYz1ubworKyAgZWNobyAiJGFjX3QiIm5vIiAxPiY2CisgZmkKKy1ybSAtZiBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX2V4dAorLWVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRhY19oZWFkZXJfcHJlcHJvYyIgPiY1CistZWNobyAiJHtFQ0hPX1R9JGFjX2hlYWRlcl9wcmVwcm9jIiA+JjYKKyAKKy0jIFNvPyAgV2hhdCBhYm91dCB0aGlzIGhlYWRlcj8KKy1jYXNlICRhY19oZWFkZXJfY29tcGlsZXI6JGFjX2hlYWRlcl9wcmVwcm9jIGluCistICB5ZXM6bm8gKQorLSAgICB7IGVjaG8gIiRhc19tZTokTElORU5POiBXQVJOSU5HOiBtbXN5c3RlbS5oOiBhY2NlcHRlZCBieSB0aGUgY29tcGlsZXIsIHJlamVjdGVkIGJ5IHRoZSBwcmVwcm9jZXNzb3IhIiA+JjUKKy1lY2hvICIkYXNfbWU6IFdBUk5JTkc6IG1tc3lzdGVtLmg6IGFjY2VwdGVkIGJ5IHRoZSBjb21waWxlciwgcmVqZWN0ZWQgYnkgdGhlIHByZXByb2Nlc3NvciEiID4mMjt9CistICAgIHsgZWNobyAiJGFzX21lOiRMSU5FTk86IFdBUk5JTkc6IG1tc3lzdGVtLmg6IHByb2NlZWRpbmcgd2l0aCB0aGUgcHJlcHJvY2Vzc29yJ3MgcmVzdWx0IiA+JjUKKy1lY2hvICIkYXNfbWU6IFdBUk5JTkc6IG1tc3lzdGVtLmg6IHByb2NlZWRpbmcgd2l0aCB0aGUgcHJlcHJvY2Vzc29yJ3MgcmVzdWx0IiA+JjI7fQorLSAgICAoCistICAgICAgY2F0IDw8XF9BU0JPWAorLSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIworLSMjIFJlcG9ydCB0aGlzIHRvIGJ1Zy1hdXRvY29uZkBnbnUub3JnLiAjIworLSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIworLV9BU0JPWAorLSAgICApIHwKKy0gICAgICBzZWQgInMvXi8kYXNfbWU6IFdBUk5JTkc6ICAgICAvIiA+JjIKKy0gICAgOzsKKy0gIG5vOnllcyApCistICAgIHsgZWNobyAiJGFzX21lOiRMSU5FTk86IFdBUk5JTkc6IG1tc3lzdGVtLmg6IHByZXNlbnQgYnV0IGNhbm5vdCBiZSBjb21waWxlZCIgPiY1CistZWNobyAiJGFzX21lOiBXQVJOSU5HOiBtbXN5c3RlbS5oOiBwcmVzZW50IGJ1dCBjYW5ub3QgYmUgY29tcGlsZWQiID4mMjt9CistICAgIHsgZWNobyAiJGFzX21lOiRMSU5FTk86IFdBUk5JTkc6IG1tc3lzdGVtLmg6IGNoZWNrIGZvciBtaXNzaW5nIHByZXJlcXVpc2l0ZSBoZWFkZXJzPyIgPiY1CistZWNobyAiJGFzX21lOiBXQVJOSU5HOiBtbXN5c3RlbS5oOiBjaGVjayBmb3IgbWlzc2luZyBwcmVyZXF1aXNpdGUgaGVhZGVycz8iID4mMjt9CistICAgIHsgZWNobyAiJGFzX21lOiRMSU5FTk86IFdBUk5JTkc6IG1tc3lzdGVtLmg6IHByb2NlZWRpbmcgd2l0aCB0aGUgcHJlcHJvY2Vzc29yJ3MgcmVzdWx0IiA+JjUKKy1lY2hvICIkYXNfbWU6IFdBUk5JTkc6IG1tc3lzdGVtLmg6IHByb2NlZWRpbmcgd2l0aCB0aGUgcHJlcHJvY2Vzc29yJ3MgcmVzdWx0IiA+JjI7fQorLSAgICAoCistICAgICAgY2F0IDw8XF9BU0JPWAorLSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIworLSMjIFJlcG9ydCB0aGlzIHRvIGJ1Zy1hdXRvY29uZkBnbnUub3JnLiAjIworLSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIworLV9BU0JPWAorLSAgICApIHwKKy0gICAgICBzZWQgInMvXi8kYXNfbWU6IFdBUk5JTkc6ICAgICAvIiA+JjIKKy0gICAgOzsKKy1lc2FjCistZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciBtbXN5c3RlbS5oIiA+JjUKKy1lY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciBtbXN5c3RlbS5oLi4uICRFQ0hPX0MiID4mNgorLWlmIHRlc3QgIiR7YWNfY3ZfaGVhZGVyX21tc3lzdGVtX2grc2V0fSIgPSBzZXQ7IHRoZW4KKy0gIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CisrYWNfc2FmZT1gZWNobyAibW1zeXN0ZW0uaCIgfCBzZWQgJ3klLi8rLSVfX3BfJSdgCisrZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIG1tc3lzdGVtLmgiIi4uLiAkYWNfYyIgMT4mNgorK2VjaG8gImNvbmZpZ3VyZToxNTMwOiBjaGVja2luZyBmb3IgbW1zeXN0ZW0uaCIgPiY1CisraWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2hlYWRlcl8kYWNfc2FmZScrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisrICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKy0gIGFjX2N2X2hlYWRlcl9tbXN5c3RlbV9oPSRhY19oZWFkZXJfcHJlcHJvYworKyAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorKyNsaW5lIDE1MzUgImNvbmZpZ3VyZSIKKysjaW5jbHVkZSAiY29uZmRlZnMuaCIKKysjaW5jbHVkZSA8bW1zeXN0ZW0uaD4KKytFT0YKKythY190cnk9IiRhY19jcHAgY29uZnRlc3QuJGFjX2V4dCA+L2Rldi9udWxsIDI+Y29uZnRlc3Qub3V0IgorK3sgKGV2YWwgZWNobyBjb25maWd1cmU6MTU0MDogXCIkYWNfdHJ5XCIpIDE+JjU7IChldmFsICRhY190cnkpIDI+JjU7IH0KKythY19lcnI9YGdyZXAgLXYgJ14gKisnIGNvbmZ0ZXN0Lm91dCB8IGdyZXAgLXYgIl5jb25mdGVzdC4ke2FjX2V4dH1cJCJgCisraWYgdGVzdCAteiAiJGFjX2VyciI7IHRoZW4KKysgIHJtIC1yZiBjb25mdGVzdCoKKysgIGV2YWwgImFjX2N2X2hlYWRlcl8kYWNfc2FmZT15ZXMiCisrZWxzZQorKyAgZWNobyAiJGFjX2VyciIgPiY1CisrICBlY2hvICJjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorKyAgY2F0IGNvbmZ0ZXN0LiRhY19leHQgPiY1CisrICBybSAtcmYgY29uZnRlc3QqCisrICBldmFsICJhY19jdl9oZWFkZXJfJGFjX3NhZmU9bm8iCisgZmkKKy1lY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkYWNfY3ZfaGVhZGVyX21tc3lzdGVtX2giID4mNQorLWVjaG8gIiR7RUNIT19UfSRhY19jdl9oZWFkZXJfbW1zeXN0ZW1faCIgPiY2CistCisrcm0gLWYgY29uZnRlc3QqCisgZmkKKy1pZiB0ZXN0ICRhY19jdl9oZWFkZXJfbW1zeXN0ZW1faCA9IHllczsgdGhlbgorK2lmIGV2YWwgInRlc3QgXCJgZWNobyAnJGFjX2N2X2hlYWRlcl8nJGFjX3NhZmVgXCIgPSB5ZXMiOyB0aGVuCisrICBlY2hvICIkYWNfdCIieWVzIiAxPiY2CisgICBBVURJT0RSSVZFUj0id2luY2UiCisgCSAgICAgICBBVURJT0RFRlM9LURDU1RfQVVESU9fV0lOQ0UKKyAJICAgICAgIEFVRElPTElCUz0tbHdpbm1tCisrZWxzZQorKyAgZWNobyAiJGFjX3QiIm5vIiAxPiY2CisgZmkKKyAKKyAKKy0KKy0KKyAjIENoZWNrIHdoZXRoZXIgLS13aXRoLWF1ZGlvIG9yIC0td2l0aG91dC1hdWRpbyB3YXMgZ2l2ZW4uCisgaWYgdGVzdCAiJHt3aXRoX2F1ZGlvK3NldH0iID0gc2V0OyB0aGVuCisgICB3aXRodmFsPSIkd2l0aF9hdWRpbyIKKy0gIEFVRElPRFJJVkVSPSR3aXRoX2F1ZGlvCistZmk7CisrICBBVURJT0RSSVZFUj0kd2l0aF9hdWRpbyAKKytmaQorIAorKworIGlmIHRlc3QgIngkQVVESU9ERUZTIiA9IHg7IHRoZW4KKyAgICAgY2FzZSAiJEFVRElPRFJJVkVSIiBpbgorIAlsaW51eHxvc3MpCitAQCAtNDAwNiwzNCArMTU5NSwzNCBAQAorIAorIAorIAorLQorICMgQ2hlY2sgd2hldGhlciAtLXdpdGgtbGFuZyBvciAtLXdpdGhvdXQtbGFuZyB3YXMgZ2l2ZW4uCisgaWYgdGVzdCAiJHt3aXRoX2xhbmcrc2V0fSIgPSBzZXQ7IHRoZW4KKyAgIHdpdGh2YWw9IiR3aXRoX2xhbmciCistICBGTF9MQU5HPSR3aXRoX2xhbmcKKy1maTsKKysgIEZMX0xBTkc9JHdpdGhfbGFuZyAKKytmaQorKworIGlmIHRlc3QgIngkd2l0aF9sYW5nIiA9ICJ4IjsgdGhlbgorICAgICAgICAgRkxfTEFORz0idXNlbmdsaXNoIgorIGZpCisgCisgCistCisgIyBDaGVjayB3aGV0aGVyIC0td2l0aC12b3ggb3IgLS13aXRob3V0LXZveCB3YXMgZ2l2ZW4uCisgaWYgdGVzdCAiJHt3aXRoX3ZveCtzZXR9IiA9IHNldDsgdGhlbgorICAgd2l0aHZhbD0iJHdpdGhfdm94IgorLSAgRkxfVk9YPSR3aXRoX3ZveAorLWZpOworKyAgRkxfVk9YPSR3aXRoX3ZveCAKKytmaQorKworIGlmIHRlc3QgIngkd2l0aF92b3giID0gIngiOyB0aGVuCisgICAgICAgICBGTF9WT1g9ImNtdV91c19rYWwiCisgZmkKKyAKKyAKKy0KKyAjIENoZWNrIHdoZXRoZXIgLS13aXRoLWxleCBvciAtLXdpdGhvdXQtbGV4IHdhcyBnaXZlbi4KKyBpZiB0ZXN0ICIke3dpdGhfbGV4K3NldH0iID0gc2V0OyB0aGVuCisgICB3aXRodmFsPSIkd2l0aF9sZXgiCistICBGTF9MRVg9JHdpdGhfbGV4CistZmk7CisrICBGTF9MRVg9JHdpdGhfbGV4IAorK2ZpCisrCisgaWYgdGVzdCAieCR3aXRoX2xleCIgPSAieCI7IHRoZW4KKyAgICAgICAgIEZMX0xFWD0iY211bGV4IgorIGZpCitAQCAtNDA0MSw5MjEgKzE2MzAsMzAwIEBACisgCisgCisgCistICAgICAgICAgICAgICAgICAgICBhY19jb25maWdfZmlsZXM9IiRhY19jb25maWdfZmlsZXMgY29uZmlnL2NvbmZpZyBjb25maWcvc3lzdGVtLm1hayIKKy1jYXQgPmNvbmZjYWNoZSA8PFxfQUNFT0YKKyt0cmFwICcnIDEgMiAxNQorK2NhdCA+IGNvbmZjYWNoZSA8PFxFT0YKKyAjIFRoaXMgZmlsZSBpcyBhIHNoZWxsIHNjcmlwdCB0aGF0IGNhY2hlcyB0aGUgcmVzdWx0cyBvZiBjb25maWd1cmUKKyAjIHRlc3RzIHJ1biBvbiB0aGlzIHN5c3RlbSBzbyB0aGV5IGNhbiBiZSBzaGFyZWQgYmV0d2VlbiBjb25maWd1cmUKKy0jIHNjcmlwdHMgYW5kIGNvbmZpZ3VyZSBydW5zLCBzZWUgY29uZmlndXJlJ3Mgb3B0aW9uIC0tY29uZmlnLWNhY2hlLgorLSMgSXQgaXMgbm90IHVzZWZ1bCBvbiBvdGhlciBzeXN0ZW1zLiAgSWYgaXQgY29udGFpbnMgcmVzdWx0cyB5b3UgZG9uJ3QKKy0jIHdhbnQgdG8ga2VlcCwgeW91IG1heSByZW1vdmUgb3IgZWRpdCBpdC4KKysjIHNjcmlwdHMgYW5kIGNvbmZpZ3VyZSBydW5zLiAgSXQgaXMgbm90IHVzZWZ1bCBvbiBvdGhlciBzeXN0ZW1zLgorKyMgSWYgaXQgY29udGFpbnMgcmVzdWx0cyB5b3UgZG9uJ3Qgd2FudCB0byBrZWVwLCB5b3UgbWF5IHJlbW92ZSBvciBlZGl0IGl0LgorICMKKy0jIGNvbmZpZy5zdGF0dXMgb25seSBwYXlzIGF0dGVudGlvbiB0byB0aGUgY2FjaGUgZmlsZSBpZiB5b3UgZ2l2ZSBpdAorLSMgdGhlIC0tcmVjaGVjayBvcHRpb24gdG8gcmVydW4gY29uZmlndXJlLgorKyMgQnkgZGVmYXVsdCwgY29uZmlndXJlIHVzZXMgLi9jb25maWcuY2FjaGUgYXMgdGhlIGNhY2hlIGZpbGUsCisrIyBjcmVhdGluZyBpdCBpZiBpdCBkb2VzIG5vdCBleGlzdCBhbHJlYWR5LiAgWW91IGNhbiBnaXZlIGNvbmZpZ3VyZQorKyMgdGhlIC0tY2FjaGUtZmlsZT1GSUxFIG9wdGlvbiB0byB1c2UgYSBkaWZmZXJlbnQgY2FjaGUgZmlsZTsgdGhhdCBpcworKyMgd2hhdCBjb25maWd1cmUgZG9lcyB3aGVuIGl0IGNhbGxzIGNvbmZpZ3VyZSBzY3JpcHRzIGluCisrIyBzdWJkaXJlY3Rvcmllcywgc28gdGhleSBzaGFyZSB0aGUgY2FjaGUuCisrIyBHaXZpbmcgLS1jYWNoZS1maWxlPS9kZXYvbnVsbCBkaXNhYmxlcyBjYWNoaW5nLCBmb3IgZGVidWdnaW5nIGNvbmZpZ3VyZS4KKysjIGNvbmZpZy5zdGF0dXMgb25seSBwYXlzIGF0dGVudGlvbiB0byB0aGUgY2FjaGUgZmlsZSBpZiB5b3UgZ2l2ZSBpdCB0aGUKKysjIC0tcmVjaGVjayBvcHRpb24gdG8gcmVydW4gY29uZmlndXJlLgorICMKKy0jIGBhY19jdl9lbnZfZm9vJyB2YXJpYWJsZXMgKHNldCBvciB1bnNldCkgd2lsbCBiZSBvdmVycmlkZGVuIHdoZW4KKy0jIGxvYWRpbmcgdGhpcyBmaWxlLCBvdGhlciAqdW5zZXQqIGBhY19jdl9mb28nIHdpbGwgYmUgYXNzaWduZWQgdGhlCistIyBmb2xsb3dpbmcgdmFsdWVzLgorLQorLV9BQ0VPRgorLQorK0VPRgorICMgVGhlIGZvbGxvd2luZyB3YXkgb2Ygd3JpdGluZyB0aGUgY2FjaGUgbWlzaGFuZGxlcyBuZXdsaW5lcyBpbiB2YWx1ZXMsCisgIyBidXQgd2Uga25vdyBvZiBubyB3b3JrYXJvdW5kIHRoYXQgaXMgc2ltcGxlLCBwb3J0YWJsZSwgYW5kIGVmZmljaWVudC4KKyAjIFNvLCBkb24ndCBwdXQgbmV3bGluZXMgaW4gY2FjaGUgdmFyaWFibGVzJyB2YWx1ZXMuCisgIyBVbHRyaXggc2ggc2V0IHdyaXRlcyB0byBzdGRlcnIgYW5kIGNhbid0IGJlIHJlZGlyZWN0ZWQgZGlyZWN0bHksCisgIyBhbmQgc2V0cyB0aGUgaGlnaCBiaXQgaW4gdGhlIGNhY2hlIGZpbGUgdW5sZXNzIHdlIGFzc2lnbiB0byB0aGUgdmFycy4KKy17CistICAoc2V0KSAyPiYxIHwKKy0gICAgY2FzZSBgKGFjX3NwYWNlPScgJzsgc2V0IHwgZ3JlcCBhY19zcGFjZSkgMj4mMWAgaW4KKy0gICAgKmFjX3NwYWNlPVwgKikKKy0gICAgICAjIGBzZXQnIGRvZXMgbm90IHF1b3RlIGNvcnJlY3RseSwgc28gYWRkIHF1b3RlcyAoZG91YmxlLXF1b3RlCistICAgICAgIyBzdWJzdGl0dXRpb24gdHVybnMgXFxcXCBpbnRvIFxcLCBhbmQgc2VkIHR1cm5zIFxcIGludG8gXCkuCistICAgICAgc2VkIC1uIFwKKy0gICAgICAgICJzLycvJ1xcXFwnJy9nOworLSAgICAJICBzL15cXChbXyRhc19jcl9hbG51bV0qX2N2X1tfJGFzX2NyX2FsbnVtXSpcXCk9XFwoLipcXCkvXFwxPSdcXDInL3AiCistICAgICAgOzsKKy0gICAgKikKKy0gICAgICAjIGBzZXQnIHF1b3RlcyBjb3JyZWN0bHkgYXMgcmVxdWlyZWQgYnkgUE9TSVgsIHNvIGRvIG5vdCBhZGQgcXVvdGVzLgorLSAgICAgIHNlZCAtbiBcCistICAgICAgICAicy9eXFwoW18kYXNfY3JfYWxudW1dKl9jdl9bXyRhc19jcl9hbG51bV0qXFwpPVxcKC4qXFwpL1xcMT1cXDIvcCIKKy0gICAgICA7OworLSAgICBlc2FjOworLX0gfAorLSAgc2VkICcKKy0gICAgIHQgY2xlYXIKKy0gICAgIDogY2xlYXIKKy0gICAgIHMvXlwoW149XSpcKT1cKC4qW3t9XS4qXCkkL3Rlc3QgIiR7XDErc2V0fSIgPSBzZXQgfHwgJi8KKy0gICAgIHQgZW5kCistICAgICAvXmFjX2N2X2Vudi8hcy9eXChbXj1dKlwpPVwoLipcKSQvXDE9JHtcMT1cMn0vCistICAgICA6IGVuZCcgPj5jb25mY2FjaGUKKy1pZiBkaWZmICRjYWNoZV9maWxlIGNvbmZjYWNoZSA+L2Rldi9udWxsIDI+JjE7IHRoZW4gOjsgZWxzZQorKyhzZXQpIDI+JjEgfAorKyAgY2FzZSBgKGFjX3NwYWNlPScgJzsgc2V0IHwgZ3JlcCBhY19zcGFjZSkgMj4mMWAgaW4KKysgICphY19zcGFjZT1cICopCisrICAgICMgYHNldCcgZG9lcyBub3QgcXVvdGUgY29ycmVjdGx5LCBzbyBhZGQgcXVvdGVzIChkb3VibGUtcXVvdGUgc3Vic3RpdHV0aW9uCisrICAgICMgdHVybnMgXFxcXCBpbnRvIFxcLCBhbmQgc2VkIHR1cm5zIFxcIGludG8gXCkuCisrICAgIHNlZCAtbiBcCisrICAgICAgLWUgInMvJy8nXFxcXCcnL2ciIFwKKysgICAgICAtZSAicy9eXFwoW2EtekEtWjAtOV9dKl9jdl9bYS16QS1aMC05X10qXFwpPVxcKC4qXFwpL1xcMT1cJHtcXDE9J1xcMid9L3AiCisrICAgIDs7CisrICAqKQorKyAgICAjIGBzZXQnIHF1b3RlcyBjb3JyZWN0bHkgYXMgcmVxdWlyZWQgYnkgUE9TSVgsIHNvIGRvIG5vdCBhZGQgcXVvdGVzLgorKyAgICBzZWQgLW4gLWUgJ3MvXlwoW2EtekEtWjAtOV9dKl9jdl9bYS16QS1aMC05X10qXCk9XCguKlwpL1wxPSR7XDE9XDJ9L3AnCisrICAgIDs7CisrICBlc2FjID4+IGNvbmZjYWNoZQorK2lmIGNtcCAtcyAkY2FjaGVfZmlsZSBjb25mY2FjaGU7IHRoZW4KKysgIDoKKytlbHNlCisgICBpZiB0ZXN0IC13ICRjYWNoZV9maWxlOyB0aGVuCistICAgIHRlc3QgIngkY2FjaGVfZmlsZSIgIT0gIngvZGV2L251bGwiICYmIGVjaG8gInVwZGF0aW5nIGNhY2hlICRjYWNoZV9maWxlIgorLSAgICBjYXQgY29uZmNhY2hlID4kY2FjaGVfZmlsZQorKyAgICBlY2hvICJ1cGRhdGluZyBjYWNoZSAkY2FjaGVfZmlsZSIKKysgICAgY2F0IGNvbmZjYWNoZSA+ICRjYWNoZV9maWxlCisgICBlbHNlCisgICAgIGVjaG8gIm5vdCB1cGRhdGluZyB1bndyaXRhYmxlIGNhY2hlICRjYWNoZV9maWxlIgorICAgZmkKKyBmaQorIHJtIC1mIGNvbmZjYWNoZQorIAorK3RyYXAgJ3JtIC1mciBjb25mdGVzdCogY29uZmRlZnMqIGNvcmUgY29yZS4qICouY29yZSAkYWNfY2xlYW5fZmlsZXM7IGV4aXQgMScgMSAyIDE1CisrCisgdGVzdCAieCRwcmVmaXgiID0geE5PTkUgJiYgcHJlZml4PSRhY19kZWZhdWx0X3ByZWZpeAorICMgTGV0IG1ha2UgZXhwYW5kIGV4ZWNfcHJlZml4LgorIHRlc3QgIngkZXhlY19wcmVmaXgiID0geE5PTkUgJiYgZXhlY19wcmVmaXg9JyR7cHJlZml4fScKKyAKKy0jIFZQQVRIIG1heSBjYXVzZSB0cm91YmxlIHdpdGggc29tZSBtYWtlcywgc28gd2UgcmVtb3ZlICQoc3JjZGlyKSwKKy0jICR7c3JjZGlyfSBhbmQgQHNyY2RpckAgZnJvbSBWUEFUSCBpZiBzcmNkaXIgaXMgIi4iLCBzdHJpcCBsZWFkaW5nIGFuZAorLSMgdHJhaWxpbmcgY29sb25zIGFuZCB0aGVuIHJlbW92ZSB0aGUgd2hvbGUgbGluZSBpZiBWUEFUSCBiZWNvbWVzIGVtcHR5CistIyAoYWN0dWFsbHkgd2UgbGVhdmUgYW4gZW1wdHkgbGluZSB0byBwcmVzZXJ2ZSBsaW5lIG51bWJlcnMpLgorKyMgQW55IGFzc2lnbm1lbnQgdG8gVlBBVEggY2F1c2VzIFN1biBtYWtlIHRvIG9ubHkgZXhlY3V0ZQorKyMgdGhlIGZpcnN0IHNldCBvZiBkb3VibGUtY29sb24gcnVsZXMsIHNvIHJlbW92ZSBpdCBpZiBub3QgbmVlZGVkLgorKyMgSWYgdGhlcmUgaXMgYSBjb2xvbiBpbiB0aGUgcGF0aCwgd2UgbmVlZCB0byBrZWVwIGl0LgorIGlmIHRlc3QgIngkc3JjZGlyIiA9IHguOyB0aGVuCistICBhY192cHN1Yj0nL15bIAldKlZQQVRIWyAJXSo9L3sKKy1zLzoqXCQoc3JjZGlyKToqLzovOworLXMvOipcJHtzcmNkaXJ9OiovOi87Cistcy86KkBzcmNkaXJAOiovOi87Cistcy9eXChbXj1dKj1bIAldKlwpOiovXDEvOworLXMvOiokLy87Cistcy9eW149XSo9WyAJXSokLy87CistfScKKysgIGFjX3Zwc3ViPScvXlsgCV0qVlBBVEhbIAldKj1bXjpdKiQvZCcKKyBmaQorIAorK3RyYXAgJ3JtIC1mICRDT05GSUdfU1RBVFVTIGNvbmZ0ZXN0KjsgZXhpdCAxJyAxIDIgMTUKKysKKyAjIFRyYW5zZm9ybSBjb25mZGVmcy5oIGludG8gREVGUy4KKyAjIFByb3RlY3QgYWdhaW5zdCBzaGVsbCBleHBhbnNpb24gd2hpbGUgZXhlY3V0aW5nIE1ha2VmaWxlIHJ1bGVzLgorICMgUHJvdGVjdCBhZ2FpbnN0IE1ha2VmaWxlIG1hY3JvIGV4cGFuc2lvbi4KKy0jCistIyBJZiB0aGUgZmlyc3Qgc2VkIHN1YnN0aXR1dGlvbiBpcyBleGVjdXRlZCAod2hpY2ggbG9va3MgZm9yIG1hY3JvcyB0aGF0CistIyB0YWtlIGFyZ3VtZW50cyksIHRoZW4gd2UgYnJhbmNoIHRvIHRoZSBxdW90ZSBzZWN0aW9uLiAgT3RoZXJ3aXNlLAorLSMgbG9vayBmb3IgYSBtYWNybyB0aGF0IGRvZXNuJ3QgdGFrZSBhcmd1bWVudHMuCistY2F0ID5jb25mZGVmMm9wdC5zZWQgPDxcX0FDRU9GCistdCBjbGVhcgorLTogY2xlYXIKKy1zLF5bIAldKiNbIAldKmRlZmluZVsgCV1bIAldKlwoW14gCShdW14gCShdKihbXildKilcKVsgCV0qXCguKlwpLC1EXDE9XDIsZworLXQgcXVvdGUKKy1zLF5bIAldKiNbIAldKmRlZmluZVsgCV1bIAldKlwoW14gCV1bXiAJXSpcKVsgCV0qXCguKlwpLC1EXDE9XDIsZworLXQgcXVvdGUKKy1kCistOiBxdW90ZQorLXMsWyAJYH4jJF4mKigpe31cXHw7JyI8Pj9dLFxcJixnCistcyxcWyxcXCYsZworLXMsXF0sXFwmLGcKKy1zLFwkLCQkLGcKKy1wCistX0FDRU9GCistIyBXZSB1c2UgZWNobyB0byBhdm9pZCBhc3N1bWluZyBhIHBhcnRpY3VsYXIgbGluZS1icmVha2luZyBjaGFyYWN0ZXIuCistIyBUaGUgZXh0cmEgZG90IGlzIHRvIHByZXZlbnQgdGhlIHNoZWxsIGZyb20gY29uc3VtaW5nIHRyYWlsaW5nCistIyBsaW5lLWJyZWFrcyBmcm9tIHRoZSBzdWItY29tbWFuZCBvdXRwdXQuICBBIGxpbmUtYnJlYWsgd2l0aGluCistIyBzaW5nbGUtcXVvdGVzIGRvZXNuJ3Qgd29yayBiZWNhdXNlLCBpZiB0aGlzIHNjcmlwdCBpcyBjcmVhdGVkIGluIGEKKy0jIHBsYXRmb3JtIHRoYXQgdXNlcyB0d28gY2hhcmFjdGVycyBmb3IgbGluZS1icmVha3MgKGUuZy4sIERPUyksIHRyCistIyB3b3VsZCBicmVhay4KKy1hY19MRl9hbmRfRE9UPWBlY2hvOyBlY2hvIC5gCistREVGUz1gc2VkIC1uIC1mIGNvbmZkZWYyb3B0LnNlZCBjb25mZGVmcy5oIHwgdHIgIiRhY19MRl9hbmRfRE9UIiAnIC4nYAorLXJtIC1mIGNvbmZkZWYyb3B0LnNlZAorK2NhdCA+IGNvbmZ0ZXN0LmRlZnMgPDxcRU9GCisrcyUjZGVmaW5lIFwoW0EtWmEtel9dW0EtWmEtejAtOV9dKlwpICpcKC4qXCklLURcMT1cMiVnCisrcyVbIAlgfiMkXiYqKCl7fVxcfDsnIjw+P10lXFwmJWcKKytzJVxbJVxcJiVnCisrcyVcXSVcXCYlZworK3MlXCQlJCQlZworK0VPRgorK0RFRlM9YHNlZCAtZiBjb25mdGVzdC5kZWZzIGNvbmZkZWZzLmggfCB0ciAnXDAxMicgJyAnYAorK3JtIC1mIGNvbmZ0ZXN0LmRlZnMKKyAKKyAKKy1hY19saWJvYmpzPQorLWFjX2x0bGlib2Jqcz0KKy1mb3IgYWNfaSBpbiA6ICRMSUJPQkpTOyBkbyB0ZXN0ICJ4JGFjX2kiID0geDogJiYgY29udGludWUKKy0gICMgMS4gUmVtb3ZlIHRoZSBleHRlbnNpb24sIGFuZCAkVSBpZiBhbHJlYWR5IGluc3RhbGxlZC4KKy0gIGFjX2k9YGVjaG8gIiRhY19pIiB8CistICAgICAgICAgc2VkICdzL1wkVVwuLy4vO3MvXC5vJC8vO3MvXC5vYmokLy8nYAorLSAgIyAyLiBBZGQgdGhlbS4KKy0gIGFjX2xpYm9ianM9IiRhY19saWJvYmpzICRhY19pXCRVLiRhY19vYmpleHQiCistICBhY19sdGxpYm9ianM9IiRhY19sdGxpYm9ianMgJGFjX2kiJyRVLmxvJworLWRvbmUKKy1MSUJPQkpTPSRhY19saWJvYmpzCistCistTFRMSUJPQkpTPSRhY19sdGxpYm9ianMKKy0KKy0KKy0KKysjIFdpdGhvdXQgdGhlICIuLyIsIHNvbWUgc2hlbGxzIGxvb2sgaW4gUEFUSCBmb3IgY29uZmlnLnN0YXR1cy4KKyA6ICR7Q09ORklHX1NUQVRVUz0uL2NvbmZpZy5zdGF0dXN9CistYWNfY2xlYW5fZmlsZXNfc2F2ZT0kYWNfY2xlYW5fZmlsZXMKKy1hY19jbGVhbl9maWxlcz0iJGFjX2NsZWFuX2ZpbGVzICRDT05GSUdfU1RBVFVTIgorLXsgZWNobyAiJGFzX21lOiRMSU5FTk86IGNyZWF0aW5nICRDT05GSUdfU1RBVFVTIiA+JjUKKy1lY2hvICIkYXNfbWU6IGNyZWF0aW5nICRDT05GSUdfU1RBVFVTIiA+JjY7fQorLWNhdCA+JENPTkZJR19TVEFUVVMgPDxfQUNFT0YKKy0jISAkU0hFTEwKKy0jIEdlbmVyYXRlZCBieSAkYXNfbWUuCisrCisrZWNobyBjcmVhdGluZyAkQ09ORklHX1NUQVRVUworK3JtIC1mICRDT05GSUdfU1RBVFVTCisrY2F0ID4gJENPTkZJR19TVEFUVVMgPDxFT0YKKysjISAvYmluL3NoCisrIyBHZW5lcmF0ZWQgYXV0b21hdGljYWxseSBieSBjb25maWd1cmUuCisgIyBSdW4gdGhpcyBmaWxlIHRvIHJlY3JlYXRlIHRoZSBjdXJyZW50IGNvbmZpZ3VyYXRpb24uCisrIyBUaGlzIGRpcmVjdG9yeSB3YXMgY29uZmlndXJlZCBhcyBmb2xsb3dzLAorKyMgb24gaG9zdCBgKGhvc3RuYW1lIHx8IHVuYW1lIC1uKSAyPi9kZXYvbnVsbCB8IHNlZCAxcWA6CisrIworKyMgJDAgJGFjX2NvbmZpZ3VyZV9hcmdzCisrIworICMgQ29tcGlsZXIgb3V0cHV0IHByb2R1Y2VkIGJ5IGNvbmZpZ3VyZSwgdXNlZnVsIGZvciBkZWJ1Z2dpbmcKKy0jIGNvbmZpZ3VyZSwgaXMgaW4gY29uZmlnLmxvZyBpZiBpdCBleGlzdHMuCisrIyBjb25maWd1cmUsIGlzIGluIC4vY29uZmlnLmxvZyBpZiBpdCBleGlzdHMuCisgCistZGVidWc9ZmFsc2UKKy1hY19jc19yZWNoZWNrPWZhbHNlCistYWNfY3Nfc2lsZW50PWZhbHNlCistU0hFTEw9XCR7Q09ORklHX1NIRUxMLSRTSEVMTH0KKy1fQUNFT0YKKy0KKy1jYXQgPj4kQ09ORklHX1NUQVRVUyA8PFxfQUNFT0YKKy0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKKy0jIyBNNHNoIEluaXRpYWxpemF0aW9uLiAgIyMKKy0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKKy0KKy0jIEJlIEJvdXJuZSBjb21wYXRpYmxlCistaWYgdGVzdCAtbiAiJHtaU0hfVkVSU0lPTitzZXR9IiAmJiAoZW11bGF0ZSBzaCkgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCistICBlbXVsYXRlIHNoCistICBOVUxMQ01EPToKKy0gICMgWnNoIDMueCBhbmQgNC54IHBlcmZvcm1zIHdvcmQgc3BsaXR0aW5nIG9uICR7MSsiJEAifSwgd2hpY2gKKy0gICMgaXMgY29udHJhcnkgdG8gb3VyIHVzYWdlLiAgRGlzYWJsZSB0aGlzIGZlYXR1cmUuCistICBhbGlhcyAtZyAnJHsxKyIkQCJ9Jz0nIiRAIicKKy1lbGlmIHRlc3QgLW4gIiR7QkFTSF9WRVJTSU9OK3NldH0iICYmIChzZXQgLW8gcG9zaXgpID4vZGV2L251bGwgMj4mMTsgdGhlbgorLSAgc2V0IC1vIHBvc2l4CistZmkKKy0KKy0jIFN1cHBvcnQgdW5zZXQgd2hlbiBwb3NzaWJsZS4KKy1pZiAoRk9PPUZPTzsgdW5zZXQgRk9PKSA+L2Rldi9udWxsIDI+JjE7IHRoZW4KKy0gIGFzX3Vuc2V0PXVuc2V0CistZWxzZQorLSAgYXNfdW5zZXQ9ZmFsc2UKKy1maQorLQorLQorLSMgV29yayBhcm91bmQgYnVncyBpbiBwcmUtMy4wIFVXSU4ga3NoLgorLSRhc191bnNldCBFTlYgTUFJTCBNQUlMUEFUSAorLVBTMT0nJCAnCistUFMyPSc+ICcKKy1QUzQ9JysgJworLQorLSMgTkxTIG51aXNhbmNlcy4KKy1mb3IgYXNfdmFyIGluIFwKKy0gIExBTkcgTEFOR1VBR0UgTENfQUREUkVTUyBMQ19BTEwgTENfQ09MTEFURSBMQ19DVFlQRSBMQ19JREVOVElGSUNBVElPTiBcCistICBMQ19NRUFTVVJFTUVOVCBMQ19NRVNTQUdFUyBMQ19NT05FVEFSWSBMQ19OQU1FIExDX05VTUVSSUMgTENfUEFQRVIgXAorLSAgTENfVEVMRVBIT05FIExDX1RJTUUKKythY19jc191c2FnZT0iVXNhZ2U6ICRDT05GSUdfU1RBVFVTIFstLXJlY2hlY2tdIFstLXZlcnNpb25dIFstLWhlbHBdIgorK2ZvciBhY19vcHRpb24KKyBkbworLSAgaWYgKHNldCAreDsgdGVzdCAtbiAiYChldmFsICRhc192YXI9QzsgZXhwb3J0ICRhc192YXIpIDI+JjFgIik7IHRoZW4KKy0gICAgZXZhbCAkYXNfdmFyPUM7IGV4cG9ydCAkYXNfdmFyCistICBlbHNlCistICAgICRhc191bnNldCAkYXNfdmFyCistICBmaQorKyAgY2FzZSAiXCRhY19vcHRpb24iIGluCisrICAtcmVjaGVjayB8IC0tcmVjaGVjayB8IC0tcmVjaGVjIHwgLS1yZWNoZSB8IC0tcmVjaCB8IC0tcmVjIHwgLS1yZSB8IC0tcikKKysgICAgZWNobyAicnVubmluZyBcJHtDT05GSUdfU0hFTEwtL2Jpbi9zaH0gJDAgJGFjX2NvbmZpZ3VyZV9hcmdzIC0tbm8tY3JlYXRlIC0tbm8tcmVjdXJzaW9uIgorKyAgICBleGVjIFwke0NPTkZJR19TSEVMTC0vYmluL3NofSAkMCAkYWNfY29uZmlndXJlX2FyZ3MgLS1uby1jcmVhdGUgLS1uby1yZWN1cnNpb24gOzsKKysgIC12ZXJzaW9uIHwgLS12ZXJzaW9uIHwgLS12ZXJzaW8gfCAtLXZlcnNpIHwgLS12ZXJzIHwgLS12ZXIgfCAtLXZlIHwgLS12KQorKyAgICBlY2hvICIkQ09ORklHX1NUQVRVUyBnZW5lcmF0ZWQgYnkgYXV0b2NvbmYgdmVyc2lvbiAyLjEzIgorKyAgICBleGl0IDAgOzsKKysgIC1oZWxwIHwgLS1oZWxwIHwgLS1oZWwgfCAtLWhlIHwgLS1oKQorKyAgICBlY2hvICJcJGFjX2NzX3VzYWdlIjsgZXhpdCAwIDs7CisrICAqKSBlY2hvICJcJGFjX2NzX3VzYWdlIjsgZXhpdCAxIDs7CisrICBlc2FjCisgZG9uZQorIAorLSMgUmVxdWlyZWQgdG8gdXNlIGJhc2VuYW1lLgorLWlmIGV4cHIgYSA6ICdcKGFcKScgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCistICBhc19leHByPWV4cHIKKy1lbHNlCistICBhc19leHByPWZhbHNlCistZmkKKythY19naXZlbl9zcmNkaXI9JHNyY2RpcgorK2FjX2dpdmVuX0lOU1RBTEw9IiRJTlNUQUxMIgorIAorLWlmIChiYXNlbmFtZSAvKSA+L2Rldi9udWxsIDI+JjEgJiYgdGVzdCAiWGBiYXNlbmFtZSAvIDI+JjFgIiA9ICJYLyI7IHRoZW4KKy0gIGFzX2Jhc2VuYW1lPWJhc2VuYW1lCistZWxzZQorLSAgYXNfYmFzZW5hbWU9ZmFsc2UKKy1maQorK3RyYXAgJ3JtIC1mciBgZWNobyAiY29uZmlnL2NvbmZpZyBjb25maWcvc3lzdGVtLm1hayIgfCBzZWQgInMvOlteIF0qLy9nImAgY29uZnRlc3QqOyBleGl0IDEnIDEgMiAxNQorK0VPRgorK2NhdCA+PiAkQ09ORklHX1NUQVRVUyA8PEVPRgorIAorKyMgUHJvdGVjdCBhZ2FpbnN0IGJlaW5nIG9uIHRoZSByaWdodCBzaWRlIG9mIGEgc2VkIHN1YnN0IGluIGNvbmZpZy5zdGF0dXMuCisrc2VkICdzLyVAL0BALzsgcy9AJS9AQC87IHMvJWdcJC9AZy87IC9AZ1wkL3MvW1xcXFwmJV0vXFxcXCYvZzsKKysgcy9AQC8lQC87IHMvQEAvQCUvOyBzL0BnXCQvJWcvJyA+IGNvbmZ0ZXN0LnN1YnMgPDxcXENFT0YKKyskYWNfdnBzdWIKKyskZXh0cmFzdWIKKytzJUBTSEVMTEAlJFNIRUxMJWcKKytzJUBDRkxBR1NAJSRDRkxBR1MlZworK3MlQENQUEZMQUdTQCUkQ1BQRkxBR1MlZworK3MlQENYWEZMQUdTQCUkQ1hYRkxBR1MlZworK3MlQEZGTEFHU0AlJEZGTEFHUyVnCisrcyVAREVGU0AlJERFRlMlZworK3MlQExERkxBR1NAJSRMREZMQUdTJWcKKytzJUBMSUJTQCUkTElCUyVnCisrcyVAZXhlY19wcmVmaXhAJSRleGVjX3ByZWZpeCVnCisrcyVAcHJlZml4QCUkcHJlZml4JWcKKytzJUBwcm9ncmFtX3RyYW5zZm9ybV9uYW1lQCUkcHJvZ3JhbV90cmFuc2Zvcm1fbmFtZSVnCisrcyVAYmluZGlyQCUkYmluZGlyJWcKKytzJUBzYmluZGlyQCUkc2JpbmRpciVnCisrcyVAbGliZXhlY2RpckAlJGxpYmV4ZWNkaXIlZworK3MlQGRhdGFkaXJAJSRkYXRhZGlyJWcKKytzJUBzeXNjb25mZGlyQCUkc3lzY29uZmRpciVnCisrcyVAc2hhcmVkc3RhdGVkaXJAJSRzaGFyZWRzdGF0ZWRpciVnCisrcyVAbG9jYWxzdGF0ZWRpckAlJGxvY2Fsc3RhdGVkaXIlZworK3MlQGxpYmRpckAlJGxpYmRpciVnCisrcyVAaW5jbHVkZWRpckAlJGluY2x1ZGVkaXIlZworK3MlQG9sZGluY2x1ZGVkaXJAJSRvbGRpbmNsdWRlZGlyJWcKKytzJUBpbmZvZGlyQCUkaW5mb2RpciVnCisrcyVAbWFuZGlyQCUkbWFuZGlyJWcKKytzJUBob3N0QCUkaG9zdCVnCisrcyVAaG9zdF9hbGlhc0AlJGhvc3RfYWxpYXMlZworK3MlQGhvc3RfY3B1QCUkaG9zdF9jcHUlZworK3MlQGhvc3RfdmVuZG9yQCUkaG9zdF92ZW5kb3IlZworK3MlQGhvc3Rfb3NAJSRob3N0X29zJWcKKytzJUB0YXJnZXRAJSR0YXJnZXQlZworK3MlQHRhcmdldF9hbGlhc0AlJHRhcmdldF9hbGlhcyVnCisrcyVAdGFyZ2V0X2NwdUAlJHRhcmdldF9jcHUlZworK3MlQHRhcmdldF92ZW5kb3JAJSR0YXJnZXRfdmVuZG9yJWcKKytzJUB0YXJnZXRfb3NAJSR0YXJnZXRfb3MlZworK3MlQGJ1aWxkQCUkYnVpbGQlZworK3MlQGJ1aWxkX2FsaWFzQCUkYnVpbGRfYWxpYXMlZworK3MlQGJ1aWxkX2NwdUAlJGJ1aWxkX2NwdSVnCisrcyVAYnVpbGRfdmVuZG9yQCUkYnVpbGRfdmVuZG9yJWcKKytzJUBidWlsZF9vc0AlJGJ1aWxkX29zJWcKKytzJUBDQ0AlJENDJWcKKytzJUBSQU5MSUJAJSRSQU5MSUIlZworK3MlQElOU1RBTExfUFJPR1JBTUAlJElOU1RBTExfUFJPR1JBTSVnCisrcyVASU5TVEFMTF9TQ1JJUFRAJSRJTlNUQUxMX1NDUklQVCVnCisrcyVASU5TVEFMTF9EQVRBQCUkSU5TVEFMTF9EQVRBJWcKKytzJUBBUkAlJEFSJWcKKytzJUBUQVJHRVRfT1NAJSRUQVJHRVRfT1MlZworK3MlQFRBUkdFVF9DUFVAJSRUQVJHRVRfQ1BVJWcKKytzJUBNNjhLQ0NAJSRNNjhLQ0MlZworK3MlQExFWERFRlNAJSRMRVhERUZTJWcKKytzJUBWT1hERUZTQCUkVk9YREVGUyVnCisrcyVASE9TVF9PU0AlJEhPU1RfT1MlZworK3MlQEhPU1RfQ1BVQCUkSE9TVF9DUFUlZworK3MlQE9USEVSTElCU0AlJE9USEVSTElCUyVnCisrcyVAU0hGTEFHU0AlJFNIRkxBR1MlZworK3MlQE1NQVBUWVBFQCUkTU1BUFRZUEUlZworK3MlQFNURElPVFlQRUAlJFNURElPVFlQRSVnCisrcyVAQ1BQQCUkQ1BQJWcKKytzJUBBVURJT0RSSVZFUkAlJEFVRElPRFJJVkVSJWcKKytzJUBBVURJT0RFRlNAJSRBVURJT0RFRlMlZworK3MlQEFVRElPTElCU0AlJEFVRElPTElCUyVnCisrcyVARkxfTEFOR0AlJEZMX0xBTkclZworK3MlQEZMX1ZPWEAlJEZMX1ZPWCVnCisrcyVARkxfTEVYQCUkRkxfTEVYJWcKKytzJUBFWEVFWFRAJSRFWEVFWFQlZworIAorLSMgTmFtZSBvZiB0aGUgZXhlY3V0YWJsZS4KKy1hc19tZT1gJGFzX2Jhc2VuYW1lICIkMCIgfHwKKy0kYXNfZXhwciBYLyIkMCIgOiAnLiovXChbXi9dW14vXSpcKS8qJCcgXHwgXAorLQkgWCIkMCIgOiAnWFwoLy9cKSQnIFx8IFwKKy0JIFgiJDAiIDogJ1hcKC9cKSQnIFx8IFwKKy0JIC4gICAgIDogJ1woLlwpJyAyPi9kZXYvbnVsbCB8fAorLWVjaG8gWC8iJDAiIHwKKy0gICAgc2VkICcvXi4qXC9cKFteL11bXi9dKlwpXC8qJC97IHMvL1wxLzsgcTsgfQorLSAgCSAgL15YXC9cKFwvXC9cKSQveyBzLy9cMS87IHE7IH0KKy0gIAkgIC9eWFwvXChcL1wpLioveyBzLy9cMS87IHE7IH0KKy0gIAkgIHMvLiovLi87IHEnYAorK0NFT0YKKytFT0YKKyAKKytjYXQgPj4gJENPTkZJR19TVEFUVVMgPDxcRU9GCisgCistIyBQQVRIIG5lZWRzIENSLCBhbmQgTElORU5PIG5lZWRzIENSIGFuZCBQQVRILgorLSMgQXZvaWQgZGVwZW5kaW5nIHVwb24gQ2hhcmFjdGVyIFJhbmdlcy4KKy1hc19jcl9sZXR0ZXJzPSdhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eicKKy1hc19jcl9MRVRURVJTPSdBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWicKKy1hc19jcl9MZXR0ZXJzPSRhc19jcl9sZXR0ZXJzJGFzX2NyX0xFVFRFUlMKKy1hc19jcl9kaWdpdHM9JzAxMjM0NTY3ODknCistYXNfY3JfYWxudW09JGFzX2NyX0xldHRlcnMkYXNfY3JfZGlnaXRzCistCistIyBUaGUgdXNlciBpcyBhbHdheXMgcmlnaHQuCistaWYgdGVzdCAiJHtQQVRIX1NFUEFSQVRPUitzZXR9IiAhPSBzZXQ7IHRoZW4KKy0gIGVjaG8gIiMhIC9iaW4vc2giID5jb25mJCQuc2gKKy0gIGVjaG8gICJleGl0IDAiICAgPj5jb25mJCQuc2gKKy0gIGNobW9kICt4IGNvbmYkJC5zaAorLSAgaWYgKFBBVEg9Ii9ub25leGlzdGVudDsuIjsgY29uZiQkLnNoKSA+L2Rldi9udWxsIDI+JjE7IHRoZW4KKy0gICAgUEFUSF9TRVBBUkFUT1I9JzsnCisrIyBTcGxpdCB0aGUgc3Vic3RpdHV0aW9ucyBpbnRvIGJpdGUtc2l6ZWQgcGllY2VzIGZvciBzZWRzIHdpdGgKKysjIHNtYWxsIGNvbW1hbmQgbnVtYmVyIGxpbWl0cywgbGlrZSBvbiBEaWdpdGFsIE9TRi8xIGFuZCBIUC1VWC4KKythY19tYXhfc2VkX2NtZHM9OTAgIyBNYXhpbXVtIG51bWJlciBvZiBsaW5lcyB0byBwdXQgaW4gYSBzZWQgc2NyaXB0LgorK2FjX2ZpbGU9MSAjIE51bWJlciBvZiBjdXJyZW50IGZpbGUuCisrYWNfYmVnPTEgIyBGaXJzdCBsaW5lIGZvciBjdXJyZW50IGZpbGUuCisrYWNfZW5kPSRhY19tYXhfc2VkX2NtZHMgIyBMaW5lIGFmdGVyIGxhc3QgbGluZSBmb3IgY3VycmVudCBmaWxlLgorK2FjX21vcmVfbGluZXM9OgorK2FjX3NlZF9jbWRzPSIiCisrd2hpbGUgJGFjX21vcmVfbGluZXM7IGRvCisrICBpZiB0ZXN0ICRhY19iZWcgLWd0IDE7IHRoZW4KKysgICAgc2VkICIxLCR7YWNfYmVnfWQ7ICR7YWNfZW5kfXEiIGNvbmZ0ZXN0LnN1YnMgPiBjb25mdGVzdC5zJGFjX2ZpbGUKKyAgIGVsc2UKKy0gICAgUEFUSF9TRVBBUkFUT1I9OgorKyAgICBzZWQgIiR7YWNfZW5kfXEiIGNvbmZ0ZXN0LnN1YnMgPiBjb25mdGVzdC5zJGFjX2ZpbGUKKyAgIGZpCistICBybSAtZiBjb25mJCQuc2gKKy1maQorLQorLQorLSAgYXNfbGluZW5vXzE9JExJTkVOTworLSAgYXNfbGluZW5vXzI9JExJTkVOTworLSAgYXNfbGluZW5vXzM9YChleHByICRhc19saW5lbm9fMSArIDEpIDI+L2Rldi9udWxsYAorLSAgdGVzdCAieCRhc19saW5lbm9fMSIgIT0gIngkYXNfbGluZW5vXzIiICYmCistICB0ZXN0ICJ4JGFzX2xpbmVub18zIiAgPSAieCRhc19saW5lbm9fMiIgIHx8IHsKKy0gICMgRmluZCB3aG8gd2UgYXJlLiAgTG9vayBpbiB0aGUgcGF0aCBpZiB3ZSBjb250YWluIG5vIHBhdGggYXQgYWxsCistICAjIHJlbGF0aXZlIG9yIG5vdC4KKy0gIGNhc2UgJDAgaW4KKy0gICAgKltcXC9dKiApIGFzX215c2VsZj0kMCA7OworLSAgICAqKSBhc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCistZm9yIGFzX2RpciBpbiAkUEFUSAorLWRvCistICBJRlM9JGFzX3NhdmVfSUZTCistICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgorLSAgdGVzdCAtciAiJGFzX2Rpci8kMCIgJiYgYXNfbXlzZWxmPSRhc19kaXIvJDAgJiYgYnJlYWsKKy1kb25lCistCistICAgICAgIDs7CistICBlc2FjCistICAjIFdlIGRpZCBub3QgZmluZCBvdXJzZWx2ZXMsIG1vc3QgcHJvYmFibHkgd2Ugd2VyZSBydW4gYXMgYHNoIENPTU1BTkQnCistICAjIGluIHdoaWNoIGNhc2Ugd2UgYXJlIG5vdCB0byBiZSBmb3VuZCBpbiB0aGUgcGF0aC4KKy0gIGlmIHRlc3QgIngkYXNfbXlzZWxmIiA9IHg7IHRoZW4KKy0gICAgYXNfbXlzZWxmPSQwCistICBmaQorLSAgaWYgdGVzdCAhIC1mICIkYXNfbXlzZWxmIjsgdGhlbgorLSAgICB7IHsgZWNobyAiJGFzX21lOiRMSU5FTk86IGVycm9yOiBjYW5ub3QgZmluZCBteXNlbGY7IHJlcnVuIHdpdGggYW4gYWJzb2x1dGUgcGF0aCIgPiY1CistZWNobyAiJGFzX21lOiBlcnJvcjogY2Fubm90IGZpbmQgbXlzZWxmOyByZXJ1biB3aXRoIGFuIGFic29sdXRlIHBhdGgiID4mMjt9CistICAgeyAoZXhpdCAxKTsgZXhpdCAxOyB9OyB9CistICBmaQorLSAgY2FzZSAkQ09ORklHX1NIRUxMIGluCistICAnJykKKy0gICAgYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgorLWZvciBhc19kaXIgaW4gL2JpbiRQQVRIX1NFUEFSQVRPUi91c3IvYmluJFBBVEhfU0VQQVJBVE9SJFBBVEgKKy1kbworLSAgSUZTPSRhc19zYXZlX0lGUworLSAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKy0gIGZvciBhc19iYXNlIGluIHNoIGJhc2gga3NoIHNoNTsgZG8KKy0JIGNhc2UgJGFzX2RpciBpbgorLQkgLyopCistCSAgIGlmICgiJGFzX2Rpci8kYXNfYmFzZSIgLWMgJworLSAgYXNfbGluZW5vXzE9JExJTkVOTworLSAgYXNfbGluZW5vXzI9JExJTkVOTworLSAgYXNfbGluZW5vXzM9YChleHByICRhc19saW5lbm9fMSArIDEpIDI+L2Rldi9udWxsYAorLSAgdGVzdCAieCRhc19saW5lbm9fMSIgIT0gIngkYXNfbGluZW5vXzIiICYmCistICB0ZXN0ICJ4JGFzX2xpbmVub18zIiAgPSAieCRhc19saW5lbm9fMiIgJykgMj4vZGV2L251bGw7IHRoZW4KKy0JICAgICAkYXNfdW5zZXQgQkFTSF9FTlYgfHwgdGVzdCAiJHtCQVNIX0VOVitzZXR9IiAhPSBzZXQgfHwgeyBCQVNIX0VOVj07IGV4cG9ydCBCQVNIX0VOVjsgfQorLQkgICAgICRhc191bnNldCBFTlYgfHwgdGVzdCAiJHtFTlYrc2V0fSIgIT0gc2V0IHx8IHsgRU5WPTsgZXhwb3J0IEVOVjsgfQorLQkgICAgIENPTkZJR19TSEVMTD0kYXNfZGlyLyRhc19iYXNlCistCSAgICAgZXhwb3J0IENPTkZJR19TSEVMTAorLQkgICAgIGV4ZWMgIiRDT05GSUdfU0hFTEwiICIkMCIgJHsxKyIkQCJ9CistCSAgIGZpOzsKKy0JIGVzYWMKKy0gICAgICAgZG9uZQorLWRvbmUKKy07OworLSAgZXNhYworLQorLSAgIyBDcmVhdGUgJGFzX21lLmxpbmVubyBhcyBhIGNvcHkgb2YgJGFzX215c2VsZiwgYnV0IHdpdGggJExJTkVOTworLSAgIyB1bmlmb3JtbHkgcmVwbGFjZWQgYnkgdGhlIGxpbmUgbnVtYmVyLiAgVGhlIGZpcnN0ICdzZWQnIGluc2VydHMgYQorLSAgIyBsaW5lLW51bWJlciBsaW5lIGJlZm9yZSBlYWNoIGxpbmU7IHRoZSBzZWNvbmQgJ3NlZCcgZG9lcyB0aGUgcmVhbAorLSAgIyB3b3JrLiAgVGhlIHNlY29uZCBzY3JpcHQgdXNlcyAnTicgdG8gcGFpciBlYWNoIGxpbmUtbnVtYmVyIGxpbmUKKy0gICMgd2l0aCB0aGUgbnVtYmVyZWQgbGluZSwgYW5kIGFwcGVuZHMgdHJhaWxpbmcgJy0nIGR1cmluZworLSAgIyBzdWJzdGl0dXRpb24gc28gdGhhdCAkTElORU5PIGlzIG5vdCBhIHNwZWNpYWwgY2FzZSBhdCBsaW5lIGVuZC4KKy0gICMgKFJhamEgUiBIYXJpbmF0aCBzdWdnZXN0ZWQgc2VkICc9JywgYW5kIFBhdWwgRWdnZXJ0IHdyb3RlIHRoZQorLSAgIyBzZWNvbmQgJ3NlZCcgc2NyaXB0LiAgQmxhbWUgTGVlIEUuIE1jTWFob24gZm9yIHNlZCdzIHN5bnRheC4gIDotKQorLSAgc2VkICc9JyA8JGFzX215c2VsZiB8CistICAgIHNlZCAnCistICAgICAgTgorLSAgICAgIHMsJCwtLAorLSAgICAgIDogbG9vcAorLSAgICAgIHMsXlwoWyckYXNfY3JfZGlnaXRzJ10qXClcKC4qXClbJF1MSU5FTk9cKFteJyRhc19jcl9hbG51bSdfXVwpLFwxXDJcMVwzLAorLSAgICAgIHQgbG9vcAorLSAgICAgIHMsLSQsLAorLSAgICAgIHMsXlsnJGFzX2NyX2RpZ2l0cyddKlxuLCwKKy0gICAgJyA+JGFzX21lLmxpbmVubyAmJgorLSAgY2htb2QgK3ggJGFzX21lLmxpbmVubyB8fAorLSAgICB7IHsgZWNobyAiJGFzX21lOiRMSU5FTk86IGVycm9yOiBjYW5ub3QgY3JlYXRlICRhc19tZS5saW5lbm87IHJlcnVuIHdpdGggYSBQT1NJWCBzaGVsbCIgPiY1CistZWNobyAiJGFzX21lOiBlcnJvcjogY2Fubm90IGNyZWF0ZSAkYXNfbWUubGluZW5vOyByZXJ1biB3aXRoIGEgUE9TSVggc2hlbGwiID4mMjt9CistICAgeyAoZXhpdCAxKTsgZXhpdCAxOyB9OyB9CistCistICAjIERvbid0IHRyeSB0byBleGVjIGFzIGl0IGNoYW5nZXMgJFswXSwgY2F1c2luZyBhbGwgc29ydCBvZiBwcm9ibGVtcworLSAgIyAodGhlIGRpcm5hbWUgb2YgJFswXSBpcyBub3QgdGhlIHBsYWNlIHdoZXJlIHdlIG1pZ2h0IGZpbmQgdGhlCistICAjIG9yaWdpbmFsIGFuZCBzbyBvbi4gIEF1dG9jb25mIGlzIGVzcGVjaWFsbHkgc2Vuc2libGUgdG8gdGhpcykuCistICAuIC4vJGFzX21lLmxpbmVubworLSAgIyBFeGl0IHN0YXR1cyBpcyB0aGF0IG9mIHRoZSBsYXN0IGNvbW1hbmQuCistICBleGl0CistfQorLQorLQorLWNhc2UgYGVjaG8gInRlc3RpbmdcYyI7IGVjaG8gMSwyLDNgLGBlY2hvIC1uIHRlc3Rpbmc7IGVjaG8gMSwyLDNgIGluCistICAqYyosLW4qKSBFQ0hPX049IEVDSE9fQz0nCistJyBFQ0hPX1Q9JwknIDs7CistICAqYyosKiAgKSBFQ0hPX049LW4gRUNIT19DPSBFQ0hPX1Q9IDs7CistICAqKSAgICAgICBFQ0hPX049IEVDSE9fQz0nXGMnIEVDSE9fVD0gOzsKKy1lc2FjCistCistaWYgZXhwciBhIDogJ1woYVwpJyA+L2Rldi9udWxsIDI+JjE7IHRoZW4KKy0gIGFzX2V4cHI9ZXhwcgorLWVsc2UKKy0gIGFzX2V4cHI9ZmFsc2UKKy1maQorLQorLXJtIC1mIGNvbmYkJCBjb25mJCQuZXhlIGNvbmYkJC5maWxlCistZWNobyA+Y29uZiQkLmZpbGUKKy1pZiBsbiAtcyBjb25mJCQuZmlsZSBjb25mJCQgMj4vZGV2L251bGw7IHRoZW4KKy0gICMgV2UgY291bGQganVzdCBjaGVjayBmb3IgREpHUFA7IGJ1dCB0aGlzIHRlc3QgYSkgd29ya3MgYikgaXMgbW9yZSBnZW5lcmljCistICAjIGFuZCBjKSB3aWxsIHJlbWFpbiB2YWxpZCBvbmNlIERKR1BQIHN1cHBvcnRzIHN5bWxpbmtzIChESkdQUCAyLjA0KS4KKy0gIGlmIHRlc3QgLWYgY29uZiQkLmV4ZTsgdGhlbgorLSAgICAjIERvbid0IHVzZSBsbiBhdCBhbGw7IHdlIGRvbid0IGhhdmUgYW55IGxpbmtzCistICAgIGFzX2xuX3M9J2NwIC1wJworKyAgaWYgdGVzdCAhIC1zIGNvbmZ0ZXN0LnMkYWNfZmlsZTsgdGhlbgorKyAgICBhY19tb3JlX2xpbmVzPWZhbHNlCisrICAgIHJtIC1mIGNvbmZ0ZXN0LnMkYWNfZmlsZQorICAgZWxzZQorLSAgICBhc19sbl9zPSdsbiAtcycKKysgICAgaWYgdGVzdCAteiAiJGFjX3NlZF9jbWRzIjsgdGhlbgorKyAgICAgIGFjX3NlZF9jbWRzPSJzZWQgLWYgY29uZnRlc3QucyRhY19maWxlIgorKyAgICBlbHNlCisrICAgICAgYWNfc2VkX2NtZHM9IiRhY19zZWRfY21kcyB8IHNlZCAtZiBjb25mdGVzdC5zJGFjX2ZpbGUiCisrICAgIGZpCisrICAgIGFjX2ZpbGU9YGV4cHIgJGFjX2ZpbGUgKyAxYAorKyAgICBhY19iZWc9JGFjX2VuZAorKyAgICBhY19lbmQ9YGV4cHIgJGFjX2VuZCArICRhY19tYXhfc2VkX2NtZHNgCisgICBmaQorLWVsaWYgbG4gY29uZiQkLmZpbGUgY29uZiQkIDI+L2Rldi9udWxsOyB0aGVuCistICBhc19sbl9zPWxuCistZWxzZQorLSAgYXNfbG5fcz0nY3AgLXAnCistZmkKKy1ybSAtZiBjb25mJCQgY29uZiQkLmV4ZSBjb25mJCQuZmlsZQorLQorLWlmIG1rZGlyIC1wIC4gMj4vZGV2L251bGw7IHRoZW4KKy0gIGFzX21rZGlyX3A9OgorLWVsc2UKKy0gIGFzX21rZGlyX3A9ZmFsc2UKKy1maQorLQorLWFzX2V4ZWN1dGFibGVfcD0idGVzdCAtZiIKKy0KKy0jIFNlZCBleHByZXNzaW9uIHRvIG1hcCBhIHN0cmluZyBvbnRvIGEgdmFsaWQgQ1BQIG5hbWUuCistYXNfdHJfY3BwPSJzZWQgeSUqJGFzX2NyX2xldHRlcnMlUCRhc19jcl9MRVRURVJTJTtzJVteXyRhc19jcl9hbG51bV0lXyVnIgorLQorLSMgU2VkIGV4cHJlc3Npb24gdG8gbWFwIGEgc3RyaW5nIG9udG8gYSB2YWxpZCB2YXJpYWJsZSBuYW1lLgorLWFzX3RyX3NoPSJzZWQgeSUqKyVwcCU7cyVbXl8kYXNfY3JfYWxudW1dJV8lZyIKKy0KKy0KKy0jIElGUworLSMgV2UgbmVlZCBzcGFjZSwgdGFiIGFuZCBuZXcgbGluZSwgaW4gcHJlY2lzZWx5IHRoYXQgb3JkZXIuCistYXNfbmw9JworLScKKy1JRlM9IiAJJGFzX25sIgorLQorLSMgQ0RQQVRILgorLSRhc191bnNldCBDRFBBVEgKKy0KKy1leGVjIDY+JjEKKy0KKy0jIE9wZW4gdGhlIGxvZyByZWFsIHNvb24sIHRvIGtlZXAgXCRbMF0gYW5kIHNvIG9uIG1lYW5pbmdmdWwsIGFuZCB0bworLSMgcmVwb3J0IGFjdHVhbCBpbnB1dCB2YWx1ZXMgb2YgQ09ORklHX0ZJTEVTIGV0Yy4gaW5zdGVhZCBvZiB0aGVpcgorLSMgdmFsdWVzIGFmdGVyIG9wdGlvbnMgaGFuZGxpbmcuICBMb2dnaW5nIC0tdmVyc2lvbiBldGMuIGlzIE9LLgorLWV4ZWMgNT4+Y29uZmlnLmxvZworLXsKKy0gIGVjaG8KKy0gIHNlZCAnaDtzLy4vLS9nO3MvXi4uLi8jIyAvO3MvLi4uJC8gIyMvO3A7eDtwO3gnIDw8X0FTQk9YCistIyMgUnVubmluZyAkYXNfbWUuICMjCistX0FTQk9YCistfSA+JjUKKy1jYXQgPiY1IDw8X0NTRU9GCistCistVGhpcyBmaWxlIHdhcyBleHRlbmRlZCBieSAkYXNfbWUsIHdoaWNoIHdhcworLWdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi41Ny4gIEludm9jYXRpb24gY29tbWFuZCBsaW5lIHdhcworLQorLSAgQ09ORklHX0ZJTEVTICAgID0gJENPTkZJR19GSUxFUworLSAgQ09ORklHX0hFQURFUlMgID0gJENPTkZJR19IRUFERVJTCistICBDT05GSUdfTElOS1MgICAgPSAkQ09ORklHX0xJTktTCistICBDT05GSUdfQ09NTUFORFMgPSAkQ09ORklHX0NPTU1BTkRTCistICAkICQwICRACistCistX0NTRU9GCistZWNobyAib24gYChob3N0bmFtZSB8fCB1bmFtZSAtbikgMj4vZGV2L251bGwgfCBzZWQgMXFgIiA+JjUKKy1lY2hvID4mNQorLV9BQ0VPRgorLQorLSMgRmlsZXMgdGhhdCBjb25maWcuc3RhdHVzIHdhcyBtYWRlIGZvci4KKy1pZiB0ZXN0IC1uICIkYWNfY29uZmlnX2ZpbGVzIjsgdGhlbgorLSAgZWNobyAiY29uZmlnX2ZpbGVzPVwiJGFjX2NvbmZpZ19maWxlc1wiIiA+PiRDT05GSUdfU1RBVFVTCistZmkKKy0KKy1pZiB0ZXN0IC1uICIkYWNfY29uZmlnX2hlYWRlcnMiOyB0aGVuCistICBlY2hvICJjb25maWdfaGVhZGVycz1cIiRhY19jb25maWdfaGVhZGVyc1wiIiA+PiRDT05GSUdfU1RBVFVTCistZmkKKy0KKy1pZiB0ZXN0IC1uICIkYWNfY29uZmlnX2xpbmtzIjsgdGhlbgorLSAgZWNobyAiY29uZmlnX2xpbmtzPVwiJGFjX2NvbmZpZ19saW5rc1wiIiA+PiRDT05GSUdfU1RBVFVTCistZmkKKy0KKy1pZiB0ZXN0IC1uICIkYWNfY29uZmlnX2NvbW1hbmRzIjsgdGhlbgorLSAgZWNobyAiY29uZmlnX2NvbW1hbmRzPVwiJGFjX2NvbmZpZ19jb21tYW5kc1wiIiA+PiRDT05GSUdfU1RBVFVTCistZmkKKy0KKy1jYXQgPj4kQ09ORklHX1NUQVRVUyA8PFxfQUNFT0YKKy0KKy1hY19jc191c2FnZT0iXAorLVxgJGFzX21lJyBpbnN0YW50aWF0ZXMgZmlsZXMgZnJvbSB0ZW1wbGF0ZXMgYWNjb3JkaW5nIHRvIHRoZQorLWN1cnJlbnQgY29uZmlndXJhdGlvbi4KKy0KKy1Vc2FnZTogJDAgW09QVElPTlNdIFtGSUxFXS4uLgorLQorLSAgLWgsIC0taGVscCAgICAgICBwcmludCB0aGlzIGhlbHAsIHRoZW4gZXhpdAorLSAgLVYsIC0tdmVyc2lvbiAgICBwcmludCB2ZXJzaW9uIG51bWJlciwgdGhlbiBleGl0CistICAtcSwgLS1xdWlldCAgICAgIGRvIG5vdCBwcmludCBwcm9ncmVzcyBtZXNzYWdlcworLSAgLWQsIC0tZGVidWcgICAgICBkb24ndCByZW1vdmUgdGVtcG9yYXJ5IGZpbGVzCistICAgICAgLS1yZWNoZWNrICAgIHVwZGF0ZSAkYXNfbWUgYnkgcmVjb25maWd1cmluZyBpbiB0aGUgc2FtZSBjb25kaXRpb25zCistICAtLWZpbGU9RklMRVs6VEVNUExBVEVdCistICAgICAgICAgICAgICAgICAgIGluc3RhbnRpYXRlIHRoZSBjb25maWd1cmF0aW9uIGZpbGUgRklMRQorLQorLUNvbmZpZ3VyYXRpb24gZmlsZXM6CistJGNvbmZpZ19maWxlcworLQorLVJlcG9ydCBidWdzIHRvIDxidWctYXV0b2NvbmZAZ251Lm9yZz4uIgorLV9BQ0VPRgorLQorLWNhdCA+PiRDT05GSUdfU1RBVFVTIDw8X0FDRU9GCistYWNfY3NfdmVyc2lvbj0iXFwKKy1jb25maWcuc3RhdHVzCistY29uZmlndXJlZCBieSAkMCwgZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjU3LAorLSAgd2l0aCBvcHRpb25zIFxcImBlY2hvICIkYWNfY29uZmlndXJlX2FyZ3MiIHwgc2VkICdzL1tcXCIiXGBcJF0vXFxcXCYvZydgXFwiCistCistQ29weXJpZ2h0IDE5OTIsIDE5OTMsIDE5OTQsIDE5OTUsIDE5OTYsIDE5OTgsIDE5OTksIDIwMDAsIDIwMDEKKy1GcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKy1UaGlzIGNvbmZpZy5zdGF0dXMgc2NyaXB0IGlzIGZyZWUgc29mdHdhcmU7IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24KKy1naXZlcyB1bmxpbWl0ZWQgcGVybWlzc2lvbiB0byBjb3B5LCBkaXN0cmlidXRlIGFuZCBtb2RpZnkgaXQuIgorLXNyY2Rpcj0kc3JjZGlyCistSU5TVEFMTD0iJElOU1RBTEwiCistX0FDRU9GCistCistY2F0ID4+JENPTkZJR19TVEFUVVMgPDxcX0FDRU9GCistIyBJZiBubyBmaWxlIGFyZSBzcGVjaWZpZWQgYnkgdGhlIHVzZXIsIHRoZW4gd2UgbmVlZCB0byBwcm92aWRlIGRlZmF1bHQKKy0jIHZhbHVlLiAgQnkgd2UgbmVlZCB0byBrbm93IGlmIGZpbGVzIHdlcmUgc3BlY2lmaWVkIGJ5IHRoZSB1c2VyLgorLWFjX25lZWRfZGVmYXVsdHM9OgorLXdoaWxlIHRlc3QgJCMgIT0gMAorLWRvCistICBjYXNlICQxIGluCistICAtLSo9KikKKy0gICAgYWNfb3B0aW9uPWBleHByICJ4JDEiIDogJ3hcKFtePV0qXCk9J2AKKy0gICAgYWNfb3B0YXJnPWBleHByICJ4JDEiIDogJ3hbXj1dKj1cKC4qXCknYAorLSAgICBhY19zaGlmdD06CistICAgIDs7CistICAtKikKKy0gICAgYWNfb3B0aW9uPSQxCistICAgIGFjX29wdGFyZz0kMgorLSAgICBhY19zaGlmdD1zaGlmdAorLSAgICA7OworLSAgKikgIyBUaGlzIGlzIG5vdCBhbiBvcHRpb24sIHNvIHRoZSB1c2VyIGhhcyBwcm9iYWJseSBnaXZlbiBleHBsaWNpdAorLSAgICAgIyBhcmd1bWVudHMuCistICAgICBhY19vcHRpb249JDEKKy0gICAgIGFjX25lZWRfZGVmYXVsdHM9ZmFsc2U7OworLSAgZXNhYworLQorLSAgY2FzZSAkYWNfb3B0aW9uIGluCistICAjIEhhbmRsaW5nIG9mIHRoZSBvcHRpb25zLgorLV9BQ0VPRgorLWNhdCA+PiRDT05GSUdfU1RBVFVTIDw8XF9BQ0VPRgorLSAgLXJlY2hlY2sgfCAtLXJlY2hlY2sgfCAtLXJlY2hlYyB8IC0tcmVjaGUgfCAtLXJlY2ggfCAtLXJlYyB8IC0tcmUgfCAtLXIpCistICAgIGFjX2NzX3JlY2hlY2s9OiA7OworLSAgLS12ZXJzaW9uIHwgLS12ZXJzKiB8IC1WICkKKy0gICAgZWNobyAiJGFjX2NzX3ZlcnNpb24iOyBleGl0IDAgOzsKKy0gIC0taGUgfCAtLWgpCistICAgICMgQ29uZmxpY3QgYmV0d2VlbiAtLWhlbHAgYW5kIC0taGVhZGVyCistICAgIHsgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogZXJyb3I6IGFtYmlndW91cyBvcHRpb246ICQxCistVHJ5IFxgJDAgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4iID4mNQorLWVjaG8gIiRhc19tZTogZXJyb3I6IGFtYmlndW91cyBvcHRpb246ICQxCistVHJ5IFxgJDAgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4iID4mMjt9CistICAgeyAoZXhpdCAxKTsgZXhpdCAxOyB9OyB9OzsKKy0gIC0taGVscCB8IC0taGVsIHwgLWggKQorLSAgICBlY2hvICIkYWNfY3NfdXNhZ2UiOyBleGl0IDAgOzsKKy0gIC0tZGVidWcgfCAtLWQqIHwgLWQgKQorLSAgICBkZWJ1Zz06IDs7CistICAtLWZpbGUgfCAtLWZpbCB8IC0tZmkgfCAtLWYgKQorLSAgICAkYWNfc2hpZnQKKy0gICAgQ09ORklHX0ZJTEVTPSIkQ09ORklHX0ZJTEVTICRhY19vcHRhcmciCistICAgIGFjX25lZWRfZGVmYXVsdHM9ZmFsc2U7OworLSAgLS1oZWFkZXIgfCAtLWhlYWRlIHwgLS1oZWFkIHwgLS1oZWEgKQorLSAgICAkYWNfc2hpZnQKKy0gICAgQ09ORklHX0hFQURFUlM9IiRDT05GSUdfSEVBREVSUyAkYWNfb3B0YXJnIgorLSAgICBhY19uZWVkX2RlZmF1bHRzPWZhbHNlOzsKKy0gIC1xIHwgLXF1aWV0IHwgLS1xdWlldCB8IC0tcXVpZSB8IC0tcXVpIHwgLS1xdSB8IC0tcSBcCistICB8IC1zaWxlbnQgfCAtLXNpbGVudCB8IC0tc2lsZW4gfCAtLXNpbGUgfCAtLXNpbCB8IC0tc2kgfCAtLXMpCistICAgIGFjX2NzX3NpbGVudD06IDs7CistCistICAjIFRoaXMgaXMgYW4gZXJyb3IuCistICAtKikgeyB7IGVjaG8gIiRhc19tZTokTElORU5POiBlcnJvcjogdW5yZWNvZ25pemVkIG9wdGlvbjogJDEKKy1UcnkgXGAkMCAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLiIgPiY1CistZWNobyAiJGFzX21lOiBlcnJvcjogdW5yZWNvZ25pemVkIG9wdGlvbjogJDEKKy1UcnkgXGAkMCAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLiIgPiYyO30KKy0gICB7IChleGl0IDEpOyBleGl0IDE7IH07IH0gOzsKKy0KKy0gICopIGFjX2NvbmZpZ190YXJnZXRzPSIkYWNfY29uZmlnX3RhcmdldHMgJDEiIDs7CistCistICBlc2FjCistICBzaGlmdAorIGRvbmUKKy0KKy1hY19jb25maWd1cmVfZXh0cmFfYXJncz0KKy0KKy1pZiAkYWNfY3Nfc2lsZW50OyB0aGVuCistICBleGVjIDY+L2Rldi9udWxsCistICBhY19jb25maWd1cmVfZXh0cmFfYXJncz0iJGFjX2NvbmZpZ3VyZV9leHRyYV9hcmdzIC0tc2lsZW50IgorK2lmIHRlc3QgLXogIiRhY19zZWRfY21kcyI7IHRoZW4KKysgIGFjX3NlZF9jbWRzPWNhdAorIGZpCisrRU9GCisgCistX0FDRU9GCistY2F0ID4+JENPTkZJR19TVEFUVVMgPDxfQUNFT0YKKy1pZiBcJGFjX2NzX3JlY2hlY2s7IHRoZW4KKy0gIGVjaG8gInJ1bm5pbmcgJFNIRUxMICQwICIgJGFjX2NvbmZpZ3VyZV9hcmdzIFwkYWNfY29uZmlndXJlX2V4dHJhX2FyZ3MgIiAtLW5vLWNyZWF0ZSAtLW5vLXJlY3Vyc2lvbiIgPiY2CistICBleGVjICRTSEVMTCAkMCAkYWNfY29uZmlndXJlX2FyZ3MgXCRhY19jb25maWd1cmVfZXh0cmFfYXJncyAtLW5vLWNyZWF0ZSAtLW5vLXJlY3Vyc2lvbgorLWZpCisrY2F0ID4+ICRDT05GSUdfU1RBVFVTIDw8RU9GCisgCistX0FDRU9GCistCistCistCistCistCistY2F0ID4+JENPTkZJR19TVEFUVVMgPDxcX0FDRU9GCistZm9yIGFjX2NvbmZpZ190YXJnZXQgaW4gJGFjX2NvbmZpZ190YXJnZXRzCistZG8KKy0gIGNhc2UgIiRhY19jb25maWdfdGFyZ2V0IiBpbgorLSAgIyBIYW5kbGluZyBvZiBhcmd1bWVudHMuCistICAiY29uZmlnL2NvbmZpZyIgKSBDT05GSUdfRklMRVM9IiRDT05GSUdfRklMRVMgY29uZmlnL2NvbmZpZyIgOzsKKy0gICJjb25maWcvc3lzdGVtLm1hayIgKSBDT05GSUdfRklMRVM9IiRDT05GSUdfRklMRVMgY29uZmlnL3N5c3RlbS5tYWsiIDs7CistICAqKSB7IHsgZWNobyAiJGFzX21lOiRMSU5FTk86IGVycm9yOiBpbnZhbGlkIGFyZ3VtZW50OiAkYWNfY29uZmlnX3RhcmdldCIgPiY1CistZWNobyAiJGFzX21lOiBlcnJvcjogaW52YWxpZCBhcmd1bWVudDogJGFjX2NvbmZpZ190YXJnZXQiID4mMjt9CistICAgeyAoZXhpdCAxKTsgZXhpdCAxOyB9OyB9OzsKKytDT05GSUdfRklMRVM9XCR7Q09ORklHX0ZJTEVTLSJjb25maWcvY29uZmlnIGNvbmZpZy9zeXN0ZW0ubWFrIn0KKytFT0YKKytjYXQgPj4gJENPTkZJR19TVEFUVVMgPDxcRU9GCisrZm9yIGFjX2ZpbGUgaW4gLi4gJENPTkZJR19GSUxFUzsgZG8gaWYgdGVzdCAieCRhY19maWxlIiAhPSB4Li47IHRoZW4KKysgICMgU3VwcG9ydCAib3V0ZmlsZVs6aW5maWxlWzppbmZpbGUuLi5dXSIsIGRlZmF1bHRpbmcgaW5maWxlPSJvdXRmaWxlLmluIi4KKysgIGNhc2UgIiRhY19maWxlIiBpbgorKyAgKjoqKSBhY19maWxlX2luPWBlY2hvICIkYWNfZmlsZSJ8c2VkICdzJVteOl0qOiUlJ2AKKysgICAgICAgYWNfZmlsZT1gZWNobyAiJGFjX2ZpbGUifHNlZCAncyU6LiolJSdgIDs7CisrICAqKSBhY19maWxlX2luPSIke2FjX2ZpbGV9LmluIiA7OworICAgZXNhYworLWRvbmUKKyAKKy0jIElmIHRoZSB1c2VyIGRpZCBub3QgdXNlIHRoZSBhcmd1bWVudHMgdG8gc3BlY2lmeSB0aGUgaXRlbXMgdG8gaW5zdGFudGlhdGUsCistIyB0aGVuIHRoZSBlbnZ2YXIgaW50ZXJmYWNlIGlzIHVzZWQuICBTZXQgb25seSB0aG9zZSB0aGF0IGFyZSBub3QuCistIyBXZSB1c2UgdGhlIGxvbmcgZm9ybSBmb3IgdGhlIGRlZmF1bHQgYXNzaWdubWVudCBiZWNhdXNlIG9mIGFuIGV4dHJlbWVseQorLSMgYml6YXJyZSBidWcgb24gU3VuT1MgNC4xLjMuCistaWYgJGFjX25lZWRfZGVmYXVsdHM7IHRoZW4KKy0gIHRlc3QgIiR7Q09ORklHX0ZJTEVTK3NldH0iID0gc2V0IHx8IENPTkZJR19GSUxFUz0kY29uZmlnX2ZpbGVzCistZmkKKysgICMgQWRqdXN0IGEgcmVsYXRpdmUgc3JjZGlyLCB0b3Bfc3JjZGlyLCBhbmQgSU5TVEFMTCBmb3Igc3ViZGlyZWN0b3JpZXMuCisgCistIyBIYXZlIGEgdGVtcG9yYXJ5IGRpcmVjdG9yeSBmb3IgY29udmVuaWVuY2UuICBNYWtlIGl0IGluIHRoZSBidWlsZCB0cmVlCistIyBzaW1wbHkgYmVjYXVzZSB0aGVyZSBpcyBubyByZWFzb24gdG8gcHV0IGl0IGhlcmUsIGFuZCBpbiBhZGRpdGlvbiwKKy0jIGNyZWF0aW5nIGFuZCBtb3ZpbmcgZmlsZXMgZnJvbSAvdG1wIGNhbiBzb21ldGltZXMgY2F1c2UgcHJvYmxlbXMuCistIyBDcmVhdGUgYSB0ZW1wb3JhcnkgZGlyZWN0b3J5LCBhbmQgaG9vayBmb3IgaXRzIHJlbW92YWwgdW5sZXNzIGRlYnVnZ2luZy4KKy0kZGVidWcgfHwKKy17CistICB0cmFwICdleGl0X3N0YXR1cz0kPzsgcm0gLXJmICR0bXAgJiYgZXhpdCAkZXhpdF9zdGF0dXMnIDAKKy0gIHRyYXAgJ3sgKGV4aXQgMSk7IGV4aXQgMTsgfScgMSAyIDEzIDE1CistfQorLQorLSMgQ3JlYXRlIGEgKHNlY3VyZSkgdG1wIGRpcmVjdG9yeSBmb3IgdG1wIGZpbGVzLgorLQorLXsKKy0gIHRtcD1gKHVtYXNrIDA3NyAmJiBta3RlbXAgLWQgLXEgIi4vY29uZnN0YXRYWFhYWFgiKSAyPi9kZXYvbnVsbGAgJiYKKy0gIHRlc3QgLW4gIiR0bXAiICYmIHRlc3QgLWQgIiR0bXAiCistfSAgfHwKKy17CistICB0bXA9Li9jb25mc3RhdCQkLSRSQU5ET00KKy0gICh1bWFzayAwNzcgJiYgbWtkaXIgJHRtcCkKKy19IHx8CisteworLSAgIGVjaG8gIiRtZTogY2Fubm90IGNyZWF0ZSBhIHRlbXBvcmFyeSBkaXJlY3RvcnkgaW4gLiIgPiYyCistICAgeyAoZXhpdCAxKTsgZXhpdCAxOyB9CistfQorLQorLV9BQ0VPRgorLQorLWNhdCA+PiRDT05GSUdfU1RBVFVTIDw8X0FDRU9GCistCistIworLSMgQ09ORklHX0ZJTEVTIHNlY3Rpb24uCistIworLQorLSMgTm8gbmVlZCB0byBnZW5lcmF0ZSB0aGUgc2NyaXB0cyBpZiB0aGVyZSBhcmUgbm8gQ09ORklHX0ZJTEVTLgorLSMgVGhpcyBoYXBwZW5zIGZvciBpbnN0YW5jZSB3aGVuIC4vY29uZmlnLnN0YXR1cyBjb25maWcuaAorLWlmIHRlc3QgLW4gIlwkQ09ORklHX0ZJTEVTIjsgdGhlbgorLSAgIyBQcm90ZWN0IGFnYWluc3QgYmVpbmcgb24gdGhlIHJpZ2h0IHNpZGUgb2YgYSBzZWQgc3Vic3QgaW4gY29uZmlnLnN0YXR1cy4KKy0gIHNlZCAncy8sQC9AQC87IHMvQCwvQEAvOyBzLyw7dCB0XCQvQDt0IHQvOyAvQDt0IHRcJC9zL1tcXFxcJixdL1xcXFwmL2c7CistICAgcy9AQC8sQC87IHMvQEAvQCwvOyBzL0A7dCB0XCQvLDt0IHQvJyA+XCR0bXAvc3Vicy5zZWQgPDxcXENFT0YKKy1zLEBTSEVMTEAsJFNIRUxMLDt0IHQKKy1zLEBQQVRIX1NFUEFSQVRPUkAsJFBBVEhfU0VQQVJBVE9SLDt0IHQKKy1zLEBQQUNLQUdFX05BTUVALCRQQUNLQUdFX05BTUUsO3QgdAorLXMsQFBBQ0tBR0VfVEFSTkFNRUAsJFBBQ0tBR0VfVEFSTkFNRSw7dCB0CistcyxAUEFDS0FHRV9WRVJTSU9OQCwkUEFDS0FHRV9WRVJTSU9OLDt0IHQKKy1zLEBQQUNLQUdFX1NUUklOR0AsJFBBQ0tBR0VfU1RSSU5HLDt0IHQKKy1zLEBQQUNLQUdFX0JVR1JFUE9SVEAsJFBBQ0tBR0VfQlVHUkVQT1JULDt0IHQKKy1zLEBleGVjX3ByZWZpeEAsJGV4ZWNfcHJlZml4LDt0IHQKKy1zLEBwcmVmaXhALCRwcmVmaXgsO3QgdAorLXMsQHByb2dyYW1fdHJhbnNmb3JtX25hbWVALCRwcm9ncmFtX3RyYW5zZm9ybV9uYW1lLDt0IHQKKy1zLEBiaW5kaXJALCRiaW5kaXIsO3QgdAorLXMsQHNiaW5kaXJALCRzYmluZGlyLDt0IHQKKy1zLEBsaWJleGVjZGlyQCwkbGliZXhlY2Rpciw7dCB0CistcyxAZGF0YWRpckAsJGRhdGFkaXIsO3QgdAorLXMsQHN5c2NvbmZkaXJALCRzeXNjb25mZGlyLDt0IHQKKy1zLEBzaGFyZWRzdGF0ZWRpckAsJHNoYXJlZHN0YXRlZGlyLDt0IHQKKy1zLEBsb2NhbHN0YXRlZGlyQCwkbG9jYWxzdGF0ZWRpciw7dCB0CistcyxAbGliZGlyQCwkbGliZGlyLDt0IHQKKy1zLEBpbmNsdWRlZGlyQCwkaW5jbHVkZWRpciw7dCB0CistcyxAb2xkaW5jbHVkZWRpckAsJG9sZGluY2x1ZGVkaXIsO3QgdAorLXMsQGluZm9kaXJALCRpbmZvZGlyLDt0IHQKKy1zLEBtYW5kaXJALCRtYW5kaXIsO3QgdAorLXMsQGJ1aWxkX2FsaWFzQCwkYnVpbGRfYWxpYXMsO3QgdAorLXMsQGhvc3RfYWxpYXNALCRob3N0X2FsaWFzLDt0IHQKKy1zLEB0YXJnZXRfYWxpYXNALCR0YXJnZXRfYWxpYXMsO3QgdAorLXMsQERFRlNALCRERUZTLDt0IHQKKy1zLEBFQ0hPX0NALCRFQ0hPX0MsO3QgdAorLXMsQEVDSE9fTkAsJEVDSE9fTiw7dCB0CistcyxARUNIT19UQCwkRUNIT19ULDt0IHQKKy1zLEBMSUJTQCwkTElCUyw7dCB0CistcyxAYnVpbGRALCRidWlsZCw7dCB0CistcyxAYnVpbGRfY3B1QCwkYnVpbGRfY3B1LDt0IHQKKy1zLEBidWlsZF92ZW5kb3JALCRidWlsZF92ZW5kb3IsO3QgdAorLXMsQGJ1aWxkX29zQCwkYnVpbGRfb3MsO3QgdAorLXMsQGhvc3RALCRob3N0LDt0IHQKKy1zLEBob3N0X2NwdUAsJGhvc3RfY3B1LDt0IHQKKy1zLEBob3N0X3ZlbmRvckAsJGhvc3RfdmVuZG9yLDt0IHQKKy1zLEBob3N0X29zQCwkaG9zdF9vcyw7dCB0CistcyxAdGFyZ2V0QCwkdGFyZ2V0LDt0IHQKKy1zLEB0YXJnZXRfY3B1QCwkdGFyZ2V0X2NwdSw7dCB0CistcyxAdGFyZ2V0X3ZlbmRvckAsJHRhcmdldF92ZW5kb3IsO3QgdAorLXMsQHRhcmdldF9vc0AsJHRhcmdldF9vcyw7dCB0CistcyxAQ0NALCRDQyw7dCB0CistcyxAQ0ZMQUdTQCwkQ0ZMQUdTLDt0IHQKKy1zLEBMREZMQUdTQCwkTERGTEFHUyw7dCB0CistcyxAQ1BQRkxBR1NALCRDUFBGTEFHUyw7dCB0CistcyxAYWNfY3RfQ0NALCRhY19jdF9DQyw7dCB0CistcyxARVhFRVhUQCwkRVhFRVhULDt0IHQKKy1zLEBPQkpFWFRALCRPQkpFWFQsO3QgdAorLXMsQFJBTkxJQkAsJFJBTkxJQiw7dCB0CistcyxAYWNfY3RfUkFOTElCQCwkYWNfY3RfUkFOTElCLDt0IHQKKy1zLEBJTlNUQUxMX1BST0dSQU1ALCRJTlNUQUxMX1BST0dSQU0sO3QgdAorLXMsQElOU1RBTExfU0NSSVBUQCwkSU5TVEFMTF9TQ1JJUFQsO3QgdAorLXMsQElOU1RBTExfREFUQUAsJElOU1RBTExfREFUQSw7dCB0CistcyxAQVJALCRBUiw7dCB0CistcyxAYWNfY3RfQVJALCRhY19jdF9BUiw7dCB0CistcyxAVEFSR0VUX09TQCwkVEFSR0VUX09TLDt0IHQKKy1zLEBUQVJHRVRfQ1BVQCwkVEFSR0VUX0NQVSw7dCB0CistcyxATTY4S0NDQCwkTTY4S0NDLDt0IHQKKy1zLEBMRVhERUZTQCwkTEVYREVGUyw7dCB0CistcyxAVk9YREVGU0AsJFZPWERFRlMsO3QgdAorLXMsQEhPU1RfT1NALCRIT1NUX09TLDt0IHQKKy1zLEBIT1NUX0NQVUAsJEhPU1RfQ1BVLDt0IHQKKy1zLEBPVEhFUkxJQlNALCRPVEhFUkxJQlMsO3QgdAorLXMsQFNIRkxBR1NALCRTSEZMQUdTLDt0IHQKKy1zLEBNTUFQVFlQRUAsJE1NQVBUWVBFLDt0IHQKKy1zLEBTVERJT1RZUEVALCRTVERJT1RZUEUsO3QgdAorLXMsQENQUEAsJENQUCw7dCB0CistcyxARUdSRVBALCRFR1JFUCw7dCB0CistcyxAQVVESU9EUklWRVJALCRBVURJT0RSSVZFUiw7dCB0CistcyxAQVVESU9ERUZTQCwkQVVESU9ERUZTLDt0IHQKKy1zLEBBVURJT0xJQlNALCRBVURJT0xJQlMsO3QgdAorLXMsQEZMX0xBTkdALCRGTF9MQU5HLDt0IHQKKy1zLEBGTF9WT1hALCRGTF9WT1gsO3QgdAorLXMsQEZMX0xFWEAsJEZMX0xFWCw7dCB0CistcyxATElCT0JKU0AsJExJQk9CSlMsO3QgdAorLXMsQExUTElCT0JKU0AsJExUTElCT0JKUyw7dCB0CistQ0VPRgorLQorLV9BQ0VPRgorLQorLSAgY2F0ID4+JENPTkZJR19TVEFUVVMgPDxcX0FDRU9GCistICAjIFNwbGl0IHRoZSBzdWJzdGl0dXRpb25zIGludG8gYml0ZS1zaXplZCBwaWVjZXMgZm9yIHNlZHMgd2l0aAorLSAgIyBzbWFsbCBjb21tYW5kIG51bWJlciBsaW1pdHMsIGxpa2Ugb24gRGlnaXRhbCBPU0YvMSBhbmQgSFAtVVguCistICBhY19tYXhfc2VkX2xpbmVzPTQ4CistICBhY19zZWRfZnJhZz0xICMgTnVtYmVyIG9mIGN1cnJlbnQgZmlsZS4KKy0gIGFjX2JlZz0xICMgRmlyc3QgbGluZSBmb3IgY3VycmVudCBmaWxlLgorLSAgYWNfZW5kPSRhY19tYXhfc2VkX2xpbmVzICMgTGluZSBhZnRlciBsYXN0IGxpbmUgZm9yIGN1cnJlbnQgZmlsZS4KKy0gIGFjX21vcmVfbGluZXM9OgorLSAgYWNfc2VkX2NtZHM9CistICB3aGlsZSAkYWNfbW9yZV9saW5lczsgZG8KKy0gICAgaWYgdGVzdCAkYWNfYmVnIC1ndCAxOyB0aGVuCistICAgICAgc2VkICIxLCR7YWNfYmVnfWQ7ICR7YWNfZW5kfXEiICR0bXAvc3Vicy5zZWQgPiR0bXAvc3Vicy5mcmFnCistICAgIGVsc2UKKy0gICAgICBzZWQgIiR7YWNfZW5kfXEiICR0bXAvc3Vicy5zZWQgPiR0bXAvc3Vicy5mcmFnCistICAgIGZpCistICAgIGlmIHRlc3QgISAtcyAkdG1wL3N1YnMuZnJhZzsgdGhlbgorLSAgICAgIGFjX21vcmVfbGluZXM9ZmFsc2UKKy0gICAgZWxzZQorLSAgICAgICMgVGhlIHB1cnBvc2Ugb2YgdGhlIGxhYmVsIGFuZCBvZiB0aGUgYnJhbmNoaW5nIGNvbmRpdGlvbiBpcyB0bworLSAgICAgICMgc3BlZWQgdXAgdGhlIHNlZCBwcm9jZXNzaW5nIChpZiB0aGVyZSBhcmUgbm8gYEAnIGF0IGFsbCwgdGhlcmUKKy0gICAgICAjIGlzIG5vIG5lZWQgdG8gYnJvd3NlIGFueSBvZiB0aGUgc3Vic3RpdHV0aW9ucykuCistICAgICAgIyBUaGVzZSBhcmUgdGhlIHR3byBleHRyYSBzZWQgY29tbWFuZHMgbWVudGlvbmVkIGFib3ZlLgorLSAgICAgIChlY2hvICc6dAorLSAgL0BbYS16QS1aX11bYS16QS1aXzAtOV0qQC8hYicgJiYgY2F0ICR0bXAvc3Vicy5mcmFnKSA+JHRtcC9zdWJzLSRhY19zZWRfZnJhZy5zZWQKKy0gICAgICBpZiB0ZXN0IC16ICIkYWNfc2VkX2NtZHMiOyB0aGVuCistICAJYWNfc2VkX2NtZHM9InNlZCAtZiAkdG1wL3N1YnMtJGFjX3NlZF9mcmFnLnNlZCIKKy0gICAgICBlbHNlCistICAJYWNfc2VkX2NtZHM9IiRhY19zZWRfY21kcyB8IHNlZCAtZiAkdG1wL3N1YnMtJGFjX3NlZF9mcmFnLnNlZCIKKy0gICAgICBmaQorLSAgICAgIGFjX3NlZF9mcmFnPWBleHByICRhY19zZWRfZnJhZyArIDFgCistICAgICAgYWNfYmVnPSRhY19lbmQKKy0gICAgICBhY19lbmQ9YGV4cHIgJGFjX2VuZCArICRhY19tYXhfc2VkX2xpbmVzYAorLSAgICBmaQorLSAgZG9uZQorLSAgaWYgdGVzdCAteiAiJGFjX3NlZF9jbWRzIjsgdGhlbgorLSAgICBhY19zZWRfY21kcz1jYXQKKysgICMgUmVtb3ZlIGxhc3Qgc2xhc2ggYW5kIGFsbCB0aGF0IGZvbGxvd3MgaXQuICBOb3QgYWxsIHN5c3RlbXMgaGF2ZSBkaXJuYW1lLgorKyAgYWNfZGlyPWBlY2hvICRhY19maWxlfHNlZCAncyUvW14vXVteL10qJCUlJ2AKKysgIGlmIHRlc3QgIiRhY19kaXIiICE9ICIkYWNfZmlsZSIgJiYgdGVzdCAiJGFjX2RpciIgIT0gLjsgdGhlbgorKyAgICAjIFRoZSBmaWxlIGlzIGluIGEgc3ViZGlyZWN0b3J5LgorKyAgICB0ZXN0ICEgLWQgIiRhY19kaXIiICYmIG1rZGlyICIkYWNfZGlyIgorKyAgICBhY19kaXJfc3VmZml4PSIvYGVjaG8gJGFjX2RpcnxzZWQgJ3MlXlwuLyUlJ2AiCisrICAgICMgQSAiLi4vIiBmb3IgZWFjaCBkaXJlY3RvcnkgaW4gJGFjX2Rpcl9zdWZmaXguCisrICAgIGFjX2RvdHM9YGVjaG8gJGFjX2Rpcl9zdWZmaXh8c2VkICdzJS9bXi9dKiUuLi8lZydgCisrICBlbHNlCisrICAgIGFjX2Rpcl9zdWZmaXg9IGFjX2RvdHM9CisgICBmaQorLWZpICMgdGVzdCAtbiAiJENPTkZJR19GSUxFUyIKKyAKKy1fQUNFT0YKKy1jYXQgPj4kQ09ORklHX1NUQVRVUyA8PFxfQUNFT0YKKy1mb3IgYWNfZmlsZSBpbiA6ICRDT05GSUdfRklMRVM7IGRvIHRlc3QgIngkYWNfZmlsZSIgPSB4OiAmJiBjb250aW51ZQorLSAgIyBTdXBwb3J0ICJvdXRmaWxlWzppbmZpbGVbOmluZmlsZS4uLl1dIiwgZGVmYXVsdGluZyBpbmZpbGU9Im91dGZpbGUuaW4iLgorLSAgY2FzZSAkYWNfZmlsZSBpbgorLSAgLSB8ICo6LSB8ICo6LToqICkgIyBpbnB1dCBmcm9tIHN0ZGluCistICAgICAgICBjYXQgPiR0bXAvc3RkaW4KKy0gICAgICAgIGFjX2ZpbGVfaW49YGVjaG8gIiRhY19maWxlIiB8IHNlZCAncyxbXjpdKjosLCdgCistICAgICAgICBhY19maWxlPWBlY2hvICIkYWNfZmlsZSIgfCBzZWQgJ3MsOi4qLCwnYCA7OworLSAgKjoqICkgYWNfZmlsZV9pbj1gZWNobyAiJGFjX2ZpbGUiIHwgc2VkICdzLFteOl0qOiwsJ2AKKy0gICAgICAgIGFjX2ZpbGU9YGVjaG8gIiRhY19maWxlIiB8IHNlZCAncyw6LiosLCdgIDs7CistICAqICkgICBhY19maWxlX2luPSRhY19maWxlLmluIDs7CisrICBjYXNlICIkYWNfZ2l2ZW5fc3JjZGlyIiBpbgorKyAgLikgIHNyY2Rpcj0uCisrICAgICAgaWYgdGVzdCAteiAiJGFjX2RvdHMiOyB0aGVuIHRvcF9zcmNkaXI9LgorKyAgICAgIGVsc2UgdG9wX3NyY2Rpcj1gZWNobyAkYWNfZG90c3xzZWQgJ3MlLyQlJSdgOyBmaSA7OworKyAgLyopIHNyY2Rpcj0iJGFjX2dpdmVuX3NyY2RpciRhY19kaXJfc3VmZml4IjsgdG9wX3NyY2Rpcj0iJGFjX2dpdmVuX3NyY2RpciIgOzsKKysgICopICMgUmVsYXRpdmUgcGF0aC4KKysgICAgc3JjZGlyPSIkYWNfZG90cyRhY19naXZlbl9zcmNkaXIkYWNfZGlyX3N1ZmZpeCIKKysgICAgdG9wX3NyY2Rpcj0iJGFjX2RvdHMkYWNfZ2l2ZW5fc3JjZGlyIiA7OworICAgZXNhYworIAorLSAgIyBDb21wdXRlIEBzcmNkaXJALCBAdG9wX3NyY2RpckAsIGFuZCBASU5TVEFMTEAgZm9yIHN1YmRpcmVjdG9yaWVzLgorLSAgYWNfZGlyPWAoZGlybmFtZSAiJGFjX2ZpbGUiKSAyPi9kZXYvbnVsbCB8fAorLSRhc19leHByIFgiJGFjX2ZpbGUiIDogJ1hcKC4qW14vXVwpLy8qW14vXVteL10qLyokJyBcfCBcCistICAgICAgICAgWCIkYWNfZmlsZSIgOiAnWFwoLy9cKVteL10nIFx8IFwKKy0gICAgICAgICBYIiRhY19maWxlIiA6ICdYXCgvL1wpJCcgXHwgXAorLSAgICAgICAgIFgiJGFjX2ZpbGUiIDogJ1hcKC9cKScgXHwgXAorLSAgICAgICAgIC4gICAgIDogJ1woLlwpJyAyPi9kZXYvbnVsbCB8fAorLWVjaG8gWCIkYWNfZmlsZSIgfAorLSAgICBzZWQgJy9eWFwoLipbXi9dXClcL1wvKlteL11bXi9dKlwvKiQveyBzLy9cMS87IHE7IH0KKy0gIAkgIC9eWFwoXC9cL1wpW14vXS4qL3sgcy8vXDEvOyBxOyB9CistICAJICAvXlhcKFwvXC9cKSQveyBzLy9cMS87IHE7IH0KKy0gIAkgIC9eWFwoXC9cKS4qL3sgcy8vXDEvOyBxOyB9CistICAJICBzLy4qLy4vOyBxJ2AKKy0gIHsgaWYgJGFzX21rZGlyX3A7IHRoZW4KKy0gICAgbWtkaXIgLXAgIiRhY19kaXIiCistICBlbHNlCistICAgIGFzX2Rpcj0iJGFjX2RpciIKKy0gICAgYXNfZGlycz0KKy0gICAgd2hpbGUgdGVzdCAhIC1kICIkYXNfZGlyIjsgZG8KKy0gICAgICBhc19kaXJzPSIkYXNfZGlyICRhc19kaXJzIgorLSAgICAgIGFzX2Rpcj1gKGRpcm5hbWUgIiRhc19kaXIiKSAyPi9kZXYvbnVsbCB8fAorLSRhc19leHByIFgiJGFzX2RpciIgOiAnWFwoLipbXi9dXCkvLypbXi9dW14vXSovKiQnIFx8IFwKKy0gICAgICAgICBYIiRhc19kaXIiIDogJ1hcKC8vXClbXi9dJyBcfCBcCistICAgICAgICAgWCIkYXNfZGlyIiA6ICdYXCgvL1wpJCcgXHwgXAorLSAgICAgICAgIFgiJGFzX2RpciIgOiAnWFwoL1wpJyBcfCBcCistICAgICAgICAgLiAgICAgOiAnXCguXCknIDI+L2Rldi9udWxsIHx8CistZWNobyBYIiRhc19kaXIiIHwKKy0gICAgc2VkICcvXlhcKC4qW14vXVwpXC9cLypbXi9dW14vXSpcLyokL3sgcy8vXDEvOyBxOyB9CistICAJICAvXlhcKFwvXC9cKVteL10uKi97IHMvL1wxLzsgcTsgfQorLSAgCSAgL15YXChcL1wvXCkkL3sgcy8vXDEvOyBxOyB9CistICAJICAvXlhcKFwvXCkuKi97IHMvL1wxLzsgcTsgfQorLSAgCSAgcy8uKi8uLzsgcSdgCistICAgIGRvbmUKKy0gICAgdGVzdCAhIC1uICIkYXNfZGlycyIgfHwgbWtkaXIgJGFzX2RpcnMKKy0gIGZpIHx8IHsgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogZXJyb3I6IGNhbm5vdCBjcmVhdGUgZGlyZWN0b3J5IFwiJGFjX2RpclwiIiA+JjUKKy1lY2hvICIkYXNfbWU6IGVycm9yOiBjYW5ub3QgY3JlYXRlIGRpcmVjdG9yeSBcIiRhY19kaXJcIiIgPiYyO30KKy0gICB7IChleGl0IDEpOyBleGl0IDE7IH07IH07IH0KKysgIGNhc2UgIiRhY19naXZlbl9JTlNUQUxMIiBpbgorKyAgWy8kXSopIElOU1RBTEw9IiRhY19naXZlbl9JTlNUQUxMIiA7OworKyAgKikgSU5TVEFMTD0iJGFjX2RvdHMkYWNfZ2l2ZW5fSU5TVEFMTCIgOzsKKysgIGVzYWMKKyAKKy0gIGFjX2J1aWxkZGlyPS4KKy0KKy1pZiB0ZXN0ICIkYWNfZGlyIiAhPSAuOyB0aGVuCistICBhY19kaXJfc3VmZml4PS9gZWNobyAiJGFjX2RpciIgfCBzZWQgJ3MsXlwuW1xcL10sLCdgCistICAjIEEgIi4uLyIgZm9yIGVhY2ggZGlyZWN0b3J5IGluICRhY19kaXJfc3VmZml4LgorLSAgYWNfdG9wX2J1aWxkZGlyPWBlY2hvICIkYWNfZGlyX3N1ZmZpeCIgfCBzZWQgJ3MsL1teXFwvXSosLi4vLGcnYAorLWVsc2UKKy0gIGFjX2Rpcl9zdWZmaXg9IGFjX3RvcF9idWlsZGRpcj0KKy1maQorLQorLWNhc2UgJHNyY2RpciBpbgorLSAgLikgICMgTm8gLS1zcmNkaXIgb3B0aW9uLiAgV2UgYXJlIGJ1aWxkaW5nIGluIHBsYWNlLgorLSAgICBhY19zcmNkaXI9LgorLSAgICBpZiB0ZXN0IC16ICIkYWNfdG9wX2J1aWxkZGlyIjsgdGhlbgorLSAgICAgICBhY190b3Bfc3JjZGlyPS4KKy0gICAgZWxzZQorLSAgICAgICBhY190b3Bfc3JjZGlyPWBlY2hvICRhY190b3BfYnVpbGRkaXIgfCBzZWQgJ3MsLyQsLCdgCistICAgIGZpIDs7CistICBbXFwvXSogfCA/OltcXC9dKiApICAjIEFic29sdXRlIHBhdGguCistICAgIGFjX3NyY2Rpcj0kc3JjZGlyJGFjX2Rpcl9zdWZmaXg7CistICAgIGFjX3RvcF9zcmNkaXI9JHNyY2RpciA7OworLSAgKikgIyBSZWxhdGl2ZSBwYXRoLgorLSAgICBhY19zcmNkaXI9JGFjX3RvcF9idWlsZGRpciRzcmNkaXIkYWNfZGlyX3N1ZmZpeAorLSAgICBhY190b3Bfc3JjZGlyPSRhY190b3BfYnVpbGRkaXIkc3JjZGlyIDs7CistZXNhYworLSMgRG9uJ3QgYmxpbmRseSBwZXJmb3JtIGEgYGNkICIkYWNfZGlyIi8kYWNfZm9vICYmIHB3ZGAgc2luY2UgJGFjX2ZvbyBjYW4gYmUKKy0jIGFic29sdXRlLgorLWFjX2Fic19idWlsZGRpcj1gY2QgIiRhY19kaXIiICYmIGNkICRhY19idWlsZGRpciAmJiBwd2RgCistYWNfYWJzX3RvcF9idWlsZGRpcj1gY2QgIiRhY19kaXIiICYmIGNkICR7YWNfdG9wX2J1aWxkZGlyfS4gJiYgcHdkYAorLWFjX2Fic19zcmNkaXI9YGNkICIkYWNfZGlyIiAmJiBjZCAkYWNfc3JjZGlyICYmIHB3ZGAKKy1hY19hYnNfdG9wX3NyY2Rpcj1gY2QgIiRhY19kaXIiICYmIGNkICRhY190b3Bfc3JjZGlyICYmIHB3ZGAKKy0KKy0KKy0gIGNhc2UgJElOU1RBTEwgaW4KKy0gIFtcXC8kXSogfCA/OltcXC9dKiApIGFjX0lOU1RBTEw9JElOU1RBTEwgOzsKKy0gICopIGFjX0lOU1RBTEw9JGFjX3RvcF9idWlsZGRpciRJTlNUQUxMIDs7CisrICBlY2hvIGNyZWF0aW5nICIkYWNfZmlsZSIKKysgIHJtIC1mICIkYWNfZmlsZSIKKysgIGNvbmZpZ3VyZV9pbnB1dD0iR2VuZXJhdGVkIGF1dG9tYXRpY2FsbHkgZnJvbSBgZWNobyAkYWNfZmlsZV9pbnxzZWQgJ3MlLiovJSUnYCBieSBjb25maWd1cmUuIgorKyAgY2FzZSAiJGFjX2ZpbGUiIGluCisrICAqTWFrZWZpbGUqKSBhY19jb21zdWI9IjFpXFwKKysjICRjb25maWd1cmVfaW5wdXQiIDs7CisrICAqKSBhY19jb21zdWI9IDs7CisgICBlc2FjCisgCistICBpZiB0ZXN0IHgiJGFjX2ZpbGUiICE9IHgtOyB0aGVuCistICAgIHsgZWNobyAiJGFzX21lOiRMSU5FTk86IGNyZWF0aW5nICRhY19maWxlIiA+JjUKKy1lY2hvICIkYXNfbWU6IGNyZWF0aW5nICRhY19maWxlIiA+JjY7fQorLSAgICBybSAtZiAiJGFjX2ZpbGUiCistICBmaQorLSAgIyBMZXQncyBzdGlsbCBwcmV0ZW5kIGl0IGlzIGBjb25maWd1cmUnIHdoaWNoIGluc3RhbnRpYXRlcyAoaS5lLiwgZG9uJ3QKKy0gICMgdXNlICRhc19tZSksIHBlb3BsZSB3b3VsZCBiZSBzdXJwcmlzZWQgdG8gcmVhZDoKKy0gICMgICAgLyogY29uZmlnLmguICBHZW5lcmF0ZWQgYnkgY29uZmlnLnN0YXR1cy4gICovCistICBpZiB0ZXN0IHgiJGFjX2ZpbGUiID0geC07IHRoZW4KKy0gICAgY29uZmlndXJlX2lucHV0PQorLSAgZWxzZQorLSAgICBjb25maWd1cmVfaW5wdXQ9IiRhY19maWxlLiAgIgorLSAgZmkKKy0gIGNvbmZpZ3VyZV9pbnB1dD0kY29uZmlndXJlX2lucHV0IkdlbmVyYXRlZCBmcm9tIGBlY2hvICRhY19maWxlX2luIHwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VkICdzLC4qLywsJ2AgYnkgY29uZmlndXJlLiIKKysgIGFjX2ZpbGVfaW5wdXRzPWBlY2hvICRhY19maWxlX2lufHNlZCAtZSAicyVeJSRhY19naXZlbl9zcmNkaXIvJSIgLWUgInMlOiUgJGFjX2dpdmVuX3NyY2Rpci8lZyJgCisrICBzZWQgLWUgIiRhY19jb21zdWIKKytzJUBjb25maWd1cmVfaW5wdXRAJSRjb25maWd1cmVfaW5wdXQlZworK3MlQHNyY2RpckAlJHNyY2RpciVnCisrcyVAdG9wX3NyY2RpckAlJHRvcF9zcmNkaXIlZworK3MlQElOU1RBTExAJSRJTlNUQUxMJWcKKysiICRhY19maWxlX2lucHV0cyB8IChldmFsICIkYWNfc2VkX2NtZHMiKSA+ICRhY19maWxlCisrZmk7IGRvbmUKKytybSAtZiBjb25mdGVzdC5zKgorIAorLSAgIyBGaXJzdCBsb29rIGZvciB0aGUgaW5wdXQgZmlsZXMgaW4gdGhlIGJ1aWxkIHRyZWUsIG90aGVyd2lzZSBpbiB0aGUKKy0gICMgc3JjIHRyZWUuCistICBhY19maWxlX2lucHV0cz1gSUZTPToKKy0gICAgZm9yIGYgaW4gJGFjX2ZpbGVfaW47IGRvCistICAgICAgY2FzZSAkZiBpbgorLSAgICAgIC0pIGVjaG8gJHRtcC9zdGRpbiA7OworLSAgICAgIFtcXC8kXSopCistICAgICAgICAgIyBBYnNvbHV0ZSAoY2FuJ3QgYmUgRE9TLXN0eWxlLCBhcyBJRlM9OikKKy0gICAgICAgICB0ZXN0IC1mICIkZiIgfHwgeyB7IGVjaG8gIiRhc19tZTokTElORU5POiBlcnJvcjogY2Fubm90IGZpbmQgaW5wdXQgZmlsZTogJGYiID4mNQorLWVjaG8gIiRhc19tZTogZXJyb3I6IGNhbm5vdCBmaW5kIGlucHV0IGZpbGU6ICRmIiA+JjI7fQorLSAgIHsgKGV4aXQgMSk7IGV4aXQgMTsgfTsgfQorLSAgICAgICAgIGVjaG8gJGY7OworLSAgICAgICopICMgUmVsYXRpdmUKKy0gICAgICAgICBpZiB0ZXN0IC1mICIkZiI7IHRoZW4KKy0gICAgICAgICAgICMgQnVpbGQgdHJlZQorLSAgICAgICAgICAgZWNobyAkZgorLSAgICAgICAgIGVsaWYgdGVzdCAtZiAiJHNyY2Rpci8kZiI7IHRoZW4KKy0gICAgICAgICAgICMgU291cmNlIHRyZWUKKy0gICAgICAgICAgIGVjaG8gJHNyY2Rpci8kZgorLSAgICAgICAgIGVsc2UKKy0gICAgICAgICAgICMgL2Rldi9udWxsIHRyZWUKKy0gICAgICAgICAgIHsgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogZXJyb3I6IGNhbm5vdCBmaW5kIGlucHV0IGZpbGU6ICRmIiA+JjUKKy1lY2hvICIkYXNfbWU6IGVycm9yOiBjYW5ub3QgZmluZCBpbnB1dCBmaWxlOiAkZiIgPiYyO30KKy0gICB7IChleGl0IDEpOyBleGl0IDE7IH07IH0KKy0gICAgICAgICBmaTs7CistICAgICAgZXNhYworLSAgICBkb25lYCB8fCB7IChleGl0IDEpOyBleGl0IDE7IH0KKy1fQUNFT0YKKy1jYXQgPj4kQ09ORklHX1NUQVRVUyA8PF9BQ0VPRgorLSAgc2VkICIkYWNfdnBzdWIKKy0kZXh0cmFzdWIKKy1fQUNFT0YKKy1jYXQgPj4kQ09ORklHX1NUQVRVUyA8PFxfQUNFT0YKKy06dAorLS9AW2EtekEtWl9dW2EtekEtWl8wLTldKkAvIWIKKy1zLEBjb25maWd1cmVfaW5wdXRALCRjb25maWd1cmVfaW5wdXQsO3QgdAorLXMsQHNyY2RpckAsJGFjX3NyY2Rpciw7dCB0CistcyxAYWJzX3NyY2RpckAsJGFjX2Fic19zcmNkaXIsO3QgdAorLXMsQHRvcF9zcmNkaXJALCRhY190b3Bfc3JjZGlyLDt0IHQKKy1zLEBhYnNfdG9wX3NyY2RpckAsJGFjX2Fic190b3Bfc3JjZGlyLDt0IHQKKy1zLEBidWlsZGRpckAsJGFjX2J1aWxkZGlyLDt0IHQKKy1zLEBhYnNfYnVpbGRkaXJALCRhY19hYnNfYnVpbGRkaXIsO3QgdAorLXMsQHRvcF9idWlsZGRpckAsJGFjX3RvcF9idWlsZGRpciw7dCB0CistcyxAYWJzX3RvcF9idWlsZGRpckAsJGFjX2Fic190b3BfYnVpbGRkaXIsO3QgdAorLXMsQElOU1RBTExALCRhY19JTlNUQUxMLDt0IHQKKy0iICRhY19maWxlX2lucHV0cyB8IChldmFsICIkYWNfc2VkX2NtZHMiKSA+JHRtcC9vdXQKKy0gIHJtIC1mICR0bXAvc3RkaW4KKy0gIGlmIHRlc3QgeCIkYWNfZmlsZSIgIT0geC07IHRoZW4KKy0gICAgbXYgJHRtcC9vdXQgJGFjX2ZpbGUKKy0gIGVsc2UKKy0gICAgY2F0ICR0bXAvb3V0CistICAgIHJtIC1mICR0bXAvb3V0CistICBmaQorK0VPRgorK2NhdCA+PiAkQ09ORklHX1NUQVRVUyA8PEVPRgorIAorLWRvbmUKKy1fQUNFT0YKKytFT0YKKytjYXQgPj4gJENPTkZJR19TVEFUVVMgPDxcRU9GCisgCistY2F0ID4+JENPTkZJR19TVEFUVVMgPDxcX0FDRU9GCistCisteyAoZXhpdCAwKTsgZXhpdCAwOyB9CistX0FDRU9GCisrZXhpdCAwCisrRU9GCisgY2htb2QgK3ggJENPTkZJR19TVEFUVVMKKy1hY19jbGVhbl9maWxlcz0kYWNfY2xlYW5fZmlsZXNfc2F2ZQorK3JtIC1mciBjb25mZGVmcyogJGFjX2NsZWFuX2ZpbGVzCisrdGVzdCAiJG5vX2NyZWF0ZSIgPSB5ZXMgfHwgJHtDT05GSUdfU0hFTEwtL2Jpbi9zaH0gJENPTkZJR19TVEFUVVMgfHwgZXhpdCAxCisgCistCistIyBjb25maWd1cmUgaXMgd3JpdGluZyB0byBjb25maWcubG9nLCBhbmQgdGhlbiBjYWxscyBjb25maWcuc3RhdHVzLgorLSMgY29uZmlnLnN0YXR1cyBkb2VzIGl0cyBvd24gcmVkaXJlY3Rpb24sIGFwcGVuZGluZyB0byBjb25maWcubG9nLgorLSMgVW5mb3J0dW5hdGVseSwgb24gRE9TIHRoaXMgZmFpbHMsIGFzIGNvbmZpZy5sb2cgaXMgc3RpbGwga2VwdCBvcGVuCistIyBieSBjb25maWd1cmUsIHNvIGNvbmZpZy5zdGF0dXMgd29uJ3QgYmUgYWJsZSB0byB3cml0ZSB0byBpdDsgaXRzCistIyBvdXRwdXQgaXMgc2ltcGx5IGRpc2NhcmRlZC4gIFNvIHdlIGV4ZWMgdGhlIEZEIHRvIC9kZXYvbnVsbCwKKy0jIGVmZmVjdGl2ZWx5IGNsb3NpbmcgY29uZmlnLmxvZywgc28gaXQgY2FuIGJlIHByb3Blcmx5IChyZSlvcGVuZWQgYW5kCistIyBhcHBlbmRlZCB0byBieSBjb25maWcuc3RhdHVzLiAgV2hlbiBjb21pbmcgYmFjayB0byBjb25maWd1cmUsIHdlCistIyBuZWVkIHRvIG1ha2UgdGhlIEZEIGF2YWlsYWJsZSBhZ2Fpbi4KKy1pZiB0ZXN0ICIkbm9fY3JlYXRlIiAhPSB5ZXM7IHRoZW4KKy0gIGFjX2NzX3N1Y2Nlc3M9OgorLSAgYWNfY29uZmlnX3N0YXR1c19hcmdzPQorLSAgdGVzdCAiJHNpbGVudCIgPSB5ZXMgJiYKKy0gICAgYWNfY29uZmlnX3N0YXR1c19hcmdzPSIkYWNfY29uZmlnX3N0YXR1c19hcmdzIC0tcXVpZXQiCistICBleGVjIDU+L2Rldi9udWxsCistICAkU0hFTEwgJENPTkZJR19TVEFUVVMgJGFjX2NvbmZpZ19zdGF0dXNfYXJncyB8fCBhY19jc19zdWNjZXNzPWZhbHNlCistICBleGVjIDU+PmNvbmZpZy5sb2cKKy0gICMgVXNlIHx8LCBub3QgJiYsIHRvIGF2b2lkIGV4aXRpbmcgZnJvbSB0aGUgaWYgd2l0aCAkPyA9IDEsIHdoaWNoCistICAjIHdvdWxkIG1ha2UgY29uZmlndXJlIGZhaWwgaWYgdGhpcyBpcyB0aGUgbGFzdCBpbnN0cnVjdGlvbi4KKy0gICRhY19jc19zdWNjZXNzIHx8IHsgKGV4aXQgMSk7IGV4aXQgMTsgfQorLWZpCistCitJbmRleDogY29uZmlndXJlLmluCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZmxpdGUtMS4zLXJlbGVhc2UvY29uZmlndXJlLmluCSguLi4vZmxpdGUtMS4zLW9yaWcpCShyZXZpc2lvbiA3KQorKysrIGZsaXRlLTEuMy1yZWxlYXNlL2NvbmZpZ3VyZS5pbgkoLi4uL3JlbGVhc2UtMS4yKQkocmV2aXNpb24gNykKK0BAIC0yMDYsMTAgKzIwNiwxMCBAQAorIEFDX0NIRUNLX0hFQURFUihzeXMvYXVkaW9pby5oLAorICAgICAgICAgICAgICAgW0FVRElPRFJJVkVSPSJzdW4iCisgICAgICAgICAgICAgICAgQVVESU9ERUZTPS1EQ1NUX0FVRElPX1NVTk9TXSkKKy1kbmwgQUNfQ0hFQ0tfSEVBREVSKHN5cy9hc291bmRsaWIuaCwKKy1kbmwgICAgICAgICAgICAgIFtBVURJT0RSSVZFUj0iYWxzYSIKKy1kbmwJICAgICAgIEFVRElPREVGUz0tRENTVF9BVURJT19BTFNBCistZG5sICAgICAgICAgICAgICAgQVVESU9MSUJTPS1sYXNvdW5kXSkKKysgQUNfQ0hFQ0tfSEVBREVSKGFsc2EvYXNvdW5kbGliLmgsCisrICAgICAgICAgICAgICBbQVVESU9EUklWRVI9ImFsc2EiCisrCSAgICAgICBBVURJT0RFRlM9LURDU1RfQVVESU9fQUxTQQorKyAgICAgICAgICAgICAgIEFVRElPTElCUz0tbGFzb3VuZF0pCisgQUNfQ0hFQ0tfSEVBREVSKG1tc3lzdGVtLmgsCisgCSAgICAgIFtBVURJT0RSSVZFUj0id2luY2UiCisgCSAgICAgICBBVURJT0RFRlM9LURDU1RfQVVESU9fV0lOQ0UKK0luZGV4OiBzcmMvaHJnL01ha2VmaWxlCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZmxpdGUtMS4zLXJlbGVhc2Uvc3JjL2hyZy9NYWtlZmlsZQkoLi4uL2ZsaXRlLTEuMy1vcmlnKQkocmV2aXNpb24gNykKKysrKyBmbGl0ZS0xLjMtcmVsZWFzZS9zcmMvaHJnL01ha2VmaWxlCSguLi4vcmVsZWFzZS0xLjIpCShyZXZpc2lvbiA3KQorQEAgLTM5LDkgKzM5LDE0IEBACisgQlVJTERfRElSUyA9IAorIEFMTF9ESVJTPSAKKyBIID0gCisraW5jbHVkZSAkKFRPUCkvY29uZmlnL2NvbmZpZworIFNSQ1MgPSBjc3RfdXR0ZXJhbmNlLmMgY3N0X3JlbGF0aW9uLmMgY3N0X2l0ZW0uYyBjc3RfZmZlYXR1cmUuYyBcCisgICAgICAgIGNzdF9yZWxfaW8uYworLU9CSlMgPSAkKFNSQ1M6LmM9Lm8pCisraWZkZWYgU0hGTEFHUworK09CSlMgOj0gJChTUkNTOi5jPS5vcykKKytlbHNlCisrT0JKUyA6PSAkKFNSQ1M6LmM9Lm8pCisrZW5kaWYKKyBGSUxFUyA9IE1ha2VmaWxlICQoSCkgJChTUkNTKQorIExJQk5BTUUgPSBmbGl0ZQorIAorSW5kZXg6IHNyYy91dGlscy9NYWtlZmlsZQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGZsaXRlLTEuMy1yZWxlYXNlL3NyYy91dGlscy9NYWtlZmlsZQkoLi4uL2ZsaXRlLTEuMy1vcmlnKQkocmV2aXNpb24gNykKKysrKyBmbGl0ZS0xLjMtcmVsZWFzZS9zcmMvdXRpbHMvTWFrZWZpbGUJKC4uLi9yZWxlYXNlLTEuMikJKHJldmlzaW9uIDcpCitAQCAtNDQsOCArNDQsMTMgQEAKKyAgICAgICAgY3N0X3Rva2Vuc3RyZWFtLmMgY3N0X3ZhbC5jIGNzdF9mZWF0dXJlcy5jIFwKKyAgICAgICAgY3N0X2VuZGlhbi5jIGNzdF9zb2NrZXQuYyBjc3RfdmFsX2NvbnN0LmMgXAorICAgICAgICBjc3RfdmFsX3VzZXIuYyBjc3RfYXJncy5jIAorK2lmZGVmIFNIRkxBR1MKKytPQkpTIDo9ICQoU1JDUzouYz0ub3MpICQoTU1BUFRZUEU6JT1jc3RfbW1hcF8lLm9zKSBcCisrICAgICAgICAkKFNURElPVFlQRTolPWNzdF9maWxlXyUub3MpCisrZWxzZQorIE9CSlMgOj0gJChTUkNTOi5jPS5vKSAkKE1NQVBUWVBFOiU9Y3N0X21tYXBfJS5vKSBcCisgICAgICAgICAkKFNURElPVFlQRTolPWNzdF9maWxlXyUubykKKytlbmRpZgorIEZJTEVTID0gTWFrZWZpbGUgJChIKSAkKFNSQ1MpIFwKKyAJY3N0X21tYXBfcG9zaXguYyBjc3RfbW1hcF93aW4zMi5jIGNzdF9tbWFwX25vbmUuYyBcCisgCWNzdF9maWxlX3N0ZGlvLmMgY3N0X2ZpbGVfd2luY2UuYyBjc3RfZmlsZV9wYWxtb3MuYworSW5kZXg6IHNyYy9hdWRpby9hdV9hbHNhLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBmbGl0ZS0xLjMtcmVsZWFzZS9zcmMvYXVkaW8vYXVfYWxzYS5jCSguLi4vZmxpdGUtMS4zLW9yaWcpCShyZXZpc2lvbiAwKQorKysrIGZsaXRlLTEuMy1yZWxlYXNlL3NyYy9hdWRpby9hdV9hbHNhLmMJKC4uLi9yZWxlYXNlLTEuMikJKHJldmlzaW9uIDcpCitAQCAtMCwwICsxLDMxMSBAQAorKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworKy8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworKy8qICAgICAgICAgICAgICAgICAgTGFuZ3VhZ2UgVGVjaG5vbG9naWVzIEluc3RpdHV0ZSAgICAgICAgICAgICAgICAgICAgICAqLworKy8qICAgICAgICAgICAgICAgICAgICAgQ2FybmVnaWUgTWVsbG9uIFVuaXZlcnNpdHkgICAgICAgICAgICAgICAgICAgICAgICAqLworKy8qICAgICAgICAgICAgICAgICAgICAgICAgQ29weXJpZ2h0IChjKSAyMDAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworKy8qICAgICAgICAgICAgICAgICAgICAgICAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4gICAgICAgICAgICAgICAgICAgICAgICAgICAqLworKy8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworKy8qICBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gdXNlIGFuZCBkaXN0cmlidXRlICAqLworKy8qICB0aGlzIHNvZnR3YXJlIGFuZCBpdHMgZG9jdW1lbnRhdGlvbiB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgICAqLworKy8qICB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsICAqLworKy8qICBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhpcyB3b3JrLCBhbmQgdG8gICAgICAqLworKy8qICBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoaXMgd29yayBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gICAqLworKy8qICB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworKy8qICAgMS4gVGhlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiAgICAqLworKy8qICAgICAgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAgICAgICAgICAgICAgICAgICAgICAgICAqLworKy8qICAgMi4gQW55IG1vZGlmaWNhdGlvbnMgbXVzdCBiZSBjbGVhcmx5IG1hcmtlZCBhcyBzdWNoLiAgICAgICAgICAgICAgICAqLworKy8qICAgMy4gT3JpZ2luYWwgYXV0aG9ycycgbmFtZXMgYXJlIG5vdCBkZWxldGVkLiAgICAgICAgICAgICAgICAgICAgICAgICAqLworKy8qICAgNC4gVGhlIGF1dGhvcnMnIG5hbWVzIGFyZSBub3QgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgICAqLworKy8qICAgICAgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuICAgICAgICAqLworKy8qICAgICAgcGVybWlzc2lvbi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworKy8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworKy8qICBDQVJORUdJRSBNRUxMT04gVU5JVkVSU0lUWSBBTkQgVEhFIENPTlRSSUJVVE9SUyBUTyBUSElTIFdPUksgICAgICAgICAqLworKy8qICBESVNDTEFJTSBBTEwgV0FSUkFOVElFUyBXSVRIIFJFR0FSRCBUTyBUSElTIFNPRlRXQVJFLCBJTkNMVURJTkcgICAgICAqLworKy8qICBBTEwgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUywgSU4gTk8gRVZFTlQgICAqLworKy8qICBTSEFMTCBDQVJORUdJRSBNRUxMT04gVU5JVkVSU0lUWSBOT1IgVEhFIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgICAgICAqLworKy8qICBGT1IgQU5ZIFNQRUNJQUwsIElORElSRUNUIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUyAgICAqLworKy8qICBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NIExPU1MgT0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gICAqLworKy8qICBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1IgT1RIRVIgVE9SVElPVVMgQUNUSU9OLCAgICAgICAgICAqLworKy8qICBBUklTSU5HIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBPUiBQRVJGT1JNQU5DRSBPRiAgICAgICAqLworKy8qICBUSElTIFNPRlRXQVJFLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworKy8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLworKy8qICAgICAgICAgICAgIEF1dGhvcjogIEx1a2FzIExvZWhyZXIgKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworKy8qICAgICAgICAgICAgICAgRGF0ZTogIEphbnVhcnkgMjAwNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworKy8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworKy8qICBOYXRpdmUgYWNjZXNzIHRvIGFsc2EgYXVkaW8gZGV2aWNlcyBvbiBMaW51eCAgICAgICAgICAgICAgICAgICAgICAgICAqLworKy8qICBUZXN0ZWQgd2l0aCBsaWJhc291bmQgdmVyc2lvbiAxLjAuMTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworKworKyNpbmNsdWRlIDxzdGRsaWIuaD4KKysjaW5jbHVkZSA8dW5pc3RkLmg+CisrI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorKyNpbmNsdWRlIDxhc3NlcnQuaD4KKysjaW5jbHVkZSA8ZXJybm8uaD4KKysKKysjaW5jbHVkZSAiY3N0X3N0cmluZy5oIgorKyNpbmNsdWRlICJjc3Rfd2F2ZS5oIgorKyNpbmNsdWRlICJjc3RfYXVkaW8uaCIKKysKKysjaW5jbHVkZSA8YWxzYS9hc291bmRsaWIuaD4KKysKKysKKysvKnN0YXRpYyBjaGFyICpwY21fZGV2X25hbWUgPSAiaHc6MCwwIjsgKi8KKytzdGF0aWMgY2hhciAqcGNtX2Rldl9uYW1lID0iZGVmYXVsdCI7CisrCisrc3RhdGljIGlubGluZSB2b2lkIHByaW50X3BjbV9zdGF0ZShzbmRfcGNtX3QgKmhhbmRsZSwgY2hhciAqbXNnKQorK3sKKysgIGZwcmludGYoc3RkZXJyLCAiUENNIHN0YXRlIGF0ICVzID0gJXNcbiIsIG1zZywKKysJCSAgc25kX3BjbV9zdGF0ZV9uYW1lKHNuZF9wY21fc3RhdGUoaGFuZGxlKSkpOworK30KKysKKytjc3RfYXVkaW9kZXYgKmF1ZGlvX29wZW5fYWxzYShpbnQgc3BzLCBpbnQgY2hhbm5lbHMsIGNzdF9hdWRpb2ZtdCBmbXQpCisreworKyAgY3N0X2F1ZGlvZGV2ICphZDsKKysgIHVuc2lnbmVkIAlpbnQgcmVhbF9yYXRlOworKyAgaW50IGVycjsKKysKKysgIC8qIGFsc2Egc3BlY2lmaWMgc3R1ZmYgKi8KKysgIHNuZF9wY21fdCAqcGNtX2hhbmRsZTsgICAgICAgICAgCisrICBzbmRfcGNtX3N0cmVhbV90IHN0cmVhbSA9IFNORF9QQ01fU1RSRUFNX1BMQVlCQUNLOworKyAgc25kX3BjbV9od19wYXJhbXNfdCAqaHdwYXJhbXM7CisrICBzbmRfcGNtX2Zvcm1hdF90IGZvcm1hdDsKKysgIHNuZF9wY21fYWNjZXNzX3QgYWNjZXNzID0gU05EX1BDTV9BQ0NFU1NfUldfSU5URVJMRUFWRUQ7CisrCisrICAvKiBBbGxvY2F0ZSB0aGUgc25kX3BjbV9od19wYXJhbXNfdCBzdHJ1Y3R1cmUgb24gdGhlIHN0YWNrLiAqLworKyAgc25kX3BjbV9od19wYXJhbXNfYWxsb2NhKCZod3BhcmFtcyk7CisrCisrICAvKiBPcGVuIHBjbSBkZXZpY2UgKi8KKysgIGVyciA9IHNuZF9wY21fb3BlbigmcGNtX2hhbmRsZSwgcGNtX2Rldl9uYW1lLCBzdHJlYW0sIDApOworKyAgaWYgKGVyciA8IDApIAorKyAgeworKwljc3RfZXJybXNnKCJhdWRpb19vcGVuX2Fsc2E6IGZhaWxlZCB0byBvcGVuIGF1ZGlvIGRldmljZSAlcy4gJXNcbiIsCisrCQkJICAgcGNtX2Rldl9uYW1lLCBzbmRfc3RyZXJyb3IoZXJyKSk7CisrCXJldHVybiBOVUxMOworKyAgfQorKworKyAgLyogSW5pdCBod3BhcmFtcyB3aXRoIGZ1bGwgY29uZmlndXJhdGlvbiBzcGFjZSAqLworKyAgZXJyID0gc25kX3BjbV9od19wYXJhbXNfYW55KHBjbV9oYW5kbGUsIGh3cGFyYW1zKTsKKysgIGlmIChlcnIgPCAwKSAKKysgIHsKKysJc25kX3BjbV9jbG9zZShwY21faGFuZGxlKTsKKysJY3N0X2Vycm1zZygiYXVkaW9fb3Blbl9hbHNhOiBmYWlsZWQgdG8gZ2V0IGhhcmR3YXJlIHBhcmFtZXRlcnMgZnJvbSBhdWRpbyBkZXZpY2UuICVzXG4iLCBzbmRfc3RyZXJyb3IoZXJyKSk7CisrCXJldHVybiBOVUxMOworKyAgfQorKworKyAgLyogU2V0IGFjY2VzcyBtb2RlICovCisrICBlcnIgPSBzbmRfcGNtX2h3X3BhcmFtc19zZXRfYWNjZXNzKHBjbV9oYW5kbGUsIGh3cGFyYW1zLCBhY2Nlc3MpOworKyAgaWYgKGVyciA8IDApIAorKyAgeworKwlzbmRfcGNtX2Nsb3NlKHBjbV9oYW5kbGUpOworKwljc3RfZXJybXNnKCJhdWRpb19vcGVuX2Fsc2E6IGZhaWxlZCB0byBzZXQgYWNjZXNzIG1vZGUuICVzLlxuIiwgc25kX3N0cmVycm9yKGVycikpOworKwlyZXR1cm4gTlVMTDsKKysgIH0KKysKKysgIC8qIERldGVybWluZSBtYXRjaGluZyBhbHNhIHNhbXBsZSBmb3JtYXQgKi8KKysgIC8qIFRoaXMgY291bGQgYmUgaW1wbGVtZW50ZWQgaW4gYSBtb3JlICovCisrICAvKiBmbGV4aWJsZSB3YXkgKGJ5dGUgb3JkZXIgY29udmVyc2lvbikuICovCisrICBzd2l0Y2ggKGZtdCkKKysgIHsKKysgIGNhc2UgQ1NUX0FVRElPX0xJTkVBUjE2OgorKwlpZiAoQ1NUX0xJVFRMRV9FTkRJQU4pCisrCSAgZm9ybWF0ID0gU05EX1BDTV9GT1JNQVRfUzE2X0xFOworKwllbHNlCisrCSAgZm9ybWF0ID0gU05EX1BDTV9GT1JNQVRfUzE2X0JFOworKwlicmVhazsKKysgIGNhc2UgQ1NUX0FVRElPX0xJTkVBUjg6CisrCWZvcm1hdCA9IFNORF9QQ01fRk9STUFUX1U4OworKwlicmVhazsKKysgIGNhc2UgQ1NUX0FVRElPX01VTEFXOgorKwlmb3JtYXQgPSBTTkRfUENNX0ZPUk1BVF9NVV9MQVc7CisrCWJyZWFrOworKyAgZGVmYXVsdDoKKysJc25kX3BjbV9jbG9zZShwY21faGFuZGxlKTsKKysJY3N0X2Vycm1zZygiYXVkaW9fb3Blbl9hbHNhOiBmYWlsZWQgdG8gZmluZCBzdWl0YWJsZSBmb3JtYXQuXG4iKTsKKysJcmV0dXJuIE5VTEw7CisrCWJyZWFrOworKyAgfQorKworKyAgLyogU2V0IHNhbWJsZSBmb3JtYXQgKi8KKysgIGVyciA9IHNuZF9wY21faHdfcGFyYW1zX3NldF9mb3JtYXQocGNtX2hhbmRsZSwgaHdwYXJhbXMsIGZvcm1hdCk7CisrICBpZiAoZXJyIDwwKSAKKysgIHsKKysJc25kX3BjbV9jbG9zZShwY21faGFuZGxlKTsKKysJY3N0X2Vycm1zZygiYXVkaW9fb3Blbl9hbHNhOiBmYWlsZWQgdG8gc2V0IGZvcm1hdC4gJXMuXG4iLCBzbmRfc3RyZXJyb3IoZXJyKSk7CisrCXJldHVybiBOVUxMOworKyAgfQorKworKyAgLyogU2V0IHNhbXBsZSByYXRlIG5lYXIgdGhlIGRpc2lyZWQgcmF0ZSAqLworKyAgcmVhbF9yYXRlID0gc3BzOworKyAgZXJyID0gc25kX3BjbV9od19wYXJhbXNfc2V0X3JhdGVfbmVhcihwY21faGFuZGxlLCBod3BhcmFtcywgJnJlYWxfcmF0ZSwgMCk7CisrICBpZiAoZXJyIDwgMCkgICAKKysgIHsKKysJc25kX3BjbV9jbG9zZShwY21faGFuZGxlKTsKKysJY3N0X2Vycm1zZygiYXVkaW9fb3Blbl9hbHNhOiBmYWlsZWQgdG8gc2V0IHNhbXBsZSByYXRlIG5lYXIgJWQuICVzLlxuIiwgc3BzLCBzbmRfc3RyZXJyb3IoZXJyKSk7CisrCXJldHVybiBOVUxMOworKyAgfQorKyAgLypGSVhNRTogIFRoaXMgaXMgcHJvYmFibHkgdG9vIHN0cmljdCAqLworKyAgYXNzZXJ0KHNwcyA9PSByZWFsX3JhdGUpOworKworKyAgLyogU2V0IG51bWJlciBvZiBjaGFubmVscyAqLworKyAgYXNzZXJ0KGNoYW5uZWxzID4wKTsKKysgIGVyciA9IHNuZF9wY21faHdfcGFyYW1zX3NldF9jaGFubmVscyhwY21faGFuZGxlLCBod3BhcmFtcywgY2hhbm5lbHMpOworKyAgaWYgKGVyciA8IDApIAorKyAgeworKwlzbmRfcGNtX2Nsb3NlKHBjbV9oYW5kbGUpOworKwljc3RfZXJybXNnKCJhdWRpb19vcGVuX2Fsc2E6IGZhaWxlZCB0byBzZXQgbnVtYmVyIG9mIGNoYW5uZWxzIHRvICVkLiAlcy5cbiIsIGNoYW5uZWxzLCBzbmRfc3RyZXJyb3IoZXJyKSk7CisrCXJldHVybiBOVUxMOworKyAgfQorKworKyAgLyogQ29tbWl0IGhhcmR3YXJlIHBhcmFtZXRlcnMgKi8KKysgIGVyciA9IHNuZF9wY21faHdfcGFyYW1zKHBjbV9oYW5kbGUsIGh3cGFyYW1zKTsKKysgIGlmIChlcnIgPCAwKSAKKysgIHsKKysJc25kX3BjbV9jbG9zZShwY21faGFuZGxlKTsKKysJY3N0X2Vycm1zZygiYXVkaW9fb3Blbl9hbHNhOiBmYWlsZWQgdG8gc2V0IGh3IHBhcmFtZXRlcnMuICVzLlxuIiwgc25kX3N0cmVycm9yKGVycikpOworKwlyZXR1cm4gTlVMTDsKKysgIH0KKysKKysgIC8qIE1ha2Ugc3VyZSB0aGUgZGV2aWNlIGlzIHJlYWR5IHRvIGFjY2VwdCBkYXRhICovCisrICBhc3NlcnQoc25kX3BjbV9zdGF0ZShwY21faGFuZGxlKSA9PSBTTkRfUENNX1NUQVRFX1BSRVBBUkVEKTsKKysKKysgIC8qIFdyaXRlIGhhcmR3YXJlIHBhcmFtZXRlcnMgdG8gZmxpdGUgYXVkaW8gZGV2aWNlIGRhdGEgc3RydWN0dXJlICovCisrICBhZCA9IGNzdF9hbGxvYyhjc3RfYXVkaW9kZXYsIDEpOworKyAgYXNzZXJ0KGFkICE9IE5VTEwpOworKyAgYWQtPnJlYWxfc3BzID0gYWQtPnNwcyA9IHNwczsKKysgIGFkLT5yZWFsX2NoYW5uZWxzID0gYWQtPmNoYW5uZWxzID0gY2hhbm5lbHM7CisrICBhZC0+cmVhbF9mbXQgPSBhZC0+Zm10ID0gZm10OworKyAgYWQtPnBsYXRmb3JtX2RhdGEgPSAodm9pZCAqKSBwY21faGFuZGxlOworKworKyAgcmV0dXJuIGFkOworK30KKysKKytpbnQgYXVkaW9fY2xvc2VfYWxzYShjc3RfYXVkaW9kZXYgKmFkKQorK3sKKysgIGludCByZXN1bHQ7CisrICBzbmRfcGNtX3QgKnBjbV9oYW5kbGU7CisrCisrICBpZiAoYWQgPT0gTlVMTCkKKysJcmV0dXJuIDA7CisrCisrICBwY21faGFuZGxlID0gKHNuZF9wY21fdCAqKSBhZC0+cGxhdGZvcm1fZGF0YTsKKysgIHJlc3VsdCA9IHNuZF9wY21fY2xvc2UocGNtX2hhbmRsZSk7CisrICBpZiAocmVzdWx0IDwgMCkKKysgIHsKKysJY3N0X2Vycm1zZygiYXVkaW9fY2xvc2VfYWxzYTogRXJyb3I6ICVzLlxuIiwgc25kX3N0cmVycm9yKHJlc3VsdCkpOworKyAgfQorKyAgY3N0X2ZyZWUoYWQpOworKyAgcmV0dXJuIHJlc3VsdDsKKyt9CisrCisrLyogUmV0dXJucyB6ZXJvIGlmIHJlY292ZXJ5IHdhcyBzdWNjZXNzZnVsLiAqLworK3N0YXRpYyBpbnQgcmVjb3Zlcl9mcm9tX2Vycm9yKHNuZF9wY21fdCAqcGNtX2hhbmRsZSwgc3NpemVfdCByZXMpCisreworKyAgaWYgKHJlcyA9PSAtRVBJUEUpIC8qIHhydW4gKi8KKysgIHsKKysJcmVzID0gc25kX3BjbV9wcmVwYXJlKHBjbV9oYW5kbGUpOworKwlpZiAocmVzIDwgMCkgCisrCXsKKysJICAvKiBGYWlsZWQgdG8gcmVjb3ZlciBmcm9tIHhydW4gKi8KKysJICBjc3RfZXJybXNnKCJyZWNvdmVyX2Zyb21fd3JpdGVfZXJyb3I6IGZhaWxlZCB0byByZWNvdmVyIGZyb20geHJ1bi4gJXNcbi4iLCBzbmRfc3RyZXJyb3IocmVzKSk7CisrCSAgcmV0dXJuIHJlczsKKysJfQorKyAgfSAKKysgIGVsc2UgaWYgKHJlcyA9PSAtRVNUUlBJUEUpIC8qIFN1c3BlbmQgKi8KKysgIHsKKysJd2hpbGUgKChyZXMgPSBzbmRfcGNtX3Jlc3VtZShwY21faGFuZGxlKSkgPT0gLUVBR0FJTikgCisrCXsKKysJICBzbmRfcGNtX3dhaXQocGNtX2hhbmRsZSwgMTAwMCk7CisrCX0KKysJaWYgKHJlcyA8IDApIAorKwl7CisrCSAgcmVzID0gc25kX3BjbV9wcmVwYXJlKHBjbV9oYW5kbGUpOworKwkgIGlmIChyZXMgPDApIAorKwkgIHsKKysJCS8qIFJlc3VtZSBmYWlsZWQgKi8KKysJCWNzdF9lcnJtc2coImF1ZGlvX3JlY292ZXJfZnJvbV93cml0ZV9lcnJvcjogZmFpbGVkIHRvIHJlc3VtZSBhZnRlciBzdXNwZW5kLiAlc1xuLiIsIHNuZF9zdHJlcnJvcihyZXMpKTsKKysJCXJldHVybiByZXM7CisrCSAgfQorKwl9CisrICB9IAorKyAgZWxzZSBpZiAocmVzIDwgMCkgCisrICB7CisrCS8qIFVua25vd24gZmFpbHVyZSAqLworKwljc3RfZXJybXNnKCJhdWRpb19yZWNvdmVyX2Zyb21fd3JpdGVfZXJyb3I6ICVzLlxuIiwgc25kX3N0cmVycm9yKHJlcykpOworKwlyZXR1cm4gcmVzOworKyAgfQorKyAgcmV0dXJuIDA7CisrfQorKworK2ludCBhdWRpb193cml0ZV9hbHNhKGNzdF9hdWRpb2RldiAqYWQsIHZvaWQgKnNhbXBsZXMsIGludCBudW1fYnl0ZXMpCisreworKyAgc2l6ZV90IGZyYW1lX3NpemU7CisrICBzc2l6ZV90IG51bV9mcmFtZXMsIHJlczsKKysgIHNuZF9wY21fdCAqcGNtX2hhbmRsZTsKKysgIGNoYXIgKmJ1ZiA9IChjaGFyICopIHNhbXBsZXM7CisrCisrICAvKiBEZXRlcm1pbmUgZnJhbWUgc2l6ZSBpbiBieXRlcyAqLworKyAgZnJhbWVfc2l6ZSAgPSBhdWRpb19icHMoYWQtPnJlYWxfZm10KSAqIGFkLT5yZWFsX2NoYW5uZWxzOworKyAgLyogUmVxdWlyZSB0aGF0IG9ubHkgY29tcGxldGUgZnJhbWVzIGFyZSBoYW5kZWQgaW4gKi8KKysgIGFzc2VydCgobnVtX2J5dGVzICUgZnJhbWVfc2l6ZSkgPT0gMCk7CisrICBudW1fZnJhbWVzID0gbnVtX2J5dGVzIC8gZnJhbWVfc2l6ZTsKKysgIHBjbV9oYW5kbGUgPSAoc25kX3BjbV90ICopIGFkLT5wbGF0Zm9ybV9kYXRhOworKworKyAgd2hpbGUgKG51bV9mcmFtZXMgPiAwKSAKKysgIHsKKysJcmVzID0gc25kX3BjbV93cml0ZWkocGNtX2hhbmRsZSwgYnVmLCBudW1fZnJhbWVzKTsKKysJaWYgKHJlcyAhPSBudW1fZnJhbWVzKSAKKysJeworKwkgIGlmIChyZXMgPT0gLUVBR0FJTiB8fCAocmVzID4gMCAmJiByZXMgPCBudW1fZnJhbWVzKSkgCisrCSAgeworKwkJc25kX3BjbV93YWl0KHBjbV9oYW5kbGUsIDEwMCk7CisrCSAgfQorKwkgIGVsc2UgaWYgKHJlY292ZXJfZnJvbV9lcnJvcihwY21faGFuZGxlLCByZXMpIDwgMCkgCisrCSAgeworKwkJcmV0dXJuIC0xOworKwkgIH0KKysJfQorKworKwlpZiAocmVzID4wKSAKKysJeworKwkgIG51bV9mcmFtZXMgLT0gcmVzOworKwkgIGJ1ZiArPSByZXMgKiBmcmFtZV9zaXplOworKwl9CisrICB9CisrICByZXR1cm4gbnVtX2J5dGVzOworK30KKysKKytpbnQgYXVkaW9fZmx1c2hfYWxzYShjc3RfYXVkaW9kZXYgKmFkKQorK3sKKysgIGludCByZXN1bHQ7CisrICByZXN1bHQgPSBzbmRfcGNtX2RyYWluKChzbmRfcGNtX3QgKikgYWQtPnBsYXRmb3JtX2RhdGEpOworKyAgaWYgKHJlc3VsdCA8IDApCisrICB7CisrCWNzdF9lcnJtc2coImF1ZGlvX2ZsdXNoX2Fsc2E6IEVycm9yOiAlcy5cbiIsIHNuZF9zdHJlcnJvcihyZXN1bHQpKTsKKysgIH0KKysJLyogUHJlcGFyZSBkZXZpY2UgZm9yIG1vcmUgZGF0YSAqLworKyAgcmVzdWx0ID0gc25kX3BjbV9wcmVwYXJlKChzbmRfcGNtX3QgKikgYWQtPnBsYXRmb3JtX2RhdGEpOworK2lmIChyZXN1bHQgPCAwKQorKyAgeworKwljc3RfZXJybXNnKCJhdWRpb19mbHVzaF9hbHNhOiBFcnJvcjogJXMuXG4iLCBzbmRfc3RyZXJyb3IocmVzdWx0KSk7CisrICB9CisrICByZXR1cm4gcmVzdWx0OworK30KKysKKytpbnQgYXVkaW9fZHJhaW5fYWxzYShjc3RfYXVkaW9kZXYgKmFkKQorK3sKKysgIGludCByZXN1bHQ7CisrICByZXN1bHQgPSBzbmRfcGNtX2Ryb3AoKHNuZF9wY21fdCAqKSBhZC0+cGxhdGZvcm1fZGF0YSk7CisrICBpZiAocmVzdWx0IDwgMCkKKysgIHsKKysJY3N0X2Vycm1zZygiYXVkaW9fZHJhaW5fYWxzYTogRXJyb3I6ICVzLlxuIiwgc25kX3N0cmVycm9yKHJlc3VsdCkpOworKyAgfQorKy8qIFByZXBhcmUgZGV2aWNlIGZvciBtb3JlIGRhdGEgKi8KKysgIHJlc3VsdCA9IHNuZF9wY21fcHJlcGFyZSgoc25kX3BjbV90ICopIGFkLT5wbGF0Zm9ybV9kYXRhKTsKKytpZiAocmVzdWx0IDwgMCkKKysgIHsKKysJY3N0X2Vycm1zZygiYXVkaW9fZHJhaW5fYWxzYTogRXJyb3I6ICVzLlxuIiwgc25kX3N0cmVycm9yKHJlc3VsdCkpOworKyAgfQorKyAgcmV0dXJuIHJlc3VsdDsKKyt9CitJbmRleDogc3JjL2F1ZGlvL01ha2VmaWxlCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZmxpdGUtMS4zLXJlbGVhc2Uvc3JjL2F1ZGlvL01ha2VmaWxlCSguLi4vZmxpdGUtMS4zLW9yaWcpCShyZXZpc2lvbiA3KQorKysrIGZsaXRlLTEuMy1yZWxlYXNlL3NyYy9hdWRpby9NYWtlZmlsZQkoLi4uL3JlbGVhc2UtMS4yKQkocmV2aXNpb24gNykKK0BAIC00Myw5ICs0MywxMyBAQAorIAorIEJBU0VTUkNTID0gYXVjbGllbnQuYyBhdXNlcnZlci5jIGF1ZGlvLmMgCisgU1JDUyA9ICQoQkFTRVNSQ1MpICQoQVVESU9EUklWRVI6JT1hdV8lLmMpCistT0JKUyA9ICQoU1JDUzouYz0ubykKKytpZmRlZiBTSEZMQUdTCisrT0JKUyA6PSAkKFNSQ1M6LmM9Lm9zKQorK2Vsc2UKKytPQkpTIDo9ICQoU1JDUzouYz0ubykKKytlbmRpZgorIEZJTEVTID0gTWFrZWZpbGUgJChIKSAkKEJBU0VTUkNTKSBhdV9jb21tYW5kLmMgYXVfbm9uZS5jIFwKKy0JYXVfb3NzLmMgYXVfc3VuLmMgYXVfd2luY2UuYyBhdV9wYWxtb3MuYworKwlhdV9vc3MuYyBhdV9zdW4uYyBhdV93aW5jZS5jIGF1X3BhbG1vcy5jIGF1X2Fsc2EuYworIExJQk5BTUUgPSBmbGl0ZQorIAorIExPQ0FMX0lOQ0xVREVTID0gLUkuICQoQVVESU9ERUZTKQorSW5kZXg6IHNyYy9sZXhpY29uL01ha2VmaWxlCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZmxpdGUtMS4zLXJlbGVhc2Uvc3JjL2xleGljb24vTWFrZWZpbGUJKC4uLi9mbGl0ZS0xLjMtb3JpZykJKHJldmlzaW9uIDcpCisrKysgZmxpdGUtMS4zLXJlbGVhc2Uvc3JjL2xleGljb24vTWFrZWZpbGUJKC4uLi9yZWxlYXNlLTEuMikJKHJldmlzaW9uIDcpCitAQCAtMzgsOCArMzgsMTMgQEAKKyBESVJOQU1FPXNyYy9sZXhpY29uCisgQlVJTERfRElSUyA9IAorIEFMTF9ESVJTPSAKKytpbmNsdWRlICQoVE9QKS9jb25maWcvY29uZmlnCisgU1JDUyA9IGNzdF9sZXhpY29uLmMgY3N0X2x0cy5jIGNzdF9sdHNfcmV3cml0ZXMuYworLU9CSlMgPSAkKFNSQ1M6LmM9Lm8pCisraWZkZWYgU0hGTEFHUworK09CSlMgOj0gJChTUkNTOi5jPS5vcykKKytlbHNlCisrT0JKUyA6PSAkKFNSQ1M6LmM9Lm8pCisrZW5kaWYKKyBGSUxFUyA9IE1ha2VmaWxlICQoU1JDUykKKyBMSUJOQU1FID0gZmxpdGUKKyAKK0luZGV4OiBzcmMvc3ludGgvTWFrZWZpbGUKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBmbGl0ZS0xLjMtcmVsZWFzZS9zcmMvc3ludGgvTWFrZWZpbGUJKC4uLi9mbGl0ZS0xLjMtb3JpZykJKHJldmlzaW9uIDcpCisrKysgZmxpdGUtMS4zLXJlbGVhc2Uvc3JjL3N5bnRoL01ha2VmaWxlCSguLi4vcmVsZWFzZS0xLjIpCShyZXZpc2lvbiA3KQorQEAgLTM4LDkgKzM4LDE0IEBACisgRElSTkFNRT1zcmMvc3ludGgKKyBCVUlMRF9ESVJTID0gCisgQUxMX0RJUlM9IAorK2luY2x1ZGUgJChUT1ApL2NvbmZpZy9jb25maWcKKyBTUkNTID0gY3N0X3N5bnRoLmMgY3N0X3V0dF91dGlscy5jIGNzdF92b2ljZS5jIGNzdF9waG9uZXNldC5jIFwKKyAgICAgICAgZmxpdGUuYyAKKy1PQkpTID0gJChTUkNTOi5jPS5vKQorK2lmZGVmIFNIRkxBR1MKKytPQkpTIDo9ICQoU1JDUzouYz0ub3MpCisrZWxzZQorK09CSlMgOj0gJChTUkNTOi5jPS5vKQorK2VuZGlmCisgRklMRVMgPSBNYWtlZmlsZSAkKFNSQ1MpCisgTElCTkFNRSA9IGZsaXRlCisgCitJbmRleDogc3JjL3NwZWVjaC9NYWtlZmlsZQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGZsaXRlLTEuMy1yZWxlYXNlL3NyYy9zcGVlY2gvTWFrZWZpbGUJKC4uLi9mbGl0ZS0xLjMtb3JpZykJKHJldmlzaW9uIDcpCisrKysgZmxpdGUtMS4zLXJlbGVhc2Uvc3JjL3NwZWVjaC9NYWtlZmlsZQkoLi4uL3JlbGVhc2UtMS4yKQkocmV2aXNpb24gNykKK0BAIC0zOSw5ICszOSwxNCBAQAorIEJVSUxEX0RJUlMgPSAKKyBBTExfRElSUz0gCisgSCA9IAorK2luY2x1ZGUgJChUT1ApL2NvbmZpZy9jb25maWcKKyBTUkNTID0gY3N0X3dhdmUuYyBjc3Rfd2F2ZV9pby5jIGNzdF90cmFjay5jIGNzdF90cmFja19pby5jIFwKKyAgICAgICAgY3N0X3dhdmVfdXRpbHMuYyBjc3RfbHBjcmVzLmMgcmF0ZWNvbnYuYworLU9CSlMgPSAkKFNSQ1M6LmM9Lm8pCisraWZkZWYgU0hGTEFHUworK09CSlMgOj0gJChTUkNTOi5jPS5vcykKKytlbHNlCisrT0JKUyA6PSAkKFNSQ1M6LmM9Lm8pCisrZW5kaWYKKyBGSUxFUyA9IE1ha2VmaWxlICQoSCkgJChTUkNTKQorIExJQk5BTUUgPSBmbGl0ZQorIAorSW5kZXg6IHNyYy93YXZlc3ludGgvTWFrZWZpbGUKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBmbGl0ZS0xLjMtcmVsZWFzZS9zcmMvd2F2ZXN5bnRoL01ha2VmaWxlCSguLi4vZmxpdGUtMS4zLW9yaWcpCShyZXZpc2lvbiA3KQorKysrIGZsaXRlLTEuMy1yZWxlYXNlL3NyYy93YXZlc3ludGgvTWFrZWZpbGUJKC4uLi9yZWxlYXNlLTEuMikJKHJldmlzaW9uIDcpCitAQCAtMzgsOSArMzgsMTQgQEAKKyBESVJOQU1FPXNyYy93YXZlc3ludGgKKyBCVUlMRF9ESVJTID0gCisgQUxMX0RJUlM9CisraW5jbHVkZSAkKFRPUCkvY29uZmlnL2NvbmZpZworIFNSQ1MgPSBjc3RfdW5pdHMuYyBjc3Rfc2lncHIuYyBjc3RfY2x1bml0cy5jIGNzdF9kaXBob25lLmMgXAorICAgICAgICBjc3Rfc2lncHJGUC5jIGNzdF9zdHMuYyBjc3RfcmVmbHBjLmMKKy1PQkpTID0gJChTUkNTOi5jPS5vKQorK2lmZGVmIFNIRkxBR1MKKytPQkpTIDo9ICQoU1JDUzouYz0ub3MpCisrZWxzZQorK09CSlMgOj0gJChTUkNTOi5jPS5vKQorK2VuZGlmCisgTElCTkFNRSA9IGZsaXRlCisgRklMRVMgPSBNYWtlZmlsZSAkKFNSQ1MpCisgCitJbmRleDogc3JjL3JlZ2V4L01ha2VmaWxlCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZmxpdGUtMS4zLXJlbGVhc2Uvc3JjL3JlZ2V4L01ha2VmaWxlCSguLi4vZmxpdGUtMS4zLW9yaWcpCShyZXZpc2lvbiA3KQorKysrIGZsaXRlLTEuMy1yZWxlYXNlL3NyYy9yZWdleC9NYWtlZmlsZQkoLi4uL3JlbGVhc2UtMS4yKQkocmV2aXNpb24gNykKK0BAIC00Miw4ICs0MiwxMyBAQAorIERJUk5BTUU9c3JjL3JlZ2V4CisgQlVJTERfRElSUyA9IAorIEFMTF9ESVJTPSAKKytpbmNsdWRlICQoVE9QKS9jb25maWcvY29uZmlnCisgU1JDUyA9IGNzdF9yZWdleC5jIHJlZ2V4cC5jIHJlZ3N1Yi5jCistT0JKUyA9ICQoU1JDUzouYz0ubykKKytpZmRlZiBTSEZMQUdTCisrT0JKUyA6PSAkKFNSQ1M6LmM9Lm9zKQorK2Vsc2UKKytPQkpTIDo9ICQoU1JDUzouYz0ubykKKytlbmRpZgorIEZJTEVTID0gTWFrZWZpbGUgJChIKSAkKFNSQ1MpCisgTElCTkFNRSA9IGZsaXRlCisgCitJbmRleDogc3JjL3N0YXRzL01ha2VmaWxlCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZmxpdGUtMS4zLXJlbGVhc2Uvc3JjL3N0YXRzL01ha2VmaWxlCSguLi4vZmxpdGUtMS4zLW9yaWcpCShyZXZpc2lvbiA3KQorKysrIGZsaXRlLTEuMy1yZWxlYXNlL3NyYy9zdGF0cy9NYWtlZmlsZQkoLi4uL3JlbGVhc2UtMS4yKQkocmV2aXNpb24gNykKK0BAIC0zOSw4ICszOSwxMyBAQAorIEJVSUxEX0RJUlMgPSAKKyBBTExfRElSUz0gCisgSCA9IAorK2luY2x1ZGUgJChUT1ApL2NvbmZpZy9jb25maWcKKyBTUkNTID0gY3N0X2NhcnQuYyBjc3Rfdml0ZXJiaS5jIGNzdF9zcy5jCistT0JKUyA9ICQoU1JDUzouYz0ubykKKytpZmRlZiBTSEZMQUdTCisrT0JKUyA6PSAkKFNSQ1M6LmM9Lm9zKQorK2Vsc2UKKytPQkpTIDo9ICQoU1JDUzouYz0ubykKKytlbmRpZgorIEZJTEVTID0gTWFrZWZpbGUgJChIKSAkKFNSQ1MpCisgTElCTkFNRSA9IGZsaXRlCisgCitJbmRleDogY29uZmlnL2NvbW1vbl9tYWtlX3J1bGVzCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZmxpdGUtMS4zLXJlbGVhc2UvY29uZmlnL2NvbW1vbl9tYWtlX3J1bGVzCSguLi4vZmxpdGUtMS4zLW9yaWcpCShyZXZpc2lvbiA3KQorKysrIGZsaXRlLTEuMy1yZWxlYXNlL2NvbmZpZy9jb21tb25fbWFrZV9ydWxlcwkoLi4uL3JlbGVhc2UtMS4yKQkocmV2aXNpb24gNykKK0BAIC03MywxMiArNzMsMTMgQEAKKyBpZmRlZiBTSEZMQUdTCisgU09PQkpTID0gJChPQkpTOi5vPS5vcykKKyBGVUxMU0hPQkpTID0gJChTT09CSlM6JT0kKE9CSkRJUikvJSkKKy1pZmRlZiBMSUJOQU1FCistQUxMICs9ICQoT0JKRElSKS8uYnVpbGRfc28KKysjaWZkZWYgTElCTkFNRQorKyNBTEwgKz0gJChPQkpESVIpLy5idWlsZF9zbworKyNlbmRpZgorIGVuZGlmCistZW5kaWYKKyBpZmRlZiBMSUJOQU1FCisgQUxMICs9ICQoT0JKRElSKS8uYnVpbGRfbGliCisrQUxMICs9ICQoT0JKRElSKS8uYnVpbGRfc28KKyBlbmRpZgorICMgT25seSBkbyBzb21lIGRpcmVjdG9yaWVzIHdoZW4geW91IGFyZSBub3QgY3Jvc3MgY29tcGlsaW5nCisgaWZlcSAoJChIT1NUX1BMQVRGT1JNKSwkKFRBUkdFVF9QTEFURk9STSkpCitAQCAtMTE3LDE0ICsxMTgsMTcgQEAKKyAJQCB0b3VjaCAkKE9CSkRJUikvLmJ1aWxkX3NvCisgCisgIyBVc2VkIGluIHRoZSBsaWIvIGRpcmVjdG9yeSBhbmQgaW4gYnVpbGRpbmcgbmV3IHZvaWNlcworLSQoT0JKRElSKS8lLnNvOiAlLnNoYXJlZC5hCisrIyQoT0JKRElSKS8lLnNvOiAlLnNoYXJlZC5hCisrJS5zbzogJS5zaGFyZWQuYQorIAlAIGVjaG8gbWFraW5nICRACisgCUAgcm0gLXJmIHNoYXJlZF9vcyAmJiBta2RpciBzaGFyZWRfb3MKKyAJQCBybSAtZiAkQCAkKExJQkRJUikvJEAuJHtQUk9KRUNUX1ZFUlNJT059ICQoTElCRElSKS8kQC4ke1BST0pFQ1RfU0hMSUJfVkVSU0lPTn0gCisgCUAgKGNkIHNoYXJlZF9vcyAmJiBhciB4IC4uLyQ8KQorIAlAIChjZCBzaGFyZWRfb3MgJiYgJChDQykgLXNoYXJlZCAtV2wsLXNvbmFtZSwkQC4ke1BST0pFQ1RfU0hMSUJfVkVSU0lPTn0gLW8gLi4vJEAuJHtQUk9KRUNUX1ZFUlNJT059ICoub3MpCistCUAgbG4gLXMgJChMSUJESVIpLyRALiR7UFJPSkVDVF9WRVJTSU9OfSAkKExJQkRJUikvJEAuJHtQUk9KRUNUX1NITElCX1ZFUlNJT059CistCUAgbG4gLXMgJChMSUJESVIpLyRALiR7UFJPSkVDVF9TSExJQl9WRVJTSU9OfSAkKExJQkRJUikvJEAKKysJI0AgbG4gLXMgJChMSUJESVIpLyRALiR7UFJPSkVDVF9WRVJTSU9OfSAkKExJQkRJUikvJEAuJHtQUk9KRUNUX1NITElCX1ZFUlNJT059CisrCSNAIGxuIC1zICQoTElCRElSKS8kQC4ke1BST0pFQ1RfU0hMSUJfVkVSU0lPTn0gJChMSUJESVIpLyRACisrCUAgbG4gLXMgJEAuJHtQUk9KRUNUX1ZFUlNJT059ICRALiR7UFJPSkVDVF9TSExJQl9WRVJTSU9OfQorKwlAIGxuIC1zICRALiR7UFJPSkVDVF9TSExJQl9WRVJTSU9OfSAkQAorIAlAIHJtIC1yZiBzaGFyZWRfb3MKKyAKKyAkKE9CSkRJUikvLm1ha2VfYnVpbGRfZGlyczoKK0luZGV4OiBsaWIvTWFrZWZpbGUKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBmbGl0ZS0xLjMtcmVsZWFzZS9saWIvTWFrZWZpbGUJKC4uLi9mbGl0ZS0xLjMtb3JpZykJKHJldmlzaW9uIDApCisrKysgZmxpdGUtMS4zLXJlbGVhc2UvbGliL01ha2VmaWxlCSguLi4vcmVsZWFzZS0xLjIpCShyZXZpc2lvbiA3KQorQEAgLTAsMCArMSw3MCBAQAorKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKyMjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIworKyMjICAgICAgICAgICAgICAgICAgTGFuZ3VhZ2UgVGVjaG5vbG9naWVzIEluc3RpdHV0ZSAgICAgICAgICAgICAgICAgICAgICAjIworKyMjICAgICAgICAgICAgICAgICAgICAgQ2FybmVnaWUgTWVsbG9uIFVuaXZlcnNpdHkgICAgICAgICAgICAgICAgICAgICAgICAjIworKyMjICAgICAgICAgICAgICAgICAgICAgICAgQ29weXJpZ2h0IChjKSAxOTk5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIworKyMjICAgICAgICAgICAgICAgICAgICAgICAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4gICAgICAgICAgICAgICAgICAgICAgICAgICAjIworKyMjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIworKyMjICBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gdXNlIGFuZCBkaXN0cmlidXRlICAjIworKyMjICB0aGlzIHNvZnR3YXJlIGFuZCBpdHMgZG9jdW1lbnRhdGlvbiB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgICAjIworKyMjICB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsICAjIworKyMjICBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhpcyB3b3JrLCBhbmQgdG8gICAgICAjIworKyMjICBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoaXMgd29yayBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gICAjIworKyMjICB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIworKyMjICAgMS4gVGhlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiAgICAjIworKyMjICAgICAgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAgICAgICAgICAgICAgICAgICAgICAgICAjIworKyMjICAgMi4gQW55IG1vZGlmaWNhdGlvbnMgbXVzdCBiZSBjbGVhcmx5IG1hcmtlZCBhcyBzdWNoLiAgICAgICAgICAgICAgICAjIworKyMjICAgMy4gT3JpZ2luYWwgYXV0aG9ycycgbmFtZXMgYXJlIG5vdCBkZWxldGVkLiAgICAgICAgICAgICAgICAgICAgICAgICAjIworKyMjICAgNC4gVGhlIGF1dGhvcnMnIG5hbWVzIGFyZSBub3QgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgICAjIworKyMjICAgICAgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuICAgICAgICAjIworKyMjICAgICAgcGVybWlzc2lvbi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIworKyMjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIworKyMjICBDQVJORUdJRSBNRUxMT04gVU5JVkVSU0lUWSBBTkQgVEhFIENPTlRSSUJVVE9SUyBUTyBUSElTIFdPUksgICAgICAgICAjIworKyMjICBESVNDTEFJTSBBTEwgV0FSUkFOVElFUyBXSVRIIFJFR0FSRCBUTyBUSElTIFNPRlRXQVJFLCBJTkNMVURJTkcgICAgICAjIworKyMjICBBTEwgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUywgSU4gTk8gRVZFTlQgICAjIworKyMjICBTSEFMTCBDQVJORUdJRSBNRUxMT04gVU5JVkVSU0lUWSBOT1IgVEhFIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgICAgICAjIworKyMjICBGT1IgQU5ZIFNQRUNJQUwsIElORElSRUNUIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUyAgICAjIworKyMjICBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NIExPU1MgT0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gICAjIworKyMjICBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1IgT1RIRVIgVE9SVElPVVMgQUNUSU9OLCAgICAgICAgICAjIworKyMjICBBUklTSU5HIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBPUiBQRVJGT1JNQU5DRSBPRiAgICAgICAjIworKyMjICBUSElTIFNPRlRXQVJFLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIworKyMjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIworKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKyMjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIworKyMjICAgIEZMSVRFIGxpYnJhcmllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIworKyMjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIworKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworK1RPUD0uLgorK0RJUk5BTUU9bGliCisrQlVJTERfRElSUyA9IAorK0FMTF9ESVJTPQorK0ZJTEVTID0gTWFrZWZpbGUKKytMSUJOQU1FUyA9IGZsaXRlIGZsaXRlX2NtdWxleCBmbGl0ZV91c2VuZ2xpc2ggXAorKyAgICAgICAgICAgZmxpdGVfY211X3VzX2thbCBmbGl0ZV9jbXVfdXNfa2FsMTYgZmxpdGVfY211X3RpbWVfYXdiCisrCisrU1RBVElDTElCUz0gJChMSUJOQU1FUzolPWxpYiUuYSkKKytTSEFSRURBUkxJQlM9ICQoTElCTkFNRVM6JT1saWIlLnNoYXJlZC5hKQorKyNTSEFSRURMSUJTID0gJChMSUJOQU1FUzolPWxpYiUuc28pCisrU0hBUkVETElCUyA9ICQoU0hBUkVEQVJMSUJTOiUuc2hhcmVkLmE9JS5zbykKKytWRVJTSU9OU0hBUkVETElCUyA9ICQoU0hBUkVETElCUzolPSUuJHtQUk9KRUNUX1ZFUlNJT059KSBcCisrICAgICAgICAgICAgICAgICAgICAkKFNIQVJFRExJQlM6JT0lLiR7UFJPSkVDVF9TSExJQl9WRVJTSU9OfSkKKytBTExfTElCUyA9ICQoU1RBVElDTElCUykgJChTSEFSRURMSUJTKSAkKFZFUlNJT05TSEFSRURMSUJTKQorKworK0FMTCA9IHNoYXJlZF9saWJzCisrCisrTE9DQUxfQ0xFQU49Ki5hICouc28gKi5zby4ke1BST0pFQ1RfVkVSU0lPTn0gKi5zby4ke1BST0pFQ1RfU0hMSUJfVkVSU0lPTn0KKysKKytpbmNsdWRlICQoVE9QKS9jb25maWcvY29tbW9uX21ha2VfcnVsZXMKKysKKytpZmRlZiBTSEZMQUdTCisrc2hhcmVkX2xpYnM6ICQoU0hBUkVETElCUykKKytlbHNlCisrc2hhcmVkX2xpYnM6IG5vdGhpbmcKKytlbmRpZgorKworK2luc3RhbGw6CisrCUAgY3AgLXZmICQoTElCRElSKS8qIC4KKysJQCAkKE1BS0UpIHNoYXJlZF9saWJzCisrCUAgZWNobyBBUkxJQlM6ICQoU0hBUkVEQVJMSUJTKQorKwlAIGVjaG8gU0hBUkxJQlM6ICQoU0hBUkVETElCUykKKysJQCB0YXIgY3ZmIC0gJChBTExfTElCUykgfCAoIGNkICQoSU5TVEFMTExJQkRJUikgJiYgdGFyIHhmIC0pCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZsaXRlL2ZsaXRlLWFsc2EtMS4zL2ZsaXRlLWFsc2EtMS4zLWNvbmZpZ3VyZS13aXRoLWF1ZGlvLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mbGl0ZS9mbGl0ZS1hbHNhLTEuMy9mbGl0ZS1hbHNhLTEuMy1jb25maWd1cmUtd2l0aC1hdWRpby5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMWU3YWVkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mbGl0ZS9mbGl0ZS1hbHNhLTEuMy9mbGl0ZS1hbHNhLTEuMy1jb25maWd1cmUtd2l0aC1hdWRpby5wYXRjaApAQCAtMCwwICsxLDEyIEBACistLS0gZmxpdGUtMS4zLXJlbGVhc2UvY29uZmlndXJlLmluLm9sZAkyMDA4LTAxLTA2IDAyOjE3OjQ3LjAwMDAwMDAwMCAtMDYwMAorKysrIGZsaXRlLTEuMy1yZWxlYXNlL2NvbmZpZ3VyZS5pbgkyMDA4LTAxLTA2IDAyOjE5OjU2LjAwMDAwMDAwMCAtMDYwMAorQEAgLTIyMCw3ICsyMjAsOCBAQCBkbmwgYWxsb3cgdGhlIHVzZXIgdG8gb3ZlcnJpZGUgdGhlIG9uZSBkCisgZG5sCisgQUNfQVJHX1dJVEgoIGF1ZGlvLAorIAlbICAtLXdpdGgtYXVkaW8gICAgICAgICAgd2l0aCBzcGVjaWZpYyBhdWRpbyBzdXBwb3J0IChub25lIGxpbnV4IGZyZWVic2QgZXRjKSBdLAorLSAgICAgICAgQVVESU9EUklWRVI9JHdpdGhfYXVkaW8gKQorKyAgICAgICAgW0FVRElPRFJJVkVSPSR3aXRoX2F1ZGlvCisrICAgICAgICAgQVVESU9ERUZTPV0pCisgCisgaWYgdGVzdCAieCRBVURJT0RFRlMiID0geDsgdGhlbgorICAgICBjYXNlICIkQVVESU9EUklWRVIiIGluCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZsaXRlL2ZsaXRlLWFsc2FfMS4zLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mbGl0ZS9mbGl0ZS1hbHNhXzEuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MTAxMmU2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mbGl0ZS9mbGl0ZS1hbHNhXzEuMy5iYgpAQCAtMCwwICsxLDEyIEBACityZXF1aXJlIGZsaXRlLmluYworCitQUiA9ICJyMSIKKworRVhUUkFfT0VDT05GID0gIi0td2l0aC1hdWRpbz1hbHNhIC0tZW5hYmxlLXNoYXJlZCIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LnNwZWVjaC5jcy5jbXUuZWR1L2ZsaXRlL3BhY2tlZC9mbGl0ZS0ke1BWfS9mbGl0ZS0ke1BWfS1yZWxlYXNlLnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9mbGl0ZS0xLjMtYWxzYV9zdXBwb3J0LTEuMi5kaWZmIFwKKyAgICAgICAgICAgZmlsZTovL2ZsaXRlLWFsc2EtMS4zLWNvbmZpZ3VyZS13aXRoLWF1ZGlvLnBhdGNoIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYWUwYWNhMWNiN2I0ODAxZjQzNzJmM2E3NWE5ZTUyYjUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTIyMjI1ZjcwMDFlNTdhMGZiYWNlODgzM2IwYTQ4NzkwYTY4ZjZjN2I0OTFmMmQ0N2M3OGFkNTM3YWI3OGE4YiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmxpdGUvZmxpdGUuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mbGl0ZS9mbGl0ZS5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGVmODJjMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmxpdGUvZmxpdGUuaW5jCkBAIC0wLDAgKzEsMzMgQEAKK0RFU0NSSVBUSU9OID0gImZsaXRlIC0gdGhlIGZlc3RpdmFsIGxpZ2h0IHNwZWVjaCBzeW50aGVzaXplciIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuc3BlZWNoLmNzLmNtdS5lZHUvZmxpdGUvIgorU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgorTElDRU5TRSA9ICJmbGl0ZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTY4YTE2YjFlZTQ5Yzk2YzM2ZjIzMmNjZGNkMjg3NjUwIgorREVQRU5EUyA9ICJhbHNhLW9zcyIKKworUEFSQUxMRUxfTUFLRSA9ICIiCisKK1MgPSAiJHtXT1JLRElSfS9mbGl0ZS0ke1BWfS1yZWxlYXNlIgorCitDRkxBR1MgKz0gIiAtbGFzb3VuZCAiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcAorCitQQUNLQUdFUyArPSAibGliJHtQTn0gbGliJHtQTn0tdm94OCBsaWIke1BOfS12b3gxNiIKKworRklMRVNfJHtQTn0gPSAiJHtiaW5kaXJ9IgorCitGSUxFU19saWIke1BOfSA9IiR7bGliZGlyfS9saWJmbGl0ZS5zby4qIFwKKyAgICAke2xpYmRpcn0vbGliZmxpdGVfY211X3RpbWVfYXdiLnNvLiogXAorICAgICR7bGliZGlyfS9saWJmbGl0ZV9jbXVsZXguc28uKiBcCisgICAgJHtsaWJkaXJ9L2xpYmZsaXRlX3VzZW5nbGlzaC5zby4qIgorCitGSUxFU19saWIke1BOfS12b3g4ID0gIiR7bGliZGlyfS9saWJmbGl0ZV9jbXVfdXNfa2FsLnNvLioiCisKK0ZJTEVTX2xpYiR7UE59LXZveDE2ID0gIiR7bGliZGlyfS9saWJmbGl0ZV9jbXVfdXNfa2FsMTYuc28uKiIKKworTEVBRF9TT05BTUUgPSAibGliZmxpdGUuc28iCisKK2RvX2luc3RhbGwoKSB7CisgICAgb2VfcnVubWFrZSBJTlNUQUxMQklORElSPSIke0R9JHtiaW5kaXJ9IiBJTlNUQUxMTElCRElSPSIke0R9JHtsaWJkaXJ9IiBJTlNUQUxMSU5DRElSPSIke0R9JHtpbmNsdWRlZGlyfSIgaW5zdGFsbAorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mbHRrL2ZsdGsvZGlzYWJsZV90ZXN0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mbHRrL2ZsdGsvZGlzYWJsZV90ZXN0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFmNWZkMjUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZsdGsvZmx0ay9kaXNhYmxlX3Rlc3QucGF0Y2gKQEAgLTAsMCArMSwxMSBAQAorLS0tIGEvTWFrZWZpbGUub3JpZwkyMDE1LTExLTI2IDE1OjM1OjMxLjQ4NTM1Nzg2MiArMDgwMAorKysrIGIvTWFrZWZpbGUJMjAxNS0xMS0yNiAxNTozNTozNy4wMzczNTc3NjQgKzA4MDAKK0BAIC0xOCw3ICsxOCw3IEBACisgCisgaW5jbHVkZSBtYWtlaW5jbHVkZQorIAorLURJUlMgPSAkKElNQUdFRElSUykgc3JjICQoQ0FJUk9ESVIpIGZsdWlkIHRlc3QgZG9jdW1lbnRhdGlvbgorK0RJUlMgPSAkKElNQUdFRElSUykgc3JjICQoQ0FJUk9ESVIpIGZsdWlkIGRvY3VtZW50YXRpb24KKyAKKyBhbGw6IG1ha2VpbmNsdWRlIGZsdGstY29uZmlnCisgCWZvciBkaXIgaW4gJChESVJTKTsgZG9cCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZsdGsvZmx0ay9maXgtYm9vbGVhbi1pc3N1ZS13aXRoLWpwZWc5LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mbHRrL2ZsdGsvZml4LWJvb2xlYW4taXNzdWUtd2l0aC1qcGVnOS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMTQxODRkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mbHRrL2ZsdGsvZml4LWJvb2xlYW4taXNzdWUtd2l0aC1qcGVnOS5wYXRjaApAQCAtMCwwICsxLDQwIEBACitGcm9tIDE0YzIyMzk4ZjgzNzBlMzNhNzk4MzYwZWQwZGFkNTEzYWY4ZjE0NzAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGJyZWNodFMgPEFsYnJlY2h0U0BlYTQxZWQ1Mi1kMmVlLTAzMTAtYTljMS1lNmIxOGQzM2UxMjE+CitEYXRlOiBTdW4sIDE1IE1hciAyMDE1IDE5OjMyOjMzICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdIEZpeCAnYm9vbGVhbicgaXNzdWUgd2l0aCBqcGVnLTkgbGlicmFyeSBjb21wYXRpYmlsaXR5IChTVFIKKyAjMjkyMCkuCisKK0FjY29yZGluZyB0byBjb21tZW50cyBpbiBTVFIgIzI5MjAgYW5kIG15IG93biB0ZXN0cyB0aGlzIGlzIGFsc28KK2NvbXBhdGlibGUgd2l0aCBvbGRlciBqcGVnIGxpYnJhcmllcyAoYXQgbGVhc3QganBlZy04KS4KKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorCistLS0KKyBzcmMvRmxfSlBFR19JbWFnZS5jeHggfCAgICA0ICsrLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL0ZsX0pQRUdfSW1hZ2UuY3h4IGIvc3JjL0ZsX0pQRUdfSW1hZ2UuY3h4CitpbmRleCA0NzEyMGE3Li42Y2ViZTg4IDEwMDY0NAorLS0tIGEvc3JjL0ZsX0pQRUdfSW1hZ2UuY3h4CisrKysgYi9zcmMvRmxfSlBFR19JbWFnZS5jeHgKK0BAIC0xNTUsNyArMTU1LDcgQEAgRmxfSlBFR19JbWFnZTo6RmxfSlBFR19JbWFnZShjb25zdCBjaGFyICpmaWxlbmFtZSkJLy8gSSAtIEZpbGUgdG8gbG9hZAorICAgCisgICBqcGVnX2NyZWF0ZV9kZWNvbXByZXNzKCZkaW5mbyk7CisgICBqcGVnX3N0ZGlvX3NyYygmZGluZm8sIGZwKTsKKy0gIGpwZWdfcmVhZF9oZWFkZXIoJmRpbmZvLCAxKTsKKysgIGpwZWdfcmVhZF9oZWFkZXIoJmRpbmZvLCBUUlVFKTsKKyAgIAorICAgZGluZm8ucXVhbnRpemVfY29sb3JzICAgICAgPSAoYm9vbGVhbilGQUxTRTsKKyAgIGRpbmZvLm91dF9jb2xvcl9zcGFjZSAgICAgID0gSkNTX1JHQjsKK0BAIC0zMzcsNyArMzM3LDcgQEAgRmxfSlBFR19JbWFnZTo6RmxfSlBFR19JbWFnZShjb25zdCBjaGFyICpuYW1lLCBjb25zdCB1bnNpZ25lZCBjaGFyICpkYXRhKQorICAgCisgICBqcGVnX2NyZWF0ZV9kZWNvbXByZXNzKCZkaW5mbyk7CisgICBqcGVnX21lbV9zcmMoJmRpbmZvLCBkYXRhKTsKKy0gIGpwZWdfcmVhZF9oZWFkZXIoJmRpbmZvLCAxKTsKKysgIGpwZWdfcmVhZF9oZWFkZXIoJmRpbmZvLCBUUlVFKTsKKyAgIAorICAgZGluZm8ucXVhbnRpemVfY29sb3JzICAgICAgPSAoYm9vbGVhbilGQUxTRTsKKyAgIGRpbmZvLm91dF9jb2xvcl9zcGFjZSAgICAgID0gSkNTX1JHQjsKKy0tIAorMS43LjkuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZsdGsvZmx0ay9mbHRrLW5vLWZyZWV0eXBlLWNvbmZpZy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmx0ay9mbHRrL2ZsdGstbm8tZnJlZXR5cGUtY29uZmlnLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRkMTNmZmMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZsdGsvZmx0ay9mbHRrLW5vLWZyZWV0eXBlLWNvbmZpZy5wYXRjaApAQCAtMCwwICsxLDIwIEBACistLS0gYS9jb25maWd1cmUuaW4ub3JpZwkyMDE1LTExLTI2IDE0OjMwOjE3Ljg5MzQyNjk2NiArMDgwMAorKysrIGIvY29uZmlndXJlLmluCTIwMTUtMTEtMjYgMTQ6MzM6MDAuMjg1NDI0MDk5ICswODAwCitAQCAtOTY5LDEyICs5NjksMTIgQEAgY2FzZSAkaG9zdF9vc19ndWkgaW4KKyAgICAgICAgIEFDX0FSR19FTkFCTEUoeGZ0LCBbICAtLWVuYWJsZS14ZnQgICAgICAgICAgICB0dXJuIG9uIFhmdCBzdXBwb3J0IFtbZGVmYXVsdD15ZXNdXV0pCisgCisgCWlmIHRlc3QgeCRlbmFibGVfeGZ0ICE9IHhubzsgdGhlbgorLSAgICAgICAgICAgIEFDX1BBVEhfUFJPRyhGVENPTkZJRyxmcmVldHlwZS1jb25maWcpCisrICAgICAgICAgICAgQUNfUEFUSF9QUk9HKFBLR0NPTkZJRyxwa2ctY29uZmlnKQorIAorLQkgICAgaWYgdGVzdCAieCRGVENPTkZJRyIgIT0geDsgdGhlbgorLQkgICAgICAgIENQUEZMQUdTPSJgJEZUQ09ORklHIC0tY2ZsYWdzYCAkQ1BQRkxBR1MiCistCSAgICAgICAgQ0ZMQUdTPSJgJEZUQ09ORklHIC0tY2ZsYWdzYCAkQ0ZMQUdTIgorLQkgICAgICAgIENYWEZMQUdTPSJgJEZUQ09ORklHIC0tY2ZsYWdzYCAkQ1hYRkxBR1MiCisrCSAgICBpZiB0ZXN0ICJ4JFBLR0NPTkZJRyIgIT0geDsgdGhlbgorKwkgICAgICAgIENQUEZMQUdTPSJgJFBLR0NPTkZJRyAtLWNmbGFncyB4ZnRgICRDUFBGTEFHUyIKKysJICAgICAgICBDRkxBR1M9ImAkUEtHQ09ORklHIC0tY2ZsYWdzIHhmdGAgJENGTEFHUyIKKysJICAgICAgICBDWFhGTEFHUz0iYCRQS0dDT05GSUcgLS1jZmxhZ3MgeGZ0YCAkQ1hYRkxBR1MiCisgCisgCSAgICAgICAgQUNfQ0hFQ0tfTElCKGZvbnRjb25maWcsIEZjUGF0dGVybkNyZWF0ZSkKKyAJCUFDX0NIRUNLX0hFQURFUihYMTEvWGZ0L1hmdC5oLApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mbHRrL2ZsdGtfMS4zLjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZsdGsvZmx0a18xLjMuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMTdlY2MzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mbHRrL2ZsdGtfMS4zLjMuYmIKQEAgLTAsMCArMSw0OSBAQAorU1VNTUFSWSA9ICJGTFRLIGlzIGEgY3Jvc3MtcGxhdGZvcm0gQysrIEdVSSB0b29sa2l0IgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5mbHRrLm9yZyIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiTEdQTHYyICYgRkxUSyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWY2YjI2MzQ0YTI0YTk0MWEwMWE1YjA4MjZlODBiNWNhIgorCitERVBFTkRTID0gImFsc2EtbGliIHpsaWIganBlZyBsaWJwbmcgbGlieGV4dCBsaWJ4ZnQiCisKK1NSQ19VUkkgPSAiaHR0cDovL2ZsdGsub3JnL3B1Yi9mbHRrLyR7UFZ9LyR7QlB9LXNvdXJjZS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vZGlzYWJsZV90ZXN0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2ZsdGstbm8tZnJlZXR5cGUtY29uZmlnLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2ZpeC1ib29sZWFuLWlzc3VlLXdpdGgtanBlZzkucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiOWNjZGIwZDE5ZGMxMDRiODcxNzliZDlmZDEwODIyZTMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjgzOThkOThkNzIyMWQ0MGU3N2JjN2IxOWU3NjFhZGFmMmYxZWY4YmIwYzMwZWNlYjdiZWI0ZjIyNzNkMGQ5NyIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIGJpbmNvbmZpZyBwa2djb25maWcgbGliX3BhY2thZ2UKKworVEFSR0VUX0NDX0FSQ0ggKz0gIiR7TERGTEFHU30gLURYRlRfTUFKT1I9MiIKKworRVhUUkFfT0VDT05GID0gIi0tZW5hYmxlLXNoYXJlZCBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtdGhyZWFkcyBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUteGRiZSBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUteGZ0IFwKKyIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnb3BlbmdsJywgJ29wZW5nbCcsICcnLCBkKX0iCisKK1BBQ0tBR0VDT05GSUdbb3BlbmdsXSA9ICItLWVuYWJsZS1nbCwtLWRpc2FibGUtZ2wsdmlydHVhbC9saWJnbCIKK1BBQ0tBR0VDT05GSUdbeGluZXJhbWFdID0gIi0tZW5hYmxlLXhpbmVyYW1hLC0tZGlzYWJsZS14aW5lcmFtYSxsaWJ4aW5lcmFtYSIKK1BBQ0tBR0VDT05GSUdbeGZpeGVzXSA9ICItLWVuYWJsZS14Zml4ZXMsLS1kaXNhYmxlLXhmaXhlcyxsaWJ4Zml4ZXMiCitQQUNLQUdFQ09ORklHW3hjdXJzb3JdID0gIi0tZW5hYmxlLXhjdXJzb3IsLS1kaXNhYmxlLXhjdXJzb3IsbGlieGN1cnNvciIKKworZG9fY29uZmlndXJlKCkgeworICAgIG9lX3J1bmNvbmYKK30KKworZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtdGFyZ2V0KCkgeworICAgIHNlZCAtaSAtZSAncywke1NUQUdJTkdfRElSX0hPU1R9LCxnJyAke0R9JHtiaW5kaXJ9L2ZsdGstY29uZmlnCit9CisKK3B5dGhvbiBwb3B1bGF0ZV9wYWNrYWdlc19wcmVwZW5kICgpIHsKKyAgICBpZiAoZC5nZXRWYXIoJ0RFQklBTl9OQU1FUycsIDEpKToKKyAgICAgICAgZC5zZXRWYXIoJ1BLR18ke0JQTn0nLCAnbGliZmx0ayR7UFZ9JykKK30KKworTEVBRF9TT05BTUUgPSAibGliZmx0ay5zbyIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mcmVlcmRwL2ZyZWVyZHAvMDAwMS1GaW5kR1N0cmVhbWVyXzFfMC1maXgtYnVpbGQtZmFpbHVyZS1mb3ItbmV3LWdzdHJlYW1lLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mcmVlcmRwL2ZyZWVyZHAvMDAwMS1GaW5kR1N0cmVhbWVyXzFfMC1maXgtYnVpbGQtZmFpbHVyZS1mb3ItbmV3LWdzdHJlYW1lLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ1ZjY0ODUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZyZWVyZHAvZnJlZXJkcC8wMDAxLUZpbmRHU3RyZWFtZXJfMV8wLWZpeC1idWlsZC1mYWlsdXJlLWZvci1uZXctZ3N0cmVhbWUucGF0Y2gKQEAgLTAsMCArMSw3MSBAQAorRnJvbSBiZWEyN2ZkOTE5YjY0ZWU4ZDk3OTk2NDA5ZTI3OWUxZTgzZDEzNTk0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSmVhbi1Mb3VpcyBEdXBvbmQgPGplYW4tbG91aXNAZHVwb25kLmJlPgorRGF0ZTogU3VuLCA0IE9jdCAyMDE1IDE4OjE3OjMzICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIEZpbmRHU3RyZWFtZXJfMV8wOiBmaXggYnVpbGQgZmFpbHVyZSBmb3IgbmV3IGdzdHJlYW1lcgorIHZlcnNpb25zCisKKy0tLQorIGNtYWtlL0ZpbmRHU3RyZWFtZXJfMV8wLmNtYWtlIHwgMzAgKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKyksIDE1IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY21ha2UvRmluZEdTdHJlYW1lcl8xXzAuY21ha2UgYi9jbWFrZS9GaW5kR1N0cmVhbWVyXzFfMC5jbWFrZQoraW5kZXggZjdiZjk5MC4uM2FhOGZjNiAxMDA2NDQKKy0tLSBhL2NtYWtlL0ZpbmRHU3RyZWFtZXJfMV8wLmNtYWtlCisrKysgYi9jbWFrZS9GaW5kR1N0cmVhbWVyXzFfMC5jbWFrZQorQEAgLTUzLDE3ICs1MywxNyBAQCBzZXQoR1NUUkVBTUVSXzFfMF9NSU5JTVVNX1ZFUlNJT04gMS4wLjUpCisgIyBIZWxwZXIgbWFjcm8gdG8gZmluZCBhIEdzdHJlYW1lciBwbHVnaW4gKG9yIEdzdHJlYW1lciBpdHNlbGYpCisgIyAgIF9jb21wb25lbnRfcHJlZml4IGlzIHByZXBlbmRlZCB0byB0aGUgX0lOQ0xVREVfRElSUyBhbmQgX0xJQlJBUklFUyB2YXJpYWJsZXMgKGVnLiAiR1NUUkVBTUVSXzFfMF9BVURJTyIpCisgIyAgIF9wa2djb25maWdfbmFtZSBpcyB0aGUgY29tcG9uZW50J3MgcGtnLWNvbmZpZyBuYW1lIChlZy4gImdzdHJlYW1lci0xLjAiLCBvciAiZ3N0cmVhbWVyLXZpZGVvLTEuMCIpLgorLSMgICBfaGVhZGVyIGlzIHRoZSBjb21wb25lbnQncyBoZWFkZXIsIHJlbGF0aXZlIHRvIHRoZSBnc3RyZWFtZXItMS4wIGRpcmVjdG9yeSAoZWcuICJnc3QvZ3N0LmgiKS4KKyAjICAgX2xpYnJhcnkgaXMgdGhlIGNvbXBvbmVudCdzIGxpYnJhcnkgbmFtZSAoZWcuICJnc3RyZWFtZXItMS4wIiBvciAiZ3N0dmlkZW8tMS4wIikKKy1tYWNybyhGSU5EX0dTVFJFQU1FUl9DT01QT05FTlQgX2NvbXBvbmVudF9wcmVmaXggX3BrZ2NvbmZpZ19uYW1lIF9oZWFkZXIgX2xpYnJhcnkpCisrbWFjcm8oRklORF9HU1RSRUFNRVJfQ09NUE9ORU5UIF9jb21wb25lbnRfcHJlZml4IF9wa2djb25maWdfbmFtZSBfbGlicmFyeSkKKyAgICAgIyBGSVhNRTogVGhlIFFVSUVUIGtleXdvcmQgY2FuIGJlIHVzZWQgb25jZSB3ZSByZXF1aXJlIENNYWtlIDIuOC4yLgorLSAgICBwa2dfY2hlY2tfbW9kdWxlcyhQQ18ke19jb21wb25lbnRfcHJlZml4fSAke19wa2djb25maWdfbmFtZX0pCisgCistICAgIGZpbmRfcGF0aCgke19jb21wb25lbnRfcHJlZml4fV9JTkNMVURFX0RJUlMKKy0gICAgICAgIE5BTUVTICR7X2hlYWRlcn0KKy0gICAgICAgIEhJTlRTICR7UENfJHtfY29tcG9uZW50X3ByZWZpeH1fSU5DTFVERV9ESVJTfSAke1BDXyR7X2NvbXBvbmVudF9wcmVmaXh9X0lOQ0xVREVESVJ9CistICAgICAgICBQQVRIX1NVRkZJWEVTIGdzdHJlYW1lci0xLjAKKy0gICAgKQorKyAgICBzdHJpbmcoUkVHRVggTUFUQ0ggIiguKik+PSguKikiIF9kdW1teSAiJHtfcGtnY29uZmlnX25hbWV9IikKKysgICAgaWYgKCIke0NNQUtFX01BVENIXzJ9IiBTVFJFUVVBTCAiIikKKysgICAgICAgIHBrZ19jaGVja19tb2R1bGVzKFBDXyR7X2NvbXBvbmVudF9wcmVmaXh9ICIke19wa2djb25maWdfbmFtZX0gPj0gJHtHU3RyZWFtZXJfRklORF9WRVJTSU9OfSIpCisrICAgIGVsc2UgKCkKKysgICAgICAgIHBrZ19jaGVja19tb2R1bGVzKFBDXyR7X2NvbXBvbmVudF9wcmVmaXh9ICR7X3BrZ2NvbmZpZ19uYW1lfSkKKysgICAgZW5kaWYgKCkKKysgICAgc2V0KCR7X2NvbXBvbmVudF9wcmVmaXh9X0lOQ0xVREVfRElSUyAke1BDXyR7X2NvbXBvbmVudF9wcmVmaXh9X0lOQ0xVREVfRElSU30pCisgCisgICAgIGZpbmRfbGlicmFyeSgke19jb21wb25lbnRfcHJlZml4fV9MSUJSQVJJRVMKKyAgICAgICAgIE5BTUVTICR7X2xpYnJhcnl9IGdzdHJlYW1lcl9hbmRyb2lkCitAQCAtNzgsOCArNzgsOCBAQCBlbmRtYWNybygpCisgIyAxLjEuIEZpbmQgaGVhZGVycyBhbmQgbGlicmFyaWVzCisgc2V0KEdMSUJfUk9PVF9ESVIgJHtHU1RSRUFNRVJfMV8wX1JPT1RfRElSfSkKKyBmaW5kX3BhY2thZ2UoR2xpYiBSRVFVSVJFRCkKKy1GSU5EX0dTVFJFQU1FUl9DT01QT05FTlQoR1NUUkVBTUVSXzFfMCBnc3RyZWFtZXItMS4wIGdzdC9nc3QuaCBnc3RyZWFtZXItMS4wKQorLUZJTkRfR1NUUkVBTUVSX0NPTVBPTkVOVChHU1RSRUFNRVJfMV8wX0JBU0UgZ3N0cmVhbWVyLWJhc2UtMS4wIGdzdC9nc3QuaCBnc3RiYXNlLTEuMCkKKytGSU5EX0dTVFJFQU1FUl9DT01QT05FTlQoR1NUUkVBTUVSXzFfMCBnc3RyZWFtZXItMS4wIGdzdHJlYW1lci0xLjApCisrRklORF9HU1RSRUFNRVJfQ09NUE9ORU5UKEdTVFJFQU1FUl8xXzBfQkFTRSBnc3RyZWFtZXItYmFzZS0xLjAgZ3N0YmFzZS0xLjApCisgCisgIyAxLjIuIENoZWNrIEdzdHJlYW1lciB2ZXJzaW9uCisgaWYgKEdTVFJFQU1FUl8xXzBfSU5DTFVERV9ESVJTKQorQEAgLTExMCwxMSArMTEwLDExIEBAIGVuZGlmICgpCisgIyAyLiBGaW5kIEdzdHJlYW1lciBwbHVnaW5zCisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgCistRklORF9HU1RSRUFNRVJfQ09NUE9ORU5UKEdTVFJFQU1FUl8xXzBfQVBQIGdzdHJlYW1lci1hcHAtMS4wIGdzdC9hcHAvZ3N0YXBwc2luay5oIGdzdGFwcC0xLjApCistRklORF9HU1RSRUFNRVJfQ09NUE9ORU5UKEdTVFJFQU1FUl8xXzBfQVVESU8gZ3N0cmVhbWVyLWF1ZGlvLTEuMCBnc3QvYXVkaW8vYXVkaW8uaCBnc3RhdWRpby0xLjApCistRklORF9HU1RSRUFNRVJfQ09NUE9ORU5UKEdTVFJFQU1FUl8xXzBfRkZUIGdzdHJlYW1lci1mZnQtMS4wIGdzdC9mZnQvZ3N0ZmZ0LmggZ3N0ZmZ0LTEuMCkKKy1GSU5EX0dTVFJFQU1FUl9DT01QT05FTlQoR1NUUkVBTUVSXzFfMF9QQlVUSUxTIGdzdHJlYW1lci1wYnV0aWxzLTEuMCBnc3QvcGJ1dGlscy9wYnV0aWxzLmggZ3N0cGJ1dGlscy0xLjApCistRklORF9HU1RSRUFNRVJfQ09NUE9ORU5UKEdTVFJFQU1FUl8xXzBfVklERU8gZ3N0cmVhbWVyLXZpZGVvLTEuMCBnc3QvdmlkZW8vdmlkZW8uaCBnc3R2aWRlby0xLjApCisrRklORF9HU1RSRUFNRVJfQ09NUE9ORU5UKEdTVFJFQU1FUl8xXzBfQVBQIGdzdHJlYW1lci1hcHAtMS4wIGdzdGFwcC0xLjApCisrRklORF9HU1RSRUFNRVJfQ09NUE9ORU5UKEdTVFJFQU1FUl8xXzBfQVVESU8gZ3N0cmVhbWVyLWF1ZGlvLTEuMCBnc3RhdWRpby0xLjApCisrRklORF9HU1RSRUFNRVJfQ09NUE9ORU5UKEdTVFJFQU1FUl8xXzBfRkZUIGdzdHJlYW1lci1mZnQtMS4wIGdzdGZmdC0xLjApCisrRklORF9HU1RSRUFNRVJfQ09NUE9ORU5UKEdTVFJFQU1FUl8xXzBfUEJVVElMUyBnc3RyZWFtZXItcGJ1dGlscy0xLjAgZ3N0cGJ1dGlscy0xLjApCisrRklORF9HU1RSRUFNRVJfQ09NUE9ORU5UKEdTVFJFQU1FUl8xXzBfVklERU8gZ3N0cmVhbWVyLXZpZGVvLTEuMCBnc3R2aWRlby0xLjApCisgCisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAjIDMuIFByb2Nlc3MgdGhlIENPTVBPTkVOVFMgcGFzc2VkIHRvIEZJTkRfUEFDS0FHRQorLS0gCisyLjYuNAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZyZWVyZHAvZnJlZXJkcC93aW5wci1tYWtlY2VydC1CdWlsZC13aXRoLWluc3RhbGwtUlBBVEgucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZyZWVyZHAvZnJlZXJkcC93aW5wci1tYWtlY2VydC1CdWlsZC13aXRoLWluc3RhbGwtUlBBVEgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDI3OWQ2ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZnJlZXJkcC9mcmVlcmRwL3dpbnByLW1ha2VjZXJ0LUJ1aWxkLXdpdGgtaW5zdGFsbC1SUEFUSC5wYXRjaApAQCAtMCwwICsxLDMxIEBACitGcm9tIDI1M2VhZmM4YzhkYTgzZmMyYjFhOTlhOWU0MzgyNGVmYzYxMDVjN2EgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYW51ZWwgQmFjaG1hbm4gPG1hbnVlbC5iYWNobWFubkBpb3QuYnpoPgorRGF0ZTogU3VuLCA0IE9jdCAyMDE1IDEwOjQ0OjQ5ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIHdpbnByLW1ha2VjZXJ0OiBCdWlsZCB3aXRoIGluc3RhbGwgUlBBVEgKKworQXMgd2UgYXJlIGluc3RhbGxpbmcgIndpbnByLW1ha2VjZXJ0IiBtYW51YWxseSwgd2UgZG8gd2FudAordG8gcmVmZXIgdG8gdGhlIGxpYnJhcnkgaW4gREVTVERJUiwgbm90IHRoZSBvbmUgcmVzdGluZyBpbgordGhlIGJ1aWxkIHRyZWUuCisKK1NpZ25lZC1vZmYtYnk6IE1hbnVlbCBCYWNobWFubiA8bWFudWVsLmJhY2htYW5uQGlvdC5iemg+CistLS0KKyB3aW5wci90b29scy9tYWtlY2VydC9jbGkvQ01ha2VMaXN0cy50eHQgfCA0ICsrKysKKyAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS93aW5wci90b29scy9tYWtlY2VydC9jbGkvQ01ha2VMaXN0cy50eHQgYi93aW5wci90b29scy9tYWtlY2VydC9jbGkvQ01ha2VMaXN0cy50eHQKK2luZGV4IDE3OTU0YzQuLjkwYzQ0NmIgMTAwNjQ0CistLS0gYS93aW5wci90b29scy9tYWtlY2VydC9jbGkvQ01ha2VMaXN0cy50eHQKKysrKyBiL3dpbnByL3Rvb2xzL21ha2VjZXJ0L2NsaS9DTWFrZUxpc3RzLnR4dAorQEAgLTQ1LDUgKzQ1LDkgQEAgc2V0KCR7TU9EVUxFX1BSRUZJWH1fTElCUyB3aW5wci1tYWtlY2VydC10b29sKQorIAorIHRhcmdldF9saW5rX2xpYnJhcmllcygke01PRFVMRV9OQU1FfSAkeyR7TU9EVUxFX1BSRUZJWH1fTElCU30pCisgCisrc2V0X3RhcmdldF9wcm9wZXJ0aWVzKCR7TU9EVUxFX05BTUV9IFBST1BFUlRJRVMgCisrCUJVSUxEX1dJVEhfSU5TVEFMTF9SUEFUSCAxKQorKworIHNldF9wcm9wZXJ0eShUQVJHRVQgJHtNT0RVTEVfTkFNRX0gUFJPUEVSVFkgRk9MREVSICJXaW5QUi9Ub29scyIpCisgCisrCistLSAKKzEuOC4zLjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mcmVlcmRwL2ZyZWVyZHBfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mcmVlcmRwL2ZyZWVyZHBfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMzOWEwNTMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZyZWVyZHAvZnJlZXJkcF9naXQuYmIKQEAgLTAsMCArMSw5MCBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTAtMjAxMiBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTHRkYS4gQWxsIFJpZ2h0cyBSZXNlcnZlZAorIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UKKworREVTQ1JJUFRJT04gPSAiRnJlZVJEUCBSRFAgY2xpZW50ICYgc2VydmVyIGxpYnJhcnkiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmZyZWVyZHAuY29tIgorREVQRU5EUyA9ICJvcGVuc3NsIGFsc2EtbGliIHBjc2MtbGl0ZSIKK1NFQ1RJT04gPSAibmV0IgorTElDRU5TRSA9ICJBcGFjaGUtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9M2I4M2VmOTYzODdmMTQ2NTVmYzg1NGRkYzNjNmJkNTciCisKK2luaGVyaXQgcGtnY29uZmlnIGNtYWtlIGdpdHBrZ3YKKworUFYgPSAiMS4yLjUrZ2l0ciR7U1JDUFZ9IgorUEtHViA9ICIke0dJVFBLR1ZUQUd9IgorCitTUkNSRVYgPSAiNjJkYTlkMjhjNjc0ODE0YzgxYzI0NWMxYzc4ODJlYjBkYTdiZTc2YiIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9GcmVlUkRQL0ZyZWVSRFAuZ2l0IFwKKyAgICBmaWxlOi8vd2lucHItbWFrZWNlcnQtQnVpbGQtd2l0aC1pbnN0YWxsLVJQQVRILnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMS1GaW5kR1N0cmVhbWVyXzFfMC1maXgtYnVpbGQtZmFpbHVyZS1mb3ItbmV3LWdzdHJlYW1lLnBhdGNoIFwKKyIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworRVhUUkFfT0VDTUFLRSArPSAiIFwKKyAgICAtRFdJVEhfQUxTQT1PTiBcCisgICAgLURXSVRIX1BDU0M9T04gXAorICAgIC1EV0lUSF9GRk1QRUc9T0ZGIFwKKyAgICAtRFdJVEhfQ1VOSVQ9T0ZGIFwKKyAgICAtRFdJVEhfTkVPTj1PRkYgXAorICAgIC1EQlVJTERfU1RBVElDX0xJQlM9T0ZGIFwKKyAgICAtRENNQUtFX1BPU0lUSU9OX0lOREVQRU5EQU5UX0NPREU9T04gXAorICAgIC1EV0lUSF9NQU5QQUdFUz1PRkYgXAorIgorCitQQUNLQUdFQ09ORklHID8/PSAiICBcCisgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCAneDExJywgJycsIGQpfVwKKyAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3dheWxhbmQnLCAnd2F5bGFuZCcsICcnLCBkKX1cCisgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdkaXJlY3RmYicsICdkaXJlY3RmYicsICcnLCBkKX1cCisgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAncGFtJywgJycsIGQpfVwKKyAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3B1bHNlYXVkaW8nLCAncHVsc2VhdWRpbycsICcnLCBkKX1cCisgICAgICAgICAgICAgICAgZ3N0cmVhbWVyIGN1cHMgXAorICAgICAgICAgICAgICAgICIKKworWDExX0RFUFMgPSAidmlydHVhbC9saWJ4MTEgbGlieGluZXJhbWEgbGlieGV4dCBsaWJ4Y3Vyc29yIGxpYnh2IGxpYnhpIGxpYnhyZW5kZXIgbGlieGZpeGVzIGxpYnhkYW1hZ2UgbGlieHJhbmRyIGxpYnhrYmZpbGUiCitQQUNLQUdFQ09ORklHW3gxMV0gPSAiLURXSVRIX1gxMT1PTiAtRFdJVEhfWElORVJBTUE9T04gLURXSVRIX1hFWFQ9T04gLURXSVRIX1hDVVJTT1I9T04gLURXSVRIX1hWPU9OIC1EV0lUSF9YST1PTiAtRFdJVEhfWFJFTkRFUj1PTiAtRFdJVEhfWEZJWEVTPU9OIC1EV0lUSF9YREFNQUdFPU9OIC1EV0lUSF9YUkFORFI9T04gLURXSVRIX1hLQkZJTEU9T04sLURXSVRIX1gxMT1PRkYsJHtYMTFfREVQU30iCitQQUNLQUdFQ09ORklHW3dheWxhbmRdID0gIi1EV0lUSF9XQVlMQU5EPU9OLC1EV0lUSF9XQVlMQU5EPU9GRix3YXlsYW5kIgorUEFDS0FHRUNPTkZJR1tkaXJlY3RmYl0gPSAiLURXSVRIX0RJUkVDVEZCPU9OLC1EV0lUSF9ESVJFQ1RGQj1PRkYsZGlyZWN0ZmIiCitQQUNLQUdFQ09ORklHW3BhbV0gPSAiLURXSVRIX1BBTT1PTiwtRFdJVEhfUEFNPU9GRixsaWJwYW0iCitQQUNLQUdFQ09ORklHW3B1bHNlYXVkaW9dID0gIi1EV0lUSF9QVUxTRUFVRElPPU9OLC1EV0lUSF9QVUxTRUFVRElPPU9GRixwdWxzZWF1ZGlvIgorUEFDS0FHRUNPTkZJR1tnc3RyZWFtZXJdID0gIi1EV0lUSF9HU1RSRUFNRVJfMV8wPU9OLC1EV0lUSF9HU1RSRUFNRVJfMV8wPU9GRixnc3RyZWFtZXIxLjAgZ3N0cmVhbWVyMS4wLXBsdWdpbnMtYmFzZSIKK1BBQ0tBR0VDT05GSUdbY3Vwc10gPSAiLURXSVRIX0NVUFM9T04sLURXSVRIX0NVUFM9T0ZGLGN1cHMiCisKK1BBQ0tBR0VTID0rICJsaWJmcmVlcmRwIgorCitMRUFEX1NPTkFNRSA9ICJsaWJmcmVlcmRwLnNvIgorRklMRVNfbGliZnJlZXJkcCA9ICIke2xpYmRpcn0vbGliKiR7U09MSUJTfSIKKworUEFDS0FHRVNfRFlOQU1JQyArPSAiXmxpYmZyZWVyZHAtcGx1Z2luLS4qIgorCisjIHdlIHdpbGwgbmVlZCB3aW5wci1tYWtlY2VydCB0byBnZW5lcmF0ZSBUTFMgY2VydGlmaWNhdGVzCitkb19pbnN0YWxsX2FwcGVuZCAoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtbTc1NSB3aW5wci90b29scy9tYWtlY2VydC9jbGkvd2lucHItbWFrZWNlcnQgJHtEfSR7YmluZGlyfQorICAgIHJtIC1yZiAke0R9JHtsaWJkaXJ9L2NtYWtlCisgICAgcm0gLXJmICR7RH0ke2xpYmRpcn0vZnJlZXJkcAorfQorCitweXRob24gcG9wdWxhdGVfcGFja2FnZXNfcHJlcGVuZCAoKSB7CisgICAgZnJlZXJkcF9yb290ID0gZC5leHBhbmQoJyR7bGliZGlyfS9mcmVlcmRwJykKKworICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGZyZWVyZHBfcm9vdCwgJ14oYXVkaW5fLiopXC5zbyQnLAorICAgICAgICBvdXRwdXRfcGF0dGVybj0nbGliZnJlZXJkcC1wbHVnaW4tJXMnLAorICAgICAgICBkZXNjcmlwdGlvbj0nRnJlZVJEUCBwbHVnaW4gJXMnLAorICAgICAgICBwcmVwZW5kPVRydWUsIGV4dHJhX2RlcGVuZHM9J2xpYmZyZWVyZHAtcGx1Z2luLWF1ZGluJykKKworICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGZyZWVyZHBfcm9vdCwgJ14ocmRwc25kXy4qKVwuc28kJywKKyAgICAgICAgb3V0cHV0X3BhdHRlcm49J2xpYmZyZWVyZHAtcGx1Z2luLSVzJywKKyAgICAgICAgZGVzY3JpcHRpb249J0ZyZWVSRFAgcGx1Z2luICVzJywKKyAgICAgICAgcHJlcGVuZD1UcnVlLCBleHRyYV9kZXBlbmRzPSdsaWJmcmVlcmRwLXBsdWdpbi1yZHBzbmQnKQorCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgZnJlZXJkcF9yb290LCAnXih0c21mXy4qKVwuc28kJywKKyAgICAgICAgb3V0cHV0X3BhdHRlcm49J2xpYmZyZWVyZHAtcGx1Z2luLSVzJywKKyAgICAgICAgZGVzY3JpcHRpb249J0ZyZWVSRFAgcGx1Z2luICVzJywKKyAgICAgICAgcHJlcGVuZD1UcnVlLCBleHRyYV9kZXBlbmRzPSdsaWJmcmVlcmRwLXBsdWdpbi10c21mJykKKworICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGZyZWVyZHBfcm9vdCwgJ14oW14tXSopXC5zbyQnLAorICAgICAgICBvdXRwdXRfcGF0dGVybj0nbGliZnJlZXJkcC1wbHVnaW4tJXMnLAorICAgICAgICBkZXNjcmlwdGlvbj0nRnJlZVJEUCBwbHVnaW4gJXMnLAorICAgICAgICBwcmVwZW5kPVRydWUsIGV4dHJhX2RlcGVuZHM9JycpCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2dkL2dkXzIuMS4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9nZC9nZF8yLjEuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NWM3ZTZhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9nZC9nZF8yLjEuMS5iYgpAQCAtMCwwICsxLDQ3IEBACitTVU1NQVJZID0gImdkIGlzIGEgbGlicmFyeSB1c2VkIHRvIGNyZWF0ZSBQTkcsIEpQRUcsIG9yIFdCTVAgaW1hZ2VzIgorREVTQ1JJUFRJT04gPSAiVGhlIGdkIGdyYXBoaWNzIGxpYnJhcnkgYWxsb3dzIHlvdXIgY29kZSB0byBxdWlja2x5IGRyYXcgaW1hZ2VzIFwKK2NvbXBsZXRlIHdpdGggbGluZXMsIGFyY3MsIHRleHQsIG11bHRpcGxlIGNvbG9ycywgY3V0IGFuZCBwYXN0ZSBmcm9tIG90aGVyIFwKK2ltYWdlcywgYW5kIGZsb29kIGZpbGxzLCBhbmQgdG8gd3JpdGUgb3V0IHRoZSByZXN1bHQgYXMgYSBQTkcgb3IgSlBFRyBmaWxlLiBcCitUaGlzIGlzIHBhcnRpY3VsYXJseSB1c2VmdWwgaW4gV2ViIGFwcGxpY2F0aW9ucywgd2hlcmUgUE5HIGFuZCBKUEVHIGFyZSB0d28gXAorb2YgdGhlIGZvcm1hdHMgYWNjZXB0ZWQgZm9yIGlubGluZSBpbWFnZXMgYnkgbW9zdCBicm93c2Vycy4gTm90ZSB0aGF0IGdkIGlzIG5vdCBcCithIHBhaW50IHByb2dyYW0uIgorSE9NRVBBR0UgPSAiaHR0cDovL2xpYmdkLmJpdGJ1Y2tldC5vcmcvIgorCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkdEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9Yzk3NjM4Y2FmZDM1ODFlYjg3YWJkMzczMzIxMzc2NjkiCitERVBFTkRTID0gImZyZWV0eXBlIGxpYnBuZyBqcGVnIHpsaWIgdGlmZiIKKworU1JDX1VSSSA9ICJodHRwczovL2JpdGJ1Y2tldC5vcmcvbGliZ2QvZ2QtbGliZ2QvZG93bmxvYWRzL2xpYmdkLSR7UFZ9LnRhci5iejIgXAorIgorU1JDX1VSSVttZDVzdW1dID0gImQzZjFhOTkyYWM5YzU1MGViYzZkYTg5YzE0N2Y4OWFmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjg5NWVhOWM2ZmNhYjE4N2IwYTkwOGFlM2U5ZTZiMDY0MjM3NTZmOGE2NDNkMzYyMzQ5YjBjYWFiNDAxNGJkMGQiCisKK1MgPSAiJHtXT1JLRElSfS9saWJnZC0ke1BWfSIKKworaW5oZXJpdCBhdXRvdG9vbHMgYmluY29uZmlnIGdldHRleHQgcGtnY29uZmlnCisKK0VYVFJBX09FQ09ORiArPSAiIC0tZGlzYWJsZS1ycGF0aCBcCisgICAgICAgICAgICAgICAgICAtLXdpdGgtanBlZz0ke1NUQUdJTkdfTElCRElSfS8uLiBcCisgICAgICAgICAgICAgICAgICAtLXdpdGgtZnJlZXR5cGU9eWVzIFwKKyAgICAgICAgICAgICAgICAgIC0td2l0aG91dC1mb250Y29uZmlnIFwKKyAgICAgICAgICAgICAgICAgIC0td2l0aG91dC14cG0gXAorICAgICAgICAgICAgICAgICAgLS13aXRob3V0LXggXAorICAgICAgICAgICAgICAgICAgLS13aXRob3V0LXZweCBcCisgICAgICAgICAgICAgICAgIgorCitFWFRSQV9PRU1BS0UgPSAnTERGTEFHUz0iJHtMREZMQUdTfSInCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworCSMgY2xlYW51cCBidWlsZHBhdGhzIGZyb20gZ2RsaWIucGMKKwlzZWQgLWkgLWUgJ3MjJHtTVEFHSU5HX0RJUl9IT1NUfSMjZycgJHtEfSR7bGliZGlyfS9wa2djb25maWcvZ2RsaWIucGMKK30KKworUEFDS0FHRVMgKz0gIiR7UE59LXRvb2xzIgorCitGSUxFU18ke1BOfSA9ICIke2xpYmRpcn0vbGliKiR7U09MSUJTfSIKK0ZJTEVTXyR7UE59LXRvb2xzID0gIiR7YmluZGlyfS8qIgorCitQUk9WSURFUyArPSAiJHtQTn0tdG9vbHMiCitSUFJPVklERVNfJHtQTn0tdG9vbHMgPSAiJHtQTn0tdG9vbHMiCitSREVQRU5EU18ke1BOfS10b29scyA9ICJwZXJsIHBlcmwtbW9kdWxlLXN0cmljdCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ2xvZy9nbG9nLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ2xvZy9nbG9nLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YTFmYjQyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9nbG9nL2dsb2cuaW5jCkBAIC0wLDAgKzEsMTEgQEAKK0RFU0NSSVBUSU9OID0gIlRoZSBnbG9nIGxpYnJhcnkgaW1wbGVtZW50cyBhcHBsaWNhdGlvbi1sZXZlbCBsb2dnaW5nLiBUaGlzIFwKK2xpYnJhcnkgcHJvdmlkZXMgbG9nZ2luZyBBUElzIGJhc2VkIG9uIEMrKy1zdHlsZSBzdHJlYW1zIGFuZCB2YXJpb3VzIGhlbHBlciBcCittYWNyb3MuIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9jb2RlLmdvb2dsZS5jb20vcC9nb29nbGUtZ2xvZy8iCisKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZGM5ZGIzNjBlMGJiZDRlNDY2NzJmM2ZkOTFkZDZjNGIiCisKK0RFUEVORFMgPSAibGlidW53aW5kIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ2xvZy9nbG9nXzAuMy4zLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9nbG9nL2dsb2dfMC4zLjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGUzZjA3NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ2xvZy9nbG9nXzAuMy4zLmJiCkBAIC0wLDAgKzEsNiBAQAorcmVxdWlyZSBnbG9nLmluYworCitTUkNfVVJJID0gImh0dHA6Ly9nb29nbGUtZ2xvZy5nb29nbGVjb2RlLmNvbS9maWxlcy9nbG9nLSR7UFZ9LnRhci5neiIKKworU1JDX1VSSVttZDVzdW1dID0gImE2ZmQyYzIyZjg5OTY4NDZlMzRjNzYzNDIyNzE3YzE4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImZiZjkwYzIyODViYTA1NjFkYjdhNDBmOGE0ZWVmYjlhYTk2M2U3ZDM5OWJkNDUwMzYzZTk1OTkyOWZlODQ5ZDAiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2dudWxpYi9nbnVsaWJfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9nbnVsaWIvZ251bGliX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NjZlNDFhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9nbnVsaWIvZ251bGliX2dpdC5iYgpAQCAtMCwwICsxLDM0IEBACitTVU1NQVJZID0gIlRoZSBHTlUgcG9ydGFiaWxpdHkgbGlicmFyeSIKK0RFU0NSSVBUSU9OID0gIkEgY29sbGVjdGlvbiBvZiBzb2Z0d2FyZSBzdWJyb3V0aW5lcyB3aGljaCBhcmUgZGVzaWduZWQgdG8gXAorYmUgdXNhYmxlIG9uIG1hbnkgb3BlcmF0aW5nIHN5c3RlbXMuIFRoZSBnb2FsIG9mIHRoZSBwcm9qZWN0IFwKK2lzIHRvIG1ha2UgaXQgZWFzeSBmb3IgZnJlZSBzb2Z0d2FyZSBhdXRob3JzIHRvIG1ha2UgdGhlaXIgXAorc29mdHdhcmUgcnVuIG9uIG1hbnkgb3BlcmF0aW5nIHN5c3RlbXMuIFNpbmNlIHNvdXJjZSBpcyBkZXNpZ25lZCBcCit0byBiZSBjb3BpZWQgZnJvbSBnbnVsaWIsIGl0IGlzIG5vdCBhIGxpYnJhcnkgcGVyLXNlLCBhcyBtdWNoIFwKK2FzIGEgY29sbGVjdGlvbiBvZiBwb3J0YWJsZSBpZGlvbXMgdG8gYmUgdXNlZCBpbiBvdGhlciBwcm9qZWN0cy4iCisKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9nbnVsaWIvIgorU0VDVElPTiA9ICJkZXZlbCIKK0xJQ0VOU0UgPSAiTEdQTHYyKyIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZTRjZjM4MTBmMzNhMDY3ZWE3Y2NkMmNkODg5ZmVkMjEiCitTUkNSRVYgPSAiMjQzNzlhOTIxN2ZhNGJkNjI2ODU3OTVhYWFhMDEwZmQ5MGNlZDllMyIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0LnN2LmdudS5vcmcvZ251bGliO3Byb3RvY29sPWdpdCBcCisiCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitkb19pbnN0YWxsICgpIHsKKyAgICBjZCAke1N9CisgICAgZ2l0IGNoZWNrb3V0IG1hc3RlcgorICAgIGdpdCBjbG9uZSAke1N9ICR7RH0vJHtkYXRhZGlyfS9nbnVsaWIKK30KKworZG9fcGF0Y2hbbm9leGVjXSA9ICIxIgorZG9fY29uZmlndXJlW25vZXhlY10gPSAiMSIKK2RvX2NvbXBpbGVbbm9leGVjXSA9ICIxIgorZG9fcGFja2FnZVtub2V4ZWNdID0gIjEiCitkb19wYWNrYWdlZGF0YVtub2V4ZWNdID0gIjEiCitkb19wYWNrYWdlX3dyaXRlX2lwa1tub2V4ZWNdID0gIjEiCitkb19wYWNrYWdlX3dyaXRlX2RlYltub2V4ZWNdID0gIjEiCitkb19wYWNrYWdlX3dyaXRlX3JwbVtub2V4ZWNdID0gIjEiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9ncGVyZnRvb2xzL2dwZXJmdG9vbHNfMi40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9ncGVyZnRvb2xzL2dwZXJmdG9vbHNfMi40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNkOGUyYTkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2dwZXJmdG9vbHMvZ3BlcmZ0b29sc18yLjQuYmIKQEAgLTAsMCArMSwxMiBAQAorU1VNTUFSWSA9ICJGYXN0LCBtdWx0aS10aHJlYWRlZCBtYWxsb2MoKSBhbmQgbmlmdHkgcGVyZm9ybWFuY2UgYW5hbHlzaXMgdG9vbHMiCitIT01FUEFHRSA9ICJodHRwOi8vY29kZS5nb29nbGUuY29tL3AvZ3BlcmZ0b29scy8iCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTc2MjczMjc0MmM3M2RjNmM3ZmJlODYzMmYwNmMwNTlhIgorREVQRU5EUyA9ICJsaWJ1bndpbmQiCisKK1NSQ19VUkkgPSAiaHR0cDovL3BrZ3MuZmVkb3JhcHJvamVjdC5vcmcvcmVwby9wa2dzL2dwZXJmdG9vbHMvZ3BlcmZ0b29scy0yLjQudGFyLmd6LzIxNzFjZWEzYmJlMDUzMDM2ZmI1ZDVkMjUxNzZhMTYwL2dwZXJmdG9vbHMtMi40LnRhci5neiIKKworU1JDX1VSSVttZDVzdW1dID0gIjIxNzFjZWEzYmJlMDUzMDM2ZmI1ZDVkMjUxNzZhMTYwIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjk4MmEzNzIyNmViNDJmNDA3MTRlMjZiODA3NjgxNWQ1ZWE2NzdhNDIyZmI1MmZmOGJmY2EzNzA0ZDljMzBhMmQiCisKK2luaGVyaXQgYXV0b3Rvb2xzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2dwbS9ncG0tMS45OS43L2VnbGliYy0yLjE3LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9ncG0vZ3BtLTEuOTkuNy9lZ2xpYmMtMi4xNy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNDNiZGNiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9ncG0vZ3BtLTEuOTkuNy9lZ2xpYmMtMi4xNy5wYXRjaApAQCAtMCwwICsxLDEyIEBACitVcHN0cmVhbS1TdGF0dXM6IHBlbmRpbmcKKworLS0tIGdwbS0xLjk5Ljcub3JpZy9zcmMvZGFlbW9uL29wZW5fY29uc29sZS5jCTIwMDgtMDctMjQgMTI6MzM6MDUuMDAwMDAwMDAwICswMjAwCisrKysgZ3BtLTEuOTkuNy9zcmMvZGFlbW9uL29wZW5fY29uc29sZS5jCTIwMTMtMDEtMTAgMTI6Mzk6NDcuOTc1NDYxOTQ3ICswMTAwCitAQCAtMjMsNiArMjMsNyBAQAorICNpbmNsdWRlIDxmY250bC5oPiAgICAgICAgICAgICAgLyogb3BlbiBhbmQgY28uICAqLworICNpbmNsdWRlIDxzeXMvc3RhdC5oPiAgICAgICAgICAgLyogc3RhdCgpICovCisgI2luY2x1ZGUgPHN5cy9pb2N0bC5oPiAgICAgICAgICAvKiBpb2N0bCgpICovCisrI2luY2x1ZGUgPHN5cy90eXBlcy5oPiAgICAgICAgICAvKiBtYWpvcigpICovCisgCisgLyogTGludXggc3BlY2lmaWMgKHRvIGJlIG91dHNvdXJjZWQgaW4gZ3BtMiAqLworICNpbmNsdWRlIDxsaW51eC9zZXJpYWwuaD4gICAgICAgLyogZm9yIHNlcmlhbCBjb25zb2xlIGNoZWNrICovCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2dwbS9ncG0tMS45OS43L2luaXQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2dwbS9ncG0tMS45OS43L2luaXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmRjZjlhYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ3BtL2dwbS0xLjk5LjcvaW5pdApAQCAtMCwwICsxLDMyIEBACisjISAvYmluL3NoICAKKworIyBHcmFiIHRoZSBjb21tb24gZnVuY3Rpb25zCisjLiAvZXRjL2luaXQuZC9mdW5jdGlvbnMKKworIyBGSVhNRTogCisjIEFkZCBhIGNvbmZpZ3VyYXRpb24gZmlsZSBmb3IgR1BNIGhlcmUKKwordGVzdCAteCAvdXNyL3NiaW4vZ3BtIHx8IGV4aXQgMAorCitjYXNlICIkMSIgaW4KKyAgc3RhcnQpCisgICAgaWYgWyAhIC1wIC9kZXYvZ3BtZGF0YSBdOyB0aGVuCisgICAgICAgIG1rZmlmbyAvZGV2L2dwbWRhdGEKKyAgICBmaQorCisgICAgZWNobyAiU3RhcnRpbmcgR1BNOiIgCisgICAgc3RhcnQtc3RvcC1kYWVtb24gLVMgLXggL3Vzci9zYmluL2dwbSAtLSAtUiAtbSAvZGV2L3BzYXV4IC10IHBzMgorICAgIDs7CisgIHN0b3ApCisgICAgZWNobyAiU3RvcHBpbmcgR1BNOiIgCisgICAgc3RhcnQtc3RvcC1kYWVtb24gLUsgLXggL3Vzci9zYmluL2dwbQorICAgIDs7CisgIHJlc3RhcnR8Zm9yY2UtcmVsb2FkKSAKKyAgICAkMCBzdG9wCisgICAgJDAgc3RhcnQKKyAgICA7OworICAqKQorICAgIHVzYWdlIC9ldGMvaW5pdC5kL2dwbQorZXNhYworCitleGl0IDAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ3BtL2dwbS0xLjk5Ljcvbm8tZG9jcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ3BtL2dwbS0xLjk5Ljcvbm8tZG9jcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMTAyMTdhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9ncG0vZ3BtLTEuOTkuNy9uby1kb2NzLnBhdGNoCkBAIC0wLDAgKzEsMTggQEAKKworIworIyBQYXRjaCBtYW5hZ2VkIGJ5IGh0dHA6Ly93d3cubW4tbG9naXN0aWsuZGUvdW5zdXBwb3J0ZWQvcHhhMjUwL3BhdGNoZXIKKyMKKworSW5kZXg6IGdwbS0xLjk5LjcvTWFrZWZpbGUuaW4KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBncG0tMS45OS43Lm9yaWcvTWFrZWZpbGUuaW4JMjAwOC0wNy0yNCAwMzozNjozNS4wMDAwMDAwMDAgLTA3MDAKKysrKyBncG0tMS45OS43L01ha2VmaWxlLmluCTIwMTAtMDYtMjIgMTg6Mjg6NDUuMjY5NTA3MDAxIC0wNzAwCitAQCAtMTksNyArMTksNyBAQAorICMgdXNlci1vdmVycmlkYWJsZSBmbGFncywgYnV0IGl0J3MgYWxzbyBhbGwgdGhlIGltcGxpY2l0IHJ1bGUgbG9va3MgYXQuCisgIyBtaXNzaW5nID8KKyAKKy1TVUJESVJTID0gc3JjIGRvYyBjb250cmliIGdwbTIKKytTVUJESVJTID0gc3JjCisgCisgCisgIyMjIHNpbXBsZSwgYnV0IGVmZmVjdGl2ZSBydWxlcwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9ncG0vZ3BtLTEuOTkuNy9wcm9jZXNzY3JlZHMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2dwbS9ncG0tMS45OS43L3Byb2Nlc3NjcmVkcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNjQ3ZWNhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9ncG0vZ3BtLTEuOTkuNy9wcm9jZXNzY3JlZHMucGF0Y2gKQEAgLTAsMCArMSwxMiBAQAorSW5kZXg6IGdwbS0xLjk5Ljcvc3JjL2RhZW1vbi9wcm9jZXNzY29ubi5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ3BtLTEuOTkuNy5vcmlnL3NyYy9kYWVtb24vcHJvY2Vzc2Nvbm4uYwkyMDEwLTA5LTI5IDE3OjM2OjE4LjU3MTc4Mjk1MSArMDQwMAorKysrIGdwbS0xLjk5Ljcvc3JjL2RhZW1vbi9wcm9jZXNzY29ubi5jCTIwMTAtMDktMjkgMTc6NDI6NDQuNjU5OTkxNzU4ICswNDAwCitAQCAtMjAsNiArMjAsNyBAQAorICAqCisgICoqKioqKioqLworIAorKyNkZWZpbmUgX0dOVV9TT1VSQ0UKKyAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPiAgICAgICAgIC8qIGFjY2VwdCAqLworICNpbmNsdWRlIDxzdGRsaWIuaD4gICAgICAgICAgICAgLyogbWFsbG9jICovCisgI2luY2x1ZGUgPHVuaXN0ZC5oPiAgICAgICAgICAgICAvKiBjbG9zZSAqLwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9ncG0vZ3BtXzEuOTkuNy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ3BtL2dwbV8xLjk5LjcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzAyMjA1NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ3BtL2dwbV8xLjk5LjcuYmIKQEAgLTAsMCArMSw1MiBAQAorREVTQ1JJUFRJT04gPSAiR1BNIChHZW5lcmFsIFB1cnBvc2UgTW91c2UpIGlzIGEgbW91c2Ugc2VydmVyIFwKK2ZvciB0aGUgY29uc29sZSBhbmQgeHRlcm0sIHdpdGggc2FtcGxlIGNsaWVudHMgaW5jbHVkZWQgXAorKGVtYWNzLCBldGMpLiIKK1NFQ1RJT04gPSAiY29uc29sZS91dGlscyIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vZ3BtMi9jb3JlL21haW4uYztlbmRsaW5lPTE5O21kNT02NmQzYzIwNWM0ZTdlZTU3MDRiMmVlMzUxZGZlZDcyZiIKKworUFIgPSAicjIiCisKK0RFUEVORFMgPSAibmN1cnNlcyIKKworU1JDX1VSSSA9ICJmdHA6Ly9hcmNhbmEubGludXguaXQvcHViL2dwbS9ncG0tJHtQVn0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly9uby1kb2NzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3Byb2Nlc3NjcmVkcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9lZ2xpYmMtMi4xNy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9pbml0IgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgdXBkYXRlLXJjLmQKKworSU5JVFNDUklQVF9OQU1FID0gImdwbSIKK0lOSVRTQ1JJUFRfUEFSQU1TID0gImRlZmF1bHRzIgorCisjZXhwb3J0IExJQlMgPSAiLWxtIgorCisjIGFsbCBmaWVsZHMgYXJlIC8qIEZJWE1FOiBncG0gMS45OS4xMyAqLworIyBncG0tMS45OS43L3NyYy9saWIvbGliaGlnaC5jOjE3MTo0MzogZXJyb3I6IHBhcmFtZXRlciAnY2xpZW50ZGF0YScgc2V0IGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtYnV0LXNldC1wYXJhbWV0ZXJdCisjIGdwbS0xLjk5Ljcvc3JjL2xpYi9yZXBvcnQtbGliLmM6Mjg6MjE6IGVycm9yOiBwYXJhbWV0ZXIgJ2xpbmUnIHNldCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWJ1dC1zZXQtcGFyYW1ldGVyXQorIyBncG0tMS45OS43L3NyYy9saWIvcmVwb3J0LWxpYi5jOjI4OjMzOiBlcnJvcjogcGFyYW1ldGVyICdmaWxlJyBzZXQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNlZC1idXQtc2V0LXBhcmFtZXRlcl0KKyMgZ3BtLTEuOTkuNy9zcmMvZHJpdmVycy9lbXB0eS9pLmM6MjY6MjM6IGVycm9yOiBwYXJhbWV0ZXIgJ2ZkJyBzZXQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNlZC1idXQtc2V0LXBhcmFtZXRlcl0KKyMgZ3BtLTEuOTkuNy9zcmMvZHJpdmVycy9lbXB0eS9pLmM6MjY6NDI6IGVycm9yOiBwYXJhbWV0ZXIgJ2ZsYWdzJyBzZXQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNlZC1idXQtc2V0LXBhcmFtZXRlcl0KKyMgZ3BtLTEuOTkuNy9zcmMvZHJpdmVycy9ldG91Y2gvaS5jOjM0OjQzOiBlcnJvcjogcGFyYW1ldGVyICdmbGFncycgc2V0IGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtYnV0LXNldC1wYXJhbWV0ZXJdCisjIGdwbS0xLjk5Ljcvc3JjL2RyaXZlcnMvbXNjL3IuYzozMjoxMjogZXJyb3I6IHZhcmlhYmxlICdkeScgc2V0IGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtYnV0LXNldC12YXJpYWJsZV0KKyMgZ3BtLTEuOTkuNy9zcmMvZHJpdmVycy9tc2Mvci5jOjMyOjg6IGVycm9yOiB2YXJpYWJsZSAnZHgnIHNldCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWJ1dC1zZXQtdmFyaWFibGVdCisjIGNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCitDRkxBR1MgKz0gIi1Xbm8tZXh0cmEgLVduby1lcnJvcj11bnVzZWQtYnV0LXNldC1wYXJhbWV0ZXIgLVduby1lcnJvcj11bnVzZWQtYnV0LXNldC12YXJpYWJsZSIKKworIyB0d2lkZGxlciBpcyBXSVAgaW4gMS45OS43IGFuZCBwcm9iYWJseSBub3Qgd29ydGggZml4aW5nIChhIGxvdCBvZiBjaGFuZ2VzIGluIGdwbS0yLWRldiBhZnRlciAxLjk5LjcKKyMgZ3BtLTEuOTkuNy9zcmMvZHJpdmVycy90d2lkL3R3aWRkbGVyLmM6NTAzOjE0OiBlcnJvcjogY2FzdCB0byBwb2ludGVyIGZyb20gaW50ZWdlciBvZiBkaWZmZXJlbnQgc2l6ZSBbLVdlcnJvcj1pbnQtdG8tcG9pbnRlci1jYXN0XQorIyAvZ3BtLTEuOTkuNy9zcmMvbWljZS5jOjIyMTo1OiBlcnJvcjogKG5lYXIgaW5pdGlhbGl6YXRpb24gZm9yICdtaWNlWzMyXS5pbml0JykgWy1XZXJyb3JdCitDRkxBR1MgKz0gIi1Xbm8tZXJyb3I9aW50LXRvLXBvaW50ZXItY2FzdCAtV25vLWVycm9yIgorCitkb19pbnN0YWxsICgpIHsKKyAgICBvZV9ydW5tYWtlICdERVNURElSPSR7RH0nIGluc3RhbGwKKyAgICBpbnN0YWxsIC1tIDA2NDQgc3JjL2hlYWRlcnMvZ3BtLmggJHtEfSR7aW5jbHVkZWRpcn0KKyAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXNjb25mZGlyfS9pbml0LmQKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9pbml0ICR7RH0vJHtzeXNjb25mZGlyfS9pbml0LmQvZ3BtCisgICAgY2QgJHtEfSR7bGliZGlyfSAmJiBsbiAtc2YgbGliZ3BtLnNvLjEuMTkuMCBsaWJncG0uc28uMQorfQorU1JDX1VSSVttZDVzdW1dID0gIjlmZGRkZjVmNTNjYjExZDQwYmIyYmI2NzFkM2FjNTQ0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjYwNzEzNzhiMjQ0OTRlMzZjYTNlZjYzNzc2MDZlN2U1NjUwNDA0MTNjODY3MDQ3NTNhMTYyZDIxODBhZjMyZWUiCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2VtYWNzIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9ncmFkbS9ncmFkbS8wMDAxLU1ha2VmaWxlLXJlbW92ZS1zdHJpcC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ3JhZG0vZ3JhZG0vMDAwMS1NYWtlZmlsZS1yZW1vdmUtc3RyaXAucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjBjNjk3YwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ3JhZG0vZ3JhZG0vMDAwMS1NYWtlZmlsZS1yZW1vdmUtc3RyaXAucGF0Y2gKQEAgLTAsMCArMSw2MSBAQAorRnJvbSBmYmY3YjllNWE4ZTI5NzhhY2Q1YjBhN2E4MzExOTEyYTA4MGVlOWI5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUWlhbiBMZWkgPHFpYW5sLmZuc3RAY24uZnVqaXRzdS5jb20+CitEYXRlOiBUaHUsIDE4IERlYyAyMDE0IDExOjA5OjAxICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIE1ha2VmaWxlOiByZW1vdmUgc3RyaXAKKworQXZvaWQgUUEgZXJyb3IgYnkgcmVtb3Zpbmcgc3RyaXAgZnJvbSBNYWtlZmlsZQorCitbLi4uXQorRVJST1I6IFFBIElzc3VlOiBGaWxlICcvc2Jpbi9ncmFkbScgZnJvbSBncmFkbSB3YXMgYWxyZWFkeSBzdHJpcHBlZCwKK3RoaXMgd2lsbCBwcmV2ZW50IGZ1dHVyZSBkZWJ1Z2dpbmchIFthbHJlYWR5LXN0cmlwcGVkXQorRVJST1I6IFFBIElzc3VlOiBGaWxlICcvc2Jpbi9ncmxlYXJuJyBmcm9tIGdyYWRtIHdhcyBhbHJlYWR5IHN0cmlwcGVkLAordGhpcyB3aWxsIHByZXZlbnQgZnV0dXJlIGRlYnVnZ2luZyEgW2FscmVhZHktc3RyaXBwZWRdCitbLi4uXQorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogUWlhbiBMZWkgPHFpYW5sLmZuc3RAY24uZnVqaXRzdS5jb20+CisKKy0tLQorIE1ha2VmaWxlIHwgNyArKy0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKK2luZGV4IDZjMzNmZWUuLjM1NzBhNGUgMTAwNjQ0CistLS0gYS9NYWtlZmlsZQorKysrIGIvTWFrZWZpbGUKK0BAIC0yNCw3ICsyNCw2IEBAIE1LTk9EPS9iaW4vbWtub2QKKyAjQ0M9L3Vzci9iaW4vZGlldCAvdXNyL2Jpbi9nY2MKKyBDQz0vdXNyL2Jpbi9nY2MKKyBGSU5EPS91c3IvYmluL2ZpbmQKKy1TVFJJUD0vdXNyL2Jpbi9zdHJpcAorIExJQlMgOj0gJChzaGVsbCBpZiBbICJgdW5hbWUgLW1gIiAhPSAic3BhcmM2NCIgLWEgImB1bmFtZSAtbWAiICE9ICJ4ODZfNjQiIF07IHRoZW4gZWNobyAiLWxmbCIgOyBlbHNlIGVjaG8gIiIgOyBmaSkKKyBPUFRfRkxBR1MgOj0gLU8yCisgIyBmb3Igb2xkZXIgdmVyc2lvbnMgb2YgZ3JzZWN1cml0eSwgY29tbWVudCB0aGUgYWJvdmUgbGluZSBhbmQgdW5jb21tZW50IHRoZSBiZWxvdzoKK0BAIC0xNDAsMTUgKzEzOSwxMiBAQCBpbnN0YWxsOiAkKEdSQURNX0JJTikgZ3JhZG0uOCBwb2xpY3kgZ3JsZWFybgorIAlAbWtkaXIgLXAgJChERVNURElSKS9zYmluCisgCUBlY2hvICJJbnN0YWxsaW5nIGdyYWRtLi4uIgorIAlAJChJTlNUQUxMKSAtbSAwNzU1ICQoR1JBRE1fQklOKSAkKERFU1RESVIpL3NiaW4KKy0JQCQoU1RSSVApICQoREVTVERJUikvc2Jpbi8kKEdSQURNX0JJTikKKyAJQGlmIFsgLWYgJChHUkFETV9QQU0pIF0gOyB0aGVuIFwKKyAJCWVjaG8gIkluc3RhbGxpbmcgZ3JhZG1fcGFtLi4uIiA7IFwKKwkJJChJTlNUQUxMKSAtbSA0NzU1ICQoR1JBRE1fUEFNKSAkKERFU1RESVIpL3NiaW4gOyBcCistCQkkKFNUUklQKSAkKERFU1RESVIpL3NiaW4vJChHUkFETV9QQU0pIDsgXAorIAlmaQorIAlAZWNobyAiSW5zdGFsbGluZyBncmxlYXJuLi4uIgorIAlAJChJTlNUQUxMKSAtbSAwNzAwIGdybGVhcm4gJChERVNURElSKS9zYmluCistCUAkKFNUUklQKSAkKERFU1RESVIpL3NiaW4vZ3JsZWFybgorIAlAbWtkaXIgLXAgLW0gNzAwICQoREVTVERJUikkKEdSU0VDX0RJUikKKyAJQGlmIFsgISAtZiAkKERFU1RESVIpJChHUlNFQ19ESVIpL3BvbGljeSBdIDsgdGhlbiBcCisgCQlpZiBbIC1mICQoREVTVERJUikkKEdSU0VDX0RJUikvYWNsIF0gOyB0aGVuIFwKK0BAIC0xNjgsNiArMTY0LDcgQEAgaW5zdGFsbDogJChHUkFETV9CSU4pIGdyYWRtLjggcG9saWN5IGdybGVhcm4KKyAJCQkkKE1LTk9EKSAtbSAwNjIyICQoREVTVERJUikvZGV2L2dyc2VjIGMgMSAxMyA7IFwKKyAJCWZpIFwKKyAJZmkKKysJQG1rZGlyIC1wICQoREVTVERJUikvZXRjL3VkZXYvcnVsZXMuZAorIAlAaWYgWyAtZCAkKERFU1RESVIpL2V0Yy91ZGV2L3J1bGVzLmQgXSA7IHRoZW4gXAorIAkJZWNobyAiQUNUSU9OIT1cImFkZHxjaGFuZ2VcIiwgR09UTz1cInBlcm1pc3Npb25zX2VuZFwiIiA+ICQoREVTVERJUikvZXRjL3VkZXYvcnVsZXMuZC84MC1ncnNlYy5ydWxlcyA7IFwKKyAJCWVjaG8gIktFUk5FTD09XCJncnNlY1wiLCAgICAgICAgICBNT0RFPVwiMDYyMlwiIiA+PiAkKERFU1RESVIpL2V0Yy91ZGV2L3J1bGVzLmQvODAtZ3JzZWMucnVsZXMgOyBcCistLSAKKzEuOC4zLjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9ncmFkbS9ncmFkbV8zLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2dyYWRtL2dyYWRtXzMuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNTJiMTlkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9ncmFkbS9ncmFkbV8zLjEuYmIKQEAgLTAsMCArMSw1MCBAQAorU1VNTUFSWSA9ICJBZG1pbmlzdHJhdGlvbiBwcm9ncmFtIGZvciB0aGUgZ3JzZWN1cml0eSBSQkFDIHN5c3RlIgorREVTQ1JJUFRJT04gPSAiXAorZ3JhZG0gaXMgdGhlIHVzZXJzcGFjZSBSQkFDIHBhcnNpbmcgYW5kIGF1dGhlbnRpY2F0aW9uIHByb2dyYW0gZm9yIFwKK2dyc2VjdXJpdHkgZ3JzZWN1cml0eSBhaW1zIHRvIGJlIGEgY29tcGxldGUgc2VjdXJpdHkgc3lzdGVtLiBncmFkbSBcCitwZXJmb3JtcyBzZXZlcmFsIHRhc2tzIGZvciB0aGUgUkJBQyBzeXN0ZW0gaW5jbHVkaW5nIGF1dGhlbnRpY2F0ZWQgXAordmlhIGEgcGFzc3dvcmQgdG8gdGhlIGtlcm5lbCBhbmQgcGFyc2luZyBydWxlcyB0byBiZSBwYXNzZWQgdG8gdGhlIFwKK2tlcm5lbCIKK0hPTUVQQUdFID0gImh0dHA6Ly9ncnNlY3VyaXR5Lm5ldC9pbmRleC5waHAiCitTRUNUSU9OID0gImFkbWluIgorTElDRU5TRSA9ICJHUEwtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9NDY0MWU5NGVjOTZmOThmYWJjNTZmZjljYzQ4YmUxNGIiCitERVBFTkRTID0gImZsZXgtbmF0aXZlIGJpc29uLW5hdGl2ZSAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsICdsaWJwYW0nLCAnJywgZCl9IgorCitTUkNfVVJJID0gImh0dHA6Ly9ncnNlY3VyaXR5Lm5ldC9zdGFibGUvJHtCUH0tMjAxNTA3MTkxNjUyLnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLU1ha2VmaWxlLXJlbW92ZS1zdHJpcC5wYXRjaCIKK1NSQ19VUklbbWQ1c3VtXSA9ICJlY2VjNzJkM2E5YjZkODRjMDBlZGE5Nzk1N2I3MDdiNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyZjE0YzM1N2JmMDQ1OWU1MDJhNGUxMDhiNzZjM2Y2MjQwYWE0ODQ3NjJkMDdiYjE2ODc3OTZiOWI5Mjk3YTUwIgorCitTID0gIiR7V09SS0RJUn0vZ3JhZG0iCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcAorCitkb19jb21waWxlKCkgeworICAgIG9lX3J1bm1ha2UgJ0NDPSR7Q0N9JyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAnT1BUX0ZMQUdTPSR7Q0ZMQUdTfScgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICdMTEVYPSR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9sZXgnICAgICAgXAorICAgICAgICAgICAgICAgJ0ZMRVg9JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L2ZsZXgnICAgICBcCisgICAgICAgICAgICAgICAnQklTT049JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L2Jpc29uJyAgIFwKKyAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJyAnLCAnbm9wYW0nLCBkKX0KK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBvZV9ydW5tYWtlICdDQz0ke0NDfScgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgJ0RFU1RESVI9JHtEfScgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAnTExFWD0ke1NUQUdJTkdfQklORElSX05BVElWRX0vbGV4JyAgICAgIFwKKyAgICAgICAgICAgICAgICdGTEVYPSR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9mbGV4JyAgICAgXAorICAgICAgICAgICAgICAgJ0JJU09OPSR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9iaXNvbicgICBcCisgICAgICAgICAgICAgICBpbnN0YWxsCisKKyAgICAjIFRoZSBkZXZpY2Ugbm9kZXMgYXJlIGdlbmVyYXRlZCBieSBwb3N0aW5zdGFsbCBvciB1ZGV2CisgICAgcm0gLXJmICR7RH0vZGV2Cit9CisKK3BrZ19wb3N0aW5zdF8ke1BOfSgpIHsKKyAgICAjIG1ha2Ugc3VyZSBydW5uaW5nIG9uIHRoZSB0YXJnZXQKKyAgICBpZiBbIHgiJEQiICE9ICJ4IiBdOyB0aGVuCisgICAgICAgIGV4aXQgMQorICAgIGZpCisgICAgL2Jpbi9ta25vZCAtbSAwNjIyIC9kZXYvZ3JzZWMgYyAxIDEzCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2dzbC9nc2wuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9nc2wvZ3NsLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MDYxMzkzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9nc2wvZ3NsLmluYwpAQCAtMCwwICsxLDkgQEAKK0RFU0NSSVBUSU9OID0gIkdOVSBTY2llbnRpZmljIExpYnJhcnkiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZ3NsLyIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGJpbmNvbmZpZworCitMRUFEX1NPTkFNRSA9ICJsaWJnc2wuc28iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2dzbC9nc2xfMS4xNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ3NsL2dzbF8xLjE1LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYyMGU3ODAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2dzbC9nc2xfMS4xNS5iYgpAQCAtMCwwICsxLDcgQEAKK2luY2x1ZGUgZ3NsLmluYworCitTUkNfVVJJID0gIiR7R05VX01JUlJPUn0vZ3NsL2dzbC0ke1BWfS50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0OTRmZmVmZDkwZWVmNGFkYTY3OGMzMDZiYWI0MDMwYiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4NWI5MDdlNTc5MDJlMmI3NjA2ZWYzYWVmOTYwMzAyZmZkZDEzYmQ5ZGM1YjhmY2JmYTc1ZTRmMGJmMzQwZWEzIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2dzb2FwL2dzb2FwXzIuOC4xMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ3NvYXAvZ3NvYXBfMi44LjEyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZkYTA4YWMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2dzb2FwL2dzb2FwXzIuOC4xMi5iYgpAQCAtMCwwICsxLDQyIEBACitERVNDUklQVElPTiA9ICJUaGUgZ1NPQVAgdG9vbGtpdCBwcm92aWRlcyBhIHVuaXF1ZSBTT0FQLXRvLUMvQysrIGxhbmd1YWdlIGJpbmRpbmcgXAorZm9yIHRoZSBkZXZlbG9wbWVudCBvZiBTT0FQIFdlYiBTZXJ2aWNlcyBhbmQgY2xpZW50cy4iCitTRUNUSU9OID0gImRldmVsIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UudHh0O21kNT1iMzM4YjA4YjFiNjFlMDI4ZTBmMzk5YTRkZTI1ZTU4ZiIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vJHtCUE59Mi8ke0JQTn1fJHtQVn0uemlwIgorU1JDX1VSSVttZDVzdW1dID0gIjU3MDBkMjZmYzZmZTMwNzNkMDM4MzQ5ZTE5YzM2NDBkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjUxZWVmMTE4NTQ0ZmE4NDZmNGQyZGVhMmVlZGY5MWM4NGM0NmExYWJlYWZjNWVlZTNkY2ZmNzgzZjQwMTVhMDAiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCitQUiA9ICJyMSIKKworUyA9ICIke1dPUktESVJ9LyR7QlBOfS0yLjgiCisKK1BBUkFMTEVMX01BS0UgPSAiIgorCitFWFRSQV9PRU1BS0VfY2xhc3MtdGFyZ2V0ID0gIlNPQVA9JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L3NvYXBjcHAyIgorCitERVBFTkRTID0gIm9wZW5zc2wgemxpYiBmbGV4IGJpc29uIgorREVQRU5EU19hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiBnc29hcC1uYXRpdmUiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7bGliZGlyfQorICAgIGZvciBsaWIgaW4gbGliZ3NvYXBzc2wgbGliZ3NvYXBzc2wrKyBsaWJnc29hcCBsaWJnc29hcGNrKysgbGliZ3NvYXArKyBsaWJnc29hcGNrCisgICAgZG8KKyAgICAgICAgb2VfbGliaW5zdGFsbCAtQyBnc29hcCAkbGliICR7RH0ke2xpYmRpcn0KKyAgICBkb25lCit9CisKK2RvX2luc3RhbGxfY2xhc3MtbmF0aXZlKCkgeworICAgIG9lX3J1bm1ha2UgREVTVERJUj0ke0R9IEJJTkRJUj0ke0R9JHtiaW5kaXJ9IGluc3RhbGwKK30KKworRklMRVNfJHtQTn0gPSAiJHtiaW5kaXJ9L3dzZGwyaCAke2JpbmRpcn0vc29hcGNwcDIiCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfSIKK0ZJTEVTXyR7UE59LXN0YXRpY2RldiA9ICIke2xpYmRpcn0iCitGSUxFU18ke1BOfS1kZXYgPSAiJHtpbmNsdWRlZGlyfSIKK1JSRUNPTU1FTkRTXyR7UE59LWRldiA9ICIke1BOfS1zdGF0aWNkZXYiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2hkZHRlbXAvaGRkdGVtcC9oZGR0ZW1wLTAuMy1iZXRhMTUtYXV0b2RldGVjdC03MTc0NzkucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2hkZHRlbXAvaGRkdGVtcC9oZGR0ZW1wLTAuMy1iZXRhMTUtYXV0b2RldGVjdC03MTc0NzkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTlmODM4MAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaGRkdGVtcC9oZGR0ZW1wL2hkZHRlbXAtMC4zLWJldGExNS1hdXRvZGV0ZWN0LTcxNzQ3OS5wYXRjaApAQCAtMCwwICsxLDkwIEBACitBdXRvLWRldGVjdCBkaXNrcyBpZiBub25lIHNwZWNpZmllZAorCitSZWZlciB0bzoKK2h0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9NzE3NDc5CisKK2RpZmYgLXVwIGhkZHRlbXAtMC4zLWJldGExNS9kb2MvaGRkdGVtcC44fiBoZGR0ZW1wLTAuMy1iZXRhMTUvZG9jL2hkZHRlbXAuOAorLS0tIGhkZHRlbXAtMC4zLWJldGExNS9kb2MvaGRkdGVtcC44fgkyMDExLTA4LTE4IDAwOjM2OjA1LjY4OTAwMTQ3MCArMDMwMAorKysrIGhkZHRlbXAtMC4zLWJldGExNS9kb2MvaGRkdGVtcC44CTIwMTEtMDgtMTggMDA6NDQ6NDYuNzUzMDA2MjUzICswMzAwCitAQCAtMTksNyArMTksNyBAQAorIGhkZHRlbXAgXC0gVXRpbGl0eSB0byBtb25pdG9yIGhhcmQgZHJpdmUgdGVtcGVyYXR1cmUKKyAuU0ggU1lOT1BTSVMKKyAuQiBoZGR0ZW1wCistLlJJIFsgb3B0aW9ucyBdICIgW3R5cGU6XWRpc2siIC4uLgorKy5SSSBbIG9wdGlvbnMgXSAiIFtbdHlwZTpdZGlza10iIC4uLgorIC5TSCAiREVTQ1JJUFRJT04iCisgLlBQCisgLkIgaGRkdGVtcCAKK0BAIC0zNSw3ICszNSw4IEBAIFlvdSBjYW4gc3BlY2lmeSBvbmUgb3IgbW9yZSBkZXZpY2UgZHJpdmUKKyB3aXRoIGEKKyAuQiB0eXBlCisgbGlrZSBQQVRBLCBTQVRBIG9yIFNDU0kgdG8gZm9yY2UgaGRkdGVtcCB0b28gdXNlIG9uZSBvZiB0aGVzZSB0eXBlCistKGJlY2F1c2UgZGV0ZWN0aW9uIGNhbiBmYWlsKS4KKysoYmVjYXVzZSBkZXRlY3Rpb24gY2FuIGZhaWwpLiBJZiBubyBwYXRocyBhcmUgc3BlY2lmaWVkLCBhdXRvZGV0ZWN0aW9uIG9mCisraW5zdGFsbGVkIGRyaXZlcyBpcyBhdHRlbXB0ZWQuCisgCisgCisgLlNIICJPUFRJT05TIgorZGlmZiAtdXAgaGRkdGVtcC0wLjMtYmV0YTE1L3NyYy9oZGR0ZW1wLmN+IGhkZHRlbXAtMC4zLWJldGExNS9zcmMvaGRkdGVtcC5jCistLS0gaGRkdGVtcC0wLjMtYmV0YTE1L3NyYy9oZGR0ZW1wLmN+CTIwMTEtMDgtMTggMDA6MzY6MDUuNjM4OTk2ODYxICswMzAwCisrKysgaGRkdGVtcC0wLjMtYmV0YTE1L3NyYy9oZGR0ZW1wLmMJMjAxMS0wOC0xOCAwMDozNTo1NS40ODUwNjA3OTggKzAzMDAKK0BAIC01NCw2ICs1NCw3IEBACisgI2luY2x1ZGUgPGxpbnV4L2hkcmVnLmg+CisgI2luY2x1ZGUgPGN0eXBlLmg+CisgI2luY2x1ZGUgPGFzc2VydC5oPgorKyNpbmNsdWRlIDxnbG9iLmg+CisgCisgLy8gQXBwbGljYXRpb24gc3BlY2lmaWMgaW5jbHVkZXMKKyAjaW5jbHVkZSAiYXRhLmgiCitAQCAtMjU1LDYgKzI1Niw3IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyKiBhcmd2W10pIHsKKyAgIGludCAJCXJldCA9IDA7CisgICBpbnQgICAgICAgICAgIHNob3dfZGI7CisgICBzdHJ1Y3QgICAgICAgIGRpc2sgKiBsZGlza3M7CisrICBnbG9iX3QgICAgICAgIGRpc2tnbG9iOworIAorICAgYmFja3RyYWNlX3NpZ3NlZ3YoKTsKKyAgIGJhY2t0cmFjZV9zaWdpbGwoKTsKK0BAIC00MTksMTEgKzQyMSw2IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyKiBhcmd2W10pIHsKKyAgICAgIGV4aXQoMCk7CisgICB9CisgICAKKy0gIGlmKGFyZ2MgLSBvcHRpbmQgPD0gMCkgeworLSAgICBmcHJpbnRmKHN0ZGVyciwgXygiVG9vIGZldyBhcmd1bWVudHM6IHlvdSBtdXN0IHNwZWNpZnkgb25lIGRyaXZlLCBhdCBsZWFzdC5cbiIpKTsKKy0gICAgZXhpdCgxKTsKKy0gIH0KKy0KKyAgIGlmKGRlYnVnKSB7CisgICAgIC8qICAgIGFyZ2MgPSBvcHRpbmQgKyAxOyovCisgICAgIHF1aWV0ID0gMTsKK0BAIC00MzQsNiArNDMxLDIzIEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyKiBhcmd2W10pIHsKKyAgICAgZXhpdCgxKTsKKyAgIH0KKyAKKysgIG1lbXNldCgmZGlza2dsb2IsIDAsIHNpemVvZihnbG9iX3QpKTsKKysgIGlmKGFyZ2MgLSBvcHRpbmQgPD0gMCkgeworKyAgICBpZihnbG9iKCIvZGV2L1toc11kW2Etel0iLCAwLCBOVUxMLCAmZGlza2dsb2IpID09IDApIHsKKysgICAgICBhcmdjID0gZGlza2dsb2IuZ2xfcGF0aGM7CisrICAgICAgYXJndiA9IGRpc2tnbG9iLmdsX3BhdGh2OworKyAgICAgIG9wdGluZCA9IDA7CisrICAgIH0gZWxzZSB7CisrICAgICAgYXJnYyA9IDA7CisrICAgIH0KKysgIH0KKysKKysgIGlmKGFyZ2MgLSBvcHRpbmQgPD0gMCkgeworKyAgICBnbG9iZnJlZSgmZGlza2dsb2IpOworKyAgICBmcHJpbnRmKHN0ZGVyciwgXygiVG9vIGZldyBhcmd1bWVudHM6IHlvdSBtdXN0IHNwZWNpZnkgb25lIGRyaXZlLCBhdCBsZWFzdC5cbiIpKTsKKysgICAgZXhpdCgxKTsKKysgIH0KKysKKyAgIGluaXRfYnVzX3R5cGVzKCk7CisgCisgICAvKiBjb2xsZWN0IGRpc2tzIGluZm9ybWF0aW9ucyAqLworQEAgLTUyNyw2ICs1NDEsNyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciogYXJndltdKSB7CisgICBlbHNlIHsKKyAgICAgZG9fZGlyZWN0X21vZGUobGRpc2tzKTsKKyAgIH0KKysgIGdsb2JmcmVlKCZkaXNrZ2xvYik7CisgCisgICByZXR1cm4gcmV0OworIH0KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaGRkdGVtcC9oZGR0ZW1wL2hkZHRlbXAtbm8tbmxzLXN1cHBvcnQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2hkZHRlbXAvaGRkdGVtcC9oZGR0ZW1wLW5vLW5scy1zdXBwb3J0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhmNmI5YzMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2hkZHRlbXAvaGRkdGVtcC9oZGR0ZW1wLW5vLW5scy1zdXBwb3J0LnBhdGNoCkBAIC0wLDAgKzEsNjYgQEAKK2RpZmYgLXJ1IGhkZHRlbXAtMC4zLWJldGExNS5vcmlnL2NvbmZpZ3VyZS5pbiBoZGR0ZW1wLTAuMy1iZXRhMTUvY29uZmlndXJlLmluCistLS0gaGRkdGVtcC0wLjMtYmV0YTE1Lm9yaWcvY29uZmlndXJlLmluCTIwMDUtMTAtMTcgMjA6MTQ6MTkuMDAwMDAwMDAwICswMTAwCisrKysgaGRkdGVtcC0wLjMtYmV0YTE1L2NvbmZpZ3VyZS5pbgkyMDA4LTA2LTI3IDAwOjAwOjQ2LjAwMDAwMDAwMCArMDEwMAorQEAgLTE3LDYgKzE3LDcgQEAKKyAjIGFwcGVuZCB0aGUgaG9zdCBhbGlhcyB0byB0aGUgdG9vbHMgZm9yIGNyb3NzIGNvbXBpbGluZworIEFDX0hFQURFUl9TVERDCisgQUNfQ0hFQ0tfSEVBREVSUyhmY250bC5oKQorK0FDX0NIRUNLX0hFQURFUlMoaWNvbnYuaCkKKyBBQ19DSEVDS19IRUFERVJTKG5ldGluZXQvaW4uaCkKKyBBQ19DSEVDS19UWVBFKGluX2FkZHJfdCwgLFtBQ19ERUZJTkVfVU5RVU9URUQoW2luX2FkZHJfdF0sIFt1aW50MzJfdF0sIFtEZWZpbmUgdG8gJ3VpbnQzMl90JyBpZiA8bmV0aW5ldC9pbi5oPiBkb2VzIG5vdCBkZWZpbmUuXSldLCBbI2luY2x1ZGUgPG5ldGluZXQvaW4uaD5dKQorIAorQEAgLTI5LDYgKzMwLDggQEAKKyBBTV9HTlVfR0VUVEVYVAorICNBTV9HTlVfR0VUVEVYVChbZXh0ZXJuYWxdKQorIAorK0FDX0NIRUNLX0ZVTkNTKFtiaW5kdGV4dGRvbWFpbiB0ZXh0ZG9tYWluIGljb252XSkKKysKKyBkbmwgcmVhc29uYWJsZSBndWVzc2VzIGZvciB3aGVyZSBzdHVmZiBpcyBpbnN0YWxsZWQKKyBkbmwgaWYgd2UgZG9uJ3QgZG8gdGhhdCBub3csIHRoZSBjb25maWcuaCB3aWxsIHVzZSAke3ByZWZpeH0KKyBkbmwgZm9yIERFRkFVTFRfREFUQUJBU0VfUEFUSC4KK2RpZmYgLXJ1IGhkZHRlbXAtMC4zLWJldGExNS5vcmlnL3NyYy9oZGR0ZW1wLmMgaGRkdGVtcC0wLjMtYmV0YTE1L3NyYy9oZGR0ZW1wLmMKKy0tLSBoZGR0ZW1wLTAuMy1iZXRhMTUub3JpZy9zcmMvaGRkdGVtcC5jCTIwMDYtMDQtMTkgMDM6Mzc6MzUuMDAwMDAwMDAwICswMTAwCisrKysgaGRkdGVtcC0wLjMtYmV0YTE1L3NyYy9oZGR0ZW1wLmMJMjAwOC0wNi0yNiAyMzo1OTo0MC4wMDAwMDAwMDAgKzAxMDAKK0BAIC0yNzYsOCArMjc2LDEyIEBACisgICBiYWNrdHJhY2Vfc2lnYnVzKCk7CisgCisgICBzZXRsb2NhbGUgKExDX0FMTCwgIiIpOworKyNpZmRlZiBIQVZFX0JJTkRURVhURE9NQUlOCisgICBiaW5kdGV4dGRvbWFpbiAoUEFDS0FHRSwgTE9DQUxFRElSKTsKKysjZW5kaWYKKysjaWZkZWYgSEFWRV9URVhURE9NQUlOCisgICB0ZXh0ZG9tYWluIChQQUNLQUdFKTsKKysjZW5kaWYKKyAgIAorICAgc2hvd19kYiA9IGRlYnVnID0gbnVtZXJpYyA9IHF1aWV0ID0gd2FrZXVwID0gYWZfaGludCA9IHN5c2xvZ19pbnRlcnZhbCA9IDA7CisgICB1bml0ID0gREVGQVVMVDsKK2RpZmYgLXJ1IGhkZHRlbXAtMC4zLWJldGExNS5vcmlnL3NyYy91dGY4LmMgaGRkdGVtcC0wLjMtYmV0YTE1L3NyYy91dGY4LmMKKy0tLSBoZGR0ZW1wLTAuMy1iZXRhMTUub3JpZy9zcmMvdXRmOC5jCTIwMDYtMDQtMTkgMDM6Mzc6MDIuMDAwMDAwMDAwICswMTAwCisrKysgaGRkdGVtcC0wLjMtYmV0YTE1L3NyYy91dGY4LmMJMjAwOC0wNi0yNyAwMDowMjoxNS4wMDAwMDAwMDAgKzAxMDAKK0BAIC0yMyw3ICsyMyw5IEBACisgCisgLy8gU3RhbmRhcmQgaW5jbHVkZXMKKyAjaW5jbHVkZSA8c3RkbGliLmg+CisrI2lmZGVmIEhBVkVfSUNPTlZfSAorICNpbmNsdWRlIDxpY29udi5oPgorKyNlbmRpZgorICNpbmNsdWRlIDxsYW5naW5mby5oPgorICNpbmNsdWRlIDxsb2NhbGUuaD4KKyAjaW5jbHVkZSA8c3RyaW5nLmg+CitAQCAtMzQsNiArMzYsNyBAQAorIAorIHN0YXRpYyBjaGFyICppY29udl9mcm9tX3V0ZjhfdG9fbG9jYWxlKGNvbnN0IGNoYXIgKnN0cmluZywgY29uc3QgY2hhciogZmFsbGJhY2tfc3RyaW5nKQorIHsKKysjaWZkZWYgSEFWRV9JQ09OVgorICAgY29uc3Qgc2l6ZV90IGJ1ZmZlcl9pbmMgPSA4MDsJLy8gSW5jcmVtZW50IGJ1ZmZlciBzaXplIGluIDgwIGJ5dGVzIHN0ZXAKKyAgIGNvbnN0IGNoYXIgKmNoYXJzZXQ7CisgICBpY29udl90IGNkOworQEAgLTkzLDYgKzk2LDggQEAKKyAgIGlmIChkZXN0X2J1ZmZlciAhPSBOVUxMKQorICAgICBmcmVlKGRlc3RfYnVmZmVyKTsgIAkJLy8gZnJlZSBidWZmZXIKKyAgIGZyZWUoc3JjX2J1ZmZlcik7CQkJLy8gZnJlZSBzdHJpbmcKKysjZW5kaWYKKysKKyAgIHJldHVybiBzdHJkdXAoZmFsbGJhY2tfc3RyaW5nKTsgCS8vIGFuZCByZXR1cm4gZmFsbGJhY2sgc3RyaW5nCisgfQorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9oZGR0ZW1wL2hkZHRlbXAvaGRkdGVtcC5kYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaGRkdGVtcC9oZGR0ZW1wL2hkZHRlbXAuZGIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2IwY2JkOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaGRkdGVtcC9oZGR0ZW1wL2hkZHRlbXAuZGIKQEAgLTAsMCArMSw1MzEgQEAKKyMKKyMgSW5zZXJ0IGEgcmVndWxhciBleHByZXNzaW9uIGZvciBzdXBwb3J0IG9mIHRoZSBtb2RlbCBvciB0aGUgc2VyaWUgb2YgeW91ciBoYXJkIGRyaXZlLgorIyBJZiB5b3UgZG9uJ3Qga25vdyB3aGF0IHRvIHB1dCBpbiB0aGUgc2Vjb25kIGZpZWxkLCBwdXQgdGhlIG51bWJlcgorIyB0aGF0IGFwcGVhcnMgbW9zdCBvZnRlbiBmb3IgeW91ciBicmFuZCA6bykKKyMgQSB2YWx1ZSBvZiB6ZXJvIG1lZW5zIHRoYXQgd2Uga25vdyB0aGF0IHRoZSBkcml2ZSBkb2Vzbid0IGhhdmUKKyMgYSB0ZW1wZXJhdHVyZSBzZW5zb3IgKHlvdSBjYW4gc2V0IHRoZSB1bml0IHRvIEMgb3IgRikuCisjCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIFRoZSBmb2xsb3dpbmcgbGlzdCB3YXMgZm91bmQgYXQgKGh0dHA6Ly93d3cuYWxtaWNvLmNvbS9mb3J1bWhhcmRkaXNrcy5waHApCisjIElmIHlvdXIgZHJpdmUgaXMgaW4gdGhlIGxpc3Qgc2VuZCBtZSBhIG1haWwuCisjCisjIE1hbnVmYWN0dXJlcgkgTW9kZWwJIFNpemUJTm90ZXMKKyMgRlVKSVRTVSBGVUpJVFNVIE1QRjMxMDJBSCAxMC4wR0IKKyMgRlVKSVRTVSBGVUpJVFNVIE1QRzMyMDRBSCBFIDIwLjBHQgorIyBGVUpJVFNVIEZVSklUU1UgTVBHMzMwN0FUIDMwLjBHQgorIyBGVUpJVFNVIEZVSklUU1UgTVBHMzQwOUFIIDQwLjBHQgorIyBGVUpJVFNVIEZVSklUU1UgTVBHMzQwOUFIIEVGIDQwLjBHQgorIyBISVRBQ0hJIEhJVEFDSElfREsyM0NBLTEwIDkuOEdCCisjIEhJVEFDSEkgSElUQUNISV9ESzIzQ0EtMTUgMTQuN0dCCisjIFNBTVNVTkcgU0FNU1VORyBTVjMwMTJIIDI5LjRHQgorIyBTRUFHQVRFIFNUMzEwMjEwQSAxMC4wR0IKKyMgU0VBR0FURSBTVDMxMDIxMUEgOS44R0IKKyMgU0VBR0FURSBTVDMxMDIxNUEgMTAuMEdCCisjIFNFQUdBVEUgU1QzMTUzMjBBIDE0LjlHQgorIyBTRUFHQVRFIFNUMzIwNDEwQSAxOS42R0IKKyMgU0VBR0FURSBTVDMyMDQxM0EgMTkuNkdCCisjIFNFQUdBVEUgU1QzMjA0MjBBIDE5LjlHQgorIyBTRUFHQVRFIFNUMzMwNjEwQSAyOS4zR0IKKyMgU0VBR0FURSBTVDMzMDYyMEEgMjkuM0dCCisjIFNFQUdBVEUgU1QzMzA2MjFBIDI5LjNHQgorIyBTRUFHQVRFIFNUMzMwNjMwQSAyOS45R0IKKyMgU0VBR0FURSBTVDM0MDAxNkEgMzkuMUdCCisjIFNFQUdBVEUgU1QzNDA4MTBBQ0UgMzkuMUdCCisjIFNFQUdBVEUgU1QzODAwMjBBQ0UgNzguMkdCCisjIFdFU1RFUk4gRElHSVRBTCBXREMgQUMyMTAyMDBEIDEwLjBHQgorIyBXRVNURVJOIERJR0lUQUwgV0RDIEFDMjkxMDBEIDguOUdCCisjIFdFU1RFUk4gRElHSVRBTCBXREMgQUM0MjA0MDBEIDE5LjlHQgorIyBXRVNURVJOIERJR0lUQUwgV0RDIFdEMTAyQUEgMTAuMEdCCisjCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMjIyMjIyMjIyMjIyMgRXhjZWxTdG9yIGRyaXZlcworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyAiRXhjZWxTdG9yIFRlY2hub2xvZ3kgQ1QyMTUiCSAgPz8/ID8gIkV4Y2VsU3RvciBDVDIxNSIKKyJFeGNlbFN0b3IgVGVjaG5vbG9neSBKMy4wIiAxOTQgQyAiRXhjZWxTdG9yIFRlY2hub2xvZ3kgM3h5ICh4eSBHQikiCisiRXhjZWxTdG9yIFRlY2hub2xvZ3kgSjYuMCIgMTk0IEMgIkV4Y2VsU3RvciBUZWNobm9sb2d5IDZ4eSAoeHkgR0IpIgorIkV4Y2VsU3RvciBUZWNobm9sb2d5IEo2ODAiIDE5NCBDICJFeGNlbFN0b3IgVGVjaG5vbG9neSBKNjgwICg4MCBHQikiCisiRXhjZWxTdG9yIFRlY2hub2xvZ3kgSjg2MCIgMTk0IEMgIkV4Y2VsU3RvciBUZWNobm9sb2d5IEo4NjAgKDYwIEdCKSIKKyJFeGNlbFN0b3IgVGVjaG5vbG9neSBKODgwIiAxOTQgQyAiRXhjZWxTdG9yIFRlY2hub2xvZ3kgSjg4MCAoODAgR0IpIgorCisKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyMjIyMjIyMjIyMjIyBGdWppdHN1IGRyaXZlcworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIkZVSklUU1UgTUhNMjEwMEFUIgkJMCAgICBDCSJGdWppdHN1IE1ITTIxMDBBVCIKKworIkZVSklUU1UgTUhOMjE1MEFUIgkJMTk0ICBDCSJGdWppdHN1IE1ITjIxNTBBVCIKKyJGVUpJVFNVIE1ITjIyMDBBVCIJCTE5NCAgQwkiRnVqaXRzdSBNSE4yMjAwQVQiCisiRlVKSVRTVSBNSE4yMzAwQVQiCQkxOTQgIEMJIkZ1aml0c3UgTUhOMjMwMEFUIgorCisiRlVKSVRTVSBNSFIyMDIwQVQiCQkxOTQgIEMJIkZ1aml0c3UgTUhSMjAyMEFUIgorIkZVSklUU1UgTUhSMjAzMEFUIgkJMTk0ICBDCSJGdWppdHN1IE1IUjIwMzBBVCIKKworIkZVSklUU1UgTUhTMjAzMEFUIgkJMTk0ICBDCSJGdWppdHN1IE1IUzIwMzBBVCIKKyJGVUpJVFNVIE1IUzIwNDBBVCIJCTE5NCAgQwkiRnVqaXRzdSBNSFMyMDQwQVQiCisiRlVKSVRTVSBNSFMyMDYwQVQiCQkxOTQgIEMJIkZ1aml0c3UgTUhTMjA2MEFUIChBcHBsZSBQb3dlckJvb2sgRzQpIgorCisiRlVKSVRTVSBNSFQyMDMwQUMiCQkxOTQgIEMJIkZ1aml0c3UgTW9iaWxlIDMwR0IsIDJNQiwgNDIwMFJQTSAoYXV0b21vdGl2ZSkiCisKKyJGVUpJVFNVIE1IVDIwMzBBVCIJCTE5NCAgQwkiRnVqaXRzdSBNSFQyMDMwQVQiCisiRlVKSVRTVSBNSFQyMDQwQUgiCQkxOTQgIEMJIkZ1aml0c3UgTUhUMjA0MEFIIgorIkZVSklUU1UgTUhUMjA0MEFUIgkJMTk0ICBDCSJGdWppdHN1IE1IVDIwNDBBVCIKKyJGVUpJVFNVIE1IVDIwNjBBSCIJCTE5NCAgQwkiRnVqaXRzdSBNSFQyMDYwQUgiCisiRlVKSVRTVSBNSFQyMDYwQVQiCQkxOTQgIEMJIkZ1aml0c3UgTUhUMjA2MEFUIgorIkZVSklUU1UgTUhUMjA4MEFIIgkJMTk0ICBDCSJGdWppdHN1IE1IVDIwODBBSCIKKworIkZVSklUU1UgTUhVMjEwMEFUIgkJMTk0ICBDCSJGdWppdHN1IE1IVTIxMDBBVCAxMDBHQiwgOE1CICg0MjAwUlBNKSIKKworIkZVSklUU1UgTUhWMjEwMEFIIgkJMTk0ICBDCSJGVUpJVFNVIE1IVjIxMDBBSCIgCisiRlVKSVRTVSBNSFYyMTAwQVQiCQkxOTQgIEMJIkZVSklUU1UgTUhWMjEwMEFUIiAKKyJGVUpJVFNVIE1IVjIxMDBCSCIJCTE5NCAgQyAgIkZVSklUU1UgTUhWMjEwMEJIIiAKKyJGVUpJVFNVIE1IVjIwNjBBSCIJCTE5NCAgQyAgIkZVSklUU1UgTUhWMjA2MEFIIgorIkZVSklUU1UgTUhWMjA4MFtBQl1IIgkJMTk0ICBDCSJGVUpJVFNVIE1IVjIwODBBSCIKKworIkZVSklUU1UgTVBGMzIwNEFIIgkJMTk0ICBDCSJGdWppdHN1IE1QRjMyMDRBSCIKKworIkZVSklUU1UgTVBHMzIwNEFULioiCQkxOTQgIEMJIkZ1aml0c3UgTVBHMzIwNEFUIgorIkZVSklUU1UgTVBHMzMwN0FUIgkJMTk0ICBDCSJGdWppdHN1IE1QRzMzMDdBVCIKKyJGVUpJVFNVIE1QRzM0MDlBVC4qIgkJMTk0ICBDCSJGdWppdHN1IE1QRzM0MDlBVCBFIgorIkZVSklUU1UgTVBHMzQwOUFILioiCQkxOTQgIEMJIkZ1aml0c3UgTVBHMzQwOUFIIEUiCisiRlVKSVRTVSBNUEczMjA0QUgiCQkxOTQgIEMJIkZ1aml0c3UgTVBHMzIwNEFIIgorIkZVSklUU1UgTVBHMzEwMkFUIEUiCQkxOTQgIEMJIkZVSklUU1UgTVBHMzEwMkFUIEUiCisKKworCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIyMjIyMjIyMjIyMjIEhpdGFjaGkgZHJpdmVzCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisiSElUQUNISV9ESzEzRkEtNDBCIgkJCTE5NCAgQwkiSGl0YWNoaSBESzEzRkEtNDBCIgorIkhJVEFDSElfREsyMjhBLTY1IgkJCTAgICAgQwkiSGl0YWNoaSBESzIyOEEtNjUiCisiSElUQUNISV9ESzIzQ0EtKDE1fDIwfDMwfDMwQnw3NSkiCTE5NCAgQwkiSGl0YWNoaSBESzIzQ0Egc2VyaWVzIgorIkhJVEFDSElfREsyM0RBLVsyMzRdMCIJCQkxOTQgIEMJIkhpdGFjaGkgREsyM0RBIHNlcmllcyIKKyJISVRBQ0hJX0RLMjNFQS1bMjM0Nl0wIgkJMTk0ICBDCSJIaXRhY2hpIERLMjNFQSBzZXJpZXMiCisiSElUQUNISV9ESzIzRUItNDAiCQkJMTk0ICBDCSJIaXRhY2hpIERLMjNFQiBzZXJpZXMiCisiSElUQUNISV9ESzIzRkEtWzQ2OF0wIgkJCTE5NCAgQwkiSGl0YWNoaSBESzIzRkEgc2VyaWVzIgorIkhJVEFDSElfREsyM0ZCLVs0Nl0wIgkJCTE5NCAgQwkiSGl0YWNoaSBESzIzRkIgc2VyaWVzIgorCisiSERTNzIyNTE2VkxBVFsyOF0wIgkJMTk0ICBDCSJIaXRhY2hpIERlc2tzdGFyIDdLMjUwIDE2MEdCIDIvOE1CIGNhY2hlIgorIkhEUzcyMjUyNVZMQVQ4MCIJCTE5NCAgQwkiSGl0YWNoaSBEZXNrc3RhciA3SzI1MCAyMDAvMjUwR0IsIDcyMDBSUE0sIDhNQiwgUGFyYWxsZWwtQVRBIgorIkhEUzcyMjUxMlZMQVQ4MCIJCTE5NCAgQwkiSGl0YWNoaSBEZXNrc3RhciA3SzI1MCA4MEdCIgorIkhEUzcyMjU0MFZMQVQyMCIJCTE5NCAgQwkiSGl0YWNoaSBEZXNrc3RhciA3SzI1MCwgNDBHQiwgNzIwMFJQTSwgMk1CIGNhY2hlIgorIkhEUzcyMjU4MFZMQVQyMCIJCTE5NCAgQwkiRGVza3N0YXIgN0syNTAgNjBHQiIKKyJIRFM3MjQwNDBLTFNBODAiCQkxOTQgIEMJIkhpdGFjaGkgRGVza3N0YXIgN0syNTAgNDAwR0IsIDcyMDBSUE0sIDhNQiwgU2VyaWFsLUFUQSIKKyJIRFM3MjgwODBQTEFUMjAiCQkxOTQgIEMJIkhpdGFjaGkgRGVza3N0YXIgN0s4MCA4MEdCIgorCisiSERTNzIyNTI1VkxTQTgwIgkJMTk0ICBDCSJIaXRhY2hpIERlc2tzdGFyIDdLMjUwIDI1MEdCLCA3MjAwUlBNLCA4TUIsIFNBVEEiCisiSERTNzIyNTE2VkxTQTgwIiAgICAgICAgICAgICAgIDE5NCAgQyAgIkhpdGFjaGkgRGVza3N0YXIgN0syNTAgMTYwR0IgOE1vIGNhY2hlIFNBVEEiCisiSERTNzIyNTgwVkxTQTgwIgkJMTk0ICBDCSJIaXRhY2hpIERlc2tzdGFyIDdLMjUwIDgwR0IgU0FUQSIKKyJIRFM3MjgwNDBQTEFUMjAiCQkxOTQgIEMJIkhpdGFjaGkgRGVza3N0YXIgN0s4MCA0MEdCIgorCisiSERTNzI0MDQwS0xBVDgwIiAgICAgICAgICAgICAgIDE5NCAgQyAgIkhpdGFjaGkgRGVza3N0YXIgN0s0MDAgIDQwMEdCIDhNbyBjYWNoZSBQQVRBIgorCisiSERUNzIyNSgxNnwyNSlETEFUODAiCQkxOTQgIEMJIkhpdGFjaGkgRGVza3N0YXIgVDdLMjUwIHNlcmllcywgNzIwMFJQTSwgOE1CLCBQQVRBIgorIkhEVDcyMjUxNkRMQTM4MCBWNDNPIgkJMTk0ICBDCSJIaXRhY2hpIFQ3SzI1MCBTQVRBIgorIkhEVDcyMjUyNURMQTM4MCIgICAgICAgICAgICAgICAxOTQgIEMgICJIaXRhY2hpIERlc2tzdGFyIFQ3SzI1MCAyNTBHQiA4TW8gY2FjaGUgU0FUQUlJIgorIkhEVDcyNTA1MFZMQTM2MCIgICAgICAgICAgICAgICAxOTQgIEMgICJIaXRhY2hpIERlc2tzdGFyIFQ3SzUwMCA1MDBHQiwgNzIwMFJQTSwgMTZNQiwgU0FUQSBJSSIKKworIkhURTcyMTAxMEc5QVQwMCIJCTE5NCAgQwkiSGl0YWNoaSBUcmF2ZWxzdGFyIDEwMEdCICg3MjAwUlBNKSIKKyJIVEU3MjYwNjBNOUFUMDAiCQkxOTQgIEMJIkhpdGFjaGkgVHJhdmVsc3RhciA2MEdCICg3MjAwUlBNKSIKKyJIVFM0MjQwMzBNOUFUMDAiCQkxOTQgIEMJIkhpdGFjaGkgVHJhdmVsc3RhciAzMEdCICg0MjAwUlBNKSIKKyJIVFM0MjQwNDBNOUFUMDAiCQkxOTQgIEMJIkhpdGFjaGkgVHJhdmVsc3RhciA0SzQwIDQwR0IgMk1CIGNhY2hlICg0MjAwUlBNKSIKKyJIVFM1NDEwMTBHOVNBMDAiCQkxOTQgIEMgICJIaXRhY2hpIFRyYXZlbHN0YXIgMTAwR0IgU0FUQSIKKyJIVFM1NDEwNDBHOUFUMDAiCQkxOTQgIEMJIkhpdGFjaGkgVHJhdmVsc3RhciA0MEdCICg1NDAwUlBNKSIKKyJIVFM1NDEwODBHOUFUMDAiCQkxOTQgIEMJIkhpdGFjaGkgVHJhdmVsc3RhciA4MEdCICg1NDAwUlBNKSIKKyJIVFM1NDgwMjBNOUFUMDAiCQkxOTQgIEMJIkhpdGFjaGkgVHJhdmVsc3RhciAyMEdCICg1NDAwUlBNKSIKKyJIVFM1NDgwMzBNOUFUMDAiCQkxOTQgIEMJIkhpdGFjaGkgVHJhdmVsc3RhciAzMEdCICg1NDAwUlBNKSIKKyJIVFM1NDgwNDBNOUFUMDAiCQkxOTQgIEMJIkhpdGFjaGkgVHJhdmVsc3RhciA0MEdCICg1NDAwUlBNKSIKKyJIVFM1NDgwNjBNOUFUMDAiCQkxOTQgIEMJIkhpdGFjaGkgVHJhdmVsc3RhciA2MEdCICg1NDAwUlBNKSIKKyJIVFM1NDgwODBNOUFUMDAiCQkxOTQgIEMJIkhpdGFjaGkgVHJhdmVsc3RhciA4MEdCICg1NDAwUlBNKSIKKyJIVFM3MjEwODBHOUFUMDAiCQkxOTQgIEMJIkhpdGFjaGkgVHJhdmVsc3RhciA3SzEwMCA4MEdCICg3MjAwUlBNKSIKKyJIVFM3MjYwNjBNOUFUMDAiCQkxOTQgIEMJIkhpdGFjaGkgVHJhdmVsc3RhciA2MEdCIgorCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMjIyMjIyMjIyMjIyMgSUJNIGRyaXZlcworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCisjIERKU0Egc2VyaWUgaXMgdXNpbmcgRjBoIGNvbW1hbmQgdG8gcmVwb3J0IHRlbXBlcmF0dXJlIGFuZCBhbHNvIGhhdmUKKyMgU01BUlQgY2FwYWJpbHRpZXMgYnV0IGl0IHdhcyByZXBvcnRlZCBub3QgdG8gd29yay4KKyMgIkRKU0EtMigzMHwzMnwxMHwyMHwwNSkiCTAgICAgQwkiSUJNIFRyYXZlbHN0YXIgMjBHTiwgMzJHSCwgMzBHVCBzZXJpZXMiCisKKyJJQk0tREFSQS0yMTIwMDAiCQkwICAgIEMJIklCTSBUcmF2ZWxzdGFyIDEyR04iCisiSUJNLURUVEEtMzUqIgkJCTAgICAgQwkiSUJNIERlc2tzdGFyIDE2R1Agc2VyaWUiCisKKyMgYWNjb3JkaW5nIHRvIHNwZWNpZmljYXRpb25zIHRoZXkgZG8gbm90IHNlZW1zIHRvIGhhdmUgc2Vuc29yCisjIGJ1dCBJIHByZWZlciB3YWl0aW5nIGZvciBhIHJlcG9ydAorIyJJQk0tRFRUQS0zNyoiCQkJMCAgICBDCSJJQk0gRGVza3N0YXIgMTRHWFAgc2VyaWUiCisKKyJJQk0tREpOQS0zNS4qIgkJCTIzMSAgQwkiSUJNIERlc2tzdGFyIDI1IEdQIHNlcmllIgorIklCTS1ESk5BLTM3LioiCQkJMjMxICBDCSJJQk0gRGVza3N0YXIgMjIgR1hQIHNlcmllIgorIklCTS1ESEVBLSgzNDMzMHwzNjQ4MCkiCTAgICAgQwkiSUJNIERlc2tzdGFyIDUgc2VyaWUiCisiSUJNLURIRUEtKDM0MzMxfDM2NDgxfDM4NDUxKSIJMCAgICBDCSJJQk0gRGVza3N0YXIgOCBzZXJpZSIKKyJJQk0tRFBUQS0zNy4qIgkJCTIzMSAgQwkiSUJNIERlc2tzdGFyIDM0R1hQIHNlcmllIgorIklCTS1EUFRBLTM1LioiCQkJMjMxICBDCSJJQk0gRGVza3N0YXIgMzdHUCBzZXJpZSIKKyJJQk0tRFRMQS0zMFs1N10wWzEyMzQ2N11bMDVdIgkxOTQgIEMJIklCTSBEZXNrc3RhciA0MEdWICYgNzVHWFAgc2VyaWVzIgorIklDMjVOMFsxMjM0XTBBVENTMDQtMCIJCTE5NCAgQwkiSUJNIFRyYXZlbHN0YXIgNDBHTiBzZXJpZSIKKyJJQzI1TjBbMjRdMEFUQ1tTWF0wNS0wIgkxOTQgIEMJIklCTSBUcmF2ZWxzdGFyIDQwR05YIHNlcmllIgorIklDMjVOMCgxMHwxNXwyMHwzMClBVERBMDQtMCIJMTk0ICBDCSJJQk0gVHJhdmVsc3RhciAzMEdOIHNlcmllIgorIklDMjVOMFsyMzQ2OF0wQVRNUjA0KiIJCTE5NCAgQwkiSGl0YWNoaSBUcmF2ZWxzdGFyIDgwR04iCisiSUMyNVQwNDhBVERBMDUtMCIJCTE5NCAgQwkiSUJNIFRyYXZlbHN0YXIgNDhHSCBzZXJpZSIKKyJJQzI1VDA2MEFUQ1tTWF0wNS0wIgkJMTk0ICBDCSJJQk0gVHJhdmVsc3RhciA2MEdIIHNlcmllIgorIklDMzVMMFsxMjM0Nl0wQVZFUjA3IgkJMTk0ICBDCSJJQk0gRGVza3N0YXIgNjBHWFAgc2VyaWUiCisiSUMzNUxbMDFdWzAyNDY4XTBBVlZbQU5dMDcqIgkxOTQgIEMJIklCTSBEZXNrc3RhciAxMjBHWFAgc2VyaWUiICAKKyJJQzM1TFswMV1bMjM2ODldMEFWVjIwNyoiCTE5NCAgQwkiSUJNIERlc2tzdGFyIDE4MEdYUCBzZXJpZSIKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyMjIyMjIyMjIyMjIyBNYXh0b3IgZHJpdmVzCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIk1heHRvciAyQjBbMDEyXVswNDU2OF1IMSIJCQkJPz8/ICBDCSJNYXh0b3IgRmlyZWJhbGwgNTQxRFgiCisiTWF4dG9yIDJGMFsyMzRdMFtMSl0wIgkJCQkJMTk0ICBDCSJNYXh0b3IgRmlyZWJhbGwgMyIgCisjIHdoaWNoIG9uZSBtdXN0IEkgdHJ1c3QgPworIyJNYXh0b3IgNEQwNDBIMiIJCQkJCTkgICAgQwkiTWF4dG9yIERpYW1vbmRNYXggRDU0MFgtNEQiCisjIk1heHRvciA0RDA0MEgyIgkJCQkJMCAgICBDCSJNYXh0b3IgNEQwNDBIMiIKKyMiTWF4dG9yIDREMDgwSDQiCQkJCQkxMiAgIEMJIk1heHRvciBEaWFtb25kTWF4IEQ1NDBYLTREIgorIyJNYXh0b3IgNEQwNjBIMyIJCQkJCTEyICAgQwkiTWF4dG9yIERpYW1vbmRNYXggRDU0MFgtNEQiCisjIk1heHRvciA0RDA4MEg0IgkJCQkJOSAgICBDCSJNYXh0b3IgRGlhbW9uZE1heCBENTQwWC00RCIKKyJNQVhUT1IgNEswWzQ2OF0wSFsyMzRdIgkJCQkxOTQgIEMJIk1heHRvciBEaWFtb25kTWF4IEQ1NDBYIHNlcmllIgorIk1BWFRPUiA0SzAyMEgxIgkJCQkJMTk0ICBDCSJNYXh0b3IgNEswMjBIMSIKKyJNYXh0b3IgNEEzMDBKMCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTk0ICBDICAiTWF4dG9yIE1heExpbmUgSUkgMzAwR0IgNTQwMFJQTSIKKyJNYXh0b3IgNFtSQV0oMjV8MTZ8MTJ8MDh8MDYpMFtMSl0wIgkJCTE5NCAgQwkiTWF4dG9yIERpYW1vbmRNYXggMTYiCisiTWF4dG9yIDUoMTAyNHwxMzY5fDIwNDl8MjczMnwzMDczfDQwOTgpVSgyfDN8NHw2fDgpIgkwICAgIEMJIk1heHRvciBEaWFtb25kTWF4IFBsdXMgNDAiCisiTWF4dG9yIDVBMjUwSjAiCQkJCQkxOTQgIEMJIk1heHRvciBNYVhsaW5lIElJIDI1MEdCIDU0MDBSUE0iCisiTWF4dG9yIDVBMzAwSjAiCQkJCQkxOTQgIEMJIk1heHRvciA1QTMwMEowIgorIk1heHRvciA1VDBbMjRdMEhbMjRdIgkJCQkJMCAgICBDCSJNYXh0b3IgRGlhbW9uZE1heCBQbHVzIDYwIgorIk1heHRvciA2RTBbMjM0XTBMMCIJCQkJCTE5NCAgQwkiTWF4dG9yIERpYW1vbmRNYXggUGx1cyA4IgorIk1BWFRPUiA2TDBbMjQ2OF0wW0xKXVsxMjM0XSIJCQkJMTk0ICBDCSJNYXh0b3IgRGlhbW9uZE1heCBQbHVzIEQ3NDBYIGZhbWlseSIKKyJNYXh0b3IgNlYzMjBGMCIJCQkJCTE5NCAgQyAgIk1heHRvciBEaWFtb25kIE1heCAxMCBTQVRBIElJIDMyMCBHQiIKKyJNYXh0b3IgNlkoMDZ8MDh8MTJ8MTZ8MjB8MjUpMFtMUE1dMCIJCQkxOTQgIEMJIk1heHRvciBEaWFtb25kTWF4IFBsdXMgOSIgCisiTWF4dG9yIDdMMzAwW1JTXTAiCQkJCQkxOTQgIEMgICJNYXh0b3IgN0wzMDBSMCBNYXhMaW5lK0lJSSAzMDBHQiA3MjAwcnBtIgorIk1heHRvciA3WTI1MFtQTV0wIgkJCQkJMTk0ICBDCSJNYXh0b3IgTWFYTGluZSBQbHVzIElJIDI1MEdCIDcyMDBSUE0iCisiTWF4dG9yIDk0MDk4VTgiCQkJCQkxMSAgIEMJIk1heHRvciBEaWFtb25kTWF4IDQwIDk0MDk4VTgiCisKKyMiTWF4dG9yIDYoQnxMKSgwOHwxMnwxNnwyMHwyNXwzMCkwW1JTUE1dMCIJCTE5NCAgQwkiTWF4dG9yIERpYW1vbmRNYXggUGx1cyAxMCIKKyJNYXh0b3IgNkIwODBNMCIJCQkJCTE5NCAgQyAgIk1heHRvciBEaWFtb25kTWF4IDEwIDgwR0IgOE1CIFNBVEEiCisiTWF4dG9yIDZCMTIwTTAiCQkJCQkxOTQgIEMgICJNYXh0b3IgRGlhbW9uZE1heCAxMCAxMjBHQiA4TUIgU0FUQSIKKyJNYXh0b3IgNkIxNjBNMCIJCQkJCTE5NCAgQyAgIk1heHRvciBEaWFtb25kTWF4IDEwIDE2MEdCIDhNQiBTQVRBIgorIk1heHRvciA2QjE2MFAwIgkJCQkJMTk0ICBDICAiTWF4dG9yIERpYW1vbmRNYXggMTAgMTYwR0IgOE1CIEFUQS8xMzMiCisiTWF4dG9yIDZCMjAwTTAiCQkJCQkxOTQgIEMgICJNYXh0b3IgRGlhbW9uZE1heCAxMCAyMDBHQiA4TUIgU0FUQSIKKyJNYXh0b3IgNkIyMDBQMCIJCQkJCTE5NCAgQyAgIk1heHRvciBEaWFtb25kTWF4IDEwIDIwMEdCIDhNQiBBVEEvMTMzIgorIk1heHRvciA2QjI1MFIwIgkJCQkJMTk0ICBDICAiTWF4dG9yIERpYW1vbmRNYXggMTAgMjUwR0IgMTZNQiBBVEEvMTMzIgorIk1heHRvciA2QjI1MFMwIgkJCQkJMTk0ICBDICAiTWF4dG9yIERpYW1vbmRNYXggMTAgMjUwR0IgMTZNQiBTQVRBIgorIk1heHRvciA2QjMwMFIwIgkJCQkJMTk0ICBDICAiTWF4dG9yIERpYW1vbmRNYXggMTAgMzAwR0IgMTZNQiBBVEEvMTMzIgorIk1heHRvciA2QjMwMFMwIgkJCQkJMTk0ICBDICAiTWF4dG9yIERpYW1vbmRNYXggMTAgMzAwR0IgMTZNQiBTQVRBIgorIk1heHRvciA2TDA4MEwwIgkJCQkJMTk0ICBDICAiTWF4dG9yIERpYW1vbmRNYXggMTAgODBHQiAyTUIgQVRBLzEzMyBSb0hTIgorIk1heHRvciA2TDA4ME0wIgkJCQkJMTk0ICBDICAiTWF4dG9yIERpYW1vbmRNYXggMTAgODBHQiA4TUIgU0FUQSBSb0hTIgorIk1heHRvciA2TDA4MFAwIgkJCQkJMTk0ICBDICAiTWF4dG9yIERpYW1vbmRNYXggMTAgODBHQiA4TUIgQVRBLzEzMyBSb0hTIgorIk1heHRvciA2TDEyME0wIgkJCQkJMTk0ICBDICAiTWF4dG9yIERpYW1vbmRNYXggMTAgMTIwR0IgOE1CIFNBVEEgUm9IUyIKKyJNYXh0b3IgNkwxMjBQMCIJCQkJCTE5NCAgQyAgIk1heHRvciBEaWFtb25kTWF4IDEwIDEyMEdCIDhNQiBBVEEvMTMzIFJvSFMiCisiTWF4dG9yIDZMMTYwTTAiCQkJCQkxOTQgIEMgICJNYXh0b3IgRGlhbW9uZE1heCAxMCAxNjBHQiA4TUIgU0FUQSBSb0hTIgorIk1heHRvciA2TDE2MFAwIgkJCQkJMTk0ICBDICAiTWF4dG9yIERpYW1vbmRNYXggMTAgMTYwR0IgOE1CIEFUQS8xMzMgUm9IUyIKKyJNYXh0b3IgNkwyMDBNMCIJCQkJCTE5NCAgQyAgIk1heHRvciBEaWFtb25kTWF4IDEwIDIwMEdCIDhNQiBTQVRBIFJvSFMiCisiTWF4dG9yIDZMMjAwUDAiCQkJCQkxOTQgIEMgICJNYXh0b3IgRGlhbW9uZE1heCAxMCAyMDBHQiA4TUIgQVRBLzEzMyBSb0hTIgorIk1heHRvciA2TDI1MFIwIgkJCQkJMTk0ICBDICAiTWF4dG9yIERpYW1vbmRNYXggMTAgMjUwR0IgMTZNQiBBVEEvMTMzIFJvSFMiCisiTWF4dG9yIDZMMjUwUzAiCQkJCQkxOTQgIEMgICJNYXh0b3IgRGlhbW9uZE1heCAxMCAyNTBHQiAxNk1CIFNBVEEgUm9IUyIKKyJNYXh0b3IgNkwzMDBSMCIJCQkJCTE5NCAgQyAgIk1heHRvciBEaWFtb25kTWF4IDEwIDMwMEdCIDE2TUIgQVRBLzEzMyBSb0hTIgorIk1heHRvciA2TDMwMFMwIgkJCQkJMTk0ICBDICAiTWF4dG9yIERpYW1vbmRNYXggMTAgMzAwR0IgMTZNQiBTQVRBIFJvSFMiCisiTWF4dG9yIDZWMDgwRTAiCQkJCQkxOTQgIEMgICJNYXh0b3IgRGlhbW9uZE1heCAxMCA4MEdCIDhNQiBTQVRBSUkgUm9IUyIKKyJNYXh0b3IgNlYxNjBFMCIJCQkJCTE5NCAgQyAgIk1heHRvciBEaWFtb25kTWF4IDEwIDE2MEdCIDhNQiBTQVRBSUkgUm9IUyIKKyJNYXh0b3IgNlYyMDBFMCIJCQkJCTE5NCAgQyAgIk1heHRvciBEaWFtb25kTWF4IDEwIDIwMEdCIDhNQiBTQVRBSUkgUm9IUyIKKyJNYXh0b3IgNlYyNTBGMCIJCQkJCTE5NCAgQyAgIk1heHRvciBEaWFtb25kTWF4IDEwIDI1MEdCIDE2TUIgU0FUQUlJIFJvSFMiCisiTWF4dG9yIDZWMzAwRjAiCQkJCQkxOTQgIEMgICJNYXh0b3IgRGlhbW9uZE1heCAxMCAzMDBHQiAxNk1CIFNBVEFJSSBSb0hTIgorCisKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyMjIyMjIyMjIyMjIyBRdWFudHVtIGRyaXZlcworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIlFVQU5UVU0gRklSRUJBTExQIEFTNDAuMCIJCTAgIEMgICJRdWFudHVtIEZpcmViYWxsIEFTNDAiCisiUVVBTlRVTSBGSVJFQkFMTCBDWDEwLjJBIgkJMCAgQyAgIlF1YW50dW0gRmlyZWJhbGwgQ1gxMC4yQSIKKyMiUVVBTlRVTSBGSVJFQkFMTGxjdDEwIDIwIgkJNCAgQyAgIlF1YW50dW0gRmlyZWJhbGwgQ1QxMCAyMEdCIgorIyBJIHN1c3BlY3QgdGhlIFFVQU5UVU0gRklSRUJBTExfVE0yMTEwQSB0byBoYXZlIGEgc2Vuc29yIGluIGZpZWxkIDkuLi4KKyMgIlFVQU5UVU0gRklSRUJBTExfVE0yMTEwQSIJCTkgIEMgICJRdWFudHVtIEZpcmViYWxsIFRNMjExMEEiCisKKworCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIyMjIyMjIyMjIyMjIFNhbXN1bmcgZHJpdmVzCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIHNvbWVub25lIHJlcG9ydGVkIGEgcHJvYmxlbSB3aXRoIHRoZSBTUDgwMDRIIHdoaWNoIHJlcG9ydHMgYSB0ZW1wZXJhdHVyZQorIyAxMLBDIGJlbG93IHRoZSBhbWJpZW50IHRlbXBlcmF0dXJlCisiU0FNU1VORyBIQSgyMDB8MjUwKUpDIgkJCQkJMTk0ICBDCSJTYW1zdW5nIFNwaW5Qb2ludCBWMTIwQ0Ugc2VyaWVzIgorIlNBTVNVTkcgSEQxNjBKSiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxOTQgIEMgICJTYW1zdW5nIDE2MEdCLCA3MjAwUlBNLCA4TUIgY2FjaGUsIFNBVEEiIAorIlNBTVNVTkcgSEQxNjBKSi9QIgkJCQkJMTk0ICBDCSJTYW1zdW5nIFNwaW5Qb2ludCBQODAgU0QgMTYwR0IgKDcyMDBSUE0sIDhNQiBjYWNoZSkiCisiU0FNU1VORyBIRFszMHwzMnw0MF1bMDFdTFtESl0iICAgICAgICAgICAgICAgICAgICAgICAgIDE5NCAgQyAgIlNhbXN1bmcgU3BpblBvaW50IFQxMzMgc2VyaWVzICgzMDAtNDAwTUIpIgorIlNBTVNVTkcgSEQyNTBLRCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxOTQgIEMgICJTYW1zdW5nIFNwaW5Qb2ludCBUMTMzIHNlcmllcyAoMjUwIE1CIFBBVEEpIgorIlNBTVNVTkcgSEQzMjFLSiIJCQkJCTE5NCAgQyAgIlNhbXN1bmcgU3BpbnBvaW50IFQxNjYgKDcyMDBSUE0sIDE2TUIgY2FjaGUpIC0gU0FUQSIKKyJTQU1TVU5HIEhENTAxTEoiCQkJCQkxOTQgIEMgICJTYW1zdW5nIEhENTAxTEoiCisiU0FNU1VORyBNUDAoMzAyfDQwMnw2MDN8ODA0KUgiCQkJCTE5NCAgQwkiU2Ftc3VuZyBTcGluUG9pbnQgTTQwIDIuNWluY2giCisiU0FNU1VORyBTVzA0MzRBIgkJCQkJMCAgICBDCSJTYW1zdW5nIFNXMDQzNEEiCisiU0FNU1VORyBTUCgyMDAxfDQwMDJ8NjAwM3w4MDA0fDQwQTIpSCIJCQkxOTQgIEMJIlNhbXN1bmcgU3BpblBvaW50IFA0MCBzZXJpZSIKKyJTQU1TVU5HIFNQKDA2MTJ8MDgwMnwxMjAzfDE2MDR8MDgxMnwxMjEzfDE2MTQpTiIJMTk0ICBDCSJTYW1zdW5nIFNwaW5Qb2ludCBQODAgc2VyaWUiCisiU0FNU1VORyBTUCgwNjEyfDA4MDJ8MTIwM3wxNjA0fDA4MTJ8MTIxM3wxNjE0KUMiCTE5NCAgQwkiU2Ftc3VuZyBTcGluUG9pbnQgUDgwIHNlcmllcyAtIFNBVEEiCisiU0FNU1VORyBTUDA0MTFOIgkJCQkJMTk0ICBDCSJTYW1zdW5nIFNwaW5Qb2ludCBQTDQwIHNlcmllIgorIlNBTVNVTkcgU1AwODIyTiIJCQkJCTE5NCAgQwkiU2Ftc3VuZyBTUDA4MjJOIgorIlNBTVNVTkcgU1AoMDgxMnwxMjEzfDE2MTQpQyIJCQkJMTk0ICBDCSJTYW1zdW5nIFNwaW5wb2ludCAxNjBHIFNBVEEiCisiU0FNU1VORyBTUDJbMDVdMTROIgkJCQkJMTk0ICBDCSJTYW1zdW5nIFNwaW5Qb2ludCBQMTIwIHNlcmllcyAoNzIwMFJQTSwgOE1CIGNhY2hlKSIKKyJTQU1TVU5HIFNQMlswNV0wNEMiCQkJCQkxOTQgIEMJIlNhbXN1bmcgU3BpblBvaW50IFAxMjAgc2VyaWVzIC0gU0FUQSIKKyJTQU1TVU5HIFNWMDQzMkEiCQkJCQkwICAgIEMJIlNhbXN1bmcgU1YwNDMyQSIKKyJTQU1TVU5HIFNWMzAwMkgiCQkJCQkwICAgIEMJIlNhbXN1bmcgU3BpblBvaW50IFYzMCBzZXJpZSIKKyJTQU1TVU5HIFNWKDIwMDF8NDAwMnw0MDEyfDYwMDN8ODAwNClIIgkJCTE5NCAgQwkiU2Ftc3VuZyBTcGluUG9pbnQgVjQwIHNlcmllIgorIyJTQU1TVU5HIFNWKDAyMjF8MDYwMnwwODEzfDEyMDQpSCIJCQk5ICAgIEMJIlNhbXN1bmcgU3BpblBvaW50IFY2MCBzZXJpZSIKKyMiU0FNU1VORyBTVjEyMDRIIgkJCQkJMTk0ICBDCSJTYW1zdW5nIDEyMEciCisiU0FNU1VORyBTVigwNDAxfDA4MDJ8MTIwM3wxNjA0KU4iCQkJMTk0ICBDCSJTYW1zdW5nIFNwaW5Qb2ludCBWODAgc2VyaWUiCisiU0FNU1VORyBTVjQwMTJIIgkJCQkJMTk0ICBDCSJTYW1zdW5nIDQwR0IsIDU0MDBSUE0sIDJNQiBjYWNoZSIKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyMjIyMjIyMjIyMjIyBTZWFnYXRlIGRyaXZlcworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIlNlYWdhdGUgVGVjaG5vbG9neSAxMjc1TUIgLSBTVDMxMjc2QSIJMCAgICBDCSJTZWFnYXRlIFNUMzEyNzZBIgorIlNUMzQxMkEiCQkJCTAgICAgQwkiU2VhZ2F0ZSBTVDM0MTJBIgorIlNUMzg2NDFBIgkJCQkwICAgIEMJIlNlYWdhdGUgU1QzODY0MUEiCisiU1QzMTAwMTRBIgkJCQkxOTQgIEMJIlNlYWdhdGUgU1QzMTAwMTRBIgorIlNUMzEwMjEwQSIJCQkJMCAgICBDCSJTZWFnYXRlIFNUMzEwMjEwQSIKKyJTVDMxMDIxMUEiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBTVDMxMDIxMUEiCisiU1QzMTAyMjBBIgkJCQkwICAgIEMJIlNlYWdhdGUgU1QzMTAyMjBBIgorIyBTRUFHQVRFIFNUMzEzMDIxQSAxMy4wR0IKKyJTVDMxMzAyMUEiCQkJCTAgICAgQwkiU2VhZ2F0ZSBVOCBTVDMxMzAyMUEiCisiU1QzMTAyNDBBIgkJCQkwICAgIEMJIlNlYWdhdGUgTWVkYWxpc3QgMTAyNDAgVWx0cmEgQVRBLTMiCisiU1QzMTUzMjBBIgkJCQkxOTQgIEMJIlNlYWdhdGUgU1QzMTUzMjBBIgorIlNUMzIwNDIzQSIJCQkJMCAgICBDCSJTZWFnYXRlIFUxMCAyMDQyMywgVWx0cmEgQVRBLzY2IgorIlNUMzIwMDExQSIJCQkJMTk0ICBDCSJTZWFnYXRlIFNUMzIwMDExQSIKKyJTVDMyMDAxNEEiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBTVDMyMDAxNEEgKDU0MDAgcnBtLCAyMEdiKSIKKyJTVDMyMDQxMEEiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBTVDMyMDQxMEEiCisiU1QzMjA0MTNBIgkJCQkxOTQgIEMJIlNlYWdhdGUgU1QzMjA0MTNBIgorIlNUMzIwNDE0QSIJCQkJMTk0ICBDCSJTZWFnYXRlIFNUMzIwNDE0QSIKKyJTVDMyMDQyMEEiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBCYXJyYWN1ZGEgSUkgU1QzMjA0MjBBIgorIlNUMzMwMDEzQSIJCQkJMTk0ICBDCSJTZWFnYXRlIFNUMzMwMDEzQSBCYXJyYWN1ZGEgQVRBIFYgMzBHQiwgNzIwMCBycG0iCisiU1QzMzA2MjBBIgkJCQkxOTQgIEMJIlNlYWdhdGUgU1QzMzA2MjBBIgorIlNUMzMwNjIxQSIJCQkJMTk0ICBDCSJTZWFnYXRlIFNUMzMwNjIxQSIKKyJTVDMzMDYzMEEiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBCYXJyYWN1ZGEgU1QzMzA2MzBBIgorIlNUMzQwMDE0QSIJCQkJMTk0ICBDCSJTZWFnYXRlIEJhcnJhY3VkYSA3MjAwLjcgNDBHYiIKKyJTVDM0MDAxNUEiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBCYXJyYWN1ZGEgNTQwMC4xIDQwR0IiIAorIlNUMzQwMDE2QSIJCQkJMTk0ICBDCSJTZWFnYXRlIFNUMzQwMDE2QSIKKyJTVDM0MDgxMEEiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBVIFNlcmllcyA0MDgxMCAoNDBHYiwgVWx0cmEgQVRBLzEwMCwgNTQwMCBycG0pIgorIlNUMzQwODIzQSIJCQkJMTk0ICBDCSJTZWFnYXRlIFUgU2VyaWVzIDUgNDA4MjMiCisiU1QzNDA4MjRBIgkJCQkxOTQgIEMJIlNlYWdhdGUgQmFycmFjdWRhIElJSSIKKyJTVDM2MDAxNUEiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBCYXJyYWN1ZGEgViBTVDM2MDAxNUEiCisiU1QzNjAwMjBBIgkJCQkxOTQgIEMJIlNlYWdhdGUgVSBTZXJpZXMgNjAwMjAiCisiU1QzNjAwMjFBIgkJCQkxOTQgIEMJIlNlYWdhdGUgQmFycmFjdWRhIElWIFNUMzYwMDIxQSIKKyJTVDM4MDAxMUEiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBCYXJyYWN1ZGEgNzIwMC43IDgwR0IiCisiU1QzODAwMTJBIgkJCQkxOTQgIEMJIlNlYWdhdGUgU1QzODAwMTJBIDgwR0IiCisiU1QzODAwMTNBIgkJCQkxOTQgIEMJIlNlYWdhdGUgQmFycmFjdWRhIDcyMDAuNyA4MEdCIiAKKyJTVDM4MDAxM0FTIgkJCQkxOTQgIEMJIlNlYWdhdGUgQmFycmFjdWRhIDcyMDAuNyA4MEdCIChTZXJpYWwgQVRBKSIKKyJTVDM4MDAyMEEiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBVIFNlcmllcyA4MDAyMCAoODBHYiwgVWx0cmEgQVRBLzEwMCwgNTQwMCBycG0pIgorIlNUMzgwMDIxQSIJCQkJMTk0ICBDCSJTZWFnYXRlIEJhcnJhY3VkYSBJViBTVDM4MDAyMUEiCisiU1QzODAwMjJBIgkJCQkxOTQgIEMJIlNlYWdhdGUgQmFycmFjdWRhIFU3IDgwMDIyLCBVbHRyYSBBVEEvMTAwIgorIlNUMzgwMDIzQSIJCQkJMTk0ICBDCSJTZWFnYXRlIEJhcnJhY3VkYSBWIFNUMzgwMDIzQSIKKyJTVDM4MDgxN0FTIgkJCQkxOTQgIEMJIlNlYWdhdGUgQmFycmFjdWRhIDcyMDAuNyA4MEdCIC0gU0FUQSIKKyJTVDM5MTExQSIJCQkJMTk0ICBDCSJTZWFnYXRlIFNUMzkxMTFBIChmcm9tIFN1biBVbHRyYSkiCisiU1QzMTIwMDIwQSIJCQkJMTk0ICBDCSJTZWFnYXRlIFNUMzEyMDAyMEEiCisiU1QzMTIwMDIyQSIJCQkJMTk0ICBDCSJTZWFnYXRlIEJhcmFjY3VkYSA3MjAwLjcgMTIwR0IiCisiU1QzMTIwMDIzQSIJCQkJMTk0ICBDCSJTZWFnYXRlIEJhcnJhY3VkYSBWIFNUMzEyMDAyM0EiCisiU1QzMTIwMDI0QSIJCQkJMTk0ICBDCSJTZWFnYXRlIEJhcnJhY3VkYSBWIFNUMzEyMDAyNEEiCisiU1QzMTIwMDI1QUNFIgkJCQkxOTQgIEMJIlNlYWdhdGUgQmFycmFjdWRhIFYgU1QzMTIwMDI1QUNFIgorIlNUMzEyMDAyNkEiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBCYXJyYWN1ZGEgViBTVDMxMjAwMjZBIgorIlNUMzE2MDAyMUEiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBCYXJyYWN1ZGEgNzIwMC43IC0gU1QzMTYwMDIxQSIKKyJTVDMxNjAwMjMoQXxBUykiCQkJMTk0ICBDCSJTZWFnYXRlIEJhcnJhY3VkYSBWIFNUMzE2MDAyM0EgYW5kIEFTICgxNjBHYiwgQVRBMTAwIG9yIFNlcmlhbCBBVEEpIgorIlNUMzE2MDgxWzEyXShBfEFTKSIJCQkxOTQgIEMgICJTZWFnYXRlIEJhcnJhY3VkYSA3MjAwLjkgMTYwR0IiIAorIlNUMzE2MDgyN0FTIgkJCQkxOTQgIEMJIlNlYWdhdGUgQmFycmFjdWRhIDcyMDAuNyAxNjBHQiAoU2VyaWFsIEFUQSkiIAorIlNUMzIwMDAyMUEiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBCYXJyYWN1ZGEgNzIwMC43IFBsdXMgMjAwR0IiCisiU1QzMjAwODIyKEF8QVMpIgkJCTE5NCAgQwkiU2VhZ2F0ZSBCYXJyYWN1ZGEgNzIwMC43IFBsdXMgMjAwR0IgKFBBVEEgb3IgU0FUQSkiCisiU1QzMjAwODI2QSIJCQkJMTk0ICBDCSJTZWFnYXRlIEJhcnJhY3VkYSA3MjAwLjggMjAwR0IiCisiU1QzMjUwNjIzQSIJCQkJMTk0ICBDCSJTZWFnYXRlIEJhcnJhY3VkYSA3MjAwLjE2IDI1MEdCIgorIlNUMzI1MDYyNEFTIgkJCQkxOTQgIEMgICJTZWFnYXRlIEJhcnJhY3VkYSA3MjAwLjkgMjUwR0IgU0FUQSIKKyJTVDMyNTA2MjROUyIJCQkJMTk0ICBDICAiU2VhZ2F0ZSBOTDM1IFNBVEEgKFJBSUQtRWRpdGlvbikgNzIwMCAyNTBHQiIKKyJTVDMyNTA4MjNBIgkJCQkxOTQgIEMJIlNlYWdhdGUgQmFycmFjdWRhIDcyMDAuOCAyNTBHQiIKKyJTVDMyNTA4MjNBIgkJCQkxOTQgIEMJIlNlYWdhdGUgQmFycmFjdWRhIDcyMDAuNyBQbHVzIDI1MEdCIgorIlNUMzI1MDgyM05TIgkJCQkxOTQgIEMJIlNlYWdhdGUgTkwzNSBTQVRBIChSQUlELUVkaXRpb24pIDcyMDAgMjUwR0IiCisiU1QzMzAwODMxQSIJCQkJMTk0ICBDCSJTZWFnYXRlIDMwMEdCIFNUMzMwMDgzMUEiCisiU1QzNDAwODMyQSIJCQkJMTk0ICBDCSJTZWFnYXRlIEJhcnJhY3VkYSA3MjAwLjggUGx1cyA0MDBHQiIKKyJTVDM0MDA2MzMoQXxBUykiICAgICAgICAgICAgICAgICAgICAgICAxOTQgIEMgICJTZWFnYXRlIEJhcnJhY3VkYSA3MjAwLjcgNDAwIEdCIgorIlNUMzUwMDYzME5TIgkJCQkxOTQgIEMgICJTZWFnYXRlIgorIlNUMzQwMDYzMk5TIgkJCQkxOTQgIEMJIlNlYWdhdGUiCisiU1QzODBbMjhdMTEwKEF8QVMpIgkJCQkxOTQgIEMJIlNlYWdhdGUgQmFycmFjdWRhIDcyMDAuOSA4MCBHQiIKKyJTVDkxMDAyMUEiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBNb21lbnR1cyA3MjAwLjEgMTAwR0IiIAorIlNUOTEwMDgyWzM1XUEiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBNb21lbnR1cyA1NDAwLjIgMTAwR0IiCisiU1Q5MTIwODIxQSIJCQkJMTk0ICBDCSJTZWFnYXRlIE1vbWVudHVzIDU0MDAuMiAxMjBHQiIKKyJTVDk0MDE5QSIJCQkJMTk0ICBDCSJTZWFnYXRlIFNUOTQwMTlBIgorIlNUOTQ4MTNBIgkJCQkxOTQgIEMJIlNlYWdhdGUgTW9tZW50dXMgNTQwMC4yIDQwR0IiCisiU1Q5NFswOF0xMUEiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBTVDk0MDExQSIKKyJTVDk2MDgyMUEiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBTVDk2MDgyMUEiCisiU1Q5NjA4MjJBIgkJCQkxOTQgIEMJIlNlYWdhdGUgTW9tZW50dXMgNTQwMC4yIDYwR0IiCisiU1Q5NjgxMkFTIgkJCQkxOTQgIEMJIlNlYWdhdGUgTW9tZW50dXMgNTQwMC4yIDYwR0IgU0FUQSIKKyJTVDk4MDgyMTFBIgkJCQkxOTQgIEMJIlNlYWdhdGUgTW9tZW50dXMgNTQwMC4yIDgwR0IiCisiU1Q5ODgyM0FTIgkJCQkxOTQgIEMgICJTZWFnYXRlIE1vbWVudHVzIDU0MDAuMiA4MEdCIFNBVEEiCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMjIyMjIyMjIyMjIyMgVE9TSElCQSBMYXB0b3BzCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisiTUs0MzEzTUFUIgkJCQkyMjAgIEMJIlRvc2hpYmEgTUs0MzEzTUFUIgorIlRPU0hJQkEgTUsxMDMyR0FYIgkJCTE5NCAgQwkiVG9zaGliYSBNSzEwMzJHQVgiCisiVE9TSElCQSBNSzEwMzJHU1giCQkJMTk0ICBDICAiVG9zaGliYSBNSzEwMzJHU1giCisiVE9TSElCQSBNSzE1MTdHQVAiCQkJMCAgICBDCSJUb3NoaWJhIE1LMTUxN0dBUCIKKyJUT1NISUJBIE1LMjAxOEdBUyIJCQkyMjYgIEYJIlRvc2hpYmEgTUsyMDE4R0FTIgorIlRPU0hJQkEgTUsyMDIzR0FTIgkJCTE5NCAgQwkiVG9zaGliYSBNSzIwMjNHQVMiCisKKyJUT1NISUJBIE1LMzAxN0dBUCIJCQkwICAgIEMJIlRvc2hpYmEgTUszMDE3R0FQIgorIlRPU0hJQkEgTUszMDIxR0FTIgkJCTE5NCAgQwkiVG9zaGliYSBNSzMwMjFHQVMiCisiVE9TSElCQSBNSzMwMjVHQVMiCQkJMTk0ICBDCSJUb3NoaWJhIE1LMzAyNUdBUyIgCisKKyMiVE9TSElCQSBNSzQwMTlHQVgiCQkJMjIyICBDCSJUb3NoaWJhIE1LNDAxOUdBWCIKKyJUT1NISUJBIE1LNDAyMUdBUyIJCQkxOTQgIEMJIlRvc2hpYmEgTUs0MDIxR0FTIgorIlRPU0hJQkEgTUs0MDI1R0FTIgkJCTE5NCAgQwkiVG9zaGliYSBNSzQwMjVHQVMgNDAgR28iCisiVE9TSElCQSBNSzQwMjZHQVMiCQkJMTk0ICBDCSJUb3NoaWJhIE1LNDAyNkdBUyA0MCBHbyIKKyJUT1NISUJBIE1LNDAzMkdBWCIJCQkxOTQgIEMJIlRvc2hpYmEgTUs0MDMyR0FYIiAKKworIlRPU0hJQkEgTUs2MDIxR0FTIgkJCTE5NCAgQwkiVG9zaGliYSBNSzYwMjFHQVMiCisiVE9TSElCQSBNSzYwMjJHQVgiCQkJMTk0ICBDCSJUb3NoaWJhIE1LNjAyMkdBWCIKKyJUT1NISUJBIE1LNjAyNUdBUyIJCQkxOTQgIEMJIlRvc2hpYmEgTUs2MDI1R0FTIgorIlRPU0hJQkEgTUs2MDI2R0FYIgkJCTE5NCAgQwkiVG9zaGliYSBNSzYwMjZHQVgiIAorIlRPU0hJQkEgTUs4MDI1R0FTIgkJCTE5NCAgQwkiVG9zaGliYSBNSzgwMjVHQVMiCisiVE9TSElCQSBNSzgwMjZHQVgiCQkJMTk0ICBDCSJUb3NoaWJhIE1LODAyNkdBWCIgCisiVE9TSElCQSBNSzgwMzJHU1giCQkJMTk0ICBDICAiVG9zaGliYSBNSzgwMzJHU1giIAorCisiTUs0MDI1R0FTIgkJCQkxOTQgIEMJIlRvc2hpYmEgTUs0MDI1R0FTIgorCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMjIyMjIyMjIyMjIyMgV2VzdGVybiBEaWdpdGFsIGRyaXZlcworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBXREMgQUMzMTAxMDBCIGFuZCBXREMgQUMyODUwRiBhcmUgcmVwb3J0ZWQgbm90IHdvcmtpbmcKKyMgbm8gbW9yZSBpbmZvcm1hdGlvbnMgd2VyZSBnaXZlbgorIldEQyBBQzIyMDAwTCIJCQkJCQkJICAwIEMgIldlc3Rlcm4gRGlnaXRhbCBDYXZpYXIgQUMyMjAwMCIKKyJXREMgQUM0MjA0MDBEIgkJCQkJCQkyMzEgQyAiV2VzdGVybiBEaWdpdGFsIENhdmlhciBBQzQyMDQwMEQiCisiV0RDIEFDNDE4MDAwRCIJCQkJCQkJMjMxIEMgIldlc3Rlcm4gRGlnaXRhbCBBQzQxODAwMEQiCisiV0RDIFdEMTM1QkEiCQkJCQkJCTIzMSBDICJXZXN0ZXJuIERpZ2l0YWwgV0QxMzVCQSIKKworIldEQyBXRDEwMEVCLTAwQkhGMCIJCQkJCQkgIDAgQyAiV2VzdGVybiBEaWdpdGFsIDEwMEVCLTAwQkhGMCIKKyJXREMgV0QyMDBCQi0wMEFVQTEiCQkJCQkJICAwIEMgIldlc3Rlcm4gRGlnaXRhbCBDYXZpYXIgV0QyMDBCQiIKKyMiV0RDIFdEMjAwQkItNjBER0EwIgkJCQkJCSAgMCBDICJXZXN0ZXJuIERpZ2l0YWwgQ2F2aWFyIFdEMjAwQkIiCisiV0RDIFdEMzAwQkItMDBDQUEwIgkJCQkJCSAgMCBDICJXZXN0ZXJuIERpZ2l0YWwgV0QzMDBCQiIKKyJXREMgV0QzNjBHRC0wMEZOQTAiCQkJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCBTQVRBIFJhcHRvciAzNi43R0IiCisiV0RDIFdENDAwQkItMDBDQUEwIgkJCQkJCSAgMCBDICJXZXN0ZXJuIERpZ2l0YWwgNDAwQkItMDBDQUEwIgorIldEQyBXRDQwMEJCLTAwW0RKXVtLSF1BMCIJCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgQ2F2aWFyIFdENDAwQkIiCisiV0RDIFdENDAwQkItMjNKSEMwIgkJCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgMjNKSEMwIgorIyJXREMgV0Q0MDBCQi0wMEdGQTAiCQkJCQkJICAwIEMgIiIKKyJXREMgV0Q0MDBCQi01NUhFQTAiCQkJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCBDYXZpYXIgV0Q0MDBCQiIKKyJXREMgV0Q0MDBCQi0oMThDQXwwMERFKUEwIgkJCQkJICAwIEMgIldlc3Rlcm4gRGlnaXRhbCBDYXZpYXIgV0Q0MDBCQiIKKyJXREMgV0Q0MDBCQi03NUZKQTEiCQkJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCBDYXZpYXIgV0Q0MDBCQiIKKyJXREMgV0Q0MDBFQi0wMENQRjAiCQkJCQkJICAwIEMgIldlc3Rlcm4gRGlnaXRhbCA0MDBFQi0wMENQRjAiCisiV0RDIFdENDAwSkItMDAoSkp8Rk18RlMpQTAiCQkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIENhdmlhciA0MEdCIFNwZWNpYWwgRWRpdGlvbiA4TUIiCisiV0RDIFdENDAwSkItMDBFVEEwIgkJCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgNDAwSkItMDBFVEEwIgorIldEQyBXRDQwMEpCLTAwSkpDMCIJCQkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIDQwMEpCLTAwSkpDMCA0MEdCIgorIldEQyBXRDQwMExCLTAwRE5BMCIJCQkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIDQwMExCLTAwRE5BMCIKKyJXREMgV0Q0MDBVRS0yMkhDVDAiCQkJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCA0MEdCIE5vdGVib29rIEhERCIKKyJXREMgV0Q0MDBWRS03NUhEVDEiCQkJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCBTY29ycGlvIDQwR0IiCisiV0RDIFdENjAwQkItMzJCU0EwIgkJCQkJCSAgMCBDICJXZXN0ZXJuIERpZ2l0YWwgNjAwQkItMzJCU0EwIgorIldEQyBXRDYwMEpCLTAwRVRBMCIJCQkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIDYwMEpCLTAwRVRBMCIKKyJXREMgV0Q2MDBMQi0wMEROQTAiCQkJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCA2MEdCIgorIldEQyBXRDYwMFZFLTc1SERUMCIJCQkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIDYwMFZFLTc1SERUMCIKKyJXREMgV0Q2MDBWRS0wMEhEVDAiCQkJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCA2MDBWRS0wMEhEVDAiCisiV0RDIFdENzQwR0QtMDBGTDIxLjAiCQkJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCBTQVRBIFJhcHRvciIKKyJXREMgV0Q3NDBHRC0oWzA1XTBGTFtBQ11bMDFdfDc1RkxBMSkiCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgU0FUQSBSYXB0b3IgNzRHQiA4TUIiCisiV0RDIFdEODAwQkItMDBDQUExIgkJCQkJCSAgMCBDICJXZXN0ZXJuIERpZ2l0YWwgV0Q4MDBCQi0wMENBQTEiCisiV0RDIFdEODAwQkItKDAwfDIyKURLQTAiCQkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIFdEODAwQkIgODAgR28iCisiV0RDIFdEODAwQkItMzJDQ0IwIgkJCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgODAwQkItMzJDQ0IwIgorIldEQyBXRDgwMEJCLTU1SEVBMCIJCQkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIDgwMEJCLTU1SEVBMCIKKyJXREMgV0Q4MDBCQi0wMEpIQTAiCQkJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCA4MDBCQi0wMEpIQTAiIAorIldEQyBXRDgwMEJCLTAwSktBMCIJCQkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIDgwMEJCLTAwSktBMCIgCisiV0RDIFdEODAwQkItNTVKS0EwIgkJCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgODAwQkItNTVKS0EwIiAKKyJXREMgV0Q4MDBCQi03NUZSQTAiCQkJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCBDYXZpYXIgV0Q4MDBCQiIJCQkJCisiV0RDIFdEODAwSkItMDBDUkExIgkJCQkJCSAgMCBDICJXZXN0ZXJuIERpZ2l0YWwgQ2F2aWFyIFdEODAwSkIiCisiV0RDIFdEODAwSkItMDAoRVR8Rk18RlMpQTAiCQkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIENhdmlhciA4MEdCIFNwZWNpYWwgRWRpdGlvbiA4TUIiCisiV0RDIFdEODAwSkItMDBKSltBQ10wIgkJCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgV0Q4MDBKQiIKKyJXREMgV0Q4MDBKRC0oMDB8NTV8NzUpKEhLfEpSfEpOKVtBQ10wIgkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIFNBVEEgODBHQiwgOE1CIENhY2hlIgorIldEQyBXRDgwMExCLSgwMHw1NSlETkEwIgkJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCBDYXZpYXIgV0Q4MDBMQiA4MCBHbyBBVEEtMTAwIgorIldEQyBXRDgwMFZFLTA3SERUMCIJCQkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIDgwMFZFLTA3SERUMCIKKyJXREMgV0QxMjAwQkItMDAoRlRBfEdVQSkwIgkJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCBDYXZpYXIgRUlERSAyTUIgQ2FjaGUiCisiV0RDIFdEMTIwMEpCLTAwKEVWfEZVfEdWfFJFKUEwIgkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIENhdmlhciAxMjBHQiBTcGVjaWFsIEVkaXRpb24gOE1CIiAKKyJXREMgV0QxMjAwSkItMjJHVkEwIgkJCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgQ2F2aWFyIDEyMEdCIgorIldEQyBXRDEyMDBKRC0wMChGWUJ8R0JCfEhCQykwIgkJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCBXRDEyMDBKRCIKKyJXREMgV0QxMjAwTEItNTVFREEwIgkJCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgV0QxMjIwTEIiCisiV0RDIFdEMTIwMFNCLTAxS0JbQUNdMCIJCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgQ2F2aWFyIFJFIChSYWlkIEVkaXRpb24pIDEyMCBHQiIKKyJXREMgV0QxNjAwQkItMDBEV0EwIgkJCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgQ2F2aWFyIFdEMTYwMEJCIgorIldEQyBXRDE2MDBKQi0oMDBFVnwwMEZVfDAwR1Z8MjJHVnw3NUdWKUEwIgkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgQ2F2aWFyIDE2MEdCIFNwZWNpYWwgRWRpdGlvbiA4TUIiCisiV0RDIFdEMjAwMEJCLTAwRlRBMCIJCQkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIFdEMjAwMEJCIgorIldEQyBXRDIwMDBKQi0oMDBFVnwzMkVWfDM0RVZ8MDBGVXwwMEdWfDU1R1Z8OThHVnwwMEtGKUEwIgkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIENhdmlhciAyMDBHQiBTcGVjaWFsIEVkaXRpb24gOE1CIgorIldEQyBXRDIwMDBKQi0wMEdWQzAiCQkJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCBXRDIwMDBKQiIKKyJXREMgV0QyMDAwSkQtMDBGWUIwIgkJCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgV0QyMDAwSkQiCisiV0RDIFdEMjAwMEpTLTAwTUhCMSIJCQkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIFNBVEEgMjAwR0IiCisiV0RDIFdEMjUwMEpCLSgwMFJFfDAwRVZ8MDBGVXwzMkZVfDAwR1Z8NTVHVilBMCIJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgQ2F2aWFyIDI1MEdCIFNwZWNpYWwgRWRpdGlvbiA4TUIiCisiV0RDIFdEMjUwMEpCLTAwR1ZDMCIJCQkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIDI1MEdCIgorIldEQyBXRDI1MDBKRC0oMDBHfDMySHw3NUgpQkIwIgkJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCBTQVRBIENhdmlhciAyNTBHQiBTcGVjaWFsIEVkaXRpb24gOE1CIgorIldEQyBXRDI1MDBKRC00MEhCQzAiCQkJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCBXRDI1MDBKRC00MEhCQzAiIAorIldEQyBXRDI1MDBQQi05OEZCQTAiCQkJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCBDYXZpYXIgMjUwR0IgU3BlY2lhbCBFZGl0aW9uIDhNQiIKKyJXREMgV0QyNTAwUEQtMDBGWkIxIgkJCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgV0QyNTAwUEQtMDBGWkIxIiAKKyJXREMgV0QyNTAwU0QtMDFLQ0IwIgkJCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgQ2F2aWFyIFJFIDI1MEdCIDhNQiIKKyJXREMgV0QzMDAwSkItMDBLRkEwIgkJCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgV0QzMDAwSkIiCisiV0RDIFdEMzIwMEpCLTAwS0ZBMCIJCQkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIENhdmlhciAzMjBHQiA4TUIiCisiV0RDIFdENDAwMEtELTAwTkFCMCIJCQkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIENhdmlhciBTRTE2IDQwMEdCIDE2TUIiCisiV0RDIFdENDAwMFlSLTAxUExCMCIJCQkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIENhdmlhciBSRTIgNDAwR0IgMTZNQiIKKyJXRDQwMDBZUy0wMU1QQjAiCQkJCQkJMTk0ICBDICAiV2VzdGVybiBEaWdpdGFsIFJFMiA3MjAwIFNBVEEgSUkgNDAwIEdCIgorCisjIG5vdCBzdXJlIGZvciBuZXh0CisjICJXREMgV0QxMjAwSkItMDBDUkExIgkJOSAgIEMgIldlc3Rlcm4gRGlnaXRhbCAxMjAwSkItMDBDUkExIgorIyAiV0RDIFdEMjczQkEiCQkJOSAgIEMgIldlc3Rlcm4gRGlnaXRhbCBXRDI3M0JBIgorCisKKworCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCisiU1QzNzUwNjQwQVMiICAgICAgICAgICAgICAgICAgICAgICAgICAgMTk0ICAgIEMgICJTZWFnYXRlIEJhcnJhY3VkYSA3MjAwLjEwIFNBVEEgNzUwR0IiCisiU1QzNzUwODQwQVMiICAgICAgICAgICAgICAgICAgICAgICAgICAgMTk0ICAgIEMgICJTZWFnYXRlIEJhcnJhY3VkYSA3MjAwLjEwIFNBVEEgNzUwR0IiCisiU1QzNTAwNjMwQVMiICAgICAgICAgICAgICAgICAgICAgICAgICAgMTk0ICAgIEMgICJTZWFnYXRlIEJhcnJhY3VkYSA3MjAwLjEwIFNBVEEgNTAwR0IiCisiU1QzNTAwODMwQVMiICAgICAgICAgICAgICAgICAgICAgICAgICAgMTk0ICAgIEMgICJTZWFnYXRlIEJhcnJhY3VkYSA3MjAwLjEwIFNBVEEgNTAwR0IiCisiU1QzNDAwNjIwQVMiICAgICAgICAgICAgICAgICAgICAgICAgICAgMTk0ICAgIEMgICJTZWFnYXRlIEJhcnJhY3VkYSA3MjAwLjEwIFNBVEEgNDAwR0IiCisiU1QzNDAwNjIwQSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTk0ICAgIEMgICJTZWFnYXRlIEJhcnJhY3VkYSA3MjAwLjEwIDQwMEdCIgorIlNUMzQwMDgyMEFTIiAgICAgICAgICAgICAgICAgICAgICAgICAgIDE5NCAgICBDICAiU2VhZ2F0ZSBCYXJyYWN1ZGEgNzIwMC4xMCBTQVRBIDQwMEdCIgorIlNUMzMyMDYyMEFTIiAgICAgICAgICAgICAgICAgICAgICAgICAgIDE5NCAgICBDICAiU2VhZ2F0ZSBCYXJyYWN1ZGEgNzIwMC4xMCBTQVRBIDMyMEdCIgorIlNUMzMyMDgyMEFTIiAgICAgICAgICAgICAgICAgICAgICAgICAgIDE5NCAgICBDICAiU2VhZ2F0ZSBCYXJyYWN1ZGEgNzIwMC4xMCBTQVRBIDMyMEdCIgorIlNUMzMwMDYyMEFTIiAgICAgICAgICAgICAgICAgICAgICAgICAgIDE5NCAgICBDICAiU2VhZ2F0ZSBCYXJyYWN1ZGEgNzIwMC4xMCBTQVRBIDMwMEdCIgorIlNUMzMwMDgyMEFTIiAgICAgICAgICAgICAgICAgICAgICAgICAgIDE5NCAgICBDICAiU2VhZ2F0ZSBCYXJyYWN1ZGEgNzIwMC4xMCBTQVRBIDMwMEdCIgorIlNUMzI1MDYyMEFTIiAgICAgICAgICAgICAgICAgICAgICAgICAgIDE5NCAgICBDICAiU2VhZ2F0ZSBCYXJyYWN1ZGEgNzIwMC4xMCBTQVRBIDI1MEdCIgorIlNUMzI1MDgyMEFTIiAgICAgICAgICAgICAgICAgICAgICAgICAgIDE5NCAgICBDICAiU2VhZ2F0ZSBCYXJyYWN1ZGEgNzIwMC4xMCBTQVRBIDI1MEdCIgorIlNUMzI1MDQxMEFTIiAgICAgICAgICAgICAgICAgICAgICAgICAgIDE5NCAgICBDICAiU2VhZ2F0ZSBCYXJyYWN1ZGEgNzIwMC4xMCBTQVRBIDI1MEdCIgorIlNUMzI1MDMxMEFTIiAgICAgICAgICAgICAgICAgICAgICAgICAgIDE5NCAgICBDICAiU2VhZ2F0ZSBCYXJyYWN1ZGEgNzIwMC4xMCBTQVRBIDI1MEdCIgorIlNUMzIwMDgyMEFTIiAgICAgICAgICAgICAgICAgICAgICAgICAgIDE5NCAgICBDICAiU2VhZ2F0ZSBCYXJyYWN1ZGEgNzIwMC4xMCBTQVRBIDIwMEdCIgorIlNUMzE2MDgxNUFTIiAgICAgICAgICAgICAgICAgICAgICAgICAgIDE5NCAgICBDICAiU2VhZ2F0ZSBCYXJyYWN1ZGEgNzIwMC4xMCBTQVRBIDE2MEdCIgorIlNUMzE2MDIxNUFTIiAgICAgICAgICAgICAgICAgICAgICAgICAgIDE5NCAgICBDICAiU2VhZ2F0ZSBCYXJyYWN1ZGEgNzIwMC4xMCBTQVRBIDE2MEdCIgorIlNUMzEyMDgxNUFTIiAgICAgICAgICAgICAgICAgICAgICAgICAgIDE5NCAgICBDICAiU2VhZ2F0ZSBCYXJyYWN1ZGEgNzIwMC4xMCBTQVRBIDEyMEdCIgorIlNUMzEyMDIxNUFTIiAgICAgICAgICAgICAgICAgICAgICAgICAgIDE5NCAgICBDICAiU2VhZ2F0ZSBCYXJyYWN1ZGEgNzIwMC4xMCBTQVRBIDEyMEdCIgorIlNUMzgwODE1QVMiICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE5NCAgICBDICAiU2VhZ2F0ZSBCYXJyYWN1ZGEgNzIwMC4xMCBTQVRBIDgwR0IiCisiU1QzODAyMTVBUyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTk0ICAgIEMgICJTZWFnYXRlIEJhcnJhY3VkYSA3MjAwLjEwIFNBVEEgODBHQiIKKyJTVDM0MDgxNUFTIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxOTQgICAgQyAgIlNlYWdhdGUgQmFycmFjdWRhIDcyMDAuMTAgU0FUQSA0MEdCIgorIlNUMzQwMjE1QVMiICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE5NCAgICBDICAiU2VhZ2F0ZSBCYXJyYWN1ZGEgNzIwMC4xMCBTQVRBIDQwR0IiCisiU1QzMzAwNjIyQVMiCQkJCTE5NCAgQyAgIlNlYWdhdGUgQmFycmFjdWRhIDcyMDAuOSBTQVRBMi41IDMwMEdCIgorIlNUMzMwMDgzMUEiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBCYXJyYWN1ZGEgNzIwMC44IFBBVEEgMzAwR0IiCisKKyJNYXh0b3IgNyhMfFYpMjUwKEZ8UnxTKTAiCQkxOTQgQyAiTWF4dG9yIE1hWExpbmUgSUlJIDI1MEdCIDcyMDBycG0iCisiTWF4dG9yIDcoTHxWKTMwMChGfFJ8UykwIgkJMTk0IEMgIk1heHRvciBNYVhMaW5lIElJSSAzMDBHQiA3MjAwcnBtIgorIk1BWFRPUiBTVE0zMzIwNjIwQVMiCQkJMTk0IEMgIiIKKworIldEQyBXRDE1MDBBREZELTAwTkxSWzAxXSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgUmFwdG9yIDE1MEdCIgorIldEQyBXRDE2MDBKUy0wME5DQjEiCQkJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCBDYXZpYXIgMTYwMEpTIDE2MEdCIFNhdGEiCisiV0RDIFdEMTYwMFNELTAxS0NDMCIJCQkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIENhdmlhciBSRSBTZXJpYWwgQVRBIHNlcmllcyIKKyJXREMgV0QyNTAwSkQtNTdIQkMwIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxOTQgQyAiV2VzdGVybiBEaWdpdGFsIENhdmlhciBTRSAoU2VyaWFsIEFUQSkgMjUwIEdCIgorIldEQyBXRDI1MDBKUyIJCQkJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCBXRDI1MDBKUyIKKyJXREMgV0QyNTAwSlMtNDFNVkIxIgkJCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgU0FUQUlJIENhdmlhciAyNTBHQiBTcGVjaWFsIEVkaXRpb24gOE1CIgorIldEQyBXRDI1MDBKRC0wMEhCQjAiCQkJCQkJMTk0IEMgICAiV2VzdGVybiBEaWdpdGFsIFNBVEEgMjUwR0IiIAorIldEQyBXRDI1MDBLUy0wME1KQjAiCQkJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCBTQVRBLUlJIENhdmlhciAyNTBHQiBTcGVjaWFsIEVkaXRpb24gMTZNQiIKKyJXREMgV0QyNTAwWUQtMDFOVkIxIgkJCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgQ2F2aWFyIFJFIDI1MEdCIDE2TUIiCisiV0RDIFdEMzAwMEpTLTAwUERCMCIJCQkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIFdEMzAwMEpTIgorIldEQyBXRDMyMDBLUy0wMFBGQjAiCQkJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCBDYXZpYXIgMzIwR0IgMTZNQiIKKyJXREMgV0QzMjAwSkQtMjJLTEIwIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxOTQgQyAiV2VzdGVybiBEaWdpdGFsIENhdmlhciBTRSAzMjBHQiA4TUIiIAorIldEQyBXRDMyMDBTRC0wMUtOQjAiCQkJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCBDYXZpYXIgUkUgMzIwR0IgU0FUQSA4TUIiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2hkZHRlbXAvaGRkdGVtcC9oZGR0ZW1wXzAuMy1iZXRhMTUtNTIuZGlmZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaGRkdGVtcC9oZGR0ZW1wL2hkZHRlbXBfMC4zLWJldGExNS01Mi5kaWZmCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY2MWMxNjQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2hkZHRlbXAvaGRkdGVtcC9oZGR0ZW1wXzAuMy1iZXRhMTUtNTIuZGlmZgpAQCAtMCwwICsxLDIyNTYgQEAKK01lZ2FwYXRjaCBmcm9tIGRlYmlhbgorCitPcmlnaW5hbCBVUkw6IGh0dHA6Ly9mdHAuZGViaWFuLm9yZy9kZWJpYW4vcG9vbC9tYWluL2gvaGRkdGVtcC9oZGR0ZW1wXzAuMy1iZXRhMTUtNTIuZGlmZi5negorCitGaWx0ZXJlZCB3aXRoOgorICBmaWx0ZXJkaWZmIC1wMSAteCBSRUFETUUgLXggJ2RlYmlhbi8qJworCisKK1Vwc3RyZWFtLVN0YXR1czogdW5tYWludGFpbmVkCisKKy0tLSBoZGR0ZW1wLTAuMy1iZXRhMTUub3JpZy9kb2MvaGRkdGVtcC44CisrKysgaGRkdGVtcC0wLjMtYmV0YTE1L2RvYy9oZGR0ZW1wLjgKK0BAIC01OCw2ICs1OCwxMCBAQAorIC5CIFwtZiwgXC1cLWZpbGU9XGZJZmlsZVxmSQorIFNwZWNpZnkgdGhlIGRhdGFiYXNlIGZpbGUgdG8gdXNlLgorIC5UUAorKy5CIFwtRiwgXC1cLWZvcmVncm91bmQKKytEb24ndCBmb3JrIGludG8gdGhlIGJhY2tncm91bmQgZXZlbiBpbiBkYWVtb24gbW9kZS4gIFRoaXMgaXMgdXNlZnVsCisrd2hlbiBydW5uaW5nIHVuZGVyIGEgcHJvY2VzcyBzdXBlcnZpc29yLgorKy5UUAorIC5CIFwtbCwgXC1cLWxpc3Rlbj1cZklhZGRyXGZSCisgTGlzdGVuIG9uIGEgc3BlY2lmaWMgYWRkcmVzcy4gIFxmSWFkZHJcZlIgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhCisgaG9zdCBuYW1lIG9yIGEgbnVtZXJpYyBob3N0IGFkZHJlc3Mgc3RyaW5nLiAgVGhlIG51bWVyaWMgaG9zdCBhZGRyZXNzCitAQCAtODAsNiArODQsOSBAQAorIC5CIFwtcSwgXC1cLXF1aWV0CisgRG9uJ3QgY2hlY2sgaWYgdGhlIGRyaXZlIGlzIHN1cHBvcnRlZC4KKyAuVFAKKysuQiBcLXUsIFwtXC11bml0PVxmSUN8RlxmUgorK0ZvcmNlIG91dHB1dCB0ZW1wZXJhdHVyZSBlaXRoZXIgaW4gQ2Vsc2l1cyBvciBGYWhyZW5oZWl0LgorKy5UUAorIC5CIFwtdiwgXC1cLXZlcnNpb24KKyBEaXNwbGF5IGhkZHRlbXAgdmVyc2lvbiBudW1iZXIuCisgLlRQCitAQCAtOTYsNyArMTAzLDcgQEAKKyAuU0ggIkRSSVZFIERBVEFCQVNFIgorIElmIHlvdSBrbm93IHlvdXIgZHJpdmUgaGFzIGEgdGVtcGVyYXR1cmUgc2Vuc29yIGJ1dCBpdCBpcyBiZWluZworIHJlcG9ydGVkIHVuc3VwcG9ydGVkLCB0ZWxsIG1lIHdoaWNoIG1vZGVsIGFuZCB3aGljaCBtYW51ZmFjdHVyZXIgaXQKKy1pcywgYW5kL29yIGp1c3QgYWRkIGEgbmV3IGVudHJ5IGluIC91c3Ivc2hhcmUvbWlzYy9oZGR0ZW1wLmRiLiAgRWFjaAorK2lzLCBhbmQvb3IganVzdCBhZGQgYSBuZXcgZW50cnkgaW4gL2V0Yy9oZGR0ZW1wLmRiLiAgRWFjaAorIGxpbmUgb2YgaGRkdGVtcC5kYiBpcyBlaXRoZXIgYSBjb21tZW50LCBhIGJsYW5rIGxpbmUgb3IgYSBsaW5lCisgY29udGFpbmluZzoKKyAuVFAKK0BAIC0xMTIsNyArMTE5LDcgQEAKKyBGZWVkYmFjayBpcyB3ZWxjb21lIChzZWUgdGhlIFJFUE9SVCBzZWN0aW9uIGJlbG93KS4KKyAKKyAuU0ggIlRDUC9JUCBEQUVNT04gTU9ERSIKKy1FeGVtcGxlIG9mIHR5cGUgZm9yY2luZzoKKytFeGFtcGxlIG9mIHR5cGUgZm9yY2luZzoKKyAuUFAKKyAjIGhkZHRlbXAgU0FUQTovZGV2L3NkYSBQQVRBOi9kZXYvaGRhCisgLlBQCitAQCAtMTIwLDcgKzEyNyw3IEBACisgLkIgaGRkdGVtcAorIGluIGRhZW1vbiBtb2RlLCBzdGFydCBpdCBsaWtlIHRoaXM6CisgLlBQCistIyBoZGR0ZW1wIC1kIC9kZXYvaGRbYWJjZF0KKysjIGhkZHRlbXAgXC1kIC9kZXYvaGRbYWJjZF0KKyAuUFAKKyAuUFAKKyBhbmQgdXNlCitAQCAtMTY1LDggKzE3Miw4IEBACisgaW52ZXN0aWdhdGlvbiB0aGV5IGRvIG5vdC4gIEJ1dCBmaWVsZHMgMTk0ICh3aGljaCBpcyB0aGUgc3RhbmRhcmQKKyBmaWVsZCBmb3IgdGVtcGVyYXR1cmUpIGFuZCAyMzEgYXJlIGdvb2QgY2FuZGlkYXRlcy4KKyAuUFAKKy1UaGVuLCB5b3UgY2FuIHNlbmQgbWUgYSByZXBvcnQgd2l0aCBvdXRwdXRzIGZyb20gYGhkZHRlbXAgLS1kZWJ1ZyAuLi4nLAorLWBzbWFydGN0bCcgb3IgYGhkcGFybSAtaSAuLi4nLCBhbmQvb3IgYWRkIGFuIGVudHJ5IGluIGhkZHRlbXAuZGIKKytUaGVuLCB5b3UgY2FuIHNlbmQgbWUgYSByZXBvcnQgd2l0aCBvdXRwdXRzIGZyb20gYGhkZHRlbXAgXC1cLWRlYnVnIC4uLicsCisrYHNtYXJ0Y3RsJyBvciBgaGRwYXJtIFwtaSAuLi4nLCBhbmQvb3IgYWRkIGFuIGVudHJ5IGluIGhkZHRlbXAuZGIKKyB5b3Vyc2VsZi4KKyAKKyAuU0ggIkJVR1MiCitAQCAtMTgzLDUgKzE5MCw1IEBACisgLlBQCisgRW1tYW51ZWwgVmFyYWduYXQgKGhkZHRlbXBAZ3V6dS5uZXQpLgorIC5QUAorLVRoaXMgbWFudWFsIHBhZ2Ugd2FzIG9yaWdpbmFseSB3cml0dGVuIGJ5IEF1cmVsaWVuIEphcm5vIDxhdXJlbDMyQGRlYmlhbi5vcmc+LAorK1RoaXMgbWFudWFsIHBhZ2Ugd2FzIG9yaWdpbmFsbHkgd3JpdHRlbiBieSBBdXJlbGllbiBKYXJubyA8YXVyZWwzMkBkZWJpYW4ub3JnPiwKKyBmb3IgdGhlIERlYmlhbiBHTlUvTGludXggc3lzdGVtIChidXQgbWF5IGJlIHVzZWQgYnkgb3RoZXJzKS4KKy0tLSBoZGR0ZW1wLTAuMy1iZXRhMTUub3JpZy9wby9mci5wbworKysrIGhkZHRlbXAtMC4zLWJldGExNS9wby9mci5wbworQEAgLTcsOSArNyw5IEBACisgbXNnaWQgIiIKKyBtc2dzdHIgIiIKKyAiUHJvamVjdC1JZC1WZXJzaW9uOiBmclxuIgorLSJSZXBvcnQtTXNnaWQtQnVncy1UbzogaGRkdGVtcEBndXp1Lm5ldFxuIgorLSJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwNS0wMi0yNSAyMjo0MyswMTAwXG4iCistIlBPLVJldmlzaW9uLURhdGU6IDIwMDMtMDYtMDMgMDA6NThHTVQrMVxuIgorKyJSZXBvcnQtTXNnaWQtQnVncy1UbzogXG4iCisrIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA2LTA2LTI5IDE2OjI0KzAyMDBcbiIKKysiUE8tUmV2aXNpb24tRGF0ZTogMjAxMS0wOC0zMCAxNjozOCswMjAwXG4iCisgIkxhc3QtVHJhbnNsYXRvcjogQXVyZWxpZW4gSmFybm8gPGF1cmVsaWVuQGF1cmVsMzIubmV0PlxuIgorICJMYW5ndWFnZS1UZWFtOiBGUkFOQ0FJUyA8ZnJAbGkub3JnPlxuIgorICJNSU1FLVZlcnNpb246IDEuMFxuIgorQEAgLTE3LDIzICsxNyw3IEBACisgIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKKyAiWC1HZW5lcmF0b3I6IEtCYWJlbCAxLjAuMVxuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6MTEyCistIywgYy1mb3JtYXQKKy1tc2dpZCAiIgorLSJcbiIKKy0iUmVnZXhwJXN8IFZhbHVlIHwgRGVzY3JpcHRpb25cbiIKKy0iLS0tLS0tJXMtLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKy1tc2dzdHIgIiIKKy0iXG4iCistIlJlZ2V4cCVzfCBWYWxldXIgfCBEZXNjcmlwdGlvblxuIgorLSItLS0tLS0lcy0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKy0KKy0jOiBzcmMvaGRkdGVtcC5jOjExOAorLSMsIGMtZm9ybWF0CistbXNnaWQgIiVzJXN8ICU1ZCB8ICVzXG4iCistbXNnc3RyICIlcyVzfCAgJTVkIHwgJXNcbiIKKy0KKy0jOiBzcmMvaGRkdGVtcC5jOjE2MQorKyM6IHNyYy9oZGR0ZW1wLmM6MTU2CisgIywgYy1mb3JtYXQKKyBtc2dpZCAiIgorICJcbiIKK0BAIC00Niw3ICszMCw3IEBACisgIk1vZOhsZTogJXNcbiIKKyAiXG4iCisgCistIzogc3JjL2hkZHRlbXAuYzoxODgKKysjOiBzcmMvaGRkdGVtcC5jOjE4OQorICMsIGMtZm9ybWF0CisgbXNnaWQgIiIKKyAiV0FSTklORzogRHJpdmUgJXMgZG9lc24ndCBzZWVtIHRvIGhhdmUgYSB0ZW1wZXJhdHVyZSBzZW5zb3IuXG4iCitAQCAtNjAsNzUgKzQ0LDYwIEBACisgIm5ldCkuXG4iCisgIkFUVEVOVElPTiA6IFZvaXIgbGVzIG9wdGlvbnMgLS1oZWxwLCAtLWRlYnVnIGV0IC0tZHJpdmViYXNlLlxuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6MTkyCisrIzogc3JjL2hkZHRlbXAuYzoxOTcKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICIlczogJXM6ICBubyBzZW5zb3JcbiIKKyBtc2dzdHIgIiVzOiAlcyA6ICBwYXMgZGUgY2FwdGV1clxuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6MTk3CistIywgYy1mb3JtYXQKKy1tc2dpZCAiIgorLSJXQVJOSU5HOiBEcml2ZSAlcyBkb2Vzbid0IGFwcGVhciBpbiB0aGUgZGF0YWJhc2Ugb2Ygc3VwcG9ydGVkIGRyaXZlc1xuIgorLSJXQVJOSU5HOiBCdXQgdXNpbmcgYSBjb21tb24gdmFsdWUsIGl0IHJlcG9ydHMgc29tZXRoaW5nLlxuIgorLSJXQVJOSU5HOiBOb3RlIHRoYXQgdGhlIHRlbXBlcmF0dXJlIHNob3duIGNvdWxkIGJlIHdyb25nLlxuIgorLSJXQVJOSU5HOiBTZWUgLS1oZWxwLCAtLWRlYnVnIGFuZCAtLWRyaXZlYmFzZSBvcHRpb25zLlxuIgorLSJXQVJOSU5HOiBBbmQgZG9uJ3QgZm9yZ2V0IHlvdSBjYW4gYWRkIHlvdXIgZHJpdmUgdG8gaGRkdGVtcC5kYlxuIgorLW1zZ3N0ciAiIgorLSJBVFRFTlRJT04gOiBMZSBsZWN0ZXVyICVzIG4nYXBwYXJhaXQgcGFzIGRhbnMgbGEgYmFzZSBkZSBkb25u6WVzIGRlcyAiCistImxlY3RldXJzIHN1cHBvcnTpc1xuIgorLSJBVFRFTlRJT04gOiBNYWlzIGVuIHV0aWxpc2FudCB1bmUgdmFsZXVyIGNvdXJhbnRlLCBpbCByZW52b2llIHF1ZWxxdWUgIgorLSJjaG9zZS5cbiIKKy0iQVRURU5USU9OIDogTm90ZXogcXVlIGxhIHRlbXDpcmF0dXJlIHJlbnZveellIHBldXQg6nRyZSBlcnJvbullLlxuIgorLSJBVFRFTlRJT04gOiBWb2lyIGxlcyBvcHRpb25zIC0taGVscCwgLS1kZWJ1ZyBldCAtLWRyaXZlYmFzZS5cbiIKKy0iQVRURU5USU9OIDogRXQgbidvdWJsaWV6IHBhcyBkJ2Fqb3V0ZXIgdm90cmUgbGVjdGV1ciBhdSBmaWNoaWVyIGhkZHRlbXAuZGJcbiIKKy0KKy0jOiBzcmMvaGRkdGVtcC5jOjIwMgorKyM6IHNyYy9oZGR0ZW1wLmM6MjExCisgIywgYy1mb3JtYXQKKyBtc2dpZCAiJXM6ICVzOiAgJWQlc0Mgb3IgJXNGXG4iCisgbXNnc3RyICIlczogJXMgOiAgJWQlc0Mgb3UgJXNGXG4iCisgCistIzogc3JjL2hkZHRlbXAuYzoyMTQKKysjOiBzcmMvaGRkdGVtcC5jOjIzNQorICMsIGMtZm9ybWF0CisgbXNnaWQgIiVzOiAlczogZHJpdmUgaXMgc2xlZXBpbmdcbiIKKyBtc2dzdHIgIiVzOiAlcyA6IGxlIGxlY3RldXIgZXN0IGVuIHZlaWxsZVxuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6MjE3CisrIzogc3JjL2hkZHRlbXAuYzoyNDIKKyAjLCBjLWZvcm1hdAorLW1zZ2lkICIlczogJXM6ICBrbm93biBkcml2ZSwgYnV0IGl0IGRvZXNuJ3QgaGF2ZSBhIHRlbXBlcmF0dXJlIHNlbnNvci5cbiIKKyttc2dpZCAiJXM6ICVzOiAgZHJpdmUgc3VwcG9ydGVkLCBidXQgaXQgZG9lc24ndCBoYXZlIGEgdGVtcGVyYXR1cmUgc2Vuc29yLlxuIgorIG1zZ3N0ciAiIgorICIlczogJXM6ICBsZWN0ZXVyIGNvbm51LCBtYWlzIGlsIG5lIHBvc3PoZGUgcGFzIGRlIGNhcHRldXIgZGUgdGVtcOlyYXR1cmUuXG4iCisgCistIzogc3JjL2hkZHRlbXAuYzoyMjAKKysjOiBzcmMvaGRkdGVtcC5jOjI0NgorICMsIGMtZm9ybWF0CisgbXNnaWQgIkVSUk9SOiAlczogJXM6IHVua25vd24gcmV0dXJuZWQgc3RhdHVzXG4iCisgbXNnc3RyICJFUlJFVVIgOiAlcyA6ICVzIDogc3RhdHVzIGluY29ubnVcbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjIzNQorKyM6IHNyYy9oZGR0ZW1wLmM6MjYxCisgIywgYy1mb3JtYXQKKyBtc2dpZCAiIgorICJcbiIKKyAiSWYgb25lIG9mIHRoZSBmaWVsZCB2YWx1ZSBzZWVtcyB0byBtYXRjaCB0aGUgdGVtcGVyYXR1cmUsIGJlIHN1cmUgdG8gcmVhZFxuIgorLSJ0aGUgaGRkdGVtcCBtYW4gcGFnZSBiZWZvcmUgc2VuZGluZyBtZSBhIHJlcG9ydCAoc2VjdGlvbiBSRVBPUlQpLiBUaGFua3MuXG4iCisrInRoZSBoZGR0ZW1wIG1hbiBwYWdlIGJlZm9yZSBzZW5kaW5nIGEgcmVwb3J0IChzZWN0aW9uIFJFUE9SVCkuIFRoYW5rcy5cbiIKKyBtc2dzdHIgIiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjMwOAorKyM6IHNyYy9oZGR0ZW1wLmM6MzM4CisgIywgYy1mb3JtYXQKKyBtc2dpZCAiRVJST1I6IGludmFsaWQgc2VwYXJhdG9yLlxuIgorIG1zZ3N0ciAiRVJSRVVSIDogc+lwYXJhdGV1ciBpbnZhbGlkZS5cbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjMxOQorKyM6IHNyYy9oZGR0ZW1wLmM6MzQ5CisgIywgYy1mb3JtYXQKKyBtc2dpZCAiRVJST1I6IGludmFsaWQgcG9ydCBudW1iZXIuXG4iCisgbXNnc3RyICJFUlJFVVIgOiBudW3pcm8gZGUgcG9ydCBpbnZhbGlkZS5cbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjMyOQorLSMsIGZ1enp5LCBjLWZvcm1hdAorKyM6IHNyYy9oZGR0ZW1wLmM6MzcxCisrIywgYy1mb3JtYXQKKyBtc2dpZCAiIgorLSIgVXNhZ2U6IGhkZHRlbXAgW09QVElPTlNdIERJU0sxIFtESVNLMl0uLi5cbiIKKysiIFVzYWdlOiBoZGR0ZW1wIFtPUFRJT05TXSBbVFlQRTpdRElTSzEgW1tUWVBFOl1ESVNLMl0uLi5cbiIKKyAiXG4iCisgIiAgIGhkZHRlbXAgZGlzcGxheXMgdGhlIHRlbXBlcmF0dXJlIG9mIGRyaXZlcyBzdXBwbGllZCBpbiBhcmd1bWVudC5cbiIKKyAiICAgRHJpdmVzIG11c3Qgc3VwcG9ydCBTLk0uQS5SLlQuXG4iCisgIlxuIgorKyIgIFRZUEUgY291bGQgYmUgU0FUQSwgUEFUQSBvciBTQ1NJLiBJZiBvbWl0dGVkIGhkZHRlbXAgd2lsbCB0cnkgdG8gZ3Vlc3MuXG4iCisrIlxuIgorICIgIC1iICAgLS1kcml2ZWJhc2UgICA6ICBkaXNwbGF5IGRhdGFiYXNlIGZpbGUgY29udGVudCB0aGF0IGFsbG93IGhkZHRlbXAgdG9cbiIKKyAiICAgICAgICAgICAgICAgICAgICAgICAgcmVjb2duaXplIHN1cHBvcnRlZCBkcml2ZXMuXG4iCisgIiAgLUQgICAtLWRlYnVnICAgICAgIDogIGRpc3BsYXkgdmFyaW91cyBTLk0uQS5SLlQuIGZpZWxkcyBhbmQgdGhlaXIgdmFsdWVzLlxuIgorQEAgLTEzOCw2ICsxMDcsNyBAQAorICIgIC1kICAgLS1kYWVtb24gICAgICA6ICBydW4gaGRkdGVtcCBpbiBUQ1AvSVAgZGFlbW9uIG1vZGUgKHBvcnQgJWQgYnkgIgorICJkZWZhdWx0LilcbiIKKyAiICAtZiAgIC0tZmlsZT1GSUxFICAgOiAgc3BlY2lmeSBkYXRhYmFzZSBmaWxlIHRvIHVzZS5cbiIKKysiICAtRiAgIC0tZm9yZWdyb3VuZCAgOiAgZG9uJ3QgZGFlbW9uaXplLCBzdGF5IGluIGZvcmVncm91bmQuXG4iCisgIiAgLWwgICAtLWxpc3Rlbj1hZGRyIDogIGxpc3RlbiBvbiBhIHNwZWNpZmljIGludGVyZmFjZSAoaW4gVENQL0lQIGRhZW1vbiAiCisgIm1vZGUpLlxuIgorICIgIC1uICAgLS1udW1lcmljICAgICA6ICBwcmludCBvbmx5IHRoZSB0ZW1wZXJhdHVyZS5cbiIKK0BAIC0xNDUsNiArMTE1LDggQEAKKyAiICAtcyAgIC0tc2VwYXJhdG9yPUMgOiAgc2VwYXJhdG9yIHRvIHVzZSBiZXR3ZWVuIGZpZWxkcyAoaW4gVENQL0lQIGRhZW1vbiAiCisgIm1vZGUpLlxuIgorICIgIC1TICAgLS1zeXNsb2c9cyAgICA6ICBsb2cgdGVtcGVyYXR1cmUgdG8gc3lzbG9nIGV2ZXJ5IHMgc2Vjb25kcy5cbiIKKysiICAtdSAgIC0tdW5pdD1bQ3xGXSAgOiAgZm9yY2Ugb3V0cHV0IHRlbXBlcmF0dXJlIGVpdGhlciBpbiBDZWxzaXVzIG9yICIKKysiRmFocmVuaGVpdC5cbiIKKyAiICAtcSAgIC0tcXVpZXQgICAgICAgOiAgZG8gbm90IGNoZWNrIGlmIHRoZSBkcml2ZSBpcyBzdXBwb3J0ZWQuXG4iCisgIiAgLXYgICAtLXZlcnNpb24gICAgIDogIGRpc3BsYXkgaGRkdGVtcCB2ZXJzaW9uIG51bWJlci5cbiIKKyAiICAtdyAgIC0td2FrZS11cCAgICAgOiAgd2FrZS11cCB0aGUgZHJpdmUgaWYgbmVlZC5cbiIKK0BAIC0xNTMsMTEgKzEyNSwxNCBAQAorICJcbiIKKyAiUmVwb3J0IGJ1Z3Mgb3IgbmV3IGRyaXZlcyB0byA8aGRkdGVtcEBndXp1Lm5ldD4uXG4iCisgbXNnc3RyICIiCistIiBVdGlsaXNhdGlvbjogaGRkdGVtcCBbT1BUSU9OU10gRElTUVVFMSBbRElTUVVFMl0uLi5cbiIKKysiIFV0aWxpc2F0aW9uOiBoZGR0ZW1wIFtPUFRJT05TXSBbVFlQRTpdRElTUVVFMSBbW1RZUEU6XURJU1FVRTJdLi4uXG4iCisgIlxuIgorICIgICBoZGR0ZW1wIGFmZmljaGUgbGEgdGVtcOlyYXR1cmUgZGVzIGxlY3RldXJzIHBhc3PpcyBlbiBhcmd1bWVudC5cbiIKKyAiICAgTGVzIGxlY3RldXJzIGRvaXZlbnQgYXZvaXIgbGUgc3VwcG9ydCBTLk0uQS5SLlQuXG4iCisgIlxuIgorKyIgIFRZUEUgcGV1dCDqdHJlIFNBVEEsIFBBVEEgb3UgU0NTSS4gU2kgbGUgdHlwZSBlc3Qgb21pcywgaGRkdGVtcCBlc3NhaWVyYVxuIgorKyIgIGRlIGxlIGRldmluZXIuXG4iCisrIlxuIgorICIgIC1iICAgLS1kcml2ZWJhc2UgICA6ICBhZmZpY2hlIGxlIGNvbnRlbnUgZHUgZmljaGllciBkZSBiYXNlIGRlIGRvbm7pZSAiCisgInF1aSBcbiIKKyAiICAgICAgICAgICAgICAgICAgICAgICAgcGVybWV0IOAgaGRkdGVtcCBkZSByZWNvbm5h7nRyZSBsZXMgbGVjdGV1cnMgIgorQEAgLTE3Miw2ICsxNDcsNyBAQAorICJk6WZhdXQpLlxuIgorICIgIC1mICAgLS1maWxlPUZJTEUgICA6ICBzcGVjaWZpZSBsZSBmaWNoaWVyIOAgdXRpbGlzZXIgY29tbWUgYmFzZSBkZSAiCisgImRvbm7pZXMuXG4iCisrIiAgLUYgICAtLWZvcmVncm91bmQgIDogIG5lIHBhcyBk6W1vbmlzZXIsIHJlc3RlciBhdSBwcmVtaWVyIHBsYW4uXG4iCisgIiAgLWwgICAtLWxpc3Rlbj1hZGRyIDogIOljb3V0ZSBzdXIgdW5lIGludGVyZmFjZSBzcOljaWZpcXVlIChlbiBtb2RlIGTpbW9uICIKKyAiVENQL0lQKS5cbiIKKyAiICAtbiAgIC0tbnVtZXJpYyAgICAgOiAgYWZmaWNoZSBzZXVsZW1lbnQgbGEgdGVtcOlyYXR1cmUuXG4iCitAQCAtMTgwLDYgKzE1Niw4IEBACisgImTpbW9uIFRDUC9JUCkuXG4iCisgIiAgLVMgICAtLXN5c2xvZz1zICAgIDogIGVucmVnaXN0cmUgbGEgdGVtcOlyYXR1cmUgZGFucyBzeXNsb2cgdG91cyBsZXMgcyAiCisgInNlY29uZGVzLlxuIgorKyIgIC11ICAgLS11bml0PVtDfEZdICA6ICBhZmZpY2hlIGxhIHRlbXDpcmF0dXJlIGVuIGRlZ3LpcyBDZWxzaXVzIG91ICIKKysiRmFocmVuaGVpdC5cbiIKKyAiICAtcSAgIC0tcXVpZXQgICAgICAgOiAgbmUgdulyaWZpZSBwYXMgc2kgbGUgbGVjdGV1ciBlc3Qgc3VwcG9ydOkuXG4iCisgIiAgLXYgICAtLXZlcnNpb24gICAgIDogIGFmZmljaGUgbGEgdmVyc2lvbiBkZSBoZGR0ZW1wLlxuIgorICIgIC13ICAgLS13YWtlLXVwICAgICA6ICBy6XZlaWxsZXIgbGUgbGVjdGV1ciBzaSBu6WNlc3NhaXJlLlxuIgorQEAgLTE4OCw2MiArMTY2LDk1IEBACisgIlxuIgorICJSZXBvcnQgYnVncyBvciBuZXcgZHJpdmVzIHRvIDxoZGR0ZW1wQGd1enUubmV0Pi5cbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjUyMgorKyM6IHNyYy9oZGR0ZW1wLmM6NDAyCisgIywgYy1mb3JtYXQKKyBtc2dpZCAiaGRkdGVtcCB2ZXJzaW9uICVzXG4iCisgbXNnc3RyICJoZGR0ZW1wIHZlcnNpb24gJXNcbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjU0NworKyM6IHNyYy9oZGR0ZW1wLmM6NDE4CisgIywgYy1mb3JtYXQKKyBtc2dpZCAiRVJST1I6IGludmFsaWQgaW50ZXJ2YWwuXG4iCisgbXNnc3RyICJFUlJFVVIgOiBpbnRlcnZhbGxlIGludmFsaWRlLlxuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6NTQ3CisrIzogc3JjL2hkZHRlbXAuYzo0MzgKKysjLCBjLWZvcm1hdAorIG1zZ2lkICJUb28gZmV3IGFyZ3VtZW50czogeW91IG11c3Qgc3BlY2lmeSBvbmUgZHJpdmUsIGF0IGxlYXN0LlxuIgorIG1zZ3N0ciAiVHJvcCBwZXUgZCdhcmd1bWVudHMgOiB2b3VzIGRldmV6IHNw6WNpZmllciBhdSBtb2lucyB1biBsZWN0ZXVyLlxuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6NTU3CisrIzogc3JjL2hkZHRlbXAuYzo0NDgKKysjLCBjLWZvcm1hdAorIG1zZ2lkICJFUlJPUjogY2FuJ3QgdXNlIC0tZGVidWcgYW5kIC0tZGFlbW9uIG9yIC0tc3lzbG9nIG9wdGlvbnMgdG9nZXRoZXIuXG4iCisgbXNnc3RyICIiCisgIkVSUkVVUjogaW1wb3NzaWJsZSBkJ3V0aWxpc2VyIGxlcyBvcHRpb25zIC0tZGVidWcgZXQgLS1kYWVtb24gb3UgLS1zeXNsb2cgZW4gIgorICJt6m1lIHRlbXBzLlxuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6NTgzCisrIzogc3JjL2hkZHRlbXAuYzo1MDUKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICJFUlJPUjogJXM6IGNhbid0IGRldGVybWluZSBidXMgdHlwZSAob3IgdGhpcyBidXMgdHlwZSBpcyB1bmtub3duKVxuIgorIG1zZ3N0ciAiIgorICJFUlJFVVI6ICVzOiBpbXBvc3NpYmxlIGRlIGTpdGVybWluZXIgbGUgdHlwZSBkZSBidXMgKG91IGNlIHR5cGUgZGUgYnVzIGVzdCAiCisgImluY29ubnUpXG4iCisgCistIzogc3JjL2F0YS5jOjY2IHNyYy9zY3NpLmM6NjgKKysjOiBzcmMvYXRhLmM6NjYgc3JjL3Njc2kuYzo2NAorIG1zZ2lkICJ1bmtub3duIgorIG1zZ3N0ciAiaW5jb25udSIKKyAKKy0jOiBzcmMvYXRhLmM6OTgKKysjOiBzcmMvYXRhLmM6ODUgc3JjL2F0YS5jOjEwNCBzcmMvc2NzaS5jOjkxCisgIywgYy1mb3JtYXQKKy1tc2dpZCAiZmllbGQoJWQpXHQgPSAlZFxuIgorLW1zZ3N0ciAiY2hhbXAoJWQpXHQgPSAlZFxuIgorLQorLSM6IHNyYy9hdGEuYzoxNjcKKyBtc2dpZCAiUy5NLkEuUi5ULiBub3QgYXZhaWxhYmxlIgorIG1zZ3N0ciAiUy5NLkEuUi5ULiBub24gZGlzcG9uaWJsZSIKKyAKKy0jOiBzcmMvZGIuYzoxODAKKysjOiBzcmMvZGIuYzoxMTUKKysjLCBjLWZvcm1hdAorK21zZ2lkICIiCisrIlxuIgorKyJSZWdleHAlc3wgVmFsdWUgfCBEZXNjcmlwdGlvblxuIgorKyItLS0tLS0lcy0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorK21zZ3N0ciAiIgorKyJcbiIKKysiUmVnZXhwJXN8IFZhbGV1ciB8IERlc2NyaXB0aW9uXG4iCisrIi0tLS0tLSVzLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorKworKyM6IHNyYy9kYi5jOjEyMQorKyMsIGMtZm9ybWF0CisrbXNnaWQgIiVzJXN8ICU1ZCB8ICVzXG4iCisrbXNnc3RyICIlcyVzfCAgJTVkIHwgJXNcbiIKKysKKysjOiBzcmMvZGIuYzoyMzYKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICJoZGR0ZW1wOiBjYW4ndCBvcGVuICUxJHM6ICUyJHNcbiIKKyBtc2dzdHIgImhkZHRlbXA6IG5lIHBldXQgb3V2cmlyICUxJHM6ICUyJHNcbiIKKyAKKy0jOiBzcmMvZGIuYzoxOTQKKysjOiBzcmMvZGIuYzoyNTAKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICJFUlJPUjogc3ludGF4IGVycm9yIGF0IGxpbmUgJTEkZCBpbiAlMiRzXG4iCisgbXNnc3RyICJFUlJFVVI6IGVycmV1ciBkZSBzeW50YXhlIOAgbGEgbGlnbmUgJTEkZDogJTIkc1xuIgorIAorLSM6IHNyYy9kYi5jOjIwMQorKyM6IHNyYy9kYi5jOjI1NworICMsIGMtZm9ybWF0CisgbXNnaWQgIiAgRVJST1I6IGxpbmUgZXhjZWVkICUxJGQgY2hhcmFjdGVycyBpbiAlMiRzLlxuIgorIG1zZ3N0ciAiICBFUlJFVVI6IGxpZ25lIGV46WNkYW50ICUxJGQgY2FyYWN06HJlcyBkYW5zICUyJHMuXG4iCisgCistIzogc3JjL3Njc2kuYzoxMTIgc3JjL3Njc2kuYzoxMzAKKysjOiBzcmMvc2NzaS5jOjExMSBzcmMvc2NzaS5jOjEyOQorICMsIGMtZm9ybWF0CisgbXNnaWQgImxvZyBzZW5zZSBmYWlsZWQgOiAlcyIKKyBtc2dzdHIgImVjaGVjIGRlICdsb2cgc2Vuc2UnIDogJXMgIgorKworKyN+IG1zZ2lkICIiCisrI34gIldBUk5JTkc6IERyaXZlICVzIGRvZXNuJ3QgYXBwZWFyIGluIHRoZSBkYXRhYmFzZSBvZiBzdXBwb3J0ZWQgZHJpdmVzXG4iCisrI34gIldBUk5JTkc6IEJ1dCB1c2luZyBhIGNvbW1vbiB2YWx1ZSwgaXQgcmVwb3J0cyBzb21ldGhpbmcuXG4iCisrI34gIldBUk5JTkc6IE5vdGUgdGhhdCB0aGUgdGVtcGVyYXR1cmUgc2hvd24gY291bGQgYmUgd3JvbmcuXG4iCisrI34gIldBUk5JTkc6IFNlZSAtLWhlbHAsIC0tZGVidWcgYW5kIC0tZHJpdmViYXNlIG9wdGlvbnMuXG4iCisrI34gIldBUk5JTkc6IEFuZCBkb24ndCBmb3JnZXQgeW91IGNhbiBhZGQgeW91ciBkcml2ZSB0byBoZGR0ZW1wLmRiXG4iCisrI34gbXNnc3RyICIiCisrI34gIkFUVEVOVElPTiA6IExlIGxlY3RldXIgJXMgbidhcHBhcmFpdCBwYXMgZGFucyBsYSBiYXNlIGRlIGRvbm7pZXMgZGVzICIKKysjfiAibGVjdGV1cnMgc3VwcG9ydOlzXG4iCisrI34gIkFUVEVOVElPTiA6IE1haXMgZW4gdXRpbGlzYW50IHVuZSB2YWxldXIgY291cmFudGUsIGlsIHJlbnZvaWUgcXVlbHF1ZSAiCisrI34gImNob3NlLlxuIgorKyN+ICJBVFRFTlRJT04gOiBOb3RleiBxdWUgbGEgdGVtcOlyYXR1cmUgcmVudm956WUgcGV1dCDqdHJlIGVycm9u6WUuXG4iCisrI34gIkFUVEVOVElPTiA6IFZvaXIgbGVzIG9wdGlvbnMgLS1oZWxwLCAtLWRlYnVnIGV0IC0tZHJpdmViYXNlLlxuIgorKyN+ICJBVFRFTlRJT04gOiBFdCBuJ291YmxpZXogcGFzIGQnYWpvdXRlciB2b3RyZSBsZWN0ZXVyIGF1IGZpY2hpZXIgaGRkdGVtcC4iCisrI34gImRiXG4iCisrCisrI34gbXNnaWQgImZpZWxkKCVkKVx0ID0gJWRcbiIKKysjfiBtc2dzdHIgImNoYW1wKCVkKVx0ID0gJWRcbiIKKy0tLSBoZGR0ZW1wLTAuMy1iZXRhMTUub3JpZy9wby9ydS5wbworKysrIGhkZHRlbXAtMC4zLWJldGExNS9wby9ydS5wbworQEAgLTYsOCArNiw4IEBACisgbXNnaWQgIiIKKyBtc2dzdHIgIiIKKyAiUHJvamVjdC1JZC1WZXJzaW9uOiBoZGR0ZW1wIDAuMy1iZXRhM1xuIgorLSJSZXBvcnQtTXNnaWQtQnVncy1UbzogaGRkdGVtcEBndXp1Lm5ldFxuIgorLSJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwNS0wMi0yNSAyMjo0MyswMTAwXG4iCisrIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBcbiIKKysiUE9ULUNyZWF0aW9uLURhdGU6IDIwMDYtMDYtMjkgMTY6MjQrMDIwMFxuIgorICJQTy1SZXZpc2lvbi1EYXRlOiAyMDAzLTAzLTA4IDE2OjQyKzAzMDBcbiIKKyAiTGFzdC1UcmFuc2xhdG9yOiBNaWNoYWVsIFNoaWdvcmluIDxtaWtlQGFsdGxpbnV4LnJ1PlxuIgorICJMYW5ndWFnZS1UZWFtOiBSdXNzaWFuIDxydUBsaS5vcmc+XG4iCitAQCAtMTUsMjMgKzE1LDcgQEAKKyAiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PWtvaTgtclxuIgorICJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCisgCistIzogc3JjL2hkZHRlbXAuYzoxMTIKKy0jLCBjLWZvcm1hdAorLW1zZ2lkICIiCistIlxuIgorLSJSZWdleHAlc3wgVmFsdWUgfCBEZXNjcmlwdGlvblxuIgorLSItLS0tLS0lcy0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorLW1zZ3N0ciAiIgorLSJcbiIKKy0i8sXH3MvTJXN8IPrOwd4uIHwg79DJ08HOycUgICBcbiIKKy0iLS0tLS0tJXMtLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKy0KKy0jOiBzcmMvaGRkdGVtcC5jOjExOAorLSMsIGMtZm9ybWF0CistbXNnaWQgIiVzJXN8ICU1ZCB8ICVzXG4iCistbXNnc3RyICIiCistCistIzogc3JjL2hkZHRlbXAuYzoxNjEKKysjOiBzcmMvaGRkdGVtcC5jOjE1NgorICMsIGMtZm9ybWF0CisgbXNnaWQgIiIKKyAiXG4iCitAQCAtNDAsNyArMjQsNyBAQAorICJcbiIKKyBtc2dzdHIgIiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjE4OAorKyM6IHNyYy9oZGR0ZW1wLmM6MTg5CisgIywgYy1mb3JtYXQKKyBtc2dpZCAiIgorICJXQVJOSU5HOiBEcml2ZSAlcyBkb2Vzbid0IHNlZW0gdG8gaGF2ZSBhIHRlbXBlcmF0dXJlIHNlbnNvci5cbiIKK0BAIC01Myw3MiArMzcsNTkgQEAKKyAi9+7p7eHu6eU6IOXTzMkg19kg1M/ezs8g2s7BxdTFLCDe1M8gxMHU3snLIMXT1NgsIM7B0MnbydTFIGhkZHRlbXBAZ3V6dS5uZXRcbiIKKyAi9+7p7eHu6eU6ICjTzS4gz9DDyckgLS1oZWxwLCAtLWRlYnVnIMkgLS1kcml2ZWJhc2UpLlxuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6MTkyCisrIzogc3JjL2hkZHRlbXAuYzoxOTcKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICIlczogJXM6ICBubyBzZW5zb3JcbiIKKyBtc2dzdHIgIiVzOiAlczogIM7F1CDEwdTeycvBXG4iCisgCistIzogc3JjL2hkZHRlbXAuYzoxOTcKKy0jLCBjLWZvcm1hdAorLW1zZ2lkICIiCistIldBUk5JTkc6IERyaXZlICVzIGRvZXNuJ3QgYXBwZWFyIGluIHRoZSBkYXRhYmFzZSBvZiBzdXBwb3J0ZWQgZHJpdmVzXG4iCistIldBUk5JTkc6IEJ1dCB1c2luZyBhIGNvbW1vbiB2YWx1ZSwgaXQgcmVwb3J0cyBzb21ldGhpbmcuXG4iCistIldBUk5JTkc6IE5vdGUgdGhhdCB0aGUgdGVtcGVyYXR1cmUgc2hvd24gY291bGQgYmUgd3JvbmcuXG4iCistIldBUk5JTkc6IFNlZSAtLWhlbHAsIC0tZGVidWcgYW5kIC0tZHJpdmViYXNlIG9wdGlvbnMuXG4iCistIldBUk5JTkc6IEFuZCBkb24ndCBmb3JnZXQgeW91IGNhbiBhZGQgeW91ciBkcml2ZSB0byBoZGR0ZW1wLmRiXG4iCistbXNnc3RyICIiCistIvfu6e3h7unlOiDkydPLICVzIM7FINfLzMDexc4g1yDCwdrVIMTBzs7ZyCDQz8TExdLWydfBxc3ZyCDQ0snXz8TP1y5cbiIKKy0i9+7p7eHu6eU6IO7PINMgydPQz8zY2s/Xwc7Jxc0g0sHT0NLP09TSwc7Fzs7ZyCDQwdLBzcXU0s/XIM/OIN7Uzy3UzyDX2cTBxdQuXG4iCistIvfu6e3h7unlOiD6wc3F1NjUxSwg3tTPINDPy8Hawc7OwdEg1MXN0MXSwdTV0sEgzc/WxdQg1MHLz9fPyiDOxSDR18zR1NjT0S5cbiIKKy0i9+7p7eHu6eU6IPPNLiDP0MPJySAtLWhlbHAsIC0tZGVidWcgySAtLWRyaXZlYmFzZS5cbiIKKy0i9+7p7eHu6eU6IOkgzsUg2sHC1cTY1MUsIN7UzyDNz9bOzyDEz8LB18nU2CDQ0snXz8Qg1yBoZGR0ZW1wLmRiXG4iCistCistIzogc3JjL2hkZHRlbXAuYzoyMDIKKysjOiBzcmMvaGRkdGVtcC5jOjIxMQorICMsIGMtZm9ybWF0CisgbXNnaWQgIiVzOiAlczogICVkJXNDIG9yICVzRlxuIgorIG1zZ3N0ciAiJXM6ICVzOiAgJWQlc0MgyczJICVzRlxuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6MjE0CisrIzogc3JjL2hkZHRlbXAuYzoyMzUKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICIlczogJXM6IGRyaXZlIGlzIHNsZWVwaW5nXG4iCisgbXNnc3RyICIlczogJXM6ICDOxdQgxMHU3snLwVxuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6MjE3CistIywgYy1mb3JtYXQKKy1tc2dpZCAiJXM6ICVzOiAga25vd24gZHJpdmUsIGJ1dCBpdCBkb2Vzbid0IGhhdmUgYSB0ZW1wZXJhdHVyZSBzZW5zb3IuXG4iCisrIzogc3JjL2hkZHRlbXAuYzoyNDIKKysjLCBmdXp6eSwgYy1mb3JtYXQKKyttc2dpZCAiJXM6ICVzOiAgZHJpdmUgc3VwcG9ydGVkLCBidXQgaXQgZG9lc24ndCBoYXZlIGEgdGVtcGVyYXR1cmUgc2Vuc29yLlxuIgorIG1zZ3N0ciAiJXM6ICVzOiAgydrXxdPUztnKIMTJ08ssIM7FINPPxMXS1sHdycogxMHU3snLwSDUxc3QxdLB1NXS2S5cbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjIyMAorKyM6IHNyYy9oZGR0ZW1wLmM6MjQ2CisgIywgYy1mb3JtYXQKKyBtc2dpZCAiRVJST1I6ICVzOiAlczogdW5rbm93biByZXR1cm5lZCBzdGF0dXNcbiIKKyBtc2dzdHIgIu/76eLr4TogJXM6ICVzOiDOxcna18XT1M7ZyiDT1MHU1dMg18/a19LB1MFcbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjIzNQorKyM6IHNyYy9oZGR0ZW1wLmM6MjYxCisgIywgYy1mb3JtYXQKKyBtc2dpZCAiIgorICJcbiIKKyAiSWYgb25lIG9mIHRoZSBmaWVsZCB2YWx1ZSBzZWVtcyB0byBtYXRjaCB0aGUgdGVtcGVyYXR1cmUsIGJlIHN1cmUgdG8gcmVhZFxuIgorLSJ0aGUgaGRkdGVtcCBtYW4gcGFnZSBiZWZvcmUgc2VuZGluZyBtZSBhIHJlcG9ydCAoc2VjdGlvbiBSRVBPUlQpLiBUaGFua3MuXG4iCisrInRoZSBoZGR0ZW1wIG1hbiBwYWdlIGJlZm9yZSBzZW5kaW5nIGEgcmVwb3J0IChzZWN0aW9uIFJFUE9SVCkuIFRoYW5rcy5cbiIKKyBtc2dzdHIgIiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjMwOAorKyM6IHNyYy9oZGR0ZW1wLmM6MzM4CisgIywgYy1mb3JtYXQKKyBtc2dpZCAiRVJST1I6IGludmFsaWQgc2VwYXJhdG9yLlxuIgorIG1zZ3N0ciAi7/vp4uvhOiDOxdfF0s7ZyiDSwdrExczJ1MXM2C5cbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjMxOQorKyM6IHNyYy9oZGR0ZW1wLmM6MzQ5CisgIywgYy1mb3JtYXQKKyBtc2dpZCAiRVJST1I6IGludmFsaWQgcG9ydCBudW1iZXIuXG4iCisgbXNnc3RyICLv/eni6+E6IM7F18XSztnKIM7PzcXSINDP0tTBLlxuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6MzI5CisrIzogc3JjL2hkZHRlbXAuYzozNzEKKyAjLCBmdXp6eSwgYy1mb3JtYXQKKyBtc2dpZCAiIgorLSIgVXNhZ2U6IGhkZHRlbXAgW09QVElPTlNdIERJU0sxIFtESVNLMl0uLi5cbiIKKysiIFVzYWdlOiBoZGR0ZW1wIFtPUFRJT05TXSBbVFlQRTpdRElTSzEgW1tUWVBFOl1ESVNLMl0uLi5cbiIKKyAiXG4iCisgIiAgIGhkZHRlbXAgZGlzcGxheXMgdGhlIHRlbXBlcmF0dXJlIG9mIGRyaXZlcyBzdXBwbGllZCBpbiBhcmd1bWVudC5cbiIKKyAiICAgRHJpdmVzIG11c3Qgc3VwcG9ydCBTLk0uQS5SLlQuXG4iCisgIlxuIgorKyIgIFRZUEUgY291bGQgYmUgU0FUQSwgUEFUQSBvciBTQ1NJLiBJZiBvbWl0dGVkIGhkZHRlbXAgd2lsbCB0cnkgdG8gZ3Vlc3MuXG4iCisrIlxuIgorICIgIC1iICAgLS1kcml2ZWJhc2UgICA6ICBkaXNwbGF5IGRhdGFiYXNlIGZpbGUgY29udGVudCB0aGF0IGFsbG93IGhkZHRlbXAgdG9cbiIKKyAiICAgICAgICAgICAgICAgICAgICAgICAgcmVjb2duaXplIHN1cHBvcnRlZCBkcml2ZXMuXG4iCisgIiAgLUQgICAtLWRlYnVnICAgICAgIDogIGRpc3BsYXkgdmFyaW91cyBTLk0uQS5SLlQuIGZpZWxkcyBhbmQgdGhlaXIgdmFsdWVzLlxuIgorQEAgLTEyOCw2ICs5OSw3IEBACisgIiAgLWQgICAtLWRhZW1vbiAgICAgIDogIHJ1biBoZGR0ZW1wIGluIFRDUC9JUCBkYWVtb24gbW9kZSAocG9ydCAlZCBieSAiCisgImRlZmF1bHQuKVxuIgorICIgIC1mICAgLS1maWxlPUZJTEUgICA6ICBzcGVjaWZ5IGRhdGFiYXNlIGZpbGUgdG8gdXNlLlxuIgorKyIgIC1GICAgLS1mb3JlZ3JvdW5kICA6ICBkb24ndCBkYWVtb25pemUsIHN0YXkgaW4gZm9yZWdyb3VuZC5cbiIKKyAiICAtbCAgIC0tbGlzdGVuPWFkZHIgOiAgbGlzdGVuIG9uIGEgc3BlY2lmaWMgaW50ZXJmYWNlIChpbiBUQ1AvSVAgZGFlbW9uICIKKyAibW9kZSkuXG4iCisgIiAgLW4gICAtLW51bWVyaWMgICAgIDogIHByaW50IG9ubHkgdGhlIHRlbXBlcmF0dXJlLlxuIgorQEAgLTEzNSw2ICsxMDcsOCBAQAorICIgIC1zICAgLS1zZXBhcmF0b3I9QyA6ICBzZXBhcmF0b3IgdG8gdXNlIGJldHdlZW4gZmllbGRzIChpbiBUQ1AvSVAgZGFlbW9uICIKKyAibW9kZSkuXG4iCisgIiAgLVMgICAtLXN5c2xvZz1zICAgIDogIGxvZyB0ZW1wZXJhdHVyZSB0byBzeXNsb2cgZXZlcnkgcyBzZWNvbmRzLlxuIgorKyIgIC11ICAgLS11bml0PVtDfEZdICA6ICBmb3JjZSBvdXRwdXQgdGVtcGVyYXR1cmUgZWl0aGVyIGluIENlbHNpdXMgb3IgIgorKyJGYWhyZW5oZWl0LlxuIgorICIgIC1xICAgLS1xdWlldCAgICAgICA6ICBkbyBub3QgY2hlY2sgaWYgdGhlIGRyaXZlIGlzIHN1cHBvcnRlZC5cbiIKKyAiICAtdiAgIC0tdmVyc2lvbiAgICAgOiAgZGlzcGxheSBoZGR0ZW1wIHZlcnNpb24gbnVtYmVyLlxuIgorICIgIC13ICAgLS13YWtlLXVwICAgICA6ICB3YWtlLXVwIHRoZSBkcml2ZSBpZiBuZWVkLlxuIgorQEAgLTE2OCw1OSArMTQyLDkwIEBACisgIlxuIgorICLzz8/C3cXOydEgz8Igz9vJwsvByCDJIMTBzs7ZxSDEzNEgxMnTy8/XIM/U0NLB18zRytTFIM7BIDxoZGR0ZW1wQGd1enUubmV0Pi5cbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjUyMgorKyM6IHNyYy9oZGR0ZW1wLmM6NDAyCisgIywgYy1mb3JtYXQKKyBtc2dpZCAiaGRkdGVtcCB2ZXJzaW9uICVzXG4iCisgbXNnc3RyICL3xdLTydEgaGRkdGVtcDogJXNcbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjU0NworKyM6IHNyYy9oZGR0ZW1wLmM6NDE4CisgIywgZnV6enksIGMtZm9ybWF0CisgbXNnaWQgIkVSUk9SOiBpbnZhbGlkIGludGVydmFsLlxuIgorIG1zZ3N0ciAi7/vp4uvhOiDOxdfF0s7ZyiDSwdrExczJ1MXM2C5cbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjU0NworKyM6IHNyYy9oZGR0ZW1wLmM6NDM4CisrIywgYy1mb3JtYXQKKyBtc2dpZCAiVG9vIGZldyBhcmd1bWVudHM6IHlvdSBtdXN0IHNwZWNpZnkgb25lIGRyaXZlLCBhdCBsZWFzdC5cbiIKKyBtc2dzdHIgIiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjU1NworLSMsIGZ1enp5CisrIzogc3JjL2hkZHRlbXAuYzo0NDgKKysjLCBmdXp6eSwgYy1mb3JtYXQKKyBtc2dpZCAiRVJST1I6IGNhbid0IHVzZSAtLWRlYnVnIGFuZCAtLWRhZW1vbiBvciAtLXN5c2xvZyBvcHRpb25zIHRvZ2V0aGVyLlxuIgorIG1zZ3N0ciAi7/vp4uvhOiDPxM7P19LFzcXOzs/FIMnT0M/M2NrP18HOycUgLS1kZWJ1ZyDJIC0tZGFlbW9uIM7FxM/Q1dPUyc3PLlxuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6NTgzCisrIzogc3JjL2hkZHRlbXAuYzo1MDUKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICJFUlJPUjogJXM6IGNhbid0IGRldGVybWluZSBidXMgdHlwZSAob3IgdGhpcyBidXMgdHlwZSBpcyB1bmtub3duKVxuIgorIG1zZ3N0ciAi7/vp4uvhOiAlczogzsXXz9rNz9bOzyDP0NLFxMXMydTYINTJ0CDbyc7ZXG4iCisgCistIzogc3JjL2F0YS5jOjY2IHNyYy9zY3NpLmM6NjgKKysjOiBzcmMvYXRhLmM6NjYgc3JjL3Njc2kuYzo2NAorIG1zZ2lkICJ1bmtub3duIgorIG1zZ3N0ciAizsXJ2tcuIgorIAorLSM6IHNyYy9hdGEuYzo5OAorKyM6IHNyYy9hdGEuYzo4NSBzcmMvYXRhLmM6MTA0IHNyYy9zY3NpLmM6OTEKKyAjLCBjLWZvcm1hdAorLW1zZ2lkICJmaWVsZCglZClcdCA9ICVkXG4iCistbXNnc3RyICLQz8zFKCVkKVx0ID0gJWRcbiIKKy0KKy0jOiBzcmMvYXRhLmM6MTY3CisgbXNnaWQgIlMuTS5BLlIuVC4gbm90IGF2YWlsYWJsZSIKKyBtc2dzdHIgIlMuTS5BLlIuVC4gzsXEz9PU1dDFziIKKyAKKy0jOiBzcmMvZGIuYzoxODAKKysjOiBzcmMvZGIuYzoxMTUKKysjLCBjLWZvcm1hdAorK21zZ2lkICIiCisrIlxuIgorKyJSZWdleHAlc3wgVmFsdWUgfCBEZXNjcmlwdGlvblxuIgorKyItLS0tLS0lcy0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorK21zZ3N0ciAiIgorKyJcbiIKKysi8sXH3MvTJXN8IPrOwd4uIHwg79DJ08HOycUgICBcbiIKKysiLS0tLS0tJXMtLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKysKKysjOiBzcmMvZGIuYzoxMjEKKysjLCBjLWZvcm1hdAorK21zZ2lkICIlcyVzfCAlNWQgfCAlc1xuIgorK21zZ3N0ciAiIgorKworKyM6IHNyYy9kYi5jOjIzNgorICMsIGMtZm9ybWF0CisgbXNnaWQgImhkZHRlbXA6IGNhbid0IG9wZW4gJTEkczogJTIkc1xuIgorIG1zZ3N0ciAiaGRkdGVtcDogzsUgzc/H1SDP1MvS2dTYICUxJHM6ICUyJHNcbiIKKyAKKy0jOiBzcmMvZGIuYzoxOTQKKysjOiBzcmMvZGIuYzoyNTAKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICJFUlJPUjogc3ludGF4IGVycm9yIGF0IGxpbmUgJTEkZCBpbiAlMiRzXG4iCisgbXNnc3RyICLzyc7UwcvTyd7F08vB0SDv++ni6+Eg1yDT1NLPy8UgJTEkZCDGwcrMwSAlMiRzXG4iCisgCistIzogc3JjL2RiLmM6MjAxCisrIzogc3JjL2RiLmM6MjU3CisgIywgYy1mb3JtYXQKKyBtc2dpZCAiICBFUlJPUjogbGluZSBleGNlZWQgJTEkZCBjaGFyYWN0ZXJzIGluICUyJHMuXG4iCisgbXNnc3RyICLv++ni6+E6INPU0s/LwSDEzMnOzsXFICUxJGQg08nN18/Mz9cg1yAlMiRzLlxuIgorIAorLSM6IHNyYy9zY3NpLmM6MTEyIHNyYy9zY3NpLmM6MTMwCisrIzogc3JjL3Njc2kuYzoxMTEgc3JjL3Njc2kuYzoxMjkKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICJsb2cgc2Vuc2UgZmFpbGVkIDogJXMiCisgbXNnc3RyICIiCisrCisrI34gbXNnaWQgIiIKKysjfiAiV0FSTklORzogRHJpdmUgJXMgZG9lc24ndCBhcHBlYXIgaW4gdGhlIGRhdGFiYXNlIG9mIHN1cHBvcnRlZCBkcml2ZXNcbiIKKysjfiAiV0FSTklORzogQnV0IHVzaW5nIGEgY29tbW9uIHZhbHVlLCBpdCByZXBvcnRzIHNvbWV0aGluZy5cbiIKKysjfiAiV0FSTklORzogTm90ZSB0aGF0IHRoZSB0ZW1wZXJhdHVyZSBzaG93biBjb3VsZCBiZSB3cm9uZy5cbiIKKysjfiAiV0FSTklORzogU2VlIC0taGVscCwgLS1kZWJ1ZyBhbmQgLS1kcml2ZWJhc2Ugb3B0aW9ucy5cbiIKKysjfiAiV0FSTklORzogQW5kIGRvbid0IGZvcmdldCB5b3UgY2FuIGFkZCB5b3VyIGRyaXZlIHRvIGhkZHRlbXAuZGJcbiIKKysjfiBtc2dzdHIgIiIKKysjfiAi9+7p7eHu6eU6IOTJ08sgJXMgzsUg18vMwN7FziDXIMLB2tUgxMHOztnIINDPxMTF0tbJ18HFzdnIINDSydfPxM/XLlxuIgorKyN+ICL37unt4e7p5Tog7s8g0yDJ09DPzNjaz9fBzsnFzSDSwdPQ0s/T1NLBzsXOztnIINDB0sHNxdTSz9cgz84g3tTPLdTPICIKKysjfiAi19nEwcXULlxuIgorKyN+ICL37unt4e7p5Tog+sHNxdTY1MUsIN7UzyDQz8vB2sHOzsHRINTFzdDF0sHU1dLBIM3P1sXUINTBy8/Xz8ogzsUgIgorKyN+ICLR18zR1NjT0S5cbiIKKysjfiAi9+7p7eHu6eU6IPPNLiDP0MPJySAtLWhlbHAsIC0tZGVidWcgySAtLWRyaXZlYmFzZS5cbiIKKysjfiAi9+7p7eHu6eU6IOkgzsUg2sHC1cTY1MUsIN7UzyDNz9bOzyDEz8LB18nU2CDQ0snXz8Qg1yBoZGR0ZW1wLmRiXG4iCisrCisrI34gbXNnaWQgImZpZWxkKCVkKVx0ID0gJWRcbiIKKysjfiBtc2dzdHIgItDPzMUoJWQpXHQgPSAlZFxuIgorLS0tIGhkZHRlbXAtMC4zLWJldGExNS5vcmlnL3BvL3N2LnBvCisrKysgaGRkdGVtcC0wLjMtYmV0YTE1L3BvL3N2LnBvCitAQCAtNiw4ICs2LDggQEAKKyBtc2dpZCAiIgorIG1zZ3N0ciAiIgorICJQcm9qZWN0LUlkLVZlcnNpb246IGhkZHRlbXAgMC4zLWJldGExNC00XG4iCistIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBoZGR0ZW1wQGd1enUubmV0XG4iCistIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA1LTAyLTI1IDIyOjQzKzAxMDBcbiIKKysiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IFxuIgorKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwNi0wNi0yOSAxNjoyNCswMjAwXG4iCisgIlBPLVJldmlzaW9uLURhdGU6IDIwMDUtMTEtMDIgMTk6MDMrMDEwMFxuIgorICJMYXN0LVRyYW5zbGF0b3I6IERhbmllbCBOeWxhbmRlciA8cG9AZGFuaWVsbnlsYW5kZXIuc2U+XG4iCisgIkxhbmd1YWdlLVRlYW06IFN3ZWRpc2ggPHN2QGxpLm9yZz5cbiIKK0BAIC0xNywyMyArMTcsNyBAQAorICJYLVBvZWRpdC1MYW5ndWFnZTogc3dlXG4iCisgIlgtUG9lZGl0LUNvdW50cnk6IHN3ZVxuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6MTEyCistIywgYy1mb3JtYXQKKy1tc2dpZCAiIgorLSJcbiIKKy0iUmVnZXhwJXN8IFZhbHVlIHwgRGVzY3JpcHRpb25cbiIKKy0iLS0tLS0tJXMtLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKy1tc2dzdHIgIiIKKy0iXG4iCistIlJlZ2V4cCVzfCBW5HJkZSB8IEJlc2tyaXZuaW5nXG4iCistIi0tLS0tLSVzLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCistCistIzogc3JjL2hkZHRlbXAuYzoxMTgKKy0jLCBjLWZvcm1hdAorLW1zZ2lkICIlcyVzfCAlNWQgfCAlc1xuIgorLW1zZ3N0ciAiJXMlc3wgJTVkIHwgJXNcbiIKKy0KKy0jOiBzcmMvaGRkdGVtcC5jOjE2MQorKyM6IHNyYy9oZGR0ZW1wLmM6MTU2CisgIywgYy1mb3JtYXQKKyBtc2dpZCAiIgorICJcbiIKK0BAIC00Niw3ICszMCw3IEBACisgIk1vZGVsbDogJXNcbiIKKyAiXG4iCisgCistIzogc3JjL2hkZHRlbXAuYzoxODgKKysjOiBzcmMvaGRkdGVtcC5jOjE4OQorICMsIGMtZm9ybWF0CisgbXNnaWQgIiIKKyAiV0FSTklORzogRHJpdmUgJXMgZG9lc24ndCBzZWVtIHRvIGhhdmUgYSB0ZW1wZXJhdHVyZSBzZW5zb3IuXG4iCitAQCAtNjAsNzYgKzQ0LDYzIEBACisgIm5ldCkuXG4iCisgIlZBUk5JTkc6IFNlIC0taGVscCwgLS1kZWJ1ZyBvY2ggLS1kcml2ZWJhc2UgZmxhZ2dvcm5hLlxuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6MTkyCisrIzogc3JjL2hkZHRlbXAuYzoxOTcKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICIlczogJXM6ICBubyBzZW5zb3JcbiIKKyBtc2dzdHIgIiVzOiAlczogIGluZ2VuIHNlbnNvclxuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6MTk3CistIywgYy1mb3JtYXQKKy1tc2dpZCAiIgorLSJXQVJOSU5HOiBEcml2ZSAlcyBkb2Vzbid0IGFwcGVhciBpbiB0aGUgZGF0YWJhc2Ugb2Ygc3VwcG9ydGVkIGRyaXZlc1xuIgorLSJXQVJOSU5HOiBCdXQgdXNpbmcgYSBjb21tb24gdmFsdWUsIGl0IHJlcG9ydHMgc29tZXRoaW5nLlxuIgorLSJXQVJOSU5HOiBOb3RlIHRoYXQgdGhlIHRlbXBlcmF0dXJlIHNob3duIGNvdWxkIGJlIHdyb25nLlxuIgorLSJXQVJOSU5HOiBTZWUgLS1oZWxwLCAtLWRlYnVnIGFuZCAtLWRyaXZlYmFzZSBvcHRpb25zLlxuIgorLSJXQVJOSU5HOiBBbmQgZG9uJ3QgZm9yZ2V0IHlvdSBjYW4gYWRkIHlvdXIgZHJpdmUgdG8gaGRkdGVtcC5kYlxuIgorLW1zZ3N0ciAiIgorLSJWQVJOSU5HOiBEaXNrZW4gJXMgdmVya2FyIGludGUgZmlubmFzIGkgZGF0YWJhc2VuIPZ2ZXIgZGlza2FyIHNvbSBzdPZkc1xuIgorLSJWQVJOSU5HOiBNZW4gYW525G5kZXIgbWFuIGV0dCB2YW5saWd0IHbkcmRlIHJhcHBvcnRlcmFyIGRlbiBu5WdvdC5cbiIKKy0iVkFSTklORzogTm90ZXJhIGF0dCB0ZW1wZXJhdHVyZW4gc29tIHZpc2FzIGthbiB2YXJhIGZlbGFrdGlnLlxuIgorLSJWQVJOSU5HOiBTZSAtLWhlbHAsIC0tZGVidWcgb2NoIC0tZHJpdmViYXNlIGZsYWdnb3JuYS5cbiIKKy0iVkFSTklORzogT2NoIGds9m0gaW50ZSBhdHQgZHUga2FuIGzkZ2dhIHRpbGwgZGluIGRpc2sgdGlsbCBoZGR0ZW1wLmRiXG4iCistCistIzogc3JjL2hkZHRlbXAuYzoyMDIKKysjOiBzcmMvaGRkdGVtcC5jOjIxMQorICMsIGMtZm9ybWF0CisgbXNnaWQgIiVzOiAlczogICVkJXNDIG9yICVzRlxuIgorIG1zZ3N0ciAiJXM6ICVzOiAgJWQlc0MgZWxsZXIgJXNGXG4iCisgCistIzogc3JjL2hkZHRlbXAuYzoyMTQKKysjOiBzcmMvaGRkdGVtcC5jOjIzNQorICMsIGMtZm9ybWF0CisgbXNnaWQgIiVzOiAlczogZHJpdmUgaXMgc2xlZXBpbmdcbiIKKyBtc2dzdHIgIiVzOiAlczogZGlza2VuIHNvdmVyXG4iCisgCistIzogc3JjL2hkZHRlbXAuYzoyMTcKKy0jLCBjLWZvcm1hdAorLW1zZ2lkICIlczogJXM6ICBrbm93biBkcml2ZSwgYnV0IGl0IGRvZXNuJ3QgaGF2ZSBhIHRlbXBlcmF0dXJlIHNlbnNvci5cbiIKKysjOiBzcmMvaGRkdGVtcC5jOjI0MgorKyMsIGZ1enp5LCBjLWZvcm1hdAorK21zZ2lkICIlczogJXM6ICBkcml2ZSBzdXBwb3J0ZWQsIGJ1dCBpdCBkb2Vzbid0IGhhdmUgYSB0ZW1wZXJhdHVyZSBzZW5zb3IuXG4iCisgbXNnc3RyICIlczogJXM6ICBr5G5kIGRpc2sgbWVuIGRlbiBoYXIgaW5nZW4gdGVtcGVyYXR1cnNlbnNvci5cbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjIyMAorKyM6IHNyYy9oZGR0ZW1wLmM6MjQ2CisgIywgYy1mb3JtYXQKKyBtc2dpZCAiRVJST1I6ICVzOiAlczogdW5rbm93biByZXR1cm5lZCBzdGF0dXNcbiIKKyBtc2dzdHIgIkZFTDogJXM6ICVzOiBva+RuZCByZXR1cm5lcmFkIHN0YXR1c1xuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6MjM1CistIywgYy1mb3JtYXQKKysjOiBzcmMvaGRkdGVtcC5jOjI2MQorKyMsIGZ1enp5LCBjLWZvcm1hdAorIG1zZ2lkICIiCisgIlxuIgorICJJZiBvbmUgb2YgdGhlIGZpZWxkIHZhbHVlIHNlZW1zIHRvIG1hdGNoIHRoZSB0ZW1wZXJhdHVyZSwgYmUgc3VyZSB0byByZWFkXG4iCistInRoZSBoZGR0ZW1wIG1hbiBwYWdlIGJlZm9yZSBzZW5kaW5nIG1lIGEgcmVwb3J0IChzZWN0aW9uIFJFUE9SVCkuIFRoYW5rcy5cbiIKKysidGhlIGhkZHRlbXAgbWFuIHBhZ2UgYmVmb3JlIHNlbmRpbmcgYSByZXBvcnQgKHNlY3Rpb24gUkVQT1JUKS4gVGhhbmtzLlxuIgorIG1zZ3N0ciAiIgorICJcbiIKKyAiT20gZXR0IGF2IGbkbHR25HJkZW5hIHZlcmthciBtYXRjaGEgdGVtcGVyYXR1cmVuLCB2YXIgc+RrZXIgcOUgYXR0IGR1XG4iCisgImzkc3QgbWFudWFsc2lkYW4gZvZyIGhkZHRlbXAgZvZyZSBkdSBza2lja2FyIGVuIHJhcHBvcnQgdGlsbCBtaWcgKHNla3Rpb25lblxuIgorICJSRVBPUlQpLiBUYWNrLlxuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6MzA4CisrIzogc3JjL2hkZHRlbXAuYzozMzgKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICJFUlJPUjogaW52YWxpZCBzZXBhcmF0b3IuXG4iCisgbXNnc3RyICJGRUw6IG9naWx0aWcgc2VwYXJhdG9yLlxuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6MzE5CisrIzogc3JjL2hkZHRlbXAuYzozNDkKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICJFUlJPUjogaW52YWxpZCBwb3J0IG51bWJlci5cbiIKKyBtc2dzdHIgIkZFTDogb2dpbHRpZ3QgcG9ydG51bW1lci5cbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjMyOQorLSMsIGMtZm9ybWF0CisrIzogc3JjL2hkZHRlbXAuYzozNzEKKysjLCBmdXp6eSwgYy1mb3JtYXQKKyBtc2dpZCAiIgorLSIgVXNhZ2U6IGhkZHRlbXAgW09QVElPTlNdIERJU0sxIFtESVNLMl0uLi5cbiIKKysiIFVzYWdlOiBoZGR0ZW1wIFtPUFRJT05TXSBbVFlQRTpdRElTSzEgW1tUWVBFOl1ESVNLMl0uLi5cbiIKKyAiXG4iCisgIiAgIGhkZHRlbXAgZGlzcGxheXMgdGhlIHRlbXBlcmF0dXJlIG9mIGRyaXZlcyBzdXBwbGllZCBpbiBhcmd1bWVudC5cbiIKKyAiICAgRHJpdmVzIG11c3Qgc3VwcG9ydCBTLk0uQS5SLlQuXG4iCisgIlxuIgorKyIgIFRZUEUgY291bGQgYmUgU0FUQSwgUEFUQSBvciBTQ1NJLiBJZiBvbWl0dGVkIGhkZHRlbXAgd2lsbCB0cnkgdG8gZ3Vlc3MuXG4iCisrIlxuIgorICIgIC1iICAgLS1kcml2ZWJhc2UgICA6ICBkaXNwbGF5IGRhdGFiYXNlIGZpbGUgY29udGVudCB0aGF0IGFsbG93IGhkZHRlbXAgdG9cbiIKKyAiICAgICAgICAgICAgICAgICAgICAgICAgcmVjb2duaXplIHN1cHBvcnRlZCBkcml2ZXMuXG4iCisgIiAgLUQgICAtLWRlYnVnICAgICAgIDogIGRpc3BsYXkgdmFyaW91cyBTLk0uQS5SLlQuIGZpZWxkcyBhbmQgdGhlaXIgdmFsdWVzLlxuIgorQEAgLTEzOSw2ICsxMTAsNyBAQAorICIgIC1kICAgLS1kYWVtb24gICAgICA6ICBydW4gaGRkdGVtcCBpbiBUQ1AvSVAgZGFlbW9uIG1vZGUgKHBvcnQgJWQgYnkgIgorICJkZWZhdWx0LilcbiIKKyAiICAtZiAgIC0tZmlsZT1GSUxFICAgOiAgc3BlY2lmeSBkYXRhYmFzZSBmaWxlIHRvIHVzZS5cbiIKKysiICAtRiAgIC0tZm9yZWdyb3VuZCAgOiAgZG9uJ3QgZGFlbW9uaXplLCBzdGF5IGluIGZvcmVncm91bmQuXG4iCisgIiAgLWwgICAtLWxpc3Rlbj1hZGRyIDogIGxpc3RlbiBvbiBhIHNwZWNpZmljIGludGVyZmFjZSAoaW4gVENQL0lQIGRhZW1vbiAiCisgIm1vZGUpLlxuIgorICIgIC1uICAgLS1udW1lcmljICAgICA6ICBwcmludCBvbmx5IHRoZSB0ZW1wZXJhdHVyZS5cbiIKK0BAIC0xNDYsNiArMTE4LDggQEAKKyAiICAtcyAgIC0tc2VwYXJhdG9yPUMgOiAgc2VwYXJhdG9yIHRvIHVzZSBiZXR3ZWVuIGZpZWxkcyAoaW4gVENQL0lQIGRhZW1vbiAiCisgIm1vZGUpLlxuIgorICIgIC1TICAgLS1zeXNsb2c9cyAgICA6ICBsb2cgdGVtcGVyYXR1cmUgdG8gc3lzbG9nIGV2ZXJ5IHMgc2Vjb25kcy5cbiIKKysiICAtdSAgIC0tdW5pdD1bQ3xGXSAgOiAgZm9yY2Ugb3V0cHV0IHRlbXBlcmF0dXJlIGVpdGhlciBpbiBDZWxzaXVzIG9yICIKKysiRmFocmVuaGVpdC5cbiIKKyAiICAtcSAgIC0tcXVpZXQgICAgICAgOiAgZG8gbm90IGNoZWNrIGlmIHRoZSBkcml2ZSBpcyBzdXBwb3J0ZWQuXG4iCisgIiAgLXYgICAtLXZlcnNpb24gICAgIDogIGRpc3BsYXkgaGRkdGVtcCB2ZXJzaW9uIG51bWJlci5cbiIKKyAiICAtdyAgIC0td2FrZS11cCAgICAgOiAgd2FrZS11cCB0aGUgZHJpdmUgaWYgbmVlZC5cbiIKK0BAIC0xODQsNjEgKzE1OCw5MSBAQAorICJcbiIKKyAiUmFwcG9ydGVyYSBidWdnYXIgZWxsZXIgbnlhIGjlcmRkaXNrYXIgdGlsbCA8aGRkdGVtcEBndXp1Lm5ldD4uXG4iCisgCistIzogc3JjL2hkZHRlbXAuYzo1MjIKKysjOiBzcmMvaGRkdGVtcC5jOjQwMgorICMsIGMtZm9ybWF0CisgbXNnaWQgImhkZHRlbXAgdmVyc2lvbiAlc1xuIgorIG1zZ3N0ciAiaGRkdGVtcCB2ZXJzaW9uICVzXG4iCisgCistIzogc3JjL2hkZHRlbXAuYzo1NDcKKysjOiBzcmMvaGRkdGVtcC5jOjQxOAorICMsIGMtZm9ybWF0CisgbXNnaWQgIkVSUk9SOiBpbnZhbGlkIGludGVydmFsLlxuIgorIG1zZ3N0ciAiRkVMOiBvZ2lsdGlndCBpbnRlcnZhbGwuXG4iCisgCistIzogc3JjL2hkZHRlbXAuYzo1NDcKKysjOiBzcmMvaGRkdGVtcC5jOjQzOAorKyMsIGMtZm9ybWF0CisgbXNnaWQgIlRvbyBmZXcgYXJndW1lbnRzOiB5b3UgbXVzdCBzcGVjaWZ5IG9uZSBkcml2ZSwgYXQgbGVhc3QuXG4iCisgbXNnc3RyICJG9nIgZuUgYXJndW1lbnQ6IGR1IG3lc3RlIHNwZWNpZmljZXJhIOV0bWluc3RvbmUgZW4gZGlzay5cbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjU1NworKyM6IHNyYy9oZGR0ZW1wLmM6NDQ4CisrIywgYy1mb3JtYXQKKyBtc2dpZCAiRVJST1I6IGNhbid0IHVzZSAtLWRlYnVnIGFuZCAtLWRhZW1vbiBvciAtLXN5c2xvZyBvcHRpb25zIHRvZ2V0aGVyLlxuIgorIG1zZ3N0ciAiIgorICJGRUw6IGthbiBpbnRlIGFuduRuZGEgLS1kZWJ1ZyBvY2ggLS1kYWVtb24gZWxsZXIgLS1zeXNsb2cgZmxhZ2dvcm5hICIKKyAidGlsbHNhbW1hbnMuXG4iCisgCistIzogc3JjL2hkZHRlbXAuYzo1ODMKKysjOiBzcmMvaGRkdGVtcC5jOjUwNQorICMsIGMtZm9ybWF0CisgbXNnaWQgIkVSUk9SOiAlczogY2FuJ3QgZGV0ZXJtaW5lIGJ1cyB0eXBlIChvciB0aGlzIGJ1cyB0eXBlIGlzIHVua25vd24pXG4iCisgbXNnc3RyICIiCisgIkZFTDogJXM6IGthbiBpbnRlIGZhc3RzdORsbGEgYnVzc3R5cCAoZWxsZXIgc+Ug5HIgZGVubmEgYnVzc3R5cCBva+RuZClcbiIKKyAKKy0jOiBzcmMvYXRhLmM6NjYgc3JjL3Njc2kuYzo2OAorKyM6IHNyYy9hdGEuYzo2NiBzcmMvc2NzaS5jOjY0CisgbXNnaWQgInVua25vd24iCisgbXNnc3RyICJva+RuZCIKKyAKKy0jOiBzcmMvYXRhLmM6OTgKKysjOiBzcmMvYXRhLmM6ODUgc3JjL2F0YS5jOjEwNCBzcmMvc2NzaS5jOjkxCisgIywgYy1mb3JtYXQKKy1tc2dpZCAiZmllbGQoJWQpXHQgPSAlZFxuIgorLW1zZ3N0ciAiZuRsdCglZClcdCA9ICVkXG4iCistCistIzogc3JjL2F0YS5jOjE2NworIG1zZ2lkICJTLk0uQS5SLlQuIG5vdCBhdmFpbGFibGUiCisgbXNnc3RyICJTLk0uQS5SLlQuIORyIGludGUgdGlsbGfkbmdsaWciCisgCistIzogc3JjL2RiLmM6MTgwCisrIzogc3JjL2RiLmM6MTE1CisrIywgYy1mb3JtYXQKKyttc2dpZCAiIgorKyJcbiIKKysiUmVnZXhwJXN8IFZhbHVlIHwgRGVzY3JpcHRpb25cbiIKKysiLS0tLS0tJXMtLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyttc2dzdHIgIiIKKysiXG4iCisrIlJlZ2V4cCVzfCBW5HJkZSB8IEJlc2tyaXZuaW5nXG4iCisrIi0tLS0tLSVzLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisrCisrIzogc3JjL2RiLmM6MTIxCisrIywgYy1mb3JtYXQKKyttc2dpZCAiJXMlc3wgJTVkIHwgJXNcbiIKKyttc2dzdHIgIiVzJXN8ICU1ZCB8ICVzXG4iCisrCisrIzogc3JjL2RiLmM6MjM2CisgIywgYy1mb3JtYXQKKyBtc2dpZCAiaGRkdGVtcDogY2FuJ3Qgb3BlbiAlMSRzOiAlMiRzXG4iCisgbXNnc3RyICJoZGR0ZW1wOiBrYW4gaW50ZSD2cHBuYSAlMSRzOiAlMiRzXG4iCisgCistIzogc3JjL2RiLmM6MTk0CisrIzogc3JjL2RiLmM6MjUwCisgIywgYy1mb3JtYXQKKyBtc2dpZCAiRVJST1I6IHN5bnRheCBlcnJvciBhdCBsaW5lICUxJGQgaW4gJTIkc1xuIgorIG1zZ3N0ciAiRkVMOiBzeW50YXhmZWwgcOUgcmFkICUxJGQgaSAlMiRzXG4iCisgCistIzogc3JjL2RiLmM6MjAxCisrIzogc3JjL2RiLmM6MjU3CisgIywgYy1mb3JtYXQKKyBtc2dpZCAiICBFUlJPUjogbGluZSBleGNlZWQgJTEkZCBjaGFyYWN0ZXJzIGluICUyJHMuXG4iCisgbXNnc3RyICIgRkVMOiByYWRlbiD2dmVyc3RpZ2VyICUxJGQgdGVja2VuIGkgJTIkcy5cbiIKKyAKKy0jOiBzcmMvc2NzaS5jOjExMiBzcmMvc2NzaS5jOjEzMAorKyM6IHNyYy9zY3NpLmM6MTExIHNyYy9zY3NpLmM6MTI5CisgIywgYy1mb3JtYXQKKyBtc2dpZCAibG9nIHNlbnNlIGZhaWxlZCA6ICVzIgorIG1zZ3N0ciAiaWdlbmvkbm5pbmcgYXYgbG9nZyBtaXNzbHlja2FkZXMgOiAlcyIKKysKKysjfiBtc2dpZCAiIgorKyN+ICJXQVJOSU5HOiBEcml2ZSAlcyBkb2Vzbid0IGFwcGVhciBpbiB0aGUgZGF0YWJhc2Ugb2Ygc3VwcG9ydGVkIGRyaXZlc1xuIgorKyN+ICJXQVJOSU5HOiBCdXQgdXNpbmcgYSBjb21tb24gdmFsdWUsIGl0IHJlcG9ydHMgc29tZXRoaW5nLlxuIgorKyN+ICJXQVJOSU5HOiBOb3RlIHRoYXQgdGhlIHRlbXBlcmF0dXJlIHNob3duIGNvdWxkIGJlIHdyb25nLlxuIgorKyN+ICJXQVJOSU5HOiBTZWUgLS1oZWxwLCAtLWRlYnVnIGFuZCAtLWRyaXZlYmFzZSBvcHRpb25zLlxuIgorKyN+ICJXQVJOSU5HOiBBbmQgZG9uJ3QgZm9yZ2V0IHlvdSBjYW4gYWRkIHlvdXIgZHJpdmUgdG8gaGRkdGVtcC5kYlxuIgorKyN+IG1zZ3N0ciAiIgorKyN+ICJWQVJOSU5HOiBEaXNrZW4gJXMgdmVya2FyIGludGUgZmlubmFzIGkgZGF0YWJhc2VuIPZ2ZXIgZGlza2FyIHNvbSBzdPZkc1xuIgorKyN+ICJWQVJOSU5HOiBNZW4gYW525G5kZXIgbWFuIGV0dCB2YW5saWd0IHbkcmRlIHJhcHBvcnRlcmFyIGRlbiBu5WdvdC5cbiIKKysjfiAiVkFSTklORzogTm90ZXJhIGF0dCB0ZW1wZXJhdHVyZW4gc29tIHZpc2FzIGthbiB2YXJhIGZlbGFrdGlnLlxuIgorKyN+ICJWQVJOSU5HOiBTZSAtLWhlbHAsIC0tZGVidWcgb2NoIC0tZHJpdmViYXNlIGZsYWdnb3JuYS5cbiIKKysjfiAiVkFSTklORzogT2NoIGds9m0gaW50ZSBhdHQgZHUga2FuIGzkZ2dhIHRpbGwgZGluIGRpc2sgdGlsbCBoZGR0ZW1wLmRiXG4iCisrCisrI34gbXNnaWQgImZpZWxkKCVkKVx0ID0gJWRcbiIKKysjfiBtc2dzdHIgImbkbHQoJWQpXHQgPSAlZFxuIgorLS0tIGhkZHRlbXAtMC4zLWJldGExNS5vcmlnL3BvL3B0LnBvCisrKysgaGRkdGVtcC0wLjMtYmV0YTE1L3BvL3B0LnBvCitAQCAtNyw3ICs3LDcgQEAKKyBtc2dzdHIgIiIKKyAiUHJvamVjdC1JZC1WZXJzaW9uOiBoZGR0ZW1wIDAuMy1iZXRhMTRcbiIKKyAiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IFxuIgorLSJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwNS0wMi0yNSAyMjo0MyswMTAwXG4iCisrIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA2LTA2LTI5IDE2OjI0KzAyMDBcbiIKKyAiUE8tUmV2aXNpb24tRGF0ZTogMjAwNi0wMy0yOSAyMzoyMiswMDAwXG4iCisgIkxhc3QtVHJhbnNsYXRvcjogTWlndWVsIEZpZ3VlaXJlZG8gPGVsbWlnQGRlYmlhbnAub3JnPlxuIgorICJMYW5ndWFnZS1UZWFtOiBQb3J0dWd1ZXNlIDx0cmFkdXpAZGViaWFucHQub3JnPlxuIgorQEAgLTE1LDIzICsxNSw3IEBACisgIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOFxuIgorICJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCisgCistIzogc3JjL2hkZHRlbXAuYzoxMTIKKy0jLCBjLWZvcm1hdAorLW1zZ2lkICIiCistIlxuIgorLSJSZWdleHAlc3wgVmFsdWUgfCBEZXNjcmlwdGlvblxuIgorLSItLS0tLS0lcy0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorLW1zZ3N0ciAiIgorLSJcbiIKKy0iUmVnZXhwJXN8IFZhbG9yIHwgRGVzY3Jpw6fDo29cbiIKKy0iLS0tLS0tJXMtLS0tLS0tLS0tLS0tLS0tLS0tXG4iCistCistIzogc3JjL2hkZHRlbXAuYzoxMTgKKy0jLCBjLWZvcm1hdAorLW1zZ2lkICIlcyVzfCAlNWQgfCAlc1xuIgorLW1zZ3N0ciAiJXMlc3wgJTVkIHwgJXNcbiIKKy0KKy0jOiBzcmMvaGRkdGVtcC5jOjE2MQorKyM6IHNyYy9oZGR0ZW1wLmM6MTU2CisgIywgYy1mb3JtYXQKKyBtc2dpZCAiIgorICJcbiIKK0BAIC00NCw3ICsyOCw3IEBACisgIk1vZGVsbzogJXNcbiIKKyAiXG4iCisgCistIzogc3JjL2hkZHRlbXAuYzoxODgKKysjOiBzcmMvaGRkdGVtcC5jOjE4OQorICMsIGMtZm9ybWF0CisgbXNnaWQgIiIKKyAiV0FSTklORzogRHJpdmUgJXMgZG9lc24ndCBzZWVtIHRvIGhhdmUgYSB0ZW1wZXJhdHVyZSBzZW5zb3IuXG4iCitAQCAtNTQsNzkgKzM4LDY4IEBACisgbXNnc3RyICIiCisgIkFWSVNPOiBPIGRpc2NvICVzIG7Do28gcGFyZWNlIHRlciB1bSBzZW5zb3IgZGUgdGVtcGVyYXR1cmEuXG4iCisgIkFWSVNPOiBJc3RvIG7Do28gc2lnbmlmaWNhIHF1ZSBuw6NvIHRlbSBuZW5odW0uXG4iCistIkFWSVNPOiBTZSB0ZW0gYSBjZXJ0ZXphIHF1ZSB0ZW0gdW0sIHBvciBmYXZvciBjb250YWN0ZS1tZSAoaGRkdGVtcEBndXp1Lm5ldCkuXG4iCisrIkFWSVNPOiBTZSB0ZW0gYSBjZXJ0ZXphIHF1ZSB0ZW0gdW0sIHBvciBmYXZvciBjb250YWN0ZS1tZSAoaGRkdGVtcEBndXp1LiIKKysibmV0KS5cbiIKKyAiQVZJU086IFZlamEgYXMgb3DDp8O1ZXMgLS1oZWxwLCAtLWRlYnVnIGUgLS1kcml2ZWJhc2UuXG4iCisgCistIzogc3JjL2hkZHRlbXAuYzoxOTIKKysjOiBzcmMvaGRkdGVtcC5jOjE5NworICMsIGMtZm9ybWF0CisgbXNnaWQgIiVzOiAlczogIG5vIHNlbnNvclxuIgorIG1zZ3N0ciAiJXM6ICVzOiBzZW0gc2Vuc29yXG4iCisgCistIzogc3JjL2hkZHRlbXAuYzoxOTcKKy0jLCBjLWZvcm1hdAorLW1zZ2lkICIiCistIldBUk5JTkc6IERyaXZlICVzIGRvZXNuJ3QgYXBwZWFyIGluIHRoZSBkYXRhYmFzZSBvZiBzdXBwb3J0ZWQgZHJpdmVzXG4iCistIldBUk5JTkc6IEJ1dCB1c2luZyBhIGNvbW1vbiB2YWx1ZSwgaXQgcmVwb3J0cyBzb21ldGhpbmcuXG4iCistIldBUk5JTkc6IE5vdGUgdGhhdCB0aGUgdGVtcGVyYXR1cmUgc2hvd24gY291bGQgYmUgd3JvbmcuXG4iCistIldBUk5JTkc6IFNlZSAtLWhlbHAsIC0tZGVidWcgYW5kIC0tZHJpdmViYXNlIG9wdGlvbnMuXG4iCistIldBUk5JTkc6IEFuZCBkb24ndCBmb3JnZXQgeW91IGNhbiBhZGQgeW91ciBkcml2ZSB0byBoZGR0ZW1wLmRiXG4iCistbXNnc3RyICIiCistIkFWSVNPOiBPIGRpc2NvICVzIG7Do28gcGFyZWNlIGVzdGFyIG5hIGJhc2UgZGUgZGFkb3MgZGUgZGlzY29zIHN1cG9ydGFkb3NcbiIKKy0iQVZJU086IE1hcyBhbyB1dGlsaXphciB1bSB2YWxvciB1c3VhbCwgcmVsYXRhIGFsZ3VtYSBjb2lzYS5cbiIKKy0iQVZJU086IE5vdGUgcXVlIGEgdGVtcGVyYXR1cmEgbW9zdHJhZGEgcG9kZSBlc3RhciBlcnJhZGEuXG4iCistIkFWSVNPOiBWZWphIGFzIG9ww6fDtWVzIC0taGVscCwgLS1kZWJ1ZyBlIC0tZnJpdmViYXNlLlxuIgorLSJBVklTTzogRSBuw6NvIHNlIGVzcXVlw6dhIGRlIGFkaWNpb25hciBvIHNldSBkaXNjbyBhIGhkZHRlbXAuZGJcbiIKKy0KKy0jOiBzcmMvaGRkdGVtcC5jOjIwMgorKyM6IHNyYy9oZGR0ZW1wLmM6MjExCisgIywgYy1mb3JtYXQKKyBtc2dpZCAiJXM6ICVzOiAgJWQlc0Mgb3IgJXNGXG4iCisgbXNnc3RyICIlczogJXM6ICVkJXNDIG91ICVzRlxuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6MjE0CisrIzogc3JjL2hkZHRlbXAuYzoyMzUKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICIlczogJXM6IGRyaXZlIGlzIHNsZWVwaW5nXG4iCisgbXNnc3RyICIlczogJXM6IG8gZGlzY28gZXN0w6EgYWRvcm1lY2lkb1xuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6MjE3CistIywgYy1mb3JtYXQKKy1tc2dpZCAiJXM6ICVzOiAga25vd24gZHJpdmUsIGJ1dCBpdCBkb2Vzbid0IGhhdmUgYSB0ZW1wZXJhdHVyZSBzZW5zb3IuXG4iCisrIzogc3JjL2hkZHRlbXAuYzoyNDIKKysjLCBmdXp6eSwgYy1mb3JtYXQKKyttc2dpZCAiJXM6ICVzOiAgZHJpdmUgc3VwcG9ydGVkLCBidXQgaXQgZG9lc24ndCBoYXZlIGEgdGVtcGVyYXR1cmUgc2Vuc29yLlxuIgorIG1zZ3N0ciAiJXM6ICVzOiBkaXNjbyBjb25oZWNpZG8sIG1hcyBuw6NvIHRlbSB1bSBzZW5zb3IgZGUgdGVtcGVyYXR1cmEuXG4iCisgCistIzogc3JjL2hkZHRlbXAuYzoyMjAKKysjOiBzcmMvaGRkdGVtcC5jOjI0NgorICMsIGMtZm9ybWF0CisgbXNnaWQgIkVSUk9SOiAlczogJXM6IHVua25vd24gcmV0dXJuZWQgc3RhdHVzXG4iCisgbXNnc3RyICJFUlJPOiAlczogJXM6IGVzdGFkbyBkZXZvbHZpZG8gZGVzY29uaGVjaWRvXG4iCisgCistIzogc3JjL2hkZHRlbXAuYzoyMzUKKy0jLCBjLWZvcm1hdAorKyM6IHNyYy9oZGR0ZW1wLmM6MjYxCisrIywgZnV6enksIGMtZm9ybWF0CisgbXNnaWQgIiIKKyAiXG4iCisgIklmIG9uZSBvZiB0aGUgZmllbGQgdmFsdWUgc2VlbXMgdG8gbWF0Y2ggdGhlIHRlbXBlcmF0dXJlLCBiZSBzdXJlIHRvIHJlYWRcbiIKKy0idGhlIGhkZHRlbXAgbWFuIHBhZ2UgYmVmb3JlIHNlbmRpbmcgbWUgYSByZXBvcnQgKHNlY3Rpb24gUkVQT1JUKS4gVGhhbmtzLlxuIgorKyJ0aGUgaGRkdGVtcCBtYW4gcGFnZSBiZWZvcmUgc2VuZGluZyBhIHJlcG9ydCAoc2VjdGlvbiBSRVBPUlQpLiBUaGFua3MuXG4iCisgbXNnc3RyICIiCisgIlxuIgorLSJTZSB1bSBkb3MgY2FtcG9zIGRlIHZhbG9yZXMgcGFyZWNlciBjb2luY2lkaXIgY29tIGEgdGVtcGVyYXR1cmEsIGFzc2VndXJlLXNlXG4iCisrIlNlIHVtIGRvcyBjYW1wb3MgZGUgdmFsb3JlcyBwYXJlY2VyIGNvaW5jaWRpciBjb20gYSB0ZW1wZXJhdHVyYSwgYXNzZWd1cmUtIgorKyJzZVxuIgorICJxdWUgbMOqIGEgcMOhZ2luYSBkbyBtYW51YWwgaGRkdGVtcCBhbnRlcyBkZSBtZSBlbnZpYXIgdW0gcmVsYXTDs3JpbyAoc2Vjw6fDo29cbiIKKyAiUkVQT1JUKS4gT2JyaWdhZG8uXG4iCisgCistIzogc3JjL2hkZHRlbXAuYzozMDgKKysjOiBzcmMvaGRkdGVtcC5jOjMzOAorICMsIGMtZm9ybWF0CisgbXNnaWQgIkVSUk9SOiBpbnZhbGlkIHNlcGFyYXRvci5cbiIKKyBtc2dzdHIgIkVSUk86IHNlcGFyYWRvciBpbnbDoWxpZG8uXG4iCisgCistIzogc3JjL2hkZHRlbXAuYzozMTkKKysjOiBzcmMvaGRkdGVtcC5jOjM0OQorICMsIGMtZm9ybWF0CisgbXNnaWQgIkVSUk9SOiBpbnZhbGlkIHBvcnQgbnVtYmVyLlxuIgorIG1zZ3N0ciAiRVJSTzogbsO6bWVybyBkZSBwb3J0IGludsOhbGlkb1xuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6MzI5CistIywgYy1mb3JtYXQKKysjOiBzcmMvaGRkdGVtcC5jOjM3MQorKyMsIGZ1enp5LCBjLWZvcm1hdAorIG1zZ2lkICIiCistIiBVc2FnZTogaGRkdGVtcCBbT1BUSU9OU10gRElTSzEgW0RJU0syXS4uLlxuIgorKyIgVXNhZ2U6IGhkZHRlbXAgW09QVElPTlNdIFtUWVBFOl1ESVNLMSBbW1RZUEU6XURJU0syXS4uLlxuIgorICJcbiIKKyAiICAgaGRkdGVtcCBkaXNwbGF5cyB0aGUgdGVtcGVyYXR1cmUgb2YgZHJpdmVzIHN1cHBsaWVkIGluIGFyZ3VtZW50LlxuIgorICIgICBEcml2ZXMgbXVzdCBzdXBwb3J0IFMuTS5BLlIuVC5cbiIKKyAiXG4iCisrIiAgVFlQRSBjb3VsZCBiZSBTQVRBLCBQQVRBIG9yIFNDU0kuIElmIG9taXR0ZWQgaGRkdGVtcCB3aWxsIHRyeSB0byBndWVzcy5cbiIKKysiXG4iCisgIiAgLWIgICAtLWRyaXZlYmFzZSAgIDogIGRpc3BsYXkgZGF0YWJhc2UgZmlsZSBjb250ZW50IHRoYXQgYWxsb3cgaGRkdGVtcCB0b1xuIgorICIgICAgICAgICAgICAgICAgICAgICAgICByZWNvZ25pemUgc3VwcG9ydGVkIGRyaXZlcy5cbiIKKyAiICAtRCAgIC0tZGVidWcgICAgICAgOiAgZGlzcGxheSB2YXJpb3VzIFMuTS5BLlIuVC4gZmllbGRzIGFuZCB0aGVpciB2YWx1ZXMuXG4iCitAQCAtMTM2LDYgKzEwOSw3IEBACisgIiAgLWQgICAtLWRhZW1vbiAgICAgIDogIHJ1biBoZGR0ZW1wIGluIFRDUC9JUCBkYWVtb24gbW9kZSAocG9ydCAlZCBieSAiCisgImRlZmF1bHQuKVxuIgorICIgIC1mICAgLS1maWxlPUZJTEUgICA6ICBzcGVjaWZ5IGRhdGFiYXNlIGZpbGUgdG8gdXNlLlxuIgorKyIgIC1GICAgLS1mb3JlZ3JvdW5kICA6ICBkb24ndCBkYWVtb25pemUsIHN0YXkgaW4gZm9yZWdyb3VuZC5cbiIKKyAiICAtbCAgIC0tbGlzdGVuPWFkZHIgOiAgbGlzdGVuIG9uIGEgc3BlY2lmaWMgaW50ZXJmYWNlIChpbiBUQ1AvSVAgZGFlbW9uICIKKyAibW9kZSkuXG4iCisgIiAgLW4gICAtLW51bWVyaWMgICAgIDogIHByaW50IG9ubHkgdGhlIHRlbXBlcmF0dXJlLlxuIgorQEAgLTE0Myw2ICsxMTcsOCBAQAorICIgIC1zICAgLS1zZXBhcmF0b3I9QyA6ICBzZXBhcmF0b3IgdG8gdXNlIGJldHdlZW4gZmllbGRzIChpbiBUQ1AvSVAgZGFlbW9uICIKKyAibW9kZSkuXG4iCisgIiAgLVMgICAtLXN5c2xvZz1zICAgIDogIGxvZyB0ZW1wZXJhdHVyZSB0byBzeXNsb2cgZXZlcnkgcyBzZWNvbmRzLlxuIgorKyIgIC11ICAgLS11bml0PVtDfEZdICA6ICBmb3JjZSBvdXRwdXQgdGVtcGVyYXR1cmUgZWl0aGVyIGluIENlbHNpdXMgb3IgIgorKyJGYWhyZW5oZWl0LlxuIgorICIgIC1xICAgLS1xdWlldCAgICAgICA6ICBkbyBub3QgY2hlY2sgaWYgdGhlIGRyaXZlIGlzIHN1cHBvcnRlZC5cbiIKKyAiICAtdiAgIC0tdmVyc2lvbiAgICAgOiAgZGlzcGxheSBoZGR0ZW1wIHZlcnNpb24gbnVtYmVyLlxuIgorICIgIC13ICAgLS13YWtlLXVwICAgICA6ICB3YWtlLXVwIHRoZSBkcml2ZSBpZiBuZWVkLlxuIgorQEAgLTE1NiwxOSArMTMyLDIzIEBACisgIiAgIGhkZHRlbXAgbW9zdHJhIGEgdGVtcGVyYXR1cmEgZG9zIGRpc2NvcyBpbmRpY2Fkb3Mgbm8gYXJndW1lbnRvLlxuIgorICIgICBPcyBkaXNjb3MgdMOqbSBkZSBzdXBvcnRhciBTLk0uQS5SLlQuXG4iCisgIlxuIgorLSIgIC1iCSAtLWRyaXZlYmFzZSAgIDogIG1vc3RyYXIgbyBjb250ZcO6ZG8gZG8gZmljaGVpcm8gZGUgYmFzZSBkZSBkYWRvcyBxdWVcbiIKKysiICAtYlx0IC0tZHJpdmViYXNlICAgOiAgbW9zdHJhciBvIGNvbnRlw7pkbyBkbyBmaWNoZWlybyBkZSBiYXNlIGRlIGRhZG9zIHF1ZVxuIgorICIgICAgICAgICAgICAgICAgICAgICAgICBwZXJtaXRlIGFvIGhkZHRlbXAgcmVjb25oZWNlciBvcyBkaXNjb3Mgc3Vwb3J0YWRvcy5cbiIKKy0iICAtRAkgLS1kZWJ1ZyAgICAgICA6ICBtb3N0cmFyIHbDoXJpb3MgY2FtcG9zIFMuTS5BLlIuVC4gZSBvcyBzZXVzIHZhbG9yZXMuXG4iCistIiAgICAgICAgICAgICAgICAgICAgICAgIMOadGlsIHBhcmEgZW5jb250cmFyIHVtIHZhbG9yIHF1ZSBwYXJlw6dhIGNvaW5jaWRpciBjb20gIgorLSIgICAgICAgICAgICAgICAgICAgICAgICBhIHRlbXBlcmF0dXJhIGUvb3UgcGFyYSBtZSBlbnZpYXIgdW0gcmVsYXTDs3Jpby5cbiIKKysiICAtRFx0IC0tZGVidWcgICAgICAgOiAgbW9zdHJhciB2w6FyaW9zIGNhbXBvcyBTLk0uQS5SLlQuIGUgb3Mgc2V1cyB2YWxvcmVzLlxuIgorKyIgICAgICAgICAgICAgICAgICAgICAgICDDmnRpbCBwYXJhIGVuY29udHJhciB1bSB2YWxvciBxdWUgcGFyZcOnYSBjb2luY2lkaXIgIgorKyJjb20gICAgICAgICAgICAgICAgICAgICAgICAgYSB0ZW1wZXJhdHVyYSBlL291IHBhcmEgbWUgZW52aWFyIHVtIHJlbGF0w7NyaW8uXG4iCisgIiAgICAgICAgICAgICAgICAgICAgICAgIChmZWl0byBwYXJhIGNhZGEgZGlzY28gaW5kaWNhZG8pLlxuIgorLSIgIC1kICAgLS1kYWVtb24gICAgICA6ICBjb3JyZXIgbyBoZGR0ZW1wIG5vIG1vZG8gZGFlbW9uIFRDUC9JUFxuIChwb3J0byAlZCBwb3Igb21pc3PDo28uKVxuIgorKyIgIC1kICAgLS1kYWVtb24gICAgICA6ICBjb3JyZXIgbyBoZGR0ZW1wIG5vIG1vZG8gZGFlbW9uIFRDUC9JUFxuIgorKyIgKHBvcnRvICVkIHBvciBvbWlzc8Ojby4pXG4iCisgIiAgLWYgICAtLWZpbGU9RklMRSAgIDogIGVzcGVjaWZpY2FyIG8gZmljaGVpcm8gZGUgYmFzZSBkZSBkYWRvcyBhIHV0aWxpemFyLlxuIgorLSIgIC1sICAgLS1saXN0ZW49YWRkciA6ICBlc2N1dGFyIHVtIGludGVyZmFjZSBlc3BlY8OtZmljbyAobm8gbW9kbyBkYWVtb24gVENQL0lQKS5cbiIKKysiICAtbCAgIC0tbGlzdGVuPWFkZHIgOiAgZXNjdXRhciB1bSBpbnRlcmZhY2UgZXNwZWPDrWZpY28gKG5vIG1vZG8gZGFlbW9uIFRDUC8iCisrIklQKS5cbiIKKyAiICAtbiAgIC0tbnVtZXJpYyAgICAgOiAgZXNjcmV2ZXIgYXBlbmFzIGEgdGVtcGVyYXR1cmEuXG4iCisgIiAgLXAgICAtLXBvcnQ9IyAgICAgIDogIHBvcnQgcGFyYSBlc2N1dGFyIChubyBtb2RvIGRhZW1vbiBUQ1AvSVApLlxuIgorLSIgIC1zICAgLS1zZXBhcmF0b3I9QyA6ICBzZXBhcmFkb3IgYSB1dGlsaXphciBlbnRyZSBjYW1wb3MgKG5vIG1vZG8gZGFlbW9uIFRDUC9JUCkuXG4iCistIiAgLVMgICAtLXN5c2xvZz1zICAgIDogIHJlZ2lzdGFyIGEgdGVtcGVyYXR1cmEgcGFyYSBvIHN5c2xvZyBhIGNhZGEgcyBzZWd1bmRvcy5cbiIKKysiICAtcyAgIC0tc2VwYXJhdG9yPUMgOiAgc2VwYXJhZG9yIGEgdXRpbGl6YXIgZW50cmUgY2FtcG9zIChubyBtb2RvIGRhZW1vbiAiCisrIlRDUC9JUCkuXG4iCisrIiAgLVMgICAtLXN5c2xvZz1zICAgIDogIHJlZ2lzdGFyIGEgdGVtcGVyYXR1cmEgcGFyYSBvIHN5c2xvZyBhIGNhZGEgcyAiCisrInNlZ3VuZG9zLlxuIgorICIgIC1xICAgLS1xdWlldCAgICAgICA6ICBuw6NvIHZlcmlmaWNhciBzZSBvIGRpc2NvIMOpIHN1cG9ydGFkby5cbiIKKyAiICAtdiAgIC0tdmVyc2lvbiAgICAgOiAgbW9zdHJhciBvIG7Dum1lcm8gZGEgdmVyc8OjbyBkbyBoZGR0ZW1wLlxuIgorICIgIC13ICAgLS13YWtlLXVwICAgICA6ICBhY29yZGFyIG8gZGlzY28gc2UgbmVjZXNzw6FyaW8uXG4iCitAQCAtMTc3LDU4ICsxNTcsOTMgQEAKKyAiXG4iCisgIlJlbGF0YXIgYnVncyBvdSBub3ZvcyBkaXNjb3MgcGFyYSA8aGRkdGVtcEBndXp1Lm5ldD4uXG4iCisgCistIzogc3JjL2hkZHRlbXAuYzo1MjIKKysjOiBzcmMvaGRkdGVtcC5jOjQwMgorICMsIGMtZm9ybWF0CisgbXNnaWQgImhkZHRlbXAgdmVyc2lvbiAlc1xuIgorIG1zZ3N0ciAiaGRkdGVtcCB2ZXJzw6NvICVzXG4iCisgCistIzogc3JjL2hkZHRlbXAuYzo1NDcKKysjOiBzcmMvaGRkdGVtcC5jOjQxOAorICMsIGMtZm9ybWF0CisgbXNnaWQgIkVSUk9SOiBpbnZhbGlkIGludGVydmFsLlxuIgorIG1zZ3N0ciAiRVJSTzogaW50ZXJ2YWxvIGludsOhbGlkby5cbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjU0NworKyM6IHNyYy9oZGR0ZW1wLmM6NDM4CisrIywgYy1mb3JtYXQKKyBtc2dpZCAiVG9vIGZldyBhcmd1bWVudHM6IHlvdSBtdXN0IHNwZWNpZnkgb25lIGRyaXZlLCBhdCBsZWFzdC5cbiIKKy1tc2dzdHIgIk7Dum1lcm8gZGUgYXJndW1lbnRvcyBpbnN1ZmljaWVudGU6IHRlbSBkZSBlc3BlY2lmaWNhciBwZWxvIG1lbm9zIHVtIGRpc2NvLlxuIgorK21zZ3N0ciAiIgorKyJOw7ptZXJvIGRlIGFyZ3VtZW50b3MgaW5zdWZpY2llbnRlOiB0ZW0gZGUgZXNwZWNpZmljYXIgcGVsbyBtZW5vcyB1bSBkaXNjby5cbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjU1NworKyM6IHNyYy9oZGR0ZW1wLmM6NDQ4CisrIywgYy1mb3JtYXQKKyBtc2dpZCAiRVJST1I6IGNhbid0IHVzZSAtLWRlYnVnIGFuZCAtLWRhZW1vbiBvciAtLXN5c2xvZyBvcHRpb25zIHRvZ2V0aGVyLlxuIgorLW1zZ3N0ciAiRVJSTzogbsOjbyBwb2RlIHV0aWxpemFyIGVtIGNvbmp1bnRvIGFzIG9ww6fDtWVzIC0tZGVidWcgZSAtLWRhZW1vbiBvdSAtLXN5c2xvZy5cbiIKKyttc2dzdHIgIiIKKysiRVJSTzogbsOjbyBwb2RlIHV0aWxpemFyIGVtIGNvbmp1bnRvIGFzIG9ww6fDtWVzIC0tZGVidWcgZSAtLWRhZW1vbiBvdSAtLSIKKysic3lzbG9nLlxuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6NTgzCisrIzogc3JjL2hkZHRlbXAuYzo1MDUKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICJFUlJPUjogJXM6IGNhbid0IGRldGVybWluZSBidXMgdHlwZSAob3IgdGhpcyBidXMgdHlwZSBpcyB1bmtub3duKVxuIgorLW1zZ3N0ciAiRVJSTzogJXM6IG7Do28gw6kgcG9zc8OtdmVsIGRldGVybWluYXIgbyB0aXBvIGRvIGJ1cyAob3UgZXN0ZSB0aXBvIGRlIGJ1cyDDqSBkZXNjb25oZWNpZG8pXG4iCisrbXNnc3RyICIiCisrIkVSUk86ICVzOiBuw6NvIMOpIHBvc3PDrXZlbCBkZXRlcm1pbmFyIG8gdGlwbyBkbyBidXMgKG91IGVzdGUgdGlwbyBkZSBidXMgw6kgIgorKyJkZXNjb25oZWNpZG8pXG4iCisgCistIzogc3JjL2F0YS5jOjY2IHNyYy9zY3NpLmM6NjgKKysjOiBzcmMvYXRhLmM6NjYgc3JjL3Njc2kuYzo2NAorIG1zZ2lkICJ1bmtub3duIgorIG1zZ3N0ciAiZGVzY29uaGVjaWRvIgorIAorLSM6IHNyYy9hdGEuYzo5OAorKyM6IHNyYy9hdGEuYzo4NSBzcmMvYXRhLmM6MTA0IHNyYy9zY3NpLmM6OTEKKyAjLCBjLWZvcm1hdAorLW1zZ2lkICJmaWVsZCglZClcdCA9ICVkXG4iCistbXNnc3RyICJjYW1wbyglZClcdCA9ICVkXG4iCistCistIzogc3JjL2F0YS5jOjE2NworIG1zZ2lkICJTLk0uQS5SLlQuIG5vdCBhdmFpbGFibGUiCisgbXNnc3RyICJTLk0uQS5SLlQuIG7Do28gZXN0w6EgZGlzcG9uw612ZWwiCisgCistIzogc3JjL2RiLmM6MTgwCisrIzogc3JjL2RiLmM6MTE1CisrIywgYy1mb3JtYXQKKyttc2dpZCAiIgorKyJcbiIKKysiUmVnZXhwJXN8IFZhbHVlIHwgRGVzY3JpcHRpb25cbiIKKysiLS0tLS0tJXMtLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyttc2dzdHIgIiIKKysiXG4iCisrIlJlZ2V4cCVzfCBWYWxvciB8IERlc2NyacOnw6NvXG4iCisrIi0tLS0tLSVzLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorKworKyM6IHNyYy9kYi5jOjEyMQorKyMsIGMtZm9ybWF0CisrbXNnaWQgIiVzJXN8ICU1ZCB8ICVzXG4iCisrbXNnc3RyICIlcyVzfCAlNWQgfCAlc1xuIgorKworKyM6IHNyYy9kYi5jOjIzNgorICMsIGMtZm9ybWF0CisgbXNnaWQgImhkZHRlbXA6IGNhbid0IG9wZW4gJTEkczogJTIkc1xuIgorIG1zZ3N0ciAiaGRkdGVtcDogbsOjbyBwb2RlIGFicmlyICUxJHM6ICUyJHNcbiIKKyAKKy0jOiBzcmMvZGIuYzoxOTQKKysjOiBzcmMvZGIuYzoyNTAKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICJFUlJPUjogc3ludGF4IGVycm9yIGF0IGxpbmUgJTEkZCBpbiAlMiRzXG4iCisgbXNnc3RyICJFUlJPOiBlcnJvIGRlIHNpbnRheGUgbmEgbGluaGEgJTEkZCBlbSAlMiRzXG4iCisgCistIzogc3JjL2RiLmM6MjAxCisrIzogc3JjL2RiLmM6MjU3CisgIywgYy1mb3JtYXQKKyBtc2dpZCAiICBFUlJPUjogbGluZSBleGNlZWQgJTEkZCBjaGFyYWN0ZXJzIGluICUyJHMuXG4iCisgbXNnc3RyICIgIEVSUk86IGEgbGluaGEgZXhlY2VkZXUgJTEkZCBjYXJhY3RlcmVzIGVtICUyJHMuXG4iCisgCistIzogc3JjL3Njc2kuYzoxMTIgc3JjL3Njc2kuYzoxMzAKKysjOiBzcmMvc2NzaS5jOjExMSBzcmMvc2NzaS5jOjEyOQorICMsIGMtZm9ybWF0CisgbXNnaWQgImxvZyBzZW5zZSBmYWlsZWQgOiAlcyIKKyBtc2dzdHIgImRldGVjw6fDo28gZGUgbG9nIGZhbGhvdTogJXMiCisrCisrI34gbXNnaWQgIiIKKysjfiAiV0FSTklORzogRHJpdmUgJXMgZG9lc24ndCBhcHBlYXIgaW4gdGhlIGRhdGFiYXNlIG9mIHN1cHBvcnRlZCBkcml2ZXNcbiIKKysjfiAiV0FSTklORzogQnV0IHVzaW5nIGEgY29tbW9uIHZhbHVlLCBpdCByZXBvcnRzIHNvbWV0aGluZy5cbiIKKysjfiAiV0FSTklORzogTm90ZSB0aGF0IHRoZSB0ZW1wZXJhdHVyZSBzaG93biBjb3VsZCBiZSB3cm9uZy5cbiIKKysjfiAiV0FSTklORzogU2VlIC0taGVscCwgLS1kZWJ1ZyBhbmQgLS1kcml2ZWJhc2Ugb3B0aW9ucy5cbiIKKysjfiAiV0FSTklORzogQW5kIGRvbid0IGZvcmdldCB5b3UgY2FuIGFkZCB5b3VyIGRyaXZlIHRvIGhkZHRlbXAuZGJcbiIKKysjfiBtc2dzdHIgIiIKKysjfiAiQVZJU086IE8gZGlzY28gJXMgbsOjbyBwYXJlY2UgZXN0YXIgbmEgYmFzZSBkZSBkYWRvcyBkZSBkaXNjb3Mgc3Vwb3J0YWRvc1xuIgorKyN+ICJBVklTTzogTWFzIGFvIHV0aWxpemFyIHVtIHZhbG9yIHVzdWFsLCByZWxhdGEgYWxndW1hIGNvaXNhLlxuIgorKyN+ICJBVklTTzogTm90ZSBxdWUgYSB0ZW1wZXJhdHVyYSBtb3N0cmFkYSBwb2RlIGVzdGFyIGVycmFkYS5cbiIKKysjfiAiQVZJU086IFZlamEgYXMgb3DDp8O1ZXMgLS1oZWxwLCAtLWRlYnVnIGUgLS1mcml2ZWJhc2UuXG4iCisrI34gIkFWSVNPOiBFIG7Do28gc2UgZXNxdWXDp2EgZGUgYWRpY2lvbmFyIG8gc2V1IGRpc2NvIGEgaGRkdGVtcC5kYlxuIgorKworKyN+IG1zZ2lkICJmaWVsZCglZClcdCA9ICVkXG4iCisrI34gbXNnc3RyICJjYW1wbyglZClcdCA9ICVkXG4iCistLS0gaGRkdGVtcC0wLjMtYmV0YTE1Lm9yaWcvcG8vZGUucG8KKysrKyBoZGR0ZW1wLTAuMy1iZXRhMTUvcG8vZGUucG8KK0BAIC0wLDAgKzEsMjUwIEBACisrIyBHZXJtYW4gdHJhbnNsYXRpb24gb2YgaGRkdGVtcC4KKysjIENvcHlyaWdodCAoQykgMjAwOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKysjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgc2FtZSBsaWNlbnNlIGFzIHRoZSBoZGR0ZW1wIHBhY2thZ2UuCisrIyBWaW56ZW56IFZpZXR6a2UgPHZpbnpAdjFuei5vcmc+LCAyMDA4LgorKyMgLAorKyMKKysjCisrbXNnaWQgIiIKKyttc2dzdHIgIiIKKysiUHJvamVjdC1JZC1WZXJzaW9uOiBoZGR0ZW1wIDAuMy1iZXRhMTUtNDRcbiIKKysiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IGhkZHRlbXBAcGFja2FnZXMuZGViaWFuLm9yZ1xuIgorKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwNi0wNi0yOSAxNjoyNCswMjAwXG4iCisrIlBPLVJldmlzaW9uLURhdGU6IDIwMTEtMDgtMzAgMTY6NDArMDIwMFxuIgorKyJMYXN0LVRyYW5zbGF0b3I6IFZpbnplbnogVmlldHprZSA8dmluekB2MW56Lm9yZz5cbiIKKysiTGFuZ3VhZ2UtVGVhbTogPGRlYmlhbi1sMTBuLWdlcm1hbkBsaXN0cy5kZWJpYW4ub3JnPlxuIgorKyJNSU1FLVZlcnNpb246IDEuMFxuIgorKyJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLThcbiIKKysiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdCIKKysKKysjOiBzcmMvaGRkdGVtcC5jOjE1NgorKyMsIGMtZm9ybWF0CisrbXNnaWQgIiIKKysiXG4iCisrIj09PT09PT09PT09PT09PT09IGhkZHRlbXAgJXMgPT09PT09PT09PT09PT09PT09XG4iCisrIk1vZGVsOiAlc1xuIgorKyJcbiIKKyttc2dzdHIgIiIKKysiXG4iCisrIj09PT09PT09PT09PT09PT09IGhkZHRlbXAgJXMgPT09PT09PT09PT09PT09PT09XG4iCisrIk1vZGVsbDogJXNcbiIKKysiXG4iCisrCisrIzogc3JjL2hkZHRlbXAuYzoxODkKKysjLCBjLWZvcm1hdAorK21zZ2lkICIiCisrIldBUk5JTkc6IERyaXZlICVzIGRvZXNuJ3Qgc2VlbSB0byBoYXZlIGEgdGVtcGVyYXR1cmUgc2Vuc29yLlxuIgorKyJXQVJOSU5HOiBUaGlzIGRvZXNuJ3QgbWVhbiBpdCBoYXNuJ3QgZ290IG9uZS5cbiIKKysiV0FSTklORzogSWYgeW91IGFyZSBzdXJlIGl0IGhhcyBvbmUsIHBsZWFzZSBjb250YWN0IG1lIChoZGR0ZW1wQGd1enUuIgorKyJuZXQpLlxuIgorKyJXQVJOSU5HOiBTZWUgLS1oZWxwLCAtLWRlYnVnIGFuZCAtLWRyaXZlYmFzZSBvcHRpb25zLlxuIgorK21zZ3N0ciAiIgorKyJXQVJOVU5HOiBMYXVmd2VyayAlcyBzY2hlaW50IGtlaW5lbiBUZW1wZXJhdHVyLVNlbnNvciB6dSBoYWJlbi5cbiIKKysiV0FSTlVORzogRGFzIGJlZGV1dGV0IG5pY2h0LCBkYXNzIGVzIGtlaW5lbiBiZXNpdHp0LlxuIgorKyJXQVJOVU5HOiBGYWxscyBTaWUgc2ljaGVyIHNpbmQsIGRhc3MgZXMgZWluZW4gYmVzaXR6dCwga29udGFrdGllcmVuIFNpZSAiCisrIm1pY2ggYml0dGUgKGhkZHRlbXBAZ3V6dS5uZXQpLlxuIgorKyJXQVJOVU5HOiBTaWVoZSBPcHRpb25lbiAtLWhlbHAsIC0tZGVidWcgdW5kIC0tZHJpdmViYXNlLlxuIgorKworKyM6IHNyYy9oZGR0ZW1wLmM6MTk3CisrIywgYy1mb3JtYXQKKyttc2dpZCAiJXM6ICVzOiAgbm8gc2Vuc29yXG4iCisrbXNnc3RyICIlczogJXM6IGtlaW4gU2Vuc29yXG4iCisrCisrIzogc3JjL2hkZHRlbXAuYzoyMTEKKysjLCBjLWZvcm1hdAorK21zZ2lkICIlczogJXM6ICAlZCVzQyBvciAlc0ZcbiIKKyttc2dzdHIgIiVzOiAlczogICVkJXPCsEMgb2RlciAlc8KwRlxuIgorKworKyM6IHNyYy9oZGR0ZW1wLmM6MjM1CisrIywgYy1mb3JtYXQKKyttc2dpZCAiJXM6ICVzOiBkcml2ZSBpcyBzbGVlcGluZ1xuIgorK21zZ3N0ciAiJXM6ICVzOiBMYXVmd2VyayBzY2hsw6RmdFxuIgorKworKyM6IHNyYy9oZGR0ZW1wLmM6MjQyCisrIywgYy1mb3JtYXQKKyttc2dpZCAiJXM6ICVzOiAgZHJpdmUgc3VwcG9ydGVkLCBidXQgaXQgZG9lc24ndCBoYXZlIGEgdGVtcGVyYXR1cmUgc2Vuc29yLlxuIgorK21zZ3N0ciAiIgorKyIlczogJXM6ICBMYXVmd2VyayB1bnRlcnN0w7x0enQsIGFiZXIgZXMgaGF0IGtlaW5lbiBUZW1wZXJhdHVyLVNlbnNvci5cbiIKKysKKysjOiBzcmMvaGRkdGVtcC5jOjI0NgorKyMsIGMtZm9ybWF0CisrbXNnaWQgIkVSUk9SOiAlczogJXM6IHVua25vd24gcmV0dXJuZWQgc3RhdHVzXG4iCisrbXNnc3RyICJGRUhMRVI6ICVzOiAlczogenVyw7xja2dlZ2ViZW5lciBTdGF0dXMgdW5iZWthbm50XG4iCisrCisrIzogc3JjL2hkZHRlbXAuYzoyNjEKKysjLCBjLWZvcm1hdAorK21zZ2lkICIiCisrIlxuIgorKyJJZiBvbmUgb2YgdGhlIGZpZWxkIHZhbHVlIHNlZW1zIHRvIG1hdGNoIHRoZSB0ZW1wZXJhdHVyZSwgYmUgc3VyZSB0byByZWFkXG4iCisrInRoZSBoZGR0ZW1wIG1hbiBwYWdlIGJlZm9yZSBzZW5kaW5nIGEgcmVwb3J0IChzZWN0aW9uIFJFUE9SVCkuIFRoYW5rcy5cbiIKKyttc2dzdHIgIiIKKysiXG4iCisrIkZhbGxzIGVpbmVyIGRlciBGZWxkd2VydGUgZGVyIFRlbXBlcmF0dXIgenUgZW50c3ByZWNoZW4gc2NoZWludCwgc3RlbGxlbiAiCisrIlNpZVxuIgorKyJzaWNoZXIsIGRpZSBoZGR0ZW1wLUhhbmRidWNoc2VpdGUgZ2VsZXNlbiB6dSBoYWJlbiwgYmV2b3IgU2llIGVpbmVuICIKKysiQmVyaWNodFxuIgorKyJzZW5kZW4gKEFic2Nobml0dCBCRVJJQ0hUKS4gRGFua2UuXG4iCisrCisrIzogc3JjL2hkZHRlbXAuYzozMzgKKysjLCBjLWZvcm1hdAorK21zZ2lkICJFUlJPUjogaW52YWxpZCBzZXBhcmF0b3IuXG4iCisrbXNnc3RyICJGRUhMRVI6IHVuZ8O8bHRpZ2VzIFRyZW5uemVpY2hlbi5cbiIKKysKKysjOiBzcmMvaGRkdGVtcC5jOjM0OQorKyMsIGMtZm9ybWF0CisrbXNnaWQgIkVSUk9SOiBpbnZhbGlkIHBvcnQgbnVtYmVyLlxuIgorK21zZ3N0ciAiRkVITEVSOiB1bmfDvGx0aWdlIFBvcnRudW1tZXIuXG4iCisrCisrIzogc3JjL2hkZHRlbXAuYzozNzEKKysjLCBjLWZvcm1hdAorK21zZ2lkICIiCisrIiBVc2FnZTogaGRkdGVtcCBbT1BUSU9OU10gW1RZUEU6XURJU0sxIFtbVFlQRTpdRElTSzJdLi4uXG4iCisrIlxuIgorKyIgICBoZGR0ZW1wIGRpc3BsYXlzIHRoZSB0ZW1wZXJhdHVyZSBvZiBkcml2ZXMgc3VwcGxpZWQgaW4gYXJndW1lbnQuXG4iCisrIiAgIERyaXZlcyBtdXN0IHN1cHBvcnQgUy5NLkEuUi5ULlxuIgorKyJcbiIKKysiICBUWVBFIGNvdWxkIGJlIFNBVEEsIFBBVEEgb3IgU0NTSS4gSWYgb21pdHRlZCBoZGR0ZW1wIHdpbGwgdHJ5IHRvIGd1ZXNzLlxuIgorKyJcbiIKKysiICAtYiAgIC0tZHJpdmViYXNlICAgOiAgZGlzcGxheSBkYXRhYmFzZSBmaWxlIGNvbnRlbnQgdGhhdCBhbGxvdyBoZGR0ZW1wICIKKysidG9cbiIKKysiICAgICAgICAgICAgICAgICAgICAgICAgcmVjb2duaXplIHN1cHBvcnRlZCBkcml2ZXMuXG4iCisrIiAgLUQgICAtLWRlYnVnICAgICAgIDogIGRpc3BsYXkgdmFyaW91cyBTLk0uQS5SLlQuIGZpZWxkcyBhbmQgdGhlaXIgIgorKyJ2YWx1ZXMuXG4iCisrIiAgICAgICAgICAgICAgICAgICAgICAgIFVzZWZ1bCB0byBmaW5kIGEgdmFsdWUgdGhhdCBzZWVtcyB0byBtYXRjaCB0aGVcbiIKKysiICAgICAgICAgICAgICAgICAgICAgICAgdGVtcGVyYXR1cmUgYW5kL29yIHRvIHNlbmQgbWUgYSByZXBvcnQuXG4iCisrIiAgICAgICAgICAgICAgICAgICAgICAgIChkb25lIGZvciBldmVyeSBkcml2ZSBzdXBwbGllZCkuXG4iCisrIiAgLWQgICAtLWRhZW1vbiAgICAgIDogIHJ1biBoZGR0ZW1wIGluIFRDUC9JUCBkYWVtb24gbW9kZSAocG9ydCAlZCBieSAiCisrImRlZmF1bHQuKVxuIgorKyIgIC1mICAgLS1maWxlPUZJTEUgICA6ICBzcGVjaWZ5IGRhdGFiYXNlIGZpbGUgdG8gdXNlLlxuIgorKyIgIC1GICAgLS1mb3JlZ3JvdW5kICA6ICBkb24ndCBkYWVtb25pemUsIHN0YXkgaW4gZm9yZWdyb3VuZC5cbiIKKysiICAtbCAgIC0tbGlzdGVuPWFkZHIgOiAgbGlzdGVuIG9uIGEgc3BlY2lmaWMgaW50ZXJmYWNlIChpbiBUQ1AvSVAgZGFlbW9uICIKKysibW9kZSkuXG4iCisrIiAgLW4gICAtLW51bWVyaWMgICAgIDogIHByaW50IG9ubHkgdGhlIHRlbXBlcmF0dXJlLlxuIgorKyIgIC1wICAgLS1wb3J0PSMgICAgICA6ICBwb3J0IHRvIGxpc3RlbiB0byAoaW4gVENQL0lQIGRhZW1vbiBtb2RlKS5cbiIKKysiICAtcyAgIC0tc2VwYXJhdG9yPUMgOiAgc2VwYXJhdG9yIHRvIHVzZSBiZXR3ZWVuIGZpZWxkcyAoaW4gVENQL0lQIGRhZW1vbiAiCisrIm1vZGUpLlxuIgorKyIgIC1TICAgLS1zeXNsb2c9cyAgICA6ICBsb2cgdGVtcGVyYXR1cmUgdG8gc3lzbG9nIGV2ZXJ5IHMgc2Vjb25kcy5cbiIKKysiICAtdSAgIC0tdW5pdD1bQ3xGXSAgOiAgZm9yY2Ugb3V0cHV0IHRlbXBlcmF0dXJlIGVpdGhlciBpbiBDZWxzaXVzIG9yICIKKysiRmFocmVuaGVpdC5cbiIKKysiICAtcSAgIC0tcXVpZXQgICAgICAgOiAgZG8gbm90IGNoZWNrIGlmIHRoZSBkcml2ZSBpcyBzdXBwb3J0ZWQuXG4iCisrIiAgLXYgICAtLXZlcnNpb24gICAgIDogIGRpc3BsYXkgaGRkdGVtcCB2ZXJzaW9uIG51bWJlci5cbiIKKysiICAtdyAgIC0td2FrZS11cCAgICAgOiAgd2FrZS11cCB0aGUgZHJpdmUgaWYgbmVlZC5cbiIKKysiICAtNCAgICAgICAgICAgICAgICAgOiAgbGlzdGVuIG9uIElQdjQgc29ja2V0cyBvbmx5LlxuIgorKyIgIC02ICAgICAgICAgICAgICAgICA6ICBsaXN0ZW4gb24gSVB2NiBzb2NrZXRzIG9ubHkuXG4iCisrIlxuIgorKyJSZXBvcnQgYnVncyBvciBuZXcgZHJpdmVzIHRvIDxoZGR0ZW1wQGd1enUubmV0Pi5cbiIKKyttc2dzdHIgIiIKKysiIFZlcndlbmR1bmc6IGhkZHRlbXAgW09QVElPTkVOXSBbVFlQOl1MQVVGV0VSSzEgW1tUWVA6XUxBVUZXRVJLMl0uLi5cbiIKKysiXG4iCisrIiAgaGRkdGVtcCB6ZWlndCBkaWUgVGVtcGVyYXR1ciBkZXIgdmlhIEFyZ3VtZW50IGFuZ2VnZWJlbiBMYXVmd2Vya2UuXG4iCisrIiAgTGF1ZndlcmtlIG3DvHNzZW4gUy5NLkEuUi5ULiB1bnRlcnN0w7x0emVuLlxuIgorKyJcbiIKKysiICBUWVAga2FubiBTQVRBLCBQQVRBIG9kZXIgU0NTSSBzZWluLiBGYWxscyBhdXNnZWxhc3Nlbiwgd2lyZCBoZGR0ZW1wIFxuIgorKyIgIHZlcnN1Y2hlbiwgZGllc2VuIHp1IGVycmF0ZW4uXG4iCisrIlxuIgorKyIgIC1iICAgLS1kcml2ZWJhc2UgICA6ICBEYXRlbmJhbmstRGF0ZWktSW5oYWx0IGFuemVpZ2VuLCBkZXIgaGRkdGVtcCAiCisrImVybGF1YnRcbiIKKysiICAgICAgICAgICAgICAgICAgICAgICAgdW50ZXJzdMO8dHp0ZSBMYXVmd2Vya2UgenUgZXJrZW5uZW4uXG4iCisrIiAgLUQgICAtLWRlYnVnICAgICAgIDogIHZlcnNjaGllZGVuZSBTLk0uQS5SLlQuLUZlbGRlciB1bmQgZGVyZW4gV2VydGUgIgorKyJhbnplaWdlbi5cbiIKKysiICAgICAgICAgICAgICAgICAgICAgICBOw7x0emxpY2gsIHVtIFdlcnRlIHp1IGZpbmRlbiwgZGllIGRlciBUZW1wZXJhdHVyICIKKysiZW50c3ByZWNoZW5cbiIKKysiICAgICAgICAgICAgICAgICAgICAgICB1bmQvb2RlciB1bSBtaXIgZWluZW4gQmVyaWNodCB6dSBzZW5kZW4uXG4iCisrIiAgICAgICAgICAgICAgICAgICAgICAgKGJlcmVpdHMgZXJsZWRpZ3QgZsO8ciBqZWRlcyBiZXJlaXRnZXN0ZWxsdGUgIgorKyJMYXVmd2VyaykuXG4iCisrIiAgLWQgICAtLWRhZW1vbiAgICAgIDogIGhkZHRlbXAgaW0gVENQL0lQLURhZW1vbi1Nb2R1cyBhdXNmw7xocmVuICIKKysiKFN0YW5kYXJkbcOkw59pZyBQb3J0ICVkKVxuIgorKyIgIC1mICAgLS1maWxlPURBVEVJICA6ICB6dSB2ZXJ3ZW5kZW5kZSBEYXRlbmJhbmstRGF0ZWkgZmVzdGxlZ2VuLlxuIgorKyIgIC1GICAgLS1mb3JlZ3JvdW5kICA6ICBuaWNodCBkYWVtb25pc2llcmVuLCBpbSBWb3JkZXJncnVuZCBibGVpYmVuLlxuIgorKyIgIC1sICAgLS1saXN0ZW49YWRkciA6ICBhdWYgZWluZXIgYmVzdGltbXRlbiBTY2huaXR0c3RlbGxlIGF1ZiBBbmZyYWdlbiAiCisrIndhcnRlbiAoaW0gVENQL0lQLURhZW1vbi1Nb2R1cykuXG4iCisrIiAgLW4gICAtLW51bWVyaWMgICAgIDogIG51ciBkaWUgVGVtcGVyYXR1ciBhdXNnZWJlbi5cbiIKKysiICAtcCAgIC0tcG9ydD0jICAgICAgOiAgUG9ydCwgYXVmIGRlbSBhdWYgQW5mcmFnZW4gZ2V3YXJ0ZXQgd2VyZGVuIHNvbGwgIgorKyIoaW0gVENQL0lQLURhZW1vbi1Nb2R1cykuXG4iCisrIiAgLXMgICAtLXNlcGFyYXRvcj1DIDogIFRyZW5uemVpY2hlbiB6dXIgVmVyd2VuZHVuZyB6d2lzY2hlbiBGZWxkZXJuIChpbSAiCisrIlRDUC9JUC1EYWVtb24tTW9kdXMpLlxuIgorKyIgIC1TICAgLS1zeXNsb2c9cyAgICA6ICBUZW1wZXJhdHVyIGFsbGUgcyBTZWt1bmRlbiBpbiBkYXMgc3lzbG9nICIKKysiZWludHJhZ2VuLlxuIgorKyIgIC11ICAgLS11bml0PVtDfEZdICA6ICBBdXNnYWJlIGRlciBUZW1wZXJhdHVyIGVudHdlZGVyIGluIENlbHNpdXMgb2RlciAiCisrIkZhaHJlbmhlaXQgZXJ6d2luZ2VuLlxuIgorKyIgIC1xICAgLS1xdWlldCAgICAgICA6ICBuaWNodCBwcsO8ZmVuLCBvYiBkYXMgTGF1ZndlcmsgdW50ZXJzdMO8dHp0IHdpcmQuXG4iCisrIiAgLXYgICAtLXZlcnNpb24gICAgIDogIFZlcnNpb25zbnVtbWVyIHZvbiBoZGR0ZW1wIGFuemVpZ2VuLlxuIgorKyIgIC13ICAgLS13YWtlLXVwICAgICA6ICBMYXVmd2VyayBiZWkgQmVkYXJmIGF1ZndlY2tlbi5cbiIKKysiICAtNCAgICAgICAgICAgICAgICAgOiAgbnVyIGF1ZiBJUHY0LVNvY2tldHMgYXVmIEFuZnJhZ2VuIHdhcnRlbi5cbiIKKysiICAtNiAgICAgICAgICAgICAgICAgOiAgbnVyIGF1ZiBJUHY2LVNvY2tldHMgYXVmIEFuZnJhZ2VuIHdhcnRlbi5cbiIKKysiXG4iCisrIkZlaGxlciBvZGVyIG5ldWUgTGF1ZndlcmtlIGFuIDxoZGR0ZW1wQGd1enUubmV0PiBtZWxkZW4uXG4iCisrCisrIzogc3JjL2hkZHRlbXAuYzo0MDIKKysjLCBjLWZvcm1hdAorK21zZ2lkICJoZGR0ZW1wIHZlcnNpb24gJXNcbiIKKyttc2dzdHIgImhkZHRlbXAgVmVyc2lvbiAlc1xuIgorKworKyM6IHNyYy9oZGR0ZW1wLmM6NDE4CisrIywgYy1mb3JtYXQKKyttc2dpZCAiRVJST1I6IGludmFsaWQgaW50ZXJ2YWwuXG4iCisrbXNnc3RyICJGRUhMRVI6IHVuZ8O8bHRpZ2VzIEludGVydmFsbC5cbiIKKysKKysjOiBzcmMvaGRkdGVtcC5jOjQzOAorKyMsIGMtZm9ybWF0CisrbXNnaWQgIlRvbyBmZXcgYXJndW1lbnRzOiB5b3UgbXVzdCBzcGVjaWZ5IG9uZSBkcml2ZSwgYXQgbGVhc3QuXG4iCisrbXNnc3RyICJadSB3ZW5pZ2UgQXJndW1lbnRlOiBTaWUgbcO8c3NlbiBtaW5kZXN0ZW5zIGVpbiBMYXVmd2VyayBhbmdlYmVuLlxuIgorKworKyM6IHNyYy9oZGR0ZW1wLmM6NDQ4CisrIywgYy1mb3JtYXQKKyttc2dpZCAiRVJST1I6IGNhbid0IHVzZSAtLWRlYnVnIGFuZCAtLWRhZW1vbiBvciAtLXN5c2xvZyBvcHRpb25zIHRvZ2V0aGVyLlxuIgorK21zZ3N0ciAiIgorKyJGRUhMRVI6IGthbm4gT3B0aW9uZW4gLS1kZWJ1ZyB1bmQgLS1kYWVtb24gb2RlciAtLXN5c2xvZyBuaWNodCB6dXNhbW1lbiAiCisrInZlcndlbmRlbi5cbiIKKysKKysjOiBzcmMvaGRkdGVtcC5jOjUwNQorKyMsIGMtZm9ybWF0CisrbXNnaWQgIkVSUk9SOiAlczogY2FuJ3QgZGV0ZXJtaW5lIGJ1cyB0eXBlIChvciB0aGlzIGJ1cyB0eXBlIGlzIHVua25vd24pXG4iCisrbXNnc3RyICIiCisrIkZFSExFUjogJXM6IGthbm4gQnVzLVR5cCBuaWNodCBlcm1pdHRlbG4gKG9kZXIgZGllc2VyIEJ1cy1UeXAgaXN0ICIKKysidW5iZWthbm50KVxuIgorKworKyM6IHNyYy9hdGEuYzo2NiBzcmMvc2NzaS5jOjY0CisrbXNnaWQgInVua25vd24iCisrbXNnc3RyICJ1bmJla2FubnQiCisrCisrIzogc3JjL2F0YS5jOjg1IHNyYy9hdGEuYzoxMDQgc3JjL3Njc2kuYzo5MQorKyMsIGMtZm9ybWF0CisrbXNnaWQgIlMuTS5BLlIuVC4gbm90IGF2YWlsYWJsZSIKKyttc2dzdHIgIlMuTS5BLlIuVC4gbmljaHQgdmVyZsO8Z2JhciIKKysKKysjOiBzcmMvZGIuYzoxMTUKKysjLCBjLWZvcm1hdAorK21zZ2lkICIiCisrIlxuIgorKyJSZWdleHAlc3wgVmFsdWUgfCBEZXNjcmlwdGlvblxuIgorKyItLS0tLS0lcy0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorK21zZ3N0ciAiIgorKyJcbiIKKysiUmVnZXhwJXN8IFdlcnQgfCBCZXNjaHJlaWJ1bmdcbiIKKysiLS0tLS0tJXMtLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKysKKysjOiBzcmMvZGIuYzoxMjEKKysjLCBjLWZvcm1hdAorK21zZ2lkICIlcyVzfCAlNWQgfCAlc1xuIgorK21zZ3N0ciAiJXMlc3wgJTVkIHwgJXNcbiIKKysKKysjOiBzcmMvZGIuYzoyMzYKKysjLCBjLWZvcm1hdAorK21zZ2lkICJoZGR0ZW1wOiBjYW4ndCBvcGVuICUxJHM6ICUyJHNcbiIKKyttc2dzdHIgImhkZHRlbXA6IGthbm4gJTEkcyBuaWNodCDDtmZmbmVuOiAlMiRzXG4iCisrCisrIzogc3JjL2RiLmM6MjUwCisrIywgYy1mb3JtYXQKKyttc2dpZCAiRVJST1I6IHN5bnRheCBlcnJvciBhdCBsaW5lICUxJGQgaW4gJTIkc1xuIgorK21zZ3N0ciAiRkVITEVSOiBTeW50YXhmZWhsZXIgaW4gWmVpbGUgJTEkZCBpbiAlMiRzXG4iCisrCisrIzogc3JjL2RiLmM6MjU3CisrIywgYy1mb3JtYXQKKyttc2dpZCAiICBFUlJPUjogbGluZSBleGNlZWQgJTEkZCBjaGFyYWN0ZXJzIGluICUyJHMuXG4iCisrbXNnc3RyICIgIEZFSExFUjogWmVpbGUgw7xiZXJzY2hyZWl0ZXQgJTEkZCBaZWljaGVuIGluICUyJHMuXG4iCisrCisrIzogc3JjL3Njc2kuYzoxMTEgc3JjL3Njc2kuYzoxMjkKKysjLCBjLWZvcm1hdAorK21zZ2lkICJsb2cgc2Vuc2UgZmFpbGVkIDogJXMiCisrbXNnc3RyICJQcm90b2tvbGwtRXJrZW5udW5nIGZlaGxnZXNjaGxhZ2VuIDogJXMiCistLS0gaGRkdGVtcC0wLjMtYmV0YTE1Lm9yaWcvcG8vTElOR1VBUworKysrIGhkZHRlbXAtMC4zLWJldGExNS9wby9MSU5HVUFTCitAQCAtMSwyICsxLDIgQEAKKyAjIFNldCBvZiBhdmFpbGFibGUgbGFuZ3VhZ2VzLgorLWZyIHB0IHJ1IHN2IAorK2RlIGZyIHB0IHJ1IHN2IAorLS0tIGhkZHRlbXAtMC4zLWJldGExNS5vcmlnL3BvL2hkZHRlbXAucG90CisrKysgaGRkdGVtcC0wLjMtYmV0YTE1L3BvL2hkZHRlbXAucG90CitAQCAtMSwzNSArMSwyMiBAQAorLQorLSMgQ29weXJpZ2h0IChDKSAyMDA2IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorLSMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBzYW1lIGxpY2Vuc2UgYXMgdGhlICdoZGR0ZW1wJyBwYWNrYWdlLgorLSMgRW1tYW51ZWwgVkFSQUdOQVQgPGhkZHRlbXBAZ3V6dS5uZXQ+LCAyMDA2LgorKyMgU09NRSBERVNDUklQVElWRSBUSVRMRS4KKysjIENvcHlyaWdodCAoQykgWUVBUiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKysjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgc2FtZSBsaWNlbnNlIGFzIHRoZSBQQUNLQUdFIHBhY2thZ2UuCisrIyBGSVJTVCBBVVRIT1IgPEVNQUlMQEFERFJFU1M+LCBZRUFSLgorICMKKyAjLCBmdXp6eQorIG1zZ2lkICIiCisgbXNnc3RyICIiCisgIlByb2plY3QtSWQtVmVyc2lvbjogUEFDS0FHRSBWRVJTSU9OXG4iCistIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBoZGR0ZW1wQGd1enUubmV0XG4iCistIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA1LTAyLTI1IDIyOjQzKzAxMDBcbiIKKysiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IFxuIgorKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwNi0wNi0yOSAxNjoyNCswMjAwXG4iCisgIlBPLVJldmlzaW9uLURhdGU6IFlFQVItTU8tREEgSE86TUkrWk9ORVxuIgorLSJMYXN0LVRyYW5zbGF0b3I6IEVtbWFudWVsIFZhcmFnbmF0IDxoZGR0ZW1wQGd1enUubmV0PlxuIgorKyJMYXN0LVRyYW5zbGF0b3I6IEZVTEwgTkFNRSA8RU1BSUxAQUREUkVTUz5cbiIKKyAiTGFuZ3VhZ2UtVGVhbTogTEFOR1VBR0UgPExMQGxpLm9yZz5cbiIKKyAiTUlNRS1WZXJzaW9uOiAxLjBcbiIKKyAiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PUNIQVJTRVRcbiIKKyAiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6MTEyCistIywgYy1mb3JtYXQKKy1tc2dpZCAiIgorLSJcbiIKKy0iUmVnZXhwJXN8IFZhbHVlIHwgRGVzY3JpcHRpb25cbiIKKy0iLS0tLS0tJXMtLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKy1tc2dzdHIgIiIKKy0KKy0jOiBzcmMvaGRkdGVtcC5jOjExOAorLSMsIGMtZm9ybWF0CistbXNnaWQgIiVzJXN8ICU1ZCB8ICVzXG4iCistbXNnc3RyICIiCistCistIzogc3JjL2hkZHRlbXAuYzoxNjEKKysjOiBzcmMvaGRkdGVtcC5jOjE1NgorICMsIGMtZm9ybWF0CisgbXNnaWQgIiIKKyAiXG4iCitAQCAtMzgsNyArMjUsNyBAQAorICJcbiIKKyBtc2dzdHIgIiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjE4OAorKyM6IHNyYy9oZGR0ZW1wLmM6MTg5CisgIywgYy1mb3JtYXQKKyBtc2dpZCAiIgorICJXQVJOSU5HOiBEcml2ZSAlcyBkb2Vzbid0IHNlZW0gdG8gaGF2ZSBhIHRlbXBlcmF0dXJlIHNlbnNvci5cbiIKK0BAIC00Nyw2NyArMzQsNTkgQEAKKyAiV0FSTklORzogU2VlIC0taGVscCwgLS1kZWJ1ZyBhbmQgLS1kcml2ZWJhc2Ugb3B0aW9ucy5cbiIKKyBtc2dzdHIgIiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjE5MgorLSMsIGMtZm9ybWF0CistbXNnaWQgIiVzOiAlczogIG5vIHNlbnNvclxuIgorLW1zZ3N0ciAiIgorLQorICM6IHNyYy9oZGR0ZW1wLmM6MTk3CisgIywgYy1mb3JtYXQKKy1tc2dpZCAiIgorLSJXQVJOSU5HOiBEcml2ZSAlcyBkb2Vzbid0IGFwcGVhciBpbiB0aGUgZGF0YWJhc2Ugb2Ygc3VwcG9ydGVkIGRyaXZlc1xuIgorLSJXQVJOSU5HOiBCdXQgdXNpbmcgYSBjb21tb24gdmFsdWUsIGl0IHJlcG9ydHMgc29tZXRoaW5nLlxuIgorLSJXQVJOSU5HOiBOb3RlIHRoYXQgdGhlIHRlbXBlcmF0dXJlIHNob3duIGNvdWxkIGJlIHdyb25nLlxuIgorLSJXQVJOSU5HOiBTZWUgLS1oZWxwLCAtLWRlYnVnIGFuZCAtLWRyaXZlYmFzZSBvcHRpb25zLlxuIgorLSJXQVJOSU5HOiBBbmQgZG9uJ3QgZm9yZ2V0IHlvdSBjYW4gYWRkIHlvdXIgZHJpdmUgdG8gaGRkdGVtcC5kYlxuIgorK21zZ2lkICIlczogJXM6ICBubyBzZW5zb3JcbiIKKyBtc2dzdHIgIiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjIwMgorKyM6IHNyYy9oZGR0ZW1wLmM6MjExCisgIywgYy1mb3JtYXQKKyBtc2dpZCAiJXM6ICVzOiAgJWQlc0Mgb3IgJXNGXG4iCisgbXNnc3RyICIiCisgCistIzogc3JjL2hkZHRlbXAuYzoyMTQKKysjOiBzcmMvaGRkdGVtcC5jOjIzNQorICMsIGMtZm9ybWF0CisgbXNnaWQgIiVzOiAlczogZHJpdmUgaXMgc2xlZXBpbmdcbiIKKyBtc2dzdHIgIiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjIxNworKyM6IHNyYy9oZGR0ZW1wLmM6MjQyCisgIywgYy1mb3JtYXQKKy1tc2dpZCAiJXM6ICVzOiAga25vd24gZHJpdmUsIGJ1dCBpdCBkb2Vzbid0IGhhdmUgYSB0ZW1wZXJhdHVyZSBzZW5zb3IuXG4iCisrbXNnaWQgIiVzOiAlczogIGRyaXZlIHN1cHBvcnRlZCwgYnV0IGl0IGRvZXNuJ3QgaGF2ZSBhIHRlbXBlcmF0dXJlIHNlbnNvci5cbiIKKyBtc2dzdHIgIiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjIyMAorKyM6IHNyYy9oZGR0ZW1wLmM6MjQ2CisgIywgYy1mb3JtYXQKKyBtc2dpZCAiRVJST1I6ICVzOiAlczogdW5rbm93biByZXR1cm5lZCBzdGF0dXNcbiIKKyBtc2dzdHIgIiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjIzNQorKyM6IHNyYy9oZGR0ZW1wLmM6MjYxCisgIywgYy1mb3JtYXQKKyBtc2dpZCAiIgorICJcbiIKKyAiSWYgb25lIG9mIHRoZSBmaWVsZCB2YWx1ZSBzZWVtcyB0byBtYXRjaCB0aGUgdGVtcGVyYXR1cmUsIGJlIHN1cmUgdG8gcmVhZFxuIgorLSJ0aGUgaGRkdGVtcCBtYW4gcGFnZSBiZWZvcmUgc2VuZGluZyBtZSBhIHJlcG9ydCAoc2VjdGlvbiBSRVBPUlQpLiBUaGFua3MuXG4iCisrInRoZSBoZGR0ZW1wIG1hbiBwYWdlIGJlZm9yZSBzZW5kaW5nIGEgcmVwb3J0IChzZWN0aW9uIFJFUE9SVCkuIFRoYW5rcy5cbiIKKyBtc2dzdHIgIiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjMwOAorKyM6IHNyYy9oZGR0ZW1wLmM6MzM4CisgIywgYy1mb3JtYXQKKyBtc2dpZCAiRVJST1I6IGludmFsaWQgc2VwYXJhdG9yLlxuIgorIG1zZ3N0ciAiIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6MzE5CisrIzogc3JjL2hkZHRlbXAuYzozNDkKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICJFUlJPUjogaW52YWxpZCBwb3J0IG51bWJlci5cbiIKKyBtc2dzdHIgIiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjMyOQorKyM6IHNyYy9oZGR0ZW1wLmM6MzcxCisgIywgYy1mb3JtYXQKKyBtc2dpZCAiIgorLSIgVXNhZ2U6IGhkZHRlbXAgW09QVElPTlNdIERJU0sxIFtESVNLMl0uLi5cbiIKKysiIFVzYWdlOiBoZGR0ZW1wIFtPUFRJT05TXSBbVFlQRTpdRElTSzEgW1tUWVBFOl1ESVNLMl0uLi5cbiIKKyAiXG4iCisgIiAgIGhkZHRlbXAgZGlzcGxheXMgdGhlIHRlbXBlcmF0dXJlIG9mIGRyaXZlcyBzdXBwbGllZCBpbiBhcmd1bWVudC5cbiIKKyAiICAgRHJpdmVzIG11c3Qgc3VwcG9ydCBTLk0uQS5SLlQuXG4iCisgIlxuIgorKyIgIFRZUEUgY291bGQgYmUgU0FUQSwgUEFUQSBvciBTQ1NJLiBJZiBvbWl0dGVkIGhkZHRlbXAgd2lsbCB0cnkgdG8gZ3Vlc3MuXG4iCisrIlxuIgorICIgIC1iICAgLS1kcml2ZWJhc2UgICA6ICBkaXNwbGF5IGRhdGFiYXNlIGZpbGUgY29udGVudCB0aGF0IGFsbG93IGhkZHRlbXAgdG9cbiIKKyAiICAgICAgICAgICAgICAgICAgICAgICAgcmVjb2duaXplIHN1cHBvcnRlZCBkcml2ZXMuXG4iCisgIiAgLUQgICAtLWRlYnVnICAgICAgIDogIGRpc3BsYXkgdmFyaW91cyBTLk0uQS5SLlQuIGZpZWxkcyBhbmQgdGhlaXIgdmFsdWVzLlxuIgorQEAgLTExNyw2ICs5Niw3IEBACisgIiAgLWQgICAtLWRhZW1vbiAgICAgIDogIHJ1biBoZGR0ZW1wIGluIFRDUC9JUCBkYWVtb24gbW9kZSAocG9ydCAlZCBieSAiCisgImRlZmF1bHQuKVxuIgorICIgIC1mICAgLS1maWxlPUZJTEUgICA6ICBzcGVjaWZ5IGRhdGFiYXNlIGZpbGUgdG8gdXNlLlxuIgorKyIgIC1GICAgLS1mb3JlZ3JvdW5kICA6ICBkb24ndCBkYWVtb25pemUsIHN0YXkgaW4gZm9yZWdyb3VuZC5cbiIKKyAiICAtbCAgIC0tbGlzdGVuPWFkZHIgOiAgbGlzdGVuIG9uIGEgc3BlY2lmaWMgaW50ZXJmYWNlIChpbiBUQ1AvSVAgZGFlbW9uICIKKyAibW9kZSkuXG4iCisgIiAgLW4gICAtLW51bWVyaWMgICAgIDogIHByaW50IG9ubHkgdGhlIHRlbXBlcmF0dXJlLlxuIgorQEAgLTEyNCw2ICsxMDQsOCBAQAorICIgIC1zICAgLS1zZXBhcmF0b3I9QyA6ICBzZXBhcmF0b3IgdG8gdXNlIGJldHdlZW4gZmllbGRzIChpbiBUQ1AvSVAgZGFlbW9uICIKKyAibW9kZSkuXG4iCisgIiAgLVMgICAtLXN5c2xvZz1zICAgIDogIGxvZyB0ZW1wZXJhdHVyZSB0byBzeXNsb2cgZXZlcnkgcyBzZWNvbmRzLlxuIgorKyIgIC11ICAgLS11bml0PVtDfEZdICA6ICBmb3JjZSBvdXRwdXQgdGVtcGVyYXR1cmUgZWl0aGVyIGluIENlbHNpdXMgb3IgIgorKyJGYWhyZW5oZWl0LlxuIgorICIgIC1xICAgLS1xdWlldCAgICAgICA6ICBkbyBub3QgY2hlY2sgaWYgdGhlIGRyaXZlIGlzIHN1cHBvcnRlZC5cbiIKKyAiICAtdiAgIC0tdmVyc2lvbiAgICAgOiAgZGlzcGxheSBoZGR0ZW1wIHZlcnNpb24gbnVtYmVyLlxuIgorICIgIC13ICAgLS13YWtlLXVwICAgICA6ICB3YWtlLXVwIHRoZSBkcml2ZSBpZiBuZWVkLlxuIgorQEAgLTEzMyw1OCArMTE1LDY5IEBACisgIlJlcG9ydCBidWdzIG9yIG5ldyBkcml2ZXMgdG8gPGhkZHRlbXBAZ3V6dS5uZXQ+LlxuIgorIG1zZ3N0ciAiIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6NTIyCisrIzogc3JjL2hkZHRlbXAuYzo0MDIKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICJoZGR0ZW1wIHZlcnNpb24gJXNcbiIKKyBtc2dzdHIgIiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjU0NworKyM6IHNyYy9oZGR0ZW1wLmM6NDE4CisgIywgYy1mb3JtYXQKKyBtc2dpZCAiRVJST1I6IGludmFsaWQgaW50ZXJ2YWwuXG4iCisgbXNnc3RyICIiCisgCistIzogc3JjL2hkZHRlbXAuYzo1NDcKKysjOiBzcmMvaGRkdGVtcC5jOjQzOAorKyMsIGMtZm9ybWF0CisgbXNnaWQgIlRvbyBmZXcgYXJndW1lbnRzOiB5b3UgbXVzdCBzcGVjaWZ5IG9uZSBkcml2ZSwgYXQgbGVhc3QuXG4iCisgbXNnc3RyICIiCisgCistIzogc3JjL2hkZHRlbXAuYzo1NTcKKysjOiBzcmMvaGRkdGVtcC5jOjQ0OAorKyMsIGMtZm9ybWF0CisgbXNnaWQgIkVSUk9SOiBjYW4ndCB1c2UgLS1kZWJ1ZyBhbmQgLS1kYWVtb24gb3IgLS1zeXNsb2cgb3B0aW9ucyB0b2dldGhlci5cbiIKKyBtc2dzdHIgIiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjU4MworKyM6IHNyYy9oZGR0ZW1wLmM6NTA1CisgIywgYy1mb3JtYXQKKyBtc2dpZCAiRVJST1I6ICVzOiBjYW4ndCBkZXRlcm1pbmUgYnVzIHR5cGUgKG9yIHRoaXMgYnVzIHR5cGUgaXMgdW5rbm93bilcbiIKKyBtc2dzdHIgIiIKKyAKKy0jOiBzcmMvYXRhLmM6NjYgc3JjL3Njc2kuYzo2OAorKyM6IHNyYy9hdGEuYzo2NiBzcmMvc2NzaS5jOjY0CisgbXNnaWQgInVua25vd24iCisgbXNnc3RyICIiCisgCistIzogc3JjL2F0YS5jOjk4CisrIzogc3JjL2F0YS5jOjg1IHNyYy9hdGEuYzoxMDQgc3JjL3Njc2kuYzo5MQorICMsIGMtZm9ybWF0CistbXNnaWQgImZpZWxkKCVkKVx0ID0gJWRcbiIKKyttc2dpZCAiUy5NLkEuUi5ULiBub3QgYXZhaWxhYmxlIgorIG1zZ3N0ciAiIgorIAorLSM6IHNyYy9hdGEuYzoxNjcKKy1tc2dpZCAiUy5NLkEuUi5ULiBub3QgYXZhaWxhYmxlIgorKyM6IHNyYy9kYi5jOjExNQorKyMsIGMtZm9ybWF0CisrbXNnaWQgIiIKKysiXG4iCisrIlJlZ2V4cCVzfCBWYWx1ZSB8IERlc2NyaXB0aW9uXG4iCisrIi0tLS0tLSVzLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisrbXNnc3RyICIiCisrCisrIzogc3JjL2RiLmM6MTIxCisrIywgYy1mb3JtYXQKKyttc2dpZCAiJXMlc3wgJTVkIHwgJXNcbiIKKyBtc2dzdHIgIiIKKyAKKy0jOiBzcmMvZGIuYzoxODAKKysjOiBzcmMvZGIuYzoyMzYKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICJoZGR0ZW1wOiBjYW4ndCBvcGVuICUxJHM6ICUyJHNcbiIKKyBtc2dzdHIgIiIKKyAKKy0jOiBzcmMvZGIuYzoxOTQKKysjOiBzcmMvZGIuYzoyNTAKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICJFUlJPUjogc3ludGF4IGVycm9yIGF0IGxpbmUgJTEkZCBpbiAlMiRzXG4iCisgbXNnc3RyICIiCisgCistIzogc3JjL2RiLmM6MjAxCisrIzogc3JjL2RiLmM6MjU3CisgIywgYy1mb3JtYXQKKyBtc2dpZCAiICBFUlJPUjogbGluZSBleGNlZWQgJTEkZCBjaGFyYWN0ZXJzIGluICUyJHMuXG4iCisgbXNnc3RyICIiCisgCistIzogc3JjL3Njc2kuYzoxMTIgc3JjL3Njc2kuYzoxMzAKKysjOiBzcmMvc2NzaS5jOjExMSBzcmMvc2NzaS5jOjEyOQorICMsIGMtZm9ybWF0CisgbXNnaWQgImxvZyBzZW5zZSBmYWlsZWQgOiAlcyIKKyBtc2dzdHIgIiIKKy0tLSBoZGR0ZW1wLTAuMy1iZXRhMTUub3JpZy9zcmMvc2F0YS5jCisrKysgaGRkdGVtcC0wLjMtYmV0YTE1L3NyYy9zYXRhLmMKK0BAIC0xMTgsMTEgKzExOCwyMiBAQAorICAgaW50ICAgICAgICAgICAgICBpOworICAgdTE2ICogICAgICAgICAgICBwOworIAorLSAgaWYoZHNrLT5kYl9lbnRyeSAmJiBkc2stPmRiX2VudHJ5LT5hdHRyaWJ1dGVfaWQgPT0gMCkgeworKyAgaWYoZHNrLT5kYl9lbnRyeS0+YXR0cmlidXRlX2lkID09IDApIHsKKyAgICAgY2xvc2UoZHNrLT5mZCk7CisgICAgIGRzay0+ZmQgPSAtMTsKKyAgICAgcmV0dXJuIEdFVFRFTVBfTk9TRU5TT1I7CisgICB9CisrCisrICBzd2l0Y2goYXRhX2dldF9wb3dlcm1vZGUoZHNrLT5mZCkpIHsKKysgIGNhc2UgUFdNX1NUQU5EQlk6CisrICBjYXNlIFBXTV9TTEVFUElORzoKKysgICAgaWYgKCF3YWtldXApCisrICAgICAgcmV0dXJuIEdFVFRFTVBfRFJJVkVfU0xFRVA7CisrICBjYXNlIFBXTV9VTktOT1dOOgorKyAgY2FzZSBQV01fQUNUSVZFOiAvKiBhY3RpdmUgb3IgaWRsZSAqLworKyAgZGVmYXVsdDoKKysgICAgYnJlYWs7CisrICB9CisgICAKKyAgIC8qIGdldCBTTUFSVCB2YWx1ZXMgKi8KKyAgIGlmKHNhdGFfZW5hYmxlX3NtYXJ0KGRzay0+ZmQpICE9IDApIHsKK0BAIC0xNTQsMjQgKzE2NSwxNSBAQAorICAgfQorIAorICAgLyogdGVtcGVyYXR1cmUgKi8KKy0gIGlmKGRzay0+ZGJfZW50cnkgJiYgZHNrLT5kYl9lbnRyeS0+YXR0cmlidXRlX2lkID4gMCkKKy0gICAgZmllbGQgPSBzYXRhX3NlYXJjaF90ZW1wZXJhdHVyZSh2YWx1ZXMsIGRzay0+ZGJfZW50cnktPmF0dHJpYnV0ZV9pZCk7CistICBlbHNlCistICAgIGZpZWxkID0gc2F0YV9zZWFyY2hfdGVtcGVyYXR1cmUodmFsdWVzLCBERUZBVUxUX0FUVFJJQlVURV9JRCk7CisrICBmaWVsZCA9IHNhdGFfc2VhcmNoX3RlbXBlcmF0dXJlKHZhbHVlcywgZHNrLT5kYl9lbnRyeS0+YXR0cmlidXRlX2lkKTsKKyAKKyAgIGlmKGZpZWxkKQorICAgICBkc2stPnZhbHVlID0gKihmaWVsZCszKTsKKyAKKyAgIGlmKGRzay0+ZGJfZW50cnkgJiYgZHNrLT52YWx1ZSAhPSAtMSkKKyAgICAgcmV0dXJuIEdFVFRFTVBfS05PV047CistICBlbHNlIHsKKy0gICAgaWYoZHNrLT52YWx1ZSAhPSAtMSkgeworLSAgICAgIHJldHVybiBHRVRURU1QX0dVRVNTOworLSAgICB9CistICAgIGVsc2UgeworLSAgICAgIHJldHVybiBHRVRURU1QX1VOS05PV047CistICAgIH0KKy0gIH0KKysgIGVsc2UKKysgICAgcmV0dXJuIEdFVFRFTVBfVU5LTk9XTjsKKyAKKyAgIC8qIG5ldmVyIHJlYWNoZWQgKi8KKyB9CistLS0gaGRkdGVtcC0wLjMtYmV0YTE1Lm9yaWcvc3JjL3NhdGFjbWRzLmMKKysrKyBoZGR0ZW1wLTAuMy1iZXRhMTUvc3JjL3NhdGFjbWRzLmMKK0BAIC0zOSw3ICszOSw3IEBACisgI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgorICNpbmNsdWRlIDxzY3NpL3NnLmg+CisgI2luY2x1ZGUgPGxpbnV4L2hkcmVnLmg+CistI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4KKysjaW5jbHVkZSA8Ynl0ZXN3YXAuaD4KKyAKKyAvLyBBcHBsaWNhdGlvbiBzcGVjaWZpYyBpbmNsdWRlcworICNpbmNsdWRlICJzYXRhY21kcy5oIgorQEAgLTgwLDggKzgwLDggQEAKKyAKKyAgIHJldCA9IHNjc2lfU0dfSU8oZGV2aWNlLCBjZGIsIHNpemVvZihjZGIpLCBidWZmZXIsIGNtZFszXSAqIDUxMiwgc2Vuc2UsIHNpemVvZihzZW5zZSksIGR4ZmVyX2RpcmVjdGlvbik7CisgIAorLSAgLyogVmVyaWZ5IFNBVEEgbWFnaWNzICovCistICBpZiAoc2Vuc2VbMF0gIT0gMHg3MiB8fCBzZW5zZVs3XSAhPSAweDBlIHx8IHNlbnNlWzldICE9IDB4MGUgfHwgc2Vuc2VbMTBdICE9IDB4MDApCisrICAvKiBWZXJpZnkgU0FUQSBtYWdpYyAqLworKyAgaWYgKHNlbnNlWzBdICE9IDB4NzIpCisgICAgIHJldHVybiAxOwkJICAKKyAgIGVsc2UgCisgICAgIHJldHVybiByZXQ7CitAQCAtOTUsMTAgKzk1LDEwIEBACisgICBwID0gczsKKyAgIGVuZCA9ICZzW2J5dGVjb3VudCAmIH4xXTsgLyogYnl0ZWNvdW50IG11c3QgYmUgZXZlbiAqLworIAorLSAgLyogY29udmVydCBmcm9tIGJpZy1lbmRpYW4gdG8gaG9zdCBieXRlIG9yZGVyICovCisrICAvKiBjb252ZXJ0IGZyb20gYmlnLWVuZGlhbiB0byBzdHJpbmcgb3JkZXIgKi8KKyAgIGZvciAocCA9IGVuZCA7IHAgIT0gczspIHsKKyAgICAgdW5zaWduZWQgc2hvcnQgKnBwID0gKHVuc2lnbmVkIHNob3J0ICopIChwIC09IDIpOworLSAgICAqcHAgPSBudG9ocygqcHApOworKyAgICAqcHAgPSBic3dhcF8xNigqcHApOworICAgfQorIAorICAgLyogc3RyaXAgbGVhZGluZyBibGFua3MgKi8KKy0tLSBoZGR0ZW1wLTAuMy1iZXRhMTUub3JpZy9zcmMvYmFja3RyYWNlLmMKKysrKyBoZGR0ZW1wLTAuMy1iZXRhMTUvc3JjL2JhY2t0cmFjZS5jCitAQCAtMTYsOSArMTYsMTAgQEAKKyAgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQorICAqLworIAorKyNkZWZpbmUgX0dOVV9TT1VSQ0UKKyAjaW5jbHVkZSA8ZmVhdHVyZXMuaD4KKyAKKy0jaWYgZGVmaW5lZChfX2kzODZfXykgJiYgZGVmaW5lZChfX0dMSUJDX18pCisrI2lmIChkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pKSAmJiBkZWZpbmVkKF9fR0xJQkNfXykKKyAKKyAjaW5jbHVkZSA8ZXhlY2luZm8uaD4KKyAKK0BAIC0zMSw4ICszMiwxMiBAQAorICNpbmNsdWRlIDxiaXRzL3NpZ2NvbnRleHQuaD4KKyAjaW5jbHVkZSA8c3lzL3BhcmFtLmg+CisgCistI2RlZmluZSBfX1VTRV9HTlUKKyAjaW5jbHVkZSA8dWNvbnRleHQuaD4KKysjaWYgZGVmaW5lZChfX2kzODZfXykKKysjICBkZWZpbmUgUkVHX0lQIFJFR19FSVAKKysjZWxpZiBkZWZpbmVkKF9feDg2XzY0X18pCisrIyAgZGVmaW5lIFJFR19JUCBSRUdfUklQCisrI2VuZGlmCisgCisgI2RlZmluZSBNQVhfQlRTSVpFIDY0CisgCitAQCAtNDIsNyArNDcsNiBAQAorICAgc3RhdGljIGNoYXIgKiptZXNzYWdlcyA9IE5VTEw7CisgICBzdGF0aWMgc2l6ZV90IGJ0c2l6ZSA9IDA7CisgICBzdGF0aWMgc2l6ZV90IGk7CistICBzdGF0aWMgdW5zaWduZWQgaW50IG9sZF9laXAsIG9sZF9lYnA7CisgICBzdGF0aWMgY2hhciAqc3RyZXJyID0gIj8/PyI7CisgICBzdGF0aWMgRklMRSAqZnN0cm07CisgCitAQCAtNjEsMTAgKzY1LDEwIEBACisgICAgICAgU0lDX0NBU0UoU0VHVl9NQVBFUlIpOworICAgICAgIFNJQ19DQVNFKFNFR1ZfQUNDRVJSKTsKKyAgICAgfQorLSAgICBmcHJpbnRmKGZzdHJtLCAiPT09IFNFR0ZBVUxUICglcykgOiBpbnZhbGlkIGFjY2VzcyB0byAlcCwgaW4gMHglMDh4XG4iLAorKyAgICBmcHJpbnRmKGZzdHJtLCAiPT09IFNFR0ZBVUxUICglcykgOiBpbnZhbGlkIGFjY2VzcyB0byAlcCwgaW4gJXBcbiIsCisgCSAgICBzdHJlcnIsCisgCSAgICBpc3QtPnNpX2FkZHIsCistCSAgICBwdWMtPnVjX21jb250ZXh0LmdyZWdzW1JFR19FSVBdKTsKKysJICAgICh2b2lkKilwdWMtPnVjX21jb250ZXh0LmdyZWdzW1JFR19JUF0pOworICAgICBicmVhazsKKyAgIGNhc2UgU0lHSUxMOgorICAgICBzd2l0Y2goaXN0LT5zaV9jb2RlKSB7CitAQCAtNzcsMTAgKzgxLDEwIEBACisgICAgICAgU0lDX0NBU0UoSUxMX0NPUFJPQyk7CisgICAgICAgU0lDX0NBU0UoSUxMX0JBRFNUSyk7CisgICAgIH0KKy0gICAgZnByaW50Zihmc3RybSwgIj09PSBJTExFR0FMIElOU1RSICglcykgOiBpbnZhbGlkIGFjY2VzcyB0byAlcCwgaW4gMHglMDh4XG4iLAorKyAgICBmcHJpbnRmKGZzdHJtLCAiPT09IElMTEVHQUwgSU5TVFIgKCVzKSA6IGludmFsaWQgYWNjZXNzIHRvICVwLCBpbiAlcFxuIiwKKyAJICAgIHN0cmVyciwKKyAJICAgIGlzdC0+c2lfYWRkciwKKy0JICAgIHB1Yy0+dWNfbWNvbnRleHQuZ3JlZ3NbUkVHX0VJUF0pOworKwkgICAgKHZvaWQqKXB1Yy0+dWNfbWNvbnRleHQuZ3JlZ3NbUkVHX0lQXSk7CisgICAgIGJyZWFrOworICAgY2FzZSBTSUdCVVM6CisgICAgIHN3aXRjaChpc3QtPnNpX2NvZGUpIHsKK0BAIC04OCwxMCArOTIsMTAgQEAKKyAgICAgICBTSUNfQ0FTRShCVVNfQURSRVJSKTsKKyAgICAgICBTSUNfQ0FTRShCVVNfT0JKRVJSKTsKKyAgICAgfQorLSAgICBmcHJpbnRmKGZzdHJtLCAiPT09IEJVUyBFUlJPUiAoJXApIDogaW52YWxpZCBhY2Nlc3MgdG8gJXAsIGluIDB4JTA4eFxuIiwKKysgICAgZnByaW50Zihmc3RybSwgIj09PSBCVVMgRVJST1IgKCVwKSA6IGludmFsaWQgYWNjZXNzIHRvICVwLCBpbiAlcFxuIiwKKyAJICAgIHN0cmVyciwKKyAJICAgIGlzdC0+c2lfYWRkciwKKy0JICAgIHB1Yy0+dWNfbWNvbnRleHQuZ3JlZ3NbUkVHX0VJUF0pOworKwkgICAgKHZvaWQqKXB1Yy0+dWNfbWNvbnRleHQuZ3JlZ3NbUkVHX0lQXSk7CisgICAgIGJyZWFrOworICAgfQorICAgZmZsdXNoKGZzdHJtKTsKK0BAIC0xMDEsNyArMTA1LDcgQEAKKyAgIC8qCisgICAgIG9sZF9laXAgPSAqKHVuc2lnbmVkIGludCopKCh2b2lkKikmbi00KTsKKyAgICAgb2xkX2VicCA9ICoodW5zaWduZWQgaW50KikoKHZvaWQqKSZuLTgpOworLSAgICAqKHVuc2lnbmVkIGludCopKCh2b2lkKikmbi00KSA9IHB1Yy0+dWNfbWNvbnRleHQuZ3JlZ3NbUkVHX0VJUF07CisrICAgICoodW5zaWduZWQgaW50KikoKHZvaWQqKSZuLTQpID0gcHVjLT51Y19tY29udGV4dC5ncmVnc1tSRUdfSVBdOworICAgICAqKHVuc2lnbmVkIGludCopKCh2b2lkKikmbi04KSA9IHB1Yy0+dWNfbWNvbnRleHQuZ3JlZ3NbUkVHX0VCUF07ICAgIAorICAgICAKKyAgICAgYnRzaXplID0gYmFja3RyYWNlKGJ0aW5mbywgTUFYX0JUU0laRSk7CitAQCAtMTExLDE0ICsxMTUsMTQgQEAKKyAgICovCisgICAKKyAgIGJ0c2l6ZSA9IGJhY2t0cmFjZShidGluZm8sIE1BWF9CVFNJWkUpOworLSAgYnRpbmZvWzFdID0gKHZvaWQqKSBwdWMtPnVjX21jb250ZXh0LmdyZWdzW1JFR19FSVBdOworKyAgYnRpbmZvWzFdID0gKHZvaWQqKSBwdWMtPnVjX21jb250ZXh0LmdyZWdzW1JFR19JUF07CisgCisgICBtZXNzYWdlcyA9IGJhY2t0cmFjZV9zeW1ib2xzKGJ0aW5mbywgYnRzaXplKTsKKyAKKyAgIGZvcihpID0gMTsKKyAgICAgICBpIDwgYnRzaXplOworICAgICAgIGkrKykKKy0gICAgZnByaW50Zihmc3RybSwgIlslZF0gIyVkOiAlc1xuIiwgZ2V0cGlkKCksIGksIG1lc3NhZ2VzW2ldKTsKKysgICAgZnByaW50Zihmc3RybSwgIlslZF0gIyV6dTogJXNcbiIsIGdldHBpZCgpLCBpLCBtZXNzYWdlc1tpXSk7CisgICBmZmx1c2goZnN0cm0pOworICAgZmNsb3NlKGZzdHJtKTsKKyAKKy0tLSBoZGR0ZW1wLTAuMy1iZXRhMTUub3JpZy9zcmMvZGFlbW9uLmMKKysrKyBoZGR0ZW1wLTAuMy1iZXRhMTUvc3JjL2RhZW1vbi5jCitAQCAtMTYzLDE5ICsxNjMsMTYgQEAKKyAKKyAgICAgc3dpdGNoKGRzay0+cmV0KSB7CisgICAgIGNhc2UgR0VUVEVNUF9OT1RfQVBQTElDQUJMRToKKy0gICAgICBuID0gc25wcmludGYobXNnLCBzaXplb2YobXNnKSwgIiVzJWMlcyVjJXMlYyVjIiwKKysgICAgICBuID0gc25wcmludGYobXNnLCBzaXplb2YobXNnKSwgIiVzJWMlcyVjTkElYyoiLAorICAgICAgICAgICAgICAgICAgICBkc2stPmRyaXZlLCBzZXBhcmF0b3IsCisgICAgICAgICAgICAgICAgICAgIGRzay0+bW9kZWwsIHNlcGFyYXRvciwKKy0gICAgICAgICAgICAgICAgICAgIk5BIiwgICAgICAgc2VwYXJhdG9yLAorLSAgICAgICAgICAgICAgICAgICAnKicpOworKyAgICAgICAgICAgICAgICAgICBzZXBhcmF0b3IpOworICAgICAgIGJyZWFrOworLSAgICBjYXNlIEdFVFRFTVBfR1VFU1M6CisgICAgIGNhc2UgR0VUVEVNUF9VTktOT1dOOgorLSAgICAgIG4gPSBzbnByaW50Zihtc2csIHNpemVvZihtc2cpLCAiJXMlYyVzJWMlcyVjJWMiLAorKyAgICAgIG4gPSBzbnByaW50Zihtc2csIHNpemVvZihtc2cpLCAiJXMlYyVzJWNVTkslYyoiLAorICAgICAgICAgICAgICAgICAgICBkc2stPmRyaXZlLCBzZXBhcmF0b3IsCistICAgICAgICAgICAgICAgICAgIGRzay0+bW9kZWwsIHNlcGFyYXRvciwKKy0gICAgICAgICAgICAgICAgICAgIlVOSyIsICAgICBzZXBhcmF0b3IsCistICAgICAgICAgICAgICAgICAgICcqJyk7CisrICAgICAgICAgICAgICAgICAgIGRzay0+bW9kZWwsIHNlcGFyYXRvciwgCisrCQkgICBzZXBhcmF0b3IpOworICAgICAgIGJyZWFrOworICAgICBjYXNlIEdFVFRFTVBfS05PV046CisgICAgICAgbiA9IHNucHJpbnRmKG1zZywgc2l6ZW9mKG1zZyksICIlcyVjJXMlYyVkJWMlYyIsCitAQCAtMTg1LDI2ICsxODIsMjMgQEAKKyAgICAgICAgICAgICAgICAgICAgZ2V0X3VuaXQoZHNrKSk7CisgICAgICAgYnJlYWs7CisgICAgIGNhc2UgR0VUVEVNUF9OT1NFTlNPUjoKKy0gICAgICBuID0gc25wcmludGYobXNnLCBzaXplb2YobXNnKSwgIiVzJWMlcyVjJXMlYyVjIiwKKysgICAgICBuID0gc25wcmludGYobXNnLCBzaXplb2YobXNnKSwgIiVzJWMlcyVjTk9TJWMqIiwKKyAgICAgICAgICAgICAgICAgICAgZHNrLT5kcml2ZSwgc2VwYXJhdG9yLAorICAgICAgICAgICAgICAgICAgICBkc2stPm1vZGVsLCBzZXBhcmF0b3IsCistICAgICAgICAgICAgICAgICAgICJOT1MiLCAgICAgIHNlcGFyYXRvciwKKy0gICAgICAgICAgICAgICAgICAgJyonKTsKKysgICAgICAgICAgICAgICAgICAgc2VwYXJhdG9yKTsKKyAgICAgICBicmVhazsKKyAgICAgY2FzZSBHRVRURU1QX0RSSVZFX1NMRUVQOgorLSAgICAgIG4gPSBzbnByaW50Zihtc2csIHNpemVvZihtc2cpLCAiJXMlYyVzJWMlcyVjJWMiLAorKyAgICAgIG4gPSBzbnByaW50Zihtc2csIHNpemVvZihtc2cpLCAiJXMlYyVzJWNTTFAlYyoiLAorICAgICAgICAgICAgICAgICAgICBkc2stPmRyaXZlLCBzZXBhcmF0b3IsCisgICAgICAgICAgICAgICAgICAgIGRzay0+bW9kZWwsIHNlcGFyYXRvciwKKy0gICAgICAgICAgICAgICAgICAgIlNMUCIsICAgICAgc2VwYXJhdG9yLAorLSAgICAgICAgICAgICAgICAgICAnKicpOworKyAgICAgICAgICAgICAgICAgICBzZXBhcmF0b3IpOworICAgICAgIGJyZWFrOworICAgICBjYXNlIEdFVFRFTVBfRVJST1I6CisgICAgIGRlZmF1bHQ6CistICAgICAgbiA9IHNucHJpbnRmKG1zZywgc2l6ZW9mKG1zZyksICIlcyVjJXMlYyVzJWMlYyIsCisrICAgICAgbiA9IHNucHJpbnRmKG1zZywgc2l6ZW9mKG1zZyksICIlcyVjJXMlY0VSUiVjKiIsCisgICAgICAgICAgICAgICAgICAgIGRzay0+ZHJpdmUsICAgICAgICAgICAgICAgICAgICAgICAgc2VwYXJhdG9yLAorICAgICAgICAgICAgICAgICAgICAoZHNrLT5tb2RlbCkgPyBkc2stPm1vZGVsIDogIj8/PyIsIHNlcGFyYXRvciwKKy0gICAgICAgICAgICAgICAgICAgIkVSUiIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXBhcmF0b3IsCistICAgICAgICAgICAgICAgICAgICcqJyk7CisrICAgICAgICAgICAgICAgICAgIHNlcGFyYXRvcik7CisgICAgICAgYnJlYWs7CisgICAgIH0KKyAgICAgd3JpdGUoY2ZkLCZzZXBhcmF0b3IsIDEpOworQEAgLTIyMiwxNCArMjE2LDExIEBACisgICBmb3IoZHNrID0gbGRpc2tzOyBkc2s7IGRzayA9IGRzay0+bmV4dCkgeworICAgICBzd2l0Y2goZHNrLT5yZXQpIHsKKyAgICAgY2FzZSBHRVRURU1QX0tOT1dOOgorLSAgICBjYXNlIEdFVFRFTVBfR1VFU1M6CistICAgICAgdmFsdWVfdG9fdW5pdChkc2spOworLQorICAgICAgIHN5c2xvZyhMT0dfSU5GTywgIiVzOiAlczogJWQgJWMiLCAKKyAgICAgICAgICAgICAgZHNrLT5kcml2ZSwKKyAJICAgICBkc2stPm1vZGVsLAorLQkgICAgIGRzay0+dmFsdWUsCistCSAgICAgZHNrLT5kYl9lbnRyeS0+dW5pdCk7CisrCSAgICAgdmFsdWVfdG9fdW5pdChkc2spLAorKwkgICAgIGdldF91bml0KGRzaykpOworICAgICAgIGJyZWFrOworICAgICBjYXNlIEdFVFRFTVBfRFJJVkVfU0xFRVA6CisgICAgICAgc3lzbG9nKExPR19XQVJOSU5HLCBfKCIlczogJXM6IGRyaXZlIGlzIHNsZWVwaW5nIiksIAorQEAgLTI3MCwyOCArMjYxLDMwIEBACisgICBmZF9zZXQgICAgICAgICAgICAgZGVmZmRzOworICAgdGltZV90ICAgICAgICAgICAgIG5leHRfdGltZTsKKyAKKy0gIHN3aXRjaChmb3JrKCkpIHsKKy0gIGNhc2UgLTE6CistICAgIHBlcnJvcigiZm9yayIpOworLSAgICBleGl0KDIpOworLSAgICBicmVhazsKKy0gIGNhc2UgMDoKKy0gICAgYnJlYWs7CistICBkZWZhdWx0OgorLSAgICBleGl0KDApOworLSAgfQorLSAgCistICBzZXRzaWQoKTsKKy0gIAorLSAgc3dpdGNoKGZvcmsoKSkgeworLSAgY2FzZSAtMToKKy0gICAgcGVycm9yKCJmb3JrIik7CistICAgIGV4aXQoMik7CistICAgIGJyZWFrOworLSAgY2FzZSAwOgorLSAgICBicmVhazsKKy0gIGRlZmF1bHQ6CistICAgIGV4aXQoMCk7CisraWYgKCFmb3JlZ3JvdW5kKSB7CisrICAgIHN3aXRjaChmb3JrKCkpIHsKKysgICAgY2FzZSAtMToKKysgICAgICBwZXJyb3IoImZvcmsiKTsKKysgICAgICBleGl0KDIpOworKyAgICAgIGJyZWFrOworKyAgICBjYXNlIDA6CisrICAgICAgYnJlYWs7CisrICAgIGRlZmF1bHQ6CisrICAgICAgZXhpdCgwKTsKKysgICAgfQorKworKyAgICBzZXRzaWQoKTsKKysKKysgICAgc3dpdGNoKGZvcmsoKSkgeworKyAgICBjYXNlIC0xOgorKyAgICAgIHBlcnJvcigiZm9yayIpOworKyAgICAgIGV4aXQoMik7CisrICAgICAgYnJlYWs7CisrICAgIGNhc2UgMDoKKysgICAgICBicmVhazsKKysgICAgZGVmYXVsdDoKKysgICAgICBleGl0KDApOworKyAgICB9CisgICB9CisgICBjaGRpcigiLyIpOworICAgdW1hc2soMCk7CistLS0gaGRkdGVtcC0wLjMtYmV0YTE1Lm9yaWcvc3JjL2hkZHRlbXAuYworKysrIGhkZHRlbXAtMC4zLWJldGExNS9zcmMvaGRkdGVtcC5jCitAQCAtNzUsNyArNzUsNyBAQAorIGNoYXIgICAgICAgICAgICAgICBzZXBhcmF0b3IgPSBTRVBBUkFUT1I7CisgCisgc3RydWN0IGJ1c3R5cGUgKiAgIGJ1c1tCVVNfVFlQRV9NQVhdOworLWludCAgICAgICAgICAgICAgICB0Y3BfZGFlbW9uLCBkZWJ1ZywgcXVpZXQsIG51bWVyaWMsIHdha2V1cCwgYWZfaGludDsKKytpbnQgICAgICAgICAgICAgICAgdGNwX2RhZW1vbiwgZGVidWcsIHF1aWV0LCBudW1lcmljLCB3YWtldXAsIGZvcmVncm91bmQsIGFmX2hpbnQ7CisgCisgc3RhdGljIGVudW0geyBERUZBVUxULCBDRUxTSVVTLCBGQUhSRU5IRUlUIH0gdW5pdDsKKyAKK0BAIC0xOTQsMjMgKzE5NCw3IEBACisgICAgIGlmIChudW1lcmljICYmIHF1aWV0KQorICAgICAgIHByaW50ZigiMFxuIik7ICAgICAgCisgICAgIGVsc2UKKy0gICAgICBwcmludGYoXygiJXM6ICVzOiAgbm8gc2Vuc29yXG4iKSwgZHNrLT5kcml2ZSwgZHNrLT5tb2RlbCk7CistCistICAgIGJyZWFrOworLSAgY2FzZSBHRVRURU1QX0dVRVNTOgorLQorLSAgICBpZighcXVpZXQpCistICAgICAgZnByaW50ZihzdGRlcnIsCistCSAgICAgIF8oIldBUk5JTkc6IERyaXZlICVzIGRvZXNuJ3QgYXBwZWFyIGluIHRoZSBkYXRhYmFzZSBvZiBzdXBwb3J0ZWQgZHJpdmVzXG4iCistCQkiV0FSTklORzogQnV0IHVzaW5nIGEgY29tbW9uIHZhbHVlLCBpdCByZXBvcnRzIHNvbWV0aGluZy5cbiIKKy0JCSJXQVJOSU5HOiBOb3RlIHRoYXQgdGhlIHRlbXBlcmF0dXJlIHNob3duIGNvdWxkIGJlIHdyb25nLlxuIgorLQkJIldBUk5JTkc6IFNlZSAtLWhlbHAsIC0tZGVidWcgYW5kIC0tZHJpdmViYXNlIG9wdGlvbnMuXG4iCistCQkiV0FSTklORzogQW5kIGRvbid0IGZvcmdldCB5b3UgY2FuIGFkZCB5b3VyIGRyaXZlIHRvIGhkZHRlbXAuZGJcbiIpLCBkc2stPmRyaXZlKTsKKy0KKy0gICAgaWYgKCEgbnVtZXJpYykKKy0gICAgICBwcmludGYoXygiJXM6ICVzOiAgJWQlc0Mgb3IgJXNGXG4iKSwgZHNrLT5kcml2ZSwgZHNrLT5tb2RlbCwgZHNrLT52YWx1ZSwgZGVncmVlLCBkZWdyZWUpOworLSAgICBlbHNlCistICAgICAgcHJpbnRmKCIlZFxuIiwgdmFsdWVfdG9fdW5pdChkc2spKTsKKysgICAgICBmcHJpbnRmKHN0ZGVyciwgXygiJXM6ICVzOiAgbm8gc2Vuc29yXG4iKSwgZHNrLT5kcml2ZSwgZHNrLT5tb2RlbCk7CisgCisgICAgIGJyZWFrOworICAgY2FzZSBHRVRURU1QX0tOT1dOOgorQEAgLTIzMiwxNCArMjE2LDE0IEBACisgICAgIGlmIChudW1lcmljICYmIHF1aWV0KQorICAgICAgIHByaW50ZigiMFxuIik7ICAgICAgCisgICAgIGVsc2UKKy0gICAgICBwcmludGYoXygiJXM6ICVzOiBkcml2ZSBpcyBzbGVlcGluZ1xuIiksIGRzay0+ZHJpdmUsIGRzay0+bW9kZWwpOworKyAgICAgIGZwcmludGYoc3RkZXJyLCBfKCIlczogJXM6IGRyaXZlIGlzIHNsZWVwaW5nXG4iKSwgZHNrLT5kcml2ZSwgZHNrLT5tb2RlbCk7CisgCisgICAgIGJyZWFrOworICAgY2FzZSBHRVRURU1QX05PU0VOU09SOgorICAgICBpZiAobnVtZXJpYyAmJiBxdWlldCkKKyAgICAgICBwcmludGYoIjBcbiIpOyAgICAgIAorICAgICBlbHNlCistICAgICAgcHJpbnRmKF8oIiVzOiAlczogIGRyaXZlIHN1cHBvcnRlZCwgYnV0IGl0IGRvZXNuJ3QgaGF2ZSBhIHRlbXBlcmF0dXJlIHNlbnNvci5cbiIpLCBkc2stPmRyaXZlLCBkc2stPm1vZGVsKTsKKysgICAgICBmcHJpbnRmKHN0ZGVyciwgXygiJXM6ICVzOiAgZHJpdmUgc3VwcG9ydGVkLCBidXQgaXQgZG9lc24ndCBoYXZlIGEgdGVtcGVyYXR1cmUgc2Vuc29yLlxuIiksIGRzay0+ZHJpdmUsIGRzay0+bW9kZWwpOworICAgICAgIAorICAgICBicmVhazsKKyAgIGRlZmF1bHQ6CitAQCAtMjY4LDggKzI1Miw5IEBACisgCisgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkgeworICAgaW50ICAgICAgICAgICBpLCBjLCBsaW5kZXggPSAwLCBkYl9sb2FkZWQgPSAwOworKyAgaW50IAkJcmV0ID0gMDsKKyAgIGludCAgICAgICAgICAgc2hvd19kYjsKKy0gIHN0cnVjdCBkaXNrICogbGRpc2tzOworKyAgc3RydWN0ICAgICAgICBkaXNrICogbGRpc2tzOworIAorICAgYmFja3RyYWNlX3NpZ3NlZ3YoKTsKKyAgIGJhY2t0cmFjZV9zaWdpbGwoKTsKK0BAIC0yNzksNyArMjY0LDcgQEAKKyAgIGJpbmR0ZXh0ZG9tYWluIChQQUNLQUdFLCBMT0NBTEVESVIpOworICAgdGV4dGRvbWFpbiAoUEFDS0FHRSk7CisgICAKKy0gIHNob3dfZGIgPSBkZWJ1ZyA9IG51bWVyaWMgPSBxdWlldCA9IHdha2V1cCA9IGFmX2hpbnQgPSBzeXNsb2dfaW50ZXJ2YWwgPSAwOworKyAgc2hvd19kYiA9IGRlYnVnID0gbnVtZXJpYyA9IHF1aWV0ID0gd2FrZXVwID0gYWZfaGludCA9IHN5c2xvZ19pbnRlcnZhbCA9IGZvcmVncm91bmQgPSAwOworICAgdW5pdCA9IERFRkFVTFQ7CisgICBwb3J0bnVtID0gUE9SVF9OVU1CRVI7CisgICBsaXN0ZW5fYWRkciA9IE5VTEw7CitAQCAtMjk0LDYgKzI3OSw3IEBACisgICAgICAgeyJkcml2ZWJhc2UiLCAgMCwgTlVMTCwgJ2InfSwKKyAgICAgICB7ImRlYnVnIiwgICAgICAwLCBOVUxMLCAnRCd9LAorICAgICAgIHsiZmlsZSIsICAgICAgIDEsIE5VTEwsICdmJ30sCisrICAgICAgeyJmb3JlZ3JvdW5kIiwgMCwgTlVMTCwgJ0YnfSwKKyAgICAgICB7Imxpc3RlbiIsICAgICAxLCBOVUxMLCAnbCd9LAorICAgICAgIHsidmVyc2lvbiIsICAgIDAsIE5VTEwsICd2J30sCisgICAgICAgeyJwb3J0IiwgICAgICAgMSwgTlVMTCwgJ3AnfSwKK0BAIC0zMDUsNyArMjkxLDcgQEAKKyAgICAgICB7MCwgMCwgMCwgMH0KKyAgICAgfTsKKyAgCistICAgIGMgPSBnZXRvcHRfbG9uZyAoYXJnYywgYXJndiwgImJEZGY6bDpocDpxczp1OnZudzQ2UzoiLCBsb25nX29wdGlvbnMsICZsaW5kZXgpOworKyAgICBjID0gZ2V0b3B0X2xvbmcgKGFyZ2MsIGFyZ3YsICJiRGRmOmw6aHA6cXM6dTp2bnc0NkZTOiIsIGxvbmdfb3B0aW9ucywgJmxpbmRleCk7CisgICAgIGlmIChjID09IC0xKQorICAgICAgIGJyZWFrOworICAgICAKK0BAIC0zODIsMTIgKzM2OCwxMyBAQAorIAkJICIgICAgICAgICAgICAgICAgICAgICAgICAoZG9uZSBmb3IgZXZlcnkgZHJpdmUgc3VwcGxpZWQpLlxuIgorIAkJICIgIC1kICAgLS1kYWVtb24gICAgICA6ICBydW4gaGRkdGVtcCBpbiBUQ1AvSVAgZGFlbW9uIG1vZGUgKHBvcnQgJWQgYnkgZGVmYXVsdC4pXG4iCisgCQkgIiAgLWYgICAtLWZpbGU9RklMRSAgIDogIHNwZWNpZnkgZGF0YWJhc2UgZmlsZSB0byB1c2UuXG4iCisrCQkgIiAgLUYgICAtLWZvcmVncm91bmQgIDogIGRvbid0IGRhZW1vbml6ZSwgc3RheSBpbiBmb3JlZ3JvdW5kLlxuIgorIAkJICIgIC1sICAgLS1saXN0ZW49YWRkciA6ICBsaXN0ZW4gb24gYSBzcGVjaWZpYyBpbnRlcmZhY2UgKGluIFRDUC9JUCBkYWVtb24gbW9kZSkuXG4iCisgICAgICAgICAgICAgICAgICAiICAtbiAgIC0tbnVtZXJpYyAgICAgOiAgcHJpbnQgb25seSB0aGUgdGVtcGVyYXR1cmUuXG4iCisgCQkgIiAgLXAgICAtLXBvcnQ9IyAgICAgIDogIHBvcnQgdG8gbGlzdGVuIHRvIChpbiBUQ1AvSVAgZGFlbW9uIG1vZGUpLlxuIgorIAkJICIgIC1zICAgLS1zZXBhcmF0b3I9QyA6ICBzZXBhcmF0b3IgdG8gdXNlIGJldHdlZW4gZmllbGRzIChpbiBUQ1AvSVAgZGFlbW9uIG1vZGUpLlxuIgorIAkJICIgIC1TICAgLS1zeXNsb2c9cyAgICA6ICBsb2cgdGVtcGVyYXR1cmUgdG8gc3lzbG9nIGV2ZXJ5IHMgc2Vjb25kcy5cbiIKKy0gICAgICAgICAgICAgICAgICIgIC11ICAgLS11bml0PVtDfEZdICA6ICBmb3JjZSBvdXRwdXQgdGVtcGVyYXR1cmUgZWl0aGVyIGluIENlbGl1cyBvciBGYWhyZW5oZWl0LlxuIgorKyAgICAgICAgICAgICAgICAgIiAgLXUgICAtLXVuaXQ9W0N8Rl0gIDogIGZvcmNlIG91dHB1dCB0ZW1wZXJhdHVyZSBlaXRoZXIgaW4gQ2Vsc2l1cyBvciBGYWhyZW5oZWl0LlxuIgorIAkJICIgIC1xICAgLS1xdWlldCAgICAgICA6ICBkbyBub3QgY2hlY2sgaWYgdGhlIGRyaXZlIGlzIHN1cHBvcnRlZC5cbiIKKyAJCSAiICAtdiAgIC0tdmVyc2lvbiAgICAgOiAgZGlzcGxheSBoZGR0ZW1wIHZlcnNpb24gbnVtYmVyLlxuIgorIAkJICIgIC13ICAgLS13YWtlLXVwICAgICA6ICB3YWtlLXVwIHRoZSBkcml2ZSBpZiBuZWVkLlxuIgorQEAgLTQxOCw2ICs0MDUsOSBAQAorIAkgIH0KKyAgICAgICAgIH0KKyAJYnJlYWs7CisrICAgICAgY2FzZSAnRic6CisrICAgICAgICBmb3JlZ3JvdW5kID0gMTsKKysJYnJlYWs7CisgICAgICAgZGVmYXVsdDoKKyAJZXhpdCgxKTsKKyAgICAgICB9CitAQCAtNDg5LDYgKzQ3OSw3IEBACisgICAgIGlmKCAoZHNrLT5mZCA9IG9wZW4oZHNrLT5kcml2ZSwgT19SRE9OTFkgfCBPX05PTkJMT0NLKSkgPCAwKSB7CisgICAgICAgc25wcmludGYoZHNrLT5lcnJvcm1zZywgTUFYX0VSUk9STVNHX1NJWkUsICJvcGVuOiAlc1xuIiwgc3RyZXJyb3IoZXJybm8pKTsKKyAgICAgICBkc2stPnR5cGUgPSBFUlJPUjsKKysgICAgICByZXQgPSAxOworICAgICAgIGNvbnRpbnVlOworICAgICB9CisgCitAQCAtNTAxLDYgKzQ5Miw3IEBACisgCisgICAgICAgbGRpc2tzID0gZHNrLT5uZXh0OworICAgICAgIGZyZWUoZHNrKTsKKysgICAgICByZXQgPSAxOworICAgICAgIGNvbnRpbnVlOworICAgICB9CisgCitAQCAtNTE0LDExICs1MDYsMTcgQEAKKyAJZGJfbG9hZGVkID0gMTsKKyAgICAgICB9ICAgICAgCisgCisrICAgICAgZHNrLT5kYl9lbnRyeSA9IChzdHJ1Y3QgaGFyZGRyaXZlX2VudHJ5ICopbWFsbG9jKHNpemVvZihzdHJ1Y3QgaGFyZGRyaXZlX2VudHJ5KSk7CisgICAgICAgZGJlID0gaXNfYV9zdXBwb3J0ZWRfZHJpdmUoZHNrLT5tb2RlbCk7CistICAgICAgaWYoZGJlKSB7CistCWRzay0+ZGJfZW50cnkgPSAoc3RydWN0IGhhcmRkcml2ZV9lbnRyeSAqKW1hbGxvYyhzaXplb2Yoc3RydWN0IGhhcmRkcml2ZV9lbnRyeSkpOworKyAgICAgIGlmKGRiZSkKKyAJbWVtY3B5KGRzay0+ZGJfZW50cnksIGRiZSwgc2l6ZW9mKHN0cnVjdCBoYXJkZHJpdmVfZW50cnkpKTsKKy0gICAgICB9CQorKyAgICAgIGVsc2UgeworKyAgICAgICAgZHNrLT5kYl9lbnRyeS0+cmVnZXhwICAgICAgID0gIiI7CisrICAgICAgICBkc2stPmRiX2VudHJ5LT5kZXNjcmlwdGlvbiAgPSAiIjsKKysgICAgICAgIGRzay0+ZGJfZW50cnktPmF0dHJpYnV0ZV9pZCA9IERFRkFVTFRfQVRUUklCVVRFX0lEOworKyAgICAgICAgZHNrLT5kYl9lbnRyeS0+dW5pdCAgICAgICAgID0gJ0MnOworKyAgICAgICAgZHNrLT5kYl9lbnRyeS0+bmV4dCAgICAgICAgID0gTlVMTDsKKysgICAgICB9CisgICAgIH0KKyAgIH0KKyAKK0BAIC01MzAsNSArNTI4LDUgQEAKKyAgICAgZG9fZGlyZWN0X21vZGUobGRpc2tzKTsKKyAgIH0KKyAKKy0gIHJldHVybiAwOworKyAgcmV0dXJuIHJldDsKKyB9CistLS0gaGRkdGVtcC0wLjMtYmV0YTE1Lm9yaWcvc3JjL2F0YS5jCisrKysgaGRkdGVtcC0wLjMtYmV0YTE1L3NyYy9hdGEuYworQEAgLTc1LDcgKzc1LDcgQEAKKyAgIGludCAgICAgICAgICAgICAgaTsKKyAgIHUxNiAqICAgICAgICAgICAgcDsKKyAKKy0gIGlmKGRzay0+ZGJfZW50cnkgJiYgZHNrLT5kYl9lbnRyeS0+YXR0cmlidXRlX2lkID09IDApIHsKKysgIGlmKGRzay0+ZGJfZW50cnktPmF0dHJpYnV0ZV9pZCA9PSAwKSB7CisgICAgIGNsb3NlKGRzay0+ZmQpOworICAgICBkc2stPmZkID0gLTE7CisgICAgIHJldHVybiBHRVRURU1QX05PU0VOU09SOworQEAgLTE0MCwyNCArMTQwLDE1IEBACisgICAqLworIAorICAgLyogdGVtcGVyYXR1cmUgKi8KKy0gIGlmKGRzay0+ZGJfZW50cnkgJiYgZHNrLT5kYl9lbnRyeS0+YXR0cmlidXRlX2lkID4gMCkKKy0gICAgZmllbGQgPSBhdGFfc2VhcmNoX3RlbXBlcmF0dXJlKHZhbHVlcywgZHNrLT5kYl9lbnRyeS0+YXR0cmlidXRlX2lkKTsKKy0gIGVsc2UKKy0gICAgZmllbGQgPSBhdGFfc2VhcmNoX3RlbXBlcmF0dXJlKHZhbHVlcywgREVGQVVMVF9BVFRSSUJVVEVfSUQpOworKyAgZmllbGQgPSBhdGFfc2VhcmNoX3RlbXBlcmF0dXJlKHZhbHVlcywgZHNrLT5kYl9lbnRyeS0+YXR0cmlidXRlX2lkKTsKKyAKKyAgIGlmKGZpZWxkKQorICAgICBkc2stPnZhbHVlID0gKihmaWVsZCszKTsKKyAKKy0gIGlmKGRzay0+ZGJfZW50cnkgJiYgZHNrLT52YWx1ZSAhPSAtMSkKKysgIGlmKGRzay0+dmFsdWUgIT0gLTEpCisgICAgIHJldHVybiBHRVRURU1QX0tOT1dOOworLSAgZWxzZSB7CistICAgIGlmKGRzay0+dmFsdWUgIT0gLTEpIHsKKy0gICAgICByZXR1cm4gR0VUVEVNUF9HVUVTUzsKKy0gICAgfQorLSAgICBlbHNlIHsKKy0gICAgICByZXR1cm4gR0VUVEVNUF9VTktOT1dOOworLSAgICB9CistICB9CisrICBlbHNlCisrICAgIHJldHVybiBHRVRURU1QX1VOS05PV047CisgCisgICAvKiBuZXZlciByZWFjaGVkICovCisgfQorLS0tIGhkZHRlbXAtMC4zLWJldGExNS5vcmlnL3NyYy9oZGR0ZW1wLmgKKysrKyBoZGR0ZW1wLTAuMy1iZXRhMTUvc3JjL2hkZHRlbXAuaAorQEAgLTM5LDggKzM5LDYgQEAKKyAgIEdFVFRFTVBfRVJST1IsICAgICAgICAgICAgLyogRXJyb3IgKi8KKyAgIEdFVFRFTVBfTk9UX0FQUExJQ0FCTEUsICAgLyogKi8KKyAgIEdFVFRFTVBfVU5LTk9XTiwgICAgICAgICAgLyogRHJpdmUgaXMgbm90IGluIGRhdGFiYXNlICovCistICBHRVRURU1QX0dVRVNTLCAgICAgICAgICAgIC8qIE5vdCBpbiBkYXRhYmFzZSwgYnV0IHNvbWV0aGluZyB3YXMgZ3Vlc3NlZCwgdXNlciBtdXN0CistCQkJICAgICAgIGNoZWNrIHRoYXQgdGhlIHRlbXBlcmF0dXJlIHJldHVybmVkIGlzIGNvcnJlY3QgKi8KKyAgIEdFVFRFTVBfS05PV04sICAgICAgICAgICAgLyogRHJpdmUgYXBwZWFyIGluIGRhdGFiYXNlICovCisgICBHRVRURU1QX05PU0VOU09SLCAgICAgICAgIC8qIERyaXZlIGFwcGVhciBpbiBkYXRhYmFzZSBidXQgaXMga25vd24gdG8gaGF2ZSBubyBzZW5zb3IgKi8KKyAgIEdFVFRFTVBfRFJJVkVfU0xFRVAgICAgICAgLyogRHJpdmUgaXMgc2xlZXBpbmcgKi8KK0BAIC03OCw3ICs3Niw3IEBACisgCisgZXh0ZXJuIHN0cnVjdCBidXN0eXBlICogICBidXNbQlVTX1RZUEVfTUFYXTsKKyBleHRlcm4gY2hhciAgICAgICAgICAgICAgIGVycm9ybXNnW01BWF9FUlJPUk1TR19TSVpFXTsKKy1leHRlcm4gaW50ICAgICAgICAgICAgICAgIHRjcF9kYWVtb24sIGRlYnVnLCBxdWlldCwgd2FrZXVwLCBhZl9oaW50OworK2V4dGVybiBpbnQgICAgICAgICAgICAgICAgdGNwX2RhZW1vbiwgZGVidWcsIHF1aWV0LCB3YWtldXAsIGFmX2hpbnQsIGZvcmVncm91bmQ7CisgZXh0ZXJuIGNoYXIgICAgICAgICAgICAgICBzZXBhcmF0b3I7CisgZXh0ZXJuIGxvbmcgICAgICAgICAgICAgICBwb3J0bnVtLCBzeXNsb2dfaW50ZXJ2YWw7CisgZXh0ZXJuIGNoYXIgKiAgICAgICAgICAgICBsaXN0ZW5fYWRkcjsKKy0tLSBoZGR0ZW1wLTAuMy1iZXRhMTUub3JpZy9zcmMvc2NzaWNtZHMuYworKysrIGhkZHRlbXAtMC4zLWJldGExNS9zcmMvc2NzaWNtZHMuYworQEAgLTE0Nyw2ICsxNDcsNyBAQAorICAgICByZXR1cm4gMTsKKyAgIGVsc2UgeworICAgICBzY3NpX2ZpeHN0cmluZyhidWZmZXIgKyA4LCAyNCk7CisrICAgIGJ1ZmZlclszMl0gPSAwOworICAgICByZXR1cm4gMDsKKyAgIH0KKyB9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2hkZHRlbXAvaGRkdGVtcC9pbml0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9oZGR0ZW1wL2hkZHRlbXAvaW5pdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZGY4ZjY3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9oZGR0ZW1wL2hkZHRlbXAvaW5pdApAQCAtMCwwICsxLDEwMCBAQAorIyEvYmluL3NoCisjCisjIHNrZWxldG9uICAgICAgICBleGFtcGxlIGZpbGUgdG8gYnVpbGQgL2V0Yy9pbml0LmQvIHNjcmlwdHMuCisjICAgICAgICAgICAgICAgIFRoaXMgZmlsZSBzaG91bGQgYmUgdXNlZCB0byBjb25zdHJ1Y3Qgc2NyaXB0cyBmb3IgL2V0Yy9pbml0LmQuCisjCisjICAgICAgICAgICAgICAgIFdyaXR0ZW4gYnkgTWlxdWVsIHZhbiBTbW9vcmVuYnVyZyA8bWlxdWVsc0BjaXN0cm9uLm5sPi4KKyMgICAgICAgICAgICAgICAgTW9kaWZpZWQgZm9yIERlYmlhbiBHTlUvTGludXgKKyMgICAgICAgICAgICAgICAgYnkgSWFuIE11cmRvY2sgPGltdXJkb2NrQGdudS5haS5taXQuZWR1Pi4KKyMKKyMgVmVyc2lvbjogICAgICAgIEAoIylza2VsZXRvbiAgMS44ICAwMy1NYXItMTk5OCAgbWlxdWVsc0BjaXN0cm9uLm5sCisjCisKKyMjIyBCRUdJTiBJTklUIElORk8KKyMgUHJvdmlkZXM6ICAgICAgICAgIGhkZHRlbXAKKyMgUmVxdWlyZWQtU3RhcnQ6ICAgICRyZW1vdGVfZnMgJHN5c2xvZyAkbmV0d29yaworIyBSZXF1aXJlZC1TdG9wOiAgICAgJHJlbW90ZV9mcyAkc3lzbG9nICRuZXR3b3JrCisjIERlZmF1bHQtU3RhcnQ6ICAgICAyIDMgNCA1CisjIERlZmF1bHQtU3RvcDogICAgICAwIDEgNgorIyBTaG9ydC1EZXNjcmlwdGlvbjogZGlzayB0ZW1wZXJhdHVyZSBtb25pdG9yaW5nIGRhZW1vbgorIyBEZXNjcmlwdGlvbjogICAgICAgaGRkdGVtcCBpcyBhIGRpc2sgdGVtcGVyYXR1cmUgbW9uaXRvcmluZyBkYWVtb24KKyMjIyBFTkQgSU5JVCBJTkZPCisKK1BBVEg9L3Vzci9sb2NhbC9zYmluOi91c3IvbG9jYWwvYmluOi9zYmluOi9iaW46L3Vzci9zYmluOi91c3IvYmluCitOQU1FPWhkZHRlbXAKK0RBRU1PTj0vdXNyL3NiaW4vJE5BTUUKK0RFU0M9ImRpc2sgdGVtcGVyYXR1cmUgbW9uaXRvcmluZyBkYWVtb24iCisKK0RJU0tTPSIvZGV2L2hkW2Etel0gL2Rldi9oZFthLXpdW2Etel0iCitESVNLUz0iJERJU0tTIC9kZXYvc2RbYS16XSAvZGV2L3NkW2Etel1bYS16XSIKK0RJU0tTPSIkRElTS1MgL2Rldi9zclthLXpdIC9kZXYvc3JbYS16XVthLXpdIgorSU5URVJGQUNFPSIwLjAuMC4wIgorUE9SVD0iNzYzNCIKK1NFUEFSQVRPUj0ifCIKK1JVTl9TWVNMT0c9IjAiCisKKyMgUmVhZHMgY29uZmlnIGZpbGUgKHdpbGwgb3ZlcnJpZGUgZGVmYXVsdHMgYWJvdmUpCitbIC1yIC9ldGMvZGVmYXVsdC9oZGR0ZW1wIF0gJiYgLiAvZXRjL2RlZmF1bHQvaGRkdGVtcAorCitpZiBbIC1uICIkUlVOX1NZU0xPRyIgXSAmJiBbICIkUlVOX1NZU0xPRyIgIT0gIjAiIF0gOyB0aGVuCisgIFNZU0xPR19BUkc9Ii1TICRSVU5fU1lTTE9HIgorZmkKKworaWYgWyAiJFJVTl9EQUVNT04iID0gInRydWUiIF0gfHwgWyAiJFJVTl9EQUVNT04iID0gInllcyIgXSA7IHRoZW4KKyAgREFFTU9OX0FSRz0iLWQgLWwgJElOVEVSRkFDRSAtcCAkUE9SVCAtcyAkU0VQQVJBVE9SIgorZmkKKworWyAteCAiJERBRU1PTiIgXSB8fCBleGl0IDAKKworLiAvbGliL2xzYi9pbml0LWZ1bmN0aW9ucworCitjYXNlICIkMSIgaW4KKyAgc3RhcnQpCisgICAgIyBtYXN0ZXIgc3dpdGNoCisgICAgaWYgWyAtbiAiJERBRU1PTl9BUkciIF0gfHwgWyAtbiAiJFNZU0xPR19BUkciIF0gOyB0aGVuCisgICAgICBsb2dfZGFlbW9uX21zZyAiU3RhcnRpbmcgJERFU0MiICIkTkFNRToiCisgICAgICBDRFJPTVNfTElTVD0kKHNlZCAtbmUgJ3MvXmRyaXZlIG5hbWU6XHRcK1woLipcKSQvIFwvZGV2XC9cMS9wJyAvcHJvYy9zeXMvZGV2L2Nkcm9tL2luZm8gMj4vZGV2L251bGwpIHx8IDoKKyAgICAgIENEUk9NU19MSVNUPSIkQ0RST01TX0xJU1QgJChncmVwIC1zbCAnXmlkZS1zY3NpICcgL3Byb2MvaWRlL2hkKi9kcml2ZXIgfCBhd2sgLUYgLyAneyBwcmludCAiL2Rldi8iJDQgfScpIgorICAgICAgZm9yIGRpc2sgaW4gJERJU0tTIDsgZG8KKyAgICAgICAgZWNobyAkQ0RST01TX0xJU1QgfCBncmVwIC13cSAkZGlzayAmJiBjb250aW51ZQorICAgICAgICBlY2hvICRESVNLU19OT1BST0JFIHwgZ3JlcCAtd3EgJGRpc2sgJiYgY29udGludWUKKyAgICAgICAgaWYgJERBRU1PTiAtd24gJE9QVElPTlMgJGRpc2sgMj4vZGV2L251bGwgfCBncmVwIC1xICdeWzAtOV1cKyQnIDsgdGhlbgorICAgICAgICAgIERJU0tTX0xJU1Q9IiRESVNLU19MSVNUICRkaXNrIjsKKyAgICAgICAgZmkKKyAgICAgIGRvbmUKKyAgICAgIGlmIFsgLW4gIiRESVNLU19MSVNUIiBdIHx8IFsgLW4gIiRESVNLU19OT1BST0JFIiBdIDsgdGhlbgorICAgICAgICBzdGFydC1zdG9wLWRhZW1vbiAtLXN0YXJ0IC0tcXVpZXQgLS1leGVjICREQUVNT04gLS0gJERBRU1PTl9BUkcgJFNZU0xPR19BUkcgJE9QVElPTlMgJERJU0tTX05PUFJPQkUgJERJU0tTX0xJU1QKKyAgICAgICAgcmV0PSQ/CisgICAgICAgIGxvZ19wcm9ncmVzc19tc2cgIiRESVNLU19OT1BST0JFJERJU0tTX0xJU1QiCisgICAgICAgIGxvZ19lbmRfbXNnICRyZXQKKyAgICAgIGVsc2UKKyAgICAgICAgbG9nX3Byb2dyZXNzX21zZyAibm8gZGlza3Mgd2l0aCBtb25pdG9yaW5nIGNhcGFiaWxpdHkgd2VyZSBmb3VuZC4iCisgICAgICAgIGxvZ19lbmRfbXNnIDAKKyAgICAgIGZpCisgICAgZmkKKyAgICA7OworICBzdG9wKQorICAgICMgbWFzdGVyIHN3aXRjaAorICAgIGlmIFsgIiRSVU5fREFFTU9OIiA9ICJ0cnVlIiBdIHx8IFsgIiRSVU5fREFFTU9OIiA9ICJ5ZXMiIF0gfHwgWyAiJFJVTl9TWVNMT0ciICE9ICIwIiBdIDsgdGhlbgorICAgICAgbG9nX2RhZW1vbl9tc2cgIlN0b3BwaW5nICRERVNDIiAiJE5BTUUiCisgICAgICBzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLS1va25vZG8gLS1leGVjICREQUVNT04gLS1yZXRyeSAzMAorICAgICAgbG9nX2VuZF9tc2cgJD8KKyAgICBmaQorICAgIDs7CisgIGZvcmNlLXJlbG9hZHxyZWxvYWQpCisgICAgZXhpdCAzCisgICAgOzsKKyAgcmVzdGFydCkKKyAgICAkMCBzdG9wICYmICQwIHN0YXJ0CisgICAgOzsKKyAgc3RhdHVzKQorICAgIHN0YXR1c19vZl9wcm9jICREQUVNT04gJE5BTUUKKyAgICBleGl0ICQ/CisgICAgOzsKKyAgKikKKyAgICBlY2hvICJVc2FnZTogL2V0Yy9pbml0LmQvJE5BTUUge3N0YXJ0fHN0b3B8cmVzdGFydHxzdGF0dXN9IiA+JjIKKyAgICBleGl0IDEKKyAgICA7OworZXNhYworCitleGl0IDAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaGRkdGVtcC9oZGR0ZW1wXzAuMy1iZXRhMTUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2hkZHRlbXAvaGRkdGVtcF8wLjMtYmV0YTE1LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYwMWI3YjEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2hkZHRlbXAvaGRkdGVtcF8wLjMtYmV0YTE1LmJiCkBAIC0wLDAgKzEsMzIgQEAKK1NVTU1BUlkgPSAiSGFyZCBkaXNrIHRlbXBlcmF0dXJlIG1vbml0b3IgZGFlbW9uIgorU0VDVElPTiA9ICJjb25zb2xlL25ldHdvcmsiCitMSUNFTlNFID0gIkdQTHYyKyIKKworUFIgPSAicjEiCisKK1NSQ19VUkkgPSAiJHtTQVZBTk5BSF9OT05HTlVfTUlSUk9SfS9oZGR0ZW1wL2hkZHRlbXAtMC4zLWJldGExNS50YXIuYnoyIFwKKyAgICAgICAgICAgZmlsZTovL2hkZHRlbXAtbm8tbmxzLXN1cHBvcnQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vaGRkdGVtcF8wLjMtYmV0YTE1LTUyLmRpZmYgXAorICAgICAgICAgICBmaWxlOi8vaGRkdGVtcC0wLjMtYmV0YTE1LWF1dG9kZXRlY3QtNzE3NDc5LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2hkZHRlbXAuZGIgXAorICAgICAgICAgICBmaWxlOi8vaW5pdCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI4YjgyOTMzOWUxYWU5ZGY3MDE2ODRlYzIzOTAyMWJiOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2MTg1NDE1ODQwNTQwOTNkNTNiZThhMmQ5ZTgxYzk3MTc0ZjMwZjAwYWY5MWNiODcwMGE5N2U0NDJkNzllZjViIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9HUEwtMjttZDU9ZWI3MjNiNjE1MzlmZWVmMDEzZGU0NzZlNjhiNWM1MGEiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgdXBkYXRlLXJjLmQKKworRklMRVNfJHtQTn0gKz0gIi91c3Ivc2hhcmUvbWlzYy9oZGR0ZW1wLmRiIgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0vdXNyL3NoYXJlL21pc2MvCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vaGRkdGVtcC5kYiAke0R9L3Vzci9zaGFyZS9taXNjL2hkZHRlbXAuZGIKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2luaXQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL2hkZHRlbXAKK30KKworSU5JVFNDUklQVF9OQU1FID0gImhkZHRlbXAiCitJTklUU0NSSVBUX1BBUkFNUyA9ICJzdGFydCA5OSAyIDMgNCA1IC4gc3RvcCAyMCAwIDEgNiAuIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9oaWRhcGkvaGlkYXBpX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaGlkYXBpL2hpZGFwaV9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTM0Nzk3ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaGlkYXBpL2hpZGFwaV9naXQuYmIKQEAgLTAsMCArMSwxNSBAQAorU1VNTUFSWSA9ICJNdWx0aS1wbGF0Zm9ybSBsaWJyYXJ5IHRvIGludGVyZmFjZSB3aXRoIFVTQiBhbmQgQmx1ZXRvb3RoIEhJRC1DbGFzcyBkZXZpY2VzIgorQVVUSE9SID0gIkFsYW4gT3R0IgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5zaWduYWwxMS51cy9vc3MvaGlkYXBpLyIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiQlNELTMtQ2xhdXNlIHwgR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLnR4dDttZDU9N2MzOTQ5YTYzMTI0MGNiNmMzMWM1MGYzZWI2OTYwNzciCitERVBFTkRTID0gImxpYnVzYiB1ZGV2IgorUFYgPSAiMC43Ljk5KzAuOC4wLXJjMStnaXQke1NSQ1BWfSIKKworU1JDUkVWID0gImQxN2RiNTdiOWQ0MzU0NzUyZTBhZjQyZjVmMzMwMDdhNDJlZjI5MDYiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vc2lnbmFsMTEvaGlkYXBpLmdpdCIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2h0b3AvaHRvcF8xLjAuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaHRvcC9odG9wXzEuMC4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRlNDQ1YzgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2h0b3AvaHRvcF8xLjAuMy5iYgpAQCAtMCwwICsxLDIyIEBACitTVU1NQVJZID0gImh0b3AgcHJvY2VzcyBtb25pdG9yIgorSE9NRVBBR0UgPSAiaHR0cDovL2h0b3Auc2YubmV0IgorU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgorTElDRU5TRSA9ICJHUEx2MiIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YzMxMjY1MzUzMmU4ZTY2OWYzMGU1ZWM4YmRjMjNiZTMiCisKK0RFUEVORFMgPSAibmN1cnNlcyIKK1JERVBFTkRTXyR7UE59ID0gIm5jdXJzZXMtdGVybWluZm8iCisKK1NSQ19VUkkgPSAiaHR0cDovL2hpc2hhbS5obS9odG9wL3JlbGVhc2VzLyR7UFZ9L2h0b3AtJHtQVn0udGFyLmd6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiZTc2OGI5YjU1YzAzM2Q5YzFkZmZkYTcyZGIzYTZhYzciCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDU1YzU3OTI3Zjc1ODQ3ZmRjMjIyYjUyNThiMDc5YTk1NDI4MTFhOWRjZjU0MjFjNjE1YzdlMTdmNTVkMTgyOSIKKworTERGTEFHU19hcHBlbmRfbGliYy11Y2xpYmMgPSAiIC1sdWJhY2t0cmFjZSIKKworZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgeworCXJtIC1yZiAke1N9L2NvbmZpZy5oCit9CisKK2luaGVyaXQgYXV0b3Rvb2xzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2h1bnNwZWxsL2h1bnNwZWxsXzEuMy4zLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9odW5zcGVsbC9odW5zcGVsbF8xLjMuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZTZmNzc0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9odW5zcGVsbC9odW5zcGVsbF8xLjMuMy5iYgpAQCAtMCwwICsxLDE4IEBACitTVU1NQVJZID0gIkEgc3BlbGwgY2hlY2tlciBhbmQgbW9ycGhvbG9naWNhbCBhbmFseXplciBsaWJyYXJ5IgorSE9NRVBBR0UgPSAiaHR0cDovL2h1bnNwZWxsLnNvdXJjZWZvcmdlLm5ldC8iCitMSUNFTlNFID0gIkxHUEx2Mi4xIHwgR1BMdjIgfCBNUEx2MS4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICIgXAorICAgIGZpbGU6Ly9DT1BZSU5HO21kNT1lZDNhMzdiM2JhNmQ2YmUzZTA4YWI0NTk4N2NmMWI4OCBcCisgICAgZmlsZTovL0NPUFlJTkcuTEdQTDttZDU9ZDgwNDVmM2I4ZjkyOWMxY2IyOWExZTNmZDczN2I0OTkgXAorICAgIGZpbGU6Ly9DT1BZSU5HLk1QTDttZDU9YmZlMWY3NWQ2MDY5MTJhNDExMWM5MDc0M2Q2YzczMjUgXAorIgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9wcm9qZWN0LyR7QlBOfS9IdW5zcGVsbC8ke1BWfS8ke0JQTn0tJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjQ5NjdkYTYwYjIzNDEzNjA0YzllNTYzYmVhY2M2M2I0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImE3YjJjMGRlMGUyY2UxNzQyNjgyMWRjMWFjOGViMTE1MDI5OTU5YjNhZGE5ZDgwYTgxNzM5ZmExOTM3MzI0NmMiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBnZXR0ZXh0CisKK1JERVBFTkRTXyR7UE59ID0gInBlcmwiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9od2RhdGEvaHdkYXRhXzAuMjg4LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9od2RhdGEvaHdkYXRhXzAuMjg4LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY3MTk5ZTkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2h3ZGF0YS9od2RhdGFfMC4yODguYmIKQEAgLTAsMCArMSwyMSBAQAorREVTQ1JJUFRJT04gPSAiSGFyZHdhcmUgaWRlbnRpZmljYXRpb24gYW5kIGNvbmZpZ3VyYXRpb24gZGF0YSIKK0hPTUVQQUdFID0gImh0dHA6Ly9naXQuZmVkb3JhaG9zdGVkLm9yZy9naXQvaHdkYXRhLmdpdCIKK1NFQ1RJT04gPSAiU3lzdGVtL0Jhc2UiCisKK0xJQ0VOU0UgPSAiR1BMLTIuMCsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0xNTU2NTQ3NzExZTgyNDY5OTJiOTk5ZWRkOTQ0NWE1NyIKK1NSQ19VUkkgPSAiaHR0cHM6Ly9naXQuZmVkb3JhaG9zdGVkLm9yZy9jZ2l0LyR7QlBOfS5naXQvc25hcHNob3QvJHtCUH0udGFyLmd6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiZjNmYTFjNWVkYjY2Y2U1YjM3NmQ5NWU3NzJiMmQzMDMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTZmYzI2Mjc1YjEwMmU1MzhmY2ZjZjljMTA5M2EwOWY0NzZhMWVhOGQ0ZTBjNzMzZDNjNTc4NDQyOTIzNjkzZCIKKworZG9fY29uZmlndXJlKCkgeworICAgICR7U30vY29uZmlndXJlIC0tZGF0YWRpcj0ke2RhdGFkaXJ9IC0tbGliZGlyPSR7bGliZGlyfQorfQorCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgaW5zdGFsbCBERVNURElSPSR7RH0KK30KKworRklMRVNfJHtQTn0gPSAiJHtsaWJkaXJ9LyogXAorICAgICAgICAgICAgICAgJHtkYXRhZGlyfS8qICIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaWtzZW1lbC9pa3NlbWVsLTEuNC9yMjUuZGlmZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaWtzZW1lbC9pa3NlbWVsLTEuNC9yMjUuZGlmZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjY2Y2UwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9pa3NlbWVsL2lrc2VtZWwtMS40L3IyNS5kaWZmCkBAIC0wLDAgKzEsMzIgQEAKK1Rha2VuIGZyb20gdXBzdHJlYW0gc3VidmVyc2lvbiByZXBvc2l0b3J5OgorCitodHRwOi8vY29kZS5nb29nbGUuY29tL3AvaWtzZW1lbC9zb3VyY2UvZGV0YWlsP3I9MjUKKworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tCisgY29uZmlndXJlLmFjIHwgICAxMCArKysrKysrKystCisgMSBmaWxlIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCistLS0gaWtzZW1lbC0xLjQub3JpZy9jb25maWd1cmUuYWMKKysrKyBpa3NlbWVsLTEuNC9jb25maWd1cmUuYWMKK0BAIC00MywxMSArNDMsMTkgQEAgQU1fQ09ORElUSU9OQUwoRE9fUE9TSVgsIHRlc3QgIngkZGVmaW8iCisgZG5sIENoZWNrcyBmb3IgbGlicmFyeSBmdW5jdGlvbnMKKyBBQ19TRUFSQ0hfTElCUyhyZWN2LHNvY2tldCkKKyBBQ19DSEVDS19GVU5DUyhnZXRvcHRfbG9uZykKKyBBQ19DSEVDS19GVU5DUyhnZXRhZGRyaW5mbykKKyAKKy1BTV9QQVRIX0xJQkdOVVRMUygsQUNfREVGSU5FKEhBVkVfR05VVExTLCwiVXNlIGxpYmdudXRscyIpKQorK2RubCBDaGVjayBHTlUgVExTCisrUEtHX0NIRUNLX01PRFVMRVMoR05VVExTLCBnbnV0bHMgPj0gMi4wLjAsIGhhdmVfZ251dGxzPXllcywgaGF2ZV9nbnV0bHM9bm8pCisraWYgdGVzdCAieCRoYXZlX2dudXRscyIgPSAieHllcyI7IHRoZW4KKysgIExJQkdOVVRMU19DRkxBR1M9IiRHTlVUTFNfQ0ZMQUdTIgorKyAgTElCR05VVExTX0xJQlM9IiRHTlVUTFNfTElCUyIKKysgIEFDX1NVQlNUKExJQkdOVVRMU19DRkxBR1MpCisrICBBQ19TVUJTVChMSUJHTlVUTFNfTElCUykKKysgIEFDX0RFRklORShIQVZFX0dOVVRMUywgMSwgW3doZXRoZXIgdG8gdXNlIEdudVRTTCBzdXBwb3J0Ll0pCisrZmkKKyAKKyBkbmwgQ2hlY2sgLVdhbGwgZmxhZyBvZiBHQ0MKKyBpZiB0ZXN0ICJ4JEdDQyIgPSAieHllcyI7IHRoZW4KKyAgIGlmIHRlc3QgLXogImBlY2hvICIkQ0ZMQUdTIiB8IGdyZXAgIlwtV2FsbCIgMj4gL2Rldi9udWxsYCIgOyB0aGVuCisgICAgIENGTEFHUz0iJENGTEFHUyAtV2FsbCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaWtzZW1lbC9pa3NlbWVsXzEuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaWtzZW1lbC9pa3NlbWVsXzEuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMTI3NmY5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9pa3NlbWVsL2lrc2VtZWxfMS40LmJiCkBAIC0wLDAgKzEsMTkgQEAKK1NVTU1BUlkgPSAiRmFzdCBhbmQgcG9ydGFibGUgWE1MIHBhcnNlciBhbmQgSmFiYmVyIHByb3RvY29sIGxpYnJhcnkiCitBVVRIT1IgPSAiR3VyZXIgT3plbiA8bWVkdWtldHRvIGF0IGdtYWlsLmNvbT4iCitIT01FUEFHRSA9ICJodHRwOi8vaWtzZW1lbC5nb29nbGVjb2RlLmNvbSIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kODA0NWYzYjhmOTI5YzFjYjI5YTFlM2ZkNzM3YjQ5OSIKK0RFUEVORFMgPSAiZ251dGxzIgorCitQUiA9ICJyMSIKKworIyBodHRwOi8vZXJyb3JzLnlvY3RvcHJvamVjdC5vcmcvRXJyb3JzL0RldGFpbHMvMjU4MjUvCitQTkJMQUNLTElTVFtpa3NlbWVsXSA/PSAiTm90IGNvbXBhdGlibGUgd2l0aCBnbnV0bHMgdmVyc2lvbiAzLjQgY3VycmVudGx5IGluIG9lLWNvcmUiCisKK1NSQ19VUkkgPSAiaHR0cDovL2lrc2VtZWwuZ29vZ2xlY29kZS5jb20vZmlsZXMvJHtCUH0udGFyLmd6O25hbWU9YXJjaGl2ZSBcCisgICAgICAgICAgIGZpbGU6Ly9yMjUuZGlmZiIKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gIjUzMmU3NzE4MTY5NGY4N2FkNWViNTk0MzVkMTFjMWNhIgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiNDU4YzFiOGZiMzM0OTA3NmE2Y2VjZjI2YzI5ZGIxZDU2MTMxNWQ4NGUxNmJmY2ZiYTQxOWYzMjdmNTAyZTI0NCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ltYWdlbWFnaWNrL2ltYWdlbWFnaWNrXzYuOS4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9pbWFnZW1hZ2ljay9pbWFnZW1hZ2lja182LjkuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOWYwMTM0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9pbWFnZW1hZ2ljay9pbWFnZW1hZ2lja182LjkuMi5iYgpAQCAtMCwwICsxLDg5IEBACitTVU1NQVJZID0gIkltYWdlTWFnaWNrIGlzIGFuIGltYWdlIGNvbnZlcnRpb24gdG9vbHMiCitTRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCitMSUNFTlNFID0gIkltYWdlTWFnaWNrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MDg4N2I2NzBiZTdlZjBjM2NiMzcwOTJiNjRkNTc1MTQiCisjIEZJWE1FOiBUaGVyZSBhcmUgbWFueSBtb3JlIGNoZWNrZWQgbGlicmFyaWVzLiBBbGwgc2hvdWxkIGJlIGFkZGVkIG9yIGV4cGxpY2l0bHkgZGlzYWJsZWQgdG8gZ2V0IGNvbnNpc3RlbnQgcmVzdWx0cy4KK0RFUEVORFMgPSAibGNtcyBiemlwMiBqcGVnIGxpYnBuZyBsaWJyc3ZnIHRpZmYgemxpYiB2aXJ0dWFsL2ZmdHcgZnJlZXR5cGUiCisKKyMgSW1wb3J0YW50IG5vdGU6IHRhcmJhbGxzIGZvciBhbGwgcGF0Y2hzZXRzIHdpdGhpbiBhIHZlcnNpb24gYXJlIGRlbGV0ZWQgd2hlbgorIyBhIG5ldyBwYWNoc2V0IGlzIGNyZWF0ZWQuIFRvIGF2b2lkIG11bHRpcGxlIHBhdGNoZXMgZm9yIGVhY2ggcGF0Y2hzZXQsIHRyeSB0bworIyB1cGRhdGUgdG8gdGhlIGxhc3QgcGFjaHNldCBvZiBhIHZlcnNpb24KK1BBVENIU0VUID0gIjAiCitTUkNfVVJJID0gImh0dHA6Ly93d3cuaW1hZ2VtYWdpY2sub3JnL2Rvd25sb2FkL3JlbGVhc2VzL0ltYWdlTWFnaWNrLSR7UFZ9LSR7UEFUQ0hTRVR9LnRhci54eiBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiOTk0NzFjOGMzZjM4YzkyNjRmYWY1YzRjYTdhMzEyODciCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDdhMmRlMjhmN2Y5YWI4ODhlZjQ3YzAyZWI3ZTEwY2MzZTBkZDBlOTc5N2M1ZDcxZDZlNzFkMTlmODQyMzk5ZSIKKworUyA9ICIke1dPUktESVJ9L0ltYWdlTWFnaWNrLSR7UFZ9LSR7UEFUQ0hTRVR9IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgdXBkYXRlLWFsdGVybmF0aXZlcworCisjIHhtbCBkaXNhYmxlZCBiZWNhdXNlIGl0J3MgdXNpbmcgeG1sMi1jb25maWcgLS1wcmVmaXggdG8gZGV0ZXJtaW5lIHByZWZpeCB3aGljaCByZXR1cm5zIGp1c3QgL3VzciB3aXRoIG91ciBsaWJ4bWwyCisjIGlmIHNvbWVvbmUgbmVlZHMgeG1sIHN1cHBvcnQgdGhlbiBmaXggaXQgZmlyc3QKK0VYVFJBX09FQ09ORiA9ICItLXByb2dyYW0tcHJlZml4PSAtLXByb2dyYW0tc3VmZml4PS5pbTYgLS13aXRob3V0LXBlcmwgLS1kaXNhYmxlLW9wZW5tcCAtLXdpdGhvdXQteG1sIC0tZGlzYWJsZS1vcGVuY2wiCisKK0NBQ0hFRF9DT05GSUdVUkVWQVJTID0gImFjX2N2X3N5c19maWxlX29mZnNldF9iaXRzPXllcyIKK1BBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3gxMScsICd4MTEnLCAnJywgZCl9IgorUEFDS0FHRUNPTkZJR1tqcDJdID0gIi0td2l0aC1qcDIsLGphc3BlciIKK1BBQ0tBR0VDT05GSUdbbHptYV0gPSAiLS13aXRoLWx6bWEsLS13aXRob3V0LWx6bWEseHoiCitQQUNLQUdFQ09ORklHW29wZW5qcGVnXSA9ICItLXdpdGgtb3BlbmpwMiwtLXdpdGhvdXQtb3BlbmpwMixvcGVuanBlZyIKK1BBQ0tBR0VDT05GSUdbcGFuZ29dID0gIi0td2l0aC1wYW5nbywtLXdpdGhvdXQtcGFuZ28scGFuZ28gY2Fpcm8iCitQQUNLQUdFQ09ORklHW3dlYnBdID0gIi0td2l0aC13ZWJwLC0td2l0aG91dC13ZWJwLGxpYndlYnAiCitQQUNLQUdFQ09ORklHW3dtZl0gPSAiLS13aXRoLXdtZiwtLXdpdGhvdXQtd21mLGxpYndtZiIKK1BBQ0tBR0VDT05GSUdbeDExXSA9ICItLXdpdGgteCwtLXdpdGhvdXQteCx2aXJ0dWFsL2xpYngxMSBsaWJ4ZXh0IGxpYnh0IgorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L0ltYWdlTWFnaWNrLSR7UFZ9L21vZHVsZXMtUTE2LyovKi5zbyBcCisgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L0ltYWdlTWFnaWNrLSR7UFZ9L21vZHVsZXMtUTE2LyovKi5sYSBcCisgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L0ltYWdlTWFnaWNrLSR7UFZ9L21vZHVsZXMtUTE2L2ZpbHRlcnMgXAorICAgICAgICAgICAgICAgICR7bGliZGlyfS9JbWFnZU1hZ2ljay0ke1BWfS9tb2R1bGVzLVExNi9jb2RlcnMgXAorICAgICAgICAgICAgICAgICR7bGliZGlyfS9JbWFnZU1hZ2ljay0ke1BWfS9jb25maWctUTE2IFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L0ltYWdlTWFnaWNrLTYgIgorCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9JbWFnZU1hZ2ljay0ke1BWfS9tb2R1bGVzLVExNi8qLyouYSIKKworRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vSW1hZ2VNYWdpY2stJHtQVn0vbW9kdWxlcy1RMTYvKi8uZGVidWcvKiIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisKK0FMVEVSTkFUSVZFX1BSSU9SSVRZID0gIjEwMCIKKworQUxURVJOQVRJVkVfJHtQTn0gPSAiYW5pbWF0ZSBjb21wYXJlIGNvbXBvc2l0ZSBjb25qdXJlIGNvbnZlcnQgZGlzcGxheSBcCisgICAgaWRlbnRpZnkgaW1wb3J0IG1vZ3JpZnkgbW9udGFnZSBzdHJlYW0iCisKK0FMVEVSTkFUSVZFX1RBUkdFVFthbmltYXRlXSA9ICIke2JpbmRpcn0vYW5pbWF0ZS5pbTYiCitBTFRFUk5BVElWRV9UQVJHRVRbY29tcGFyZV0gPSAiJHtiaW5kaXJ9L2NvbXBhcmUuaW02IgorQUxURVJOQVRJVkVfVEFSR0VUW2NvbXBvc2l0ZV0gPSAiJHtiaW5kaXJ9L2NvbXBvc2l0ZS5pbTYiCitBTFRFUk5BVElWRV9UQVJHRVRbY29uanVyZV0gPSAiJHtiaW5kaXJ9L2Nvbmp1cmUuaW02IgorQUxURVJOQVRJVkVfVEFSR0VUW2NvbnZlcnRdID0gIiR7YmluZGlyfS9jb252ZXJ0LmltNiIKK0FMVEVSTkFUSVZFX1RBUkdFVFtkaXNwbGF5XSA9ICIke2JpbmRpcn0vZGlzcGxheS5pbTYiCitBTFRFUk5BVElWRV9UQVJHRVRbaWRlbnRpZnldID0gIiR7YmluZGlyfS9pZGVudGlmeS5pbTYiCitBTFRFUk5BVElWRV9UQVJHRVRbaW1wb3J0XSA9ICIke2JpbmRpcn0vaW1wb3J0LmltNiIKK0FMVEVSTkFUSVZFX1RBUkdFVFttb2dyaWZ5XSA9ICIke2JpbmRpcn0vbW9ncmlmeS5pbTYiCitBTFRFUk5BVElWRV9UQVJHRVRbbW9udGFnZV0gPSAiJHtiaW5kaXJ9L21vbnRhZ2UuaW02IgorQUxURVJOQVRJVkVfVEFSR0VUW3N0cmVhbV0gPSAiJHtiaW5kaXJ9L3N0cmVhbS5pbTYiCisKK0FMVEVSTkFUSVZFXyR7UE59LWRvYyA9ICJhbmltYXRlLjEgY29tcGFyZS4xIGNvbXBvc2l0ZS4xIGNvbmp1cmUuMSBcCisgICAgY29udmVydC4xIGRpc3BsYXkuMSBpZGVudGlmeS4xIGltcG9ydC4xIG1vZ3JpZnkuMSBtb250YWdlLjEgc3RyZWFtLjEiCisKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVthbmltYXRlLjFdID0gIiR7bWFuZGlyfS9tYW4xL2FuaW1hdGUuMSIKK0FMVEVSTkFUSVZFX1RBUkdFVFthbmltYXRlLjFdID0gIiR7bWFuZGlyfS9tYW4xL2FuaW1hdGUuaW02LjEiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbY29tcGFyZS4xXSA9ICIke21hbmRpcn0vbWFuMS9jb21wYXJlLjEiCitBTFRFUk5BVElWRV9UQVJHRVRbY29tcGFyZS4xXSA9ICIke21hbmRpcn0vbWFuMS9jb21wYXJlLmltNi4xIgorQUxURVJOQVRJVkVfTElOS19OQU1FW2NvbXBvc2l0ZS4xXSA9ICIke21hbmRpcn0vbWFuMS9jb21wb3NpdGUuMSIKK0FMVEVSTkFUSVZFX1RBUkdFVFtjb21wb3NpdGUuMV0gPSAiJHttYW5kaXJ9L21hbjEvY29tcG9zaXRlLmltNi4xIgorQUxURVJOQVRJVkVfTElOS19OQU1FW2Nvbmp1cmUuMV0gPSAiJHttYW5kaXJ9L21hbjEvY29uanVyZS4xIgorQUxURVJOQVRJVkVfVEFSR0VUW2Nvbmp1cmUuMV0gPSAiJHttYW5kaXJ9L21hbjEvY29uanVyZS5pbTYuMSIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtjb252ZXJ0LjFdID0gIiR7bWFuZGlyfS9tYW4xL2NvbnZlcnQuMSIKK0FMVEVSTkFUSVZFX1RBUkdFVFtjb252ZXJ0LjFdID0gIiR7bWFuZGlyfS9tYW4xL2NvbnZlcnQuaW02LjEiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbZGlzcGxheS4xXSA9ICIke21hbmRpcn0vbWFuMS9kaXNwbGF5LjEiCitBTFRFUk5BVElWRV9UQVJHRVRbZGlzcGxheS4xXSA9ICIke21hbmRpcn0vbWFuMS9kaXNwbGF5LmltNi4xIgorQUxURVJOQVRJVkVfTElOS19OQU1FW2lkZW50aWZ5LjFdID0gIiR7bWFuZGlyfS9tYW4xL2lkZW50aWZ5LjEiCitBTFRFUk5BVElWRV9UQVJHRVRbaWRlbnRpZnkuMV0gPSAiJHttYW5kaXJ9L21hbjEvaWRlbnRpZnkuaW02LjEiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbaW1wb3J0LjFdID0gIiR7bWFuZGlyfS9tYW4xL2ltcG9ydC4xIgorQUxURVJOQVRJVkVfVEFSR0VUW2ltcG9ydC4xXSA9ICIke21hbmRpcn0vbWFuMS9pbXBvcnQuaW02LjEiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbbW9ncmlmeS4xXSA9ICIke21hbmRpcn0vbWFuMS9tb2dyaWZ5LjEiCitBTFRFUk5BVElWRV9UQVJHRVRbbW9ncmlmeS4xXSA9ICIke21hbmRpcn0vbWFuMS9tb2dyaWZ5LmltNi4xIgorQUxURVJOQVRJVkVfTElOS19OQU1FW21vbnRhZ2UuMV0gPSAiJHttYW5kaXJ9L21hbjEvbW9udGFnZS4xIgorQUxURVJOQVRJVkVfVEFSR0VUW21vbnRhZ2UuMV0gPSAiJHttYW5kaXJ9L21hbjEvbW9udGFnZS5pbTYuMSIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtzdHJlYW0uMV0gPSAiJHttYW5kaXJ9L21hbjEvc3RyZWFtLjEiCitBTFRFUk5BVElWRV9UQVJHRVRbc3RyZWFtLjFdID0gIiR7bWFuZGlyfS9tYW4xL3N0cmVhbS5pbTYuMSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaW5paC9saWJpbmloX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaW5paC9saWJpbmloX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MDMwYzc4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9pbmloL2xpYmluaWhfZ2l0LmJiCkBAIC0wLDAgKzEsMTkgQEAKK1NVTU1BUlkgPSAiQyBhbmQgQysrIElOSSBMaWJyYXJ5IgorSE9NRVBBR0UgPSAiaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2luaWgvIgorUFYgPSAiMC4wK2dpdHIke1NSQ1BWfSIKK1BLR1YgPSAiJHtHSVRQS0dWVEFHfSIKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ZGFlMjhjYmYyODIwNzQyNWUwZDBiM2ViODM1ZjRiZGUiCisKK1BSID0gInIzIgorCisjIFRoZSBnaXRodWIgcmVwb3NpdG9yeSBwcm92aWRlcyBhIGNtYWtlIGFuZCBwa2ctY29uZmlnIGludGVncmF0aW9uCitTUkNSRVYgPSAiMjUwNzhmNzE1NmViODY0N2IzYjM1ZGQyNWY5YWU2ZjhjNGVlMDU4OSIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9PU1N5c3RlbXMvaW5paC5naXQiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgZ2l0cGtndiBjbWFrZQorCisjIFdlIGRvbid0IGhhdmUgbGliaW5paCBzaW5jZSB3ZSBvbmx5IGhhdmUgc3RhdGljIGxpYnJhcmllcworQUxMT1dfRU1QVFlfJHtQTn0gPSAiMSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaXBtaXV0aWwvaXBtaXV0aWwvZml4X3N5c3RlbWRfcGF0aC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaXBtaXV0aWwvaXBtaXV0aWwvZml4X3N5c3RlbWRfcGF0aC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZmE3YzY4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9pcG1pdXRpbC9pcG1pdXRpbC9maXhfc3lzdGVtZF9wYXRoLnBhdGNoCkBAIC0wLDAgKzEsMzE4IEBACithbGxvdyBzeXN0ZW1kIHBhdGggdG8gYmUgZGVmaW5lZCBieSBjb25maWd1cmUgb3B0aW9uLgorCitUaGUgY29uZmlndXJlIHByb2JlcyB0aGUgaG9zdCBmb3Igc3lzdGVtZCBwYXRoIGluZm9ybWF0aW9uLgorCitVcHN0cmVhbSBTdGF0dXM6IEluYXBwcm9wcmlhdGUgW0VtYmVkZGVkXQorCitTaWduZWQtb2ZmLUJ5OiBBcm1pbiBLdXN0ZXIgPGFrdXN0ZXJAbXZpc3RhLmNvbT4KKworSW5kZXg6IGlwbWl1dGlsLTIuOS42L2NvbmZpZ3VyZQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGlwbWl1dGlsLTIuOS42Lm9yaWcvY29uZmlndXJlCisrKysgaXBtaXV0aWwtMi45LjYvY29uZmlndXJlCitAQCAtNzkyLDcgKzc5Miw2IEBAIExUTElCT0JKUworIExJQk9CSlMKKyBwa2djb25maWdkaXIKKyBTSFJfTElOSworLVNZU1RFTURfRElSCisgQ1JPU1NfTEZMQUdTCisgQ1JPU1NfQ0ZMQUdTCisgU1VCRElSX1MKK0BAIC05OTksNyArOTk4LDcgQEAgcHNkaXI9JyR7ZG9jZGlyfScKKyBsaWJkaXI9JyR7ZXhlY19wcmVmaXh9L2xpYicKKyBsb2NhbGVkaXI9JyR7ZGF0YXJvb3RkaXJ9L2xvY2FsZScKKyBtYW5kaXI9JyR7ZGF0YXJvb3RkaXJ9L21hbicKKy0KKytzeXN0ZW1kZGlyPScke2RhdGFyb290ZGlyfS9pcG1pdXRpbCcKKyBhY19wcmV2PQorIGFjX2Rhc2hkYXNoPQorIGZvciBhY19vcHRpb24KK0BAIC0xNTk0LDcgKzE1OTMsMTAgQEAgT3B0aW9uYWwgRmVhdHVyZXM6CisgICAtLWVuYWJsZS1zdGFuZGFsb25lICAgIGJ1aWxkIHN0YW5kYWxvbmUsIHdpdGggbm8gR1BMIG9yIExhblBsdXMgbGlicy4KKyAgIC0tZW5hYmxlLWxpYnNlbnNvcnMJIGJ1aWxkIGxpYmlwbWl1dGlsIHdpdGggc2Vuc29yIG1vZHVsZXMgW2RlZmF1bHQ9bm9dCisgICAtLWVuYWJsZS1ncGwgICAgICAgICAgIGJ1aWxkIHdpdGggc29tZSBHUEwgY29kZSBbZGVmYXVsdD1ub10KKy0gIC0tZW5hYmxlLXN5c3RlbWQgICAgICAgZW5hYmxlIHN5c3RlbWQgc2VydmljZSB0eXBlPW5vdGlmeSBzdXBwb3J0IGFuZCAlX3VuaXRkaXIgW2RlZmF1bHQ9ZGlzYWJsZWRdCisrICAtLWVuYWJsZS1zeXN0ZW1kWz1zeXN0ZW1kZGlyXSAgICAgIGluc3RhbGwgc3lzdGVtZCB1bml0IGZpbGUuICBJZiAneWVzJworKyAgICAgICAgICAgICAgICBwcm9iZSB0aGUgc3lzdGVtIGZvciB1bml0IGRpcmVjdG9yeS4KKysgICAgICAgICAgICAgICAgSWYgYSBwYXRoIGlzIHNwZWNpZmllZCwgYXNzdW1lIHRoYXQKKysgICAgICAgICAgICAgICAgaXMgYSB2YWxpZCBpbnN0YWxsIHBhdGguICBbZGVmYXVsdD1kaXNhYmxlZF0KKyAKKyBPcHRpb25hbCBQYWNrYWdlczoKKyAgIC0td2l0aC1QQUNLQUdFWz1BUkddICAgIHVzZSBQQUNLQUdFIFtBUkc9eWVzXQorQEAgLTEyOTgwLDcgKzEyOTgyLDYgQEAgQ1JPU1NfTEZMQUdTPSIiCisgQ1JPU1NfQ0ZMQUdTPSIiCisgTElCU0VOU09SUz0iIgorIFNBTTJPQko9ImlzZW5zb3IyLm8gaWV2ZW50czIubyIKKy1TWVNURU1EX0RJUj0vdXNyL3NoYXJlL2lwbWl1dGlsCisgCisgIyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLXVzZWZsYWdzIHdhcyBnaXZlbi4KKyBpZiB0ZXN0ICIke2VuYWJsZV91c2VmbGFncytzZXR9IiA9IHNldDsgdGhlbgorQEAgLTEzMDMyLDMxICsxMzAzMyw0MyBAQCBpZiB0ZXN0ICIke2VuYWJsZV9ncGwrc2V0fSIgPSBzZXQ7IHRoZW4KKyAgICAgZmkKKyAKKyBmaQorLQorKyMKKysjIENoZWNrIGZvciBzeXN0ZW1kIHVuaXQgZmlsZXMgZGlyZWVjdG9yeSBleGlzdHMgaWYgdW5pdCBmaWxlIGluc3RhbGxhdGlvbgorKyMgaXMgcmVxdWVzdGVkCisrIworIAorICMgQ2hlY2sgd2hldGhlciAtLWVuYWJsZS1zeXN0ZW1kIHdhcyBnaXZlbi4KKy1pZiB0ZXN0ICIke2VuYWJsZV9zeXN0ZW1kK3NldH0iID0gc2V0OyB0aGVuCistICBlbmFibGV2YWw9JGVuYWJsZV9zeXN0ZW1kOworLWZpCistCistaWYgdGVzdCAieCRlbmFibGVfc3lzdGVtZCIgPSAieHllcyI7IHRoZW4KKy0gICBHUExfQ0ZMQUdTPSIkR1BMX0NGTEFHUyAtREVOQUJMRV9TWVNURU1EIgorLSAgICMgaWYgc3lzdGVtZCBlbmFibGVkLCBpbnN0YWxsIHNlcnZpY2Ugc2NyaXB0cyBpbiB1bml0ZGlyCistICAgU1lTVEVNRF9ESVI9YHJwbSAtLWV2YWwgIiV7X3VuaXRkaXJ9ImAKKy1lbHNlCistICAgIyBvdGhlcndpc2UgaW5zdGFsbCB0aGUgc3lzdGVtZCBzZXJ2aWNlIHNjcmlwdHMgaW4gdGhlIGRhdGEgZGlyCistICBpZiB0ZXN0ICAieCRzeXNuYW1lIiA9ICJ4RGFyd2luIiA7IHRoZW4KKy0gICAgIyBNYWNPUyAnd2hpY2gnIGNvbW1hbmQgcmV0dXJucyAwIGFsd2F5cworLSAgICBTWVNURU1EX0RJUj0vdXNyL3NoYXJlL2lwbWl1dGlsCistICBlbHNlCisraWYgdGVzdCAiJHtlbmFibGVfc3lzdGVtZCtzZXR9IiA9IHNldDsgdGhlbiA6CisrICB3aXRodmFsPSRlbmFibGVfc3lzdGVtZDsgaWYgdGVzdCAiJHdpdGh2YWwiID0geWVzOyB0aGVuCisrICBHUExfQ0ZMQUdTPSIkR1BMX0NGTEFHUyAtREVOQUJMRV9TWVNURU1EIgorKyAgaWYgdGVzdCAteiAiJHN5c3RlbWRkaXIiOyB0aGVuCisrICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgbG9jYXRpb24gb2YgdGhlIHN5c3RlbWQgdW5pdCBmaWxlcyBkaXJlY3RvcnkiID4mNQorKyRhc19lY2hvX24gImNoZWNraW5nIGxvY2F0aW9uIG9mIHRoZSBzeXN0ZW1kIHVuaXQgZmlsZXMgZGlyZWN0b3J5Li4uICIgPiY2OyB9CisrICAgIF9ycG1kaXIgPSAiIgorICAgICB3aGljaCBycG0gPi9kZXYvbnVsbCAyPiYxCisgICAgIGlmIHRlc3QgICQ/IC1lcSAwIDsgdGhlbgorLSAgICAgICBkYXRhZD1gcnBtIC0tZXZhbCAiJXtfZGF0YWRpcn0iYAorLSAgICAgICBTWVNURU1EX0RJUj0ke2RhdGFkfS9pcG1pdXRpbAorLSAgICBlbHNlCistICAgICAgIFNZU1RFTURfRElSPS91c3Ivc2hhcmUvaXBtaXV0aWwKKysgICAgICBfcnBtZGlyID0gYHJwbSAtLWV2YWwgIiV7X3VuaXRkaXJ9ImAKKyAgICAgZmkKKysgICAgZm9yIHN5c3RlbWRfZCBpbiAke2RhdGFkaXJ9L3Vzci9zaGFyZS9pcG1pdXRpbCAke19ycG1kaXJ9IC91c3Ivc2hhcmUvaXBtaXV0aWw7IGRvCisrICAgICAgaWYgdGVzdCAteiAiJHN5c3RlbWRkaXIiOyB0aGVuCisrICAgICAgICBpZiB0ZXN0IC1kICIkc3lzdGVtZF9kIjsgdGhlbgorKyAgICAgICAgICBzeXN0ZW1kZGlyPSIkc3lzdGVtZF9kIgorKyAgICAgICAgZmkKKysgICAgICBmaQorKyAgICBkb25lCisgICBmaQorKyAgaWYgdGVzdCAtbiAiJHN5c3RlbWRkaXIiOyB0aGVuCisrICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkc3lzdGVtZGRpciIgPiY1CisrJGFzX2VjaG8gIiRzeXN0ZW1kZGlyIiA+JjY7IH0KKysgIGVsc2UKKysgICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5vdCBmb3VuZCIgPiY1CisrJGFzX2VjaG8gIm5vdCBmb3VuZCIgPiY2OyB9CisrIGZpCisrZWxzZQorKyBpZiB0ZXN0ICIkd2l0aHZhbCIgIT0gbm87IHRoZW4KKysgIHN5c3RlbWRkaXI9JHdpdGh2YWwKKysgZmkKKytmaQorIGZpCisgCisgY2FzZSAiJGFyY2htIiBpbgorSW5kZXg6IGlwbWl1dGlsLTIuOS42L2NvbmZpZ3VyZS5hYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGlwbWl1dGlsLTIuOS42Lm9yaWcvY29uZmlndXJlLmFjCisrKysgaXBtaXV0aWwtMi45LjYvY29uZmlndXJlLmFjCitAQCAtMTQwLDcgKzE0MCw2IEBAIENST1NTX0xGTEFHUz0iIgorIENST1NTX0NGTEFHUz0iIgorIExJQlNFTlNPUlM9IiIKKyBTQU0yT0JKPSJpc2Vuc29yMi5vIGlldmVudHMyLm8iCistU1lTVEVNRF9ESVI9L3Vzci9zaGFyZS9pcG1pdXRpbAorIAorIEFDX0FSR19FTkFCTEUoW3VzZWZsYWdzXSwKKyAgICAgWyAgLS1lbmFibGUtdXNlZmxhZ3MgICAgaW5jbHVkZSBlbnZpcm9ubWVudCBDRkxBR1MgYW5kIExERkxBR1MuXSwKK0BAIC0xOTEsMjUgKzE5MCw0MiBAQCBBQ19BUkdfRU5BQkxFKFtncGxdLAorIAorIGRubCBEb2VzIHRoaXMgTGludXggaGF2ZSBzeXN0ZW1kIGVuYWJsZWQ/ICBPdGhlcndpc2UgdXNlIHN5c3YgaW5pdC4KKyBBQ19BUkdfRU5BQkxFKFtzeXN0ZW1kXSwKKy0gICAgWyAgLS1lbmFibGUtc3lzdGVtZCAgICAgICBlbmFibGUgc3lzdGVtZCBzZXJ2aWNlIHR5cGU9bm90aWZ5IHN1cHBvcnQgYW5kICVfdW5pdGRpciBbW2RlZmF1bHQ9ZGlzYWJsZWRdXV0sKQorLWlmIHRlc3QgIngkZW5hYmxlX3N5c3RlbWQiID0gInh5ZXMiOyB0aGVuCistICAgR1BMX0NGTEFHUz0iJEdQTF9DRkxBR1MgLURFTkFCTEVfU1lTVEVNRCIKKy0gICAjIGlmIHN5c3RlbWQgZW5hYmxlZCwgaW5zdGFsbCBzZXJ2aWNlIHNjcmlwdHMgaW4gdW5pdGRpcgorLSAgIFNZU1RFTURfRElSPWBycG0gLS1ldmFsICIle191bml0ZGlyfSJgCisrICAgIFsgIC0tZW5hYmxlLXN5c3RlbWRbPXN5c3RlbWRkaXJdICAgICAgaW5zdGFsbCBzeXN0ZW1kIHVuaXQgZmlsZS4gIElmICd5ZXMnCisrICAgICAgICBwcm9iZSB0aGUgc3lzdGVtIGZvciB1bml0IGRpcmVjdG9yeS4KKysgICAgICAgIElmIGEgcGF0aCBpcyBzcGVjaWZpZWQsIGFzc3VtZSB0aGF0CisrICAgICAgICBpcyBhIHZhbGlkIGluc3RhbGwgcGF0aC4gW1tkZWZhdWx0PWRpc2FibGVkXV1dLCkKKysjIENoZWNrIHdoZXRoZXIgLS1lbmFibGUtc3lzdGVtZCB3YXMgZ2l2ZW4uCisraWYgdGVzdCAiJHtlbmFibGVfc3lzdGVtZCtzZXR9IiA9IHNldDsgdGhlbiA6CisrCXdpdGh2YWw9JGVuYWJsZV9zeXN0ZW1kOyBpZiB0ZXN0ICIkd2l0aHZhbCIgPSB5ZXM7IHRoZW4KKysJR1BMX0NGTEFHUz0iJEdQTF9DRkxBR1MgLURFTkFCTEVfU1lTVEVNRCIKKysJaWYgdGVzdCAteiAiJHN5c3RlbWRkaXIiOyB0aGVuCisrCQl7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGxvY2F0aW9uIG9mIHRoZSBzeXN0ZW1kIHVuaXQgZmlsZXMgZGlyZWN0b3J5IiA+JjUKKysJCSRhc19lY2hvX24gImNoZWNraW5nIGxvY2F0aW9uIG9mIHRoZSBzeXN0ZW1kIHVuaXQgZmlsZXMgZGlyZWN0b3J5Li4uICIgPiY2OyB9CisrCQlfcnBtZGlyID0gIiIKKysJCXdoaWNoIHJwbSA+L2Rldi9udWxsIDI+JjEKKysJCWlmIHRlc3QgICQ/IC1lcSAwIDsgdGhlbgorKwkJCV9ycG1kaXIgPSBgcnBtIC0tZXZhbCAiJXtfdW5pdGRpcn0iYAorKwkJZmkKKysJCWZvciBzeXN0ZW1kX2QgaW4gJHtkYXRhZGlyfS91c3Ivc2hhcmUvaXBtaXV0aWwgJHtfcnBtZGlyfSAvdXNyL3NoYXJlL2lwbWl1dGlsOyBkbworKwkJCWlmIHRlc3QgLXogIiRzeXN0ZW1kZGlyIjsgdGhlbgorKwkJCQlpZiB0ZXN0IC1kICIkc3lzdGVtZF9kIjsgdGhlbgorKwkJCQkJc3lzdGVtZGRpcj0iJHN5c3RlbWRfZCIKKysJCQkJZmkKKysJCQlmaQorKwkJZG9uZQorKwlmaQorKwlpZiB0ZXN0IC1uICIkc3lzdGVtZGRpciI7IHRoZW4KKysJCXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkc3lzdGVtZGRpciIgPiY1CisrCQkkYXNfZWNobyAiJHN5c3RlbWRkaXIiID4mNjsgfQorKwllbHNlCisrCQl7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogbm90IGZvdW5kIiA+JjUKKysJCSRhc19lY2hvICJub3QgZm91bmQiID4mNjsgfQorKwlmaQorIGVsc2UKKy0gICAjIG90aGVyd2lzZSBpbnN0YWxsIHRoZSBzeXN0ZW1kIHNlcnZpY2Ugc2NyaXB0cyBpbiB0aGUgZGF0YSBkaXIKKy0gIGlmIHRlc3QgICJ4JHN5c25hbWUiID0gInhEYXJ3aW4iIDsgdGhlbgorLSAgICAjIE1hY09TICd3aGljaCcgY29tbWFuZCByZXR1cm5zIDAgYWx3YXlzCistICAgIFNZU1RFTURfRElSPS91c3Ivc2hhcmUvaXBtaXV0aWwKKy0gIGVsc2UKKy0gICAgd2hpY2ggcnBtID4vZGV2L251bGwgMj4mMQorLSAgICBpZiB0ZXN0ICAkPyAtZXEgMCA7IHRoZW4KKy0gICAgICAgZGF0YWQ9YHJwbSAtLWV2YWwgIiV7X2RhdGFkaXJ9ImAKKy0gICAgICAgU1lTVEVNRF9ESVI9JHtkYXRhZH0vaXBtaXV0aWwKKy0gICAgZWxzZQorLSAgICAgICBTWVNURU1EX0RJUj0vdXNyL3NoYXJlL2lwbWl1dGlsCistICAgIGZpCistICBmaQorKwlpZiB0ZXN0ICIkd2l0aHZhbCIgIT0gbm87IHRoZW4KKysJCXN5c3RlbWRkaXI9JHdpdGh2YWwKKysJZmkKKytmaQorIGZpCisgCisgZG5sIHN0YXJ0IG1haW4gbG9naWMKK0BAIC00ODEsNyArNDk3LDcgQEAgQUNfU1VCU1QoSU5TX0xJQikKKyBBQ19TVUJTVChTVUJESVJfUykKKyBBQ19TVUJTVChDUk9TU19DRkxBR1MpCisgQUNfU1VCU1QoQ1JPU1NfTEZMQUdTKQorLUFDX1NVQlNUKFNZU1RFTURfRElSKQorK0FDX1NVQlNUKHN5c3RlbWRkaXIpCisgQUNfU1VCU1QoU0hSX0xJTkspCisgQUNfU1VCU1QocGtnY29uZmlnZGlyKQorIAorSW5kZXg6IGlwbWl1dGlsLTIuOS42L01ha2VmaWxlLmluCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gaXBtaXV0aWwtMi45LjYub3JpZy9NYWtlZmlsZS5pbgorKysrIGlwbWl1dGlsLTIuOS42L01ha2VmaWxlLmluCitAQCAtMTgyLDcgKzE4Miw3IEBAIFNIRUxMID0gQFNIRUxMQAorIFNIUl9MSU5LID0gQFNIUl9MSU5LQAorIFNUUklQID0gQFNUUklQQAorIFNVQkRJUl9TID0gQFNVQkRJUl9TQAorLVNZU1RFTURfRElSID0gQFNZU1RFTURfRElSQAorK1NZU1RFTURfRElSID0gQHN5c3RlbWRkaXJACisgVkVSU0lPTiA9IEBWRVJTSU9OQAorIGFic19idWlsZGRpciA9IEBhYnNfYnVpbGRkaXJACisgYWJzX3NyY2RpciA9IEBhYnNfc3JjZGlyQAorQEAgLTIzMyw2ICsyMzMsNyBAQCBzYmluZGlyID0gQHNiaW5kaXJACisgc2hhcmVkc3RhdGVkaXIgPSBAc2hhcmVkc3RhdGVkaXJACisgc3JjZGlyID0gQHNyY2RpckAKKyBzeXNjb25mZGlyID0gQHN5c2NvbmZkaXJACisrc3lzdGVtZGRpciA9IEBzeXN0ZW1kZGlyQAorIHRhcmdldF9hbGlhcyA9IEB0YXJnZXRfYWxpYXNACisgdG9wX2J1aWxkX3ByZWZpeCA9IEB0b3BfYnVpbGRfcHJlZml4QAorIHRvcF9idWlsZGRpciA9IEB0b3BfYnVpbGRkaXJACitJbmRleDogaXBtaXV0aWwtMi45LjYvc2NyaXB0cy9NYWtlZmlsZS5pbgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGlwbWl1dGlsLTIuOS42Lm9yaWcvc2NyaXB0cy9NYWtlZmlsZS5pbgorKysrIGlwbWl1dGlsLTIuOS42L3NjcmlwdHMvTWFrZWZpbGUuaW4KK0BAIC0xMjYsNyArMTI2LDcgQEAgU0hFTEwgPSBAU0hFTExACisgU0hSX0xJTksgPSBAU0hSX0xJTktACisgU1RSSVAgPSBAU1RSSVBACisgU1VCRElSX1MgPSBAU1VCRElSX1NACistU1lTVEVNRF9ESVIgPSBAU1lTVEVNRF9ESVJACisrU1lTVEVNRF9ESVIgPSBAc3lzdGVtZGRpckAKKyBWRVJTSU9OID0gQFZFUlNJT05ACisgYWJzX2J1aWxkZGlyID0gQGFic19idWlsZGRpckAKKyBhYnNfc3JjZGlyID0gQGFic19zcmNkaXJACitAQCAtMTk1LDcgKzE5NSw4IEBAIGNyb250byA9ICR7REVTVERJUn0ke2V0Y2Rpcn0vY3Jvbi5kYWlseQorIHNiaW50byA9ICR7REVTVERJUn0ke3NiaW5kaXJ9CisgdmFydG8gPSAke0RFU1RESVJ9L3Zhci9saWIvaXBtaXV0aWwKKyBpbml0dG8gPSAke0RFU1RESVJ9QElOSVRfRElSQAorLXN5c2R0byA9ICR7REVTVERJUn1AU1lTVEVNRF9ESVJACisrc3lzZHRvID0gJHtERVNURElSfUBzeXN0ZW1kZGlyQAorK3N5c3RlbWRkaXIgPSBAc3lzdGVtZGRpckAKKyBzeXN2aW5pdCA9ICR7ZGF0YXRvfQorIHNiaW5mbHMgPSBpYWxhcm1zIGloZWFsdGggaWZydSBpZ2V0ZXZlbnQgaXJlc2V0IGljbWQgaXNvbCBpbGFuIGlzZW5zb3IgaXNlbCBpc2VyaWFsIGl3ZHQgaWNvbmZpZyBpcGljbWcgaWZpcmV3YWxsIGlmd3VtIGlocG0KKyBhbGw6IGFsbC1hbQorQEAgLTM5OCwxMSArMzk5LDE0IEBAIGluc3RhbGw6CisgCSR7SU5TVEFMTF9TQ1JJUFRfU0h9IGV2dC5zaCAgICAgICAke2RhdGF0b30KKyAJaWYgWyAtZiAvZXRjL2RlYmlhbl92ZXJzaW9uIF07IHRoZW4gXAorIAkgICBzeXN2aW5pdD0ke2luaXR0b307IGZpCistCSR7SU5TVEFMTF9TQ1JJUFRfU0h9IGlwbWl1dGlsX3dkdCAke3N5c3Zpbml0fS9pcG1pdXRpbF93ZHQKKy0JJHtJTlNUQUxMX1NDUklQVF9TSH0gaXBtaXV0aWxfYXN5ICR7c3lzdmluaXR9L2lwbWl1dGlsX2FzeQorLQkke0lOU1RBTExfU0NSSVBUX1NIfSBpcG1pdXRpbF9ldnQgJHtzeXN2aW5pdH0vaXBtaXV0aWxfZXZ0CistCSR7SU5TVEFMTF9TQ1JJUFRfU0h9IGlwbWlfcG9ydC5zaCAke3N5c3Zpbml0fS9pcG1pX3BvcnQKKy0JJHtJTlNUQUxMX1NDUklQVF9TSH0gaXBtaV9pbmZvICAgICR7c3lzdmluaXR9L2lwbWlfaW5mbworKwlpZiBbICEgLXogIiR7c3lzdGVtZGRpcn0iIF07IHRoZW4gXAorKwkJJChNS0RJUikgJHtzeXNkdG99OyBcCisrCQkke0lOU1RBTExfU0NSSVBUX1NIfSBpcG1pdXRpbF93ZHQgJHtzeXN2aW5pdH0vaXBtaXV0aWxfd2R0OyBcCisrCQkke0lOU1RBTExfU0NSSVBUX1NIfSBpcG1pdXRpbF9hc3kgJHtzeXN2aW5pdH0vaXBtaXV0aWxfYXN5OyBcCisrCQkke0lOU1RBTExfU0NSSVBUX1NIfSBpcG1pdXRpbF9ldnQgJHtzeXN2aW5pdH0vaXBtaXV0aWxfZXZ0OyBcCisrCQkke0lOU1RBTExfU0NSSVBUX1NIfSBpcG1pX3BvcnQuc2ggJHtzeXN2aW5pdH0vaXBtaV9wb3J0OyBcCisrCQkke0lOU1RBTExfU0NSSVBUX1NIfSBpcG1pX2luZm8gICAgJHtzeXN2aW5pdH0vaXBtaV9pbmZvOyBcCisrCWZpCisgCSR7SU5TVEFMTF9TQ1JJUFRfU0h9IGNoZWNrc2VsICAgICAke2RhdGF0b30KKyAJJHtJTlNUQUxMX0RBVEFfU0h9IGlwbWl1dGlsX3dkdC5zZXJ2aWNlICR7c3lzZHRvfQorIAkke0lOU1RBTExfREFUQV9TSH0gaXBtaXV0aWxfYXN5LnNlcnZpY2UgJHtzeXNkdG99CitJbmRleDogaXBtaXV0aWwtMi45LjYvc2NyaXB0cy9NYWtlZmlsZS5hbQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGlwbWl1dGlsLTIuOS42Lm9yaWcvc2NyaXB0cy9NYWtlZmlsZS5hbQorKysrIGlwbWl1dGlsLTIuOS42L3NjcmlwdHMvTWFrZWZpbGUuYW0KK0BAIC0xNyw3ICsxNyw4IEBAIGNyb250byA9ICR7REVTVERJUn0ke2V0Y2Rpcn0vY3Jvbi5kYWlseQorIHNiaW50byA9ICR7REVTVERJUn0ke3NiaW5kaXJ9CisgdmFydG8gID0gJHtERVNURElSfS92YXIvbGliL2lwbWl1dGlsCisgaW5pdHRvID0gJHtERVNURElSfUBJTklUX0RJUkAKKy1zeXNkdG8gPSAke0RFU1RESVJ9QFNZU1RFTURfRElSQAorK3N5c2R0byA9ICR7REVTVERJUn1Ac3lzdGVtZGRpckAKKytzeXN0ZW1kZGlyID0gQHN5c3RlbWRkaXJACisgc3lzdmluaXQgPSAke2RhdGF0b30KKyBzYmluZmxzID0gaWFsYXJtcyBpaGVhbHRoIGlmcnUgaWdldGV2ZW50IGlyZXNldCBpY21kIGlzb2wgaWxhbiBpc2Vuc29yIGlzZWwgaXNlcmlhbCBpd2R0IGljb25maWcgaXBpY21nIGlmaXJld2FsbCBpZnd1bSBpaHBtCisgCitAQCAtNDcsMTAgKzQ4LDE0IEBAIGluc3RhbGw6CisgCSR7SU5TVEFMTF9TQ1JJUFRfU0h9IGlwbWlfcG9ydC5zaCAke3N5c3Zpbml0fS9pcG1pX3BvcnQKKyAJJHtJTlNUQUxMX1NDUklQVF9TSH0gaXBtaV9pbmZvICAgICR7c3lzdmluaXR9L2lwbWlfaW5mbworIAkke0lOU1RBTExfU0NSSVBUX1NIfSBjaGVja3NlbCAgICAgJHtkYXRhdG99CistCSR7SU5TVEFMTF9EQVRBX1NIfSBpcG1pdXRpbF93ZHQuc2VydmljZSAke3N5c2R0b30KKy0JJHtJTlNUQUxMX0RBVEFfU0h9IGlwbWl1dGlsX2FzeS5zZXJ2aWNlICR7c3lzZHRvfQorLQkke0lOU1RBTExfREFUQV9TSH0gaXBtaXV0aWxfZXZ0LnNlcnZpY2UgJHtzeXNkdG99CistCSR7SU5TVEFMTF9EQVRBX1NIfSBpcG1pX3BvcnQuc2VydmljZSAgICAke3N5c2R0b30KKysJCisrCWlmIFsgISAteiAiJHtzeXN0ZW1kZGlyfSIgXTsgdGhlbiBcCisrCQkkKE1LRElSKSAke3N5c2R0b307IFwKKysJCSR7SU5TVEFMTF9EQVRBX1NIfSBpcG1pdXRpbF93ZHQuc2VydmljZSAke3N5c2R0b307IFwKKysJCSR7SU5TVEFMTF9EQVRBX1NIfSBpcG1pdXRpbF9hc3kuc2VydmljZSAke3N5c2R0b307IFwKKysJCSR7SU5TVEFMTF9EQVRBX1NIfSBpcG1pdXRpbF9ldnQuc2VydmljZSAke3N5c2R0b307IFwKKysJCSR7SU5TVEFMTF9EQVRBX1NIfSBpcG1pX3BvcnQuc2VydmljZSAgICAke3N5c2R0b307IFwKKysJZmkKKyAJJHtJTlNUQUxMX1NDUklQVF9TSH0gaXBtaXV0aWwuZW52ICAgICAke2RhdGF0b30KKyAJJHtJTlNUQUxMX1NDUklQVF9TSH0gaXBtaXV0aWwucHJlICAgICAke2RhdGF0b30KKyAJJHtJTlNUQUxMX1NDUklQVF9TSH0gaXBtaXV0aWwuc2V0dXAgICAke2RhdGF0b30KK0luZGV4OiBpcG1pdXRpbC0yLjkuNi9saWIvTWFrZWZpbGUuaW4KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBpcG1pdXRpbC0yLjkuNi5vcmlnL2xpYi9NYWtlZmlsZS5pbgorKysrIGlwbWl1dGlsLTIuOS42L2xpYi9NYWtlZmlsZS5pbgorQEAgLTEyOCw3ICsxMjgsNyBAQCBTSEVMTCA9IEBTSEVMTEAKKyBTSFJfTElOSyA9IEBTSFJfTElOS0AKKyBTVFJJUCA9IEBTVFJJUEAKKyBTVUJESVJfUyA9IEBTVUJESVJfU0AKKy1TWVNURU1EX0RJUiA9IEBTWVNURU1EX0RJUkAKKytTWVNURU1EX0RJUiA9IEBzeXN0ZW1kZGlyQAorIFZFUlNJT04gPSBAVkVSU0lPTkAKKyBhYnNfYnVpbGRkaXIgPSBAYWJzX2J1aWxkZGlyQAorIGFic19zcmNkaXIgPSBAYWJzX3NyY2RpckAKK0luZGV4OiBpcG1pdXRpbC0yLjkuNi9saWIvbGFucGx1cy9NYWtlZmlsZS5pbgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGlwbWl1dGlsLTIuOS42Lm9yaWcvbGliL2xhbnBsdXMvTWFrZWZpbGUuaW4KKysrKyBpcG1pdXRpbC0yLjkuNi9saWIvbGFucGx1cy9NYWtlZmlsZS5pbgorQEAgLTE3Nyw3ICsxNzcsOCBAQCBTSEVMTCA9IEBTSEVMTEAKKyBTSFJfTElOSyA9IEBTSFJfTElOS0AKKyBTVFJJUCA9IEBTVFJJUEAKKyBTVUJESVJfUyA9IEBTVUJESVJfU0AKKy1TWVNURU1EX0RJUiA9IEBTWVNURU1EX0RJUkAKKytTWVNURU1EX0RJUiA9IEBzeXN0ZW1kZGlyQAorK3N5c3RlbWRkaXIgPSBAc3lzdGVtZGRpckAKKyBWRVJTSU9OID0gQFZFUlNJT05ACisgYWJzX2J1aWxkZGlyID0gQGFic19idWlsZGRpckAKKyBhYnNfc3JjZGlyID0gQGFic19zcmNkaXJACmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2lwbWl1dGlsL2lwbWl1dGlsXzIuOS42LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9pcG1pdXRpbC9pcG1pdXRpbF8yLjkuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNDI3M2ZiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9pcG1pdXRpbC9pcG1pdXRpbF8yLjkuNi5iYgpAQCAtMCwwICsxLDYwIEBACitTVU1NQVJZID0gImlwbWl1dGlsIGlzIGFuIGVhc3ktdG8tdXNlIHNldCBvZiBJUE1JIHNlcnZlciBtYW5hZ2VtZW50IHV0aWxpdGllcy5cCitJdCBjYW4gZ2V0L3NldCBzZW5zb3IgdGhyZXNob2xkcywgYXV0b21hdGUgU0VMIG1hbmFnZW1lbnQsIGRvIFNPTCBjb25zb2xlLCBldGMuIgorCitERVNDUklQVElPTiA9ICJUaGUgSVBNSSBNYW5hZ2VtZW50IFV0aWxpdGllcyBjdXJyZW50bHkgd29yayB3aXRoIHBsYXRmb3JtcyB0aGF0IFwKK3N1cHBvcnQgdGhlIElQTUkgMS41IG9yIDIuMCBzcGVjaWZpY2F0aW9uLiAgIElQTUkgc2VydmVycyBjYW4gYmUgbWFuYWdlZFwKK2xvY2FsbHksIG9yIHJlbW90ZWx5IHZpYSBJUE1JIExBTiwgZXZlbiB3aGVuIHRoZSBPUyBvciBtYWluIENQVSBpcyBub3RcCitmdW5jdGlvbmFsLlxuIFwKK1RoZSBpcG1pdXRpbCB1dGlsaXRpZXMgd2lsbCB1c2UgYW4gSVBNSSBEcml2ZXIsIGVpdGhlciB0aGUgSW50ZWwgSVBNSSBwYWNrYWdlIFwKKyhpcG1pZHJ2ciwgL2Rldi9pbWIpLCBNb250YVZpc3RhIE9wZW5JUE1JICgvZGV2L2lwbWkwKSwgdGhlIHZhbGludXggSVBNSSBcCitEcml2ZXIgKC9kZXYvaXBtaWtjcyksIG9yIHRoZSBMQU5EZXNrIGxkaXBtaSBkYWVtb24uICBUaGUgaXBtaXV0aWwgdXRpbGl0aWVzIFwKK2NhbiBhbHNvIHVzZSBkaXJlY3QgdXNlci1zcGFjZSBJL09zIGluIExpbnV4IG9yIEZyZWVCU0QgaWYgbm8gSVBNSSBkcml2ZXIgXAoraXMgZGV0ZWN0ZWQuIgorCitIT01FUEFHRSA9ICJodHRwOi8vaXBtaXV0aWwuc291cmNlZm9yZ2UubmV0IgorTElDRU5TRSA9ICJCU0QtMi1DbGF1c2UiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01ZjkzNzI0OTM0MDFmMzA5ZTYxNDlkZDJjZTBhMDQ0YiIKKworI1BBUkFMTEVMX01BS0UgPSAiIgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9pcG1pdXRpbC9pcG1pdXRpbC0ke1BWfS50YXIuZ3ogXAorICAgIGZpbGU6Ly9maXhfc3lzdGVtZF9wYXRoLnBhdGNoICIKKworU1JDX1VSSVttZDVzdW1dID0gIjQ2MjA4Nzk5NWYwNWZhOWU2OTJlZDdmNTVjODQwZjcxIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjg4NGMxZjNkOGJmYjBiMzNjMzAzOTczZDI4NmMzMTY2ZjVhNTM3OTc2NDUxYTAzMTJlMzUyNGFmNTQ3NzE1MTkiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwa2djb25maWcgc3lzdGVtZAorCitQQUNLQUdFQ09ORklHID89ICJsYW5wbHVzIGdwbCIKK1BBQ0tBR0VDT05GSUcgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICdzeXN0ZW1kJywgJycsIGQpfSIKK1BBQ0tBR0VDT05GSUdbc3lzdGVtZF0gPSAiLS1lbmFibGUtc3lzdGVtZD0ke2RhdGFkaXJ9LyR7QlBOfSwgLS1lbmFibGUtc3lzdGVtZD1ubyIKK1BBQ0tBR0VDT05GSUdbc2hhMjU2XSA9ICItLWVuYWJsZS1zaGEyNTYsIC0tZW5hYmxlLXNoYTI1Nj1ubywgb3BlbnNzbC1uYXRpdmUsIG9wZW5zc2wiCitQQUNLQUdFQ09ORklHW2xhbnBsdXNdID0gIi0tZW5hYmxlLWxhbnBsdXMsIC0tZW5hYmxlLWxhbnBsdXM9bm8sIG9wZW5zc2wtbmF0aXZlLCBvcGVuc3NsIgorUEFDS0FHRUNPTkZJR1tsYW5kZXNrXSA9ICItLWVuYWJsZS1sYW5kZXNrLCAtLWVuYWJsZS1sYW5kZXNrPW5vIgorUEFDS0FHRUNPTkZJR1tzZW5zb3JzXSA9ICItLWVuYWJsZS1saWJzZW5zb3JzLCAtLWVuYWJsZS1saWJzZW5zb3JzPW5vIiAKKworI2J1aWxkIHdpdGggc29tZSBHUEwgY29kZQorUEFDS0FHRUNPTkZJR1tncGxdID0gIi0tZW5hYmxlLWdwbCwgLS1lbmFibGUtZ3BsPW5vIgorI25vIEdQTCBvciBMYW5QbHVzIGxpYnMKK1BBQ0tBR0VDT05GSUdbc3RhbmRhbG9uZV0gPSAiLS1lbmFibGUtc3RhbmRhbG9uZSwgLS1lbmFibGUtc3RhbmRhbG9uZT1ubyIKKworQ0ZMQUdTICs9ICItSSR7U1RBR0lOR19JTkNESVJ9IgorTERGTEFHUyArPSAiLUwke1NUQUdJTkdfTElCRElSfSIKKworZG9fY29uZmlndXJlICgpIHsKKyAgICBhY2xvY2FsCisgICAgbGlidG9vbGl6ZSAtLWF1dG9tYWtlIC0tY29weSAtLWZvcmNlCisgICAgYXV0b2hlYWRlcgorICAgIGF1dG9tYWtlIC0tZm9yZWlnbiAtLWFkZC1taXNzaW5nIC0tY29weQorCisgICAgYWNsb2NhbAorICAgIGF1dG9jb25mCisgICAgYXV0b21ha2UgLS1mb3JlaWduCisgICAgLi9jb25maWd1cmUgJHtDT05GSUdVUkVPUFRTfSAke0VYVFJBX09FQ09ORn0KK30KKworZG9faW5zdGFsbCAoKSB7CisgICAgb2VfcnVubWFrZSBpbnN0YWxsIERFU1RESVI9JHtEfQorfQorCitDT01QQVRJQkxFX0hPU1QgPSAnKHg4Nl82NHxpLjg2KS4qLWxpbnV4JwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9qb2Uvam9lXzMuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvam9lL2pvZV8zLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmI5YTlmYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvam9lL2pvZV8zLjEuYmIKQEAgLTAsMCArMSwxNSBAQAorU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgorU1VNTUFSWSA9ICJDb25zb2xlIHRleHQgZWRpdG9yIHdpdGggZ29vZCBmdW5jdGlvbmFsaXR5LCBnb29kIGNob2ljZSBmb3IgdmktaGF0ZXJzIgorSE9NRVBBR0UgPSAiaHR0cDovL2pvZS1lZGl0b3Iuc291cmNlZm9yZ2UubmV0LyIKK0xJQ0VOU0UgPSAiR1BMdjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kYTEwZWQ3Y2Y4MDM4OTgxYzU4MGUxMWMxZDNlOGZiNiIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vam9lLWVkaXRvci9qb2UtJHtQVn0udGFyLmd6IgorCitQQUNLQUdFQ09ORklHID8/PSAiY3Vyc2VzIgorUEFDS0FHRUNPTkZJR1tjdXJzZXNdID0gIi0tZW5hYmxlLWN1cnNlcywtLWRpc2FibGUtY3Vyc2VzLG5jdXJzZXMsbmN1cnNlcy10ZXJtaW5mbyIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworU1JDX1VSSVttZDVzdW1dID0gIjJhNmVmMDE4ODcwZmNhOWI3ZGY4NTQwMTk5NGZiMGUwIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjI1MjM5MGU0YmM2ODc5NTdmMDlmMzM0MDk1OTA0YzhjYzUzYjM5YzdiNjYzZWQ0Nzg2MWFlMWQxMWFlZjU5NDYiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xjbXMvbGNtc18yLjcuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xjbXMvbGNtc18yLjcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTJjY2IyMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGNtcy9sY21zXzIuNy5iYgpAQCAtMCwwICsxLDE1IEBACitTVU1NQVJZID0gIkxpdHRsZSBjbXMgaXMgYSBzbWFsbC1mb290cHJpbnQsIHNwZWVkIG9wdGltaXplZCBjb2xvciBtYW5hZ2VtZW50IGVuZ2luZSIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NmM3ODZjM2I3YTRhZmJkM2M5OTBmMWI4MTI2MWQ1MTYiCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9sY21zL2xjbXMyLSR7UFZ9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICIwNmMxNjI2ZjYyNTQyNGE4MTFmYjRiNWViMDcwODM5ZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI0NTI0MjM0YWU3ZGUxODVlNmI2ZGE1ZDMxZDY4NzUwODViMjE5OGJjNjNiMTIxMWY3ZGRlNmUyZDE5N2Q2YTUzIgorCitERVBFTkRTID0gInRpZmYiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCitTID0gIiR7V09SS0RJUn0vbGNtczItJHtQVn0iCisKK2luaGVyaXQgYXV0b3Rvb2xzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xjb3YvbGNvdl8xLjExLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sY292L2xjb3ZfMS4xMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZjNiODg5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sY292L2xjb3ZfMS4xMS5iYgpAQCAtMCwwICsxLDI4IEBACitTVU1NQVJZID0gIkEgZ3JhcGhpY2FsIGZyb250LWVuZCBmb3IgZ2NvdiIKK0hPTUVQQUdFID0gImh0dHA6Ly9sdHAuc291cmNlZm9yZ2UubmV0L2NvdmVyYWdlL2xjb3YucGhwIgorREVTQ1JJUFRJT04gPSAiTENPViBpcyBhIGdyYXBoaWNhbCBmcm9udC1lbmQgZm9yIEdDQydzIGNvdmVyYWdlIHRlc3RpbmcgXAordG9vbCBnY292LiBJdCBjb2xsZWN0cyBnY292IGRhdGEgZm9yIG11bHRpcGxlIHNvdXJjZSBmaWxlcyBhbmQgY3JlYXRlcyBcCitIVE1MIHBhZ2VzIGNvbnRhaW5pbmcgdGhlIHNvdXJjZSBjb2RlIGFubm90YXRlZCB3aXRoIGNvdmVyYWdlIGluZm9ybWF0aW9uLiBcCitJdCBhbHNvIGFkZHMgb3ZlcnZpZXcgcGFnZXMgZm9yIGVhc3kgbmF2aWdhdGlvbiB3aXRoaW4gdGhlIGZpbGUgc3RydWN0dXJlLiBcCitMQ09WIHN1cHBvcnRzIHN0YXRlbWVudCwgZnVuY3Rpb24gYW5kIGJyYW5jaCBjb3ZlcmFnZSBtZWFzdXJlbWVudC4iIAorTElDRU5TRSA9ICJHUEwtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCisKK1JERVBFTkRTXyR7UE59ICs9ICIgXAorICAgIGdjb3YgXAorICAgIHBlcmwgXAorICAgIHBlcmwtbW9kdWxlLWZpbGVoYW5kbGUgXAorICAgIHBlcmwtbW9kdWxlLWdldG9wdC1zdGQgXAorICAgIHBlcmwtbW9kdWxlLWRpZ2VzdC1zaGEgXAorIgorCitTUkNfVVJJID0gImh0dHA6Ly9kb3dubG9hZHMuc291cmNlZm9yZ2UubmV0L2x0cC8ke0JQfS50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlNzliNzk5YWUzY2UxNDlhYTkyNGM3NTIwZTk5MzAyNCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjMjgyZGU4ZDY3OGVjYmZkYTMyY2U0YjVjODVmYzAyZjc3YzJhMzlhMDYyZjA2OGJkOGU3NzRkMjlkZGM5YmY4IgorCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgaW5zdGFsbCBQUkVGSVg9JHtEfQorICAgIHNlZCAtaSAtZSAnMXMsIyEuKnBlcmwsIyEgJHtVU1JCSU5QQVRIfS9lbnYgcGVybCwnICR7RH0ke2JpbmRpcn0vKgorfQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmF0YXNtYXJ0L2xpYmF0YXNtYXJ0XzAuMTkuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmF0YXNtYXJ0L2xpYmF0YXNtYXJ0XzAuMTkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTY2NTdiNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliYXRhc21hcnQvbGliYXRhc21hcnRfMC4xOS5iYgpAQCAtMCwwICsxLDE5IEBACitTVU1NQVJZID0gIkFUQSBTLk0uQS5SLlQuIFJlYWRpbmcgYW5kIFBhcnNpbmcgTGlicmFyeSIKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MR1BMO21kNT0yZDUwMjVkNGFhMzQ5NWJlZmVmOGYxNzIwNmE1YjBhMSIKKworREVQRU5EUyA9ICJ1ZGV2IgorCitTUkNSRVYgPSAiZGU2MjU4OTQwOTYwNDQzMDM4YjRjMTY1MWRmZGEzNjIwMDc1ZTg3MCIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0LjBwb2ludGVyLmRlL2xpYmF0YXNtYXJ0LmdpdCIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBhdXRvdG9vbHMgbGliX3BhY2thZ2UgcGtnY29uZmlnCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIHNlZCAtaSAtZSBzOi8vOi86ZyAtZSAnczo9JHtsaWJkaXJ9L2xpYnVkZXYubGE6LWx1ZGV2OmcnICR7RH0ke2xpYmRpcn0vbGliYXRhc21hcnQubGEKK30KKworUEFDS0FHRVMgPSsgIiR7UE59LWRldi12YWxhIgorRklMRVNfJHtQTn0tZGV2LXZhbGEgPSAiJHtkYXRhZGlyfS92YWxhIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJjYW5iZXJyYS9maWxlcy8wMDAxLWJ1aWxkLWd0ay1hbmQtZ3RrMy12ZXJzaW9uLWZvci1jYW5iZXJyYV9ndGtfcGxheS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliY2FuYmVycmEvZmlsZXMvMDAwMS1idWlsZC1ndGstYW5kLWd0azMtdmVyc2lvbi1mb3ItY2FuYmVycmFfZ3RrX3BsYXkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGUwOTg0ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliY2FuYmVycmEvZmlsZXMvMDAwMS1idWlsZC1ndGstYW5kLWd0azMtdmVyc2lvbi1mb3ItY2FuYmVycmFfZ3RrX3BsYXkucGF0Y2gKQEAgLTAsMCArMSw5MiBAQAorRnJvbSA0YTg5ZGRmZmJiMTRkNzQ3YWRiZTMzNjVhY2U0ZGI4N2RlNTJiYTM5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorRGF0ZTogTW9uLCAxNiBTZXAgMjAxMyAxNjowODoyOCArMDIwMAorU3ViamVjdDogW1BBVENIXSBidWlsZCBndGstIGFuZCBndGszLXZlcnNpb24gZm9yIGNhbmJlcnJhX2d0a19wbGF5CitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KKy0tLQorIHNyYy9NYWtlZmlsZS5hbSB8ICAgMjUgKysrKysrKysrKysrKysrLS0tLS0tLS0tLQorIDEgZmlsZXMgY2hhbmdlZCwgMTUgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvTWFrZWZpbGUuYW0gYi9zcmMvTWFrZWZpbGUuYW0KK2luZGV4IDU2ZWQ5NmQuLmZjNzJlMWYgMTAwNjQ0CistLS0gYS9zcmMvTWFrZWZpbGUuYW0KKysrKyBiL3NyYy9NYWtlZmlsZS5hbQorQEAgLTMxOSw5ICszMTksNiBAQCBlbmRpZgorIAorIGlmIEhBVkVfR1RLX0FOWQorIAorLWJpbl9QUk9HUkFNUyArPSBcCistCWNhbmJlcnJhLWd0ay1wbGF5CistCisgaW5jbHVkZV9IRUFERVJTICs9IFwKKyAJY2FuYmVycmEtZ3RrLmgKKyAKK0BAIC0zMjksNiArMzI2LDkgQEAgZW5kaWYKKyAKKyBpZiBIQVZFX0dUSzMKKyAKKytiaW5fUFJPR1JBTVMgKz0gXAorKwljYW5iZXJyYS1ndGszLXBsYXkKKysKKyBsaWJfTFRMSUJSQVJJRVMgKz0gXAorIAlsaWJjYW5iZXJyYS1ndGszLmxhCisgCitAQCAtMzY3LDYgKzM2Nyw5IEBAIGVuZGlmCisgCisgaWYgSEFWRV9HVEsKKyAKKytiaW5fUFJPR1JBTVMgKz0gXAorKwljYW5iZXJyYS1ndGstcGxheQorKworIGxpYl9MVExJQlJBUklFUyArPSBcCisgCWxpYmNhbmJlcnJhLWd0ay5sYQorIAorQEAgLTM5OSwxNCArNDAyLDE3IEBAIGVuZGlmCisgCisgaWYgSEFWRV9HVEszCisgCistY2FuYmVycmFfZ3RrX3BsYXlfTERBREQgPSBcCisrY2FuYmVycmFfZ3RrM19wbGF5X0xEQUREID0gXAorIAkkKEdUSzNfTElCUykgXAorIAlsaWJjYW5iZXJyYS5sYSBcCisgCWxpYmNhbmJlcnJhLWd0azMubGEKKy1jYW5iZXJyYV9ndGtfcGxheV9DRkxBR1MgPSBcCisrY2FuYmVycmFfZ3RrM19wbGF5X0NGTEFHUyA9IFwKKyAJJChHVEszX0NGTEFHUykKKyAKKy1lbHNlCisrY2FuYmVycmFfZ3RrM19wbGF5X1NPVVJDRVMgPSBcCisrCWNhbmJlcnJhLWd0ay1wbGF5LmMKKysKKytlbmRpZgorIGlmIEhBVkVfR1RLCisgCisgY2FuYmVycmFfZ3RrX3BsYXlfTERBREQgPSBcCitAQCAtNDE2LDcgKzQyMiw5IEBAIGNhbmJlcnJhX2d0a19wbGF5X0xEQUREID0gXAorIGNhbmJlcnJhX2d0a19wbGF5X0NGTEFHUyA9IFwKKyAJJChHVEtfQ0ZMQUdTKQorIAorLWVuZGlmCisrY2FuYmVycmFfZ3RrX3BsYXlfU09VUkNFUyA9IFwKKysJY2FuYmVycmEtZ3RrLXBsYXkuYworKworIGVuZGlmCisgCisgaWYgSEFWRV9HVEtfQU5ZCitAQCAtNDI0LDkgKzQzMiw2IEBAIGlmIEhBVkVfR1RLX0FOWQorIGRpc3RfZ3NkZ3RrbW9kdWxlc19EQVRBID0gXAorIAljYW5iZXJyYS1ndGstbW9kdWxlLmRlc2t0b3AKKyAKKy1jYW5iZXJyYV9ndGtfcGxheV9TT1VSQ0VTID0gXAorLQljYW5iZXJyYS1ndGstcGxheS5jCistCisgRVhUUkFfRElTVCArPSBcCisgCWxpYmNhbmJlcnJhLWxvZ2luLXNvdW5kLmRlc2t0b3AuaW4gXAorIAlsaWJjYW5iZXJyYS1yZWFkeS1zb3VuZC5kZXNrdG9wLmluIFwKKy0tIAorMS43LjYuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmNhbmJlcnJhL2xpYmNhbmJlcnJhXzAuMzAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmNhbmJlcnJhL2xpYmNhbmJlcnJhXzAuMzAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjQ3Mzc3NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliY2FuYmVycmEvbGliY2FuYmVycmFfMC4zMC5iYgpAQCAtMCwwICsxLDYzIEBACitTVU1NQVJZID0gIkltcGxlbWVudGF0aW9uIG9mIFhERyBTb3VuZCBUaGVtZSBhbmQgTmFtZSBTcGVjaWZpY2F0aW9ucyIKK0RFU0NSSVBUSU9OID0gIkxpYmNhbmJlcnJhIGlzIGFuIGltcGxlbWVudGF0aW9uIG9mIHRoZSBYREcgU291bmQgVGhlbWUgYW5kIE5hbWUgU3BlY2lmaWNhdGlvbnMsIGZvciBnZW5lcmF0aW5nIGV2ZW50IHNvdW5kcyBvbiBmcmVlIGRlc2t0b3BzLiIKK0xJQ0VOU0UgPSAiTEdQTHYyLjErIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTEdQTDttZDU9MmQ1MDI1ZDRhYTM0OTViZWZlZjhmMTcyMDZhNWIwYTEgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2NhbmJlcnJhLmg7YmVnaW5saW5lPTc7ZW5kbGluZT0yNDttZDU9YzYxNmM2ODdjZjhkYTU0MGExNGY5MTdlMGQyM2FiMDMiCisKK0RFUEVORFMgPSAibGlidG9vbCBsaWJ2b3JiaXMiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGd0ay1kb2MKKworU1JDX1VSSSA9ICIgXAorICAgIGh0dHA6Ly8wcG9pbnRlci5kZS9sZW5uYXJ0L3Byb2plY3RzLyR7QlBOfS8ke0JQTn0tJHtQVn0udGFyLnh6IFwKKyAgICBmaWxlOi8vMDAwMS1idWlsZC1ndGstYW5kLWd0azMtdmVyc2lvbi1mb3ItY2FuYmVycmFfZ3RrX3BsYXkucGF0Y2ggXAorIgorU1JDX1VSSVttZDVzdW1dID0gIjM0Y2I3ZTQ0MzBhZmFmNmY0NDdjNGViZGI5YjQyMDcyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImMyYjY3MWU2N2UwYzI4OGE2OWZjMzNkYzFiNmYxYjUzNGQwNzg4MmMyYWNlZWQzNzAwNGJmNDhjNjAxYWZhNzIiCisKK0VYVFJBX09FQ09ORiA9ICJcCisgICAgLS1lbmFibGUtbnVsbCBcCisgICAgLS1kaXNhYmxlLW9zcyBcCisgICAgLS1kaXNhYmxlLXRkYiBcCisgICAgLS1kaXNhYmxlLWx5bnggXAorIgorCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ2Fsc2EnLCdhbHNhJywnJyxkKX0gXAorICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdwdWxzZWF1ZGlvJywncHVsc2VhdWRpbycsJycsZCl9IFwKKyAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywneDExJywnZ3RrIGd0azMnLCcnLGQpfSBcCisiCitQQUNLQUdFQ09ORklHW2Fsc2FdID0gIi0tZW5hYmxlLWFsc2EsIC0tZGlzYWJsZS1hbHNhLCBhbHNhLWxpYiIKK1BBQ0tBR0VDT05GSUdbcHVsc2VhdWRpb10gPSAiLS1lbmFibGUtcHVsc2UsIC0tZGlzYWJsZS1wdWxzZSwgcHVsc2VhdWRpbyIKK1BBQ0tBR0VDT05GSUdbZ3N0cmVhbWVyXSA9ICItLWVuYWJsZS1nc3RyZWFtZXIsIC0tZGlzYWJsZS1nc3RyZWFtZXIsIGdzdHJlYW1lcjEuMCIKK1BBQ0tBR0VDT05GSUdbZ3RrXSA9ICItLWVuYWJsZS1ndGssIC0tZGlzYWJsZS1ndGssIGd0aysiCitQQUNLQUdFQ09ORklHW2d0azNdID0gIi0tZW5hYmxlLWd0azMsIC0tZGlzYWJsZS1ndGszLCBndGsrMyIKKworcHl0aG9uIHBvcHVsYXRlX3BhY2thZ2VzX3ByZXBlbmQoKSB7CisgICAgcGx1Z2luZGlyID0gZC5leHBhbmQoJyR7bGliZGlyfS8ke0JQTn0tJHtQVn0vJykKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBwbHVnaW5kaXIsICdebGliY2FuYmVycmEtKC4qKVwuc28kJywgJ2xpYmNhbmJlcnJhLSVzJywgJyVzIHN1cHBvcnQgbGlicmFyeScsIGV4dHJhX2RlcGVuZHM9JycgKQorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIHBsdWdpbmRpciwgJ15saWJjYW5iZXJyYS0oLiopXC5sYSQnLCAnbGliY2FuYmVycmEtJXMnLCAnJXMgc3VwcG9ydCBsaWJyYXJ5JywgZXh0cmFfZGVwZW5kcz0nJyApCit9CisKK1BBQ0tBR0VTID0rICIke1BOfS1nbm9tZSAke1BOfS1ndGsyICR7UE59LWd0azMgJHtQTn0tc3lzdGVtZCIKK1BBQ0tBR0VTX0RZTkFNSUMgKz0gIl5saWJjYW5iZXJyYS0uKiIKKworRklMRVNfJHtQTn0gPSAiJHtiaW5kaXJ9LyAke2xpYmRpcn0vJHtCUE59LnNvLioiCisKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtkYXRhZGlyfS92YWxhL3ZhcGkgJHtsaWJkaXJ9LyovbW9kdWxlcy8qLmxhICR7bGliZGlyfS8qLyoubGEiCisKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9LyR7QlBOfS0ke1BWfS8uZGVidWcgJHtsaWJkaXJ9L2d0ay0qL21vZHVsZXMvLmRlYnVnIgorCitGSUxFU18ke1BOfS1ndGsyID0gIiR7bGliZGlyfS8ke0JQTn0tZ3RrLnNvLiogXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vZ3RrLTIuMC9tb2R1bGVzLyouc28gXAorICAgICAgICAgICAgICAgICAgICAke2JpbmRpcn0vY2FuYmVycmEtZ3RrLXBsYXkiCisKKyMgLWd0azMgc2hpcHMgYSBzeW1saW5rIHRvIGEgLnNvCitJTlNBTkVfU0tJUF8ke1BOfS1ndGszID0gImRldi1zbyIKK0ZJTEVTXyR7UE59LWd0azMgPSAiJHtsaWJkaXJ9LyR7QlBOfS1ndGszLnNvLiogXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vZ3RrLTMuMC9tb2R1bGVzLyouc28gXAorICAgICAgICAgICAgICAgICAgICAke2JpbmRpcn0vY2FuYmVycmEtZ3RrMy1wbGF5IgorCitGSUxFU18ke1BOfS1nbm9tZSA9ICIke2xpYmRpcn0vZ25vbWUtc2V0dGluZ3MtZGFlbW9uLTMuMC8gXAorICAgICAgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9nZG0vICR7ZGF0YWRpcn0vZ25vbWUvIgorCitGSUxFU18ke1BOfS1zeXN0ZW1kID0gIiR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vKi5zZXJ2aWNlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJkYmkvbGliZGJpLWRyaXZlcnMuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJkYmkvbGliZGJpLWRyaXZlcnMuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI1MDk1MzIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmRiaS9saWJkYmktZHJpdmVycy5pbmMKQEAgLTAsMCArMSw1MSBAQAorIyBsaWJkYmktZHJpdmVycyBPRSBidWlsZCBmaWxlCisjIENvcHlyaWdodCAoQykgMjAwNSwgS29uaW5rbGlqa2UgUGhpbGlwcyBFbGVjdHJvbmljcyBOVi4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQKKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgcGFja2FnZXMvQ09QWUlORykKKworREVTQ1JJUFRJT04gPSAiRGF0YWJhc2UgRHJpdmVycyBmb3IgbGliZGJpIgorSE9NRVBBR0UgPSAiaHR0cDovL2xpYmRiaS1kcml2ZXJzLnNvdXJjZWZvcmdlLm5ldC8iCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDgwNDVmM2I4ZjkyOWMxY2IyOWExZTNmZDczN2I0OTkiCitTRUNUSU9OID0gImxpYnMiCisKK1BST1ZJREVTID0gImxpYmRiZC1zcWxpdGUiCitERVBFTkRTID0gImxpYmRiaSBzcWxpdGUgc3FsaXRlMyBteXNxbDUgcG9zdGdyZXNxbCIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vbGliZGJpLWRyaXZlcnMvbGliZGJpLWRyaXZlcnMtJHtQVn0udGFyLmd6IgorCitpbmhlcml0IGF1dG90b29scworCitQQUNLQUdFUyArPSAibGliZGJkLXNxbGl0ZTMgbGliZGJkLXNxbGl0ZSBsaWJkYmQtcGdzcWwgbGliZGJkLW15c3FsIgorCitFWFRSQV9PRUNPTkYgPSAiLS13aXRoLWRiaS1pbmNkaXI9JHtTVEFHSU5HX0lOQ0RJUn0gXAorICAgICAgICAgICAgICAgIC0td2l0aC1kYmktbGliZGlyPSR7U1RBR0lOR19MSUJESVJ9IFwKKyAgICAgICAgICAgICAgICAtLXdpdGgtc3FsaXRlIFwKKyAgICAgICAgICAgICAgICAtLXdpdGgtc3FsaXRlMyBcCisgICAgICAgICAgICAgICAgLS13aXRoLXBnc3FsIFwKKyAgICAgICAgICAgICAgICAtLXdpdGgtbXlzcWwgXAorICAgICAgICAgICAgICAgIC0td2l0aC1zcWxpdGUtbGliZGlyPSR7U1RBR0lOR19MSUJESVJ9IFwKKyAgICAgICAgICAgICAgICAtLXdpdGgtc3FsaXRlLWluY2Rpcj0ke1NUQUdJTkdfSU5DRElSfSBcCisgICAgICAgICAgICAgICAgLS13aXRoLXNxbGl0ZTMtaW5jZGlyPSR7U1RBR0lOR19JTkNESVJ9IFwKKyAgICAgICAgICAgICAgICAtLXdpdGgtc3FsaXRlMy1saWJkaXI9JHtTVEFHSU5HX0xJQkRJUn0gXAorICAgICAgICAgICAgICAgIC0td2l0aC1teXNxbC1pbmNkaXI9JHtTVEFHSU5HX0lOQ0RJUn0gXAorICAgICAgICAgICAgICAgIC0td2l0aC1teXNxbC1saWJkaXI9JHtTVEFHSU5HX0xJQkRJUn0gXAorICAgICAgICAgICAgICAgIC0td2l0aC1wZ3NxbC1pbmNkaXI9JHtTVEFHSU5HX0lOQ0RJUn0gXAorICAgICAgICAgICAgICAgIC0td2l0aC1wZ3NxbC1saWJkaXI9JHtTVEFHSU5HX0xJQkRJUn0gXAorICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1kb2NzIgorCitGSUxFU18ke1BOfS1kYmcgKz0gIiAke2xpYmRpcn0vZGJkLy5kZWJ1Zy8qLnNvIgorRklMRVNfJHtQTn0tZGV2ICs9ICIgJHtsaWJkaXJ9L2RiZC8qLmxhIgorRklMRVNfJHtQTn0tc3RhdGljZGV2ICs9ICIgJHtsaWJkaXJ9L2RiZC8qLmEiCisKK0RFU0NSSVBUSU9OX2xpYmRiZC1zcWxpdGUgPSAiU1FMaXRlIGRhdGFiYXNlIGRyaXZlciBmb3IgbGliZGJpIgorRklMRVNfbGliZGJkLXNxbGl0ZSA9ICIke2xpYmRpcn0vZGJkL2xpYmRiZHNxbGl0ZS5zbyIKKworREVTQ1JJUFRJT05fbGliZGJkLXNxbGl0ZTMgPSAgIlNRTGl0ZTMgZGF0YWJhc2UgZHJpdmVyIGZvciBsaWJkYmkiCitGSUxFU19saWJkYmQtc3FsaXRlMyA9ICIke2xpYmRpcn0vZGJkL2xpYmRiZHNxbGl0ZTMuc28iCisKK0RFU0NSSVBUSU9OX2xpYmRiZC1teXNxbCA9ICJNeVNRTDQgZGF0YWJhc2UgZHJpdmVyIGZvciBsaWJkYmkiCitGSUxFU19saWJkYmQtbXlzcWwgPSAiJHtsaWJkaXJ9L2RiZC9saWJkYmRteXNxbC5zbyIKKworREVTQ1JJUFRJT05fbGliZGJkLXBzcWwgPSAiUG9zdGdyZXMgU1FMIGRhdGFiYXNlIGRyaXZlciBmb3IgbGliZGJpIgorRklMRVNfbGliZGJkLXBnc3FsID0gIiR7bGliZGlyfS9kYmQvbGliZGJkcGdzcWwuc28iCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZGJpL2xpYmRiaS1kcml2ZXJzXzAuOC4zLTEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmRiaS9saWJkYmktZHJpdmVyc18wLjguMy0xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVjODY5YzQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmRiaS9saWJkYmktZHJpdmVyc18wLjguMy0xLmJiCkBAIC0wLDAgKzEsOCBAQAorcmVxdWlyZSAke1BOfS5pbmMKKworCitTUkNfVVJJW21kNXN1bV0gPSAiNGRlNzliMzIzMTYyYTVhNzY1MmI2NWI2MDhlY2E2Y2QiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNGFiOTk0NDM5OGNlNzY5YzBkZWViNjRkMmY3MzU1NWM2N2JjMjVjY2QyYWRlMWNjZjU1MjIyNmM3YjJhY2Y3MiIKKworIyBsaWJkYmktZHJpdmVycy0wLjguMy0xL2RyaXZlcnMvbXlzcWwvZGJkX215c3FsLmM6MjMyOjU6IGVycm9yOiBjb25mbGljdGluZyB0eXBlcyBmb3IgJ2RiZF9nb3RvX3JvdycKK1BOQkxBQ0tMSVNUW2xpYmRiaS1kcml2ZXJzXSA/PSAiQlJPS0VOOiBmYWlscyB0byBidWlsZCB3aXRoIGdjYy01IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJkYmkvbGliZGJpLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZGJpL2xpYmRiaS5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2VhMjgzOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZGJpL2xpYmRiaS5pbmMKQEAgLTAsMCArMSwxNyBAQAorIyBsaWJkYmkgT0UgYnVpbGQgZmlsZQorIyBDb3B5cmlnaHQgKEMpIDIwMDUsIEtvbmlua2xpamtlIFBoaWxpcHMgRWxlY3Ryb25pY3MgTlYuICBBbGwgUmlnaHRzIFJlc2VydmVkCisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIHBhY2thZ2VzL0NPUFlJTkcpCisKK0RFU0NSSVBUSU9OID0gIkRhdGFiYXNlIEluZGVwZW5kZW50IEFic3RyYWN0aW9uIExheWVyIGZvciBDIgorSE9NRVBBR0UgPSAiaHR0cDovL2xpYmRiaS5zb3VyY2Vmb3JnZS5uZXQvIgorTElDRU5TRSA9ICJMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQ4MDQ1ZjNiOGY5MjljMWNiMjlhMWUzZmQ3MzdiNDk5IgorU0VDVElPTiA9ICJsaWJzIgorCitJTkNfUFIgPSAicjAiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L2xpYmRiaS9saWJkYmktJHtQVn0udGFyLmd6IgorCitpbmhlcml0IGF1dG90b29scworCitFWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLWRvY3MiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmRiaS9saWJkYmlfMC45LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmRiaS9saWJkYmlfMC45LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjRlYWUyOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZGJpL2xpYmRiaV8wLjkuMC5iYgpAQCAtMCwwICsxLDYgQEAKK3JlcXVpcmUgJHtQTn0uaW5jCisKK1BSID0gIiR7SU5DX1BSfS4wIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMDVlMmNlZWFjNGJjODVmYmU0MGRlOGI0YjIyZDlhYjMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZGFmYjZjZGNhNTI0YzYyOGRmODMyYjZkZDBiZjhmYWJjZWIxMDMyNDhlZGIyMTc2MmMwMmQzMDY4ZmNhNDUwMyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZWUvbGliZWUuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJlZS9saWJlZS5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjU2ZmEwNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZWUvbGliZWUuaW5jCkBAIC0wLDAgKzEsMzkgQEAKK1NVTU1BUlkgPSAiQW4gRXZlbnQgRXhwcmVzc2lvbiBMaWJyYXJ5IGluc3BpcmVkIGJ5IENFRSIKK0RFU0NSSVBUSU9OID0gIlRoZSBjb3JlIGlkZWEgb2YgbGliZWUgaXMgdG8gcHJvdmlkZSBhIHNtYWxsIFwKK2J1dCBob3BlZnVsbHkgY29udmVuaWVudCBBUEkgbGF5ZXIgYWJvdmUgdGhlIENFRSBzdGFuZGFyZC4iCisKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cubGliZWUub3JnIgorU0VDVElPTiA9ICJiYXNlIgorCitMSUNFTlNFID0gIkxHUEwtMi4xKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTFjMjY4N2RlMzVlMzZiYTNiOTk5MTM2MjM2YTY2Y2Q2IgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cubGliZWUub3JnL2Rvd25sb2FkL2ZpbGVzL2Rvd25sb2FkLyR7QlBOfS0ke1BWfS50YXIuZ3pcCisgICAgICAgICAgIGZpbGU6Ly9saWJlZS1wYXJhbGxlbC1tYWtlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCisgICAgICAgICAgIGZpbGU6Ly9lemFwaTEuc2ggXAorIgorCitpbmhlcml0IGF1dG90b29scyBwdGVzdCBwa2djb25maWcKKworREVQRU5EUyArPSAibGliZXN0ciIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncHRlc3QnLCAndGVzdGJlbmNoJywgJycsIGQpfSIKKworUEFDS0FHRUNPTkZJR1tkZWJ1Z10gPSAiLS1lbmFibGUtZGVidWcsLS1kaXNhYmxlLWRlYnVnLCwiCitQQUNLQUdFQ09ORklHW3Rlc3RiZW5jaF0gPSAiLS1lbmFibGUtdGVzdGJlbmNoLC0tZGlzYWJsZS10ZXN0YmVuY2gsLCIKKworVEVTVERJUiA9ICJ0ZXN0cyIKKworIyBXZSBwcmVzdW1lIHRoZSB0ZXN0cyB3ZSBhcmUgZ29pbmcgdG8gaW5zdGFsbCBzbyBqdXN0IGJ1aWxkIHRoZW0gZGlyZWN0bHkuCisjCitkb19jb21waWxlX3B0ZXN0KCkgeworCW9lX3J1bm1ha2UgLUMgJHtURVNURElSfSBnZW5maWxlIGV6YXBpMQorfQorCitkb19pbnN0YWxsX3B0ZXN0KCkgeworCWluc3RhbGwgLWQgJHtEfSR7UFRFU1RfUEFUSH0KKwlpbnN0YWxsIC1tIDA3NTUgJHtCfS8ke1RFU1RESVJ9L2dlbmZpbGUgJHtEfSR7UFRFU1RfUEFUSH0KKwlpbnN0YWxsIC1tIDA3NTUgJHtCfS8ke1RFU1RESVJ9Ly5saWJzL2V6YXBpMSAke0R9JHtQVEVTVF9QQVRIfQorCWluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2V6YXBpMS5zaCAke0R9JHtQVEVTVF9QQVRIfQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJlZS9saWJlZS9lemFwaTEuc2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmVlL2xpYmVlL2V6YXBpMS5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lOWRiNWU2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJlZS9saWJlZS9lemFwaTEuc2gKQEAgLTAsMCArMSwxNCBAQAorIyEvYmluL3NoCisjCitlY2hvIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorZWNobyBBIHZlcnkgYmFzaWMgdGVzdCBmb3IgdGhlIGV2ZW50IGNsYXNzCitlY2hvIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorcm0gLWYgaW5maWxlCisuL2dlbmZpbGUgMTAwID4gaW5maWxlCisuL2V6YXBpMSAtaWluZmlsZQoraWYgWyAkPyAtbmUgMCBdIDsgdGhlbgorICAgZWNobyAiRkFJTDogJDAiCisgICBleGl0IDEKK2ZpCitlY2hvICJQQVNTOiAkMCIKK3JtIC1mIGluZmlsZQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJlZS9saWJlZS9saWJlZS1wYXJhbGxlbC1tYWtlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJlZS9saWJlZS9saWJlZS1wYXJhbGxlbC1tYWtlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI1ZTVjNmEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmVlL2xpYmVlL2xpYmVlLXBhcmFsbGVsLW1ha2UucGF0Y2gKQEAgLTAsMCArMSwyMCBAQAorZml4IHBhcmFsbGVsIGNvbXBpbGluZyBwcm9ibGVtCisKK3dpdGhvdXQgc3BlY2lmeWluZyBsaWJlZV9jb252ZXJ0X0RFUEVOREVOQ0lFUyA9IGxpYmVlLmxhLCBsaWJlZV9jb252ZXJ0CitjYW4ndCBmaW5kIGxpYmVlLmxhIHdoZW4gbGlua2luZyBhcyBsaWJlZSBpcyBub3QgZ2VuZXJhdGVkIHlldC4KKyAKK1Vwc3RyZWFtLVN0YXR1czogcGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBZYW8gWmhhbyA8eWFvLnpoYW9Ad2luZHJpdmVyLmNvbT4KKy0tLQorZGlmZiAtLWdpdCBhL3NyYy9NYWtlZmlsZS5hbSBiL3NyYy9NYWtlZmlsZS5hbQoraW5kZXggMDhhYWE5ZS4uZjBjNzhmNyAxMDA2NDQKKy0tLSBhL3NyYy9NYWtlZmlsZS5hbQorKysrIGIvc3JjL01ha2VmaWxlLmFtCitAQCAtNDYsNSArNDYsNiBAQCBsaWJlZV9sYV9MREZMQUdTID0gLXZlcnNpb24taW5mbyAwOjA6MAorIGxpYmVlX2NvbnZlcnRfU09VUkNFUyA9IGNvbnZlcnQuYworIGxpYmVlX2NvbnZlcnRfQ1BQRkxBR1MgPSAgLUkkKHRvcF9zcmNkaXIpICQoTElCRUVfQ0ZMQUdTKSAkKExJQkVTVFJfQ0ZMQUdTKSAkKExJQlhNTDJfQ0ZMQUdTKQorIGxpYmVlX2NvbnZlcnRfTERBREQgPSAkKExJQkVFX0xJQlMpICQoTElCWE1MMl9MSUJTKSAkKExJQkVTVFJfTElCUykKKytsaWJlZV9jb252ZXJ0X0RFUEVOREVOQ0lFUyA9IGxpYmVlLmxhCisgCisgaW5jbHVkZV9IRUFERVJTID0gCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmVlL2xpYmVlL3J1bi1wdGVzdCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZWUvbGliZWUvcnVuLXB0ZXN0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjNjYjY2MDcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmVlL2xpYmVlL3J1bi1wdGVzdApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorIworLi9lemFwaTEuc2gKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZWUvbGliZWVfMC40LjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmVlL2xpYmVlXzAuNC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVmMmMyMGQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmVlL2xpYmVlXzAuNC4xLmJiCkBAIC0wLDAgKzEsNCBAQAorcmVxdWlyZSAke0JQTn0uaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI3YmJmNDE2MDg3NmMxMmRiNjE5M2MwNmUyYmFkZWRiMiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjMGRhYzAxOTM4NTkzZGVlZTA2YzNkMTYxZTRlZGE0ZWNjMGZkNzMxN2UxMzIxYmQ5NmUzMDFhY2ViN2ZiMDI3IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJlaWdlbi9saWJlaWdlbi8wMDAxLUNNYWtlTGlzdHMudHh0LWluc3RhbGwtRmluZEVpZ2VuMy5jbWFrZS1zY3JpcHQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmVpZ2VuL2xpYmVpZ2VuLzAwMDEtQ01ha2VMaXN0cy50eHQtaW5zdGFsbC1GaW5kRWlnZW4zLmNtYWtlLXNjcmlwdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NjFkYWRiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJlaWdlbi9saWJlaWdlbi8wMDAxLUNNYWtlTGlzdHMudHh0LWluc3RhbGwtRmluZEVpZ2VuMy5jbWFrZS1zY3JpcHQucGF0Y2gKQEAgLTAsMCArMSwyOCBAQAorRnJvbSBmZDhiYzY2ZWZhYzEwNTljMTA2OGY4MDQ3NDZiMDFiOTAxNzdjMzMzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTHVrYXMgQnVsd2FobiA8bHVrYXMuYnVsd2FobkBvc3MuYm13LWNhcml0LmRlPgorRGF0ZTogU3VuLCAxOCBPY3QgMjAxNSAxNjo1MjoyNSArMDIwMAorU3ViamVjdDogW1BBVENIXSBDTWFrZUxpc3RzLnR4dDogaW5zdGFsbCBGaW5kRWlnZW4zLmNtYWtlIHNjcmlwdAorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogTHVrYXMgQnVsd2FobiA8bHVrYXMuYnVsd2FobkBvc3MuYm13LWNhcml0LmRlPgorLS0tCisgQ01ha2VMaXN0cy50eHQgfCAyICsrCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvQ01ha2VMaXN0cy50eHQgYi9DTWFrZUxpc3RzLnR4dAoraW5kZXggNzZhMTFiOS4uZWM2YzZlYSAxMDA2NDQKKy0tLSBhL0NNYWtlTGlzdHMudHh0CisrKysgYi9DTWFrZUxpc3RzLnR4dAorQEAgLTM0Miw2ICszNDIsOCBAQCBpZihFSUdFTl9CVUlMRF9QS0dDT05GSUcpCisgICAgICAgICApCisgZW5kaWYoRUlHRU5fQlVJTERfUEtHQ09ORklHKQorIAorK2luc3RhbGwoRklMRVMgIiR7UFJPSkVDVF9TT1VSQ0VfRElSfS9jbWFrZS9GaW5kRWlnZW4zLmNtYWtlIiBERVNUSU5BVElPTiAiJHtDTUFLRV9JTlNUQUxMX1BSRUZJWH0vc2hhcmUvY21ha2UvTW9kdWxlcyIpCisrCisgYWRkX3N1YmRpcmVjdG9yeShFaWdlbikKKyAKKyBhZGRfc3ViZGlyZWN0b3J5KGRvYyBFWENMVURFX0ZST01fQUxMKQorLS0gCisxLjkuMworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmVpZ2VuL2xpYmVpZ2VuXzMuMi42LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJlaWdlbi9saWJlaWdlbl8zLjIuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44OWEyNWE5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJlaWdlbi9saWJlaWdlbl8zLjIuNi5iYgpAQCAtMCwwICsxLDIzIEBACitERVNDUklQVElPTiA9ICJFaWdlbiBpcyBhIEMrKyB0ZW1wbGF0ZSBsaWJyYXJ5IGZvciBsaW5lYXIgYWxnZWJyYTogbWF0cmljZXMsIHZlY3RvcnMsIG51bWVyaWNhbCBzb2x2ZXJzLCBhbmQgcmVsYXRlZCBhbGdvcml0aG1zLiIKK0FVVEhPUiA9ICJCZW5vw650IEphY29iIGFuZCBHYcOrbCBHdWVubmViYXVkIGFuZCBvdGhlcnMiCitIT01FUEFHRSA9ICJodHRwOi8vZWlnZW4udHV4ZmFtaWx5Lm9yZy8iCitMSUNFTlNFID0gIk1QTC0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HLk1QTDI7bWQ1PTgxNWNhNTk5YzlkZjI0N2EwYzdmNjE5YmFiMTIzZGFkIgorCitTUkNfVVJJID0gImh0dHA6Ly9iaXRidWNrZXQub3JnL2VpZ2VuL2VpZ2VuL2dldC8ke1BWfS50YXIuYnoyIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtQ01ha2VMaXN0cy50eHQtaW5zdGFsbC1GaW5kRWlnZW4zLmNtYWtlLXNjcmlwdC5wYXRjaCIKK1NSQ19VUklbbWQ1c3VtXSA9ICI4NzI3NDk2Njc0NWQyZDNlNzk2NGZjYzY1NGQwYTI0YiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4YTMzNTJmOWE1MzYxZmU5MGU0NTFhNzMwNWZiMTg5NmZjN2Y3NzFkYzE2Y2MwZWRkOGU2YjE1N2Y1MmMzNDNlIgorCitTID0gIiR7V09SS0RJUn0vZWlnZW4tZWlnZW4tYzU4MDM4YzU2OTIzIgorCitpbmhlcml0IGNtYWtlCisKK0VYVFJBX09FQ01BS0UgKz0gIi1EcGtnX2NvbmZpZ19saWJkaXI9JHtsaWJkaXJ9IgorCitGSUxFU18ke1BOfSA9ICIke2luY2x1ZGVkaXJ9ICR7bGliZGlyfSIKK0ZJTEVTXyR7UE59LWRldiA9ICIke2RhdGFkaXJ9L2NtYWtlL01vZHVsZXMiCisKKyMgJHtQTn0gaXMgZW1wdHkgc28gd2UgbmVlZCB0byB0d2VhayAtZGV2IGFuZCAtZGJnIHBhY2thZ2UgZGVwZW5kZW5jaWVzCitSREVQRU5EU18ke1BOfS1kZXYgPSAiIgorUlJFQ09NTUVORFNfJHtQTn0tZGJnID0gIiR7UE59LWRldiAoPSAke0VYVEVORFBLR1Z9KSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZXN0ci9saWJlc3RyXzAuMS4xMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZXN0ci9saWJlc3RyXzAuMS4xMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YmZmNGYzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJlc3RyL2xpYmVzdHJfMC4xLjEwLmJiCkBAIC0wLDAgKzEsMTEgQEAKK1NVTU1BUlkgPSAic29tZSBlc3NlbnRpYWxzIGZvciBzdHJpbmcgaGFuZGxpbmcgKGFuZCBhIGJpdCBtb3JlKSIKK0hPTUVQQUdFID0gImh0dHA6Ly9saWJlc3RyLmFkaXNjb24uY29tLyIKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05ZDZjOTkzNDg2YzE4MjYyYWZiYTRjYTViY2I4OTRkMCIKKworU1JDX1VSSSA9ICJodHRwOi8vbGliZXN0ci5hZGlzY29uLmNvbS9maWxlcy9kb3dubG9hZC8ke0JQfS50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJmNGM5MTY1YTIzNTg3ZTc3ZjdlZmU2NWQ2NzZkNWU4ZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJiZDY1NWUxMjZlNzUwZWRkMTg1NDRiODhlYjE1NjhkMjAwYTQyNGEwYzIzZjY2NWViMTRiYmVjZTA3YWM3MDNjIgorCitpbmhlcml0IGF1dG90b29scwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJldHBhbi9saWJldHBhbi0wLjU3L2xpYmV0cGFuLWF1dG9yZWNvbmYucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmV0cGFuL2xpYmV0cGFuLTAuNTcvbGliZXRwYW4tYXV0b3JlY29uZi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMDU5NjdkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJldHBhbi9saWJldHBhbi0wLjU3L2xpYmV0cGFuLWF1dG9yZWNvbmYucGF0Y2gKQEAgLTAsMCArMSwxMiBAQAorSW5kZXg6IGxpYmV0cGFuLTAuNTcvY29uZmlndXJlLmFjCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbGliZXRwYW4tMC41Ny5vcmlnL2NvbmZpZ3VyZS5hYwkyMDA4LTEwLTA4IDE5OjU0OjIwLjAwMDAwMDAwMCArMDAwMAorKysrIGxpYmV0cGFuLTAuNTcvY29uZmlndXJlLmFjCTIwMDgtMTEtMTEgMTY6MzQ6MzMuMDAwMDAwMDAwICswMDAwCitAQCAtMTA2LDYgKzEwNiw3IEBACisgCisgIyBDaGVjayB0aGUgQyBjb21waWxlci4KKyBBQ19QUk9HX0NDCisrQUNfUFJPR19DWFgKKyAKKyAjIENvbXBpbGVyIGZsYWdzLgorIEFDX0FSR19FTkFCTEUoZGVidWcsICAgWyAgLS1lbmFibGUtZGVidWcgICAgICAgICAgc2V0dXAgZmxhZ3MgKGdjYykgZm9yIGRlYnVnZ2luZyAoZGVmYXVsdD1ubyldLApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJldHBhbi9saWJldHBhbi0wLjU3L2xpYmV0cGFuLWxkZmxhZ3MucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmV0cGFuL2xpYmV0cGFuLTAuNTcvbGliZXRwYW4tbGRmbGFncy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MzhmNDRmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJldHBhbi9saWJldHBhbi0wLjU3L2xpYmV0cGFuLWxkZmxhZ3MucGF0Y2gKQEAgLTAsMCArMSwxMSBAQAorLS0tIGxpYmV0cGFuLTAuNTcvY29uZmlndXJlLmFjfgkyMDA5LTA5LTIxIDIzOjMxOjQyLjAwMDAwMDAwMCArMDIwMAorKysrIGxpYmV0cGFuLTAuNTcvY29uZmlndXJlLmFjCTIwMDktMDktMjEgMjM6MzE6NDIuMDAwMDAwMDAwICswMjAwCitAQCAtNDU3LDcgKzQ1Nyw3IEBACisgICAgICAgTERGTEFHUz0iLSRmbGFnICRMREZMQUdTIgorICAgICAgIEFDX1RSWV9MSU5LKFtdLCBbcHRocmVhZF9jcmVhdGUoKTtdLCAKKyAgICAgICAgICAgICAgICAgICAgICAgW3B0aGZsYWc9eWVzOyBjaGVja3B0aHJlYWQ9bm9dLCAKKy0gICAgICAgICAgICAgICAgICAgICAgW3B0aGZsYWc9bm87IExERkxBR1M9IiRPTERDRkxBR1MiXSkKKysgICAgICAgICAgICAgICAgICAgICAgW3B0aGZsYWc9bm87IExERkxBR1M9IiRPTERGTEFHUyJdKQorICAgICAgIEFDX01TR19SRVNVTFQoJHB0aGZsYWcpCisgICAgIGZpCisgICBkb25lCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmV0cGFuL2xpYmV0cGFuLTAuNTcvc2VwYnVpbGQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmV0cGFuL2xpYmV0cGFuLTAuNTcvc2VwYnVpbGQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGYwMTYxNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZXRwYW4vbGliZXRwYW4tMC41Ny9zZXBidWlsZC5wYXRjaApAQCAtMCwwICsxLDE2IEBACitJbmRleDogbGliZXRwYW4tMC41Ny9ydWxlcy5taworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGxpYmV0cGFuLTAuNTcub3JpZy9ydWxlcy5taworKysrIGxpYmV0cGFuLTAuNTcvcnVsZXMubWsKK0BAIC0xMzQsOSArMTM0LDkgQEAgcHJlcGFyZS1hbTogcHJlcGFyZS1sb2NhbAorIAkgICAgICAgICBpZiB0ZXN0IC1lIC4uLy4uLyQoc3ViZGlyKS8kJHtoZHJ9OyB0aGVuIFwKKyAJICAgICAgICAgICBlY2hvICIkKExOX1MpIC1mIC4uLy4uLyQoc3ViZGlyKS8kJHtoZHJ9IC4iOyBcCisgCSAgICAgICAgICAgJChMTl9TKSAtZiAuLi8uLi8kKHN1YmRpcikvJCR7aGRyfSAuOyBcCisgICAgICAgICAgICAgIGVsc2UgXAorLQkgICAgICAgICAgIGVjaG8gIiQoTE5fUykgLWYgLi4vLi4vJChzdWJkaXIpLyQoc3JjZGlyKS8kJHtoZHJ9IC4iOyBcCistCSAgICAgICAgICAgJChMTl9TKSAtZiAuLi8uLi8kKHN1YmRpcikvJChzcmNkaXIpLyQke2hkcn0gLjsgXAorKwkgICAgICAgICAgIGVjaG8gIiQoTE5fUykgLWYgJChzcmNkaXIpLyQke2hkcn0gLiI7IFwKKysJICAgICAgICAgICAkKExOX1MpIC1mICQoc3JjZGlyKS8kJHtoZHJ9IC47IFwKKyAgICAgICAgICAgICAgZmk7IFwKKyAgICAgICAgICAgIGZpOyBcCisgCSAgICAgZG9uZTsgXApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJldHBhbi9saWJldHBhbl8wLjU3LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJldHBhbi9saWJldHBhbl8wLjU3LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEwOTFiYjAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmV0cGFuL2xpYmV0cGFuXzAuNTcuYmIKQEAgLTAsMCArMSwzMCBAQAorREVTQ1JJUFRJT04gPSAibGliZXRwYW4gaXMgYSBsaWJyYXJ5IGZvciBjb21tdW5pY2F0aW5nIHdpdGggbWFpbCBhbmQgbmV3cyBzZXJ2ZXJzLiBcCitJdCBzdXBwb3J0cyB0aGUgcHJvdG9jb2xzIFNNVFAsIFBPUDMsIElNQVAgYW5kIE5OVFAuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5ldHBhbi5vcmciCitTRUNUSU9OID0gImxpYnMiCitERVBFTkRTID0gImdudXRscyBsaWJsb2NrZmlsZSBjdXJsIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZUklHSFQ7bWQ1PWYxOGViZTdlNDUyNzA4YzI2ZjgzOTU0ZjgxMDYyYmE3IgorCitQUiA9ICJyMSIKKworIyBodHRwOi8vZXJyb3JzLnlvY3RvcHJvamVjdC5vcmcvRXJyb3JzL0RldGFpbHMvMjU4MjMvCitQTkJMQUNLTElTVFtsaWJldHBhbl0gPz0gIk5vdCBjb21wYXRpYmxlIHdpdGggZ251dGxzIHZlcnNpb24gMy40IGN1cnJlbnRseSBpbiBvZS1jb3JlIgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9saWJldHBhbi9saWJldHBhbi0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vbGliZXRwYW4tYXV0b3JlY29uZi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9saWJldHBhbi1sZGZsYWdzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3NlcGJ1aWxkLnBhdGNoIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZ2V0dGV4dCBiaW5jb25maWcKKworRVhUUkFfT0VDT05GID0gIi0td2l0aG91dC1vcGVuc3NsIC0td2l0aG91dC1zYXNsIC0td2l0aC1nbnV0bHMgLS1kaXNhYmxlLWRiIgorCitQQVJBTExFTF9NQUtFID0gIiIKKworRklMRVNfJHtQTn0gPSAiJHtsaWJkaXJ9L2xpYiouc28uKiIKK0ZJTEVTXyR7UE59LWRldiA9ICIke2JpbmRpcn0gJHtpbmNsdWRlZGlyfSAke2xpYmRpcn0vbGliKi5zbyAke2xpYmRpcn0vKi5sYSAke2xpYmRpcn0vKi5hICR7bGliZGlyfS9wa2djb25maWciCisKKworU1JDX1VSSVttZDVzdW1dID0gIjhjZThjNmMwNzFlODE4ODRhNDc1YjEyYjdmOWE5Y2MwIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjFmM2ZkYTVjOWUyOTYxZDFhNjI5OGRjOGFhZGFlMzIxNDkzZDM3NzI3ZDhkYjQ1YmMyZThkNThmMjA1NDcwMTEiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmZ0ZGkvbGliZnRkaV8xLjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmZ0ZGkvbGliZnRkaV8xLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWIyOTBmYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZnRkaS9saWJmdGRpXzEuMi5iYgpAQCAtMCwwICsxLDMxIEBACitERVNDUklQVElPTiA9ICJsaWJmdGRpIGlzIGEgbGlicmFyeSB0byB0YWxrIHRvIEZUREkgY2hpcHMuXAorRlQyMzJCTS8yNDVCTSwgRlQyMjMyQy9EIGFuZCBGVDIzMi8yNDVSIHVzaW5nIGxpYnVzYixcCitpbmNsdWRpbmcgdGhlIHBvcHVsYXIgYml0YmFuZyBtb2RlLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuaW50cmEybmV0LmNvbS9lbi9kZXZlbG9wZXIvbGliZnRkaS8iCitTRUNUSU9OID0gImxpYnMiCisKK0xJQ0VOU0UgPSAiTEdQTHYyLjEgJiBHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU09ICJcCisgICAgZmlsZTovL0NPUFlJTkcuR1BMO21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSBcCisgICAgZmlsZTovL0NPUFlJTkcuTElCO21kNT1kYjk3OTgwNGYwMjVjZjU1YWFiZWM3MTI5Y2I2NzFlZCBcCisiCisKK0RFUEVORFMgPSAibGlidXNiMSIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmludHJhMm5ldC5jb20vZW4vZGV2ZWxvcGVyLyR7QlBOfS9kb3dubG9hZC8ke0JQTn0xLSR7UFZ9LnRhci5iejIiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI4OWRmZjgwMmQ4OWM0YzBkNTVkOGI0NjY1ZmQ1MmQwYiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhNmVhNzk1YzgyOTIxOTAxNWViMzcyYjAzMDA4MzUxY2VlM2ZiMzlmNjg0YmZmM2JmOGE0NjIwYjU1ODQ4OGQ2IgorCitTID0gIiR7V09SS0RJUn0vJHtCUE59MS0ke1BWfSIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbY3BwLXdyYXBwZXJdID0gIi1ERlRESV9CVUlMRF9DUFA9b24gLURGVERJUFA9b24sLURGVERJX0JVSUxEX0NQUD1vZmYgLURGVERJUFA9b2ZmLGJvb3N0IgorCitpbmhlcml0IGNtYWtlIGJpbmNvbmZpZyBwa2djb25maWcKKworRVhUUkFfT0VDTUFLRSA9ICItRExJQl9TVUZGSVg9JHtAZC5nZXRWYXIoJ2Jhc2VsaWInLCBUcnVlKS5yZXBsYWNlKCdsaWInLCAnJyl9IgorCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9jbWFrZSIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmpzL2xpYmpzLWpxdWVyeV8xLjcuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlianMvbGlianMtanF1ZXJ5XzEuNy4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVjOGYzNjAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmpzL2xpYmpzLWpxdWVyeV8xLjcuMi5iYgpAQCAtMCwwICsxLDI0IEBACitTVU1NQVJZID0gIkphdmFTY3JpcHQgbGlicmFyeSBmb3IgZHluYW1pYyB3ZWIgYXBwbGljYXRpb25zIgorTElDRU5TRSA9ICJNSVQgfCBCU0QgfCBHUEwtMiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3Vzci9zaGFyZS9kb2MvbGlianMtanF1ZXJ5L2NvcHlyaWdodDttZDU9NWQxZWM2Zjk1ZTBhOTFkMzhlMmY3MWRlOTNkZGIwMGUiCisKK1NSQ19VUkkgPSAiaHR0cDovL2tyLmFyY2hpdmUudWJ1bnR1LmNvbS91YnVudHUvcG9vbC9tYWluL2ovanF1ZXJ5LyR7QlBOfV8ke1BWfStkZWJpYW4tMXVidW50dTF+dWJ1bnR1MTIuMDQuMV9hbGwuZGViO3N1YmRpcj0ke0JQfSIKK1NSQ19VUklbbWQ1c3VtXSA9ICJmYTUxMWFiNjdmNmU5NjBjNWI2ZDM5YTRkNjY1ZTQ3ZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIxOTBjYTE4YTcxZTM1YzhhYjJiYTczZmU1YmUzYzdjYzYwMWZlMjBiNDU3MDlkODAxMTEwODE4ZjFiNjAyY2MxIgorCitKUVVFUllESVIgPSAiJHtkYXRhZGlyfS9qYXZhc2NyaXB0L2pxdWVyeSIKK0pRVUVSWURPQ0RJUiA9ICIke2RvY2Rpcn0vbGlianMtanF1ZXJ5IgorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgLW0gMDc1NSAke0R9JHtKUVVFUllESVJ9CisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30ke0pRVUVSWURJUn0vanF1ZXJ5LmpzICR7RH0ke0pRVUVSWURJUn0vCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30ke0pRVUVSWURJUn0vanF1ZXJ5Lm1pbi5qcyAke0R9JHtKUVVFUllESVJ9LworCisgICAgbG4gLXNmIGpxdWVyeS5taW4uanMgJHtEfSR7SlFVRVJZRElSfS9qcXVlcnkubGl0ZS5qcworICAgIGxuIC1zZiBqcXVlcnkubWluLmpzICR7RH0ke0pRVUVSWURJUn0vanF1ZXJ5LnBhY2suanMKKworICAgIGluc3RhbGwgLWQgLW0gMDY0NCAke0R9JHtKUVVFUllET0NESVJ9CisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30ke0pRVUVSWURPQ0RJUn0vY29weXJpZ2h0ICR7RH0ke0pRVUVSWURPQ0RJUn0vCit9CisKK0ZJTEVTXyR7UE59ID0gIi91c3Ivc2hhcmUvamF2YXNjcmlwdC9qcXVlcnkiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmpzL2xpYmpzLXNpenpsZV8xLjEwLjE4LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJqcy9saWJqcy1zaXp6bGVfMS4xMC4xOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MmFiMzFmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJqcy9saWJqcy1zaXp6bGVfMS4xMC4xOC5iYgpAQCAtMCwwICsxLDE4IEBACitTVU1NQVJZID0gIlB1cmUtSmF2YVNjcmlwdCBDU1Mgc2VsZWN0b3IgZW5naW5lIgorTElDRU5TRSA9ICJHUEwtMi4wICYgTUlUICYgQUZMLTIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL01JVC1MSUNFTlNFLnR4dDttZDU9ZTQzYWE0MzdhNmExYmE0MjE2NTNiZDUwMzQzMzNiZjkiCisKK1NSQ19VUkkgPSAiaHR0cDovL2tyLmFyY2hpdmUudWJ1bnR1LmNvbS91YnVudHUvcG9vbC91bml2ZXJzZS9zL3NpenpsZS9zaXp6bGVfMS4xMC4xOC5vcmlnLnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI5MTQ3N2MxZWRlZWY5ZjgxMDBmZmQ2YzRkMzE3MjViNSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4ZTA0YWI4NGJiNzRiMmUzMzhkZmZjNjNjZDJlNTJiMDA3ZjFkOGFmMDFiM2QyNWRhNGQyZTA3ZjJiNTg5MGY4IgorCitTID0gIiR7V09SS0RJUn0vc2l6emxlLSR7UFZ9IgorCitTSVpaTEVESVIgPSAiJHtTfS9kaXN0IgorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgLW0gMDc1NSAke0R9LyR7ZGF0YWRpcn0vamF2YXNjcmlwdC9zaXp6bGUvCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U0laWkxFRElSfS8qLmpzICR7RH0vJHtkYXRhZGlyfS9qYXZhc2NyaXB0L3NpenpsZS8KK30KKworRklMRVNfJHtQTn0gPSAiJHtkYXRhZGlyfS9qYXZhc2NyaXB0L3NpenpsZS8iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmxpbmVicmVhay9saWJsaW5lYnJlYWtfMS4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJsaW5lYnJlYWsvbGlibGluZWJyZWFrXzEuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMDQ2M2E2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJsaW5lYnJlYWsvbGlibGluZWJyZWFrXzEuMi5iYgpAQCAtMCwwICsxLDExIEBACitERVNDUklQVElPTiA9ICJMaWJsaW5lYnJlYWsgaXMgYW4gaW1wbGVtZW50YXRpb24gb2YgdGhlIGxpbmUgYnJlYWtpbmcgYWxnb3JpdGhtIGFzIGRlc2NyaWJlZCBpbiBVbmljb2RlIDUuMS4wIFN0YW5kYXJkIEFubmV4IDE0LCBSZXZpc2lvbiAyMiIKK0hPTUVQQUdFID0gImh0dHA6Ly92aW1nYWRnZXRzLnNvdXJjZWZvcmdlLm5ldC9saWJsaW5lYnJlYWsvIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJabGliIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5DRTttZDU9MzcxNTE5MWRhNjJiYWZiNWNmYzRmZjM2MTk1YjJlYzMiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L3Byb2plY3QvdmltZ2FkZ2V0cy9saWJsaW5lYnJlYWsvJHtQVn0vbGlibGluZWJyZWFrLSR7UFZ9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJkMTgwMzkyNTkwMDFjY2IyNGI1ZGQ0NjQ4YzQ5YzVhZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5ZWZjYjBjYjFhZmM3NWFkMWU5MmQyYjJkYmY0ZDljNzdiMDcyZDY2NTZjNWYxYTE1MGFmOGI3MThkMGM3Yjc2IgorCitpbmhlcml0IGF1dG90b29scwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJtY3J5cHQvbGlibWNyeXB0XzIuNS44LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJtY3J5cHQvbGlibWNyeXB0XzIuNS44LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhMTMzYzYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYm1jcnlwdC9saWJtY3J5cHRfMi41LjguYmIKQEAgLTAsMCArMSwxMiBAQAorU1VNTUFSWSA9ICJSZXBsYWNlbWVudCBmb3IgdGhlIG9sZCBjcnlwdCgpIHBhY2thZ2UgYW5kIGNyeXB0KDEpIGNvbW1hbmQsIHdpdGggZXh0ZW5zaW9ucyIKK0hPTUVQQUdFID0gImh0dHA6Ly9tY3J5cHQuc291cmNlZm9yZ2UubmV0LyIKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9YmJiNDYxMjExYTMzYjEzNGQ0MmVkNWVlODAyYjM3ZmYiCitERVBFTkRTID0gImxpYnRvb2wiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L3Byb2plY3QvbWNyeXB0L0xpYm1jcnlwdC8ke1BWfS9saWJtY3J5cHQtJHtQVn0udGFyLmd6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiMDgyMTgzMGQ5MzBhODZhNWM2OTExMDgzN2M1NWI3ZGEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTRlYjZjMDc0YmJhYjE2OGFjNDdiOTQ3YzE5NWZmOGNlZjlkNTFhMjExY2RkMThjYTljOWVmMzRkMjdhMzczZSIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIGdldHRleHQgYmluY29uZmlnCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYm1pY3JvaHR0cGQvbGlibWljcm9odHRwZF8wLjkuMzQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYm1pY3JvaHR0cGQvbGlibWljcm9odHRwZF8wLjkuMzQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTRhMGYzOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlibWljcm9odHRwZC9saWJtaWNyb2h0dHBkXzAuOS4zNC5iYgpAQCAtMCwwICsxLDI3IEBACitERVNDUklQVElPTiA9ICJBIHNtYWxsIEMgbGlicmFyeSB0aGF0IGlzIHN1cHBvc2VkIHRvIG1ha2UgaXQgZWFzeSB0byBydW4gYW4gSFRUUCBzZXJ2ZXIgYXMgcGFydCBvZiBhbm90aGVyIGFwcGxpY2F0aW9uIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2xpYm1pY3JvaHR0cGQvIgorTElDRU5TRSA9ICJMR1BMLTIuMSsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05MzMxMTg2ZjRmODBkYjdkYTBlNzI0YmRkNjU1NGVlNSIKK1NFQ1RJT04gPSAibmV0IgorREVQRU5EUyA9ICJsaWJnY3J5cHQgZ251dGxzIGZpbGUiCisKK1NSQ19VUkkgPSAiaHR0cDovL2Z0cC5nbnUub3JnL2dudS9saWJtaWNyb2h0dHBkLyR7QlBOfS0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiMjk0N2VlZTEzYzJjOGFmZmI5NTAyM2EwY2I2ZmRhMGMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMjlhMmJmZDRmZDJkZGY2MGM3NTZiOGMyODMyOTFhMTM0ODk4ZTNjYzE0Mzg0M2JlNDIxYTA0MGJlMWIyNWE4OCIKKworaW5oZXJpdCBhdXRvdG9vbHMgbGliX3BhY2thZ2UKKworIyBkaXNhYmxlIHNwZHksIGJlY2F1c2UgaXQgZGVwZW5kcyBvbiBvcGVuc3NsCitFWFRSQV9PRUNPTkYgKz0gIi0tZGlzYWJsZS1zdGF0aWMgLS13aXRoLWdudXRscz0ke1NUQUdJTkdfTElCRElSfS8uLi8gLS1kaXNhYmxlLXNwZHkiCisKK1BBQ0tBR0VDT05GSUcgPz0gImN1cmwiCitQQUNLQUdFQ09ORklHX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiXAorICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2xhcmdlZmlsZScsICdsYXJnZWZpbGUnLCAnJywgZCl9IFwKKyIKK1BBQ0tBR0VDT05GSUdbbGFyZ2VmaWxlXSA9ICItLWVuYWJsZS1sYXJnZWZpbGUsLS1kaXNhYmxlLWxhcmdlZmlsZSwsIgorUEFDS0FHRUNPTkZJR1tjdXJsXSA9ICItLWVuYWJsZS1jdXJsLC0tZGlzYWJsZS1jdXJsLGN1cmwsIgorCitkb19jb21waWxlX2FwcGVuZCgpIHsKKwlzZWQgLWkgczotTCR7U1RBR0lOR19MSUJESVJ9OjpnIGxpYm1pY3JvaHR0cGQucGMKK30KKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJvYXV0aC9saWJvYXV0aF8xLjAuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlib2F1dGgvbGlib2F1dGhfMS4wLjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzMxMWRhNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlib2F1dGgvbGlib2F1dGhfMS4wLjMuYmIKQEAgLTAsMCArMSwxNiBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTQgS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgQ09QWUlORy5NSVQgZm9yIHRoZSB0ZXJtcykKKworREVTQ1JJUFRJT04gPSAiQyBsaWJyYXJ5IGltcGxlbWVudGluZyBPQXV0aCBDb3JlIFJGQyA1ODQ5IgorSE9NRVBBR0UgPSAiaHR0cDovL2xpYm9hdXRoLnNvdXJjZWZvcmdlLm5ldCIKK0xJQ0VOU0UgPSAiTUlUfEdQTC0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HLk1JVDttZDU9NjI2NjcxOGE1MjQxYzA0NWM4MDk5ZDliZTQ4ODE3ZGYgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5HUEw7bWQ1PTA2MzZlNzNmZjAyMTVlOGQ2NzJkYzRjMzJjMzE3YmIzIgorU0VDVElPTiA9ICJsaWJzIgorREVQRU5EUyA9ICJjdXJsIG9wZW5zc2wiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L3Byb2plY3QvJHtCUE59LyR7QlB9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI2ODliNDZjMmIzYWIxYTM5NzM1YWMzM2Y3MTRjNGY3ZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwZGY2MDE1N2IwNTJmMGU3NzRhZGU4YThiYWM1OWQ2ZThkNGI0NjQwNThjYzU1ZjkyMDhkNzJlNDExNTY4MTFmIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlib2wvbGlib2wvY29uZmlndXJlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJvbC9saWJvbC9jb25maWd1cmUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODc2OTVmYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlib2wvbGlib2wvY29uZmlndXJlLnBhdGNoCkBAIC0wLDAgKzEsMTQgQEAKK0luZGV4OiBsaWJvbC0wLjMuMTgvY29uZmlndXJlLmluCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbGlib2wtMC4zLjE4Lm9yaWcvY29uZmlndXJlLmluCTIwMDYtMDMtMjcgMTQ6NDQ6NTIuMDAwMDAwMDAwICswMDAwCisrKysgbGlib2wtMC4zLjE4L2NvbmZpZ3VyZS5pbgkyMDE0LTA3LTE4IDA3OjA1OjU2LjAyOTQ4MTM3MiArMDAwMAorQEAgLTEsNyArMSw3IEBACisgZG5sIFByb2Nlc3MgdGhpcyBmaWxlIHdpdGggYXV0b2NvbmYgdG8gcHJvZHVjZSBhIGNvbmZpZ3VyZSBzY3JpcHQuCistQUNfSU5JVChzcmMvYWJzdHJhY3RfaW8uYykKKytBQ19JTklUKGxpYm9sLCAiMC4zLjE4IikKKyAKKy1BTV9JTklUX0FVVE9NQUtFKGxpYm9sLCAiMC4zLjE4IiwgMSkKKytBTV9JTklUX0FVVE9NQUtFKFtmb3JlaWduXSkKKyBpZiB0ZXN0IC1uICIkU05BUFNIT1RfVkVSU0lPTiI7IHRoZW4KKyAgICAgICAgIFZFUlNJT049JFZFUlNJT04rJFNOQVBTSE9UX1ZFUlNJT04KKyBmaQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJvbC9saWJvbF8wLjMuMTguYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYm9sL2xpYm9sXzAuMy4xOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMzFmNDgzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJvbC9saWJvbF8wLjMuMTguYmIKQEAgLTAsMCArMSwxOSBAQAorU1VNTUFSWSA9ICJBIHRpbnkgQyBzdXBwb3J0IGxpYnJhcnkiCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YzkzYzA1NTBiZDMxNzNmNDUwNGIyY2JkODk5MWU1MGIiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5iYWxhYml0LmNvbS9kb3dubG9hZHMvZmlsZXMvbGlib2wvMC4zLyR7QlB9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9jb25maWd1cmUucGF0Y2giCitTUkNfVVJJW21kNXN1bV0gPSAiY2JhZGY0YjdlYTI3NmRmYTg1YWNjMzhhMWNjNWZmMTciCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOWRlM2JmMTMyOTdmZjg4MmUwMmExZTZlNWY2YmY3NjBhNTQ0YWZmOTJhOWQ4YTFjZjQzMjhhMzIwMDVjZWZlNyIKKworaW5oZXJpdCBhdXRvdG9vbHMgYmluY29uZmlnCisKK2RvX2NvbXBpbGVfcHJlcGVuZCgpIHsKKyAgICBpbnN0YWxsICR7U30vdXRpbHMvbWFrZV9jbGFzcy5pbiAke0J9L3V0aWxzCit9CisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIHJtIC1mciAke0R9JHtiaW5kaXJ9Cit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnAxMS9saWJwMTFfMC4zLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnAxMS9saWJwMTFfMC4zLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDk3YmZjNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlicDExL2xpYnAxMV8wLjMuMC5iYgpAQCAtMCwwICsxLDIzIEBACitTVU1NQVJZID0gIkxpYnJhcnkgZm9yIHVzaW5nIFBLQ1MiCitERVNDUklQVElPTiA9ICJcCitMaWJwMTEgaXMgYSBsaWJyYXJ5IGltcGxlbWVudGluZyBhIHNtYWxsIGxheWVyIG9uIHRvcCBvZiBQS0NTIFwKK21ha2UgdXNpbmcgUEtDUyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cub3BlbnNjLXByb2plY3Qub3JnL2xpYnAxMSIKK1NFQ1RJT04gPSAiRGV2ZWxvcG1lbnQvTGlicmFyaWVzIgorTElDRU5TRSA9ICJMR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZmFkOWIzMzMyYmU4OTRiYWI5YmM1MDE1NzI4NjRiMjkiCitERVBFTkRTID0gImxpYnRvb2wgb3BlbnNzbCIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL09wZW5TQy9saWJwMTEuZ2l0O3Byb3RvY29sPWh0dHAiCitTUkNSRVYgPSAiNmY3MTI0MDk5MWFhODMxZjZmYzJjYzU0MzFmYWY2ZWJlYzYyN2VkMiIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK0VYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtc3RhdGljIgorCitkb19pbnN0YWxsX2FwcGVuZCAoKSB7CisgICAgcm0gLXJmICR7RH0ke2xpYmRpcn0vKi5sYQorICAgIHJtIC1yZiAke0R9JHtkb2NkaXJ9LyR7QlBOfQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJyYXcxMzk0L2xpYnJhdzEzOTRfMi4xLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnJhdzEzOTQvbGlicmF3MTM5NF8yLjEuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MTE4MjllCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJyYXcxMzk0L2xpYnJhdzEzOTRfMi4xLjAuYmIKQEAgLTAsMCArMSwxMSBAQAorU1VNTUFSWSA9ICJiYXNlIGxpYnJhcnkgZm9yIGxvdy1sZXZlbCBJRUVFIDEzOTQgYWNjZXNzZXMiCitIT01FUEFHRSA9ICJodHRwczovL2llZWUxMzk0Lndpa2kua2VybmVsLm9yZy9pbmRleC5waHAvTGlicmFyaWVzI2xpYnJhdzEzOTQiCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkxHUEwtMi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PWQ4MDQ1ZjNiOGY5MjljMWNiMjlhMWUzZmQ3MzdiNDk5IgorCitTUkNfVVJJID0gImh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L2xpYnMvaWVlZTEzOTQvJHtCUE59LSR7UFZ9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJkMDZjY2NiNzc2YjI0MGI2YWI1ZWZkZWUzM2I4N2FmMiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhODNjZmYxNmZiODg4NTgzMWJjMjlkN2QxN2YzYzU3MGRjMzkyNTFkODllMjA3OTVjMDhlODc3MjBkZTBiYTcwIgorCitpbmhlcml0IGF1dG90b29scwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJzZGwtdHRmL2ZpbGVzL3VzZS5wa2ctY29uZmlnLmZvci5mcmVldHlwZTIucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnNkbC10dGYvZmlsZXMvdXNlLnBrZy1jb25maWcuZm9yLmZyZWV0eXBlMi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YTExZjY2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJzZGwtdHRmL2ZpbGVzL3VzZS5wa2ctY29uZmlnLmZvci5mcmVldHlwZTIucGF0Y2gKQEAgLTAsMCArMSw1NyBAQAorZnJlZXR5cGUtY29uZmlnIHdhcyByZW1vdmVkIGZyb20gb2UtY29yZSBpbgorCitjb21taXQgNTg3MGJkMjcyYjBiMDc3ZDA4MjZmYjkwMGIyNTE4ODRjMWMwNTA2MQorQXV0aG9yOiBSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4KK0RhdGU6ICAgVGh1IE1heSAyMiAxMDo1OTozMyAyMDE0ICswMTAwCisKKyAgICBiaW5jb25maWctZGlzYWJsZWQ6IEFkZCBjbGFzcyBhbmQgdXNlCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuaW4gYi9jb25maWd1cmUuaW4KK2luZGV4IDQwOGU4ZDYuLjVmOWU3MzAgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuaW4KKysrKyBiL2NvbmZpZ3VyZS5pbgorQEAgLTg2LDM5ICs4NiwxMSBAQCBjYXNlICIkaG9zdCIgaW4KKyBlc2FjCisgQU1fQ09ORElUSU9OQUwoVVNFX1ZFUlNJT05fUkMsIHRlc3QgeCR1c2VfdmVyc2lvbl9yYyA9IHh0cnVlKQorIAorLWRubCBDaGVjayBmb3IgdGhlIEZyZWVUeXBlIDIgbGlicmFyeQorLWRubAorLWRubCBHZXQgdGhlIGNmbGFncyBhbmQgbGlicmFyaWVzIGZyb20gdGhlIGZyZWV0eXBlLWNvbmZpZyBzY3JpcHQKKy1kbmwKKy1BQ19BUkdfV0lUSChmcmVldHlwZS1wcmVmaXgsWyAgLS13aXRoLWZyZWV0eXBlLXByZWZpeD1QRlggICBQcmVmaXggd2hlcmUgRlJFRVRZUEUgaXMgCistaW5zdGFsbGVkIChvcHRpb25hbCldLAorLSAgICAgICAgICAgIGZyZWV0eXBlX3ByZWZpeD0iJHdpdGh2YWwiLCBmcmVldHlwZV9wcmVmaXg9IiIpCistQUNfQVJHX1dJVEgoZnJlZXR5cGUtZXhlYy1wcmVmaXgsWyAgLS13aXRoLWZyZWV0eXBlLWV4ZWMtcHJlZml4PVBGWCBFeGVjIHByZWZpeCAKKy13aGVyZSBGUkVFVFlQRSBpcyBpbnN0YWxsZWQgKG9wdGlvbmFsKV0sCistICAgICAgICAgICAgZnJlZXR5cGVfZXhlY19wcmVmaXg9IiR3aXRodmFsIiwgZnJlZXR5cGVfZXhlY19wcmVmaXg9IiIpCistCistaWYgdGVzdCB4JGZyZWV0eXBlX2V4ZWNfcHJlZml4ICE9IHggOyB0aGVuCistICAgICBmcmVldHlwZV9hcmdzPSIkZnJlZXR5cGVfYXJncyAtLWV4ZWMtcHJlZml4PSRmcmVldHlwZV9leGVjX3ByZWZpeCIKKy0gICAgIGlmIHRlc3QgeCR7RlJFRVRZUEVfQ09ORklHK3NldH0gIT0geHNldCA7IHRoZW4KKy0gICAgICAgIEZSRUVUWVBFX0NPTkZJRz0kZnJlZXR5cGVfZXhlY19wcmVmaXgvYmluL2ZyZWV0eXBlLWNvbmZpZworLSAgICAgZmkKKy1maQorLWlmIHRlc3QgeCRmcmVldHlwZV9wcmVmaXggIT0geCA7IHRoZW4KKy0gICAgIGZyZWV0eXBlX2FyZ3M9IiRmcmVldHlwZV9hcmdzIC0tcHJlZml4PSRmcmVldHlwZV9wcmVmaXgiCistICAgICBpZiB0ZXN0IHgke0ZSRUVUWVBFX0NPTkZJRytzZXR9ICE9IHhzZXQgOyB0aGVuCistICAgICAgICBGUkVFVFlQRV9DT05GSUc9JGZyZWV0eXBlX3ByZWZpeC9iaW4vZnJlZXR5cGUtY29uZmlnCistICAgICBmaQorLWZpCistQUNfUEFUSF9QUk9HKEZSRUVUWVBFX0NPTkZJRywgZnJlZXR5cGUtY29uZmlnLCBubykKKy1ub19mcmVldHlwZT0iIgorLWlmIHRlc3QgIiRGUkVFVFlQRV9DT05GSUciID0gIm5vIiA7IHRoZW4KKy0gICAgQUNfTVNHX0VSUk9SKFsKKy0qKiogVW5hYmxlIHRvIGZpbmQgRnJlZVR5cGUyIGxpYnJhcnkgKGh0dHA6Ly93d3cuZnJlZXR5cGUub3JnLykKKy1dKQorLWVsc2UKKy0gICAgQ0ZMQUdTPSIkQ0ZMQUdTIGAkRlJFRVRZUEVfQ09ORklHICRmcmVldHlwZWNvbmZfYXJncyAtLWNmbGFnc2AiCistICAgIExJQlM9IiRMSUJTIGAkRlJFRVRZUEVfQ09ORklHICRmcmVldHlwZWNvbmZfYXJncyAtLWxpYnNgIgorLWZpCisrUEtHX0NIRUNLX01PRFVMRVMoRlJFRVRZUEUyLCBmcmVldHlwZTIsIAorKyAgICBDRkxBR1M9IiRDRkxBR1MgJEZSRUVUWVBFMl9DRkxBR1MiCisrICAgIExJQlM9IiRMSUJTICRGUkVFVFlQRTJfTElCUyIsCisrICAgIEFDX01TR19FUlJPUihbKioqIFVuYWJsZSB0byBmaW5kIEZyZWVUeXBlMiBsaWJyYXJ5IChodHRwOi8vd3d3LmZyZWV0eXBlLm9yZy8pXSkKKyspCisgCisgZG5sIENoZWNrIGZvciBTREwKKyBTRExfVkVSU0lPTj0yLjAuMApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJzZGwtdHRmL2xpYnNkbC10dGZfMi4wLjExLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJzZGwtdHRmL2xpYnNkbC10dGZfMi4wLjExLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAyNDlhYmUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnNkbC10dGYvbGlic2RsLXR0Zl8yLjAuMTEuYmIKQEAgLTAsMCArMSwyNyBAQAorU1VNTUFSWSA9ICJTaW1wbGUgRGlyZWN0TWVkaWEgTGF5ZXIgdHJ1ZXR5cGUgZm9udCBsaWJyYXJ5IgorU0VDVElPTiA9ICJsaWJzIgorREVQRU5EUyA9ICJ2aXJ0dWFsL2xpYnNkbCBmcmVldHlwZSIKK0xJQ0VOU0UgPSAiWmxpYiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTIyODAwZDFiMzcwMTM3N2FhZTBiNjFlZTM2ZjVjMzAzIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cubGlic2RsLm9yZy9wcm9qZWN0cy9TRExfdHRmL3JlbGVhc2UvU0RMX3R0Zi0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vdXNlLnBrZy1jb25maWcuZm9yLmZyZWV0eXBlMi5wYXRjaCBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiNjFlMjliZDlkYThkMjQ1YmMyNDcxZDFiMmNlNTkxYWEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNzI0Y2Q4OTVlY2Y0ZGEzMTlhM2VmMTY0ODkyYjcyMDc4YmQ5MjYzMmE1ZDgxMjExMTI2MWNkZTI0OGViY2RiNyIKKworUyA9ICIke1dPUktESVJ9L1NETF90dGYtJHtQVn0iCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgICMgbWFrZSBhdXRvcmVjb25mIGhhcHB5CisgICAgdG91Y2ggJHtTfS9ORVdTICR7U30vQVVUSE9SUyAke1N9L0NoYW5nZUxvZworCisgICAgIyBSZW1vdmluZyB0aGVzZSBmaWxlcyBmaXhlcyBhIGxpYnRvb2wgdmVyc2lvbiBtaXNtYXRjaC4KKyAgICBNQUNST1M9ImxpYnRvb2wubTQgbHR+b2Jzb2xldGUubTQgbHRvcHRpb25zLm00IGx0c3VnYXIubTQgbHR2ZXJzaW9uLm00IgorCisgICAgZm9yIGkgaW4gJHtNQUNST1N9OyBkbworICAgICAgICBybSAtZiAke1N9L2FjaW5jbHVkZS8kaQorICAgIGRvbmUKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlic2RsLXR0Zi9saWJzZGwyLXR0Zl8yLjAuMTQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnNkbC10dGYvbGlic2RsMi10dGZfMi4wLjE0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFmNWE1NWMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnNkbC10dGYvbGlic2RsMi10dGZfMi4wLjE0LmJiCkBAIC0wLDAgKzEsMjcgQEAKK1NVTU1BUlkgPSAiU2ltcGxlIERpcmVjdE1lZGlhIExheWVyIHRydWV0eXBlIGZvbnQgbGlicmFyeSIKK1NFQ1RJT04gPSAibGlicyIKK0RFUEVORFMgPSAidmlydHVhbC9saWJzZGwyIGZyZWV0eXBlIgorTElDRU5TRSA9ICJabGliIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORy50eHQ7bWQ1PWNiMzNlN2M0ZGY5ZmJkZTM4OWYxNDlhZDZiYzkzY2U1IgorCitTUkNfVVJJID0gIiBcCisgICAgaHR0cDovL3d3dy5saWJzZGwub3JnL3Byb2plY3RzL1NETF90dGYvcmVsZWFzZS9TREwyX3R0Zi0ke1BWfS50YXIuZ3ogXAorICAgIGZpbGU6Ly91c2UucGtnLWNvbmZpZy5mb3IuZnJlZXR5cGUyLnBhdGNoIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICJlNTNjMDVlMWU3ZjEzODJjMzE2YWZkNmM3NjMzODhiMSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzNGRiNWUyMGJjZjY0ZTcwNzFmZTlhZTI1YWNhYTdkNzJiZGM0ZjExYWIzY2U1OWFjYzc2OGFiNjJmZTM5Mjc2IgorCitTID0gIiR7V09SS0RJUn0vU0RMMl90dGYtJHtQVn0iCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIHRvdWNoICR7U30vTkVXUyAke1N9L1JFQURNRSAke1N9L0FVVEhPUlMgJHtTfS9DaGFuZ2VMb2cKKworICAgICMgUmVtb3ZpbmcgdGhlc2UgZmlsZXMgZml4ZXMgYSBsaWJ0b29sIHZlcnNpb24gbWlzbWF0Y2guCisgICAgTUFDUk9TPSJsaWJ0b29sLm00IGx0fm9ic29sZXRlLm00IGx0b3B0aW9ucy5tNCBsdHN1Z2FyLm00IGx0dmVyc2lvbi5tNCIKKworICAgIGZvciBpIGluICR7TUFDUk9TfTsgZG8KKyAgICAgICAgcm0gLWYgJHtTfS9hY2luY2x1ZGUvJGkKKyAgICBkb25lCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnNtaS9saWJzbWkvbGlic21pLWZpeC10aGUtdGVzdC1kdW1wLWZpbGVzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJzbWkvbGlic21pL2xpYnNtaS1maXgtdGhlLXRlc3QtZHVtcC1maWxlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMzRhOGJiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJzbWkvbGlic21pL2xpYnNtaS1maXgtdGhlLXRlc3QtZHVtcC1maWxlcy5wYXRjaApAQCAtMCwwICsxLDI3NyBAQAorRnJvbSA0NjBkM2E1ZWY0NTBjMzBiMzRhNjYzYTA3M2VlNTMzMjk0NDFlZjZlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSmFja2llIEh1YW5nIDxqYWNraWUuaHVhbmdAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFR1ZSwgMjMgRmViIDIwMTYgMTY6MzQ6MzggKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gbGlic21pOiBmaXggdGhlIHRlc3QgZHVtcCBmaWxlcworCitUaGVzZSB0ZXN0IGR1bXAgZmlsZXMgd2VyZSBnZW5lcmF0ZWQgYnkgc21pZHVtcCAwLjQuNQord2hpY2ggd291bGQgbm90IG1hdGNoIHdpdGggdGhlIG9uZXMgZ2VuZXJhdGVkIGJ5IDAuNC44LAorc28gdXBkYXRlIHRoZW0gd2l0aCB0aGUgb25lcyBmb3IgMC40LjguCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBKYWNraWUgSHVhbmcgPGphY2tpZS5odWFuZ0B3aW5kcml2ZXIuY29tPgorLS0tCisgdGVzdC9kdW1wcy9jbS9NQVUtTUlCICAgICAgIHwgIDggKysrKy0tLS0KKyB0ZXN0L2R1bXBzL2NtL1JNT04yLU1JQiAgICAgfCAgNiArKystLS0KKyB0ZXN0L2R1bXBzL3NtaW5nL0lGLU1JQiAgICAgfCAyMiArKysrKysrKysrKysrLS0tLS0tLS0tCisgdGVzdC9kdW1wcy9zbWluZy9NQVUtTUlCICAgIHwgMTkgKysrKysrKysrKystLS0tLS0tLQorIHRlc3QvZHVtcHMvc21pbmcvUk1PTjItTUlCICB8IDQwICsrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0KKyB0ZXN0L2R1bXBzL3NtaW5nL1NOTVB2Mi1NSUIgfCAxMSArKysrKysrLS0tLQorIDYgZmlsZXMgY2hhbmdlZCwgNjIgaW5zZXJ0aW9ucygrKSwgNDQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS90ZXN0L2R1bXBzL2NtL01BVS1NSUIgYi90ZXN0L2R1bXBzL2NtL01BVS1NSUIKK2luZGV4IDBkOTcyODQuLjBjZmQ0ZTEgMTAwNjQ0CistLS0gYS90ZXN0L2R1bXBzL2NtL01BVS1NSUIKKysrKyBiL3Rlc3QvZHVtcHMvY20vTUFVLU1JQgorQEAgLTUzLDcgKzUzLDcgQEAKKyAgIDxhdHRyaWJ1dGUgbmFtZT0idGV4dCI+CisgICAgIDxjb21wb3NpdGUgdHlwZT0idGV4dCI+CisgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJzdHJpbmciPgorLSAgICAgICAgPHN0cmluZz4jQ29uY2VwdHVhbCBtb2RlbCBvZiBNQVUtTUlCIC0gZ2VuZXJhdGVkIGJ5IHNtaWR1bXAgMC40LjUjPC9zdHJpbmc+CisrICAgICAgICA8c3RyaW5nPiNDb25jZXB0dWFsIG1vZGVsIG9mIE1BVS1NSUIgLSBnZW5lcmF0ZWQgYnkgc21pZHVtcCAwLjQuOCM8L3N0cmluZz4KKyAgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgICA8YXR0cmlidXRlIG5hbWU9ImZvbnQiPgorICAgICAgICAgPGZvbnQgbmFtZT0iQ291cmllciIvPgorQEAgLTEyOTQsNyArMTI5NCw3IEBACisgICAgICAgICA8cG9pbnQgdmFsPSIyOS41Miw0OS4xOCIvPgorICAgICAgPC9hdHRyaWJ1dGU+CisgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJvYmpfYmIiPgorLSAgICAgICA8cmVjdGFuZ2xlIHZhbD0iMjguNjcsMzIuOTM7MzAuMzcsMzQuNjMiLz4KKysgICAgICAgPHJlY3RhbmdsZSB2YWw9IjI4LjY3LDMyLjkzOzMwLjM3LDM0LjYyIi8+CisgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgIDxhdHRyaWJ1dGUgbmFtZT0ib3J0aF9wb2ludHMiPgorICAgICAgICA8cG9pbnQgdmFsPSIyOS41Miw0OS4xOCIvPgorQEAgLTE2NzgsNyArMTY3OCw3IEBACisgICAgICAgICA8cG9pbnQgdmFsPSIzNy42OCw0OS4xOCIvPgorICAgICAgPC9hdHRyaWJ1dGU+CisgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJvYmpfYmIiPgorLSAgICAgICA8cmVjdGFuZ2xlIHZhbD0iMjguNjcsMzIuOTM7MzAuMzcsMzQuNjMiLz4KKysgICAgICAgPHJlY3RhbmdsZSB2YWw9IjI4LjY3LDMyLjkzOzMwLjM3LDM0LjYyIi8+CisgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgIDxhdHRyaWJ1dGUgbmFtZT0ib3J0aF9wb2ludHMiPgorICAgICAgICA8cG9pbnQgdmFsPSIzNy42OCw0OS4xOCIvPgorQEAgLTE3MzcsNyArMTczNyw3IEBACisgICAgICAgICA8cG9pbnQgdmFsPSIyOS41MiwzNS43OCIvPgorICAgICAgPC9hdHRyaWJ1dGU+CisgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJvYmpfYmIiPgorLSAgICAgICA8cmVjdGFuZ2xlIHZhbD0iMjguNjcsMzIuOTM7MzAuMzcsMzQuNjMiLz4KKysgICAgICAgPHJlY3RhbmdsZSB2YWw9IjI4LjY3LDMyLjkzOzMwLjM3LDM0LjYyIi8+CisgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgIDxhdHRyaWJ1dGUgbmFtZT0ib3J0aF9wb2ludHMiPgorICAgICAgICA8cG9pbnQgdmFsPSIyOS41MiwzNS43OCIvPgorZGlmZiAtLWdpdCBhL3Rlc3QvZHVtcHMvY20vUk1PTjItTUlCIGIvdGVzdC9kdW1wcy9jbS9STU9OMi1NSUIKK2luZGV4IDMwYWU4ZGQuLjFiOWQyNjggMTAwNjQ0CistLS0gYS90ZXN0L2R1bXBzL2NtL1JNT04yLU1JQgorKysrIGIvdGVzdC9kdW1wcy9jbS9STU9OMi1NSUIKK0BAIC01Myw3ICs1Myw3IEBACisgICA8YXR0cmlidXRlIG5hbWU9InRleHQiPgorICAgICA8Y29tcG9zaXRlIHR5cGU9InRleHQiPgorICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0ic3RyaW5nIj4KKy0gICAgICAgIDxzdHJpbmc+I0NvbmNlcHR1YWwgbW9kZWwgb2YgUk1PTjItTUlCIC0gZ2VuZXJhdGVkIGJ5IHNtaWR1bXAgMC40LjUjPC9zdHJpbmc+CisrICAgICAgICA8c3RyaW5nPiNDb25jZXB0dWFsIG1vZGVsIG9mIFJNT04yLU1JQiAtIGdlbmVyYXRlZCBieSBzbWlkdW1wIDAuNC44Izwvc3RyaW5nPgorICAgICAgIDwvYXR0cmlidXRlPgorICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0iZm9udCI+CisgICAgICAgICA8Zm9udCBuYW1lPSJDb3VyaWVyIi8+CitAQCAtMjg0MSw4ICsyODQxLDggQEAKKyAgICAgIDwvYXR0cmlidXRlPgorICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJvcnRoX3BvaW50cyI+CisgICAgICAgIDxwb2ludCB2YWw9IjE4LjgwLDU1LjQ1Ii8+CistICAgICAgIDxwb2ludCB2YWw9IjE4LjgwLDY4LjYzIi8+CistICAgICAgIDxwb2ludCB2YWw9IjIyLjgwLDY4LjYzIi8+CisrICAgICAgIDxwb2ludCB2YWw9IjE4LjgwLDY4LjYyIi8+CisrICAgICAgIDxwb2ludCB2YWw9IjIyLjgwLDY4LjYyIi8+CisgICAgICAgIDxwb2ludCB2YWw9IjIyLjgwLDgxLjgwIi8+CisgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgICA8YXR0cmlidXRlIG5hbWU9Im9ydGhfb3JpZW50Ij4KK2RpZmYgLS1naXQgYS90ZXN0L2R1bXBzL3NtaW5nL0lGLU1JQiBiL3Rlc3QvZHVtcHMvc21pbmcvSUYtTUlCCitpbmRleCAyMTQzMmNiLi5jMmZmYzA2IDEwMDY0NAorLS0tIGEvdGVzdC9kdW1wcy9zbWluZy9JRi1NSUIKKysrKyBiL3Rlc3QvZHVtcHMvc21pbmcvSUYtTUlCCitAQCAtMSwxNiArMSwxOCBAQAorIC8vCistLy8gVGhpcyBtb2R1bGUgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHNtaWR1bXAgMC40LjUuIERvIG5vdCBlZGl0LgorKy8vIFRoaXMgbW9kdWxlIGhhcyBiZWVuIGdlbmVyYXRlZCBieSBzbWlkdW1wIDAuNC44LiBEbyBub3QgZWRpdC4KKyAvLworIG1vZHVsZSBJRi1NSUIgeworIAorLSAgaW1wb3J0IElBTkFpZlR5cGUtTUlCICAgICAgIChJQU5BaWZUeXBlKTsKKy0gIGltcG9ydCBJUlRGLU5NUkctU01JTkcgICAgICAoQ291bnRlcjMyLCBDb3VudGVyNjQsIAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5U3RyaW5nMjU1LCBHYXVnZTMyLCAKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGh5c0FkZHJlc3MsIFRpbWVTdGFtcCwgVGltZVRpY2tzLCAKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHJ1dGhWYWx1ZSk7CistICBpbXBvcnQgSVJURi1OTVJHLVNNSU5HLVNOTVAgKEF1dG9ub21vdXNUeXBlLCBSb3dTdGF0dXMsIAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUZXN0QW5kSW5jciwgbWliLTIpOworLSAgaW1wb3J0IFNOTVB2Mi1NSUIgICAgICAgICAgIChzbm1wVHJhcHMpOworKyAgaW1wb3J0IFNOTVB2Mi1TTUkgICAgIChNT0RVTEUtSURFTlRJVFksIE9CSkVDVC1UWVBFLCBDb3VudGVyMzIsIAorKyAgICAgICAgICAgICAgICAgICAgICAgICBHYXVnZTMyLCBDb3VudGVyNjQsIEludGVnZXIzMiwgVGltZVRpY2tzLCAKKysgICAgICAgICAgICAgICAgICAgICAgICAgbWliLTIsIE5PVElGSUNBVElPTi1UWVBFKTsKKysgIGltcG9ydCBTTk1QdjItVEMgICAgICAoVEVYVFVBTC1DT05WRU5USU9OLCBEaXNwbGF5U3RyaW5nLCAKKysgICAgICAgICAgICAgICAgICAgICAgICAgUGh5c0FkZHJlc3MsIFRydXRoVmFsdWUsIFJvd1N0YXR1cywgCisrICAgICAgICAgICAgICAgICAgICAgICAgIFRpbWVTdGFtcCwgQXV0b25vbW91c1R5cGUsIFRlc3RBbmRJbmNyKTsKKysgIGltcG9ydCBTTk1QdjItQ09ORiAgICAoTU9EVUxFLUNPTVBMSUFOQ0UsIE9CSkVDVC1HUk9VUCwgCisrICAgICAgICAgICAgICAgICAgICAgICAgIE5PVElGSUNBVElPTi1HUk9VUCk7CisrICBpbXBvcnQgU05NUHYyLU1JQiAgICAgKHNubXBUcmFwcyk7CisrICBpbXBvcnQgSUFOQWlmVHlwZS1NSUIgKElBTkFpZlR5cGUpOworIAorIC8vCisgLy8gTU9EVUxFIE1FVEEgSU5GT1JNQVRJT04KK0BAIC03OSw2ICs4MSw3IEBAIG1vZHVsZSBJRi1NSUIgeworICAgdHlwZWRlZiBJbnRlcmZhY2VJbmRleCB7CisgICAgIHR5cGUgICAgICAgICAgICBJbnRlZ2VyMzIgKDEuLjIxNDc0ODM2NDcpOworICAgICBmb3JtYXQgICAgICAgICAgImQiOworKyAgICBzdGF0dXMgICAgICAgICAgY3VycmVudDsKKyAgICAgZGVzY3JpcHRpb24gICAgIAorICAgICAgICAiQSB1bmlxdWUgdmFsdWUsIGdyZWF0ZXIgdGhhbiB6ZXJvLCBmb3IgZWFjaCBpbnRlcmZhY2Ugb3IKKyAgICAgICAgIGludGVyZmFjZSBzdWItbGF5ZXIgaW4gdGhlIG1hbmFnZWQgc3lzdGVtLiAgSXQgaXMKK0BAIC05MSw2ICs5NCw3IEBAIG1vZHVsZSBJRi1NSUIgeworICAgdHlwZWRlZiBJbnRlcmZhY2VJbmRleE9yWmVybyB7CisgICAgIHR5cGUgICAgICAgICAgICBJbnRlZ2VyMzIgKDAuLjIxNDc0ODM2NDcpOworICAgICBmb3JtYXQgICAgICAgICAgImQiOworKyAgICBzdGF0dXMgICAgICAgICAgY3VycmVudDsKKyAgICAgZGVzY3JpcHRpb24gICAgIAorICAgICAgICAiVGhpcyB0ZXh0dWFsIGNvbnZlbnRpb24gaXMgYW4gZXh0ZW5zaW9uIG9mIHRoZQorICAgICAgICAgSW50ZXJmYWNlSW5kZXggY29udmVudGlvbi4gIFRoZSBsYXR0ZXIgZGVmaW5lcyBhIGdyZWF0ZXIKK2RpZmYgLS1naXQgYS90ZXN0L2R1bXBzL3NtaW5nL01BVS1NSUIgYi90ZXN0L2R1bXBzL3NtaW5nL01BVS1NSUIKK2luZGV4IDJjZmZkOTkuLjY0Y2Y3MTQgMTAwNjQ0CistLS0gYS90ZXN0L2R1bXBzL3NtaW5nL01BVS1NSUIKKysrKyBiL3Rlc3QvZHVtcHMvc21pbmcvTUFVLU1JQgorQEAgLTEsMTUgKzEsMTggQEAKKyAvLworLS8vIFRoaXMgbW9kdWxlIGhhcyBiZWVuIGdlbmVyYXRlZCBieSBzbWlkdW1wIDAuNC41LiBEbyBub3QgZWRpdC4KKysvLyBUaGlzIG1vZHVsZSBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgc21pZHVtcCAwLjQuOC4gRG8gbm90IGVkaXQuCisgLy8KKyBtb2R1bGUgTUFVLU1JQiB7CisgCistICBpbXBvcnQgSUFOQS1NQVUtTUlCICAgICAgICAgKElBTkFpZkphY2tUeXBlLCAKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSUFOQWlmTWF1QXV0b05lZ0NhcEJpdHMsIAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJQU5BaWZNYXVNZWRpYUF2YWlsYWJsZSwgCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElBTkFpZk1hdVR5cGVMaXN0Qml0cyk7CistICBpbXBvcnQgSUYtTUlCICAgICAgICAgICAgICAgKEludGVyZmFjZUluZGV4KTsKKy0gIGltcG9ydCBJUlRGLU5NUkctU01JTkcgICAgICAoQ291bnRlcjMyLCBDb3VudGVyNjQsIFRydXRoVmFsdWUpOworLSAgaW1wb3J0IElSVEYtTk1SRy1TTUlORy1TTk1QIChBdXRvbm9tb3VzVHlwZSwgbWliLTIpOworKyAgaW1wb3J0IFNOTVB2Mi1TTUkgICAoQ291bnRlcjMyLCBJbnRlZ2VyMzIsIENvdW50ZXI2NCwgT0JKRUNULVRZUEUsIAorKyAgICAgICAgICAgICAgICAgICAgICAgTU9EVUxFLUlERU5USVRZLCBOT1RJRklDQVRJT04tVFlQRSwgbWliLTIpOworKyAgaW1wb3J0IFNOTVB2Mi1UQyAgICAoVHJ1dGhWYWx1ZSwgQXV0b25vbW91c1R5cGUsIAorKyAgICAgICAgICAgICAgICAgICAgICAgVEVYVFVBTC1DT05WRU5USU9OKTsKKysgIGltcG9ydCBTTk1QdjItQ09ORiAgKE9CSkVDVC1HUk9VUCwgTU9EVUxFLUNPTVBMSUFOQ0UsIAorKyAgICAgICAgICAgICAgICAgICAgICAgTk9USUZJQ0FUSU9OLUdST1VQKTsKKysgIGltcG9ydCBJRi1NSUIgICAgICAgKEludGVyZmFjZUluZGV4KTsKKysgIGltcG9ydCBJQU5BLU1BVS1NSUIgKElBTkFpZk1hdVR5cGVMaXN0Qml0cywgCisrICAgICAgICAgICAgICAgICAgICAgICBJQU5BaWZNYXVNZWRpYUF2YWlsYWJsZSwgCisrICAgICAgICAgICAgICAgICAgICAgICBJQU5BaWZNYXVBdXRvTmVnQ2FwQml0cywgSUFOQWlmSmFja1R5cGUpOworIAorIC8vCisgLy8gTU9EVUxFIE1FVEEgSU5GT1JNQVRJT04KK2RpZmYgLS1naXQgYS90ZXN0L2R1bXBzL3NtaW5nL1JNT04yLU1JQiBiL3Rlc3QvZHVtcHMvc21pbmcvUk1PTjItTUlCCitpbmRleCA0MjNiOWJjLi4wNDc2M2U1IDEwMDY0NAorLS0tIGEvdGVzdC9kdW1wcy9zbWluZy9STU9OMi1NSUIKKysrKyBiL3Rlc3QvZHVtcHMvc21pbmcvUk1PTjItTUlCCitAQCAtMSwyMyArMSwyNiBAQAorIC8vCistLy8gVGhpcyBtb2R1bGUgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHNtaWR1bXAgMC40LjUuIERvIG5vdCBlZGl0LgorKy8vIFRoaXMgbW9kdWxlIGhhcyBiZWVuIGdlbmVyYXRlZCBieSBzbWlkdW1wIDAuNC44LiBEbyBub3QgZWRpdC4KKyAvLworIG1vZHVsZSBSTU9OMi1NSUIgeworIAorLSAgaW1wb3J0IElGLU1JQiAgICAgICAgICAgICAgIChpZkluZGV4KTsKKy0gIGltcG9ydCBJUlRGLU5NUkctU01JTkcgICAgICAoQ291bnRlcjMyLCBEaXNwbGF5U3RyaW5nMjU1LCAKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2F1Z2UzMiwgSXBBZGRyZXNzLCBUaW1lU3RhbXAsIAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaW1lVGlja3MpOworLSAgaW1wb3J0IElSVEYtTk1SRy1TTUlORy1TTk1QIChSb3dTdGF0dXMsIG1pYi0yKTsKKy0gIGltcG9ydCBSTU9OLU1JQiAgICAgICAgICAgICAoT3duZXJTdHJpbmcsIGNoYW5uZWxFbnRyeSwgCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV0aGVyU3RhdHNFbnRyeSwgZmlsdGVyLCAKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyRW50cnksIGhpc3RvcnksIAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaXN0b3J5Q29udHJvbEVudHJ5LCAKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaG9zdENvbnRyb2xFbnRyeSwgaG9zdHMsIG1hdHJpeCwgCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdHJpeENvbnRyb2xFbnRyeSwgc3RhdGlzdGljcyk7CistICBpbXBvcnQgVE9LRU4tUklORy1STU9OLU1JQiAgKHJpbmdTdGF0aW9uQ29udHJvbEVudHJ5LCAKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlUm91dGluZ1N0YXRzRW50cnksIAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2tlblJpbmcsIHRva2VuUmluZ01MU3RhdHNFbnRyeSwgCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRva2VuUmluZ1BTdGF0c0VudHJ5KTsKKysgIGltcG9ydCBTTk1QdjItU01JICAgICAgICAgIChNT0RVTEUtSURFTlRJVFksIE9CSkVDVC1UWVBFLCAKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb3VudGVyMzIsIEludGVnZXIzMiwgR2F1Z2UzMiwgCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSXBBZGRyZXNzLCBUaW1lVGlja3MsIG1pYi0yKTsKKysgIGltcG9ydCBTTk1QdjItVEMgICAgICAgICAgIChURVhUVUFMLUNPTlZFTlRJT04sIFJvd1N0YXR1cywgCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheVN0cmluZywgVGltZVN0YW1wKTsKKysgIGltcG9ydCBTTk1QdjItQ09ORiAgICAgICAgIChNT0RVTEUtQ09NUExJQU5DRSwgT0JKRUNULUdST1VQKTsKKysgIGltcG9ydCBJRi1NSUIgICAgICAgICAgICAgIChpZkluZGV4KTsKKysgIGltcG9ydCBSTU9OLU1JQiAgICAgICAgICAgIChPd25lclN0cmluZywgc3RhdGlzdGljcywgaGlzdG9yeSwgCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaG9zdHMsIG1hdHJpeCwgZmlsdGVyLCAKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldGhlclN0YXRzRW50cnksIAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpc3RvcnlDb250cm9sRW50cnksIAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhvc3RDb250cm9sRW50cnksIAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdHJpeENvbnRyb2xFbnRyeSwgZmlsdGVyRW50cnksIAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5uZWxFbnRyeSk7CisrICBpbXBvcnQgVE9LRU4tUklORy1STU9OLU1JQiAodG9rZW5SaW5nLCB0b2tlblJpbmdNTFN0YXRzRW50cnksIAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRva2VuUmluZ1BTdGF0c0VudHJ5LCAKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByaW5nU3RhdGlvbkNvbnRyb2xFbnRyeSwgCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlUm91dGluZ1N0YXRzRW50cnkpOworIAorIC8vCisgLy8gTU9EVUxFIE1FVEEgSU5GT1JNQVRJT04KK0BAIC0xNjcsNiArMTcwLDcgQEAgbW9kdWxlIFJNT04yLU1JQiB7CisgCisgICB0eXBlZGVmIFplcm9CYXNlZENvdW50ZXIzMiB7CisgICAgIHR5cGUgICAgICAgICAgICBHYXVnZTMyOworKyAgICBzdGF0dXMgICAgICAgICAgY3VycmVudDsKKyAgICAgZGVzY3JpcHRpb24gICAgIAorICAgICAgICAiVGhpcyBUQyBkZXNjcmliZXMgYW4gb2JqZWN0IHRoYXQgY291bnRzIGV2ZW50cyB3aXRoIHRoZQorICAgICAgICAgZm9sbG93aW5nIHNlbWFudGljczogb2JqZWN0cyBvZiB0aGlzIHR5cGUgd2lsbCBiZSBzZXQgdG8KK0BAIC0xODgsNiArMTkyLDcgQEAgbW9kdWxlIFJNT04yLU1JQiB7CisgCisgICB0eXBlZGVmIExhc3RDcmVhdGVUaW1lIHsKKyAgICAgdHlwZSAgICAgICAgICAgIFRpbWVUaWNrczsKKysgICAgc3RhdHVzICAgICAgICAgIGN1cnJlbnQ7CisgICAgIGRlc2NyaXB0aW9uICAgICAKKyAgICAgICAgIlRoaXMgVEMgZGVzY3JpYmVzIGFuIG9iamVjdCB0aGF0IHN0b3JlcyB0aGUgdmFsdWUgb2YgdGhlCisgICAgICAgICBzeXNVcFRpbWUgb2JqZWN0IGF0IHRoZSBsYXN0IHRpbWUgaXRzIGVudHJ5IHdhcyBjcmVhdGVkLgorQEAgLTIwOCw2ICsyMTMsNyBAQCBtb2R1bGUgUk1PTjItTUlCIHsKKyAKKyAgIHR5cGVkZWYgVGltZUZpbHRlciB7CisgICAgIHR5cGUgICAgICAgICAgICBUaW1lVGlja3M7CisrICAgIHN0YXR1cyAgICAgICAgICBjdXJyZW50OworICAgICBkZXNjcmlwdGlvbiAgICAgCisgICAgICAgICJUbyBiZSB1c2VkIGZvciB0aGUgaW5kZXggdG8gYSB0YWJsZS4gIEFsbG93cyBhbiBhcHBsaWNhdGlvbgorICAgICAgICAgdG8gZG93bmxvYWQgb25seSB0aG9zZSByb3dzIGNoYW5nZWQgc2luY2UgYSBwYXJ0aWN1bGFyIHRpbWUuCitAQCAtNDI0LDYgKzQzMCw3IEBAIG1vZHVsZSBSTU9OMi1NSUIgeworIAorICAgdHlwZWRlZiBEYXRhU291cmNlIHsKKyAgICAgdHlwZSAgICAgICAgICAgIE9iamVjdElkZW50aWZpZXI7CisrICAgIHN0YXR1cyAgICAgICAgICBjdXJyZW50OworICAgICBkZXNjcmlwdGlvbiAgICAgCisgICAgICAgICJJZGVudGlmaWVzIHRoZSBzb3VyY2Ugb2YgdGhlIGRhdGEgdGhhdCB0aGUgYXNzb2NpYXRlZAorICAgICAgICAgZnVuY3Rpb24gaXMgY29uZmlndXJlZCB0byBhbmFseXplLiAgVGhpcyBzb3VyY2UgY2FuIGJlIGFueQorQEAgLTQzOSw2ICs0NDYsNyBAQCBtb2R1bGUgUk1PTjItTUlCIHsKKyAKKyAgIHR5cGVkZWYgQ29udHJvbFN0cmluZyB7CisgICAgIHR5cGUgICAgICAgICAgICBPY3RldFN0cmluZyAoMC4uMjU1KTsKKysgICAgc3RhdHVzICAgICAgICAgIGN1cnJlbnQ7CisgICAgIGRlc2NyaXB0aW9uICAgICAKKyAgICAgICAgIlRoaXMgZGF0YSB0eXBlIGlzIHVzZWQgdG8gY29tbXVuaWNhdGUgd2l0aCBhIG1vZGVtIG9yIGEKKyAgICAgICAgIAorZGlmZiAtLWdpdCBhL3Rlc3QvZHVtcHMvc21pbmcvU05NUHYyLU1JQiBiL3Rlc3QvZHVtcHMvc21pbmcvU05NUHYyLU1JQgoraW5kZXggY2EzNTVjOC4uMGM4ODkzOSAxMDA2NDQKKy0tLSBhL3Rlc3QvZHVtcHMvc21pbmcvU05NUHYyLU1JQgorKysrIGIvdGVzdC9kdW1wcy9zbWluZy9TTk1QdjItTUlCCitAQCAtMSwxMSArMSwxNCBAQAorIC8vCistLy8gVGhpcyBtb2R1bGUgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHNtaWR1bXAgMC40LjUuIERvIG5vdCBlZGl0LgorKy8vIFRoaXMgbW9kdWxlIGhhcyBiZWVuIGdlbmVyYXRlZCBieSBzbWlkdW1wIDAuNC44LiBEbyBub3QgZWRpdC4KKyAvLworIG1vZHVsZSBTTk1QdjItTUlCIHsKKyAKKy0gIGltcG9ydCBJUlRGLU5NUkctU01JTkcgICAgICAoQ291bnRlcjMyLCBEaXNwbGF5U3RyaW5nMjU1LCAKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGltZVN0YW1wLCBUaW1lVGlja3MsIHNubXBNb2R1bGVzKTsKKy0gIGltcG9ydCBJUlRGLU5NUkctU01JTkctU05NUCAoVGVzdEFuZEluY3IsIG1pYi0yKTsKKysgIGltcG9ydCBTTk1QdjItU01JICAoTU9EVUxFLUlERU5USVRZLCBPQkpFQ1QtVFlQRSwgCisrICAgICAgICAgICAgICAgICAgICAgIE5PVElGSUNBVElPTi1UWVBFLCBUaW1lVGlja3MsIENvdW50ZXIzMiwgCisrICAgICAgICAgICAgICAgICAgICAgIHNubXBNb2R1bGVzLCBtaWItMik7CisrICBpbXBvcnQgU05NUHYyLVRDICAgKERpc3BsYXlTdHJpbmcsIFRlc3RBbmRJbmNyLCBUaW1lU3RhbXApOworKyAgaW1wb3J0IFNOTVB2Mi1DT05GIChNT0RVTEUtQ09NUExJQU5DRSwgT0JKRUNULUdST1VQLCAKKysgICAgICAgICAgICAgICAgICAgICAgTk9USUZJQ0FUSU9OLUdST1VQKTsKKyAKKyAvLworIC8vIE1PRFVMRSBNRVRBIElORk9STUFUSU9OCistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlic21pL2xpYnNtaS9zbWkuY29uZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlic21pL2xpYnNtaS9zbWkuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZTRkYTg2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJzbWkvbGlic21pL3NtaS5jb25mCkBAIC0wLDAgKzEsNDggQEAKKyMKKyMgc21pLmNvbmYgLSBHbG9iYWwvVXNlciBTTUkgY29uZmlndXJhdGlvbiBmaWxlLiAoRVhBTVBMRSkKKyMKKyMgQ29weXJpZ2h0IChjKSAyMDAwIEZyYW5rIFN0cmF1c3MsIFRlY2huaWNhbCBVbml2ZXJzaXR5IG9mIEJyYXVuc2Nod2VpZy4KKyMKKyMgU2VlIHRoZSBmaWxlICJDT1BZSU5HIiBmb3IgaW5mb3JtYXRpb24gb24gdXNhZ2UgYW5kIHJlZGlzdHJpYnV0aW9uCisjIG9mIHRoaXMgZmlsZSwgYW5kIGZvciBhIERJU0NMQUlNRVIgT0YgQUxMIFdBUlJBTlRJRVMuCisjCisjIEAoIykgJElkOiBzbWkuY29uZi1leGFtcGxlIDExMzQgMjAwMS0wNi0xMSAwOTo1OToxM1ogc3RyYXVzcyAkCisjCisjCisjIFNlZSBzbWlfY29uZmlnKDMpIGZvciBkZXRhaWxlZCBpbmZvcm1hdGlvbiBvbiBjb25maWd1cmF0aW9uIGZpbGVzLgorIworCisjIEV4dGVuZCAobm90ZSB0aGUgc2VtaWNvbG9uKSB0aGUgbGlic21pIGRlZmF1bHQgbW9kdWxlIHNlYXJjaCBwYXRoLgorcGF0aCA6L3Vzci9zaGFyZS9taWJzL2lhbmEKK3BhdGggOi91c3Ivc2hhcmUvbWlicy9pZXRmCitwYXRoIDovdXNyL3NoYXJlL21pYnMvaXJ0ZgorcGF0aCA6L3Vzci9zaGFyZS9taWJzL3R1YnMKKworIyBFWFBFUklNRU5UQUw6IEFkZCBhIGNhY2hpbmcgbWV0aG9kICh3b3JrcyBvbmx5IG9uIFVOSVggc3lzdGVtcykuCisjIE5PVEU6IHRoZSBjYWNoZSBkaXJlY3RvcnkgbXVzdCBleGlzdCBhbmQgcGVybWlzc2lvbnMgbXVzdCBiZQorIyBoYW5kbGVkIGFwcHJvcHJpYXRlbHkuIEEgc2ltcGxlIGJ1dCBpbnNlY3VyZSB3YXkgaXMgdG8gYXBwbHkKKyMgYSB0bXAgZmxhZyB0byB0aGUgZGlyZWN0b3J5IChjaG1vZCAxNzc3IC91c3IvbG9jYWwvc2hhcmUvbWlicy9jYWNoZSkuCisjY2FjaGUgL3Vzci9sb2NhbC9zaGFyZS9taWJzL2NhY2hlIC91c3IvbG9jYWwvYmluL3NtaWNhY2hlIC1kIC91c3IvbG9jYWwvc2hhcmUvbWlicy9jYWNoZSAtcCBodHRwOi8vd3d3Lmlici5jcy50dS1icy5kZS9wcm9qZWN0cy9saWJzbWkvc21pY2FjaGUvCisKKyMgRG9uJ3Qgc2hvdyBhbnkgZXJyb3JzIGJ5IGRlZmF1bHQuCitsZXZlbCAwCisKKyMgUHJlbG9hZCBzb21lIGJhc2ljIFNNSXYyIG1vZHVsZXMuCitsb2FkIFNOTVB2Mi1TTUkKK2xvYWQgU05NUHYyLVRDCitsb2FkIFNOTVB2Mi1DT05GCisKKyMgTWFrZSBzbWlsaW50IHNob3V0IGxvdWQgdG8gcmVwb3J0IGFsbCBlcnJvcnMgYW5kIHdhcm5pbmdzLgorc21pbGludDogbGV2ZWwgOQorCisjIEJ1dCBwbGVhc2UgZG9uJ3QgY2xhaW0gYWJvdXQgYW55IG5hbWVzIGxvbmdlciB0aGFuIDMyIGNoYXJzLgorIyAobm90ZTogdGhpcyBpcyB0aGUgcHJlZml4IG9mIGVycm9ycyBgbmFtZWxlbmd0aC0zMi1tb2R1bGUsCisjICAtdHlwZSwgLW9iamVjdCwgLWVudW1lcmF0aW9uLCBhbmQgLWJpdCkKK3NtaWxpbnQ6IGhpZGUgbmFtZWxlbmd0aC0zMgorCisjIFByZWxvYWRpbmcgc29tZSBtb3JlIG1vZHVsZXMgZm9yIHNwZWNpYWwgYXBwbGljYXRpb25zLgordGNwZHVtcDogbG9hZCBESVNNQU4tU0NSSVBULU1JQgordGNwZHVtcDogbG9hZCBJRi1NSUIKKworc21pcXVlcnk6IGxvYWQgSUYtTUlCCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlic21pL2xpYnNtaV8wLjUuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlic21pL2xpYnNtaV8wLjUuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMDQ5MDY3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJzbWkvbGlic21pXzAuNS4wLmJiCkBAIC0wLDAgKzEsMzAgQEAKK1NVTU1BUlkgPSAiQSBMaWJyYXJ5IHRvIEFjY2VzcyBTTUkgTUlCIEluZm9ybWF0aW9uIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly93d3cuaWJyLmNzLnR1LWJzLmRlL3Byb2plY3RzL2xpYnNtaSIKKworTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zYWQzMDc2ZjkzMzIzNDNhMjE2MzZjZmQzNTFmMDViNyIKKworU1JDX1VSSSA9ICJodHRwczovL3d3dy5pYnIuY3MudHUtYnMuZGUvcHJvamVjdHMvJHtCUE59L2Rvd25sb2FkLyR7QlB9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9zbWkuY29uZiBcCisgICAgICAgICAgIGZpbGU6Ly9saWJzbWktZml4LXRoZS10ZXN0LWR1bXAtZmlsZXMucGF0Y2ggXAorICAgICAgICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gIjRiZjQ3NDgzYzA2YzlmMDdkMWIxMGZiYzc0ZWRkZjExIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImYyMWFjY2RhZGIxYmIzMjhlYTNmOGExM2ZjMzRkNzE1YmFhYzZlMmRiNjYwNjU4OTgzNDYzMjJjNzI1NzU0ZDMiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK0VYVFJBX09FQ09ORiA9ICJhY19jdl9wYXRoX1NIPSR7YmFzZV9iaW5kaXJ9L3NoIgorCitkb19pbnN0YWxsX2FwcGVuZCAoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfQorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3NtaS5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L3NtaS5jb25mCit9CisKK1BBQ0tBR0VTICs9ICIke1BOfS1taWJzICR7UE59LXBpYnMgJHtQTn0teWFuZyIKKworRklMRVNfJHtQTn0tbWlicyArPSAiJHtkYXRhZGlyfS9taWJzIgorRklMRVNfJHtQTn0tcGlicyArPSAiJHtkYXRhZGlyfS9waWJzIgorRklMRVNfJHtQTn0teWFuZyArPSAiJHtkYXRhZGlyfS95YW5nIgorCitSUkVDT01NRU5EU18ke1BOfSA9ICIke0JQTn0tbWlicyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlic29jL2xpYnNvY18wLjcuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlic29jL2xpYnNvY18wLjcuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MTFlMGJhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJzb2MvbGlic29jXzAuNy4xLmJiCkBAIC0wLDAgKzEsMTcgQEAKK1NVTU1BUlkgPSAiTGlicmFyeSBmb3IgaW50ZXJmYWNpbmcgd2l0aCBjb21tb24gU29DIHBlcmlwaGVyYWxzIgorREVTQ1JJUFRJT04gPSAibGlic29jIGlzIGEgQyBsaWJyYXJ5IHRvIGludGVyZmFjZSB3aXRoIGNvbW1vbiBwZXJpcGhlcmFscyAoZ3BpbywgaTJjLCBzcGksIHB3bSkgXAorICAgICAgICAgICAgICAgZm91bmQgaW4gU29DIChTeXN0ZW0gb24gQ2hpcHMpIHRocm91Z2ggZ2VuZXJpYyBMaW51eCBLZXJuZWwgaW50ZXJmYWNlcy4iCisKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9qYWNrbWl0Y2gvbGlic29jIgorCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZTBiZmViZWExMmE3MTg5MjIyMjViYTk4N2IyMTI2YTUiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK1NSQ1JFViA9ICIyOTE5YzM1ZTcwNmZlN2MzMTFmODNmOTM0Mzg2NTQyMGZhNGIzN2ZlIgorU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2phY2ttaXRjaC9saWJzb2MuZ2l0IgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitSREVQRU5EU18ke1BOfSA9ICJsaWJnY2MiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnNvZGl1bS9saWJzb2RpdW1fMS4wLjguYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnNvZGl1bS9saWJzb2RpdW1fMS4wLjguYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTJlZWY0YgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlic29kaXVtL2xpYnNvZGl1bV8xLjAuOC5iYgpAQCAtMCwwICsxLDExIEBACitTVU1NQVJZID0gIlRoZSBTb2RpdW0gY3J5cHRvIGxpYnJhcnkiCitIT01FUEFHRSA9ICJodHRwOi8vbGlic29kaXVtLm9yZy8iCitMSUNFTlNFID0gIklTQyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTA5MmEwOWI3OGMzYmU0ODZmYWM4MDc0MzViZjE3YjdhIgorCitTUkNfVVJJID0gImh0dHBzOi8vZG93bmxvYWQubGlic29kaXVtLm9yZy9saWJzb2RpdW0vcmVsZWFzZXMvJHtCUE59LSR7UFZ9LnRhci5neiIKKworU1JDX1VSSVttZDVzdW1dID0gIjBhNjZiODZmZDNhYWIzZmU0Yzg1OGVkY2QyNzcyNzYwIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImMwZjE5MWQyNTI3ODUyNjQxZTBhOTk2YjdiMTA2ZDJlMDRjYmM3NmVhNTA3MzFiMmQwYmFiZDM0MDkzMDE5MjYiCisKK2luaGVyaXQgYXV0b3Rvb2xzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnNzaC9saWJzc2hfMC43LjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnNzaC9saWJzc2hfMC43LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzcxZTFhYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlic3NoL2xpYnNzaF8wLjcuMS5iYgpAQCAtMCwwICsxLDMzIEBACitTVU1NQVJZID0gIk11bHRpcGxhdGZvcm0gQyBsaWJyYXJ5IGltcGxlbWVudGluZyB0aGUgU1NIdjIgYW5kIFNTSHYxIHByb3RvY29sIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5saWJzc2gub3JnIgorU0VDVElPTiA9ICJsaWJzIgorCitERVBFTkRTID0gInpsaWIgb3BlbnNzbCBsaWJnY3J5cHQiCisKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zODhhNGZiMWRlYThjZWFlMGJlNzhiYTliMDFmYzEzOSIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXQubGlic3NoLm9yZy9wcm9qZWN0cy9saWJzc2guZ2l0O2JyYW5jaD12MC03IgorU1JDUkVWID0gIjA1M2Y3MmM2NzFhODNiMzIyMzhkYzAxYjU2YTY2NzUyZmIxNWI3ZWMiCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitFWFRSQV9PRUNNQUtFID0gIiBcCisgICAgLURXSVRIX0dDUllQVD0xIFwKKyAgICAtRFdJVEhfUENBUD0xIFwKKyAgICAtRFdJVEhfU0ZUUD0xIFwKKyAgICAtRFdJVEhfWkxJQj0xIFwKKyAgICAtRExJQl9TVUZGSVg9JHtAZC5nZXRWYXIoJ2Jhc2VsaWInLCBUcnVlKS5yZXBsYWNlKCdsaWInLCAnJyl9IFwKKyAgICAiCisKK1BBQ0tBR0VDT05GSUcgPz89IiIKK1BBQ0tBR0VDT05GSUdbZ3NzYXBpXSA9ICItRFdJVEhfR1NTQVBJPTEsIC1EV0lUSF9HU1NBUEk9MCwga3JiNSwgIgorCitpbmhlcml0IGNtYWtlCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kICgpIHsKKyAgICAjIERpc2FibGUgYnVpbGRpbmcgb2YgZXhhbXBsZXMKKyAgICBzZWQgLWkgLWUgJy9hZGRfc3ViZGlyZWN0b3J5KGV4YW1wbGVzKS9zL14vI0RPTk9UV0FOVC8nICR7U30vQ01ha2VMaXN0cy50eHQgXAorICAgICAgICB8fCBiYmZhdGFsICJGYWlsZWQgdG8gZGlzYWJsZSBleGFtcGxlcyIKK30KKworRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vY21ha2UiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnNzaDIvbGlic3NoMl8xLjYuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlic3NoMi9saWJzc2gyXzEuNi4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM0MzE2NGUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnNzaDIvbGlic3NoMl8xLjYuMC5iYgpAQCAtMCwwICsxLDI0IEBACitTVU1NQVJZID0gIkEgY2xpZW50LXNpZGUgQyBsaWJyYXJ5IGltcGxlbWVudGluZyB0aGUgU1NIMiBwcm90b2NvbCIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cubGlic3NoMi5vcmcvIgorU0VDVElPTiA9ICJsaWJzIgorCitERVBFTkRTID0gInpsaWIiCisKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YzVjZjM0ZmMwYWNiNDRiMDgyZWY1MGVmNWU0MzU0Y2EiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5saWJzc2gyLm9yZy9kb3dubG9hZC8ke0JQfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiMDBhYWJkNmU3MTRhNWY0MmE0ZmI4MmFjZTIwZGIxZGQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNWEyMDI5NDNhMzRhMWQ4MmExYzMxZjc0MDk0ZjI0NTNjMjA3YmY5OTM2MDkzODY3ZjQxNDE0OTY4YzhlODIxNSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK0VYVFJBX09FQ09ORiArPSAiXAorICAgICAgICAgICAgICAgICAtLXdpdGgtbGlieiBcCisgICAgICAgICAgICAgICAgIC0td2l0aC1saWJ6LXByZWZpeD0ke1NUQUdJTkdfTElCRElSfSBcCisgICAgICAgICAgICAgICAgIgorCisjIG9ubHkgb25lIG9mIG9wZW5zc2wgYW5kIGdjcnlwdCBjb3VsZCBiZSBzZXQKK1BBQ0tBR0VDT05GSUcgPz89ICJvcGVuc3NsIgorUEFDS0FHRUNPTkZJR1tvcGVuc3NsXSA9ICItLXdpdGgtb3BlbnNzbCAtLXdpdGgtbGlic3NsLXByZWZpeD0ke1NUQUdJTkdfTElCRElSfSwtLXdpdGhvdXQtb3BlbnNzbCxvcGVuc3NsIgorUEFDS0FHRUNPTkZJR1tnY3J5cHRdID0gIi0td2l0aC1saWJnY3J5cHQgLS13aXRoLWxpYmdjcnlwdC1wcmVmaXg9JHtTVEFHSU5HX0VYRUNQUkVGSVhESVJ9LC0td2l0aG91dC1saWJnY3J5cHQsbGliZ2NyeXB0IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ0aW55eG1sL2xpYnRpbnl4bWwvZW5mb3JjZS11c2Utc3RsLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ0aW55eG1sL2xpYnRpbnl4bWwvZW5mb3JjZS11c2Utc3RsLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg4Yzk2MmIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnRpbnl4bWwvbGlidGlueXhtbC9lbmZvcmNlLXVzZS1zdGwucGF0Y2gKQEAgLTAsMCArMSwyMCBAQAorRGVzY3JpcHRpb246IFRpbnlYbWwgaXMgYnVpbHQgd2l0aCBUSVhNTF9VU0VfU1RMLCBzbyB3ZSBoYXZlIHRvCisgZW5mb3JjZSBpdCB3aGVuIHRoZSBsaWJyYXJ5IGlzIHVzZWQuCitBdXRob3I6IEZlbGl4IEdleWVyIDxkZWJmeC1wa2dAZm9ib3MuZGU+CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitkaWZmIC1OdXIgdGlueXhtbC0yLjUuMy90aW55eG1sLmggdGlueXhtbC0yLjUuMy5wYXRjaC90aW55eG1sLmgKKy0tLSB0aW55eG1sLTIuNS4zL3Rpbnl4bWwuaAkyMDA3LTA1LTA3IDAwOjQxOjIzLjAwMDAwMDAwMCArMDIwMAorKysrIHRpbnl4bWwtMi41LjMucGF0Y2gvdGlueXhtbC5oCTIwMDktMDctMDggMjI6MzI6MDMuMDAwMDAwMDAwICswMjAwCitAQCAtMjYsNiArMjYsMTAgQEAKKyAjaWZuZGVmIFRJTllYTUxfSU5DTFVERUQKKyAjZGVmaW5lIFRJTllYTUxfSU5DTFVERUQKKyAKKysjaWZuZGVmIFRJWE1MX1VTRV9TVEwKKysJI2RlZmluZSBUSVhNTF9VU0VfU1RMCisrI2VuZGlmCisrCisgI2lmZGVmIF9NU0NfVkVSCisgI3ByYWdtYSB3YXJuaW5nKCBwdXNoICkKKyAjcHJhZ21hIHdhcm5pbmcoIGRpc2FibGUgOiA0NTMwICkKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlidGlueXhtbC9saWJ0aW55eG1sL2VudGl0eS1lbmNvZGluZy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlidGlueXhtbC9saWJ0aW55eG1sL2VudGl0eS1lbmNvZGluZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iODAxNTA2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ0aW55eG1sL2xpYnRpbnl4bWwvZW50aXR5LWVuY29kaW5nLnBhdGNoCkBAIC0wLDAgKzEsNjIgQEAKK0Rlc2NyaXB0aW9uOiBUaW55WE1MIGluY29ycmVjdGx5IGVuY29kZXMgdGV4dCBlbGVtZW50IGNvbnRhaW5pbmcKKyBhbiBhbXBlcnNhbmQgZm9sbG93ZWQgYnkgZWl0aGVyIHggb3IgIy4KKworT3JpZ2luOiBodHRwOi8vc291cmNlZm9yZ2UubmV0L3RyYWNrZXIvaW5kZXgucGhwP2Z1bmM9ZGV0YWlsJmFpZD0zMDMxODI4Jmdyb3VwX2lkPTEzNTU5JmF0aWQ9MzEzNTU5CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitkaWZmIC11IC1yMS4xMDUgdGlueXhtbC5jcHAKKy0tLSBhL3Rpbnl4bWwuY3BwCisrKysgYi90aW55eG1sLmNwcAorQEAgLTU3LDMwICs1Nyw3IEBACisgCXsKKyAJCXVuc2lnbmVkIGNoYXIgYyA9ICh1bnNpZ25lZCBjaGFyKSBzdHJbaV07CisgCistCQlpZiAoICAgIGMgPT0gJyYnIAorLQkJICAgICAmJiBpIDwgKCAoaW50KXN0ci5sZW5ndGgoKSAtIDIgKQorLQkJCSAmJiBzdHJbaSsxXSA9PSAnIycKKy0JCQkgJiYgc3RyW2krMl0gPT0gJ3gnICkKKy0JCXsKKy0JCQkvLyBIZXhhZGVjaW1hbCBjaGFyYWN0ZXIgcmVmZXJlbmNlLgorLQkJCS8vIFBhc3MgdGhyb3VnaCB1bmNoYW5nZWQuCistCQkJLy8gJiN4QTk7CS0tIGNvcHlyaWdodCBzeW1ib2wsIGZvciBleGFtcGxlLgorLQkJCS8vCistCQkJLy8gVGhlIC0xIGlzIGEgYnVnIGZpeCBmcm9tIFJvYiBMYXZlYXV4LiBJdCBrZWVwcworLQkJCS8vIGFuIG92ZXJmbG93IGZyb20gaGFwcGVuaW5nIGlmIHRoZXJlIGlzIG5vICc7Jy4KKy0JCQkvLyBUaGVyZSBhcmUgYWN0dWFsbHkgMiB3YXlzIHRvIGV4aXQgdGhpcyBsb29wIC0KKy0JCQkvLyB3aGlsZSBmYWlscyAoZXJyb3IgY2FzZSkgYW5kIGJyZWFrIChzZW1pY29sb24gZm91bmQpLgorLQkJCS8vIEhvd2V2ZXIsIHRoZXJlIGlzIG5vIG1lY2hhbmlzbSAoY3VycmVudGx5KSBmb3IKKy0JCQkvLyB0aGlzIGZ1bmN0aW9uIHRvIHJldHVybiBhbiBlcnJvci4KKy0JCQl3aGlsZSAoIGk8KGludClzdHIubGVuZ3RoKCktMSApCistCQkJeworLQkJCQlvdXRTdHJpbmctPmFwcGVuZCggc3RyLmNfc3RyKCkgKyBpLCAxICk7CistCQkJCSsraTsKKy0JCQkJaWYgKCBzdHJbaV0gPT0gJzsnICkKKy0JCQkJCWJyZWFrOworLQkJCX0KKy0JCX0KKy0JCWVsc2UgaWYgKCBjID09ICcmJyApCisrCQlpZiAoIGMgPT0gJyYnICkKKyAJCXsKKyAJCQlvdXRTdHJpbmctPmFwcGVuZCggZW50aXR5WzBdLnN0ciwgZW50aXR5WzBdLnN0ckxlbmd0aCApOworIAkJCSsraTsKK2RpZmYgLXUgLXIxLjg5IHhtbHRlc3QuY3BwCistLS0gYS94bWx0ZXN0LmNwcAorKysrIGIveG1sdGVzdC5jcHAKK0BAIC0xMzQwLDYgKzEzNDAsMTYgQEAKKyAJCX0qLworIAl9CisgCisrCSNpZmRlZiBUSVhNTF9VU0VfU1RMCisrCXsKKysJCVRpWG1sRG9jdW1lbnQgeG1sOworKwkJeG1sLlBhcnNlKCI8Zm9vPmZvbyZhbXA7I3hhK2JhcjwvZm9vPiIpOworKwkJc3RkOjpzdHJpbmcgc3RyOworKwkJc3RyIDw8IHhtbDsKKysJCVhtbFRlc3QoICJFbnRpdHkgZXNjYXBpbmciLCAiPGZvbz5mb28mYW1wOyN4YStiYXI8L2Zvbz4iLCBzdHIuY19zdHIoKSApOworKwl9CisrCSNlbmRpZgorKworIAkvKiAgMTQxNzcxNyBleHBlcmltZW50CisgCXsKKyAJCVRpWG1sRG9jdW1lbnQgeG1sOwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ0aW55eG1sL2xpYnRpbnl4bWxfMi42LjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnRpbnl4bWwvbGlidGlueXhtbF8yLjYuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMDlhNTM5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ0aW55eG1sL2xpYnRpbnl4bWxfMi42LjIuYmIKQEAgLTAsMCArMSw0NSBAQAorIyAoYykgQ29weXJpZ2h0IDIwMTIgIEhld2xldHQtUGFja2FyZCBEZXZlbG9wbWVudCBDb21wYW55LCBMLlAuIAorCitTVU1NQVJZID0gImEgc2ltcGxlLCBzbWFsbCwgbWluaW1hbCwgQysrIFhNTCBwYXJzZXIiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LnNvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy90aW55eG1sIgorTElDRU5TRSA9ICJabGliIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vcmVhZG1lLnR4dDttZDU9ZjhmMzY2ZjMzNzBkZGE4ODlmNjBmYWE3ZGIxNjJjZjQiCitTRUNUSU9OID0gImxpYnMiCisKK1BSID0gInI1IgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS90aW55eG1sL3Rpbnl4bWxfJHtAJyR7UFZ9Jy5yZXBsYWNlKCcuJywgJ18nKX0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL2VuZm9yY2UtdXNlLXN0bC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9lbnRpdHktZW5jb2RpbmcucGF0Y2giCitTUkNfVVJJW21kNXN1bV0gPSAiYzFiODY0Yzk2ODA0YTEwNTI2NTQwYzY2NGFkZTY3ZjAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMTViZGZkY2VjNThhN2RhMzBhZGM4N2FjMmIwNzhlNDQxN2RiZTUzOTJmM2FmYjcxOWY5YmE2ZDA2MjY0NTU5MyIKKworUyA9ICIke1dPUktESVJ9L3Rpbnl4bWwiCisKK0VYVFJBX0NYWEZMQUdTID0gIi1JLiAtZlBJQyIKKworZG9fY29tcGlsZSgpIHsKKyAgICAke0NYWH0gJHtDWFhGTEFHU30gJHtFWFRSQV9DWFhGTEFHU30gLWMgLW8gdGlueXhtbC5vIHRpbnl4bWwuY3BwCisgICAgJHtDWFh9ICR7Q1hYRkxBR1N9ICR7RVhUUkFfQ1hYRkxBR1N9IC1jIC1vIHRpbnl4bWxlcnJvci5vIHRpbnl4bWxlcnJvci5jcHAKKyAgICAke0NYWH0gJHtDWFhGTEFHU30gJHtFWFRSQV9DWFhGTEFHU30gLWMgLW8gdGlueXhtbHBhcnNlci5vIHRpbnl4bWxwYXJzZXIuY3BwCisgICAgJHtDWFh9ICR7Q1hYRkxBR1N9IFwKKyAgICAgICAgICAgIC1zaGFyZWQgXAorICAgICAgICAgICAgLVdsLC1zb25hbWUsbGlidGlueXhtbC5zby4ke1BWfSBcCisgICAgICAgICAgICAtbyBsaWJ0aW55eG1sLnNvLiR7UFZ9IFwKKyAgICAgICAgICAgICR7TERGTEFHU30gXAorICAgICAgICAgICAgdGlueXhtbC5vIFwKKyAgICAgICAgICAgIHRpbnl4bWxwYXJzZXIubyBcCisgICAgICAgICAgICB0aW55eG1sZXJyb3IubworCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtsaWJkaXJ9CisgICAgaW5zdGFsbCAtbSAwNzU1ICR7U30vbGlidGlueXhtbC5zby4ke1BWfSAke0R9JHtsaWJkaXJ9CisgICAgbG4gLXNmIGxpYnRpbnl4bWwuc28uJHtQVn0gJHtEfSR7bGliZGlyfS9saWJ0aW55eG1sLnNvCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke2luY2x1ZGVkaXJ9CisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vdGlueXhtbC5oICR7RH0ke2luY2x1ZGVkaXJ9Cit9CisKK0JCQ0xBU1NFWFRFTkQgKz0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlidGlueXhtbDIvbGlidGlueXhtbDJfMy4wLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnRpbnl4bWwyL2xpYnRpbnl4bWwyXzMuMC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFmMGI3ODUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnRpbnl4bWwyL2xpYnRpbnl4bWwyXzMuMC4wLmJiCkBAIC0wLDAgKzEsMTUgQEAKK1NVTU1BUlkgPSAiVGlueVhNTC0yIGlzIGEgc2ltcGxlLCBzbWFsbCwgZWZmaWNpZW50LCBDKysgWE1MIHBhcnNlciB0aGF0IGNhbiBiZSBlYXNpbHkgaW50ZWdyYXRpbmcgaW50byBvdGhlciBwcm9ncmFtcyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZ3Jpbm5pbmdsaXphcmQuY29tL3Rpbnl4bWwyLyIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiWmxpYiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3Rpbnl4bWwyLmNwcDtlbmRsaW5lPTIyO21kNT1jMTkyMjFkYmQ4YTY2YWQzMDkwNDYyYWY0YzVkZTVlNyIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2xlZXRob21hc29uL3Rpbnl4bWwyLmdpdCIKKworU1JDUkVWID0gIjE5NzdhNzI1OGNjNjZmZDRkYTdmMWU5ZGEwNWE0OTMzNjQ2YTc4MDMiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgY21ha2UKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnVzYmcvbGlidXNiZy8wMDAxLUZpeC1vdXQtb2YtdHJlZS1idWlsZHMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnVzYmcvbGlidXNiZy8wMDAxLUZpeC1vdXQtb2YtdHJlZS1idWlsZHMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmJlNDlmYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlidXNiZy9saWJ1c2JnLzAwMDEtRml4LW91dC1vZi10cmVlLWJ1aWxkcy5wYXRjaApAQCAtMCwwICsxLDM5IEBACitGcm9tIDYxMThjNmVjMTI5MWE1YzczMWFhOGQ0ZjBjMWViOGNjZTQzZDQ3YWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLb2VuIEtvb2kgPGtvZW5AZG9taW5pb24udGhydWhlcmUubmV0PgorRGF0ZTogTW9uLCA0IEF1ZyAyMDE0IDA5OjA0OjA4ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIEZpeCBvdXQtb2YtdHJlZSBidWlsZHMKKworVGhlIGluY2x1ZGUgZmxhZyBzaG91bGQgcG9pbnQgdG8gdGhlIHNvdXJjZSBkaXJlY3RvcnksIG5vdCB0aGUgYnVpbGQKK2RpcmVjdG9yeS4KKworU2lnbmVkLW9mZi1ieTogS29lbiBLb29pIDxrb2VuQGRvbWluaW9uLnRocnVoZXJlLm5ldD4KK1Vwc3RyZWFtLXN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2dpdGh1Yi5jb20vbGlidXNiZy9saWJ1c2JnL3B1bGwvOV0KKy0tLQorIGV4YW1wbGVzL01ha2VmaWxlLmFtIHwgMiArLQorIHNyYy9NYWtlZmlsZS5hbSAgICAgIHwgMiArLQorIDIgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZXhhbXBsZXMvTWFrZWZpbGUuYW0gYi9leGFtcGxlcy9NYWtlZmlsZS5hbQoraW5kZXggZjlmOTQwNy4uZWY0ZjgxZSAxMDA2NDQKKy0tLSBhL2V4YW1wbGVzL01ha2VmaWxlLmFtCisrKysgYi9leGFtcGxlcy9NYWtlZmlsZS5hbQorQEAgLTEsNSArMSw1IEBACisgYmluX1BST0dSQU1TID0gc2hvdy1nYWRnZXRzIGdhZGdldC1hY20tZWNtIAorIGdhZGdldF9hY21fZWNtX1NPVVJDRVMgPSBnYWRnZXQtYWNtLWVjbS5jCisgc2hvd19nYWRnZXRzX1NPVVJDRVMgPSBzaG93LWdhZGdldHMuYworLUFNX0NQUEZMQUdTPS1JLi4vaW5jbHVkZS8KKytBTV9DUFBGTEFHUz0tSSQodG9wX3NyY2RpcikvaW5jbHVkZS8KKyBBTV9MREZMQUdTPS1MLi4vc3JjLyAtbHVzYmcKK2RpZmYgLS1naXQgYS9zcmMvTWFrZWZpbGUuYW0gYi9zcmMvTWFrZWZpbGUuYW0KK2luZGV4IGQ5NTVhNGMuLjJmNzEzNjYgMTAwNjQ0CistLS0gYS9zcmMvTWFrZWZpbGUuYW0KKysrKyBiL3NyYy9NYWtlZmlsZS5hbQorQEAgLTEsNCArMSw0IEBACisgbGliX0xUTElCUkFSSUVTID0gbGlidXNiZy5sYQorIGxpYnVzYmdfbGFfU09VUkNFUyA9IHVzYmcuYworIGxpYnVzYmdfbGFfTERGTEFHUyA9IC12ZXJzaW9uLWluZm8gMDoxOjAKKy1BTV9DUFBGTEFHUz0tSS4uL2luY2x1ZGUvCisrQU1fQ1BQRkxBR1M9LUkkKHRvcF9zcmNkaXIpL2luY2x1ZGUvCistLSAKKzEuOS4wCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlidXNiZy9saWJ1c2JnX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlidXNiZy9saWJ1c2JnX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45N2Q2MGE2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ1c2JnL2xpYnVzYmdfZ2l0LmJiCkBAIC0wLDAgKzEsMTYgQEAKK1NVTU1BUlkgPSAiVVNCIEdhZGdldCBDb25maWdmcyBMaWJyYXJ5IgorCitMSUNFTlNFID0gIkdQTHYyICYgTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxHUEw7bWQ1PTRmYmQ2NTM4MGNkZDI1NTk1MTA3OTAwOGIzNjQ1MTZjIgorCitpbmhlcml0IGF1dG90b29scworCitQViA9ICIwLjEuMCIKK1NSQ1JFViA9ICJhODI2ZDEzNmUwZThmYTUzODE1ZjFiYTA1ODkzZTZkZDc0MjA4YzE1IgorU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2xpYnVzYmcvbGlidXNiZy5naXQgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXgtb3V0LW9mLXRyZWUtYnVpbGRzLnBhdGNoIFwKKyAgICAgICAgICAiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlidXRlbXB0ZXIvbGlidXRlbXB0ZXIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnV0ZW1wdGVyL2xpYnV0ZW1wdGVyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAyODJiYTUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnV0ZW1wdGVyL2xpYnV0ZW1wdGVyLmJiCkBAIC0wLDAgKzEsMzkgQEAKK1NVTU1BUlkgPSAiQSBwcml2aWxlZ2VkIGhlbHBlciBmb3IgdXRtcC93dG1wIHVwZGF0ZXMiCitERVNDUklQVElPTiA9ICJcCitUaGlzIGxpYnJhcnkgcHJvdmlkZXMgaW50ZXJmYWNlIGZvciB0ZXJtaW5hbCBlbXVsYXRvcnMgc3VjaCBhcyBcCitzY3JlZW4gYW5kIHh0ZXJtIHRvIHJlY29yZCB1c2VyIHNlc3Npb25zIHRvIHV0bXAgYW5kIHd0bXAgZmlsZXMuIgorSE9NRVBBR0UgPSAiZnRwOi8vZnRwLmFsdGxpbnV4Lm9yZy9wdWIvcGVvcGxlL2xkdi91dGVtcHRlciIKK1NFQ1RJT04gPSAiU3lzdGVtIEVudmlyb25tZW50L0xpYnJhcmllcyIKK0xJQ0VOU0UgPSAiR1BMdjIgJiBHUEx2MisgJiBMR1BMdjIgJiBNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0yZDUwMjVkNGFhMzQ5NWJlZmVmOGYxNzIwNmE1YjBhMSIKKworU1JDUkVWID0gIjNlZjc0ZmZmMzEwZjA5ZTI2MDFlMjQxYjlmMDQyY2QzOWQ1OTEwMTgiCitQViA9ICIxLjEuNi1hbHQyK2dpdCR7U1JDUFZ9IgorCitTUkNfVVJJID0gImdpdDovL2dpdC5hbHRsaW51eC5vcmcvcGVvcGxlL2xkdi9wYWNrYWdlcy9saWJ1dGVtcHRlci5naXQgXAorICAgIGZpbGU6Ly8wMDAxLUZpeC1tYWNyby1lcnJvci5wYXRjaCIKKworUyA9ICIke1dPUktESVJ9L2dpdC8ke0JQTn0iCisKK0NGTEFHUyArPSAiLURMSUJFWEVDRElSPSR7bGliZXhlY2Rpcn0iCisKK2RvX2NvbXBpbGUoKSB7CisgICAgb2VfcnVubWFrZSAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIGxpYmRpcj0ke2xpYmRpcn0gICAgICAgICAgICBcCisgICAgICAgIGxpYmV4ZWNkaXI9JHtsaWJleGVjZGlyfQorfQorCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgaW5zdGFsbCAgICAgICAgICAgICAgXAorICAgICAgICBERVNURElSPSR7RH0gICAgICAgICAgICAgICAgXAorICAgICAgICBsaWJkaXI9IiR7bGliZGlyfSIgICAgICAgICAgXAorICAgICAgICBsaWJleGVjZGlyPSIke2xpYmV4ZWNkaXJ9IiAgXAorICAgICAgICBpbmNsdWRlZGlyPSR7aW5jbHVkZWRpcn0gICAgXAorICAgICAgICBtYW5kaXI9JHttYW5kaXJ9CisKKyAgICBybSAtZiAke0R9JHtsaWJkaXJ9LyouYQorfQorCitGSUxFU18ke1BOfSA9ICIke2xpYmRpcn0vKi5zby4qIgorRklMRVNfJHtQTn0gKz0gIiR7bGliZXhlY2Rpcn0vdXRlbXB0ZXIvdXRlbXB0ZXIiCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZXhlY2Rpcn0vdXRlbXB0ZXIvLmRlYnVnL3V0ZW1wdGVyIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ1dGVtcHRlci9saWJ1dGVtcHRlci8wMDAxLUZpeC1tYWNyby1lcnJvci5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlidXRlbXB0ZXIvbGlidXRlbXB0ZXIvMDAwMS1GaXgtbWFjcm8tZXJyb3IucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODE0MGVhMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlidXRlbXB0ZXIvbGlidXRlbXB0ZXIvMDAwMS1GaXgtbWFjcm8tZXJyb3IucGF0Y2gKQEAgLTAsMCArMSwzNiBAQAorRnJvbSBmYzJiZDU5MmFkMTdkMWMyYTJhOTg5NzUwZTY5ZGZhZWRjMjhjNjMzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUWlhbiBMZWkgPHFpYW5sLmZuc3RAY24uZnVqaXRzdS5jb20+CitEYXRlOiBGcmksIDkgSmFuIDIwMTUgMTA6NDA6MjkgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gRml4IG1hY3JvIGVycm9yCisKK2NvbXBpbGUgZXJyb3Igd2hlbiBidWlsZCBvbiBhbG1vc3QgYWxsIGFyY2hpdGVjdHVyZXMuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogUWlhbiBMZWkgPHFpYW5sLmZuc3RAY24uZnVqaXRzdS5jb20+CistLS0KKyBpZmFjZS5jIHwgOSArKysrKysrKy0KKyAxIGZpbGUgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9pZmFjZS5jIGIvaWZhY2UuYworaW5kZXggNTk1MWQ4MS4uMjc3OTNmMCAxMDA2NDQKKy0tLSBhL2lmYWNlLmMKKysrKyBiL2lmYWNlLmMKK0BAIC00Myw3ICs0MywxNCBAQAorICAgICAgICBfX3Jlc3VsdDsgfSkpCisgI2VuZGlmCisgCistI2RlZmluZQlVVEVNUFRFUl9ERUZBVUxUX1BBVEhOQU1FCUxJQkVYRUNESVIgIi91dGVtcHRlci91dGVtcHRlciIKKysjaWZkZWYgIExJQkVYRUNESVIKKysjICBkZWZpbmUgQ0FUX1BBVEgoRElSMSxESVIyKSAgICAgICAgICAgRElSMSMjRElSMgorKyMgIGRlZmluZSBSQVdfVVRFTVBURVJfUEFUSCAgICAgICAgICAgICBDQVRfUEFUSChMSUJFWEVDRElSLC91dGVtcHRlci91dGVtcHRlcikKKysjZWxzZQorKyMgIGRlZmluZSBSQVdfVVRFTVBURVJfUEFUSCAgICAgICAgICAgICAvdXNyL2xpYi9saWJ0ZW1wdGVyL3V0ZW1wdGVyL3V0ZW1wdGVyCisrI2VuZGlmCisrI2RlZmluZSBTVFJfUEFUSChSQVdfU1RSKSAgICAgICAgICAgICAgICNSQVdfU1RSCisrI2RlZmluZSBVVEVNUFRFUl9ERUZBVUxUX1BBVEhOQU1FICAgICAgIFNUUl9QQVRIKFJBV19VVEVNUFRFUl9QQVRIKQorIAorIHN0YXRpYyBjb25zdCBjaGFyICp1dGVtcHRlcl9wYXRobmFtZTsKKyBzdGF0aWMgaW50IHNhdmVkX2ZkID0gLTE7CistLSAKKzEuOC4zLjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saW5rcy9maWxlcy9hYy1wcm9nLWN4eC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlua3MvZmlsZXMvYWMtcHJvZy1jeHgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDFjMzgyNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlua3MvZmlsZXMvYWMtcHJvZy1jeHgucGF0Y2gKQEAgLTAsMCArMSwxMSBAQAorLS0tIGxpbmtzLTIuMXByZTIwL2NvbmZpZ3VyZS5pbi5vcmlnCTIwMDUtMTItMjEgMTU6MjM6NDkuMDAwMDAwMDAwICswMDAwCisrKysgbGlua3MtMi4xcHJlMjAvY29uZmlndXJlLmluCTIwMDUtMTItMjEgMTU6MjM6NTkuMDAwMDAwMDAwICswMDAwCitAQCAtMTgsNyArMTgsNyBAQAorIGRubCBDaGVja3MgZm9yIHByb2dyYW1zLgorIEFDX1BST0dfQ0MKKyAKKy0jQUNfUFJPR19DWFgKKytBQ19QUk9HX0NYWAorICNBQ19QUk9HX0FXSworICNBTV9QUk9HX0xFWAorICNBQ19QUk9HX1lBQ0MKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlua3MvZmlsZXMvbGlua3MyLmRlc2t0b3AgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpbmtzL2ZpbGVzL2xpbmtzMi5kZXNrdG9wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEwNWJjZTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpbmtzL2ZpbGVzL2xpbmtzMi5kZXNrdG9wCkBAIC0wLDAgKzEsMTQgQEAKK1tEZXNrdG9wIEVudHJ5XQorRW5jb2Rpbmc9VVRGLTgKK05hbWU9TGlua3MKK0NvbW1lbnQ9TGlua3MgaXMgYSBicm93c2VyIHZlcnkgc2ltaWxhciB0byBseW54CitDb21tZW50W2VzXT1FbCBsaW5rcyBlcyB1biBicm93c2VyIHBhcmEgbW9kbyB0ZXh0bywgc2ltaWxhciBhIGx5bngKK0NvbW1lbnRbcGxdPUxpbmtzIGplc3QgcHJ6ZWdsxIVkYXJrxIUgcG9kb2JuxIUgZG8gbHlua3NhCitDb21tZW50W3B0XT1PIGxpbmtzIMOpIHVtIGJyb3dzZXIgcGFyYSBtb2RvIHRleHRvLCBzaW1pbGFyIGFvIGx5bngKK0NvbW1lbnRbcHRfQlJdPU8gbGlua3Mgw6kgdW0gYnJvd3NlciBwYXJhIG1vZG8gdGV4dG8sIHNpbWlsYXIgYW8gbHlueAorRXhlYz1saW5rcyAtZworVGVybWluYWw9dHJ1ZQorSWNvbj1saW5rczIKK1R5cGU9QXBwbGljYXRpb24KK0NhdGVnb3JpZXM9QXBwbGljYXRpb247Q29uc29sZU9ubHk7TmV0d29yaztXZWJCcm93c2VyOworIyB2aTogZW5jb2Rpbmc9dXRmLTgKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlua3MvbGlua3MteDExXzIuNy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlua3MvbGlua3MteDExXzIuNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYWUxMWFjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saW5rcy9saW5rcy14MTFfMi43LmJiCkBAIC0wLDAgKzEsMzEgQEAKK3JlcXVpcmUgbGlua3MuaW5jCisKK0RFUEVORFMgKz0gInZpcnR1YWwvbGlieDExIgorUkNPTkZMSUNUU18ke1BOfSA9ICJsaW5rcyIKKworaW5oZXJpdCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKyMgZGVwZW5kcyBvbiB2aXJ0dWFsL2xpYngxMQorUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKKworU1JDX1VSSSArPSAiIGZpbGU6Ly9saW5rczIuZGVza3RvcCBcCisgICAgICAgICAgICAgaHR0cDovL3d3dy54b3JhLm9yZy51ay9vZS9saW5rczIucG5nO25hbWU9aWNvbiIKKworUyA9ICIke1dPUktESVJ9L2xpbmtzLSR7UFZ9IgorCitFWFRSQV9PRUNPTkYgPSAiLS1lbmFibGUtZ3JhcGhpY3MgXAorICAgICAgICAgICAgICAgIC0td2l0aC1zc2w9JHtTVEFHSU5HX0xJQkRJUn0vLi4gLS13aXRoLWxpYmpwZWcgXAorICAgICAgICAgICAgICAgIC0td2l0aG91dC1saWJ0aWZmIC0td2l0aG91dC1zdmdhbGliIC0td2l0aG91dC1mYiBcCisgICAgICAgICAgICAgICAgLS13aXRob3V0LWRpcmVjdGZiIC0td2l0aG91dC1wbXNoZWxsIC0td2l0aG91dC1hdGhlb3MgXAorICAgICAgICAgICAgICAgIC0td2l0aC14IC0td2l0aG91dC1ncG0iCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGluc3RhbGwgLWQgJHtEfS8ke2RhdGFkaXJ9L2FwcGxpY2F0aW9ucworICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2xpbmtzMi5kZXNrdG9wICR7RH0vJHtkYXRhZGlyfS9hcHBsaWNhdGlvbnMKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtkYXRhZGlyfS9waXhtYXBzCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vbGlua3MyLnBuZyAke0R9LyR7ZGF0YWRpcn0vcGl4bWFwcworfQorCitTUkNfVVJJW21kNXN1bV0gPSAiZDA2YWE2ZTE0YjIxNzJkNzMxODg4NzFhNTM1NzE4NWEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMGMxODJiMWNiY2RmZDVjZGNkMmY3NWE2MDMyZDFhNGI2NjBkMDdjMTIyNWMxZTA3NzU3Y2VjODFkMzMwMjEzMCIKK1NSQ19VUklbaWNvbi5tZDVzdW1dID0gIjQ3N2U4Nzg3OTI3YzYzNDYxNGJhYzAxYjQ0MzU1YTMzIgorU1JDX1VSSVtpY29uLnNoYTI1NnN1bV0gPSAiZWRkY2Q4YjhjODY5OGFhNjIxZDFhNDUzOTQzODkyZDc3YjcyZWQ0OTJlMGQxNGUwZGJhYzVjNmE1N2U1MmY0NyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlua3MvbGlua3MuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saW5rcy9saW5rcy5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTA3MjQwOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlua3MvbGlua3MuaW5jCkBAIC0wLDAgKzEsMTcgQEAKK0RFU0NSSVBUSU9OID0gIkxpbmtzIGlzIGdyYXBoaWNzIGFuZCB0ZXh0IG1vZGUgV1dXIFwKK2Jyb3dzZXIsIHNpbWlsYXIgdG8gTHlueC4iCitIT01FUEFHRSA9ICJodHRwOi8vbGlua3MudHdpYnJpZ2h0LmNvbS8iCitTRUNUSU9OID0gImNvbnNvbGUvbmV0d29yayIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT02NWU3MzViZTJlMDVkNTk0MzgwMzM0NDE0OGY1NzYwMyIKK0RFUEVORFMgPSAianBlZyBsaWJwbmcgZmxleCBvcGVuc3NsIHpsaWIiCisKK1NSQ19VUkkgPSAiaHR0cDovL2xpbmtzLnR3aWJyaWdodC5jb20vZG93bmxvYWQvbGlua3MtJHtQVn0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly9hYy1wcm9nLWN4eC5wYXRjaCBcCisiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW2J6aXAyXSA9ICItLXdpdGgtYnppcDIsLS13aXRob3V0LWJ6aXAyLGJ6aXAyIgorUEFDS0FHRUNPTkZJR1tsem1hXSA9ICItLXdpdGgtbHptYSwtLXdpdGhvdXQtbHptYSx4eiIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpbmtzL2xpbmtzXzIuNy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlua3MvbGlua3NfMi43LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU4MGRkN2IKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpbmtzL2xpbmtzXzIuNy5iYgpAQCAtMCwwICsxLDEzIEBACityZXF1aXJlIGxpbmtzLmluYworCitERVBFTkRTICs9ICJncG0iCitSQ09ORkxJQ1RTXyR7UE59ID0gImxpbmtzLXgxMSIKKworRVhUUkFfT0VDT05GID0gIi0tZW5hYmxlLWdyYXBoaWNzIFwKKyAgICAgICAgICAgICAgICAtLXdpdGgtc3NsPSR7U1RBR0lOR19MSUJESVJ9Ly4uIC0td2l0aC1saWJqcGVnIFwKKyAgICAgICAgICAgICAgICAtLXdpdGhvdXQtbGlidGlmZiAtLXdpdGhvdXQtc3ZnYWxpYiAtLXdpdGgtZmIgXAorICAgICAgICAgICAgICAgIC0td2l0aG91dC1kaXJlY3RmYiAtLXdpdGhvdXQtcG1zaGVsbCAtLXdpdGhvdXQtYXRoZW9zIFwKKyAgICAgICAgICAgICAgICAtLXdpdGhvdXQteCIKKworU1JDX1VSSVttZDVzdW1dID0gImQwNmFhNmUxNGIyMTcyZDczMTg4ODcxYTUzNTcxODVhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjBjMTgyYjFjYmNkZmQ1Y2RjZDJmNzVhNjAzMmQxYTRiNjYwZDA3YzEyMjVjMWUwNzc1N2NlYzgxZDMzMDIxMzAiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpby11dGlscy9saW8tdXRpbHNfNC4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saW8tdXRpbHMvbGlvLXV0aWxzXzQuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNWJhMTYxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saW8tdXRpbHMvbGlvLXV0aWxzXzQuMS5iYgpAQCAtMCwwICsxLDYwIEBACitTVU1NQVJZID0gImxpby11dGlscyIKK0RFU0NSSVBUSU9OID0gImEgc2ltcGxlIGxvdy1sZXZlbCBjb25maWd1cmF0aW9uIHRvb2wgc2V0IGZvciB0aGUgVGFyZ2V0K2lTQ1NJIChMSU8pIgorSE9NRVBBR0UgPSAiaHR0cDovL2xpbnV4LWlzY3NpLm9yZy9pbmRleC5waHAvTGlvLXV0aWxzIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2RlYmlhbi9jb3B5cmlnaHQ7bWQ1PWMzZWEyMzFhMzI2MzVjYmI1ZGViZWRmM2U4OGFhM2RmIgorCitQViA9ICI0LjErZ2l0JHtTUkNQVn0iCisKK1NSQ19VUkkgPSAiZ2l0Oi8vcmlzaW5ndGlkZXN5c3RlbXMuY29tL2xpby11dGlscy5naXQiCitTUkNSRVYgPSAiMjhiZDkyODY1NWJkYzdiZDNjZjM4MGYwMTk2NjMwNjkwYzUxZTA1ZiIKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgZGlzdHV0aWxzCisKK0VYVFJBX09FTUFLRSArPSAiREVTVERJUj0ke0R9IgorCitkb19jb21waWxlKCkgeworICAgIGNkICR7U30vdGNtLXB5CisgICAgZGlzdHV0aWxzX2RvX2NvbXBpbGUKKworICAgIGNkICR7U30vbGlvLXB5CisgICAgZGlzdHV0aWxzX2RvX2NvbXBpbGUKKworICAgIGlmIHRlc3QgLWQgJHtTfS90b29sczsgdGhlbgorICAgICAgICBvZV9ydW5tYWtlIC1DICR7U30vdG9vbHMKKyAgICBmaQorfQorCitkb19pbnN0YWxsKCkgeworICAgIGNkICR7U30vdGNtLXB5CisgICAgZGlzdHV0aWxzX2RvX2luc3RhbGwKKworICAgIGNkICR7U30vbGlvLXB5CisgICAgZGlzdHV0aWxzX2RvX2luc3RhbGwKKworICAgIFNJVEVfUEFDS0FHRVM9JHtEfS8ke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfQorICAgIGluc3RhbGwgLWQgJHtEfS8ke3NiaW5kaXJ9CisgICAgZm9yIHZhciBpbiB0Y21fbm9kZSB0Y21fZHVtcCB0Y21fbG9vcCB0Y21fZmFicmljIGxpb19kdW1wIGxpb19ub2RlOyBkbworICAgICAgICBpZiBbICEgLWggJHtEfS8ke3NiaW5kaXJ9LyR7dmFyfSBdO3RoZW4KKyAgICAgICAgICAgIGNobW9kIGEreCAke1NJVEVfUEFDS0FHRVN9LyR7dmFyfS5weQorICAgICAgICAgICAgbG4gLXMgJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vJHt2YXJ9LnB5ICR7RH0vJHtzYmluZGlyfS8ke3Zhcn0KKyAgICAgICAgZmkKKyAgICBkb25lCisKKyAgICBpZiB0ZXN0IC1kICR7U30vdG9vbHM7IHRoZW4KKyAgICAgICAgb2VfcnVubWFrZSAtQyAke1N9L3Rvb2xzIGluc3RhbGwKKyAgICBmaQorCisgICAgaW5zdGFsbCAtZCAke0R9L2V0Yy90YXJnZXQvCisgICAgaW5zdGFsbCAtZCAke0R9L2V0Yy9pbml0LmQvCisgICAgaW5zdGFsbCAtbSA3NTUgJHtTfS9zY3JpcHRzL3JjLnRhcmdldCAke0R9L2V0Yy9pbml0LmQvCisgICAgaW5zdGFsbCAtbSA3NTUgJHtTfS9jb25mL3RjbV9zdGFydC5kZWZhdWx0ICR7RH0vZXRjL3RhcmdldC90Y21fc3RhcnQuc2gKKyAgICBpbnN0YWxsIC1tIDc1NSAke1N9L2NvbmYvbGlvX3N0YXJ0LmRlZmF1bHQgJHtEfS9ldGMvdGFyZ2V0L2xpb19zdGFydC5zaAorfQorCitSREVQRU5EU18ke1BOfSArPSAicHl0aG9uLXN0cmluZ29sZCBweXRob24tc3VicHJvY2VzcyBweXRob24tc2hlbGwgXAorICAgIHB5dGhvbi1kYXRldGltZSBweXRob24tdGV4dHV0aWxzIHB5dGhvbi1jcnlwdCBweXRob24tbmV0Y2xpZW50IHB5dGhvbi1lbWFpbCBcCisgICAgYmFzaCIKKworRklMRVNfJHtQTn0gKz0gIiR7c2JpbmRpcn0vKiAvZXRjL2luaXQuZC8qIC9ldGMvdGFyZ2V0LyoiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xtX3NlbnNvcnMvbG1zZW5zb3JzLWNvbmZpZy9mYW5jb250cm9sIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sbV9zZW5zb3JzL2xtc2Vuc29ycy1jb25maWcvZmFuY29udHJvbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZjAzYTJiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sbV9zZW5zb3JzL2xtc2Vuc29ycy1jb25maWcvZmFuY29udHJvbApAQCAtMCwwICsxLDIgQEAKKyMgZmFuY29udHJvbCBjb25maWd1cmF0aW9uIGZpbGUuCisjIFBsYWNlIHlvdXIgZGV2aWNlIHNwZWNpZmljIGNvbmZpZ3VyYXRpb24gaW4gdGhpcyBmaWxlLgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sbV9zZW5zb3JzL2xtc2Vuc29ycy1jb25maWcvc2Vuc29yZCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbG1fc2Vuc29ycy9sbXNlbnNvcnMtY29uZmlnL3NlbnNvcmQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTU4MzYyZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbG1fc2Vuc29ycy9sbXNlbnNvcnMtY29uZmlnL3NlbnNvcmQKQEAgLTAsMCArMSwxNiBAQAorIyBjb25maWd1cmF0aW9uIGZvciBoYXJkd2FyZSBzZW5zb3JzIG1vbml0b3JpbmcgZGFlbW9uCisjIGluIGludGVydmFscyB1c2Ugc3VmZml4ICJtIiBmb3IgbWludXRlcywgInMiIGZvciBzZWNvbmRzLCAiaCIgZm9yIGhvdXJzCisjIDAgbWVhbnMgdHVybmluZyBmYWNpbGl0eSBvZmYKKworIyBpbnRlcnZhbCBiZXR3ZWVuIHNjYW5uaW5nIGFsYXJtcworSU5URVJWQUw9MW0KKworIyBpbnRlcnZhbCBiZXR3ZWVuIGxvZ2dpbmcKK0xPR19JTlRFUlZBTD0yMG0KKworIyBpbnRlcnZhbCBiZXR3ZWVuIFJSRCBsb2dnaW5nCisjIFJSRF9JTlRFUlZBTD0xbQorCisjIFJSRCBkYiBsb2NhdGlvbgorIyBSUkRfTE9HRklMRT0vdmFyL2xvZy9zZW5zb3JzLnJyZAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xtX3NlbnNvcnMvbG1zZW5zb3JzLWNvbmZpZy9zZW5zb3JkLmNnaSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbG1fc2Vuc29ycy9sbXNlbnNvcnMtY29uZmlnL3NlbnNvcmQuY2dpCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIxYWFkMDUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xtX3NlbnNvcnMvbG1zZW5zb3JzLWNvbmZpZy9zZW5zb3JkLmNnaQpAQCAtMCwwICsxLDEwIEBACisjIS91c3IvYmluL3JyZGNnaQorCis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPnNlbnNvcmQ8L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+CitHZW5lcmF0ZSBhIHZhbGlkIHNlbnNvcmQuY2dpIHNjcmlwdCBhbmQgaW5zdGFsbCBpdCBpbiB5b3VyIEJTUC4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbG1fc2Vuc29ycy9sbXNlbnNvcnMtY29uZmlnL3NlbnNvcmQuY29uZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbG1fc2Vuc29ycy9sbXNlbnNvcnMtY29uZmlnL3NlbnNvcmQuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YjQ4Y2Y2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sbV9zZW5zb3JzL2xtc2Vuc29ycy1jb25maWcvc2Vuc29yZC5jb25mCkBAIC0wLDAgKzEsMTYgQEAKKyMgRGVmYXVsdCBzZW5zb3JkIGNvbmZpZ3VyYXRpb24gZmlsZQorIyBTeW50YXg6IHNlbnNvcmQge29wdGlvbnN9IHtjaGlwc30KKyMgLWksIC0taW50ZXJ2YWwgPHRpbWU+ICAgICAtLSBpbnRlcnZhbCBiZXR3ZWVuIHNjYW5uaW5nIGFsYXJtcyAoZGVmYXVsdCA2MHMpCisjIC1sLCAtLWxvZy1pbnRlcnZhbCA8dGltZT4gLS0gaW50ZXJ2YWwgYmV0d2VlbiBsb2dnaW5nIHNlbnNvcnMgKGRlZmF1bHQgMzBtKQorIyAtdCwgLS1ycmQtaW50ZXJ2YWwgPHRpbWU+IC0tIGludGVydmFsIGJldHdlZW4gdXBkYXRpbmcgUlJEIGZpbGUgKGRlZmF1bHQgNW0pCisjIC1ULCAtLXJyZC1uby1hdmVyYWdlICAgICAgLS0gc3dpdGNoIFJSRCBpbiBub24tYXZlcmFnZSBtb2RlCisjIC1yLCAtLXJyZC1maWxlIDxmaWxlPiAgICAgLS0gUlJEIGZpbGUgKGRlZmF1bHQgPG5vbmU+KQorIyAtYywgLS1jb25maWctZmlsZSA8ZmlsZT4gIC0tIGNvbmZpZ3VyYXRpb24gZmlsZQorIyAtcCwgLS1waWQtZmlsZSA8ZmlsZT4gICAgIC0tIFBJRCBmaWxlIChkZWZhdWx0IC92YXIvcnVuL3NlbnNvcmQucGlkKQorIyAtZiwgLS1zeXNsb2ctZmFjaWxpdHkgPGY+IC0tIHN5c2xvZyBmYWNpbGl0eSB0byB1c2UgKGRlZmF1bHQgbG9jYWw0KQorIyAtZywgLS1ycmQtY2dpIDxpbWctZGlyPiAgIC0tIG91dHB1dCBhbiBSUkQgQ0dJIHNjcmlwdCBhbmQgZXhpdAorIyAtYSwgLS1sb2FkLWF2ZXJhZ2UgICAgICAgIC0tIGluY2x1ZGUgbG9hZCBhdmVyYWdlIGluIFJSRCBmaWxlCisjIC1kLCAtLWRlYnVnICAgICAgICAgICAgICAgLS0gZGlzcGxheSBzb21lIGRlYnVnIGluZm9ybWF0aW9uCisjIC12LCAtLXZlcnNpb24gICAgICAgICAgICAgLS0gZGlzcGxheSB2ZXJzaW9uIGFuZCBleGl0CisjIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgLS0gZGlzcGxheSBoZWxwIGFuZCBleGl0CitTRU5TT1JEX0FSR1M9Ii1pNjBzIC1sMzBtIC10MW0gLXIvdmFyL2xpYi9zZW5zb3JkLnJyZCAtYSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbG1fc2Vuc29ycy9sbXNlbnNvcnMtY29uZmlnL3NlbnNvcnMuY29uZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbG1fc2Vuc29ycy9sbXNlbnNvcnMtY29uZmlnL3NlbnNvcnMuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYjhjOTNkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sbV9zZW5zb3JzL2xtc2Vuc29ycy1jb25maWcvc2Vuc29ycy5jb25mCkBAIC0wLDAgKzEsMiBAQAorIyBzZW5zb3JzIGNvbmZpZ3VyYXRpb24gZmlsZS4KKyMgUGxhY2UgeW91ciBkZXZpY2Ugc3BlY2lmaWMgY29uZmlndXJhdGlvbiBpbiB0aGlzIGZpbGUuCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xtX3NlbnNvcnMvbG1zZW5zb3JzLWNvbmZpZ18xLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xtX3NlbnNvcnMvbG1zZW5zb3JzLWNvbmZpZ18xLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzYzODAxOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbG1fc2Vuc29ycy9sbXNlbnNvcnMtY29uZmlnXzEuMC5iYgpAQCAtMCwwICsxLDYzIEBACitTVU1NQVJZID0gImxtX3NlbnNvcnMgY29uZmlndXJhdGlvbiBmaWxlcyIKK0RFU0NSSVBUSU9OID0gIkhhcmR3YXJlIGhlYWx0aCBtb25pdG9yaW5nIGNvbmZpZ3VyYXRpb24gZmlsZXMiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmxtLXNlbnNvcnMub3JnLyIKK0xJQ0VOU0UgPSAiTUlULVgiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke0NPUkVCQVNFfS9tZXRhL0NPUFlJTkcuTUlUO21kNT0zZGE5Y2ZiY2I3ODhjODBhMDM4NDM2MWI0ZGUyMDQyMCIKKworUEFDS0FHRV9BUkNIID0gIiR7TUFDSElORV9BUkNIfSIKKworU1JDX1VSSSA9ICJmaWxlOi8vZmFuY29udHJvbCBcCisgICAgICAgICAgIGZpbGU6Ly9zZW5zb3JkLmNnaSBcCisgICAgICAgICAgIGZpbGU6Ly9zZW5zb3JkLmNvbmYgXAorICAgICAgICAgICBmaWxlOi8vc2Vuc29ycy5jb25mIFwKKyAgICAgICAgICAgZmlsZTovL3NlbnNvcmQgXAorIgorUyA9ICIke1dPUktESVJ9IgorCitSREVQRU5EU18ke1BOfS1kZXYgPSAiIgorCitkb19pbnN0YWxsKCkgeworICAgICMgSW5zdGFsbCBmYW5jb250cm9sIGNvbmZpZ3VyYXRpb24gZmlsZQorICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vc3lzY29uZmlnCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vZmFuY29udHJvbCAke0R9JHtzeXNjb25mZGlyfQorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3NlbnNvcmQgJHtEfSR7c3lzY29uZmRpcn0vc3lzY29uZmlnCisgICAgIyBJbnN0YWxsIGxpYnNlbnNvcnMgY29uZmlndXJhdGlvbiBmaWxlCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9zZW5zb3JzLmQKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9zZW5zb3JzLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vc2Vuc29ycy5kCisKKyAgICAjIEluc3RhbGwgc2Vuc29yZCBjb25maWd1cmF0aW9uIGZpbGUKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9zZW5zb3JkLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0KKworICAgICMgSW5zdGFsbCBzZW5zb3JkLmNnaSBzY3JpcHQgYW5kIGNyZWF0ZSB3b3JsZC13cml0YWJsZQorICAgICMgd2ViLWFjY2Vzc2libGUgc2Vuc29yZCBkaXJlY3RvcnkKKyAgICBpbnN0YWxsIC1kICR7RH0vd3d3L3BhZ2VzL2NnaS1iaW4KKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9zZW5zb3JkLmNnaSAke0R9L3d3dy9wYWdlcy9jZ2ktYmluCisgICAgaW5zdGFsbCAtZCAtbSBhPXJ3eHMgJHtEfS93d3cvcGFnZXMvc2Vuc29yZAorfQorCisjIGxpYnNlbnNvcnMgY29uZmlndXJhdGlvbgorUEFDS0FHRVMgPSsgIiR7UE59LWxpYnNlbnNvcnMiCisKKyMgc2Vuc29yZCBsb2dnaW5nIGRhZW1vbiBjb25maWd1cmF0aW9uCitQQUNLQUdFUyA9KyAiJHtQTn0tc2Vuc29yZCIKKworIyBmYW5jb250cm9sIHNjcmlwdCBjb25maWd1cmF0aW9uCitQQUNLQUdFUyA9KyAiJHtQTn0tZmFuY29udHJvbCIKKworIyBzZW5zb3JkIHdlYiBjZ2kgc3VwcG9ydAorUEFDS0FHRVMgPSsgIiR7UE59LWNnaSIKK1JSRUNPTU1FTkRTXyR7UE59LWNnaSA9ICJsaWdodHRwZCBsaWdodHRwZC1tb2R1bGUtY2dpIgorUkRFUEVORFNfJHtQTn0tY2dpID0gIiR7UE59LXNlbnNvcmQgcnJkdG9vbCIKK0ZJTEVTXyR7UE59LWNnaSA9ICIvd3d3LyoiIAorCisjIGxpYnNlbnNvcnMgY29uZmlndXJhdGlvbiBmaWxlCitGSUxFU18ke1BOfS1saWJzZW5zb3JzID0gIiR7c3lzY29uZmRpcn0vc2Vuc29ycy5kL3NlbnNvcnMuY29uZiIKKworIyBzZW5zb3JkIGxvZ2dpbmcgZGFlbW9uIGNvbmZpZ3VyYXRpb24gZmlsZXMKK0ZJTEVTXyR7UE59LXNlbnNvcmQgPSAiXAorICAgICR7c3lzY29uZmRpcn0vc2Vuc29yZC5jb25mIFwKKyAgICAke3N5c2NvbmZkaXJ9L3N5c2NvbmZpZy9zZW5zb3JkIFwKKyIKKworIyBmYW5jb250cm9sIHNjcmlwdCBjb25maWd1cmF0aW9uIGZpbGUKK0ZJTEVTXyR7UE59LWZhbmNvbnRyb2wgPSAiJHtzeXNjb25mZGlyfS9mYW5jb250cm9sIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sbV9zZW5zb3JzL2xtc2Vuc29ycy9mYW5jb250cm9sLmluaXQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xtX3NlbnNvcnMvbG1zZW5zb3JzL2ZhbmNvbnRyb2wuaW5pdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NDMzMDIwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sbV9zZW5zb3JzL2xtc2Vuc29ycy9mYW5jb250cm9sLmluaXQKQEAgLTAsMCArMSw0NyBAQAorIyEvYmluL3NoCisjIyMgQkVHSU4gSU5JVCBJTkZPCisjIFByb3ZpZGVzOiAgICAgICAgICBmYW5jb250cm9sCisjIFJlcXVpcmVkLVN0YXJ0OiAgICAkbG9jYWxfZnMKKyMgU2hvdWxkLVN0YXJ0OgorIyBSZXF1aXJlZC1TdG9wOiAgICAgJGxvY2FsX2ZzCisjIFNob3VsZC1TdG9wOgorIyBEZWZhdWx0LVN0YXJ0OiAgICAgMiAzIDQgNQorIyBEZWZhdWx0LVN0b3A6ICAgICAgMCAxIDYKKyMgU2hvcnQtRGVzY3JpcHRpb246IGZhbmNvbnRyb2wgaW5pdHNjcmlwdAorIyBEZXNjcmlwdGlvbjogICAgICAgU3RhcnRzIGFuZCBjb250cm9scyB0aGUgZmFuY29udHJvbCBkYWVtb24KKyMjIyBFTkQgSU5JVCBJTkZPCisKK1BBVEg9L3NiaW46L3Vzci9zYmluOi9iaW46L3Vzci9iaW4KKworREVTQz0iZmFuIGNvbnRyb2wgZGFlbW9uIgorTkFNRT0iZmFuY29udHJvbCIKK0ZBTkNPTlRST0w9YHdoaWNoICROQU1FYAorUElERklMRT0iL3Zhci9ydW4vZmFuY29udHJvbC5waWQiCisKKyMgRXhpdCBpZiB0aGUgcGFja2FnZSBpcyBub3QgaW5zdGFsbGVkCitbIC14ICIkRkFOQ09OVFJPTCIgXSB8fCBleGl0IDAKKworY2FzZSAiJDEiIGluCisgICAgc3RhcnQpCisgICAgICAgIGVjaG8gLW4gIlN0YXJ0aW5nICRERVNDOiAkTkFNRS4uLiAiCisgICAgICAgIHN0YXJ0LXN0b3AtZGFlbW9uIC1TIC1wICRQSURGSUxFIC1iIC14ICRGQU5DT05UUk9MCisgICAgICAgIGVjaG8gImRvbmUuIgorICAgICAgICA7OworICAgIHN0b3ApCisgICAgICAgIGVjaG8gLW4gIlN0b3BwaW5nICRERVNDOiAkTkFNRS4uLiAiCisgICAgICAgIHN0YXJ0LXN0b3AtZGFlbW9uIC1LIC1wICRQSURGSUxFCisgICAgICAgIGVjaG8gImRvbmUuIgorICAgICAgICA7OworICAgIHJlc3RhcnQpCisgICAgICAgIGVjaG8gIlJlc3RhcnRpbmcgJERFU0M6ICROQU1FLi4uICIKKyAgICAgICAgJDAgc3RvcAorICAgICAgICAkMCBzdGFydAorICAgICAgICBlY2hvICJkb25lLiIKKyAgICAgICAgOzsKKyAgICAqKQorICAgICAgICBlY2hvICJVc2FnZTogJDAge3N0YXJ0fHN0b3B8cmVzdGFydH0iCisgICAgICAgIGV4aXQgMQorICAgICAgICA7OworZXNhYworCitleGl0IDAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbG1fc2Vuc29ycy9sbXNlbnNvcnMvc2Vuc29yZC5pbml0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sbV9zZW5zb3JzL2xtc2Vuc29ycy9zZW5zb3JkLmluaXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWEwOWNkMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbG1fc2Vuc29ycy9sbXNlbnNvcnMvc2Vuc29yZC5pbml0CkBAIC0wLDAgKzEsNDkgQEAKKyMhIC9iaW4vc2gKKyMjIyBCRUdJTiBJTklUIElORk8KKyMgUHJvdmlkZXM6ICAgICAgICAgIHNlbnNvcmQKKyMgUmVxdWlyZWQtU3RhcnQ6ICAgICRsb2NhbF9mcworIyBTaG91bGQtU3RhcnQ6CisjIFJlcXVpcmVkLVN0b3A6ICAgICAkbG9jYWxfZnMKKyMgU2hvdWxkLVN0b3A6CisjIERlZmF1bHQtU3RhcnQ6ICAgICAyIDMgNCA1CisjIERlZmF1bHQtU3RvcDogICAgICAwIDEgNgorIyBTaG9ydC1EZXNjcmlwdGlvbjogc2Vuc29yZCBpbml0c2NyaXB0CisjIERlc2NyaXB0aW9uOiAgICAgICBTdGFydHMgdGhlIHNlbnNvcmQgbG9nZ2luZyBkYWVtb24KKyMjIyBFTkQgSU5JVCBJTkZPCisKK1BBVEg9L3NiaW46L3Vzci9zYmluOi9iaW46L3Vzci9iaW4KKworREVTQz0ic2Vuc29ycyBsb2dnaW5nIGRhZW1vbiIKK05BTUU9InNlbnNvcmQiCitTRU5TT1JEPWB3aGljaCAkTkFNRWAKKworLiAvZXRjL2luaXQuZC9mdW5jdGlvbnMgfHwgZXhpdCAxCisuIC9ldGMvc2Vuc29yZC5jb25mIHx8IGV4aXQgMQorCisjIEV4aXQgaWYgdGhlIHBhY2thZ2UgaXMgbm90IGluc3RhbGxlZAorWyAteCAiJFNFTlNPUkQiIF0gfHwgZXhpdCAwCisKK2Nhc2UgIiQxIiBpbgorICAgIHN0YXJ0KQorICAgICAgICBlY2hvIC1uICJTdGFydGluZyAkREVTQzogJE5BTUUuLi4gIgorICAgICAgICBzdGFydC1zdG9wLWRhZW1vbiAtUyAteCAkU0VOU09SRCAtLSAkU0VOU09SRF9BUkdTCisgICAgICAgIGVjaG8gImRvbmUuIgorICAgICAgICA7OworICAgIHN0b3ApCisgICAgICAgIGVjaG8gLW4gIlN0b3BwaW5nICRERVNDOiAkTkFNRS4uLiAiCisgICAgICAgIHN0YXJ0LXN0b3AtZGFlbW9uIC1LIC14ICRTRU5TT1JECisgICAgICAgIGVjaG8gImRvbmUuIgorICAgICAgICA7OworICAgIHJlc3RhcnQpCisgICAgICAgIGVjaG8gIlJlc3RhcnRpbmcgJERFU0M6ICROQU1FLi4uICIKKyAgICAgICAgJDAgc3RvcAorICAgICAgICAkMCBzdGFydAorICAgICAgICBlY2hvICJkb25lLiIKKyAgICAgICAgOzsKKyAgICAqKQorICAgICAgICBlY2hvICJVc2FnZTogJDAge3N0YXJ0fHN0b3B8cmVzdGFydH0iCisgICAgICAgIGV4aXQgMQorICAgICAgICA7OworZXNhYworCitleGl0IDAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbG1fc2Vuc29ycy9sbXNlbnNvcnNfMy40LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xtX3NlbnNvcnMvbG1zZW5zb3JzXzMuNC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg1N2E1N2IKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xtX3NlbnNvcnMvbG1zZW5zb3JzXzMuNC4wLmJiCkBAIC0wLDAgKzEsMTMzIEBACitTVU1NQVJZID0gImxtX3NlbnNvcnMiCitERVNDUklQVElPTiA9ICJIYXJkd2FyZSBoZWFsdGggbW9uaXRvcmluZyBhcHBsaWNhdGlvbnMiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmxtLXNlbnNvcnMub3JnLyIKK0xJQ0VOU0UgPSAiR1BMdjIrICYgTEdQTHYyLjErIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MR1BMO21kNT00ZmJkNjUzODBjZGQyNTU5NTEwNzkwMDhiMzY0NTE2YyIKKworREVQRU5EUyA9ICJzeXNmc3V0aWxzIHZpcnR1YWwvbGliaWNvbnYgYmlzb24tbmF0aXZlIGZsZXgtbmF0aXZlIHJyZHRvb2wiCisKK1NSQ19VUkkgPSAiaHR0cDovL2RsLmxtLXNlbnNvcnMub3JnL2xtLXNlbnNvcnMvcmVsZWFzZXMvbG1fc2Vuc29ycy0ke1BWfS50YXIuYnoyIFwKKyAgICAgICAgICAgZmlsZTovL2ZhbmNvbnRyb2wuaW5pdCBcCisgICAgICAgICAgIGZpbGU6Ly9zZW5zb3JkLmluaXQgXAorIgorU1JDX1VSSVttZDVzdW1dID0gImMwMzY3NWFlOWQ0M2Q2MDMyMjExMGM2Nzk0MTY5MDFhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImUwNTc5MDE2MDgxYTI2MmRkMjNlYWZlMWQyMmI0MWViZGU3ODkyMWU3M2ExZGNlZjcxZTA1ZTQyNDM0MDA2MWYiCisKK2luaGVyaXQgdXBkYXRlLXJjLmQgc3lzdGVtZAorCitSREVQRU5EU18ke1BOfS1kZXYgPSAiIgorCitJTklUU0NSSVBUX1BBQ0tBR0VTID0gIiR7UE59LWZhbmNvbnRyb2wgJHtQTn0tc2Vuc29yZCIKK0lOSVRTQ1JJUFRfTkFNRV8ke1BOfS1mYW5jb250cm9sID0gImZhbmNvbnRyb2wiCitJTklUU0NSSVBUX05BTUVfJHtQTn0tc2Vuc29yZCA9ICJzZW5zb3JkIgorSU5JVFNDUklQVF9QQVJBTVNfJHtQTn0tZmFuY29udHJvbCA9ICJkZWZhdWx0cyA2NiIKK0lOSVRTQ1JJUFRfUEFSQU1TXyR7UE59LXNlbnNvcmQgPSAiZGVmYXVsdHMgNjciCisKK1NZU1RFTURfUEFDS0FHRVMgPSAiJHtQTn0tc2Vuc29yZCIKK1NZU1RFTURfU0VSVklDRV8ke1BOfS1zZW5zb3JkID0gInNlbnNvcmQuc2VydmljZSBsbV9zZW5zb3JzLnNlcnZpY2UgZmFuY29udHJvbC5zZXJ2aWNlIgorU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgorCitTID0gIiR7V09SS0RJUn0vbG1fc2Vuc29ycy0ke1BWfSIKKworRVhUUkFfT0VNQUtFID0gJ0VYTERGTEFHUz0iJHtMREZMQUdTfSIgXAorICAgICAgICBNQUNISU5FPSR7VEFSR0VUX0FSQ0h9IFBSRUZJWD0ke3ByZWZpeH0gTUFORElSPSR7bWFuZGlyfSBcCisgICAgICAgIExJQkRJUj0ke2xpYmRpcn0gXAorICAgICAgICBDQz0iJHtDQ30iIEFSPSIke0FSfSInCisKK2RvX2NvbXBpbGUoKSB7CisgICAgb2VfcnVubWFrZSB1c2VyIFBST0dfRVhUUkE9InNlbnNvcnMgc2Vuc29yZCIKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBvZV9ydW5tYWtlIHVzZXJfaW5zdGFsbCBERVNURElSPSR7RH0KKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtTfS9wcm9nL3NlbnNvcmQvc2Vuc29yZCAke0R9JHtzYmluZGlyfQorICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L3Byb2cvc2Vuc29yZC9zZW5zb3JkLjggJHtEfSR7bWFuZGlyfS9tYW44CisKKyAgICAjIEluc3RhbGwgZGlyZWN0b3J5CisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKKworICAgICMgSW5zdGFsbCBmYW5jb250cm9sIGluaXQgc2NyaXB0CisgICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vZmFuY29udHJvbC5pbml0IFwKKyAgICAgICAgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL2ZhbmNvbnRyb2wKKworICAgICMgSW5zdGFsbCBzZW5zb3JkIGluaXQgc2NyaXB0CisgICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vc2Vuc29yZC5pbml0ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9zZW5zb3JkCisKKyAgICAjIEluc2FsbCBzZW5zb3JkIHNlcnZpY2Ugc2NyaXB0CisgICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ3N5c3RlbWQnLCd0cnVlJywnZmFsc2UnLGQpfTsgdGhlbgorICAgICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L3Byb2cvaW5pdC8qLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICBmaQorfQorCisjIGxpYnNlbnNvcnMgcGFja2FnZXMKK1BBQ0tBR0VTID0rICIke1BOfS1saWJzZW5zb3JzICR7UE59LWxpYnNlbnNvcnMtZGJnICR7UE59LWxpYnNlbnNvcnMtZGV2ICR7UE59LWxpYnNlbnNvcnMtc3RhdGljZGV2ICR7UE59LWxpYnNlbnNvcnMtZG9jIgorCisjIHNlbnNvcnMgY29tbWFuZCBwYWNrYWdlcworUEFDS0FHRVMgPSsgIiR7UE59LXNlbnNvcnMgJHtQTn0tc2Vuc29ycy1kYmcgJHtQTn0tc2Vuc29ycy1kb2MiCisKKyMgc2Vuc29yZCBsb2dnaW5nIGRhZW1vbgorUEFDS0FHRVMgPSsgIiR7UE59LXNlbnNvcmQgJHtQTn0tc2Vuc29yZC1kYmcgJHtQTn0tc2Vuc29yZC1kb2MiCisKKyMgZmFuY29udHJvbCBzY3JpcHQKK1BBQ0tBR0VTID0rICIke1BOfS1mYW5jb250cm9sICR7UE59LWZhbmNvbnRyb2wtZG9jIgorCisjIHNlbnNvcnMtZGV0ZWN0IHNjcmlwdAorUEFDS0FHRVMgPSsgIiR7UE59LXNlbnNvcnNkZXRlY3QgJHtQTn0tc2Vuc29yc2RldGVjdC1kb2MiCisKKyMgc2Vuc29ycy1jb25mLWNvbnZlcnQgc2NyaXB0CitQQUNLQUdFUyA9KyAiJHtQTn0tc2Vuc29yc2NvbmZjb252ZXJ0ICR7UE59LXNlbnNvcnNjb25mY29udmVydC1kb2MiCisKKyMgcHdtY29uZmlnIHNjcmlwdAorUEFDS0FHRVMgPSsgIiR7UE59LXB3bWNvbmZpZyAke1BOfS1wd21jb25maWctZG9jIgorCisjIGlzYWR1bXAgYW5kIGlzYXNldCBoZWxwZXIgcHJvZ3JhbQorUEFDS0FHRVMgPSsgIiR7UE59LWlzYXRvb2xzICR7UE59LWlzYXRvb2xzLWRiZyAke1BOfS1pc2F0b29scy1kb2MiCisKKyMgbGlic2Vuc29ycyBmaWxlcworRklMRVNfJHtQTn0tbGlic2Vuc29ycyA9ICIke2xpYmRpcn0vbGlic2Vuc29ycy5zby4qICR7c3lzY29uZmRpcn0vc2Vuc29yczMuY29uZiAke3N5c2NvbmZkaXJ9L3NlbnNvcnMuZCIKK0ZJTEVTXyR7UE59LWxpYnNlbnNvcnMtZGJnID0gIiR7bGliZGlyfS8uZGVidWcgJHtwcmVmaXh9L3NyYy9kZWJ1ZyIKK0ZJTEVTXyR7UE59LWxpYnNlbnNvcnMtZGV2ID0gIiR7bGliZGlyfS9saWJzZW5zb3JzLnNvICR7aW5jbHVkZWRpcn0iCitGSUxFU18ke1BOfS1saWJzZW5zb3JzLXN0YXRpY2RldiA9ICIke2xpYmRpcn0vbGlic2Vuc29ycy5hIgorRklMRVNfJHtQTn0tbGlic2Vuc29ycy1kb2MgPSAiJHttYW5kaXJ9L21hbjMiCitSUkVDT01NRU5EU18ke1BOfS1saWJzZW5zb3JzID0gImxtc2Vuc29ycy1jb25maWctbGlic2Vuc29ycyIKKworIyBzZW5zb3JzIGNvbW1hbmQgZmlsZXMKK0ZJTEVTXyR7UE59LXNlbnNvcnMgPSAiJHtiaW5kaXJ9L3NlbnNvcnMiCitGSUxFU18ke1BOfS1zZW5zb3JzLWRiZyA9ICIke2JpbmRpcn0vLmRlYnVnL3NlbnNvcnMiCitGSUxFU18ke1BOfS1zZW5zb3JzLWRvYyA9ICIke21hbmRpcn0vbWFuMSAke21hbmRpcn0vbWFuNSIKK1JERVBFTkRTXyR7UE59LXNlbnNvcnMgPSAiJHtQTn0tbGlic2Vuc29ycyIKKworIyBzZW5zb3JkIGxvZ2dpbmcgZGFlbW9uCitGSUxFU18ke1BOfS1zZW5zb3JkID0gIiR7c2JpbmRpcn0vc2Vuc29yZCAke3N5c2NvbmZkaXJ9L2luaXQuZC9zZW5zb3JkICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vc2Vuc29yZC5zZXJ2aWNlIgorRklMRVNfJHtQTn0tc2Vuc29yZC1kYmcgPSAiJHtiaW5kaXJ9Ly5kZWJ1Zy9zZW5zb3JkIgorRklMRVNfJHtQTn0tc2Vuc29yZC1kb2MgPSAiJHttYW5kaXJ9L21hbjgvc2Vuc29yZC44IgorUkRFUEVORFNfJHtQTn0tc2Vuc29yZCA9ICIke1BOfS1zZW5zb3JzIHJyZHRvb2wiCitSUkVDT01NRU5EU18ke1BOfS1zZW5zb3JkID0gImxtc2Vuc29ycy1jb25maWctc2Vuc29yZCIKKworIyBmYW5jb250cm9sIHNjcmlwdCBmaWxlcworRklMRVNfJHtQTn0tZmFuY29udHJvbCA9ICIke3NiaW5kaXJ9L2ZhbmNvbnRyb2wgJHtzeXNjb25mZGlyfS9pbml0LmQvZmFuY29udHJvbCIKK0ZJTEVTXyR7UE59LWZhbmNvbnRyb2wtZG9jID0gIiR7bWFuZGlyfS9tYW44L2ZhbmNvbnRyb2wuOCIKK1JERVBFTkRTXyR7UE59LWZhbmNvbnRyb2wgPSAiYmFzaCIKK1JSRUNPTU1FTkRTXyR7UE59LWZhbmNvbnRyb2wgPSAibG1zZW5zb3JzLWNvbmZpZy1mYW5jb250cm9sIgorCisjIHNlbnNvcnMtZGV0ZWN0IHNjcmlwdCBmaWxlcworRklMRVNfJHtQTn0tc2Vuc29yc2RldGVjdCA9ICIke3NiaW5kaXJ9L3NlbnNvcnMtZGV0ZWN0IgorRklMRVNfJHtQTn0tc2Vuc29yc2RldGVjdC1kb2MgPSAiJHttYW5kaXJ9L21hbjgvc2Vuc29ycy1kZXRlY3QuOCIKK1JERVBFTkRTXyR7UE59LXNlbnNvcnNkZXRlY3QgPSAiJHtQTn0tc2Vuc29ycyBwZXJsIHBlcmwtbW9kdWxlcyIKKworIyBzZW5zb3JzLWNvbmYtY29udmVydCBzY3JpcHQgZmlsZXMKK0ZJTEVTXyR7UE59LXNlbnNvcnNjb25mY29udmVydCA9ICIke2JpbmRpcn0vc2Vuc29ycy1jb25mLWNvbnZlcnQiCitGSUxFU18ke1BOfS1zZW5zb3JzY29uZmNvbnZlcnQtZG9jID0gIiR7bWFuZGlyfS9tYW44L3NlbnNvcnMtY29uZi1jb252ZXJ0LjgiCitSREVQRU5EU18ke1BOfS1zZW5zb3JzY29uZmNvbnZlcnQgPSAiJHtQTn0tc2Vuc29ycyBwZXJsIHBlcmwtbW9kdWxlcyIKKworIyBwd21jb25maWcgc2NyaXB0IGZpbGVzCitGSUxFU18ke1BOfS1wd21jb25maWcgPSAiJHtzYmluZGlyfS9wd21jb25maWciCitGSUxFU18ke1BOfS1wd21jb25maWctZG9jID0gIiR7bWFuZGlyfS9tYW44L3B3bWNvbmZpZy44IgorUkRFUEVORFNfJHtQTn0tcHdtY29uZmlnID0gIiR7UE59LWZhbmNvbnRyb2wiCisKKyMgaXNhZHVtcCBhbmQgaXNhc2V0IGhlbHBlciBwcm9ncmFtIGZpbGVzCitGSUxFU18ke1BOfS1pc2F0b29scyA9ICIke3NiaW5kaXJ9L2lzYSoiCitGSUxFU18ke1BOfS1pc2F0b29scy1kYmcgPSAiJHtzYmluZGlyfS8uZGVidWcvaXNhKiIKK0ZJTEVTXyR7UE59LWlzYXRvb2xzLWRvYyA9ICIke21hbmRpcn0vbWFuOC9pc2EqIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sb2NrZGV2L2xvY2tkZXZfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sb2NrZGV2L2xvY2tkZXZfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAyM2I5YTcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xvY2tkZXYvbG9ja2Rldl9naXQuYmIKQEAgLTAsMCArMSwyMCBAQAorU1VNTUFSWSA9ICJMb2NraW5nIGRldmljZXMgbGlicmFyeSIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNPSJmaWxlOi8vQ09QWUlORzttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMiCisKK1BWID0gIjEuMC4zK2dpdCR7U1JDUFZ9IgorCitTUkNSRVYgPSAiMTZiODk5NjQ1ZDMyMDEyY2M5NGNjOTIzMmY2NGQ0ZGRhYWYwYjc5NSIKK1NSQ19VUkkgPSAiZ2l0Oi8vYW5vbnNjbS5kZWJpYW4ub3JnL2xvY2tkZXYvbG9ja2Rldi5naXQiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgbGliX3BhY2thZ2UgYXV0b3Rvb2xzLWJyb2tlbnNlcAorCitkb19jb25maWd1cmVfcHJlcGVuZCAoKSB7CisgICAgLi9zY3JpcHRzL2dpdC12ZXJzaW9uID4gVkVSU0lPTgorCisgICAgIyBNYWtlIGF1dG9tYWtlIGhhcHB5CisgICAgdG91Y2ggQ2hhbmdlTG9nCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xvZzRjL2xvZzRjL2ZpeF9jb25maWd1cmVfd2l0aC1leHBhdC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbG9nNGMvbG9nNGMvZml4X2NvbmZpZ3VyZV93aXRoLWV4cGF0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ4NzJlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xvZzRjL2xvZzRjL2ZpeF9jb25maWd1cmVfd2l0aC1leHBhdC5wYXRjaApAQCAtMCwwICsxLDIxIEBACitUaGUgb3JpZ2luYWwgdXNlIG9mIEFDX0FSR19XSVRIIGlzIGJ1Z2d5IGFuZCBjYXVzZXMgZXhwYXQgc3VwcG9ydAordG8gYmUgKmRpc2FibGVkKiBpZiAiLS13aXRoLWV4cGF0IiBpcyBwYXNzZWQgdG8gY29uZmlndXJlLgorCitVcHN0cmVhbSBzdGF0dXM6IHBlbmRpbmcKKworSW5kZXg6IGxvZzRjLTEuMi40L2NvbmZpZ3VyZS5pbgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGxvZzRjLTEuMi40Lm9yaWcvY29uZmlndXJlLmluCisrKysgbG9nNGMtMS4yLjQvY29uZmlndXJlLmluCitAQCAtMjE3LDkgKzIxNyw5IEBAIEFDX0FSR19XSVRIKGV4cGF0LAorICAgICAgICAgICAgICAgICAgICAgaGF2ZSBhbnkgZWZmZWN0IGFuZCBMb2c0QyB1c2VzIHNvbWUgYnVuZGxlZCB5YWNjL2xleCBjb2RlCisgICAgICAgICAgICAgICAgICAgICBmb3IgcGFyc2luZyBpdCdzIGNvbmZpZ3VyYXRpb24gZmlsZS4KKyAgICAgICAgICAgICAgICAgICAgIF0pLAorLSAgICAgICAgICAgICAgICAgICAgd2l0aF9leHBhdD1ubywKKysgICAgICAgICAgICAgICAgICAgIFtdLAorICAgICAgICAgICAgICAgICAgICAgd2l0aF9leHBhdD15ZXMpCistaWYgdGVzdCB4JHdpdGhfZXhwYXQgPSB4eWVzIDsgdGhlbgorK2lmIHRlc3QgeCR3aXRoX2V4cGF0ICE9IHhubyA7IHRoZW4KKyAgdXNlX2V4cGF0PXllcworICBBTV9QQVRIX0VYUEFUKDEuOTUuMSkKKyBmaQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sb2c0Yy9sb2c0Y18xLjIuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbG9nNGMvbG9nNGNfMS4yLjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzI4NmIwOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbG9nNGMvbG9nNGNfMS4yLjQuYmIKQEAgLTAsMCArMSwxNyBAQAorU1VNTUFSWSA9ICJMb2c0YyBpcyBhIEMgbGlicmFyeSBmb3IgZmxleGlibGUgbG9nZ2luZyB0byBmaWxlcywgc3lzbG9nIGFuZCBvdGhlciBkZXN0aW5hdGlvbnMiCitIT01FUEFHRSA9ICJodHRwOi8vbG9nNGMuc291cmNlZm9yZ2UubmV0IgorTElDRU5TRSA9ICJMR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT00ZmJkNjUzODBjZGQyNTU5NTEwNzkwMDhiMzY0NTE2YyIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vJHtCUE59LyR7QlB9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9maXhfY29uZmlndXJlX3dpdGgtZXhwYXQucGF0Y2giCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwZDk0OTE5MTM2ZTFkMTZiNjg0Mjc1NjJlNzRjYjNkZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1OTkxMDIwMTkyZjUyY2M0MGZhODUyZmJmNmJiZjViZDVkYjVkNWQwMGFhOTkwNWM2N2Y2ZjBlYWRlZWQ0OGVhIgorCitQQUNLQUdFQ09ORklHID8/PSAiZXhwYXQiCitQQUNLQUdFQ09ORklHW2V4cGF0XSA9ICItLXdpdGgtZXhwYXQsLS13aXRob3V0LWV4cGF0LGV4cGF0IgorCitCSU5DT05GSUcgPSAiJHtiaW5kaXJ9L2xvZzRjLWNvbmZpZyIKKworaW5oZXJpdCBhdXRvdG9vbHMgYmluY29uZmlnLWRpc2FibGVkCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xvZzRjcHAvZmlsZXMvZml4LXBjLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sb2c0Y3BwL2ZpbGVzL2ZpeC1wYy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iOGZiNDJlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sb2c0Y3BwL2ZpbGVzL2ZpeC1wYy5wYXRjaApAQCAtMCwwICsxLDIwIEBACitkaWZmIC1OdXJkIC4vbG9nNGNwcC5vcmlnL2NvbmZpZ3VyZS5pbiAuL2xvZzRjcHAvY29uZmlndXJlLmluCistLS0gLi9sb2c0Y3BwLm9yaWcvY29uZmlndXJlLmluCTIwMDktMDktMDcgMTY6NTc6NDYuMDAwMDAwMDAwIC0wNDAwCisrKysgLi9sb2c0Y3BwL2NvbmZpZ3VyZS5pbgkyMDE2LTAyLTIzIDEyOjU3OjExLjU2NzI0MDAxOCAtMDUwMAorQEAgLTEzMCw3ICsxMzAsNiBAQAorICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIAorIEFDX0NPTkZJR19MSUJDT05GSUdfSU4oW2xvZzRjcHBdKQorLUFDX0NPTkZJR19QS0dDT05GSUdfSU4oW2xvZzRjcHBdLCBbQysrIGxpYnJhcnkgZm9yIGZsZXhpYmxlIGxvZ2dpbmcsIG1vZGVsZWQgYWZ0ZXIgTG9nNGpdKQorIAorIEFDX0NPTkZJR19GSUxFUyhbCisgTWFrZWZpbGUKK2RpZmYgLU51cmQgLi9sb2c0Y3BwLm9yaWcvbG9nNGNwcC5wYy5pbiAuL2xvZzRjcHAvbG9nNGNwcC5wYy5pbgorLS0tIC4vbG9nNGNwcC5vcmlnL2xvZzRjcHAucGMuaW4JMjAwNC0wMS0yNyAwNToyNDoyNS4wMDAwMDAwMDAgLTA1MDAKKysrKyAuL2xvZzRjcHAvbG9nNGNwcC5wYy5pbgkyMDE2LTAyLTIyIDE1OjA2OjU1Ljc2OTMyNzQ5MSAtMDUwMAorQEAgLTcsNCArNyw0IEBACisgRGVzY3JpcHRpb246IEMrKyBsaWJyYXJ5IGZvciBmbGV4aWJsZSBsb2dnaW5nLCBtb2RlbGVkIGFmdGVyIExvZzRqCisgVmVyc2lvbjogQFZFUlNJT05ACisgTGliczogLUwke2xpYmRpcn0gQGxvZzRjcHBfbGlic0AKKy1DZmxhZ3M6IC1JJHtpbmNsdWRlZGlyfSBAbG9nNGNwcF9jZmxhZ3NACisrQ2ZsYWdzOiAtSSR7aW5jbHVkZWRpcn0KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbG9nNGNwcC9sb2c0Y3BwXzEuMS4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sb2c0Y3BwL2xvZzRjcHBfMS4xLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzdiZjI4OAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbG9nNGNwcC9sb2c0Y3BwXzEuMS4xLmJiCkBAIC0wLDAgKzEsMjMgQEAKK0RFU0NSSVBUSU9OID0gIkEgbGlicmFyeSBvZiBDKysgY2xhc3NlcyBmb3IgZmxleGlibGUgbG9nZ2luZyB0byBmaWxlcywgc3lzbG9nLCBJRFNBIGFuZCBvdGhlciBkZXN0aW5hdGlvbnMuIgorSE9NRVBBR0UgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9sb2c0Y3BwLyIKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03ZmJjMzM4MzA5YWMzOGZlZmNkNjRiMDRiYjkwM2UzNCIKKworU1JDX1VSSVttZDVzdW1dID0gIjFlMTczZGY4ZWU5NzIwNWY0MTJmZjg0YWE5M2I4ZmJlIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjM1YWJmMzMyNjMwYTY4MDljOTY5Mjc2YjFkNjBiOTBjODFhOTVkYWYyNGM4NmNmZDc4NjZmZmVmNzJmOWJlZDAiCisKK1NSQ19VUkkgPSAiaHR0cDovL2Rvd25sb2Fkcy5zb3VyY2Vmb3JnZS5uZXQvJHtCUE59LyR7QlB9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9maXgtcGMucGF0Y2g7c3RyaXBsZXZlbD0yIFwKKyAgICAgICAgICAiCisKK1MgPSAiJHtXT1JLRElSfS8ke0JQTn0iCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitFWFRSQV9PRUNPTkYgPSAiXAorICAgIC0tZW5hYmxlLWRveHlnZW49bm8gXAorICAgIC0tZW5hYmxlLWRvdD1ubyBcCisgICAgLS1lbmFibGUtaHRtbC1kb2NzPW5vIFwKKyAgICAtLWVuYWJsZS1sYXRleC1kb2NzPW5vIFwKKyAgICBMREZMQUdTPS1wdGhyZWFkIFwKKyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHZtMi9sdm0yLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHZtMi9sdm0yLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYTVlMWM0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2x2bTIuaW5jCkBAIC0wLDAgKzEsNjggQEAKK1NFQ1RJT04gPSAidXRpbHMiCitERVNDUklQVElPTiA9ICJMVk0yIGlzIGEgc2V0IG9mIHV0aWxpdGllcyB0byBtYW5hZ2UgbG9naWNhbCB2b2x1bWVzIGluIExpbnV4LiIKK0RFUEVORFMgPSAidWRldiIKK0xJQ0VOU0UgPSAiR1BMdjIgJiBMR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9ZmJjMDkzOTAxODU3ZmNkMTE4ZjA2NWY5MDA5ODJjMjQiCisKK1NSQ19VUkkgPSAiZnRwOi8vc291cmNlcy5yZWRoYXQuY29tL3B1Yi9sdm0yL29sZC9MVk0yLiR7UFZ9LnRneiBcCisgICAgICAgICAgIGZpbGU6Ly9sdm0uY29uZiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWltcGxlbWVudC1saWJjLXNwZWNpZmljLV9yZW9wZW5fc3RyZWFtLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDItdXNlLVBUSFJFQURfTVVURVhfUkVDVVJTSVZFLWluc3RlYWQtb2YtUFRIUkVBRF9NVVRFWC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAzLUd1YXJkLXVzZS1vZi1tYWxsaW5mby13aXRoLV9fR0xJQkNfXy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA0LWluY2x1ZGUtZmNudGwuaC1mb3ItT18tZGVmaW5lcy1hbmQtZmNudGwtc2lnbmF0dXJlLnBhdGNoIFwKKyAgICAgICAgICAgIgorCitTID0gIiR7V09SS0RJUn0vTFZNMi4ke1BWfSIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHBrZ2NvbmZpZyBzeXN0ZW1kCisKK1BBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3NlbGludXgnLCAnc2VsaW51eCcsICcnLCBkKX0iCisKK1BBQ0tBR0VDT05GSUdbcmVhZGxpbmVdID0gIi0tZW5hYmxlLXJlYWRsaW5lLC0tZGlzYWJsZS1yZWFkbGluZSxyZWFkbGluZSIKK1BBQ0tBR0VDT05GSUdbc2VsaW51eF0gPSAiLS1lbmFibGUtc2VsaW51eCwtLWRpc2FibGUtc2VsaW51eCxsaWJzZWxpbnV4IgorCisjIFVuc2V0IHVzZXIvZ3JvdXAgdG8gdW5icmVhayBpbnN0YWxsLgorRVhUUkFfT0VDT05GID0gIi0td2l0aC11c2VyPSBcCisgICAgICAgICAgICAgICAgLS13aXRoLWdyb3VwPSBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLW9fZGlyZWN0IFwKKyAgICAgICAgICAgICAgICAtLWVuYWJsZS1yZWFsdGltZSBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtYXBwbGliIFwKKyAgICAgICAgICAgICAgICAtLWVuYWJsZS1jbWRsaWIgXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLXVkZXZfc3luYyBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtdWRldl9ydWxlcyBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtcGtnY29uZmlnIFwKKyAgICAgICAgICAgICAgICAtLWVuYWJsZS1kbWV2ZW50ZCBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtbHZtZXRhZCBcCisgICAgICAgICAgICAgICAgLS13aXRoLXVkZXYtcHJlZml4PSBcCisgICAgICAgICAgICAgICAgLS13aXRoLXVzcmxpYmRpcj0ke2xpYmRpcn0gXAorICAgICAgICAgICAgICAgIC0td2l0aC1zeXN0ZW1kc3lzdGVtdW5pdGRpcj0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9IFwKKyIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgIyBJbnN0YWxsIG1hY2hpbmUgc3BlY2lmaWMgY29uZmlndXJhdGlvbiBmaWxlCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vbHZtLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vbHZtL2x2bS5jb25mCisgICAgc2VkIC1pIC1lICdzOkBsaWJkaXJAOiR7bGliZGlyfTpnJyAke0R9JHtzeXNjb25mZGlyfS9sdm0vbHZtLmNvbmYKKyAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywnc3lzdGVtZCcsJ3RydWUnLCdmYWxzZScsZCl9OyB0aGVuCisgICAgICAgIG9lX3J1bm1ha2UgJ0RFU1RESVI9JHtEfScgaW5zdGFsbCBpbnN0YWxsX3N5c3RlbWRfdW5pdHMKKyAgICAgICAgc2VkIC1pIC1lICdzOi91c3IvYmluL3RydWU6JHtiYXNlX2JpbmRpcn0vdHJ1ZTpnJyAke0R9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9ibGstYXZhaWxhYmlsaXR5LnNlcnZpY2UKKyAgICBlbHNlCisgICAgICAgIG9lX3J1bm1ha2UgJ0RFU1RESVI9JHtEfScgaW5zdGFsbCBpbnN0YWxsX2luaXRzY3JpcHRzCisgICAgICAgIG12ICR7RH0ke3N5c2NvbmZkaXJ9L3JjLmQvaW5pdC5kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgICAgICBybSAtcmYgJHtEfSR7c3lzY29uZmRpcn0vcmMuZAorICAgIGZpCit9CisKK1NZU1RFTURfUEFDS0FHRVMgPSAiJHtQTn0iCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAibHZtMi1tb25pdG9yLnNlcnZpY2UgZG0tZXZlbnQuc29ja2V0IGRtLWV2ZW50LnNlcnZpY2UgbHZtMi1sdm1ldGFkLnNvY2tldCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgbHZtMi1wdnNjYW5ALnNlcnZpY2UgYmxrLWF2YWlsYWJpbGl0eS5zZXJ2aWNlIgorU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgorCitUQVJHRVRfQ0NfQVJDSCArPSAiJHtMREZMQUdTfSIKKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9kZXZpY2UtbWFwcGVyLyouc28gJHtiYXNlX2xpYmRpcn0vdWRldiIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2RldmljZS1tYXBwZXIvLmRlYnVnIgorCitSREVQRU5EU18ke1BOfSA9ICJiYXNoIgorCitDT05GRklMRVNfJHtQTn0gKz0gIiR7c3lzY29uZmRpcn0vbHZtL2x2bS5jb25mIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2x2bTIvMDAwMS1pbXBsZW1lbnQtbGliYy1zcGVjaWZpYy1fcmVvcGVuX3N0cmVhbS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHZtMi9sdm0yLzAwMDEtaW1wbGVtZW50LWxpYmMtc3BlY2lmaWMtX3Jlb3Blbl9zdHJlYW0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjBiNGU3MQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHZtMi9sdm0yLzAwMDEtaW1wbGVtZW50LWxpYmMtc3BlY2lmaWMtX3Jlb3Blbl9zdHJlYW0ucGF0Y2gKQEAgLTAsMCArMSwxMzkgQEAKK0Zyb20gMDg5YzljNzAxYTFiNjhiNzIxZjQ3OWRmYzBjNThjMzViOWRkNDE3NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBXZWQsIDIwIEphbiAyMDE2IDA0OjM5OjUzICswMDAwCitTdWJqZWN0OiBbUEFUQ0ggMS80XSBpbXBsZW1lbnQgbGliYyBzcGVjaWZpYyBfcmVvcGVuX3N0cmVhbQorCittdXNsIGRlZmluZXMgc3RkaW4vc3RkaW8vc3RkZXJyIGFzIGNvbnN0YW50IHR5cGVzIHdoaWNoIG1lYW5zCit3ZSBjYW4gbm90IGFzc2lnbiB0byB0aGVtIGFzIHdlIGFyZSBkb2luZyBoZXJlIGJ1dCB3b3JrcyBvayB3aXRoIGdsaWJjCit0aGVyZWZvcmUgYWJzdHJhY3Qgb3V0IHRoZSBfcmVvcGVuX3N0cmVhbSBkZWZpbml0aW9uIGRlcGVuZGluZyB1cG9uIGlmCit3ZSBhcmUgdXNpbmcgZ2xpYmMgb3Igb3RoZXJ3aXNlCisKK09yaWdpbjoKK2h0dHA6Ly9naXQuYWxwaW5lbGludXgub3JnL2NnaXQvYXBvcnRzL3RyZWUvbWFpbi9sdm0yL2ZpeC1zdGRpby11c2FnZS5wYXRjaAorCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworIGxpYi9jb21tYW5kcy90b29sY29udGV4dC5jIHwgMjIgKysrKysrKysrKystLS0tLS0tLS0tLQorIHRvb2xzL2x2bWNtZGxpbmUuYyAgICAgICAgIHwgIDYgKysrLS0tCisgMiBmaWxlcyBjaGFuZ2VkLCAxNCBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2xpYi9jb21tYW5kcy90b29sY29udGV4dC5jIGIvbGliL2NvbW1hbmRzL3Rvb2xjb250ZXh0LmMKK2luZGV4IGEyZjIxYjguLjdmNzk2ZTQgMTAwNjQ0CistLS0gYS9saWIvY29tbWFuZHMvdG9vbGNvbnRleHQuYworKysrIGIvbGliL2NvbW1hbmRzL3Rvb2xjb250ZXh0LmMKK0BAIC0xNjM3LDcgKzE2MzcsMTAgQEAgc3RhdGljIHZvaWQgX2luaXRfZ2xvYmFscyhzdHJ1Y3QgY21kX2NvbnRleHQgKmNtZCkKKyAvKgorICAqIENsb3NlIGFuZCByZW9wZW4gc3RyZWFtIG9uIGZpbGUgZGVzY3JpcHRvciBmZC4KKyAgKi8KKy1zdGF0aWMgaW50IF9yZW9wZW5fc3RyZWFtKEZJTEUgKnN0cmVhbSwgaW50IGZkLCBjb25zdCBjaGFyICptb2RlLCBjb25zdCBjaGFyICpuYW1lLCBGSUxFICoqbmV3X3N0cmVhbSkKKysjaWZkZWYgX19HTElCQ19fCisrI2RlZmluZSBfcmVvcGVuX3N0cmVhbShzdHJlYW0sIGZkLCBtb2RlLCBuYW1lKSBfX3Jlb3Blbl9zdHJlYW0oc3RyZWFtLCBmZCwgbW9kZSwgbmFtZSwgJnN0cmVhbSkKKysKKytzdGF0aWMgaW50IF9fcmVvcGVuX3N0cmVhbShGSUxFICpzdHJlYW0sIGludCBmZCwgY29uc3QgY2hhciAqbW9kZSwgY29uc3QgY2hhciAqbmFtZSwgRklMRSAqKm5ld19zdHJlYW0pCisgeworIAlpbnQgZmRfY29weSwgbmV3X2ZkOworIAorQEAgLTE2NjQsNiArMTY2Nyw5IEBAIHN0YXRpYyBpbnQgX3Jlb3Blbl9zdHJlYW0oRklMRSAqc3RyZWFtLCBpbnQgZmQsIGNvbnN0IGNoYXIgKm1vZGUsIGNvbnN0IGNoYXIgKm5hCisgCisgCXJldHVybiAxOworIH0KKysjZWxzZQorKyNkZWZpbmUgX3Jlb3Blbl9zdHJlYW0oc3RyZWFtLCBmZCwgbW9kZSwgbmFtZSkgKGZyZW9wZW4oTlVMTCwgbW9kZSwgc3RyZWFtKSAhPSBOVUxMKQorKyNlbmRpZgorIAorIHN0YXRpYyBpbnQgX2luaXRfbHZtZXRhZChzdHJ1Y3QgY21kX2NvbnRleHQgKmNtZCkKKyB7CitAQCAtMTc0MSw3ICsxNzQ3LDYgQEAgc3RydWN0IGNtZF9jb250ZXh0ICpjcmVhdGVfdG9vbGNvbnRleHQodW5zaWduZWQgaXNfbG9uZ19saXZlZCwKKyAJCQkJICAgICAgIHVuc2lnbmVkIHNldF9maWx0ZXJzKQorIHsKKyAJc3RydWN0IGNtZF9jb250ZXh0ICpjbWQ7CistCUZJTEUgKm5ld19zdHJlYW07CisgCWludCBmbGFnczsKKyAKKyAjaWZkZWYgTV9NTUFQX01BWAorQEAgLTE3OTEsOSArMTc5Niw4IEBAIHN0cnVjdCBjbWRfY29udGV4dCAqY3JlYXRlX3Rvb2xjb250ZXh0KHVuc2lnbmVkIGlzX2xvbmdfbGl2ZWQsCisgCQlpZiAoaXNfdmFsaWRfZmQoU1RESU5fRklMRU5PKSAmJgorIAkJICAgICgoZmxhZ3MgPSBmY250bChTVERJTl9GSUxFTk8sIEZfR0VURkwpKSA+IDApICYmCisgCQkgICAgKGZsYWdzICYgT19BQ0NNT0RFKSAhPSBPX1dST05MWSkgeworLQkJCWlmICghX3Jlb3Blbl9zdHJlYW0oc3RkaW4sIFNURElOX0ZJTEVOTywgInIiLCAic3RkaW4iLCAmbmV3X3N0cmVhbSkpCisrCQkJaWYgKCFfcmVvcGVuX3N0cmVhbShzdGRpbiwgU1RESU5fRklMRU5PLCAiciIsICJzdGRpbiIpKQorIAkJCQlnb3RvX291dDsKKy0JCQlzdGRpbiA9IG5ld19zdHJlYW07CisgCQkJaWYgKHNldHZidWYoc3RkaW4sIGNtZC0+bGluZWJ1ZmZlciwgX0lPTEJGLCBsaW5lYnVmZmVyX3NpemUpKSB7CisgCQkJCWxvZ19zeXNfZXJyb3IoInNldHZidWYiLCAiIik7CisgCQkJCWdvdG8gb3V0OworQEAgLTE4MDMsOSArMTgwNyw4IEBAIHN0cnVjdCBjbWRfY29udGV4dCAqY3JlYXRlX3Rvb2xjb250ZXh0KHVuc2lnbmVkIGlzX2xvbmdfbGl2ZWQsCisgCQlpZiAoaXNfdmFsaWRfZmQoU1RET1VUX0ZJTEVOTykgJiYKKyAJCSAgICAoKGZsYWdzID0gZmNudGwoU1RET1VUX0ZJTEVOTywgRl9HRVRGTCkpID4gMCkgJiYKKyAJCSAgICAoZmxhZ3MgJiBPX0FDQ01PREUpICE9IE9fUkRPTkxZKSB7CistCQkJaWYgKCFfcmVvcGVuX3N0cmVhbShzdGRvdXQsIFNURE9VVF9GSUxFTk8sICJ3IiwgInN0ZG91dCIsICZuZXdfc3RyZWFtKSkKKysJCQlpZiAoIV9yZW9wZW5fc3RyZWFtKHN0ZG91dCwgU1RET1VUX0ZJTEVOTywgInciLCAic3Rkb3V0IikpCisgCQkJCWdvdG9fb3V0OworLQkJCXN0ZG91dCA9IG5ld19zdHJlYW07CisgCQkJaWYgKHNldHZidWYoc3Rkb3V0LCBjbWQtPmxpbmVidWZmZXIgKyBsaW5lYnVmZmVyX3NpemUsCisgCQkJCSAgICAgX0lPTEJGLCBsaW5lYnVmZmVyX3NpemUpKSB7CisgCQkJCWxvZ19zeXNfZXJyb3IoInNldHZidWYiLCAiIik7CitAQCAtMjEzMSw3ICsyMTM0LDYgQEAgaW50IHJlZnJlc2hfdG9vbGNvbnRleHQoc3RydWN0IGNtZF9jb250ZXh0ICpjbWQpCisgdm9pZCBkZXN0cm95X3Rvb2xjb250ZXh0KHN0cnVjdCBjbWRfY29udGV4dCAqY21kKQorIHsKKyAJc3RydWN0IGRtX2NvbmZpZ190cmVlICpjZnRfY21kbGluZTsKKy0JRklMRSAqbmV3X3N0cmVhbTsKKyAJaW50IGZsYWdzOworIAorIAlpZiAoY21kLT5kdW1wX2ZpbHRlciAmJiBjbWQtPmZpbHRlciAmJiBjbWQtPmZpbHRlci0+ZHVtcCAmJgorQEAgLTIxNjcsOCArMjE2OSw3IEBAIHZvaWQgZGVzdHJveV90b29sY29udGV4dChzdHJ1Y3QgY21kX2NvbnRleHQgKmNtZCkKKyAJCWlmIChpc192YWxpZF9mZChTVERJTl9GSUxFTk8pICYmCisgCQkgICAgKChmbGFncyA9IGZjbnRsKFNURElOX0ZJTEVOTywgRl9HRVRGTCkpID4gMCkgJiYKKyAJCSAgICAoZmxhZ3MgJiBPX0FDQ01PREUpICE9IE9fV1JPTkxZKSB7CistCQkJaWYgKF9yZW9wZW5fc3RyZWFtKHN0ZGluLCBTVERJTl9GSUxFTk8sICJyIiwgInN0ZGluIiwgJm5ld19zdHJlYW0pKSB7CistCQkJCXN0ZGluID0gbmV3X3N0cmVhbTsKKysJCQlpZiAoX3Jlb3Blbl9zdHJlYW0oc3RkaW4sIFNURElOX0ZJTEVOTywgInIiLCAic3RkaW4iKSkgeworIAkJCQlzZXRsaW5lYnVmKHN0ZGluKTsKKyAJCQl9IGVsc2UKKyAJCQkJY21kLT5saW5lYnVmZmVyID0gTlVMTDsJLyogTGVhdmUgYnVmZmVyIGluIHBsYWNlIChkZWxpYmVyYXRlIGxlYWspICovCitAQCAtMjE3Nyw4ICsyMTc4LDcgQEAgdm9pZCBkZXN0cm95X3Rvb2xjb250ZXh0KHN0cnVjdCBjbWRfY29udGV4dCAqY21kKQorIAkJaWYgKGlzX3ZhbGlkX2ZkKFNURE9VVF9GSUxFTk8pICYmCisgCQkgICAgKChmbGFncyA9IGZjbnRsKFNURE9VVF9GSUxFTk8sIEZfR0VURkwpKSA+IDApICYmCisgCQkgICAgKGZsYWdzICYgT19BQ0NNT0RFKSAhPSBPX1JET05MWSkgeworLQkJCWlmIChfcmVvcGVuX3N0cmVhbShzdGRvdXQsIFNURE9VVF9GSUxFTk8sICJ3IiwgInN0ZG91dCIsICZuZXdfc3RyZWFtKSkgeworLQkJCQlzdGRvdXQgPSBuZXdfc3RyZWFtOworKwkJCWlmIChfcmVvcGVuX3N0cmVhbShzdGRvdXQsIFNURE9VVF9GSUxFTk8sICJ3IiwgInN0ZG91dCIpKSB7CisgCQkJCXNldGxpbmVidWYoc3Rkb3V0KTsKKyAJCQl9IGVsc2UKKyAJCQkJY21kLT5saW5lYnVmZmVyID0gTlVMTDsJLyogTGVhdmUgYnVmZmVyIGluIHBsYWNlIChkZWxpYmVyYXRlIGxlYWspICovCitkaWZmIC0tZ2l0IGEvdG9vbHMvbHZtY21kbGluZS5jIGIvdG9vbHMvbHZtY21kbGluZS5jCitpbmRleCA2NTc3OTc3Li5hMzMyNThhIDEwMDY0NAorLS0tIGEvdG9vbHMvbHZtY21kbGluZS5jCisrKysgYi90b29scy9sdm1jbWRsaW5lLmMKK0BAIC0xNzQ0LDcgKzE3NDQsNyBAQCBzdGF0aWMgaW50IF9jaGVja19zdGFuZGFyZF9mZHModm9pZCkKKyAJaW50IGVyciA9IGlzX3ZhbGlkX2ZkKFNUREVSUl9GSUxFTk8pOworIAorIAlpZiAoIWlzX3ZhbGlkX2ZkKFNURElOX0ZJTEVOTykgJiYKKy0JICAgICEoc3RkaW4gPSBmb3BlbihfUEFUSF9ERVZOVUxMLCAiciIpKSkgeworKwkgICAgIWZyZW9wZW4oX1BBVEhfREVWTlVMTCwgInIiLCBzdGRpbikpIHsKKyAJCWlmIChlcnIpCisgCQkJcGVycm9yKCJzdGRpbiBzdHJlYW0gb3BlbiIpOworIAkJZWxzZQorQEAgLTE3NTQsNyArMTc1NCw3IEBAIHN0YXRpYyBpbnQgX2NoZWNrX3N0YW5kYXJkX2Zkcyh2b2lkKQorIAl9CisgCisgCWlmICghaXNfdmFsaWRfZmQoU1RET1VUX0ZJTEVOTykgJiYKKy0JICAgICEoc3Rkb3V0ID0gZm9wZW4oX1BBVEhfREVWTlVMTCwgInciKSkpIHsKKysJICAgICFmcmVvcGVuKF9QQVRIX0RFVk5VTEwsICJ3Iiwgc3Rkb3V0KSkgeworIAkJaWYgKGVycikKKyAJCQlwZXJyb3IoInN0ZG91dCBzdHJlYW0gb3BlbiIpOworIAkJLyogZWxzZSBubyBzdGRvdXQgKi8KK0BAIC0xNzYyLDcgKzE3NjIsNyBAQCBzdGF0aWMgaW50IF9jaGVja19zdGFuZGFyZF9mZHModm9pZCkKKyAJfQorIAorIAlpZiAoIWlzX3ZhbGlkX2ZkKFNUREVSUl9GSUxFTk8pICYmCistCSAgICAhKHN0ZGVyciA9IGZvcGVuKF9QQVRIX0RFVk5VTEwsICJ3IikpKSB7CisrCSAgICAhZnJlb3BlbihfUEFUSF9ERVZOVUxMLCAidyIsIHN0ZGVycikpIHsKKyAJCXByaW50Zigic3RkZXJyIHN0cmVhbSBvcGVuOiAlc1xuIiwKKyAJCSAgICAgICBzdHJlcnJvcihlcnJubykpOworIAkJcmV0dXJuIDA7CistLSAKKzIuNy4wCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHZtMi9sdm0yLzAwMDItdXNlLVBUSFJFQURfTVVURVhfUkVDVVJTSVZFLWluc3RlYWQtb2YtUFRIUkVBRF9NVVRFWC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHZtMi9sdm0yLzAwMDItdXNlLVBUSFJFQURfTVVURVhfUkVDVVJTSVZFLWluc3RlYWQtb2YtUFRIUkVBRF9NVVRFWC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NjlhMTUyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2x2bTIvMDAwMi11c2UtUFRIUkVBRF9NVVRFWF9SRUNVUlNJVkUtaW5zdGVhZC1vZi1QVEhSRUFEX01VVEVYLnBhdGNoCkBAIC0wLDAgKzEsNDQgQEAKK0Zyb20gYzhhMWI2NjljYmZmM2VlZTM2N2ZkNGRiMzM4OWUzMzdiYzRjOThiYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBXZWQsIDIwIEphbiAyMDE2IDA0OjQ2OjI2ICswMDAwCitTdWJqZWN0OiBbUEFUQ0ggMi80XSB1c2UgUFRIUkVBRF9NVVRFWF9SRUNVUlNJVkUgaW5zdGVhZCBvZgorIFBUSFJFQURfTVVURVhfUkVDVVJTSVZFX05QCisKK1BUSFJFQURfTVVURVhfUkVDVVJTSVZFX05QIHdhcyB1c2VkIGZvciBjb21wYXRpYmlsaXR5IHdpdGggb2xkIGdsaWJjLgorQWx0aG91Z2ggZHVlIHRvIHRoZV9HTlVfU09VUkNFUyBkZWZpbmUgdGhlIHBvcnRhYmxlLAorUFRIUkVBRF9NVVRFWF9SRUNVUlNJVkUgd2lsbCBiZSBhdmFpbGFibGUgZm9yIExpbnV4ZXMgc2luY2UgYXQgbGVhc3QKKzE5OTguIFNpbXBsaWZ5IHRoaW5ncyBnaXZpbmcgdXMgY29tcGF0aWJpbGl0eSB3aXRoIG11c2wgd2hpY2gKK2FwcGFyZW50bHkgZG9lcyBub3QgcHJvdmlkZSB0aGUgbm9uLXBvcnRhYmxlIGRlZmluZS4KKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKKyBkYWVtb25zL2x2bWV0YWQvbHZtZXRhZC1jb3JlLmMgfCA0ICsrLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZGFlbW9ucy9sdm1ldGFkL2x2bWV0YWQtY29yZS5jIGIvZGFlbW9ucy9sdm1ldGFkL2x2bWV0YWQtY29yZS5jCitpbmRleCA3YWY5YmRlLi42MzcwN2MyIDEwMDY0NAorLS0tIGEvZGFlbW9ucy9sdm1ldGFkL2x2bWV0YWQtY29yZS5jCisrKysgYi9kYWVtb25zL2x2bWV0YWQvbHZtZXRhZC1jb3JlLmMKK0BAIC0zMDAsNyArMzAwLDcgQEAgc3RhdGljIHN0cnVjdCBkbV9jb25maWdfdHJlZSAqbG9ja192Zyhsdm1ldGFkX3N0YXRlICpzLCBjb25zdCBjaGFyICppZCkgeworIAlpZiAoISh2ZyA9IGRtX2hhc2hfbG9va3VwKHMtPmxvY2sudmcsIGlkKSkpIHsKKyAJCWlmICghKHZnID0gbWFsbG9jKHNpemVvZihwdGhyZWFkX211dGV4X3QpKSkgfHwKKyAJCSAgICBwdGhyZWFkX211dGV4YXR0cl9pbml0KCZyZWMpIHx8CistCQkgICAgcHRocmVhZF9tdXRleGF0dHJfc2V0dHlwZSgmcmVjLCBQVEhSRUFEX01VVEVYX1JFQ1VSU0lWRV9OUCkgfHwKKysJCSAgICBwdGhyZWFkX211dGV4YXR0cl9zZXR0eXBlKCZyZWMsIFBUSFJFQURfTVVURVhfUkVDVVJTSVZFKSB8fAorIAkJICAgIHB0aHJlYWRfbXV0ZXhfaW5pdCh2ZywgJnJlYykpCisgCQkJZ290byBiYWQ7CisgCQlpZiAoIWRtX2hhc2hfaW5zZXJ0KHMtPmxvY2sudmcsIGlkLCB2ZykpIHsKK0BAIC0yODkwLDcgKzI4OTAsNyBAQCBzdGF0aWMgaW50IGluaXQoZGFlbW9uX3N0YXRlICpzKQorIAlscy0+bG9nID0gcy0+bG9nOworIAorIAlwdGhyZWFkX211dGV4YXR0cl9pbml0KCZyZWMpOworLQlwdGhyZWFkX211dGV4YXR0cl9zZXR0eXBlKCZyZWMsIFBUSFJFQURfTVVURVhfUkVDVVJTSVZFX05QKTsKKysJcHRocmVhZF9tdXRleGF0dHJfc2V0dHlwZSgmcmVjLCBQVEhSRUFEX01VVEVYX1JFQ1VSU0lWRSk7CisgCXB0aHJlYWRfbXV0ZXhfaW5pdCgmbHMtPmxvY2sucHZpZF90b19wdm1ldGEsICZyZWMpOworIAlwdGhyZWFkX211dGV4X2luaXQoJmxzLT5sb2NrLnZnaWRfdG9fbWV0YWRhdGEsICZyZWMpOworIAlwdGhyZWFkX211dGV4X2luaXQoJmxzLT5sb2NrLnB2aWRfdG9fdmdpZCwgTlVMTCk7CistLSAKKzIuNy4wCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHZtMi9sdm0yLzAwMDMtR3VhcmQtdXNlLW9mLW1hbGxpbmZvLXdpdGgtX19HTElCQ19fLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2x2bTIvMDAwMy1HdWFyZC11c2Utb2YtbWFsbGluZm8td2l0aC1fX0dMSUJDX18ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2Q3MTc2NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHZtMi9sdm0yLzAwMDMtR3VhcmQtdXNlLW9mLW1hbGxpbmZvLXdpdGgtX19HTElCQ19fLnBhdGNoCkBAIC0wLDAgKzEsMzAgQEAKK0Zyb20gZTAxOGQwNTU2MDMzODliMjJjYmMzYmQ2OGIxNTI1ZjMwNDhlYmVlNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBXZWQsIDIwIEphbiAyMDE2IDA0OjUwOjI2ICswMDAwCitTdWJqZWN0OiBbUEFUQ0ggMy80XSBHdWFyZCB1c2Ugb2YgbWFsbGluZm8oKSB3aXRoIF9fR0xJQkNfXworCitUaGlzIEFQSSBpcyBnbGliYy1vbmx5CisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCisgbGliL21tL21lbWxvY2suYyB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2xpYi9tbS9tZW1sb2NrLmMgYi9saWIvbW0vbWVtbG9jay5jCitpbmRleCA5NjlmMWQ3Li40MDVhN2MwIDEwMDY0NAorLS0tIGEvbGliL21tL21lbWxvY2suYworKysrIGIvbGliL21tL21lbWxvY2suYworQEAgLTE0NSw3ICsxNDUsNyBAQCBzdGF0aWMgdm9pZCBfdG91Y2hfbWVtb3J5KHZvaWQgKm1lbSwgc2l6ZV90IHNpemUpCisgCisgc3RhdGljIHZvaWQgX2FsbG9jYXRlX21lbW9yeSh2b2lkKQorIHsKKy0jaWZuZGVmIFZBTEdSSU5EX1BPT0wKKysjaWYgIWRlZmluZWQoVkFMR1JJTkRfUE9PTCkgJiYgZGVmaW5lZChfX0dMSUJDX18pCisgCXZvaWQgKnN0YWNrX21lbTsKKyAJc3RydWN0IHJsaW1pdCBsaW1pdDsKKyAJaW50IGksIGFyZWEgPSAwLCBtaXNzaW5nID0gX3NpemVfbWFsbG9jX3RtcCwgbWF4X2FyZWFzID0gMzIsIGhibGtzOworLS0gCisyLjcuMAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvbHZtMi8wMDA0LWluY2x1ZGUtZmNudGwuaC1mb3ItT18tZGVmaW5lcy1hbmQtZmNudGwtc2lnbmF0dXJlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2x2bTIvMDAwNC1pbmNsdWRlLWZjbnRsLmgtZm9yLU9fLWRlZmluZXMtYW5kLWZjbnRsLXNpZ25hdHVyZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYTNiODQzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2x2bTIvMDAwNC1pbmNsdWRlLWZjbnRsLmgtZm9yLU9fLWRlZmluZXMtYW5kLWZjbnRsLXNpZ25hdHVyZS5wYXRjaApAQCAtMCwwICsxLDI5IEBACitGcm9tIDliNzkzZDViNGFkYzVkOGIzNjg0ZTdmNjY5NDNlMjM2ZWFlN2MyZGIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogV2VkLCAyMCBKYW4gMjAxNiAwNDo1Mjo1OSArMDAwMAorU3ViamVjdDogW1BBVENIIDQvNF0gaW5jbHVkZSBmY250bC5oIGZvciBPXyogZGVmaW5lcyBhbmQgZmNudGwoKSBzaWduYXR1cmUKKworT24gZ2xpYmMgX3NvbWVob3dfIHRoaXMgaGVhZGVyIGdldHMgcHVsbGVkIGluIGluZGlyZWN0bHkKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKKyBsaWJkYWVtb24vc2VydmVyL2RhZW1vbi1zZXJ2ZXIuYyB8IDEgKworIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorCitkaWZmIC0tZ2l0IGEvbGliZGFlbW9uL3NlcnZlci9kYWVtb24tc2VydmVyLmMgYi9saWJkYWVtb24vc2VydmVyL2RhZW1vbi1zZXJ2ZXIuYworaW5kZXggZDlkNjBkMS4uNDMzZDEwMCAxMDA2NDQKKy0tLSBhL2xpYmRhZW1vbi9zZXJ2ZXIvZGFlbW9uLXNlcnZlci5jCisrKysgYi9saWJkYWVtb24vc2VydmVyL2RhZW1vbi1zZXJ2ZXIuYworQEAgLTE4LDYgKzE4LDcgQEAKKyAjaW5jbHVkZSAiZGFlbW9uLXNlcnZlci5oIgorICNpbmNsdWRlICJkYWVtb24tbG9nLmgiCisgCisrI2luY2x1ZGUgPGZjbnRsLmg+CisgI2luY2x1ZGUgPGRsZmNuLmg+CisgI2luY2x1ZGUgPGVycm5vLmg+CisgI2luY2x1ZGUgPHB0aHJlYWQuaD4KKy0tIAorMi43LjAKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2x2bTIvbHZtLmNvbmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvbHZtMi9sdm0uY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZTNiNWZlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2x2bTIvbHZtLmNvbmYKQEAgLTAsMCArMSwzMjYgQEAKKyMgVGhpcyBpcyBhbiBleGFtcGxlIGNvbmZpZ3VyYXRpb24gZmlsZSBmb3IgdGhlIExWTTIgc3lzdGVtLgorIyBJdCBjb250YWlucyB0aGUgZGVmYXVsdCBzZXR0aW5ncyB0aGF0IHdvdWxkIGJlIHVzZWQgaWYgdGhlcmUgd2FzIG5vCisjIC9ldGMvbHZtL2x2bS5jb25mIGZpbGUuCisjCisjIFJlZmVyIHRvICdtYW4gbHZtLmNvbmYnIGZvciBmdXJ0aGVyIGluZm9ybWF0aW9uIGluY2x1ZGluZyB0aGUgZmlsZSBsYXlvdXQuCisjCisjIFRvIHB1dCB0aGlzIGZpbGUgaW4gYSBkaWZmZXJlbnQgZGlyZWN0b3J5IGFuZCBvdmVycmlkZSAvZXRjL2x2bSBzZXQKKyMgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlIExWTV9TWVNURU1fRElSIGJlZm9yZSBydW5uaW5nIHRoZSB0b29scy4KKworCisjIFRoaXMgc2VjdGlvbiBhbGxvd3MgeW91IHRvIGNvbmZpZ3VyZSB3aGljaCBibG9jayBkZXZpY2VzIHNob3VsZAorIyBiZSB1c2VkIGJ5IHRoZSBMVk0gc3lzdGVtLgorZGV2aWNlcyB7CisKKyAgICAjIFdoZXJlIGRvIHlvdSB3YW50IHlvdXIgdm9sdW1lIGdyb3VwcyB0byBhcHBlYXIgPworICAgIGRpciA9ICIvZGV2IgorCisgICAgIyBBbiBhcnJheSBvZiBkaXJlY3RvcmllcyB0aGF0IGNvbnRhaW4gdGhlIGRldmljZSBub2RlcyB5b3Ugd2lzaAorICAgICMgdG8gdXNlIHdpdGggTFZNMi4KKyAgICBzY2FuID0gWyAiL2RldiIgXQorCisgICAgIyBBIGZpbHRlciB0aGF0IHRlbGxzIExWTTIgdG8gb25seSB1c2UgYSByZXN0cmljdGVkIHNldCBvZiBkZXZpY2VzLgorICAgICMgVGhlIGZpbHRlciBjb25zaXN0cyBvZiBhbiBhcnJheSBvZiByZWd1bGFyIGV4cHJlc3Npb25zLiAgVGhlc2UKKyAgICAjIGV4cHJlc3Npb25zIGNhbiBiZSBkZWxpbWl0ZWQgYnkgYSBjaGFyYWN0ZXIgb2YgeW91ciBjaG9pY2UsIGFuZAorICAgICMgcHJlZml4ZWQgd2l0aCBlaXRoZXIgYW4gJ2EnIChmb3IgYWNjZXB0KSBvciAncicgKGZvciByZWplY3QpLgorICAgICMgVGhlIGZpcnN0IGV4cHJlc3Npb24gZm91bmQgdG8gbWF0Y2ggYSBkZXZpY2UgbmFtZSBkZXRlcm1pbmVzIGlmCisgICAgIyB0aGUgZGV2aWNlIHdpbGwgYmUgYWNjZXB0ZWQgb3IgcmVqZWN0ZWQgKGlnbm9yZWQpLiAgRGV2aWNlcyB0aGF0CisgICAgIyBkb24ndCBtYXRjaCBhbnkgcGF0dGVybnMgYXJlIGFjY2VwdGVkLgorCisgICAgIyBCZSBjYXJlZnVsIGlmIHRoZXJlIHRoZXJlIGFyZSBzeW1ib2xpYyBsaW5rcyBvciBtdWx0aXBsZSBmaWxlc3lzdGVtIAorICAgICMgZW50cmllcyBmb3IgdGhlIHNhbWUgZGV2aWNlIGFzIGVhY2ggbmFtZSBpcyBjaGVja2VkIHNlcGFyYXRlbHkgYWdhaW5zdAorICAgICMgdGhlIGxpc3Qgb2YgcGF0dGVybnMuICBUaGUgZWZmZWN0IGlzIHRoYXQgaWYgYW55IG5hbWUgbWF0Y2hlcyBhbnkgJ2EnCisgICAgIyBwYXR0ZXJuLCB0aGUgZGV2aWNlIGlzIGFjY2VwdGVkOyBvdGhlcndpc2UgaWYgYW55IG5hbWUgbWF0Y2hlcyBhbnkgJ3InCisgICAgIyBwYXR0ZXJuIGl0IGlzIHJlamVjdGVkOyBvdGhlcndpc2UgaXQgaXMgYWNjZXB0ZWQuCisKKyAgICAjIERvbid0IGhhdmUgbW9yZSB0aGFuIG9uZSBmaWx0ZXIgbGluZSBhY3RpdmUgYXQgb25jZTogb25seSBvbmUgZ2V0cyB1c2VkLgorCisgICAgIyBSdW4gdmdzY2FuIGFmdGVyIHlvdSBjaGFuZ2UgdGhpcyBwYXJhbWV0ZXIgdG8gZW5zdXJlIHRoYXQKKyAgICAjIHRoZSBjYWNoZSBmaWxlIGdldHMgcmVnZW5lcmF0ZWQgKHNlZSBiZWxvdykuCisgICAgIyBJZiBpdCBkb2Vzbid0IGRvIHdoYXQgeW91IGV4cGVjdCwgY2hlY2sgdGhlIG91dHB1dCBvZiAndmdzY2FuIC12dnZ2Jy4KKworCisgICAgIyBCeSBkZWZhdWx0IHdlIGFjY2VwdCBldmVyeSBibG9jayBkZXZpY2U6CisgICAgZmlsdGVyID0gWyAiYS8uKi8iIF0KKworICAgICMgRXhjbHVkZSB0aGUgY2Ryb20gZHJpdmUKKyAgICAjIGZpbHRlciA9IFsgInJ8L2Rldi9jZHJvbXwiIF0KKworICAgICMgV2hlbiB0ZXN0aW5nIEkgbGlrZSB0byB3b3JrIHdpdGgganVzdCBsb29wYmFjayBkZXZpY2VzOgorICAgICMgZmlsdGVyID0gWyAiYS9sb29wLyIsICJyLy4qLyIgXQorCisgICAgIyBPciBtYXliZSBhbGwgbG9vcHMgYW5kIGlkZSBkcml2ZXMgZXhjZXB0IGhkYzoKKyAgICAjIGZpbHRlciA9WyAiYXxsb29wfCIsICJyfC9kZXYvaGRjfCIsICJhfC9kZXYvaWRlfCIsICJyfC4qfCIgXQorCisgICAgIyBVc2UgYW5jaG9ycyBpZiB5b3Ugd2FudCB0byBiZSByZWFsbHkgc3BlY2lmaWMKKyAgICAjIGZpbHRlciA9IFsgImF8Xi9kZXYvaGRhOCR8IiwgInIvLiovIiBdCisKKyAgICAjIFRoZSByZXN1bHRzIG9mIHRoZSBmaWx0ZXJpbmcgYXJlIGNhY2hlZCBvbiBkaXNrIHRvIGF2b2lkCisgICAgIyByZXNjYW5uaW5nIGR1ZCBkZXZpY2VzICh3aGljaCBjYW4gdGFrZSBhIHZlcnkgbG9uZyB0aW1lKS4gIEJ5CisgICAgIyBkZWZhdWx0IHRoaXMgY2FjaGUgZmlsZSBpcyBoaWRkZW4gaW4gdGhlIC9ldGMvbHZtIGRpcmVjdG9yeS4KKyAgICAjIEl0IGlzIHNhZmUgdG8gZGVsZXRlIHRoaXMgZmlsZTogdGhlIHRvb2xzIHJlZ2VuZXJhdGUgaXQuCisgICAgY2FjaGUgPSAiL2V0Yy9sdm0vLmNhY2hlIgorCisgICAgIyBZb3UgY2FuIHR1cm4gb2ZmIHdyaXRpbmcgdGhpcyBjYWNoZSBmaWxlIGJ5IHNldHRpbmcgdGhpcyB0byAwLgorICAgIHdyaXRlX2NhY2hlX3N0YXRlID0gMQorCisgICAgIyBBZHZhbmNlZCBzZXR0aW5ncy4KKworICAgICMgTGlzdCBvZiBwYWlycyBvZiBhZGRpdGlvbmFsIGFjY2VwdGFibGUgYmxvY2sgZGV2aWNlIHR5cGVzIGZvdW5kIAorICAgICMgaW4gL3Byb2MvZGV2aWNlcyB3aXRoIG1heGltdW0gKG5vbi16ZXJvKSBudW1iZXIgb2YgcGFydGl0aW9ucy4KKyAgICAjIHR5cGVzID0gWyAiZmQiLCAxNiBdCisKKyAgICAjIElmIHN5c2ZzIGlzIG1vdW50ZWQgKDIuNiBrZXJuZWxzKSByZXN0cmljdCBkZXZpY2Ugc2Nhbm5pbmcgdG8gCisgICAgIyB0aGUgYmxvY2sgZGV2aWNlcyBpdCBiZWxpZXZlcyBhcmUgdmFsaWQuCisgICAgIyAxIGVuYWJsZXM7IDAgZGlzYWJsZXMuCisgICAgc3lzZnNfc2NhbiA9IDEJCisKKyAgICAjIEJ5IGRlZmF1bHQsIExWTTIgd2lsbCBpZ25vcmUgZGV2aWNlcyB1c2VkIGFzIGNvbXBvbmVudHMgb2YKKyAgICAjIHNvZnR3YXJlIFJBSUQgKG1kKSBkZXZpY2VzIGJ5IGxvb2tpbmcgZm9yIG1kIHN1cGVyYmxvY2tzLgorICAgICMgMSBlbmFibGVzOyAwIGRpc2FibGVzLgorICAgIG1kX2NvbXBvbmVudF9kZXRlY3Rpb24gPSAxCit9CisKKyMgVGhpcyBzZWN0aW9uIHRoYXQgYWxsb3dzIHlvdSB0byBjb25maWd1cmUgdGhlIG5hdHVyZSBvZiB0aGUKKyMgaW5mb3JtYXRpb24gdGhhdCBMVk0yIHJlcG9ydHMuCitsb2cgeworCisgICAgIyBDb250cm9scyB0aGUgbWVzc2FnZXMgc2VudCB0byBzdGRvdXQgb3Igc3RkZXJyLgorICAgICMgVGhlcmUgYXJlIHRocmVlIGxldmVscyBvZiB2ZXJib3NpdHksIDMgYmVpbmcgdGhlIG1vc3QgdmVyYm9zZS4KKyAgICB2ZXJib3NlID0gMAorCisgICAgIyBTaG91bGQgd2Ugc2VuZCBsb2cgbWVzc2FnZXMgdGhyb3VnaCBzeXNsb2c/CisgICAgIyAxIGlzIHllczsgMCBpcyBuby4KKyAgICBzeXNsb2cgPSAxCisKKyAgICAjIFNob3VsZCB3ZSBsb2cgZXJyb3IgYW5kIGRlYnVnIG1lc3NhZ2VzIHRvIGEgZmlsZT8KKyAgICAjIEJ5IGRlZmF1bHQgdGhlcmUgaXMgbm8gbG9nIGZpbGUuCisgICAgI2ZpbGUgPSAiL3Zhci9sb2cvbHZtMi5sb2ciCisKKyAgICAjIFNob3VsZCB3ZSBvdmVyd3JpdGUgdGhlIGxvZyBmaWxlIGVhY2ggdGltZSB0aGUgcHJvZ3JhbSBpcyBydW4/CisgICAgIyBCeSBkZWZhdWx0IHdlIGFwcGVuZC4KKyAgICBvdmVyd3JpdGUgPSAwCisKKyAgICAjIFdoYXQgbGV2ZWwgb2YgbG9nIG1lc3NhZ2VzIHNob3VsZCB3ZSBzZW5kIHRvIHRoZSBsb2cgZmlsZSBhbmQvb3Igc3lzbG9nPworICAgICMgVGhlcmUgYXJlIDYgc3lzbG9nLWxpa2UgbG9nIGxldmVscyBjdXJyZW50bHkgaW4gdXNlIC0gMiB0byA3IGluY2x1c2l2ZS4KKyAgICAjIDcgaXMgdGhlIG1vc3QgdmVyYm9zZSAoTE9HX0RFQlVHKS4KKyAgICBsZXZlbCA9IDAKKyAgICAKKyAgICAjIEZvcm1hdCBvZiBvdXRwdXQgbWVzc2FnZXMKKyAgICAjIFdoZXRoZXIgb3Igbm90ICgxIG9yIDApIHRvIGluZGVudCBtZXNzYWdlcyBhY2NvcmRpbmcgdG8gdGhlaXIgc2V2ZXJpdHkKKyAgICBpbmRlbnQgPSAxCisKKyAgICAjIFdoZXRoZXIgb3Igbm90ICgxIG9yIDApIHRvIGRpc3BsYXkgdGhlIGNvbW1hbmQgbmFtZSBvbiBlYWNoIGxpbmUgb3V0cHV0CisgICAgY29tbWFuZF9uYW1lcyA9IDAKKworICAgICMgQSBwcmVmaXggdG8gdXNlIGJlZm9yZSB0aGUgbWVzc2FnZSB0ZXh0IChidXQgYWZ0ZXIgdGhlIGNvbW1hbmQgbmFtZSwKKyAgICAjIGlmIHNlbGVjdGVkKS4gIERlZmF1bHQgaXMgdHdvIHNwYWNlcywgc28geW91IGNhbiBzZWUvZ3JlcCB0aGUgc2V2ZXJpdHkKKyAgICAjIG9mIGVhY2ggbWVzc2FnZS4KKyAgICBwcmVmaXggPSAiICAiCisKKyAgICAjIFRvIG1ha2UgdGhlIG1lc3NhZ2VzIGxvb2sgc2ltaWxhciB0byB0aGUgb3JpZ2luYWwgTFZNIHRvb2xzIHVzZToKKyAgICAjICAgaW5kZW50ID0gMAorICAgICMgICBjb21tYW5kX25hbWVzID0gMQorICAgICMgICBwcmVmaXggPSAiIC0tICIKKworICAgICMgU2V0IHRoaXMgaWYgeW91IHdhbnQgbG9nIG1lc3NhZ2VzIGR1cmluZyBhY3RpdmF0aW9uLgorICAgICMgRG9uJ3QgdXNlIHRoaXMgaW4gbG93IG1lbW9yeSBzaXR1YXRpb25zIChjYW4gZGVhZGxvY2spLgorICAgICMgYWN0aXZhdGlvbiA9IDAKK30KKworIyBDb25maWd1cmF0aW9uIG9mIG1ldGFkYXRhIGJhY2t1cHMgYW5kIGFyY2hpdmluZy4gIEluIExWTTIgd2hlbiB3ZQorIyB0YWxrIGFib3V0IGEgJ2JhY2t1cCcgd2UgbWVhbiBtYWtpbmcgYSBjb3B5IG9mIHRoZSBtZXRhZGF0YSBmb3IgdGhlCisjICpjdXJyZW50KiBzeXN0ZW0uICBUaGUgJ2FyY2hpdmUnIGNvbnRhaW5zIG9sZCBtZXRhZGF0YSBjb25maWd1cmF0aW9ucy4KKyMgQmFja3VwcyBhcmUgc3RvcmVkIGluIGEgaHVtYW4gcmVhZGVhYmxlIHRleHQgZm9ybWF0LgorYmFja3VwIHsKKworICAgICMgU2hvdWxkIHdlIG1haW50YWluIGEgYmFja3VwIG9mIHRoZSBjdXJyZW50IG1ldGFkYXRhIGNvbmZpZ3VyYXRpb24gPworICAgICMgVXNlIDEgZm9yIFllczsgMCBmb3IgTm8uCisgICAgIyBUaGluayB2ZXJ5IGhhcmQgYmVmb3JlIHR1cm5pbmcgdGhpcyBvZmYhCisgICAgYmFja3VwID0gMQorCisgICAgIyBXaGVyZSBzaGFsbCB3ZSBrZWVwIGl0ID8KKyAgICAjIFJlbWVtYmVyIHRvIGJhY2sgdXAgdGhpcyBkaXJlY3RvcnkgcmVndWxhcmx5IQorICAgIGJhY2t1cF9kaXIgPSAiL2V0Yy9sdm0vYmFja3VwIgorCisgICAgIyBTaG91bGQgd2UgbWFpbnRhaW4gYW4gYXJjaGl2ZSBvZiBvbGQgbWV0YWRhdGEgY29uZmlndXJhdGlvbnMuCisgICAgIyBVc2UgMSBmb3IgWWVzOyAwIGZvciBOby4KKyAgICAjIE9uIGJ5IGRlZmF1bHQuICBUaGluayB2ZXJ5IGhhcmQgYmVmb3JlIHR1cm5pbmcgdGhpcyBvZmYuCisgICAgYXJjaGl2ZSA9IDEKKworICAgICMgV2hlcmUgc2hvdWxkIGFyY2hpdmVkIGZpbGVzIGdvID8KKyAgICAjIFJlbWVtYmVyIHRvIGJhY2sgdXAgdGhpcyBkaXJlY3RvcnkgcmVndWxhcmx5IQorICAgIGFyY2hpdmVfZGlyID0gIi9ldGMvbHZtL2FyY2hpdmUiCisgICAgCisgICAgIyBXaGF0IGlzIHRoZSBtaW5pbXVtIG51bWJlciBvZiBhcmNoaXZlIGZpbGVzIHlvdSB3aXNoIHRvIGtlZXAgPworICAgIHJldGFpbl9taW4gPSAxMAorCisgICAgIyBXaGF0IGlzIHRoZSBtaW5pbXVtIHRpbWUgeW91IHdpc2ggdG8ga2VlcCBhbiBhcmNoaXZlIGZpbGUgZm9yID8KKyAgICByZXRhaW5fZGF5cyA9IDMwCit9CisKKyMgU2V0dGluZ3MgZm9yIHRoZSBydW5uaW5nIExWTTIgaW4gc2hlbGwgKHJlYWRsaW5lKSBtb2RlLgorc2hlbGwgeworCisgICAgIyBOdW1iZXIgb2YgbGluZXMgb2YgaGlzdG9yeSB0byBzdG9yZSBpbiB+Ly5sdm1faGlzdG9yeQorICAgIGhpc3Rvcnlfc2l6ZSA9IDEwMAorfQorCisKKyMgTWlzY2VsbGFuZW91cyBnbG9iYWwgTFZNMiBzZXR0aW5ncworZ2xvYmFsIHsKKyAgICAKKyAgICAjIFRoZSBmaWxlIGNyZWF0aW9uIG1hc2sgZm9yIGFueSBmaWxlcyBhbmQgZGlyZWN0b3JpZXMgY3JlYXRlZC4KKyAgICAjIEludGVycHJldGVkIGFzIG9jdGFsIGlmIHRoZSBmaXJzdCBkaWdpdCBpcyB6ZXJvLgorICAgIHVtYXNrID0gMDc3CisKKyAgICAjIEFsbG93IG90aGVyIHVzZXJzIHRvIHJlYWQgdGhlIGZpbGVzCisgICAgI3VtYXNrID0gMDIyCisKKyAgICAjIEVuYWJsaW5nIHRlc3QgbW9kZSBtZWFucyB0aGF0IG5vIGNoYW5nZXMgdG8gdGhlIG9uIGRpc2sgbWV0YWRhdGEKKyAgICAjIHdpbGwgYmUgbWFkZS4gIEVxdWl2YWxlbnQgdG8gaGF2aW5nIHRoZSAtdCBvcHRpb24gb24gZXZlcnkKKyAgICAjIGNvbW1hbmQuICBEZWZhdWx0cyB0byBvZmYuCisgICAgdGVzdCA9IDAKKworICAgICMgV2hldGhlciBvciBub3QgdG8gY29tbXVuaWNhdGUgd2l0aCB0aGUga2VybmVsIGRldmljZS1tYXBwZXIuCisgICAgIyBTZXQgdG8gMCBpZiB5b3Ugd2FudCB0byB1c2UgdGhlIHRvb2xzIHRvIG1hbmlwdWxhdGUgTFZNIG1ldGFkYXRhIAorICAgICMgd2l0aG91dCBhY3RpdmF0aW5nIGFueSBsb2dpY2FsIHZvbHVtZXMuCisgICAgIyBJZiB0aGUgZGV2aWNlLW1hcHBlciBrZXJuZWwgZHJpdmVyIGlzIG5vdCBwcmVzZW50IGluIHlvdXIga2VybmVsCisgICAgIyBzZXR0aW5nIHRoaXMgdG8gMCBzaG91bGQgc3VwcHJlc3MgdGhlIGVycm9yIG1lc3NhZ2VzLgorICAgIGFjdGl2YXRpb24gPSAxCisKKyAgICAjIElmIHdlIGNhbid0IGNvbW11bmljYXRlIHdpdGggZGV2aWNlLW1hcHBlciwgc2hvdWxkIHdlIHRyeSBydW5uaW5nIAorICAgICMgdGhlIExWTTEgdG9vbHM/CisgICAgIyBUaGlzIG9wdGlvbiBvbmx5IGFwcGxpZXMgdG8gMi40IGtlcm5lbHMgYW5kIGlzIHByb3ZpZGVkIHRvIGhlbHAgeW91CisgICAgIyBzd2l0Y2ggYmV0d2VlbiBkZXZpY2UtbWFwcGVyIGtlcm5lbHMgYW5kIExWTTEga2VybmVscy4KKyAgICAjIFRoZSBMVk0xIHRvb2xzIG5lZWQgdG8gYmUgaW5zdGFsbGVkIHdpdGggLmx2bTEgc3VmZmljZXMKKyAgICAjIGUuZy4gdmdzY2FuLmx2bTEgYW5kIHRoZXkgd2lsbCBzdG9wIHdvcmtpbmcgYWZ0ZXIgeW91IHN0YXJ0IHVzaW5nCisgICAgIyB0aGUgbmV3IGx2bTIgb24tZGlzayBtZXRhZGF0YSBmb3JtYXQuCisgICAgIyBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBzZXQgd2hlbiB0aGUgdG9vbHMgYXJlIGJ1aWx0LgorICAgICMgZmFsbGJhY2tfdG9fbHZtMSA9IDAKKworICAgICMgVGhlIGRlZmF1bHQgbWV0YWRhdGEgZm9ybWF0IHRoYXQgY29tbWFuZHMgc2hvdWxkIHVzZSAtICJsdm0xIiBvciAibHZtMiIuCisgICAgIyBUaGUgY29tbWFuZCBsaW5lIG92ZXJyaWRlIGlzIC1NMSBvciAtTTIuCisgICAgIyBEZWZhdWx0cyB0byAibHZtMSIgaWYgY29tcGlsZWQgaW4sIGVsc2UgImx2bTIiLgorICAgICMgZm9ybWF0ID0gImx2bTEiCisKKyAgICAjIExvY2F0aW9uIG9mIHByb2MgZmlsZXN5c3RlbQorICAgIHByb2MgPSAiL3Byb2MiCisKKyAgICAjIFR5cGUgb2YgbG9ja2luZyB0byB1c2UuIERlZmF1bHRzIHRvIGZpbGUtYmFzZWQgbG9ja2luZyAoMSkuCisgICAgIyBUdXJuIGxvY2tpbmcgb2ZmIGJ5IHNldHRpbmcgdG8gMCAoZGFuZ2Vyb3VzOiByaXNrcyBtZXRhZGF0YSBjb3JydXB0aW9uCisgICAgIyBpZiBMVk0yIGNvbW1hbmRzIGdldCBydW4gY29uY3VycmVudGx5KS4KKyAgICBsb2NraW5nX3R5cGUgPSAxCisKKyAgICAjIExvY2FsIG5vbi1MViBkaXJlY3RvcnkgdGhhdCBob2xkcyBmaWxlLWJhc2VkIGxvY2tzIHdoaWxlIGNvbW1hbmRzIGFyZQorICAgICMgaW4gcHJvZ3Jlc3MuICBBIGRpcmVjdG9yeSBsaWtlIC90bXAgdGhhdCBtYXkgZ2V0IHdpcGVkIG9uIHJlYm9vdCBpcyBPSy4KKyAgICBsb2NraW5nX2RpciA9ICIvdmFyL2xvY2svbHZtIgorCisgICAgIyBPdGhlciBlbnRyaWVzIGNhbiBnbyBoZXJlIHRvIGFsbG93IHlvdSB0byBsb2FkIHNoYXJlZCBsaWJyYXJpZXMKKyAgICAjIGUuZy4gaWYgc3VwcG9ydCBmb3IgTFZNMSBtZXRhZGF0YSB3YXMgY29tcGlsZWQgYXMgYSBzaGFyZWQgbGlicmFyeSB1c2UKKyAgICAjICAgZm9ybWF0X2xpYnJhcmllcyA9ICJsaWJsdm0yZm9ybWF0MS5zbyIgCisgICAgIyBGdWxsIHBhdGhuYW1lcyBjYW4gYmUgZ2l2ZW4uCisKKyAgICAjIFNlYXJjaCB0aGlzIGRpcmVjdG9yeSBmaXJzdCBmb3Igc2hhcmVkIGxpYnJhcmllcy4KKyAgICAjICAgbGlicmFyeV9kaXIgPSAiL2xpYiIKK30KKworYWN0aXZhdGlvbiB7CisgICAgIyBEZXZpY2UgdXNlZCBpbiBwbGFjZSBvZiBtaXNzaW5nIHN0cmlwZXMgaWYgYWN0aXZhdGluZyBpbmNvbXBsZXRlIHZvbHVtZS4KKyAgICAjIEZvciBub3csIHlvdSBuZWVkIHRvIHNldCB0aGlzIHVwIHlvdXJzZWxmIGZpcnN0IChlLmcuIHdpdGggJ2Rtc2V0dXAnKQorICAgICMgRm9yIGV4YW1wbGUsIHlvdSBjb3VsZCBtYWtlIGl0IHJldHVybiBJL08gZXJyb3JzIHVzaW5nIHRoZSAnZXJyb3InIAorICAgICMgdGFyZ2V0IG9yIG1ha2UgaXQgcmV0dXJuIHplcm9zLgorICAgIG1pc3Npbmdfc3RyaXBlX2ZpbGxlciA9ICIvZGV2L2lvZXJyb3IiCisKKyAgICAjIFNpemUgKGluIEtCKSBvZiBlYWNoIGNvcHkgb3BlcmF0aW9uIHdoZW4gbWlycm9yaW5nCisgICAgbWlycm9yX3JlZ2lvbl9zaXplID0gNTEyCisKKyAgICAjIEhvdyBtdWNoIHN0YWNrIChpbiBLQikgdG8gcmVzZXJ2ZSBmb3IgdXNlIHdoaWxlIGRldmljZXMgc3VzcGVuZGVkCisgICAgcmVzZXJ2ZWRfc3RhY2sgPSAyNTYKKworICAgICMgSG93IG11Y2ggbWVtb3J5IChpbiBLQikgdG8gcmVzZXJ2ZSBmb3IgdXNlIHdoaWxlIGRldmljZXMgc3VzcGVuZGVkCisgICAgcmVzZXJ2ZWRfbWVtb3J5ID0gODE5MgorCisgICAgIyBOaWNlIHZhbHVlIHVzZWQgd2hpbGUgZGV2aWNlcyBzdXNwZW5kZWQKKyAgICBwcm9jZXNzX3ByaW9yaXR5ID0gLTE4CisKKyAgICAjIElmIHZvbHVtZV9saXN0IGlzIGRlZmluZWQsIGVhY2ggTFYgaXMgb25seSBhY3RpdmF0ZWQgaWYgdGhlcmUgaXMgYQorICAgICMgbWF0Y2ggYWdhaW5zdCB0aGUgbGlzdC4KKyAgICAjICAgInZnbmFtZSIgYW5kICJ2Z25hbWUvbHZuYW1lIiBhcmUgbWF0Y2hlZCBleGFjdGx5LgorICAgICMgICAiQHRhZyIgbWF0Y2hlcyBhbnkgdGFnIHNldCBpbiB0aGUgTFYgb3IgVkcuCisgICAgIyAgICJAKiIgbWF0Y2hlcyBpZiBhbnkgdGFnIGRlZmluZWQgb24gdGhlIGhvc3QgaXMgYWxzbyBzZXQgaW4gdGhlIExWIG9yIFZHCisgICAgIworICAgICMgdm9sdW1lX2xpc3QgPSBbICJ2ZzEiLCAidmcyL2x2b2wxIiwgIkB0YWcxIiwgIkAqIiBdCit9CisKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgQWR2YW5jZWQgc2VjdGlvbiAjCisjIyMjIyMjIyMjIyMjIyMjIyMjIworCisjIE1ldGFkYXRhIHNldHRpbmdzCisjCisjIG1ldGFkYXRhIHsKKyAgICAjIERlZmF1bHQgbnVtYmVyIG9mIGNvcGllcyBvZiBtZXRhZGF0YSB0byBob2xkIG9uIGVhY2ggUFYuICAwLCAxIG9yIDIuCisgICAgIyBZb3UgbWlnaHQgd2FudCB0byBvdmVycmlkZSBpdCBmcm9tIHRoZSBjb21tYW5kIGxpbmUgd2l0aCAwIAorICAgICMgd2hlbiBydW5uaW5nIHB2Y3JlYXRlIG9uIG5ldyBQVnMgd2hpY2ggYXJlIHRvIGJlIGFkZGVkIHRvIGxhcmdlIFZHcy4KKworICAgICMgcHZtZXRhZGF0YWNvcGllcyA9IDEKKworICAgICMgQXBwcm94aW1hdGUgZGVmYXVsdCBzaXplIG9mIG9uLWRpc2sgbWV0YWRhdGEgYXJlYXMgaW4gc2VjdG9ycy4KKyAgICAjIFlvdSBzaG91bGQgaW5jcmVhc2UgdGhpcyBpZiB5b3UgaGF2ZSBsYXJnZSB2b2x1bWUgZ3JvdXBzIG9yCisgICAgIyB5b3Ugd2FudCB0byByZXRhaW4gYSBsYXJnZSBvbi1kaXNrIGhpc3Rvcnkgb2YgeW91ciBtZXRhZGF0YSBjaGFuZ2VzLgorCisgICAgIyBwdm1ldGFkYXRhc2l6ZSA9IDI1NQorCisgICAgIyBMaXN0IG9mIGRpcmVjdG9yaWVzIGhvbGRpbmcgbGl2ZSBjb3BpZXMgb2YgdGV4dCBmb3JtYXQgbWV0YWRhdGEuCisgICAgIyBUaGVzZSBkaXJlY3RvcmllcyBtdXN0IG5vdCBiZSBvbiBsb2dpY2FsIHZvbHVtZXMhCisgICAgIyBJdCdzIHBvc3NpYmxlIHRvIHVzZSBMVk0yIHdpdGggYSBjb3VwbGUgb2YgZGlyZWN0b3JpZXMgaGVyZSwKKyAgICAjIHByZWZlcmFibHkgb24gZGlmZmVyZW50IChub24tTFYpIGZpbGVzeXN0ZW1zLCBhbmQgd2l0aCBubyBvdGhlciAKKyAgICAjIG9uLWRpc2sgbWV0YWRhdGEgKHB2bWV0YWRhdGFjb3BpZXMgPSAwKS4gT3IgdGhpcyBjYW4gYmUgaW4KKyAgICAjIGFkZGl0aW9uIHRvIG9uLWRpc2sgbWV0YWRhdGEgYXJlYXMuCisgICAgIyBUaGUgZmVhdHVyZSB3YXMgb3JpZ2luYWxseSBhZGRlZCB0byBzaW1wbGlmeSB0ZXN0aW5nIGFuZCBpcyBub3QKKyAgICAjIHN1cHBvcnRlZCB1bmRlciBsb3cgbWVtb3J5IHNpdHVhdGlvbnMgLSB0aGUgbWFjaGluZSBjb3VsZCBsb2NrIHVwLgorICAgICMKKyAgICAjIE5ldmVyIGVkaXQgYW55IGZpbGVzIGluIHRoZXNlIGRpcmVjdG9yaWVzIGJ5IGhhbmQgdW5sZXNzIHlvdQorICAgICMgeW91IGFyZSBhYnNvbHV0ZWx5IHN1cmUgeW91IGtub3cgd2hhdCB5b3UgYXJlIGRvaW5nISBVc2UKKyAgICAjIHRoZSBzdXBwbGllZCB0b29sc2V0IHRvIG1ha2UgY2hhbmdlcyAoZS5nLiB2Z2NmZ3Jlc3RvcmUpLgorCisgICAgIyBkaXJzID0gWyAiL2V0Yy9sdm0vbWV0YWRhdGEiLCAiL21udC9kaXNrMi9sdm0vbWV0YWRhdGEyIiBdCisjfQorCisjIEV2ZW50IGRhZW1vbgorIworZG1ldmVudGQgeworICAgICMgbWlycm9yX2xpYnJhcnkgaXMgdGhlIGxpYnJhcnkgdXNlZCB3aGVuIG1vbml0b3JpbmcgYSBtaXJyb3IgZGV2aWNlLgorICAgICMKKyAgICAjICJsaWJkZXZtYXBwZXItZXZlbnQtbHZtMm1pcnJvci5zbyIgYXR0ZW1wdHMgdG8gcmVjb3ZlciBmcm9tCisgICAgIyBmYWlsdXJlcy4gIEl0IHJlbW92ZXMgZmFpbGVkIGRldmljZXMgZnJvbSBhIHZvbHVtZSBncm91cCBhbmQKKyAgICAjIHJlY29uZmlndXJlcyBhIG1pcnJvciBhcyBuZWNlc3NhcnkuIElmIG5vIG1pcnJvciBsaWJyYXJ5IGlzCisgICAgIyBwcm92aWRlZCwgbWlycm9ycyBhcmUgbm90IG1vbml0b3JlZCB0aHJvdWdoIGRtZXZlbnRkLgorCisgICAgbWlycm9yX2xpYnJhcnkgPSAiQGxpYmRpckAvZGV2aWNlLW1hcHBlci9saWJkZXZtYXBwZXItZXZlbnQtbHZtMm1pcnJvci5zbyIKKworICAgICMgc25hcHNob3RfbGlicmFyeSBpcyB0aGUgbGlicmFyeSB1c2VkIHdoZW4gbW9uaXRvcmluZyBhIHNuYXBzaG90IGRldmljZS4KKyAgICAjCisgICAgIyAibGliZGV2bWFwcGVyLWV2ZW50LWx2bTJzbmFwc2hvdC5zbyIgbW9uaXRvcnMgdGhlIGZpbGxpbmcgb2YKKyAgICAjIHNuYXBzaG90cyBhbmQgZW1pdHMgYSB3YXJuaW5nIHRocm91Z2ggc3lzbG9nIHdoZW4gdGhlIHVzZSBvZgorICAgICMgdGhlIHNuYXBzaG90IGV4Y2VlZHMgODAlLiBUaGUgd2FybmluZyBpcyByZXBlYXRlZCB3aGVuIDg1JSwgOTAlIGFuZAorICAgICMgOTUlIG9mIHRoZSBzbmFwc2hvdCBpcyBmaWxsZWQuCisKKyAgICBzbmFwc2hvdF9saWJyYXJ5ID0gIkBsaWJkaXJAL2RldmljZS1tYXBwZXIvbGliZGV2bWFwcGVyLWV2ZW50LWx2bTJzbmFwc2hvdC5zbyIKKworICAgICMgdGhpbl9saWJyYXJ5IGlzIHRoZSBsaWJyYXJ5IHVzZWQgd2hlbiBtb25pdG9yaW5nIGEgdGhpbiBkZXZpY2UuCisgICAgIworICAgICMgImxpYmRldm1hcHBlci1ldmVudC1sdm0ydGhpbi5zbyIgbW9uaXRvcnMgdGhlIGZpbGxpbmcgb2YKKyAgICAjIHBvb2wgYW5kIGVtaXRzIGEgd2FybmluZyB0aHJvdWdoIHN5c2xvZyB3aGVuIHRoZSB1c2Ugb2YKKyAgICAjIHRoZSBwb29sIGV4Y2VlZHMgODAlLiBUaGUgd2FybmluZyBpcyByZXBlYXRlZCB3aGVuIDg1JSwgOTAlIGFuZAorICAgICMgOTUlIG9mIHRoZSBwb29sIGlzIGZpbGxlZC4KKworICAgIHRoaW5fbGlicmFyeSA9ICJAbGliZGlyQC9kZXZpY2UtbWFwcGVyL2xpYmRldm1hcHBlci1ldmVudC1sdm0ydGhpbi5zbyIKKworICAgICMgRnVsbCBwYXRoIG9mIHRoZSBkbWV2ZW50ZCBiaW5hcnkuCisgICAgIworICAgICMgZXhlY3V0YWJsZSA9ICJARE1FVkVOVERfUEFUSEAiCit9CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHZtMi9sdm0yXzIuMDIuMTM4LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2x2bTJfMi4wMi4xMzguYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTNhODY2ZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHZtMi9sdm0yXzIuMDIuMTM4LmJiCkBAIC0wLDAgKzEsNCBAQAorcmVxdWlyZSBsdm0yLmluYworCitTUkNfVVJJW21kNXN1bV0gPSAiYzY2MGUwMmFkNDU4NmExZDI5N2I2YmVmYmU4NTU1NmQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTM4NzhhNGJhNGY3MGQ5ZjJkMGQ5MTllYjg1YmM1MTY1MmE1ODc3NmI1NDI4ZWM4ZTdlMzI3NjlkMzMyZjU5NiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHppcC9semlwXzEuMTYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x6aXAvbHppcF8xLjE2LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFmMGI2YWUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x6aXAvbHppcF8xLjE2LmJiCkBAIC0wLDAgKzEsNDEgQEAKK1NVTU1BUlkgPSAiTG9zc2xlc3MgZGF0YSBjb21wcmVzc29yIGJhc2VkIG9uIHRoZSBMWk1BIGFsZ29yaXRobSIKK0hPTUVQQUdFID0gImh0dHA6Ly9semlwLm5vbmdudS5vcmcvbHppcC5odG1sIgorU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgorTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03NmQ2ZTMwMGZmZDhmYjlkMThiZDliMTM2YTliYmExMyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9kZWNvZGVyLmNjO2VuZGxpbmU9MTY7bWQ1PTA4MDkxMjhhYzMyMTYzMjUyODQ2ZTA5YTcwYzhiODBiIgorCitTUkNfVVJJID0gIiR7U0FWQU5OQUhfR05VX01JUlJPUn0vbHppcC9semlwLSR7UFZ9LnRhci5neiIKKworU1JDX1VSSVttZDVzdW1dID0gIjcxNmE5ODc2ZGM1OTVlYzUyZDRmM2JkYTgxZTQyNDcxIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjEyOGNjMjViYWY5MmM4YjY5NzAwODMxZTZmOTg0ZDk1NDAxNjMxOGNjNzhlZGNhODc4NzBkMGMwMzMxMTI3NTEiCisKK0NPTkZJR1VSRU9QVFMgPSAiXAorICAgICctLXNyY2Rpcj0ke1N9JyBcCisgICAgJy0tcHJlZml4PSR7cHJlZml4fScgXAorICAgICctLWV4ZWMtcHJlZml4PSR7ZXhlY19wcmVmaXh9JyBcCisgICAgJy0tYmluZGlyPSR7YmluZGlyfScgXAorICAgICctLWRhdGFkaXI9JHtkYXRhZGlyfScgXAorICAgICctLWluZm9kaXI9JHtpbmZvZGlyfScgXAorICAgICctLXN5c2NvbmZkaXI9JHtzeXNjb25mZGlyfScgXAorICAgICdDWFg9JHtDWFh9JyBcCisgICAgJ0NQUEZMQUdTPSR7Q1BQRkxBR1N9JyBcCisgICAgJ0NYWEZMQUdTPSR7Q1hYRkxBR1N9JyBcCisgICAgJ0xERkxBR1M9JHtMREZMQUdTfScgXAorIgorRVhUUkFfT0VNQUtFID0gIiIKKworQiA9ICIke1N9L29iaiIKK2RvX2NvbmZpZ3VyZSAoKSB7CisgICAgJHtTfS9jb25maWd1cmUgJHtDT05GSUdVUkVPUFRTfQorfQorCitkb19pbnN0YWxsICgpIHsKKyAgICBvZV9ydW5tYWtlICdERVNURElSPSR7RH0nIGluc3RhbGwKKyAgICAjIEluZm8gZGlyIGxpc3RpbmcgaXNuJ3QgaW50ZXJlc3RpbmcgYXQgdGhpcyBwb2ludCBzbyByZW1vdmUgaXQgaWYgaXQgZXhpc3RzLgorICAgIGlmIFsgLWUgIiR7RH0ke2luZm9kaXJ9L2RpciIgXTsgdGhlbgorICAgICAgICBybSAtZiAke0R9JHtpbmZvZGlyfS9kaXIKKyAgICBmaQorfQorCitCQkNMQVNTRVhURU5EICs9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tYWlsY2FwL21haWxjYXBfMi4xLjQ1LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tYWlsY2FwL21haWxjYXBfMi4xLjQ1LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkxMTM2MGYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L21haWxjYXAvbWFpbGNhcF8yLjEuNDUuYmIKQEAgLTAsMCArMSwyMyBAQAorU1VNTUFSWSA9ICJIZWxwZXIgYXBwbGljYXRpb24gYW5kIE1JTUUgdHlwZSBhc3NvY2lhdGlvbnMgZm9yIGZpbGUgdHlwZXMiCitERVNDUklQVElPTiA9ICJUaGUgbWFpbGNhcCBmaWxlIGlzIHVzZWQgYnkgdGhlIG1ldGFtYWlsIHByb2dyYW0uIE1ldGFtYWlsIHJlYWRzIHRoZSBcCittYWlsY2FwIGZpbGUgdG8gZGV0ZXJtaW5lIGhvdyBpdCBzaG91bGQgZGlzcGxheSBub24tdGV4dCBvciBtdWx0aW1lZGlhIFwKK21hdGVyaWFsLiBCYXNpY2FsbHksIG1haWxjYXAgYXNzb2NpYXRlcyBhIHBhcnRpY3VsYXIgdHlwZSBvZiBmaWxlIFwKK3dpdGggYSBwYXJ0aWN1bGFyIHByb2dyYW0gdGhhdCBhIG1haWwgYWdlbnQgb3Igb3RoZXIgcHJvZ3JhbSBjYW4gY2FsbCBcCitpbiBvcmRlciB0byBoYW5kbGUgdGhlIGZpbGUuIE1haWxjYXAgc2hvdWxkIGJlIGluc3RhbGxlZCB0byBhbGxvdyBcCitjZXJ0YWluIHByb2dyYW1zIHRvIGJlIGFibGUgdG8gaGFuZGxlIG5vbi10ZXh0IGZpbGVzLiBcCitcCitBbHNvIGluY2x1ZGVkIGluIHRoaXMgcGFja2FnZSBpcyB0aGUgbWltZS50eXBlcyBmaWxlIHdoaWNoIGNvbnRhaW5zIGEgXAorbGlzdCBvZiBNSU1FIHR5cGVzIGFuZCB0aGVpciBmaWxlbmFtZSBleHRlbnNpb24gYXNzb2NpYXRpb25zLCB1c2VkICBcCitieSBzZXZlcmFsIGFwcGxpY2F0aW9ucyBlLmcuIHRvIGRldGVybWluZSBNSU1FIHR5cGVzIGZvciBmaWxlbmFtZXMuIgorCitTRUNUSU9OID0gIlN5c3RlbSBFbnZpcm9ubWVudC9CYXNlIgorCitTUkNfVVJJID0gImh0dHBzOi8vZ2l0LmZlZG9yYWhvc3RlZC5vcmcvY2dpdC8ke0JQTn0uZ2l0L3NuYXBzaG90LyR7QlBOfS1yMi0xLTQ1LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICIyMzIwYTc3YjJmYzgyMDc4YzlkNmE1OWIyOTIzNGJjOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhNzNlMmY5MzYyNTQ3NTAxNDA2NmY0MTQ4NzNjYjlmMGE0YjExODk5NDJkOTRmYWRlOWEwM2U1OWJlMzc0NWI3IgorTElDRU5TRSA9ICJQRCAmIE1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTEwMGZjZmI4NDUxMmNjYzAzZmZjN2Q4OWFjMzkxMzA1IgorUyA9ICIke1dPUktESVJ9LyR7QlBOfS1yMi0xLTQ1IgorZG9faW5zdGFsbCgpIHsKKyAgICBvZV9ydW5tYWtlIGluc3RhbGwgREVTVERJUj0ke0R9IHN5c2NvbmZkaXI9JHtzeXNjb25mZGlyfSBtYW5kaXI9JHttYW5kaXJ9Cit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L21idWZmZXIvbWJ1ZmZlcl8yMDE0MDMxMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbWJ1ZmZlci9tYnVmZmVyXzIwMTQwMzEwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM0NjdkMjgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L21idWZmZXIvbWJ1ZmZlcl8yMDE0MDMxMC5iYgpAQCAtMCwwICsxLDIzIEBACitERVNDUklQVElPTiA9ICJtYnVmZmVyIGlzIGEgdG9vbCBmb3IgYnVmZmVyaW5nIGRhdGEgc3RyZWFtcyB3aXRoIGEgbGFyZ2Ugc2V0IG9mIHVuaXF1ZSBmZWF0dXJlcy4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lm1haWVyLWtvbW9yLmRlL21idWZmZXIuaHRtbCIKK0xJQ0VOU0UgPSAiR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKK1NFQ1RJT04gPSAiY29uc29sZS9uZXR3b3JrIgorCitTUkNfVVJJID0gIiBcCisgICAgaHR0cDovL3d3dy5tYWllci1rb21vci5kZS9zb2Z0d2FyZS9tYnVmZmVyL21idWZmZXItMjAxNDAzMTAudGd6IFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gIjk5MzdkN2Y2NjZjMTlhMmU2YjI0OTliMDRkYmVjYzQ0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImFiOTBiNmZkY2UxNmRiMmJmMDhiY2RhMGJjNWQyYmZiMDUzYTlhMTYzZDJhMjRmOTVmYmYyNDY0NjA1NDliOTkiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW21kNV0gPSAiLS1lbmFibGUtbWQ1LC0tZGlzYWJsZS1tZDUsb3BlbnNzbCIKKworZG9fY29uZmlndXJlKCkgeworICAgICggY2QgJHtTfTsgZ251LWNvbmZpZ2l6ZSApCisgICAgb2VfcnVuY29uZgorfQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L21jZWxvZy9tY2UtaW5qZWN0X2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbWNlbG9nL21jZS1pbmplY3RfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY4NzYxNDQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L21jZWxvZy9tY2UtaW5qZWN0X2dpdC5iYgpAQCAtMCwwICsxLDIwIEBACitTVU1NQVJZID0gIkxpbnV4IG1hY2hpbmUgY2hlY2sgaW5qZWN0b3IgdG9vbCIKK0RFU0NSSVBUSU9OID0gIm1jZS1pbmplY3QgYWxsb3dzIHRvIGluamVjdCBtYWNoaW5lIGNoZWNrIGVycm9ycyBvbiB0aGUgXAorc29mdHdhcmUgbGV2ZWwgaW50byBhIHJ1bm5pbmcgTGludXgga2VybmVsLiBUaGlzIGlzIGludGVuZGVkIGZvciBcCit2YWxpZGF0aW9uIG9mIHRoZSBrZXJuZWwgbWFjaGluZSBjaGVjayBoYW5kbGVyLiIKK1NFQ1RJT04gPSAiU3lzdGVtIEVudmlyb25tZW50L0Jhc2UiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0Lmtlcm5lbC5vcmcvcHViL3NjbS91dGlscy9jcHUvbWNlL21jZS1pbmplY3QuZ2l0IgorCitTUkNSRVYgPSAiNGNiZTQ2MzIxYjRhODEzNjVmZjNhYWZhZmU2Mzk2NzI2NGRiZmVjNSIKKworTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1JFQURNRTtiZWdpbmxpbmU9MzA7bWQ1PTk0YzE4NzU1MDgyYTJkYTljOWNmOTdjYmEzYWQ0N2Q2IgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitDT01QQVRJQkxFX0hPU1QgPSAnKHg4Nl82NC4qfGkuODYuKiktbGludXgnCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcAorCitFWFRSQV9PRU1BS0UgPSAiZGVzdGRpcj0ke0R9IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tY2Vsb2cvbWNlbG9nL21jZWxvZy1kZWJhc2gucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L21jZWxvZy9tY2Vsb2cvbWNlbG9nLWRlYmFzaC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZWEyZjYyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tY2Vsb2cvbWNlbG9nL21jZWxvZy1kZWJhc2gucGF0Y2gKQEAgLTAsMCArMSwzNiBAQAorRnJvbSA4ZjU3ZDM1NzQ3YTNiM2ZhYmMzMzQ2NjU2MzA3NzM3MzA5MGY4NjljIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+CitEYXRlOiBUdWUsIDIgU2VwIDIwMTQgMDc6MDU6MTUgLTA3MDAKK1N1YmplY3Q6IFtQQVRDSF0gY2FjaGUtZXJyb3ItdHJpZ2dlcjogcmVtb3ZlIGJhc2hpc20KKworVXNlICIkKGNhdCAkRikiIHRvIGluc3RlYWQgb2YgIiQoPCAkRikiIHRvIGRlYmFzaC4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgorLS0tCisgdHJpZ2dlcnMvY2FjaGUtZXJyb3ItdHJpZ2dlciB8ICAgIDQgKystLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS90cmlnZ2Vycy9jYWNoZS1lcnJvci10cmlnZ2VyIGIvdHJpZ2dlcnMvY2FjaGUtZXJyb3ItdHJpZ2dlcgoraW5kZXggZTMyYmZkNi4uNzg1NTI2ZiAxMDA3NTUKKy0tLSBhL3RyaWdnZXJzL2NhY2hlLWVycm9yLXRyaWdnZXIKKysrKyBiL3RyaWdnZXJzL2NhY2hlLWVycm9yLXRyaWdnZXIKK0BAIC0xLDQgKzEsNCBAQAorLSMhL2Jpbi9iYXNoCisrIyEvYmluL3NoCisgIyBjYWNoZSBlcnJvciB0cmlnZ2VyLiBUaGlzIHNoZWxsIHNjcmlwdCBpcyBleGVjdXRlZCBieSBtY2Vsb2cgaW4gZGFlbW9uIG1vZGUKKyAjIHdoZW4gYSBDUFUgcmVwb3J0cyBleGNlc3NpdmUgY29ycmVjdGVkIGNhY2hlIGVycm9ycy4gVGhpcyBjb3VsZCBiZSBhIGluZGljYXRpb24KKyAjIGZvciBmdXR1cmUgdW5jb3JyZWN0ZWQgZXJyb3JzLgorQEAgLTI4LDcgKzI4LDcgQEAgZm9yIGkgaW4gJEFGRkVDVEVEX0NQVVMgOyBkbworIAlsb2dnZXIgLXMgLXAgZGFlbW9uLmNyaXQgLXQgbWNlbG9nICJPZmZsaW5pbmcgQ1BVICRpIGR1ZSB0byBjYWNoZSBlcnJvciB0aHJlc2hvbGQiCisgCUY9JChwcmludGYgIi9zeXMvZGV2aWNlcy9zeXN0ZW0vY3B1L2NwdSVkL29ubGluZSIgJGkpCisgCWVjaG8gMCA+ICRGCistCWlmIFsgIiQoPCAkRikiICE9ICIwIiBdIDsgdGhlbgorKwlpZiBbICIkKGNhdCAkRikiICE9ICIwIiBdIDsgdGhlbgorIAkJbG9nZ2VyIC1zIC1wIGRhZW1vbi53YXJuIC10IG1jZWxvZyAiT2ZmbGluaW5nIENQVSAkaSBmYWlsZWQiCisgCQlFWElUPTEKKyAJZmkKKy0tIAorMS43LjkuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L21jZWxvZy9tY2Vsb2cvcnVuLXB0ZXN0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tY2Vsb2cvbWNlbG9nL3J1bi1wdGVzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYTdhMmM3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tY2Vsb2cvbWNlbG9nL3J1bi1wdGVzdApAQCAtMCwwICsxLDMgQEAKKyMhL2Jpbi9zaAorCittYWtlIC1DIHRlc3RzIHRlc3QKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbWNlbG9nL21jZWxvZ18xLjA5LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tY2Vsb2cvbWNlbG9nXzEuMDkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTQyYjJiYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbWNlbG9nL21jZWxvZ18xLjA5LmJiCkBAIC0wLDAgKzEsMzYgQEAKK1NVTU1BUlkgPSAibWNlbG9nIGRhZW1vbiBhY2NvdW50cyBtZW1vcnkgYW5kIHNvbWUgb3RoZXIgZXJyb3JzIGluIHZhcmlvdXMgd2F5cy4iCitERVNDUklQVElPTiA9ICJtY2Vsb2cgaXMgcmVxdWlyZWQgYnkgYm90aCAzMmJpdCB4ODYgTGludXgga2VybmVscyAoc2luY2UgMi42LjMwKSBcCithbmQgNjRiaXQgTGludXgga2VybmVscyAoc2luY2UgZWFybHkgMi42IGtlcm5lbCByZWxlYXNlcykgdG8gbG9nIG1hY2hpbmUgY2hlY2tzIFwKK2FuZCBzaG91bGQgcnVuIG9uIGFsbCBMaW51eCBzeXN0ZW1zIHRoYXQgbmVlZCBlcnJvciBoYW5kbGluZy4iCitIT01FUEFHRSA9ICJodHRwOi8vbWNlbG9nLm9yZy8iCitTRUNUSU9OID0gIlN5c3RlbSBFbnZpcm9ubWVudC9CYXNlIgorCitTUkNfVVJJID0gImdpdDovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vdXRpbHMvY3B1L21jZS9tY2Vsb2cuZ2l0IFwKKyAgICBmaWxlOi8vbWNlbG9nLWRlYmFzaC5wYXRjaCBcCisgICAgZmlsZTovL3J1bi1wdGVzdCBcCisiCisKK1NSQ1JFViA9ICIwZmM5ZjcwMjIzMmNiMmQ5OTY5OTE2Zjg5OWM2N2MzZTY0ZGVlZGRhIgorCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUkVBRE1FO21kNT0zZWI3NmNhNjRmYTA3YWQ1M2ViYjBlYmI1YjRjOGVkZSIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHB0ZXN0CisKK0NPTVBBVElCTEVfSE9TVCA9ICcoeDg2XzY0Lip8aS44Ni4qKS1saW51eCcKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9jcm9uLmhvdXJseQorICAgIGluc3RhbGwgLW0gMDc1NSAke1N9L21jZWxvZy5jcm9uICR7RH0ke3N5c2NvbmZkaXJ9L2Nyb24uaG91cmx5LworICAgIHNlZCAtaSAncy9iYXNoL3NoLycgJHtEfSR7c3lzY29uZmRpcn0vY3Jvbi5ob3VybHkvbWNlbG9nLmNyb24KK30KKworZG9faW5zdGFsbF9wdGVzdCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke1BURVNUX1BBVEh9CisgICAgY3AgLXIgJHtTfS90ZXN0cyAke1N9L2lucHV0ICR7RH0ke1BURVNUX1BBVEh9CisgICAgc2VkIC1pICdzIy4uLy4uL21jZWxvZyNtY2Vsb2cjJyAke0R9JHtQVEVTVF9QQVRIfS90ZXN0cy90ZXN0Cit9CisKK1JERVBFTkRTXyR7UE59LXB0ZXN0ICs9ICIke1BOfSBtYWtlIGJhc2ggbWNlLWluamVjdCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbWcvZmlsZXMvcmVtb3ZlX25jdXJzZXNfY2hlY2sucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L21nL2ZpbGVzL3JlbW92ZV9uY3Vyc2VzX2NoZWNrLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE2MTM3ZGEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L21nL2ZpbGVzL3JlbW92ZV9uY3Vyc2VzX2NoZWNrLnBhdGNoCkBAIC0wLDAgKzEsMzYgQEAKK2RpZmYgLXV3ciBtZy0yMDExMDkwNS9jb25maWd1cmUgbWctMjAxMTA5MDUtY2hhbmdlZC9jb25maWd1cmUKKy0tLSBtZy0yMDExMDkwNS9jb25maWd1cmUJMjAxMS0wOS0wNSAxMzozNjoxNi4wMDAwMDAwMDAgLTA1MDAKKysrKyBtZy0yMDExMDkwNS1jaGFuZ2VkL2NvbmZpZ3VyZQkyMDE0LTA4LTE0IDEwOjQ2OjE0LjE2ODcxNTQyNSAtMDUwMAorQEAgLTE2MywzMiArMTYzLDYgQEAKKyAgICAgZWNobyAnRmFpbHMuJworIGZpCisgCistCistaWYgWyAhIC1yIC91c3IvaW5jbHVkZS90ZXJtLmggXTsgdGhlbgorLSAgICBub3RlICd0ZXJtLmgnCistICAgIGlmIFsgLXIgL3Vzci9pbmNsdWRlL25jdXJzZXMvdGVybS5oIF07IHRoZW4KKy0JZWNobyAiRm91bmQgaW4gL3Vzci9pbmNsdWRlL25jdXJzZXMiCistCWV4dHJhZmxhZ3M9IiRleHRyYWZsYWdzIC1JL3Vzci9pbmNsdWRlL25jdXJzZXMiCistICAgIGVsc2UKKy0JZm9yIGkgaW4gcGtnIGxvY2FsOyBkbworLQkgICAgaWYgWyAtciAvdXNyLyRpL2luY2x1ZGUvdGVybS5oIF07IHRoZW4KKy0JCWVjaG8gIkZvdW5kIGluIC91c3IvJGkvaW5jbHVkZSIKKy0JCWV4dHJhbGlicz0iJGV4dHJhbGlicyAtTC91c3IvJGkvbGliIgorLQkJZXh0cmFmbGFncz0iJGV4dHJhZmxhZ3MgLUkvdXNyLyRpL2luY2x1ZGUiCistCQlicmVhaworLQkgICAgZWxzZQorLQkJZmFsc2UKKy0JICAgIGZpCistCWRvbmUgfHwKKy0JeworLQkgICAgZWNobyAnTm90IGZvdW5kIScgPiYyCistCSAgICBlY2hvICdEbyB5b3UgaGF2ZSB0aGUgbmN1cnNlcyBkZXZlbCBwYWNrYWdlIGluc3RhbGxlZD8nID4mMgorLQkgICAgZWNobyAnSWYgeW91IGtub3cgd2hlcmUgdGVybS5oIGlzLCBwbGVhc2UgZW1haWwgdGhlIGF1dGhvciEnID4mMgorLQkgICAgZXhpdCAxCistCX0KKy0gICAgZmkKKy1maQorLQorIG5vdGUgJ2Jhc2UgYW5kIGRpcm5hbWUnCisgaWYgZ2NjX2RlZmluZXMgIl9fR0xJQkNfXyIgfHwgZ2NjX2RlZmluZXMgIl9fQ1lHV0lOX18iIDsgdGhlbgorICAgICBlY2hvICdOb3QgcHJlc2VudCwgYWRkaW5nLicKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbWcvbWdfMjAxMTA5MDUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L21nL21nXzIwMTEwOTA1LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU5MjRiYmQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L21nL21nXzIwMTEwOTA1LmJiCkBAIC0wLDAgKzEsMjMgQEAKK1NVTU1BUlkgPSAiQSBwb3J0YWJsZSB2ZXJzaW9uIG9mIHRoZSBtZyBtYWludGFpbmVkIGJ5IHRoZSBPcGVuQlNEIHRlYW0iCitIT01FUEFHRSA9ICJodHRwOi8vaG9tZXBhZ2UuYm9ldGVzLm9yZy9zb2Z0d2FyZS9tZy8iCitMSUNFTlNFID0gIlBEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vdmVyc2lvbi5jO21kNT04MTFlMWI2N2E1Y2Q2MGMxMmIyMThhMmI3YzFhZGJmMiIKK0RFUEVORFMgPSAibmN1cnNlcyIKK1NFQ1RJT04gPSAiY29uc29sZS9lZGl0b3JzIgorCitTUkNfVVJJID0gImh0dHA6Ly9ob21lcGFnZS5ib2V0ZXMub3JnL3NvZnR3YXJlL21nL21nLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9yZW1vdmVfbmN1cnNlc19jaGVjay5wYXRjaCIKKworU1JDX1VSSVttZDVzdW1dID0gIjJkZTM1MzE2ZmE4ZWJhZmU2MDAzZWZhYWU3MGI3MjNlIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjFjZDM3ZDdlNmEzZWVjYzg5MGE1NzE4YzM4YjhmMzg0OTUwNTdiYTkzODU2NzYyYTc1NmNjZWUyZjk2MTgyMjkiCisKK0VYVFJBX09FTUFLRSA9ICItZSBNQUtFRkxBR1M9IgorCitkb19jb25maWd1cmUgKCkgeworICAgIHNlZCAtaSBNYWtlZmlsZS5pbiAtZSAncyxecHJlZml4PS4qLHByZWZpeD0ke3ByZWZpeH0sJworICAgIC4vY29uZmlndXJlCit9CisKK2RvX2luc3RhbGwgKCkgeworICAgIG9lX3J1bm1ha2UgaW5zdGFsbCBERVNURElSPSR7RH0KK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbWltZS1zdXBwb3J0L21pbWUtc3VwcG9ydF8zLjQ4LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9taW1lLXN1cHBvcnQvbWltZS1zdXBwb3J0XzMuNDguYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDYxN2I2NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbWltZS1zdXBwb3J0L21pbWUtc3VwcG9ydF8zLjQ4LmJiCkBAIC0wLDAgKzEsNTggQEAKK1NFQ1RJT04gPSAiYmFzZSIKK1NVTU1BUlkgPSAiTUlNRSBmaWxlcyAnbWltZS50eXBlcycgJiAnbWFpbGNhcCcsIGFuZCBzdXBwb3J0IHByb2dyYW1zIgorTElDRU5TRSA9ICJQRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2RlYmlhbi9SRUFETUU7bWQ1PTM2YmJlMmFjZTBhMDVjM2ZiNjg0YjczMjA4ZmJmMzBiIgorCitERVBFTkRTID0gImZpbGUiCitSREVQRU5EU18ke1BOfSA9ICJwZXJsIgorUlJFQ09NTUVORFNfJHtQTn0gPSAiZmlsZSIKKworU1JDX1VSSSA9ICIke0RFQklBTl9NSVJST1J9L21haW4vbS9taW1lLXN1cHBvcnQvbWltZS1zdXBwb3J0XyR7UFZ9LTEudGFyLmd6IgorUyA9ICIke1dPUktESVJ9LyR7QlBOfSIKKworRklMRVNfJHtQTn0gKz0gIiAke2xpYmRpcn0vbWltZSIKKworZG9jZGlyX2FwcGVuZCA9ICIvJHtCUE59IgorCitkb19pbnN0YWxsICgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9CisgICAgaW5zdGFsbCAtZCAke0R9JHtsaWJkaXJ9L21pbWUvcGFja2FnZXMKKyAgICBpbnN0YWxsIC1kICR7RH0ke2RvY2Rpcn0KKyAgICBpbnN0YWxsIC1kICR7RH0ke3NiaW5kaXJ9CisgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtZCAke0R9JHttYW5kaXJ9L21hbjEKKyAgICBpbnN0YWxsIC1kICR7RH0ke21hbmRpcn0vbWFuNQorICAgIGluc3RhbGwgLWQgJHtEfSR7bWFuZGlyfS9tYW44CisgICAgaW5zdGFsbCAtbSA2NDQgbWltZS50eXBlcyAgICAgICAgICR7RH0ke3N5c2NvbmZkaXJ9LworICAgIGluc3RhbGwgLW0gNjQ0IG1haWxjYXAgICAgICAgICAgICAke0R9JHtsaWJkaXJ9L21pbWUvCisgICAgaW5zdGFsbCAtbSA2NDQgbWFpbGNhcC5vcmRlciAgICAgICAgICAgJHtEfSR7c3lzY29uZmRpcn0vCisgICAgaW5zdGFsbCAtbSA2NDQgbWFpbGNhcC5tYW4gICAgICAgICR7RH0ke21hbmRpcn0vbWFuNS9tYWlsY2FwLjUKKyAgICBpbnN0YWxsIC1tIDY0NCBtYWlsY2FwLm9yZGVyLm1hbiAgICAke0R9JHttYW5kaXJ9L21hbjUvbWFpbGNhcC5vcmRlci41CisjICAgIGluc3RhbGwgLW0gNzU1IGluc3RhbGwtbWltZSAgICAgICAgJHtEfSR7c2JpbmRpcn0vCisjICAgIGluc3RhbGwgLW0gNjQ0IGluc3RhbGwtbWltZS5tYW4gICAgICAgICR7RH0ke21hbmRpcn0vbWFuOC9pbnN0YWxsLW1pbWUuOAorICAgIGluc3RhbGwgLW0gNzU1IHVwZGF0ZS1taW1lICAgICAgICAke0R9JHtzYmluZGlyfS8KKyAgICBpbnN0YWxsIC1tIDY0NCB1cGRhdGUtbWltZS5tYW4gICAgICAgICR7RH0ke21hbmRpcn0vbWFuOC91cGRhdGUtbWltZS44CisgICAgaW5zdGFsbCAtbSA3NTUgcnVuLW1haWxjYXAgICAgICAgICR7RH0ke2JpbmRpcn0vCisgICAgaW5zdGFsbCAtbSA2NDQgcnVuLW1haWxjYXAubWFuICAgICAgICAke0R9JHttYW5kaXJ9L21hbjEvcnVuLW1haWxjYXAuMQorIyAgICBpbnN0YWxsIC1tIDY0NCByZmNzLyogICAgICAgICAgICAke0R9JHtkb2NkaXJ9LworICAgIGluc3RhbGwgLW0gNjQ0IGRlYmlhbi9jaGFuZ2Vsb2cgICAgICAgICR7RH0ke2RvY2Rpcn0vY2hhbmdlbG9nLkRlYmlhbgorICAgIGluc3RhbGwgLW0gNjQ0IGRlYmlhbi9SRUFETUUgICAgICAgICR7RH0ke2RvY2Rpcn0vY29weXJpZ2h0CisgICAgaW5zdGFsbCAtbSA3NTUgZGViaWFuLXZpZXcgICAgICAgICR7RH0ke2xpYmRpcn0vbWltZS8KKyAgICBpbnN0YWxsIC1tIDc1NSBwbGF5YXVkaW8gICAgICAgICR7RH0ke2xpYmRpcn0vbWltZS8KKyAgICBpbnN0YWxsIC1tIDc1NSBwbGF5ZHNwICAgICAgICAgICAgJHtEfSR7bGliZGlyfS9taW1lLworICAgIGluc3RhbGwgLW0gNjQ0IG1haWxjYXAuZW50cmllcyAgICAgICAgJHtEfSR7bGliZGlyfS9taW1lL3BhY2thZ2VzL21pbWUtc3VwcG9ydAorICAgIGNkICR7RH0ke21hbmRpcn07IGd6aXAgLTlmdiAqLyoKKyAgICBjZCAke0R9JHtkb2NkaXJ9OyBnemlwIC05diAqCisgICAgY2QgJHtEfSR7ZG9jZGlyfTsgZ3VuemlwIGNvcHlyaWdodC5negorICAgIGNkICR7RH0ke2JpbmRpcn07IGxuIC1zIHJ1bi1tYWlsY2FwIHNlZQorICAgIGNkICR7RH0ke2JpbmRpcn07IGxuIC1zIHJ1bi1tYWlsY2FwIGVkaXQKKyAgICBjZCAke0R9JHtiaW5kaXJ9OyBsbiAtcyBydW4tbWFpbGNhcCBjb21wb3NlCisgICAgY2QgJHtEfSR7YmluZGlyfTsgbG4gLXMgcnVuLW1haWxjYXAgcHJpbnQKKyAgICBjZCAke0R9JHttYW5kaXJ9L21hbjE7IGxuIC1zIHJ1bi1tYWlsY2FwLjEuZ3ogc2VlLjEuZ3oKKyAgICBjZCAke0R9JHttYW5kaXJ9L21hbjE7IGxuIC1zIHJ1bi1tYWlsY2FwLjEuZ3ogZWRpdC4xLmd6CisgICAgY2QgJHtEfSR7bWFuZGlyfS9tYW4xOyBsbiAtcyBydW4tbWFpbGNhcC4xLmd6IGNvbXBvc2UuMS5negorICAgIGNkICR7RH0ke21hbmRpcn0vbWFuMTsgbG4gLXMgcnVuLW1haWxjYXAuMS5neiBwcmludC4xLmd6Cit9CisKK1NSQ19VUklbbWQ1c3VtXSA9ICJkNmU1ZDcxNWUzMzExNDczNTJjNTBjMTU4ZGJkZWM2ZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhNTI5Yzc4OTJjYjc4NmY1MTRhZjcxZjRjYTVhNGMzZWJjNThiNTM4YTQ5ZmY5NTljMGQ5NzU5MmQzOGYwNDBhIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9taW5pLWljb252L21pbmktaWNvbnYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L21pbmktaWNvbnYvbWluaS1pY29udi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZjE1NDhhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9taW5pLWljb252L21pbmktaWNvbnYuYmIKQEAgLTAsMCArMSwyMCBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTIgS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgQ09QWUlORy5NSVQgZm9yIHRoZSB0ZXJtcykKKworU1VNTUFSWSA9ICJBIG1pbmltYWwgaWNvbnYgaW1wbGVtZW50YXRpb24gdy8gc3VwcG9ydCBmb3IgVVRGLTgsIEFTQ0lJLCBJU08tODg1OS0xIgorSE9NRVBBR0UgPSAiaHR0cDovL3RpbmRlcmJveC5kZXYuZ2VudG9vLm9yZy9wb3J0YWdlL2xvY2FsL21pc2MvbWluaS1pY29udi8iCitMSUNFTlNFID0gIk1QTC0xLjEiCitTRUNUSU9OID0gImxpYnMiCitERVBFTkRTID0gIiIKK1BST1ZJREVTID0gInZpcnR1YWwvbGliaWNvbnYiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9pY29udi5jO2JlZ2lubGluZT0xO2VuZGxpbmU9NjttZDU9MzVhZjlkOTkyNDMyN2ZlOGEwYTFmZTNhMmNiNDU0YzgiCitTUkNfVVJJID0gImh0dHA6Ly9taXJyb3IubWVsZWV3ZWIubmV0L3B1Yi9saW51eC9nZW50b28vZGlzdGZpbGVzL21pbmktaWNvbnYudGFyLmJ6MiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI4NDQxMjIyMWUyNjUwNWEyYjM4NTVkNGExY2RjZDBlMCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzNTUyMjYyYmYxYmNmOGU4NTlhMmEzYTdhZGZiMDM2N2FmODU5MzM4M2U3MzBjNDkyZTk4MTQ3N2FhYzBhMGQ0IgorCisKK1MgPSAiJHtXT1JLRElSfS8ke1BOfSIKKworZG9faW5zdGFsbCgpIHsKKyAgICBvZV9ydW5tYWtlIGluc3RhbGwgREVTVERJUj0ke0R9IFBSRUZJWD0ke3ByZWZpeH0gTElCPSR7YmFzZV9saWJkaXJ9Cit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L21pbmluaS9taW5pbmlfMS4yLmIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L21pbmluaS9taW5pbmlfMS4yLmIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjYwN2RkOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbWluaW5pL21pbmluaV8xLjIuYi5iYgpAQCAtMCwwICsxLDM5IEBACitTVU1NQVJZID0gIkEgbWluaW1hbCBJTkkgZmlsZSBwYXJzZXIiCitERVNDUklQVElPTiA9ICJtaW5JbmkgaXMgYSBwcm9ncmFtbWVyJ3MgbGlicmFyeSB0byByZWFkIGFuZCB3cml0ZSBJTkkgZmlsZXMgaW4gXAorZW1iZWRkZWQgc3lzdGVtcy4gbWluSW5pIHRha2VzIGxpdHRsZSByZXNvdXJjZXMsIGhhcyBhIGRldGVybWluaXN0aWMgbWVtb3J5IFwKK2Zvb3RwcmludCBhbmQgY2FuIGJlIGNvbmZpZ3VyZWQgZm9yIHZhcmlvdXMga2luZHMgb2YgZmlsZSBJL08gbGlicmFyaWVzLiBtaW5JbmkgXAorcHJvdmlkZXMgZnVuY3Rpb25hbGl0eSBmb3IgcmVhZGluZywgd3JpdGluZyBhbmQgZGVsZXRpbmcga2V5cyBmcm9tIGFuIElOSSBmaWxlLCBcCithbGwgaW4gODMwIGxpbmVzIG9mIChjb21tZW50ZWQpIHNvdXJjZSBjb2RlICh2ZXJzaW9uIDEuMikgaW4gQyAodGhlIGNvZGUgYWxzbyBcCitjb21waWxlcyBpbiBDKysgYW5kIGNvbWVzIHdpdGggYSB3cmFwcGVyIGNsYXNzKS4iCitIT01FUEFHRSA9ICJodHRwczovL2NvZGUuZ29vZ2xlLmNvbS9wL21pbmluaS8iCisKKyMgTGljZW5zZSBpcyBBcGFjaGUgMi4wIHdpdGggYW4gZXhjZXB0aW9uIHRvIGFsbG93IG9iamVjdCBjb2RlIGJ1aWx0IGZyb20KKyMgdW5tb2RpZmllZCBvcmlnaW5hbCBzb3VyY2VzIHRvIGJlIGRpc3RyaWJ1dGVkIG1vcmUgZnJlZWx5LiBTZWUgTElDRU5TRQorIyBmaWxlIGZvciBkZXRhaWxzLgorCitMSUNFTlNFID0gIkFwYWNoZS0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1lYjIxNDgxYWQ0NWM1NTc4YWU4YzhkMzdiOGM4ZDc2ZCIKKworU1JDX1VSSSA9ICJodHRwOi8vbWluaW5pLmdvb2dsZWNvZGUuY29tL2ZpbGVzL21pbkluaV8xMmIuemlwO3N1YmRpcj0ke0JQfSIKKworU1JDX1VSSVttZDVzdW1dID0gIjMyNzQwNjIxMDk4ZTNmMGEzMjFjN2MyM2Y0YmNiYzVkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImIwODgzOWFmNzRhY2IzNjA2MWZiNzZlMTEyM2JmNTY3MTFiYzVjZjdhMDhiMzJlMTg5YjBhZDc4YTJlODg4ZTIiCisKK2RvX2NvbmZpZ3VyZVtub2V4ZWNdID0gIjEiCisKK2RvX2NvbXBpbGUoKSB7CisgICAgJHtDQ30gJHtDRkxBR1N9IC1mUElDIC1jIG1pbkluaS5jIC1vIG1pbkluaS5vCisgICAgJHtDQ30gJHtMREZMQUdTfSAtc2hhcmVkIC1XbCwtc29uYW1lLGxpYm1pbmluaS5zby4wIG1pbkluaS5vIC1vIGxpYm1pbmluaS5zby4wLjAKK30KKworZG9faW5zdGFsbCAoKSB7CisKKyAgICBpbnN0YWxsIC1kICR7RH0ke2xpYmRpcn0KKyAgICBpbnN0YWxsIC1tIDA2NDQgbGlibWluaW5pLnNvLjAuMCAke0R9JHtsaWJkaXJ9LworICAgIGxuIC1zIGxpYm1pbmluaS5zby4wLjAgJHtEfSR7bGliZGlyfS9saWJtaW5pbmkuc28KKyAgICBsbiAtcyBsaWJtaW5pbmkuc28uMC4wICR7RH0ke2xpYmRpcn0vbGlibWluaW5pLnNvLjAKKworICAgIGluc3RhbGwgLWQgJHtEfSR7aW5jbHVkZWRpcn0vbWluaW5pCisgICAgaW5zdGFsbCAtbSAwNjQ0IG1pbkluaS5oICR7RH0ke2luY2x1ZGVkaXJ9L21pbmluaS8KKyAgICBpbnN0YWxsIC1tIDA2NDQgbWluR2x1ZS1zdGRpby5oICR7RH0ke2luY2x1ZGVkaXJ9L21pbmluaS9taW5HbHVlLmgKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbW9uZ29kYi9tb25nb2RiLzAwMDEtVGVsbC1zY29ucy10by11c2UtYnVpbGQtc2V0dGluZ3MtZnJvbS1lbnZpcm9ubWVudC12YS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbW9uZ29kYi9tb25nb2RiLzAwMDEtVGVsbC1zY29ucy10by11c2UtYnVpbGQtc2V0dGluZ3MtZnJvbS1lbnZpcm9ubWVudC12YS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOWQ0OWQyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tb25nb2RiL21vbmdvZGIvMDAwMS1UZWxsLXNjb25zLXRvLXVzZS1idWlsZC1zZXR0aW5ncy1mcm9tLWVudmlyb25tZW50LXZhLnBhdGNoCkBAIC0wLDAgKzEsNjcgQEAKK0Zyb20gNTMzNjhkM2Y0YWRjMDlkZDg0MjM0YTlhZjMxNzcxYmNkOGNhMjc1NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFN2ZW4gRWJlbmZlbGQgPHN2ZW4uZWJlbmZlbGRAZ21haWwuY29tPgorRGF0ZTogRnJpLCAxNSBKYW4gMjAxNiAyMjo0MToyOCArMDEwMAorU3ViamVjdDogW1BBVENIXSBUZWxsIHNjb25zIHRvIHVzZSBidWlsZCBzZXR0aW5ncyBmcm9tIGVudmlyb25tZW50IHZhcmlhYmxlcworCitTaWduZWQtb2ZmLWJ5OiBTdmVuIEViZW5mZWxkIDxzdmVuLmViZW5mZWxkQGdtYWlsLmNvbT4KKy0tLQorIFNDb25zdHJ1Y3QgICAgICAgICAgICAgICAgfCA4ICsrKysrKy0tCisgc3JjL21vbmdvL3V0aWwvU0NvbnNjcmlwdCB8IDIgKysKKyAyIGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL1NDb25zdHJ1Y3QgYi9TQ29uc3RydWN0CitpbmRleCA1MDgyYTRiLi4zMzcwZjcwIDEwMDY0NAorLS0tIGEvU0NvbnN0cnVjdAorKysrIGIvU0NvbnN0cnVjdAorQEAgLTUwNyw2ICs1MDcsNyBAQCBkZWYgdmFyaWFibGVfYXJjaF9jb252ZXJ0ZXIodmFsKToKKyAgICAgICAgICdhbWQ2NCc6ICAneDg2XzY0JywKKyAgICAgICAgICdlbXQ2NCc6ICAgJ3g4Nl82NCcsCisgICAgICAgICAneDg2JzogICAgJ2kzODYnLAorKyAgICAgICAgJ2FhcmNoNjQnOiAnYXJtNjQnLAorICAgICB9CisgICAgIHZhbCA9IHZhbC5sb3dlcigpCisgCitAQCAtNTY4LDcgKzU2OSw4IEBAIGVudl92YXJzLkFkZCgnQVJGTEFHUycsCisgICAgIGNvbnZlcnRlcj12YXJpYWJsZV9zaGxleF9jb252ZXJ0ZXIpCisgCisgZW52X3ZhcnMuQWRkKCdDQycsCistICAgIGhlbHA9J1NlbGVjdCB0aGUgQyBjb21waWxlciB0byB1c2UnKQorKyAgICBoZWxwPSdTZWxlY3QgdGhlIEMgY29tcGlsZXIgdG8gdXNlJywKKysgICAgZGVmYXVsdD1vcy5nZXRlbnYoJ0NDJykpCisgCisgZW52X3ZhcnMuQWRkKCdDQ0ZMQUdTJywKKyAgICAgaGVscD0nU2V0cyBmbGFncyBmb3IgdGhlIEMgYW5kIEMrKyBjb21waWxlcicsCitAQCAtNTg4LDcgKzU5MCw4IEBAIGVudl92YXJzLkFkZCgnQ1BQUEFUSCcsCisgICAgIGNvbnZlcnRlcj12YXJpYWJsZV9zaGxleF9jb252ZXJ0ZXIpCisgCisgZW52X3ZhcnMuQWRkKCdDWFgnLAorLSAgICBoZWxwPSdTZWxlY3QgdGhlIEMrKyBjb21waWxlciB0byB1c2UnKQorKyAgICBoZWxwPSdTZWxlY3QgdGhlIEMrKyBjb21waWxlciB0byB1c2UnLAorKyAgICBkZWZhdWx0PW9zLmdldGVudignQ1hYJykpCisgCisgZW52X3ZhcnMuQWRkKCdDWFhGTEFHUycsCisgICAgIGhlbHA9J1NldHMgZmxhZ3MgZm9yIHRoZSBDKysgY29tcGlsZXInLAorQEAgLTgxOCw2ICs4MjEsNyBAQCBlbnZEaWN0ID0gZGljdChCVUlMRF9ST09UPWJ1aWxkRGlyLAorICAgICAgICAgICAgICAgICkKKyAKKyBlbnYgPSBFbnZpcm9ubWVudCh2YXJpYWJsZXM9ZW52X3ZhcnMsICoqZW52RGljdCkKKytlbnYuUHJlcGVuZEVOVlBhdGgoJ1BBVEgnLCBvcy5nZXRlbnYoJ1BBVEgnKSkKKyBkZWwgZW52RGljdAorIAorIGVudi5BZGRNZXRob2QoZW52X29zX2lzX3dyYXBwZXIsICdUYXJnZXRPU0lzJykKK2RpZmYgLS1naXQgYS9zcmMvbW9uZ28vdXRpbC9TQ29uc2NyaXB0IGIvc3JjL21vbmdvL3V0aWwvU0NvbnNjcmlwdAoraW5kZXggNmFkZDYwMi4uOGQwNWE2MiAxMDA2NDQKKy0tLSBhL3NyYy9tb25nby91dGlsL1NDb25zY3JpcHQKKysrKyBiL3NyYy9tb25nby91dGlsL1NDb25zY3JpcHQKK0BAIC0yNTEsNiArMjUxLDggQEAgaWYgZ2V0X29wdGlvbignYWxsb2NhdG9yJykgPT0gJ3RjbWFsbG9jJzoKKyAgICAgICAgICAgICAgICAgJ01PTkdPX0hBVkVfR1BFUkZUT09MU19HRVRfVEhSRUFEX0NBQ0hFX1NJWkUnCisgICAgICAgICAgICAgXQorICAgICAgICAgKQorKyAgICBpZiBub3QgdXNlX3N5c3RlbV92ZXJzaW9uX29mX2xpYnJhcnkoJ3ZhbGdyaW5kJyk6CisrICAgICAgICB0Y21zcEVudi5JbmplY3RUaGlyZFBhcnR5SW5jbHVkZVBhdGhzKCd2YWxncmluZCcpCisgCisgICAgIHRjbXNwRW52LkxpYnJhcnkoCisgICAgICAgICB0YXJnZXQ9J3RjbWFsbG9jX3NldF9wYXJhbWV0ZXInLAorLS0gCisxLjkuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L21vbmdvZGIvbW9uZ29kYl9naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L21vbmdvZGIvbW9uZ29kYl9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjUyMmE2NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbW9uZ29kYi9tb25nb2RiX2dpdC5iYgpAQCAtMCwwICsxLDU3IEBACitTVU1NQVJZID0gIm1vbmdvZGIiCitMSUNFTlNFID0gIkFHUEwtMy4wICYgQXBhY2hlLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0dOVS1BR1BMLTMuMC50eHQ7bWQ1PTczZjFlYjIwNTE3YzU1YmY5NDkzYjdkZDZlNDgwNzg4IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0FQQUNIRS0yLjAudHh0O21kNT0zYjgzZWY5NjM4N2YxNDY1NWZjODU0ZGRjM2M2YmQ1NyIKKworREVQRU5EUyA9ICJvcGVuc3NsIGxpYnBjcmUgbGlicGNhcCB6bGliIgorCitpbmhlcml0IHNjb25zCisKK1BWID0gIjMuMy4wK2dpdCR7U1JDUFZ9IgorU1JDUkVWID0gImFhY2QyMzFiZTA2MjZhMjA0Y2I0MDkwOGFmZGY2MmM0YjY3YmIwYWQiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vbW9uZ29kYi9tb25nby5naXQ7YnJhbmNoPW1hc3RlciBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLVRlbGwtc2NvbnMtdG8tdXNlLWJ1aWxkLXNldHRpbmdzLWZyb20tZW52aXJvbm1lbnQtdmEucGF0Y2ggXAorICAgICAgICAgICAiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKKyMgV2lyZWR0aWdlciBzdXBwb3J0cyBvbmx5IDY0LWJpdCBwbGF0Zm9ybXMKK1BBQ0tBR0VDT05GSUdfeDg2LTY0ID8/PSAidGNtYWxsb2Mgd2lyZWR0aWdlciIKK1BBQ0tBR0VDT05GSUdfYWFyY2g2NCA/Pz0gInRjbWFsbG9jIHdpcmVkdGlnZXIiCitQQUNLQUdFQ09ORklHID8/PSAidGNtYWxsb2MiCisjIGdwZXJmdG9vbHMgY29tcGlsYXRpb24gZmFpbHMgZm9yIGFybSBiZWxvdyB2NyBiZWNhdXNlIG9mIG1pc3Npbmcgc3VwcG9ydCBvZgorIyBkbWIgb3BlcmF0aW9uLiBTbyB3ZSB1c2Ugc3lzdGVtLWFsbG9jYXRvciBpbnN0ZWFkIG9mIHRjbWFsbG9jCitQQUNLQUdFQ09ORklHX3JlbW92ZV9hcm12NiA9ICJ0Y21hbGxvYyIKKworI3N0ZDo6Y3VycmVudF9leGNlcHRpb24gaXMgdW5kZWZpbmVkIGZvciBhcm0gPCB2NgorQ09NUEFUSUJMRV9NQUNISU5FX2FybXY0ID0gIighLiphcm12NCkuKiIKK0NPTVBBVElCTEVfTUFDSElORV9hcm12NSA9ICIoIS4qYXJtdjUpLioiCitDT01QQVRJQkxFX01BQ0hJTkVfbWlwczY0ID0gIighLiptaXBzNjQpLioiCisKK1BBQ0tBR0VDT05GSUdbdGNtYWxsb2NdID0gIi0tdXNlLXN5c3RlbS10Y21hbGxvYywtLWFsbG9jYXRvcj1zeXN0ZW0sZ3BlcmZ0b29scywiCitQQUNLQUdFQ09ORklHW3dpcmVkdGlnZXJdID0gIi0td2lyZWR0aWdlcj1vbiwtLXdpcmVkdGlnZXI9b2ZmLCwiCisKK0VYVFJBX09FU0NPTlMgPSAiLS1wcmVmaXg9JHtEfSR7cHJlZml4fSBcCisgICAgICAgICAgICAgICAgIExJQlBBVEg9JHtTVEFHSU5HX0xJQkRJUn0gXAorICAgICAgICAgICAgICAgICBMSU5LRkxBR1M9JyR7TERGTEFHU30nIFwKKyAgICAgICAgICAgICAgICAgQ1hYRkxBR1M9JyR7Q1hYRkxBR1N9JyBcCisgICAgICAgICAgICAgICAgIFRBUkdFVF9BUkNIPSR7VEFSR0VUX0FSQ0h9IFwKKyAgICAgICAgICAgICAgICAgLS1zc2wgXAorICAgICAgICAgICAgICAgICAtLWRpc2FibGUtd2FybmluZ3MtYXMtZXJyb3JzIFwKKyAgICAgICAgICAgICAgICAgLS11c2Utc3lzdGVtLXBjcmUgXAorICAgICAgICAgICAgICAgICAtLXVzZS1zeXN0ZW0temxpYiBcCisgICAgICAgICAgICAgICAgIC0tanMtZW5naW5lPW5vbmUgXAorICAgICAgICAgICAgICAgICAtLW5vc3RyaXAgXAorICAgICAgICAgICAgICAgICAke0VYVFJBX09FQ09ORn0gXAorICAgICAgICAgICAgICAgICBtb25nb2QgbW9uZ29zIgorRElTQUJMRV9TVEFUSUMgPSAiIgorCitzY29uc19kb19jb21waWxlKCkgeworICAgICAgICAke1NUQUdJTkdfQklORElSX05BVElWRX0vc2NvbnMgJHtQQVJBTExFTF9NQUtFfSAke0VYVFJBX09FU0NPTlN9IHx8IFwKKyAgICAgICAgZGllICJzY29ucyBidWlsZCBleGVjdXRpb24gZmFpbGVkLiIKK30KKworc2NvbnNfZG9faW5zdGFsbCgpIHsKKyAgICAgICAgJHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L3Njb25zIGluc3RhbGwgJHtFWFRSQV9PRVNDT05TfXx8IFwKKyAgICAgICAgZGllICJzY29ucyBpbnN0YWxsIGV4ZWN1dGlvbiBmYWlsZWQuIgorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAwMS1tdWx0aXBhdGhkLnNlcnZpY2UtRXJyb3ItZml4LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAwMS1tdWx0aXBhdGhkLnNlcnZpY2UtRXJyb3ItZml4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFlNDhlMWMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDAxLW11bHRpcGF0aGQuc2VydmljZS1FcnJvci1maXgucGF0Y2gKQEAgLTAsMCArMSwzNiBAQAorRnJvbSA3NGZmNWUxY2Y4ZWY4M2RhYmNmNmU2YjkyZjg3ZDY3NjFmN2Y0ZDUxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTGkgeGluIDxsaXhpbi5mbnN0QGNuLmZ1aml0c3UuY29tPgorRGF0ZTogVHVlLCA3IEp1bCAyMDE1IDExOjM0OjM2ICswOTAwCitTdWJqZWN0OiBbUEFUQ0hdIG11bHRpcGF0aGQuc2VydmljZTogRXJyb3IgZml4CisKK0ZhaWxlZCB0byBzdGFydCBEZXZpY2UtTWFwcGVyIE11bHRpcGF0aCBEZXZpY2UgQ29udHJvbGxlci4KKworVXBzdHJlYW0tU3RhdHVzOiBwZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IExpIFhpbiA8bGl4aW4uZm5zdEBjbi5mdWppdHN1LmNvbT4KKy0tLQorIG11bHRpcGF0aGQvbXVsdGlwYXRoZC5zZXJ2aWNlIHwgNSArKystLQorIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9tdWx0aXBhdGhkL211bHRpcGF0aGQuc2VydmljZSBiL211bHRpcGF0aGQvbXVsdGlwYXRoZC5zZXJ2aWNlCitpbmRleCBiZTNiYTNmLi5iOGQzZWNkIDEwMDY0NAorLS0tIGEvbXVsdGlwYXRoZC9tdWx0aXBhdGhkLnNlcnZpY2UKKysrKyBiL211bHRpcGF0aGQvbXVsdGlwYXRoZC5zZXJ2aWNlCitAQCAtNiwxMSArNiwxMiBAQCBEZWZhdWx0RGVwZW5kZW5jaWVzPW5vCisgQ29uZmxpY3RzPXNodXRkb3duLnRhcmdldAorIAorIFtTZXJ2aWNlXQorLVR5cGU9bm90aWZ5CisrVHlwZT1mb3JraW5nCisgTm90aWZ5QWNjZXNzPW1haW4KKyBMaW1pdENPUkU9aW5maW5pdHkKKytQSURGaWxlPS92YXIvcnVuL211bHRpcGF0aGQucGlkCisgRXhlY1N0YXJ0UHJlPS9zYmluL21vZHByb2JlIGRtLW11bHRpcGF0aAorLUV4ZWNTdGFydD0vc2Jpbi9tdWx0aXBhdGhkIC1kIC1zCisrRXhlY1N0YXJ0PS9zYmluL211bHRpcGF0aGQKKyBFeGVjUmVsb2FkPS9zYmluL211bHRpcGF0aGQgcmVjb25maWd1cmUKKyAKKyBbSW5zdGFsbF0KKy0tIAorMS44LjQuMgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy9hbHdheXMtdXNlLWxpYmRldm1hcHBlci1rcGFydHgucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy9hbHdheXMtdXNlLWxpYmRldm1hcHBlci1rcGFydHgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTE2YTg1NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzL2Fsd2F5cy11c2UtbGliZGV2bWFwcGVyLWtwYXJ0eC5wYXRjaApAQCAtMCwwICsxLDI5IEBACitBbHdheXMgdXNlIGRldm1hcHBlciBmb3Iga3BhcnR4CisKK0RvIG5vdCB0cnkgdG8gY29tcHV0ZSB0aGUgTElCRE1fQVBJX0NPT0tJRSBtYWtlIHZhcmlhYmxlCitmcm9tIGhvc3QgaW5mb3JtYXRpb24gd2hlbiBjcm9zcy1jb21waWxpbmcuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IEF3cyBJc21haWwgPGF3cy5pc21haWxAd2luZHJpdmVyLmNvbT4KK1NpZ25lZC1vZmYtYnk6IEpvZSBTbGF0ZXIgPGpvZS5zbGF0ZXJAd2luZHJpdmVyLmNvbT4KKworZGlmZiAtLWdpdCBhL2twYXJ0eC9NYWtlZmlsZSBiL2twYXJ0eC9NYWtlZmlsZQoraW5kZXggMmEwNzMzNC4uMjRiZGFiYyAxMDA2NDQKKy0tLSBhL2twYXJ0eC9NYWtlZmlsZQorKysrIGIva3BhcnR4L01ha2VmaWxlCitAQCAtNCwxMyArNCw3IEBACisgIworIGluY2x1ZGUgLi4vTWFrZWZpbGUuaW5jCisgCistQ0ZMQUdTICs9IC1JLiAtRF9MQVJHRUZJTEU2NF9TT1VSQ0UgLURfRklMRV9PRkZTRVRfQklUUz02NAorLQorLUxJQkRNX0FQSV9DT09LSUUgPSAkKHNoZWxsIGdyZXAgLUVjcyAnXlthLXpdKltbOnNwYWNlOl1dK2RtX3Rhc2tfc2V0X2Nvb2tpZScgL3Vzci9pbmNsdWRlL2xpYmRldm1hcHBlci5oKQorLQorLWlmbmVxICgkKHN0cmlwICQoTElCRE1fQVBJX0NPT0tJRSkpLDApCistCUNGTEFHUyArPSAtRExJQkRNX0FQSV9DT09LSUUKKy1lbmRpZgorK0NGTEFHUyArPSAtSS4gLURfTEFSR0VGSUxFNjRfU09VUkNFIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLURMSUJETV9BUElfQ09PS0lFCisgCisgTERGTEFHUyA9IC1sZGV2bWFwcGVyCisgT0JKUyA9IGJzZC5vIGRvcy5vIGtwYXJ0eC5vIHNvbGFyaXMubyB1bml4d2FyZS5vIGRhc2QubyBzdW4ubyBcCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy9hbHdheXMtdXNlLWxpYmRldm1hcHBlci5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzL2Fsd2F5cy11c2UtbGliZGV2bWFwcGVyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg5ZDIzNTIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy9hbHdheXMtdXNlLWxpYmRldm1hcHBlci5wYXRjaApAQCAtMCwwICsxLDQ0IEBACitBbHdheXMgdXNlIGRldm1hcHBlcgorCitEbyBub3QgdHJ5IHRvIGNvbXB1dGUgc2V2ZXJhbCBfQVBJXyBtYWtlIHZhcmlhYmxlcworZnJvbSBob3N0IGluZm9ybWF0aW9uIHdoZW4gY3Jvc3MtY29tcGlsaW5nLgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBBd3MgSXNtYWlsIDxhd3MuaXNtYWlsQHdpbmRyaXZlci5jb20+CitTaWduZWQtb2ZmLWJ5OiBKb2UgU2xhdGVyIDxqb2Uuc2xhdGVyQHdpbmRyaXZlci5jb20+CisKK2RpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvTWFrZWZpbGUgYi9saWJtdWx0aXBhdGgvTWFrZWZpbGUKK2luZGV4IGU1YjA2YjMuLmVmZDZjZjYgMTAwNjQ0CistLS0gYS9saWJtdWx0aXBhdGgvTWFrZWZpbGUKKysrKyBiL2xpYm11bHRpcGF0aC9NYWtlZmlsZQorQEAgLTE3LDIzICsxNywxOCBAQCBPQkpTID0gbWVtb3J5Lm8gcGFyc2VyLm8gdmVjdG9yLm8gZGV2bWFwcGVyLm8gXAorICAgICAgICBsb2cubyBjb25maWd1cmUubyBzdHJ1Y3RzX3ZlYy5vIHN5c2ZzLm8gcHJpby5vIGNoZWNrZXJzLm8gXAorICAgICAgICBsb2NrLm8gd2FpdGVyLm8gZmlsZS5vIHd3aWRzLm8KKyAKKy1MSUJETV9BUElfRkxVU0ggPSAkKHNoZWxsIGdyZXAgLUVjcyAnXlthLXpdKltbOnNwYWNlOl1dK2RtX3Rhc2tfbm9fZmx1c2gnIC91c3IvaW5jbHVkZS9saWJkZXZtYXBwZXIuaCkKKyAKKy1pZm5lcSAoJChzdHJpcCAkKExJQkRNX0FQSV9GTFVTSCkpLDApCisrI2lmbmVxICgkKHN0cmlwICQoTElCRE1fQVBJX0ZMVVNIKSksMCkKKyAJQ0ZMQUdTICs9IC1ETElCRE1fQVBJX0ZMVVNIIC1EX0dOVV9TT1VSQ0UKKy1lbmRpZgorKyNlbmRpZgorIAorLUxJQkRNX0FQSV9DT09LSUUgPSAkKHNoZWxsIGdyZXAgLUVjcyAnXlthLXpdKltbOnNwYWNlOl1dK2RtX3Rhc2tfc2V0X2Nvb2tpZScgL3Vzci9pbmNsdWRlL2xpYmRldm1hcHBlci5oKQorLQorLWlmbmVxICgkKHN0cmlwICQoTElCRE1fQVBJX0NPT0tJRSkpLDApCisrI2lmbmVxICgkKHN0cmlwICQoTElCRE1fQVBJX0NPT0tJRSkpLDApCisgCUNGTEFHUyArPSAtRExJQkRNX0FQSV9DT09LSUUKKy1lbmRpZgorLQorLUxJQlVERVZfQVBJX1JFQ1ZCVUYgPSAkKHNoZWxsIGdyZXAgLUVjcyAnXlthLXpdKltbOnNwYWNlOl1dK3VkZXZfbW9uaXRvcl9zZXRfcmVzb2x2ZV9idWZmZXJfc2l6ZScgL3Vzci9pbmNsdWRlL2xpYnVkZXYuaCkKKysjZW5kaWYKKyAKKy1pZm5lcSAoJChzdHJpcCAkKExJQlVERVZfQVBJX1JFQ1ZCVUYpKSwwKQorKyNpZm5lcSAoJChzdHJpcCAkKExJQlVERVZfQVBJX1JFQ1ZCVUYpKSwwKQorIAlDRkxBR1MgKz0gLURMSUJVREVWX0FQSV9SRUNWQlVGCistZW5kaWYKKysjZW5kaWYKKyAKKyAKKyBhbGw6ICQoTElCUykKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzL2RvLW5vdC1saW5rLWxpYm1wYXRocGVyc2lzdC10by1UTVBESVIucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy9kby1ub3QtbGluay1saWJtcGF0aHBlcnNpc3QtdG8tVE1QRElSLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg2ZDVlMGUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy9kby1ub3QtbGluay1saWJtcGF0aHBlcnNpc3QtdG8tVE1QRElSLnBhdGNoCkBAIC0wLDAgKzEsMzAgQEAKK0Zyb20gZmU2NWFjOGZhY2UzYzg4ZDlkNGUxMjgxMWY0NGU2M2FkNzJjNTlhZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEJpYW4gTmFpbWVuZyA8Ymlhbm5tQGNuLmZ1aml0c3UuY29tPgorRGF0ZTogVGh1LCAxOCBKdW4gMjAxNSAxMjoyNToyNSArMDkwMAorU3ViamVjdDogW1BBVENIXSBmaXggYnVpbGQgd2FybmluZworCisgIE5PVEU6IEV4ZWN1dGluZyBSdW5RdWV1ZSBUYXNrcworICBXQVJOSU5HOiBRQSBJc3N1ZTogU3ltbGluayAvbGliL2xpYm1wYXRocGVyc2lzdC5zbyBpbiBtdWx0aXBhdGgtdG9vbHMtZGV2IHBvaW50cyB0byBUTVBESVIgW3N5bWxpbmstdG8tc3lzcm9vdF0KKyAgTk9URTogVGFza3MgU3VtbWFyeTogQXR0ZW1wdGVkIDE2MDQgdGFza3Mgb2Ygd2hpY2ggMTU5MSBkaWRuJ3QgbmVlZCB0byBiZSByZXJ1biBhbmQgYWxsIHN1Y2NlZWRlZC4KKworU2lnbmVkLW9mZi1ieTogQmlhbiBOYWltZW5nIDxiaWFubm1AY24uZnVqaXRzdS5jb20+CistLS0KKyBsaWJtcGF0aHBlcnNpc3QvTWFrZWZpbGUgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9saWJtcGF0aHBlcnNpc3QvTWFrZWZpbGUgYi9saWJtcGF0aHBlcnNpc3QvTWFrZWZpbGUKK2luZGV4IGM0ZWMxYzUuLjYyMDIyZWIgMTAwNjQ0CistLS0gYS9saWJtcGF0aHBlcnNpc3QvTWFrZWZpbGUKKysrKyBiL2xpYm1wYXRocGVyc2lzdC9NYWtlZmlsZQorQEAgLTMyLDcgKzMyLDcgQEAgaW5zdGFsbDogJChMSUJTKQorIAkkKElOU1RBTExfUFJPR1JBTSkgLW0gNzU1IC1kICQoREVTVERJUikkKG1hbjNkaXIpCisgCSQoSU5TVEFMTF9QUk9HUkFNKSAtbSA3NTUgLWQgJChERVNURElSKS91c3IvaW5jbHVkZS8KKyAJJChJTlNUQUxMX1BST0dSQU0pIC1tIDc1NSAtZCAkKERFU1RESVIpL3Vzci9zaGFyZS9kb2MvbXBhdGhwZXJzaXN0LworLQlsbiAtc2YgJChERVNURElSKSQoc3lzbGliZGlyKS8kKExJQlMpICQoREVTVERJUikkKHN5c2xpYmRpcikvJChERVZMSUIpCisrCWxuIC1zZiAkKHN5c2xpYmRpcikvJChMSUJTKSAkKERFU1RESVIpJChzeXNsaWJkaXIpLyQoREVWTElCKQorIAlpbnN0YWxsIC1tIDY0NCBtcGF0aF9wZXJzaXN0ZW50X3Jlc2VydmVfaW4uMy5neiAkKERFU1RESVIpJChtYW4zZGlyKQkKKyAJaW5zdGFsbCAtbSA2NDQgbXBhdGhfcGVyc2lzdGVudF9yZXNlcnZlX291dC4zLmd6ICQoREVTVERJUikkKG1hbjNkaXIpCQorIAlpbnN0YWxsIC1tIDY0NCBtcGF0aF9wZXJzaXN0LmggJChERVNURElSKS91c3IvaW5jbHVkZS8KKy0tIAorMS44LjQuMgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy9tYWtlZmlsZV9pbmMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy9tYWtlZmlsZV9pbmMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzE5NjNlMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzL21ha2VmaWxlX2luYy5wYXRjaApAQCAtMCwwICsxLDM5IEBACittdWx0aXBhdGgtdG9vbHM6IG1vZGlmeSBNYWtlZmlsZS5pbmMgZm9yIGNyb3NzLWNvbXBpbGF0aW9uCisKK0RvIG5vdCBsb29rIGZvciBzeXN0ZW1kIGluZm8gb24gdGhlIGhvc3QsIGFuZCBhbGxvdyB1cyB0byBwYXNzIGluIENGTEFHUwordXNpbmcgdGhlIE9QVEZMQUdTIHZhcmlhYmxlLgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBKb2UgU2xhdGVyIDxqb2Uuc2xhdGVyQHdpbmRyaXZlci5jb20+CisKK1VwZGF0ZSBmb3IgdmVyc2lvbiAwLjUuMC0xNDQtZzc3MGU2ZDAKKworU2lnbmVkLW9mZi1ieTogS2FpIEthbmcgPGthaS5rYW5nQHdpbmRyaXZlci5jb20+CisKKy0tLSBhL01ha2VmaWxlLmluYworKysrIGIvTWFrZWZpbGUuaW5jCitAQCAtMjEsMTIgKzIxLDYgQEAgaWZuZGVmIExJQgorIAllbmRpZgorIGVuZGlmCisgCistaWZuZGVmIFNZU1RFTUQKKy0JaWZlcSAoJChzaGVsbCBzeXN0ZW1jdGwgLS12ZXJzaW9uID4gL2Rldi9udWxsIDI+JjEgJiYgZWNobyAxKSwgMSkKKy0JCVNZU1RFTUQgPSAkKHNoZWxsIHN5c3RlbWN0bCAtLXZlcnNpb24gMj4gL2Rldi9udWxsIHwgIHNlZCAtbiAncy9zeXN0ZW1kIFwoWzAtOV0qXCkvXDEvcCcpCistCWVuZGlmCistZW5kaWYKKy0KKyBpZm5kZWYgU1lTVEVNRFBBVEgKKyAJU1lTVEVNRFBBVEg9dXNyL2xpYgorIGVuZGlmCitAQCAtNTMsNyArNDcsMTAgQEAgaWZuZGVmIFJQTV9PUFRfRkxBR1MKKyAJUlBNX09QVF9GTEFHUyA9IC1PMiAtZyAtcGlwZSAtV2Zvcm1hdC1zZWN1cml0eSAtV2FsbCAtV3AsLURfRk9SVElGWV9TT1VSQ0U9MiAtZmV4Y2VwdGlvbnMgLWZzdGFjay1wcm90ZWN0b3IgLS1wYXJhbT1zc3AtYnVmZmVyLXNpemU9NAorIGVuZGlmCisgCisraWZuZGVmIE9QVEZMQUdTCisgT1BURkxBR1MgICAgID0gJChSUE1fT1BUX0ZMQUdTKSAtV3VudXNlZCAtV3N0cmljdC1wcm90b3R5cGVzCisrZW5kaWYKKysKKyBDRkxBR1MJICAgICA9ICQoT1BURkxBR1MpIC1mUElDIC1ETElCX1NUUklORz1cIiR7TElCfVwiCisgU0hBUkVEX0ZMQUdTID0gLXNoYXJlZAorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvbXVsdGlwYXRoZC5vZSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzL211bHRpcGF0aGQub2UKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uM2JkZjg3NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzL211bHRpcGF0aGQub2UKQEAgLTAsMCArMSwxNDYgQEAKKyMhL2Jpbi9iYXNoCisjCisjIG11bHRpcGF0aGQJU3RhcnRzIHRoZSBtdWx0aXBhdGggZGFlbW9uCisjCisjIGNoa2NvbmZpZzogLSAwNiA4NworIyBkZXNjcmlwdGlvbjogTWFuYWdlcyBkZXZpY2UtbWFwcGVyIG11bHRpcGF0aCBkZXZpY2VzCisKKyMjIyBCRUdJTiBJTklUIElORk8KKyMgUHJvdmlkZXM6IG11bHRpcGF0aGQKKyMgUmVxdWlyZWQtU3RhcnQ6CisjIFJlcXVpcmVkLVN0b3A6CisjIERlZmF1bHQtU3RhcnQ6CisjIERlZmF1bHQtU3RvcDoKKyMgU2hvcnQtRGVzY3JpcHRpb246IENvbnRyb2wgbXVsdGlwYXRoZAorIyBEZXNjcmlwdGlvbjogVGhpcyBzZXJ2aWNlIG1vbml0b3JzIGFuZCBtYW5hZ2VzCisjICAgICAgICAgICAgICBkZXZpY2UtbWFwcGVyIG11bHRpcGF0aCBkZXZpY2VzCisjIyMgRU5EIElOSVQgSU5GTworCitEQUVNT049L3NiaW4vbXVsdGlwYXRoZAorcHJvZz1gYmFzZW5hbWUgJERBRU1PTmAKK2luaXRkaXI9L2V0Yy9pbml0LmQKK2xvY2tkaXI9L3Zhci9sb2NrL3N1YnN5cworc3lzY29uZmlnPS9ldGMvc3lzY29uZmlnCitzeXNwYXRoPS9zeXMvYmxvY2sKKworUkVUVkFMPTAKKwordGVhcmRvd25fc2xhdmVzKCkKK3sKK3B1c2hkICQxID4gL2Rldi9udWxsCitpZiBbIC1kICJzbGF2ZXMiIF07IHRoZW4KK2ZvciBzbGF2ZSBpbiBzbGF2ZXMvKjsKK2RvCisJaWYgWyAiJHNsYXZlIiA9ICJzbGF2ZXMvKiIgXTsgdGhlbgorCQlyZWFkIGRldiA8ICAkMS9kZXYKKwkJdGFibGVuYW1lPWBkbXNldHVwIHRhYmxlIC0tdGFyZ2V0IG11bHRpcGF0aCB8IHNlZCAtbiAicy9cKC4qXCk6IC4qICRkZXYgLiovXDEvcCJgCisJCWlmICEgWyAteiAkdGFibGVuYW1lIF07IHRoZW4KKwkJCWVjaG8gIlJvb3QgaXMgb24gYSBtdWx0aXBhdGhlZCBkZXZpY2UsIG11bHRpcGF0aGQgY2FuIG5vdCBiZSBzdG9wcGVkIgorCQkJZXhpdCAxCisJCWZpCisJZWxzZQorCQlsb2NhbF9zbGF2ZT1gcmVhZGxpbmsgLWYgJHNsYXZlYDsKKwkJdGVhcmRvd25fc2xhdmVzICRsb2NhbF9zbGF2ZTsKKwlmaQorCWRvbmUKKworZWxzZQorCQlyZWFkIGRldiA8ICAkMS9kZXYKKwkJdGFibGVuYW1lPWBkbXNldHVwIHRhYmxlIC0tdGFyZ2V0IG11bHRpcGF0aCB8IHNlZCAtbiAicy9cKC4qXCk6IC4qICRkZXYgLiovXDEvcCJgCisJCWlmICEgWyAteiAkdGFibGVuYW1lIF07IHRoZW4KKwkJCWVjaG8gIlJvb3QgaXMgb24gYSBtdWx0aXBhdGhlZCBkZXZpY2UsIG11bHRpcGF0aGQgY2FuIG5vdCBiZSBzdG9wcGVkIgorCQkJZXhpdCAxCisJCWZpCitmaQorcG9wZCA+IC9kZXYvbnVsbAorfQorCisjCisjIFNlZSBob3cgd2Ugd2VyZSBjYWxsZWQuCisjCisKK3N0YXJ0KCkgeworCXRlc3QgLXggJERBRU1PTiB8fCBleGl0IDUKKwllY2hvIC1uICQiU3RhcnRpbmcgJHByb2cgZGFlbW9uOiAiCisJc3RhcnQtc3RvcC1kYWVtb24gLS1zdGFydCAtLXF1aWV0IC0tZXhlYyAkREFFTU9OCisJUkVUVkFMPSQ/CisJWyAkUkVUVkFMIC1lcSAwIF0gJiYgdG91Y2ggJGxvY2tkaXIvJHByb2cKKwllY2hvCit9CisKK2ZvcmNlX3N0b3AoKSB7CisJZWNobyAtbiAkIlN0b3BwaW5nICRwcm9nIGRhZW1vbjogIgorCWtpbGxhbGwgJERBRU1PTgorCVJFVFZBTD0kPworCVsgJFJFVFZBTCAtZXEgMCBdICYmIHJtIC1mICRsb2NrZGlyLyRwcm9nCisJZWNobworfQorCitzdG9wKCkgeworICAgICAgICByb290X2Rldj0kKGF3ayAneyBpZiAoJDEgIX4gL15bIFx0XSojLyAmJiAkMiA9PSAiLyIpIHsgcHJpbnQgJDE7IH19JyAvZXRjL210YWIpCisJZG1fbnVtPWBkbXNldHVwIGluZm8gLWMgLS1ub2hlYWRpbmdzIC1vIG1pbm9yICRyb290X2RldiAyPiAvZGV2L251bGxgCisJaWYgWyAkPyAtZXEgMCBdOyB0aGVuCisJCXJvb3RfZG1fZGV2aWNlPSJkbS0kZG1fbnVtIgorCQlbIC1kICRzeXNwYXRoLyRyb290X2RtX2RldmljZSBdICYmIHRlYXJkb3duX3NsYXZlcyAkc3lzcGF0aC8kcm9vdF9kbV9kZXZpY2UKKwlmaQorCisJZm9yY2Vfc3RvcAorfQorCityZXN0YXJ0KCkgeworCXN0b3AKKwlzdGFydAorfQorCitmb3JjZV9yZXN0YXJ0KCkgeworCWZvcmNlX3N0b3AKKwlzdGFydAorfQorCityZWxvYWQoKSB7CisJZWNobyAtbiAiUmVsb2FkaW5nICRwcm9nOiAiCisJdHJhcCAiIiBTSUdIVVAKKwlraWxsYWxsICREQUVNT04gLXMgU0lHSFVQIC12CisJUkVUVkFMPSQ/CisJZWNobworfQkKKworY2FzZSAiJDEiIGluCitzdGFydCkKKwlzdGFydAorCTs7CitzdG9wKQorCXN0b3AKKwk7OworZm9yY2Utc3RvcCkKKwlmb3JjZV9zdG9wCisJOzsKK2ZvcmNlLXJlbG9hZHxyZWxvYWQpCisJcmVsb2FkCisJOzsKK3Jlc3RhcnQpCisJcmVzdGFydAorCTs7Citmb3JjZS1yZXN0YXJ0KQorCWZvcmNlX3Jlc3RhcnQKKwk7OworY29uZHJlc3RhcnR8dHJ5LXJlc3RhcnQpCisJaWYgWyAtZiAkbG9ja2Rpci8kcHJvZyBdOyB0aGVuCisJICAgIHJlc3RhcnQKKwlmaQorCTs7CitzdGF0dXMpCisgICAgaWYgcGlkb2YgLW8gJVBQSUQgJERBRU1PTiA+IC9kZXYvbnVsbDsgdGhlbgorICAgICAgICBlY2hvICJSdW5uaW5nIgorICAgICAgICBSRVRWQUw9MAorICAgIGVsc2UKKyAgICAgICAgZWNobyAiTm90IHJ1bm5pbmciCisgICAgICAgIFJFVFZBTD0xCisgICAgZmkKKwk7OworKikKKwllY2hvICQiVXNhZ2U6ICQwIHtzdGFydHxzdG9wfGZvcmNlLXN0b3B8c3RhdHVzfHJlc3RhcnR8Zm9yY2UtcmVzdGFydHxjb25kcmVzdGFydHxyZWxvYWR9IgorCVJFVFZBTD0yCitlc2FjCisKK2V4aXQgJFJFVFZBTApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvbXVsdGlwYXRoLXRvb2xzX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL211bHRpcGF0aC10b29sc19naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzdiNWZlZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL211bHRpcGF0aC10b29sc19naXQuYmIKQEAgLTAsMCArMSw3NiBAQAorU1VNTUFSWSA9ICJUaGUgdXBzdHJlYW0gcHJvamVjdCB1c2VkIHRvIGRyaXZlIHRoZSBEZXZpY2UgTWFwcGVyIG11bHRpcGF0aGluZyBkcml2ZXIiCisKK0RFUEVORFMgPSAibHZtMiBsaWJhaW8gcmVhZGxpbmUgdWRldiIKKworTElDRU5TRSA9ICJMR1BMdjIiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0Lm9wZW5zdmMuY29tL211bHRpcGF0aC10b29scy8uZ2l0O3Byb3RvY29sPWh0dHAgXAorICAgICAgICAgICBmaWxlOi8vbXVsdGlwYXRoZC5vZSBcCisgICAgICAgICAgIGZpbGU6Ly9tYWtlZmlsZV9pbmMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vYWx3YXlzLXVzZS1saWJkZXZtYXBwZXIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vYWx3YXlzLXVzZS1saWJkZXZtYXBwZXIta3BhcnR4LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2RvLW5vdC1saW5rLWxpYm1wYXRocGVyc2lzdC10by1UTVBESVIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1tdWx0aXBhdGhkLnNlcnZpY2UtRXJyb3ItZml4LnBhdGNoIFwKKyAgICAgICAgICAgIgorIyAwLjUuMAorIworI1NSQ1JFViA9ICI4MmYzOTFlNzg3ZGMwMmU5ZDkyOTRhYTM5MTEzN2FiNDI0YmI4M2M0IgorI0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTdiZTI4NzNiNjI3MGU0NWFiYWNjNTAzYWJiZTJhYTNkIgorCisjIDAuNS4wICsgY29tbWl0cyB0aHJ1IDcvMTgvMjAxNAorIworI1NSQ1JFViA9ICIwZDcyZjQ2YzEyMjA3YTZiN2I4OWY1ZWY0ZjVhYjVmODdlZDhiYzkwIgorI0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIwNjY5MGU3YTk1YzE2NmVlZmUwMTk5YjM5MTE4ZWIxIgorCisjIDAuNS4wICsgY29tbWl0cyB0aHJ1IDkvMTIvMjAxNAorIworIyAgICBpbmNsdWRlcyBpbXBvcnRhbnQgc3lzdGVtZCByZWxhdGVkIHN0cnVjdHVyZSBzaXplIGZpeAorIworI1NSQ1JFViA9ICJhZWM2OGFiMjE3ZmQyOTU2NDQzYjI3Y2VlYjk3ZGQ2NDc1MjY3Nzg5IgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjA2NjkwZTdhOTVjMTY2ZWVmZTAxOTliMzkxMThlYjEiCisKKyMgMC41LjAgKyBjb21taXRzIHRocnUgMi8xNi8yMDE1CitTUkNSRVYgPSAiNzcwZTZkMGRhMDM1ZGVhY2VkODI4ODU5MzkxNjFjMmI2OTIyNWUxMCIKKworaW5oZXJpdCBzeXN0ZW1kCisKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworUFYgPSAiMC41LjArZ2l0JHtAJyR7U1JDUFZ9Jy5zcGxpdCgnKycpWy0xXX0iCisKKyMgVGhlIGV4YWN0IHZlcnNpb24gb2YgU1lTVEVNRCBkb2VzIG5vdCBtYXR0ZXIgYnV0IHNob3VsZCBiZSBncmVhdGVyIHRoYW4gMjA5LgorIworRVhUUkFfT0VNQUtFID0gJ01VTFRJUEFUSF9WRVJTSU9OPSR7UFZ9IERFU1RESVI9JHtEfSBzeXNsaWJkaXI9JHtiYXNlX2xpYmRpcn0gXAorICAgICAgICAgICAgICAgIE9QVEZMQUdTPSIke0NGTEFHU30iIFwKKyAgICAgICAgICAgICAgICBMSUI9JHtiYXNlX2xpYmRpcn0gbGliZGlyPSR7YmFzZV9saWJkaXJ9L211bHRpcGF0aCBcCisgICAgICAgICAgICAgICAgdW5pdGRpcj0vbGliL3N5c3RlbWQvc3lzdGVtIFwKKyAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygiRElTVFJPX0ZFQVRVUkVTIiwgInN5c3RlbWQiLCAiU1lTVEVNRD0yMTYiLCAiIiwgZCl9IFwKKyAgICAgICAgICAgICAgICcKKworZG9faW5zdGFsbCgpIHsKKyAgICBvZV9ydW5tYWtlIGluc3RhbGwKKworICAgICMgQ29weSBhIHNhbXBsZSBjb25mIGZpbGUsIGJ1dCBkbyBub3QgcmVuYW1lIGl0IG11bHRpcGF0aC5jb25mLgorICAgICMKKyAgICBjcCBtdWx0aXBhdGguY29uZi5kZWZhdWx0cyAke0R9JHtzeXNjb25mZGlyfQorCisgICAgIyBXZSBjb3B5IGFuIGluaXRzY3JpcHQsIGJ1dCBkbyBub3Qgc3RhcnQgbXVsdGlwYXRoZCBhdCBpbml0IHRpbWUuCisgICAgIworICAgIGNwICR7V09SS0RJUn0vbXVsdGlwYXRoZC5vZSAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvbXVsdGlwYXRoZAorCit9CisKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtiYXNlX2xpYmRpcn0vbXVsdGlwYXRoLy5kZWJ1ZyIKKworIyBzeXN0ZW1kIGFuZCB1ZGV2IHN0dWZmIGFsd2F5cyBnb2VzIHVuZGVyIC9saWIhCisjCitGSUxFU18ke1BOfSArPSAiJHtiYXNlX2xpYmRpcn0vbXVsdGlwYXRoIFwKKyAgICAgICAgICAgICAgICAvbGliL3N5c3RlbWQiCisKK1BBQ0tBR0VTID0rICJrcGFydHgiCitGSUxFU19rcGFydHggPSAiJHtiYXNlX3NiaW5kaXJ9L2twYXJ0eCBcCisgICAgICAgICAgICAgICAgL3Vzci9saWIvdWRldi9rcGFydHhfaWQgXAorICAgICAgICAgICAgICAgIgorCitSREVQRU5EU18ke1BOfSArPSAia3BhcnR4IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9teXNxbC9tYXJpYWRiLW5hdGl2ZV81LjUuNDYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L215c3FsL21hcmlhZGItbmF0aXZlXzUuNS40Ni5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40Y2U5NjBkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9teXNxbC9tYXJpYWRiLW5hdGl2ZV81LjUuNDYuYmIKQEAgLTAsMCArMSwxOSBAQAorcmVxdWlyZSBtYXJpYWRiLmluYworaW5oZXJpdCBuYXRpdmUKKworUFJPVklERVMgKz0gIm15c3FsNS1uYXRpdmUiCitERVBFTkRTID0gIm5jdXJzZXMtbmF0aXZlIHpsaWItbmF0aXZlIGJpc29uLW5hdGl2ZSIKKworUkRFUEVORFNfJHtQTn0gPSAiIgorUEFDS0FHRVMgPSAiIgorRVhUUkFfT0VNQUtFID0gIiIKKworZG9faW5zdGFsbCgpIHsKKyAgICBvZV9ydW5tYWtlICdERVNURElSPSR7RH0nIGluc3RhbGwKKworICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSBzcWwvZ2VuX2xleF9oYXNoICR7RH0ke2JpbmRpcn0vCisgICAgaW5zdGFsbCAtbSAwNzU1IGV4dHJhL2NvbXBfZXJyICR7RH0ke2JpbmRpcn0vCisgICAgaW5zdGFsbCAtbSAwNzU1IHNjcmlwdHMvY29tcF9zcWwgJHtEfSR7YmluZGlyfS8KK30KKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9teXNxbC9tYXJpYWRiLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXlzcWwvbWFyaWFkYi5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDgwMWZmZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXlzcWwvbWFyaWFkYi5pbmMKQEAgLTAsMCArMSwyODYgQEAKK1NVTU1BUlkgPSAiQSByb2J1c3QsIHNjYWxhYmxlLCBhbmQgcmVsaWFibGUgU1FMIHNlcnZlciIKK0hPTUVQQUdFID0gImh0dHA6Ly9tYXJpYWRiLm9yZyIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSIKKworU1JDX1VSSSA9ICJodHRwOi8vYXJjaGl2ZS5tYXJpYWRiLm9yZy9tYXJpYWRiLSR7UFZ9L3NvdXJjZS9tYXJpYWRiLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9maXgtY21ha2UtbW9kdWxlLXBhdGgucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vcmVtb3ZlLWJhZC1wYXRoLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2ZpeC1teXNxbGNsaWVudC1yLXZlcnNpb24ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vbXkuY25mIFwKKyAgICAgICAgICAgZmlsZTovL215c3FsZC5zZXJ2aWNlIFwKKyAgICAgICAgICAgZmlsZTovL2luc3RhbGxfZGIuc2VydmljZSBcCisgICAgICAgICAgIGZpbGU6Ly9pbnN0YWxsX2RiIFwKKyAgICAgICAgICAgZmlsZTovL215c3FsLXN5c3RlbWQtc3RhcnQgXAorICAgICAgICAgICBmaWxlOi8vY29uZmlndXJlLmNtYWtlLWZpeC12YWxncmluZC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9maXgtYS1idWlsZGluZy1mYWlsdXJlLnBhdGNoIFwKKyAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI5MmY2ODJiMDBlYjEzN2FmMDFlNTllYTkzZjdlMzFmNyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI0NWI2NmI3YWRjODdjYWQzMmU1NTNkZjFkNTIxMWU1YjY0MjZiNzhhM2JjMzE4YTVjY2RlMDg4YmY5M2U2ZTEwIgorCitTID0gIiR7V09SS0RJUn0vbWFyaWFkYi0ke1BWfSIKKworQklOQ09ORklHX0dMT0IgPSAibXlzcWxfY29uZmlnIgorCitpbmhlcml0IGNtYWtlIGdldHRleHQgYmluY29uZmlnIHVwZGF0ZS1yYy5kIHVzZXJhZGQgc3lzdGVtZAorCitJTklUU0NSSVBUX1BBQ0tBR0VTID0gIiR7UE59LXNlcnZlciAke1BOfS1zZXR1cGRiIgorSU5JVFNDUklQVF9OQU1FXyR7UE59LXNlcnZlciA9ICJteXNxbGQiCitJTklUU0NSSVBUX1BBUkFNU18ke1BOfS1zZXJ2ZXIgPz0gInN0YXJ0IDQ1IDUgLiBzdG9wIDQ1IDAgNiAxIC4iCisKK1VTRVJBRERfUEFDS0FHRVMgPSAiJHtQTn0tc2VydmVyIgorVVNFUkFERF9QQVJBTV8ke1BOfS1zZXJ2ZXIgPSAiLS1zeXN0ZW0gLS1ob21lLWRpciAvdmFyL215c3FsIC1nIG15c3FsIC0tc2hlbGwgL2Jpbi9mYWxzZSBteXNxbCIKK0dST1VQQUREX1BBUkFNXyR7UE59LXNlcnZlciA9ICItLXN5c3RlbSBteXNxbCIKKworSU5JVFNDUklQVF9OQU1FXyR7UE59LXNldHVwZGIgPSAiaW5zdGFsbF9kYiIKK0lOSVRTQ1JJUFRfUEFSQU1TXyR7UE59LXNldHVwZGIgPz0gImRlZmF1bHRzIDQ0IDQ0IgorCitTWVNURU1EX1BBQ0tBR0VTID0gIiR7UE59LXNlcnZlciAke1BOfS1zZXR1cGRiIgorU1lTVEVNRF9TRVJWSUNFXyR7UE59LXNlcnZlciA9ICJteXNxbGQuc2VydmljZSIKK1NZU1RFTURfQVVUT19FTkFCTEVfJHtQTn0tc2VydmVyID89ICJkaXNhYmxlIgorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0tc2V0dXBkYiA9ICJpbnN0YWxsX2RiLnNlcnZpY2UiCitTWVNURU1EX0FVVE9fRU5BQkxFXyR7UE59LXNldHVwZGIgPz0gImVuYWJsZSIKK0FMTE9XX0VNUFRZXyR7UE59LXNldHVwZGIgPz0gIjEiCitGSUxFU18ke1BOfS1zZXR1cGRiID0gIiR7c3lzY29uZmRpcn0vaW5pdC5kL2luc3RhbGxfZGIiCisKK0VYVFJBX09FTUFLRSA9ICInR0VOX0xFWF9IQVNIPSR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9nZW5fbGV4X2hhc2gnIgorCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAncGFtJywgJycsIGQpfSBzZXR1cGRiIgorUEFDS0FHRUNPTkZJR19jbGFzcy1uYXRpdmUgPSAiIgorUEFDS0FHRUNPTkZJR1twYW1dID0gIiwtRFdJVEhPVVRfQVVUSF9QQU09VFJVRSxsaWJwYW0iCitQQUNLQUdFQ09ORklHW3ZhbGdyaW5kXSA9ICItRFdJVEhfVkFMR1JJTkQ9VFJVRSwtRFdJVEhfVkFMR1JJTkQ9RkFMU0UsdmFsZ3JpbmQiCitQQUNLQUdFQ09ORklHW2xpYmVkaXRdID0gIi1ETElCRURJVF9JTlRFUkZBQ0U9VFJVRSwtRExJQkVESVRfSU5URVJGQUNFPUZBTFNFLGxpYmVkaXQiCitQQUNLQUdFQ09ORklHW2tyYjVdID0gIiwgLGtyYjUiCitQQUNLQUdFQ09ORklHW3NldHVwZGJdID0gIiwgLCwke1BOfS1zZXR1cGRiIgorCisjIE1hcmlhREIgZG9lc24ndCBsaW5rIHByb3Blcmx5IHdpdGggZ29sZAorIyBodHRwczovL21hcmlhZGIuYXRsYXNzaWFuLm5ldC9icm93c2UvTURFVi01OTgyCitUQVJHRVRfQ0ZMQUdTICs9ICItZnVzZS1sZD1iZmQiCisKK0JVSUxEX0NGTEFHUyArPSAiLWZ1c2UtbGQ9YmZkIgorQlVJTERfQ1hYRkxBR1MgKz0gIi1mdXNlLWxkPWJmZCIKKworRVhUUkFfT0VDTUFLRSA9ICItRFdJVEhfRU1CRURERURfU0VSVkVSPU9OIFwKKyAgICAgICAgICAgICAgICAgLURXSVRIX0pFTUFMTE9DPW5vIFwKKyAgICAgICAgICAgICAgICAgLURXSVRIT1VUX1RPS1VEQj1UUlVFIFwKKyAgICAgICAgICAgICAgICAgLURDTUFLRV9ESVNBQkxFX0ZJTkRfUEFDS0FHRV9Cb29zdD1UUlVFIFwKKyAgICAgICAgICAgICAgICAgLURHUk9GRj1GQUxTRSBcCisgICAgICAgICAgICAgICAgIC1ETlJPRkY9RkFMU0UgXAorICAgICAgICAgICAgICAgICAtREVOQUJMRV9EVFJBQ0U9RkFMU0UgXAorICAgICAgICAgICAgICAgICAtRFdJVEhfUElDPU9OIFwKKyAgICAgICAgICAgICAgICAgLURJTlNUQUxMX0xBWU9VVD1SUE0gXAorICAgICAgICAgICAgICAgICAtRElOU1RBTExfRE9DRElSOlBBVEg9JHtkYXRhZGlyfS9kb2MvJHtCUE59IFwKKyAgICAgICAgICAgICAgICAgLURJTlNUQUxMX0xJQkRJUjpQQVRIPSR7YmFzZWxpYn0gXAorICAgICAgICAgICAgICAgICAtRElOU1RBTExfUExVR0lORElSOlBBVEg9JHtiYXNlbGlifS9wbHVnaW4gXAorICAgICAgICAgICAgICAgICAtRElOU1RBTExfU1lTQ09ORkRJUjpQQVRIPSR7c3lzY29uZmRpcn0gXAorICAgICAgICAgICAgICAgICAtRE1ZU1FMX0RBVEFESVI6UEFUSD0vdmFyL215c3FsIFwKKyAgICAgICAgICAgICAgICAgLURDQVRfRVhFQ1VUQUJMRT1gd2hpY2ggY2F0YCBcCisgICAgICAgICAgICAgICAgIC1EQ01BS0VfQVI6RklMRVBBVEg9JHtBUn0iCisKK2RvX2NvbmZpZ3VyZV9hcHBlbmQoKSB7CisgICAgIyBoYW5kbGUgZGlzdHJvcyB3aXRoIGRpZmZlcmVudCB2YWx1ZXMgb2YgJHtsaWJleGVjZGlyfQorICAgIGxpYmV4ZWNkaXIyPWBlY2hvICR7bGliZXhlY2Rpcn0gfCBzZWQgLWUgJ3MrL3Vzci8rK2cnYAorICAgIHNlZCAtaSAtZSAiczovbGliZXhlYzovJGxpYmV4ZWNkaXIyOmciICR7U30vc2NyaXB0cy9teXNxbF9pbnN0YWxsX2RiLnNoCisgICAgc2VkIC1pIC1lICJzOm15c3FsZCBsaWJleGVjOm15c3FsZCAkbGliZXhlY2RpcjI6ZyIgJHtTfS9zY3JpcHRzL215c3FsX2luc3RhbGxfZGIuc2gKKyAgICBzZWQgLWkgLWUgInM6L2xpYmV4ZWM6LyRsaWJleGVjZGlyMjpnIiAke1N9L3NjcmlwdHMvbXlzcWxkX3NhZmUuc2gKK30KKworZG9fZ2VuZXJhdGVfdG9vbGNoYWluX2ZpbGVfYXBwZW5kX2NsYXNzLW5hdGl2ZSAoKSB7CisgICAgIyBJZiB0aGVzZSBhcmUgc2V0IGNtYWtlIHdpbGwgYXNzdW1lIHdlJ3JlIGNyb3NzLWNvbXBpbGluZywgd2hpY2ggd2lsbAorICAgICMgcmVzdWx0IGluIGNlcnRhaW4gdGhpbmdzIHdlIHdhbnQgYmVpbmcgZGlzYWJsZWQKKyAgICBzZWQgLWkgIi9zZXQoIENNQUtFX1NZU1RFTV9OQU1FL2QiICR7V09SS0RJUn0vdG9vbGNoYWluLmNtYWtlCisgICAgc2VkIC1pICIvc2V0KCBDTUFLRV9TWVNURU1fUFJPQ0VTU09SL2QiICR7V09SS0RJUn0vdG9vbGNoYWluLmNtYWtlCit9CisKK2RvX2NvbXBpbGVfcHJlcGVuZF9jbGFzcy10YXJnZXQgKCkgeworICAgICMgVGhlc2UgbmVlZCB0byBiZSBpbi10cmVlIG9yIG1ha2Ugd2lsbCB0aGluayB0aGV5IG5lZWQgdG8gYmUgYnVpbHQsCisgICAgIyBhbmQgc2luY2Ugd2UncmUgY3Jvc3MtY29tcGlsaW5nIHRoYXQgaXMgZGlzYWJsZWQKKyAgICBjcCAke1NUQUdJTkdfQklORElSX05BVElWRX0vY29tcF9lcnIgJHtTfS9leHRyYQorICAgIGNwICR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9jb21wX3NxbCAke1N9L3NjcmlwdHMKKworICAgIGlmIFsgIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2tyYjUnLCAneWVzJywgJ25vJywgZCl9IiA9ICJubyIgXTsgdGhlbgorICAgICAgICBpZiAhIFsgLWUgJHtCfS9pbmNsdWRlL29wZW5zc2wva3NzbC5oIF0gOyB0aGVuCisgICAgICAgICAgICBta2RpciAtcCAke0J9L2luY2x1ZGUvb3BlbnNzbAorICAgICAgICAgICAgZWNobyAiI2lmbmRlZiBLU1NMX0giID4ke0J9L2luY2x1ZGUvb3BlbnNzbC9rc3NsLmgKKyAgICAgICAgICAgIGVjaG8gIiNkZWZpbmUgS1NTTF9IIiA+PiR7Qn0vaW5jbHVkZS9vcGVuc3NsL2tzc2wuaAorICAgICAgICAgICAgZWNobyAiI2luY2x1ZGUgPG9wZW5zc2wvb3BlbnNzbGNvbmYuaD4iPj4ke0J9L2luY2x1ZGUvb3BlbnNzbC9rc3NsLmgKKyAgICAgICAgICAgIGVjaG8gIiNlbmRpZiIgPj4ke0J9L2luY2x1ZGUvb3BlbnNzbC9rc3NsLmgKKyAgICAgICAgZmkKKyAgICBmaQorfQorCitTWVNST09UX1BSRVBST0NFU1NfRlVOQ1MgKz0gIm1hcmlhZGJfc3lzcm9vdF9wcmVwcm9jZXNzIgorCisjIFdlIG5lZWQgdG8gYXBwZW5kIHRoaXMgc28gaXQgcnVucyAqYWZ0ZXIqIGJpbmNvbmZpZydzIHByZXByb2Nlc3MgZnVuY3Rpb24KKyMKKyMgV2UgcmVhbGx5IGRvbid0IGNhcmUgZXhhY3RseSB3aGF0IHRoZSBkaXJlY3RvcmllcyB3ZXJlIHNldCB0byBvcmlnaW5hbGx5LgorIyBwbHVnaW5kaXIgaXMgbm90IGZpeGVkLCBidXQgd2UgZG9uJ3QgY3JlYXRlIGFueSBwbHVnaW5zLgorIworbWFyaWFkYl9zeXNyb290X3ByZXByb2Nlc3MgKCkgeworICAgIHNlZCAtaSAtZXMsXnBrZ2luY2x1ZGVkaXI9LioscGtnaW5jbHVkZWRpcj1cJyR7U1RBR0lOR19JTkNESVJ9L215c3FsXCcsICR7U1lTUk9PVF9ERVNURElSfSR7YmluZGlyX2Nyb3Nzc2NyaXB0c30vbXlzcWxfY29uZmlnCisgICAgc2VkIC1pIC1lcyxecGtnbGliZGlyPS4qLHBrZ2xpYmRpcj1cJyR7U1RBR0lOR19MSUJESVJ9XCcsICR7U1lTUk9PVF9ERVNURElSfSR7YmluZGlyX2Nyb3Nzc2NyaXB0c30vbXlzcWxfY29uZmlnCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgb2VfcnVubWFrZSAnREVTVERJUj0ke0R9JyBpbnN0YWxsCisKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXNjb25mZGlyfS9pbml0LmQKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9teS5jbmYgJHtEfS8ke3N5c2NvbmZkaXJ9LworICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2luc3RhbGxfZGIgJHtEfS8ke3N5c2NvbmZkaXJ9L2luaXQuZC8KKyAgICBtdiAke0R9LyR7c3lzY29uZmRpcn0vaW5pdC5kL215c3FsICR7RH0vJHtzeXNjb25mZGlyfS9pbml0LmQvbXlzcWxkCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vbXlzcWxkLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9pbnN0YWxsX2RiLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICBzZWQgLWkgLWUgJ3MsQEJJTkRJUkAsJHtiaW5kaXJ9LGcnIC1lICdzLEBQUkVGSVhALCR7cHJlZml4fSxnJyAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9teXNxbGQuc2VydmljZSBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vaW5zdGFsbF9kYi5zZXJ2aWNlCisKKyAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgorCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZAorCWVjaG8gImYgL3Zhci9sb2cvbXlzcWxkLmVyciAwNjQwIG15c3FsIG15c3FsIC0iIFwKKyAgICAgICAgICAgID4gJHtEfSR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZC85OS1teXNxbGQuY29uZgorICAgIGZpCisgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtbSA3NTUgJHtXT1JLRElSfS9teXNxbC1zeXN0ZW1kLXN0YXJ0ICR7RH0ke2JpbmRpcn0KKyAgICBpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9L2RvYy8ke1BOfQorICAgIGlmIFsgLWYgJHtEfSR7ZGF0YWRpcn0vZG9jL1JFQURNRSBdOyB0aGVuCisgICAgICAgIG12ICR7RH0ke2RhdGFkaXJ9L2RvYy9SRUFETUUgJHtEfSR7ZGF0YWRpcn0vZG9jLyR7UE59LworICAgIGZpCit9CisKK1BBQ0tBR0VTID0gIiR7UE59LWRiZyAke1BOfSBcCisgICAgbGlibXlzcWxjbGllbnQtciBsaWJteXNxbGNsaWVudC1yLWRldiBsaWJteXNxbGNsaWVudC1yLXN0YXRpY2RldiBsaWJteXNxbGNsaWVudC1yLWRiZyBcCisgICAgbGlibXlzcWxjbGllbnQgbGlibXlzcWxjbGllbnQtZGV2IGxpYm15c3FsY2xpZW50LXN0YXRpY2RldiBsaWJteXNxbGNsaWVudC1kYmcgXAorICAgIGxpYm15c3FsZCBsaWJteXNxbGQtZGV2ICR7UE59LWNsaWVudCAke1BOfS1zZXJ2ZXIgJHtQTn0tc2V0dXBkYiAke1BOfS1sZWZ0b3ZlcnMiCitDT05GRklMRVNfJHtQTn0tc2VydmVyICs9ICIke3N5c2NvbmZkaXJ9L215LmNuZiAke3N5c2NvbmZkaXJ9L215LmNuZi5kL3NlcnZlci5jbmYiCitDT05GRklMRVNfJHtQTn0tY2xpZW50ICs9ICIke3N5c2NvbmZkaXJ9L215LmNuZi5kL215c3FsLWNsaWVudHMuY25mIgorQ09ORkZJTEVTX2xpYm15c3FsY2xpZW50ICs9ICIke3N5c2NvbmZkaXJ9L215LmNuZi5kL2NsaWVudC5jbmYiCisKK0ZJTEVTXyR7UE59ID0gIiAiCitSREVQRU5EU18ke1BOfSA9ICIke1BOfS1jbGllbnQgJHtQTn0tc2VydmVyIgorQUxMT1dfRU1QVFlfJHtQTn0gPSAiMSIKKworUkRFUEVORFNfJHtQTn0tY2xpZW50ID0gInBlcmwgcGVybC1tb2R1bGUtZ2V0b3B0LWxvbmcgcGVybC1tb2R1bGUtZmlsZS10ZW1wIFwKKyAgICBwZXJsLW1vZHVsZS1mY250bCBwZXJsLW1vZHVsZS1zeXMtaG9zdG5hbWUgcGVybC1tb2R1bGUtaXBjLW9wZW4zIFwKKyAgICBwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTXyR7UE59LXNlcnZlciA9ICJwZXJsIHBlcmwtbW9kdWxlLWdldG9wdC1sb25nIHBlcmwtbW9kdWxlLWRhdGEtZHVtcGVyIFwKKyAgICBwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIHBlcmwtbW9kdWxlLWZpbGUtcGF0aCBwZXJsLW1vZHVsZS1zeXMtaG9zdG5hbWUgXAorICAgIHBlcmwtbW9kdWxlLWZpbGUtY29weSBwZXJsLW1vZHVsZS1maWxlLXRlbXAgcGVybC1tb2R1bGUtcG9zaXggXAorICAgICR7UE59LWNsaWVudCIKK1JERVBFTkRTXyR7UE59LWxlZnRvdmVycyA9ICJwZXJsIHBlcmwtbW9kdWxlLWN3ZCBwZXJsLW1vZHVsZS1iZW5jaG1hcmsgcGVybC1tb2R1bGUtZ2V0b3B0LWxvbmcgXAorICAgIHBlcmwtbW9kdWxlLXBvc2l4IHBlcmwtbW9kdWxlLWRhdGEtZHVtcGVyIHBlcmwtbW9kdWxlLXNpZ3RyYXAgcGVybC1tb2R1bGUtdGhyZWFkcyBcCisgICAgcGVybC1tb2R1bGUtdGhyZWFkcy1zaGFyZWQgcGVybC1tb2R1bGUtaW8tc29ja2V0IHBlcmwtbW9kdWxlLXN5cy1ob3N0bmFtZSBwZXJsLW1vZHVsZS1maWxlLWNvcHkgXAorICAgIHBlcmwtbW9kdWxlLWZpbGUtc3BlYyBwZXJsLW1vZHVsZS1maWxlLWZpbmQgcGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSBwZXJsLW1vZHVsZS1maWxlLXBhdGggXAorICAgIHBlcmwtbW9kdWxlLWNvbnN0YW50IHBlcmwtbW9kdWxlLWxpYiBwZXJsLW1vZHVsZS1maWxlLXRlbXAgcGVybC1tb2R1bGUtZmlsZS1zcGVjLWZ1bmN0aW9ucyBcCisgICAgcGVybC1tb2R1bGUtaW8tc29ja2V0LWluZXQgcGVybC1tb2R1bGUtaW8tc2VsZWN0IgorCisjIEFsbG93IG9sZCBjb2RlIHRvIGxpbmsgdG8gdGhlIGJhY2t3YXJkIGNvbXBhdGlibGUgbGlicmFyeQorUkRFUEVORFNfbGlibXlzcWxjbGllbnQtZGV2ID0gImxpYm15c3FsY2xpZW50LXItZGV2IgorCitGSUxFU19saWJteXNxbGNsaWVudCA9ICJcCisgICAgJHtsaWJkaXJ9L2xpYm15c3FsY2xpZW50LnNvLiogXAorICAgICR7c3lzY29uZmRpcn0vbXkuY25mLmQvY2xpZW50LmNuZiIKK0ZJTEVTX2xpYm15c3FsY2xpZW50LWRldiA9ICIgXAorICAgICR7aW5jbHVkZWRpcn0vbXlzcWwvIFwKKyAgICAke2xpYmRpcn0vbGlibXlzcWxjbGllbnQuc28gXAorICAgICR7c3lzY29uZmRpcn0vYWNsb2NhbCBcCisgICAgJHtiaW5kaXJ9L215c3FsX2NvbmZpZyIKK0ZJTEVTX2xpYm15c3FsY2xpZW50LXN0YXRpY2RldiA9ICJcCisgICAgJHtsaWJkaXJ9LyouYSIKK0ZJTEVTX2xpYm15c3FsY2xpZW50LWRiZyA9ICIke2xpYmRpcn0vcGx1Z2luLy5kZWJ1Zy8gXAorICAgICR7ZGF0YWRpcn0vbXlzcWwtdGVzdC9saWIvTXkvU2FmZVByb2Nlc3MvLmRlYnVnL215X3NhZmVfcHJvY2VzcyIKKworIyBBdm9pZCB3YXJuaW5ncyBhYm91dCBoYV94dHJhZGIuc28uMC4wLjAgYW5kIGhhX2lubm9kYl9wbHVnaW4uc28uMC4wLjAKKyMgd2hpY2ggYXJlIGludGVudGlvbmFsbHkgbm9uLVBJQyBvbiAzMi1iaXQgeDg2IChzZWUgZS5nLgorIyBzdG9yYWdlL3h0cmFkYi9wbHVnLmluIGluIHRoZSBzb3VyY2UpCitJTlNBTkVfU0tJUF9saWJteXNxbGNsaWVudF9hcHBlbmRfeDg2ID0gIiB0ZXh0cmVsIgorCitGSUxFU19saWJteXNxbGNsaWVudC1yID0gIiR7bGliZGlyfS9saWJteXNxbGNsaWVudF9yLnNvLioiCitGSUxFU19saWJteXNxbGNsaWVudC1yLWRldiA9ICJcCisgICAgJHtsaWJkaXJ9L2xpYm15c3FsY2xpZW50X3Iuc28iCitGSUxFU19saWJteXNxbGNsaWVudC1yLXN0YXRpY2RldiA9ICIke2xpYmRpcn0vbGlibXlzcWxjbGllbnRfci5hIgorRklMRVNfbGlibXlzcWxjbGllbnQtci1kYmcgPSAiJHtsaWJkaXJ9L3BsdWdpbi8uZGVidWdsaWJteXNxbGNsaWVudF9yLnNvLioiCisKK0ZJTEVTX2xpYm15c3FsZCA9ICJcCisgICAgJHtsaWJkaXJ9L2xpYm15c3FsZC5zby4qIgorRklMRVNfbGlibXlzcWxkLWRldiA9ICJcCisgICAgJHtsaWJkaXJ9L2xpYm15c3FsZC5zbyIKKworRklMRVNfJHtQTn0tY2xpZW50ID0gIlwKKyAgICAke2JpbmRpcn0vbXlpc2FtX2Z0ZHVtcCBcCisgICAgJHtiaW5kaXJ9L215c3FsIFwKKyAgICAke2JpbmRpcn0vbXlzcWxfY2xpZW50X3Rlc3QgXAorICAgICR7YmluZGlyfS9teXNxbF9jbGllbnRfdGVzdF9lbWJlZGRlZCBcCisgICAgJHtiaW5kaXJ9L215c3FsX2ZpbmRfcm93cyBcCisgICAgJHtiaW5kaXJ9L215c3FsX2ZpeF9leHRlbnNpb25zIFwKKyAgICAke2JpbmRpcn0vbXlzcWxfd2FpdHBpZCBcCisgICAgJHtiaW5kaXJ9L215c3FsYWNjZXNzIFwKKyAgICAke2JpbmRpcn0vbXlzcWxhZG1pbiBcCisgICAgJHtiaW5kaXJ9L215c3FsYnVnIFwKKyAgICAke2JpbmRpcn0vbXlzcWxjaGVjayBcCisgICAgJHtiaW5kaXJ9L215c3FsZHVtcCBcCisgICAgJHtiaW5kaXJ9L215c3FsZHVtcHNsb3cgXAorICAgICR7YmluZGlyfS9teXNxbGltcG9ydCBcCisgICAgJHtiaW5kaXJ9L215c3Fsc2hvdyBcCisgICAgJHtiaW5kaXJ9L215c3Fsc2xhcCBcCisgICAgJHtiaW5kaXJ9L215c3FsdGVzdF9lbWJlZGRlZCBcCisgICAgJHtsaWJleGVjZGlyfS9teXNxbG1hbmFnZXIgXAorICAgICR7c3lzY29uZmRpcn0vbXkuY25mLmQvbXlzcWwtY2xpZW50cy5jbmYiCisKK0ZJTEVTXyR7UE59LXNlcnZlciA9ICJcCisgICAgJHtiaW5kaXJ9L2NvbXBfZXJyIFwKKyAgICAke2JpbmRpcn0vaXNhbWNoayBcCisgICAgJHtiaW5kaXJ9L2lzYW1sb2cgXAorICAgICR7YmluZGlyfS9tc3FsMm15c3FsIFwKKyAgICAke2JpbmRpcn0vbXlfcHJpbnRfZGVmYXVsdHMgXAorICAgICR7YmluZGlyfS9teWlzYW1jaGsgXAorICAgICR7YmluZGlyfS9teWlzYW1sb2cgXAorICAgICR7YmluZGlyfS9teWlzYW1wYWNrIFwKKyAgICAke2JpbmRpcn0vbXlzcWxfY29udmVydF90YWJsZV9mb3JtYXQgXAorICAgICR7YmluZGlyfS9teXNxbF9maXhfcHJpdmlsZWdlX3RhYmxlcyBcCisgICAgJHtiaW5kaXJ9L215c3FsX2luc3RhbGxfZGIgXAorICAgICR7YmluZGlyfS9teXNxbF9zZWN1cmVfaW5zdGFsbGF0aW9uIFwKKyAgICAke2JpbmRpcn0vbXlzcWxfc2V0cGVybWlzc2lvbiBcCisgICAgJHtiaW5kaXJ9L215c3FsLXN5c3RlbWQtc3RhcnQgXAorICAgICR7YmluZGlyfS9teXNxbF90emluZm9fdG9fc3FsIFwKKyAgICAke2JpbmRpcn0vbXlzcWxfdXBncmFkZSBcCisgICAgJHtiaW5kaXJ9L215c3FsX3BsdWdpbiBcCisgICAgJHtiaW5kaXJ9L215c3FsX3phcCBcCisgICAgJHtiaW5kaXJ9L215c3FsYmlubG9nIFwKKyAgICAke2JpbmRpcn0vbXlzcWxkX211bHRpIFwKKyAgICAke2JpbmRpcn0vbXlzcWxkX3NhZmUgXAorICAgICR7YmluZGlyfS9teXNxbGhvdGNvcHkgXAorICAgICR7YmluZGlyfS9teXNxbHRlc3QgXAorICAgICR7YmluZGlyfS9uZGJfZGVsZXRlX2FsbCBcCisgICAgJHtiaW5kaXJ9L25kYl9kZXNjIFwKKyAgICAke2JpbmRpcn0vbmRiX2Ryb3BfaW5kZXggXAorICAgICR7YmluZGlyfS9uZGJfZHJvcF90YWJsZSBcCisgICAgJHtiaW5kaXJ9L25kYl9tZ20gXAorICAgICR7YmluZGlyfS9uZGJfcmVzdG9yZSBcCisgICAgJHtiaW5kaXJ9L25kYl9zZWxlY3RfYWxsIFwKKyAgICAke2JpbmRpcn0vbmRiX3NlbGVjdF9jb3VudCBcCisgICAgJHtiaW5kaXJ9L25kYl9zaG93X3RhYmxlcyBcCisgICAgJHtiaW5kaXJ9L25kYl93YWl0ZXIgXAorICAgICR7YmluZGlyfS9wYWNrX2lzYW0gXAorICAgICR7YmluZGlyfS9wZXJyb3IgXAorICAgICR7YmluZGlyfS9yZXBsYWNlIFwKKyAgICAke2JpbmRpcn0vcmVzb2x2ZV9zdGFja19kdW1wIFwKKyAgICAke2JpbmRpcn0vcmVzb2x2ZWlwIFwKKyAgICAke2xpYmV4ZWNkaXJ9L215c3FsZCBcCisgICAgJHtzYmluZGlyfS9teXNxbGQgXAorICAgICR7c2JpbmRpcn0vbmRiX2NwY2QgXAorICAgICR7c2JpbmRpcn0vbmRiZCBcCisgICAgJHtzYmluZGlyfS9uZGJfbWdtZCBcCisgICAgJHtsaWJkaXJ9L3BsdWdpbi8qLnNvIFwKKyAgICAke2RhdGFkaXJ9L215c3FsLyBcCisgICAgJHtsb2NhbHN0YXRlZGlyfS9teXNxbC8gXAorICAgICR7c3lzY29uZmRpcn0vaW5pdC5kL215c3FsZCBcCisgICAgJHtzeXNjb25mZGlyfS9teS5jbmYgXAorICAgICR7c3lzY29uZmRpcn0vbXkuY25mLmQvc2VydmVyLmNuZiBcCisgICAgJHtzeXNjb25mZGlyfS90bXBmaWxlcy5kIgorCitERVNDUklQVElPTl8ke1BOfS1sZWZ0b3ZlcnMgPSAidW5wYWNrYWdlZCBhbmQgcHJvYmFibHkgdW5uZWVkZWQgZmlsZXMgZm9yICR7UE59IgorRklMRVNfJHtQTn0tbGVmdG92ZXJzID0gIi8iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L215c3FsL21hcmlhZGIvY29uZmlndXJlLmNtYWtlLWZpeC12YWxncmluZC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXlzcWwvbWFyaWFkYi9jb25maWd1cmUuY21ha2UtZml4LXZhbGdyaW5kLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU5N2RlZjYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L215c3FsL21hcmlhZGIvY29uZmlndXJlLmNtYWtlLWZpeC12YWxncmluZC5wYXRjaApAQCAtMCwwICsxLDQxIEBACitGcm9tIDVlZmZiYTBkN2Q0NzA3MWEzZjFiY2E1NjgyMzE5MGQ1YTk1YmIxYTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBKYWNraWUgSHVhbmcgPGphY2tpZS5odWFuZ0B3aW5kcml2ZXIuY29tPgorRGF0ZTogV2VkLCAxMiBOb3YgMjAxNCAwMzowOToxMCAtMDUwMAorU3ViamVjdDogW1BBVENIXSBjb25maWd1cmUuY21ha2U6IGZpeCB2YWxncmluZAorCitDaGVjayB2YWxncmluZCBoZWFkZXJzIG9ubHkgaWYgV0lUSF9WQUxHUklORCBpcyBzZXQuCisKK21hcmlhZGIgdXNlcyB0d28gbWFjcm9zIGZvciB2YWxncmluZCBjb21waWxhdGlvbnM6CitIQVZFX3ZhbGdyaW5kIC0gdmFsZ3JpbmQgaXMgaW5zdGFsbGVkIGFuZCBjYW4gYmUgc2V0IGJ5IGNvbmZpZ3VyZSBvcHRpb24gLURXSVRIX1ZBTEdSSU5ECitIQVZFX1ZBTEdSSU5EIC0gdmFsZ3JpbmQgZGVidWcgbGlicmFyaWVzIGlzIGluc3RhbGxlZCwgc2V0IGJ5IGF1dG8gY2hlY2sKKworV2Ugd291bGQgbGlrZSB0byBzZXQgdGhlbSBib3RoIGJ5IHRoZSBjb25maWd1cmUgb3B0aW9uIHNvIHRoYXQgd2UgY2FuIHVzZQorUEFDS0FHRUNPTkZJRyB0byBkZWNpZGUgaWYgdmFsZ3JpbmQgaXMgbmVlZGVkIG9yIG5vdC4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtvZSBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogSmFja2llIEh1YW5nIDxqYWNraWUuaHVhbmdAd2luZHJpdmVyLmNvbT4KKy0tLQorIGNvbmZpZ3VyZS5jbWFrZSB8IDQgKystLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuY21ha2UgYi9jb25maWd1cmUuY21ha2UKK2luZGV4IDBiZDdiYmUuLjUxYTA5OGYgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuY21ha2UKKysrKyBiL2NvbmZpZ3VyZS5jbWFrZQorQEAgLTEwNDcsMTAgKzEwNDcsMTAgQEAgTUFSS19BU19BRFZBTkNFRChXSVRIX0FUT01JQ19MT0NLUyBNWV9BVE9NSUNfTU9ERV9SV0xPQ0sgTVlfQVRPTUlDX01PREVfRFVNTVkpCisgCisgSUYoV0lUSF9WQUxHUklORCkKKyAgIFNFVChIQVZFX3ZhbGdyaW5kIDEpCisrICBDSEVDS19JTkNMVURFX0ZJTEVTKCJ2YWxncmluZC9tZW1jaGVjay5oO3ZhbGdyaW5kL3ZhbGdyaW5kLmgiCisrICBIQVZFX1ZBTEdSSU5EKQorIEVORElGKCkKKyAKKy1DSEVDS19JTkNMVURFX0ZJTEVTKCJ2YWxncmluZC9tZW1jaGVjay5oO3ZhbGdyaW5kL3ZhbGdyaW5kLmgiIAorLSAgSEFWRV9WQUxHUklORCkKKyAKKyAjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAjIENoZWNrIGZvciBJUHY2IHN1cHBvcnQKKy0tIAorMi4wLjAKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9teXNxbC9tYXJpYWRiL2ZpeC1hLWJ1aWxkaW5nLWZhaWx1cmUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L215c3FsL21hcmlhZGIvZml4LWEtYnVpbGRpbmctZmFpbHVyZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYzRlMTAyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9teXNxbC9tYXJpYWRiL2ZpeC1hLWJ1aWxkaW5nLWZhaWx1cmUucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorW1BBVENIXSBmaXggYSBidWlsZGluZyBmYWlsdXJlCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KKworYnVpbGRpbmcgZmFpbGVkIHNpbmNlIG5hdGl2ZSBkb2VzIG5vdCBnZW5lcmF0ZSBpbXBvcnRfZXhlY3V0YWJsZXMuY21ha2UKK0luIGZhY3QsIG91ciBidWlsZGluZyBzeXN0ZW0gd2lsbCBleHBvcnQgdGhlIG5lZWRlZCBjb21tYW5kcworCitTaWduZWQtb2ZmLWJ5OiBSb3kgTGkgPHJvbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CistLS0KKyBDTWFrZUxpc3RzLnR4dCB8IDUgLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL0NNYWtlTGlzdHMudHh0IGIvQ01ha2VMaXN0cy50eHQKK2luZGV4IGMxY2UxYzUuLjgzYjNhN2UgMTAwNjQ0CistLS0gYS9DTWFrZUxpc3RzLnR4dAorKysrIGIvQ01ha2VMaXN0cy50eHQKK0BAIC0zNTAsMTEgKzM1MCw2IEBAIE1ZU1FMX0NIRUNLX1JFQURMSU5FKCkKKyAKKyBDSEVDS19KRU1BTExPQygpCisgCistSUYoQ01BS0VfQ1JPU1NDT01QSUxJTkcpCistICBTRVQoSU1QT1JUX0VYRUNVVEFCTEVTICJJTVBPUlRGSUxFLU5PVEZPVU5EIiBDQUNIRSBGSUxFUEFUSCAiUGF0aCB0byBpbXBvcnRfZXhlY3V0YWJsZXMuY21ha2UgZnJvbSBhIG5hdGl2ZSBidWlsZCIpCistICBJTkNMVURFKCR7SU1QT1JUX0VYRUNVVEFCTEVTfSkKKy1FTkRJRigpCistCisgIworICMgU2V0dXAgbWFpbnRhaW5lciBtb2RlIG9wdGlvbnMgYnkgdGhlIGVuZC4gUGxhdGZvcm0gY2hlY2tzIGFyZQorICMgbm90IHJ1biB3aXRoIHRoZSB3YXJuaW5nIG9wdGlvbnMgYXMgdG8gbm90IHBlcnR1cmIgZnJhZ2lsZSBjaGVja3MKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9teXNxbC9tYXJpYWRiL2ZpeC1jbWFrZS1tb2R1bGUtcGF0aC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXlzcWwvbWFyaWFkYi9maXgtY21ha2UtbW9kdWxlLXBhdGgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGQ5ZjU1OAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXlzcWwvbWFyaWFkYi9maXgtY21ha2UtbW9kdWxlLXBhdGgucGF0Y2gKQEAgLTAsMCArMSwyOSBAQAorQXZvaWQgQ01BS0VfTU9EVUxFX1BBVEggYmVpbmcgb3ZlcndyaXR0ZW4KKworT0UtQ29yZSdzIHNldHRpbmcgb2YgQ01BS0VfTU9EVUxFX1BBVEggc3RvbXBzIG9uIE1hcmlhREIncyB2YWx1ZSB1bmxlc3MKK3dlIHNldCBpdCBhZnRlciBzZXR0aW5nIHRoZSBwcm9qZWN0IG5hbWUuCisKK1NpZ25lZC1vZmYtYnk6IFBhdWwgRWdnbGV0b24gPHBhdWwuZWdnbGV0b25AbGludXguaW50ZWwuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW3dvcmtpbmcgYXJvdW5kIE9FLUNvcmUgYnVnXQorCistLS0gbWFyaWFkYi9DTWFrZUxpc3RzLnR4dAkyMDE0LTA3LTE3IDExOjAxOjA3LjY3NjM1MzA0NyArMDEwMAorKysrIG1hcmlhZGIvQ01ha2VMaXN0cy50eHQJMjAxNC0wNy0xNyAxMTowMTozMS4yOTkzNTMxMDcgKzAxMDAKK0BAIC0yOCw4ICsyOCw2IEBACisgCisgTUVTU0FHRShTVEFUVVMgIlJ1bm5pbmcgY21ha2UgdmVyc2lvbiAke0NNQUtFX1ZFUlNJT059IikKKyAKKy1TRVQoQ01BS0VfTU9EVUxFX1BBVEggJHtDTUFLRV9NT0RVTEVfUEFUSH0gJHtDTUFLRV9TT1VSQ0VfRElSfS9jbWFrZSkKKy0KKyAjIERpc3Rpbmd1aXNoIGJldHdlZW4gY29tbXVuaXR5IGFuZCBub24tY29tbXVuaXR5IGJ1aWxkcywgd2l0aCB0aGUKKyAjIGRlZmF1bHQgYmVpbmcgYSBjb21tdW5pdHkgYnVpbGQuIFRoaXMgZG9lcyBub3QgaW1wYWN0IHRoZSBmZWF0dXJlCisgIyBzZXQgdGhhdCB3aWxsIGJlIGNvbXBpbGVkIGluOyBpdCdzIG1lcmVseSBwcm92aWRlZCBhcyBhIGhpbnQgdG8KK0BAIC03Nyw2ICs3NSw4IEBACisgRU5ESUYoKQorIFBST0pFQ1QoJHtNWVNRTF9QUk9KRUNUX05BTUV9KQorIAorK1NFVChDTUFLRV9NT0RVTEVfUEFUSCAke0NNQUtFX01PRFVMRV9QQVRIfSAke0NNQUtFX1NPVVJDRV9ESVJ9L2NtYWtlKQorKworIElGKEJVSUxEX0NPTkZJRykKKyAgIElOQ0xVREUoCisgICAke0NNQUtFX1NPVVJDRV9ESVJ9L2NtYWtlL2J1aWxkX2NvbmZpZ3VyYXRpb25zLyR7QlVJTERfQ09ORklHfS5jbWFrZSkKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXlzcWwvbWFyaWFkYi9maXgtbXlzcWxjbGllbnQtci12ZXJzaW9uLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9teXNxbC9tYXJpYWRiL2ZpeC1teXNxbGNsaWVudC1yLXZlcnNpb24ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzUxNjYxOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXlzcWwvbWFyaWFkYi9maXgtbXlzcWxjbGllbnQtci12ZXJzaW9uLnBhdGNoCkBAIC0wLDAgKzEsMTYxIEBACitGcm9tIDZkYjJhNjA2MTk2ZmIzOGE2ZDEwNmRjNDA5ZWVlMWNiOWE0MGE0NDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBUb3IgRGlkcmlrc2VuIDx0b3IuZGlkcmlrc2VuQG9yYWNsZS5jb20+CitEYXRlOiBNb24sIDI0IEp1biAyMDEzIDE3OjE1OjM1ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIEJ1ZyMxNjgwOTA1NSBNWVNRTCA1LjYgQU5EIDUuNyBTVElMTCBVU0UgTElCTVlTUUxDTElFTlQuU08uMTgKKworV2l0aCB0aGlzIHBhdGNoLCB0aGUgbGlibXlzcWwvIGRpcmVjdG9yeSBjb250YWluczoKK2xpYm15c3FsY2xpZW50LmEKK2xpYm15c3FsY2xpZW50X3IuYSAtPiBsaWJteXNxbGNsaWVudC5hCitsaWJteXNxbGNsaWVudF9yLnNvIC0+IGxpYm15c3FsY2xpZW50LnNvKgorbGlibXlzcWxjbGllbnRfci5zby4xOCAtPiBsaWJteXNxbGNsaWVudC5zby4xOCoKK2xpYm15c3FsY2xpZW50X3Iuc28uMTguMS4wIC0+IGxpYm15c3FsY2xpZW50LnNvLjE4LjEuMCoKK2xpYm15c3FsY2xpZW50LnNvIC0+IGxpYm15c3FsY2xpZW50LnNvLjE4KgorbGlibXlzcWxjbGllbnQuc28uMTggLT4gbGlibXlzcWxjbGllbnQuc28uMTguMS4wKgorbGlibXlzcWxjbGllbnQuc28uMTguMS4wKgorCitUaGlzIGZpeGVzIGxpYm15c3FsY2xpZW50X3Igc3ltbGlua3MgcG9pbnRpbmcgdG8gdGhlIHVudmVyc2lvbmVkCitsaWJteXNxbGNsaWVudC5zbyBzeW1saW5rIChsZWFkaW5nIHRvIHBhY2thZ2UgUUEgZXJyb3JzIHNpbmNlIHRoZQorbGlibXlzcWxjbGllbnQtciBwYWNrYWdlIGVuZHMgdXAgZGVwZW5kaW5nIG9uIGxpYm15c3FsY2xpZW50LWRldikuCisKK0JvcnJvd2VkIGZyb20gTXlTUUwgNS42IHRyZWUgYXQgaHR0cHM6Ly9naXRodWIuY29tL3BlcmNvbmEvbXlzcWwvCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBQYXVsIEVnZ2xldG9uIDxwYXVsLmVnZ2xldG9uQGxpbnV4LmludGVsLmNvbT4KKworLS0tCisgY21ha2UvaW5zdGFsbF9tYWNyb3MuY21ha2UgfCAyNSArKysrKysrKysrKysrKystLS0tLS0tLS0tCisgY21ha2UvbXlzcWxfdmVyc2lvbi5jbWFrZSAgfCAgMyArKy0KKyBsaWJteXNxbC9DTWFrZUxpc3RzLnR4dCAgICB8IDM2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLQorIDMgZmlsZXMgY2hhbmdlZCwgNDUgaW5zZXJ0aW9ucygrKSwgMTkgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jbWFrZS9pbnN0YWxsX21hY3Jvcy5jbWFrZSBiL2NtYWtlL2luc3RhbGxfbWFjcm9zLmNtYWtlCitpbmRleCBiOGVmZGY4Li5hMGQwZTY4IDEwMDY0NAorLS0tIGEvY21ha2UvaW5zdGFsbF9tYWNyb3MuY21ha2UKKysrKyBiL2NtYWtlL2luc3RhbGxfbWFjcm9zLmNtYWtlCitAQCAtMSw0ICsxLDQgQEAKKy0jIENvcHlyaWdodCAoYykgMjAwOSwgMjAxMSwgT3JhY2xlIGFuZC9vciBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKysjIENvcHlyaWdodCAoYykgMjAwOSwgMjAxMywgT3JhY2xlIGFuZC9vciBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAjIAorICMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CitAQCAtMTExLDI4ICsxMTEsMzMgQEAgRlVOQ1RJT04oSU5TVEFMTF9TQ1JJUFQpCisgRU5ERlVOQ1RJT04oKQorIAorICMgSW5zdGFsbCBzeW1ib2xpYyBsaW5rIHRvIENNYWtlIHRhcmdldC4gCistIyB0aGUgbGluayBpcyBjcmVhdGVkIGluIHRoZSBzYW1lIGRpcmVjdG9yeSBhcyB0YXJnZXQKKy0jIGFuZCBleHRlbnNpb24gd2lsbCBiZSB0aGUgc2FtZSBhcyBmb3IgdGFyZ2V0IGZpbGUuCistTUFDUk8oSU5TVEFMTF9TWU1MSU5LIGxpbmtuYW1lIHRhcmdldCBkZXN0aW5hdGlvbiBjb21wb25lbnQpCisrIyBXZSBkbyAnY2QgcGF0aDsgbG4gLXMgdGFyZ2V0X25hbWUgbGlua19uYW1lJworKyMgV2UgYWxzbyBhZGQgYW4gSU5TVEFMTCB0YXJnZXQgZm9yICIke3BhdGh9LyR7bGlua19uYW1lfSIKKytNQUNSTyhJTlNUQUxMX1NZTUxJTksgdGFyZ2V0IHRhcmdldF9uYW1lIGxpbmtfbmFtZSBkZXN0aW5hdGlvbiBjb21wb25lbnQpCisgSUYoVU5JWCkKKyAgIEdFVF9UQVJHRVRfUFJPUEVSVFkobG9jYXRpb24gJHt0YXJnZXR9IExPQ0FUSU9OKQorICAgR0VUX0ZJTEVOQU1FX0NPTVBPTkVOVChwYXRoICR7bG9jYXRpb259IFBBVEgpCistICBHRVRfRklMRU5BTUVfQ09NUE9ORU5UKG5hbWUgJHtsb2NhdGlvbn0gTkFNRSkKKy0gIFNFVChvdXRwdXQgJHtwYXRofS8ke2xpbmtuYW1lfSkKKysgIE1FU1NBR0UoU1RBVFVTICJ0YXJnZXQgJHt0YXJnZXR9IikKKysgIE1FU1NBR0UoU1RBVFVTICJsaW5rX25hbWUgJHtsaW5rX25hbWV9IikKKysgIE1FU1NBR0UoU1RBVFVTICJ0YXJnZXRfbmFtZSAke3RhcmdldF9uYW1lfSIpCisrICBNRVNTQUdFKFNUQVRVUyAicGF0aCAke3BhdGh9IikKKysgIE1FU1NBR0UoU1RBVFVTICIiKQorKworKyAgU0VUKG91dHB1dCAke3BhdGh9LyR7bGlua19uYW1lfSkKKyAgIEFERF9DVVNUT01fQ09NTUFORCgKKyAgICAgT1VUUFVUICR7b3V0cHV0fQorICAgICBDT01NQU5EICR7Q01BS0VfQ09NTUFORH0gQVJHUyAtRSByZW1vdmUgLWYgJHtvdXRwdXR9CisgICAgIENPTU1BTkQgJHtDTUFLRV9DT01NQU5EfSBBUkdTIC1FIGNyZWF0ZV9zeW1saW5rIAorLSAgICAgICR7bmFtZX0gCistICAgICAgJHtsaW5rbmFtZX0KKysgICAgICAke3RhcmdldF9uYW1lfSAKKysgICAgICAke2xpbmtfbmFtZX0KKyAgICAgV09SS0lOR19ESVJFQ1RPUlkgJHtwYXRofQorICAgICBERVBFTkRTICR7dGFyZ2V0fQorICAgICApCisgICAKKy0gIEFERF9DVVNUT01fVEFSR0VUKHN5bWxpbmtfJHtsaW5rbmFtZX0KKysgIEFERF9DVVNUT01fVEFSR0VUKHN5bWxpbmtfJHtsaW5rX25hbWV9CisgICAgIEFMTAorICAgICBERVBFTkRTICR7b3V0cHV0fSkKKy0gIFNFVF9UQVJHRVRfUFJPUEVSVElFUyhzeW1saW5rXyR7bGlua25hbWV9IFBST1BFUlRJRVMgQ0xFQU5fRElSRUNUX09VVFBVVCAxKQorKyAgU0VUX1RBUkdFVF9QUk9QRVJUSUVTKHN5bWxpbmtfJHtsaW5rX25hbWV9IFBST1BFUlRJRVMgQ0xFQU5fRElSRUNUX09VVFBVVCAxKQorICAgSUYoQ01BS0VfR0VORVJBVE9SIE1BVENIRVMgIlhjb2RlIikKKyAgICAgIyBGb3IgWGNvZGUsIHJlcGxhY2UgcHJvamVjdCBjb25maWcgd2l0aCBpbnN0YWxsIGNvbmZpZworICAgICBTVFJJTkcoUkVQTEFDRSAiJHtDTUFLRV9DRkdfSU5URElSfSIgCitkaWZmIC0tZ2l0IGEvbGlibXlzcWwvQ01ha2VMaXN0cy50eHQgYi9saWJteXNxbC9DTWFrZUxpc3RzLnR4dAoraW5kZXggYmU1NzYwZi4uOTYyODZmZiAxMDA2NDQKKy0tLSBhL2xpYm15c3FsL0NNYWtlTGlzdHMudHh0CisrKysgYi9saWJteXNxbC9DTWFrZUxpc3RzLnR4dAorQEAgLTE4MCw2ICsxODAsMTIgQEAgSUYoTVNWQykKKyAgSU5TVEFMTF9ERUJVR19UQVJHRVQobXlzcWxjbGllbnQgREVTVElOQVRJT04gJHtJTlNUQUxMX0xJQkRJUn0vZGVidWcpCisgRU5ESUYoKQorIAorK01BQ1JPKEdFVF9UQVJHRVRfTkFNRSB0YXJnZXQgb3V0X25hbWUpCisrICBHRVRfVEFSR0VUX1BST1BFUlRZKGxvY2F0aW9uICR7dGFyZ2V0fSBMT0NBVElPTikKKysgIEdFVF9GSUxFTkFNRV9DT01QT05FTlQobmFtZSAke2xvY2F0aW9ufSBOQU1FKQorKyAgU0VUKCR7b3V0X25hbWV9ICR7bmFtZX0pCisrRU5ETUFDUk8oKQorKworIElGKFVOSVgpCisgICBNQUNSTyhHRVRfVkVSU0lPTkVEX0xJQk5BTUUgTElCTkFNRSBFWFRFTlNJT04gVkVSU0lPTiBPVVROQU1FKQorICAgICBTRVQoRE9UX1ZFUlNJT04gIi4ke1ZFUlNJT059IikKK0BAIC0xOTIsNyArMTk4LDEzIEBAIElGKFVOSVgpCisgICAgICAgU0VUKCR7T1VUTkFNRX0gJHtMSUJOQU1FfSR7RVhURU5TSU9OfSR7RE9UX1ZFUlNJT059KQorICAgICBFTkRJRigpIAorICAgRU5ETUFDUk8oKQorLSAgSU5TVEFMTF9TWU1MSU5LKCR7Q01BS0VfU1RBVElDX0xJQlJBUllfUFJFRklYfW15c3FsY2xpZW50X3IuYSBteXNxbGNsaWVudCAke0lOU1RBTExfTElCRElSfSBEZXZlbG9wbWVudCkKKytFTkRJRigpCisrCisrSUYoVU5JWCkKKysgIEdFVF9UQVJHRVRfTkFNRShteXNxbGNsaWVudCBsaWJfbmFtZSkKKysgIElOU1RBTExfU1lNTElOSyhteXNxbGNsaWVudAorKyAgICAke2xpYl9uYW1lfSAke0NNQUtFX1NUQVRJQ19MSUJSQVJZX1BSRUZJWH1teXNxbGNsaWVudF9yLmEKKysgICAgJHtJTlNUQUxMX0xJQkRJUn0gRGV2ZWxvcG1lbnQpCisgRU5ESUYoKQorIAorIElGKE5PVCBESVNBQkxFX1NIQVJFRCkKK0BAIC0yMDUsMTAgKzIxNyw5IEBAIElGKE5PVCBESVNBQkxFX1NIQVJFRCkKKyAgICAgIyBsaWJ0b29sIGNvbXBhdGFiaWxpdHkKKyAgICAgSUYoQ01BS0VfU1lTVEVNX05BTUUgTUFUQ0hFUyAiRnJlZUJTRCIgT1IgQVBQTEUpCisgICAgICAgU0VUKE9TX1NIQVJFRF9MSUJfVkVSU0lPTiAiJHtTSEFSRURfTElCX01BSk9SX1ZFUlNJT059IikKKy0gICAgRUxTRUlGKENNQUtFX1NZU1RFTV9OQU1FIE1BVENIRVMgIkhQLVVYIikKKy0gICAgICBTRVQoT1NfU0hBUkVEX0xJQl9WRVJTSU9OICIke1NIQVJFRF9MSUJfTUFKT1JfVkVSU0lPTn0uMCIpCisgICAgIEVMU0UoKQorLSAgICAgIFNFVChPU19TSEFSRURfTElCX1ZFUlNJT04gIiR7U0hBUkVEX0xJQl9NQUpPUl9WRVJTSU9OfS4wLjAiKQorKyAgICAgIFNFVChPU19TSEFSRURfTElCX1ZFUlNJT04KKysgICAgICAgICIke1NIQVJFRF9MSUJfTUFKT1JfVkVSU0lPTn0uJHtTSEFSRURfTElCX01JTk9SX1ZFUlNJT059LjAiKQorICAgICBFTkRJRigpCisgICAgICMgTmFtZSBvZiBzaGFyZWQgbGlicmFyeSBpcyBteXNxbGNsaWVudCBvbiBVbml4CisgICAgIFNFVF9UQVJHRVRfUFJPUEVSVElFUyhsaWJteXNxbCBQUk9QRVJUSUVTIAorQEAgLTIzOSw4ICsyNTAsMTMgQEAgSUYoTk9UIERJU0FCTEVfU0hBUkVEKQorICAgICAgICIke0NNQUtFX1NIQVJFRF9MSUJSQVJZX1NVRkZJWH0iCisgICAgICAgIiIKKyAgICAgICBsaW5rbmFtZSkKKy0gICAgSU5TVEFMTF9TWU1MSU5LKCR7bGlua25hbWV9IGxpYm15c3FsICR7SU5TVEFMTF9MSUJESVJ9IFNoYXJlZExpYnJhcmllcykKKy0gICAgU0VUKE9TX1NIQVJFRF9MSUJfU1lNTElOS1MgIiR7U0hBUkVEX0xJQl9NQUpPUl9WRVJTSU9OfSIgIiR7T1NfU0hBUkVEX0xJQl9WRVJTSU9OfSIpCisrICAgIEdFVF9UQVJHRVRfTkFNRShsaWJteXNxbCBsaWJfbmFtZSkKKysgICAgR0VUX0ZJTEVOQU1FX0NPTVBPTkVOVChsaWJfbmFtZV93ZSAke2xpYl9uYW1lfSBOQU1FX1dFKQorKyAgICBJTlNUQUxMX1NZTUxJTksobGlibXlzcWwKKysgICAgICAke2xpYl9uYW1lfSAke2xpbmtuYW1lfQorKyAgICAgICR7SU5TVEFMTF9MSUJESVJ9IFNoYXJlZExpYnJhcmllcykKKysgICAgU0VUKE9TX1NIQVJFRF9MSUJfU1lNTElOS1MKKysgICAgICAiJHtTSEFSRURfTElCX01BSk9SX1ZFUlNJT059IiAiJHtPU19TSEFSRURfTElCX1ZFUlNJT059IikKKyAgICAgTElTVChSRU1PVkVfRFVQTElDQVRFUyBPU19TSEFSRURfTElCX1NZTUxJTktTKQorICAgICBGT1JFQUNIKHZlciAke09TX1NIQVJFRF9MSUJfU1lNTElOS1N9KQorICAgICAgIEdFVF9WRVJTSU9ORURfTElCTkFNRSgKK0BAIC0yNDgsNyArMjY0LDExIEBAIElGKE5PVCBESVNBQkxFX1NIQVJFRCkKKyAgICAgICAgICIke0NNQUtFX1NIQVJFRF9MSUJSQVJZX1NVRkZJWH0iCisgICAgICAgICAiJHt2ZXJ9IgorICAgICAgICAgbGlua25hbWUpCistICAgICAgSU5TVEFMTF9TWU1MSU5LKCR7bGlua25hbWV9IGxpYm15c3FsICR7SU5TVEFMTF9MSUJESVJ9IFNoYXJlZExpYnJhcmllcykKKysgICAgICBHRVRfVkVSU0lPTkVEX0xJQk5BTUUoCisrICAgICAgICAke2xpYl9uYW1lX3dlfSAiJHtDTUFLRV9TSEFSRURfTElCUkFSWV9TVUZGSVh9IiAiJHt2ZXJ9IiBsaWJfbmFtZV92ZXIpCisrICAgICAgSU5TVEFMTF9TWU1MSU5LKGxpYm15c3FsCisrICAgICAgICAke2xpYl9uYW1lX3Zlcn0gJHtsaW5rbmFtZX0KKysgICAgICAgICR7SU5TVEFMTF9MSUJESVJ9IFNoYXJlZExpYnJhcmllcykKKyAgICAgRU5ERk9SRUFDSCgpCisgICBFTkRJRigpCisgRU5ESUYoKQorLS0gCisyLjAuMworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L215c3FsL21hcmlhZGIvaW5zdGFsbF9kYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXlzcWwvbWFyaWFkYi9pbnN0YWxsX2RiCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjUxMmE3ZGEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L215c3FsL21hcmlhZGIvaW5zdGFsbF9kYgpAQCAtMCwwICsxLDEzIEBACisjISAvYmluL3NoCitjYXNlICIkMSIgaW4KKyAgc3RhcnQpCisJZWNobyAiU3RhcnRpbmcgdG8gaW5zdGFsbCBkYXRhYmFzZSBmb3IgbWFyaWFkYiIKKwkvdXNyL2Jpbi9teXNxbC1zeXN0ZW1kLXN0YXJ0IHByZQorICAgICAgICBlY2hvICJkb25lLiIKKwk7OworICAqKQorCWVjaG8gIlVzYWdlOiAvZXRjL2luaXQuZC9pbnN0YWxsX2RiIHN0YXJ0IgorCWV4aXQgMQorZXNhYworCitleGl0IDAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXlzcWwvbWFyaWFkYi9pbnN0YWxsX2RiLnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L215c3FsL21hcmlhZGIvaW5zdGFsbF9kYi5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM4MzY5ZjUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L215c3FsL21hcmlhZGIvaW5zdGFsbF9kYi5zZXJ2aWNlCkBAIC0wLDAgKzEsMTcgQEAKKyMKKyMgU2ltcGxlIGluc3RhbGwgTXlTUUwgZGF0YWJhc2Ugc2VydmljZSBmaWxlCisjIEl0IHNob3VsYiBiZSBkb25lIGJlZm9yZSBteXNxbGQuc2VydmljZQorCitbVW5pdF0KK0Rlc2NyaXB0aW9uPUluc3RhbGwgTXlTUUwgQ29tbXVuaXR5IFNlcnZlciBEYXRhYmFzZQorQWZ0ZXI9bmV0d29yay50YXJnZXQKK0FmdGVyPXN5c2xvZy50YXJnZXQKK0JlZm9yZT1teXNxbGQuc2VydmljZQorCitbSW5zdGFsbF0KK1dhbnRlZEJ5PW11bHRpLXVzZXIudGFyZ2V0CisKK1tTZXJ2aWNlXQorVHlwZT1vbmVzaG90CitFeGVjU3RhcnQ9QEJJTkRJUkAvbXlzcWwtc3lzdGVtZC1zdGFydCBwcmUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9teXNxbC9tYXJpYWRiL215LmNuZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXlzcWwvbWFyaWFkYi9teS5jbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGM0YzE3MgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXlzcWwvbWFyaWFkYi9teS5jbmYKQEAgLTAsMCArMSwyNSBAQAorW2NsaWVudF0KKyNwYXNzd29yZAkJCQkJPSBwYXNzd29yZAorcG9ydAkJCQkJCT0gMzMwNgorc29ja2V0CQkJCQkJPSAvdmFyL2xpYi9teXNxbC9teXNxbC5zb2NrCisKK1tteXNxbGRfc2FmZV0KKworW215c3FsZF0KK3VzZXIgCQkJCQkJPSBteXNxbAorcG9ydCAJCQkJCQk9IDMzMDYKK3NvY2tldCAJCQkJCQk9IC92YXIvbGliL215c3FsL215c3FsLnNvY2sKK3BpZC1maWxlIAkJCQkJPSAvdmFyL2xpYi9teXNxbC9teXNxbGQucGlkCitsb2ctZXJyb3IgCQkJCQk9IC92YXIvbG9nL215c3FsZC5lcnIKK2Jhc2VkaXIgCQkJCQk9IC91c3IKK2RhdGFkaXIgCQkJCQk9IC92YXIvbGliL215c3FsCitza2lwLWV4dGVybmFsLWxvY2tpbmcKK3NraXAtbmV0d29ya2luZworaWdub3JlLWJ1aWx0aW4taW5ub2RiCitkZWZhdWx0LXN0b3JhZ2UtZW5naW5lCQkJCT0gbXlpc2FtCitiaW5kLWFkZHJlc3MJCQkJCT0gbG9jYWxob3N0CisKKyMKKyMgaW5jbHVkZSBhbGwgZmlsZXMgZnJvbSB0aGUgY29uZmlnIGRpcmVjdG9yeQorIworIWluY2x1ZGVkaXIgL2V0Yy9teS5jbmYuZApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9teXNxbC9tYXJpYWRiL215c3FsLXN5c3RlbWQtc3RhcnQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L215c3FsL21hcmlhZGIvbXlzcWwtc3lzdGVtZC1zdGFydApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xODljMDIwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9teXNxbC9tYXJpYWRiL215c3FsLXN5c3RlbWQtc3RhcnQKQEAgLTAsMCArMSw2NiBAQAorIyEgL2Jpbi9zaAorIworIyBOZWVkZWQgYXJndW1lbnQ6IHByZSB8IHBvc3QKKyMKKyMgcHJlIG1vZGUgIDogIHRyeSB0byBydW4gbXlzcWxfaW5zdGFsbF9kYiBhbmQgZml4IHBlcm1zIGFuZCBTRUxpbnV4IGNvbnRleHRzCisjIHBvc3QgbW9kZSA6ICBwaW5nIHNlcnZlciB1bnRpbCBhbnN3ZXIgaXMgcmVjZWl2ZWQKKyMKKworZ2V0X29wdGlvbiAoKSB7CisgICAgbG9jYWwgc2VjdGlvbj0kMQorICAgIGxvY2FsIG9wdGlvbj0kMgorICAgIGxvY2FsIGRlZmF1bHQ9JDMKKyAgICByZXQ9JCgvdXNyL2Jpbi9teV9wcmludF9kZWZhdWx0cyAkc2VjdGlvbiB8IGdyZXAgJ14tLScke29wdGlvbn0nPScgfCBjdXQgLWQ9IC1mMi0pCisgICAgWyAteiAkcmV0IF0gJiYgcmV0PSRkZWZhdWx0CisgICAgZWNobyAkcmV0Cit9CisKK2luc3RhbGxfZGIgKCkgeworICAgICMgTm90ZTogc29tZXRoaW5nIGRpZmZlcmVudCB0aGFuIGRhdGFkaXI9L3Zhci9saWIvbXlzcWwgcmVxdWlyZXMgU0VMaW51eCBwb2xpY3kgY2hhbmdlcyAoaW4gZW5mb3JjaW5nIG1vZGUpCisgICAgZGF0YWRpcj0kKGdldF9vcHRpb24gbXlzcWxkIGRhdGFkaXIgIi92YXIvbGliL215c3FsIikKKworICAgICMgUmVzdG9yZSBsb2csIGRpciwgcGVybXMgYW5kIFNFTGludXggY29udGV4dHMKKyAgICBbIC1kICIkZGF0YWRpciIgXSB8fCBpbnN0YWxsIC1kIC1tIDA3NTUgLW9teXNxbCAtZ215c3FsICIkZGF0YWRpciIgfHwgZXhpdCAxCisgICAgbG9nPS92YXIvbG9nL215c3FsZC5sb2cKKyAgICBbIC1lICRsb2cgXSB8fCB0b3VjaCAkbG9nCisgICAgY2htb2QgMDY0MCAkbG9nCisgICAgY2hvd24gbXlzcWw6bXlzcWwgJGxvZyB8fCBleGl0IDEKKyAgICBpZiBbIC14IC91c3Ivc2Jpbi9yZXN0b3JlY29uIF07IHRoZW4KKyAgICAgICAgL3Vzci9zYmluL3Jlc3RvcmVjb24gIiRkYXRhZGlyIgorICAgICAgICAvdXNyL3NiaW4vcmVzdG9yZWNvbiAkbG9nCisgICAgZmkKKworICAgICMgSWYgc3BlY2lhbCBteXNxbCBkaXIgaXMgaW4gcGxhY2UsIHNraXAgZGIgaW5zdGFsbAorICAgIFsgLWQgIiRkYXRhZGlyL215c3FsIiBdICYmIGV4aXQgMAorCisgICAgIyBDcmVhdGUgaW5pdGlhbCBkYgorICAgIC91c3IvYmluL215c3FsX2luc3RhbGxfZGIgLS1ycG0gLS1kYXRhZGlyPSIkZGF0YWRpciIgLS11c2VyPW15c3FsCisgICAgZXhpdCAwCit9CisKK3BpbmdlciAoKSB7CisgICAgIyBXYWl0IGZvciBwaW5nIHRvIGFuc3dlciB0byBzaWduYWwgc3RhcnR1cCBjb21wbGV0ZWQsCisgICAgIyBtaWdodCB0YWtlIGEgd2hpbGUgaW4gY2FzZSBvZiBlLmcuIGNyYXNoIHJlY292ZXJ5CisgICAgIyBNeVNRTCBzeXN0ZW1kIHNlcnZpY2Ugd2lsbCB0aW1lb3V0IHNjcmlwdCBpZiBubyBhbnN3ZXIKKyAgICBkYXRhZGlyPSQoZ2V0X29wdGlvbiBteXNxbGQgZGF0YWRpciAiL3Zhci9saWIvbXlzcWwiKQorICAgIHNvY2tldD0kKGdldF9vcHRpb24gIG15c3FsZCBzb2NrZXQgIiRkYXRhZGlyL215c3FsLnNvY2siKQorICAgIGNhc2UgJHNvY2tldCBpbgorICAgICAgICAvKikgYWRtaW5zb2NrZXQ9IiRzb2NrZXQiIDs7CisgICAgICAgICopIGFkbWluc29ja2V0PSIkZGF0YWRpci8kc29ja2V0IiA7OworICAgIGVzYWMKKworICAgIHdoaWxlIC9iaW4vdHJ1ZSA7IGRvCisgICAgICAgIHNsZWVwIDEKKyAgICAgICAgbXlzcWxhZG1pbiAtLW5vLWRlZmF1bHRzIC0tc29ja2V0PSIkYWRtaW5zb2NrZXQiIC0tdXNlcj1VTktOT1dOX01ZU1FMX1VTRVIgcGluZyA+L2Rldi9udWxsIDI+JjEgJiYgYnJlYWsKKyAgICBkb25lCisgICAgZXhpdCAwCit9CisKKyMgbWFpbgorY2FzZSAkMSBpbgorICAgICJwcmUiKSBpbnN0YWxsX2RiIDs7CisgICAgInBvc3QiKSBwaW5nZXIgOzsKK2VzYWMKKworZXhpdCAwCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXlzcWwvbWFyaWFkYi9teXNxbGQuc2VydmljZSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXlzcWwvbWFyaWFkYi9teXNxbGQuc2VydmljZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kODgzNjE3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9teXNxbC9tYXJpYWRiL215c3FsZC5zZXJ2aWNlCkBAIC0wLDAgKzEsMjUgQEAKK1tVbml0XQorRGVzY3JpcHRpb249TWFyaWFEQiBkYXRhYmFzZSBzZXJ2ZXIKK0FmdGVyPXN5c2xvZy50YXJnZXQKK0FmdGVyPW5ldHdvcmsudGFyZ2V0CisKK1tTZXJ2aWNlXQorUElERmlsZT0vdmFyL2xpYi9teXNxbC9teXNxbGQucGlkCitUeXBlPXNpbXBsZQorVXNlcj1teXNxbAorR3JvdXA9bXlzcWwKKworIyBFeGVjdXRlIHBvc3Qgc2NyaXB0cyBhcyByb290CitQZXJtaXNzaW9uc1N0YXJ0T25seT10cnVlCisKKyMgU3RhcnQgbWFpbiBzZXJ2aWNlCitFeGVjU3RhcnQ9QEJJTkRJUkAvbXlzcWxkX3NhZmUgLS1iYXNlZGlyPUBQUkVGSVhACisKKyMgRG9uJ3Qgc2lnbmFsIHN0YXJ0dXAgc3VjY2VzcyBiZWZvcmUgYSBwaW5nIHdvcmtzCitFeGVjU3RhcnRQb3N0PUBCSU5ESVJAL215c3FsLXN5c3RlbWQtc3RhcnQgcG9zdAorCitUaW1lb3V0U2VjPTMwMAorUHJpdmF0ZVRtcD10cnVlCisKK1tJbnN0YWxsXQorV2FudGVkQnk9bXVsdGktdXNlci50YXJnZXQKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXlzcWwvbWFyaWFkYi9yZW1vdmUtYmFkLXBhdGgucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L215c3FsL21hcmlhZGIvcmVtb3ZlLWJhZC1wYXRoLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZmMjZiMGIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L215c3FsL21hcmlhZGIvcmVtb3ZlLWJhZC1wYXRoLnBhdGNoCkBAIC0wLDAgKzEsMTggQEAKK1JlbW92ZSBob3N0IHBhdGggZnJvbSBpbmNsdWRlIGRpcmVjdG9yaWVzCisKK05hdHVyYWxseSB0aGlzIGJyZWFrcyBjcm9zcy1jb21waWxhdGlvbiBpZiBwcmVzZW50LgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogUGF1bCBFZ2dsZXRvbiA8cGF1bC5lZ2dsZXRvbkBsaW51eC5pbnRlbC5jb20+CisKKy0tLSBtYXJpYWRiLTUuNS4zOC9zdG9yYWdlL3Rva3VkYi9mdC1pbmRleC9DTWFrZUxpc3RzLnR4dAkyMDE0LTA3LTE3IDE0OjM3OjA0LjUyOTMyNzk5OCArMDEwMAorKysrIG1hcmlhZGItNS41LjM4L3N0b3JhZ2UvdG9rdWRiL2Z0LWluZGV4L0NNYWtlTGlzdHMudHh0CTIwMTQtMDctMTcgMTQ6NDM6NTYuOTkxMzM3ODk1ICswMTAwCitAQCAtMzksNyArMzksNiBAQAorIAorICMjIGRlZmF1bHQgaW5jbHVkZXMgYW5kIGxpYnJhcmllcworIGluY2x1ZGVfZGlyZWN0b3JpZXMoU1lTVEVNCistICAvdXNyL2xvY2FsL2luY2x1ZGUKKyAgICR7WkxJQl9JTkNMVURFX0RJUlN9CisgICApCisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L215c3FsL21hcmlhZGJfNS41LjQ2LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9teXNxbC9tYXJpYWRiXzUuNS40Ni5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44Zjk5OGEzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9teXNxbC9tYXJpYWRiXzUuNS40Ni5iYgpAQCAtMCwwICsxLDI3IEBACityZXF1aXJlIG1hcmlhZGIuaW5jCisKK0VYVFJBX09FQ01BS0UgKz0gIi1EU1RBQ0tfRElSRUNUSU9OPS0xIgorCitERVBFTkRTICs9ICJtYXJpYWRiLW5hdGl2ZSBuY3Vyc2VzIHpsaWIgcmVhZGxpbmUgbGliYWlvIGxpYmV2ZW50IgorCitQUk9WSURFUyArPSAibXlzcWw1IgorCitSUFJPVklERVNfJHtQTn0gKz0gIm15c3FsNSIKK1JSRVBMQUNFU18ke1BOfSArPSAibXlzcWw1IgorUkNPTkZMSUNUU18ke1BOfSArPSAibXlzcWw1IgorCitSUFJPVklERVNfJHtQTn0tZGJnICs9ICJteXNxbDUtZGJnIgorUlJFUExBQ0VTXyR7UE59LWRiZyArPSAibXlzcWw1LWRiZyIKK1JDT05GTElDVFNfJHtQTn0tZGJnICs9ICJteXNxbDUtZGJnIgorCitSUFJPVklERVNfJHtQTn0tbGVmdG92ZXJzICs9ICJteXNxbDUtbGVmdG92ZXJzIgorUlJFUExBQ0VTXyR7UE59LWxlZnRvdmVycyArPSAibXlzcWw1LWxlZnRvdmVycyIKK1JDT05GTElDVFNfJHtQTn0tbGVmdG92ZXJzICs9ICJteXNxbDUtbGVmdG92ZXJzIgorCitSUFJPVklERVNfJHtQTn0tY2xpZW50ICs9ICJteXNxbDUtY2xpZW50IgorUlJFUExBQ0VTXyR7UE59LWNsaWVudCArPSAibXlzcWw1LWNsaWVudCIKK1JDT05GTElDVFNfJHtQTn0tY2xpZW50ICs9ICJteXNxbDUtY2xpZW50IgorCitSUFJPVklERVNfJHtQTn0tc2VydmVyICs9ICJteXNxbDUtc2VydmVyIgorUlJFUExBQ0VTXyR7UE59LXNlcnZlciArPSAibXlzcWw1LXNlcnZlciIKK1JDT05GTElDVFNfJHtQTn0tc2VydmVyICs9ICJteXNxbDUtc2VydmVyIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9teXNxbC9teXNxbC1weXRob25fMS4yLjUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L215c3FsL215c3FsLXB5dGhvbl8xLjIuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYzBkZjRmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9teXNxbC9teXNxbC1weXRob25fMS4yLjUuYmIKQEAgLTAsMCArMSwxNyBAQAorU1VNTUFSWSA9ICJQeXRob24gaW50ZXJmYWNlIHRvIE15U1FMIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL2ZhcmNlcGVzdC9NeVNRTGRiMSIKK1NFQ1RJT04gPSAiZGV2ZWwvcHl0aG9uIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0dQTC0yLjA7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgorCitERVBFTkRTID0gIm15c3FsNSIKKworU1JDTkFNRSA9ICJNeVNRTC1weXRob24iCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9weXBpLnB5dGhvbi5vcmcvcGFja2FnZXMvc291cmNlL00vJHtTUkNOQU1FfS8ke1NSQ05BTUV9LSR7UFZ9LnppcCIKK1NSQ19VUklbbWQ1c3VtXSA9ICI2NTRmNzViMzAyZGI2ZWQ4ZGM1YTg5OGM2MjVlMDMwYyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4MTEwNDBiNjQ3ZTVkNTY4NmY4NGRiNDE1ZWZkNjk3ZTYyNTAwMDhiMTEyYjY5MDliYTc3YWMwNTllMTQwYzc0IgorCitTID0gIiR7V09SS0RJUn0vJHtTUkNOQU1FfS0ke1BWfSIKKworaW5oZXJpdCBzZXR1cHRvb2xzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L25hbm8vbmFuby0yLjIuNS9uY3Vyc2Vzdy5pbmNsdWRlZGlyLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9uYW5vL25hbm8tMi4yLjUvbmN1cnNlc3cuaW5jbHVkZWRpci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZjIyNGJlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9uYW5vL25hbm8tMi4yLjUvbmN1cnNlc3cuaW5jbHVkZWRpci5wYXRjaApAQCAtMCwwICsxLDEyIEBACitkaWZmIC11TnIgbmFuby0yLjIuNS5vcmlnLy9jb25maWd1cmUuYWMgbmFuby0yLjIuNS9jb25maWd1cmUuYWMKKy0tLSBuYW5vLTIuMi41Lm9yaWcvL2NvbmZpZ3VyZS5hYwkyMDEwLTA4LTA2IDAzOjAwOjUxLjAwMDAwMDAwMCArMDIwMAorKysrIG5hbm8tMi4yLjUvY29uZmlndXJlLmFjCTIwMTAtMDgtMTAgMTQ6MTE6NTIuMDAwMDAwMDAwICswMjAwCitAQCAtNDQyLDcgKzQ0Miw3IEBACisgICAgIEFDX0NIRUNLX0hFQURFUlMobmN1cnNlcy5oKQorIAorICAgICBpZiB0ZXN0IHgkZW5hYmxlX3V0ZjggIT0geG5vOyB0aGVuCistCUFDX0NIRUNLX0xJQihuY3Vyc2VzdywgZ2V0X3djaCwgW0NVUlNFU19MSUI9Ii1sbmN1cnNlc3ciIENQUEZMQUdTPSItSS91c3IvaW5jbHVkZS9uY3Vyc2VzdyAkQ1BQRkxBR1MiIENVUlNFU19MSUJfTkFNRT1uY3Vyc2VzdyBDVVJTRVNfTElCX1dJREU9eWVzXSkKKysJQUNfQ0hFQ0tfTElCKG5jdXJzZXN3LCBnZXRfd2NoLCBbQ1VSU0VTX0xJQj0iLWxuY3Vyc2VzdyIgQ1VSU0VTX0xJQl9OQU1FPW5jdXJzZXN3IENVUlNFU19MSUJfV0lERT15ZXNdKQorICAgICBmaQorIAorICAgICBpZiBldmFsICJ0ZXN0IHgkQ1VSU0VTX0xJQl9OQU1FID0geCI7IHRoZW4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbmFuby9uYW5vLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbmFuby9uYW5vLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZGVmZTliCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9uYW5vL25hbm8uaW5jCkBAIC0wLDAgKzEsMTkgQEAKK0RFU0NSSVBUSU9OID0gIkdOVSBuYW5vIChOYW5vJ3MgQU5PdGhlciBlZGl0b3IsIG9yIFwKK05vdCBBTk90aGVyIGVkaXRvcikgaXMgYW4gZW5oYW5jZWQgY2xvbmUgb2YgdGhlIFwKK1BpY28gdGV4dCBlZGl0b3IuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5uYW5vLWVkaXRvci5vcmcvIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWYyN2RlZmUxZTk2YzJlMWVjZDRlMGM5YmU4OTY3OTQ5IgorU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgorREVQRU5EUyA9ICJuY3Vyc2VzIgorUkRFUEVORFNfJHtQTn0gPSAibmN1cnNlcy10ZXJtaW5mbyIKKworSU5DX1BSID0gInIzIgorCitQVl9NQUpPUiA9ICIke0BkLmdldFZhcignUFYnLDEpLnNwbGl0KCcuJylbMF19LiR7QGQuZ2V0VmFyKCdQVicsMSkuc3BsaXQoJy4nKVsxXX0iCisKK1NSQ19VUkkgPSAiZnRwOi8vbmFuby1lZGl0b3Iub3JnL3B1Yi9uYW5vL3Yke1BWX01BSk9SfS9uYW5vLSR7UFZ9LnRhci5neiIKKworaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dAorCitQQUNLQUdFQ09ORklHW3RpbnldID0gIi0tZW5hYmxlLXRpbnksLS1lbmFibGUtYWxsLCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbmFuby9uYW5vXzIuMi41LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9uYW5vL25hbm9fMi4yLjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY1NmY0NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbmFuby9uYW5vXzIuMi41LmJiCkBAIC0wLDAgKzEsOCBAQAoraW5jbHVkZSBuYW5vLmluYworCitQUiA9ICIke0lOQ19QUn0uMCIKKworU1JDX1VSSSArPSAiZmlsZTovL25jdXJzZXN3LmluY2x1ZGVkaXIucGF0Y2giCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI3N2ExMGE0OTU4OWY5NzVjZTk4MzUwYTQ1MjdhMmViZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5MDE1OTQ1ZDFiYWRhYmJhZGEyMDNiMzdjNDc3OWQzZGQxMDY2MjM0MjM1YzcxNGRlYjQzOTk4OWM1Y2Q3ZDllIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9uZTEwL25lMTBfMS4yLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L25lMTAvbmUxMF8xLjIuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZTk3OTgyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9uZTEwL25lMTBfMS4yLjEuYmIKQEAgLTAsMCArMSw0MiBAQAorREVTQ1JJUFRJT04gPSAiTGlicmFyeSBjb250YWluaW5nIE5FT04tb3B0aW1pemVkIGltcGxlbWVudGF0aW9ucyBmb3IgYSBjb21tb24gc2V0IG9mIGZ1bmN0aW9ucyIKK0hPTUVQQUdFID0gImh0dHA6Ly9wcm9qZWN0bmUxMC5naXRodWIuaW8vTmUxMC8iCitMSUNFTlNFID0gIkJTRC0zLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTQ2M2FjMGE3ZDY0ZWRjMmI3ODdjNDIwNjYzNWNhMmIxIgorU0VDVElPTiA9ICJsaWJzIgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vcHJvamVjdE5lMTAvTmUxMC5naXQiCitTUkNSRVYgPSAiYTA4YjI5ZDg4ZTNjOTRkMzJiNWI4ZjgyN2U3ZmNmMGJjMmIzNGFjMiIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBjbWFrZQorCitORTEwX1RBUkdFVF9BUkNIID0gIiIKK0VYVFJBX09FQ01BS0UgPSAnLURHTlVMSU5VWF9QTEFURk9STT1PTiAtRE5FMTBfQlVJTERfU0hBUkVEPU9OIC1ETkUxMF9MSU5VWF9UQVJHRVRfQVJDSD0iJHtORTEwX1RBUkdFVF9BUkNIfSInCisKK0NPTVBBVElCTEVfTUFDSElORV9hYXJjaDY0ID0gIiguKikiCitDT01QQVRJQkxFX01BQ0hJTkVfYXJtdjdhID0gIiguKikiCisKK3B5dGhvbiAoKSB7CisgICAgaWYgYW55KHQuc3RhcnRzd2l0aCgnYXJtdjcnKSBmb3IgdCBpbiBkLmdldFZhcignVFVORV9GRUFUVVJFUycsIFRydWUpLnNwbGl0KCkpOgorICAgICAgICBkLnNldFZhcignTkUxMF9UQVJHRVRfQVJDSCcsICdhcm12NycpCisgICAgICAgIGJiLmRlYnVnKDIsICdCdWlsZGluZyBOZTEwIGZvciBhcm12NycpCisgICAgZWxpZiBhbnkodC5zdGFydHN3aXRoKCdhYXJjaDY0JykgZm9yIHQgaW4gZC5nZXRWYXIoJ1RVTkVfRkVBVFVSRVMnLCBUcnVlKS5zcGxpdCgpKToKKyAgICAgICAgZC5zZXRWYXIoJ05FMTBfVEFSR0VUX0FSQ0gnLCAnYWFyY2g2NCcpCisgICAgICAgIGJiLmRlYnVnKDIsICdCdWlsZGluZyBOZTEwIGZvciBhYXJjaDY0JykKKyAgICBlbHNlOgorICAgICAgICByYWlzZSBiYi5wYXJzZS5Ta2lwUGFja2FnZSgiSW5jb21wYXRpYmxlIHdpdGggYXJjaHMgb3RoZXIgdGhhbiBhcm12NyBhbmQgYWFyY2g2NCIpCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtsaWJkaXJ9CisgICAgaW5zdGFsbCAtZCAke0R9JHtpbmNsdWRlZGlyfQorICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L2luYy9ORTEwKi5oICR7RH0ke2luY2x1ZGVkaXJ9LworICAgIGluc3RhbGwgLW0gMDY0NCAke0J9L21vZHVsZXMvbGliTkUxMC5hICR7RH0ke2xpYmRpcn0vCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7Qn0vbW9kdWxlcy9saWJORTEwLnNvLiogJHtEfSR7bGliZGlyfS8KKyAgICBjcCAtYSAke0J9L21vZHVsZXMvbGliTkUxMC5zbyAke0R9JHtsaWJkaXJ9LworfQorCisjIEVSUk9SOiBRQSBJc3N1ZTogRUxGIGJpbmFyeSAnbmUxMC8xLjIuMS1yMC9wYWNrYWdlcy1zcGxpdC9uZTEwL3Vzci9saWIvbGliTkUxMC5zby4xMCcgaGFzIHJlbG9jYXRpb25zIGluIC50ZXh0IFt0ZXh0cmVsXQorIyBFUlJPUjogUUEgSXNzdWU6IEVMRiBiaW5hcnkgJ25lMTAvMS4yLjEtcjAvcGFja2FnZXMtc3BsaXQvbmUxMC91c3IvbGliL2xpYk5FMTAuc28uMTAnIGhhcyByZWxvY2F0aW9ucyBpbiAudGV4dCBbdGV4dHJlbF0KK0lOU0FORV9TS0lQXyR7UE59ICs9ICJ0ZXh0cmVsIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9ubW9uL25tb25fMTNnLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9ubW9uL25tb25fMTNnLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFmNzUxODkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L25tb24vbm1vbl8xM2cuYmIKQEAgLTAsMCArMSwyOSBAQAorU1VNTUFSWSA9ICJubW9uIHBlcmZvcm1hbmNlIG1vbml0b3IiCitIT01FUEFHRSA9ICJodHRwOi8vbm1vbi5zZi5uZXQiCitTRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCitMSUNFTlNFID0gIkdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtXT1JLRElSfS9Eb2N1bWVudGF0aW9uLnR4dDttZDU9ZGJiMTM2NThjZjU1ZDY4N2M0ZjJmZjc3MWE2OTZkNGEiCitERVBFTkRTID0gIm5jdXJzZXMiCitQUiA9ICJyMiIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vbm1vbi9sbW9uMTNnLmM7bmFtZT1sbW9uIFwKKyAgICAgICAgICAgJHtTT1VSQ0VGT1JHRV9NSVJST1J9L25tb24vRG9jdW1lbnRhdGlvbi50eHQ7bmFtZT1kb2MgXAorIgorCitTUkNfVVJJW2xtb24ubWQ1c3VtXSA9ICJiMWI4ZTZjMDEyM2FkMjMyMzk0OTkxZjJkNGY0MDQ5NCIKK1NSQ19VUklbbG1vbi5zaGEyNTZzdW1dID0gIjQ1NmFiMmEzNDJiMzFkMWEzNTJkMGQ5NDBhZjU5NjJmYTY1YTEyYWU4NzU3ZmY3M2U2ZTczMjEwODMyYWU4YjUiCitTUkNfVVJJW2RvYy5tZDVzdW1dID0gImRiYjEzNjU4Y2Y1NWQ2ODdjNGYyZmY3NzFhNjk2ZDRhIgorU1JDX1VSSVtkb2Muc2hhMjU2c3VtXSA9ICIxZjdmODNhZmU2MmE3MjEwYmU1ZTgzY2QyNDE1N2FkYjg1NGMxNDU5OWVmZTBiMzc3YTdlY2NhOTMzODY5Mjc4IgorCitDRkxBR1MgKz0gIi1EIEpGUyAtRCBHRVRVU0VSIC1XYWxsIC1EIExBUkdFTUVNIgorTERGTEFHUyArPSAiLWx0aW5mbyAtbG5jdXJzZXN3IgorQVNORUVERURfcG4tbm1vbiA9ICIiCisKK2RvX2NvbXBpbGUoKSB7CisgICAgJHtDQ30gJHtDRkxBR1N9ICR7TERGTEFHU30gJHtXT1JLRElSfS9sbW9uMTNnLmMgLW8gbm1vbgorfQorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSBubW9uICR7RH0ke2JpbmRpcn0KK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbnVtYWN0bC9udW1hY3RsLzAwMDEtZGVmaW5lLXJ1bi10ZXN0LXRhcmdldC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbnVtYWN0bC9udW1hY3RsLzAwMDEtZGVmaW5lLXJ1bi10ZXN0LXRhcmdldC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43OGZmYjIyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9udW1hY3RsL251bWFjdGwvMDAwMS1kZWZpbmUtcnVuLXRlc3QtdGFyZ2V0LnBhdGNoCkBAIC0wLDAgKzEsMzIgQEAKK3JlbmFtZSB0ZXN0IHRhcmdldCBhcyBydW4tdGVzdAorCitVcHN0cmVhbS1TdGF0dWU6IFBlbmRpbmcKKwordGVzdCB0YXJnZXQgbm90IG9ubHkgY29tcGlsZSB0aGUgdGVzdCBmaWxlcywgYnV0IGFsc28gcnVuIHRoZW0sIHdoaWNoIGlzCitub3Qgc3VpdGFibGUgZm9yIGNyb3NzLWNvbXBpbGUgZW52aXJvbm1lbnQsIHNvIHJlbmFtZSBpdCBhcyBydW4tdGVzdC4KKworYW5kIGRlZmluZSB0ZXN0IHRhcmdldCB0byBjb21waWxlIHRoZSB0ZXN0IGZpbGVzLgorCitTaWduZWQtb2ZmLWJ5OiBSb3kgTGkgPHJvbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CistLS0KKyBNYWtlZmlsZS5hbSB8IDQgKysrLQorIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL01ha2VmaWxlLmFtIGIvTWFrZWZpbGUuYW0KK2luZGV4IGI2ZGIzMzkuLmRlMTc2YzQgMTAwNjQ0CistLS0gYS9NYWtlZmlsZS5hbQorKysrIGIvTWFrZWZpbGUuYW0KK0BAIC0xMjQsNyArMTI0LDkgQEAgcmVncmVzczI6ICQoY2hlY2tfUFJPR1JBTVMpCisgdGVzdF9udW1hZGVtbzogbnVtYWRlbW8KKyAJLi9udW1hZGVtbyAtdCAtZSAxME0KKyAKKy10ZXN0OiBhbGwgJChjaGVja19QUk9HUkFNUykgcmVncmVzczEgcmVncmVzczIgdGVzdF9udW1hZGVtbworK3Rlc3Q6IGFsbCAkKGNoZWNrX1BST0dSQU1TKQorKworK3J1bi10ZXN0OiBhbGwgJChjaGVja19QUk9HUkFNUykgcmVncmVzczEgcmVncmVzczIgdGVzdF9udW1hZGVtbworIAorIFRFU1RTX0VOVklST05NRU5UID0gYnVpbGRkaXI9JyQoYnVpbGRkaXIpJzsgZXhwb3J0IGJ1aWxkZGlyOworIAorLS0gCisxLjkuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L251bWFjdGwvbnVtYWN0bC9GaXgtdGhlLXRlc3Qtb3V0cHV0LWZvcm1hdC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbnVtYWN0bC9udW1hY3RsL0ZpeC10aGUtdGVzdC1vdXRwdXQtZm9ybWF0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk4MTJlY2MKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L251bWFjdGwvbnVtYWN0bC9GaXgtdGhlLXRlc3Qtb3V0cHV0LWZvcm1hdC5wYXRjaApAQCAtMCwwICsxLDY0IEBACitGcm9tIDU5ZmQ3NTBhODRiYmU1ODc0ZGVjOTM2ZDJiZWU5ZWYxMWExYjY1MDUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBMaSB4aW4gPGxpeGluLmZuc3RAY24uZnVqaXRzdS5jb20+CitEYXRlOiBUdWUsIDIxIEp1bCAyMDE1IDAyOjAxOjIyICswOTAwCitTdWJqZWN0OiBbUEFUQ0hdIEZpeCB0aGUgdGVzdCBvdXRwdXQgZm9ybWF0CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBSb3kgTGkgPHJvbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CitTaWduZWQtb2ZmLWJ5OiBMaSBYaW4gPGxpeGluLmZuc3RAY24uZnVqaXRzdS5jb20+CistLS0KKyB0ZXN0L3JlZ3Jlc3MgIHwgIDYgKysrLS0tCisgdGVzdC9yZWdyZXNzMiB8IDExICsrKysrLS0tLS0tCisgMiBmaWxlcyBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS90ZXN0L3JlZ3Jlc3MgYi90ZXN0L3JlZ3Jlc3MKK2luZGV4IDJjZTE3MDUuLmQwODZhNDcgMTAwNzU1CistLS0gYS90ZXN0L3JlZ3Jlc3MKKysrKyBiL3Rlc3QvcmVncmVzcworQEAgLTc0LDYgKzc0LDcgQEAgcHJvYmVfaGFyZHdhcmUoKQorIAlpZiBbICRudW1ub2RlcyAtbHQgMiBdIDsgdGhlbgorIAkgICAgZWNobyAibmVlZCBhdCBsZWFzdCB0d28gbm9kZXMgd2l0aCBhdCBsZWFzdCAkTkVFRFBBR0VTIGVhY2ggb2YiCisgCSAgICBlY2hvICJmcmVlIG1lbW9yeSBmb3IgbWVtcG9saWN5IHJlZ3Jlc3Npb24gdGVzdHMiCisrCSAgICBlY2hvICJGQUlMOiBudW1hIHJlZ3Jlc3MiCisJICAgIGV4aXQgNzcgICMgU2tpcCB0ZXN0CisgCWZpCisgfQorQEAgLTIwNywxMCArMjA4LDkgQEAgbWFpbigpCisgCXJtIEEgQgorIAorIAlpZiBbICIkRVhJVCIgPSAwIF0gOyB0aGVuCistCQllY2hvICc9PT09PT09PVNVQ0NFU1MnCisrCQllY2hvICdQQVNTOiBudW1hY3RsIHJlZ3Jlc3MnCisgCWVsc2UKKy0JCWVjaG8gJz09PT09PT09RkFJTFVSRScKKy0JCWV4aXQgMQorKwkJZWNobyAnRkFJTDogbnVtYWN0bCByZWdyZXNzJworIAlmaQorIH0KKyAKK2RpZmYgLS1naXQgYS90ZXN0L3JlZ3Jlc3MyIGIvdGVzdC9yZWdyZXNzMgoraW5kZXggYWE2ZWE0MS4uNDUwYzUxMCAxMDA3NTUKKy0tLSBhL3Rlc3QvcmVncmVzczIKKysrKyBiL3Rlc3QvcmVncmVzczIKK0BAIC05LDEyICs5LDExIEBAIHRlc3RkaXI9YGRpcm5hbWUgIiQwImAKKyBleHBvcnQgUEFUSD0ke2J1aWxkZGlyfTokUEFUSAorIAorIFQoKSB7CistICAgICAgIGVjaG8gIiRAIiAKKy0gICAgICAgaWYgISAkVkFMR1JJTkQgIiRAIiA7ICB0aGVuCistCSAgZWNobwkkMSBGQUlMRUQhISEhCistCSAgZXhpdCAxCistICAgICAgIGZpCistICAgICAgIGVjaG8KKysJaWYgISAkVkFMR1JJTkQgIiRAIiAyPiYxIDE+L2Rldi9udWxsOyAgdGhlbgorKwkgICBlY2hvICAiRkFJTDogJDEiCisrCWVsc2UKKysJICAgZWNobyAiUEFTUzogJDEiCisrCWZpCisgfQorIAorICMgc3RpbGwgYnJva2VuCistLSAKKzEuOC40LjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9udW1hY3RsL251bWFjdGwvTWFrZWZpbGUgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L251bWFjdGwvbnVtYWN0bC9NYWtlZmlsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YTUxMzRjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9udW1hY3RsL251bWFjdGwvTWFrZWZpbGUKQEAgLTAsMCArMSw3IEBACisuUEhPTlk6IHJlZ3Jlc3MxIHJlZ3Jlc3MyCisKK3JlZ3Jlc3MxOgorCWNkIHRlc3QgOyAuL3JlZ3Jlc3MKKworcmVncmVzczI6CisJY2QgdGVzdCA7IC4vcmVncmVzczIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbnVtYWN0bC9udW1hY3RsL2ZpeC1udWxsLXBvaW50ZXIucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L251bWFjdGwvbnVtYWN0bC9maXgtbnVsbC1wb2ludGVyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUzOTUyYWUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L251bWFjdGwvbnVtYWN0bC9maXgtbnVsbC1wb2ludGVyLnBhdGNoCkBAIC0wLDAgKzEsMjggQEAKK1tQQVRDSF0gcmV0dXJuIDAgaWYgZGlzdGFuY2VfdGFibGUgaXMgTlVMTAorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworcmVhZF9kaXN0YW5jZV90YWJsZSgpIG1heWJlIHJldHVybiAwLCBidXQgZGlzdGFuY2VfdGFibGUgaXMgbm90IHNldCwKK2lmIGRpc3RhbmNlX3RhYmxlIGlzIHVzZWQsIGFuZCB3aWxsIGxlYWQgdG8gU0VHRkFVTFQKKworU2lnbmVkLW9mZi1ieTogUm95IExpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgorLS0tCisgZGlzdGFuY2UuYyB8ICAgIDIgKysKKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9kaXN0YW5jZS5jIGIvZGlzdGFuY2UuYworaW5kZXggNGEyNjk3Mi4uYzZjYTAyMSAxMDA3NTUKKy0tLSBhL2Rpc3RhbmNlLmMKKysrKyBiL2Rpc3RhbmNlLmMKK0BAIC0xMTMsNiArMTEzLDggQEAgaW50IG51bWFfZGlzdGFuY2UoaW50IGEsIGludCBiKQorIAkJaW50IGVyciA9IHJlYWRfZGlzdGFuY2VfdGFibGUoKTsKKyAJCWlmIChlcnIgPCAwKQorIAkJCXJldHVybiAwOworKwkJaWYgKCFkaXN0YW5jZV90YWJsZSkKKysJCQlyZXR1cm4gMDsKKyAJfQorIAlyZXR1cm4gZGlzdGFuY2VfdGFibGVbYSAqIGRpc3RhbmNlX251bW5vZGVzICsgYl07CisgfQorLS0gCisxLjcuMTAuNAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L251bWFjdGwvbnVtYWN0bC9ydW4tcHRlc3QgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L251bWFjdGwvbnVtYWN0bC9ydW4tcHRlc3QKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMjE1ZjdjMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbnVtYWN0bC9udW1hY3RsL3J1bi1wdGVzdApAQCAtMCwwICsxLDkgQEAKKyMhL2Jpbi9zaAorbWFrZSByZWdyZXNzMQorbWFrZSByZWdyZXNzMgoraWYgIG51bWFkZW1vIC10IC1lIDEwTTsgdGhlbgorCWVjaG8gIlBBU1M6IG51bWFkZW1vIgorZWxzZQorCWVjaG8gIkZBSUw6IG51bWFkZW1vIgorZmkKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9udW1hY3RsL251bWFjdGxfMi4wLjExLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9udW1hY3RsL251bWFjdGxfMi4wLjExLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE5OTcyNmYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L251bWFjdGwvbnVtYWN0bF8yLjAuMTEuYmIKQEAgLTAsMCArMSw1NyBAQAorU1VNTUFSWSA9ICJEZXZlbG9wbWVudCBwYWNrYWdlIGZvciBidWlsZGluZyBBcHBsaWNhdGlvbnMgdGhhdCB1c2UgbnVtYSIKK0RFU0NSSVBUSU9OID0gIlNpbXBsZSBOVU1BIHBvbGljeSBzdXBwb3J0LiBJdCBjb25zaXN0cyBvZiBhIG51bWFjdGwgcHJvZ3JhbSBcCit0byBydW4gb3RoZXIgcHJvZ3JhbXMgd2l0aCBhIHNwZWNpZmljIE5VTUEgcG9saWN5IGFuZCBhIGxpYm51bWEgdG8gZG8gXAorYWxsb2NhdGlvbnMgd2l0aCBOVU1BIHBvbGljeSBpbiBhcHBsaWNhdGlvbnMuIgorTElDRU5TRSA9ICJHUEwtMi4wICYgTEdQTC0yLjEiCitTRUNUSU9OID0gImFwcHMiCitSREVQRU5EU18ke1BOfSA9ICJwZXJsIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcHRlc3QKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUkVBRE1FO2JlZ2lubGluZT0xOTtlbmRsaW5lPTMyO21kNT01NjQ0Y2MzODUxY2IyNDk5ZjZjNDhlNTJmZTE5OGJkOSIKKworU1JDX1VSSSA9ICJmdHA6Ly9vc3Muc2dpLmNvbS93d3cvcHJvamVjdHMvbGlibnVtYS9kb3dubG9hZC8ke0JQTn0tJHtQVn0udGFyLmd6IFwKKwkgICBmaWxlOi8vZml4LW51bGwtcG9pbnRlci5wYXRjaCBcCisJICAgZmlsZTovL0ZpeC10aGUtdGVzdC1vdXRwdXQtZm9ybWF0LnBhdGNoIFwKKwkgICBmaWxlOi8vTWFrZWZpbGUgXAorCSAgIGZpbGU6Ly9ydW4tcHRlc3QgXAorCSAgIGZpbGU6Ly8wMDAxLWRlZmluZS1ydW4tdGVzdC10YXJnZXQucGF0Y2ggXAorICAgICAgICAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICJkM2JjODhiN2RkYjlmMDZkNjA4OThmNDgxNmFlOTEyNyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI0NTBjMDkxMjM1Zjg5MWVlODc0YTg2NTFiMTc5YzMwZjU3YTEzOTFjYTVjNDY3MzM1NDc0MGJhNjVlNTI3ODYxIgorCisjIEFSTSBkb2VzIG5vdCBjdXJyZW50bHkgc3VwcG9ydCBOVU1BCitDT01QQVRJQkxFX0hPU1QgPSAiXigoPyFhcm0pLiopJCIKKworZG9faW5zdGFsbCgpIHsKKyAgICAgICAgb2VfcnVubWFrZSBERVNURElSPSR7RH0gcHJlZml4PSR7RH0vdXNyIGluc3RhbGwKKwkjcmVtb3ZlIHRoZSBlbXB0eSBtYW4yIGRpcmVjdG9yeQorCXJtIC1yICR7RH0ke21hbmRpcn0vbWFuMgorfQorCitkb19jb21waWxlX3B0ZXN0KCkgeworCW9lX3J1bm1ha2UgdGVzdAorfQorCitkb19pbnN0YWxsX3B0ZXN0KCkgeworCSNpbnN0YWxsIHRlc3RzIGJpbmFyaWVzCisgICAgICAgIGxvY2FsIHRlc3RfYmluYXJpZXM9ImRpc3RhbmNlIGZ0b2sgbWJpbmRfbWlnX3BhZ2VzIG1pZ3JhdGVfcGFnZXMgbW92ZV9wYWdlcyBcCisJCW15bm9kZQlub2RlbWFwIG5vZGUtcGFyc2UgcGFnZXNpemUgcHJlZmVyZWQgcmFuZG1hcCByZWFsbG9jX3Rlc3QgXAorCQl0Yml0bWFwIHRzaGFyZWQiCisKKwlbICEgLWQgJHtEfS8ke1BURVNUX1BBVEh9L3Rlc3QgXSAmJiBta2RpciAtcCAke0R9LyR7UFRFU1RfUEFUSH0vdGVzdAorCWZvciBpIGluICR0ZXN0X2JpbmFyaWVzOyBkbworCQlpbnN0YWxsIC1tIDA3NTUgJHtCfS90ZXN0Ly5saWJzLyRpICR7RH0ke1BURVNUX1BBVEh9L3Rlc3QKKwlkb25lCisKKwlsb2NhbCB0ZXN0X3NjcmlwdHM9ImNoZWNrdG9wb2xvZ3kgY2hlY2thZmZpbml0eSBwcmludGNwdSByZWdyZXNzIHJlZ3Jlc3MyIFwKKwkJCXNobXRlc3QgIHJ1bmx0cCBiaW5kX3JhbmdlIgorCWZvciBpIGluICR0ZXN0X3NjcmlwdHM7IGRvCisJCWluc3RhbGwgLW0gMDc1NSAke0J9L3Rlc3QvJGkgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdAorCWRvbmUKKworCWluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L01ha2VmaWxlICR7RH0ke1BURVNUX1BBVEh9LworCWluc3RhbGwgLW0gMDc1NSAke0J9Ly5saWJzL251bWFjdGwgJHtEfSR7UFRFU1RfUEFUSH0vCit9CisKK1JERVBFTkRTXyR7UE59LXB0ZXN0ID0gImJhc2giCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29kZS9vZGUvY29uZmlndXJlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vZGUvb2RlL2NvbmZpZ3VyZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNDZiMmUyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vZGUvb2RlL2NvbmZpZ3VyZS5wYXRjaApAQCAtMCwwICsxLDEzIEBACitJbmRleDogb2RlLTAuMTMvbGliY2NkL2NvbmZpZ3VyZS5hYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIG9kZS0wLjEzLm9yaWcvbGliY2NkL2NvbmZpZ3VyZS5hYwkyMDEzLTA4LTE5IDE3OjQ4OjAzLjAwMDAwMDAwMCArMDAwMAorKysrIG9kZS0wLjEzL2xpYmNjZC9jb25maWd1cmUuYWMJMjAxNC0wNy0xNyAyMjowNDoxNi41ODA1OTU2OTAgKzAwMDAKK0BAIC01LDcgKzUsNyBAQAorIEFDX0lOSVQoW2xpYmNjZF0sIFsxLjBdLCBbZGFuZmlzQGRhbmZpcy5jel0pCisgQUNfQ09ORklHX1NSQ0RJUihbc3JjL2NjZC5jXSkKKyBBQ19DT05GSUdfSEVBREVSUyhbc3JjL2NvbmZpZy5oXSkKKy1BTV9JTklUX0FVVE9NQUtFCisrQU1fSU5JVF9BVVRPTUFLRShbZm9yZWlnbl0pCisgCisgIyBDaGVja3MgZm9yIHByb2dyYW1zLgorIEFDX1BST0dfQ1hYCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29kZS9vZGUvaW5zdGFsbC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb2RlL29kZS9pbnN0YWxsLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJmNmNkYjAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29kZS9vZGUvaW5zdGFsbC5wYXRjaApAQCAtMCwwICsxLDIzIEBACistLS0gb2RlLTAuOS5vcmlnL01ha2VmaWxlLmFtCTIwMDctMDItMjEgMTU6NTQ6NTQuMDAwMDAwMDAwICswMTAwCisrKysgb2RlLTAuOS9NYWtlZmlsZS5hbQkyMDEwLTA4LTIxIDE2OjE1OjU1LjAwMDAwMDAwMCArMDIwMAorQEAgLTI1LDEzICsyNSwxMyBAQAorIAorIGlmIFVTRV9TT05BTUUKKyBpbnN0YWxsLWV4ZWMtaG9vazoKKy0JbG4gLXMgJChsaWJkaXIpL0BPREVfU09OQU1FQC5AT0RFX1JFVklTSU9OQC5AT0RFX0FHRUAgXAorLQkkKGxpYmRpcikvbGlib2RlLnNvCistCWxuIC1zICQobGliZGlyKS9AT0RFX1NPTkFNRUAuQE9ERV9SRVZJU0lPTkAuQE9ERV9BR0VAIFwKKy0JJChsaWJkaXIpL0BPREVfU09OQU1FQAorLQlsbiAtcyAkKGxpYmRpcikvQE9ERV9TT05BTUVALkBPREVfUkVWSVNJT05ALkBPREVfQUdFQCBcCistCSQobGliZGlyKS9AT0RFX1NPTkFNRUAuQE9ERV9SRVZJU0lPTkAKKy0JL3NiaW4vbGRjb25maWcKKysJbG4gLXMgQE9ERV9TT05BTUVALkBPREVfUkVWSVNJT05ALkBPREVfQUdFQCBcCisrCSQoREVTVERJUikvJChsaWJkaXIpL2xpYm9kZS5zbworKwlsbiAtcyBAT0RFX1NPTkFNRUAuQE9ERV9SRVZJU0lPTkAuQE9ERV9BR0VAIFwKKysJJChERVNURElSKS8kKGxpYmRpcikvQE9ERV9TT05BTUVACisrCWxuIC1zIEBPREVfU09OQU1FQC5AT0RFX1JFVklTSU9OQC5AT0RFX0FHRUAgXAorKwkkKERFU1RESVIpLyQobGliZGlyKS9AT0RFX1NPTkFNRUAuQE9ERV9SRVZJU0lPTkAKKysJZWNobyAvc2Jpbi9sZGNvbmZpZworIGVsc2UKKyBpbnN0YWxsLWV4ZWMtaG9vazoKKyBlbmRpZgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vZGUvb2RlXzAuMTMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29kZS9vZGVfMC4xMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZGM4MmE4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vZGUvb2RlXzAuMTMuYmIKQEAgLTAsMCArMSwyOCBAQAorU1VNTUFSWSA9ICJPREUgaXMgYW4gT3BlbiBTb3VyY2UgUGh5c2ljcyBFbmdpbmUiCitTRUNUSU9OID0gImxpYnMiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lm9kZS5vcmciCitMSUNFTlNFID0gIkxHUEx2Mi4xICYgQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICIgXAorICAgIGZpbGU6Ly9DT1BZSU5HO21kNT0xZGU5MDZlZTk2ODA4ZDk3NzZkZDcyYTVmOWE3OWEyMiBcCisgICAgZmlsZTovL0xJQ0VOU0UuVFhUO21kNT03NzE3ODJjYjYyNDVjN2ZiYmU3NGJjMGVjMDU5YmVmZiBcCisiCisjIExJQ0VOU0UtQlNELlRYVCBpcyBtaXNzaW5nIGluIDAuMTMgdGFyYmFsbCwgYnV0IENPUFlJTkcgc3RpbGwgc2F5cyBpdCdzIGR1YWwgbGljZW5zZWQKKyMgYW5kIHN2biByZXBvIHN0aWxsIGNvbnRhaW5zIExJQ0VOU0UtQlNELlRYVCBzbyBtYXliZSBpdCB3aWxsIHJldHVybiBpbiBuZXh0IHRhcmJhbGwKKyMgZmlsZTovL0xJQ0VOU0UtQlNELlRYVDttZDU9Yzc0ZTYzMDRhNzcyMTE3ZTA1OTQ1OGZiOTc2M2E5MjgKKworCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9vcGVuZGUvb2RlLSR7UFZ9LnRhci5iejIgXAorICAgICAgICAgICBmaWxlOi8vY29uZmlndXJlLnBhdGNoIgorU1JDX1VSSVttZDVzdW1dID0gIjA0YjMyYzk2NDVjMTQ3ZTE4Y2FmZjdhNTk3YTE5Zjg0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjM0Y2UzZTIzNmUzMTNiZjEwOWEwY2I1NTQ2ZDJmY2E0NjJhZWQ5OWYyOWE0MmU2MmJjMTQ2M2I4MDNjMzFlZjkiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGJpbmNvbmZpZworCitFWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLWRlbW9zIC0tZW5hYmxlLXNvbmFtZSIKKworRklMRVNfJHtQTn0gPSAiJHtsaWJkaXJ9L2xpYioke1NPTElCU30iCisKK1BBQ0tBR0VDT05GSUcgPz0gIiIKKyMgaWYgaXQgaXNuJ3QgZXhwbGljaXRseSBzZWxlY3RlZCBhbmQgIiRidWlsZF9vcyIgPT0gIiR0YXJnZXRfb3MiLCB0aGVuIGNvbmZpZ3VyZSB3aWxsIHJ1bgorIyBzZXJpZXMgb2YgQUNfVFJZX1JVTiB3aGljaCB3b24ndCB3b3JrIGZvciBjcm9zcy1jb21waWxhdGlvbiBhbmQgY29uZmlndXJlIGZhaWxzCitQQUNLQUdFQ09ORklHW2RvdWJsZS1wcmVjaXNpb25dID0gIi0tZW5hYmxlLWRvdWJsZS1wcmVjaXNpb24sLS1kaXNhYmxlLWRvdWJsZS1wcmVjaXNpb24iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29uaWcvZmlsZXMvY29uZmlndXJlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vbmlnL2ZpbGVzL2NvbmZpZ3VyZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZmE3MDBmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vbmlnL2ZpbGVzL2NvbmZpZ3VyZS5wYXRjaApAQCAtMCwwICsxLDEzIEBACitJbmRleDogb25pZy01LjkuMy9jb25maWd1cmUuaW4KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBvbmlnLTUuOS4zLm9yaWcvY29uZmlndXJlLmluCTIwMTItMTAtMjYgMDc6MDY6MTQuMDAwMDAwMDAwICswMDAwCisrKysgb25pZy01LjkuMy9jb25maWd1cmUuaW4JMjAxNC0wNy0xOCAwODowMjo1Mi43MDE1NzQ0ODQgKzAwMDAKK0BAIC0zLDcgKzMsNyBAQAorIAorIEFDX0NPTkZJR19NQUNST19ESVIoW200XSkKKyAKKy1BTV9JTklUX0FVVE9NQUtFCisrQU1fSU5JVF9BVVRPTUFLRShbZm9yZWlnbl0pCisgQUNfQ09ORklHX0hFQURFUihjb25maWcuaCkKKyAKKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb25pZy9maWxlcy9kby1ub3QtdXNlLXN5c3RlbS1oZWFkZXJzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vbmlnL2ZpbGVzL2RvLW5vdC11c2Utc3lzdGVtLWhlYWRlcnMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjkzNjAyYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb25pZy9maWxlcy9kby1ub3QtdXNlLXN5c3RlbS1oZWFkZXJzLnBhdGNoCkBAIC0wLDAgKzEsNDQgQEAKK0F1dGhvcjogTWFyY2luIEp1c3praWV3aWN6IDxtYXJjaW4uanVzemtpZXdpY3pAbGluYXJvLm9yZz4KKworV2hlbiBidWlsZCBvbiBob3N0IHdpdGggb2xkZXIgZWdsaWJjIChVYnVudHUgMTIuMDQpIGJ1aWxkIGZhaWxzIHdpdGg6CisKKy90bXAvT0UvYnVpbGQvdG1wLWVnbGliYy9zeXNyb290cy9nZW5lcmljYXJtdjgvdXNyL2luY2x1ZGUvYml0cy9wcmVkZWZzLmg6MjM6MzogZXJyb3I6ICNlcnJvciAiTmV2ZXIgdXNlIDxiaXRzL3ByZWRlZnMuaD4gZGlyZWN0bHk7IGluY2x1ZGUgPHN0ZGMtcHJlZGVmLmg+IGluc3RlYWQuIgorCitTaWduZWQtb2ZmLWJ5OiBNYXJjaW4gSnVzemtpZXdpY3ogPG1hcmNpbi5qdXN6a2lld2ljekBsaW5hcm8ub3JnPgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQorCistLS0KKyBNYWtlZmlsZS5hbSAgICAgICAgfCAgICAyICstCisgc2FtcGxlL01ha2VmaWxlLmFtIHwgICAgMiArLQorIDIgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCistLS0gb25pZy01LjkuMy5vcmlnL01ha2VmaWxlLmFtCisrKysgb25pZy01LjkuMy9NYWtlZmlsZS5hbQorQEAgLTQsMTEgKzQsMTEgQEAgc2FtcGxlZGlyID0gJCh0b3Bfc3JjZGlyKS9zYW1wbGUKKyBsaWJuYW1lID0gbGlib25pZy5sYQorCisgQUNMT0NBTF9BTUZMQUdTID0gLUkgbTQKKyAjQU1fQ0ZMQUdTID0gLUROT1RfUlVCWQorIEFNX0NGTEFHUyA9CistSU5DTFVERVMgID0gLUkkKHRvcF9zcmNkaXIpIC1JJChpbmNsdWRlZGlyKQorK0lOQ0xVREVTICA9IC1JJCh0b3Bfc3JjZGlyKQorCisgU1VCRElSUyA9IC4gc2FtcGxlCisKKyBpbmNsdWRlX0hFQURFUlMgPSBvbmlndXJ1bWEuaCBvbmlnZ251Lmggb25pZ3Bvc2l4LmgKKyBsaWJfTFRMSUJSQVJJRVMgPSAkKGxpYm5hbWUpCistLS0gb25pZy01LjkuMy5vcmlnL3NhbXBsZS9NYWtlZmlsZS5hbQorKysrIG9uaWctNS45LjMvc2FtcGxlL01ha2VmaWxlLmFtCitAQCAtMSwxMCArMSwxMCBAQAorIG5vaW5zdF9QUk9HUkFNUyA9IGVuY29kZSBsaXN0Y2FwIG5hbWVzIHBvc2l4IHNpbXBsZSBzcWwgc3ludGF4IGNybmwKKworIGxpYm5hbWUgPSAkKHRvcF9idWlsZGRpcikvbGlib25pZy5sYQorIExEQUREICAgPSAkKGxpYm5hbWUpCistSU5DTFVERVMgID0gLUkkKHRvcF9zcmNkaXIpIC1JJChpbmNsdWRlZGlyKQorK0lOQ0xVREVTICA9IC1JJCh0b3Bfc3JjZGlyKQorCisgZW5jb2RlX1NPVVJDRVMgID0gZW5jb2RlLmMKKyBsaXN0Y2FwX1NPVVJDRVMgPSBsaXN0Y2FwLmMKKyBuYW1lc19TT1VSQ0VTICAgPSBuYW1lcy5jCisgcG9zaXhfU09VUkNFUyAgID0gcG9zaXguYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vbmlnL29uaWdfNS45LjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29uaWcvb25pZ181LjkuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMmRiNzhhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vbmlnL29uaWdfNS45LjMuYmIKQEAgLTAsMCArMSwxNyBAQAorREVTQ1JJUFRJT04gPSAiUmVndWxhciBleHByZXNzaW9ucyBsaWJyYXJ5LiBUaGUgY2hhcmFjdGVyaXN0aWNzIG9mIHRoaXMgXAorbGlicmFyeSBpcyB0aGF0IGRpZmZlcmVudCBjaGFyYWN0ZXIgZW5jb2RpbmcgZm9yIGV2ZXJ5IHJlZ3VsYXIgZXhwcmVzc2lvbiBcCitvYmplY3QgY2FuIGJlIHNwZWNpZmllZC4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lmdlb2NpdGllcy5qcC9rb3Nha28zL29uaWd1cnVtYS8iCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTBkNDg2MWI1YmMwYzM5MmE1YWE5MGQ5ZDc2ZWJkODZmIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cuZ2VvY2l0aWVzLmpwL2tvc2FrbzMvb25pZ3VydW1hL2FyY2hpdmUvb25pZy0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vZG8tbm90LXVzZS1zeXN0ZW0taGVhZGVycy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9jb25maWd1cmUucGF0Y2giCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwZDRlZGEyMDY2ZDNjOTI5NzA4NDJhNjc5MGNlODk3YSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjM2JiYTY2YjJhODQ3NjBlNjU4MmM0MDg4MWRiOTdjODM5ZDk0ZjMyNzg3MDAwOTcyNGJiOGI0ZDBjMDUxZjJhIgorCitERVBFTkRTID0gImxpYmV2ZW50IgorCitpbmhlcml0IGF1dG90b29scyBiaW5jb25maWcKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3Blbi12Y2RpZmYvb3Blbi12Y2RpZmZfMC44LjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW4tdmNkaWZmL29wZW4tdmNkaWZmXzAuOC40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OTQyZDAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW4tdmNkaWZmL29wZW4tdmNkaWZmXzAuOC40LmJiCkBAIC0wLDAgKzEsMTggQEAKK1NVTU1BUlkgPSAiQW4gZW5jb2Rlci9kZWNvZGVyIGZvciB0aGUgVkNESUZGIChSRkMzMjg0KSBmb3JtYXQiCitERVNDUklQVElPTiA9ICJBIGxpYnJhcnkgd2l0aCBhIHNpbXBsZSBBUEkgaXMgaW5jbHVkZWQsIGFzIHdlbGwgYXMgYSBcCisgICAgICAgICAgICAgICBjb21tYW5kLWxpbmUgZXhlY3V0YWJsZSB0aGF0IGNhbiBhcHBseSB0aGUgZW5jb2RlciBhbmQgXAorICAgICAgICAgICAgICAgZGVjb2RlciB0byBzb3VyY2UsIHRhcmdldCwgYW5kIGRlbHRhIGZpbGVzLiBcCisgICAgICAgICAgICAgICBBIHNsaWdodCB2YXJpYXRpb24gZnJvbSB0aGUgZHJhZnQgc3RhbmRhcmQgaXMgZGVmaW5lZCBcCisgICAgICAgICAgICAgICB0byBhbGxvdyBjaHVuay1ieS1jaHVuayBkZWNvZGluZyB3aGVuIG9ubHkgYSBwYXJ0aWFsIFwKKyAgICAgICAgICAgICAgIGRlbHRhIGZpbGUgd2luZG93IGlzIGF2YWlsYWJsZS4iCitIT01FUEFHRSA9ICJodHRwOi8vY29kZS5nb29nbGUuY29tL3Avb3Blbi12Y2RpZmYvIgorU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgorCitMSUNFTlNFID0gIkFwYWNoZS0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1mZjgyMGQ0ZGRjMWJhMDViNmZkMzdiNDFhMjE1MDZmOSIKKworU1JDX1VSSSA9ICJodHRwczovL2RyaXZlLmdvb2dsZS5jb20vdWM/aWQ9MEI1V3BJaTJmUVUxYU5HSndWRTloVWpVNWNsVSZleHBvcnQ9ZG93bmxvYWQ7ZG93bmxvYWRmaWxlbmFtZT0ke0JQfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiNWMwZDM3OGQ5MDdiZWJjMzhiNTFjM2Q3ZTQxMTcwMTEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMmIxNDJiMTAyN2ZiMGE2MmM0MTM0NzYwMGUwMWE1M2ZhMjc0ZGFkMTU0NDVhN2RhNDgwODNjODMwYzMxMzhiMyIKKworaW5oZXJpdCBhdXRvdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmN0L29wZW5jdC9ldGMtb3BlbmN0LnVkZXYuaW4tZGlzYWJsZVBST0dSQU0ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5jdC9vcGVuY3QvZXRjLW9wZW5jdC51ZGV2LmluLWRpc2FibGVQUk9HUkFNLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc0NWY5MjMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5jdC9vcGVuY3QvZXRjLW9wZW5jdC51ZGV2LmluLWRpc2FibGVQUk9HUkFNLnBhdGNoCkBAIC0wLDAgKzEsMzEgQEAKK0Zyb20gZTBkM2UwYmIxZTM4ZmY4NTE2OTZhN2Q4ODI2ZTY1MWQzNjRhZDhjZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IExpIHhpbiA8bGl4aW4uZm5zdEBjbi5mdWppdHN1LmNvbT4KK0RhdGU6IEZyaSwgNSBEZWMgMjAxNCAwMjowMDo1NyArMDkwMAorU3ViamVjdDogW1BBVENIIDEvMl0gZXRjL29wZW5jdC51ZGV2LmluOiBkaXNhYmxlUFJPR1JBTQorCitCdWcgZml4OiBodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTI4Nzg3MQorCitVcHN0cmVhbS1zdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogTGkgWGluIDxsaXhpbi5mbnN0QGNuLmZ1aml0c3UuY29tPgorLS0tCisgZXRjL29wZW5jdC51ZGV2LmluIHwgMyArKy0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9ldGMvb3BlbmN0LnVkZXYuaW4gYi9ldGMvb3BlbmN0LnVkZXYuaW4KK2luZGV4IGQxMWQwZTEuLjQ4MDgzYzkgMTAwNjQ0CistLS0gYS9ldGMvb3BlbmN0LnVkZXYuaW4KKysrKyBiL2V0Yy9vcGVuY3QudWRldi5pbgorQEAgLTIyLDcgKzIyLDggQEAgQUNUSU9OIT0iYWRkIiwgR09UTz0ib3BlbmN0X3VzYl9ydWxlc19lbmQiCisgIyAyMDEwLTAxLTA2IHJlbW92ZWQsIGFzIGxhdGVzdCB1ZGV2IGRvZXNuJ3Qga25vdyBXQUlUX0ZPUl9BVFRSIGFueSBtb3JlLgorIAorICMgc2xlZXAgZm9yIDEwMG1zIC0gdGhlIHdhaXRfZm9yX3N5c2ZzIG1pZ2h0IG5vdCBiZSBlbm91Z2gKKy1QUk9HUkFNPSIvYmluL3NsZWVwIDAuMSIKKysjIERpc2FibGVkIGluIHRoaXMgcGFja2FnZSAtIHNlZSBodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vMjg3ODcxCisrIyBQUk9HUkFNPSIvYmluL3NsZWVwIDAuMSIKKyAKKyAjIGNjaWQKKyBBVFRSe2JJbnRlcmZhY2VDbGFzc309PSIwYiIsIEFUVFJ7YkludGVyZmFjZVN1YkNsYXNzfT09IjAwIiwgQVRUUntiSW50ZXJmYWNlUHJvdG9jb2x9PT0iMDAiLCBBVFRSU3tpZFZlbmRvcn09PSI/KiIgIFJVTis9IkB1ZGV2ZGlyQC9vcGVuY3RfdXNiIC9kZXYvJHBhcmVudCIKKy0tIAorMS44LjQuMgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5jdC9vcGVuY3QvZXRjLW9wZW5jdF91c2IuaW4tbW9kaWZ5LVVERVZJTkZPLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuY3Qvb3BlbmN0L2V0Yy1vcGVuY3RfdXNiLmluLW1vZGlmeS1VREVWSU5GTy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNWUzZmU1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuY3Qvb3BlbmN0L2V0Yy1vcGVuY3RfdXNiLmluLW1vZGlmeS1VREVWSU5GTy5wYXRjaApAQCAtMCwwICsxLDM1IEBACitGcm9tIGQ5Mzk4NWExMzdiNTUzYjI3MjMyMzVkMDNiZGEzNDFkYWIxNDA2NGYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBMaSB4aW4gPGxpeGluLmZuc3RAY24uZnVqaXRzdS5jb20+CitEYXRlOiBGcmksIDUgRGVjIDIwMTQgMDI6MDQ6MDMgKzA5MDAKK1N1YmplY3Q6IFtQQVRDSCAyLzJdIGV0Yy9vcGVuY3RfdXNiLmluOiBtb2RpZnkgVURFVklORk8KKwordGhpcyBwYXRjaCBpcyBmcm9tIEZlZG9yYQorCitVcHN0cmVhbS1zdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogTGkgWGluIDxsaXhpbi5mbnN0QGNuLmZ1aml0c3UuY29tPgorLS0tCisgZXRjL29wZW5jdF91c2IuaW4gfCA2ICsrKy0tLQorIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9ldGMvb3BlbmN0X3VzYi5pbiBiL2V0Yy9vcGVuY3RfdXNiLmluCitpbmRleCAzMmY5MWFhLi45MTc0NjdkIDEwMDY0NAorLS0tIGEvZXRjL29wZW5jdF91c2IuaW4KKysrKyBiL2V0Yy9vcGVuY3RfdXNiLmluCitAQCAtMTUsMTAgKzE1LDEwIEBAIGlmIFsgLXogIiRERVZOQU1FIiBdOyB0aGVuCisgCSMgR3Vlc3MgdWRldiBpbmZvIGludGVyZmFjZS4KKyAJIyBOZXdlciB1ZGV2IHVzZXMgdWRldmFkbQorIAkjCistCWlmIHdoaWNoIHVkZXZpbmZvID4gL2Rldi9udWxsIDI+JjE7IHRoZW4KKy0JCVVERVZJTkZPPSJ1ZGV2aW5mbyIKKy0JZWxzZQorKwlpZiB3aGljaCB1ZGV2YWRtID4gL2Rldi9udWxsIDI+JjE7IHRoZW4KKyAJCVVERVZJTkZPPSJ1ZGV2YWRtIGluZm8iCisrCWVsc2UKKysJCVVERVZJTkZPPSJ1ZGV2aW5mbyIKKyAJZmkKKyAJREVWTkFNRT0vZGV2LyQoJFVERVZJTkZPIC0tcXVlcnk9bmFtZSAtLXBhdGg9JChkaXJuYW1lICRERVZQQVRIKSkKKyBmaQorLS0gCisxLjguNC4yCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmN0L29wZW5jdC9vcGVuY3QuaW5pdCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmN0L29wZW5jdC9vcGVuY3QuaW5pdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNjg5NjA5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuY3Qvb3BlbmN0L29wZW5jdC5pbml0CkBAIC0wLDAgKzEsODkgQEAKKyMhL2Jpbi9zaAorIworIyBvcGVuY3QgICAgICAgVGhpcyBzaGVsbCBzY3JpcHQgdGFrZXMgY2FyZSBvZiBzdGFydGluZyBhbmQgc3RvcHBpbmcgT3BlbkNULgorIworIyBjaGtjb25maWc6ICAgMjM0NSAyNCA4OQorIyBkZXNjcmlwdGlvbjogT3BlbkNUIGlzIGEgbWlkZGxld2FyZSBmcmFtZXdvcmsgZm9yIHNtYXJ0IGNhcmQgdGVybWluYWxzLgorIworIyBwcm9jZXNzbmFtZTogaWZkaGFuZGxlcgorIyBjb25maWc6ICAgICAgL2V0Yy9vcGVuY3QuY29uZgorCisjIyMgQkVHSU4gSU5JVCBJTkZPCisjIFByb3ZpZGVzOiBvcGVuY3QKKyMgRGVmYXVsdC1TdGFydDogMiAzIDQgNQorIyBEZWZhdWx0LVN0b3A6IDAgMSA2CisjIFNob3VsZC1TdGFydDogJHN5c2xvZyAkbmV0d29yaworIyBTaG91bGQtU3RvcDogJHN5c2xvZyAkbmV0d29yaworIyBTaG9ydC1EZXNjcmlwdGlvbjogTWlkZGxld2FyZSBmcmFtZXdvcmsgZm9yIHNtYXJ0IGNhcmQgdGVybWluYWxzCisjIERlc2NyaXB0aW9uOiBUaGlzIHN0YXJ0cy9zdG9wcyB0aGUgT3BlbkNUIG1pZGRsZXdhcmUgZnJhbWV3b3JrIHN1cHBvcnQKKyMgICAgICAgICAgICAgIGZvciBzbWFydCBjYXJkIHRlcm1pbmFscy4KKyMjIyBFTkQgSU5JVCBJTkZPCisKKy4gL2V0Yy9pbml0LmQvZnVuY3Rpb25zCisKK2V4ZWM9Ii91c3Ivc2Jpbi9vcGVuY3QtY29udHJvbCIKK3Byb2c9b3BlbmN0Citwcm9jPWlmZGhhbmRsZXIKKworT1BFTkNUX09QVElPTlM9CitbIC1lIC9ldGMvc3lzY29uZmlnLyRwcm9nIF0gJiYgLiAvZXRjL3N5c2NvbmZpZy8kcHJvZworCitsb2NrZmlsZT0vdmFyL2xvY2svc3Vic3lzLyRwcm9nCisKK3N0YXJ0KCkgeworICAgIHJldHZhbD0wCisgICAgaWYgISBzdGF0dXMgJHByb2MgPi9kZXYvbnVsbCAyPiYxIDsgdGhlbgorICAgICAgICBhY3Rpb24gJCJJbml0aWFsaXppbmcgT3BlbkNUIHNtYXJ0IGNhcmQgdGVybWluYWxzOiAiIFwKKyAgICAgICAgICAgICRleGVjICRPUEVOQ1RfT1BUSU9OUyBpbml0CisgICAgICAgIHJldHZhbD0kPworICAgICAgICBbICRyZXR2YWwgLWVxIDAgXSAmJiB0b3VjaCAkbG9ja2ZpbGUKKyAgICBmaQorICAgIHJldHVybiAkcmV0dmFsCit9CisKK3N0b3AoKSB7CisgICAgaWYgc3RhdHVzICRwcm9jID4vZGV2L251bGwgMj4mMSA7IHRoZW4KKyAgICAgICAgYWN0aW9uICQiU3RvcHBpbmcgT3BlbkNUIHNtYXJ0IGNhcmQgdGVybWluYWxzOiAiIFwKKyAgICAgICAgICAgICRleGVjICRPUEVOQ1RfT1BUSU9OUyBzaHV0ZG93bgorICAgIGZpCisgICAgcmV0dmFsPSQ/CisgICAgaWYgWyAkcmV0dmFsIC1lcSAwIF0gOyB0aGVuCisgICAgICAgIHJtIC1mIC92YXIvcnVuL29wZW5jdC9zdGF0dXMKKyAgICAgICAgcm0gLWYgJGxvY2tmaWxlCisgICAgZmkKKyAgICByZXR1cm4gJHJldHZhbAorfQorCityZXN0YXJ0KCkgeworICAgIHN0b3AKKyAgICBzdGFydAorfQorCitvY3Rfc3RhdHVzKCkgeworICAgIHN0YXR1cyAkcHJvYworICAgIHJldHZhbD0kPworICAgIGlmIFsgLWUgL3Zhci9ydW4vb3BlbmN0L3N0YXR1cyBdIDsgdGhlbgorICAgICAgICAkZXhlYyAkT1BFTkNUX09QVElPTlMgc3RhdHVzCisgICAgICAgIFsgLWUgL3Zhci9ydW4vb3BlbmN0L3N0YXR1cyBdICYmIFwKKyAgICAgICAgICAgIGVjaG8gJCJXYWl0aW5nIGZvciByZWFkZXIgYXR0YWNoL2RldGFjaCBldmVudHMuLi4iCisgICAgZmkKKyAgICByZXR1cm4gJHJldHZhbAorfQorCitjYXNlICIkMSIgaW4KKyAgICBzdGFydHxzdG9wfHJlc3RhcnQpCisgICAgICAgICQxCisgICAgICAgIDs7CisgICAgcmVsb2FkfGZvcmNlLXJlbG9hZCkKKyAgICAgICAgcmVzdGFydAorICAgICAgICA7OworICAgIHN0YXR1cykKKyAgICAgICAgb2N0X3N0YXR1cworICAgICAgICA7OworICAgIHRyeS1yZXN0YXJ0fGNvbmRyZXN0YXJ0KQorICAJWyAhIC1mICRsb2NrZmlsZSBdIHx8IHJlc3RhcnQKKwk7OworICAgICopCisgICAgICAgIGVjaG8gJCJVc2FnZTogJDAge3N0YXJ0fHN0b3B8c3RhdHVzfHJlc3RhcnR8dHJ5LXJlc3RhcnR8cmVsb2FkfGZvcmNlLXJlbG9hZH0iCisgICAgICAgIGV4aXQgMgorZXNhYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuY3Qvb3BlbmN0L29wZW5jdC5zZXJ2aWNlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuY3Qvb3BlbmN0L29wZW5jdC5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM5ZWM0OTcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5jdC9vcGVuY3Qvb3BlbmN0LnNlcnZpY2UKQEAgLTAsMCArMSwxMyBAQAorW1VuaXRdCitEZXNjcmlwdGlvbj1PcGVuY3QgTWlkZGxld2FyZSBmcmFtZXdvcmsgZm9yIHNtYXJ0IGNhcmQgdGVybWluYWxzCitBZnRlcj1zeXNsb2cudGFyZ2V0IG5ldHdvcmsudGFyZ2V0CisKK1tTZXJ2aWNlXQorRW52aXJvbm1lbnRGaWxlPS0vZXRjL3N5c2NvbmZpZy9vcGVuY3QKK0V4ZWNTdGFydD0vdXNyL3NiaW4vb3BlbmN0LWNvbnRyb2wgJE9QRU5DVF9PUFRJT05TIGluaXQgCitFeGVjU3RvcD0vdXNyL3NiaW4vb3BlbmN0LWNvbnRyb2wgJE9QRU5DVF9PUFRJT05TIHNodXRkb3duCitSZW1haW5BZnRlckV4aXQ9eWVzCitLaWxsTW9kZT1ub25lCisKK1tJbnN0YWxsXQorV2FudGVkQnk9bXVsdGktdXNlci50YXJnZXQKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmN0L29wZW5jdC9vcGVuY3Quc3lzY29uZmlnIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuY3Qvb3BlbmN0L29wZW5jdC5zeXNjb25maWcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmZjMjcwNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmN0L29wZW5jdC9vcGVuY3Quc3lzY29uZmlnCkBAIC0wLDAgKzEsNSBAQAorIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSotIHNoIC0qLQorIyBFeHRyYSBvcHRpb25zIHRvIHBhc3MgdG8gb3BlbmN0LWNvbnRyb2wuCisjIENvbnN1bHQgIi91c3Ivc2Jpbi9vcGVuY3QtY29udHJvbCAtaCIgZm9yIGF2YWlsYWJsZSBvcHRpb25zLgorIworT1BFTkNUX09QVElPTlM9IiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmN0L29wZW5jdF8wLjYuMjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5jdC9vcGVuY3RfMC42LjIwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJmMWZmNTcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5jdC9vcGVuY3RfMC42LjIwLmJiCkBAIC0wLDAgKzEsOTIgQEAKK1N1bW1hbnJ5ID0gIk1pZGRsZXdhcmUgZnJhbWV3b3JrIGZvciBzbWFydCBjYXJkIHRlcm1pbmFscyIKK0RFU0NSSVBUSU9OID0gIiBcCitPcGVuQ1QgaW1wbGVtZW50cyBkcml2ZXJzIGZvciBzZXZlcmFsIHNtYXJ0IGNhcmQgcmVhZGVycy4gXAorSXQgY29tZXMgYXMgZHJpdmVyIGluIGlmZGhhbmRsZXIgZm9ybWF0IGZvciBQQy9TQy1MaXRlLCBcCithcyBDVC1BUEkgZHJpdmVyLCBvciBhcyBhIHNtYWxsIGFuZCBsZWFuIG1pZGRsZXdhcmUsIFwKK3NvIGFwcGxpY2F0aW9ucyBjYW4gdXNlIGl0IHdpdGggbWluaW1hbCBvdmVyaGVhZC4gXAorT3BlbkNUIGFsc28gaGFzIGEgcHJpbWl0aXZlIG1lY2hhbmlzbSB0byBleHBvcnQgc21hcnQgY2FyZCBcCityZWFkZXJzIHRvIHJlbW90ZSBtYWNoaW5lcyB2aWEgVENQL0lQLiIKKworREVQRU5EUyArPSAibGlidG9vbCBwY3NjLWxpdGUgbGlidXNiLWNvbXBhdCIKKworU1JDX1VSSSA9ICIgXAorICAgICR7REVCSUFOX01JUlJPUn0vbWFpbi9vLyR7QlBOfS8ke0JQTn1fJHtQVn0ub3JpZy50YXIuZ3ogXAorICAgIGZpbGU6Ly9ldGMtb3BlbmN0LnVkZXYuaW4tZGlzYWJsZVBST0dSQU0ucGF0Y2ggXAorICAgIGZpbGU6Ly9ldGMtb3BlbmN0X3VzYi5pbi1tb2RpZnktVURFVklORk8ucGF0Y2ggXAorICAgIGZpbGU6Ly9vcGVuY3QuaW5pdCBcCisgICAgZmlsZTovL29wZW5jdC5zeXNjb25maWcgXAorICAgIGZpbGU6Ly9vcGVuY3Quc2VydmljZSBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJhMWRhMzM1OGFiNzk4ZjFjYjkyMzJmMWRiYWJhYmMyMSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2Y2QzZTI5MzNkMjllYjFmODc1YzgzOGVlNThiODA3MWZkNjFmMGVjOGVkNTkyMmE4NmMwMWM4MDVkMTgxYTY4IgorCitMSUNFTlNFID0gIkxHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MR1BMLTIuMTttZDU9MmQ1MDI1ZDRhYTM0OTViZWZlZjhmMTcyMDZhNWIwYTEiCisKK2luaGVyaXQgJHtAYmIudXRpbHMuY29udGFpbnMoJ1ZJUlRVQUwtUlVOVElNRV9pbml0X21hbmFnZXInLCdzeXN0ZW1kJywnc3lzdGVtZCcsJycsIGQpfQorU1lTVEVNRF9TRVJWSUNFXyR7UE59ICs9ICJvcGVuY3Quc2VydmljZSAiCitTWVNURU1EX0FVVE9fRU5BQkxFID0gImVuYWJsZSIKKworRVhUUkFfT0VDT05GPSIgXAorICAgIC0tZGlzYWJsZS1zdGF0aWMgXAorICAgIC0tZW5hYmxlLXVzYiBcCisgICAgLS1lbmFibGUtcGNzYyBcCisgICAgLS1lbmFibGUtZG9jIFwKKyAgICAtLWVuYWJsZS1hcGktZG9jIFwKKyAgICAtLXdpdGgtdWRldj0vbGliL3VkZXYgXAorICAgIC0td2l0aC1idW5kbGU9JHtsaWJkaXJ9L3Bjc2MvZHJpdmVycyBcCisiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitGSUxFU18ke1BOfSArPSAiIFwKKyAgICAke2xpYmRpcn0vY3RhcGkgXAorICAgIC9saWIvdWRldiBcCisgICAgJHtsaWJkaXJ9L29wZW5jdC1pZmQuc28gXAorICAgICR7bGliZGlyfS9wY3NjIFwKKyAgICAvcnVuL29wZW5jdC9zdGF0dXMgXAorIgorCitGSUxFU18ke1BOfS1kYmcgKz0gIiBcCisgICAgJHtsaWJkaXJ9L2N0YXBpLy5kZWJ1ZyBcCisgICAgJHtsaWJkaXJ9L3Bjc2MvZHJpdmVycy9vcGVuY3QtaWZkLmJ1bmRsZS9Db250ZW50cy9MaW51eC8uZGVidWcgXAorIgorCitJTlNBTkVfU0tJUF8ke1BOfSArPSAiZGV2LWRlcHMiCisKKworZG9faW5zdGFsbCAoKSB7CisgICAgcm0gLXJmICR7RH0KKyAgICBpbnN0YWxsIC1kICR7RH0vZXRjCisgICAgaW5zdGFsbCAtZG0gNzU1ICR7RH0vbGliL3VkZXYKKyAgICAjIGZpeCB1cCBoYXJkY29kZWQgcGF0aHMKKyAgICBzZWQgLWkgLWUgJ3MsL2V0Yy8sJHtzeXNjb25mZGlyfS8sJyAtZSAncywvdXNyL3NiaW4vLCR7c2JpbmRpcn0vLCcgXAorICAgICAgICAke1dPUktESVJ9L29wZW5jdC5zZXJ2aWNlICR7V09SS0RJUn0vb3BlbmN0LmluaXQKKworICAgIG9lX3J1bm1ha2UgaW5zdGFsbCBERVNURElSPSR7RH0KKyAgICBpbnN0YWxsIC1kbSA3NTUgJHtEfSR7bGliZGlyfS9jdGFwaS8KKyAgICBtdiAke0R9JHtsaWJkaXJ9L2xpYm9wZW5jdGFwaS5zbyAke0R9JHtsaWJkaXJ9L2N0YXBpLworICAgIGluc3RhbGwgLURwbSA2NDQgZXRjL29wZW5jdC51ZGV2ICR7RH0vZXRjL3VkZXYvcnVsZXMuZC82MC1vcGVuY3QucnVsZXMKKyAgICBpbnN0YWxsIC1wbSA2NDQgZXRjL29wZW5jdC5jb25mICR7RH0vZXRjL29wZW5jdC5jb25mCisKKyAgICBpbnN0YWxsIC1EcG0gNzU1ICR7V09SS0RJUn0vb3BlbmN0LmluaXQgJHtEfS9ldGMvaW5pdC5kL29wZW5jdAorICAgIGluc3RhbGwgLURwbSA2NDQgJHtXT1JLRElSfS9vcGVuY3Quc3lzY29uZmlnICR7RH0vZXRjL3N5c2NvbmZpZy9vcGVuY3QKKworICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdzeXN0ZW1kJywndHJ1ZScsJ2ZhbHNlJyxkKX07IHRoZW4KKyAgICAgICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICAgICAgaW5zdGFsbCAtbSA2NDQgJHtXT1JLRElSfS9vcGVuY3Quc2VydmljZSAke0R9LyR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICBmaQorCisgICAgc289JChmaW5kICR7RH0gLW5hbWUgXCouc28gfCBzZWQgInN8XiR7RH18fCIpCisgICAgc2VkIC1pIC1lICdzfFxcKExJQlBBVEhcXHMqXFwpLip8XFwxJHNvfCcgZXRjL3JlYWRlci5jb25mCisgICAgaW5zdGFsbCAtRHBtIDY0NCBldGMvcmVhZGVyLmNvbmYgJHtEfS9ldGMvcmVhZGVyLmNvbmYuZC9vcGVuY3QuY29uZgorCisgICAgaW5zdGFsbCAtZG0gNzU1ICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1bi9vcGVuY3QKKyAgICB0b3VjaCAke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW4vb3BlbmN0L3N0YXR1cworICAgIGNobW9kIDY0NCAke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW4vb3BlbmN0L3N0YXR1cworfQorCitwa2dfcG9zdGluc3RfJHtQTn0gKCkgeworICAgIGxuIC1zZiBjdGFwaS9saWJvcGVuY3RhcGkuc28gJHtsaWJkaXJ9L2xpYm9wZW5jdGFwaS5zbworfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuY3Yvb3BlbmN2LXNhbXBsZXNfMi40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuY3Yvb3BlbmN2LXNhbXBsZXNfMi40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVjYWFlNGMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5jdi9vcGVuY3Ytc2FtcGxlc18yLjQuYmIKQEAgLTAsMCArMSw0MSBAQAorU1VNTUFSWSA9ICJPcGVuY3YgOiBUaGUgT3BlbiBDb21wdXRlciBWaXNpb24gTGlicmFyeSIKK0hPTUVQQUdFID0gImh0dHA6Ly9vcGVuY3Yud2lsbG93Z2FyYWdlLmNvbS93aWtpLyIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiQlNEIgorCitERVBFTkRTID0gIm9wZW5jdiIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vaW5jbHVkZS9vcGVuY3YyL29wZW5jdi5ocHA7ZW5kbGluZT00MTttZDU9NmQ2OTBkODQ4OGE2ZmNhN2EyYzE5MjkzMjQ2NmJiMTQgXAorIgorU1JDUkVWID0gIjZmYWUwN2JhODg2N2I4ZmQyYzUzMzQ0YTc3NGFhYjY2OWFmYTdjNWUiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vSXRzZWV6L29wZW5jdi5naXQ7YnJhbmNoPTIuNCBcCisgICAgICAgICAgIgorUFYgPSAiMi40LjMrZ2l0JHtTUkNQVn0iCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2RvX2luc3RhbGwoKSB7CisgICAgY2Qgc2FtcGxlcy9jCisgICAgaW5zdGFsbCAtZCAke0R9LyR7YmluZGlyfQorICAgIGluc3RhbGwgLWQgJHtEfS8ke2RhdGFkaXJ9L29wZW5jdi9zYW1wbGVzCisKKyAgICBjcCAqICR7RH0vJHtkYXRhZGlyfS9vcGVuY3Yvc2FtcGxlcyB8fCB0cnVlCisKKyAgICBmb3IgaSBpbiAqLmM7IGRvCisgICAgICAgIGVjaG8gImNvbXBpbGluZyAkaSIKKyAgICAgICAgJHtDWFh9ICR7Q0ZMQUdTfSAke0xERkxBR1N9IC1nZ2RiIGBwa2ctY29uZmlnIC0tY2ZsYWdzIG9wZW5jdmAgLW8gYGJhc2VuYW1lICRpIC5jYCAkaSBgcGtnLWNvbmZpZyAtLWxpYnMgb3BlbmN2YCB8fCB0cnVlCisgICAgICAgIGluc3RhbGwgLW0gMDc1NSBgYmFzZW5hbWUgJGkgLmNgICR7RH0vJHtiaW5kaXJ9IHx8IHRydWUKKyAgICAgICAgcm0gJHtEfS8ke2RhdGFkaXJ9L29wZW5jdi9zYW1wbGVzL2BiYXNlbmFtZSAkaSAuY2AgfHwgdHJ1ZQorICAgIGRvbmUKKyAgICBmb3IgaSBpbiAqLmNwcDsgZG8KKyAgICAgICAgZWNobyAiY29tcGlsaW5nICRpIgorICAgICAgICAke0NYWH0gJHtDRkxBR1N9ICR7TERGTEFHU30gLWdnZGIgYHBrZy1jb25maWcgLS1jZmxhZ3Mgb3BlbmN2YCAtbyBgYmFzZW5hbWUgJGkgLmNwcGAgJGkgYHBrZy1jb25maWcgLS1saWJzIG9wZW5jdmAgfHwgdHJ1ZQorICAgICAgICBpbnN0YWxsIC1tIDA3NTUgYGJhc2VuYW1lICRpIC5jcHBgICR7RH0vJHtiaW5kaXJ9IHx8IHRydWUKKyAgICAgICAgcm0gJHtEfS8ke2RhdGFkaXJ9L29wZW5jdi9zYW1wbGVzL2BiYXNlbmFtZSAkaSAuY3BwYCB8fCB0cnVlCisgICAgZG9uZQorfQorCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7ZGF0YWRpcn0vb3BlbmN2L3NhbXBsZXMvKi5jKiAke2RhdGFkaXJ9L29wZW5jdi9zYW1wbGVzLyoudmNwKiAke2RhdGFkaXJ9L29wZW5jdi9zYW1wbGVzL2J1aWxkKiIgCitGSUxFU18ke1BOfSArPSAiJHtiaW5kaXJ9ICR7ZGF0YWRpcn0vb3BlbmN2IgorCitQTkJMQUNLTElTVFtvcGVuY3Ytc2FtcGxlc10gPz0gIkRlcGVuZHMgb24gYmxhY2tsaXN0ZWQgb3BlbmN2IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuY3Yvb3BlbmN2LzAwMDEtM3JkcGFydHktaXBwaWN2LVVzZS1wcmUtZG93bmxvYWRlZC1pcHAucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5jdi9vcGVuY3YvMDAwMS0zcmRwYXJ0eS1pcHBpY3YtVXNlLXByZS1kb3dubG9hZGVkLWlwcC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNTY4MDE4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuY3Yvb3BlbmN2LzAwMDEtM3JkcGFydHktaXBwaWN2LVVzZS1wcmUtZG93bmxvYWRlZC1pcHAucGF0Y2gKQEAgLTAsMCArMSwyOCBAQAorRnJvbSAwNDlmOTMxMjA3NjMxYWE1NGFmNTVhMjkxNzMxOGQwMzJiMmVmM2ZhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUmljYXJkbyBSaWJhbGRhIERlbGdhZG8gPHJpY2FyZG8ucmliYWxkYUBnbWFpbC5jb20+CitEYXRlOiBUaHUsIDMxIE1hciAyMDE2IDAwOjIwOjE1ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIDNyZHBhcnR5L2lwcGljdjogVXNlIHByZS1kb3dubG9hZGVkIGlwcAorCitTaWduZWQtb2ZmLWJ5OiBSaWNhcmRvIFJpYmFsZGEgRGVsZ2FkbyA8cmljYXJkby5yaWJhbGRhQGdtYWlsLmNvbT4KKy0tLQorIDNyZHBhcnR5L2lwcGljdi9kb3dubG9hZGVyLmNtYWtlIHwgMiArKworIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhLzNyZHBhcnR5L2lwcGljdi9kb3dubG9hZGVyLmNtYWtlIGIvM3JkcGFydHkvaXBwaWN2L2Rvd25sb2FkZXIuY21ha2UKK2luZGV4IGE2MDE2ZGJlMTBiYy4uYWY0MDYyYzhlOTVlIDEwMDY0NAorLS0tIGEvM3JkcGFydHkvaXBwaWN2L2Rvd25sb2FkZXIuY21ha2UKKysrKyBiLzNyZHBhcnR5L2lwcGljdi9kb3dubG9hZGVyLmNtYWtlCitAQCAtMzEsOCArMzEsMTAgQEAgZnVuY3Rpb24oX2ljdl9kb3dubG9hZGVyKQorICAgICByZXR1cm4oKSAjIE5vdCBzdXBwb3J0ZWQKKyAgIGVuZGlmKCkKKyAKKysgIGlmKE5PVCBERUZJTkVEIE9QRU5DVl9JQ1ZfUEFUSCkKKyAgIHNldChPUEVOQ1ZfSUNWX1VOUEFDS19QQVRIICIke0NNQUtFX0NVUlJFTlRfTElTVF9ESVJ9L3VucGFjayIpCisgICBzZXQoT1BFTkNWX0lDVl9QQVRIICIke09QRU5DVl9JQ1ZfVU5QQUNLX1BBVEh9JHtPUEVOQ1ZfSUNWX1BBQ0tBR0VfU1VCRElSfSIpCisrICBlbmRpZigpCisgCisgICBpZihERUZJTkVEIE9QRU5DVl9JQ1ZfUEFDS0FHRV9ET1dOTE9BREVECisgICAgICAgIEFORCBPUEVOQ1ZfSUNWX1BBQ0tBR0VfRE9XTkxPQURFRCBTVFJFUVVBTCBPUEVOQ1ZfSUNWX1BBQ0tBR0VfSEFTSAorLS0gCisyLjguMC5yYzMKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuY3Yvb3BlbmN2LzAwMDEtVXNlLV9fdmVjdG9yLWluc3RlYWQtb2YtdmVjdG9yLWFzLXN1Z2dlc3RzLUVpZ2VuLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuY3Yvb3BlbmN2LzAwMDEtVXNlLV9fdmVjdG9yLWluc3RlYWQtb2YtdmVjdG9yLWFzLXN1Z2dlc3RzLUVpZ2VuLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdmODA5YmMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5jdi9vcGVuY3YvMDAwMS1Vc2UtX192ZWN0b3ItaW5zdGVhZC1vZi12ZWN0b3ItYXMtc3VnZ2VzdHMtRWlnZW4ucGF0Y2gKQEAgLTAsMCArMSw0OSBAQAorRnJvbSA3MTFmMDdhMzRjZWI1MDRlOGY3NWU5Nzg2OTIyMDFlZmE1ODI2OGNhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogRGluYXIgVmFsZWV2IDxkdmFsZWV2QHN1c2UuY29tPgorRGF0ZTogVGh1LCAxNiBKYW4gMjAxNCAyMTo1Mzo0OSArMDEwMAorU3ViamVjdDogW1BBVENIXSBVc2UgX192ZWN0b3IgaW5zdGVhZCBvZiB2ZWN0b3IgYXMgc3VnZ2VzdHMgRWlnZW4KKworVGhpcyBmaXhlcyBidWlsZCBvbiBQb3dlclBDIHdoZXJlIEVpZ2VuIHVuc2V0cyB2ZWN0b3IsIGJvb2wgYW5kIHBpeGVsCisKK1NpZ25lZC1vZmYtYnk6IERpbmFyIFZhbGVldiA8ZHZhbGVldkBzdXNlLmNvbT4KKworVGhpcyBwYXRjaCBpcyBhbHJlYWR5IHBhcnQgb2YgT3BlbkNWIHYzLjAuIFRoZSBwYXRjaCBjYW4gYmUgb2J0YWluZWQKK2Zyb206CisKKyAgaHR0cHM6Ly9naXRodWIuY29tL0l0c2Vlei9vcGVuY3YvY29tbWl0LzcxMWYwN2EzNGNlYjUwNGU4Zjc1ZTk3ODY5MjIwMWVmYTU4MjY4Y2EucGF0Y2gKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbY29tbWl0IDcxMWYwN2EzNGMsIHBhcnQgb2YgdmVyc2lvbiAzLjBdCisKK1NpZ25lZC1vZmYtYnk6IEx1a2FzIEJ1bHdhaG4gPGx1a2FzLmJ1bHdhaG5Ab3NzLmJtdy1jYXJpdC5kZT4KKy0tLQorIDNyZHBhcnR5L2luY2x1ZGUvb3BlbmNsLzEuMi9DTC9jbF9wbGF0Zm9ybS5oIHwgMTQgKysrKysrKy0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvM3JkcGFydHkvaW5jbHVkZS9vcGVuY2wvMS4yL0NML2NsX3BsYXRmb3JtLmggYi8zcmRwYXJ0eS9pbmNsdWRlL29wZW5jbC8xLjIvQ0wvY2xfcGxhdGZvcm0uaAoraW5kZXggZTk0OTQ5YS4uNDJjMzVkNSAxMDA2NDQKKy0tLSBhLzNyZHBhcnR5L2luY2x1ZGUvb3BlbmNsLzEuMi9DTC9jbF9wbGF0Zm9ybS5oCisrKysgYi8zcmRwYXJ0eS9pbmNsdWRlL29wZW5jbC8xLjIvQ0wvY2xfcGxhdGZvcm0uaAorQEAgLTMzMiwxMyArMzMyLDEzIEBAIHR5cGVkZWYgdW5zaWduZWQgaW50IGNsX0dMZW51bTsKKyAvKiBEZWZpbmUgYmFzaWMgdmVjdG9yIHR5cGVzICovCisgI2lmIGRlZmluZWQoIF9fVkVDX18gKQorICAgICNpbmNsdWRlIDxhbHRpdmVjLmg+ICAgLyogbWF5IGJlIG9taXR0ZWQgZGVwZW5kaW5nIG9uIGNvbXBpbGVyLiBBbHRpVmVjIHNwZWMgcHJvdmlkZXMgbm8gd2F5IHRvIGRldGVjdCB3aGV0aGVyIHRoZSBoZWFkZXIgaXMgcmVxdWlyZWQuICovCistICAgdHlwZWRlZiB2ZWN0b3IgdW5zaWduZWQgY2hhciAgICAgX19jbF91Y2hhcjE2OworLSAgIHR5cGVkZWYgdmVjdG9yIHNpZ25lZCBjaGFyICAgICAgIF9fY2xfY2hhcjE2OworLSAgIHR5cGVkZWYgdmVjdG9yIHVuc2lnbmVkIHNob3J0ICAgIF9fY2xfdXNob3J0ODsKKy0gICB0eXBlZGVmIHZlY3RvciBzaWduZWQgc2hvcnQgICAgICBfX2NsX3Nob3J0ODsKKy0gICB0eXBlZGVmIHZlY3RvciB1bnNpZ25lZCBpbnQgICAgICBfX2NsX3VpbnQ0OworLSAgIHR5cGVkZWYgdmVjdG9yIHNpZ25lZCBpbnQgICAgICAgIF9fY2xfaW50NDsKKy0gICB0eXBlZGVmIHZlY3RvciBmbG9hdCAgICAgICAgICAgICBfX2NsX2Zsb2F0NDsKKysgICB0eXBlZGVmIF9fdmVjdG9yIHVuc2lnbmVkIGNoYXIgICAgIF9fY2xfdWNoYXIxNjsKKysgICB0eXBlZGVmIF9fdmVjdG9yIHNpZ25lZCBjaGFyICAgICAgIF9fY2xfY2hhcjE2OworKyAgIHR5cGVkZWYgX192ZWN0b3IgdW5zaWduZWQgc2hvcnQgICAgX19jbF91c2hvcnQ4OworKyAgIHR5cGVkZWYgX192ZWN0b3Igc2lnbmVkIHNob3J0ICAgICAgX19jbF9zaG9ydDg7CisrICAgdHlwZWRlZiBfX3ZlY3RvciB1bnNpZ25lZCBpbnQgICAgICBfX2NsX3VpbnQ0OworKyAgIHR5cGVkZWYgX192ZWN0b3Igc2lnbmVkIGludCAgICAgICAgX19jbF9pbnQ0OworKyAgIHR5cGVkZWYgX192ZWN0b3IgZmxvYXQgICAgICAgICAgICAgX19jbF9mbG9hdDQ7CisgICAgI2RlZmluZSAgX19DTF9VQ0hBUjE2X18gIDEKKyAgICAjZGVmaW5lICBfX0NMX0NIQVIxNl9fICAgMQorICAgICNkZWZpbmUgIF9fQ0xfVVNIT1JUOF9fICAxCistLSAKKzEuOS4zCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmN2L29wZW5jdi9maXhwa2djb25maWcucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5jdi9vcGVuY3YvZml4cGtnY29uZmlnLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNhZWRhN2QKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5jdi9vcGVuY3YvZml4cGtnY29uZmlnLnBhdGNoCkBAIC0wLDAgKzEsMjkgQEAKK2RpZmYgLS1naXQgYS9jbWFrZS9PcGVuQ1ZHZW5Qa2djb25maWcuY21ha2UgYi9jbWFrZS9PcGVuQ1ZHZW5Qa2djb25maWcuY21ha2UKK2luZGV4IGI4Y2I4Nzc3YzA2Yi4uNzUyODFlZTk2NGZkIDEwMDY0NAorLS0tIGEvY21ha2UvT3BlbkNWR2VuUGtnY29uZmlnLmNtYWtlCisrKysgYi9jbWFrZS9PcGVuQ1ZHZW5Qa2djb25maWcuY21ha2UKK0BAIC0yNyw3ICsyNyw3IEBAIG1hY3JvKGZpeF9wcmVmaXggbHN0IGlzb3duKQorICAgICAgIGdldF9maWxlbmFtZV9jb21wb25lbnQobGliZGlyICIke2l0ZW19IiBQQVRIKQorICAgICAgIGdldF9maWxlbmFtZV9jb21wb25lbnQobGlibmFtZSAiJHtpdGVtfSIgTkFNRV9XRSkKKyAgICAgICBzdHJpbmcoUkVHRVggUkVQTEFDRSAiXmxpYiguKikiICJcXDEiIGxpYm5hbWUgIiR7bGlibmFtZX0iKQorLSAgICAgIGxpc3QoQVBQRU5EIF9sc3QgIi1MJHtsaWJkaXJ9IiAiLWwke2xpYm5hbWV9IikKKysgICAgICBsaXN0KEFQUEVORCBfbHN0ICItbCR7bGlibmFtZX0iKQorICAgICBlbHNlKCkKKyAgICAgICBsaXN0KEFQUEVORCBfbHN0ICItbCR7aXRlbX0iKQorICAgICBlbmRpZigpCitAQCAtNjYsMTAgKzY2LDE0IEBAIG9jdl9saXN0X3VuaXF1ZShfM3JkcGFydHkpCisgCisgc2V0KE9QRU5DVl9QQ19MSUJTCisgICAiLUxcJHtleGVjX3ByZWZpeH0vJHtPUEVOQ1ZfTElCX0lOU1RBTExfUEFUSH0iCisrICAiLUxcJHtleGVjX3ByZWZpeH0vJHtPUEVOQ1ZfM1BfTElCX0lOU1RBTExfUEFUSH0iCisgICAiJHtfbW9kdWxlc30iCisgKQorIGlmIChCVUlMRF9TSEFSRURfTElCUykKKy0gIHNldChPUEVOQ1ZfUENfTElCU19QUklWQVRFICIke19leHRyYX0iKQorKyAgc2V0KE9QRU5DVl9QQ19MSUJTX1BSSVZBVEUKKysgICAgIi1MXCR7ZXhlY19wcmVmaXh9LyR7T1BFTkNWX0xJQl9JTlNUQUxMX1BBVEh9IgorKyAgICAiJHtfZXh0cmF9IgorKyAgKQorIGVsc2UoKQorICAgc2V0KE9QRU5DVl9QQ19MSUJTX1BSSVZBVEUKKyAgICAgIi1MXCR7ZXhlY19wcmVmaXh9LyR7T1BFTkNWXzNQX0xJQl9JTlNUQUxMX1BBVEh9IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuY3Yvb3BlbmN2XzIuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmN2L29wZW5jdl8yLjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWIzOGE1YQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmN2L29wZW5jdl8yLjQuYmIKQEAgLTAsMCArMSwxMDggQEAKK1NVTU1BUlkgPSAiT3BlbmN2IDogVGhlIE9wZW4gQ29tcHV0ZXIgVmlzaW9uIExpYnJhcnkiCitIT01FUEFHRSA9ICJodHRwOi8vb3BlbmN2Lm9yZy8iCitTRUNUSU9OID0gImxpYnMiCisKK0xJQ0VOU0UgPSAiQlNELTMtQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vaW5jbHVkZS9vcGVuY3YyL29wZW5jdi5ocHA7ZW5kbGluZT00MTttZDU9NmQ2OTBkODQ4OGE2ZmNhN2EyYzE5MjkzMjQ2NmJiMTQiCisKK0FSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjQgPSAiYXJtIgorQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NSA9ICJhcm0iCisKK0RFUEVORFMgPSAicHl0aG9uLW51bXB5IGxpYnRvb2wgc3dpZyBzd2lnLW5hdGl2ZSBweXRob24gYnppcDIgemxpYiBnbGliLTIuMCIKKworU1JDUkVWID0gIjJjOTU0N2UzMTQ3Nzc5MDAxODExZDAxOTM2YWVkMzhmNTYwOTI5ZmMiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vSXRzZWV6L29wZW5jdi5naXQ7YnJhbmNoPTIuNCBcCisgIGZpbGU6Ly8wMDAxLVVzZS1fX3ZlY3Rvci1pbnN0ZWFkLW9mLXZlY3Rvci1hcy1zdWdnZXN0cy1FaWdlbi5wYXRjaCIKKworUFYgPSAiMi40LjExK2dpdCR7U1JDUFZ9IgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCisjIERvIGFuIG91dC1vZi10cmVlIGJ1aWxkCitPRUNNQUtFX1NPVVJDRVBBVEggPSAiJHtTfSIKK09FQ01BS0VfQlVJTERQQVRIID0gIiR7V09SS0RJUn0vYnVpbGQtJHtUQVJHRVRfQVJDSH0iCisKK0VYVFJBX09FQ01BS0UgPSAiLURQWVRIT05fTlVNUFlfSU5DTFVERV9ESVI6UEFUSD0ke1NUQUdJTkdfTElCRElSfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvbnVtcHkvY29yZS9pbmNsdWRlIFwKKyAgICAgICAgICAgICAgICAgLURCVUlMRF9QWVRIT05fU1VQUE9SVD1PTiBcCisgICAgICAgICAgICAgICAgIC1EV0lUSF9HU1RSRUFNRVI9T0ZGIFwKKyAgICAgICAgICAgICAgICAgLURXSVRIXzEzOTQ9T0ZGIFwKKyAgICAgICAgICAgICAgICAgLURDTUFLRV9TS0lQX1JQQVRIPU9OIFwKKyAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIlRBUkdFVF9DQ19BUkNIIiwgIi1tc3NlMyIsICItREVOQUJMRV9TU0U9MSAtREVOQUJMRV9TU0UyPTEgLURFTkFCTEVfU1NFMz0xIC1ERU5BQkxFX1NTU0UzPTEiLCAiIiwgZCl9IFwKKyAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIlRBUkdFVF9DQ19BUkNIIiwgIi1tc3NlNC4xIiwgIi1ERU5BQkxFX1NTRT0xIC1ERU5BQkxFX1NTRTI9MSAtREVOQUJMRV9TU0UzPTEgLURFTkFCTEVfU1NTRTM9MSAtREVOQUJMRV9TU0U0MT0xIiwgIiIsIGQpfSBcCisgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJUQVJHRVRfQ0NfQVJDSCIsICItbXNzZTQuMiIsICItREVOQUJMRV9TU0U9MSAtREVOQUJMRV9TU0UyPTEgLURFTkFCTEVfU1NFMz0xIC1ERU5BQkxFX1NTU0UzPTEgLURFTkFCTEVfU1NFNDE9MSAtREVOQUJMRV9TU0U0Mj0xIiwgIiIsIGQpfSBcCisgICAgICAgICAgICAgICAgICR7QGJhc2VfY29uZGl0aW9uYWwoImxpYmRpciIsICIvdXNyL2xpYjY0IiwgIi1ETElCX1NVRkZJWD02NCIsICIiLCBkKX0gXAorICAgICAgICAgICAgICAgICAke0BiYXNlX2NvbmRpdGlvbmFsKCJsaWJkaXIiLCAiL3Vzci9saWIzMiIsICItRExJQl9TVUZGSVg9MzIiLCAiIiwgZCl9IFwKKyIKKworUEFDS0FHRUNPTkZJRyA/Pz0gImVpZ2VuIGpwZWcgcG5nIHRpZmYgdjRsIGxpYnY0bCBcCisgICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkRJU1RST19GRUFUVVJFUyIsICJ4MTEiLCAiZ3RrIiwgIiIsIGQpfSBcCisgICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkxJQ0VOU0VfRkxBR1NfV0hJVEVMSVNUIiwgImNvbW1lcmNpYWwiLCAibGliYXYiLCAiIiwgZCl9IgorCitQQUNLQUdFQ09ORklHW2VpZ2VuXSA9ICItRFdJVEhfRUlHRU49T04sLURXSVRIX0VJR0VOPU9GRixsaWJlaWdlbiwiCitQQUNLQUdFQ09ORklHW2d0a10gPSAiLURXSVRIX0dUSz1PTiwtRFdJVEhfR1RLPU9GRixndGsrLCIKK1BBQ0tBR0VDT05GSUdbamFzcGVyXSA9ICItRFdJVEhfSkFTUEVSPU9OLC1EV0lUSF9KQVNQRVI9T0ZGLGphc3BlciwiCitQQUNLQUdFQ09ORklHW2pwZWddID0gIi1EV0lUSF9KUEVHPU9OLC1EV0lUSF9KUEVHPU9GRixqcGVnLCIKK1BBQ0tBR0VDT05GSUdbbGliYXZdID0gIi1EV0lUSF9GRk1QRUc9T04sLURXSVRIX0ZGTVBFRz1PRkYsbGliYXYsIgorUEFDS0FHRUNPTkZJR1tsaWJ2NGxdID0gIi1EV0lUSF9MSUJWNEw9T04sLURXSVRIX0xJQlY0TD1PRkYsdjRsLXV0aWxzLCIKK1BBQ0tBR0VDT05GSUdbcG5nXSA9ICItRFdJVEhfUE5HPU9OLC1EV0lUSF9QTkc9T0ZGLGxpYnBuZywiCitQQUNLQUdFQ09ORklHW3RpZmZdID0gIi1EV0lUSF9USUZGPU9OLC1EV0lUSF9USUZGPU9GRix0aWZmLCIKK1BBQ0tBR0VDT05GSUdbdjRsXSA9ICItRFdJVEhfVjRMPU9OLC1EV0lUSF9WNEw9T0ZGLHY0bC11dGlscywiCisKK2luaGVyaXQgZGlzdHV0aWxzLWJhc2UgcGtnY29uZmlnIGNtYWtlCisKK2V4cG9ydCBCVUlMRF9TWVMKK2V4cG9ydCBIT1NUX1NZUworZXhwb3J0IFBZVEhPTl9DU1BFQz0iLUkke1NUQUdJTkdfSU5DRElSfS8ke1BZVEhPTl9ESVJ9IgorZXhwb3J0IFBZVEhPTj0iJHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L3B5dGhvbiIKKworVEFSR0VUX0NDX0FSQ0ggKz0gIi1JJHtTfS9pbmNsdWRlICIKKworUEFDS0FHRVMgKz0gIiR7UE59LWFwcHMgcHl0aG9uLW9wZW5jdiIKKworcHl0aG9uIHBvcHVsYXRlX3BhY2thZ2VzX3ByZXBlbmQgKCkgeworICAgIGN2X2xpYmRpciA9IGQuZXhwYW5kKCcke2xpYmRpcn0nKQorICAgIGN2X2xpYmRpcl9kYmcgPSBkLmV4cGFuZCgnJHtsaWJkaXJ9Ly5kZWJ1ZycpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgY3ZfbGliZGlyLCAnXmxpYiguKilcLnNvJCcsICdsaWIlcy1kZXYnLCAnT3BlbkNWICVzIGRldmVsb3BtZW50IHBhY2thZ2UnLCBleHRyYV9kZXBlbmRzPScke1BOfS1kZXYnLCBhbGxvd19saW5rcz1UcnVlKQorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGN2X2xpYmRpciwgJ15saWIoLiopXC5sYSQnLCAnbGliJXMtZGV2JywgJ09wZW5DViAlcyBkZXZlbG9wbWVudCBwYWNrYWdlJywgZXh0cmFfZGVwZW5kcz0nJHtQTn0tZGV2JykKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBjdl9saWJkaXIsICdebGliKC4qKVwuYSQnLCAnbGliJXMtZGV2JywgJ09wZW5DViAlcyBkZXZlbG9wbWVudCBwYWNrYWdlJywgZXh0cmFfZGVwZW5kcz0nJHtQTn0tZGV2JykKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBjdl9saWJkaXIsICdebGliKC4qKVwuc29cLionLCAnbGliJXMnLCAnT3BlbkNWICVzIGxpYnJhcnknLCBleHRyYV9kZXBlbmRzPScnLCBhbGxvd19saW5rcz1UcnVlKQorCisgICAgcG4gPSBkLmdldFZhcignUE4nLCAxKQorICAgIG1ldGFwa2cgPSAgcG4gKyAnLWRldicKKyAgICBkLnNldFZhcignQUxMT1dfRU1QVFlfJyArIG1ldGFwa2csICIxIikKKyAgICBibGFja2xpc3QgPSBbIG1ldGFwa2cgXQorICAgIG1ldGFwa2dfcmRlcGVuZHMgPSBbIF0gCisgICAgcGFja2FnZXMgPSBkLmdldFZhcignUEFDS0FHRVMnLCAxKS5zcGxpdCgpCisgICAgZm9yIHBrZyBpbiBwYWNrYWdlc1sxOl06CisgICAgICAgIGlmIG5vdCBwa2cgaW4gYmxhY2tsaXN0IGFuZCBub3QgcGtnIGluIG1ldGFwa2dfcmRlcGVuZHMgYW5kIHBrZy5lbmRzd2l0aCgnLWRldicpOgorICAgICAgICAgICAgbWV0YXBrZ19yZGVwZW5kcy5hcHBlbmQocGtnKQorICAgIGQuc2V0VmFyKCdSUkVDT01NRU5EU18nICsgbWV0YXBrZywgJyAnLmpvaW4obWV0YXBrZ19yZGVwZW5kcykpCit9CisKK1BBQ0tBR0VTX0RZTkFNSUMgKz0gIl5saWJvcGVuY3YtLioiCisKK0ZJTEVTXyR7UE59ID0gIiIKK0ZJTEVTXyR7UE59LWFwcHMgPSAiJHtiaW5kaXJ9LyogJHtkYXRhZGlyfS9PcGVuQ1YiCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS8uZGVidWciCitGSUxFU18ke1BOfS1kZXYgPSAiJHtpbmNsdWRlZGlyfSAke2xpYmRpcn0vcGtnY29uZmlnIgorRklMRVNfJHtQTn0tZG9jID0gIiR7ZGF0YWRpcn0vT3BlbkNWL2RvYyIKKworQUxMT1dfRU1QVFlfJHtQTn0gPSAiMSIKKworU1VNTUFSWV9weXRob24tb3BlbmN2ID0gIlB5dGhvbiBiaW5kaW5ncyB0byBvcGVuY3YiCitGSUxFU19weXRob24tb3BlbmN2ID0gIiR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9LyoiCitSREVQRU5EU19weXRob24tb3BlbmN2ID0gInB5dGhvbi1jb3JlIHB5dGhvbi1udW1weSIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgY3AgJHtTfS9pbmNsdWRlL29wZW5jdi8qLmggJHtEfSR7aW5jbHVkZWRpcn0vb3BlbmN2LworICAgIHNlZCAtaSAnL2Jsb2J0cmFjay9kJyAke0R9JHtpbmNsdWRlZGlyfS9vcGVuY3YvY3ZhdXguaAorCisgICAgIyBNb3ZlIFB5dGhvbiBmaWxlcyBpbnRvIGNvcnJlY3QgbGlicmFyeSBmb2xkZXIgKGZvciBtdWx0aWxpYiBidWlsZCkKKyAgICBpZiBbICIkbGliZGlyIiAhPSAiL3Vzci9saWIiIF07IHRoZW4KKyAgICAgICAgbXYgJHtEfS91c3IvbGliLyogJHtEfS8ke2xpYmRpcn0vCisgICAgICAgIHJtIC1yZiAke0R9L3Vzci9saWIKKyAgICBmaQorfQorCisjIGh0dHA6Ly9lcnJvcnMueW9jdG9wcm9qZWN0Lm9yZy9FcnJvcnMvRGV0YWlscy80MDY2MC8KK1BOQkxBQ0tMSVNUW29wZW5jdl0gPz0gIk5vdCBjb21wYXRpYmxlIHdpdGggY3VycmVudGx5IHVzZWQgZmZtcGVnIDMiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5jdi9vcGVuY3ZfMy4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuY3Yvb3BlbmN2XzMuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ODk1MTJmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuY3Yvb3BlbmN2XzMuMS5iYgpAQCAtMCwwICsxLDE0OSBAQAorU1VNTUFSWSA9ICJPcGVuY3YgOiBUaGUgT3BlbiBDb21wdXRlciBWaXNpb24gTGlicmFyeSIKK0hPTUVQQUdFID0gImh0dHA6Ly9vcGVuY3Yub3JnLyIKK1NFQ1RJT04gPSAibGlicyIKKworTElDRU5TRSA9ICJCU0QtMy1DbGF1c2UiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0wZWE5MGQyOGI0ZGU4ODNkN2FmNWU2NzExZjE0ZjdiZiIKKworQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NCA9ICJhcm0iCitBUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY1ID0gImFybSIKKworREVGQVVMVF9QUkVGRVJFTkNFID0gIi0xIgorCitERVBFTkRTID0gInB5dGhvbi1udW1weSBsaWJ0b29sIHN3aWcgc3dpZy1uYXRpdmUgcHl0aG9uIGJ6aXAyIHpsaWIgZ2xpYi0yLjAgbGlid2VicCBsaWJncGhvdG8yIHByb3RvYnVmIHByb3RvYnVmLW5hdGl2ZSIKKworU1JDUkVWX29wZW5jdiA9ICI5MjM4N2IxZWY4ZmFkMTUxOTZkZDVmN2ZiNDkzMTQ0NGE2OGJjOTNhIgorU1JDUkVWX2NvbnRyaWIgPSAiNTQwOWQ1YWQ1NjA1MjNjODVjNjc5NmNjNWEwMDkzNDcwNzJkODgzYyIKK1NSQ1JFVl9wYXJ0eTMgPSAiODFhNjc2MDAxY2E4MDc1YWRhNDk4NTgzZTQxNjYwNzllNTc0NDY2OCIKK0lQUF9NRDUgPSAiODA4Yjc5MWE2ZWFjOWVkNzhkMzJhNzY2NjgwNDMyMGUiCisKK1NSQ1JFVl9GT1JNQVQgPSAib3BlbmN2IgorU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL0l0c2Vlei9vcGVuY3YuZ2l0O25hbWU9b3BlbmN2IFwKKyAgICAgICAgICAgIGdpdDovL2dpdGh1Yi5jb20vSXRzZWV6L29wZW5jdl9jb250cmliLmdpdDtkZXN0c3VmZml4PWNvbnRyaWI7bmFtZT1jb250cmliIFwKKyAgICAgICAgICAgIGdpdDovL2dpdGh1Yi5jb20vSXRzZWV6L29wZW5jdl8zcmRwYXJ0eS5naXQ7YnJhbmNoPWlwcGljdi9tYXN0ZXJfMjAxNTEyMDE7ZGVzdHN1ZmZpeD1wYXJ0eTM7bmFtZT1wYXJ0eTMgXAorICAgICAgICAgICAgZmlsZTovLzAwMDEtM3JkcGFydHktaXBwaWN2LVVzZS1wcmUtZG93bmxvYWRlZC1pcHAucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovL2ZpeHBrZ2NvbmZpZy5wYXRjaCIKKworUFYgPSAiMy4xK2dpdCR7U1JDUFZ9IgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitkb191bnBhY2tfZXh0cmEoKSB7CisgICAgdGFyIHh6ZiAke1dPUktESVJ9L3BhcnR5My9pcHBpY3YvaXBwaWN2X2xpbnV4XzIwMTUxMjAxLnRneiAtQyAke1dPUktESVJ9Cit9CithZGR0YXNrIHVucGFja19leHRyYSBhZnRlciBkb191bnBhY2sgYmVmb3JlIGRvX3BhdGNoCisKK0VYVFJBX09FQ01BS0UgPSAiLURQWVRIT04yX05VTVBZX0lOQ0xVREVfRElSUzpQQVRIPSR7U1RBR0lOR19MSUJESVJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy9udW1weS9jb3JlL2luY2x1ZGUgXAorCQkgLURPUEVOQ1ZfRVhUUkFfTU9EVUxFU19QQVRIPSR7V09SS0RJUn0vY29udHJpYi9tb2R1bGVzIFwKKyAgICAgICAgICAgICAgICAgLURXSVRIXzEzOTQ9T0ZGIFwKKyAgICAgICAgICAgICAgICAgLURDTUFLRV9TS0lQX1JQQVRIPU9OIFwKKyAgICAgICAgICAgICAgICAgLURPUEVOQ1ZfSUNWX1BBQ0tBR0VfRE9XTkxPQURFRD0ke0lQUF9NRDV9IFwKKyAgICAgICAgICAgICAgICAgLURPUEVOQ1ZfSUNWX1BBVEg9JHtXT1JLRElSfS9pcHBpY3ZfbG54IFwKKyAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIlRBUkdFVF9DQ19BUkNIIiwgIi1tc3NlMyIsICItREVOQUJMRV9TU0U9MSAtREVOQUJMRV9TU0UyPTEgLURFTkFCTEVfU1NFMz0xIC1ERU5BQkxFX1NTU0UzPTEiLCAiIiwgZCl9IFwKKyAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIlRBUkdFVF9DQ19BUkNIIiwgIi1tc3NlNC4xIiwgIi1ERU5BQkxFX1NTRT0xIC1ERU5BQkxFX1NTRTI9MSAtREVOQUJMRV9TU0UzPTEgLURFTkFCTEVfU1NTRTM9MSAtREVOQUJMRV9TU0U0MT0xIiwgIiIsIGQpfSBcCisgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJUQVJHRVRfQ0NfQVJDSCIsICItbXNzZTQuMiIsICItREVOQUJMRV9TU0U9MSAtREVOQUJMRV9TU0UyPTEgLURFTkFCTEVfU1NFMz0xIC1ERU5BQkxFX1NTU0UzPTEgLURFTkFCTEVfU1NFNDE9MSAtREVOQUJMRV9TU0U0Mj0xIiwgIiIsIGQpfSBcCisgICAgICAgICAgICAgICAgICR7QGJhc2VfY29uZGl0aW9uYWwoImxpYmRpciIsICIvdXNyL2xpYjY0IiwgIi1ETElCX1NVRkZJWD02NCIsICIiLCBkKX0gXAorICAgICAgICAgICAgICAgICAke0BiYXNlX2NvbmRpdGlvbmFsKCJsaWJkaXIiLCAiL3Vzci9saWIzMiIsICItRExJQl9TVUZGSVg9MzIiLCAiIiwgZCl9IFwKKyIKK0VYVFJBX09FQ01BS0VfYXBwZW5kX3g4NiA9ICIgLURYODY9T04iCisKK1BBQ0tBR0VDT05GSUcgPz89ICJlaWdlbiBqcGVnIHBuZyB0aWZmIHY0bCBsaWJ2NGwgZ3N0cmVhbWVyIHNhbXBsZXMgdGJiIFwKKyAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygiRElTVFJPX0ZFQVRVUkVTIiwgIngxMSIsICJndGsiLCAiIiwgZCl9IFwKKwkJICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkxJQ0VOU0VfRkxBR1NfV0hJVEVMSVNUIiwgImNvbW1lcmNpYWwiLCAibGliYXYiLCAiIiwgZCl9IgorCitQQUNLQUdFQ09ORklHW2FtZGJsYXNdID0gIi1EV0lUSF9PUEVOQ0xBTURCTEFTPU9OLC1EV0lUSF9PUEVOQ0xBTURCTEFTPU9GRixsaWJjbGFtZGJsYXMsIgorUEFDS0FHRUNPTkZJR1thbWRmZnRdID0gIi1EV0lUSF9PUEVOQ0xBTURGRlQ9T04sLURXSVRIX09QRU5DTEFNREZGVD1PRkYsbGliY2xhbWRmZnQsIgorUEFDS0FHRUNPTkZJR1tlaWdlbl0gPSAiLURXSVRIX0VJR0VOPU9OLC1EV0lUSF9FSUdFTj1PRkYsbGliZWlnZW4sIgorUEFDS0FHRUNPTkZJR1tnc3RyZWFtZXJdID0gIi1EV0lUSF9HU1RSRUFNRVI9T04sLURXSVRIX0dTVFJFQU1FUj1PRkYsZ3N0cmVhbWVyMS4wIGdzdHJlYW1lcjEuMC1wbHVnaW5zLWJhc2UsIgorUEFDS0FHRUNPTkZJR1tndGtdID0gIi1EV0lUSF9HVEs9T04sLURXSVRIX0dUSz1PRkYsZ3RrKzMsIgorUEFDS0FHRUNPTkZJR1tqYXNwZXJdID0gIi1EV0lUSF9KQVNQRVI9T04sLURXSVRIX0pBU1BFUj1PRkYsamFzcGVyLCIKK1BBQ0tBR0VDT05GSUdbanBlZ10gPSAiLURXSVRIX0pQRUc9T04sLURXSVRIX0pQRUc9T0ZGLGpwZWcsIgorUEFDS0FHRUNPTkZJR1tsaWJhdl0gPSAiLURXSVRIX0ZGTVBFRz1PTiwtRFdJVEhfRkZNUEVHPU9GRixsaWJhdiwiCitQQUNLQUdFQ09ORklHW2xpYnY0bF0gPSAiLURXSVRIX0xJQlY0TD1PTiwtRFdJVEhfTElCVjRMPU9GRix2NGwtdXRpbHMsIgorUEFDS0FHRUNPTkZJR1tvcGVuY2xdID0gIi1EV0lUSF9PUEVOQ0w9T04sLURXSVRIX09QRU5DTD1PRkYsb3BlbmNsLWhlYWRlcnMsIgorUEFDS0FHRUNPTkZJR1tvcmFjbGUtamF2YV0gPSAiLURKQVZBX0lOQ0xVREVfUEFUSD0ke0pBVkFfSE9NRX0vaW5jbHVkZSAtREpBVkFfSU5DTFVERV9QQVRIMj0ke0pBVkFfSE9NRX0vaW5jbHVkZS9saW51eCAtREpBVkFfQVdUX0lOQ0xVREVfUEFUSD0ke0pBVkFfSE9NRX0vaW5jbHVkZSAtREpBVkFfQVdUX0xJQlJBUlk9JHtKQVZBX0hPTUV9L2xpYi9hbWQ2NC9saWJqYXd0LnNvIC1ESkFWQV9KVk1fTElCUkFSWT0ke0pBVkFfSE9NRX0vbGliL2FtZDY0L3NlcnZlci9saWJqdm0uc28sLGFudC1uYXRpdmUgb3JhY2xlLWpzZS1qZGsgb3JhY2xlLWpzZS1qZGstbmF0aXZlLCIKK1BBQ0tBR0VDT05GSUdbcG5nXSA9ICItRFdJVEhfUE5HPU9OLC1EV0lUSF9QTkc9T0ZGLGxpYnBuZywiCitQQUNLQUdFQ09ORklHW3NhbXBsZXNdID0gIi1EQlVJTERfRVhBTVBMRVM9T04gLURJTlNUQUxMX1BZVEhPTl9FWEFNUExFUz1PTiwtREJVSUxEX0VYQU1QTEVTPU9GRiwsIgorUEFDS0FHRUNPTkZJR1t0YmJdID0gIi1EV0lUSF9UQkI9T04sLURXSVRIX1RCQj1PRkYsdGJiLCIKK1BBQ0tBR0VDT05GSUdbdGlmZl0gPSAiLURXSVRIX1RJRkY9T04sLURXSVRIX1RJRkY9T0ZGLHRpZmYsIgorUEFDS0FHRUNPTkZJR1t2NGxdID0gIi1EV0lUSF9WNEw9T04sLURXSVRIX1Y0TD1PRkYsdjRsLXV0aWxzLCIKKworaW5oZXJpdCBkaXN0dXRpbHMtYmFzZSBwa2djb25maWcgY21ha2UKKworZXhwb3J0IEJVSUxEX1NZUworZXhwb3J0IEhPU1RfU1lTCitleHBvcnQgUFlUSE9OX0NTUEVDPSItSSR7U1RBR0lOR19JTkNESVJ9LyR7UFlUSE9OX0RJUn0iCitleHBvcnQgUFlUSE9OPSIke1NUQUdJTkdfQklORElSX05BVElWRX0vcHl0aG9uIgorZXhwb3J0IEpBVkFfSE9NRT0iJHtTVEFHSU5HX0RJUl9OQVRJVkV9L3Vzci9iaW4vamF2YSIKK2V4cG9ydCBBTlRfRElSPSIke1NUQUdJTkdfRElSX05BVElWRX0vdXNyL3NoYXJlL2FudC8iCisKK1RBUkdFVF9DQ19BUkNIICs9ICItSSR7U30vaW5jbHVkZSAiCisKK1BBQ0tBR0VTICs9ICIke1BOfS1zYW1wbGVzLWRiZyAke1BOfS1zYW1wbGVzICR7UE59LWFwcHMgcHl0aG9uLW9wZW5jdiBcCisgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnb3JhY2xlLWphdmEnLCAnJHtQTn0tamF2YS1kYmcgJHtQTn0tamF2YScsICcnLCBkKX0iCisKK3B5dGhvbiBwb3B1bGF0ZV9wYWNrYWdlc19wcmVwZW5kICgpIHsKKyAgICBjdl9saWJkaXIgPSBkLmV4cGFuZCgnJHtsaWJkaXJ9JykKKyAgICBjdl9saWJkaXJfZGJnID0gZC5leHBhbmQoJyR7bGliZGlyfS8uZGVidWcnKQorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGN2X2xpYmRpciwgJ15saWIoLiopXC5zbyQnLCAnbGliJXMtZGV2JywgJ09wZW5DViAlcyBkZXZlbG9wbWVudCBwYWNrYWdlJywgZXh0cmFfZGVwZW5kcz0nJHtQTn0tZGV2JywgYWxsb3dfbGlua3M9VHJ1ZSkKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBjdl9saWJkaXIsICdebGliKC4qKVwubGEkJywgJ2xpYiVzLWRldicsICdPcGVuQ1YgJXMgZGV2ZWxvcG1lbnQgcGFja2FnZScsIGV4dHJhX2RlcGVuZHM9JyR7UE59LWRldicpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgY3ZfbGliZGlyLCAnXmxpYiguKilcLmEkJywgJ2xpYiVzLWRldicsICdPcGVuQ1YgJXMgZGV2ZWxvcG1lbnQgcGFja2FnZScsIGV4dHJhX2RlcGVuZHM9JyR7UE59LWRldicpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgY3ZfbGliZGlyLCAnXmxpYiguKilcLnNvXC4qJywgJ2xpYiVzJywgJ09wZW5DViAlcyBsaWJyYXJ5JywgZXh0cmFfZGVwZW5kcz0nJywgYWxsb3dfbGlua3M9VHJ1ZSkKKworICAgIHBuID0gZC5nZXRWYXIoJ1BOJywgMSkKKyAgICBtZXRhcGtnID0gIHBuICsgJy1kZXYnCisgICAgZC5zZXRWYXIoJ0FMTE9XX0VNUFRZXycgKyBtZXRhcGtnLCAiMSIpCisgICAgYmxhY2tsaXN0ID0gWyBtZXRhcGtnIF0KKyAgICBtZXRhcGtnX3JkZXBlbmRzID0gWyBdCisgICAgcGFja2FnZXMgPSBkLmdldFZhcignUEFDS0FHRVMnLCAxKS5zcGxpdCgpCisgICAgZm9yIHBrZyBpbiBwYWNrYWdlc1sxOl06CisgICAgICAgIGlmIG5vdCBwa2cgaW4gYmxhY2tsaXN0IGFuZCBub3QgcGtnIGluIG1ldGFwa2dfcmRlcGVuZHMgYW5kIHBrZy5lbmRzd2l0aCgnLWRldicpOgorICAgICAgICAgICAgbWV0YXBrZ19yZGVwZW5kcy5hcHBlbmQocGtnKQorICAgIGQuc2V0VmFyKCdSUkVDT01NRU5EU18nICsgbWV0YXBrZywgJyAnLmpvaW4obWV0YXBrZ19yZGVwZW5kcykpCisKKyAgICBtZXRhcGtnID0gIHBuCisgICAgYmxhY2tsaXN0ID0gWyBtZXRhcGtnIF0KKyAgICBtZXRhcGtnX3JkZXBlbmRzID0gWyBdCisgICAgZm9yIHBrZyBpbiBwYWNrYWdlc1sxOl06CisgICAgICAgIGlmIG5vdCBwa2cgaW4gYmxhY2tsaXN0IGFuZCBub3QgcGtnIGluIG1ldGFwa2dfcmRlcGVuZHMgYW5kIG5vdCBwa2cuZW5kc3dpdGgoJy1kZXYnKSBhbmQgbm90IHBrZy5lbmRzd2l0aCgnLWRiZycpIGFuZCBub3QgcGtnLmVuZHN3aXRoKCctZG9jJykgYW5kIG5vdCBwa2cuZW5kc3dpdGgoJy1sb2NhbGUnKToKKyAgICAgICAgICAgIG1ldGFwa2dfcmRlcGVuZHMuYXBwZW5kKHBrZykKKyAgICBiYi5kYXRhLnNldFZhcignUkRFUEVORFNfJyArIG1ldGFwa2csICcgJy5qb2luKG1ldGFwa2dfcmRlcGVuZHMpLCBkKQorCit9CisKK1BBQ0tBR0VTX0RZTkFNSUMgKz0gIl5saWJvcGVuY3YtLioiCisKK0ZJTEVTXyR7UE59ID0gIiIKK0ZJTEVTXyR7UE59LWFwcHMgPSAiJHtiaW5kaXJ9LyogJHtkYXRhZGlyfS9PcGVuQ1YiCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS8uZGVidWciCitGSUxFU18ke1BOfS1kZXYgPSAiJHtpbmNsdWRlZGlyfSAke2xpYmRpcn0vcGtnY29uZmlnIgorRklMRVNfJHtQTn0tZG9jID0gIiR7ZGF0YWRpcn0vT3BlbkNWL2RvYyIKK0ZJTEVTXyR7UE59LWphdmEgPSAiJHtkYXRhZGlyfS9PcGVuQ1YvamF2YSIKK0ZJTEVTXyR7UE59LWphdmEtZGJnID0gIiR7ZGF0YWRpcn0vT3BlbkNWL2phdmEvLmRlYnVnLyIKK0ZJTEVTXyR7UE59LXNhbXBsZXMgPSAiJHtkYXRhZGlyfS9PcGVuQ1Yvc2FtcGxlcy8iCitGSUxFU18ke1BOfS1zYW1wbGVzLWRiZyA9ICIke2RhdGFkaXJ9L09wZW5DVi9zYW1wbGVzL2Jpbi8uZGVidWciCisKK0lOU0FORV9TS0lQXyR7UE59LWFwcHMgPSAic3RhdGljZGV2IgorSU5TQU5FX1NLSVBfJHtQTn0tamF2YSA9ICJsaWJkaXIiCitJTlNBTkVfU0tJUF8ke1BOfS1qYXZhLWRiZyA9ICJsaWJkaXIiCisKK0FMTE9XX0VNUFRZXyR7UE59ID0gIjEiCisKK1NVTU1BUllfcHl0aG9uLW9wZW5jdiA9ICJQeXRob24gYmluZGluZ3MgdG8gb3BlbmN2IgorRklMRVNfcHl0aG9uLW9wZW5jdiA9ICIke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS8qIgorUkRFUEVORFNfcHl0aG9uLW9wZW5jdiA9ICJweXRob24tY29yZSBweXRob24tbnVtcHkiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGNwICR7U30vaW5jbHVkZS9vcGVuY3YvKi5oICR7RH0ke2luY2x1ZGVkaXJ9L29wZW5jdi8KKyAgICBzZWQgLWkgJy9ibG9idHJhY2svZCcgJHtEfSR7aW5jbHVkZWRpcn0vb3BlbmN2L2N2YXV4LmgKKworICAgICMgTW92ZSBQeXRob24gZmlsZXMgaW50byBjb3JyZWN0IGxpYnJhcnkgZm9sZGVyIChmb3IgbXVsdGlsaWIgYnVpbGQpCisgICAgaWYgWyAiJGxpYmRpciIgIT0gIi91c3IvbGliIiBdOyB0aGVuCisgICAgICAgIG12ICR7RH0vdXNyL2xpYi8qICR7RH0vJHtsaWJkaXJ9LworICAgICAgICBybSAtcmYgJHtEfS91c3IvbGliCisgICAgZmkKKworICAgIGluc3RhbGwgLWQgJHtEfSR7ZGF0YWRpcn0vT3BlbkNWL3NhbXBsZXMvYmluLworICAgIGNwIC1mIGJpbi8qLXR1dG9yaWFsLSogYmluLyotZXhhbXBsZS0qICR7RH0ke2RhdGFkaXJ9L09wZW5DVi9zYW1wbGVzL2Jpbi8KK30KKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVubGRhcC9vcGVubGRhcC9pbml0c2NyaXB0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVubGRhcC9vcGVubGRhcC9pbml0c2NyaXB0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA4ZDEwNjcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5sZGFwL29wZW5sZGFwL2luaXRzY3JpcHQKQEAgLTAsMCArMSwzNSBAQAorIyEgL2Jpbi9zaAorIworIyBUaGlzIGlzIGFuIGluaXQgc2NyaXB0IGZvciBvcGVuZW1iZWRkZWQKKyMgQ29weSBpdCB0byAvZXRjL2luaXQuZC9vcGVubGRhcCBhbmQgdHlwZQorIyA+IHVwZGF0ZS1yYy5kIG9wZW5sZGFwIGRlZmF1bHRzIDYwCisjCisKKyMgU291cmNlIGZ1bmN0aW9uIGxpYnJhcnkuCisuIC9ldGMvaW5pdC5kL2Z1bmN0aW9ucworCitzbGFwZD0vdXNyL3NiaW4vc2xhcGQKK3Rlc3QgLXggIiRzbGFwZCIgfHwgZXhpdCAwCisKKworY2FzZSAiJDEiIGluCisgIHN0YXJ0KQorICAgIGVjaG8gLW4gIlN0YXJ0aW5nIE9wZW5MREFQOiAiCisgICAgc3RhcnQtc3RvcC1kYWVtb24gLS1zdGFydCAtLXF1aWV0IC0tZXhlYyAkc2xhcGQKKyAgICBlY2hvICIuIgorICAgIDs7CisgIHN0b3ApCisgICAgZWNobyAtbiAiU3RvcHBpbmcgT3BlbkxEQVA6ICIKKyAgICBzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLS1xdWlldCAtLXBpZGZpbGUgL3Zhci9ydW4vc2xhcGQucGlkCisgICAgZWNobyAiLiIKKyAgICA7OworICBzdGF0dXMpCisgICAgc3RhdHVzICRzbGFwZDsKKyAgICBleGl0ICQ/CisgICAgOzsKKyAgKikKKyAgICBlY2hvICJVc2FnZTogL2V0Yy9pbml0LmQvb3BlbmxkYXAge3N0YXJ0fHN0b3B8c3RhdHVzfSIKKyAgICBleGl0IDEKK2VzYWMKKworZXhpdCAwCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5sZGFwL29wZW5sZGFwL2luc3RhbGwtc3RyaXAucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5sZGFwL29wZW5sZGFwL2luc3RhbGwtc3RyaXAucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjk5MmI3MAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmxkYXAvb3BlbmxkYXAvaW5zdGFsbC1zdHJpcC5wYXRjaApAQCAtMCwwICsxLDE0IEBACisjIFRoaXMgcGF0Y2ggZW5zdXJlcyB0aGF0IHRoZSBpbnN0YWxsIG9wZXJhdGlvbnMgd2hpY2ggc3RyaXAKKyMgcHJvZ3JhbXMgYW5kIGxpYnJhcmllcyAoTFRJTlNUQUxMKSB3b3JrIGluIGEgY3Jvc3MgYnVpbGQKKyMgZW52aXJvbm1lbnQuCistLS0gb3BlbmxkYXAtMi4yLjI0Ly5wYy9pbnN0YWxsLXN0cmlwLnBhdGNoL2J1aWxkL3RvcC5tawkyMDA1LTAxLTIwIDA5OjAwOjU1LjAwMDAwMDAwMCAtMDgwMAorKysrIG9wZW5sZGFwLTIuMi4yNC9idWlsZC90b3AubWsJMjAwNS0wNC0xNiAxMzo0ODoyMC41MzY3MTAzNzYgLTA3MDAKK0BAIC0xMTYsNyArMTE2LDcgQEAKKyBMVExJTktfTU9EID0gJChMSUJUT09MKSAkKExUT05MWV9NT0QpIC0tbW9kZT1saW5rIFwKKyAJJChDQykgJChMVF9DRkxBR1MpICQoTERGTEFHUykgJChMVEZMQUdTX01PRCkKKyAKKy1MVElOU1RBTEwgPSAkKExJQlRPT0wpIC0tbW9kZT1pbnN0YWxsICQoSU5TVEFMTCkgCisrTFRJTlNUQUxMID0gU1RSSVBQUk9HPSIiICQoTElCVE9PTCkgLS1tb2RlPWluc3RhbGwgJCh0b3Bfc3JjZGlyKS9jb250cmliL2xkYXBjKysvaW5zdGFsbC1zaCAtYworIExURklOSVNIID0gJChMSUJUT09MKSAtLW1vZGU9ZmluaXNoCisgCisgIyBNaXNjIFVOSVggY29tbWFuZHMgdXNlZCBpbiBidWlsZCBlbnZpcm9ubWVudApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVubGRhcC9vcGVubGRhcC9raWxsLWljdS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmxkYXAvb3BlbmxkYXAva2lsbC1pY3UucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGNmNTQxMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmxkYXAvb3BlbmxkYXAva2lsbC1pY3UucGF0Y2gKQEAgLTAsMCArMSwzMCBAQAorRnJvbTogTWFyY2luIEp1c3praWV3aWN6IDxtYXJjaW4uanVzemtpZXdpY3pAbGluYXJvLm9yZz4KKworc2xhcGQgZGVwZW5kcyBvbiBJQ1UgaWYgaXQgd2FzIGJ1aWx0IGZpcnN0LgorCitVcHN0cmVhbS1zdGF0dXM6IGluYXBwcm9waWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCistLS0KKyBjb25maWd1cmUuaW4gfCAgICA4IC0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDggZGVsZXRpb25zKC0pCisKKy0tLSBvcGVubGRhcC0yLjQuMjMub3JpZy9jb25maWd1cmUuaW4KKysrKyBvcGVubGRhcC0yLjQuMjMvY29uZmlndXJlLmluCitAQCAtMjA0NSwxOCArMjA0NSwxMCBAQCBpZiB0ZXN0ICRvbF9lbmFibGVfbmRiICE9IG5vIDsgdGhlbgorIAkJU0xBUERfTElCUz0iJFNMQVBEX0xJQlMgXCQoU0xBUERfTkRCX0xJQlMpIgorIAlmaQorIGZpCisgCisgZG5sIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy1kbmwgSW50ZXJuYXRpb25hbCBDb21wb25lbnRzIGZvciBVbmljb2RlCistT0xfSUNVCistaWYgdGVzdCAiJG9sX2ljdSIgPSBubyA7IHRoZW4KKy0JQUNfTVNHX1dBUk4oW0lDVSBub3QgYXZhaWxhYmxlXSkKKy1lbHNlCistCUlDVV9MSUJTPSIkb2xfaWN1IgorLWZpCistZG5sIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBkbmwKKyBkbmwgQ2hlY2sgZm9yIEN5cnVzIFNBU0wKKyBkbmwKKyBXSVRIX1NBU0w9bm8KKyBvbF9saW5rX3Nhc2w9bm8KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmxkYXAvb3BlbmxkYXAvb3BlbmxkYXAtMi40LjI4LWdudXRscy1nY3J5cHQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5sZGFwL29wZW5sZGFwL29wZW5sZGFwLTIuNC4yOC1nbnV0bHMtZ2NyeXB0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM3YjE1NTIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5sZGFwL29wZW5sZGFwL29wZW5sZGFwLTIuNC4yOC1nbnV0bHMtZ2NyeXB0LnBhdGNoCkBAIC0wLDAgKzEsMTcgQEAKK0Zyb20gaHR0cDovL3NvdXJjZXMuZ2VudG9vLm9yZy9jZ2ktYmluL3ZpZXd2Yy5jZ2kvZ2VudG9vLXg4Ni9uZXQtbmRzL29wZW5sZGFwL2ZpbGVzLworCitVcHN0cmVhbS1zdGF0dXM6IFVua25vd24KKworLS0KKworLS0tIG9wZW5sZGFwLTIuNC4yOC9jb25maWd1cmUuaW4ub3JpZwkyMDEyLTAyLTExIDIyOjQwOjM2LjAwNDM2MDc5NSArMDAwMAorKysrIG9wZW5sZGFwLTIuNC4yOC9jb25maWd1cmUuaW4JMjAxMi0wMi0xMSAyMjo0MDoxMy40MTA5ODY4NTEgKzAwMDAKK0BAIC0xMjE0LDcgKzEyMTQsNyBAQAorIAkJCQlvbF93aXRoX3Rscz1nbnV0bHMKKyAJCQkJb2xfbGlua190bHM9eWVzCisgCistCQkJCVRMU19MSUJTPSItbGdudXRscyIKKysJCQkJVExTX0xJQlM9Ii1sZ251dGxzIC1sZ2NyeXB0IgorIAorIAkJCQlBQ19ERUZJTkUoSEFWRV9HTlVUTFMsIDEsIAorIAkJCQkJW2RlZmluZSBpZiB5b3UgaGF2ZSBHTlV0bHNdKQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVubGRhcC9vcGVubGRhcC9vcGVubGRhcC1tNC1wdGhyZWFkLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVubGRhcC9vcGVubGRhcC9vcGVubGRhcC1tNC1wdGhyZWFkLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI2NjliNzIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5sZGFwL29wZW5sZGFwL29wZW5sZGFwLW00LXB0aHJlYWQucGF0Y2gKQEAgLTAsMCArMSwyMCBAQAorLS0tIG9wZW5sZGFwLTIuMy4xMS9idWlsZC9vcGVubGRhcC5tNC5vcmlnCTIwMDUtMTEtMTEgMDA6MTE6MTguNjA0MzIyNTkwIC0wODAwCisrKysgb3BlbmxkYXAtMi4zLjExL2J1aWxkL29wZW5sZGFwLm00CTIwMDUtMTEtMTEgMDA6MjY6MjEuNjIxMTQ1ODU2IC0wODAwCitAQCAtNzg4LDcgKzc4OCw3IEBAIEFDX0RFRlVOKFtPTF9QVEhSRUFEX1RFU1RfRlVOQ1RJT05dLFtbCisgXV0pCisgCisgQUNfREVGVU4oW09MX1BUSFJFQURfVEVTVF9QUk9HUkFNXSwKKy1BQ19MQU5HX1NPVVJDRShbT0xfUFRIUkVBRF9URVNUX0lOQ0xVREVTCisrW0FDX0xBTkdfU09VUkNFKFtbT0xfUFRIUkVBRF9URVNUX0lOQ0xVREVTCisgCisgaW50IG1haW4oYXJnYywgYXJndikKKyAJaW50IGFyZ2M7CitAQCAtNzk2LDcgKzc5Niw3IEBAIGludCBtYWluKGFyZ2MsIGFyZ3YpCisgeworIE9MX1BUSFJFQURfVEVTVF9GVU5DVElPTgorIH0KKy1dKSkKKytdXSldKQorIGRubCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIEFDX0RFRlVOKFtPTF9QVEhSRUFEX1RSWV0sIFsjIFB0aHJlYWQgdHJ5IGxpbms6ICQxICgkMikKKyBpZiB0ZXN0ICIkb2xfbGlua190aHJlYWRzIiA9IG5vIDsgdGhlbgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVubGRhcC9vcGVubGRhcC9zbGFwZC5zZXJ2aWNlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVubGRhcC9vcGVubGRhcC9zbGFwZC5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY1ZjgzZmQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5sZGFwL29wZW5sZGFwL3NsYXBkLnNlcnZpY2UKQEAgLTAsMCArMSwxMCBAQAorW1VuaXRdCitEZXNjcmlwdGlvbj1TdGFuZGFsb25lIExEQVAgRGFlbW9uCitBZnRlcj1zeXNsb2cudGFyZ2V0IG5ldHdvcmsudGFyZ2V0CisKK1tTZXJ2aWNlXQorVHlwZT1mb3JraW5nCitFeGVjU3RhcnQ9QFNCSU5ESVJAL3NsYXBkCisKK1tJbnN0YWxsXQorV2FudGVkQnk9bXVsdGktdXNlci50YXJnZXQKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmxkYXAvb3BlbmxkYXAvdGhyZWFkX3N0dWIucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5sZGFwL29wZW5sZGFwL3RocmVhZF9zdHViLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU0MGJhNGEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5sZGFwL29wZW5sZGFwL3RocmVhZF9zdHViLnBhdGNoCkBAIC0wLDAgKzEsMjAgQEAKK29wZW5sZGFwOiBzZXQgcG9pbnRlcgorCitXaGVuIHRoZSBmdW5jdGlvbiBsZGFwX3B2dF90aHJlYWRfcG9vbF9nZXRrZXkoKSBzdWNjZWVkcywgaXQKK211c3Qgc2V0IHRoZSB2YWx1ZSBvZiAqZGF0YSBzaW5jZSB0aGUgY2FsbGVyIG1heSB0cnkgdG8gdXNlIGl0LgorCitVcHN0cmVhbS1TdGF0dXM6IHBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogSm9lIFNsYXRlciA8anNsYXRlckB3aW5kcml2ZXIuY29tPgorCisKKy0tLSBhL2xpYnJhcmllcy9saWJsZGFwX3IvdGhyX3N0dWIuYworKysrIGIvbGlicmFyaWVzL2xpYmxkYXBfci90aHJfc3R1Yi5jCitAQCAtMjE3LDYgKzIxNyw3IEBAIGxkYXBfcHZ0X3RocmVhZF9wb29sX3VuaWRsZSAoIGxkYXBfcHZ0X3QKKyBpbnQgbGRhcF9wdnRfdGhyZWFkX3Bvb2xfZ2V0a2V5ICgKKyAJdm9pZCAqY3R4LCB2b2lkICprZXksIHZvaWQgKipkYXRhLCBsZGFwX3B2dF90aHJlYWRfcG9vbF9rZXlmcmVlX3QgKiprZnJlZSApCisgeworKwlpZiAoZGF0YSkgKmRhdGEgPSBOVUxMOyAgLyogYXZvaWQgcHJvYmxlbXMgd2l0aCB1bmluaXRpYWxpemVkICpkYXRhICovCisgCXJldHVybigwKTsKKyB9CisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5sZGFwL29wZW5sZGFwL3VzZS11cmFuZG9tLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVubGRhcC9vcGVubGRhcC91c2UtdXJhbmRvbS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lN2I5ODhmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVubGRhcC9vcGVubGRhcC91c2UtdXJhbmRvbS5wYXRjaApAQCAtMCwwICsxLDM4IEBACitvcGVubGRhcDogYXNzdW1lIC9kZXYvdXJhbmRvbSBleGlzdHMKKworV2hlbiB3ZSBhcmUgY3Jvc3MtY29tcGlsaW5nLCB3ZSB3YW50IHRvIGFzc3VtZQordGhhdCAvZGV2L3VyYW5kb20gZXhpc3RzLiAgV2UgY291bGQgY2hhbmdlIHRoZSBzb3VyY2UKK2NvZGUgdG8gbG9vayBmb3IgaXQsIGJ1dCB0aGlzIGlzIHRoZSBlYXN5IHdheSBvdXQuCisKK1Vwc3RyZWFtLVN0YXR1czogcGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBKb2UgU2xhdGVyIDxqc2xhdGVyQHdpbmRyaXZlci5jb20+CisKKworLS0tIGEvY29uZmlndXJlLmluCisrKysgYi9jb25maWd1cmUuaW4KK0BAIC0yMTQyLDggKzIxNDIsOCBAQCBmaQorIAorIGRubCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgZG5sIENoZWNrIGZvciBlbnRyb3B5IHNvdXJjZXMKKytkZXY9bm8KKyBpZiB0ZXN0ICRjcm9zc19jb21waWxpbmcgIT0geWVzICYmIHRlc3QgIiRhY19jdl9taW5ndzMyIiAhPSB5ZXMgOyB0aGVuCistCWRldj1ubworIAlpZiB0ZXN0IC1yIC9kZXYvdXJhbmRvbSA7IHRoZW4KKyAJCWRldj0iL2Rldi91cmFuZG9tIjsKKyAJZWxpZiB0ZXN0IC1yIC9pZGV2L3VyYW5kb20gOyB0aGVuCitAQCAtMjE1Niw5ICsyMTU2LDExIEBAIGlmIHRlc3QgJGNyb3NzX2NvbXBpbGluZyAhPSB5ZXMgJiYgdGVzdCAKKyAJCWRldj0iL2lkZXYvcmFuZG9tIjsKKyAJZmkKKyAKKy0JaWYgdGVzdCAkZGV2ICE9IG5vIDsgdGhlbgorLQkJQUNfREVGSU5FX1VOUVVPVEVEKFVSQU5ET01fREVWSUNFLCIkZGV2Iixbc2V0IHRvIHVyYW5kb20gZGV2aWNlXSkKKy0JZmkKKytlbGlmIHRlc3QgJGNyb3NzX2NvbXBpbGluZyA9PSB5ZXMgOyB0aGVuCisrCWRldj0iL2Rldi91cmFuZG9tIjsKKytmaQorK2lmIHRlc3QgJGRldiAhPSBubyA7IHRoZW4KKysJQUNfREVGSU5FX1VOUVVPVEVEKFVSQU5ET01fREVWSUNFLCIkZGV2Iixbc2V0IHRvIHVyYW5kb20gZGV2aWNlXSkKKyBmaQorIAorIGRubCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5sZGFwL29wZW5sZGFwXzIuNC40My5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmxkYXAvb3BlbmxkYXBfMi40LjQzLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg2MTgzNjUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5sZGFwL29wZW5sZGFwXzIuNC40My5iYgpAQCAtMCwwICsxLDI1NCBAQAorIyBPcGVuTERBUCwgYSBsaWNlbnNlIGZyZWUgKHNlZSBodHRwOi8vd3d3Lk9wZW5MREFQLm9yZy9saWNlbnNlLmh0bWwpCisjCitTVU1NQVJZID0gIk9wZW5MREFQIERpcmVjdG9yeSBTZXJ2aWNlIgorREVTQ1JJUFRJT04gPSAiT3BlbkxEQVAgU29mdHdhcmUgaXMgYW4gb3BlbiBzb3VyY2UgaW1wbGVtZW50YXRpb24gb2YgdGhlIExpZ2h0d2VpZ2h0IERpcmVjdG9yeSBBY2Nlc3MgUHJvdG9jb2wuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5PcGVuTERBUC5vcmcvbGljZW5zZS5odG1sIgorIyBUaGUgT3BlbkxEQVAgUHVibGljIExpY2Vuc2UgLSBzZWUgdGhlIEhPTUVQQUdFIC0gZGVmaW5lcworIyB0aGUgbGljZW5zZS4gIHd3dy5vcGVubGRhcC5vcmcgY2xhaW1zIHRoaXMgaXMgT3BlbiBTb3VyY2UKKyMgKHNlZSBodHRwOi8vd3d3Lm9wZW5sZGFwLm9yZyksIHRoZSBsaWNlbnNlIGFwcGVhcnMgdG8gYmUKKyMgYmFzaWNhbGx5IEJTRC4gIG9wZW5zb3VyY2Uub3JnIGRvZXMgbm90IHJlY29yZCB0aGlzIGxpY2Vuc2UKKyMgYXQgcHJlc2VudCAoc28gaXQgaXMgYXBwYXJlbnRseSBub3QgT1NJIGNlcnRpZmllZCkuCitMSUNFTlNFID0gIk9wZW5MREFQIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWVJJR0hUO21kNT05ZDg0NWEyNWFlZjk3ZGE3NTMxNDRmMWRhY2JmNjgwYyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9MSUNFTlNFO21kNT0xNTNkMDdlZjA1MmM0YTM3YThmYWMyM2JjNjAzMTk3MiBcCisiCitTRUNUSU9OID0gImxpYnMiCisKK0xEQVBfVkVSID0gIiR7QCcuJy5qb2luKGQuZ2V0VmFyKCdQVicsMSkuc3BsaXQoJy4nKVswOjJdKX0iCisKK1NSQ19VUkkgPSAiZnRwOi8vZnRwLm9wZW5sZGFwLm9yZy9wdWIvT3BlbkxEQVAvb3BlbmxkYXAtcmVsZWFzZS8ke0JQfS50Z3ogXAorICAgIGZpbGU6Ly9vcGVubGRhcC1tNC1wdGhyZWFkLnBhdGNoIFwKKyAgICBmaWxlOi8va2lsbC1pY3UucGF0Y2ggXAorICAgIGZpbGU6Ly9vcGVubGRhcC0yLjQuMjgtZ251dGxzLWdjcnlwdC5wYXRjaCBcCisgICAgZmlsZTovL3VzZS11cmFuZG9tLnBhdGNoIFwKKyAgICBmaWxlOi8vaW5pdHNjcmlwdCBcCisgICAgZmlsZTovL3NsYXBkLnNlcnZpY2UgXAorICAgIGZpbGU6Ly90aHJlYWRfc3R1Yi5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0OWNhNjVlMjc4OTFmY2Y5NzdkNzhjMTBmMDczYzcwNSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzNGQ3OGU1NTk4YTJiMDM2MGQyNmE5MDUwZmNkYmJlMTk4YzY1NDkzYjAxM2JiNjA3ODM5ZDU1OThiNjk3OGM4IgorCitERVBFTkRTID0gInV0aWwtbGludXggZ3JvZmYtbmF0aXZlIgorCisjIFRoZSBvcmlnaW5hbCB0b3AubWsgdXNlZCBJTlNUQUxMLCBub3QgSU5TVEFMTF9TVFJJUF9QUk9HUkFNIHdoZW4KKyMgaW5zdGFsbGluZyAuc28gYW5kIGV4ZWN1dGFibGVzLCB0aGlzIGZhaWxzIGluIGNyb3NzIGNvbXBpbGF0aW9uCisjIGVudmlyb25tZW50cworU1JDX1VSSSArPSAiZmlsZTovL2luc3RhbGwtc3RyaXAucGF0Y2giCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCB1cGRhdGUtcmMuZCBzeXN0ZW1kCisKKyMgQ1YgU0VUVElOR1MKKyMgUmVxdWlyZWQgdG8gd29yayByb3VuZCBBQ19GVU5DX01FTUNNUCB3aGljaCBnZXRzIHRoZSB3cm9uZyBhbnN3ZXIKKyMgd2hlbiBjcm9zcyBjb21waWxpbmcgKHNob3VsZCBiZSBpbiBzaXRlPykKK0VYVFJBX09FQ09ORiArPSAiYWNfY3ZfZnVuY19tZW1jbXBfd29ya2luZz15ZXMiCisKKyMgQ09ORklHIERFRklOSVRJT05TCisjIFRoZSBmb2xsb3dpbmcgaXMgbmVjZXNzYXJ5IGJlY2F1c2UgaXQgY2Fubm90IGJlIGRldGVybWluZWQgZm9yIGEKKyMgY3Jvc3MgY29tcGlsZSBhdXRvbWFnaWNhbGx5LiAgU2VsZWN0IHNob3VsZCB5aWVsZCBmaW5lIG9uIGFsbCBPRQorIyBzeXN0ZW1zLi4uCitFWFRSQV9PRUNPTkYgKz0gIi0td2l0aC15aWVsZGluZy1zZWxlY3Q9eWVzIgorIyBTaGFyZWQgbGlicmFyaWVzIGFyZSBuaWNlLi4uCitFWFRSQV9PRUNPTkYgKz0gIi0tZW5hYmxlLWR5bmFtaWMiCisKK1BBQ0tBR0VDT05GSUcgPz89ICJnbnV0bHMgbW9kdWxlcyBcCisgICAgICAgICAgICAgICAgICAgbGRhcCBtZXRhIG1vbml0b3IgbnVsbCBwYXNzd2Qgc2hlbGwgcHJveHljYWNoZSBkbnNzcnYgXAorICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnaXB2NicsICdpcHY2JywgJycsIGQpfSBcCisiCisjLS13aXRoLXRscyAgICAgICAgICAgICAgd2l0aCBUTFMvU1NMIHN1cHBvcnQgYXV0b3xvcGVuc3NsfGdudXRscyBbYXV0b10KK1BBQ0tBR0VDT05GSUdbZ251dGxzXSA9ICItLXdpdGgtdGxzPWdudXRscywsZ251dGxzIGxpYmdjcnlwdCIKK1BBQ0tBR0VDT05GSUdbb3BlbnNzbF0gPSAiLS13aXRoLXRscz1vcGVuc3NsLCxvcGVuc3NsIgorCitQQUNLQUdFQ09ORklHW3Nhc2xdID0gIi0td2l0aC1jeXJ1cy1zYXNsLC0td2l0aG91dC1jeXJ1cy1zYXNsLGN5cnVzLXNhc2wiCitQQUNLQUdFQ09ORklHW21vZHVsZXNdID0gImx0X2N2X2Rsb3Blbl9zZWxmPXllcyAtLWVuYWJsZS1tb2R1bGVzLC0tZGlzYWJsZS1tb2R1bGVzLGxpYnRvb2wiCitQQUNLQUdFQ09ORklHW2lwdjZdID0gIi0tZW5hYmxlLWlwdjYsLS1kaXNhYmxlLWlwdjYiCisKKyMgU0xBUEQgb3B0aW9ucworIworIyBVTklYIGNyeXB0KDMpIHBhc3N3ZCBzdXBwb3J0OgorRVhUUkFfT0VDT05GICs9ICItLWVuYWJsZS1jcnlwdCIKKworIyBTTEFQRCBCQUNLRU5ECisjCisjIFRoZSBiYWNrZW5kIG11c3QgYmUgc2V0IGJ5IHRoZSBjb25maWd1cmF0aW9uLiAgVGhpcyBjb250cm9scyB0aGUKKyMgcmVxdWlyZWQgZGF0YWJhc2UuIAorIworIyBCYWNrZW5kcz0iYmRiIGRuc3NydiBoZGIgbGRhcCBtZGIgbWV0YSBtb25pdG9yIG5kYiBudWxsIHBhc3N3ZCBwZXJsIHJlbGF5IHNoZWxsIHNvY2sgc3FsIgorIworIyBOb3RlIHRoYXQgbXVsdGlwbGUgYmFja2VuZHMgY2FuIGJlIGJ1aWx0LiAgVGhlIGxkYm0gYmFja2VuZCByZXF1aXJlcyBhCisjIGJ1aWxkLXRpbWUgY2hvaWNlIG9mIGRhdGFiYXNlIEFQSS4gIFRoZSBiZGIgYmFja2VuZCBmb3JjZXMgdGhpcyB0byBiZQorIyBEQjQuICBUbyB1c2UgdGhlIGdkYm0gKG9yIG90aGVyKSBBUEkgdGhlIEJlcmtlbHkgZGF0YWJhc2UgbW9kdWxlIG11c3QKKyMgYmUgcmVtb3ZlZCBmcm9tIHRoZSBidWlsZC4KK21kID0gIiR7bGliZXhlY2Rpcn0vb3BlbmxkYXAiCisjCisjLS1lbmFibGUtYmRiICAgICAgICAgIGVuYWJsZSBCZXJrZWxleSBEQiBiYWNrZW5kIG5vfHllc3xtb2QgeWVzCisjIFRoZSBCZXJrZWx5IERCIGlzIHRoZSBzdGFuZGFyZCBjaG9pY2UuICBUaGlzIHZlcnNpb24gb2YgT3BlbkxEQVAgcmVxdWlyZXMKKyMgdGhlIHZlcnNpb24gNCBpbXBsZW1lbnRhdGlvbiBvciBiZXR0ZXIuCitQQUNLQUdFQ09ORklHW2JkYl0gPSAiLS1lbmFibGUtYmRiPXllcywtLWVuYWJsZS1iZGI9bm8sZGIiCisKKyMtLWVuYWJsZS1kbnNzcnYgICAgICAgZW5hYmxlIGRuc3NydiBiYWNrZW5kIG5vfHllc3xtb2Qgbm8KK1BBQ0tBR0VDT05GSUdbZG5zc3J2XSA9ICItLWVuYWJsZS1kbnNzcnY9bW9kLC0tZW5hYmxlLWRuc3Nydj1ubyIKKworIy0tZW5hYmxlLWhkYiAgICAgICAgICBlbmFibGUgSGllcmFyY2hpY2FsIERCIGJhY2tlbmQgbm98eWVzfG1vZCBubworUEFDS0FHRUNPTkZJR1toZGJdID0gIi0tZW5hYmxlLWhkYj15ZXMsLS1lbmFibGUtaGRiPW5vLGRiIgorCisjLS1lbmFibGUtbGRhcCAgICAgICAgIGVuYWJsZSBsZGFwIGJhY2tlbmQgbm98eWVzfG1vZCBubworUEFDS0FHRUNPTkZJR1tsZGFwXSA9ICItLWVuYWJsZS1sZGFwPW1vZCwtLWVuYWJsZS1sZGFwPW5vLCIKKworIy0tZW5hYmxlLW1kYiAgICAgICAgICBlbmFibGUgbWRiIGRhdGFiYXNlIGJhY2tlbmQgbm98eWVzfG1vZCBbeWVzXQorUEFDS0FHRUNPTkZJR1ttZGJdID0gIi0tZW5hYmxlLW1kYj1tb2QsLS1lbmFibGUtbWRiPW5vLCIKKworIy0tZW5hYmxlLW1ldGEgICAgICAgICBlbmFibGUgbWV0YWRpcmVjdG9yeSBiYWNrZW5kIG5vfHllc3xtb2Qgbm8KK1BBQ0tBR0VDT05GSUdbbWV0YV0gPSAiLS1lbmFibGUtbWV0YT1tb2QsLS1lbmFibGUtbWV0YT1ubywiCisKKyMtLWVuYWJsZS1tb25pdG9yICAgICAgZW5hYmxlIG1vbml0b3IgYmFja2VuZCBub3x5ZXN8bW9kIHllcworUEFDS0FHRUNPTkZJR1ttb25pdG9yXSA9ICItLWVuYWJsZS1tb25pdG9yPW1vZCwtLWVuYWJsZS1tb25pdG9yPW5vLCIKKworIy0tZW5hYmxlLW5kYiAgICAgICAgICBlbmFibGUgTXlTUUwgTkRCIENsdXN0ZXIgYmFja2VuZCBub3x5ZXN8bW9kIFtub10KK1BBQ0tBR0VDT05GSUdbbmRiXSA9ICItLWVuYWJsZS1uZGI9bW9kLC0tZW5hYmxlLW5kYj1ubywiCisKKyMtLWVuYWJsZS1udWxsICAgICAgICAgZW5hYmxlIG51bGwgYmFja2VuZCBub3x5ZXN8bW9kIG5vCitQQUNLQUdFQ09ORklHW251bGxdID0gIi0tZW5hYmxlLW51bGw9bW9kLC0tZW5hYmxlLW51bGw9bm8sIgorCisjLS1lbmFibGUtcGFzc3dkICAgICAgIGVuYWJsZSBwYXNzd2QgYmFja2VuZCBub3x5ZXN8bW9kIG5vCitQQUNLQUdFQ09ORklHW3Bhc3N3ZF0gPSAiLS1lbmFibGUtcGFzc3dkPW1vZCwtLWVuYWJsZS1wYXNzd2Q9bm8sIgorCisjLS1lbmFibGUtcGVybCAgICAgICAgIGVuYWJsZSBwZXJsIGJhY2tlbmQgbm98eWVzfG1vZCBubworIyAgVGhpcyByZXF1aXJlcyBhIGxvYWRhYmxlIHBlcmwgZHluYW1pYyBsaWJyYXJ5LCBpZiBlbmFibGVkIHdpdGhvdXQKKyMgIGRvaW5nIHNvbWV0aGluZyBhcHByb3ByaWF0ZSAoYnVpbGRpbmcgcGVybD8pIHRoZSBidWlsZCB3aWxsIHBpY2sKKyMgIHVwIHRoZSBidWlsZCBtYWNoaW5lIHBlcmwgLSBub3QgZ29vZCAoaW5oZXJpdCBwZXJsbmF0aXZlPykKK1BBQ0tBR0VDT05GSUdbcGVybF0gPSAiLS1lbmFibGUtcGVybD1tb2QsLS1lbmFibGUtcGVybD1ubyxwZXJsIgorCisjLS1lbmFibGUtcmVsYXkgICAgICAgIGVuYWJsZSByZWxheSBiYWNrZW5kIG5vfHllc3xtb2QgW3llc10KK1BBQ0tBR0VDT05GSUdbcmVsYXldID0gIi0tZW5hYmxlLXJlbGF5PW1vZCwtLWVuYWJsZS1yZWxheT1ubywiCisKKyMtLWVuYWJsZS1zaGVsbCAgICAgICAgZW5hYmxlIHNoZWxsIGJhY2tlbmQgbm98eWVzfG1vZCBubworIyBjb25maWd1cmU6IFdBUk5JTkc6IFVzZSBvZiAtLXdpdGhvdXQtdGhyZWFkcyBpcyByZWNvbW1lbmRlZCB3aXRoIGJhY2stc2hlbGwKK1BBQ0tBR0VDT05GSUdbc2hlbGxdID0gIi0tZW5hYmxlLXNoZWxsPW1vZCAtLXdpdGhvdXQtdGhyZWFkcywtLWVuYWJsZS1zaGVsbD1ubywiCisKKyMtLWVuYWJsZS1zb2NrICAgICAgICAgZW5hYmxlIHNvY2sgYmFja2VuZCBub3x5ZXN8bW9kIFtub10KK1BBQ0tBR0VDT05GSUdbc29ja10gPSAiLS1lbmFibGUtc29jaz1tb2QsLS1lbmFibGUtc29jaz1ubywiCisKKyMtLWVuYWJsZS1zcWwgICAgICAgICAgZW5hYmxlIHNxbCBiYWNrZW5kIG5vfHllc3xtb2Qgbm8KKyMgc3FsIHJlcXVpcmVzIHNvbWUgc3FsIGJhY2tlbmQgd2hpY2ggcHJvdmlkZXMgc3FsLmgsIHNxbGl0ZSogcHJvdmlkZXMKKyMgc3FsaXRlLmggKHdoaWNoIG1heSBiZSBjb21wYXRpYmxlIGJ1dCBoYXNuJ3QgYmVlbiB0cmllZC4pCitQQUNLQUdFQ09ORklHW3NxbF0gPSAiLS1lbmFibGUtc3FsPW1vZCwtLWVuYWJsZS1zcWw9bm8sc3FsaXRlMyIKKworIy0tZW5hYmxlLWR5bmdyb3VwICAgICBEeW5hbWljIEdyb3VwIG92ZXJsYXkgbm98eWVzfG1vZCBubworIyAgVGhpcyBpcyBhIGRlbW8sIFByb3h5IENhY2hlIGRlZmluZXMgaW5pdF9tb2R1bGUgd2hpY2ggY29uZmxpY3RzIHdpdGggdGhlCisjICBzYW1lIHN5bWJvbCBpbiBkeW5ncm91cAorUEFDS0FHRUNPTkZJR1tkeW5ncm91cF0gPSAiLS1lbmFibGUtZHluZ3JvdXA9bW9kLC0tZW5hYmxlLWR5bmdyb3VwPW5vLCIKKworIy0tZW5hYmxlLXByb3h5Y2FjaGUgICBQcm94eSBDYWNoZSBvdmVybGF5IG5vfHllc3xtb2Qgbm8KK1BBQ0tBR0VDT05GSUdbcHJveHljYWNoZV0gPSAiLS1lbmFibGUtcHJveHljYWNoZT1tb2QsLS1lbmFibGUtcHJveHljYWNoZT1ubywiCitGSUxFU18ke1BOfS1vdmVybGF5LXByb3h5Y2FjaGUgPSAiJHttZH0vcGNhY2hlLSouc28uKiIKK1BBQ0tBR0VTICs9ICIke1BOfS1vdmVybGF5LXByb3h5Y2FjaGUiCisKKyMgQXBwZW5kIFVSQU5ET01fREVWSUNFPScvZGV2L3VyYW5kb20nIHRvIENQUEZMQUdTOgorIyBUaGlzIGFsbG93cyB0bHMgdG8gb2J0YWluIHJhbmRvbSBiaXRzIGZyb20gL2Rldi91cmFuZG9tLCBieSBkZWZhdWx0CisjIGl0IHdhcyBkaXNhYmxlZCBmb3IgY3Jvc3MtY29tcGlsaW5nLgorQ1BQRkxBR1NfYXBwZW5kID0gIiAtRF9HTlVfU09VUkNFIC1EVVJBTkRPTV9ERVZJQ0U9XCcvZGV2L3VyYW5kb21cJyIKKworTERGTEFHUyArPSAiLXB0aHJlYWQiCisKK2RvX2NvbmZpZ3VyZSgpIHsKKyAgICBjcCAke1NUQUdJTkdfREFUQURJUl9OQVRJVkV9L2xpYnRvb2wvYnVpbGQtYXV4L2x0bWFpbi5zaCAke1N9L2J1aWxkCisgICAgcm0gLWYgJHtTfS9saWJ0b29sCisgICAgYWNsb2NhbAorICAgIGxpYnRvb2xpemUgLS1mb3JjZSAtLWNvcHkKKyAgICBnbnUtY29uZmlnaXplCisgICAgYXV0b2NvbmYKKyAgICBvZV9ydW5jb25mCit9CisKK0xFQURfU09OQU1FID0gImxpYmxkYXAtJHtMREFQX1ZFUn0uc28uKiIKKworIyBUaGUgZXhlY3V0YWJsZXMgZ28gaW4gYSBzZXBhcmF0ZSBwYWNrYWdlLiAgVGhpcyBhbGxvd3MgdGhlCisjIGluc3RhbGxhdGlvbiBvZiB0aGUgbGlicmFyaWVzIHdpdGggbm8gZGFlbW9uIHN1cHBvcnQuCisjIEVhY2ggbW9kdWxlIGFsc28gaGFzIGl0cyBvd24gcGFja2FnZSAtIHNlZSBhYm92ZS4KK1BBQ0tBR0VTICs9ICIke1BOfS1zbGFwZCAke1BOfS1zbHVycGQgJHtQTn0tYmluIgorCisjIFBhY2thZ2UgY29udGVudHMgLSBzaGlmdCBtb3N0IHN0YW5kYXJkIGNvbnRlbnRzIHRvIC1iaW4KK0ZJTEVTXyR7UE59ID0gIiR7bGliZGlyfS9saWIqLnNvLiogJHtzeXNjb25mZGlyfS9vcGVubGRhcC9sZGFwLiogJHtsb2NhbHN0YXRlZGlyfS8ke0JQTn0vZGF0YSIKK0ZJTEVTXyR7UE59LXNsYXBkID0gIiR7c3lzY29uZmRpcn0vaW5pdC5kICR7bGliZXhlY2Rpcn0vc2xhcGQgJHtzYmluZGlyfSAke2xvY2Fsc3RhdGVkaXJ9L3J1biAke2xvY2Fsc3RhdGVkaXJ9L3ZvbGF0aWxlL3J1biBcCisgICAgJHtzeXNjb25mZGlyfS9vcGVubGRhcC9zbGFwZC4qICR7c3lzY29uZmRpcn0vb3BlbmxkYXAvc2NoZW1hIFwKKyAgICAke3N5c2NvbmZkaXJ9L29wZW5sZGFwL0RCX0NPTkZJRy5leGFtcGxlICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vKiIKK0ZJTEVTXyR7UE59LXNsdXJwZCA9ICIke2xpYmV4ZWNkaXJ9L3NsdXJwZCAke2xvY2Fsc3RhdGVkaXJ9L29wZW5sZGFwLXNsdXJwICR7bG9jYWxzdGF0ZWRpcn0vcnVuICR7bG9jYWxzdGF0ZWRpcn0vdm9sYXRpbGUvcnVuIgorRklMRVNfJHtQTn0tYmluID0gIiR7YmluZGlyfSIKK0ZJTEVTXyR7UE59LWRldiA9ICIke2luY2x1ZGVkaXJ9ICR7bGliZGlyfS9saWIqLnNvICR7bGliZGlyfS8qLmxhICR7bGliZGlyfS8qLmEgJHtsaWJleGVjZGlyfS9vcGVubGRhcC8qLmEgJHtsaWJleGVjZGlyfS9vcGVubGRhcC8qLmxhICR7bGliZXhlY2Rpcn0vb3BlbmxkYXAvKi5zbyIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJleGVjZGlyfS9vcGVubGRhcC8uZGVidWciCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCisgICAgY2F0ICR7V09SS0RJUn0vaW5pdHNjcmlwdCA+ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9vcGVubGRhcAorICAgIGNobW9kIDc1NSAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvb3BlbmxkYXAKKyAgICAjIFRoaXMgaXMgZHVwbGljYXRlZCBpbiAvZXRjL29wZW5sZGFwIGFuZCBpcyBmb3Igc2xhcGQKKyAgICBybSAtZiAke0R9JHtsb2NhbHN0YXRlZGlyfS9vcGVubGRhcC1kYXRhL0RCX0NPTkZJRy5leGFtcGxlCisKKyAgICAjIEluc3RhbGxpbmcgc2xhcGQgdW5kZXIgJHtzYmlufSBpcyBtb3JlIEZIUyBhbmQgTFNCIGNvbXBsaWFuY2UKKyAgICBtdiAke0R9JHtsaWJleGVjZGlyfS9zbGFwZCAke0R9LyR7c2JpbmRpcn0vc2xhcGQKKyAgICBTTEFQVE9PTFM9InNsYXBhZGQgc2xhcGNhdCBzbGFwZG4gc2xhcGluZGV4IHNsYXBwYXNzd2Qgc2xhcHRlc3Qgc2xhcGF1dGggc2xhcGFjbCBzbGFwc2NoZW1hIgorICAgIGNkICR7RH0vJHtzYmluZGlyfS8KKyAgICBybSAtZiAke1NMQVBUT09MU30KKyAgICBmb3IgaSBpbiAke1NMQVBUT09MU307IGRvIGxuIC1zZiBzbGFwZCAkaTsgZG9uZQorCisgICAgcm1kaXIgIiR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1biIKKyAgICBybWRpciAtLWlnbm9yZS1mYWlsLW9uLW5vbi1lbXB0eSAiJHtEfSR7bG9jYWxzdGF0ZWRpcn0iCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLworICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3NsYXBkLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vCisgICAgc2VkIC1pIC1lICdzLEBTQklORElSQCwke3NiaW5kaXJ9LGcnICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLyouc2VydmljZQorCisgICAgIyBVc2VzIG1kbSBhcyB0aGUgZGF0YWJhc2UKKyAgICAjICBhbmQgbG9jYWxzdGF0ZWRpciBhcyBkYXRhIGRpcmVjdG9yeSAuLi4KKyAgICBzZWQgLWUgJ3MvIyBtb2R1bGVwYXRoL21vZHVsZXBhdGgvJyBcCisgICAgICAgIC1lICdzLyMgbW9kdWxlbG9hZFxzKmJhY2tfYmRiLiovbW9kdWxlbG9hZCAgICBiYWNrX21kYi8nIFwKKyAgICAgICAgLWUgJ3MvZGF0YWJhc2VccypiZGIvZGF0YWJhc2UgICAgICAgIG1kYi8nIFwKKyAgICAgICAgLWUgJ3MlXmRpcmVjdG9yeVxzKi4qJWRpcmVjdG9yeSAgICR7bG9jYWxzdGF0ZWRpcn0vJHtCUE59L2RhdGEvJScgXAorICAgICAgICAtaSAke0R9JHtzeXNjb25mZGlyfS9vcGVubGRhcC9zbGFwZC5jb25mCisKKyAgICBta2RpciAtcCAke0R9JHtsb2NhbHN0YXRlZGlyfS8ke0JQTn0vZGF0YQorCisKK30KKworSU5JVFNDUklQVF9QQUNLQUdFUyA9ICIke1BOfS1zbGFwZCIKK0lOSVRTQ1JJUFRfTkFNRV8ke1BOfS1zbGFwZCA9ICJvcGVubGRhcCIKK0lOSVRTQ1JJUFRfUEFSQU1TXyR7UE59LXNsYXBkID0gImRlZmF1bHRzIgorU1lTVEVNRF9TRVJWSUNFXyR7UE59LXNsYXBkID0gImhvc3RhcGQuc2VydmljZSIKK1NZU1RFTURfQVVUT19FTkFCTEVfJHtQTn0tc2xhcGQgPz0gImRpc2FibGUiCisKKworUEFDS0FHRVNfRFlOQU1JQyArPSAiXiR7UE59LWJhY2tlbmRzLiogXiR7UE59LWJhY2tlbmQtLioiCisKKyMgVGhlIG1vZHVsZXMgcmVxdWlyZSB0aGVpciAuc28gdG8gYmUgZHluYW1pY2FseSBsb2FkZWQKK0lOU0FORV9TS0lQXyR7UE59LWJhY2tlbmQtZG5zc3J2ICArPSAiZGV2LXNvIgorSU5TQU5FX1NLSVBfJHtQTn0tYmFja2VuZC1sZGFwICAgICs9ICJkZXYtc28iCitJTlNBTkVfU0tJUF8ke1BOfS1iYWNrZW5kLW1ldGEgICAgKz0gImRldi1zbyIKK0lOU0FORV9TS0lQXyR7UE59LWJhY2tlbmQtbWRiICAgICArPSAiZGV2LXNvIgorSU5TQU5FX1NLSVBfJHtQTn0tYmFja2VuZC1tb25pdG9yICs9ICJkZXYtc28iCitJTlNBTkVfU0tJUF8ke1BOfS1iYWNrZW5kLW51bGwgICAgKz0gImRldi1zbyIKK0lOU0FORV9TS0lQXyR7UE59LWJhY2tlbmQtcGFzc3dkICArPSAiZGV2LXNvIgorSU5TQU5FX1NLSVBfJHtQTn0tYmFja2VuZC1zaGVsbCAgICs9ICJkZXYtc28iCisKKworcHl0aG9uIHBvcHVsYXRlX3BhY2thZ2VzX3ByZXBlbmQgKCkgeworICAgIGJhY2tlbmRfZGlyICAgID0gZC5leHBhbmQoJyR7bGliZXhlY2Rpcn0vb3BlbmxkYXAnKQorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGJhY2tlbmRfZGlyLCAnYmFja18oW2Etel0qKVwuc28kJywgJ29wZW5sZGFwLWJhY2tlbmQtJXMnLCAnT3BlbkxEQVAgJXMgYmFja2VuZCcsIHByZXBlbmQ9VHJ1ZSwgZXh0cmFfZGVwZW5kcz0nJywgYWxsb3dfbGlua3M9VHJ1ZSkKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBiYWNrZW5kX2RpciwgJ2JhY2tfKFthLXpdKilcLS4qXC5zb1wuLiokJywgJ29wZW5sZGFwLWJhY2tlbmQtJXMnLCAnT3BlbkxEQVAgJXMgYmFja2VuZCcsIGV4dHJhX2RlcGVuZHM9JycsIGFsbG93X2xpbmtzPVRydWUpCisKKyAgICBtZXRhcGtnID0gIiR7UE59LWJhY2tlbmRzIgorICAgIGQuc2V0VmFyKCdBTExPV19FTVBUWV8nICsgbWV0YXBrZywgIjEiKQorICAgIGQuc2V0VmFyKCdGSUxFU18nICsgbWV0YXBrZywgIiIpCisgICAgbWV0YXBrZ19yZGVwZW5kcyA9IFtdCisgICAgcGFja2FnZXMgPSBkLmdldFZhcignUEFDS0FHRVMnLCAxKS5zcGxpdCgpCisgICAgZm9yIHBrZyBpbiBwYWNrYWdlc1sxOl06CisgICAgICAgIGlmIHBrZy5jb3VudCgib3BlbmxkYXAtYmFja2VuZC0iKSBhbmQgbm90IHBrZyBpbiBtZXRhcGtnX3JkZXBlbmRzIGFuZCBub3QgcGtnLmNvdW50KCItZGV2IikgYW5kIG5vdCBwa2cuY291bnQoIi1kYmciKSBhbmQgbm90IHBrZy5jb3VudCgic3RhdGljIikgYW5kIG5vdCBwa2cuY291bnQoImxvY2FsZSIpOgorICAgICAgICAgICAgbWV0YXBrZ19yZGVwZW5kcy5hcHBlbmQocGtnKQorICAgIGQuc2V0VmFyKCdSREVQRU5EU18nICsgbWV0YXBrZywgJyAnLmpvaW4obWV0YXBrZ19yZGVwZW5kcykpCisgICAgZC5zZXRWYXIoJ0RFU0NSSVBUSU9OXycgKyBtZXRhcGtnLCAnT3BlbkxEQVAgYmFja2VuZHMgbWV0YSBwYWNrYWdlJykKKyAgICBwYWNrYWdlcy5hcHBlbmQobWV0YXBrZykKKyAgICBkLnNldFZhcignUEFDS0FHRVMnLCAnICcuam9pbihwYWNrYWdlcykpCit9CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVubW90aWYvb3Blbm1vdGlmL2NvbmZpZ3VyZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3Blbm1vdGlmL29wZW5tb3RpZi9jb25maWd1cmUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODg2OGU4MAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3Blbm1vdGlmL29wZW5tb3RpZi9jb25maWd1cmUucGF0Y2gKQEAgLTAsMCArMSwxNSBAQAorLS0tIGEvY29uZmlndXJlLmFjfgkyMDA5LTEwLTI3IDE0OjEwOjIzLjAwMDAwMDAwMCAtMDIwMAorKysrIGIvY29uZmlndXJlLmFjCTIwMTEtMDUtMzEgMTA6NTE6MDAuMjA3MjMyMDM2IC0wMzAwCitAQCAtMywxMiArMyw2IEBACisgQUNfQ09ORklHX1NSQ0RJUihbbGliL1htL0Zvcm0uY10pCisgQUNfUFJFUkVRKDIuNTIpCisgQUNfQ09ORklHX0FVWF9ESVIoLikKKy1BQ19DSEVDS19GSUxFKC91c3IvWC9pbmNsdWRlL1gxMS9YLmgsCistICBBQ19QUkVGSVhfREVGQVVMVCgvdXNyL1gpLAorLSAgQUNfUFJFRklYX0RFRkFVTFQoL3VzcikpCistQUNfQ0hFQ0tfRklMRSgvdXNyL1gxMVI2L2luY2x1ZGUvWDExL1guaCwKKy0gIEFDX1BSRUZJWF9ERUZBVUxUKC91c3IvWDExUjYpLAorLSAgQUNfUFJFRklYX0RFRkFVTFQoL3VzcikpCisgCisgZG5sIEFNX01BSU5UQUlORVJfTU9ERQorIEFDX0NBTk9OSUNBTF9UQVJHRVQKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3Blbm1vdGlmL29wZW5tb3RpZl8yLjMuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3Blbm1vdGlmL29wZW5tb3RpZl8yLjMuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYmFlZGEwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVubW90aWYvb3Blbm1vdGlmXzIuMy4zLmJiCkBAIC0wLDAgKzEsNDggQEAKK1NFQ1RJT04gPSAibGlicyIKK1NVTU1BUlkgPSAiT1NNL01vdGlmIGltcGxlbWVudGF0aW9uIgorTElDRU5TRSA9ICJPR1BMIgorREVQRU5EUyA9ICJ4Yml0bWFwcyB2aXJ0dWFsL2xpYngxMSBsaWJ4dCBsaWJ4ZnQgeHByb3RvIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0xNGY2OTJjODI0OTFkYjNkNTI0MTk5MjlkMmYzYjM0MyIKKworUFIgPSAicjMiCisKK1BOQkxBQ0tMSVNUW29wZW5tb3RpZl0gPz0gIkJST0tFTjogZG9lc24ndCBidWlsZCB3aXRoIEIhPVMiCisKK1NSQ19VUkkgPSAiaHR0cDovL21vdGlmLmljcy5jb20vc2l0ZXMvZGVmYXVsdC9maWxlcy9vcGVubW90aWYtMi4zLjMudGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL2NvbmZpZ3VyZS5wYXRjaDtwYXRjaD0xIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZmQyN2NkMzM2OWQ2YzdkNWVmNzllY2NiYTUyNGY3YmUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYzg1ZjU1NDVlMjE4ZmEwYzU5YTM3ODkxOTIxMzJkNDcyZmM1YTMzZTkxNGEyMjFhNTY4ZWVlNGZjMTBjZDEwMyIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbanBlZ10gPSAiLS1lbmFibGUtanBlZywtLWRpc2FibGUtanBlZyxqcGVnIgorUEFDS0FHRUNPTkZJR1twbmddID0gIi0tZW5hYmxlLXBuZywtLWRpc2FibGUtcG5nLGxpYnBuZyIKKworRVhUUkFfT0VDT05GID0gIlhfQ0ZMQUdTPS1JJHtTVEFHSU5HX0lOQ0RJUn0gLS1kaXNhYmxlLXByaW50aW5nIgorCitQQUNLQUdFUyArPSAiJHtQTn0tYmluIgorCitGSUxFU18ke1BOfS1iaW4gPSAiJHtiaW5kaXJ9IgorCitkb19jb21waWxlKCkgeworICAgICgKKyAgICAgICAgIyBIQUNLOiBidWlsZCBhIG5hdGl2ZSBiaW5hcmllcyBuZWVkIGR1cmluZyB0aGUgYnVpbGQKKyAgICAgICAgdW5zZXQgQ0MgTEQgQ1hYIENDTEQgQ0ZMQUdTCisgICAgICAgIG9lX3J1bm1ha2UgLUMgY29uZmlnL3V0aWwgQ0M9IiR7QlVJTERfQ0N9IiBMRD0iJHtCVUlMRF9MRH0iIENYWD0iJHtCVUlMRF9DWFh9IiBMSUJTPSIiIG1ha2VzdHJzCisgICAgKQorICAgIGlmIFsgIiQ/IiAhPSAiMCIgXTsgdGhlbgorICAgICAgICBleGl0IDEKKyAgICBmaQorICAgIG9lX3J1bm1ha2UgLUMgbGliCisgICAgb2VfcnVubWFrZSAtQyBpbmNsdWRlCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgb2VfcnVubWFrZSBERVNURElSPSR7RH0gLUMgbGliIGluc3RhbGwKKyAgICBvZV9ydW5tYWtlIERFU1RESVI9JHtEfSAtQyBpbmNsdWRlIGluc3RhbGwKK30KKworTEVBRF9TT05BTUUgPSAibGliWG0uc28uNCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbnNjL29wZW5zY18wLjE1LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5zYy9vcGVuc2NfMC4xNS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmExMWIzZDgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5zYy9vcGVuc2NfMC4xNS4wLmJiCkBAIC0wLDAgKzEsNDUgQEAKK1NVTU1BUlkgPSAiU21hcnQgY2FyZCBsaWJyYXJ5IGFuZCBhcHBsaWNhdGlvbnMiCitERVNDUklQVElPTiA9ICJPcGVuU0MgaXMgYSB0b29sIGZvciBhY2Nlc3Npbmcgc21hcnQgY2FyZCBkZXZpY2VzLiBCYXNpY1wKK2Z1bmN0aW9uYWxpdHkgKGUuZy4gU0VMRUNUIEZJTEUsIFJFQUQgQklOQVJZKSBzaG91bGQgd29yayBvbiBhbnkgSVNPXAorNzgxNi00IGNvbXBhdGlibGUgc21hcnQgY2FyZC4gRW5jcnlwdGlvbiBhbmQgZGVjcnlwdGlvbiB1c2luZyBwcml2YXRlXAora2V5cyBvbiB0aGUgc21hcnQgY2FyZCBpcyBwb3NzaWJsZSB3aXRoIFBLQ1NcCitzdWNoIGFzIHRoZSBGSU5FSUQgKEZpbm5pc2ggRWxlY3Ryb25pYyBJRGVudGl0eSkgY2FyZC4gU3dlZGlzaCBQb3N0ZW5cCitlSUQgY2FyZHMgaGF2ZSBhbHNvIGJlZW4gY29uZmlybWVkIHRvIHdvcmsuIgorCitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lm9wZW5zYy1wcm9qZWN0Lm9yZy9vcGVuc2MvIgorU0VDVElPTiA9ICJTeXN0ZW0gRW52aXJvbm1lbnQvTGlicmFyaWVzIgorCitTUkNfVVJJID0gIiR7REVCSUFOX01JUlJPUn0vbWFpbi9vLyR7QlBOfS8ke0JQTn1fJHtQVn0ub3JpZy50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJmMjY2MDI0ZTVhOTYzMDgyMWZmYTBhYzE0ZjcyZTM2OSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4ZjhmOGNmNTJlMDI1MjMzNGU0ZGZkY2NjYTgyOWI4NzZhM2RlNjM0MGRlYjc3MmFhMGJmZTBjMGNjMTBlYWY1IgorCitTID0gIiR7V09SS0RJUn0vT3BlblNDLSR7UFZ9IgorREVQRU5EUyA9ICJvcGVuY3QgcGNzYy1saXRlIHZpcnR1YWwvbGliaWNvbnYgb3BlbnNzbCIKKworTElDRU5TRSA9ICJMR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9N2ZiYzMzODMwOWFjMzhmZWZjZDY0YjA0YmI5MDNlMzQiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitFWFRSQV9PRUNPTkYgPSAiIFwKKyAgICAtLWRpc2FibGUtc3RhdGljIFwKKyAgICAtLWVuYWJsZS1vcGVuY3QgXAorICAgIC0tZGlzYWJsZS1wY3NjIFwKKyAgICAtLWRpc2FibGUtY3RhcGkgXAorICAgIC0tZGlzYWJsZS1kb2MgXAorIgorRVhUUkFfT0VNQUtFID0gIkRFU1RESVI9JHtEfSIKKworUkRFUEVORFNfJHtQTn0gPSAicmVhZGxpbmUiCisKK0ZJTEVTXyR7UE59ICs9ICJcCisgICAgJHtsaWJkaXJ9L29wZW5zYy1wa2NzMTEuc28gXAorICAgICR7bGliZGlyfS9vbmVwaW4tb3BlbnNjLXBrY3MxMS5zbyBcCisgICAgJHtsaWJkaXJ9L3BrY3MxMS1zcHkuc28gXAorIgorRklMRVNfJHtQTn0tZGV2ICs9ICJcCisgICAgJHtsaWJkaXJ9L3BrY3MxMS9vcGVuc2MtcGtjczExLnNvIFwKKyAgICAke2xpYmRpcn0vcGtjczExL29uZXBpbi1vcGVuc2MtcGtjczExLnNvIFwKKyAgICAke2xpYmRpcn0vcGtjczExL3BrY3MxMS1zcHkuc28gXAorIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuc3luYy9saWJzeW5jbWxfMC41LjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5zeW5jL2xpYnN5bmNtbF8wLjUuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYmY2NWM3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuc3luYy9saWJzeW5jbWxfMC41LjQuYmIKQEAgLTAsMCArMSwyMSBAQAorU1VNTUFSWSA9ICJMaWJzeW5jbWwgaXMgYW4gaW1wbGVtZW50YXRpb24gb2YgdGhlIFN5bmNNTCBwcm90b2NvbCIKK0hPTUVQQUdFID0gImh0dHBzOi8vbGlic3luY21sLm9wZW5zeW5jLm9yZy8iCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZmFkOWIzMzMyYmU4OTRiYWI5YmM1MDE1NzI4NjRiMjkiCisKK0RFUEVORFMgPSAibGlieG1sMiBnbGliLTIuMCBsaWJzb3VwLTIuNCBvcGVub2JleCB3YnhtbDIiCisKKyMgRGVwZW5kcyBvbiBvcGVub2JleAorUE5CTEFDS0xJU1RbbGlic3luY21sXSA/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdibHVlejUnLCAnYmx1ZXo1IGNvbmZsaWN0cyB3aXRoIGJsdWV6NCBhbmQgYmx1ZXo1IGlzIHNlbGVjdGVkIGluIERJU1RST19GRUFUVVJFUycsICcnLCBkKX0iCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L2xpYnN5bmNtbC9saWJzeW5jbWwtJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjg0ODc5ZWQ3Y2I5NDYxODUzMGZiY2I4MDFhMWE0Zjk1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjA1ZDY1MTM2MzdhZGIxMzAwYTNhNThiNmUyOWQ1M2FiNjM3M2M4ZjM3MDgwN2QwZDkyNWJhZTcyYjI5MjBlNTMiCisKK2luaGVyaXQgY21ha2UgcGtnY29uZmlnCisKK1BBQ0tBR0VTICs9ICIke1BOfS10b29scyIKKworRklMRVNfJHtQTn0tdG9vbHMgPSAiJHtiaW5kaXJ9IgorRklMRVNfJHtQTn0gPSAiJHtsaWJkaXJ9Lyouc28uKiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbnN5bmMvd2J4bWwyXzAuMTAuOC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbnN5bmMvd2J4bWwyXzAuMTAuOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZDE1YmJhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuc3luYy93YnhtbDJfMC4xMC44LmJiCkBAIC0wLDAgKzEsMjMgQEAKK1NVTU1BUlkgPSAiV0JYTUwgcGFyc2luZyBhbmQgZW5jb2RpbmcgbGlicmFyeSIKK0hPTUVQQUdFID0gImh0dHA6Ly9saWJ3YnhtbC5vcGVuc3luYy5vcmcvIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJMR1BMdjIuMSsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1jMTEyOGVlNTM0MWNjZDU5MjdkOGJhZmU0YjYyNjZlMSIKKworREVQRU5EUyA9ICJleHBhdCIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vbGlid2J4bWwvbGlid2J4bWwtJHtQVn0udGFyLmd6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiZjUwMzFlOWY3MzBmZmQ5ZGM2YTJkMWRlZDU4NWUxZDEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYTA1N2RhYTA5OGYxMjgzOGViNGU2MzViYjI4NDEzMDI3ZjFiNzM4MTk4NzJjM2ZiZjY0ZTMyMDc3OTBhM2Y3ZCIKKworUyA9ICIke1dPUktESVJ9L2xpYndieG1sLSR7UFZ9IgorCitpbmhlcml0IGNtYWtlIHBrZ2NvbmZpZworCitFWFRSQV9PRUNNQUtFID0gIi1ETElCX1NVRkZJWD0ke0BkLmdldFZhcignYmFzZWxpYicsIFRydWUpLnJlcGxhY2UoJ2xpYicsICcnKX0iCisKK1BBQ0tBR0VTICs9ICIke1BOfS10b29scyIKKworRklMRVNfJHtQTn0tdG9vbHMgPSAiJHtiaW5kaXJ9IgorRklMRVNfJHtQTn0gPSAiJHtsaWJkaXJ9Lyouc28uKiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbndiZW0vb3BlbndiZW0vY2hlY2tzZXJ2ZXJrZXkgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW53YmVtL29wZW53YmVtL2NoZWNrc2VydmVya2V5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJjZmEzNjEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW53YmVtL29wZW53YmVtL2NoZWNrc2VydmVya2V5CkBAIC0wLDAgKzEsMjAgQEAKKyMhL2Jpbi9iYXNoCisKK2lmIFsgISAtZiAiL2V0Yy9vcGVud2JlbS9zZXJ2ZXJrZXkucGVtIiBdOyB0aGVuCisJaWYgWyAtZiAiL2V0Yy9zc2wvc2VydmVyY2VydHMvc2VydmVyY2VydC5wZW0iIFwKKwkgICAgIC1hIC1mICIvZXRjL3NzbC9zZXJ2ZXJjZXJ0cy9zZXJ2ZXJrZXkucGVtIiBdOyB0aGVuCisJCWVjaG8gIlVzaW5nIGNvbW1vbiBzZXJ2ZXIgY2VydGlmaWNhdGUgL2V0Yy9zc2wvc2VydmVyY2VydHMvc2VydmVyY2VydC5wZW0iCisJCWxuIC1zIC9ldGMvc3NsL3NlcnZlcmNlcnRzL3NlcnZlcntjZXJ0LGtleX0ucGVtIC9ldGMvb3BlbndiZW0vCisJZWxzZQorCQllY2hvICJGQUlMRUQ6IFN0YXJ0aW5nIE9wZW5XQkVNIHNlcnZlciIKKwkJZWNobyAiVGhlcmUgaXMgbm8gc3NsIHNlcnZlciBrZXkgYXZhaWxhYmxlIGZvciBPcGVuV0JFTSBzZXJ2ZXIgdG8gdXNlLiIKKwkJZWNobyAtZSAiUGxlYXNlIGdlbmVyYXRlIG9uZSB3aXRoIHRoZSBmb2xsb3dpbmcgc2NyaXB0IGFuZCBzdGFydCB0aGUgT3BlbldCRU0gc2VydmljZSBhZ2FpbjpcbiIKKwkJZWNobyAiIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyIKKwkJZWNobyAiL2V0Yy9vcGVud2JlbS9vd2dlbmNlcnQiCisJCWVjaG8gIj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSIKKworCQllY2hvICJOT1RFOiBUaGUgc2NyaXB0IHVzZXMgL2Rldi9yYW5kb20gZGV2aWNlIGZvciBnZW5lcmF0aW5nIHNvbWUgcmFuZG9tIGJpdHMgd2hpbGUgZ2VuZXJhdGluZyB0aGUgc2VydmVyIGtleS4iCisJCWVjaG8gIiAgICAgIElmIHRoaXMgdGFrZXMgdG9vIGxvbmcsIHlvdSBjYW4gcmVwbGFjZSB0aGUgdmFsdWUgb2YgXCJSQU5ERklMRVwiIGluIC9ldGMvb3BlbndzbWFuL3NzbGVheS5jbmYgd2l0aCAvZGV2L3VyYW5kb20uIFBsZWFzZSB1bmRlcnN0YW5kIHRoZSBpbXBsaWNhdGlvbnMiCisJCWV4aXQgMQorCWZpCitmaQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVud2JlbS9vcGVud2JlbS9sb2FkbW9mLnNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVud2JlbS9vcGVud2JlbS9sb2FkbW9mLnNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRkODc4MTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW53YmVtL29wZW53YmVtL2xvYWRtb2Yuc2gKQEAgLTAsMCArMSwxMTggQEAKKyMhL2Jpbi9zaAorIyAKKyMgb3B0aW9uczoKKyMgbG9hZG1vZi5zaCA8TU9GX1BBVEg+IDxOQU1FU1BBQ0U+IDxGSUxFUz4KKyMKKyMgLSBvciAtCisjCisjIG9wdGlvbnM6CisjIGxvYWRtb2Yuc2ggLW4gPE5BTUVTUEFDRT4gPEZJTEVTPiBbLi4uXQorIworIyBUaGUgZm9ybWVyIGlzIHByZXNlcnZlZCBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIFBlZ2FzdXMgYW5kIAorIyBzYmxpbSBwcm92aWRlcnMuICBUaGUgbGF0dGVyIGlzIHByZWZlcnJlZC4gIElmICQxIGlzICItbiIsCisjIHRoZSBsYXR0ZXIgY29kZSBwYXRoIGlzIGV4ZWN1dGVkLiAgT3RoZXJ3aXNlIHRoZSBmb3JtZXIgaXMgCisjIGV4ZWN1dGVkLgorCitpZiBbICJ4JDEiICE9ICJ4LW4iIC1hICJ4JDEiICE9ICJ4LXYiIF07IHRoZW4KKyMgT0xEIFNUWUxFCitpZiBbIC1mICIvZXRjL2luaXQuZC9vd2NpbW9tZCIgXTsgdGhlbgorICAgIC9ldGMvaW5pdC5kL293Y2ltb21kIHN0YXR1cyAxPiYyID4gL2Rldi9udWxsCisgICAgaWYgWyAkPyA9ICIwIiBdOyB0aGVuCisgICAgICAgIENJTU9NX1JVTk5JTkc9InRydWUiCisgICAgZWxzZQorICAgICAgICBDSU1PTV9SVU5OSU5HPSJmYWxzZSIKKyAgICBmaQorZWxzZQorICAgIGV4aXQgMQorZmkKK2lmIFsgIiRZQVNUX0lTX1JVTk5JTkciID0gImluc3RzeXMiIF07IHRoZW4KKyAgQ0lNT01fUlVOTklORz0iZmFsc2UiCitmaQorCitDSU1PTT0kMQorc2hpZnQKK2Nhc2UgIiRDSU1PTSIgaW4KKyAgICBwZWdhc3VzKQorICAgICAgICBleGl0IDAKKyAgICA7OworZXNhYworTU9GX1BBVEg9JDEKK3NoaWZ0CitOUz0kMQorc2hpZnQKKworUkVQT1NJVE9SWT0iL3Zhci9saWIvb3BlbndiZW0iCisjdG1wX2Rpcj1gbWt0ZW1wIC1kIC1wIC90bXAgb3BlbndiZW0uWFhYWFhYYAorY2FzZSAiJENJTU9NX1JVTk5JTkciIGluIAorICAgIHRydWV8ZmFsc2UpCisgICAgd2hpbGUgWyAiJCMiIC1ndCAwIF0KKyAgICBkbworICAgICAgICBlY2hvICJMb2FkaW5nICRNT0ZfUEFUSC8kMSIKKyAgICAgICAgI3NlZCAicy9jbXBpOi9jbXBpOjovZyIgJE1PRl9QQVRILyQxID4gJHRtcF9kaXIvJDEKKyAgICAgICAgL3Vzci9iaW4vb3dtb2ZjIC1jIC1uICAkTlMgLWQgJFJFUE9TSVRPUlkgJE1PRl9QQVRILyQxID4gL2Rldi9udWxsIDI+JjEKKyAgICAgICAgc2hpZnQKKyAgICBkb25lCisgICAgOzsKK2VzYWMKKyNybSAtcmYgJHRtcF9kaXIKKyMgRU5EIE9MRCBTVFlMRQorCitlbHNlCisjIE5FVyBTVFlMRQoraWYgWyAieCQzIiA9ICJ4IiBdOyB0aGVuCisgICAgZWNobyAiVXNhZ2U6ICQwIC1uIDxOQU1FU1BBQ0U+IDxGSUxFUz4gWy4uLl0iCisgICAgZXhpdCAxCitmaQorCitpZiBbICJ4JDEiID0gIngtdiIgXTsgdGhlbgorICBWRVJCT1NFPTEKKyAgc2hpZnQKK2ZpCisKKyMgZ2V0IHJpZCBvZiAiLW4iIGFyZworc2hpZnQgCisKK05TPSIkMSIKKworc2hpZnQgCisKK0RCRElSPS92YXIvbGliL29wZW53YmVtCitMT0dGSUxFPSREQkRJUi9sb2FkbW9mLmxvZworQ0lNT01fSU5JVD0vZXRjL2luaXQuZC9vd2NpbW9tZAoraWYgWyAiJFlBU1RfSVNfUlVOTklORyIgIT0gImluc3RzeXMiIF0gOyB0aGVuCisgICAgJENJTU9NX0lOSVQgc3RhdHVzID4gL2Rldi9udWxsIDI+JjEKKyAgICBDSU1PTV9SVU5OSU5HPSQ/CitmaQoraWYgWyAieCRDSU1PTV9SVU5OSU5HIiA9ICJ4MCIgIF07IHRoZW4KKyAgJENJTU9NX0lOSVQgc3RvcCA+IC9kZXYvbnVsbCAyPiYxCitmaQorYmtwZGlyPSREQkRJUi9iYWNrdXAtJCQKK21rZGlyICRia3BkaXIKK2NwIC1hICREQkRJUi8qLntkYXQsbmR4LGxvY2t9ICRia3BkaXIvCitybSAtZiAkTE9HRklMRS45Citmb3IgaSBpbiA4IDcgNiA1IDQgMyAyIDEgMDsgZG8KKyAgbGV0IG5ld0k9JGkrMQorICBpZiBbIC1mICRMT0dGSUxFLiRpIF07IHRoZW4KKyAgICBtdiAkTE9HRklMRS4kaSAkTE9HRklMRS4kbmV3SQorICBmaQorZG9uZQoraWYgWyAtZiAkTE9HRklMRSBdOyB0aGVuCisgIG12ICRMT0dGSUxFICRMT0dGSUxFLjAKK2ZpCitpZiBbICJ4JFZFUkJPU0UiID0gIngxIiBdOyB0aGVuCisgIC91c3IvYmluL293bW9mYyAtYyAtbiAkTlMgLWQgJERCRElSIC1zIC91c3Ivc2hhcmUvbW9mL2NpbS1jdXJyZW50ICIkQCIgMj4mMSB8IHRlZSAkTE9HRklMRQorZWxzZQorICAvdXNyL2Jpbi9vd21vZmMgLWMgLW4gJE5TIC1kICREQkRJUiAtcyAvdXNyL3NoYXJlL21vZi9jaW0tY3VycmVudCAiJEAiID4gJExPR0ZJTEUgMj4mMQorZmkKK1JWQUw9JD8KK2lmIFsgIngkUlZBTCIgIT0gIngwIiBdOyB0aGVuCisgIGVjaG8gIk1PRiBpbXBvcnQgZmFpbGVkISAgQ2hlY2sgJExPR0ZJTEUgZm9yIGRldGFpbHMuIgorICBtdiAkYmtwZGlyLyogJERCRElSLworZmkKK3JtIC1yZiAkYmtwZGlyCitpZiBbICJ4JENJTU9NX1JVTk5JTkciID0gIngwIiAgXTsgdGhlbgorICAkQ0lNT01fSU5JVCBzdGFydCA+IC9kZXYvbnVsbCAyPiYxCitmaQorZXhpdCAkUlZBTAorZmkKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVud2JlbS9vcGVud2JlbS9ub3ZlbGwtb3BlbndiZW0tcm9vdC1hY2wubW9mIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVud2JlbS9vcGVud2JlbS9ub3ZlbGwtb3BlbndiZW0tcm9vdC1hY2wubW9mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM5OTcwYzcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW53YmVtL29wZW53YmVtL25vdmVsbC1vcGVud2JlbS1yb290LWFjbC5tb2YKQEAgLTAsMCArMSwyMSBAQAorI3ByYWdtYSBuYW1lc3BhY2UoInJvb3Qvc2VjdXJpdHkiKQorCitpbnN0YW5jZSBvZiBPcGVuV0JFTV9OYW1lc3BhY2VBQ0wKK3sKKwluc3BhY2UgPSAicm9vdCI7CisJY2FwYWJpbGl0eSA9ICIiOworfTsKKworaW5zdGFuY2Ugb2YgT3BlbldCRU1fTmFtZXNwYWNlQUNMCit7CisJbnNwYWNlID0gInJvb3QvY2ltdjIiOworCWNhcGFiaWxpdHkgPSAiIjsKK307CisKK2luc3RhbmNlIG9mIE9wZW5XQkVNX1VzZXJBQ0wKK3sKKwluc3BhY2UgPSAicm9vdC9jaW12MiI7CisJdXNlcm5hbWUgPSAicm9vdCI7CisJY2FwYWJpbGl0eSA9ICJydyI7Cit9OworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW53YmVtL29wZW53YmVtL29wZW53YmVtLWV0Y19wYW0uZF9vcGVud2JlbSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbndiZW0vb3BlbndiZW0vb3BlbndiZW0tZXRjX3BhbS5kX29wZW53YmVtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIzNzg1YWEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW53YmVtL29wZW53YmVtL29wZW53YmVtLWV0Y19wYW0uZF9vcGVud2JlbQpAQCAtMCwwICsxLDcgQEAKKyMlUEFNLTEuMAorYXV0aCAgICAgICByZXF1aXJlZAlwYW1fdW5peDIuc28JbnVsbG9rCithdXRoICAgICAgIHJlcXVpcmVkCXBhbV9ub2xvZ2luLnNvCithY2NvdW50ICAgIHJlcXVpcmVkCXBhbV91bml4Mi5zbworcGFzc3dvcmQgICByZXF1aXJlZAlwYW1fcHdjaGVjay5zbwludWxsb2sKK3Bhc3N3b3JkICAgcmVxdWlyZWQJcGFtX3VuaXgyLnNvCW51bGxvayB1c2VfZmlyc3RfcGFzcyB1c2VfYXV0aHRvaworc2Vzc2lvbiAgICByZXF1aXJlZAlwYW1fdW5peDIuc28Jbm9uZQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVud2JlbS9vcGVud2JlbS9vcGVud2JlbS1vd2NpbW9tZC5pbml0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVud2JlbS9vcGVud2JlbS9vcGVud2JlbS1vd2NpbW9tZC5pbml0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ3ZmE4YTcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW53YmVtL29wZW53YmVtL29wZW53YmVtLW93Y2ltb21kLmluaXQKQEAgLTAsMCArMSwxMzEgQEAKKyMhL2Jpbi9zaAorIworIyMjIEJFR0lOIElOSVQgSU5GTworIyBQcm92aWRlczogb3djaW1vbWQKKyMgUmVxdWlyZWQtU3RhcnQ6ICRuZXR3b3JrCisjIFJlcXVpcmVkLVN0b3A6ICRuZXR3b3JrCisjIERlZmF1bHQtU3RhcnQ6IDIgMyA0IDUKKyMgRGVmYXVsdC1TdG9wOiAwIDEgNiAKKyMgU2hvcnQtRGVzY3JpcHRpb246IE9wZW5XQkVNIENJTU9NIERhZW1vbgorIyBEZXNjcmlwdGlvbjogb3djaW1vbWQKKyMgICAgICAgU3RhcnQvU3RvcCB0aGUgT3BlbldCRU0gQ0lNT00gRGFlbW9uCisjIyMgRU5EIElOSVQgSU5GTworIworIworIyBjaGtjb25maWc6IDIzNDUgMzYgNjQKKyMgZGVzY3JpcHRpb246IE9wZW5XQkVNIENJTU9NIERhZW1vbgorIyBwcm9jZXNzbmFtZTogb3djaW1vbWQKKworTkFNRT1vd2NpbW9tZAorREFFTU9OPS91c3Ivc2Jpbi8kTkFNRQorT1BUSU9OUz0KK1BJREZJTEU9L3Zhci9ydW4vJE5BTUUucGlkCisKK2lmIFsgJEVVSUQgIT0gMCBdOyB0aGVuCisgZWNobyAiVGhpcyBzY3JpcHQgbXVzdCBiZSBydW4gYXMgcm9vdC4iCisgZXhpdCAxOworZmkKKworaWYgWyAiJERFU0NSSVBUSVZFIiA9ICIiIF07IHRoZW4KKyBERVNDUklQVElWRT0iT3BlbldCRU0gQ0lNT00gRGFlbW9uIgorZmkKKworbG9ja2ZpbGU9JHtTVklsb2NrOi0vdmFyL2xvY2svc3Vic3lzLyROQU1FfQorCitbIC14ICREQUVNT04gXSB8fCBleGl0IDAKKworIyBTZWUgaG93IHdlIHdlcmUgY2FsbGVkLgorLiAvZXRjL2luaXQuZC9mdW5jdGlvbnMKKworc3RhcnQoKSB7CisgICAgaWYgWyAhIC1mICIvZXRjL29wZW53YmVtL3NlcnZlcmtleS5wZW0iIF07IHRoZW4KKyAgICAgICAgaWYgWyAtZiAiL2V0Yy9zc2wvc2VydmVyY2VydHMvc2VydmVyY2VydC5wZW0iIFwKKyAgICAgICAgICAgICAgICAtYSAtZiAiL2V0Yy9zc2wvc2VydmVyY2VydHMvc2VydmVya2V5LnBlbSIgXTsgdGhlbgorICAgICAgICAgICAgZWNobyAiVXNpbmcgY29tbW9uIHNlcnZlciBjZXJ0aWZpY2F0ZSAvZXRjL3NzbC9zZXJ2ZXJjZXJ0cy9zZXJ2ZXJjZXJ0LnBlbSIKKyAgICAgICAgICAgIGxuIC1zIC9ldGMvc3NsL3NlcnZlcmNlcnRzL3NlcnZlcntjZXJ0LGtleX0ucGVtIC9ldGMvb3BlbndiZW0vCisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGVjaG8gIkdlbmVyYXRpbmcgT3BlbldCRU0gc2VydmVyIHB1YmxpYyBjZXJ0aWZpY2F0ZSBhbmQgcHJpdmF0ZSBrZXkiCisgICAgICAgICAgICBGUUROPWBob3N0bmFtZSAtLWZxZG5gCisgICAgICAgICAgICBpZiBbICJ4JHtGUUROfSIgPSAieCIgXTsgdGhlbgorICAgICAgICAgICAgICAgIEZRRE49bG9jYWxob3N0LmxvY2FsZG9tYWluCisgICAgICAgICAgICBmaQorY2F0IDw8IEVPRiB8IHNoIC9ldGMvb3BlbndiZW0vb3dnZW5jZXJ0ID4gL2Rldi9udWxsIDI+JjEKKy0tCitTb21lU3RhdGUKK1NvbWVDaXR5CitTb21lT3JnYW5pemF0aW9uCitTb21lT3JnYW5pemF0aW9uYWxVbml0Ciske0ZRRE59Cityb290QCR7RlFETn0KK0VPRgorICAgICAgICBmaQorICAgIGZpCisKKyAgICAjIFN0YXJ0IGRhZW1vbnMuCisgICAgZWNobyAtbiAiU3RhcnRpbmcgdGhlICRERVNDUklQVElWRSIKKyAgICBkYWVtb24gJERBRU1PTiAkT1BUSU9OUyA+IC9kZXYvbnVsbCAyPiYxIAorICAgIFJFVFZBTD0kPworCisgICAgaWYgWyAkUkVUVkFMIC1lcSAwIF07IHRoZW4KKyAgICAgICAgdG91Y2ggJGxvY2tmaWxlCisgICAgICAgIHN1Y2Nlc3MKKyAgICBmaQorCisgICAgZWNobworICAgIHJldHVybiAkUkVUVkFMCit9CisKK3N0b3AoKSB7CisgICAgIyBTdG9wIGRhZW1vbnMuCisgICAgZWNobyAtbiAiU2h1dHRpbmcgZG93biAkREVTQ1JJUFRJVkUiCisgICAga2lsbHByb2MgJERBRU1PTgorICAgIFJFVFZBTD0kPworCisgICAgaWYgWyAkUkVUVkFMIC1lcSAwIF07IHRoZW4KKyAgICAgICAgcm0gLWYgJGxvY2tmaWxlCisgICAgICAgIHN1Y2Nlc3MKKyAgICBlbHNlCisgICAgICAgIGZhaWx1cmUKKyAgICBmaQorICAgIGVjaG8KKyAgICByZXR1cm4gJFJFVFZBTAorfQorCityZXN0YXJ0KCkgeworICAgIHN0b3AKKyAgICBzdGFydAorfQorCitjYXNlICIkMSIgaW4KKyAgICBzdGFydCkKKyAgICBzdGFydAorICAgIDs7CisKKyAgICBzdG9wKQorICAgIHN0b3AKKyAgICA7OworCisgICAgcmVzdGFydHxmb3JjZS1yZWxvYWQpCisgICAgcmVzdGFydAorICAgIDs7CisKKyAgICByZWxvYWQpCisgICAgZWNobyAtbiAiUmVsb2FkIHNlcnZpY2UgJERFU0NSSVBUSVZFIgorICAgIGtpbGxwcm9jIC1wICRQSURGSUxFICAtSFVQICREQUVNT04KKyAgICBSRVRWQUw9JD8KKyAgICBlY2hvCisgICAgZXhpdCAkUkVUVkFMCisgICAgOzsKKworICAgIHN0YXR1cykKKyAgICBlY2hvIC1uICJDaGVja2luZyBmb3Igc2VydmljZSAkREVTQ1JJUFRJVkUiCisgICAgc3RhdHVzICREQUVNT04KKyAgICBSRVRWQUw9JD8KKyAgICBleGl0ICRSRVRWQUwKKyAgICA7OworCisgICAgKikKKyAgICBlY2hvICJVc2FnZTogJDAge3Jlc3RhcnR8c3RhcnR8c3RvcHxyZWxvYWR8Zm9yY2UtcmVsb2FkfHN0YXR1c30iCitlc2FjCisKK2V4aXQgJFJFVFZBTApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVud2JlbS9vcGVud2JlbS9vcGVud2JlbS1ycG1saW50cmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW53YmVtL29wZW53YmVtL29wZW53YmVtLXJwbWxpbnRyYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ODVlMzJhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVud2JlbS9vcGVud2JlbS9vcGVud2JlbS1ycG1saW50cmMKQEAgLTAsMCArMSwyIEBACithZGRGaWx0ZXIoImRldmVsLWZpbGUtaW4tbm9uLWRldmVsLXBhY2thZ2UgLiovbGliLipcLnNvIikKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVud2JlbS9vcGVud2JlbS9vd2NpbW9tZC5zZXJ2aWNlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVud2JlbS9vcGVud2JlbS9vd2NpbW9tZC5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM2Njk0YjcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW53YmVtL29wZW53YmVtL293Y2ltb21kLnNlcnZpY2UKQEAgLTAsMCArMSwxMiBAQAorW1VuaXRdCitEZXNjcmlwdGlvbj1XZWIgQmFzZWQgRW50ZXJwcmlzZSBNYW5hZ2VtZW50IChXQkVNKSBJbXBsZW1lbnRhdGlvbgorQWZ0ZXI9c3lzbG9nLnRhcmdldAorCitbU2VydmljZV0KK1R5cGU9Zm9ya2luZworRXhlY1N0YXJ0PS91c3Ivc2Jpbi9vd2NpbW9tZAorRXhlY1N0YXJ0UHJlPS9ldGMvb3BlbndiZW0vY2hlY2tzZXJ2ZXJrZXkKK1BJREZpbGU9L3Zhci9ydW4vb3djaW1vbWQucGlkCisKK1tJbnN0YWxsXQorV2FudGVkQnk9bXVsdGktdXNlci50YXJnZXQKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbndiZW0vb3BlbndiZW0vcm1tb2Yuc2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW53YmVtL29wZW53YmVtL3JtbW9mLnNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE0OTU0MTUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW53YmVtL29wZW53YmVtL3JtbW9mLnNoCkBAIC0wLDAgKzEsNTMgQEAKKyMhL2Jpbi9zaAorIyAKKyMgb3B0aW9uczoKKyMgcm1tb2Yuc2ggPE1PRl9QQVRIPiA8TkFNRVNQQUNFPiA8RklMRVM+CisjCisjIC0gb3IgLQorIworIyBvcHRpb25zOgorIyBsb2FkbW9mLnNoIC1uIDxOQU1FU1BBQ0U+IDxGSUxFUz4gWy4uLl0KKyMKKyMgVGhlIGZvcm1lciBpcyBwcmVzZXJ2ZWQgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBQZWdhc3VzIGFuZCAKKyMgc2JsaW0gcHJvdmlkZXJzLiAgVGhlIGxhdHRlciBpcyBwcmVmZXJyZWQuICBJZiAkMSBpcyAiLW4iLAorIyB0aGUgbGF0dGVyIGNvZGUgcGF0aCBpcyBleGVjdXRlZC4gIE90aGVyd2lzZSB0aGUgZm9ybWVyIGlzIAorIyBleGVjdXRlZC4KKworaWYgWyAieCQzIiA9ICJ4IiBdOyB0aGVuCisgICAgZWNobyAiVXNhZ2U6ICQwIC1uIDxOQU1FU1BBQ0U+IDxGSUxFUz4gWy4uLl0iCisgICAgZXhpdCAxCitmaQorCisjIGdldCByaWQgb2YgIi1uIiBhcmcKK3NoaWZ0IAorCitOUz0iJDEiCisKK3NoaWZ0IAorCitEQkRJUj0vdmFyL2xpYi9vcGVud2JlbQorQ0lNT01fSU5JVD0vZXRjL2luaXQuZC9vd2NpbW9tZAoraWYgWyAiJFlBU1RfSVNfUlVOTklORyIgIT0gImluc3RzeXMiIF0gOyB0aGVuCisgICAgJENJTU9NX0lOSVQgc3RhdHVzCisgICAgQ0lNT01fUlVOTklORz0kPworZmkKK2lmIFsgIngkQ0lNT01fUlVOTklORyIgPSAieDAiICBdOyB0aGVuCisgICRDSU1PTV9JTklUIHN0b3AKK2ZpCitia3BkaXI9L3RtcC9vd3JlcC5ia3AtJCQKK21rZGlyICRia3BkaXIKK2NwIC1hICREQkRJUiAkYmtwZGlyLworZWNobyAiQ29tcGlsaW5nIE1PRiBmaWxlcyIKKy91c3IvYmluL293bW9mYyAtciAtbiAkTlMgLWQgJERCRElSICIkQCIgPiAvZGV2L251bGwgMj4mMQorUlZBTD0kPworaWYgWyAieCRSVkFMIiAhPSAieDAiIF07IHRoZW4KKyAgZWNobyAiTU9GIGltcG9ydCBmYWlsZWQhIgorICBybSAtcmYgJERCRElSCisgIG12ICRia3BkaXIvb3BlbndiZW0gJERCRElSCitmaQorcm0gLXJmICRia3BkaXIKK2lmIFsgIngkQ0lNT01fUlVOTklORyIgPSAieDAiICBdOyB0aGVuCisgICRDSU1PTV9JTklUIHN0YXJ0CitmaQorZXhpdCAkUlZBTAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW53YmVtL29wZW53YmVtXzMuMi4zLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVud2JlbS9vcGVud2JlbV8zLjIuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZDhlZjI2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVud2JlbS9vcGVud2JlbV8zLjIuMy5iYgpAQCAtMCwwICsxLDExMiBAQAorU1VNTUFSWSA9ICJXZWIgQmFzZWQgRW50ZXJwcmlzZSBNYW5hZ2VtZW50IChXQkVNKSBJbXBsZW1lbnRhdGlvbiIKK0RFU0NSSVBUSU9OID0gIk9wZW5XQkVNIGlzIGEgc2V0IG9mIHNvZnR3YXJlIGNvbXBvbmVudHMgdGhhdCBoZWxwIGZhY2lsaXRhdGUgXAorZGVwbG95bWVudCBvZiB0aGUgQ29tbW9uIEluZm9ybWF0aW9uIE1vZGVsIChDSU0pIGFuZCBXZWItQmFzZWQgXAorRW50ZXJwcmlzZSBNYW5hZ2VtZW50IChXQkVNKSB0ZWNobm9sb2dpZXMgb2YgdGhlIERpc3RyaWJ1dGVkIE1hbmFnZW1lbnQgXAorVGFzayBGb3JjZSAoRE1URikuIFwKKyBcCitXZWItQmFzZWQgRW50ZXJwcmlzZSBNYW5hZ2VtZW50IChXQkVNKSBpcyBhIHNldCBvZiBtYW5hZ2VtZW50IGFuZCBcCitJbnRlcm5ldCBzdGFuZGFyZCB0ZWNobm9sb2dpZXMgZGV2ZWxvcGVkIHRvIHVuaWZ5IHRoZSBtYW5hZ2VtZW50IG9mIFwKK2Rpc3RyaWJ1dGVkIGNvbXB1dGluZyBlbnZpcm9ubWVudHMuIFdCRU0gcHJvdmlkZXMgdGhlIGFiaWxpdHkgZm9yIHRoZSBcCitpbmR1c3RyeSB0byBkZWxpdmVyIGEgd2VsbC1pbnRlZ3JhdGVkIHNldCBvZiBzdGFuZGFyZHMtYmFzZWQgbWFuYWdlbWVudCBcCit0b29scywgZmFjaWxpdGF0aW5nIHRoZSBleGNoYW5nZSBvZiBkYXRhIGFjcm9zcyBvdGhlcndpc2UgZGlzcGFyYXRlIFwKK3RlY2hub2xvZ2llcyBhbmQgcGxhdGZvcm1zLiBcCisgXAorRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgRE1URiBhbmQgaXRzIHRlY2hub2xvZ2llcywgdmlzaXQgXAoraHR0cDovL3d3dy5kbXRmLm9yZy9zdGFuZGFyZHMuICIKK1NFQ1RJT04gPSAiU3lzdGVtL01hbmFnZW1lbnQiCitIT01FUEFHRSA9ICJodHRwOi8vb3BlbndiZW0uc291cmNlZm9yZ2UubmV0LyIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHBrZ2NvbmZpZworCitTT1VSQ0UxPSJub3ZlbGwtb3BlbndiZW0tcm9vdC1hY2wubW9mIgorU09VUkNFMj0ibG9hZG1vZi5zaCIKK1NPVVJDRTM9InJtbW9mLnNoIgorU09VUkNFND0ib3BlbndiZW0tb3djaW1vbWQuaW5pdCIKK1NPVVJDRTU9Im9wZW53YmVtLWV0Y19wYW0uZF9vcGVud2JlbSIKK1NPVVJDRTY9Im9wZW53YmVtLXJwbWxpbnRyYyIKKworU1JDX1VSSSA9ICIgXAorICAgZ2l0Oi8vZ2l0aHViLmNvbS9ra2FlbXBmL29wZW53YmVtLmdpdCBcCisgICBmaWxlOi8vJHtTT1VSQ0UxfSBcCisgICBmaWxlOi8vJHtTT1VSQ0UyfSBcCisgICBmaWxlOi8vJHtTT1VSQ0UzfSBcCisgICBmaWxlOi8vJHtTT1VSQ0U0fSBcCisgICBmaWxlOi8vJHtTT1VSQ0U1fSBcCisgICBmaWxlOi8vJHtTT1VSQ0U2fSBcCisgICBmaWxlOi8vY2hlY2tzZXJ2ZXJrZXkgXAorICAgZmlsZTovL293Y2ltb21kLnNlcnZpY2UgXAorIgorU1JDUkVWID0gIjVjNjg4ZWVmYzFmOGUzNWE0YjFjNTg1MjlhYWU1ZjExNGMyNWMyYTgiCitTID0gIiR7V09SS0RJUn0vZ2l0IgorTElDRU5TRSA9ICJCU0QtMy1DbGF1c2UiCitMSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vQ09QWUlORzttZDU9MDUwNGEyZWI4NWUwMWFhOTJjOWVmZDQxMjVhMzQ2NjAiCitJTlNBTkVfU0tJUF8ke1BOfSA9ICJkZXYtc28iCitERVBFTkRTICs9ICJvcGVuc3NsIGxpYnBhbSBiYXNoIgorUkRFUEVORFNfJHtQTn0gKz0gImJhc2giCitFWFRSQV9PRUNPTkYgPSAiIFwKKyAgICAtLXByZWZpeD0vdXNyIFwKKyAgICAtLXN5c2NvbmZkaXI9L2V0YyBcCisgICAgLS1saWJkaXI9JHtsaWJkaXJ9IFwKKyAgICAtLWxvY2Fsc3RhdGVkaXI9L3Zhci9saWIgXAorICAgIC0tbGliZXhlY2Rpcj0ke2xpYmRpcn0vb3BlbndiZW0vYmluIFwKKyAgICAtLW1hbmRpcj0vdXNyL3NoYXJlL21hbiBcCisgICAgLS1lbmFibGUtdGhyZWFkcy1ydW4tYXMtdXNlciBcCisiCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICBhdXRvcmVjb25mIC0tZm9yY2UgLS1pbnN0YWxsCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgb2VfcnVubWFrZSBERVNURElSPSR7RH0gaW5zdGFsbAorICAgIGluc3RhbGwgLWQgJHtEfS9ldGMvb3BlbndiZW0vb3BlbndiZW0uY29uZi5kCisgICAgaW5zdGFsbCAtZCAke0R9L3Zhci9hZG0vZmlsbHVwLXRlbXBsYXRlcworICAgIGluc3RhbGwgLW0gNjQ0IGV0Yy9zeXNjb25maWcvZGFlbW9ucy9vd2NpbW9tZCAke0R9L3Zhci9hZG0vZmlsbHVwLXRlbXBsYXRlcy9zeXNjb25maWcub3djaW1vbWQKKyAgICAKKyAgICAjIGZpeCB1cCBoYXJkY29kZWQgcGF0aHMKKyAgICBzZWQgLWkgLWUgJ3MsL3Vzci9zYmluLywke3NiaW5kaXJ9LywnICR7V09SS0RJUn0vb3djaW1vbWQuc2VydmljZQorICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdzeXN0ZW1kJywndHJ1ZScsJ2ZhbHNlJyxkKX07IHRoZW4KKyAgICAgICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICAgICAgaW5zdGFsbCAtbSA2NDQgJHtXT1JLRElSfS9vd2NpbW9tZC5zZXJ2aWNlICR7RH0vJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgICAgICBpbnN0YWxsIC1tIDc1NSAke1dPUktESVJ9L2NoZWNrc2VydmVya2V5ICR7RH0ke3N5c2NvbmZkaXJ9L29wZW53YmVtLworICAgIGZpCisKKyAgICBpbnN0YWxsIC1kICR7RH0vZXRjL2luaXQuZAorICAgIGxuIC1zZiAuLi8uLi9ldGMvaW5pdC5kL293Y2ltb21kICR7RH0vdXNyL3NiaW4vcmNvd2NpbW9tZAorICAgIGluc3RhbGwgLW0gNzU1ICR7V09SS0RJUn0vJHtTT1VSQ0U0fSAke0R9L2V0Yy9pbml0LmQvb3djaW1vbWQKKyAgICBpbnN0YWxsIC1kICR7RH0ke3NiaW5kaXJ9CisgICAgaW5zdGFsbCAtZCAke0R9L3Vzci9iaW4KKyAgICBpbnN0YWxsIC1kICR7RH0vZXRjL3BhbS5kCisgICAgaW5zdGFsbCAtZCAke0R9LyR7bGliZGlyfS9vcGVud2JlbS9jbXBpcHJvdmlkZXJzCisgICAgaW5zdGFsbCAtbSA2NDQgZXRjL3BhbS5kL29wZW53YmVtICR7RH0vZXRjL3BhbS5kCisgICAgaW5zdGFsbCAtZCAke0R9LyR7bGliZGlyfS9vcGVud2JlbS9jKytwcm92aWRlcnMKKyAgICBpbnN0YWxsIC1kICR7RH0vdmFyL2xpYi9vcGVud2JlbQorICAgIGluc3RhbGwgLW0gNzU1ICR7V09SS0RJUn0vJHtTT1VSQ0UyfSAke0R9L3Vzci9iaW4vb3ctbG9hZG1vZi5zaAorICAgIGluc3RhbGwgLW0gNzU1ICR7V09SS0RJUn0vJHtTT1VSQ0UzfSAke0R9L3Vzci9iaW4vb3ctcm1tb2Yuc2gKKyAgICBpbnN0YWxsIC1tIDY0NCAke1dPUktESVJ9LyR7U09VUkNFNX0gJHtEfS9ldGMvcGFtLmQvb3BlbndiZW0KKworICAgIE1PRlBBVEg9JHtEfS91c3Ivc2hhcmUvbW9mL29wZW53YmVtCisgICAgaW5zdGFsbCAtZCAkTU9GUEFUSAorICAgIG12ICR7RH0vdXNyL3NoYXJlL29wZW53YmVtLyogJE1PRlBBVEgvCisgICAgcm1kaXIgJHtEfS91c3Ivc2hhcmUvb3BlbndiZW0KKyAgICBpbnN0YWxsIC1tIDY0NCAke1dPUktESVJ9LyR7U09VUkNFMX0gJE1PRlBBVEgvCisKKyAgICB0b3VjaCAke0R9L3Zhci9saWIvb3BlbndiZW0ve2NsYXNzYXNzb2NpYXRpb24saW5zdGFuY2VzLGluc3Rhc3NvY2lhdGlvbixuYW1lc3BhY2VzLHNjaGVtYX0ue2RhdCxuZHgsbG9ja30KK30KKworaW5oZXJpdCAke0BiYi51dGlscy5jb250YWlucygnVklSVFVBTC1SVU5USU1FX2luaXRfbWFuYWdlcicsJ3N5c3RlbWQnLCdzeXN0ZW1kJywnJywgZCl9CitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAib3djaW1vbWQuc2VydmljZSIKK1NZU1RFTURfQVVUT19FTkFCTEUgPSAiZGlzYWJsZSIKK0ZJTEVTXyR7UE59ICs9ICIgXAorICAgICR7bGliZGlyfSBcCisgICAgJHtkYXRhZGlyfS9tb2YgXAorICAgICR7c3lzdGVtZF91bml0ZGlyfSBcCisiCitGSUxFU18ke1BOfS1kYmcgKz0gIiBcCisgICAgJHtsaWJkaXJ9L29wZW53YmVtL2MrK3Byb3ZpZGVycy8uZGVidWcgXAorICAgICR7bGliZGlyfS9vcGVud2JlbS9wcm92aWZjcy8uZGVidWcgXAorICAgICR7bGliZGlyfS9vcGVud2JlbS9iaW4vb3BlbndiZW0vLmRlYnVnIFwKKyIKK0ZJTEVTXyR7UE59LWRldiA9ICIgXAorICAgICR7aW5jbHVkZWRpcn0gXAorICAgICR7ZGF0YWRpcn0vYWNsb2NhbC9vcGVud2JlbS5tNCBcCisiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3A5MTBuZC9wOTEwbmQvZml4LXZhci1sb2NrLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wOTEwbmQvcDkxMG5kL2ZpeC12YXItbG9jay5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYTg0ZTE4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wOTEwbmQvcDkxMG5kL2ZpeC12YXItbG9jay5wYXRjaApAQCAtMCwwICsxLDMwIEBACitVc2UgL3Zhci9sb2NrIGluc3RlYWQgb2YgL3Zhci9sb2NrL3N1YnN5cworCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK0luZGV4OiBwOTEwbmQvcDkxMG5kLjgKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBwOTEwbmQub3JpZy9wOTEwbmQuOAkyMDExLTExLTE0IDIyOjQxOjQxLjkwNDYxNTg3OSArMDEwMAorKysrIHA5MTBuZC9wOTEwbmQuOAkyMDExLTExLTE0IDIyOjQ5OjUyLjI5OTA0NzYwNyArMDEwMAorQEAgLTgzLDcgKzgzLDcgQEAKKyAuU0ggIlNFRSBBTFNPIgorIHByaW50Y2FwKDUpLCBob3N0c19hY2Nlc3MoNSkKKyAuU0ggRklMRVMKKy0vdmFyL3J1bi9wOTEwMGQucGlkLCAvdmFyL2xvY2svc3Vic3lzL3A5MTAwZCwgL2V0Yy9ob3N0cy5hbGxvdywgL2V0Yy9ob3N0cy5kZW55CisrL3Zhci9ydW4vcDkxMDBkLnBpZCwgL3Zhci9sb2NrL3A5MTAwZCwgL2V0Yy9ob3N0cy5hbGxvdywgL2V0Yy9ob3N0cy5kZW55CisgLlNIIENPUFlSSUdIVAorIC5JIHA5MTBuZAorIGlzIHVuZGVyIHRoZSBHTlUgUHVibGljIExpY2Vuc2UgVmVyc2lvbiAyCitJbmRleDogcDkxMG5kL3A5MTBuZC5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gcDkxMG5kLm9yaWcvcDkxMG5kLmMJMjAxMS0xMS0xNCAyMjo0Nzo0MS45ODY0MDE0MjAgKzAxMDAKKysrKyBwOTEwbmQvcDkxMG5kLmMJMjAxMS0xMS0xNCAyMjo0OToyNy4yNzQ5MjM1MjQgKzAxMDAKK0BAIC0xMjIsNyArMTIyLDcgQEAKKyAjaWZkZWYJCUxPQ0tGSUxFX0RJUgorICNkZWZpbmUJCUxPQ0tGSUxFCUxPQ0tGSUxFX0RJUiAiL3A5MTAlY2QiCisgI2Vsc2UKKy0jZGVmaW5lCQlMT0NLRklMRQkiL3Zhci9sb2NrL3N1YnN5cy9wOTEwJWNkIgorKyNkZWZpbmUJCUxPQ0tGSUxFCSIvdmFyL2xvY2svcDkxMCVjZCIKKyAjZW5kaWYKKyAjaWZuZGVmCQlQUklOVEVSRklMRQorICNkZWZpbmUgICAgICAgICBQUklOVEVSRklMRSAgICAgIi9kZXYvbHAlYyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcDkxMG5kL3A5MTBuZF8wLjk1LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wOTEwbmQvcDkxMG5kXzAuOTUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWViYmIyOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcDkxMG5kL3A5MTBuZF8wLjk1LmJiCkBAIC0wLDAgKzEsMjIgQEAKK0RFU0NSSVBUSU9OID0gIkEgc21hbGwgbmV0d29yayBwcmludGVyIGRhZW1vbiBmb3IgZW1iZWRkZWQgc2l0dWF0aW9ucyB0aGF0IHBhc3NlcyB0aGUgam9iIGRpcmVjdGx5IHRvIHRoZSBwcmludGVyIgorSE9NRVBBR0UgPSAiaHR0cDovL3A5MTBuZC5zb3VyY2Vmb3JnZS5uZXQvIgorU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PThjYTQzY2JjODQyYzIzMzZlODM1OTI2YzIxNjZjMjhiIgorCitQUiA9ICJyMiIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vcDkxMG5kL3A5MTBuZC0ke1BWfS50YXIuYnoyIFwKKyAgICAgICAgICAgZmlsZTovL2ZpeC12YXItbG9jay5wYXRjaCIKKworU1JDX1VSSVttZDVzdW1dID0gImM3YWM2YWZkZjc3MzBhYzgzODdhOGU4NzE5OGQ0NDkxIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjdkNzg2NDJjODZkYzI0N2ZiZGVmMWZmODVjNTY2MjlkY2RjNmIyYTQ1N2M3ODY0MjAyOTllMjg0ZmZmY2IwMjkiCisKK2RvX2NvbXBpbGUgKCkgeworICAgICR7Q0N9ICR7TERGTEFHU30gLW8gcDkxMG5kIHA5MTBuZC5jCit9CisKK2RvX2luc3RhbGwgKCkgeworICAgIGluc3RhbGwgLUQgLW0gMDc1NSAke1N9L3A5MTBuZCAke0R9JHtzYmluZGlyfS9wOTEwbmQKKyAgICBpbnN0YWxsIC1EIC1tIDA2NDQgJHtTfS9wOTEwbmQuY29uZiAke0R9JHtzeXNjb25mZGlyfS9wOTEwbmQuY29uZgorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wYW0tcGFzc3dkcWMvZmlsZXMvMTAwMHBhdGNoLTIxOTIwMS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcGFtLXBhc3N3ZHFjL2ZpbGVzLzEwMDBwYXRjaC0yMTkyMDEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzY2ZDQ2MQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcGFtLXBhc3N3ZHFjL2ZpbGVzLzEwMDBwYXRjaC0yMTkyMDEucGF0Y2gKQEAgLTAsMCArMSwxNTYgQEAKK2RpZmYgLXVyTnAgcGFtX3Bhc3N3ZHFjLTEuMC41LW9yaWcvcGFtX3Bhc3N3ZHFjLmMgcGFtX3Bhc3N3ZHFjLTEuMC41L3BhbV9wYXNzd2RxYy5jCistLS0gcGFtX3Bhc3N3ZHFjLTEuMC41LW9yaWcvcGFtX3Bhc3N3ZHFjLmMJMjAwOC0wMi0xMiAxNToxMToxMy4wMDAwMDAwMDAgLTA1MDAKKysrKyBwYW1fcGFzc3dkcWMtMS4wLjUvcGFtX3Bhc3N3ZHFjLmMJMjAwOS0wOS0yOCAxMjoxMDozMi4xNzE2OTY2OTQgLTA0MDAKK0BAIC03MCw2ICs3MCw4IEBAIHR5cGVkZWYgc3RydWN0IHsKKyAJcGFzc3dkcWNfcGFyYW1zX3QgcWM7CisgCWludCBmbGFnczsKKyAJaW50IHJldHJ5OworKwljaGFyIG9sZHBhc3NfcHJvbXB0X2ZpbGVbRklMRV9MRU4rMV07CisrCWNoYXIgbmV3cGFzc19wcm9tcHRfZmlsZVtGSUxFX0xFTisxXTsKKyB9IHBhcmFtc190OworIAorIHN0YXRpYyBwYXJhbXNfdCBkZWZhdWx0cyA9IHsKK0BAIC03OSwxMCArODEsMTMgQEAgc3RhdGljIHBhcmFtc190IGRlZmF1bHRzID0geworIAkJMywJCQkJLyogcGFzc3BocmFzZV93b3JkcyAqLworIAkJNCwJCQkJLyogbWF0Y2hfbGVuZ3RoICovCisgCQkxLAkJCQkvKiBzaW1pbGFyX2RlbnkgKi8KKy0JCTQyCQkJCS8qIHJhbmRvbV9iaXRzICovCisrCQk0MiwJCQkJLyogcmFuZG9tX2JpdHMgKi8KKysJCTEJCQkJLyogZmlyc3R1cHBlcl9sYXN0ZGlnaXRfY2hlY2sgKi8KKyAJfSwKKyAJRl9FTkZPUkNFX0VWRVJZT05FLAkJCS8qIGZsYWdzICovCistCTMJCQkJCS8qIHJldHJ5ICovCisrCTMsCQkJCQkvKiByZXRyeSAqLworKwkiIiwJCQkJCS8qIG9sZHBhc3NfcHJvbXB0X2ZpbGUgKi8KKysJIiIJCQkJCS8qIG5ld3Bhc3NfcHJvbXB0X2ZpbGUgKi8KKyB9OworIAorICNkZWZpbmUgUFJPTVBUX09MRFBBU1MgXAorQEAgLTM2MSw2ICszNjYsMzcgQEAgc3RhdGljIGludCBwYXJzZShwYXJhbXNfdCAqcGFyYW1zLCBwYW1faAorIAkJaWYgKCFzdHJjbXAoKmFyZ3YsICJ1c2VfYXV0aHRvayIpKSB7CisgCQkJcGFyYW1zLT5mbGFncyB8PSBGX1VTRV9BVVRIVE9LOworIAkJfSBlbHNlCisrCQlpZiAoIXN0cmNtcCgqYXJndiwgImRpc2FibGVfZmlyc3R1cHBlcl9sYXN0ZGlnaXRfY2hlY2siKSkgeworKwkJCXBhcmFtcy0+cWMuZmlyc3R1cHBlcl9sYXN0ZGlnaXRfY2hlY2sgPSAwOworKwkJfSBlbHNlCisrCQlpZiAoIXN0cm5jbXAoKmFyZ3YsICJvbGRwYXNzX3Byb21wdF9maWxlPSIsIDIwKSkgeworKwkJCWludCBuOworKwkJCUZJTEUgKmZwID0gZm9wZW4oKmFyZ3YgKyAyMCwgInIiKTsKKysJCQlpZiAoZnApIHsKKysJCQkJbj1mcmVhZChwYXJhbXMtPm9sZHBhc3NfcHJvbXB0X2ZpbGUsIHNpemVvZihjaGFyKSwgRklMRV9MRU4sIGZwKTsKKysJCQkJaWYgKDA9PW4gfHwgZmVycm9yKGZwKSE9MCApIHsKKysJCQkJCW1lbXNldChwYXJhbXMtPm9sZHBhc3NfcHJvbXB0X2ZpbGUsICdcMCcsIEZJTEVfTEVOKzEpOworKwkJCQl9CisrCQkJCWVsc2UgeworKwkJCQkJZmVvZihmcCk/IChwYXJhbXMtPm9sZHBhc3NfcHJvbXB0X2ZpbGVbbi0xXT0nXDAnKTogKHBhcmFtcy0+b2xkcGFzc19wcm9tcHRfZmlsZVtuXT0nXDAnKTsKKysJCQkJfQorKwkJCQlmY2xvc2UoZnApOworKwkJCX0KKysJCX0gZWxzZQorKwkJaWYgKCFzdHJuY21wKCphcmd2LCAibmV3cGFzc19wcm9tcHRfZmlsZT0iLCAyMCkpIHsKKysJCQlpbnQgbjsKKysJCQlGSUxFICpmcCA9IGZvcGVuKCphcmd2ICsgMjAsICJyIik7CisrCQkJaWYgKGZwKSB7CisrCQkJCW49ZnJlYWQocGFyYW1zLT5uZXdwYXNzX3Byb21wdF9maWxlLCBzaXplb2YoY2hhciksIEZJTEVfTEVOLCBmcCk7CisrCQkJCWlmICgwPT1uIHx8IGZlcnJvcihmcCkhPTAgKSB7CisrCQkJCQltZW1zZXQocGFyYW1zLT5uZXdwYXNzX3Byb21wdF9maWxlLCAnXDAnLCBGSUxFX0xFTisxKTsKKysJCQkJfQorKwkJCQllbHNlIHsKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmVvZihmcCk/IChwYXJhbXMtPm5ld3Bhc3NfcHJvbXB0X2ZpbGVbbi0xXT0nXDAnKTogKHBhcmFtcy0+bmV3cGFzc19wcm9tcHRfZmlsZVtuXT0nXDAnKTsKKysJCQkJfQorKwkJCQlmY2xvc2UoZnApOworKwkJCX0KKysJCX0gZWxzZQorIAkJCWJyZWFrOworIAkJYXJnYy0tOyBhcmd2Kys7CisgCX0KK0BAIC00MDYsNyArNDQyLDcgQEAgUEFNX0VYVEVSTiBpbnQgcGFtX3NtX2NoYXV0aHRvayhwYW1faGFuZAorIAorIAlpZiAoYXNrX29sZGF1dGh0b2sgJiYgIWFtX3Jvb3QocGFtaCkpIHsKKyAJCXN0YXR1cyA9IGNvbnZlcnNlKHBhbWgsIFBBTV9QUk9NUFRfRUNIT19PRkYsCistCQkgICAgUFJPTVBUX09MRFBBU1MsICZyZXNwKTsKKysJCSAgICBzdHJsZW4ocGFyYW1zLm9sZHBhc3NfcHJvbXB0X2ZpbGUpID8gcGFyYW1zLm9sZHBhc3NfcHJvbXB0X2ZpbGUgOiBQUk9NUFRfT0xEUEFTUywgJnJlc3ApOworIAorIAkJaWYgKHN0YXR1cyA9PSBQQU1fU1VDQ0VTUykgeworIAkJCWlmIChyZXNwICYmIHJlc3AtPnJlc3ApIHsKK0BAIC01NDAsOCArNTc2LDcgQEAgcmV0cnk6CisgCQkgICAgTUVTU0FHRV9SQU5ET01GQUlMRUQgOiBNRVNTQUdFX01JU0NPTkZJR1VSRUQpOworIAkJcmV0dXJuIFBBTV9BVVRIVE9LX0VSUjsKKyAJfQorLQorLQlzdGF0dXMgPSBjb252ZXJzZShwYW1oLCBQQU1fUFJPTVBUX0VDSE9fT0ZGLCBQUk9NUFRfTkVXUEFTUzEsICZyZXNwKTsKKysJc3RhdHVzID0gY29udmVyc2UocGFtaCwgUEFNX1BST01QVF9FQ0hPX09GRiwgc3RybGVuKHBhcmFtcy5uZXdwYXNzX3Byb21wdF9maWxlKSA/IHBhcmFtcy5uZXdwYXNzX3Byb21wdF9maWxlIDogUFJPTVBUX05FV1BBU1MxLCAmcmVzcCk7CisgCWlmIChzdGF0dXMgPT0gUEFNX1NVQ0NFU1MgJiYgKCFyZXNwIHx8ICFyZXNwLT5yZXNwKSkKKyAJCXN0YXR1cyA9IFBBTV9BVVRIVE9LX0VSUjsKKyAKK2RpZmYgLXVyTnAgcGFtX3Bhc3N3ZHFjLTEuMC41LW9yaWcvcGFzc3dkcWNfY2hlY2suYyBwYW1fcGFzc3dkcWMtMS4wLjUvcGFzc3dkcWNfY2hlY2suYworLS0tIHBhbV9wYXNzd2RxYy0xLjAuNS1vcmlnL3Bhc3N3ZHFjX2NoZWNrLmMJMjAwOC0wMi0xMiAxNDozMTo1Mi4wMDAwMDAwMDAgLTA1MDAKKysrKyBwYW1fcGFzc3dkcWMtMS4wLjUvcGFzc3dkcWNfY2hlY2suYwkyMDA5LTA5LTI1IDIyOjQ1OjE2LjA4MDg0MjQyNSAtMDQwMAorQEAgLTkwLDEwICs5MCwxMiBAQCBzdGF0aWMgaW50IGlzX3NpbXBsZShwYXNzd2RxY19wYXJhbXNfdCAqCisgCisgLyogVXBwZXIgY2FzZSBjaGFyYWN0ZXJzIGFuZCBkaWdpdHMgdXNlZCBpbiBjb21tb24gd2F5cyBkb24ndCBpbmNyZWFzZSB0aGUKKyAgKiBzdHJlbmd0aCBvZiBhIHBhc3N3b3JkICovCistCWMgPSAodW5zaWduZWQgY2hhciluZXdwYXNzWzBdOworLQlpZiAodXBwZXJzICYmIGlzYXNjaWkoYykgJiYgaXN1cHBlcihjKSkgdXBwZXJzLS07CistCWMgPSAodW5zaWduZWQgY2hhciluZXdwYXNzW2xlbmd0aCAtIDFdOworLQlpZiAoZGlnaXRzICYmIGlzYXNjaWkoYykgJiYgaXNkaWdpdChjKSkgZGlnaXRzLS07CisrCWlmIChwYXJhbXMtPmZpcnN0dXBwZXJfbGFzdGRpZ2l0X2NoZWNrKSB7CisrCQljID0gKHVuc2lnbmVkIGNoYXIpbmV3cGFzc1swXTsKKysJCWlmICh1cHBlcnMgJiYgaXNhc2NpaShjKSAmJiBpc3VwcGVyKGMpKSB1cHBlcnMtLTsKKysJCWMgPSAodW5zaWduZWQgY2hhciluZXdwYXNzW2xlbmd0aCAtIDFdOworKwkJaWYgKGRpZ2l0cyAmJiBpc2FzY2lpKGMpICYmIGlzZGlnaXQoYykpIGRpZ2l0cy0tOworKwl9CisgCisgLyogQ291bnQgdGhlIG51bWJlciBvZiBkaWZmZXJlbnQgY2hhcmFjdGVyIGNsYXNzZXMgd2UndmUgc2Vlbi4gIFdlIGFzc3VtZQorICAqIHRoYXQgdGhlcmUgYXJlIG5vIG5vbi1BU0NJSSBjaGFyYWN0ZXJzIGZvciBkaWdpdHMuICovCitkaWZmIC11ck5wIHBhbV9wYXNzd2RxYy0xLjAuNS1vcmlnL3Bhc3N3ZHFjLmggcGFtX3Bhc3N3ZHFjLTEuMC41L3Bhc3N3ZHFjLmgKKy0tLSBwYW1fcGFzc3dkcWMtMS4wLjUtb3JpZy9wYXNzd2RxYy5oCTIwMDgtMDItMTIgMTQ6MzA6MDAuMDAwMDAwMDAwIC0wNTAwCisrKysgcGFtX3Bhc3N3ZHFjLTEuMC41L3Bhc3N3ZHFjLmgJMjAwOS0wOS0yNSAxNDowODo1Ni4yMTQ2OTU4NTggLTA0MDAKK0BAIC03LDEyICs3LDE1IEBACisgCisgI2luY2x1ZGUgPHB3ZC5oPgorIAorKyNkZWZpbmUgRklMRV9MRU4JCTQwOTYJLyogTWF4IGZpbGUgbGVuID0gNDA5NiAqLworKworIHR5cGVkZWYgc3RydWN0IHsKKyAJaW50IG1pbls1XSwgbWF4OworIAlpbnQgcGFzc3BocmFzZV93b3JkczsKKyAJaW50IG1hdGNoX2xlbmd0aDsKKyAJaW50IHNpbWlsYXJfZGVueTsKKyAJaW50IHJhbmRvbV9iaXRzOworKwlpbnQgZmlyc3R1cHBlcl9sYXN0ZGlnaXRfY2hlY2s7CisgfSBwYXNzd2RxY19wYXJhbXNfdDsKKyAKKyBleHRlcm4gY2hhciBfcGFzc3dkcWNfd29yZHNldF80a1sweDEwMDBdWzZdOworZGlmZiAtdXJOcCBwYW1fcGFzc3dkcWMtMS4wLjUtb3JpZy9SRUFETUUgcGFtX3Bhc3N3ZHFjLTEuMC41L1JFQURNRQorLS0tIHBhbV9wYXNzd2RxYy0xLjAuNS1vcmlnL1JFQURNRQkyMDA4LTAyLTEyIDE0OjQzOjMzLjAwMDAwMDAwMCAtMDUwMAorKysrIHBhbV9wYXNzd2RxYy0xLjAuNS9SRUFETUUJMjAwOS0wOS0yOCAxMjoxMjo0MC4yNTEwMTY0MjMgLTA0MDAKK0BAIC00MSw5ICs0MSwxMiBAQCB3b3JkcyAoc2VlIHRoZSAicGFzc3BocmFzZSIgb3B0aW9uIGJlbG93CisgTjMgYW5kIE40IGFyZSB1c2VkIGZvciBwYXNzd29yZHMgY29uc2lzdGluZyBvZiBjaGFyYWN0ZXJzIGZyb20gdGhyZWUKKyBhbmQgZm91ciBjaGFyYWN0ZXIgY2xhc3NlcywgcmVzcGVjdGl2ZWx5LgorIAorKwlkaXNhYmxlX2ZpcnN0dXBwZXJfbGFzdGRpZ2l0X2NoZWNrCVtdCisrCisgV2hlbiBjYWxjdWxhdGluZyB0aGUgbnVtYmVyIG9mIGNoYXJhY3RlciBjbGFzc2VzLCB1cHBlci1jYXNlIGxldHRlcnMKKyB1c2VkIGFzIHRoZSBmaXJzdCBjaGFyYWN0ZXIgYW5kIGRpZ2l0cyB1c2VkIGFzIHRoZSBsYXN0IGNoYXJhY3RlciBvZiBhCistcGFzc3dvcmQgYXJlIG5vdCBjb3VudGVkLgorK3Bhc3N3b3JkIGFyZSBub3QgY291bnRlZC4gVG8gZGlzYWJsZSB0aGlzLCB5b3UgY2FuIHNwZWNpZnkgCisrImRpc2FibGVfZmlyc3R1cHBlcl9sYXN0ZGlnaXRfY2hlY2siLgorIAorIEluIGFkZGl0aW9uIHRvIGJlaW5nIHN1ZmZpY2llbnRseSBsb25nLCBwYXNzd29yZHMgYXJlIHJlcXVpcmVkIHRvCisgY29udGFpbiBlbm91Z2ggZGlmZmVyZW50IGNoYXJhY3RlcnMgZm9yIHRoZSBjaGFyYWN0ZXIgY2xhc3NlcyBhbmQKK0BAIC0xNDIsNiArMTQ1LDE0IEBAIFRoaXMgZGlzYWJsZXMgdXNlciBpbnRlcmFjdGlvbiB3aXRoaW4gcGEKKyB0aGUgb25seSBkaWZmZXJlbmNlIGJldHdlZW4gInVzZV9maXJzdF9wYXNzIiBhbmQgInVzZV9hdXRodG9rIiBpcyB0aGF0CisgdGhlIGZvcm1lciBpcyBpbmNvbXBhdGlibGUgd2l0aCAiYXNrX29sZGF1dGh0b2siLgorIAorKwlvbGRwYXNzX3Byb21wdF9maWxlPWFic29sdXRlLWZpbGUtcGF0aAlbXQorKwluZXdwYXNzX3Byb21wdF9maWxlPWFib3N1bHRlLWZpbGUtcGF0aAlbXQorKworK1RoZSBvcHRpb25zICJvbGRwYXNzX3Byb21wdF9maWxlIiBhbmQgIm5ld3Bhc3NfcHJvbXB0X2ZpbGUiIGNhbiBiZSB1c2VkCisrdG8gb3ZlcnJpZGUgcHJvbXB0cyB3aGlsZSByZXF1ZXN0aW5nIG9sZCBwYXNzd29yZCBhbmQgbmV3IHBhc3N3b3JkLCAKKytyZXNwZWN0aXZlbHkuIFRoZSBtYXhpbXVtIHNpemUgb2YgdGhlIHByb21wdCBmaWxlcyBjYW4gYmUgNDA5NiAKKytjaGFyYWN0ZXJzIGF0IHByZXNlbnQuIElmIHRoZSBmaWxlIHNpemUgaXMgbW9yZSB0aGFuIDQwOTYgY2hhcmFjdGVycywgdGhlCisrb3V0cHV0IHdpbGwgYmUgdHJ1bmNhdGVkIHRvIDQwOTYgY2hhcmFjdGVycy4KKyAtLSAKKyBTb2xhciBEZXNpZ25lciA8c29sYXIgYXQgb3BlbndhbGwuY29tPgorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wYW0tcGFzc3dkcWMvZmlsZXMvNzAwME1ha2VmaWxlLWZpeC1DQy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcGFtLXBhc3N3ZHFjL2ZpbGVzLzcwMDBNYWtlZmlsZS1maXgtQ0MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTM2ZmJhMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcGFtLXBhc3N3ZHFjL2ZpbGVzLzcwMDBNYWtlZmlsZS1maXgtQ0MucGF0Y2gKQEAgLTAsMCArMSwxMSBAQAorLS0tIHBhbV9wYXNzd2RxYy0xLjAuNS9NYWtlZmlsZS5vcmlnCTIwMTItMTAtMDIgMjA6NTM6NTUuNDQzNTkyODg2ICswOTAwCisrKysgcGFtX3Bhc3N3ZHFjLTEuMC41L01ha2VmaWxlCTIwMTItMTAtMDIgMjA6NTQ6MTkuMDc2MTA4MDAxICswOTAwCitAQCAtMiw3ICsyLDcgQEAKKyAjIENvcHlyaWdodCAoYykgMjAwMC0yMDAzLDIwMDUgYnkgU29sYXIgRGVzaWduZXIuICBTZWUgTElDRU5TRS4KKyAjCisgCistQ0MgPSBnY2MKKysjQ0MgPSBnY2MKKyBMRCA9ICQoQ0MpCisgUk0gPSBybSAtZgorIE1LRElSID0gbWtkaXIgLXAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcGFtLXBhc3N3ZHFjL3BhbS1wYXNzd2RxY18xLjAuNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcGFtLXBhc3N3ZHFjL3BhbS1wYXNzd2RxY18xLjAuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZThiN2Q4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wYW0tcGFzc3dkcWMvcGFtLXBhc3N3ZHFjXzEuMC41LmJiCkBAIC0wLDAgKzEsMzUgQEAKK1NVTU1BUlkgPSAiUGx1Z2dhYmxlIHBhc3N3b3JkIHF1YWxpdHktY29udHJvbCBtb2R1bGUuIgorREVTQ1JJUFRJT04gPSAicGFtX3Bhc3N3ZHFjIGlzIGEgc2ltcGxlIHBhc3N3b3JkIHN0cmVuZ3RoIGNoZWNraW5nIG1vZHVsZSBmb3IgXAorUEFNLWF3YXJlIHBhc3N3b3JkIGNoYW5naW5nIHByb2dyYW1zLCBzdWNoIGFzIHBhc3N3ZCgxKS4gSW4gYWRkaXRpb24gXAordG8gY2hlY2tpbmcgcmVndWxhciBwYXNzd29yZHMsIGl0IG9mZmVycyBzdXBwb3J0IGZvciBwYXNzcGhyYXNlcyBhbmQgXAorY2FuIHByb3ZpZGUgcmFuZG9tbHkgZ2VuZXJhdGVkIHBhc3N3b3Jkcy4gQWxsIGZlYXR1cmVzIGFyZSBvcHRpb25hbCBcCithbmQgY2FuIGJlIChyZS0pY29uZmlndXJlZCB3aXRob3V0IHJlYnVpbGRpbmcuIgorCitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lm9wZW53YWxsLmNvbS9wYXNzd2RxYy8iCitTRUNUSU9OID0gIlN5c3RlbSBFbnZpcm9ubWVudC9CYXNlIgorCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWUyODRkMDEzZWYwOGU2NmQ0NzM3ZjQ0NmM1ODkwNTUwIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cub3BlbndhbGwuY29tL3BhbS9tb2R1bGVzL3BhbV9wYXNzd2RxYy9wYW1fcGFzc3dkcWMtMS4wLjUudGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovLzEwMDBwYXRjaC0yMTkyMDEucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vNzAwME1ha2VmaWxlLWZpeC1DQy5wYXRjaCBcCisgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gImNkOWMwMTRmNzM2MTU4YjFhNjAzODRhOGUyYmRjMjhhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjMyNTI4ZGRmN2Q4MjE5Yzc4OGI2ZTc3MDIzNjE2MTFmZjE2YzYzNDBiNmRjMGY0MThmZjE2NGFhZGM0YTRhODgiCisKKworUyA9ICIke1dPUktESVJ9L3BhbV9wYXNzd2RxYy0ke1BWfSIKKworREVQRU5EUyA9ICJsaWJwYW0iCisKK0VYVFJBX09FTUFLRSA9ICJDRkxBR1M9IiR7Q0ZMQUdTfSAtV2FsbCAtZlBJQyAtREhBVkVfU0hBRE9XIiBcCisgICAgICAgICAgICAgICAgU0VDVVJFRElSPSR7YmFzZV9saWJkaXJ9L3NlY3VyaXR5IgorCitkb19pbnN0YWxsKCkgeworCW9lX3J1bm1ha2UgaW5zdGFsbCBERVNURElSPSR7RH0KK30KKworRklMRVNfJHtQTn0gKz0gIiR7YmFzZV9saWJkaXJ9L3NlY3VyaXR5L3BhbV9wYXNzd2RxYy5zbyIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtiYXNlX2xpYmRpcn0vc2VjdXJpdHkvLmRlYnVnIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Bjc2MtbGl0ZS9wY3NjLWxpdGVfMS44LjEzLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wY3NjLWxpdGUvcGNzYy1saXRlXzEuOC4xMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYzcyNTQ5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wY3NjLWxpdGUvcGNzYy1saXRlXzEuOC4xMy5iYgpAQCAtMCwwICsxLDMzIEBACitTVU1NQVJZID0gIlBDL1NDIExpdGUgc21hcnQgY2FyZCBmcmFtZXdvcmsgYW5kIGFwcGxpY2F0aW9ucyIKK0hPTUVQQUdFID0gImh0dHA6Ly9wY3NjbGl0ZS5hbGlvdGguZGViaWFuLm9yZy8iCitMSUNFTlNFID0gIkJTRCAmIEdQTHYzKyIKK0xJQ0VOU0VfJHtQTn0tZGV2ID0gIkdQTHYzKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWJjZmJkODUyMzBhYzNjNTg2ZmIyOTRjOGI2MjdjZjMyIgorREVQRU5EUyA9ICJ1ZGV2IgorCitTUkNfVVJJID0gImh0dHBzOi8vYWxpb3RoLmRlYmlhbi5vcmcvZnJzL2Rvd25sb2FkLnBocC9maWxlLzQxMjYvcGNzYy1saXRlLSR7UFZ9LnRhci5iejIiCitTUkNfVVJJW21kNXN1bV0gPSAiNGRjZDIyZDIwYTZkZjg4MTBmYWM1NDgwY2MzMjBiNmQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjMxNTA0N2U4MDhkNjNhMzI2MmM0YTA0MGY3NzU0OGFmMmUwNGQxZmQ3MDdlMGMyNzU5MzY5YjkyNmZiYmMzYiIKKworCitpbmhlcml0IGF1dG90b29scyBzeXN0ZW1kIHBrZ2NvbmZpZworCitFWFRSQV9PRUNPTkYgPSAiIFwKKyAgICAtLWRpc2FibGUtbGlidXNiIFwKKyAgICAtLWVuYWJsZS1saWJ1ZGV2IFwKKyAgICAtLWVuYWJsZS11c2Jkcm9wZGlyPSR7bGliZGlyfS9wY3NjL2RyaXZlcnMgXAorIgorCitTID0gIiR7V09SS0RJUn0vcGNzYy1saXRlLSR7UFZ9IgorCitQQUNLQUdFUyA9KyAiJHtQTn0tbGliIgorCitSUkVDT01NRU5EU18ke1BOfSA9ICJjY2lkIgorCitGSUxFU18ke1BOfS1saWIgPSAiJHtsaWJkaXJ9L2xpYioke1NPTElCU30iCisKK1JQUk9WSURFU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1JSRVBMQUNFU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1JDT05GTElDVFNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAicGNzY2Quc29ja2V0IgorUkRFUEVORFNfJHtQTn0gKz0icHl0aG9uIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9waWNvY29tL3BpY29jb21fMS43LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9waWNvY29tL3BpY29jb21fMS43LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRiZWU2NTYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BpY29jb20vcGljb2NvbV8xLjcuYmIKQEAgLTAsMCArMSwxOCBAQAorU1VNTUFSWSA9ICJMaWdodHdlaWdodCBhbmQgbWluaW1hbCAofjIwSykgZHVtYi10ZXJtaW5hbCBlbXVsYXRpb24gcHJvZ3JhbSIKK1NFQ1RJT04gPSAiY29uc29sZS91dGlscyIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorSE9NRVBBR0UgPSAiaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL3BpY29jb20vIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS50eHQ7bWQ1PTM5M2E1Y2E0NDVmNjk2NTg3M2VjYTAyNTlhMTdmODMzIgorCitTUkNfVVJJID0gImh0dHA6Ly9waWNvY29tLmdvb2dsZWNvZGUuY29tL2ZpbGVzL3BpY29jb20tJHtQVn0udGFyLmd6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiOGVhYmExZDMxNDA3ZTg0MDg2NzRkNmU1N2FmNDQ3ZWYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZDBmMzFjOGY3YTIxNWE3NjkyMmQzMGM4MWE1MmI5YTIzNDhjODllMDJhODQ5MzU1MTcwMDJiM2JjMmMxMTI5ZSIKKworQ1BQRkxBR1NfYXBwZW5kID0gJy1EVkVSU0lPTl9TVFI9XFwiJHtQVn1cXCIgLURVVUNQX0xPQ0tfRElSPVxcIi92YXIvbG9ja1xcIiAtREhJR0hfQkFVRCcKKworZG9faW5zdGFsbCAoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtbSAwNzU1ICR7QlBOfSBwY2FzYyBwY3htIHBjeW0gcGN6bSAke0R9JHtiaW5kaXJ9LworfQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BpZGdpbi9saWJvdHIvZml4X3FhLWlzc3VlX2luY2x1ZGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BpZGdpbi9saWJvdHIvZml4X3FhLWlzc3VlX2luY2x1ZGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjc4NjYzMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcGlkZ2luL2xpYm90ci9maXhfcWEtaXNzdWVfaW5jbHVkZS5wYXRjaApAQCAtMCwwICsxLDE4IEBACitsaWJvdHI6IEZpeCBRQS1pc3N1ZSB3aGVyZSBhbHNvIGZpbGVzIGZyb20gYnVpbGRob3N0IHdvdWxkIGJlIGluY2x1ZGVkCisKK1dhcm5pbmcgd2FzOgorY2MxOiB3YXJuaW5nOiBpbmNsdWRlIGxvY2F0aW9uICIvdXNyL2luY2x1ZGUiIGlzIHVuc2FmZSBmb3IKK2Nyb3NzLWNvbXBpbGF0aW9uIFstV3BvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXNdCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBKYWtvYiBEcmV4ZWwgPGpha2U0MkByb21tZWwuc3R3LnVuaS1lcmxhbmdlbi5kZT4KKworLS0tIGEvdG9vbGtpdC9NYWtlZmlsZS5hbQkyMDEyLTA1LTAzIDE1OjUyOjIyLjAwMDAwMDAwMCArMDIwMAorKysrIGIvdG9vbGtpdC9NYWtlZmlsZS5hbQkyMDE0LTAxLTEzIDEyOjEyOjI2LjAzMDM2OTM1NyArMDEwMAorQEAgLTEsNCArMSw0IEBACistSU5DTFVERVMgPSAtSSQoaW5jbHVkZWRpcikgLUkuLi9zcmMgQExJQkdDUllQVF9DRkxBR1NACisrSU5DTFVERVMgPSAtSS4uL3NyYyBATElCR0NSWVBUX0NGTEFHU0AKKyAKKyBub2luc3RfSEVBREVSUyA9IGFlcy5oIGN0cm1vZGUuaCBwYXJzZS5oIHNlc3NrZXlzLmggcmVhZG90ci5oIHNoYTFobWFjLmgKKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcGlkZ2luL2xpYm90ci9zZXBidWlsZC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcGlkZ2luL2xpYm90ci9zZXBidWlsZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNjZlNTI4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9waWRnaW4vbGlib3RyL3NlcGJ1aWxkLnBhdGNoCkBAIC0wLDAgKzEsMTYgQEAKK0ZpeCBidWlsZHMgd2l0aCAke0J9ICE9ICR7U30KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1JQIDIwMTQvNy8xNworCitJbmRleDogbGlib3RyLTQuMC4wL3Rvb2xraXQvTWFrZWZpbGUuYW0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBsaWJvdHItNC4wLjAub3JpZy90b29sa2l0L01ha2VmaWxlLmFtCTIwMTQtMDctMTYgMTg6MDk6NTkuNzc3ODU4MDIyICswMDAwCisrKysgbGlib3RyLTQuMC4wL3Rvb2xraXQvTWFrZWZpbGUuYW0JMjAxNC0wNy0xNyAwNjoyODo1MS4zNTkwNjYxNTUgKzAwMDAKK0BAIC0xLDQgKzEsNCBAQAorLUlOQ0xVREVTID0gLUkuLi9zcmMgQExJQkdDUllQVF9DRkxBR1NACisrSU5DTFVERVMgPSAtSSQodG9wX3NyY2Rpcikvc3JjIEBMSUJHQ1JZUFRfQ0ZMQUdTQAorIAorIG5vaW5zdF9IRUFERVJTID0gYWVzLmggY3RybW9kZS5oIHBhcnNlLmggc2Vzc2tleXMuaCByZWFkb3RyLmggc2hhMWhtYWMuaAorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9waWRnaW4vbGlib3RyXzQuMC4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9waWRnaW4vbGlib3RyXzQuMC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRkOWVlYWIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BpZGdpbi9saWJvdHJfNC4wLjAuYmIKQEAgLTAsMCArMSwxNSBAQAorU1VNTUFSWSA9ICIoT1RSKSBNZXNzYWdpbmcgYWxsb3dzIHlvdSB0byBoYXZlIHByaXZhdGUgY29udmVyc2F0aW9ucyBvdmVyIGluc3RhbnQgbWVzc2FnaW5nIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5jeXBoZXJwdW5rcy5jYS9vdHIvIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTkyZmUxNzRiYWQ2ZGEzNzYzZjZlOWU5ZWFmZjZkZjI0IgorREVQRU5EUyA9ICJsaWJnY3J5cHQgbGliZ3BnLWVycm9yIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cuY3lwaGVycHVua3MuY2Evb3RyLyR7QlB9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9maXhfcWEtaXNzdWVfaW5jbHVkZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9zZXBidWlsZC5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwMDk3OWRjYTgyZDcwMzgzZmNkMWIwMWYzOTc0MzYzYyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzZjkxMTk5NDQwOTg5OGU3NDUyNzczMDc0NWVmMzVlZDc1YzM1MmM2OTVhMTgyMmE2NzdhMzRiMmNmMDI5M2I0IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcGlkZ2luL3BpZGdpbi1vdHIvaWdub3JlX2V4dHJhLXBvcnRhYmlsaXR5X3dhcm5pbmdzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9waWRnaW4vcGlkZ2luLW90ci9pZ25vcmVfZXh0cmEtcG9ydGFiaWxpdHlfd2FybmluZ3MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGIwYWQ4NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcGlkZ2luL3BpZGdpbi1vdHIvaWdub3JlX2V4dHJhLXBvcnRhYmlsaXR5X3dhcm5pbmdzLnBhdGNoCkBAIC0wLDAgKzEsMTkgQEAKK3BpZGdpbi1vdHI6IFNpbGVuY2Ugbm8tZXh0cmEtcG9ydGFiaWxpdHkgd2FybmluZ3MKKworTWFrZSBpdCBidWlsZCB3aXRoIE9FLCB3YXMgbm90IGJ1aWxkaW5nIHdpdGggd2FybmluZyB0dXJuZWQgb24KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEpha29iIERyZXhlbCA8amFrZTQyQHJvbW1lbC5zdHcudW5pLWVybGFuZ2VuLmRlPgorCistLS0gYS9jb25maWd1cmUuYWMJMjAxMi0wOS0wMSAxNzowMzoxOS4wMDAwMDAwMDAgKzAyMDAKKysrKyBiL2NvbmZpZ3VyZS5hYwkyMDE0LTAxLTEyIDIxOjU5OjI0LjkyMDMwMDIxNSArMDEwMAorQEAgLTQsNyArNCw3IEBACisgCisgQU1fQ09ORklHX0hFQURFUihjb25maWcuaCkKKyAKKy1BTV9JTklUX0FVVE9NQUtFKFstV2FsbCAtV2Vycm9yXSkKKytBTV9JTklUX0FVVE9NQUtFKFstV2FsbCAtV2Vycm9yIC1Xbm8tZXh0cmEtcG9ydGFiaWxpdHldKQorIAorIEFDX1BST0dfQ0MKKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcGlkZ2luL3BpZGdpbi1vdHJfNC4wLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BpZGdpbi9waWRnaW4tb3RyXzQuMC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI4ODRiNWEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BpZGdpbi9waWRnaW4tb3RyXzQuMC4wLmJiCkBAIC0wLDAgKzEsMjEgQEAKK1NVTU1BUlkgPSAiKE9UUikgTWVzc2FnaW5nIGFsbG93cyB5b3UgdG8gaGF2ZSBwcml2YXRlIGNvbnZlcnNhdGlvbnMgb3ZlciBpbnN0YW50IG1lc3NhZ2luZyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuY3lwaGVycHVua3MuY2Evb3RyLyIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05MmZlMTc0YmFkNmRhMzc2M2Y2ZTllOWVhZmY2ZGYyNCIKK0RFUEVORFMgPSAibGliZ2NyeXB0IGxpYm90ciBwaWRnaW4gaW50bHRvb2wtbmF0aXZlIgorCitQTkJMQUNLTElTVFtwaWRnaW4tb3RyXSA/PSAiZGVwZW5kcyBvbiBibGFja2xpc3RlZCBwaWRnaW4iCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5jeXBoZXJwdW5rcy5jYS9vdHIvJHtCUH0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL2lnbm9yZV9leHRyYS1wb3J0YWJpbGl0eV93YXJuaW5ncy5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlYWRiOTUzMzc2YWNjNDc0ZTU2MDQxZDRjMTJhYTJjOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkNTZiM2YwOTJkYmU5ZWU2NTk3NjQxYzdkMmRkMjk0ODg0ZGMwNGJhNDdhYWY0ZWM1NzFjZDU0OTc3ZGY0NjkxIgorCisKK0ZJTEVTXyR7UE59ID0gIiR7bGliZGlyfS9waWRnaW4vKiIKK0ZJTEVTXyR7UE59LWRiZyA9ICIke2xpYmRpcn0vcGlkZ2luLy5kZWJ1ZyIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L3BpZGdpbi8uZGVidWcvcGlkZ2luLW90ci5zbyIKK0ZJTEVTXyR7UE59LWRiZyArPSAiL3Vzci9zcmMvZGVidWcvcGlkZ2luLW90ci8ke1BWfS0ke1BSfS8ke1B9LyoiCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcGlkZ2luL3BpZGdpbi9waWRnaW4tY3Jvc3MtcHl0aG9uLTI2NS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcGlkZ2luL3BpZGdpbi9waWRnaW4tY3Jvc3MtcHl0aG9uLTI2NS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MmJmNGVkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9waWRnaW4vcGlkZ2luL3BpZGdpbi1jcm9zcy1weXRob24tMjY1LnBhdGNoCkBAIC0wLDAgKzEsMzQgQEAKK1VzZSBwa2ctY29uZmlnIGluc3RlYWQgb2YgJHtQWVRIT059LWNvbmZpZyB0byBmaW5kIHB5dGhvbgorCitkaWZmIC11TnIgcGlkZ2luLTIuMTAuMTIub3JpZy9jb25maWd1cmUuYWMgcGlkZ2luLTIuMTAuMTIvY29uZmlndXJlLmFjCistLS0gcGlkZ2luLTIuMTAuMTIub3JpZy9jb25maWd1cmUuYWMJMjAxNi0wMS0wMSAwMDoxOTo0MC4wMDAwMDAwMDAgKzAxMDAKKysrKyBwaWRnaW4tMi4xMC4xMi9jb25maWd1cmUuYWMJMjAxNi0wNS0wNSAxNjo1NToxMy4yNTg5NDU5MjUgKzAyMDAKK0BAIC0xNTg1LDIwICsxNTg1LDE1IEBACisgZG5sIENoZWNrIGZvciBQeXRob24gaGVhZGVycyAoY3VycmVudGx5IHVzZWZ1bCBvbmx5IGZvciBsaWJnbnQpCisgZG5sIChUaGFua3MgdG8gWENoYXQpCisgaWYgdGVzdCAieCRlbmFibGVfY29uc29sZXVpIiA9ICJ4eWVzIiAtYSAhIC16ICIkUFlUSE9OIiAtYSB4IiRQWVRIT04iICE9IHgibm8iIDsgdGhlbgorLQlBQ19NU0dfQ0hFQ0tJTkcoZm9yIFB5dGhvbiBjb21waWxlIGZsYWdzKQorLQlpZiB0ZXN0IC1mICR7UFlUSE9OfS1jb25maWc7IHRoZW4KKy0JCVBZX0NGTEFHUz1gJHtQWVRIT059LWNvbmZpZyAtLWluY2x1ZGVzYAorLQkJUFlfTElCUz1gJHtQWVRIT059LWNvbmZpZyAtLWxpYnNgCistCQlBQ19ERUZJTkUoVVNFX1BZVEhPTiwgWzFdLCBbRGVmaW5lIGlmIHB5dGhvbiBoZWFkZXJzIGFyZSBhdmFpbGFibGUuXSkKKy0JCUFDX01TR19SRVNVTFQob2spCistCWVsc2UKKy0JCUFDX01TR19SRVNVTFQoW0Nhbm5vdCBmaW5kICR7UFlUSE9OfS1jb25maWddKQorLQkJUFlfQ0ZMQUdTPSIiCistCQlQWV9MSUJTPSIiCistCWZpCisrICAgICAgICBBQ19NU0dfQ0hFQ0tJTkcoZm9yIFB5dGhvbiBjb21waWxlIGZsYWdzKQorKyAgICAgICAgUEtHX0NIRUNLX01PRFVMRVMoUFksIHB5dGhvbiwgWworKyAgICAgICAgICAgICAgICBBQ19TVUJTVChQWV9DRkxBR1MpCisrICAgICAgICAgICAgICAgIEFDX1NVQlNUKFBZX0xJQlMpCisrICAgICAgICBdLCBbCisrICAgICAgICAgICAgICAgIEFDX01TR19SRVNVTFQobm8pCisrICAgICAgICAgICAgICAgIEFDX01TR19FUlJPUihbQ2FuJ3QgZmluZCBweXRob25dKQorKyAgICAgICAgXSkKKyBmaQorLUFDX1NVQlNUKFBZX0NGTEFHUykKKy1BQ19TVUJTVChQWV9MSUJTKQorIAorIGRubCAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIGRubCAjIENoZWNrIGZvciBNb25vIHN1cHBvcnQKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcGlkZ2luL3BpZGdpbi9wdXJwbGUtT0UtYnJhbmRpbmctMjUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BpZGdpbi9waWRnaW4vcHVycGxlLU9FLWJyYW5kaW5nLTI1LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI5M2VmNzAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BpZGdpbi9waWRnaW4vcHVycGxlLU9FLWJyYW5kaW5nLTI1LnBhdGNoCkBAIC0wLDAgKzEsMTYgQEAKK0luZGV4OiBwaWRnaW4tMi41LjAvbGlicHVycGxlL3Byb3RvY29scy9pcmMvaXJjLmgKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBwaWRnaW4tMi41LjAub3JpZy9saWJwdXJwbGUvcHJvdG9jb2xzL2lyYy9pcmMuaAkyMDA4LTA4LTE5IDAxOjUzOjM4LjAwMDAwMDAwMCArMDAwMAorKysrIHBpZGdpbi0yLjUuMC9saWJwdXJwbGUvcHJvdG9jb2xzL2lyYy9pcmMuaAkyMDA4LTA4LTI3IDExOjE1OjU4LjAwMDAwMDAwMCArMDAwMAorQEAgLTM2LDkgKzM2LDkgQEAKKyAKKyAjZGVmaW5lIElSQ19ERUZBVUxUX0NIQVJTRVQgIlVURi04IgorICNkZWZpbmUgSVJDX0RFRkFVTFRfQVVUT0RFVEVDVCBGQUxTRQorLSNkZWZpbmUgSVJDX0RFRkFVTFRfQUxJQVMgInB1cnBsZSIKKysjZGVmaW5lIElSQ19ERUZBVUxUX0FMSUFTICJPRS11c2VyIgorIAorLSNkZWZpbmUgSVJDX0RFRkFVTFRfUVVJVCAiTGVhdmluZy4iCisrI2RlZmluZSBJUkNfREVGQVVMVF9RVUlUICJQb3dlcmVkIGJ5IE9FOiB3d3cub3BlbmVtYmVkZGVkLm9yZyIKKyAKKyAjZGVmaW5lIElSQ19JTklUSUFMX0JVRlNJWkUgMTAyNAorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9waWRnaW4vcGlkZ2luL3Nhbml0aXplLWNvbmZpZ3VyZS5hYy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcGlkZ2luL3BpZGdpbi9zYW5pdGl6ZS1jb25maWd1cmUuYWMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTc3ZDY0ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcGlkZ2luL3BpZGdpbi9zYW5pdGl6ZS1jb25maWd1cmUuYWMucGF0Y2gKQEAgLTAsMCArMSwzMyBAQAorLS0tIC90bXAvY29uZmlndXJlLmFjCTIwMDctMDUtMDggMTc6Mjk6MDIuMDAwMDAwMDAwICswMjAwCisrKysgcGlkZ2luLTIuMC4wL2NvbmZpZ3VyZS5hYwkyMDA3LTA1LTA4IDE3OjMwOjMwLjMyNTI1MTAwMCArMDIwMAorQEAgLTQ3Miw3ICs0NzIsNyBAQAorIAlpZiB0ZXN0ICJ4JGVuYWJsZV9jb25zb2xldWkiID0gInh5ZXMiOyB0aGVuCisgCQlkbmwgIyBTb21lIGRpc3Ryb3MgcHV0IHRoZSBoZWFkZXJzIGluIG5jdXJzZXN3Lywgc29tZSBkb24ndAorIAkJZm91bmRfbmN1cnNlc19oPW5vCistCQlmb3IgbG9jYXRpb24gaW4gJGFjX25jdXJzZXNfaW5jbHVkZXMgJE5DVVJTRVNfSEVBREVSUyAvdXNyL2luY2x1ZGUvbmN1cnNlc3cgL3Vzci9pbmNsdWRlCisrCQlmb3IgbG9jYXRpb24gaW4gJGFjX25jdXJzZXNfaW5jbHVkZXMgJE5DVVJTRVNfSEVBREVSUyAKKyAJCWRvCisgCQkJZj0iJGxvY2F0aW9uL25jdXJzZXMuaCIKKyAJCQlBQ19DSEVDS19IRUFERVIoJGYsWworQEAgLTE4NjAsMTAgKzE4NjAsNiBAQAorIAkJCUtSQjRfQ0ZMQUdTPSIkS1JCNF9DRkxBR1MgLUkke2tlcmJlcm9zfS9pbmNsdWRlL2tlcmJlcm9zSVYiCisgCQlmaQorIAkJS1JCNF9MREZMQUdTPSItTCR7a2VyYmVyb3N9L2xpYiIKKy0JZWxpZiB0ZXN0IC1kIC91c3IvbG9jYWwvaW5jbHVkZS9rZXJiZXJvc0lWIDsgdGhlbgorLQkJS1JCNF9DRkxBR1M9Ii1JL3Vzci9sb2NhbC9pbmNsdWRlL2tlcmJlcm9zSVYiCistCWVsaWYgdGVzdCAtZCAvdXNyL2luY2x1ZGUva2VyYmVyb3NJViA7IHRoZW4KKy0JCUtSQjRfQ0ZMQUdTPSItSS91c3IvaW5jbHVkZS9rZXJiZXJvc0lWIgorIAlmaQorIAlBQ19ERUZJTkUoWkVQSFlSX1VTRVNfS0VSQkVST1MsIDEsIFtEZWZpbmUgaWYga2VyYmVyb3Mgc2hvdWxkIGJlIHVzZWQgaW4gWmVwaHlyLl0pCisgCitAQCAtMTg5NiwxMCArMTg5Miw2IEBACisgCQlaRVBIWVJfTERGTEFHUz0iLUwke3plcGh5cn0vbGliIgorIAllbGlmIHRlc3QgLWQgL3Vzci9hdGhlbmEvaW5jbHVkZS96ZXBoeXIgOyB0aGVuCisgCQlaRVBIWVJfQ0ZMQUdTPSItSS91c3IvYXRoZW5hL2luY2x1ZGUiCistCWVsaWYgdGVzdCAtZCAvdXNyL2luY2x1ZGUvemVwaHlyIDsgdGhlbgorLQkJWkVQSFlSX0NGTEFHUz0iLUkvdXNyL2luY2x1ZGUiCistCWVsaWYgdGVzdCAtZCAvdXNyL2xvY2FsL2luY2x1ZGUvemVwaHlyIDsgdGhlbgorLQkJWkVQSFlSX0NGTEFHUz0iLUkvdXNyL2xvY2FsL2luY2x1ZGUiCisgCWZpCisgCUFDX0RFRklORShMSUJaRVBIWVJfRVhULCAxICwgW0RlZmluZSBpZiBleHRlcm5hbCBsaWJ6ZXBoeXIgc2hvdWxkIGJlIHVzZWQuXSkKKyAJQU1fQ09ORElUSU9OQUwoRVhURVJOQUxfTElCWkVQSFlSLCB0ZXN0ICJ4JHplcGh5ciIgIT0gInhubyIpCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BpZGdpbi9waWRnaW5fMi4xMC4xMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcGlkZ2luL3BpZGdpbl8yLjEwLjEyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNkNDYxNDAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BpZGdpbi9waWRnaW5fMi4xMC4xMi5iYgpAQCAtMCwwICsxLDEyMCBAQAorREVTQ1JJUFRJT04gPSAibXVsdGktcHJvdG9jb2wgaW5zdGFudCBtZXNzYWdpbmcgY2xpZW50IgorU0VDVElPTiA9ICJ4MTEvbmV0d29yayIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSIKK0RFUEVORFMgPSAicHl0aG9uIHZpcnR1YWwvbGliaW50bCBpbnRsdG9vbC1uYXRpdmUgbGlieG1sMiBnY29uZiIKKworaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCBwa2djb25maWcgZ2NvbmYgcGVybG5hdGl2ZQorCitTUkNfVVJJID0gIlwKKyAgICAke1NPVVJDRUZPUkdFX01JUlJPUn0vcGlkZ2luL3BpZGdpbi0ke1BWfS50YXIuYnoyIFwKKyAgICBmaWxlOi8vc2FuaXRpemUtY29uZmlndXJlLmFjLnBhdGNoIFwKKyAgICBmaWxlOi8vcHVycGxlLU9FLWJyYW5kaW5nLTI1LnBhdGNoIFwKKyAgICBmaWxlOi8vcGlkZ2luLWNyb3NzLXB5dGhvbi0yNjUucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMTRlMGY1Y2ZiMmVkMDY1ZTRkYzgwMzkxYTgwNmFjNzYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMmM3NTIzZjBmZWZlODk3NDljMDNiMmI3MzhhYjlmN2JkMTg2ZGE0MzViZTQ3NjJmMTQ4N2VlZTMxZTc3ZmZkZCIKKworUEFDS0FHRUNPTkZJRyA/Pz0gImdudXRscyBjb25zb2xldWkgYXZhaGkgZGJ1cyBpZG4gXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAneDExJywgJ3gxMSBndGsgc3RhcnR1cC1ub3RpZmljYXRpb24nLCAnJywgZCl9IFwKKyIKK1BBQ0tBR0VDT05GSUdbZmFyc2lnaHQyXSA9ICItLWVuYWJsZS1mYXJzdHJlYW0sLS1kaXNhYmxlLWZhcnN0cmVhbSxmYXJzaWdodDIiCisjICAtLWRpc2FibGUtZ3N0cmVhbWVyICAgICBjb21waWxlIHdpdGhvdXQgR1N0cmVhbWVyIGF1ZGlvIHN1cHBvcnQKKyMgIC0tZGlzYWJsZS1nc3RyZWFtZXItdmlkZW8KKyMgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBpbGUgd2l0aG91dCBHU3RyZWFtZXIgMS4wIFZpZGVvIE92ZXJsYXkgc3VwcG9ydAorIyAgLS1kaXNhYmxlLWdzdHJlYW1lci1pbnRlcmZhY2VzCisjICAgICAgICAgICAgICAgICAgICAgICAgICBjb21waWxlIHdpdGhvdXQgR1N0cmVhbWVyIDAuMTAgaW50ZXJmYWNlIHN1cHBvcnQKKyMgIC0td2l0aC1nc3RyZWFtZXI9PHZlcnNpb24+CisjICAgICAgICAgICAgICAgICAgICAgICAgICBjb21waWxlIHdpdGggR1N0cmVhbWVyIDAuMTAgb3IgMS4wIGludGVyZmFjZQorUEFDS0FHRUNPTkZJR1tnc3RyZWFtZXJdID0gIi0tZW5hYmxlLWdzdHJlYW1lciwtLWRpc2FibGUtZ3N0cmVhbWVyLGdzdHJlYW1lciIKK1BBQ0tBR0VDT05GSUdbdnZdID0gIi0tZW5hYmxlLXZ2LC0tZGlzYWJsZS12dixnc3RyZWFtZXIiCitQQUNLQUdFQ09ORklHW2lkbl0gPSAiLS1lbmFibGUtaWRuLC0tZGlzYWJsZS1pZG4sbGliaWRuIgorUEFDS0FHRUNPTkZJR1tndGtdID0gIi0tZW5hYmxlLWd0a3VpLC0tZGlzYWJsZS1ndGt1aSxndGsrIgorUEFDS0FHRUNPTkZJR1t4MTFdID0gIi0td2l0aC14PXllcyAtLXgtaW5jbHVkZXM9JHtTVEFHSU5HX0lOQ0RJUn0gLS14LWxpYnJhcmllcz0ke1NUQUdJTkdfTElCRElSfSwtLXdpdGgteD1ubyx2aXJ0dWFsL2xpYngxMSIKK1BBQ0tBR0VDT05GSUdbc3RhcnR1cC1ub3RpZmljYXRpb25dID0gIi0tZW5hYmxlLXN0YXJ0dXAtbm90aWZpY2F0aW9uLC0tZGlzYWJsZS1zdGFydHVwLW5vdGlmaWNhdGlvbixzdGFydHVwLW5vdGlmaWNhdGlvbiIKK1BBQ0tBR0VDT05GSUdbY29uc29sZXVpXSA9ICItLWVuYWJsZS1jb25zb2xldWkgLS13aXRoLW5jdXJzZXMtaGVhZGVycz0ke1NUQUdJTkdfSU5DRElSfSwtLWRpc2FibGUtY29uc29sZXVpLG5jdXJzZXMiCitQQUNLQUdFQ09ORklHW2dudXRsc10gPSAiLS1lbmFibGUtZ251dGxzIC0td2l0aC1nbnV0bHMtaW5jbHVkZXM9JHtTVEFHSU5HX0lOQ0RJUn0gLS13aXRoLWdudXRscy1saWJzPSR7U1RBR0lOR19MSUJESVJ9LC0tZGlzYWJsZS1nbnV0bHMsZ251dGxzIgorUEFDS0FHRUNPTkZJR1tkYnVzXSA9ICItLWVuYWJsZS1kYnVzLC0tZGlzYWJsZS1kYnVzLGRidXMgZGJ1cy1nbGliIgorUEFDS0FHRUNPTkZJR1thdmFoaV0gPSAiLS1lbmFibGUtYXZhaGksLS1kaXNhYmxlLWF2YWhpLGF2YWhpIgorCitFWFRSQV9PRUNPTkYgPSAiIFwKKyAgICAtLWRpc2FibGUtcGVybCBcCisgICAgLS1kaXNhYmxlLXRjbCBcCisgICAgLS1kaXNhYmxlLWdldm9sdXRpb24gXAorICAgIC0tZGlzYWJsZS1zY2hlbWFzLWluc3RhbGwgXAorICAgIC0tZGlzYWJsZS1ndGtzcGVsbCBcCisgICAgLS1kaXNhYmxlLW1lYW53aGlsZSBcCisgICAgLS1kaXNhYmxlLW5tIFwKKyAgICAtLWRpc2FibGUtc2NyZWVuc2F2ZXIgXAorICAgIC0tZW5hYmxlLW5zcz1ubyBcCisiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIHRvdWNoICR7U30vcG8vTWFrZWZpbGUKKyAgICBzZWQgLWkgInMjUFlfVkVSU0lPTj1gJFBZVEhPTiAtYyAnaW1wb3J0IHN5cyA7IHByaW50IHN5cy52ZXJzaW9uWzA6M10nYCNQWV9WRVJTSU9OPSR7UFlUSE9OX0JBU0VWRVJTSU9OfSNnIiAke1N9L2NvbmZpZ3VyZS5hYworfQorCitPRV9MVF9SUEFUSF9BTExPVz0iOiR7bGliZGlyfS9wdXJwbGUtMjoiCitPRV9MVF9SUEFUSF9BTExPV1tleHBvcnRdPSIxIgorCitQQUNLQUdFUyA9KyAibGlicHVycGxlLWRiZyBsaWJwdXJwbGUtZGV2IGxpYnB1cnBsZSBsaWJnbnQtZGJnIGxpYmdudCBsaWJnbnQtZGV2IGZpbmNoLWRiZyBmaW5jaCBmaW5jaC1kZXYgJHtQTn0tZGF0YSIKKworTEVBRF9TT05BTUUgPSAibGlicHVycGxlLnNvLjAiCitGSUxFU19saWJwdXJwbGUgICAgID0gIiR7bGliZGlyfS9saWJwdXJwbGUqLnNvLiogJHtsaWJkaXJ9L3B1cnBsZS0yICR7YmluZGlyfS9wdXJwbGUtKiAke3N5c2NvbmZkaXJ9L2djb25mL3NjaGVtYXMvcHVycGxlKiAke2RhdGFkaXJ9L3B1cnBsZS9jYS1jZXJ0cyIKK0ZJTEVTX2xpYnB1cnBsZS1kZXYgPSAiJHtsaWJkaXJ9L2xpYnB1cnBsZSoubGEgXAorICAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vbGlicHVycGxlKi5zbyBcCisgICAgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9wdXJwbGUtMi8qLmxhIFwKKyAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3B1cnBsZS0yL2xpYmphYmJlci5zbyBcCisgICAgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9wdXJwbGUtMi9saWJvc2Nhci5zbyBcCisgICAgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9wdXJwbGUtMi9saWJ5bXNnLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9hY2xvY2FsIgorRklMRVNfbGlicHVycGxlLWRiZyArPSAiJHtsaWJkaXJ9Ly5kZWJ1Zy9saWJwdXJwbGUqIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9wdXJwbGUtMi8uZGVidWciCitGSUxFU19saWJnbnQgICAgICAgICA9ICIke2xpYmRpcn0vbGliZ250LnNvLiogJHtsaWJkaXJ9L2dudC8qLnNvIiAKK0ZJTEVTX2xpYmdudC1kZXYgICAgID0gIiR7bGliZGlyfS9nbnQvKi5sYSIgCitGSUxFU19saWJnbnQtZGJnICAgICA9ICIke2xpYmRpcn0vZ250Ly5kZWJ1ZyIKK0ZJTEVTX2ZpbmNoICAgICAgICAgID0gIiR7YmluZGlyfS9maW5jaCIKK0ZJTEVTX2ZpbmNoLWRldiAgICAgID0gIiR7bGliZGlyfS9maW5jaC8qLmxhIgorRklMRVNfZmluY2gtZGJnICAgICAgPSAiJHtiaW5kaXJ9Ly5kZWJ1Zy9maW5jaCBcCisgICAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vZmluY2gvLmRlYnVnIgorCitGSUxFU18ke1BOfSA9ICIke2JpbmRpcn0gJHtkYXRhZGlyfS8ke1BOfSAke2xpYmRpcn0vJHtQTn0vKi5zbyBcCisgICAgICAgICAgICR7ZGF0YWRpcn0vYXBwbGljYXRpb25zIgorUlJFQ09NTUVORFNfJHtQTn0gPSAiJHtQTn0tZGF0YSBsaWJwdXJwbGUtcGx1Z2luLXNzbC1nbnV0bHMgbGlicHVycGxlLXByb3RvY29sLWlyYyBsaWJwdXJwbGUtcHJvdG9jb2wteG1wcCIKKworRklMRVNfJHtQTn0tZGF0YSA9ICIke2RhdGFkaXJ9L3BpeG1hcHMgJHtkYXRhZGlyfS9zb3VuZHMgJHtkYXRhZGlyfS9pY29ucyAke2RhdGFkaXJ9L2FwcGRhdGEiCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS8ke1BOfS8qLmxhIgorCitQQUNLQUdFU19EWU5BTUlDICs9ICJebGlicHVycGxlLXByb3RvY29sLS4qIF5saWJwdXJwbGUtcGx1Z2luLS4qIF5waWRnaW4tcGx1Z2luLS4qIF5maW5jaC1wbHVnaW4tLioiCisKK3B5dGhvbiBwb3B1bGF0ZV9wYWNrYWdlc19wcmVwZW5kICgpIHsKKyAgICBwaWRncm9vdCA9IGQuZXhwYW5kKCcke2xpYmRpcn0vcGlkZ2luJykKKyAgICBwdXJwbGUgICA9IGQuZXhwYW5kKCcke2xpYmRpcn0vcHVycGxlLTInKQorICAgIGZpbmNoICAgID0gZC5leHBhbmQoJyR7bGliZGlyfS9maW5jaCcpCisKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBwaWRncm9vdCwgJ14oW15sXVteaV1bXmJdLiopXC5zbyQnLAorICAgICAgICBvdXRwdXRfcGF0dGVybj0ncGlkZ2luLXBsdWdpbi0lcycsCisgICAgICAgIGRlc2NyaXB0aW9uPSdQaWRnaW4gcGx1Z2luICVzJywKKyAgICAgICAgcHJlcGVuZD1UcnVlLCBleHRyYV9kZXBlbmRzPScnKQorCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgcHVycGxlLCAnXmxpYiguKilcLnNvJCcsCisgICAgICAgIG91dHB1dF9wYXR0ZXJuPSdsaWJwdXJwbGUtcHJvdG9jb2wtJXMnLAorICAgICAgICBkZXNjcmlwdGlvbj0nTGlicHVycGxlIHByb3RvY29sIHBsdWdpbiBmb3IgJXMnLAorICAgICAgICBwcmVwZW5kPVRydWUsIGV4dHJhX2RlcGVuZHM9JycpCisKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBwdXJwbGUsICdeKHNzbC0uKilcLnNvJCcsCisgICAgICAgIG91dHB1dF9wYXR0ZXJuPSdsaWJwdXJwbGUtcGx1Z2luLSVzJywKKyAgICAgICAgZGVzY3JpcHRpb249J2xpYnB1cnBsZSBwbHVnaW4gJXMnLAorICAgICAgICBwcmVwZW5kPVRydWUsIGV4dHJhX2RlcGVuZHM9J2xpYnB1cnBsZS1wbHVnaW4tc3NsJykKKworICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIHB1cnBsZSwgJ14oW15sXVteaV1bXmJdLiopXC5zbyQnLAorICAgICAgICBvdXRwdXRfcGF0dGVybj0nbGlicHVycGxlLXBsdWdpbi0lcycsCisgICAgICAgIGRlc2NyaXB0aW9uPSdsaWJwdXJwbGUgcGx1Z2luICVzJywKKyAgICAgICAgcHJlcGVuZD1UcnVlLCBleHRyYV9kZXBlbmRzPScnKQorCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgZmluY2gsICdeKFtebF1bXmldW15iXS4qKVwuc28kJywKKyAgICAgICAgb3V0cHV0X3BhdHRlcm49J2ZpbmNoLXBsdWdpbi0lcycsCisgICAgICAgIGRlc2NyaXB0aW9uPSdGaW5jaCBwbHVnaW4gJXMnLAorICAgICAgICBwcmVwZW5kPVRydWUsIGV4dHJhX2RlcGVuZHM9JycpCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BrY3MxMS1oZWxwZXIvcGtjczExLWhlbHBlcl8xLjExLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wa2NzMTEtaGVscGVyL3BrY3MxMS1oZWxwZXJfMS4xMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYjcxYmQwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wa2NzMTEtaGVscGVyL3BrY3MxMS1oZWxwZXJfMS4xMS5iYgpAQCAtMCwwICsxLDI5IEBACitTVU1NQVJZID0gIkEgbGlicmFyeSBmb3IgdXNpbmcgUEtDUyIKK0RFU0NSSVBUSU9OID0gInBrY3MxMS1oZWxwZXIgaXMgYSBsaWJyYXJ5IHRoYXQgc2ltcGxpZmllcyB0aGUgaW50ZXJhY3Rpb24gd2l0aCBQS0NTIFwKK3Byb3ZpZGVycyBmb3IgZW5kLXVzZXIgYXBwbGljYXRpb25zIHVzaW5nIGEgc2ltcGxlIEFQSSBhbmQgb3B0aW9uYWwgT3BlblNTTCBcCitlbmdpbmUuIFRoZSBsaWJyYXJ5IGFsbG93cyB1c2luZyBtdWx0aXBsZSBQS0NTIGVudW1lcmF0aW5nIGF2YWlsYWJsZSB0b2tlbiBcCitjZXJ0aWZpY2F0ZXMsIG9yIHNlbGVjdGluZyBhIGNlcnRpZmljYXRlIGRpcmVjdGx5IGJ5IHNlcmlhbGl6ZWQgaWQsIGhhbmRsaW5nIFwKK2NhcmQgcmVtb3ZhbCBhbmQgY2FyZCBpbnNlcnQgZXZlbnRzLCBoYW5kbGluZyBjYXJkIGllLWluc2VydCB0byBhIGRpZmZlcmVudCBcCitzbG90LCBzdXBwb3J0aW5nIHNlc3Npb24gZXhwaXJhdGlvbiBhbmQgbXVjaCBtb3JlIGFsbCB1c2luZyBhIHNpbXBsZSBBUEkuIgorCitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lm9wZW5zYy1wcm9qZWN0Lm9yZy9wa2NzMTEtaGVscGVyLyIKK1NFQ1RJT04gPSAiRGV2ZWxvcG1lbnQvTGlicmFyaWVzIgorCitMSUNFTlNFID0gIkdQTHYyICYgQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICIgXAorICAgIGZpbGU6Ly9DT1BZSU5HO21kNT00OTQ4ODEwNjMxYmNhYzE0MmFmNTNkMzJkZjViNmVlMSBcCisgICAgZmlsZTovL0NPUFlJTkcuR1BMO21kNT04YTcxZDA0NzVkMDhlZWU3NmQ4YjZkMGM2ZGJlYzU0MyBcCisgICAgZmlsZTovL0NPUFlJTkcuQlNEO21kNT1mNzlmOTBlYTdhMTA2Nzk2YWY4MGI1ZDA1ZjFmOGRhMSBcCisiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vT3BlblNDLyR7QlBOfS5naXQiCitTUkNfVVJJW21kNXN1bV0gPSAiOWY2MmFmOWY0NzU5MDFiODkzNTUyNjYxNDEzMDY2NzMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNDk0ZWM1OWM5M2U3YzU2YzUyOGYzMzVkOTM1Mzg0OWUyZTdjOTRhNmIxYjQxYzg5NjA0Njk0ZTczODExMzM4NiIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKK1NSQ1JFViA9ICJlN2FkZjhmMzViZTIzMmE0ZjA0YzUzYjRhYzQwOWJlNTI3OTIwOTNlIgorCitERVBFTkRTID0gInpsaWIgbmV0dGxlIGdudXRscyBnbXAgb3BlbnNzbCBuc3MgbnNwciIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK0VYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtc3RhdGljIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wbmdjaGVjay9wbmdjaGVja18yLjMuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG5nY2hlY2svcG5nY2hlY2tfMi4zLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDUyM2I3YQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG5nY2hlY2svcG5nY2hlY2tfMi4zLjAuYmIKQEAgLTAsMCArMSwyMyBAQAorU1VNTUFSWSA9ICJwbmdjaGVjayB2ZXJpZmllcyB0aGUgaW50ZWdyaXR5IG9mIFBORywgSk5HIGFuZCBNTkcgZmlsZXMiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmxpYnBuZy5vcmcvcHViL3BuZy9hcHBzL3BuZ2NoZWNrLmh0bWwiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vZ3BsL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorREVQRU5EUyA9ICJ6bGliIGxpYnBuZyIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vcHJvamVjdC9wbmctbW5nLyR7QlBOfS8ke1BWfS8ke0JQTn0tJHtQVn0udGFyLmd6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiOTgwYmQ2ZDlhMzgzMGZkY2U3NDZkN2ZlM2M5MTY2ZWUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNzdmMGEwMzlhYzY0ZGY1NWZiZDA2YWY2Zjg3MmZkYmFkNGY2MzlkMDA5YmJiNWNkNWNiZTRkYjI1NjkwZjM1ZiIKKworRVhUUkFfT0VNQUtFID0gIi1lIE1BS0VGTEFHUz0iCisKK2RvX2NvbXBpbGUoKSB7CisgICAgb2VfcnVubWFrZSAtZiBNYWtlZmlsZS51bnggSU5DUz0tSSR7U1RBR0lOR19ESVJfSE9TVH0ke2luY2Rpcn0gTElCUz0ke1NUQUdJTkdfRElSX0hPU1R9JHtsaWJkaXJ9L2xpYnouYQorfQorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgcG5nY2hlY2sgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgcG5nLWZpeC1JREFULXdpbmRvd3NpemUgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgcG5nc3BsaXQgJHtEfSR7YmluZGlyfQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wb2NvL3BvY28vcnVuLXB0ZXN0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wb2NvL3BvY28vcnVuLXB0ZXN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM0NzlmN2EKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BvY28vcG9jby9ydW4tcHRlc3QKQEAgLTAsMCArMSw5IEBACisjIS9iaW4vc2gKK3doaWxlIHJlYWQgcnVubmVyOyBkbworICBwdXNoZCAuID4vZGV2L251bGwKKyAgY2QgYmluCisgIGVjaG8gVGVzdGluZyAkcnVubmVyCisgIC4vJHJ1bm5lci10ZXN0cnVubmVyIC1hbGwKKyAgcG9wZCA+L2Rldi9udWxsCitkb25lIDwgdGVzdHJ1bm5lcnMKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wb2NvL3BvY29fMS43LjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BvY28vcG9jb18xLjcuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMzVkMmFhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wb2NvL3BvY29fMS43LjEuYmIKQEAgLTAsMCArMSwxMDcgQEAKK1NVTU1BUlkgPSAiTW9kZXJuLCBwb3dlcmZ1bCBvcGVuIHNvdXJjZSBjcm9zcy1wbGF0Zm9ybSBDKysgY2xhc3MgbGlicmFyaWVzIgorREVTQ1JJUFRJT04gPSAiTW9kZXJuLCBwb3dlcmZ1bCBvcGVuIHNvdXJjZSBDKysgY2xhc3MgbGlicmFyaWVzIGFuZCBmcmFtZXdvcmtzIGZvciBidWlsZGluZyBuZXR3b3JrLSBhbmQgaW50ZXJuZXQtYmFzZWQgYXBwbGljYXRpb25zIHRoYXQgcnVuIG9uIGRlc2t0b3AsIHNlcnZlciwgbW9iaWxlIGFuZCBlbWJlZGRlZCBzeXN0ZW1zLiIKK1NFQ1RJT04gPSAibGlicyIKK0hPTUVQQUdFID0gImh0dHA6Ly9wb2NvcHJvamVjdC5vcmcvIgorTElDRU5TRSA9ICJCU0wtMS4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9NDI2N2Y0OGZjNzM4ZjUwMzgwY2JlZWI3NmY5NWNlYmMiCisKKyMgVGhlc2UgZGVwZW5kZW5jaWVzIGFyZSByZXF1aXJlZCBieSBGb3VuZGF0aW9uCitERVBFTkRTID0gImxpYnBjcmUgemxpYiIKKworaW5oZXJpdCBjbWFrZSBwdGVzdAorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKKworU1JDX1VSSSA9ICIgXAorICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9wb2NvcHJvamVjdC9wb2NvL2FyY2hpdmUvcG9jby0ke1BWfS1yZWxlYXNlLnRhci5neiBcCisgICAgZmlsZTovL3J1bi1wdGVzdCBcCisgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJhNGI3NTVkNDczMDNiMjBhMGUyNTg2ZjI4MWQwNWEzNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2ZGJiYzIwMTg5MTJhZDlhZjZhZjk2ZjYwNTkzM2VkOTEzNTRhMWU3NDIzZTVkYmQwNGQ4ZTlhMmIyZDE1YzA1IgorCitTID0gIiR7V09SS0RJUn0vcG9jby1wb2NvLSR7UFZ9LXJlbGVhc2UiCisKK0VYVFJBX09FQ01BS0UgPSAiLURDTUFLRV9CVUlMRF9UWVBFPVJlbFdpdGhEZWJJbmZvIC1EUE9DT19VTkJVTkRMRUQ9T04gXAorICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnUFRFU1RfRU5BQkxFRCcsICcxJywgJy1ERU5BQkxFX1RFU1RTPU9OICcsICcnLCBkKX0iCisKKyMgRm9yIHRoZSBuYXRpdmUgYnVpbGQgd2Ugd2FudCB0byB1c2UgdGhlIGJ1bmRsZWQgdmVyc2lvbgorRVhUUkFfT0VDTUFLRV9hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiAtRFBPQ09fVU5CVU5ETEVEPU9GRiIKKworIyBkbyBub3QgdXNlIHJwYXRoCitFWFRSQV9PRUNNQUtFX2FwcGVuZCA9ICIgLURDTUFLRV9TS0lQX1JQQVRIPU9OIgorCisjIEJ5IGRlZmF1bHQgdGhlIG1vc3QgY29tbW9ubHkgdXNlZCBwb2NvIGNvbXBvbmVudHMgYXJlIGJ1aWx0CisjIEZvdW5kYXRpb24gaXMgYnVpbHQgYW55d2F5IGFuZCBkb2Vzbid0IG5lZWQgdG8gYmUgbGlzdGVkIGV4cGxpY2l0bHkKKyMgdGhlc2UgZG9uJ3QgaGF2ZSBkZXBlbmRlbmNpZXMgb3V0c2lkZSBvZS1jb3JlCitQQUNLQUdFQ09ORklHID8/PSAiWE1MIEpTT04gTW9uZ29EQiBQREYgVXRpbCBOZXQgTmV0U1NMIENyeXB0byBEYXRhIERhdGFTUUxpdGUgWmlwIgorCitQQUNLQUdFQ09ORklHW1hNTF0gPSAiLURFTkFCTEVfWE1MPU9OLC1ERU5BQkxFX1hNTD1PRkYsZXhwYXQiCitQQUNLQUdFQ09ORklHW0pTT05dID0gIi1ERU5BQkxFX0pTT049T04sLURFTkFCTEVfSlNPTj1PRkYiCitQQUNLQUdFQ09ORklHW01vbmdvREJdID0gIi1ERU5BQkxFX01PTkdPREI9T04sLURFTkFCTEVfTU9OR09EQj1PRkYiCitQQUNLQUdFQ09ORklHW1BERl0gPSAiLURFTkFCTEVfUERGPU9OLC1ERU5BQkxFX1BERj1PRkYsemxpYiIKK1BBQ0tBR0VDT05GSUdbVXRpbF0gPSAiLURFTkFCTEVfVVRJTD1PTiwtREVOQUJMRV9VVElMPU9GRiIKK1BBQ0tBR0VDT05GSUdbTmV0XSA9ICItREVOQUJMRV9ORVQ9T04sLURFTkFCTEVfTkVUPU9GRiIKK1BBQ0tBR0VDT05GSUdbTmV0U1NMXSA9ICItREVOQUJMRV9ORVRTU0w9T04sLURFTkFCTEVfTkVUU1NMPU9GRixvcGVuc3NsIgorUEFDS0FHRUNPTkZJR1tDcnlwdG9dID0gIi1ERU5BQkxFX0NSWVBUTz1PTiwtREVOQUJMRV9DUllQVE89T0ZGLG9wZW5zc2wiCitQQUNLQUdFQ09ORklHW0RhdGFdID0gIi1ERU5BQkxFX0RBVEE9T04sLURFTkFCTEVfREFUQT1PRkYiCitQQUNLQUdFQ09ORklHW0RhdGFTUUxpdGVdID0gIi1ERU5BQkxFX0RBVEFfU1FMSVRFPU9OLC1ERU5BQkxFX0RBVEFfU1FMSVRFPU9GRixzcWxpdGUzIgorUEFDS0FHRUNPTkZJR1taaXBdID0gIi1ERU5BQkxFX1pJUD1PTiwtREVOQUJMRV9aSVA9T0ZGIgorCisjIEFkZGl0aW9uYWwgY29tcG9uZW50cyBub3QgYnVpbGQgYnkgZGVmYXVsdCwKKyMgdGhleSBtaWdodCBoYXZlIGRlcGVuZGVuY2llcyBub3QgaW5jbHVkZWQgaW4gb2UtY29yZQorIyBvciB0aGV5IGRvbid0IHdvcmsgb24gYWxsIGFyY2hpdGVjdHVyZXMKK1BBQ0tBR0VDT05GSUdbbW9kX3BvY29dID0gIi1ERU5BQkxFX0FQQUNIRUNPTk5FQ1RPUj1PTiwtREVOQUJMRV9BUEFDSEVDT05ORUNUT1I9T0ZGLGFwciBhcGFjaGUyIgorUEFDS0FHRUNPTkZJR1tDcHBQYXJzZXJdID0gIi1ERU5BQkxFX0NQUFBBUlNFUj1PTiwtREVOQUJMRV9DUFBQQVJTRVI9T0ZGIgorUEFDS0FHRUNPTkZJR1tEYXRhTXlTUUxdID0gIi1ERU5BQkxFX0RBVEFfTVlTUUw9T04sLURFTkFCTEVfREFUQV9NWVNRTD1PRkYsbWFyaWFkYiIKK1BBQ0tBR0VDT05GSUdbRGF0YU9EQkNdID0gIi1ERU5BQkxFX0RBVEFfT0RCQz1PTiwtREVOQUJMRV9EQVRBX09EQkM9T0ZGLGxpYmlvZGJjIgorUEFDS0FHRUNPTkZJR1tQYWdlQ29tcGlsZXJdID0gIi1ERU5BQkxFX1BBR0VDT01QSUxFUj1PTiwtREVOQUJMRV9QQUdFQ09NUElMRVI9T0ZGIgorUEFDS0FHRUNPTkZJR1tQYWdlQ29tcGlsZXJGaWxlMlBhZ2VdID0gIi1ERU5BQkxFX1BBR0VDT01QSUxFUl9GSUxFMlBBR0U9T04sLURFTkFCTEVfUEFHRUNPTVBJTEVSX0ZJTEUyUEFHRT1PRkYiCitQQUNLQUdFQ09ORklHW1NldmVuWmlwXSA9ICItREVOQUJMRV9TRVZFTlpJUD1PTiwtREVOQUJMRV9TRVZFTlpJUD1PRkYiCisKKyMgTWFrZSBhIHBhY2thZ2UgZm9yIGVhY2ggbGlicmFyeQorUEFDS0FHRVMgPSAiJHtQTn0tZGJnICR7UE9DT19QQUNLQUdFU30iCitweXRob24gX19hbm9ueW1vdXMgKCkgeworICAgIHBhY2thZ2VzID0gW10KKyAgICB0ZXN0cnVubmVycyA9IFtdCisgICAgY29tcG9uZW50cyA9IGQuZ2V0VmFyKCJQQUNLQUdFQ09ORklHIiwgVHJ1ZSkuc3BsaXQoKQorICAgIGNvbXBvbmVudHMuYXBwZW5kKCJGb3VuZGF0aW9uIikKKyAgICBmb3IgbGliIGluIGNvbXBvbmVudHM6CisgICAgICAgIHBrZyA9ICgicG9jby0lcyIgJSBsaWIubG93ZXIoKSkucmVwbGFjZSgiXyIsIiIpCisgICAgICAgIHBhY2thZ2VzLmFwcGVuZChwa2cpCisgICAgICAgIGlmIG5vdCBkLmdldFZhcigiRklMRVNfJXMiICUgcGtnLCBUcnVlKToKKyAgICAgICAgICAgIGQuc2V0VmFyKCJGSUxFU18lcyIgJSBwa2csICIke2xpYmRpcn0vbGliUG9jbyVzLnNvLioiICUgbGliKQorICAgICAgICB0ZXN0cnVubmVycy5hcHBlbmQoIiVzIiAlIGxpYikKKworICAgIGQuc2V0VmFyKCJQT0NPX1BBQ0tBR0VTIiwgIiAiLmpvaW4ocGFja2FnZXMpKQorICAgIGQuc2V0VmFyKCJQT0NPX1RFU1RSVU5ORVJTIiwgIlxuIi5qb2luKHRlc3RydW5uZXJzKSkKK30KKworIyAicG9jbyIgaXMgYSBtZXRhcGFja2FnZSB3aGljaCBwdWxscyBpbiBhbGwgUG9jbyBjb21wb25lbnRzCitQQUNLQUdFUyArPSAiJHtQTn0iCitSUkVDT01NRU5EU18ke1BOfSArPSAiJHtQT0NPX1BBQ0tBR0VTfSIKK1JSRUNPTU1FTkRTXyR7UE59X2NsYXNzLW5hdGl2ZSA9ICIiCitBTExPV19FTVBUWV8ke1BOfSA9ICIxIgorCisjIC1kZXYgbGFzdCB0byBwaWNrIHVwIHRoZSByZW1haW5pbmcgc3R1ZmYKK1BBQ0tBR0VTICs9ICIke1BOfS1kZXYgJHtQTn0tc3RhdGljZGV2IgorRklMRVNfJHtQTn0tZGV2ID0gIiR7aW5jbHVkZWRpcn0gJHtsaWJkaXJ9L2xpYlBvY28qLnNvICR7bGliZGlyfS9jbWFrZSIKK0ZJTEVTXyR7UE59LXN0YXRpY2RldiA9ICIke2xpYmRpcn0vbGliUG9jbyouYSIKKworIyBwdGVzdCBzdXBwb3J0CitGSUxFU18ke1BOfS1kYmcgKz0gIiR7UFRFU1RfUEFUSH0vYmluLy5kZWJ1ZyIKKworIyBjcHB1bml0IGlzIG9ubHkgYnVpbHQgaWYgdGVzdHMgYXJlIGVuYWJsZWQKK1BBQ0tBR0VTICs9ICIke1BOfS1jcHB1bml0IgorRklMRVNfJHtQTn0tY3BwdW5pdCArPSAiJHtsaWJkaXJ9L2xpYkNwcFVuaXQuc28qIgorQUxMT1dfRU1QVFlfJHtQTn0tY3BwdW5pdCA9ICIxIgorCitSREVQRU5EU18ke1BOfS1wdGVzdCArPSAiJHtQTn0tY3BwdW5pdCIKKworZG9faW5zdGFsbF9wdGVzdCAoKSB7CisgICAgICAgY3AgLXJmICR7Qn0vYmluLyAke0R9JHtQVEVTVF9QQVRIfQorICAgICAgIGNwIC1mICR7Qn0vbGliL2xpYkNwcFVuaXQuc28qICR7RH0ke2xpYmRpcn0KKyAgICAgICBjcCAtcmYgJHtCfS8qL3Rlc3RzdWl0ZS9kYXRhICR7RH0ke1BURVNUX1BBVEh9L2Jpbi8KKyAgICAgICBmaW5kICIke0R9JHtQVEVTVF9QQVRIfSIgLWV4ZWN1dGFibGUgLWV4ZWMgY2hycGF0aCAtZCB7fSBcOworICAgICAgIGVjaG8gIiR7UE9DT19URVNUUlVOTkVSU30iID4gIiR7RH0ke1BURVNUX1BBVEh9L3Rlc3RydW5uZXJzIgorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wb3BwbGVyL3BvcHBsZXItZGF0YV8wLjQuNy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9wcGxlci9wb3BwbGVyLWRhdGFfMC40LjcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTUzMGE0OAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9wcGxlci9wb3BwbGVyLWRhdGFfMC40LjcuYmIKQEAgLTAsMCArMSwzNiBAQAorU1VNTUFSWSA9ICJFbmNvZGluZyBmaWxlcyBmb3IgUG9wcGxlciIKK0RFU0NSSVBUSU9OID0gIkVuY29kaW5nIGZpbGVzIGZvciB1c2Ugd2l0aCBwb3BwbGVyIHRoYXQgZW5hYmxlIHBvcHBsZXIgdG8gXAorICAgICAgICAgICAgICAgY29ycmVjdGx5IHJlbmRlciBDSksgYW5kIEN5cnJpbGljLiIKK0xJQ0VOU0UgPSAiQlNEICYgR1BMdjIgJiBHUEx2MysiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT00ODcwYjk4MzQzZjBiYmIyNWZhNDNiOWQyYmE1OTQ0OCBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLmFkb2JlO21kNT02M2M2YThhOWRmMjA0YzAwNDYxZmE1ZjE2M2Q4YTY2MyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLmdwbDI7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIFwKKyIKKworaW5oZXJpdCBhbGxhcmNoCisKK0lOSElCSVRfREVGQVVMVF9ERVBTID0gIjEiCisKK0NNQVBfUkVTT1VSQ0VTX0JBU0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL2Fkb2JlLXR5cGUtdG9vbHMvY21hcC1yZXNvdXJjZXMvcmF3LzA1NjFlYmNhMDM1ODEzZWQwNGMzNDg1YmNhNjM2YTBhYTdhYmRjMWQvY21hcHJlc291cmNlc19pZGVudGl0eS0wL0NNYXAiCisKK1NSQ19VUkkgPSAiaHR0cDovL3BvcHBsZXIuZnJlZWRlc2t0b3Aub3JnLyR7QlB9LnRhci5neiBcCisgICAgICAgICAgICR7Q01BUF9SRVNPVVJDRVNfQkFTRX0vSWRlbnRpdHktSDtuYW1lPWlkaCBcCisgICAgICAgICAgICR7Q01BUF9SRVNPVVJDRVNfQkFTRX0vSWRlbnRpdHktVjtuYW1lPWlkdiIKKworU1JDX1VSSVttZDVzdW1dID0gIjYzNmE4ZjJiOWY2ZGY5ZTdjZWQ4ZWMwOTQ2OTYxZWFmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImU3NTJiMGQ4OGE3YWJhNTQ1NzQxNTIxNDNlN2JmNzY0MzZhN2VmNTE5NzdjNTVkNmJkOWE0OGRjY2RlM2E3ZGUiCitTUkNfVVJJW2lkaC5tZDVzdW1dID0gIjAwOWM5M2NmMDE0MWFiN2JkNmFjYjdlZWExNDMwNmNjIgorU1JDX1VSSVtpZGguc2hhMjU2c3VtXSA9ICJhZTcwMmMyMDNhODJlYTEyNGU5Yjk2NTkwZjgyMWRiNmZiZjg3NTRlMmM0NTQ3YTlkYmEwZTgyZjk0NzM5ZTk1IgorU1JDX1VSSVtpZHYubWQ1c3VtXSA9ICIyZjMyYTQ1ZDQzZDAwMWMyNmVlYWM2Yjg3ODg1NWZiZiIKK1NSQ19VUklbaWR2LnNoYTI1NnN1bV0gPSAiODlhODVkYWY3MDMxZTkzYzg4M2U3NmI5MTY4YTIyNmRmZDU4NWJmNTUwNmU5ZTE5NTY3NzIxNjNmMTVjYjA4MiIKKworZG9fY29tcGlsZSgpIHsKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBvZV9ydW5tYWtlIGluc3RhbGwgREVTVERJUj0ke0R9IHByZWZpeD0ke3ByZWZpeH0gZGF0YWRpcj0ke2RhdGFkaXJ9CisgICAgaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS9wb3BwbGVyL2NNYXAKKyAgICBpbnN0YWxsIC1tNjQ0ICR7V09SS0RJUn0vSWRlbnRpdHktKiAke0R9JHtkYXRhZGlyfS9wb3BwbGVyL2NNYXAvCit9CisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wb3BwbGVyL3BvcHBsZXIvMDAwMS1Db21waWxlLXdpdGgtQy0xMS1jb21waWxlcnMtdGhhdC1kb24tdC1kZWZpbmUtaXNpbmZpLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wb3BwbGVyL3BvcHBsZXIvMDAwMS1Db21waWxlLXdpdGgtQy0xMS1jb21waWxlcnMtdGhhdC1kb24tdC1kZWZpbmUtaXNpbmZpLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ1YzM0YTYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BvcHBsZXIvcG9wcGxlci8wMDAxLUNvbXBpbGUtd2l0aC1DLTExLWNvbXBpbGVycy10aGF0LWRvbi10LWRlZmluZS1pc2luZmkucGF0Y2gKQEAgLTAsMCArMSwzOSBAQAorRnJvbSBhOGUzMzk5NDg3MjU4ZTUzZGYwZmQ0YTc5YzU3MGM4ZDcxMTg4YmVkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogVGFrYWhpcm8gSGFzaGltb3RvIDxrZW55YTg4OC5lbkBnbWFpbC5jb20+CitEYXRlOiBXZWQsIDI3IEFwciAyMDE2IDAwOjE2OjUyICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIENvbXBpbGUgd2l0aCBDKysxMSBjb21waWxlcnMgdGhhdCBkb24ndCBkZWZpbmUgaXNpbmZpbml0ZQorCitCdWcgIzk0NzYxCistLS0KKyBwb3BwbGVyL1NwbGFzaE91dHB1dERldi5jYyB8IDggKysrKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9wb3BwbGVyL1NwbGFzaE91dHB1dERldi5jYyBiL3BvcHBsZXIvU3BsYXNoT3V0cHV0RGV2LmNjCitpbmRleCAxM2QwOTBjLi4wZTUwNzAyIDEwMDY0NAorLS0tIGEvcG9wcGxlci9TcGxhc2hPdXRwdXREZXYuY2MKKysrKyBiL3BvcHBsZXIvU3BsYXNoT3V0cHV0RGV2LmNjCitAQCAtMzYsNiArMzYsNyBAQAorIC8vIENvcHlyaWdodCAoQykgMjAxNCBSaWNoYXJkIFBBTE8gPHJpY2hhcmRAbmV0YnNkLm9yZz4KKyAvLyBDb3B5cmlnaHQgKEMpIDIwMTUgVGFtYXMgU3pla2VyZXMgPHN6ZWtlcmVzdEBnbWFpbC5jb20+CisgLy8gQ29weXJpZ2h0IChDKSAyMDE1IEtlbmppIFVubyA8a3VAZGlnaXRhbGRvbHBoaW5zLmpwPgorKy8vIENvcHlyaWdodCAoQykgMjAxNiBUYWthaGlybyBIYXNoaW1vdG8gPGtlbnlhODg4LmVuQGdtYWlsLmNvbT4KKyAvLworIC8vIFRvIHNlZSBhIGRlc2NyaXB0aW9uIG9mIHRoZSBjaGFuZ2VzIHBsZWFzZSBzZWUgdGhlIENoYW5nZWxvZyBmaWxlIHRoYXQKKyAvLyBjYW1lIHdpdGggeW91ciB0YXJiYWxsIG9yIHR5cGUgbWFrZSBDaGFuZ2VMb2cgaWYgeW91IGFyZSBidWlsZGluZyBmcm9tIGdpdAorQEAgLTk0LDYgKzk1LDEzIEBAIGV4dGVybiAiQyIgaW50IHVubGluayhjaGFyICpmaWxlbmFtZSk7CisgI2VuZGlmCisgI2VuZGlmCisgCisrI2lmIF9fY3BsdXNwbHVzID4gMTk5NzExTAorKyNpbmNsdWRlIDxjbWF0aD4KKysjaWZuZGVmIGlzZmluaXRlCisrI2RlZmluZSBpc2Zpbml0ZSh4KSBzdGQ6OmlzZmluaXRlKHgpCisrI2VuZGlmCisrI2VuZGlmCisrCisgc3RhdGljIGlubGluZSB2b2lkIGNvbnZlcnRHZnhDb2xvcihTcGxhc2hDb2xvclB0ciBkZXN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3BsYXNoQ29sb3JNb2RlIGNvbG9yTW9kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdmeENvbG9yU3BhY2UgKmNvbG9yU3BhY2UsCistLSAKKzIuOC4yCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9wcGxlci9wb3BwbGVyLzAwMDEtYWRkLW1hbmFkYXRvcnktb3B0aW9ucy10by1maW5kLXF0NC1xdDUtbW9jLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wb3BwbGVyL3BvcHBsZXIvMDAwMS1hZGQtbWFuYWRhdG9yeS1vcHRpb25zLXRvLWZpbmQtcXQ0LXF0NS1tb2MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTYwYjA3MwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9wcGxlci9wb3BwbGVyLzAwMDEtYWRkLW1hbmFkYXRvcnktb3B0aW9ucy10by1maW5kLXF0NC1xdDUtbW9jLnBhdGNoCkBAIC0wLDAgKzEsOTEgQEAKK0Zyb20gOTFiNjI3NWYwZTkxYzI1YmViMDQwYjRlZjk0ODQwNTNhZTMwNWQ4NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KK0RhdGU6IFR1ZSwgMjYgTWF5IDIwMTUgMTI6NDU6NDcgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gYWRkIG1hbmFkYXRvcnkgb3B0aW9ucyB0byBmaW5kIHF0NC9xdDUgbW9jCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbT0Ugc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KKy0tLQorIGNvbmZpZ3VyZS5hYyB8IDU1ICsrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCA0NyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggNjc1OTljMC4uNDBmYTU5NiAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtNjIyLDI1ICs2MjIsMTAgQEAgQUNfU1VCU1QoUE9QUExFUl9RVDRfTElCUykKKyBBQ19TVUJTVChQT1BQTEVSX1FUNF9URVNUX0xJQlMpCisgCisgaWYgdGVzdCB4JGVuYWJsZV9wb3BwbGVyX3F0NCA9IHh5ZXM7IHRoZW4KKy0gIEFDX0NIRUNLX1RPT0woTU9DUVQ0LCBtb2MpCistICBBQ19NU0dfQ0hFQ0tJTkcoW2ZvciBRdDQgbW9jXSkKKy0gIG1vY3ZlcnNpb249YCRNT0NRVDQgLXYgMj4mMWAKKy0gIG1vY3ZlcnNpb25ncmVwPWBlY2hvICRtb2N2ZXJzaW9uIHwgZ3JlcCAiUXQgNCJgCistICBpZiB0ZXN0IHgiJG1vY3ZlcnNpb25ncmVwIiAhPSB4IiRtb2N2ZXJzaW9uIjsgdGhlbgorLSAgICBBQ19NU0dfUkVTVUxUKFtub10pCistICAgICMgbW9jIHdhcyBub3QgdGhlIHF0NCBvbmUsIHRyeSB3aXRoIG1vYy1xdDQKKy0gICAgQUNfQ0hFQ0tfVE9PTChNT0NRVDQyLCBtb2MtcXQ0KQorLSAgICBBQ19NU0dfQ0hFQ0tJTkcoW2ZvciBRdDQgbW9jLXF0NF0pCistICAgIG1vY3ZlcnNpb249YCRNT0NRVDQyIC12IDI+JjFgCistICAgIG1vY3ZlcnNpb25ncmVwPWBlY2hvICRtb2N2ZXJzaW9uIHwgZ3JlcCAiUXQgNCJgCistICAgIGlmIHRlc3QgeCIkbW9jdmVyc2lvbmdyZXAiICE9IHgiJG1vY3ZlcnNpb24iOyB0aGVuCistICAgICAgIyBubyB2YWxpZCBtb2MgZm91bmQKKy0gICAgICBlbmFibGVfcG9wcGxlcl9xdDQ9bm87CistICAgICAgTU9DUVQ0PSJub3QgZm91bmQiCistICAgIGVsc2UKKy0gICAgICBNT0NRVDQ9JE1PQ1FUNDIKKy0gICAgZmkKKy0gIGZpCisrICBBQ19BUkdfV0lUSChbbW9jLXF0NF0sCisrICAgICAgICAgICAgICBBU19IRUxQX1NUUklORyhbLS13aXRoLW1vYy1xdDRdLCBbU2V0IGxvY2F0aW9uIG9mIHF0NCBtb2NdKSwKKysgICAgICAgICAgICAgIFtNT0NRVDQ9JHdpdGh2YWxdCisrICApCisgICBBQ19TVUJTVChNT0NRVDQpCisgICBBQ19NU0dfUkVTVUxUKFskTU9DUVQ0XSkKKyBmaQorQEAgLTY3OSwzNCArNjY0LDEwIEBAIEFDX1NVQlNUKFBPUFBMRVJfUVQ1X0xJQlMpCisgQUNfU1VCU1QoUE9QUExFUl9RVDVfVEVTVF9MSUJTKQorIAorIGlmIHRlc3QgeCRlbmFibGVfcG9wcGxlcl9xdDUgPSB4eWVzOyB0aGVuCistICBBQ19DSEVDS19UT09MKE1PQ1FUNSwgbW9jKQorLSAgQUNfTVNHX0NIRUNLSU5HKFtmb3IgUXQ1IG1vY10pCistICBtb2N2ZXJzaW9uPWAkTU9DUVQ1IC12IDI+JjFgCistICBtb2N2ZXJzaW9uZ3JlcD1gZWNobyAkbW9jdmVyc2lvbiB8IGdyZXAgIlF0IDVcfG1vYyA1ImAKKy0gIGlmIHRlc3QgeCIkbW9jdmVyc2lvbmdyZXAiICE9IHgiJG1vY3ZlcnNpb24iOyB0aGVuCistICAgIEFDX01TR19SRVNVTFQoW25vXSkKKy0gICAgIyBtb2Mgd2FzIG5vdCB0aGUgcXQ1IG9uZSwgdHJ5IHdpdGggbW9jLXF0NQorLSAgICBBQ19DSEVDS19UT09MKE1PQ1FUNTIsIG1vYy1xdDUpCistICAgIEFDX01TR19DSEVDS0lORyhbZm9yIFF0NSBtb2MtcXQ1XSkKKy0gICAgbW9jdmVyc2lvbj1gJE1PQ1FUNTIgLXYgMj4mMWAKKy0gICAgbW9jdmVyc2lvbmdyZXA9YGVjaG8gJG1vY3ZlcnNpb24gfCBncmVwICJRdCA1XHxtb2MtcXQ1IDVcfG1vYyA1ImAKKy0gICAgaWYgdGVzdCB4IiRtb2N2ZXJzaW9uZ3JlcCIgIT0geCIkbW9jdmVyc2lvbiI7IHRoZW4KKy0gICAgICBBQ19DSEVDS19UT09MKFFUQ0hPT1NFUiwgcXRjaG9vc2VyKQorLSAgICAgIEFDX01TR19DSEVDS0lORyhbZm9yIHF0Y2hvb3Nlcl0pCistICAgICAgcXQ1dG9vbGRpcj1gUVRfU0VMRUNUPXF0NSBxdGNob29zZXIgLXByaW50LWVudiB8IGdyZXAgUVRUT09MRElSIHwgY3V0IC1kICc9JyAtZiAyIHwgY3V0IC1kIFwiIC1mIDJgCistICAgICAgbW9jdmVyc2lvbj1gJHF0NXRvb2xkaXIvbW9jIC12IDI+JjFgCistICAgICAgbW9jdmVyc2lvbmdyZXA9YGVjaG8gJG1vY3ZlcnNpb24gfCBncmVwICJRdCA1XHxtb2MgNSJgCistICAgICAgaWYgdGVzdCB4IiRtb2N2ZXJzaW9uZ3JlcCIgIT0geCIkbW9jdmVyc2lvbiI7IHRoZW4KKy0gICAgICAgICMgbm8gdmFsaWQgbW9jIGZvdW5kCistICAgICAgICBlbmFibGVfcG9wcGxlcl9xdDU9bm87CistICAgICAgICBNT0NRVDU9Im5vdCBmb3VuZCIKKy0gICAgICBlbHNlCistICAgICAgICBNT0NRVDU9JHF0NXRvb2xkaXIvbW9jCistICAgICAgZmkKKy0gICAgZWxzZQorLSAgICAgIE1PQ1FUNT0kTU9DUVQ1MgorLSAgICBmaQorLSAgZmkKKysgIEFDX0FSR19XSVRIKFttb2MtcXQ1XSwKKysgICAgICAgICAgICAgIEFTX0hFTFBfU1RSSU5HKFstLXdpdGgtbW9jLXF0NV0sIFtTZXQgbG9jYXRpb24gb2YgcXQ1IG1vY10pLAorKyAgICAgICAgICAgICAgW01PQ1FUNT0kd2l0aHZhbF0KKysgICkKKyAgIEFDX1NVQlNUKE1PQ1FUNSkKKyAgIEFDX01TR19SRVNVTFQoWyRNT0NRVDVdKQorIGZpCistLSAKKzEuOS4zCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9wcGxlci9wb3BwbGVyXzAuNDEuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9wcGxlci9wb3BwbGVyXzAuNDEuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mN2NjMDc2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wb3BwbGVyL3BvcHBsZXJfMC40MS4wLmJiCkBAIC0wLDAgKzEsNTUgQEAKK1NVTU1BUlkgPSAiUG9wcGxlciBpcyBhIFBERiByZW5kZXJpbmcgbGlicmFyeSBiYXNlZCBvbiB0aGUgeHBkZi0zLjAgY29kZSBiYXNlIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIgorCitTUkNfVVJJID0gIiBcCisgICAgaHR0cDovL3BvcHBsZXIuZnJlZWRlc2t0b3Aub3JnLyR7QlB9LnRhci54eiBcCisgICAgZmlsZTovLzAwMDEtYWRkLW1hbmFkYXRvcnktb3B0aW9ucy10by1maW5kLXF0NC1xdDUtbW9jLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMS1Db21waWxlLXdpdGgtQy0xMS1jb21waWxlcnMtdGhhdC1kb24tdC1kZWZpbmUtaXNpbmZpLnBhdGNoIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICI4NDlhOGJkNmFmNTc5NGVmYjk2MWI3MDQxODQxNGU1YSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI0MjBhYmFhYjYzY2FlZDllMWVlMjg5NjRhMGJhMjE2ZDE5Nzk1MDY3MjYxNjRiYzk5YWQ1YWRlMjg5MTkyYTFiIgorCitERVBFTkRTID0gImZvbnRjb25maWcgemxpYiBjYWlybyBsY21zIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZ3RrLWRvYyBnb2JqZWN0LWludHJvc3BlY3Rpb24KKworUEFDS0FHRUNPTkZJRyA/Pz0gImpwZWcgb3BlbmpwZWcgcG5nIHRpZmYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0JCRklMRV9DT0xMRUNUSU9OUycsICdxdDUtbGF5ZXInLCAncXQ1JywgJycsIGQpfSIKK1BBQ0tBR0VDT05GSUdbanBlZ10gPSAiLS1lbmFibGUtbGlianBlZywtLWRpc2FibGUtbGlianBlZyxqcGVnIgorUEFDS0FHRUNPTkZJR1twbmddID0gIi0tZW5hYmxlLWxpYnBuZywtLWRpc2FibGUtbGlicG5nLGxpYnBuZyIKK1BBQ0tBR0VDT05GSUdbdGlmZl0gPSAiLS1lbmFibGUtbGlidGlmZiwtLWRpc2FibGUtbGlidGlmZix0aWZmIgorUEFDS0FHRUNPTkZJR1tjdXJsXSA9ICItLWVuYWJsZS1saWJjdXJsLC0tZGlzYWJsZS1saWJjdXJsLGN1cmwiCitQQUNLQUdFQ09ORklHW29wZW5qcGVnXSA9ICItLWVuYWJsZS1saWJvcGVuanBlZz1vcGVuanBlZzIsLS1kaXNhYmxlLWxpYm9wZW5qcGVnLG9wZW5qcGVnIgorUEFDS0FHRUNPTkZJR1txdDVdID0gIi0tZW5hYmxlLXBvcHBsZXItcXQ1IC0td2l0aC1tb2MtcXQ1PSR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9xdDUvbW9jLC0tZGlzYWJsZS1wb3BwbGVyLXF0NSxxdGJhc2UiCitQQUNLQUdFQ09ORklHW3F0NGVdID0gIi0tZW5hYmxlLXBvcHBsZXItcXQ0IC0td2l0aC1tb2MtcXQ0PSR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9tb2M0LC0tZGlzYWJsZS1wb3BwbGVyLXF0NCxxdDQtZW1iZWRkZWQiCisKKyMgTmVlZGVkIGZvciBxdDUKK0NYWEZMQUdTICs9ICItLXN0ZD1jKysxMSIKKworRVhUUkFfT0VDT05GID0gIlwKKyAgICAtLWVuYWJsZS14cGRmLWhlYWRlcnMgXAorICAgIC0tZGlzYWJsZS1ndGstdGVzdCBcCisgICAgLS1lbmFibGUtemxpYiBcCisiCisKK2RvX2NvbXBpbGVfcHJlcGVuZCgpIHsKKyAgICAgICAgZXhwb3J0IEdJUl9FWFRSQV9MSUJTX1BBVEg9IiR7Qn0vcG9wcGxlci8ubGlicyIKK30KKworIyBBZGp1c3QgbGlicmFyeSBuYW1lcyB3aGVuIGJ1aWxkaW5nIGZvciBRVDRlCitRVDRFX1BBVENIRVMgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncXQ0ZScsICdmaWxlOi8vZml4LXF0NGUtbGlicmFyeS1kZXBlbmRlbmNpZXMucGF0Y2gnLCAnJywgZCl9IgorU1JDX1VSSV9hcHBlbmQgPSAiJHtRVDRFX1BBVENIRVN9IgorCisjIGNoZWNrIGZvciBUQVJHRVRfRlBVPXNvZnQgYW5kIGluZm9ybSBjb25maWd1cmUgb2YgdGhlIHJlc3VsdCBzbyBpdCBjYW4gZGlzYWJsZSBzb21lIGZsb2F0aW5nIHBvaW50cworZGVmIGdldF9wb3BwbGVyX2ZwdV9zZXR0aW5nKGJiLCBkKToKKyAgICBpZiBkLmdldFZhcignVEFSR0VUX0ZQVScsIDEpIGluIFsgJ3NvZnQnIF06CisgICAgICAgIHJldHVybiAiLS1lbmFibGUtZml4ZWRwb2ludCIKKyAgICByZXR1cm4gIiIKKworRVhUUkFfT0VDT05GICs9ICIke0BnZXRfcG9wcGxlcl9mcHVfc2V0dGluZyhiYiwgZCl9IgorCitQQUNLQUdFUyA9KyAibGlicG9wcGxlciBsaWJwb3BwbGVyLWdsaWIiCitGSUxFU19saWJwb3BwbGVyID0gIiR7bGliZGlyfS9saWJwb3BwbGVyLnNvLioiCitGSUxFU19saWJwb3BwbGVyLWdsaWIgPSAiJHtsaWJkaXJ9L2xpYnBvcHBsZXItZ2xpYi5zby4qIgorCitSREVQRU5EU19saWJwb3BwbGVyID0gInBvcHBsZXItZGF0YSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9ydGF1ZGlvL3BvcnRhdWRpby12MTlfc3ZuLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wb3J0YXVkaW8vcG9ydGF1ZGlvLXYxOV9zdm4uYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzhkNzM3OAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9ydGF1ZGlvL3BvcnRhdWRpby12MTlfc3ZuLmJiCkBAIC0wLDAgKzEsMzIgQEAKK1NVTU1BUlkgPSAiQSBwb3J0YWJsZSBhdWRpbyBsaWJyYXJ5IgorU0VDVElPTiA9ICJsaWJzL211bHRpbWVkaWEiCitMSUNFTlNFID0gIlBvcnRBdWRpbyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UudHh0O21kNT0yNjEwNzczMmMyYWI2MzdjNTcxMDQ0NmZjZmFmMDJkZiIKKworUFYgPSAidjE5K3N2bnIke1NSQ1BWfSIKKworU1JDUkVWID0gIjEzODciCitTUkNfVVJJID0gInN2bjovL3N1YnZlcnNpb24uYXNzZW1ibGEuY29tL3N2bi9wb3J0YXVkaW8vcG9ydGF1ZGlvO21vZHVsZT10cnVuaztwcm90b2NvbD1odHRwIgorUyA9ICIke1dPUktESVJ9L3RydW5rIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworUEFDS0FHRUNPTkZJRyA/Pz0gImFsc2EgamFjayIKK1BBQ0tBR0VDT05GSUdbYWxzYV0gPSAiLS13aXRoLWFsc2EsIC0td2l0aG91dC1hbHNhLCBhbHNhLWxpYiwiCitQQUNLQUdFQ09ORklHW2phY2tdID0gIi0td2l0aC1qYWNrLCAtLXdpdGhvdXQtamFjaywgamFjaywiCisKK0VYVFJBX09FQ09ORiA9ICItLXdpdGhvdXQtb3NzIgorCitURVNUUyA9ICIgIHBhX2RldnMgcGF0ZXN0MSAgICAgIHBhdGVzdF9oYW5nIHBhdGVzdF9tYW55ICAgICAgICAgICAgICAgICAgIHBhdGVzdF9wcmltZSBwYXRlc3Rfc2luZSBwYXRlc3Rfc3RvcCAgICAgcGF0ZXN0X3dyaXRlX3NpbmUgICAgICAgIFwKK3BhX2Z1enogICAgcGF0ZXN0X2J1ZmZlciAgICAgICAgcGF0ZXN0X2luX292ZXJmbG93ICBwYXRlc3RfbWF4c2luZXMgICAgICAgcGF0ZXN0X3JlYWRfcmVjb3JkICBwYXRlc3Rfc2luZTggICAgICAgICBwYXRlc3Rfc3luYyAgICAgICAgICAgICAgXAorcGFfbWlubGF0ICBwYXRlc3RfY2FsbGJhY2tzdG9wICBwYXRlc3RfbGF0ZW5jeSAgICAgIHBhdGVzdF9tdWx0aV9zaW5lICAgICBwYXRlc3RfcmVjb3JkICAgICAgIHBhdGVzdF9zaW5lX2Zvcm1hdHMgIHBhdGVzdF90b29tYW55c2luZXMgICAgICBcCitwYXFhX2RldnMgIHBhdGVzdF9jbGlwICAgICAgICAgIHBhdGVzdF9sZWZ0cmlnaHQgICAgcGF0ZXN0X291dF91bmRlcmZsb3cgIHBhdGVzdF9yaW5nbWl4ICAgICAgcGF0ZXN0X3NpbmVfdGltZSAgICAgcGF0ZXN0X3VuZGVyZmxvdyAgICAgICAgIFwKK3BhcWFfZXJycyAgcGF0ZXN0X2RpdGhlciAgICAgICAgcGF0ZXN0X2xvbmdzaW5lICAgICBwYXRlc3RfcGluayAgICAgICAgICAgcGF0ZXN0X3NhdyAgICAgICAgICBwYXRlc3Rfc3RhcnRfc3RvcCAgICBwYXRlc3Rfd2lyZSIKKworIyBERUZJTkVTID0gUEFfVVNFX09TUz0xIEhBVkVfTElCUFRIUkVBRD0xCisjIERFRklORVMgKz0gUEFfTElUVExFX0VORElBTgorCisjIElOQ0xVREVQQVRIID0gLi4vcGFfY29tbW9uCisKK1BBQ0tBR0VTICs9ICJwb3J0YXVkaW8tZXhhbXBsZXMiCitGSUxFU19wb3J0YXVkaW8tZXhhbXBsZXMgPSAiJHtiaW5kaXJ9IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wb3N0Z3Jlc3FsL2ZpbGVzLzAwMDEtVXNlLXBrZy1jb25maWctZm9yLWxpYnhtbDItZGV0ZWN0aW9uLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wb3N0Z3Jlc3FsL2ZpbGVzLzAwMDEtVXNlLXBrZy1jb25maWctZm9yLWxpYnhtbDItZGV0ZWN0aW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQwOGVjNmEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Bvc3RncmVzcWwvZmlsZXMvMDAwMS1Vc2UtcGtnLWNvbmZpZy1mb3ItbGlieG1sMi1kZXRlY3Rpb24ucGF0Y2gKQEAgLTAsMCArMSw0MyBAQAorRnJvbSBkNTJlMzMwYmU4OTViYjhjNWYwZmIzZTI4ODQ3NjZhY2JkOTQyYTg1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUGhpbGlwIEJhbGlzdGVyIDxwaGlsaXBAYmFsaXN0ZXIub3JnPgorRGF0ZTogVHVlLCAxIEp1bCAyMDE0IDA5OjQwOjQ0IC0wNDAwCitTdWJqZWN0OiBbUEFUQ0hdIFVzZSBwa2ctY29uZmlnIGZvciBsaWJ4bWwyIGRldGVjdGlvbi4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQorCit4bWwyLWNvbmZpZyBkb2VzIG5vdCB3b3JrLiBVc2UgcGtnY29uZmlnIHRvIHNldCBDUFBGTEFHUyBhbmQgTElCUy4KKworU2lnbmVkLW9mZi1ieTogUGhpbGlwIEJhbGlzdGVyIDxwaGlsaXBAYmFsaXN0ZXIub3JnPgorLS0tCisgY29uZmlndXJlLmluIHwgMTUgKystLS0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuaW4gYi9jb25maWd1cmUuaW4KK2luZGV4IGY4YmY0NjYuLjFmNGZhYmYgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuaW4KKysrKyBiL2NvbmZpZ3VyZS5pbgorQEAgLTczNCwxOSArNzM0LDggQEAgUEdBQ19BUkdfQk9PTCh3aXRoLCBsaWJ4bWwsIG5vLCBbYnVpbGQgd2l0aCBYTUwgc3VwcG9ydF0sCisgICAgICAgICAgICAgICBbQUNfREVGSU5FKFtVU0VfTElCWE1MXSwgMSwgW0RlZmluZSB0byAxIHRvIGJ1aWxkIHdpdGggWE1MIHN1cHBvcnQuICgtLXdpdGgtbGlieG1sKV0pXSkKKyAKKyBpZiB0ZXN0ICIkd2l0aF9saWJ4bWwiID0geWVzIDsgdGhlbgorLSAgQUNfQ0hFQ0tfUFJPR1MoWE1MMl9DT05GSUcsIHhtbDItY29uZmlnKQorLSAgaWYgdGVzdCAtbiAiJFhNTDJfQ09ORklHIjsgdGhlbgorLSAgICBmb3IgcGdhY19vcHRpb24gaW4gYCRYTUwyX0NPTkZJRyAtLWNmbGFnc2A7IGRvCistICAgICAgY2FzZSAkcGdhY19vcHRpb24gaW4KKy0gICAgICAgIC1JKnwtRCopIENQUEZMQUdTPSIkQ1BQRkxBR1MgJHBnYWNfb3B0aW9uIjs7CistICAgICAgZXNhYworLSAgICBkb25lCistICAgIGZvciBwZ2FjX29wdGlvbiBpbiBgJFhNTDJfQ09ORklHIC0tbGlic2A7IGRvCistICAgICAgY2FzZSAkcGdhY19vcHRpb24gaW4KKy0gICAgICAgIC1MKikgTERGTEFHUz0iJExERkxBR1MgJHBnYWNfb3B0aW9uIjs7CistICAgICAgZXNhYworLSAgICBkb25lCistICBmaQorKyAgQ1BQRkxBR1M9IiRDUFBGTEFHUyBgcGtnLWNvbmZpZyAtLXNob3J0LWVycm9ycyAtLXByaW50LWVycm9ycyAtLWNmbGFncyAibGlieG1sLTIuMCIgMj4mMWAiCisrICBMSUJTPSJgcGtnLWNvbmZpZyAtLXNob3J0LWVycm9ycyAtLXByaW50LWVycm9ycyAtLWxpYnMgImxpYnhtbC0yLjAiIDI+JjFgICRMSUJTIgorIGZpCisgCisgQUNfU1VCU1Qod2l0aF9saWJ4bWwpCistLSAKKzEuOC4zLjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wb3N0Z3Jlc3FsL2ZpbGVzL25vdC1jaGVjay1saWJwZXJsLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wb3N0Z3Jlc3FsL2ZpbGVzL25vdC1jaGVjay1saWJwZXJsLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUxOTlmMzkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Bvc3RncmVzcWwvZmlsZXMvbm90LWNoZWNrLWxpYnBlcmwucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorW1BBVENIXSBub3QgY2hlY2sgbGlicGVybCB1bmRlciBjcm9zcyBjb21waWxpbmcKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQorCitsaWJwZXJsIGxkZmxhZ3MgcmV0dXJuZWQgYnkgUEdBQ19DSEVDS19QRVJMX0VNQkVEX0xERkxBR1MgYXJlIG5hdGl2ZSwKK2NhbiBub3QgYmUgdXNlZCB0byBjaGVjayB0YXJnZXQgbGlicmFyeS4KKworcG9zdHByZXNxbCBoYXMgdGhlIGRlcGVuZGVuY3kgb24gcGVybCwgc28gbm90IG5lZWQgdG8gY2hlY2sgbGlicGVybAorYWdhaW4sIGxpa2UgaW4gcG9zdGdyZXNxbC05LjIuNCAKKworU2lnbmVkLW9mZi1ieTogUm95IExpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgorLS0tCisgY29uZmlndXJlLmluIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmluIGIvY29uZmlndXJlLmluCitpbmRleCBhZTFhNWEwLi45YTA5NzBkIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmluCisrKysgYi9jb25maWd1cmUuaW4KK0BAIC0xODc3LDcgKzE4NzcsNyBAQCBpZiB0ZXN0ICIkd2l0aF90Y2wiID0geWVzOyB0aGVuCisgZmkKKyAKKyAjIGNoZWNrIGZvciA8cGVybC5oPgorLWlmIHRlc3QgIiR3aXRoX3BlcmwiID0geWVzOyB0aGVuCisraWYgdGVzdCAiJHdpdGhfcGVybCIgPSB5ZXMgJiYgdGVzdCAiJGNyb3NzX2NvbXBpbGluZyIgPSBubzsgdGhlbgorICAgYWNfc2F2ZV9DUFBGTEFHUz0kQ1BQRkxBR1MKKyAgIENQUEZMQUdTPSIkQ1BQRkxBR1MgLUkkcGVybF9hcmNobGliZXhwL0NPUkUiCisgICBBQ19DSEVDS19IRUFERVIocGVybC5oLCBbXSwgW0FDX01TR19FUlJPUihbaGVhZGVyIGZpbGUgPHBlcmwuaD4gaXMgcmVxdWlyZWQgZm9yIFBlcmxdKV0sCistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9zdGdyZXNxbC9maWxlcy9wb3N0Z3Jlc3FsLUNWRS0yMDE2LTA3NjYucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Bvc3RncmVzcWwvZmlsZXMvcG9zdGdyZXNxbC1DVkUtMjAxNi0wNzY2LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRmODllYjAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Bvc3RncmVzcWwvZmlsZXMvcG9zdGdyZXNxbC1DVkUtMjAxNi0wNzY2LnBhdGNoCkBAIC0wLDAgKzEsMzUgQEAKK0Zyb20gZjRhYTNhMThhMjBkNTE1NzU1NjI1MjA3NTRhYTM3NmIzYjA4YjJkMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE5vYWggTWlzY2ggPG5vYWhAbGVhZGJvYXQuY29tPgorRGF0ZTogRnJpLCA1IEZlYiAyMDE2IDIwOjIyOjUxIC0wNTAwCitTdWJqZWN0OiBbUEFUQ0hdIEZvcmNlIGNlcnRhaW4gInBsamF2YSIgY3VzdG9tIEdVQ3MgdG8gYmUgUEdDX1NVU0VULgorCitGdXR1cmUgUEwvSmF2YSB2ZXJzaW9ucyB3aWxsIGNsb3NlIENWRS0yMDE2LTA3NjYgYnkgbWFraW5nIHRoZXNlIEdVQ3MKK1BHQ19TVVNFVC4gIFRoaXMgUG9zdGdyZVNRTCBjaGFuZ2UgaW5kZXBlbmRlbnRseSBtaXRpZ2F0ZXMgdGhhdCBQTC9KYXZhCit2dWxuZXJhYmlsaXR5LCBoZWxwaW5nIHNpdGVzIHRoYXQgdXBkYXRlIFBvc3RncmVTUUwgbW9yZSBmcmVxdWVudGx5IHRoYW4KK1BML0phdmEuICBCYWNrLXBhdGNoIHRvIDkuMSAoYWxsIHN1cHBvcnRlZCB2ZXJzaW9ucykuCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKKworU2lnbmVkLW9mZi1ieTogTm9haCBNaXNjaCA8bm9haEBsZWFkYm9hdC5jb20+CitJbmRleDogcG9zdGdyZXNxbC05LjQuNC9zcmMvYmFja2VuZC91dGlscy9taXNjL2d1Yy5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gcG9zdGdyZXNxbC05LjQuNC5vcmlnL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ3VjLmMJMjAxNS0wNi0xMCAwMzoyOTozOC4wMDAwMDAwMDAgKzA4MDAKKysrKyBwb3N0Z3Jlc3FsLTkuNC40L3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ3VjLmMJMjAxNi0wMy0wNCAxNTo1ODoyNi40NTkyNjY5NTEgKzA4MDAKK0BAIC03MDcyLDYgKzcwNzIsMTcgQEAKKyAJCSFwcm9jZXNzX3NoYXJlZF9wcmVsb2FkX2xpYnJhcmllc19pbl9wcm9ncmVzcykKKyAJCWVsb2coRkFUQUwsICJjYW5ub3QgY3JlYXRlIFBHQ19QT1NUTUFTVEVSIHZhcmlhYmxlcyBhZnRlciBzdGFydHVwIik7CisgCisrCS8qCisrCSAqIEJlZm9yZSBwbGphdmEgY29tbWl0IDM5OGYzYjg3NmVkNDAyYmRhZWM4YmM4MDRmMjllMmJlOTVjNzUxMzkKKysJICogKDIwMTUtMTItMTUpLCB0d28gb2YgdGhhdCBtb2R1bGUncyBQR0NfVVNFUlNFVCB2YXJpYWJsZXMgZmFjaWxpdGF0ZWQKKysJICogdHJpdmlhbCBlc2NhbGF0aW9uIHRvIHN1cGVydXNlciBwcml2aWxlZ2VzLiAgUmVzdHJpY3QgdGhlIHZhcmlhYmxlcyB0bworKwkgKiBwcm90ZWN0IHNpdGVzIHRoYXQgaGF2ZSB5ZXQgdG8gdXBncmFkZSBwbGphdmEuCisrCSAqLworKwlpZiAoY29udGV4dCA9PSBQR0NfVVNFUlNFVCAmJgorKwkJKHN0cmNtcChuYW1lLCAicGxqYXZhLmNsYXNzcGF0aCIpID09IDAgfHwKKysJCSBzdHJjbXAobmFtZSwgInBsamF2YS52bW9wdGlvbnMiKSA9PSAwKSkKKysJCWNvbnRleHQgPSBQR0NfU1VTRVQ7CisrCisgCWdlbiA9IChzdHJ1Y3QgY29uZmlnX2dlbmVyaWMgKikgZ3VjX21hbGxvYyhFUlJPUiwgc3opOworIAltZW1zZXQoZ2VuLCAwLCBzeik7CisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Bvc3RncmVzcWwvZmlsZXMvcG9zdGdyZXNxbC1DVkUtMjAxNi0wNzczLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wb3N0Z3Jlc3FsL2ZpbGVzL3Bvc3RncmVzcWwtQ1ZFLTIwMTYtMDc3My5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZmM5MDgyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wb3N0Z3Jlc3FsL2ZpbGVzL3Bvc3RncmVzcWwtQ1ZFLTIwMTYtMDc3My5wYXRjaApAQCAtMCwwICsxLDIyMiBAQAorRnJvbSAzYmIzZjQyZjM3NDlkNDBiOGQ0ZGU2NTg3MWU4ZDgyOGIxOGQ0YTQ1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogVG9tIExhbmUgPHRnbEBzc3MucGdoLnBhLnVzPgorRGF0ZTogTW9uLCA4IEZlYiAyMDE2IDEwOjI1OjQwIC0wNTAwCitTdWJqZWN0OiBbUEFUQ0hdIEZpeCBzb21lIHJlZ2V4IGlzc3VlcyB3aXRoIG91dC1vZi1yYW5nZSBjaGFyYWN0ZXJzIGFuZCBsYXJnZQorIGNoYXIgcmFuZ2VzLgorCitQcmV2aW91c2x5LCBvdXIgcmVnZXggY29kZSBkZWZpbmVkIENIUl9NQVggYXMgMHhmZmZmZmZmZSwgd2hpY2ggaXMgYQorYmFkIGNob2ljZSBiZWNhdXNlIGl0IGlzIG91dHNpZGUgdGhlIHJhbmdlIG9mIHR5cGUgImNlbHQiIChpbnQzMikuCitDaGFyYWN0ZXJzIGFwcHJvYWNoaW5nIHRoYXQgbGltaXQgY291bGQgbGVhZCB0byBpbmZpbml0ZSBsb29wcyBpbiBsb2dpYworc3VjaCBhcyAiZm9yIChjID0gYTsgYyA8PSBiOyBjKyspIiB3aGVyZSBjIGlzIG9mIHR5cGUgY2VsdCBidXQgdGhlCityYW5nZSBib3VuZHMgYXJlIGNoci4gIFN1Y2ggbG9vcHMgd2lsbCB3b3JrIHNhZmVseSBvbmx5IGlmIENIUl9NQVgrMQoraXMgcmVwcmVzZW50YWJsZSBpbiBjZWx0LCBzaW5jZSBjIG11c3QgYWR2YW5jZSB0byBiZXlvbmQgYiBiZWZvcmUgdGhlCitsb29wIHdpbGwgZXhpdC4KKworRm9ydHVuYXRlbHksIHRoZXJlIHNlZW1zIG5vIHJlYXNvbiBub3QgdG8gcmVzdHJpY3QgQ0hSX01BWCB0byAweDdmZmZmZmZlLgorSXQncyBoaWdobHkgdW5saWtlbHkgdGhhdCBVbmljb2RlIHdpbGwgZXZlciBhc3NpZ24gY29kZXMgdGhhdCBoaWdoLCBhbmQKK25vbmUgb2Ygb3VyIG90aGVyIGJhY2tlbmQgZW5jb2RpbmdzIG5lZWQgY2hhcmFjdGVycyBiZXlvbmQgdGhhdCBlaXRoZXIuCisKK0luIGFkZGl0aW9uIHRvIG1vZGlmeWluZyB0aGUgbWFjcm8sIHdlIGhhdmUgdG8gZXhwbGljaXRseSBlbmZvcmNlIGNoYXJhY3RlcgorcmFuZ2UgcmVzdHJpY3Rpb25zIG9uIHRoZSB2YWx1ZXMgb2YgXHUsIFxVLCBhbmQgXHggZXNjYXBlIHNlcXVlbmNlcywgZWxzZQordGhlIGxpbWl0IGlzIHRyaXZpYWxseSBieXBhc3NlZC4KKworQWxzbywgdGhlIGNvZGUgZm9yIGV4cGFuZGluZyBjYXNlLWluZGVwZW5kZW50IGNoYXJhY3RlciByYW5nZXMgaW4gYnJhY2tldAorZXhwcmVzc2lvbnMgaGFkIGEgcG90ZW50aWFsIGludGVnZXIgb3ZlcmZsb3cgaW4gaXRzIGNhbGN1bGF0aW9uIG9mIHRoZQorbnVtYmVyIG9mIGNoYXJhY3RlcnMgaXQgY291bGQgZ2VuZXJhdGUsIHdoaWNoIGNvdWxkIGxlYWQgdG8gYWxsb2NhdGluZyB0b28KK3NtYWxsIGEgY2hhcmFjdGVyIHZlY3RvciBhbmQgdGhlbiBvdmVyd3JpdGluZyBtZW1vcnkuICBBbiBhdHRhY2tlciB3aXRoIHRoZQorYWJpbGl0eSB0byBzdXBwbHkgYXJiaXRyYXJ5IHJlZ2V4IHBhdHRlcm5zIGNvdWxkIGVhc2lseSBjYXVzZSB0cmFuc2llbnQgRE9TCit2aWEgc2VydmVyIGNyYXNoZXMsIGFuZCB0aGUgcG9zc2liaWxpdHkgZm9yIHByaXZpbGVnZSBlc2NhbGF0aW9uIGhhcyBub3QKK2JlZW4gcnVsZWQgb3V0LgorCitRdWl0ZSBhc2lkZSBmcm9tIHRoZSBpbnRlZ2VyLW92ZXJmbG93IHByb2JsZW0sIHRoZSByYW5nZSBleHBhbnNpb24gY29kZSB3YXMKK3VubmVjZXNzYXJpbHkgaW5lZmZpY2llbnQgaW4gdGhhdCBpdCBhbHdheXMgcHJvZHVjZWQgYSByZXN1bHQgY29uc2lzdGluZyBvZgoraW5kaXZpZHVhbCBjaGFyYWN0ZXJzLCBhYmFuZG9uaW5nIHRoZSBrbm93bGVkZ2UgdGhhdCB3ZSBoYWQgYSByYW5nZSB0bworc3RhcnQgd2l0aC4gIElmIHRoZSBpbnB1dCByYW5nZSBpcyBsYXJnZSwgdGhpcyByZXF1aXJlcyBleGNlc3NpdmUgbWVtb3J5LgorQ2hhbmdlIGl0IHNvIHRoYXQgdGhlIG9yaWdpbmFsIHJhbmdlIGlzIHJlcG9ydGVkIGFzLWlzLCBhbmQgdGhlbiB3ZSBhZGQgb24KK2FueSBjYXNlLWVxdWl2YWxlbnQgY2hhcmFjdGVycyB0aGF0IGFyZSBvdXRzaWRlIHRoYXQgcmFuZ2UuICBXaXRoIHRoaXMKK2FwcHJvYWNoLCB3ZSBjYW4gYm91bmQgdGhlIG51bWJlciBvZiBpbmRpdmlkdWFsIGNoYXJhY3RlcnMgYWxsb3dlZCB3aXRob3V0CitzYWNyaWZpY2luZyBtdWNoLiAgVGhpcyBwYXRjaCBhbGxvd3MgYXQgbW9zdCAxMDAwMDAgaW5kaXZpZHVhbCBjaGFyYWN0ZXJzLAord2hpY2ggSSBiZWxpZXZlIHRvIGJlIG1vcmUgdGhhbiB0aGUgbnVtYmVyIG9mIGNhc2UgcGFpcnMgZXhpc3RpbmcgaW4KK1VuaWNvZGUsIHNvIHRoYXQgdGhlIHJlc3RyaWN0aW9uIHdpbGwgbmV2ZXIgYmUgaGl0IGluIHByYWN0aWNlLgorCitJdCdzIHN0aWxsIHBvc3NpYmxlIGZvciByYW5nZSgpIHRvIHRha2UgYXdoaWxlIGdpdmVuIGEgbGFyZ2UgY2hhcmFjdGVyIGNvZGUKK3JhbmdlLCBzbyBhbHNvIGFkZCBzdGF0ZW1lbnQtY2FuY2VsIGRldGVjdGlvbiB0byBpdHMgbG9vcC4gIFRoZSBkb3duc3RyZWFtCitmdW5jdGlvbiBkb3ZlYygpIGFsc28gbGFja2VkIGNhbmNlbCBkZXRlY3Rpb24sIGFuZCBjb3VsZCB0YWtlIGEgbG9uZyB0aW1lCitnaXZlbiBhIGxhcmdlIG91dHB1dCBmcm9tIHJhbmdlKCkuCisKK1BlciBmdXp6IHRlc3RpbmcgYnkgR3JlZyBTdGFyay4gIEJhY2stcGF0Y2ggdG8gYWxsIHN1cHBvcnRlZCBicmFuY2hlcy4KKworU2VjdXJpdHk6IENWRS0yMDE2LTA3NzMKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorCitTaWduZWQtb2ZmLWJ5OiBUb20gTGFuZSA8dGdsQHNzcy5wZ2gucGEudXM+CitTaWduZWQtb2ZmLWJ5OiBaaGl4aW9uZyBDaGkgPHpoaXhpb25nLmNoaUB3aW5kcml2ZXIuY29tPgorCitJbmRleDogcG9zdGdyZXNxbC05LjQuNS9zcmMvYmFja2VuZC9yZWdleC9yZWdjX2xleC5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gcG9zdGdyZXNxbC05LjQuNS5vcmlnL3NyYy9iYWNrZW5kL3JlZ2V4L3JlZ2NfbGV4LmMJMjAxNS0xMC0wNiAwMzoxMjowNi4wMDAwMDAwMDAgKzA4MDAKKysrKyBwb3N0Z3Jlc3FsLTkuNC41L3NyYy9iYWNrZW5kL3JlZ2V4L3JlZ2NfbGV4LmMJMjAxNi0wMy0xMCAxMDoyOTo1Ny4wNDU3ODQzMTcgKzA4MDAKK0BAIC03OTIsMTMgKzc5MiwxMyBAQAorIAkJCWJyZWFrOworIAkJY2FzZSBDSFIoJ3UnKToKKyAJCQljID0gbGV4ZGlnaXRzKHYsIDE2LCA0LCA0KTsKKy0JCQlpZiAoSVNFUlIoKSkKKysJCQlpZiAoSVNFUlIoKSB8fCBjIDwgQ0hSX01JTiB8fCBjID4gQ0hSX01BWCkKKyAJCQkJRkFJTFcoUkVHX0VFU0NBUEUpOworIAkJCVJFVFYoUExBSU4sIGMpOworIAkJCWJyZWFrOworIAkJY2FzZSBDSFIoJ1UnKToKKyAJCQljID0gbGV4ZGlnaXRzKHYsIDE2LCA4LCA4KTsKKy0JCQlpZiAoSVNFUlIoKSkKKysJCQlpZiAoSVNFUlIoKSB8fCBjIDwgQ0hSX01JTiB8fCBjID4gQ0hSX01BWCkKKyAJCQkJRkFJTFcoUkVHX0VFU0NBUEUpOworIAkJCVJFVFYoUExBSU4sIGMpOworIAkJCWJyZWFrOworQEAgLTgxNiw3ICs4MTYsNyBAQAorIAkJY2FzZSBDSFIoJ3gnKToKKyAJCQlOT1RFKFJFR19VVU5QT1JUKTsKKyAJCQljID0gbGV4ZGlnaXRzKHYsIDE2LCAxLCAyNTUpOwkJLyogUkVzID4yNTUgbG9uZyBvdXRzaWRlIHNwZWMgKi8KKy0JCQlpZiAoSVNFUlIoKSkKKysJCQlpZiAoSVNFUlIoKSB8fCBjIDwgQ0hSX01JTiB8fCBjID4gQ0hSX01BWCkKKyAJCQkJRkFJTFcoUkVHX0VFU0NBUEUpOworIAkJCVJFVFYoUExBSU4sIGMpOworIAkJCWJyZWFrOworQEAgLTg3Miw2ICs4NzIsOSBAQAorIAorIC8qCisgICogbGV4ZGlnaXRzIC0gc2x1cnAgdXAgZGlnaXRzIGFuZCByZXR1cm4gY2hyIHZhbHVlCisrICoKKysgKiBUaGlzIGRvZXMgbm90IGFjY291bnQgZm9yIG92ZXJmbG93OyBjYWxsZXJzIHNob3VsZCByYW5nZS1jaGVjayB0aGUgcmVzdWx0CisrICogaWYgbWF4bGVuIGlzIGxhcmdlIGVub3VnaCB0byBtYWtlIHRoYXQgcG9zc2libGUuCisgICovCisgc3RhdGljIGNocgkJCQkJCS8qIGNociB2YWx1ZTsgZXJyb3JzIHNpZ25hbGxlZCB2aWEgRVJSICovCisgbGV4ZGlnaXRzKHN0cnVjdCB2YXJzICogdiwKK0luZGV4OiBwb3N0Z3Jlc3FsLTkuNC41L3NyYy9iYWNrZW5kL3JlZ2V4L3JlZ2NfbG9jYWxlLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBwb3N0Z3Jlc3FsLTkuNC41Lm9yaWcvc3JjL2JhY2tlbmQvcmVnZXgvcmVnY19sb2NhbGUuYwkyMDE1LTEwLTA2IDAzOjEyOjA2LjAwMDAwMDAwMCArMDgwMAorKysrIHBvc3RncmVzcWwtOS40LjUvc3JjL2JhY2tlbmQvcmVnZXgvcmVnY19sb2NhbGUuYwkyMDE2LTAzLTEwIDEwOjM0OjI4Ljc1Nzc4MTcyNiArMDgwMAorQEAgLTQwOCw4ICs0MDgsNyBAQAorIAlpbnQJCQluY2hyczsKKyAJc3RydWN0IGN2ZWMgKmN2OworIAljZWx0CQljLAorLQkJCQlsYywKKy0JCQkJdWM7CisrCQkJCWNjOworIAorIAlpZiAoYSAhPSBiICYmICFiZWZvcmUoYSwgYikpCisgCXsKK0BAIC00MjcsMjQgKzQyNiw0OCBAQAorIAorIAkvKgorIAkgKiBXaGVuIGNhc2UtaW5kZXBlbmRlbnQsIGl0J3MgaGFyZCB0byBkZWNpZGUgd2hlbiBjdmVjIHJhbmdlcyBhcmUgdXNhYmxlLAorLQkgKiBzbyBmb3Igbm93IGF0IGxlYXN0LCB3ZSB3b24ndCB0cnkuICBXZSBhbGxvY2F0ZSBlbm91Z2ggc3BhY2UgZm9yIHR3bworLQkgKiBjYXNlIHZhcmlhbnRzIHBsdXMgYSBsaXR0bGUgZXh0cmEgZm9yIHRoZSB0d28gdGl0bGUgY2FzZSB2YXJpYW50cy4KKysJICogc28gZm9yIG5vdyBhdCBsZWFzdCwgd2Ugd29uJ3QgdHJ5LiAgV2UgdXNlIGEgcmFuZ2UgZm9yIHRoZSBvcmlnaW5hbGx5CisrCSAqIHNwZWNpZmllZCBjaHJzIGFuZCB0aGVuIGFkZCBvbiBhbnkgY2FzZS1lcXVpdmFsZW50cyB0aGF0IGFyZSBvdXRzaWRlCisrCSAqIHRoYXQgcmFuZ2UgYXMgaW5kaXZpZHVhbCBjaHJzLgorKwkgKgorKwkgKiBUbyBlbnN1cmUgc2FuZSBiZWhhdmlvciBpZiBzb21lb25lIHNwZWNpZmllcyBhIHZlcnkgbGFyZ2UgcmFuZ2UsIGxpbWl0CisrCSAqIHRoZSBhbGxvY2F0aW9uIHNpemUgdG8gMTAwMDAwIGNocnMgKGFyYml0cmFyeSkgYW5kIGNoZWNrIGZvciBvdmVycnVuCisrCSAqIGluc2lkZSB0aGUgbG9vcCBiZWxvdy4KKyAJICovCisgCistCW5jaHJzID0gKGIgLSBhICsgMSkgKiAyICsgNDsKKy0KKy0JY3YgPSBnZXRjdmVjKHYsIG5jaHJzLCAwKTsKKysJY3YgPSBnZXRjdmVjKHYsIG5jaHJzLCAxKTsKKyAJTk9FUlJOKCk7CisrCWFkZHJhbmdlKGN2LCBhLCBiKTsKKyAKKyAJZm9yIChjID0gYTsgYyA8PSBiOyBjKyspCisgCXsKKy0JCWFkZGNocihjdiwgYyk7CistCQlsYyA9IHBnX3djX3RvbG93ZXIoKGNocikgYyk7CistCQlpZiAoYyAhPSBsYykKKy0JCQlhZGRjaHIoY3YsIGxjKTsKKy0JCXVjID0gcGdfd2NfdG91cHBlcigoY2hyKSBjKTsKKy0JCWlmIChjICE9IHVjKQorLQkJCWFkZGNocihjdiwgdWMpOworKwkJY2MgPSBwZ193Y190b2xvd2VyKChjaHIpIGMpOworKwkJaWYgKGNjICE9IGMgJiYKKysJCQkoYmVmb3JlKGNjLCBhKSB8fCBiZWZvcmUoYiwgY2MpKSkKKysJCXsKKysJCQlpZiAoY3YtPm5jaHJzID49IGN2LT5jaHJzcGFjZSkKKysJCQl7CisrCQkJCUVSUihSRUdfRVRPT0JJRyk7CisrCQkJCXJldHVybiBOVUxMOworKwkJCX0KKysJCQlhZGRjaHIoY3YsIGNjKTsKKysJCX0KKysJCWNjID0gcGdfd2NfdG91cHBlcigoY2hyKSBjKTsKKysJCWlmIChjYyAhPSBjICYmCisrCQkJKGJlZm9yZShjYywgYSkgfHwgYmVmb3JlKGIsIGNjKSkpCisrCQl7CisrCQkJaWYgKGN2LT5uY2hycyA+PSBjdi0+Y2hyc3BhY2UpCisrCQkJeworKwkJCQlFUlIoUkVHX0VUT09CSUcpOworKwkJCQlyZXR1cm4gTlVMTDsKKysJCQl9CisrCQkJYWRkY2hyKGN2LCBjYyk7CisrCQl9CisrCQlpZiAoQ0FOQ0VMX1JFUVVFU1RFRCh2LT5yZSkpCisrCQl7CisrCQkJRVJSKFJFR19DQU5DRUwpOworKwkJCXJldHVybiBOVUxMOworKwkJfQorIAl9CisgCisgCXJldHVybiBjdjsKK0luZGV4OiBwb3N0Z3Jlc3FsLTkuNC41L3NyYy9iYWNrZW5kL3JlZ2V4L3JlZ2NvbXAuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHBvc3RncmVzcWwtOS40LjUub3JpZy9zcmMvYmFja2VuZC9yZWdleC9yZWdjb21wLmMJMjAxNS0xMC0wNiAwMzoxMjowNi4wMDAwMDAwMDAgKzA4MDAKKysrKyBwb3N0Z3Jlc3FsLTkuNC41L3NyYy9iYWNrZW5kL3JlZ2V4L3JlZ2NvbXAuYwkyMDE2LTAzLTEwIDEwOjM1OjI1LjM5Nzc4MTE4NSArMDgwMAorQEAgLTE1NjksNiArMTU2OSw3IEBACisgCXsKKyAJCWNoID0gKnA7CisgCQluZXdhcmModi0+bmZhLCBQTEFJTiwgc3ViY29sb3Iodi0+Y20sIGNoKSwgbHAsIHJwKTsKKysJCU5PRVJSKCk7CisgCX0KKyAKKyAJLyogYW5kIHRoZSByYW5nZXMgKi8KK0BAIC0xNTc4LDYgKzE1NzksNyBAQAorIAkJdG8gPSAqKHAgKyAxKTsKKyAJCWlmIChmcm9tIDw9IHRvKQorIAkJCXN1YnJhbmdlKHYsIGZyb20sIHRvLCBscCwgcnApOworKwkJTk9FUlIoKTsKKyAJfQorIH0KKyAKK0luZGV4OiBwb3N0Z3Jlc3FsLTkuNC41L3NyYy9pbmNsdWRlL3JlZ2V4L3JlZ2N1c3RvbS5oCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gcG9zdGdyZXNxbC05LjQuNS5vcmlnL3NyYy9pbmNsdWRlL3JlZ2V4L3JlZ2N1c3RvbS5oCTIwMTUtMTAtMDYgMDM6MTI6MDYuMDAwMDAwMDAwICswODAwCisrKysgcG9zdGdyZXNxbC05LjQuNS9zcmMvaW5jbHVkZS9yZWdleC9yZWdjdXN0b20uaAkyMDE2LTAzLTEwIDEwOjM3OjA5Ljk4OTc4MDE4OCArMDgwMAorQEAgLTY1LDcgKzY1LDggQEAKKyAjZGVmaW5lIERJR0lUVkFMKGMpICgoYyktJzAnKQkvKiB0dXJuIGNociBkaWdpdCBpbnRvIGl0cyB2YWx1ZSAqLworICNkZWZpbmUgQ0hSQklUUyAzMgkJCQkvKiBiaXRzIGluIGEgY2hyOyBtdXN0IG5vdCB1c2Ugc2l6ZW9mICovCisgI2RlZmluZSBDSFJfTUlOIDB4MDAwMDAwMDAJCS8qIHNtYWxsZXN0IGFuZCBsYXJnZXN0IGNocjsgdGhlIHZhbHVlICovCistI2RlZmluZSBDSFJfTUFYIDB4ZmZmZmZmZmUJCS8qIENIUl9NQVgtQ0hSX01JTisxIHNob3VsZCBmaXQgaW4gdWNociAqLworKyNkZWZpbmUgQ0hSX01BWCAweDdmZmZmZmZlCQkvKiBDSFJfTUFYLUNIUl9NSU4rMSBtdXN0IGZpdCBpbiBhbiBpbnQsIGFuZAorKwkJCQkJCQkJICogQ0hSX01BWCsxIG11c3QgZml0IGluIGJvdGggY2hyIGFuZCBjZWx0ICovCisgCisgLyogZnVuY3Rpb25zIG9wZXJhdGluZyBvbiBjaHIgKi8KKyAjZGVmaW5lIGlzY2FsbnVtKHgpIHBnX3djX2lzYWxudW0oeCkKK0luZGV4OiBwb3N0Z3Jlc3FsLTkuNC41L3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcmVnZXgub3V0Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gcG9zdGdyZXNxbC05LjQuNS5vcmlnL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcmVnZXgub3V0CTIwMTUtMTAtMDYgMDM6MTI6MDYuMDAwMDAwMDAwICswODAwCisrKysgcG9zdGdyZXNxbC05LjQuNS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3JlZ2V4Lm91dAkyMDE2LTAzLTEwIDEwOjM4OjI4LjgyMTc3OTQzNiArMDgwMAorQEAgLTIyMiwzICsyMjIsNSBAQAorICB0CisgKDEgcm93KQorIAorK3NlbGVjdCAnYScgfiAnXHg3ZmZmZmZmZic7ICAtLSBpbnZhbGlkIGNociBjb2RlCisrRVJST1I6ICBpbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjogaW52YWxpZCBlc2NhcGUgXCBzZXF1ZW5jZQorSW5kZXg6IHBvc3RncmVzcWwtOS40LjUvc3JjL3Rlc3QvcmVncmVzcy9zcWwvcmVnZXguc3FsCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gcG9zdGdyZXNxbC05LjQuNS5vcmlnL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3JlZ2V4LnNxbAkyMDE1LTEwLTA2IDAzOjEyOjA2LjAwMDAwMDAwMCArMDgwMAorKysrIHBvc3RncmVzcWwtOS40LjUvc3JjL3Rlc3QvcmVncmVzcy9zcWwvcmVnZXguc3FsCTIwMTYtMDMtMTAgMTA6Mzg6NTcuODQ1Nzc5MTU5ICswODAwCitAQCAtNTcsMyArNTcsNCBAQAorIHNlbGVjdCAnYScgfiAnLi4gKCl8XDEnOworIHNlbGVjdCAnYScgfiAnKCkqXDEnOworIHNlbGVjdCAnYScgfiAnKCkrXDEnOworK3NlbGVjdCAnYScgfiAnXHg3ZmZmZmZmZic7ICAtLSBpbnZhbGlkIGNociBjb2RlCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Bvc3RncmVzcWwvZmlsZXMvcG9zdGdyZXNxbC1iYXNocHJvZmlsZSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9zdGdyZXNxbC9maWxlcy9wb3N0Z3Jlc3FsLWJhc2hwcm9maWxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFjOTMxZjMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Bvc3RncmVzcWwvZmlsZXMvcG9zdGdyZXNxbC1iYXNocHJvZmlsZQpAQCAtMCwwICsxLDQgQEAKK1sgLWYgL2V0Yy9wcm9maWxlIF0gJiYgc291cmNlIC9ldGMvcHJvZmlsZQorCitQR0RBVEE9L3Zhci9saWIvcG9zdGdyZXNxbC9kYXRhCitleHBvcnQgUEdEQVRBCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Bvc3RncmVzcWwvZmlsZXMvcG9zdGdyZXNxbC1zZXR1cCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9zdGdyZXNxbC9maWxlcy9wb3N0Z3Jlc3FsLXNldHVwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc1YmIwMWUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Bvc3RncmVzcWwvZmlsZXMvcG9zdGdyZXNxbC1zZXR1cApAQCAtMCwwICsxLDczIEBACisjIS9iaW4vc2gKKyMKKyMgcG9zdGdyZXNxbC1zZXR1cCAgICAgIEluaXRpYWxpemF0aW9uIG9wZXJhdGlvbiBmb3IgUG9zdGdyZVNRTAorCisjIEZvciBTRUxpbnV4IHdlIG5lZWQgdG8gdXNlICdydW51c2VyJyBub3QgJ3N1JworaWYgWyAteCAvc2Jpbi9ydW51c2VyIF0KK3RoZW4KKyAgICBTVT1ydW51c2VyCitlbHNlCisgICAgU1U9c3UKK2ZpCisKK1BHRU5HSU5FPS91c3IvYmluCitQR0RBVEE9L3Zhci9saWIvcG9zdGdyZXNxbC9kYXRhCitQR0xPRz0vdmFyL2xpYi9wb3N0Z3Jlc3FsL3Bnc3RhcnR1cC5sb2cKK3NjcmlwdF9yZXN1bHQ9MAorCitpbml0ZGIoKXsKKyAgICBpZiBbIC1mICIkUEdEQVRBL1BHX1ZFUlNJT04iIF0KKyAgICB0aGVuCisJZWNobyAtbiAiRGF0YSBkaXJlY3RvcnkgaXMgbm90IGVtcHR5ISIKKwllY2hvIC1uICIgW0ZBSUxFRF0gIgorCWVjaG8KKwlzY3JpcHRfcmVzdWx0PTEKKyAgICBlbHNlCisJZWNobyAtbiAiSW5pdGlhbGl6aW5nIGRhdGFiYXNlOiAiCisJaWYgWyAhIC1lICIkUEdEQVRBIiAtYSAhIC1oICIkUEdEQVRBIiBdCisJdGhlbgorCQlta2RpciAtcCAiJFBHREFUQSIgfHwgZXhpdCAxCisJCWNob3duIHBvc3RncmVzOnBvc3RncmVzICIkUEdEQVRBIgorCQljaG1vZCBnby1yd3ggIiRQR0RBVEEiCisJZmkKKwkjIENsZWFuIHVwIFNFTGludXggdGFnZ2luZyBmb3IgUEdEQVRBCisJWyAteCAvc2Jpbi9yZXN0b3JlY29uIF0gJiYgL3NiaW4vcmVzdG9yZWNvbiAiJFBHREFUQSIKKworCSMgTWFrZSBzdXJlIHRoZSBzdGFydHVwLXRpbWUgbG9nIGZpbGUgaXMgT0ssIHRvbworCWlmIFsgISAtZSAiJFBHTE9HIiAtYSAhIC1oICIkUEdMT0ciIF0KKwl0aGVuCisJCXRvdWNoICIkUEdMT0ciIHx8IGV4aXQgMQorCQljaG93biBwb3N0Z3Jlczpwb3N0Z3JlcyAiJFBHTE9HIgorCQljaG1vZCBnby1yd3ggIiRQR0xPRyIKKwkJWyAteCAvc2Jpbi9yZXN0b3JlY29uIF0gJiYgL3NiaW4vcmVzdG9yZWNvbiAiJFBHTE9HIgorCWZpCisKKwkjIEluaXRpYWxpemUgdGhlIGRhdGFiYXNlCisJJFNVIC1sIHBvc3RncmVzIC1jICIkUEdFTkdJTkUvaW5pdGRiIC0tcGdkYXRhPSckUEdEQVRBJyAtLWF1dGg9J2lkZW50JyIgPj4gIiRQR0xPRyIgMj4mMSA8IC9kZXYvbnVsbAorCisJIyBDcmVhdGUgZGlyZWN0b3J5IGZvciBwb3N0bWFzdGVyIGxvZworCW1rZGlyICIkUEdEQVRBL3BnX2xvZyIKKwljaG93biBwb3N0Z3Jlczpwb3N0Z3JlcyAiJFBHREFUQS9wZ19sb2ciCisJY2htb2QgZ28tcnd4ICIkUEdEQVRBL3BnX2xvZyIKKworCWlmIFsgLWYgIiRQR0RBVEEvUEdfVkVSU0lPTiIgXQorCXRoZW4KKwkgICAgZWNobyAtbiAiIFsgT0sgXSAiCisJZWxzZQorCSAgICBlY2hvIC1uICIgW0ZBSUxFRF0gIgorCSAgICBzY3JpcHRfcmVzdWx0PTEKKwlmaQorCWVjaG8KKyAgICBmaQorfQorCitjYXNlICIkMSIgaW4KKyAgaW5pdGRiKQorCWluaXRkYgorCTs7CisgICopCisJZWNobyAiVXNhZ2U6ICQwIGluaXRkYiIKKwlleGl0IDIKK2VzYWMKKworZXhpdCAkc2NyaXB0X3Jlc3VsdApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wb3N0Z3Jlc3FsL2ZpbGVzL3Bvc3RncmVzcWwuaW5pdCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9zdGdyZXNxbC9maWxlcy9wb3N0Z3Jlc3FsLmluaXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGE0ZjBjZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9zdGdyZXNxbC9maWxlcy9wb3N0Z3Jlc3FsLmluaXQKQEAgLTAsMCArMSwxOTMgQEAKKyMhL2Jpbi9zaAorIworIyBwb3N0Z3Jlc3FsCVRoaXMgaXMgdGhlIGluaXQgc2NyaXB0IGZvciBzdGFydGluZyB1cCB0aGUgUG9zdGdyZVNRTAorIwkJc2VydmVyLgorIworIyBjaGtjb25maWc6IC0gNjQgMzYKKyMgZGVzY3JpcHRpb246IFBvc3RncmVTUUwgZGF0YWJhc2Ugc2VydmVyLgorIyBwcm9jZXNzbmFtZTogcG9zdG1hc3RlcgorIyBwaWRmaWxlOiAvdmFyL3J1bi9wb3N0bWFzdGVyLlBPUlQucGlkCisKKyMgVGhpcyBzY3JpcHQgaXMgc2xpZ2h0bHkgdW51c3VhbCBpbiB0aGF0IHRoZSBuYW1lIG9mIHRoZSBkYWVtb24gKHBvc3RtYXN0ZXIpCisjIGlzIG5vdCB0aGUgc2FtZSBhcyB0aGUgbmFtZSBvZiB0aGUgc3Vic3lzdGVtIChwb3N0Z3Jlc3FsKQorCisjIFBHVkVSU0lPTiBpcyB0aGUgZnVsbCBwYWNrYWdlIHZlcnNpb24sIGUuZy4sIDguNC4wCisjIE5vdGU6IHRoZSBzcGVjZmlsZSBpbnNlcnRzIHRoZSBjb3JyZWN0IHZhbHVlIGR1cmluZyBwYWNrYWdlIGJ1aWxkCitQR1ZFUlNJT049OS4yLjQKKyMgUEdNQUpPUlZFUlNJT04gaXMgbWFqb3IgdmVyc2lvbiwgZS5nLiwgOC40ICh0aGlzIHNob3VsZCBtYXRjaCBQR19WRVJTSU9OKQorUEdNQUpPUlZFUlNJT049YGVjaG8gIiRQR1ZFUlNJT04iIHwgc2VkICdzL15cKFswLTldKlwuWzAtOV0qXCkuKiQvXDEvJ2AKKworIyBTb3VyY2UgZnVuY3Rpb24gbGlicmFyeS4KKy4gL2V0Yy9pbml0LmQvZnVuY3Rpb25zCisKKyMgRmluZCB0aGUgbmFtZSBvZiB0aGUgc2NyaXB0CitOQU1FPWBiYXNlbmFtZSAkMGAKK2lmIFsgJHtOQU1FOjA6MX0gPSAiUyIgLW8gJHtOQU1FOjA6MX0gPSAiSyIgXQordGhlbgorCU5BTUU9JHtOQU1FOjN9CitmaQorCisjIEZvciBTRUxpbnV4IHdlIG5lZWQgdG8gdXNlICdydW51c2VyJyBub3QgJ3N1JworaWYgWyAteCAvc2Jpbi9ydW51c2VyIF0KK3RoZW4KKyAgICBTVT1ydW51c2VyCitlbHNlCisgICAgU1U9c3UKK2ZpCisKKworIyBTZXQgZGVmYXVsdHMgZm9yIGNvbmZpZ3VyYXRpb24gdmFyaWFibGVzCitQR0VOR0lORT0vdXNyL2JpbgorUEdQT1JUPTU0MzIKK1BHREFUQT0vdmFyL2xpYi9wb3N0Z3Jlc3FsL2RhdGEKK1BHTE9HPS92YXIvbGliL3Bvc3RncmVzcWwvcGdzdGFydHVwLmxvZworIyBWYWx1ZSB0byBzZXQgYXMgcG9zdG1hc3RlciBwcm9jZXNzJ3Mgb29tX2FkagorUEdfT09NX0FESj0tMTcKKworIyBPdmVycmlkZSBkZWZhdWx0cyBmcm9tIC9ldGMvc3lzY29uZmlnL3Bvc3RncmVzcWwgaWYgZmlsZSBpcyBwcmVzZW50CitbIC1mIC9ldGMvZGVmYXVsdC9wb3N0Z3Jlc3FsLyR7TkFNRX0gXSAmJiAuIC9ldGMvZGVmYXVsdC9wb3N0Z3Jlc3FsLyR7TkFNRX0KKworZXhwb3J0IFBHREFUQQorZXhwb3J0IFBHUE9SVAorCitsb2NrZmlsZT0iL3Zhci9sb2NrL3N1YnN5cy8ke05BTUV9IgorcGlkZmlsZT0iL3Zhci9ydW4vcG9zdG1hc3Rlci4ke1BHUE9SVH0ucGlkIgorCitzY3JpcHRfcmVzdWx0PTAKKworc3RhcnQoKXsKKwlbIC14ICIkUEdFTkdJTkUvcG9zdG1hc3RlciIgXSB8fCBleGl0IDUKKworCVBTUUxfU1RBUlQ9JCJTdGFydGluZyAke05BTUV9IHNlcnZpY2U6ICIKKworCSMgTWFrZSBzdXJlIHN0YXJ0dXAtdGltZSBsb2cgZmlsZSBpcyB2YWxpZAorCWlmIFsgISAtZSAiJFBHTE9HIiAtYSAhIC1oICIkUEdMT0ciIF0KKwl0aGVuCisJCXRvdWNoICIkUEdMT0ciIHx8IGV4aXQgNAorCQljaG93biBwb3N0Z3Jlczpwb3N0Z3JlcyAiJFBHTE9HIgorCQljaG1vZCBnby1yd3ggIiRQR0xPRyIKKwkJWyAteCAvc2Jpbi9yZXN0b3JlY29uIF0gJiYgL3NiaW4vcmVzdG9yZWNvbiAiJFBHTE9HIgorCWZpCisKKwkjIENoZWNrIGZvciB0aGUgUEdEQVRBIHN0cnVjdHVyZQorCWlmIFsgLWYgIiRQR0RBVEEvUEdfVkVSU0lPTiIgXSAmJiBbIC1kICIkUEdEQVRBL2Jhc2UiIF0KKwl0aGVuCisJCSMgQ2hlY2sgdmVyc2lvbiBvZiBleGlzdGluZyBQR0RBVEEKKwkJaWYgWyB4YGNhdCAiJFBHREFUQS9QR19WRVJTSU9OImAgIT0geCIkUEdNQUpPUlZFUlNJT04iIF0KKwkJdGhlbgorCQkJU1lTRE9DRElSPSIoWW91ciBTeXN0ZW0ncyBkb2N1bWVudGF0aW9uIGRpcmVjdG9yeSkiCisJCQlpZiBbIC1kICIvdXNyL2RvYy9wb3N0Z3Jlc3FsLSRQR1ZFUlNJT04iIF0KKwkJCXRoZW4KKwkJCQlTWVNET0NESVI9L3Vzci9kb2MKKwkJCWZpCisJCQlpZiBbIC1kICIvdXNyL3NoYXJlL2RvYy9wb3N0Z3Jlc3FsLSRQR1ZFUlNJT04iIF0KKwkJCXRoZW4KKwkJCQlTWVNET0NESVI9L3Vzci9zaGFyZS9kb2MKKwkJCWZpCisJCQlpZiBbIC1kICIvdXNyL2RvYy9wYWNrYWdlcy9wb3N0Z3Jlc3FsLSRQR1ZFUlNJT04iIF0KKwkJCXRoZW4KKwkJCQlTWVNET0NESVI9L3Vzci9kb2MvcGFja2FnZXMKKwkJCWZpCisJCQlpZiBbIC1kICIvdXNyL3NoYXJlL2RvYy9wYWNrYWdlcy9wb3N0Z3Jlc3FsLSRQR1ZFUlNJT04iIF0KKwkJCXRoZW4KKwkJCQlTWVNET0NESVI9L3Vzci9zaGFyZS9kb2MvcGFja2FnZXMKKwkJCWZpCisJCQllY2hvCisJCQllY2hvICQiQW4gb2xkIHZlcnNpb24gb2YgdGhlIGRhdGFiYXNlIGZvcm1hdCB3YXMgZm91bmQuIgorCQkJZWNobyAkIllvdSBuZWVkIHRvIHVwZ3JhZGUgdGhlIGRhdGEgZm9ybWF0IGJlZm9yZSB1c2luZyBQb3N0Z3JlU1FMLiIKKwkJCWVjaG8gJCJTZWUgJFNZU0RPQ0RJUi9wb3N0Z3Jlc3FsLSRQR1ZFUlNJT04vUkVBRE1FLnJwbS1kaXN0IGZvciBtb3JlIGluZm9ybWF0aW9uLiIKKwkJCWV4aXQgMQorCQlmaQorCWVsc2UKKwkJIyBObyBleGlzdGluZyBQR0RBVEEhIFdhcm4gdGhlIHVzZXIgdG8gaW5pdGRiIGl0LgorCQllY2hvCisgICAgICAgICAgICAgICAgZWNobyAiJFBHREFUQSBpcyBtaXNzaW5nLiBVc2UgXCJwb3N0Z3Jlc3FsLXNldHVwIGluaXRkYlwiIHRvIGluaXRpYWxpemUgdGhlIGNsdXN0ZXIgZmlyc3QuIgorCQllY2hvIC1uICIgW0ZBSUxFRF0gIgorCQllY2hvCisJCWV4aXQgMQorCWZpCisKKwllY2hvIC1uICIkUFNRTF9TVEFSVCIKKwl0ZXN0IHgiJFBHX09PTV9BREoiICE9IHggJiYgZWNobyAiJFBHX09PTV9BREoiID4gL3Byb2Mvc2VsZi9vb21fc2NvcmVfYWRqCisJJFNVIC1sIHBvc3RncmVzIC1jICIkUEdFTkdJTkUvcG9zdG1hc3RlciAtcCAnJFBHUE9SVCcgLUQgJyRQR0RBVEEnICR7UEdPUFRTfSAmIiA+PiAiJFBHTE9HIiAyPiYxIDwgL2Rldi9udWxsCisJc2xlZXAgMgorCXBpZD1gaGVhZCAtbiAxICIkUEdEQVRBL3Bvc3RtYXN0ZXIucGlkIiAyPi9kZXYvbnVsbGAKKwlpZiBbICJ4JHBpZCIgIT0geCBdCisJdGhlbgorCQllY2hvIC1uICIgWyBPSyBdIgorCQl0b3VjaCAiJGxvY2tmaWxlIgorCQllY2hvICRwaWQgPiAiJHBpZGZpbGUiCisJCWVjaG8KKwllbHNlCisJCWVjaG8gLW4gICIgW0ZBSUxFRF0iCisJCWVjaG8KKwkJc2NyaXB0X3Jlc3VsdD0xCisJZmkKK30KKworc3RvcCgpeworCWVjaG8gLW4gJCJTdG9wcGluZyAke05BTUV9IHNlcnZpY2U6ICIKKwlpZiBbIC1lICIkbG9ja2ZpbGUiIF0KKwl0aGVuCisJICAgICRTVSAtbCBwb3N0Z3JlcyAtYyAiJFBHRU5HSU5FL3BnX2N0bCBzdG9wIC1EICckUEdEQVRBJyAtcyAtbSBmYXN0IiA+IC9kZXYvbnVsbCAyPiYxIDwgL2Rldi9udWxsCisJICAgIHJldD0kPworCSAgICBpZiBbICRyZXQgLWVxIDAgXQorCSAgICB0aGVuCisJCWVjaG8gLW4gIiBbIE9LIF0gIgorCQlybSAtZiAiJHBpZGZpbGUiCisJCXJtIC1mICIkbG9ja2ZpbGUiCisJICAgIGVsc2UKKwkJZWNobyAtbiAiIFtGQUlMRURdICIKKwkJc2NyaXB0X3Jlc3VsdD0xCisJICAgIGZpCisJZWxzZQorCSAgICAjIG5vdCBydW5uaW5nOyBwZXIgTFNCIHN0YW5kYXJkcyB0aGlzIGlzICJvayIKKwkgICAgZWNobyAtbiAiIFsgT0sgXSAiCisJZmkKKwllY2hvCit9CisKK3Jlc3RhcnQoKXsKKyAgICBzdG9wCisgICAgc3RhcnQKK30KKworY29uZHJlc3RhcnQoKXsKKyAgICBbIC1lICIkbG9ja2ZpbGUiIF0gJiYgcmVzdGFydCB8fCA6Cit9CisKK3JlbG9hZCgpeworICAgICRTVSAtbCBwb3N0Z3JlcyAtYyAiJFBHRU5HSU5FL3BnX2N0bCByZWxvYWQgLUQgJyRQR0RBVEEnIC1zIiA+IC9kZXYvbnVsbCAyPiYxIDwgL2Rldi9udWxsCit9CisKKworIyBTZWUgaG93IHdlIHdlcmUgY2FsbGVkLgorY2FzZSAiJDEiIGluCisgIHN0YXJ0KQorCXN0YXJ0CisJOzsKKyAgc3RvcCkKKwlzdG9wCisJOzsKKyAgc3RhdHVzKQorCXN0YXR1cyBwb3N0bWFzdGVyCisJc2NyaXB0X3Jlc3VsdD0kPworCTs7CisgIHJlc3RhcnQpCisJcmVzdGFydAorCTs7CisgIGNvbmRyZXN0YXJ0fHRyeS1yZXN0YXJ0KQorCWNvbmRyZXN0YXJ0CisJOzsKKyAgcmVsb2FkKQorCXJlbG9hZAorCTs7CisgIGZvcmNlLXJlbG9hZCkKKwlyZXN0YXJ0CisJOzsKKyAgKikKKwllY2hvICQiVXNhZ2U6ICQwIHtzdGFydHxzdG9wfHN0YXR1c3xyZXN0YXJ0fGNvbmRyZXN0YXJ0fHRyeS1yZXN0YXJ0fHJlbG9hZHxmb3JjZS1yZWxvYWR9IgorCWV4aXQgMgorZXNhYworCitleGl0ICRzY3JpcHRfcmVzdWx0CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Bvc3RncmVzcWwvZmlsZXMvcG9zdGdyZXNxbC5wYW0gYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Bvc3RncmVzcWwvZmlsZXMvcG9zdGdyZXNxbC5wYW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGI2ZmRjNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9zdGdyZXNxbC9maWxlcy9wb3N0Z3Jlc3FsLnBhbQpAQCAtMCwwICsxLDQgQEAKKyMlUEFNLTEuMAorYXV0aCAgICAgICAgICAgIGluY2x1ZGUgICAgICAgICBjb21tb24tYXV0aAorYWNjb3VudCAgICAgICAgIGluY2x1ZGUgICAgICAgICBjb21tb24tYWNjb3VudAorcGFzc3dvcmQgICAgICAgIGluY2x1ZGUgICAgICAgICBjb21tb24tcGFzc3dvcmQKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9zdGdyZXNxbC9maWxlcy9wb3N0Z3Jlc3FsLnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Bvc3RncmVzcWwvZmlsZXMvcG9zdGdyZXNxbC5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRlYzk1OWUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Bvc3RncmVzcWwvZmlsZXMvcG9zdGdyZXNxbC5zZXJ2aWNlCkBAIC0wLDAgKzEsMjcgQEAKK1tVbml0XQorRGVzY3JpcHRpb249UG9zdGdyZVNRTCBkYXRhYmFzZSBzZXJ2ZXIKK0FmdGVyPW5ldHdvcmsudGFyZ2V0CisKK1tTZXJ2aWNlXQorVHlwZT1mb3JraW5nCitVc2VyPXBvc3RncmVzCitHcm91cD1wb3N0Z3JlcworCisjIFBvcnQgbnVtYmVyIGZvciBzZXJ2ZXIgdG8gbGlzdGVuIG9uCitFbnZpcm9ubWVudD1QR1BPUlQ9NTQzMgorCisjIExvY2F0aW9uIG9mIGRhdGFiYXNlIGRpcmVjdG9yeQorRW52aXJvbm1lbnQ9UEdEQVRBPS92YXIvbGliL3Bvc3RncmVzcWwvZGF0YQorCisjIERpc2FibGUgT09NIGtpbGwgb24gdGhlIHBvc3RtYXN0ZXIKK09PTVNjb3JlQWRqdXN0PS0xNworCitFeGVjU3RhcnQ9QEJJTkRJUkAvcGdfY3RsIHN0YXJ0IC1EICR7UEdEQVRBfSAtcyAtbyAiLXAgJHtQR1BPUlR9IiAtdyAtdCAzMDAKK0V4ZWNTdG9wPUBCSU5ESVJAL3BnX2N0bCBzdG9wIC1EICR7UEdEQVRBfSAtcyAtbSBmYXN0CitFeGVjUmVsb2FkPUBCSU5ESVJAL3BnX2N0bCByZWxvYWQgLUQgJHtQR0RBVEF9IC1zCisKKyMgR2l2ZSBhIHJlYXNvbmFibGUgYW1vdW50IG9mIHRpbWUgZm9yIHRoZSBzZXJ2ZXIgdG8gc3RhcnQgdXAvc2h1dCBkb3duCitUaW1lb3V0U2VjPTMwMAorCitbSW5zdGFsbF0KK1dhbnRlZEJ5PW11bHRpLXVzZXIudGFyZ2V0CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Bvc3RncmVzcWwvZmlsZXMvcmVtb3ZlLmF1dG9jb25mLnZlcnNpb24uY2hlY2sucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Bvc3RncmVzcWwvZmlsZXMvcmVtb3ZlLmF1dG9jb25mLnZlcnNpb24uY2hlY2sucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmUyM2ZkNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9zdGdyZXNxbC9maWxlcy9yZW1vdmUuYXV0b2NvbmYudmVyc2lvbi5jaGVjay5wYXRjaApAQCAtMCwwICsxLDE2IEBACitJbmRleDogcG9zdGdyZXNxbC05LjIuNC9jb25maWd1cmUuaW4KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBwb3N0Z3Jlc3FsLTkuMi40Lm9yaWcvY29uZmlndXJlLmluCisrKysgcG9zdGdyZXNxbC05LjIuNC9jb25maWd1cmUuaW4KK0BAIC0xOSwxMCArMTksNiBAQCBtNF9wYXR0ZXJuX2ZvcmJpZCheUEdBQ18pZG5sIHRvIGNhdGNoIHVuCisgCisgQUNfSU5JVChbUG9zdGdyZVNRTF0sIFs5LjQuMl0sIFtwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnXSkKKyAKKy1tNF9pZihtNF9kZWZuKFttNF9QQUNLQUdFX1ZFUlNJT05dKSwgWzIuNjldLCBbXSwgW200X2ZhdGFsKFtBdXRvY29uZiB2ZXJzaW9uIDIuNjkgaXMgcmVxdWlyZWQuCistVW50ZXN0ZWQgY29tYmluYXRpb25zIG9mICdhdXRvY29uZicgYW5kIFBvc3RncmVTUUwgdmVyc2lvbnMgYXJlIG5vdAorLXJlY29tbWVuZGVkLiAgWW91IGNhbiByZW1vdmUgdGhlIGNoZWNrIGZyb20gJ2NvbmZpZ3VyZS5pbicgYnV0IGl0IGlzIHRoZW4KKy15b3VyIHJlc3BvbnNpYmlsaXR5IHdoZXRoZXIgdGhlIHJlc3VsdCB3b3JrcyBvciBub3QuXSldKQorIEFDX0NPUFlSSUdIVChbQ29weXJpZ2h0IChjKSAxOTk2LTIwMTQsIFBvc3RncmVTUUwgR2xvYmFsIERldmVsb3BtZW50IEdyb3VwXSkKKyBBQ19DT05GSUdfU1JDRElSKFtzcmMvYmFja2VuZC9hY2Nlc3MvY29tbW9uL2hlYXB0dXBsZS5jXSkKKyBBQ19DT05GSUdfQVVYX0RJUihjb25maWcpCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9zdGdyZXNxbC9wb3N0Z3Jlc3FsLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9zdGdyZXNxbC9wb3N0Z3Jlc3FsLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yODhhMmQxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wb3N0Z3Jlc3FsL3Bvc3RncmVzcWwuaW5jCkBAIC0wLDAgKzEsMzkxIEBACitTVU1NQVJZID0gIlBvc3RncmVTUUwgaXMgYSBwb3dlcmZ1bCwgb3BlbiBzb3VyY2UgcmVsYXRpb25hbCBkYXRhYmFzZSBzeXN0ZW0uIgorREVTQ1JJUFRJT04gPSAiXAorICAgIFBvc3RncmVTUUwgaXMgYW4gYWR2YW5jZWQgT2JqZWN0LVJlbGF0aW9uYWwgZGF0YWJhc2UgbWFuYWdlbWVudCBzeXN0ZW0gXAorICAgIChEQk1TKSB0aGF0IHN1cHBvcnRzIGFsbW9zdCBhbGwgU1FMIGNvbnN0cnVjdHMgKGluY2x1ZGluZyBcCisgICAgdHJhbnNhY3Rpb25zLCBzdWJzZWxlY3RzIGFuZCB1c2VyLWRlZmluZWQgdHlwZXMgYW5kIGZ1bmN0aW9ucykuIFRoZSBcCisgICAgcG9zdGdyZXNxbCBwYWNrYWdlIGluY2x1ZGVzIHRoZSBjbGllbnQgcHJvZ3JhbXMgYW5kIGxpYnJhcmllcyB0aGF0IFwKKyAgICB5b3UnbGwgbmVlZCB0byBhY2Nlc3MgYSBQb3N0Z3JlU1FMIERCTVMgc2VydmVyLiAgVGhlc2UgUG9zdGdyZVNRTCBcCisgICAgY2xpZW50IHByb2dyYW1zIGFyZSBwcm9ncmFtcyB0aGF0IGRpcmVjdGx5IG1hbmlwdWxhdGUgdGhlIGludGVybmFsIFwKKyAgICBzdHJ1Y3R1cmUgb2YgUG9zdGdyZVNRTCBkYXRhYmFzZXMgb24gYSBQb3N0Z3JlU1FMIHNlcnZlci4gVGhlc2UgY2xpZW50IFwKKyAgICBwcm9ncmFtcyBjYW4gYmUgbG9jYXRlZCBvbiB0aGUgc2FtZSBtYWNoaW5lIHdpdGggdGhlIFBvc3RncmVTUUwgXAorICAgIHNlcnZlciwgb3IgbWF5IGJlIG9uIGEgcmVtb3RlIG1hY2hpbmUgd2hpY2ggYWNjZXNzZXMgYSBQb3N0Z3JlU1FMIFwKKyAgICBzZXJ2ZXIgb3ZlciBhIG5ldHdvcmsgY29ubmVjdGlvbi4gVGhpcyBwYWNrYWdlIGNvbnRhaW5zIHRoZSBkb2NzIFwKKyAgICBpbiBIVE1MIGZvciB0aGUgd2hvbGUgcGFja2FnZSwgYXMgd2VsbCBhcyBjb21tYW5kLWxpbmUgdXRpbGl0aWVzIGZvciBcCisgICAgbWFuYWdpbmcgUG9zdGdyZVNRTCBkYXRhYmFzZXMgb24gYSBQb3N0Z3JlU1FMIHNlcnZlci4gXAorICAgIFwKKyAgICBJZiB5b3Ugd2FudCB0byBtYW5pcHVsYXRlIGEgUG9zdGdyZVNRTCBkYXRhYmFzZSBvbiBhIGxvY2FsIG9yIHJlbW90ZSBcCisgICAgUG9zdGdyZVNRTCBzZXJ2ZXIsIHlvdSBuZWVkIHRoaXMgcGFja2FnZS4gWW91IGFsc28gbmVlZCB0byBpbnN0YWxsIFwKKyAgICB0aGlzIHBhY2thZ2UgaWYgeW91J3JlIGluc3RhbGxpbmcgdGhlIHBvc3RncmVzcWwtc2VydmVyIHBhY2thZ2UuIFwKKyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cucG9zdGdyZXNxbC5jb20iCitMSUNFTlNFID0gIkJTRCIKK0RFUEVORFMgPSAiemxpYiByZWFkbGluZSB0emNvZGUtbmF0aXZlIgorSU5DX1BSID0gInIwIgorCitBUk1fSU5TVFJVQ1RJT05fU0VUID0gImFybSIKKworU1JDX1VSSSA9ICJodHRwOi8vZnRwLnBvc3RncmVzcWwub3JnL3B1Yi9zb3VyY2UvdiR7UFZ9LyR7QlB9LnRhci5iejIgXAorICAgIGZpbGU6Ly9wb3N0Z3Jlc3FsLmluaXQgXAorICAgIGZpbGU6Ly9wb3N0Z3Jlc3FsLWJhc2hwcm9maWxlIFwKKyAgICBmaWxlOi8vcG9zdGdyZXNxbC5wYW0gXAorICAgIGZpbGU6Ly9wb3N0Z3Jlc3FsLXNldHVwIFwKKyAgICBmaWxlOi8vcG9zdGdyZXNxbC5zZXJ2aWNlIFwKKyAgICBmaWxlOi8vMDAwMS1Vc2UtcGtnLWNvbmZpZy1mb3ItbGlieG1sMi1kZXRlY3Rpb24ucGF0Y2ggXAorICAgIGZpbGU6Ly9wb3N0Z3Jlc3FsLUNWRS0yMDE2LTA3NjYucGF0Y2ggXAorICAgIGZpbGU6Ly9wb3N0Z3Jlc3FsLUNWRS0yMDE2LTA3NzMucGF0Y2ggXAorIgorCitMRUFEX1NPTkFNRSA9ICJsaWJwcS5zbyIKKworIyBMREZMQUdTIGZvciBzaGFyZWQgbGlicmFyaWVzCitleHBvcnQgTERGTEFHU19TTCA9ICIke0xERkxBR1N9IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgcGVybG5hdGl2ZSBweXRob25uYXRpdmUgdXNlcmFkZCB1cGRhdGUtcmMuZCBzeXN0ZW1kCisKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJwb3N0Z3Jlc3FsLnNlcnZpY2UiCitTWVNURU1EX0FVVE9fRU5BQkxFXyR7UE59ID0gImRpc2FibGUiCisKK0RFUEVORFNfYXBwZW5kID0gIiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAnc3lzdGVtZC1zeXN0ZW1jdGwtbmF0aXZlJywgJycsIGQpfSIKK3BrZ19wb3N0aW5zdF8ke1BOfSAoKSB7CisgICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kIHN5c3Zpbml0JywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KKyAgICAgICAgaWYgWyAtbiAiJEQiIF07IHRoZW4KKyAgICAgICAgICAgIE9QVFM9Ii0tcm9vdD0kRCIKKyAgICAgICAgZmkKKyAgICAgICAgc3lzdGVtY3RsICRPUFRTIG1hc2sgcG9zdGdyZXNxbC1zZXJ2ZXIuc2VydmljZQorICAgIGZpCit9CisKK2VuYWJsZV9wYW0gPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAncGFtJywgJycsIGQpfSIKK1BBQ0tBR0VDT05GSUcgPz89ICIke2VuYWJsZV9wYW19IG9wZW5zc2wgcHl0aG9uIHV1aWQgbGlieG1sIHRjbCBubHMgbGlieG1sIHBlcmwiCitQQUNLQUdFQ09ORklHW3BhbV0gPSAiLS13aXRoLXBhbSwtLXdpdGhvdXQtcGFtLGxpYnBhbSwiCitQQUNLQUdFQ09ORklHW29wZW5zc2xdID0gIi0td2l0aC1vcGVuc3NsLC0td2l0aG91dC1vcGVuc3NsLG9wZW5zc2wsIgorUEFDS0FHRUNPTkZJR1tweXRob25dID0gIi0td2l0aC1weXRob24sLS13aXRob3V0LXB5dGhvbixweXRob24scHl0aG9uIgorUEFDS0FHRUNPTkZJR1t1dWlkXSA9ICItLXdpdGgtb3NzcC11dWlkLC0td2l0aG91dC1vc3NwLXV1aWQsb3NzcC11dWlkLCIKKyMgd2hlbiB0Y2wgbmF0aXZlIHBhY2thZ2UgIGlzIGZpeGVkIGNoYW5nZSBXT1JLRElSIHRvIFNUQUdJTkdfQklORElSX0NST1NTCitQQUNLQUdFQ09ORklHW3RjbF0gPSAiLS13aXRoLXRjbCAtLXdpdGgtdGNsY29uZmlnPSR7U1RBR0lOR19CSU5ESVJfQ1JPU1N9LC0td2l0aG91dC10Y2wsdGNsLCIKK1BBQ0tBR0VDT05GSUdbbmxzXSA9ICItLWVuYWJsZS1ubHMsLS1kaXNhYmxlLW5scywsIgorUEFDS0FHRUNPTkZJR1tsaWJ4bWxdID0gIi0td2l0aC1saWJ4bWwsLS13aXRob3V0LWxpYnhtbCxsaWJ4bWwyLGxpYnhtbDIiCitQQUNLQUdFQ09ORklHW3BlcmxdID0gIi0td2l0aC1wZXJsLC0td2l0aG91dC1wZXJsLHBlcmwscGVybCIKKworRVhUUkFfT0VDT05GICs9ICItLWVuYWJsZS10aHJlYWQtc2FmZXR5IC0tZGlzYWJsZS1ycGF0aCBcCisgICAgLS1kYXRhZGlyPSR7ZGF0YWRpcn0vJHtCUE59IFwKKyAgICAtLXN5c2NvbmZkaXI9JHtzeXNjb25mZGlyfS8ke0JQTn0gXAorIgorRVhUUkFfT0VDT05GX3NoNCArPSAiLS1kaXNhYmxlLXNwaW5sb2NrcyIKK0VYVFJBX09FQ09ORl9hYXJjaDY0ICs9ICItLWRpc2FibGUtc3BpbmxvY2tzIgorCitQQUNLQUdFU19EWU5BTUlDICs9ICJeJHtQTn0tcGxwZXJsIF4ke1BOfS1wbHBlcmwtZGJnIFwKKyAgICBeJHtQTn0tcGx0Y2wgXiR7UE59LXBsdGNsLWRiZyBcCisgICAgXiR7UE59LXBscHl0aG9uIF4ke1BOfS1wbHB5dGhvbi1kYmcgXAorIgorCitweXRob24gcG9wdWxhdGVfcGFja2FnZXNfcHJlcGVuZCgpIHsKKworICAgIGRlZiBmaWxsX21vcmUobmFtZSwgZGJnPVRydWUpOgorICAgICAgICBpZiBuYW1lIGlzIE5vbmUgb3IgbmFtZS5zdHJpcCgpID09ICIiOgorICAgICAgICAgICAgcmV0dXJuCisKKyAgICAgICAgZnBhY2s9ZC5nZXRWYXIoJ1BBQ0tBR0VTJywgRmFsc2UpIG9yICIiCisgICAgICAgIGZwYWNrPSIke1BOfS0iICsgbmFtZSArICIgIiArIGZwYWNrCisgICAgICAgIGlmIGRiZzoKKyAgICAgICAgICAgIGZwYWNrPSIke1BOfS0iICsgbmFtZSArICItZGJnIiArICIgIiArIGZwYWNrCisgICAgICAgIGQuc2V0VmFyKCdQQUNLQUdFUycsIGZwYWNrKQorCisgICAgY29uZj0oZC5nZXRWYXIoJ1BBQ0tBR0VDT05GSUcnLCBUcnVlKSBvciAiIikuc3BsaXQoKQorICAgIHBhY2s9ZC5nZXRWYXIoJ1BBQ0tBR0VTJywgRmFsc2UpIG9yICIiCisgICAgYmIuZGVidWcoMSwgIlBBQ0tBR0VDT05GSUc9JXMiICUgY29uZikKKyAgICBiYi5kZWJ1ZygxLCAiUEFDS0FHRVMxPSVzIiAlIHBhY2sgKQorCisgICAgaWYgInBlcmwiIGluIGNvbmYgOgorICAgICAgICBmaWxsX21vcmUoInBscGVybCIpCisKKyAgICBpZiAidGNsIiBpbiBjb25mOgorICAgICAgICBmaWxsX21vcmUoInBsdGNsIikKKworICAgIGlmICJweXRob24iIGluIGNvbmY6CisgICAgICAgIGZpbGxfbW9yZSgicGxweXRob24iKQorCisgICAgcGFjaz1kLmdldFZhcignUEFDS0FHRVMnLCBUcnVlKSBvciAiIgorICAgIGJiLmRlYnVnKDEsICJQQUNLQUdFUzI9JXMiICUgcGFjaykKKworfQorCitkb19jb25maWd1cmUoKSB7CisgICAgIyBkb19jb25maWd1cmVfcHJlcGVuZAorICAgICMgbWFrZSBzdXJlIGNvbmZpZ3VyZSBmaW5kcyBweXRob24gaW5jbHVkZGlycyB3aXRoIHRoZXNlIGVudnMKKyAgICBleHBvcnQgQlVJTERfU1lTPSR7QlVJTERfU1lTfSBIT1NUX1NZUz0ke0hPU1RfU1lTfSBcCisgICAgICAgICAgIFNUQUdJTkdfSU5DRElSPSR7U1RBR0lOR19JTkNESVJ9IFwKKyAgICAgICAgICAgU1RBR0lOR19MSUJESVI9JHtTVEFHSU5HX0xJQkRJUn0KKworICAgICMgZG9fY29uZmlndXJlCisgICAgYXV0b3Rvb2xzX2RvX2NvbmZpZ3VyZQorCisgICAgIyBkb19jb25maWd1cmVfYXBwZW5kCisgICAgIyB3b3JrYXJvdW5kIHBlcmwgcGFja2FnZSByZWxhdGVkIGJ1Z3MKKyAgICBzZWQgLWkgLWUgInM6LUwvdXNyL2xvY2FsL2xpYjotTD0vdXNyL2xvY2FsL2xpYjpnIiBcCisgICAgICAgICR7Qn0vc3JjL01ha2VmaWxlLmdsb2JhbAorICAgIExJQlBOQT0iXCR7U1RBR0lOR19MSUJESVJfTkFUSVZFfS9wZXJsLW5hdGl2ZSIKKyAgICBMSUJOQT0iXCR7U1RBR0lOR19MSUJESVJfTkFUSVZFfSIKKyAgICBCTElCTkE9Ilwke1NUQUdJTkdfQkFTRV9MSUJESVJfTkFUSVZFfSIKKyAgICBzZWQgLWkgLWUgIi9ecGVybF9hcmNobGliZXhwL3M6JHtMSUJQTkF9OiR7U1RBR0lOR19MSUJESVJ9OmciIFwKKyAgICAgICAgJHtCfS9zcmMvTWFrZWZpbGUuZ2xvYmFsCisgICAgc2VkIC1pIC1lICIvXnBlcmxfcHJpdmxpYmV4cC9zOiR7TElCUE5BfToke1NUQUdJTkdfTElCRElSfTpnIiBcCisgICAgICAgICR7Qn0vc3JjL01ha2VmaWxlLmdsb2JhbAorICAgICMgcmVtb3ZlIHRoZSBycGF0aCwgcmVwbGFjZSB3aXRoIGNvcnJlY3QgbGliIHBhdGgKKyAgICBzZWQgLWkgXAorICAgICAgICAtZSAiL15wZXJsX2VtYmVkX2xkZmxhZ3MvczotV2wsLXJwYXRoLCR7TElCTkF9OjpnIiBcCisgICAgICAgIC1lICIvXnBlcmxfZW1iZWRfbGRmbGFncy9zOi1XbCwtcnBhdGgsJHtCTElCTkF9OjpnIiBcCisgICAgICAgIC1lICIvXnBlcmxfZW1iZWRfbGRmbGFncy9zOi1XbCwtcnBhdGgtbGluaywke0xJQk5BfTo6ZyIgXAorICAgICAgICAtZSAiL15wZXJsX2VtYmVkX2xkZmxhZ3MvczotV2wsLXJwYXRoLWxpbmssJHtCTElCTkF9OjpnIiBcCisgICAgICAgIC1lICIvXnBlcmxfZW1iZWRfbGRmbGFncy9zOiR7TElCUE5BfToke1NUQUdJTkdfTElCRElSfTpnIiBcCisgICAgICAgIC1lICIvXnBlcmxfZW1iZWRfbGRmbGFncy9zOiR7TElCTkF9OiR7U1RBR0lOR19MSUJESVJ9OmciICBcCisgICAgICAgIC1lICIvXnBlcmxfZW1iZWRfbGRmbGFncy9zOiR7QkxJQk5BfToke1NUQUdJTkdfQkFTRUxJQkRJUn06ZyIgXAorICAgICAgICAtZSAiL15UQ0xTSC9zOj0uKjo9ICR7YmluZGlyfS90Y2xzaDpnIiBcCisgICAgJHtCfS9zcmMvTWFrZWZpbGUuZ2xvYmFsCisKKyAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdwZXJsJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KKyAgICAgICAgIyB3b3JrYXJvdW5kIHBlcmwgcGFja2FnZSdzIGxpYnBlcmwuc28gcHJvYmxlbQorICAgICAgICAjIHdlIGFyZSB1c2luZyBwZXJsbmF0aXZlIHNvIHRoaXMgcGVybCBzaG91bGQgaGF2ZSBzYW1lIHZlcnNpb24KKyAgICAgICAgcGVybF92ZXJzaW9uPWBwZXJsIC12IDI+L2Rldi9udWxsIHwgXAorICAgICAgICAgICAgc2VkIC1uICdzL1RoaXMgaXMgcGVybC4qdlthLXogXSpcKFswLTldXC5bMC05XVswLTkuXSpcKS4qJC9cMS9wJ2AKKyAgICAgICAgaWYgWyAhIC1oICIke1NUQUdJTkdfTElCRElSfS9wZXJsLyRwZXJsX3ZlcnNpb24vQ09SRS9saWJwZXJsLnNvIiAtYSBcCisgICAgICAgICAgICAgISAtaCAiJHtTVEFHSU5HX0xJQkRJUn0vbGlicGVybC5zbyIgXTsgdGhlbgorICAgICAgICAgICAgbG4gLXNmIC4uLy4uLy4uL2xpYnBlcmwuc28uNSBcCisgICAgICAgICAgICAgICAgJHtTVEFHSU5HX0xJQkRJUn0vcGVybC8kcGVybF92ZXJzaW9uL0NPUkUvbGlicGVybC5zbworICAgICAgICBmaQorICAgIGZpCit9CisKK2RvX2NvbXBpbGVfYXBwZW5kKCkgeworICAgIG9lX3J1bm1ha2UgLUMgY29udHJpYiBhbGwKK30KKworIyBzZXJ2ZXIgbmVlZHMgdG8gY29uZmlndXJlIHVzZXIgYW5kIGdyb3VwCit1c2VybnVtID0gIjI4IgorZ3JvdXBudW0gPSAiMjgiCitVU0VSQUREX1BBQ0tBR0VTID0gIiR7UE59IgorVVNFUkFERF9QQVJBTV8ke1BOfSA9ICItTSAtZyBwb3N0Z3JlcyAtbyAtciAtZCAke2xvY2Fsc3RhdGVkaXJ9L2xpYi8ke0JQTn0gXAorICAgIC1zIC9iaW4vYmFzaCAtYyAnUG9zdGdyZVNRTCBTZXJ2ZXInIC11ICR7dXNlcm51bX0gcG9zdGdyZXMiCitHUk9VUEFERF9QQVJBTV8ke1BOfSA9ICItZyAke2dyb3VwbnVtfSAtbyAtciBwb3N0Z3JlcyIKKworSU5JVFNDUklQVF9QQUNLQUdFUyA9ICIke1BOfSIKK0lOSVRTQ1JJUFRfTkFNRSA9ICIke0JQTn0tc2VydmVyIgorSU5JVFNDUklQVF9QQVJBTVMgPSAic3RhcnQgNjQgLiBzdG9wIDM2IDAgMSAyIDMgNCA1IDYgLiIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgIyBpbnN0YWxsIGNvbnRyaWIKKyAgICBvZV9ydW5tYWtlIERFU1RESVI9JHtEfSAtQyBjb250cmliIGluc3RhbGwKKyAgICAjIGluc3RhbGwgdHV0b3JpYWwKKyAgICBpbnN0YWxsIC1kIC1tIDA3NTUgJHtEfSR7bGliZGlyfS8ke0JQTn0vdHV0b3JpYWwKKyAgICBpbnN0YWxsICR7Qn0vc3JjL3R1dG9yaWFsLyogJHtEfSR7bGliZGlyfS8ke0JQTn0vdHV0b3JpYWwKKworICAgICMgaW5zdGFsbCBDT1BZUklHSFQgUkVBRE1FIEhJU1RPUlkKKyAgICBpbnN0YWxsIC1kIC1tIDA3NTUgJHtEfSR7ZG9jZGlyfS8ke0JQTn0KKyAgICBmb3IgaSBpbiAke0J9L3tDT1BZUklHSFQsUkVBRE1FLEhJU1RPUll9ICR7Qn0vZG9jL3tLTk9XTl9CVUdTLE1JU1NJTkdfRkVBVFVSRVMsUkVBRE1FKixidWcudGVtcGxhdGV9OyBkbworICAgICAgICBbIC1mICRpIF0gJiYgaW5zdGFsbCAkaSAke0R9JHtkb2NkaXJ9LyR7QlBOfQorICAgIGRvbmUKKworICAgICMgaW5zdGFsbCBkaXJzIGFuZCBzZXJ2ZXIgaW5pdAorICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vJHtCUE59LmluaXQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kLyR7QlBOfS1zZXJ2ZXIKKyAgICBzZWQgLWkgLWUgInMvXlBHVkVSU0lPTj0uKiQvUEdWRVJTSU9OPSR7UFZ9L2ciICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC8ke0JQTn0tc2VydmVyCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vJHtCUE59LXNldHVwICR7RH0ke2JpbmRpcn0vJHtCUE59LXNldHVwCisgICAgaW5zdGFsbCAtZCAtbSA3MDAgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vbGliLyR7QlBOfS9kYXRhCisgICAgaW5zdGFsbCAtZCAtbSA3MDAgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vbGliLyR7QlBOfS9iYWNrdXBzCisgICAgaW5zdGFsbCAtbSA2NDQgJHtXT1JLRElSfS8ke0JQTn0tYmFzaHByb2ZpbGUgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vbGliLyR7QlBOfS8uYmFzaF9wcm9maWxlCisgICAgY2hvd24gLVIgcG9zdGdyZXM6cG9zdGdyZXMgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vbGliLyR7QlBOfQorICAgICMgbXVsdGlwbGUgc2VydmVyIGNvbmZpZyBkaXJlY3RvcnkKKyAgICBpbnN0YWxsIC1kIC1tIDcwMCAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0LyR7QlBOfQorCisgICAgaWYgWyAiJHtAZC5nZXRWYXIoJ2VuYWJsZV9wYW0nLCBUcnVlKX0iID0gInBhbSIgXTsgdGhlbgorICAgICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3BhbS5kCisgICAgICAgIGluc3RhbGwgLW0gNjQ0ICR7V09SS0RJUn0vcG9zdGdyZXNxbC5wYW0gJHtEfSR7c3lzY29uZmRpcn0vcGFtLmQvcG9zdGdyZXNxbAorICAgIGZpCisKKyAgICAjIEluc3RhbGwgc3lzdGVtZCB1bml0IGZpbGVzCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3Bvc3RncmVzcWwuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgIHNlZCAtaSAtZSAncyxAQklORElSQCwke2JpbmRpcn0sZycgXAorICAgICAgICAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9wb3N0Z3Jlc3FsLnNlcnZpY2UKK30KKworU1NUQVRFX1NDQU5fRklMRVMgKz0gIk1ha2VmaWxlLmdsb2JhbCIKKworUEFDS0FHRVMgPSsgIiR7UE59LWNsaWVudCAke1BOfS1zZXJ2ZXItZGV2ICR7UE59LXRpbWV6b25lIFwKKyAgICBsaWJlY3BnLWNvbXBhdC1kYmcgbGliZWNwZy1jb21wYXQgbGliZWNwZy1jb21wYXQtZGV2IFwKKyAgICBsaWJlY3BnLWRiZyBsaWJlY3BnIGxpYmVjcGctZGV2IGxpYmVjcGctc3RhdGljZGV2IGxpYmVjcGctZG9jIFwKKyAgICBsaWJwcS1kYmcgbGlicHEgbGlicHEtZGV2IGxpYnBxLXN0YXRpY2RldiBcCisgICAgbGlicGd0eXBlcy1kYmcgbGlicGd0eXBlcyBsaWJwZ3R5cGVzLXN0YXRpY2RldiBsaWJwZ3R5cGVzLWRldiBcCisgICAgJHtQTn0tY29udHJpYiAke1BOfS1jb250cmliLWRiZyBcCisiCisKK0ZJTEVTXyR7UE59ICs9ICIke3N5c2NvbmZkaXJ9L2luaXQuZC8ke0JQTn0tc2VydmVyIFwKKyAgICAke2xvY2Fsc3RhdGVkaXJ9L2xpYi8ke0JQTn0vZGF0YSAke2xvY2Fsc3RhdGVkaXJ9L2xpYi8ke0JQTn0vYmFja3VwcyBcCisgICAgJHtsb2NhbHN0YXRlZGlyfS9saWIvJHtCUE59Ly5iYXNoX3Byb2ZpbGUgJHtzeXNjb25mZGlyfS9kZWZhdWx0LyR7QlBOfSBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS9kaWN0X3Nub3diYWxsLnNvICR7bGliZGlyfS8ke0JQTn0vcGxwZ3NxbC5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS9ldWMyMDA0X3NqaXMyMDA0LnNvIFwKKyAgICAke2xpYmRpcn0vJHtCUE59L2xpYnBxd2FscmVjZWl2ZXIuc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vKl9hbmRfKi5zbyBcCisgICAgJHtAJyR7c3lzY29uZmRpcn0vcGFtLmQvcG9zdGdyZXNxbCcgXAorICAgICAgIGlmICdwYW0nID09IGQuZ2V0VmFyKCdlbmFibGVfcGFtJywgVHJ1ZSkgXAorICAgICAgIGVsc2UgJyd9IFwKKyIKKworRklMRVNfJHtQTn0tZGJnICs9ICIgJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvZGljdF9zbm93YmFsbC5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvcGxwZ3NxbC5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvZXVjMjAwNF9zamlzMjAwNC5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvbGlicHF3YWxyZWNlaXZlci5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvKl9hbmRfKi5zbyBcCisiCisKK0ZJTEVTXyR7UE59LWNsaWVudCA9ICIke2JpbmRpcn0vY2x1c3RlcmRiIFwKKyAgICAke2JpbmRpcn0vY3JlYXRlZGIgXAorICAgICR7YmluZGlyfS9jcmVhdGVsYW5nIFwKKyAgICAke2JpbmRpcn0vY3JlYXRldXNlciBcCisgICAgJHtiaW5kaXJ9L2Ryb3BkYiBcCisgICAgJHtiaW5kaXJ9L2Ryb3BsYW5nIFwKKyAgICAke2JpbmRpcn0vZHJvcHVzZXIgXAorICAgICR7YmluZGlyfS9wZ19kdW1wIFwKKyAgICAke2JpbmRpcn0vcGdfZHVtcGFsbCBcCisgICAgJHtiaW5kaXJ9L3BnX3Jlc3RvcmUgXAorICAgICR7YmluZGlyfS9wc3FsIFwKKyAgICAke2JpbmRpcn0vcmVpbmRleGRiIFwKKyAgICAke2JpbmRpcn0vdmFjdXVtZGIgXAorICAgICR7YmluZGlyfS92YWN1dW1sbyBcCisgICAgJHtkYXRhZGlyfS8ke0JQTn0vcHNxbHJjLnNhbXBsZSBcCisiCitGSUxFU18ke1BOfS1jbGllbnQtZG9jID0gIiR7bWFuZGlyfS9tYW4xL2NsdXN0ZXJkYi4qIFwKKyAgICAke21hbmRpcn0vbWFuMS9jcmVhdGVkYi4qICAgJHttYW5kaXJ9L21hbjEvY3JlYXRlbGFuZy4qIFwKKyAgICAke21hbmRpcn0vbWFuMS9jcmVhdGV1c2VyLiogJHttYW5kaXJ9L21hbjEvZHJvcGRiLiogXAorICAgICR7bWFuZGlyfS9tYW4xL2Ryb3BsYW5nLiogICAke21hbmRpcn0vbWFuMS9kcm9wdXNlci4qIFwKKyAgICAke21hbmRpcn0vbWFuMS9wZ19kdW1wLiogICAgJHttYW5kaXJ9L21hbjEvcGdfZHVtcGFsbC4qIFwKKyAgICAke21hbmRpcn0vbWFuMS9wZ19yZXN0b3JlLiogJHttYW5kaXJ9L21hbjEvcHNxbC4qIFwKKyAgICAke21hbmRpcn0vbWFuMS9yZWluZGV4ZGIuKiAgJHttYW5kaXJ9L21hbjEvdmFjdXVtZGIuKiBcCisgICAgJHttYW5kaXJ9L21hbjcvKiBcCisiCitGSUxFU18ke1BOfS1kb2MgKz0gIiR7ZG9jZGlyfS8ke0JQTn0vaHRtbCAke2xpYmRpcn0vJHtCUE59L3R1dG9yaWFsLyBcCisgICAgJHttYW5kaXJ9L21hbjEvaW5pdGRiLiogJHttYW5kaXJ9L21hbjEvcGdfY29udHJvbGRhdGEuKiBcCisgICAgJHttYW5kaXJ9L21hbjEvcGdfY3RsLiogJHttYW5kaXJ9L21hbjEvcGdfcmVzZXR4bG9nLiogXAorICAgICR7bWFuZGlyfS9tYW4xL3Bvc3RncmVzLiogJHttYW5kaXJ9L21hbjEvcG9zdG1hc3Rlci4qIFwKKyIKK0ZJTEVTXyR7UE59LXRpbWV6b25lID0gIiR7ZGF0YWRpcn0vJHtCUE59L3RpbWV6b25lIFwKKyAgICAke2RhdGFkaXJ9LyR7QlBOfS90aW1lem9uZXNldHMgXAorIgorUkRFUEVORFNfJHtQTn0gKz0gIiR7UE59LXRpbWV6b25lIgorRklMRVNfJHtQTn0tc2VydmVyLWRldiA9ICIke2luY2x1ZGVkaXJ9LyR7QlBOfS9zZXJ2ZXIiCisKK0ZJTEVTX2xpYmVjcGcgPSAiJHtsaWJkaXJ9L2xpYmVjcGcqJHtTT0xJQlN9IgorRklMRVNfbGliZWNwZy1kYmcgPSAiJHtsaWJkaXJ9Ly5kZWJ1Zy9saWJlY3BnKiIKK0ZJTEVTX2xpYmVjcGctZGV2ID0gIiR7bGliZGlyfS9saWJlY3BnKiR7U09MSUJTREVWfSBcCisgICAgJHtsaWJkaXJ9L2xpYnBndHlwZXMqJHtTT0xJQlNERVZ9IFwKKyAgICAke2luY2x1ZGVkaXJ9L2VjcGcqLmggJHtpbmNsdWRlZGlyfS8ke0JQTn0vZWNwZyouaCBcCisgICAgJHtpbmNsdWRlZGlyfS9wZ3R5cGVzKi5oICR7aW5jbHVkZWRpcn0vJHtCUE59L2luZm9ybWl4IFwKKyAgICAke2luY2x1ZGVkaXJ9L3NxbDN0eXBlcy5oICR7aW5jbHVkZWRpcn0vc3FsY2EuaCBcCisiCitGSUxFU19saWJlY3BnLWRvYyA9ICIke21hbmRpcn0vbWFuMS9lY3BnLioiCitGSUxFU19saWJlY3BnLXN0YXRpY2RldiA9ICIke2xpYmRpcn0vbGliZWNwZyouYSIKK1NFQ1RJT05fbGliZWNwZy1zdGF0aWNkZXYgPSAiZGV2ZWwiCitSREVQRU5EU19saWJlY3BnLXN0YXRpY2RldiA9ICJsaWJlY3BnLWRldiAoPSAke0VYVEVORFBLR1Z9KSIKKworRklMRVNfbGlicHEgPSAiJHtsaWJkaXJ9L2xpYnBxKiR7U09MSUJTfSIKK0ZJTEVTX2xpYnBxLWRiZyA9ICIke2xpYmRpcn0vLmRlYnVnL2xpYnBxKiAke2xpYmRpcn0vJHtCUE59L3BneHMvc3JjL3Rlc3QvcmVncmVzcy8uZGVidWcvKiIKK0ZJTEVTX2xpYnBxLWRldiA9ICIke2xpYmRpcn0vbGlicHEqJHtTT0xJQlNERVZ9IFwKKyAgICAke2luY2x1ZGVkaXJ9IFwKKyIKK0ZJTEVTX2xpYnBxLXN0YXRpY2RldiA9ICIke2xpYmRpcn0vbGlicHEqLmEgJHtsaWJkaXJ9L2xpYnBncG9ydC5hIgorU0VDVElPTl9saWJwcS1zdGF0aWNkZXYgPSAiZGV2ZWwiCitSREVQRU5EU19saWJwcS1zdGF0aWNkZXYgPSAibGlicHEtZGV2ICg9ICR7RVhURU5EUEtHVn0pIgorCitGSUxFU19saWJlY3BnLWNvbXBhdCA9ICIke2xpYmRpcn0vbGliZWNwZ19jb21wYXQqJHtTT0xJQlN9IgorRklMRVNfbGliZWNwZy1jb21wYXQtZGJnID0gIiR7bGliZGlyfS8uZGVidWcvbGliZWNwZ19jb21wYXQqIgorRklMRVNfbGliZWNwZy1jb21wYXQtZGV2ID0gIiR7bGliZGlyfS9saWJlY3BnX2NvbXBhdCoke1NPTElCU30iCitGSUxFU19saWJwZ3R5cGVzID0gIiR7bGliZGlyfS9saWJwZ3R5cGVzKiR7U09MSUJTfSIKK0ZJTEVTX2xpYnBndHlwZXMtZGJnID0gIiR7bGliZGlyfS8uZGVidWcvbGlicGd0eXBlcyoiCitGSUxFU19saWJwZ3R5cGVzLXN0YXRpY2RldiA9ICIke2xpYmRpcn0vbGlicGd0eXBlcyouYSIKK0ZJTEVTX2xpYnBndHlwZXMtZGV2ID0gIiR7bGliZGlyfS9saWJwZ3R5cGVzKiR7U09MSUJTfSAke2luY2x1ZGVkaXJ9L3BndHlwZXMqLmgiCisKK0ZJTEVTXyR7UE59LWNvbnRyaWIgPSAiICR7YmluZGlyfS9vaWQybmFtZSAke2JpbmRpcn0vcGdfc3RhbmRieSBcCisgICAgJHtiaW5kaXJ9L3BnYmVuY2ggJHtiaW5kaXJ9L3ZhY3V1bWxvIFwKKyAgICAke1N9L2NvbnRyaWIvc3BpLyouZXhhbXBsZSBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS9faW50LnNvICR7bGliZGlyfS8ke0JQTn0vYWRtaW5wYWNrLnNvIFwKKyAgICAke2xpYmRpcn0vJHtCUE59L2F1dG9pbmMuc28gJHtsaWJkaXJ9LyR7QlBOfS9hdXRvX2V4cGxhaW4uc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vYXV0aF9kZWxheS5zbyAke2xpYmRpcn0vJHtCUE59L2J0cmVlX2dpbi5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS9idHJlZV9naXN0LnNvICR7bGliZGlyfS8ke0JQTn0vLnNvIFwKKyAgICAke2xpYmRpcn0vJHtCUE59L2Noa3Bhc3Muc28gJHtsaWJkaXJ9LyR7QlBOfS9jaXRleHQuc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vY3ViZS5zbyAke2xpYmRpcn0vJHtCUE59L2RibGluay5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS9kaWN0X2ludC5zbyAke2xpYmRpcn0vJHtCUE59L2RpY3RfeHN5bi5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS9kdW1teV9zZWNsYWJlbC5zbyAke2xpYmRpcn0vJHtCUE59L2VhcnRoZGlzdGFuY2Uuc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vZmlsZV9mZHcuc28gJHtsaWJkaXJ9LyR7QlBOfS9mdXp6eXN0cm1hdGNoLnNvIFwKKyAgICAke2xpYmRpcn0vJHtCUE59L2hzdG9yZS5zbyAke2xpYmRpcn0vJHtCUE59L2luc2VydF91c2VybmFtZS5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS9pc24uc28gJHtsaWJkaXJ9LyR7QlBOfS9sby5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS9sdHJlZS5zbyAke2xpYmRpcn0vJHtCUE59L21vZGRhdGV0aW1lLnNvIFwKKyAgICAke2xpYmRpcn0vJHtCUE59L3BhZ2VpbnNwZWN0LnNvICR7bGliZGlyfS8ke0JQTn0vcGdfYnVmZmVyY2FjaGUuc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vcGdfZnJlZXNwYWNlbWFwLnNvICR7bGliZGlyfS8ke0JQTn0vcGdfdHJnbS5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS9wZ2NyeXB0by5zbyAke2xpYmRpcn0vJHtCUE59L3Bncm93bG9ja3Muc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vcGdzdGF0dHVwbGUuc28gJHtsaWJkaXJ9LyR7QlBOfS9wZ19zdGF0X3N0YXRlbWVudHMuc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vcmVmaW50LnNvICR7bGliZGlyfS8ke0JQTn0vc2VnLnNvIFwKKyAgICAke2xpYmRpcn0vJHtCUE59L3NzbGluZm8uc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vdGFibGVmdW5jLnNvIFwKKyAgICAke2xpYmRpcn0vJHtCUE59L3Rlc3RfcGFyc2VyLnNvICR7bGliZGlyfS8ke0JQTn0vdGltZXRyYXZlbC5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS90c2VhcmNoMi5zbyAke2xpYmRpcn0vJHtCUE59L3V1aWQtb3NzcC5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS9wZ3htbC5zbyAke2xpYmRpcn0vJHtCUE59L3Bhc3N3b3JkY2hlY2suc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vcGdfdXBncmFkZV9zdXBwb3J0LnNvICR7bGliZGlyfS8ke0JQTn0vLnNvIFwKKyAgICAke2xpYmRpcn0vJHtCUE59L3VuYWNjZW50LnNvIFwKKyIKK0ZJTEVTXyR7UE59LWNvbnRyaWItZGJnID0gIiBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvX2ludC5zbyAke2xpYmRpcn0vJHtCUE59Ly5kZWJ1Zy9hZG1pbnBhY2suc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vLmRlYnVnL2F1dG9pbmMuc28gJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvYXV0b19leHBsYWluLnNvIFwKKyAgICAke2xpYmRpcn0vJHtCUE59Ly5kZWJ1Zy9hdXRoX2RlbGF5LnNvICR7bGliZGlyfS8ke0JQTn0vLmRlYnVnL2J0cmVlX2dpbi5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvYnRyZWVfZ2lzdC5zbyAke2xpYmRpcn0vJHtCUE59Ly5kZWJ1Zy8uc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vLmRlYnVnL2Noa3Bhc3Muc28gJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvY2l0ZXh0LnNvIFwKKyAgICAke2xpYmRpcn0vJHtCUE59Ly5kZWJ1Zy9jdWJlLnNvICR7bGliZGlyfS8ke0JQTn0vLmRlYnVnL2RibGluay5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvZGljdF9pbnQuc28gJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvZGljdF94c3luLnNvIFwKKyAgICAke2xpYmRpcn0vJHtCUE59Ly5kZWJ1Zy9kdW1teV9zZWNsYWJlbC5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvZWFydGhkaXN0YW5jZS5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvZmlsZV9mZHcuc28gJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvZnV6enlzdHJtYXRjaC5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvaHN0b3JlLnNvICR7bGliZGlyfS8ke0JQTn0vLmRlYnVnL2luc2VydF91c2VybmFtZS5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvaXNuLnNvICR7bGliZGlyfS8ke0JQTn0vLmRlYnVnL2xvLnNvIFwKKyAgICAke2xpYmRpcn0vJHtCUE59Ly5kZWJ1Zy9sdHJlZS5zbyAke2xpYmRpcn0vJHtCUE59Ly5kZWJ1Zy9tb2RkYXRldGltZS5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvcGFnZWluc3BlY3Quc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vLmRlYnVnL3BnX2J1ZmZlcmNhY2hlLnNvIFwKKyAgICAke2xpYmRpcn0vJHtCUE59Ly5kZWJ1Zy9wZ19mcmVlc3BhY2VtYXAuc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vLmRlYnVnL3BnX3RyZ20uc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vLmRlYnVnL3BnY3J5cHRvLnNvICR7bGliZGlyfS8ke0JQTn0vLmRlYnVnL3Bncm93bG9ja3Muc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vLmRlYnVnL3Bnc3RhdHR1cGxlLnNvIFwKKyAgICAke2xpYmRpcn0vJHtCUE59Ly5kZWJ1Zy9wZ19zdGF0X3N0YXRlbWVudHMuc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vLmRlYnVnL3JlZmludC5zbyAke2xpYmRpcn0vJHtCUE59Ly5kZWJ1Zy9zZWcuc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vLmRlYnVnL3NzbGluZm8uc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vLmRlYnVnL3RhYmxlZnVuYy5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvdGVzdF9wYXJzZXIuc28gJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvdGltZXRyYXZlbC5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvdHNlYXJjaDIuc28gJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvdXVpZC1vc3NwLnNvIFwKKyAgICAke2xpYmRpcn0vJHtCUE59Ly5kZWJ1Zy9wZ3htbC5zbyAke2xpYmRpcn0vJHtCUE59Ly5kZWJ1Zy9wYXNzd29yZGNoZWNrLnNvIFwKKyAgICAke2xpYmRpcn0vJHtCUE59Ly5kZWJ1Zy9wZ191cGdyYWRlX3N1cHBvcnQuc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vLmRlYnVnL3VuYWNjZW50LnNvIFwKKyIKK0RFU0NSSVBUSU9OXyR7UE59LWNvbnRyaWIgPSAiVGhlIHBvc3RncmVzcWwtY29udHJpYiBwYWNrYWdlIGNvbnRhaW5zIFwKKyAgICBjb250cmlidXRlZCBwYWNrYWdlcyB0aGF0IGFyZSBpbmNsdWRlZCBpbiB0aGUgUG9zdGdyZVNRTCBkaXN0cmlidXRpb24uIgorCitGSUxFU18ke1BOfS1wbHRjbCA9ICIke2xpYmRpcn0vJHtCUE59L3BsdGNsLnNvICR7YmluZGlyfS9wbHRjbF9kZWxtb2QgXAorICAgICR7YmluZGRpcn0vcGx0Y2xfbGlzdG1vZCAke2JpbmRpcn0vcGx0Y2xfbG9hZG1vZCAgXAorICAgICR7ZGF0YWRpcn0vJHtCUE59L3Vua25vd24ucGx0Y2wiCitGSUxFU18ke1BOfS1wbHRjbC1kYmcgPSAiJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvcGx0Y2wuc28iCitTVU1NQVJZXyR7UE59LXBsdGNsID0gIlRoZSBUY2wgcHJvY2VkdXJhbCBsYW5ndWFnZSBmb3IgUG9zdGdyZVNRTCIKK0RFU0NSSVBUSU9OXyR7UE59LXBsdGNsID0gIlBvc3RncmVTUUwgaXMgYW4gYWR2YW5jZWQgT2JqZWN0LVJlbGF0aW9uYWwgXAorICAgIGRhdGFiYXNlIG1hbmFnZW1lbnQgc3lzdGVtLiAgVGhlIHBvc3RncmVzcWwtcGx0Y2wgcGFja2FnZSBjb250YWlucyB0aGUgUEwvVGNsIFwKKyAgICBwcm9jZWR1cmFsIGxhbmd1YWdlIGZvciB0aGUgYmFja2VuZC4iCisKK0ZJTEVTXyR7UE59LXBscGVybCA9ICIke2xpYmRpcn0vJHtCUE59L3BscGVybC5zbyIKK0ZJTEVTXyR7UE59LXBscGVybC1kYmcgPSAiJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvcGxwZXJsLnNvIgorU1VNTUFSWV8ke1BOfS1wbHBlcmwgPSAiVGhlIFBlcmwgcHJvY2VkdXJhbCBsYW5ndWFnZSBmb3IgUG9zdGdyZVNRTCIKK0RFU0NSSVBUSU9OXyR7UE59LXBscGVybCA9ICJQb3N0Z3JlU1FMIGlzIGFuIGFkdmFuY2VkIE9iamVjdC1SZWxhdGlvbmFsIFwKKyAgICBkYXRhYmFzZSBtYW5hZ2VtZW50IHN5c3RlbS4gIFRoZSBwb3N0Z3Jlc3FsLXBscGVybCBwYWNrYWdlIGNvbnRhaW5zIHRoZSBcCisgICAgUEwvUGVybCBwcm9jZWR1cmFsIGxhbmd1YWdlIGZvciB0aGUgYmFja2VuZC4iCisKKyMgSW4gdmVyc2lvbiA4LCBpdCB3aWxsIGJlIHBscHl0aG9uLnNvCisjIEluIHZlcnNpb24gOSwgaXQgbWlnaHQgYmUgcGxweXRob257MiwzfS5zbyBkZXBlbmRpbmcgb24gcHl0aG9uMiBvciAzCitGSUxFU18ke1BOfS1wbHB5dGhvbiA9ICIke2xpYmRpcn0vJHtCUE59L3BscHl0aG9uKi5zbyIKK0ZJTEVTXyR7UE59LXBscHl0aG9uLWRiZyA9ICIke2xpYmRpcn0vJHtCUE59Ly5kZWJ1Zy9wbHB5dGhvbiouc28iCitTVU1NQVJZXyR7UE59LXBscHl0aG9uID0gIlRoZSBQeXRob24gcHJvY2VkdXJhbCBsYW5ndWFnZSBmb3IgUG9zdGdyZVNRTCIKK0RFU0NSSVBUSU9OXyR7UE59LXBscHl0aG9uID0gIlBvc3RncmVTUUwgaXMgYW4gYWR2YW5jZWQgT2JqZWN0LVJlbGF0aW9uYWwgXAorICAgIGRhdGFiYXNlIG1hbmFnZW1lbnQgc3lzdGVtLiAgVGhlIHBvc3RncmVzcWwtcGxweXRob24gcGFja2FnZSBjb250YWlucyBcCisgICAgdGhlIFBML1B5dGhvbiBwcm9jZWR1cmFsIGxhbmd1YWdlIGZvciB0aGUgYmFja2VuZC4iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Bvc3RncmVzcWwvcG9zdGdyZXNxbF85LjQuNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9zdGdyZXNxbC9wb3N0Z3Jlc3FsXzkuNC41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU0YjY2MGUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Bvc3RncmVzcWwvcG9zdGdyZXNxbF85LjQuNS5iYgpAQCAtMCwwICsxLDE0IEBACityZXF1aXJlIHBvc3RncmVzcWwuaW5jCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlSSUdIVDttZDU9N2Q4NDdhOWI0NDZkZGZlMTg3YWNmYWM2NjQxODk2NzIiCisKK1BSID0gIiR7SU5DX1BSfS4wIgorCitTUkNfVVJJICs9ICJcCisgICAgZmlsZTovL3JlbW92ZS5hdXRvY29uZi52ZXJzaW9uLmNoZWNrLnBhdGNoIFwKKyAgICBmaWxlOi8vbm90LWNoZWNrLWxpYnBlcmwucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiOGIyZTM0NzJhOGRjNzg2NjQ5YjRkMDJkMDJlMDM5YTAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYjg3YzUwYzY2YjZlYTQyYTk3MTJiNWY2Mjg0Nzk0ZmFiYWQwNjE2ZTZhZTQyMGNmMGYxMDUyM2JlNmQ5NGEzOSIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wcHMtdG9vbHMvcHBzLXRvb2xzX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcHBzLXRvb2xzL3Bwcy10b29sc19naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzNjNDZlZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcHBzLXRvb2xzL3Bwcy10b29sc19naXQuYmIKQEAgLTAsMCArMSwxNiBAQAorU1VNTUFSWSA9ICJVc2VyLXNwYWNlIHRvb2xzIGZvciBMaW51eFBQUyIKKworTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIgorCitQViA9ICIwLjAuMCtnaXQke1NSQ1BWfSIKK1NSQ1JFViA9ICIwZGViOWM3ZTEzNWU5MzgwYTZkMDllOWQyZTkzOGExNDZiYjY5OGM4IgorU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2Fnby9wcHMtdG9vbHMuZ2l0IgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitkb19pbnN0YWxsKCkgeworICAgICAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0gJHtEfSR7aW5jbHVkZWRpcn0gXAorICAgICAgICAgICAgICAgICAgICR7RH0ke2luY2x1ZGVkaXJ9L3N5cworICAgICAgICBvZV9ydW5tYWtlICdERVNURElSPSR7RH0nIGluc3RhbGwKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcHJvY21haWwvcHJvY21haWwvZnJvbS1kZWJpYW4tdG8tZml4LWNvbXBpbGUtZXJyb3JzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wcm9jbWFpbC9wcm9jbWFpbC9mcm9tLWRlYmlhbi10by1maXgtY29tcGlsZS1lcnJvcnMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODM0MWE4ZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcHJvY21haWwvcHJvY21haWwvZnJvbS1kZWJpYW4tdG8tZml4LWNvbXBpbGUtZXJyb3JzLnBhdGNoCkBAIC0wLDAgKzEsNjA2IEBACitGcm9tIDg5OGU5NTE0YmM4ODliNGE1NDBmNjY3ZWZlZDk1YTVhZjEwMWM4MjQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBMaSB4aW4gPGxpeGluLmZuc3RAY24uZnVqaXRzdS5jb20+CitEYXRlOiBUdWUsIDIgRGVjIDIwMTQgMDc6MDA6MzYgKzA5MDAKK1N1YmplY3Q6IFtQQVRDSCAxLzNdIEZyb20gZGViaWFuIHRvIGZpeCBjb21waWxlIGVycm9ycworCitTaWduZWQtb2ZmLWJ5OiBMaSBYaW4gPGxpeGluLmZuc3RAY24uZnVqaXRzdS5jb20+CistLS0KKyBzcmMvTWFrZWZpbGUuMCAgfCAgNyArKystLS0tCisgc3JjL2F1dG9jb25mICAgIHwgNjQgKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBzcmMvY29tc2F0LmMgICAgfCA2NSArKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBzcmMvZmllbGRzLmMgICAgfCAgNiArKystLS0KKyBzcmMvZm9sZGluZm8uaCAgfCAgMiArLQorIHNyYy9mb3JtYWlsLmMgICB8ICA2ICsrKy0tLQorIHNyYy9mb3JtaXNjLmMgICB8ICAyICstCisgc3JjL2Zvcm1pc2MuaCAgIHwgIDIgKy0KKyBzcmMvbWFpbGZvbGQuYyAgfCAxNCArKysrKysrKysrLS0tCisgc3JjL21hbmNvbmYuYyAgIHwgIDIgKy0KKyBzcmMvbWVtYmxrLmMgICAgfCAyNCArKysrKysrKysrLS0tLS0tLS0tLS0KKyBzcmMvbWVtYmxrLmggICAgfCAgMiArLQorIHNyYy9uZXR3b3JrLmggICB8IDEwICsrLS0tLS0tLQorIHNyYy9waXBlcy5jICAgICB8IDEwICsrKystLS0tLQorIHNyYy9wcm9jbWFpbC5jICB8ICAzICstLQorIHNyYy9yZWNvbW1lbmQuYyB8ICAyICstCisgMTYgZmlsZXMgY2hhbmdlZCwgODEgaW5zZXJ0aW9ucygrKSwgMTQwIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL01ha2VmaWxlLjAgYi9zcmMvTWFrZWZpbGUuMAoraW5kZXggNmViNWI1MS4uMTVhMjAzOSAxMDA2NDQKKy0tLSBhL3NyYy9NYWtlZmlsZS4wCisrKysgYi9zcmMvTWFrZWZpbGUuMAorQEAgLTQwLDcgKzQwLDcgQEAgbXVsdGlncmFtOiBtdWx0aWdyYW0uJChPKSAkKE1HX09CSikgc2V0aWQKKyAJQGNkIC4uOyAkKE1BS0UpIGNvbmZpZy5jaGVjaworIAorIF9hdXRvdHN0OiBfYXV0b3RzdC4kKE8pIHN1YmxpYi5jIHN1YmxpYi5oCistCSQoQ0MpICQoQ0ZMQUdTKSAkQC4kKE8pIC1vICRAICQoTERGTEFHUykKKysJZ2NjICRALiQoTykgLW8gJEAgJChMREZMQUdTKQorIAorIC4uL2F1dG9jb25mLmg6IGF1dG9jb25mIE1ha2VmaWxlIC4uL3BhdGNobGV2ZWwuaAorIAlAZWNobyBObyB0aGlzIHdhcyBub3QgbWFrZSAtbiA+bWFrZV9uCitAQCAtMTc1LDE3ICsxNzUsMTYgQEAgcmVjb21tZW5kOiByZWNvbW1lbmQuJChPKSBzdWJsaWIuJChPKQorIAorIC4uL21hbi9tYW4uc2VkOiBtYW5jb25mLmMgLi4vYXV0b2NvbmYuaCAuLi9jb25maWcuaCBpbmNsdWRlcy5oIHByb2NtYWlsLmgKKyAuLi9tYW4vbWFuLnNlZDogLi4vcGF0Y2hsZXZlbC5oCistCUAkKENDKSAkKENGTEFHUykgIi1EQklORElSPVwiJChWSVNJQkxFX0JJTkRJUilcIiIgLW8gX2F1dG90c3QgXAorKwlnY2MgIi1EQklORElSPVwiJChWSVNJQkxFX0JJTkRJUilcIiIgLW8gX2F1dG90c3QgXAorICBtYW5jb25mLmMgJChMREZMQUdTKQorIAlALi9fYXV0b3RzdCAkQAorIAlAZWNobyBIb3VzZWtlZXBpbmcgZmlsZSA+JEAKKy0JQCQoUk0pIF9hdXRvdHN0CisgCisgY2xlYW46CisgCSQoUk0pIC1yIF9sb2NrdGVzdAorIAkkKFJNKSBwcm9jbWFpbC4kKE8pICQoUE1fT0JKKSBsb2NrZmlsZS4kKE8pICQoTEZfT0JKKSBmb3JtYWlsLiRPIFwKKyAgJChGTV9PQkopIG11bHRpZ3JhbS4kKE8pICQoTUdfT0JKKSAkKEJJTlNTKSBtdWx0aWdyYW0gLi4vYXV0b2NvbmYuaCBcCistIF9hdXRvdHN0KiBsb29rZm9yIF9sb2NrdHN0KiBncmVwZm9yIHJlY29tbWVuZCByZWNvbW1lbmQuJChPKSBtYW5jb25mIFwKKysgIGxvb2tmb3IgX2xvY2t0c3QqIGdyZXBmb3IgcmVjb21tZW5kIHJlY29tbWVuZC4kKE8pIG1hbmNvbmYgXAorICBfTWFrZWZpbGUgbG9jay5sb2cgKmNvcmUqIHRhcmdldGRpci5oIHNldGlkIHNldGlkLiQoTykgZ2V0aG9tZSBcCisgIGdldGhvbWUuJChPKSBtYWtlX24gcmVhbGxvYy5sb2cKKyAKK2RpZmYgLS1naXQgYS9zcmMvYXV0b2NvbmYgYi9zcmMvYXV0b2NvbmYKK2luZGV4IDFjYjRjNDIuLmZmNzgwNDggMTAwNzU1CistLS0gYS9zcmMvYXV0b2NvbmYKKysrKyBiL3NyYy9hdXRvY29uZgorQEAgLTY4LDggKzY4LDYgQEAKKyAjCSNkZWZpbmUgTk9mc3luYworICNPawkjZGVmaW5lIGVuZHB3ZW50KCkKKyAjT2sJI2RlZmluZSBlbmRncmVudCgpCistI09rCSNkZWZpbmUgZW5kaG9zdGVudCgpCistI09rCSNkZWZpbmUgZW5kc2VydmVudCgpCisgI09rCSNkZWZpbmUgZW5kcHJvdG9lbnQoKQorICMJI2RlZmluZSBoXzBhZGRyX2xpc3QgaF9hZGRyCisgI09rCSNkZWZpbmUgTk9wd19wYXNzd2QKK0BAIC04OTYsNyArODk0LDcgQEAgaW50IG1haW4oKXtpbnQgaT0wOworICB7dWlkX3QgdnVpZF90O2krPXZ1aWRfdD0xO30KKyAge2dpZF90IHZnaWRfdDtpKz12Z2lkX3Q9MTt9CisgI2lmbmRlZiBOT19DT01TQVQKKy0ge3N0cnVjdCBob3N0ZW50IHZob3N0ZW50O2krPSEodmhvc3RlbnQuaF9hZGRyX2xpc3Q9MCk7fQorKyB7c3RydWN0IGFkZHJpbmZvIHJlczsgaSs9IShyZXMuYWlfc29ja3R5cGU9MCk7fQorICNlbmRpZgorICNpZm5kZWYgTk91bmFtZQorICB7c3RydWN0IHV0c25hbWUgdnV0c25hbWU7aSs9ISgqdnV0c25hbWUubm9kZW5hbWU9J1wwJyk7fQorQEAgLTkxNyw4ICs5MTUsNiBAQCBkbworICAgdGVzdCAteiAiJGkzIiAmJiBncmVwZm9yIG1vZGVfdCAndHlwZWRlZiBpbnQgbW9kZV90OycgJiYgaTM9SQorICAgdGVzdCAteiAiJGk0IiAmJiBncmVwZm9yIHVpZF90ICd0eXBlZGVmIGludCB1aWRfdDsnICYmIGk0PUkKKyAgIHRlc3QgLXogIiRpNSIgJiYgZ3JlcGZvciBnaWRfdCAndHlwZWRlZiBpbnQgZ2lkX3Q7JyAmJiBpNT1JCistICB0ZXN0IC16ICIkaTYiICYmIGdyZXBmb3IgaF9hZGRyX2xpc3QgJyNkZWZpbmUgaF8wYWRkcl9saXN0IGhfYWRkcicgJiYgaTY9SQorLSAgdGVzdCAteiAiJGk2IiAmJiBncmVwZm9yIGhvc3RlbnQgJyNkZWZpbmUgaF8wYWRkcl9saXN0IGhfYWRkcicgJiYgaTY9SQorICAgdGVzdCAteiAiJGk2IiAmJiBncmVwZm9yIG1lbWJlciAnI2RlZmluZSBoXzBhZGRyX2xpc3QgaF9hZGRyJyAmJiBpNj1JCisgICB0ZXN0IC16ICIkaTciICYmIGdyZXBmb3IgdXRzbmFtZSAiI2RlZmluZSBOT3VuYW1lCQkJICAgICAgXAorIC8qIDxzeXMvdXRzbmFtZS5oPiBpcyB0aGVyZSwgYnV0IGVtcHR5ICovIiAmJiBpNz1JCitAQCAtMTA0OCw4ICsxMDQ0LDEyIEBAIGludCBtYWluKCl7Y2hhciBhWzJdOworICB7c3RydWN0IHV0c25hbWUgYjt1bmFtZSgmYik7fQorICNlbmRpZgorICNpZm5kZWYgTk9fQ09NU0FUCistIGdldGhvc3RieW5hbWUoIjAiKTtnZXRwcm90b2J5bmFtZShDT01TQVRwcm90b2NvbCk7ZW5kaG9zdGVudCgpO2VuZHNlcnZlbnQoKTsKKy0gZW5kcHJvdG9lbnQoKTsKKysgeworKyBzdHJ1Y3QgYWRkcmluZm8gKnJlcywgaGludHM7CisrIG1lbXNldCgmaGludHMsICdcMCcsIHNpemVvZihoaW50cykpOworKyBpZihnZXRhZGRyaW5mbyhDT01TQVRob3N0LEJJRkZfc2VydmljZXBvcnQsJmhpbnRzLCZyZXMpKQorKyAJZnJlZWFkZHJpbmZvKHJlcyk7CisrIH0KKyAjZW5kaWYKKyAgX2V4aXQoMCk7CisgIHJldHVybiAwO30KK0BAIC0xMTAzLDE0ICsxMTAzLDkgQEAgZ3JlcGZvciB1bmFtZSAiXAorIC8qIDxzeXMvdXRzbmFtZS5oPiBkZWZpbmVzIGl0LCB0aGUgbGlicmFyaWVzIGRvbid0ICovIgorIGdyZXBmb3IgZW5kcHdlbnQgJyNkZWZpbmUgZW5kcHdlbnQoKScKKyBncmVwZm9yIGVuZGdyZW50ICcjZGVmaW5lIGVuZGdyZW50KCknCistaWYgZ3JlcGZvciBnZXRob3N0YnluYW1lICcjZGVmaW5lIE5PX0NPTVNBVCcKKytpZiBncmVwZm9yIGdldGFkZHJpbmZvICcjZGVmaW5lIE5PX0NPTVNBVCcKKyB0aGVuCisgOgorLWVsc2UKKy0gIGdyZXBmb3IgZ2V0cHJvdG9ieW5hbWUgJyNkZWZpbmUgVURQX3Byb3RvY29sbm8gMTcnCistICBncmVwZm9yIGVuZGhvc3RlbnQgJyNkZWZpbmUgZW5kaG9zdGVudCgpJworLSAgZ3JlcGZvciBlbmRzZXJ2ZW50ICcjZGVmaW5lIGVuZHNlcnZlbnQoKScKKy0gIGdyZXBmb3IgZW5kcHJvdG9lbnQgJyNkZWZpbmUgZW5kcHJvdG9lbnQoKScKKyBmaQorIGdyZXBmb3Igc3Ryc3RyICcjZGVmaW5lIFNMT1dzdHJzdHInIHx8CisgIGdyZXBmb3IgY2xvY2sgJyNkZWZpbmUgU0xPV3N0cnN0cicKK0BAIC0xMjM5LDM5ICsxMjM0LDkgQEAgaW50IG1haW4oYXJnYyxhcmd2KWludCBhcmdjO2NvbnN0IGNoYXIqYXJndltdOworIAlwcmludGYoIi8qIEluc3VmZmljaWVudCBtZW1vcnkgdG8gcGVyZm9ybSB0aGUgYmVuY2htYXJrISAqL1xuIik7CisgI2VuZGlmIC8qIFNMT1dzdHJzdHIgKi8KKyAjaWZuZGVmIE5PX0NPTVNBVAorLSNpZm5kZWYgVURQX3Byb3RvY29sbm8KKy0gICAgIDt7IGNvbnN0IHN0cnVjdCBwcm90b2VudCpwOworLQlpZihwPWdldHByb3RvYnluYW1lKENPTVNBVHByb3RvY29sKSkKKy0JIHsgcHJpbnRmKCIjZGVmaW5lIFVEUF9wcm90b2NvbG5vICVkXG4iLHAtPnBfcHJvdG8pOworLSNlbHNlCistICAgICA7eyBpZigxKQorLQkgeworLSNlbmRpZgorLQkgICA7eyBjb25zdCBzdHJ1Y3Qgc2VydmVudCpzZXJ2OworLQkgICAgICBpZihzZXJ2PWdldHNlcnZieW5hbWUoQ09NU0FUc2VydmljZSxDT01TQVRwcm90b2NvbCkpCistCQkgcHJpbnRmKCIjZGVmaW5lIEJJRkZfc2VydmljZXBvcnQgXCIlZFwiXG4iLAorLQkJICBudG9ocyhzZXJ2LT5zX3BvcnQpKTsKKy0JICAgIH0KKy0jaWZkZWYgQUZfSU5FVAorLQkgICA7eyBjb25zdCBzdHJ1Y3QgaG9zdGVudCpob3N0OworLQkgICAgICBpZighc3RyY21wKCJsb2NhbGhvc3QiLENPTVNBVGhvc3QpJiYKKy0JICAgICAgIChob3N0PWdldGhvc3RieW5hbWUoQ09NU0FUaG9zdCkpJiYKKy0JICAgICAgIGhvc3QtPmhfMGFkZHJfbGlzdCYmaG9zdC0+aF9hZGRydHlwZT09QUZfSU5FVCYmCistCSAgICAgICBob3N0LT5oX2xlbmd0aCkKKy0JICAgICAgIHsgaW50IGo9aG9zdC0+aF9sZW5ndGg7CistCQkgY29uc3QgdW5zaWduZWQgY2hhciphZD0odm9pZCopaG9zdC0+aF8wYWRkcl9saXN0OworLQkJIHByaW50ZigiI2RlZmluZSBJUF9sb2NhbGhvc3QgeyIpOworLQkJIHByaW50ZigiJWQiLCphZCsrKTsKKy0JCSB3aGlsZSgtLWopCistCQkgICAgcHJpbnRmKCIsJWQiLCphZCsrKTsKKy0JCSBwdXRzKCJ9Iik7CistCSAgICAgICB9CistCSAgICB9CisrI2lmbmRlZiBBRl9JTkVUCisrCXB1dHMoIiNkZWZpbmUgTk9fQ09NU0FUIik7CisgI2VuZGlmIC8qIEFGX0lORVQgKi8KKy0JIH0KKy0JZWxzZQorLQkgICBwdXRzKCIjZGVmaW5lIE5PX0NPTVNBVCIpOworLSAgICAgIH0KKyAjZW5kaWYgLyogTk9fQ09NU0FUICovCisgICAgICA7eyB1bnNpZ25lZCBsb25nIHM9KHNpemVfdCl+MDtpbnQgYml0czsKKyAJZm9yKGJpdHM9MTtzPj49MTtiaXRzKyspOworQEAgLTE0NzAsMTUgKzE0MzUsMTQgQEAgY2F0IC91c3IvbGliL3NlbmRtYWlsLmNmIC9ldGMvc2VuZG1haWwuY2YgL2V0Yy9tYWlsL3NlbmRtYWlsLmNmIDI+JERFVk5VTEwgfAorICBncmVwICdNbG9jYWwuKnByb2NtYWlsJyA+JERFVk5VTEwgfHwKKyAgZWNobyAnI2RlZmluZSBDRl9ub19wcm9jbWFpbF95ZXQnID4+JEFDT05GCisgCistY2F0IC91c3IvbGliL3NlbmRtYWlsLmNmIC9ldGMvc2VuZG1haWwuY2YgL2V0Yy9tYWlsL3NlbmRtYWlsLmNmIDI+JERFVk5VTEwgfAorLSBncmVwICdeVicgPiRERVZOVUxMIHx8CistIGVjaG8gJyNkZWZpbmUgYnVnZ3lfU0VORE1BSUwnID4+JEFDT05GCisrIyBjYXQgL3Vzci9saWIvc2VuZG1haWwuY2YgL2V0Yy9zZW5kbWFpbC5jZiAvZXRjL21haWwvc2VuZG1haWwuY2YgMj4kREVWTlVMTCB8CisrIyAgZ3JlcCAnXlYnID4kREVWTlVMTCB8fAorKyMgIGVjaG8gJyNkZWZpbmUgYnVnZ3lfU0VORE1BSUwnID4+JEFDT05GCisgCisgbHBhdGg9Jy9iaW4nCisgYmlucz0iL2JpbiIKKyAKKy1mb3IgbmV3ZCBpbiAvdXNyL2JpbiAvdXNyL3VjYiAvdXNyLzViaW4gJEJJTkRJUiAvbG9jYWwvYmluIC91c3IvbG9jYWwvYmluIFwKKy0gL2dsb2JhbC9iaW4gL3Vzci9iaW4vWDExIC91c3IvWCovYmluCisrZm9yIG5ld2QgaW4gL3Vzci9iaW4gJEJJTkRJUiAvdXNyL2Jpbi9YMTEgL3Vzci9YKi9iaW4KKyBkbworICAgaWYgdGVzdCAtZCAkbmV3ZAorICAgdGhlbgorZGlmZiAtLWdpdCBhL3NyYy9jb21zYXQuYyBiL3NyYy9jb21zYXQuYworaW5kZXggNzdkYmEzNC4uNTA4MmIxNiAxMDA2NDQKKy0tLSBhL3NyYy9jb21zYXQuYworKysrIGIvc3JjL2NvbXNhdC5jCitAQCAtMjcsNyArMjcsOCBAQCBzdGF0aWMgLypjb25zdCovY2hhciByY3NpZFtdPQorICNpbmNsdWRlICJjb21zYXQuaCIKKyAKKyBzdGF0aWMgaW50IGNzdmFsaWQ7CQkgICAgIC8qIGlzIGl0IHR1cm5lZCBvbiB3aXRoIGEgZ29vZCBhZGRyZXNzPyAqLworLXN0YXRpYyBzdHJ1Y3Qgc29ja2FkZHJfaW4gY3NhZGRyOworK3N0YXRpYyBzdHJ1Y3QgYWRkcmluZm8gY2FpOworK3N0YXRpYyBzdHJ1Y3Qgc29ja2FkZHIgKmNzYWRkcjsKKyBzdGF0aWMgY2hhcipjc2xhc3RmLCpjc2xnbmFtZTsKKyAKKyB2b2lkIHNldGxmY3MoZm9sZGVyKWNvbnN0IGNoYXIqZm9sZGVyOwkJLyogc2V0IGxhc3Rmb2xkZXIgZm9yIGNvbXNhdCAqLworQEAgLTYyLDU2ICs2MywzMiBAQCB2b2lkIHNldGxnY3MobmFtZSljb25zdCBjaGFyKm5hbWU7CQkgICAvKiBzZXQgbG9nbmFtZSBmb3IgY29tc2F0ICovCisgfQorIAorIGludCBzZXRjb21zYXQoY2hwKWNvbnN0IGNoYXIqY2hwOworLXsgY2hhcipjaGFkO2ludCBuZXd2YWxpZDsgc3RydWN0IHNvY2thZGRyX2luIG5ld2FkZHI7CisreyBjaGFyKmNoYWQ7aW50IG5ld3ZhbGlkOyBzdHJ1Y3QgYWRkcmluZm8gKnJlcywgaGludHM7CisgICBjaGFkPXN0cmNocihjaHAsU0VSVl9BRERSc2VwKTsJCQkgICAgIC8qIEAgc2VwYXJhdG9yPyAqLworICAgaWYoIWNoYWQmJiFyZW52aW50KC0xTCxjaHApKQorICAgICAgcmV0dXJuIGNzdmFsaWQ9MDsJCQkJCS8qIHR1cm5lZCBvZmYgY29tc2F0ICovCisgICBuZXd2YWxpZD0xOworICAgaWYoY2hhZCkKKyAgICAgICpjaGFkKys9J1wwJzsJCQkJICAgICAgLyogc3BsaXQgdGhlIHNwZWNpZmllciAqLworKyAgaWYoIWNoYWR8fCEqY2hwKQkJCQkJICAgICAgIC8qIG5vIHNlcnZpY2UgKi8KKysgICAgIGNocD1CSUZGX3NlcnZpY2Vwb3J0OwkJCQkvKiBuZXcgYmFsbHMgcGxlYXNlISAqLworICAgaWYoIWNoYWR8fCEqY2hhZCkJCQkJCQkgIC8qIG5vIGhvc3QgKi8KKy0jaWZuZGVmIElQX2xvY2FsaG9zdAkJCSAgICAgIC8qIElzICJsb2NhbGhvc3QiIHByZXJlc29sdmVkPyAqLworICAgICAgY2hhZD1DT01TQVRob3N0OwkJCQkJLyogbm9wZSwgdXNlIGRlZmF1bHQgKi8KKy0jZWxzZSAvKiBJUF9sb2NhbGhvc3QgKi8KKy0gICB7IHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGlwX2xvY2FsaG9zdFtdPUlQX2xvY2FsaG9zdDsKKy0gICAgIG5ld2FkZHIuc2luX2ZhbWlseT1BRl9JTkVUOworLSAgICAgdG1lbW1vdmUoJm5ld2FkZHIuc2luX2FkZHIsaXBfbG9jYWxob3N0LHNpemVvZiBpcF9sb2NhbGhvc3QpOworLSAgIH0KKy0gIGVsc2UKKy0jZW5kaWYgLyogSVBfbG9jYWxob3N0ICovCistICAgeyBjb25zdCBzdHJ1Y3QgaG9zdGVudCpob3N0OwkJICAgICAgLyogd2hhdCBob3N0PyAgcGFyYW5vaWQgY2hlY2tzICovCistICAgICBpZighKGhvc3Q9Z2V0aG9zdGJ5bmFtZShjaGFkKSl8fCFob3N0LT5oXzBhZGRyX2xpc3QpCistICAgICAgeyBiYnplcm8oJm5ld2FkZHIuc2luX2FkZHIsc2l6ZW9mIG5ld2FkZHIuc2luX2FkZHIpOworLQluZXd2YWxpZD0wOwkJCSAgICAgLyogaG9zdCBjYW4ndCBiZSBmb3VuZCwgdG9vIGJhZCAqLworLSAgICAgIH0KKy0gICAgIGVsc2UKKy0gICAgICB7IG5ld2FkZHIuc2luX2ZhbWlseT1ob3N0LT5oX2FkZHJ0eXBlOwkgICAgIC8qIGFkZHJlc3MgbnVtYmVyIGZvdW5kICovCistCXRtZW1tb3ZlKCZuZXdhZGRyLnNpbl9hZGRyLGhvc3QtPmhfMGFkZHJfbGlzdCxob3N0LT5oX2xlbmd0aCk7CistICAgICAgfQorLSAgICAgZW5kaG9zdGVudCgpOworLSAgIH0KKy0gIGlmKG5ld3ZhbGlkKQkJCQkJCSAgLyogc28gZmFyLCBzbyBnb29kICovCistICAgeyBpbnQgczsKKy0gICAgIGlmKCEqY2hwKQkJCQkJCSAgICAgICAvKiBubyBzZXJ2aWNlICovCistCWNocD1CSUZGX3NlcnZpY2Vwb3J0OwkJCQkvKiBuZXcgYmFsbHMgcGxlYXNlISAqLworLSAgICAgcz1zdHJ0b2woY2hwLCZjaGFkLDEwKTsKKy0gICAgIGlmKGNocCE9Y2hhZCkJCQkgICAgICAgLyogdGhlIHNlcnZpY2UgaXMgbm90IG51bWVyaWMgKi8KKy0JbmV3YWRkci5zaW5fcG9ydD1odG9ucygoc2hvcnQpcyk7CQkgICAgLyogbmV0d29yayBvcmRlciAqLworLSAgICAgZWxzZQorLSAgICAgIHsgY29uc3Qgc3RydWN0IHNlcnZlbnQqc2VydjsKKy0Jc2Vydj1nZXRzZXJ2YnluYW1lKGNocCxDT01TQVRwcm90b2NvbCk7CQkgICAvKiBzbyBnZXQgaXRzIG5vLiAqLworLQlpZihzZXJ2KQorLQkgICBuZXdhZGRyLnNpbl9wb3J0PXNlcnYtPnNfcG9ydDsKKy0JZWxzZQorLQkgeyBuZXdhZGRyLnNpbl9wb3J0PWh0b25zKChzaG9ydCkwKTsJCSAgLyogbm8gc3VjaCBzZXJ2aWNlICovCistCSAgIG5ld3ZhbGlkPTA7CistCSB9CistCWVuZHNlcnZlbnQoKTsKKy0gICAgICB9CistICAgfQorKyAgYnplcm8oJmhpbnRzLHNpemVvZihoaW50cykpOworKyAgaGludHMuYWlfc29ja3R5cGU9U09DS19ER1JBTTsKKysgIGhpbnRzLmFpX2ZsYWdzPUFJX0FERFJDT05GSUc7CisrICBpZihnZXRhZGRyaW5mbyhjaGFkLGNocCwmaGludHMsJnJlcykpCisrICAgICBuZXd2YWxpZD0wOworKyAgCisgICBvbmd1YXJkKCk7CQkJCSAgICAvKiB1cGRhdGUgdGhlIGFkZHJlc3MgYXRvbWljYWxseSAqLworICAgaWYoY3N2YWxpZD1uZXd2YWxpZCkKKy0gICAgIHRtZW1tb3ZlKCZjc2FkZHIsJm5ld2FkZHIsc2l6ZW9mKG5ld2FkZHIpKTsKKysgICB7IGlmKGNzYWRkcikKKysgICAgICAgIGZyZWUoY3NhZGRyKTsKKysgICAgIGNzYWRkcj1tYWxsb2MocmVzLT5haV9hZGRybGVuKTsKKysgICAgIHRtZW1tb3ZlKGNzYWRkcixyZXMtPmFpX2FkZHIscmVzLT5haV9hZGRybGVuKTsKKysgICAgIHRtZW1tb3ZlKCZjYWkscmVzLHNpemVvZihjYWkpKTsKKysgICAgIGZyZWVhZGRyaW5mbyhyZXMpOworKyAgIH0KKyAgIG9mZmd1YXJkKCk7CisgICByZXR1cm4gbmV3dmFsaWQ7CisgfQorQEAgLTEyMCw3ICs5Nyw3IEBAIHZvaWQgc2VuZGNvbXNhdChmb2xkZXIpY29uc3QgY2hhcipmb2xkZXI7CisgeyBpbnQgcztjb25zdCBjaGFyKnA7CisgICBpZighY3N2YWxpZHx8IWJ1ZikJCSAgLyogaXMgY29tYXQgb24gYW5kIHNldCB0byBhIHZhbGlkIGFkZHJlc3M/ICovCisgICAgICByZXR1cm47CistICBpZighKmNzbGduYW1lfHxzdHJsZW4oY3NsZ25hbWUpKzI+bGluZWJ1ZikJICAgICAgIC8qIGlzICRMT0dOQU1FIGJvZ3VzPyAqLworKyAgaWYoIWNzbGduYW1lfHwhKmNzbGduYW1lfHxzdHJsZW4oY3NsZ25hbWUpKzI+bGluZWJ1ZikvKiBpcyAkTE9HTkFNRSBib2d1cz8gKi8KKyAgICAgIHJldHVybjsKKyAgIGlmKCEocD1mb2xkZXI/Zm9sZGVyOmNzbGFzdGYpKQkJICAgICAvKiBkbyB3ZSBoYXZlIGEgZm9sZGVyPyAqLworICAgICAgcmV0dXJuOworQEAgLTEzMiw4ICsxMDksOCBAQCB2b2lkIHNlbmRjb21zYXQoZm9sZGVyKWNvbnN0IGNoYXIqZm9sZGVyOworICAgIH0KKyAgIHN0cmxjYXQoYnVmLENPTVNBVHh0cnNlcCxsaW5lYnVmKTsJCQkgLyogY3VzdG9tIHNlcGVyYXRvciAqLworICAgc3RybGNhdChidWYscCxsaW5lYnVmKTsJCQkgIC8qIHdoZXJlIHdhcyBpdCBkZWxpdmVyZWQ/ICovCistICBpZigocz1zb2NrZXQoQUZfSU5FVCxTT0NLX0RHUkFNLFVEUF9wcm90b2NvbG5vKSk+PTApCistICAgeyBzZW5kdG8ocyxidWYsc3RybGVuKGJ1ZiksMCwoc3RydWN0IHNvY2thZGRyKikmY3NhZGRyLHNpemVvZihjc2FkZHIpKTsKKysgIGlmKChzPXNvY2tldChjYWkuYWlfZmFtaWx5LGNhaS5haV9zb2NrdHlwZSxjYWkuYWlfcHJvdG9jb2wpKT49MCkKKysgICB7IHNlbmR0byhzLGJ1ZixzdHJsZW4oYnVmKSwwLGNzYWRkcixjYWkuYWlfYWRkcmxlbik7CisgICAgICByY2xvc2Uocyk7CisgICAgICB5ZWxsKCJOb3RpZmllZCBjb21zYXQ6IixidWYpOworICAgIH0KK2RpZmYgLS1naXQgYS9zcmMvZmllbGRzLmMgYi9zcmMvZmllbGRzLmMKK2luZGV4IGEyYmQ3N2YuLjM3ZWQxNTQgMTAwNjQ0CistLS0gYS9zcmMvZmllbGRzLmMKKysrKyBiL3NyYy9maWVsZHMuYworQEAgLTExMCwxNiArMTEwLDE2IEBAIHZvaWQgZGlzcGZpZWxkKHApcmVnaXN0ZXIgY29uc3Qgc3RydWN0IGZpZWxkKnA7CisgCQkgICAgLyogdHJ5IGFuZCBhcHBlbmQgb25lIHZhbGlkIGZpZWxkIHRvIHJkaGVhZGVyIGZyb20gc3RkaW4gKi8KKyBpbnQgcmVhZGhlYWQgUCgodm9pZCkpCisgeyBpbnQgaWRsZW47CistICBnZXRsaW5lKCk7CisrICBnZXRfbGluZSgpOworICAgaWYoKGlkbGVuPWJyZWFrZmllbGQoYnVmLGJ1ZmZpbGxlZCkpPD0wKSAvKiBub3QgdGhlIHN0YXJ0IG9mIGEgdmFsaWQgZmllbGQgKi8KKyAgICAgIHJldHVybiAwOworICAgaWYoaWRsZW49PVNUUkxFTihGUk9NKSYmZXFGcm9tXyhidWYpKQkJCS8qIGl0J3MgYSBGcm9tXyBsaW5lICovCisgICAgeyBpZihyZGhlYWRlcikKKyAJcmV0dXJuIDA7CQkJICAgICAgIC8qIHRoZSBGcm9tXyBsaW5lIHdhcyBhIGZha2UhICovCistICAgICBmb3IoO2J1Zmxhc3Q9PSc+JztnZXRsaW5lKCkpOwkgICAgLyogZ2F0aGVyIGNvbnRpbnVlZCA+RnJvbV8gbGluZXMgKi8KKysgICAgIGZvcig7YnVmbGFzdD09Jz4nO2dldF9saW5lKCkpOwkgICAgLyogZ2F0aGVyIGNvbnRpbnVlZCA+RnJvbV8gbGluZXMgKi8KKyAgICB9CisgICBlbHNlCistICAgICBmb3IoOztnZXRsaW5lKCkpCQkgICAgICAvKiBnZXQgdGhlIHJlc3Qgb2YgdGhlIGNvbnRpbnVlZCBmaWVsZCAqLworKyAgICAgZm9yKDs7Z2V0X2xpbmUoKSkJCSAgICAgIC8qIGdldCB0aGUgcmVzdCBvZiB0aGUgY29udGludWVkIGZpZWxkICovCisgICAgICAgeyBzd2l0Y2goYnVmbGFzdCkJCQkgICAgIC8qIHdpbGwgdGhpcyBsaW5lIGJlIGNvbnRpbnVlZD8gKi8KKyAJIHsgY2FzZSAnICc6Y2FzZSAnXHQnOgkJCQkgIC8qIHllcCwgaXQgc3VyZSBpcyAqLworIAkgICAgICBjb250aW51ZTsKK2RpZmYgLS1naXQgYS9zcmMvZm9sZGluZm8uaCBiL3NyYy9mb2xkaW5mby5oCitpbmRleCA5ZTRlYmI2Li43OTdmOWJlIDEwMDY0NAorLS0tIGEvc3JjL2ZvbGRpbmZvLmgKKysrKyBiL3NyYy9mb2xkaW5mby5oCitAQCAtMTAsNyArMTAsNyBAQAorIAorICNkZWZpbmUgZnRfbG9jayh0eXBlKQkgICAoKHR5cGUpPmZ0X01BSUxESVIpCQkgICAvKiBrZXJuZWwgbG9jayBmZCAqLworICNkZWZpbmUgZnRfYXRpbWUodHlwZSkJICAgKCh0eXBlKT09ZnRfRklMRSkJICAgICAgLyogZm9yY2UgYXRpbWUgPCBtdGltZSAqLworLSNkZWZpbmUgZnRfZG90bG9jayh0eXBlKSAgICgodHlwZSk9PWZ0X0ZJTEUpCQkgLyogZG90bG9jayAkREVGQVVMVCAqLworKyNkZWZpbmUgZnRfZG90bG9jayh0eXBlKSAgICgodHlwZSk+ZnRfTUFJTERJUikJCSAvKiBkb3Rsb2NrICRERUZBVUxUICovCisgI2RlZmluZSBmdF9kZWxpbSh0eXBlKQkgICAoKHR5cGUpPT1mdF9GSUxFKQkJICAgLyogYWRkIE1NREYgZGVsaW0gKi8KKyAjZGVmaW5lIGZ0X2NoZWNrY2xvc2VyKHR5cGUpICgodHlwZSk+ZnRfTUgpCisgI2RlZmluZSBmdF9mb3JjZWJsYW5rKHR5cGUpICgodHlwZSkhPWZ0X01BSUxESVIpICAvKiBmb3JjZSBibGFuayBsaW5lIGF0IGVuZCAqLworZGlmZiAtLWdpdCBhL3NyYy9mb3JtYWlsLmMgYi9zcmMvZm9ybWFpbC5jCitpbmRleCBmZTVlNmJlLi4xZjVjOWRkIDEwMDY0NAorLS0tIGEvc3JjL2Zvcm1haWwuYworKysrIGIvc3JjL2Zvcm1haWwuYworQEAgLTc1OCw5ICs3NTgsOSBAQCBzdGFydG92ZXI6CisgCWxwdXRzc24oYnVmLGJ1ZmZpbGxlZCksY3RsZW5ndGgtPWJ1ZmZpbGxlZCxidWZmaWxsZWQ9bG5sPTA7CisgICAgICA7eyBpbnQgdGJsPWJ1Zmxhc3QsbHdyPSdcbic7CisgCXdoaWxlKC0tY3RsZW5ndGg+PTAmJnRibCE9RU9GKQkgICAgICAgLyogc2tpcCBDb250ZW50LUxlbmd0aDogYnl0ZXMgKi8KKy0JICAgbG5sPWx3cj09dGJsJiZsd3I9PSdcbicscHV0Y3MobHdyPXRibCksdGJsPWdldGNoYXIoKTsKKysJICAgbG5sPWx3cj09dGJsJiZsd3I9PSdcbicsbHB1dGNzKGx3cj10YmwpLHRibD1nZXRjaGFyKCk7CisgCWlmKChidWZsYXN0PXRibCk9PSdcbicmJmx3ciE9dGJsKQkvKiBqdXN0IGJlZm9yZSBhIGxpbmUgYnJlYWs/ICovCistCSAgIHB1dGNzKCdcbicpLGJ1Zmxhc3Q9Z2V0Y2hhcigpOwkJLyogd3JhcCB1cCBsb29zZSBlbmQgKi8KKysJICAgbHB1dGNzKCdcbicpLGJ1Zmxhc3Q9Z2V0Y2hhcigpOwkJLyogd3JhcCB1cCBsb29zZSBlbmQgKi8KKyAgICAgICB9CisgICAgICBpZighcXVpZXQmJmN0bGVuZ3RoPjApCisgICAgICAgeyBjaGFyTlVNKG51bSxjdGxlbmd0aCk7CitAQCAtODE5LDcgKzgxOSw3IEBAIHNwbGl0aXQ6ICAgICAgIHsgaWYoIWxubCkgICAvKiBkaWQgdGhlIHByZXZpb3VzIG1haWwgZW5kIHdpdGggYW4gZW1wdHkgbGluZT8gKi8KKyAgICAgICB7IGlmKHNwbGl0KQkJICAgICAgIC8qIGdvYmJsZSB1cCB0aGUgbmV4dCBzdGFydCBzZXBhcmF0b3IgKi8KKyAJIHsgYnVmZmlsbGVkPTA7CisgI2lmZGVmIHNNQUlMQk9YX1NFUEFSQVRPUgorLQkgICBnZXRsaW5lKCk7YnVmZmlsbGVkPTA7CQkgLyogYnV0IG9ubHkgaWYgaXQncyBkZWZpbmVkICovCisrCSAgIGdldF9saW5lKCk7YnVmZmlsbGVkPTA7CQkgLyogYnV0IG9ubHkgaWYgaXQncyBkZWZpbmVkICovCisgI2VuZGlmCisgCSAgIGlmKGJ1Zmxhc3QhPUVPRikJCQkJCSAgIC8qIGlmIGFueSAqLworIAkgICAgICBnb3RvIHNwbGl0aXQ7CitkaWZmIC0tZ2l0IGEvc3JjL2Zvcm1pc2MuYyBiL3NyYy9mb3JtaXNjLmMKK2luZGV4IGQ2Y2FiOTAuLjMzODczM2IgMTAwNjQ0CistLS0gYS9zcmMvZm9ybWlzYy5jCisrKysgYi9zcmMvZm9ybWlzYy5jCitAQCAtMTE1LDcgKzExNSw3IEBAIHZvaWQgbG9hZGNoYXIoYyljb25zdCBpbnQgYzsJCSAgICAgIC8qIGFwcGVuZCBvbmUgY2hhcmFjdGVyIHRvIGJ1ZiAqLworICAgYnVmW2J1ZmZpbGxlZCsrXT1jOworIH0KKyAKKy1pbnQgZ2V0bGluZSBQKCh2b2lkKSkJCQkgICAvKiByZWFkIGEgbmV3bGluZS10ZXJtaW5hdGVkIGxpbmUgKi8KKytpbnQgZ2V0X2xpbmUgUCgodm9pZCkpCQkJICAgLyogcmVhZCBhIG5ld2xpbmUtdGVybWluYXRlZCBsaW5lICovCisgeyBpZihidWZsYXN0PT1FT0YpCQkJIC8qIGF0IHRoZSBlbmQgb2Ygb3VyIExhdGluIGFscmVhZHk/ICovCisgICAgeyBsb2FkY2hhcignXG4nKTsJCQkJCSAgLyogZmFrZSBlbXB0eSBsaW5lICovCisgICAgICByZXR1cm4gRU9GOwkJCQkJICAvKiBzcHJlYWQgdGhlIHdvcmQgKi8KK2RpZmYgLS1naXQgYS9zcmMvZm9ybWlzYy5oIGIvc3JjL2Zvcm1pc2MuaAoraW5kZXggMWM0Y2EyMC4uZjI1MjExYyAxMDA2NDQKKy0tLSBhL3NyYy9mb3JtaXNjLmgKKysrKyBiL3NyYy9mb3JtaXNjLmgKK0BAIC0xNyw0ICsxNyw0IEBAIHZvaWQKKyBjaGFyKgorICBza2lwd29yZHMgUCgoY2hhcipzdGFydCkpOworIGludAorLSBnZXRsaW5lIFAoKHZvaWQpKTsKKysgZ2V0X2xpbmUgUCgodm9pZCkpOworZGlmZiAtLWdpdCBhL3NyYy9tYWlsZm9sZC5jIGIvc3JjL21haWxmb2xkLmMKK2luZGV4IDkxN2I1MDIuLjZjOGJjZjQgMTAwNjQ0CistLS0gYS9zcmMvbWFpbGZvbGQuYworKysrIGIvc3JjL21haWxmb2xkLmMKK0BAIC0zMCw2ICszMCw3IEBAIHN0YXRpYyAvKmNvbnN0Ki9jaGFyIHJjc2lkW109CisgCisgaW50IGxvZ29wZW5lZCxyYXdub25sOworIG9mZl90IGxhc3R0ZWxsOworK3N0YXRpYyBpbnQgdHJ1bmNlZDsKKyBzdGF0aWMgbG9uZyBsYXN0ZHVtcDsKKyBzdGF0aWMgdm9sYXRpbGUgaW50IG1haWxyZWFkOwkvKiBpZiB0aGUgbWFpbCBpcyBjb21wbGV0ZWx5IHJlYWQgaW4gYWxyZWFkeSAqLworIHN0YXRpYyBzdHJ1Y3QgZHluYV9hcnJheSBjb25maWVsZDsJCSAgLyogZXNjYXBlcywgY29uY2F0ZW5hdGlvbnMgKi8KK0BAIC04MSw2ICs4Miw3IEBAIGxvbmcgZHVtcChzLHR5cGUsc291cmNlLGxlbiljb25zdCBpbnQgcyx0eXBlO2NvbnN0IGNoYXIqc291cmNlOworICBsb25nIGxlbjsKKyB7IGludCBpO2xvbmcgcGFydDsKKyAgIGxhc3R0ZWxsPWk9IC0xO1NFVGVycm5vKEVCQURGKTsKKysgIHRydW5jZWQ9MDsKKyAgIGlmKHM+PTApCisgICAgeyBpZihmdF9sb2NrKHR5cGUpJiYobHNlZWsocywob2ZmX3QpMCxTRUVLX0VORCksZmRsb2NrKHMpKSkKKyAJbmxvZygiS2VybmVsLWxvY2sgZmFpbGVkXG4iKTsKK0BAIC0xMjAsMTMgKzEyMiwxOCBAQCBqaW46CXdoaWxlKHBhcnQmJihpPXJ3cml0ZShzLHNvdXJjZSxCTEtTSVo8cGFydD9CTEtTSVo6KGludClwYXJ0KSkpCisgICAgICAgfQorIHdyaXRlZmluOgorICAgICAgaT10eXBlIT1mdF9QSVBFJiZmc3luYyhzKSYmZXJybm8hPUVJTlZBTDsJICAvKiBFSU5WQUwgPT4gd2Fzbid0IGEgZmlsZSAqLworKyAgICAgaWYgKChpfHxsZW4pJiZsYXN0dGVsbD49MCkKKysgICAgICB7IGludCBzZXJybm89ZXJybm87CisrCWlmKCFmdHJ1bmNhdGUocyxsYXN0dGVsbCkpIHRydW5jZWQ9MTsKKysJU0VUZXJybm8oc2Vycm5vKTsKKysgICAgICB9CisgICAgICBpZihmdF9sb2NrKHR5cGUpKQorICAgICAgIHsgaW50IHNlcnJubz1lcnJubzsJCSAgICAgICAvKiBzYXZlIGFueSBlcnJvciBpbmZvcm1hdGlvbiAqLworIAlpZihmZHVubG9jaygpKQorIAkgICBubG9nKCJLZXJuZWwtdW5sb2NrIGZhaWxlZFxuIik7CisgCVNFVGVycm5vKHNlcnJubyk7CisgICAgICAgfQorLSAgICAgaT1yY2xvc2Uocyl8fGk7CisrICAgICBpPXJjbG9zZShzKXx8aTsgLyogaWYgdGhpcyBmYWlscywgd2Ugc2hvdWxkIHRydW5jYXRlLCBidXQgaXQncyB0b28gbGF0ZSAqLworICAgIH0JCQkgICAvKiByZXR1cm4gYW4gZXJyb3IgZXZlbiBpZiBub3RoaW5nIHdhcyB0byBiZSBzZW50ICovCisgICByZXR1cm4gaSYmIWxlbj8tMTpsZW47CisgfQorQEAgLTIzNyw3ICsyNDQsNyBAQCBkdW1wZjoJIHsgc3dpdGNoKGVycm5vKQorICNlbmRpZgorIAkgICAgICBkZWZhdWx0OndyaXRlZXJyKGJ1Zik7CisgCSAgICB9CistCSAgIGlmKGxhc3R0ZWxsPj0wJiYhdHJ1bmNhdGUoYm94bmFtZSxsYXN0dGVsbCkmJihsb2dvcGVuZWR8fHZlcmJvc2UpKQorKwkgICBpZihsYXN0dGVsbD49MCYmdHJ1bmNlZCYmKGxvZ29wZW5lZHx8dmVyYm9zZSkpCisgCSAgICAgIG5sb2coIlRydW5jYXRlZCBmaWxlIHRvIGZvcm1lciBzaXplXG4iKTsJICAgIC8qIHVuZG8gZ2FyYmFnZSAqLworIHJldDA6CSAgIHJldHVybiAwOworIAkgfQorQEAgLTM3OCw3ICszODUsOCBAQCB2b2lkIHJlYWRtYWlsKHJoZWFkLHRvYmVzZW50KWNvbnN0IGxvbmcgdG9iZXNlbnQ7CisgCWRmaWxsZWQ9bWFpbHJlYWQ9MDsKKyAgICAgIGVsc2UgaWYocmhlYWQpCQkJCS8qIG9ubHkgcmVhZCBpbiBhIG5ldyBoZWFkZXIgKi8KKyAgICAgICB7IG1lbWJsayBuZXc7CistCWRmaWxsZWQ9bWFpbHJlYWQ9MDttYWtlYmxvY2soJm5ldywwKTtyZWFkZHluKCZuZXcsJmRmaWxsZWQsMCk7CisrCWRmaWxsZWQ9bWFpbHJlYWQ9MDttYWtlYmxvY2soJm5ldywwKTsKKysJcmVhZGR5bigmbmV3LCZkZmlsbGVkLHRoZWJvZHktdGhlbWFpbC5wKTsKKyAJaWYodG9iZXNlbnQ+ZGZpbGxlZCYmaXNwcml2YXRlKQkJICAgICAvKiBwdXQgaXQgaW4gcGxhY2UgaGVyZSAqLworIAkgeyB0bWVtbW92ZSh0aGVtYWlsLnArZGZpbGxlZCx0aGVib2R5LGZpbGxlZC09dG9iZXNlbnQpOworIAkgICB0bWVtbW92ZSh0aGVtYWlsLnAsbmV3LnAsZGZpbGxlZCk7CitkaWZmIC0tZ2l0IGEvc3JjL21hbmNvbmYuYyBiL3NyYy9tYW5jb25mLmMKK2luZGV4IGE5ZTlmMWMuLjVjOGVjMzYgMTAwNjQ0CistLS0gYS9zcmMvbWFuY29uZi5jCisrKysgYi9zcmMvbWFuY29uZi5jCitAQCAtMjMzLDcgKzIzMyw3IEBAIGEgc2VjdXJpdHkgdmlvbGF0aW9uIHdhcyBmb3VuZCAoZS5nLiBcMS5CIFwyLUBQUkVTRVJWT1BUQFwxb3IgdmFyaWFibGVcCisgIFwyLUBQUkVTRVJWT1BUQFwxYW5kXDEuQlIgXDItQEZST01XSE9QVEAgLlwxIik7CisgICBwYygiTE1UUE9QVCIsTE1UUE9QVCk7CisgI2Vsc2UKKy0gIHBzKCJMTVRQT1BUZGVzYyIsIiIpO3BzKCJMTVRQdXNhZ2UiLCIiKTsKKysgIHBzKCJMTVRQT1BUZGVzYyIsIiIpO3BzKCJMTVRQdXNhZ2UiLCJcMSIpOworICNlbmRpZgorICAgcG5hbWUoIklOSVRfVU1BU0siLDApO3ByaW50ZigiMCVsby9nXG4iLCh1bnNpZ25lZCBsb25nKUlOSVRfVU1BU0spO2xpbmVzLS07CisgICBwbigiREVGbGluZWJ1ZiIsREVGbGluZWJ1Zik7CitkaWZmIC0tZ2l0IGEvc3JjL21lbWJsay5jIGIvc3JjL21lbWJsay5jCitpbmRleCBlMmYxM2YwLi45N2UwMmQzIDEwMDY0NAorLS0tIGEvc3JjL21lbWJsay5jCisrKysgYi9zcmMvbWVtYmxrLmMKK0BAIC01MSwxMSArNTEsMTEgQEAgdm9pZCBsb2NrYmxvY2sobWIpbWVtYmxrKmNvbnN0IG1iOworIHsKKyAjaWZkZWYgVVNFX01NQVAKKyAgIGlmKG1iLT5mZD49MCkKKy0gICB7IGxvbmcgbGVuPW1iLT5sZW4rMTsKKy0gICAgIGlmKG11bm1hcChtYi0+cCxsZW4pKQorLQltbWFwZmFpbGVkKGxlbik7CQkgICAgICAvKiBkb24ndCB3YW50IHRvIGNvbnRpbnVlIGhlcmUgKi8KKy0gICAgIGlmKChtYi0+cD1tbWFwKDAsbGVuLFBST1RfUkVBRCxNQVBfUFJJVkFURSxtYi0+ZmQsKG9mZl90KTApKT09TUFQX0ZBSUxFRCkKKy0JbW1hcGZhaWxlZChsZW4pOworKyAgIHsgbG9uZyBtbGVuPW1iLT5sZW4rMTsKKysgICAgIGlmKG11bm1hcChtYi0+cCxtbGVuKSkKKysJbW1hcGZhaWxlZChtbGVuKTsJCSAgICAgIC8qIGRvbid0IHdhbnQgdG8gY29udGludWUgaGVyZSAqLworKyAgICAgaWYoKG1iLT5wPW1tYXAoMCxtbGVuLFBST1RfUkVBRCxNQVBfUFJJVkFURSxtYi0+ZmQsKG9mZl90KTApKT09TUFQX0ZBSUxFRCkKKysJbW1hcGZhaWxlZChtbGVuKTsKKyAgICAgIGNsb3NlKG1iLT5mZCk7CisgICAgICBtYi0+ZmQ9cm9wZW4oZGV2bnVsbCxPX1JEV1IsMCk7CQkvKiBYWFggUGVyaGFwcyAtMSBpcyBiZXR0ZXI/ICovCisgICAgfQorQEAgLTc3LDggKzc3LDggQEAgaW50IHJlc2l6ZWJsb2NrKG1iLGxlbixub25mYXRhbCltZW1ibGsqY29uc3QgbWI7Y29uc3QgbG9uZyBsZW47CisgICAgICBzdHJjcHkoZmlsZW5hbWUsTU1BUF9ESVIpOworICAgICAgaWYodW5pcXVlKGZpbGVuYW1lLHN0cmNocihmaWxlbmFtZSwnXDAnKSxNTUFQX0ZJTEVfTEVOLE1NQVBfUEVSTSwwLDApJiYKKyAJKG1iLT5mZD1yb3BlbihmaWxlbmFtZSxPX1JEV1IsTU1BUF9QRVJNKSx1bmxpbmsoZmlsZW5hbWUpLG1iLT5mZD49MCkpCistICAgICAgeyBtYi0+ZmlsZWxlbj1sZW47CistCWlmKGxzZWVrKG1iLT5mZCxtYi0+ZmlsZWxlbi0xLFNFRUtfU0VUKTwwfHwxIT1yd3JpdGUobWItPmZkLGVtcHR5LDEpKQorKyAgICAgIHsgbWItPmZpbGVsZW49bGVuKzE7CisrCWlmKGxzZWVrKG1iLT5mZCxsZW4sU0VFS19TRVQpPDB8fDEhPXJ3cml0ZShtYi0+ZmQsZW1wdHksMSkpCisgZHJvcGY6CSB7IGNsb3NlKG1iLT5mZCk7bWItPmZkPSAtMTsKKyAJICAgaWYodmVyYm9zZSlubG9nKCJVbmFibGUgdG8gZXh0ZW5kIG9yIHVzZSB0ZW1wZmlsZSIpOworIAkgfQorQEAgLTk4LDkgKzk4LDkgQEAgZHJvcGY6CSB7IGNsb3NlKG1iLT5mZCk7bWItPmZkPSAtMTsKKyAgICAgICB9CisgICAgfQorICAgaWYobWItPmZkPj0wKQorLSAgIHsgaWYobGVuPm1iLT5maWxlbGVuKQkJCQkgIC8qIG5lZWQgdG8gZXh0ZW5kPyAqLworLSAgICAgIHsgbWItPmZpbGVsZW49bGVuOworLQlpZihsc2VlayhtYi0+ZmQsbWItPmZpbGVsZW4tMSxTRUVLX1NFVCk8MHx8MSE9cndyaXRlKG1iLT5mZCxlbXB0eSwxKSkKKysgICB7IGlmKGxlbj49bWItPmZpbGVsZW4pCQkJCSAgLyogbmVlZCB0byBleHRlbmQ/ICovCisrICAgICAgeyBtYi0+ZmlsZWxlbj1sZW4rMTsKKysJaWYobHNlZWsobWItPmZkLGxlbixTRUVLX1NFVCk8MHx8MSE9cndyaXRlKG1iLT5mZCxlbXB0eSwxKSkKKyAJIHsgY2hhcipwPW1hbGxvYyhsZW4rMSk7CSAgIC8qIGNhbid0IGV4dGVuZCwgc3dpdGNoIHRvIG1hbGxvYyAqLworIAkgICB0bWVtbW92ZShwLG1iLT5wLG1iLT5sZW4pOworIAkgICBtdW5tYXAobWItPnAsbWItPmxlbisxKTsKK0BAIC0xMjQsOSArMTI0LDkgQEAgbW1hcDoJaWYoKG1iLT5wPW1tYXAoMCxsZW4rMSxQX1JXLE1BUF9TSEFSRUQsbWItPmZkLChvZmZfdCkwKSk9PU1BUF9GQUlMRUQpCisgICAgfQorICAgZWxzZQorICAgICAgbWItPnA9cmVhbGxvYyhtYi0+cCxsZW4rMSk7CistICBtYi0+bGVuPWxlbisxOworLSAgbWItPnBbbGVuXT0nXDAnOworKyAgbWItPmxlbj1sZW47CisgcmV0MToKKysgIG1iLT5wW2xlbl09J1wwJzsKKyAgIHJldHVybiAxOworIH0KKyAKK2RpZmYgLS1naXQgYS9zcmMvbWVtYmxrLmggYi9zcmMvbWVtYmxrLmgKK2luZGV4IDZmZDFkMWQuLmI1N2YzNjkgMTAwNjQ0CistLS0gYS9zcmMvbWVtYmxrLmgKKysrKyBiL3NyYy9tZW1ibGsuaAorQEAgLTEsNiArMSw2IEBACisgdHlwZWRlZiBzdHJ1Y3QgbWVtYmxrIHsKKyAgICAgY2hhcipwOwkJCQkJCSAgLyogd2hlcmUgaXQgc3RhcnRzICovCistICAgIGxvbmcgbGVuOwkJCQkJIC8qIGN1cnJlbnRseSBhbGxvY2F0ZWQgc2l6ZSAqLworKyAgICBsb25nIGxlbjsJCQkgLyogY3VycmVudCBzaXplLCBub3QgaW5jbHVkaW5nIHRyYWlsaW5nIE5VTCAqLworICNpZmRlZiBVU0VfTU1BUAorICAgICBvZmZfdCBmaWxlbGVuOwkJCQkgICAgIC8qIGhvdyBsb25nIGlzIHRoZSBmaWxlICovCisgICAgIGludCBmZDsJCQkJCSAgIC8qIGZpbGUgd2hpY2ggaXMgbW1hcCgpZWQgKi8KK2RpZmYgLS1naXQgYS9zcmMvbmV0d29yay5oIGIvc3JjL25ldHdvcmsuaAoraW5kZXggZDdkMDhmMi4uYjA5YjZjNCAxMDA2NDQKKy0tLSBhL3NyYy9uZXR3b3JrLmgKKysrKyBiL3NyYy9uZXR3b3JrLmgKK0BAIC0xLDE5ICsxLDEzIEBACisgLyokSWQ6IG5ldHdvcmsuaCx2IDEuNyAxOTk3LzA0LzAyIDAzOjE1OjQxIHNyYiBFeHAgJCovCisgCistI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4JCQkvKiBzb2NrZXQoKSBzZW5kdG8oKSBBRl9JTkVUCisrI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4JCQkvKiBzb2NrZXQoKSBzZW5kdG8oKSAqLworIAkJCQkJLyogU09DS19ER1JBTSAqLworLSNpbmNsdWRlIDxuZXRkYi5oPgkJCS8qIGdldGhvc3RieW5hbWUoKSBnZXRzZXJ2YnluYW1lKCkKKy0JCQkJCS8qIGdldHByb3RvYnluYW1lKCkgKi8KKy0jaW5jbHVkZSA8bmV0aW5ldC9pbi5oPgkJCS8qIGh0b25zKCkgc3RydWN0IHNvY2thZGRyX2luICovCisrI2luY2x1ZGUgPG5ldGRiLmg+CQkJLyogZ2V0YWRkcmluZm8oKSAqLworIAorICNpZm5kZWYgQklGRl9zZXJ2aWNlcG9ydAorICNkZWZpbmUgQklGRl9zZXJ2aWNlcG9ydAlDT01TQVRzZXJ2aWNlCisgI2VuZGlmCisgCistI2lmbmRlZiBoXzBhZGRyX2xpc3QKKy0jZGVmaW5lIGhfMGFkZHJfbGlzdAloX2FkZHJfbGlzdFswXQkJICAgICAgLyogUE9TSVggc3RydWN0IG1lbWJlciAqLworLSNlbmRpZgorLQorICNpZm5kZWYgTk9fY29uc3QgICAgICAvKiBzaW5jZSBuZXR3b3JrLmggaXMgb3V0c2lkZSB0aGUgYXV0b2NvbmYgY29uc3QgY2hlY2sgKi8KKyAjaWZkZWYgY29uc3QJCSAgICAvKiBsb29wLCB3ZSBuZWVkIHRoaXMgYmFja2NoZWNrIGZvciBzb21lIHN5c3RlbXMgKi8KKyAjdW5kZWYgY29uc3QKK2RpZmYgLS1naXQgYS9zcmMvcGlwZXMuYyBiL3NyYy9waXBlcy5jCitpbmRleCAxZmRiOWU2Li43NzU0MzAwIDEwMDY0NAorLS0tIGEvc3JjL3BpcGVzLmMKKysrKyBiL3NyYy9waXBlcy5jCitAQCAtMTQ1LDcgKzE0NSw5IEBAIGludCBwaXB0aHJvdWdoKGxpbmUsc291cmNlLGxlbiljaGFyKmxpbmUsKnNvdXJjZTtjb25zdCBsb25nIGxlbjsKKyAgIGlmKFN0ZG91dCkKKyAgICB7ICooZXE9c3RyY2hyKFN0ZG91dCwnXDAnKS0xKT0nXDAnOwkJCSAgICAgLyogY2hvcCB0aGUgJz0nICovCisgICAgICBpZighKGJhY2tibG9jaz1nZXRlbnYoU3Rkb3V0KSkpCQkJLyogbm8gY3VycmVudCB2YWx1ZT8gKi8KKy0JUFJEQj1QV1JCPSAtMTsKKysgICAgICB7IFBSREI9UFdSQj0gLTE7CisrCWJhY2tsZW49MDsKKysgICAgICB9CisgICAgICBlbHNlCisgICAgICAgeyBiYWNrbGVuPXN0cmxlbihiYWNrYmxvY2spOworIAlnb3RvIHBpcDsKK0BAIC0xNTUsOSArMTU3LDcgQEAgaW50IHBpcHRocm91Z2gobGluZSxzb3VyY2UsbGVuKWNoYXIqbGluZSwqc291cmNlO2NvbnN0IGxvbmcgbGVuOworIHBpcDogcnBpcGUocGJhY2tmZCk7CisgICBycGlwZShwaW5mZCk7CQkJCQkJIC8qIG1haW4gcGlwZXMgc2V0dXAgKi8KKyAgIGlmKCEocGlkY2hpbGQ9c2ZvcmsoKSkpCQkJLyogY3JlYXRlIGEgc2VuZGluZyBwcm9jbWFpbCAqLworLSAgIHsgaWYoU3Rkb3V0JiZiYWNrYmxvY2spCistCWJhY2tsZW49c3RybGVuKGJhY2tibG9jayk7CistICAgICBlbHNlCisrICAgeyBpZighU3Rkb3V0KQorIAliYWNrYmxvY2s9c291cmNlLGJhY2tsZW49bGVuOworICAgICAgY2hpbGRzZXR1cCgpO3JjbG9zZShQUkRJKTtyY2xvc2UoUFJEQik7CisgICAgICBycGlwZShwb3V0ZmQpO3JjbG9zZShTVERPVVQpOworQEAgLTE5NCw3ICsxOTQsNyBAQCBwZXJyOgkgICAgICBwcm9nZXJyKGxpbmUsZXhjb2RlLHB3YWl0PT00KTsgIC8qIEknbSBnb2luZyB0byB0ZWxsIG15IG1vbW15ISAqLworICAgICAgbWFrZWJsb2NrKCZ0ZW1wLFN0ZGZpbGxlZCk7CisgICAgICB0bWVtbW92ZSh0ZW1wLnAsU3Rkb3V0LFN0ZGZpbGxlZCk7CisgICAgICByZWFkZHluKCZ0ZW1wLCZTdGRmaWxsZWQsU3RkZmlsbGVkK2JhY2tsZW4rMSk7CistICAgICBTdGRvdXQ9cmVhbGxvYyhTdGRvdXQsJlN0ZGZpbGxlZCsxKTsKKysgICAgIFN0ZG91dD1yZWFsbG9jKFN0ZG91dCxTdGRmaWxsZWQrMSk7CisgICAgICB0bWVtbW92ZShTdGRvdXQsdGVtcC5wLFN0ZGZpbGxlZCsxKTsKKyAgICAgIGZyZWVibG9jaygmdGVtcCk7CisgICAgICByZXRTdGRvdXQoU3Rkb3V0LHB3YWl0JiZwaXB3LCFiYWNrYmxvY2spOworZGlmZiAtLWdpdCBhL3NyYy9wcm9jbWFpbC5jIGIvc3JjL3Byb2NtYWlsLmMKK2luZGV4IDRhMjMyZjIuLjJiYjQ0OWIgMTAwNjQ0CistLS0gYS9zcmMvcHJvY21haWwuYworKysrIGIvc3JjL3Byb2NtYWlsLmMKK0BAIC02NTIsOCArNjUyLDcgQEAgY29tbWludDpkbyBza2lwc3BhY2UoKTsJCQkJCSAgLyogc2tpcCB3aGl0ZXNwYWNlICovCisgCSAgICAgIG5yY29uZD0gLTE7CisgCSAgIGlmKHRvbG9jaykJCSAvKiBjbGVhciB0ZW1wb3JhcnkgYnVmZmVyIGZvciBsb2NrZmlsZSBuYW1lICovCisgCSAgICAgIGZyZWUodG9sb2NrKTsKKy0JICAgZm9yKGk9bWF4aW5kZXgoZmxhZ3MpO2k7aS0tKQkJCSAgLyogY2xlYXIgdGhlIGZsYWdzICovCistCSAgICAgIGZsYWdzW2ldPTA7CisrCSAgIGJiemVybyhmbGFncyxzaXplb2YoZmxhZ3MpKTsJCSAgLyogY2xlYXIgdGhlIGZsYWdzICovCisgCSAgIGZvcih0b2xvY2s9MCxsb2NrbmV4dD0wOzspCisgCSAgICB7IGNocD1za3BzcGFjZShjaHApOworIAkgICAgICBzd2l0Y2goaT0gKmNocCsrKQorZGlmZiAtLWdpdCBhL3NyYy9yZWNvbW1lbmQuYyBiL3NyYy9yZWNvbW1lbmQuYworaW5kZXggNWQ0MWUwMS4uOTAwMjI2OCAxMDA2NDQKKy0tLSBhL3NyYy9yZWNvbW1lbmQuYworKysrIGIvc3JjL3JlY29tbWVuZC5jCitAQCAtNDcsNyArNDcsNyBAQCBpbnQgbWFpbihhcmdjLGFyZ3YpY29uc3QgaW50IGFyZ2M7Y29uc3QgY2hhcipjb25zdCBhcmd2W107CisgICAgICBwcmludGYoImNobW9kICVsbyAlc1xuIiwodW5zaWduZWQgbG9uZykoc2dpZHxQRVJNSVMpLGFyZ3ZbMl0pOworICAgZWxzZSBpZihjaG1kaXI9PTEpCisgICAgICBnb3RvIG5vZ2NobW9kOworLSAgaWYoY2htZGlyKQorKyAgaWYoMCkKKyAgICAgIHByaW50ZigiY2htb2QgJWMrdyAlcy8uXG4iLGNobWRpcj09MT8nZyc6J2EnLG1haWxzcG9vbGRpcik7Cisgbm9nY2htb2Q6CisgICByZXR1cm4gRVhJVF9TVUNDRVNTOworLS0gCisxLjguNC4yCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcHJvY21haWwvcHJvY21haWwvZnJvbS1kZWJpYW4tdG8tZml4LW1hbi1maWxlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wcm9jbWFpbC9wcm9jbWFpbC9mcm9tLWRlYmlhbi10by1maXgtbWFuLWZpbGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2IzYzY0MwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcHJvY21haWwvcHJvY21haWwvZnJvbS1kZWJpYW4tdG8tZml4LW1hbi1maWxlLnBhdGNoCkBAIC0wLDAgKzEsODMgQEAKK0Zyb20gM2NiYzVlNmU2MjQyMzVmOWJhNDBjZmQ1YTJiMThjMTFiZTM3MTM5OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IExpIHhpbiA8bGl4aW4uZm5zdEBjbi5mdWppdHN1LmNvbT4KK0RhdGU6IFR1ZSwgMiBEZWMgMjAxNCAwNzowMjowMSArMDkwMAorU3ViamVjdDogW1BBVENIIDIvM10gRnJvbSBkZWJpYW4gdG8gZml4IG1hbiBmaWxlCisKK1NpZ25lZC1vZmYtYnk6IExpIFhpbiA8bGl4aW4uZm5zdEBjbi5mdWppdHN1LmNvbT4KKy0tLQorIG1hbi9wcm9jbWFpbC5tYW4gICB8IDI0ICsrKysrKysrKysrKysrKysrLS0tLS0tLQorIG1hbi9wcm9jbWFpbHJjLm1hbiB8ICAyICstCisgMiBmaWxlcyBjaGFuZ2VkLCAxOCBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbWFuL3Byb2NtYWlsLm1hbiBiL21hbi9wcm9jbWFpbC5tYW4KK2luZGV4IDE3NTA0M2EuLjEyNzRjZTggMTAwNjQ0CistLS0gYS9tYW4vcHJvY21haWwubWFuCisrKysgYi9tYW4vcHJvY21haWwubWFuCitAQCAtNDQsMTEgKzQ0LDExIEBAIGF0IHRoZSBlbmQuCisgc2hvdWxkIGJlIGludm9rZWQgYXV0b21hdGljYWxseSBvdmVyIHRoZQorIC5CIEBET1RfRk9SV0FSREAKKyBmaWxlIG1lY2hhbmlzbSBhcyBzb29uIGFzIG1haWwgYXJyaXZlcy4gIEFsdGVybmF0aXZlbHksIHdoZW4gaW5zdGFsbGVkIGJ5CistYSBzeXN0ZW0gYWRtaW5pc3RyYXRvciwgaXQgY2FuIGJlIGludm9rZWQgZnJvbSB3aXRoaW4gdGhlIG1haWxlciBpbW1lZGlhdGVseS4KKy1XaGVuIGludm9rZWQsIGl0IGZpcnN0IHNldHMgc29tZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gZGVmYXVsdCB2YWx1ZXMsCistcmVhZHMgdGhlIG1haWwgbWVzc2FnZSBmcm9tIHN0ZGluIHVudGlsIGFuIEVPRiwgc2VwYXJhdGVzIHRoZSBib2R5IGZyb20gdGhlCistaGVhZGVyLCBhbmQgdGhlbiwgaWYgbm8gY29tbWFuZCBsaW5lIGFyZ3VtZW50cyBhcmUgcHJlc2VudCwgaXQgc3RhcnRzIHRvIGxvb2sKKy1mb3IgYSBmaWxlIG5hbWVkCisrYSBzeXN0ZW0gYWRtaW5pc3RyYXRvciAoYW5kIGluIHRoZSBzdGFuZGFyZCBSZWQgSGF0IExpbnV4IGNvbmZpZ3VyYXRpb24pLCBpdAorK2NhbiBiZSBpbnZva2VkIGZyb20gd2l0aGluIHRoZSBtYWlsZXIgaW1tZWRpYXRlbHkuICBXaGVuIGludm9rZWQsIGl0CisrZmlyc3Qgc2V0cyBzb21lIGVudmlyb25tZW50IHZhcmlhYmxlcyB0byBkZWZhdWx0IHZhbHVlcywgcmVhZHMgdGhlIG1haWwgbWVzc2FnZSBmcm9tCisrc3RkaW4gdW50aWwgYW4gRU9GLCBzZXBhcmF0ZXMgdGhlIGJvZHkgZnJvbSB0aGUgaGVhZGVyLCBhbmQgdGhlbiwgaWYgbm8gY29tbWFuZCBsaW5lCisrYXJndW1lbnRzIGFyZSBwcmVzZW50LCBpdCBzdGFydHMgdG8gbG9vayBmb3IgYSBmaWxlIG5hbWVkCisgLkJSIEBQUk9DTUFJTFJDQCAuCisgQWNjb3JkaW5nIHRvIHRoZSBwcm9jZXNzaW5nIHJlY2lwZXMgaW4gdGhpcyBmaWxlLAorIHRoZSBtYWlsIG1lc3NhZ2UgdGhhdCBqdXN0IGFycml2ZWQgZ2V0cyBkaXN0cmlidXRlZCBpbnRvIHRoZSByaWdodCBmb2xkZXIKK0BAIC0xNjYsNyArMTY2LDggQEAgbXVzdCBiZSBzcGVjaWZpZWQgb24gdGhlIGNvbW1hbmQgbGluZS4gIEFmdGVyIHRoZSByY2ZpbGUsIHByb2NtYWlsIHdpbGwKKyBhY2NlcHQgYW4gdW5saW1pdGVkIG51bWJlciBvZiBhcmd1bWVudHMuQEVUQ1JDU19kZXNjQAorIEZvciBzb21lIGFkdmFuY2VkIHVzYWdlIG9mIHRoaXMgb3B0aW9uIHlvdSBzaG91bGQgbG9vayBpbiB0aGUKKyAuQiBFWEFNUExFUworLXNlY3Rpb24gYmVsb3cuQExNVFBPUFRkZXNjQC5TSCBBUkdVTUVOVFMKKytzZWN0aW9uIGJlbG93LkBMTVRQT1BUZGVzY0AKKysuU0ggQVJHVU1FTlRTCisgQW55IGFyZ3VtZW50cyBjb250YWluaW5nIGFuICc9JyBhcmUgY29uc2lkZXJlZCB0byBiZSBlbnZpcm9ubWVudCB2YXJpYWJsZQorIGFzc2lnbm1lbnRzLCB0aGV5IHdpbGwKKyAuSSBhbGwKK0BAIC03MjMsNiArNzI0LDE1IEBAIHBhdGguQEZXX2NvbW1lbnRACisgLmZpCisgLmFkCisgLlBQCisrU29tZSBtYWlsZXJzIChub3RhYmx5IGV4aW0pIGRvIG5vdCBjdXJyZW50bHkgYWNjZXB0IHRoZSBhYm92ZSBzeW50YXguCisrSW4gc3VjaCBjYXNlIHVzZSB0aGlzIGluc3RlYWQ6CisrLlBQCisrLm5hCisrLm5mCisrfC91c3IvYmluL3Byb2NtYWlsCisrLmZpCisrLmFkCisrLlBQCisgUHJvY21haWwgY2FuIGFsc28gYmUgaW52b2tlZCB0byBwb3N0cHJvY2VzcyBhbiBhbHJlYWR5IGZpbGxlZCBzeXN0ZW0KKyBtYWlsYm94LiAgVGhpcyBjYW4gYmUgdXNlZnVsIGlmIHlvdSBkb24ndCB3YW50IHRvIG9yIGNhbid0IHVzZSBhCisgJEhPTUUvQERPVF9GT1JXQVJEQCBmaWxlIChpbiB3aGljaCBjYXNlIHRoZSBmb2xsb3dpbmcgc2NyaXB0IGNvdWxkCitAQCAtNzU0LDcgKzc2NCw3IEBAIGV4aXQgMAorIC5TUyAiQSBzYW1wbGUgc21hbGwgQFBST0NNQUlMUkNAOiIKKyAubmEKKyAubmYKKy1QQVRIPS9iaW46L3Vzci9iaW46QEJJTkRJUkAKKytQQVRIPS91c3IvbG9jYWwvYmluOi91c3IvYmluOi9iaW4KKyBNQUlMRElSPSRIT01FL01haWwgICAgICAjeW91J2QgYmV0dGVyIG1ha2Ugc3VyZSBpdCBleGlzdHMKKyBERUZBVUxUPSRNQUlMRElSL21ib3ggICAjY29tcGxldGVseSBvcHRpb25hbAorIExPR0ZJTEU9JE1BSUxESVIvZnJvbSAgICNyZWNvbW1lbmRlZAorZGlmZiAtLWdpdCBhL21hbi9wcm9jbWFpbHJjLm1hbiBiL21hbi9wcm9jbWFpbHJjLm1hbgoraW5kZXggNDcyMDM1Zi4uN2JmMDhkZCAxMDA2NDQKKy0tLSBhL21hbi9wcm9jbWFpbHJjLm1hbgorKysrIGIvbWFuL3Byb2NtYWlscmMubWFuCitAQCAtNzc5LDcgKzc3OSw3IEBAIG9uZSB0cmFpbGluZyBuZXdsaW5lIHdpbGwgYmUgc3RyaXBwZWQuCisgLlBQCisgU29tZSBub24tb3B0aW1hbCBhbmQgbm9uLW9idmlvdXMgcmVnZXhwcyBzZXQgTUFUQ0ggdG8gYW4gaW5jb3JyZWN0CisgdmFsdWUuICBUaGUgcmVnZXhwIGNhbiBiZSBtYWRlIHRvIHdvcmsgYnkgcmVtb3Zpbmcgb25lIG9yIG1vcmUgdW5uZWVkZWQKKy0nKicsICcrJywgb3IgJz8nIG9wZXJhdG9yIG9uIHRoZSBsZWZ0LWhhbmQgc2lkZSBvZiB0aGUgXGUvIHRva2VuLgorK1wmJyonLCAnKycsIG9yICc/JyBvcGVyYXRvciBvbiB0aGUgbGVmdC1oYW5kIHNpZGUgb2YgdGhlIFxlLyB0b2tlbi4KKyAuU0ggTUlTQ0VMTEFORU9VUworIElmIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gY29udGFpbnMgYFxmQkBUT19rZXlAXGZQJyBpdCB3aWxsIGJlIHN1YnN0aXR1dGVkIGJ5CisgLm5hCistLSAKKzEuOC40LjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wcm9jbWFpbC9wcm9jbWFpbC9mcm9tLWRlYmlhbi10by1tb2RpZnktcGFyYW1ldGVycy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcHJvY21haWwvcHJvY21haWwvZnJvbS1kZWJpYW4tdG8tbW9kaWZ5LXBhcmFtZXRlcnMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTk0ZTQzNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcHJvY21haWwvcHJvY21haWwvZnJvbS1kZWJpYW4tdG8tbW9kaWZ5LXBhcmFtZXRlcnMucGF0Y2gKQEAgLTAsMCArMSwxMjcgQEAKK0Zyb20gOTVjNzQyMjQyNzY5NzIxZjk2M2M1MDcwMmUxNDQ1ZmI3MGM2YTQ1YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IExpIHhpbiA8bGl4aW4uZm5zdEBjbi5mdWppdHN1LmNvbT4KK0RhdGU6IFR1ZSwgMiBEZWMgMjAxNCAwNzowNzozMyArMDkwMAorU3ViamVjdDogW1BBVENIIDMvM10gRnJvbSBkZWJpYW4gdG8gbW9kaWZ5IHBhcmFtZXRlcnMKKworU2lnbmVkLW9mZi1ieTogTGkgWGluIDxsaXhpbi5mbnN0QGNuLmZ1aml0c3UuY29tPgorLS0tCisgTWFrZWZpbGUgfCAxNiArKysrKysrKy0tLS0tLS0tCisgY29uZmlnLmggfCAxMyArKysrKysrLS0tLS0tCisgMiBmaWxlcyBjaGFuZ2VkLCAxNSBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKK2luZGV4IDFlOTU2OGMuLjllNDgyMDEgMTAwNjQ0CistLS0gYS9NYWtlZmlsZQorKysrIGIvTWFrZWZpbGUKK0BAIC0yMyw3ICsyMyw3IEBAIE1BTjVESVIJCT0gJChNQU5ESVIpL21hbiQoTUFONVNVRkZJWCkKKyAKKyAjIFVuY29tbWVudCB0byBpbnN0YWxsIGNvbXByZXNzZWQgbWFuIHBhZ2VzIChwb3NzaWJseSBhZGQgZXh0cmEgc3VmZml4CisgIyB0byB0aGUgZGVmaW5pdGlvbnMgb2YgTUFOP0RJUiBhbmQvb3IgTUFOP1NVRkZJWCBieSBoYW5kKQorLSNNQU5DT01QUkVTUyA9IGNvbXByZXNzCisrIyBNQU5DT01QUkVTUyA9IGNvbXByZXNzCisgCisgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyojCisgIyBUaGluZ3MgdGhhdCBjYW4gYmUgbWFkZSBhcmU6CitAQCAtNTUsNyArNTUsNyBAQCBNQU41RElSCQk9ICQoTUFORElSKS9tYW4kKE1BTjVTVUZGSVgpCisgCisgTE9DS0lOR1RFU1Q9X19kZWZhdWx0c19fCisgCistI0xPQ0tJTkdURVNUPS90bXAgLgkjIFVuY29tbWVudCBhbmQgYWRkIGFueSBkaXJlY3RvcmllcyB5b3Ugc2VlIGZpdC4KKytMT0NLSU5HVEVTVD0vdG1wIC4JIyBVbmNvbW1lbnQgYW5kIGFkZCBhbnkgZGlyZWN0b3JpZXMgeW91IHNlZSBmaXQuCisgIwkJCUlmIExPQ0tJTkdURVNUIGlzIGRlZmluZWQsIGF1dG9jb25mIHdpbGwgTk9UCisgIwkJCXByb21wdCB5b3UgdG8gZW50ZXIgYWRkaXRpb25hbCBkaXJlY3Rvcmllcy4KKyAjCQkJU2VlIElOU1RBTEwgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlCitAQCAtNjUsNyArNjUsNyBAQCBMT0NLSU5HVEVTVD1fX2RlZmF1bHRzX18KKyAjIE9ubHkgZWRpdCBiZWxvdyB0aGlzIGxpbmUgaWYgeW91ICp0aGluayogeW91IGtub3cgd2hhdCB5b3UgYXJlIGRvaW5nICMKKyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyAKKy0jTE9DS0lOR1RFU1Q9MTAwCSMgVW5jb21tZW50IChhbmQgY2hhbmdlKSBpZiB5b3UgdGhpbmsgeW91IGtub3cKKytMT0NLSU5HVEVTVD0xMDAJIyBVbmNvbW1lbnQgKGFuZCBjaGFuZ2UpIGlmIHlvdSB0aGluayB5b3Uga25vdworICMJCQlpdCBiZXR0ZXIgdGhhbiB0aGUgYXV0b2NvbmYgbG9ja2luZ3Rlc3RzLgorICMJCQlUaGlzIHdpbGwgY2F1c2UgdGhlIGxvY2tpbmd0ZXN0cyB0byBiZSBob3R3aXJlZC4KKyAjCQkJMTAwCXRvIGVuYWJsZSBmY250bCgpCitAQCAtNzQsMjAgKzc0LDIwIEBAIExPQ0tJTkdURVNUPV9fZGVmYXVsdHNfXworICMJCQlPciB0aGVtIHRvZ2V0aGVyIHRvIGdldCB0aGUgZGVzaXJlZCBjb21iaW5hdGlvbi4KKyAKKyAjIE9wdGlvbmFsIHN5c3RlbSBsaWJyYXJpZXMgd2Ugc2VhcmNoIGZvcgorLVNFQVJDSExJQlMgPSAtbG0gLWxkaXIgLWx4IC1sc29ja2V0IC1sbmV0IC1saW5ldCAtbG5zbF9zIC1sbnNsX2kgLWxuc2wgLWxzdW4gXAorLSAtbGdlbiAtbHNvY2tkbnMgLWxkbAorK1NFQVJDSExJQlMgPSAtbG0gLWxkaXIgLWx4IC1sc29ja2V0IC1sbmV0IC1saW5ldCAtbG5zbF9zIC1sbnNsX2kgLWxzdW4gXAorKyAtbGdlbiAtbHNvY2tkbnMKKyAjCQkJLWxyZXNvbHYJIyBub3QgcmVhbGx5IG5lZWRlZCwgaXMgaXQ/CisgCisgIyBJbmZvcm1hbCBsaXN0IG9mIGRpcmVjdG9yaWVzIHdoZXJlIHdlIGxvb2sgZm9yIHRoZSBsaWJyYXJpZXMgaW4gU0VBUkNITElCUworLUxJQlBBVEhTPS9saWIgL3Vzci9saWIgL3Vzci9sb2NhbC9saWIKKytMSUJQQVRIUz0vbGliIC91c3IvbGliCisgCisgR0NDX1dBUk5JTkdTID0gLU8yIC1wZWRhbnRpYyAtV3JldHVybi10eXBlIC1XdW51c2VkIC1XZm9ybWF0IC1XdHJhZGl0aW9uYWwgXAorICAtV3BvaW50ZXItYXJpdGggLVdjb252ZXJzaW9uIC1XYWdncmVnYXRlLXJldHVybiBcCisgICMtV2ltcGxpY2l0IC1Xc2hhZG93IC1XaWQtY2xhc2gtNiAjLVd1bmluaXRpYWxpemVkCisgCisgIyBUaGUgcGxhY2UgdG8gcHV0IHlvdXIgZmF2b3VyaXRlIGV4dHJhIGNjIGZsYWcKKy1DRkxBR1MwID0gLU8gIyQoR0NDX1dBUk5JTkdTKQorLUxERkxBR1MwPSAtcworK0NGTEFHUzAgPSAkKFJQTV9PUFRfRkxBR1MpICMkKEdDQ19XQVJOSU5HUykKKytMREZMQUdTMD0gCisgIyBSZWFkIG15IGxpYnMgOi0pCisgTElCUz0KKyAKK2RpZmYgLS1naXQgYS9jb25maWcuaCBiL2NvbmZpZy5oCitpbmRleCBjNDEzNWE5Li5hMDc0NTNmIDEwMDY0NAorLS0tIGEvY29uZmlnLmgKKysrKyBiL2NvbmZpZy5oCitAQCAtMzUsNyArMzUsOCBAQAorICAqLworIC8qI2RlZmluZSBERUZTUEFUSAkiUEFUSD0vYmluOi91c3IvYmluIgkJCS8qICovCisgLyojZGVmaW5lIERFRlBBVEgJIlBBVEg9JEhPTUUvYmluOi9iaW46L3Vzci9iaW4iCQkvKiAqLworLQorKyNkZWZpbmUgREVGUEFUSAkiUEFUSD0kSE9NRS9iaW46L2JpbjovdXNyL2Jpbjovc2JpbjovdXNyL3NiaW46L3Vzci9sb2NhbC9iaW46L3Vzci9YMTFSNi9iaW4iCQkvKiAqLworKyAKKyAvKiBldmVyeSBlbnZpcm9ubWVudCB2YXJpYWJsZSBhcHBlYXJpbmcgaW4gUFJFU1RFTlYgd2lsbCBiZSBzZXQgb3Igd2lwZWQKKyAgKiBvdXQgb2YgdGhlIGVudmlyb25tZW50ICh2YXJpYWJsZXMgd2l0aG91dCBhbiAnPScgc2lnbiB3aWxsIGJlIHRocm93bgorICAqIG91dCksIGUuZy4geW91IGNvdWxkIGRlZmluZSBQUkVTVEVOViBhcyBmb2xsb3dzOgorQEAgLTQ2LDEzICs0NywxMyBAQAorICAqLworICNkZWZpbmUgUFJFU1RFTlYJeyJJRlMiLCJFTlYiLCJQV0QiLDB9CisgCistLyojZGVmaW5lIEdST1VQX1BFUl9VU0VSCQkJLyogdW5jb21tZW50IHRoaXMgaWYgZWFjaAorKyNkZWZpbmUgR1JPVVBfUEVSX1VTRVIJCQkvKiB1bmNvbW1lbnQgdGhpcyBpZiBlYWNoCisgCQkJCQkJICAgdXNlciBoYXMgaGlzIG9yIGhlciBvd24KKyAJZ3JvdXAgYW5kIHByb2NtYWlsIGNhbiB0aGVyZWZvcmUgdHJ1c3QgYSAkSE9NRS8ucHJvY21haWxyYyB0aGF0CisgCWlzIGdyb3VwIHdyaXRhYmxlIG9yIGNvbnRhaW5lZCBpbiBhIGdyb3VwIHdyaXRhYmxlIGhvbWUgZGlyZWN0b3J5CisgCWlmIHRoZSBncm91cCBpbnZvbHZlZCBpcyB0aGUgdXNlcidzIGRlZmF1bHQgZ3JvdXAuICovCisgCistLyojZGVmaW5lIExNVFAJCQkJCS8qIHVuY29tbWVudCB0aGlzIGlmIHlvdQorKyNkZWZpbmUgTE1UUAkJCQkJLyogdW5jb21tZW50IHRoaXMgaWYgeW91CisgCQkJCQkJICAgd2FudCB0byB1c2UgcHJvY21haWwKKyAJYXMgYW4gTE1UUCAocmZjMjAzMykgc2VydmVyLCBwcmVzdW1hYmx5IGZvciBpbnZvY2F0aW9uIGJ5IGFuIE1UQS4KKyAJVGhlIGZpbGUgZXhhbXBsZXMvbG9jYWxfcHJvY21haWxfbG10cC5tNCBjb250YWlucyBpbmZvIG9uIGhvdyB0bworQEAgLTc5LDcgKzgwLDcgQEAKKyAKKyAvKiNkZWZpbmUgTk9fZmNudGxfTE9DSwkJLyogdW5jb21tZW50IGFueSBvZiB0aGVzZSB0aHJlZSBpZiB5b3UJICAgICAqLworIC8qI2RlZmluZSBOT19sb2NrZl9MT0NLCQkvKiBkZWZpbml0ZWx5IGRvIG5vdCB3YW50IHByb2NtYWlsIHRvIG1ha2UgICAqLworLS8qI2RlZmluZSBOT19mbG9ja19MT0NLCQkvKiB1c2Ugb2YgdGhvc2Uga2VybmVsLWxvY2tpbmcgbWV0aG9kcwkgICAgICovCisrI2RlZmluZSBOT19mbG9ja19MT0NLCQkvKiB1c2Ugb2YgdGhvc2Uga2VybmVsLWxvY2tpbmcgbWV0aG9kcwkgICAgICovCisgCQkJCS8qIElmIHlvdSBzZXQgTE9DS0lOR1RFU1QgdG8gYSBiaW5hcnkgbnVtYmVyCisgCXRoYW4gdGhlcmUncyBubyBuZWVkIHRvIHNldCB0aGVzZS4gIFRoZXNlICNkZWZpbmVzIGFyZSBvbmx5IHVzZWZ1bAorIAlpZiB5b3Ugd2FudCB0byBkaXNhYmxlIHBhcnRpY3VsYXIgbG9ja2luZyBzdHlsZXMgYnV0IGFyZSB1bnN1cmUgd2hpY2gKK0BAIC05MSwxNCArOTIsMTQgQEAKKyAJcmVzdHJpY3Rpb24gZG9lcyBub3QgYXBwbHkgdG8gdGhlIC9ldGMvcHJvY21haWxyYyBhbmQKKyAJL2V0Yy9wcm9jbWFpbHJjcyBmaWxlcykgKi8KKyAKKy0vKiNkZWZpbmUgTk9fTkZTX0FUSU1FX0hBQ0sJLyogdW5jb21tZW50IGlmIHlvdSdyZSBkZWZpbml0ZWx5IG5vdCB1c2luZworKyNkZWZpbmUgTk9fTkZTX0FUSU1FX0hBQ0sJLyogdW5jb21tZW50IGlmIHlvdSdyZSBkZWZpbml0ZWx5IG5vdCB1c2luZworIAkJCQkgICBORlMgbW91bnRlZCBmaWxlc3lzdGVtcyBhbmQgY2FuJ3QgYWZmb3JkCisgCXByb2NtYWlsIHRvIHNsZWVwIGZvciAxIHNlYy4gYmVmb3JlIHdyaXRpbmcgdG8gYW4gZW1wdHkgcmVndWxhcgorIAltYWlsYm94LiAgVGhpcyBsZXRzIHByb2dyYW1zIGNvcnJlY3RseSBqdWRnZSB3aGV0aGVyIHRoZXJlIGlzIHVucmVhZAorIAltYWlsIHByZXNlbnQuICBwcm9jbWFpbCBhdXRvbWF0aWNhbGx5IHN1cHByZXNzZXMgdGhpcyB3aGVuIGl0IGlzbid0CisgCW5lZWRlZCBvciB1bmRlciBoZWF2eSBsb2FkLiAqLworIAorLS8qI2RlZmluZSBERUZzZW5kbWFpbAkiL3Vzci9zYmluL3NlbmRtYWlsIgkvKiB1bmNvbW1lbnQgYW5kL29yIGNoYW5nZSBpZgorKyNkZWZpbmUgREVGc2VuZG1haWwJIi91c3Ivc2Jpbi9zZW5kbWFpbCIJLyogdW5jb21tZW50IGFuZC9vciBjaGFuZ2UgaWYKKyAJCQkJCQkgICB0aGUgYXV0b2NvbmZpZ3VyZWQgZGVmYXVsdAorIAlTRU5ETUFJTCBpcyBub3Qgc3VpdGFibGUuICBUaGlzIHByb2dyYW0gc2hvdWxkIHF1YWNrIGxpa2UgYSBzZW5kbWFpbDoKKyAJaXQgc2hvdWxkIGFjY2VwdCB0aGUgLW9pIGZsYWcgKHRvIHRlbGwgaXQgdG8gX25vdF8gdHJlYXQgYSBsaW5lCistLSAKKzEuOC40LjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wcm9jbWFpbC9wcm9jbWFpbC9tYW4tZmlsZS1tYWlsc3RhdC4xLWZyb20tZGViaWFuLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wcm9jbWFpbC9wcm9jbWFpbC9tYW4tZmlsZS1tYWlsc3RhdC4xLWZyb20tZGViaWFuLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ2ZDk3M2UKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Byb2NtYWlsL3Byb2NtYWlsL21hbi1maWxlLW1haWxzdGF0LjEtZnJvbS1kZWJpYW4ucGF0Y2gKQEAgLTAsMCArMSw2MCBAQAorRnJvbSA4YWM1NjEwOGU1ZjBhNzJkMWJlYzBmYjRmMWZhNDc2M2EyNDc5MzMxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTGkgeGluIDxsaXhpbi5mbnN0QGNuLmZ1aml0c3UuY29tPgorRGF0ZTogVHVlLCAyIERlYyAyMDE0IDA2OjU2OjE0ICswOTAwCitTdWJqZWN0OiBbUEFUQ0hdIG1hbiBmaWxlIG1haWxzdGF0LjEgZnJvbSBkZWJpYW4KKworU2lnbmVkLW9mZi1ieTogTGkgWGluIDxsaXhpbi5mbnN0QGNuLmZ1aml0c3UuY29tPgorLS0tCisgZGViaWFuL21haWxzdGF0LjEgfCA0MCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgMSBmaWxlIGNoYW5nZWQsIDQwIGluc2VydGlvbnMoKykKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZGViaWFuL21haWxzdGF0LjEKKworZGlmZiAtLWdpdCBhL2RlYmlhbi9tYWlsc3RhdC4xIGIvZGViaWFuL21haWxzdGF0LjEKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi5mMTMyNjVhCistLS0gL2Rldi9udWxsCisrKysgYi9kZWJpYW4vbWFpbHN0YXQuMQorQEAgLTAsMCArMSw0MCBAQAorKy5USCBNQUlMU1RBVCAxCisrLlNIIE5BTUUKKyttYWlsc3RhdCBcLSBzaG93cyBtYWlsLWFycml2YWwgc3RhdGlzdGljcworKy5TSCBTWU5PUFNJUworKy5CIG1haWxzdGF0CisrW1wta2xtb3RzXSBbbG9nZmlsZV0KKysuU0ggREVTQ1JJUFRJT04KKysuQiBtYWlsc3RhdAorK3BhcnNlcyBhIHByb2NtYWlsLWdlbmVyYXRlZCAkTE9HRklMRSBhbmQgZGlzcGxheXMKKythIHN1bW1hcnkgYWJvdXQgdGhlIG1lc3NhZ2VzIGRlbGl2ZXJlZCB0byBhbGwgZm9sZGVycworKyh0b3RhbCBzaXplLCBhdmVyYWdlIHNpemUsIG5yIG9mIG1lc3NhZ2VzKS4KKytUaGUgJExPR0ZJTEUgaXMgdHJ1bmNhdGVkIHRvIHplcm8gbGVuZ3RoLCB1bmxlc3MgdGhlCisrLkIgLWsKKytvcHRpb24gaXMgdXNlZC4KKytFeGl0IGNvZGUgMCBpZiBtYWlsIGFycml2ZWQsIDEgaWYgbm8gbWFpbCBhcnJpdmVkLgorKy5TSCBPUFRJT05TCisrLlRQCisrLkkgXC1rCisra2VlcCBsb2dmaWxlIGludGFjdAorKy5UUAorKy5JIFwtbAorK2xvbmcgZGlzcGxheSBmb3JtYXQKKysuVFAKKysuSSBcLW0KKyttZXJnZSBhbnkgZXJyb3JzIGludG8gb25lIGxpbmUKKysuVFAKKysuSSBcLW8KKyt1c2UgdGhlIG9sZCBsb2dmaWxlCisrLlRQCisrLkkgXC10CisrdGVyc2UgZGlzcGxheSBmb3JtYXQKKysuVFAKKysuSSBcLXMKKytzaWxlbnQgaW4gY2FzZSBvZiBubyBtYWlsCisrLlNIIE5PVEVTCisrQ3VzdG9taXNlIHRvIHlvdXIgaGVhcnQncyBjb250ZW50LCB0aGlzIHByb2dyYW0gaXMgb25seSBwcm92aWRlZCBhcyBhCisrZ3VpZGVsaW5lLgorKy5TSCBBVVRIT1IKKytUaGlzIG1hbnVhbCBwYWdlIHdhcyB3cml0dGVuIGJ5IFNhbnRpYWdvIFZpbGEgPHNhbnZpbGFAZGViaWFuLm9yZz4KKytmb3IgdGhlIERlYmlhbiBHTlUvTGludXggZGlzdHJpYnV0aW9uIChidXQgbWF5IGJlIHVzZWQgYnkgb3RoZXJzKS4KKy0tIAorMS44LjQuMgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Byb2NtYWlsL3Byb2NtYWlsXzMuMjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Byb2NtYWlsL3Byb2NtYWlsXzMuMjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTA2MzY1NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcHJvY21haWwvcHJvY21haWxfMy4yMi5iYgpAQCAtMCwwICsxLDQ0IEBACitTVU1NQVJZID0gIk1haWwgcHJvY2Vzc2luZyBwcm9ncmFtIgorREVTQ1JJUFRJT04gPSAiUHJvY21haWwgY2FuIGJlIHVzZWQgdG8gY3JlYXRlIG1haWwtc2VydmVycywgbWFpbGluZyBsaXN0cywgc29ydCB5b3VyXAoraW5jb21pbmcgbWFpbCBpbnRvIHNlcGFyYXRlIGZvbGRlcnMvZmlsZXMgKHJlYWwgY29udmVuaWVudCB3aGVuIHN1YnNjcmliaW5nXAordG8gb25lIG9yIG1vcmUgbWFpbGluZyBsaXN0cyBvciBmb3IgcHJpb3JpdGlzaW5nIHlvdXIgbWFpbCksIHByZXByb2Nlc3NcCit5b3VyIG1haWwsIHN0YXJ0IGFueSBwcm9ncmFtcyB1cG9uIG1haWwgYXJyaXZhbCAoZS5nLiB0byBnZW5lcmF0ZSBkaWZmZXJlbnRcCitjaGltZXMgb24geW91ciB3b3Jrc3RhdGlvbiBmb3IgZGlmZmVyZW50IHR5cGVzIG9mIG1haWwpIG9yIHNlbGVjdGl2ZWx5XAorZm9yd2FyZCBjZXJ0YWluIGluY29taW5nIG1haWwgYXV0b21hdGljYWxseSB0byBzb21lb25lLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cucHJvY21haWwub3JnLyIKK1NFQ1RJT04gPSAiQXBwbGljYXRpb25zL1N5c3RlbSIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LnJpbmcuZ3IuanAvYXJjaGl2ZXMvbmV0L21haWwvJHtCUE59LyR7QlB9LnRhci5neiBcCisgICAgZmlsZTovL2Zyb20tZGViaWFuLXRvLWZpeC1jb21waWxlLWVycm9ycy5wYXRjaCBcCisgICAgZmlsZTovL2Zyb20tZGViaWFuLXRvLW1vZGlmeS1wYXJhbWV0ZXJzLnBhdGNoIFwKKyAgICBmaWxlOi8vZnJvbS1kZWJpYW4tdG8tZml4LW1hbi1maWxlLnBhdGNoIFwKKyAgICBmaWxlOi8vbWFuLWZpbGUtbWFpbHN0YXQuMS1mcm9tLWRlYmlhbi5wYXRjaCIKK1NSQ19VUklbbWQ1c3VtXSA9ICIxNjc4ZWE5OWI5NzNlYjc3ZWRhNGVjZjZhY2FlNTNmMSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwODdjNzViMzRkZDMzZDhiOWRmNWFmZTllNDI4MDFjOTM5NWY0YmYzNzNhNzg0ZDliYzk3MTUzYjAwNjJlMTE3IgorCitMSUNFTlNFID0gIkdQTC0yLjAgJiBBcnRpc3RpYy0xLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1hNzFlNTBlMTk3YTk5MmM4NjIzNzllNTc2ZTY2OTc1NyBcCisgICAgZmlsZTovL0FydGlzdGljO21kNT01MDVlMDBkMDNjMzQyOGNkZTIxYjE3YjJhMzg2NTkwZSIKKworREVQRU5EUyA9ICJsaWJuZXQiCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAKK2RvX2NvbmZpZ3VyZSgpIHsKKyAgICBmaW5kIGV4YW1wbGVzIC10eXBlIGYgfCB4YXJncyBjaG1vZCA2NDQKKyAgICBleHBvcnQgQ0M9IiR7QlVJTERfQ0N9IgorICAgIGV4cG9ydCBMRD0iJHtCVUlMRF9MRH0iCisgICAgZXhwb3J0IENGTEFHUz0iJHtCVUlMRF9DRkxBR1N9IgorICAgIGV4cG9ydCBBUj0iJHtCVUlMRF9BUn0iCisgICAgZXhwb3J0IEFTPSIke0JVSUxEX0FTfSIKKyAgICBtYWtlIFRBUkdFVF9DRkxBR1M9IiRUQVJHRVRfQ0ZMQUdTIC1EX0xBUkdFRklMRV9TT1VSQ0UgLURfRklMRV9PRkZTRVRfQklUUz02NCIgYXV0b2NvbmYuaAorfQorCitkb19jb21waWxlKCkgeworICAgIG9lX3J1bm1ha2UgLWkgVEFSR0VUX0NGTEFHUz0iJFRBUkdFVF9DRkxBR1MgLVduby1jb21tZW50cyAtRF9MQVJHRUZJTEVfU09VUkNFIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQiCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtZCAke0R9JHttYW5kaXJ9L21hbnsxLDV9CisgICAgb2VfcnVubWFrZSAtaSBCQVNFTkFNRT0ke0R9L3VzciBNQU5ESVI9JHtEfSR7bWFuZGlyfSBpbnN0YWxsCisgICAgaW5zdGFsbCAtbSAwNjQ0IGRlYmlhbi9tYWlsc3RhdC4xICR7RH0ke21hbmRpcn0vbWFuMQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wdi9wdl8xLjUuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcHYvcHZfMS41LjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWUzZGQ2NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcHYvcHZfMS41LjMuYmIKQEAgLTAsMCArMSwxMSBAQAorU1VNTUFSWSA9ICJUZXJtaW5hbC1iYXNlZCB0b29sIGZvciBtb25pdG9yaW5nIHRoZSBwcm9ncmVzcyBvZiBkYXRhIHRocm91Z2ggYSBwaXBlbGluZSIKKworTElDRU5TRSA9ICJBcnRpc3RpYy0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9kb2MvQ09QWUlORzttZDU9OWM1MGRiMjU4OWVlM2VmMTBhOWI3YjJlNTBjZTFkMDIiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5pdmFyY2guY29tL3Byb2dyYW1zL3NvdXJjZXMvcHYtJHtQVn0udGFyLmJ6MiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJlZmU4ZTllNGNhZDVmMzI2NGEzMjI1OGE2M2JmMmM4ZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3NmYzOTk5YjFjM2IzMDI3MTYzZGNlNmVmNjY3Y2RmOGRhZmI3NTIxOGVlMjVlNTRhMDNiZmU1OTA0NzhmOTBlIgorCitpbmhlcml0IGF1dG90b29scworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3B4YXJlZ3MvcHhhcmVncy0xLjE0L01ha2VmaWxlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9weGFyZWdzL3B4YXJlZ3MtMS4xNC9NYWtlZmlsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMGI3ZDUyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9weGFyZWdzL3B4YXJlZ3MtMS4xNC9NYWtlZmlsZQpAQCAtMCwwICsxLDMgQEAKKworCithbGw6IHB4YXJlZ3MKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcHhhcmVncy9weGFyZWdzLTEuMTQvaTJjLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9weGFyZWdzL3B4YXJlZ3MtMS4xNC9pMmMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzY5ODNlYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcHhhcmVncy9weGFyZWdzLTEuMTQvaTJjLnBhdGNoCkBAIC0wLDAgKzEsMTUgQEAKK0luZGV4OiBweGFyZWdzLTEuMTQvcHhhcmVncy5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gcHhhcmVncy0xLjE0Lm9yaWcvcHhhcmVncy5jCisrKysgcHhhcmVncy0xLjE0L3B4YXJlZ3MuYworQEAgLTIxLDEwICsyMSw2IEBACisgI2luY2x1ZGUgPGZjbnRsLmg+CisgI2luY2x1ZGUgPGN0eXBlLmg+CisgCistI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgorLSNpbmNsdWRlIDxsaW51eC9pMmMtZGV2Lmg+CistCistCisgLy8gZmQgZm9yIC9kZXYvbWVtCisgc3RhdGljIGludCBmZCA9IC0xOworIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9weGFyZWdzL3B4YXJlZ3MtMS4xNC9tdW5tYXAucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3B4YXJlZ3MvcHhhcmVncy0xLjE0L211bm1hcC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOWM0Yjk1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9weGFyZWdzL3B4YXJlZ3MtMS4xNC9tdW5tYXAucGF0Y2gKQEAgLTAsMCArMSwyMiBAQAorSW5kZXg6IHB4YXJlZ3MtMS4xNC9weGFyZWdzLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBweGFyZWdzLTEuMTQub3JpZy9weGFyZWdzLmMKKysrKyBweGFyZWdzLTEuMTQvcHhhcmVncy5jCitAQCAtMTc5NCw3ICsxNzk0LDcgQEAgc3RhdGljIGludCBnZXRtZW0odTMyIGFkZHIpCisgICAgcmVnYWRkciA9IG1hcCArIChhZGRyICYgTUFQX01BU0spOworIAorICAgIHZhbCA9ICoodTMyKikgcmVnYWRkcjsKKy0gICBtdW5tYXAoMCxNQVBfU0laRSk7CisrICAgbXVubWFwKG1hcCxNQVBfU0laRSk7CisgCisgICAgcmV0dXJuIHZhbDsKKyB9CitAQCAtMTgyOSw3ICsxODI5LDcgQEAgc3RhdGljIHZvaWQgcHV0bWVtKHUzMiBhZGRyLCB1MzIgdmFsKQorICAgIHJlZ2FkZHIgPSBtYXAgKyAoYWRkciAmIE1BUF9NQVNLKTsKKyAKKyAgICAqKHUzMiopIHJlZ2FkZHIgPSB2YWw7CistICAgbXVubWFwKDAsTUFQX1NJWkUpOworKyAgIG11bm1hcChtYXAsTUFQX1NJWkUpOworIH0KKyAKKyBzdGF0aWMgdTMyIGxhc3RhZGRyID0gMDsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcHhhcmVncy9weGFyZWdzLTEuMTQvcHhhcmVncy5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9weGFyZWdzL3B4YXJlZ3MtMS4xNC9weGFyZWdzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDYyZTc1OAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcHhhcmVncy9weGFyZWdzLTEuMTQvcHhhcmVncy5jCkBAIC0wLDAgKzEsMTk3NSBAQAorLyoKKyAqIHB4YXJlZ3MgLSB0b29sIHRvIGRpc3BsYXkgYW5kIG1vZGlmeSBQWEEyNTAncyByZWdpc3RlcnMgYXQgcnVudGltZQorICoKKyAqIChjKSBDb3B5cmlnaHQgMjAwMiBieSBNJk4gTG9naXN0aWstTMO2c3VuZ2VuIE9ubGluZSBHbWJICisgKiBzZXQgdW5kZXIgdGhlIEdQTHYyCisgKgorICogJElkOiBweGFyZWdzLmMsdiAxLjE0IDIwMDMvMTEvMTIgMTM6MTQ6NDMgc2NodXJpZyBFeHAgJAorICoKKyAqIFBsZWFzZSBzZW5kIHBhdGNoZXMgdG8gaC5zY2h1cmlnLCB3b3JraW5nIGF0IG1uLWxvZ2lzdGlrLmRlCisgKiAtIGFkZGVkIGZpeCBmcm9tIEJlcm5oYXJkIE5lbWVjCisgKiAtIGkyYyByZWdpc3RlcnMgZnJvbSBTdGVmYW4gRWxldHpob2ZlcgorKi8KKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3lzL21tYW4uaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8Y3R5cGUuaD4KKworI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgorI2luY2x1ZGUgPGxpbnV4L2kyYy1kZXYuaD4KKworCisvLyBmZCBmb3IgL2Rldi9tZW0KK3N0YXRpYyBpbnQgZmQgPSAtMTsKKwordHlwZWRlZiB1bnNpZ25lZCBpbnQgdTMyOworCitzdHJ1Y3QgcmVnX2luZm8geworICAgY2hhciAqbmFtZTsKKyAgIHUzMiBhZGRyOworICAgaW50IHNoaWZ0OworICAgdTMyIG1hc2s7CisgICBjaGFyIHR5cGU7CisgICBjaGFyICpkZXNjOworfTsKKworCitzdGF0aWMgc3RydWN0IHJlZ19pbmZvIHJlZ3NbXSA9IHsKK3sgIklCTVIiLCAgICAgIDB4NDAzMDE2ODAsICAwLCAweGZmZmZmZmZmLCAneCcsICJJMkMgQnVzIE1vbml0b3IgUmVnaXN0ZXIiIH0sCit7ICJJQk1SX1NEQVMiLCAweDQwMzAxNjgwLCAgMCwgMHgwMDAwMDAwMSwgJ3gnLCAiU0RBIFN0YXR1cyIgfSwKK3sgIklCTVJfU0NMUyIsIDB4NDAzMDE2ODAsICAxLCAweDAwMDAwMDAxLCAneCcsICJTREEgU3RhdHVzIiB9LAorCit7ICJJREJSIiwgICAgICAweDQwMzAxNjg4LCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiSTJDIERhdGEgQnVmZmVyIFJlZ2lzdGVyIiB9LAoreyAiSURCUl9JREIiLCAgMHg0MDMwMTY4OCwgIDAsIDB4MDAwMDAwZmYsICd4JywgIkkyQyBEYXRhIEJ1ZmZlciIgfSwKKworeyAiSUNSIiwgICAgICAgMHg0MDMwMTY5MCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkkyQyBDb250cm9sIFJlZ2lzdGVyIiB9LAoreyAiSUNSX1NUQVJUIiwgMHg0MDMwMTY5MCwgIDAsCTEsICd4JywgICIgc3RhcnQgYml0ICIgfSwKK3sgIklDUl9TVE9QIiwgIDB4NDAzMDE2OTAsICAxLAkxLCAneCcsICAiIHN0b3AgYml0ICIgfSwKK3sgIklDUl9BQ0tOQUsiLDB4NDAzMDE2OTAsICAyLAkxLCAneCcsICAiIHNlbmQgQUNLKDApIG9yIE5BSygxKSIgfSwKK3sgIklDUl9UQiIsICAgIDB4NDAzMDE2OTAsICAzLAkxLCAneCcsICAiIHRyYW5zZmVyIGJ5dGUgYml0ICIgfSwKK3sgIklDUl9NQSIsICAgIDB4NDAzMDE2OTAsICA0LAkxLCAneCcsICAiIG1hc3RlciBhYm9ydCAiIH0sCit7ICJJQ1JfU0NMRSIsICAweDQwMzAxNjkwLCAgNSwJMSwgJ3gnLCAgIiBtYXN0ZXIgY2xvY2sgZW5hYmxlICIgfSwKK3sgIklDUl9JVUUiLCAgIDB4NDAzMDE2OTAsICA2LAkxLCAneCcsICAiIHVuaXQgZW5hYmxlICIgfSwKK3sgIklDUl9HQ0QiLCAgIDB4NDAzMDE2OTAsICA3LAkxLCAneCcsICAiIGdlbmVyYWwgY2FsbCBkaXNhYmxlICIgfSwKK3sgIklDUl9JVEVJRSIsIDB4NDAzMDE2OTAsICA4LAkxLCAneCcsICAiIGVuYWJsZSB0eCBpbnRlcnJ1cHRzICIgfSwKK3sgIklDUl9JUkZJRSIsIDB4NDAzMDE2OTAsICA5LAkxLCAneCcsICAiIGVuYWJsZSByeCBpbnRlcnJ1cHRzICIgfSwKK3sgIklDUl9CRUlFIiwgIDB4NDAzMDE2OTAsICAxMCwJMSwgJ3gnLCAgIiBlbmFibGUgYnVzIGVycm9yIGludHMgIiB9LAoreyAiSUNSX1NTRElFIiwgMHg0MDMwMTY5MCwgIDExLAkxLCAneCcsICAiIHNsYXZlIFNUT1AgZGV0ZWN0ZWQgaW50IGVuYWJsZSAiIH0sCit7ICJJQ1JfQUxESUUiLCAweDQwMzAxNjkwLCAgMTIsCTEsICd4JywgICIgZW5hYmxlIGFyYml0cmF0aW9uIGludGVycnVwdCAiIH0sCit7ICJJQ1JfU0FESUUiLCAweDQwMzAxNjkwLCAgMTMsCTEsICd4JywgICIgc2xhdmUgYWRkcmVzcyBkZXRlY3RlZCBpbnQgZW5hYmxlICIgfSwKK3sgIklDUl9VUiIsICAgIDB4NDAzMDE2OTAsICAxNCwgMSwgJ3gnLCAgIiB1bml0IHJlc2V0ICIgfSwKK3sgIklDUl9GTSIsICAgIDB4NDAzMDE2OTAsICAxNSwgMSwgJ3gnLCAgIiBmYXN0IG1vZGUgIiB9LAorCit7ICJJU1IiLCAgICAgICAweDQwMzAxNjk4LCAwLCAweGZmZmZmZmZmLCAneCcsICJJMkMgU3RhdHVzIFJlZ2lzdGVyIiB9LAoreyAiSVNSX1JXTSIsICAgMHg0MDMwMTY5OCwgMCwgMSwgJ3gnLCAiIHJlYWQvd3JpdGUgbW9kZSAiIH0sCit7ICJJU1JfQUNLTkFLIiwweDQwMzAxNjk4LCAxLCAxLCAneCcsICIgYWNrL25hayBzdGF0dXMgIiB9LAoreyAiSVNSX1VCIiwgICAgMHg0MDMwMTY5OCwgMiwgMSwgJ3gnLCAiIHVuaXQgYnVzeSAiIH0sCit7ICJJU1JfSUJCIiwgICAweDQwMzAxNjk4LCAzLCAxLCAneCcsICIgYnVzIGJ1c3kgIiB9LAoreyAiSVNSX1NTRCIsICAgMHg0MDMwMTY5OCwgNCwgMSwgJ3gnLCAiIHNsYXZlIHN0b3AgZGV0ZWN0ZWQgIiB9LAoreyAiSVNSX0FMRCIsICAgMHg0MDMwMTY5OCwgNSwgMSwgJ3gnLCAiIGFyYml0cmF0aW9uIGxvc3MgZGV0ZWN0ZWQgIiB9LAoreyAiSVNSX0lURSIsICAgMHg0MDMwMTY5OCwgNiwgMSwgJ3gnLCAiIHR4IGJ1ZmZlciBlbXB0eSAiIH0sCit7ICJJU1JfSVJGIiwgICAweDQwMzAxNjk4LCA3LCAxLCAneCcsICIgcnggYnVmZmVyIGZ1bGwgIiB9LAoreyAiSVNSX0dDQUQiLCAgMHg0MDMwMTY5OCwgOCwgMSwgJ3gnLCAiIGdlbmVyYWwgY2FsbCBhZGRyZXNzIGRldGVjdGVkICIgfSwKK3sgIklTUl9TQUQiLCAgIDB4NDAzMDE2OTgsIDksIDEsICd4JywgIiBzbGF2ZSBhZGRyZXNzIGRldGVjdGVkICIgfSwKK3sgIklTUl9CRUQiLCAgIDB4NDAzMDE2OTgsIDEwLCAxLCAneCcsICIgYnVzIGVycm9yIG5vIEFDSy9OQUsgIiB9LAorCit7ICJJU0FSIiwgICAgICAweDQwMzAxNkEwLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiSTJDIFNsYXZlIEFkZHJlc3MgUmVnaXN0ZXIiIH0sCit7ICJJU0FSX1NBIiwgICAweDQwMzAxNkEwLCAgMCwgMHgwMDAwMDA3ZiwgJ3gnLCAiSTJDIFNsYXZlIEFkZHJlc3MiIH0sCisKK3sgIlBNQ1IiLCAgICAgIDB4NDBGMDAwMDAsICAwLCAweGZmZmZmZmZmLCAneCcsICJQb3dlciBNYW5hZ2VyIENvbnRyb2wgUmVnaXN0ZXIgKDMtMjMpIiB9LAoreyAiUE1DUl9JREFFIiwgMHg0MEYwMDAwMCwgIDAsIDB4MDAwMDAwMDEsICdkJywgIlBNIGltcHJlY2lzZSBkYXRhIGFib3J0IGFib3J0IHNpZ25hbCIgfSwKKworeyAiUFNTUiIsICAgICAgMHg0MEYwMDAwNCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIlBvd2VyIE1hbmFnZXIgU2xlZXAgU3RhdHVzIFJlZ2lzdGVyICgzLTI5KSIgfSwKK3sgIlBTU1JfU1NTIiwgIDB4NDBGMDAwMDQsICAwLCAweDAwMDAwMDAxLCAnZCcsICJQTSBjaGlwIHdhcyBpbiBzbGVlcCBieSBzZXR0aW5nIHNsZWVwIG1vZGUgYml0IiB9LAoreyAiUFNTUl9CRlMiLCAgMHg0MEYwMDAwNCwgIDEsIDB4MDAwMDAwMDEsICdkJywgIlBNIG5CQVRUX0ZBVUxUIGhhcyBiZWVuIGFzc2VydGVkIiB9LAoreyAiUFNTUl9WRlMiLCAgMHg0MEYwMDAwNCwgIDIsIDB4MDAwMDAwMDEsICdkJywgIlBNIG5WRERfRkFVTFQgd2FzIGFzc2VydGVkIHdoaWxlIGluIFJ1biBvciBJZGxlIiB9LAoreyAiUFNTUl9QSCIsICAgMHg0MEYwMDAwNCwgIDQsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGlucyBhcmUgaGVsZCBpbiB0aGVpciBzbGVlcCBzdGF0ZSIgfSwKK3sgIlBTU1JfUkRIIiwgIDB4NDBGMDAwMDQsICA1LCAweDAwMDAwMDAxLCAnZCcsICJQTSByZWNlaXZlcnMgb2YgYWxsIGlucHV0IEdQSU8gYXJlIGRpc2FibGVkIiB9LAorCit7ICJQU1BSIiwgICAgICAweDQwRjAwMDA4LCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiUG93ZXIgTWFuYWdlciBTY3JhdGNoIFBhZCBSZWdpc3RlciAoMy0zMCkiIH0sCisKK3sgIlBXRVIiLCAgICAgIDB4NDBGMDAwMEMsICAwLCAweGZmZmZmZmZmLCAneCcsICJQb3dlciBNYW5hZ2VyIFdha2UtVXAgRW5hYmxlIFJlZ2lzdGVyICgzLTI1KSIgfSwKK3sgIlBXRVJfV0UwIiwgIDB4NDBGMDAwMEMsICAwLCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPIDAgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBXRVJfV0UxIiwgIDB4NDBGMDAwMEMsICAxLCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPIDEgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBXRVJfV0UyIiwgIDB4NDBGMDAwMEMsICAyLCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPIDIgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBXRVJfV0UzIiwgIDB4NDBGMDAwMEMsICAzLCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPIDMgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBXRVJfV0U0IiwgIDB4NDBGMDAwMEMsICA0LCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPIDQgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBXRVJfV0U1IiwgIDB4NDBGMDAwMEMsICA1LCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPIDUgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBXRVJfV0U2IiwgIDB4NDBGMDAwMEMsICA2LCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPIDYgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBXRVJfV0U3IiwgIDB4NDBGMDAwMEMsICA3LCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPIDcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBXRVJfV0U4IiwgIDB4NDBGMDAwMEMsICA4LCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPIDggZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBXRVJfV0U5IiwgIDB4NDBGMDAwMEMsICA5LCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPIDkgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBXRVJfV0UxMCIsIDB4NDBGMDAwMEMsIDEwLCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPMTAgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBXRVJfV0UxMSIsIDB4NDBGMDAwMEMsIDExLCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPMTEgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBXRVJfV0UxMiIsIDB4NDBGMDAwMEMsIDEyLCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPMTIgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBXRVJfV0UxMyIsIDB4NDBGMDAwMEMsIDEzLCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPMTMgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBXRVJfV0UxNCIsIDB4NDBGMDAwMEMsIDE0LCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPMTQgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBXRVJfV0UxNSIsIDB4NDBGMDAwMEMsIDE1LCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPMTUgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBXRVJfV0VSVEMiLDB4NDBGMDAwMEMsIDMxLCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBSVEMgYWxhcm0gZW5hYmxlZCIgfSwKKworeyAiUFJFUiIsICAgICAgMHg0MEYwMDAxMCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIlBvd2VyIE1hbmFnZXIgUmlzaW5nIEVkZ2UgRGV0ZWN0IEVuYWJsZSBSZWdpc3RlciAoMy0yNikiIH0sCit7ICJQUkVSX1JFMCIsICAweDQwRjAwMDEwLCAgMCwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gR1BJTyAwIHJpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiUFJFUl9SRTEiLCAgMHg0MEYwMDAxMCwgIDEsIDB4MDAwMDAwMDEsICdkJywgIlBNIHdha2UgdXAgZHVlIHRvIEdQSU8gMSByaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBSRVJfUkUyIiwgIDB4NDBGMDAwMTAsICAyLCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPIDIgcmlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJQUkVSX1JFMyIsICAweDQwRjAwMDEwLCAgMywgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gR1BJTyAzIHJpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiUFJFUl9SRTQiLCAgMHg0MEYwMDAxMCwgIDQsIDB4MDAwMDAwMDEsICdkJywgIlBNIHdha2UgdXAgZHVlIHRvIEdQSU8gNCByaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBSRVJfUkU1IiwgIDB4NDBGMDAwMTAsICA1LCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPIDUgcmlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJQUkVSX1JFNiIsICAweDQwRjAwMDEwLCAgNiwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gR1BJTyA2IHJpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiUFJFUl9SRTciLCAgMHg0MEYwMDAxMCwgIDcsIDB4MDAwMDAwMDEsICdkJywgIlBNIHdha2UgdXAgZHVlIHRvIEdQSU8gNyByaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBSRVJfUkU4IiwgIDB4NDBGMDAwMTAsICA4LCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPIDggcmlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJQUkVSX1JFOSIsICAweDQwRjAwMDEwLCAgOSwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gR1BJTyA5IHJpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiUFJFUl9SRTEwIiwgMHg0MEYwMDAxMCwgMTAsIDB4MDAwMDAwMDEsICdkJywgIlBNIHdha2UgdXAgZHVlIHRvIEdQSU8xMCByaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBSRVJfUkUxMSIsIDB4NDBGMDAwMTAsIDExLCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPMTEgcmlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJQUkVSX1JFMTIiLCAweDQwRjAwMDEwLCAxMiwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gR1BJTzEyIHJpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiUFJFUl9SRTEzIiwgMHg0MEYwMDAxMCwgMTMsIDB4MDAwMDAwMDEsICdkJywgIlBNIHdha2UgdXAgZHVlIHRvIEdQSU8xMyByaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBSRVJfUkUxNCIsIDB4NDBGMDAwMTAsIDE0LCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPMTQgcmlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJQUkVSX1JFMTUiLCAweDQwRjAwMDEwLCAxNSwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gR1BJTzE1IHJpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAorCit7ICJQRkVSIiwgICAgICAweDQwRjAwMDE0LCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiUG93ZXIgTWFuYWdlciBGYWxsaW5nIERldGVjdCBFbmFibGUgUmVnaXN0ZXIgKDMtMjcpIiB9LAoreyAiUEZFUl9GRTAiLCAgMHg0MEYwMDAxNCwgIDAsIDB4MDAwMDAwMDEsICdkJywgIlBNIHdha2UgdXAgZHVlIHRvIEdQSU8gMCBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJQRkVSX0ZFMSIsICAweDQwRjAwMDE0LCAgMSwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gR1BJTyAxIGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBGRVJfRkUyIiwgIDB4NDBGMDAwMTQsICAyLCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPIDIgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiUEZFUl9GRTMiLCAgMHg0MEYwMDAxNCwgIDMsIDB4MDAwMDAwMDEsICdkJywgIlBNIHdha2UgdXAgZHVlIHRvIEdQSU8gMyBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJQRkVSX0ZFNCIsICAweDQwRjAwMDE0LCAgNCwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gR1BJTyA0IGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBGRVJfRkU1IiwgIDB4NDBGMDAwMTQsICA1LCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPIDUgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiUEZFUl9GRTYiLCAgMHg0MEYwMDAxNCwgIDYsIDB4MDAwMDAwMDEsICdkJywgIlBNIHdha2UgdXAgZHVlIHRvIEdQSU8gNiBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJQRkVSX0ZFNyIsICAweDQwRjAwMDE0LCAgNywgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gR1BJTyA3IGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBGRVJfRkU4IiwgIDB4NDBGMDAwMTQsICA4LCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPIDggZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiUEZFUl9GRTkiLCAgMHg0MEYwMDAxNCwgIDksIDB4MDAwMDAwMDEsICdkJywgIlBNIHdha2UgdXAgZHVlIHRvIEdQSU8gOSBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJQRkVSX0ZFMTAiLCAweDQwRjAwMDE0LCAxMCwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gR1BJTzEwIGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBGRVJfRkUxMSIsIDB4NDBGMDAwMTQsIDExLCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPMTEgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiUEZFUl9GRTEyIiwgMHg0MEYwMDAxNCwgMTIsIDB4MDAwMDAwMDEsICdkJywgIlBNIHdha2UgdXAgZHVlIHRvIEdQSU8xMiBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJQRkVSX0ZFMTMiLCAweDQwRjAwMDE0LCAxMywgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gR1BJTzEzIGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBGRVJfRkUxNCIsIDB4NDBGMDAwMTQsIDE0LCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPMTQgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiUEZFUl9GRTE1IiwgMHg0MEYwMDAxNCwgMTUsIDB4MDAwMDAwMDEsICdkJywgIlBNIHdha2UgdXAgZHVlIHRvIEdQSU8xNSBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCisKK3sgIlBFRFIiLCAgICAgIDB4NDBGMDAwMTgsICAwLCAweGZmZmZmZmZmLCAneCcsICJQb3dlciBNYW5hZ2VyIEVkZ2UgRGV0ZWN0IFN0YXR1cyBSZWdpc3RlciAoMy0yOCkiIH0sCit7ICJQRURSX0VEMCIsICAweDQwRjAwMDE4LCAgMCwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gZWRnZSBvbiBHUElPIDAgZGV0ZWN0ZWQiIH0sCit7ICJQRURSX0VEMSIsICAweDQwRjAwMDE4LCAgMSwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gZWRnZSBvbiBHUElPIDEgZGV0ZWN0ZWQiIH0sCit7ICJQRURSX0VEMiIsICAweDQwRjAwMDE4LCAgMiwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gZWRnZSBvbiBHUElPIDIgZGV0ZWN0ZWQiIH0sCit7ICJQRURSX0VEMyIsICAweDQwRjAwMDE4LCAgMywgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gZWRnZSBvbiBHUElPIDMgZGV0ZWN0ZWQiIH0sCit7ICJQRURSX0VENCIsICAweDQwRjAwMDE4LCAgNCwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gZWRnZSBvbiBHUElPIDQgZGV0ZWN0ZWQiIH0sCit7ICJQRURSX0VENSIsICAweDQwRjAwMDE4LCAgNSwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gZWRnZSBvbiBHUElPIDUgZGV0ZWN0ZWQiIH0sCit7ICJQRURSX0VENiIsICAweDQwRjAwMDE4LCAgNiwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gZWRnZSBvbiBHUElPIDYgZGV0ZWN0ZWQiIH0sCit7ICJQRURSX0VENyIsICAweDQwRjAwMDE4LCAgNywgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gZWRnZSBvbiBHUElPIDcgZGV0ZWN0ZWQiIH0sCit7ICJQRURSX0VEOCIsICAweDQwRjAwMDE4LCAgOCwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gZWRnZSBvbiBHUElPIDggZGV0ZWN0ZWQiIH0sCit7ICJQRURSX0VEOSIsICAweDQwRjAwMDE4LCAgOSwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gZWRnZSBvbiBHUElPIDkgZGV0ZWN0ZWQiIH0sCit7ICJQRURSX0VEMTAiLCAweDQwRjAwMDE4LCAxMCwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gZWRnZSBvbiBHUElPMTAgZGV0ZWN0ZWQiIH0sCit7ICJQRURSX0VEMTEiLCAweDQwRjAwMDE4LCAxMSwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gZWRnZSBvbiBHUElPMTEgZGV0ZWN0ZWQiIH0sCit7ICJQRURSX0VEMTIiLCAweDQwRjAwMDE4LCAxMiwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gZWRnZSBvbiBHUElPMTIgZGV0ZWN0ZWQiIH0sCit7ICJQRURSX0VEMTMiLCAweDQwRjAwMDE4LCAxMywgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gZWRnZSBvbiBHUElPMTMgZGV0ZWN0ZWQiIH0sCit7ICJQRURSX0VEMTQiLCAweDQwRjAwMDE4LCAxNCwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gZWRnZSBvbiBHUElPMTQgZGV0ZWN0ZWQiIH0sCit7ICJQRURSX0VEMTUiLCAweDQwRjAwMDE4LCAxNSwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gZWRnZSBvbiBHUElPMTUgZGV0ZWN0ZWQiIH0sCisKK3sgIlBDRlIiLCAgICAgIDB4NDBGMDAwMUMsICAwLCAweGZmZmZmZmZmLCAneCcsICJQb3dlciBNYW5hZ2VyIEdlbmVyYWwgQ29uZmlndXJhdGlvbiBSZWdpc3RlciAoMy0yNCkiIH0sCit7ICJQQ0ZSX09QREUiLCAweDQwRjAwMDFDLCAgMCwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gc3RvcCAzLjY4NjQgTUh6IG9zY2lsbGF0b3IgZHVyaW5nIHNsZWVwIiB9LAoreyAiUENGUl9GUCIsICAgMHg0MEYwMDAxQywgIDEsIDB4MDAwMDAwMDEsICdkJywgIlBNIFBDTUNJQSBzaWduYWxzIGZsb2F0IGR1cmluZyBzbGVlcCIgfSwKK3sgIlBDRlJfRlMiLCAgIDB4NDBGMDAwMUMsICAyLCAweDAwMDAwMDAxLCAnZCcsICJQTSBzdGF0aWMgY2hpcCBzZWxlY3Qgc2lnbmFscyBmbG9hdCBkdXJpbmcgc2xlZXAiIH0sCisKK3sgIlBHU1IwIiwgICAgIDB4NDBGMDAwMjAsICAwLCAweGZmZmZmZmZmLCAneCcsICJQb3dlciBNYW5hZ2VyIEdQSU8gU2xlZXAgU3RhdGUgUmVnaXN0ZXIgMCAoMy0zMikiIH0sCit7ICJQR1NSX1NTMCIsICAweDQwRjAwMDIwLCAgMCwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gMCBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTMSIsICAweDQwRjAwMDIwLCAgMSwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gMSBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTMiIsICAweDQwRjAwMDIwLCAgMiwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gMiBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTMyIsICAweDQwRjAwMDIwLCAgMywgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gMyBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTNCIsICAweDQwRjAwMDIwLCAgNCwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gNCBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTNSIsICAweDQwRjAwMDIwLCAgNSwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gNSBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTNiIsICAweDQwRjAwMDIwLCAgNiwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gNiBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTNyIsICAweDQwRjAwMDIwLCAgNywgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gNyBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTOCIsICAweDQwRjAwMDIwLCAgOCwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gOCBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTOSIsICAweDQwRjAwMDIwLCAgOSwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gOSBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTMTAiLCAweDQwRjAwMDIwLCAxMCwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gMTAgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzExIiwgMHg0MEYwMDAyMCwgMTEsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDExIGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1MxMiIsIDB4NDBGMDAwMjAsIDEyLCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiAxMiBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTMTMiLCAweDQwRjAwMDIwLCAxMywgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gMTMgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzE0IiwgMHg0MEYwMDAyMCwgMTQsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDE0IGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1MxNSIsIDB4NDBGMDAwMjAsIDE1LCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiAxNSBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTMTYiLCAweDQwRjAwMDIwLCAxNiwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gMTYgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzE3IiwgMHg0MEYwMDAyMCwgMTcsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDE3IGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1MxOCIsIDB4NDBGMDAwMjAsIDE4LCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiAxOCBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTMTkiLCAweDQwRjAwMDIwLCAxOSwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gMTkgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzIwIiwgMHg0MEYwMDAyMCwgMjAsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDIwIGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1MyMSIsIDB4NDBGMDAwMjAsIDIxLCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiAyMSBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTMjIiLCAweDQwRjAwMDIwLCAyMiwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gMjIgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzIzIiwgMHg0MEYwMDAyMCwgMjMsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDIzIGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1MyNCIsIDB4NDBGMDAwMjAsIDI0LCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiAyNCBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTMjUiLCAweDQwRjAwMDIwLCAyNSwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gMjUgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzI2IiwgMHg0MEYwMDAyMCwgMjYsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDI2IGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1MyNyIsIDB4NDBGMDAwMjAsIDI3LCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiAyNyBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTMjgiLCAweDQwRjAwMDIwLCAyOCwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gMjggaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzI5IiwgMHg0MEYwMDAyMCwgMjksIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDI5IGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1MzMCIsIDB4NDBGMDAwMjAsIDMwLCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiAzMCBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTMzEiLCAweDQwRjAwMDIwLCAzMSwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gMzEgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAorCit7ICJQR1NSMSIsICAgICAweDQwRjAwMDI0LCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiUG93ZXIgTWFuYWdlciBHUElPIFNsZWVwIFN0YXRlIFJlZ2lzdGVyIDEgKDMtMzIpIiB9LAoreyAiUEdTUl9TUzMyIiwgMHg0MEYwMDAyNCwgIDAsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDMyIGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1MzMyIsIDB4NDBGMDAwMjQsICAxLCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiAzMyBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTMzQiLCAweDQwRjAwMDI0LCAgMiwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gMzQgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzM1IiwgMHg0MEYwMDAyNCwgIDMsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDM1IGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1MzNiIsIDB4NDBGMDAwMjQsICA0LCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiAzNiBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTMzciLCAweDQwRjAwMDI0LCAgNSwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gMzcgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzM4IiwgMHg0MEYwMDAyNCwgIDYsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDM4IGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1MzOSIsIDB4NDBGMDAwMjQsICA3LCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiAzOSBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTNDAiLCAweDQwRjAwMDI0LCAgOCwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gNDAgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzQxIiwgMHg0MEYwMDAyNCwgIDksIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDQxIGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1M0MiIsIDB4NDBGMDAwMjQsIDEwLCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiA0MiBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTNDMiLCAweDQwRjAwMDI0LCAxMSwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gNDMgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzQ0IiwgMHg0MEYwMDAyNCwgMTIsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDQ0IGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1M0NSIsIDB4NDBGMDAwMjQsIDEzLCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiA0NSBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTNDYiLCAweDQwRjAwMDI0LCAxNCwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gNDYgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzQ3IiwgMHg0MEYwMDAyNCwgMTUsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDQ3IGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1M0OCIsIDB4NDBGMDAwMjQsIDE2LCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiA0OCBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTNDkiLCAweDQwRjAwMDI0LCAxNywgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gNDkgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzUwIiwgMHg0MEYwMDAyNCwgMTgsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDUwIGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1M1MSIsIDB4NDBGMDAwMjQsIDE5LCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiA1MSBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTNTIiLCAweDQwRjAwMDI0LCAyMCwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gNTIgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzUzIiwgMHg0MEYwMDAyNCwgMjEsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDUzIGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1M1NCIsIDB4NDBGMDAwMjQsIDIyLCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiA1NCBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTNTUiLCAweDQwRjAwMDI0LCAyMywgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gNTUgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzU2IiwgMHg0MEYwMDAyNCwgMjQsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDU2IGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1M1NyIsIDB4NDBGMDAwMjQsIDI1LCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiA1NyBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTNTgiLCAweDQwRjAwMDI0LCAyNiwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gNTggaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzU5IiwgMHg0MEYwMDAyNCwgMjcsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDU5IGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1M2MCIsIDB4NDBGMDAwMjQsIDI4LCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiA2MCBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTNjEiLCAweDQwRjAwMDI0LCAyOSwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gNjEgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzYyIiwgMHg0MEYwMDAyNCwgMzAsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDYyIGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1M2MyIsIDB4NDBGMDAwMjQsIDMxLCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiA2MyBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCisKK3sgIlBHU1IyIiwgICAgIDB4NDBGMDAwMjgsICAwLCAweGZmZmZmZmZmLCAneCcsICJQb3dlciBNYW5hZ2VyIEdQSU8gU2xlZXAgU3RhdGUgUmVnaXN0ZXIgMiAoMy0zMykiIH0sCit7ICJQR1NSX1NTNjQiLCAweDQwRjAwMDI4LCAgMCwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gNjQgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzY1IiwgMHg0MEYwMDAyOCwgIDEsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDY1IGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1M2NiIsIDB4NDBGMDAwMjgsICAyLCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiA2NiBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTNjciLCAweDQwRjAwMDI4LCAgMywgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gNjcgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzY4IiwgMHg0MEYwMDAyOCwgIDQsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDY4IGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1M2OSIsIDB4NDBGMDAwMjgsICA1LCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiA2OSBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTNzAiLCAweDQwRjAwMDI4LCAgNiwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gNzAgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzcxIiwgMHg0MEYwMDAyOCwgIDcsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDcxIGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1M3MiIsIDB4NDBGMDAwMjgsICA4LCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiA3MiBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTNzMiLCAweDQwRjAwMDI4LCAgOSwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gNzMgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzc0IiwgMHg0MEYwMDAyOCwgMTAsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDc0IGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1M3NSIsIDB4NDBGMDAwMjgsIDExLCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiA3NSBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTNzYiLCAweDQwRjAwMDI4LCAxMiwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gNzYgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzc3IiwgMHg0MEYwMDAyOCwgMTMsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDc3IGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1M3OCIsIDB4NDBGMDAwMjgsIDE0LCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiA3OCBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTNzkiLCAweDQwRjAwMDI4LCAxNSwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gNzkgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzgwIiwgMHg0MEYwMDAyOCwgMTYsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDgwIGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKKworeyAiUkNTUiIsICAgICAgMHg0MEYwMDAzMCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIlBvd2VyIE1hbmFnZXIgUmVzZXQgQ29udHJvbGxlciBTdGF0dXMgUmVnaXN0ZXIgKDMtMzQpIiB9LAoreyAiUkNTUl9IV1IiLCAgMHg0MEYwMDAzMCwgIDAsIDB4MDAwMDAwMDEsICdkJywgIlBNIGhhcmR3YXJlIHJlc2V0IG9jY3VycmVkIiB9LAoreyAiUkNTUl9XRFIiLCAgMHg0MEYwMDAzMCwgIDEsIDB4MDAwMDAwMDEsICdkJywgIlBNIHdhdGNoZG9nIHJlc2V0IG9jY3VycmVkIiB9LAoreyAiUkNTUl9TTVIiLCAgMHg0MEYwMDAzMCwgIDIsIDB4MDAwMDAwMDEsICdkJywgIlBNIHNsZWVwIG1vZGUgb2NjdXJyZWQiIH0sCit7ICJSQ1NSX0dGUiIsICAweDQwRjAwMDMwLCAgMywgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyByZXNldCAgb2NjdXJyZWQiIH0sCisKKy8vIFBYQTI1NQoreyAiUE1GVyIsICAgICAgMHg0MEYwMDAzNCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIlBvd2VyIE1hbmFnZXIgRmFzdCBTbGVlcCBXYWtldXAgUmVnaXN0ZXIgKDMtMzEpIiB9LAoreyAiUE1GV19GV0FLRSIsMHg0MEYwMDAzNCwgIDEsIDB4MDAwMDAwMDEsICd4JywgIkZhc3QgV2FrZXVwIEVuYWJsZSIgfSwKKworeyAiQ0NDUiIsICAgICAgMHg0MTMwMDAwMCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkNvcmUgQ2xvY2sgQ29uZmlndXJhdGlvbiBSZWdpc3RlciAoMy0zNSkiIH0sCit7ICJDQ0NSX0wiLCAgICAweDQxMzAwMDAwLCAgMCwgMHgwMDAwMDAxZiwgJ3gnLCAiQ00gY3J5c3RhbCBmcmVxIHRvIG1lbW9yeSBmcmVxIG11bHRpcGxpZXIiIH0sCit7ICJDQ0NSX00iLCAgICAweDQxMzAwMDAwLCAgNSwgMHgwMDAwMDAwMywgJ3gnLCAiQ00gbWVtb3J5IGZyZXEgdG8gcnVuIG1vZGUgZnJlcSBtdWx0aXBsaWVyIiB9LAoreyAiQ0NDUl9OIiwgICAgMHg0MTMwMDAwMCwgIDcsIDB4MDAwMDAwMDcsICd4JywgIkNNIHJ1biBtb2RlIGZyZXEgdG8gdHVyYm8gZnJlcSBtdWx0aXBsaWVyIiB9LAorCit7ICJDS0VOIiwgICAgICAweDQxMzAwMDA0LCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiQ2xvY2sgRW5hYmxlIFJlZ2lzdGVyICgzLTM2KSIgfSwKK3sgIkNLRU5fMCIsICAgIDB4NDEzMDAwMDQsICAwLCAweDAwMDAwMDAxLCAnZCcsICJDTSBQV00wIGNsb2NrIGVuYWJsZWQiIH0sCit7ICJDS0VOXzEiLCAgICAweDQxMzAwMDA0LCAgMSwgMHgwMDAwMDAwMSwgJ2QnLCAiQ00gUFdNMSBjbG9jayBlbmFibGVkIiB9LAoreyAiQ0tFTl8yIiwgICAgMHg0MTMwMDAwNCwgIDIsIDB4MDAwMDAwMDEsICdkJywgIkNNIEFDOTcgY2xvY2sgZW5hYmxlZCIgfSwKK3sgIkNLRU5fMyIsICAgIDB4NDEzMDAwMDQsICAzLCAweDAwMDAwMDAxLCAnZCcsICJDTSBTU1AgY2xvY2sgZW5hYmxlZCIgfSwKK3sgIkNLRU5fNSIsICAgIDB4NDEzMDAwMDQsICA1LCAweDAwMDAwMDAxLCAnZCcsICJDTSBTVFVBUlQgY2xvY2sgZW5hYmxlZCIgfSwKK3sgIkNLRU5fNiIsICAgIDB4NDEzMDAwMDQsICA2LCAweDAwMDAwMDAxLCAnZCcsICJDTSBGRlVBUlQgY2xvY2sgZW5hYmxlZCIgfSwKK3sgIkNLRU5fNyIsICAgIDB4NDEzMDAwMDQsICA3LCAweDAwMDAwMDAxLCAnZCcsICJDTSBCVFVBUlQgY2xvY2sgZW5hYmxlZCIgfSwKK3sgIkNLRU5fOCIsICAgIDB4NDEzMDAwMDQsICA4LCAweDAwMDAwMDAxLCAnZCcsICJDTSBJMlMgY2xvY2sgZW5hYmxlZCIgfSwKK3sgIkNLRU5fMTEiLCAgIDB4NDEzMDAwMDQsIDExLCAweDAwMDAwMDAxLCAnZCcsICJDTSBVU0IgY2xvY2sgZW5hYmxlZCIgfSwKK3sgIkNLRU5fMTIiLCAgIDB4NDEzMDAwMDQsIDEyLCAweDAwMDAwMDAxLCAnZCcsICJDTSBNTUMgY2xvY2sgZW5hYmxlZCIgfSwKK3sgIkNLRU5fMTMiLCAgIDB4NDEzMDAwMDQsIDEzLCAweDAwMDAwMDAxLCAnZCcsICJDTSBGSVBDIGNsb2NrIGVuYWJsZWQiIH0sCit7ICJDS0VOXzE0IiwgICAweDQxMzAwMDA0LCAxNCwgMHgwMDAwMDAwMSwgJ2QnLCAiQ00gSTJDIGNsb2NrIGVuYWJsZWQiIH0sCit7ICJDS0VOXzE2IiwgICAweDQxMzAwMDA0LCAxNiwgMHgwMDAwMDAwMSwgJ2QnLCAiQ00gTENEIGNsb2NrIGVuYWJsZWQiIH0sCisKK3sgIk9TQ0MiLCAgICAgIDB4NDEzMDAwMDgsICAwLCAweGZmZmZmZmZmLCAneCcsICJPc2NpbGxhdG9yIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIgKDMtMzgpIiB9LAoreyAiT1NDQ19PT0siLCAgMHg0MTMwMDAwOCwgIDAsIDB4MDAwMDAwMDEsICdkJywgIkNNIDMyLjc2OCBrSHogb3NjaWxsYXRvciBlbmFibGVkIGFuZCBzdGFiaWxpemVkIiB9LAoreyAiT1NDQ19PT04iLCAgMHg0MTMwMDAwOCwgIDEsIDB4MDAwMDAwMDEsICdkJywgIkNNIDMyLjc2OCBrSHogb3NjaWxsYXRvciBlbmFibGVkIiB9LAorCisvLyBUT0RPOiBDUDE0LVJlZ2lzdGVycyAoMy0zNykKKworeyAiR1BMUjAiLCAgICAweDQwRTAwMDAwLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiR1BJTyBQaW4gTGV2ZWwgUmVnaXN0ZXIgMCAoNC03KSIgfSwKKyNpZiBkZWZpbmVkKENPTkZJR19BUkNIX1JBTVNFUykKK3sgIkdQTFIwXzAiLCAgMHg0MEUwMDAwMCwgIDAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMCAobmMpIGxldmVsIiB9LAoreyAiR1BMUjBfMSIsICAweDQwRTAwMDAwLCAgMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxIChuUEZJKSBsZXZlbCIgfSwKK3sgIkdQTFIwXzIiLCAgMHg0MEUwMDAwMCwgIDIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMiAoQkFUX0RBVEEpIGxldmVsIiB9LAoreyAiR1BMUjBfMyIsICAweDQwRTAwMDAwLCAgMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzIChJUlFfS0VZKSBsZXZlbCIgfSwKK3sgIkdQTFIwXzQiLCAgMHg0MEUwMDAwMCwgIDQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNCAoSVJRX0VUSCkgbGV2ZWwiIH0sCit7ICJHUExSMF81IiwgIDB4NDBFMDAwMDAsICA1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDUgKG5jKSBsZXZlbCIgfSwKK3sgIkdQTFIwXzYiLCAgMHg0MEUwMDAwMCwgIDYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNiAoTU1DX0NMSykgbGV2ZWwiIH0sCit7ICJHUExSMF83IiwgIDB4NDBFMDAwMDAsICA3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDcgKElSUV9HU00pIGxldmVsIiB9LAoreyAiR1BMUjBfOCIsICAweDQwRTAwMDAwLCAgOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA4IChuUENDX1MxX0NEKSBsZXZlbCIgfSwKK3sgIkdQTFIwXzkiLCAgMHg0MEUwMDAwMCwgIDksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gOSAoTU1DX0NEKSBsZXZlbCIgfSwKK3sgIkdQTFIwXzEwIiwgMHg0MEUwMDAwMCwgMTAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTAgKElSUV9SVEMpIGxldmVsIiB9LAoreyAiR1BMUjBfMTEiLCAweDQwRTAwMDAwLCAxMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxMSAobmMgM002KSBsZXZlbCIgfSwKK3sgIkdQTFIwXzEyIiwgMHg0MEUwMDAwMCwgMTIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTIgKG5jKSBsZXZlbCIgfSwKK3sgIkdQTFIwXzEzIiwgMHg0MEUwMDAwMCwgMTMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTMgKElSUV9ET0NLKSBsZXZlbCIgfSwKK3sgIkdQTFIwXzE0IiwgMHg0MEUwMDAwMCwgMTQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTQgKG5jKSBsZXZlbCIgfSwKK3sgIkdQTFIwXzE1IiwgMHg0MEUwMDAwMCwgMTUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTUgKG5DUzEpIGxldmVsIiB9LAoreyAiR1BMUjBfMTYiLCAweDQwRTAwMDAwLCAxNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxNiAoUFdNMCkgbGV2ZWwiIH0sCit7ICJHUExSMF8xNyIsIDB4NDBFMDAwMDAsIDE3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDE3IChQV00xKSBsZXZlbCIgfSwKK3sgIkdQTFIwXzE4IiwgMHg0MEUwMDAwMCwgMTgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTggKFJEWSkgbGV2ZWwiIH0sCit7ICJHUExSMF8xOSIsIDB4NDBFMDAwMDAsIDE5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDE5IChuYyBuUENDX1MwX0lSUSkgbGV2ZWwiIH0sCit7ICJHUExSMF8yMCIsIDB4NDBFMDAwMDAsIDIwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDIwIChuYykgbGV2ZWwiIH0sCit7ICJHUExSMF8yMSIsIDB4NDBFMDAwMDAsIDIxLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDIxIChBQzk3X0lSUSkgbGV2ZWwiIH0sCit7ICJHUExSMF8yMiIsIDB4NDBFMDAwMDAsIDIyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDIyIChuUENDX1MxX0lSUSkgbGV2ZWwiIH0sCit7ICJHUExSMF8yMyIsIDB4NDBFMDAwMDAsIDIzLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDIzIChVQVJUX0lOVEEpIGxldmVsIiB9LAoreyAiR1BMUjBfMjQiLCAweDQwRTAwMDAwLCAyNCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyNCAoVUFSVF9JTlRCKSBsZXZlbCIgfSwKK3sgIkdQTFIwXzI1IiwgMHg0MEUwMDAwMCwgMjUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjUgKFVBUlRfSU5UQykgbGV2ZWwiIH0sCit7ICJHUExSMF8yNiIsIDB4NDBFMDAwMDAsIDI2LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDI2IChVQVJUX0lOVEQpIGxldmVsIiB9LAoreyAiR1BMUjBfMjciLCAweDQwRTAwMDAwLCAyNywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyNyAobmMgQ1BMRF9GUkVFKSBsZXZlbCIgfSwKK3sgIkdQTFIwXzI4IiwgMHg0MEUwMDAwMCwgMjgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjggKEFVRF9CSVRDTEspIGxldmVsIiB9LAoreyAiR1BMUjBfMjkiLCAweDQwRTAwMDAwLCAyOSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyOSAoQVVEX1NESU4wKSBsZXZlbCIgfSwKK3sgIkdQTFIwXzMwIiwgMHg0MEUwMDAwMCwgMzAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzAgKEFVRF9TRE9VVCkgbGV2ZWwiIH0sCit7ICJHUExSMF8zMSIsIDB4NDBFMDAwMDAsIDMxLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDMxIChBVURfU1lOQykgbGV2ZWwiIH0sCisjZWxzZQoreyAiR1BMUjBfMCIsICAweDQwRTAwMDAwLCAgMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAwIGxldmVsIiB9LAoreyAiR1BMUjBfMSIsICAweDQwRTAwMDAwLCAgMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxIGxldmVsIiB9LAoreyAiR1BMUjBfMiIsICAweDQwRTAwMDAwLCAgMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyIGxldmVsIiB9LAoreyAiR1BMUjBfMyIsICAweDQwRTAwMDAwLCAgMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzIGxldmVsIiB9LAoreyAiR1BMUjBfNCIsICAweDQwRTAwMDAwLCAgNCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0IGxldmVsIiB9LAoreyAiR1BMUjBfNSIsICAweDQwRTAwMDAwLCAgNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1IGxldmVsIiB9LAoreyAiR1BMUjBfNiIsICAweDQwRTAwMDAwLCAgNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2IGxldmVsIiB9LAoreyAiR1BMUjBfNyIsICAweDQwRTAwMDAwLCAgNywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3IGxldmVsIiB9LAoreyAiR1BMUjBfOCIsICAweDQwRTAwMDAwLCAgOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA4IGxldmVsIiB9LAoreyAiR1BMUjBfOSIsICAweDQwRTAwMDAwLCAgOSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA5IGxldmVsIiB9LAoreyAiR1BMUjBfMTAiLCAweDQwRTAwMDAwLCAxMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxMCBsZXZlbCIgfSwKK3sgIkdQTFIwXzExIiwgMHg0MEUwMDAwMCwgMTEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTEgbGV2ZWwiIH0sCit7ICJHUExSMF8xMiIsIDB4NDBFMDAwMDAsIDEyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDEyIGxldmVsIiB9LAoreyAiR1BMUjBfMTMiLCAweDQwRTAwMDAwLCAxMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxMyBsZXZlbCIgfSwKK3sgIkdQTFIwXzE0IiwgMHg0MEUwMDAwMCwgMTQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTQgbGV2ZWwiIH0sCit7ICJHUExSMF8xNSIsIDB4NDBFMDAwMDAsIDE1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDE1IGxldmVsIiB9LAoreyAiR1BMUjBfMTYiLCAweDQwRTAwMDAwLCAxNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxNiBsZXZlbCIgfSwKK3sgIkdQTFIwXzE3IiwgMHg0MEUwMDAwMCwgMTcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTcgbGV2ZWwiIH0sCit7ICJHUExSMF8xOCIsIDB4NDBFMDAwMDAsIDE4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDE4IGxldmVsIiB9LAoreyAiR1BMUjBfMTkiLCAweDQwRTAwMDAwLCAxOSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxOSBsZXZlbCIgfSwKK3sgIkdQTFIwXzIwIiwgMHg0MEUwMDAwMCwgMjAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjAgbGV2ZWwiIH0sCit7ICJHUExSMF8yMSIsIDB4NDBFMDAwMDAsIDIxLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDIxIGxldmVsIiB9LAoreyAiR1BMUjBfMjIiLCAweDQwRTAwMDAwLCAyMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyMiBsZXZlbCIgfSwKK3sgIkdQTFIwXzIzIiwgMHg0MEUwMDAwMCwgMjMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjMgbGV2ZWwiIH0sCit7ICJHUExSMF8yNCIsIDB4NDBFMDAwMDAsIDI0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDI0IGxldmVsIiB9LAoreyAiR1BMUjBfMjUiLCAweDQwRTAwMDAwLCAyNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyNSBsZXZlbCIgfSwKK3sgIkdQTFIwXzI2IiwgMHg0MEUwMDAwMCwgMjYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjYgbGV2ZWwiIH0sCit7ICJHUExSMF8yNyIsIDB4NDBFMDAwMDAsIDI3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDI3IGxldmVsIiB9LAoreyAiR1BMUjBfMjgiLCAweDQwRTAwMDAwLCAyOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyOCBsZXZlbCIgfSwKK3sgIkdQTFIwXzI5IiwgMHg0MEUwMDAwMCwgMjksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjkgbGV2ZWwiIH0sCit7ICJHUExSMF8zMCIsIDB4NDBFMDAwMDAsIDMwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDMwIGxldmVsIiB9LAoreyAiR1BMUjBfMzEiLCAweDQwRTAwMDAwLCAzMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzMSBsZXZlbCIgfSwKKyNlbmRpZgorCit7ICJHUExSMSIsICAgIDB4NDBFMDAwMDQsICAwLCAweGZmZmZmZmZmLCAneCcsICJHUElPIExldmVsIFJlZ2lzdGVyIDEgKDQtOCkiIH0sCisjaWYgZGVmaW5lZChDT05GSUdfQVJDSF9SQU1TRVMpCit7ICJHUExSMV8zMiIsIDB4NDBFMDAwMDQsICAwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDMyIChBVURfU0RJTjEpIGxldmVsIiB9LAoreyAiR1BMUjFfMzMiLCAweDQwRTAwMDA0LCAgMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzMyAobkNTNSkgbGV2ZWwiIH0sCit7ICJHUExSMV8zNCIsIDB4NDBFMDAwMDQsICAyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDM0IChGRl9SWEQpIGxldmVsIiB9LAoreyAiR1BMUjFfMzUiLCAweDQwRTAwMDA0LCAgMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzNSAoRkZfQ1RTKSBsZXZlbCIgfSwKK3sgIkdQTFIxXzM2IiwgMHg0MEUwMDAwNCwgIDQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzYgKEZGX0RDRCkgbGV2ZWwiIH0sCit7ICJHUExSMV8zNyIsIDB4NDBFMDAwMDQsICA1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDM3IChGRl9EU1IpIGxldmVsIiB9LAoreyAiR1BMUjFfMzgiLCAweDQwRTAwMDA0LCAgNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzOCAoRkZfUkkpIGxldmVsIiB9LAoreyAiR1BMUjFfMzkiLCAweDQwRTAwMDA0LCAgNywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzOSAoRkZfVFhEKSBsZXZlbCIgfSwKK3sgIkdQTFIxXzQwIiwgMHg0MEUwMDAwNCwgIDgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDAgKEZGX0RUUikgbGV2ZWwiIH0sCit7ICJHUExSMV80MSIsIDB4NDBFMDAwMDQsICA5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQxIChGRl9SVFMpIGxldmVsIiB9LAoreyAiR1BMUjFfNDIiLCAweDQwRTAwMDA0LCAxMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0MiAoQlRfUlhEKSBsZXZlbCIgfSwKK3sgIkdQTFIxXzQzIiwgMHg0MEUwMDAwNCwgMTEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDMgKEJUX1RYRCkgbGV2ZWwiIH0sCit7ICJHUExSMV80NCIsIDB4NDBFMDAwMDQsIDEyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQ0IChCVF9DVFMpIGxldmVsIiB9LAoreyAiR1BMUjFfNDUiLCAweDQwRTAwMDA0LCAxMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0NSAoQlRfUlRTKSBsZXZlbCIgfSwKK3sgIkdQTFIxXzQ2IiwgMHg0MEUwMDAwNCwgMTQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDYgKElSX1JYRCkgbGV2ZWwiIH0sCit7ICJHUExSMV80NyIsIDB4NDBFMDAwMDQsIDE1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQ3IChJUl9UWEQpIGxldmVsIiB9LAoreyAiR1BMUjFfNDgiLCAweDQwRTAwMDA0LCAxNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0OCAoblBPRSkgbGV2ZWwiIH0sCit7ICJHUExSMV80OSIsIDB4NDBFMDAwMDQsIDE3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQ5IChuUFdFKSBsZXZlbCIgfSwKK3sgIkdQTFIxXzUwIiwgMHg0MEUwMDAwNCwgMTgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTAgKG5QSU9SKSBsZXZlbCIgfSwKK3sgIkdQTFIxXzUxIiwgMHg0MEUwMDAwNCwgMTksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTEgKG5QSU9XKSBsZXZlbCIgfSwKK3sgIkdQTFIxXzUyIiwgMHg0MEUwMDAwNCwgMjAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTIgKG5QQ0UxKSBsZXZlbCIgfSwKK3sgIkdQTFIxXzUzIiwgMHg0MEUwMDAwNCwgMjEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTMgKG5QQ0UyKSBsZXZlbCIgfSwKK3sgIkdQTFIxXzU0IiwgMHg0MEUwMDAwNCwgMjIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTQgKG5QS1RTRUwpIGxldmVsIiB9LAoreyAiR1BMUjFfNTUiLCAweDQwRTAwMDA0LCAyMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1NSAoblBSRUcpIGxldmVsIiB9LAoreyAiR1BMUjFfNTYiLCAweDQwRTAwMDA0LCAyNCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1NiAoblBXQUlUKSBsZXZlbCIgfSwKK3sgIkdQTFIxXzU3IiwgMHg0MEUwMDAwNCwgMjUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTcgKG5JT0lTMTYpIGxldmVsIiB9LAoreyAiR1BMUjFfNTgiLCAweDQwRTAwMDA0LCAyNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1OCAoTEREMCkgbGV2ZWwiIH0sCit7ICJHUExSMV81OSIsIDB4NDBFMDAwMDQsIDI3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDU5IChMREQxKSBsZXZlbCIgfSwKK3sgIkdQTFIxXzYwIiwgMHg0MEUwMDAwNCwgMjgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjAgKExERDIpIGxldmVsIiB9LAoreyAiR1BMUjFfNjEiLCAweDQwRTAwMDA0LCAyOSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2MSAoTEREMykgbGV2ZWwiIH0sCit7ICJHUExSMV82MiIsIDB4NDBFMDAwMDQsIDMwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDYyIChMREQ0KSBsZXZlbCIgfSwKK3sgIkdQTFIxXzYzIiwgMHg0MEUwMDAwNCwgMzEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjMgKExERDUpIGxldmVsIiB9LAorI2Vsc2UKK3sgIkdQTFIxXzMyIiwgMHg0MEUwMDAwNCwgIDAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzIgbGV2ZWwiIH0sCit7ICJHUExSMV8zMyIsIDB4NDBFMDAwMDQsICAxLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDMzIGxldmVsIiB9LAoreyAiR1BMUjFfMzQiLCAweDQwRTAwMDA0LCAgMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzNCBsZXZlbCIgfSwKK3sgIkdQTFIxXzM1IiwgMHg0MEUwMDAwNCwgIDMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzUgbGV2ZWwiIH0sCit7ICJHUExSMV8zNiIsIDB4NDBFMDAwMDQsICA0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDM2IGxldmVsIiB9LAoreyAiR1BMUjFfMzciLCAweDQwRTAwMDA0LCAgNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzNyBsZXZlbCIgfSwKK3sgIkdQTFIxXzM4IiwgMHg0MEUwMDAwNCwgIDYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzggbGV2ZWwiIH0sCit7ICJHUExSMV8zOSIsIDB4NDBFMDAwMDQsICA3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDM5IGxldmVsIiB9LAoreyAiR1BMUjFfNDAiLCAweDQwRTAwMDA0LCAgOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0MCBsZXZlbCIgfSwKK3sgIkdQTFIxXzQxIiwgMHg0MEUwMDAwNCwgIDksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDEgbGV2ZWwiIH0sCit7ICJHUExSMV80MiIsIDB4NDBFMDAwMDQsIDEwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQyIGxldmVsIiB9LAoreyAiR1BMUjFfNDMiLCAweDQwRTAwMDA0LCAxMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0MyBsZXZlbCIgfSwKK3sgIkdQTFIxXzQ0IiwgMHg0MEUwMDAwNCwgMTIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDQgbGV2ZWwiIH0sCit7ICJHUExSMV80NSIsIDB4NDBFMDAwMDQsIDEzLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQ1IGxldmVsIiB9LAoreyAiR1BMUjFfNDYiLCAweDQwRTAwMDA0LCAxNCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0NiBsZXZlbCIgfSwKK3sgIkdQTFIxXzQ3IiwgMHg0MEUwMDAwNCwgMTUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDcgbGV2ZWwiIH0sCit7ICJHUExSMV80OCIsIDB4NDBFMDAwMDQsIDE2LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQ4IGxldmVsIiB9LAoreyAiR1BMUjFfNDkiLCAweDQwRTAwMDA0LCAxNywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0OSBsZXZlbCIgfSwKK3sgIkdQTFIxXzUwIiwgMHg0MEUwMDAwNCwgMTgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTAgbGV2ZWwiIH0sCit7ICJHUExSMV81MSIsIDB4NDBFMDAwMDQsIDE5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDUxIGxldmVsIiB9LAoreyAiR1BMUjFfNTIiLCAweDQwRTAwMDA0LCAyMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1MiBsZXZlbCIgfSwKK3sgIkdQTFIxXzUzIiwgMHg0MEUwMDAwNCwgMjEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTMgbGV2ZWwiIH0sCit7ICJHUExSMV81NCIsIDB4NDBFMDAwMDQsIDIyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDU0IGxldmVsIiB9LAoreyAiR1BMUjFfNTUiLCAweDQwRTAwMDA0LCAyMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1NSBsZXZlbCIgfSwKK3sgIkdQTFIxXzU2IiwgMHg0MEUwMDAwNCwgMjQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTYgbGV2ZWwiIH0sCit7ICJHUExSMV81NyIsIDB4NDBFMDAwMDQsIDI1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDU3IGxldmVsIiB9LAoreyAiR1BMUjFfNTgiLCAweDQwRTAwMDA0LCAyNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1OCBsZXZlbCIgfSwKK3sgIkdQTFIxXzU5IiwgMHg0MEUwMDAwNCwgMjcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTkgbGV2ZWwiIH0sCit7ICJHUExSMV82MCIsIDB4NDBFMDAwMDQsIDI4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDYwIGxldmVsIiB9LAoreyAiR1BMUjFfNjEiLCAweDQwRTAwMDA0LCAyOSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2MSBsZXZlbCIgfSwKK3sgIkdQTFIxXzYyIiwgMHg0MEUwMDAwNCwgMzAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjIgbGV2ZWwiIH0sCit7ICJHUExSMV82MyIsIDB4NDBFMDAwMDQsIDMxLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDYzIGxldmVsIiB9LAorI2VuZGlmCisKK3sgIkdQTFIyIiwgICAgMHg0MEUwMDAwOCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkdQSU8gTGV2ZWwgUmVnaXN0ZXIgMiAoNC04KSIgfSwKKyNpZiBkZWZpbmVkKENPTkZJR19BUkNIX1JBTVNFUykKK3sgIkdQTFIyXzY0IiwgMHg0MEUwMDAwOCwgIDAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjQgKExERDYpIGxldmVsIiB9LAoreyAiR1BMUjJfNjUiLCAweDQwRTAwMDA4LCAgMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2NSAoTERENykgbGV2ZWwiIH0sCit7ICJHUExSMl82NiIsIDB4NDBFMDAwMDgsICAyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDY2IChuYykgbGV2ZWwiIH0sCit7ICJHUExSMl82NyIsIDB4NDBFMDAwMDgsICAzLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDY3IChuYykgbGV2ZWwiIH0sCit7ICJHUExSMl82OCIsIDB4NDBFMDAwMDgsICA0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDY4IChuYykgbGV2ZWwiIH0sCit7ICJHUExSMl82OSIsIDB4NDBFMDAwMDgsICA1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDY5IChuYykgbGV2ZWwiIH0sCit7ICJHUExSMl83MCIsIDB4NDBFMDAwMDgsICA2LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDcwIChuYykgbGV2ZWwiIH0sCit7ICJHUExSMl83MSIsIDB4NDBFMDAwMDgsICA3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDcxIChuYykgbGV2ZWwiIH0sCit7ICJHUExSMl83MiIsIDB4NDBFMDAwMDgsICA4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDcyIChuYykgbGV2ZWwiIH0sCit7ICJHUExSMl83MyIsIDB4NDBFMDAwMDgsICA5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDczIChuYykgbGV2ZWwiIH0sCit7ICJHUExSMl83NCIsIDB4NDBFMDAwMDgsIDEwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDc0IChGQ0xLKSBsZXZlbCIgfSwKK3sgIkdQTFIyXzc1IiwgMHg0MEUwMDAwOCwgMTEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzUgKExDTEspIGxldmVsIiB9LAoreyAiR1BMUjJfNzYiLCAweDQwRTAwMDA4LCAxMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3NiAoUENMSykgbGV2ZWwiIH0sCit7ICJHUExSMl83NyIsIDB4NDBFMDAwMDgsIDEzLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDc3IChCSUFTKSBsZXZlbCIgfSwKK3sgIkdQTFIyXzc4IiwgMHg0MEUwMDAwOCwgMTQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzggKG5DUzIpIGxldmVsIiB9LAoreyAiR1BMUjJfNzkiLCAweDQwRTAwMDA4LCAxNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3OSAobkNTMykgbGV2ZWwiIH0sCit7ICJHUExSMl84MCIsIDB4NDBFMDAwMDgsIDE2LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDgwIChuQ1M0KSBsZXZlbCIgfSwKK3sgIkdQTFIyXzgxIiwgMHg0MEUwMDAwOCwgMTcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gODEgKG5jKSBsZXZlbCIgfSwKK3sgIkdQTFIyXzgyIiwgMHg0MEUwMDAwOCwgMTgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gODIgKG5jKSBsZXZlbCIgfSwKK3sgIkdQTFIyXzgzIiwgMHg0MEUwMDAwOCwgMTksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gODMgKG5jKSBsZXZlbCIgfSwKK3sgIkdQTFIyXzg0IiwgMHg0MEUwMDAwOCwgMjAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gODQgKG5jKSBsZXZlbCIgfSwKKyNlbHNlCit7ICJHUExSMl82NCIsIDB4NDBFMDAwMDgsICAwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDY0IGxldmVsIiB9LAoreyAiR1BMUjJfNjUiLCAweDQwRTAwMDA4LCAgMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2NSBsZXZlbCIgfSwKK3sgIkdQTFIyXzY2IiwgMHg0MEUwMDAwOCwgIDIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjYgbGV2ZWwiIH0sCit7ICJHUExSMl82NyIsIDB4NDBFMDAwMDgsICAzLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDY3IGxldmVsIiB9LAoreyAiR1BMUjJfNjgiLCAweDQwRTAwMDA4LCAgNCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2OCBsZXZlbCIgfSwKK3sgIkdQTFIyXzY5IiwgMHg0MEUwMDAwOCwgIDUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjkgbGV2ZWwiIH0sCit7ICJHUExSMl83MCIsIDB4NDBFMDAwMDgsICA2LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDcwIGxldmVsIiB9LAoreyAiR1BMUjJfNzEiLCAweDQwRTAwMDA4LCAgNywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3MSBsZXZlbCIgfSwKK3sgIkdQTFIyXzcyIiwgMHg0MEUwMDAwOCwgIDgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzIgbGV2ZWwiIH0sCit7ICJHUExSMl83MyIsIDB4NDBFMDAwMDgsICA5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDczIGxldmVsIiB9LAoreyAiR1BMUjJfNzQiLCAweDQwRTAwMDA4LCAxMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3NCBsZXZlbCIgfSwKK3sgIkdQTFIyXzc1IiwgMHg0MEUwMDAwOCwgMTEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzUgbGV2ZWwiIH0sCit7ICJHUExSMl83NiIsIDB4NDBFMDAwMDgsIDEyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDc2IGxldmVsIiB9LAoreyAiR1BMUjJfNzciLCAweDQwRTAwMDA4LCAxMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3NyBsZXZlbCIgfSwKK3sgIkdQTFIyXzc4IiwgMHg0MEUwMDAwOCwgMTQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzggbGV2ZWwiIH0sCit7ICJHUExSMl83OSIsIDB4NDBFMDAwMDgsIDE1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDc5IGxldmVsIiB9LAoreyAiR1BMUjJfODAiLCAweDQwRTAwMDA4LCAxNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA4MCBsZXZlbCIgfSwKK3sgIkdQTFIyXzgxIiwgMHg0MEUwMDAwOCwgMTcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gODEgbGV2ZWwiIH0sCit7ICJHUExSMl84MiIsIDB4NDBFMDAwMDgsIDE4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDgyIGxldmVsIiB9LAoreyAiR1BMUjJfODMiLCAweDQwRTAwMDA4LCAxOSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA4MyBsZXZlbCIgfSwKK3sgIkdQTFIyXzg0IiwgMHg0MEUwMDAwOCwgMjAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gODQgbGV2ZWwiIH0sCisjZW5kaWYKKworeyAiR1BEUjAiLCAgICAweDQwRTAwMDBDLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiR1BJTyBEaXJlY3Rpb24gUmVnaXN0ZXIgMCAoNC05KSIgfSwKK3sgIkdQRFIwXzAiLCAgMHg0MEUwMDAwQywgIDAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMCBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMF8xIiwgIDB4NDBFMDAwMEMsICAxLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDEgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjBfMiIsICAweDQwRTAwMDBDLCAgMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyIGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIwXzMiLCAgMHg0MEUwMDAwQywgIDMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMyBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMF80IiwgIDB4NDBFMDAwMEMsICA0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjBfNSIsICAweDQwRTAwMDBDLCAgNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1IGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIwXzYiLCAgMHg0MEUwMDAwQywgIDYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNiBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMF83IiwgIDB4NDBFMDAwMEMsICA3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDcgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjBfOCIsICAweDQwRTAwMDBDLCAgOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA4IGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIwXzkiLCAgMHg0MEUwMDAwQywgIDksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gOSBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMF8xMCIsIDB4NDBFMDAwMEMsIDEwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDEwIGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIwXzExIiwgMHg0MEUwMDAwQywgMTEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTEgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjBfMTIiLCAweDQwRTAwMDBDLCAxMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxMiBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMF8xMyIsIDB4NDBFMDAwMEMsIDEzLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDEzIGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIwXzE0IiwgMHg0MEUwMDAwQywgMTQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTQgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjBfMTUiLCAweDQwRTAwMDBDLCAxNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxNSBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMF8xNiIsIDB4NDBFMDAwMEMsIDE2LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDE2IGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIwXzE3IiwgMHg0MEUwMDAwQywgMTcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTcgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjBfMTgiLCAweDQwRTAwMDBDLCAxOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxOCBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMF8xOSIsIDB4NDBFMDAwMEMsIDE5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDE5IGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIwXzIwIiwgMHg0MEUwMDAwQywgMjAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjAgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjBfMjEiLCAweDQwRTAwMDBDLCAyMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyMSBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMF8yMiIsIDB4NDBFMDAwMEMsIDIyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDIyIGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIwXzIzIiwgMHg0MEUwMDAwQywgMjMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjMgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjBfMjQiLCAweDQwRTAwMDBDLCAyNCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyNCBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMF8yNSIsIDB4NDBFMDAwMEMsIDI1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDI1IGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIwXzI2IiwgMHg0MEUwMDAwQywgMjYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjYgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjBfMjciLCAweDQwRTAwMDBDLCAyNywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyNyBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMF8yOCIsIDB4NDBFMDAwMEMsIDI4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDI4IGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIwXzI5IiwgMHg0MEUwMDAwQywgMjksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjkgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjBfMzAiLCAweDQwRTAwMDBDLCAzMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzMCBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMF8zMSIsIDB4NDBFMDAwMEMsIDMxLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDMxIGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKKworeyAiR1BEUjEiLCAgICAweDQwRTAwMDEwLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiR1BJTyBEaXJlY3Rpb24gUmVnaXN0ZXIgMSAoNC05KSIgfSwKK3sgIkdQRFIxXzMyIiwgMHg0MEUwMDAxMCwgIDAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzIgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjFfMzMiLCAweDQwRTAwMDEwLCAgMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzMyBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMV8zNCIsIDB4NDBFMDAwMTAsICAyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDM0IGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIxXzM1IiwgMHg0MEUwMDAxMCwgIDMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzUgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjFfMzYiLCAweDQwRTAwMDEwLCAgNCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzNiBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMV8zNyIsIDB4NDBFMDAwMTAsICA1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDM3IGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIxXzM4IiwgMHg0MEUwMDAxMCwgIDYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzggaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjFfMzkiLCAweDQwRTAwMDEwLCAgNywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzOSBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMV80MCIsIDB4NDBFMDAwMTAsICA4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQwIGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIxXzQxIiwgMHg0MEUwMDAxMCwgIDksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDEgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjFfNDIiLCAweDQwRTAwMDEwLCAxMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0MiBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMV80MyIsIDB4NDBFMDAwMTAsIDExLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQzIGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIxXzQ0IiwgMHg0MEUwMDAxMCwgMTIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDQgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjFfNDUiLCAweDQwRTAwMDEwLCAxMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0NSBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMV80NiIsIDB4NDBFMDAwMTAsIDE0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQ2IGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIxXzQ3IiwgMHg0MEUwMDAxMCwgMTUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDcgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjFfNDgiLCAweDQwRTAwMDEwLCAxNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0OCBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMV80OSIsIDB4NDBFMDAwMTAsIDE3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQ5IGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIxXzUwIiwgMHg0MEUwMDAxMCwgMTgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTAgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjFfNTEiLCAweDQwRTAwMDEwLCAxOSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1MSBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMV81MiIsIDB4NDBFMDAwMTAsIDIwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDUyIGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIxXzUzIiwgMHg0MEUwMDAxMCwgMjEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTMgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjFfNTQiLCAweDQwRTAwMDEwLCAyMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1NCBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMV81NSIsIDB4NDBFMDAwMTAsIDIzLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDU1IGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIxXzU2IiwgMHg0MEUwMDAxMCwgMjQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTYgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjFfNTciLCAweDQwRTAwMDEwLCAyNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1NyBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMV81OCIsIDB4NDBFMDAwMTAsIDI2LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDU4IGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIxXzU5IiwgMHg0MEUwMDAxMCwgMjcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTkgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjFfNjAiLCAweDQwRTAwMDEwLCAyOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2MCBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMV82MSIsIDB4NDBFMDAwMTAsIDI5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDYxIGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIxXzYyIiwgMHg0MEUwMDAxMCwgMzAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjIgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjFfNjMiLCAweDQwRTAwMDEwLCAzMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2MyBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCisKK3sgIkdQRFIyIiwgICAgMHg0MEUwMDAxNCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkdQSU8gRGlyZWN0aW9uIFJlZ2lzdGVyIDIgKDQtOSkiIH0sCit7ICJHUERSMl82NCIsIDB4NDBFMDAwMTQsICAwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDY0IGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIyXzY1IiwgMHg0MEUwMDAxNCwgIDEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjUgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjJfNjYiLCAweDQwRTAwMDE0LCAgMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2NiBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMl82NyIsIDB4NDBFMDAwMTQsICAzLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDY3IGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIyXzY4IiwgMHg0MEUwMDAxNCwgIDQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjggaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjJfNjkiLCAweDQwRTAwMDE0LCAgNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2OSBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMl83MCIsIDB4NDBFMDAwMTQsICA2LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDcwIGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIyXzcxIiwgMHg0MEUwMDAxNCwgIDcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzEgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjJfNzIiLCAweDQwRTAwMDE0LCAgOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3MiBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMl83MyIsIDB4NDBFMDAwMTQsICA5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDczIGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIyXzc0IiwgMHg0MEUwMDAxNCwgMTAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzQgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjJfNzUiLCAweDQwRTAwMDE0LCAxMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3NSBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMl83NiIsIDB4NDBFMDAwMTQsIDEyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDc2IGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIyXzc3IiwgMHg0MEUwMDAxNCwgMTMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzcgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjJfNzgiLCAweDQwRTAwMDE0LCAxNCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3OCBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMl83OSIsIDB4NDBFMDAwMTQsIDE1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDc5IGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIyXzgwIiwgMHg0MEUwMDAxNCwgMTYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gODAgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjJfODEiLCAweDQwRTAwMDE0LCAxNywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA4MSBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMl84MiIsIDB4NDBFMDAwMTQsIDE4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDgyIGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIyXzgzIiwgMHg0MEUwMDAxNCwgMTksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gODMgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjJfODQiLCAweDQwRTAwMDE0LCAyMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA4NCBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCisKK3sgIkdQU1IwIiwgICAgMHg0MEUwMDAxOCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkdQSU8gU2V0IFJlZ2lzdGVyIDAgKDQtMTApIiB9LAoreyAiR1BTUjBfMCIsICAweDQwRTAwMDE4LCAgMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAwIHNldCIgfSwKK3sgIkdQU1IwXzEiLCAgMHg0MEUwMDAxOCwgIDEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMSBzZXQiIH0sCit7ICJHUFNSMF8yIiwgIDB4NDBFMDAwMTgsICAyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDIgc2V0IiB9LAoreyAiR1BTUjBfMyIsICAweDQwRTAwMDE4LCAgMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzIHNldCIgfSwKK3sgIkdQU1IwXzQiLCAgMHg0MEUwMDAxOCwgIDQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNCBzZXQiIH0sCit7ICJHUFNSMF81IiwgIDB4NDBFMDAwMTgsICA1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDUgc2V0IiB9LAoreyAiR1BTUjBfNiIsICAweDQwRTAwMDE4LCAgNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2IHNldCIgfSwKK3sgIkdQU1IwXzciLCAgMHg0MEUwMDAxOCwgIDcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNyBzZXQiIH0sCit7ICJHUFNSMF84IiwgIDB4NDBFMDAwMTgsICA4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDggc2V0IiB9LAoreyAiR1BTUjBfOSIsICAweDQwRTAwMDE4LCAgOSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA5IHNldCIgfSwKK3sgIkdQU1IwXzEwIiwgMHg0MEUwMDAxOCwgMTAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTAgc2V0IiB9LAoreyAiR1BTUjBfMTEiLCAweDQwRTAwMDE4LCAxMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxMSBzZXQiIH0sCit7ICJHUFNSMF8xMiIsIDB4NDBFMDAwMTgsIDEyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDEyIHNldCIgfSwKK3sgIkdQU1IwXzEzIiwgMHg0MEUwMDAxOCwgMTMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTMgc2V0IiB9LAoreyAiR1BTUjBfMTQiLCAweDQwRTAwMDE4LCAxNCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxNCBzZXQiIH0sCit7ICJHUFNSMF8xNSIsIDB4NDBFMDAwMTgsIDE1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDE1IHNldCIgfSwKK3sgIkdQU1IwXzE2IiwgMHg0MEUwMDAxOCwgMTYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTYgc2V0IiB9LAoreyAiR1BTUjBfMTciLCAweDQwRTAwMDE4LCAxNywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxNyBzZXQiIH0sCit7ICJHUFNSMF8xOCIsIDB4NDBFMDAwMTgsIDE4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDE4IHNldCIgfSwKK3sgIkdQU1IwXzE5IiwgMHg0MEUwMDAxOCwgMTksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTkgc2V0IiB9LAoreyAiR1BTUjBfMjAiLCAweDQwRTAwMDE4LCAyMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyMCBzZXQiIH0sCit7ICJHUFNSMF8yMSIsIDB4NDBFMDAwMTgsIDIxLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDIxIHNldCIgfSwKK3sgIkdQU1IwXzIyIiwgMHg0MEUwMDAxOCwgMjIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjIgc2V0IiB9LAoreyAiR1BTUjBfMjMiLCAweDQwRTAwMDE4LCAyMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyMyBzZXQiIH0sCit7ICJHUFNSMF8yNCIsIDB4NDBFMDAwMTgsIDI0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDI0IHNldCIgfSwKK3sgIkdQU1IwXzI1IiwgMHg0MEUwMDAxOCwgMjUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjUgc2V0IiB9LAoreyAiR1BTUjBfMjYiLCAweDQwRTAwMDE4LCAyNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyNiBzZXQiIH0sCit7ICJHUFNSMF8yNyIsIDB4NDBFMDAwMTgsIDI3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDI3IHNldCIgfSwKK3sgIkdQU1IwXzI4IiwgMHg0MEUwMDAxOCwgMjgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjggc2V0IiB9LAoreyAiR1BTUjBfMjkiLCAweDQwRTAwMDE4LCAyOSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyOSBzZXQiIH0sCit7ICJHUFNSMF8zMCIsIDB4NDBFMDAwMTgsIDMwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDMwIHNldCIgfSwKK3sgIkdQU1IwXzMxIiwgMHg0MEUwMDAxOCwgMzEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzEgc2V0IiB9LAorCit7ICJHUFNSMSIsICAgIDB4NDBFMDAwMUMsICAwLCAweGZmZmZmZmZmLCAneCcsICJHUElPIFNldCBSZWdpc3RlciAxICg0LTEwKSIgfSwKK3sgIkdQU1IxXzMyIiwgMHg0MEUwMDAxQywgIDAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzIgc2V0IiB9LAoreyAiR1BTUjFfMzMiLCAweDQwRTAwMDFDLCAgMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzMyBzZXQiIH0sCit7ICJHUFNSMV8zNCIsIDB4NDBFMDAwMUMsICAyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDM0IHNldCIgfSwKK3sgIkdQU1IxXzM1IiwgMHg0MEUwMDAxQywgIDMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzUgc2V0IiB9LAoreyAiR1BTUjFfMzYiLCAweDQwRTAwMDFDLCAgNCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzNiBzZXQiIH0sCit7ICJHUFNSMV8zNyIsIDB4NDBFMDAwMUMsICA1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDM3IHNldCIgfSwKK3sgIkdQU1IxXzM4IiwgMHg0MEUwMDAxQywgIDYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzggc2V0IiB9LAoreyAiR1BTUjFfMzkiLCAweDQwRTAwMDFDLCAgNywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzOSBzZXQiIH0sCit7ICJHUFNSMV80MCIsIDB4NDBFMDAwMUMsICA4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQwIHNldCIgfSwKK3sgIkdQU1IxXzQxIiwgMHg0MEUwMDAxQywgIDksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDEgc2V0IiB9LAoreyAiR1BTUjFfNDIiLCAweDQwRTAwMDFDLCAxMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0MiBzZXQiIH0sCit7ICJHUFNSMV80MyIsIDB4NDBFMDAwMUMsIDExLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQzIHNldCIgfSwKK3sgIkdQU1IxXzQ0IiwgMHg0MEUwMDAxQywgMTIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDQgc2V0IiB9LAoreyAiR1BTUjFfNDUiLCAweDQwRTAwMDFDLCAxMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0NSBzZXQiIH0sCit7ICJHUFNSMV80NiIsIDB4NDBFMDAwMUMsIDE0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQ2IHNldCIgfSwKK3sgIkdQU1IxXzQ3IiwgMHg0MEUwMDAxQywgMTUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDcgc2V0IiB9LAoreyAiR1BTUjFfNDgiLCAweDQwRTAwMDFDLCAxNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0OCBzZXQiIH0sCit7ICJHUFNSMV80OSIsIDB4NDBFMDAwMUMsIDE3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQ5IHNldCIgfSwKK3sgIkdQU1IxXzUwIiwgMHg0MEUwMDAxQywgMTgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTAgc2V0IiB9LAoreyAiR1BTUjFfNTEiLCAweDQwRTAwMDFDLCAxOSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1MSBzZXQiIH0sCit7ICJHUFNSMV81MiIsIDB4NDBFMDAwMUMsIDIwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDUyIHNldCIgfSwKK3sgIkdQU1IxXzUzIiwgMHg0MEUwMDAxQywgMjEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTMgc2V0IiB9LAoreyAiR1BTUjFfNTQiLCAweDQwRTAwMDFDLCAyMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1NCBzZXQiIH0sCit7ICJHUFNSMV81NSIsIDB4NDBFMDAwMUMsIDIzLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDU1IHNldCIgfSwKK3sgIkdQU1IxXzU2IiwgMHg0MEUwMDAxQywgMjQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTYgc2V0IiB9LAoreyAiR1BTUjFfNTciLCAweDQwRTAwMDFDLCAyNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1NyBzZXQiIH0sCit7ICJHUFNSMV81OCIsIDB4NDBFMDAwMUMsIDI2LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDU4IHNldCIgfSwKK3sgIkdQU1IxXzU5IiwgMHg0MEUwMDAxQywgMjcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTkgc2V0IiB9LAoreyAiR1BTUjFfNjAiLCAweDQwRTAwMDFDLCAyOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2MCBzZXQiIH0sCit7ICJHUFNSMV82MSIsIDB4NDBFMDAwMUMsIDI5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDYxIHNldCIgfSwKK3sgIkdQU1IxXzYyIiwgMHg0MEUwMDAxQywgMzAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjIgc2V0IiB9LAoreyAiR1BTUjFfNjMiLCAweDQwRTAwMDFDLCAzMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2MyBzZXQiIH0sCisKK3sgIkdQU1IyIiwgICAgMHg0MEUwMDAyMCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkdQSU8gU2V0IFJlZ2lzdGVyIDIgKDQtMTEpIiB9LAoreyAiR1BTUjJfNjQiLCAweDQwRTAwMDIwLCAgMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2NCBzZXQiIH0sCit7ICJHUFNSMl82NSIsIDB4NDBFMDAwMjAsICAxLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDY1IHNldCIgfSwKK3sgIkdQU1IyXzY2IiwgMHg0MEUwMDAyMCwgIDIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjYgc2V0IiB9LAoreyAiR1BTUjJfNjciLCAweDQwRTAwMDIwLCAgMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2NyBzZXQiIH0sCit7ICJHUFNSMl82OCIsIDB4NDBFMDAwMjAsICA0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDY4IHNldCIgfSwKK3sgIkdQU1IyXzY5IiwgMHg0MEUwMDAyMCwgIDUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjkgc2V0IiB9LAoreyAiR1BTUjJfNzAiLCAweDQwRTAwMDIwLCAgNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3MCBzZXQiIH0sCit7ICJHUFNSMl83MSIsIDB4NDBFMDAwMjAsICA3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDcxIHNldCIgfSwKK3sgIkdQU1IyXzcyIiwgMHg0MEUwMDAyMCwgIDgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzIgc2V0IiB9LAoreyAiR1BTUjJfNzMiLCAweDQwRTAwMDIwLCAgOSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3MyBzZXQiIH0sCit7ICJHUFNSMl83NCIsIDB4NDBFMDAwMjAsIDEwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDc0IHNldCIgfSwKK3sgIkdQU1IyXzc1IiwgMHg0MEUwMDAyMCwgMTEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzUgc2V0IiB9LAoreyAiR1BTUjJfNzYiLCAweDQwRTAwMDIwLCAxMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3NiBzZXQiIH0sCit7ICJHUFNSMl83NyIsIDB4NDBFMDAwMjAsIDEzLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDc3IHNldCIgfSwKK3sgIkdQU1IyXzc4IiwgMHg0MEUwMDAyMCwgMTQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzggc2V0IiB9LAoreyAiR1BTUjJfNzkiLCAweDQwRTAwMDIwLCAxNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3OSBzZXQiIH0sCit7ICJHUFNSMl84MCIsIDB4NDBFMDAwMjAsIDE2LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDgwIHNldCIgfSwKK3sgIkdQU1IyXzgxIiwgMHg0MEUwMDAyMCwgMTcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gODEgc2V0IiB9LAoreyAiR1BTUjJfODIiLCAweDQwRTAwMDIwLCAxOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA4MiBzZXQiIH0sCit7ICJHUFNSMl84MyIsIDB4NDBFMDAwMjAsIDE5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDgzIHNldCIgfSwKK3sgIkdQU1IyXzg0IiwgMHg0MEUwMDAyMCwgMjAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gODQgc2V0IiB9LAorCit7ICJHUENSMCIsICAgIDB4NDBFMDAwMjQsICAwLCAweGZmZmZmZmZmLCAneCcsICJHUElPIENsZWFyIFJlZ2lzdGVyIDAgKDQtMTEpIiB9LAoreyAiR1BDUjBfMCIsICAweDQwRTAwMDI0LCAgMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAwIGNsZWFyIiB9LAoreyAiR1BDUjBfMSIsICAweDQwRTAwMDI0LCAgMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxIGNsZWFyIiB9LAoreyAiR1BDUjBfMiIsICAweDQwRTAwMDI0LCAgMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyIGNsZWFyIiB9LAoreyAiR1BDUjBfMyIsICAweDQwRTAwMDI0LCAgMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzIGNsZWFyIiB9LAoreyAiR1BDUjBfNCIsICAweDQwRTAwMDI0LCAgNCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0IGNsZWFyIiB9LAoreyAiR1BDUjBfNSIsICAweDQwRTAwMDI0LCAgNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1IGNsZWFyIiB9LAoreyAiR1BDUjBfNiIsICAweDQwRTAwMDI0LCAgNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2IGNsZWFyIiB9LAoreyAiR1BDUjBfNyIsICAweDQwRTAwMDI0LCAgNywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3IGNsZWFyIiB9LAoreyAiR1BDUjBfOCIsICAweDQwRTAwMDI0LCAgOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA4IGNsZWFyIiB9LAoreyAiR1BDUjBfOSIsICAweDQwRTAwMDI0LCAgOSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA5IGNsZWFyIiB9LAoreyAiR1BDUjBfMTAiLCAweDQwRTAwMDI0LCAxMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxMCBjbGVhciIgfSwKK3sgIkdQQ1IwXzExIiwgMHg0MEUwMDAyNCwgMTEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTEgY2xlYXIiIH0sCit7ICJHUENSMF8xMiIsIDB4NDBFMDAwMjQsIDEyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDEyIGNsZWFyIiB9LAoreyAiR1BDUjBfMTMiLCAweDQwRTAwMDI0LCAxMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxMyBjbGVhciIgfSwKK3sgIkdQQ1IwXzE0IiwgMHg0MEUwMDAyNCwgMTQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTQgY2xlYXIiIH0sCit7ICJHUENSMF8xNSIsIDB4NDBFMDAwMjQsIDE1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDE1IGNsZWFyIiB9LAoreyAiR1BDUjBfMTYiLCAweDQwRTAwMDI0LCAxNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxNiBjbGVhciIgfSwKK3sgIkdQQ1IwXzE3IiwgMHg0MEUwMDAyNCwgMTcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTcgY2xlYXIiIH0sCit7ICJHUENSMF8xOCIsIDB4NDBFMDAwMjQsIDE4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDE4IGNsZWFyIiB9LAoreyAiR1BDUjBfMTkiLCAweDQwRTAwMDI0LCAxOSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxOSBjbGVhciIgfSwKK3sgIkdQQ1IwXzIwIiwgMHg0MEUwMDAyNCwgMjAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjAgY2xlYXIiIH0sCit7ICJHUENSMF8yMSIsIDB4NDBFMDAwMjQsIDIxLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDIxIGNsZWFyIiB9LAoreyAiR1BDUjBfMjIiLCAweDQwRTAwMDI0LCAyMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyMiBjbGVhciIgfSwKK3sgIkdQQ1IwXzIzIiwgMHg0MEUwMDAyNCwgMjMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjMgY2xlYXIiIH0sCit7ICJHUENSMF8yNCIsIDB4NDBFMDAwMjQsIDI0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDI0IGNsZWFyIiB9LAoreyAiR1BDUjBfMjUiLCAweDQwRTAwMDI0LCAyNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyNSBjbGVhciIgfSwKK3sgIkdQQ1IwXzI2IiwgMHg0MEUwMDAyNCwgMjYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjYgY2xlYXIiIH0sCit7ICJHUENSMF8yNyIsIDB4NDBFMDAwMjQsIDI3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDI3IGNsZWFyIiB9LAoreyAiR1BDUjBfMjgiLCAweDQwRTAwMDI0LCAyOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyOCBjbGVhciIgfSwKK3sgIkdQQ1IwXzI5IiwgMHg0MEUwMDAyNCwgMjksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjkgY2xlYXIiIH0sCit7ICJHUENSMF8zMCIsIDB4NDBFMDAwMjQsIDMwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDMwIGNsZWFyIiB9LAoreyAiR1BDUjBfMzEiLCAweDQwRTAwMDI0LCAzMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzMSBjbGVhciIgfSwKKworeyAiR1BDUjEiLCAgICAweDQwRTAwMDI4LCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiR1BJTyBDbGVhciBSZWdpc3RlciAxICg0LTExKSIgfSwKK3sgIkdQQ1IxXzMyIiwgMHg0MEUwMDAyOCwgIDAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzIgY2xlYXIiIH0sCit7ICJHUENSMV8zMyIsIDB4NDBFMDAwMjgsICAxLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDMzIGNsZWFyIiB9LAoreyAiR1BDUjFfMzQiLCAweDQwRTAwMDI4LCAgMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzNCBjbGVhciIgfSwKK3sgIkdQQ1IxXzM1IiwgMHg0MEUwMDAyOCwgIDMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzUgY2xlYXIiIH0sCit7ICJHUENSMV8zNiIsIDB4NDBFMDAwMjgsICA0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDM2IGNsZWFyIiB9LAoreyAiR1BDUjFfMzciLCAweDQwRTAwMDI4LCAgNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzNyBjbGVhciIgfSwKK3sgIkdQQ1IxXzM4IiwgMHg0MEUwMDAyOCwgIDYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzggY2xlYXIiIH0sCit7ICJHUENSMV8zOSIsIDB4NDBFMDAwMjgsICA3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDM5IGNsZWFyIiB9LAoreyAiR1BDUjFfNDAiLCAweDQwRTAwMDI4LCAgOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0MCBjbGVhciIgfSwKK3sgIkdQQ1IxXzQxIiwgMHg0MEUwMDAyOCwgIDksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDEgY2xlYXIiIH0sCit7ICJHUENSMV80MiIsIDB4NDBFMDAwMjgsIDEwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQyIGNsZWFyIiB9LAoreyAiR1BDUjFfNDMiLCAweDQwRTAwMDI4LCAxMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0MyBjbGVhciIgfSwKK3sgIkdQQ1IxXzQ0IiwgMHg0MEUwMDAyOCwgMTIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDQgY2xlYXIiIH0sCit7ICJHUENSMV80NSIsIDB4NDBFMDAwMjgsIDEzLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQ1IGNsZWFyIiB9LAoreyAiR1BDUjFfNDYiLCAweDQwRTAwMDI4LCAxNCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0NiBjbGVhciIgfSwKK3sgIkdQQ1IxXzQ3IiwgMHg0MEUwMDAyOCwgMTUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDcgY2xlYXIiIH0sCit7ICJHUENSMV80OCIsIDB4NDBFMDAwMjgsIDE2LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQ4IGNsZWFyIiB9LAoreyAiR1BDUjFfNDkiLCAweDQwRTAwMDI4LCAxNywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0OSBjbGVhciIgfSwKK3sgIkdQQ1IxXzUwIiwgMHg0MEUwMDAyOCwgMTgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTAgY2xlYXIiIH0sCit7ICJHUENSMV81MSIsIDB4NDBFMDAwMjgsIDE5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDUxIGNsZWFyIiB9LAoreyAiR1BDUjFfNTIiLCAweDQwRTAwMDI4LCAyMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1MiBjbGVhciIgfSwKK3sgIkdQQ1IxXzUzIiwgMHg0MEUwMDAyOCwgMjEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTMgY2xlYXIiIH0sCit7ICJHUENSMV81NCIsIDB4NDBFMDAwMjgsIDIyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDU0IGNsZWFyIiB9LAoreyAiR1BDUjFfNTUiLCAweDQwRTAwMDI4LCAyMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1NSBjbGVhciIgfSwKK3sgIkdQQ1IxXzU2IiwgMHg0MEUwMDAyOCwgMjQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTYgY2xlYXIiIH0sCit7ICJHUENSMV81NyIsIDB4NDBFMDAwMjgsIDI1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDU3IGNsZWFyIiB9LAoreyAiR1BDUjFfNTgiLCAweDQwRTAwMDI4LCAyNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1OCBjbGVhciIgfSwKK3sgIkdQQ1IxXzU5IiwgMHg0MEUwMDAyOCwgMjcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTkgY2xlYXIiIH0sCit7ICJHUENSMV82MCIsIDB4NDBFMDAwMjgsIDI4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDYwIGNsZWFyIiB9LAoreyAiR1BDUjFfNjEiLCAweDQwRTAwMDI4LCAyOSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2MSBjbGVhciIgfSwKK3sgIkdQQ1IxXzYyIiwgMHg0MEUwMDAyOCwgMzAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjIgY2xlYXIiIH0sCit7ICJHUENSMV82MyIsIDB4NDBFMDAwMjgsIDMxLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDYzIGNsZWFyIiB9LAorCit7ICJHUENSMiIsICAgIDB4NDBFMDAwMkMsICAwLCAweGZmZmZmZmZmLCAneCcsICJHUElPIENsZWFyIFJlZ2lzdGVyIDIgKDQtMTIpIiB9LAoreyAiR1BDUjJfNjQiLCAweDQwRTAwMDJDLCAgMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2NCBjbGVhciIgfSwKK3sgIkdQQ1IyXzY1IiwgMHg0MEUwMDAyQywgIDEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjUgY2xlYXIiIH0sCit7ICJHUENSMl82NiIsIDB4NDBFMDAwMkMsICAyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDY2IGNsZWFyIiB9LAoreyAiR1BDUjJfNjciLCAweDQwRTAwMDJDLCAgMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2NyBjbGVhciIgfSwKK3sgIkdQQ1IyXzY4IiwgMHg0MEUwMDAyQywgIDQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjggY2xlYXIiIH0sCit7ICJHUENSMl82OSIsIDB4NDBFMDAwMkMsICA1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDY5IGNsZWFyIiB9LAoreyAiR1BDUjJfNzAiLCAweDQwRTAwMDJDLCAgNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3MCBjbGVhciIgfSwKK3sgIkdQQ1IyXzcxIiwgMHg0MEUwMDAyQywgIDcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzEgY2xlYXIiIH0sCit7ICJHUENSMl83MiIsIDB4NDBFMDAwMkMsICA4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDcyIGNsZWFyIiB9LAoreyAiR1BDUjJfNzMiLCAweDQwRTAwMDJDLCAgOSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3MyBjbGVhciIgfSwKK3sgIkdQQ1IyXzc0IiwgMHg0MEUwMDAyQywgMTAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzQgY2xlYXIiIH0sCit7ICJHUENSMl83NSIsIDB4NDBFMDAwMkMsIDExLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDc1IGNsZWFyIiB9LAoreyAiR1BDUjJfNzYiLCAweDQwRTAwMDJDLCAxMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3NiBjbGVhciIgfSwKK3sgIkdQQ1IyXzc3IiwgMHg0MEUwMDAyQywgMTMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzcgY2xlYXIiIH0sCit7ICJHUENSMl83OCIsIDB4NDBFMDAwMkMsIDE0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDc4IGNsZWFyIiB9LAoreyAiR1BDUjJfNzkiLCAweDQwRTAwMDJDLCAxNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3OSBjbGVhciIgfSwKK3sgIkdQQ1IyXzgwIiwgMHg0MEUwMDAyQywgMTYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gODAgY2xlYXIiIH0sCit7ICJHUENSMl84MSIsIDB4NDBFMDAwMkMsIDE3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDgxIGNsZWFyIiB9LAoreyAiR1BDUjJfODIiLCAweDQwRTAwMDJDLCAxOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA4MiBjbGVhciIgfSwKK3sgIkdQQ1IyXzgzIiwgMHg0MEUwMDAyQywgMTksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gODMgY2xlYXIiIH0sCit7ICJHUENSMl84NCIsIDB4NDBFMDAwMkMsIDIwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDg0IGNsZWFyIiB9LAorCit7ICJHUkVSMCIsICAgIDB4NDBFMDAwMzAsICAwLCAweGZmZmZmZmZmLCAneCcsICJHUElPIFJhaXNpbmcgRWRnZSBEZXRlY3QgRW5hYmxlIFJlZ2lzdGVyIDAgKDQtMTMpIiB9LAoreyAiR1JFUjBfMCIsICAweDQwRTAwMDMwLCAgMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAwIHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIwXzEiLCAgMHg0MEUwMDAzMCwgIDEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMSByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMF8yIiwgIDB4NDBFMDAwMzAsICAyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDIgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjBfMyIsICAweDQwRTAwMDMwLCAgMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzIHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIwXzQiLCAgMHg0MEUwMDAzMCwgIDQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNCByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMF81IiwgIDB4NDBFMDAwMzAsICA1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDUgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjBfNiIsICAweDQwRTAwMDMwLCAgNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2IHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIwXzciLCAgMHg0MEUwMDAzMCwgIDcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNyByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMF84IiwgIDB4NDBFMDAwMzAsICA4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDggcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjBfOSIsICAweDQwRTAwMDMwLCAgOSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA5IHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIwXzEwIiwgMHg0MEUwMDAzMCwgMTAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTAgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjBfMTEiLCAweDQwRTAwMDMwLCAxMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxMSByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMF8xMiIsIDB4NDBFMDAwMzAsIDEyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDEyIHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIwXzEzIiwgMHg0MEUwMDAzMCwgMTMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTMgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjBfMTQiLCAweDQwRTAwMDMwLCAxNCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxNCByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMF8xNSIsIDB4NDBFMDAwMzAsIDE1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDE1IHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIwXzE2IiwgMHg0MEUwMDAzMCwgMTYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTYgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjBfMTciLCAweDQwRTAwMDMwLCAxNywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxNyByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMF8xOCIsIDB4NDBFMDAwMzAsIDE4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDE4IHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIwXzE5IiwgMHg0MEUwMDAzMCwgMTksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTkgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjBfMjAiLCAweDQwRTAwMDMwLCAyMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyMCByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMF8yMSIsIDB4NDBFMDAwMzAsIDIxLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDIxIHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIwXzIyIiwgMHg0MEUwMDAzMCwgMjIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjIgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjBfMjMiLCAweDQwRTAwMDMwLCAyMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyMyByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMF8yNCIsIDB4NDBFMDAwMzAsIDI0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDI0IHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIwXzI1IiwgMHg0MEUwMDAzMCwgMjUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjUgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjBfMjYiLCAweDQwRTAwMDMwLCAyNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyNiByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMF8yNyIsIDB4NDBFMDAwMzAsIDI3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDI3IHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIwXzI4IiwgMHg0MEUwMDAzMCwgMjgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjggcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjBfMjkiLCAweDQwRTAwMDMwLCAyOSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyOSByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMF8zMCIsIDB4NDBFMDAwMzAsIDMwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDMwIHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIwXzMxIiwgMHg0MEUwMDAzMCwgMzEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzEgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAorCit7ICJHUkVSMSIsICAgIDB4NDBFMDAwMzQsICAwLCAweGZmZmZmZmZmLCAneCcsICJHUElPIFJhaXNpbmcgRWRnZSBEZXRlY3QgRW5hYmxlIFJlZ2lzdGVyIDEgKDQtMTMpIiB9LAoreyAiR1JFUjFfMzIiLCAweDQwRTAwMDM0LCAgMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzMiByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMV8zMyIsIDB4NDBFMDAwMzQsICAxLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDMzIHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIxXzM0IiwgMHg0MEUwMDAzNCwgIDIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzQgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjFfMzUiLCAweDQwRTAwMDM0LCAgMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzNSByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMV8zNiIsIDB4NDBFMDAwMzQsICA0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDM2IHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIxXzM3IiwgMHg0MEUwMDAzNCwgIDUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzcgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjFfMzgiLCAweDQwRTAwMDM0LCAgNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzOCByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMV8zOSIsIDB4NDBFMDAwMzQsICA3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDM5IHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIxXzQwIiwgMHg0MEUwMDAzNCwgIDgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDAgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjFfNDEiLCAweDQwRTAwMDM0LCAgOSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0MSByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMV80MiIsIDB4NDBFMDAwMzQsIDEwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQyIHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIxXzQzIiwgMHg0MEUwMDAzNCwgMTEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDMgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjFfNDQiLCAweDQwRTAwMDM0LCAxMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0NCByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMV80NSIsIDB4NDBFMDAwMzQsIDEzLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQ1IHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIxXzQ2IiwgMHg0MEUwMDAzNCwgMTQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDYgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjFfNDciLCAweDQwRTAwMDM0LCAxNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0NyByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMV80OCIsIDB4NDBFMDAwMzQsIDE2LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQ4IHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIxXzQ5IiwgMHg0MEUwMDAzNCwgMTcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDkgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjFfNTAiLCAweDQwRTAwMDM0LCAxOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1MCByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMV81MSIsIDB4NDBFMDAwMzQsIDE5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDUxIHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIxXzUyIiwgMHg0MEUwMDAzNCwgMjAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTIgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjFfNTMiLCAweDQwRTAwMDM0LCAyMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1MyByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMV81NCIsIDB4NDBFMDAwMzQsIDIyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDU0IHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIxXzU1IiwgMHg0MEUwMDAzNCwgMjMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTUgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjFfNTYiLCAweDQwRTAwMDM0LCAyNCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1NiByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMV81NyIsIDB4NDBFMDAwMzQsIDI1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDU3IHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIxXzU4IiwgMHg0MEUwMDAzNCwgMjYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTggcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjFfNTkiLCAweDQwRTAwMDM0LCAyNywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1OSByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMV82MCIsIDB4NDBFMDAwMzQsIDI4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDYwIHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIxXzYxIiwgMHg0MEUwMDAzNCwgMjksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjEgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjFfNjIiLCAweDQwRTAwMDM0LCAzMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2MiByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMV82MyIsIDB4NDBFMDAwMzQsIDMxLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDYzIHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKKworeyAiR1JFUjIiLCAgICAweDQwRTAwMDM4LCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiR1BJTyBSYWlzaW5nIEVkZ2UgRGV0ZWN0IEVuYWJsZSBSZWdpc3RlciAyICg0LTEzKSIgfSwKK3sgIkdSRVIyXzY0IiwgMHg0MEUwMDAzOCwgIDAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjQgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjJfNjUiLCAweDQwRTAwMDM4LCAgMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2NSByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMl82NiIsIDB4NDBFMDAwMzgsICAyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDY2IHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIyXzY3IiwgMHg0MEUwMDAzOCwgIDMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjcgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjJfNjgiLCAweDQwRTAwMDM4LCAgNCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2OCByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMl82OSIsIDB4NDBFMDAwMzgsICA1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDY5IHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIyXzcwIiwgMHg0MEUwMDAzOCwgIDYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzAgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjJfNzEiLCAweDQwRTAwMDM4LCAgNywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3MSByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMl83MiIsIDB4NDBFMDAwMzgsICA4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDcyIHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIyXzczIiwgMHg0MEUwMDAzOCwgIDksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzMgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjJfNzQiLCAweDQwRTAwMDM4LCAxMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3NCByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMl83NSIsIDB4NDBFMDAwMzgsIDExLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDc1IHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIyXzc2IiwgMHg0MEUwMDAzOCwgMTIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzYgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjJfNzciLCAweDQwRTAwMDM4LCAxMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3NyByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMl83OCIsIDB4NDBFMDAwMzgsIDE0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDc4IHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIyXzc5IiwgMHg0MEUwMDAzOCwgMTUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzkgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjJfODAiLCAweDQwRTAwMDM4LCAxNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA4MCByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMl84MSIsIDB4NDBFMDAwMzgsIDE3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDgxIHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIyXzgyIiwgMHg0MEUwMDAzOCwgMTgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gODIgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjJfODMiLCAweDQwRTAwMDM4LCAxOSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA4MyByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMl84NCIsIDB4NDBFMDAwMzgsIDIwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDg0IHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKKworeyAiR0ZFUjAiLCAgICAweDQwRTAwMDNDLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiR1BJTyBGYWxsaW5nIEVkZ2UgRGV0ZWN0IEVuYWJsZSBSZWdpc3RlciAwICg0LTE0KSIgfSwKK3sgIkdGRVIwXzAiLCAgMHg0MEUwMDAzQywgIDAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMCBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMF8xIiwgIDB4NDBFMDAwM0MsICAxLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDEgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjBfMiIsICAweDQwRTAwMDNDLCAgMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyIGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIwXzMiLCAgMHg0MEUwMDAzQywgIDMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMyBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMF80IiwgIDB4NDBFMDAwM0MsICA0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjBfNSIsICAweDQwRTAwMDNDLCAgNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1IGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIwXzYiLCAgMHg0MEUwMDAzQywgIDYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNiBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMF83IiwgIDB4NDBFMDAwM0MsICA3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDcgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjBfOCIsICAweDQwRTAwMDNDLCAgOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA4IGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIwXzkiLCAgMHg0MEUwMDAzQywgIDksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gOSBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMF8xMCIsIDB4NDBFMDAwM0MsIDEwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDEwIGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIwXzExIiwgMHg0MEUwMDAzQywgMTEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTEgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjBfMTIiLCAweDQwRTAwMDNDLCAxMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxMiBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMF8xMyIsIDB4NDBFMDAwM0MsIDEzLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDEzIGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIwXzE0IiwgMHg0MEUwMDAzQywgMTQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTQgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjBfMTUiLCAweDQwRTAwMDNDLCAxNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxNSBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMF8xNiIsIDB4NDBFMDAwM0MsIDE2LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDE2IGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIwXzE3IiwgMHg0MEUwMDAzQywgMTcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTcgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjBfMTgiLCAweDQwRTAwMDNDLCAxOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxOCBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMF8xOSIsIDB4NDBFMDAwM0MsIDE5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDE5IGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIwXzIwIiwgMHg0MEUwMDAzQywgMjAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjAgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjBfMjEiLCAweDQwRTAwMDNDLCAyMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyMSBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMF8yMiIsIDB4NDBFMDAwM0MsIDIyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDIyIGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIwXzIzIiwgMHg0MEUwMDAzQywgMjMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjMgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjBfMjQiLCAweDQwRTAwMDNDLCAyNCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyNCBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMF8yNSIsIDB4NDBFMDAwM0MsIDI1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDI1IGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIwXzI2IiwgMHg0MEUwMDAzQywgMjYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjYgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjBfMjciLCAweDQwRTAwMDNDLCAyNywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyNyBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMF8yOCIsIDB4NDBFMDAwM0MsIDI4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDI4IGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIwXzI5IiwgMHg0MEUwMDAzQywgMjksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjkgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjBfMzAiLCAweDQwRTAwMDNDLCAzMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzMCBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMF8zMSIsIDB4NDBFMDAwM0MsIDMxLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDMxIGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKKworeyAiR0ZFUjEiLCAgICAweDQwRTAwMDQwLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiR1BJTyBGYWxsaW5nIEVkZ2UgRGV0ZWN0IEVuYWJsZSBSZWdpc3RlciAxICg0LTE0KSIgfSwKK3sgIkdGRVIxXzMyIiwgMHg0MEUwMDA0MCwgIDAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzIgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjFfMzMiLCAweDQwRTAwMDQwLCAgMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzMyBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMV8zNCIsIDB4NDBFMDAwNDAsICAyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDM0IGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIxXzM1IiwgMHg0MEUwMDA0MCwgIDMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzUgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjFfMzYiLCAweDQwRTAwMDQwLCAgNCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzNiBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMV8zNyIsIDB4NDBFMDAwNDAsICA1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDM3IGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIxXzM4IiwgMHg0MEUwMDA0MCwgIDYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzggZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjFfMzkiLCAweDQwRTAwMDQwLCAgNywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzOSBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMV80MCIsIDB4NDBFMDAwNDAsICA4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQwIGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIxXzQxIiwgMHg0MEUwMDA0MCwgIDksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDEgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjFfNDIiLCAweDQwRTAwMDQwLCAxMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0MiBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMV80MyIsIDB4NDBFMDAwNDAsIDExLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQzIGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIxXzQ0IiwgMHg0MEUwMDA0MCwgMTIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDQgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjFfNDUiLCAweDQwRTAwMDQwLCAxMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0NSBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMV80NiIsIDB4NDBFMDAwNDAsIDE0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQ2IGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIxXzQ3IiwgMHg0MEUwMDA0MCwgMTUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDcgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjFfNDgiLCAweDQwRTAwMDQwLCAxNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0OCBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMV80OSIsIDB4NDBFMDAwNDAsIDE3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQ5IGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIxXzUwIiwgMHg0MEUwMDA0MCwgMTgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTAgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjFfNTEiLCAweDQwRTAwMDQwLCAxOSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1MSBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMV81MiIsIDB4NDBFMDAwNDAsIDIwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDUyIGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIxXzUzIiwgMHg0MEUwMDA0MCwgMjEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTMgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjFfNTQiLCAweDQwRTAwMDQwLCAyMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1NCBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMV81NSIsIDB4NDBFMDAwNDAsIDIzLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDU1IGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIxXzU2IiwgMHg0MEUwMDA0MCwgMjQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTYgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjFfNTciLCAweDQwRTAwMDQwLCAyNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1NyBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMV81OCIsIDB4NDBFMDAwNDAsIDI2LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDU4IGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIxXzU5IiwgMHg0MEUwMDA0MCwgMjcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTkgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjFfNjAiLCAweDQwRTAwMDQwLCAyOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2MCBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMV82MSIsIDB4NDBFMDAwNDAsIDI5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDYxIGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIxXzYyIiwgMHg0MEUwMDA0MCwgMzAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjIgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjFfNjMiLCAweDQwRTAwMDQwLCAzMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2MyBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCisKK3sgIkdGRVIyIiwgICAgMHg0MEUwMDA0NCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkdQSU8gRmFsbGluZyBFZGdlIERldGVjdCBFbmFibGUgUmVnaXN0ZXIgMiAoNC0xNCkiIH0sCit7ICJHRkVSMl82NCIsIDB4NDBFMDAwNDQsICAwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDY0IGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIyXzY1IiwgMHg0MEUwMDA0NCwgIDEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjUgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjJfNjYiLCAweDQwRTAwMDQ0LCAgMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2NiBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMl82NyIsIDB4NDBFMDAwNDQsICAzLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDY3IGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIyXzY4IiwgMHg0MEUwMDA0NCwgIDQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjggZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjJfNjkiLCAweDQwRTAwMDQ0LCAgNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2OSBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMl83MCIsIDB4NDBFMDAwNDQsICA2LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDcwIGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIyXzcxIiwgMHg0MEUwMDA0NCwgIDcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzEgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjJfNzIiLCAweDQwRTAwMDQ0LCAgOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3MiBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMl83MyIsIDB4NDBFMDAwNDQsICA5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDczIGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIyXzc0IiwgMHg0MEUwMDA0NCwgMTAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzQgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjJfNzUiLCAweDQwRTAwMDQ0LCAxMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3NSBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMl83NiIsIDB4NDBFMDAwNDQsIDEyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDc2IGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIyXzc3IiwgMHg0MEUwMDA0NCwgMTMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzcgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjJfNzgiLCAweDQwRTAwMDQ0LCAxNCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3OCBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMl83OSIsIDB4NDBFMDAwNDQsIDE1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDc5IGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIyXzgwIiwgMHg0MEUwMDA0NCwgMTYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gODAgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjJfODEiLCAweDQwRTAwMDQ0LCAxNywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA4MSBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMl84MiIsIDB4NDBFMDAwNDQsIDE4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDgyIGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIyXzgzIiwgMHg0MEUwMDA0NCwgMTksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gODMgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjJfODQiLCAweDQwRTAwMDQ0LCAyMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA4NCBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCisKK3sgIkdFRFIwIiwgICAgMHg0MEUwMDA0OCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkdQSU8gRWRnZSBEZXRlY3QgUmVnaXN0ZXIgMCAoNC0xNSkiIH0sCit7ICJHRURSMF8wIiwgIDB4NDBFMDAwNDgsICAwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDAgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIwXzEiLCAgMHg0MEUwMDA0OCwgIDEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMSBlZGdlIGRldGVjdGVkIiB9LAoreyAiR0VEUjBfMiIsICAweDQwRTAwMDQ4LCAgMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyIGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMF8zIiwgIDB4NDBFMDAwNDgsICAzLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDMgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIwXzQiLCAgMHg0MEUwMDA0OCwgIDQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNCBlZGdlIGRldGVjdGVkIiB9LAoreyAiR0VEUjBfNSIsICAweDQwRTAwMDQ4LCAgNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1IGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMF82IiwgIDB4NDBFMDAwNDgsICA2LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDYgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIwXzciLCAgMHg0MEUwMDA0OCwgIDcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNyBlZGdlIGRldGVjdGVkIiB9LAoreyAiR0VEUjBfOCIsICAweDQwRTAwMDQ4LCAgOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA4IGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMF85IiwgIDB4NDBFMDAwNDgsICA5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDkgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIwXzEwIiwgMHg0MEUwMDA0OCwgMTAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTAgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIwXzExIiwgMHg0MEUwMDA0OCwgMTEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTEgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIwXzEyIiwgMHg0MEUwMDA0OCwgMTIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTIgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIwXzEzIiwgMHg0MEUwMDA0OCwgMTMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTMgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIwXzE0IiwgMHg0MEUwMDA0OCwgMTQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTQgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIwXzE1IiwgMHg0MEUwMDA0OCwgMTUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTUgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIwXzE2IiwgMHg0MEUwMDA0OCwgMTYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTYgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIwXzE3IiwgMHg0MEUwMDA0OCwgMTcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTcgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIwXzE4IiwgMHg0MEUwMDA0OCwgMTgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTggZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIwXzE5IiwgMHg0MEUwMDA0OCwgMTksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTkgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIwXzIwIiwgMHg0MEUwMDA0OCwgMjAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjAgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIwXzIxIiwgMHg0MEUwMDA0OCwgMjEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjEgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIwXzIyIiwgMHg0MEUwMDA0OCwgMjIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjIgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIwXzIzIiwgMHg0MEUwMDA0OCwgMjMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjMgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIwXzI0IiwgMHg0MEUwMDA0OCwgMjQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjQgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIwXzI1IiwgMHg0MEUwMDA0OCwgMjUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjUgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIwXzI2IiwgMHg0MEUwMDA0OCwgMjYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjYgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIwXzI3IiwgMHg0MEUwMDA0OCwgMjcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjcgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIwXzI4IiwgMHg0MEUwMDA0OCwgMjgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjggZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIwXzI5IiwgMHg0MEUwMDA0OCwgMjksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjkgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIwXzMwIiwgMHg0MEUwMDA0OCwgMzAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzAgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIwXzMxIiwgMHg0MEUwMDA0OCwgMzEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzEgZWRnZSBkZXRlY3RlZCIgfSwKKworeyAiR0VEUjEiLCAgICAweDQwRTAwMDRDLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiR1BJTyBFZGdlIERldGVjdCBSZWdpc3RlciAxICg0LTE2KSIgfSwKK3sgIkdFRFIxXzMyIiwgMHg0MEUwMDA0QywgIDAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzIgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzMzIiwgMHg0MEUwMDA0QywgIDEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzMgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzM0IiwgMHg0MEUwMDA0QywgIDIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzQgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzM1IiwgMHg0MEUwMDA0QywgIDMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzUgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzM2IiwgMHg0MEUwMDA0QywgIDQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzYgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzM3IiwgMHg0MEUwMDA0QywgIDUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzcgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzM4IiwgMHg0MEUwMDA0QywgIDYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzggZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzM5IiwgMHg0MEUwMDA0QywgIDcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzkgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzQwIiwgMHg0MEUwMDA0QywgIDgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDAgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzQxIiwgMHg0MEUwMDA0QywgIDksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDEgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzQyIiwgMHg0MEUwMDA0QywgMTAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDIgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzQzIiwgMHg0MEUwMDA0QywgMTEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDMgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzQ0IiwgMHg0MEUwMDA0QywgMTIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDQgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzQ1IiwgMHg0MEUwMDA0QywgMTMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDUgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzQ2IiwgMHg0MEUwMDA0QywgMTQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDYgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzQ3IiwgMHg0MEUwMDA0QywgMTUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDcgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzQ4IiwgMHg0MEUwMDA0QywgMTYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDggZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzQ5IiwgMHg0MEUwMDA0QywgMTcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDkgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzUwIiwgMHg0MEUwMDA0QywgMTgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTAgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzUxIiwgMHg0MEUwMDA0QywgMTksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTEgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzUyIiwgMHg0MEUwMDA0QywgMjAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTIgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzUzIiwgMHg0MEUwMDA0QywgMjEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTMgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzU0IiwgMHg0MEUwMDA0QywgMjIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTQgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzU1IiwgMHg0MEUwMDA0QywgMjMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTUgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzU2IiwgMHg0MEUwMDA0QywgMjQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTYgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzU3IiwgMHg0MEUwMDA0QywgMjUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTcgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzU4IiwgMHg0MEUwMDA0QywgMjYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTggZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzU5IiwgMHg0MEUwMDA0QywgMjcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTkgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzYwIiwgMHg0MEUwMDA0QywgMjgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjAgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzYxIiwgMHg0MEUwMDA0QywgMjksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjEgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzYyIiwgMHg0MEUwMDA0QywgMzAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjIgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzYzIiwgMHg0MEUwMDA0QywgMzEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjMgZWRnZSBkZXRlY3RlZCIgfSwKKworeyAiR0VEUjIiLCAgICAweDQwRTAwMDUwLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiR1BJTyBFZGdlIERldGVjdCBSZWdpc3RlciAyICg0LTE2KSIgfSwKK3sgIkdFRFIyXzY0IiwgMHg0MEUwMDA1MCwgIDAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjQgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIyXzY1IiwgMHg0MEUwMDA1MCwgIDEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjUgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIyXzY2IiwgMHg0MEUwMDA1MCwgIDIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjYgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIyXzY3IiwgMHg0MEUwMDA1MCwgIDMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjcgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIyXzY4IiwgMHg0MEUwMDA1MCwgIDQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjggZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIyXzY5IiwgMHg0MEUwMDA1MCwgIDUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjkgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIyXzcwIiwgMHg0MEUwMDA1MCwgIDYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzAgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIyXzcxIiwgMHg0MEUwMDA1MCwgIDcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzEgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIyXzcyIiwgMHg0MEUwMDA1MCwgIDgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzIgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIyXzczIiwgMHg0MEUwMDA1MCwgIDksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzMgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIyXzc0IiwgMHg0MEUwMDA1MCwgMTAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzQgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIyXzc1IiwgMHg0MEUwMDA1MCwgMTEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzUgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIyXzc2IiwgMHg0MEUwMDA1MCwgMTIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzYgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIyXzc3IiwgMHg0MEUwMDA1MCwgMTMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzcgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIyXzc4IiwgMHg0MEUwMDA1MCwgMTQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzggZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIyXzc5IiwgMHg0MEUwMDA1MCwgMTUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzkgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIyXzgwIiwgMHg0MEUwMDA1MCwgMTYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gODAgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIyXzgxIiwgMHg0MEUwMDA1MCwgMTcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gODEgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIyXzgyIiwgMHg0MEUwMDA1MCwgMTgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gODIgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIyXzgzIiwgMHg0MEUwMDA1MCwgMTksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gODMgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIyXzg0IiwgMHg0MEUwMDA1MCwgMjAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gODQgZWRnZSBkZXRlY3RlZCIgfSwKKworeyAiR0FGUjBMIiwgICAgMHg0MEUwMDA1NCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkdQSU8gQWx0ZXJuYXRlIEZ1bmN0aW9uIFJlZ2lzdGVyIDAgTG93ZXIgKDQtMTcpIiB9LAoreyAiR0FGUjBMXzAiLCAgMHg0MEUwMDA1NCwgIDAsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gMCBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjBMXzEiLCAgMHg0MEUwMDA1NCwgIDIsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gMSBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjBMXzIiLCAgMHg0MEUwMDA1NCwgIDQsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gMiBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjBMXzMiLCAgMHg0MEUwMDA1NCwgIDYsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gMyBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjBMXzQiLCAgMHg0MEUwMDA1NCwgIDgsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gNCBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjBMXzUiLCAgMHg0MEUwMDA1NCwgMTAsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gNSBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjBMXzYiLCAgMHg0MEUwMDA1NCwgMTIsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gNiBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjBMXzciLCAgMHg0MEUwMDA1NCwgMTQsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gNyBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjBMXzgiLCAgMHg0MEUwMDA1NCwgMTYsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gOCBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjBMXzkiLCAgMHg0MEUwMDA1NCwgMTgsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gOSBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjBMXzEwIiwgMHg0MEUwMDA1NCwgMjAsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gMTAgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIwTF8xMSIsIDB4NDBFMDAwNTQsIDIyLCAweDAwMDAwMDAzLCAneCcsICJHUElPIDExIGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMExfMTIiLCAweDQwRTAwMDU0LCAyNCwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyAxMiBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjBMXzEzIiwgMHg0MEUwMDA1NCwgMjYsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gMTMgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIwTF8xNCIsIDB4NDBFMDAwNTQsIDI4LCAweDAwMDAwMDAzLCAneCcsICJHUElPIDE0IGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMExfMTUiLCAweDQwRTAwMDU0LCAzMCwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyAxNSBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAorCit7ICJHQUZSMFUiLCAgICAweDQwRTAwMDU4LCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiR1BJTyBBbHRlcm5hdGUgRnVuY3Rpb24gUmVnaXN0ZXIgMCBVcHBlciAoNC0xOCkiIH0sCit7ICJHQUZSMFVfMTYiLCAweDQwRTAwMDU4LCAgMCwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyAxNiBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjBVXzE3IiwgMHg0MEUwMDA1OCwgIDIsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gMTcgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIwVV8xOCIsIDB4NDBFMDAwNTgsICA0LCAweDAwMDAwMDAzLCAneCcsICJHUElPIDE4IGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMFVfMTkiLCAweDQwRTAwMDU4LCAgNiwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyAxOSBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjBVXzIwIiwgMHg0MEUwMDA1OCwgIDgsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gMjAgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIwVV8yMSIsIDB4NDBFMDAwNTgsIDEwLCAweDAwMDAwMDAzLCAneCcsICJHUElPIDIxIGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMFVfMjIiLCAweDQwRTAwMDU4LCAxMiwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyAyMiBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjBVXzIzIiwgMHg0MEUwMDA1OCwgMTQsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gMjMgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIwVV8yNCIsIDB4NDBFMDAwNTgsIDE2LCAweDAwMDAwMDAzLCAneCcsICJHUElPIDI0IGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMFVfMjUiLCAweDQwRTAwMDU4LCAxOCwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyAyNSBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjBVXzI2IiwgMHg0MEUwMDA1OCwgMjAsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gMjYgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIwVV8yNyIsIDB4NDBFMDAwNTgsIDIyLCAweDAwMDAwMDAzLCAneCcsICJHUElPIDI3IGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMFVfMjgiLCAweDQwRTAwMDU4LCAyNCwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyAyOCBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjBVXzI5IiwgMHg0MEUwMDA1OCwgMjYsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gMjkgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIwVV8zMCIsIDB4NDBFMDAwNTgsIDI4LCAweDAwMDAwMDAzLCAneCcsICJHUElPIDMwIGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMFVfMzEiLCAweDQwRTAwMDU4LCAzMCwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyAzMSBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAorCit7ICJHQUZSMUwiLCAgICAweDQwRTAwMDVDLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiR1BJTyBBbHRlcm5hdGUgRnVuY3Rpb24gUmVnaXN0ZXIgMSBMb3dlciAoNC0xOCkiIH0sCit7ICJHQUZSMUxfMzIiLCAweDQwRTAwMDVDLCAgMCwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyAzMiBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjFMXzMzIiwgMHg0MEUwMDA1QywgIDIsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gMzMgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIxTF8zNCIsIDB4NDBFMDAwNUMsICA0LCAweDAwMDAwMDAzLCAneCcsICJHUElPIDM0IGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMUxfMzUiLCAweDQwRTAwMDVDLCAgNiwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyAzNSBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjFMXzM2IiwgMHg0MEUwMDA1QywgIDgsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gMzYgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIxTF8zNyIsIDB4NDBFMDAwNUMsIDEwLCAweDAwMDAwMDAzLCAneCcsICJHUElPIDM3IGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMUxfMzgiLCAweDQwRTAwMDVDLCAxMiwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyAzOCBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjFMXzM5IiwgMHg0MEUwMDA1QywgMTQsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gMzkgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIxTF80MCIsIDB4NDBFMDAwNUMsIDE2LCAweDAwMDAwMDAzLCAneCcsICJHUElPIDQwIGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMUxfNDEiLCAweDQwRTAwMDVDLCAxOCwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyA0MSBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjFMXzQyIiwgMHg0MEUwMDA1QywgMjAsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gNDIgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIxTF80MyIsIDB4NDBFMDAwNUMsIDIyLCAweDAwMDAwMDAzLCAneCcsICJHUElPIDQzIGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMUxfNDQiLCAweDQwRTAwMDVDLCAyNCwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyA0NCBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjFMXzQ1IiwgMHg0MEUwMDA1QywgMjYsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gNDUgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIxTF80NiIsIDB4NDBFMDAwNUMsIDI4LCAweDAwMDAwMDAzLCAneCcsICJHUElPIDQ2IGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMUxfNDciLCAweDQwRTAwMDVDLCAzMCwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyA0NyBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAorCit7ICJHQUZSMVUiLCAgICAweDQwRTAwMDYwLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiR1BJTyBBbHRlcm5hdGUgRnVuY3Rpb24gUmVnaXN0ZXIgMSBVcHBlciAoNC0xOSkiIH0sCit7ICJHQUZSMVVfNDgiLCAweDQwRTAwMDYwLCAgMCwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyA0OCBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjFVXzQ5IiwgMHg0MEUwMDA2MCwgIDIsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gNDkgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIxVV81MCIsIDB4NDBFMDAwNjAsICA0LCAweDAwMDAwMDAzLCAneCcsICJHUElPIDUwIGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMVVfNTEiLCAweDQwRTAwMDYwLCAgNiwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyA1MSBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjFVXzUyIiwgMHg0MEUwMDA2MCwgIDgsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gNTIgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIxVV81MyIsIDB4NDBFMDAwNjAsIDEwLCAweDAwMDAwMDAzLCAneCcsICJHUElPIDUzIGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMVVfNTQiLCAweDQwRTAwMDYwLCAxMiwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyA1NCBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjFVXzU1IiwgMHg0MEUwMDA2MCwgMTQsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gNTUgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIxVV81NiIsIDB4NDBFMDAwNjAsIDE2LCAweDAwMDAwMDAzLCAneCcsICJHUElPIDU2IGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMVVfNTciLCAweDQwRTAwMDYwLCAxOCwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyA1NyBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjFVXzU4IiwgMHg0MEUwMDA2MCwgMjAsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gNTggYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIxVV81OSIsIDB4NDBFMDAwNjAsIDIyLCAweDAwMDAwMDAzLCAneCcsICJHUElPIDU5IGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMVVfNjAiLCAweDQwRTAwMDYwLCAyNCwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyA2MCBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjFVXzYxIiwgMHg0MEUwMDA2MCwgMjYsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gNjEgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIxVV82MiIsIDB4NDBFMDAwNjAsIDI4LCAweDAwMDAwMDAzLCAneCcsICJHUElPIDYyIGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMVVfNjMiLCAweDQwRTAwMDYwLCAzMCwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyA2MyBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAorCit7ICJHQUZSMkwiLCAgICAweDQwRTAwMDY0LCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiR1BJTyBBbHRlcm5hdGUgRnVuY3Rpb24gUmVnaXN0ZXIgMiBMb3dlciAoNC0xOSkiIH0sCit7ICJHQUZSMkxfNjQiLCAweDQwRTAwMDY0LCAgMCwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyA2NCBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjJMXzY1IiwgMHg0MEUwMDA2NCwgIDIsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gNjUgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIyTF82NiIsIDB4NDBFMDAwNjQsICA0LCAweDAwMDAwMDAzLCAneCcsICJHUElPIDY2IGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMkxfNjciLCAweDQwRTAwMDY0LCAgNiwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyA2NyBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjJMXzY4IiwgMHg0MEUwMDA2NCwgIDgsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gNjggYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIyTF82OSIsIDB4NDBFMDAwNjQsIDEwLCAweDAwMDAwMDAzLCAneCcsICJHUElPIDY5IGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMkxfNzAiLCAweDQwRTAwMDY0LCAxMiwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyA3MCBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjJMXzcxIiwgMHg0MEUwMDA2NCwgMTQsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gNzEgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIyTF83MiIsIDB4NDBFMDAwNjQsIDE2LCAweDAwMDAwMDAzLCAneCcsICJHUElPIDcyIGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMkxfNzMiLCAweDQwRTAwMDY0LCAxOCwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyA3MyBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjJMXzc0IiwgMHg0MEUwMDA2NCwgMjAsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gNzQgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIyTF83NSIsIDB4NDBFMDAwNjQsIDIyLCAweDAwMDAwMDAzLCAneCcsICJHUElPIDc1IGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMkxfNzYiLCAweDQwRTAwMDY0LCAyNCwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyA3NiBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjJMXzc3IiwgMHg0MEUwMDA2NCwgMjYsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gNzcgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIyTF83OCIsIDB4NDBFMDAwNjQsIDI4LCAweDAwMDAwMDAzLCAneCcsICJHUElPIDc4IGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMkxfNzkiLCAweDQwRTAwMDY0LCAzMCwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyA3OSBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAorCit7ICJHQUZSMlUiLCAgICAweDQwRTAwMDY4LCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiR1BJTyBBbHRlcm5hdGUgRnVuY3Rpb24gUmVnaXN0ZXIgMiBVcHBlciAoNC0xOSkiIH0sCit7ICJHQUZSMlVfODAiLCAweDQwRTAwMDY4LCAgMCwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyA4MCBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjJVXzgxIiwgMHg0MEUwMDA2OCwgIDIsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gODEgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIyVV84MiIsIDB4NDBFMDAwNjgsICA0LCAweDAwMDAwMDAzLCAneCcsICJHUElPIDgyIGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMlVfODMiLCAweDQwRTAwMDY4LCAgNiwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyA4MyBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjJVXzg0IiwgMHg0MEUwMDA2OCwgIDgsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gODQgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKKworeyAiSUNNUiIsICAgICAgMHg0MEQwMDAwNCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkludGVycnVwdCBDb250cm9sbGVyIE1hc2sgUmVnaXN0ZXIgKDQtMjIpIiB9LAoreyAiSUNNUl9JTTciLCAgMHg0MEQwMDAwNCwgIDcsIDB4MDAwMDAwMDEsICd4JywgIlBlbmRpbmcgSVJRIDcgKEhXVUFSVCkgdW5tYXNrZWQ/IiB9LAoreyAiSUNNUl9JTTgiLCAgMHg0MEQwMDAwNCwgIDgsIDB4MDAwMDAwMDEsICd4JywgIlBlbmRpbmcgSVJRIDggKEdQSU8wKSB1bm1hc2tlZCIgfSwKK3sgIklDTVJfSU05IiwgIDB4NDBEMDAwMDQsICA5LCAweDAwMDAwMDAxLCAneCcsICJQZW5kaW5nIElSUSA5IChHUElPMSkgdW5tYXNrZWQiIH0sCit7ICJJQ01SX0lNMTAiLCAweDQwRDAwMDA0LCAxMCwgMHgwMDAwMDAwMSwgJ3gnLCAiUGVuZGluZyBJUlEgMTAgKEdQSU8yXzgwKSB1bm1hc2tlZCIgfSwKK3sgIklDTVJfSU0xMSIsIDB4NDBEMDAwMDQsIDExLCAweDAwMDAwMDAxLCAneCcsICJQZW5kaW5nIElSUSAxMSAoVVNCKSB1bm1hc2tlZCIgfSwKK3sgIklDTVJfSU0xMiIsIDB4NDBEMDAwMDQsIDEyLCAweDAwMDAwMDAxLCAneCcsICJQZW5kaW5nIElSUSAxMiAoUE1VKSB1bm1hc2tlZCIgfSwKK3sgIklDTVJfSU0xMyIsIDB4NDBEMDAwMDQsIDEzLCAweDAwMDAwMDAxLCAneCcsICJQZW5kaW5nIElSUSAxMyAoSTJTKSB1bm1hc2tlZCIgfSwKK3sgIklDTVJfSU0xNCIsIDB4NDBEMDAwMDQsIDE0LCAweDAwMDAwMDAxLCAneCcsICJQZW5kaW5nIElSUSAxNCAoQUM5NykgdW5tYXNrZWQiIH0sCit7ICJJQ01SX0lNMTciLCAweDQwRDAwMDA0LCAxNywgMHgwMDAwMDAwMSwgJ3gnLCAiUGVuZGluZyBJUlEgMTcgKExDRCkgdW5tYXNrZWQiIH0sCit7ICJJQ01SX0lNMTgiLCAweDQwRDAwMDA0LCAxOCwgMHgwMDAwMDAwMSwgJ3gnLCAiUGVuZGluZyBJUlEgMTggKEkyQykgdW5tYXNrZWQiIH0sCit7ICJJQ01SX0lNMTkiLCAweDQwRDAwMDA0LCAxOSwgMHgwMDAwMDAwMSwgJ3gnLCAiUGVuZGluZyBJUlEgMTkgKElDUCkgdW5tYXNrZWQiIH0sCit7ICJJQ01SX0lNMjAiLCAweDQwRDAwMDA0LCAyMCwgMHgwMDAwMDAwMSwgJ3gnLCAiUGVuZGluZyBJUlEgMjAgKFNUVUFSVCkgdW5tYXNrZWQiIH0sCit7ICJJQ01SX0lNMjEiLCAweDQwRDAwMDA0LCAyMSwgMHgwMDAwMDAwMSwgJ3gnLCAiUGVuZGluZyBJUlEgMjEgKEJUVUFSVCkgdW5tYXNrZWQiIH0sCit7ICJJQ01SX0lNMjIiLCAweDQwRDAwMDA0LCAyMiwgMHgwMDAwMDAwMSwgJ3gnLCAiUGVuZGluZyBJUlEgMjIgKEZGVUFSVCkgdW5tYXNrZWQiIH0sCit7ICJJQ01SX0lNMjMiLCAweDQwRDAwMDA0LCAyMywgMHgwMDAwMDAwMSwgJ3gnLCAiUGVuZGluZyBJUlEgMjMgKE1NQykgdW5tYXNrZWQiIH0sCit7ICJJQ01SX0lNMjQiLCAweDQwRDAwMDA0LCAyNCwgMHgwMDAwMDAwMSwgJ3gnLCAiUGVuZGluZyBJUlEgMjQgKFNTUCkgdW5tYXNrZWQiIH0sCit7ICJJQ01SX0lNMjUiLCAweDQwRDAwMDA0LCAyNSwgMHgwMDAwMDAwMSwgJ3gnLCAiUGVuZGluZyBJUlEgMjUgKERNQSkgdW5tYXNrZWQiIH0sCit7ICJJQ01SX0lNMjYiLCAweDQwRDAwMDA0LCAyNiwgMHgwMDAwMDAwMSwgJ3gnLCAiUGVuZGluZyBJUlEgMjYgKE9TTVIwKSB1bm1hc2tlZCIgfSwKK3sgIklDTVJfSU0yNyIsIDB4NDBEMDAwMDQsIDI3LCAweDAwMDAwMDAxLCAneCcsICJQZW5kaW5nIElSUSAyNyAoT1NNUjEpIHVubWFza2VkIiB9LAoreyAiSUNNUl9JTTI4IiwgMHg0MEQwMDAwNCwgMjgsIDB4MDAwMDAwMDEsICd4JywgIlBlbmRpbmcgSVJRIDI4IChPU01SMikgdW5tYXNrZWQiIH0sCit7ICJJQ01SX0lNMjkiLCAweDQwRDAwMDA0LCAyOSwgMHgwMDAwMDAwMSwgJ3gnLCAiUGVuZGluZyBJUlEgMjkgKE9TTVIzKSB1bm1hc2tlZCIgfSwKK3sgIklDTVJfSU0zMCIsIDB4NDBEMDAwMDQsIDMwLCAweDAwMDAwMDAxLCAneCcsICJQZW5kaW5nIElSUSAzMCAoUlRDQ0xLKSB1bm1hc2tlZCIgfSwKK3sgIklDTVJfSU0zMSIsIDB4NDBEMDAwMDQsIDMxLCAweDAwMDAwMDAxLCAneCcsICJQZW5kaW5nIElSUSAzMSAoUlRDQUxNKSB1bm1hc2tlZCIgfSwKKworeyAiSUNMUiIsICAgICAgMHg0MEQwMDAwOCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkludGVycnVwdCBDb250cm9sbGVyIExldmVsIFJlZ2lzdGVyICg0LTIzKSIgfSwKK3sgIklDTFJfSUw3IiwgIDB4NDBEMDAwMDgsICA3LCAweDAwMDAwMDAxLCAneCcsICJJUlEgOCAoSFdVQVJUKSBnZW5lcmF0ZXMgRklRPyIgfSwKK3sgIklDTFJfSUw4IiwgIDB4NDBEMDAwMDgsICA4LCAweDAwMDAwMDAxLCAneCcsICJJUlEgOCAoR1BJTzApIGdlbmVyYXRlcyBGSVEiIH0sCit7ICJJQ0xSX0lMOSIsICAweDQwRDAwMDA4LCAgOSwgMHgwMDAwMDAwMSwgJ3gnLCAiSVJRIDkgKEdQSU8xKSBnZW5lcmF0ZXMgRklRIiB9LAoreyAiSUNMUl9JTDEwIiwgMHg0MEQwMDAwOCwgMTAsIDB4MDAwMDAwMDEsICd4JywgIklSUSAxMCAoR1BJTzJfODApIGdlbmVyYXRlcyBGSVEiIH0sCit7ICJJQ0xSX0lMMTEiLCAweDQwRDAwMDA4LCAxMSwgMHgwMDAwMDAwMSwgJ3gnLCAiSVJRIDExIChVU0IpIGdlbmVyYXRlcyBGSVEiIH0sCit7ICJJQ0xSX0lMMTIiLCAweDQwRDAwMDA4LCAxMiwgMHgwMDAwMDAwMSwgJ3gnLCAiSVJRIDEyIChQTVUpIGdlbmVyYXRlcyBGSVEiIH0sCit7ICJJQ0xSX0lMMTMiLCAweDQwRDAwMDA4LCAxMywgMHgwMDAwMDAwMSwgJ3gnLCAiSVJRIDEzIChJMlMpIGdlbmVyYXRlcyBGSVEiIH0sCit7ICJJQ0xSX0lMMTQiLCAweDQwRDAwMDA4LCAxNCwgMHgwMDAwMDAwMSwgJ3gnLCAiSVJRIDE0IChBQzk3KSBnZW5lcmF0ZXMgRklRIiB9LAoreyAiSUNMUl9JTDE3IiwgMHg0MEQwMDAwOCwgMTcsIDB4MDAwMDAwMDEsICd4JywgIklSUSAxNyAoTENEKSBnZW5lcmF0ZXMgRklRIiB9LAoreyAiSUNMUl9JTDE4IiwgMHg0MEQwMDAwOCwgMTgsIDB4MDAwMDAwMDEsICd4JywgIklSUSAxOCAoSTJDKSBnZW5lcmF0ZXMgRklRIiB9LAoreyAiSUNMUl9JTDE5IiwgMHg0MEQwMDAwOCwgMTksIDB4MDAwMDAwMDEsICd4JywgIklSUSAxOSAoSUNQKSBnZW5lcmF0ZXMgRklRIiB9LAoreyAiSUNMUl9JTDIwIiwgMHg0MEQwMDAwOCwgMjAsIDB4MDAwMDAwMDEsICd4JywgIklSUSAxMCAoU1RVQVJUKSBnZW5lcmF0ZXMgRklRIiB9LAoreyAiSUNMUl9JTDIxIiwgMHg0MEQwMDAwOCwgMjEsIDB4MDAwMDAwMDEsICd4JywgIklSUSAyMSAoQlRVQVJUKSBnZW5lcmF0ZXMgRklRIiB9LAoreyAiSUNMUl9JTDIyIiwgMHg0MEQwMDAwOCwgMjIsIDB4MDAwMDAwMDEsICd4JywgIklSUSAyMiAoRkZVQVJUKSBnZW5lcmF0ZXMgRklRIiB9LAoreyAiSUNMUl9JTDIzIiwgMHg0MEQwMDAwOCwgMjMsIDB4MDAwMDAwMDEsICd4JywgIklSUSAyMyAoTU1DKSBnZW5lcmF0ZXMgRklRIiB9LAoreyAiSUNMUl9JTDI0IiwgMHg0MEQwMDAwOCwgMjQsIDB4MDAwMDAwMDEsICd4JywgIklSUSAyNCAoU1NQKSBnZW5lcmF0ZXMgRklRIiB9LAoreyAiSUNMUl9JTDI1IiwgMHg0MEQwMDAwOCwgMjUsIDB4MDAwMDAwMDEsICd4JywgIklSUSAyNSAoRE1BKSBnZW5lcmF0ZXMgRklRIiB9LAoreyAiSUNMUl9JTDI2IiwgMHg0MEQwMDAwOCwgMjYsIDB4MDAwMDAwMDEsICd4JywgIklSUSAyNiAoT1NNUjApIGdlbmVyYXRlcyBGSVEiIH0sCit7ICJJQ0xSX0lMMjciLCAweDQwRDAwMDA4LCAyNywgMHgwMDAwMDAwMSwgJ3gnLCAiSVJRIDI3IChPU01SMSkgZ2VuZXJhdGVzIEZJUSIgfSwKK3sgIklDTFJfSUwyOCIsIDB4NDBEMDAwMDgsIDI4LCAweDAwMDAwMDAxLCAneCcsICJJUlEgMjggKE9TTVIyKSBnZW5lcmF0ZXMgRklRIiB9LAoreyAiSUNMUl9JTDI5IiwgMHg0MEQwMDAwOCwgMjksIDB4MDAwMDAwMDEsICd4JywgIklSUSAyOSAoT1NNUjMpIGdlbmVyYXRlcyBGSVEiIH0sCit7ICJJQ0xSX0lMMzAiLCAweDQwRDAwMDA4LCAzMCwgMHgwMDAwMDAwMSwgJ3gnLCAiSVJRIDMwIChSVENDTEspIGdlbmVyYXRlcyBGSVEiIH0sCit7ICJJQ0xSX0lMMzEiLCAweDQwRDAwMDA4LCAzMSwgMHgwMDAwMDAwMSwgJ3gnLCAiSVJRIDMxIChSVENBTE0pIGdlbmVyYXRlcyBGSVEiIH0sCisKK3sgIklDQ1IiLCAgICAgIDB4NDBEMDAwMTQsICAwLCAweGZmZmZmZmZmLCAneCcsICJJbnRlcnJ1cHQgQ29udHJvbGxlciBDb250cm9sIFJlZ2lzdGVyICg0LTIzKSIgfSwKK3sgIklDQ1JfRElNIiwgIDB4NDBEMDAwMTQsICA4LCAweDAwMDAwMDAxLCAneCcsICJPTkxZIGVuYWJsZWQgYW5kIHVubWFza2VkIElSUSBicmluZyBDUFUgZnJvbSBpZGxlIHRvIHJ1biIgfSwKKworeyAiSUNJUCIsICAgICAgMHg0MEQwMDAwMCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkludGVycnVwdCBDb250cm9sbGVyIElSUSBQZW5kaW5nIFJlZ2lzdGVyICg0LTI0KSIgfSwKKworeyAiSUNGUCIsICAgICAgMHg0MEQwMDAwQywgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkludGVycnVwdCBDb250cm9sbGVyIEZJUSBQZW5kaW5nIFJlZ2lzdGVyICg0LTI0KSIgfSwKKworeyAiSUNQUiIsICAgICAgMHg0MEQwMDAxMCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkludGVycnVwdCBDb250cm9sbGVyIFBlbmRpbmcgUmVnaXN0ZXIgKDQtMjUpIiB9LAoreyAiSUNQUl9JUzciLCAgMHg0MEQwMDAxMCwgIDcsIDB4MDAwMDAwMDEsICd4JywgIklSUSA3IChIV1VBUlQpIHBlbmRpbmciIH0sCit7ICJJQ1BSX0lTOCIsICAweDQwRDAwMDEwLCAgOCwgMHgwMDAwMDAwMSwgJ3gnLCAiSVJRIDggKEdQSU8wKSBwZW5kaW5nIiB9LAoreyAiSUNQUl9JUzkiLCAgMHg0MEQwMDAxMCwgIDksIDB4MDAwMDAwMDEsICd4JywgIklSUSA5IChHUElPMSkgcGVuZGluZyIgfSwKK3sgIklDUFJfSVMxMCIsIDB4NDBEMDAwMTAsIDEwLCAweDAwMDAwMDAxLCAneCcsICJJUlEgMTAgKEdQSU8yXzgwKSBwZW5kaW5nIiB9LAoreyAiSUNQUl9JUzExIiwgMHg0MEQwMDAxMCwgMTEsIDB4MDAwMDAwMDEsICd4JywgIklSUSAxMSAoVVNCKSBwZW5kaW5nIiB9LAoreyAiSUNQUl9JUzEyIiwgMHg0MEQwMDAxMCwgMTIsIDB4MDAwMDAwMDEsICd4JywgIklSUSAxMiAoUE1VKSBwZW5kaW5nIiB9LAoreyAiSUNQUl9JUzEzIiwgMHg0MEQwMDAxMCwgMTMsIDB4MDAwMDAwMDEsICd4JywgIklSUSAxMyAoSTJTKSBwZW5kaW5nIiB9LAoreyAiSUNQUl9JUzE0IiwgMHg0MEQwMDAxMCwgMTQsIDB4MDAwMDAwMDEsICd4JywgIklSUSAxNCAoQUM5NykgcGVuZGluZyIgfSwKK3sgIklDUFJfSVMxNyIsIDB4NDBEMDAwMTAsIDE3LCAweDAwMDAwMDAxLCAneCcsICJJUlEgMTcgKExDRCkgcGVuZGluZyIgfSwKK3sgIklDUFJfSVMxOCIsIDB4NDBEMDAwMTAsIDE4LCAweDAwMDAwMDAxLCAneCcsICJJUlEgMTggKEkyQykgcGVuZGluZyIgfSwKK3sgIklDUFJfSVMxOSIsIDB4NDBEMDAwMTAsIDE5LCAweDAwMDAwMDAxLCAneCcsICJJUlEgMTkgKElDUCkgcGVuZGluZyIgfSwKK3sgIklDUFJfSVMyMCIsIDB4NDBEMDAwMTAsIDIwLCAweDAwMDAwMDAxLCAneCcsICJJUlEgMTAgKFNUVUFSVCkgcGVuZGluZyIgfSwKK3sgIklDUFJfSVMyMSIsIDB4NDBEMDAwMTAsIDIxLCAweDAwMDAwMDAxLCAneCcsICJJUlEgMjEgKEJUVUFSVCkgcGVuZGluZyIgfSwKK3sgIklDUFJfSVMyMiIsIDB4NDBEMDAwMTAsIDIyLCAweDAwMDAwMDAxLCAneCcsICJJUlEgMjIgKEZGVUFSVCkgcGVuZGluZyIgfSwKK3sgIklDUFJfSVMyMyIsIDB4NDBEMDAwMTAsIDIzLCAweDAwMDAwMDAxLCAneCcsICJJUlEgMjMgKE1NQykgcGVuZGluZyIgfSwKK3sgIklDUFJfSVMyNCIsIDB4NDBEMDAwMTAsIDI0LCAweDAwMDAwMDAxLCAneCcsICJJUlEgMjQgKFNTUCkgcGVuZGluZyIgfSwKK3sgIklDUFJfSVMyNSIsIDB4NDBEMDAwMTAsIDI1LCAweDAwMDAwMDAxLCAneCcsICJJUlEgMjUgKERNQSkgcGVuZGluZyIgfSwKK3sgIklDUFJfSVMyNiIsIDB4NDBEMDAwMTAsIDI2LCAweDAwMDAwMDAxLCAneCcsICJJUlEgMjYgKE9TTVIwKSBwZW5kaW5nIiB9LAoreyAiSUNQUl9JUzI3IiwgMHg0MEQwMDAxMCwgMjcsIDB4MDAwMDAwMDEsICd4JywgIklSUSAyNyAoT1NNUjEpIHBlbmRpbmciIH0sCit7ICJJQ1BSX0lTMjgiLCAweDQwRDAwMDEwLCAyOCwgMHgwMDAwMDAwMSwgJ3gnLCAiSVJRIDI4IChPU01SMikgcGVuZGluZyIgfSwKK3sgIklDUFJfSVMyOSIsIDB4NDBEMDAwMTAsIDI5LCAweDAwMDAwMDAxLCAneCcsICJJUlEgMjkgKE9TTVIzKSBwZW5kaW5nIiB9LAoreyAiSUNQUl9JUzMwIiwgMHg0MEQwMDAxMCwgMzAsIDB4MDAwMDAwMDEsICd4JywgIklSUSAzMCAoUlRDQ0xLKSBwZW5kaW5nIiB9LAoreyAiSUNQUl9JUzMxIiwgMHg0MEQwMDAxMCwgMzEsIDB4MDAwMDAwMDEsICd4JywgIklSUSAzMSAoUlRDQUxNKSBwZW5kaW5nIiB9LAorCit7ICJSVFRSIiwgICAgICAgIDB4NDA5MDAwMEMsICAwLCAweGZmZmZmZmZmLCAneCcsICJSVEMgVHJpbSBSZWdpc3RlciAoNC0zMCkiIH0sCit7ICJSVFRSX0NLX0RJViIsIDB4NDA5MDAwMEMsICAwLCAweDAwMDBmZmZmLCAneCcsICJSVEMgQ2xvY2sgRGl2aWRlciBDb3VudCIgfSwKK3sgIlJUVFJfREVMIiwgICAgMHg0MDkwMDAwQywgMTYsIDB4MDAwMDAzZmYsICd4JywgIlJUQyBUcmltIGRlbGV0ZSBDb3VudCIgfSwKK3sgIlJUVFJfTENLIiwgICAgMHg0MDkwMDAwQywgMzEsIDB4MDAwMDAwMDEsICd4JywgIlJUQyBMb2NraW5nIGZvciBSVFRSIiB9LAorCit7ICJSVEFSIiwgICAgICAgIDB4NDA5MDAwMTAsICAwLCAweGZmZmZmZmZmLCAneCcsICJSVEMgQWxhcm0gUmVnaXN0ZXIgKDQtMzApIiB9LAoreyAiUlRBUl9SVE1WIiwgICAweDQwOTAwMDEwLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiUlRDIFRhcmdldCBNYXRjaCBWYWx1ZSIgfSwKKworeyAiUkNOUiIsICAgICAgICAweDQwOTAwMDAwLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiUlRDIENvdW50ZXIgUmVnaXN0ZXIgKDQtMzEpIiB9LAoreyAiUkNOUl9SQ1YiLCAgICAweDQwOTAwMDAwLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiUlRDIENvdW50IFZhbHVlIiB9LAorCit7ICJSVFNSIiwgICAgICAgIDB4NDA5MDAwMDgsICAwLCAweGZmZmZmZmZmLCAneCcsICJSVEMgU3RhdHVzIFJlZ2lzdGVyICg0LTMyKSIgfSwKK3sgIlJUU1JfQUwiLCAgICAgMHg0MDkwMDAwOCwgIDAsIDB4MDAwMDAwMDEsICd4JywgIlJUQyBBbGFybSBJbnRlcnJ1cHQgZGV0ZWN0ZWQiIH0sCit7ICJSVFNSX0haIiwgICAgIDB4NDA5MDAwMDgsICAxLCAweDAwMDAwMDAxLCAneCcsICJSVEMgSHogSW50ZXJydXB0IGRldGVjdGVkIiB9LAoreyAiUlRTUl9BTEUiLCAgICAweDQwOTAwMDA4LCAgMiwgMHgwMDAwMDAwMSwgJ3gnLCAiUlRDIEFsYXJtIEludGVycnVwdCBFbmFibGUiIH0sCit7ICJSVFNSX0haRSIsICAgIDB4NDA5MDAwMDgsICAzLCAweDAwMDAwMDAxLCAneCcsICJSVEMgSHogSW50ZXJydXB0IEVuYWJsZSIgfSwKKworeyAiT1NNUjAiLCAgICAgICAweDQwQTAwMDAwLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiT1MgVGltZXIgTWF0Y2ggUmVnaXN0ZXIgMCAoNC0zNikiIH0sCit7ICJPU01SMSIsICAgICAgIDB4NDBBMDAwMDQsICAwLCAweGZmZmZmZmZmLCAneCcsICJPUyBUaW1lciBNYXRjaCBSZWdpc3RlciAxICg0LTM2KSIgfSwKK3sgIk9TTVIyIiwgICAgICAgMHg0MEEwMDAwOCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIk9TIFRpbWVyIE1hdGNoIFJlZ2lzdGVyIDIgKDQtMzYpIiB9LAoreyAiT1NNUjMiLCAgICAgICAweDQwQTAwMDBDLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiT1MgVGltZXIgTWF0Y2ggUmVnaXN0ZXIgMyAoNC0zNikiIH0sCisKK3sgIk9JRVIiLCAgICAgICAgMHg0MEEwMDAxQywgIDAsIDB4ZmZmZmZmZmYsICd4JywgIk9TIFRpbWVyIEludGVycnVwdCBFbmFibGUgUmVnaXN0ZXIgKDQtMzYpIiB9LAoreyAiT0lFUl9FMCIsICAgICAweDQwQTAwMDFDLCAgMCwgMHgwMDAwMDAwMSwgJ3gnLCAiT1MgSW50ZXJydXB0IGZvciBPU01SMCBlbmFibGVkIiB9LAoreyAiT0lFUl9FMSIsICAgICAweDQwQTAwMDFDLCAgMSwgMHgwMDAwMDAwMSwgJ3gnLCAiT1MgSW50ZXJydXB0IGZvciBPU01SMSBlbmFibGVkIiB9LAoreyAiT0lFUl9FMiIsICAgICAweDQwQTAwMDFDLCAgMiwgMHgwMDAwMDAwMSwgJ3gnLCAiT1MgSW50ZXJydXB0IGZvciBPU01SMiBlbmFibGVkIiB9LAoreyAiT0lFUl9FMyIsICAgICAweDQwQTAwMDFDLCAgMywgMHgwMDAwMDAwMSwgJ3gnLCAiT1MgSW50ZXJydXB0IGZvciBPU01SMyBlbmFibGVkIiB9LAorCit7ICJPV0VSIiwgICAgICAgIDB4NDBBMDAwMTgsICAwLCAweGZmZmZmZmZmLCAneCcsICJPUyBUaW1lciBXYXRjaGRvZyBNYXRjaCBFbmFibGUgUmVnaXN0ZXIgKDQtMzcpIiB9LAoreyAiT1dFUl9XTUUiLCAgICAweDQwQTAwMDE4LCAgMCwgMHgwMDAwMDAwMSwgJ3gnLCAiT1NNUjMgbWF0Y2ggY2F1c2VzIGEgcmVzZXQiIH0sCisKK3sgIk9TQ1IiLCAgICAgICAgMHg0MEEwMDAxMCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIk9TIFRpbWVyIENvdW50IFJlZ2lzdGVyICg0LTM3KSIgfSwKK3sgIk9TQ1JfT1NDViIsICAgMHg0MEEwMDAxMCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIk9TIFRpbWVyIENvdW50IFZhbHVlIiB9LAorCit7ICJPU1NSIiwgICAgICAgIDB4NDBBMDAwMTQsICAwLCAweGZmZmZmZmZmLCAneCcsICJPUyBUaW1lciBTdGF0dXMgUmVnaXN0ZXIgKDQtMzgpIiB9LAoreyAiT1NTUl9NMCIsICAgICAweDQwQTAwMDE0LCAgMCwgMHgwMDAwMDAwMSwgJ3gnLCAiT1MgT1NNUjAgbWF0Y2hlZCBPU0NSMCIgfSwKK3sgIk9TU1JfTTEiLCAgICAgMHg0MEEwMDAxNCwgIDEsIDB4MDAwMDAwMDEsICd4JywgIk9TIE9TTVIxIG1hdGNoZWQgT1NDUjEiIH0sCit7ICJPU1NSX00yIiwgICAgIDB4NDBBMDAwMTQsICAyLCAweDAwMDAwMDAxLCAneCcsICJPUyBPU01SMiBtYXRjaGVkIE9TQ1IyIiB9LAoreyAiT1NTUl9NMyIsICAgICAweDQwQTAwMDE0LCAgMywgMHgwMDAwMDAwMSwgJ3gnLCAiT1MgT1NNUjMgbWF0Y2hlZCBPU0NSMyIgfSwKKworeyAiUFdNQ1RMMCIsICAgICAgICAgICAgIDB4NDBCMDAwMDAsICAwLCAweGZmZmZmZmZmLCAneCcsICJQV00gQ29udHJvbCBSZWdpc3RlciAwICg0LTQxKSIgfSwKK3sgIlBXTUNUTDBfUFJFU0NBTEUiLCAgICAweDQwQjAwMDAwLCAgMCwgMHgwMDAwMDAzZiwgJ2QnLCAiUFdNMCBQcmVzY2FsZSBEaXZpc29yIiB9LAoreyAiUFdNQ1RMMF9TRCIsICAgICAgICAgIDB4NDBCMDAwMDAsICA1LCAweDAwMDAwMDAxLCAneCcsICJQV00wIGFicnVwdCBzaHV0ZG93biIgfSwKKworeyAiUFdNRFVUWTAiLCAgICAgICAgICAgIDB4NDBCMDAwMDQsICAwLCAweGZmZmZmZmZmLCAneCcsICJQV00gRHV0eSBDeWNsZSBSZWdpc3RlciAwICg0LTQyKSIgfSwKK3sgIlBXTURVVFkwX0RDWUNMRSIsICAgICAweDQwQjAwMDA0LCAgMCwgMHgwMDAwMDNmZiwgJ2QnLCAiUFdNMCBEdXR5IEN5Y2xlIiB9LAoreyAiUFdNRFVUWTBfRkRDWUNMRSIsICAgIDB4NDBCMDAwMDQsIDEwLCAweDAwMDAwMDAxLCAneCcsICJQV01fT1VUMCBpcyBzZXQgaGlnaCBhbmQgZG9lcyBub3QgdG9nZ2xlIiB9LAorCit7ICJQV01QRVJWQUwwIiwgICAgICAgICAgMHg0MEIwMDAwOCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIlBXTSBQZXJpb2QgQ29udHJvbCBSZWdpc3RlciAwICg0LTQzKSIgfSwKK3sgIlBXTVBFUlZBTDBfUFYiLCAgICAgICAweDQwQjAwMDA4LCAgMCwgMHgwMDAwMDNmZiwgJ2QnLCAiUFdNMCBQZXJpb2QgQ3ljbGUgTGVuZ3RoIiB9LAorCit7ICJQV01DVEwxIiwgICAgICAgICAgICAgMHg0MEMwMDAwMCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIlBXTSBDb250cm9sIFJlZ2lzdGVyIDEgKDQtNDEpIiB9LAoreyAiUFdNQ1RMMV9QUkVTQ0FMRSIsICAgIDB4NDBDMDAwMDAsICAwLCAweDAwMDAwMDNmLCAnZCcsICJQV00xIFByZXNjYWxlIERpdmlzb3IiIH0sCit7ICJQV01DVEwxX1NEIiwgICAgICAgICAgMHg0MEMwMDAwMCwgIDUsIDB4MDAwMDAwMDEsICd4JywgIlBXTTEgYWJydXB0IHNodXRkb3duIiB9LAorCit7ICJQV01EVVRZMSIsICAgICAgICAgICAgMHg0MEMwMDAwNCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIlBXTSBEdXR5IEN5Y2xlIFJlZ2lzdGVyIDEgKDQtNDIpIiB9LAoreyAiUFdNRFVUWTFfRENZQ0xFIiwgICAgIDB4NDBDMDAwMDQsICAwLCAweDAwMDAwM2ZmLCAnZCcsICJQV00xIER1dHkgQ3ljbGUiIH0sCit7ICJQV01EVVRZMV9GRENZQ0xFIiwgICAgMHg0MEMwMDAwNCwgMTAsIDB4MDAwMDAwMDEsICd4JywgIlBXTV9PVVQxIGlzIHNldCBoaWdoIGFuZCBkb2VzIG5vdCB0b2dnbGUiIH0sCisKK3sgIlBXTVBFUlZBTDEiLCAgICAgICAgICAweDQwQzAwMDA4LCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiUFdNIFBlcmlvZCBDb250cm9sIFJlZ2lzdGVyIDEgKDQtNDMpIiB9LAoreyAiUFdNUEVSVkFMMV9QViIsICAgICAgIDB4NDBDMDAwMDgsICAwLCAweDAwMDAwM2ZmLCAnZCcsICJQV00xIFBlcmlvZCBDeWNsZSBMZW5ndGgiIH0sCisKKworeyAiTENDUjAiLCAgICAgMHg0NDAwMDAwMCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkxDRCBDb250cm9sbGVyIENvbnRyb2wgUmVnaXN0ZXIgMCAoNy0yMykiIH0sCit7ICJMQ0NSMF9FTkIiLCAweDQ0MDAwMDAwLCAgMCwgMHgwMDAwMDAwMSwgJ2QnLCAiTENEIGNvbnRyb2xsZXIgZW5hYmxlIiB9LAoreyAiTENDUjBfQ01TIiwgMHg0NDAwMDAwMCwgIDEsIDB4MDAwMDAwMDEsICdkJywgIkxDRCBtb25vY2hyb21lIG9wZXJhdGlvbiBlbmFibGUiIH0sCit7ICJMQ0NSMF9TRFMiLCAweDQ0MDAwMDAwLCAgMiwgMHgwMDAwMDAwMSwgJ2QnLCAiTENEIGR1YWwgcGFuZWwgZGlzcGxheSBlbmFibGUiIH0sCit7ICJMQ0NSMF9MRE0iLCAweDQ0MDAwMDAwLCAgMywgMHgwMDAwMDAwMSwgJ2QnLCAiTENEIGRpc2FibGUgZG9uZSBJUlEgZGlzYWJsZSIgfSwKK3sgIkxDQ1IwX1NGTSIsIDB4NDQwMDAwMDAsICA0LCAweDAwMDAwMDAxLCAnZCcsICJMQ0Qgc3RhcnQgb2YgZnJhbWUgSVJRIGRpc2FibGUiIH0sCit7ICJMQ0NSMF9JVU0iLCAweDQ0MDAwMDAwLCAgNSwgMHgwMDAwMDAwMSwgJ2QnLCAiTENEIGZpZm8gdW5kZXJydW4gZXJyb3IgSVJRIGRpc2FibGUiIH0sCit7ICJMQ0NSMF9FRk0iLCAweDQ0MDAwMDAwLCAgNiwgMHgwMDAwMDAwMSwgJ2QnLCAiTENEIGVuZCBvZiBmcmFtZSBJUlEgZGlzYWJsZSIgfSwKK3sgIkxDQ1IwX1BBUyIsIDB4NDQwMDAwMDAsICA3LCAweDAwMDAwMDAxLCAnZCcsICJMQ0QgYWN0aXZlIGRpc3BsYXkgZW5hYmxlIiB9LAoreyAiTENDUjBfRFBEIiwgMHg0NDAwMDAwMCwgIDksIDB4MDAwMDAwMDEsICdkJywgIkxDRCBzZW5kIDggcGl4ZWwgb24gTF9ERFs3OjBdIGF0IGVhY2ggY2xvY2siIH0sCit7ICJMQ0NSMF9ESVMiLCAweDQ0MDAwMDAwLCAxMCwgMHgwMDAwMDAwMSwgJ2QnLCAiTENEIGNvbnRyb2xsZXIgZGlzYWJsZSIgfSwKK3sgIkxDQ1IwX1FETSIsIDB4NDQwMDAwMDAsIDExLCAweDAwMDAwMDAxLCAnZCcsICJMQ0QgcXVpY2sgZGlzYWJsZSBJUlEgZGlzYWJsZSIgfSwKK3sgIkxDQ1IwX1BERCIsIDB4NDQwMDAwMDAsIDEyLCAweDAwMDAwMEZGLCAnZCcsICJMQ0QgcGFsZXR0ZSBETUEgcmVxdWVzdCBkZWxheSIgfSwKK3sgIkxDQ1IwX0JNIiwgIDB4NDQwMDAwMDAsIDIwLCAweDAwMDAwMDAxLCAnZCcsICJMQ0QgYnJhbmNoIHN0YXJ0IElSUSBkaXNhYmxlIiB9LAoreyAiTENDUjBfT1VNIiwgMHg0NDAwMDAwMCwgMjEsIDB4MDAwMDAwMDEsICdkJywgIkxDRCBmaWZvIHVuZGVycnVuIElSUSBkaXNhYmxlIiB9LAorCit7ICJMQ0NSMSIsICAgICAweDQ0MDAwMDA0LCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiTENEIENvbnRyb2xsZXIgQ29udHJvbCBSZWdpc3RlciAxICg3LTI2KSIgfSwKK3sgIkxDQ1IxX1BQTCIsIDB4NDQwMDAwMDQsICAwLCAweDAwMDAwM2ZmLCAnZCcsICJMQ0QgcGl4ZWxzIHBlciBsaW5lICgrMSkiIH0sCit7ICJMQ0NSMV9IU1ciLCAweDQ0MDAwMDA0LCAxMCwgMHgwMDAwMDAzZiwgJ2QnLCAiTENEIGhvcml6b250YWwgc3luYyBwdWxzZSB3aWR0aCAoKzEpIiB9LAoreyAiTENDUjFfRUxXIiwgMHg0NDAwMDAwNCwgMTYsIDB4MDAwMDAwZmYsICdkJywgIkxDRCBlbmQgb2YgbGluZSBwaXhlbCBjbG9jayB3YWl0IGNvdW50ICgrMSkiIH0sCit7ICJMQ0NSMV9CTFciLCAweDQ0MDAwMDA0LCAyNCwgMHgwMDAwMDBmZiwgJ2QnLCAiTENEIGJlZ2lubmluZyBvZiBsaW5lIHBpeGVsIGNsb2NrIHdhaXQgY291bnQgKCsxKSIgfSwKKworeyAiTENDUjIiLCAgICAgMHg0NDAwMDAwOCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkxDRCBDb250cm9sbGVyIENvbnRyb2wgUmVnaXN0ZXIgMiAoNy0yOCkiIH0sCit7ICJMQ0NSMl9MUFAiLCAweDQ0MDAwMDA4LCAgMCwgMHgwMDAwMDNmZiwgJ2QnLCAiTENEIGxpbmVzIHBlciBwYW5lbCAoKzEpIiB9LAoreyAiTENDUjJfVlNXIiwgMHg0NDAwMDAwOCwgMTAsIDB4MDAwMDAwM2YsICdkJywgIkxDRCB2ZXJ0aWNhbCBzeW5jIHB1bHNlIHdpZHRoICgrMSkiIH0sCit7ICJMQ0NSMl9FRlciLCAweDQ0MDAwMDA4LCAxNiwgMHgwMDAwMDBmZiwgJ2QnLCAiTENEIGVuZCBvZiBmcmFtZSBsaW5lIGNsb2NrIHdhaXQgY291bnQgKCsxKSIgfSwKK3sgIkxDQ1IyX0JGVyIsIDB4NDQwMDAwMDgsIDI0LCAweDAwMDAwMGZmLCAnZCcsICJMQ0QgYmVnaW5uaW5nIG9mIGZyYW1lIGxpbmUgY2xvY2sgd2FpdCBjb3VudCAoKzEpIiB9LAorCit7ICJMQ0NSMyIsICAgICAweDQ0MDAwMDBDLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiTENEIENvbnRyb2xsZXIgQ29udHJvbCBSZWdpc3RlciAzICg3LTMxKSIgfSwKK3sgIkxDQ1IzX1BDRCIsIDB4NDQwMDAwMEMsICAwLCAweDAwMDAwMGZmLCAnZCcsICJMQ0QgcGl4ZWwgY2xvY2sgZGl2aXNvciAoKzEpIiB9LAoreyAiTENDUjNfQUNCIiwgMHg0NDAwMDAwQywgIDgsIDB4MDAwMDAwZmYsICdkJywgIkxDRCBBQyBiaWFzIHBpbiBmcmVxdWVuY3kgKCsxKSIgfSwKK3sgIkxDQ1IzX0FQSSIsIDB4NDQwMDAwMEMsIDE2LCAweDAwMDAwMDBmLCAnZCcsICJMQ0QgQUMgYmlhcyBwaW4gdHJhbnNpdGlvbnMgcGVyIGludGVycnVwdCIgfSwKK3sgIkxDQ1IzX1ZTUCIsIDB4NDQwMDAwMEMsIDIwLCAweDAwMDAwMDAxLCAnZCcsICJMQ0QgTF9GQ0xLIHZlcnRpY2FsIHN5bmMgcG9sYXJpdHkgYWN0aXZlIGxvdyIgfSwKK3sgIkxDQ1IzX0hTUCIsIDB4NDQwMDAwMEMsIDIxLCAweDAwMDAwMDAxLCAnZCcsICJMQ0QgTF9MQ0xLIGhvcml6b250YWwgc3luYyBwb2xhcml0eSBhY3RpdmUgbG93IiB9LAoreyAiTENDUjNfUENQIiwgMHg0NDAwMDAwQywgMjIsIDB4MDAwMDAwMDEsICdkJywgIkxDRCBkYXRhIHNhbXBsZWQgb24gZmFsbGluZyBlZGdlIG9mIExfUENMSyIgfSwKK3sgIkxDQ1IzX09FUCIsIDB4NDQwMDAwMEMsIDIzLCAweDAwMDAwMDAxLCAnZCcsICJMQ0QgTF9CSUFTIG91dHB1dCBlbmFibGUgYWN0aXZlIGxvdyIgfSwKK3sgIkxDQ1IzX0JQUCIsIDB4NDQwMDAwMEMsIDI0LCAweDAwMDAwMDA3LCAnPCcsICJMQ0QgYml0cyBwZXIgcGl4ZWwiIH0sCit7ICJMQ0NSM19EUEMiLCAweDQ0MDAwMDBDLCAyNywgMHgwMDAwMDAwNywgJ2QnLCAiTENEIGRvdWJsZSBwaXhlbCBjbG9jayByYXRlIGF0IExfUENMSyIgfSwKKworCit7ICJGQlIwIiwgICAgICAweDQ0MDAwMDIwLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiRkJSMCIgfSwKK3sgIkZCUjEiLCAgICAgIDB4NDQwMDAwMjAsICAwLCAweGZmZmZmZmZmLCAneCcsICJGQlIxIiB9LAoreyAiTENTUiIsICAgICAgMHg0NDAwMDAzOCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkxDRCBDb250cm9sbGVyIFN0YXR1cyBSZWdpc3RlciAoNy00MCkiIH0sCit7ICJMSUlEUiIsICAgICAweDQ0MDAwMDNDLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiTENEIENvbnRyb2xsZXIgSW50ZXJydXB0IElEIFJlZ2lzdGVyICg3LTQxKSIgfSwKKy8vIFRPRE8KKworeyAiVFJHQkJSIiwgICAgMHg0NDAwMDA0MCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIlRNRUQgUkJHIFNlZWQgUmVnaXN0ZXIgKDctNDIpIiB9LAoreyAiVFJHQkJSX1RSUyIsMHg0NDAwMDA0MCwgIDAsIDB4MDAwMDAwZmYsICd4JywgIlJlZCBTZWVkIiB9LAoreyAiVFJHQkJSX1RHUyIsMHg0NDAwMDA0MCwgIDgsIDB4MDAwMDAwZmYsICd4JywgIkdyZWVuIFNlZWQiIH0sCit7ICJUUkdCQlJfVEJTIiwweDQ0MDAwMDQwLCAxNiwgMHgwMDAwMDBmZiwgJ3gnLCAiQmx1ZSBTZWVkIiB9LAorCit7ICJUQ1IiLCAgICAgICAweDQ0MDAwMDQ0LCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiVE1FRCBDb250cm9sIFJlZ2lzdGVyICg3LTQ0KSIgfSwKK3sgIlRDUl9DT0FNIiwgIDB4NDQwMDAwNDQsICAwLCAweDAwMDAwMDAxLCAneCcsICJDb2xvciBPZmZzZXQgQWRqdXN0ZXIgTWF0cml4IiB9LAoreyAiVENSX0ZOQU0iLCAgMHg0NDAwMDA0NCwgIDEsIDB4MDAwMDAwMDEsICd4JywgIkZyYW1lIE51bWJlciBBZGp1c3RlciBNYXRyaXgiIH0sCit7ICJUQ1JfQ09BRSIsICAweDQ0MDAwMDQ0LCAgMiwgMHgwMDAwMDAwMSwgJ3gnLCAiQ29sb3IgT2Zmc2V0IEFkanVzdGVyIEVuYWJsZSIgfSwKK3sgIlRDUl9GTkFNRSIsIDB4NDQwMDAwNDQsICAzLCAweDAwMDAwMDAxLCAneCcsICJGcmFtZSBOdW1iZXIgQWRqdXN0ZXIgRW5hYmxlIiB9LAoreyAiVENSX1RWQlMiLCAgMHg0NDAwMDA0NCwgIDQsIDB4MDAwMDAwMGYsICdkJywgIlZlcnRpY2FsIEJlYXQgU3VwcHJlc3Npb24iIH0sCit7ICJUQ1JfVEhCUyIsICAweDQ0MDAwMDQ0LCAgOCwgMHgwMDAwMDAwZiwgJ2QnLCAiSG9yaXpvbnRhbCBCZWF0IFN1cHByZXNzaW9uIiB9LAoreyAiVENSX1RFRCIsICAgMHg0NDAwMDA0NCwgMTQsIDB4MDAwMDAwMDEsICd4JywgIkVuZXJneSBEaXN0cmlidXRpb24gTWF0cml4IFNlbGVjdCIgfSwKKworeyAiRkRBRFIwIiwgICAgMHg0NDAwMDIwMCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkZEQURSMCIgfSwKK3sgIkZTQURSMCIsICAgIDB4NDQwMDAyMDQsICAwLCAweGZmZmZmZmZmLCAneCcsICJGU0FEUjAiIH0sCit7ICJGSURSMCIsICAgICAweDQ0MDAwMjA4LCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiRk9EUjAiIH0sCit7ICJMRENNRDAiLCAgICAweDQ0MDAwMjBDLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiTERDTUQwIiB9LAoreyAiRkRBRFIxIiwgICAgMHg0NDAwMDIxMCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkZEQURSMSIgfSwKK3sgIkZTQURSMSIsICAgIDB4NDQwMDAyMTQsICAwLCAweGZmZmZmZmZmLCAneCcsICJGU0FEUjEiIH0sCit7ICJGSURSMSIsICAgICAweDQ0MDAwMjE4LCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiRklEUjEiIH0sCit7ICJMRENNRDEiLCAgICAweDQ0MDAwMjFDLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiTERDTUQxIiB9LAorLy8gVE9ETworCisKKworCit7ICJNRENORkciLCAgICAgICAgIDB4NDgwMDAwMDAsIDAsIDB4ZmZmZmZmZmYsICd4JywgIlNEUkFNIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIgKDYtOSkiIH0sCit7ICJNRENORkdfREUwIiwgICAgIDB4NDgwMDAwMDAsIDAsIDB4MDAwMDAwMDEsICdkJywgIlNEUkFNIGVuYWJsZSBmb3IgcGFydGl0aW9uIDAiIH0sCit7ICJNRENORkdfREUxIiwgICAgIDB4NDgwMDAwMDAsIDEsIDB4MDAwMDAwMDEsICdkJywgIlNEUkFNIGVuYWJsZSBmb3IgcGFydGl0aW9uIDEiIH0sCit7ICJNRENORkdfRFdJRDAiLCAgIDB4NDgwMDAwMDAsIDIsIDB4MDAwMDAwMDEsICdkJywgIlNEUkFNIGRhdGEgd2lkdGggKDA9MzIsIDE9MTYpIiB9LAoreyAiTURDTkZHX0RDQUMwIiwgICAweDQ4MDAwMDAwLCAzLCAweDAwMDAwMDAzLCAnZCcsICJDb2x1bW4gYWRkcmVzcyBiaXRzIGZvciBwYXJ0aXRpb24gcGFpciAwLzEiIH0sCit7ICJNRENORkdfRFJBQzAiLCAgIDB4NDgwMDAwMDAsIDUsIDB4MDAwMDAwMDMsICdkJywgIlJvdyBhZGRyZXNzIGJpdHMgZm9yIHBhcnRpdGlvbiBwYWlyIDAvMSIgfSwKK3sgIk1EQ05GR19ETkIwIiwgICAgMHg0ODAwMDAwMCwgNywgMHgwMDAwMDAwMSwgJ2QnLCAiQmFua3MgaW4gcGFydGl0aW9uIHBhaXIgMC8xICgwPTIsIDE9NCkiIH0sCit7ICJNRENORkdfRFRDMCIsICAgIDB4NDgwMDAwMDAsIDgsIDB4MDAwMDAwMDMsICdkJywgIlRpbWluZyBDYXRlZ29yeSBmb3IgcGFydGl0aW9uIHBhaXIgMC8xIiB9LAoreyAiTURDTkZHX0RBRERSMCIsICAweDQ4MDAwMDAwLDEwLCAweDAwMDAwMDAxLCAnZCcsICJVc2UgYWx0ZXJuYXRlIGFkZHJlc3NpbmcgZm9yIHBhcnRpdGlvbiBwYWlyIDAvMSIgfSwKK3sgIk1EQ05GR19ETEFUQ0gwIiwgMHg0ODAwMDAwMCwxMSwgMHgwMDAwMDAwMSwgJ2QnLCAiUmV0dXJuIGRhdGEgbGF0Y2hpbmcgc2NoZW1lIGZvciBwYXJ0aXRpb24gcGFpciAwLzEiIH0sCit7ICJNRENORkdfRFNBMTExMTAiLDB4NDgwMDAwMDAsMTIsIDB4MDAwMDAwMDEsICdkJywgInVzZSBTQTExMTEgYWRkcmVzcyBtdXhpbmcgZm9yIHBhcnRpdGlvbiBwYWlyIDAvMSIgfSwKK3sgIk1EQ05GR19ERTIiLCAgICAgMHg0ODAwMDAwMCwxNiwgMHgwMDAwMDAwMSwgJ2QnLCAiU0RSQU0gZW5hYmxlIGZvciBwYXJ0aXRpb24gMiIgfSwKK3sgIk1EQ05GR19ERTMiLCAgICAgMHg0ODAwMDAwMCwxNywgMHgwMDAwMDAwMSwgJ2QnLCAiU0RSQU0gZW5hYmxlIGZvciBwYXJ0aXRpb24gMyIgfSwKK3sgIk1EQ05GR19EV0lEMiIsICAgMHg0ODAwMDAwMCwxOCwgMHgwMDAwMDAwMSwgJ2QnLCAiU0RSQU0gZGF0YSB3aWR0aCAoMD0zMiwgMT0xNikiIH0sCit7ICJNRENORkdfRENBQzIiLCAgIDB4NDgwMDAwMDAsMTksIDB4MDAwMDAwMDMsICdkJywgIkNvbHVtbiBhZGRyZXNzIGJpdHMgZm9yIHBhcnRpdGlvbiBwYWlyIDIvMyIgfSwKK3sgIk1EQ05GR19EUkFDMiIsICAgMHg0ODAwMDAwMCwyMSwgMHgwMDAwMDAwMywgJ2QnLCAiUm93IGFkZHJlc3MgYml0cyBmb3IgcGFydGl0aW9uIHBhaXIgMi8zIiB9LAoreyAiTURDTkZHX0ROQjIiLCAgICAweDQ4MDAwMDAwLDIzLCAweDAwMDAwMDAxLCAnZCcsICJCYW5rcyBpbiBwYXJ0aXRpb24gcGFpciAyLzMgKDA9MiwgMT00KSIgfSwKK3sgIk1EQ05GR19EVEMyIiwgICAgMHg0ODAwMDAwMCwyNCwgMHgwMDAwMDAwMywgJ2QnLCAiVGltaW5nIENhdGVnb3J5IGZvciBwYXJ0aXRpb24gcGFpciAyLzMiIH0sCit7ICJNRENORkdfREFERFIyIiwgIDB4NDgwMDAwMDAsMjYsIDB4MDAwMDAwMDEsICdkJywgIlVzZSBhbHRlcm5hdGUgYWRkcmVzc2luZyBmb3IgcGFydGl0aW9uIHBhaXIgMi8zIiB9LAoreyAiTURDTkZHX0RMQVRDSDIiLCAweDQ4MDAwMDAwLDI3LCAweDAwMDAwMDAxLCAnZCcsICJSZXR1cm4gZGF0YSBsYXRjaGluZyBzY2hlbWUgZm9yIHBhcnRpdGlvbiBwYWlyIDIvMyIgfSwKK3sgIk1EQ05GR19EU0ExMTExMiIsMHg0ODAwMDAwMCwyOCwgMHgwMDAwMDAwMSwgJ2QnLCAidXNlIFNBMTExMSBhZGRyZXNzIG11eGluZyBmb3IgcGFydGl0aW9uIHBhaXIgMi8zIiB9LAorCit7ICJNRFJFRlIiLCAgICAgICAgIDB4NDgwMDAwMDQsIDAsIDB4ZmZmZmZmZmYsICd4JywgIlNEUkFNIFJlZnJlc2ggQ29uZmlndXJhdGlvbiBSZWdpc3RlciAoNi0xNSkiIH0sCit7ICJNRFJFRlJfRFJJIiwgICAgIDB4NDgwMDAwMDQsIDAsIDB4MDAwMDBmZmYsICd4JywgIlNEUkFNIFJlZnJlc2ggaW50ZXJ2YWxsLCBhbGwgcGFyaXRpb25zIiB9LAoreyAiTURSRUZSX0UwUElOIiwgICAweDQ4MDAwMDA0LDEyLCAweDAwMDAwMDAxLCAneCcsICJTRFJBTSBDbG9jayBFbmFibGUgUGluIDAgTGV2ZWwiIH0sCit7ICJNRFJFRlJfSzBSVU4iLCAgIDB4NDgwMDAwMDQsMTMsIDB4MDAwMDAwMDEsICd4JywgIlNEUkFNIENsb2NrIFJ1biBQaW4gMCIgfSwKK3sgIk1EUkVGUl9LMERCMiIsICAgMHg0ODAwMDAwNCwxNCwgMHgwMDAwMDAwMSwgJ3gnLCAiU0RSQU0gQ2xvY2sgUGluIDAgRGl2aWRlLzIiIH0sCit7ICJNRFJFRlJfRTFQSU4iLCAgIDB4NDgwMDAwMDQsMTUsIDB4MDAwMDAwMDEsICd4JywgIlNEUkFNIENsb2NrIEVuYWJsZSBQaW4gMSBMZXZlbCIgfSwKK3sgIk1EUkVGUl9LMVJVTiIsICAgMHg0ODAwMDAwNCwxNiwgMHgwMDAwMDAwMSwgJ3gnLCAiU0RSQU0gQ2xvY2sgUnVuIFBpbiAxIiB9LAoreyAiTURSRUZSX0sxREIyIiwgICAweDQ4MDAwMDA0LDE3LCAweDAwMDAwMDAxLCAneCcsICJTRFJBTSBDbG9jayBQaW4gMSBEaXZpZGUvMiIgfSwKK3sgIk1EUkVGUl9LMlJVTiIsICAgMHg0ODAwMDAwNCwxOCwgMHgwMDAwMDAwMSwgJ3gnLCAiU0RSQU0gQ2xvY2sgUnVuIFBpbiAyIiB9LAoreyAiTURSRUZSX0syREIyIiwgICAweDQ4MDAwMDA0LDE5LCAweDAwMDAwMDAxLCAneCcsICJTRFJBTSBDbG9jayBQaW4gMiBEaXZpZGUvMiIgfSwKK3sgIk1EUkVGUl9BUEQiLCAgICAgMHg0ODAwMDAwNCwyMCwgMHgwMDAwMDAwMSwgJ3gnLCAiU0RSQU0gQXV0byBQb3dlciBEb3duIGVuYWJsZSIgfSwKK3sgIk1EUkVGUl9TTEZSU0giLCAgMHg0ODAwMDAwNCwyMiwgMHgwMDAwMDAwMSwgJ3gnLCAiU0RSQU0gU2VsZi1SZWZyZXNoIiB9LAoreyAiTURSRUZSX0swRlJFRSIsICAweDQ4MDAwMDA0LDIzLCAweDAwMDAwMDAxLCAneCcsICJTRFJBTSBGcmVlIFJ1bm5pbmcgQ29udHJvbCBmb3IgU0RDTEswIiB9LAoreyAiTURSRUZSX0sxRlJFRSIsICAweDQ4MDAwMDA0LDI0LCAweDAwMDAwMDAxLCAneCcsICJTRFJBTSBGcmVlIFJ1bm5pbmcgQ29udHJvbCBmb3IgU0RDTEsxIiB9LAoreyAiTURSRUZSX0syRlJFRSIsICAweDQ4MDAwMDA0LDI1LCAweDAwMDAwMDAxLCAneCcsICJTRFJBTSBGcmVlIFJ1bm5pbmcgQ29udHJvbCBmb3IgU0RDTEsyIiB9LAorCit7ICJNU0MwIiwgICAgICAgICAgIDB4NDgwMDAwMDgsIDAsIDB4ZmZmZmZmZmYsICd4JywgIkFzeW5jaHJvbm91cyBTdGF0aWMgTWVtb3J5IENvbnRyb2wgUmVnaXN0ZXIgMCAoNi00NSkiIH0sCit7ICJNU0MwX1JUMCIsICAgICAgIDB4NDgwMDAwMDgsIDAsIDB4MDAwMDAwMDcsICdkJywgIm5DU1swXSBST00gVHlwZSIgfSwKK3sgIk1TQzBfUkJXMCIsICAgICAgMHg0ODAwMDAwOCwgMywgMHgwMDAwMDAwMSwgJ2QnLCAibkNTWzBdIFJPTSBCdXMgV2lkdGggKDE9MTZiaXQpIiB9LAoreyAiTVNDMF9SREYwIiwgICAgICAweDQ4MDAwMDA4LCA0LCAweDAwMDAwMDBmLCAnZCcsICJuQ1NbMF0gUk9NIERlbGF5IEZpcnN0IEFjY2VzcyIgfSwKK3sgIk1TQzBfUkROMCIsICAgICAgMHg0ODAwMDAwOCwgOCwgMHgwMDAwMDAwZiwgJ2QnLCAibkNTWzBdIFJPTSBEZWxheSBOZXh0IEFjY2VzcyIgfSwKK3sgIk1TQzBfUlJSMCIsICAgICAgMHg0ODAwMDAwOCwxMiwgMHgwMDAwMDAwNywgJ2QnLCAibkNTWzBdIFJPTS9TUkFNIFJlY292ZXJ5IFRpbWUiIH0sCit7ICJNU0MwX1JCVUZGMCIsICAgIDB4NDgwMDAwMDgsMTUsIDB4MDAwMDAwMDEsICdkJywgIm5DU1swXSBSZXR1cm4gQnVmZmVyIEJlaGF2aW9yICgxPXN0cmVhbWluZykiIH0sCit7ICJNU0MwX1JUMSIsICAgICAgIDB4NDgwMDAwMDgsMTYsIDB4MDAwMDAwMDcsICdkJywgIm5DU1sxXSBST00gVHlwZSIgfSwKK3sgIk1TQzBfUkJXMSIsICAgICAgMHg0ODAwMDAwOCwxOSwgMHgwMDAwMDAwMSwgJ2QnLCAibkNTWzFdIFJPTSBCdXMgV2lkdGggKDE9MTZiaXQpIiB9LAoreyAiTVNDMF9SREYxIiwgICAgICAweDQ4MDAwMDA4LDIwLCAweDAwMDAwMDBmLCAnZCcsICJuQ1NbMV0gUk9NIERlbGF5IEZpcnN0IEFjY2VzcyIgfSwKK3sgIk1TQzBfUkROMSIsICAgICAgMHg0ODAwMDAwOCwyNCwgMHgwMDAwMDAwZiwgJ2QnLCAibkNTWzFdIFJPTSBEZWxheSBOZXh0IEFjY2VzcyIgfSwKK3sgIk1TQzBfUlJSMSIsICAgICAgMHg0ODAwMDAwOCwyOCwgMHgwMDAwMDAwNywgJ2QnLCAibkNTWzFdIFJPTS9TUkFNIFJlY292ZXJ5IFRpbWUiIH0sCit7ICJNU0MwX1JCVUZGMSIsICAgIDB4NDgwMDAwMDgsMzEsIDB4MDAwMDAwMDEsICdkJywgIm5DU1sxXSBSZXR1cm4gQnVmZmVyIEJlaGF2aW9yICgxPXN0cmVhbWluZykiIH0sCisKK3sgIk1TQzEiLCAgICAgICAgICAgMHg0ODAwMDAwQywgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiQXN5bmNocm9ub3VzIFN0YXRpYyBNZW1vcnkgQ29udHJvbCBSZWdpc3RlciAxICg2LTQ1KSIgfSwKK3sgIk1TQzFfUlQyIiwgICAgICAgMHg0ODAwMDAwQywgMCwgMHgwMDAwMDAwNywgJ2QnLCAibkNTWzJdIFJPTSBUeXBlIiB9LAoreyAiTVNDMV9SQlcyIiwgICAgICAweDQ4MDAwMDBDLCAzLCAweDAwMDAwMDAxLCAnZCcsICJuQ1NbMl0gUk9NIEJ1cyBXaWR0aCAoMT0xNmJpdCkiIH0sCit7ICJNU0MxX1JERjIiLCAgICAgIDB4NDgwMDAwMEMsIDQsIDB4MDAwMDAwMGYsICdkJywgIm5DU1syXSBST00gRGVsYXkgRmlyc3QgQWNjZXNzIiB9LAoreyAiTVNDMV9SRE4yIiwgICAgICAweDQ4MDAwMDBDLCA4LCAweDAwMDAwMDBmLCAnZCcsICJuQ1NbMl0gUk9NIERlbGF5IE5leHQgQWNjZXNzIiB9LAoreyAiTVNDMV9SUlIyIiwgICAgICAweDQ4MDAwMDBDLDEyLCAweDAwMDAwMDA3LCAnZCcsICJuQ1NbMl0gUk9NL1NSQU0gUmVjb3ZlcnkgVGltZSIgfSwKK3sgIk1TQzFfUkJVRkYyIiwgICAgMHg0ODAwMDAwQywxNSwgMHgwMDAwMDAwMSwgJ2QnLCAibkNTWzJdIFJldHVybiBCdWZmZXIgQmVoYXZpb3IgKDE9c3RyZWFtaW5nKSIgfSwKK3sgIk1TQzFfUlQzIiwgICAgICAgMHg0ODAwMDAwQywxNiwgMHgwMDAwMDAwNywgJ2QnLCAibkNTWzNdIFJPTSBUeXBlIiB9LAoreyAiTVNDMV9SQlczIiwgICAgICAweDQ4MDAwMDBDLDE5LCAweDAwMDAwMDAxLCAnZCcsICJuQ1NbM10gUk9NIEJ1cyBXaWR0aCAoMT0xNmJpdCkiIH0sCit7ICJNU0MxX1JERjMiLCAgICAgIDB4NDgwMDAwMEMsMjAsIDB4MDAwMDAwMGYsICdkJywgIm5DU1szXSBST00gRGVsYXkgRmlyc3QgQWNjZXNzIiB9LAoreyAiTVNDMV9SRE4zIiwgICAgICAweDQ4MDAwMDBDLDI0LCAweDAwMDAwMDBmLCAnZCcsICJuQ1NbM10gUk9NIERlbGF5IE5leHQgQWNjZXNzIiB9LAoreyAiTVNDMV9SUlIzIiwgICAgICAweDQ4MDAwMDBDLDI4LCAweDAwMDAwMDA3LCAnZCcsICJuQ1NbM10gUk9NL1NSQU0gUmVjb3ZlcnkgVGltZSIgfSwKK3sgIk1TQzFfUkJVRkYzIiwgICAgMHg0ODAwMDAwQywzMSwgMHgwMDAwMDAwMSwgJ2QnLCAibkNTWzNdIFJldHVybiBCdWZmZXIgQmVoYXZpb3IgKDE9c3RyZWFtaW5nKSIgfSwKKworeyAiTVNDMiIsICAgICAgICAgICAweDQ4MDAwMDEwLCAwLCAweGZmZmZmZmZmLCAneCcsICJBc3luY2hyb25vdXMgU3RhdGljIE1lbW9yeSBDb250cm9sIFJlZ2lzdGVyIDIgKDYtNDUpIiB9LAoreyAiTVNDMl9SVDQiLCAgICAgICAweDQ4MDAwMDEwLCAwLCAweDAwMDAwMDA3LCAnZCcsICJuQ1NbNF0gUk9NIFR5cGUiIH0sCit7ICJNU0MyX1JCVzQiLCAgICAgIDB4NDgwMDAwMTAsIDMsIDB4MDAwMDAwMDEsICdkJywgIm5DU1s0XSBST00gQnVzIFdpZHRoICgxPTE2Yml0KSIgfSwKK3sgIk1TQzJfUkRGNCIsICAgICAgMHg0ODAwMDAxMCwgNCwgMHgwMDAwMDAwZiwgJ2QnLCAibkNTWzRdIFJPTSBEZWxheSBGaXJzdCBBY2Nlc3MiIH0sCit7ICJNU0MyX1JETjQiLCAgICAgIDB4NDgwMDAwMTAsIDgsIDB4MDAwMDAwMGYsICdkJywgIm5DU1s0XSBST00gRGVsYXkgTmV4dCBBY2Nlc3MiIH0sCit7ICJNU0MyX1JSUjQiLCAgICAgIDB4NDgwMDAwMTAsMTIsIDB4MDAwMDAwMDcsICdkJywgIm5DU1s0XSBST00vU1JBTSBSZWNvdmVyeSBUaW1lIiB9LAoreyAiTVNDMl9SQlVGRjQiLCAgICAweDQ4MDAwMDEwLDE1LCAweDAwMDAwMDAxLCAnZCcsICJuQ1NbNF0gUmV0dXJuIEJ1ZmZlciBCZWhhdmlvciAoMT1zdHJlYW1pbmcpIiB9LAoreyAiTVNDMl9SVDUiLCAgICAgICAweDQ4MDAwMDEwLDE2LCAweDAwMDAwMDA3LCAnZCcsICJuQ1NbNV0gUk9NIFR5cGUiIH0sCit7ICJNU0MyX1JCVzUiLCAgICAgIDB4NDgwMDAwMTAsMTksIDB4MDAwMDAwMDEsICdkJywgIm5DU1s1XSBST00gQnVzIFdpZHRoICgxPTE2Yml0KSIgfSwKK3sgIk1TQzJfUkRGNSIsICAgICAgMHg0ODAwMDAxMCwyMCwgMHgwMDAwMDAwZiwgJ2QnLCAibkNTWzVdIFJPTSBEZWxheSBGaXJzdCBBY2Nlc3MiIH0sCit7ICJNU0MyX1JETjUiLCAgICAgIDB4NDgwMDAwMTAsMjQsIDB4MDAwMDAwMGYsICdkJywgIm5DU1s1XSBST00gRGVsYXkgTmV4dCBBY2Nlc3MiIH0sCit7ICJNU0MyX1JSUjUiLCAgICAgIDB4NDgwMDAwMTAsMjgsIDB4MDAwMDAwMDcsICdkJywgIm5DU1s1XSBST00vU1JBTSBSZWNvdmVyeSBUaW1lIiB9LAoreyAiTVNDMl9SQlVGRjUiLCAgICAweDQ4MDAwMDEwLDMxLCAweDAwMDAwMDAxLCAnZCcsICJuQ1NbNV0gUmV0dXJuIEJ1ZmZlciBCZWhhdmlvciAoMT1zdHJlYW1pbmcpIiB9LAorCit7ICJNRUNSIiwgICAgICAgICAgIDB4NDgwMDAwMTQsIDAsIDB4ZmZmZmZmZmYsICd4JywgIkV4cGFuc2lvbiBNZW1vcnkgQ29uZmlndXJhdGlvbiBSZWdpc3RlciAoNi02MSkiIH0sCit7ICJNRUNSX05PUyIsICAgICAgIDB4NDgwMDAwMTQsIDAsIDB4MDAwMDAwMDEsICd4JywgIk51bWJlciBvZiBTb2NrZXRzICgxPTIgU29ja2V0cykiIH0sCit7ICJNRUNSX0NJVCIsICAgICAgIDB4NDgwMDAwMTQsIDEsIDB4MDAwMDAwMDEsICd4JywgIkNhcmQgaW5zZXJ0ZWQiIH0sCisKK3sgIlNYQ05GRyIsICAgICAgICAgMHg0ODAwMDAxQywgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiU3luY2hyb25vdXMgU3RhdGljIE1lbW9yeSBDb25maWd1cmF0aW9uIFJlZ2lzdGVyICg2LTMzKSIgfSwKK3sgIlNYQ05GR19TWEVOMCIsICAgMHg0ODAwMDAxQywgMCwgMHgwMDAwMDAwMSwgJ3gnLCAiUGFydGl0aW9uIDAgZW5hYmxlZCBhcyBTWCBtZW1vcnkiIH0sCit7ICJTWENORkdfU1hFTjEiLCAgIDB4NDgwMDAwMUMsIDEsIDB4MDAwMDAwMDEsICd4JywgIlBhcnRpdGlvbiAxIGVuYWJsZWQgYXMgU1ggbWVtb3J5IiB9LAoreyAiU1hDTkZHX1NYQ0wwIiwgICAweDQ4MDAwMDFDLCAyLCAweDAwMDAwMDA3LCAneCcsICJQYXJ0aXRpb24gMC8xIENBUyBMYXRlbmN5IiB9LAoreyAiU1hDTkZHX1NYUkwwIiwgICAweDQ4MDAwMDFDLCA1LCAweDAwMDAwMDA3LCAneCcsICJQYXJ0aXRpb24gMC8xIFJBUyBMYXRlbmN5IiB9LAoreyAiU1hDTkZHX1NYUkEwIiwgICAweDQ4MDAwMDFDLCA4LCAweDAwMDAwMDAzLCAneCcsICJQYXJ0aXRpb24gMC8xIHJvdyBhZGRyZXNzIGJpdCBjb3VudCIgfSwKK3sgIlNYQ05GR19TWENBMCIsICAgMHg0ODAwMDAxQywxMCwgMHgwMDAwMDAwMywgJ3gnLCAiUGFydGl0aW9uIDAvMSBjb2x1bW4gYWRkcmVzcyBiaXQgY291bnQiIH0sCit7ICJTWENORkdfU1hUUDAiLCAgIDB4NDgwMDAwMUMsMTIsIDB4MDAwMDAwMDMsICd4JywgIlBhcnRpdGlvbiAwLzEgbWVtb3J5IHR5cGUiIH0sCit7ICJTWENORkdfU1hMQVRDSDAiLDB4NDgwMDAwMUMsMTQsIDB4MDAwMDAwMDEsICd4JywgIlBhcnRpdGlvbiAwLzEgcmV0dXJuIGRhdGEgd2l0aCByZXR1cm4gY2xvY2siIH0sCit7ICJTWENORkdfU1hFTjIiLCAgIDB4NDgwMDAwMUMsMTYsIDB4MDAwMDAwMDEsICd4JywgIlBhcnRpdGlvbiAyIGVuYWJsZWQgYXMgU1ggbWVtb3J5IiB9LAoreyAiU1hDTkZHX1NYRU4zIiwgICAweDQ4MDAwMDFDLDE3LCAweDAwMDAwMDAxLCAneCcsICJQYXJ0aXRpb24gMyBlbmFibGVkIGFzIFNYIG1lbW9yeSIgfSwKK3sgIlNYQ05GR19TWENMMiIsICAgMHg0ODAwMDAxQywxOCwgMHgwMDAwMDAwNywgJ3gnLCAiUGFydGl0aW9uIDIvMyBDQVMgTGF0ZW5jeSIgfSwKK3sgIlNYQ05GR19TWFJMMiIsICAgMHg0ODAwMDAxQywyMSwgMHgwMDAwMDAwNywgJ3gnLCAiUGFydGl0aW9uIDIvMyBSQVMgTGF0ZW5jeSIgfSwKK3sgIlNYQ05GR19TWFJBMiIsICAgMHg0ODAwMDAxQywyNCwgMHgwMDAwMDAwMywgJ3gnLCAiUGFydGl0aW9uIDIvMyByb3cgYWRkcmVzcyBiaXQgY291bnQiIH0sCit7ICJTWENORkdfU1hDQTIiLCAgIDB4NDgwMDAwMUMsMjYsIDB4MDAwMDAwMDMsICd4JywgIlBhcnRpdGlvbiAyLzMgY29sdW1uIGFkZHJlc3MgYml0IGNvdW50IiB9LAoreyAiU1hDTkZHX1NYVFAyIiwgICAweDQ4MDAwMDFDLDI4LCAweDAwMDAwMDAzLCAneCcsICJQYXJ0aXRpb24gMi8zIG1lbW9yeSB0eXBlIiB9LAoreyAiU1hDTkZHX1NYTEFUQ0gyIiwweDQ4MDAwMDFDLDMwLCAweDAwMDAwMDAxLCAneCcsICJQYXJ0aXRpb24gMi8zIHJldHVybiBkYXRhIHdpdGggcmV0dXJuIGNsb2NrIiB9LAorCit7ICJTWE1SUyIsICAgICAgICAgIDB4NDgwMDAwMjQsIDAsIDB4ZmZmZmZmZmYsICd4JywgIk1SUyB2YWx1ZSB0byBiZSB3cml0dGVuIHRvIFNYIE1lbW9yeSAoNi0zOCkiIH0sCisKK3sgIk1DTUVNMCIsICAgICAgICAgMHg0ODAwMDAyOCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiTUVNIENvbnRyb2wgZm9yIFBDTUNJQSBTb2NrZXQgMCAoNi01OCkiIH0sCit7ICJNQ01FTTBfU0VUIiwgICAgIDB4NDgwMDAwMjgsIDAsIDB4MDAwMDAwN2YsICdkJywgIkFkZHJlc3Mgc2V0IHRpbWUiIH0sCit7ICJNQ01FTTBfQVNTVCIsICAgIDB4NDgwMDAwMjgsIDcsIDB4MDAwMDAwMWYsICdkJywgIkNvbW1hbmQgYXNzZXJ0aW9uIHRpbWUiIH0sCit7ICJNQ01FTTBfSE9MRCIsICAgIDB4NDgwMDAwMjgsMTQsIDB4MDAwMDAwM2YsICdkJywgIkFkZHJlc3MgaG9sZCB0aW1lIiB9LAorCit7ICJNQ01FTTEiLCAgICAgICAgIDB4NDgwMDAwMkMsIDAsIDB4ZmZmZmZmZmYsICd4JywgIk1FTSBDb250cm9sIGZvciBQQ01DSUEgU29ja2V0IDEgKDYtNTgpIiB9LAoreyAiTUNNRU0xX1NFVCIsICAgICAweDQ4MDAwMDJDLCAwLCAweDAwMDAwMDdmLCAnZCcsICJBZGRyZXNzIHNldCB0aW1lIiB9LAoreyAiTUNNRU0xX0FTU1QiLCAgICAweDQ4MDAwMDJDLCA3LCAweDAwMDAwMDFmLCAnZCcsICJDb21tYW5kIGFzc2VydGlvbiB0aW1lIiB9LAoreyAiTUNNRU0xX0hPTEQiLCAgICAweDQ4MDAwMDJDLDE0LCAweDAwMDAwMDNmLCAnZCcsICJBZGRyZXNzIGhvbGQgdGltZSIgfSwKKworeyAiTUNBVFQwIiwgICAgICAgICAweDQ4MDAwMDMwLCAwLCAweGZmZmZmZmZmLCAneCcsICJBVFQgQ29udHJvbCBmb3IgUENNQ0lBIFNvY2tldCAwICg2LTU5KSIgfSwKK3sgIk1DQVRUMF9TRVQiLCAgICAgMHg0ODAwMDAzMCwgMCwgMHgwMDAwMDA3ZiwgJ2QnLCAiQWRkcmVzcyBzZXQgdGltZSIgfSwKK3sgIk1DQVRUMF9BU1NUIiwgICAgMHg0ODAwMDAzMCwgNywgMHgwMDAwMDAxZiwgJ2QnLCAiQ29tbWFuZCBhc3NlcnRpb24gdGltZSIgfSwKK3sgIk1DQVRUMF9IT0xEIiwgICAgMHg0ODAwMDAzMCwxNCwgMHgwMDAwMDAzZiwgJ2QnLCAiQWRkcmVzcyBob2xkIHRpbWUiIH0sCisKK3sgIk1DQVRUMSIsICAgICAgICAgMHg0ODAwMDAzNCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiQVRUIENvbnRyb2wgZm9yIFBDTUNJQSBTb2NrZXQgMSAoNi01OSkiIH0sCit7ICJNQ0FUVDFfU0VUIiwgICAgIDB4NDgwMDAwMzQsIDAsIDB4MDAwMDAwN2YsICdkJywgIkFkZHJlc3Mgc2V0IHRpbWUiIH0sCit7ICJNQ0FUVDFfQVNTVCIsICAgIDB4NDgwMDAwMzQsIDcsIDB4MDAwMDAwMWYsICdkJywgIkNvbW1hbmQgYXNzZXJ0aW9uIHRpbWUiIH0sCit7ICJNQ0FUVDFfSE9MRCIsICAgIDB4NDgwMDAwMzQsMTQsIDB4MDAwMDAwM2YsICdkJywgIkFkZHJlc3MgaG9sZCB0aW1lIiB9LAorCit7ICJNQ0lPMCIsICAgICAgICAgIDB4NDgwMDAwMzgsIDAsIDB4ZmZmZmZmZmYsICd4JywgIkkvTyBDb250cm9sIGZvciBQQ01DSUEgU29ja2V0IDAgKDYtNTkpIiB9LAoreyAiTUNJTzBfU0VUIiwgICAgICAweDQ4MDAwMDM4LCAwLCAweDAwMDAwMDdmLCAnZCcsICJBZGRyZXNzIHNldCB0aW1lIiB9LAoreyAiTUNJTzBfQVNTVCIsICAgICAweDQ4MDAwMDM4LCA3LCAweDAwMDAwMDFmLCAnZCcsICJDb21tYW5kIGFzc2VydGlvbiB0aW1lIiB9LAoreyAiTUNJTzBfSE9MRCIsICAgICAweDQ4MDAwMDM4LDE0LCAweDAwMDAwMDNmLCAnZCcsICJBZGRyZXNzIGhvbGQgdGltZSIgfSwKKworeyAiTUNJTzEiLCAgICAgICAgICAweDQ4MDAwMDNDLCAwLCAweGZmZmZmZmZmLCAneCcsICJJL08gQ29udHJvbCBmb3IgUENNQ0lBIFNvY2tldCAxICg2LTU5KSIgfSwKK3sgIk1DSU8xX1NFVCIsICAgICAgMHg0ODAwMDAzQywgMCwgMHgwMDAwMDA3ZiwgJ2QnLCAiQWRkcmVzcyBzZXQgdGltZSIgfSwKK3sgIk1DSU8xX0FTU1QiLCAgICAgMHg0ODAwMDAzQywgNywgMHgwMDAwMDAxZiwgJ2QnLCAiQ29tbWFuZCBhc3NlcnRpb24gdGltZSIgfSwKK3sgIk1DSU8xX0hPTEQiLCAgICAgMHg0ODAwMDAzQywxNCwgMHgwMDAwMDAzZiwgJ2QnLCAiQWRkcmVzcyBob2xkIHRpbWUiIH0sCisKK3sgIk1ETVJTIiwgICAgICAgICAgMHg0ODAwMDA0MCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiU0RSQU0gTW9kZSBSZWdpc3RlciBTZXQgQ29uZmlndXJhdGlvbiBSZWdpc3RlciAoNi0xMikiIH0sCit7ICJNRE1SU19NREJMMCIsICAgIDB4NDgwMDAwNDAsIDAsIDB4MDAwMDAwMDcsICd4JywgIlNEUkFNIFBhcnRpdGlvbiAwLzEgYnVyc3QgbGVuZ3RoIiB9LAoreyAiTURNUlNfTURBREQwIiwgICAweDQ4MDAwMDQwLCAzLCAweDAwMDAwMDAxLCAneCcsICJTRFJBTSBQYXJ0aXRpb24gMC8xIGJ1cnN0IHR5cGUiIH0sCit7ICJNRE1SU19NRENMMCIsICAgIDB4NDgwMDAwNDAsIDQsIDB4MDAwMDAwMDcsICd4JywgIlNEUkFNIFBhcnRpdGlvbiAwLzEgQ0FTIGxhdGVuY3kiIH0sCit7ICJNRE1SU19NRE1SUzAiLCAgIDB4NDgwMDAwNDAsIDcsIDB4MDAwMDAwZmYsICd4JywgIk1SUyB2YWx1ZSB0byBiZSB3cml0dGVuIHRvIFNEUkFNIFBhcnRpdGlvbiAwLzEiIH0sCit7ICJNRE1SU19NREJMMiIsICAgIDB4NDgwMDAwNDAsMTYsIDB4MDAwMDAwMDcsICd4JywgIlNEUkFNIFBhcnRpdGlvbiAyLzMgYnVyc3QgbGVuZ3RoIiB9LAoreyAiTURNUlNfTURBREQyIiwgICAweDQ4MDAwMDQwLDE5LCAweDAwMDAwMDAxLCAneCcsICJTRFJBTSBQYXJ0aXRpb24gMi8zIGJ1cnN0IHR5cGUiIH0sCit7ICJNRE1SU19NRENMMiIsICAgIDB4NDgwMDAwNDAsMjAsIDB4MDAwMDAwMDcsICd4JywgIlNEUkFNIFBhcnRpdGlvbiAyLzMgQ0FTIGxhdGVuY3kiIH0sCit7ICJNRE1SU19NRE1SUzIiLCAgIDB4NDgwMDAwNDAsMjMsIDB4MDAwMDAwZmYsICd4JywgIk1SUyB2YWx1ZSB0byBiZSB3cml0dGVuIHRvIFNEUkFNIFBhcnRpdGlvbiAyLzMiIH0sCisKK3sgIkJPT1RERUYiLCAgICAgICAgMHg0ODAwMDA0NCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiQm9vdCBUaW1lIERlZmF1bHRzICg2LTczKSIgfSwKK3sgIkJPT1RERUZfQk9PVFNFTCIsMHg0ODAwMDA0NCwgMCwgMHgwMDAwMDAwNywgJ3gnLCAiQm9vdCBDb25maWd1cmF0aW9uIGF0IEJPT1RfU0VMIHBpbnMiIH0sCit7ICJCT09UREVGX1BLR1RZUEUiLDB4NDgwMDAwNDQsIDMsIDB4MDAwMDAwMDEsICd4JywgIlByb2Nlc3NvciB0eXBlLCAxIGZvciBQWEEyNTAiIH0sCisKK3sgIk1ETVJTTFAiLCAgICAgICAgMHg0ODAwMDA1OCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiTG93LVBvd2VyIFNEUkFNIE1vZGUgUmVnaXN0ZXIgU2V0IENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIgKDYtMTQpIiB9LAorLy8gVE9ETworCisKKworeyAiTU1DX1NUUlBDTCIsCQkJMHg0MTEwMDAwMCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiTU1DIFN0YXJ0L1N0b3AgQ2xvY2sgKDE1LTIzKSIgfSwKKworeyAiTU1DX1NUQVQiLAkJCTB4NDExMDAwMDQsIDAsIDB4ZmZmZmZmZmYsICd4JywgIk1NQyBTdGF0dXMgUmVnaXN0ZXIgKDE1LTI0KSIgfSwKK3sgIk1NQ19TVEFUX1JFQURfVElNRV9PVVQiLAkweDQxMTAwMDA0LCAwLCAweDAwMDAwMDAxLCAneCcsICJSZWFkIFRpbWUgT3V0IiB9LAoreyAiTU1DX1NUQVRfVElNRV9PVVRfUkVTUCIsCTB4NDExMDAwMDQsIDEsIDB4MDAwMDAwMDEsICd4JywgIlRpbWUgT3V0IFJlc3BvbnNlIiB9LAoreyAiTU1DX1NUQVRfQ1JDX1dSSVRFX0VSUk9SIiwJMHg0MTEwMDAwNCwgMiwgMHgwMDAwMDAwMSwgJ3gnLCAiQ1JDIFdyaXRlIEVycm9yIiB9LAoreyAiTU1DX1NUQVRfQ1JDX1JFQURfRVJSIiwJMHg0MTEwMDAwNCwgMywgMHgwMDAwMDAwMSwgJ3gnLCAiQ1JDIFJlYWQgRXJyb3IiIH0sCit7ICJNTUNfU1RBVF9TUElfUkVBRF9FUlJfVEtOIiwJMHg0MTEwMDAwNCwgNCwgMHgwMDAwMDAwMSwgJ3gnLCAiU1BJIFJlYWQgRXJyb3IgVG9rZW4iIH0sCit7ICJNTUNfU1RBVF9SRVNfQ1JDX0VSUiIsCTB4NDExMDAwMDQsIDUsIDB4MDAwMDAwMDEsICd4JywgIlJlc3BvbnNlIENSQyBFcnJvciIgfSwKK3sgIk1NQ19TVEFUX1hNSVRfRklGT19FTVBUWSIsCTB4NDExMDAwMDQsIDYsIDB4MDAwMDAwMDEsICd4JywgIlRyYW5zbWl0IEZJRk8gRW1wdHkiIH0sCit7ICJNTUNfU1RBVF9SRUNWX0ZJRk9fRU1QVFkiLAkweDQxMTAwMDA0LCA3LCAweDAwMDAwMDAxLCAneCcsICJSZWNlaXZlIEZJRk8gRW1wdHkiIH0sCit7ICJNTUNfU1RBVF9DTEtfRU4iLAkJMHg0MTEwMDAwNCwgOCwgMHgwMDAwMDAwMSwgJ3gnLCAiQ2xvY2sgRW5hYmxlZCIgfSwKK3sgIk1NQ19TVEFUX0RBVEFfVFJBTl9ET05FIiwJMHg0MTEwMDAwNCwxMSwgMHgwMDAwMDAwMSwgJ3gnLCAiRGF0YSBUcmFuc21pc3Npb24gRG9uZSIgfSwKK3sgIk1NQ19TVEFUX1BSR19ET05FIiwJCTB4NDExMDAwMDQsMTIsIDB4MDAwMDAwMDEsICd4JywgIlByb2dyYW0gRG9uZSIgfSwKK3sgIk1NQ19TVEFUX0VORF9DTURfUkVTIiwJMHg0MTEwMDAwNCwxMywgMHgwMDAwMDAwMSwgJ3gnLCAiRW5kIENvbW1hbmQgUmVzcG9uc2UiIH0sCisKK3sgIk1NQ19DTEtSVCIsCQkJMHg0MTEwMDAwOCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiTU1DIENsb2NrIFJlYWQgVGltZW91dCBSZWdpc3RlciAoMTUtMjYpIiB9LAoreyAiTU1DX0NMS19SQVRFIiwJCTB4NDExMDAwMDgsIDAsIDB4MDAwMDAwMDcsICd4JywgIlJlYWQgVGltZSBPdXQgYml0bWFzayIgfSwKKworeyAiTU1DX1NQSSIsCQkJMHg0MTEwMDAwYywgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiTU1DIFNQSSBtb2RlICgxNS0yNykiIH0sCit7ICJNTUNfU1BJX0VOIiwJCQkweDQxMTAwMDBjLCAwLCAweDAwMDAwMDAxLCAneCcsICJTUEkgbW9kZSBlbmFibGVkIiB9LAoreyAiTU1DX1NQSV9DUkNfT04iLAkJMHg0MTEwMDAwYywgMSwgMHgwMDAwMDAwMSwgJ3gnLCAiQ1JDIGdlbmVyYXRpb24gZW5hYmxlZCIgfSwKK3sgIk1NQ19TUElfQ1NfRU4iLAkJMHg0MTEwMDAwYywgMiwgMHgwMDAwMDAwMSwgJ3gnLCAiU1BJIGNoaXAgc2VsZWN0IGVuYWJsZWQiIH0sCit7ICJNTUNfU1BJX0NTX0FERFJFU1MiLAkJMHg0MTEwMDAwYywgMywgMHgwMDAwMDAwMSwgJ3gnLCAiQ1MwIGVuYWJsZWQiIH0sCisKK3sgIk1NQ19DTURBVCIsCQkJMHg0MTEwMDAxMCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiTU1DIENvbW1hbmQgRGF0YSAoMTUtMjgpIiB9LAoreyAiTU1DX0NNREFUX1JGIiwJCTB4NDExMDAwMTAsIDAsIDB4MDAwMDAwMDMsICd4JywgInJlc3BvbnNlIGZvcm1hdCIgfSwKK3sgIk1NQ19DTURBVF9EQVRBX0VOIiwJCTB4NDExMDAwMTAsIDIsIDB4MDAwMDAwMDEsICd4JywgImN1cnJlbnQgY21kIGluY2x1ZGVzIGRhdGEgdHJhbnNmZXIiIH0sCit7ICJNTUNfQ01EQVRfV1JJVEUiLAkJMHg0MTEwMDAxMCwgMywgMHgwMDAwMDAwMSwgJ3gnLCAiZGF0YSB0cmFuc2ZlciBpcyBhIHdyaXRlIiB9LAoreyAiTU1DX0NNREFUX1NUUkVBTSIsCQkweDQxMTAwMDEwLCA0LCAweDAwMDAwMDAxLCAneCcsICJkYXRhIHRyYW5zZmVyIGlzIGluIHN0cmVhbSBtb2RlIiB9LAoreyAiTU1DX0NNREFUX0JVU1kiLAkJMHg0MTEwMDAxMCwgNSwgMHgwMDAwMDAwMSwgJ3gnLCAiYnVzeSBzaWduYWwgaXMgZXhwZWN0ZWQgYWZ0ZXIgZGF0YSB0cmFuc2ZlciIgfSwKK3sgIk1NQ19DTURBVF9JTklUIiwJCTB4NDExMDAwMTAsIDYsIDB4MDAwMDAwMDEsICd4JywgInByZWNlZGUgY21kIHdpdGggODAgY2xvY2tzIiB9LAoreyAiTU1DX0NNREFUX0RNQV9FTiIsCQkweDQxMTAwMDEwLCA3LCAweDAwMDAwMDAxLCAneCcsICJlbmFibGUgRE1BIG1vZGUiIH0sCisKK3sgIk1NQ19SRVNUTyIsCQkJMHg0MTEwMDAxNCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiTU1DIFJlc3BvbnNlIFRpbWUgT3V0ICgxNS0yOSkiIH0sCit7ICJNTUNfUkVTVE9fVE8iLAkJMHg0MTEwMDAxNCwgMCwgMHgwMDAwMDA3ZiwgJ2QnLCAiY2xvY2tzIGJlZm9yZSBhIHJlc3BvbnNlIHRpbWUgb3V0IiB9LAorCit7ICJNTUNfUkRUTyIsCQkJMHg0MTEwMDAxOCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiTU1DIFJlYWQgVGltZSBPdXQgKDE1LTI5KSIgfSwKK3sgIk1NQ19SRFRPX1RPIiwJCTB4NDExMDAwMTgsIDAsIDB4MDAwMGZmZmYsICdkJywgInRpbWUgdW50aWwgcmVhZCB0aW1lIG91dCIgfSwKKworeyAiTU1DX0JMS0xFTiIsCQkJMHg0MTEwMDAxQywgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiTU1DIEJsb2NrIExlbiBSZWdpc3RlciAoMTUtMzApIiB9LAoreyAiTU1DX0JMS0xFTl9MRU4iLAkJMHg0MTEwMDAxQywgMCwgMHgwMDAwMDNmZiwgJ2QnLCAiTnVtYmVyIG9mIGJ5dGVzIGluIHRoZSBibG9jayIgfSwKKworeyAiTU1DX05PQiIsCQkJMHg0MTEwMDAyMCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiTU1DIEJsb2NrIE51bWJlciBSZWdpc3RlciAoMTUtMzApIiB9LAoreyAiTU1DX05PQl9OIiwJCQkweDQxMTAwMDIwLCAwLCAweDAwMDBmZmZmLCAnZCcsICJudW1iZXIgb2YgYmxvY2tzIiB9LAorCit7ICJNTUNfUFJUQlVGIiwJCQkweDQxMTAwMDI0LCAwLCAweGZmZmZmZmZmLCAneCcsICJNTUMgUGFydGlhbCBCdWZmZXIgUmVnaXN0ZXIgKDE1LTMxKSIgfSwKK3sgIk1NQ19QUlRCVUZfRlVMTCIsCQkweDQxMTAwMDI0LCAwLCAweDAwMDAwMDAxLCAneCcsICJCdWZmZXIgaXMgcGFydGlhbGx5IGZ1bGwiIH0sCisKK3sgIk1NQ19JTUFTSyIsCQkJMHg0MTEwMDAyOCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiTU1DIEludGVycnVwdCBNYXNrIFJlZ2lzdGVyICgxNS0zMSkiIH0sCit7ICJNTUNfSU1BU0tfREFUQVRSQU4iLAkJMHg0MTEwMDAyOCwgMCwgMHgwMDAwMDAwMSwgJ3gnLCAiRGF0YSBUcmFuc2ZlciBEb25lIG1hc2tlZCIgfSwKK3sgIk1NQ19JTUFTS19QUkdET05FIiwJCTB4NDExMDAwMjgsIDEsIDB4MDAwMDAwMDEsICd4JywgIlByb2dyYW1taW5nIERvbmUgbWFza2VkIiB9LAoreyAiTU1DX0lNQVNLX0VORENNRCIsCQkweDQxMTAwMDI4LCAyLCAweDAwMDAwMDAxLCAneCcsICJFbmQgQ29tbWFuZCBSZXNwb25zZSBtYXNrZWQiIH0sCit7ICJNTUNfSU1BU0tfU1RPUENNRCIsCQkweDQxMTAwMDI4LCAzLCAweDAwMDAwMDAxLCAneCcsICJSZWFkeSBmb3IgU3RvcCBUcmFuc2FjdGlvbiBDb21tYW5kIG1hc2tlZCIgfSwKK3sgIk1NQ19JTUFTS19DTE9DS09GRiIsCQkweDQxMTAwMDI4LCA0LCAweDAwMDAwMDAxLCAneCcsICJDbG9jayBJcyBPZmYgbWFza2VkIiB9LAoreyAiTU1DX0lNQVNLX1JYRklGTyIsCQkweDQxMTAwMDI4LCA1LCAweDAwMDAwMDAxLCAneCcsICJSZWNlaXZlIEZJRk8gUmVhZCBSZXF1ZXN0IG1hc2tlZCIgfSwKK3sgIk1NQ19JTUFTS19UWEZJRk8iLAkJMHg0MTEwMDAyOCwgNiwgMHgwMDAwMDAwMSwgJ3gnLCAiVHJhbnNtaXQgRklGTyBXcml0ZSBSZXF1ZXN0IG1hc2tlZCIgfSwKKworeyAiTU1DX0lSRUciLAkJCTB4NDExMDAwMmMsIDAsIDB4ZmZmZmZmZmYsICd4JywgIk1NQyBJbnRlcnJ1cHQgUmVnaXN0ZXIgKDE1LTMzKSIgfSwKK3sgIk1NQ19JUkVHX0RBVEFUUkFOIiwJCTB4NDExMDAwMmMsIDAsIDB4MDAwMDAwMDEsICd4JywgIkRhdGEgVHJhbnNmZXIgRG9uZSBvciBSZWFkIFRpbWVPdXQgb2NjdXJlZCIgfSwKK3sgIk1NQ19JUkVHX1BSR0RPTkUiLAkJMHg0MTEwMDAyYywgMSwgMHgwMDAwMDAwMSwgJ3gnLCAiQ2FyZCBoYXMgZmluaXNoZWQgcHJvZ3JhbW1pbmciIH0sCit7ICJNTUNfSVJFR19FTkRDTUQiLAkJMHg0MTEwMDAyYywgMiwgMHgwMDAwMDAwMSwgJ3gnLCAiTU1DIGhhcyByZWNlaXZlZCByZXNwb25zZSBvciBSZXNwb25zZSBUaW1lT3V0IiB9LAoreyAiTU1DX0lSRUdfU1RPUENNRCIsCQkweDQxMTAwMDJjLCAzLCAweDAwMDAwMDAxLCAneCcsICJNTUMgaXMgcmVhZHkgZm9yIHRoZSBTdG9wIFRyYW5zYWN0aW9uIENvbW1hbmQiIH0sCit7ICJNTUNfSVJFR19DTE9DS09GRiIsCQkweDQxMTAwMDJjLCA0LCAweDAwMDAwMDAxLCAneCcsICJNTUMgY2xvY2sgaGFzIGJlZW4gdHVybmVkIG9mZiIgfSwKK3sgIk1NQ19JUkVHX1JYRklGTyIsCQkweDQxMTAwMDJjLCA1LCAweDAwMDAwMDAxLCAneCcsICJSZXF1ZXN0IGZvciBkYXRhIHJlYWQgZnJvbSByZWNlaXZlIEZJRk8iIH0sCit7ICJNTUNfSVJFR19UWEZJRk8iLAkJMHg0MTEwMDAyYywgNiwgMHgwMDAwMDAwMSwgJ3gnLCAiUmVxdWVzdCB0byBkYXRhIHdyaXRlIHRvIHRyYW5zbWl0IEZJRk8iIH0sCisKK3sgIk1NQ19DTUQiLAkJCTB4NDExMDAwMzAsIDAsIDB4ZmZmZmZmZmYsICd4JywgIk1NQyBDb21tYW5kIFJlZ2lzdGVyICgxNS0zNCkiIH0sCit7ICJNTUNfQ01EX0lOREVYIiwJCTB4NDExMDAwMzAsIDAsIDB4MDAwMDAwM2YsICd4JywgImNvbW1hbmQgaW5kZXgiIH0sCisKK3sgIk1NQ19BUkdIIiwJCQkweDQxMTAwMDM0LCAwLCAweGZmZmZmZmZmLCAneCcsICJNTUMgSGlnaGVyIEFyZ3VtZW50IFJlZ2lzdGVyICgxNS0zNikiIH0sCit7ICJNTUNfQVJHSF9BUkciLAkJMHg0MTEwMDAzNCwgMCwgMHgwMDAwZmZmZiwgJ3gnLCAidXBwZXIgMTYgYml0cyBvZiBjb21tYW5kIGFyZ3VtZW50IiB9LAorCit7ICJNTUNfQVJHTCIsCQkJMHg0MTEwMDAzOCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiTU1DIExvd2VyIEFyZ3VtZW50IFJlZ2lzdGVyICgxNS0zNikiIH0sCit7ICJNTUNfQVJHTF9BUkciLAkJMHg0MTEwMDAzOCwgMCwgMHgwMDAwZmZmZiwgJ3gnLCAidXBwZXIgMTYgYml0cyBvZiBjb21tYW5kIGFyZ3VtZW50IiB9LAorCisKKyNpZiBkZWZpbmVkKENPTkZJR19BUkNIX1BYQV9JRFApIHx8IGRlZmluZWQoQ09ORklHX0FSQ0hfUkFNU0VTKQorLy8gQ1M1KzB4MDNDMDAwMDAgIENQTEQJCTB4MTQwMDAwMDAKKy8vIENTMSAgICAgICAgICAgICBBbHQtRmxhc2gJMHgwNDAwMDAwMAorLy8gQ1MwICAgICAgICAgICAgIEZsYXNoCTB4MDAwMDAwMDAKKworeyAiQ1BMRF9QV1IiLAkJCTB4MTdDMDAwMDQsIDAsIDB4MDAwMDAwZmYsICd4JywgIkNQTERfUEVSSVBIX1BXUiIgfSwKK3sgIkNQTERfUFdSX0NPUkUiLAkJMHgxN0MwMDAwNCwgMCwgMHgwMDAwMDAwMSwgJ2QnLCAiVmFyaWFibGUgY29yZSBlbmFibGUgLSBsYXRjaCB2YWx1ZSBpbiBmaXJzdCIgfSwKKyNpZmRlZiBDT05GSUdfQVJDSF9QWEFfSURQCit7ICJDUExEX1BXUl9NUSIsCQkweDE3QzAwMDA0LCAyLCAweDAwMDAwMDAxLCAnZCcsICJNUTExMzIgcG93ZXIgc3dpdGNoIiB9LAorI2Vsc2UKK3sgIkNQTERfUFdSX1NMODExSFMiLAkJMHgxN0MwMDAwNCwgMiwgMHgwMDAwMDAwMSwgJ2QnLCAiU0w4MTFIUyBwb3dlciBzd2l0Y2giIH0sCisjZW5kaWYKK3sgIkNQTERfUFdSX1BFUiIsCQkweDE3QzAwMDA0LCAzLCAweDAwMDAwMDAxLCAnZCcsICJwZXJpcGhlcmFsIHBvd2VyIGVuYWJsZSIgfSwKK3sgIkNQTERfUFdSX1JTVCIsCQkweDE3QzAwMDA0LCA0LCAweDAwMDAwMDAxLCAnZCcsICJwZXJpcGhlcmFsIHJlc2V0IiB9LAorCit7ICJDUExEX0xFRCIsCQkJMHgxN0MwMDAwOCwgMCwgMHgwMDAwMDBmZiwgJ3gnLCAiQ1BMRF9MRURfQ09OVFJPTCIgfSwKK3sgIkNQTERfTEVEX0NJUiIsCQkweDE3QzAwMDA4LCAwLCAweDAwMDAwMDAxLCAnZCcsICJDSVIiIH0sCit7ICJDUExEX0xFRF9IQiIsCQkweDE3QzAwMDA4LCA1LCAweDAwMDAwMDAxLCAnZCcsICJyZWQgTEVEICgwPW9uKSIgfSwKK3sgIkNQTERfTEVEX0JVU1kiLAkJMHgxN0MwMDAwOCwgNiwgMHgwMDAwMDAwMSwgJ2QnLCAiZ3JlZW4gTEVEICgwPW9uKSIgfSwKK3sgIkNQTERfTEVEX0ZMQVNIIiwJCTB4MTdDMDAwMDgsIDcsIDB4MDAwMDAwMDEsICdkJywgInJlZCBMRUQgZmxhc2ggZW5hYmxlIiB9LAorCit7ICJDUExEX0tCRF9DT0xfSElHSCIsCQkweDE3QzAwMDBDLCAwLCAweDAwMDAwMGZmLCAneCcsICJDUExEIiB9LAorCit7ICJDUExEX0tCRF9DT0xfTE9XIiwJCTB4MTdDMDAwMTAsIDAsIDB4MDAwMDAwZmYsICd4JywgIkNQTEQiIH0sCisKK3sgIkNQTERfUENDQVJEX0VOIiwJCTB4MTdDMDAwMTQsIDAsIDB4MDAwMDAwZmYsICd4JywgIkNQTEQgUEMtQ2FyZCBFbmFibGUiIH0sCit7ICJDUExEX1BDQzBfRU5BQkxFIiwJCTB4MTdDMDAwMTQsIDAsIDB4MDAwMDAwMDEsICdkJywgIlBDLUNhcmQgMCBlbmFibGUiIH0sCit7ICJDUExEX1BDQzFfRU5BQkxFIiwJCTB4MTdDMDAwMTQsIDEsIDB4MDAwMDAwMDEsICdkJywgIlBDLUNhcmQgMSBlbmFibGUiIH0sCit7ICJDUExEX1BDQzBfUkVTRVQiLAkJMHgxN0MwMDAxNCwgNiwgMHgwMDAwMDAwMSwgJ2QnLCAiUEMtQ2FyZCAwIHJlc2V0IiB9LAoreyAiQ1BMRF9QQ0MxX1JFU0VUIiwJCTB4MTdDMDAwMTQsIDcsIDB4MDAwMDAwMDEsICdkJywgIlBDLUNhcmQgMSByZXNldCIgfSwKKworLyoKK3sgIkNQTERfR1BJT0hfRElSIiwJCTB4MTdDMDAwMTgsIDAsIDB4ZmZmZmZmZmYsICd4JywgIkNQTEQiIH0sCit7ICJDUExEX0dQSU9IX1ZBTFVFIiwJCTB4MTdDMDAwMUMsIDAsIDB4ZmZmZmZmZmYsICd4JywgIkNQTEQiIH0sCit7ICJDUExEX0dQSU9MX0RJUiIsCQkweDE3QzAwMDIwLCAwLCAweGZmZmZmZmZmLCAneCcsICJDUExEIiB9LAoreyAiQ1BMRF9HUElPTF9WQUxVRSIsCQkweDE3QzAwMDI0LCAwLCAweGZmZmZmZmZmLCAneCcsICJDUExEIiB9LAorCisgICAgICBXSEVOICIwMDExMCIgPT4KKyAgICAgICAgZGF0YSg3KSA8PSBsM19kYXRhX291dDsgICAgICAgICAtLSBMMyBJSVMgY29udHJvbCBidXMgLSBkaXJlY3Rpb24gb2YgZGF0YSBiaXQKKyAgICAgICAgZGF0YSg2KSA8PSAnMCc7CisgICAgICAgIGRhdGEoNSkgPD0gJzAnOworICAgICAgICBkYXRhKDQpIDw9ICcwJzsKKyAgICAgICAgZGF0YSgzKSA8PSAnMCc7CisgICAgICAgIGRhdGEoMikgPD0gJzAnOworICAgICAgICBkYXRhKDEpIDw9IGdwc2xvd19vdXQoMSk7ICAgICAgIC0tIGRpcmVjdGlvbiBvZiBwbGRfZ3Bpb18wOQorICAgICAgICBkYXRhKDApIDw9IGdwc2xvd19vdXQoMCk7ICAgICAgIC0tIGRpcmVjdGlvbiBvZiBwbGRfZ3Bpb18wOAorCisgICAgICBXSEVOICIwMDExMSIgPT4gICAgICAgICAgICAgICAgICAgLS0gZ3BpbyBvbiBhc3luYyBidXMKKyAgICAgICAgZGF0YSg3KSA8PSBsM19kYXRhX2lvOyAgICAgICAgICAtLSBMMyBJSVMgY29udHJvbCBidXMgLSBhbHdheXMgcmVhZHMgcGluCisgICAgICAgIGRhdGEoNikgPD0gbDNfY2xrOyAgICAgICAgICAgICAgLS0gTDMgSUlTIGNvbnRyb2wgYnVzIC0gcmVhZCBiYWNrIGNsb2NrCisgICAgICAgIGRhdGEoNSkgPD0gbDNfbW9kZTsgICAgICAgICAgICAgLS0gTDMgSUlTIGNvbnRyb2wgYnVzIC0gcmVhZCBiYWNrIG1vZGUKKyAgICAgICAgZGF0YSg0KSA8PSAnMCc7CisgICAgICAgIGRhdGEoMykgPD0gJzAnOworICAgICAgICBkYXRhKDIpIDw9ICcwJzsKKyAgICAgICAgZGF0YSgxKSA8PSBncHNsb3dfaW8oMSk7ICAgICAgICAtLSBncGlvIG9uIGFzeW5jIGJ1cworICAgICAgICBkYXRhKDApIDw9IGdwc2xvd19pbygwKTsgICAgICAgIC0tIGdwaW8gb24gYXN5bmMgYnVzCisKKyAgICAgIFdIRU4gIjAxMDAwIiA9PgorICAgICAgICBkYXRhIDw9IGdwX291dDsgICAgICAgICAgICAgICAgIC0tIGRpcmVjdGlvbiBvZiBwbGRfZ3Bpb18wNyB0aHJvdWdoIDAwCisKKyAgICAgIFdIRU4gIjAxMDAxIiA9PiAgICAgICAgICAgICAgICAgICAtLSBncGlvIG9uIGhpZ2ggc3BlZWQgYnVzCisgICAgICAgIGRhdGEgPD0gZ3BfaW87CisqLworCit7ICJDUExEX1BDQ0FSRF9QV1IiLAkJMHgxN0MwMDAyOCwgMCwgMHgwMDAwMDBmZiwgJ3gnLCAiQ1BMRCBQQy1DYXJkIFBvd2VyIiB9LAoreyAiQ1BMRF9QQ0MwX1BXUjAiLAkJMHgxN0MwMDAyOCwgMCwgMHgwMDAwMDAwMSwgJ2QnLCAiUEMtQ2FyZCAwIFB3ciAwIiB9LAoreyAiQ1BMRF9QQ0MwX1BXUjEiLAkJMHgxN0MwMDAyOCwgMSwgMHgwMDAwMDAwMSwgJ2QnLCAiUEMtQ2FyZCAwIFB3ciAxIiB9LAoreyAiQ1BMRF9QQ0MwX1BXUjIiLAkJMHgxN0MwMDAyOCwgMiwgMHgwMDAwMDAwMSwgJ2QnLCAiUEMtQ2FyZCAwIFB3ciAyIiB9LAoreyAiQ1BMRF9QQ0MwX1BXUjMiLAkJMHgxN0MwMDAyOCwgMywgMHgwMDAwMDAwMSwgJ2QnLCAiUEMtQ2FyZCAwIFB3ciAzIiB9LAoreyAiQ1BMRF9QQ0MxX1BXUjAiLAkJMHgxN0MwMDAyOCwgNCwgMHgwMDAwMDAwMSwgJ2QnLCAiUEMtQ2FyZCAxIFB3ciAwIiB9LAoreyAiQ1BMRF9QQ0MxX1BXUjEiLAkJMHgxN0MwMDAyOCwgNSwgMHgwMDAwMDAwMSwgJ2QnLCAiUEMtQ2FyZCAxIFB3ciAxIiB9LAoreyAiQ1BMRF9QQ0MxX1BXUjIiLAkJMHgxN0MwMDAyOCwgNiwgMHgwMDAwMDAwMSwgJ2QnLCAiUEMtQ2FyZCAxIFB3ciAyIiB9LAoreyAiQ1BMRF9QQ0MxX1BXUjMiLAkJMHgxN0MwMDAyOCwgNywgMHgwMDAwMDAwMSwgJ2QnLCAiUEMtQ2FyZCAxIFB3ciAzIiB9LAorCit7ICJDUExEX01JU0MiLAkJCTB4MTdDMDAwMkMsIDAsIDB4MDAwMDAwZmYsICd4JywgIkNQTERfTUlTQ19DVFJMIiB9LAoreyAiQ1BMRF9NSVNDX1NFUjFFTiIsCQkweDE3QzAwMDJDLCAwLCAweDAwMDAwMDAxLCAnZCcsICJSUy0yMzIgb24gRkYgVUFSVCBlbmFibGUiIH0sCit7ICJDUExEX01JU0NfU0VSMkVOIiwJCTB4MTdDMDAwMkMsIDEsIDB4MDAwMDAwMDEsICdkJywgIlJTLTIzMiBvbiBCVCBVQVJUIGVuYWJsZSIgfSwKK3sgIkNQTERfTUlTQ19TRVIzRU4iLAkJMHgxN0MwMDAyQywgMiwgMHgwMDAwMDAwMSwgJ2QnLCAiUlMtMjMyIG9uIFNUIFVBUlQgZW5hYmxlIiB9LAoreyAiQ1BMRF9NSVNDX0lSREFGSVIiLAkJMHgxN0MwMDAyQywgMywgMHgwMDAwMDAwMSwgJ2QnLCAiSXJEQSBGSVIgZW5hYmxlIiB9LAoreyAiQ1BMRF9NSVNDX0lSREFNRDAiLAkJMHgxN0MwMDAyQywgNCwgMHgwMDAwMDAwMSwgJ2QnLCAiSXJEQSBtb2RlIDAiIH0sCit7ICJDUExEX01JU0NfSVJEQU1EMSIsCQkweDE3QzAwMDJDLCA1LCAweDAwMDAwMDAxLCAnZCcsICJJckRBIG1vZGUgMSIgfSwKKyNpZmRlZiBDT05GSUdfQVJDSF9QWEFfSURQCit7ICJDUExEX01JU0NfSTJTUFdSIiwJCTB4MTdDMDAwMkMsIDcsIDB4MDAwMDAwMDEsICdkJywgIlVEQTEzNDEgcG93ZXIgc3dpdGNoIiB9LAorI2VuZGlmCisKK3sgIkNQTERfTENEIiwJCQkweDE3QzAwMDMwLCAwLCAweDAwMDAwMGZmLCAneCcsICJDUExEIExDRCBDb250cm9sIiwgfSwKKyNpZmRlZiBDT05GSUdfQVJDSF9QWEFfSURQCit7ICJDUExEX0xDRF9QV1IiLAkJMHgxN0MwMDAzMCwgMCwgMHgwMDAwMDAwMSwgJ2QnLCAiTENEIFBvd2VyIiB9LAoreyAiQ1BMRF9MQ0RfQkFDS0xJR0hUIiwJCTB4MTdDMDAwMzAsIDEsIDB4MDAwMDAwMDEsICdkJywgIkxDRCBCYWNrbGlnaHQiIH0sCit7ICJDUExEX0xDRF9WTENEIiwJCTB4MTdDMDAwMzAsIDIsIDB4MDAwMDAwMDEsICdkJywgIkxDRCBWTENEIiB9LAorI2Vsc2UKK3sgIkNQTERfTENEX1ZDQyIsCQkweDE3QzAwMDMwLCAwLCAweDAwMDAwMDAxLCAnZCcsICJMQ0QgVkNDIiB9LAoreyAiQ1BMRF9MQ0RfRElTUE9GRiIsCQkweDE3QzAwMDMwLCAyLCAweDAwMDAwMDAxLCAnZCcsICJMQ0QgbkRJU1BPRkYiIH0sCisjZW5kaWYKKworeyAiQ1BMRF9GTEFTSCIsCQkJMHgxN0MwMDAzNCwgMCwgMHgwMDAwMDBmZiwgJ3gnLCAiQ1BMRCBGbGFzaCBDb250cm9sIiB9LAoreyAiQ1BMRF9GTEFTSF9XRSIsCQkweDE3QzAwMDM0LCAwLCAweDAwMDAwMDAxLCAnZCcsICJDUExEIFN0cmF0YUZsYXNoIFdyaXRlIEVuYWJsZSIgfSwKKyNpZmRlZiBDT05GSUdfQVJDSF9QWEFfSURQCit7ICJDUExEX0ZMQVNIX01XRSIsCQkweDE3QzAwMDM0LCAxLCAweDAwMDAwMDAxLCAnZCcsICJDUExEIE1QbHVzIFdyaXRlIEVuYWJsZSIgfSwKK3sgIkNQTERfRkxBU0hfTU9FIiwJCTB4MTdDMDAwMzQsIDIsIDB4MDAwMDAwMDEsICdkJywgIkNQTEQgTVBsdXMgT3V0cHV0IEVuYWJsZSIgfSwKKworeyAiQ1BMRF9DUyIsCQkJMHgxN0MwMDAzOCwgMCwgMHgwMDAwMDBmZiwgJ3gnLCAiQ1BMRCBDaGlwIFNlbGVjdCBSZWdpc3RlciIgfSwKK3sgIkNQTERfQ1NfQ1MwRU4iLAkJMHgxN0MwMDAzOCwgMCwgMHgwMDAwMDAwMSwgJ2QnLCAiQ1BMRCBDaGlwIFNlbGVjdCAwIEVuYWJsZSIgfSwKK3sgIkNQTERfQ1NfQ1MxRU4iLAkJMHgxN0MwMDAzOCwgMSwgMHgwMDAwMDAwMSwgJ2QnLCAiQ1BMRCBDaGlwIFNlbGVjdCAxIEVuYWJsZSIgfSwKK3sgIkNQTERfQ1NfQ1MyRU4iLAkJMHgxN0MwMDAzOCwgMiwgMHgwMDAwMDAwMSwgJ2QnLCAiQ1BMRCBDaGlwIFNlbGVjdCAyIEVuYWJsZSIgfSwKK3sgIkNQTERfQ1NfQ1MzRU4iLAkJMHgxN0MwMDAzOCwgMywgMHgwMDAwMDAwMSwgJ2QnLCAiQ1BMRCBDaGlwIFNlbGVjdCAzIEVuYWJsZSIgfSwKK3sgIkNQTERfQ1NfQ1M0RU4iLAkJMHgxN0MwMDAzOCwgNCwgMHgwMDAwMDAwMSwgJ2QnLCAiQ1BMRCBDaGlwIFNlbGVjdCA0IEVuYWJsZSIgfSwKKy8veyAiQ1BMRF9DU19DUzVFTiIsCQkweDE3QzAwMDM4LCA0LCAweDAwMDAwMDAxLCAnZCcsICJDUExEIENoaXAgU2VsZWN0IDUgRW5hYmxlIiB9LAorI2VuZGlmCisKK3sgIkNQTERfS0JfUk9XIiwJCTB4MTdDMDAwNTAsIDAsIDB4MDAwMDAwZmYsICd4JywgIkNQTEQiIH0sCisKK3sgIkNQTERfUENDQVJEMF9TVEFUVVMiLAkweDE3QzAwMDU0LCAwLCAweDAwMDAwMGZmLCAneCcsICJDUExEIFBDLUNhcmQgMCBTdGF0dXMiIH0sCit7ICJDUExEX1BDQzBfVlMxIiwgICAgICAgICAgICAgIDB4MTdDMDAwNTQsIDAsIDB4MDAwMDAwMDEsICdkJywgIlBDLUNhcmQgMCBWUzEiIH0sCit7ICJDUExEX1BDQzBfVlMyIiwgICAgICAgICAgICAgIDB4MTdDMDAwNTQsIDEsIDB4MDAwMDAwMDEsICdkJywgIlBDLUNhcmQgMCBWUzIiIH0sCit7ICJDUExEX1BDQzBfQlZEMSIsICAgICAgICAgICAgIDB4MTdDMDAwNTQsIDIsIDB4MDAwMDAwMDEsICdkJywgIlBDLUNhcmQgMCBCVkQxIiB9LAoreyAiQ1BMRF9QQ0MwX0JWRDIiLCAgICAgICAgICAgICAweDE3QzAwMDU0LCAzLCAweDAwMDAwMDAxLCAnZCcsICJQQy1DYXJkIDAgQlZEMiIgfSwKK3sgIkNQTERfUENDMF9JTlBBQ0siLCAgICAgICAgICAgMHgxN0MwMDA1NCwgNCwgMHgwMDAwMDAwMSwgJ2QnLCAiUEMtQ2FyZCAwIElOUEFDSyIgfSwKK3sgIkNQTERfUENDMF9JUlEiLCAgICAgICAgICAgICAgMHgxN0MwMDA1NCwgNSwgMHgwMDAwMDAwMSwgJ2QnLCAiUEMtQ2FyZCAwIElSUSIgfSwKK3sgIkNQTERfUENDMF9TVFJFU0VUIiwgICAgICAgICAgMHgxN0MwMDA1NCwgNiwgMHgwMDAwMDAwMSwgJ2QnLCAiUEMtQ2FyZCAwIFJFU0VUIiB9LAoreyAiQ1BMRF9QQ0MwX1dSUFJPVCIsICAgICAgICAgICAweDE3QzAwMDU0LCA3LCAweDAwMDAwMDAxLCAnZCcsICJQQy1DYXJkIDAgV1JQUk9UIiB9LAorCit7ICJDUExEX1BDQ0FSRDFfU1RBVFVTIiwJMHgxN0MwMDA1OCwgMCwgMHgwMDAwMDBmZiwgJ3gnLCAiQ1BMRCBQQy1DYXJkIDEgU3RhdHVzIiB9LAoreyAiQ1BMRF9QQ0MxX1ZTMSIsICAgICAgICAgICAgICAweDE3QzAwMDU4LCAwLCAweDAwMDAwMDAxLCAnZCcsICJQQy1DYXJkIDEgVlMxIiB9LAoreyAiQ1BMRF9QQ0MxX1ZTMiIsICAgICAgICAgICAgICAweDE3QzAwMDU4LCAxLCAweDAwMDAwMDAxLCAnZCcsICJQQy1DYXJkIDEgVlMyIiB9LAoreyAiQ1BMRF9QQ0MxX0JWRDEiLCAgICAgICAgICAgICAweDE3QzAwMDU4LCAyLCAweDAwMDAwMDAxLCAnZCcsICJQQy1DYXJkIDEgQlZEMSIgfSwKK3sgIkNQTERfUENDMV9CVkQyIiwgICAgICAgICAgICAgMHgxN0MwMDA1OCwgMywgMHgwMDAwMDAwMSwgJ2QnLCAiUEMtQ2FyZCAxIEJWRDIiIH0sCit7ICJDUExEX1BDQzFfSU5QQUNLIiwgICAgICAgICAgIDB4MTdDMDAwNTgsIDQsIDB4MDAwMDAwMDEsICdkJywgIlBDLUNhcmQgMSBJTlBBQ0siIH0sCit7ICJDUExEX1BDQzFfSVJRIiwgICAgICAgICAgICAgIDB4MTdDMDAwNTgsIDUsIDB4MDAwMDAwMDEsICdkJywgIlBDLUNhcmQgMSBJUlEiIH0sCit7ICJDUExEX1BDQzFfU1RSRVNFVCIsICAgICAgICAgIDB4MTdDMDAwNTgsIDYsIDB4MDAwMDAwMDEsICdkJywgIlBDLUNhcmQgMSBSRVNFVCIgfSwKK3sgIkNQTERfUENDMV9XUlBST1QiLCAgICAgICAgICAgMHgxN0MwMDA1OCwgNywgMHgwMDAwMDAwMSwgJ2QnLCAiUEMtQ2FyZCAxIFdSUFJPVCIgfSwKKworeyAiQ1BMRF9NSVNDX1NUQVRVUyIsCQkweDE3QzAwMDVDLCAwLCAweDAwMDAwMGZmLCAneCcsICJDUExEIE1pc2MgU3RhdHVzIiB9LAoreyAiQ1BMRF9NSVNDX1VTQl9EX0NPTiIsICAgICAgICAweDE3QzAwMDVDLCAwLCAweDAwMDAwMDAxLCAnZCcsICJDaGFyZ2Ugc3RhdHVzIiB9LAoreyAiQ1BMRF9NSVNDX1dBTExfSU4iLCAgICAgICAgICAweDE3QzAwMDVDLCAxLCAweDAwMDAwMDAxLCAnZCcsICJDaGFyZ2Ugc3RhdHVzIiB9LAoreyAiQ1BMRF9NSVNDX0NIR19TVFMiLCAgICAgICAgICAweDE3QzAwMDVDLCAyLCAweDAwMDAwMDAxLCAnZCcsICJDaGFyZ2Ugc3RhdHVzIiB9LAoreyAiQ1BMRF9NSVNDX01NQ19XUFJPVCIsICAgICAgICAweDE3QzAwMDVDLCA3LCAweDAwMDAwMDAxLCAnZCcsICJNTUMgd3JpdGUgcHJvdGVjdCIgfSwKKworeyAiQ1BMRF9WRVJfWUVBUiIsCQkweDE3QzAwMDYwLCAwLCAweDAwMDAwMGZmLCAneCcsICJDUExEIFllYXIiIH0sCit7ICJDUExEX1ZFUl9NT05USCIsCQkweDE3QzAwMDY0LCAwLCAweDAwMDAwMGZmLCAneCcsICJDUExEIE1vbnRoIiB9LAoreyAiQ1BMRF9WRVJfREFZIiwJCTB4MTdDMDAwNjgsIDAsIDB4MDAwMDAwZmYsICd4JywgIkNQTEQgRGF5IiB9LAoreyAiQ1BMRF9WRVJfUkVWIiwJCTB4MTdDMDAwNkMsIDAsIDB4MDAwMDAwZmYsICd4JywgIkNQTEQgUmV2aXNpb24iIH0sCisKK3sgIkNQTERfVlNUQVQiLAkJCTB4MTdDMDAwN0MsIDAsIDB4MDAwMDAwZmYsICd4JywgIkNQTEQgVm9sdGFnZSBTdGF0dXMiIH0sCisjaWZkZWYgQ09ORklHX0FSQ0hfUFhBX0lEUAoreyAiQ1BMRF9CU1RBVF9WM0dPT0QiLAkJMHgxN0MwMDA3QywgMCwgMHgwMDAwMDAwMSwgJ3gnLCAidjNnb29kIiB9LAorI2VuZGlmCit7ICJDUExEX0JTVEFUX0JXRSIsCQkweDE3QzAwMDdDLCAxLCAweDAwMDAwMDAxLCAneCcsICJid2UiIH0sCisKKyNlbmRpZgorCisjaWYgZGVmaW5lZChDT05GSUdfQVJDSF9SQU1TRVMpCit7ICJVQVJUQV9SSFIiLAkJCTB4MEMwMDJFMDAsIDAsIDB4ZmZmZmZmZmYsICd4JywgIlVBUlQgQSBSSFIvVEhSIiB9LAoreyAiVUFSVEFfSUVSIiwJCQkweDBDMDAyRTA0LCAwLCAweGZmZmZmZmZmLCAneCcsICJVQVJUIEEgSUVSIiB9LAoreyAiVUFSVEFfRkNSIiwJCQkweDBDMDAyRTA4LCAwLCAweGZmZmZmZmZmLCAneCcsICJVQVJUIEEgRkNSL0lJUiIgfSwKK3sgIlVBUlRBX0xDUiIsCQkJMHgwQzAwMkUwQywgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiVUFSVCBBIExDUiIgfSwKK3sgIlVBUlRBX01DUiIsCQkJMHgwQzAwMkUxMCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiVUFSVCBBIE1DUiIgfSwKK3sgIlVBUlRBX0xTUiIsCQkJMHgwQzAwMkUxNCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiVUFSVCBBIExTUiIgfSwKK3sgIlVBUlRBX01TUiIsCQkJMHgwQzAwMkUxOCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiVUFSVCBBIE1TUiIgfSwKK3sgIlVBUlRBX1NQUiIsCQkJMHgwQzAwMkUxQywgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiVUFSVCBBIFNQUiIgfSwKKworeyAiVUFSVEJfUkhSIiwJCQkweDBDMDAyRDAwLCAwLCAweGZmZmZmZmZmLCAneCcsICJVQVJUIEIgUkhSL1RIUiIgfSwKK3sgIlVBUlRCX0lFUiIsCQkJMHgwQzAwMkQwNCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiVUFSVCBCIElFUiIgfSwKK3sgIlVBUlRCX0ZDUiIsCQkJMHgwQzAwMkQwOCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiVUFSVCBCIEZDUi9JSVIiIH0sCit7ICJVQVJUQl9MQ1IiLAkJCTB4MEMwMDJEMEMsIDAsIDB4ZmZmZmZmZmYsICd4JywgIlVBUlQgQiBMQ1IiIH0sCit7ICJVQVJUQl9NQ1IiLAkJCTB4MEMwMDJEMTAsIDAsIDB4ZmZmZmZmZmYsICd4JywgIlVBUlQgQiBNQ1IiIH0sCit7ICJVQVJUQl9MU1IiLAkJCTB4MEMwMDJEMTQsIDAsIDB4ZmZmZmZmZmYsICd4JywgIlVBUlQgQiBMU1IiIH0sCit7ICJVQVJUQl9NU1IiLAkJCTB4MEMwMDJEMTgsIDAsIDB4ZmZmZmZmZmYsICd4JywgIlVBUlQgQiBNU1IiIH0sCit7ICJVQVJUQl9TUFIiLAkJCTB4MEMwMDJEMUMsIDAsIDB4ZmZmZmZmZmYsICd4JywgIlVBUlQgQiBTUFIiIH0sCisKK3sgIlVBUlREX1JIUiIsCQkJMHgwQzAwMkIwMCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiVUFSVCBDIFJIUi9USFIiIH0sCit7ICJVQVJURF9JRVIiLAkJCTB4MEMwMDJCMDQsIDAsIDB4ZmZmZmZmZmYsICd4JywgIlVBUlQgQyBJRVIiIH0sCit7ICJVQVJURF9GQ1IiLAkJCTB4MEMwMDJCMDgsIDAsIDB4ZmZmZmZmZmYsICd4JywgIlVBUlQgQyBGQ1IvSUlSIiB9LAoreyAiVUFSVERfTENSIiwJCQkweDBDMDAyQjBDLCAwLCAweGZmZmZmZmZmLCAneCcsICJVQVJUIEMgTENSIiB9LAoreyAiVUFSVERfTUNSIiwJCQkweDBDMDAyQjEwLCAwLCAweGZmZmZmZmZmLCAneCcsICJVQVJUIEMgTUNSIiB9LAoreyAiVUFSVERfTFNSIiwJCQkweDBDMDAyQjE0LCAwLCAweGZmZmZmZmZmLCAneCcsICJVQVJUIEMgTFNSIiB9LAoreyAiVUFSVERfTVNSIiwJCQkweDBDMDAyQjE4LCAwLCAweGZmZmZmZmZmLCAneCcsICJVQVJUIEMgTVNSIiB9LAoreyAiVUFSVERfU1BSIiwJCQkweDBDMDAyQjFDLCAwLCAweGZmZmZmZmZmLCAneCcsICJVQVJUIEMgU1BSIiB9LAorCit7ICJVQVJURF9SSFIiLAkJCTB4MEMwMDI3MDAsIDAsIDB4ZmZmZmZmZmYsICd4JywgIlVBUlQgRCBSSFIvVEhSIiB9LAoreyAiVUFSVERfSUVSIiwJCQkweDBDMDAyNzA0LCAwLCAweGZmZmZmZmZmLCAneCcsICJVQVJUIEQgSUVSIiB9LAoreyAiVUFSVERfRkNSIiwJCQkweDBDMDAyNzA4LCAwLCAweGZmZmZmZmZmLCAneCcsICJVQVJUIEQgRkNSL0lJUiIgfSwKK3sgIlVBUlREX0xDUiIsCQkJMHgwQzAwMjcwQywgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiVUFSVCBEIExDUiIgfSwKK3sgIlVBUlREX01DUiIsCQkJMHgwQzAwMjcxMCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiVUFSVCBEIE1DUiIgfSwKK3sgIlVBUlREX0xTUiIsCQkJMHgwQzAwMjcxNCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiVUFSVCBEIExTUiIgfSwKK3sgIlVBUlREX01TUiIsCQkJMHgwQzAwMjcxOCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiVUFSVCBEIE1TUiIgfSwKK3sgIlVBUlREX1NQUiIsCQkJMHgwQzAwMjcxQywgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiVUFSVCBEIFNQUiIgfSwKKworI2VuZGlmCisKK307CisKKworCisjZGVmaW5lIE1BUF9TSVpFIDQwOTYKKyNkZWZpbmUgTUFQX01BU0sgKCBNQVBfU0laRSAtIDEgKQorCitzdGF0aWMgaW50IGdldG1lbSh1MzIgYWRkcikKK3sKKyAgIHZvaWQgKm1hcCwgKnJlZ2FkZHI7CisgICB1MzIgdmFsOworCisgICAvL3ByaW50ZigiZ2V0bWVtKDB4JTA4eClcbiIsIGFkZHIpOworCisgICBpZiAoZmQgPT0gLTEpIHsKKyAgICAgIGZkID0gb3BlbigiL2Rldi9tZW0iLCBPX1JEV1IgfCBPX1NZTkMpOworICAgICAgaWYgKGZkPDApIHsKKyAgICAgICAgICBwZXJyb3IoIm9wZW4oXCIvZGV2L21lbVwiKSIpOworICAgICAgICAgIGV4aXQoMSk7CisgICAgICB9CisgICB9CisKKyAgIG1hcCA9IG1tYXAoMCwKKyAgICAgICAgICAgICAgTUFQX1NJWkUsCisgICAgICAgICAgICAgIFBST1RfUkVBRCB8IFBST1RfV1JJVEUsCisgICAgICAgICAgICAgIE1BUF9TSEFSRUQsCisgICAgICAgICAgICAgIGZkLAorICAgICAgICAgICAgICBhZGRyICYgfk1BUF9NQVNLCisgICAgICAgICAgICAgKTsKKyAgIGlmIChtYXAgPT0gKHZvaWQqKS0xICkgeworICAgICAgIHBlcnJvcigibW1hcCgpIik7CisgICAgICAgZXhpdCgxKTsKKyAgIH0KKworICAgcmVnYWRkciA9IG1hcCArIChhZGRyICYgTUFQX01BU0spOworCisgICB2YWwgPSAqKHUzMiopIHJlZ2FkZHI7CisgICBtdW5tYXAoMCxNQVBfU0laRSk7CisKKyAgIHJldHVybiB2YWw7Cit9CisKK3N0YXRpYyB2b2lkIHB1dG1lbSh1MzIgYWRkciwgdTMyIHZhbCkKK3sKKyAgIHZvaWQgKm1hcCwgKnJlZ2FkZHI7CisgICBzdGF0aWMgaW50IGZkID0gLTE7CisKKyAgIC8vcHJpbnRmKCJwdXRtZW0oMHglMDh4LCAweCUwOHgpXG4iLCBhZGRyLCB2YWwpOworCisgICBpZiAoZmQgPT0gLTEpIHsKKyAgICAgIGZkID0gb3BlbigiL2Rldi9tZW0iLCBPX1JEV1IgfCBPX1NZTkMpOworICAgICAgaWYgKGZkPDApIHsKKyAgICAgICAgICBwZXJyb3IoIm9wZW4oXCIvZGV2L21lbVwiKSIpOworICAgICAgICAgIGV4aXQoMSk7CisgICAgICB9CisgICB9CisKKyAgIG1hcCA9IG1tYXAoMCwKKyAgICAgICAgICAgICAgTUFQX1NJWkUsCisgICAgICAgICAgICAgIFBST1RfUkVBRCB8IFBST1RfV1JJVEUsCisgICAgICAgICAgICAgIE1BUF9TSEFSRUQsCisgICAgICAgICAgICAgIGZkLAorICAgICAgICAgICAgICBhZGRyICYgfk1BUF9NQVNLCisgICAgICAgICAgICAgKTsKKyAgIGlmIChtYXAgPT0gKHZvaWQqKS0xICkgeworICAgICAgIHBlcnJvcigibW1hcCgpIik7CisgICAgICAgZXhpdCgxKTsKKyAgIH0KKworICAgcmVnYWRkciA9IG1hcCArIChhZGRyICYgTUFQX01BU0spOworCisgICAqKHUzMiopIHJlZ2FkZHIgPSB2YWw7CisgICBtdW5tYXAoMCxNQVBfU0laRSk7Cit9CisKK3N0YXRpYyB1MzIgbGFzdGFkZHIgPSAwOworc3RhdGljIHUzMiBuZXdhZGRyID0gMTsKK3N0YXRpYyB1MzIgZGF0YSA9IDA7CitzdGF0aWMgdTMyIHNoaWZ0ZGF0YTsKKworCitzdGF0aWMgdm9pZCBkdW1wZW50cnkoaW50IGkpCit7CisgICBpbnQgajsKKworICAgaWYgKHJlZ3NbaV0uYWRkciAhPSBsYXN0YWRkcikgbmV3YWRkciA9IDE7CisgICBpZiAobmV3YWRkcikgeworICAgICAgIG5ld2FkZHIgPSAwOworICAgICAgIGxhc3RhZGRyID0gcmVnc1tpXS5hZGRyOworICAgICAgIGRhdGEgPSBnZXRtZW0obGFzdGFkZHIpOworICAgICAgIHByaW50ZigiXG4lc1xuIiwgcmVnc1tpXS5kZXNjKTsKKyAgICAgICBwcmludGYoIiUtMjRzIDB4JTA4eCAgIiwgcmVnc1tpXS5uYW1lLCBkYXRhKTsKKyAgICAgICBzaGlmdGRhdGEgPSBkYXRhOworICAgICAgIGZvciAoaj0zMjsgaj4wOyBqLS0pIHsKKyAgICAgICAgICAgcHJpbnRmKCIlYyIsIHNoaWZ0ZGF0YSAmIDB4ODAwMDAwMDAgPyAnMScgOiAnMCcpOworICAgICAgICAgICBzaGlmdGRhdGEgPSBzaGlmdGRhdGEgPDwgMTsKKyAgICAgICAgICAgaWYgKGo9PTkgfHwgaj09MTcgfHwgaj09MjUpIHByaW50ZigiICIpOworICAgICAgIH0KKworICAgICAgIHByaW50ZigiXG4iKTsKKyAgIH0KKworICAgaWYgKHJlZ3NbaV0uc2hpZnQgIT0gMCAgfHwgIHJlZ3NbaV0ubWFzayAhPSAweGZmZmZmZmZmKSB7CisgICAgICAgc2hpZnRkYXRhID0gKGRhdGEgPj4gcmVnc1tpXS5zaGlmdCkgJiByZWdzW2ldLm1hc2s7CisgICAgICAgcHJpbnRmKCIlLTI1cyAgIiwgcmVnc1tpXS5uYW1lKTsKKyAgICAgICBzd2l0Y2ggKHJlZ3NbaV0udHlwZSkgeworICAgICAgICAgIGNhc2UgJ3gnOiBwcmludGYoIiU4eCIsIHNoaWZ0ZGF0YSk7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgIGNhc2UgJzwnOiBwcmludGYoIiU4dSIsIDEgPDwgc2hpZnRkYXRhKTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICAgICAgcHJpbnRmKCIlOHUiLCBzaGlmdGRhdGEpOworICAgICAgIH0KKyAgICAgICBwcmludGYoIiAgJXNcbiIsIHJlZ3NbaV0uZGVzYyk7CisgICB9Cit9CisKKworc3RhdGljIHZvaWQgZHVtcGFsbCh2b2lkKQoreworICAgaW50IGk7CisgICBpbnQgbj1zaXplb2YocmVncykvc2l6ZW9mKHN0cnVjdCByZWdfaW5mbyk7CisKKyAgIGZvciAoaT0wOyBpPG47IGkrKykgeworICAgICAgZHVtcGVudHJ5KGkpOworICAgfQorfQorCisKK3N0YXRpYyB2b2lkIGR1bXBtYXRjaGluZyhjaGFyICpuYW1lKQoreworICAgaW50IGk7CisgICBpbnQgbj1zaXplb2YocmVncykvc2l6ZW9mKHN0cnVjdCByZWdfaW5mbyk7CisKKworICAgZm9yIChpPTA7IGk8bjsgaSsrKSB7CisgICAgICBpZiAoc3Ryc3RyKHJlZ3NbaV0ubmFtZSwgbmFtZSkpCisgICAgICAgICBkdW1wZW50cnkoaSk7CisgICB9Cit9CisKKworc3RhdGljIHZvaWQgc2V0cmVnKGNoYXIgKm5hbWUsIHUzMiB2YWwpCit7CisgICBpbnQgaTsKKyAgIHUzMiBtZW07CisgICBpbnQgZm91bmQ9MDsKKyAgIGludCBjb3VudD0wOworICAgaW50IG49c2l6ZW9mKHJlZ3MpL3NpemVvZihzdHJ1Y3QgcmVnX2luZm8pOworCisKKyAgIGZvciAoaT0wOyBpPG47IGkrKykgeworICAgICAgaWYgKHN0cmNtcChyZWdzW2ldLm5hbWUsIG5hbWUpPT0wKSB7CisgICAgICAgICBmb3VuZCA9IGk7CisgICAgICAgICAvL3ByaW50ZigiTWF0Y2hlZCAlcyB3aXRoICVzLCBjb3VudD0lZFxuIiwgcmVnc1tpXS5uYW1lLCBuYW1lLCBjb3VudCk7CisgICAgICAgICBjb3VudCsrOworICAgICAgfQorICAgfQorICAgaWYgKGNvdW50IT0xKSB7CisgICAgICBwcmludGYoIk5vIG9yIG1vcmUgdGhhbiBvbmUgbWF0Y2hpbmcgcmVnaXN0ZXIgZm91bmRcbiIpOworICAgICAgZXhpdCgxKTsKKyAgIH0KKworICAgbWVtID0gZ2V0bWVtKHJlZ3NbZm91bmRdLmFkZHIpOworICAgLy9wcmludGYoIk9sZCBjb250ZW50czogMHglMDh4XG4iLCBtZW0pOworICAgbWVtICY9IH4ocmVnc1tmb3VuZF0ubWFzayA8PCByZWdzW2ZvdW5kXS5zaGlmdCk7CisgICAvL3ByaW50ZigiVW5tYXNrZWQgY29udGVudHM6IDB4JTA4eFxuIiwgbWVtKTsKKyAgIHZhbCAmPSByZWdzW2ZvdW5kXS5tYXNrOworICAgLy9wcmludGYoIm1hc2s6IDB4JTA4eFxuIiwgcmVnc1tmb3VuZF0ubWFzayk7CisgICAvL3ByaW50ZigibWFza2VkIHZhbDogMHglMDh4XG4iLCB2YWwpOworICAgbWVtIHw9IHZhbCA8PCByZWdzW2ZvdW5kXS5zaGlmdDsKKyAgIC8vcHJpbnRmKCJFbWJlZGRlZCB2YWx1ZTogMHglMDh4XG4iLCBtZW0pOworICAgcHV0bWVtKHJlZ3NbZm91bmRdLmFkZHIsIG1lbSk7Cit9CisKKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKyAgICBjaGFyICpwOworICAgIHUzMiB2YWw7CisKKyAgICBpZiAoYXJnYyA9PSAxKSB7CisgICAgICAgZHVtcGFsbCgpOworICAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIC8vIFVwcGVyY2FzZSBmaXJzdCBhcmd1bWVudAorICAgIGlmIChhcmdjID49IDIpIHsKKyAgICAgICAgcCA9IGFyZ3ZbMV07CisgICAgICAgIHdoaWxlICgqcCkgeworICAgICAgICAgICAqcCA9IHRvdXBwZXIoKnApOworICAgICAgICAgICBwKys7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAoYXJnYyA9PSAyKSB7CisgICAgICAgZHVtcG1hdGNoaW5nKGFyZ3ZbMV0pOworICAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIGlmIChhcmdjID09IDMpIHsKKwlzc2NhbmYoYXJndlsyXSwiJWkiLCZ2YWwpOworCXNldHJlZyhhcmd2WzFdLCB2YWwpOworCXJldHVybiAwOworICAgIH0KKworICAgIHByaW50ZigiVXNhZ2U6ICVzICAgICAgICAgICAgICAgIC0gdG8gZHVtcCBhbGwga25vd24gcmVnaXN0ZXJzXG4iCisgICAgICAgICAgICIgICAgICAgJXMgPG5hbWU+ICAgICAgICAgLSB0byBkdW1wIG5hbWVkIHJlZ2lzdGVyXG4iCisgICAgICAgICAgICIgICAgICAgJXMgPG5hbWU+IDx2YWx1ZT4gLSB0byBzZXQgbmFtZWQgcmVnaXN0ZXJcbiIsCisgICAgICAgICAgIGFyZ3ZbMF0sIGFyZ3ZbMF0sIGFyZ3ZbMF0pOworICAgIHJldHVybiAxOworfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9weGFyZWdzL3B4YXJlZ3MtMS4xNC9zZXJpYWwucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3B4YXJlZ3MvcHhhcmVncy0xLjE0L3NlcmlhbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNjg1Mzg1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9weGFyZWdzL3B4YXJlZ3MtMS4xNC9zZXJpYWwucGF0Y2gKQEAgLTAsMCArMSwxNCBAQAorSW5kZXg6IHB4YXJlZ3MtMS4xNC9weGFyZWdzLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBweGFyZWdzLTEuMTQub3JpZy9weGFyZWdzLmMKKysrKyBweGFyZWdzLTEuMTQvcHhhcmVncy5jCitAQCAtNzgsNiArNzgsOSBAQCBzdGF0aWMgc3RydWN0IHJlZ19pbmZvIHJlZ3NbXSA9IHsKKyB7ICJJU0FSIiwgICAgICAweDQwMzAxNkEwLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiSTJDIFNsYXZlIEFkZHJlc3MgUmVnaXN0ZXIiIH0sCisgeyAiSVNBUl9TQSIsICAgMHg0MDMwMTZBMCwgIDAsIDB4MDAwMDAwN2YsICd4JywgIkkyQyBTbGF2ZSBBZGRyZXNzIiB9LAorIAorK3sgIkhXX01DUiIsICAgIDB4NDE2MDAwMTAsICAwLCAweGZmZmZmZmZmLCAneCcsICJIV1VBUlQgTW9kZW0gQ29udHJvbCBSZWdpc3RlciIgfSwKKyt7ICJIV19NU1IiLCAgICAweDQxNjAwMDE4LCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiSFdVQVJUIE1vZGVtIFN0YXR1cyBSZWdpc3RlciIgfSwKKysKKyB7ICJQTUNSIiwgICAgICAweDQwRjAwMDAwLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiUG93ZXIgTWFuYWdlciBDb250cm9sIFJlZ2lzdGVyICgzLTIzKSIgfSwKKyB7ICJQTUNSX0lEQUUiLCAweDQwRjAwMDAwLCAgMCwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gaW1wcmVjaXNlIGRhdGEgYWJvcnQgYWJvcnQgc2lnbmFsIiB9LAorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9weGFyZWdzL3B4YXJlZ3MtMS4xNC91c2IucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3B4YXJlZ3MvcHhhcmVncy0xLjE0L3VzYi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41OWYyMWZlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9weGFyZWdzL3B4YXJlZ3MtMS4xNC91c2IucGF0Y2gKQEAgLTAsMCArMSwxNyBAQAorSW5kZXg6IHB4YXJlZ3MtMS4xNC9weGFyZWdzLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBweGFyZWdzLTEuMTQub3JpZy9weGFyZWdzLmMKKysrKyBweGFyZWdzLTEuMTQvcHhhcmVncy5jCitAQCAtNzgsNiArNzgsMTIgQEAgc3RhdGljIHN0cnVjdCByZWdfaW5mbyByZWdzW10gPSB7CisgeyAiSVNBUiIsICAgICAgMHg0MDMwMTZBMCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkkyQyBTbGF2ZSBBZGRyZXNzIFJlZ2lzdGVyIiB9LAorIHsgIklTQVJfU0EiLCAgIDB4NDAzMDE2QTAsICAwLCAweDAwMDAwMDdmLCAneCcsICJJMkMgU2xhdmUgQWRkcmVzcyIgfSwKKyAKKyt7ICJVUDJPQ1IiLCAgICAweDQwNjAwMDIwLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiVVNCIFBvcnQgMiBPdXRwdXQgQ29udHJvbCBSZWdpc3RlciIgfSwKKyt7ICJVUDJPQ1JfU0VPUyIsIDB4NDA2MDAwMjAsIDI0LCA3LCAneCcsICJVU0IgUG9ydCAyIFNpbmdsZS1FbmRlZCBPdXRwdXQgU2VsZWN0IiB9LAorK3sgIlVQMk9DUl9IWE9FIiwgMHg0MDYwMDAyMCwgMTcsIDEsICd4JywgIlVTQiBQb3J0IDIgVHJhbmNlaXZlciBPRSIgfSwKKyt7ICJVUDJPQ1JfSFhTIiwgIDB4NDA2MDAwMjAsIDE2LCAxLCAneCcsICJVU0IgUG9ydCAyIFRyYW5jZWl2ZXIgT3V0cHV0IFNlbGVjdCIgfSwKKyt7ICJVUDJPQ1JfSURPTiIsIDB4NDA2MDAwMjAsIDEwLCAxLCAneCcsICJPVEcgSUQgUmVhZCBFbmFibGUiIH0sCisrCisgeyAiSFdfTUNSIiwgICAgMHg0MTYwMDAxMCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkhXVUFSVCBNb2RlbSBDb250cm9sIFJlZ2lzdGVyIiB9LAorIHsgIkhXX01TUiIsICAgIDB4NDE2MDAwMTgsICAwLCAweGZmZmZmZmZmLCAneCcsICJIV1VBUlQgTW9kZW0gU3RhdHVzIFJlZ2lzdGVyIiB9LAorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9weGFyZWdzL3B4YXJlZ3NfMS4xNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcHhhcmVncy9weGFyZWdzXzEuMTQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzBjNDFmZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcHhhcmVncy9weGFyZWdzXzEuMTQuYmIKQEAgLTAsMCArMSwyNSBAQAorU1VNTUFSWSA9ICJUb29sIHRvIGRpc3BsYXkgYW5kIG1vZGlmeSBQWEEgcmVnaXN0ZXJzIGF0IHJ1bnRpbWUiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vcHhhcmVncy5jO2VuZGxpbmU9MTI7bWQ1PTY2OGQwNjFiNzYzN2FjYzY4Y2I4MDcxYzliZTM3MmU2IgorQVVUSE9SID0gIkhvbGdlciBTY2h1cmlnIDxoczQyMzNAbWFpbC5tbi1zb2x1dGlvbnMuZGU+IgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5tbi1sb2dpc3Rpay5kZS91bnN1cHBvcnRlZC9weGEyNTAvIgorCitTUkNfVVJJID0gImZpbGU6Ly9weGFyZWdzLmMgXAorICAgICAgICAgICBmaWxlOi8vaTJjLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL211bm1hcC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9zZXJpYWwucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vdXNiLnBhdGNoICIKKworUyA9ICIke1dPUktESVJ9IgorCitkb19jb21waWxlKCkgeworICAgICR7Q0N9IHB4YXJlZ3MuYyAtbyBweGFyZWdzICR7Q0ZMQUdTfSAke0xERkxBR1N9Cit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtzYmluZGlyfS8KKyAgICBpbnN0YWxsIC1tIDA3NTUgcHhhcmVncyAke0R9JHtzYmluZGlyfS8KK30KKworU1JDX1VSSVttZDVzdW1dID0gImE0M2JhYTg4ODQyY2Q1OTI2ZGJmZmI2ZmI4NzYyNGY2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImYzMzliOTFjZDhhYjM0ODA1MmMzNmIzNmQyMDAzM2U0YmZmYzM2NjZiYzgzNmZmNzJkNTcwNGYwMjVlMWMwNTciCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3JlMmMvcmUyYy9jb25maWd1cmUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3JlMmMvcmUyYy9jb25maWd1cmUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGNhMDk2OQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcmUyYy9yZTJjL2NvbmZpZ3VyZS5wYXRjaApAQCAtMCwwICsxLDE4IEBACitNb2Rlcm5pc2UgY29uZmlndXJlIHRvIHdvcmsgd2l0aCBtb2Rlcm4gYXV0b21ha2UuCisKK1JQIDIwMTQvNy8xNAorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworSW5kZXg6IHJlMmMtMC4xMy41L2NvbmZpZ3VyZS5pbgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHJlMmMtMC4xMy41Lm9yaWcvY29uZmlndXJlLmluCTIwMDgtMDUtMjUgMTQ6NDI6MzQuMDAwMDAwMDAwICswMDAwCisrKysgcmUyYy0wLjEzLjUvY29uZmlndXJlLmluCTIwMTQtMDctMTcgMTQ6MTA6NDAuNTk1ODIxMjkyICswMDAwCitAQCAtMSw2ICsxLDYgQEAKKyBBQ19QUkVSRVEoWzIuNTddKQorIEFDX0lOSVQocmUyYywgMC4xMy41LCByZTJjLWdlbmVyYWxAbGlzdHMuc291cmNlZm9yZ2UubmV0KQorLUFNX0lOSVRfQVVUT01BS0UocmUyYywgJFBBQ0tBR0VfVkVSU0lPTikKKytBTV9JTklUX0FVVE9NQUtFKFtmb3JlaWduXSkKKyBBQ19DT05GSUdfU1JDRElSKGFjdGlvbnMuY2MpCisgQU1fQ09ORklHX0hFQURFUihjb25maWcuaCkKKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcmUyYy9yZTJjXzAuMTMuNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcmUyYy9yZTJjXzAuMTMuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kY2FjOTQwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9yZTJjL3JlMmNfMC4xMy41LmJiCkBAIC0wLDAgKzEsMTUgQEAKK1NVTU1BUlkgPSAiVG9vbCBmb3Igd3JpdGluZyB2ZXJ5IGZhc3QgYW5kIHZlcnkgZmxleGlibGUgc2Nhbm5lcnMiCitIT01FUEFHRSA9ICJodHRwOi8vcmUyYy5zb3VyY2Vmb3JnZS5uZXQvIgorQVVUSE9SID0gIk1hcmN1cyBCw7ZyZ2VyIDxoZWxseUB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+IgorU0VDVElPTiA9ICJkZXZlbCIKK0xJQ0VOU0UgPSAiUEQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9SRUFETUU7YmVnaW5saW5lPTE4MDttZDU9ODIyODMwYTIyMDRhZWYzNTNmMmM0ODlmNjJlMDIwODkiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9LyR7QlBOfS8ke0JQTn0tJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL2NvbmZpZ3VyZS5wYXRjaCIKK1NSQ19VUklbbWQ1c3VtXSA9ICI0YTk3ZDhmNzdlZDZkMmM3NmM4YmQ4NDBhNDNmNTYzMyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmM2E5OTUxMzlhZjQ3NWU4MGEzMDIwN2QwMjcyOGIxZTAwNjViMGNhYWRlNzM3NWU5NzRjYjFiMTQ4NjE2NjhjIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKKworaW5oZXJpdCBhdXRvdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcmVhZC1lZGlkL3JlYWQtZWRpZC8wMDAxLWNvbmZpZ3VyZS1yZW1vdmUtY2hlY2stZm9yLXg4Ni5oLXdlLWRvbi10LWJ1aWxkLWdldC0ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3JlYWQtZWRpZC9yZWFkLWVkaWQvMDAwMS1jb25maWd1cmUtcmVtb3ZlLWNoZWNrLWZvci14ODYuaC13ZS1kb24tdC1idWlsZC1nZXQtLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ0MDgwMDIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3JlYWQtZWRpZC9yZWFkLWVkaWQvMDAwMS1jb25maWd1cmUtcmVtb3ZlLWNoZWNrLWZvci14ODYuaC13ZS1kb24tdC1idWlsZC1nZXQtLnBhdGNoCkBAIC0wLDAgKzEsMjggQEAKK0Zyb20gZWI3NTkwY2MyY2RkNWMzNTQwM2FmNDU2N2Q4NTI0ZTAxNzAxMGYxYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtvZW4gS29vaSA8a29lbkBkb21pbmlvbi50aHJ1aGVyZS5uZXQ+CitEYXRlOiBTYXQsIDExIE1heSAyMDEzIDA3OjU4OjE3ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIGNvbmZpZ3VyZTogcmVtb3ZlIGNoZWNrIGZvciB4ODYuaCwgd2UgZG9uJ3QgYnVpbGQgZ2V0LWVkaWQKKworU2lnbmVkLW9mZi1ieTogS29lbiBLb29pIDxrb2VuQGRvbWluaW9uLnRocnVoZXJlLm5ldD4KKworVXBzdHJlYW0tc3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRSBzcGVjaWZpY10KKy0tLQorIGNvbmZpZ3VyZS5pbiB8IDIgLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5pbiBiL2NvbmZpZ3VyZS5pbgoraW5kZXggYWM4NWEyMS4uZjUzZTkwNCAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5pbgorKysrIGIvY29uZmlndXJlLmluCitAQCAtOCw4ICs4LDYgQEAgZG5sIENoZWNrcyBmb3IgcHJvZ3JhbXMKKyAKKyBBQ19QUk9HX0NDCisgCistQUNfQ0hFQ0tfSEVBREVSKFtsaWJ4ODYuaF0sIFtdLCBbQUNfTVNHX0VSUk9SKFtsaWJ4ODYuaCBub3QgZm91bmRdKV0pCistCisgZG5sIFNpbXBsZSwgaHVoPworIAorIEFDX09VVFBVVChbTWFrZWZpbGVdKQorLS0gCisxLjguMS40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcmVhZC1lZGlkL3JlYWQtZWRpZF8yLjAuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcmVhZC1lZGlkL3JlYWQtZWRpZF8yLjAuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMDAyOTA2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9yZWFkLWVkaWQvcmVhZC1lZGlkXzIuMC4wLmJiCkBAIC0wLDAgKzEsMjMgQEAKK0RFU0NSSVBUSU9OID0gInJlYWQtZWRpZCBlbHVjaWRhdGVzIHZhcmlvdXMgdmVyeSB1c2VmdWwgaW5mb3JtYXRpb25zIGZyb20gYSBjb25mb3JtaW5nIFBuUCBtb25pdG9yIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQwYmY3MGZhMWVmODFmZTQ3NDFlYzBlNjIzMWRhZGZkIgorCitTUkNfVVJJID0gImh0dHA6Ly9wb2x5cHV4Lm9yZy9wcm9qZWN0cy9yZWFkLWVkaWQvcmVhZC1lZGlkLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWNvbmZpZ3VyZS1yZW1vdmUtY2hlY2stZm9yLXg4Ni5oLXdlLWRvbi10LWJ1aWxkLWdldC0ucGF0Y2giCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI1ODZlN2ZhMTE2Nzc3M2IyN2Y0ZTUwNWVkYzkzMjc0YiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyNDZlYzE0ZWM1MDllMDlhYzI2ZmU2ODYyYjEyMDQ4MWIyY2M4ODFlMmYxNDJiYTQwODg2ZDZlZWMxNWU3N2U4IgorCitpbmhlcml0IGF1dG90b29scworCitkb19jb21waWxlKCkgeworICAgIG9lX3J1bm1ha2UgcGFyc2UtZWRpZAorfQorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSBwYXJzZS1lZGlkICR7RH0ke2JpbmRpcn0KK30KKworUEFDS0FHRVMgPSsgInBhcnNlLWVkaWQiCitGSUxFU19wYXJzZS1lZGlkID0gIiR7YmluZGlyfS9wYXJzZS1lZGlkIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9yc25hcHNob3QvcnNuYXBzaG90L2NvbmZpZ3VyZS1maXgtY21kX3JzeW5jLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9yc25hcHNob3QvcnNuYXBzaG90L2NvbmZpZ3VyZS1maXgtY21kX3JzeW5jLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY0NjZkZjQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3JzbmFwc2hvdC9yc25hcHNob3QvY29uZmlndXJlLWZpeC1jbWRfcnN5bmMucGF0Y2gKQEAgLTAsMCArMSw0NCBAQAorRnJvbSAyNmFkNDMxZTE5Nzg4ODk4ZmI0ZWQxOWZmOTEzOTJlOGIyMGYxYmFiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogV2Vuem9uZyBGYW4gPHdlbnpvbmcuZmFuQHdpbmRyaXZlci5jb20+CitEYXRlOiBUaHUsIDE2IE9jdCAyMDE0IDA0OjA2OjU1IC0wNDAwCitTdWJqZWN0OiBbUEFUQ0hdIGZpeCBjbWRfcnN5bmMKKworRG9uJ3QgYnJlYWsgY29uZmlndXJlIGlmIHJzeW5jIGlzIG5vdCBpbnN0YWxsZWQgb24gaG9zdC4KKworcnN5bmMgaXMgYSBydW50aW1lIGRlcGVuZGVuY3kgYW5kIHRoaXMgY2hhbmdlIGlzIG9ubHkgdXNlZCBmb3IKK2dlbmVyYXRpbmcgcnNuYXBzaG90LmNvbmYuZGVmYXVsdC4gSXQgYWxsb3dzIGNtZF9yc3luYyB0byB1c2UKK2RlZmF1bHQgcGF0aCBpZiBvcHRpb25zIC0td2l0aG91dC1yc3luYyBpcyBzcGVjZmllZC4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IFdlbnpvbmcgRmFuIDx3ZW56b25nLmZhbkB3aW5kcml2ZXIuY29tPgorLS0tCisgY29uZmlndXJlLmFjIHwgICAgNSArKystLQorIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IGJjOWRmOWUuLjJhMzNkMjkgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTU1LDcgKzU1LDcgQEAgQUNfQVJHX1dJVEgocnN5bmMsCisgCQkJCUFDX01TR19FUlJPUihyc3luYyBub3QgZm91bmQpCisgCQkJZmkKKyAJCWVsc2UKKy0JCQlBQ19NU0dfRVJST1IocnN5bmMgaXMgcmVxdWlyZWQpCisrCQkJUlNZTkM9bm8KKyAJCWZpCisgCV0KKyApCitAQCAtNjcsNyArNjcsOCBAQCBpZiB0ZXN0ICIkUlNZTkMiID0gIiI7IHRoZW4KKyBmaQorIGRubCBiYWlsIG91dCBpZiB3ZSBjYW4ndCBmaW5kIGl0CisgaWYgdGVzdCAiJFJTWU5DIiA9ICJubyI7IHRoZW4KKy0JQUNfTVNHX0VSUk9SKHJzeW5jIGlzIHJlcXVpcmVkKQorKwlSU1lOQz0ke2JpbmRpcn0vcnN5bmMKKysJQUNfU1VCU1QoQ01EX1JTWU5DLCAiY21kX3JzeW5jICAkUlNZTkMiKQorIGZpCisgCisgCistLSAKKzEuNy45LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9yc25hcHNob3QvcnNuYXBzaG90X2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcnNuYXBzaG90L3JzbmFwc2hvdF9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDY4MDUxMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcnNuYXBzaG90L3JzbmFwc2hvdF9naXQuYmIKQEAgLTAsMCArMSw0MyBAQAorU1VNTUFSWSA9ICJBIGZpbGVzeXN0ZW0gc25hcHNob3QgdXRpbGl0eSBiYXNlZCBvbiByc3luYyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cucnNuYXBzaG90Lm9yZyIKK0JVR1RSQUNLRVIgPSAiaHR0cHM6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvcnNuYXBzaG90LyIKK1NFQ1RJT04gPSAiY29uc29sZS9uZXR3b3JrIgorCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ODkyZjU2OWE1NTViYTljMDdhNTY4YTdjMGM0ZmE2M2EiCisKK1JERVBFTkRTXyR7UE59ID0gInJzeW5jIFwKKyAgICAgICAgICAgICAgICAgIHBlcmwgXAorICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtZGlyaGFuZGxlIFwKKyAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWN3ZCBcCisgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1nZXRvcHQtc3RkIFwKKyAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWZpbGUtcGF0aCBcCisgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1maWxlLXN0YXQgXAorICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtcG9zaXggXAorICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtZmNudGwgXAorICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtaW8tZmlsZSBcCisgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1jb25zdGFudCBcCisgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1vdmVybG9hZGluZyBcCisgICAgICAgICAgICAgICAgICIKKworU1JDUkVWID0gIjEwNDdjYmI1NzkzN2MyOTIzMzM4OGUyZmNkODQ3ZmVjZDNiYWJlNzQiCitQViA9ICIxLjMuMStnaXQke1NSQ1BWfSIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL0RySHlkZS8ke0JQTn07YnJhbmNoPW1hc3Rlcjtwcm90b2NvbD1naXQgXAorICAgICAgICAgICBmaWxlOi8vY29uZmlndXJlLWZpeC1jbWRfcnN5bmMucGF0Y2ggXAorICAgICAgICAgICIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworIyBGaXggcnNuYXBzaG90LmNvbmYuZGVmYXVsdDoKKyMgZG9uJ3QgaW5qZWN0IHRoZSBob3N0IHBhdGggaW50byB0YXJnZXQgY29uZmlncy4KK0VYVFJBX09FQ09ORiArPSAiLS13aXRob3V0LWNwIFwKKyAgICAgICAgICAgICAgICAgLS13aXRob3V0LXJtIFwKKyAgICAgICAgICAgICAgICAgLS13aXRob3V0LWR1IFwKKyAgICAgICAgICAgICAgICAgLS13aXRob3V0LXNzaCBcCisgICAgICAgICAgICAgICAgIC0td2l0aG91dC1sb2dnZXIgXAorICAgICAgICAgICAgICAgICAtLXdpdGhvdXQtcnN5bmMgXAorICAgICAgICAgICAgICAgICBhY19jdl9wYXRoX1BFUkw9JHtiaW5kaXJ9L3BlcmwgXAorICAgICAgICAgICAgICAgICIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2Ftc3VuZy1zb2MtdXRpbHMvczNjMjR4eC1ncGlvX3N2bi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2Ftc3VuZy1zb2MtdXRpbHMvczNjMjR4eC1ncGlvX3N2bi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wODJkYzAwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zYW1zdW5nLXNvYy11dGlscy9zM2MyNHh4LWdwaW9fc3ZuLmJiCkBAIC0wLDAgKzEsMjIgQEAKK1NVTU1BUlkgPSAiQSB1c2VyLXNwYWNlIHRvb2wgdG8gc2hvdyBhbmQgbW9kaWZ5IHRoZSBzdGF0ZSBvZiBHUElPcyBvbiB0aGUgUzNjMjR4eCBwbGF0Zm9ybSIKK1NFQ1RJT04gPSAiY29uc29sZS91dGlscyIKK0FVVEhPUiA9ICJXZXJuZXIgQWxtZXNiZXJnZXIgPHdlcm5lckBvcGVubW9rby5vcmc+IgorTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9ncGlvLmM7ZW5kbGluZT0xMjttZDU9Y2ZiOTFjNjg2ODU3YjJlNjA4NTJiNDkyNWQ5MGEzZTEiCitTUkNSRVYgPSAiNDk0OSIKK1BWID0gIjEuMCtzdm5yJHtTUkNQVn0iCitQUiA9ICJyMiIKKworU1JDX1VSSSA9ICJzdm46Ly9zdm4ub3Blbm1va28ub3JnL3RydW5rL3NyYy90YXJnZXQ7bW9kdWxlPWdwaW87cHJvdG9jb2w9aHR0cCIKK1MgPSAiJHtXT1JLRElSfS9ncGlvIgorCitDTEVBTkJST0tFTiA9ICIxIgorCitkb19jb21waWxlKCkgeworICAgICR7Q0N9ICR7Q0ZMQUdTfSAke0xERkxBR1N9IC1zdGF0aWMgLW8gJHtQTn0gZ3Bpby5jCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtzYmluZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSAke1BOfSAke0R9JHtzYmluZGlyfQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zYW1zdW5nLXNvYy11dGlscy9zM2M2NHh4LWdwaW9fc3ZuLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zYW1zdW5nLXNvYy11dGlscy9zM2M2NHh4LWdwaW9fc3ZuLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJlZDA1NTUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NhbXN1bmctc29jLXV0aWxzL3MzYzY0eHgtZ3Bpb19zdm4uYmIKQEAgLTAsMCArMSwyMSBAQAorU1VNTUFSWSA9ICJBIHVzZXItc3BhY2UgdG9vbCB0byBzaG93IGFuZCBtb2RpZnkgdGhlIHN0YXRlIG9mIEdQSU9zIG9uIHRoZSBTM2M2NHh4IHBsYXRmb3JtIgorU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgorQVVUSE9SID0gIldlcm5lciBBbG1lc2JlcmdlciA8d2VybmVyQG9wZW5tb2tvLm9yZz4iCitMSUNFTlNFID0gIkdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2dwaW8tczNjNjQxMC5jO2VuZGxpbmU9MTI7bWQ1PTA2MGNkYTFiZTk0NWFkOTE5NDU5M2YxMWQ1NmQ1NWM3IgorU1JDUkVWID0gIjQ5NDkiCitQViA9ICIxLjArc3ZuciR7U1JDUFZ9IgorCitTUkNfVVJJID0gInN2bjovL3N2bi5vcGVubW9rby5vcmcvdHJ1bmsvc3JjL3RhcmdldDttb2R1bGU9Z3Bpbztwcm90b2NvbD1odHRwIgorUyA9ICIke1dPUktESVJ9L2dwaW8iCisKK0NMRUFOQlJPS0VOID0gIjEiCisKK2RvX2NvbXBpbGUoKSB7CisgICAgJHtDQ30gJHtDRkxBR1N9ICR7TERGTEFHU30gLXN0YXRpYyAtbyAke1BOfSBncGlvLXMzYzY0MTAuYworfQorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7c2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtQTn0gJHtEfSR7c2JpbmRpcn0KK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2Ftc3VuZy1zb2MtdXRpbHMvc2pmMjQxMC1saW51eC1uYXRpdmVfc3ZuLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zYW1zdW5nLXNvYy11dGlscy9zamYyNDEwLWxpbnV4LW5hdGl2ZV9zdm4uYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmQ1OTM1ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2Ftc3VuZy1zb2MtdXRpbHMvc2pmMjQxMC1saW51eC1uYXRpdmVfc3ZuLmJiCkBAIC0wLDAgKzEsMzIgQEAKK1NVTU1BUlkgPSAiSlRBRyB1dGlsaXR5IHRvIGludGVyZmFjZSB3LyBhIFMzQzI0MTAgZGV2aWNlIgorU0VDVElPTiA9ICJkZXZlbCIKK0FVVEhPUiA9ICJIYXJhbGQgV2VsdGUgPGxhZm9yZ2VAb3Blbm1va28ub3JnPiIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vcGFycG9ydC5jO2VuZGxpbmU9MTk7bWQ1PWI1NjgxMDkxYjBmZDhjNWY3MDY4ODM1YzQ0MWJmMGM4IgorU1JDUkVWID0gIjQyNjgiCitQViA9ICIwLjErc3ZuciR7U1JDUFZ9IgorUFIgPSAicjEiCisKK1NSQ19VUkkgPSAic3ZuOi8vc3ZuLm9wZW5tb2tvLm9yZy90cnVuay9zcmMvaG9zdC87bW9kdWxlPXNqZjI0MTAtbGludXg7cHJvdG9jb2w9aHR0cCIKK1MgPSAiJHtXT1JLRElSfS9zamYyNDEwLWxpbnV4IgorCitpbmhlcml0IG5hdGl2ZSBkZXBsb3kKK2RvX2RlcGxveVtzc3RhdGUtb3V0cHV0ZGlyc10gPSAiJHtERVBMT1lfRElSX1RPT0xTfSIKKworQ0ZMQUdTICs9ICItRExJTlVYX1BQREVWIgorCitkb19jb21waWxlKCkgeworICAgIG9lX3J1bm1ha2UKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtbSAwNzU1IHNqZjI0MTAgJHtEfS8ke2JpbmRpcn0KK30KKworZG9fZGVwbG95KCkgeworICAgIGluc3RhbGwgLWQgJHtERVBMT1lfRElSX1RPT0xTfQorICAgIGluc3RhbGwgLW0gMDc1NSBzamYyNDEwICR7REVQTE9ZX0RJUl9UT09MU30vc2pmMjQxMC0ke1BWfQorfQorCithZGR0YXNrIGRlcGxveSBiZWZvcmUgZG9fYnVpbGQgYWZ0ZXIgZG9faW5zdGFsbApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zZHBhcm0vZmlsZXMvbWFrZS1zeXNyb290LXdvcmsucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NkcGFybS9maWxlcy9tYWtlLXN5c3Jvb3Qtd29yay5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NDA1ZWQ4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zZHBhcm0vZmlsZXMvbWFrZS1zeXNyb290LXdvcmsucGF0Y2gKQEAgLTAsMCArMSwyNyBAQAorW1BBVENIXSBtYWtlIHN5c3Jvb3Qgd29yaworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworQWRkID0gYmVmb3JlIHRoZSBpbmNsdWRlZCBkaXIgdG8gbWFrZSBzeXNyb290IHdvcmsKKworU2lnbmVkLW9mZi1ieTogUm95LkxpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgorLS0tCisgc3JjL01ha2VmaWxlLmFtIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvc3JjL01ha2VmaWxlLmFtIGIvc3JjL01ha2VmaWxlLmFtCitpbmRleCBjODM3ODhjLi45ZjYyMTE1IDEwMDY0NAorLS0tIGEvc3JjL01ha2VmaWxlLmFtCisrKysgYi9zcmMvTWFrZWZpbGUuYW0KK0BAIC0zMiw3ICszMiw3IEBAIHNnbGliX1NPVVJDRVMgPQkJLi4vbGliL3NnX2xpYi5jIFwKKyAJCQkuLi9saWIvc2dfcHRfY29tbW9uLmMKKyAKKyBpZiBIQVZFX1NHVVRJTFMKKy1JTkNMVURFUyA9IC1JL3Vzci9pbmNsdWRlL3Njc2kKKytJTkNMVURFUyA9IC1JPUBpbmNsdWRlZGlyQC9zY3NpCisgc2RwYXJtX0xEQUREID0gQEdFVE9QVF9PX0ZJTEVTQCBAb3NfbGlic0AgQFNHVVRJTFNfTElCU0AKKyBzZHBhcm1fREVQRU5ERU5DSUVTID0gQEdFVE9QVF9PX0ZJTEVTQAorIGVsc2UKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zZHBhcm0vc2RwYXJtXzEuMDkuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NkcGFybS9zZHBhcm1fMS4wOS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYTExY2E0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zZHBhcm0vc2RwYXJtXzEuMDkuYmIKQEAgLTAsMCArMSwyMyBAQAorU1VNTUFSWSA9ICJmZXRjaCBhbmQgY2hhbmdlIFNDU0kgbW9kZSBwYWdlcyIKK0RFU0NSSVBUSU9OID0gIlRoZSBzZHBhcm0gdXRpbGl0eSBhY2Nlc3NlcyBhbmQgb3B0aW9uYWxseSBtb2RpZmllcyBcCitTQ1NJIGRldmljZXMnIG1vZGUgcGFnZSBhbmQgaW5xdWlyeSBkYXRhLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9zZy5kYW5ueS5jei9zZy9zZHBhcm0uaHRtbCIKK1NFQ1RJT04gPSAiY29uc29sZS91dGlscyIKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZWNhYjZjMzZiN2JhODJjNjc1NTgxZGQwYWZkZTM2ZjcgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vbGliL0JTRF9MSUNFTlNFO21kNT0xZDUyZjRhNjZmMWUwZWQ5Njc3NmJmMzU0YWI3YTJlZCIKK0RFUEVORFM9InNnMy11dGlscyIKK1NSQ19VUkkgPSAiaHR0cDovL3NnLmRhbm55LmN6L3NnL3AvJHtCUE59LSR7UFZ9LnRneiBcCisgICAgICAgICAgIGZpbGU6Ly9tYWtlLXN5c3Jvb3Qtd29yay5wYXRjaCBcCisgICAgICAgICAgICIKKworUEFDS0FHRVMgPSsgIiR7UE59LXNjcmlwdHMiCitSREVQRU5EU18ke1BOfS1zY3JpcHRzICs9ICJiYXNoICR7UE59IgorCitTUkNfVVJJW21kNXN1bV0gPSAiZTUxYjFmZDQxYzNlNGM5ZDEyNzRhMmU0ZjA0NmVlYmYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNzI5NGY0NDE3M2FjMDk0NmYxZGU4YWYwMmIxYmRiMGJkNjQ4MDc5MjQ1Mzk2NTg5Mzk3YTJiMGQzYWJjNDJkMyIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworIyBQdXQgdGhlIGJhc2ggc2NyaXB0cyB0byAke1BOfS1zY3JpcHRzCitGSUxFU18ke1BOfS1zY3JpcHRzID0gIiR7YmluZGlyfS9zYXNfZGlza19ibGluayAke2JpbmRpcn0vc2NzaV9jaF9zd3AiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NlcmlhbC11dGlscy9wdHktZm9yd2FyZC1uYXRpdmUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NlcmlhbC11dGlscy9wdHktZm9yd2FyZC1uYXRpdmUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2Y1OWIzZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2VyaWFsLXV0aWxzL3B0eS1mb3J3YXJkLW5hdGl2ZS5iYgpAQCAtMCwwICsxLDIwIEBACitTVU1NQVJZID0gIlJlY2VpdmUgYSBmb3J3YXJkZWQgc2VyaWFsIGZyb20gc2VyaWFsLWZvcndhcmQgYW5kIHByb3ZpZGUgYSBQVFkiCitBVVRIT1IgPSAiSG9sZ2VyICdaZWNrZScgRnJleXRoZXIiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZWJiNWM1MGFiN2NhYjRiYWVmZmJhMTQ5NzcwMzBjMDciCitTRUNUSU9OID0gImNvbnNvbGUvbmV0d29yayIKK1NSQ1JFViA9ICIwMGRiZWMyNjM2YWUwMzg1YWQwMjg1ODdlMjBlNDQ2MjcyZmY5N2VjIgorUFYgPSAiMS4xK2dpdHIke1NSQ1BWfSIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2ZyZWVzbWFydHBob25lL2Nvcm51Y29waWEuZ2l0O3Byb3RvY29sPWh0dHBzIgorUyA9ICIke1dPUktESVJ9L2dpdC90b29scy9zZXJpYWxfZm9yd2FyZCIKKworaW5oZXJpdCBhdXRvdG9vbHMgbmF0aXZlCisKK2RvX2RlcGxveVtzc3RhdGUtb3V0cHV0ZGlyc10gPSAiJHtERVBMT1lfRElSX0lNQUdFfSIKK2RvX2RlcGxveSgpIHsKKyAgICBpbnN0YWxsIC1kICR7REVQTE9ZX0RJUl9JTUFHRX0KKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtCfS9zcmMvcHR5X2ZvcndhcmQgJHtERVBMT1lfRElSX0lNQUdFfS9wdHktZm9yd2FyZAorfQorCithZGR0YXNrIGRlcGxveSBiZWZvcmUgZG9fcGFja2FnZSBhZnRlciBkb19pbnN0YWxsCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NlcmlhbC11dGlscy9zZXJpYWwtZm9yd2FyZF9naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NlcmlhbC11dGlscy9zZXJpYWwtZm9yd2FyZF9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjQ5NGRlOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2VyaWFsLXV0aWxzL3NlcmlhbC1mb3J3YXJkX2dpdC5iYgpAQCAtMCwwICsxLDEyIEBACitTVU1NQVJZID0gIkZvcndhcmQgYSBzZXJpYWwgdXNpbmcgVENQL0lQIgorQVVUSE9SID0gIkhvbGdlciAnWmVja2UnIEZyZXl0aGVyJyIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1lYmI1YzUwYWI3Y2FiNGJhZWZmYmExNDk3NzAzMGMwNyIKK1NFQ1RJT04gPSAiY29uc29sZS9kZXZlbCIKK1NSQ1JFViA9ICIwMGRiZWMyNjM2YWUwMzg1YWQwMjg1ODdlMjBlNDQ2MjcyZmY5N2VjIgorUFYgPSAiMS4xK2dpdHIke1NSQ1BWfSIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2ZyZWVzbWFydHBob25lL2Nvcm51Y29waWEuZ2l0IgorUyA9ICIke1dPUktESVJ9L2dpdC90b29scy9zZXJpYWxfZm9yd2FyZCIKKworaW5oZXJpdCBhdXRvdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2czLXV0aWxzL3NnMy11dGlsc18xLjQxLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zZzMtdXRpbHMvc2czLXV0aWxzXzEuNDEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjEyNTBmYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2czLXV0aWxzL3NnMy11dGlsc18xLjQxLmJiCkBAIC0wLDAgKzEsMjAgQEAKK1NVTU1BUlkgPSAiVXRpbGl0aWVzIGZvciB3b3JraW5nIHdpdGggZ2VuZXJpYyBTQ1NJIGRldmljZXMiCisKK0RFU0NSSVBUSU9OID0gIlRoaXMgcGFja2FnZSBjb250YWlucyBsb3cgbGV2ZWwgdXRpbGl0aWVzIGZvciBkZXZpY2VzIHRoYXQgdXNlIHRoZSBTQ1NJIGNvbW1hbmQgc2V0IgorCitIT01FUEFHRSA9ICJodHRwOi8vc2cuZGFubnkuY3ovc2cvc2czX3V0aWxzLmh0bWwiCitTRUNUSU9OID0gImNvbnNvbGUvYWRtaW4iCisKK0xJQ0VOU0UgPSAiR1BMdjIrICYgQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZjkwZGE3ZmM1MjE3MjU5OWRiZjA4MmQ3NjIwZjE4Y2EiCisKK1NSQ19VUkkgPSAiaHR0cDovL3NnLmRhbm55LmN6L3NnL3Avc2czX3V0aWxzLSR7UFZ9LnRneiIKKworU1JDX1VSSVttZDVzdW1dID0gIjg2ZWJlMzg4MTUzNWVlNWM0OGY4MWJlNWJlNDRiMzYyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImM0ZTI4OTNjMzZkZjFlZTViMDc4NDBhYjdjMjIxMjk1NDRmNWRjOGE1NWY3Y2M4ODE1YzljZDhlNDRlYzMxYzAiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcAorCitTID0gIiR7V09SS0RJUn0vc2czX3V0aWxzLSR7UFZ9IgorCitSREVQRU5EU18ke1BOfSArPSAiYmFzaCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2hhcnV0aWxzL3NoYXJ1dGlscy00LjE0L2ZpeC1mb3ItY3Jvc3MtY29tcGlsaW5nLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zaGFydXRpbHMvc2hhcnV0aWxzLTQuMTQvZml4LWZvci1jcm9zcy1jb21waWxpbmcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODZhN2RhNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2hhcnV0aWxzL3NoYXJ1dGlscy00LjE0L2ZpeC1mb3ItY3Jvc3MtY29tcGlsaW5nLnBhdGNoCkBAIC0wLDAgKzEsMjkgQEAKK0Zyb20gOTkwMjM0YWY4NGE1Mzk5MDE3ZDFjNGZlMDNjNWM3NTZhOGU1MWUyMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEhvbmdqdW4gWWFuZyA8SG9uZ2p1bi5ZYW5nQHdpbmRyaXZlci5jb20+CitEYXRlOiBUdWUsIDIwIEF1ZyAyMDEzIDA5OjQxOjQzICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIGZpeCBjcm9zcyBjb21waWxpbmcgaXNzdWUKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEhvbmdqdW4uWWFuZyA8aG9uZ2p1bi55YW5nQHdpbmRyaXZlci5jb20+CisKKy0tLQorIGNvbmZpZ3VyZSB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZSBiL2NvbmZpZ3VyZQoraW5kZXggNmVlOThlMC4uODA2N2Y1NCAxMDA3NTUKKy0tLSBhL2NvbmZpZ3VyZQorKysrIGIvY29uZmlndXJlCitAQCAtMjY5NjUsNyArMjY5NjUsNyBAQCBmaQorIGlmIHRlc3QgIiRjcm9zc19jb21waWxpbmciID0geWVzOyB0aGVuIDoKKyAgIHsgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBlcnJvcjogaW4gXGAkYWNfcHdkJzoiID4mNQorICRhc19lY2hvICIkYXNfbWU6IGVycm9yOiBpbiBcYCRhY19wd2QnOiIgPiYyO30KKy1hc19mbl9lcnJvciAkPyAiY2Fubm90IHJ1biB0ZXN0IHByb2dyYW0gd2hpbGUgY3Jvc3MgY29tcGlsaW5nCisrJGFzX2VjaG8gImNhbm5vdCBydW4gdGVzdCBwcm9ncmFtIHdoaWxlIGNyb3NzIGNvbXBpbGluZworIFNlZSBcYGNvbmZpZy5sb2cnIGZvciBtb3JlIGRldGFpbHMiICIkTElORU5PIiA1OyB9CisgZWxzZQorICAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAorLS0gCisxLjguMS40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2hhcnV0aWxzL3NoYXJ1dGlsc180LjE0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zaGFydXRpbHMvc2hhcnV0aWxzXzQuMTQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDk5ODFlNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2hhcnV0aWxzL3NoYXJ1dGlsc180LjE0LmJiCkBAIC0wLDAgKzEsMTggQEAKK1NVTU1BUlkgPSAiVGhpcyBpcyB0aGUgc2V0IG9mIEdOVSBzaGFyIHV0aWxpdGllcy4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvc2hhcnV0aWxzLyIKK1NFQ1RJT04gPSAiY29uc29sZS91dGlscyIKK0xJQ0VOU0U9IkdQTHYzKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgorCitpbmhlcml0IGdldHRleHQgYXV0b3Rvb2xzLWJyb2tlbnNlcAorCitTUkNfVVJJID0gImZ0cDovL2Z0cC5nbnUub3JnL2dudS9zaGFydXRpbHMvc2hhcnV0aWxzLTQuMTQudGFyLmd6IFwKKwkgICBmaWxlOi8vZml4LWZvci1jcm9zcy1jb21waWxpbmcucGF0Y2ggXAorCSAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNTY4NmMxMTEzMWI0YzRjMDg0MWY4ZjNlZjM0ZDEzNmEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTBmNTEwN2MxNjdjZmQxYjI5OWJiMjExODI4ZDI1ODY0NzEwODc4NjNkYmVkNjk4ZjUzMTA5Y2Q1ZjcxNzIwOCIKKworZG9fY29uZmlndXJlICgpIHsKKwlvZV9ydW5jb25mCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NtZW0vc21lbV8xLjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NtZW0vc21lbV8xLjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTE5MDIwZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc21lbS9zbWVtXzEuNC5iYgpAQCAtMCwwICsxLDI3IEBACitTVU1NQVJZID0gIlJlcG9ydCBhcHBsaWNhdGlvbiBtZW1vcnkgdXNhZ2UgaW4gYSBtZWFuaW5nZnVsIHdheSIKK0RFU0NSSVBUSU9OID0gInNtZW0gaXMgYSB0b29sIHRoYXQgY2FuIGdpdmUgbnVtZXJvdXMgcmVwb3J0cyBvbiBtZW1vcnkgdXNhZ2Ugb24gTGludXggXAorc3lzdGVtcy4gVW5saWtlIGV4aXN0aW5nIHRvb2xzLCBzbWVtIGNhbiByZXBvcnQgcHJvcG9ydGlvbmFsIHNldCBzaXplIChQU1MpLCBcCit3aGljaCBpcyBhIG1vcmUgbWVhbmluZ2Z1bCByZXByZXNlbnRhdGlvbiBvZiB0aGUgYW1vdW50IG9mIG1lbW9yeSB1c2VkIGJ5IFwKK2xpYnJhcmllcyBhbmQgYXBwbGljYXRpb25zIGluIGEgdmlydHVhbCBtZW1vcnkgc3lzdGVtLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuc2VsZW5pYy5jb20vc21lbS8iCitTRUNUSU9OID0gIkFwcGxpY2F0aW9ucy9TeXN0ZW0iCisKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5zZWxlbmljLmNvbS8ke0JQTn0vZG93bmxvYWQvJHtCUH0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gImZlNzk0MzVjMzkzMDM4OWJmZGI1NjAyNTVjODAyMTYyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjJlYTlmODc4ZjRjZjNjMjc2Nzc0YzNmN2UyYTQxOTc3YTFmMmQ2NGY5OGQyZGNiNmExNWYxZjNkODRkZjYxZWMiCisKK2RvX2NvbXBpbGUoKSB7CisgICAgICAgICR7Q0N9ICR7Q0ZMQUdTfSAke0xERkxBR1N9IHNtZW1jYXAuYyAtbyBzbWVtY2FwCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgICAgIGluc3RhbGwgLWQgJHtEfS8ke2JpbmRpcn0vCisgICAgICAgIGluc3RhbGwgLWQgJHtEfS8ke21hbmRpcn0vbWFuOAorICAgICAgICBpbnN0YWxsIC1tIDA3NTUgJHtTfS9zbWVtICR7RH0ke2JpbmRpcn0vCisgICAgICAgIGluc3RhbGwgLW0gMDc1NSAke1N9L3NtZW1jYXAgJHtEfSR7YmluZGlyfS8KKyAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vc21lbS44ICR7RH0vJHttYW5kaXJ9L21hbjgvCit9CitSREVQRU5EU18ke1BOfSArPSAicHl0aG9uLXRleHR1dGlscyBweXRob24tY29tcHJlc3Npb24gcHl0aG9uLXNoZWxsIHB5dGhvbi1jb2RlY3MiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NvY2kvc29jaS9zb2NpX2xpYmRpci5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc29jaS9zb2NpL3NvY2lfbGliZGlyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAwYTFhNWMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NvY2kvc29jaS9zb2NpX2xpYmRpci5wYXRjaApAQCAtMCwwICsxLDI4IEBACitEZWZpbmUgU09DSV9MSUJESVIgb25seSBpZiBpdHMgbm90IHBhc3NlZCB2aWEgZW52aXJvbmVtbnQuIEluIE9FIHdlCit3YW50IHRvIHNldCBpdCBwZXIgb3VyIGNob2ljZSBzaW5jZSB3ZSB1c2UgJ2xpYicgZm9yIDY0Yml0IHVubGVzcyB3ZQorYXJlIHVzaW5nIG11bHRpbGliCisKKy1LaGVtCisKK0luZGV4OiBzb2NpLTMuMi4yL0NNYWtlTGlzdHMudHh0Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gc29jaS0zLjIuMi5vcmlnL0NNYWtlTGlzdHMudHh0CisrKysgc29jaS0zLjIuMi9DTWFrZUxpc3RzLnR4dAorQEAgLTY5LDExICs2OSwxMiBAQCBpbmNsdWRlKFNvY2lEZXBlbmRlbmNpZXMpCisgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworICMgSW5zdGFsbGF0aW9uCisgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworLQorLWlmKEFQUExFIE9SIENNQUtFX1NJWkVPRl9WT0lEX1AgRVFVQUwgNCkKKy0gIHNldChTT0NJX0xJQkRJUiAibGliIikKKy1lbHNlKCkKKy0gIHNldChTT0NJX0xJQkRJUiAibGliNjQiKQorK2lmKE5PVCBERUZJTkVEIFNPQ0lfTElCRElSKQorKyAgaWYoQVBQTEUgT1IgQ01BS0VfU0laRU9GX1ZPSURfUCBFUVVBTCA0KQorKyAgICBzZXQoU09DSV9MSUJESVIgImxpYiIpCisrICBlbHNlKCkKKysgICAgc2V0KFNPQ0lfTElCRElSICJsaWIiKQorKyAgZW5kaWYoKQorIGVuZGlmKCkKKyAKKyBzZXQoQklORElSICJiaW4iIENBQ0hFIFBBVEggIlRoZSBkaXJlY3RvcnkgdG8gaW5zdGFsbCBiaW5hcmllcyBpbnRvLiIpCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NvY2kvc29jaV8zLjIuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc29jaS9zb2NpXzMuMi4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFmNWE0ODUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NvY2kvc29jaV8zLjIuMi5iYgpAQCAtMCwwICsxLDQ5IEBACisjIENvcHlyaWdodCAoQykgMjAxNSBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBDT1BZSU5HLk1JVCBmb3IgdGhlIHRlcm1zKQorCitERVNDUklQVElPTiA9ICJUaGUgQysrIERhdGFiYXNlIEFjY2VzcyBMaWJyYXJ5IgorSE9NRVBBR0UgPSAiaHR0cDovL3NvY2kuc291cmNlZm9yZ2UubmV0IgorTElDRU5TRSA9ICJCU0wtMS4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRV8xXzAudHh0O21kNT1lNDIyNGNjYWVjYjE0ZDk0MmM3MWQzMWJlZjIwZDc4YyIKK1NFQ1RJT04gPSAibGlicyIKK0RFUEVORFMgPSAiYm9vc3QiCisKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vcHJvamVjdC8ke0JQTn0vJHtCUE59LyR7QlB9LyR7QlB9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9zb2NpX2xpYmRpci5wYXRjaCBcCisgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gImJjM2MzNWY2Y2QzZjgwYTFiZTE5ZmUzMGIzYzExMWJmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjMwZWEyZjRkMjY2MzllZjViNWNkYzI0ZmIzMDBiMzg5Njc0NjI0M2RiYjc3Yjc0MzU4MmRlMmZmNDQzY2NiMWMiCisKK1RFU1RDT05GSUcgPSAnLURTT0NJX1RFU1RfRU1QVFlfQ09OTlNUUj0iZHVtbXkiIC1EU09DSV9URVNUX1NRTElURTNfQ09OTlNUUj0idGVzdC5kYiIgXAorICAgICAgICAgICAgICAtRFNPQ0lfVEVTVF9QT1NUR1JFU1FMX0NPTk5TVFI6U1RSSU5HPSJkYm5hbWU9c29jaV90ZXN0IiBcCisgICAgICAgICAgICAgIC1EU09DSV9URVNUX01ZU1FMX0NPTk5TVFI6U1RSSU5HPSJkYj1zb2NpX3Rlc3QgdXNlcj1vZSBwYXNzd29yZD1vZSInCisKK09CQVNFRElSID89ICIvb3B0L29yYWNsZSIKK09JTkNESVIgPSAicmRibXMvcHVibGljIgorT0xJQkRJUiA9ICJsaWIiCisKK1BBQ0tBR0VDT05GSUdbc3FsaXRlM10gPSAiLURTT0NJX1NRTElURTM9T04sLURTT0NJX1NRTElURTM9T0ZGLHNxbGl0ZTMsIgorUEFDS0FHRUNPTkZJR1tteXNxbF0gPSAiLURTT0NJX01ZU1FMPU9OLC1EU09DSV9NWVNRTD1PRkYsbWFyaWFkYiwiCitQQUNLQUdFQ09ORklHW3Bvc3RncmVzcWxdID0gIi1EU09DSV9QT1NUR1JFU1FMPU9OLC1EU09DSV9QT1NUR1JFU1FMPU9GRixwb3N0Z3Jlc3FsLCIKK1BBQ0tBR0VDT05GSUdbb2RiY10gPSAiLURTT0NJX09EQkM9T04sLURTT0NJX09EQkM9T0ZGLCwiCitQQUNLQUdFQ09ORklHW2VtcHR5XSA9ICItRFNPQ0lfRU1QVFk9T04sLURTT0NJX0VNUFRZPU9GRiwsIgorUEFDS0FHRUNPTkZJR1tvcmFjbGVdID0gIi1EV0lUSF9PUkFDTEU9T04gLS13aXRoLW9yYWNsZS1pbmNsdWRlPSR7T0lOQ0RJUn0gLS13aXRoLW9yYWNsZS1saWI9JHtPTElCRElSfSwtRFdJVEhfT1JBQ0xFPU9GRiwsIgorUEFDS0FHRUNPTkZJR1twdGVzdF0gPSAiJHtURVNUQ09ORklHfSwsLCIKKworIyBlbmFibGUgeW91ciBiYWNrZW5kIGJ5IGRlZmF1bHQgd2UgZW5hYmxlICdlbXB0eScKK1BBQ0tBR0VDT05GSUcgPz89ICJlbXB0eSIKKworIyBUYWtlIHRoZSBmbGFncyBhZGRlZCBieSBQQUNLQUdFQ09ORklHIGFuZCBwYXNzIHRoZW0gdG8gY21ha2UuCitFWFRSQV9PRUNNQUtFID0gIiR7RVhUUkFfT0VDT05GfSAtRFNPQ0lfTElCRElSPSR7bGliZGlyfSIKK0RJU0FCTEVfU1RBVElDID0gIiIKKworaW5oZXJpdCBjbWFrZQorCitQQUNLQUdFUyArPSAiJHtQTn0tc3FsaXRlMyAke1BOfS1teXNxbCAke1BOfS1wb3N0Z3Jlc3FsICR7UE59LW9kYmMgJHtQTn0tb3JhY2xlIgorCitGSUxFU18ke1BOfS1zcWxpdGUzID0gIiR7bGliZGlyfS9saWIke0JQTn1fc3FsaXRlMy5zby4qIgorRklMRVNfJHtQTn0tbXlzcWwgPSAiJHtsaWJkaXJ9L2xpYiR7QlBOfV9teXNxbC5zby4qIgorRklMRVNfJHtQTn0tcG9zdGdyZXNxbCA9ICIke2xpYmRpcn0vbGliJHtCUE59X3Bvc3RncmVzcWwuc28uKiIKK0ZJTEVTXyR7UE59LW9kYmMgPSAiJHtsaWJkaXJ9L2xpYiR7QlBOfV9vZGJjLnNvLioiCitGSUxFU18ke1BOfS1vcmFjbGUgPSAiJHtsaWJkaXJ9L2xpYiR7QlBOfV9vcmFjbGUuc28uKiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3BpdG9vbHMvc3BpdG9vbHNfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zcGl0b29scy9zcGl0b29sc19naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWRiNjdjZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3BpdG9vbHMvc3BpdG9vbHNfZ2l0LmJiCkBAIC0wLDAgKzEsMTQgQEAKK0RFU0NSSVBUSU9OID0gIlRoaXMgcGFja2FnZSBjb250YWlucyBzb21lIHNpbXBsZSBjb21tYW5kIGxpbmUgdG9vbHMgdG8gaGVscCB1c2luZyBMaW51eCBzcGlkZXYgZGV2aWNlcyIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9jcGItL3NwaS10b29scyIKK0FVVEhPUiA9ICJDaHJpc3RvcGhlIEJMQUVTUyIKK0xJQ0VOU0U9IkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9OGMxNjY2NmFlNmMxNTk4NzZhMGJhNjMwOTk2MTQzODEiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9jcGItL3NwaS10b29scy5naXQ7cHJvdG9jb2w9Z2l0IgorCitTUkNSRVYgPSAiY2M2YTQxZmRjZWM2MDYxMDcwM2JhNmRiNDg4YzYyMWM2NDk1Mjg5OCIKKworaW5oZXJpdCBhdXRvdG9vbHMKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zcWxpdGUvc3FsaXRlLTIuOC4xNy9tYWlubWtfYnVpbGRfZHluYW1pYy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3FsaXRlL3NxbGl0ZS0yLjguMTcvbWFpbm1rX2J1aWxkX2R5bmFtaWMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTE0NDIyZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3FsaXRlL3NxbGl0ZS0yLjguMTcvbWFpbm1rX2J1aWxkX2R5bmFtaWMucGF0Y2gKQEAgLTAsMCArMSwzMiBAQAorZGlmZiAtdXJOIHNxbGl0ZS0yLjguMTcub3JpZy9tYWluLm1rIHNxbGl0ZS0yLjguMTcvbWFpbi5taworLS0tIHNxbGl0ZS0yLjguMTcub3JpZy9tYWluLm1rCTIwMDUtMDQtMjMgMjI6NDM6MjMuMDAwMDAwMDAwICswMDAwCisrKysgc3FsaXRlLTIuOC4xNy9tYWluLm1rCTIwMDktMDQtMDIgMjA6MTA6MzYuMDAwMDAwMDAwICswMDAwCitAQCAtMTM5LDcgKzEzOSw3IEBACisgIyBUaGlzIGlzIHRoZSBkZWZhdWx0IE1ha2VmaWxlIHRhcmdldC4gIFRoZSBvYmplY3RzIGxpc3RlZCBoZXJlCisgIyBhcmUgd2hhdCBnZXQgYnVpbGQgd2hlbiB5b3UgdHlwZSBqdXN0ICJtYWtlIiB3aXRoIG5vIGFyZ3VtZW50cy4KKyAjCistYWxsOglzcWxpdGUuaCBjb25maWcuaCBsaWJzcWxpdGUuYSBzcWxpdGUkKEVYRSkKKythbGw6ICAgc3FsaXRlLmggY29uZmlnLmggbGlic3FsaXRlLnNvIHNxbGl0ZSQoRVhFKQorIAorICMgR2VuZXJhdGUgdGhlIGZpbGUgImxhc3RfY2hhbmdlIiB3aGljaCBjb250YWlucyB0aGUgZGF0ZSBvZiBjaGFuZ2UKKyAjIG9mIHRoZSBtb3N0IHJlY2VudGx5IG1vZGlmaWVkIHNvdXJjZSBjb2RlIGZpbGUKK0BAIC0xNDgsMTMgKzE0OCwxMiBAQAorIAljYXQgJChTUkMpIHwgZ3JlcCAnJCRJZDogJyB8IHNvcnQgKzQgfCB0YWlsIC0xIFwKKyAgICAgICAgICAgfCBhd2sgJ3twcmludCAkJDUsJCQ2fScgPmxhc3RfY2hhbmdlCisgCistbGlic3FsaXRlLmE6CSQoTElCT0JKKQorLQkkKEFSKSBsaWJzcWxpdGUuYSAkKExJQk9CSikKKy0JJChSQU5MSUIpIGxpYnNxbGl0ZS5hCistCistc3FsaXRlJChFWEUpOgkkKFRPUCkvc3JjL3NoZWxsLmMgbGlic3FsaXRlLmEgc3FsaXRlLmgKKy0JJChUQ0NYKSAkKFJFQURMSU5FX0ZMQUdTKSAtbyBzcWxpdGUkKEVYRSkgJChUT1ApL3NyYy9zaGVsbC5jIFwKKy0JCWxpYnNxbGl0ZS5hICQoTElCUkVBRExJTkUpICQoVEhSRUFETElCKQorK2xpYnNxbGl0ZS5zbzoJJChMSUJPQkopCisrCSQoQ0MpICQoTERGTEFHUykgLXNoYXJlZCAtbyBsaWJzcWxpdGUuc28gLVdsLC1zb25hbWUsbGlic3FsaXRlLnNvLjAgJChMSUJPQkopCisrCisrc3FsaXRlJChFWEUpOgkkKFRPUCkvc3JjL3NoZWxsLmMgbGlic3FsaXRlLnNvIHNxbGl0ZS5oCisrCSQoVENDWCkgJChMREZMQUdTKSAkKFJFQURMSU5FX0ZMQUdTKSAtbyBzcWxpdGUkKEVYRSkgJChUT1ApL3NyYy9zaGVsbC5jIFwKKysJCS1sc3FsaXRlICQoTElCUkVBRExJTkUpICQoVEhSRUFETElCKQorIAorIHNxbGl0ZV9hbmFseXplciQoRVhFKToJJChUT1ApL3NyYy90Y2xzcWxpdGUuYyBsaWJzcWxpdGUuYSAkKFRFU1RTUkMpIFwKKyAJCQkkKFRPUCkvdG9vbC9zcGFjZWFuYWwudGNsCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NxbGl0ZS9zcWxpdGUtMi44LjE3L21haW5ta19ub190Y2wucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NxbGl0ZS9zcWxpdGUtMi44LjE3L21haW5ta19ub190Y2wucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjg0YjY0OAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3FsaXRlL3NxbGl0ZS0yLjguMTcvbWFpbm1rX25vX3RjbC5wYXRjaApAQCAtMCwwICsxLDIwIEBACitkaWZmIC1idXIgc3FsaXRlLTIuOC4xN35vcmlnL21haW4ubWsgc3FsaXRlLTIuOC4xNy9tYWluLm1rCistLS0gc3FsaXRlLTIuOC4xN35vcmlnL21haW4ubWsJMjAwNi0wMi0xMyAwNDowOTozMy4wMDAwMDAwMDAgLTA2MDAKKysrKyBzcWxpdGUtMi44LjE3L21haW4ubWsJMjAwNi0wMi0xMyAwNDoxNTo0Mi4wMDAwMDAwMDAgLTA2MDAKK0BAIC01OCw3ICs1OCw3IEBACisgICAgICAgICAgZXhwci5vIGZ1bmMubyBoYXNoLm8gaW5zZXJ0Lm8gXAorICAgICAgICAgIG1haW4ubyBvcGNvZGVzLm8gb3MubyBwYWdlci5vIHBhcnNlLm8gcHJhZ21hLm8gcHJpbnRmLm8gcmFuZG9tLm8gXAorICAgICAgICAgIHNlbGVjdC5vIHRhYmxlLm8gdG9rZW5pemUubyB0cmlnZ2VyLm8gdXBkYXRlLm8gdXRpbC5vIFwKKy0gICAgICAgICB2YWN1dW0ubyB2ZGJlLm8gdmRiZWF1eC5vIHdoZXJlLm8gdGNsc3FsaXRlLm8KKysgICAgICAgICB2YWN1dW0ubyB2ZGJlLm8gdmRiZWF1eC5vIHdoZXJlLm8KKyAKKyAjIEFsbCBvZiB0aGUgc291cmNlIGNvZGUgZmlsZXMuCisgIworQEAgLTkxLDcgKzkxLDYgQEAKKyAgICQoVE9QKS9zcmMvc3FsaXRlLmguaW4gXAorICAgJChUT1ApL3NyYy9zcWxpdGVJbnQuaCBcCisgICAkKFRPUCkvc3JjL3RhYmxlLmMgXAorLSAgJChUT1ApL3NyYy90Y2xzcWxpdGUuYyBcCisgICAkKFRPUCkvc3JjL3Rva2VuaXplLmMgXAorICAgJChUT1ApL3NyYy90cmlnZ2VyLmMgXAorICAgJChUT1ApL3NyYy91cGRhdGUuYyBcCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NxbGl0ZS9zcWxpdGUtMi44LjE3L3NxbGl0ZS5wYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3FsaXRlL3NxbGl0ZS0yLjguMTcvc3FsaXRlLnBjCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZiYzc0MmUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NxbGl0ZS9zcWxpdGUtMi44LjE3L3NxbGl0ZS5wYwpAQCAtMCwwICsxLDEyIEBACisjIFBhY2thZ2UgSW5mb3JtYXRpb24gZm9yIHBrZy1jb25maWcKKworcHJlZml4PS91c3IKK2V4ZWNfcHJlZml4PSR7cHJlZml4fQorbGliZGlyPSR7ZXhlY19wcmVmaXh9L2xpYgoraW5jbHVkZWRpcj0ke3ByZWZpeH0vaW5jbHVkZQorCitOYW1lOiBTUUxpdGUKK0Rlc2NyaXB0aW9uOiBTUUwgZGF0YWJhc2UgZW5naW5lCitWZXJzaW9uOiAyLjguMTcKK0xpYnM6IC1MJHtsaWJkaXJ9IC1sc3FsaXRlCitDZmxhZ3M6IC1JJHtpbmNsdWRlZGlyfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zcWxpdGUvc3FsaXRlXzIuOC4xNy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3FsaXRlL3NxbGl0ZV8yLjguMTcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTZlMTRjMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3FsaXRlL3NxbGl0ZV8yLjguMTcuYmIKQEAgLTAsMCArMSw1OSBAQAorU1VNTUFSWSA9ICJBbiBFbWJlZGRhYmxlIFNRTCBEYXRhYmFzZSBFbmdpbmUiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LnNxbGl0ZS5vcmcvIgorU0VDVElPTiA9ICJsaWJzIgorREVQRU5EUyA9ICJyZWFkbGluZSBuY3Vyc2VzIgorTElDRU5TRSA9ICJQRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3NyYy9tYWluLmM7YmVnaW5saW5lPTE7ZW5kbGluZT0xMDttZDU9ZTk4NDY5YThlZmEwMjRhMzhhZDViMmU0YjkyZjRhOTYiCisKK1BSID0gInI3IgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cuaHdhY2kuY29tL3N3L3NxbGl0ZS9zcWxpdGUtJHtQVn0udGFyLmd6IFwKKyAgICBmaWxlOi8vbWFpbm1rX2J1aWxkX2R5bmFtaWMucGF0Y2ggXAorICAgIGZpbGU6Ly9tYWlubWtfbm9fdGNsLnBhdGNoIFwKKyAgICBmaWxlOi8vc3FsaXRlLnBjIgorCitTT1VSQ0VTID0gImF0dGFjaC5vIGF1dGgubyBidHJlZS5vIGJ0cmVlX3JiLm8gYnVpbGQubyBjb3B5Lm8gZGF0ZS5vIGRlbGV0ZS5vIFwKKyAgICAgICAgICAgZXhwci5vIGZ1bmMubyBoYXNoLm8gaW5zZXJ0Lm8gbWFpbi5vIG9wY29kZXMubyBvcy5vIHBhZ2VyLm8gXAorICAgICAgICAgICBwYXJzZS5vIHByYWdtYS5vIHByaW50Zi5vIHJhbmRvbS5vIHNlbGVjdC5vIHRhYmxlLm8gdG9rZW5pemUubyBcCisgICAgICAgICAgIHRyaWdnZXIubyB1cGRhdGUubyB1dGlsLm8gdmFjdXVtLm8gdmRiZS5vIHZkYmVhdXgubyB3aGVyZS5vIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworZG9fY29uZmlndXJlKCkgeworICAgIGVjaG8gIm1haW4ubWsgaXMgcGF0Y2hlZCwgbm8gbmVlZCB0byBjb25maWd1cmUiCisgICAgIyBtYWtlIHBrZ2NvbmZpZy5iYmNsYXNzIHBpY2sgdGhpcyB1cAorICAgIGNwICR7V09SS0RJUn0vc3FsaXRlLnBjICR7U30KK30KKworZG9fY29tcGlsZSgpIHsKKyAgICBvZV9ydW5tYWtlIC1mICR7U30vTWFrZWZpbGUubGludXgtZ2NjIFwKKyAgICAgICAgICAgICBUT1A9IiR7U30iIFwKKyAgICAgICAgICAgICBCQ0M9IiR7QlVJTERfQ0N9IiBcCisgICAgICAgICAgICAgVENDPSIke0NDfSIgXAorICAgICAgICAgICAgIE9QVFM9Ii1mUElDIC1EJ0lOVFBUUl9UWVBFPWludCciIFwKKyAgICAgICAgICAgICBUQ0xfRkxBR1M9IExJQlRDTD0gXAorICAgICAgICAgICAgIFJFQURMSU5FX0ZMQUdTPSItREhBVkVfUkVBRExJTkU9MSAtSSR7U1RBR0lOR19JTkNESVJ9IiBcCisgICAgICAgICAgICAgTElCUkVBRExJTkU9Ii1MLiAtTCR7U1RBR0lOR19MSUJESVJ9IC1scmVhZGxpbmUgLWxuY3Vyc2VzIgorfQorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7bGliZGlyfSAke0R9JHtiaW5kaXJ9CisgICAgaW5zdGFsbCBzcWxpdGUgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSBsaWJzcWxpdGUuc28gJHtEfSR7bGliZGlyfS9saWJzcWxpdGUuc28uMC44LjYKKyAgICBsbiAtc2YgbGlic3FsaXRlLnNvLjAuOC42ICR7RH0ke2xpYmRpcn0vbGlic3FsaXRlLnNvCisgICAgbG4gLXNmIGxpYnNxbGl0ZS5zby4wLjguNiAke0R9JHtsaWJkaXJ9L2xpYnNxbGl0ZS5zby4wCisgICAgbG4gLXNmIGxpYnNxbGl0ZS5zby4wLjguNiAke0R9JHtsaWJkaXJ9L2xpYnNxbGl0ZS5zby4wLjgKKyAgICBpbnN0YWxsIC1kICR7RH0ke2luY2x1ZGVkaXJ9CisgICAgaW5zdGFsbCAtbSAwNjQ0IHNxbGl0ZS5oICR7RH0ke2luY2x1ZGVkaXJ9L3NxbGl0ZS5oCisgICAgaW5zdGFsbCAtZCAke0R9JHtsaWJkaXJ9L3BrZ2NvbmZpZworICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L3NxbGl0ZS5wYyAke0R9JHtsaWJkaXJ9L3BrZ2NvbmZpZy9zcWxpdGUucGMKK30KKworUEFDS0FHRVMgKz0gIiR7UE59LWJpbiIKK0ZJTEVTXyR7UE59LWJpbiA9ICIke2JpbmRpcn0vKiIKK0ZJTEVTXyR7UE59ID0gIiR7bGliZGlyfS8qLnNvLioiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI4MzhkYmFjMjBiNTZkMmM0MjkyZTk4ODQ4NTA1YTA1YiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzZjM1ZWJmYjY3ODY3ZmI1YjU4M2EwM2U0ODBmOTAwMjA2YWY2MzdlZmU3MTc5YjMyMjk0YTZhMGNmODA2ZjM3IgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3RhcnQtc3RvcC1kYWVtb24vc3RhcnQtc3RvcC1kYWVtb24vMDAwMS1kcGtnLXN0YXJ0LXN0b3AtZGFlbW9uLUFjY2VwdC1TSUctcHJlZml4ZWQtc2lnbmFsLW5hLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zdGFydC1zdG9wLWRhZW1vbi9zdGFydC1zdG9wLWRhZW1vbi8wMDAxLWRwa2ctc3RhcnQtc3RvcC1kYWVtb24tQWNjZXB0LVNJRy1wcmVmaXhlZC1zaWduYWwtbmEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTk4OGVmZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3RhcnQtc3RvcC1kYWVtb24vc3RhcnQtc3RvcC1kYWVtb24vMDAwMS1kcGtnLXN0YXJ0LXN0b3AtZGFlbW9uLUFjY2VwdC1TSUctcHJlZml4ZWQtc2lnbmFsLW5hLnBhdGNoCkBAIC0wLDAgKzEsMzkgQEAKK0Zyb20gNjg1NjQ1YTIwZTM5Y2YyYWI3ZGI4ZDFmNWUzNjY2YTQyMjhhYmNhOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IElvYW4tQWRyaWFuIFJhdGl1IDxhZHJpYW4ucmF0aXVAbmkuY29tPgorRGF0ZTogV2VkLCA4IEp1bCAyMDE1IDA5OjQ0OjU3ICswMzAwCitTdWJqZWN0OiBbUEFUQ0ggMS8xXSBkcGtnIHN0YXJ0LXN0b3AtZGFlbW9uOiBBY2NlcHQgU0lHIHByZWZpeGVkIHNpZ25hbCBuYW1lcworCistLS0KKyB1dGlscy9zdGFydC1zdG9wLWRhZW1vbi5jIHwgOSArKysrKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS91dGlscy9zdGFydC1zdG9wLWRhZW1vbi5jIGIvdXRpbHMvc3RhcnQtc3RvcC1kYWVtb24uYworaW5kZXggNmFlYmU5Yi4uZTgwNTA4MiAxMDA2NDQKKy0tLSBhL3V0aWxzL3N0YXJ0LXN0b3AtZGFlbW9uLmMKKysrKyBiL3V0aWxzL3N0YXJ0LXN0b3AtZGFlbW9uLmMKK0BAIC0xOCw2ICsxOCw5IEBACisgICogICAgICAgICAgICAgICAgIGFuZCBBbmRyZWFzIFNjaHVsZGVpIDxhbmRyZWFzQHNjaHVsZGVpLm9yZz4KKyAgKgorICAqIENoYW5nZXMgYnkgSWFuIEphY2tzb246IGFkZGVkIC0tcmV0cnkgKGFuZCBhc3NvY2lhdGVkIHJlYXJyYW5nZW1lbnRzKS4KKysgKgorKyAqIENoYW5nZXMgYnkgSGFyaXMgT2thbm92aWMgPGhhcmlzLm9rYW5vdmljQG5pLmNvbT4gdG8gc3VwcG9ydCAnU0lHJworKyAqICAgICBwcmVmaXhlZCBzaWduYWwgbmFtZXMgcGxhY2VkIGluIHB1YmxpYyBkb21haW4gYXMgd2VsbC4KKyAgKi8KKyAKKyAjaW5jbHVkZSA8Y29uZmlnLmg+CitAQCAtNjYxLDYgKzY2NCwxMiBAQCBwYXJzZV9zaWduYWwoY29uc3QgY2hhciAqc2lnX3N0ciwgaW50ICpzaWdfbnVtKQorIAlpZiAocGFyc2VfdW5zaWduZWQoc2lnX3N0ciwgMTAsIHNpZ19udW0pID09IDApCisgCQlyZXR1cm4gMDsKKyAKKysgICAgICAgIC8qIFNraXAgb3ZlciBvcHRpb25hbCAiU0lHIiBwcmVmaXggKi8KKysgICAgICAgIGlmIChzdHJuY21wKHNpZ19zdHIsICJTSUciLCAzKSA9PSAwKSB7CisrICAgICAgICAgICAgICAgIHdhcm5pbmcoIlVzaW5nIGRlcHJlY2F0ZWQgc2lnbmFsIG5hbWUgJXMuIERyb3AgdGhlICdTSUcnIHByZWZpeC5cbiIsIHNpZ19zdHIpOworKyAgICAgICAgICAgICAgICBzaWdfc3RyICs9IDM7CisrICAgICAgICB9CisrCisgCWZvciAoaSA9IDA7IGkgPCBhcnJheV9jb3VudChzaWdsaXN0KTsgaSsrKSB7CisgCQlpZiAoc3RyY21wKHNpZ19zdHIsIHNpZ2xpc3RbaV0ubmFtZSkgPT0gMCkgeworIAkJCSpzaWdfbnVtID0gc2lnbGlzdFtpXS5zaWduYWw7CistLSAKKzIuMS40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3RhcnQtc3RvcC1kYWVtb24vc3RhcnQtc3RvcC1kYWVtb25fMS4xNy4yNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3RhcnQtc3RvcC1kYWVtb24vc3RhcnQtc3RvcC1kYWVtb25fMS4xNy4yNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZWU0NDcyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zdGFydC1zdG9wLWRhZW1vbi9zdGFydC1zdG9wLWRhZW1vbl8xLjE3LjI1LmJiCkBAIC0wLDAgKzEsMzYgQEAKK1NVTU1BUlkgPSAiRGViaWFuJ3Mgc3RhcnQtc3RvcC1kYWVtb24gdXRpbGl0eSBleHRyYWN0ZWQgZnJvbSB0aGUgZHBrZyBcCitwYWNrYWdlIgorTElDRU5TRSA9ICJQRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3V0aWxzL3N0YXJ0LXN0b3AtZGFlbW9uLmM7ZW5kbGluZT0yMTttZDU9OGZiZDA0OTdhN2QwYjAxZTk5ODIwYmZmY2I1OGU5YWQiCisjIHN0YXJ0LXN0b3AtZGFlbW9uIGlzIHVzdWFsbHkgc2hpcHBlZCBieSBkcGtnCitERVBFTkRTID0gIm5jdXJzZXMiCitSQ09ORkxJQ1RTXyR7UE59ID0gImRwa2ciCisKK1NSQ19VUkkgPSAiIFwKKyAgICAke0RFQklBTl9NSVJST1J9L21haW4vZC9kcGtnL2Rwa2dfJHtQVn0udGFyLnh6IFwKKyAgICBmaWxlOi8vMDAwMS1kcGtnLXN0YXJ0LXN0b3AtZGFlbW9uLUFjY2VwdC1TSUctcHJlZml4ZWQtc2lnbmFsLW5hLnBhdGNoIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gImU0OGZjZmRiMjE2MmU3N2Q3MmMyYTgzNDMyZDUzN2NhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjA3MDE5ZDM4YWU5OGZiMTA3Yzc5ZGJiMzY5MGNmYWRmZjg3N2YxNTNiOGM0OTcwZTNhMzBkMmU1OWFhNjZiYWEiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgcGtnY29uZmlnCisKK1MgPSAiJHtXT1JLRElSfS9kcGtnLSR7UFZ9IgorCitFWFRSQV9PRUNPTkYgPSAiIFwKKyAgICAtLXdpdGhvdXQtYnoyIFwKKyAgICAtLXdpdGhvdXQtc2VsaW51eCBcCisiCisKK2RvX2luc3RhbGxfYXBwZW5kICgpIHsKKyAgICAjIHJlbW92ZSBldmVyeXRoaW5nIHRoYXQgaXMgbm90IHJlbGF0ZWQgdG8gc3RhcnQtc3RvcC1kYWVtb24sIHNpbmNlIHRoZXJlCisgICAgIyBpcyBubyBleHBsaWNpdCBydWxlIGZvciBvbmx5IGluc3RhbGxpbmcgc3NkCisgICAgZmluZCAke0R9IC10eXBlIGYgLW5vdCAtbmFtZSAiKnN0YXJ0LXN0b3AtZGFlbW9uKiIgLWV4ZWMgcm0ge30gXDsKKyAgICBmaW5kICR7RH0gLWRlcHRoIC10eXBlIGQgLWVtcHR5IC1leGVjIHJtZGlyIHt9IFw7CisKKyAgICAjIHN1cHBvcnQgZm9yIGJ1Z2d5IGluaXQuZCBzY3JpcHRzIHRoYXQgcmVmZXIgdG8gYW4gYWx0ZXJuYXRpdmUKKyAgICAjIGV4cGxpY2l0IHBhdGggdG8gc3RhcnQtc3RvcC1kYWVtb24KKyAgICBta2RpciAtcCAke0R9L3NiaW4vCisgICAgbG4gLXNmIC91c3Ivc2Jpbi9zdGFydC1zdG9wLWRhZW1vbiAke0R9L3NiaW4vc3RhcnQtc3RvcC1kYWVtb24KK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3luZXJneS9zeW5lcmd5X2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3luZXJneS9zeW5lcmd5X2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjA1N2Y0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeW5lcmd5L3N5bmVyZ3lfZ2l0LmJiCkBAIC0wLDAgKzEsMzQgQEAKK1NVTU1BUlkgPSAiU3luZXJneSAtIGNvbnRyb2wgbXVsdGlwbGUgY29tcHV0ZXJzIHdpdGggb25lIGtleWJvYXJkIGFuZCBtb3VzZSIKK0hPTUVQQUdFID0gImh0dHA6Ly9zeW5lcmd5LXByb2plY3Qub3JnIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MGYzNjY5NDViMjA5YzU1MjNlMzk4ODlmNjM2YWYwMGEiCitMSUNFTlNFID0gIkdQTC0yLjAiCitTRUNUSU9OID0gIngxMS91dGlscyIKKworREVQRU5EUyA9ICJ2aXJ0dWFsL2xpYngxMSBsaWJ4dHN0IGxpYnhpbmVyYW1hIHVuemlwLW5hdGl2ZSBjdXJsIG9wZW5zc2wiCisKKyMgZGVwZW5kcyBvbiB2aXJ0dWFsL2xpYngxMQorUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3N5bmVyZ3kvc3luZXJneS5naXQ7cHJvdG9jb2w9aHR0cCIKKworIyBWZXJzaW9uIDEuNy40LXJjOAorU1JDUkVWID89ICI1ODhmYjRiODA1ZGQ0NTI1NTZkMDVkYmMwM2ZlMjllYTViNGU0M2MwIgorUFYgPSAiMS43LjMrMS43LjQtcmM4KyR7U1JDUFZ9IgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGNtYWtlIGRpc3Ryb19mZWF0dXJlc19jaGVjaworCitkb191bnBhY2tfZXh0cmEoKSB7CisgICAgY2QgJHtTfS9leHQKKyAgICBmb3IgZmlsZSBpbiAqLnppcDsgZG8KKyAgICAgICAgZm5hbWU9IiR7ZmlsZSMjKi99IgorICAgICAgICB1bnppcCAkZmlsZSAtZCAke2ZuYW1lJS4qfQorICAgIGRvbmUKK30KK2FkZHRhc2sgdW5wYWNrX2V4dHJhIGFmdGVyIGRvX3VucGFjayBiZWZvcmUgZG9fcGF0Y2gKKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0vdXNyL2JpbgorICAgIGluc3RhbGwgLW0gMDc1NSAke1N9L2Jpbi9zeW5lcmd5KiAke0R9L3Vzci9iaW4vCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c2xvZy1uZy9maWxlcy9GaXgtdGhlLW1lbW9yeS1sZWFrLXByb2JsZW0tZm9yLW11dGV4LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvRml4LXRoZS1tZW1vcnktbGVhay1wcm9ibGVtLWZvci1tdXRleC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44OTAyMmFhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvRml4LXRoZS1tZW1vcnktbGVhay1wcm9ibGVtLWZvci1tdXRleC5wYXRjaApAQCAtMCwwICsxLDU4IEBACitGaXggdGhlIG1lbW9yeSBsZWFrIHByb2JsZW0gZm9yIG11dGV4CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBYdWZlbmcgWmhhbmcgPHh1ZmVuZy56aGFuZ0B3aW5kcml2ZXIuY29tPgorLS0tCisgbGliL2xvZ3F1ZXVlLmMgICAgICAgICAgICAgICB8ICAgIDEgKworIG1vZHVsZXMvYWZmaWxlL2FmZmlsZS1kZXN0LmMgfCAgICAyICsrCisgbW9kdWxlcy9kYnBhcnNlci9kYnBhcnNlci5jICB8ICAgIDEgKworIDMgZmlsZXMgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAwIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGliL2xvZ3F1ZXVlLmMgYi9saWIvbG9ncXVldWUuYworaW5kZXggMzM3YTNjMS4uMTBlZGNmMCAxMDA2NDQKKy0tLSBhL2xpYi9sb2dxdWV1ZS5jCisrKysgYi9saWIvbG9ncXVldWUuYworQEAgLTE4OCw2ICsxODgsNyBAQCBsb2dfcXVldWVfaW5pdF9pbnN0YW5jZShMb2dRdWV1ZSAqc2VsZiwgY29uc3QgZ2NoYXIgKnBlcnNpc3RfbmFtZSkKKyB2b2lkCisgbG9nX3F1ZXVlX2ZyZWVfbWV0aG9kKExvZ1F1ZXVlICpzZWxmKQorIHsKKysgIGdfc3RhdGljX211dGV4X2ZyZWUoJnNlbGYtPmxvY2spOworICAgZ19mcmVlKHNlbGYtPnBlcnNpc3RfbmFtZSk7CisgICBnX2ZyZWUoc2VsZik7CisgfQorZGlmZiAtLWdpdCBhL21vZHVsZXMvYWZmaWxlL2FmZmlsZS1kZXN0LmMgYi9tb2R1bGVzL2FmZmlsZS9hZmZpbGUtZGVzdC5jCitpbmRleCBhMmJjZGFkLi5jZTc5ZjZmIDEwMDY0NAorLS0tIGEvbW9kdWxlcy9hZmZpbGUvYWZmaWxlLWRlc3QuYworKysrIGIvbW9kdWxlcy9hZmZpbGUvYWZmaWxlLWRlc3QuYworQEAgLTMwNSw2ICszMDUsNyBAQCBhZmZpbGVfZHdfZnJlZShMb2dQaXBlICpzKQorIHsKKyAgIEFGRmlsZURlc3RXcml0ZXIgKnNlbGYgPSAoQUZGaWxlRGVzdFdyaXRlciAqKSBzOworICAgCisrICBnX3N0YXRpY19tdXRleF9mcmVlKCZzZWxmLT5sb2NrKTsKKyAgIGxvZ19waXBlX3VucmVmKChMb2dQaXBlICopIHNlbGYtPndyaXRlcik7CisgICBzZWxmLT53cml0ZXIgPSBOVUxMOworICAgZ19mcmVlKHNlbGYtPmZpbGVuYW1lKTsKK0BAIC02ODcsNiArNjg4LDcgQEAgYWZmaWxlX2RkX2ZyZWUoTG9nUGlwZSAqcykKKyAgIC8qIE5PVEU6IHRoaXMgbXVzdCBiZSBOVUxMIGFzIGRlaW5pdCBoYXMgZnJlZWQgaXQsIG90aGVyd2lzZSB3ZSdkIGhhdmUgY2lyY3VsYXIgcmVmZXJlbmNlcyAqLworICAgZ19hc3NlcnQoc2VsZi0+c2luZ2xlX3dyaXRlciA9PSBOVUxMICYmIHNlbGYtPndyaXRlcl9oYXNoID09IE5VTEwpOworIAorKyAgZ19zdGF0aWNfbXV0ZXhfZnJlZSgmc2VsZi0+bG9jayk7CisgICBsb2dfdGVtcGxhdGVfdW5yZWYoc2VsZi0+ZmlsZW5hbWVfdGVtcGxhdGUpOworICAgbG9nX3dyaXRlcl9vcHRpb25zX2Rlc3Ryb3koJnNlbGYtPndyaXRlcl9vcHRpb25zKTsKKyAgIGxvZ19kZXN0X2RyaXZlcl9mcmVlKHMpOworZGlmZiAtLWdpdCBhL21vZHVsZXMvZGJwYXJzZXIvZGJwYXJzZXIuYyBiL21vZHVsZXMvZGJwYXJzZXIvZGJwYXJzZXIuYworaW5kZXggZjEyNDhiNS4uOTc3NTcwMSAxMDA2NDQKKy0tLSBhL21vZHVsZXMvZGJwYXJzZXIvZGJwYXJzZXIuYworKysrIGIvbW9kdWxlcy9kYnBhcnNlci9kYnBhcnNlci5jCitAQCAtMjg0LDYgKzI4NCw3IEBAIGxvZ19kYl9wYXJzZXJfZnJlZShMb2dQaXBlICpzKQorIHsKKyAgIExvZ0RCUGFyc2VyICpzZWxmID0gKExvZ0RCUGFyc2VyICopIHM7CisgCisrICBnX3N0YXRpY19tdXRleF9mcmVlKCZzZWxmLT5sb2NrKTsKKyAgIGlmIChzZWxmLT5kYikKKyAgICAgcGF0dGVybl9kYl9mcmVlKHNlbGYtPmRiKTsKKyAKKy0tIAorMS43LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvRml4LXRoZS1tZW1vcnktbGVhay1wcm9ibGVtLXdoZW4tSEFWRV9FTlZJUk9OLWRlZmluZWQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c2xvZy1uZy9maWxlcy9GaXgtdGhlLW1lbW9yeS1sZWFrLXByb2JsZW0td2hlbi1IQVZFX0VOVklST04tZGVmaW5lZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYWM5YzBiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvRml4LXRoZS1tZW1vcnktbGVhay1wcm9ibGVtLXdoZW4tSEFWRV9FTlZJUk9OLWRlZmluZWQucGF0Y2gKQEAgLTAsMCArMSwyNyBAQAorRml4IHRoZSBtZW1vcnkgbGVhayBwcm9ibGVtIHdoZW4gSEFWRV9FTlZJUk9OIGlzIGRlZmluZWQKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IFh1ZmVuZyBaaGFuZyA8eHVmZW5nLnpoYW5nQHdpbmRyaXZlci5jb20+CistLS0KKy0tLSBhL2xpYi9ncHJvY2Vzcy5jCisrKysgYi9saWIvZ3Byb2Nlc3MuYworQEAgLTE0MjEsNiArMTQyMSwxOCBAQAorIHZvaWQKKyBnX3Byb2Nlc3NfZmluaXNoKHZvaWQpCisgeworKyNpZmRlZiBIQVZFX0VOVklST04KKysgIGludCBpID0gMDsKKysKKysgIHdoaWxlIChlbnZpcm9uW2ldKSB7CisrICAgIGdfZnJlZShlbnZpcm9uW2ldKTsKKysgICAgKytpOworKyAgfQorKyAgaWYgKGVudmlyb24pCisrICAgIGdfZnJlZShlbnZpcm9uKTsKKysgIGlmIChwcm9jZXNzX29wdHMuYXJndl9vcmlnKQorKyAgICBmcmVlKHByb2Nlc3Nfb3B0cy5hcmd2X29yaWcpOworKyNlbmRpZgorICAgZ19wcm9jZXNzX3JlbW92ZV9waWRmaWxlKCk7CisgfQorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvYWZzcWwtYWZzcWxfZGRfaW5zZXJ0X2RiLXJlZmFjdG9yLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvYWZzcWwtYWZzcWxfZGRfaW5zZXJ0X2RiLXJlZmFjdG9yLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQyZTE4MWIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c2xvZy1uZy9maWxlcy9hZnNxbC1hZnNxbF9kZF9pbnNlcnRfZGItcmVmYWN0b3IucGF0Y2gKQEAgLTAsMCArMSw0OTQgQEAKK0Zyb20gMjNlODBiNzU1MDgxODdiYWFhODIzYTY4ZWEwMTliNzJlMGIyMzA1YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEJ1ZGFpIExhc3psbyA8bGJ1ZGFpQGJhbGFiaXQuaHU+CitEYXRlOiBUdWUsIDEyIE5vdiAyMDEzIDEzOjE5OjA0ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGFmc3FsOiBhZnNxbF9kZF9pbnNlcnRfZGIoKSByZWZhY3RvcgorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CisKK0EgbG90IG9mIHRoZSBjb2RlIHRoYXQgd2FzIHByZXZpb3VzbHkgaW4gYWZzcWxfZGRfaW5zZXJ0X2RiKCkgaGF2ZSBiZWVuCitleHRyYWN0ZWQgdG8gc21hbGxlciBmdW5jdGlvbnMsIGFuZCBhZnNxbF9kZF9pbnNlcnRfZGIoKSB3YXMgcmVidWlsdCBvbgordG9wIG9mIHRoZXNlLiBBdCB0aGUgc2FtZSB0aW1lLCBtZW1vcnkgbGVha3Mgd2VyZSBwbHVnZ2VkLCBhbmQgaW4gY2FzZQorb2YgYSB0cmFuc2FjdGlvbiBlcnJvciwgYmFja2xvZyByZXdpbmRpbmcgaGFzIGJlZW4gZml4ZWQgdG9vLCB0byBub3QKK2xvb3NlIG1lc3NhZ2VzIHNpbmNlIHRoZSBsYXN0IEJFR0lOIGNvbW1hbmQuCisKK1NpZ25lZC1vZmYtYnk6IEp1aGFzeiBWaWt0b3IgPGp2aWt0b3JAYmFsYWJpdC5odT4KK1NpZ25lZC1vZmYtYnk6IExhc3psbyBCdWRhaSA8bGJ1ZGFpQGJhbGFiaXQuaHU+CistLS0KKyBtb2R1bGVzL2Fmc3FsL2Fmc3FsLmMgfCAzMDEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMTkyIGluc2VydGlvbnMoKyksIDEwOSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL21vZHVsZXMvYWZzcWwvYWZzcWwuYyBiL21vZHVsZXMvYWZzcWwvYWZzcWwuYworaW5kZXggMTJmNmFhYi4uYTZhODE5MCAxMDA2NDQKKy0tLSBhL21vZHVsZXMvYWZzcWwvYWZzcWwuYworKysrIGIvbW9kdWxlcy9hZnNxbC9hZnNxbC5jCitAQCAtNDU2LDI0ICs0NTYsMjEgQEAgYWZzcWxfZGRfY3JlYXRlX2luZGV4KEFGU3FsRGVzdERyaXZlciAqcworICAqCisgICogTk9URTogVGhpcyBmdW5jdGlvbiBjYW4gb25seSBiZSBjYWxsZWQgZnJvbSB0aGUgZGF0YWJhc2UgdGhyZWFkLgorICAqKi8KKy1zdGF0aWMgR1N0cmluZyAqCistYWZzcWxfZGRfdmFsaWRhdGVfdGFibGUoQUZTcWxEZXN0RHJpdmVyICpzZWxmLCBMb2dNZXNzYWdlICptc2cpCisrc3RhdGljIGdib29sZWFuCisrYWZzcWxfZGRfdmFsaWRhdGVfdGFibGUoQUZTcWxEZXN0RHJpdmVyICpzZWxmLCBHU3RyaW5nICp0YWJsZSkKKyB7CistICBHU3RyaW5nICpxdWVyeV9zdHJpbmcsICp0YWJsZTsKKysgIEdTdHJpbmcgKnF1ZXJ5X3N0cmluZzsKKyAgIGRiaV9yZXN1bHQgZGJfcmVzOworICAgZ2Jvb2xlYW4gc3VjY2VzcyA9IEZBTFNFOworICAgZ2ludCBpOworIAorLSAgdGFibGUgPSBnX3N0cmluZ19zaXplZF9uZXcoMzIpOworLSAgbG9nX3RlbXBsYXRlX2Zvcm1hdChzZWxmLT50YWJsZSwgbXNnLCAmc2VsZi0+dGVtcGxhdGVfb3B0aW9ucywgTFRaX0xPQ0FMLCAwLCBOVUxMLCB0YWJsZSk7CistCisgICBpZiAoc2VsZi0+ZmxhZ3MgJiBBRlNRTF9EREZfRE9OVF9DUkVBVEVfVEFCTEVTKQorLSAgICByZXR1cm4gdGFibGU7CisrICAgIHJldHVybiBUUlVFOworIAorICAgYWZzcWxfZGRfY2hlY2tfc3FsX2lkZW50aWZpZXIodGFibGUtPnN0ciwgVFJVRSk7CisgCisgICBpZiAoZ19oYXNoX3RhYmxlX2xvb2t1cChzZWxmLT52YWxpZGF0ZWRfdGFibGVzLCB0YWJsZS0+c3RyKSkKKy0gICAgcmV0dXJuIHRhYmxlOworKyAgICByZXR1cm4gVFJVRTsKKyAKKyAgIHF1ZXJ5X3N0cmluZyA9IGdfc3RyaW5nX3NpemVkX25ldygzMik7CisgICBnX3N0cmluZ19wcmludGYocXVlcnlfc3RyaW5nLCAiU0VMRUNUICogRlJPTSAlcyBXSEVSRSAwPTEiLCB0YWJsZS0+c3RyKTsKK0BAIC01NDQsMTQgKzU0MSw5IEBAIGFmc3FsX2RkX3ZhbGlkYXRlX3RhYmxlKEFGU3FsRGVzdERyaXZlciAKKyAgICAgICAvKiB3ZSBoYXZlIHN1Y2Nlc3NmdWxseSBjcmVhdGVkL2FsdGVyZWQgdGhlIGRlc3RpbmF0aW9uIHRhYmxlLCByZWNvcmQgdGhpcyBpbmZvcm1hdGlvbiAqLworICAgICAgIGdfaGFzaF90YWJsZV9pbnNlcnQoc2VsZi0+dmFsaWRhdGVkX3RhYmxlcywgZ19zdHJkdXAodGFibGUtPnN0ciksIEdVSU5UX1RPX1BPSU5URVIoVFJVRSkpOworICAgICB9CistICBlbHNlCistICAgIHsKKy0gICAgICBnX3N0cmluZ19mcmVlKHRhYmxlLCBUUlVFKTsKKy0gICAgICB0YWJsZSA9IE5VTEw7CistICAgIH0KKyAgIGdfc3RyaW5nX2ZyZWUocXVlcnlfc3RyaW5nLCBUUlVFKTsKKyAKKy0gIHJldHVybiB0YWJsZTsKKysgIHJldHVybiBzdWNjZXNzOworIH0KKyAKKyAvKioKK0BAIC01ODEsNiArNTczLDIwIEBAIGFmc3FsX2RkX2JlZ2luX3R4bihBRlNxbERlc3REcml2ZXIgKnNlbGYKKyB9CisgCisgLyoqCisrICogYWZzcWxfZGRfaGFuZGxlX3RyYW5zYWN0aW9uX2Vycm9yOgorKyAqCisrICogSGFuZGxlIGVycm9ycyBpbnNpZGUgZHVyaW5nIGEgU1FMIHRyYW5zYWN0aW9uIChlLmcuIElOU0VSVCBvciBDT01NSVQgZmFpbHVyZXMpLgorKyAqCisrICogTk9URTogVGhpcyBmdW5jdGlvbiBjYW4gb25seSBiZSBjYWxsZWQgZnJvbSB0aGUgZGF0YWJhc2UgdGhyZWFkLgorKyAqKi8KKytzdGF0aWMgdm9pZAorK2Fmc3FsX2RkX2hhbmRsZV90cmFuc2FjdGlvbl9lcnJvcihBRlNxbERlc3REcml2ZXIgKnNlbGYpCisreworKyAgbG9nX3F1ZXVlX3Jld2luZF9iYWNrbG9nKHNlbGYtPnF1ZXVlKTsKKysgIHNlbGYtPmZsdXNoX2xpbmVzX3F1ZXVlZCA9IDA7CisrfQorKworKy8qKgorICAqIGFmc3FsX2RkX2JlZ2luX3R4bjoKKyAgKgorICAqIENvbW1pdCBTUUwgdHJhbnNhY3Rpb24uCitAQCAtNTk2LDE0ICs2MDIsMTQgQEAgYWZzcWxfZGRfY29tbWl0X3R4bihBRlNxbERlc3REcml2ZXIgKnNlbAorICAgaWYgKHN1Y2Nlc3MpCisgICAgIHsKKyAgICAgICBsb2dfcXVldWVfYWNrX2JhY2tsb2coc2VsZi0+cXVldWUsIHNlbGYtPmZsdXNoX2xpbmVzX3F1ZXVlZCk7CisrICAgICAgc2VsZi0+Zmx1c2hfbGluZXNfcXVldWVkID0gMDsKKyAgICAgfQorICAgZWxzZQorICAgICB7CistICAgICAgbXNnX25vdGljZSgiU1FMIHRyYW5zYWN0aW9uIGNvbW1pdCBmYWlsZWQsIHJld2luZGluZyBiYWNrbG9nIGFuZCBzdGFydGluZyBhZ2FpbiIsCistICAgICAgICAgICAgICAgICBOVUxMKTsKKy0gICAgICBsb2dfcXVldWVfcmV3aW5kX2JhY2tsb2coc2VsZi0+cXVldWUpOworKyAgICAgIG1zZ19lcnJvcigiU1FMIHRyYW5zYWN0aW9uIGNvbW1pdCBmYWlsZWQsIHJld2luZGluZyBiYWNrbG9nIGFuZCBzdGFydGluZyBhZ2FpbiIsCisrICAgICAgICAgICAgICAgIE5VTEwpOworKyAgICAgIGFmc3FsX2RkX2hhbmRsZV90cmFuc2FjdGlvbl9lcnJvcihzZWxmKTsKKyAgICAgfQorLSAgc2VsZi0+Zmx1c2hfbGluZXNfcXVldWVkID0gMDsKKyAgIHJldHVybiBzdWNjZXNzOworIH0KKyAKK0BAIC02NDQsMTIgKzY1MCwxMyBAQCBhZnNxbF9kZF9zZXRfZGJkX29wdF9udW1lcmljKGdwb2ludGVyIGtlCisgfQorIAorIHN0YXRpYyBnYm9vbGVhbgorLWFmc3FsX2RkX2Nvbm5lY3QoQUZTcWxEZXN0RHJpdmVyICpzZWxmKQorK2Fmc3FsX2RkX2Vuc3VyZV9pbml0aWFsaXplZF9jb25uZWN0aW9uKEFGU3FsRGVzdERyaXZlciAqc2VsZikKKyB7CisgICBpZiAoc2VsZi0+ZGJpX2N0eCkKKyAgICAgcmV0dXJuIFRSVUU7CisgCisgICBzZWxmLT5kYmlfY3R4ID0gZGJpX2Nvbm5fbmV3KHNlbGYtPnR5cGUpOworKworICAgaWYgKCFzZWxmLT5kYmlfY3R4KQorICAgICB7CisgICAgICAgbXNnX2Vycm9yKCJObyBzdWNoIERCSSBkcml2ZXIiLAorQEAgLTY1OSwxMCArNjY2LDEyIEBAIGFmc3FsX2RkX2Nvbm5lY3QoQUZTcWxEZXN0RHJpdmVyICpzZWxmKQorICAgICB9CisgCisgICBkYmlfY29ubl9zZXRfb3B0aW9uKHNlbGYtPmRiaV9jdHgsICJob3N0Iiwgc2VsZi0+aG9zdCk7CisrCisgICBpZiAoc3RyY21wKHNlbGYtPnR5cGUsICJteXNxbCIpKQorICAgICBkYmlfY29ubl9zZXRfb3B0aW9uKHNlbGYtPmRiaV9jdHgsICJwb3J0Iiwgc2VsZi0+cG9ydCk7CisgICBlbHNlCisgICAgIGRiaV9jb25uX3NldF9vcHRpb25fbnVtZXJpYyhzZWxmLT5kYmlfY3R4LCAicG9ydCIsIGF0b2koc2VsZi0+cG9ydCkpOworKworICAgZGJpX2Nvbm5fc2V0X29wdGlvbihzZWxmLT5kYmlfY3R4LCAidXNlcm5hbWUiLCBzZWxmLT51c2VyKTsKKyAgIGRiaV9jb25uX3NldF9vcHRpb24oc2VsZi0+ZGJpX2N0eCwgInBhc3N3b3JkIiwgc2VsZi0+cGFzc3dvcmQpOworICAgZGJpX2Nvbm5fc2V0X29wdGlvbihzZWxmLT5kYmlfY3R4LCAiZGJuYW1lIiwgc2VsZi0+ZGF0YWJhc2UpOworQEAgLTY5MSw2ICs3MDAsNyBAQCBhZnNxbF9kZF9jb25uZWN0KEFGU3FsRGVzdERyaXZlciAqc2VsZikKKyAgICAgICAgICAgICAgICAgZXZ0X3RhZ19zdHIoImRhdGFiYXNlIiwgc2VsZi0+ZGF0YWJhc2UpLAorICAgICAgICAgICAgICAgICBldnRfdGFnX3N0cigiZXJyb3IiLCBkYmlfZXJyb3IpLAorICAgICAgICAgICAgICAgICBOVUxMKTsKKysKKyAgICAgICByZXR1cm4gRkFMU0U7CisgICAgIH0KKyAKK0BAIC03MTMsMTA0ICs3MjMsMTQ1IEBAIGFmc3FsX2RkX2Nvbm5lY3QoQUZTcWxEZXN0RHJpdmVyICpzZWxmKQorICAgcmV0dXJuIFRSVUU7CisgfQorIAorLXN0YXRpYyBnYm9vbGVhbgorLWFmc3FsX2RkX2luc2VydF9mYWlsX2hhbmRsZXIoQUZTcWxEZXN0RHJpdmVyICpzZWxmLCBMb2dNZXNzYWdlICptc2csCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2dQYXRoT3B0aW9ucyAqcGF0aF9vcHRpb25zKQorK3N0YXRpYyBHU3RyaW5nICoKKythZnNxbF9kZF9lbnN1cmVfYWNjZXNzaWJsZV9kYXRhYmFzZV90YWJsZShBRlNxbERlc3REcml2ZXIgKnNlbGYsIExvZ01lc3NhZ2UgKm1zZykKKyB7CistICBpZiAoc2VsZi0+ZmFpbGVkX21lc3NhZ2VfY291bnRlciA8IHNlbGYtPm51bV9yZXRyaWVzIC0gMSkKKy0gICAgeworLSAgICAgIGxvZ19xdWV1ZV9wdXNoX2hlYWQoc2VsZi0+cXVldWUsIG1zZywgcGF0aF9vcHRpb25zKTsKKy0KKy0gICAgICAvKiBkYXRhYmFzZSBjb25uZWN0aW9uIHN0YXR1cyBzYW5pdHkgY2hlY2sgYWZ0ZXIgZmFpbGVkIHF1ZXJ5ICovCistICAgICAgaWYgKGRiaV9jb25uX3Bpbmcoc2VsZi0+ZGJpX2N0eCkgIT0gMSkKKy0gICAgICAgIHsKKy0gICAgICAgICAgY29uc3QgZ2NoYXIgKmRiaV9lcnJvcjsKKy0KKy0gICAgICAgICAgZGJpX2Nvbm5fZXJyb3Ioc2VsZi0+ZGJpX2N0eCwgJmRiaV9lcnJvcik7CistICAgICAgICAgIG1zZ19lcnJvcigiRXJyb3IsIG5vIFNRTCBjb25uZWN0aW9uIGFmdGVyIGZhaWxlZCBxdWVyeSBhdHRlbXB0IiwKKy0gICAgICAgICAgICAgICAgICAgIGV2dF90YWdfc3RyKCJ0eXBlIiwgc2VsZi0+dHlwZSksCistICAgICAgICAgICAgICAgICAgICBldnRfdGFnX3N0cigiaG9zdCIsIHNlbGYtPmhvc3QpLAorLSAgICAgICAgICAgICAgICAgICAgZXZ0X3RhZ19zdHIoInBvcnQiLCBzZWxmLT5wb3J0KSwKKy0gICAgICAgICAgICAgICAgICAgIGV2dF90YWdfc3RyKCJ1c2VybmFtZSIsIHNlbGYtPnVzZXIpLAorLSAgICAgICAgICAgICAgICAgICAgZXZ0X3RhZ19zdHIoImRhdGFiYXNlIiwgc2VsZi0+ZGF0YWJhc2UpLAorLSAgICAgICAgICAgICAgICAgICAgZXZ0X3RhZ19zdHIoImVycm9yIiwgZGJpX2Vycm9yKSwKKy0gICAgICAgICAgICAgICAgICAgIE5VTEwpOworLSAgICAgICAgICByZXR1cm4gRkFMU0U7CistICAgICAgICB9CisrICBHU3RyaW5nICp0YWJsZSA9IGdfc3RyaW5nX3NpemVkX25ldygzMik7CisrICBsb2dfdGVtcGxhdGVfZm9ybWF0KHNlbGYtPnRhYmxlLCBtc2csICZzZWxmLT50ZW1wbGF0ZV9vcHRpb25zLCBMVFpfTE9DQUwsIDAsIE5VTEwsIHRhYmxlKTsKKyAKKy0gICAgICBzZWxmLT5mYWlsZWRfbWVzc2FnZV9jb3VudGVyKys7CistICAgICAgcmV0dXJuIEZBTFNFOworKyAgaWYgKCFhZnNxbF9kZF92YWxpZGF0ZV90YWJsZShzZWxmLCB0YWJsZSkpCisrICAgIHsKKysgICAgICAvKiBJZiB2YWxpZGF0ZSB0YWJsZSBpcyBGQUxTRSB0aGVuIGNsb3NlIHRoZSBjb25uZWN0aW9uIGFuZCB3YWl0IHRpbWVfcmVvcGVuIHRpbWUgKG5leHQgY2FsbCkgKi8KKysgICAgICBtc2dfZXJyb3IoIkVycm9yIGNoZWNraW5nIHRhYmxlLCBkaXNjb25uZWN0aW5nIGZyb20gZGF0YWJhc2UsIHRyeWluZyBhZ2FpbiBzaG9ydGx5IiwKKysgICAgICAgICAgICAgICAgZXZ0X3RhZ19pbnQoInRpbWVfcmVvcGVuIiwgc2VsZi0+dGltZV9yZW9wZW4pLAorKyAgICAgICAgICAgICAgICBOVUxMKTsKKysgICAgICBnX3N0cmluZ19mcmVlKHRhYmxlLCBUUlVFKTsKKysgICAgICByZXR1cm4gTlVMTDsKKyAgICAgfQorIAorLSAgbXNnX2Vycm9yKCJNdWx0aXBsZSBmYWlsdXJlcyB3aGlsZSBpbnNlcnRpbmcgdGhpcyByZWNvcmQgaW50byB0aGUgZGF0YWJhc2UsIG1lc3NhZ2UgZHJvcHBlZCIsCistICAgICAgICAgICAgZXZ0X3RhZ19pbnQoImF0dGVtcHRzIiwgc2VsZi0+bnVtX3JldHJpZXMpLAorLSAgICAgICAgICAgIE5VTEwpOworLSAgc3RhdHNfY291bnRlcl9pbmMoc2VsZi0+ZHJvcHBlZF9tZXNzYWdlcyk7CistICBsb2dfbXNnX2Ryb3AobXNnLCBwYXRoX29wdGlvbnMpOworLSAgc2VsZi0+ZmFpbGVkX21lc3NhZ2VfY291bnRlciA9IDA7CistICByZXR1cm4gVFJVRTsKKysgIHJldHVybiB0YWJsZTsKKyB9CisgCisgc3RhdGljIEdTdHJpbmcgKgorLWFmc3FsX2RkX2NvbnN0cnVjdF9xdWVyeShBRlNxbERlc3REcml2ZXIgKnNlbGYsIEdTdHJpbmcgKnRhYmxlLAorLSAgICAgICAgICAgICAgICAgICAgICAgICBMb2dNZXNzYWdlICptc2cpCisrYWZzcWxfZGRfYnVpbGRfaW5zZXJ0X2NvbW1hbmQoQUZTcWxEZXN0RHJpdmVyICpzZWxmLCBMb2dNZXNzYWdlICptc2csIEdTdHJpbmcgKnRhYmxlKQorIHsKKy0gIEdTdHJpbmcgKnZhbHVlOworLSAgR1N0cmluZyAqcXVlcnlfc3RyaW5nOworLSAgZ2ludCBpOworKyAgR1N0cmluZyAqaW5zZXJ0X2NvbW1hbmQgPSBnX3N0cmluZ19zaXplZF9uZXcoMjU2KTsKKysgIEdTdHJpbmcgKnZhbHVlID0gZ19zdHJpbmdfc2l6ZWRfbmV3KDUxMik7CisrICBnaW50IGksIGo7CisgCistICB2YWx1ZSA9IGdfc3RyaW5nX3NpemVkX25ldygyNTYpOworLSAgcXVlcnlfc3RyaW5nID0gZ19zdHJpbmdfc2l6ZWRfbmV3KDUxMik7CisrICBnX3N0cmluZ19wcmludGYoaW5zZXJ0X2NvbW1hbmQsICJJTlNFUlQgSU5UTyAlcyAoIiwgdGFibGUtPnN0cik7CisgCistICBnX3N0cmluZ19wcmludGYocXVlcnlfc3RyaW5nLCAiSU5TRVJUIElOVE8gJXMgKCIsIHRhYmxlLT5zdHIpOworICAgZm9yIChpID0gMDsgaSA8IHNlbGYtPmZpZWxkc19sZW47IGkrKykKKyAgICAgeworLSAgICAgIGdfc3RyaW5nX2FwcGVuZChxdWVyeV9zdHJpbmcsIHNlbGYtPmZpZWxkc1tpXS5uYW1lKTsKKy0gICAgICBpZiAoaSAhPSBzZWxmLT5maWVsZHNfbGVuIC0gMSkKKy0gICAgICAgIGdfc3RyaW5nX2FwcGVuZChxdWVyeV9zdHJpbmcsICIsICIpOworKyAgICAgIGlmICgoc2VsZi0+ZmllbGRzW2ldLmZsYWdzICYgQUZTUUxfRkZfREVGQVVMVCkgPT0gMCAmJiBzZWxmLT5maWVsZHNbaV0udmFsdWUgIT0gTlVMTCkKKysgICAgICAgIHsKKysgICAgICAgICAgIGdfc3RyaW5nX2FwcGVuZChpbnNlcnRfY29tbWFuZCwgc2VsZi0+ZmllbGRzW2ldLm5hbWUpOworKworKyAgICAgICAgICAgaiA9IGkgKyAxOworKyAgICAgICAgICAgd2hpbGUgKGogPCBzZWxmLT5maWVsZHNfbGVuICYmIChzZWxmLT5maWVsZHNbal0uZmxhZ3MgJiBBRlNRTF9GRl9ERUZBVUxUKSA9PSBBRlNRTF9GRl9ERUZBVUxUKQorKyAgICAgICAgICAgICBqKys7CisrCisrICAgICAgICAgICBpZiAoaiA8IHNlbGYtPmZpZWxkc19sZW4pCisrICAgICAgICAgICAgIGdfc3RyaW5nX2FwcGVuZChpbnNlcnRfY29tbWFuZCwgIiwgIik7CisrICAgICAgICB9CisgICAgIH0KKy0gIGdfc3RyaW5nX2FwcGVuZChxdWVyeV9zdHJpbmcsICIpIFZBTFVFUyAoIik7CisrCisrICBnX3N0cmluZ19hcHBlbmQoaW5zZXJ0X2NvbW1hbmQsICIpIFZBTFVFUyAoIik7CisgCisgICBmb3IgKGkgPSAwOyBpIDwgc2VsZi0+ZmllbGRzX2xlbjsgaSsrKQorICAgICB7CisgICAgICAgZ2NoYXIgKnF1b3RlZDsKKyAKKy0gICAgICBpZiAoc2VsZi0+ZmllbGRzW2ldLnZhbHVlID09IE5VTEwpCistICAgICAgICB7CistICAgICAgICAgIC8qIHRoZSBjb25maWcgdXNlZCB0aGUgJ2RlZmF1bHQnIHZhbHVlIGZvciB0aGlzIGNvbHVtbiAtPiB0aGUgZmllbGRzW2ldLnZhbHVlIGlzIE5VTEwsIHVzZSBTUUwgZGVmYXVsdCAqLworLSAgICAgICAgICBnX3N0cmluZ19hcHBlbmQocXVlcnlfc3RyaW5nLCAiREVGQVVMVCIpOworLSAgICAgICAgfQorLSAgICAgIGVsc2UKKysgICAgICBpZiAoKHNlbGYtPmZpZWxkc1tpXS5mbGFncyAmIEFGU1FMX0ZGX0RFRkFVTFQpID09IDAgJiYgc2VsZi0+ZmllbGRzW2ldLnZhbHVlICE9IE5VTEwpCisgICAgICAgICB7CisgICAgICAgICAgIGxvZ190ZW1wbGF0ZV9mb3JtYXQoc2VsZi0+ZmllbGRzW2ldLnZhbHVlLCBtc2csICZzZWxmLT50ZW1wbGF0ZV9vcHRpb25zLCBMVFpfU0VORCwgc2VsZi0+c2VxX251bSwgTlVMTCwgdmFsdWUpOworLQorICAgICAgICAgICBpZiAoc2VsZi0+bnVsbF92YWx1ZSAmJiBzdHJjbXAoc2VsZi0+bnVsbF92YWx1ZSwgdmFsdWUtPnN0cikgPT0gMCkKKyAgICAgICAgICAgICB7CistICAgICAgICAgICAgICBnX3N0cmluZ19hcHBlbmQocXVlcnlfc3RyaW5nLCAiTlVMTCIpOworKyAgICAgICAgICAgICAgZ19zdHJpbmdfYXBwZW5kKGluc2VydF9jb21tYW5kLCAiTlVMTCIpOworICAgICAgICAgICAgIH0KKyAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgIGRiaV9jb25uX3F1b3RlX3N0cmluZ19jb3B5KHNlbGYtPmRiaV9jdHgsIHZhbHVlLT5zdHIsICZxdW90ZWQpOworICAgICAgICAgICAgICAgaWYgKHF1b3RlZCkKKyAgICAgICAgICAgICAgICAgeworLSAgICAgICAgICAgICAgICAgIGdfc3RyaW5nX2FwcGVuZChxdWVyeV9zdHJpbmcsIHF1b3RlZCk7CisrICAgICAgICAgICAgICAgICAgZ19zdHJpbmdfYXBwZW5kKGluc2VydF9jb21tYW5kLCBxdW90ZWQpOworICAgICAgICAgICAgICAgICAgIGZyZWUocXVvdGVkKTsKKyAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICB7CistICAgICAgICAgICAgICAgICAgZ19zdHJpbmdfYXBwZW5kKHF1ZXJ5X3N0cmluZywgIicnIik7CisrICAgICAgICAgICAgICAgICBnX3N0cmluZ19hcHBlbmQoaW5zZXJ0X2NvbW1hbmQsICInJyIpOworICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgfQorLSAgICAgICAgfQorIAorLSAgICAgIGlmIChpICE9IHNlbGYtPmZpZWxkc19sZW4gLSAxKQorLSAgICAgICAgZ19zdHJpbmdfYXBwZW5kKHF1ZXJ5X3N0cmluZywgIiwgIik7CisrICAgICAgICAgIGogPSBpICsgMTsKKysgICAgICAgICAgd2hpbGUgKGogPCBzZWxmLT5maWVsZHNfbGVuICYmIChzZWxmLT5maWVsZHNbal0uZmxhZ3MgJiBBRlNRTF9GRl9ERUZBVUxUKSA9PSBBRlNRTF9GRl9ERUZBVUxUKQorKyAgICAgICAgICAgIGorKzsKKysgICAgICAgICAgaWYgKGogPCBzZWxmLT5maWVsZHNfbGVuKQorKyAgICAgICAgICAgIGdfc3RyaW5nX2FwcGVuZChpbnNlcnRfY29tbWFuZCwgIiwgIik7CisrICAgICAgICB9CisgICAgIH0KKy0gIGdfc3RyaW5nX2FwcGVuZChxdWVyeV9zdHJpbmcsICIpIik7CisrCisrICBnX3N0cmluZ19hcHBlbmQoaW5zZXJ0X2NvbW1hbmQsICIpIik7CisgCisgICBnX3N0cmluZ19mcmVlKHZhbHVlLCBUUlVFKTsKKyAKKy0gIHJldHVybiBxdWVyeV9zdHJpbmc7CisrICByZXR1cm4gaW5zZXJ0X2NvbW1hbmQ7CisrfQorKworK3N0YXRpYyBpbmxpbmUgZ2Jvb2xlYW4KKythZnNxbF9kZF9pc190cmFuc2FjdGlvbl9oYW5kbGluZ19lbmFibGVkKGNvbnN0IEFGU3FsRGVzdERyaXZlciAqc2VsZikKKyt7CisrICByZXR1cm4gc2VsZi0+Zmx1c2hfbGluZXNfcXVldWVkICE9IC0xOworK30KKysKKytzdGF0aWMgaW5saW5lIGdib29sZWFuCisrYWZzcWxfZGRfc2hvdWxkX3N0YXJ0X25ld190cmFuc2FjdGlvbihjb25zdCBBRlNxbERlc3REcml2ZXIgKnNlbGYpCisreworKyAgcmV0dXJuIHNlbGYtPmZsdXNoX2xpbmVzX3F1ZXVlZCA9PSAwOworK30KKysKKytzdGF0aWMgaW5saW5lIGdib29sZWFuCisrYWZzcWxfZGRfc2hvdWxkX2NvbW1pdF90cmFuc2FjdGlvbihjb25zdCBBRlNxbERlc3REcml2ZXIgKnNlbGYpCisreworKyAgcmV0dXJuIGFmc3FsX2RkX2lzX3RyYW5zYWN0aW9uX2hhbmRsaW5nX2VuYWJsZWQoc2VsZikgJiYgc2VsZi0+Zmx1c2hfbGluZXNfcXVldWVkID09IHNlbGYtPmZsdXNoX2xpbmVzOworK30KKysKKytzdGF0aWMgaW5saW5lIGdib29sZWFuCisrYWZzcWxfZGRfaGFuZGxlX2luc2VydF9yb3dfZXJyb3JfZGVwZW5kaW5nX29uX2Nvbm5lY3Rpb25fYXZhaWxhYmlsaXR5KEFGU3FsRGVzdERyaXZlciAqc2VsZiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9nTWVzc2FnZSAqbXNnLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2dQYXRoT3B0aW9ucyAqcGF0aF9vcHRpb25zKQorK3sKKysgIGNvbnN0IGdjaGFyICpkYmlfZXJyb3IsICplcnJvcl9tZXNzYWdlOworKworKyAgaWYgKGRiaV9jb25uX3Bpbmcoc2VsZi0+ZGJpX2N0eCkgPT0gMSkKKysgICAgeworKyAgICAgIGxvZ19xdWV1ZV9wdXNoX2hlYWQoc2VsZi0+cXVldWUsIG1zZywgcGF0aF9vcHRpb25zKTsKKysgICAgICByZXR1cm4gVFJVRTsKKysgICAgfQorKworKyAgaWYgKGFmc3FsX2RkX2lzX3RyYW5zYWN0aW9uX2hhbmRsaW5nX2VuYWJsZWQoc2VsZikpCisrICAgIHsKKysgICAgICBlcnJvcl9tZXNzYWdlID0gIlNRTCBjb25uZWN0aW9uIGxvc3QgaW4gdGhlIG1pZGRsZSBvZiBhIHRyYW5zYWN0aW9uLCIKKysgICAgICAgICAgICAgICAgICAgICAgIiByZXdpbmRpbmcgYmFja2xvZyBhbmQgc3RhcnRpbmcgYWdhaW4iOworKyAgICAgIGFmc3FsX2RkX2hhbmRsZV90cmFuc2FjdGlvbl9lcnJvcihzZWxmKTsKKysgICAgfQorKyAgZWxzZQorKyAgICB7CisrICAgICAgZXJyb3JfbWVzc2FnZSA9ICJFcnJvciwgbm8gU1FMIGNvbm5lY3Rpb24gYWZ0ZXIgZmFpbGVkIHF1ZXJ5IGF0dGVtcHQiOworKyAgICAgIGxvZ19xdWV1ZV9wdXNoX2hlYWQoc2VsZi0+cXVldWUsIG1zZywgcGF0aF9vcHRpb25zKTsKKysgICAgfQorKworKyAgZGJpX2Nvbm5fZXJyb3Ioc2VsZi0+ZGJpX2N0eCwgJmRiaV9lcnJvcik7CisrICBtc2dfZXJyb3IoZXJyb3JfbWVzc2FnZSwKKysgICAgICAgICAgICBldnRfdGFnX3N0cigidHlwZSIsIHNlbGYtPnR5cGUpLAorKyAgICAgICAgICAgIGV2dF90YWdfc3RyKCJob3N0Iiwgc2VsZi0+aG9zdCksCisrICAgICAgICAgICAgZXZ0X3RhZ19zdHIoInBvcnQiLCBzZWxmLT5wb3J0KSwKKysgICAgICAgICAgICBldnRfdGFnX3N0cigidXNlcm5hbWUiLCBzZWxmLT51c2VyKSwKKysgICAgICAgICAgICBldnRfdGFnX3N0cigiZGF0YWJhc2UiLCBzZWxmLT5kYXRhYmFzZSksCisrICAgICAgICAgICAgZXZ0X3RhZ19zdHIoImVycm9yIiwgZGJpX2Vycm9yKSwKKysgICAgICAgICAgICBOVUxMKTsKKysKKysgIHJldHVybiBGQUxTRTsKKyB9CisgCisgLyoqCitAQCAtODI0LDYxICs4NzUsOTMgQEAgYWZzcWxfZGRfY29uc3RydWN0X3F1ZXJ5KEFGU3FsRGVzdERyaXZlcgorIHN0YXRpYyBnYm9vbGVhbgorIGFmc3FsX2RkX2luc2VydF9kYihBRlNxbERlc3REcml2ZXIgKnNlbGYpCisgeworLSAgR1N0cmluZyAqdGFibGUsICpxdWVyeV9zdHJpbmc7CisrICBHU3RyaW5nICp0YWJsZSA9IE5VTEw7CisrICBHU3RyaW5nICppbnNlcnRfY29tbWFuZCA9IE5VTEw7CisgICBMb2dNZXNzYWdlICptc2c7CisgICBnYm9vbGVhbiBzdWNjZXNzOworICAgTG9nUGF0aE9wdGlvbnMgcGF0aF9vcHRpb25zID0gTE9HX1BBVEhfT1BUSU9OU19JTklUOworIAorLSAgYWZzcWxfZGRfY29ubmVjdChzZWxmKTsKKysgIGlmICghYWZzcWxfZGRfZW5zdXJlX2luaXRpYWxpemVkX2Nvbm5lY3Rpb24oc2VsZikpCisrICAgIHJldHVybiBGQUxTRTsKKyAKKy0gIHN1Y2Nlc3MgPSBsb2dfcXVldWVfcG9wX2hlYWQoc2VsZi0+cXVldWUsICZtc2csICZwYXRoX29wdGlvbnMsIChzZWxmLT5mbGFncyAmIEFGU1FMX0RERl9FWFBMSUNJVF9DT01NSVRTKSwgRkFMU0UpOworKyAgLyogY29ubmVjdGlvbiBlc3RhYmxpc2hlZCwgdHJ5IHRvIGluc2VydCBhIG1lc3NhZ2UgKi8KKysgIHN1Y2Nlc3MgPSBsb2dfcXVldWVfcG9wX2hlYWQoc2VsZi0+cXVldWUsICZtc2csICZwYXRoX29wdGlvbnMsIEZBTFNFLCBzZWxmLT5mbGFncyAmIEFGU1FMX0RERl9FWFBMSUNJVF9DT01NSVRTKTsKKyAgIGlmICghc3VjY2VzcykKKyAgICAgcmV0dXJuIFRSVUU7CisgCisgICBtc2dfc2V0X2NvbnRleHQobXNnKTsKKyAKKy0gIHRhYmxlID0gYWZzcWxfZGRfdmFsaWRhdGVfdGFibGUoc2VsZiwgbXNnKTsKKysgIHRhYmxlID0gYWZzcWxfZGRfZW5zdXJlX2FjY2Vzc2libGVfZGF0YWJhc2VfdGFibGUoc2VsZiwgbXNnKTsKKysKKyAgIGlmICghdGFibGUpCisgICAgIHsKKy0gICAgICAvKiBJZiB2YWxpZGF0ZSB0YWJsZSBpcyBGQUxTRSB0aGVuIGNsb3NlIHRoZSBjb25uZWN0aW9uIGFuZCB3YWl0IHRpbWVfcmVvcGVuIHRpbWUgKG5leHQgY2FsbCkgKi8KKy0gICAgICBtc2dfZXJyb3IoIkVycm9yIGNoZWNraW5nIHRhYmxlLCBkaXNjb25uZWN0aW5nIGZyb20gZGF0YWJhc2UsIHRyeWluZyBhZ2FpbiBzaG9ydGx5IiwKKy0gICAgICAgICAgICAgICAgZXZ0X3RhZ19pbnQoInRpbWVfcmVvcGVuIiwgc2VsZi0+dGltZV9yZW9wZW4pLAorLSAgICAgICAgICAgICAgICBOVUxMKTsKKy0gICAgICBtc2dfc2V0X2NvbnRleHQoTlVMTCk7CistICAgICAgZ19zdHJpbmdfZnJlZSh0YWJsZSwgVFJVRSk7CistICAgICAgcmV0dXJuIGFmc3FsX2RkX2luc2VydF9mYWlsX2hhbmRsZXIoc2VsZiwgbXNnLCAmcGF0aF9vcHRpb25zKTsKKysgICAgICBzdWNjZXNzID0gRkFMU0U7CisrICAgICAgZ290byBvdXQ7CisgICAgIH0KKyAKKy0gIHF1ZXJ5X3N0cmluZyA9IGFmc3FsX2RkX2NvbnN0cnVjdF9xdWVyeShzZWxmLCB0YWJsZSwgbXNnKTsKKysgIGlmIChhZnNxbF9kZF9zaG91bGRfc3RhcnRfbmV3X3RyYW5zYWN0aW9uKHNlbGYpICYmICFhZnNxbF9kZF9iZWdpbl90eG4oc2VsZikpCisrICAgIHsKKysgICAgICBzdWNjZXNzID0gRkFMU0U7CisrICAgICAgZ290byBvdXQ7CisrICAgIH0KKyAKKy0gIGlmIChzZWxmLT5mbHVzaF9saW5lc19xdWV1ZWQgPT0gMCAmJiAhYWZzcWxfZGRfYmVnaW5fdHhuKHNlbGYpKQorLSAgICByZXR1cm4gRkFMU0U7CisrICBpbnNlcnRfY29tbWFuZCA9IGFmc3FsX2RkX2J1aWxkX2luc2VydF9jb21tYW5kKHNlbGYsIG1zZywgdGFibGUpOworKyAgc3VjY2VzcyA9IGFmc3FsX2RkX3J1bl9xdWVyeShzZWxmLCBpbnNlcnRfY29tbWFuZC0+c3RyLCBGQUxTRSwgTlVMTCk7CisgCistICBzdWNjZXNzID0gYWZzcWxfZGRfcnVuX3F1ZXJ5KHNlbGYsIHF1ZXJ5X3N0cmluZy0+c3RyLCBGQUxTRSwgTlVMTCk7CisgICBpZiAoc3VjY2VzcyAmJiBzZWxmLT5mbHVzaF9saW5lc19xdWV1ZWQgIT0gLTEpCisgICAgIHsKKyAgICAgICBzZWxmLT5mbHVzaF9saW5lc19xdWV1ZWQrKzsKKyAKKy0gICAgICBpZiAoc2VsZi0+Zmx1c2hfbGluZXMgJiYgc2VsZi0+Zmx1c2hfbGluZXNfcXVldWVkID09IHNlbGYtPmZsdXNoX2xpbmVzICYmICFhZnNxbF9kZF9jb21taXRfdHhuKHNlbGYpKQorLSAgICAgICAgcmV0dXJuIEZBTFNFOworKyAgICAgIGlmIChhZnNxbF9kZF9zaG91bGRfY29tbWl0X3RyYW5zYWN0aW9uKHNlbGYpICYmICFhZnNxbF9kZF9jb21taXRfdHhuKHNlbGYpKQorKyAgICAgICAgeworKyAgICAgICAgICAvKiBBc3N1bWluZyB0aGF0IGluIGNhc2Ugb2YgZXJyb3IsIHRoZSBxdWV1ZSBpcyByZXdvdW5kIGJ5IGFmc3FsX2RkX2NvbW1pdF90eG4oKSAqLworKworKyAgICAgICAgICBnX3N0cmluZ19mcmVlKGluc2VydF9jb21tYW5kLCBUUlVFKTsKKysgICAgICAgICAgbXNnX3NldF9jb250ZXh0KE5VTEwpOworKworKyAgICAgICAgICByZXR1cm4gRkFMU0U7CisrICAgICAgICB9CisgICAgIH0KKyAKKy0gIGdfc3RyaW5nX2ZyZWUodGFibGUsIFRSVUUpOworLSAgZ19zdHJpbmdfZnJlZShxdWVyeV9zdHJpbmcsIFRSVUUpOworKyBvdXQ6CisrCisrICBpZiAodGFibGUgIT0gTlVMTCkKKysgICAgZ19zdHJpbmdfZnJlZSh0YWJsZSwgVFJVRSk7CisrCisrICBpZiAoaW5zZXJ0X2NvbW1hbmQgIT0gTlVMTCkKKysgICAgZ19zdHJpbmdfZnJlZShpbnNlcnRfY29tbWFuZCwgVFJVRSk7CisgCisgICBtc2dfc2V0X2NvbnRleHQoTlVMTCk7CisgCistICBpZiAoIXN1Y2Nlc3MpCistICAgIHJldHVybiBhZnNxbF9kZF9pbnNlcnRfZmFpbF9oYW5kbGVyKHNlbGYsIG1zZywgJnBhdGhfb3B0aW9ucyk7CisrICBpZiAoc3VjY2VzcykKKysgICAgeworKyAgICAgIGxvZ19tc2dfYWNrKG1zZywgJnBhdGhfb3B0aW9ucyk7CisrICAgICAgbG9nX21zZ191bnJlZihtc2cpOworKyAgICAgIHN0ZXBfc2VxdWVuY2VfbnVtYmVyKCZzZWxmLT5zZXFfbnVtKTsKKysgICAgICBzZWxmLT5mYWlsZWRfbWVzc2FnZV9jb3VudGVyID0gMDsKKysgICAgfQorKyAgZWxzZQorKyAgICB7CisrICAgICAgaWYgKHNlbGYtPmZhaWxlZF9tZXNzYWdlX2NvdW50ZXIgPCBzZWxmLT5udW1fcmV0cmllcyAtIDEpCisrICAgICAgICB7CisrICAgICAgICAgIGlmICghYWZzcWxfZGRfaGFuZGxlX2luc2VydF9yb3dfZXJyb3JfZGVwZW5kaW5nX29uX2Nvbm5lY3Rpb25fYXZhaWxhYmlsaXR5KHNlbGYsIG1zZywgJnBhdGhfb3B0aW9ucykpCisrICAgICAgICAgICAgcmV0dXJuIEZBTFNFOworIAorLSAgLyogd2Ugb25seSBBQ0sgaWYgZWFjaCBJTlNFUlQgaXMgYSBzZXBhcmF0ZSB0cmFuc2FjdGlvbiAqLworLSAgaWYgKChzZWxmLT5mbGFncyAmIEFGU1FMX0RERl9FWFBMSUNJVF9DT01NSVRTKSA9PSAwKQorLSAgICBsb2dfbXNnX2Fjayhtc2csICZwYXRoX29wdGlvbnMpOworLSAgbG9nX21zZ191bnJlZihtc2cpOworLSAgc3RlcF9zZXF1ZW5jZV9udW1iZXIoJnNlbGYtPnNlcV9udW0pOworLSAgc2VsZi0+ZmFpbGVkX21lc3NhZ2VfY291bnRlciA9IDA7CisrICAgICAgICAgIHNlbGYtPmZhaWxlZF9tZXNzYWdlX2NvdW50ZXIrKzsKKysgICAgICAgIH0KKysgICAgICBlbHNlCisrICAgICAgICB7CisrICAgICAgICAgIG1zZ19lcnJvcigiTXVsdGlwbGUgZmFpbHVyZXMgd2hpbGUgaW5zZXJ0aW5nIHRoaXMgcmVjb3JkIGludG8gdGhlIGRhdGFiYXNlLCBtZXNzYWdlIGRyb3BwZWQiLAorKyAgICAgICAgICAgICAgICAgICAgZXZ0X3RhZ19pbnQoImF0dGVtcHRzIiwgc2VsZi0+bnVtX3JldHJpZXMpLAorKyAgICAgICAgICAgICAgICAgICAgTlVMTCk7CisrICAgICAgICAgIHN0YXRzX2NvdW50ZXJfaW5jKHNlbGYtPmRyb3BwZWRfbWVzc2FnZXMpOworKyAgICAgICAgICBsb2dfbXNnX2Ryb3AobXNnLCAmcGF0aF9vcHRpb25zKTsKKysgICAgICAgICAgc2VsZi0+ZmFpbGVkX21lc3NhZ2VfY291bnRlciA9IDA7CisrICAgICAgICAgIHN1Y2Nlc3MgPSBUUlVFOworKyAgICAgICAgfQorKyAgICB9CisgCistICByZXR1cm4gVFJVRTsKKysgIHJldHVybiBzdWNjZXNzOworIH0KKyAKKyBzdGF0aWMgdm9pZAorQEAgLTg5NSw3ICs5NzgsNyBAQCBhZnNxbF9kZF9tZXNzYWdlX2JlY2FtZV9hdmFpbGFibGVfaW5fdGhlCisgc3RhdGljIHZvaWQKKyBhZnNxbF9kZF93YWl0X2Zvcl9zdXNwZW5zaW9uX3dha2V1cChBRlNxbERlc3REcml2ZXIgKnNlbGYpCisgeworLSAgLyogd2UgZ290IHN1c3BlbmRlZCwgcHJvYmFibHkgYmVjYXVzZSBvZiBhIGNvbm5lY3Rpb24gZXJyb3IsICAKKysgIC8qIHdlIGdvdCBzdXNwZW5kZWQsIHByb2JhYmx5IGJlY2F1c2Ugb2YgYSBjb25uZWN0aW9uIGVycm9yLAorICAgICogZHVyaW5nIHRoaXMgdGltZSB3ZSBvbmx5IGdldCB3YWtldXBzIGlmIHdlIG5lZWQgdG8gYmUKKyAgICAqIHRlcm1pbmF0ZWQuICovCisgICBpZiAoIXNlbGYtPmRiX3RocmVhZF90ZXJtaW5hdGUpCitAQCAtOTc0LDggKzEwNTcsNyBAQCBhZnNxbF9kZF9kYXRhYmFzZV90aHJlYWQoZ3BvaW50ZXIgYXJnKQorIAorICAgICAgIGFmc3FsX2RkX2NvbW1pdF90eG4oc2VsZik7CisgICAgIH0KKy0KKy0gZXhpdDoKKytleGl0OgorICAgYWZzcWxfZGRfZGlzY29ubmVjdChzZWxmKTsKKyAKKyAgIG1zZ192ZXJib3NlKCJEYXRhYmFzZSB0aHJlYWQgZmluaXNoZWQiLAorLS0gCisxLjguNC4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL2ZpbGVzL2NvbmZpZ3VyZS5hYy1hZGQtb3B0aW9uLWVuYWJsZS10aHJlYWQtdGxzLXRvLW1hbmFnZS0ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c2xvZy1uZy9maWxlcy9jb25maWd1cmUuYWMtYWRkLW9wdGlvbi1lbmFibGUtdGhyZWFkLXRscy10by1tYW5hZ2UtLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNjOGQxMTAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c2xvZy1uZy9maWxlcy9jb25maWd1cmUuYWMtYWRkLW9wdGlvbi1lbmFibGUtdGhyZWFkLXRscy10by1tYW5hZ2UtLnBhdGNoCkBAIC0wLDAgKzEsNTAgQEAKK2NvbmZpZ3VyZS5hYzogYWRkIG9wdGlvbiAtLWVuYWJsZS10aHJlYWQtdGxzIHRvIG1hbmFnZSB0aHJlYWQgc3NsIHN1cHBvcnQKKworQWRkIG9wdGlvbiAtLWVuYWJsZS10aHJlYWQtdGxzIHRvIG1hbmFnZSB0aGUgaW5jbHVkaW5nIG9mIHRocmVhZAorbG9jYWwgc3RvcmFnZSwgc28gd2UgY291bGQgZXhwbGljaXRseSBkaXNhYmxlIGl0LgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorLS0tCisgY29uZmlndXJlLmFjIHwgMTcgKysrKysrKysrKystLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggNDc0ZTA5NC4uY2VkY2E1NCAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtMTIwLDYgKzEyMCw5IEBAIEFDX0FSR19FTkFCTEUobWVtdHJhY2UsCisgQUNfQVJHX0VOQUJMRShzc2wsCisgICAgICAgICAgICAgICBbICAtLWVuYWJsZS1zc2wgICAgICAgIEVuYWJsZSBTU0wgc3VwcG9ydC5dLCxlbmFibGVfc3NsPSJhdXRvIikKKyAKKytBQ19BUkdfRU5BQkxFKHRocmVhZC10bHMsCisrICAgICAgICAgICAgICBbICAtLWVuYWJsZS10aHJlYWQtdGxzICAgICAgICBFbmFibGUgVGhyZWFkIFRyYW5zcG9ydCBMYXllciBTZWN1cml0eSBzdXBwb3J0Ll0sLGVuYWJsZV90aHJlYWRfdGxzPSJubyIpCisrCisgQUNfQVJHX0VOQUJMRShkeW5hbWljLWxpbmtpbmcsCisgICAgICAgICAgICAgICBbICAtLWVuYWJsZS1keW5hbWljLWxpbmtpbmcgICAgICAgIExpbmsgZXZlcnl0aGluZyBkeW5hbWljYWxseS5dLCxlbmFibGVfZHluYW1pY19saW5raW5nPSJhdXRvIikKKyAKK0BAIC0zODEsMTIgKzM4NCwxNCBAQCBkbmwgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgZG5sIElzIHRoZSBfX3RocmVhZCBrZXl3b3JkIGF2YWlsYWJsZT8KKyBkbmwgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgCistQUNfTElOS19JRkVMU0UoW0FDX0xBTkdfUFJPR1JBTSgKKy1bWyNpbmNsdWRlIDxwdGhyZWFkLmg+CistX190aHJlYWQgaW50IGE7CistXV0sCistW2E9MDtdKV0sCistW2FjX2N2X2hhdmVfdGxzPXllczsgQUNfREVGSU5FX1VOUVVPVEVEKEhBVkVfVEhSRUFEX0tFWVdPUkQsIDEsICJXaGV0aGVyIFRyYW5zcG9ydCBMYXllciBTZWN1cml0eSBpcyBzdXBwb3J0ZWQgYnkgdGhlIHN5c3RlbSIpXSkKKytpZiB0ZXN0ICJ4JGVuYWJsZV90aHJlYWRfdGxzIiAhPSAieG5vIjsgdGhlbgorKyAgICBBQ19MSU5LX0lGRUxTRShbQUNfTEFOR19QUk9HUkFNKAorKyAgICBbWyNpbmNsdWRlIDxwdGhyZWFkLmg+CisrICAgIF9fdGhyZWFkIGludCBhOworKyAgICBdXSwKKysgICAgW2E9MDtdKV0sCisrICAgIFthY19jdl9oYXZlX3Rscz15ZXM7IEFDX0RFRklORV9VTlFVT1RFRChIQVZFX1RIUkVBRF9LRVlXT1JELCAxLCAiV2hldGhlciBUcmFuc3BvcnQgTGF5ZXIgU2VjdXJpdHkgaXMgc3VwcG9ydGVkIGJ5IHRoZSBzeXN0ZW0iKV0pCisrZmkKKyAKKyBkbmwgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgZG5sIEhvdyB0byBkbyBzdGF0aWMgbGlua2luZz8KKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvY29uZmlndXJlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvY29uZmlndXJlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEwOWY1OGMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c2xvZy1uZy9maWxlcy9jb25maWd1cmUucGF0Y2gKQEAgLTAsMCArMSwyMyBAQAorSW5kZXg6IHN5c2xvZy1uZy0zLjUuNC4xL2NvbmZpZ3VyZS5hYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHN5c2xvZy1uZy0zLjUuNC4xLm9yaWcvY29uZmlndXJlLmFjCTIwMTQtMDctMTggMTM6NDk6MzYuNzk0MTQxNDQxICswMDAwCisrKysgc3lzbG9nLW5nLTMuNS40LjEvY29uZmlndXJlLmFjCTIwMTQtMDctMTggMTQ6MjM6NTcuNzM4MTk3NjA2ICswMDAwCitAQCAtOCw3ICs4LDggQEAgZG5sIFNOQVBTSE9UX1ZFUlNJT04gICAtIHNuYXBzaG90IHZlcnNpb24gdG8gYWRkIHRvIHZlcnNpb24gbnVtYmVyCisgZG5sIEJJTkFSWV9CUkFOQ0ggICAgICAtIHRoZSB2YWx1ZSBpcyBhZGRlZCB0byBhbGwgc291cmNlL2JpbmFyeSBwYWNrYWdlcworIGRubCBTT1VSQ0VfUkVWSVNJT04gICAgLSBSZXZpc2lvbiBvZiB0aGUgc291cmNlLXRyZWUsIHdpbGwgYWRkZWQgdG8gdGhlIHZlcnNpb24gc3RyaW5nCisgZG5sCistQUNfSU5JVChzeXNsb2ctbmcvbWFpbi5jKQorK0FDX0lOSVQoc3lzbG9nLW5nLCAzLjUuNC4xKQorK0FDX0NPTkZJR19TUkNESVIoc3lzbG9nLW5nL21haW4uYykKKyBBQ19DT05GSUdfTUFDUk9fRElSKFttNF0pCisgbTRfaWZkZWYoW0FNX1NJTEVOVF9SVUxFU10sIFtBTV9TSUxFTlRfUlVMRVMoW3llc10pXSkKKyAKK0BAIC01Myw3ICs1NCw3IEBAIGVsc2UKKyAgICAgICAgIENVUlJEQVRFPWBkYXRlICsiJWEsICVkICViICVZICVIOiVNOiVTICVaImAKKyBmaQorIAorLUFNX0lOSVRfQVVUT01BS0UoJFBBQ0tBR0UsICRWRVJTSU9OLCBbZm9yZWlnbiBuby1kZWZpbmUgc3ViZGlyLW9iamVjdHNdKQorK0FNX0lOSVRfQVVUT01BS0UoW2ZvcmVpZ24gbm8tZGVmaW5lIHN1YmRpci1vYmplY3RzXSkKKyBfQU1fUFJPR19UQVIoW3VzdGFyXSkKKyBpZiB0ZXN0IC1uICIkU05BUFNIT1RfVkVSU0lPTiI7IHRoZW4KKyAJVkVSU0lPTj0kVkVSU0lPTiskU05BUFNIT1RfVkVSU0lPTgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvZGJpZml4LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvZGJpZml4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE1ZGZiNjgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c2xvZy1uZy9maWxlcy9kYmlmaXgucGF0Y2gKQEAgLTAsMCArMSwyMCBAQAorSW5kZXg6IHN5c2xvZy1uZy0zLjUuNC4xL2NvbmZpZ3VyZS5hYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHN5c2xvZy1uZy0zLjUuNC4xLm9yaWcvY29uZmlndXJlLmFjCTIwMTQtMDctMTggMTQ6MzU6MDMuMTM0MjE1NzQwICswMDAwCisrKysgc3lzbG9nLW5nLTMuNS40LjEvY29uZmlndXJlLmFjCTIwMTQtMDctMTggMTU6MzE6NTIuNTEwMzA4NjUzICswMDAwCitAQCAtNTc2LDEzICs1NzYsMTQgQEAKKyBkbmwgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgCisgQUNfQ0hFQ0tfTElCKGRsLCBkbHN5bSwgRExfTElCUz0iLWxkbCIpCisraWYgdGVzdCAieCRlbmFibGVfc3FsIiAhPSAieG5vIjsgdGhlbgorIFBLR19DSEVDS19NT0RVTEVTKExJQkRCSSwgZGJpID49ICRMSUJEQklfTUlOX1ZFUlNJT04sIGxpYmRiaV9wa2djb25maWdfbm90X2ZvdW5kPSIwIiwgbGliZGJpX3BrZ2NvbmZpZ19ub3RfZm91bmQ9IjEiKQorIAorIGlmIHRlc3QgIiRsaWJkYmlfcGtnY29uZmlnX25vdF9mb3VuZCIgLWVxIDE7IHRoZW4KKyAJZG5sIGlmIGxpYmRiaSBoYXMgbm8gLnBjIGZpbGUsIHRyeSBpdCB3aXRob3V0IG9uZQorIAlBQ19DSEVDS19MSUIoZGJpLCBkYmlfaW5pdGlhbGl6ZSwgTElCREJJX0xJQlM9Ii1sZGJpIjsgTElCREJJX0NGTEFHUz0iLUkvdXNyL2luY2x1ZGUiKQorIGZpCistCisrZmkKKyBpZiB0ZXN0ICJ4JGVuYWJsZV9zcWwiID0gInhhdXRvIjsgdGhlbgorIAlBQ19NU0dfQ0hFQ0tJTkcod2hldGhlciB0byBlbmFibGUgU1FMIHN1cHBvcnQpCisgCWlmIHRlc3QgIngkTElCREJJX0xJQlMiICE9ICJ4IjsgdGhlbgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvZGVpbml0LXRoZS1uZXctY29uZmlnLXdoZW4tcmV2ZXJ0aW5nLXRvLXRoZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL2ZpbGVzL2RlaW5pdC10aGUtbmV3LWNvbmZpZy13aGVuLXJldmVydGluZy10by10aGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDg0YWY3ZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL2ZpbGVzL2RlaW5pdC10aGUtbmV3LWNvbmZpZy13aGVuLXJldmVydGluZy10by10aGUucGF0Y2gKQEAgLTAsMCArMSwzNiBAQAorRnJvbSA4Njg0MmRmOGJmZjVjOTdlNDRmYzU1ZDJmYjdmYzZjMTBmNTZhYjg0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogR2VyZ2VseSBOYWd5IDxhbGdlcm5vbkBiYWxhYml0Lmh1PgorRGF0ZTogRnJpLCAxMyBEZWMgMjAxMyAxMzo0NjoxNSArMDEwMAorU3ViamVjdDogW1BBVENIXSBtYWlubG9vcDogRGVpbml0IHRoZSBuZXcgY29uZmlnIHdoZW4gcmV2ZXJ0aW5nIHRvIHRoZSBvbGQgb25lCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKKworV2hlbiByZWxvYWRpbmcsIGFuZCB0aGUgbmV3IGNvbmZpZyBmYWlscywgZGVpbml0IGl0IGJlZm9yZSBpbml0aWFsaXppbmcKK3RoZSBvbGQgY29uZmlnLiBUaGlzIGlzIHNvIHRoYXQgY29uZmxpY3RpbmcgdGhpbmdzIGRvIG5vdCByZW1haW4gaGVsZCBieQordGhlIGhhbGYtaW5pdGlhbGl6ZWQgbmV3IGNvbmZpZywgd2hpbGUgdGhlIG9sZCB0cmllcyB0byB0YWtlIGl0CitvdmVyLiAoSXQgYWxzbyByZW1vdmVkIGEgY291cGxlIG9mIG1lbW9yeSBsZWFrcywgbW9zdCBsaWtlbHkuKQorCitUaGUgcmVhc29uIHdlIGNhbiBkbyB0aGlzLCBpcyBiZWNhdXNlIGNmZ190cmVlX3N0b3AoKSAoY2FsbGVkIGJ5CitjZmdfZGVpbml0KCkpIGdvZXMgb3ZlciBhbGwgdGhlIGtub3duIG5vZGVzLCBhbmQgbG9nX3BpcGVfZGVpbml0KCkgaXMKK2Fsc28gc21hcnQgZW5vdWdoIHRvIG5vdCBkZWluaXQgYSBub2RlIHRoYXQgaGFzIG5vdCBiZWVuIGluaXRlZCBiZWZvcmUuCisKK1NpZ25lZC1vZmYtYnk6IEdlcmdlbHkgTmFneSA8YWxnZXJub25AYmFsYWJpdC5odT4KKy0tLQorIGxpYi9tYWlubG9vcC5jIHwgMSArCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCisKK2RpZmYgLS1naXQgYS9saWIvbWFpbmxvb3AuYyBiL2xpYi9tYWlubG9vcC5jCitpbmRleCAzNDY1NWZhLi5lNmZiYjU5IDEwMDY0NAorLS0tIGEvbGliL21haW5sb29wLmMKKysrKyBiL2xpYi9tYWlubG9vcC5jCitAQCAtNTEwLDYgKzUxMCw3IEBAIG1haW5fbG9vcF9yZWxvYWRfY29uZmlnX2FwcGx5KHZvaWQpCisgICAgIHsKKyAgICAgICBtc2dfZXJyb3IoIkVycm9yIGluaXRpYWxpemluZyBuZXcgY29uZmlndXJhdGlvbiwgcmV2ZXJ0aW5nIHRvIG9sZCBjb25maWciLCBOVUxMKTsKKyAgICAgICBjZmdfcGVyc2lzdF9jb25maWdfbW92ZShtYWluX2xvb3BfbmV3X2NvbmZpZywgbWFpbl9sb29wX29sZF9jb25maWcpOworKyAgICAgIGNmZ19kZWluaXQobWFpbl9sb29wX25ld19jb25maWcpOworICAgICAgIGlmICghY2ZnX2luaXQobWFpbl9sb29wX29sZF9jb25maWcpKQorICAgICAgICAgeworICAgICAgICAgICAvKiBobW0uIGhtbW0sIGVycm9yIHJlaW5pdGlhbGl6aW5nIG9sZCBjb25maWd1cmF0aW9uLCB3ZSdyZSBob3NlZC4KKy0tIAorMS44LjQuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c2xvZy1uZy9maWxlcy9maXgtYS1tZW1vcnktbGVhay1pbi1sb2dfZHJpdmVyX2ZyZWUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c2xvZy1uZy9maWxlcy9maXgtYS1tZW1vcnktbGVhay1pbi1sb2dfZHJpdmVyX2ZyZWUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjYwMzQ3NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL2ZpbGVzL2ZpeC1hLW1lbW9yeS1sZWFrLWluLWxvZ19kcml2ZXJfZnJlZS5wYXRjaApAQCAtMCwwICsxLDMzIEBACitGcm9tIGEyNjk2NjliYTNjYjZkMWMwNmEzMzIyYjRhNmEwMzVjYjc4N2QwODUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBHZXJnZWx5IE5hZ3kgPGFsZ2Vybm9uQGJhbGFiaXQuaHU+CitEYXRlOiBUdWUsIDE0IEphbiAyMDE0IDEzOjU4OjA1ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGRyaXZlcjogRml4IGEgbWVtb3J5IGxlYWsgaW4gbG9nX2RyaXZlcl9mcmVlKCkKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorCitBZnRlciBmcmVlaW5nIHVwIHRoZSBtZW1iZXJzIG9mIHNlbGYtPnBsdWdpbnMsIGZyZWUgc2VsZi0+cGx1Z2lucyBpdHNlbGYKK3Rvby4KKworU2lnbmVkLW9mZi1ieTogR2VyZ2VseSBOYWd5IDxhbGdlcm5vbkBiYWxhYml0Lmh1PgorLS0tCisgbGliL2RyaXZlci5jIHwgNCArKysrCisgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvbGliL2RyaXZlci5jIGIvbGliL2RyaXZlci5jCitpbmRleCBkNzdmZTU3Li5hNjg2N2I5IDEwMDY0NAorLS0tIGEvbGliL2RyaXZlci5jCisrKysgYi9saWIvZHJpdmVyLmMKK0BAIC05MSw2ICs5MSwxMCBAQCBsb2dfZHJpdmVyX2ZyZWUoTG9nUGlwZSAqcykKKyAgICAgeworICAgICAgIGxvZ19kcml2ZXJfcGx1Z2luX2ZyZWUoKExvZ0RyaXZlclBsdWdpbiAqKSBsLT5kYXRhKTsKKyAgICAgfQorKyAgaWYgKHNlbGYtPnBsdWdpbnMpCisrICAgIHsKKysgICAgICBnX2xpc3RfZnJlZShzZWxmLT5wbHVnaW5zKTsKKysgICAgfQorICAgaWYgKHNlbGYtPmdyb3VwKQorICAgICBnX2ZyZWUoc2VsZi0+Z3JvdXApOworICAgaWYgKHNlbGYtPmlkKQorLS0gCisxLjguNC4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL2ZpbGVzL2ZpeC1jb25maWctbGlibmV0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvZml4LWNvbmZpZy1saWJuZXQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzU1ODAzYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL2ZpbGVzL2ZpeC1jb25maWctbGlibmV0LnBhdGNoCkBAIC0wLDAgKzEsNjYgQEAKK1N1YmplY3Q6IFtQQVRDSF0gYWRkIGxpYm5ldCBlbmFibGUgb3B0aW9uCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitUaGlzIHdvdWxkIGF2b2lkIGEgaW1wbGljaXQgYXV0by1kZXRlY3RpbmcgcmVzdWx0LgorCitTaWduZWQtb2ZmLWJ5OiBNaW5nIExpdSA8bWluZy5saXVAd2luZHJpdmVyLmNvbT4KK1NpZ25lZC1vZmYtYnk6IEphY2tpZSBIdWFuZyA8amFja2llLmh1YW5nQHdpbmRyaXZlci5jb20+CistLS0KKyBjb25maWd1cmUuYWMgfCAgIDI3ICsrKysrKysrKysrKysrKysrLS0tLS0tLS0tLQorIDEgZmlsZXMgY2hhbmdlZCwgMTcgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IGIxZTE4YjQuLjhlMTMwMjUgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTczLDYgKzczLDkgQEAgQUNfQ09ORklHX0hFQURFUlMoY29uZmlnLmgpCisgZG5sICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIGRubCBBcmd1bWVudHMKKyAKKytBQ19BUkdfRU5BQkxFKGxpYm5ldCwgCisrICAgICAgICAgICAgICBbICAtLWVuYWJsZS1saWJuZXQgICAgICBFbmFibGUgbGlibmV0IHN1cHBvcnQuXSwsIGVuYWJsZV9saWJuZXQ9Im5vIikKKysKKyBBQ19BUkdfV0lUSChsaWJuZXQsCisgICAgWyAgLS13aXRoLWxpYm5ldD1wYXRoICAgICAgdXNlIHBhdGggdG8gbGlibmV0LWNvbmZpZyBzY3JpcHRdLAorICAgICwKK0BAIC03NjgsMjIgKzc3MSwyNiBAQCBkbmwgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgZG5sIGxpYm5ldCBoZWFkZXJzL2xpYnJhcmllcworIGRubCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyBBQ19NU0dfQ0hFQ0tJTkcoZm9yIExJQk5FVCkKKy1pZiB0ZXN0ICJ4JHdpdGhfbGlibmV0IiA9ICJ4IjsgdGhlbgorLSAgICAgICAgTElCTkVUX0NPTkZJRz0iYHdoaWNoIGxpYm5ldC1jb25maWdgIgorLWVsc2UKKy0gICAgICAgIExJQk5FVF9DT05GSUc9IiR3aXRoX2xpYm5ldC9saWJuZXQtY29uZmlnIgorLWZpCisraWYgdGVzdCAieCRlbmFibGVfbGlibmV0IiA9IHh5ZXM7IHRoZW4KKysgICAgICAgIGlmIHRlc3QgIngkd2l0aF9saWJuZXQiID0gIngiOyB0aGVuCisrICAgICAgICAgICAgICAgIExJQk5FVF9DT05GSUc9ImB3aGljaCBsaWJuZXQtY29uZmlnYCIKKysgICAgICAgIGVsc2UKKysgICAgICAgICAgICAgICAgTElCTkVUX0NPTkZJRz0iJHdpdGhfbGlibmV0L2xpYm5ldC1jb25maWciCisrICAgICAgICBmaQorKyAKKysgICAgICAgIGlmIHRlc3QgLW4gIiRMSUJORVRfQ09ORklHIiAtYSAteCAiJExJQk5FVF9DT05GSUciOyB0aGVuCisrICAgICAgICAgICAgICAgIExJQk5FVF9DRkxBR1M9ImAkTElCTkVUX0NPTkZJRyAtLWRlZmluZXNgIgorKyAgICAgICAgICAgICAgICBMSUJORVRfTElCUz0iYCRMSUJORVRfQ09ORklHIC0tbGlic2AiCisrICAgICAgICAgICAgICAgIEFDX01TR19SRVNVTFQoeWVzKQorKyAgICAgICAgZWxzZQorKyAgICAgICAgICAgICAgICBBQ19NU0dfRVJST1IoW0NvdWxkIG5vdCBmaW5kIGxpYm5ldCwgYW5kIGxpYm5ldCBzdXBwb3J0IHdhcyBleHBsaWNpdGx5IGVuYWJsZWQuXSkKKysgICAgICAgIGZpCisgCistaWYgdGVzdCAtbiAiJExJQk5FVF9DT05GSUciIC1hIC14ICIkTElCTkVUX0NPTkZJRyI7IHRoZW4KKy0gICAgICAgIExJQk5FVF9DRkxBR1M9ImAkTElCTkVUX0NPTkZJRyAtLWRlZmluZXNgIgorLSAgICAgICAgTElCTkVUX0xJQlM9ImAkTElCTkVUX0NPTkZJRyAtLWxpYnNgIgorLSAgICAgICAgQUNfTVNHX1JFU1VMVCh5ZXMpCisgZWxzZQorICAgICAgICAgTElCTkVUX0xJQlM9CisgICAgICAgICBBQ19NU0dfUkVTVUxUKG5vKQorIGZpCisgCistCisgaWYgdGVzdCAieCRlbmFibGVfc3Bvb2Zfc291cmNlIiA9ICJ4YXV0byI7IHRoZW4KKyAJQUNfTVNHX0NIRUNLSU5HKHdoZXRoZXIgdG8gZW5hYmxlIHNwb29mIHNvdXJjZSBzdXBwb3J0KQorICAgICAgICAgaWYgdGVzdCAieCRMSUJORVRfTElCUyIgIT0gIngiOyB0aGVuCistLSAKKzEuNy4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL2ZpbGVzL2ZpeC1pbnZhbGlkLW93bmVyc2hpcC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL2ZpbGVzL2ZpeC1pbnZhbGlkLW93bmVyc2hpcC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYWY5NjcyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvZml4LWludmFsaWQtb3duZXJzaGlwLnBhdGNoCkBAIC0wLDAgKzEsMjggQEAKK3N5c2xvZy1uZzogZml4IHdyb25nIG93bmVyc2hpcCBpc3N1ZQorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworVGhlIG93bmVyc2hpcCBvZiBidWlsZCB1c2VyIGlzIHByZXNlcnZlZCBmb3Igc29tZSB0YXJnZXQgZmlsZXMsIGZpeGVkIGl0IGJ5CithZGRpbmcgLS1uby1zYW1lLW93bmVyIG9wdGlvbiB0byB0YXIgd2hlbiBleHRyYWN0aW5nIGZpbGVzLiAKKworU2lnbmVkLW9mZi1ieTogTWluZyBMaXUgPG1pbmcubGl1QHdpbmRyaXZlci5jb20+CistLS0KKyBzY2wvTWFrZWZpbGUuYW0gfCAgICAyICstCisgMSBmaWxlcyBjaGFuZ2VkLCAxIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zY2wvTWFrZWZpbGUuYW0gYi9zY2wvTWFrZWZpbGUuYW0KK2luZGV4IDU3ZmFkNWQuLjJhMjljYTUgMTAwNjQ0CistLS0gYS9zY2wvTWFrZWZpbGUuYW0KKysrKyBiL3NjbC9NYWtlZmlsZS5hbQorQEAgLTE0LDcgKzE0LDcgQEAgc2NsLWluc3RhbGwtZGF0YS1sb2NhbDoKKyAJCWZpOyBcCisgCWRvbmUKKyAJJChta2luc3RhbGxkaXJzKSAkKERFU1RESVIpLyQoc2NsZGlyKQorLQkoY2QgJChzcmNkaXIpL3NjbDsgdGFyIGNmIC0gJChTQ0xfU1VCRElSUykpIHwgKGNkICQoREVTVERJUikvJChzY2xkaXIpICYmIHRhciB4ZiAtKQorKwkoY2QgJChzcmNkaXIpL3NjbDsgdGFyIGNmIC0gJChTQ0xfU1VCRElSUykpIHwgKGNkICQoREVTVERJUikvJChzY2xkaXIpICYmIHRhciB4ZiAtIC0tbm8tc2FtZS1vd25lcikKKyAJY2htb2QgLVIgdStyd1ggJChERVNURElSKS8kKHNjbGRpcikKKyAKKyBzY2wtdW5pbnN0YWxsLWxvY2FsOgorLS0gCisxLjcuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c2xvZy1uZy9maWxlcy9mcmVlLWdsb2JhbC1Mb2dUZW1wbGF0ZU9wdGlvbnMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c2xvZy1uZy9maWxlcy9mcmVlLWdsb2JhbC1Mb2dUZW1wbGF0ZU9wdGlvbnMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDQzOWEyNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL2ZpbGVzL2ZyZWUtZ2xvYmFsLUxvZ1RlbXBsYXRlT3B0aW9ucy5wYXRjaApAQCAtMCwwICsxLDMwIEBACitGcm9tIDNlZjZjYTgwNDQyNjBjNzcxMThlZGNhNmRlYWQ4MDdhMmVkY2I1ZWYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBCYWxhenMgU2NoZWlkbGVyIDxiYXpzaUBiYWxhYml0Lmh1PgorRGF0ZTogVGh1LCAzMSBPY3QgMjAxMyAxMzoyMDoxMiArMDEwMAorU3ViamVjdDogW1BBVENIXSBjZmc6IGZyZWUgZ2xvYmFsIExvZ1RlbXBsYXRlT3B0aW9ucworCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CisKK1RoaXMgZml4ZXMgYSBwb3RlbnRpYWwgbWVtb3J5IGxlYWsgd2hlbiBnbG9iYWwgdGVtcGxhdGUgc3BlY2lmaWMKK29wdGlvbnMgd2VyZSBzcGVjaWZpZWQsIHN1Y2ggYXMgbG9jYWwtdGltZS16b25lKCksIHNlbmQtdGltZS16b25lKCkgZXRjLgorCitTaWduZWQtb2ZmLWJ5OiBCYWxhenMgU2NoZWlkbGVyIDxiYXpzaUBiYWxhYml0Lmh1PgorLS0tCisgbGliL2NmZy5jIHwgMSArCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCisKK2RpZmYgLS1naXQgYS9saWIvY2ZnLmMgYi9saWIvY2ZnLmMKK2luZGV4IDdmMDQwYjguLmFkZWFhZjggMTAwNjQ0CistLS0gYS9saWIvY2ZnLmMKKysrKyBiL2xpYi9jZmcuYworQEAgLTQxMSw2ICs0MTEsNyBAQCBjZmdfZnJlZShHbG9iYWxDb25maWcgKnNlbGYpCisgICBnX2ZyZWUoc2VsZi0+cHJvdG9fdGVtcGxhdGVfbmFtZSk7ICAKKyAgIGxvZ190ZW1wbGF0ZV91bnJlZihzZWxmLT5maWxlX3RlbXBsYXRlKTsKKyAgIGxvZ190ZW1wbGF0ZV91bnJlZihzZWxmLT5wcm90b190ZW1wbGF0ZSk7CisrICBsb2dfdGVtcGxhdGVfb3B0aW9uc19kZXN0cm95KCZzZWxmLT50ZW1wbGF0ZV9vcHRpb25zKTsKKyAKKyAgIGlmIChzZWxmLT5iYWRfaG9zdG5hbWVfY29tcGlsZWQpCisgICAgIHJlZ2ZyZWUoJnNlbGYtPmJhZF9ob3N0bmFtZSk7CistLSAKKzEuOC40LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvaW5pdHNjcmlwdCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL2ZpbGVzL2luaXRzY3JpcHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTEwMDMwZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL2ZpbGVzL2luaXRzY3JpcHQKQEAgLTAsMCArMSw2MiBAQAorIyEgL2Jpbi9zaAorIworIyBUaGlzIGlzIGFuIGluaXQgc2NyaXB0IGZvciBvcGVuZW1iZWRkZWQKKyMgQ29weSBpdCB0byAvZXRjL2luaXQuZC9zeXNsb2ctbmcgYW5kIHR5cGUKKyMgPiB1cGRhdGUtcmMuZCBzeXNsb2ctbmcgZGVmYXVsdHMgNQorIworCisjIFNvdXJjZSBmdW5jdGlvbiBsaWJyYXJ5CisuIC9ldGMvaW5pdC5kL2Z1bmN0aW9ucworCitzeXNsb2dfbmc9L3Vzci9zYmluL3N5c2xvZy1uZwordGVzdCAteCAiJHN5c2xvZ19uZyIgfHwgZXhpdCAwCisKK1BJREZJTEU9L3Zhci9ydW4vc3lzbG9nLW5nL3N5c2xvZy1uZy5waWQKKworY3JlYXRlX3hjb25zb2xlKCkgeworICB0ZXN0IC1lIC9kZXYveGNvbnNvbGUgfHwgbWtub2QgLW0gNjQwIC9kZXYveGNvbnNvbGUgcAorICB0ZXN0IC14IC9zYmluL3Jlc3RvcmVjb24gJiYgL3NiaW4vcmVzdG9yZWNvbiAvZGV2L3hjb25zb2xlCit9CisKK1JFVFZBTD0wCisKK2Nhc2UgIiQxIiBpbgorICBzdGFydCkKKyAgICBbICIke1ZFUkJPU0V9IiAhPSAibm8iIF0gJiYgZWNobyAtbiAiU3RhcnRpbmcgc3lzbG9nLW5nOiIKKyAgICBjcmVhdGVfeGNvbnNvbGUKKyAgICBzdGFydC1zdG9wLWRhZW1vbiAtLXN0YXJ0IC0tcXVpZXQgLS1waWRmaWxlICRQSURGSUxFIC0tZXhlYyAkc3lzbG9nX25nCisgICAgWyAiJHtWRVJCT1NFfSIgIT0gIm5vIiBdICYmIGVjaG8gIi4iCisgICAgOzsKKyAgc3RvcCkKKyAgICBbICIke1ZFUkJPU0V9IiAhPSAibm8iIF0gJiYgZWNobyAtbiAiU3RvcHBpbmcgc3lzbG9nLW5nOiIKKyAgICBzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLS1xdWlldCAtLXBpZGZpbGUgJFBJREZJTEUKKyAgICBbICIke1ZFUkJPU0V9IiAhPSAibm8iIF0gJiYgZWNobyAiLiIKKyAgICA7OworICByZWxvYWR8Zm9yY2UtcmVsb2FkKQorICAgIHN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RvcCAtLXF1aWV0IC0tc2lnbmFsIDEgLS1leGVjICRzeXNsb2dfbmcKKyAgICA7OworICByZXN0YXJ0KQorICAgIGVjaG8gIlN0b3BwaW5nIHN5c2xvZy1uZzoiCisgICAgc3RhcnQtc3RvcC1kYWVtb24gLS1zdG9wIC0tcXVpZXQgLS1waWRmaWxlICRQSURGSUxFCisgICAgZWNobyAtbiAiV2FpdGluZyBmb3Igc3lzbG9nLW5nIHRvIGRpZSBvZmYiCisgICAgZm9yIGkgaW4gMSAyIDMgOworICAgIGRvCisgICAgICAgIHNsZWVwIDEKKyAgICAgICAgZWNobyAtbiAiLiIKKyAgICBkb25lCisgICAgZWNobyAiIgorICAgIGVjaG8gLW4gIlN0YXJ0aW5nIHN5c2xvZy1uZzoiCisgICAgY3JlYXRlX3hjb25zb2xlCisgICAgc3RhcnQtc3RvcC1kYWVtb24gLS1zdGFydCAtLXF1aWV0IC0tcGlkZmlsZSAkUElERklMRSAtLWV4ZWMgJHN5c2xvZ19uZworICAgIGVjaG8gIi4iCisgICAgOzsKKyAgc3RhdHVzKQorICAgIHN0YXR1cyAkc3lzbG9nX25nCisgICAgUkVUVkFMPSQ/CisgICAgOzsKKyAgKikKKyAgICBlY2hvICJVc2FnZTogJDAge3N0YXJ0fHN0b3B8cmVsb2FkfHJlc3RhcnR8Zm9yY2UtcmVsb2FkfHN0YXR1c30iCisgICAgZXhpdCAxCitlc2FjCisKK2V4aXQgJFJFVFZBTApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvbG9nd3JpdGVyLWRvbnQtYWxsb2NhdGUtYS1uZXctYnVmZmVyLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvbG9nd3JpdGVyLWRvbnQtYWxsb2NhdGUtYS1uZXctYnVmZmVyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjllM2Q2NGIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c2xvZy1uZy9maWxlcy9sb2d3cml0ZXItZG9udC1hbGxvY2F0ZS1hLW5ldy1idWZmZXIucGF0Y2gKQEAgLTAsMCArMSwyNiBAQAorbG9nd3JpdGVyOiBEb24ndCBhbGxvY2F0ZSBhIG5ldyBidWZmZXIgaWYgZmFpbHMgdG8gY29uc3VtZSBjdXJyZW50IGl0ZW0KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IFh1ZmVuZyBaaGFuZyA8eHVmZW5nLnpoYW5nQHdpbmRyaXZlci5jb20+CistLS0KKy0tLSBhL2xpYi9sb2d3cml0ZXIuYworKysrIGIvbGliL2xvZ3dyaXRlci5jCitAQCAtMTAxMCw3ICsxMDEwLDcgQEAKKyAgICAgICAgIHsKKyAgICAgICAgICAgc3RhdHVzID0gbG9nX3Byb3RvX2NsaWVudF9wb3N0KHByb3RvLCAoZ3VjaGFyICopIHNlbGYtPmxpbmVfYnVmZmVyLT5zdHIsIHNlbGYtPmxpbmVfYnVmZmVyLT5sZW4sICZjb25zdW1lZCk7CisgCistICAgICAgICAgIGlmIChjb25zdW1lZCkKKysgICAgICAgICAgaWYgKGNvbnN1bWVkICYmIHN0YXR1cyAhPSBMUFNfRVJST1IpCisgICAgICAgICAgICAgbG9nX3dyaXRlcl9yZWFsbG9jX2xpbmVfYnVmZmVyKHNlbGYpOworIAorICAgICAgICAgICBpZiAoc3RhdHVzID09IExQU19FUlJPUikKK0BAIC0xMDI4LDcgKzEwMjgsNyBAQAorICAgICAgICAgICAgICAgICAgICAgTlVMTCk7CisgICAgICAgICAgIGNvbnN1bWVkID0gVFJVRTsKKyAgICAgICAgIH0KKy0gICAgICBpZiAoY29uc3VtZWQpCisrICAgICAgaWYgKGNvbnN1bWVkICYmIHN0YXR1cyAhPSBMUFNfRVJST1IpCisgICAgICAgICB7CisgICAgICAgICAgIGlmIChsbS0+ZmxhZ3MgJiBMRl9MT0NBTCkKKyAgICAgICAgICAgICBzdGVwX3NlcXVlbmNlX251bWJlcigmc2VsZi0+c2VxX251bSk7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c2xvZy1uZy9maWxlcy9yZXdyaXRlLWV4cHItZ3JhbW1hci55bS1GcmVlLXVwLXRva2VuLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvcmV3cml0ZS1leHByLWdyYW1tYXIueW0tRnJlZS11cC10b2tlbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xOTUxYWY5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvcmV3cml0ZS1leHByLWdyYW1tYXIueW0tRnJlZS11cC10b2tlbi5wYXRjaApAQCAtMCwwICsxLDE3IEBACityZXdyaXRlLWV4cHItZ3JhbW1hci55bTogRnJlZSB1cCB0b2tlbi4KKworVXBzdGVhbS1TdGF0dXM6IEJhY2twb3J0CisKK1JlcG9ydGVkLWJ5OiBYdWZlbmcgWmhhbmcgPHh1ZmVuZy56aGFuZ0B3aW5kcml2ZXIuY29tPgorU2lnbmVkLW9mZi1ieTogVmlrdG9yIFR1c2EgPHR1c2F2aWtAZ21haWwuY29tPgorLS0tCistLS0gYS9saWIvcmV3cml0ZS9yZXdyaXRlLWV4cHItZ3JhbW1hci55bQorKysrIGIvbGliL3Jld3JpdGUvcmV3cml0ZS1leHByLWdyYW1tYXIueW0KK0BAIC03OCw2ICs3OCw3IEBACisgCisgCSAgICAkJCA9IGxvZ190ZW1wbGF0ZV9uZXcoY29uZmlndXJhdGlvbiwgJDEpOworIAkgICAgQ0hFQ0tfRVJST1IobG9nX3RlbXBsYXRlX2NvbXBpbGUoJCQsICQxLCAmZXJyb3IpLCBAMSwgIkVycm9yIGNvbXBpbGluZyB0ZW1wbGF0ZSAoJXMpIiwgZXJyb3ItPm1lc3NhZ2UpOworKyAgICAgICAgICAgIGZyZWUoJDEpOworIAkgIH0KKyAJOworIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvc3RpbGwtZnJlZS10aGUtdW5jb25zdW1lZC1pdGVtLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvc3RpbGwtZnJlZS10aGUtdW5jb25zdW1lZC1pdGVtLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVhMTg2ODIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c2xvZy1uZy9maWxlcy9zdGlsbC1mcmVlLXRoZS11bmNvbnN1bWVkLWl0ZW0ucGF0Y2gKQEAgLTAsMCArMSw5MCBAQAorRnJvbSAzNjUwMjBjNWMwODIzYzkxYTgwMTFlMzQ1OTdmOTcwYTdjZmI0ZmIzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogVHVzYSBWaWt0b3IgPHR1c2F2aWtAZ21haWwuY29tPgorRGF0ZTogV2VkLCAyMyBBcHIgMjAxNCAxNzoxMDo1OCArMDAwMAorU3ViamVjdDogW1BBVENIXSBsb2d3cml0ZXI6IHN0aWxsIGZyZWUgdGhlIHVuY29uc3VtZWQgaXRlbSBkdXJpbmcgcmVsb2FkaW5nCisgY29uZmlndXJhdGlvbgorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CisKK090aGVyd2lzZSB3ZSBoYXZlIG5vIGNoYW5jZSB0byBmcmVlIHRoaXMgc3R1ZmYuCisKK1JlcG9ydGVkLWJ5OiBYdWZlbmcgWmhhbmcgPHh1ZmVuZy56aGFuZ0B3aW5kcml2ZXIuY29tPgorU2lnbmVkLW9mZi1ieTogVHVzYSBWaWt0b3IgPHR1c2F2aWtAZ21haWwuY29tPgorU2lnbmVkLW9mZi1ieTogR2VyZ2VseSBOYWd5IDxhbGdlcm5vbkBtYWRob3VzZS1wcm9qZWN0Lm9yZz4KKy0tLQorIGxpYi9sb2dwcm90by9sb2dwcm90by1jbGllbnQuaCAgICAgIHwgICAgMiArLQorIGxpYi9sb2dwcm90by9sb2dwcm90by10ZXh0LWNsaWVudC5jIHwgICAxMSArKysrKysrKysrKworIGxpYi9sb2d3cml0ZXIuYyAgICAgICAgICAgICAgICAgICAgIHwgICAgOSArKysrKysrLS0KKyAzIGZpbGVzIGNoYW5nZWQsIDE5IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9saWIvbG9ncHJvdG8vbG9ncHJvdG8tY2xpZW50LmggYi9saWIvbG9ncHJvdG8vbG9ncHJvdG8tY2xpZW50LmgKK2luZGV4IDI1NGVjZjkuLjVhZGM5MTcgMTAwNjQ0CistLS0gYS9saWIvbG9ncHJvdG8vbG9ncHJvdG8tY2xpZW50LmgKKysrKyBiL2xpYi9sb2dwcm90by9sb2dwcm90by1jbGllbnQuaAorQEAgLTQ3LDcgKzQ3LDYgQEAgdm9pZCBsb2dfcHJvdG9fY2xpZW50X29wdGlvbnNfZGVmYXVsdHMoTG9nUHJvdG9DbGllbnRPcHRpb25zICpvcHRpb25zKTsKKyB2b2lkIGxvZ19wcm90b19jbGllbnRfb3B0aW9uc19pbml0KExvZ1Byb3RvQ2xpZW50T3B0aW9ucyAqb3B0aW9ucywgR2xvYmFsQ29uZmlnICpjZmcpOworIHZvaWQgbG9nX3Byb3RvX2NsaWVudF9vcHRpb25zX2Rlc3Ryb3koTG9nUHJvdG9DbGllbnRPcHRpb25zICpvcHRpb25zKTsKKyAKKy0KKyBzdHJ1Y3QgX0xvZ1Byb3RvQ2xpZW50CisgeworICAgTG9nUHJvdG9TdGF0dXMgc3RhdHVzOworQEAgLTEwNyw2ICsxMDYsNyBAQCBsb2dfcHJvdG9fY2xpZW50X3Jlc2V0X2Vycm9yKExvZ1Byb3RvQ2xpZW50ICpzKQorIGdib29sZWFuIGxvZ19wcm90b19jbGllbnRfdmFsaWRhdGVfb3B0aW9ucyhMb2dQcm90b0NsaWVudCAqc2VsZik7Cisgdm9pZCBsb2dfcHJvdG9fY2xpZW50X2luaXQoTG9nUHJvdG9DbGllbnQgKnMsIExvZ1RyYW5zcG9ydCAqdHJhbnNwb3J0LCBjb25zdCBMb2dQcm90b0NsaWVudE9wdGlvbnMgKm9wdGlvbnMpOworIHZvaWQgbG9nX3Byb3RvX2NsaWVudF9mcmVlKExvZ1Byb3RvQ2xpZW50ICpzKTsKKyt2b2lkIGxvZ19wcm90b19jbGllbnRfZnJlZV9tZXRob2QoTG9nUHJvdG9DbGllbnQgKnMpOworIAorICNkZWZpbmUgREVGSU5FX0xPR19QUk9UT19DTElFTlQocHJlZml4KSBcCisgICBzdGF0aWMgZ3BvaW50ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorZGlmZiAtLWdpdCBhL2xpYi9sb2dwcm90by9sb2dwcm90by10ZXh0LWNsaWVudC5jIGIvbGliL2xvZ3Byb3RvL2xvZ3Byb3RvLXRleHQtY2xpZW50LmMKK2luZGV4IDMyNDg3NTkuLmE1MTAwZjMgMTAwNjQ0CistLS0gYS9saWIvbG9ncHJvdG8vbG9ncHJvdG8tdGV4dC1jbGllbnQuYworKysrIGIvbGliL2xvZ3Byb3RvL2xvZ3Byb3RvLXRleHQtY2xpZW50LmMKK0BAIC0xNDYsMTIgKzE0NiwyMyBAQCBsb2dfcHJvdG9fdGV4dF9jbGllbnRfcG9zdChMb2dQcm90b0NsaWVudCAqcywgZ3VjaGFyICptc2csIGdzaXplIG1zZ19sZW4sIGdib29sZQorIH0KKyAKKyB2b2lkCisrbG9nX3Byb3RvX3RleHRfY2xpZW50X2ZyZWUoTG9nUHJvdG9DbGllbnQgKnMpCisreworKyAgTG9nUHJvdG9UZXh0Q2xpZW50ICpzZWxmID0gKExvZ1Byb3RvVGV4dENsaWVudCAqKXM7CisrICBpZiAoc2VsZi0+cGFydGlhbF9mcmVlKQorKyAgICBzZWxmLT5wYXJ0aWFsX2ZyZWUoc2VsZi0+cGFydGlhbCk7CisrICBzZWxmLT5wYXJ0aWFsID0gTlVMTDsKKysgIGxvZ19wcm90b19jbGllbnRfZnJlZV9tZXRob2Qocyk7CisrfTsKKysKKyt2b2lkCisgbG9nX3Byb3RvX3RleHRfY2xpZW50X2luaXQoTG9nUHJvdG9UZXh0Q2xpZW50ICpzZWxmLCBMb2dUcmFuc3BvcnQgKnRyYW5zcG9ydCwgY29uc3QgTG9nUHJvdG9DbGllbnRPcHRpb25zICpvcHRpb25zKQorIHsKKyAgIGxvZ19wcm90b19jbGllbnRfaW5pdCgmc2VsZi0+c3VwZXIsIHRyYW5zcG9ydCwgb3B0aW9ucyk7CisgICBzZWxmLT5zdXBlci5wcmVwYXJlID0gbG9nX3Byb3RvX3RleHRfY2xpZW50X3ByZXBhcmU7CisgICBzZWxmLT5zdXBlci5mbHVzaCA9IGxvZ19wcm90b190ZXh0X2NsaWVudF9mbHVzaDsKKyAgIHNlbGYtPnN1cGVyLnBvc3QgPSBsb2dfcHJvdG9fdGV4dF9jbGllbnRfcG9zdDsKKysgIHNlbGYtPnN1cGVyLmZyZWVfZm4gPSBsb2dfcHJvdG9fdGV4dF9jbGllbnRfZnJlZTsKKyAgIHNlbGYtPnN1cGVyLnRyYW5zcG9ydCA9IHRyYW5zcG9ydDsKKyAgIHNlbGYtPm5leHRfc3RhdGUgPSAtMTsKKyB9CitkaWZmIC0tZ2l0IGEvbGliL2xvZ3dyaXRlci5jIGIvbGliL2xvZ3dyaXRlci5jCitpbmRleCAzMjkyZTMxLi40NzBiY2RiIDEwMDY0NAorLS0tIGEvbGliL2xvZ3dyaXRlci5jCisrKysgYi9saWIvbG9nd3JpdGVyLmMKK0BAIC0xMDYzLDggKzEwNjMsMTMgQEAgbG9nX3dyaXRlcl9mbHVzaChMb2dXcml0ZXIgKnNlbGYsIExvZ1dyaXRlckZsdXNoTW9kZSBmbHVzaF9tb2RlKQorICAgICAgICAgfQorICAgICAgIGVsc2UKKyAgICAgICAgIHsKKy0gICAgICAgICAgLyogcHVzaCBiYWNrIHRvIHRoZSBxdWV1ZSAqLworLSAgICAgICAgICBsb2dfcXVldWVfcHVzaF9oZWFkKHNlbGYtPnF1ZXVlLCBsbSwgJnBhdGhfb3B0aW9ucyk7CisrICAgICAgICAgIGlmIChmbHVzaF9tb2RlID09IExXX0ZMVVNIX1FVRVVFKQorKyAgICAgICAgICAgIGxvZ19tc2dfdW5yZWYobG0pOworKyAgICAgICAgICBlbHNlCisrICAgICAgICAgICAgeworKyAgICAgICAgICAgICAgLyogcHVzaCBiYWNrIHRvIHRoZSBxdWV1ZSAqLworKyAgICAgICAgICAgICAgbG9nX3F1ZXVlX3B1c2hfaGVhZChzZWxmLT5xdWV1ZSwgbG0sICZwYXRoX29wdGlvbnMpOworKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgbXNnX3NldF9jb250ZXh0KE5VTEwpOworICAgICAgICAgICBsb2dfbXNnX3JlZmNhY2hlX3N0b3AoKTsKKyAgICAgICAgICAgYnJlYWs7CistLSAKKzEuNy4xMC40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL2ZpbGVzL3N5c2xvZy1uZy12ZXJpZnktdGhlLWxpc3QtYmVmb3JlLWRlbC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL2ZpbGVzL3N5c2xvZy1uZy12ZXJpZnktdGhlLWxpc3QtYmVmb3JlLWRlbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lODExOWI4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvc3lzbG9nLW5nLXZlcmlmeS10aGUtbGlzdC1iZWZvcmUtZGVsLnBhdGNoCkBAIC0wLDAgKzEsMzggQEAKK1ZlcmlmeSB0aGUgdmFsaWRpdHkgb2YgdGhlIHBvaW50ZXIgYmVmb3JlIGRlbGV0ZSBpdAorCitPdGhlcndpc2UsIHdlIGdvdCBhIGNyYXNoIGF0IGxvZ3F1ZXVlLWZpZm8uYzozNDQKKyAgMzQ0IGl2X2xpc3RfZGVsKCZub2RlLT5saXN0KTsKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IFh1ZmVuZyBaaGFuZyA8eHVmZW5nLnpoYW5nQHdpbmRyaXZlci5jb20+CistLS0KKy0tLSBhL2xpYi9sb2dxdWV1ZS1maWZvLmMKKysrKyBiL2xpYi9sb2dxdWV1ZS1maWZvLmMKK0BAIC0zMzksMTUgKzMzOSwxOCBAQAorICAgICAgICptc2cgPSBub2RlLT5tc2c7CisgICAgICAgcGF0aF9vcHRpb25zLT5hY2tfbmVlZGVkID0gbm9kZS0+YWNrX25lZWRlZDsKKyAgICAgICBzZWxmLT5xb3ZlcmZsb3dfb3V0cHV0X2xlbi0tOworLSAgICAgIGlmICghcHVzaF90b19iYWNrbG9nKQorKyAgICAgIGlmICgoJm5vZGUtPmxpc3QpICYmICgmbm9kZS0+bGlzdCktPm5leHQgJiYgKCZub2RlLT5saXN0KS0+cHJldikKKyAgICAgICAgIHsKKy0gICAgICAgICAgaXZfbGlzdF9kZWwoJm5vZGUtPmxpc3QpOworLSAgICAgICAgICBsb2dfbXNnX2ZyZWVfcXVldWVfbm9kZShub2RlKTsKKy0gICAgICAgIH0KKy0gICAgICBlbHNlCistICAgICAgICB7CistICAgICAgICAgIGl2X2xpc3RfZGVsX2luaXQoJm5vZGUtPmxpc3QpOworLSAgICAgICAgfQorKyAgICAgICAgICBpZiAoIXB1c2hfdG9fYmFja2xvZykKKysgICAgICAgICAgICB7CisrICAgICAgICAgICAgICBpdl9saXN0X2RlbCgmbm9kZS0+bGlzdCk7CisrICAgICAgICAgICAgICBsb2dfbXNnX2ZyZWVfcXVldWVfbm9kZShub2RlKTsKKysgICAgICAgICAgICB9CisrICAgICAgICAgIGVsc2UKKysgICAgICAgICAgICB7CisrICAgICAgICAgICAgICBpdl9saXN0X2RlbF9pbml0KCZub2RlLT5saXN0KTsKKysgICAgICAgICAgICB9CisrICAgICAgICB9CisgICAgIH0KKyAgIGVsc2UKKyAgICAgewpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvc3lzbG9nLW5nLmNvbmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c2xvZy1uZy9maWxlcy9zeXNsb2ctbmcuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMGRhMmI3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvc3lzbG9nLW5nLmNvbmYKQEAgLTAsMCArMSwxNTUgQEAKK0B2ZXJzaW9uOiAzLjUKKyMKKyMgU3lzbG9nLW5nIGNvbmZpZ3VyYXRpb24gZmlsZSwgY29tcGF0aWJsZSB3aXRoIGRlZmF1bHQgRGViaWFuIHN5c2xvZ2QKKyMgaW5zdGFsbGF0aW9uLiBPcmlnaW5hbGx5IHdyaXR0ZW4gYnkgYW5vbnltb3VzIChJIGNhbid0IGZpbmQgaGlzIG5hbWUpCisjIFJldmlzZWQsIGFuZCByZXdyaXRlZCBieSBtZSAoU1pBTEFZIEF0dGlsYSA8c2FzYUBkZWJpYW4ub3JnPikKKworIyBGaXJzdCwgc2V0IHNvbWUgZ2xvYmFsIG9wdGlvbnMuCitvcHRpb25zIHsgY2hhaW5faG9zdG5hbWVzKG9mZik7IGZsdXNoX2xpbmVzKDApOyB1c2VfZG5zKG5vKTsgdXNlX2ZxZG4obm8pOworCSAgb3duZXIoInJvb3QiKTsgZ3JvdXAoImFkbSIpOyBwZXJtKDA2NDApOyBzdGF0c19mcmVxKDApOworCSAgYmFkX2hvc3RuYW1lKCJeZ2NvbmZkJCIpOworfTsKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIFNvdXJjZXMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBUaGlzIGlzIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHN5c2tsb2dkIHBhY2thZ2UKKyMgTG9ncyBtYXkgY29tZSBmcm9tIHVuaXggc3RyZWFtLCBidXQgbm90IGZyb20gYW5vdGhlciBtYWNoaW5lLgorIworc291cmNlIHNfc3JjIHsgdW5peC1kZ3JhbSgiL2Rldi9sb2ciKTsgaW50ZXJuYWwoKTsKKyAgICAgICAJICAgICBmaWxlKCIvcHJvYy9rbXNnIiBwcm9ncmFtX292ZXJyaWRlKCJrZXJuZWwiKSk7Cit9OworCisjIElmIHlvdSB3aXNoIHRvIGdldCBsb2dzIGZyb20gcmVtb3RlIG1hY2hpbmUgeW91IHNob3VsZCB1bmNvbW1lbnQKKyMgdGhpcyBhbmQgY29tbWVudCB0aGUgYWJvdmUgc291cmNlIGxpbmUuCisjCisjc291cmNlIHNfbmV0IHsgdGNwKGlwKDEyNy4wLjAuMSkgcG9ydCgxMDAwKSBhdXRoZW50aWNhdGlvbihyZXF1aXJlZCkgZW5jcnlwdChhbGxvdykpOyB9OworCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgRGVzdGluYXRpb25zCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgRmlyc3Qgc29tZSBzdGFuZGFyZCBsb2dmaWxlCisjCitkZXN0aW5hdGlvbiBkX2F1dGggeyBmaWxlKCIvdmFyL2xvZy9hdXRoLmxvZyIpOyB9OworZGVzdGluYXRpb24gZF9jcm9uIHsgZmlsZSgiL3Zhci9sb2cvY3Jvbi5sb2ciKTsgfTsKK2Rlc3RpbmF0aW9uIGRfZGFlbW9uIHsgZmlsZSgiL3Zhci9sb2cvZGFlbW9uLmxvZyIpOyB9OworZGVzdGluYXRpb24gZF9rZXJuIHsgZmlsZSgiL3Zhci9sb2cva2Vybi5sb2ciKTsgfTsKK2Rlc3RpbmF0aW9uIGRfbHByIHsgZmlsZSgiL3Zhci9sb2cvbHByLmxvZyIpOyB9OworZGVzdGluYXRpb24gZF9tYWlsIHsgZmlsZSgiL3Zhci9sb2cvbWFpbC5sb2ciKTsgfTsKK2Rlc3RpbmF0aW9uIGRfc3lzbG9nIHsgZmlsZSgiL3Zhci9sb2cvc3lzbG9nIik7IH07CitkZXN0aW5hdGlvbiBkX3VzZXIgeyBmaWxlKCIvdmFyL2xvZy91c2VyLmxvZyIpOyB9OworZGVzdGluYXRpb24gZF91dWNwIHsgZmlsZSgiL3Zhci9sb2cvdXVjcC5sb2ciKTsgfTsKKworIyBUaGlzIGZpbGVzIGFyZSB0aGUgbG9nIGNvbWUgZnJvbSB0aGUgbWFpbCBzdWJzeXN0ZW0uCisjCitkZXN0aW5hdGlvbiBkX21haWxpbmZvIHsgZmlsZSgiL3Zhci9sb2cvbWFpbC9tYWlsLmluZm8iKTsgfTsKK2Rlc3RpbmF0aW9uIGRfbWFpbHdhcm4geyBmaWxlKCIvdmFyL2xvZy9tYWlsL21haWwud2FybiIpOyB9OworZGVzdGluYXRpb24gZF9tYWlsZXJyIHsgZmlsZSgiL3Zhci9sb2cvbWFpbC9tYWlsLmVyciIpOyB9OworCisjIExvZ2dpbmcgZm9yIElOTiBuZXdzIHN5c3RlbQorIworZGVzdGluYXRpb24gZF9uZXdzY3JpdCB7IGZpbGUoIi92YXIvbG9nL25ld3MvbmV3cy5jcml0Iik7IH07CitkZXN0aW5hdGlvbiBkX25ld3NlcnIgeyBmaWxlKCIvdmFyL2xvZy9uZXdzL25ld3MuZXJyIik7IH07CitkZXN0aW5hdGlvbiBkX25ld3Nub3RpY2UgeyBmaWxlKCIvdmFyL2xvZy9uZXdzL25ld3Mubm90aWNlIik7IH07CisKKyMgU29tZSBgY2F0Y2gtYWxsJyBsb2dmaWxlcy4KKyMKK2Rlc3RpbmF0aW9uIGRfZGVidWcgeyBmaWxlKCIvdmFyL2xvZy9kZWJ1ZyIpOyB9OworZGVzdGluYXRpb24gZF9lcnJvciB7IGZpbGUoIi92YXIvbG9nL2Vycm9yIik7IH07CitkZXN0aW5hdGlvbiBkX21lc3NhZ2VzIHsgZmlsZSgiL3Zhci9sb2cvbWVzc2FnZXMiKTsgfTsKKworIyBUaGUgcm9vdCdzIGNvbnNvbGUuCisjCitkZXN0aW5hdGlvbiBkX2NvbnNvbGUgeyB1c2VydHR5KCJyb290Iik7IH07CisKKyMgVmlydHVhbCBjb25zb2xlLgorIworZGVzdGluYXRpb24gZF9jb25zb2xlX2FsbCB7IGZpbGUoIi9kZXYvdHR5MTAiKTsgfTsKKworIyBUaGUgbmFtZWQgcGlwZSAvZGV2L3hjb25zb2xlIGlzIGZvciB0aGUgbnNvbGUnIHV0aWxpdHkuICBUbyB1c2UgaXQsCisjIHlvdSBtdXN0IGludm9rZSBuc29sZScgd2l0aCB0aGUgLWZpbGUnIG9wdGlvbjoKKyMKKyMgICAgJCB4Y29uc29sZSAtZmlsZSAvZGV2L3hjb25zb2xlIFsuLi5dCisjCitkZXN0aW5hdGlvbiBkX3hjb25zb2xlIHsgcGlwZSgiL2Rldi94Y29uc29sZSIpOyB9OworCisjIFNlbmQgdGhlIG1lc3NhZ2VzIHRvIGFuIG90aGVyIGhvc3QKKyMKKyNkZXN0aW5hdGlvbiBkX25ldCB7IHRjcCgiMTI3LjAuMC4xIiBwb3J0KDEwMDApIGF1dGhlbnRpY2F0aW9uKG9uKSBlbmNyeXB0KG9uKSBsb2dfZmlmb19zaXplKDEwMDApKTsgfTsKKworIyBEZWJpYW4gb25seQorZGVzdGluYXRpb24gZF9wcHAgeyBmaWxlKCIvdmFyL2xvZy9wcHAubG9nIik7IH07CisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBGaWx0ZXJzCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgSGVyZSdzIGNvbWUgdGhlIGZpbHRlciBvcHRpb25zLiBXaXRoIHRoaXMgcnVsZXMsIHdlIGNhbiBzZXQgd2hpY2gKKyMgbWVzc2FnZSBnbyB3aGVyZS4KKworZmlsdGVyIGZfZGJnIHsgbGV2ZWwoZGVidWcpOyB9OworZmlsdGVyIGZfaW5mbyB7IGxldmVsKGluZm8pOyB9OworZmlsdGVyIGZfbm90aWNlIHsgbGV2ZWwobm90aWNlKTsgfTsKK2ZpbHRlciBmX3dhcm4geyBsZXZlbCh3YXJuKTsgfTsKK2ZpbHRlciBmX2VyciB7IGxldmVsKGVycik7IH07CitmaWx0ZXIgZl9jcml0IHsgbGV2ZWwoY3JpdCAuLiBlbWVyZyk7IH07CisKK2ZpbHRlciBmX2RlYnVnIHsgbGV2ZWwoZGVidWcpIGFuZCBub3QgZmFjaWxpdHkoYXV0aCwgYXV0aHByaXYsIG5ld3MsIG1haWwpOyB9OworZmlsdGVyIGZfZXJyb3IgeyBsZXZlbChlcnIgLi4gZW1lcmcpIDsgfTsKK2ZpbHRlciBmX21lc3NhZ2VzIHsgbGV2ZWwoaW5mbyxub3RpY2Usd2FybikgYW5kCisgICAgICAgICAgICAgICAgICAgIG5vdCBmYWNpbGl0eShhdXRoLGF1dGhwcml2LGNyb24sZGFlbW9uLG1haWwsbmV3cyk7IH07CisKK2ZpbHRlciBmX2F1dGggeyBmYWNpbGl0eShhdXRoLCBhdXRocHJpdikgYW5kIG5vdCBmaWx0ZXIoZl9kZWJ1Zyk7IH07CitmaWx0ZXIgZl9jcm9uIHsgZmFjaWxpdHkoY3JvbikgYW5kIG5vdCBmaWx0ZXIoZl9kZWJ1Zyk7IH07CitmaWx0ZXIgZl9kYWVtb24geyBmYWNpbGl0eShkYWVtb24pIGFuZCBub3QgZmlsdGVyKGZfZGVidWcpOyB9OworZmlsdGVyIGZfa2VybiB7IGZhY2lsaXR5KGtlcm4pIGFuZCBub3QgZmlsdGVyKGZfZGVidWcpOyB9OworZmlsdGVyIGZfbHByIHsgZmFjaWxpdHkobHByKSBhbmQgbm90IGZpbHRlcihmX2RlYnVnKTsgfTsKK2ZpbHRlciBmX2xvY2FsIHsgZmFjaWxpdHkobG9jYWwwLCBsb2NhbDEsIGxvY2FsMywgbG9jYWw0LCBsb2NhbDUsCisgICAgICAgICAgICAgICAgICAgICAgICBsb2NhbDYsIGxvY2FsNykgYW5kIG5vdCBmaWx0ZXIoZl9kZWJ1Zyk7IH07CitmaWx0ZXIgZl9tYWlsIHsgZmFjaWxpdHkobWFpbCkgYW5kIG5vdCBmaWx0ZXIoZl9kZWJ1Zyk7IH07CitmaWx0ZXIgZl9uZXdzIHsgZmFjaWxpdHkobmV3cykgYW5kIG5vdCBmaWx0ZXIoZl9kZWJ1Zyk7IH07CitmaWx0ZXIgZl9zeXNsb2czIHsgbm90IGZhY2lsaXR5KGF1dGgsIGF1dGhwcml2LCBtYWlsKSBhbmQgbm90IGZpbHRlcihmX2RlYnVnKTsgfTsKK2ZpbHRlciBmX3VzZXIgeyBmYWNpbGl0eSh1c2VyKSBhbmQgbm90IGZpbHRlcihmX2RlYnVnKTsgfTsKK2ZpbHRlciBmX3V1Y3AgeyBmYWNpbGl0eSh1dWNwKSBhbmQgbm90IGZpbHRlcihmX2RlYnVnKTsgfTsKKworZmlsdGVyIGZfY25ld3MgeyBsZXZlbChub3RpY2UsIGVyciwgY3JpdCkgYW5kIGZhY2lsaXR5KG5ld3MpOyB9OworZmlsdGVyIGZfY290aGVyIHsgbGV2ZWwoZGVidWcsIGluZm8sIG5vdGljZSwgd2Fybikgb3IgZmFjaWxpdHkoZGFlbW9uLCBtYWlsKTsgfTsKKworZmlsdGVyIGZfcHBwIHsgZmFjaWxpdHkobG9jYWwyKSBhbmQgbm90IGZpbHRlcihmX2RlYnVnKTsgfTsKK2ZpbHRlciBmX2NvbnNvbGUgeyBsZXZlbCh3YXJuIC4uIGVtZXJnKTsgfTsKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIExvZyBwYXRocworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCitsb2cgeyBzb3VyY2Uoc19zcmMpOyBmaWx0ZXIoZl9hdXRoKTsgZGVzdGluYXRpb24oZF9hdXRoKTsgfTsKK2xvZyB7IHNvdXJjZShzX3NyYyk7IGZpbHRlcihmX2Nyb24pOyBkZXN0aW5hdGlvbihkX2Nyb24pOyB9OworbG9nIHsgc291cmNlKHNfc3JjKTsgZmlsdGVyKGZfZGFlbW9uKTsgZGVzdGluYXRpb24oZF9kYWVtb24pOyB9OworbG9nIHsgc291cmNlKHNfc3JjKTsgZmlsdGVyKGZfa2Vybik7IGRlc3RpbmF0aW9uKGRfa2Vybik7IH07Citsb2cgeyBzb3VyY2Uoc19zcmMpOyBmaWx0ZXIoZl9scHIpOyBkZXN0aW5hdGlvbihkX2xwcik7IH07Citsb2cgeyBzb3VyY2Uoc19zcmMpOyBmaWx0ZXIoZl9zeXNsb2czKTsgZGVzdGluYXRpb24oZF9zeXNsb2cpOyB9OworbG9nIHsgc291cmNlKHNfc3JjKTsgZmlsdGVyKGZfdXNlcik7IGRlc3RpbmF0aW9uKGRfdXNlcik7IH07Citsb2cgeyBzb3VyY2Uoc19zcmMpOyBmaWx0ZXIoZl91dWNwKTsgZGVzdGluYXRpb24oZF91dWNwKTsgfTsKKworbG9nIHsgc291cmNlKHNfc3JjKTsgZmlsdGVyKGZfbWFpbCk7IGRlc3RpbmF0aW9uKGRfbWFpbCk7IH07CisjbG9nIHsgc291cmNlKHNfc3JjKTsgZmlsdGVyKGZfbWFpbCk7IGZpbHRlcihmX2luZm8pOyBkZXN0aW5hdGlvbihkX21haWxpbmZvKTsgfTsKKyNsb2cgeyBzb3VyY2Uoc19zcmMpOyBmaWx0ZXIoZl9tYWlsKTsgZmlsdGVyKGZfd2Fybik7IGRlc3RpbmF0aW9uKGRfbWFpbHdhcm4pOyB9OworI2xvZyB7IHNvdXJjZShzX3NyYyk7IGZpbHRlcihmX21haWwpOyBmaWx0ZXIoZl9lcnIpOyBkZXN0aW5hdGlvbihkX21haWxlcnIpOyB9OworCitsb2cgeyBzb3VyY2Uoc19zcmMpOyBmaWx0ZXIoZl9uZXdzKTsgZmlsdGVyKGZfY3JpdCk7IGRlc3RpbmF0aW9uKGRfbmV3c2NyaXQpOyB9OworbG9nIHsgc291cmNlKHNfc3JjKTsgZmlsdGVyKGZfbmV3cyk7IGZpbHRlcihmX2Vycik7IGRlc3RpbmF0aW9uKGRfbmV3c2Vycik7IH07Citsb2cgeyBzb3VyY2Uoc19zcmMpOyBmaWx0ZXIoZl9uZXdzKTsgZmlsdGVyKGZfbm90aWNlKTsgZGVzdGluYXRpb24oZF9uZXdzbm90aWNlKTsgfTsKKyNsb2cgeyBzb3VyY2Uoc19zcmMpOyBmaWx0ZXIoZl9jbmV3cyk7IGRlc3RpbmF0aW9uKGRfY29uc29sZV9hbGwpOyB9OworI2xvZyB7IHNvdXJjZShzX3NyYyk7IGZpbHRlcihmX2NvdGhlcik7IGRlc3RpbmF0aW9uKGRfY29uc29sZV9hbGwpOyB9OworCisjbG9nIHsgc291cmNlKHNfc3JjKTsgZmlsdGVyKGZfcHBwKTsgZGVzdGluYXRpb24oZF9wcHApOyB9OworCitsb2cgeyBzb3VyY2Uoc19zcmMpOyBmaWx0ZXIoZl9kZWJ1Zyk7IGRlc3RpbmF0aW9uKGRfZGVidWcpOyB9OworbG9nIHsgc291cmNlKHNfc3JjKTsgZmlsdGVyKGZfZXJyb3IpOyBkZXN0aW5hdGlvbihkX2Vycm9yKTsgfTsKK2xvZyB7IHNvdXJjZShzX3NyYyk7IGZpbHRlcihmX21lc3NhZ2VzKTsgZGVzdGluYXRpb24oZF9tZXNzYWdlcyk7IH07CisKK2xvZyB7IHNvdXJjZShzX3NyYyk7IGZpbHRlcihmX2NvbnNvbGUpOyBkZXN0aW5hdGlvbihkX2NvbnNvbGVfYWxsKTsKKwkJCQkgICAgZGVzdGluYXRpb24oZF94Y29uc29sZSk7IH07Citsb2cgeyBzb3VyY2Uoc19zcmMpOyBmaWx0ZXIoZl9jcml0KTsgZGVzdGluYXRpb24oZF9jb25zb2xlKTsgfTsKKworIyBBbGwgbWVzc2FnZXMgc2VuZCB0byBhIHJlbW90ZSBzaXRlCisjCisjbG9nIHsgc291cmNlKHNfc3JjKTsgZGVzdGluYXRpb24oZF9uZXQpOyB9OwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvc3lzbG9nLW5nLnNlcnZpY2UtdGhlLXN5c2xvZy1uZy1zZXJ2aWNlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvc3lzbG9nLW5nLnNlcnZpY2UtdGhlLXN5c2xvZy1uZy1zZXJ2aWNlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY1M2M2MDcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c2xvZy1uZy9maWxlcy9zeXNsb2ctbmcuc2VydmljZS10aGUtc3lzbG9nLW5nLXNlcnZpY2UucGF0Y2gKQEAgLTAsMCArMSwzMiBAQAorRnJvbSAwYmU5YzA4ZGQzZjgyNWU5MmZhMDJkNGEwOGQ4YWZmNzQzMTA5ZTYxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTGkgeGluIDxsaXhpbi5mbnN0QGNuLmZ1aml0c3UuY29tPgorRGF0ZTogV2VkLCAxNyBKdW4gMjAxNSAxNDo0NjozMCArMDkwMAorU3ViamVjdDogW1BBVENIXSBzeXNsb2ctbmcuc2VydmljZTogdGhlIHN5c2xvZy1uZyBzZXJ2aWNlIGNhbiBub3Qgc3RhcnQKKyBzdWNjZXNzZnVsbHksc28gbW9kaWZ5IGl0LgorCitVcHN0cmVhbS1TdGF0dXM6IHBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogTGkgWGluIDxsaXhpbi5mbnN0QGNuLmZ1aml0c3UuY29tPgorLS0tCisgY29udHJpYi9zeXN0ZW1kL3N5c2xvZy1uZy5zZXJ2aWNlIHwgNSArKy0tLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbigrKSwgMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbnRyaWIvc3lzdGVtZC9zeXNsb2ctbmcuc2VydmljZSBiL2NvbnRyaWIvc3lzdGVtZC9zeXNsb2ctbmcuc2VydmljZQoraW5kZXggZmMxNmY4ZC4uOGUwOWRlYiAxMDA2NDQKKy0tLSBhL2NvbnRyaWIvc3lzdGVtZC9zeXNsb2ctbmcuc2VydmljZQorKysrIGIvY29udHJpYi9zeXN0ZW1kL3N5c2xvZy1uZy5zZXJ2aWNlCitAQCAtMyw5ICszLDggQEAgRGVzY3JpcHRpb249U3lzdGVtIExvZ2dlciBEYWVtb24KKyBEb2N1bWVudGF0aW9uPW1hbjpzeXNsb2ctbmcoOCkKKyAKKyBbU2VydmljZV0KKy1UeXBlPW5vdGlmeQorLUV4ZWNTdGFydD0vdXNyL3NiaW4vc3lzbG9nLW5nIC1GCistRXhlY1JlbG9hZD0vYmluL2tpbGwgLUhVUCAkTUFJTlBJRAorK0V4ZWNTdGFydD1AU0JJTkRJUkAvc3lzbG9nLW5nIC1GIC1wIEBMT0NBTFNUQVRFRElSQC9ydW4vc3lzbG9nZC5waWQKKytFeGVjUmVsb2FkPUBCQVNFQklORElSQC9raWxsIC1IVVAgJE1BSU5QSUQKKyBTdGFuZGFyZE91dHB1dD1qb3VybmFsCisgU3RhbmRhcmRFcnJvcj1qb3VybmFsCisgUmVzdGFydD1vbi1mYWlsdXJlCistLSAKKzEuOC40LjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvdm9sYXRpbGVzLjAzX3N5c2xvZy1uZyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL2ZpbGVzL3ZvbGF0aWxlcy4wM19zeXNsb2ctbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2M0YTUwZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL2ZpbGVzL3ZvbGF0aWxlcy4wM19zeXNsb2ctbmcKQEAgLTAsMCArMSBAQAorZCByb290IHJvb3QgMDc1NSAvdmFyL3J1bi9zeXNsb2ctbmcgbm9uZQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvc3lzbG9nLW5nLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL3N5c2xvZy1uZy5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGUwZjY5NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL3N5c2xvZy1uZy5pbmMKQEAgLTAsMCArMSwxMTggQEAKK1NVTU1BUlkgPSAiQWx0ZXJuYXRpdmUgc3lzdGVtIGxvZ2dlciBkYWVtb24iCitERVNDUklQVElPTiA9ICJzeXNsb2ctbmcsIGFzIHRoZSBuYW1lIHNob3dzLCBpcyBhIHN5c2xvZ2QgcmVwbGFjZW1lbnQsIFwKK2J1dCB3aXRoIG5ldyBmdW5jdGlvbmFsaXR5IGZvciB0aGUgbmV3IGdlbmVyYXRpb24uIFRoZSBvcmlnaW5hbCBzeXNsb2dkIFwKK2FsbG93cyBtZXNzYWdlcyBvbmx5IHRvIGJlIHNvcnRlZCBiYXNlZCBvbiBwcmlvcml0eS9mYWNpbGl0eSBwYWlyczsgXAorc3lzbG9nLW5nIGFkZHMgdGhlIHBvc3NpYmlsaXR5IHRvIGZpbHRlciBiYXNlZCBvbiBtZXNzYWdlIGNvbnRlbnRzIHVzaW5nIFwKK3JlZ3VsYXIgZXhwcmVzc2lvbnMuIFRoZSBuZXcgY29uZmlndXJhdGlvbiBzY2hlbWUgaXMgaW50dWl0aXZlIGFuZCBwb3dlcmZ1bC4gXAorRm9yd2FyZGluZyBsb2dzIG92ZXIgVENQIGFuZCByZW1lbWJlcmluZyBhbGwgZm9yd2FyZGluZyBob3BzIG1ha2VzIGl0IFwKK2lkZWFsIGZvciBmaXJld2FsbGVkIGVudmlyb25tZW50cy4gXAorIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5iYWxhYml0LmNvbS9uZXR3b3JrLXNlY3VyaXR5L3N5c2xvZy1uZy9vcGVuc291cmNlLWxvZ2dpbmctc3lzdGVtIgorCitMSUNFTlNFID0gIkdQTHYyICYgTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1lMGU4NjU4ZDliZTI0OGYwMWI3OTMzZGYyNGRjMTQwOCIKKworIyB1dGlsLWxpbnV4IGFkZGVkIHRvIGdldCBsaWJ1dWlkCitERVBFTkRTID0gImxpYnBjcmUgZmxleCBldmVudGxvZyBnbGliLTIuMCB1dGlsLWxpbnV4IgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cuYmFsYWJpdC5jb20vZG93bmxvYWRzL2ZpbGVzL3N5c2xvZy1uZy9zb3VyY2VzLyR7UFZ9L3NvdXJjZS8ke0JQTn1fJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL3N5c2xvZy1uZy5jb25mIFwKKyAgICAgICAgICAgZmlsZTovL2luaXRzY3JpcHQgXAorICAgICAgICAgICBmaWxlOi8vdm9sYXRpbGVzLjAzX3N5c2xvZy1uZyBcCisgICAgICAgICAgIGZpbGU6Ly9jb25maWd1cmUuYWMtYWRkLW9wdGlvbi1lbmFibGUtdGhyZWFkLXRscy10by1tYW5hZ2UtLnBhdGNoIFwKKyIKKworaW5oZXJpdCBhdXRvdG9vbHMgc3lzdGVtZCBwa2djb25maWcgdXBkYXRlLWFsdGVybmF0aXZlcyB1cGRhdGUtcmMuZAorCitFWFRSQV9PRUNPTkYgPSAiIFwKKyAgICAtLWVuYWJsZS1keW5hbWljLWxpbmtpbmcgXAorICAgIC0tZGlzYWJsZS1zdWItc3RyZWFtcyBcCisgICAgLS1kaXNhYmxlLXBhY2N0IFwKKyAgICAtLWxvY2Fsc3RhdGVkaXI9JHtsb2NhbHN0YXRlZGlyfS9saWIvJHtCUE59IFwKKyAgICAtLXN5c2NvbmZkaXI9JHtzeXNjb25mZGlyfS8ke0JQTn0gXAorICAgIC0td2l0aC1tb2R1bGUtZGlyPSR7bGliZGlyfS8ke0JQTn0gXAorICAgIC0td2l0aC1zeXNyb290PSR7U1RBR0lOR19ESVJfSE9TVH0gXAorICAgIC0td2l0aC1saWJtb25nby1jbGllbnQ9bm8gLS1kaXNhYmxlLW1vbmdvZGIgXAorICAgIC0td2l0aC1saWJyYWJiaXRtcS1jbGllbnQ9bm8gXAorICAgICR7Q09ORklHX1RMU30gXAorIgorCitDT05GSUdfVExTID0gIi0tZW5hYmxlLXRocmVhZC10bHMiCitDT05GSUdfVExTX2FybSA9ICIke0BiYXNlX2NvbmRpdGlvbmFsKCAiREVCVUdfQlVJTEQiLCAiMSIsICIgLS1kaXNhYmxlLXRocmVhZC10bHMiLCAiIC0tZW5hYmxlLXRocmVhZC10bHMiLCBkICl9IgorCitQQUNLQUdFQ09ORklHID8/PSAib3BlbnNzbCBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdpcHY2JywgJ2lwdjYnLCAnJywgZCl9IFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAnc3lzdGVtZCcsICcnLCBkKX0gXAorIgorUEFDS0FHRUNPTkZJR1tvcGVuc3NsXSA9ICItLWVuYWJsZS1zc2wsLS1kaXNhYmxlLXNzbCxvcGVuc3NsLCIKK1BBQ0tBR0VDT05GSUdbaXB2Nl0gPSAiLS1lbmFibGUtaXB2NiwtLWRpc2FibGUtaXB2NiwsIgorUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICItLWVuYWJsZS1zeXN0ZW1kIC0td2l0aC1zeXN0ZW1kc3lzdGVtdW5pdGRpcj0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLywtLWRpc2FibGUtc3lzdGVtZCAtLXdpdGhvdXQtc3lzdGVtZHN5c3RlbXVuaXRkaXIsc3lzdGVtZCwiCitQQUNLQUdFQ09ORklHW2xpbnV4LWNhcHNdID0gIi0tZW5hYmxlLWxpbnV4LWNhcHMsLS1kaXNhYmxlLWxpbnV4LWNhcHMsbGliY2FwLCIKK1BBQ0tBR0VDT05GSUdbcGNyZV0gPSAiLS1lbmFibGUtcGNyZSwtLWRpc2FibGUtcGNyZSxsaWJwY3JlLCIKK1BBQ0tBR0VDT05GSUdbZGJpXSA9ICItLWVuYWJsZS1zcWwsLS1kaXNhYmxlLXNxbCxsaWJkYmksIgorUEFDS0FHRUNPTkZJR1tsaWJuZXRdID0gIi0tZW5hYmxlLWxpYm5ldCAtLXdpdGgtbGlibmV0PSR7U1RBR0lOR19CSU5ESVJfQ1JPU1N9LC0tZGlzYWJsZS1saWJuZXQsbGlibmV0LCIKK1BBQ0tBR0VDT05GSUdbc210cF0gPSAiLS1lbmFibGUtc210cCAtLXdpdGgtbGliZXNtdHA9JHtTVEFHSU5HX0xJQkRJUn0sLS1kaXNhYmxlLXNtdHAsbGliZXNtdHAsIgorUEFDS0FHRUNPTkZJR1tqc29uXSA9ICItLWVuYWJsZS1qc29uLC0tZGlzYWJsZS1qc29uLGpzb24tYywiCitQQUNLQUdFQ09ORklHW3RjcC13cmFwcGVyXSA9ICItLWVuYWJsZS10Y3Atd3JhcHBlciwtLWRpc2FibGUtdGNwLXdyYXBwZXIsdGNwLXdyYXBwZXJzLCIKK1BBQ0tBR0VDT05GSUdbZ2VvaXBdID0gIi0tZW5hYmxlLWdlb2lwLC0tZGlzYWJsZS1nZW9pcCxnZW9pcCwiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIGV2YWwgIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnbGFyZ2VmaWxlJywgJycsICdzZWQgLWkgLWUgInMvLURfTEFSR0VGSUxFX1NPVVJDRS8vIiAtZSAicy8tRF9GSUxFX09GRlNFVF9CSVRTPTY0Ly8iICR7U30vY29uZmlndXJlLmluJywgZCl9IgorfQorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXNjb25mZGlyfS8ke0JQTn0KKyAgICBpbnN0YWxsICR7V09SS0RJUn0vc3lzbG9nLW5nLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vJHtCUE59LyR7QlBOfS5jb25mCisgICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzY29uZmRpcn0vaW5pdC5kCisgICAgaW5zdGFsbCAtbSA3NTUgJHtXT1JLRElSfS9pbml0c2NyaXB0ICR7RH0vJHtzeXNjb25mZGlyfS9pbml0LmQvc3lzbG9nLiR7QlBOfQorICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdm9sYXRpbGVzLworICAgIGluc3RhbGwgLW0gNzU1ICR7V09SS0RJUn0vdm9sYXRpbGVzLjAzX3N5c2xvZy1uZyAke0R9LyR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMvMDNfc3lzbG9nLW5nCisgICAgaW5zdGFsbCAtZCAke0R9LyR7bG9jYWxzdGF0ZWRpcn0vbGliLyR7QlBOfQorICAgICMgUmVtb3ZlIC92YXIvcnVuIGFzIGl0IGlzIGNyZWF0ZWQgb24gc3RhcnR1cAorICAgIHJtIC1yZiAke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW4KKyAgICBzZWQgLWkgLWUgJ3MsQFNCSU5ESVJALCR7c2JpbmRpcn0sZycgJHtTfS9jb250cmliL3N5c3RlbWQvKi5zZXJ2aWNlCisgICAgc2VkIC1pIC1lICdzLEBMT0NBTFNUQVRFRElSQCwke2xvY2Fsc3RhdGVkaXJ9LGcnICR7U30vY29udHJpYi9zeXN0ZW1kLyouc2VydmljZQorICAgIHNlZCAtaSAtZSAncyxAQkFTRUJJTkRJUkAsJHtiYXNlX2JpbmRpcn0sZycgJHtTfS9jb250cmliL3N5c3RlbWQvKi5zZXJ2aWNlCit9CisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2luY2x1ZGUvc2NsLyAke2RhdGFkaXJ9L3hzZCAke2RhdGFkaXJ9L3Rvb2xzIgorUkRFUEVORFNfJHtQTn0gKz0gImdhd2siCisKKyMgVGhpcyBvdmVyY29tZXMgdGhlIHN5c2xvZy1uZyByZGVwZW5kcyBvbiBzeXNsb2ctbmctZGV2IFFBIEVycm9yCitQQUNLQUdFUyA9KyAiJHtQTn0tbGlicyAke1BOfS1saWJzLWRldiAke1BOfS1saWJzLWRiZyIKK0ZJTEVTXyR7UE59LWxpYnMgPSAiJHtsaWJkaXJ9LyR7QlBOfS8qLnNvICR7bGliZGlyfS9saWJzeXNsb2ctbmctKi5zbyoiCitGSUxFU18ke1BOfS1saWJzLWRldiA9ICIke2xpYmRpcn0vJHtCUE59L2xpYioubGEiCitGSUxFU18ke1BOfS1saWJzLWRiZyA9ICIke2xpYmRpcn0vJHtCUE59Ly5kZWJ1ZyIKK0ZJTEVTXyR7UE59LXN0YXRpY2RldiA9ICIke2xpYmRpcn0vJHtCUE59L2xpYnRlc3QvKi5hIgorSU5TQU5FX1NLSVBfJHtQTn0tbGlicyA9ICJkZXYtc28iCitSREVQRU5EU18ke1BOfSArPSAiJHtQTn0tbGlicyIKKworQ09ORkZJTEVTXyR7UE59ID0gIiR7c3lzY29uZmRpcn0vJHtCUE59LmNvbmYgJHtzeXNjb25mZGlyfS9zY2wuY29uZiIKKworIyBzeXNsb2cgaW5pdHNjcmlwdCBpcyBoYW5kbGVkIGV4cGxpY2l0bHkgYmVjYXVzZSBvcmRlciBvZgorIyB1cGRhdGUtcmMuZCBhbmQgdXBkYXRlLWFsdGVybmF0aXZlcyBpcyBpbXBvcnRhbnQKK1JERVBFTkRTXyR7UE59ICs9ICIgJHtAYmFzZV9jb25kaXRpb25hbCgiT05MSU5FX1BBQ0tBR0VfTUFOQUdFTUVOVCIsICJub25lIiwgIiIsICJ1cGRhdGUtcmMuZCIsIGQpfSIKKworUlBST1ZJREVTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUlJFUExBQ0VTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUkNPTkZMSUNUU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICIke0JQTn0uc2VydmljZSIKKworIyBubyBzeXNsb2ctaW5pdCBmb3Igc3lzdGVtZAorcHl0aG9uICgpIHsKKyAgICBpZiBiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3Zpbml0JywgVHJ1ZSwgRmFsc2UsIGQpOgorICAgICAgICBwbiA9IGQuZ2V0VmFyKCdQTicsIFRydWUpCisgICAgICAgIHN5c2NvbmZkaXIgPSBkLmdldFZhcignc3lzY29uZmRpcicsIFRydWUpCisgICAgICAgIGQuYXBwZW5kVmFyKCdBTFRFUk5BVElWRV8lcycgJSAocG4pLCAnIHN5c2xvZy1pbml0JykKKyAgICAgICAgZC5zZXRWYXJGbGFnKCdBTFRFUk5BVElWRV9QUklPUklUWScsICdzeXNsb2ctaW5pdCcsICcyMDAnKQorICAgICAgICBkLnNldFZhckZsYWcoJ0FMVEVSTkFUSVZFX0xJTktfTkFNRScsICdzeXNsb2ctaW5pdCcsICclcy9pbml0LmQvc3lzbG9nJyAlIChzeXNjb25mZGlyKSkKKworICAgIGlmIGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsIFRydWUsIEZhbHNlLCBkKToKKyAgICAgICAgcG4gPSBkLmdldFZhcignUE4nLCBUcnVlKQorICAgICAgICBkLmFwcGVuZFZhcignQUxURVJOQVRJVkVfJXMnICUgKHBuKSwgJyBzeXNsb2ctc2VydmljZScpCisgICAgICAgIGQuc2V0VmFyRmxhZygnQUxURVJOQVRJVkVfTElOS19OQU1FJywgJ3N5c2xvZy1zZXJ2aWNlJywgJyVzL3N5c3RlbWQvc3lzdGVtL3N5c2xvZy5zZXJ2aWNlJyAlIChkLmdldFZhcignc3lzY29uZmRpcicsIFRydWUpKSkKKyAgICAgICAgZC5zZXRWYXJGbGFnKCdBTFRFUk5BVElWRV9UQVJHRVQnLCAnc3lzbG9nLXNlcnZpY2UnLCAnJXMvc3lzdGVtLyR7QlBOfS5zZXJ2aWNlJyAlIChkLmdldFZhcignc3lzdGVtZF91bml0ZGlyJywgVHJ1ZSkpKQorfQorCitJTklUU0NSSVBUX05BTUUgPSAic3lzbG9nIgorSU5JVFNDUklQVF9QQVJBTVMgPSAic3RhcnQgMjAgMiAzIDQgNSAuIHN0b3AgOTAgMCAxIDYgLiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL3N5c2xvZy1uZ18zLjYuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL3N5c2xvZy1uZ18zLjYuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MzYwOWFmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvc3lzbG9nLW5nXzMuNi40LmJiCkBAIC0wLDAgKzEsMTUgQEAKK3JlcXVpcmUgc3lzbG9nLW5nLmluYworCitTUkNfVVJJICs9ICIgXAorICAgIGZpbGU6Ly9maXgtYS1tZW1vcnktbGVhay1pbi1sb2dfZHJpdmVyX2ZyZWUucGF0Y2ggXAorICAgIGZpbGU6Ly9maXgtY29uZmlnLWxpYm5ldC5wYXRjaCBcCisgICAgZmlsZTovL2ZpeC1pbnZhbGlkLW93bmVyc2hpcC5wYXRjaCBcCisgICAgZmlsZTovL0ZpeC10aGUtbWVtb3J5LWxlYWstcHJvYmxlbS1mb3ItbXV0ZXgucGF0Y2ggXAorICAgIGZpbGU6Ly9GaXgtdGhlLW1lbW9yeS1sZWFrLXByb2JsZW0td2hlbi1IQVZFX0VOVklST04tZGVmaW5lZC5wYXRjaCBcCisgICAgZmlsZTovL2NvbmZpZ3VyZS5wYXRjaCBcCisgICAgZmlsZTovL2RiaWZpeC5wYXRjaCBcCisgICAgZmlsZTovL3N5c2xvZy1uZy5zZXJ2aWNlLXRoZS1zeXNsb2ctbmctc2VydmljZS5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlOWY0MDE2MTVlOTJlNWViMjczOTZjOTk1YzE0NDZiYSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3YmUxMWRmMzFhYzdkNzE2ZjFmOTUyZTIyYjVhZThlMjA0OWVkZDYzM2E0MWIyMjM3NzZhODUzZDkxMDZmNGU3IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXN0ZW0tY29uZmlnLWtleWJvYXJkL3N5c3RlbS1jb25maWcta2V5Ym9hcmRfMS40LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c3RlbS1jb25maWcta2V5Ym9hcmQvc3lzdGVtLWNvbmZpZy1rZXlib2FyZF8xLjQuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNzhmY2VhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXN0ZW0tY29uZmlnLWtleWJvYXJkL3N5c3RlbS1jb25maWcta2V5Ym9hcmRfMS40LjAuYmIKQEAgLTAsMCArMSwyOSBAQAorREVTQ1JJUFRJT04gPSAiYSBncmFwaGljYWwgdXNlciBpbnRlcmZhY2UgdGhhdCBhbGxvd3MgdGhlIHVzZXIgdG8gXAorY2hhbmdlIHRoZSBkZWZhdWx0IGtleWJvYXJkIG9mIHRoZSBzeXN0ZW0iCitMSUNFTlNFID0gIkdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgorU1JDX1VSSSA9ICJodHRwczovL2ZlZG9yYWhvc3RlZC5vcmcvcmVsZWFzZXMvcy95LyR7QlBOfS8ke0JQfS50YXIuYnoyIgorU1JDX1VSSVttZDVzdW1dID0gImMyNjdkYjBlZTdhMjEzMWJhNDE4Mzk5ZGMxN2Y5ZTcyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjIxOGM4ODNlNGUyYmZjYzgyYmZlMDdlNzg1NzA3YjVjMmVjZTI4ZGY3NzJmMjE1NWZkMDQ0YjliYjE2MTQyODQiCitpbmhlcml0IHB5dGhvbi1kaXIKKworaW5oZXJpdCBweXRob24tZGlyIGdldHRleHQKK0RFUEVORFMgPSAiaW50bHRvb2wtbmF0aXZlIgorCitFWFRSQV9PRU1BS0UgPSAiIFwKKyAgICBQWVRIT049JyR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfScvcHl0aG9uLW5hdGl2ZS9weXRob24gXAorICAgIFBZVEhPTl9TSVRFTElCPSR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9IFwKKyIKK2RvX2luc3RhbGwoKSB7CisgICAgb2VfcnVubWFrZSAnREVTVERJUj0ke0R9JyBpbnN0YWxsCit9CisKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZSgpIHsKKyAgICBybSAtcmYgJHtEfS91c3IKK30KKworRklMRVNfJHtQTn0gKz0gIiBcCisgICAke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fQkFTRVZFUlNJT059LyogXAorICAgJHtkYXRhZGlyfS8qIFwKKyIKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXN0ZW0tc2V0dXAta2V5Ym9hcmQvc3lzdGVtLXNldHVwLWtleWJvYXJkXzAuOC44LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXN0ZW0tc2V0dXAta2V5Ym9hcmQvc3lzdGVtLXNldHVwLWtleWJvYXJkXzAuOC44LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZiYmZhM2QKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c3RlbS1zZXR1cC1rZXlib2FyZC9zeXN0ZW0tc2V0dXAta2V5Ym9hcmRfMC44LjguYmIKQEAgLTAsMCArMSwzMSBAQAorU1VNTUFSWSA9ICJ4b3JnLmNvbmYga2V5Ym9hcmQgbGF5b3V0IGNhbGxvdXQiCitERVNDUklQVElPTiA9ICJzeXN0ZW0tc2V0dXAta2V5Ym9hcmQgaXMgYSBkYWVtb24gdG8gbW9uaXRvciB0aGUga2V5Ym9hcmQgbGF5b3V0IGNvbmZpZ3VyZWQgaW4gXAorL2V0Yy9zeXNjb25maWcva2V5Ym9hcmQgYW5kIHRyYW5zZmVyIHRoaXMgaW50byB0aGUgbWF0Y2hpbmcgeG9yZy5jb25mLmQgc25pcHBldC4iCisKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0LmZlZG9yYWhvc3RlZC5vcmcvZ2l0L3N5c3RlbS1zZXR1cC1rZXlib2FyZC5naXQiCitTRUNUSU9OID0gIkFwcGxpY2F0aW9ucy9TeXN0ZW0iCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9naXQuZmVkb3JhaG9zdGVkLm9yZy9jZ2l0LyR7UE59LmdpdC9zbmFwc2hvdC8ke0JQfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiMzk5MDAzOTY4Y2NjNzM5Y2RkZDljYzM3MGFmMzc3YTAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMWVmNmVmNzljMzU4OGU4NWQ3ZjQyZTk5ZWI4MGEyZTQ1OWY5NjYyODRjZjAyOWMyZDZmYzFiNjQ1YWJjYjg2MCIKKworTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iZjU3OTY5YTU5NjEyYzVhY2EwMDdiMzQwYzQ5ZDNhMiIKKworaW5oZXJpdCBweXRob25uYXRpdmUKKworREVQRU5EUyA9ICJnbGliLTIuMCBzeXN0ZW0tY29uZmlnLWtleWJvYXJkLW5hdGl2ZSIKKworRVhUUkFfT0VNQUtFID0gIi1lIE1BS0VGTEFHUz0iCisKK2RvX2NvbXBpbGVfcHJlcGVuZCgpIHsKKyAgICAke1BZVEhPTn0gLXYgZ2V0X2xheW91dHMucHkgPiBrZXlib2FyZHMuaAorfQorCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgaW5zdGFsbCBERVNURElSPSR7RH0KKyAgICBpbnN0YWxsIC1kICR7RH0vZXRjL1gxMS94b3JnLmNvbmYuZAorICAgIHRvdWNoICR7RH0vZXRjL1gxMS94b3JnLmNvbmYuZC8wMC1zeXN0ZW0tc2V0dXAta2V5Ym9hcmQuY29uZgorfQorCitGSUxFU18ke1BOfSArPSAiJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8ke0JQTn0uc2VydmljZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdGJiL3RiYi9hbGxvdy10by1idWlsZC1mb3Itb2xkZXItYXJtLWNvcmVzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC90YmIvdGJiL2FsbG93LXRvLWJ1aWxkLWZvci1vbGRlci1hcm0tY29yZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2QyZWM5NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdGJiL3RiYi9hbGxvdy10by1idWlsZC1mb3Itb2xkZXItYXJtLWNvcmVzLnBhdGNoCkBAIC0wLDAgKzEsMzAgQEAKK0Zyb206IE1hcmNpbiBKdXN6a2lld2ljeiA8bWFyY2luLmp1c3praWV3aWN6QGxpbmFyby5vcmc+CitEZXNjcmlwdGlvbjogQWxsb3cgdG8gYnVpbGQgVEJCIGZvciBBUk0gY29yZXMgb2xkZXIgdGhhbiBBUk12N2EKKworfCAuLi8uLi9pbmNsdWRlL3RiYi9tYWNoaW5lL2djY19hcm12Ny5oOjM5OjI6IGVycm9yOiAjZXJyb3IgVGhyZWFkaW5nCitCdWlsZGluZyBCbG9ja3MgQVJNIHBvcnQgcmVxdWlyZXMgYW4gQVJNdjctYSBhcmNoaXRlY3R1cmUuCit8IG1ha2VbMV06ICoqKiBbY29uY3VycmVudF9oYXNoX21hcC5vXSBFcnJvciAxCisKK2h0dHBzOi8vYnVncy5sYXVuY2hwYWQubmV0L2xpbmFyby1vZS8rYnVnLzExNjcxNDQKKworVXBzdHJlYW0tc3RhdHVzOiBwZW5kaW5nCisKKy0tLQorIGluY2x1ZGUvdGJiL3RiYl9tYWNoaW5lLmggfCAgICAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKKy0tLSB0YmI0MV8yMDEzMDMxNG9zcy5vcmlnL2luY2x1ZGUvdGJiL3RiYl9tYWNoaW5lLmgKKysrKyB0YmI0MV8yMDEzMDMxNG9zcy9pbmNsdWRlL3RiYi90YmJfbWFjaGluZS5oCitAQCAtMjM3LDExICsyMzcsMTEgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgYXRvbWljX3NlbGVjdG9yPDg+IHsKKyAgICAgICAgICNpbmNsdWRlICJtYWNoaW5lL2xpbnV4X2ludGVsNjQuaCIKKyAgICAgI2VsaWYgX19pYTY0X18KKyAgICAgICAgICNpbmNsdWRlICJtYWNoaW5lL2xpbnV4X2lhNjQuaCIKKyAgICAgI2VsaWYgX19wb3dlcnBjX18KKyAgICAgICAgICNpbmNsdWRlICJtYWNoaW5lL21hY19wcGMuaCIKKy0gICAgI2VsaWYgX19hcm1fXworKyAgICAjZWxpZiBfX0FSTV9BUkNIXzdBX18KKyAgICAgICAgICNpbmNsdWRlICJtYWNoaW5lL2djY19hcm12Ny5oIgorICAgICAjZWxpZiBfX1RCQl9HQ0NfQlVJTFRJTl9BVE9NSUNTX1BSRVNFTlQKKyAgICAgICAgICNpbmNsdWRlICJtYWNoaW5lL2djY19nZW5lcmljLmgiCisgICAgICNlbmRpZgorICAgICAjaW5jbHVkZSAibWFjaGluZS9saW51eF9jb21tb24uaCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdGJiL3RiYi9jcm9zcy1jb21waWxlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC90YmIvdGJiL2Nyb3NzLWNvbXBpbGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjk3MGEzNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdGJiL3RiYi9jcm9zcy1jb21waWxlLnBhdGNoCkBAIC0wLDAgKzEsMjUgQEAKK0F1dGhvcjogTWFyY2luIEp1c3praWV3aWN6IDxtYXJjaW4uanVzemtpZXdpY3pAbGluYXJvLm9yZz4KKworVXBzdHJlYW0tU3RhdHVzOiB1bnN1aXRhYmxlCistLS0KKyBidWlsZC9saW51eC5nY2MuaW5jIHwgICAgNSArKystLQorIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKKy0tLSB0YmI0MV8yMDEyMTAwM29zcy5vcmlnL2J1aWxkL2xpbnV4LmdjYy5pbmMKKysrKyB0YmI0MV8yMDEyMTAwM29zcy9idWlsZC9saW51eC5nY2MuaW5jCitAQCAtNDAsMTIgKzQwLDEzIEBAIERZTElCX0tFWSA9IC1zaGFyZWQKKyBFWFBPUlRfS0VZID0gLVdsLC0tdmVyc2lvbi1zY3JpcHQsCisgTElCREwgPSAtbGRsCisgCisgVEJCX05PU1RSSUNUID0gMQorIAorLUNQTFVTID0gZysrCistQ09OTFkgPSBnY2MKKytDUExVUyA9ICQoQ1hYKQorK0NPTkxZID0gJChDQykKKytDUExVU19GTEFHUyA9ICQoQ1hYRkxBR1MpCisgTElCX0xJTktfRkxBR1MgPSAkKERZTElCX0tFWSkgLVdsLC1zb25hbWU9JChCVUlMRElOR19MSUJSQVJZKQorIExJQlMgKz0gLWxwdGhyZWFkIC1scnQKKyBMSU5LX0ZMQUdTID0gLVdsLC1ycGF0aC1saW5rPS4KKyBDX0ZMQUdTID0gJChDUExVU19GTEFHUykKKyAjIGdjYyA0LjQgYW5kIGhpZ2hlciBzdXBwb3J0IC1zdGQ9YysrMHgKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdGJiL3RiYi90YmIucGMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3RiYi90YmIvdGJiLnBjCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY0NGI2NGYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3RiYi90YmIvdGJiLnBjCkBAIC0wLDAgKzEsMTEgQEAKK3ByZWZpeD0vdXNyCitleGVjX3ByZWZpeD0ke3ByZWZpeH0KK2xpYmRpcj0ke2V4ZWNfcHJlZml4fS9saWIKK2luY2x1ZGVkaXI9JHtwcmVmaXh9L2luY2x1ZGUKKworTmFtZTogVGhyZWFkaW5nIEJ1aWxkaW5nIEJsb2NrcworRGVzY3JpcHRpb246IEludGVsJ3MgcGFyYWxsZWxpc20gbGlicmFyeSBmb3IgQysrCitVUkw6IGh0dHA6Ly93d3cudGhyZWFkaW5nYnVpbGRpbmdibG9ja3Mub3JnLworVmVyc2lvbjogMy4wK3IwMTgKK0xpYnM6IC1MJHtsaWJkaXJ9IC1sdGJiCitDZmxhZ3M6IC1JJHtpbmNsdWRlZGlyfSAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdGJiL3RiYl80LjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3RiYi90YmJfNC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA5ZWQ2ZWMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3RiYi90YmJfNC4xLmJiCkBAIC0wLDAgKzEsNDAgQEAKK0RFU0NSSVBUSU9OID0gIlBhcmFsbGVsaXNtIGxpYnJhcnkgZm9yIEMrKyAtIHJ1bnRpbWUgZmlsZXMgXAorICAgIFRCQiBpcyBhIGxpYnJhcnkgdGhhdCBoZWxwcyB5b3UgbGV2ZXJhZ2UgbXVsdGktY29yZSBwcm9jZXNzb3IgXAorICAgIHBlcmZvcm1hbmNlIHdpdGhvdXQgaGF2aW5nIHRvIGJlIGEgdGhyZWFkaW5nIGV4cGVydC4gSXQgcmVwcmVzZW50cyBhIFwKKyAgICBoaWdoZXItbGV2ZWwsIHRhc2stYmFzZWQgcGFyYWxsZWxpc20gdGhhdCBhYnN0cmFjdHMgcGxhdGZvcm0gZGV0YWlscyBcCisgICAgYW5kIHRocmVhZGluZyBtZWNoYW5pc20gZm9yIHBlcmZvcm1hbmNlIGFuZCBzY2FsYWJpbGl0eS4iCitIT01FUEFHRSA9ICJodHRwOi8vdGhyZWFkaW5nYnVpbGRpbmdibG9ja3Mub3JnLyIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0yYzdmMmNhZjI3N2EzOTMzZTNhY2RmN2Y4OWQ1NGNjMSIKK1BSREFURSA9ICIyMDEzMDMxNCIKK1BSID0gInIke1BSREFURX0iCisKK1NSQ19VUkkgPSAiaHR0cDovL3RocmVhZGluZ2J1aWxkaW5nYmxvY2tzLm9yZy9zaXRlcy9kZWZhdWx0L2ZpbGVzL3NvZnR3YXJlX3JlbGVhc2VzL3NvdXJjZS90YmI0MV8ke1BSREFURX1vc3Nfc3JjLnRneiBcCisgICAgICAgICAgIGZpbGU6Ly9jcm9zcy1jb21waWxlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2FsbG93LXRvLWJ1aWxkLWZvci1vbGRlci1hcm0tY29yZXMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vdGJiLnBjIgorCitTID0gIiR7V09SS0RJUn0vdGJiNDFfJHtQUkRBVEV9b3NzLyIKKworU1JDX1VSSVttZDVzdW1dID0gImVkNGFmN2NjZmExMjJmMTZjZjk5MjBiMjQxNjMzYTNhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjMyZmQ1OTc5OTcxYjc3MmNhYTk2ZDQwNjQ2Y2VlNTg1ZWQwMDcwNTE2YmEyZGJiY2IxZjliNjAzM2QwOGE5MmQiCisKK2RvX2NvbXBpbGUoKSB7CisgICAgb2VfcnVubWFrZSBjb21waWxlcj1nY2MgYXJjaD0ke0hPU1RfQVJDSH0gcnVudGltZT1jYzQKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2luY2x1ZGVkaXJ9ICR7RH0ke2xpYmRpcn0vcGtnY29uZmlnCisgICAgcm0gJHtTfS9pbmNsdWRlL3RiYi9pbmRleC5odG1sIC1mCisgICAgY3AgLVIgLS1uby1kZXJlZmVyZW5jZSAtLXByZXNlcnZlPW1vZGUsbGlua3MgLXYgJHtTfS9pbmNsdWRlL3RiYiAke0R9JHtpbmNsdWRlZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSAke0J9L2J1aWxkL2xpbnV4XypfcmVsZWFzZS9saWIqLnNvKiAke0R9JHtsaWJkaXJ9CisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vdGJiLnBjICR7RH0ke2xpYmRpcn0vcGtnY29uZmlnCit9CisKKyMgZmFpbHMgd2l0aCB0aHVtYiBlbmFibGVkOgorIyB8IGFybS1vZS1saW51eC1nbnVlYWJpLWcrKyAgLW1hcmNoPWFybXY3LWEgLW10aHVtYiAtbXRodW1iLWludGVyd29yayAtbWZsb2F0LWFiaT1zb2Z0ZnAgLW1mcHU9bmVvbiAtbXR1bmU9Y29ydGV4LWE5IC1tY3B1PWNvcnRleC1hOSAtRF9fQVJNX18gLURfX0xJTlVYX0FSTV9BUkNIX189NyAtZnVud2luZC10YWJsZXMgLW12ZWN0b3JpemUtd2l0aC1uZW9uLXF1YWQgLXJkeW5hbWljIC0tc3lzcm9vdD0vT0Uvc3lzcm9vdHMvbTE0dHYgLWMgLU1NRCAtRFRCQl9VU0VfREVCVUcgIC1nIC1PMCAtRFVTRV9QVEhSRUFEIC1mUElDIC1EX19UQkJfQlVJTEQ9MSAtV2FsbCAtV25vLXBhcmVudGhlc2VzIC1Xbm8tbm9uLXZpcnR1YWwtZHRvciAtTzIgLXBpcGUgLWcgLWZlbGltaW5hdGUtdW51c2VkLWRlYnVnLXR5cGVzIC1mcGVybWlzc2l2ZSAtZnZpc2liaWxpdHktaW5saW5lcy1oaWRkZW4gICAtSS4uLy4uL3NyYyAtSS4uLy4uL3NyYy9ybWwvaW5jbHVkZSAtSS4uLy4uL2luY2x1ZGUgLi4vLi4vc3JjL3RiYi9jb25jdXJyZW50X3F1ZXVlLmNwcAorIyB8IHtzdGFuZGFyZCBpbnB1dH06IEFzc2VtYmxlciBtZXNzYWdlczoKKyMgfCB7c3RhbmRhcmQgaW5wdXR9OjI1MDogRXJyb3I6IHRodW1iIGNvbmRpdGlvbmFsIGluc3RydWN0aW9uIHNob3VsZCBiZSBpbiBJVCBibG9jayAtLSBgc3RyZXhlcSByMixyMyxbcjRdJworIyAuLi4KKyMgfCBtYWtlWzFdOiAqKiogW2NvbmN1cnJlbnRfcXVldWUub10gRXJyb3IgMQorQVJNX0lOU1RSVUNUSU9OX1NFVCA9ICJhcm0iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3RvbW95by10b29scy90b21veW8tdG9vbHNfMi41LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3RvbW95by10b29scy90b21veW8tdG9vbHNfMi41LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWM4NTkzYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdG9tb3lvLXRvb2xzL3RvbW95by10b29sc18yLjUuMC5iYgpAQCAtMCwwICsxLDMwIEBACitTVU1NQVJZID0gIlRPTU9ZTyBMaW51eCB0b29scyIKK0RFU0NSSVBUSU9OID0gIlRPTU9ZTyBMaW51eCBpcyBhIE1hbmRhdG9yeSBBY2Nlc3MgQ29udHJvbCAoTUFDKSBpbXBsZW1lbnRhdGlvbiBcCitmb3IgTGludXggdGhhdCBjYW4gYmUgdXNlZCB0byBpbmNyZWFzZSB0aGUgc2VjdXJpdHkgb2YgYSBzeXN0ZW0sIHdoaWxlIGFsc28gXAorYmVpbmcgdXNlZnVsIHB1cmVseSBhcyBhIHN5c3RlbSBhbmFseXNpcyB0b29sLiIKK0hPTUVQQUdFID0gImh0dHA6Ly90b21veW8uc291cmNlZm9yZ2UuanAvIgorU0VDVElPTiA9ICJTeXN0ZW0gRW52aXJvbm1lbnQvS2VybmVsIgorCitTUkNfVVJJID0gImh0dHA6Ly9qYWlzdC5kbC5zb3VyY2Vmb3JnZS5qcC90b21veW8vNTMzNTcvJHtCUH0tMjAxNDA2MDEudGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjg4ODg2OWI3OTMxMjdmMDBkNjQzOWEzMjQ2NTk4YjgzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjExOGVmNmJhMWZiZjdjMGI4MzAxOGMzYTBkNGQ1NDg1ZGZiOWI1YjdmNjQ3ZjM3Y2U5ZjYzODQxYTMxMzNjMmEiCisKK1MgPSAiJHtXT1JLRElSfS8ke0JQTn0iCisKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HLnRvbW95bzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCisKK0ZJTEVTXyR7UE59ICAgICArPSAiJHtsaWJkaXJ9L3RvbW95byIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L3RvbW95by8uZGVidWciCisKK0RFUEVORFMgPSAibGludXgtbGliYy1oZWFkZXJzIG5jdXJzZXMiCisKK0VYVFJBX09FTUFLRSA9ICItZSBVU1JMSUJESVI9JHtsaWJkaXJ9IgorCitkb19jb21waWxlICgpIHsKKwlvZV9ydW5tYWtlICdDQz0ke0NDfScKK30KKworZG9faW5zdGFsbCgpIHsKKwlvZV9ydW5tYWtlIGluc3RhbGwgSU5TVEFMTERJUj0ke0R9Cit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Rvc2NvdGVybS90b3Njb3Rlcm1fZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC90b3Njb3Rlcm0vdG9zY290ZXJtX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNGY4MTNiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC90b3Njb3Rlcm0vdG9zY290ZXJtX2dpdC5iYgpAQCAtMCwwICsxLDI3IEBACitTVU1NQVJZID0gIkEgdmVyeSBzbWFsbCBhbmQgc2ltcGxlIHRlcm1pbmFsIGVtdWxhdG9yIgorU0VDVElPTiA9ICJ4MTEvYXBwbGljYXRpb25zIgorREVQRU5EUyA9ICJ2dGUiCisKK0xJQ0VOU0UgPSAiR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9tYWluLmM7c3RhcnRfbGluZT01O2VuZF9saW5lPTE2O21kNT05YWU0YmYyMGNhZjI5MWFmYTk0NTMwMDI2YmQxNTIyOSIKKworIyAwLjIgdmVyc2lvbgorU1JDUkVWID0gIjg1ODZkNjE3YWVkMTlmYzc1ZjVhZTFlMDcyNzA3NTJjMWIyZjlhMzAiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vT1NTeXN0ZW1zL3Rvc2NvdGVybS5naXQiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgZ2l0cGtndiBwa2djb25maWcKKworZG9fY29tcGlsZSgpIHsKKyAgICBvZV9ydW5tYWtlIFwKKyAgICAgICAgQ0M9IiR7Q0N9IiBcCisgICAgICAgIENGTEFHUz0iYHBrZy1jb25maWcgLS1jZmxhZ3MgdnRlYCR7Q0ZMQUdTfSIgXAorICAgICAgICBMREZMQUdTPSJgcGtnLWNvbmZpZyAtLWxpYnMgdnRlYCAke0xERkxBR1N9IgorfQorCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgUFJFRklYPSIke3ByZWZpeH0iIERFU1RESVI9IiR7RH0iIGluc3RhbGwKK30KKworUkRFUEVORFNfJHtQTn1fYXBwZW5kX2xpYmMtZ2xpYmMgKz0gImdsaWJjLWdjb252LWlibTQzNyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdHJlZS90cmVlXzEuNy4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC90cmVlL3RyZWVfMS43LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmU4ZWJkYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdHJlZS90cmVlXzEuNy4wLmJiCkBAIC0wLDAgKzEsMjEgQEAKK1NVTU1BUlkgPSAiQSByZWN1cnNpdmUgZGlyZWN0b3J5IGxpc3RpbmcgY29tbWFuZCIKK0hPTUVQQUdFID0gImh0dHA6Ly9tYW1hLmluZHN0YXRlLmVkdS91c2Vycy9pY2UvdHJlZS8iCitTRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MzkzYTVjYTQ0NWY2OTY1ODczZWNhMDI1OWExN2Y4MzMiCisKK1NSQ19VUkkgPSAiZnRwOi8vbWFtYS5pbmRzdGF0ZS5lZHUvbGludXgvJHtCUE59LyR7QlB9LnRneiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJhYmUzZTAzZTQ2OWM1NDJkOGUxNTdjZGQ5M2Y0ZDhhNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2OTU3YzIwZTgyNTYxYWM0MjMxNjM4OTk2ZTc0ZjRjZmE0ZTZmYWFiYzVhMmY1MTFmMGI0ZTM5NDBlOGY3YjEyIgorCisjIHRyZWUncyBkZWZhdWx0IENGTEFHUyBmb3IgTGludXgKK0NGTEFHUyArPSAiLVdhbGwgLURMSU5VWCAtRF9MQVJHRUZJTEU2NF9TT1VSQ0UgLURfRklMRV9PRkZTRVRfQklUUz02NCIKKworRVhUUkFfT0VNQUtFID0gIkNDPScke0NDfScgQ0ZMQUdTPScke0NGTEFHU30nIExERkxBR1M9JyR7TERGTEFHU30nIgorCitkb19jb25maWd1cmVbbm9leGVjXSA9ICIxIgorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSAke1N9LyR7QlBOfSAke0R9JHtiaW5kaXJ9LworfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91ZGlza3MvdWRpc2tzLzAwMDEtZml4LWJ1aWxkLXdpdGgtbmV3ZXItZ2xpYmMtdmVyc2lvbnMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VkaXNrcy91ZGlza3MvMDAwMS1maXgtYnVpbGQtd2l0aC1uZXdlci1nbGliYy12ZXJzaW9ucy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MjA2NTVhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91ZGlza3MvdWRpc2tzLzAwMDEtZml4LWJ1aWxkLXdpdGgtbmV3ZXItZ2xpYmMtdmVyc2lvbnMucGF0Y2gKQEAgLTAsMCArMSwyOSBAQAorRnJvbSA5ODI5MTUyYjEyYTg5MjRkMmUwOTFhMDAxMzNlZDFhM2E3YmE3NWMwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQWxleGFuZHJlIFJvc3RvdnRzZXYgPHRldHJvbWlub0BnZW50b28ub3JnPgorRGF0ZTogRnJpLCAyOSBNYXkgMjAxNSAyMTowOTozOSAtMDQwMAorU3ViamVjdDogW1BBVENIXSBmaXggYnVpbGQgd2l0aCBuZXdlciBnbGliYyB2ZXJzaW9ucworCitodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD05MDc3OAorCitVcHN0cmVhbS1TdGF0dXM6IEFwcGxpZWQgWzFdCisKK1sxXSBodHRwOi8vY2dpdC5mcmVlZGVza3RvcC5vcmcvdWRpc2tzL2NvbW1pdC8/aD11ZGlza3MxJmlkPTk4MjkxNTJiMTJhODkyNGQyZTA5MWEwMDEzM2VkMWEzYTdiYTc1YzAKKy0tLQorIHNyYy9oZWxwZXJzL2pvYi1kcml2ZS1kZXRhY2guYyB8IDEgKworIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorCitkaWZmIC0tZ2l0IGEvc3JjL2hlbHBlcnMvam9iLWRyaXZlLWRldGFjaC5jIGIvc3JjL2hlbHBlcnMvam9iLWRyaXZlLWRldGFjaC5jCitpbmRleCBlZWFmY2FiLi5kMTIyYTFmIDEwMDY0NAorLS0tIGEvc3JjL2hlbHBlcnMvam9iLWRyaXZlLWRldGFjaC5jCisrKysgYi9zcmMvaGVscGVycy9qb2ItZHJpdmUtZGV0YWNoLmMKK0BAIC0xOCw2ICsxOCw3IEBACisgICoKKyAgKi8KKyAKKysjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyAjaW5jbHVkZSA8c3RkaW8uaD4KKyAjaW5jbHVkZSA8c3RyaW5nLmg+CisgI2luY2x1ZGUgPGVycm5vLmg+CistLSAKKzIuMS4wCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdWRpc2tzL3VkaXNrcy9vcHRpb25hbC1kZXBlbmRzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91ZGlza3MvdWRpc2tzL29wdGlvbmFsLWRlcGVuZHMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjEzMTcwMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdWRpc2tzL3VkaXNrcy9vcHRpb25hbC1kZXBlbmRzLnBhdGNoCkBAIC0wLDAgKzEsNDg0IEBACitGcm9tIDFiNzBiN2E3OThlZWVlYzU1NGFiNWFhOWZjZmZmOTZhMjJlOTE3NzQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBHdXN0YXZvIFN2ZXJ6dXQgQmFyYmllcmkgPGJhcmJpZXJpQHByb2Z1c2lvbi5tb2JpPgorRGF0ZTogVGh1LCAyNiBNYXkgMjAxMSAxNzozMDowNCAtMDMwMAorU3ViamVjdDogW1BBVENIXSBBbGxvdyBkaXNhYmxpbmcgYXRhc21hcnQsIGx2bTIgYW5kIGRldmljZW1hcHBlciBzdXBwb3J0LgorCitodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzY0NworCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCA2MmNjMzVkLi5iNjY0MTM1IDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC0xNTUsMTMgKzE1NSwzMyBAQCBQS0dfQ0hFQ0tfTU9EVUxFUyhQT0xLSVRfR09CSkVDVF8xLCBbcG9sa2l0LWdvYmplY3QtMSA+PSAwLjk3XSkKKyBBQ19TVUJTVChQT0xLSVRfR09CSkVDVF8xX0NGTEFHUykKKyBBQ19TVUJTVChQT0xLSVRfR09CSkVDVF8xX0xJQlMpCisgCistUEtHX0NIRUNLX01PRFVMRVMoTElCUEFSVEVELCBbbGlicGFydGVkID49IDEuOC44XSkKKy1BQ19TVUJTVChMSUJQQVJURURfQ0ZMQUdTKQorLUFDX1NVQlNUKExJQlBBUlRFRF9MSUJTKQorLQorLVBLR19DSEVDS19NT0RVTEVTKERFVk1BUFBFUiwgW2Rldm1hcHBlciA+PSAxLjAyXSkKKy1BQ19TVUJTVChERVZNQVBQRVJfQ0ZMQUdTKQorLUFDX1NVQlNUKERFVk1BUFBFUl9MSUJTKQorK2hhdmVfcGFydGVkPW5vCisrQUNfQVJHX0VOQUJMRShwYXJ0ZWQsIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtcGFydGVkXSwgW2Rpc2FibGUgZGlzayBwYXJ0aXRpb25pbmddKSkKKytpZiB0ZXN0ICJ4JGVuYWJsZV9wYXJ0ZWQiICE9ICJ4bm8iOyB0aGVuCisrICBQS0dfQ0hFQ0tfTU9EVUxFUyhMSUJQQVJURUQsIFtsaWJwYXJ0ZWQgPj0gMS44LjhdLAorKyAgICAgICAgICAgICAgICAgICAgW0FDX0RFRklORShVU0VfUEFSVEVELCAxLCBbRGVmaW5lIGlmIHBhcnRlZCBzaG91bGQgYmUgdXNlZF0pIGhhdmVfcGFydGVkPXllc10sCisrICAgICAgICAgICAgICAgICAgICBoYXZlX3BhcnRlZD1ubykKKysgIEFDX1NVQlNUKExJQlBBUlRFRF9DRkxBR1MpCisrICBBQ19TVUJTVChMSUJQQVJURURfTElCUykKKysgIGlmIHRlc3QgIngkaGF2ZV9wYXJ0ZWQiID0geG5vIC1hICJ4JGVuYWJsZV9wYXJ0ZWQiID0geHllczsgdGhlbgorKyAgICBBQ19NU0dfRVJST1IoW3BhcnRlZCBzdXBwb3J0IHJlcXVlc3RlZCBidXQgbGlicmFyaWVzIG5vdCBmb3VuZF0pCisrICBmaQorK2ZpCisrQU1fQ09ORElUSU9OQUwoSEFWRV9QQVJURUQsIFt0ZXN0ICIkaGF2ZV9wYXJ0ZWQiID0gInllcyJdKQorKworK2hhdmVfZGV2bWFwcGVyPW5vCisrQUNfQVJHX0VOQUJMRShkZXZtYXBwZXIsIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtZGV2bWFwcGVyXSwgW2Rpc2FibGUgZGV2aWNlIG1hcHBlciBzdXBwb3J0XSkpCisraWYgdGVzdCAieCRlbmFibGVfZGV2bWFwcGVyIiAhPSAieG5vIjsgdGhlbgorKyAgUEtHX0NIRUNLX01PRFVMRVMoREVWTUFQUEVSLCBbZGV2bWFwcGVyID49IDEuMDJdLAorKyAgICAgICAgICAgICAgICAgICAgW0FDX0RFRklORShIQVZFX0RFVk1BUFBFUiwgMSwgW0RlZmluZSBpZiBkZXZpY2UgbWFwcGVyIGlzIGF2YWlsYWJsZV0pIGhhdmVfZGV2bWFwcGVyPXllc10sCisrICAgICAgICAgICAgICAgICAgICBoYXZlX2Rldm1hcHBlcj1ubykKKysgIEFDX1NVQlNUKERFVk1BUFBFUl9DRkxBR1MpCisrICBBQ19TVUJTVChERVZNQVBQRVJfTElCUykKKysgIGlmIHRlc3QgIngkaGF2ZV9kZXZtYXBwZXIiID0geG5vIC1hICJ4JGVuYWJsZV9kZXZtYXBwZXIiID0geHllczsgdGhlbgorKyAgICBBQ19NU0dfRVJST1IoW2Rldm1hcHBlciBzdXBwb3J0IHJlcXVlc3RlZCBidXQgbGlicmFyaWVzIG5vdCBmb3VuZF0pCisrICBmaQorK2ZpCisrQU1fQ09ORElUSU9OQUwoSEFWRV9ERVZNQVBQRVIsIFt0ZXN0ICIkaGF2ZV9kZXZtYXBwZXIiID0gInllcyJdKQorIAorIGhhdmVfbHZtMj1ubworIEFDX0FSR19FTkFCTEUobHZtMiwgQVNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS1sdm0yXSwgW2Rpc2FibGUgTFZNMiBzdXBwb3J0XSkpCitAQCAtMTg1LDkgKzIwNSwxOSBAQCBpZiB0ZXN0ICJ4JGVuYWJsZV9kbW1wIiAhPSAieG5vIjsgdGhlbgorIGZpCisgQU1fQ09ORElUSU9OQUwoSEFWRV9ETU1QLCBbdGVzdCAiJGhhdmVfZG1tcCIgPSAieWVzIl0pCisgCistUEtHX0NIRUNLX01PRFVMRVMoTElCQVRBU01BUlQsIFtsaWJhdGFzbWFydCA+PSAwLjE0XSkKKy1BQ19TVUJTVChMSUJBVEFTTUFSVF9DRkxBR1MpCistQUNfU1VCU1QoTElCQVRBU01BUlRfTElCUykKKytoYXZlX2xpYmF0YXNtYXJ0PW5vCisrQUNfQVJHX0VOQUJMRShsaWJhdGFzbWFydCwgQVNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS1saWJhdGFzbWFydF0sIFtkaXNhYmxlIGxpYmF0YXNtYXJ0IHN1cHBvcnRdKSkKKytpZiB0ZXN0ICJ4JGVuYWJsZV9saWJhdGFzbWFydCIgIT0gInhubyI7IHRoZW4KKysgIFBLR19DSEVDS19NT0RVTEVTKExJQkFUQVNNQVJULCBbbGliYXRhc21hcnQgPj0gMC4xNF0sCisrICAgICAgICAgICAgICAgICAgICBbQUNfREVGSU5FKEhBVkVfTElCQVRBU01BUlQsIDEsIFtEZWZpbmUgaWYgbGliYXRhc21hcnQgaXMgYXZhaWxhYmxlXSkgaGF2ZV9saWJhdGFzbWFydD15ZXNdLAorKyAgICAgICAgICAgICAgICAgICAgaGF2ZV9saWJhdGFzbWFydD1ubykKKysgIEFDX1NVQlNUKExJQkFUQVNNQVJUX0NGTEFHUykKKysgIEFDX1NVQlNUKExJQkFUQVNNQVJUX0xJQlMpCisrICBpZiB0ZXN0ICJ4JGhhdmVfbGliYXRhc21hcnQiID0geG5vIC1hICJ4JGVuYWJsZV9saWJhdGFzbWFydCIgPSB4eWVzOyB0aGVuCisrICAgIEFDX01TR19FUlJPUihbbGliYXRhc21hcnQgc3VwcG9ydCByZXF1ZXN0ZWQgYnV0IGxpYnJhcmllcyBub3QgZm91bmRdKQorKyAgZmkKKytmaQorK0FNX0NPTkRJVElPTkFMKEhBVkVfTElCQVRBU01BUlQsIFt0ZXN0ICIkaGF2ZV9saWJhdGFzbWFydCIgPSAieWVzIl0pCisgCisgUEtHX0NIRUNLX01PRFVMRVMoTElCVURFViwgW2xpYnVkZXYgPj0gMTQzXSkKKyBBQ19TVUJTVChMSUJVREVWX0NGTEFHUykKK0BAIC0yNjcsOSArMjk3LDEyIEBAIGVjaG8gIgorICAgICAgICAgY3BwZmxhZ3M6ICAgICAgICAgICAgICAgICAgICR7Q1BQRkxBR1N9CisgICAgICAgICB4c2x0cHJvYzogICAgICAgICAgICAgICAgICAgJHtYU0xUUFJPQ30KKyAKKysgICAgICAgIFBhcnRlZCBzdXBwb3J0OiAgICAgICAgICAgICAke2hhdmVfcGFydGVkfQorKyAgICAgICAgRGV2aWNlIE1hcHBlciBzdXBwb3J0OiAgICAgICR7aGF2ZV9kZXZtYXBwZXJ9CisgICAgICAgICBMVk0yIHN1cHBvcnQ6ICAgICAgICAgICAgICAgJHtoYXZlX2x2bTJ9CisgICAgICAgICBkbS1tdWx0aXBhdGg6ICAgICAgICAgICAgICAgJHtoYXZlX2RtbXB9CisgICAgICAgICBSZW1vdGUgQWNjZXNzOiAgICAgICAgICAgICAgJHtyZW1vdGVfYWNjZXNzfQorKyAgICAgICAgbGliYXRhc21hcnQgc3VwcG9ydDogICAgICAgICR7aGF2ZV9saWJhdGFzbWFydH0KKyAKKyAgICAgICAgIE1haW50YWluZXIgbW9kZTogICAgICAgICAgICAke1VTRV9NQUlOVEFJTkVSX01PREV9CisgICAgICAgICBQcm9maWxpbmc6ICAgICAgICAgICAgICAgICAgJHtlbmFibGVfcHJvZmlsaW5nfQorZGlmZiAtLWdpdCBhL3NyYy9hZGFwdGVyLXByaXZhdGUuaCBiL3NyYy9hZGFwdGVyLXByaXZhdGUuaAoraW5kZXggMzQwOWUyMS4uZWY1ODRlMyAxMDA2NDQKKy0tLSBhL3NyYy9hZGFwdGVyLXByaXZhdGUuaAorKysrIGIvc3JjL2FkYXB0ZXItcHJpdmF0ZS5oCitAQCAtMjMsNyArMjMsNiBAQAorIAorICNpbmNsdWRlIDxkYnVzL2RidXMtZ2xpYi5oPgorICNpbmNsdWRlIDxndWRldi9ndWRldi5oPgorLSNpbmNsdWRlIDxhdGFzbWFydC5oPgorIAorICNpbmNsdWRlICJ0eXBlcy5oIgorIAorZGlmZiAtLWdpdCBhL3NyYy9hZGFwdGVyLmMgYi9zcmMvYWRhcHRlci5jCitpbmRleCBiODVhMGVmLi44MDI0MjBiIDEwMDY0NAorLS0tIGEvc3JjL2FkYXB0ZXIuYworKysrIGIvc3JjL2FkYXB0ZXIuYworQEAgLTMwLDcgKzMwLDYgQEAKKyAjaW5jbHVkZSA8ZGJ1cy9kYnVzLWdsaWIuaD4KKyAjaW5jbHVkZSA8ZGJ1cy9kYnVzLWdsaWItbG93bGV2ZWwuaD4KKyAjaW5jbHVkZSA8Z3VkZXYvZ3VkZXYuaD4KKy0jaW5jbHVkZSA8YXRhc21hcnQuaD4KKyAKKyAjaW5jbHVkZSAiZGFlbW9uLmgiCisgI2luY2x1ZGUgImFkYXB0ZXIuaCIKK2RpZmYgLS1naXQgYS9zcmMvZGFlbW9uLmMgYi9zcmMvZGFlbW9uLmMKK2luZGV4IDYwNzI1MDIuLmQwNDNjYjAgMTAwNjQ0CistLS0gYS9zcmMvZGFlbW9uLmMKKysrKyBiL3NyYy9kYWVtb24uYworQEAgLTE3NDUsNiArMTc0NSw3IEBAIG1kc3RhdF9jaGFuZ2VkX2V2ZW50IChHSU9DaGFubmVsICpjaGFubmVsLAorICAgcmV0dXJuIFRSVUU7CisgfQorIAorKyNpZmRlZiBIQVZFX0xJQkFUQVNNQVJUCisgc3RhdGljIGdib29sZWFuCisgcmVmcmVzaF9hdGFfc21hcnRfZGF0YSAoRGFlbW9uICpkYWVtb24pCisgeworQEAgLTE3NzMsNiArMTc3NCw3IEBAIHJlZnJlc2hfYXRhX3NtYXJ0X2RhdGEgKERhZW1vbiAqZGFlbW9uKQorIAorICAgcmV0dXJuIEZBTFNFOworIH0KKysjZW5kaWYKKyAKKyBzdGF0aWMgZ2Jvb2xlYW4KKyByZWdpc3Rlcl9kaXNrc19kYWVtb24gKERhZW1vbiAqZGFlbW9uKQorQEAgLTE5ODQsMTIgKzE5ODYsMTQgQEAgZGFlbW9uX25ldyAodm9pZCkKKyAgIG1vdW50X2ZpbGVfY2xlYW5fc3RhbGUgKGwpOworICAgZ19saXN0X2ZyZWUgKGwpOworIAorKyNpZmRlZiBIQVZFX0xJQkFUQVNNQVJUCisgICAvKiBzZXQgdXAgdGltZXIgZm9yIHJlZnJlc2hpbmcgQVRBIFNNQVJUIGRhdGEgLSB3ZSBkb24ndCB3YW50IHRvIHJlZnJlc2ggaW1tZWRpYXRlbHkgYmVjYXVzZQorICAgICogd2hlbiBhZGRpbmcgYSBkZXZpY2Ugd2UgYWxzbyBkbyB0aGlzLi4uCisgICAgKi8KKyAgIGRhZW1vbi0+cHJpdi0+YXRhX3NtYXJ0X3JlZnJlc2hfdGltZXJfaWQgPSBnX3RpbWVvdXRfYWRkX3NlY29uZHMgKEFUQV9TTUFSVF9SRUZSRVNIX0lOVEVSVkFMX1NFQ09ORFMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoR1NvdXJjZUZ1bmMpIHJlZnJlc2hfYXRhX3NtYXJ0X2RhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYWVtb24pOworKyNlbmRpZgorIAorICAgUFJPRklMRSAoImRhZW1vbl9uZXcoKTogZW5kIik7CisgICByZXR1cm4gZGFlbW9uOworZGlmZiAtLWdpdCBhL3NyYy9kZXZpY2UtcHJpdmF0ZS5jIGIvc3JjL2RldmljZS1wcml2YXRlLmMKK2luZGV4IDIyYTBkMzUuLmZiOTY1MjUgMTAwNjQ0CistLS0gYS9zcmMvZGV2aWNlLXByaXZhdGUuYworKysrIGIvc3JjL2RldmljZS1wcml2YXRlLmMKK0BAIC0xMzc4LDcgKzEzNzgsNyBAQCBkZXZpY2Vfc2V0X2RyaXZlX2F0YV9zbWFydF90aW1lX2NvbGxlY3RlZCAoRGV2aWNlICpkZXZpY2UsCisgCisgdm9pZAorIGRldmljZV9zZXRfZHJpdmVfYXRhX3NtYXJ0X3N0YXR1cyAoRGV2aWNlICpkZXZpY2UsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTa1NtYXJ0T3ZlcmFsbCB2YWx1ZSkKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGd1aW50IHZhbHVlKQorIHsKKyAgIGlmIChHX1VOTElLRUxZIChkZXZpY2UtPnByaXYtPmRyaXZlX2F0YV9zbWFydF9zdGF0dXMgIT0gdmFsdWUpKQorICAgICB7CitkaWZmIC0tZ2l0IGEvc3JjL2RldmljZS1wcml2YXRlLmggYi9zcmMvZGV2aWNlLXByaXZhdGUuaAoraW5kZXggYTZkYjdmMi4uNzE0NzNhNiAxMDA2NDQKKy0tLSBhL3NyYy9kZXZpY2UtcHJpdmF0ZS5oCisrKysgYi9zcmMvZGV2aWNlLXByaXZhdGUuaAorQEAgLTIzLDcgKzIzLDYgQEAKKyAKKyAjaW5jbHVkZSA8ZGJ1cy9kYnVzLWdsaWIuaD4KKyAjaW5jbHVkZSA8Z3VkZXYvZ3VkZXYuaD4KKy0jaW5jbHVkZSA8YXRhc21hcnQuaD4KKyAKKyAjaW5jbHVkZSAidHlwZXMuaCIKKyAKK0BAIC0yMjQsNyArMjIzLDcgQEAgc3RydWN0IERldmljZVByaXZhdGUKKyAKKyAgIGdib29sZWFuIGRyaXZlX2F0YV9zbWFydF9pc19hdmFpbGFibGU7CisgICBndWludDY0IGRyaXZlX2F0YV9zbWFydF90aW1lX2NvbGxlY3RlZDsKKy0gIFNrU21hcnRPdmVyYWxsIGRyaXZlX2F0YV9zbWFydF9zdGF0dXM7CisrICBndWludCBkcml2ZV9hdGFfc21hcnRfc3RhdHVzOworICAgdm9pZCAqZHJpdmVfYXRhX3NtYXJ0X2Jsb2I7CisgICBnc2l6ZSBkcml2ZV9hdGFfc21hcnRfYmxvYl9zaXplOworIAorQEAgLTM5MSw3ICszOTAsNyBAQCB2b2lkIGRldmljZV9zZXRfaG9sZGVyc19vYmpwYXRoIChEZXZpY2UgKmRldmljZSwgR1N0cnYgdmFsdWUpOworIAorIHZvaWQgZGV2aWNlX3NldF9kcml2ZV9hdGFfc21hcnRfaXNfYXZhaWxhYmxlIChEZXZpY2UgKmRldmljZSwgZ2Jvb2xlYW4gdmFsdWUpOworIHZvaWQgZGV2aWNlX3NldF9kcml2ZV9hdGFfc21hcnRfdGltZV9jb2xsZWN0ZWQgKERldmljZSAqZGV2aWNlLCBndWludDY0IHZhbHVlKTsKKy12b2lkIGRldmljZV9zZXRfZHJpdmVfYXRhX3NtYXJ0X3N0YXR1cyAoRGV2aWNlICpkZXZpY2UsIFNrU21hcnRPdmVyYWxsIHZhbHVlKTsKKyt2b2lkIGRldmljZV9zZXRfZHJpdmVfYXRhX3NtYXJ0X3N0YXR1cyAoRGV2aWNlICpkZXZpY2UsIGd1aW50IHZhbHVlKTsKKyB2b2lkIGRldmljZV9zZXRfZHJpdmVfYXRhX3NtYXJ0X2Jsb2Jfc3RlYWwgKERldmljZSAqZGV2aWNlLCBnY2hhciAqYmxvYiwgZ3NpemUgYmxvYl9zaXplKTsKKyAKKyBHX0VORF9ERUNMUworZGlmZiAtLWdpdCBhL3NyYy9kZXZpY2UuYyBiL3NyYy9kZXZpY2UuYworaW5kZXggNmEzNDk0MC4uN2E1YTRhOSAxMDA2NDQKKy0tLSBhL3NyYy9kZXZpY2UuYworKysrIGIvc3JjL2RldmljZS5jCitAQCAtNTAsNyArNTAsOSBAQAorICNpbmNsdWRlIDxkYnVzL2RidXMtZ2xpYi5oPgorICNpbmNsdWRlIDxkYnVzL2RidXMtZ2xpYi1sb3dsZXZlbC5oPgorICNpbmNsdWRlIDxndWRldi9ndWRldi5oPgorKyNpZmRlZiBIQVZFX0xJQkFUQVNNQVJUCisgI2luY2x1ZGUgPGF0YXNtYXJ0Lmg+CisrI2VuZGlmCisgCisgI2luY2x1ZGUgImRhZW1vbi5oIgorICNpbmNsdWRlICJkZXZpY2UuaCIKK0BAIC02NTksMTAgKzY2MSwxNCBAQCBnZXRfcHJvcGVydHkgKEdPYmplY3QgKm9iamVjdCwKKyAgICAgY2FzZSBQUk9QX0RSSVZFX0FUQV9TTUFSVF9TVEFUVVM6CisgICAgICAgeworICAgICAgICAgY29uc3QgZ2NoYXIgKnN0YXR1czsKKy0gICAgICAgIGlmIChkZXZpY2UtPnByaXYtPmRyaXZlX2F0YV9zbWFydF9zdGF0dXMgPT0gKFNrU21hcnRPdmVyYWxsKSAtIDEpCisrI2lmZGVmIEhBVkVfTElCQVRBU01BUlQKKysgICAgICAgIGlmIChkZXZpY2UtPnByaXYtPmRyaXZlX2F0YV9zbWFydF9zdGF0dXMgPT0gKGd1aW50KSAtIDEpCisgICAgICAgICAgIHN0YXR1cyA9ICIiOworICAgICAgICAgZWxzZQorICAgICAgICAgICBzdGF0dXMgPSBza19zbWFydF9vdmVyYWxsX3RvX3N0cmluZyAoZGV2aWNlLT5wcml2LT5kcml2ZV9hdGFfc21hcnRfc3RhdHVzKTsKKysjZWxzZQorKyAgICAgICAgc3RhdHVzID0gIiI7CisrI2VuZGlmCisgICAgICAgICBnX3ZhbHVlX3NldF9zdHJpbmcgKHZhbHVlLCBzdGF0dXMpOworICAgICAgIH0KKyAgICAgICBicmVhazsKK0BAIC01MTE0LDYgKzUxMjAsNyBAQCBkZXZpY2VfbmV3IChEYWVtb24gKmRhZW1vbiwKKyAgICAgICBnb3RvIG91dDsKKyAgICAgfQorIAorKyNpZmRlZiBIQVZFX0xJQkFUQVNNQVJUCisgICAvKiBpZiBqdXN0IGFkZGVkLCB1cGRhdGUgdGhlIHNtYXJ0IGRhdGEgaWYgYXBwbGljYWJsZSAqLworICAgaWYgKGRldmljZS0+cHJpdi0+ZHJpdmVfYXRhX3NtYXJ0X2lzX2F2YWlsYWJsZSkKKyAgICAgeworQEAgLTUxMjEsNiArNTEyOCw3IEBAIGRldmljZV9uZXcgKERhZW1vbiAqZGFlbW9uLAorICAgICAgIGdjaGFyICphdGFfc21hcnRfcmVmcmVzaF9kYXRhX29wdGlvbnNbXSA9IHsgTlVMTCB9OworICAgICAgIGRldmljZV9kcml2ZV9hdGFfc21hcnRfcmVmcmVzaF9kYXRhIChkZXZpY2UsIGF0YV9zbWFydF9yZWZyZXNoX2RhdGFfb3B0aW9ucywgTlVMTCk7CisgICAgIH0KKysjZW5kaWYKKyAKKyAgIFBST0ZJTEUgKCJkZXZpY2VfbmV3KG5hdGl2ZV9wYXRoPSVzKTogZW5kIiwgbmF0aXZlX3BhdGgpOworICBvdXQ6CitAQCAtOTc5NCwxNiArOTgwMiwxOCBAQCBkcml2ZV9hdGFfc21hcnRfcmVmcmVzaF9kYXRhX2NvbXBsZXRlZF9jYiAoREJ1c0dNZXRob2RJbnZvY2F0aW9uICpjb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpzdGRvdXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdwb2ludGVyIHVzZXJfZGF0YSkKKyB7CisrI2lmZGVmIEhBVkVfTElCQVRBU01BUlQKKyAgIGdpbnQgcmM7CistICBTa0Rpc2sgKmQ7CisrICBTa0Rpc2sgKmQgPSBOVUxMOworKyAgU2tTbWFydE92ZXJhbGwgb3ZlcmFsbDsKKyAgIGdjaGFyICpibG9iOworICAgZ3NpemUgYmxvYl9zaXplOworICAgdGltZV90IHRpbWVfY29sbGVjdGVkOworLSAgU2tTbWFydE92ZXJhbGwgb3ZlcmFsbDsKKysjZW5kaWYKKyAKKyAgIFBST0ZJTEUgKCJkcml2ZV9hdGFfc21hcnRfcmVmcmVzaF9kYXRhX2NvbXBsZXRlZF9jYihkZXZpY2U9JXMpIHN0YXJ0IiwgZGV2aWNlLT5wcml2LT5uYXRpdmVfcGF0aCk7CisgCistICBkID0gTlVMTDsKKysjaWZkZWYgSEFWRV9MSUJBVEFTTUFSVAorICAgYmxvYiA9IE5VTEw7CisgCisgICBpZiAoam9iX3dhc19jYW5jZWxsZWQgfHwgc3Rkb3V0ID09IE5VTEwpCitAQCAtOTkwNyw2ICs5OTE3LDExIEBAIGRyaXZlX2F0YV9zbWFydF9yZWZyZXNoX2RhdGFfY29tcGxldGVkX2NiIChEQnVzR01ldGhvZEludm9jYXRpb24gKmNvbnRleHQsCisgICBnX2ZyZWUgKGJsb2IpOworICAgaWYgKGQgIT0gTlVMTCkKKyAgICAgc2tfZGlza19mcmVlIChkKTsKKysKKysjZWxzZQorKyAgdGhyb3dfZXJyb3IgKGNvbnRleHQsIEVSUk9SX0ZBSUxFRCwgImxpYmF0YXNtYXJ0IHN1cHBvcnQgZGlzYWJsZWQiKTsKKysjZW5kaWYKKysKKyAgIFBST0ZJTEUgKCJkcml2ZV9hdGFfc21hcnRfcmVmcmVzaF9kYXRhX2NvbXBsZXRlZF9jYihkZXZpY2U9JXMpIGVuZCIsIGRldmljZS0+cHJpdi0+bmF0aXZlX3BhdGgpOworIH0KKyAKK2RpZmYgLS1naXQgYS9zcmMvZXhwYW5kZXItcHJpdmF0ZS5oIGIvc3JjL2V4cGFuZGVyLXByaXZhdGUuaAoraW5kZXggZWY0ZjQ0MC4uOThhODMwMCAxMDA2NDQKKy0tLSBhL3NyYy9leHBhbmRlci1wcml2YXRlLmgKKysrKyBiL3NyYy9leHBhbmRlci1wcml2YXRlLmgKK0BAIC0yMyw3ICsyMyw2IEBACisgCisgI2luY2x1ZGUgPGRidXMvZGJ1cy1nbGliLmg+CisgI2luY2x1ZGUgPGd1ZGV2L2d1ZGV2Lmg+CistI2luY2x1ZGUgPGF0YXNtYXJ0Lmg+CisgCisgI2luY2x1ZGUgInR5cGVzLmgiCisgCitkaWZmIC0tZ2l0IGEvc3JjL2V4cGFuZGVyLmMgYi9zcmMvZXhwYW5kZXIuYworaW5kZXggNzM0ZWMwYS4uZTc5OWYxMyAxMDA2NDQKKy0tLSBhL3NyYy9leHBhbmRlci5jCisrKysgYi9zcmMvZXhwYW5kZXIuYworQEAgLTM0LDcgKzM0LDYgQEAKKyAjaW5jbHVkZSA8ZGJ1cy9kYnVzLWdsaWIuaD4KKyAjaW5jbHVkZSA8ZGJ1cy9kYnVzLWdsaWItbG93bGV2ZWwuaD4KKyAjaW5jbHVkZSA8Z3VkZXYvZ3VkZXYuaD4KKy0jaW5jbHVkZSA8YXRhc21hcnQuaD4KKyAjaW5jbHVkZSA8c3RkbGliLmg+CisgCisgI2luY2x1ZGUgImRhZW1vbi5oIgorZGlmZiAtLWdpdCBhL3NyYy9oZWxwZXJzL01ha2VmaWxlLmFtIGIvc3JjL2hlbHBlcnMvTWFrZWZpbGUuYW0KK2luZGV4IDRiODYzYzAuLmQzZWM0ZTkgMTAwNjQ0CistLS0gYS9zcmMvaGVscGVycy9NYWtlZmlsZS5hbQorKysrIGIvc3JjL2hlbHBlcnMvTWFrZWZpbGUuYW0KK0BAIC0xOSwxNSArMTksOSBAQCBJTkNMVURFUyA9IFwKKyAKKyBsaWJleGVjX1BST0dSQU1TID0gCQkJCQlcCisgCXVkaXNrcy1oZWxwZXItbWtmcyAgICAgICAgICAgICAgICAgICAgCQlcCistCXVkaXNrcy1oZWxwZXItZGVsZXRlLXBhcnRpdGlvbiAgICAgICAgCQlcCistCXVkaXNrcy1oZWxwZXItY3JlYXRlLXBhcnRpdGlvbiAgICAgICAgCQlcCistCXVkaXNrcy1oZWxwZXItbW9kaWZ5LXBhcnRpdGlvbiAgICAgICAgCQlcCistCXVkaXNrcy1oZWxwZXItY3JlYXRlLXBhcnRpdGlvbi10YWJsZQkJXAorIAl1ZGlza3MtaGVscGVyLWNoYW5nZS1maWxlc3lzdGVtLWxhYmVsIAkJXAorIAl1ZGlza3MtaGVscGVyLWxpbnV4LW1kLXJlbW92ZS1jb21wb25lbnQJCVwKKyAJdWRpc2tzLWhlbHBlci1mc3RhYi1tb3VudGVyCQkJXAorLQl1ZGlza3MtaGVscGVyLWF0YS1zbWFydC1jb2xsZWN0CQkJXAorLQl1ZGlza3MtaGVscGVyLWF0YS1zbWFydC1zZWxmdGVzdAkJXAorIAl1ZGlza3MtaGVscGVyLWRyaXZlLWRldGFjaAkJCVwKKyAJdWRpc2tzLWhlbHBlci1kcml2ZS1wb2xsCQkJXAorIAl1ZGlza3MtaGVscGVyLWxpbnV4LW1kLWNoZWNrCQkJXAorQEAgLTQ4LDYgKzQyLDEzIEBAIHVkaXNrc19oZWxwZXJfbWtmc19TT1VSQ0VTID0gam9iLXNoYXJlZC5oIGpvYi1ta2ZzLmMKKyB1ZGlza3NfaGVscGVyX21rZnNfQ1BQRkxBR1MgPSAkKEFNX0NQUEZMQUdTKQorIHVkaXNrc19oZWxwZXJfbWtmc19MREFERCA9ICQoR0xJQl9MSUJTKQorIAorK2lmIEhBVkVfUEFSVEVECisrbGliZXhlY19QUk9HUkFNUyArPSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisrCXVkaXNrcy1oZWxwZXItZGVsZXRlLXBhcnRpdGlvbiAgICAgICAgCQlcCisrCXVkaXNrcy1oZWxwZXItY3JlYXRlLXBhcnRpdGlvbiAgICAgICAgCQlcCisrCXVkaXNrcy1oZWxwZXItbW9kaWZ5LXBhcnRpdGlvbiAgICAgICAgCQlcCisrCXVkaXNrcy1oZWxwZXItY3JlYXRlLXBhcnRpdGlvbi10YWJsZQorKworIHVkaXNrc19oZWxwZXJfZGVsZXRlX3BhcnRpdGlvbl9TT1VSQ0VTID0gam9iLXNoYXJlZC5oIGpvYi1kZWxldGUtcGFydGl0aW9uLmMKKyB1ZGlza3NfaGVscGVyX2RlbGV0ZV9wYXJ0aXRpb25fQ1BQRkxBR1MgPSAkKEFNX0NQUEZMQUdTKQorIHVkaXNrc19oZWxwZXJfZGVsZXRlX3BhcnRpdGlvbl9MREFERCA9ICQoR0xJQl9MSUJTKSBsaWJwYXJ0dXRpbC5sYQorQEAgLTYzLDExICs2NCwxNyBAQCB1ZGlza3NfaGVscGVyX21vZGlmeV9wYXJ0aXRpb25fTERBREQgPSAkKEdMSUJfTElCUykgbGlicGFydHV0aWwubGEKKyB1ZGlza3NfaGVscGVyX2NyZWF0ZV9wYXJ0aXRpb25fdGFibGVfU09VUkNFUyA9IGpvYi1zaGFyZWQuaCBqb2ItY3JlYXRlLXBhcnRpdGlvbi10YWJsZS5jCisgdWRpc2tzX2hlbHBlcl9jcmVhdGVfcGFydGl0aW9uX3RhYmxlX0NQUEZMQUdTID0gJChBTV9DUFBGTEFHUykKKyB1ZGlza3NfaGVscGVyX2NyZWF0ZV9wYXJ0aXRpb25fdGFibGVfTERBREQgPSAkKEdMSUJfTElCUykgbGlicGFydHV0aWwubGEKKytlbmRpZgorIAorIHVkaXNrc19oZWxwZXJfY2hhbmdlX2ZpbGVzeXN0ZW1fbGFiZWxfU09VUkNFUyA9IGpvYi1zaGFyZWQuaCBqb2ItY2hhbmdlLWZpbGVzeXN0ZW0tbGFiZWwuYworIHVkaXNrc19oZWxwZXJfY2hhbmdlX2ZpbGVzeXN0ZW1fbGFiZWxfQ1BQRkxBR1MgPSAkKEFNX0NQUEZMQUdTKQorIHVkaXNrc19oZWxwZXJfY2hhbmdlX2ZpbGVzeXN0ZW1fbGFiZWxfTERBREQgPSAkKEdMSUJfTElCUykKKyAKKytpZiBIQVZFX0xJQkFUQVNNQVJUCisrbGliZXhlY19QUk9HUkFNUyArPSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisrCXVkaXNrcy1oZWxwZXItYXRhLXNtYXJ0LWNvbGxlY3QJCQlcCisrCXVkaXNrcy1oZWxwZXItYXRhLXNtYXJ0LXNlbGZ0ZXN0CisrCisgdWRpc2tzX2hlbHBlcl9hdGFfc21hcnRfc2VsZnRlc3RfU09VUkNFUyA9IGpvYi1zaGFyZWQuaCBqb2ItYXRhLXNtYXJ0LXNlbGZ0ZXN0LmMKKyB1ZGlza3NfaGVscGVyX2F0YV9zbWFydF9zZWxmdGVzdF9DUFBGTEFHUyA9ICQoQU1fQ1BQRkxBR1MpICQoTElCQVRBU01BUlRfQ0ZMQUdTKSAkKEdMSUJfQ0ZMQUdTKQorIHVkaXNrc19oZWxwZXJfYXRhX3NtYXJ0X3NlbGZ0ZXN0X0xEQUREID0gJChMSUJBVEFTTUFSVF9MSUJTKSAkKEdMSUJfTElCUykKK0BAIC03NSw2ICs4Miw3IEBAIHVkaXNrc19oZWxwZXJfYXRhX3NtYXJ0X3NlbGZ0ZXN0X0xEQUREID0gJChMSUJBVEFTTUFSVF9MSUJTKSAkKEdMSUJfTElCUykKKyB1ZGlza3NfaGVscGVyX2F0YV9zbWFydF9jb2xsZWN0X1NPVVJDRVMgPSBqb2ItYXRhLXNtYXJ0LWNvbGxlY3QuYworIHVkaXNrc19oZWxwZXJfYXRhX3NtYXJ0X2NvbGxlY3RfQ1BQRkxBR1MgPSAkKEFNX0NQUEZMQUdTKSAkKExJQkFUQVNNQVJUX0NGTEFHUykgJChHTElCX0NGTEFHUykKKyB1ZGlza3NfaGVscGVyX2F0YV9zbWFydF9jb2xsZWN0X0xEQUREID0gJChMSUJBVEFTTUFSVF9MSUJTKSAkKEdMSUJfTElCUykKKytlbmRpZgorIAorIHVkaXNrc19oZWxwZXJfbGludXhfbWRfcmVtb3ZlX2NvbXBvbmVudF9TT1VSQ0VTID0gam9iLXNoYXJlZC5oIGpvYi1saW51eC1tZC1yZW1vdmUtY29tcG9uZW50LmMKKyB1ZGlza3NfaGVscGVyX2xpbnV4X21kX3JlbW92ZV9jb21wb25lbnRfQ1BQRkxBR1MgPSAkKEFNX0NQUEZMQUdTKQorZGlmZiAtLWdpdCBhL3NyYy9oZWxwZXJzL3BhcnR1dGlsLmMgYi9zcmMvaGVscGVycy9wYXJ0dXRpbC5jCitpbmRleCA3MmE4ZmUzLi44ODkzYTM5IDEwMDY0NAorLS0tIGEvc3JjL2hlbHBlcnMvcGFydHV0aWwuYworKysrIGIvc3JjL2hlbHBlcnMvcGFydHV0aWwuYworQEAgLTYyLDcgKzYyLDYgQEAgREVCVUcgKGNvbnN0IGdjaGFyICpmb3JtYXQsCisgIyAgaW5jbHVkZSA8Y29uZmlnLmg+CisgI2VuZGlmCisgCistI2RlZmluZSBVU0VfUEFSVEVECisgI2lmZGVmIFVTRV9QQVJURUQKKyAjaW5jbHVkZSA8cGFydGVkL3BhcnRlZC5oPgorICNlbmRpZgorQEAgLTkyOCw2ICs5MjcsNyBAQCBwYXJ0X3RhYmxlX3BhcnNlX2FwcGxlIChpbnQgZmQsCisgICByZXR1cm4gcDsKKyB9CisgCisrI2lmZGVmIFVTRV9QQVJURUQKKyBzdGF0aWMgUGFydGl0aW9uVGFibGUgKgorIHBhcnRfdGFibGVfbG9hZF9mcm9tX2Rpc2tfZnJvbV9maWxlIChjaGFyICpkZXZpY2VfZmlsZSkKKyB7CitAQCAtOTQ4LDYgKzk0OCw3IEBAIHBhcnRfdGFibGVfbG9hZF9mcm9tX2Rpc2tfZnJvbV9maWxlIChjaGFyICpkZXZpY2VfZmlsZSkKKyAgb3V0OgorICAgcmV0dXJuIHJldDsKKyB9CisrI2VuZGlmCisgCisgUGFydGl0aW9uVGFibGUgKgorIHBhcnRfdGFibGVfbG9hZF9mcm9tX2Rpc2sgKGludCBmZCkKK2RpZmYgLS1naXQgYS9zcmMvcG9ydC1wcml2YXRlLmggYi9zcmMvcG9ydC1wcml2YXRlLmgKK2luZGV4IGNjNDgzNzYuLmE5MTUzMmYgMTAwNjQ0CistLS0gYS9zcmMvcG9ydC1wcml2YXRlLmgKKysrKyBiL3NyYy9wb3J0LXByaXZhdGUuaAorQEAgLTIzLDcgKzIzLDYgQEAKKyAKKyAjaW5jbHVkZSA8ZGJ1cy9kYnVzLWdsaWIuaD4KKyAjaW5jbHVkZSA8Z3VkZXYvZ3VkZXYuaD4KKy0jaW5jbHVkZSA8YXRhc21hcnQuaD4KKyAKKyAjaW5jbHVkZSAidHlwZXMuaCIKKyAKK2RpZmYgLS1naXQgYS9zcmMvcHJvYmVycy9NYWtlZmlsZS5hbSBiL3NyYy9wcm9iZXJzL01ha2VmaWxlLmFtCitpbmRleCAwNmJiNTY2Li4wMWM2OTNiIDEwMDY0NAorLS0tIGEvc3JjL3Byb2JlcnMvTWFrZWZpbGUuYW0KKysrKyBiL3NyYy9wcm9iZXJzL01ha2VmaWxlLmFtCitAQCAtMjIsOCArMjIsNiBAQCBJTkNMVURFUyA9IFwKKyAKKyB1ZGV2aGVscGVyZGlyID0gJChzbGFzaGxpYmRpcikvdWRldgorIHVkZXZoZWxwZXJfUFJPR1JBTVMgPQl1ZGlza3MtcGFydC1pZCAJCQlcCistCQkJdWRpc2tzLWRtLWV4cG9ydCAJCVwKKy0JCSAgICAgIAl1ZGlza3MtcHJvYmUtYXRhLXNtYXJ0IAkJXAorIAkJCXVkaXNrcy1wcm9iZS1zYXMtZXhwYW5kZXIgCVwKKyAJCQkkKE5VTEwpCisgCitAQCAtMzUsMTcgKzMzLDIzIEBAIHVkaXNrc19wYXJ0X2lkX1NPVVJDRVMgPSBwYXJ0LWlkLmMKKyB1ZGlza3NfcGFydF9pZF9DUFBGTEFHUyA9ICQoQU1fQ1BQRkxBR1MpICQoTElCVURFVl9DRkxBR1MpCisgdWRpc2tzX3BhcnRfaWRfTERBREQgPSAkKEdMSUJfTElCUykgJChMSUJVREVWX0xJQlMpICQodG9wX2J1aWxkZGlyKS9zcmMvaGVscGVycy9saWJwYXJ0dXRpbC5sYQorIAorK2lmIEhBVkVfREVWTUFQUEVSCisrdWRldmhlbHBlcl9QUk9HUkFNUyArPSB1ZGlza3MtZG0tZXhwb3J0CisgdWRpc2tzX2RtX2V4cG9ydF9TT1VSQ0VTID0gdWRpc2tzLWRtLWV4cG9ydC5jCisgdWRpc2tzX2RtX2V4cG9ydF9DUFBGTEFHUyA9ICQoQU1fQ1BQRkxBR1MpICQoREVWTUFQUEVSX0NGTEFHUykgJChHTElCX0NGTEFHUykKKyB1ZGlza3NfZG1fZXhwb3J0X0xEQUREID0gJChERVZNQVBQRVJfTElCUykgJChHTElCX0xJQlMpCisrZW5kaWYKKyAKKyB1ZGlza3NfbHZtX3B2X2V4cG9ydF9TT1VSQ0VTID0gdWRpc2tzLWx2bS1wdi1leHBvcnQuYworIHVkaXNrc19sdm1fcHZfZXhwb3J0X0NQUEZMQUdTID0gJChBTV9DUFBGTEFHUykgJChERVZNQVBQRVJfQ0ZMQUdTKSAkKExWTTJfQ0ZMQUdTKSAkKEdMSUJfQ0ZMQUdTKQorIHVkaXNrc19sdm1fcHZfZXhwb3J0X0xEQUREID0gJChERVZNQVBQRVJfTElCUykgJChMVk0yX0xJQlMpICQoR0xJQl9MSUJTKQorIAorK2lmIEhBVkVfTElCQVRBU01BUlQKKyt1ZGV2aGVscGVyX1BST0dSQU1TICs9IHVkaXNrcy1wcm9iZS1hdGEtc21hcnQKKyB1ZGlza3NfcHJvYmVfYXRhX3NtYXJ0X1NPVVJDRVMgPSB1ZGlza3MtcHJvYmUtYXRhLXNtYXJ0LmMKKyB1ZGlza3NfcHJvYmVfYXRhX3NtYXJ0X0NQUEZMQUdTID0gJChBTV9DUFBGTEFHUykgJChMSUJBVEFTTUFSVF9DRkxBR1MpCisgdWRpc2tzX3Byb2JlX2F0YV9zbWFydF9MREFERCA9ICQoTElCQVRBU01BUlRfTElCUykKKytlbmRpZgorIAorIHVkaXNrc19wcm9iZV9zYXNfZXhwYW5kZXJfU09VUkNFUyA9IHVkaXNrcy1wcm9iZS1zYXMtZXhwYW5kZXIuYworIHVkaXNrc19wcm9iZV9zYXNfZXhwYW5kZXJfQ1BQRkxBR1MgPSAkKEFNX0NQUEZMQUdTKSAkKEdMSUJfQ0ZMQUdTKQorZGlmZiAtLWdpdCBhL3Rvb2xzL3VkaXNrcy5jIGIvdG9vbHMvdWRpc2tzLmMKK2luZGV4IDZmYmQ2YTYuLmUwYzRmYmIgMTAwNjQ0CistLS0gYS90b29scy91ZGlza3MuYworKysrIGIvdG9vbHMvdWRpc2tzLmMKK0BAIC00Myw3ICs0Myw5IEBACisgI2luY2x1ZGUgPGRidXMvZGJ1cy1nbGliLmg+CisgI2luY2x1ZGUgPGRidXMvZGJ1cy1nbGliLWxvd2xldmVsLmg+CisgCisrI2lmZGVmIEhBVkVfTElCQVRBU01BUlQKKyAjaW5jbHVkZSA8YXRhc21hcnQuaD4KKysjZW5kaWYKKyAKKyAjaW5jbHVkZSAidWRpc2tzLWRhZW1vbi1nbHVlLmgiCisgI2luY2x1ZGUgInVkaXNrcy1kZXZpY2UtZ2x1ZS5oIgorQEAgLTk3OSw2ICs5ODEsNyBAQCBlbmRfaGlnaGxpZ2h0ICh2b2lkKQorICAgICBnX3ByaW50ICgiXHgxQlswbSIpOworIH0KKyAKKysjaWZkZWYgSEFWRV9MSUJBVEFTTUFSVAorIHN0YXRpYyBjb25zdCBnY2hhciAqCisgYXRhX3NtYXJ0X3N0YXR1c190b19kZXNjIChjb25zdCBnY2hhciAqc3RhdHVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2Jvb2xlYW4gKm91dF9oaWdobGlnaHQpCitAQCAtMTE1OSw2ICsxMTYyLDcgQEAgcHJpbnRfYXRhX3NtYXJ0X2F0dHIgKFNrRGlzayAqZCwKKyAgIGdfZnJlZSAodGhyZXNob2xkX3N0cik7CisgICBnX2ZyZWUgKHByZXR0eSk7CisgfQorKyNlbmRpZgorIAorIHN0YXRpYyB2b2lkCisgZG9fc2hvd19pbmZvIChjb25zdCBjaGFyICpvYmplY3RfcGF0aCkKK0BAIC0xNDQwLDcgKzE0NDQsNyBAQCBkb19zaG93X2luZm8gKGNvbnN0IGNoYXIgKm9iamVjdF9wYXRoKQorICAgICAgICAgZ19wcmludCAoIiAgICBpZiBzcGVlZDogICAgICAgICAgICAgICAgICAlIiBHX0dJTlQ2NF9GT1JNQVQgIiBiaXRzL3NcbiIsIHByb3BzLT5kcml2ZV9jb25uZWN0aW9uX3NwZWVkKTsKKyAKKyAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCistCisrI2lmZGVmIEhBVkVfTElCQVRBU01BUlQKKyAgICAgICBpZiAoIXByb3BzLT5kcml2ZV9hdGFfc21hcnRfaXNfYXZhaWxhYmxlKQorICAgICAgICAgeworICAgICAgICAgICBnX3ByaW50ICgiICAgIEFUQSBTTUFSVDogICAgICAgICAgICAgICAgIG5vdCBhdmFpbGFibGVcbiIpOworQEAgLTE0OTMsNyArMTQ5Nyw5IEBAIGRvX3Nob3dfaW5mbyAoY29uc3QgY2hhciAqb2JqZWN0X3BhdGgpCisgICAgICAgICAgICAgfQorIAorICAgICAgICAgfQorLQorKyNlbHNlCisrICAgICAgICAgIGdfcHJpbnQgKCIgICAgQVRBIFNNQVJUOiAgICAgICAgICAgICAgICAgbm90IHN1cHBvcnRlZFxuIik7CisrI2VuZGlmCisgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworIAorICAgICB9CistLSAKKzEuNy41LnJjMworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VkaXNrcy91ZGlza3MvdWRpc2tzLTEuMC41LWZpeC1zZXJ2aWNlLWZpbGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VkaXNrcy91ZGlza3MvdWRpc2tzLTEuMC41LWZpeC1zZXJ2aWNlLWZpbGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDVlODRkMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdWRpc2tzL3VkaXNrcy91ZGlza3MtMS4wLjUtZml4LXNlcnZpY2UtZmlsZS5wYXRjaApAQCAtMCwwICsxLDMzIEBACitGcm9tIDdkNjFhZDA0ODg1NmVlMjM5ODcwYjkxN2Q2OTMzZTNhZDYzZjA3ODkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBEYXZpZCBLaW5nIDxhbWlnYWRhdmVAYW1pZ2FkYXZlLmNvbT4KK0RhdGU6IFRodSwgMiBKdWwgMjAxNSAxMzo0OToyMiArMDEwMAorU3ViamVjdDogW1BBVENIXSBGaXggc3lzdGVtZCBzZXJ2aWNlIGZpbGUKKwordWRpc2tzLWRhZW1vbiBpcyBpbnN0YWxsZWQgdG8gJChsaWJleGVjZGlyKSwgbm90ICQocHJlZml4KS9saWIvdWRpc2tzLgorCitodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTEyMzg2NjQKK2h0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvc2hvd19idWcuY2dpP2lkPTkxMTkxCisKK1Rha2VuLUZyb206IFsxXQorWzFdIGh0dHA6Ly9wa2dzLmZlZG9yYXByb2plY3Qub3JnL2NnaXQvdWRpc2tzLmdpdC90cmVlL3VkaXNrcy0xLjAuNS1maXgtc2VydmljZS1maWxlLnBhdGNoCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworLS0tCisgZGF0YS9NYWtlZmlsZS5hbSB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2RhdGEvTWFrZWZpbGUuYW0gYi9kYXRhL01ha2VmaWxlLmFtCitpbmRleCA0MTFlYTBmLi4wOGFmNWY0IDEwMDY0NAorLS0tIGEvZGF0YS9NYWtlZmlsZS5hbQorKysrIGIvZGF0YS9NYWtlZmlsZS5hbQorQEAgLTMxLDcgKzMxLDcgQEAgc3lzdGVtZHNlcnZpY2VkaXIgICAgICAgPSAkKHN5c3RlbWRzeXN0ZW11bml0ZGlyKQorIHN5c3RlbWRzZXJ2aWNlX0RBVEEgICAgID0gJChzeXN0ZW1kc2VydmljZV9pbl9maWxlczouc2VydmljZS5pbj0uc2VydmljZSkKKyAKKyAkKHN5c3RlbWRzZXJ2aWNlX0RBVEEpOiAkKHN5c3RlbWRzZXJ2aWNlX2luX2ZpbGVzKSBNYWtlZmlsZQorLQlAc2VkIC1lICJzfFxAbGliZXhlY2RpclxAfCQocHJlZml4KS9saWIvdWRpc2tzfCIgJDwgPiAkQAorKwlAc2VkIC1lICJzfFxAbGliZXhlY2RpclxAfCQobGliZXhlY2Rpcil8IiAkPCA+ICRACisgZW5kaWYKKyAKKyB1ZGV2cnVsZXNkaXIgPSAkKHNsYXNobGliZGlyKS91ZGV2L3J1bGVzLmQKKy0tIAorMi40LjUKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdWRpc2tzL3VkaXNrczJfMi4xLjUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VkaXNrcy91ZGlza3MyXzIuMS41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYzNjVjZmEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VkaXNrcy91ZGlza3MyXzIuMS41LmJiCkBAIC0wLDAgKzEsMzUgQEAKK1NVTU1BUlkgPSAidWRpc2tzIHByb3ZpZGVzIGRidXMgaW50ZXJmYWNlcyBmb3IgZGlza3MgYW5kIHN0b3JhZ2UgZGV2aWNlcyIKK0xJQ0VOU0UgPSAiR1BMdjIrICYgTEdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWRkNzlmNmRiYmZmZGJjOGU4NmIwODZhOGYwYzBlZjQzIgorCitERVBFTkRTID0gImFjbCBsaWJhdGFzbWFydCBwb2xraXQgbGliZ3VkZXYgZGJ1cy1nbGliIGdsaWItMi4wIGludGx0b29sLW5hdGl2ZSBnbm9tZS1jb21tb24tbmF0aXZlIgorREVQRU5EUyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3N5c3RlbWQnLCAnJywgZCl9IgorCitSREVQRU5EU18ke1BOfSA9ICJhY2wiCisKK1NSQ19VUkkgPSAiaHR0cDovL3VkaXNrcy5mcmVlZGVza3RvcC5vcmcvcmVsZWFzZXMvdWRpc2tzLSR7UFZ9LnRhci5iejIiCitTUkNfVVJJW21kNXN1bV0gPSAiNzM2MzI1MDEwMDJlNmRlODI0NGY4MzFlMzhiMmI5OGUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMmNmY2Y1NjA0NDdlYTQ0Y2JhMmE2ODMzNDJjNzA2MmFhYWYzNWU0ZWI1NTRiZWQ2NGFjMmRkNTVhNzBhNWZiNiIKKworaW5oZXJpdCBhdXRvdG9vbHMgc3lzdGVtZCBndGstZG9jIGdvYmplY3QtaW50cm9zcGVjdGlvbgorCitTID0gIiR7V09SS0RJUn0vdWRpc2tzLSR7UFZ9IgorCitFWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLW1hbiIKKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9wb2xraXQtMS9leHRlbnNpb25zLyouc28gXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGJ1cy0xLyBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9wb2xraXQtMSBcCisgICAgICAgICAgICAgICAgJHtub25hcmNoX2Jhc2VfbGliZGlyfS91ZGV2LyogXAorICAgICAgICAgICAgICAgICR7ZXhlY19wcmVmaXh9JHtub25hcmNoX2Jhc2VfbGliZGlyfS91ZGlza3MyLyogXAorIgorCitQQUNLQUdFUyA9KyAiJHtQTn0tbGlicyIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vYmFzaC1jb21wbGV0aW9uIgorRklMRVNfJHtQTn0tbGlicyA9ICIke2xpYmRpcn0vbGliKiR7U09MSUJTfSIKKworRklMRVNfJHtQTn0tZGJnICs9ICIke2V4ZWNfcHJlZml4fSR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vdWRpc2tzMi8uZGVidWciCisKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICIke0JQTn0uc2VydmljZSIKK1NZU1RFTURfQVVUT19FTkFCTEUgPSAiZGlzYWJsZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdWRpc2tzL3VkaXNrc18xLjAuNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdWRpc2tzL3VkaXNrc18xLjAuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZWM2OTMzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91ZGlza3MvdWRpc2tzXzEuMC41LmJiCkBAIC0wLDAgKzEsMzkgQEAKK0RFU0NSSVBUSU9OID0gIkEgc3RvcmFnZSBkYWVtb24gdGhhdCBpbXBsZW1lbnRzIHdlbGwtZGVmaW5lZCBELUJ1cyBpbnRlcmZhY2VzIHRoYXQgY2FuIGJlIHVzZWQgdG8gcXVlcnkgYW5kIG1hbmlwdWxhdGUgc3RvcmFnZSBkZXZpY2VzLiIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzNkODNhZWJlN2U0YjYyMzQ2YWZkZTgwZTBlOTQyNzMiCisKK0RFUEVORFMgPSAibGliYXRhc21hcnQgc2czLXV0aWxzIHBvbGtpdCBsaWJndWRldiBkYnVzLWdsaWIgZ2xpYi0yLjAgaW50bHRvb2wtbmF0aXZlIGx2bTIiCisjIG9wdGlvbmFsIGRlcGVuZGVuY2llczogZGV2aWNlLW1hcHBlciBwYXJ0ZWQKKworREVQRU5EUyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3N5c3RlbWQnLCAnJywgZCl9IgorCitTUkNfVVJJID0gIiBcCisgICAgaHR0cDovL2hhbC5mcmVlZGVza3RvcC5vcmcvcmVsZWFzZXMvJHtCUE59LSR7UFZ9LnRhci5nejtuYW1lPSR7QlBOfSBcCisgICAgZmlsZTovL29wdGlvbmFsLWRlcGVuZHMucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDAxLWZpeC1idWlsZC13aXRoLW5ld2VyLWdsaWJjLXZlcnNpb25zLnBhdGNoIFwKKyAgICBmaWxlOi8vdWRpc2tzLTEuMC41LWZpeC1zZXJ2aWNlLWZpbGUucGF0Y2ggXAorIgorCitTUkNfVVJJW3VkaXNrcy5tZDVzdW1dID0gIjcwZDQ4ZGNmZTUyM2E3NGNkN2M3ZmJiYzI4NDdmY2RkIgorU1JDX1VSSVt1ZGlza3Muc2hhMjU2c3VtXSA9ICJmMmVjODJlYjBlYTdlMDFkYzI5OWI1YjI5YjNjMThjZGY4NjEyMzZlYzQzZGNmZjY2YjM1NTJiNGIzMWM2ZjcxIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgc3lzdGVtZCBndGstZG9jCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW3BhcnRlZF0gPSAiLS1lbmFibGUtcGFydGVkLC0tZGlzYWJsZS1wYXJ0ZWQscGFydGVkIgorCitFWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLW1hbi1wYWdlcyIKKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9wb2xraXQtMS9leHRlbnNpb25zLyouc28gXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGJ1cy0xLyBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9wb2xraXQtMSBcCisgICAgICAgICAgICAgICAgJHtub25hcmNoX2Jhc2VfbGliZGlyfS91ZGV2LyogXAorIgorCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vdWRldi8uZGVidWciCisKK1JQUk9WSURFU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1JSRVBMQUNFU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1JDT05GTElDVFNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAidWRpc2tzLnNlcnZpY2UiCitTWVNURU1EX0FVVE9fRU5BQkxFID0gImRpc2FibGUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VpbS91aW0vMDAwMS1maXgtYnVnLWZvci1jcm9zcy1jb21waWxlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91aW0vdWltLzAwMDEtZml4LWJ1Zy1mb3ItY3Jvc3MtY29tcGlsZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZjgyYjA3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91aW0vdWltLzAwMDEtZml4LWJ1Zy1mb3ItY3Jvc3MtY29tcGlsZS5wYXRjaApAQCAtMCwwICsxLDI4IEBACitGcm9tIDI5MTgxOTZiYTc4MmRmYTQ0MDFiZGNhOTE3YWQ0ZGUxOTEwNTA1ZTAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBMZWkgTWFvaHVpIDxsZWltYW9odWlAY24uZnVqaXRzdS5jb20+CitEYXRlOiBGcmksIDIxIEF1ZyAyMDE1IDE1OjU4OjQyICswOTAwCitTdWJqZWN0OiBbUEFUQ0hdIGZpeCBidWcgZm9yIGNyb3NzIGNvbXBpbGUKKworU2lnbmVkLW9mZi1ieTogTGVpIE1hb2h1aSA8bGVpbWFvaHVpQGNuLmZ1aml0c3UuY29tPgorLS0tCisgY29uZmlndXJlLmFjIHwgNCArKy0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggOWJlODc5Yy4uOTI0OWJmZCAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtMTIwOCw4ICsxMjA4LDggQEAgQUNfSEVMUF9TVFJJTkcoWy0td2l0aC1saWJlZGl0Wz1ESVJdLCBFbmFibGUgbGliZWRpdCBzdXBwb3J0CisgaWYgdGVzdCAieCR1c2VfbGliZWRpdCIgIT0gInhubyI7IHRoZW4KKyAgICAgc2F2ZWRfQ1BQRkxBR1M9JENQUEZMQUdTCisgICAgIHNhdmVkX0xERkxBR1M9JExERkxBR1MKKy0gICAgQ1BQRkxBR1M9IiR7Q1BQRkxBR1N9IC1JJGxpYmVkaXRfcGF0aC9pbmNsdWRlIgorLSAgICBMREZMQUdTPSIke0xERkxBR1N9IC1MJGxpYmVkaXRfcGF0aC9saWIiCisrICAgIENQUEZMQUdTPSIke0NQUEZMQUdTfSAiCisrICAgIExERkxBR1M9IiR7TERGTEFHU30gIgorICAgICBBQ19DSEVDS19MSUIoY3Vyc2VzLCB0Z2V0ZW50LCBMSUJFRElUX0xJQlM9Ii1sY3Vyc2VzIiwKKyAgICAgICAgIFtBQ19DSEVDS19MSUIobmN1cnNlcywgdGdldGVudCwgTElCRURJVF9MSUJTPSItbG5jdXJzZXMiLAorICAgICAgICAgICAgIEFDX01TR19XQVJOKCJsaWJlZGl0IG5lZWRzIGxpYmN1cnNlcyBvciBsaWJuY3Vyc2VzLiBkaXNhYmxlZC4uLiIpCistLSAKKzEuOC40LjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91aW0vdWltL3VpbS1tb2R1bGUtbWFuYWdlci5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdWltL3VpbS91aW0tbW9kdWxlLW1hbmFnZXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODU2OWJmMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdWltL3VpbS91aW0tbW9kdWxlLW1hbmFnZXIucGF0Y2gKQEAgLTAsMCArMSwxMSBAQAorLS0tIHVpbS0xLjEuMC9zY20vTWFrZWZpbGUuYW1+CTIwMDYtMDYtMDkgMTA6NDY6MTIuMDAwMDAwMDAwICswOTAwCisrKysgdWltLTEuMS4wL3NjbS9NYWtlZmlsZS5hbQkyMDA2LTA2LTE5IDIzOjAwOjE1LjYyMDAwMDAwMCArMDkwMAorQEAgLTU4LDcgKzU4LDcgQEAKKyAgIG1vZHVsZV9uYW1lcyArPSAic2NpbSIKKyBlbmRpZgorIAorLVVJTV9NT0RVTEVfTUFOQUdFUiA9ICQodG9wX2J1aWxkZGlyKS91aW0vdWltLW1vZHVsZS1tYW5hZ2VyCisrVUlNX01PRFVMRV9NQU5BR0VSID0gdWltLW1vZHVsZS1tYW5hZ2VyCisgVUlNX01PRFVMRV9NQU5BR0VSX0VOViA9IFwKKyAgICAgICAgIExJQlVJTV9TQ01fRklMRVM9JChhYnNfc3JjZGlyKSBcCisgICAgICAgICBMSUJVSU1fUExVR0lOX0xJQl9ESVI9JChhYnNfdG9wX2J1aWxkZGlyKS91aW0vLmxpYnMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdWltL3VpbV8xLjguNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdWltL3VpbV8xLjguNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40Mjc4OGU0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91aW0vdWltXzEuOC42LmJiCkBAIC0wLDAgKzEsMTUyIEBACitERVNDUklQVElPTiA9ICJBIG11bHRpbGluZ3VhbCB1c2VyIGlucHV0IG1ldGhvZCBsaWJyYXJ5IgorSE9NRVBBR0UgPSAiaHR0cDovL3VpbS5mcmVlZGVza3RvcC5vcmcvIgorTElDRU5TRSA9ICJCU0QtMy1DbGF1c2UgJiBMR1BMdjIrIgorU0VDVElPTiA9ICJpbnB1dG1ldGhvZHMiCisKK1NSQ19VUkkgPSAiaHR0cDovL3VpbS5nb29nbGVjb2RlLmNvbS9maWxlcy91aW0tJHtQVn0udGFyLmJ6MiBcCisgICAgICAgICAgIgorCitTUkNfVVJJX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiZmlsZTovL3VpbS1tb2R1bGUtbWFuYWdlci5wYXRjaCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZTovLzAwMDEtZml4LWJ1Zy1mb3ItY3Jvc3MtY29tcGlsZS5wYXRjaCIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MzI0NjNmZDI5YWEzMDNmYjIzNjBmYWVlYWUxNzI1NmIiCitTUkNfVVJJW21kNXN1bV0gPSAiZWNlYTRjNTk3YmFiMWZkNGJhOThlYTg0ZWRjZWNlNTkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiN2IxZWE4MDNjNzNmMzQ3ODkxNzE2NmYwNGY2N2NjZTZlNDVhZDdlYTVhYjZkZjk5Yjk0OGMxN2ViMWNiMjM1ZiIKKworREVQRU5EUyA9ICJhbnRoeSBmb250Y29uZmlnIGxpYnhmdCBsaWJ4dCBnbGliLTIuMCBuY3Vyc2VzIGludGx0b29sIgorREVQRU5EU19jbGFzcy10YXJnZXQgKz0gImd0aysgZ3RrKzMgdWltLW5hdGl2ZSB0YWthby1mb250cyIKKworUkRFUEVORFNfdWltID0gImxpYnVpbTAgbGliZWRpdCIKK1JERVBFTkRTX3VpbS1hbnRoeSA9ICJ0YWthby1mb250cyBhbnRoeSBsaWJhbnRoeTAiCisKK0xFQURfU09OQU1FID0gImxpYnVpbS5zby4xIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZ2V0dGV4dAorCitFWFRSQV9PRUNPTkYgKz0gIi0tZGlzYWJsZS1lbWFjcyBcCisgICAgICAgICAgICAgICAgIC0td2l0aG91dC1zY2ltIFwKKyAgICAgICAgICAgICAgICAgLS13aXRob3V0LW0xN25saWIgXAorICAgICAgICAgICAgICAgICAtLXdpdGhvdXQtcHJpbWUgXAorICAgICAgICAgICAgICAgICAtLXdpdGhvdXQtY2FubmEgXAorICAgICAgICAgICAgICAgICAtLXdpdGhvdXQtbWFuYSBcCisgICAgICAgICAgICAgICAgIC0td2l0aG91dC1lYiIKKworQ09ORklHVVJFT1BUU19yZW1vdmVfY2xhc3MtdGFyZ2V0ID0gIi0tZGlzYWJsZS1zaWxlbnQtcnVsZXMiCisKKyNCZWNhdXNlIG00IGZpbGUncyBmaW5kIG1heGRlcHRoPTIsIHNvIGNvcHkgdGhlIG00IGZpbGVzIG9mIHRoZSBkZWVwIGRlcHRoLgorZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgeworICAgIGNwICR7U30vc2lnc2NoZW1lL200LyogJHtTfS9tNC8KK30KKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgcm0gLXJmICR7RH0vJHtkYXRhZGlyfS9hcHBsaWNhdGlvbnMKK30KKworUEFDS0FHRVMgKz0gInVpbS14aW0gdWltLXV0aWxzIHVpbS1za2sgdWltLWd0azIuMCB1aW0tZ3RrMyB1aW0tZmVwIHVpbS1jb21tb24gdWltLWFudGh5IGxpYnVpbTAgbGlidWltLWRldiIKKworRklMRVNfJHtQTn0gPSAiJHtiaW5kaXJ9L3VpbS1oZWxwIFwKKyAgICAgICAgICAgICAgICR7bGliZGlyfS91aW0vcGx1Z2luL2xpYnVpbS0qIFwKKyAgICAgICAgICAgICAgICR7bGliZGlyfS9saWJ1aW0tc2NtKiBcCisgICAgICAgICAgICAgICAke2xpYmRpcn0vbGliZ2Nyb290cyogXAorICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3VpbS9wbHVnaW4vbGlidWltLSoiCisKK0ZJTEVTX2xpYnVpbTAgPSAiJHtsaWJkaXJ9L3VpbS9wbHVnaW4vbGlidWltLWN1c3RvbS1lbmFibGVyLiogXAorICAgICAgICAgICAgICAgICAke2xpYmRpcn0vbGlidWltLWN1c3RvbS5zby4qIFwKKyAgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9sb2NhbGUvamEvTENfTUVTU0FHRVMvdWltLm1vIFwKKyAgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9sb2NhbGUvZnIvTENfTUVTU0FHRVMvdWltLm1vIFwKKyAgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9sb2NhbGUva28vTENfTUVTU0FHRVMvdWltLm1vIFwKKyAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2xpYnVpbS5zby4qIgorCitGSUxFU19saWJ1aW0tZGV2ID0gIiR7bGliZGlyfS9saWJ1aW0qLmEgXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vbGlidWltKi5sYSBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9saWJ1aW0qLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgJHtpbmNsdWRlZGlyfS91aW0gXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcGtnY29uZmlnL3VpbS5wYyIKKworRklMRVNfdWltLWFudGh5ID0gIiR7bGliZGlyfS91aW0vcGx1Z2luL2xpYnVpbS1hbnRoeS4qIFwKKyAgICAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3VpbS9hbnRoeSouc2NtIgorCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS8qLyovKi8uZGVidWcgJHtsaWJkaXJ9LyovKi8uZGVidWciCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS91aW0vcGx1Z2luLyoubGEiCisKK0ZJTEVTX3VpbS11dGlscyA9ICIke2JpbmRpcn0vdWltLXNoIFwKKyAgICAgICAgICAgICAgICAgICAke2JpbmRpcn0vdWltLW1vZHVsZS1tYW5hZ2VyIFwKKwkJICAgJHtsaWJleGVjZGlyfS91aW0taGVscGVyLXNlcnZlciIKKworRklMRVNfdWltLXhpbSA9ICIke2JpbmRpcn0vdWltLXhpbSBcCisgICAgICAgICAgICAgICAgICR7bGliZXhlY2Rpcn0vdWltLWNhbmR3aW4tKmd0ayBcCisgICAgICAgICAgICAgICAgICR7bGliZXhlY2Rpcn0vdWltLWNhbmR3aW4tKmd0azMgXAorICAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L21hbi9tYW4xL3VpbS14aW0uMSBcCisgICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vWDExL3hpbml0L3hpbnB1dC5kL3VpbSoiCisKK0ZJTEVTX3VpbS1jb21tb24gPSAiJHtkYXRhZGlyfS91aW0vcGl4bWFwcy8qLnBuZyBcCisgICAgICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vdWltIgorCitGSUxFU191aW0tZmVwID0gIiR7YmluZGlyfS91aW0tZmVwKiIKKworRklMRVNfdWltLWd0azIuMCA9ICIke2xpYmRpcn0vZ3RrLTIuMCBcCisgICAgICAgICAgICAgICAgICAgICR7YmluZGlyfS91aW0tdG9vbGJhci1ndGsgXAorICAgICAgICAgICAgICAgICAgICAke2JpbmRpcn0vdWltLXRvb2xiYXItZ3RrLXN5c3RyYXkgXAorICAgICAgICAgICAgICAgICAgICAke2JpbmRpcn0vdWltLSotZ3RrIFwKKyAgICAgICAgICAgICAgICAgICAgJHtiaW5kaXJ9L3VpbS1pbnB1dC1wYWQtamEgXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vdWltL3VpbS0qLWd0ayIKKworRklMRVNfdWltLWd0azMgPSAiJHtsaWJkaXJ9L2d0ay0zLjAgXAorICAgICAgICAgICAgICAgICAgICR7YmluZGlyfS91aW0tdG9vbGJhci1ndGszIFwKKyAgICAgICAgICAgICAgICAgICAke2JpbmRpcn0vdWltLXRvb2xiYXItZ3RrMy1zeXN0cmF5IFwKKyAgICAgICAgICAgICAgICAgICAke2JpbmRpcn0vdWltLSotZ3RrMyBcCisgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3VpbS91aW0tKi1ndGszIgorCitGSUxFU191aW0tc2trID0gIiR7bGliZGlyfS91aW0vcGx1Z2luL2xpYnVpbS1za2suKiBcCisgICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vdWltL3Nrayouc2NtIgorCitwa2dfcG9zdGluc3RfdWltLWFudGh5KCkgeworICAgIGlmIFsgLWYgL3Vzci9iaW4vdWltLW1vZHVsZS1tYW5hZ2VyIF07IHRoZW4KKyAgICAgICAgL3Vzci9iaW4vdWltLW1vZHVsZS1tYW5hZ2VyIC0tcmVnaXN0ZXIgYW50aHkgLS1wYXRoIC9ldGMvdWltCisgICAgZmkKK30KKworcGtnX3Bvc3RybV91aW0tYW50aHkoKSB7CisgICAgaWYgWyAtZiAvdXNyL2Jpbi91aW0tbW9kdWxlLW1hbmFnZXIgXTsgdGhlbgorICAgICAgICAvdXNyL2Jpbi91aW0tbW9kdWxlLW1hbmFnZXIgLS1wYXRoIC9ldGMvdWltIC0tdW5yZWdpc3RlciBhbnRoeQorICAgIGZpCit9CisKK3BrZ19wcmVybV91aW0tYW50aHkoKSB7CisgICAgaWYgWyAtZiAvdXNyL2Jpbi91aW0tbW9kdWxlLW1hbmFnZXIgXTsgdGhlbgorICAgICAgICAvdXNyL2Jpbi91aW0tbW9kdWxlLW1hbmFnZXIgLS1yZWdpc3RlciBhbnRoeSAtLXBhdGggL2V0Yy91aW0KKyAgICBmaQorfQorCitwa2dfcG9zdGluc3RfdWltLWd0azIuMCgpIHsKKyAgICBndGstcXVlcnktaW1tb2R1bGVzLTIuMCA+IC9ldGMvZ3RrLTIuMC9ndGsuaW1tb2R1bGVzCit9CisKK3BrZ19wb3N0aW5zdF91aW0tc2trKCkgeworICAgIGlmIFsgLWYgL3Vzci9iaW4vdWltLW1vZHVsZS1tYW5hZ2VyIF07IHRoZW4KKyAgICAgICAgL3Vzci9iaW4vdWltLW1vZHVsZS1tYW5hZ2VyIC0tcmVnaXN0ZXIgc2trIC0tcGF0aCAvZXRjL3VpbQorICAgIGZpCit9CisKK3BrZ19wb3N0cm1fdWltLXNraygpIHsKKyAgICBpZiBbIC1mIC91c3IvYmluL3VpbS1tb2R1bGUtbWFuYWdlciBdOyB0aGVuCisgICAgICAgIC91c3IvYmluL3VpbS1tb2R1bGUtbWFuYWdlciAtLXBhdGggL2V0Yy91aW0gLS11bnJlZ2lzdGVyIHNraworICAgIGZpCit9CisKK3BrZ19wb3N0aW5zdF91aW0tY29tbW9uKCkgeworICAgIGlmIFsgLWYgL3Vzci9iaW4vdWltLW1vZHVsZS1tYW5hZ2VyIF07IHRoZW4KKyAgICAgICAgL3Vzci9iaW4vdWltLW1vZHVsZS1tYW5hZ2VyIC0tcGF0aCAvZXRjL3VpbSAtLXJlZ2lzdGVyIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR1dGNvZGUgdGNvZGUgaGFuZ3VsIHZpcXIgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXBhLXgtc2FtcGEgbGF0aW4gYnllb3J1CisgICAgZmkKK30KKworcGtnX3ByZXJtX3VpbS1jb21tb24oKSB7CisgICAgaWYgWyAtZiAvdXNyL2Jpbi91aW0tbW9kdWxlLW1hbmFnZXIgXTsgdGhlbgorICAgICAgICAvdXNyL2Jpbi91aW0tbW9kdWxlLW1hbmFnZXIgLS1wYXRoIC9ldGMvdWltIC0tcmVnaXN0ZXIgXAorICAgICAgICB0dXRjb2RlIHRjb2RlIGhhbmd1bCB2aXFyIGlwYS14LXNhbXBhIGxhdGluIGJ5ZW9ydQorICAgIGZpCit9CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91cG93ZXIvdXBvd2VyXzAuOS4xNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdXBvd2VyL3Vwb3dlcl8wLjkuMTQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDJjNTk0MwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdXBvd2VyL3Vwb3dlcl8wLjkuMTQuYmIKQEAgLTAsMCArMSwzNSBAQAorREVTQ1JJUFRJT04gPSAiVVBvd2VyIGlzIGFuIGFic3RyYWN0aW9uIGZvciBlbnVtZXJhdGluZyBwb3dlciBkZXZpY2VzLCBsaXN0ZW5pbmcgdG8gZGV2aWNlIGV2ZW50cyBhbmQgcXVlcnlpbmcgaGlzdG9yeSBhbmQgc3RhdGlzdGljcy4gIgorTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0wZGU4ZmJmMWQ5N2ExNDBkMWQ5M2I5ZjE0ZGNmYmYwOCIKKworUFIgPSAicjIiCisKK0RFUEVORFMgPSAiaW50bHRvb2wtbmF0aXZlIGxpYnVzYjEgbGliZ3VkZXYgZ2xpYi0yLjAgZGJ1cy1nbGliIHBvbGtpdCIKKworU1JDX1VSSSA9ICJodHRwOi8vdXBvd2VyLmZyZWVkZXNrdG9wLm9yZy9yZWxlYXNlcy8ke0JQTn0tJHtQVn0udGFyLnh6IgorU1JDX1VSSVttZDVzdW1dID0gIjE4ODAzZjgyMTAyZDU2YWFjOTA5NDlkMWU0MjUxNjQ1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjgxZWI0NGMwNDUzYjI2NGE3MzdkMzJmNzYzYTMxZDViMTc3NmYwNTBhNDdkNWJlODVmYzVlOWNhZjg3NGE0YzUiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBnZXR0ZXh0IGdvYmplY3QtaW50cm9zcGVjdGlvbgorCitQQUNLQUdFQ09ORklHID8/PSAiIgorUEFDS0FHRUNPTkZJR1tpZGV2aWNlXSA9ICItLXdpdGgtaWRldmljZSwtLXdpdGhvdXQtaWRldmljZSxsaWJpbW9iaWxlZGV2aWNlIGxpYnBsaXN0IgorCitFWFRSQV9PRUNPTkYgPSAiIC0td2l0aC1iYWNrZW5kPWxpbnV4IgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICBzZWQgLWkgLWUgczotbm9uZXQ6XDpnICR7U30vZG9jL21hbi9NYWtlZmlsZS5hbQorICAgIHNlZCAtaSAtZSAnczogZG9jIDogOmcnICR7U30vTWFrZWZpbGUuYW0KK30gICAgCisKKworUlJFQ09NTUVORFNfJHtQTn0gKz0gInBtLXV0aWxzIgorRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vZGJ1cy0xLyBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9wb2xraXQtMS8gXAorICAgICAgICAgICAgICAgICR7YmFzZV9saWJkaXJ9L3VkZXYvKiBcCisiCisKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtiYXNlX2xpYmRpcn0vdWRldi8uZGVidWciCisKKworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VzYi1tb2Rlc3dpdGNoL3VzYi1tb2Rlc3dpdGNoLWRhdGFfMjAxNDA1MjkuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VzYi1tb2Rlc3dpdGNoL3VzYi1tb2Rlc3dpdGNoLWRhdGFfMjAxNDA1MjkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTI2NTQxMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdXNiLW1vZGVzd2l0Y2gvdXNiLW1vZGVzd2l0Y2gtZGF0YV8yMDE0MDUyOS5iYgpAQCAtMCwwICsxLDE3IEBACitTVU1NQVJZID0gIkRhdGEgZmlsZXMgZm9yIHVzYm1vZGVzd2l0Y2giCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCisKK2luaGVyaXQgYWxsYXJjaAorCitTUkNfVVJJID0gImh0dHA6Ly93d3cuZHJhaXNiZXJnaG9mLmRlL3VzYl9tb2Rlc3dpdGNoLyR7QlB9LnRhci5iejIiCitTUkNfVVJJW21kNXN1bV0gPSAiZGZmOTQxNzc3ODEyOThhYWYwYjNjMmEzYzNkZWE2YjIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTM4ODkxNTc5MzcxMDllMDRkYWZlODk3YzA5OGVjOTRmM2Y0NGY5YzBjODNmYzZlYzg0MTdhYTlhNTg3ZTUzNiIKKworZG9faW5zdGFsbCgpIHsKKyAgICBvZV9ydW5tYWtlIGluc3RhbGwgREVTVERJUj0ke0R9Cit9CisKK1JERVBFTkRTXyR7UE59ID0gInVzYi1tb2Rlc3dpdGNoICg+PSAyLjIuMCkiCitGSUxFU18ke1BOfSArPSAiJHtiYXNlX2xpYmRpcn0vdWRldi9ydWxlcy5kLyBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS91c2JfbW9kZXN3aXRjaCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdXNiLW1vZGVzd2l0Y2gvdXNiLW1vZGVzd2l0Y2hfMi4yLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VzYi1tb2Rlc3dpdGNoL3VzYi1tb2Rlc3dpdGNoXzIuMi4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUyYTJmNTYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VzYi1tb2Rlc3dpdGNoL3VzYi1tb2Rlc3dpdGNoXzIuMi4wLmJiCkBAIC0wLDAgKzEsMTkgQEAKK1NVTU1BUlkgPSAiQSBtb2RlIHN3aXRjaGluZyB0b29sIGZvciBjb250cm9sbGluZyAnZmxpcCBmbG9wJyAobXVsdGlwbGUgZGV2aWNlKSBVU0IgZ2VhciIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKKworREVQRU5EUyA9ICJsaWJ1c2IxIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cuZHJhaXNiZXJnaG9mLmRlL3VzYl9tb2Rlc3dpdGNoLyR7QlB9LnRhci5iejIiCitTUkNfVVJJW21kNXN1bV0gPSAiZjMyM2ZlNzAwZWRkNmVhNDA0YzQwOTM0ZGRmMzJiMjIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMjc1MjEwM2RlMTcxZWQ1ZjZjOGQ2YTZlM2U3M2UxNmM5ZWUzZThlMzk0ZGQzOWM1OTkxZjc2ODBlYjkwOGEzYSIKKworRVhUUkFfT0VNQUtFID0gIlRDTD0ke2JpbmRpcn0vdGNsc2giCisKK0ZJTEVTXyR7UE59ID0gIiR7YmluZGlyfSAke3N5c2NvbmZkaXJ9ICR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vdWRldi91c2JfbW9kZXN3aXRjaCAke3NiaW5kaXJ9ICR7bG9jYWxzdGF0ZWRpcn0vbGliL3VzYl9tb2Rlc3dpdGNoIgorUkRFUEVORFNfJHtQTn0gPSAidGNsIgorUlJFQ09NTUVORFNfJHtQTn0gPSAidXNiLW1vZGVzd2l0Y2gtZGF0YSIKKworZG9faW5zdGFsbCgpIHsKKwlvZV9ydW5tYWtlIERFU1RESVI9JHtEfSBpbnN0YWxsCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VzYnBhdGgvdXNicGF0aC9jb25maWd1cmUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VzYnBhdGgvdXNicGF0aC9jb25maWd1cmUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjcxZTZhNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdXNicGF0aC91c2JwYXRoL2NvbmZpZ3VyZS5wYXRjaApAQCAtMCwwICsxLDExIEBACitJbmRleDogdXNicGF0aC9jb25maWd1cmUuYWMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSB1c2JwYXRoLm9yaWcvY29uZmlndXJlLmFjCTIwMTQtMDctMTcgMjA6NDA6MjYuMDAwMDAwMDAwICswMDAwCisrKysgdXNicGF0aC9jb25maWd1cmUuYWMJMjAxNC0wNy0xOCAwNzowMTo0MC45MzM0NzQ0MjAgKzAwMDAKK0BAIC0xLDUgKzEsNSBAQAorIEFDX0lOSVQoW3VzYnBhdGhdLFswLjFdKQorLUFNX0lOSVRfQVVUT01BS0UoQUNfUEFDS0FHRV9OQU1FLCBBQ19QQUNLQUdFX1ZFUlNJT04pCisrQU1fSU5JVF9BVVRPTUFLRShbZm9yZWlnbl0pCisgCisgQUNfUFJPR19DQworIEFDX1BST0dfUkFOTElCCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VzYnBhdGgvdXNicGF0aF9zdm4uYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VzYnBhdGgvdXNicGF0aF9zdm4uYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmM5Y2QwNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdXNicGF0aC91c2JwYXRoX3N2bi5iYgpAQCAtMCwwICsxLDIxIEBACitTVU1NQVJZID0gIkNvbnZlcnQgdGhlIHBoeXNpY2FsIGxvY2F0aW9ucyBvZiBhIFVTQiBkZXZpY2UgdG8vZnJvbSBpdHMgbnVtYmVyIgorQVVUSE9SID0gIldlcm5lciBBbG1lc2JlcmdlciA8d2VybmVyQG9wZW5tb2tvLm9yZz4iCitTRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCitMSUNFTlNFID0gIkdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3VzYnBhdGguYztlbmRsaW5lPTIwO21kNT0wYWE4YzdkMmFmOTExMGM3OGE5OWZiZjlhNTA0ZGMzZiIKK0RFUEVORFMgPSAidmlydHVhbC9saWJ1c2IwIgorREVQRU5EU19jbGFzcy1uYXRpdmUgPSAidmlydHVhbC9saWJ1c2IwLW5hdGl2ZSIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisKK1NSQ1JFViA9ICIzMTcyIgorUFYgPSAiMC4wK3N2bnIke1NSQ1BWfSIKKworU1JDX1VSSSA9ICJzdm46Ly9zdm4ub3Blbm1va28ub3JnL3RydW5rL3NyYy9ob3N0O21vZHVsZT11c2JwYXRoO3Byb3RvY29sPWh0dHAgXAorICAgICAgICAgICBmaWxlOi8vY29uZmlndXJlLnBhdGNoIgorCitTID0gIiR7V09SS0RJUn0vdXNicGF0aCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK1JERVBFTkRTXyR7UE59ICs9ICJwZXJsIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91dGhhc2gvdXRoYXNoXzEuOS43LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91dGhhc2gvdXRoYXNoXzEuOS43LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgyYTlmMmEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3V0aGFzaC91dGhhc2hfMS45LjcuYmIKQEAgLTAsMCArMSwxNiBAQAorU1VNTUFSWSA9ICJIYXNoIHRhYmxlIGZvciBDIHN0cnVjdHVyZXMiCitTRUNUSU9OID0gImJhc2UiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9NTY0ZjljNDQ5MjdmNjI0N2RjODEwYmY1NTdlMmIyNDAiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9LyR7QlBOfS8ke0JQfS50YXIuYnoyIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMWYxNGJiZWU3ZWU3M2VkMGNlYjM1NDlmOGNmMzc4YjQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTU2ZjVjOTk3OTgzNDljNDEzMjc1ZmU0YzlmZjEyOGQ3MmUyODA2NTVkYWRiZTQzNjVmOGU5ZmJkYTkxMzkzZiIKKworZG9faW5zdGFsbCAoKSB7CisgICAgaW5zdGFsbCAtZG03NTUgJHtEfSR7aW5jbHVkZWRpcn0KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9zcmMvKi5oICR7RH0ke2luY2x1ZGVkaXJ9Cit9CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91dG91Y2gvdXRvdWNoLWV2ZW11X2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdXRvdWNoL3V0b3VjaC1ldmVtdV9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWRkNWE4NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdXRvdWNoL3V0b3VjaC1ldmVtdV9naXQuYmIKQEAgLTAsMCArMSwxNyBAQAorU1VNTUFSWSA9ICJLZXJuZWwgZXZkZXYgZGV2aWNlIGVtdWxhdGlvbiIKK0RFU0NSSVBUSU9OID0gIlRoZSBldmVtdSBsaWJyYXJ5IGFuZCB0b29scyBhcmUgdXNlZCB0byBkZXNjcmliZSBkZXZpY2VzLCByZWNvcmQgZGF0YSwgY3JlYXRlIGRldmljZXMgYW5kIHJlcGxheSBkYXRhIGZyb20ga2VybmVsIGV2ZGV2IGRldmljZXMuICIKK0hPTUVQQUdFID0gImh0dHA6Ly9iaXRtYXRoLm9yZy9jb2RlL2V2ZW11LyIKKworTElDRU5TRSA9ICJHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWYyN2RlZmUxZTk2YzJlMWVjZDRlMGM5YmU4OTY3OTQ5IgorCitpbmhlcml0IGF1dG90b29scworCitTUkNfVVJJID0gImdpdDovL2JpdG1hdGgub3JnL2dpdC9ldmVtdS5naXQ7cHJvdG9jb2w9aHR0cCIKK1NSQ1JFViA9ICI5NzUyYjUwZTkyMjU3MmU0Y2QyMTRhYzQ1ZWQ5NWU0ZWU0MTBmZTI0IgorCitQViA9ICIxLjAuNStnaXQke1NSQ1BWfSIKKworUyA9ICIke1dPUktESVJ9L2dpdC8iCisKK1BBUkFMTEVMX01BS0UgPSAiIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91dG91Y2gvdXRvdWNoLWZyYW1lX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdXRvdWNoL3V0b3VjaC1mcmFtZV9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDliMzhhZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdXRvdWNoL3V0b3VjaC1mcmFtZV9naXQuYmIKQEAgLTAsMCArMSwxNyBAQAorU1VNTUFSWSA9ICJUb3VjaCBGcmFtZSBMaWJyYXJ5IgorREVTQ1JJUFRJT04gPSAiVGhlIGZyYW1lIGxpYnJhcnkgYW5kIHRvb2xzIGFyZSB1c2VkIHRvIGhhbmRsZSB0b3VjaCBmcmFtZXMsIGkuZS4sIGNvbGxlY3Rpb25zIG9mIHRyYWNrZWQgY29udGFjdHMuIEJpbmRpbmdzIGZvciBtdGRldiBhbmQgWEkyLjEuIgorSE9NRVBBR0UgPSAiaHR0cDovL2JpdG1hdGgub3JnL2NvZGUvZnJhbWUvIgorCitMSUNFTlNFID0gIkdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MmYzMWIyNjZkMzQ0MGRkN2VlNTBmOTJjZjY3ZDhlNmMiCisKK0RFUEVORFMgKz0gIm10ZGV2IHV0b3VjaC1ldmVtdSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK1NSQ19VUkkgPSAiZ2l0Oi8vYml0bWF0aC5vcmcvZ2l0L2ZyYW1lLmdpdDtwcm90b2NvbD1odHRwIgorU1JDUkVWID0gIjk1MzYzZDVhMWY3Mzk0ZDcxMTQ0YmYzYjQwOGVmNGU2ZGI0MzUwZmMiCisKK1BWID0gIjEuMS4yK2dpdCR7U1JDUFZ9IgorCitTID0gIiR7V09SS0RJUn0vZ2l0LyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdXRvdWNoL3V0b3VjaC1tdHZpZXdfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91dG91Y2gvdXRvdWNoLW10dmlld19naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGNiMTgwZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdXRvdWNoL3V0b3VjaC1tdHZpZXdfZ2l0LmJiCkBAIC0wLDAgKzEsMTkgQEAKK1NVTU1BUlkgPSAiTXVsdGl0b3VjaCB2aWV3ZXIiCitERVNDUklQVElPTiA9ICJtdHZpZXcgaXMgYSBzbWFsbCBYIGFwcGxpY2F0aW9uIHRoYXQgc2hvd3MgYSBncmFwaGljYWwgdmlldyBvZiB5b3VyIE1ULWVuYWJsZWQgaGFyZHdhcmUuIEl0IHVzZXMgbXRkZXYuIgorSE9NRVBBR0UgPSAiaHR0cDovL2JpdG1hdGgub3JnL2NvZGUvbXR2aWV3LyIKKworTElDRU5TRSA9ICJHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTRjNjFiODk1MGRjMWFhYjRkMmFhN2MyYWU2YjFjZmIzIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisjIGRlcGVuZHMgb24gdmlydHVhbC9saWJ4MTEKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vYml0bWF0aC5vcmcvZ2l0L210dmlldy5naXQ7cHJvdG9jb2w9aHR0cCIKK1NSQ1JFViA9ICJhZDQzN2MzOGRjMTExY2YzOTkwYTAzYWJmMTRlZmUxYjVkODk2MDRiIgorCitERVBFTkRTICs9ICJtdGRldiB1dG91Y2gtZnJhbWUgdXRvdWNoLWV2ZW11IGxpYngxMSIKKworUFYgPSAiMS4xLjcrZ2l0JHtTUkNQVn0iCisKK1MgPSAiJHtXT1JLRElSfS9naXQvIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC92YWxhLXRlcm1pbmFsL3ZhbGEtdGVybWluYWxfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC92YWxhLXRlcm1pbmFsL3ZhbGEtdGVybWluYWxfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA3ZmYzMTgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3ZhbGEtdGVybWluYWwvdmFsYS10ZXJtaW5hbF9naXQuYmIKQEAgLTAsMCArMSwyMCBAQAorU1VNTUFSWSA9ICJBIGxpZ2h0d2VpZ2h0IFRlcm1pbmFsIEVtdWxhdG9yIGJhc2VkIG9uIGxpYnZ0ZSwgd3JpdHRlbiBpbiBWYWxhIgorU0VDVElPTiA9ICJ4MTEvYXBwbGljYXRpb25zIgorREVQRU5EUyA9ICJ2dGUgaW50bHRvb2wtbmF0aXZlIgorU1JDUkVWID0gIjBmZWZhMzgwODc1ODFmODVmYTA2MzFiNDA1MDBiOTQyODM2OWMxNDYiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTk1MzBiZGYzMzY1OWIyOWU3M2Q0YWRiOWY5ZjY1NTIiCitQViA9ICIxLjMrZ2l0ciR7U1JDUFZ9IgorUEUgPSAiMSIKK1BSID0gInIxIgorCitQTkJMQUNLTElTVFt2YWxhLXRlcm1pbmFsXSA/PSAiQlJPS0VOOiBEb2Vzbid0IHdvcmsgd2l0aCBCIT1TLCB0b3VjaDogY2Fubm90IHRvdWNoIGBzcmMvLnN0YW1wJzogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGVybG5hdGl2ZSB2YWxhCisKK1NSQ19VUkkgPSAiJHtGUkVFU01BUlRQSE9ORV9HSVR9L3ZhbGEtdGVybWluYWwuZ2l0O2JyYW5jaD1tYXN0ZXIiCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitSREVQRU5EU18ke1BOfSA9ICJ0dGYtbGliZXJhdGlvbi1tb25vIgorUlJFUExBQ0VTXyR7UE59ID0gIm9wZW5tb2tvLXRlcm1pbmFsMiIKK1JQUk9WSURFU18ke1BOfSA9ICJvcGVubW9rby10ZXJtaW5hbDIiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Zib3hndWVzdGRyaXZlcnMvdmJveGd1ZXN0ZHJpdmVycy9NYWtlZmlsZS51dGlscyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdmJveGd1ZXN0ZHJpdmVycy92Ym94Z3Vlc3Rkcml2ZXJzL01ha2VmaWxlLnV0aWxzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM3NDliOTUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Zib3hndWVzdGRyaXZlcnMvdmJveGd1ZXN0ZHJpdmVycy9NYWtlZmlsZS51dGlscwpAQCAtMCwwICsxLDQzIEBACisjIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyMKKyMjICAgQ29weXJpZ2h0IDIwMDEtMjAwOCBILiBQZXRlciBBbnZpbiAtIEFsbCBSaWdodHMgUmVzZXJ2ZWQKKyMjCisjIyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUzIFRlbXBsZSBQbGFjZSBTdGUgMzMwLAorIyMgICBCb3N0b24gTUEgMDIxMTEtMTMwNywgVVNBOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyMgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uOyBpbmNvcnBvcmF0ZWQgaGVyZWluIGJ5IHJlZmVyZW5jZS4KKyMjCisjIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitJTkNMVURFUyA9IC1JLiAtSS4uL3Zib3hzZgorQ0ZMQUdTCSA9ICR7SU5DTFVERVN9CitMREZMQUdTCSA9CisKK1NSQ1MgICAgID0gbW91bnQudmJveHNmLmMgXAorICAgICAgICAgICB2YnNmbW91bnQuYworCitPQkpTCSA9ICQocGF0c3Vic3QgJS5jLCUubywkKG5vdGRpciAkKFNSQ1MpKSkKKworLlNVRkZJWEVTOiAuYyAubyAuaSAucyAuUworCisKK2FsbDogbW91bnQudmJveHNmCisKK2NsZWFuOgorCS1ybSAtZiAqLm8gbW91bnQudmJveHNmCisKK3Nwb3RsZXNzOiBjbGVhbgorCS1ybSAtZiAqfgorCittb3VudC52Ym94c2Y6ICQoT0JKUykKKwkkKENDKSAkKExERkxBR1MpIC1vICRAICReCisKKyUubzogJS5jCisJJChDQykgJChVTUFLRURFUFMpICQoQ0ZMQUdTKSAtYyAtbyAkQCAkPAorJS5pOiAlLmMKKwkkKENDKSAkKFVNQUtFREVQUykgJChDRkxBR1MpIC1FIC1vICRAICQ8CislLnM6ICUuYworCSQoQ0MpICQoVU1BS0VERVBTKSAkKENGTEFHUykgLVMgLW8gJEAgJDwKKworLWluY2x1ZGUgLiouZCAqLnRtcApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC92Ym94Z3Vlc3Rkcml2ZXJzL3Zib3hndWVzdGRyaXZlcnNfNC4zLjM2LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC92Ym94Z3Vlc3Rkcml2ZXJzL3Zib3hndWVzdGRyaXZlcnNfNC4zLjM2LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc4MWUzZDUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Zib3hndWVzdGRyaXZlcnMvdmJveGd1ZXN0ZHJpdmVyc180LjMuMzYuYmIKQEAgLTAsMCArMSw2NSBAQAorU1VNTUFSWSA9ICJWaXJ0dWFsQm94IExpbnV4IEd1ZXN0IERyaXZlcnMiCitTRUNUSU9OID0gImNvcmUiCitMSUNFTlNFID0gIkdQTC0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke1dPUktESVJ9LyR7VkJPWF9OQU1FfS9DT1BZSU5HO21kNT1lMTk3ZDU2NDFiYjM1YjI5ZDQ2Y2E4YzRiZjdmMjY2MCIKKworREVQRU5EUyA9ICJ2aXJ0dWFsL2tlcm5lbCIKKworaW5oZXJpdCBtb2R1bGUga2VybmVsLW1vZHVsZS1zcGxpdAorCitDT01QQVRJQkxFX01BQ0hJTkUgPSAiKHFlbXV4ODZ8cWVtdXg4Ni02NCkiCisKK1ZCT1hfTkFNRSA9ICJWaXJ0dWFsQm94LSR7UFZ9IgorCitTUkNfVVJJID0gImh0dHA6Ly9kb3dubG9hZC52aXJ0dWFsYm94Lm9yZy92aXJ0dWFsYm94LyR7UFZ9LyR7VkJPWF9OQU1FfS50YXIuYnoyIFwKKyAgICAgICAgICAgZmlsZTovL01ha2VmaWxlLnV0aWxzIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICI4NjM1Mzg3ZGVjNmNiZmQ1NzZiYTQ1MzM1NWQ0ZGMwYyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhZjA3NzZkZjZkMDNiMjcwOWNiNzZhNjlmMDU1NDg3YmYxMmJkYjNiNDE2M2UyYTgyOTU5ODYwMzAwMjgzMDQ2IgorCitTID0gIiR7V09SS0RJUn0vdmJveF9tb2R1bGUiCisKK2V4cG9ydCBCVUlMRF9UQVJHRVRfQVJDSD0iJHtBUkNIfSIKK2V4cG9ydCBCVUlMRF9UQVJHRVRfQVJDSF94ODYtNjQ9ImFtZDY0IgorZXhwb3J0IEtFUk5fRElSPSIke1NUQUdJTkdfS0VSTkVMX0RJUn0iCisKK2FkZHRhc2sgZXhwb3J0X3NvdXJjZXMgYmVmb3JlIGRvX3BhdGNoIGFmdGVyIGRvX3VucGFjaworCitkb19leHBvcnRfc291cmNlcygpIHsKKyAgICBta2RpciAtcCAiJHtTfSIKKyAgICAke1dPUktESVJ9LyR7VkJPWF9OQU1FfS9zcmMvVkJveC9BZGRpdGlvbnMvbGludXgvZXhwb3J0X21vZHVsZXMgJHtUfS92Ym94X21vZHVsZXMudGFyLmd6CisgICAgdGFyIC1DICIke1N9IiAteHpmICR7VH0vdmJveF9tb2R1bGVzLnRhci5negorCisgICAgIyBhZGQgYSBtb3VudCB1dGlsaXR5IHRvIHVzZSBzaGFyZWQgZm9sZGVyIGZyb20gVkJveCBBZGRpdGlvbiBTb3VyY2UgQ29kZQorICAgIG1rZGlyIC1wICIke1N9L3V0aWxzIgorICAgIGluc3RhbGwgJHtXT1JLRElSfS8ke1ZCT1hfTkFNRX0vc3JjL1ZCb3gvQWRkaXRpb25zL2xpbnV4L3NoYXJlZGZvbGRlcnMvbW91bnQudmJveHNmLmMgJHtTfS91dGlscworICAgIGluc3RhbGwgJHtXT1JLRElSfS8ke1ZCT1hfTkFNRX0vc3JjL1ZCb3gvQWRkaXRpb25zL2xpbnV4L3NoYXJlZGZvbGRlcnMvdmJzZm1vdW50LmMgJHtTfS91dGlscworICAgIGluc3RhbGwgJHtTfS8uLi9NYWtlZmlsZS51dGlscyAke1N9L3V0aWxzL01ha2VmaWxlCisKK30KKworIyBjb21waWxlIGFuZCBpbnN0YWxsIG1vdW50IHV0aWxpdHkKK2RvX2NvbXBpbGVfYXBwZW5kKCkgeworICAgIG9lX3J1bm1ha2UgLUMgJHtTfS91dGlscworfQorCittb2R1bGVfZG9faW5zdGFsbCgpIHsKKyAgICBNT0RVTEVfRElSPSR7RH0ke25vbmFyY2hfYmFzZV9saWJkaXJ9L21vZHVsZXMvJHtLRVJORUxfVkVSU0lPTn0va2VybmVsL21pc2MKKyAgICBpbnN0YWxsIC1kICRNT0RVTEVfRElSCisgICAgaW5zdGFsbCAtbSA2NDQgdmJveGd1ZXN0LmtvICRNT0RVTEVfRElSCisgICAgaW5zdGFsbCAtbSA2NDQgdmJveHNmLmtvICRNT0RVTEVfRElSCisgICAgaW5zdGFsbCAtbSA2NDQgdmJveHZpZGVvLmtvICRNT0RVTEVfRElSCit9CisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7YmFzZV9zYmluZGlyfQorICAgIGluc3RhbGwgLW0gNzU1ICR7U30vdXRpbHMvbW91bnQudmJveHNmICR7RH0ke2Jhc2Vfc2JpbmRpcn0KK30KKworUEFDS0FHRVMgKz0gImtlcm5lbC1tb2R1bGUtdmJveGd1ZXN0IGtlcm5lbC1tb2R1bGUtdmJveHNmIGtlcm5lbC1tb2R1bGUtdmJveHZpZGVvIgorUlJFQ09NTUVORFNfJHtQTn0gKz0gImtlcm5lbC1tb2R1bGUtdmJveGd1ZXN0IGtlcm5lbC1tb2R1bGUtdmJveHNmIGtlcm5lbC1tb2R1bGUtdmJveHZpZGVvIgorCitGSUxFU18ke1BOfSA9ICIke2Jhc2Vfc2JpbmRpcn0iCisKKyMgYXV0b2xvYWQgaWYgaW5zdGFsbGVkCitLRVJORUxfTU9EVUxFX0FVVE9MT0FEICs9ICJ2Ym94Z3Vlc3QgdmJveHNmIHZib3h2aWRlbyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdmltL2ZpbGVzL2Rpc2FibGVfYWNsX2hlYWRlcl9jaGVjay5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdmltL2ZpbGVzL2Rpc2FibGVfYWNsX2hlYWRlcl9jaGVjay5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZjgyNGU3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC92aW0vZmlsZXMvZGlzYWJsZV9hY2xfaGVhZGVyX2NoZWNrLnBhdGNoCkBAIC0wLDAgKzEsMjcgQEAKK1Vwc3RyZWFtLVN0YXR1czogcGVuZGluZworCitEb24ndCBjaGVjayAnc3lzL2FjbC5oJyBpZiBhY2wgc3VwcG9ydCBkaXNhYmxlZCBmb3IgdmltL3ZpbS10aW55LgorCitTaWduZWQtb2ZmLWJ5OiBXZW56b25nIEZhbiA8d2Vuem9uZy5mYW5Ad2luZHJpdmVyLmNvbT4KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorZGlmZiAtLWdpdCBhL3NyYy9jb25maWd1cmUuaW4gYi9zcmMvY29uZmlndXJlLmluCitpbmRleCBmYjk2NWU1Li5kNzM0MDY0IDEwMDY0NAorLS0tIGEvc3JjL2NvbmZpZ3VyZS5pbgorKysrIGIvc3JjL2NvbmZpZ3VyZS5pbgorQEAgLTI1MTEsNyArMjUxMSw3IEBAIEFDX0NIRUNLX0hFQURFUlMoc3RkYXJnLmggc3RkaW50Lmggc3RkbGliLmggc3RyaW5nLmggXAorIAlzeXMvc3lzdGVtaW5mby5oIGxvY2FsZS5oIHN5cy9zdHJlYW0uaCB0ZXJtaW9zLmggXAorIAlsaWJjLmggc3lzL3N0YXRmcy5oIHBvbGwuaCBzeXMvcG9sbC5oIHB3ZC5oIFwKKyAJdXRpbWUuaCBzeXMvcGFyYW0uaCBsaWJpbnRsLmggbGliZ2VuLmggXAorLQl1dGlsL2RlYnVnLmggdXRpbC9tc2cxOG4uaCBmcmFtZS5oIHN5cy9hY2wuaCBcCisrCXV0aWwvZGVidWcuaCB1dGlsL21zZzE4bi5oIGZyYW1lLmggXAorIAlzeXMvYWNjZXNzLmggc3lzL3N5c2luZm8uaCB3Y2hhci5oIHdjdHlwZS5oKQorIAorIGRubCBzeXMvcHRlbS5oIGRlcGVuZHMgb24gc3lzL3N0cmVhbS5oIG9uIFNvbGFyaXMKK0BAIC0zMTEyLDYgKzMxMTIsNyBAQCBBQ19BUkdfRU5BQkxFKGFjbCwKKyAJLCBbZW5hYmxlX2FjbD0ieWVzIl0pCisgaWYgdGVzdCAiJGVuYWJsZV9hY2wiID0gInllcyI7IHRoZW4KKyBBQ19NU0dfUkVTVUxUKG5vKQorK0FDX0NIRUNLX0hFQURFUlMoc3lzL2FjbC5oKQorIEFDX0NIRUNLX0xJQihwb3NpeDFlLCBhY2xfZ2V0X2ZpbGUsIFtMSUJTPSIkTElCUyAtbHBvc2l4MWUiXSwKKyAJQUNfQ0hFQ0tfTElCKGFjbCwgYWNsX2dldF9maWxlLCBbTElCUz0iJExJQlMgLWxhY2wiCisgCQkgIEFDX0NIRUNLX0xJQihhdHRyLCBmZ2V0eGF0dHIsIExJQlM9IiRMSUJTIC1sYXR0ciIsLCldLCwpLCkKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdmltL2ZpbGVzL3ZpbS1hZGQta25vYi13aGV0aGVyLWVsZi5oLWFyZS1jaGVja2VkLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC92aW0vZmlsZXMvdmltLWFkZC1rbm9iLXdoZXRoZXItZWxmLmgtYXJlLWNoZWNrZWQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjkzZDEzMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdmltL2ZpbGVzL3ZpbS1hZGQta25vYi13aGV0aGVyLWVsZi5oLWFyZS1jaGVja2VkLnBhdGNoCkBAIC0wLDAgKzEsMzggQEAKK3ZpbTogYWRkIGtub2Igd2hldGhlciBlbGYuaCBhcmUgY2hlY2tlZAorCitQcmV2aW91c2x5LCBpdCBzdGlsbCB3YXMgY2hlY2tlZCB3aGVuIHRoZXJlIHdhcyBubyBlbGYgbGlicmFyeSBpbiBzeXNyb290cyBkaXJlY3RvcnkuCitBZGQga25vYiB0byBkZWNpZGUgd2hldGhlciBlbGYuaCBhcmUgY2hlY2tlZCBvciBub3QuCisKK1Vwc3RyZWFtLXN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBDaG9uZyBMdSA8Q2hvbmcuTHVAd2luZHJpdmVyLmNvbT4KKy0tLQorIHNyYy9jb25maWd1cmUuaW4gfCAgICA3ICsrKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9zcmMvY29uZmlndXJlLmluIGIvc3JjL2NvbmZpZ3VyZS5pbgoraW5kZXggZDczNDA2NC4uZjUwNGZhNiAxMDA2NDQKKy0tLSBhL3NyYy9jb25maWd1cmUuaW4KKysrKyBiL3NyYy9jb25maWd1cmUuaW4KK0BAIC0yNDgzLDExICsyNDgzLDE4IEBAIEFDX1RSWV9DT01QSUxFKFsjaW5jbHVkZSA8c3RkaW8uaD5dLCBbaW50IHggX19hdHRyaWJ1dGVfXygodW51c2VkKSk7XSwKKyAJQUNfTVNHX1JFU1VMVChubykpCisgCisgZG5sIENoZWNrcyBmb3IgaGVhZGVyIGZpbGVzLgorK0FDX01TR19DSEVDS0lORyh3aGV0aGVyIG9yIG5vdCB0byBsb29rIGZvciBlbGYuaCkKKytBQ19BUkdfRU5BQkxFKGVsZi1jaGVjaywKKysgICAgICAgIFsgIC0tZW5hYmxlLWVsZi1jaGVjayAgICAgIElmIGVsZnV0aWxzLCBjaGVjayBmb3IgZWxmLmggW2RlZmF1bHQ9bm9dXSwKKysgICAgICAgICwgZW5hYmxlX2VsZl9jaGVjaz0ibm8iKQorK0FDX01TR19SRVNVTFQoJGVuYWJsZV9lbGZfY2hlY2spCisraWYgdGVzdCAieCRlbmFibGVfZWxmX2NoZWNrIiAhPSAieG5vIjsgdGhlbgorIEFDX0NIRUNLX0hFQURFUihlbGYuaCwgSEFTX0VMRj0xKQorIGRubCBBQ19DSEVDS19IRUFERVIoZHdhcmYuaCwgU1ZSND0xKQorIGlmIHRlc3QgIiRIQVNfRUxGIiA9IDE7IHRoZW4KKyAgIEFDX0NIRUNLX0xJQihlbGYsIG1haW4pCisgZmkKKytmaQorIAorIEFDX0hFQURFUl9ESVJFTlQKKyAKKy0tIAorMS43LjkuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3ZpbS92aW0tdGlueV83LjQuNzY5LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC92aW0vdmltLXRpbnlfNy40Ljc2OS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYjhmMmI3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC92aW0vdmltLXRpbnlfNy40Ljc2OS5iYgpAQCAtMCwwICsxLDEzIEBACityZXF1aXJlIHZpbV8ke1BWfS5iYgorCitTVU1NQVJZICs9ICIgKHdpdGggdGlueSBmZWF0dXJlcykiCisKK1BBQ0tBR0VDT05GSUcgKz0gInRpbnkiCisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9LyR7YmluZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSAke1N9L3ZpbSAke0R9LyR7YmluZGlyfS92aW0udGlueQorfQorCitBTFRFUk5BVElWRV9QUklPUklUWSA9ICI5MCIKK0FMVEVSTkFUSVZFX1RBUkdFVCA9ICIke2JpbmRpcn0vdmltLnRpbnkiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3ZpbS92aW1fNy40Ljc2OS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdmltL3ZpbV83LjQuNzY5LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA4ZTUwMjcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3ZpbS92aW1fNy40Ljc2OS5iYgpAQCAtMCwwICsxLDEwOSBAQAorU1VNTUFSWSA9ICJWaSBJTXByb3ZlZCAtIGVuaGFuY2VkIHZpIGVkaXRvciIKK1NFQ1RJT04gPSAiY29uc29sZS91dGlscyIKK0RFUEVORFMgPSAibmN1cnNlcyBnZXR0ZXh0LW5hdGl2ZSIKKyMgdmltZGlmZiBkb2Vzbid0IGxpa2UgYnVzeWJveCBkaWZmCitSU1VHR0VTVFNfJHtQTn0gPSAiZGlmZnV0aWxzIgorTElDRU5TRSA9ICJ2aW0iCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8uLi9ydW50aW1lL2RvYy91Z2FuZGEudHh0O21kNT1jNzRlYzBhZGE5YTY4MzU0Zjk0NjFlODFkMzU5NmY2MSIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3ZpbS92aW0uZ2l0IFwKKyAgICAgICAgICAgZmlsZTovL2Rpc2FibGVfYWNsX2hlYWRlcl9jaGVjay5wYXRjaDtwYXRjaGRpcj0uLiBcCisgICAgICAgICAgIGZpbGU6Ly92aW0tYWRkLWtub2Itd2hldGhlci1lbGYuaC1hcmUtY2hlY2tlZC5wYXRjaDtwYXRjaGRpcj0uLiBcCisiCitTUkNSRVYgPSAiMjY5M2NhMjFjZWU4YTcyOWQ3NDY4MmZkODZhNDgxOGYyYjA1MDIyOCIKKworUyA9ICIke1dPUktESVJ9L2dpdC9zcmMiCisKK1ZJTURJUiA9ICJ2aW0ke0BkLmdldFZhcignUFYnLDEpLnNwbGl0KCcuJylbMF19JHtAZC5nZXRWYXIoJ1BWJywxKS5zcGxpdCgnLicpWzFdfSIKKworaW5oZXJpdCBhdXRvdG9vbHMgdXBkYXRlLWFsdGVybmF0aXZlcworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwCisKKyMgdmltIGNvbmZpZ3VyZS5pbiBjb250YWlucyBmdW5jdGlvbnMgd2hpY2ggZ290ICdkcm9wcGVkJyBieSBhdXRvdG9vbHMuYmJjbGFzcworZG9fY29uZmlndXJlICgpIHsKKyAgICBybSAtZiBhdXRvLyoKKyAgICB0b3VjaCBhdXRvL2NvbmZpZy5taworICAgIGFjbG9jYWwKKyAgICBhdXRvY29uZgorICAgIG9lX3J1bmNvbmYKKyAgICB0b3VjaCBhdXRvL2NvbmZpZ3VyZQorICAgIHRvdWNoIGF1dG8vY29uZmlnLm1rIGF1dG8vY29uZmlnLmgKK30KKworI0F2YWlsYWJsZSBQQUNLQUdFQ09ORklHIG9wdGlvbnMgYXJlIGd0a2d1aSwgYWNsLCB4MTEsIHRpbnkKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHICs9ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2FjbCcsICdhY2wnLCAnJywgZCl9IgorUEFDS0FHRUNPTkZJRyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzZWxpbnV4JywgJ3NlbGludXgnLCAnJywgZCl9IgorCitQQUNLQUdFQ09ORklHW2d0a2d1aV0gPSAiLS1lbmFibGUtZ3RrMi10ZXN0IC0tZW5hYmxlLWd1aT1ndGsyLC0tZW5hYmxlLWd1aT1ubyxndGsrLCIKK1BBQ0tBR0VDT05GSUdbYWNsXSA9ICItLWVuYWJsZS1hY2wsLS1kaXNhYmxlLWFjbCxhY2wsIgorUEFDS0FHRUNPTkZJR1t4MTFdID0gIi0td2l0aC14LC0td2l0aG91dC14LHh0LCIKK1BBQ0tBR0VDT05GSUdbdGlueV0gPSAiLS13aXRoLWZlYXR1cmVzPXRpbnksLS13aXRoLWZlYXR1cmVzPWJpZywsIgorUEFDS0FHRUNPTkZJR1tzZWxpbnV4XSA9ICItLWVuYWJsZS1zZWxpbnV4LC0tZGlzYWJsZS1zZWxpbnV4LGxpYnNlbGludXgsIgorUEFDS0FHRUNPTkZJR1tlbGZ1dGlsc10gPSAiLS1lbmFibGUtZWxmLWNoZWNrLCxlbGZ1dGlscywiCisKK0VYVFJBX09FQ09ORiA9ICIgXAorICAgIC0tZGlzYWJsZS1ncG0gXAorICAgIC0tZGlzYWJsZS1ndGt0ZXN0IFwKKyAgICAtLWRpc2FibGUteGltIFwKKyAgICAtLWRpc2FibGUtbmV0YmVhbnMgXAorICAgIC0td2l0aC10bGliPW5jdXJzZXMgXAorICAgIGFjX2N2X3NtYWxsX3djaGFyX3Q9bm8gXAorICAgIHZpbV9jdl9nZXRjd2RfYnJva2VuPW5vIFwKKyAgICB2aW1fY3ZfbWVtbW92ZV9oYW5kbGVzX292ZXJsYXA9eWVzIFwKKyAgICB2aW1fY3Zfc3RhdF9pZ25vcmVzX3NsYXNoPW5vIFwKKyAgICB2aW1fY3ZfdGVybWluZm89eWVzIFwKKyAgICB2aW1fY3ZfdGdlbnQ9bm9uLXplcm8gXAorICAgIHZpbV9jdl90b3VwcGVyX2Jyb2tlbj1ubyBcCisgICAgdmltX2N2X3R0eV9ncm91cD13b3JsZCBcCisgICAgU1RSSVA9L2Jpbi90cnVlIFwKKyIKKworZG9faW5zdGFsbCgpIHsKKyAgICBhdXRvdG9vbHNfZG9faW5zdGFsbAorCisgICAgIyBXb3JrIGFyb3VuZCBycG0gcGlja2luZyB1cCBjc2ggb3IgYXdrIG9yIHBlcmwgYXMgYSBkZXAKKyAgICBjaG1vZCAteCAke0R9JHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L3Rvb2xzL3ZpbTEzMgorICAgIGNobW9kIC14ICR7RH0ke2RhdGFkaXJ9LyR7QlBOfS8ke1ZJTURJUn0vdG9vbHMvbXZlLmF3aworICAgIGNobW9kIC14ICR7RH0ke2RhdGFkaXJ9LyR7QlBOfS8ke1ZJTURJUn0vdG9vbHMvKi5wbAorCisgICAgIyBJbnN0YWxsIGV4YW1wbGUgdmltcmMgZnJvbSBydW50aW1lIGZpbGVzCisgICAgaW5zdGFsbCAtbSAwNjQ0IC4uL3J1bnRpbWUvdmltcmNfZXhhbXBsZS52aW0gJHtEfS8ke2RhdGFkaXJ9LyR7QlBOfS92aW1yYworCisgICAgIyB3ZSB1c2UgLS13aXRoLWZlYXR1cmVzPWJpZyBhcyBkZWZhdWx0CisgICAgbXYgJHtEfSR7YmluZGlyfS8ke0JQTn0gJHtEfSR7YmluZGlyfS8ke0JQTn0uJHtCUE59Cit9CisKK1BBUkFMTEVMX01BS0VJTlNUID0gIiIKKworUEFDS0FHRVMgPSsgIiR7UE59LWNvbW1vbiAke1BOfS1zeW50YXggJHtQTn0taGVscCAke1BOfS10dXRvciAke1BOfS12aW1yYyIKK0ZJTEVTXyR7UE59LXN5bnRheCA9ICIke2RhdGFkaXJ9LyR7QlBOfS8ke1ZJTURJUn0vc3ludGF4IgorRklMRVNfJHtQTn0taGVscCA9ICIke2RhdGFkaXJ9LyR7QlBOfS8ke1ZJTURJUn0vZG9jIgorRklMRVNfJHtQTn0tdHV0b3IgPSAiJHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L3R1dG9yICR7YmluZGlyfS8ke0JQTn10dXRvciIKK0ZJTEVTXyR7UE59LXZpbXJjID0gIiR7ZGF0YWRpcn0vJHtCUE59L3ZpbXJjIgorRklMRVNfJHtQTn0tZGF0YSA9ICIke2RhdGFkaXJ9LyR7QlBOfSIKK0ZJTEVTXyR7UE59LWNvbW1vbiA9ICIgXAorICAgICR7ZGF0YWRpcn0vJHtCUE59LyR7VklNRElSfS8qLnZpbSBcCisgICAgJHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L2F1dG9sb2FkIFwKKyAgICAke2RhdGFkaXJ9LyR7QlBOfS8ke1ZJTURJUn0vY29sb3JzIFwKKyAgICAke2RhdGFkaXJ9LyR7QlBOfS8ke1ZJTURJUn0vY29tcGlsZXIgXAorICAgICR7ZGF0YWRpcn0vJHtCUE59LyR7VklNRElSfS9mdHBsdWdpbiBcCisgICAgJHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L2luZGVudCBcCisgICAgJHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L2tleW1hcCBcCisgICAgJHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L2xhbmcgXAorICAgICR7ZGF0YWRpcn0vJHtCUE59LyR7VklNRElSfS9tYWNyb3MgXAorICAgICR7ZGF0YWRpcn0vJHtCUE59LyR7VklNRElSfS9wbHVnaW4gXAorICAgICR7ZGF0YWRpcn0vJHtCUE59LyR7VklNRElSfS9wcmludCBcCisgICAgJHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L3NwZWxsIFwKKyAgICAke2RhdGFkaXJ9LyR7QlBOfS8ke1ZJTURJUn0vdG9vbHMgXAorIgorCitSREVQRU5EU18ke1BOfSA9ICJuY3Vyc2VzLXRlcm1pbmZvLWJhc2UiCisjIFJlY29tbWVuZCB0aGF0IHJ1bnRpbWUgZGF0YSBpcyBpbnN0YWxsZWQgYWxvbmcgd2l0aCB2aW0KK1JSRUNPTU1FTkRTXyR7UE59ID0gIiR7UE59LXN5bnRheCAke1BOfS1oZWxwICR7UE59LXR1dG9yICR7UE59LXZpbXJjICR7UE59LWNvbW1vbiIKKworQUxURVJOQVRJVkVfJHtQTn0gPSAidmkgdmltIgorQUxURVJOQVRJVkVfVEFSR0VUID0gIiR7YmluZGlyfS8ke0JQTn0uJHtCUE59IgorQUxURVJOQVRJVkVfTElOS19OQU1FW3ZpXSA9ICIke2Jhc2VfYmluZGlyfS92aSIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVt2aW1dID0gIiR7YmluZGlyfS92aW0iCitBTFRFUk5BVElWRV9QUklPUklUWSA9ICIxMDAiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3dtaWNvbmZpZy93bWljb25maWdfc3ZuLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC93bWljb25maWcvd21pY29uZmlnX3N2bi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41OTZhNGU2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC93bWljb25maWcvd21pY29uZmlnX3N2bi5iYgpAQCAtMCwwICsxLDIyIEBACitTVU1NQVJZID0gIkF0aGVyb3MgNksgV2lmaSBjb25maWd1cmF0aW9uIHV0aWxpdHkiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vd21pY29uZmlnLmM7ZW5kbGluZT0xOTttZDU9NDM5NGE1NmJjYTFjNWIyNDQ2YzlmOGU0MDZjODI5MTEiCitTRUNUSU9OID0gImNvbnNvbGUvbmV0d29yayIKK1NSQ1JFViA9ICI1Mzk0IgorUFYgPSAiMC4wLjArc3ZuciR7U1JDUFZ9IgorUFIgPSAicjIiCisKK1NSQ19VUkkgPSAic3ZuOi8vc3ZuLm9wZW5tb2tvLm9yZy90cnVuay9zcmMvdGFyZ2V0O21vZHVsZT1BUjZrU0RLLmJ1aWxkX3N3LjE4O3Byb3RvY29sPWh0dHAiCitTID0gIiR7V09SS0RJUn0vQVI2a1NESy5idWlsZF9zdy4xOC9ob3N0L3Rvb2xzL3dtaWNvbmZpZyIKKworQ0xFQU5CUk9LRU4gPSAiMSIKKworRVhUUkFfT0VNQUtFID0gIi1lIE1BS0VGTEFHUz0iCisKK1RBUkdFVF9DQ19BUkNIICs9ICIke0xERkxBR1N9IgorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSB3bWljb25maWcgJHtEfSR7YmluZGlyfQorfQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3hjaGF0L3hjaGF0LTIuOC44L2F1dG9tYWtlLWZvcmVpZ24ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3hjaGF0L3hjaGF0LTIuOC44L2F1dG9tYWtlLWZvcmVpZ24ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2ZhMmY2YwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQveGNoYXQveGNoYXQtMi44LjgvYXV0b21ha2UtZm9yZWlnbi5wYXRjaApAQCAtMCwwICsxLDExIEBACistLS0gYS9jb25maWd1cmUuaW4JMjAxNC0wOC0xOCAwMToyNTo0My45MTE1OTcwMjMgLTA3MDAKKysrKyBiL2NvbmZpZ3VyZS5pbgkyMDE0LTA4LTE4IDAxOjI2OjI3Ljc2Mzc4NjYyOSAtMDcwMAorQEAgLTgsNyArOCw3IEBACisgQUNfQ09ORklHX0hFQURFUlMoW2NvbmZpZy5oXSkKKyBBQ19DT05GSUdfU1JDRElSKFtjb25maWd1cmUuaW5dKQorIAorLUFNX0lOSVRfQVVUT01BS0UoWzEuOSBkaXN0LWJ6aXAyIHN1YmRpci1vYmplY3RzIG5vLWRlZmluZV0pCisrQU1fSU5JVF9BVVRPTUFLRShbMS45IGZvcmVpZ24gZGlzdC1iemlwMiBzdWJkaXItb2JqZWN0cyBuby1kZWZpbmVdKQorIAorIEFNX01BSU5UQUlORVJfTU9ERQorIEFDX1BST0dfQ0MKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQveGNoYXQveGNoYXQtMi44LjgvZml4LWluY2x1ZGVzLWZvci1zZXBhcmF0ZS1idWlsZC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQveGNoYXQveGNoYXQtMi44LjgvZml4LWluY2x1ZGVzLWZvci1zZXBhcmF0ZS1idWlsZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40Mzk0ZTUyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC94Y2hhdC94Y2hhdC0yLjguOC9maXgtaW5jbHVkZXMtZm9yLXNlcGFyYXRlLWJ1aWxkLnBhdGNoCkBAIC0wLDAgKzEsNzggQEAKK2RpZmYgLXVyIHhjaGF0LTIuOC44LW9yaWcvcGx1Z2lucy9wZXJsL3BlcmwuYyB4Y2hhdC0yLjguOC9wbHVnaW5zL3BlcmwvcGVybC5jCistLS0geGNoYXQtMi44Ljgtb3JpZy9wbHVnaW5zL3BlcmwvcGVybC5jCTIwMTQtMDgtMzAgMTQ6MDk6MDUuMTI1MTE2Mjg2IC0wNzAwCisrKysgeGNoYXQtMi44LjgvcGx1Z2lucy9wZXJsL3BlcmwuYwkyMDE0LTA4LTMwIDE0OjA5OjQ1LjI4MTEwNjUzMiAtMDcwMAorQEAgLTMxLDcgKzMxLDcgQEAKKyAjZW5kaWYKKyAKKyAjdW5kZWYgUEFDS0FHRQorLSNpbmNsdWRlICIuLi8uLi9jb25maWcuaCIJCSAgLyogZm9yICNkZWZpbmUgT0xEX1BFUkwgKi8KKysjaW5jbHVkZSA8Y29uZmlnLmg+CQkgIC8qIGZvciAjZGVmaW5lIE9MRF9QRVJMICovCisgI2luY2x1ZGUgInhjaGF0LXBsdWdpbi5oIgorIAorIHN0YXRpYyB4Y2hhdF9wbHVnaW4gKnBoOwkJICAvKiBwbHVnaW4gaGFuZGxlICovCitkaWZmIC11ciB4Y2hhdC0yLjguOC1vcmlnL3NyYy9jb21tb24vbmV0d29yay5jIHhjaGF0LTIuOC44L3NyYy9jb21tb24vbmV0d29yay5jCistLS0geGNoYXQtMi44Ljgtb3JpZy9zcmMvY29tbW9uL25ldHdvcmsuYwkyMDE0LTA4LTMwIDE0OjA5OjA1LjEzNzExNjIyMiAtMDcwMAorKysrIHhjaGF0LTIuOC44L3NyYy9jb21tb24vbmV0d29yay5jCTIwMTQtMDgtMzAgMTQ6MTM6NTIuNzI5MTE2MzIzIC0wNzAwCitAQCAtMjQsNyArMjQsNyBAQAorICNpbmNsdWRlIDx1bmlzdGQuaD4KKyAjaW5jbHVkZSA8Z2xpYi5oPgorIAorLSNpbmNsdWRlICIuLi8uLi9jb25maWcuaCIJCQkJICAvKiBncmFiIFVTRV9JUFY2IGFuZCBMT09LVVBEIGRlZmluZXMgKi8KKysjaW5jbHVkZSA8Y29uZmlnLmg+CQkJCSAgLyogZ3JhYiBVU0VfSVBWNiBhbmQgTE9PS1VQRCBkZWZpbmVzICovCisgCisgI2RlZmluZSBXQU5UU09DS0VUCisgI2RlZmluZSBXQU5UQVJQQQorZGlmZiAtdXIgeGNoYXQtMi44Ljgtb3JpZy9zcmMvY29tbW9uL3NzbC5jIHhjaGF0LTIuOC44L3NyYy9jb21tb24vc3NsLmMKKy0tLSB4Y2hhdC0yLjguOC1vcmlnL3NyYy9jb21tb24vc3NsLmMJMjAxNC0wOC0zMCAxNDowOTowNS4xMzcxMTYyMjIgLTA3MDAKKysrKyB4Y2hhdC0yLjguOC9zcmMvY29tbW9uL3NzbC5jCTIwMTQtMDgtMzAgMTQ6MTQ6MDguNDQ5MTMzODk5IC0wNzAwCitAQCAtMjMsNyArMjMsNyBAQAorICNpbmNsdWRlIDxzdHJpbmcuaD4JCQkJICAvKiBzdHJuY3B5KCkgKi8KKyAjaW5jbHVkZSAic3NsLmgiCQkJCQkgIC8qIHN0cnVjdCBjZXJ0X2luZm8gKi8KKyAjaW5jbHVkZSAiaW5ldC5oIgorLSNpbmNsdWRlICIuLi8uLi9jb25maWcuaCIJCSAgLyogSEFWRV9TTlBSSU5URiAqLworKyNpbmNsdWRlIDxjb25maWcuaD4JCSAgLyogSEFWRV9TTlBSSU5URiAqLworIAorICNpZm5kZWYgSEFWRV9TTlBSSU5URgorICNkZWZpbmUgc25wcmludGYgZ19zbnByaW50ZgorZGlmZiAtdXIgeGNoYXQtMi44Ljgtb3JpZy9zcmMvY29tbW9uL3V0aWwuYyB4Y2hhdC0yLjguOC9zcmMvY29tbW9uL3V0aWwuYworLS0tIHhjaGF0LTIuOC44LW9yaWcvc3JjL2NvbW1vbi91dGlsLmMJMjAxNC0wOC0zMCAxNDowOTowNS4xMzMxMTYyNDMgLTA3MDAKKysrKyB4Y2hhdC0yLjguOC9zcmMvY29tbW9uL3V0aWwuYwkyMDE0LTA4LTMwIDE0OjEwOjIzLjYzMzExNjA3MCAtMDcwMAorQEAgLTQxLDcgKzQxLDcgQEAKKyAjaW5jbHVkZSAieGNoYXRjLmgiCisgI2luY2x1ZGUgPGN0eXBlLmg+CisgI2luY2x1ZGUgInV0aWwuaCIKKy0jaW5jbHVkZSAiLi4vLi4vY29uZmlnLmgiCisrI2luY2x1ZGUgPGNvbmZpZy5oPgorIAorICNkZWZpbmUgV0FOVFNPQ0tFVAorICNpbmNsdWRlICJpbmV0LmgiCitkaWZmIC11ciB4Y2hhdC0yLjguOC1vcmlnL3NyYy9jb21tb24veGNoYXQuaCB4Y2hhdC0yLjguOC9zcmMvY29tbW9uL3hjaGF0LmgKKy0tLSB4Y2hhdC0yLjguOC1vcmlnL3NyYy9jb21tb24veGNoYXQuaAkyMDE0LTA4LTMwIDE0OjA5OjA1LjEzMzExNjI0MyAtMDcwMAorKysrIHhjaGF0LTIuOC44L3NyYy9jb21tb24veGNoYXQuaAkyMDE0LTA4LTMwIDE0OjEzOjQyLjc5NzExNjQ3MiAtMDcwMAorQEAgLTEsNCArMSw0IEBACistI2luY2x1ZGUgIi4uLy4uL2NvbmZpZy5oIgorKyNpbmNsdWRlIDxjb25maWcuaD4KKyAKKyAjaW5jbHVkZSA8Z2xpYi5oPgorICNpbmNsdWRlIDx0aW1lLmg+CQkJLyogbmVlZCB0aW1lX3QgKi8KK2RpZmYgLXVyIHhjaGF0LTIuOC44LW9yaWcvc3JjL2ZlLWd0ay9mZS1ndGsuaCB4Y2hhdC0yLjguOC9zcmMvZmUtZ3RrL2ZlLWd0ay5oCistLS0geGNoYXQtMi44Ljgtb3JpZy9zcmMvZmUtZ3RrL2ZlLWd0ay5oCTIwMTQtMDgtMzAgMTQ6MDk6MDUuMTI5MTE2MjcyIC0wNzAwCisrKysgeGNoYXQtMi44Ljgvc3JjL2ZlLWd0ay9mZS1ndGsuaAkyMDE0LTA4LTMwIDE0OjEwOjEzLjMwOTExNTk1MSAtMDcwMAorQEAgLTEsNCArMSw0IEBACistI2luY2x1ZGUgIi4uLy4uL2NvbmZpZy5oIgorKyNpbmNsdWRlIDxjb25maWcuaD4KKyAKKyAjaWZkZWYgV0lOMzIKKyAvKiBJZiB5b3UncmUgY29tcGlsaW5nIHRoaXMgZm9yIFdpbmRvd3MsIHlvdXIgcmVsZWFzZSBpcyB1bi1vZmZpY2lhbAorZGlmZiAtdXIgeGNoYXQtMi44Ljgtb3JpZy9zcmMvZmUtZ3RrL3h0ZXh0LmMgeGNoYXQtMi44Ljgvc3JjL2ZlLWd0ay94dGV4dC5jCistLS0geGNoYXQtMi44Ljgtb3JpZy9zcmMvZmUtZ3RrL3h0ZXh0LmMJMjAxNC0wOC0zMCAxNDowOTowNS4xMjkxMTYyNzIgLTA3MDAKKysrKyB4Y2hhdC0yLjguOC9zcmMvZmUtZ3RrL3h0ZXh0LmMJMjAxNC0wOC0zMCAxNDoxMDowMC4zMTMxMzgyNTQgLTA3MDAKK0BAIC01MSw3ICs1MSw3IEBACisgI2luY2x1ZGUgPGd0ay9ndGt3aW5kb3cuaD4KKyAKKyAjaWZkZWYgWENIQVQKKy0jaW5jbHVkZSAiLi4vLi4vY29uZmlnLmgiCQkJLyogY2FuIGRlZmluZSBVU0VfWExJQiBoZXJlICovCisrI2luY2x1ZGUgPGNvbmZpZy5oPgkJCS8qIGNhbiBkZWZpbmUgVVNFX1hMSUIgaGVyZSAqLworICNlbHNlCisgI2RlZmluZSBVU0VfWExJQgorICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC94Y2hhdC94Y2hhdC0yLjguOC9nbGliLTIuMzIucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3hjaGF0L3hjaGF0LTIuOC44L2dsaWItMi4zMi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOWJjZTZhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC94Y2hhdC94Y2hhdC0yLjguOC9nbGliLTIuMzIucGF0Y2gKQEAgLTAsMCArMSw0NCBAQAorLS0tIHhjaGF0LTIuOC44Lm9yaWcvc3JjL2NvbW1vbi94Y2hhdC5oCTIwMDktMDgtMTYgMTE6NDA6MTYuMDAwMDAwMDAwICswMjAwCisrKysgeGNoYXQtMi44Ljgvc3JjL2NvbW1vbi94Y2hhdC5oCTIwMTItMDUtMDYgMDg6MzA6MTYuMTI1NzU1NDk3ICswMjAwCitAQCAtMSwxMCArMSw2IEBACisgI2luY2x1ZGUgIi4uLy4uL2NvbmZpZy5oIgorIAorLSNpbmNsdWRlIDxnbGliL2dzbGlzdC5oPgorLSNpbmNsdWRlIDxnbGliL2dsaXN0Lmg+CistI2luY2x1ZGUgPGdsaWIvZ3V0aWxzLmg+CistI2luY2x1ZGUgPGdsaWIvZ2lvY2hhbm5lbC5oPgorLSNpbmNsdWRlIDxnbGliL2dzdHJmdW5jcy5oPgorKyNpbmNsdWRlIDxnbGliLmg+CisgI2luY2x1ZGUgPHRpbWUuaD4JCQkvKiBuZWVkIHRpbWVfdCAqLworIAorICNpZm5kZWYgWENIQVRfSAorLS0tIHhjaGF0LTIuOC44Lm9yaWcvc3JjL2NvbW1vbi9zZXJ2bGlzdC5jCTIwMTAtMDUtMTYgMDk6MjQ6MjYuMDAwMDAwMDAwICswMjAwCisrKysgeGNoYXQtMi44Ljgvc3JjL2NvbW1vbi9zZXJ2bGlzdC5jCTIwMTItMDUtMDYgMDg6MzA6NDUuNjgxNzU4MDE5ICswMjAwCitAQCAtMjQsNyArMjQsNiBAQAorICNpbmNsdWRlIDx1bmlzdGQuaD4KKyAKKyAjaW5jbHVkZSAieGNoYXQuaCIKKy0jaW5jbHVkZSA8Z2xpYi9naGFzaC5oPgorIAorICNpbmNsdWRlICJjZmdmaWxlcy5oIgorICNpbmNsdWRlICJmZS5oIgorLS0tIHhjaGF0LTIuOC44Lm9yaWcvc3JjL2NvbW1vbi91dGlsLmMJMjAwOS0wOC0xNiAxMTo0MDoxNi4wMDAwMDAwMDAgKzAyMDAKKysrKyB4Y2hhdC0yLjguOC9zcmMvY29tbW9uL3V0aWwuYwkyMDEyLTA1LTA2IDA4OjMxOjEwLjM4OTc2MDEyMiArMDIwMAorQEAgLTM5LDcgKzM5LDYgQEAKKyAjaW5jbHVkZSA8ZXJybm8uaD4KKyAjaW5jbHVkZSAieGNoYXQuaCIKKyAjaW5jbHVkZSAieGNoYXRjLmgiCistI2luY2x1ZGUgPGdsaWIvZ21hcmt1cC5oPgorICNpbmNsdWRlIDxjdHlwZS5oPgorICNpbmNsdWRlICJ1dGlsLmgiCisgI2luY2x1ZGUgIi4uLy4uL2NvbmZpZy5oIgorLS0tIHhjaGF0LTIuOC44Lm9yaWcvc3JjL2NvbW1vbi90ZXh0LmMJMjAxMC0wNS0zMCAwNDoxNDo0MS4wMDAwMDAwMDAgKzAyMDAKKysrKyB4Y2hhdC0yLjguOC9zcmMvY29tbW9uL3RleHQuYwkyMDEyLTA1LTA2IDA4OjMxOjIyLjMwMDc2MTEzNyArMDIwMAorQEAgLTI4LDcgKzI4LDYgQEAKKyAjaW5jbHVkZSA8c3lzL21tYW4uaD4KKyAKKyAjaW5jbHVkZSAieGNoYXQuaCIKKy0jaW5jbHVkZSA8Z2xpYi9naGFzaC5oPgorICNpbmNsdWRlICJjZmdmaWxlcy5oIgorICNpbmNsdWRlICJjaGFub3B0LmgiCisgI2luY2x1ZGUgInBsdWdpbi5oIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC94Y2hhdC94Y2hhdF8yLjguOC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQveGNoYXQveGNoYXRfMi44LjguYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmRhMTFjZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQveGNoYXQveGNoYXRfMi44LjguYmIKQEAgLTAsMCArMSwzNyBAQAorU1VNTUFSWSA9ICJGdWxsLWZlYXR1cmVkIElSQyBjaGF0IGNsaWVudCB3aXRoIHNjcmlwdGluZyBzdXBwb3J0IgorTElDRU5TRSA9ICJHUEx2MisiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LnhjaGF0Lm9yZyIKK1NFQ1RJT04gPSAieDExL25ldHdvcmsiCisKK0RFUEVORFMgPSAibGliZ2NyeXB0IHpsaWIgZ3RrKyBsaWJzZXh5IgorREVQRU5EUyArPSAiZ2RrLXBpeGJ1Zi1uYXRpdmUiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWM5M2MwNTUwYmQzMTczZjQ1MDRiMmNiZDg5OTFlNTBiIgorCitQUiA9ICJyMiIKKworU1JDX1VSSSA9ICJodHRwOi8veGNoYXQub3JnL2ZpbGVzL3NvdXJjZS8yLjgveGNoYXQtJHtQVn0udGFyLmJ6MiBcCisgICAgZmlsZTovL2dsaWItMi4zMi5wYXRjaCBcCisgICAgZmlsZTovL2F1dG9tYWtlLWZvcmVpZ24ucGF0Y2ggXAorICAgIGZpbGU6Ly9maXgtaW5jbHVkZXMtZm9yLXNlcGFyYXRlLWJ1aWxkLnBhdGNoIFwKKyIKKworaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCBwa2djb25maWcKKworUEFDS0FHRUNPTkZJRyA/Pz0gImRidXMiCitQQUNLQUdFQ09ORklHW2RidXNdID0gIi0tZW5hYmxlLWRidXMsLS1kaXNhYmxlLWRidXMsZGJ1cy1nbGliIgorUEFDS0FHRUNPTkZJR1tvcGVuc3NsXSA9ICItLWVuYWJsZS1vcGVuc3NsLC0tZGlzYWJsZS1vcGVuc3NsLG9wZW5zc2wiCitQQUNLQUdFQ09ORklHW3B5dGhvbl0gPSAiLS1lbmFibGUtcHl0aG9uLC0tZGlzYWJsZS1weXRob24scHl0aG9uIgorCitFWFRSQV9PRUNPTkYgPSAiXAorICAgIC0tZW5hYmxlLW1haW50YWluZXItbW9kZSBcCisgICAgLS1kaXNhYmxlLXBlcmwgXAorICAgIC0tZGlzYWJsZS10Y2wgXAorIgorCitSREVQRU5EU18ke1BOfSArPSAiZGJ1cyIKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2RidXMtMSIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L3hjaGF0L3BsdWdpbnMvLmRlYnVnIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNjc3NWM0NGYzOGU4NGQwNmMwNmMzMzZiMzJjNGE0NTIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMGQ2ZDY5NDM3YjVlMWU0NWYzZTY2MjcwZmUzNjkzNDQ5NDNkZThhMTE5MGU0OThmYWZhNTI5NjMxNWEyN2RiMCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQveGRlbHRhL3hkZWx0YTNfMy4wLjExLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC94ZGVsdGEveGRlbHRhM18zLjAuMTEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTY2OWQ5YgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQveGRlbHRhL3hkZWx0YTNfMy4wLjExLmJiCkBAIC0wLDAgKzEsMTggQEAKK1NVTU1BUlkgPSAiWGRlbHRhIGlzIGEgdG9vbCBmb3IgZGlmZmVyZW50aWFsIGNvbXByZXNzaW9uIgorREVTQ1JJUFRJT04gPSAiT3Blbi1zb3VyY2UgYmluYXJ5IGRpZmYsIGRpZmZlcmVudGlhbCBjb21wcmVzc2lvbiB0b29scywgXAorICAgICAgICAgICAgICAgVkNESUZGIChSRkMgMzI4NCkgZGVsdGEgY29tcHJlc3Npb24uIgorSE9NRVBBR0UgPSAiaHR0cDovL3hkZWx0YS5vcmcvIgorU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgorCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MzkzYTVjYTQ0NWY2OTY1ODczZWNhMDI1OWExN2Y4MzMiCitTUkNfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9qbWFjZC94ZGVsdGEtZGV2ZWwvcmVsZWFzZXMvZG93bmxvYWQvdiR7UFZ9LyR7QlBOfS0ke1BWfS50YXIuZ3ogIFwKKyAgICAgICAgICAiCitTUkNfVVJJW21kNXN1bV0gPSAiNDQ1ZDhiZTJhYzUxMjExM2Q1Y2E2MDFhZTgzNTk2MjYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMGNjYzk3NTFjZWFhNGQ5MGQ2YjA2OTM4YTRkZWRkYjQ4MTgxNmY1ZDkyODRiZDA3ZDJlNzI4NjA5Y2IzMDBhYSIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworIyBPcHRpb25hbCBzZWNvbmRhcnkgY29tcHJlc3Npb24KK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW2x6bWFdID0gIi0td2l0aC1saWJsem1hLC0td2l0aG91dC1saWJsem1hLHh6IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC94bWxzdGFybGV0L2ZpbGVzLzAwMDEtdXNhZ2UyYy5hd2stZml4LXdyb25nLWJhc2VuYW1lLXJlZ2V4cC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQveG1sc3RhcmxldC9maWxlcy8wMDAxLXVzYWdlMmMuYXdrLWZpeC13cm9uZy1iYXNlbmFtZS1yZWdleHAucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjRiMTg3ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQveG1sc3RhcmxldC9maWxlcy8wMDAxLXVzYWdlMmMuYXdrLWZpeC13cm9uZy1iYXNlbmFtZS1yZWdleHAucGF0Y2gKQEAgLTAsMCArMSwzNyBAQAorVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW3NvdXJjZWZvcmdlXQorCitGcm9tIDc1ZDc4OWQwZWE5NzE2YzlhOWFlNzJmNDJhMmZjZmE5MDdjZjRhMTIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXR0aGlldSBDcmFwZXQgPG1jcmFwZXRAZ21haWwuY29tPgorRGF0ZTogTW9uLCAzMCBKdW4gMjAxNCAxMzo1MjoyNSArMDIwMAorU3ViamVjdDogW1BBVENIXSB1c2FnZTJjLmF3azogZml4IHdyb25nIGJhc2VuYW1lIHJlZ2V4cAorCitQcmV2aW91c2x5IG5vdCBtYXRjaGluZyB3aXRoIGZpbGVuYW1lIGFyZ3VtZW50IHdpdGggYWJzb2x1dGUgcGF0aC4KKworU2lnbmVkLW9mZi1ieTogTWF0dGhpZXUgQ3JhcGV0IDxtY3JhcGV0QGdtYWlsLmNvbT4KKy0tLQorIHVzYWdlMmMuYXdrIHwgNCArKy0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3VzYWdlMmMuYXdrIGIvdXNhZ2UyYy5hd2sKK2luZGV4IDk0Yjg5N2EuLjlhZWEyMTIgMTAwNzU1CistLS0gYS91c2FnZTJjLmF3aworKysrIGIvdXNhZ2UyYy5hd2sKK0BAIC02LDEzICs2LDEzIEBAIEJFR0lOIHsKKyB9CisgCisgIyB0ZXh0IGluIHNyYy9mb28tYmFyLnR4dCByZXN1bHRzIGluCistIyAgIHN0YXRpYyBjb25zdCBjaGFyIGZvb190ZXh0W10gPSB7CisrIyAgIHN0YXRpYyBjb25zdCBjaGFyIGZvb19iYXJbXSA9IHsKKyAjICAgICAndCcsICdoJywgJ2UnLCAnICcsICd0JywgJ2UnLCAneCcsICd0JywgLi4uCisgIyAgIH0KKyBsZW5ndGgoY29tbWFuZF9uYW1lKSA9PSAwIHsKKyAgICAgY29tbWFuZF9uYW1lID0gRklMRU5BTUU7CisgICAgIHN1YigvXC50eHQkLywgIiIsIGNvbW1hbmRfbmFtZSk7CistICAgIHN1YigvXihbXlwvXStcLykqLywgIiIsIGNvbW1hbmRfbmFtZSk7CisrICAgIHN1YigvXi4qXC8vLCAiIiwgY29tbWFuZF9uYW1lKTsKKyAgICAgZ3N1YigvLS8sICJfIiwgY29tbWFuZF9uYW1lKTsKKyAgICAgcHJpbnRmKCJzdGF0aWMgY29uc3QgY2hhciAlc1tdID0ge1xuIiwgY29tbWFuZF9uYW1lKTsKKyAgICAgcHJvZ3MgPSAwOworLS0gCisyLjAuMAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3htbHN0YXJsZXQvZmlsZXMvY29uZmlndXJlLmFjLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC94bWxzdGFybGV0L2ZpbGVzL2NvbmZpZ3VyZS5hYy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNTVmNGYzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC94bWxzdGFybGV0L2ZpbGVzL2NvbmZpZ3VyZS5hYy5wYXRjaApAQCAtMCwwICsxLDI4IEBACitjb25maWd1cmUuYWM6IGRvbid0IHVzZSB4bWwtY29uZmlnIGlmIC0td2l0aC1saWJ4bWwtcHJlZml4IGlzIHNwZWNpZmllZCB0byBjb25maWd1cmUKKworU2FtZSBiZWhhdmlvciBmb3IgeHNsdC1jb25maWcuCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IGVkMDRlMGMuLjM5ZDVkNGMgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTQwLDcgKzQwLDggQEAgQUNfQVJHX1BST0dSQU0gICAgICAgICAgZG5sIFRyYW5zZm9ybWluZyBQcm9ncmFtIE5hbWVzIFdoZW4gSW5zdGFsbGluZworIEFDX1BST0dfU0VECisgQUNfUFJPR19BV0sKKyAKKy1YU1RBUl9MSUJfQ0hFQ0soW0xJQlhNTF0sIFt4bWwyLWNvbmZpZ10pCisrQVNfSUYoW3Rlc3QgIngkTElCWE1MX1BSRUZJWCIgPSB4XSwKKysgICAgICBbWFNUQVJfTElCX0NIRUNLKFtMSUJYTUxdLCBbeG1sMi1jb25maWddKV0pCisgCisgQVNfSUYoW3Rlc3QgIngkTElCWE1MX1NSQ0RJUiIgIT0geF0sCisgICAgICAgW0xJQlhNTF9JTkNESVI9IiRMSUJYTUxfU1JDRElSL2luY2x1ZGUiXSkKK0BAIC01Niw3ICs1Nyw4IEBAIEFTX0lGKFt0ZXN0ICJ4JFNUQVRJQ19MSUJTIiAhPSB4bm9dLAorIFtMSUJYTUxfTERGTEFHUz0iLUwkTElCWE1MX0xJQkRJUiJdCisgCisgCistWFNUQVJfTElCX0NIRUNLKFtMSUJYU0xUXSwgW3hzbHQtY29uZmlnXSkKKytBU19JRihbdGVzdCAieCRMSUJYU0xUX1BSRUZJWCIgPSB4XSwKKysgICAgICBbWFNUQVJfTElCX0NIRUNLKFtMSUJYU0xUXSwgW3hzbHQtY29uZmlnXSldKQorIAorIEFTX0lGKFt0ZXN0ICJ4JExJQlhTTFRfU1JDRElSIiAhPSB4XSwKKyAgICAgICBbWFNMVFBST0NfUEFUSD0iJExJQlhTTFRfU1JDRElSL3hzbHRwcm9jOiRQQVRIIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC94bWxzdGFybGV0L3htbHN0YXJsZXRfMS41LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3htbHN0YXJsZXQveG1sc3RhcmxldF8xLjUuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZjk5YWZmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC94bWxzdGFybGV0L3htbHN0YXJsZXRfMS41LjAuYmIKQEAgLTAsMCArMSwzMyBAQAorU1VNTUFSWSA9ICJDb21tYW5kIGxpbmUgWE1MIHRvb2xraXQiCitERVNDUklQVElPTiA9ICJYTUxTdGFybGV0IGlzIGEgY29tbWFuZCBsaW5lIFhNTCB0b29sa2l0IHdoaWNoIGNhbiBiZSB1c2VkIHRvIFwKKyAgICAgICAgICAgICAgIHRyYW5zZm9ybSwgcXVlcnksIHZhbGlkYXRlLCBhbmQgZWRpdCBYTUwgZG9jdW1lbnRzIGFuZCBmaWxlcyBcCisgICAgICAgICAgICAgICB1c2luZyAgc2ltcGxlIHNldCBvZiBzaGVsbCBjb21tYW5kcyBpbiBzaW1pbGFyIHdheSBpdCBpcyBkb25lIFwKKyAgICAgICAgICAgICAgIGZvciBwbGFpbiB0ZXh0IGZpbGVzIHVzaW5nIGdyZXAvc2VkL2F3ay90ci9kaWZmL3BhdGNoLiIKK0hPTUVQQUdFID0gImh0dHA6Ly94bWxzdGFyLnNvdXJjZWZvcmdlLm5ldC8iCitCVUdUUkFDS0VSID0gImh0dHA6Ly94bWxzdGFyLnNvdXJjZWZvcmdlLm5ldC9idWdzLyIKKworU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1jMDQ3NjBkMDllOGIwZmU3MzI4M2QwY2M5ZThiZWE1MyIKKworREVQRU5EUyA9ICJsaWJ4bWwyIGxpYnhzbHQiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L3htbHN0YXIvJHtCUH0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL2NvbmZpZ3VyZS5hYy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLXVzYWdlMmMuYXdrLWZpeC13cm9uZy1iYXNlbmFtZS1yZWdleHAucGF0Y2giCitTUkNfVVJJW21kNXN1bV0gPSAiMGM2ZGIyOTVkMGNmOWZmMGQ0MzllZGI3NTViN2U4ZjYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNDdiNGVkMDQyZWEyOTA5MjU3ZjJhMzg2MDAxYWY0OWZjZWIzMDNmODRkYTcyMTQ3NzljY2Y5OWZmZmM2YmJiYSIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworIyBkb2MgYnVpbGQ6IHJlcXVpcmVzIChuYXRpdmUpIHhzdGxwcm9jLCBmb3AsIHBkZjJwcworRVhUUkFfT0VDT05GPSItLWRpc2FibGUtYnVpbGQtZG9jcyBcCisgIC0td2l0aC1saWJ4bWwtcHJlZml4PSR7U1RBR0lOR19MSUJESVJ9Ly4uIFwKKyAgLS13aXRoLWxpYnhzbHQtcHJlZml4PSR7U1RBR0lOR19MSUJESVJ9Ly4uIgorCisjTWFrZWZpbGU6MjExNjogcmVjaXBlIGZvciB0YXJnZXQgJ3NyYy9lbGVtLXVzYWdlLmMnIGZhaWxlZAorI21ha2VbMV06ICoqKiBbc3JjL2VsZW0tdXNhZ2UuY10gRXJyb3IgMQorIy9iaW4vYmFzaDogc3JjL2VzY2FwZS11c2FnZS5jOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CisjTWFrZWZpbGU6MjExNjogcmVjaXBlIGZvciB0YXJnZXQgJ3NyYy9lc2NhcGUtdXNhZ2UuYycgZmFpbGVkCisjbWFrZVsxXTogKioqIFtzcmMvZXNjYXBlLXVzYWdlLmNdIEVycm9yIDEKK1BBUkFMTEVMX01BS0UgPSAiIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC96aWxlL2ZpbGVzL3JlbW92ZS1oZWxwMm1hbi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvemlsZS9maWxlcy9yZW1vdmUtaGVscDJtYW4ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzFhNjNmNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvemlsZS9maWxlcy9yZW1vdmUtaGVscDJtYW4ucGF0Y2gKQEAgLTAsMCArMSwyOCBAQAorVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUuYW0gYi9NYWtlZmlsZS5hbQoraW5kZXggNTRiYzU5Zi4uNDZjMjY1MCAxMDA2NDQKKy0tLSBhL01ha2VmaWxlLmFtCisrKysgYi9NYWtlZmlsZS5hbQorQEAgLTM2LDcgKzM2LDYgQEAgUEVSTF9CVUlMRFRJTUUgPQkJCQkJXAorIAorIEVYVFJBX0RJU1QgPQkJCQkJCVwKKyAJRkFRCQkJCQkJXAorLQlidWlsZC1hdXgvemlsZS1oZWxwMm1hbi13cmFwcGVyCQkJXAorIAkkKFBFUkxfQlVJTERUSU1FKQorIAorIGRvY19EQVRBID0gQVVUSE9SUyBGQVEgTkVXUworZGlmZiAtLWdpdCBhL2RvYy9NYWtlZmlsZS5hbSBiL2RvYy9NYWtlZmlsZS5hbQoraW5kZXggNjM5ZjU5Yy4uOGM1MTIzZSAxMDA2NDQKKy0tLSBhL2RvYy9NYWtlZmlsZS5hbQorKysrIGIvZG9jL01ha2VmaWxlLmFtCitAQCAtMzMsOSArMzMsMyBAQCBkb2MvemlsZS4xOiAkKHNyY2RpcikvZG9jL3ppbGUuMS5pbiBkb2MvTWFrZWZpbGUuYW0gY29uZmlnLnN0YXR1cworIAkkKGVkaXQpICQoYWJzX3NyY2RpcikvZG9jL3ppbGUuMS5pbiA+JEAudG1wCisgCW12ICRALnRtcCAkQAorIAorLSQoc3JjZGlyKS9kb2MvemlsZS4xLmluOiBkb2MvbWFuLWV4dHJhcyBidWlsZC1hdXgvemlsZS1oZWxwMm1hbi13cmFwcGVyIGNvbmZpZ3VyZS5hYyAkKGJ1aWxkZGlyKS9zcmMvemlsZSQoRVhFRVhUKQorLQlAdGVzdCAtZCBkb2MgfHwgbWtkaXIgZG9jCistIyMgRXhpdCBncmFjZWZ1bGx5IGlmIHppbGUuMS5pbiBpcyBub3Qgd3JpdGVhYmxlLCBzdWNoIGFzIGR1cmluZyBkaXN0Y2hlY2shCistCSQoQU1fVl9HRU4paWYgKCB0b3VjaCAkQC53ICYmIHJtIC1mICRALnc7ICkgPi9kZXYvbnVsbCAyPiYxOyB0aGVuIFwKKy0JICAkKHNyY2RpcikvYnVpbGQtYXV4L21pc3NpbmcgLS1ydW4gJChIRUxQMk1BTikgLS1vdXRwdXQ9JEAgLS1uby1pbmZvIC0tbmFtZT0iWmlsZSBJcyBMb3NzeSBFbWFjcyIgLS1pbmNsdWRlICQoc3JjZGlyKS9kb2MvbWFuLWV4dHJhcyAkKHNyY2RpcikvYnVpbGQtYXV4L3ppbGUtaGVscDJtYW4td3JhcHBlcjsgXAorLQlmaQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC96aWxlL3ppbGVfMi40LjkuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3ppbGUvemlsZV8yLjQuOS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNTUxYTgwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC96aWxlL3ppbGVfMi40LjkuYmIKQEAgLTAsMCArMSwxNSBAQAorU1VNTUFSWSA9ICJaaWxlIGlzIGxvc3N5IEVtYWNzIgorSE9NRVBBR0UgPSAiaHR0cDovL3ppbGUuc291cmNlZm9yZ2UubmV0LyIKK0RFUEVORFMgPSAibmN1cnNlcyBiZHdnYyIKKworTElDRU5TRSA9ICJHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgorCitTUkNfVVJJID0gImh0dHA6Ly9mdHAuZ251Lm9yZy9nbnUvemlsZS8ke0JQfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vcmVtb3ZlLWhlbHAybWFuLnBhdGNoIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gIjg0YTBhZjU4ZmI0ZmJlM2FmMTZiZGUyZWYyYjhmNWFlIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImM3MTk1OWM3YWNhMDJhYzY2YmU1MjZlY2NjYmM3OTU0ZmIwZWE3NTkxZWQzYzEzMzExYTk1ZThmMDQwYjAwNDkiCisKK2luaGVyaXQgYXV0b3Rvb2xzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy10ZXN0L2Z3dHMvZnd0c19naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy10ZXN0L2Z3dHMvZnd0c19naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjk0M2Q2ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXRlc3QvZnd0cy9md3RzX2dpdC5iYgpAQCAtMCwwICsxLDI0IEBACitTVU1NQVJZID0gIkZpcm13YXJlIHRlc3RzdWl0ZSIKK0RFU0NSSVBUSU9OID0gIlRoZSB0b29sIGZ3dHMgY29tcHJpc2VzIG9mIG92ZXIgZmlmdHkgdGVzdHMgdGhhdCBhcmUgZGVzaWduZWQgdG8gZXhlcmNpc2UgYW5kIHRlc3QgZGlmZmVyZW50IGFzcGVjdHMgb2YgYSBtYWNoaW5lJ3MgZmlybXdhcmUuIE1hbnkgb2YgdGhlc2UgdGVzdHMgbmVlZCBzdXBlciB1c2VyIGFjY2VzcyB0byByZWFkIEJJT1MgZGF0YSBhbmQgQUNQSSB0YWJsZXMsIHNvIHRoZSB0b29sIHJlcXVpcmVzIHJ1bm5pbmcgd2l0aCBzdXBlciB1c2VyIHByaXZpbGVnZXMgKGUuZy4gd2l0aCBzdWRvKS4iCitIT01FUEFHRSA9ICJodHRwczovL3dpa2kudWJ1bnR1LmNvbS9LZXJuZWwvUmVmZXJlbmNlL2Z3dHMiCisKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vc3JjL21haW4uYztiZWdpbmxpbmU9MTtlbmRsaW5lPTE2O21kNT1kZWI4YWY1Mzg4ZTgzOGQxMzNlYWEwMzZmNGQxNDk2ZiIKKworUFYgPSAiMTQuMTIuMDAiCisKK1NSQ1JFViA9ICJlZmMxOGQxNjI5NGY0OTJiN2Y3MmJiYTY0MzQ0YjJlZWQ1MGU2YTY5IgorU1JDX1VSSSA9ICJnaXQ6Ly9rZXJuZWwudWJ1bnR1LmNvbS9od2UvZnd0cy5naXQiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK0RFUEVORFMgPSAibGlicGNyZSBqc29uLWMgZ2xpYi0yLjAiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcAorCitDRkxBR1MgKz0gIi1JJHtTVEFHSU5HX0lOQ0RJUn0vanNvbi1jIgorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L2Z3dHMvbGliKiR7U09MSUJTfSIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L2Z3dHMvbGliKiR7U09MSUJTREVWfSAke2xpYmRpcn0vZnd0cy9saWIqLmxhIgorRklMRVNfJHtQTn0tc3RhdGljZGV2ICs9ICIke2xpYmRpcn0vZnd0cy9saWIqYSIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2Z3dHMvLmRlYnVnIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtdGVzdC9nbW9jay9nbW9jay9jbWFrZS1BZGQtaW5zdGFsbC1jb21tYW5kLWZvci1saWJyYXJpZXMtYW5kLWhlYWRlcnMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy10ZXN0L2dtb2NrL2dtb2NrL2NtYWtlLUFkZC1pbnN0YWxsLWNvbW1hbmQtZm9yLWxpYnJhcmllcy1hbmQtaGVhZGVycy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MmE2MzkzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtdGVzdC9nbW9jay9nbW9jay9jbWFrZS1BZGQtaW5zdGFsbC1jb21tYW5kLWZvci1saWJyYXJpZXMtYW5kLWhlYWRlcnMucGF0Y2gKQEAgLTAsMCArMSw0MCBAQAorRnJvbSBiYTBhN2Q2NWM5MThjYjdlM2YyMDczNTUzYzRjYzdhZjU4NThlZDAzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogT3RhdmlvIFNhbHZhZG9yIDxvdGF2aW9Ab3NzeXN0ZW1zLmNvbS5icj4KK0RhdGU6IFRodSwgMzEgSnVsIDIwMTQgMTY6NTQ6MDAgLTAzMDAKK1N1YmplY3Q6IFtQQVRDSF0gY21ha2U6IEFkZCBpbnN0YWxsIGNvbW1hbmQgZm9yIGxpYnJhcmllcyBhbmQgaGVhZGVycworT3JnYW5pemF0aW9uOiBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTFREQS4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogT3RhdmlvIFNhbHZhZG9yIDxvdGF2aW9Ab3NzeXN0ZW1zLmNvbS5icj4KKy0tLQorIENNYWtlTGlzdHMudHh0IHwgNiArKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9DTWFrZUxpc3RzLnR4dCBiL0NNYWtlTGlzdHMudHh0CitpbmRleCA1NzJkMDQ0Li45MGU3OTdhIDEwMDY0NAorLS0tIGEvQ01ha2VMaXN0cy50eHQKKysrKyBiL0NNYWtlTGlzdHMudHh0CitAQCAtNjMsNiArNjMsOCBAQCBpbmNsdWRlX2RpcmVjdG9yaWVzKCIke2dtb2NrX1NPVVJDRV9ESVJ9L2luY2x1ZGUiCisgICAgICAgICAgICAgICAgICAgICAjIFRlc3Qgc291cmNlcy4KKyAgICAgICAgICAgICAgICAgICAgICIke2d0ZXN0X1NPVVJDRV9ESVJ9IikKKyAKKytpbnN0YWxsKERJUkVDVE9SWSAke2dtb2NrX1NPVVJDRV9ESVJ9L2luY2x1ZGUvZ21vY2sgREVTVElOQVRJT04gaW5jbHVkZSkKKysKKyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyAjCisgIyBEZWZpbmVzIHRoZSBnbW9jayAmIGdtb2NrX21haW4gbGlicmFyaWVzLiAgVXNlciB0ZXN0cyBzaG91bGQgbGluaworQEAgLTgyLDYgKzg0LDEwIEBAIGN4eF9saWJyYXJ5KGdtb2NrX21haW4KKyAgICAgICAgICAgICBzcmMvZ21vY2stYWxsLmNjCisgICAgICAgICAgICAgc3JjL2dtb2NrX21haW4uY2MpCisgCisrCisraW5zdGFsbChUQVJHRVRTIGdtb2NrIERFU1RJTkFUSU9OIGxpYikKKytpbnN0YWxsKFRBUkdFVFMgZ21vY2tfbWFpbiBERVNUSU5BVElPTiBsaWIpCisrCisgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisgIworICMgR29vZ2xlIE1vY2sncyBvd24gdGVzdHMuCistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXRlc3QvZ21vY2svZ21vY2svY21ha2UtZ21vY2sucGMuaW4tQWRkLXBrZy1jb25maWctc3VwcG9ydC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXRlc3QvZ21vY2svZ21vY2svY21ha2UtZ21vY2sucGMuaW4tQWRkLXBrZy1jb25maWctc3VwcG9ydC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYTM4ZmU0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtdGVzdC9nbW9jay9nbW9jay9jbWFrZS1nbW9jay5wYy5pbi1BZGQtcGtnLWNvbmZpZy1zdXBwb3J0LnBhdGNoCkBAIC0wLDAgKzEsNTYgQEAKK0Zyb20gNDU2NjExODNhN2M3OGQ4YzRmNzVhZGNmNTNjNmRkZDY2M2RjOGIyZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hcmlvIERvbWVuZWNoIEdvdWxhcnQgPG1hcmlvQG9zc3lzdGVtcy5jb20uYnI+CitEYXRlOiBNb24sIDIwIE9jdCAyMDE0IDE3OjEyOjU4IC0wMjAwCitTdWJqZWN0OiBbUEFUQ0hdIENNYWtlTGlzdHMsIGdtb2NrLnBjLmluOiBBZGQgcGtnLWNvbmZpZyBzdXBwb3J0CitPcmdhbml6YXRpb246IE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMVERBLgorCitTaWduZWQtb2ZmLWJ5OiBNYXJpbyBEb21lbmVjaCBHb3VsYXJ0IDxtYXJpb0Bvc3N5c3RlbXMuY29tLmJyPgorLS0tCisgQ01ha2VMaXN0cy50eHQgfCA3ICsrKysrKy0KKyBnbW9jay5wYy5pbiAgICB8IDkgKysrKysrKysrCisgMiBmaWxlcyBjaGFuZ2VkLCAxNSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdtb2NrLnBjLmluCisKK2RpZmYgLS1naXQgYS9DTWFrZUxpc3RzLnR4dCBiL0NNYWtlTGlzdHMudHh0CitpbmRleCA5MGU3OTdhLi45OGZkODI0IDEwMDY0NAorLS0tIGEvQ01ha2VMaXN0cy50eHQKKysrKyBiL0NNYWtlTGlzdHMudHh0CitAQCAtMjcsNiArMjcsOSBAQCBpZiAoQ09NTUFORCBwcmVfcHJvamVjdF9zZXRfdXBfaGVybWV0aWNfYnVpbGQpCisgICBwcmVfcHJvamVjdF9zZXRfdXBfaGVybWV0aWNfYnVpbGQoKQorIGVuZGlmKCkKKyAKKysjIHBrZy1jb25maWcgc3VwcG9ydAorK2NvbmZpZ3VyZV9maWxlKCJnbW9jay5wYy5pbiIgImdtb2NrLnBjIiBAT05MWSkKKysKKyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyAjCisgIyBQcm9qZWN0LXdpZGUgc2V0dGluZ3MKK0BAIC04Nyw3ICs5MCw5IEBAIGN4eF9saWJyYXJ5KGdtb2NrX21haW4KKyAKKyBpbnN0YWxsKFRBUkdFVFMgZ21vY2sgREVTVElOQVRJT04gbGliKQorIGluc3RhbGwoVEFSR0VUUyBnbW9ja19tYWluIERFU1RJTkFUSU9OIGxpYikKKy0KKytpbnN0YWxsKEZJTEVTICIke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vZ21vY2sucGMiCisrICAgIERFU1RJTkFUSU9OICIke0NNQUtFX0lOU1RBTExfUFJFRklYfS9saWIvcGtnY29uZmlnLyIKKyspICAKKyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyAjCisgIyBHb29nbGUgTW9jaydzIG93biB0ZXN0cy4KK2RpZmYgLS1naXQgYS9nbW9jay5wYy5pbiBiL2dtb2NrLnBjLmluCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uMDhhZDhkMgorLS0tIC9kZXYvbnVsbAorKysrIGIvZ21vY2sucGMuaW4KK0BAIC0wLDAgKzEsOSBAQAorK05hbWU6IGxpYmdtb2NrCisrVmVyc2lvbjogMS43LjAKKytEZXNjcmlwdGlvbjogR29vZ2xlJ3MgZnJhbWV3b3JrIGZvciB3cml0aW5nIEMrKyB0ZXN0cyBvbiBhIHZhcmlldHkgb2YgcGxhdGZvcm1zCisrIAorK3ByZWZpeD1AQ01BS0VfSU5TVEFMTF9QUkVGSVhACisraW5jbHVkZWRpcj0ke3ByZWZpeH0vaW5jbHVkZQorK2xpYmRpcj0ke3ByZWZpeH0vbGliCisrQ2ZsYWdzOi1JJHtpbmNsdWRlZGlyfS9nbW9jaworK0xpYnM6IC1MJHtsaWJkaXJ9IC1sZ21vY2sgLWxnbW9ja19tYWluCistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXRlc3QvZ21vY2svZ21vY2tfMS43LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy10ZXN0L2dtb2NrL2dtb2NrXzEuNy4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE1MzdmNGMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy10ZXN0L2dtb2NrL2dtb2NrXzEuNy4wLmJiCkBAIC0wLDAgKzEsMjMgQEAKK0RFU0NSSVBUSU9OID0gIkdvb2dsZSBDKysgTW9ja2luZyBGcmFtZXdvcmsiCitTRUNUSU9OID0gImxpYnMiCitIT01FUEFHRSA9ICJodHRwOi8vY29kZS5nb29nbGUuY29tL3AvZ29vZ2xlbW9jay8iCitMSUNFTlNFID0gIkJTRC0zLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWNiYmQyNzU5NGFmZDA4OWRhYTE2MGQzYTE2ZGQ1MTVhIgorCitTUkNfVVJJID0gIlwKKyAgICBodHRwOi8vZ29vZ2xlbW9jay5nb29nbGVjb2RlLmNvbS9maWxlcy8ke0JQTn0tJHtQVn0uemlwIFwKKyAgICBmaWxlOi8vY21ha2UtQWRkLWluc3RhbGwtY29tbWFuZC1mb3ItbGlicmFyaWVzLWFuZC1oZWFkZXJzLnBhdGNoIFwKKyAgICBmaWxlOi8vY21ha2UtZ21vY2sucGMuaW4tQWRkLXBrZy1jb25maWctc3VwcG9ydC5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwNzNiOTg0ZDg3OThlYTE1OTRmNWU0NGQ4NWIyMGQ2NiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyNmZjYmI1OTI1Yjc0YWQ1ZmM4YzI2YjA0OTVkZmM5NjM1M2Y0ZDU1MzQ5MmViOTdlODVhOGE2ZDJmNDMwOTViIgorCitpbmhlcml0IGxpYl9wYWNrYWdlIGNtYWtlCisKK0FMTE9XX0VNUFRZXyR7UE59ID0gIjEiCitBTExPV19FTVBUWV8ke1BOfS1kYmcgPSAiMSIKKworUkRFUEVORFNfJHtQTn0tZGV2ICs9ICIke1BOfS1zdGF0aWNkZXYiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXRlc3QvZ3Rlc3QvZ3Rlc3QvQ01ha2VMaXN0cy1ndGVzdC5wYy5pbi1BZGQtcGtnLWNvbmZpZy1zdXBwb3J0LXRvLWd0ZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXRlc3QvZ3Rlc3QvZ3Rlc3QvQ01ha2VMaXN0cy1ndGVzdC5wYy5pbi1BZGQtcGtnLWNvbmZpZy1zdXBwb3J0LXRvLWd0ZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZWNlMTM2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtdGVzdC9ndGVzdC9ndGVzdC9DTWFrZUxpc3RzLWd0ZXN0LnBjLmluLUFkZC1wa2ctY29uZmlnLXN1cHBvcnQtdG8tZ3RlLnBhdGNoCkBAIC0wLDAgKzEsNTUgQEAKK0Zyb20gZDRiMjVjZTcyMzgxMmZhZjc4ZDhlZTAzOGI3Y2JlZDAwY2JiYTY4MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFJvZHJpZ28gQ2FpbWkgPGNhaW1pQGRhdGFjb20uaW5kLmJyPgorRGF0ZTogVHVlLCA3IE9jdCAyMDE0IDE1OjM3OjEwIC0wMzAwCitTdWJqZWN0OiBbUEFUQ0hdIENNYWtlTGlzdHMsIGd0ZXN0LnBjLmluOiBBZGQgcGtnLWNvbmZpZyBzdXBwb3J0IHRvIGd0ZXN0CisgMS43LjAKKworU2lnbmVkLW9mZi1ieTogUm9kcmlnbyBDYWltaSA8Y2FpbWlAZGF0YWNvbS5pbmQuYnI+CistLS0KKyBDTWFrZUxpc3RzLnR4dCB8IDYgKysrKysrCisgZ3Rlc3QucGMuaW4gICAgfCA5ICsrKysrKysrKworIDIgZmlsZXMgY2hhbmdlZCwgMTUgaW5zZXJ0aW9ucygrKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBndGVzdC5wYy5pbgorCitkaWZmIC0tZ2l0IGEvQ01ha2VMaXN0cy50eHQgYi9DTWFrZUxpc3RzLnR4dAoraW5kZXggMjgxYzRjMi4uZTQzNTRhOCAxMDA2NDQKKy0tLSBhL0NNYWtlTGlzdHMudHh0CisrKysgYi9DTWFrZUxpc3RzLnR4dAorQEAgLTI5LDYgKzI5LDkgQEAgaWYgKENPTU1BTkQgcHJlX3Byb2plY3Rfc2V0X3VwX2hlcm1ldGljX2J1aWxkKQorICAgcHJlX3Byb2plY3Rfc2V0X3VwX2hlcm1ldGljX2J1aWxkKCkKKyBlbmRpZigpCisgCisrIyBwa2ctY29uZmlnIHN1cHBvcnQKKytjb25maWd1cmVfZmlsZSgiZ3Rlc3QucGMuaW4iICJndGVzdC5wYyIgQE9OTFkpCisrCisgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisgIworICMgUHJvamVjdC13aWRlIHNldHRpbmdzCitAQCAtNzUsNiArNzgsOSBAQCB0YXJnZXRfbGlua19saWJyYXJpZXMoZ3Rlc3RfbWFpbiBndGVzdCkKKyAKKyBpbnN0YWxsKFRBUkdFVFMgZ3Rlc3QgREVTVElOQVRJT04gbGliKQorIGluc3RhbGwoVEFSR0VUUyBndGVzdF9tYWluIERFU1RJTkFUSU9OIGxpYikKKytpbnN0YWxsKEZJTEVTICIke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vZ3Rlc3QucGMiCisrICAgIERFU1RJTkFUSU9OICIke0NNQUtFX0lOU1RBTExfUFJFRklYfS9saWIvcGtnY29uZmlnLyIKKyspCisgCisgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisgIworZGlmZiAtLWdpdCBhL2d0ZXN0LnBjLmluIGIvZ3Rlc3QucGMuaW4KK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi41N2IxMDQ5CistLS0gL2Rldi9udWxsCisrKysgYi9ndGVzdC5wYy5pbgorQEAgLTAsMCArMSw5IEBACisrTmFtZTogbGliZ3Rlc3QKKytWZXJzaW9uOiAxLjcuMAorK0Rlc2NyaXB0aW9uOiBHb29nbGUncyBmcmFtZXdvcmsgZm9yIHdyaXRpbmcgQysrIHRlc3RzIG9uIGEgdmFyaWV0eSBvZiBwbGF0Zm9ybXMKKysKKytwcmVmaXg9QENNQUtFX0lOU1RBTExfUFJFRklYQAorK2luY2x1ZGVkaXI9JHtwcmVmaXh9L2luY2x1ZGUKKytsaWJkaXI9JHtwcmVmaXh9L2xpYgorK0NmbGFnczotSSR7aW5jbHVkZWRpcn0vZ3Rlc3QKKytMaWJzOiAtTCR7bGliZGlyfSAtbGd0ZXN0IC1sZ3Rlc3RfbWFpbgorLS0gCisxLjkuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy10ZXN0L2d0ZXN0L2d0ZXN0L2NtYWtlLUFkZC1pbnN0YWxsLWNvbW1hbmQtZm9yLWxpYnJhcmllcy1hbmQtaGVhZGVycy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXRlc3QvZ3Rlc3QvZ3Rlc3QvY21ha2UtQWRkLWluc3RhbGwtY29tbWFuZC1mb3ItbGlicmFyaWVzLWFuZC1oZWFkZXJzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBjMTYwYjAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy10ZXN0L2d0ZXN0L2d0ZXN0L2NtYWtlLUFkZC1pbnN0YWxsLWNvbW1hbmQtZm9yLWxpYnJhcmllcy1hbmQtaGVhZGVycy5wYXRjaApAQCAtMCwwICsxLDM5IEBACitGcm9tIDUzMTg5ODM1NjJiZTZiYWJlYjVhNjk5NmU3ZGRhNGIzMWFjZmRiYTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBPdGF2aW8gU2FsdmFkb3IgPG90YXZpb0Bvc3N5c3RlbXMuY29tLmJyPgorRGF0ZTogV2VkLCAzMCBKdWwgMjAxNCAxNjo0OTo1MyAtMDMwMAorU3ViamVjdDogW1BBVENIXSBjbWFrZTogQWRkIGluc3RhbGwgY29tbWFuZCBmb3IgbGlicmFyaWVzIGFuZCBoZWFkZXJzCitPcmdhbml6YXRpb246IE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMVERBLgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBPdGF2aW8gU2FsdmFkb3IgPG90YXZpb0Bvc3N5c3RlbXMuY29tLmJyPgorLS0tCisgQ01ha2VMaXN0cy50eHQgfCA1ICsrKysrCisgMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvQ01ha2VMaXN0cy50eHQgYi9DTWFrZUxpc3RzLnR4dAoraW5kZXggNTc0NzBjOC4uMjgxYzRjMiAxMDA2NDQKKy0tLSBhL0NNYWtlTGlzdHMudHh0CisrKysgYi9DTWFrZUxpc3RzLnR4dAorQEAgLTU2LDYgKzU2LDggQEAgaW5jbHVkZV9kaXJlY3RvcmllcygKKyAgICR7Z3Rlc3RfU09VUkNFX0RJUn0vaW5jbHVkZQorICAgJHtndGVzdF9TT1VSQ0VfRElSfSkKKyAKKytpbnN0YWxsKERJUkVDVE9SWSAke2d0ZXN0X1NPVVJDRV9ESVJ9L2luY2x1ZGUvZ3Rlc3QgREVTVElOQVRJT04gaW5jbHVkZSkKKysKKyAjIFdoZXJlIEdvb2dsZSBUZXN0J3MgbGlicmFyaWVzIGNhbiBiZSBmb3VuZC4KKyBsaW5rX2RpcmVjdG9yaWVzKCR7Z3Rlc3RfQklOQVJZX0RJUn0vc3JjKQorIAorQEAgLTcxLDYgKzczLDkgQEAgY3h4X2xpYnJhcnkoZ3Rlc3QgIiR7Y3h4X3N0cmljdH0iIHNyYy9ndGVzdC1hbGwuY2MpCisgY3h4X2xpYnJhcnkoZ3Rlc3RfbWFpbiAiJHtjeHhfc3RyaWN0fSIgc3JjL2d0ZXN0X21haW4uY2MpCisgdGFyZ2V0X2xpbmtfbGlicmFyaWVzKGd0ZXN0X21haW4gZ3Rlc3QpCisgCisraW5zdGFsbChUQVJHRVRTIGd0ZXN0IERFU1RJTkFUSU9OIGxpYikKKytpbnN0YWxsKFRBUkdFVFMgZ3Rlc3RfbWFpbiBERVNUSU5BVElPTiBsaWIpCisrCisgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisgIworICMgU2FtcGxlcyBvbiBob3cgdG8gbGluayB1c2VyIHRlc3RzIHdpdGggZ3Rlc3Qgb3IgZ3Rlc3RfbWFpbi4KKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtdGVzdC9ndGVzdC9ndGVzdF8xLjcuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXRlc3QvZ3Rlc3QvZ3Rlc3RfMS43LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWRlZWFiNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXRlc3QvZ3Rlc3QvZ3Rlc3RfMS43LjAuYmIKQEAgLTAsMCArMSwyMyBAQAorREVTQ1JJUFRJT04gPSAiR29vZ2xlJ3MgZnJhbWV3b3JrIGZvciB3cml0aW5nIEMrKyB0ZXN0cyIKK0hPTUVQQUdFID0gImh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9nb29nbGV0ZXN0LyIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiQlNELTMtQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9Y2JiZDI3NTk0YWZkMDg5ZGFhMTYwZDNhMTZkZDUxNWEiCisKK1NSQ19VUkkgPSAiXAorICAgIGh0dHA6Ly9nb29nbGV0ZXN0Lmdvb2dsZWNvZGUuY29tL2ZpbGVzLyR7QlBOfS0ke1BWfS56aXAgXAorICAgIGZpbGU6Ly9jbWFrZS1BZGQtaW5zdGFsbC1jb21tYW5kLWZvci1saWJyYXJpZXMtYW5kLWhlYWRlcnMucGF0Y2ggXAorICAgIGZpbGU6Ly9DTWFrZUxpc3RzLWd0ZXN0LnBjLmluLUFkZC1wa2ctY29uZmlnLXN1cHBvcnQtdG8tZ3RlLnBhdGNoIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gIjJkNmVjOGNjZGY1YzQ2YjA1YmE1NGE5ZmQxZDEzMGQ3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjI0N2NhMThkZDgzZjUzZGViMTMyOGJlMTdlNGIxYmUzMTUxNGNlZGZjMWUzNDI0ZjY3MmJmMTFmZDdlMGQ2MGQiCisKK2luaGVyaXQgbGliX3BhY2thZ2UgY21ha2UKKworQUxMT1dfRU1QVFlfJHtQTn0gPSAiMSIKK0FMTE9XX0VNUFRZXyR7UE59LWRiZyA9ICIxIgorCitSREVQRU5EU18ke1BOfS1kZXYgKz0gIiR7UE59LXN0YXRpY2RldiIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3NpdGUvZW5kaWFuLWJpZyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9zaXRlL2VuZGlhbi1iaWcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2E5NjhlMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9zaXRlL2VuZGlhbi1iaWcKQEAgLTAsMCArMSwyIEBACisjIHJwLXBwcG9lCitycHBwb2VfY3ZfcGFja19iaXRmaWVsZHM9JHtycHBwb2VfY3ZfcGFja19iaXRmaWVsZHM9bm9ybWFsfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3NpdGUvZW5kaWFuLWxpdHRsZSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9zaXRlL2VuZGlhbi1saXR0bGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGJjZDk2NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9zaXRlL2VuZGlhbi1saXR0bGUKQEAgLTAsMCArMSwyIEBACisjIHJwLXBwcG9lCitycHBwb2VfY3ZfcGFja19iaXRmaWVsZHM9JHtycHBwb2VfY3ZfcGFja19iaXRmaWVsZHM9cmV2fQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvQ09QWUlORy5NSVQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9DT1BZSU5HLk1JVApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44OWRlMzU0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvQ09QWUlORy5NSVQKQEAgLTAsMCArMSwxNyBAQAorUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weQorb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwKK2luIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMKK3RvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwKK2NvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcworZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKworVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4KK2FsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorCitUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgorSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCitGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKK0FVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKK0xJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sCitPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOCitUSEUgU09GVFdBUkUuCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9SRUFETUUgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9SRUFETUUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODZjNWMxYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL1JFQURNRQpAQCAtMCwwICsxLDkyIEBACittZXRhLXBlcmwKKz09PT09PT09PQorVGhpcyBsYXllciBwcm92aWRlcyBjb21tb25seS11c2VkIHBlcmwgcmVsYXRlZCByZWNpcGVzIHN1Y2ggYXMgcGVybCBsaWJyYXJpZXMKK2luIHRoZSBDb21wcmVoZW5zaXZlIFBlcmwgQXJjaGl2ZSBOZXR3b3JrLgorCitDb250ZW50cyBhbmQgSGVscAorLS0tLS0tLS0tLS0tLS0tLS0KKworSW4gdGhpcyBzZWN0aW9uIHRoZSBjb250ZW50cyBvZiB0aGUgbGF5ZXIgaXMgbGlzdGVkLCBhbG9uZyB3aXRoIGEgc2hvcnQKK2hlbHAgZm9yIGVhY2ggcGFja2FnZS4KKworICAgICAgICAgLS0gbGliZGJpLXBlcmwgLS0KKyAgICAgICAgIFRoZSBEQkkgaXMgYSBkYXRhYmFzZSBhY2Nlc3MgbW9kdWxlIGZvciB0aGUgUGVybCBwcm9ncmFtbWluZyBsYW5ndWFnZS4KKyAgICAgICAgIEl0IGRlZmluZXMgYSBzZXQgb2YgbWV0aG9kcywgdmFyaWFibGVzLCBhbmQgY29udmVudGlvbnMgdGhhdCBwcm92aWRlCisgICAgICAgICBhIGNvbnNpc3RlbnQgZGF0YWJhc2UgaW50ZXJmYWNlLCBpbmRlcGVuZGVudCBvZiB0aGUgYWN0dWFsIGRhdGFiYXNlCisgICAgICAgICBiZWluZyB1c2VkLgorICAgICAgICAgICAgICAgICAgICAgIHw8LSBTY29wZSBvZiBEQkkgLT58CisgICAgICAgICAgICAgICAgICAgICAgICAgICAuLS4gICAuLS0tLS0tLS0tLS0tLS0uICAgLi0tLS0tLS0tLS0tLS0uCisgICAgICAgICAgIC4tLS0tLS0tLiAgICAgICB8IHwtLS18IFhZWiBEcml2ZXIgICB8LS0tfCBYWVogRW5naW5lICB8CisgICAgICAgICAgIHwgUGVybCAgfCAgICAgICB8IHwgICBgLS0tLS0tLS0tLS0tLS0nICAgYC0tLS0tLS0tLS0tLS0nCisgICAgICAgICAgIHwgc2NyaXB0fCAgfEF8ICB8RHwgICAuLS0tLS0tLS0tLS0tLS0uICAgLi0tLS0tLS0tLS0tLS0uCisgICAgICAgICAgIHwgdXNpbmcgfC0tfFB8LS18QnwtLS18T3JhY2xlIERyaXZlciB8LS0tfE9yYWNsZSBFbmdpbmV8CisgICAgICAgICAgIHwgREJJICAgfCAgfEl8ICB8SXwgICBgLS0tLS0tLS0tLS0tLS0nICAgYC0tLS0tLS0tLS0tLS0nCisgICAgICAgICAgIHwgQVBJICAgfCAgICAgICB8IHwuLi4KKyAgICAgICAgICAgfG1ldGhvZHN8ICAgICAgIHwgfC4uLiBPdGhlciBkcml2ZXJzCisgICAgICAgICAgIGAtLS0tLS0tJyAgICAgICB8IHwuLi4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGAtJworCisgICAgICAgIC0tIGxpYmRiZC1zcWxpdGUtcGVybCAtLQorICAgICAgICBEQkQ6OlNRTGl0ZSBpcyBhIFBlcmwgREJJIGRyaXZlciBmb3IgU1FMaXRlLCB0aGF0IGluY2x1ZGVzIHRoZSBlbnRpcmUKKyAgICAgICAgdGhpbmcgaW4gdGhlIGRpc3RyaWJ1dGlvbi4gU28gaW4gb3JkZXIgdG8gZ2V0IGEgZmFzdCB0cmFuc2FjdGlvbiBjYXBhYmxlCisgICAgICAgIFJEQk1TIHdvcmtpbmcgZm9yIHlvdXIgcGVybCBwcm9qZWN0IHlvdSBzaW1wbHkgaGF2ZSB0byBpbnN0YWxsIHRoaXMKKyAgICAgICAgbW9kdWxlLCBhbmQgbm90aGluZyBlbHNlLgorCisgICAgICAgIHVzYWdlOiB0aGVyZSBpcyBhIHRlc3QgY2FzZSB0byBzaG93IHlvdSBob3cgaXQgd29ya3MKKworICAgICAgICAxKSB2aW0gbG9jYWwuY29uZjoKKyAgICAgICAgLi4uCisgICAgICAgIElNQUdFX0lOU1RBTExfYXBwZW5kID0gIiBsaWJkYmQtc3FsaXRlLXBlcmwiCisgICAgICAgIFBFUkxfREJNX1RFU1QgPSAiMSIKKyAgICAgICAgLi4uCisgICAgICAgIDIpIGJ1aWxkIGNvcmUtaW1hZ2Utc2F0byBhbmQgYm9vdCB0aGUgdGFyZ2V0CisKKyAgICAgICAgMykgcnVuICJzcWxpdGUtcGVybC10ZXN0LnBsIiBvbiB0YXJnZXQuIFRoaXMgc2NyaXB0IGluY2x1ZGVzIGZpdmUKKyAgICAgICAgICAgb3BlcmF0aW9ucyBjcmVhdGUvaW5zZXJ0L3VwZGF0ZS9kZWxldGUvc2VsZWN0IHRvIGRvIHdpdGggYSB0YWJsZS4KKworICAgICAgICBNb3JlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiB0aGUgcmVjaXBlJ3MgZ2l0IGxvZy4KKworRGVwZW5kZW5jaWVzCistLS0tLS0tLS0tLS0KKworVGhpcyBsYXllciBkZXBlbmRzIG9uOgorCisgIFVSSTogZ2l0Oi8vZ2l0Lm9wZW5lbWJlZGRlZC5vcmcvb3BlbmVtYmVkZGVkLWNvcmUKKyAgYnJhbmNoOiBrcm9nb3RoIAorICByZXZpc2lvbjogSEVBRAorICBwcmlvOiBkZWZhdWx0CisKK0FkZGluZyB0aGUgbWV0YS1wZXJsIGxheWVyIHRvIHlvdXIgYnVpbGQKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitJbiBvcmRlciB0byB1c2UgdGhpcyBsYXllciwgeW91IG5lZWQgdG8gbWFrZSB0aGUgYnVpbGQgc3lzdGVtIGF3YXJlIG9mCitpdC4KKworQXNzdW1pbmcgdGhlIG1ldGEtcGVybCBsYXllciBleGlzdHMgYXQgdGhlIHRvcC1sZXZlbCBvZiB5b3VyCit5b2N0byBidWlsZCB0cmVlLCB5b3UgY2FuIGFkZCBpdCB0byB0aGUgYnVpbGQgc3lzdGVtIGJ5IGFkZGluZyB0aGUKK2xvY2F0aW9uIG9mIHRoZSBtZXRhLXBlcmwgbGF5ZXIgdG8gYmJsYXllcnMuY29uZiwgYWxvbmcgd2l0aCBhbnkKK290aGVyIGxheWVycyBuZWVkZWQuIGUuZy46CisKKyAgQkJMQVlFUlMgPz0gIiBcCisgICAgL3BhdGgvdG8vb2UtY29yZS9tZXRhIFwKKyAgICAvcGF0aC90by9sYXllci9tZXRhLXBlcmwgXAorCitNYWludGVuYW5jZQorLS0tLS0tLS0tLS0KKworU2VuZCBwYXRjaGVzIC8gcHVsbCByZXF1ZXN0cyB0byBvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZyB3aXRoCisnW21ldGEtcGVybF1ba3JvZ290aF0nIGluIHRoZSBzdWJqZWN0LgorCitXaGVuIHNlbmRpbmcgc2luZ2xlIHBhdGNoZXMsIHBsZWFzZSB1c2luZyBzb21ldGhpbmcgbGlrZToKKydnaXQgc2VuZC1lbWFpbCAtTSAtMSAtLXRvIG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnIC0tc3ViamVjdC1wcmVmaXg9bWV0YS1wZXJsXVtrcm9nb3RoXVtQQVRDSCcKKwora3JvZ290aCBCcmFuY2ggTWFpbnRhaW5lcjoKK0FybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+CisKK0xpY2Vuc2UKKy0tLS0tLS0KKworQWxsIG1ldGFkYXRhIGlzIE1JVCBsaWNlbnNlZCB1bmxlc3Mgb3RoZXJ3aXNlIHN0YXRlZC4gU291cmNlIGNvZGUgaW5jbHVkZWQKK2luIHRyZWUgZm9yIGluZGl2aWR1YWwgcmVjaXBlcyBpcyB1bmRlciB0aGUgTElDRU5TRSBzdGF0ZWQgaW4gZWFjaCByZWNpcGUKKyguYmIgZmlsZSkgdW5sZXNzIG90aGVyd2lzZSBzdGF0ZWQuCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL2NvbmYvbGF5ZXIuY29uZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL2NvbmYvbGF5ZXIuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNDg1YWM4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvY29uZi9sYXllci5jb25mCkBAIC0wLDAgKzEsMTYgQEAKKyMgV2UgaGF2ZSBhIGNvbmYgYW5kIGNsYXNzZXMgZGlyZWN0b3J5LCBhZGQgdG8gQkJQQVRICitCQlBBVEggLj0gIjoke0xBWUVSRElSfSIKKworIyBXZSBoYXZlIHJlY2lwZXMtKiBkaXJlY3RvcmllcywgYWRkIHRvIEJCRklMRVMKK0JCRklMRVMgKz0gIiR7TEFZRVJESVJ9L3JlY2lwZXMtKi8qLyouYmIgXAorCSR7TEFZRVJESVJ9L3JlY2lwZXMtKi8qLyouYmJhcHBlbmQiCisKK0JCRklMRV9DT0xMRUNUSU9OUyArPSAicGVybC1sYXllciIKK0JCRklMRV9QQVRURVJOX3BlcmwtbGF5ZXIgOj0gIl4ke0xBWUVSRElSfS8iCitCQkZJTEVfUFJJT1JJVFlfcGVybC1sYXllciA9ICI2IgorCisjIFRoaXMgc2hvdWxkIG9ubHkgYmUgaW5jcmVtZW50ZWQgb24gc2lnbmlmaWNhbnQgY2hhbmdlcyB0aGF0IHdpbGwKKyMgY2F1c2UgY29tcGF0aWJpbGl0eSBpc3N1ZXMgd2l0aCBvdGhlciBsYXllcnMKK0xBWUVSVkVSU0lPTl9wZXJsLWxheWVyID0gIjEiCisKK0xBWUVSREVQRU5EU19wZXJsLWxheWVyID0gImNvcmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLWV4dGVuZGVkL21pbWUtY29uc3RydWN0L2ZpbGVzL2ZpeC1taW1lLWNvbnN0cnVjdC1oZWxwLXJldHVybi12YWx1ZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtZXh0ZW5kZWQvbWltZS1jb25zdHJ1Y3QvZmlsZXMvZml4LW1pbWUtY29uc3RydWN0LWhlbHAtcmV0dXJuLXZhbHVlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVlNDI4MWQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLWV4dGVuZGVkL21pbWUtY29uc3RydWN0L2ZpbGVzL2ZpeC1taW1lLWNvbnN0cnVjdC1oZWxwLXJldHVybi12YWx1ZS5wYXRjaApAQCAtMCwwICsxLDM5IEBACitGcm9tIDJiOWVkMDY4NTA0MTBkNzAzNzFiMzFkZTVmMTMxZTQ4NGJhMWM4NTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBMdSBDaG9uZyA8Q2hvbmcuTHVAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFRodSwgMTcgT2N0IDIwMTMgMTY6MDY6MDQgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gZml4IG1pbWUtY29uc3RydWN0IC0taGVscCByZXR1cm4gdmFsdWUKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEx1IENob25nIDxDaG9uZy5MdUB3aW5kcml2ZXIuY29tPgorCistLS0KKyBtaW1lLWNvbnN0cnVjdCB8ICAgIDUgKysrLS0KKyAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbWltZS1jb25zdHJ1Y3QgYi9taW1lLWNvbnN0cnVjdAoraW5kZXggY2FkN2QwZS4uNzA3ZWQxOSAxMDA3NTUKKy0tLSBhL21pbWUtY29uc3RydWN0CisrKysgYi9taW1lLWNvbnN0cnVjdAorQEAgLTM5LDcgKzM5LDcgQEAgdXNhZ2U6ICRNZSBzd2l0Y2guLi4KKyAKKyAgIEdsb2JhbCBzZXR0aW5nczoKKyAgICAgLS1kZWJ1ZwkJdHVybiBkZWJ1Z2dpbmcgb24KKy0gICAgLS1oZWxwCQlzaG93IHRoaXMgYW5kIHRoZW4gZGllCisrICAgIC0taGVscAkJc2hvdyB0aGlzCisgICAgIC0tb3V0cHV0CQlkb25cJ3QgbWFpbCwgb3V0cHV0IHRvIHN0ZG91dCAobG9zZXMgYmNjIGluZm8pCisgICAgIC0tc3VicGFydAkJZ2VuZXJhdGUgc3VicGFydCByYXRoZXIgdGhhbiB3aG9sZSBtZXNzYWdlICh0dXJucworICAgICAJICAgIAkgICAgCW9uIC0tb3V0cHV0LCBjaGFuZ2VzIG90aGVyIHNlbWFudGljcyBhIGJpdCkKK0BAIC0xNTAsNyArMTUwLDggQEAgc3ViIHh3YXJuIHsKKyAKKyBzdWIgdXNhZ2UgeworICAgICB4d2FybiBAXyBpZiBAXzsKKy0gICAgZGllICRVc2FnZTsKKysgICAgcHJpbnQgJFVzYWdlOworKyAgICBleGl0IDA7CisgfQorIAorIHN1YiBpbml0IHsKKy0tIAorMS43LjkuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLWV4dGVuZGVkL21pbWUtY29uc3RydWN0L21pbWUtY29uc3RydWN0XzEuMTEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLWV4dGVuZGVkL21pbWUtY29uc3RydWN0L21pbWUtY29uc3RydWN0XzEuMTEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTAxZjNiZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtZXh0ZW5kZWQvbWltZS1jb25zdHJ1Y3QvbWltZS1jb25zdHJ1Y3RfMS4xMS5iYgpAQCAtMCwwICsxLDI4IEBACitTVU1NQVJZID0gIkNvbnN0cnVjdCBhbmQgb3B0aW9uYWxseSBtYWlsIE1JTUUgbWVzc2FnZXMiCitERVNDUklQVElPTiA9ICJDb25zdHJ1Y3RzIGFuZCAoYnkgZGVmYXVsdCkgbWFpbHMgTUlNRSBtZXNzYWdlcy4gXAorICAgICAgICAgICAgICAgSXQgaXMgZW50aXJlbHkgZHJpdmVuIGZyb20gdGhlIGNvbW1hbmQgbGluZSwgaXQgaXMgXAorICAgICAgICAgICAgICAgZGVzaWduZWQgdG8gYmUgdXNlZCBieSBvdGhlciBwcm9ncmFtcywgb3IgcGVvcGxlIHdobyBhY3QgXAorICAgICAgICAgICAgICAgbGlrZSBwcm9ncmFtcy4iCitIT01FUEFHRSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL35yb3NjaC9taW1lLWNvbnN0cnVjdC9taW1lLWNvbnN0cnVjdCIKK1NFQ1RJT04gPSAibWFpbCIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vZGViaWFuL2NvcHlyaWdodDttZDU9NWUyZTVkYTYxOWFjOGVmOGM4NDc2N2NjYzQ2NTZlOTYiCisKK1NSQ19VUkkgPSAiJHtDUEFOX01JUlJPUn0vYXV0aG9ycy9pZC9SL1JPL1JPU0NIL21pbWUtY29uc3RydWN0LSR7UFZ9LnRhci5neiBcCisgICAgZmlsZTovL2ZpeC1taW1lLWNvbnN0cnVjdC1oZWxwLXJldHVybi12YWx1ZS5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI3MzgzNGVhNzgwZmJlYTgxYjg5ZGJkOWIyZmI1NGY1OCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI0Y2Q3YmI2MWI1MWQ0MTE5MmQxNDk4YzEwNTFhYTZhNGNjZDc1YWViMDliNzFkMmVjNzA2YTcwODRhNGE5MzAzIgorCitpbmhlcml0IGNwYW4KKworUkRFUEVORFNfJHtQTn0gPSAibGlibWltZS10eXBlcy1wZXJsIGxpYnByb2Mtd2FpdHN0YXQtcGVybCBtc210cCBcCisgICAgcGVybC1tb2R1bGUtZmlsZWhhbmRsZSBwZXJsLW1vZHVsZS1taW1lLWJhc2U2NCBwZXJsLW1vZHVsZS1taW1lLXF1b3RlZHByaW50IHBlcmwtbW9kdWxlLXBvc2l4IFwKKyIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAjY2hhbmdlIHRoZSBpbnRlcnByZXRlciBpbiBmaWxlCisgICBzZWQgLWkgLWUgInN8JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L3BlcmwtbmF0aXZlL3BlcmwgLXd8JHtiaW5kaXJ9L2VudiBwZXJsfGciIFwKKyAgICAgICR7RH0vJHtiaW5kaXJ9L21pbWUtY29uc3RydWN0Cit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvYWRkdXNlci9hZGR1c2VyXzMuMTE0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2FkZHVzZXIvYWRkdXNlcl8zLjExNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYjRjMGM0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2FkZHVzZXIvYWRkdXNlcl8zLjExNC5iYgpAQCAtMCwwICsxLDU1IEBACitTVU1NQVJZID0gImEgdXRpbGl0eSB0byBhZGQgdXNlcnMvZ3JvdXBzIHRvIHRoZSBzeXN0ZW0iCitERVNDUklQVElPTiA9ICJhZGR1c2VyLCBhZGRncm91cCAtIGFkZCBhIHVzZXIgb3IgZ3JvdXAgdG8gdGhlIHN5c3RlbSIKK0hPTUVQQUdFID0gImh0dHA6Ly9hbGlvdGguZGViaWFuLm9yZy9wcm9qZWN0cy9hZGR1c2VyLyIKK1NFQ1RJT04gPSAiYmFzZS91dGlscyIKKworTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2RlYmlhbi9jb3B5cmlnaHQ7bWQ1PWNhZWQ0OWFiMTY2ZjIyZWYzMWJmMTEyN2Y1NThkMGVmIgorCitTUkNfVVJJID0gImh0dHA6Ly9mdHAuZGUuZGViaWFuLm9yZy9kZWJpYW4vcG9vbC9tYWluL2EvJHtCUE59LyR7QlBOfV8ke1BWfS50YXIueHogXAorICAgICAgICAgICBmaWxlOi8vYWRkdXNlci1hZGQtTS1vcHRpb24tZm9yLXVzZXJhZGQtd2hlbi1uby1jcmVhdGUtaG9tZS5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIzYTA3OWRkNGU0MWQ1YTFmYmFjY2FhYjAzYWFjZDg4MSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2OTNiNDViYjBkMjc5MzhmZmYyZWNlZTU0NDJlYTJhYzFiODgwNDQ3MmZmMGJiOGZhZmZkMzk2MTZlNTgyMTFmIgorCitpbmhlcml0IGNwYW4tYmFzZSB1cGRhdGUtYWx0ZXJuYXRpdmVzCisKK1MgPSAiJHtXT1JLRElSfS8ke0JQTn0tMy4xMTMrbm11NCIKKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke3NiaW5kaXJ9CisgICAgaW5zdGFsbCAtbSAwNzU1ICR7U30vYWRkdXNlciAke0R9JHtzYmluZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSAke1N9L2RlbHVzZXIgJHtEfSR7c2JpbmRpcn0KKworICAgIGluc3RhbGwgLWQgJHtEfSR7bGliZGlyfS9wZXJsLyR7UEVSTFZFUlNJT059L0RlYmlhbgorICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L0FkZHVzZXJDb21tb24ucG0gJHtEfSR7bGliZGlyfS9wZXJsLyR7UEVSTFZFUlNJT059L0RlYmlhbgorICAgIHNlZCAtaSAtZSAicy9WRVJTSU9OLyR7UFZ9LyIgJHtEfSR7c2JpbmRpcn0vKgorCisgICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzY29uZmRpcn0KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS8qLmNvbmYgJHtEfS8ke3N5c2NvbmZkaXJ9CisKKyAgICBpbnN0YWxsIC1kICR7RH0ke21hbmRpcn0vbWFuNQorICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L2RvYy8qLmNvbmYuNSAke0R9JHttYW5kaXJ9L21hbjUKKyAgICBpbnN0YWxsIC1kICR7RH0ke21hbmRpcn0vbWFuOAorICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L2RvYy8qLjggJHtEfSR7bWFuZGlyfS9tYW44CisgICAgaW5zdGFsbCAtZCAke0R9JHtkb2NkaXJ9LyR7QlBOfQorICAgIGNwIC1yZiAke1N9L2V4YW1wbGVzICR7RH0ke2RvY2Rpcn0vJHtCUE59Cit9CisKK1JERVBFTkRTXyR7UE59ICs9ICJcCisgICAgc2hhZG93IFwKKyAgICBwZXJsLW1vZHVsZS1nZXRvcHQtbG9uZyBcCisgICAgcGVybC1tb2R1bGUtb3ZlcmxvYWRpbmcgXAorICAgIHBlcmwtbW9kdWxlLWZpbGUtZmluZCBcCisgICAgcGVybC1tb2R1bGUtZmlsZS10ZW1wIFwKKyIKKworQUxURVJOQVRJVkVfJHtQTn0gPSAiYWRkdXNlciBkZWx1c2VyIGFkZGdyb3VwIGRlbGdyb3VwIgorQUxURVJOQVRJVkVfUFJJT1JJVFkgPSAiNjAiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbYWRkdXNlcl0gPSAiJHtzYmluZGlyfS9hZGR1c2VyIgorQUxURVJOQVRJVkVfTElOS19OQU1FW2RlbHVzZXJdID0gIiR7c2JpbmRpcn0vZGVsdXNlciIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVthZGRncm91cF0gPSAiJHtzYmluZGlyfS9hZGRncm91cCIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtkZWxncm91cF0gPSAiJHtzYmluZGlyfS9kZWxncm91cCIKK0FMVEVSTkFUSVZFX1RBUkdFVFthZGRncm91cF0gPSAiJHtzYmluZGlyfS9hZGR1c2VyLiR7QlBOfSIKK0FMVEVSTkFUSVZFX1RBUkdFVFtkZWxncm91cF0gPSAiJHtzYmluZGlyfS9kZWx1c2VyLiR7QlBOfSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9hZGR1c2VyL2ZpbGVzL2FkZHVzZXItYWRkLU0tb3B0aW9uLWZvci11c2VyYWRkLXdoZW4tbm8tY3JlYXRlLWhvbWUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvYWRkdXNlci9maWxlcy9hZGR1c2VyLWFkZC1NLW9wdGlvbi1mb3ItdXNlcmFkZC13aGVuLW5vLWNyZWF0ZS1ob21lLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRiMGEwM2YKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvYWRkdXNlci9maWxlcy9hZGR1c2VyLWFkZC1NLW9wdGlvbi1mb3ItdXNlcmFkZC13aGVuLW5vLWNyZWF0ZS1ob21lLnBhdGNoCkBAIC0wLDAgKzEsNTcgQEAKK0Zyb20gODA5ZjAwYTZlZjAyMjRiNDFiMmUxMjA3MTk0YzhkYTNjZDNlM2M3ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEphY2tpZSBIdWFuZyA8amFja2llLmh1YW5nQHdpbmRyaXZlci5jb20+CitEYXRlOiBUaHUsIDE4IERlYyAyMDE0IDE3OjIzOjM3ICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIGFkZHVzZXI6IGFkZCAtTSBvcHRpb24gZm9yIHVzZXJhZGQgd2hlbiAtLW5vLWNyZWF0ZS1ob21lIGlzIHNwZWNpZmllZAorCitUaGUgdXNlcmFkZCAoZnJvbSBwYWNrYWdlIHBhc3N3ZCkgaW4gZGViaWFuIGJhc2VkIHN5c3RlbSBzZXRzIC1NICgtLW5vLWNyZWF0ZS1ob21lKSBieSBkZWZhdWx0LAorYnV0IHRoZSBvbmUgd2UgYXJlIHVzaW5nIChmcm9tIHBhY2thZ2Ugc2hhZG93KSBzZXRzIC1tICgtLWNyZWF0ZS1ob21lKSBieSBkZWZhdWx0LCBzbyB3ZQorbmVlZCB0byBleHBsaWNpdGx5IGFkZCAtTSBvcHRpb24gZm9yIHVzZXJhZGQgY2FsbCB3aGVuIC0tbm8tY3JlYXRlLWhvbWUgaXMgc3BlY2lmaWVkIGZvciBhZGR1c2VyLgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogSmFja2llIEh1YW5nIDxqYWNraWUuaHVhbmdAd2luZHJpdmVyLmNvbT4KKy0tLQorIGFkZHVzZXIgfCAgIDIwICsrKysrKysrKysrKysrKystLS0tCisgMSBmaWxlcyBjaGFuZ2VkLCAxNiBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYWRkdXNlciBiL2FkZHVzZXIKK2luZGV4IGMzYmQ4YjAuLjlhMDdmOWYgMTAwNzU1CistLS0gYS9hZGR1c2VyCisrKysgYi9hZGR1c2VyCitAQCAtNDM0LDggKzQzNCwxNCBAQCBpZiAoJGFjdGlvbiBlcSAiYWRkc3lzdXNlciIpIHsKKyAgICAgJHNoZWxsID0gJHNwZWNpYWxfc2hlbGwgfHwgJy9iaW4vZmFsc2UnOworICAgICAkdW5kb3VzZXIgPSAkbmV3X25hbWU7CisgICAgIG15ICR1c2VyYWRkID0gJndoaWNoKCd1c2VyYWRkJyk7CistICAgICZzeXN0ZW1jYWxsKCR1c2VyYWRkLCAnLWQnLCAkaG9tZV9kaXIsICctZycsICRpbmdyb3VwX25hbWUsICctcycsCistCQkkc2hlbGwsICctdScsICRuZXdfdWlkLCAkbmV3X25hbWUpOworKyAgICBpZiAoJG5vX2NyZWF0ZV9ob21lKSB7CisrICAgICAgICAmc3lzdGVtY2FsbCgkdXNlcmFkZCwgJy1kJywgJGhvbWVfZGlyLCAnLWcnLCAkaW5ncm91cF9uYW1lLCAnLXMnLAorKwkJICAgICRzaGVsbCwgJy11JywgJG5ld191aWQsICctTScsICRuZXdfbmFtZSk7CisrICAgIH0KKysgICAgZWxzZSB7CisrICAgICAgICAmc3lzdGVtY2FsbCgkdXNlcmFkZCwgJy1kJywgJGhvbWVfZGlyLCAnLWcnLCAkaW5ncm91cF9uYW1lLCAnLXMnLAorKyAgICAgICAgICAgICAgICAgICAgJHNoZWxsLCAnLXUnLCAkbmV3X3VpZCwgJG5ld19uYW1lKTsKKysgICAgfQorICAgICBpZighJGRpc2FibGVkX2xvZ2luKSB7CisgICAgICAgICBteSAkdXNlcm1vZCA9ICZ3aGljaCgndXNlcm1vZCcpOworICAgICAgICAgJnN5c3RlbWNhbGwoJHVzZXJtb2QsICctcCcsICcqJywgJG5ld19uYW1lKTsKK0BAIC01MjQsOCArNTMwLDE0IEBAIGlmICgkYWN0aW9uIGVxICJhZGR1c2VyIikgeworIAkkc2hlbGwgPSAkc3BlY2lhbF9zaGVsbCB8fCAkY29uZmlneyJkc2hlbGwifTsKKyAgICAgJHVuZG91c2VyID0gJG5ld19uYW1lOworICAgICBteSAkdXNlcmFkZCA9ICZ3aGljaCgndXNlcmFkZCcpOworLSAgICAmc3lzdGVtY2FsbCgkdXNlcmFkZCwgJy1kJywgJGhvbWVfZGlyLCAnLWcnLCAkaW5ncm91cF9uYW1lLCAnLXMnLAorLQkJJHNoZWxsLCAnLXUnLCAkbmV3X3VpZCwgJG5ld19uYW1lKTsKKysgICAgaWYgKCRub19jcmVhdGVfaG9tZSkgeworKyAgICAgICAgJnN5c3RlbWNhbGwoJHVzZXJhZGQsICctZCcsICRob21lX2RpciwgJy1nJywgJGluZ3JvdXBfbmFtZSwgJy1zJywKKysJICAgIAkgICAgJHNoZWxsLCAnLXUnLCAkbmV3X3VpZCwgJy1NJywgJG5ld19uYW1lKTsKKysgICAgfQorKyAgICBlbHNlIHsKKysgICAgICAgICZzeXN0ZW1jYWxsKCR1c2VyYWRkLCAnLWQnLCAkaG9tZV9kaXIsICctZycsICRpbmdyb3VwX25hbWUsICctcycsCisrCSAgICAJICAgICRzaGVsbCwgJy11JywgJG5ld191aWQsICRuZXdfbmFtZSk7CisrICAgIH0KKyAgICAgJmludmFsaWRhdGVfbnNjZCgpOworIAorICAgICBjcmVhdGVfaG9tZWRpciAoMSk7ICMgY29weSBza2VsZXRvbiBkYXRhCistLSAKKzEuNy4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJhbGdvcml0aG0vbGliYWxnb3JpdGhtLWRpZmYtcGVybF8xLjE1LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmFsZ29yaXRobS9saWJhbGdvcml0aG0tZGlmZi1wZXJsXzEuMTUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDE1NWZhZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJhbGdvcml0aG0vbGliYWxnb3JpdGhtLWRpZmYtcGVybF8xLjE1LmJiCkBAIC0wLDAgKzEsMjMgQEAKK1NVTU1BUlkgPSAiQWxnb3JpdGhtOjpEaWZmIC0gQ29tcHV0ZSAnaW50ZWxsaWdlbnQnIGRpZmZlcmVuY2VzIGJldHdlZW4gdHdvIFwKK2ZpbGVzL2xpc3RzIgorREVTQ1JJUFRJT04gPSAiVGhpcyBpcyBhIG1vZHVsZSBmb3IgY29tcHV0aW5nIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdHdvIGZpbGVzLCBcCit0d28gc3RyaW5ncywgb3IgYW55IG90aGVyIHR3byBsaXN0cyBvZiB0aGluZ3MuICBJdCB1c2VzIGFuICBpbnRlbGxpZ2VudCBcCithbGdvcml0aG0gc2ltaWxhciB0byAob3IgaWRlbnRpY2FsIHRvKSB0aGUgb25lIHVzZWQgYnkgdGhlIFVuaXggYGRpZmYnIFwKK3Byb2dyYW0uICAgSXQgaXMgZ3VhcmFudGVlZCB0byBmaW5kIHRoZSAqc21hbGxlc3QgcG9zc2libGUqIHNldCBvZiBcCitkaWZmZXJlbmNlcy4gXAorIgorU0VDVElPTiA9ICJsaWJzIgorSE9NRVBBR0UgPSAiaHR0cDovL3NlYXJjaC5jcGFuLm9yZy9+bmVka29uei9BbGdvcml0aG0tRGlmZi8iCisKK0xJQ0VOU0UgPSAiQXJ0aXN0aWMtMS4wIHwgR1BMLTEuMCsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9saWIvQWxnb3JpdGhtL0RpZmYucG07YmVnaW5saW5lPTQwNjtlbmRsaW5lPTQwOTttZDU9ZDM5M2I4YWQzYjg5OTRiOWQwYWU5Mjk5YjhhOGExZWUiCisKK1NSQ19VUkkgPSAiJHtDUEFOX01JUlJPUn0vYXV0aG9ycy9pZC9OL05FL05FREtPTlovQWxnb3JpdGhtLURpZmYtJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjQ1N2NkNDk3YTA0MTFhODhiNDdkMzc0MWViMTc2MDcxIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImFhODQ4Yjc1YWQzZWNjMzJkMzFlODY1MTkwOTU1MWU4NTFjY2VlZjc0YTMyODIyYzdhM2NiMzVjMjU5ZjUxOTAiCisKK1MgPSAiJHtXT1JLRElSfS9BbGdvcml0aG0tRGlmZi0ke1BWfSIKKworaW5oZXJpdCBjcGFuCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmF1dGhlbi9maWxlcy9ydW4tcHRlc3QgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliYXV0aGVuL2ZpbGVzL3J1bi1wdGVzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOWY5Y2E5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmF1dGhlbi9maWxlcy9ydW4tcHRlc3QKQEAgLTAsMCArMSwxNiBAQAorIyEvYmluL3NoCisKK2ZvciBjYXNlIGluIGBmaW5kIHQgLXR5cGUgZiAtbmFtZSAnKi50J2A7IGRvCisgICAgcGVybCAkY2FzZSA+JGNhc2Uub3V0cHV0IDI+JjEKKyAgICByZXQ9JD8KKyAgICBjYXQgJGNhc2Uub3V0cHV0CisgICAgaWYgWyAkcmV0IC1uZSAwIF07IHRoZW4KKyAgICAgICAgZWNobyAiRkFJTDogJHtjYXNlJS50fSIKKyAgICBlbGlmIGdyZXAgLWkgJ1NLSVAnICRjYXNlLm91dHB1dDsgdGhlbgorICAgICAgICBlY2hvICJTS0lQOiAke2Nhc2UlLnR9IgorICAgIGVsc2UKKyAgICAgICAgZWNobyAiUEFTUzogJHtjYXNlJS50fSIKKyAgICBmaQorCisgICAgcm0gLWYgJGNhc2Uub3V0cHV0Citkb25lCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliYXV0aGVuL2xpYmF1dGhlbi1zYXNsLXBlcmxfMi4xNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJhdXRoZW4vbGliYXV0aGVuLXNhc2wtcGVybF8yLjE2LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2NThhNWYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliYXV0aGVuL2xpYmF1dGhlbi1zYXNsLXBlcmxfMi4xNi5iYgpAQCAtMCwwICsxLDI4IEBACitTVU1NQVJZID0gIlNBU0wgQXV0aGVudGljYXRpb24gZnJhbWV3b3JrIGZvciBQZXJsIgorREVTQ1JJUFRJT04gPSAiU0FTTCBpcyBhIGdlbmVyaWMgbWVjaGFuaXNtIGZvciBhdXRoZW50aWNhdGlvbiB1c2VkIGJ5IHNldmVyYWwgbmV0d29yayBcCitwcm90b2NvbHMuIEF1dGhlbjo6U0FTTCBwcm92aWRlcyBhbiBpbXBsZW1lbnRhdGlvbiBmcmFtZXdvcmsgdGhhdCBhbGwgXAorcHJvdG9jb2xzIHNob3VsZCBiZSBhYmxlIHRvIHNoYXJlLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvZGlzdC9BdXRoZW4tU0FTTC8iCitTRUNUSU9OID0gImxpYnMiCisKK0xJQ0VOU0UgPSAiQXJ0aXN0aWMtMS4wfEdQTC0xLjArIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vbGliL0F1dGhlbi9TQVNML1BlcmwucG07YmVnaW5saW5lPTE7ZW5kbGluZT0zO21kNT0xNzEyMzMxNWJiY2RhMTlmNDg0YzA3MjI3NTk0YTYwOSIKKworREVQRU5EUyA9ICJwZXJsIgorUkRFUEVORFNfJHtQTn0gPSAibGliZGlnZXN0LWhtYWMtcGVybCIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmNwYW4ub3JnL2F1dGhvcnMvaWQvRy9HQi9HQkFSUi9BdXRoZW4tU0FTTC0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKKyAgICAgICAgICAiCitTUkNfVVJJW21kNXN1bV0gPSAiN2MwM2E2ODlkNGM2ODllNWE5ZTJmMThhMWM1ODZiMmYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNjYxNGZhNzUxOGYwOTRmODUzNzQxYjYzYzczZjM2MjcxNjhjNWQzYWNhODliMWQwMmIxMDE2ZGMzMjg1NGUwOSIKKworUyA9ICIke1dPUktESVJ9L0F1dGhlbi1TQVNMLSR7UFZ9IgorCitpbmhlcml0IGNwYW4gcHRlc3QKKworZG9faW5zdGFsbF9wdGVzdCAoKSB7CisgICAgY3AgLXIgJHtCfS90ICR7RH0ke1BURVNUX1BBVEh9Cit9CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmNhcHR1cmUvbGliY2FwdHVyZS10aW55LXBlcmxfMC4zNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJjYXB0dXJlL2xpYmNhcHR1cmUtdGlueS1wZXJsXzAuMzYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTc3ZGQ3NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJjYXB0dXJlL2xpYmNhcHR1cmUtdGlueS1wZXJsXzAuMzYuYmIKQEAgLTAsMCArMSwzNyBAQAorU1VNTUFSWSA9ICJDYXB0dXJlOjpUaW55IC0gQ2FwdHVyZSBTVERPVVQgYW5kIFNUREVSUiBmcm9tIFBlcmwsIFhTIG9yIGV4dGVybmFsIHByb2dyYW1zLiIKK0RFU0NSSVBUSU9OID0gIkNhcHR1cmU6OlRpbnkgcHJvdmllcyBhIHNpbXBsZSwgcG9ydGFibGUgd2F5IHRvIGNhcHR1cmUgXAorYWxtb3N0IGFueXRoaW5nIHNlbnQgdG8gU1RET1VUIG9yIFNUREVSUiwgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIGl0IGNvbWVzIFwKK2Zyb20gUGVybCwgZnJvbSBYUyBjb2RlIG9yIGZyb20gYW4gZXh0ZXJuYWwgcHJvZ3JhbS4gT3B0aW9uYWxseSwgb3V0cHV0IGNhbiBcCitiZSB0ZWVkIHNvIHRoYXQgaXQgaXMgY2FwdHVyZWQgd2hpbGUgYmVpbmcgcGFzc2VkIHRocm91Z2ggdG8gdGhlIG9yaWdpbmFsIFwKK2ZpbGVoYW5kbGVzLiBZZXMsIGl0IGV2ZW4gd29ya3Mgb24gV2luZG93cyAodXN1YWxseSkuIFN0b3AgZ3Vlc3Npbmcgd2hpY2ggb2YgXAorYSBkb3plbiBjYXB0dXJpbmcgbW9kdWxlcyB0byB1c2UgaW4gYW55IHBhcnRpY3VsYXIgc2l0dWF0aW9uIGFuZCBqdXN0IHVzZSBcCit0aGlzIG9uZS4iCitTRUNUSU9OID0gImxpYnMiCisKK0hPTUVQQUdFID0gImh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvfmRhZ29sZGVuL0NhcHR1cmUtVGlueS8iCisKK0xJQ0VOU0UgPSAiQXJ0aXN0aWMtMS4wIHwgR1BMLTEuMCsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0zN2E0OTE4YTMwYWNlMjQzOTUwMjBlNWI4YzAzYjgzZiIKKworU1JDTkFNRSA9ICJDYXB0dXJlLVRpbnkiCitTUkNfVVJJID0gIiR7Q1BBTl9NSVJST1J9L2F1dGhvcnMvaWQvRC9EQS9EQUdPTERFTi8ke1NSQ05BTUV9LSR7UFZ9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJkYjY0NDQxMTFjMzBhYzAxYTc2YTRjMTE4MjQxYzdiNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhYjg3NDJlNTNhZDIwNGE0MjFiYzgyZDU4MTNmM2M0Yzg1Yzc2NTgxZWExMGQ5MTBkMGFlZmMxNjFmOGNiMDNkIgorCitTID0gIiR7V09SS0RJUn0vJHtTUkNOQU1FfS0ke1BWfSIKKworaW5oZXJpdCBjcGFuCisKK1JERVBFTkRTXyR7UE59ID0gIiBwZXJsLW1vZHVsZS1zY2FsYXItdXRpbCBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtaW8tZmlsZSBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1maWxlLXNwZWMgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWV4cG9ydGVyIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1jYXJwIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS10ZXN0LW1vcmUgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWZpbGUtdGVtcCBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtbGliIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1vdmVybG9hZGluZyBcCisiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmNsYXNzL2xpYmNsYXNzLW1ldGhvZC1tb2RpZmllcnMtcGVybF8yLjEyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmNsYXNzL2xpYmNsYXNzLW1ldGhvZC1tb2RpZmllcnMtcGVybF8yLjEyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM5NzliMzEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliY2xhc3MvbGliY2xhc3MtbWV0aG9kLW1vZGlmaWVycy1wZXJsXzIuMTIuYmIKQEAgLTAsMCArMSwyOCBAQAorU1VNTUFSWSA9ICJDbGFzczo6TWV0aG9kOjpNb2RpZmllcnMgLSBwcm92aWRlcyBNb29zZS1saWtlIG1ldGhvZCBtb2RpZmllcnMiCitERVNDUklQVElPTiA9ICJNZXRob2QgbW9kaWZpZXJzIGFyZSBhIGNvbnZlbmllbnQgZmVhdHVyZSBmcm9tIHRoZSBDTE9TIFwKKyhDb21tb24gTGlzcCBPYmplY3QgU3lzdGVtKSB3b3JsZC4iCisKK1NFQ1RJT04gPSAibGlicyIKKworSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL21vb3NlL0NsYXNzLU1ldGhvZC1Nb2RpZmllcnMvIgorCitMSUNFTlNFID0gIkFydGlzdGljLTEuMCB8IEdQTC0xLjArIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MTZmZDBlYzdiNzNjMGUxNTg0MjZmNzUzOTQzZjEwNTgiCisKK1NSQ19VUkkgPSAiJHtDUEFOX01JUlJPUn0vYXV0aG9ycy9pZC9FL0VUL0VUSEVSL0NsYXNzLU1ldGhvZC1Nb2RpZmllcnMtJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gImY1NTQwMGM3YTgxMzRhY2YzNjU3ZjhhZjg5YmRkN2FmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImU0NGMxMDczMDIwYmY1NWI4Yzk3OTc1ZWQ3NzIzNWZkN2UyYTZhNTZmMjliNWM3MDIzMDE3MjExODRlMjdhYzgiCisKK1MgPSAiJHtXT1JLRElSfS9DbGFzcy1NZXRob2QtTW9kaWZpZXJzLSR7UFZ9IgorCitpbmhlcml0IGNwYW4KKworUkRFUEVORFNfJHtQTn0gPSAiIHBlcmwtbW9kdWxlLWIgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWJhc2UgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWNhcnAgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWV4cG9ydGVyIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1zdHJpY3QgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLXdhcm5pbmdzIFwKKyIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliY3J5cHQvbGliY3J5cHQtb3BlbnNzbC1yYW5kb20tcGVybF8wLjExLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmNyeXB0L2xpYmNyeXB0LW9wZW5zc2wtcmFuZG9tLXBlcmxfMC4xMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NDU2ZTMxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmNyeXB0L2xpYmNyeXB0LW9wZW5zc2wtcmFuZG9tLXBlcmxfMC4xMS5iYgpAQCAtMCwwICsxLDE1IEBACitTVU1NQVJZID0gIkNyeXB0IE9wZW5zc2wgUmFuZG9tIGNwYW4gbW9kdWxlIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJBcnRpc3RpYy0xLjAgfCBHUEwtMS4wKyIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MDg5YzE4ZDYzNWFlMjczZTE3MjdlYzM4NWU2NDA2M2IiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5jcGFuLm9yZy9tb2R1bGVzL2J5LW1vZHVsZS9DcnlwdC9DcnlwdC1PcGVuU1NMLVJhbmRvbS0ke1BWfS50YXIuZ3ogIgorU1JDX1VSSVttZDVzdW1dID0gIjVkNzEzMzc1MDNlMDM1NmNlMWNlMTQ4MTUwNGU1ODg1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImJiOGM4MWM2YTM5YjliMTNhMjJkODE4ZWU5YTc0NjI0MmYxMzZmMGZhZGNlYjZiOTc3NmFlNjE1ZTc1MjRjN2EiCisKK1MgPSAiJHtXT1JLRElSfS9DcnlwdC1PcGVuU1NMLVJhbmRvbS0ke1BWfSIKKworREVQRU5EUyArPSAiIG9wZW5zc2wgXAorIgoraW5oZXJpdCBjcGFuCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliY3J5cHQvbGliY3J5cHQtb3BlbnNzbC1yc2EtcGVybF8wLjI4LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmNyeXB0L2xpYmNyeXB0LW9wZW5zc2wtcnNhLXBlcmxfMC4yOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMGM2MTBmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmNyeXB0L2xpYmNyeXB0LW9wZW5zc2wtcnNhLXBlcmxfMC4yOC5iYgpAQCAtMCwwICsxLDI0IEBACitTVU1NQVJZID0gIkNyeXB0IE9wZW5zc2wgUlNBIGNwYW4gbW9kdWxlIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJBcnRpc3RpYy0xLjAgfCBHUEwtMS4wKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTM4NWM1NTY1Mzg4NmFjYWMzODIxOTk5YTNjY2QxN2IzIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cuY3Bhbi5vcmcvbW9kdWxlcy9ieS1tb2R1bGUvQ3J5cHQvQ3J5cHQtT3BlblNTTC1SU0EtJHtQVn0udGFyLmd6ICIKKworU1JDX1VSSVttZDVzdW1dID0gIjg2MjE3YTUwMzZmYzYzNzc5YzMwNDIwYjVmZDg0MTI5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjUzNTdmOTc3NDY0YmIzYTgxODRjZjJkMzM0MTg1MWExMGQ1NTE1YjRiMmIwZGZiODhiZjc4OTk1YzBkZWQ3YmUiCisKK0RFUEVORFMgKz0gIm9wZW5zc2wiCisKK1JERVBFTkRTXyR7UE59PSJsaWJjcnlwdC1vcGVuc3NsLXJhbmRvbS1wZXJsIgorCitFWFRSQV9DUEFORkxBR1MgPSAiSU5DPSctSSR7U1RBR0lOR19JTkNESVJ9JyBMSUJTPSctTCR7U1RBR0lOR19MSUJESVJ9IC1sc3NsIC1MJHtTVEFHSU5HX0RJUl9UQVJHRVR9JHtiYXNlX2xpYmRpcn0gLWxjcnlwdG8nIgorCitTID0gIiR7V09SS0RJUn0vQ3J5cHQtT3BlblNTTC1SU0EtJHtQVn0iCisKK2luaGVyaXQgY3BhbgorCitkb19jb21waWxlKCkgeworICAgIGV4cG9ydCBPVEhFUkxERkxBR1M9Jy1XbCwtcnBhdGgnCisgICAgY3Bhbl9kb19jb21waWxlCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliY3Vyc2VzL2xpYmN1cnNlcy1wZXJsXzEuMzQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliY3Vyc2VzL2xpYmN1cnNlcy1wZXJsXzEuMzQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTdlOWQ5MQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJjdXJzZXMvbGliY3Vyc2VzLXBlcmxfMS4zNC5iYgpAQCAtMCwwICsxLDI2IEBACitERVNDUklQVElPTiA9ICJsaWItY3Vyc2VzIHByb3ZpZGVzIGFuIGludGVyZmFjZSBiZXR3ZWVuIFBlcmwgcHJvZ3JhbXMgYW5kIFwKK3RoZSBjdXJzZXMgbGlicmFyeS4iCisKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiQXJ0aXN0aWMtMS4wIHwgR1BMLTEuMCsiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1JFQURNRTtiZWdpbmxpbmU9MjY7ZW5kbGluZT0zMDttZDU9MGIzNzM1NmM1ZTllMjgwODBhMzQyMmQ4MmFmOGFmMDkiCisKK0RFUEVORFMgKz0gInBlcmwgbmN1cnNlcyAiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5jcGFuLm9yZy9hdXRob3JzL2lkL0cvR0kvR0lSQUZGRUQvQ3Vyc2VzLSR7UFZ9LnRhci5neiIKKworU1JDX1VSSVttZDVzdW1dID0gIjg3NGMyMTAzY2M1MzU1MmEwZmFhMzcxYzRkOTExOWY2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjgwOGU0NGQ1OTQ2YmUyNjVhZjVmZjBiOTBmM2QwODAyMTA4ZTdkMWIzOWIwZmU2OGE0YTQ0NmZlMjg0ZDMyMmIiCisKK1MgPSAiJHtXT1JLRElSfS9DdXJzZXMtJHtQVn0iCisKK0VYVFJBX0NQQU5GTEFHUyA9ICJJTkM9LUkke1NUQUdJTkdfSU5DRElSfSBMSUJTPS1MJHtTVEFHSU5HX0xJQkRJUn0iCisKK2luaGVyaXQgY3BhbgorCitkb19jb21waWxlKCkgeworICAgIGV4cG9ydCBMSUJDPSIkKGZpbmQgJHtTVEFHSU5HX0RJUl9UQVJHRVR9LyR7YmFzZV9saWJkaXJ9LyAtbmFtZSAnbGliYy0qLnNvJykiCisgICAgY3Bhbl9kb19jb21waWxlCit9CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJkYi9saWJkYmQtc3FsaXRlLXBlcmwvc3FsaXRlLXBlcmwtdGVzdC5wbCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJkYi9saWJkYmQtc3FsaXRlLXBlcmwvc3FsaXRlLXBlcmwtdGVzdC5wbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40MGY1OTE2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmRiL2xpYmRiZC1zcWxpdGUtcGVybC9zcWxpdGUtcGVybC10ZXN0LnBsCkBAIC0wLDAgKzEsNjkgQEAKKyMhIC91c3IvYmluL2VudiBwZXJsCisjCisjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisjCisjIENvcHlyaWdodCAoQykgMjAxMyBXaW5kIFJpdmVyIFN5c3RlbXMsIEluYy4KKyMKKyMgLSBJdCB0ZXN0cyBEQkkgYW5kIERCRDo6U1FMaXRlIGNvdWxkIHdvcmsgY29ycmVjdGx5IHdoaWNoIG1lYW5zIG9uZSBjb3VsZAorIyAgIG1hbmlwdWxhdGUgc3FsaXRlIGRhdGFiYXNlIGluIHBlcmwKKyMgLSBUaGUgdGVzdCBpbmNsdWRlcyBjcmVhdGUvaW5zZXJ0L3VwZGF0ZS9kZWxldGUvc2VsZWN0LCB0aGUgZml2ZSBpbXBvcnRhbnQKKyMgICB0aGluZ3Mgb25lIGNhbiBkbyB3aXRoIGEgdGFibGUKK3VzZSBEQkk7CisKK3N1YiBleGVjdXRlX3NxbCB7CisgICAgbXkgJGRiaCA9ICRfWzBdOworICAgIG15ICRzcWwgPSAkX1sxXTsKKyAgICBteSAkc3RoID0gJGRiaC0+cHJlcGFyZSgkc3FsKQorICAgICAgICBvciBkaWUgIkNvdWxkbid0IHByZXBhcmUgc3RhdGVtZW50OiAiIC4gJGRiaC0+ZXJyc3RyOworICAgICRzdGgtPmV4ZWN1dGUoKTsKKyAgICBwcmludCAiJHNxbFxuIjsKKyAgICByZXR1cm4gJHN0aDsKK30KKworc3ViIHNlbGVjdF9hbGwgeworICAgIG15ICRkYmggPSAkX1swXTsKKyAgICBteSAkdGFibGUgPSAkX1sxXTsKKyAgICBteSAkc3RoID0gJmV4ZWN1dGVfc3FsKCRkYmgsICJTZWxlY3QgKiBmcm9tICR0YWJsZSIpOworCisgICAgcHJpbnQgIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iOworICAgIHdoaWxlIChAZGF0YSA9ICRzdGgtPmZldGNocm93X2FycmF5KCkpIHsKKyAgICAgICAgbXkgJG5hbWUgPSAkZGF0YVswXTsKKyAgICAgICAgbXkgJGlkID0gJGRhdGFbMV07CisgICAgICAgIHByaW50ICIkbmFtZTogJGlkXG4iOworICAgIH0KKyAgICBwcmludCAiXG4iOworCisgICAgJHN0aC0+ZmluaXNoOworICAgIHJldHVybiAkc3RoOworfQorCisjIEEgcHJpdmF0ZSwgdGVtcG9yYXJ5IGluLW1lbW9yeSBkYXRhYmFzZSBpcyBjcmVhdGVkIGZvciB0aGUgY29ubmVjdGlvbi4KKyMgVGhpcyBpbi1tZW1vcnkgZGF0YWJhc2Ugd2lsbCB2YW5pc2ggd2hlbiB0aGUgZGF0YWJhc2UgY29ubmVjdGlvbiBpcworIyBjbG9zZWQuIEl0IGlzIGhhbmR5IGZvciB5b3VyIGxpYnJhcnkgdGVzdHMuCitteSAkZGJmaWxlID0gIjptZW1vcnk6IjsKK215ICRkYmggPSBEQkktPmNvbm5lY3QoIkRCSTpTUUxpdGU6ZGJuYW1lPSRkYmZpbGUiLCIiLCIiKQorICAgICAgICBvciBkaWUgIkNvdWxkbid0IGNvbm5lY3QgdG8gZGF0YWJhc2U6ICIgLiBEQkktPmVycnN0cjsKK3ByaW50ICJDb25uZWN0IHRvIFNRTGl0ZSdzIGluLW1lbW9yeSBkYXRhYmFzZVxuIjsKKworJmV4ZWN1dGVfc3FsKCRkYmgsICJDcmVhdGUgdGFibGUgdGJsMShuYW1lIHZhcmNoYXIoMTApLCBpZCBzbWFsbGludCkiKTsKKyZleGVjdXRlX3NxbCgkZGJoLCAiSW5zZXJ0IGludG8gdGJsMSB2YWx1ZXMoJ3lvY3RvJywxMCkiKTsKKyZleGVjdXRlX3NxbCgkZGJoLCAiSW5zZXJ0IGludG8gdGJsMSB2YWx1ZXMoJ3dpbmRyaXZlcicsIDIwKSIpOworJnNlbGVjdF9hbGwoJGRiaCwgInRibDEiKTsKKworJmV4ZWN1dGVfc3FsKCRkYmgsICJVcGRhdGUgdGJsMSBzZXQgbmFtZSA9ICdvZS1jb3JlJyB3aGVyZSBpZCA9IDEwIik7CismZXhlY3V0ZV9zcWwoJGRiaCwgIkRlbGV0ZSBmcm9tIHRibDEgd2hlcmUgaWQgPSAyMCIpOworJnNlbGVjdF9hbGwoJGRiaCwgInRibDEiKTsKKworJGRiaC0+ZGlzY29ubmVjdDsKK3ByaW50ICJUZXN0IFN1Y2Nlc3NcbiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJkYi9saWJkYmQtc3FsaXRlLXBlcmxfMS41MC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJkYi9saWJkYmQtc3FsaXRlLXBlcmxfMS41MC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42OGJmZDY2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmRiL2xpYmRiZC1zcWxpdGUtcGVybF8xLjUwLmJiCkBAIC0wLDAgKzEsMzkgQEAKK1NVTU1BUlkgPSAiQSBQZXJsIERCSSBkcml2ZXIgZm9yIFNRTGl0ZSIKK0RFU0NSSVBUSU9OID0gIkRCRDo6U1FMaXRlIGlzIGEgUGVybCBEQkkgZHJpdmVyIGZvciBTUUxpdGUsIHRoYXQgaW5jbHVkZXMgdGhlIGVudGlyZSBcCit0aGluZyBpbiB0aGUgZGlzdHJpYnV0aW9uLiBTbyBpbiBvcmRlciB0byBnZXQgYSBmYXN0IHRyYW5zYWN0aW9uIGNhcGFibGUgXAorUkRCTVMgd29ya2luZyBmb3IgeW91ciBwZXJsIHByb2plY3QgeW91IHNpbXBseSBoYXZlIHRvIGluc3RhbGwgdGhpcyBcCittb2R1bGUsIGFuZCBub3RoaW5nIGVsc2UuIFwKKyIKK0hPTUVQQUdFID0gImh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvfmlzaGlnYWtpL0RCRC1TUUxpdGUvIgorCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkFydGlzdGljLTEuMCB8IEdQTC0xLjArIgorREVQRU5EUyArPSAibGliZGJpLXBlcmwtbmF0aXZlIgorUkRFUEVORFNfJHtQTn0gKz0gImxpYmRiaS1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICBzcWxpdGUzIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1jb25zdGFudCBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtbG9jYWxlIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS10aWUtaGFzaCBcCisiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTE3MjZlMjExNzQ5NGJhM2UxM2UxYzNkOTNmNzk1MzYwIgorCitTUkNfVVJJID0gImh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvQ1BBTi9hdXRob3JzL2lkL0kvSVMvSVNISUdBS0kvREJELVNRTGl0ZS0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vc3FsaXRlLXBlcmwtdGVzdC5wbCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJkNTZlZWJmYjVmMmExNGJlOTQxM2IwMjVlN2RjYTlmZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzYWM1MTNhYjczOTQ0ZmQ3ZDRiNjcyZTFmZTg4NWRjNTIyYjYzNjlkMzhmNDZhNjhlNjdlMDA0NWJmMTU5Y2UxIgorCitTID0gIiR7V09SS0RJUn0vREJELVNRTGl0ZS0ke1BWfSIKKworaW5oZXJpdCBjcGFuCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpZiBbICR7UEVSTF9EQk1fVEVTVH0gPSAiMSIgXTsgdGhlbgorICAgICAgICBpbnN0YWxsIC1tIDc1NSAtRCAke1dPUktESVJ9L3NxbGl0ZS1wZXJsLXRlc3QucGwgJHtEfS8ke2JpbmRpcn0vc3FsaXRlLXBlcmwtdGVzdC5wbAorICAgIGZpCit9CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJkYi9saWJkYmktcGVybF8xLjYzNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJkYi9saWJkYmktcGVybF8xLjYzNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMjM4NzgxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmRiL2xpYmRiaS1wZXJsXzEuNjM0LmJiCkBAIC0wLDAgKzEsMjYgQEAKK1NVTU1BUlkgPSAiVGhlIFBlcmwgRGF0YWJhc2UgSW50ZXJmYWNlIgorREVTQ1JJUFRJT04gPSAiREJJIGlzIGEgZGF0YWJhc2UgYWNjZXNzIEFwcGxpY2F0aW9uIFByb2dyYW1taW5nIEludGVyZmFjZSBcCisoQVBJKSBmb3IgdGhlIFBlcmwgTGFuZ3VhZ2UuIFRoZSBEQkkgQVBJIFNwZWNpZmljYXRpb24gZGVmaW5lcyBhIHNldCBcCitvZiBmdW5jdGlvbnMsIHZhcmlhYmxlcyBhbmQgY29udmVudGlvbnMgdGhhdCBwcm92aWRlIGEgY29uc2lzdGVudCBcCitkYXRhYmFzZSBpbnRlcmZhY2UgaW5kZXBlbmRlbnQgb2YgdGhlIGFjdHVhbCBkYXRhYmFzZSBiZWluZyB1c2VkLiBcCisiCitIT01FUEFHRSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL2Rpc3QvREJJLyIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiQXJ0aXN0aWMtMS4wIHwgR1BMLTEuMCsiCitSREVQRU5EU18ke1BOfSA9ICIgcGVybC1tb2R1bGUtY2FycCBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtZXhwb3J0ZXIgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWV4cG9ydGVyLWhlYXZ5IFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1keW5hbG9hZGVyIFwKKyIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vREJJLnBtO2JlZ2lubGluZT04MTQ3O2VuZGxpbmU9ODE1MTttZDU9ZDRlNzNmMjYxNmIyYjQxMzM0Y2YyZjdkMjVkODI3YTIiCisKK1NSQ19VUkkgPSAiaHR0cDovL3NlYXJjaC5jcGFuLm9yZy9DUEFOL2F1dGhvcnMvaWQvVC9USS9USU1CL0RCSS0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiNGFkMTVhOWMyY2M5YjY4ZTNmZTFmNWNhZGY5Y2RiMzAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMjUwNzEyZjM4NTg2NDgxOGFiZmJhNDA5NDIwZDE2ZDllZTYxZjFjYzczYWM4NTE1OWQwNTRhNWVlODZkMTQ1MCIKKworUyA9ICIke1dPUktESVJ9L0RCSS0ke1BWfSIKKworaW5oZXJpdCBjcGFuCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmRldmVsL2xpYmRldmVsLWdsb2JhbGRlc3RydWN0aW9uLXBlcmxfMC4xMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJkZXZlbC9saWJkZXZlbC1nbG9iYWxkZXN0cnVjdGlvbi1wZXJsXzAuMTMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWE1OTNjZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJkZXZlbC9saWJkZXZlbC1nbG9iYWxkZXN0cnVjdGlvbi1wZXJsXzAuMTMuYmIKQEAgLTAsMCArMSwyMyBAQAorU1VNTUFSWSA9ICJGdW5jdGlvbiByZXR1cm5pbmcgXCIke15HTE9CQUxfUEhBU0V9IGVxIFwnREVTVFJVQ1RcJ1wiIgorREVTQ1JJUFRJT04gPSAiUGVybCdzIGdsb2JhbCBkZXN0cnVjdGlvbiBpcyBhIGxpdHRsZSB0cmljayB0byBkZWFsIHdpdGggXAorV1JUIGZpbmFsaXplcnMgYmVjYXVzZSBpdCdzIG5vdCBvcmRlcmVkIGFuZCBvYmplY3RzIGNhbiBzb21ldGltZXMgZGlzYXBwZWFyLiIKKworU0VDVElPTiA9ICJsaWJzIgorCitIT01FUEFHRSA9ICJodHRwczovL21ldGFjcGFuLm9yZy9wb2QvRGV2ZWwtR2xvYmFsRGVzdHJ1Y3Rpb24vIgorCitMSUNFTlNFID0gIkFydGlzdGljLTEuMCB8IEdQTC0xLjArIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUkVBRE1FO2JlZ2lubGluZT01MztlbmRsaW5lPTU1O21kNT05MzVkYWRiOTQyMzc3NGY1MzU0OGU1Y2Q1MDU1ZDQxYSIKKworU1JDX1VSSSA9ICIke0NQQU5fTUlSUk9SfS9hdXRob3JzL2lkL0gvSEEvSEFBUkcvRGV2ZWwtR2xvYmFsRGVzdHJ1Y3Rpb24tJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gImU3YmUwMDA0MDgyN2UyMDRiMmI2Y2JhMmYzMTY2MDc0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImIyOTgyNGRjMGQzMjJlNTZkYTMyNWYwNTE4NTM2N2ViNDQzNjk0NzE2MDEwYjM2NjkzZGQ1MmZmYmU4ZWM0NjIiCisKK1MgPSAiJHtXT1JLRElSfS9EZXZlbC1HbG9iYWxEZXN0cnVjdGlvbi0ke1BWfSIKKworaW5oZXJpdCBjcGFuCisKK1JERVBFTkRTXyR7UE59ID0gIiBsaWJzdWItZXhwb3J0ZXItcHJvZ3Jlc3NpdmUtcGVybCBcCisiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmRpZ2VzdC9maWxlcy9ydW4tcHRlc3QgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliZGlnZXN0L2ZpbGVzL3J1bi1wdGVzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOWY5Y2E5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmRpZ2VzdC9maWxlcy9ydW4tcHRlc3QKQEAgLTAsMCArMSwxNiBAQAorIyEvYmluL3NoCisKK2ZvciBjYXNlIGluIGBmaW5kIHQgLXR5cGUgZiAtbmFtZSAnKi50J2A7IGRvCisgICAgcGVybCAkY2FzZSA+JGNhc2Uub3V0cHV0IDI+JjEKKyAgICByZXQ9JD8KKyAgICBjYXQgJGNhc2Uub3V0cHV0CisgICAgaWYgWyAkcmV0IC1uZSAwIF07IHRoZW4KKyAgICAgICAgZWNobyAiRkFJTDogJHtjYXNlJS50fSIKKyAgICBlbGlmIGdyZXAgLWkgJ1NLSVAnICRjYXNlLm91dHB1dDsgdGhlbgorICAgICAgICBlY2hvICJTS0lQOiAke2Nhc2UlLnR9IgorICAgIGVsc2UKKyAgICAgICAgZWNobyAiUEFTUzogJHtjYXNlJS50fSIKKyAgICBmaQorCisgICAgcm0gLWYgJGNhc2Uub3V0cHV0Citkb25lCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliZGlnZXN0L2xpYmRpZ2VzdC1obWFjLXBlcmxfMS4wMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJkaWdlc3QvbGliZGlnZXN0LWhtYWMtcGVybF8xLjAzLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhmMWM5OGMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliZGlnZXN0L2xpYmRpZ2VzdC1obWFjLXBlcmxfMS4wMy5iYgpAQCAtMCwwICsxLDI1IEBACitTVU1NQVJZID0gIktleWVkLUhhc2hpbmcgZm9yIE1lc3NhZ2UgQXV0aGVudGljYXRpb24iCitERVNDUklQVElPTiA9ICJLZXllZC1IYXNoaW5nIGZvciBNZXNzYWdlIEF1dGhlbnRpY2F0aW9uIgorSE9NRVBBR0UgPSAiaHR0cDovL3NlYXJjaC5jcGFuLm9yZy9+Z2Fhcy9EaWdlc3QtSE1BQy0xLjAzLyIKK1NFQ1RJT04gPSAibGlicyIKKworTElDRU5TRSA9ICJBcnRpc3RpYy0xLjB8R1BMdjErIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUkVBRE1FO2JlZ2lubGluZT0xMztlbmRsaW5lPTE3O21kNT1kYTk4MGNkYzAyNmZhYTA2NWU1ZDUwMDQxMTUzMzRlNiIKKworUkRFUEVORFNfJHtQTn0gPSAibGliZGlnZXN0LXNoYTEtcGVybCBwZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXIgcGVybC1tb2R1bGUtZGlnZXN0LW1kNSIKKworU1JDX1VSSSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL0NQQU4vYXV0aG9ycy9pZC9HL0dBL0dBQVMvRGlnZXN0LUhNQUMtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCisgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gImU2YTVkNmY1NTJkYTE2ZWFjYjUxNTdlYTQzNjlmZjlkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjNiYzcyYzZkM2ZmMTQ0ZDczYWVmYjkwZTlhNzhkMzM2MTJkNThjZjFjZDE2MzFlY2ZiODk4NWJhOTZkYTRhNTkiCisKK1MgPSAiJHtXT1JLRElSfS9EaWdlc3QtSE1BQy0ke1BWfSIKKworaW5oZXJpdCBjcGFuIHB0ZXN0CisKK2RvX2luc3RhbGxfcHRlc3QgKCkgeworICAgIGNwIC1yICR7Qn0vdCAke0R9JHtQVEVTVF9QQVRIfQorfQorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJkaWdlc3QvbGliZGlnZXN0LXNoYTEtcGVybF8yLjEzLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmRpZ2VzdC9saWJkaWdlc3Qtc2hhMS1wZXJsXzIuMTMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDM3MWVhNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJkaWdlc3QvbGliZGlnZXN0LXNoYTEtcGVybF8yLjEzLmJiCkBAIC0wLDAgKzEsMjUgQEAKK1NVTU1BUlkgPSAiUGVybCBpbnRlcmZhY2UgdG8gdGhlIFNIQS0xIGFsZ29yaXRobSAiCitERVNDUklQVElPTiA9ICJEaWdlc3Q6OlNIQTEgLSBQZXJsIGludGVyZmFjZSB0byB0aGUgU0hBLTEgYWxnb3JpdGhtIgorSE9NRVBBR0UgPSAiaHR0cDovL3NlYXJjaC5jcGFuLm9yZy9+Z2Fhcy9EaWdlc3QtU0hBMS0yLjEzLyIKK1NFQ1RJT04gPSAibGlicyIKKworTElDRU5TRSA9ICJBcnRpc3RpYy0xLjB8R1BMdjErIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUkVBRE1FO2JlZ2lubGluZT0xMDtlbmRsaW5lPTE0O21kNT1mZjU4NjdlYmI0YmMxMTAzYTdhNDE2YWVmMmZjZTAwYSIKKworU1JDX1VSSSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL0NQQU4vYXV0aG9ycy9pZC9HL0dBL0dBQVMvRGlnZXN0LVNIQTEtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCisgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gImJkMjIzODhmMjY4NDM0ZjJiMjRmNjRlMjhiZjFhYTM1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjY4YzFkYWMyMTg3NDIxZjBlYjdhYmY3MTQ1MmEwNmYxOTAxODFiOGZjNGIyOGVkZWRmNWI5MDI5NmZiOTQzY2MiCisKK1MgPSAiJHtXT1JLRElSfS9EaWdlc3QtU0hBMS0ke1BWfSIKKworaW5oZXJpdCBjcGFuIHB0ZXN0CisKK2RvX2luc3RhbGxfcHRlc3QgKCkgeworICAgIGNwIC1yICR7Qn0vdCAke0R9JHtQVEVTVF9QQVRIfQorfQorCitCQkNMQVNTRVhURU5EPSJuYXRpdmUiCisKK0ZJTEVTXyR7UE59LWRiZyA9KyAiJHtsaWJkaXJ9L3BlcmwvdmVuZG9yX3BlcmwvKi9hdXRvL0RpZ2VzdC9TSEExLy5kZWJ1Zy8iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliZW5jb2RlL2xpYmVuY29kZS1sb2NhbGUtcGVybF8xLjA1LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmVuY29kZS9saWJlbmNvZGUtbG9jYWxlLXBlcmxfMS4wNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NDhmNzQ2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmVuY29kZS9saWJlbmNvZGUtbG9jYWxlLXBlcmxfMS4wNS5iYgpAQCAtMCwwICsxLDIxIEBACitTVU1NQVJZID0gIkVuY29kZTo6TG9jYWxlIC0gRGV0ZXJtaW5lIHRoZSBsb2NhbGUgZW5jb2RpbmciCitBVVRIT1IgPSAiR2lzbGUgQWFzIDxnaXNsZUBhY3RpdmVzdGF0ZS5jb20+IgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9tZXRhY3Bhbi5vcmcvbW9kdWxlL0VuY29kZTo6TG9jYWxlIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJBcnRpc3RpYy0xLjAgfCBHUEwtMS4wKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1JFQURNRTttZDU9MTRlODAwNmMyMTM0MDQ1NzI1ZmQ4MTI5MmEzMjNkMjQiCisKK1NSQ19VUkkgPSAiJHtDUEFOX01JUlJPUn0vYXV0aG9ycy9pZC9HL0dBL0dBQVMvRW5jb2RlLUxvY2FsZS0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiZmNmZGI4ZTRlZTM0YmNmNjJhZWQ0MjliNGEyM2RiMjciCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMTc2ZmEwMjc3MWY1NDJhNGVmYjFkYmMyYTRjOTI4ZThmNDM5MWJmNDA3ODQ3M2JkNjA0MGQ4ZjExYWRiMGVjMSIKKworUyA9ICIke1dPUktESVJ9L0VuY29kZS1Mb2NhbGUtJHtQVn0iCisKK2luaGVyaXQgY3BhbgorCitSREVQRU5EU18ke1BOfSArPSAibGliZW5jb2RlLXBlcmwgXAorICAgICAgICAgICAgICAgICAgIGxpYmVuY29kZS1hbGlhcy1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1iYXNlIFwKKyIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliZW5jb2RlL2xpYmVuY29kZS1wZXJsXzIuODMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliZW5jb2RlL2xpYmVuY29kZS1wZXJsXzIuODMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWU4YzY3ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJlbmNvZGUvbGliZW5jb2RlLXBlcmxfMi44My5iYgpAQCAtMCwwICsxLDU0IEBACitTVU1NQVJZID0gIkVuY29kZSAtIGNoYXJhY3RlciBlbmNvZGluZ3MiCitERVNDUklQVElPTiA9ICJUaGUgXCJFbmNvZGVcIiBtb2R1bGUgcHJvdmlkZXMgdGhlIGludGVyZmFjZXMgYmV0d2VlbiBcCitQZXJsJ3Mgc3RyaW5ncyBhbmQgdGhlIHJlc3Qgb2YgdGhlIHN5c3RlbS4gIFBlcmwgc3RyaW5ncyBhcmUgc2VxdWVuY2VzIFwKK29mIGNoYXJhY3RlcnMuIgorCitBVVRIT1IgPSAiRGFuIEtvZ2FpIDxkYW5rb2dhaStjcGFuQGdtYWlsLmNvbT4iCitIT01FUEFHRSA9ICJodHRwczovL21ldGFjcGFuLm9yZy9yZWxlYXNlL0VuY29kZSIKK1NFQ1RJT04gPSAibGliIgorTElDRU5TRSA9ICJBcnRpc3RpYy0xLjAgfCBHUEwtMS4wKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL01FVEEuanNvbjttZDU9ZmRiZWJjODJlOTI1ZDhhY2JjZTQyY2ZhZDEzMWM0ZDEiCisKK1NSQ19VUkkgPSAiJHtDUEFOX01JUlJPUn0vYXV0aG9ycy9pZC9EL0RBL0RBTktPR0FJL0VuY29kZS0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiMGQzZjU5ZThlYTcwNDQ5NzY0N2VkZWQ2NjU5MTkwNTMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNWQzYTkwZTMwYWFiZTc4ZGZjZjVlODE2ZmZiMWRhMWUzMzQ3NTg5MmRiZDAwNzUzMjAzMTVjZGNlNTY4Mjk4OCIKKworUyA9ICIke1dPUktESVJ9L0VuY29kZS0ke1BWfSIKKworaW5oZXJpdCBjcGFuCisKK1JERVBFTkRTXyR7UE59ICs9ICIgcGVybC1tb2R1bGUtYnl0ZXMgXAorICAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1jb25zdGFudCBcCisgICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLXhzbG9hZGVyIFwKKyIKKworUlBST1ZJREVTXyR7UE59ICs9ICJsaWJlbmNvZGUtYWxpYXMtcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYmVuY29kZS1ieXRlLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJlbmNvZGUtY2prY29uc3RhbnRzLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJlbmNvZGUtY24tcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYmVuY29kZS1jbi1oei1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGliZW5jb2RlLWNvbmZpZy1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGliZW5jb2RlLWViY2RpYy1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGliZW5jb2RlLWVuY29kZXItcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYmVuY29kZS1lbmNvZGluZy1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGliZW5jb2RlLWdzbTAzMzgtcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYmVuY29kZS1ndWVzcy1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGliZW5jb2RlLWpwLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJlbmNvZGUtanAtaDJ6LXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJlbmNvZGUtanAtamlzNy1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGliZW5jb2RlLWtyLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJlbmNvZGUta3ItMjAyMl9rci1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGliZW5jb2RlLW1pbWUtaGVhZGVyLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJlbmNvZGUtbWltZS1uYW1lLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJlbmNvZGUtc3ltYm9sLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJlbmNvZGUtdHctcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYmVuY29kZS11bmljb2RlLS1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGliZW5jb2RlLXVuaWNvZGUtdXRmNy1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGliZW5jb2RpbmctcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYmVuY29kZS1pbnRlcm5hbC1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGliZW5jb2RlLW1pbWUtaGVhZGVyLWlzb18yMDIyX2pwLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJlbmNvZGUtdXRmOC1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGliZW5jb2RlLXV0Zl9lYmNkaWMtcGVybCBcCisgICAgICAgICAgICAgICAgICAgICIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliZXh0dXRpbHMvbGliZXh0dXRpbHMtY29uZmlnLXBlcmxfMC4wMDguYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliZXh0dXRpbHMvbGliZXh0dXRpbHMtY29uZmlnLXBlcmxfMC4wMDguYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTkzZDM4OAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJleHR1dGlscy9saWJleHR1dGlscy1jb25maWctcGVybF8wLjAwOC5iYgpAQCAtMCwwICsxLDI0IEBACitTVU1NQVJZID0gIkV4dFV0aWxzOjpDb25maWcgLSBBIHdyYXBwZXIgZm9yIHBlcmwncyBjb25maWd1cmF0aW9uIgorREVTQ1JJUFRJT04gPSAiRXh0VXRpbHM6OkNvbmZpZyBpcyBhbiBhYnN0cmFjdGlvbiBhcm91bmQgdGhlICVDb25maWcgaGFzaC4iCitTRUNUSU9OID0gImxpYnMiCisKK0hPTUVQQUdFID0gImh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvfmxlb250L0V4dFV0aWxzLUNvbmZpZy8iCisKK0xJQ0VOU0UgPSAiQXJ0aXN0aWMtMS4wIHwgR1BMLTEuMCsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0xOTMyYWI0ZDhiODRjMjVmZDc5NjdhYTE4MDg4ZTU3ZSIKKworU1JDX1VSSSA9ICIke0NQQU5fTUlSUk9SfS9hdXRob3JzL2lkL0wvTEUvTEVPTlQvRXh0VXRpbHMtQ29uZmlnLSR7UFZ9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI1NjVhN2IwOWM3Y2FjNTkwN2EyNWJiZTJjOTU5YTcxNyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhZTUxMDRmNjM0NjUwZGNlOGE3OWI3ZWQxM2ZiNTlkNjdhMzljMjEzYTY3NzZjZmRhYTNlZTc0OWU2MmYxYThjIgorCitTID0gIiR7V09SS0RJUn0vRXh0VXRpbHMtQ29uZmlnLSR7UFZ9IgorCitpbmhlcml0IGNwYW4KKworUkRFUEVORFNfJHtQTn0gPSAiIHBlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtZGF0YS1kdW1wZXIgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLXRlc3QtbW9yZSBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtZmlsZS10ZW1wIFwKKyIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliZXh0dXRpbHMvbGliZXh0dXRpbHMtY3BwZ3Vlc3MtcGVybF8wLjA5LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmV4dHV0aWxzL2xpYmV4dHV0aWxzLWNwcGd1ZXNzLXBlcmxfMC4wOS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMTNjYjAzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmV4dHV0aWxzL2xpYmV4dHV0aWxzLWNwcGd1ZXNzLXBlcmxfMC4wOS5iYgpAQCAtMCwwICsxLDM3IEBACitTVU1NQVJZID0gIkV4dFV0aWxzOjpDcHBHdWVzcyAtIGd1ZXNzIEMrKyBjb21waWxlciBhbmQgZmxhZ3MiCitERVNDUklQVElPTiA9ICJFeHRVdGlsczo6Q3BwR3Vlc3MgYXR0ZW1wdHMgdG8gZ3Vlc3MgdGhlIHN5c3RlbSdzIEMrKyBcCitjb21waWxlciB0aGF0IGlzIGNvbXBhdGlibGUgd2l0aCB0aGUgQyBjb21waWxlciB0aGF0IHlvdXIgcGVybCB3YXMgYnVpbHQgXAord2l0aC4gXAorSXQgY2FuIGdlbmVyYXRlIHRoZSBuZWNlc3Nhcnkgb3B0aW9ucyB0byB0aGUgTW9kdWxlOjpCdWlsZCBjb25zdHJ1Y3RvciBvciBcCit0byBFeHRVdGlsczo6TWFrZU1ha2VyJ3MgV3JpdGVNYWtlZmlsZSBmdW5jdGlvbi4iCitTRUNUSU9OID0gImxpYnMiCisKK0hPTUVQQUdFID0gImh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvfnNtdWVsbGVyL0V4dFV0aWxzLUNwcEd1ZXNzLyIKKworTElDRU5TRSA9ICJBcnRpc3RpYy0xLjAgfCBHUEwtMS4wKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1JFQURNRTtiZWdpbmxpbmU9ODE7ZW5kbGluZT04NDttZDU9ODRjMDM5MGI5MGVhOGM2NzAyY2U2NTliNjdiZWQ2OTkiCisKK1NSQ19VUkkgPSAiJHtDUEFOX01JUlJPUn0vYXV0aG9ycy9pZC9FL0VUL0VUSi9FeHRVdGlscy1DcHBHdWVzcy0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiZjhhZGEzOGVlNGFkODZhNGYxZTIwZDg1MjVjZTBjOTkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNDg2MjUxOTVhODhjMGYyZGRjMzdiYmQ3YTA2MzQ2YWE2OGZmYjY5NDhiYTc4ZGEzYWVhNDdjMGRiMjU0MGY2NSIKKworUyA9ICIke1dPUktESVJ9L0V4dFV0aWxzLUNwcEd1ZXNzLSR7UFZ9IgorCitpbmhlcml0IGNwYW4KKworZG9faW5zdGFsbCAoKSB7CisgICAgICAgIGNwYW5fZG9faW5zdGFsbAorfQorCitSREVQRU5EU18ke1BOfSA9ICIgbGliY2FwdHVyZS10aW55LXBlcmwgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLXNjYWxhci11dGlsIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1pby1maWxlIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXIgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWZpbGUtc3BlYyBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtZXhwb3J0ZXIgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWNhcnAgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWZpbGUtdGVtcCBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtbGliIFwKKyIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliZXh0dXRpbHMvbGliZXh0dXRpbHMtaGVscGVycy1wZXJsXzAuMDIyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmV4dHV0aWxzL2xpYmV4dHV0aWxzLWhlbHBlcnMtcGVybF8wLjAyMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YTAyMzRlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmV4dHV0aWxzL2xpYmV4dHV0aWxzLWhlbHBlcnMtcGVybF8wLjAyMi5iYgpAQCAtMCwwICsxLDI5IEBACitTVU1NQVJZID0gIkV4dFV0aWxzOjpIZWxwZXJzIC0gVmFyaW91cyBwb3J0YWJpbGl0eSB1dGlsaXRpZXMgZm9yIG1vZHVsZSBidWlsZGVycyIKK0RFU0NSSVBUSU9OID0gIlRoaXMgbW9kdWxlIHByb3ZpZGVzIHZhcmlvdXMgcG9ydGFibGUgaGVscGVyIGZ1bmN0aW9uIGZvciBtb2R1bGUgYnVpbGRpbmcgbW9kdWxlcy4iCitTRUNUSU9OID0gImxpYnMiCisKK0hPTUVQQUdFID0gImh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvfmxlb250L0V4dFV0aWxzLUhlbHBlcnMvIgorCitMSUNFTlNFID0gIkFydGlzdGljLTEuMCB8IEdQTC0xLjArIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MzA3MDU3Y2UyMzI4OTlmNWNhYTg4NTg1NjBjNzI3NGIiCisKK1NSQ19VUkkgPSAiJHtDUEFOX01JUlJPUn0vYXV0aG9ycy9pZC9ML0xFL0xFT05UL0V4dFV0aWxzLUhlbHBlcnMtJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gImNmNGZkNmY4Y2FhNmRhYWMzM2IxMTExYzllOTMxNjJiIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImQzZjhjZjcwMGZiMzQxNGNhMTI2MDA4OTc1NWNiZjY0MDQxNDU1ZTRiNzQ0MTEwNjc3YjFiYTViYjlhM2FhOTUiCisKK1MgPSAiJHtXT1JLRElSfS9FeHRVdGlscy1IZWxwZXJzLSR7UFZ9IgorCitpbmhlcml0IGNwYW4KKworUkRFUEVORFNfJHtQTn0gPSAiIHBlcmwtbW9kdWxlLWZpbGUtY29weSBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1leHBvcnRlciBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtY2FycCBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtdGVzdC1tb3JlIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS10ZXh0LXBhcnNld29yZHMgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWxvYWQgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWZpbGUtdGVtcCBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtZmlsZS1zcGVjLWZ1bmN0aW9ucyBcCisiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmV4dHV0aWxzL2xpYmV4dHV0aWxzLWluc3RhbGxwYXRocy1wZXJsXzAuMDExLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmV4dHV0aWxzL2xpYmV4dHV0aWxzLWluc3RhbGxwYXRocy1wZXJsXzAuMDExLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZlYjQzNGEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliZXh0dXRpbHMvbGliZXh0dXRpbHMtaW5zdGFsbHBhdGhzLXBlcmxfMC4wMTEuYmIKQEAgLTAsMCArMSwyNSBAQAorU1VNTUFSWSA9ICJFeHRVdGlsczo6SW5zdGFsbFBhdGhzIC0gQnVpbGQuUEwgaW5zdGFsbCBwYXRoIGxvZ2ljIG1hZGUgZWFzeSIKK0RFU0NSSVBUSU9OID0gIlRoaXMgbW9kdWxlIHRyaWVzIHRvIG1ha2UgaW5zdGFsbCBwYXRoIHJlc29sdXRpb24gYXMgZWFzeSBcCithcyBwb3NzaWJsZS4iCitTRUNUSU9OID0gImxpYnMiCisKK0hPTUVQQUdFID0gImh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvfmxlb250L0V4dFV0aWxzLUluc3RhbGxQYXRocy8iCisKK0xJQ0VOU0UgPSAiQXJ0aXN0aWMtMS4wIHwgR1BMLTEuMCsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1iNmZhNTRkODczY2U2YmNmNDgwOWVhODhiZGY5Nzc2OSIKKworU1JDX1VSSSA9ICIke0NQQU5fTUlSUk9SfS9hdXRob3JzL2lkL0wvTEUvTEVPTlQvRXh0VXRpbHMtSW5zdGFsbFBhdGhzLSR7UFZ9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI5Yzc1ODk0YzNjOGM4OTlhYjZiZmFmYzVlYWE5Nzk5OSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3NjA5ZmEwNDhjZGNmMTQ1MWNhZDViMWQ3ZDQ5NGYzMGUzZDViYWQwNjcyZDE1NDA0ZjFlYTYwZTFkZjAwNjdjIgorCitTID0gIiR7V09SS0RJUn0vRXh0VXRpbHMtSW5zdGFsbFBhdGhzLSR7UFZ9IgorCitpbmhlcml0IGNwYW4KKworUkRFUEVORFNfJHtQTn0gPSAiIHBlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtZGF0YS1kdW1wZXIgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLXRlc3QtbW9yZSBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtZmlsZS10ZW1wIFwKKyIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliZXh0dXRpbHMvbGliZXh0dXRpbHMtcGFyc2V4cy1wZXJsXzMuMjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliZXh0dXRpbHMvbGliZXh0dXRpbHMtcGFyc2V4cy1wZXJsXzMuMjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTU2NmY3NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJleHR1dGlscy9saWJleHR1dGlscy1wYXJzZXhzLXBlcmxfMy4yNC5iYgpAQCAtMCwwICsxLDQ3IEBACitTVU1NQVJZID0gIkV4dFV0aWxzOjpQYXJzZVhTIC0gY29udmVydHMgUGVybCBYUyBjb2RlIGludG8gQyBjb2RlIgorREVTQ1JJUFRJT04gPSAiXCJFeHRVdGlsczo6UGFyc2VYU1wiIHdpbGwgY29tcGlsZSBYUyBjb2RlIGludG8gQyBjb2RlIGJ5IFwKK2VtYmVkZGluZyB0aGUgY29uc3RydWN0cyBuZWNlc3NhcnkgdG8gbGV0IEMgZnVuY3Rpb25zIG1hbmlwdWxhdGUgUGVybCBcCit2YWx1ZXMgYW5kIGNyZWF0ZXMgdGhlIGdsdWUgbmVjZXNzYXJ5IHRvIGxldCBQZXJsIGFjY2VzcyB0aG9zZSBmdW5jdGlvbnMuIFwKK1RoZSBjb21waWxlciB1c2VzIHR5cGVzbWFwZXMgdG8gZGV0ZXJtaW5lIGhvdyB0byBtYXAgQyBmdW5jdGlvbiBwYXJhbWV0ZXJzIFwKK2FuZCB2YXJpYWJsZXMgdG8gUGVybCB2YWx1ZXMuIgorCitTRUNUSU9OID0gImxpYnMiCisKK0hPTUVQQUdFID0gImh0dHA6Ly9tZXRhcGFuLm9yZy9yZWxlYXNlL0V4dFV0aWxzLVBhcnNlWFMvIgorCitMSUNFTlNFID0gIkFydGlzdGljLTEuMCB8IEdQTC0xLjArIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUkVBRE1FO2JlZ2lubGluZT0xMjE7ZW5kbGluZT0xMzA7bWQ1PTEwZGRiM2E2NzNiNGM3MzIwMjJhYzg5OTk2OGVhOWNjIgorCitTUkNOQU1FID0gIkV4dFV0aWxzLVBhcnNlWFMiCitTUkNfVVJJID0gIiR7Q1BBTl9NSVJST1J9L2F1dGhvcnMvaWQvUy9TTS9TTVVFTExFUi8ke1NSQ05BTUV9LSR7UFZ9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJlNmJlM2YxZDQ5M2UwNGVkODA1NTc2MTA0Y2Y0MzI4YiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzMGI2MGI4MjA4ZmM5Yjc3NDZlZDkzNGI2NzhiYjk2MThhOGYyODk5NGRhZTg3NzQ1NDgzNTNhN2I1NTAzNzFlIgorCitTID0gIiR7V09SS0RJUn0vJHtTUkNOQU1FfS0ke1BWfSIKKworaW5oZXJpdCBjcGFuCisKK1JERVBFTkRTXyR7UE59ID0gIiBwZXJsLW1vZHVsZS1jYXJwIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1jd2QgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWR5bmFsb2FkZXIgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyIFwKKwkJICAgcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1maWxlLXNwZWMgXAorCQkgICBwZXJsLW1vZHVsZS1saWIgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLXN5bWJvbCBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtdGVzdC1tb3JlIFwKKyIKKworUlBST1ZJREVTXyR7UE59ICs9ICIgbGliZXh0dXRpbHMtcGFyc2V4cy1jb25zdGFudHMtcGVybCBcCisgICAgICAgICAgICAgICAgICAgICBsaWJleHR1dGlscy1wYXJzZXhzLWNvdW50bGluZXMtcGVybCBcCisgICAgICAgICAgICAgICAgICAgICBsaWJleHR1dGlscy1wYXJzZXhzLWV2YWwtcGVybCBcCisgICAgICAgICAgICAgICAgICAgICBsaWJleHR1dGlscy1wYXJzZXhzLXV0aWxpdGllcy1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgIGxpYmV4dHV0aWxzLXR5cGVtYXBzLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICAgbGliZXh0dXRpbHMtdHlwZW1hcHMtY21kLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICAgbGliZXh0dXRpbHMtdHlwZW1hcHMtaW5wdXRtYXAtcGVybCBcCisgICAgICAgICAgICAgICAgICAgICBsaWJleHR1dGlscy10eXBlbWFwcy1vdXRwdXRtYXAtcGVybCBcCisgICAgICAgICAgICAgICAgICAgICBsaWJleHR1dGlscy10eXBlbWFwcy10eXBlLXBlcmwgXAorIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJodG1sL2ZpbGVzL2Jpbi1odG1sdHJlZS1maXgtc2hlYmFuZy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJodG1sL2ZpbGVzL2Jpbi1odG1sdHJlZS1maXgtc2hlYmFuZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MjY2ZjA1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmh0bWwvZmlsZXMvYmluLWh0bWx0cmVlLWZpeC1zaGViYW5nLnBhdGNoCkBAIC0wLDAgKzEsMjUgQEAKK0Zyb20gMjhlZTk5NDc4MDQ1OWMzNTUyZDNjYmJkNmIwMTFkMDU0YTQxYzQzOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFN1biwgOCBOb3YgMjAxNSAyMzozMzozMSAtMDUwMAorU3ViamVjdDogW1BBVENIXSBiaW4vaHRtbHRyZWU6IGZpeCBzaGViYW5nCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CistLS0KKyBiaW4vaHRtbHRyZWUgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9iaW4vaHRtbHRyZWUgYi9iaW4vaHRtbHRyZWUKK2luZGV4IDhiZjNkYjIuLmY5OTI3ZTUgMTAwNzU1CistLS0gYS9iaW4vaHRtbHRyZWUKKysrKyBiL2Jpbi9odG1sdHJlZQorQEAgLTEsNCArMSw0IEBACistIyEvdXNyL2Jpbi9wZXJsCisrIyEvdXNyL2Jpbi9lbnYgcGVybAorICMgVGltZS1zdGFtcDogIjIwMDAtMTAtMDIgMTQ6NDg6MTUgTURUIgorICMKKyAjIFBhcnNlIHRoZSBnaXZlbiBIVE1MIGZpbGUocykgYW5kIGR1bXAgdGhlIHBhcnNlIHRyZWUKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmh0bWwvbGliaHRtbC1wYXJzZXItcGVybF8zLjcyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmh0bWwvbGliaHRtbC1wYXJzZXItcGVybF8zLjcyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkwNDdkOWYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliaHRtbC9saWJodG1sLXBhcnNlci1wZXJsXzMuNzIuYmIKQEAgLTAsMCArMSwyNSBAQAorREVTQ1JJUFRJT04gPSAiVGhpcyBwYWNrYWdlIGNvbnRhaW5zIHRoZSBQYXJzZXIucG0gbW9kdWxlIHdpdGggZnJpZW5kcy4iCisKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiQXJ0aXN0aWMtMS4wIHwgR1BMLTEuMCsiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1JFQURNRTttZDU9YjA0NTllNDQyNmI5NDc1M2I5YTliOGExNWYxMjIzYjgiCisKK0RFUEVORFMgKz0gInBlcmwiCisKK1NSQ19VUkkgPSAiaHR0cDovL3NlYXJjaC5jcGFuLm9yZy9DUEFOL2F1dGhvcnMvaWQvRy9HQS9HQUFTL0hUTUwtUGFyc2VyLSR7UFZ9LnRhci5neiIKKworU1JDX1VSSVttZDVzdW1dID0gImViNzUwNWU1ZjYyNjkxMzM1MGRmOWRkNGEwM2Q1NGE4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImVjMjhjN2UxZDllNjdjNDVlY2ExOTcwNzdmN2NkYzQxZWFkMWJiNGM1MzhjN2YwMmEzMjk2YTRiYjkyZjYwOGIiCisKK1MgPSAiJHtXT1JLRElSfS9IVE1MLVBhcnNlci0ke1BWfSIKKworRVhUUkFfQ1BBTkZMQUdTID0gIkVYUEFUTElCUEFUSD0ke1NUQUdJTkdfTElCRElSfSBFWFBBVElOQ1BBVEg9JHtTVEFHSU5HX0lOQ0RJUn0iCisKK2luaGVyaXQgY3BhbgorCitkb19jb21waWxlKCkgeworCWV4cG9ydCBMSUJDPSIkKGZpbmQgJHtTVEFHSU5HX0RJUl9UQVJHRVR9LyR7YmFzZV9saWJkaXJ9LyAtbmFtZSAnbGliYy0qLnNvJykiCisJY3Bhbl9kb19jb21waWxlCit9CitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJodG1sL2xpYmh0bWwtdHJlZS1wZXJsXzUuMDMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliaHRtbC9saWJodG1sLXRyZWUtcGVybF81LjAzLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhlYjBlMDYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliaHRtbC9saWJodG1sLXRyZWUtcGVybF81LjAzLmJiCkBAIC0wLDAgKzEsNDIgQEAKK1NVTU1BUlkgPSAiSFRNTDo6VHJlZUJ1aWxkZXIgLSBQYXJzZXIgdGhhdCBidWlsZHMgYSBIVE1MIHN5bnRheCB0cmVlIgorREVTQ1JJUFRJT04gPSAiVGhpcyBkaXN0cmlidXRpb24gY29udGFpbnMgYSBzdWl0ZSBvZiBtb2R1bGVzIGZvciByZXByZXNlbnRpbmcsIFwKK2NyZWF0aW5nLCBhbmQgZXh0cmFjdGluZyBpbmZvcm1hdGlvbiBmcm9tIEhUTUwgc3ludGF4IHRyZWVzOyB0aGVyZSBpcyBcCithbHNvIHJlbGV2ZW50IGRvY3VtZW50YXRpb24uICBUaGVzZSBtb2R1bGVzIHVzZWQgdG8gYmUgcGFydCBvZiB0aGUgXAorbGlid3d3LXBlcmwgZGlzdHJpYnV0aW9uLCBidXQgYXJlIG5vdyB1bmJ1bmRsZWQgaW4gb3JkZXIgdG8gZmFjaWxpdGF0ZSBcCithIHNlcGFyYXRlIGRldmVsb3BtZW50IHRyYWNrLiIKK1NFQ1RJT04gPSAibGlicyIKKworSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5jcGFuLm9yZy9hdXRob3JzL2lkL0MvQ0ovQ0pNL0hUTUwtVHJlZS0ke1BWfS5yZWFkbWUiCisKK0xJQ0VOU0UgPSAiQXJ0aXN0aWMtMS4wIHwgR1BMLTEuMCsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0zZWI1N2E4OTU4Y2FlNzNjYjY1ZTdkMGMyNjMzOTI0MiIKKworU1JDX1VSSSA9ICIke0NQQU5fTUlSUk9SfS9hdXRob3JzL2lkL0MvQ0ovQ0pNL0hUTUwtVHJlZS0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vYmluLWh0bWx0cmVlLWZpeC1zaGViYW5nLnBhdGNoIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICJkOTI3MWQ2MGI4NzJlZDZmYmU2OGIyZDBmZThjNDUwZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3ZDZkNzNmY2E2MjJhYTc0ODU1YThiMDg4ZmFhMzk0NTRhMGY5MWI3YWY4M2M5ZWMwMzg3ZjAxZWVmYzIxNDhmIgorCitTID0gIiR7V09SS0RJUn0vSFRNTC1UcmVlLSR7UFZ9IgorCitpbmhlcml0IGNwYW5fYnVpbGQKKworREVQRU5EUyArPSAibGlibW9kdWxlLWJ1aWxkLXBlcmwtbmF0aXZlIFwKKyIKKworUlBST1ZJREVTXyR7UE59ID0gIiBsaWJodG1sLWVsZW1lbnQtcGVybCBcCisJCSAgICBsaWJodG1sLXRyZWUtYXNzdWJzLXBlcmwgXAorCQkgICAgbGliaHRtbC10cmVlLXBlcmwgXAorCQkgICAgbGliaHRtbC10cmVlYnVpbGRlci1wZXJsIFwKKyIKKworUkRFUEVORFNfJHtQTn0gPSAiIHBlcmwtbW9kdWxlLWIgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWJhc2UgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLXN0cmljdCBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtd2FybmluZ3MgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWV4cG9ydGVyIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1jYXJwIFwKKyIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJpbXBvcnQvbGliaW1wb3J0LWludG8tcGVybF8xLjAwMjAwNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJpbXBvcnQvbGliaW1wb3J0LWludG8tcGVybF8xLjAwMjAwNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZjA4ZDYzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmltcG9ydC9saWJpbXBvcnQtaW50by1wZXJsXzEuMDAyMDA0LmJiCkBAIC0wLDAgKzEsMzIgQEAKK1NVTU1BUlkgPSAiSW1wb3J0OjpJbnRvIC0gaW1wb3J0IHBhY2thZ2VzIGludG8gb3RoZXIgcGFja2FnZXMiCitERVNDUklQVElPTiA9ICJXcml0aW5nIGV4cG9ydGVycyBpcyBhIHBhaW4uIFNvbWUgdXNlIFwiRXhwb3J0ZXJcIiwgc29tZSB1c2UgXAorXCJTdWI6OkV4cG9ydGVyXCIsIHNvbWUgdXNlIFwiTW9vc2U6OkV4cG9ydGVyXCIsIHNvbWUgdXNlIFwKK1wiRXhwb3J0ZXI6OkRlY2xhcmVcIi4uLiBhbmQgc29tZSB0aGluZ3MgYXJlIHByYWdtYXMuXAorXAorRXhwb3J0aW5nIG9uIHNvbWVvbmUgZWxzZSdzIGJlaGFsZiBpcyBoYXJkZXIuIFRoZSBleHBvcnRlcnMgZG9uJ3QgcHJvdmlkZSBhIFwKK2NvbnNpc3RlbnQgQVBJIGZvciB0aGlzLCBhbmQgcHJhZ21hcyBuZWVkIHRvIGhhdmUgdGhlaXIgaW1wb3J0IG1ldGhvZCBjYWxsZWQgXAorZGlyZWN0bHksIHNpbmNlIHRoZXkgZWZmZWN0IHRoZSBjdXJyZW50IHVuaXQgb2YgY29tcGlsYXRpb24uIFwKK1wKK1wiSW1wb3J0OjpJbnRvXCIgcHJvdmlkZXMgZ2xvYmFsIG1ldGhvZHMgdG8gbWFrZSB0aGlzIHBhaW5sZXNzLiIKKworU0VDVElPTiA9ICJsaWJzIgorCitIT01FUEFHRSA9ICJodHRwczovL21ldGFjcGFuLm9yZy9wb2QvSW1wb3J0LUludG8vIgorCitMSUNFTlNFID0gIkFydGlzdGljLTEuMCB8IEdQTC0xLjArIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUkVBRE1FO2JlZ2lubGluZT0yMDk7ZW5kbGluZT0yMjM7bWQ1PTNjZjM2M2YxZTQwNWRlYTZkYjJjNmNkMGVmMjM2ODBjIgorCitTUkNfVVJJID0gIiR7Q1BBTl9NSVJST1J9L2F1dGhvcnMvaWQvRS9FVC9FVEhFUi9JbXBvcnQtSW50by0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiNzBmMmYzYjA4YTViNzA2ZWUzODJhODQ0OGMzNDZjYjEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZGVjYjI1OWJjMmZmMDE1ZmUzZGFjODVlNGEyODdkNDEyOGU5YjA1MDZhMGIyYzVmYTcyNDQ4MzZhNjhiMTA4NCIKKworUyA9ICIke1dPUktESVJ9L0ltcG9ydC1JbnRvLSR7UFZ9IgorCitpbmhlcml0IGNwYW4KKworUkRFUEVORFNfJHtQTn0gPSAiIGxpYm1vZHVsZS1ydW50aW1lLXBlcmwgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLXN0cmljdCBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtd2FybmluZ3MgXAorIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJpby9maWxlcy9ydW4tcHRlc3QgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliaW8vZmlsZXMvcnVuLXB0ZXN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM5ZjljYTkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliaW8vZmlsZXMvcnVuLXB0ZXN0CkBAIC0wLDAgKzEsMTYgQEAKKyMhL2Jpbi9zaAorCitmb3IgY2FzZSBpbiBgZmluZCB0IC10eXBlIGYgLW5hbWUgJyoudCdgOyBkbworICAgIHBlcmwgJGNhc2UgPiRjYXNlLm91dHB1dCAyPiYxCisgICAgcmV0PSQ/CisgICAgY2F0ICRjYXNlLm91dHB1dAorICAgIGlmIFsgJHJldCAtbmUgMCBdOyB0aGVuCisgICAgICAgIGVjaG8gIkZBSUw6ICR7Y2FzZSUudH0iCisgICAgZWxpZiBncmVwIC1pICdTS0lQJyAkY2FzZS5vdXRwdXQ7IHRoZW4KKyAgICAgICAgZWNobyAiU0tJUDogJHtjYXNlJS50fSIKKyAgICBlbHNlCisgICAgICAgIGVjaG8gIlBBU1M6ICR7Y2FzZSUudH0iCisgICAgZmkKKworICAgIHJtIC1mICRjYXNlLm91dHB1dAorZG9uZQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmlvL2xpYmlvLXNvY2tldC1zc2wtcGVybF8xLjk5Ny5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJpby9saWJpby1zb2NrZXQtc3NsLXBlcmxfMS45OTcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmE1Nzg4YQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJpby9saWJpby1zb2NrZXQtc3NsLXBlcmxfMS45OTcuYmIKQEAgLTAsMCArMSw0MyBAQAorU1VNTUFSWSA9ICJQZXJsIGxpYnJhcnkgZm9yIHRyYW5zcGFyZW50IFNTTCIKK0RFU0NSSVBUSU9OID0gIlRoaXMgbW9kdWxlIGlzIGEgdHJ1ZSBkcm9wLWluIHJlcGxhY2VtZW50IGZvciBJTzo6U29ja2V0OjpJTkVUIHRoYXQgXAordXNlcyBTU0wgdG8gZW5jcnlwdCBkYXRhIGJlZm9yZSBpdCBpcyB0cmFuc2ZlcnJlZCB0byBhIHJlbW90ZSBzZXJ2ZXIgXAorb3IgY2xpZW50LiBJTzo6U29ja2V0OjpTU0wgc3VwcG9ydHMgYWxsIHRoZSBleHRyYSBmZWF0dXJlcyB0aGF0IG9uZSBcCituZWVkcyB0byB3cml0ZSBhIGZ1bGwtZmVhdHVyZWQgU1NMIGNsaWVudCBvciBzZXJ2ZXIgYXBwbGljYXRpb246IFwKK211bHRpcGxlIFNTTCBjb250ZXh0cywgY2lwaGVyIHNlbGVjdGlvbiwgY2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uLCBhbmQgXAorU1NMIHZlcnNpb24gc2VsZWN0aW9uLiBBcyBhbiBleHRyYSBib251cywgaXQgd29ya3MgcGVyZmVjdGx5IHdpdGggXAorbW9kX3BlcmwuIgorSE9NRVBBR0UgPSAiaHR0cDovL3NlYXJjaC5jcGFuLm9yZy9kaXN0L0lPLVNvY2tldC1TU0wvIgorU0VDVElPTiA9ICJsaWJzIgorCitMSUNFTlNFID0gIkFydGlzdGljLTEuMHxHUEx2MSsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9NRVRBLnltbDtiZWdpbmxpbmU9MTE7ZW5kbGluZT0xMTttZDU9OTYzY2UyODIyODM0Nzg3NWFjZTY4MmRlNTZlZWY4ZTgiCisKK1JERVBFTkRTXyR7UE59ICs9ICJwZXJsLW1vZHVsZS1zY2FsYXItdXRpbCBsaWJuZXQtc3NsZWF5LXBlcmwiCisKK1NSQ19VUkkgPSAiaHR0cDovL3NlYXJjaC5jcGFuLm9yZy9DUEFOL2F1dGhvcnMvaWQvUy9TVS9TVUxMUi9JTy1Tb2NrZXQtU1NMLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAorICAgICAgICAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICIyYTYyNjhiYjQyZGE4MWU2OWQxYzFmZWIyZmNiMGVlYSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhY2RiNjdiNWI2M2FlYTViN2U3MGMzZTRjNzBhMTYxMjg4MTAzMjk1OTJiNjM3NTNhMzhjNzk0YWZmNzZhMWRkIgorCitTID0gIiR7V09SS0RJUn0vSU8tU29ja2V0LVNTTC0ke1BWfSIKKworaW5oZXJpdCBjcGFuIHB0ZXN0CisKK2RvX2luc3RhbGxfYXBwZW5kICgpIHsKKyAgICBta2RpciAtcCAke0R9JHtkb2NkaXJ9LyR7UE59LworICAgIGNwICR7U30vQlVHUyAke0R9JHtkb2NkaXJ9LyR7UE59LworICAgIGNwICR7U30vQ2hhbmdlcyAke0R9JHtkb2NkaXJ9LyR7UE59LworICAgIGNwICR7U30vUkVBRE1FICR7RH0ke2RvY2Rpcn0vJHtQTn0vCisgICAgY3AgLXBSUCAke1N9L2RvY3MgJHtEfSR7ZG9jZGlyfS8ke1BOfS8KKyAgICBjcCAtcFJQICR7U30vY2VydHMgJHtEfSR7ZG9jZGlyfS8ke1BOfS8KKyAgICBjcCAtcFJQICR7U30vZXhhbXBsZSAke0R9JHtkb2NkaXJ9LyR7UE59LworICAgIGNwIC1wUlAgJHtTfS91dGlsICR7RH0ke2RvY2Rpcn0vJHtQTn0vCit9CisKK2RvX2luc3RhbGxfcHRlc3QgKCkgeworICAgIGNwIC1yICR7Qn0vdCAke0R9JHtQVEVTVF9QQVRIfQorICAgIGNwIC1yICR7Qn0vY2VydHMgJHtEfSR7UFRFU1RfUEFUSH0KK30KKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliaW8vbGliaW8tc3RyaW5neS1wZXJsXzIuMTExLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmlvL2xpYmlvLXN0cmluZ3ktcGVybF8yLjExMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iODkwYTNlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmlvL2xpYmlvLXN0cmluZ3ktcGVybF8yLjExMS5iYgpAQCAtMCwwICsxLDMxIEBACitTVU1NQVJZID0gIklPLXN0cmluZ3kgLSBJL08gb24gaW4tY29yZSBvYmplY3RzIGxpa2Ugc3RyaW5ncyBhbmQgYXJyYXlzIgorREVTQ1JJUFRJT04gPSAiVGhpcyB0b29sa2l0IHByaW1hcmlseSBwcm92aWRlcyBtb2R1bGVzIGZvciBwZXJmb3JtaW5nIGJvdGggXAordHJhZGl0aW9uYWwgYW5kIG9iamVjdC1vcmllbnRlZCBpL28gb24gdGhpbmdzICpvdGhlciogdGhhbiBub3JtYWwgXAorZmlsZWhhbmRsZXM7IGluIHBhcnRpY3VsYXIsIElPOjpTY2FsYXIsIElPOjpTY2FsYXJBcnJheSwgYW5kIElPOjpMaW5lcy4iCisKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuemVlZ2VlLmNvbS9wcm9kdWN0cy9JTy1zdHJpbmd5LyIKK1NFQ1RJT04gPSAiZGV2ZWwiCitMSUNFTlNFID0gIkFydGlzdGljLTEuMCB8IEdQTC0xLjArIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MDE0MDZlNGZmMmU2MGQ4OGQ0MmVmMWNhZWJkZDAwMTEiCisKKworU1JDX1VSSSA9ICIke0NQQU5fTUlSUk9SfS9hdXRob3JzL2lkL0QvRFMvRFNLT0xML0lPLXN0cmluZ3ktJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gImU5MWFjZjBhODAwYjE5MGQxMzU4NWE0N2RlNzc1YmRkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjhjNjdmZDY2MDhjM2M0ZTc0ZjczMjRmMTQwNGE4NTZjMzMxZGJmNDhkOWRlZGE2YWFhODI5NmVhNDFiZjE5OWQiCisKK1MgPSAiJHtXT1JLRElSfS9JTy1zdHJpbmd5LSR7UFZ9IgorCitpbmhlcml0IGNwYW4KKworUlBST1ZJREVTXyR7UE59ICs9ICIgbGliaW8tYXRvbWljZmlsZS1wZXJsIFwKKwkJICAgICBsaWJpby1pbm5lcmZpbGUtcGVybCBcCisgICAgICAgICAgICAgICAgICAgICBsaWJpby1saW5lcy1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgIGxpYmlvLXNjYWxhci1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgIGxpYmlvLXNjYWxhcmFycmF5LXBlcmwgXAorICAgICAgICAgICAgICAgICAgICAgbGliaW8td3JhcC1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgIGxpYmlvLXdyYXB0aWUtcGVybCBcCisJCSAgICAgbGliaW8td3JhcHRpZS1tYXN0ZXItcGVybCBcCisJCSAgICAgbGliaW8td3JhcHRpZS1zbGF2ZS1wZXJsIFwKKyIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliaXBjL2xpYmlwYy1zaWduYWwtcGVybF8xLjAwLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmlwYy9saWJpcGMtc2lnbmFsLXBlcmxfMS4wMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNTE4MTY0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmlwYy9saWJpcGMtc2lnbmFsLXBlcmxfMS4wMC5iYgpAQCAtMCwwICsxLDE4IEBACitTVU1NQVJZID0gIklQQzo6U2lnbmFsIC0gVXRpbGl0eSBmdW5jdGlvbnMgZGVhbGluZyB3aXRoIHNpZ25hbHMiCitERVNDUklQVElPTiA9ICJJUEM6OlNpZ25hbCAtIFRoaXMgbW9kdWxlIGNvbnRhaW5zIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBcCitkZWFsaW5nIHdpdGggc2lnbmFscy4iCisKK0hPTUVQQUdFID0gImh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvfnJvc2NoL0lQQy1TaWduYWwtMS4wMC8iCitTRUNUSU9OID0gImxpYnMiCisKK0xJQ0VOU0UgPSAiQXJ0aXN0aWMtMS4wfEdQTHYxKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1JFQURNRTtiZWdpbmxpbmU9MTY7ZW5kbGluZT0xODttZDU9ZjM2NTUwZjU5YTBhZTVlNmUzYjBiZTZhNGRhNjBkMjYiCisKK1MgPSAiJHtXT1JLRElSfS9JUEMtU2lnbmFsLSR7UFZ9IgorCitTUkNfVVJJID0gImh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvQ1BBTi9hdXRob3JzL2lkL1IvUk8vUk9TQ0gvSVBDLVNpZ25hbC0ke1BWfS50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0Y2ViZjE3ZmRmMTc4NWVhZjhjMTUxYmYyZThjMzYwYSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3YzIxZjljOGMyZDBjMGYwZjBmNDZlNzdkZTdjM2Q4NzlkZDU2MjY2OGRkZjA1MjU4NzVjMzhjZWYyMDc2ZmQwIgorCitpbmhlcml0IGNwYW4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJtaW1lL2ZpbGVzL3J1bi1wdGVzdCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJtaW1lL2ZpbGVzL3J1bi1wdGVzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOWY5Y2E5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYm1pbWUvZmlsZXMvcnVuLXB0ZXN0CkBAIC0wLDAgKzEsMTYgQEAKKyMhL2Jpbi9zaAorCitmb3IgY2FzZSBpbiBgZmluZCB0IC10eXBlIGYgLW5hbWUgJyoudCdgOyBkbworICAgIHBlcmwgJGNhc2UgPiRjYXNlLm91dHB1dCAyPiYxCisgICAgcmV0PSQ/CisgICAgY2F0ICRjYXNlLm91dHB1dAorICAgIGlmIFsgJHJldCAtbmUgMCBdOyB0aGVuCisgICAgICAgIGVjaG8gIkZBSUw6ICR7Y2FzZSUudH0iCisgICAgZWxpZiBncmVwIC1pICdTS0lQJyAkY2FzZS5vdXRwdXQ7IHRoZW4KKyAgICAgICAgZWNobyAiU0tJUDogJHtjYXNlJS50fSIKKyAgICBlbHNlCisgICAgICAgIGVjaG8gIlBBU1M6ICR7Y2FzZSUudH0iCisgICAgZmkKKworICAgIHJtIC1mICRjYXNlLm91dHB1dAorZG9uZQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYm1pbWUvbGlibWltZS10eXBlcy1wZXJsXzIuMDQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlibWltZS9saWJtaW1lLXR5cGVzLXBlcmxfMi4wNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZjUzMDI5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYm1pbWUvbGlibWltZS10eXBlcy1wZXJsXzIuMDQuYmIKQEAgLTAsMCArMSwyNiBAQAorU1VNTUFSWSA9ICJNSU1FOjpUeXBlcyAtIERlZmluaXRpb24gb2YgTUlNRSB0eXBlcyIKK0RFU0NSSVBUSU9OID0gIk1JTUUgdHlwZXMgYXJlIHVzZWQgaW4gTUlNRSBjb21wbGlhbnQgbGluZXMsIGZvciBpbnN0YW5jZSBcCithcyBwYXJ0IG9mIGUtbWFpbCBhbmQgSFRUUCB0cmFmZmljLCB0byBpbmRpY2F0ZSB0aGUgdHlwZSBvZiBjb250ZW50IHdoaWNoIFwKK2lzIHRyYW5zbWl0dGVkLiBTb21ldGltZXMgcmVhbCBrbm93bGVkZ2UgYWJvdXQgYSBtaW1lLXR5cGUgaXMgbmVlZC5cCitcblwKK1RoaXMgbW9kdWxlIG1haW50YWlucyBhIHNldCBvZiBNSU1FOjpUeXBlIG9iamVjdHMsIHdoaWNoIGVhY2ggZGVzY3JpYmUgXAorb25lIGtub3duIG1pbWUgdHlwZS4iCitIT01FUEFHRSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL35tYXJrb3YvTUlNRS1UeXBlcy0ke1BWfSIKK1NFQ1RJT04gPSAibGlicmFyaWVzIgorCitMSUNFTlNFID0gIkFydGlzdGljLTEuMHxHUEx2MSsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9NRVRBLnltbDtiZWdpbmxpbmU9MTE7ZW5kbGluZT0xMTttZDU9OTYzY2UyODIyODM0Nzg3NWFjZTY4MmRlNTZlZWY4ZTgiCisKK1NSQ19VUkkgPSAiaHR0cDovL3NlYXJjaC5jcGFuLm9yZy9DUEFOL2F1dGhvcnMvaWQvTS9NQS9NQVJLT1YvTUlNRS1UeXBlcy0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKKyAgICAgICAgICAiCitTUkNfVVJJW21kNXN1bV0gPSAiZTI5MmJiZjc3NTZiYjQ5OTk0MDdmM2Y2NjA2OTcxNjgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMjJiNjA2OWQzNzJkNTg3YjFmMmVjYzZkMGFhZjUwZmI1YzY0OTIwY2FlZDhjMjE0Yjk4ODRlNjQ1MzhhY2M4ZiIKKworUyA9ICIke1dPUktESVJ9L01JTUUtVHlwZXMtJHtQVn0iCisKK2luaGVyaXQgY3BhbiBwdGVzdAorCitkb19pbnN0YWxsX3B0ZXN0ICgpIHsKKyAgICBjcCAtciAke0J9L3QgJHtEfSR7UFRFU1RfUEFUSH0KK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJtb2R1bGUvbGlibW9kdWxlLWJ1aWxkLXBlcmxfMC4zMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJtb2R1bGUvbGlibW9kdWxlLWJ1aWxkLXBlcmxfMC4zMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMGZhMDZkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYm1vZHVsZS9saWJtb2R1bGUtYnVpbGQtcGVybF8wLjMxLmJiCkBAIC0wLDAgKzEsMjcgQEAKK1NVTU1BUlkgPSAiTW9kdWxlOjpCdWlsZDo6VGlueSAtIEEgdGlueSByZXBsYWNlbWVudCBmb3IgTW9kdWxlOjpCdWlsZCIKK0RFU0NSSVBUSU9OID0gIk1hbnkgUGVybCBkaXN0cmlidXRpb25zIHVzZSBhIEJ1aWxkLlBMIGZpbGUgaW5zdGVhZCBvZiBhIFwKK01ha2VmaWxlLlBMIGZpbGUgdG8gZHJpdmUgZGlzdHJpYnV0aW9uIGNvbmZpZ3VyYXRpb24sIGJ1aWxkLCB0ZXN0IGFuZCBcCitpbnN0YWxsYXRpb24uIFRyYWRpdGlvbmFsbHksIEJ1aWxkLlBMIHVzZXMgTW9kdWxlOjpCdWlsZCBhcyB0aGUgdW5kZXJseWluZyBcCitidWlsZCBzeXN0ZW0uIFRoaXMgbW9kdWxlIHByb3ZpZGVzIGEgc2ltcGxlLCBsaWdodHdlaWdodCwgZHJvcC1pbiByZXBsYWNlbWVudC4gXAorV2hlcmVhcyBNb2R1bGU6OkJ1aWxkIGhhcyBvdmVyIDYsNzAwIGxpbmVzIG9mIGNvZGU7IHRoaXMgbW9kdWxlIGhhcyBsZXNzIHRoYW4gXAorMTIwLCB5ZXQgc3VwcG9ydHMgdGhlIGZlYXR1cmVzIG5lZWRlZCBieSBtb3N0IGRpc3RyaWJ1dGlvbnMuIgorU0VDVElPTiA9ICJsaWJzIgorCitIT01FUEFHRSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL35rd2lsbGlhbXMvTW9kdWxlLUJ1aWxkLTAuMzEvIgorCitMSUNFTlNFID0gIkFydGlzdGljLTEuMCB8IEdQTC0xLjArIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9NDMzMzlkOGY5ZDNhOTU2ZWU5ZWNlYjA3NzE3ZWU5NWUiCisKK1NSQ19VUkkgPSAiJHtDUEFOX01JUlJPUn0vYXV0aG9ycy9pZC9LL0tXL0tXSUxMSUFNUy9Nb2R1bGUtQnVpbGQtJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjNkNGZkZmZlNThmNjIzNjI1Mzc2N2U1YTcxZWRmMjliIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImUyZjcyM2JlOGQ2YzcwYjRkZGJjYTNiNWUzMmU1MmU2ZTk4ZWFlOGY0M2UzNGQ3ZWRlODdlZmNiMTc5NmJiYjUiCisKK1MgPSAiJHtXT1JLRElSfS9Nb2R1bGUtQnVpbGQtJHtQVn0iCisKK2luaGVyaXQgY3Bhbl9idWlsZAorCitkb19pbnN0YWxsICgpIHsKKyAgICAgICAgY3Bhbl9idWlsZF9kb19pbnN0YWxsCit9CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYm1vZHVsZS9saWJtb2R1bGUtYnVpbGQtdGlueS1wZXJsXzAuMDM2LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYm1vZHVsZS9saWJtb2R1bGUtYnVpbGQtdGlueS1wZXJsXzAuMDM2LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc2MWYxN2MKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlibW9kdWxlL2xpYm1vZHVsZS1idWlsZC10aW55LXBlcmxfMC4wMzYuYmIKQEAgLTAsMCArMSw1NCBAQAorU1VNTUFSWSA9ICJNb2R1bGU6OkJ1aWxkOjpUaW55IC0gQSB0aW55IHJlcGxhY2VtZW50IGZvciBNb2R1bGU6OkJ1aWxkIgorREVTQ1JJUFRJT04gPSAiTWFueSBQZXJsIGRpc3RyaWJ1dGlvbnMgdXNlIGEgQnVpbGQuUEwgZmlsZSBpbnN0ZWFkIG9mIGEgXAorTWFrZWZpbGUuUEwgZmlsZSB0byBkcml2ZSBkaXN0cmlidXRpb24gY29uZmlndXJhdGlvbiwgYnVpbGQsIHRlc3QgYW5kIFwKK2luc3RhbGxhdGlvbi4gVHJhZGl0aW9uYWxseSwgQnVpbGQuUEwgdXNlcyBNb2R1bGU6OkJ1aWxkIGFzIHRoZSB1bmRlcmx5aW5nIFwKK2J1aWxkIHN5c3RlbS4gVGhpcyBtb2R1bGUgcHJvdmlkZXMgYSBzaW1wbGUsIGxpZ2h0d2VpZ2h0LCBkcm9wLWluIHJlcGxhY2VtZW50LiBcCitXaGVyZWFzIE1vZHVsZTo6QnVpbGQgaGFzIG92ZXIgNiw3MDAgbGluZXMgb2YgY29kZTsgdGhpcyBtb2R1bGUgaGFzIGxlc3MgdGhhbiBcCisxMjAsIHlldCBzdXBwb3J0cyB0aGUgZmVhdHVyZXMgbmVlZGVkIGJ5IG1vc3QgZGlzdHJpYnV0aW9ucy4iCitTRUNUSU9OID0gImxpYnMiCisKK0hPTUVQQUdFID0gImh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvfmxlb250L01vZHVsZS1CdWlsZC1UaW55LyIKKworTElDRU5TRSA9ICJBcnRpc3RpYy0xLjAgfCBHUEwtMS4wKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWFhY2E2MTQxMjk2MmNmOTcyYWVjMGNkYWQ5OWQwYTg0IgorCitERVBFTkRTID0gImxpYmV4dHV0aWxzLWNvbmZpZy1wZXJsLW5hdGl2ZSBsaWJleHR1dGlscy1oZWxwZXJzLXBlcmwtbmF0aXZlIGxpYmV4dHV0aWxzLWluc3RhbGxwYXRocy1wZXJsLW5hdGl2ZSIKKworU1JDX1VSSSA9ICIke0NQQU5fTUlSUk9SfS9hdXRob3JzL2lkL0wvTEUvTEVPTlQvTW9kdWxlLUJ1aWxkLVRpbnktJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gImJmYzkyYzY1NTE1OGNlNjIzZjBjZWQ5NGY0ZWYwMmU1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImQ2NzA2YmYzNWUwODBlNWFmMjBjY2NmNGZkNTY1Y2M4YWY5YzJhMWUyZTIwNzVjZWUwYTdkZTQyY2YwZDZkZjkiCisKK1MgPSAiJHtXT1JLRElSfS9Nb2R1bGUtQnVpbGQtVGlueS0ke1BWfSIKKworaW5oZXJpdCBjcGFuX2J1aWxkCisKK2RvX2luc3RhbGwgKCkgeworICAgICAgICBjcGFuX2J1aWxkX2RvX2luc3RhbGwKK30KKworUkRFUEVORFNfJHtQTn0gPSAiIGxpYmV4dHV0aWxzLWNvbmZpZy1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICBsaWJleHR1dGlscy1oZWxwZXJzLXBlcmwgXAorICAgICAgICAgICAgICAgICAgIGxpYmV4dHV0aWxzLWluc3RhbGxwYXRocy1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS14c2xvYWRlciBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtZmlsZS1zcGVjIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1pby1oYW5kbGUgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLXRhcC1oYXJuZXNzLWVudiBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtaXBjLW9wZW4zIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1maWxlLXBhdGggXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWNwYW4gXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1nZXRvcHQtbG9uZyBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1leHBvcnRlciBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtY2FycCBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtdGVzdC1tb3JlIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS10ZXh0LXBhcnNld29yZHMgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWxvYWQgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWZpbGUtdGVtcCBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtZGF0YS1kdW1wZXIgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWV4dHV0aWxzLXBhcnNleHMgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLXBvZC1tYW4gXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWpzb24tcHAgXAorIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJtb2R1bGUvbGlibW9kdWxlLXBsdWdnYWJsZS1wZXJsXzUuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJtb2R1bGUvbGlibW9kdWxlLXBsdWdnYWJsZS1wZXJsXzUuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NmNhYzUwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYm1vZHVsZS9saWJtb2R1bGUtcGx1Z2dhYmxlLXBlcmxfNS4yLmJiCkBAIC0wLDAgKzEsMzkgQEAKK1NVTU1BUlkgPSAiQXV0b21hdGljYWxseSBnaXZlIHlvdXIgbW9kdWxlIHRoZSBhYmlsaXR5IHRvIGhhdmUgcGx1Z2lucyIKK0RFU0NSSVBUSU9OID0gIlByb3ZpZGVzIGEgc2ltcGxlIGJ1dCwgaG9wZWZ1bGx5LCBleHRlbnNpYmxlIHdheSBvZiBcCitoYXZpbmcgJ3BsdWdpbnMnIGZvciB5b3VyIG1vZHVsZS4gT2J2aW91c2x5IHRoaXMgaXNuJ3QgZ29pbmcgdG8gYmUgdGhlIFwKK2JlIGFsbCBhbmQgZW5kIGFsbCBvZiBzb2x1dGlvbnMgYnV0IGl0IHdvcmtzIGZvciBtZS5cCitcCitFc3NlbnRpYWxseSBhbGwgaXQgZG9lcyBpcyBleHBvcnQgYSBtZXRob2QgaW50byB5b3VyIG5hbWVzcGFjZSB0aGF0IFwKK2xvb2tzIHRocm91Z2ggYSBzZWFyY2ggcGF0aCBmb3IgLnBtIGZpbGVzIGFuZCB0dXJuIHRob3NlIGludG8gY2xhc3MgXAorbmFtZXMuXAorXAorT3B0aW9uYWxseSBpdCBpbnN0YW50aWF0ZXMgdGhvc2UgY2xhc3NlcyBmb3IgeW91LiIKK1NFQ1RJT04gPSAibGlicyIKKworQVVUSE9SID0gIlNpbW9uIFdpc3RvdyA8c2ltb25AdGhlZ2VzdGFsdC5vcmc+IgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL3NpbW9ud2lzdG93L01vZHVsZS1QbHVnZ2FibGUiCisKK0xJQ0VOU0UgPSAiQXJ0aXN0aWMtMS4wIHwgR1BMLTEuMCsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9SRUFETUU7YmVnaW5saW5lPTMyMjtlbmRsaW5lPTMyNTttZDU9MDg2NDUwY2UwMTBmNmZkYTI1ZGIwYjM4ZmNjNDEwODYiCisKK1NSQ05BTUUgPSAiTW9kdWxlLVBsdWdnYWJsZSIKK1NSQ19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL21vdG8tdGltby8ke1NSQ05BTUV9L2FyY2hpdmUvJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gImUzMjQ3NWQ2ZmY1ODQzZjczOGNlZGFjZDNiN2EyY2RiIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjU4YzYyMjkyZWVhNmQwNjk1OWViYTFiOTc1OTg2NTA4MTMyMTEyNjU0MDMyNDJkNTdlZmIyZjYwNWM5NjA1OWYiCisKK1MgPSAiJHtXT1JLRElSfS8ke1NSQ05BTUV9LSR7UFZ9IgorCitpbmhlcml0IGNwYW4KKworUkRFUEVORFNfJHtQTn0gPSAiIHBlcmwtbW9kdWxlLWJhc2UgXAorCQkgICBwZXJsLW1vZHVsZS1kZXByZWNhdGUgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUgXAorCQkgICBwZXJsLW1vZHVsZS1maWxlLWZpbmQgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWZpbGUtc3BlYyBcCisJCSAgIHBlcmwtbW9kdWxlLWZpbGUtc3BlYy1mdW5jdGlvbnMgXAorCQkgICBwZXJsLW1vZHVsZS1pZiBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtdGVzdC1tb3JlIFwKKyIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJtb2R1bGUvbGlibW9kdWxlLXJ1bnRpbWUtcGVybF8wLjAxNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJtb2R1bGUvbGlibW9kdWxlLXJ1bnRpbWUtcGVybF8wLjAxNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iOTI4NDJjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYm1vZHVsZS9saWJtb2R1bGUtcnVudGltZS1wZXJsXzAuMDE1LmJiCkBAIC0wLDAgKzEsMzUgQEAKK1NVTU1BUlkgPSAiTW9kdWxlOjpSdW50aW1lIC0gcnVudGltZSBtb2R1bGUgaGFuZGxpbmciCitERVNDUklQVElPTiA9ICJUaGUgZnVuY3Rpb25zIGV4cG9ydGVkIGJ5IHRoaXMgbW9kdWxlIGRlYWwgd2l0aCBydW50aW1lIFwKK2hhbmRsaW5nIG9mIFBlcmwgbW9kdWxlcywgd2hpY2ggYXJlIG5vcm1hbGx5IGhhbmRsZWQgYXQgY29tcGlsZSB0aW1lLiBUaGlzIFwKK21vZHVsZSBhdm9pZHMgdXNpbmcgYW55IG90aGVyIG1vZHVsZXMsIHNvIHRoYXQgaXQgY2FuIGJlIHVzZWQgaW4gbG93LWxldmVsIFwKK2luZnJhc3RydWN0dXJlLiBcCitUaGUgcGFydHMgb2YgdGhpcyBtb2R1bGUgdGhhdCB3b3JrIHdpdGggbW9kdWxlIG5hbWVzIGFwcGx5IHRoZSBzYW1lIHN5bnRheCBcCit0aGF0IGlzIHVzZWQgZm9yIGJhcmV3b3JkcyBpbiBQZXJsIHNvdXJjZS4gSW4gcHJpbmNpcGxlIHRoaXMgc3ludGF4IGNhbiB2YXJ5IFwKK2JldHdlZW4gdmVyc2lvbnMgb2YgUGVybCwgYW5kIHRoaXMgbW9kdWxlIGFwcGxpZXMgdGhlIHN5bnRheCBvZiB0aGUgUGVybCBvbiBcCit3aGljaCBpdCBpcyBydW5uaW5nLiBJbiBwcmFjdGljZSB0aGUgdXNhYmxlIHN5bnRheCBoYXNuJ3QgY2hhbmdlZCB5ZXQsIGJ1dCBcCit0aGVyZSdzIGEgZ29vZCBjaGFuY2Ugb2YgaXQgY2hhbmdpbmcgaW4gUGVybCA1LjE4LiBcCitUaGUgZnVuY3Rpb25zIG9mIHRoaXMgbW9kdWxlIHdob3NlIHB1cnBvc2UgaXMgdG8gbG9hZCBtb2R1bGVzIGluY2x1ZGUgXAord29ya2Fyb3VuZHMgZm9yIHRocmVlIG9sZCBQZXJsIGNvcmUgYnVncyByZWdhcmRpbmcgcmVxdWlyZS4gVGhlc2Ugd29ya2Fyb3VuZHMgXAorYXJlIGFwcGxpZWQgb24gYW55IFBlcmwgdmVyc2lvbiB3aGVyZSB0aGUgYnVncyBleGlzdCwgZXhjZXB0IGZvciBhIGNhc2Ugd2hlcmUgXAorb25lIG9mIHRoZSBidWdzIGNhbm5vdCBiZSBhZGVxdWF0ZWx5IHdvcmtlZCBhcm91bmQgaW4gcHVyZSBQZXJsLiIKK1NFQ1RJT04gPSAibGlicyIKKworSE9NRVBBR0UgPSAiaHR0cDovL3NlYXJjaC5jcGFuLm9yZy9+emVmcmFtL01vZHVsZS1SdW50aW1lLyIKKworTElDRU5TRSA9ICJBcnRpc3RpYy0xLjAgfCBHUEwtMS4wKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1JFQURNRTtiZWdpbmxpbmU9NDU7ZW5kbGluZT00NjttZDU9NjJlMjRhOTMzNDJmZWRlNzIyMWQ2NjMzNWM3MTZmMzQiCisKK1NSQ05BTUUgPSAibW9kdWxlLXJ1bnRpbWUiCitTUkNfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9tb3RvLXRpbW8vJHtTUkNOQU1FfS9hcmNoaXZlLyR7UFZ9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJhZDZjYTE3OWM5NzhhYTAyYWM4YWEyOTI0NGVmOWJlYiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1OWVmZmE4MmIzZjY5ODZkMjhkZTYxNTRhOGYyNDI4MTU3NjkxMDA0ZDk1MWY5MzZhODFlODUxZjRkYmNiMDQ1IgorCitTID0gIiR7V09SS0RJUn0vJHtTUkNOQU1FfS0ke1BWfSIKKworaW5oZXJpdCBjcGFuCisKK1JERVBFTkRTXyR7UE59ID0gIiBwZXJsLW1vZHVsZS10ZXN0LW1vcmUgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLXN0cmljdCBcCisiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYm1vby9saWJtb28tcGVybF8yLjAwMDAwMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJtb28vbGlibW9vLXBlcmxfMi4wMDAwMDIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmUxMTlmYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJtb28vbGlibW9vLXBlcmxfMi4wMDAwMDIuYmIKQEAgLTAsMCArMSw0NCBAQAorU1VNTUFSWSA9ICJNb28gLSBNaW5pbWFsaXN0IE9iamVjdCBPcmllbnRhdGlvbiAod2l0aCBNb29zZSBjb21wYXRpYmlsaXR5KSIKK0RFU0NSSVBUSU9OID0gIlRoaXMgbW9kdWxlIHVzIGFuIGV4dHJlbWVseSBsaWdodC13ZWlnaHQgc3Vic2V0IG9mIFwiTW9vc2VcIiBcCitvcHRpbWlzZWQgZm9yIHJhcGlkIHN0YXJ0dXAgYW5kIFwicGF5IG9ubHkgZm9yIHdoYXQgeW91IHVzZVwiLiIKKworU0VDVElPTiA9ICJsaWJzIgorCitIT01FUEFHRSA9ICJodHRwOi8vbWV0YXBhbi5vcmcvcmVsZWFzZS9Nb28vIgorCitMSUNFTlNFID0gIkFydGlzdGljLTEuMCB8IEdQTC0xLjArIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUkVBRE1FO2JlZ2lubGluZT02ODg7ZW5kbGluZT03MzM7bWQ1PTI3ZWZlZGQxNzVlZWFkZGJkMThmNGUzNTcyYmQ3MmE4IgorCitTUkNfVVJJID0gIiR7Q1BBTl9NSVJST1J9L2F1dGhvcnMvaWQvSC9IQS9IQUFSRy9Nb28tJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjhiODRhNzI4OWZjNjI0N2RlNWVjNWQxNTExMDVmZDZiIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImZiNGJmYTc1MWYwZGQwNmJkNzBmMmUwNmU4MTFmODVhNjQwNTAxZjI2M2MyMjhhOGVmYWZiZjZiMjY2OTFmZDQiCisKK1MgPSAiJHtXT1JLRElSfS9Nb28tJHtQVn0iCisKK2luaGVyaXQgY3BhbgorCitSREVQRU5EU18ke1BOfSA9ICIgbGliY2xhc3MtbWV0aG9kLW1vZGlmaWVycy1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICBsaWJkZXZlbC1nbG9iYWxkZXN0cnVjdGlvbi1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICBsaWJtb2R1bGUtcnVudGltZS1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICBsaWJyb2xlLXRpbnktcGVybCBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtY29uc3RhbnQgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWV4cG9ydGVyIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1tcm8gXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLXNjYWxhci11dGlsIFwKKyIKKworUlBST1ZJREVTXyR7UE59ID0gIiBsaWJtZXRob2QtaW5saW5lci1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGlibWV0aG9kLWdlbmVyYXRlLWFjY2Vzc29yLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJtZXRob2QtZ2VuZXJhdGUtYnVpbGRhbGwtcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYm1ldGhvZC1nZW5lcmF0ZS1jb25zdHJ1Y3Rvci1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGlibWV0aG9kLWdlbmVyYXRlLWRlbW9saXNoYWxsLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJtb28tcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYm1vby1oYW5kbGVtb29zZS1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGlibW9vLWhhbmRsZW1vb3NlLWZha2VtZXRhY2xhc3MtcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYm1vby1vYmplY3QtcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYm1vby1yb2xlLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJzdWItZGVmZXItcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYnN1Yi1xdW90ZS1wZXJsIFwKKyIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlibmV0L2ZpbGVzLzAwMDEtbGlibmV0LXNzbGVheS1wZXJsLURpc2FibGUtdGVzdC10aGF0LWZhaWxzLXdpdGgtb3Blbi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJuZXQvZmlsZXMvMDAwMS1saWJuZXQtc3NsZWF5LXBlcmwtRGlzYWJsZS10ZXN0LXRoYXQtZmFpbHMtd2l0aC1vcGVuLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM5M2VlMTkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlibmV0L2ZpbGVzLzAwMDEtbGlibmV0LXNzbGVheS1wZXJsLURpc2FibGUtdGVzdC10aGF0LWZhaWxzLXdpdGgtb3Blbi5wYXRjaApAQCAtMCwwICsxLDcwIEBACitGcm9tIGU3YTJkM2E1N2ZkNTFmMGQ0ZDViM2ZjYjY2NjliMTg3NmQ0YjE4ZDIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CitEYXRlOiBUdWUsIDEwIE5vdiAyMDE1IDAxOjIzOjE4IC0wNTAwCitTdWJqZWN0OiBbUEFUQ0ggMS8yXSBsaWJuZXQtc3NsZWF5LXBlcmw6IERpc2FibGUgdGVzdCB0aGF0IGZhaWxzIHdpdGgKKyBvcGVuc3NsLTEuMC4yYiBvciBhYm92ZQorCitSdW4gdGVzdHN1aXRzOgordC9sb2NhbC8zM194NTA5X2NyZWF0ZV9jZXJ0Li4uLi4uLi4uLi4uTk9LIDM5LzEyMworbm90IG9rIDM5IC0gUEVNX2dldF9zdHJpbmdfUHJpdmF0ZUtleStwYXNzd2QrZW5jX2FsZworfCAgIEZhaWxlZCB0ZXN0ICdQRU1fZ2V0X3N0cmluZ19Qcml2YXRlS2V5K3Bhc3N3ZCtlbmNfYWxnJworfCAgIGF0IHQvbG9jYWwvMzNfeDUwOV9jcmVhdGVfY2VydC50IGxpbmUgMTA0LgorfCAgICAgICAgICAgICAgICAgICB1bmRlZgorfCAgICAgZG9lc24ndCBtYXRjaCAnKD9eOi0tLS0tQkVHSU4gKEVOQ1JZUFRFRHxSU0EpIFBSSVZBVEUgS0VZLS0tLS0pJworCitUaGlzIGlzIGR1ZSB0byB0aGUgZm9sbG93aW5nIGNoYW5nZSBpbiBPcGVuU1NMOgorKGdpdDovL2dpdC5vcGVuc3NsLm9yZy9vcGVuc3NsLmdpdCkKKy4uLi4uLgorNGQ5ZGMwYzI2OWJlODdiOTJkYTE4OGRmMWZiZDhiZmVlNDcwMGViMyBpcyB0aGUgZmlyc3QgYmFkIGNvbW1pdAorY29tbWl0IDRkOWRjMGMyNjliZTg3YjkyZGExODhkZjFmYmQ4YmZlZTQ3MDBlYjMKK0F1dGhvcjogRHIuIFN0ZXBoZW4gSGVuc29uIDxzdGV2ZUBvcGVuc3NsLm9yZz4KK0RhdGU6IFRodSBNYXkgMjggMTU6NDQ6MjAgMjAxNSArMDEwMAorCitjaGVjayBmb3IgZXJyb3Igd2hlbiBjcmVhdGluZyBQS0NTIzggc3RydWN0dXJlCisKK1Jldmlld2VkLWJ5OiBSaWNoIFNhbHogPHJzYWx6QG9wZW5zc2wub3JnPgorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgMjg0OTcwN2ZhNjVkMjgwM2U2ZDFjMTYwM2ZkZDNmZDFmZGM0YzZjYykKKy4uLi4uLgorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IGZyb20gdXBzdHJlYW0gbGF0ZXN0IDEuNzI6CitodHRwOi8vd3d3LmNwYW4ub3JnL2F1dGhvcnMvaWQvTS9NSS9NSUtFTS9OZXQtU1NMZWF5LTEuNzIudGFyLmd6CisKK1NpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KKy0tLQorIHQvbG9jYWwvMzNfeDUwOV9jcmVhdGVfY2VydC50IHwgMTMgKysrKysrKystLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS90L2xvY2FsLzMzX3g1MDlfY3JlYXRlX2NlcnQudCBiL3QvbG9jYWwvMzNfeDUwOV9jcmVhdGVfY2VydC50CitpbmRleCAyZjJjMDEzLi4zZTY1M2NlIDEwMDc1NQorLS0tIGEvdC9sb2NhbC8zM194NTA5X2NyZWF0ZV9jZXJ0LnQKKysrKyBiL3QvbG9jYWwvMzNfeDUwOV9jcmVhdGVfY2VydC50CitAQCAtMiw3ICsyLDcgQEAKKyAKKyB1c2Ugc3RyaWN0OworIHVzZSB3YXJuaW5nczsKKy11c2UgVGVzdDo6TW9yZSB0ZXN0cyA9PiAxMjM7CisrdXNlIFRlc3Q6Ok1vcmUgdGVzdHMgPT4gMTIxOworIHVzZSBOZXQ6OlNTTGVheSBxdy9NQlNUUklOR19BU0MgTUJTVFJJTkdfVVRGOCBFVlBfUEtfUlNBIEVWUF9QS1RfU0lHTiBFVlBfUEtUX0VOQy87CisgdXNlIEZpbGU6OlNwZWM7CisgdXNlIHV0Zjg7CitAQCAtOTksMTAgKzk5LDEzIEBAIGlzKE5ldDo6U1NMZWF5OjpYNTA5X05BTUVfY21wKCRjYV9pc3N1ZXIsICRjYV9zdWJqZWN0KSwgMCwgIlg1MDlfTkFNRV9jbXAiKTsKKyAgIH0KKyAgIG9rKG15ICRhbGcxID0gTmV0OjpTU0xlYXk6OkVWUF9nZXRfY2lwaGVyYnluYW1lKCJERVMtRURFMy1DQkMiKSwgIkVWUF9nZXRfY2lwaGVyYnluYW1lIik7CisgICBsaWtlKG15ICRrZXlfcGVtMyA9IE5ldDo6U1NMZWF5OjpQRU1fZ2V0X3N0cmluZ19Qcml2YXRlS2V5KCRwaywicGFzc3dvcmQiLCRhbGcxKSwgcXIvLS0tLS1CRUdJTiAoRU5DUllQVEVEfFJTQSkgUFJJVkFURSBLRVktLS0tLS8sICJQRU1fZ2V0X3N0cmluZ19Qcml2YXRlS2V5K3Bhc3N3ZCtlbmNfYWxnIik7CistICAKKy0gIG9rKG15ICRhbGcyID0gTmV0OjpTU0xlYXk6OkVWUF9nZXRfY2lwaGVyYnluYW1lKCJERVMtRURFMy1PRkIiKSwgIkVWUF9nZXRfY2lwaGVyYnluYW1lIik7CistICBsaWtlKG15ICRrZXlfcGVtNCA9IE5ldDo6U1NMZWF5OjpQRU1fZ2V0X3N0cmluZ19Qcml2YXRlS2V5KCRwaywicGFzc3dvcmQiLCRhbGcyKSwgcXIvLS0tLS1CRUdJTiAoRU5DUllQVEVEfFJTQSkgUFJJVkFURSBLRVktLS0tLS8sICJQRU1fZ2V0X3N0cmluZ19Qcml2YXRlS2V5K3Bhc3N3ZCtlbmNfYWxnIik7CistICAKKysKKysjIERFUy1FREUzLU9GQiBoYXMgbm8gQVNOMSBzdXBwb3J0LCBkZXRlY3RlZCBieSBjaGFuZ2VzIHRvIGRvX3BrOHBrZXkgYXMgb2Ygb3BlbnNzbCAxLjAuMW4KKysjIGh0dHBzOi8vZ2l0Lm9wZW5zc2wub3JnLz9wPW9wZW5zc2wuZ2l0O2E9Y29tbWl0O2g9NGQ5ZGMwYzI2OWJlODdiOTJkYTE4OGRmMWZiZDhiZmVlNDcwMGViMworKyMgdGhpcyB0ZXN0IG5vdyBmYWlscworKyMgIG9rKG15ICRhbGcyID0gTmV0OjpTU0xlYXk6OkVWUF9nZXRfY2lwaGVyYnluYW1lKCJERVMtRURFMy1PRkIiKSwgIkVWUF9nZXRfY2lwaGVyYnluYW1lIik7CisrIyAgbGlrZShteSAka2V5X3BlbTQgPSBOZXQ6OlNTTGVheTo6UEVNX2dldF9zdHJpbmdfUHJpdmF0ZUtleSgkcGssInBhc3N3b3JkIiwkYWxnMiksIHFyLy0tLS0tQkVHSU4gKEVOQ1JZUFRFRHxSU0EpIFBSSVZBVEUgS0VZLS0tLS0vLCAiUEVNX2dldF9zdHJpbmdfUHJpdmF0ZUtleStwYXNzd2QrZW5jX2FsZyIpOworKworICAgaXMoTmV0OjpTU0xlYXk6Olg1MDlfTkFNRV9wcmludF9leCgkbmFtZSksICJPPUNvbXBhbnkgTmFtZSxDPVVLLENOPUNvbW1vbiBuYW1lIHRleHQgWDUwOSIsICJYNTA5X05BTUVfcHJpbnRfZXgiKTsgIAorIAorICAgIyAyMDE0LTA2LTA2OiBTaWdoLCBzb21lIHZlcnNpb25zIG9mIG9wZW5zc2wgaGF2ZSB0aGlzIHBhdGNoLCB3aGljaCBhZmZmZWN0cyB0aGUgcmVzdWx0cyBvZiB0aGlzIHRlc3Q6CistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJuZXQvZmlsZXMvMDAwMi1SZWNlbnQtMS4wLjItYmV0YXMtaGF2ZS1kcm9wcGVkLXRoZS1TU0x2M19tZXRob2QtZnVuLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYm5ldC9maWxlcy8wMDAyLVJlY2VudC0xLjAuMi1iZXRhcy1oYXZlLWRyb3BwZWQtdGhlLVNTTHYzX21ldGhvZC1mdW4ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTM2NTBiOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJuZXQvZmlsZXMvMDAwMi1SZWNlbnQtMS4wLjItYmV0YXMtaGF2ZS1kcm9wcGVkLXRoZS1TU0x2M19tZXRob2QtZnVuLnBhdGNoCkBAIC0wLDAgKzEsNzUgQEAKK0Zyb20gZDk0ZjJkM2Y5NmRiNTI5MzgzYjIyZjJkYzI5NDg0NzE5MGQxYmZiZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFR1ZSwgMTAgTm92IDIwMTUgMDI6MTE6MzAgLTA1MDAKK1N1YmplY3Q6IFtQQVRDSCAyLzJdIFJlY2VudCAxLjAuMiBiZXRhcyBoYXZlIGRyb3BwZWQgdGhlIFNTTHYzX21ldGhvZAorIGZ1bmN0aW9uLiBUaGlzIHBhdGNoIGxlYXZlcyBvdXQgdGhlIGZ1bmN0aW9uIG9uIG5ld2VyIHZlcnNpb25zLCBtdWNoIHRoZSBzYW1lCisgYXMgdGhlIFNTTHYyIGRlcHJlY2F0aW9uIGlzIGhhbmRsZWQuIEl0IGFsc28gZml4ZXMgdGhlIEFMUE4gdGVzdCwgd2hpY2ggd2FzCisgaW5jb3JyZWN0bHkgZmFpbGluZyBvbiBPcGVuU1NMIGR1ZSB0byB0aGUgTGlicmVTU0wgY2hlY2sgKGVhcmxpZXIgdmVyc2lvbnMKKyBiYWlsZWQgb3V0IGJlZm9yZSB0aGF0IGxpbmUpLiBTaWduZWQtb2ZmLWJ5OiBQYXRjaCBmcm9tIFRvbSBNb2xlc3dvcnRoCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgZnJvbSB1cHN0cmVhbSAxLjY3CitodHRwOi8vd3d3LmNwYW4ub3JnL2F1dGhvcnMvaWQvTS9NSS9NSUtFTS9OZXQtU1NMZWF5LTEuNjcudGFyLmd6CitodHRwczovL3J0LmNwYW4ub3JnL1B1YmxpYy9CdWcvRGlzcGxheS5odG1sP2lkPTEwMTQ4NAorCitTaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CistLS0KKyBTU0xlYXkueHMgICAgICAgICAgICAgICAgIHwgMTIgKysrKysrKysrKysrCisgdC9sb2NhbC80MV9hbHBuX3N1cHBvcnQudCB8ICAyICstCisgMiBmaWxlcyBjaGFuZ2VkLCAxMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9TU0xlYXkueHMgYi9TU0xlYXkueHMKK2luZGV4IGMzMTM5NmQuLjFmZDRmYWIgMTAwNjQ0CistLS0gYS9TU0xlYXkueHMKKysrKyBiL1NTTGVheS54cworQEAgLTE0MDksNiArMTQwOSw5IEBAIFNTTF9DVFhfdjJfbmV3KCkKKyAjZW5kaWYKKyAjZW5kaWYKKyAKKysjaWZuZGVmIE9QRU5TU0xfTk9fU1NMMworKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDAwMjAwMEwKKysKKyBTU0xfQ1RYICoKKyBTU0xfQ1RYX3YzX25ldygpCisgICAgICBDT0RFOgorQEAgLTE0MTYsNiArMTQxOSw5IEBAIFNTTF9DVFhfdjNfbmV3KCkKKyAgICAgIE9VVFBVVDoKKyAgICAgIFJFVFZBTAorIAorKyNlbmRpZgorKyNlbmRpZgorKworIFNTTF9DVFggKgorIFNTTF9DVFhfdjIzX25ldygpCisgICAgICBDT0RFOgorQEAgLTM3NTgsOSArMzc2NCwxNSBAQCBTU0x2Ml9tZXRob2QoKQorICNlbmRpZgorICNlbmRpZgorIAorKyNpZm5kZWYgT1BFTlNTTF9OT19TU0wzCisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMDAyMDAwTAorKworIGNvbnN0IFNTTF9NRVRIT0QgKgorIFNTTHYzX21ldGhvZCgpCisgCisrI2VuZGlmCisrI2VuZGlmCisrCisgY29uc3QgU1NMX01FVEhPRCAqCisgVExTdjFfbWV0aG9kKCkKKyAKK2RpZmYgLS1naXQgYS90L2xvY2FsLzQxX2FscG5fc3VwcG9ydC50IGIvdC9sb2NhbC80MV9hbHBuX3N1cHBvcnQudAoraW5kZXggYmE5ODRiNS4uODdhMDIxNCAxMDA2NDQKKy0tLSBhL3QvbG9jYWwvNDFfYWxwbl9zdXBwb3J0LnQKKysrKyBiL3QvbG9jYWwvNDFfYWxwbl9zdXBwb3J0LnQKK0BAIC0xMSw3ICsxMSw3IEBAIHVzZSBDb25maWc7CisgCisgQkVHSU4geworICAgcGxhbiBza2lwX2FsbCA9PiAib3BlbnNzbCAxLjAuMiByZXF1aXJlZCIgdW5sZXNzIE5ldDo6U1NMZWF5OjpTU0xlYXkgPj0gMHgxMDAwMjAwMDsKKy0gIHBsYW4gc2tpcF9hbGwgPT4gImxpYnJlc3NsIG5vdCBzdXBwb3J0ZWQiIGlmICZOZXQ6OlNTTGVheTo6TElCUkVTU0xfVkVSU0lPTl9OVU1CRVI7CisrICBwbGFuIHNraXBfYWxsID0+ICJsaWJyZXNzbCBub3Qgc3VwcG9ydGVkIiBpZiBkZWZpbmVkICZOZXQ6OlNTTGVheTo6TElCUkVTU0xfVkVSU0lPTl9OVU1CRVI7CisgICBwbGFuIHNraXBfYWxsID0+ICJmb3JrKCkgbm90IHN1cHBvcnRlZCBvbiAkXk8iIHVubGVzcyAkQ29uZmlne2RfZm9ya307CisgfQorIAorLS0gCisxLjkuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlibmV0L2ZpbGVzL3J1bi1wdGVzdCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJuZXQvZmlsZXMvcnVuLXB0ZXN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM5ZjljYTkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlibmV0L2ZpbGVzL3J1bi1wdGVzdApAQCAtMCwwICsxLDE2IEBACisjIS9iaW4vc2gKKworZm9yIGNhc2UgaW4gYGZpbmQgdCAtdHlwZSBmIC1uYW1lICcqLnQnYDsgZG8KKyAgICBwZXJsICRjYXNlID4kY2FzZS5vdXRwdXQgMj4mMQorICAgIHJldD0kPworICAgIGNhdCAkY2FzZS5vdXRwdXQKKyAgICBpZiBbICRyZXQgLW5lIDAgXTsgdGhlbgorICAgICAgICBlY2hvICJGQUlMOiAke2Nhc2UlLnR9IgorICAgIGVsaWYgZ3JlcCAtaSAnU0tJUCcgJGNhc2Uub3V0cHV0OyB0aGVuCisgICAgICAgIGVjaG8gIlNLSVA6ICR7Y2FzZSUudH0iCisgICAgZWxzZQorICAgICAgICBlY2hvICJQQVNTOiAke2Nhc2UlLnR9IgorICAgIGZpCisKKyAgICBybSAtZiAkY2FzZS5vdXRwdXQKK2RvbmUKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJuZXQvbGlibmV0LWRucy1wZXJsXzAuODEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlibmV0L2xpYm5ldC1kbnMtcGVybF8wLjgxLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlkYzQyNjgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlibmV0L2xpYm5ldC1kbnMtcGVybF8wLjgxLmJiCkBAIC0wLDAgKzEsMjUgQEAKK0RFU0NSSVBUSU9OID0gIlRoaXMgcGFja2FnZSBjb250YWlucyB0aGUgRE5TLnBtIG1vZHVsZSB3aXRoIGZyaWVuZHMuIgorCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkFydGlzdGljLTEuMCB8IEdQTC0xLjArIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9SRUFETUU7bWQ1PTUyNGRhOTZhMzM2NWYyY2FmZjczZmVhMGFlNjdjM2EwIgorCitERVBFTkRTICs9ICJwZXJsIgorCitTUkNfVVJJID0gImh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvQ1BBTi9hdXRob3JzL2lkL04vTkwvTkxORVRMQUJTL05ldC1ETlMtJHtQVn0udGFyLmd6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiMjYzNzVkNDMxMGJlYjEwOGIwZTJiM2JmMzA0MDNlZTUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYjM2YzhlYWQ2ZWRmNjhkYTVkOWRlMmIwYTIyYTQ3ZDcyMTZlMmQ3ZWI1MmM4Y2RlOTY3MjQ5ODhmNjhhNmQ0NiIKKworUyA9ICIke1dPUktESVJ9L05ldC1ETlMtJHtQVn0iCisKK0VYVFJBX0NQQU5GTEFHUyA9ICJFWFBBVExJQlBBVEg9JHtTVEFHSU5HX0xJQkRJUn0gRVhQQVRJTkNQQVRIPSR7U1RBR0lOR19JTkNESVJ9IgorCitpbmhlcml0IGNwYW4KKworZG9fY29tcGlsZSgpIHsKKwlleHBvcnQgTElCQz0iJChmaW5kICR7U1RBR0lOR19ESVJfVEFSR0VUfS8ke2Jhc2VfbGliZGlyfS8gLW5hbWUgJ2xpYmMtKi5zbycpIgorCWNwYW5fZG9fY29tcGlsZQorfQorQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlibmV0L2xpYm5ldC1saWJpZG4tcGVybC0wLjEyL2xpYmlkbi13ci1jcm9zcy1jb21waWxlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYm5ldC9saWJuZXQtbGliaWRuLXBlcmwtMC4xMi9saWJpZG4td3ItY3Jvc3MtY29tcGlsZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NzljYWEzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYm5ldC9saWJuZXQtbGliaWRuLXBlcmwtMC4xMi9saWJpZG4td3ItY3Jvc3MtY29tcGlsZS5wYXRjaApAQCAtMCwwICsxLDQ5IEBACitwZXJsLU5ldC1MaWJJRE46IGNyb3NzLWNvbXBpbGUKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK0FkZCBzdXBwb3J0IGZvciBjcm9zcy1jb21waWxlIGFsbG93aW5nIHRoZSBjb21waWxlciBiaW5hcnkgdG8gYmUKK3NwZWNpZmllZCBpbnRvIHRoZSBwZXJsIE1ha2VmaWxlIGluc3RlYWQgb2YgdXNpbmcgdGhlIGRlZmF1bHQgJ2djYycuCisKK1NpZ25lZC1vZmYtYnk6IEdyZWcgTW9mZmF0dCA8Z3JlZy5tb2ZmYXR0QHdpbmRyaXZlci5jb20+CistLS0KKworLS0tIHBlcmwtTmV0LUxpYklETi0wLjEyLm9yaWcvTWFrZWZpbGUuUEwJMjAwOS0wMi0yNiAwNzowOTo0NS4wMDAwMDAwMDAgLTA1MDAKKysrKyBwZXJsLU5ldC1MaWJJRE4tMC4xMi9NYWtlZmlsZS5QTAkyMDEwLTEwLTE5IDA5OjM0OjIyLjgxMTE3Mzk2NSAtMDQwMAorQEAgLTksNiArOSw3IEBACisgbXkgJG9wdGlvbnM7CisgbXkgJHRlc3Rubz0xOworIG15ICVNYWtlUGFyYW1zID0gSW5pdE1ha2VQYXJhbXMoKTsKKytteSAkY29tcGlsZXI7CisgCisgV3JpdGVNYWtlZmlsZSglTWFrZVBhcmFtcyk7CisgCitAQCAtNDQsNyArNDUsOCBAQAorIAkoCisgCQkid2l0aC1saWJpZG49cyIgPT4gXCRsaWJkaXIsCisgCQkid2l0aC1saWJpZG4taW5jPXMiID0+IFwkaW5jZGlyLAorLQkJImRpc2FibGUtdGxkIiA9PiBcJGRpc2FibGVfdGxkCisrCQkiZGlzYWJsZS10bGQiID0+IFwkZGlzYWJsZV90bGQsCisrCQkiY29tcGlsZXI9cyIgPT4gXCRjb21waWxlcgorIAkpOworIAorIAlpZiAoJGxpYmRpcikKK0BAIC0xNjUsMTIgKzE2NywxNyBAQAorIAkJcmV0dXJuIDA7CisgCX0KKyAKKy0JZm9yZWFjaCBteSAkY2MgKHF3L2NjIGdjYy8pCisrCWZvcmVhY2ggbXkgJGNjICgkY29tcGlsZXIsIHF3L2NjIGdjYy8pCisgCXsKKyAJCXVubGluaygkdGVzdCk7CisgCQlzeXN0ZW0gIiRjYyAkY2ZsYWdzIC1vICR0ZXN0ICR0ZXN0LmMgJGxkZmxhZ3MiOworIAkJbmV4dCBpZiAoJD8gPj4gOCk7CisgCisrCQlpZiAoJGNvbXBpbGVyID09ICRjYykKKysJCXsKKysJCQlyZXR1cm4gMTsKKysJCX0KKysKKyAJCWlmIChvcGVuKEZJTEUsICIuLyR0ZXN0fCIpKQorIAkJeworIAkJCW15ICRtYXRjaDsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJuZXQvbGlibmV0LWxpYmlkbi1wZXJsXzAuMTIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlibmV0L2xpYm5ldC1saWJpZG4tcGVybF8wLjEyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZkM2ZmOGQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlibmV0L2xpYm5ldC1saWJpZG4tcGVybF8wLjEyLmJiCkBAIC0wLDAgKzEsMzQgQEAKK1NVTU1BUlkgPSAiTmV0OjpMaWJJRE4gLSBQZXJsIGJpbmRpbmdzIGZvciBHTlUgTGliaWRuIgorREVTQ1JJUFRJT04gPSAiXAorUHJvdmlkZXMgYmluZGluZ3MgZm9yIEdOVSBMaWJpZG4sIGEgQyBsaWJyYXJ5IGZvciBoYW5kbGluZyBJbnRlcm5hdGlvbmFsaXplZCBcCitEb21haW4gTmFtZXMgYWNjb3JkaW5nIHRvIElETkEgKFJGQyAzNDkwKSwgaW4gYSB3YXkgdmVyeSBtdWNoIGluc3BpcmVkIGJ5IFwKK1R1cmJvIEZyZWRyaWtzc29uJ3MgUEhQLUlETi4gXAorIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJBcnRpc3RpYy0xLjAgfCBHUEx2MSsiCitIT01FUEFHRSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL2Rpc3QvTmV0LUxpYklETi8iCitERVBFTkRTICs9ICJsaWJpZG4iCisjIFdlIG11c3QgbmVlZCBnbGliYy1nY29udnMgdG8gZW5hYmxlIGNoYXJzZXQgcmVsYXRlZCBmdW5jdGlvbnMsCisjIHN1Y2ggYXMgTmV0OjpMaWJJRE46Omlkbl90b19hc2NpaSgpLgorUkRFUEVORFNfJHtQTn0gKz0gImdsaWJjLWdjb252cyIKKworU1JDX1VSSSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL0NQQU4vYXV0aG9ycy9pZC9UL1RIL1RIT1IvTmV0LUxpYklETi0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiYzNlNGRlMjA2NTAwOWQ2N2JjYjFkZjBhZmI0NzNlMTIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMmY4YWNjOTQ0MmIzODY2ZWM3ZGM2M2NkNDQ5ZmM2OTNhZTNlOTMwZDVkM2U1ZTk0MzBmYmI2ZjM5M2JkYmIxNyIKKworU1JDX1VSSSArPSAiZmlsZTovL2xpYmlkbi13ci1jcm9zcy1jb21waWxlLnBhdGNoIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9SRUFETUU7YmVnaW5saW5lPTQyO2VuZGxpbmU9OTI7bWQ1PTMzNzRlYTAzNjljYTNlYWQ2MDQ3NTIwNDc3YTQzMTQ3IgorCitTID0gIiR7V09SS0RJUn0vTmV0LUxpYklETi0ke1BWfSIKKworRVhUUkFfQ1BBTkZMQUdTID0gIi0td2l0aC1saWJpZG49JHtTVEFHSU5HX0xJQkRJUn0gLS13aXRoLWxpYmlkbi1pbmM9JHtTVEFHSU5HX0lOQ0RJUn0gLS1jb21waWxlcj0nJHtDQ30nIgorRVhUUkFfQ1BBTkZMQUdTICs9ICItLWRpc2FibGUtdGxkIgorCitpbmhlcml0IGNwYW4KKworRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vcGVybC92ZW5kb3JfcGVybC8qL2F1dG8vTmV0L0xpYklETi8uZGVidWcvIgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKwlybSAtcmYgJHtTfS8ucGMvCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlibmV0L2xpYm5ldC1zc2xlYXktcGVybF8xLjY1LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYm5ldC9saWJuZXQtc3NsZWF5LXBlcmxfMS42NS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZmQ2ZjUxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYm5ldC9saWJuZXQtc3NsZWF5LXBlcmxfMS42NS5iYgpAQCAtMCwwICsxLDUxIEBACitTVU1NQVJZID0gIk5ldDo6U1NMZWF5IC0gUGVybCBleHRlbnNpb24gZm9yIHVzaW5nIE9wZW5TU0wiCitERVNDUklQVElPTiA9ICJUaGlzIG1vZHVsZSBvZmZlcnMgc29tZSBoaWdoIGxldmVsIGNvbnZlbmllbmNlIGZ1bmN0aW9ucyBmb3IgYWNjZXNzaW5nIFwKK3dlYiBwYWdlcyBvbiBTU0wgc2VydmVycyAoZm9yIHN5bW1ldHJ5LCBzYW1lIEFQSSBpcyBvZmZlcmVkIGZvciBcCithY2Nlc3NpbmcgaHR0cCBzZXJ2ZXJzLCB0b28pLCBhIHNzbGNhdCgpIGZ1bmN0aW9uIGZvciB3cml0aW5nIHlvdXIgb3duIFwKK2NsaWVudHMsIGFuZCBmaW5hbGx5IGFjY2VzcyB0byB0aGUgU1NMIGFwaSBvZiBTU0xlYXkvT3BlblNTTCBwYWNrYWdlIFwKK3NvIHlvdSBjYW4gd3JpdGUgc2VydmVycyBvciBjbGllbnRzIGZvciBtb3JlIGNvbXBsaWNhdGVkIGFwcGxpY2F0aW9ucy4iCitIT01FUEFHRSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL2Rpc3QvTmV0LVNTTGVheS8iCitTRUNUSU9OID0gImxpYnMiCisKK0xJQ0VOU0UgPSAiT3BlblNTTCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1JFQURNRTtiZWdpbmxpbmU9Mjc0O2VuZGxpbmU9Mjk0O21kNT00OWY0MTU5ODRiMzg3YmU5OTllZTJhZDBlNWM2OTJmZSIKKworREVQRU5EUyA9ICJvcGVuc3NsIHpsaWIiCitSREVQRU5EU18ke1BOfSArPSAicGVybC1tb2R1bGUtY2FycCBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtZXJybm8gXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtbWltZS1iYXNlNjQgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLXNvY2tldCBcCisgICAgICAgICAgICAgICAgICAiCisKK1NSQ19VUkkgPSAiaHR0cDovL3NlYXJjaC5jcGFuLm9yZy9DUEFOL2F1dGhvcnMvaWQvTS9NSS9NSUtFTS9OZXQtU1NMZWF5LSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWxpYm5ldC1zc2xlYXktcGVybC1EaXNhYmxlLXRlc3QtdGhhdC1mYWlscy13aXRoLW9wZW4ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1SZWNlbnQtMS4wLjItYmV0YXMtaGF2ZS1kcm9wcGVkLXRoZS1TU0x2M19tZXRob2QtZnVuLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCisgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gIjE5NjAwYzAzNmU5ZTBiYmZiZjkxNTdmMDgzZTQwNzU1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjJmYjEzNzExMjBiODVmMDE4OTQ0ZDk1NzM2YzEwNzE2M2YwNGJhNTZiNjAyOWMwNzA5YTJjM2Q2MjQ3YjljMDYiCisKK1MgPSAiJHtXT1JLRElSfS9OZXQtU1NMZWF5LSR7UFZ9IgorCitpbmhlcml0IGNwYW4gcHRlc3QKKworRVhUUkFfQ1BBTkZMQUdTID0gIkxJQlM9Jy1MPSR7U1RBR0lOR19MSUJESVJ9IC1MPSR7U1RBR0lOR19CQVNFTElCRElSfScgXAorICAgICAgICAgICAgICAgICAgIElOQz0tST0ke1NUQUdJTkdfSU5DRElSfSBcCisgICAgICAgICAgICAgICAgICAgJ0VYVFJBTElCUz0tbHNzbCAtbGNyeXB0byAtbHonIFwKKyAgICAgICAgICAgICAgICAgICAnTERMT0FETElCUz0tbHNzbCAtbGNyeXB0byAtbHonIFwKKyAgICAgICAgICAgICAgICAgICIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgZXhwb3J0IE9QRU5TU0xfUFJFRklYPSR7U1RBR0lOR19ESVJfTkFUSVZFfSR7cHJlZml4X25hdGl2ZX0KK30KKworZG9faW5zdGFsbF9wdGVzdCgpIHsKKyAgICBjcCAtciAke0J9L3QgJHtEfSR7UFRFU1RfUEFUSH0KK30KKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisKK0ZJTEVTXyR7UE59LWRiZyA9KyAiJHtsaWJkaXJ9L3BlcmwvdmVuZG9yX3BlcmwvKi9hdXRvL05ldC9TU0xlYXkvLmRlYnVnLyIKKworUkRFUEVORFNfJHtQTn0tcHRlc3QgPSAiIHBlcmwiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlicHJvYy9saWJwcm9jLXdhaXRzdGF0LXBlcmxfMS4wMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJwcm9jL2xpYnByb2Mtd2FpdHN0YXQtcGVybF8xLjAwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE1OTllNjEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlicHJvYy9saWJwcm9jLXdhaXRzdGF0LXBlcmxfMS4wMC5iYgpAQCAtMCwwICsxLDIwIEBACitTVU1NQVJZID0gIkludGVycHJldCBhbmQgYWN0IG9uIHdhaXQoKSBzdGF0dXMgdmFsdWVzIgorREVTQ1JJUFRJT04gPSAiVGhpcyBtb2R1bGUgY29udGFpbnMgZnVuY3Rpb25zIGZvciBpbnRlcnByZXRpbmcgYW5kIGFjdGluZyBcCitvbiB3YWl0IHN0YXR1cyB2YWx1ZXMuIgorCitIT01FUEFHRSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL35yb3NjaC9Qcm9jLVdhaXRTdGF0LyIKK1NFQ1RJT04gPSAibGlicmFyaWVzIgorCitMSUNFTlNFID0gIkFydGlzdGljLTEuMHxHUEx2MSsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9SRUFETUU7YmVnaW5saW5lPTIxO2VuZGxpbmU9MjM7bWQ1PWYzNjU1MGY1OWEwYWU1ZTZlM2IwYmU2YTRkYTYwZDI2IgorCitSREVQRU5EU18ke1BOfSArPSAicGVybCBsaWJpcGMtc2lnbmFsLXBlcmwiCisKK1MgPSAiJHtXT1JLRElSfS9Qcm9jLVdhaXRTdGF0LSR7UFZ9IgorCitTUkNfVVJJID0gImh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvQ1BBTi9hdXRob3JzL2lkL1IvUk8vUk9TQ0gvUHJvYy1XYWl0U3RhdC0ke1BWfS50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJiOTExYmQ1NzliNmIxNDIzOTFiMjFkZTFlZmEzMGM5NSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkMDc1NjNmNWU3ODc5MDlkMTZlNzM5MDI0MWU4NzdmNDlhYjczOWIxZGU5ZDBlMmVhMWE0MWJkMGJmNDQ3NGJjIgorCitpbmhlcml0IGNwYW4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJyb2xlL2xpYnJvbGUtdGlueS1wZXJsXzIuMDAwMDAxLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYnJvbGUvbGlicm9sZS10aW55LXBlcmxfMi4wMDAwMDEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDgzNjBjNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJyb2xlL2xpYnJvbGUtdGlueS1wZXJsXzIuMDAwMDAxLmJiCkBAIC0wLDAgKzEsMjkgQEAKK1NVTU1BUlkgPSAiUm9sZTo6VGlueSAtIFJvbGVzLiBMaWtlIGEgbm91dmVsbGUgY291c2luZSBwb3J0aW9uIHNpemUgb2YgTW9vc2UuIgorREVTQ1JJUFRJT04gPSAiXCJSb2xlOjpUaW55XCIgaXMgYSBtaW5pbWFsaXN0IHJvbGUgY29tcG9zaXRpb24gdG9vbC4iCisKK1NFQ1RJT04gPSAibGlicyIKKworSE9NRVBBR0UgPSAiaHR0cHM6Ly9tZXRhY3Bhbi5vcmcvcG9kL1JvbGU6OlRpbnkiCisKK0xJQ0VOU0UgPSAiQXJ0aXN0aWMtMS4wIHwgR1BMLTEuMCsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9SRUFETUU7YmVnaW5saW5lPTE3MjtlbmRsaW5lPTIwOTttZDU9MjZkZjdlN2MyMDU1MWZiMTkwNmUyMjg2NjI0ZjBiNzEiCisKK1NSQ19VUkkgPSAiJHtDUEFOX01JUlJPUn0vYXV0aG9ycy9pZC9IL0hBL0hBQVJHL1JvbGUtVGlueS0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiZjM1MGYxZjhjMTM2NTJiZjg1ZGExNzIzODBiMzllYzgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMzE4ODM0MTBhN2M4NWQ2ZGM3NTAxYzcxOGIxZjgzZWRiYTAxM2E3YjliYmNjZjAzMzhhMTAzM2MzOTFmMjk2ZCIKKworUyA9ICIke1dPUktESVJ9L1JvbGUtVGlueS0ke1BWfSIKKworaW5oZXJpdCBjcGFuCisKK1JERVBFTkRTXyR7UE59ID0gIiBwZXJsLW1vZHVsZS1leHBvcnRlciBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtc3RyaWN0IFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS10ZXN0LW1vcmUgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLXdhcm5pbmdzIFwKKyIKKworUlBST1ZJREVTXyR7UE59ID0gIiBsaWJyb2xlLXRpbnktcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYnJvbGUtdGlueS13aXRoLXBlcmwgXAorIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJzdHJpY3R1cmVzL2xpYnN0cmljdHVyZXMtcGVybF8yLjAwMDAwMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJzdHJpY3R1cmVzL2xpYnN0cmljdHVyZXMtcGVybF8yLjAwMDAwMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMWE2ZTUwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYnN0cmljdHVyZXMvbGlic3RyaWN0dXJlcy1wZXJsXzIuMDAwMDAyLmJiCkBAIC0wLDAgKzEsNDUgQEAKK1NVTU1BUlkgPSAic3RyaWN0dXJlcyAtIHR1cm4gb24gc3RyaWN0IGFuZCBtYWtlIGFsbCB3YXJuaW5ncyBmYXRhbCIKK0RFU0NSSVBUSU9OID0gIkkndmUgYmVlbiB3cml0aW5nIHRoZSBlcXVpdmFsZW50IG9mIHRoaXMgbW9kdWxlIGF0IHRoZSB0b3AgXAorb2YgbXkgY29kZSBmb3IgYWJvdXQgYSB5ZWFyIG5vdy4gSSBmaWd1cmVkIGl0IHdhcyB0aW1lIHRvIG1ha2UgaXQgc2hvcnRlci4gXAorXAorVGhpbmdzIGxpa2UgdGhlIGltcG9ydGVyIGluIFwidXNlIE1vb3NlXCIgZG9uJ3QgaGVscCBtZSBiZWNhdXNlIHRoZXkgdHVybiBcCit3YXJuaW5ncyBvbiBidXQgZG9uJ3QgbWFrZSB0aGVtIGZhdGFsIC0tIHdoaWNoIGZyb20gbXkgcG9pbnQgb2YgdmlldyBpcyBcCit1c2VsZXNzIGJlY2F1c2UgSSB3YW50IGFuIGV4Y2VwdGlvbiB0byB0ZWxsIG1lIG15IGNvZGUgaXNuJ3Qgd2FybmluZ3MtY2xlYW4uIFwKK1wKK0FueSB0aW1lIEkgc2VlIGEgd2FybmluZyBmcm9tIG15IGNvZGUsIHRoYXQgaW5kaWNhdGVzIGEgbWlzdGFrZS4gXAorXAorQW55IHRpbWUgbXkgY29kZSBlbmNvdW50ZXJzIGEgbWlzdGFrZSwgSSB3YW50IGEgY3Jhc2ggLS0gbm90IHNwZXcgdG8gU1RERVJSIFwKK2FuZCB0aGVuIHVua25vd24gKGFuZCBwcm9iYWJseSB1bmRlc2lyZWQpIHN1YnNlcXVlbnQgYmVoYXZpb3VyLiBcCitcCitJIGFsc28gd2FudCB0byBlbnN1cmUgdGhhdCBvYnZpb3VzIGNvZGluZyBtaXN0YWtlcywgbGlrZSBpbmRpcmVjdCBvYmplY3QgXAorc3ludGF4IChhbmQgbm90IHNvIG9idmlvdXMgbWlzdGFrZXMgdGhhdCBjYXVzZSB0aGluZ3MgdG8gYWNjaWRlbnRhbGx5IGNvbXBpbGUgXAorYXMgc3VjaCkgZ2V0IGNhdWdodCwgYnV0IG5vdCBhdCB0aGUgY29zdCBvZiBhbiBYUyBkZXBlbmRlbmN5IGFuZCBub3QgYXQgdGhlIFwKK2Nvc3Qgb2YgYmxvd2luZyB0aGluZ3MgdXAgb24gYW5vdGhlciBtYWNoaW5lLiBcCitcCitUaGVyZWZvcmUsIFwic3RyaWN0dXJlc1wiIHR1cm5zIG9uIGFkZGl0aW9uYWwgY2hlY2tpbmcsIGJ1dCBvbmx5IHdoZW4gaXQgXAordGhpbmtzIGl0J3MgcnVubmluZyBpbiBhIHRlc3QgZmlsZSBpbiBhIFZDUyBjaGVja291dCAtLSBhbHRob3VnaCBpZiB0aGlzIFwKK2NhdXNlcyB1bmRlc2lyZWQgYmVoYXZpb3VyIHRoaXMgY2FuIGJlIG92ZXJyaWRkZW4gYnkgc2V0dGluZyB0aGUgXAorUEVSTF9TVFJJQ1RVUkVTX0VYVFJBIGVudmlyb25tZW50IHZhcmlhYmxlLiIKKworU0VDVElPTiA9ICJsaWJzIgorCitIT01FUEFHRSA9ICJodHRwczovL21ldGFjcGFuLm9yZy9wb2Qvc3RyaWN0dXJlcyIKKworTElDRU5TRSA9ICJBcnRpc3RpYy0xLjAgfCBHUEwtMS4wKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1JFQURNRTtiZWdpbmxpbmU9MjQ2O2VuZGxpbmU9MjYyO21kNT00M2JlNTU4Y2Y0ZjE5ODIzY2RkNmFmMjIxMzVjZjVmOCIKKworU1JDX1VSSSA9ICIke0NQQU5fTUlSUk9SfS9hdXRob3JzL2lkL0gvSEEvSEFBUkcvc3RyaWN0dXJlcy0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiZmIxZmFkYTgyNjA5OTJiYzg1ZTEyNmMyMWZmY2M2ZDUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMTMwMzU1ZGNiM2FmZDhjM2M4MjEzYzI0YjkyNGU3MWRlYjdlMWUxMTk3ZGE4ZjkwYzVhZTE5MTc2NmFhNDEwMCIKKworUyA9ICIke1dPUktESVJ9L3N0cmljdHVyZXMtJHtQVn0iCisKK2luaGVyaXQgY3BhbgorCitSREVQRU5EU18ke1BOfSA9ICIgcGVybC1tb2R1bGUtY2FycCBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtc3RyaWN0IFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS10ZXN0LW1vcmUgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLXdhcm5pbmdzIFwKKyIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlic3ViL2xpYnN1Yi1leHBvcnRlci1wcm9ncmVzc2l2ZS1wZXJsXzAuMDAxMDExLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYnN1Yi9saWJzdWItZXhwb3J0ZXItcHJvZ3Jlc3NpdmUtcGVybF8wLjAwMTAxMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMmExMzA1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYnN1Yi9saWJzdWItZXhwb3J0ZXItcHJvZ3Jlc3NpdmUtcGVybF8wLjAwMTAxMS5iYgpAQCAtMCwwICsxLDMwIEBACitTVU1NQVJZID0gIlN1Yjo6RXhwb3J0ZXI6OlByb2dyZXNzaXZlIC0gT25seSB1c2UgU3ViOjpFeHBvcnRlciBpZiB5b3UgbmVlZCBpdC4iCitERVNDUklQVElPTiA9ICJcIlN1Yjo6RXhwb3J0ZXJcIiBpcyBhbiBpbmNyZWRpYmx5IHBvd2VyZnVsIG1vZHVsZSwgYnV0IHdpdGggXAordGhhdCBwb3dlciBjb21lcyBncmVhdCByZXNwb25zaWJpbGl0eSwgZXItIGFzIHdlbGwgYXMgc29tZSBydW50aW1lIHBlbmFsdGllcy4gXAorVGhpcyBtb2R1bGUgaXMgYSBcIlN1Yjo6RXhwb3J0ZXJcIiB3cmFwcGVyIHRoYXQgd2lsbCBsZXQgeW91ciB1c2VycyBqdXN0IHVzZSBcCitcIkV4cG9ydGVyXCIgaWYgYWxsIHRoZXkgYXJlIGRvaW5nIGlzIHBpY2tpbmcgZXhwb3J0cywgYnV0IHVzZSBcCitcIlN1Yjo6RXhwb3J0ZXJcIiBpZiB5b3VyIHVzZXJzIHRyeSB0byB1c2UgXCJTdWI6OkV4cG9ydGVyJ3NcIiBtb3JlIGFkdmFuY2VkIFwKK2ZlYXR1cmVzLCBsaWtlIHJlbmFtaW5nIGV4cG9ydHMsIGlmIHRoZXkgdHJ5IHRvIHVzZSB0aGVtLiIKKworU0VDVElPTiA9ICJsaWJzIgorCitIT01FUEFHRSA9ICJodHRwczovL21ldGFjcGFuLm9yZy9wb2QvU3ViLUV4cG9ydGVyLVByb2dyZXNzaXZlLyIKKworTElDRU5TRSA9ICJBcnRpc3RpYy0xLjAgfCBHUEwtMS4wKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1JFQURNRTtiZWdpbmxpbmU9NTE7ZW5kbGluZT01MzttZDU9YTE3MWQyZTlmODY4OGE0NGU1ZjFiNmRjYzYyMDI5ZTYiCisKK0RFUEVORFNfJHtQTn0gPSAiIHBlcmwtbW9kdWxlLXRlc3QtbW9yZSIKKworU1JDX1VSSSA9ICIke0NQQU5fTUlSUk9SfS9hdXRob3JzL2lkL0YvRlIvRlJFVy9TdWItRXhwb3J0ZXItUHJvZ3Jlc3NpdmUtJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gImJiNTBiM2JhMTUzODkwMmIxOTdjMDQ4MThhODQyMzBhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjA2MThjNmU2OWM2YzA1NDBjNDFlNzU2MGQ1MTk4MTQwN2E2YTA3NjhmMTMzMGJlZjZkNmFjM2M2ZjFmYTdjMDYiCisKK1MgPSAiJHtXT1JLRElSfS9TdWItRXhwb3J0ZXItUHJvZ3Jlc3NpdmUtJHtQVn0iCisKK2luaGVyaXQgY3BhbgorCitSREVQRU5EU18ke1BOfSArPSAiIHBlcmwtbW9kdWxlLWNhcnAgXAorICAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1saXN0LXV0aWwgXAorIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJ0ZXN0L2xpYnRlc3QtaGFybmVzcy1wZXJsXzMuMzYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlidGVzdC9saWJ0ZXN0LWhhcm5lc3MtcGVybF8zLjM2LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdmYjdlMjIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlidGVzdC9saWJ0ZXN0LWhhcm5lc3MtcGVybF8zLjM2LmJiCkBAIC0wLDAgKzEsODAgQEAKK1NVTU1BUlkgPSAiVGVzdDo6SGFybmVzcyAtIFJ1biBQZXJsIHN0YW5kYXJkIHRlc3Qgc2NyaXB0cyB3aXRoIHN0YXRpc3RpY3MiCitERVNDUklQVElPTiA9ICJBbHRob3VnaCwgZm9yIGhpc3RvcmljYWwgcmVhc29ucywgdGhlIFRlc3Q6Okhhcm5lc3MgXAorZGlzdHJpYnV0aW9uIHRha2VzIGl0cyBuYW1lIGZyb20gdGhpcyBtb2R1bGUgaXQgbm93IGV4aXN0cyBvbmx5IHRvIHByb3ZpZGUgXAorVEFQOjpIYXJuZXNzIHdpdGggYW4gaW50ZXJmYWNlIHRoYXQgaXMgc29tZXdoYXQgYmFja3dhcmRzIGNvbXBhdGlibGUgXAord2l0aCBUZXN0OjpIYXJuZXNzIDIueHguIElmIHlvdSdyZSB3cml0aW5nIG5ldyBjb2RlIGNvbnNpZGVyIHVzaW5nIFwKK1RBUDo6SGFybmVzcyBkaXJlY3RseSBpbnN0ZWFkLiBcCitcIAorRW11bGF0aW9uIGlzIHByb3ZpZGVkIGZvciBydW50ZXN0cyBhbmQgZXhlY3V0ZV90ZXN0cyBidXQgdGhlIFwKK3BsdWdnYWJsZSAnU3RyYXBzJyBpbnRlcmZhY2UgdGhhdCBwcmV2aW91cyB2ZXJzaW9ucyBvZiBUZXN0OjpIYXJuZXNzIFwKK3N1cHBvcnRlZCBpcyBub3QgcmVwcm9kdWNlZCBoZXJlLiBTdHJhcHMgaXMgbm93IGF2YWlsYWJsZSBhcyBhIHN0YW5kIFwKK2Fsb25lIG1vZHVsZTogVGVzdDo6SGFybmVzczo6U3RyYXBzLiBcCitcCitTZWUgVEFQOjpQYXJzZXIsIFRBUDo6SGFybmVzcyBmb3IgdGhlIG1haW4gZG9jdW1lbnRhdGlvbiBmb3IgdGhpcyBcCitkaXN0cmlidXRpb24uIgorCitTRUNUSU9OID0gImxpYnMiCisKK0hPTUVQQUdFID0gImh0dHA6Ly90ZXN0YW55dGhpbmcub3JnIgorCitMSUNFTlNFID0gIkFydGlzdGljLTEuMCB8IEdQTC0xLjArIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUkVBRE1FO2JlZ2lubGluZT0yOTtlbmRsaW5lPTMwO21kNT1iMDhkYjQzNjBlZWMxMTllODc1ZGRkZDdjYjhhNWRkZCIKKworU1JDX1VSSSA9ICIke0NQQU5fTUlSUk9SfS9hdXRob3JzL2lkL0wvTEUvTEVPTlQvVGVzdC1IYXJuZXNzLSR7UFZ9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI0YzhkOWM3N2U4ZTA2Y2E5NmM3MzgzYzA1YzhmMzYxNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlNzU2NmYxM2IwNDFkMDI4YjU2ZjE4NGI3N2VjMjU0NWVjNmYwYmI1YTBmOGY1MzY4ZjdlNGEwOGI0OTZiNjNlIgorCitTID0gIiR7V09SS0RJUn0vVGVzdC1IYXJuZXNzLSR7UFZ9IgorCitpbmhlcml0IGNwYW4KKworUlBST1ZJREVTXyR7UE59ICs9ICJsaWJhcHAtcHJvdmUtcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYmFwcC1wcm92ZS1zdGF0ZS1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGliYXBwLXByb3ZlLXN0YXRlLXJlc3VsdC1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGliYXBwLXByb3ZlLXN0YXRlLXJlc3VsdC10ZXN0LXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJ0YXAtYmFzZS1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGlidGFwLWZvcm1hdHRlci1iYXNlLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJ0YXAtZm9ybWF0dGVyLWNvbG9yLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJ0YXAtZm9ybWF0dGVyLWNvbnNvbGUtcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYnRhcC1mb3JtYXR0ZXItY29uc29sZS1wYXJhbGxlbHNlc3Npb24tcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYnRhcC1mb3JtYXR0ZXItY29uc29sZS1zZXNzaW9uLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJ0YXAtZm9ybWF0dGVyLWZpbGUtcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYnRhcC1mb3JtYXR0ZXItZmlsZS1zZXNzaW9uLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJ0YXAtZm9ybWF0dGVyLXNlc3Npb24tcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYnRhcC1oYXJuZXNzLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJ0YXAtaGFybmVzcy1lbnYtcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYnRhcC1vYmplY3QtcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYnRhcC1wYXJzZXItcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYnRhcC1wYXJzZXItYWdncmVnYXRvci1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGlidGFwLXBhcnNlci1ncmFtbWFyLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJ0YXAtcGFyc2VyLWl0ZXJhdG9yLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJ0YXAtcGFyc2VyLWl0ZXJhdG9yLWFycmF5LXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJ0YXAtcGFyc2VyLWl0ZXJhdG9yLXByb2Nlc3MtcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYnRhcC1wYXJzZXItaXRlcmF0b3Itc3RyZWFtLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJ0YXAtcGFyc2VyLWl0ZXJhdG9yZmFjdG9yeS1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGlidGFwLXBhcnNlci1tdWx0aXBsZXhlci1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGlidGFwLXBhcnNlci1yZXN1bHQtcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYnRhcC1wYXJzc2VyLXJlc3VsdC1iYWlsb3V0LXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJ0YXAtcGFyc2VyLXJlc3VsdC1jb21tZW50LXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJ0YXAtcGFyc2VyLXJlc3VsdC1wbGFuLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJ0YXAtcGFyc2VyLXJlc3VsdC1wcmFnbWEtcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYnRhcC1wYXJzZXItcmVzdWx0LXRlc3QtcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYnRhcC1wYXJzZXItcmVzdWx0LXVua25vd24tcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYnRhcC1wYXJzZXItcmVzdWx0LXZlcnNpb24tcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYnRhcC1wYXJzZXItcmVzdWx0LXlhbWwtcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYnRhcC1wYXJzZXItcmVzdWx0ZmFjdG9yeS1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGlidGFwLXBhcnNlci1zY2hlZHVsZXItcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYnRhcC1wYXJzZXItc2NoZWR1bGVyLWpvYi1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGlidGFwLXBhcnNlci1zY2hlZHVsZXItc3Bpbm5lci1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGlidGFwLXBhcnNlci1zb3VyY2UtcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYnRhcC1wYXJzZXItc291cmNlaGFuZGxlci1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGlidGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWV4ZWN1dGFibGUtcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYnRhcC1wYXJzZXItc291cmNlaGFuZGxlci1maWxlLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJ0YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItaGFuZGxlLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJ0YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItcGVybC1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGlidGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLXJhd3RhcC1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGlidGFwLXBhcnNlci15YW1saXNoLXJlYWRlci1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGlidGFwLXBhcnNlci15YW1saXNoLXdyaXRlci1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJ0ZXh0L2xpYnRleHQtZGlmZi1wZXJsXzEuNDEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlidGV4dC9saWJ0ZXh0LWRpZmYtcGVybF8xLjQxLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE0YzI0NmUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlidGV4dC9saWJ0ZXh0LWRpZmYtcGVybF8xLjQxLmJiCkBAIC0wLDAgKzEsMjcgQEAKK1NVTU1BUlkgPSAiVGV4dDo6RGlmZiAtIFBlcmZvcm0gZGlmZnMgb24gZmlsZXMgYW5kIHJlY29yZCBzZXRzIgorREVTQ1JJUFRJT04gPSAiZGlmZigpIHByb3ZpZGVzIGEgYmFzaWMgc2V0IG9mIHNlcnZpY2VzIGFraW4gdG8gdGhlIEdOVSBkaWZmIFwKK3V0aWxpdHkuIEl0IGlzIG5vdCBhbnl3aGVyZSBuZWFyIGFzIGZlYXR1cmUgY29tcGxldGUgYXMgR05VIGRpZmYsIGJ1dCBpdCBpcyBcCitiZXR0ZXIgaW50ZWdyYXRlZCB3aXRoIFBlcmwgYW5kIGF2YWlsYWJsZSBvbiBhbGwgcGxhdGZvcm1zLiBJdCBpcyBvZnRlbiBcCitmYXN0ZXIgdGhhbiBzaGVsbGluZyBvdXQgdG8gYSBzeXN0ZW0ncyBkaWZmIGV4ZWN1dGFibGUgZm9yIHNtYWxsIGZpbGVzLCBcCithbmQgZ2VuZXJhbGx5IHNsb3dlciBvbiBsYXJnZXIgZmlsZXMuIgorU0VDVElPTiA9ICJsaWJzIgorCitIT01FUEFHRSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL35vdmlkL1RleHQtRGlmZi8iCisKK0xJQ0VOU0UgPSAiQXJ0aXN0aWMtMS4wIHwgR1BMLTIuMCsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0zODVjNTU2NTM4ODZhY2FjMzgyMTk5OWEzY2NkMTdiMyIKKworU1JDX1VSSSA9ICIke0NQQU5fTUlSUk9SfS9hdXRob3JzL2lkL08vT1YvT1ZJRC9UZXh0LURpZmYtJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjMwZDU2ZTZkZDU1NTFjYTE2YjhlMTZjYzcyOTlkYzIxIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImE2N2Y1MGE0OGUzMTNjMTY4MGNjNjYyMTA5Y2U1ZjkxM2VhNzE0NTRkYjM1NWQwY2Y0ZGI4N2FjODlkMmQyZmEiCisKK1MgPSAiJHtXT1JLRElSfS9UZXh0LURpZmYtJHtQVn0iCisKK2luaGVyaXQgY3BhbgorCitSREVQRU5EU18ke1BOfSA9ICIgbGliYWxnb3JpdGhtLWRpZmYtcGVybCBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1leHBvcnRlciBcCisiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYnRleHQvbGlidGV4dC1pY29udi1wZXJsXzEuNy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJ0ZXh0L2xpYnRleHQtaWNvbnYtcGVybF8xLjcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTM0YmUwMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJ0ZXh0L2xpYnRleHQtaWNvbnYtcGVybF8xLjcuYmIKQEAgLTAsMCArMSwyNCBAQAorU1VNTUFSWSA9ICJQZXJsIGludGVyZmFjZSB0byBpY29udigpIGNvZGVzZXQgY29udmVyc2lvbiBmdW5jdGlvbiIKK0RFU0NSSVBUSU9OID0gIlwKK1RoZSBUZXh0OjpJY29udiBtb2R1bGUgcHJvdmlkZXMgYSBQZXJsIGludGVyZmFjZSB0byB0aGUgaWNvbnYoKSBcCitmdW5jdGlvbiBhcyBkZWZpbmVkIGJ5IHRoZSBTaW5nbGUgVU5JWCBTcGVjaWZpY2F0aW9uLiBUaGUgY29udmVydCgpIFwKK21ldGhvZCBjb252ZXJ0cyB0aGUgZW5jb2Rpbmcgb2YgY2hhcmFjdGVycyBpbiB0aGUgaW5wdXQgc3RyaW5nIGZyb20gXAordGhlIGZyb21jb2RlIGNvZGVzZXQgdG8gdGhlIHRvY29kZSBjb2Rlc2V0LCBhbmQgcmV0dXJucyB0aGUgcmVzdWx0LiBcCitTZXR0aW5ncyBvZiBmcm9tY29kZSBhbmQgdG9jb2RlIGFuZCB0aGVpciBwZXJtaXR0ZWQgY29tYmluYXRpb25zIGFyZSBcCitpbXBsZW1lbnRhdGlvbi1kZXBlbmRlbnQuIFZhbGlkIHZhbHVlcyBhcmUgc3BlY2lmaWVkIGluIHRoZSBzeXN0ZW0gXAorZG9jdW1lbnRhdGlvbi4iCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkFydGlzdGljLTEuMCB8IEdQTC0xLjArIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUkVBRE1FO2JlZ2lubGluZT0zO2VuZGxpbmU9NjttZDU9ZmFkZjI5MTljNzEyOGU4ODdkMjZiNGQ5MDVmOTA2NDkiCitSUkVDT01NRU5EU18ke1BOfSArPSAiZ2xpYmMtZ2NvbnZzIgorCitTUkNfVVJJID0gImh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvQ1BBTi9hdXRob3JzL2lkL00vTVAvTVBJT1RSL1RleHQtSWNvbnYtJHtQVn0udGFyLmd6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiODFiMjZlMDY5ZWFlYmIwODRlOTFlYTNjMDA5YjY3YWUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNWI4MGI3ZDVlNzA5ZDM0MzkzYmNiYTg4OTcxODY0YTE3YjQ0YTViZjBmOWU0YmNlZTM4M2QwMjllN2QyZDVjMyIKKworUyA9ICIke1dPUktESVJ9L1RleHQtSWNvbnYtJHtQVn0iCisKK2luaGVyaXQgY3BhbgorCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9wZXJsL3ZlbmRvcl9wZXJsLyovYXV0by9UZXh0L0ljb252Ly5kZWJ1Zy8iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlieG1sL2xpYnhtbC1maWx0ZXItYnVmZmVydGV4dC1wZXJsXzEuMDEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlieG1sL2xpYnhtbC1maWx0ZXItYnVmZmVydGV4dC1wZXJsXzEuMDEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzdkZDYxNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJ4bWwvbGlieG1sLWZpbHRlci1idWZmZXJ0ZXh0LXBlcmxfMS4wMS5iYgpAQCAtMCwwICsxLDI1IEBACitTVU1NQVJZID0gIlhNTDo6RmlsdGVyOjpCdWZmZXJUZXh0IC0gRmlsdGVyIHRvIHB1dCBhbGwgY2hhcmFjdGVycygpIGluIG9uZSBldmVudCIKK0RFU0NSSVBUSU9OID0gIlwKK1RoZSBYTUw6OkZpbHRlcjo6QnVmZmVyVGV4dCBtb2R1bGUgaXMgYSB2ZXJ5IHNpbXBsZSBmaWx0ZXIuICBPbmUgY29tbW9uIFwKK2NhdXNlIG9mIGdyaWVmIChhbmQgcHJvZ3JhbW1lciBlcnJvcikgaXMgdGhhdCBYTUwgcGFyc2VycyBhcmVuJ3QgcmVxdWlyZWQgXAordG8gcHJvdmlkZSBjaGFyYWN0ZXIgZXZlbnRzIGluIG9uZSBjaHVuay4gIFRoZXkgY2FuLCBidXQgYXJlIG5vdCBmb3JjZWQgXAordG8sIGFuZCBtb3N0IGRvbid0LiAgVGhpcyBmaWx0ZXIgZG9lcyB0aGUgdHJpdmlhbCBidXQgb2Z0LXJlcGVhdGVkIHRhc2sgXAorb2YgcHV0dGluZyBhbGwgY2hhcmFjdGVycyBpbnRvIGEgc2luZ2xlIGV2ZW50LiBcCisiCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkFydGlzdGljLTEuMCB8IEdQTHYxKyIKK0hPTUVQQUdFID0gImh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvZGlzdC9YTUwtRmlsdGVyLUJ1ZmZlclRleHQvIgorREVQRU5EUyArPSAibGlieG1sLXNheC1wZXJsLW5hdGl2ZSIKK1JERVBFTkRTXyR7UE59ICs9ICJsaWJ4bWwtc2F4LXBlcmwiCisKK1NSQ19VUkkgPSAiaHR0cDovL3NlYXJjaC5jcGFuLm9yZy9DUEFOL2F1dGhvcnMvaWQvUi9SQi9SQkVSSk9OL1hNTC1GaWx0ZXItQnVmZmVyVGV4dC0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiMjk5MmMwMzg3NjMyNTgzYjk2NmFiOWM5NjViMjU1MTIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOGZkMjEyNmQzYmVlYzU1NGRmODUyOTE5ZjQ3MzllNjg5MjAyY2JiYTZhMTc1MDZlOWI2NmVhMTY1ODQxYTc1YyIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQnVmZmVyVGV4dC5wbTtiZWdpbmxpbmU9ODg7ZW5kbGluZT05MDttZDU9NDk3YWE2ZDc5Y2M4NGMzZDc2OWEyYTAwMTZiZWU5MjgiCisKK1MgPSAiJHtXT1JLRElSfS9YTUwtRmlsdGVyLUJ1ZmZlclRleHQtJHtQVn0iCisKK2luaGVyaXQgY3BhbgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJ4bWwvbGlieG1sLWxpYnhtbC1wZXJsL2Rpc2FibGUtbGlieG1sMi1jaGVjay5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJ4bWwvbGlieG1sLWxpYnhtbC1wZXJsL2Rpc2FibGUtbGlieG1sMi1jaGVjay5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOGU3Y2MxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYnhtbC9saWJ4bWwtbGlieG1sLXBlcmwvZGlzYWJsZS1saWJ4bWwyLWNoZWNrLnBhdGNoCkBAIC0wLDAgKzEsNzkgQEAKK0RvIG5vdCB1c2UgdGhlIF9saWJ4bWxfY2hlY2tfbGliKCkgb24gY3Jvc3MtY29tcGlsZQorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dIAorCit4bWwyIGhhdmUgYmVlbiBhZGRlZCBpbnRvIHBhY2thZ2UncyBERVBFTkRTLCBzbyBub3QgbmVlZCB0byB1c2UgdGhlCitfbGlieG1sX2NoZWNrX2xpYigpIHRvIGNoZWNrIGl0IGFnYWluLCBhbmQgX2xpYnhtbF9jaGVja19saWIoKSBhbHdheXMKK3JldHVybiBmYWxzZSBvbiBjcm9zcy1jb21waWxlIGVudmlyb25tZW50CisKK1NpZ25lZC1vZmYtYnk6IFJveSBMaSA8cm9uZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KKy0tLQorIE1ha2VmaWxlLlBMIHwgICA1MiArKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDI2IGluc2VydGlvbnMoKyksIDI2IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUuUEwgYi9NYWtlZmlsZS5QTAoraW5kZXggYzA0ODVmMS4uMDljNjc2YiAxMDA2NDQKKy0tLSBhL01ha2VmaWxlLlBMCisrKysgYi9NYWtlZmlsZS5QTAorQEAgLTQxMSwzMiArNDExLDMyIEBAIHN1YiBfbGlieG1sX2NoZWNrX2xpYiB7CisgICAgIH0KKyB9CisgCistcHJpbnQgIkNoZWNraW5nIGZvciBhYmlsaXR5IHRvIGxpbmsgYWdhaW5zdCB4bWwyLi4uIjsKKy1pZiAoIF9saWJ4bWxfY2hlY2tfbGliKCd4bWwyJykgKSB7CistICAgIHByaW50ICJ5ZXNcbiI7CistfQorLWVsc2UgeworLSAgICBwcmludCAibm9cbiI7CistICAgIHByaW50ICJDaGVja2luZyBmb3IgYWJpbGl0eSB0byBsaW5rIGFnYWluc3QgbGlieG1sMi4uLiI7CistICAgIGlmICggX2xpYnhtbF9jaGVja19saWIoJ2xpYnhtbDInKSkgeworLSAgICAgICAgcHJpbnQgInllc1xuIjsKKy0gICAgfQorLSAgICBlbHNlIHsKKy0gICAgICAgIHByaW50IFNUREVSUiA8PCJERUFUSCI7CistbGlieG1sMiwgemxpYiwgYW5kL29yIHRoZSBNYXRoIGxpYnJhcnkgKC1sbSkgaGF2ZSBub3QgYmVlbiBmb3VuZC4KKy1Ucnkgc2V0dGluZyBMSUJTIGFuZCBJTkMgdmFsdWVzIG9uIHRoZSBjb21tYW5kIGxpbmUKKy1PciBnZXQgbGlieG1sMiBmcm9tCistICBodHRwOi8veG1sc29mdC5vcmcvCistSWYgeW91IGluc3RhbGwgdmlhIFJQTXMsIG1ha2Ugc3VyZSB5b3UgYWxzbyBpbnN0YWxsIHRoZSAtZGV2ZWwKKy1SUE1zLCBhcyB0aGlzIGlzIHdoZXJlIHRoZSBoZWFkZXJzICguaCBmaWxlcykgYXJlLgorLQorLUFsc28sIHlvdSBtYXkgdHJ5IHRvIHJ1biBwZXJsIE1ha2VmaWxlLlBMIHdpdGggdGhlIERFQlVHPTEgcGFyYW1ldGVyCistdG8gc2VlIHRoZSBleGFjdCByZWFzb24gd2h5IHRoZSBkZXRlY3Rpb24gb2YgbGlieG1sMiBpbnN0YWxsYXRpb24KKy1mYWlsZWQgb3Igd2h5IE1ha2VmaWxlLlBMIHdhcyBub3QgYWJsZSB0byBjb21waWxlIGEgdGVzdCBwcm9ncmFtLgorLURFQVRICistICAgICAgICBleGl0IDA7ICMgMCByZWNvbW1lbmRlZCBieSBodHRwOi8vY3BhbnRlc3QuZ3JhbmdvLm9yZyAoTm90ZXMgZm9yIENQQU4gQXV0aG9ycykKKy0gICAgfQorLX0KKysjcHJpbnQgIkNoZWNraW5nIGZvciBhYmlsaXR5IHRvIGxpbmsgYWdhaW5zdCB4bWwyLi4uIjsKKysjaWYgKCBfbGlieG1sX2NoZWNrX2xpYigneG1sMicpICkgeworKyMgICAgcHJpbnQgInllc1xuIjsKKysjfQorKyNlbHNlIHsKKysjICAgIHByaW50ICJub1xuIjsKKysjICAgIHByaW50ICJDaGVja2luZyBmb3IgYWJpbGl0eSB0byBsaW5rIGFnYWluc3QgbGlieG1sMi4uLiI7CisrIyAgICBpZiAoIF9saWJ4bWxfY2hlY2tfbGliKCdsaWJ4bWwyJykpIHsKKysjICAgICAgICBwcmludCAieWVzXG4iOworKyMgICAgfQorKyMgICAgZWxzZSB7CisrIyAgICAgICAgcHJpbnQgU1RERVJSIDw8IkRFQVRIIjsKKysjbGlieG1sMiwgemxpYiwgYW5kL29yIHRoZSBNYXRoIGxpYnJhcnkgKC1sbSkgaGF2ZSBub3QgYmVlbiBmb3VuZC4KKysjVHJ5IHNldHRpbmcgTElCUyBhbmQgSU5DIHZhbHVlcyBvbiB0aGUgY29tbWFuZCBsaW5lCisrI09yIGdldCBsaWJ4bWwyIGZyb20KKysjICBodHRwOi8veG1sc29mdC5vcmcvCisrI0lmIHlvdSBpbnN0YWxsIHZpYSBSUE1zLCBtYWtlIHN1cmUgeW91IGFsc28gaW5zdGFsbCB0aGUgLWRldmVsCisrI1JQTXMsIGFzIHRoaXMgaXMgd2hlcmUgdGhlIGhlYWRlcnMgKC5oIGZpbGVzKSBhcmUuCisrIworKyNBbHNvLCB5b3UgbWF5IHRyeSB0byBydW4gcGVybCBNYWtlZmlsZS5QTCB3aXRoIHRoZSBERUJVRz0xIHBhcmFtZXRlcgorKyN0byBzZWUgdGhlIGV4YWN0IHJlYXNvbiB3aHkgdGhlIGRldGVjdGlvbiBvZiBsaWJ4bWwyIGluc3RhbGxhdGlvbgorKyNmYWlsZWQgb3Igd2h5IE1ha2VmaWxlLlBMIHdhcyBub3QgYWJsZSB0byBjb21waWxlIGEgdGVzdCBwcm9ncmFtLgorKyNERUFUSAorKyMgICAgICAgIGV4aXQgMDsgIyAwIHJlY29tbWVuZGVkIGJ5IGh0dHA6Ly9jcGFudGVzdC5ncmFuZ28ub3JnIChOb3RlcyBmb3IgQ1BBTiBBdXRob3JzKQorKyMgICAgfQorKyN9CisgCisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCisgIyBfTk9XXyB3cml0ZSB0aGUgTWFrZWZpbGUKKy0tIAorMS43LjEwLjQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYnhtbC9saWJ4bWwtbGlieG1sLXBlcmwvZml4LUNBVEFMT0ctY29uZGl0aW9uYWwtY29tcGlsZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJ4bWwvbGlieG1sLWxpYnhtbC1wZXJsL2ZpeC1DQVRBTE9HLWNvbmRpdGlvbmFsLWNvbXBpbGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWRkOWZiMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJ4bWwvbGlieG1sLWxpYnhtbC1wZXJsL2ZpeC1DQVRBTE9HLWNvbmRpdGlvbmFsLWNvbXBpbGUucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorW1BBVENIXSBGaXggYSBjb21waWxlIGVycm9yIAorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworRml4IGEgY29tcGlsZSBlcnJvciBieSBjb25kaXRpb25hbCB1c2luZyAnY2F0YWwnIHNpbmNlIGNhdGFsCitpcyBvbmx5IGRlZmluZWQgd2hlbiBMSUJYTUxfQ0FUQUxPR19FTkFCTEVEIGlzIGVuYWJsZWQuCisKK1NpZ25lZC1vZmYtYnk6IFJveSBMaSA8cm9uZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KKy0tLQorIExpYlhNTC54cyB8ICAgIDIgKysKKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9MaWJYTUwueHMgYi9MaWJYTUwueHMKK2luZGV4IDY2ZGEwNGIuLjQ1ZGE2ODEgMTAwNjQ0CistLS0gYS9MaWJYTUwueHMKKysrKyBiL0xpYlhNTC54cworQEAgLTI3NzcsOSArMjc3NywxMSBAQCBfZGVmYXVsdF9jYXRhbG9nKCBzZWxmLCBjYXRhbG9nICkKKyAgICAgICAgIHhtbENhdGFsb2dQdHIgY2F0YWwgPSBJTlQyUFRSKHhtbENhdGFsb2dQdHIsU3ZJVihTdlJWKGNhdGFsb2cpKSk7CisgI2VuZGlmCisgICAgIElOSVQ6CisrI2lmZGVmIExJQlhNTF9DQVRBTE9HX0VOQUJMRUQKKyAgICAgICAgIGlmICggY2F0YWwgPT0gTlVMTCApIHsKKyAgICAgICAgICAgICBjcm9hayggImVtcHR5IGNhdGFsb2dcbiIgKTsKKyAgICAgICAgIH0KKysjZW5kaWYKKyAgICAgQ09ERToKKyAgICAgICAgIHdhcm4oICJ0aGlzIGZlYXR1cmUgaXMgbm90IGltcGxlbWVudGVkIiApOworICAgICAgICAgUkVUVkFMID0gMDsKKy0tIAorMS43LjEwLjQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYnhtbC9saWJ4bWwtbGlieG1sLXBlcmwvdXNpbmctRE9DQi1jb25kaXRpb25hbC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJ4bWwvbGlieG1sLWxpYnhtbC1wZXJsL3VzaW5nLURPQ0ItY29uZGl0aW9uYWwucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDI1NWVjNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJ4bWwvbGlieG1sLWxpYnhtbC1wZXJsL3VzaW5nLURPQ0ItY29uZGl0aW9uYWwucGF0Y2gKQEAgLTAsMCArMSw5MSBAQAorW1BBVENIXSBGaXggYSBjb21waWxlIGVycm9yIAorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworYnkgY29uZGl0aW9uYWwgdXNpbmcgJ1hNTF9ET0NCX0RPQ1VNRU5UX05PREUnIHNpbmNlIGl0IGlzIG9ubHkKK2RlZmluZWQgd2hlbiBMSUJYTUxfRE9DQl9FTkFCTEVEIGlzIGVuYWJsZWQgaW4geG1sdmVyc2lvbi5oLgorCitTaWduZWQtb2ZmLWJ5OiBSb3kgTGkgPHJvbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CistLS0KKyBMaWJYTUwueHMgICAgICAgIHwgICAgOSArLQorIGRvbS5jICAgICAgICAgICAgfCAgICAyICsKKyBwZXJsLWxpYnhtbC1tbS5jIHwgICAgNCArCisgNCBmaWxlcyBjaGFuZ2VkLCA2NzggaW5zZXJ0aW9ucygrKSwgNjU4IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvTGliWE1MLnhzIGIvTGliWE1MLnhzCitpbmRleCBiMjk5YmE0Li42NmRhMDRiIDEwMDY0NAorLS0tIGEvTGliWE1MLnhzCisrKysgYi9MaWJYTUwueHMKK0BAIC01MDI2LDcgKzUwMjYsOSBAQCBhZGRDaGlsZCggc2VsZiwgbk5vZGUgKQorICAgICAgICAgICAgIFhTUkVUVVJOX1VOREVGOworICAgICAgICAgY2FzZSBYTUxfRE9DVU1FTlRfTk9ERSA6CisgICAgICAgICBjYXNlIFhNTF9IVE1MX0RPQ1VNRU5UX05PREUgOgorKyNpZmRlZiBMSUJYTUxfRE9DQl9FTkFCTEVECisgICAgICAgICBjYXNlIFhNTF9ET0NCX0RPQ1VNRU5UX05PREUgOgorKyNlbmRpZgorICAgICAgICAgICAgIGNyb2FrKCJhZGRDaGlsZDogSElFUkFSQ0hZX1JFUVVFU1RfRVJSXG4iKTsKKyAgICAgICAgICAgICBYU1JFVFVSTl9VTkRFRjsKKyAgICAgICAgIGNhc2UgWE1MX05PVEFUSU9OX05PREUgOgorQEAgLTUyODYsNyArNTI4OCw5IEBAIF90b1N0cmluZ0MxNE4oc2VsZiwgY29tbWVudHM9MCwgeHBhdGg9JlBMX3N2X3VuZGVmLCBleGNsdXNpdmU9MCwgaW5jX3ByZWZpeF9saXN0CisgICAgICAgICBpZiAoIG5vZGVwYXRoID09IE5VTEwKKyAgICAgICAgICAgICAgJiYgc2VsZi0+dHlwZSAhPSBYTUxfRE9DVU1FTlRfTk9ERQorICAgICAgICAgICAgICAmJiBzZWxmLT50eXBlICE9IFhNTF9IVE1MX0RPQ1VNRU5UX05PREUKKysjaWZkZWYgTElCWE1MX0RPQ0JfRU5BQkxFRAorICAgICAgICAgICAgICAmJiBzZWxmLT50eXBlICE9IFhNTF9ET0NCX0RPQ1VNRU5UX05PREUKKysjZW5kaWYKKyAgICAgICAgICAgICkgeworICAgICAgICAgICAgIGlmIChjb21tZW50cykKKyAJICAgICAgbm9kZXBhdGggPSB4bWxTdHJkdXAoIChjb25zdCB4bWxDaGFyICopICIoLiB8IC4vL25vZGUoKSB8IC4vL0AqIHwgLi8vbmFtZXNwYWNlOjoqKSIgKTsKK0BAIC01Mjk3LDcgKzUzMDEsMTAgQEAgX3RvU3RyaW5nQzE0TihzZWxmLCBjb21tZW50cz0wLCB4cGF0aD0mUExfc3ZfdW5kZWYsIGV4Y2x1c2l2ZT0wLCBpbmNfcHJlZml4X2xpc3QKKyAgICAgICAgIGlmICggbm9kZXBhdGggIT0gTlVMTCApIHsKKyAgICAgICAgICAgICBpZiAoIHNlbGYtPnR5cGUgPT0gWE1MX0RPQ1VNRU5UX05PREUKKyAgICAgICAgICAgICAgICAgIHx8IHNlbGYtPnR5cGUgPT0gWE1MX0hUTUxfRE9DVU1FTlRfTk9ERQorLSAgICAgICAgICAgICAgICAgfHwgc2VsZi0+dHlwZSA9PSBYTUxfRE9DQl9ET0NVTUVOVF9OT0RFICkgeworKyNpZmRlZiBMSUJYTUxfRE9DQl9FTkFCTEVECisrICAgICAgICAgICAgICAgICB8fCBzZWxmLT50eXBlID09IFhNTF9ET0NCX0RPQ1VNRU5UX05PREUKKysjZW5kaWYKKysJICAgICkgeworICAgICAgICAgICAgICAgICByZWZOb2RlID0geG1sRG9jR2V0Um9vdEVsZW1lbnQoIHNlbGYtPmRvYyApOworICAgICAgICAgICAgIH0KKyAJICAgIGlmIChTdk9LKHhwYXRoX2NvbnRleHQpKSB7CitkaWZmIC0tZ2l0IGEvZG9tLmMgYi9kb20uYworaW5kZXggODdlYjYxZC4uY2JkMzkxYiAxMDA2NDQKKy0tLSBhL2RvbS5jCisrKysgYi9kb20uYworQEAgLTY1NCw3ICs2NTQsOSBAQCBkb21OYW1lKHhtbE5vZGVQdHIgbm9kZSkgeworIAorICAgICBjYXNlIFhNTF9ET0NVTUVOVF9OT0RFIDoKKyAgICAgY2FzZSBYTUxfSFRNTF9ET0NVTUVOVF9OT0RFIDoKKysjaWZkZWYgTElCWE1MX0RPQ0JfRU5BQkxFRAorICAgICBjYXNlIFhNTF9ET0NCX0RPQ1VNRU5UX05PREUgOgorKyNlbmRpZgorICAgICAgICAgbmFtZSA9IChjb25zdCB4bWxDaGFyICopICIjZG9jdW1lbnQiOworICAgICAgICAgYnJlYWs7CisgCitkaWZmIC0tZ2l0IGEvcGVybC1saWJ4bWwtbW0uYyBiL3BlcmwtbGlieG1sLW1tLmMKK2luZGV4IGQxNjJiMDYuLjdhYzU0MzYgMTAwNjQ0CistLS0gYS9wZXJsLWxpYnhtbC1tbS5jCisrKysgYi9wZXJsLWxpYnhtbC1tbS5jCitAQCAtMzMxLDcgKzMzMSw5IEBAIFBtbU5ld05vZGUoeG1sTm9kZVB0ciBub2RlKQorICAgICAgICAgc3dpdGNoICggbm9kZS0+dHlwZSApIHsKKyAgICAgICAgIGNhc2UgWE1MX0RPQ1VNRU5UX05PREU6CisgICAgICAgICBjYXNlIFhNTF9IVE1MX0RPQ1VNRU5UX05PREU6CisrI2lmZGVmIExJQlhNTF9ET0NCX0VOQUJMRUQKKyAgICAgICAgIGNhc2UgWE1MX0RPQ0JfRE9DVU1FTlRfTk9ERToKKysjZW5kaWYKKyAgICAgICAgICAgICBwcm94eSA9IChQcm94eU5vZGVQdHIpeG1sTWFsbG9jKHNpemVvZihzdHJ1Y3QgX0RvY1Byb3h5Tm9kZSkpOworICAgICAgICAgICAgIGlmIChwcm94eSAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICgoRG9jUHJveHlOb2RlUHRyKXByb3h5KS0+cHN2aV9zdGF0dXMgPSBQbW1fTk9fUFNWSTsKK0BAIC01NTAsNyArNTUyLDkgQEAgUG1tTm9kZVRvU3YoIHhtbE5vZGVQdHIgbm9kZSwgUHJveHlOb2RlUHRyIG93bmVyICkKKyAgICAgICAgIHN3aXRjaCAoIG5vZGUtPnR5cGUgKSB7CisgICAgICAgICBjYXNlIFhNTF9ET0NVTUVOVF9OT0RFOgorICAgICAgICAgY2FzZSBYTUxfSFRNTF9ET0NVTUVOVF9OT0RFOgorKyNpZmRlZiBMSUJYTUxfRE9DQl9FTkFCTEVECisgICAgICAgICBjYXNlIFhNTF9ET0NCX0RPQ1VNRU5UX05PREU6CisrI2VuZGlmCisgICAgICAgICAgICAgaWYgKCAoKHhtbERvY1B0cilub2RlKS0+ZW5jb2RpbmcgIT0gTlVMTCApIHsKKyAgICAgICAgICAgICAgICAgU2V0UG1tRU5DT0RJTkcoZGZQcm94eSwgKGludCl4bWxQYXJzZUNoYXJFbmNvZGluZyggKGNvbnN0IGNoYXIqKSgoeG1sRG9jUHRyKW5vZGUpLT5lbmNvZGluZyApKTsKKyAgICAgICAgICAgICB9CistLSAKKzEuNy4xMC40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJ4bWwvbGlieG1sLWxpYnhtbC1wZXJsXzIuMDEyMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJ4bWwvbGlieG1sLWxpYnhtbC1wZXJsXzIuMDEyMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44OTk3YTA0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYnhtbC9saWJ4bWwtbGlieG1sLXBlcmxfMi4wMTIxLmJiCkBAIC0wLDAgKzEsNDMgQEAKK1NVTU1BUlkgPSAiUGVybCBpbnRlcmZhY2UgdG8gdGhlIGxpYnhtbDIgbGlicmFyeSIKK0RFU0NSSVBUSU9OID0gIlRoaXMgbW9kdWxlIGlzIGFuIGludGVyZmFjZSB0byBsaWJ4bWwyLCBwcm92aWRpbmcgWE1MIGFuZCBIVE1MIHBhcnNlcnMgXCAKK3dpdGggRE9NLCBTQVggYW5kIFhNTFJlYWRlciBpbnRlcmZhY2VzLCBhIGxhcmdlIHN1YnNldCBvZiBET00gTGF5ZXIgMyBcCitpbnRlcmZhY2UgYW5kIGEgWE1MOjpYUGF0aC1saWtlIGludGVyZmFjZSB0byBYUGF0aCBBUEkgb2YgbGlieG1sMi4gXAorVGhlIG1vZHVsZSBpcyBzcGxpdCBpbnRvIHNldmVyYWwgcGFja2FnZXMgd2hpY2ggYXJlIG5vdCBkZXNjcmliZWQgaW4gdGhpcyBcCitzZWN0aW9uOyB1bmxlc3Mgc3RhdGVkIG90aGVyd2lzZSwgeW91IG9ubHkgbmVlZCB0byB1c2UgWE1MOjpMaWJYTUw7IGluIFwKK3lvdXIgcHJvZ3JhbXMuIgorCitIT01FUEFHRSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL2Rpc3QvWE1MLUxpYlhNTC0xLjk5LyIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiQXJ0aXN0aWMtMS4wfEdQTHYxKyIKK0RFUEVORFMgKz0gImxpYnhtbDIgXAorICAgICAgICBsaWJ4bWwtc2F4LXBlcmwtbmF0aXZlIFwKKyAgICAgICAgemxpYiBcCisiCitSREVQRU5EU18ke1BOfSArPSAibGlieG1sMiBcCisgICAgICAgIGxpYnhtbC1zYXgtcGVybCBcCisgICAgICAgIGxpYnhtbC1zYXgtYmFzZS1wZXJsIFwKKyAgICAgICAgemxpYiBcCisiCisKK1NSQ19VUkkgPSAiaHR0cDovL3NlYXJjaC5jcGFuLm9yZy9DUEFOL2F1dGhvcnMvaWQvUy9TSC9TSExPTUlGL1hNTC1MaWJYTUwtJHtQVn0udGFyLmd6O25hbWU9bGlieG1sIFwKKwlmaWxlOi8vZGlzYWJsZS1saWJ4bWwyLWNoZWNrLnBhdGNoIFwKKwlmaWxlOi8vZml4LUNBVEFMT0ctY29uZGl0aW9uYWwtY29tcGlsZS5wYXRjaCBcCisJZmlsZTovL3VzaW5nLURPQ0ItY29uZGl0aW9uYWwucGF0Y2ggXAorIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vZGViaWFuL2NvcHlyaWdodDttZDU9NzVlMDIxZTM1YTkwNjM0N2Y0NmM5ZmYxNjM2NTNlMmEgXAorCQkJZmlsZTovL0xJQ0VOU0U7bWQ1PTk3ODcxYmRlMTUwZGFlYjVlNjFhZDk1MTM3ZmYyNDQ2IgorU1JDX1VSSVtsaWJ4bWwubWQ1c3VtXSA9ICIxNTQ0YWI5YWMxMTBmNWRhMjk2MDE1MzQ2NTYxY2UwMiIKK1NSQ19VUklbbGlieG1sLnNoYTI1NnN1bV0gPSAiZWM0MzEwMTFjYjM3YTA0NjQwZmQyMzE2ZjY0ZDA0MDVhMjc0ZWVjZTJjNmYzODQ3ZjdmYmQzMzZlYjFjMGRjOSIKKworUyA9ICIke1dPUktESVJ9L1hNTC1MaWJYTUwtJHtQVn0iCisKK2luaGVyaXQgY3BhbgorCitFWFRSQV9DUEFORkxBR1MgPSAiSU5DPS1JJHtTVEFHSU5HX0lOQ0RJUn0vbGlieG1sMiBMSUJTPS1MJHtTVEFHSU5HX0xJQkRJUn0iCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCitDRkxBR1MgKz0gIiAtRF9HTlVfU09VUkNFICIKK0JVSUxEX0NGTEFHUyArPSAiIC1EX0dOVV9TT1VSQ0UgIgorCitGSUxFU18ke1BOfS1kYmcgPSsgIiR7bGliZGlyfS9wZXJsL3ZlbmRvcl9wZXJsLyovYXV0by9YTUwvTGliWE1MLy5kZWJ1Zy8iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlieG1sL2xpYnhtbC1zYXgtd3JpdGVyLXBlcmxfMC41Ni5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJ4bWwvbGlieG1sLXNheC13cml0ZXItcGVybF8wLjU2LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk2MWNlZGEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlieG1sL2xpYnhtbC1zYXgtd3JpdGVyLXBlcmxfMC41Ni5iYgpAQCAtMCwwICsxLDI1IEBACitTVU1NQVJZID0gIlhNTDo6U0FYOjpXcml0ZXIgLSBTQVgyIFdyaXRlciIKK0RFU0NSSVBUSU9OID0gIlwKK1hNTDo6U0FYOjpXcml0ZXIgaGVscHMgdG8gc2VyaWFsaXplIFNBWDIgcmVwcmVzZW50YXRpb25zIG9mIFhNTCBkb2N1bWVudHMgdG8gXAorc3RyaW5ncywgZmlsZXMsIGFuZCBvdGhlciBmbGF0IHJlcHJlc2VudGF0aW9ucy4gSXQgaGFuZGxlcyBjaGFyc2V0IGVuY29kaW5ncywgXAorWE1MIGVzY2FwaW5nIGNvbnZlbnRpb25zLCBhbmQgc28gZm9ydGguIEl0IGlzIHN0aWxsIGNvbnNpZGVyZWQgYWxwaGEsIFwKK2FsdGhvdWdoIGl0IGhhcyBiZWVuIHB1dCB0byBsaW1pdGVkIHVzZSBpbiBzZXR0aW5ncyBzdWNoIGFzIFhNTDo6TGliWE1MIGFuZCBcCit0aGUgQXhLaXQgWE1MIEFwcGxpY2F0aW9uIFNlcnZlci4gXAorIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJBcnRpc3RpYy0xLjAgfCBHUEx2MSsiCitIT01FUEFHRSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL2Rpc3QvWE1MLVNBWC1Xcml0ZXIvIgorREVQRU5EUyArPSAibGlieG1sLWZpbHRlci1idWZmZXJ0ZXh0LXBlcmwtbmF0aXZlIgorUkRFUEVORFNfJHtQTn0gKz0gImxpYnhtbC1maWx0ZXItYnVmZmVydGV4dC1wZXJsIgorCitTUkNfVVJJID0gImh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvQ1BBTi9hdXRob3JzL2lkL1AvUEUvUEVSSUdSSU4vWE1MLVNBWC1Xcml0ZXItJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gImU1ZmE1ZTJiMmY2ODY3YjFhY2E5YjViNDNlMWNlMzYxIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImQwNzNmN2EyNTA3MmM4MTUwMzE3Yjg2Yjk5ZDA3MDMxMzE2YTE1YmZmYWI5OWU2M2U1YWZlNTkxYzgyMTdkMDMiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1JFQURNRTtiZWdpbmxpbmU9NDU7ZW5kbGluZT00NjttZDU9ZDQxZDhjZDk4ZjAwYjIwNGU5ODAwOTk4ZWNmODQyN2UiCisKK1MgPSAiJHtXT1JLRElSfS9YTUwtU0FYLVdyaXRlci0ke1BWfSIKKworaW5oZXJpdCBjcGFuCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9DT1BZSU5HLk1JVCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vQ09QWUlORy5NSVQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmI5NTBkYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vQ09QWUlORy5NSVQKQEAgLTAsMCArMSwxNyBAQAorUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weSAKK29mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsIAoraW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyAKK3RvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgCitjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgCitmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorCitUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiAKK2FsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorCitUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUiAKK0lNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLCAKK0ZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSAKK0FVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgCitMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCAKK09VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gCitUSEUgU09GVFdBUkUuCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL1JFQURNRSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vUkVBRE1FCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM2ZTc2YmYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL1JFQURNRQpAQCAtMCwwICsxLDUxIEBACittZXRhLXB5dGhvbgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworSW50cm9kdWN0aW9uCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1RoaXMgbGF5ZXIgaXMgaW50ZW5kZWQgdG8gYmUgdGhlIGhvbWUgb2YgcHl0aG9uIG1vZHVsZXMgZm9yIE9wZW5FbWJlZGRlZC4KK01vZHVsZXMgaW4gdGhpcyBsYXllciBuZWVkIHRvIGJlIGluZGVwZW5kZW50IG9mIG9wZW5lbWJlZGRlZC1jb3JlIGFuZAorbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS4gQmVjYXVzZSBvZiB0aGlzLCBtb2R1bGVzIHJlcXVpcmVkIGJ5ICdnYXRlb25lJworYW5kICdhbmtpJyBhcmUgbm90IGluY2x1ZGVkIGFuZCByZW1haW4gaW46CisgICAgICAgIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9weXRob24uCisKK0RlcGVuZGVuY2llcworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitUaGUgbWV0YS1weXRob24gbGF5ZXIgZGVwZW5kcyBvbjoKKworCVVSSTogZ2l0Oi8vZ2l0Lm9wZW5lbWJlZGRlZC5vcmcvb3BlbmVtYmVkZGVkLWNvcmUKKwlsYXllcnM6IG1ldGEKKwlicmFuY2g6IGtyb2dvdGggCisJcmV2aXNpb246IEhFQUQKKworCVVSSTogZ2l0Oi8vZ2l0Lm9wZW5lbWJlZGRlZC5vcmcvbWV0YS1vcGVuZW1iZWRkZWQKKwlsYXllcnM6IG1ldGEtb2UKKwlicmFuY2g6ICBrcm9nb3RoCisJcmV2aXNpb246IEhFQUQKKworUGxlYXNlIGZvbGxvdyB0aGUgcmVjb21tZW5kZWQgc2V0dXAgcHJvY2VkdXJlcyBvZiB5b3VyIE9FIGRpc3RyaWJ1dGlvbi4KK0ZvciBBbmdzdHJvbSB0aGF0IGlzOgorICAgICAgICBodHRwOi8vd3d3LmFuZ3N0cm9tLWRpc3RyaWJ1dGlvbi5vcmcvYnVpbGRpbmctYW5nc3Ryb20sCitvdGhlciBkaXN0cm9zIHNob3VsZCBoYXZlIHNpbWlsYXIgb25saW5lIHJlc291cmNlcy4KKworQ29udHJpYnV0aW5nCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1RoZSBtZXRhLW9wZW5lbWJlZGRlZCBtYWlsaW5nbGlzdAorKG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnKSBpcyB1c2VkIGZvciBxdWVzdGlvbnMsCitjb21tZW50cyBhbmQgcGF0Y2ggcmV2aWV3LiBJdCBpcyBzdWJzY3JpYmVyIG9ubHksIHNvIHBsZWFzZSByZWdpc3RlcgorYmVmb3JlIHBvc3RpbmcuCisKK1NlbmQgcHVsbCByZXF1ZXN0cyB0byBvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZyB3aXRoCisnW21ldGEtcHl0aG9uXVtrcm9nb3RoXScgaW4gdGhlIHN1YmplY3QuCisKK1doZW4gc2VuZGluZyBzaW5nbGUgcGF0Y2hlcywgcGxlYXNlIHVzZSBzb21ldGhpbmcgbGlrZTogCisnZ2l0IHNlbmQtZW1haWwgLU0gLTEgLS10bz1vcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZyAtLXN1YmplY3QtcHJlZml4PW1ldGEtcHl0aG9uXVtrcm9nb3RoXVtQQVRDSCcKKworTWFpbnRlbmFuY2UKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKwora3JvZ290aCBCcmFuY2ggTWFpbnRhaW5lcjoKK0FybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL2NsYXNzZXMvcHlwaS5iYmNsYXNzIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9jbGFzc2VzL3B5cGkuYmJjbGFzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NTllMWMwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9jbGFzc2VzL3B5cGkuYmJjbGFzcwpAQCAtMCwwICsxLDIzIEBACitkZWYgcHlwaV9wYWNrYWdlKGQpOgorICAgIGJwbiA9IGQuZ2V0VmFyKCdCUE4nLCBUcnVlKQorICAgIGlmIGJwbi5zdGFydHN3aXRoKCdweXRob24tJyk6CisgICAgICAgIHJldHVybiBicG5bNzpdCisgICAgZWxpZiBicG4uc3RhcnRzd2l0aCgncHl0aG9uMy0nKToKKyAgICAgICAgcmV0dXJuIGJwbls4Ol0KKyAgICByZXR1cm4gYnBuCisKK1BZUElfUEFDS0FHRSA/PSAiJHtAcHlwaV9wYWNrYWdlKGQpfSIKK1BZUElfUEFDS0FHRV9FWFQgPz0gInRhci5neiIKKworZGVmIHB5cGlfc3JjX3VyaShkKToKKyAgICBwYWNrYWdlID0gZC5nZXRWYXIoJ1BZUElfUEFDS0FHRScsIFRydWUpCisgICAgcGFja2FnZV9leHQgPSBkLmdldFZhcignUFlQSV9QQUNLQUdFX0VYVCcsIFRydWUpCisgICAgcHYgPSBkLmdldFZhcignUFYnLCBUcnVlKQorICAgIHJldHVybiAnaHR0cHM6Ly9weXBpLnB5dGhvbi5vcmcvcGFja2FnZXMvc291cmNlLyVzLyVzLyVzLSVzLiVzJyAlIChwYWNrYWdlWzBdLCBwYWNrYWdlLCBwYWNrYWdlLCBwdiwgcGFja2FnZV9leHQpCisKK1BZUElfU1JDX1VSSSA/PSAiJHtAcHlwaV9zcmNfdXJpKGQpfSIKKworSE9NRVBBR0UgPz0gImh0dHBzOi8vcHlwaS5weXRob24ub3JnL3B5cGkvJHtQWVBJX1BBQ0tBR0V9LyIKK1NFQ1RJT04gPSAiZGV2ZWwvcHl0aG9uIgorU1JDX1VSSSArPSAiJHtQWVBJX1NSQ19VUkl9IgorUyA9ICIke1dPUktESVJ9LyR7UFlQSV9QQUNLQUdFfS0ke1BWfSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vY29uZi9sYXllci5jb25mIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9jb25mL2xheWVyLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDUzNjc3ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vY29uZi9sYXllci5jb25mCkBAIC0wLDAgKzEsMTcgQEAKKyMgV2UgbWlnaHQgaGF2ZSBhIGNvbmYgYW5kIGNsYXNzZXMgZGlyZWN0b3J5LCBhcHBlbmQgdG8gQkJQQVRICitCQlBBVEggLj0gIjoke0xBWUVSRElSfSIKKworIyBXZSBoYXZlIHJlY2lwZXMgZGlyZWN0b3JpZXMsIGFkZCB0byBCQkZJTEVTCitCQkZJTEVTICs9ICIke0xBWUVSRElSfS9yZWNpcGVzKi8qLyouYmIgJHtMQVlFUkRJUn0vcmVjaXBlcyovKi8qLmJiYXBwZW5kIgorCitCQkZJTEVfQ09MTEVDVElPTlMgKz0gIm1ldGEtcHl0aG9uIgorQkJGSUxFX1BBVFRFUk5fbWV0YS1weXRob24gOj0gIl4ke0xBWUVSRElSfS8iCitCQkZJTEVfUFJJT1JJVFlfbWV0YS1weXRob24gPSAiNyIKKworIyBUaGlzIHNob3VsZCBvbmx5IGJlIGluY3JlbWVudGVkIG9uIHNpZ25pZmljYW50IGNoYW5nZXMgdGhhdCB3aWxsCisjIGNhdXNlIGNvbXBhdGliaWxpdHkgaXNzdWVzIHdpdGggb3RoZXIgbGF5ZXJzCitMQVlFUlZFUlNJT05fbWV0YS1weXRob24gPSAiMSIKKworTEFZRVJERVBFTkRTX21ldGEtcHl0aG9uID0gImNvcmUgb3BlbmVtYmVkZGVkLWxheWVyIgorCitMSUNFTlNFX1BBVEggKz0gIiR7TEFZRVJESVJ9L2xpY2Vuc2VzIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9saWNlbnNlcy9Vbmljb2RlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9saWNlbnNlcy9Vbmljb2RlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVkMmNjNGEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL2xpY2Vuc2VzL1VuaWNvZGUKQEAgLTAsMCArMSwzNyBAQAorQ09QWVJJR0hUIEFORCBQRVJNSVNTSU9OIE5PVElDRQorCitDb3B5cmlnaHQgMTk5MS0yMDE1IFVuaWNvZGUsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KK0Rpc3RyaWJ1dGVkIHVuZGVyIHRoZSBUZXJtcyBvZiBVc2UgaW4KK2h0dHA6Ly93d3cudW5pY29kZS5vcmcvY29weXJpZ2h0Lmh0bWwuCisKK1Blcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZworYSBjb3B5IG9mIHRoZSBVbmljb2RlIGRhdGEgZmlsZXMgYW5kIGFueSBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24KKyh0aGUgIkRhdGEgRmlsZXMiKSBvciBVbmljb2RlIHNvZnR3YXJlIGFuZCBhbnkgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uCisodGhlICJTb2Z0d2FyZSIpIHRvIGRlYWwgaW4gdGhlIERhdGEgRmlsZXMgb3IgU29mdHdhcmUKK3dpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsCitjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YKK3RoZSBEYXRhIEZpbGVzIG9yIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgRGF0YSBGaWxlcworb3IgU29mdHdhcmUgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgcHJvdmlkZWQgdGhhdAorKGEpIHRoaXMgY29weXJpZ2h0IGFuZCBwZXJtaXNzaW9uIG5vdGljZSBhcHBlYXIgd2l0aCBhbGwgY29waWVzCitvZiB0aGUgRGF0YSBGaWxlcyBvciBTb2Z0d2FyZSwKKyhiKSB0aGlzIGNvcHlyaWdodCBhbmQgcGVybWlzc2lvbiBub3RpY2UgYXBwZWFyIGluIGFzc29jaWF0ZWQKK2RvY3VtZW50YXRpb24sIGFuZAorKGMpIHRoZXJlIGlzIGNsZWFyIG5vdGljZSBpbiBlYWNoIG1vZGlmaWVkIERhdGEgRmlsZSBvciBpbiB0aGUgU29mdHdhcmUKK2FzIHdlbGwgYXMgaW4gdGhlIGRvY3VtZW50YXRpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBEYXRhIEZpbGUocykgb3IKK1NvZnR3YXJlIHRoYXQgdGhlIGRhdGEgb3Igc29mdHdhcmUgaGFzIGJlZW4gbW9kaWZpZWQuCisKK1RIRSBEQVRBIEZJTEVTIEFORCBTT0ZUV0FSRSBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRgorQU5ZIEtJTkQsIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUKK1dBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQKK05PTklORlJJTkdFTUVOVCBPRiBUSElSRCBQQVJUWSBSSUdIVFMuCitJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBPUiBIT0xERVJTIElOQ0xVREVEIElOIFRISVMKK05PVElDRSBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgT1IgQU5ZIFNQRUNJQUwgSU5ESVJFQ1QgT1IgQ09OU0VRVUVOVElBTAorREFNQUdFUywgT1IgQU5ZIERBTUFHRVMgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTSBMT1NTIE9GIFVTRSwKK0RBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1IgT1RIRVIKK1RPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1IKK1BFUkZPUk1BTkNFIE9GIFRIRSBEQVRBIEZJTEVTIE9SIFNPRlRXQVJFLgorCitFeGNlcHQgYXMgY29udGFpbmVkIGluIHRoaXMgbm90aWNlLCB0aGUgbmFtZSBvZiBhIGNvcHlyaWdodCBob2xkZXIKK3NoYWxsIG5vdCBiZSB1c2VkIGluIGFkdmVydGlzaW5nIG9yIG90aGVyd2lzZSB0byBwcm9tb3RlIHRoZSBzYWxlLAordXNlIG9yIG90aGVyIGRlYWxpbmdzIGluIHRoZXNlIERhdGEgRmlsZXMgb3IgU29mdHdhcmUgd2l0aG91dCBwcmlvcgord3JpdHRlbiBhdXRob3JpemF0aW9uIG9mIHRoZSBjb3B5cmlnaHQgaG9sZGVyLgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWNvbm5lY3Rpdml0eS9nYXRlb25lL2dhdGVvbmUvODBvZS5jb25mLmluIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWNvbm5lY3Rpdml0eS9nYXRlb25lL2dhdGVvbmUvODBvZS5jb25mLmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ1MDNkYTQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtY29ubmVjdGl2aXR5L2dhdGVvbmUvZ2F0ZW9uZS84MG9lLmNvbmYuaW4KQEAgLTAsMCArMSwyNCBAQAorLy8gU29tZSBjdXN0b20gR2F0ZSBPbmUgc2V0dGluZ3MgZm9yIE9wZW5FbWJlZGRlZAoreworICAgICIqIjogeworICAgICAgICAiZ2F0ZW9uZSI6IHsgLy8gVGhlc2Ugc2V0dGluZ3MgYXBwbHkgdG8gYWxsIG9mIEdhdGUgT25lCisgICAgICAgICAgICAibG9nX2ZpbGVfcHJlZml4IjogIkBsb2NhbHN0YXRlQC9sb2cvZ2F0ZW9uZS5sb2ciLCAvLyBkZWZhdWx0IHdvdWxkIGJlIC92YXIvbG9nL2dhdGVvbmUvZ2F0ZW9uZS5sb2cKKyAgICAgICAgICAgICJsb2dfZmlsZV9tYXhfc2l6ZSI6IDUyNDI4ODAsIC8vIDUgbWVnYWJ5dGUgbG9ncyBmb3IgT0UgYnkgZGVmYXVsdCAoZGVmYXVsdCB3b3VsZCBub3JtYWxseSBiZSAxMDBNYikKKyAgICAgICAgICAgICJsb2dfZmlsZV9udW1fYmFja3VwcyI6IDIsIC8vIERlZmF1bHQgaXMgbm9ybWFsbHkgMTAKKyAgICAgICAgICAgICJvcmlnaW5zIjogWyIqIl0sIC8vIEV2ZXJ5IGRldmljZSBoYXMgYSB1bmlxdWUgb3JpZ2luCisgICAgICAgICAgICAibG9nZ2luZyI6ICJpbmZvIiwKKyAgICAgICAgICAgICJwaWRfZmlsZSI6ICIvcnVuL2dhdGVvbmUucGlkIiwKKyAgICAgICAgICAgICJzZXNzaW9uX2RpciI6ICIvdG1wL2dhdGVvbmUiLAorICAgICAgICAgICAgInVzZXJfZGlyIjogIkBsb2NhbHN0YXRlQC9saWIvZ2F0ZW9uZS91c2VycyIKKyAgICAgICAgfSwKKyAgICAgICAgInRlcm1pbmFsIjogeworICAgICAgICAgICAgLy8gRGlzYWJsaW5nIHNlc3Npb24gbG9nZ2luZyBmb3IgZW1iZWRkZWQgZGV2aWNlcyBpcyBhIGdvb2QgaWRlYSAobGltaXRlZC9zbG93IHN0b3JhZ2UpCisgICAgICAgICAgICAic2Vzc2lvbl9sb2dnaW5nIjogZmFsc2UsCisgICAgICAgICAgICAic3lzbG9nX3Nlc3Npb25fbG9nZ2luZyI6IGZhbHNlCisvLyAgICAgICAgICAgICAiY29tbWFuZHMiOiB7CisvLyAgICAgICAgICAgICAgICAgLy8gRm9yIHNvbWUgcmVhc29uIHRoaXMgZG9lc24ndCB3b3JrIChuZXZlciBhc2tzIGZvciB0aGUgcGFzc3dvcmQpCisvLyAgICAgICAgICAgICAgICAgImxvZ2luIjogInNldHNpZCAvYmluL2xvZ2luIiAvLyBOb3JtYWxseSB0aGlzIHdvdWxkIGVtdWxhdGUgbG9nZ2luZyBpbnRvIHRoZSBob3N0IGNvbnNvbGUKKy8vICAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1jb25uZWN0aXZpdHkvZ2F0ZW9uZS9nYXRlb25lL2dhdGVvbmUtYXZhaGkuc2VydmljZSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1jb25uZWN0aXZpdHkvZ2F0ZW9uZS9nYXRlb25lL2dhdGVvbmUtYXZhaGkuc2VydmljZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZjYxM2QxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWNvbm5lY3Rpdml0eS9nYXRlb25lL2dhdGVvbmUvZ2F0ZW9uZS1hdmFoaS5zZXJ2aWNlCkBAIC0wLDAgKzEsMTAgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgc3RhbmRhbG9uZT0nbm8nPz48IS0tKi1ueG1sLSotLT4KKzwhRE9DVFlQRSBzZXJ2aWNlLWdyb3VwIFNZU1RFTSAiYXZhaGktc2VydmljZS5kdGQiPgorCis8c2VydmljZS1ncm91cD4KKyAgPG5hbWUgcmVwbGFjZS13aWxkY2FyZHM9InllcyI+R2F0ZU9uZSBvbiAlaDwvbmFtZT4KKyAgPHNlcnZpY2U+CisgICAgPHR5cGU+X2h0dHBzLl90Y3A8L3R5cGU+CisgICAgPHBvcnQ+NDQzPC9wb3J0PgorICA8L3NlcnZpY2U+Cis8L3NlcnZpY2UtZ3JvdXA+CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtY29ubmVjdGl2aXR5L2dhdGVvbmUvZ2F0ZW9uZS9nYXRlb25lLWluaXQuaW4gYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtY29ubmVjdGl2aXR5L2dhdGVvbmUvZ2F0ZW9uZS9nYXRlb25lLWluaXQuaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODZkNjU1YwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1jb25uZWN0aXZpdHkvZ2F0ZW9uZS9nYXRlb25lL2dhdGVvbmUtaW5pdC5pbgpAQCAtMCwwICsxLDQ3IEBACisjIS9iaW4vc2ggLWUKKyMjIyBCRUdJTiBJTklUIElORk8KKyMgUHJvdmlkZXM6ICAgICAgICAgIGdhdGVvbmUKKyMgUmVxdWlyZWQtU3RhcnQ6ICAgIG5ldHdvcmtpbmcKKyMgRGVmYXVsdC1TdGFydDogICAgIDIgMyA0IDUKKyMgRGVmYXVsdC1TdG9wOiAgICAgIDAgMSA2CisjIFNob3J0LURlc2NyaXB0aW9uOiBHYXRlb25lIEhUTUw1IHNzaCBjbGllbnQKKyMgRGVzY3JpcHRpb246ICAgICAgIEdhdGVvbmUgSFRNTDUgdGVybWluYWwgZW11bGF0b3IgYW5kIFNTSCBjbGllbnQuCisjIyMgRU5EIElOSVQgSU5GTworCisuIC9ldGMvaW5pdC5kL2Z1bmN0aW9ucworCitOQU1FPWdhdGVvbmUKK0RBRU1PTj1AYmluZGlyQC9nYXRlb25lCitQSURGSUxFPS9ydW4vZ2F0ZW9uZS5waWQKK1dPUktESVI9QGxvY2Fsc3RhdGVAL2xpYi9nYXRlb25lCisKK2RvX3N0YXJ0KCkgeworICAgIGNkICRXT1JLRElSCisgICAgQGJpbmRpckAvcHl0aG9uICREQUVNT04gPiAvZGV2L251bGwgMj4mMSAmCisgICAgY2QgJE9MRFBXRAorfQorCitkb19zdG9wKCkgeworICAgIGtpbGwgLVRFUk0gYGNhdCAkUElERklMRWAKK30KKworY2FzZSAiJDEiIGluCisgICAgc3RhcnQpCisgICAgICAgIGVjaG8gIlN0YXJ0aW5nIGdhdGVvbmUiCisgICAgICAgIGRvX3N0YXJ0CisgICAgICAgIDs7CisgICAgc3RvcCkKKyAgICAgICAgZWNobyAiU3RvcHBpbmcgZ2F0ZW9uZSIKKyAgICAgICAgZG9fc3RvcAorICAgICAgICA7OworICAgIHJlc3RhcnR8Zm9yY2UtcmVsb2FkKQorICAgICAgICBlY2hvICJSZXN0YXJ0IGdhdGVvbmUiCisgICAgICAgIGRvX3N0b3AKKyAgICAgICAgc2xlZXAgMQorICAgICAgICBkb19zdGFydAorICAgICAgICA7OworICAgICopCisgICAgICAgIGVjaG8gIlVzYWdlOiAkMCB7c3RhcnR8c3RvcHxyZXN0YXJ0fGZvcmNlLXJlbG9hZH0iID4mMgorICAgICAgICBleGl0IDEKKyAgICAgICAgOzsKK2VzYWMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1jb25uZWN0aXZpdHkvZ2F0ZW9uZS9nYXRlb25lL2dhdGVvbmUuc2VydmljZS5pbiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1jb25uZWN0aXZpdHkvZ2F0ZW9uZS9nYXRlb25lL2dhdGVvbmUuc2VydmljZS5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NDY2NzI3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWNvbm5lY3Rpdml0eS9nYXRlb25lL2dhdGVvbmUvZ2F0ZW9uZS5zZXJ2aWNlLmluCkBAIC0wLDAgKzEsMTAgQEAKK1tVbml0XQorRGVzY3JpcHRpb249R2F0ZU9uZSBkYWVtb24KK0NvbmRpdGlvblBhdGhFeGlzdHM9fEBsb2NhbHN0YXRlQC9saWIvZ2F0ZW9uZQorCitbU2VydmljZV0KK1dvcmtpbmdEaXJlY3Rvcnk9QGxvY2Fsc3RhdGVAL2xpYi9nYXRlb25lCitFeGVjU3RhcnQ9QGJpbmRpckAvcHl0aG9uIEBiaW5kaXJAL2dhdGVvbmUKKworW0luc3RhbGxdCitXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWNvbm5lY3Rpdml0eS9nYXRlb25lL2dhdGVvbmVfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWNvbm5lY3Rpdml0eS9nYXRlb25lL2dhdGVvbmVfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVmZjc1M2UKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtY29ubmVjdGl2aXR5L2dhdGVvbmUvZ2F0ZW9uZV9naXQuYmIKQEAgLTAsMCArMSw4OSBAQAorU1VNTUFSWSA9ICJIVE1MNSAocGx1Z2luLWZyZWUpIHdlYi1iYXNlZCB0ZXJtaW5hbCBlbXVsYXRvciBhbmQgU1NIIGNsaWVudCIKK0xJQ0VOU0UgPSAiQUdQTC0zLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLnR4dDttZDU9ODM0Y2JjNjk5NWRiODg0MzNkYjE3Y2RmODk1M2E0MjgiCitIT01FUEFHRSA9ICJodHRwOi8vbGlmdG9mZnNvZnR3YXJlLmNvbS9Qcm9kdWN0cy9HYXRlT25lIgorCitQViA9ICIxLjIrZ2l0JHtTUkNQVn0iCitTUkNSRVYgPSAiZjdhOWJlNDZjYjkwZjU3NDU5ZWJkMzYzZDI0NzAyZGUwZTY1MTAzNCIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9saWZ0b2ZmL0dhdGVPbmUuZ2l0O2JyYW5jaD1tYXN0ZXIgXAorICAgICAgICAgICBmaWxlOi8vZ2F0ZW9uZS1hdmFoaS5zZXJ2aWNlIFwKKyAgICAgICAgICAgZmlsZTovLzgwb2UuY29uZi5pbiBcCisgICAgICAgICAgIGZpbGU6Ly9nYXRlb25lLnNlcnZpY2UuaW4gXAorICAgICAgICAgICBmaWxlOi8vZ2F0ZW9uZS1pbml0LmluIFwKKyIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBkaXN0dXRpbHMgcHl0aG9uLWRpciBzeXN0ZW1kIHVwZGF0ZS1yYy5kCitleHBvcnQgcHJlZml4ID0gIiR7bG9jYWxzdGF0ZWRpcn0iCisKK0RJU1RVVElMU19JTlNUQUxMX0FSR1MgPSAiLS1yb290PSR7RH0gXAorICAgIC0tcHJlZml4PSR7cHJlZml4fSBcCisgICAgLS1pbnN0YWxsLWxpYj0ke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfSBcCisgICAgLS1pbnN0YWxsLWRhdGE9JHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0gXAorICAgIC0taW5zdGFsbC1zY3JpcHRzPSR7YmluZGlyfSBcCisgICAgLS1za2lwX2luaXRfc2NyaXB0cyIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisKKyAgICAjIGZpeCB1cCBoYXJkY29kZWQgcGF0aHMKKyAgICBmb3IgZmlsZSBpbiBnYXRlb25lLnNlcnZpY2UgZ2F0ZW9uZS1pbml0IDgwb2UuY29uZjsgZG8KKyAgICAgICAgc2VkIC1lIHM6QGJpbmRpckA6JHtiaW5kaXJ9OmcgXAorICAgICAgICAgICAgLWUgczpAbG9jYWxzdGF0ZUA6JHtsb2NhbHN0YXRlZGlyfTpnIFwKKyAgICAgICAgICAgIDwgJHtXT1JLRElSfS8kZmlsZS5pbiBcCisgICAgICAgICAgICA+ICR7V09SS0RJUn0vJGZpbGUKKyAgICBkb25lCisgICAgCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2dhdGVvbmUuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9nYXRlb25lLWluaXQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL2dhdGVvbmUKKyAgICAKKyAgICBpbnN0YWxsIC1tIDA3NTUgLWQgJHtEfSR7c3lzY29uZmRpcn0vYXZhaGkvc2VydmljZXMvCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vZ2F0ZW9uZS1hdmFoaS5zZXJ2aWNlICR7RH0ke3N5c2NvbmZkaXJ9L2F2YWhpL3NlcnZpY2VzLworCisgICAgaW5zdGFsbCAtbSAwNzU1IC1kICR7RH0ke3N5c2NvbmZkaXJ9L2dhdGVvbmUvY29uZi5kLworICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9Lzgwb2UuY29uZiAke0R9JHtzeXNjb25mZGlyfS9nYXRlb25lL2NvbmYuZC84MG9lLmNvbmYKKworICAgIGluc3RhbGwgLWQgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vbGliL2dhdGVvbmUKK30KKworRklMRVNfJHtQTn0gPSAiJHtsb2NhbHN0YXRlZGlyfS9saWIgJHtiaW5kaXJ9ICR7YmFzZV9saWJkaXJ9ICR7c3lzY29uZmRpcn0gJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0iCitSREVQRU5EU18ke1BOfSA9ICJtaW1lLXN1cHBvcnQgXAorICAgICAgICAgICAgICAgICAgb3BlbnNzaC1zc2ggXAorICAgICAgICAgICAgICAgICAgcHl0aG9uLWNvbXByZXNzaW9uIFwKKyAgICAgICAgICAgICAgICAgIHB5dGhvbi1jb250ZXh0bGliIFwKKyAgICAgICAgICAgICAgICAgIHB5dGhvbi1jcnlwdCBcCisgICAgICAgICAgICAgICAgICBweXRob24tZGF0ZXRpbWUgXAorICAgICAgICAgICAgICAgICAgcHl0aG9uLWVtYWlsIFwKKyAgICAgICAgICAgICAgICAgIHB5dGhvbi1mY250bCBcCisgICAgICAgICAgICAgICAgICBweXRob24tZnV0dXJlcyBcCisgICAgICAgICAgICAgICAgICBweXRob24taHRtbCBcCisgICAgICAgICAgICAgICAgICBweXRob24taW1hZ2luZyBcCisgICAgICAgICAgICAgICAgICBweXRob24taW8gXAorICAgICAgICAgICAgICAgICAgcHl0aG9uLWpzb24gXAorICAgICAgICAgICAgICAgICAgcHl0aG9uLWxvZ2dpbmcgXAorICAgICAgICAgICAgICAgICAgcHl0aG9uLW1pc2MgXAorICAgICAgICAgICAgICAgICAgcHl0aG9uLW11bHRpcHJvY2Vzc2luZyBcCisgICAgICAgICAgICAgICAgICBweXRob24tbmV0Y2xpZW50IFwKKyAgICAgICAgICAgICAgICAgIHB5dGhvbi1wa2d1dGlsIFwKKyAgICAgICAgICAgICAgICAgIHB5dGhvbi1weW9wZW5zc2wgXAorICAgICAgICAgICAgICAgICAgcHl0aG9uLXJlIFwKKyAgICAgICAgICAgICAgICAgIHB5dGhvbi1yZWFkbGluZSBcCisgICAgICAgICAgICAgICAgICBweXRob24tc2V0dXB0b29scyBcCisgICAgICAgICAgICAgICAgICBweXRob24tc2hlbGwgXAorICAgICAgICAgICAgICAgICAgcHl0aG9uLXNpbXBsZWpzb24gXAorICAgICAgICAgICAgICAgICAgcHl0aG9uLXN1YnByb2Nlc3MgXAorICAgICAgICAgICAgICAgICAgcHl0aG9uLXN5c2xvZyBcCisgICAgICAgICAgICAgICAgICBweXRob24tdGVybWluYWwgXAorICAgICAgICAgICAgICAgICAgcHl0aG9uLXRleHR1dGlscyBcCisgICAgICAgICAgICAgICAgICBweXRob24tdG9ybmFkbyBcCisgICAgICAgICAgICAgICAgICBweXRob24tdW5peGFkbWluIFwKKyAgICAgICAgICAgICAgICAgIHB5dGhvbi14bWwgXAorICAgICAgICAgICAgICAgICAgcHl0aG9uLWh0bWw1bGliIFwKKyAgICAgICAgICAgICAgICAgIGJhc2ggXAorIgorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAiZ2F0ZW9uZS5zZXJ2aWNlIgorSU5JVFNDUklQVF9OQU1FID0gImdhdGVvbmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtY29ubmVjdGl2aXR5L3B5dGhvbi1weXJvNC9weXRob24tcHlybzRfNC4zOS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1jb25uZWN0aXZpdHkvcHl0aG9uLXB5cm80L3B5dGhvbi1weXJvNF80LjM5LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ1Yjc5M2QKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtY29ubmVjdGl2aXR5L3B5dGhvbi1weXJvNC9weXRob24tcHlybzRfNC4zOS5iYgpAQCAtMCwwICsxLDE2IEBACitTVU1NQVJZID0gIlB5dGhvbiBSZW1vdGUgT2JqZWN0cyIKK0hPTUVQQUdFID0gImh0dHBzOi8vcHlwaS5weXRob24ub3JnL3B5cGkvUHlybzQvIgorU0VDVElPTiA9ICJkZXZlbC9weXRob24iCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWI0OGI2MmRkMjcwYzQ2OTFmYWJhYTg1YmUzMjM2MDMwIgorCitTUkNOQU1FID0gIlB5cm80IgorCitTUkNfVVJJID0gImh0dHBzOi8vcHlwaS5weXRob24ub3JnL3BhY2thZ2VzL3NvdXJjZS9QLyR7U1JDTkFNRX0vJHtTUkNOQU1FfS0ke1BWfS50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI3NWVkNWNkMTQyODAzYjBhOGQ1ODdkYzhiNmJiNTFlZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzOWM2Y2E3Zjg2YjBmMGJlYmZlYWRhNjg3YTVhOGI5OWY2NjQ3MGE1MmIwZjgxNTE5NWFlNjNjNjgzMjY2ZjI0IgorCitTID0gIiR7V09SS0RJUn0vJHtTUkNOQU1FfS0ke1BWfSIKKworaW5oZXJpdCBzZXR1cHRvb2xzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtY29ubmVjdGl2aXR5L3B5dGhvbi10aHJpZnQvcHl0aG9uLXRocmlmdF8wLjkuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1jb25uZWN0aXZpdHkvcHl0aG9uLXRocmlmdC9weXRob24tdGhyaWZ0XzAuOS4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQwYzRhZjcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtY29ubmVjdGl2aXR5L3B5dGhvbi10aHJpZnQvcHl0aG9uLXRocmlmdF8wLjkuMi5iYgpAQCAtMCwwICsxLDE2IEBACitTVU1NQVJZID0gIlB5dGhvbiBiaW5kaW5ncyBmb3IgdGhlIEFwYWNoZSBUaHJpZnQgUlBDIHN5c3RlbSIKK0hPTUVQQUdFID0gImh0dHBzOi8vcHlwaS5weXRob24ub3JnL3B5cGkvYW1xcC8iCitTRUNUSU9OID0gImRldmVsL3B5dGhvbiIKK0xJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1BLRy1JTkZPO21kNT1kZjE3YTU5Y2M5ZTEzMjdlYzQ5YzIyODVlMTNhYzQ3NyIKKworU1JDTkFNRSA9ICJ0aHJpZnQiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9weXBpLnB5dGhvbi5vcmcvcGFja2FnZXMvc291cmNlL3QvJHtTUkNOQU1FfS8ke1NSQ05BTUV9LSR7UFZ9LnRhci5neiIKKworU1JDX1VSSVttZDVzdW1dID0gIjkxZjFjMjI0YzQ2YTI1N2JiNDI4NDMxOTQzMzg3ZGZkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjA4ZjY2NWU0YjAzM2M5ZDJkMGI2MTc0ZDg2OTI3MzEwNDM2MmM4MGU3N2VlNGMwMTA1NGE3NDE0MWUzNzhhZmEiCisKK1MgPSAiJHtXT1JLRElSfS8ke1NSQ05BTUV9LSR7UFZ9IgorCitpbmhlcml0IHNldHVwdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1jb25uZWN0aXZpdHkvcHl0aG9uLXR4d3MvcHl0aG9uLXR4d3NfMC45LjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtY29ubmVjdGl2aXR5L3B5dGhvbi10eHdzL3B5dGhvbi10eHdzXzAuOS4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBiMmFjMTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtY29ubmVjdGl2aXR5L3B5dGhvbi10eHdzL3B5dGhvbi10eHdzXzAuOS4xLmJiCkBAIC0wLDAgKzEsMTUgQEAKK1NVTU1BUlkgPSAiVHdpc3RlZCBXZWIgU29ja2V0cyIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9Nb3N0QXdlc29tZUR1ZGUvdHhXUyIKKworTElDRU5TRSA9ICJBcGFjaGUtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9NzY2OTk4MzBkYjdmYTllODk3ZjZhMWFkMDVmOThlYzgiCisKK0RFUEVORFMgPSAicHl0aG9uLXR3aXN0ZWQgcHl0aG9uLXNpeCBweXRob24tdmN2ZXJzaW9uZXIiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9Nb3N0QXdlc29tZUR1ZGUvdHhXUy5naXQiCitTUkNSRVY9ICI4OGNmNmQ5YjliNjg1ZmZhMTcyMDY0NGJkNTNjNzQyYWZiMTBhNDE0IgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IHNldHVwdG9vbHMKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXJ0bV8wLjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5cnRtXzAuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZDM4MmI5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXJ0bV8wLjIuYmIKQEAgLTAsMCArMSw5IEBACitTVU1NQVJZID0gIlB5dGhvbiBpbnRlcmZhY2UgZm9yIFJlbWVtYmVyIFRoZSBNaWxrIEFQSSIKK0FVVEhPUiA9ICJTcmlkaGFyIFJhdG5ha3VtYXIgLyBzcmlkIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9QS0ctSU5GTztiZWdpbmxpbmU9ODtlbmRsaW5lPTg7bWQ1PWE1M2NiYzdjYjc1NjYwNjk0ZTEzOGJhOTczYzE0OGRmIgorCitpbmhlcml0IHB5cGkgZGlzdHV0aWxzCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIzNDQyM2YzOWNhZjdkZjhhOWRiOGUyNDNiZTljZjFhMCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkOWQ0NmQwOTZhMzhjYjY5MmI1NWY0ZWU5ZjM2NGQ1NDM0ODI5OGU5NDk3YjExYzFlZjA1NzUzOWI1ZGUxNTY3IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tYXV0b2JhaG5fMC44LjYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1hdXRvYmFobl8wLjguNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjRkZDhmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tYXV0b2JhaG5fMC44LjYuYmIKQEAgLTAsMCArMSwxNiBAQAorREVTQ1JJUFRJT04gPSAiQXV0b2JhaG5QeXRob24gcHJvdmlkZXMgYSBXZWJTb2NrZXQgKFJGQzY0NTUsIEh5YmktMTAgdG8gLTE3LCBIaXhpZS03NikgZnJhbWV3b3JrIGZvciBjcmVhdGluZyBXZWJTb2NrZXQtYmFzZWQgY2xpZW50cyBhbmQgc2VydmVycy4gXAorQXV0b2JhaG5QeXRob24gYWxzbyBpbmNsdWRlcyBhbiBpbXBsZW1lbnRhdGlvbiBvZiBXQU1QIChUaGUgV2ViU29ja2V0cyBBcHBsaWNhdGlvbiBNZXNzYWdpbmcgUHJvdG9jb2wpLCBhIGxpZ2h0LXdlaWdodCwgIFwKK2FzeW5jaHJvbm91cyBSUEMvUHViU3ViIG92ZXIgSlNPTi9XZWJTb2NrZXQgcHJvdG9jb2wuIgorSE9NRVBBR0UgPSAiaHR0cDovL2F1dG9iYWhuLndzL3B5dGhvbiIKKworTElDRU5TRSA9ICJBcGFjaGUtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICIgZmlsZTovL2F1dG9iYWhuL19faW5pdF9fLnB5O2JlZ2lubGluZT0xO2VuZGxpbmU9MTc7bWQ1PTFmZGVjY2Y2ZTViNzBjZGE2NGNjMTM0NTU5N2MxOGUzIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMTYwNDI5ZTdmYjA0Mzk0MGU3OWFhN2Y0ZWJiYWI1N2EiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTRhZTVjNmYzN2Y5ZmU3YzlkM2YxMmMxNzBmY2MyNzNhZmVkNDEwNGExYzU1MDhiMjZkNjAxNGJiOWU2MzczZSIKKworUFlQSV9QQUNLQUdFX0VYVCA9ICJ6aXAiCitpbmhlcml0IHB5cGkgc2V0dXB0b29scworCitSREVQRU5EU18ke1BOfSA9ICJweXRob24gcHl0aG9uLXBwcmludCBweXRob24tdHdpc3RlZC1wcm90b2NvbHMgcHl0aG9uLW5ldHNlcnZlciBweXRob24tdHdpc3RlZC13ZWIiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWJhY2twb3J0cy1zc2xfMy40LjAuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWJhY2twb3J0cy1zc2xfMy40LjAuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZTJkMTc0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tYmFja3BvcnRzLXNzbF8zLjQuMC4yLmJiCkBAIC0wLDAgKzEsMTYgQEAKK1NVTU1BUlkgPSAiVGhlIHNzbC5tYXRjaF9ob3N0bmFtZSgpIGZ1bmN0aW9uIGZyb20gUHl0aG9uIDMuNCIKK0RFU0NSSVBUSU9OID0gIlRoZSBTZWN1cmUgU29ja2V0cyBsYXllciBpcyBvbmx5IGFjdHVhbGx5IHNlY3VyZSBpZiB5b3UgY2hlY2sgdGhlIGhvc3RuYW1lIGluIHRoZSBcCitjZXJ0aWZpY2F0ZSByZXR1cm5lZCBieSB0aGUgc2VydmVyIHRvIHdoaWNoIHlvdSBhcmUgY29ubmVjdGluZywgYW5kIHZlcmlmeSB0aGF0IGl0IG1hdGNoZXMgdG8gaG9zdG5hbWUgXAordGhhdCB5b3UgYXJlIHRyeWluZyB0byByZWFjaC4gQnV0IHRoZSBtYXRjaGluZyBsb2dpYywgZGVmaW5lZCBpbiBSRkMyODE4LCBjYW4gYmUgYSBiaXQgdHJpY2t5IHRvIGltcGxlbWVudCBcCitvbiB5b3VyIG93bi4gU28gdGhlIHNzbCBwYWNrYWdlIGluIHRoZSBTdGFuZGFyZCBMaWJyYXJ5IG9mIFB5dGhvbiAzLjIgYW5kIGdyZWF0ZXIgbm93IGluY2x1ZGVzIGEgXAorbWF0Y2hfaG9zdG5hbWUoKSBmdW5jdGlvbiBmb3IgcGVyZm9ybWluZyB0aGlzIGNoZWNrIGluc3RlYWQgb2YgcmVxdWlyaW5nIGV2ZXJ5IGFwcGxpY2F0aW9uIHRvIFwKK2ltcGxlbWVudCB0aGUgY2hlY2sgc2VwYXJhdGVseS4gVGhpcyBiYWNrcG9ydCBicmluZ3MgbWF0Y2hfaG9zdG5hbWUoKSB0byB1c2VycyBvZiBlYXJsaWVyIHZlcnNpb25zIG9mIFB5dGhvbiIKKworTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1BLRy1JTkZPO21kNT03N2I2ODQ5NjBiODZiN2E0YmI0YTQ1MGZmZGUwODYwNSIKKworU1JDX1VSSVttZDVzdW1dID0gIjc4ODIxNGYyMDIxNGM2NDYzMWYwODU5ZGM3OWYyM2M2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjA3NDEwZTdmYjA5YWFiN2JkYWY1ZTYxOGRlNjZjM2RhYzg0ZTJlM2Q2MjgzNTI4MTRkYzRjMzdkZTMyMWQ2YWUiCisKK1BZUElfUEFDS0FHRSA9ICJiYWNrcG9ydHMuc3NsX21hdGNoX2hvc3RuYW1lIgoraW5oZXJpdCBweXBpIHNldHVwdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWJjcnlwdF8yLjAuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWJjcnlwdF8yLjAuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zY2JlMzNlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tYmNyeXB0XzIuMC4wLmJiCkBAIC0wLDAgKzEsMTUgQEAKK0RFU0NSSVBUSU9OID0gIk1vZGVybiBwYXNzd29yZCBoYXNoaW5nIGZvciB5b3VyIHNvZnR3YXJlIGFuZCB5b3VyIHNlcnZlcnMuIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9QS0ctSU5GTzttZDU9ZTE5ZDBmZTQwYzVjZTQxMDllNmJjYmY0YWFiMmE1YmQiCisKK0RFUEVORFMgPSAicHl0aG9uLWNmZmktbmF0aXZlIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZTdmYjE3YmU0NjkwNGNkYjJhZTZhMDYyODU5ZWU1OGMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOGIyZDE5N2VmMjIwZDEwZWI3NDYyNWRkZTdhZjNiMTBkYWE5NzNhZTlhMWVhZGQ2MzY2Zjc2M2ZhZDQzODdmYSIKKworaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKKworUkRFUEVORFNfJHtQTn0gPSAiXAorICAgIHB5dGhvbi1jZmZpIFwKKyAgICBweXRob24tc2l4IFwKKyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWJlaGF2ZV8xLjIuNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWJlaGF2ZV8xLjIuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NDFhNzlkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tYmVoYXZlXzEuMi41LmJiCkBAIC0wLDAgKzEsMTAgQEAKK1NVTU1BUlkgPSAiQSBiZWhhdmlvci1kcml2ZW4gZGV2ZWxvcG1lbnQgZnJhbWV3b3JrLCBQeXRob24gc3R5bGUiCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWQ5NTA0MzllOGVhNmVkMjMzZTQyODhmNWUxYTQ5YzA2IgorCitTUkNfVVJJW21kNXN1bV0gPSAiM2FmNGJjMjg4NmQyYmU5ODJlNDFiZmFiYTYxZGEzYmMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiODFiNzMxYWM1MTg3ZTMxZTRhYWQyNTk0OTQ0ZmE5MTQ5NDM2ODNhOTgxODMyMDg0NmQwMzdjNWViZDZkNWQwYiIKKworUkRFUEVORFNfJHtQTn0gKz0gInB5dGhvbi1kaWZmbGliIHB5dGhvbi1zZXR1cHRvb2xzIHB5dGhvbi1wa2d1dGlsIHB5dGhvbi1taXNjIHB5dGhvbi1hcmdwYXJzZSBweXRob24teG1sIHB5dGhvbi1pbXBvcnRsaWIgcHl0aG9uLWVudW0zNCBweXRob24tcGFyc2UgcHl0aG9uLXBhcnNlLXR5cGUgcHl0aG9uLXNpeCIKKworaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWJpdGFycmF5XzAuOC4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tYml0YXJyYXlfMC44LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTQ1ZjFmYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWJpdGFycmF5XzAuOC4xLmJiCkBAIC0wLDAgKzEsMTEgQEAKK1NVTU1BUlkgPSAiQSBoaWdoLWxldmVsIFB5dGhvbiBlZmZpY2llbnQgYXJyYXlzIG9mIGJvb2xlYW5zIC0tIEMgZXh0ZW5zaW9uIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL2lsYW5zY2huZWxsL2JpdGFycmF5IgorTElDRU5TRSA9ICJQU0YiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0zYmE0NjkzNTNmOWYyYTI0NGIyMDc1OTAyMzUxZTM3ZCIKKworU1JDX1VSSVttZDVzdW1dID0gIjM4MjUxODRmNTRmNGQ5MzUwOGEyODAzMWI0YzY1ZDNiIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjdkYTUwMTM1NmU0OGE4M2M2MWY0NzkzOTM2ODFjMWJjNGI5NGU1YTM0YWNlN2UwOGNiMjllN2RkOTI5MGFiMTgiCisKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tYmxpbmtlcl8xLjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1ibGlua2VyXzEuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wY2UxNDFmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tYmxpbmtlcl8xLjQuYmIKQEAgLTAsMCArMSw4IEBACitERVNDUklQVElPTiA9ICJGYXN0LCBzaW1wbGUgb2JqZWN0LXRvLW9iamVjdCBhbmQgYnJvYWRjYXN0IHNpZ25hbGluZy4iCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1BLRy1JTkZPO21kNT05NDZkN2U4OWFmNmY3NzMzYWVhZWJlZDU2MzVkMjY4MiIKKworU1JDX1VSSVttZDVzdW1dID0gIjhiMzcyMjM4MWY4M2MyODEzYzUyZGUzMDE2YjY4ZDMzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjQ3MWFlZTI1ZjM5OTJiZDMyNWFmYTM3NzJmMTA2M2RiZGJiY2E5NDdhMDQxYjhiODk0NjZkYzAwZDYwNmY4YjYiCisKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jZXJ0aWZpLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNlcnRpZmkuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBmZThiMTUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jZXJ0aWZpLmluYwpAQCAtMCwwICsxLDExIEBACitTVU1NQVJZID0gIlB5dGhvbiBwYWNrYWdlIGZvciBwcm92aWRpbmcgTW96aWxsYSdzIENBIEJ1bmRsZS4iCitERVNDUklQVElPTiA9ICJUaGlzIGluc3RhbGxhYmxlIFB5dGhvbiBwYWNrYWdlIGNvbnRhaW5zIGEgQ0EgQnVuZGxlIHRoYXQgeW91IGNhbiByZWZlcmVuY2UgaW4geW91ciBcCitQeXRob24gY29kZS4gVGhpcyBpcyB1c2VmdWwgZm9yIHZlcmlmeWluZyBIVFRQIHJlcXVlc3RzLCBmb3IgZXhhbXBsZS4gIFRoaXMgaXMgdGhlIHNhbWUgQ0EgQnVuZGxlIFwKK3doaWNoIHNoaXBzIHdpdGggdGhlIFJlcXVlc3RzIGNvZGViYXNlLCBhbmQgaXMgZGVyaXZlZCBmcm9tIE1vemlsbGEgRmlyZWZveCdzIGNhbm9uaWNhbCBzZXQuIgorSE9NRVBBR0UgPSAiIGh0dHA6Ly9jZXJ0aWZpLmlvLyIKKworTElDRU5TRSA9ICJJU0MiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1mNzdmNjFkMTRlZTZmZWFjNDIyOGQzZWJkMjZjYzFmMSIKKworU1JDX1VSSVttZDVzdW1dID0gIjVkNjcyYWE3NjZlMWY3NzNjNzVjZmVjY2QwMmQzNjUwIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjVlOGVjY2Y5NTkyNDY1OGM5N2I5OTBiNTA1NTJhZGRiNjRmNTVlMWUzZGZlNDg4MDQ1NmFjMWYyODdkYzc5ZDAiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jZXJ0aWZpXzIwMTYuMi4yOC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNlcnRpZmlfMjAxNi4yLjI4LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFkZmU2MjMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jZXJ0aWZpXzIwMTYuMi4yOC5iYgpAQCAtMCwwICsxLDIgQEAKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCityZXF1aXJlIHB5dGhvbi1jZXJ0aWZpLmluYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY2ZmaV8xLjUuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNmZmlfMS41LjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGIyNTg3NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNmZmlfMS41LjIuYmIKQEAgLTAsMCArMSwxMSBAQAorU1VNTUFSWSA9ICJGb3JlaWduIEZ1bmN0aW9uIEludGVyZmFjZSBmb3IgUHl0aG9uIGNhbGxpbmcgQyBjb2RlIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT01Njc3ZTJmZGJmN2NkZGE2MWQ2ZGQyYjU3ZGY1NDdiZiIKK0RFUEVORFMgPSAibGliZmZpIHB5dGhvbi1weWNwYXJzZXIiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJmYTc2NjEzM2Y3Mjk5NDY0YzhiZjg1N2UwYzk2NmE4MiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkYTliZGU5OTg3MmU0NmY3YmI1Y2ZmNDBhOWIxY2MwODQwNjc2NWVmYWZiNTgzYzcwNGRlMTA4YjZjYjgyMWRkIgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29scworCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNoYXJkZXRfMi4zLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jaGFyZGV0XzIuMy4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRmYzk3OWIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jaGFyZGV0XzIuMy4wLmJiCkBAIC0wLDAgKzEsOCBAQAorU1VNTUFSWSA9ICJVbml2ZXJzYWwgZW5jb2RpbmcgZGV0ZWN0b3IgZm9yIFB5dGhvbiAyIGFuZCAzIgorTElDRU5TRSA9ICJMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWE2Zjg5ZTIxMDBkOWI2Y2RmZmNlYTRmMzk4ZTM3MzQzIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMjUyNzRkNjY0Y2NiNTEzMGFkYWUwODA0NzQxNmUxYTgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTUzZTM4YjNhNGFmZTZkMTEzMmRlNjJiNzQwMGE0YWMzNjM0NTJkYzVkZmNmOGQ4OGU4ZTBjY2U2NjNjNjhhYSIKKworaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNoZWV0YWhfMi40LjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jaGVldGFoXzIuNC40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIwZmMyZmQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jaGVldGFoXzIuNC40LmJiCkBAIC0wLDAgKzEsMTYgQEAKK1NVTU1BUlkgPSAiUHl0aG9uIHRlbXBsYXRlIGVuZ2luZSBhbmQgY29kZSBnZW5lcmF0aW9uIHRvb2wiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWFmZjExMDc1MTRhYTZhYWU5NDhmOWZlNzFmZGMzOTNiIgorCitQUiA9ICJyMyIKKworUFlQSV9QQUNLQUdFID0gIkNoZWV0YWgiCitpbmhlcml0IHB5cGkgc2V0dXB0b29scworCitSREVQRU5EU18ke1BOfSA9ICJweXRob24tcGlja2xlIHB5dGhvbi1wcHJpbnQiCitSREVQRU5EU18ke1BOfV9jbGFzcy1uYXRpdmUgPSAiIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI4NTM5MTcxMTZlNzMxYWZiYzhjOGE0M2MzN2U2ZGRiYSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJiZTMwODIyOWYwYzFlNWU1YWY0ZjI3ZDdlZTA2ZDkwYmIxOWU2YWYzMDU5Nzk0ZTVmZDUzNmE2ZjI5YTliNTUwIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY2xvdWRlZWJ1c18wLjYuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNsb3VkZWVidXNfMC42LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTIwYThhNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNsb3VkZWVidXNfMC42LjAuYmIKQEAgLTAsMCArMSwzNSBAQAorREVTQ1JJUFRJT04gPSAiQSBjb21wb25lbnQgd2hpY2ggZW5hYmxlcyBjYWxsaW5nIERCdXMgbWV0aG9kcyBhbmQgcmVnaXN0ZXJpbmcgb24gREJ1cyBzaWduYWxzIGZyb20gSmF2YXNjcmlwdCIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS8wMW9yZy9jbG91ZGVlYnVzIgorU0VDVElPTiA9ICJkZXZlbC9weXRob24iCitMSUNFTlNFID0gIkFwYWNoZS0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0yZWU0MTExMmE0NGZlNzAxNGRjZTMzZTI2NDY4YmE5MyIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tLzAxb3JnL2Nsb3VkZWVidXMuZ2l0O3Byb3RvY29sPWh0dHA7YnJhbmNoPW1hc3RlciAiCitTUkNSRVYgPSAiYjVjYzk1N2VlYWJmZTk4Y2I5OTZiYWY4ZTVhMGFjODQ4OTkzYzNkNCIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBkaXN0dXRpbHMgCisKK0RFUEVORFNfJHtQTn0gPSAicHl0aG9uIHB5dGhvbi1kaXN0cmlidXRlIgorUkRFUEVORFNfJHtQTn0gPSAicHl0aG9uIHB5dGhvbi1kYnVzIHB5dGhvbi1qc29uIHB5dGhvbi1hcmdwYXJzZSBweXRob24tcHlnb2JqZWN0IHB5dGhvbi1hdXRvYmFobiBweXRob24tdHdpc3RlZCBweXRob24tc3VicHJvY2VzcyIKKworZG9faW5zdGFsbF9wcmVwZW5kKCkgeworICBpbnN0YWxsIC1kICR7RH0ke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS8ke1BOfQorfQorCitESVNUVVRJTFNfSU5TVEFMTF9BUkdTID0gIi0tcm9vdD0ke0R9IFwKKyAgICAtLXNpbmdsZS12ZXJzaW9uLWV4dGVybmFsbHktbWFuYWdlZCBcCisgICAgLS1wcmVmaXg9JHtwcmVmaXh9IFwKKyAgICAtLWluc3RhbGwtbGliPSR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9IFwKKyAgICAtLWluc3RhbGwtZGF0YT0ke2RhdGFkaXJ9IgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgZGlzdHV0aWxzX2RvX2luc3RhbGwKKyAgaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS9kb2MvJHtCUE59LworICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9SRUFETUUubWQgJHtEfSR7ZGF0YWRpcn0vZG9jLyR7QlBOfS8KK30KKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vY2xvdWRlZWJ1cyIKK0ZJTEVTXyR7UE59ICs9ICIke3N5c2NvbmZkaXJ9L2RidXMtMS9zeXN0ZW0uZC9vcmcuY2xvdWRlZWJ1cy5jb25mIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jbWQyXzAuNi44LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY21kMl8wLjYuOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNDk2MmQ2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY21kMl8wLjYuOC5iYgpAQCAtMCwwICsxLDExIEBACitTVU1NQVJZID0gIkV4dHJhIGZlYXR1cmVzIGZvciBzdGFuZGFyZCBsaWJyYXJ5J3MgY21kIG1vZHVsZSIKK0hPTUVQQUdFID0gImh0dHA6Ly9wYWNrYWdlcy5weXRob24ub3JnL2NtZDIvIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9zZXR1cC5weTtiZWdpbmxpbmU9MjE7ZW5kbGluZT0yMTttZDU9YTAwMDQ3YjdlOTJlMDc4MTQ1MmQwYmViYTRlN2I0NGUiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJjMzJjOWE4OTdlMDEwYzk3N2I1MGMxZGRjMTNmMDlmZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhYzc4MGQ4YzMxZmMxMDdiZjZiNGVkY2JjZWE3MTFkZTRmZjc3NmQ1OWQ4OWJiMTY3Zjg4MTlkMmQ4Mzc2NGE4IgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29scworCitSREVQRU5EU18ke1BOfSArPSAicHl0aG9uLXB5cGFyc2luZyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNyeXB0b2dyYXBoeS12ZWN0b3JzXzEuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNyeXB0b2dyYXBoeS12ZWN0b3JzXzEuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMTUwZTUwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY3J5cHRvZ3JhcGh5LXZlY3RvcnNfMS4xLmJiCkBAIC0wLDAgKzEsMTQgQEAKK1NVTU1BUlkgPSAiVGVzdCB2ZWN0b3JzIGZvciB0aGUgY3J5cHRvZ3JhcGh5IHBhY2thZ2UuIgorU0VDVElPTiA9ICJkZXZlbC9weXRob24iCitMSUNFTlNFID0gIkFwYWNoZS0yLjAgfCBCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT04YzM2MTdkYjRmYjZmYWUwMWYxZDI1M2FiOTE1MTFlNCIKK0RFUEVORFMgPSAicHl0aG9uLWNyeXB0b2dyYXBoeSIKK1NSQ05BTUUgPSAiY3J5cHRvZ3JhcGh5X3ZlY3RvcnMiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9weXBpLnB5dGhvbi5vcmcvcGFja2FnZXMvc291cmNlL2MvY3J5cHRvZ3JhcGh5LXZlY3RvcnMvJHtTUkNOQU1FfS0ke1BWfS50YXIuZ3oiCitTID0gIiR7V09SS0RJUn0vJHtTUkNOQU1FfS0ke1BWfSIKKworU1JDX1VSSVttZDVzdW1dID0gIjBhZDQyMjUwMTA3NDkyOWMwNmI3ZWRkNDBkZjQxODQ0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImE5MjlmYmIwZWFjMzkxYzkzYzU3NDU0NTFhNGQ0MTU3YThiYzE4ZWIyZTY5ZmFmM2FmMWQ4MjVjZWFjYmYzMmMiCisKK2luaGVyaXQgc2V0dXB0b29scwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY3J5cHRvZ3JhcGh5L0NvbW1lbnRfbGluZ2VyaW5nX1NTTHYyX3N5bWJvbC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNyeXB0b2dyYXBoeS9Db21tZW50X2xpbmdlcmluZ19TU0x2Ml9zeW1ib2wucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjI4ZTdlZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNyeXB0b2dyYXBoeS9Db21tZW50X2xpbmdlcmluZ19TU0x2Ml9zeW1ib2wucGF0Y2gKQEAgLTAsMCArMSwyNCBAQAorRnJvbSBmMzI2ZTRhOTdjY2U2Yjk0Nzk1NjBjZTBjNjVhZDE4ZDU0MzkzZjk2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ29yeSBCZW5maWVsZCA8bHVrYXNhb3pAZ21haWwuY29tPgorRGF0ZTogTW9uLCAxNCBEZWMgMjAxNSAxNTozNzo0NiArMDAwMAorU3ViamVjdDogW1BBVENIXSBDb21tZW50IGxpbmdlcmluZyBTU0x2MiBzeW1ib2wuCisKKy0tLQorIHNyYy9fY2ZmaV9zcmMvb3BlbnNzbC9zc2wucHkgfCA0ICsrKysKKyAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCisKK0luZGV4OiBjcnlwdG9ncmFwaHktMS4xL3NyYy9fY2ZmaV9zcmMvb3BlbnNzbC9zc2wucHkKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBjcnlwdG9ncmFwaHktMS4xLm9yaWcvc3JjL19jZmZpX3NyYy9vcGVuc3NsL3NzbC5weQorKysrIGNyeXB0b2dyYXBoeS0xLjEvc3JjL19jZmZpX3NyYy9vcGVuc3NsL3NzbC5weQorQEAgLTQyMSw2ICs0MjEsMTAgQEAgY29uc3QgbG9uZyBTU0xfT1BfTEVHQUNZX1NFUlZFUl9DT05ORUNUCisgc3RhdGljIGNvbnN0IGxvbmcgQ3J5cHRvZ3JhcGh5X0hBU19TRUNVUkVfUkVORUdPVElBVElPTiA9IDE7CisgI2VuZGlmCisgCisrLyogQ3J5cHRvZ3JhcGh5IG5vdyBjb21waWxlcyBvdXQgYWxsIFNTTHYyIGJpbmRpbmdzLiBUaGlzIGV4aXN0cyB0byBhbGxvdworKyAqIGNsaWVudHMgdGhhdCB1c2UgaXQgdG8gY2hlY2sgZm9yIFNTTHYyIHN1cHBvcnQgdG8ga2VlcCBmdW5jdGlvbmluZyBhcworKyAqIGV4cGVjdGVkLgorKyAqLworIHN0YXRpYyBjb25zdCBsb25nIENyeXB0b2dyYXBoeV9IQVNfU1NMMiA9IDA7CisgCisgI2lmZGVmIE9QRU5TU0xfTk9fU1NMM19NRVRIT0QKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNyeXB0b2dyYXBoeS9SZW1vdmVfU1NMdjJfYmluZGluZ3MucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jcnlwdG9ncmFwaHkvUmVtb3ZlX1NTTHYyX2JpbmRpbmdzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg1MjIzMjUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jcnlwdG9ncmFwaHkvUmVtb3ZlX1NTTHYyX2JpbmRpbmdzLnBhdGNoCkBAIC0wLDAgKzEsNzUgQEAKK0Zyb20gOTBjNmE1M2E4ODVkZDVjNjY5OTIzMDllMGFmOThhYzU1NGYxYmI5NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENvcnkgQmVuZmllbGQgPGx1a2FzYW96QGdtYWlsLmNvbT4KK0RhdGU6IE1vbiwgMTQgRGVjIDIwMTUgMDg6MzU6MjAgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gUmVtb3ZlIFNTTHYyIGJpbmRpbmdzLgorCitUaGlzIGNvbW1pdCByZW1vdmVzIGJpbmRpbmdzIHRoYXQgYWxsb3cgdXNlcnMgdG8gc2V0IFNTTHYyIGhhbmRzaGFrZQorbWV0aG9kcy4gVGhlc2UgYXJlIHJlZ2FyZGVkIGFzIHVubmVjZXNzYXJ5IGFuZCBvdXQtb2YtZGF0ZTogc2VlICMyNTI3LgorVGhpcyBjb21taXQgZG9lcyBsZWF2ZSBpbiBhIGZldyBvcHRpb25zIHRoYXQgcmVmZXIgdG8gU1NMdjIgaW4gb3JkZXIgdG8KK2F2b2lkIGJyZWFraW5nIGRlcGxveW1lbnRzIHRoYXQgcmVseSBvbiB0aGVtLCBhbmQgaW4gb3JkZXIgdG8gYWxsb3cKK3VzZXJzIHRvIGNvbnRpbnVlIHRvIHJlcXVlc3QgdGhhdCBTU0x2MiBub3QgYmUgZW5hYmxlZCBhdCBhbGwgaW4gdGhlaXIKK09wZW5TU0wuCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKKworVGhpcyBmaXhlcyB0aGUgY29tcGlsZSBpc3N1ZSBhZnRlciB1cGRhdGluZyB0byBvcGVuc3NsIDEuMC4yaAorU2lnbmVkLW9mZi1ieTogQXJtaW4gS3VzdGVyIDxha3VzdGVyQG12aXN0YS5jb20+CisKKy0tLQorIHNyYy9fY2ZmaV9zcmMvb3BlbnNzbC9zc2wucHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxNyArLS0tLS0tLS0tLS0tLS0tLQorIC4uLi9oYXptYXQvYmluZGluZ3Mvb3BlbnNzbC9fY29uZGl0aW9uYWwucHkgICAgICAgICAgICAgfCAgNiAtLS0tLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAyMiBkZWxldGlvbnMoLSkKKworSW5kZXg6IGNyeXB0b2dyYXBoeS0xLjEvc3JjL19jZmZpX3NyYy9vcGVuc3NsL3NzbC5weQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGNyeXB0b2dyYXBoeS0xLjEub3JpZy9zcmMvX2NmZmlfc3JjL29wZW5zc2wvc3NsLnB5CisrKysgY3J5cHRvZ3JhcGh5LTEuMS9zcmMvX2NmZmlfc3JjL29wZW5zc2wvc3NsLnB5CitAQCAtMjkyLDE1ICsyOTIsNiBAQCB1bnNpZ25lZCBsb25nIFNTTF9DVFhfYWRkX2V4dHJhX2NoYWluX2NlCisgCisgLyogIG1ldGhvZHMgKi8KKyAKKy0vKiBTU0x2MiBzdXBwb3J0IGlzIGNvbXBpbGVkIG91dCBvZiBzb21lIHZlcnNpb25zIG9mIE9wZW5TU0wuICBUaGVzZSB3aWxsCistICogZ2V0IHNwZWNpYWwgc3VwcG9ydCB3aGVuIHdlIGdlbmVyYXRlIHRoZSBiaW5kaW5ncyBzbyB0aGF0IGlmIHRoZXkgYXJlCistICogYXZhaWxhYmxlIHRoZXkgd2lsbCBiZSB3cmFwcGVkLCBidXQgaWYgdGhleSBhcmUgbm90IHRoZXkgd29uJ3QgY2F1c2UKKy0gKiBwcm9ibGVtcyAobGlrZSBsaW5rIGVycm9ycykuCistICovCistY29uc3QgU1NMX01FVEhPRCAqU1NMdjJfbWV0aG9kKHZvaWQpOworLWNvbnN0IFNTTF9NRVRIT0QgKlNTTHYyX3NlcnZlcl9tZXRob2Qodm9pZCk7CistY29uc3QgU1NMX01FVEhPRCAqU1NMdjJfY2xpZW50X21ldGhvZCh2b2lkKTsKKy0KKyAvKgorICAqIFRMU3YxXzEgYW5kIFRMU3YxXzIgYXJlIHJlY2VudCBhZGRpdGlvbnMuICBPbmx5IHN1ZmZpY2llbnRseSBuZXcgdmVyc2lvbnMgb2YKKyAgKiBPcGVuU1NMIHN1cHBvcnQgdGhlbS4KK0BAIC00MjksMTQgKzQyMCw4IEBAIGNvbnN0IGxvbmcgU1NMX09QX0xFR0FDWV9TRVJWRVJfQ09OTkVDVAorICNlbHNlCisgc3RhdGljIGNvbnN0IGxvbmcgQ3J5cHRvZ3JhcGh5X0hBU19TRUNVUkVfUkVORUdPVElBVElPTiA9IDE7CisgI2VuZGlmCistI2lmZGVmIE9QRU5TU0xfTk9fU1NMMgorKworIHN0YXRpYyBjb25zdCBsb25nIENyeXB0b2dyYXBoeV9IQVNfU1NMMiA9IDA7CistU1NMX01FVEhPRCogKCpTU0x2Ml9tZXRob2QpKHZvaWQpID0gTlVMTDsKKy1TU0xfTUVUSE9EKiAoKlNTTHYyX2NsaWVudF9tZXRob2QpKHZvaWQpID0gTlVMTDsKKy1TU0xfTUVUSE9EKiAoKlNTTHYyX3NlcnZlcl9tZXRob2QpKHZvaWQpID0gTlVMTDsKKy0jZWxzZQorLXN0YXRpYyBjb25zdCBsb25nIENyeXB0b2dyYXBoeV9IQVNfU1NMMiA9IDE7CistI2VuZGlmCisgCisgI2lmZGVmIE9QRU5TU0xfTk9fU1NMM19NRVRIT0QKKyBzdGF0aWMgY29uc3QgbG9uZyBDcnlwdG9ncmFwaHlfSEFTX1NTTDNfTUVUSE9EID0gMDsKK0luZGV4OiBjcnlwdG9ncmFwaHktMS4xL3NyYy9jcnlwdG9ncmFwaHkvaGF6bWF0L2JpbmRpbmdzL29wZW5zc2wvX2NvbmRpdGlvbmFsLnB5Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gY3J5cHRvZ3JhcGh5LTEuMS5vcmlnL3NyYy9jcnlwdG9ncmFwaHkvaGF6bWF0L2JpbmRpbmdzL29wZW5zc2wvX2NvbmRpdGlvbmFsLnB5CisrKysgY3J5cHRvZ3JhcGh5LTEuMS9zcmMvY3J5cHRvZ3JhcGh5L2hhem1hdC9iaW5kaW5ncy9vcGVuc3NsL19jb25kaXRpb25hbC5weQorQEAgLTI3NCwxMiArMjc0LDYgQEAgQ09ORElUSU9OQUxfTkFNRVMgPSB7CisgICAgICAgICAiVExTdjFfMl9jbGllbnRfbWV0aG9kIiwKKyAgICAgXSwKKyAKKy0gICAgIkNyeXB0b2dyYXBoeV9IQVNfU1NMMiI6IFsKKy0gICAgICAgICJTU0x2Ml9tZXRob2QiLAorLSAgICAgICAgIlNTTHYyX2NsaWVudF9tZXRob2QiLAorLSAgICAgICAgIlNTTHYyX3NlcnZlcl9tZXRob2QiLAorLSAgICBdLAorLQorICAgICAiQ3J5cHRvZ3JhcGh5X0hBU19TU0wzX01FVEhPRCI6IFsKKyAgICAgICAgICJTU0x2M19tZXRob2QiLAorICAgICAgICAgIlNTTHYzX2NsaWVudF9tZXRob2QiLApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY3J5cHRvZ3JhcGh5L2J1aWxkX2ZpeF9vcGVuc3NsXzEuMC4xZy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNyeXB0b2dyYXBoeS9idWlsZF9maXhfb3BlbnNzbF8xLjAuMWcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDA4OTk0ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNyeXB0b2dyYXBoeS9idWlsZF9maXhfb3BlbnNzbF8xLjAuMWcucGF0Y2gKQEAgLTAsMCArMSwyOCBAQAorYnVpbGQgaXNzdWUgZG8gdG8gb3BlbnNzbCAxLjAuMWcgdXBncmFkZQorCitCSU8gKkJJT19uZXdfbWVtX2J1Zih2b2lkICosIGludCk7CisgICAgICBeCitJbiBmaWxlIGluY2x1ZGVkIGZyb20gL2hvbWUvamVua2lucy9vZS93b3JsZC9zaHItY29yZS90bXAtZ2xpYmMvc3lzcm9vdHMvcWVtdWFybS91c3IvaW5jbHVkZS9vcGVuc3NsL2FzbjEuaDo2NTowLAorZnJvbSBidWlsZC90ZW1wLmxpbnV4LXg4Nl82NC0yLjcvX29wZW5zc2wuYzo0MTM6CisKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK3NlZW1zIHRvIGJlIGEga25vd24gaXNzdWUKK2h0dHBzOi8vZ2l0aHViLmNvbS9weWNhL2NyeXB0b2dyYXBoeS9pc3N1ZXMvMjc1MAorCitTaWduZWQtb2ZmLWJ5OiBBcm1pbiBLdXN0ZXIgPGFrdXN0ZXJAbXZpc3RhLmNvbT4KKworSW5kZXg6IHNyYy9fY2ZmaV9zcmMvb3BlbnNzbC9iaW8ucHkKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBhL3NyYy9fY2ZmaV9zcmMvb3BlbnNzbC9iaW8ucHkKKysrKyBiL3NyYy9fY2ZmaV9zcmMvb3BlbnNzbC9iaW8ucHkKK0BAIC05OSw3ICs5OSw3IEBAIEJJTyAqQklPX3BvcChCSU8gKik7CisgQklPICpCSU9fbmV4dChCSU8gKik7CisgQklPICpCSU9fZmluZF90eXBlKEJJTyAqLCBpbnQpOworIEJJT19NRVRIT0QgKkJJT19zX21lbSh2b2lkKTsKKy1CSU8gKkJJT19uZXdfbWVtX2J1Zih2b2lkICosIGludCk7CisrQklPICpCSU9fbmV3X21lbV9idWYoY29uc3Qgdm9pZCAqLCBpbnQpOworIEJJT19NRVRIT0QgKkJJT19zX2ZpbGUodm9pZCk7CisgQklPICpCSU9fbmV3X2ZpbGUoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICopOworIEJJTyAqQklPX25ld19mcChGSUxFICosIGludCk7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jcnlwdG9ncmFwaHkvcnVuLXB0ZXN0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY3J5cHRvZ3JhcGh5L3J1bi1wdGVzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYmEyMzljCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY3J5cHRvZ3JhcGh5L3J1bi1wdGVzdApAQCAtMCwwICsxLDIgQEAKKyMhL2Jpbi9zaAorcHkudGVzdApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY3J5cHRvZ3JhcGh5XzEuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNyeXB0b2dyYXBoeV8xLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjY1YTRjYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNyeXB0b2dyYXBoeV8xLjEuYmIKQEAgLTAsMCArMSw1MiBAQAorU1VNTUFSWSA9ICJQcm92aWRlcyBjcnlwdG9ncmFwaGljIHJlY2lwZXMgYW5kIHByaW1pdGl2ZXMgdG8gUHl0aG9uIGRldmVsb3BlcnMiCitMSUNFTlNFID0gIkFwYWNoZS0yLjAgfCBCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT04YzM2MTdkYjRmYjZmYWUwMWYxZDI1M2FiOTE1MTFlNCIKK0RFUEVORFMgKz0gIiBweXRob24tY2ZmaS1uYXRpdmUgcHl0aG9uLWNmZmkgcHl0aG9uLWVudW0zNCBweXRob24tc2l4IHB5dGhvbi1weWFzbjEiCitTUkNOQU1FID0gImNyeXB0b2dyYXBoeSIKKworU1JDX1VSSSA9ICJmaWxlOi8vcnVuLXB0ZXN0IFwKKyAgICAgICAgICAgZmlsZTovL2J1aWxkX2ZpeF9vcGVuc3NsXzEuMC4xZy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9SZW1vdmVfU1NMdjJfYmluZGluZ3MucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vQ29tbWVudF9saW5nZXJpbmdfU1NMdjJfc3ltYm9sLnBhdGNoIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZGQwNmRhNDE1MzUxODRmNDhmMmM4ZThiNzRkZDU3MGYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDU5YmM2NDI4YjFkMGUyMzE3ZjUwNTY5ODYwMjY0MmYxZDhkZGE1YjEyMGVjNTczYTU5YTQzMGQ4Y2I3YTMyZCIKKworaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKKworUkRFUEVORFNfJHtQTn0gPSAiXAorICAgICAgICAgICAgICAgICAgcHl0aG9uLXB5YXNuMVwKKyAgICAgICAgICAgICAgICAgIHB5dGhvbi1zaXhcCisgICAgICAgICAgICAgICAgICBweXRob24tY2ZmaVwKKyAgICAgICAgICAgICAgICAgIHB5dGhvbi1lbnVtMzRcCisgICAgICAgICAgICAgICAgICBweXRob24tc2V0dXB0b29sc1wKKyAgICAgICAgICAgICAgICAgIHB5dGhvbi1weWNwYXJzZXJcCisgICAgICAgICAgICAgICAgICBweXRob24tc3VicHJvY2Vzc1wKKyAgICAgICAgICAgICAgICAgIHB5dGhvbi10aHJlYWRpbmdcCisgICAgICAgICAgICAgICAgICBweXRob24tbnVtYmVyc1wKKyAgICAgICAgICAgICAgICAgIHB5dGhvbi1jb250ZXh0bGliXAorICAgICAgICAgICAgICAgICAgcHl0aG9uLWlwYWRkcmVzc1wKKyAgICAgICAgICAgICAgICAgIHB5dGhvbi1weWFzbjFcCisgICAgICAgICAgICAgICAgICBweXRob24taWRuYVwKKyIKKworUkRFUEVORFNfJHtQTn0tcHRlc3QgPSAiXAorICAgICAgICAgICAgICAgICAgICAgICAke1BOfVwKKyAgICAgICAgICAgICAgICAgICAgICAgcHl0aG9uLXB5dGVzdFwKKyAgICAgICAgICAgICAgICAgICAgICAgcHl0aG9uLXByZXRlbmRcCisgICAgICAgICAgICAgICAgICAgICAgIHB5dGhvbi1pc284NjAxXAorICAgICAgICAgICAgICAgICAgICAgICBweXRob24tY3J5cHRvZ3JhcGh5LXZlY3RvcnNcCisiCisKK2luaGVyaXQgcHRlc3QKKworZG9faW5zdGFsbF9wdGVzdCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzCisgICAgY3AgLXJmICR7U30vdGVzdHMvKiAke0R9JHtQVEVTVF9QQVRIfS90ZXN0cy8KKyAgICBpbnN0YWxsIC1kICR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzL2hhem1hdAorICAgIGNwIC1yZiAke1N9L3Rlc3RzL2hhem1hdC8qICR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzL2hhem1hdC8KK30KKworRklMRVNfJHtQTn0tZGJnICs9ICIgXAorICAgICR7bGliZGlyfS9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy8ke1NSQ05BTUV9L2hhem1hdC9iaW5kaW5ncy8uZGVidWcgXAorICAgICIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWN5dGhvbi5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jeXRob24uaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY1OTQ1YjUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jeXRob24uaW5jCkBAIC0wLDAgKzEsMjEgQEAKK0RFU0NSSVBUSU9OID0gIkN5dGhvbiBpcyBhIGxhbmd1YWdlIHNwZWNpYWxseSBkZXNpZ25lZCBmb3Igd3JpdGluZyBQeXRob24gZXh0ZW5zaW9uIG1vZHVsZXMuIFwKK0l0J3MgZGVzaWduZWQgdG8gYnJpZGdlIHRoZSBnYXAgYmV0d2VlbiB0aGUgbmljZSwgaGlnaC1sZXZlbCwgZWFzeS10by11c2Ugd29ybGQgb2YgUHl0aG9uIFwKK2FuZCB0aGUgbWVzc3ksIGxvdy1sZXZlbCB3b3JsZCBvZiBDLiIKK1NFQ1RJT04gPSAiZGV2ZWwvcHl0aG9uIgorTElDRU5TRSA9ICJBcGFjaGUtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS50eHQ7bWQ1PWUyM2ZhZGQ2Y2VlZjhjNjE4ZmMxYzY1MTkxZDg0NmZhIgorU1JDTkFNRSA9ICJDeXRob24iCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmN5dGhvbi5vcmcvcmVsZWFzZS8ke1NSQ05BTUV9LSR7UFZ9LnRhci5neiIKK1MgPSAiJHtXT1JLRElSfS8ke1NSQ05BTUV9LSR7UFZ9IgorCitTUkNfVVJJW21kNXN1bV0gPSAiMTRmYmM5NzBmNGE4NTY4NDVlNjMzY2JjMDllNjEwNDgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNmRlNDRkOGM0ODIxMjhlZmMxMjMzNDY0MTM0N2E5YzNlNTA5OGQ4MDdkZDNjNjllODY3ZmE4Zjg0ZWMyYTNmMSIKKworUkRFUEVORFNfJHtQTn0gKz0gIlwKKyAgICAke1BZVEhPTl9QTn0tbmV0c2VydmVyIFwKKyAgICAke1BZVEhPTl9QTn0tc3VicHJvY2VzcyBcCisgICAgJHtQWVRIT05fUE59LXNoZWxsIFwKKyIKK1JERVBFTkRTXyR7UE59X2NsYXNzLW5hdGl2ZSA9ICIiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jeXRob25fMC4yNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWN5dGhvbl8wLjI0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZiZTBiMWUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jeXRob25fMC4yNC5iYgpAQCAtMCwwICsxLDYgQEAKK2luaGVyaXQgc2V0dXB0b29scworcmVxdWlyZSBweXRob24tY3l0aG9uLmluYworCitSREVQRU5EU18ke1BOfSArPSAiXAorICAgIHB5dGhvbi1kaXN0cmlidXRlIFwKKyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWRhZW1vbml6ZV8yLjQuNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWRhZW1vbml6ZV8yLjQuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMTdiMzY2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZGFlbW9uaXplXzIuNC42LmJiCkBAIC0wLDAgKzEsMTYgQEAKK1NVTU1BUlkgPSAiTGlicmFyeSB0byBlbmFibGUgeW91ciBjb2RlIHJ1biBhcyBhIGRhZW1vbiBwcm9jZXNzIG9uIFVuaXgtbGlrZSBzeXN0ZW1zIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0xM2U5ODJiZjFiN2IxNjRiOWQ2ZDE2NjVkYWM4Mzg3MyIKK1NSQ05BTUUgPSAiZGFlbW9uaXplIgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29scworCitSREVQRU5EU18ke1BOfSA9ICJcCisgICAgICAgICAgICAgICBweXRob24tZmNudGwgXAorICAgICAgICAgICAgICAgcHl0aG9uLXVuaXhhZG1pbiBcCisgICAgICAgICAgICAgICBweXRob24tbG9nZ2luZyBcCisgICAgICAgICAgICAgICBweXRob24tcmVzb3VyY2UgXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMTdiYzc4OGE4NTI0YjEwNGQ0NjM5YTY4NjIzNDYxZTMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOGFhNjZiYWQ5YWExMGM2ODIzMDJhNGVhOTY3NTg3NDE5MTMwNGFkZWIzMjM5ZTA3NzZmMWNhMzA0MWQzMDYxOSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWRhdGV1dGlsLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWRhdGV1dGlsLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOTQ0ZWYyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZGF0ZXV0aWwuaW5jCkBAIC0wLDAgKzEsMjEgQEAKK1NVTU1BUlkgPSAiRXh0ZW5zaW9ucyB0byB0aGUgc3RhbmRhcmQgUHl0aG9uIGRhdGV0aW1lIG1vZHVsZSIKK0RFU0NSSVBUSU9OID0gIlRoZSBkYXRldXRpbCBtb2R1bGUgcHJvdmlkZXMgcG93ZXJmdWwgZXh0ZW5zaW9ucyB0byB0aGUgZGF0ZXRpbWUgbW9kdWxlIGF2YWlsYWJsZSBpbiB0aGUgUHl0aG9uIHN0YW5kYXJkIGxpYnJhcnkuIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9kYXRldXRpbC5yZWFkdGhlZG9jcy5vcmciCitMSUNFTlNFID0gIkJTRC0zLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTUxNDMwYjMzYzkwMGY0NWY5OTljNDU5ZWUyOWNhNDkzIgorUFIgPSAicjAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlYWZlMTY4ZThmNDA0YmYzODQ1MTRmNTExNmVlZGJiNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwNjM5MDdlZjQ3ZjZlMTg3YjhmZTA3Mjg5NTJlNGVmZmI1ODdhMzRmMmRjMzU2ODg4NjQ2ZjliNzFmYmIyZTRiIgorCitQWVBJX1BBQ0tBR0UgPSAicHl0aG9uLWRhdGV1dGlsIgoraW5oZXJpdCBweXBpIAorCitQQUNLQUdFUyA9KyAiJHtQTn0tem9uZWluZm8iCitGSUxFU18ke1BOfS16b25laW5mbyA9ICIke2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL2RhdGV1dGlsL3pvbmVpbmZvIgorCitSREVQRU5EU18ke1BOfSA9ICJcCisgICAgJHtQWVRIT05fUE59LWNvcmUgXAorICAgICR7UFlUSE9OX1BOfS1kYXRldGltZSBcCisgICAgJHtQWVRIT05fUE59LXNpeCBcCisgICAgIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZGF0ZXV0aWxfMi41LjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1kYXRldXRpbF8yLjUuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMmFlNGMzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZGF0ZXV0aWxfMi41LjIuYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHNldHVwdG9vbHMKK3JlcXVpcmUgcHl0aG9uLWRhdGV1dGlsLmluYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZGJ1c21vY2svMDAwMS1BZGQtZnVuY3Rpb25hbGl0eS10by1hZGQtb3duLW9iamVjdHMtdG8taW50ZXJuYWwtb2JqLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZGJ1c21vY2svMDAwMS1BZGQtZnVuY3Rpb25hbGl0eS10by1hZGQtb3duLW9iamVjdHMtdG8taW50ZXJuYWwtb2JqLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZkZDAwYjYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1kYnVzbW9jay8wMDAxLUFkZC1mdW5jdGlvbmFsaXR5LXRvLWFkZC1vd24tb2JqZWN0cy10by1pbnRlcm5hbC1vYmoucGF0Y2gKQEAgLTAsMCArMSw1MyBAQAorRnJvbSBlZWJlMGY2NjQzNWM0ZDgyMWIwZjVmOTNmNjllZmUxN2I0YTM4NGMyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogU2ltb24gQnVzY2ggPHNpbW9uLmJ1c2NoQGxnZS5jb20+CitEYXRlOiBXZWQsIDkgQXByIDIwMTQgMTM6MTg6MzMgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAxLzJdIEFkZCBmdW5jdGlvbmFsaXR5IHRvIGFkZCBvd24gb2JqZWN0cyB0byBpbnRlcm5hbCBvYmplY3QKKyBsaXN0CisKK0luIHNvbWUgY2FzZSB0aGUgdGVzdHMgbWlnaHQgd2FudCB0byBjcmVhdGUgZHluYW1pY2FsbHkgZGJ1cyBvYmplY3RzIHdoaWNoIGV4dGVuZGVkCitmdW5jdGlvbmFsaXR5IGZyb20gb3duIGNsYXNzIGRlZmluaXRpb25zIHdpdGhpbiB0ZW1wbGF0ZXMuIEluIHN1Y2ggY2FzZXMgd2UgbmVlZCB0bworcmVnaXN0ZXIgdGhvc2Ugb2JqZWN0cyB3aXRoIHRoZSBpbnRlcm5hbCBvYmplY3QgbWFuYWdlciBvZiBkYnVzbW9jay4KKworU2lnbmVkLW9mZi1ieTogU2ltb24gQnVzY2ggPHNpbW9uLmJ1c2NoQGxnZS5jb20+CistLS0KKyBkYnVzbW9jay9fX2luaXRfXy5weSAgIHwgICAgNCArKy0tCisgZGJ1c21vY2svbW9ja29iamVjdC5weSB8ICAgIDggKysrKysrKysKKyAyIGZpbGVzIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9kYnVzbW9jay9fX2luaXRfXy5weSBiL2RidXNtb2NrL19faW5pdF9fLnB5CitpbmRleCBmNzk5Y2M3Li42NzE4YzA2IDEwMDY0NAorLS0tIGEvZGJ1c21vY2svX19pbml0X18ucHkKKysrKyBiL2RidXNtb2NrL19faW5pdF9fLnB5CitAQCAtMTQsOCArMTQsOCBAQCBfX2xpY2Vuc2VfXyA9ICdMR1BMIDMrJworIF9fdmVyc2lvbl9fID0gJzAuMTAuMScKKyAKKyBmcm9tIGRidXNtb2NrLm1vY2tvYmplY3QgaW1wb3J0IChEQnVzTW9ja09iamVjdCwgTU9DS19JRkFDRSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPQkpFQ1RfTUFOQUdFUl9JRkFDRSwgZ2V0X29iamVjdCwgZ2V0X29iamVjdHMpCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT0JKRUNUX01BTkFHRVJfSUZBQ0UsIGdldF9vYmplY3QsIGdldF9vYmplY3RzLCBhZGRfb2JqZWN0KQorIGZyb20gZGJ1c21vY2sudGVzdGNhc2UgaW1wb3J0IERCdXNUZXN0Q2FzZQorIAorIF9fYWxsX18gPSBbJ0RCdXNNb2NrT2JqZWN0JywgJ01PQ0tfSUZBQ0UnLCAnT0JKRUNUX01BTkFHRVJfSUZBQ0UnLAorLSAgICAgICAgICAgJ0RCdXNUZXN0Q2FzZScsICdnZXRfb2JqZWN0JywgJ2dldF9vYmplY3RzJ10KKysgICAgICAgICAgICdEQnVzVGVzdENhc2UnLCAnZ2V0X29iamVjdCcsICdnZXRfb2JqZWN0cycsICdhZGRfb2JqZWN0J10KK2RpZmYgLS1naXQgYS9kYnVzbW9jay9tb2Nrb2JqZWN0LnB5IGIvZGJ1c21vY2svbW9ja29iamVjdC5weQoraW5kZXggOTdiNzljZS4uYTk4ZTAzZCAxMDA2NDQKKy0tLSBhL2RidXNtb2NrL21vY2tvYmplY3QucHkKKysrKyBiL2RidXNtb2NrL21vY2tvYmplY3QucHkKK0BAIC02ODIsNiArNjgyLDE0IEBAIGRidXMuc2VydmljZS5fbWV0aG9kX2xvb2t1cCA9IF9kYnVzbW9ja19tZXRob2RfbG9va3VwCisgIyBIZWxwZXIgQVBJIGZvciB0ZW1wbGF0ZXMKKyAjCisgCisrZGVmIGFkZF9vYmplY3QocGF0aCwgb2JqKToKKysgICAgaWYgcGF0aCBpbiBvYmplY3RzOgorKyAgICAgICAgcmFpc2UgZGJ1cy5leGNlcHRpb25zLkRCdXNFeGNlcHRpb24oCisrICAgICAgICAgICAgICAgICdvcmcuZnJlZWRlc2t0b3AuREJ1cy5Nb2NrLk5hbWVFcnJvcicsCisrICAgICAgICAgICAgICAgICdvYmplY3QgJXMgYWxyZWFkeSBleGlzdHMnICUgcGF0aCkKKysKKysgICAgb2JqZWN0c1twYXRoXSA9IG9iagorKworIAorIGRlZiBnZXRfb2JqZWN0cygpOgorICAgICAnJydSZXR1cm4gYWxsIGV4aXN0aW5nIG9iamVjdCBwYXRocycnJworLS0gCisxLjcuOS41CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWRidXNtb2NrLzAwMDItQWRkLXBvc3NpYmlsaXR5LXRvLWltcG9ydC10ZW1wbGF0ZXMtZnJvbS1wYWNrYWdlcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWRidXNtb2NrLzAwMDItQWRkLXBvc3NpYmlsaXR5LXRvLWltcG9ydC10ZW1wbGF0ZXMtZnJvbS1wYWNrYWdlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ODE2OTRmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZGJ1c21vY2svMDAwMi1BZGQtcG9zc2liaWxpdHktdG8taW1wb3J0LXRlbXBsYXRlcy1mcm9tLXBhY2thZ2VzLnBhdGNoCkBAIC0wLDAgKzEsMjkgQEAKK0Zyb20gZmYxZGZmZDU2NzNiY2QyY2JkOTU1NGFkNjI0NzZkMTA4ZGJjMThhZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFNpbW9uIEJ1c2NoIDxzaW1vbi5idXNjaEBsZ2UuY29tPgorRGF0ZTogV2VkLCA5IEFwciAyMDE0IDEzOjIwOjMzICswMjAwCitTdWJqZWN0OiBbUEFUQ0ggMi8yXSBBZGQgcG9zc2liaWxpdHkgdG8gaW1wb3J0IHRlbXBsYXRlcyBmcm9tIHBhY2thZ2VzCisKK0RvZXMgbm90IGhhdmUgYW55IHVuaXQgdGVzdHMgeWV0LgorCitTaWduZWQtb2ZmLWJ5OiBTaW1vbiBCdXNjaCA8c2ltb24uYnVzY2hAbGdlLmNvbT4KKy0tLQorIGRidXNtb2NrL21vY2tvYmplY3QucHkgfCAgICAzICsrKworIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2RidXNtb2NrL21vY2tvYmplY3QucHkgYi9kYnVzbW9jay9tb2Nrb2JqZWN0LnB5CitpbmRleCBhOThlMDNkLi45NTMwYzJhIDEwMDY0NAorLS0tIGEvZGJ1c21vY2svbW9ja29iamVjdC5weQorKysrIGIvZGJ1c21vY2svbW9ja29iamVjdC5weQorQEAgLTQ5LDYgKzQ5LDkgQEAgZGVmIGxvYWRfbW9kdWxlKG5hbWUpOgorIAorICAgICAgICAgcmV0dXJuIG1vZHVsZQorIAorKyAgICBpZiAnLicgaW4gbmFtZToKKysgICAgICAgIHJldHVybiBpbXBvcnRsaWIuaW1wb3J0X21vZHVsZShuYW1lKQorKworICAgICByZXR1cm4gaW1wb3J0bGliLmltcG9ydF9tb2R1bGUoJ2RidXNtb2NrLnRlbXBsYXRlcy4nICsgbmFtZSkKKyAKKyAKKy0tIAorMS43LjkuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1kYnVzbW9ja18wLjEwLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1kYnVzbW9ja18wLjEwLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjUyMGJmYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWRidXNtb2NrXzAuMTAuMS5iYgpAQCAtMCwwICsxLDIxIEBACisjIENvcHlyaWdodCAoYykgMjAxNCBMRyBFbGVjdHJvbmljcywgSW5jLgorCitTVU1NQVJZID0gIldpdGggdGhpcyBwcm9ncmFtL1B5dGhvbiBsaWJyYXJ5IHlvdSBjYW4gZWFzaWx5IGNyZWF0ZSBtb2NrIG9iamVjdHMgb24gRC1CdXMiCitBVVRIT1IgPSAiTWFydGluIFBpdHQgPG1hcnRpbi5waXR0QHVidW50dS5jb20+IgorU0VDVElPTiA9ICJkZXZlbC9weXRob24iCisKK0xJQ0VOU0UgPSAiR1BMLTMuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWU2YTYwMGZkNWUxZDljYmRlMmQ5ODM2ODAyMzNhZDAyIgorCitERVBFTkRTICs9ICJweXRob24tcHlnb2JqZWN0IHB5dGhvbi1kYnVzIgorCitTUkNfVVJJID0gImh0dHBzOi8vbGF1bmNocGFkLm5ldC8ke0JQTn0vdHJ1bmsvJHtQVn0vK2Rvd25sb2FkLyR7QlB9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI3MzcwZDMyNWM0YTc1NDk0ZGQ3MTg4NWNhNjViNzllOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwM2FhZGM5M2JkYzI2ZWExOGQ0ZDc4ZmNmZjdiNmNiMzRmNGUxODYyM2JjNWNjNDFjZjk1MzlkNjYzY2VlMTFlIgorCitTUkNfVVJJICs9ICIgXAorICAgIGZpbGU6Ly8wMDAxLUFkZC1mdW5jdGlvbmFsaXR5LXRvLWFkZC1vd24tb2JqZWN0cy10by1pbnRlcm5hbC1vYmoucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDAyLUFkZC1wb3NzaWJpbGl0eS10by1pbXBvcnQtdGVtcGxhdGVzLWZyb20tcGFja2FnZXMucGF0Y2ggXAorIgorCitpbmhlcml0IHNldHVwdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWRlY29yYXRvci5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1kZWNvcmF0b3IuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU3MTAwMTIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1kZWNvcmF0b3IuaW5jCkBAIC0wLDAgKzEsMTUgQEAKK1NVTU1BUlkgPSAiUHl0aG9uIGRlY29yYXRvciB1dGlsaXRpZXMiCitERVNDUklQVElPTiA9ICJcCitUaGUgYWltIG9mIHRoZSBkZWNvcmF0b3IgbW9kdWxlIGl0IHRvIHNpbXBsaWZ5IHRoZSB1c2FnZSBvZiBkZWNvcmF0b3JzIFwKK2ZvciB0aGUgYXZlcmFnZSBwcm9ncmFtbWVyLCBhbmQgdG8gcG9wdWxhcml6ZSBkZWNvcmF0b3JzIGJ5IHNob3dpbmcgXAordmFyaW91cyBub24tdHJpdmlhbCBleGFtcGxlcy4gT2YgY291cnNlLCBhcyBhbGwgdGVjaG5pcXVlcywgZGVjb3JhdG9ycyBcCitjYW4gYmUgYWJ1c2VkIGFuZCB5b3Ugc2hvdWxkIG5vdCB0cnkgdG8gc29sdmUgZXZlcnkgcHJvYmxlbSB3aXRoIGEgXAorZGVjb3JhdG9yLCBqdXN0IGJlY2F1c2UgeW91IGNhbi4iCisKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS50eHQ7bWQ1PTQxZTI0ZTBlMjM1YTk3ZTYwY2RiNWM0MTM3ZmEyY2QwIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZjEyYzU2NTFjY2Q3MDdlMTJhMGFiYWE0Zjc2Y2Q2OWEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTAwMjJlODMzMTYzNjM3ODhhNTUzNTJmZTM5Y2ZiZWQzNTdhYTNhNzFkOTBlNWYyODAzYTM1NDcxZGU0YmJhOCIKKworaW5oZXJpdCBweXBpCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1kZWNvcmF0b3JfNC4wLjkuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1kZWNvcmF0b3JfNC4wLjkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjI2MjE2OAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWRlY29yYXRvcl80LjAuOS5iYgpAQCAtMCwwICsxLDIgQEAKK2luaGVyaXQgc2V0dXB0b29scworcmVxdWlyZSBweXRob24tZGVjb3JhdG9yLmluYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZGphbmdvLXNvdXRoXzEuMC4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZGphbmdvLXNvdXRoXzEuMC4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRkMDcxYzQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1kamFuZ28tc291dGhfMS4wLjIuYmIKQEAgLTAsMCArMSwxMyBAQAorU1VNTUFSWSA9ICJNaWdyYXRpb25zIGZvciBEamFuZ28iCitERVNDUklQVElPTiA9ICJTb3V0aCBpcyBhbiBpbnRlbGxpZ2VudCBkYXRhYmFzZSBtaWdyYXRpb25zIGxpYnJhcnkgZm9yIHRoZSBEamFuZ28gd2ViIGZyYW1ld29yay4gSXQgaXMgZGF0YWJhc2UtaW5kZXBlbmRlbnQgYW5kIERWQ1MtZnJpZW5kbHksIGFzIHdlbGwgYXMgYSB3aG9sZSBob3N0IG9mIG90aGVyIGZlYXR1cmVzLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9zb3V0aC5hZXJhY29kZS5vcmcvIgorTElDRU5TRSA9ICJBcGFjaGUtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUEtHLUlORk87YmVnaW5saW5lPTE3O2VuZGxpbmU9MTg7bWQ1PTIxNTVkOGFlMjFlN2MyMzEwMWQ1ZmViYWM2OTZiMjdlIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYzc2YTk3NThiMjAxMWJjM2I2YzM5Zjg4MWJiYTJmNjYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZDM2MGJkMzE4OThmOWRmNTlmNmZhYTc4NjU1MTA2NWJiYTQ1YjM1ZTdlZTNjMzliMzgxYjRmYmZlZjczOTJmNCIKKworUFlQSV9QQUNLQUdFID0gIlNvdXRoIgoraW5oZXJpdCBweXBpIGRpc3R1dGlscworCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWRqYW5nb18xLjguOC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWRqYW5nb18xLjguOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNTZjNTU1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZGphbmdvXzEuOC44LmJiCkBAIC0wLDAgKzEsMTQgQEAKK1NVTU1BUlkgPSAiQSBoaWdoLWxldmVsIFB5dGhvbiBXZWIgZnJhbWV3b3JrIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5kamFuZ29wcm9qZWN0LmNvbS8iCitMSUNFTlNFID0gIkJTRC0zLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWYwOWViNDcyMDY2MTRhNDk1NGM1MWRiOGE5NDg0MGZhIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMDhlY2Y4M2I3ZTlkMDY0ZWQ3ZTM5ODFkZGMzYThhMTUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiODI1NTI0MmZhMGQ5ZTBiZjMzMTI1OWE2YmRiODEzNjQ5MzNhY2JlODg2MzI5MTY2MTU1OGZmZGIyZmM5ZWQ3MCIKKworUFlQSV9QQUNLQUdFID0gIkRqYW5nbyIKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2RqYW5nbyIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1kb21pbmF0ZV8yLjIuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWRvbWluYXRlXzIuMi4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFmZWFhN2UKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1kb21pbmF0ZV8yLjIuMC5iYgpAQCAtMCwwICsxLDEwIEBACitTVU1NQVJZID0gIkRvbWluYXRlIGlzIGEgUHl0aG9uIGxpYnJhcnkgZm9yIGNyZWF0aW5nIGFuZCBtYW5pcHVsYXRpbmcgSFRNTCBkb2N1bWVudHMgdXNpbmcgYW4gZWxlZ2FudCBET00gQVBJLiIKK0xJQ0VOU0UgPSAiTEdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUEtHLUlORk87YmVnaW5saW5lPTg7ZW5kbGluZT04O21kNT1hMzBiOWE4ZDBhNTU4NWM0ODJjNmM1YTZkNTRhYWViYyIKKworU1JDX1VSSVttZDVzdW1dID0gIjE0ZWUwMzYxZGI3ZmJhZWQ5ODIyMjBjMDllZjhlMGI5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjUwMzI1NTllMGYwODM1NDE5NzYzYjNkMWQ4OGFkMzFlYTRmZTQwOTM1NzEyZGI4NjAxNGYyYTM0MWM4OWZhM2QiCisKK1BZUElfUEFDS0FHRV9FWFQgPSAiemlwIgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29scwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZW51bTM0XzEuMS4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZW51bTM0XzEuMS4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUwODNiZGEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1lbnVtMzRfMS4xLjIuYmIKQEAgLTAsMCArMSw4IEBACitTVU1NQVJZID0gImJhY2twb3J0IG9mIFB5dGhvbiAzLjQncyBlbnVtIHBhY2thZ2UiCitMSUNFTlNFID0gIkJTRC0zLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2VudW0vTElDRU5TRTttZDU9MGE5N2E1M2E1MTQ1NjRjMjBlZmQ3YjJlODk3NmM4N2UiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwMjViYjcxYjNmOWQyZmFkMTVkMGVlNTNlNDhkYzg3MyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyNDc1ZDdmY2RkZjU5NTFlOTJmZjU0Njk3Mjc1ODgwMmRlNTI2MGJmNDA5MzE5YTlmMTkzNGU2YmJjOGIxZGM3IgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29scwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZXB5ZG9jXzMuMC4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZXB5ZG9jXzMuMC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM0NzUyZDMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1lcHlkb2NfMy4wLjEuYmIKQEAgLTAsMCArMSwxMSBAQAorREVTQ1JJUFRJT04gPSAiRXB5ZG9jIGlzIGEgdG9vbCBmb3IgZ2VuZXJhdGluZyBBUEkgZG9jdW1lbnRhdGlvbiBmb3IgUHl0aG9uIG1vZHVsZXMsIGJhc2VkIG9uIHRoZWlyIGRvY3N0cmluZ3MiIAorTElDRU5TRSA9ICJNSVQiIAorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS50eHQ7bWQ1PTAxMWMwZDc4ZWI2MDU0ZDczMWM4NzkxMzJkNzMxM2YwIgorSE9NRVBBR0UgPSAiaHR0cDovL2VweWRvYy5zb3VyY2Vmb3JnZS5uZXQvIiAKKworU1JDX1VSSVttZDVzdW1dID0gImNkZDZmNmM3NmRkOGJhYjVlNjUzYTM0M2EwNTQ0Mjk0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImQ0ZTVjOGQ5MDkzN2QwMWIwNTE3MGY1OTJjMWZhOWIyOWU5ZWQwNDk4ZGZlN2YwZWIyYTNhZjYxNzI1YjZhZDEiCisKK2luaGVyaXQgcHlwaSBkaXN0dXRpbHMgCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZXZkZXZfMC42LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1ldmRldl8wLjYuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNTU1NTUyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZXZkZXZfMC42LjAuYmIKQEAgLTAsMCArMSwxMiBAQAorU1VNTUFSWSA9ICJQeXRob24gZXZkZXYgbGliIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL2d2YWxrb3YvcHl0aG9uLWV2ZGV2IgorU0VDVElPTiA9ICJkZXZlbC9weXRob24iCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTE4ZGViZGRiYjNmNTJjNjYxYTEyOTcyNGE4ODNhOGUyIgorCitTUkNfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9ndmFsa292L3B5dGhvbi1ldmRldi9hcmNoaXZlL3Yke1BWfS56aXAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIyNGU0ZmZhOThlMzM4YjUzNWVhZTQ0ZDkxZDYwOTAwNSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2MWY2ODkzZDgwZGE4N2E5OTVlNTc4MWM3NGQyMmEzOTQ0OGIxYjMyMDA0ZmZhYzJmMzE4MTcwMTc3MDliZTA0IgorCitpbmhlcml0IHNldHVwdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWZlZWRmb3JtYXR0ZXIuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZmVlZGZvcm1hdHRlci5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWEwMmE0ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWZlZWRmb3JtYXR0ZXIuaW5jCkBAIC0wLDAgKzEsMTEgQEAKK0RFU0NSSVBUSU9OID0gIkEgUHl0aG9uIGxpYnJhcnkgZm9yIGdlbmVyYXRpbmcgbmV3cyBmZWVkcyBpbiBSU1MgYW5kIEF0b20gZm9ybWF0cyIKK0hPTUVQQUdFID0gImh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9mZWVkZm9ybWF0dGVyLyIKK1NFQ1RJT04gPSAiZGV2ZWwvcHl0aG9uIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0yNThlM2YzOWUyMzgzZmJkMDExMDM1ZDA0MzExMDA4ZCIKK1NSQ1JFViA9ICI3MzkxMTkzYzgzZTEwNDIwYjVhMmQ4ZWY4NDZkMjNmYzM2OGM2ZDg1IgorUFIgPSAicjAiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9tYXJpYW5vZ3VlcnJhL2ZlZWRmb3JtYXR0ZXIuZ2l0IgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZmVlZGZvcm1hdHRlcl8wLjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1mZWVkZm9ybWF0dGVyXzAuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNzVmOTQ0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZmVlZGZvcm1hdHRlcl8wLjQuYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHNldHVwdG9vbHMKK3JlcXVpcmUgcHl0aG9uLWZlZWRmb3JtYXR0ZXIuaW5jCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1mZWVkcGFyc2VyXzUuMi4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZmVlZHBhcnNlcl81LjIuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYWMxOGIwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZmVlZHBhcnNlcl81LjIuMS5iYgpAQCAtMCwwICsxLDkgQEAKK1NVTU1BUlkgPSAiUHl0aG9uIEF0b20gYW5kIFJTUyBmZWVkIHBhcnNlciIKK0xJQ0VOU0UgPSAiQlNELTItQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9YzIxYTc3MTNlZjZkYzFiOTk2NDQwNjFjMzk3ZTdjMmEiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJkNTUyZjdhMmE1NWU4ZTMzYjJhM2ZlMTA4MjUwNWI0MiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJiZDAzMDY1MmMyZDA4NTMyYzAzNGMyN2ZjZDdjODU4NjhlN2ZhM2NiMmIxN2YyMzBhNDRhNmJiYzkyNTE5YmY5IgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29scworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1mbGFzay1iY3J5cHRfMC43LjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1mbGFzay1iY3J5cHRfMC43LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDA4ODgzZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWZsYXNrLWJjcnlwdF8wLjcuMS5iYgpAQCAtMCwwICsxLDEyIEBACitERVNDUklQVElPTiA9ICJCcmNyeXB0IGhhc2hpbmcgZm9yIEZsYXNrLiIKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MGVlMmVlNWJlZTdmZTk2NTk3NzcwZTkyZGI1NzE5YTgiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJkMzQ1YzM2YWM2NjM3ZDNjYTlmYTk0MmUyMzhkMDBjYSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkNzFjODU4NWIyZWUxYzYyMDI0MzkyZWJkYmM0NDc0Mzg1NjRlMmM4YzAyYjRlNTdiNTZhNGNhZmQ4ZDEzYzVmIgorCitQWVBJX1BBQ0tBR0UgPSAiRmxhc2stQmNyeXB0IgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29scworCitSREVQRU5EU18ke1BOfSA9ICJweXRob24tYmNyeXB0IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZmxhc2stYm9vdHN0cmFwXzMuMy41LjcuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1mbGFzay1ib290c3RyYXBfMy4zLjUuNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lY2Y4OWFlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZmxhc2stYm9vdHN0cmFwXzMuMy41LjcuYmIKQEAgLTAsMCArMSwxMCBAQAorREVTQ1JJUFRJT04gPSAiQW4gZXh0ZW5zaW9uIHRoYXQgaW5jbHVkZXMgQm9vdHN0cmFwIGluIHlvdXIgcHJvamVjdCwgd2l0aG91dCBhbnkgYm9pbGVycGxhdGUgY29kZS4iCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1BLRy1JTkZPO21kNT1mMjcwZmJiN2QzZWE4ODczMWJmYzAwOTE2NzUwYzZiYyIKKworU1JDX1VSSVttZDVzdW1dID0gIjQ0NzFhZDY4ZGJmNzFhM2M2OGUwMGJkMGUxMzAxYTlmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjAyMGJmOWZjY2E2ZDY5ZGNlM2IxOWJjYjgwODUyZGE5MjlhMmIxYWRkZTZjYjRkNDdhNDQwMmY1Y2U1NGVmNzgiCisKK1BZUElfUEFDS0FHRSA9ICJGbGFzay1Cb290c3RyYXAiCisKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1mbGFzay1sb2dpbi5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1mbGFzay1sb2dpbi5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTVjNDQyOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWZsYXNrLWxvZ2luLmluYwpAQCAtMCwwICsxLDE0IEBACitTVU1NQVJZID0gIlVzZXIgc2Vzc2lvbiBtYW5hZ2VtZW50IGZvciBGbGFzayIKK0RFU0NSSVBUSU9OID0gIkZsYXNrLUxvZ2luIHByb3ZpZGVzIHVzZXIgc2Vzc2lvbiBtYW5hZ2VtZW50IGZvciBGbGFzay4gXAorSXQgaGFuZGxlcyB0aGUgY29tbW9uIHRhc2tzIG9mIGxvZ2dpbmcgaW4sIGxvZ2dpbmcgb3V0LCBhbmQgcmVtZW1iZXJpbmcgXAoreW91ciB1c2Vyc+KAmSBzZXNzaW9ucyBvdmVyIGV4dGVuZGVkIHBlcmlvZHMgb2YgdGltZS4iCitIT01FUEFHRSA9ICIgaHR0cHM6Ly9naXRodWIuY29tL21heGNvdW50cnltYW4vZmxhc2stbG9naW4iCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PThhYTg3YTFjZDlmYTQxZDk2OWFkMzJjZmRhYzJjNTk2IgorCitTUkNfVVJJW21kNXN1bV0gPSAiYzBhN2VhZjI4NjIzZjBhZWFjNDkyOWRjMDVhN2EwNjQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiODNkNWYxMGU1YzRmMjE0ZmVlZDZjYzQxYzIxMmRiNjNhNThhMTVhYzMyZTU2ZGY4MTU5MWJmYTBhNWNlZTNlNSIKKworUFlQSV9QQUNLQUdFID0gIkZsYXNrLUxvZ2luIgorCitSREVQRU5EU18ke1BOfSA9ICIke1BZVEhPTl9QTn0tZmxhc2siCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1mbGFzay1sb2dpbl8wLjIuMTEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1mbGFzay1sb2dpbl8wLjIuMTEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTEwY2VkZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWZsYXNrLWxvZ2luXzAuMi4xMS5iYgpAQCAtMCwwICsxLDIgQEAKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCityZXF1aXJlIHB5dGhvbi1mbGFzay1sb2dpbi5pbmMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWZsYXNrLW5hdmlnYXRpb25fMC4yLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1mbGFzay1uYXZpZ2F0aW9uXzAuMi4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhmZjZhYmMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1mbGFzay1uYXZpZ2F0aW9uXzAuMi4wLmJiCkBAIC0wLDAgKzEsMTIgQEAKK0RFU0NSSVBUSU9OID0gIlRoZSBuYXZpZ2F0aW9uIG9mIEZsYXNrIGFwcGxpY2F0aW9uLiIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUEtHLUlORk87bWQ1PWFmMmVjNjk1ZGMxZjNlYjdiZDc0Zjc5YTY4YTBkNzg5IgorCitTUkNfVVJJW21kNXN1bV0gPSAiZDEwNzVlZTAyYTNmNjlkYTM3ZTVjYWRhZDMzOTVmMzEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYzQyZDMwZWZhOTg5Y2E4Nzc0NDRhNDEwZThhMWNkMjU2MzU0NmY5ZWZmZTNkOWZlMzg4ZWVkZjdhNmM2OTI4NSIKKworUFlQSV9QQUNLQUdFID0gIkZsYXNrLU5hdmlnYXRpb24iCisKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCisKK1JERVBFTkRTXyR7UE59ID0gInB5dGhvbi1ibGlua2VyIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZmxhc2stcHltb25nby5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1mbGFzay1weW1vbmdvLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MzkxMTNiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZmxhc2stcHltb25nby5pbmMKQEAgLTAsMCArMSwxMyBAQAorU1VNTUFSWSA9ICJQeU1vbmdvIHN1cHBvcnQgZm9yIEZsYXNrIGFwcGxpY2F0aW9ucyIKK0RFU0NSSVBUSU9OID0gIlB5TW9uZ28gc3VwcG9ydCBmb3IgRmxhc2sgYXBwbGljYXRpb25zLiIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9taXRzdWhpa28vZmxhc2svIgorU0VDVElPTiA9ICJkZXZlbC9weXRob24iCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2ZsYXNrX3B5bW9uZ28vd3JhcHBlcnMucHk7c3RhcnRsaW5lPTE7ZW5kbGluZT0yNDttZDU9ZGZmOTk4ZDVhODQ2OTUwMzYxMmVlNzc1N2YzYTIwNTIiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0NTdhMjEwZjM1YmE0OWQyNjIzZGJjZjI3ZmJiODllMSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3MDdkZGZmOTJmNWI3YmRjMzRkNDAxZjFmMzg1N2EzZDFhOWY1ZGJhNzZlNmExNDIyY2NiYzM2NTFlMmNhNTIxIgorCitQWVBJX1BBQ0tBR0UgPSAiRmxhc2stUHlNb25nbyIKKworUkRFUEVORFNfJHtQTn0gPSAiJHtQWVRIT05fUE59LXB5bW9uZ28gJHtQWVRIT05fUE59LWZsYXNrIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZmxhc2stcHltb25nb18wLjQuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWZsYXNrLXB5bW9uZ29fMC40LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDQxZDAyMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWZsYXNrLXB5bW9uZ29fMC40LjAuYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHB5cGkgc2V0dXB0b29scworcmVxdWlyZSBweXRob24tZmxhc2stcHltb25nby5pbmMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWZsYXNrLXNxbGFsY2hlbXlfMi4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZmxhc2stc3FsYWxjaGVteV8yLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTI1ODcxMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWZsYXNrLXNxbGFsY2hlbXlfMi4xLmJiCkBAIC0wLDAgKzEsMTIgQEAKK0RFU0NSSVBUSU9OID0gIkFkZHMgU1FMQWxjaGVteSBzdXBwb3J0IHRvIHlvdXIgRmxhc2sgYXBwbGljYXRpb24uIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT01ZWQxYjhjYzc0MTUxNWE4MzVhN2Y2YmYyZjYyZWY0YSIKKworU1JDX1VSSVttZDVzdW1dID0gImRjMTVmZTA4YjA3YjQzNGQzZDJjNDA2M2I0Njc0YjcyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImM1MjQ0ZGU0NGNjODVkMjI2NzExNTYyNGQ4M2ZhZWYzZjllOGYwODg3NTY3ODg2OTRmMzA1YTVkNWFkMTM3YzUiCisKK1BZUElfUEFDS0FHRSA9ICJGbGFzay1TUUxBbGNoZW15IgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29scworCitSREVQRU5EU18ke1BOfSA9ICJweXRob24tc3FsYWxjaGVteSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWZsYXNrLXd0Zi9pbXBvcnQtc2ltcGxlanNvbi1hcy1qc29uLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZmxhc2std3RmL2ltcG9ydC1zaW1wbGVqc29uLWFzLWpzb24ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjc4ZjcwNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWZsYXNrLXd0Zi9pbXBvcnQtc2ltcGxlanNvbi1hcy1qc29uLnBhdGNoCkBAIC0wLDAgKzEsMjggQEAKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KKworU3ViamVjdDogW1BBVENIXSBpbXBvcnQgc2ltcGxlanNvbiBhcyBqc29uCisKK0F0IHJ1bnRpbWUgcHl0aG9uLUZsYXNrLVdURiB0cmllcyB0byBpbXBvcnQganNvbiwgYnV0IHRoZSBtb2R1bGUgaXMgbm90IAorYXZhaWxhYmxlLCBpbXBvcnQgc2ltcGxlanNvbiBhcyBqc29uIHNvbHZlIHRoZSBpc3N1ZS4KKworU2lnbmVkLW9mZi1ieTogRmFiaW8gQmVydG9uIDxmYWJpby5iZXJ0b25Ab3NzeXN0ZW1zLmNvbS5icj4KKy0tLQorIGZsYXNrX3d0Zi9yZWNhcHRjaGEvdmFsaWRhdG9ycy5weSB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2ZsYXNrX3d0Zi9yZWNhcHRjaGEvdmFsaWRhdG9ycy5weSBiL2ZsYXNrX3d0Zi9yZWNhcHRjaGEvdmFsaWRhdG9ycy5weQoraW5kZXggYmNmZjIzZC4uNGEyNDRiYiAxMDA2NDQKKy0tLSBhL2ZsYXNrX3d0Zi9yZWNhcHRjaGEvdmFsaWRhdG9ycy5weQorKysrIGIvZmxhc2tfd3RmL3JlY2FwdGNoYS92YWxpZGF0b3JzLnB5CitAQCAtOCw3ICs4LDcgQEAgZnJvbSBmbGFzayBpbXBvcnQgcmVxdWVzdCwgY3VycmVudF9hcHAKKyBmcm9tIHd0Zm9ybXMgaW1wb3J0IFZhbGlkYXRpb25FcnJvcgorIGZyb20gd2Vya3pldWcgaW1wb3J0IHVybF9lbmNvZGUKKyBmcm9tIC4uX2NvbXBhdCBpbXBvcnQgdG9fYnl0ZXMsIHRvX3VuaWNvZGUKKy1pbXBvcnQganNvbgorK2ltcG9ydCBzaW1wbGVqc29uIGFzIGpzb24KKyAKKyBSRUNBUFRDSEFfVkVSSUZZX1NFUlZFUiA9ICdodHRwczovL3d3dy5nb29nbGUuY29tL3JlY2FwdGNoYS9hcGkvc2l0ZXZlcmlmeScKKyBSRUNBUFRDSEFfRVJST1JfQ09ERVMgPSB7CistLSAKKzIuMS40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWZsYXNrLXd0Zl8wLjEyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZmxhc2std3RmXzAuMTIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzlhZmFmNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWZsYXNrLXd0Zl8wLjEyLmJiCkBAIC0wLDAgKzEsMTcgQEAKK0RFU0NSSVBUSU9OID0gIlNpbXBsZSBpbnRlZ3JhdGlvbiBvZiBGbGFzayBhbmQgV1RGb3Jtcy4iCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTUwN2U4NjM1ZjI1YTA2ZGM0ZjA0MWEzYTFiMzM1OWIzIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYzUzYTc0ZThiYTQ4MWJmNTM0MDVmZDVlZmRmMDMzOWUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYmQ5OTMxNmM5N2VkMWQxY2I5MGI4ZjBjMjQyYzg2NDIwYTg5MWE2YTIwNThmMjA3MTdlNDI0YmY1YjBiYjgwZSIKKworU1JDX1VSSSArPSAiIGZpbGU6Ly9pbXBvcnQtc2ltcGxlanNvbi1hcy1qc29uLnBhdGNoIgorCitQWVBJX1BBQ0tBR0UgPSAiRmxhc2stV1RGIgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29scworCitSREVQRU5EU18ke1BOfSA9ICJcCisgICAgcHl0aG9uLXd0Zm9ybXMgXAorICAgIHB5dGhvbi1zaW1wbGVqc29uIFwKKyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWZsYXNrLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWZsYXNrLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OTIzNzI2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZmxhc2suaW5jCkBAIC0wLDAgKzEsMTQgQEAKK1NVTU1BUlkgPSAiQSBtaWNyb2ZyYW1ld29yayBiYXNlZCBvbiBXZXJremV1ZywgSmluamEyIGFuZCBnb29kIGludGVudGlvbnMiCitERVNDUklQVElPTiA9ICJcCitGbGFzayBpcyBhIG1pY3JvZnJhbWV3b3JrIGZvciBQeXRob24gYmFzZWQgb24gV2Vya3pldWcsIEppbmphIDIgYW5kIGdvb2QgXAoraW50ZW50aW9ucy4gQW5kIGJlZm9yZSB5b3UgYXNrOiBJdOKAmXMgQlNEIGxpY2Vuc2VkISIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9taXRzdWhpa28vZmxhc2svIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT03OWFhOGI3YmM0Zjc4MTIxMGQ2YjVjMDZkNjQyNGNiMCIKKworU1JDX1VSSVttZDVzdW1dID0gIjM3ODY3MGZlNDU2OTU3ZWIzYzI3ZGRhZWY2MGIyYjI0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjRjODM4MjlmZjgzZDQwOGI1ZTFkNDk5NTQ3MjI2NTQxMWQyYzQxNDExMjI5OGYyZWI0YjM1OWQ5ZTQ1NjMzNzMiCisKK1BZUElfUEFDS0FHRSA9ICJGbGFzayIKKworUkRFUEVORFNfJHtQTn0gPSAiJHtQWVRIT05fUE59LXdlcmt6ZXVnICR7UFlUSE9OX1BOfS1qaW5qYTIgJHtQWVRIT05fUE59LWl0c2Rhbmdlcm91cyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWZsYXNrXzAuMTAuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWZsYXNrXzAuMTAuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMGEyOGFiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZmxhc2tfMC4xMC4xLmJiCkBAIC0wLDAgKzEsMiBAQAoraW5oZXJpdCBweXBpIHNldHVwdG9vbHMKK3JlcXVpcmUgcHl0aG9uLWZsYXNrLmluYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZmx1ZmwtZW51bV80LjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1mbHVmbC1lbnVtXzQuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZjEwODQ4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZmx1ZmwtZW51bV80LjEuYmIKQEAgLTAsMCArMSwyNCBAQAorU1VNTUFSWSAgPSAiQSBQeXRob24gZW51bWVyYXRpb24gcGFja2FnZS4iCitERVNDUklQVElPTiA9ICJUaGUgZmx1ZmwuZW51bSBsaWJyYXJ5IGlzIGEgUHl0aG9uIGVudW1lcmF0aW9uIHBhY2thZ2UuIEl0cyBnb2FsIGlzIHRvIHByb3ZpZGUgc2ltcGxlLCBcCitzcGVjaWZpYywgY29uY2lzZSBzZW1hbnRpY3MgaW4gYW4gZWFzeSB0byByZWFkIGFuZCB3cml0ZSBzeW50YXguIGZsdWZsLmVudW0gaGFzIGp1c3QgZW5vdWdoIG9mIHRoZSBcCitmZWF0dXJlcyBuZWVkZWQgdG8gbWFrZSBlbnVtZXJhdGlvbnMgdXNlZnVsLCBidXQgd2l0aG91dCBhIGxvdCBvZiBleHRyYSBiYWdnYWdlIHRvIHdlaWdoIHRoZW0gZG93bi4gIgorCitMSUNFTlNFID0gIkxHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1BLRy1JTkZPO3N0YXJ0bGluZT04O2VuZGxpbmU9OTttZDU9MjUwYWRiNGM3NGMzNTliNzA0OWFiY2Q5ZDZiMTE1ZTciCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0NjE3NzkzODRjMDdlZDJiNWY1NTRhNWQ1MWEwMDBjNCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5NGRhMTQxM2JhMDg1NDczNjUyZjgxNTY1ODQ3OTEzZWExNTQzZDE3Mzk5NzJlY2JkNmFmZTU3ZDdiMWI2OGI0IgorCitQWVBJX1BBQ0tBR0UgPSAiZmx1ZmwuZW51bSIKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCisKK1BBQ0tBR0VTID0rICJcICAKKyAgICAke1BOfS10ZXN0IFwKKyIKKworRklMRVNfJHtQTn0tZG9jICs9ICJcCisgICAgJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy9mbHVmbC9lbnVtLyoucnN0IFwKKyAgICAke2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL2ZsdWZsL2VudW0vZG9jcyBcCisiCisKK0ZJTEVTXyR7UE59LXRlc3QgKz0gIiR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvZmx1ZmwvZW51bS90ZXN0cyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdkYXRhXzEuMi40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZ2RhdGFfMS4yLjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjIwNTU4NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdkYXRhXzEuMi40LmJiCkBAIC0wLDAgKzEsMTcgQEAKK1NVTU1BUlkgPSAiR29vZ2xlIERhdGEgQVBJcyBQeXRob24gQ2xpZW50IExpYnJhcnkiCitTRUNUSU9OID0gImRldmVsL3B5dGhvbiIKK0xJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1JFQURNRS50eHQ7bWQ1PTQ3M2JkNGRmZjBkZGNhMWY5NTgyNDRiMmRjN2ExNjJjIgorSE9NRVBBR0UgPSAiaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2dkYXRhLXB5dGhvbi1jbGllbnQvIgorCitpbmhlcml0IGRpc3R1dGlscworCitTUkNfVVJJID0gImh0dHA6Ly9nZGF0YS1weXRob24tY2xpZW50Lmdvb2dsZWNvZGUuY29tL2ZpbGVzL2dkYXRhLnB5LSR7UFZ9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI1MjFmMzNhMzc3ZDY0ZjhhNjUwNWJhMTE5NDE1Yjc4NyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmYzVkZGI4Zjc2YjE3YWJkNzI4NzIxYTBlMDE3N2VhMzVmNTVhNzAxMDZmNDRkYzkwMTBiMjJlY2ViMDZhYmRlIgorCitTID0gIiR7V09SS0RJUn0vZ2RhdGEucHktJHtQVn0iCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9IgorCitSREVQRU5EU18ke1BOfSA9ICJweXRob24teG1sIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZ2V2ZW50XzAuMTMuOC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdldmVudF8wLjEzLjguYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDFjMGEzYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdldmVudF8wLjEzLjguYmIKQEAgLTAsMCArMSwxNSBAQAorU1VNTUFSWSA9ICJBIGNvcm91dGluZS1iYXNlZCBQeXRob24gbmV0d29ya2luZyBsaWJyYXJ5IgorREVTQ1JJUFRJT04gPSAiZ2V2ZW50IGlzIGEgY29yb3V0aW5lLWJhc2VkIFB5dGhvbiBuZXR3b3JraW5nIGxpYnJhcnkgdGhhdCB1c2VzIGdyZWVubGV0IHRvIHByb3ZpZGUgXAorYSBoaWdoLWxldmVsIHN5bmNocm9ub3VzIEFQSSBvbiB0b3Agb2YgdGhlIGxpYmV2ZW50IGV2ZW50IGxvb3AuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5nZXZlbnQub3JnIgorTElDRU5TRSA9ICJNSVQgJiBCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0yZGJiMzNkMDBlMWZkMzFjNzA0MTQ2MGE4MWFjMGJkMiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9MSUNFTlNFLnB5ZXZlbnQ7bWQ1PTcxODA3MGM2M2RlMjQzMDUzZTJjNjE2MjY4YjAwZmRkIgorREVQRU5EUyArPSAicHl0aG9uLWdyZWVubGV0IGxpYmV2ZW50IgorUkRFUEVORFNfJHtQTn0gKz0gInB5dGhvbi1ncmVlbmxldCBweXRob24tbWltZSBweXRob24tcHByaW50IHB5dGhvbi1yZSIKKworU1JDX1VSSVttZDVzdW1dID0gImNhOWRjYWE3ODgwNzYyZDhlYmJjMjY2YjExMjUyOTYwIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjU0YjhkMjYzMDBjZTQwOGMwOTE2YTNlNjNlZjZjZDNlNmFjYTc2MjMwODMzNTU4ZGViN2RlMTUxOTZlZDk1NWUiCisKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdyZWVubGV0XzAuNC43LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZ3JlZW5sZXRfMC40LjcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTY5ZWI2NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdyZWVubGV0XzAuNC43LmJiCkBAIC0wLDAgKzEsMTEgQEAKK1NVTU1BUlkgPSAiUHl0aG9uIGxpZ2h0d2VpZ2h0IGluLXByb2Nlc3MgY29uY3VycmVudCBwcm9ncmFtbWluZyIKK0xJQ0VOU0UgPSAiTUlUICYgUFNGIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MDMxNDNkN2ExYTlmNWQ4YTBmZWU4MjVmMjRjYTljMzYgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vTElDRU5TRS5QU0Y7bWQ1PWMxMDY5MzFkOTQyOWVkYTA0OTI2MTdmMDM3YjhmNjlhIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYzIzMzNhOGZmMzBmYTc1YzVkNWVjMGU2N2I0NjEwODYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjMyYzRmYTRlMDY0NDNlMWJkYjBkMzJiNjllNzYxN2MyNWZmNzcyYzNmZmM2ZDBhYTYzZDE5MmU5ZmQ3OTVmZSIKKworUFlQSV9QQUNLQUdFX0VYVCA9ICJ6aXAiCitpbmhlcml0IHB5cGkgZGlzdHV0aWxzCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWh0bWw1bGliXzAuOTk5OTk5OS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWh0bWw1bGliXzAuOTk5OTk5OS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYjkyZTU5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24taHRtbDVsaWJfMC45OTk5OTk5LmJiCkBAIC0wLDAgKzEsOCBAQAorU1VNTUFSWSA9ICJIVE1MIHBhcnNlciBiYXNlZCBvbiB0aGUgV0hBVFdHIEhUTUwgc3BlY2lmY2F0aW9uIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0xYmE1YWRhOWU2ZmVhZDFmZGMzMmY0M2M5ZjEwYmE3YyIKKworU1JDX1VSSVttZDVzdW1dID0gImVmNDNjYjA1ZTllNzk5ZjI1ZDY1ZDExMzU4MzhhOTZmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjI2MTJhMTkxYThkNTg0MmJmYTA1N2U0MWJhNTBiYmI5ZGNiNzIyNDE5ZDI0MDhjNzhjZmY0NzU4ZDA3NTQ4NjgiCisKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1pZG5hXzIuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWlkbmFfMi4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkwZjQ3YWUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1pZG5hXzIuMS5iYgpAQCAtMCwwICsxLDExIEBACitTVU1NQVJZID0gIkludGVybmF0aW9uYWxpc2VkIERvbWFpbiBOYW1lcyBpbiBBcHBsaWNhdGlvbnMiCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20va2pkL2lkbmEiCitMSUNFTlNFID0gIkJTRC0zLUNsYXVzZSAmIFB5dGhvbi0yLjAgJiBVbmljb2RlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS5yc3Q7bWQ1PTEzNGJkYWQ3OTQ5MWMzN2JkYWUzMjgxMTU3MmI0YmM2IgorCitERVBFTkRTICs9ICJweXRob24tcGlwIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZjY0NzNjYWE5YzVlMGNjMWFkM2ZkNWQwNGMzYzExNGIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZWQzNmYyODFhZWJmM2NkMDc5N2YxNjNiYjE2NWQ4NGMzMTUwN2NlZGQxNTkyOGIwOTViMTY3NWUyZDA0YzY3NiIKKworaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWlwYWRkcmVzc18xLjAuMTYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1pcGFkZHJlc3NfMS4wLjE2LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFlOTdlZjcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1pcGFkZHJlc3NfMS4wLjE2LmJiCkBAIC0wLDAgKzEsMTEgQEAKK1NVTU1BUlkgPSAiUHl0aG9uIDMuMysncyBpcGFkZHJlc3MgZm9yIFB5dGhvbiAyLjYsIDIuNywgMy4yLiIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9waGloYWcvaXBhZGRyZXNzIgorTElDRU5TRSA9ICJQeXRob24tMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9N2Y1Mzg1ODRjYzM0MDdiZjc2MDQyZGVmNzE2ODU0OGEiCisKK0RFUEVORFMgKz0gInB5dGhvbi1waXAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIxZTI3YjYyYWEyMGY1YjZmYzIwMGIyYmRiZjBkMDg0NyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1YTMxODJiMzIyYTcwNjUyNWM0NjI4MmNhNmYwNjRkMjdhMDJjZmZiZDQ0OWY5ZjQ3NDE2ZjFkYzk2YWE3MWIwIgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29scwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24taXNvODYwMV8wLjEuMTEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1pc284NjAxXzAuMS4xMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ODRjZjEyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24taXNvODYwMV8wLjEuMTEuYmIKQEAgLTAsMCArMSw4IEBACitTVU1NQVJZID0gIlNpbXBsZSBtb2R1bGUgdG8gcGFyc2UgSVNPIDg2MDEgZGF0ZXMiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWIwNTYyNWYyMzM2ZmEwMjRlOGQ1N2U2NWM2NTk1ODQ0IgorCitTUkNfVVJJW21kNXN1bV0gPSAiYjA2ZDExY2QxNGE2NDA5NmY5MDcwODYwNDRmMGZlMzgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZThmYjUyZjc4ODgwYWUwNjMzMzZjOTRlYjViODdiMTgxZTZhMGNjMzNhNmMwMDg1MTFiYWM5YTZlOTgwZWYzMCIKKworaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWl0c2Rhbmdlcm91cy5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1pdHNkYW5nZXJvdXMuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjczOTUxZmEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1pdHNkYW5nZXJvdXMuaW5jCkBAIC0wLDAgKzEsOSBAQAorU1VNTUFSWSA9ICJWYXJpb3VzIGhlbHBlcnMgdG8gcGFzcyB0cnVzdGVkIGRhdGEgdG8gdW50cnVzdGVkIGVudmlyb25tZW50cyBhbmQgYmFjay4iCitIT01FUEFHRSA9ICJodHRwOi8vZ2l0aHViLmNvbS9taXRzdWhpa28vaXRzZGFuZ2Vyb3VzIgorTElDRU5TRSA9ICJCU0QtMy1DbGF1c2UiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1iNjE4NDFlMmJmNWYwNzg4NDE0OGUyYTZmMWJjYWIwYyIKKworU1JDX1VSSVttZDVzdW1dID0gImEzZDU1YWE3OTM2OWFlZjUzNDVjMDM2YThhMjYzMDdmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImNiYjNmY2Y4ZDNlMzNkZjg2MTcwOWVjYWY4OWQ5ZTY2MjljZmYwYTIxN2JjMjg0OGYxYjQxY2QzMGQzNjA1MTkiCisKK0NMRUFOQlJPS0VOID0gIjEiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1pdHNkYW5nZXJvdXNfMC4yNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWl0c2Rhbmdlcm91c18wLjI0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBlMTU2YmUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1pdHNkYW5nZXJvdXNfMC4yNC5iYgpAQCAtMCwwICsxLDIgQEAKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCityZXF1aXJlIHB5dGhvbi1pdHNkYW5nZXJvdXMuaW5jCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1qaW5qYTIuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tamluamEyLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNmVlNzliCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tamluamEyLmluYwpAQCAtMCwwICsxLDE1IEBACitERVNDUklQVElPTiA9ICJQeXRob24gSmluamEyOiBBIHNtYWxsIGJ1dCBmYXN0IGFuZCBlYXN5IHRvIHVzZSBzdGFuZC1hbG9uZSB0ZW1wbGF0ZSBlbmdpbmUgd3JpdHRlbiBpbiBwdXJlIHB5dGhvbi4iCitMSUNFTlNFID0gIkJTRC0zLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTIwYzgzMWY5MWRkM2JkNDg2MDIwZjY3MmJhMmJlMzg2IgorCitQUiA9ICJyMCIKK1BZUElfUEFDS0FHRSA9ICJKaW5qYTIiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlZGI1MTY5M2ZlMjJjNTNjZWU1NDAzNzc1YzcxYTk5ZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJiYzFmZjJmZjg4ZGJmYWNlZmRlNGRkZGU0NzFkMTQxN2QzYjMwNGU4ZGYxMDNhN2E5NDM3ZDQ3MjY5MjAxYmY0IgorCitSREVQRU5EU18ke1BOfSArPSAiJHtQWVRIT05fUE59LWlvICR7UFlUSE9OX1BOfS1waWNrbGUgJHtQWVRIT05fUE59LWNyeXB0IFwKKyAgICAke1BZVEhPTl9QTn0tbWF0aCAke1BZVEhPTl9QTn0tbmV0Y2xpZW50ICR7UFlUSE9OX1BOfS1yZSAke1BZVEhPTl9QTn0tdGV4dHV0aWxzIFwKKyAgICAke1BZVEhPTl9QTn0tbGFuZyAke1BZVEhPTl9QTn0tcHByaW50ICR7UFlUSE9OX1BOfS1zaGVsbCAke1BZVEhPTl9QTn0tbWFya3Vwc2FmZSIKKworQ0xFQU5CUk9LRU4gPSAiMSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWppbmphMl8yLjguYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1qaW5qYTJfMi44LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVjOGU3ZWQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1qaW5qYTJfMi44LmJiCkBAIC0wLDAgKzEsMiBAQAoraW5oZXJpdCBweXBpIHNldHVwdG9vbHMKK3JlcXVpcmUgcHl0aG9uLWppbmphMi5pbmMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWpzb25wYXRjaF8xLjEzLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tanNvbnBhdGNoXzEuMTMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDg1YmE1OQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWpzb25wYXRjaF8xLjEzLmJiCkBAIC0wLDAgKzEsMTIgQEAKK1NVTU1BUlkgID0gIkFwcGxpbmcgSlNPTiBwYXRjaGVzIGluIFB5dGhvbiAyLjYrIGFuZCAzLngiCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vc3RlZmFua29lZ2wvcHl0aG9uLWpzb24tcGF0Y2giCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTMyYjE1Yzg0M2I3YTMyOTEzMGY0ZTI2NmEyODFlYmIzIgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29scworCitTUkNfVVJJW21kNXN1bV0gPSAiNGQ2NjUwY2VkNjgzZjYzMmUxMTdiYWZlNWQ5ZjA5M2IiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTQ3MDY1NmEwODAwMmUzMDk2MzJiNTk3NzJiMjA2Y2UwNTY0YzlhNzdiNDRjMjVmMDVmNDlkZDJjYWQyNDhkNSIKKworUkRFUEVORFNfJHtQTn0gKz0gInB5dGhvbi1yZSBweXRob24tanNvbiBweXRob24tanNvbnBvaW50ZXIiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWpzb25wb2ludGVyXzEuMTAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1qc29ucG9pbnRlcl8xLjEwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhlYzg3NzIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1qc29ucG9pbnRlcl8xLjEwLmJiCkBAIC0wLDAgKzEsMTEgQEAKK1NVTU1BUlkgPSAiUmVzb2x2ZSBKU09OIFBvaW50ZXJzIGluIFB5dGhvbiIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9zdGVmYW5rb2VnbC9weXRob24tanNvbi1wb2ludGVyIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zMmIxNWM4NDNiN2EzMjkxMzBmNGUyNjZhMjgxZWJiMyIKKworaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKKworU1JDX1VSSVttZDVzdW1dID0gImQ2OGMwYzZhZDY4ODllOWM5NGVjMGZlYmE3MTllNDVlIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjlmYTVkY2FjMzVlZWZkNTNlMjVkNmNkNGMzMTBkOTYzYzlmMGI4OTc2NDE3NzJjZDZlNWU3Yjg5ZGY3ZWUwYjEiCisKK1JERVBFTkRTXyR7UE59ICs9ICJweXRob24tcmUgcHl0aG9uLWpzb24iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1sZGFwL3NldHVwLmNmZy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWxkYXAvc2V0dXAuY2ZnLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE3MDNkMzQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1sZGFwL3NldHVwLmNmZy5wYXRjaApAQCAtMCwwICsxLDE0IEBACistLS0gcHl0aG9uLWxkYXAtMi4zLjkvc2V0dXAuY2ZnLm9yaWcgICAgMjAwOS0wOC0xMyAxMTowNzoyMy4wMDAwMDAwMDAgKzAyMDAKKysrKyBweXRob24tbGRhcC0yLjMuOS9zZXR1cC5jZmcgMjAwOS0wOC0xMyAxMTowNzozNy4wMDAwMDAwMDAgKzAyMDAKK0BAIC0xLDkgKzEsOSBAQAorIFtfbGRhcF0KKyBleHRyYV9vYmplY3RzID0gCisgZXh0cmFfY29tcGlsZV9hcmdzID0gCistbGlicyA9IGxkYXBfciBsYmVyIHNhc2wyIHNzbCBjcnlwdG8KKytsaWJzID0gbGRhcF9yIGxiZXIgc3NsIGNyeXB0bworIGxpYnJhcnlfZGlycyA9IC9vcHQvb3BlbmxkYXAtUkUyNC9saWIKKy1pbmNsdWRlX2RpcnMgPSAvb3B0L29wZW5sZGFwLVJFMjQvaW5jbHVkZSAvdXNyL2luY2x1ZGUvc2FzbAorK2luY2x1ZGVfZGlycyA9IC9vcHQvb3BlbmxkYXAtUkUyNC9pbmNsdWRlCisKKyBbZWdnX2luZm9dCisgdGFnX2J1aWxkID0gIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbGRhcF8yLjMuOS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWxkYXBfMi4zLjkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjRlNjVlYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWxkYXBfMi4zLjkuYmIKQEAgLTAsMCArMSwxMiBAQAorU1VNTUFSWSA9ICJMREFQIGNsaWVudCBBUEkgZm9yIFB5dGhvbiwgQyB3cmFwcGVyIG1vZHVsZSBhcm91bmQgT3BlbkxEQVAgMi54IHdpdGggYW4gb2JqZWN0LW9yaWVudGVkIEFQSSIgCitMSUNFTlNFID0gIlB5dGhvbi1zdHlsZSIgCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTkNFO21kNT1hNDFjODJlZGZmYTA0OTEyMDA3Y2FlMWQyMGNhYzU1NSIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cucHl0aG9uLWxkYXAub3JnLyIgCitERVBFTkRTID0gInB5dGhvbiBvcGVubGRhcCIgCisKK1NSQ19VUkkgPSAiZmlsZTovL3NldHVwLmNmZy5wYXRjaCIKK1NSQ19VUklbbWQ1c3VtXSA9ICJhOWY5ZjE2MzM4Mjg4ZDExOGExYWU2MjY2Yzk5MzI0NyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2MmY3NWIyMWM1ZWU3NDQ0MDhjOWQ4YjU5ODc4MzI4YjNiZGY0Nzg5OWQzMGU4YWJmMGMwOWIzZmZiODkzZWQ0IgorCitQWVBJX1BBQ0tBR0UgPSAicHl0aG9uLWxkYXAiCitpbmhlcml0IHB5cGkgc2V0dXB0b29scyAgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1sZGFwXzIuNC4xMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWxkYXBfMi40LjEwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBhNmFlN2UKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1sZGFwXzIuNC4xMC5iYgpAQCAtMCwwICsxLDI0IEBACisjCisjIENvcHlyaWdodCAoQykgMjAxMiBXaW5kIFJpdmVyIFN5c3RlbXMsIEluYy4KKyMKK1NVTU1BUlkgPSAiUHJvdmlkZXMgYSB3cmFwcGVyIGluIFB5dGhvbiB0byBMREFQIgorREVTQ1JJUFRJT04gPSAiVGhpcyBtb2R1bGUgcHJvdmlkZXMgYWNjZXNzIHRvIHRoZSBMREFQIFwKKyhMaWdodHdlaWdodCBEaXJlY3RvcnkgQWNjZXNzIFByb3RvY29sKSB0aHJvdWdoIFB5dGhvbiBvcGVyYXRpb25zIFwKK2luc3RlYWQgb2YgQyBBUEkuIFRoZSBtb2R1bGUgbWFpbmx5IGFjdHMgYXMgYSB3cmFwcGVyIGZvciB0aGUgXAorT3BlbkxEQVAgMi54IGxpYnJhcmllcy4gRXJyb3JzIHdpbGwgYXBwZWFyIGFzIGV4Y2VwdGlvbnMuIgorCitMSUNFTlNFID0gIlBTRiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cucHl0aG9uLWxkYXAub3JnLyIKK0RFUEVORFMgPSAicHl0aG9uIG9wZW5sZGFwIGN5cnVzLXNhc2wiCisKK1BZUElfUEFDS0FHRSA9ICJweXRob24tbGRhcCIKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzICAKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5DRTttZDU9YTQxYzgyZWRmZmEwNDkxMjAwN2NhZTFkMjBjYWM1NTUiCitTUkNfVVJJW21kNXN1bV0gPSAiYTE1ODI3Y2ExM2M5MGU5MTAxZTVlOTQwNWMxZDgzYmUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNjdjYzc4MDFiZjI0YzI5Mzg2YWI5OTk2NmNlYjY4ZDZhNjBmYTllMDU2NmNjOTVhNGZiYjJjNDY5NWE4Y2U1NCIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgc2VkIC1pIC1lICdzOl5saWJyYXJ5X2RpcnMgPS4qOjonIHNldHVwLmNmZworICAgIHNlZCAtaSAtZSAnczpeaW5jbHVkZV9kaXJzID0uKjppbmNsdWRlX2RpcnMgPSA9L3Vzci9pbmNsdWRlL3Nhc2wvOicgc2V0dXAuY2ZnCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1seG1sLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWx4bWwuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA0NzM0MTcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1seG1sLmluYwpAQCAtMCwwICsxLDQzIEBACitTVU1NQVJZID0gIlBvd2VyZnVsIGFuZCBQeXRob25pYyBYTUwgcHJvY2Vzc2luZyBsaWJyYXJ5IGNvbWJpbmluZyBsaWJ4bWwyL2xpYnhzbHQgd2l0aCB0aGUgRWxlbWVudFRyZWUgQVBJLiIKK0RFU0NSSVBUSU9OID0gImx4bWwgaXMgYSBQeXRob25pYywgbWF0dXJlIGJpbmRpbmcgZm9yIHRoZSBsaWJ4bWwyIGFuZCBcCitsaWJ4c2x0IGxpYnJhcmllcy4gSXQgcHJvdmlkZXMgc2FmZSBhbmQgY29udmVuaWVudCBhY2Nlc3MgdG8gdGhlc2UgXAorbGlicmFyaWVzIHVzaW5nIHRoZSBFbGVtZW50VHJlZSBBUEkuIEl0IGV4dGVuZHMgdGhlIEVsZW1lbnRUcmVlIEFQSSBcCitzaWduaWZpY2FudGx5IHRvIG9mZmVyIHN1cHBvcnQgZm9yIFhQYXRoLCBSZWxheE5HLCBYTUwgU2NoZW1hLCBYU0xULCBcCitDMTROIGFuZCBtdWNoIG1vcmUuIgorSE9NRVBBR0UgPSAiaHR0cDovL2NvZGVzcGVhay5uZXQvbHhtbCIKK1NFQ1RJT04gPSAiZGV2ZWwvcHl0aG9uIgorTElDRU5TRSA9ICJCU0QgJiBHUEx2MiAmIE1JVCAmIFBTRiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0VTLnR4dDttZDU9ZjlmMWRjMjRmNzIwYzE0M2MyMjQwZGY0MWZlNTA3M2IgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZG9jL2xpY2Vuc2VzL2VsZW1lbnR0cmVlLnR4dDttZDU9ZWIzNGQwMzZhNmUzZDU2MzE0ZWU0OWE2ODUyYWM4OTEgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZG9jL2xpY2Vuc2VzL0JTRC50eHQ7bWQ1PTcwMGExZmMxN2Y0Nzk3ZDRmMmQzNDk3MGM4ZWU2OTRiIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2RvYy9saWNlbnNlcy9HUEwudHh0O21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvbHhtbC9pc29zY2hlbWF0cm9uL3Jlc291cmNlcy9ybmcvaXNvLXNjaGVtYXRyb24ucm5nO3N0YXJ0bGluZT0yO2VuZGxpbmU9NzttZDU9YTI5MTRkMTJhY2M3MDY2YjNmNWI2MGU4Zjk0YTAxMmUgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2x4bWwvaXNvc2NoZW1hdHJvbi9yZXNvdXJjZXMveHNsL2lzby1zY2hlbWF0cm9uLXhzbHQxL2lzb19zY2hlbWF0cm9uX21lc3NhZ2UueHNsO3N0YXJ0bGluZT0yO2VuZGxpbmU9MjQ7bWQ1PTk2OTc2ZGNjNjYyNDljNTFlODAyNmIxNTljYTVlNzU1IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9seG1sL2lzb3NjaGVtYXRyb24vcmVzb3VyY2VzL3hzbC9STkcyU2NodHJuLnhzbDtzdGFydGxpbmU9MjtlbmRsaW5lPTc7bWQ1PTVjYWM0YWQ0YjVlMTMxYTEwZTlhZjc1NWIxMGZiYmI3IFwKKyAgICAgICAgICAgICAgICAgICAgIgorCitERVBFTkRTICs9ICJsaWJ4bWwyIGxpYnhzbHQiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI1OTU3Y2MzODRiZDZlODM5MzRiZTM1YzA1N2VjMDNiNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5Yzc0Y2EyOGE3ZjBjMzBkY2E4ODcyMjgxYjNjNDc3MDVlMjEyMTdjOGJjNjM5MTJkOTVjOWUyYTdjYWM2YmRmIgorCitESVNUVVRJTFNfQlVJTERfQVJHUyArPSAiIFwKKyAgICAgICAgICAgICAgICAgICAgIC0td2l0aC14c2x0LWNvbmZpZz0ncGtnLWNvbmZpZyBsaWJ4c2x0JyBcCisgICAgICAgICAgICAgICAgICAgICAtLXdpdGgteG1sMi1jb25maWc9J3BrZy1jb25maWcgbGlieG1sLTIuMCcgXAorIgorCitESVNUVVRJTFNfSU5TVEFMTF9BUkdTICs9ICIgXAorICAgICAgICAgICAgICAgICAgICAgLS13aXRoLXhzbHQtY29uZmlnPSdwa2ctY29uZmlnIGxpYnhzbHQnIFwKKyAgICAgICAgICAgICAgICAgICAgIC0td2l0aC14bWwyLWNvbmZpZz0ncGtnLWNvbmZpZyBsaWJ4bWwtMi4wJyBcCisiCisKK2luaGVyaXQgcHlwaQorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICBzZWQgLWkgLWUgJ3MvLS12ZXJzaW9uLy0tbW9kdmVyc2lvbi8nICR7Qn0vc2V0dXBpbmZvLnB5Cit9CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKKworUkRFUEVORFNfJHtQTn0gKz0gImxpYnhtbDIgbGlieHNsdCAke1BZVEhPTl9QTn0tY29tcHJlc3Npb24iCitSREVQRU5EU18ke1BOfV9jbGFzcy1uYXRpdmUgPSAibGlieG1sMi1uYXRpdmUgbGlieHNsdC1uYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1seG1sXzMuNi4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbHhtbF8zLjYuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MWNjYjEyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbHhtbF8zLjYuMC5iYgpAQCAtMCwwICsxLDIgQEAKK2luaGVyaXQgc2V0dXB0b29scworcmVxdWlyZSBweXRob24tbHhtbC5pbmMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW0yY3J5cHRvLzAwMDEtTTJDcnlwdG8tRXJyb3ItZml4LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbTJjcnlwdG8vMDAwMS1NMkNyeXB0by1FcnJvci1maXgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmE3NGI2OAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW0yY3J5cHRvLzAwMDEtTTJDcnlwdG8tRXJyb3ItZml4LnBhdGNoCkBAIC0wLDAgKzEsMTYyIEBACitGcm9tIDAyYTI0YWM1NDFkZjY4MDMzZDRlZmQ3ZTJmOGExYjkyZGM0OTMyOGQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBMaSB4aW4gPGxpeGluLmZuc3RAY24uZnVqaXRzdS5jb20+CitEYXRlOiBNb24sIDI3IEp1bCAyMDE1IDA1OjA2OjIwICswOTAwCitTdWJqZWN0OiBbUEFUQ0hdIE0yQ3J5cHRvOiBFcnJvciBmaXguCisKK0FmdGVyIHN3aWcgdXBncmFkZSBmcm9tIDMuMC4yIHRvIDMuMC42LGJ1aWxkIHRoZSByZWNpcGVzIHdoaWNoCitkZXBlbmRzIG9uIHB5dGhvbi1tMmNyeXB0byB3aWxsIG9jY3VyIGVycm9ycyBsaWtlIHRoaXM6CitTQUxUX0xFTiA9IG0yLlBLQ1M1X1NBTFRfTEVOCitBdHRyaWJ1dGVFcnJvcjogJ21vZHVsZScgb2JqZWN0IGhhcyBubyBhdHRyaWJ1dGUgJ1BLQ1M1X1NBTFRfTEVOJworc2luY2UgcHl0aG9uLW0yY3J5cHRvIGRlcGVuZHMgb24gc3dpZy1uYXRpdmUKKworUmVmOgoraHR0cHM6Ly9naXRodWIuY29tL21hcnRpbnBhbGphay9NMkNyeXB0by9pc3N1ZXMvNjAjaXNzdWVjb21tZW50LTc1NzM1NDg5CisKK1RoaXMgcGF0Y2ggaXMgZnJvbToKK2h0dHA6Ly9wa2dzLmZlZG9yYXByb2plY3Qub3JnL2NnaXQvbTJjcnlwdG8uZ2l0L3RyZWUvbTJjcnlwdG8tMC4yMS4xLXN3aWctMy4wLjUucGF0Y2gKKworVXBzdHJlYW0tU3RhdHVzOiBwZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IExpIFhpbiA8bGl4aW4uZm5zdEBjbi5mdWppdHN1LmNvbT4KKy0tLQorIE0yQ3J5cHRvL19faW5pdF9fLnB5IHwgIDQgKystLQorIE0yQ3J5cHRvL20yLnB5ICAgICAgIHwgIDIgKy0KKyBTV0lHL19saWIuaSAgICAgICAgICB8ICA0ICsrKysKKyBTV0lHL19wa2NzNy5pICAgICAgICB8ICAxICsKKyBzZXR1cC5weSAgICAgICAgICAgICB8IDI2ICsrKysrKysrKysrKysrKysrKysrKysrKystCisgNSBmaWxlcyBjaGFuZ2VkLCAzMyBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvTTJDcnlwdG8vX19pbml0X18ucHkgYi9NMkNyeXB0by9fX2luaXRfXy5weQoraW5kZXggZTdhY2ZlNy4uMDJmNGQyOCAxMDA2NDQKKy0tLSBhL00yQ3J5cHRvL19faW5pdF9fLnB5CisrKysgYi9NMkNyeXB0by9fX2luaXRfXy5weQorQEAgLTE5LDcgKzE5LDcgQEAgQ29weXJpZ2h0IDIwMDgtMjAxMSBIZWlra2kgVG9pdm9uZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgdmVyc2lvbl9pbmZvID0gKDAsIDIxLCAxKQorIHZlcnNpb24gPSAnLicuam9pbihbc3RyKF92KSBmb3IgX3YgaW4gdmVyc2lvbl9pbmZvXSkKKyAKKy1pbXBvcnQgX19tMmNyeXB0bworK2ltcG9ydCBfbTJjcnlwdG8KKyBpbXBvcnQgbTIKKyBpbXBvcnQgQVNOMQorIGltcG9ydCBBdXRoQ29va2llCitAQCAtNTcsNCArNTcsNCBAQCBpbXBvcnQgdXRpbAorIGVuY3J5cHQ9MQorIGRlY3J5cHQ9MAorIAorLV9fbTJjcnlwdG8ubGliX2luaXQoKQorK19tMmNyeXB0by5saWJfaW5pdCgpCitkaWZmIC0tZ2l0IGEvTTJDcnlwdG8vbTIucHkgYi9NMkNyeXB0by9tMi5weQoraW5kZXggZTRiYjY5NS4uODIyMTQzZiAxMDA2NDQKKy0tLSBhL00yQ3J5cHRvL20yLnB5CisrKysgYi9NMkNyeXB0by9tMi5weQorQEAgLTI1LDcgKzI1LDcgQEAgUG9ydGlvbnMgY3JlYXRlZCBieSBPcGVuIFNvdXJjZSBBcHBsaWNhdGlvbnMgRm91bmRhdGlvbiAoT1NBRikgYXJlCisgQ29weXJpZ2h0IChDKSAyMDA0IE9TQUYuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgIiIiCisgCistZnJvbSBfX20yY3J5cHRvIGltcG9ydCAqCisrZnJvbSBfbTJjcnlwdG8gaW1wb3J0ICoKKyBsaWJfaW5pdCgpCisgCisgCitkaWZmIC0tZ2l0IGEvU1dJRy9fbGliLmkgYi9TV0lHL19saWIuaQoraW5kZXggNDJkYzE4MC4uNDdhNTNiOCAxMDA2NDQKKy0tLSBhL1NXSUcvX2xpYi5pCisrKysgYi9TV0lHL19saWIuaQorQEAgLTEwMCw2ICsxMDAsNyBAQCBpbnQgc3NsX3ZlcmlmeV9jYWxsYmFjayhpbnQgb2ssIFg1MDlfU1RPUkVfQ1RYICpjdHgpIHsKKyAgICAgaW50IGNyZXQ7CisgICAgIGludCBuZXdfc3R5bGVfY2FsbGJhY2sgPSAwLCB3YXJuaW5nX3JhaXNlZF9leGNlcHRpb249MDsKKyAgICAgUHlHSUxTdGF0ZV9TVEFURSBnaWxzdGF0ZTsKKysgICAgUHlPYmplY3QgKnNlbGYgPSBOVUxMOyAvKiBidWcgaW4gU1dJR19OZXdQb2ludGVyT2JqIGFzIG9mIDMuMC41ICovCisgCisgICAgIHNzbCA9IChTU0wgKilYNTA5X1NUT1JFX0NUWF9nZXRfYXBwX2RhdGEoY3R4KTsKKyAKK0BAIC0xODUsNiArMTg2LDcgQEAgaW50IHNzbF92ZXJpZnlfY2FsbGJhY2soaW50IG9rLCBYNTA5X1NUT1JFX0NUWCAqY3R4KSB7Cisgdm9pZCBzc2xfaW5mb19jYWxsYmFjayhjb25zdCBTU0wgKnMsIGludCB3aGVyZSwgaW50IHJldCkgeworICAgICBQeU9iamVjdCAqYXJndiwgKnJldHZhbCwgKl9TU0w7CisgICAgIFB5R0lMU3RhdGVfU1RBVEUgZ2lsc3RhdGU7CisrICAgIFB5T2JqZWN0ICpzZWxmID0gTlVMTDsgLyogYnVnIGluIFNXSUdfTmV3UG9pbnRlck9iaiBhcyBvZiAzLjAuNSAqLworIAorICAgICBnaWxzdGF0ZSA9IFB5R0lMU3RhdGVfRW5zdXJlKCk7CisgCitAQCAtMjA0LDYgKzIwNiw3IEBAIERIICpzc2xfc2V0X3RtcF9kaF9jYWxsYmFjayhTU0wgKnNzbCwgaW50IGlzX2V4cG9ydCwgaW50IGtleWxlbmd0aCkgeworICAgICBQeU9iamVjdCAqYXJndiwgKnJldCwgKl9zc2w7CisgICAgIERIICpkaDsKKyAgICAgUHlHSUxTdGF0ZV9TVEFURSBnaWxzdGF0ZTsKKysgICAgUHlPYmplY3QgKnNlbGYgPSBOVUxMOyAvKiBidWcgaW4gU1dJR19OZXdQb2ludGVyT2JqIGFzIG9mIDMuMC41ICovCisgCisgICAgIGdpbHN0YXRlID0gUHlHSUxTdGF0ZV9FbnN1cmUoKTsKKyAKK0BAIC0yMjcsNiArMjMwLDcgQEAgUlNBICpzc2xfc2V0X3RtcF9yc2FfY2FsbGJhY2soU1NMICpzc2wsIGludCBpc19leHBvcnQsIGludCBrZXlsZW5ndGgpIHsKKyAgICAgUHlPYmplY3QgKmFyZ3YsICpyZXQsICpfc3NsOworICAgICBSU0EgKnJzYTsKKyAgICAgUHlHSUxTdGF0ZV9TVEFURSBnaWxzdGF0ZTsKKysgICAgUHlPYmplY3QgKnNlbGYgPSBOVUxMOyAvKiBidWcgaW4gU1dJR19OZXdQb2ludGVyT2JqIGFzIG9mIDMuMC41ICovCisgCisgICAgIGdpbHN0YXRlID0gUHlHSUxTdGF0ZV9FbnN1cmUoKTsKKyAKK2RpZmYgLS1naXQgYS9TV0lHL19wa2NzNy5pIGIvU1dJRy9fcGtjczcuaQoraW5kZXggMTc0ZjQwYS4uN2JmZmJmYyAxMDA2NDQKKy0tLSBhL1NXSUcvX3BrY3M3LmkKKysrKyBiL1NXSUcvX3BrY3M3LmkKK0BAIC0xNTcsNiArMTU3LDcgQEAgUHlPYmplY3QgKnNtaW1lX3JlYWRfcGtjczcoQklPICpiaW8pIHsKKyAgICAgQklPICpiY29udCA9IE5VTEw7CisgICAgIFBLQ1M3ICpwNzsKKyAgICAgUHlPYmplY3QgKnR1cGxlLCAqX3A3LCAqX0JJTzsKKysgICAgUHlPYmplY3QgKnNlbGYgPSBOVUxMOyAvKiBidWcgaW4gU1dJR19OZXdQb2ludGVyT2JqIGFzIG9mIDMuMC41ICovCisgCisgICAgIGlmIChCSU9fbWV0aG9kX3R5cGUoYmlvKSA9PSBCSU9fVFlQRV9NRU0pIHsKKyAgICAgICAgIC8qIE9wZW5TU0wgRkFRIGV4cGxhaW5zIHRoYXQgdGhpcyBpcyBuZWVkZWQgZm9yIG1lbSBCSU8gdG8gcmV0dXJuIEVPRiwKK2RpZmYgLS1naXQgYS9zZXR1cC5weSBiL3NldHVwLnB5CitpbmRleCBlN2M0OWViLi5iOThhYmUwIDEwMDY0NAorLS0tIGEvc2V0dXAucHkKKysrKyBiL3NldHVwLnB5CitAQCAtMjAsNiArMjAsNyBAQCBleGNlcHQgSW1wb3J0RXJyb3I6CisgICAgIGZyb20gZGlzdHV0aWxzLmNvbW1hbmQgaW1wb3J0IGJ1aWxkX2V4dAorIAorIGZyb20gZGlzdHV0aWxzLmNvcmUgaW1wb3J0IEV4dGVuc2lvbgorK2Zyb20gZGlzdHV0aWxzLmZpbGVfdXRpbCBpbXBvcnQgY29weV9maWxlCisgCisgCisgY2xhc3MgX00yQ3J5cHRvQnVpbGRFeHQoYnVpbGRfZXh0LmJ1aWxkX2V4dCk6CitAQCAtNTcsNyArNTgsMTcgQEAgY2xhc3MgX00yQ3J5cHRvQnVpbGRFeHQoYnVpbGRfZXh0LmJ1aWxkX2V4dCk6CisgICAgICAgICBzZWxmLnN3aWdfb3B0cy5hcHBlbmQoJy1pbmNsdWRlYWxsJykKKyAgICAgICAgICNzZWxmLnN3aWdfb3B0cy5hcHBlbmQoJy1EX19pMzg2X18nKSAjIFVuY29tbWVudCBmb3IgZWFybHkgT3BlblNTTCAwLjkuNyB2ZXJzaW9ucywgb3Igb24gRmVkb3JhIENvcmUgaWYgYnVpbGQgZmFpbHMKKyAgICAgICAgICNzZWxmLnN3aWdfb3B0cy5hcHBlbmQoJy1ET1BFTlNTTF9OT19FQycpICMgVHJ5IHVuY29tbWVudGluZyBpZiB5b3UgY2FuJ3QgYnVpbGQgd2l0aCBFQyBkaXNhYmxlZAorLSAgICAgICAgCisrICAgICAgICBzZWxmLnN3aWdfb3B0cy5hcHBlbmQoJy1tb2Rlcm4nKQorKyAgICAgICAgc2VsZi5zd2lnX29wdHMuYXBwZW5kKCctYnVpbHRpbicpCisrCisrICAgICAgICAjIFRoZXNlIHR3byBsaW5lcyBhcmUgYSB3b3JrYXJvdW5kIGZvcgorKyAgICAgICAgIyBodHRwOi8vYnVncy5weXRob24ub3JnL2lzc3VlMjYyNCAsIGhhcmQtY29kaW5nIHRoYXQgd2UgYXJlIG9ubHkKKysgICAgICAgICMgYnVpbGRpbmcgYSBzaW5nbGUgZXh0ZW5zaW9uIHdpdGggYSBrbm93biBwYXRoOyBhIHByb3BlciBwYXRjaCB0bworKyAgICAgICAgIyBkaXN0dXRpbHMgd291bGQgYmUgaW4gdGhlIHJ1biBwaGFzZSwgd2hlbiBleHRlbnNpb24gbmFtZSBhbmQgcGF0aCBhcmUKKysgICAgICAgICMga25vd24uCisrICAgICAgICBzZWxmLnN3aWdfb3B0cy5hcHBlbmQoJy1vdXRkaXInKQorKyAgICAgICAgc2VsZi5zd2lnX29wdHMuYXBwZW5kKG9zLnBhdGguam9pbihzZWxmLmJ1aWxkX2xpYiwgJ00yQ3J5cHRvJykpCisrCisgICAgICAgICBzZWxmLmluY2x1ZGVfZGlycyArPSBbb3MucGF0aC5qb2luKHNlbGYub3BlbnNzbCwgb3BlbnNzbEluY2x1ZGVEaXIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9zLnBhdGguam9pbihvcy5nZXRjd2QoKSwgJ1NXSUcnKV0gICAgICAgIAorICAgICAgICAgICAgIAorQEAgLTcxLDYgKzgyLDE5IEBAIGNsYXNzIF9NMkNyeXB0b0J1aWxkRXh0KGJ1aWxkX2V4dC5idWlsZF9leHQpOgorICAgICAgICAgICAgICAgIAorICAgICAgICAgc2VsZi5saWJyYXJ5X2RpcnMgKz0gW29zLnBhdGguam9pbihzZWxmLm9wZW5zc2wsIG9wZW5zc2xMaWJyYXJ5RGlyKV0KKyAKKysgICAgZGVmIHJ1bihzZWxmKToKKysgICAgICAgICcnJ092ZXJsb2FkZWQgYnVpbGRfZXh0IGltcGxlbWVudGF0aW9uIHRvIGFsbG93IGlucGxhY2U9MSB0byB3b3JrLAorKyAgICAgICAgd2hpY2ggaXMgbmVlZGVkIGZvciAocHl0aG9uIHNldHVwLnB5IHRlc3QpLicnJworKyAgICAgICAgIyBUaGlzIGlzIGFub3RoZXIgd29ya2Fyb3VuZCBmb3IgaHR0cDovL2J1Z3MucHl0aG9uLm9yZy9pc3N1ZTI2MjQgKyB0aGUKKysgICAgICAgICMgY29ycmVzcG9uZGluZyBsYWNrIG9mIHN1cHBvcnQgaW4gc2V0dXB0b29scycgdGVzdCBjb21tYW5kLiBOb3RlIHRoYXQKKysgICAgICAgICMganVzdCB1c2luZyBzZWxmLmlucGxhY2UgaW4gZmluYWxpemVfb3B0aW9ucygpIGFib3ZlIGRvZXMgbm90IHdvcmsKKysgICAgICAgICMgYmVjYXVzZSBzd2lnIGlzIG5vdCByZXJ1biBpZiB0aGUgX19tMmNyeXB0by5zbyBleHRlbnNpb24gZXhpc3RzLgorKyAgICAgICAgIyBBZ2FpbiwgaGFyZC1jb2Rpbmcgb3VyIGV4dGVuc2lvbiBuYW1lIGFuZCBsb2NhdGlvbi4KKysgICAgICAgIGJ1aWxkX2V4dC5idWlsZF9leHQucnVuKHNlbGYpCisrICAgICAgICBpZiBzZWxmLmlucGxhY2U6CisrICAgICAgICAgICAgY29weV9maWxlKG9zLnBhdGguam9pbihzZWxmLmJ1aWxkX2xpYiwgJ00yQ3J5cHRvJywgJ19tMmNyeXB0by5weScpLAorKyAgICAgICAgICAgICAgICAgICAgICBvcy5wYXRoLmpvaW4oJ00yQ3J5cHRvJywgJ19tMmNyeXB0by5weScpLAorKyAgICAgICAgICAgICAgICAgICAgICB2ZXJib3NlPXNlbGYudmVyYm9zZSwgZHJ5X3J1bj1zZWxmLmRyeV9ydW4pCisgCisgaWYgc3lzLnZlcnNpb25faW5mbyA8ICgyLDQpOgorIAorLS0gCisxLjguNC4yCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW0yY3J5cHRvLzAwMDEtc2V0dXAucHktbGluay1pbi1zeXNyb290LW5vdC1pbi1ob3N0LWRpcmVjdG9yaWVzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbTJjcnlwdG8vMDAwMS1zZXR1cC5weS1saW5rLWluLXN5c3Jvb3Qtbm90LWluLWhvc3QtZGlyZWN0b3JpZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODE5YzhlNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW0yY3J5cHRvLzAwMDEtc2V0dXAucHktbGluay1pbi1zeXNyb290LW5vdC1pbi1ob3N0LWRpcmVjdG9yaWVzLnBhdGNoCkBAIC0wLDAgKzEsMzYgQEAKK0Zyb20gZjExYjljNzEwODA1MTNmOWI4NjdiYThmNDA2MTNiYTJlYmM2ZTk2MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtvZW4gS29vaSA8a29lbkBkb21pbmlvbi50aHJ1aGVyZS5uZXQ+CitEYXRlOiBGcmksIDI5IE1hciAyMDEzIDE1OjE3OjE3ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIHNldHVwLnB5OiBsaW5rIGluIHN5c3Jvb3QsIG5vdCBpbiBob3N0IGRpcmVjdG9yaWVzCisKK1NpZ25lZC1vZmYtYnk6IEtvZW4gS29vaSA8a29lbkBkb21pbmlvbi50aHJ1aGVyZS5uZXQ+CisKK1Vwc3RyZWFtLXN0YXR1czogVW5rbm93bgorLS0tCisgc2V0dXAucHkgfCA2ICsrKy0tLQorIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCisKK0luZGV4OiBNMkNyeXB0by0wLjIzLjAvc2V0dXAucHkKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBNMkNyeXB0by0wLjIzLjAub3JpZy9zZXR1cC5weQorKysrIE0yQ3J5cHRvLTAuMjMuMC9zZXR1cC5weQorQEAgLTYyLDcgKzYyLDcgQEAgY2xhc3MgX00yQ3J5cHRvQnVpbGRFeHQoYnVpbGRfZXh0LmJ1aWxkXworICAgICAgICAgICAgIHNlbGYub3BlbnNzbCA9ICdjOlxccGtnJworICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICBzZWxmLmxpYnJhcmllcyA9IFsnc3NsJywgJ2NyeXB0byddCistICAgICAgICAgICAgc2VsZi5vcGVuc3NsID0gJy91c3InCisrICAgICAgICAgICAgc2VsZi5vcGVuc3NsID0gb3MuZW52aXJvbi5nZXQoICJTVEFHSU5HX0RJUiIgKQorIAorICAgICBkZWYgZmluYWxpemVfb3B0aW9ucyhzZWxmKToKKyAgICAgICAgICcnJ092ZXJsb2FkZWQgYnVpbGRfZXh0IGltcGxlbWVudGF0aW9uIHRvIGFwcGVuZCBjdXN0b20gb3BlbnNzbAorQEAgLTc1LDggKzc1LDggQEAgY2xhc3MgX00yQ3J5cHRvQnVpbGRFeHQoYnVpbGRfZXh0LmJ1aWxkXworICAgICAgICAgaWYgX29wZW5zc2wgYW5kIG9zLnBhdGguaXNkaXIoX29wZW5zc2wpOgorICAgICAgICAgICAgIHNlbGYub3BlbnNzbCA9IF9vcGVuc3NsCisgCistICAgICAgICBzZWxmLmluY2x1ZGVfZGlycy5hcHBlbmQob3MucGF0aC5qb2luKHNlbGYub3BlbnNzbCwgJ2luY2x1ZGUnKSkKKy0gICAgICAgIG9wZW5zc2xfbGlicmFyeV9kaXIgPSBvcy5wYXRoLmpvaW4oc2VsZi5vcGVuc3NsLCAnbGliJykKKysgICAgICAgIHNlbGYuaW5jbHVkZV9kaXJzLmFwcGVuZChvcy5lbnZpcm9uLmdldCggIlNUQUdJTkdfSU5DRElSIiApKQorKyAgICAgICAgb3BlbnNzbF9saWJyYXJ5X2RpciA9IG9zLmVudmlyb24uZ2V0KCAiU1RBR0lOR19MSUJESVIiICkKKyAKKyAgICAgICAgIGlmIHBsYXRmb3JtLnN5c3RlbSgpID09ICJMaW51eCI6CisgICAgICAgICAgICAgaWYgX211bHRpYXJjaDogICMgb24gRmVkb3JhL1JIRUwgaXQgaXMgYW4gZW1wdHkgc3RyaW5nCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1tMmNyeXB0b18wLjIzLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1tMmNyeXB0b18wLjIzLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjZmMGUxZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW0yY3J5cHRvXzAuMjMuMC5iYgpAQCAtMCwwICsxLDUyIEBACitTVU1NQVJZID0gIkEgUHl0aG9uIGNyeXB0byBhbmQgU1NMIHRvb2xraXQiCitIT01FUEFHRSA9ICJodHRwOi8vY2hhbmRsZXJwcm9qZWN0Lm9yZy9iaW4vdmlldy9Qcm9qZWN0cy9NZVRvb0NyeXB0byIKKworTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9QS0ctSU5GTzttZDU9NjhmNzg4MGRlOTQ5NDEyYjJlYTI0ODkzMmQ5N2VkNTQiCisKK1NSQ05BTUUgPSAiTTJDcnlwdG8iCitTUkNfVVJJID0gImh0dHA6Ly9weXBpLnB5dGhvbi5vcmcvcGFja2FnZXMvc291cmNlL00vTTJDcnlwdG8vTTJDcnlwdG8tJHtQVn0udGFyLmd6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiODk1NTc3MzBlMjQ1Mjk0YTZjYWIwNmRlOGFkNGZiNDIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMWFjM2I2ZWFmYTVmZjdlMmEwNzk2Njc1MzE2ZDc1NjliMjhhYWRhNDVhN2FiNzQwNDJhZDA4OWQxNWE5NTY3ZiIKKworU1JDX1VSSSArPSAiZmlsZTovLzAwMDEtc2V0dXAucHktbGluay1pbi1zeXNyb290LW5vdC1pbi1ob3N0LWRpcmVjdG9yaWVzLnBhdGNoICIKKworUyA9ICIke1dPUktESVJ9LyR7U1JDTkFNRX0tJHtQVn0iCisKK2luaGVyaXQgc2V0dXB0b29scworCitERVBFTkRTICs9ICJvcGVuc3NsIHN3aWctbmF0aXZlIgorCitESVNUVVRJTFNfQlVJTERfQVJHUyArPSAiYnVpbGRfZXh0IC0tb3BlbnNzbD0ke1NUQUdJTkdfRElSX0hPU1R9IC1JJHtTVEFHSU5HX0lOQ0RJUn0iCitESVNUVVRJTFNfSU5TVEFMTF9BUkdTICs9ICJidWlsZF9leHQgLS1vcGVuc3NsPSR7U1RBR0lOR19ESVJfSE9TVH0iCisKK2luaGVyaXQgc2V0dXB0b29scworCitTV0lHX0ZFQVRVUkVTX3g4Ni02NCA9ICItRF9feDg2XzY0X18iCitTV0lHX0ZFQVRVUkVTID89ICIiCitleHBvcnQgU1dJR19GRUFUVVJFUworCisjIEdldCBhcm91bmQgYSBwcm9ibGVtIHdpdGggc3dpZywgYnV0IG9ubHkgaWYgdGhlCisjIG11bHRpbGliIGhlYWRlciBmaWxlIGV4aXN0cy4KKyMKK2RvX2NvbXBpbGVfcHJlcGVuZCgpIHsKKyAgICBpZiBbICIke1NJVEVJTkZPX0JJVFN9IiA9ICI2NCIgXTt0aGVuCisgICAgICAgIGJpdD0iNjQiCisgICAgZWxzZQorICAgICAgICBiaXQ9IjMyIgorICAgIGZpCisKKyAgICBpZiBbIC1lICR7U1RBR0lOR19JTkNESVJ9L29wZW5zc2wvb3BlbnNzbGNvbmYtJHtiaXR9LmggXSA7dGhlbgorICAgICAgICBmb3IgaSBpbiBTV0lHL19lYy5pIFNXSUcvX2V2cC5pOyBkbworICAgICAgICAgICAgc2VkIC1pIC1lICJzL29wZW5zc2xjb25mLipcLi9vcGVuc3NsY29uZi0ke2JpdH1cLi8iICIkaSIKKyAgICAgICAgZG9uZQorICAgIGVsaWYgWyAtZSAke1NUQUdJTkdfSU5DRElSfS9vcGVuc3NsL29wZW5zc2xjb25mLW4ke2JpdH0uaCBdIDt0aGVuCisgICAgICAgIGZvciBpIGluIFNXSUcvX2VjLmkgU1dJRy9fZXZwLmk7IGRvCisgICAgICAgICAgICBzZWQgLWkgLWUgInMvb3BlbnNzbGNvbmYuKlwuL29wZW5zc2xjb25mLW4ke2JpdH1cLi8iICIkaSIKKyAgICAgICAgZG9uZQorICAgIGZpCit9CisKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1tYXJrdXBzYWZlLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW1hcmt1cHNhZmUuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZkN2Q5YmQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1tYXJrdXBzYWZlLmluYwpAQCAtMCwwICsxLDE0IEBACitERVNDUklQVElPTiA9ICJJbXBsZW1lbnRzIGEgWE1ML0hUTUwvWEhUTUwgTWFya3VwIHNhZmUgc3RyaW5nIGZvciBQeXRob24iCitIT01FUEFHRSA9ICJodHRwOi8vZ2l0aHViLmNvbS9taXRzdWhpa28vbWFya3Vwc2FmZSIKK0xJQ0VOU0UgPSAiQlNELTMtQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9YzZkMWFkY2Y0NWQ2OTM1OWYyNTZjMWNlYTMyNTQxMjciCisKK1BSID0gInIwIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZjVhYjNkZWVlNGMzN2NkNmE5MjJmYjgxZTczMGRhNmUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYTRlYzFhZmY1OWI5NWExNGI0NWViMmUyMzc2MWEwMTc5ZTk4MzE5ZGE1YTdlYjc2YjU2ZWE4Y2RjN2I4NzFjMyIKKworUFlQSV9QQUNLQUdFID0gIk1hcmt1cFNhZmUiCitpbmhlcml0IHB5cGkKKworUkRFUEVORFNfJHtQTn0gKz0gIiR7UFlUSE9OX1BOfS1yZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW1hcmt1cHNhZmVfMC4yMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW1hcmt1cHNhZmVfMC4yMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zOTZlZmYxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbWFya3Vwc2FmZV8wLjIzLmJiCkBAIC0wLDAgKzEsMiBAQAoraW5oZXJpdCBzZXR1cHRvb2xzCityZXF1aXJlIHB5dGhvbi1tYXJrdXBzYWZlLmluYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbWF0cGxvdGxpYi9maXhfc2V0dXAucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1tYXRwbG90bGliL2ZpeF9zZXR1cC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MzgxNTgzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbWF0cGxvdGxpYi9maXhfc2V0dXAucGF0Y2gKQEAgLTAsMCArMSwyOSBAQAorVGhpcyBmaXhlcyB0aGUgZGVwZW5kZW5jeSBjaGVja3MgaW5zaWRlIG9mIHNldHVwLnB5IHNpbmNlIHRoaW5ncyBsaWtlCisnaW1wb3J0IG51bXB5JyB3b24ndCB3b3JrIHdpdGggYml0YmFrZS4KKworZGlmZiAtLWdpdCBhL3NldHVwLnB5IGIvc2V0dXAucHkKK2luZGV4IDJmMTM4MjEuLmU2ZDZlZDAgMTAwNjQ0CistLS0gYS9zZXR1cC5weQorKysrIGIvc2V0dXAucHkKK0BAIC0xMTMsMTIgKzExMyw2IEBAIGlmIDE6CisgICAgIGJhc2VsaW5lX2ltYWdlcyA9IFtjaG9wX3BhY2thZ2UoZikgZm9yIGYgaW4gYmFzZWxpbmVfaW1hZ2VzXQorICAgICBwYWNrYWdlX2RhdGFbJ21hdHBsb3RsaWInXS5leHRlbmQoYmFzZWxpbmVfaW1hZ2VzKQorIAorLWlmIG5vdCBjaGVja19mb3JfbnVtcHkoKToKKy0gICAgc3lzLmV4aXQoMSkKKy0KKy1pZiBub3QgY2hlY2tfZm9yX2ZyZWV0eXBlKCk6CistICAgIHN5cy5leGl0KDEpCistCisgYnVpbGRfZnQyZm9udChleHRfbW9kdWxlcywgcGFja2FnZXMpCisgYnVpbGRfdHRjb252KGV4dF9tb2R1bGVzLCBwYWNrYWdlcykKKyBidWlsZF9jb250b3VyKGV4dF9tb2R1bGVzLCBwYWNrYWdlcykKK0BAIC0xMjksNyArMTIzLDcgQEAgYnVpbGRfdHJpKGV4dF9tb2R1bGVzLCBwYWNrYWdlcykKKyAKKyBwcmludF9yYXcoIiIpCisgcHJpbnRfcmF3KCJPUFRJT05BTCBCQUNLRU5EIERFUEVOREVOQ0lFUyIpCistaGFzX2xpYnBuZyA9IGNoZWNrX2Zvcl9saWJwbmcoKQorK2hhc19saWJwbmcgPSBUcnVlCisgCisgaWYgaGFzX2xpYnBuZyBhbmQgb3B0aW9uc1snYnVpbGRfYWdnJ106CisgICAgIGJ1aWxkX2FnZyhleHRfbW9kdWxlcywgcGFja2FnZXMpCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1tYXRwbG90bGliL2ZpeF9zZXR1cGV4dC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW1hdHBsb3RsaWIvZml4X3NldHVwZXh0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlhMTNhMTgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1tYXRwbG90bGliL2ZpeF9zZXR1cGV4dC5wYXRjaApAQCAtMCwwICsxLDQwIEBACitUaGlzIGZpeGVzIHRoZSBudW1weSBpbXBvcnQgcHJvYmxlbSBpbiBzZXR1cGV4dC5weSB1c2luZyBhIGhhcmQtY29kZWQgcGF0aC4KKworSW5kZXg6IG1hdHBsb3RsaWItMS4xLjAvc2V0dXBleHQucHkKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBtYXRwbG90bGliLTEuMS4wLm9yaWcvc2V0dXBleHQucHkKKysrKyBtYXRwbG90bGliLTEuMS4wL3NldHVwZXh0LnB5CitAQCAtMTIyLDggKzEyMiw4IEBAIG51bXB5X2luY19kaXJzID0gW10KKyAjIG1hdHBsb3RsaWIgYnVpbGQgb3B0aW9ucywgd2hpY2ggY2FuIGJlIGFsdGVyZWQgdXNpbmcgc2V0dXAuY2ZnCisgb3B0aW9ucyA9IHsnZGlzcGxheV9zdGF0dXMnOiBUcnVlLAorICAgICAgICAgICAgJ3ZlcmJvc2UnOiBGYWxzZSwKKy0gICAgICAgICAgICdwcm92aWRlX3B5dHonOiAnYXV0bycsCistICAgICAgICAgICAncHJvdmlkZV9kYXRldXRpbCc6ICdhdXRvJywKKysgICAgICAgICAgICdwcm92aWRlX3B5dHonOiBGYWxzZSwKKysgICAgICAgICAgICdwcm92aWRlX2RhdGV1dGlsJzogRmFsc2UsCisgICAgICAgICAgICAnYnVpbGRfYWdnJzogVHJ1ZSwKKyAgICAgICAgICAgICdidWlsZF9ndGsnOiAnYXV0bycsCisgICAgICAgICAgICAnYnVpbGRfZ3RrYWdnJzogJ2F1dG8nLAorQEAgLTE3NiwxMCArMTc2LDcgQEAgaWYgb3MucGF0aC5leGlzdHMoc2V0dXBfY2ZnKToKKyAgICAgZXhjZXB0OiBwYXNzCisgCisgIyBGb3IgZ2V0X2Jhc2VfZmxhZ3M6CistaWYgb3B0aW9uc1snYmFzZWRpcmxpc3QnXToKKy0gICAgYmFzZWRpcmxpc3QgPSBvcHRpb25zWydiYXNlZGlybGlzdCddLnNwbGl0KCkKKy1lbHNlOgorLSAgICBiYXNlZGlybGlzdCA9IGJhc2VkaXJbc3lzLnBsYXRmb3JtXQorK2Jhc2VkaXJsaXN0ID0gW29zLmVudmlyb25bJ1NUQUdJTkdfTElCRElSJ11dCisgcHJpbnQoImJhc2VkaXJsaXN0IGlzOiAlcyIgJSBiYXNlZGlybGlzdCkKKyAKKyBpZiBvcHRpb25zWydkaXNwbGF5X3N0YXR1cyddOgorQEAgLTU1NSw4ICs1NTIsOCBAQCBkZWYgY2hlY2tfZm9yX251bXB5KCk6CisgCisgZGVmIGFkZF9udW1weV9mbGFncyhtb2R1bGUpOgorICAgICAiQWRkIHRoZSBtb2R1bGVzIGZsYWdzIHRvIGJ1aWxkIGV4dGVuc2lvbnMgd2hpY2ggdXNlIG51bXB5IgorLSAgICBpbXBvcnQgbnVtcHkKKy0gICAgbW9kdWxlLmluY2x1ZGVfZGlycy5hcHBlbmQobnVtcHkuZ2V0X2luY2x1ZGUoKSkKKysgICAgIyBIYXJkLWNvZGVkIHBhdGggZm9yIE9FIHNpbmNlIEkga25vdyB0aGlzIGlzIHdoZXJlIG51bXB5J3MgaW5jbHVkZSBkaXIgd2lsbCBiZQorKyAgICBtb2R1bGUuaW5jbHVkZV9kaXJzLmFwcGVuZChvcy5wYXRoLmpvaW4ob3MuZW52aXJvblsnU1RBR0lOR19MSUJESVInXSwgJ3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL251bXB5L2NvcmUvaW5jbHVkZS8nKSkKKyAKKyBkZWYgYWRkX3BuZ19mbGFncyhtb2R1bGUpOgorICAgICB0cnlfcGtnY29uZmlnKG1vZHVsZSwgJ2xpYnBuZycsICdwbmcnKQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbWF0cGxvdGxpYl8xLjEuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW1hdHBsb3RsaWJfMS4xLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjlmNzFjNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW1hdHBsb3RsaWJfMS4xLjAuYmIKQEAgLTAsMCArMSwzNiBAQAorREVTQ1JJUFRJT04gPSAibWF0cGxvdGxpYiBpcyBhIHB5dGhvbiAyRCBwbG90dGluZyBsaWJyYXJ5IHdoaWNoIHByb2R1Y2VzIHB1YmxpY2F0aW9uIHF1YWxpdHkgZmlndXJlcyBpbiBhIHZhcmlldHkgb2YgaGFyZGNvcHkgZm9ybWF0cyIKK1NFQ1RJT04gPSAiZGV2ZWwvcHl0aG9uIgorTElDRU5TRSA9ICJQU0YiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9SRUFETUUudHh0O21kNT04M2M1YmY4YjE2YTVmOTk1MDdmMmY0N2EyMWFlM2I4MSIKK1BSID0gInIxIgorCitERVBFTkRTICs9ICJweXRob24tbnVtcHkgZnJlZXR5cGUgbGlicG5nIHB5dGhvbi1kYXRldXRpbCBweXRob24tcHl0eiIKK1JERVBFTkRTXyR7UE59ID0gInB5dGhvbi1jb3JlIHB5dGhvbi1kaXN0dXRpbHMgcHl0aG9uLW51bXB5IGZyZWV0eXBlIGxpYnBuZyBweXRob24tZGF0ZXV0aWwgcHl0aG9uLXB5dHoiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L21hdHBsb3RsaWIvbWF0cGxvdGxpYi0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vZml4X3NldHVwLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2ZpeF9zZXR1cGV4dC5wYXRjaCBcCisiCisKK1MgPSAiJHtXT1JLRElSfS9tYXRwbG90bGliLSR7UFZ9IgorCitFWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLWRvY3MgLS13aXRoLXB5dGhvbi1pbmNsdWRlcz0ke1NUQUdJTkdfSU5DRElSfS8uLi8iCisKK2luaGVyaXQgZGlzdHV0aWxzCisKK2RvX2NvbXBpbGVfcHJlcGVuZCgpIHsKKyAgICBCVUlMRF9TWVM9JHtCVUlMRF9TWVN9IEhPU1RfU1lTPSR7SE9TVF9TWVN9IFwKKyAgICAke1NUQUdJTkdfQklORElSX05BVElWRX0vcHl0aG9uIHNldHVwLnB5IGJ1aWxkICR7RElTVFVUSUxTX0JVSUxEX0FSR1N9IHx8IFwKKyAgICB0cnVlCit9CisKKyMgbmVlZCB0byBleHBvcnQgdGhlc2UgdmFyaWFibGVzIGZvciBweXRob24tY29uZmlnIHRvIHdvcmsKK2V4cG9ydCBQWVRIT05QQVRICitleHBvcnQgQlVJTERfU1lTCitleHBvcnQgSE9TVF9TWVMKK2V4cG9ydCBTVEFHSU5HX0lOQ0RJUgorZXhwb3J0IFNUQUdJTkdfTElCRElSCisKKworU1JDX1VSSVttZDVzdW1dID0gIjU3YTYyN2YzMGIzYjI3ODIxZjgwODY1OTg4OTUxNGMyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImJlMzdlMWQ4NmM2NWVjYWNhZTY2ODNmODgwNWUwNTFlOTkwNGU1ZjJlMDJiZjJiN2EzNDI2MmM0NmE2ZDA2YTciCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1tY2NhYmVfMC40LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1tY2NhYmVfMC40LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDk1OGY3NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW1jY2FiZV8wLjQuMC5iYgpAQCAtMCwwICsxLDE0IEBACitTVU1NQVJZID0gIk1jQ2FiZSBjaGVja2VyLCBwbHVnaW4gZm9yIGZsYWtlOCIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9kcmVhbWhvc3QvY2xpZmYiCitMSUNFTlNFID0gIkFwYWNoZS0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9SRUFETUUucnN0O21kNT1mOGI1MGZiYTE3MTFlY2FjNmJjZGI2MzI0Zjg1YTY2ZCIKKworU1JDX1VSSVttZDVzdW1dID0gIjhjNDI1ZGIwNWYzMTBhZGNkNGJiMTc0Yjk5MWYyNmY1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjlhMmIxMmViZDg3NmU3N2M3MmU0MWViZjQwMWNjMmU3YzViNTY2NjQ5ZDUwMTA1Y2E0OTgyMjY4ODY0MjIwN2IiCisKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCisKK1JERVBFTkRTXyR7UE59ICs9ICIgXAorICAgIHB5dGhvbi1wcmV0dHl0YWJsZSBcCisgICAgcHl0aG9uLWNtZDIgXAorICAgIHB5dGhvbi1weXBhcnNpbmciCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1tb2NrXzEuMy4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbW9ja18xLjMuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YTc4OTRjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbW9ja18xLjMuMC5iYgpAQCAtMCwwICsxLDE2IEBACitTVU1NQVJZID0gIkEgUHl0aG9uIE1vY2tpbmcgYW5kIFBhdGNoaW5nIExpYnJhcnkgZm9yIFRlc3RpbmciCitMSUNFTlNFID0gIkFwYWNoZS0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLnR4dDttZDU9ZGU5ZGZiZjc4MDQ0NmIxOGFhYjExZjAwYmFhZjViN2UiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI3M2VlOGE0YWZiM2ZmNGRhMWI0YWZhMjg3ZjM5ZmRlYiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIxZTI0N2RiZWNjNmNlMDU3Mjk5ZWI3ZWUwMTlhZDY4MzE0YmI5MzE1MmU4MWQ5YTYxMTBkMzVmNGQ1ZWNhMGY2IgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29scworCitSREVQRU5EU18ke1BOfSArPSAiIFwKKyAgICBweXRob24tcHJldHR5dGFibGUgXAorICAgIHB5dGhvbi1jbWQyIFwKKyAgICBweXRob24tcHlwYXJzaW5nIFwKKyAgICBweXRob24tbWNjYWJlIFwKKyAgICBweXRob24tcGVwOCBcCisgICAgcHl0aG9uLXB5Zmxha2VzIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbW9ub3RvbmljXzEuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW1vbm90b25pY18xLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWQyMzdiNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW1vbm90b25pY18xLjAuYmIKQEAgLTAsMCArMSwxMCBAQAorU1VNTUFSWSA9ICJBbiBpbXBsZW1lbnRhdGlvbiBvZiB0aW1lLm1vbm90b25pYygpIGZvciBQeXRob24gMi4wIHRocm91Z2ggMy4yIgorTElDRU5TRSA9ICJBcGFjaGUtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ZDI3OTRjMGRmNWI5MDdmZGFjZTIzNWE2MTlkODAzMTQiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJhNjkyYmZmMmM1ZTA3ZGRlMjJhZDIxMjhkODE4ZDE1YyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI0N2Q3ZDA0NWIzZjJhMDhiZmZlNjgzZDc2MWVmN2Y5MTMxYTI1OThkYjFjZWM3NTMyYTA2NzIwNjU2Y2Y3MTlkIgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29scworCitSREVQRU5EU18ke1BOfSArPSAiJHtQWVRIT05fUE59LWN0eXBlcyAke1BZVEhPTl9QTn0tcmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1tc2dwYWNrXzAuNC43LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbXNncGFja18wLjQuNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYjc4NTNlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbXNncGFja18wLjQuNy5iYgpAQCAtMCwwICsxLDExIEBACitTVU1NQVJZID0gIk1lc3NhZ2VQYWNrIChkZSlzZXJpYWxpemVyIgorTElDRU5TRSA9ICJBcGFjaGUtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9Y2Q5NTIzMTgxZDlkNGZiZjdmZmNhNTJlYWEyYTU3NTEiCisKK1BSID0gInIwIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZWIyYWFkMTA4MTUzNGVmM2E5ZjMyYTBlY2QzNTBiOWIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNWUwMDEyMjlhNTQxODBhMDJkY2RkNTlkYjIzYzk5NzgzNTFhZjU1YjEyOTBjMjdiYzU0OWUzODFmNDNhY2Q2YiIKKworUFlQSV9QQUNLQUdFID0gIm1zZ3BhY2stcHl0aG9uIgoraW5oZXJpdCBweXBpIHNldHVwdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW5ldGFkZHJfMC43LjE4LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbmV0YWRkcl8wLjcuMTguYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmZkYmYxOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW5ldGFkZHJfMC43LjE4LmJiCkBAIC0wLDAgKzEsOCBAQAorU1VNTUFSWSA9ICJBIG5ldHdvcmsgYWRkcmVzcyBtYW5pcHVsYXRpb24gbGlicmFyeSBmb3IgUHl0aG9uLiIKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9YjI3NzQyNWY4N2YzYjA2ZDI1YWY0NWQ4Yjk2Zjk2ODIiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJjNjViYjM0ZjhiZWRmYmJjYTBiMzE2YzQ5MGNkMTNhMCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhMWY1YzlmY2Y3NWFjMjU3OWI5OTk1Yzg0M2RhZGUzMzAwOTU0M2MwNGYyMThmZjdjMDA3YjNjODE2OTViZDE5IgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29scwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbnVtZXJpYy9uby1sYXBhY2sucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1udW1lcmljL25vLWxhcGFjay5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMTkxNmI4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbnVtZXJpYy9uby1sYXBhY2sucGF0Y2gKQEAgLTAsMCArMSwzMyBAQAorCisjCisjIFBhdGNoIG1hbmFnZWQgYnkgaHR0cDovL3d3dy5ob2xnZXJzY2h1cmlnLmRlL3BhdGNoZXIuaHRtbAorIworCistLS0gTnVtZXJpYy0yMy43L3NldHVwLnB5fm5vbGFwYWNrCisrKysgTnVtZXJpYy0yMy43L3NldHVwLnB5CitAQCAtMzIsNyArMzIsNyBAQAorICAgICBtYXRobGlicyA9IFtdCisgCisgIyBkZWxldGUgYWxsIGJ1dCB0aGUgZmlyc3Qgb25lIGluIHRoaXMgbGlzdCBpZiB1c2luZyB5b3VyIG93biBMQVBBQ0svQkxBUworLXNvdXJjZWxpc3QgPSBbb3MucGF0aC5qb2luKCdTcmMnLCAnbGFwYWNrX2xpdGVtb2R1bGUuYycpLAorK3NvdXJjZWxpc3QgPSBbCisgICAgICAgICAgICAgICAjb3MucGF0aC5qb2luKCdTcmMnLCAnYmxhc19saXRlLmMnKSwgCisgICAgICAgICAgICAgICAjb3MucGF0aC5qb2luKCdTcmMnLCAnZjJjX2xpdGUuYycpLCAKKyAgICAgICAgICAgICAgICNvcy5wYXRoLmpvaW4oJ1NyYycsICd6bGFwYWNrX2xpdGUuYycpLAorQEAgLTQwLDEyICs0MCwxMiBAQAorICAgICAgICAgICAgICBdCisgIyBzZXQgdGhlc2UgdG8gdXNlIHlvdXIgb3duIEJMQVM7CisgCistbGlicmFyeV9kaXJzX2xpc3QgPSBbJy91c3IvbGliL2F0bGFzJ10KKy1saWJyYXJpZXNfbGlzdCA9IFsnbGFwYWNrJywgJ2NibGFzJywgJ2Y3N2JsYXMnLCAnYXRsYXMnLCAnZzJjJ10gCisrbGlicmFyeV9kaXJzX2xpc3QgPSBbXQorK2xpYnJhcmllc19saXN0ID0gW10gCisgCisgIyBzZXQgdG8gdHJ1ZSAoMSksIGlmIHlvdSBhbHNvIHdhbnQgQkxBUyBvcHRpbWl6ZWQgbWF0cml4bXVsdGlwbHkvZG90L2lubmVycHJvZHVjdAorLXVzZV9kb3RibGFzID0gMSAKKy1pbmNsdWRlX2RpcnMgPSBbJy91c3IvaW5jbHVkZS9hdGxhcyddICAKKyt1c2VfZG90YmxhcyA9IDAKKytpbmNsdWRlX2RpcnMgPSBbXSAgCisgICAgICAgICAgICAgICAgICAgICMgWW91IG1heSBuZWVkIHRvIHNldCB0aGlzIHRvIGZpbmQgY2JsYXMuaAorICAgICAgICAgICAgICAgICAgICAjICBlLmcuIG9uIFVOSVggdXNpbmcgQVRMQVMgdGhpcyBzaG91bGQgYmUgWycvdXNyL2luY2x1ZGUvYXRsYXMnXQorIGV4dHJhX2xpbmtfYXJncyA9IFtdCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1udW1lcmljXzI0LjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1udW1lcmljXzI0LjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzBiMDRlMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW51bWVyaWNfMjQuMi5iYgpAQCAtMCwwICsxLDE0IEBACitTVU1NQVJZID0gIkEgc29waGlzdGljYXRlZCBOdW1lcmljIFByb2Nlc3NpbmcgUGFja2FnZSBmb3IgUHl0aG9uIgorU0VDVElPTiA9ICJkZXZlbC9weXRob24iCitMSUNFTlNFID0gIlBTRiAmIExMTkwiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MZWdhbC5odG07bWQ1PWUzY2U3NWRlZGQ0MDQzOTE4ZDE1OTc5YWU0M2UzMTJlIgorCitQUiA9ICJtbDMiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L251bXB5L051bWVyaWMtJHtQVn0udGFyLmd6IgorUyA9ICIke1dPUktESVJ9L051bWVyaWMtJHtQVn0iCisKK2luaGVyaXQgZGlzdHV0aWxzCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIyYWU2NzI2NTZlMDY3MTZhMTQ5YWNiMDQ4Y2NhMzA5MyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1ZjcyZTcyOWViNmZmNTc0NDJmMmEzOGJmYzk5MzE3MzhiNTllNTA3NzkyOGUyZTcwZDIyYjQ2MTBmZjE1MjU4IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGFoby1tcXR0XzEuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXBhaG8tbXF0dF8xLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjhmNWYzZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXBhaG8tbXF0dF8xLjEuYmIKQEAgLTAsMCArMSwxNSBAQAorU1VNTUFSWSA9ICJNUVRUIHZlcnNpb24gMy4xLzMuMS4xIGNsaWVudCBsaWJyYXJ5IgorTElDRU5TRSA9ICJFUEwtMS4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS50eHQ7bWQ1PWViNDhjNmVlMmNiOWY1YjhiOWZlNzVlNmY4MTdiZGZjIgorU1JDTkFNRSA9ICJwYWhvLW1xdHQiCisKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCisKK1JERVBFTkRTXyR7UE59ID0gIlwKKyAgICAgICAgICAgICAgIHB5dGhvbi1tYXRoIFwKKyAgICAgICAgICAgICAgIHB5dGhvbi1pbyBcCisgICAgICAgICAgICAgICBweXRob24tdGhyZWFkaW5nIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gImE2NDA3Yjc0ZWI1ZTU0MTFlMTU3YmUxZGU1YzExMzY2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjBmN2E2MjllZmU2ZTNhMmM2MWI1OWQzNTUwYWE5ZjJjNDUyOWI1Njg5YTY1ZmRlNDVlNmYxYWMzNmI5YTI2MWUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1wYW1fMS44LjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1wYW1fMS44LjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDViZGRkNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXBhbV8xLjguMi5iYgpAQCAtMCwwICsxLDEyIEBACitERVNDUklQVElPTiA9ICJQeXRob24gUEFNIG1vZHVsZSB1c2luZyBjdHlwZXMsIHB5My9weTIuIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9QS0ctSU5GTzttZDU9NjQzMjZkNDI0NzFiNDkzYzVjMDg4MzA1MzY0YWQ1ZGEiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJkYjcxYjZiOTk5MjQ2ZmIwNWQ3OGVjZmJlMTY2NjI5ZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyNmVmZTRlNzliODY5YjEwZjk3Y2Q4YzRhNmJiYjA0YTRlNTRkNDExODYzNjRlOTc1YjQxMDhjOWMwNzE4MTJjIgorCitQWVBJX1BBQ0tBR0UgPSAicHl0aG9uLXBhbSIKKworaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKKworUkRFUEVORFNfJHtQTn0gPSAibGlicGFtIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGFyc2UtdHlwZV8wLjMuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXBhcnNlLXR5cGVfMC4zLjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWRjMzdjZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXBhcnNlLXR5cGVfMC4zLjQuYmIKQEAgLTAsMCArMSwxMSBAQAorU1VNTUFSWSA9ICJTaW1wbGlmaWVzIGJ1aWxkaW5nIHBhcnNlIHR5cGVzIGJhc2VkIG9uIHRoZSBwYXJzZSBtb2R1bGUiCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWJlMzg0MDJlYjRiNmMyMjRlNDkxNGZkODJlMGUxNDM2IgorUFlQSV9QQUNLQUdFID0gInBhcnNlX3R5cGUiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwMGJhNzBiYzVjYTY3NjI0MjA3YjBkZmNlZDAxZGM4YSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzZGQwYjMyM2JhZmNiOGMyNWUwMDBjZTU1ODkwNDJhMWM5OWNiYTljM2JlYzc3YjlmNTkxZTQ2YmM5NjA2MTQ3IgorCitSREVQRU5EU18ke1BOfSArPSAicHl0aG9uLXBhcnNlIgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29scwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGFyc2VfMS42LjYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1wYXJzZV8xLjYuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NWI1MmEzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGFyc2VfMS42LjYuYmIKQEAgLTAsMCArMSw4IEBACitTVU1NQVJZID0gIlBhcnNlIHN0cmluZ3MgdXNpbmcgYSBzcGVjaWZpY2F0aW9uIGJhc2VkIG9uIHRoZSBQeXRob24gZm9ybWF0KCkgc3ludGF4IgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9wYXJzZS5weTttZDU9ZTA2N2JhMmEwOGI3MzcyMWRiZTczNTZkYzAyODI5MTg7c3RhcnRsaW5lPTExMDg7ZW5kbGluZT0xMTI2IgorCitTUkNfVVJJW21kNXN1bV0gPSAiMTFiYzhjNjBhMzBmZTUyZGI0YWM5YTgyNzY1M2QwY2EiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNzE0MzVhYWFjNDk0ZTA4Y2VjNzZkZTY0NmRlMmFhYjgzOTJjMTE0ZTU2ZmUzZjgxYzU2NWVjYzdlYjg4NjE3OCIKKworaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXBhc3NsaWIuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGFzc2xpYi5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODQzZThlMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXBhc3NsaWIuaW5jCkBAIC0wLDAgKzEsMTQgQEAKK1NVTU1BUlkgPSAiY29tcHJlaGVuc2l2ZSBwYXNzd29yZCBoYXNoaW5nIGZyYW1ld29yayBzdXBwb3J0aW5nIG92ZXIgMzAgc2NoZW1lcyIKK0RFU0NSSVBUSU9OID0gIlwKK1Bhc3NsaWIgaXMgYSBwYXNzd29yZCBoYXNoaW5nIGxpYnJhcnkgZm9yIFB5dGhvbiAyICYgMywgd2hpY2ggcHJvdmlkZXMgY3Jvc3MtcGxhdGZvcm0gXAoraW1wbGVtZW50YXRpb25zIG9mIG92ZXIgMzAgcGFzc3dvcmQgaGFzaGluZyBhbGdvcml0aG1zLCBhcyB3ZWxsIGFzIGEgZnJhbWV3b3JrIGZvciBcCittYW5hZ2luZyBleGlzdGluZyBwYXNzd29yZCBoYXNoZXMuIEl04oCZcyBkZXNpZ25lZCB0byBiZSB1c2VmdWwgZm9yIGEgd2lkZSByYW5nZSBvZiBcCit0YXNrcywgZnJvbSB2ZXJpZnlpbmcgYSBoYXNoIGZvdW5kIGluIC9ldGMvc2hhZG93LCB0byBwcm92aWRpbmcgZnVsbC1zdHJlbmd0aCBwYXNzd29yZCBcCitoYXNoaW5nIGZvciBtdWx0aS11c2VyIGFwcGxpY2F0aW9ucy4iCitIT01FUEFHRSA9ICJodHRwczovL2JpdGJ1Y2tldC5vcmcvZWNvbGxpbnMvcGFzc2xpYiIKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9YmFlOGZhYTNlMjY4OWVlMGRmM2YyMTI3ZmM0NTE3ZjUiCitQUiA9ICJyMCIKKworU1JDX1VSSVttZDVzdW1dID0gImQyZWRkNmM0MmNkZTEzNmE1MzhiNDhkOTBhMDZhZDY3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImE4M2QzNGY1M2RjOWIxN2FhNDJjOWEzNWMzZmJjYzUxMjBmM2ZjYjA3ZjdmODcyMWVjNDVlNmEyN2JlMzQ3ZmMiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1wYXNzbGliXzEuNi41LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGFzc2xpYl8xLjYuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMWM1OThhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGFzc2xpYl8xLjYuNS5iYgpAQCAtMCwwICsxLDIgQEAKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCityZXF1aXJlIHB5dGhvbi1wYXNzbGliLmluYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGFzdGVfMi4wLjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1wYXN0ZV8yLjAuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YjQwMTlmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGFzdGVfMi4wLjMuYmIKQEAgLTAsMCArMSwxNCBAQAorU1VNTUFSWSA9ICJUb29scyBmb3IgdXNpbmcgYSBXZWIgU2VydmVyIEdhdGV3YXkgSW50ZXJmYWNlIHN0YWNrIgorSE9NRVBBR0UgPSAiaHR0cDovL3B5dGhvbnBhc3RlLm9yZy8iCitMSUNFTlNFID0gIk1JVCIKK1JERVBFTkRTXyR7UE59ID0gInB5dGhvbi1zaXgiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2RvY3MvbGljZW5zZS50eHQ7bWQ1PTE3OThmMjlkNTUwODBjNjAzNjVlNjI4M2NiNDk3NzljIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMTIzMWUxNGVhZTYyZmE3ZWQ3NmU5MTMwYjA0YmM2MWUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMjM0NmEzNDc4MjRjMzI2NDFiZjAyMGMxNzk2N2I0OWFlNzRkMzMxMGVjMWJjOWI5NThkNGI4NGUyZDk4NTIxOCIKKworUFlQSV9QQUNLQUdFID0gIlBhc3RlIgoraW5oZXJpdCBweXBpIHNldHVwdG9vbHMKKworRklMRVNfJHtQTn0gKz0gIi91c3IvbGliLyoiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1wZXA4XzEuNy4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGVwOF8xLjcuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNjJiODYyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGVwOF8xLjcuMC5iYgpAQCAtMCwwICsxLDE0IEBACitTVU1NQVJZID0gIlB5dGhvbiBzdHlsZSBndWlkZSBjaGVja2VyIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL2RyZWFtaG9zdC9jbGlmZiIKK0xJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1JFQURNRS5yc3Q7bWQ1PWQ4ZWJiYmU4MzEyNTljZTAxMDE3OWQyZjMxMGIwZjNlIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMmIwMzEwOWIwNjE4YWZlM2IwNGIzZTYzYjMzNGFjOWQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYTExM2Q1ZjVhZDdhN2FiYWNlZjlkZjVlYzNmMmFmMjNhMjBhMjgwMDU5MjE1NzdiMTVkZDU4NGQwOTlkNTkwMCIKKworaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKKworUkRFUEVORFNfJHtQTn0gKz0gIiBcCisgICAgcHl0aG9uLXByZXR0eXRhYmxlIFwKKyAgICBweXRob24tY21kMiBcCisgICAgcHl0aG9uLXB5cGFyc2luZyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXBpcF84LjEuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXBpcF84LjEuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMGMyNjNiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGlwXzguMS4xLmJiCkBAIC0wLDAgKzEsMTEgQEAKK1NVTU1BUlkgPSAiUElQIGlzIGEgdG9vbCBmb3IgaW5zdGFsbGluZyBhbmQgbWFuYWdpbmcgUHl0aG9uIHBhY2thZ2VzIgorTElDRU5TRSA9ICJNSVQgJiBMR1BMLTIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UudHh0O21kNT0yNWZiYTQ1MTA5NTY1Zjg3ZGUyMGJhZTg1YmMzOTQ1MiIKKworU1JDX1VSSVttZDVzdW1dID0gIjZiODZmMTE4NDFlODljODI0MWQ2ODk5NTZiYTk5ZWQ3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjNlNzhkMzA2NmFhZWI2MzNkMTg1YTU3YWZkY2NmNzAwYWEyZTY2MDQzNmI0YWY2MThiY2I2ZmYwZmE1MTE3OTgiCisKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCisKKyMgU2luY2UgUElQIGlzIGxpa2UgQ1BBTiBmb3IgUEVSTCB3ZSBuZWVkIHRvIGRyYWcgaW4gYWxsIHB5dGhvbiBtb2R1bGVzIHRvIGVuc3VyZSBldmVyeXRoaW5nIHdvcmtzCitSREVQRU5EU18ke1BOfSA9ICJweXRob24tbW9kdWxlcyBweXRob24tZGlzdHJpYnV0ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXByZXRlbmRfMS4wLjguYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1wcmV0ZW5kXzEuMC44LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRkYzdiNjIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1wcmV0ZW5kXzEuMC44LmJiCkBAIC0wLDAgKzEsOCBAQAorU1VNTUFSWSA9ICJBIGxpYnJhcnkgZm9yIHN0dWJiaW5nIGluIFB5dGhvbiIKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS5yc3Q7bWQ1PTQxMTc4MGMwYjdmYTc1Njc1M2U5NGFmZmVlZTViYzk5IgorCitTUkNfVVJJW21kNXN1bV0gPSAiNzE0NzA1MGE5NWM5ZjQ5NDI0ODU1N2I0MmI1OGFkNzkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTMwZjJjMWUxODUwM2U4ZjhjNDAzYWJlMmUwMjE2NmM0YTg4MTk0MTc0NTE0N2U3MTJjZGQ0ZjQ5ZjNmYjk2NCIKKworaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXByZXR0eXRhYmxlXzAuNy4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHJldHR5dGFibGVfMC43LjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzhmN2I1ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXByZXR0eXRhYmxlXzAuNy4yLmJiCkBAIC0wLDAgKzEsMjIgQEAKK1NVTU1BUlkgPSAiUHl0aG9uIGxpYnJhcnkgZm9yIGRpc3BsYXlpbmcgdGFidWxhciBkYXRhIGluIGEgQVNDSUkgdGFibGUgZm9ybWF0IgorSE9NRVBBR0UgPSAiaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL3ByZXR0eXRhYmxlIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zZTczNTAwZmZhNTJkZTUwNzFjZmY2NTk5MDA1NTI4MiIKKworU1JDX1VSSVttZDVzdW1dID0gIjBjMTM2MTEwNGNhZmY4YjA5ZjIyMDc0OGY5ZDY5ODk5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImE1M2RhM2I0M2Q3YTVjMjI5YjVlM2NhMjg5MmVmOTgyYzQ2Yjc5MjNiNTFlOThmMGRiNDk5NTY1MzEyMTFjNGYiCisKK1NSQ05BTUUgPSAicHJldHR5dGFibGUiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9weXBpLnB5dGhvbi5vcmcvcGFja2FnZXMvc291cmNlL1AvUHJldHR5VGFibGUvJHtTUkNOQU1FfS0ke1BWfS56aXAiCisKK1MgPSAiJHtXT1JLRElSfS8ke1NSQ05BTUV9LSR7UFZ9IgorCitpbmhlcml0IHNldHVwdG9vbHMKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgcGVybV9maWxlcz1gZmluZCAiJHtEfSR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9LyIgLW5hbWUgInRvcF9sZXZlbC50eHQiYAorICAgIGZvciBmIGluICRwZXJtX2ZpbGVzOyBkbworICAgICAgICBjaG1vZCA2NDQgIiR7Zn0iCisgICAgZG9uZQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHN1dGlsXzQuMS4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHN1dGlsXzQuMS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZhMjEwZWUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1wc3V0aWxfNC4xLjAuYmIKQEAgLTAsMCArMSwxMiBAQAorU1VNTUFSWSA9ICJBIGNyb3NzLXBsYXRmb3JtIHByb2Nlc3MgYW5kIHN5c3RlbSB1dGlsaXRpZXMgbW9kdWxlIGZvciBQeXRob24iCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTBmMDJlOTlmN2YzYzlhN2ZlOGVjZmM1ZDQ0YzJiZTYyIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMDE3ZTEwMjM0ODRlYmY0MzZkMzUxNGViZWFmMmU3ZTkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYzZhYmViZWM5Yzg4MzNiYWFmMWM1MWRkMWIwMjU5MjQ2ZDFkNTBiOWI1MGU5YTRhYTY2ZjMzYjFlOThiOGQxNyIKKworUkRFUEVORFNfJHtQTn0gKz0gIiBcCisgICAgcHl0aG9uLXN1YnByb2Nlc3MgXAorICAgICIKKworaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5XzEuNC4zMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5XzEuNC4zMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41OTJiYzA0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlfMS40LjMxLmJiCkBAIC0wLDAgKzEsOCBAQAorU1VNTUFSWSA9ICJMaWJyYXJ5IHdpdGggY3Jvc3MtcHl0aG9uIHBhdGgsIGluaS1wYXJzaW5nLCBpbywgY29kZSwgbG9nIGZhY2lsaXRpZXMiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWE2YmIwMzIwYjA0YTBhNTAzZjEyZjY5ZmVhNDc5ZGU5IgorCitTUkNfVVJJW21kNXN1bV0gPSAiNWQyYzYzYzU2ZGMzZjIxMTVlYzM1YzA2NmVjZDU4MmIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYTY1MDE5NjNjNzI1ZmMyNTU0ZGFiZmVjZThhZTlhOGZiNWUxNDljMGFjMGE0MmZkMmIwMmM1YzFjNTdmYzExNCIKKworaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5YWxzYWF1ZGlvXzAuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5YWxzYWF1ZGlvXzAuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZTY2MGFkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlhbHNhYXVkaW9fMC40LmJiCkBAIC0wLDAgKzEsMTUgQEAKK1NVTU1BUlkgPSAiU3VwcG9ydCBmb3IgdGhlIExpbnV4IDIuNi54IEFMU0EgU291bmQgU3lzdGVtIgorU0VDVElPTiA9ICJkZXZlbC9weXRob24iCitERVBFTkRTID0gImFsc2EtbGliIgorTElDRU5TRSA9ICJQU0YiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0xYTNiMTYxYWEwZmNlYzMyYTBjODkwN2EyMjE5YWQ5ZCIKK1NSQ05BTUUgPSAicHlhbHNhYXVkaW8iCitQUiA9ICJtbDIiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L3B5YWxzYWF1ZGlvLyR7U1JDTkFNRX0tJHtQVn0udGFyLmd6IgorUyA9ICIke1dPUktESVJ9LyR7U1JDTkFNRX0tJHtQVn0iCisKK2luaGVyaXQgZGlzdHV0aWxzCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJiMzEyYzI4ZWZiYTdkYjA0OTQ4MzZhNzlmMGE0OTg5OCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwNzE0OGNlMTYwMjQ3MjRiMTdjYzI0YzUxZDBmNGZiNzhhZjIxNGIwOWI3ZGM4ZGNiN2IwNmU1NjQ3ZjRjNTgyIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlhc24xXzAuMS45LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlhc24xXzAuMS45LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAxN2FkZmUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weWFzbjFfMC4xLjkuYmIKQEAgLTAsMCArMSwxMSBAQAorU1VNTUFSWSA9ICJQeXRob24gbGlicmFyeSBpbXBsZW1lbnRpbmcgQVNOLjEgdHlwZXMuIgorSE9NRVBBR0UgPSAiaHR0cDovL3B5YXNuMS5zb3VyY2Vmb3JnZS5uZXQvIgorTElDRU5TRSA9ICJCU0QtMi1DbGF1c2UiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLnR4dDttZDU9NDI1ZTYyMzIwZDQzMDIxOTczNjEzOWIxMzRkYjJmYzQiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJmMDBhMDJhNjMxZDQwMTY4MTg2NTlkMWNjMzhkMjI5YSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4NTNjYWNkOTZkMWY3MDFkZGQ2N2FhMDNlY2MwNWY1MTg5MDEzNWI3MjYyZTkyMjcxMDExMmYxMmEyZWQyYTdmIgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29scworCitSREVQRU5EU18ke1BOfSArPSAicHl0aG9uLWxhbmcgcHl0aG9uLXNoZWxsIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHljcGFyc2VyXzIuMTQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weWNwYXJzZXJfMi4xNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xODAwNmNhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHljcGFyc2VyXzIuMTQuYmIKQEAgLTAsMCArMSwxMCBAQAorU1VNTUFSWSA9ICJQYXJzZXIgb2YgdGhlIEMgbGFuZ3VhZ2UsIHdyaXR0ZW4gaW4gcHVyZSBQeXRob24iCitMSUNFTlNFID0gIkJTRC0zLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PThmYjM2NDc3MmIxNDQxODIxZDM5MTU5MWYzNDBjMzVhIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYTJiYzhkMjhjOTIzYjRmZTJiMmMzYjRiNTFhNGY5MzUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNzk1OWI0YTc0YWJkYzI3YjMxMmZlZDFjMjFlNmNhZjkzMDljZTBiMjllYTg2YjU5MWZkMmU5OWVjZGYyN2Y3MyIKKworaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weWZsYWtlc18xLjEuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5Zmxha2VzXzEuMS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFlN2Q0NzEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weWZsYWtlc18xLjEuMC5iYgpAQCAtMCwwICsxLDE0IEBACitTVU1NQVJZID0gInBhc3NpdmUgY2hlY2tlciBvZiBQeXRob24gcHJvZ3JhbXMiCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vZHJlYW1ob3N0L2NsaWZmIgorTElDRU5TRSA9ICJBcGFjaGUtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUkVBRE1FLnJzdDttZDU9ZmU3MTlkNDVmNGM2MDRjNmUyYzg2ODcyYjZlOTQ4NWYiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlMGJmODU0Y2Q1YWJkNDUyN2UxNDk2OTI5MjViODJlYiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlNWY5NTk5MzE5ODdlMmJlMTc4NzgxNTU0YjQ4NWQ1MjM0MmVjOWYxYjQzZjg5MWQyZGFkMDdhNjkxYzdhODlhIgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29scworCitSREVQRU5EU18ke1BOfSArPSAiIFwKKyAgICBweXRob24tcHJldHR5dGFibGUgXAorICAgIHB5dGhvbi1jbWQyIFwKKyAgICBweXRob24tcHlwYXJzaW5nIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlncGdtZS9ydW4tcHRlc3QgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weWdwZ21lL3J1bi1wdGVzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYzg2N2UyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlncGdtZS9ydW4tcHRlc3QKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKKworR1BHX0FHRU5UX0lORk89IHB5dGhvbiB0ZXN0X2FsbC5weSAtdgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlncGdtZV8wLjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weWdwZ21lXzAuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wM2M0NzkwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlncGdtZV8wLjMuYmIKQEAgLTAsMCArMSwyMiBAQAorU1VNTUFSWSA9ICJBIFB5dGhvbiBtb2R1bGUgZm9yIHdvcmtpbmcgd2l0aCBPcGVuUEdQIG1lc3NhZ2VzIgorREVTQ1JJUFRJT04gPSAiUHlHUEdNRSBpcyBhIFB5dGhvbiBtb2R1bGUgdGhhdCBsZXRzIHlvdSBzaWduLCB2ZXJpZnksIFwKKyAgICAgICAgICAgICAgIGVuY3J5cHQgYW5kIGRlY3J5cHQgbWVzc2FnZXMgdXNpbmcgdGhlIE9wZW5QR1AgZm9ybWF0LiIKK0hPTUVQQUdFID0gImh0dHBzOi8vbGF1bmNocGFkLm5ldC9weWdwZ21lIgorCitMSUNFTlNFID0gIkxHUEwtMi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUEtHLUlORk87YmVnaW5saW5lPTg7ZW5kbGluZT04O21kNT02NTE3YmRjOGYyNDE2ZjI3YWI3MjVkNDcwMmY3YWFjMyIKKworU1JDX1VSSSA9ICJmaWxlOi8vcnVuLXB0ZXN0IgorCitTUkNfVVJJW21kNXN1bV0gPSAiZDM4MzU1YWY3M2YwMzUyY2RlM2Q0MTBiMjVmMzRmZDAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNWZkODg3YzQwNzAxNTI5NmE4ZmQzZjRiODY3ZmUwZmNjYTMxNzlkZTk3Y2NkZTkwNDQ5ODUzYTNkZmI4MDJlMSIKKworREVQRU5EUyArPSAiZ3BnbWUiCitSREVQRU5EU18ke1BOfSArPSAiZ251cGciCisKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzIHB0ZXN0CisKK2RvX2luc3RhbGxfcHRlc3QoKXsKKyAgICBpbnN0YWxsICR7U30vdGVzdF9hbGwucHkgJHtEfSR7UFRFU1RfUEFUSH0KKyAgICBjcCAtciAke1N9L3Rlc3RzICR7RH0ke1BURVNUX1BBVEh9Cit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weWhhbWNyZXN0XzEuOS4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHloYW1jcmVzdF8xLjkuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMmQ0ZjU0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHloYW1jcmVzdF8xLjkuMC5iYgpAQCAtMCwwICsxLDEwIEBACitTVU1NQVJZID0gIkhhbWNyZXN0IGZyYW1ld29yayBmb3IgbWF0Y2hlciBvYmplY3RzIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLnR4dDttZDU9ZjZkZjEzMThjNjA3MWRkMTcwN2Y1ZTNiNmMxMWYyNGYiCisKK1BZUElfUEFDS0FHRSA9ICJQeUhhbWNyZXN0IgorCitTUkNfVVJJW21kNXN1bV0gPSAiOGI4MzNhM2ZhMzAxOTc0NTVkZjc5NDI0ZjMwYzhjM2YiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOGZmYWEwYTUzZGE1N2U4OWRlMTRjZWQ3MTg1YWM3NDYyMjdhODg5NGRiZDVhM2M3MThiZjA1ZGRiZDFkNTZjZCIKKworaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5aW5vdGlmeS5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weWlub3RpZnkuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE5ZWRiMmMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weWlub3RpZnkuaW5jCkBAIC0wLDAgKzEsMTEgQEAKK0RFU0NSSVBUSU9OID0gIlB5dGhvbiBweWlub3RpZnk6IExpbnV4IGZpbGVzeXN0ZW0gZXZlbnRzIG1vbml0b3JpbmciCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWFiMTczY2FkZTc5NjViNDExNTI4NDY0NTg5YTA4MzgyIgorCitSREVQRU5EU18ke1BOfSArPSAicHl0aG9uLXRocmVhZGluZyBweXRob24taW8gcHl0aG9uLXN1YnByb2Nlc3MgcHl0aG9uLW1pc2MgcHl0aG9uLXNoZWxsIgorCitTUkNfVVJJW21kNXN1bV0gPSAiOGU1ODBmYTFmZjM5NzFmOTRhNmY4MTY3MmI3NmM0MDYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOWM5OThhNWQ3NjA2Y2E4MzUwNjVjZGFiYzAxM2FlNmM2NmViOWVhNzZhMDBhMWUzYmM2ZTBjZmUyYjRmNzFmNCIKKworUFlQSV9QQUNLQUdFID0gInB5aW5vdGlmeSIKK2luaGVyaXQgcHlwaQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlpbm90aWZ5XzAuOS42LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlpbm90aWZ5XzAuOS42LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQxZjg0YzMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weWlub3RpZnlfMC45LjYuYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHNldHVwdG9vbHMKK3JlcXVpcmUgcHl0aG9uLXB5aW5vdGlmeS5pbmMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5bWlzcC5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weW1pc3AuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjljZDA4NDQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weW1pc3AuaW5jCkBAIC0wLDAgKzEsMTAgQEAKK0RFU0NSSVBUSU9OID0gIlB5dGhvbiBBUEkgZm9yIE1JU1AiCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vTUlTUC9QeU1JU1AiCitMSUNFTlNFID0gIkJTRC0yLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1BLRy1JTkZPO21kNT1jMGEzZTgwMWI3NDBlZjMxZDFmNWRkZmU3NmJjYTUzOCIKK1BSID0gInIwIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMzk4NDA4Mzg4OTAyYzEwOGUzYjM3ODE1MmI2YzFkMjQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZDcwZTc0YzUyOGYwNDBmNWZmODEzNzMzN2YxNzU4YWViNjNhNTk2NmI1OGIyOTdmMjE3MWY1M2NiOWRmMDMzZSIKKworUkRFUEVORFNfJHtQTn0gKz0gIiAke1BZVEhPTl9QTn0tcmVxdWVzdHMiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weW1pc3BfMi4zLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHltaXNwXzIuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYjFmYmU5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHltaXNwXzIuMy5iYgpAQCAtMCwwICsxLDIgQEAKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCityZXF1aXJlIHB5dGhvbi1weW1pc3AuaW5jCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weW1vbmdvLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5bW9uZ28uaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUwZjUyZGQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weW1vbmdvLmluYwpAQCAtMCwwICsxLDEyIEBACitTVU1NQVJZID0gIlB5dGhvbiBkcml2ZXIgZm9yIE1vbmdvREIgPGh0dHA6Ly93d3cubW9uZ29kYi5vcmc+IgorREVTQ1JJUFRJT04gPSAiXAorVGhlIFB5TW9uZ28gZGlzdHJpYnV0aW9uIGNvbnRhaW5zIHRvb2xzIGZvciBpbnRlcmFjdGluZyB3aXRoIE1vbmdvREIgXAorZGF0YWJhc2UgZnJvbSBQeXRob24uIFRoZSBic29uIHBhY2thZ2UgaXMgYW4gaW1wbGVtZW50YXRpb24gb2YgdGhlIEJTT04gXAorZm9ybWF0IGZvciBQeXRob24uIFRoZSBweW1vbmdvIHBhY2thZ2UgaXMgYSBuYXRpdmUgUHl0aG9uIGRyaXZlciBmb3IgXAorTW9uZ29EQi4gVGhlIGdyaWRmcyBwYWNrYWdlIGlzIGEgZ3JpZGZzIGltcGxlbWVudGF0aW9uIG9uIHRvcCBvZiBweW1vbmdvLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9naXRodWIuY29tL21vbmdvZGIvbW9uZ28tcHl0aG9uLWRyaXZlciIKK0xJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTJhOTQ0OTQyZTE0OTZhZjE4ODY5MDNkMjc0ZGVkYjEzIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNzA0MDhmODExNWQ3YWE1MmZiNmVlZjBlNTUyODM0YTYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjIwMTgxNjU4MjNiMzQxZDgzZDM5ODE2NWQxYzYyNWU1ZGI1Y2M3NzllN2M0NGMxMDcwMzQ0MDc4MDg0NjNiNiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5bW9uZ29fMy4yLjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weW1vbmdvXzMuMi4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIxNzc4YjIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weW1vbmdvXzMuMi4yLmJiCkBAIC0wLDAgKzEsMiBAQAoraW5oZXJpdCBweXBpIHNldHVwdG9vbHMKK3JlcXVpcmUgcHl0aG9uLXB5bW9uZ28uaW5jCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weW9wZW5zc2xfMC4xNS4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlvcGVuc3NsXzAuMTUuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MDI3YzZkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlvcGVuc3NsXzAuMTUuMS5iYgpAQCAtMCwwICsxLDE4IEBACitTVU1NQVJZID0gIlNpbXBsZSBQeXRob24gd3JhcHBlciBhcm91bmQgdGhlIE9wZW5TU0wgbGlicmFyeSIKK0xJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTNiODNlZjk2Mzg3ZjE0NjU1ZmM4NTRkZGMzYzZiZDU3IgorCitERVBFTkRTID0gIm9wZW5zc2wgcHl0aG9uLWNyeXB0b2dyYXBoeSIKK1BFID0gIjEiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJmNDQ3NjQ0YWZjYmQ1ZjBhMWY0NzM1MGZlYzYzYTRjNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmMGEyNjA3MGQ2ZGIwODgxZGU4YmNjNzg0NjkzNGI3YzNjOTMwZDhmOWM3OWQ0NTg4M2VlNDg5ODRiYzBkNjcyIgorCitQWVBJX1BBQ0tBR0UgPSAicHlPcGVuU1NMIgoraW5oZXJpdCBweXBpIHNldHVwdG9vbHMKKworUEFDS0FHRVMgPSsgIiR7UE59LXRlc3RzIgorRklMRVNfJHtQTn0tdGVzdHMgPSAiJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy9PcGVuU1NML3Rlc3QiCisKK1JERVBFTkRTXyR7UE59ID0gInB5dGhvbi10aHJlYWRpbmcgcHl0aG9uLXNpeCBweXRob24tY3J5cHRvZ3JhcGh5IgorUkRFUEVORFNfJHtQTn0tdGVzdHMgPSAiJHtQTn0iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weXBhcnNpbmdfMi4xLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weXBhcnNpbmdfMi4xLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTRhOTllNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5cGFyc2luZ18yLjEuMS5iYgpAQCAtMCwwICsxLDEwIEBACitTVU1NQVJZID0gIlB5dGhvbiBwYXJzaW5nIG1vZHVsZSIKK0hPTUVQQUdFID0gImh0dHA6Ly9weXBhcnNpbmcud2lraXNwYWNlcy5jb20vIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1mYjQ2MzI5OTM4ZTZiYzgyOWIyNTZlMzdkNWMxZTMxYSIKKworU1JDX1VSSVttZDVzdW1dID0gIjJhMWQzYTYzZGRjMmVjOWEzZGE5NjFkMWI3ZjI1OGIyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjRiZDA0YmFkZmRhMzliMWUyZmQwZDc3Y2I3OGI0ODhjODgxZDg4YzMxNzM0NzkxYTBhZTkwMjk3OWFlMTA1NzUiCisKK1BZUElfUEFDS0FHRV9FWFQgPSAiemlwIgoraW5oZXJpdCBweXBpIHNldHVwdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5cm91dGUyL2ltcG9ydC1zaW1wbGVqc29uLWFzLWpzb24ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weXJvdXRlMi9pbXBvcnQtc2ltcGxlanNvbi1hcy1qc29uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ3M2RhMDcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weXJvdXRlMi9pbXBvcnQtc2ltcGxlanNvbi1hcy1qc29uLnBhdGNoCkBAIC0wLDAgKzEsMjYgQEAKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbd3JvbmcgZGVwZW5kZW5jeV0KKworU3ViamVjdDogW1BBVENIXSBpbXBvcnQgc2ltcGxlanNvbiBhcyBqc29uCisKK0F0IHJ1bnRpbWUgcHl0aG9uLXB5cm91dGUyIHRyaWVzIHRvIGltcG9ydCBqc29uLCBidXQgdGhlIG1vZHVsZSBpcyBub3QgCithdmFpbGFibGUsIGltcG9ydCBzaW1wbGVqc29uIGFzIGpzb24gc29sdmUgdGhlIGlzc3VlLgorCitTaWduZWQtb2ZmLWJ5OiBGYWJpbyBCZXJ0b24gPGZhYmlvLmJlcnRvbkBvc3N5c3RlbXMuY29tLmJyPgorLS0tCisgcHlyb3V0ZTIvbmV0bGluay9ydG5sL2lmaW5mbXNnLnB5IHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvcHlyb3V0ZTIvbmV0bGluay9ydG5sL2lmaW5mbXNnLnB5IGIvcHlyb3V0ZTIvbmV0bGluay9ydG5sL2lmaW5mbXNnLnB5CitpbmRleCA0ZjE0ZjI1Li41NTY0M2ViIDEwMDY0NAorLS0tIGEvcHlyb3V0ZTIvbmV0bGluay9ydG5sL2lmaW5mbXNnLnB5CisrKysgYi9weXJvdXRlMi9uZXRsaW5rL3J0bmwvaWZpbmZtc2cucHkKK0BAIC0xLDUgKzEsNSBAQAorIGltcG9ydCBvcworLWltcG9ydCBqc29uCisraW1wb3J0IHNpbXBsZWpzb24gYXMganNvbgorIGltcG9ydCBlcnJubworIGltcG9ydCBzZWxlY3QKKyBpbXBvcnQgc3RydWN0CistLSAKKzIuMS40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5cm91dGUyXzAuMy4xNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5cm91dGUyXzAuMy4xNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40M2M2Y2VjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlyb3V0ZTJfMC4zLjE0LmJiCkBAIC0wLDAgKzEsMjQgQEAKK1NVTU1BUlkgPSAiQSBwdXJlIFB5dGhvbiBuZXRsaW5rIGFuZCBMaW51eCBuZXR3b3JrIGNvbmZpZ3VyYXRpb24gbGlicmFyeSIKK0xJQ0VOU0UgPSAiR1BMdjIgJiBBcGFjaGUtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS5HUEwudjI7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0xJQ0VOU0UuQXBhY2hlLnYyO21kNT0zYjgzZWY5NjM4N2YxNDY1NWZjODU0ZGRjM2M2YmQ1NyIKKworU1JDX1VSSVttZDVzdW1dID0gIjFlN2U3NzE3MDIwNTZlNjFjZjUyMmNjY2MzOWVhMDllIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImFlZDc0MmE3ZGJlNTVlYjdmMDJkYmIyNjcxOWY1NTRiOWU5MjE5OGM0YjNjN2FjNTAxYWQwM2JiYjY0MjE5NjIiCisKK1NSQ19VUkkgKz0gImZpbGU6Ly9pbXBvcnQtc2ltcGxlanNvbi1hcy1qc29uLnBhdGNoIgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29scworCitSREVQRU5EU18ke1BOfSArPSAiXAorICBweXRob24tZGlzdHV0aWxzIFwKKyAgcHl0aG9uLXNpbXBsZWpzb24gXAorICBweXRob24tbXVsdGlwcm9jZXNzaW5nIFwKKyAgcHl0aG9uLWlvIHB5dGhvbi1wcHJpbnQgXAorICBweXRob24tcGlja2xlIFwKKyAgcHl0aG9uLWxvZ2dpbmcgXAorICBweXRob24tdGhyZWFkaW5nIFwKKyAgcHl0aG9uLXRleHR1dGlscyBcCisgIHB5dGhvbi1zdWJwcm9jZXNzIFwKKyAgcHl0aG9uLW5ldGNsaWVudCBcCisiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weXNlcmlhbC5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weXNlcmlhbC5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDhlZWY3NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5c2VyaWFsLmluYwpAQCAtMCwwICsxLDE2IEBACitTVU1NQVJZID0gIlNlcmlhbCBQb3J0IFN1cHBvcnQgZm9yIFB5dGhvbiIKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS50eHQ7bWQ1PTAwNTFhMGRjODExZWUzZmRiMTdhMmZkMGJlNDRmM2FkIgorCisjIEZJWE1FIG1pZ2h0IHN0b3AgcGFja2FnaW5nIHNlcmlhbHdpbjMyIGFuZCBzZXJpYWxqYXZhIGZpbGVzCisKK1JERVBFTkRTXyR7UE59ID0gIlwKKyAgICAke1BZVEhPTl9QTn0tZmNudGwgXAorICAgICR7UFlUSE9OX1BOfS1pbyBcCisgICAgJHtQWVRIT05fUE59LXN0cmluZ29sZCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJjODUyMWU0OWY4ODUyMTk2YWFjMzk0MzFlMDkwMTcwMyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5NjljYjY0MDVkMWQ4N2Y4OTYwY2Y5YzEwZjU5N2FlNThmODVkYTJmYjk3NjlkYmE5NmY0YWVlYWFkZTU0NjU2IgorCitpbmhlcml0IHB5cGkKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5c2VyaWFsXzMuMC4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlzZXJpYWxfMy4wLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWQyYjM1MAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5c2VyaWFsXzMuMC4xLmJiCkBAIC0wLDAgKzEsMiBAQAoraW5oZXJpdCBzZXR1cHRvb2xzCityZXF1aXJlIHB5dGhvbi1weXNlcmlhbC5pbmMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5dGVzdF8yLjkuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5dGVzdF8yLjkuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYTUzZGM0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHl0ZXN0XzIuOS4xLmJiCkBAIC0wLDAgKzEsMTAgQEAKK1NVTU1BUlkgPSAiU2ltcGxlIHBvd2VyZnVsIHRldGluZyB3aXRoIFB5dGhvbiIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ZDhhNTYwOTYwOGQ5YTVhMTgwNzA1YjBmYTI5OGFlMDEiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwNTE2NTc0MGVhNTA5MjhlNGU5NzEzNzg2MzAxNjNlYyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwZDQ4ZDI3YTEyNzY0NGZiZTdjODE1ODE1N2UwOGIzNWY4MjU1MDQ1ZDQ0NzZkZjY5NGI5MWViM2E4MTQ3ZTY1IgorCitSREVQRU5EU18ke1BOfSA9ICJweXRob24tcHkiCisKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weXR6XzIwMTYuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5dHpfMjAxNi4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRhNGUyZDYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weXR6XzIwMTYuMy5iYgpAQCAtMCwwICsxLDE0IEBACitTVU1NQVJZID0gIldvcmxkIHRpbWV6b25lIGRlZmluaXRpb25zLCBtb2Rlcm4gYW5kIGhpc3RvcmljYWwiCitIT01FUEFHRSA9ICIgaHR0cDovL3B5dGhvbmhvc3RlZC5vcmcvcHl0eiIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS50eHQ7bWQ1PTIyYjM4OTUxZWI4NTdjZjI4NWE0NTYwYTkxNGI3Y2Q2IgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29scworCitSREVQRU5EU18ke1BOfSA9ICJcCisgICAgcHl0aG9uLWNvcmUgXAorICAgIHB5dGhvbi1kYXRldGltZSBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJhYmFlOTJjMzMwMWIyN2JkOGE5ZjU2YjE0ZjUyY2IyOSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzNDQ5ZGExOTA1MTY1NWQ0YzBiYjVjMzcxOTEzMzE3NDhiY2FkMTU4MDRkODE2NzZhODg0NTFlZjI5OTM3MGE4IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHl1ZGV2XzAuMTkuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5dWRldl8wLjE5LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWEyNmRjNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5dWRldl8wLjE5LjAuYmIKQEAgLTAsMCArMSwyMCBAQAorU1VNTUFSWSA9ICJBIGxpYnVkZXYgYmluZGluZyIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1hNmY4OWUyMTAwZDliNmNkZmZjZWE0ZjM5OGUzNzM0MyIKKworU1JDX1VSSVttZDVzdW1dID0gIjExNTFlOWQwNWJhZjZjZTdiNDNlNzU3NGRjMGVmMTU0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjVhYmNiZDAzZTQ5NjUxMTBkMWZlZGNiZGQ1NTMyOTc0Y2I0NjM4Y2VlZjM0MzM3YWEyZDU3NThlY2ViNTRhZDMiCisKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIHNlZCAtaSAiL2ltcG9ydCBweXVkZXYvZCIgJHtTfS9zZXR1cC5weQorICAgIHNlZCAtaSAicy9zdHIocHl1ZGV2Ll9fdmVyc2lvbl9fKS8nJHtQVn0nL2ciICR7U30vc2V0dXAucHkKK30KKworUkRFUEVORFNfJHtQTn0gPSAiXAorICAgIHB5dGhvbi1jdHlwZXMgXAorICAgIHB5dGhvbi1zdWJwcm9jZXNzIFwKKyAgICBweXRob24tbWlzYyBcCisgICAgcHl0aG9uLWNvbnRleHRsaWIgXAorIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHl1c2JfMS4wLjBiMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5dXNiXzEuMC4wYjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDI3OWFiYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5dXNiXzEuMC4wYjIuYmIKQEAgLTAsMCArMSwxMCBAQAorU1VNTUFSWSA9ICJQeVVTQiBwcm92aWRlcyBVU0IgYWNjZXNzIG9uIHRoZSBQeXRob24gbGFuZ3VhZ2UiCitIT01FUEFHRSA9ICJodHRwOi8vcHl1c2Iuc291cmNlZm9yZ2UubmV0LyIKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9NTBkNDZiZGE2MjQ4YTBiNGE0NmE2ZDU5YTY2ZWUwOGUiCitERVBFTkRTID0gImxpYnVzYjEiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJiYzEyZTgzZmYzZWYxMDQ1ZDQzMDZkMTNhOTk1NWZjMSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIxNGVjNjYwNzdiZGNkNmYxYWE5ZTg5MmEwYTM1YTU0YmIzYzFlYzU2YWE3NDBlYWQ2NDM0OWMxOGYwMTg2ZDE5IgorCitpbmhlcml0IHB5cGkgZGlzdHV0aWxzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weXlhbWwvc2V0dXAucHkgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weXlhbWwvc2V0dXAucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmVkMWM5NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5eWFtbC9zZXR1cC5weQpAQCAtMCwwICsxLDY0IEBACitOQU1FID0gJ1B5WUFNTCcKK1ZFUlNJT04gPSAnMy4xMCcKK0RFU0NSSVBUSU9OID0gIllBTUwgcGFyc2VyIGFuZCBlbWl0dGVyIGZvciBQeXRob24iCitMT05HX0RFU0NSSVBUSU9OID0gIiIiXAorWUFNTCBpcyBhIGRhdGEgc2VyaWFsaXphdGlvbiBmb3JtYXQgZGVzaWduZWQgZm9yIGh1bWFuIHJlYWRhYmlsaXR5IGFuZAoraW50ZXJhY3Rpb24gd2l0aCBzY3JpcHRpbmcgbGFuZ3VhZ2VzLiAgUHlZQU1MIGlzIGEgWUFNTCBwYXJzZXIgYW5kCitlbWl0dGVyIGZvciBQeXRob24uCisKK1B5WUFNTCBmZWF0dXJlcyBhIGNvbXBsZXRlIFlBTUwgMS4xIHBhcnNlciwgVW5pY29kZSBzdXBwb3J0LCBwaWNrbGUKK3N1cHBvcnQsIGNhcGFibGUgZXh0ZW5zaW9uIEFQSSwgYW5kIHNlbnNpYmxlIGVycm9yIG1lc3NhZ2VzLiAgUHlZQU1MCitzdXBwb3J0cyBzdGFuZGFyZCBZQU1MIHRhZ3MgYW5kIHByb3ZpZGVzIFB5dGhvbi1zcGVjaWZpYyB0YWdzIHRoYXQgYWxsb3cKK3RvIHJlcHJlc2VudCBhbiBhcmJpdHJhcnkgUHl0aG9uIG9iamVjdC4KKworUHlZQU1MIGlzIGFwcGxpY2FibGUgZm9yIGEgYnJvYWQgcmFuZ2Ugb2YgdGFza3MgZnJvbSBjb21wbGV4Citjb25maWd1cmF0aW9uIGZpbGVzIHRvIG9iamVjdCBzZXJpYWxpemF0aW9uIGFuZCBwZXJzaXN0YW5jZS4iIiIKK0FVVEhPUiA9ICJLaXJpbGwgU2ltb25vdiIKK0FVVEhPUl9FTUFJTCA9ICd4aUByZXNvbHZlbnQubmV0JworTElDRU5TRSA9ICJNSVQiCitQTEFURk9STVMgPSAiQW55IgorVVJMID0gImh0dHA6Ly9weXlhbWwub3JnL3dpa2kvUHlZQU1MIgorRE9XTkxPQURfVVJMID0gImh0dHA6Ly9weXlhbWwub3JnL2Rvd25sb2FkL3B5eWFtbC8lcy0lcy50YXIuZ3oiICUgKE5BTUUsIFZFUlNJT04pCitDTEFTU0lGSUVSUyA9IFsKKyAgICAiRGV2ZWxvcG1lbnQgU3RhdHVzIDo6IDUgLSBQcm9kdWN0aW9uL1N0YWJsZSIsCisgICAgIkludGVuZGVkIEF1ZGllbmNlIDo6IERldmVsb3BlcnMiLAorICAgICJMaWNlbnNlIDo6IE9TSSBBcHByb3ZlZCA6OiBNSVQgTGljZW5zZSIsCisgICAgIk9wZXJhdGluZyBTeXN0ZW0gOjogT1MgSW5kZXBlbmRlbnQiLAorICAgICJQcm9ncmFtbWluZyBMYW5ndWFnZSA6OiBQeXRob24iLAorICAgICJUb3BpYyA6OiBTb2Z0d2FyZSBEZXZlbG9wbWVudCA6OiBMaWJyYXJpZXMgOjogUHl0aG9uIE1vZHVsZXMiLAorICAgICJUb3BpYyA6OiBUZXh0IFByb2Nlc3NpbmcgOjogTWFya3VwIiwKK10KKworZnJvbSBkaXN0dXRpbHMuY29yZSBpbXBvcnQgc2V0dXAKK2Zyb20gZGlzdHV0aWxzLmV4dGVuc2lvbiBpbXBvcnQgRXh0ZW5zaW9uCitmcm9tIEN5dGhvbi5EaXN0dXRpbHMgaW1wb3J0IGJ1aWxkX2V4dAorCitpbXBvcnQgc3lzLCBvcy5wYXRoCisKKworaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKKworICAgIHNldHVwKAorICAgICAgICBuYW1lPU5BTUUsCisgICAgICAgIHZlcnNpb249VkVSU0lPTiwKKyAgICAgICAgZGVzY3JpcHRpb249REVTQ1JJUFRJT04sCisgICAgICAgIGxvbmdfZGVzY3JpcHRpb249TE9OR19ERVNDUklQVElPTiwKKyAgICAgICAgYXV0aG9yPUFVVEhPUiwKKyAgICAgICAgYXV0aG9yX2VtYWlsPUFVVEhPUl9FTUFJTCwKKyAgICAgICAgbGljZW5zZT1MSUNFTlNFLAorICAgICAgICBwbGF0Zm9ybXM9UExBVEZPUk1TLAorICAgICAgICB1cmw9VVJMLAorICAgICAgICBkb3dubG9hZF91cmw9RE9XTkxPQURfVVJMLAorICAgICAgICBjbGFzc2lmaWVycz1DTEFTU0lGSUVSUywKKworICAgICAgICBwYWNrYWdlX2Rpcj17Jyc6ICdsaWInfSwKKyAgICAgICAgcGFja2FnZXM9Wyd5YW1sJ10sCisKKyAgICAgICAgZXh0X21vZHVsZXMgPSBbCisgICAgICAgIEV4dGVuc2lvbiggIl95YW1sIiwgWyJleHQvX3lhbWwucHl4Il0sIGxpYnJhcmllcyA9IFsieWFtbCJdICkKKyAgICAgICAgXSwKKworICAgICAgICBjbWRjbGFzcz17CisgICAgICAgICAgICAnYnVpbGRfZXh0JzogYnVpbGRfZXh0LAorICAgICAgICB9LAorICAgICkKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5eWFtbF8zLjExLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHl5YW1sXzMuMTEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTAxN2UwZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5eWFtbF8zLjExLmJiCkBAIC0wLDAgKzEsMjQgQEAKK1NVTU1BUlkgPSAiUHl0aG9uIHN1cHBvcnQgZm9yIFlBTUwiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LnB5eWFtbC5vcmciCitTRUNUSU9OID0gImRldmVsL3B5dGhvbiIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9NjAxNWYwODg3NTliMTBlMGJjMmJmNjQ4OThkNGFlMTciCitERVBFTkRTID0gImxpYnlhbWwgcHl0aG9uLWN5dGhvbi1uYXRpdmUiCisKK1NSQ19VUkkgPSAiaHR0cDovL3B5eWFtbC5vcmcvZG93bmxvYWQvcHl5YW1sL1B5WUFNTC0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vc2V0dXAucHkgXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZjUwZTA4ZWYwZmU1NTE3ODQ3OWQzYTYxOGVmZTIxZGIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYzM2YzkzOGE4NzJlNWZmNDk0OTM4YjMzYjE0YWFhMTU2Y2I0MzllYzY3NTQ4ZmNhYjM1MzViYjc4YjA4NDZlOCIKKworUyA9ICIke1dPUktESVJ9L1B5WUFNTC0ke1BWfSIKKworaW5oZXJpdCBkaXN0dXRpbHMKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgIyB1cHN0cmVhbSBzZXR1cC5weSBvdmVyY29tcGxpY2F0ZWQsIHVzZSBvdXJzCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vc2V0dXAucHkgJHtTfQorfQorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5em1xL2NsdWItcnBhdGgtb3V0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHl6bXEvY2x1Yi1ycGF0aC1vdXQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmRjM2I3MwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5em1xL2NsdWItcnBhdGgtb3V0LnBhdGNoCkBAIC0wLDAgKzEsMjYgQEAKK2RpZmYgLS1naXQgYS9zZXR1cC5weSBiL3NldHVwLnB5CitpbmRleCA2MmRmNDQ1Li4xZmRiZGViIDEwMDc1NQorLS0tIGEvc2V0dXAucHkKKysrKyBiL3NldHVwLnB5CitAQCAtMjEzLDEyICsyMTMsNiBAQCBkZWYgc2V0dGluZ3NfZnJvbV9wcmVmaXgocHJlZml4PU5vbmUsIGJ1bmRsZV9saWJ6bXFfZHlsaWI9RmFsc2UpOgorICAgICAgICAgICAgICAgICBwYXNzCisgICAgICAgICAgICAgICAgICMgdW51c2VkIHJwYXRoIGFyZ3MgZm9yIE9TIFg6CisgICAgICAgICAgICAgICAgICMgc2V0dGluZ3NbJ2V4dHJhX2xpbmtfYXJncyddID0gWyctV2wsLXJwYXRoJywnLVdsLCRPUklHSU4vLi4nXQorLSAgICAgICAgICAgIGVsc2U6CistICAgICAgICAgICAgICAgIHNldHRpbmdzWydydW50aW1lX2xpYnJhcnlfZGlycyddICs9IFsnJE9SSUdJTi8uLiddCistICAgICAgICBlbGlmIHN5cy5wbGF0Zm9ybSAhPSAnZGFyd2luJzoKKy0gICAgICAgICAgICBzZXR0aW5nc1sncnVudGltZV9saWJyYXJ5X2RpcnMnXSArPSBbCistICAgICAgICAgICAgICAgIG9zLnBhdGguYWJzcGF0aCh4KSBmb3IgeCBpbiBzZXR0aW5nc1snbGlicmFyeV9kaXJzJ10KKy0gICAgICAgICAgICBdCisgICAgIAorICAgICByZXR1cm4gc2V0dGluZ3MKKyAKK0BAIC01OTIsOCArNTg2LDYgQEAgY2xhc3MgQ29uZmlndXJlKGJ1aWxkX2V4dCk6CisgICAgICAgICAgICAgICAgIHBhc3MKKyAgICAgICAgICAgICAgICAgIyB1bnVzZWQgcnBhdGggYXJncyBmb3IgT1MgWDoKKyAgICAgICAgICAgICAgICAgIyBzZXR0aW5nc1snZXh0cmFfbGlua19hcmdzJ10gPSBbJy1XbCwtcnBhdGgnLCctV2wsJE9SSUdJTi8uLi96bXEnXQorLSAgICAgICAgICAgIGVsc2U6CistICAgICAgICAgICAgICAgIHNldHRpbmdzWydydW50aW1lX2xpYnJhcnlfZGlycyddID0gWyBvcy5wYXRoLmFic3BhdGgocGpvaW4oJy4nLCAnem1xJykpIF0KKyAgICAgICAgIAorICAgICAgICAgbGluZSgpCisgICAgICAgICBpbmZvKCJDb25maWd1cmU6IEF1dG9kZXRlY3RpbmcgWk1RIHNldHRpbmdzLi4uIikKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5em1xXzE0LjcuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5em1xXzE0LjcuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNWJhZjgyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHl6bXFfMTQuNy4wLmJiCkBAIC0wLDAgKzEsMjQgQEAKK1NVTU1BUlkgPSAiUHl6bXEgcHJvdmlkZXMgWmVybyBtZXNzYWdlIHF1ZXVlIGFjY2VzcyBmb3IgdGhlIFB5dGhvbiBsYW5ndWFnZSIKK0hPTUVQQUdFID0gImh0dHA6Ly96ZXJvbXEub3JnL2JpbmRpbmdzOnB5dGhvbiIKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORy5CU0Q7bWQ1PTExYzY1NjgwZjYzN2MzZGY3ZjU4YmJjOGQxMzNlOTZlIgorREVQRU5EUyA9ICJ6ZXJvbXEiCisKK1NSQ19VUkkgPSAiZmlsZTovL2NsdWItcnBhdGgtb3V0LnBhdGNoIgorU1JDX1VSSVttZDVzdW1dID0gIjg3ZTNhYmIzM2FmNTc5NGRiNWFlODVjNjY3YmJmMzI0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjc3OTk0ZjgwMzYwNDg4ZTcxNTNlNjRlNTk1OWRjNTQ3MTUzMWQxNjQ4ZTNhNGJmZjE0YTcxNGQwNzRhMzhjYzIiCisKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzIHBrZ2NvbmZpZworCitSREVQRU5EU18ke1BOfSArPSAicHl0aG9uLW11bHRpcHJvY2Vzc2luZyIKKworRklMRVNfJHtQTn0tZGJnID0rICIke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS96bXEvYmFja2VuZC9jeXRob24vLmRlYnVnIgorCitkb19jb21waWxlX3ByZXBlbmQoKSB7CisgICAgZWNobyBbZ2xvYmFsXSA+ICR7U30vc2V0dXAuY2ZnCisgICAgZWNobyB6bXFfcHJlZml4ID0gJHtTVEFHSU5HX0RJUl9IT1NUfSA+PiAke1N9L3NldHVwLmNmZworICAgIGVjaG8gaGF2ZV9zeXNfdW5faCA9IFRydWUgPj4gJHtTfS9zZXR1cC5jZmcKKyAgICBlY2hvIHNraXBfY2hlY2tfem1xID0gVHJ1ZSA+PiAke1N9L3NldHVwLmNmZworICAgIGVjaG8gbGliem1xX2V4dGVuc2lvbiA9IEZhbHNlID4+ICR7U30vc2V0dXAuY2ZnCisgICAgZWNobyBub19saWJ6bXFfZXh0ZW5zaW9uID0gVHJ1ZSA+PiAke1N9L3NldHVwLmNmZworfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcmVkaXMuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcmVkaXMuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2NGYwNDEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1yZWRpcy5pbmMKQEAgLTAsMCArMSw5IEBACitTVU1NQVJZID0gIlB5dGhvbiBjbGllbnQgZm9yIFJlZGlzIGtleS12YWx1ZSBzdG9yZSIKK0RFU0NSSVBUSU9OID0gIlRoZSBQeXRob24gaW50ZXJmYWNlIHRvIHRoZSBSZWRpcyBrZXktdmFsdWUgc3RvcmUuIgorSE9NRVBBR0UgPSAiaHR0cDovL2dpdGh1Yi5jb20vYW5keW1jY3VyZHkvcmVkaXMtcHkiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTUxZDlhZDU2Mjk5YWI2MGJhN2JlNjVhNjIxMDA0ZjI3IgorUFIgPSAicjAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIzYjI2YzJiOTcwM2I0YjU2YjMwYTFhZDUwOGUzMTA4MyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1ZGZiYWU2YWNmYzU0ZWRmMGE3YTQxNWI5OWUwYjIxYzBhM2MyN2E3Zjc4N2IyOTJlZWE3MjdiMWZhY2M1NTMzIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcmVkaXNfMi4xMC41LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcmVkaXNfMi4xMC41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZjM2NhODUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1yZWRpc18yLjEwLjUuYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHB5cGkgc2V0dXB0b29scworcmVxdWlyZSBweXRob24tcmVkaXMuaW5jCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1yZXF1ZXN0cy5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1yZXF1ZXN0cy5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWJjZTI1MwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXJlcXVlc3RzLmluYwpAQCAtMCwwICsxLDkgQEAKK0RFU0NSSVBUSU9OID0gIlB5dGhvbiBIVFRQIGZvciBIdW1hbnMuIgorSE9NRVBBR0UgPSAiaHR0cDovL3B5dGhvbi1yZXF1ZXN0cy5vcmciCitMSUNFTlNFID0gIkFwYWNoZS0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT01OGM3ZTE2M2M5ZjhlZTAzNzI0NmRhMTAxYzZhZmQxZSIKKworU1JDX1VSSVttZDVzdW1dID0gIjBiN2Y0ODBkMTkwMTJlYzUyYmFiNzgyOTJlZmQ5NzZkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImM1Nzc4MTVkZDAwZjEzOTQyMDNmYzQ0ZWI5Nzk3MjRiMDk4Zjg4MjY0YTllZjg5OGVlNDViOGU1ZTljZjU4N2YiCisKK1JERVBFTkRTXyR7UE59ID0gIiR7UFlUSE9OX1BOfS1lbWFpbCAke1BZVEhPTl9QTn0tanNvbiAke1BZVEhPTl9QTn0tbmV0c2VydmVyIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcmVxdWVzdHNfMi45LjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1yZXF1ZXN0c18yLjkuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MjdiYzk1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcmVxdWVzdHNfMi45LjEuYmIKQEAgLTAsMCArMSw0IEBACitpbmhlcml0IHB5cGkgc2V0dXB0b29scworcmVxdWlyZSBweXRob24tcmVxdWVzdHMuaW5jCisKK1JERVBFTkRTXyR7UE59ICs9ICIke1BZVEhPTl9QTn0temxpYiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXNpeC5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1zaXguaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQwOGM2MGUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1zaXguaW5jCkBAIC0wLDAgKzEsMTYgQEAKK1NVTU1BUlkgPSAiUHl0aG9uIDIgYW5kIDMgY29tcGF0aWJpbGl0eSBsaWJyYXJ5IgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT02ZjAwZDRhNTA3MTNmYTg1OTg1OGRkOWFiYWEzNWIyMSIKKworU1JDX1VSSVttZDVzdW1dID0gIjM0ZWVkNTA3NTQ4MTE3YjJhYjUyM2FiMTRiMmY4YjU1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjEwNWY4ZDY4NjE2ZjgyNDhlMjRiZjBlOTM3MmVmMDRkM2NjMTAxMDRmMTk4MGY1NGQ1N2IyY2U3M2E1YWQ1NmEiCisKK2RvX2NvbXBpbGVfYXBwZW5kKCkgeworICAgIGV4cG9ydCBCVUlMRF9TWVM9JHtCVUlMRF9TWVN9IEhPU1RfU1lTPSR7SE9TVF9TWVN9CisgICAgJHtQWVRIT059IHNldHVwLnB5IC1xIGJkaXN0X2VnZyAtLWRpc3QtZGlyIC4vCit9Citkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS8qLmVnZyAke0R9LyR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9LworfQorCitSREVQRU5EU18ke1BOfSArPSAicHl0aG9uLWlvIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tc2l4XzEuMTAuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXNpeF8xLjEwLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTA3NTc0NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXNpeF8xLjEwLjAuYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHB5cGkgc2V0dXB0b29scworcmVxdWlyZSBweXRob24tc2l4LmluYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tc2xpcC1kYnVzXzAuNi4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tc2xpcC1kYnVzXzAuNi4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI3MTRmNDMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1zbGlwLWRidXNfMC42LjAuYmIKQEAgLTAsMCArMSwyNyBAQAorU1VNTUFSWSA9ICJDb252ZW5pZW5jZSBmdW5jdGlvbnMgZm9yIGRidXMgc2VydmljZXMgaW4gUHl0aG9uIDIueCIKK0hPTUVQQUdFID0gImh0dHA6Ly9ucGhpbGlwcC5mZWRvcmFwZW9wbGUub3JnL3B5dGhvbi1zbGlwLyIKK0RFU0NSSVBUSU9OID0gIlwKK1RoZSBTaW1wbGUgTGlicmFyeSBmb3IgUHl0aG9uIDIueCBwYWNrYWdlcyBjb250YWluIG1pc2NlbGxhbmVvdXMgY29kZSBmb3IgXAorY29udmVuaWVuY2UsIGV4dGVuc2lvbiBhbmQgd29ya2Fyb3VuZCBwdXJwb3Nlcy4gXAorXAorVGhpcyBwYWNrYWdlIHByb3ZpZGVzIHNsaXAuZGJ1cy5zZXJ2aWNlLk9iamVjdCwgd2hpY2ggaXMgYSBkYnVzLnNlcnZpY2UuT2JqZWN0IFwKK2Rlcml2YXRpdmUgdGhhdCBlbmRzIGl0c2VsZiBhZnRlciBhIGNlcnRhaW4gdGltZSB3aXRob3V0IGJlaW5nIHVzZWQgYW5kL29yIGlmIFwKK3RoZXJlIGFyZSBubyBjbGllbnRzIGFueW1vcmUgb24gdGhlIG1lc3NhZ2UgYnVzLCBhcyB3ZWxsIGFzIGNvbnZlbmllbmNlIFwKK2Z1bmN0aW9ucyBhbmQgZGVjb3JhdG9ycyBmb3IgaW50ZWdyYXRpbmcgYSBkYnVzIHNlcnZpY2Ugd2l0aCBQb2xpY3lLaXQuIgorCitTRUNUSU9OID0gImRldmVsL3B5dGhvbiIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTU3NGM2OTY1YWU1ZjU4M2U1NTg4MGUzOTdmYmIwMTgiCitTUkNOQU1FID0gInB5dGhvbi1zbGlwIgorCitTUkNfVVJJID0gImh0dHBzOi8vZmVkb3JhaG9zdGVkLm9yZy9yZWxlYXNlZC8ke1NSQ05BTUV9LyR7U1JDTkFNRX0tJHtQVn0udGFyLmJ6MiIKK1MgPSAiJHtXT1JLRElSfS8ke1NSQ05BTUV9LSR7UFZ9IgorCitpbmhlcml0IHNldHVwdG9vbHMKKworU1JDX1VSSVttZDVzdW1dID0gImZiMzI5OWQ3NWFmMWE2N2NhNjY3OWQ5NmNlODM5ZGE2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImY0NzM2MWVjNTJiNjA4MzA5YjgzYzcxOTA1ZTY5MmI2YjM2M2VhZjNiOGE3YWZkZWZmODY2Y2Q5NDQ2M2FkNWMiCisKK2RvX2NvbXBpbGVfcHJlcGVuZCgpIHsKKyAgICBzZWQgLWUgJ3MvQFZFUlNJT05ALyR7UFZ9L2cnIHNldHVwLnB5LmluID4gc2V0dXAucHkKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXNtYnVzXzMuMS4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tc21idXNfMy4xLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGY0N2RmNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXNtYnVzXzMuMS4xLmJiCkBAIC0wLDAgKzEsMjAgQEAKK1NVTU1BUlkgPSAiU2V0IG9mIGkyYyB0b29scyBmb3IgbGludXggLSBQeXRob24gbW9kdWxlIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3NtYnVzbW9kdWxlLmM7c3RhcnRsaW5lPTE7ZW5kbGluZT0xNzttZDU9ZmEyNGRmMzIxYTUyMGZmOGUxMGYyMDM0MjVhYjlmYTgiCisKK1NSQ19VUkkgPSAiaHR0cDovL2RsLmxtLXNlbnNvcnMub3JnL2kyYy10b29scy9yZWxlYXNlcy9pMmMtdG9vbHMtJHtQVn0udGFyLmJ6MiBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiMGZkYmZmNTNlYmQwYjhkOTI0OTI1NmQ2YzU2NDgwYjEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMTRkNGQ3ZDYwZDFjMTJlNDNmMmJlZmUyMzljNjgyYTVjNDRjMjc2ODJmMTUzZDRiNThjMWUzOTJkMmRiMTcwMCIKKworREVQRU5EUyA9ICJpMmMtdG9vbHMiCisKK2luaGVyaXQgZGlzdHV0aWxzCisKK1MgPSAiJHtXT1JLRElSfS9pMmMtdG9vbHMtJHtQVn0vcHktc21idXMvIgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICAjIEFkanVzdCBmb3IgT0UgaGVhZGVyIHJlbmFtZQorICAgIHNlZCAtaSBzOmxpbnV4L2kyYy1kZXYuaDpsaW51eC9pMmMtZGV2LXVzZXIuaDogTW9kdWxlLm1rCisgICAgc2VkIC1pIHM6bGludXgvaTJjLWRldi5oOmxpbnV4L2kyYy1kZXYtdXNlci5oOiBzbWJ1c21vZHVsZS5jCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1zbmFrZWZvb2RfMS40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tc25ha2Vmb29kXzEuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNGE2ZDc2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tc25ha2Vmb29kXzEuNC5iYgpAQCAtMCwwICsxLDUxIEBACitTVU1NQVJZID0gIkRlcGVuZGVuY3kgZ3JhcGhpbmcgZm9yIFB5dGhvbiIKK0RFU0NSSVBUSU9OID0gIiBHZW5lcmF0ZSBkZXBlbmRlbmN5IGdyYXBocyBmcm9tIFB5dGhvbiBjb2RlLiBUaGlzIFwKK2RlcGVuZGVuY3kgdHJhY2tlciBwYWNrYWdlIGhhcyBhIGZldyBkaXN0aW5ndWlzaGluZyBjaGFyYWN0ZXJpc3RpY3MgXAorXAorICAgICogSXQgdXNlcyB0aGUgQVNUIHRvIHBhcnNlIHRoZSBQeXRob24gZmlsZXMuIFRoaXMgaXMgdmVyeSByZWxpYWJsZSwgXAorICAgICAgaXQgYWx3YXlzIHJ1bnMuXAorICAgICogTm8gbW9kdWxlIGlzIGxvYWRlZC4gTG9hZGluZyBtb2R1bGVzIHRvIGZpZ3VyZSBvdXQgZGVwZW5kZW5jaWVzIGlzIFwKKyAgICAgIGFsbW9zdCBhbHdheXMgcHJvYmxlbSwgYmVjYXVzZSBhIGxvdCBvZiBjb2RlYmFzZXMgcnVuIGluaXRpYWxpemF0aW9uIFwKKyAgICAgIGNvZGUgaW4gdGhlIGdsb2JhbCBuYW1lc3BhY2UsIHdoaWNoIG9mdGVuIHJlcXVpcmVzIGFkZGl0aW9uYWwgc2V0dXAuIFwKKyAgICAgIFNuYWtlZm9vZCBpcyBndWFyYW50ZWVkIG5vdCB0byBoYXZlIHRoaXMgcHJvYmxlbSAoaXQganVzdCBydW5zLCBubyBcCisgICAgICBtYXR0ZXIgd2hhdCkuXAorICAgICogSXQgd29ya3Mgb24gYSBzZXQgb2YgZmlsZXMsIGkuZS4geW91IGRvIG5vdCBoYXZlIHRvIHNwZWNpZnkgYSBzaW5nbGUgXAorICAgICAgc2NyaXB0LCB5b3UgY2FuIHNlbGVjdCBhIGRpcmVjdG9yeSAocGFja2FnZSBvciBlbHNlKSBvciBhIHNldCBvZiBmaWxlcy5cCisgICAgICBJdCBmaW5kcyBhbGwgdGhlIFB5dGhvbiBmaWxlcyByZWN1cnNpdmVseSBhdXRvbWF0aWNhbGx5LlwKKyAgICAqIEF1dG9tYXRpYy9ubyBjb25maWd1cmF0aW9uOiB5b3VyIFBZVEhPTlBBVEggaXMgYXV0b21hdGljYWxseSBhZGp1c3RlZCBcCisgICAgICB0byBpbmNsdWRlIHRoZSByZXF1aXJlZCBwYWNrYWdlIHJvb3RzLiBJdCBmaWd1cmVzIG91dCB0aGUgcGF0aHMgdGhhdCBcCisgICAgICBhcmUgcmVxdWlyZWQgZnJvbSB0aGUgZmlsZXMvZGlyZWN0b3JpZXMgZ2l2ZW4gYXMgaW5wdXQuIFlvdSBzaG91bGQgbm90IFwKKyAgICAgIGhhdmUgdG8gc2V0dXAgQU5ZVEhJTkcuXAorICAgICogSXQgZG9lcyBub3QgaGF2ZSB0byBhdXRvbWF0aWNhbGx5ICdmb2xsb3cnIGRlcGVuZGVuY2llcyBiZXR3ZWVuIG1vZHVsZXMsXAorICAgICAgaS5lLiBieSBkZWZhdWx0IGl0IG9ubHkgY29uc2lkZXJzIHRoZSBmaWxlcyBhbmQgZGlyZWN0b3JpZXMgeW91IHNwZWNpZnkgXAorICAgICAgb24gdGhlIGNvbW1hbmQtbGluZSBhbmQgdGhlaXIgaW1tZWRpYXRlIGRlcGVuZGVuY2llcy4gSXQgYWxzbyBoYXMgYW4gXAorICAgICAgb3B0aW9uIHRvIGF1dG9tYXRpY2FsbHkgaW5jbHVkZSBvbmx5IHRoZSBkZXBlbmRlbmNpZXMgd2l0aGluIHRoZSBcCisgICAgICBwYWNrYWdlcyBvZiB0aGUgZmlsZXMgeW91IHNwZWNpZnkuXAorICAgICogSXQgZm9sbG93cyB0aGUgVU5JWCBwaGlsb3NvcGh5IG9mIHNtYWxsIHByb2dyYW1zIHRoYXQgZG8gb25lIHRoaW5nIHdlbGw6XAorICAgICAgaXQgY29uc2lzdHMgb2YgYSBmZXcgc2ltcGxlIHByb2dyYW1zIHdob3NlIG91dHB1dHMgeW91IGNvbWJpbmUgdmlhIFwKKyAgICAgIHBpcGVzLiBHcmFwaGluZyBkZXBlbmRlbmNpZXMgYWx3YXlzIHJlcXVpcmVzIHRoZSB1c2VyIHRvIGZpbHRlciBhbmQgXAorICAgICAgY2x1c3RlciB0aGUgZmlsZW5hbWVzLCBzbyB0aGlzIGlzIGFwcHJvcHJpYXRlLiBZb3UgY2FuIGNvbWJpbmUgaXQgd2l0aCBcCisgICAgICB5b3VyIGZhdm91cml0ZSB0b29scywgZ3JlcCwgc2VkLCBldGMuXAorXAorQSBwcm9ibGVtIHdpdGggZGVwZW5kZW5jeSB0cmFja2VycyB0aGF0IHJ1biBjb2RlIGlzIHRoYXQgdGhleSBhcmUgdW5yZWxpYWJsZSwgXAorZHVlIHRvIHRoZSBkeW5hbWljIG5hdHVyZSBvZiBQeXRob24gKHRoZSBwcmVzZW5jZSBvZiBpbXBvcnRzIHdpdGhpbiBmdW5jdGlvbiBcCitjYWxscyBhbmQgX19pbXBvcnRfXyBob29rcyBtYWtlcyBpdCBhbG1vc3QgaW1wb3NzaWJsZSB0byBhbHdheXMgZG8gdGhlIHJpZ2h0IFwKK3RoaW5nKS4gVGhpcyBzY3JpcHQgYWltcyBhdCBiZWluZyByaWdodCA5OSUgb2YgdGhlIHRpbWUsIGFuZCB3ZSB0aGluayB0aGF0IFwKK2dpdmVuIHRoZSB0cmFkZS1vZmZzLCA5OSUgaXMgZ29vZCBlbm91Z2ggZm9yIDk5JSBvZiB0aGUgdXNlcy5cCisiCitBVVRIT1IgPSAiTWFydGluIEJsYWlzIDxibGFpc0BmdXJpdXMuY2E+IgorSE9NRVBBR0UgPSAiaHR0cDovL2Z1cml1cy5jYS9zbmFrZWZvb2QiCitMSUNFTlNFID0gIkdQTC0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKKworU1JDX1VSSVttZDVzdW1dID0gIjU2Yzg4NjY3YTMzZDg5MDliMGFhYmYyYWI2OTAzYmRmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjI5NTc4NDY2ODAzMjI1NGU3MzkxY2E5OWJhNzA2MGVkZDNhZTRlY2ExYTMzMGFjMTE2MjdiMThhYjU5MjNiNzciCisKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCisKK1JERVBFTkRTXyR7UE59ID0gIiBweXRob24tbG9nZ2luZyBweXRob24tY29tcGlsZXIgcHl0aG9uLXNoZWxsIgorIyB0aGUgYWJvdmUgbW9kdWxlcyBkbyBub3QgaGF2ZSBhIC1uYXRpdmUgY291bnRlcnBhcnQKK1JERVBFTkRTXyR7UE59X2NsYXNzLW5hdGl2ZSA9ICIiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1zcGFydHNfMC43LjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1zcGFydHNfMC43LjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTEyNTMxMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXNwYXJ0c18wLjcuMy5iYgpAQCAtMCwwICsxLDIyIEBACitTVU1NQVJZID0gIkxpYnJhcnkgZm9yIHJhcGlkIHNlcnZpY2UgcHJvdG90eXBpbmcgd2l0aCBtaW5pbWFsIGJvaWxlcnBsYXRlIgorTElDRU5TRSA9ICJCU0QtMy1DbGF1c2UiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0wYzE1NTQ2MzZhNTY0ZGEzYmFmMDM3YWM2NTJmYzgzMSIKKworU1JDX1VSSVttZDVzdW1dID0gIjZhYTg4MTU2NTJjNmY1ZTVlOGU1YjJhYzE4MTNkZDg3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImIyNTcwN2MzNDkwNzlhN2M4ODgxNTVlN2ZkZmQ4Mzk0ZGYyZGE5YWNhOWM4ZWVlNGUyMDU1MjhjYjE2Yjc2NjIiCisKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCisKK1JERVBFTkRTXyR7UE59ID0gIlwKKyAgICAgICAgICAgICAgIHB5dGhvbi1zdWJwcm9jZXNzIFwKKyAgICAgICAgICAgICAgIHB5dGhvbi1zaXggXAorICAgICAgICAgICAgICAgcHl0aG9uLWFyZ3BhcnNlIFwKKyAgICAgICAgICAgICAgIHB5dGhvbi1yZSBcCisgICAgICAgICAgICAgICBweXRob24tc2hlbGwgXAorICAgICAgICAgICAgICAgcHl0aG9uLXRocmVhZGluZyBcCisgICAgICAgICAgICAgICBweXRob24tbG9nZ2luZyBcCisgICAgICAgICAgICAgICBweXRob24tdW5peGFkbWluIFwKKyAgICAgICAgICAgICAgIHB5dGhvbi1kaXN0dXRpbHMgXAorICAgICAgICAgICAgICAgcHl0aG9uLWRhZW1vbml6ZSBcCisgICAgICAgICAgICAgICBweXRob24tZnV0dXJlcyBcCisiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1zcWxhbGNoZW15XzAuNy45LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tc3FsYWxjaGVteV8wLjcuOS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40M2I0YjdlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tc3FsYWxjaGVteV8wLjcuOS5iYgpAQCAtMCwwICsxLDE0IEBACitERVNDUklQVElPTiA9ICJQeXRob24gU1FMIHRvb2xraXQgYW5kIE9iamVjdCBSZWxhdGlvbmFsIE1hcHBlciB0aGF0IGdpdmVzIFwKK2FwcGxpY2F0aW9uIGRldmVsb3BlcnMgdGhlIGZ1bGwgcG93ZXIgYW5kIGZsZXhpYmlsaXR5IG9mIFNRTCIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuc3FsYWxjaGVteS5vcmcvIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1iYWZmYzVlNWY0ODA0YzkyZmM5YmUxNTVmZWQ3MGQ0MSIKK1JERVBFTkRTXyR7UE59ICs9ICJweXRob24tbnVtYmVycyIKKworU1JDTkFNRSA9ICJTUUxBbGNoZW15IgorU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vc3FsYWxjaGVteS8ke1NSQ05BTUV9LSR7UFZ9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJjNDg1MmQ1ODZkOTVhNTlmYmM5MzU4ZjQ0Njc4NzVkNSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmN2EzMDVhZDEyMjE0NGYzNjRjZTA5YTJkOWVkNTE1OWQ1ZjQ2ZWM0MzY1MDY1MzU5M2U3ZGZhMDVkMzI5NGExIgorUyA9ICIke1dPUktESVJ9LyR7U1JDTkFNRX0tJHtQVn0iCisKK2luaGVyaXQgc2V0dXB0b29scwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdG9ybmFkby1yZWRpc18yLjQuMTguYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi10b3JuYWRvLXJlZGlzXzIuNC4xOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NmEyMGE1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdG9ybmFkby1yZWRpc18yLjQuMTguYmIKQEAgLTAsMCArMSwxOCBAQAorU1VNTUFSWSAgPSAiVG9ybmFkby1SZWRpcyBpcyBhbiBhc3luY3Jvbm91cyBSZWRpcyBjbGllbnQgZm9yIHRoZSBUb3JuYWRvIFdlYiBTZXJ2ZXIiCitERVNDUklQVElPTiA9ICJUb3JuYWRvLVJlZGlzIGlzIGEgUmVkaXMgY2xpZW50IHRoYXQgdXNlcyBUb3JuYWRvJ3MgbmF0aXZlICd0b3JuYWRvLWdlbicgaW50ZXJmYWNlLiBcCitJdCBjYW4gYmUgdXNlZCBhbG9uZ3NpZGUgcmVkaXMtcHkgaW4gVG9ybmFkbyBhcHBsaWNhdGlvbnM6IFwKK3Rvcm5hZG8tcmVkaXMgdG8gc3Vic2NyaWJlIHRvIFB1Yi9TdWIgbm90aWZpY2F0aW9ucyBhbmQgZm9yIGJsb2NraW5nIGNvbW1hbmRzIChzdWNoIGFzIEJMUE9QLCBCUlBPUCwgQlJQT1BMUFVTSCk7IFwKK3JlZGlzLXB5IGZvciBvdGhlciBjb21tYW5kcy4iCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vbGVwb3JvL3Rvcm5hZG8tcmVkaXMiCisKK0xJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1BLRy1JTkZPO2JlZ2lubGluZT04O2VuZGxpbmU9ODttZDU9Y2EzMDdlOGYzN2I1ZmE3ZjhkYmJlYzAzM2Y3ZGI3ZGUiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIxYzdlYzBmNjQ1ZDE1NDAwODcxMTQxYzExNDllNjkzNCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4ZmQzYjMyNDE1ODI5MWFkNWZiN2Y1ZjhkYzJlODc2M2IyODk1NTU2YmQyYTQ0ZjJkZDcyMWI3MDNjNjY5MDQ2IgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29scworCitSREVQRU5EU18ke1BOfSArPSAicHl0aG9uLXRvcm5hZG8iCisKK1JERVBFTkRTXyR7UE59LXRlc3QgKz0gIiR7UE59IHB5dGhvbi10b3JuYWRvIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdG9ybmFkby5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi10b3JuYWRvLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZTNhYzhjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdG9ybmFkby5pbmMKQEAgLTAsMCArMSwyNCBAQAorU1VNTUFSWSAgPSAiVG9ybmFkbyBpcyBhbiBvcGVuIHNvdXJjZSB2ZXJzaW9uIG9mIHRoZSBzY2FsYWJsZSwgbm9uLWJsb2NraW5nIHdlYiBzZXJ2ZXIgYW5kIHRvb2xzIHRoYXQgcG93ZXIgRnJpZW5kRmVlZC4iCitERVNDUklQVElPTiA9ICJUb3JuYWRvIGlzIGEgUHl0aG9uIHdlYiBmcmFtZXdvcmsgYW5kIGFzeW5jaHJvbm91cyBuZXR3b3JraW5nIGxpYnJhcnksIG9yaWdpbmFsbHkgZGV2ZWxvcGVkIGF0IEZyaWVuZEZlZWQuIFwKK0J5IHVzaW5nIG5vbi1ibG9ja2luZyBuZXR3b3JrIEkvTywgVG9ybmFkbyBjYW4gc2NhbGUgdG8gdGVucyBvZiB0aG91c2FuZHMgb2Ygb3BlbiBjb25uZWN0aW9ucywgbWFraW5nIGl0IGlkZWFsIGZvciBsb25nIFwKK3BvbGxpbmcsIFdlYlNvY2tldHMsIGFuZCBvdGhlciBhcHBsaWNhdGlvbnMgdGhhdCByZXF1aXJlIGEgbG9uZy1saXZlZCBjb25uZWN0aW9uIHRvIGVhY2ggdXNlci4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LnRvcm5hZG93ZWIub3JnL2VuL3N0YWJsZS8iCitMSUNFTlNFID0gIkFwYWNoZS0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9zZXR1cC5weTtzdGFydGxpbmU9MjtlbmRsaW5lPTE1O21kNT01YWI3NTcxYTc5YWQ2MmQwY2E3YWVhMzA4YmFjNzU2MCIKKworU1JDX1VSSVttZDVzdW1dID0gImQxM2E5OWRjMGI2MGJhNjlmNWY4ZWMxMjM1ZTViMjMyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImM5YzJkMzI1OTNkMTZlZWRmMmNlYzFiNmE0MTg5MzYyNmEyNjQ5YjQwYjIxY2E5YzRjYWM0MjQzYmRlMmVmYmYiCisKK1JERVBFTkRTXyR7UE59ICs9ICIke1BZVEhPTl9QTn0tY29tcHJlc3Npb24gJHtQWVRIT05fUE59LW51bWJlcnMgJHtQWVRIT05fUE59LWVtYWlsICR7UFlUSE9OX1BOfS1zdWJwcm9jZXNzIFwKKyAgICAgICAgICAgICAgICAgICAke1BZVEhPTl9QTn0tcGtndXRpbCAke1BZVEhPTl9QTn0taHRtbCAke1BZVEhPTl9QTn0tanNvbiAke1BZVEhPTl9QTn0tY2VydGlmaSIKKworUkRFUEVORFNfJHtQTn0tdGVzdCArPSAiJHtQTn0gJHtQWVRIT05fUE59LXVuaXR0ZXN0IgorCitQQUNLQUdFUyA9KyAiXAorICAgICR7UE59LXRlc3QgXAorIgorCitGSUxFU18ke1BOfS10ZXN0ID0gIiBcCisgICAgJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy8qL3Rlc3QgXAorICAgICR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvKi90ZXN0aW5nLnB5KiBcCisiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi10b3JuYWRvLzAwMDEtZGlzYWJsZS1BSV9BRERSQ09ORklHLWZsYWcucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi10b3JuYWRvLzAwMDEtZGlzYWJsZS1BSV9BRERSQ09ORklHLWZsYWcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGIwZDQ3MQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXRvcm5hZG8vMDAwMS1kaXNhYmxlLUFJX0FERFJDT05GSUctZmxhZy5wYXRjaApAQCAtMCwwICsxLDMyIEBACitGcm9tIGQ3ZmIwYTZlZjNmM2NiZGZjMWYyMWY1YTY3ZDU0ZmE5ZDJjMWUxODMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLb2VuIEtvb2kgPGtvZW5AZG9taW5pb24udGhydWhlcmUubmV0PgorRGF0ZTogV2VkLCAyIE5vdiAyMDExIDExOjA3OjI0ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGRpc2FibGUgQUlfQUREUkNPTkZJRyBmbGFnCisKK1NpZ25lZC1vZmYtYnk6IEtvZW4gS29vaSA8a29lbkBkb21pbmlvbi50aHJ1aGVyZS5uZXQ+CisKK1Vwc3RyZWFtLVN0YXR1czogdW5rbm93bgorLS0tCisgdG9ybmFkby9uZXR1dGlsLnB5IHwgICAgNiAtLS0tLS0KKyAxIGZpbGVzIGNoYW5nZWQsIDAgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3Rvcm5hZG8vbmV0dXRpbC5weSBiL3Rvcm5hZG8vbmV0dXRpbC5weQoraW5kZXggY2ZmZjBiYS4uYzE4MWYyNCAxMDA2NDQKKy0tLSBhL3Rvcm5hZG8vbmV0dXRpbC5weQorKysrIGIvdG9ybmFkby9uZXR1dGlsLnB5CitAQCAtMjM4LDEyICsyMzgsNiBAQCBkZWYgYmluZF9zb2NrZXRzKHBvcnQsIGFkZHJlc3M9Tm9uZSwgZmFtaWx5PXNvY2tldC5BRl9VTlNQRUMsIGJhY2tsb2c9MTI4KToKKyAgICAgaWYgYWRkcmVzcyA9PSAiIjoKKyAgICAgICAgIGFkZHJlc3MgPSBOb25lCisgICAgIGZsYWdzID0gc29ja2V0LkFJX1BBU1NJVkUKKy0gICAgaWYgaGFzYXR0cihzb2NrZXQsICJBSV9BRERSQ09ORklHIik6CistICAgICAgICAjIEFJX0FERFJDT05GSUcgZW5zdXJlcyB0aGF0IHdlIG9ubHkgdHJ5IHRvIGJpbmQgb24gaXB2NgorLSAgICAgICAgIyBpZiB0aGUgc3lzdGVtIGlzIGNvbmZpZ3VyZWQgZm9yIGl0LCBidXQgdGhlIGZsYWcgZG9lc24ndAorLSAgICAgICAgIyBleGlzdCBvbiBzb21lIHBsYXRmb3JtcyAoc3BlY2lmaWNhbGx5IFdpblhQLCBhbHRob3VnaAorLSAgICAgICAgIyBuZXdlciB2ZXJzaW9ucyBvZiB3aW5kb3dzIGhhdmUgaXQpCistICAgICAgICBmbGFncyB8PSBzb2NrZXQuQUlfQUREUkNPTkZJRworICAgICBmb3IgcmVzIGluIHNldChzb2NrZXQuZ2V0YWRkcmluZm8oYWRkcmVzcywgcG9ydCwgZmFtaWx5LCBzb2NrZXQuU09DS19TVFJFQU0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsIGZsYWdzKToKKyAgICAgICAgIGFmLCBzb2NrdHlwZSwgcHJvdG8sIGNhbm9ubmFtZSwgc29ja2FkZHIgPSByZXMKKy0tIAorMS43LjIuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi10b3JuYWRvXzIuMi4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdG9ybmFkb18yLjIuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yODAyNmIzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdG9ybmFkb18yLjIuMS5iYgpAQCAtMCwwICsxLDE2IEBACitERVNDUklQVElPTiA9ICJUb3JuYWRvIGlzIGFuIG9wZW4gc291cmNlIHZlcnNpb24gb2YgdGhlIHNjYWxhYmxlLCBub24tYmxvY2tpbmcgd2ViIHNlcnZlciBhbmQgdG9vbHMgdGhhdCBwb3dlciBGcmllbmRGZWVkLiIKK0xJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1JFQURNRTttZDU9ZTdmYjk5NTQwMDNkN2NkOTMzMjJjY2YyODIyMTBkMWMiCisKK1BWID0gIjIuMi4xK2dpdCR7U1JDUFZ9IgorCitTUkNSRVYgPSAiYzUwMTkxN2ViYTQ2ZGVjMzBiMWYyZWYxMjQ5N2RmZmM0YmVlYzUwNSIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9mYWNlYm9vay90b3JuYWRvLmdpdDticmFuY2g9YnJhbmNoMi4yIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtZGlzYWJsZS1BSV9BRERSQ09ORklHLWZsYWcucGF0Y2ggXAorIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IHNldHVwdG9vbHMKKworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi10b3JuYWRvXzQuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXRvcm5hZG9fNC4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU1YTQ4YjgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi10b3JuYWRvXzQuMy5iYgpAQCAtMCwwICsxLDMgQEAKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCityZXF1aXJlIHB5dGhvbi10b3JuYWRvLmluYworUkRFUEVORFNfJHtQTn0gKz0gIiR7UFlUSE9OX1BOfS1iYWNrcG9ydHMtc3NsIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdHdpc3RlZF8xMy4yLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi10d2lzdGVkXzEzLjIuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYzg4YWM5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdHdpc3RlZF8xMy4yLjAuYmIKQEAgLTAsMCArMSwyNDUgQEAKK0RFU0NSSVBUSU9OID0gIlR3aXN0ZWQgaXMgYW4gZXZlbnQtZHJpdmVuIG5ldHdvcmtpbmcgZnJhbWV3b3JrIHdyaXR0ZW4gaW4gUHl0aG9uIGFuZCBsaWNlbnNlZCB1bmRlciB0aGUgTEdQTC4gXAorVHdpc3RlZCBzdXBwb3J0cyBUQ1AsIFVEUCwgU1NML1RMUywgbXVsdGljYXN0LCBVbml4IHNvY2tldHMsIGEgbGFyZ2UgbnVtYmVyIG9mIHByb3RvY29scyAgICAgICAgICAgICAgICAgICBcCisoaW5jbHVkaW5nIEhUVFAsIE5OVFAsIElNQVAsIFNTSCwgSVJDLCBGVFAsIGFuZCBvdGhlcnMpLCBhbmQgbXVjaCBtb3JlLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cudHdpc3RlZG1hdHJpeC5jb20iCisKKyN0d2lzdGVkL3RvcGZpbGVzL05FV1M6NjU1OiAtIFJlbGljZW5zZWQ6IE5vdyB1bmRlciB0aGUgTUlUIGxpY2Vuc2UsIHJhdGhlciB0aGFuIExHUEwuCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTU2MDJkNzIyOGRhZjU5YTE2ZjBmMWIyNjQwYzQ2YmNhIgorCitTUkNfVVJJW21kNXN1bV0gPSAiODNmZTZjMGM5MTFjYzE2MDJkYmZmYjAzNmJlMGJhNzkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDk1MTc1NjM4YzAxOWFjN2MwNjA0ZjRjMjkxNzI0YTE2ZmYxYWNkMDYyZTE4MWIwMTI5M2JmNGRjYmM2MmNmMyIKKworUFlQSV9QQUNLQUdFID0gIlR3aXN0ZWQiCitQWVBJX1BBQ0tBR0VfRVhUID0gInRhci5iejIiCitpbmhlcml0IHB5cGkgc2V0dXB0b29scworCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICAjIHJlbW92ZSBzb21lIHVzZWxlc3MgZmlsZXMgYmVmb3JlIHBhY2thZ2luZworICAgIGZpbmQgJHtEfSBcKCAtbmFtZSAiKi5iYXQiIC1vIC1uYW1lICIqLmMiIC1vIC1uYW1lICIqLmgiIFwpIC1leGVjIHJtIC1mIHt9IFw7Cit9CisKK1BBQ0tBR0VTICs9ICJcCisgICAgJHtQTn0tenNoIFwKKyAgICAke1BOfS10ZXN0IFwKKyAgICAke1BOfS1wcm90b2NvbHMgXAorICAgICR7UE59LWNvbmNoIFwKKyAgICAke1BOfS1sb3JlIFwKKyAgICAke1BOfS1tYWlsIFwKKyAgICAke1BOfS1uYW1lcyBcCisgICAgJHtQTn0tbmV3cyBcCisgICAgJHtQTn0tcnVubmVyIFwKKyAgICAke1BOfS13ZWIgXAorICAgICR7UE59LXdvcmRzIFwKKyAgICAke1BOfS1mbG93IFwKKyAgICAke1BOfS1wYWlyIFwKKyAgICAke1BOfS1jb3JlIFwKKyIKKworUEFDS0FHRVMgPSsgIlwKKyAgICAke1BOfS1zcmMgXAorICAgICR7UE59LWJpbiBcCisiCisKK1JERVBFTkRTXyR7UE59ID0gIlwKKyAgICAke1BOfS1iaW4gXAorICAgICR7UE59LWNvbmNoIFwKKyAgICAke1BOfS1sb3JlIFwKKyAgICAke1BOfS1tYWlsIFwKKyAgICAke1BOfS1uYW1lcyBcCisgICAgJHtQTn0tbmV3cyBcCisgICAgJHtQTn0tcnVubmVyIFwKKyAgICAke1BOfS13ZWIgXAorICAgICR7UE59LXdvcmRzIFwKKyIKKworUkRFUEVORFNfJHtQTn0tY29yZSA9ICJweXRob24tY29yZSBweXRob24tem9wZWludGVyZmFjZSBweXRob24tY29udGV4dGxpYiIKK1JERVBFTkRTXyR7UE59LXRlc3QgPSAiJHtQTn0iCitSREVQRU5EU18ke1BOfS1jb25jaCA9ICIke1BOfS1jb3JlICR7UE59LXByb3RvY29scyIKK1JERVBFTkRTXyR7UE59LWxvcmUgPSAiJHtQTn0tY29yZSIKK1JERVBFTkRTXyR7UE59LW1haWwgPSAiJHtQTn0tY29yZSAke1BOfS1wcm90b2NvbHMiCitSREVQRU5EU18ke1BOfS1uYW1lcyA9ICIke1BOfS1jb3JlIgorUkRFUEVORFNfJHtQTn0tbmV3cyA9ICIke1BOfS1jb3JlICR7UE59LXByb3RvY29scyIKK1JERVBFTkRTXyR7UE59LXJ1bm5lciA9ICIke1BOfS1jb3JlICR7UE59LXByb3RvY29scyIKK1JERVBFTkRTXyR7UE59LXdlYiArPSAiJHtQTn0tY29yZSAke1BOfS1wcm90b2NvbHMiCitSREVQRU5EU18ke1BOfS13b3JkcyArPSAiJHtQTn0tY29yZSIKK1JERVBFTkRTXyR7UE59LWZsb3cgKz0gIiR7UE59LWNvcmUiCitSREVQRU5EU18ke1BOfS1wYWlyICs9ICIke1BOfS1jb3JlIgorUkRFUEVORFNfJHtQTn0tZGJnID0gIiR7UE59IgorCitBTExPV19FTVBUWV8ke1BOfSA9ICIxIgorRklMRVNfJHtQTn0gPSAiIgorCitGSUxFU18ke1BOfS10ZXN0ID0gIiBcCisgICAgJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3Rlc3QgXAorICAgICR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC8qL3Rlc3QgXAorIgorCitGSUxFU18ke1BOfS1wcm90b2NvbHMgPSAiIFwKKyAgICAke2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcHJvdG9jb2xzLyoucHkqIFwKKyAgICAke2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcHJvdG9jb2xzL2dwcy8gXAorICAgICR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9wcm90b2NvbHMvbWljZS8gXAorIgorCitGSUxFU18ke1BOfS16c2ggPSAiIFwKKyAgICAke2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcHl0aG9uL3pzaCBcCisgICAgJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3B5dGhvbi96c2hjb21wLiogXAorICAgICR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9weXRob24vdHdpc3RlZC1jb21wbGV0aW9uLnpzaCBcCisiCisKK0ZJTEVTXyR7UE59LWNvbmNoID0gIiBcCisgICAgJHtiaW5kaXJ9L2NrZXlnZW4gXAorICAgICR7YmluZGlyfS90a2NvbmNoIFwKKyAgICAke2JpbmRpcn0vY29uY2ggXAorICAgICR7YmluZGlyfS9jb25jaGZ0cCBcCisgICAgJHtiaW5kaXJ9L2NmdHAgXAorICAgICR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9wbHVnaW5zL3R3aXN0ZWRfY29uY2gucHkqIFwKKyAgICAke2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvY29uY2ggIFwKKyIKKworRklMRVNfJHtQTn0tY29yZSA9ICIgXAorJHtiaW5kaXJ9L21hbmhvbGUgXAorJHtiaW5kaXJ9L21rdGFwIFwKKyR7YmluZGlyfS90d2lzdGQgXAorJHtiaW5kaXJ9L3RhcDJkZWIgXAorJHtiaW5kaXJ9L3RhcDJycG0gXAorJHtiaW5kaXJ9L3RhcGNvbnZlcnQgXAorJHtiaW5kaXJ9L3RrbWt0YXAgXAorJHtiaW5kaXJ9L3RyaWFsIFwKKyR7YmluZGlyfS9lYXN5X2luc3RhbGwqIFwKKyR7YmluZGlyfS9weWh0bWxpemVyIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9weXRob24vKi5zbyBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvKi5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3BsdWdpbnMvX19pbml0X18ucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9wbHVnaW5zL25vdGVzdHBsdWdpbi5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3BsdWdpbnMvdGVzdHBsdWdpbi5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3BsdWdpbnMvdHdpc3RlZF9mdHAucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9wbHVnaW5zL3R3aXN0ZWRfaW5ldC5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3BsdWdpbnMvdHdpc3RlZF9tYW5ob2xlLnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcGx1Z2lucy90d2lzdGVkX3BvcnRmb3J3YXJkLnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcGx1Z2lucy90d2lzdGVkX3NvY2tzLnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcGx1Z2lucy90d2lzdGVkX3RlbG5ldC5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3BsdWdpbnMvdHdpc3RlZF90cmlhbC5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3BsdWdpbnMvZHJvcGluLmNhY2hlIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9hcHBsaWNhdGlvbiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvY3JlZCBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvZW50ZXJwcmlzZSBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvaW50ZXJuZXQgXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL21hbmhvbGUgXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL21hbmhvbGUgXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3BlcnNpc3RlZCBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcHJvdG9jb2xzXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3B5dGhvblwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9weXRob24vdGltZW91dHF1ZXVlLnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcHl0aG9uL2ZpbGVwYXRoLnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcHl0aG9uL2R4cHJvZmlsZS5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3B5dGhvbi9wbHVnaW4ucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9weXRob24vaHRtbGl6ZXIucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9weXRob24vX19pbml0X18ucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9weXRob24vZGlzcGF0Y2gucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9weXRob24vaG9vay5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3B5dGhvbi90aHJlYWRwb29sLnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcHl0aG9uL290cC5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3B5dGhvbi91c2FnZS5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3B5dGhvbi9yb290cy5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3B5dGhvbi92ZXJzaW9ucy5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3B5dGhvbi91cmxwYXRoLnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcHl0aG9uL3V0aWwucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9weXRob24vY29tcG9uZW50cy5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3B5dGhvbi9sb2dmaWxlLnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcHl0aG9uL3J1bnRpbWUucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9weXRob24vcmVmbGVjdC5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3B5dGhvbi9jb250ZXh0LnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcHl0aG9uL3RocmVhZGFibGUucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9weXRob24vcmVidWlsZC5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3B5dGhvbi9mYWlsdXJlLnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcHl0aG9uL2xvY2tmaWxlLnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcHl0aG9uL2Zvcm1tZXRob2QucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9weXRob24vZmluYWxpemUucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9weXRob24vd2luMzIucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9weXRob24vZGlzdC5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3B5dGhvbi9zaG9ydGN1dC5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3B5dGhvbi96aXBzdHJlYW0ucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9weXRob24vcmVsZWFzZS5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3B5dGhvbi9zeXNsb2cucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9weXRob24vbG9nLnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcHl0aG9uL2NvbXBhdC5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3B5dGhvbi96c2hjb21wLnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcHl0aG9uL3Byb2N1dGlscy5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3B5dGhvbi90ZXh0LnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcHl0aG9uL190d2lzdGVkX3pzaF9zdHViIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9zY3JpcHRzLyBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvc3ByZWFkLyBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvdGFwLyBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvdHJpYWwvIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9fX2luaXRfXy5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL192ZXJzaW9uLnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvY29weXJpZ2h0LnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvaW0ucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC8qLnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcHl0aG9uLyoucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9wbHVnaW5zLyoucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC90b3BmaWxlcyBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL1R3aXN0ZWQqZWdnLWluZm8gXAorIgorCitGSUxFU18ke1BOfS1sb3JlID0gIiBcCiske2JpbmRpcn0vYm9va2lmeSBcCiske2JpbmRpcn0vbG9yZSBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcGx1Z2lucy90d2lzdGVkX2xvcmUucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9sb3JlIFwKKyIKKworRklMRVNfJHtQTn0tbWFpbCA9ICIgXAorJHtiaW5kaXJ9L21haWxtYWlsIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9wbHVnaW5zL3R3aXN0ZWRfbWFpbC5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL21haWwgXAorIgorCitGSUxFU18ke1BOfS1uYW1lcyA9ICIgXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3BsdWdpbnMvdHdpc3RlZF9uYW1lcy5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL25hbWVzIFwKKyIKKworRklMRVNfJHtQTn0tbmV3cyA9ICIgXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3BsdWdpbnMvdHdpc3RlZF9uZXdzLnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvbmV3cyBcCisiCisKK0ZJTEVTXyR7UE59LXJ1bm5lciA9ICIgXAorJHtsaWJkaXJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9ydW5uZXIvcG9ydG1hcC5zbyBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcnVubmVyXAorIgorCitGSUxFU18ke1BOfS13ZWIgPSAiIFwKKyR7YmluZGlyfS93ZWJzZXRyb290IFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9wbHVnaW5zL3R3aXN0ZWRfd2ViLnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvd2ViXAorIgorCitGSUxFU18ke1BOfS13b3JkcyA9ICIgXAorJHtiaW5kaXJ9L2ltIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9wbHVnaW5zL3R3aXN0ZWRfd29yZHMucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC93b3Jkc1wKKyIKKworRklMRVNfJHtQTn0tZmxvdyA9ICIgXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3BsdWdpbnMvdHdpc3RlZF9mbG93LnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvZmxvdyBcIgorCitGSUxFU18ke1BOfS1wYWlyID0gIiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcGx1Z2lucy90d2lzdGVkX3BhaXIucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9wYWlyIFwKKyIKKworRklMRVNfJHtQTn0tZGJnICs9ICIgXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkLyovLmRlYnVnIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC8qLyovLmRlYnVnIFwKKyIKKworUkRFUEVORFNfe1BOfS1zcmMgPSAiJHtQTn0iCitGSUxFU18ke1BOfS1zcmMgPSAiIFwKKwkke2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvKi5weSBcCisJJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkLyovKi5weSBcCisJJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkLyovKi8qLnB5IFwKKwkiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi11anNvbl8xLjM1LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdWpzb25fMS4zNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yOTIwN2YzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdWpzb25fMS4zNS5iYgpAQCAtMCwwICsxLDEzIEBACitTVU1NQVJZICA9ICJVbHRyYSBmYXN0IEpTT04gZW5jb2RlciBhbmQgZGVjb2RlciBmb3IgUHl0aG9uIgorREVTQ1JJUFRJT04gPSAiVWx0cmFKU09OIGlzIGFuIHVsdHJhIGZhc3QgSlNPTiBlbmNvZGVyIGFuZCBkZWNvZGVyIHdyaXR0ZW4gaW4gcHVyZSBDIHdpdGggYmluZGluZ3MgZm9yIFB5dGhvbiAyLjUrIGFuZCAzLiIKKworTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9QS0ctSU5GTztzdGFydGxpbmU9ODtlbmRsaW5lPTk7bWQ1PTRmMzY5YjNjM2MyOTBiNGFlZGU4Nzk2YTQwNjVlNWFiIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNDJmNzdiMGNjZTY4NmRmYTRkYTJlNjg0ODBiMWRkMjQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjY2MDczZTU1MDZlOTFkMjA0YWIwYzYxNGExNDhkNWFhOTM4YmRiZjEwNDc1MWJlNjZmOGFkN2EyMjJmNWY4NiIKKworUFlQSV9QQUNLQUdFID0gInVqc29uIgoraW5oZXJpdCBweXBpIHNldHVwdG9vbHMKKworUkRFUEVORFNfJHtQTn0gKz0gInB5dGhvbi1udW1iZXJzIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdXJsbGliM18xLjE0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdXJsbGliM18xLjE0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRlMzA5OTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi11cmxsaWIzXzEuMTQuYmIKQEAgLTAsMCArMSwxMSBAQAorU1VNTUFSWSA9ICJQeXRob24gSFRUUCBsaWJyYXJ5IHdpdGggdGhyZWFkLXNhZmUgY29ubmVjdGlvbiBwb29saW5nLCBmaWxlIHBvc3Qgc3VwcG9ydCwgc2FuaXR5IGZyaWVuZGx5LCBhbmQgbW9yZSIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9zaGF6b3cvdXJsbGliMyIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS50eHQ7bWQ1PTNiZTM3MDdjNWYyNGE2OTcwOTY4MjI2NWUyOTU2NmZlIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNWUxNDA3NDI4YWMzM2I1MjFjNzFhN2FjMjczYjM4NDciCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZGQ0ZmIxM2E0Y2U1MGIxODMzOGM3ZTRkNjY1YjIxZmQzODYzMmM1ZDRiMWQ5ZjFhMTM3OTI3NmJkM2MwOGQzNyIKKworaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKKworUkRFUEVORFNfJHtQTn0gKz0gInB5dGhvbi1uZXRjbGllbnQiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi12Y3ZlcnNpb25lcl8yLjE0LjAuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXZjdmVyc2lvbmVyXzIuMTQuMC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU4N2U1MGYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi12Y3ZlcnNpb25lcl8yLjE0LjAuMC5iYgpAQCAtMCwwICsxLDIxIEBACitTVU1NQVJZID0gIlB5dGhvbiB2Y3ZlcnNpb25lciwgYXV0b21hZ2ljYWxseSB1cGRhdGUgdGhlIHByb2plY3QncyB2ZXJzaW9uIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL2hhYm5hYml0L3ZjdmVyc2lvbmVyIgorCitMSUNFTlNFID0gIklTQyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1BLRy1JTkZPO21kNT0yNjA2MjVkNjk1YzVlMGM5ZGQyYzJlZjg5ODgzM2M3ZCIKKworU1JDX1VSSVttZDVzdW1dID0gIjc4NDhhMzY1Y2VkOTk0MTA1M2JjMjVkOWE5ZjhmNGI0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImFjZDQzNjg2ZTkyZTZjOGJiZWI0ZjJlZWY1NDQwODU2N2E3YWRlYTk2OTJmYTcyZDU5MWVlYzUzNTdjMDNiODYiCisKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCisKK2RvX2NvbXBpbGVfYXBwZW5kKCkgeworICAgIGV4cG9ydCBCVUlMRF9TWVM9JHtCVUlMRF9TWVN9IEhPU1RfU1lTPSR7SE9TVF9TWVN9CisgICAgJHtQWVRIT059IHNldHVwLnB5IC1xIGJkaXN0X2VnZyAtLWRpc3QtZGlyIC4vCit9CisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L3ZjdmVyc2lvbmVyKi5lZ2cgJHtEfS8ke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS8KK30KKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi12aXNpdG9yXzAuMS4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdmlzaXRvcl8wLjEuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNTMwOTFlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdmlzaXRvcl8wLjEuMi5iYgpAQCAtMCwwICsxLDggQEAKK1NVTU1BUlkgPSAiQSB0aW55IHB5dGhvbmljIHZpc2l0b3IgaW1wbGVtZW50YXRpb24uIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9QS0ctSU5GTztiZWdpbmxpbmU9ODtlbmRsaW5lPTg7bWQ1PTgyMjcxODAxMjY3OTdhMDE0OGY5NGY0ODNmM2UxNDg5IgorCitTUkNfVVJJW21kNXN1bV0gPSAiZTk0NzFiNDRlNWQ0MjZiMGFkZjVkMjc2OTQ1OThiZTAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZDk0NDRmZmNhNTZhNDZhOTIwNzE5NDYwZDQ5NTJmOGM4OGY4ZmVmOTdmMWVhN2QyYjFmN2M1MGY2NzUwMjJiZCIKKworaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXZvYmplY3RfMC44LjFjLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdm9iamVjdF8wLjguMWMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTI4YzAyZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXZvYmplY3RfMC44LjFjLmJiCkBAIC0wLDAgKzEsMTYgQEAKK1NVTU1BUlkgPSAiUHl0aG9uIHBhY2thZ2UgZm9yIHBhcnNpbmcgYW5kIGdlbmVyYXRpbmcgdkNhcmQgYW5kIHZDYWxlbmRhciBmaWxlcyIKK1NFQ1RJT04gPSAiZGV2ZWwvcHl0aG9uIiAKK0xJQ0VOU0UgPSAiQXBhY2hlLTIuMCIgCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLTIuMC50eHQ7bWQ1PTNiODNlZjk2Mzg3ZjE0NjU1ZmM4NTRkZGMzYzZiZDU3IgorSE9NRVBBR0UgPSAiaHR0cDovL3ZvYmplY3Quc2t5aG91c2Vjb25zdWx0aW5nLmNvbS8iIAorU1JDTkFNRSA9ICJ2b2JqZWN0IiAKK1JERVBFTkRTXyR7UE59ID0gInB5dGhvbiBweXRob24tZGF0ZXV0aWwiCitQUiA9ICJyNCIKKworU1JDX1VSSSA9ICJodHRwOi8vdm9iamVjdC5za3lob3VzZWNvbnN1bHRpbmcuY29tLyR7U1JDTkFNRX0tJHtQVn0udGFyLmd6IiAKK1MgPSAiJHtXT1JLRElSfS8ke1NSQ05BTUV9LSR7UFZ9IiAKKworaW5oZXJpdCBzZXR1cHRvb2xzICAKKworU1JDX1VSSVttZDVzdW1dID0gImM5Njg2ZGQ3NGQzOWZkYWUxNDA4OTBkOWM2OTRjMDc2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjU5NDExMzExN2YyMDE3ZWQ4MzdjOGYzY2U3Mjc2MTZmOTA1M2JhYTVhNTQ2M2E3NDIwYzgyNDliOGZjNTU2ZjUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi13ZWJkYXZfMC4xLjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi13ZWJkYXZfMC4xLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2E2NDM3ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXdlYmRhdl8wLjEuMi5iYgpAQCAtMCwwICsxLDE5IEBACitERVNDUklQVElPTiA9ICJUaGlzIHByb2plY3QgYWltcyB0byBwcm92aWRlIGFuIG9iamVjdC1vcmllbnRlZCBQeXRob24gV2ViREFWIGNsaWVudC1zaWRlIGxpYnJhcnlcCisgICAgICAgICAgICAgICBiYXNlZCBvbiBQeXRob25gcyBzdGFuZGFyZCBodHRwbGliIGFuZCBHcmVnIFN0ZWluYHMgZGF2bGliLlwKKyAgICAgICAgICAgICAgIFRoZSBjbGllbnQgc2hhbGwgZnVsbHkgc3VwcG9ydCBSRkNzIDQ5MTggKGJhc2ljIHNwZWNpZmljYXRpb24pLFwKKyAgICAgICAgICAgICAgIDM3NDQgKGFjY2VzcyBjb250cm9sKSwgYW5kIDMyNTMgKHZlcnNpb25pbmcpLiIKK1NFQ1RJT04gPSAiZGV2ZWwvcHl0aG9uIgorTElDRU5TRSA9ICJBcGFjaGUtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vc3JjL3dlYmRhdi9XZWJkYXZDbGllbnQucHk7ZW5kbGluZT0xNTttZDU9YTE1MjBmYWQ4NTlmZWI3YjBkN2YwNTI3N2JjNmNlNDgiCitIT01FUEFHRSA9ICJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL3B5dGhvbndlYmRhdmxpYi8iCitTUkNOQU1FID0gIlB5dGhvbl9XZWJEQVZfTGlicmFyeSIKK0RFUEVORFMgPSAicHl0aG9uIgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9weXRob253ZWJkYXZsaWIvUHl0aG9uJTIwV2ViREFWJTIwTGlicmFyeSUyMC0lMjAke1BWfS8ke1NSQ05BTUV9LSR7UFZ9LnppcCIKK1NSQ19VUklbbWQ1c3VtXSA9ICI4ZTQ5ZTBlY2M1YjQzMjdjNGY3NTJhNTQ0ZWUxMGUxYSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3MmMwMjlhZDFlMjVkZTk1MGY1OWMyZjE4MTJkMDA5ZDJjMTY5MWI3MGU0YjViMDlmMWFmOTAwNmU4ZmQ1ZjIzIgorCitTID0gIiR7V09SS0RJUn0vJHtTUkNOQU1FfS0ke1BWfSIKKworaW5oZXJpdCBkaXN0dXRpbHMKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24td2Vya3pldWcuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24td2Vya3pldWcuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdiNTQ0NjkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi13ZXJremV1Zy5pbmMKQEAgLTAsMCArMSwzMCBAQAorU1VNTUFSWSA9ICJUaGUgU3dpc3MgQXJteSBrbmlmZSBvZiBQeXRob24gd2ViIGRldmVsb3BtZW50IgorREVTQ1JJUFRJT04gPSAiXAorV2Vya3pldWcgc3RhcnRlZCBhcyBzaW1wbGUgY29sbGVjdGlvbiBvZiB2YXJpb3VzIHV0aWxpdGllcyBmb3IgV1NHSSBcCithcHBsaWNhdGlvbnMgYW5kIGhhcyBiZWNvbWUgb25lIG9mIHRoZSBtb3N0IGFkdmFuY2VkIFdTR0kgdXRpbGl0eSBtb2R1bGVzLiBcCitJdCBpbmNsdWRlcyBhIHBvd2VyZnVsIGRlYnVnZ2VyLCBmdWxsIGZlYXR1cmVkIHJlcXVlc3QgYW5kIHJlc3BvbnNlIG9iamVjdHMsIFwKK0hUVFAgdXRpbGl0aWVzIHRvIGhhbmRsZSBlbnRpdHkgdGFncywgY2FjaGUgY29udHJvbCBoZWFkZXJzLCBIVFRQIGRhdGVzLCBcCitjb29raWUgaGFuZGxpbmcsIGZpbGUgdXBsb2FkcywgYSBwb3dlcmZ1bCBVUkwgcm91dGluZyBzeXN0ZW0gYW5kIGEgYnVuY2ggXAorb2YgY29tbXVuaXR5IGNvbnRyaWJ1dGVkIGFkZG9uIG1vZHVsZXMuIgorSE9NRVBBR0UgPSAiaHR0cDovL3dlcmt6ZXVnLnBvY29vLm9yZy8iCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWE2OGY1MzYxYTJiMmNhOWZkZjI2YjM4YWFlY2I2ZmFhIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZGFmNDQzYTkzOTQ1OWUxMmYxNGZkMmU0NjU4YTI2ZGYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYWZkYjA0ZjE4M2VlZjNiMjA4MjdlYjQ1MjBkY2I3NWMxY2QxZjBiYTdhN2RlM2Y0NjNmZjdhNDYyZWVlODE2NCIKKworUFlQSV9QQUNLQUdFID0gIldlcmt6ZXVnIgorCitSREVQRU5EU18ke1BOfSArPSAiIFwKKyAgICBweXRob24tZGlmZmxpYiBcCisgICAgcHl0aG9uLWVtYWlsIFwKKyAgICBweXRob24taHRtbCBcCisgICAgcHl0aG9uLWpzb24gXAorICAgIHB5dGhvbi1uZXRzZXJ2ZXIgXAorICAgIHB5dGhvbi1udW1iZXJzIFwKKyAgICBweXRob24tcGtndXRpbCBcCisgICAgcHl0aG9uLXN1YnByb2Nlc3MgXAorICAgIHB5dGhvbi10aHJlYWRpbmcgXAorICAgIHB5dGhvbi11bml4YWRtaW4gXAorICAgIHB5dGhvbi16bGliIFwKKyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXdlcmt6ZXVnXzAuMTEuNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXdlcmt6ZXVnXzAuMTEuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZDE0NjA4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24td2Vya3pldWdfMC4xMS41LmJiCkBAIC0wLDAgKzEsMiBAQAoraW5oZXJpdCBweXBpIHNldHVwdG9vbHMKK3JlcXVpcmUgcHl0aG9uLXdlcmt6ZXVnLmluYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24td2hvb3NoLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXdob29zaC5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGEyY2YzYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXdob29zaC5pbmMKQEAgLTAsMCArMSwxNCBAQAorU1VNTUFSWSA9ICJGYXN0LCBwdXJlLVB5dGhvbiBmdWxsIHRleHQgaW5kZXhpbmcsIHNlYXJjaCwgYW5kIHNwZWxsIGNoZWNraW5nIGxpYnJhcnkuIgorREVTQ1JJUFRJT04gPSAiXAorV2hvb3NoIGlzIGEgZmFzdCwgZmVhdHVyZWZ1bCBmdWxsLXRleHQgaW5kZXhpbmcgYW5kIHNlYXJjaGluZyBsaWJyYXJ5IFwKK2ltcGxlbWVudGVkIGluIHB1cmUgUHl0aG9uLiBQcm9ncmFtbWVycyBjYW4gdXNlIGl0IHRvIGVhc2lseSBhZGQgc2VhcmNoIFwKK2Z1bmN0aW9uYWxpdHkgdG8gdGhlaXIgYXBwbGljYXRpb25zIGFuZCB3ZWJzaXRlcy4gRXZlcnkgcGFydCBvZiBob3cgXAorV2hvb3NoIHdvcmtzIGNhbiBiZSBleHRlbmRlZCBvciByZXBsYWNlZCB0byBtZWV0IHlvdXIgbmVlZHMgZXhhY3RseS4iCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UudHh0O21kNT0wNTMwMzE4NmRlZmM2MTQxMTQzNjI5OTYxYzdjOGE2MCIKKworU1JDX1VSSVttZDVzdW1dID0gIjg5MzQzM2U5YzA1MjVhYzA0M2RmMzNlNmUwNGNhYWIyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImUwODU3Mzc1ZjYzZTkwNDFlMDNmZWRkNWI3NTQxZjk3Y2Y3ODkxN2FjMWI2YjA2YzFmY2M5YjQ1Mzc1ZGRhNjkiCisKK1BZUElfUEFDS0FHRSA9ICJXaG9vc2giCitQWVBJX1BBQ0tBR0VfRVhUID0gInppcCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXdob29zaF8yLjcuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXdob29zaF8yLjcuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OGRmMzYwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24td2hvb3NoXzIuNy40LmJiCkBAIC0wLDAgKzEsMiBAQAoraW5oZXJpdCBweXBpIHNldHVwdG9vbHMKK3JlcXVpcmUgcHl0aG9uLXdob29zaC5pbmMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXd0Zm9ybXNfMi4wLjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi13dGZvcm1zXzIuMC4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFlNjA1ZDUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi13dGZvcm1zXzIuMC4yLmJiCkBAIC0wLDAgKzEsMTMgQEAKK0RFU0NSSVBUSU9OID0gIkEgZmxleGlibGUgZm9ybXMgdmFsaWRhdGlvbiBhbmQgcmVuZGVyaW5nIGxpYnJhcnkgZm9yIHB5dGhvbiB3ZWIgZGV2ZWxvcG1lbnQuIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9weXBpLnB5dGhvbi5vcmcvcHlwaS9XVEZvcm1zIgorU0VDVElPTiA9ICJkZXZlbC9weXRob24iCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1BLRy1JTkZPO21kNT1lOTM3N2Y1ZTRiZmFkODJiNDBlZDYzZjBmZDRkMWNjZSIKKworU1JDX1VSSVttZDVzdW1dID0gIjYxM2NmNzIzYWI0MDUzNzcwNWJlYzAyNzMzYzc4ZDk1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjEwNzM3NzU4Y2VhZTAzYjUzMDIxZjNhYTdlODFiZmM4ZGQ2ZjY3OWM4NzlmZmViNWU2NGFjNjU3MGZhY2I2YzEiCisKK1BZUElfUEFDS0FHRSA9ICJXVEZvcm1zIgorUFlQSV9QQUNLQUdFX0VYVCA9ICJ6aXAiCisKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi14bHJkLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXhscmQuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNjMGQyNmQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi14bHJkLmluYwpAQCAtMCwwICsxLDEwIEBACitTVU1NQVJZID0gIkxpYnJhcnkgZm9yIGRldmVsb3BlcnMgdG8gZXh0cmFjdCBkYXRhIGZyb20gTWljcm9zb2Z0IEV4Y2VsICh0bSkgc3ByZWFkc2hlZXQgZmlsZXMiCitERVNDUklQVElPTiA9ICJFeHRyYWN0IGRhdGEgZnJvbSBFeGNlbCBzcHJlYWRzaGVldHMgKC54bHMgYW5kIC54bHN4LFwKKyB2ZXJzaW9ucyAyLjAgb253YXJkcykgb24gYW55IHBsYXRmb3JtLiBQdXJlIFB5dGhvbiAoMi42LCAyLjcsIDMuMispLiBcCitTdHJvbmcgc3VwcG9ydCBmb3IgRXhjZWwgZGF0ZXMuIFVuaWNvZGUtYXdhcmUuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5weXRob24tZXhjZWwub3JnLyIKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8veGxyZC9saWNlbmNlcy5weTttZDU9YjU5ZGFjZTVjYzFkYjYwNGM0MjE5MTAwYjA0MjI4MTEiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI5MTE4MzlmNTM0ZDI5ZmUwNDUyNWVmOGNkODhmZTg2NSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4ZThkMzM1OWYzOTU0MWE2ZmY5MzdmNDAzMGRiNTQ4NjQ4MzZhMDZlNDI5ODhjNDUyZGI1YjZiODZkMjllYTcyIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24teGxyZF8wLjkuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXhscmRfMC45LjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2E0ZDcwOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXhscmRfMC45LjQuYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHB5cGkgc2V0dXB0b29scworcmVxdWlyZSBweXRob24teGxyZC5pbmMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXpvcGVpbnRlcmZhY2VfNC4xLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi16b3BlaW50ZXJmYWNlXzQuMS4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE1ZjhlMjAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi16b3BlaW50ZXJmYWNlXzQuMS4xLmJiCkBAIC0wLDAgKzEsMTggQEAKK1NVTU1BUlkgPSAiSW50ZXJmYWNlIGRlZmluaXRpb25zIGZvciBab3BlIHByb2R1Y3RzIgorTElDRU5TRSA9ICJaUEwtMi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUEtHLUlORk87YmVnaW5saW5lPTg7ZW5kbGluZT04O21kNT1lNTRmZDc3NjI3NGMxYjc0MjNlYzEyODk3NGJkOWQ0NiIKKworU1JDX1VSSVttZDVzdW1dID0gImVkY2Q1ZjcxOWM1ZWIyZTE4ODk0YzRkMDZlMjliNmM2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjkxY2JhN2I3Y2Q3Y2I4MmY2ZjRlMDIzZmU3N2Y5NGRjM2RmNGFlNTI4N2ZkNTVkZWYyMTQ4ZGMyMzJkMGM3ZGEiCisKK1BZUElfUEFDS0FHRSA9ICJ6b3BlLmludGVyZmFjZSIKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCisKK1JQUk9WSURFU18ke1BOfSArPSAiem9wZS1pbnRlcmZhY2VzIgorRklMRVNfJHtQTn0tZGJnICs9ICIke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS8qLmVnZy8qLyovLmRlYnVnIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS96b3BlL2ludGVyZmFjZS8qLmMiCitGSUxFU18ke1BOfS1kb2MgKz0gIiR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9L3pvcGUvaW50ZXJmYWNlLyoudHh0IgorRklMRVNfJHtQTn0tdGVzdHMgPSAiIFwKKyAgICAgICAgJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vem9wZS9pbnRlcmZhY2UvdGVzdHMgXAorICAgICAgICAke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS96b3BlL2ludGVyZmFjZS9jb21tb24vdGVzdHMgXAorIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWNlcnRpZmlfMjAxNi4yLjI4LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWNlcnRpZmlfMjAxNi4yLjI4LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcwZjY3NGIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtY2VydGlmaV8yMDE2LjIuMjguYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHB5cGkgc2V0dXB0b29sczMKK3JlcXVpcmUgcHl0aG9uLWNlcnRpZmkuaW5jCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtY3l0aG9uXzAuMjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtY3l0aG9uXzAuMjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmNlNmJkYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1jeXRob25fMC4yNC5iYgpAQCAtMCwwICsxLDE4IEBACitpbmhlcml0IHNldHVwdG9vbHMzCityZXF1aXJlIHB5dGhvbi1jeXRob24uaW5jCisKK1JERVBFTkRTXyR7UE59ICs9ICJcCisgICAgcHl0aG9uMy1zZXR1cHRvb2xzIFwKKyIKKworIyBydW5uaW5nIGJ1aWxkX2V4dCBhIHNlY29uZCB0aW1lIGR1cmluZyBpbnN0YWxsIGZhaWxzLCBiZWNhdXNlIFB5dGhvbgorIyB3b3VsZCB0aGVuIGF0dGVtcHQgdG8gaW1wb3J0IGN5dGhvbml6ZWQgbW9kdWxlcyBidWlsdCBmb3IgdGhlIHRhcmdldAorIyBhcmNoaXRlY3R1cmUuCitESVNUVVRJTFNfSU5TVEFMTF9BUkdTICs9ICItLXNraXAtYnVpbGQiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgICMgcmVuYW1lIHNjcmlwdHMgdGhhdCB3b3VsZCBjb25mbGljdCB3aXRoIHRoZSBQeXRob24gMiBidWlsZCBvZiBDeXRob24KKyAgICBtdiAke0R9JHtiaW5kaXJ9L2N5dGhvbiAke0R9JHtiaW5kaXJ9L2N5dGhvbjMKKyAgICBtdiAke0R9JHtiaW5kaXJ9L2N5dGhvbml6ZSAke0R9JHtiaW5kaXJ9L2N5dGhvbml6ZTMKKyAgICBtdiAke0R9JHtiaW5kaXJ9L2N5Z2RiICR7RH0ke2JpbmRpcn0vY3lnZGIzCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtZGF0ZXV0aWxfMi41LjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtZGF0ZXV0aWxfMi41LjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWQyYmFmNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1kYXRldXRpbF8yLjUuMi5iYgpAQCAtMCwwICsxLDIgQEAKK2luaGVyaXQgc2V0dXB0b29sczMKK3JlcXVpcmUgcHl0aG9uLWRhdGV1dGlsLmluYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWRlY29yYXRvcl80LjAuOS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1kZWNvcmF0b3JfNC4wLjkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODQ0Y2JkYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1kZWNvcmF0b3JfNC4wLjkuYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHNldHVwdG9vbHMzCityZXF1aXJlIHB5dGhvbi1kZWNvcmF0b3IuaW5jCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtZmVlZGZvcm1hdHRlcl8wLjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtZmVlZGZvcm1hdHRlcl8wLjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTVhNTQwNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1mZWVkZm9ybWF0dGVyXzAuNC5iYgpAQCAtMCwwICsxLDIgQEAKK2luaGVyaXQgc2V0dXB0b29sczMKK3JlcXVpcmUgcHl0aG9uLWZlZWRmb3JtYXR0ZXIuaW5jCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtZmxhc2stbG9naW5fMC4yLjExLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWZsYXNrLWxvZ2luXzAuMi4xMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZDIzZmUxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWZsYXNrLWxvZ2luXzAuMi4xMS5iYgpAQCAtMCwwICsxLDIgQEAKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzMworcmVxdWlyZSBweXRob24tZmxhc2stbG9naW4uaW5jCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtZmxhc2stcHltb25nb18wLjQuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1mbGFzay1weW1vbmdvXzAuNC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIxMDI1NTQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtZmxhc2stcHltb25nb18wLjQuMC5iYgpAQCAtMCwwICsxLDIgQEAKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzMworcmVxdWlyZSBweXRob24tZmxhc2stcHltb25nby5pbmMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1mbGFza18wLjEwLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtZmxhc2tfMC4xMC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNkNDM5OTAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtZmxhc2tfMC4xMC4xLmJiCkBAIC0wLDAgKzEsMiBAQAoraW5oZXJpdCBweXBpIHNldHVwdG9vbHMzCityZXF1aXJlIHB5dGhvbi1mbGFzay5pbmMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1pdHNkYW5nZXJvdXNfMC4yNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1pdHNkYW5nZXJvdXNfMC4yNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZDMwODI1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWl0c2Rhbmdlcm91c18wLjI0LmJiCkBAIC0wLDAgKzEsMiBAQAoraW5oZXJpdCBweXBpIHNldHVwdG9vbHMzCityZXF1aXJlIHB5dGhvbi1pdHNkYW5nZXJvdXMuaW5jCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtamluamEyXzIuOC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1qaW5qYTJfMi44LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYxMTU2YjYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtamluamEyXzIuOC5iYgpAQCAtMCwwICsxLDIgQEAKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzMworcmVxdWlyZSBweXRob24tamluamEyLmluYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWx4bWxfMy42LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtbHhtbF8zLjYuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZjRiYzdmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWx4bWxfMy42LjAuYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHNldHVwdG9vbHMzCityZXF1aXJlIHB5dGhvbi1seG1sLmluYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLW1hcmt1cHNhZmVfMC4yMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1tYXJrdXBzYWZlXzAuMjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzY1ZTNjOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1tYXJrdXBzYWZlXzAuMjMuYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHNldHVwdG9vbHMzCityZXF1aXJlIHB5dGhvbi1tYXJrdXBzYWZlLmluYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXBhc3NsaWJfMS42LjUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcGFzc2xpYl8xLjYuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xODE4MGEwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXBhc3NsaWJfMS42LjUuYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHB5cGkgc2V0dXB0b29sczMKK3JlcXVpcmUgcHl0aG9uLXBhc3NsaWIuaW5jClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXB5aW5vdGlmeV8wLjkuNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1weWlub3RpZnlfMC45LjYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjNiYWI5OAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1weWlub3RpZnlfMC45LjYuYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHNldHVwdG9vbHMzCityZXF1aXJlIHB5dGhvbi1weWlub3RpZnkuaW5jCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcHltaXNwXzIuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1weW1pc3BfMi4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ1MjNkOWUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcHltaXNwXzIuMy5iYgpAQCAtMCwwICsxLDIgQEAKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzMworcmVxdWlyZSBweXRob24tcHltaXNwLmluYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXB5bW9uZ29fMy4yLjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcHltb25nb18zLjIuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MTY0YjE4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXB5bW9uZ29fMy4yLjIuYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHB5cGkgc2V0dXB0b29sczMKK3JlcXVpcmUgcHl0aG9uLXB5bW9uZ28uaW5jCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcHlzZXJpYWxfMy4wLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcHlzZXJpYWxfMy4wLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTdlZDNmOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1weXNlcmlhbF8zLjAuMS5iYgpAQCAtMCwwICsxLDcgQEAKK2luaGVyaXQgc2V0dXB0b29sczMKK3JlcXVpcmUgcHl0aG9uLXB5c2VyaWFsLmluYworCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBybSAtZiAke0R9JHtiaW5kaXJ9L21pbml0ZXJtLnB5CisgICAgcm1kaXIgJHtEfSR7YmluZGlyfQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXJlZGlzXzIuMTAuNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1yZWRpc18yLjEwLjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjE5MmVkOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1yZWRpc18yLjEwLjUuYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHB5cGkgc2V0dXB0b29sczMKK3JlcXVpcmUgcHl0aG9uLXJlZGlzLmluYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXJlcXVlc3RzXzIuOS4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXJlcXVlc3RzXzIuOS4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU1MjIwZmEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcmVxdWVzdHNfMi45LjEuYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHB5cGkgc2V0dXB0b29sczMKK3JlcXVpcmUgcHl0aG9uLXJlcXVlc3RzLmluYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXNpeF8xLjEwLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtc2l4XzEuMTAuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43Zjc2MTU3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXNpeF8xLjEwLjAuYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHB5cGkgc2V0dXB0b29sczMKK3JlcXVpcmUgcHl0aG9uLXNpeC5pbmMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy10b3JuYWRvXzQuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy10b3JuYWRvXzQuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZWNjMWYwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXRvcm5hZG9fNC4zLmJiCkBAIC0wLDAgKzEsMiBAQAoraW5oZXJpdCBweXBpIHNldHVwdG9vbHMzCityZXF1aXJlIHB5dGhvbi10b3JuYWRvLmluYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXdlcmt6ZXVnXzAuMTEuNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy13ZXJremV1Z18wLjExLjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWYyZDg2YQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy13ZXJremV1Z18wLjExLjUuYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHB5cGkgc2V0dXB0b29sczMKK3JlcXVpcmUgcHl0aG9uLXdlcmt6ZXVnLmluYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXdob29zaF8yLjcuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy13aG9vc2hfMi43LjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWQ4YWYzMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy13aG9vc2hfMi43LjQuYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHB5cGkgc2V0dXB0b29sczMKK3JlcXVpcmUgcHl0aG9uLXdob29zaC5pbmMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy14bHJkXzAuOS40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXhscmRfMC45LjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjdiZDk2OQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy14bHJkXzAuOS40LmJiCkBAIC0wLDAgKzEsMiBAQAoraW5oZXJpdCBweXBpIHNldHVwdG9vbHMzCityZXF1aXJlIHB5dGhvbi14bHJkLmluYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1weXBhcnRlZC9weXRob24tcHlwYXJ0ZWQvMDAwMS1maXgtdmVyc2lvbi1mbG9hdC1jaGVjay5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tcHlwYXJ0ZWQvcHl0aG9uLXB5cGFydGVkLzAwMDEtZml4LXZlcnNpb24tZmxvYXQtY2hlY2sucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGIzYWI5ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tcHlwYXJ0ZWQvcHl0aG9uLXB5cGFydGVkLzAwMDEtZml4LXZlcnNpb24tZmxvYXQtY2hlY2sucGF0Y2gKQEAgLTAsMCArMSwyNiBAQAorY2hlY2tfbW9kX3ZlcnNpb24gYnJlYWtzIGlmIG1vZHVsZSB2ZXJzaW9uIGlzIG9mIHgueS56IGZvcm0KK3VzZSBhIHJlZ2V4IHRvIGhlbHAgY2FzdCB4LnkueiB2ZXJzaW9uIHRvIGEgZmxvYXQKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK0luZGV4OiBnaXQvc2V0dXAucHkKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnaXQub3JpZy9zZXR1cC5weQorKysrIGdpdC9zZXR1cC5weQorQEAgLTI1LDYgKzI1LDcgQEAgaW1wb3J0IGdsb2IKKyBpbXBvcnQgb3MKKyBpbXBvcnQgcGxhdGZvcm0KKyBpbXBvcnQgc3lzCisraW1wb3J0IHJlCisgZnJvbSBkaXN0dXRpbHMuY2NvbXBpbGVyIGltcG9ydCBuZXdfY29tcGlsZXIKKyBmcm9tIGRpc3R1dGlscy5lcnJvcnMgaW1wb3J0IENvbXBpbGVFcnJvcgorIGZyb20gZGlzdHV0aWxzLmVycm9ycyBpbXBvcnQgTGlua0Vycm9yCitAQCAtNTEsNiArNTIsOCBAQCBkZWYgcGtnY29uZmlnKCpwYWNrYWdlcywgKiprd2FyZ3MpOgorIAorIGRlZiBjaGVja19tb2RfdmVyc2lvbihtb2R1bGUsIHZlcnNpb24pOgorICAgICBtb2R2ZXJzaW9uID0gc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoWyJwa2ctY29uZmlnIiwgIi0tbW9kdmVyc2lvbiIsIG1vZHVsZV0pCisrICAgIG1hdGNoID0gcmUuc2VhcmNoKCcoWzAtOV0rXC5bMC05XSspJywgbW9kdmVyc2lvbikKKysgICAgbW9kdmVyc2lvbiA9IG1hdGNoLmdyb3VwKDApCisgICAgIGlmIG5vdCBmbG9hdChtb2R2ZXJzaW9uKSA+PSBmbG9hdCh2ZXJzaW9uKToKKyAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUoIioqKiBNaW5pbXVtIHJlcXVpcmVkICVzIHZlcnNpb246ICVzLCBmb3VuZDogJXNcbiIgJSAobW9kdWxlLCB2ZXJzaW9uLCBtb2R2ZXJzaW9uLCkpCisgICAgICAgICBzeXMuZXhpdCgxKQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1weXBhcnRlZC9weXRob24tcHlwYXJ0ZWRfMy4xMC43LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1weXBhcnRlZC9weXRob24tcHlwYXJ0ZWRfMy4xMC43LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcxMmM0YjkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLXB5cGFydGVkL3B5dGhvbi1weXBhcnRlZF8zLjEwLjcuYmIKQEAgLTAsMCArMSwyNyBAQAorREVTQ1JJUFRJT04gPSAicHlwYXJ0ZWQgaXMgYSBzZXQgb2YgUHl0aG9uIG1vZHVsZXMgdGhhdCBwcm92aWRlIFB5dGhvbiBwcm9ncmFtbWVycyBcCithbiBpbnRlcmZhY2UgdG8gbGlicGFydGVkLCB0aGUgR05VIHBhcnRlZCBsaWJyYXJ5IGZvciBkaXNrIHBhcnRpdGlvbmluZyBhbmQgXAorZmlsZXN5c3RlbSBtYW5pcHVsYXRpb24uIgorU1VNTUFSWSA9ICJQeXRob24gYmluZGluZ3MgZm9yIGxpYnBhcnRlZCIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9yaGluc3RhbGxlci9weXBhcnRlZCIKK0xJQ0VOU0UgPSAiR1BMLTIuMCsiCitMSUNfRklMRVNfQ0hLU1VNID0gIlwKKyAgICBmaWxlOi8vQ09QWUlORzttZDU9OGNhNDNjYmM4NDJjMjMzNmU4MzU5MjZjMjE2NmMyOGIgXAorICAgIGZpbGU6Ly9zcmMvX3BlZG1vZHVsZS5jO3N0YXJ0bGluZT0xMDtlbmRsaW5lPTIyO21kNT1lYmNiMjVkZGUxYWM5YzQ2ZTk4NmRlYzc5YjQwNGU3ZSBcCisiCitERVBFTkRTICs9ICJwYXJ0ZWQgcHl0aG9uLXJlIgorCitQViA9ICIzLjEwLjcrZ2l0JHtTUkNQVn0iCisKKyMgdXBzdHJlYW0gb25seSBwdWJsaXNoZXMgcmVsZWFzZXMgaW4gZ2l0aHViIGFyY2hpdmVzIHdoaWNoIGFyZSBkaXNjb3VyYWdlZAorU1JDUkVWID0gIjY5YzRhNDc4ZTQzZDNlZmY2YWUzYTAxMTZmYTM4ZGEwNjc3NmQ1ZjUiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vcmhpbnN0YWxsZXIvcHlwYXJ0ZWQuZ2l0O3Byb3RvY29sPWh0dHBzIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtZml4LXZlcnNpb24tZmxvYXQtY2hlY2sucGF0Y2ggXAorIgorUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBkaXN0dXRpbHMKKworUkRFUEVORFNfJHtQTn0gKz0gInB5dGhvbi1zdHJpbmdvbGQgcHl0aG9uLWNvZGVjcyBweXRob24tbWF0aCBwYXJ0ZWQgKD49IDIuMykiCitSREVQRU5EU18ke1BOfV9jbGFzcy1uYXRpdmUgPSAiIgorCitCQkNMQVNTRVhURU5EICs9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcnVieS9DT1BZSU5HLk1JVCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1ydWJ5L0NPUFlJTkcuTUlUCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZiOTUwZGMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcnVieS9DT1BZSU5HLk1JVApAQCAtMCwwICsxLDE3IEBACitQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5IAorb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwgCitpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIAordG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCAKK2NvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyAKK2Z1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisKK1RoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIAorYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisKK1RIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SIAorSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksIAorRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIAorQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiAKK0xJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIAorT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiAKK1RIRSBTT0ZUV0FSRS4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1ydWJ5L1JFQURNRSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1ydWJ5L1JFQURNRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xN2ZkZGU5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXJ1YnkvUkVBRE1FCkBAIC0wLDAgKzEsMTcgQEAKK1RoaXMgbGF5ZXIgZGVwZW5kcyBvbjoKKworVVJJOiBnaXQ6Ly9naXRodWIuY29tL29wZW5lbWJlZGRlZC9vZS1jb3JlLmdpdAorYnJhbmNoOiBrcm9nb3RoCityZXZpc2lvbjogSEVBRAorCitVUkk6IGdpdDovL2dpdGh1Yi5jb20vb3BlbmVtYmVkZGVkL21ldGEtb2UuZ2l0CiticmFuY2g6IGtyb2dvdGgKK3JldmlzaW9uOiBIRUFECisKK1NlbmQgcHVsbCByZXF1ZXN0cyB0byBvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZyB3aXRoICdbbWV0YS1ydWJ5XVtrcm9nb3RoXScgaW4gdGhlIHN1YmplY3QnCisKK1doZW4gc2VuZGluZyBzaW5nbGUgcGF0Y2hlcywgcGxlYXNlIHVzaW5nIHNvbWV0aGluZyBsaWtlOgorJ2dpdCBzZW5kLWVtYWlsIC1NIC0xIC0tdG8gb3BlbmVtYmVkZGVkLWRldmVsQGxpc3RzLm9wZW5lbWJlZGRlZC5vcmcgLS1zdWJqZWN0LXByZWZpeD1tZXRhLXJ1YnldW2tyb2dvdGhdW1BBVENIJworCitrcm9nb3RoIEJyYW5jaCBNYWludGFpbmVyOgorQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1ydWJ5L2NsYXNzZXMvcnVieS5iYmNsYXNzIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXJ1YnkvY2xhc3Nlcy9ydWJ5LmJiY2xhc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWY4NDRmMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1ydWJ5L2NsYXNzZXMvcnVieS5iYmNsYXNzCkBAIC0wLDAgKzEsMTMxIEBACitCUFYgPz0gIiR7UFZ9IgorCitERVBFTkRTICs9ICIgXAorICAgIHJ1YnktbmF0aXZlIFwKKyIKK1JERVBFTkRTXyR7UE59ICs9ICIgXAorICAgIHJ1YnkgXAorIgorCitkZWYgZ2V0X3J1Ynl2ZXJzaW9uKHApOgorICAgIGltcG9ydCByZQorICAgIGZyb20gb3MucGF0aCBpbXBvcnQgaXNmaWxlCisgICAgaW1wb3J0IHN1YnByb2Nlc3MKKyAgICBmb3VuZF92ZXJzaW9uID0gIlNPTUVUSElORyBGQUlMRUQhIgorCisgICAgY21kID0gIiVzL3J1YnkiICUgcAorCisgICAgaWYgbm90IGlzZmlsZShjbWQpOgorICAgICAgIHJldHVybiBmb3VuZF92ZXJzaW9uCisKKyAgICB2ZXJzaW9uID0gc3VicHJvY2Vzcy5Qb3BlbihbY21kLCAiLS12ZXJzaW9uIl0sIHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUpLmNvbW11bmljYXRlKClbMF0KKyAgICAKKyAgICByID0gcmUuY29tcGlsZSgicnVieSAoWzAtOV0rXC5bMC05XStcLlswLTldKykqIikKKyAgICBtID0gci5tYXRjaCh2ZXJzaW9uKQorICAgIGlmIG06CisgICAgICAgIGZvdW5kX3ZlcnNpb24gPSBtLmdyb3VwKDEpCisKKyAgICByZXR1cm4gZm91bmRfdmVyc2lvbgorCitkZWYgZ2V0X3J1YnlnZW1zbG9jYXRpb24ocCk6CisgICAgaW1wb3J0IHJlCisgICAgZnJvbSBvcy5wYXRoIGltcG9ydCBpc2ZpbGUKKyAgICBpbXBvcnQgc3VicHJvY2VzcworICAgIGZvdW5kX2xvYyA9ICJTT01FVEhJTkcgRkFJTEVEISIKKworICAgIGNtZCA9ICIlcy9nZW0iICUgcAorCisgICAgaWYgbm90IGlzZmlsZShjbWQpOgorICAgICAgIHJldHVybiBmb3VuZF9sb2MKKworICAgIGxvYyA9IHN1YnByb2Nlc3MuUG9wZW4oW2NtZCwgImVudiJdLCBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFKS5jb21tdW5pY2F0ZSgpWzBdCisKKyAgICByID0gcmUuY29tcGlsZSgiLipcLSAoL3Vzci4qL3J1YnkvZ2Vtcy8uKikiKQorICAgIGZvciBsaW5lIGluIGxvYy5zcGxpdCgnXG4nKToKKyAgICAgICAgbSA9IHIubWF0Y2gobGluZSkKKyAgICAgICAgaWYgbToKKyAgICAgICAgICAgIGZvdW5kX2xvYyA9IG0uZ3JvdXAoMSkKKyAgICAgICAgICAgIGJyZWFrCisKKyAgICByZXR1cm4gZm91bmRfbG9jCisKK2RlZiBnZXRfcnVieWdlbXN2ZXJzaW9uKHApOgorICAgIGltcG9ydCByZQorICAgIGZyb20gb3MucGF0aCBpbXBvcnQgaXNmaWxlCisgICAgaW1wb3J0IHN1YnByb2Nlc3MKKyAgICBmb3VuZF92ZXJzaW9uID0gIlNPTUVUSElORyBGQUlMRUQhIgorCisgICAgY21kID0gIiVzL2dlbSIgJSBwCisKKyAgICBpZiBub3QgaXNmaWxlKGNtZCk6CisgICAgICAgcmV0dXJuIGZvdW5kX3ZlcnNpb24KKworICAgIHZlcnNpb24gPSBzdWJwcm9jZXNzLlBvcGVuKFtjbWQsICJlbnYiLCAiZ2VtZGlyIl0sIHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUpLmNvbW11bmljYXRlKClbMF0KKyAgICAKKyAgICByID0gcmUuY29tcGlsZSgiLiooWzAtOV0rXC5bMC05XStcLlswLTldKykkIikKKyAgICBtID0gci5tYXRjaCh2ZXJzaW9uKQorICAgIGlmIG06CisgICAgICAgIGZvdW5kX3ZlcnNpb24gPSBtLmdyb3VwKDEpCisKKyAgICByZXR1cm4gZm91bmRfdmVyc2lvbgorCitSVUJZX1ZFUlNJT04gPz0gIiR7QGdldF9ydWJ5dmVyc2lvbigiJHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9Iil9IgorUlVCWV9HRU1fRElSRUNUT1JZID89ICIke0BnZXRfcnVieWdlbXNsb2NhdGlvbigiJHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9Iil9IgorUlVCWV9HRU1fVkVSU0lPTiA/PSAiJHtAZ2V0X3J1YnlnZW1zdmVyc2lvbigiJHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9Iil9IgorCitleHBvcnQgR0VNX0hPTUUgPSAiJHtTVEFHSU5HX0RJUl9OQVRJVkV9L3Vzci9saWIvcnVieS9nZW1zLyR7UlVCWV9HRU1fVkVSU0lPTn0iCisKK1JVQllfQlVJTERfR0VNUyA/PSAiJHtCUE59LmdlbXNwZWMiCitSVUJZX0lOU1RBTExfR0VNUyA/PSAiJHtCUE59LSR7QlBWfS5nZW0iCisKK1JVQllfQ09NUElMRV9GTEFHUyA/PSAnTEFORz0iZW5fVVMuVVRGLTgiIExDX0FMTD0iZW5fVVMuVVRGLTgiJworCitydWJ5X2RvX2NvbXBpbGUoKSB7CisJZm9yIGdlbSBpbiAke1JVQllfQlVJTERfR0VNU307IGRvCisJCSR7UlVCWV9DT01QSUxFX0ZMQUdTfSBnZW0gYnVpbGQgJGdlbQorCWRvbmUKK30KKworCitydWJ5X2RvX2luc3RhbGwoKSB7CisJZm9yIGdlbSBpbiAke1JVQllfSU5TVEFMTF9HRU1TfTsgZG8KKwkJZ2VtIGluc3RhbGwgLS1pZ25vcmUtZGVwZW5kZW5jaWVzIC0tbG9jYWwgLS1lbnYtc2hlYmFuZyAtLWluc3RhbGwtZGlyICR7RH0vJHtsaWJkaXJ9L3J1YnkvZ2Vtcy8ke1JVQllfR0VNX1ZFUlNJT059LyAkZ2VtCisJZG9uZQorCisJIyBjcmVhdGUgc3ltbGluayBmcm9tIHRoZSBnZW1zIGJpbiBkaXJlY3RvcnkgdG8gL3Vzci9iaW4KKwlmb3IgaSBpbiAke0R9LyR7bGliZGlyfS9ydWJ5L2dlbXMvJHtSVUJZX0dFTV9WRVJTSU9OfS9iaW4vKjsgZG8KKwkJaWYgWyAtZSAiJGkiIF07IHRoZW4KKwkJCWlmIFsgISAtZCAke0R9LyR7YmluZGlyfSBdOyB0aGVuIG1rZGlyIC1wICR7RH0vJHtiaW5kaXJ9OyBmaQorCQkJYj1gYmFzZW5hbWUgJGlgCisJCQlsbiAtc2YgJHtsaWJkaXJ9L3J1YnkvZ2Vtcy8ke1JVQllfR0VNX1ZFUlNJT059L2Jpbi8kYiAke0R9LyR7YmluZGlyfS8kYgorCQlmaQorCWRvbmUKK30KKworRVhQT1JUX0ZVTkNUSU9OUyBkb19jb21waWxlIGRvX2luc3RhbGwKKworUEFDS0FHRVMgPSAiJHtQTn0tZGJnICR7UE59ICR7UE59LWRvYyAke1BOfS1kZXYiCisKK0ZJTEVTXyR7UE59LWRiZyArPSAiIFwKKyAgICAgICAgJHtsaWJkaXJ9L3J1YnkvZ2Vtcy8ke1JVQllfR0VNX1ZFUlNJT059L2dlbXMvKi8qLy5kZWJ1ZyBcCisgICAgICAgICR7bGliZGlyfS9ydWJ5L2dlbXMvJHtSVUJZX0dFTV9WRVJTSU9OfS9nZW1zLyovKi8qLy5kZWJ1ZyBcCisgICAgICAgICR7bGliZGlyfS9ydWJ5L2dlbXMvJHtSVUJZX0dFTV9WRVJTSU9OfS9nZW1zLyovKi8qLyovLmRlYnVnIFwKKyAgICAgICAgJHtsaWJkaXJ9L3J1YnkvZ2Vtcy8ke1JVQllfR0VNX1ZFUlNJT059L2dlbXMvKi8qLyovKi8qLy5kZWJ1ZyBcCisgICAgICAgICR7bGliZGlyfS9ydWJ5L2dlbXMvJHtSVUJZX0dFTV9WRVJTSU9OfS9leHRlbnNpb25zLyovKi8uZGVidWcgXAorICAgICAgICAke2xpYmRpcn0vcnVieS9nZW1zLyR7UlVCWV9HRU1fVkVSU0lPTn0vZXh0ZW5zaW9ucy8qLyovKi8uZGVidWcgXAorICAgICAgICAke2xpYmRpcn0vcnVieS9nZW1zLyR7UlVCWV9HRU1fVkVSU0lPTn0vZXh0ZW5zaW9ucy8qLyovKi8qLy5kZWJ1ZyBcCisgICAgICAgICR7bGliZGlyfS9ydWJ5L2dlbXMvJHtSVUJZX0dFTV9WRVJTSU9OfS9leHRlbnNpb25zLyovKi8qLyovKi8uZGVidWcgXAorICAgICAgICAiCisKK0ZJTEVTXyR7UE59ICs9ICIgXAorICAgICAgICAke2xpYmRpcn0vcnVieS9nZW1zLyR7UlVCWV9HRU1fVkVSU0lPTn0vZ2VtcyBcCisgICAgICAgICR7bGliZGlyfS9ydWJ5L2dlbXMvJHtSVUJZX0dFTV9WRVJTSU9OfS9jYWNoZSBcCisgICAgICAgICR7bGliZGlyfS9ydWJ5L2dlbXMvJHtSVUJZX0dFTV9WRVJTSU9OfS9iaW4gXAorICAgICAgICAke2xpYmRpcn0vcnVieS9nZW1zLyR7UlVCWV9HRU1fVkVSU0lPTn0vc3BlY2lmaWNhdGlvbnMgXAorICAgICAgICAke2xpYmRpcn0vcnVieS9nZW1zLyR7UlVCWV9HRU1fVkVSU0lPTn0vYnVpbGRfaW5mbyBcCisgICAgICAgICR7bGliZGlyfS9ydWJ5L2dlbXMvJHtSVUJZX0dFTV9WRVJTSU9OfS9leHRlbnNpb25zIFwKKyAgICAgICAgIgorCitGSUxFU18ke1BOfS1kb2MgKz0gIiBcCisgICAgICAgICR7bGliZGlyfS9ydWJ5L2dlbXMvJHtSVUJZX0dFTV9WRVJTSU9OfS9kb2MgXAorICAgICAgICAiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcnVieS9jb25mL2xheWVyLmNvbmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcnVieS9jb25mL2xheWVyLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjUyNmE1ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1ydWJ5L2NvbmYvbGF5ZXIuY29uZgpAQCAtMCwwICsxLDE1IEBACisjIFdlIGhhdmUgYSBjb25mIGFuZCBjbGFzc2VzIGRpcmVjdG9yeSwgYXBwZW5kIHRvIEJCUEFUSCAKK0JCUEFUSCAuPSAiOiR7TEFZRVJESVJ9IgorCisjIFdlIGhhdmUgYSByZWNpcGVzIGRpcmVjdG9yeSwgYWRkIHRvIEJCRklMRVMKK0JCRklMRVMgKz0gIiR7TEFZRVJESVJ9L3JlY2lwZXMtKi8qLyouYmIgJHtMQVlFUkRJUn0vcmVjaXBlcy0qLyovKi5iYmFwcGVuZCIKKworQkJGSUxFX0NPTExFQ1RJT05TICs9ICJydWJ5LWxheWVyIgorQkJGSUxFX1BBVFRFUk5fcnVieS1sYXllciA6PSAiXiR7TEFZRVJESVJ9LyIKK0JCRklMRV9QUklPUklUWV9ydWJ5LWxheWVyID0gIjciCisKKyMgVGhpcyBzaG91bGQgb25seSBiZSBpbmNyZW1lbnRlZCBvbiBzaWduaWZpY2FudCBjaGFuZ2VzIHRoYXQgd2lsbAorIyBjYXVzZSBjb21wYXRpYmlsaXR5IGlzc3VlcyB3aXRoIG90aGVyIGxheWVycworTEFZRVJWRVJTSU9OX3J1YnktbGF5ZXIgPSAiMSIKKworTEFZRVJERVBFTkRTX3J1YnktbGF5ZXIgPSAiY29yZSBvcGVuZW1iZWRkZWQtbGF5ZXIiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcnVieS9yZWNpcGVzLWRldnRvb2xzL3J1YnkvYnVuZGxlcl9naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcnVieS9yZWNpcGVzLWRldnRvb2xzL3J1YnkvYnVuZGxlcl9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzFlNzJlNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1ydWJ5L3JlY2lwZXMtZGV2dG9vbHMvcnVieS9idW5kbGVyX2dpdC5iYgpAQCAtMCwwICsxLDMxIEBACitTVU1NQVJZID0gIk1ha2VzIHN1cmUgUnVieSBhcHBsaWNhdGlvbnMgcnVuIHRoZSBzYW1lIGNvZGUgb24gZXZlcnkgbWFjaGluZS4iCitERVNDUklQVElPTiA9ICJCdW5kbGVyIG1ha2VzIHN1cmUgUnVieSBhcHBsaWNhdGlvbnMgcnVuIHRoZSBzYW1lIGNvZGUgXAorb24gZXZlcnkgbWFjaGluZS4gSXQgZG9lcyB0aGlzIGJ5IG1hbmFnaW5nIHRoZSBnZW1zIHRoYXQgdGhlIFwKK2FwcGxpY2F0aW9uIGRlcGVuZHMgb24uIEdpdmVuIGEgbGlzdCBvZiBnZW1zLCBpdCBjYW4gYXV0b21hdGljYWxseSBcCitkb3dubG9hZCBhbmQgaW5zdGFsbCB0aG9zZSBnZW1zLCBhcyB3ZWxsIGFzIGFueSBvdGhlciBnZW1zIG5lZWRlZCBieSBcCit0aGUgZ2VtcyB0aGF0IGFyZSBsaXN0ZWQuIEJlZm9yZSBpbnN0YWxsaW5nIGdlbXMsIGl0IGNoZWNrcyB0aGUgXAordmVyc2lvbnMgb2YgZXZlcnkgZ2VtIHRvIG1ha2Ugc3VyZSB0aGF0IHRoZXkgYXJlIGNvbXBhdGlibGUsIGFuZCBjYW4gXAorYWxsIGJlIGxvYWRlZCBhdCB0aGUgc2FtZSB0aW1lLiBBZnRlciB0aGUgZ2VtcyBoYXZlIGJlZW4gaW5zdGFsbGVkLCBcCitCdW5kbGVyIGNhbiBoZWxwIHlvdSB1cGRhdGUgc29tZSBvciBhbGwgb2YgdGhlbSB3aGVuIG5ldyB2ZXJzaW9ucyBcCitiZWNvbWUgYXZhaWxhYmxlLiBGaW5hbGx5LCBpdCByZWNvcmRzIHRoZSBleGFjdCB2ZXJzaW9ucyB0aGF0IGhhdmUgXAorYmVlbiBpbnN0YWxsZWQsIHNvIHRoYXQgb3RoZXJzIGNhbiBpbnN0YWxsIHRoZSBleGFjdCBzYW1lIGdlbXMuIgorCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UubWQ7bWQ1PTE5NmJiOTYzZTYwMTYwOTgxN2Q3ZTlhYzlhNjRhODY3IgorCitTUkNSRVYgPSAiMDZkYzg0NzJiOTE0MmZkNmFhZWZmZjc4MGQ2ZDI1MmMyMGRjMmEwNCIKKworQlJBTkNIID0gIjEtOS1zdGFibGUiCitQViA9ICIxLjkuNCIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworU1JDX1VSSSA9ICIgXAorICAgIGdpdDovL2dpdGh1Yi5jb20vYnVuZGxlci9idW5kbGVyLmdpdDticmFuY2g9JHtCUkFOQ0h9IFwKKyAgICAiCisKK2luaGVyaXQgcnVieQorCitSREVQRU5EU18ke1BOfSA9ICJnaXQiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvUkVBRE1FIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvUkVBRE1FCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQzOWUyMzQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9SRUFETUUKQEAgLTAsMCArMSwyNiBAQAorVGhpcyBsYXllciBkZXBlbmRzIG9uOgorCitVUkk6IGdpdDovL2dpdGh1Yi5jb20vb3BlbmVtYmVkZGVkL29lLWNvcmUuZ2l0CiticmFuY2g6IGtyb2dvdGgKK3JldmlzaW9uOiBIRUFECisKK0FuZCB3ZSdyZSB3b3JraW5nIHRvIGJyZWFrIHRoZSBkZXBlbmRlbmN5IG9uIHRoaXMgb25lOgorCitVUkk6IGdpdDovL2dpdGh1Yi5jb20vb3BlbmVtYmVkZGVkL21ldGEtb2UuZ2l0CiticmFuY2g6IGtyb2dvdGgKK3JldmlzaW9uOiBIRUFECisKK1RvIG1ha2UgQkJNQVNLJ2luZyBwZXIgbGF5ZXIgcG9zc2libGUgdGhlIGZvbGxvd2luZyBkaXJlY3Rvcnkgc3RydWN0dXJlIGlzCit1c2VkOgorCiskW0xBWUVSRElSfS88bGF5ZXIgbmFtZT4vcmVjaXBlcy08Z3JvdXAtbmFtZT4vPHJlY2lwZS1uYW1lPi88cmVjaXBlLW5hbWU+LmJiYXBwZW5kCisKK1NlbmQgcHVsbCByZXF1ZXN0cyB0byBvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZyB3aXRoICdbbWV0YS1vZV1bbWV0YS1zeXN0ZW1kXVtrcm9nb3RoXScgaW4gdGhlIHN1YmplY3QnCisKK1doZW4gc2VuZGluZyBzaW5nbGUgcGF0Y2hlcywgcGxlYXNlIHVzZSBzb21ldGhpbmcgbGlrZToKKydnaXQgc2VuZC1lbWFpbCAtTSAtMSAtLXRvIG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnIC0tc3ViamVjdC1wcmVmaXg9bWV0YS1vZV1bbWV0YS1zeXN0ZW1kXVtrcm9nb3RoXVtQQVRDSCcKKworWW91IGFyZSBlbmNvdXJhZ2VkIHRvIGZvcmsgdGhlIG1pcnJvciBvbiBnaXRodWIgaHR0cHM6Ly9naXRodWIuY29tL29wZW5lbWJlZGRlZC9tZXRhLW9lLyB0byBzaGFyZSB5b3VyIHBhdGNoZXMsIHRoaXMgaXMgcHJlZmVycmVkIGZvciBwYXRjaCBzZXRzIGNvbnNpc3Rpbmcgb2YgbW9yZSB0aGFuIG9uZSBwYXRjaC4gT3RoZXIgc2VydmljZXMgbGlrZSBnaXRvcmlvdXMsIHJlcG8ub3IuY3ogb3Igc2VsZiBob3N0ZWQgc2V0dXBzIGFyZSBvZiBjb3Vyc2UgYWNjZXB0ZWQgYXMgd2VsbCwgJ2dpdCBmZXRjaCA8cmVtb3RlPicgd29ya3MgdGhlIHNhbWUgb24gYWxsIG9mIHRoZW0uIFdlIHJlY29tbWVuZCBnaXRodWIgYmVjYXVzZSBpdCBpcyBmcmVlLCBlYXN5IHRvIHVzZSwgaGFzIGJlZW4gcHJvdmVuIHRvIGJlIHJlbGlhYmxlIGFuZCBoYXMgYSByZWFsbHkgZ29vZCB3ZWIgR1VJLgorCitrcm9nb3RoIEJyYW5jaCBNYWludGFpbmVyOgorQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL2NvbmYvbGF5ZXIuY29uZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL2NvbmYvbGF5ZXIuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNTYzZjQ0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvY29uZi9sYXllci5jb25mCkBAIC0wLDAgKzEsMzIgQEAKKyMgSXQgcmVhbGx5IGRlcGVuZHMgb24gb3JkZXIgb2YgdGhlIGxheWVycyBhcHBlYXJpbmcgaW4gQkJMQVlFUlMKKyMgdmFyaWFibGUgaW4gdG9wbGV2ZWwgYmJsYXllcnMuY29uZiBmaWxlLCB3aGVyZSBiaXRiYWtlIHdpbGwgc2VhcmNoCisjIGZvciAuaW5jIGZpbGVzIGFuZCBvdGhlcnMgd2hlcmUgYml0YmFrZSB1c2VzIEJCUEFUSCBzaW5jZSBpdCB3aWxsCisjIHNlYXJjaCB0aGUgZGlyZWN0b3JpZXMgZnJvbSBmaXJzdCB0byBsYXN0IGFzIHNwZWNpZmllZCBpbiBCQlBBVEgKKyMgVGhlcmVmb3JlIGlmIHlvdSB3YW50IGEgZ2l2ZW4gbGF5ZXIgdG8gYmUgY29uc2lkZXJlZCBoaWdoIHByaW9yaXR5CisjIGZvciB0aGUgLmluYyBhbmQgLmNvbmYgZXRjLiB0aGVuIGNvbnNpZGVyIGl0IGFkZGluZyBhdCB0aGUgYmVnaW5uaW5nCisjIG9mIEJCUEFUSC4gRm9yIGJibGF5ZXJzIGJpdGJha2Ugd2lsbCB1c2UgQkJGSUxFU19QUklPUklUWSB0byByZXNvbHZlCisjIHRoZSByZWNpcGUgY29udGVudGlvbiBzbyB0aGUgb3JkZXIgb2YgZGlyZWN0b3JpZXMgaW4gQkJGSUxFUyBkb2VzIAorIyBub3QgbWF0dGVyLgorCisjIFdlIGhhdmUgYSBjb25mIGFuZCBjbGFzc2VzIGRpcmVjdG9yeSwgYXBwZW5kIHRvIEJCUEFUSAorQkJQQVRIIC49ICI6JHtMQVlFUkRJUn0iCisKKyMgV2UgaGF2ZSBhIHJlY2lwZXMgZGlyZWN0b3J5LCBhZGQgdG8gQkJGSUxFUworQkJGSUxFUyArPSAiXAorICAke0xBWUVSRElSfS9yZWNpcGVzLSovKi8qLmJiIFwKKyAgJHtMQVlFUkRJUn0vb2UtY29yZS9yZWNpcGVzLSovKi8qLmJiYXBwZW5kIFwKKyIKKworQkJGSUxFX0NPTExFQ1RJT05TICs9ICJzeXN0ZW1kLWxheWVyIgorQkJGSUxFX1BBVFRFUk5fc3lzdGVtZC1sYXllciA6PSAiXiR7TEFZRVJESVJ9LyIKKworIyBEZWZpbmUgdGhlIHByaW9yaXR5IGZvciByZWNpcGVzICguYmIgZmlsZXMpIGZyb20gdGhpcyBsYXllciwKKyMgY2hvb3NpbmcgY2FyZWZ1bGx5IGhvdyB0aGlzIGxheWVyIGludGVyYWN0cyB3aXRoIGFsbCBvZiB0aGUKKyMgb3RoZXIgbGF5ZXJzLgorCitCQkZJTEVfUFJJT1JJVFlfc3lzdGVtZC1sYXllciA9ICI3IgorCitTSUdHRU5fRVhDTFVERVJFQ0lQRVNfQUJJU0FGRSArPSAiIFwKKyAgc3lzdGVtZC1zZXJpYWxnZXR0eSBcCisiCitMQVlFUkRFUEVORFNfc3lzdGVtZC1sYXllciA9ICJjb3JlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvb2UtY29yZS9yZWNpcGVzLWJzcC9rZXltYXBzL2tleW1hcHNfMS4wLmJiYXBwZW5kIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvb2UtY29yZS9yZWNpcGVzLWJzcC9rZXltYXBzL2tleW1hcHNfMS4wLmJiYXBwZW5kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE4MWI4NzgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9vZS1jb3JlL3JlY2lwZXMtYnNwL2tleW1hcHMva2V5bWFwc18xLjAuYmJhcHBlbmQKQEAgLTAsMCArMSw0IEBACitSUFJPVklERVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSUkVQTEFDRVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSQ09ORkxJQ1RTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9vZS1jb3JlL3JlY2lwZXMtY29ubmVjdGl2aXR5L2F2YWhpL2F2YWhpXyUuYmJhcHBlbmQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9vZS1jb3JlL3JlY2lwZXMtY29ubmVjdGl2aXR5L2F2YWhpL2F2YWhpXyUuYmJhcHBlbmQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTgxYjg3OAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL29lLWNvcmUvcmVjaXBlcy1jb25uZWN0aXZpdHkvYXZhaGkvYXZhaGlfJS5iYmFwcGVuZApAQCAtMCwwICsxLDQgQEAKK1JQUk9WSURFU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1JSRVBMQUNFU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1JDT05GTElDVFNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL29lLWNvcmUvcmVjaXBlcy1jb25uZWN0aXZpdHkvY29ubm1hbi9jb25ubWFuXyUuYmJhcHBlbmQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9vZS1jb3JlL3JlY2lwZXMtY29ubmVjdGl2aXR5L2Nvbm5tYW4vY29ubm1hbl8lLmJiYXBwZW5kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYwMDZiM2YKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9vZS1jb3JlL3JlY2lwZXMtY29ubmVjdGl2aXR5L2Nvbm5tYW4vY29ubm1hbl8lLmJiYXBwZW5kCkBAIC0wLDAgKzEsMyBAQAorUlBST1ZJREVTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUlJFUExBQ0VTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUkNPTkZMSUNUU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL29lLWNvcmUvcmVjaXBlcy1jb25uZWN0aXZpdHkvZGhjcC9kaGNwL2RoY2xpZW50LnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9vZS1jb3JlL3JlY2lwZXMtY29ubmVjdGl2aXR5L2RoY3AvZGhjcC9kaGNsaWVudC5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM5NjIwY2YKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9vZS1jb3JlL3JlY2lwZXMtY29ubmVjdGl2aXR5L2RoY3AvZGhjcC9kaGNsaWVudC5zZXJ2aWNlCkBAIC0wLDAgKzEsMTMgQEAKK1tVbml0XQorRGVzY3JpcHRpb249RHluYW1pYyBIb3N0IENvbmZpZ3VyYXRpb24gUHJvdG9jb2wgKERIQ1ApCitBZnRlcj1zeXNsb2cudGFyZ2V0IG5ldHdvcmsudGFyZ2V0CisKK1tTZXJ2aWNlXQorVHlwZT1mb3JraW5nCitQSURGaWxlPS92YXIvcnVuL2RoY2xpZW50LnBpZAorRW52aXJvbm1lbnRGaWxlPS0vZXRjL2RlZmF1bHQvZGhjcC1jbGllbnQKK0V4ZWNTdGFydD0vc2Jpbi9kaGNsaWVudCAtY2YgL2V0Yy9kaGNwL2RoY2xpZW50LmNvbmYgLXEgLWxmIC92YXIvbGliL2RoY3AvZGhjbGllbnQubGVhc2VzICRJTlRFUkZBQ0VTCisKK1tJbnN0YWxsXQorV2FudGVkQnk9bXVsdGktdXNlci50YXJnZXQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvb2UtY29yZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9kaGNwL2RoY3BfJS5iYmFwcGVuZCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL29lLWNvcmUvcmVjaXBlcy1jb25uZWN0aXZpdHkvZGhjcC9kaGNwXyUuYmJhcHBlbmQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTRkN2JkNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL29lLWNvcmUvcmVjaXBlcy1jb25uZWN0aXZpdHkvZGhjcC9kaGNwXyUuYmJhcHBlbmQKQEAgLTAsMCArMSwyNCBAQAorIyBsb29rIGZvciBmaWxlcyBpbiB0aGUgbGF5ZXIgZmlyc3QKK0ZJTEVTRVhUUkFQQVRIU19wcmVwZW5kIDo9ICIke1RISVNESVJ9LyR7UE59OiIKKworU1lTVEVNRF9QQUNLQUdFUyArPSAiZGhjcC1jbGllbnQiCitTWVNURU1EX1NFUlZJQ0VfZGhjcC1jbGllbnQgPSAiZGhjbGllbnQuc2VydmljZSIKK1NZU1RFTURfQVVUT19FTkFCTEVfZGhjcC1jbGllbnQgPSAiZGlzYWJsZSIKKworRklMRVNfJHtQTn0tY2xpZW50ICs9ICIke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL2RoY2xpZW50LnNlcnZpY2UiCitSUFJPVklERVNfZGhjcC1zZXJ2ZXIgKz0gImRoY3Atc2VydmVyLXN5c3RlbWQiCitSUkVQTEFDRVNfZGhjcC1zZXJ2ZXIgKz0gImRoY3Atc2VydmVyLXN5c3RlbWQiCitSQ09ORkxJQ1RTX2RoY3Atc2VydmVyICs9ICJkaGNwLXNlcnZlci1zeXN0ZW1kIgorUlBST1ZJREVTX2RoY3AtcmVsYXkgKz0gImRoY3AtcmVsYXktc3lzdGVtZCIKK1JSRVBMQUNFU19kaGNwLXJlbGF5ICs9ICJkaGNwLXJlbGF5LXN5c3RlbWQiCitSQ09ORkxJQ1RTX2RoY3AtcmVsYXkgKz0gImRoY3AtcmVsYXktc3lzdGVtZCIKK1JQUk9WSURFU18ke1BOfS1jbGllbnQgKz0gImRoY3AtY2xpZW50LXN5c3RlbWQiCitSUkVQTEFDRVNfJHtQTn0tY2xpZW50ICs9ICJkaGNwLWNsaWVudC1zeXN0ZW1kIgorUkNPTkZMSUNUU18ke1BOfS1jbGllbnQgKz0gImRoY3AtY2xpZW50LXN5c3RlbWQiCisKK1NSQ19VUkkgKz0gImZpbGU6Ly9kaGNsaWVudC5zZXJ2aWNlIgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9kaGNsaWVudC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCit9CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL29lLWNvcmUvcmVjaXBlcy1jb25uZWN0aXZpdHkvb2Zvbm8vb2Zvbm9fJS5iYmFwcGVuZCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL29lLWNvcmUvcmVjaXBlcy1jb25uZWN0aXZpdHkvb2Zvbm8vb2Zvbm9fJS5iYmFwcGVuZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xN2EzMTI0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvb2UtY29yZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vZm9uby9vZm9ub18lLmJiYXBwZW5kCkBAIC0wLDAgKzEsNSBAQAorUlBST1ZJREVTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUlJFUExBQ0VTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUkNPTkZMSUNUU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKKworU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvb2UtY29yZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vcGVuc3NoL29wZW5zc2hfJS5iYmFwcGVuZCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL29lLWNvcmUvcmVjaXBlcy1jb25uZWN0aXZpdHkvb3BlbnNzaC9vcGVuc3NoXyUuYmJhcHBlbmQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGFkYmMxNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL29lLWNvcmUvcmVjaXBlcy1jb25uZWN0aXZpdHkvb3BlbnNzaC9vcGVuc3NoXyUuYmJhcHBlbmQKQEAgLTAsMCArMSwzIEBACitSUFJPVklERVNfJHtQTn0tc3NoZCArPSAiJHtQTn0tc3NoZC1zeXN0ZW1kIgorUlJFUExBQ0VTXyR7UE59LXNzaGQgKz0gIiR7UE59LXNzaGQtc3lzdGVtZCIKK1JDT05GTElDVFNfJHtQTn0tc3NoZCArPSAiJHtQTn0tc3NoZC1zeXN0ZW1kIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvb2UtY29yZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9wb3J0bWFwL3BvcnRtYXBfNi4wLmJiYXBwZW5kIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvb2UtY29yZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9wb3J0bWFwL3BvcnRtYXBfNi4wLmJiYXBwZW5kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZjZTZlNzAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9vZS1jb3JlL3JlY2lwZXMtY29ubmVjdGl2aXR5L3BvcnRtYXAvcG9ydG1hcF82LjAuYmJhcHBlbmQKQEAgLTAsMCArMSw1IEBACitSUFJPVklERVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSUkVQTEFDRVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSQ09ORkxJQ1RTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9vZS1jb3JlL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dwYS1zdXBwbGljYW50L3dwYS1zdXBwbGljYW50XyUuYmJhcHBlbmQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9vZS1jb3JlL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dwYS1zdXBwbGljYW50L3dwYS1zdXBwbGljYW50XyUuYmJhcHBlbmQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjAwNmIzZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL29lLWNvcmUvcmVjaXBlcy1jb25uZWN0aXZpdHkvd3BhLXN1cHBsaWNhbnQvd3BhLXN1cHBsaWNhbnRfJS5iYmFwcGVuZApAQCAtMCwwICsxLDMgQEAKK1JQUk9WSURFU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1JSRVBMQUNFU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1JDT05GTElDVFNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9vZS1jb3JlL3JlY2lwZXMtY29yZS9idXN5Ym94L2J1c3lib3hfJS5iYmFwcGVuZCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL29lLWNvcmUvcmVjaXBlcy1jb3JlL2J1c3lib3gvYnVzeWJveF8lLmJiYXBwZW5kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY0MmQ0NTAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9vZS1jb3JlL3JlY2lwZXMtY29yZS9idXN5Ym94L2J1c3lib3hfJS5iYmFwcGVuZApAQCAtMCwwICsxLDMgQEAKK1JQUk9WSURFU18ke1BOfS1zeXNsb2cgKz0gIiR7UE59LXN5c2xvZy1zeXN0ZW1kIgorUlJFUExBQ0VTXyR7UE59LXN5c2xvZyArPSAiJHtQTn0tc3lzbG9nLXN5c3RlbWQiCitSQ09ORkxJQ1RTXyR7UE59LXN5c2xvZyArPSAiJHtQTn0tc3lzbG9nLXN5c3RlbWQiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9vZS1jb3JlL3JlY2lwZXMtY29yZS9kYnVzL2RidXNfJS5iYmFwcGVuZCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL29lLWNvcmUvcmVjaXBlcy1jb3JlL2RidXMvZGJ1c18lLmJiYXBwZW5kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYwMDZiM2YKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9vZS1jb3JlL3JlY2lwZXMtY29yZS9kYnVzL2RidXNfJS5iYmFwcGVuZApAQCAtMCwwICsxLDMgQEAKK1JQUk9WSURFU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1JSRVBMQUNFU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1JDT05GTElDVFNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9vZS1jb3JlL3JlY2lwZXMtY29yZS9kcm9wYmVhci9kcm9wYmVhcl8lLmJiYXBwZW5kIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvb2UtY29yZS9yZWNpcGVzLWNvcmUvZHJvcGJlYXIvZHJvcGJlYXJfJS5iYmFwcGVuZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xODFiODc4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvb2UtY29yZS9yZWNpcGVzLWNvcmUvZHJvcGJlYXIvZHJvcGJlYXJfJS5iYmFwcGVuZApAQCAtMCwwICsxLDQgQEAKK1JQUk9WSURFU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1JSRVBMQUNFU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1JDT05GTElDVFNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL29lLWNvcmUvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZF8lLmJiYXBwZW5kIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvb2UtY29yZS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kXyUuYmJhcHBlbmQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjVhYTU0NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL29lLWNvcmUvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZF8lLmJiYXBwZW5kCkBAIC0wLDAgKzEsMyBAQAorUlBST1ZJREVTX3VkZXYgKz0gInVkZXYtc3lzdGVtZCIKK1JSRVBMQUNFU191ZGV2ICs9ICJ1ZGV2LXN5c3RlbWQiCitSQ09ORkxJQ1RTX3VkZXYgKz0gInVkZXYtc3lzdGVtZCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL29lLWNvcmUvcmVjaXBlcy1jb3JlL3V0aWwtbGludXgvdXRpbC1saW51eF8lLmJiYXBwZW5kIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvb2UtY29yZS9yZWNpcGVzLWNvcmUvdXRpbC1saW51eC91dGlsLWxpbnV4XyUuYmJhcHBlbmQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjAwNmIzZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL29lLWNvcmUvcmVjaXBlcy1jb3JlL3V0aWwtbGludXgvdXRpbC1saW51eF8lLmJiYXBwZW5kCkBAIC0wLDAgKzEsMyBAQAorUlBST1ZJREVTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUlJFUExBQ0VTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUkNPTkZMSUNUU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL29lLWNvcmUvcmVjaXBlcy1leHRlbmRlZC9hdC9hdF8lLmJiYXBwZW5kIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvb2UtY29yZS9yZWNpcGVzLWV4dGVuZGVkL2F0L2F0XyUuYmJhcHBlbmQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTgxYjg3OAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL29lLWNvcmUvcmVjaXBlcy1leHRlbmRlZC9hdC9hdF8lLmJiYXBwZW5kCkBAIC0wLDAgKzEsNCBAQAorUlBST1ZJREVTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUlJFUExBQ0VTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUkNPTkZMSUNUU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvb2UtY29yZS9yZWNpcGVzLWV4dGVuZGVkL2Nyb25pZS9jcm9uaWVfJS5iYmFwcGVuZCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL29lLWNvcmUvcmVjaXBlcy1leHRlbmRlZC9jcm9uaWUvY3JvbmllXyUuYmJhcHBlbmQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjAwNmIzZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL29lLWNvcmUvcmVjaXBlcy1leHRlbmRlZC9jcm9uaWUvY3JvbmllXyUuYmJhcHBlbmQKQEAgLTAsMCArMSwzIEBACitSUFJPVklERVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSUkVQTEFDRVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSQ09ORkxJQ1RTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvb2UtY29yZS9yZWNpcGVzLWV4dGVuZGVkL2xpZ2h0dHBkL2xpZ2h0dHBkXyUuYmJhcHBlbmQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9vZS1jb3JlL3JlY2lwZXMtZXh0ZW5kZWQvbGlnaHR0cGQvbGlnaHR0cGRfJS5iYmFwcGVuZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMDA2YjNmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvb2UtY29yZS9yZWNpcGVzLWV4dGVuZGVkL2xpZ2h0dHBkL2xpZ2h0dHBkXyUuYmJhcHBlbmQKQEAgLTAsMCArMSwzIEBACitSUFJPVklERVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSUkVQTEFDRVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSQ09ORkxJQ1RTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvb2UtY29yZS9yZWNpcGVzLWV4dGVuZGVkL3JwY2JpbmQvcnBjYmluZF8lLmJiYXBwZW5kIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvb2UtY29yZS9yZWNpcGVzLWV4dGVuZGVkL3JwY2JpbmQvcnBjYmluZF8lLmJiYXBwZW5kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYwMDZiM2YKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9vZS1jb3JlL3JlY2lwZXMtZXh0ZW5kZWQvcnBjYmluZC9ycGNiaW5kXyUuYmJhcHBlbmQKQEAgLTAsMCArMSwzIEBACitSUFJPVklERVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSUkVQTEFDRVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSQ09ORkxJQ1RTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC1tYWNoaW5lLXVuaXRzXzEuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQtbWFjaGluZS11bml0c18xLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmE2NmFjMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQtbWFjaGluZS11bml0c18xLjAuYmIKQEAgLTAsMCArMSwxMyBAQAorU1VNTUFSWSA9ICJNYWNoaW5lIHNwZWNpZmljIHN5c3RlbWQgdW5pdHMiCisKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtDT1JFQkFTRX0vTElDRU5TRTttZDU9NGQ5MmNkMzczYWJkYTM5MzdjMmJjNDdmYmM0OWQ2OTAiCisKK1BBQ0tBR0VfQVJDSCA9ICIke01BQ0hJTkVfQVJDSH0iCisKK1BSID0gInIxOCIKKworaW5oZXJpdCBzeXN0ZW1kCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAiIgorTkFUSVZFX1NZU1RFTURfU1VQUE9SVCA9ICIxIgorQUxMT1dfRU1QVFlfJHtQTn0gPSAiMSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvQ09QWUlORy5NSVQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL0NPUFlJTkcuTUlUCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZiOTUwZGMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL0NPUFlJTkcuTUlUCkBAIC0wLDAgKzEsMTcgQEAKK1Blcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkgCitvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbCAKK2luIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgCit0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIAorY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIAorZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKworVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gCithbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KKworVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IgCitJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgCitGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgCitBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIAorTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgCitPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIAorVEhFIFNPRlRXQVJFLgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9SRUFETUUgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL1JFQURNRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lODQyMjc5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9SRUFETUUKQEAgLTAsMCArMSw3MCBAQAorbWV0YS13ZWJzZXJ2ZXIKKz09PT09PT09PT09PT09CisKK1RoaXMgbGF5ZXIgcHJvdmlkZXMgc3VwcG9ydCBmb3IgYnVpbGRpbmcgd2ViIHNlcnZlcnMsIHdlYi1iYXNlZAorYXBwbGljYXRpb25zIGFuZCByZWxhdGVkIHNvZnR3YXJlLgorCisKKworRGVwZW5kZW5jaWVzCistLS0tLS0tLS0tLS0KKworVGhpcyBsYXllciBkZXBlbmRzIG9uOgorCitVUkk6IGdpdDovL2dpdGh1Yi5jb20vb3BlbmVtYmVkZGVkL29lLWNvcmUuZ2l0CitzdWJkaXJlY3Rvcnk6IG1ldGEKK2JyYW5jaDoga3JvZ290aCAKK3JldmlzaW9uOiBIRUFECisKK0ZvciBzb21lIHJlY2lwZXMsIHRoZSBtZXRhLW9lIGxheWVyIGlzIHJlcXVpcmVkOgorCitVUkk6IGdpdDovL2dpdGh1Yi5jb20vb3BlbmVtYmVkZGVkL21ldGEtb2UuZ2l0CitzdWJkaXJlY3Rvcnk6IG1ldGEtb2UKK2JyYW5jaDoga3JvZ290aCAKK3JldmlzaW9uOiBIRUFECisKKworCitMYXlvdXQKKy0tLS0tLQorCityZWNpcGVzLWh0dHBkLyAgICAgIFdlYiBzZXJ2ZXJzCityZWNpcGVzLXBocC8gICAgICAgIFBIUCBhcHBsaWNhdGlvbnMKK3JlY2lwZXMtc3VwcG9ydC8gICAgTWlzY2VsbGFuZW91cyBzdXBwb3J0IHJlY2lwZXMKK3JlY2lwZXMtd2ViYWRtaW4vICAgU3RhbmRhbG9uZSB3ZWIgYWRtaW5pc3RyYXRpb24gaW50ZXJmYWNlcworCisKK05vdGVzCistLS0tLQorCisqIFRoaXMgbGF5ZXIgdXNlZCB0byBwcm92aWRlIGEgbW9kcGhwIHJlY2lwZSB0aGF0IGJ1aWx0IG1vZF9waHAsIGJ1dAorICB0aGlzIGlzIG5vdyBidWlsdCBhcyBwYXJ0IG9mIHRoZSBwaHAgcmVjaXBlIGluIG1ldGEtb2UuIEhvd2V2ZXIsIHNpbmNlCisgIGFwYWNoZTIgaXMgcmVxdWlyZWQgdG8gYnVpbGQgbW9kX3BocCwgYW5kIGFwYWNoZTIgcmVjaXBlIGlzIGluIHRoaXMKKyAgbGF5ZXIgYW5kIHJlY2lwZXMgaW4gbWV0YS1vZSBjYW4ndCBkZXBlbmQgb24gaXQsIG1vZF9waHAgaXMgbm90IGJ1aWx0CisgIGJ5IGRlZmF1bHQuIElmIHlvdSBkbyB3aXNoIHRvIHVzZSBtb2RfcGhwLCB5b3UgbmVlZCB0byBhZGQgImFwYWNoZTIiCisgIHRvIHRoZSBQQUNLQUdFQ09ORklHIHZhbHVlIGZvciB0aGUgcGhwIHJlY2lwZSBpbiBvcmRlciB0byBlbmFibGUgaXQuCisgIFNlZSBoZXJlIGZvciBpbmZvIG9uIGhvdyB0byBkbyB0aGF0OgorCisgIGh0dHA6Ly93d3cueW9jdG9wcm9qZWN0Lm9yZy9kb2NzL2N1cnJlbnQvcmVmLW1hbnVhbC9yZWYtbWFudWFsLmh0bWwjdmFyLVBBQ0tBR0VDT05GSUcKKworCitNYWludGVuYW5jZQorLS0tLS0tLS0tLS0KK1NlbmQgcHVsbCByZXF1ZXN0cyB0byBvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZyB3aXRoICdbbWV0YS1zeXN0ZW1kXVtrcm9nb3RoXScgaW4gdGhlIHN1YmplY3QnCisKK1doZW4gc2VuZGluZyBzaW5nbGUgcGF0Y2hlcywgcGxlYXNlIHVzZSBzb21ldGhpbmcgbGlrZToKKydnaXQgc2VuZC1lbWFpbCAtTSAtMSAtLXRvIG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnIC0tc3ViamVjdC1wcmVmaXg9bWV0YS1zeXN0ZW1kXVtrcm9nb3RoXVtQQVRDSCcKKworCitrcm9nb3RoIEJyYW5jaCBNYWludGFpbmVyOgorQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4KKworTGljZW5zZQorLS0tLS0tLQorCitBbGwgbWV0YWRhdGEgaXMgTUlUIGxpY2Vuc2VkIHVubGVzcyBvdGhlcndpc2Ugc3RhdGVkLiBTb3VyY2UgY29kZSBpbmNsdWRlZAoraW4gdHJlZSBmb3IgaW5kaXZpZHVhbCByZWNpcGVzIGlzIHVuZGVyIHRoZSBMSUNFTlNFIHN0YXRlZCBpbiBlYWNoIHJlY2lwZQorKC5iYiBmaWxlKSB1bmxlc3Mgb3RoZXJ3aXNlIHN0YXRlZC4KKworVGhpcyBSRUFETUUgZG9jdW1lbnQgaXMgQ29weXJpZ2h0IChDKSAyMDEyIEludGVsIENvcnBvcmF0aW9uLgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL2NvbmYvbGF5ZXIuY29uZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvY29uZi9sYXllci5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJiNTA4YTgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL2NvbmYvbGF5ZXIuY29uZgpAQCAtMCwwICsxLDI0IEBACisjIExheWVyIGNvbmZpZ3VyYXRpb24gZm9yIG1ldGEtd2Vic2VydmVyIGxheWVyCisjIENvcHlyaWdodCAyMDEyIEludGVsIENvcnBvcmF0aW9uCisKKyMgV2UgaGF2ZSBhIGNvbmYgYW5kIGNsYXNzZXMgZGlyZWN0b3J5LCBhZGQgdG8gQkJQQVRICitCQlBBVEggLj0gIjoke0xBWUVSRElSfSIKKworIyBXZSBoYXZlIHZhcmlvdXMgcmVjaXBlLSogZGlyZWN0b3JpZXMsIGFkZCB0byBCQkZJTEVTCitCQkZJTEVTICs9ICIke0xBWUVSRElSfS9yZWNpcGVzLSovKi8qLmJiICR7TEFZRVJESVJ9L3JlY2lwZXMtKi8qLyouYmJhcHBlbmQiCisKK0JCRklMRV9DT0xMRUNUSU9OUyArPSAid2Vic2VydmVyIgorQkJGSUxFX1BBVFRFUk5fd2Vic2VydmVyIDo9ICJeJHtMQVlFUkRJUn0vIgorQkJGSUxFX1BSSU9SSVRZX3dlYnNlcnZlciA9ICI2IgorCisjIFRoaXMgc2hvdWxkIG9ubHkgYmUgaW5jcmVtZW50ZWQgb24gc2lnbmlmaWNhbnQgY2hhbmdlcyB0aGF0IHdpbGwKKyMgY2F1c2UgY29tcGF0aWJpbGl0eSBpc3N1ZXMgd2l0aCBvdGhlciBsYXllcnMKK0xBWUVSVkVSU0lPTl93ZWJzZXJ2ZXIgPSAiMSIKKworTEFZRVJERVBFTkRTX3dlYnNlcnZlciA9ICJjb3JlIgorCitMSUNFTlNFX1BBVEggKz0gIiR7TEFZRVJESVJ9L2xpY2Vuc2VzIgorCitTSUdHRU5fRVhDTFVERV9TQUZFX1JFQ0lQRV9ERVBTICs9ICIgXAorICBwaHBteWFkbWluLT5iYXNoIFwKKyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvbGljZW5zZXMvT01MIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9saWNlbnNlcy9PTUwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2U2YmRmZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvbGljZW5zZXMvT01MCkBAIC0wLDAgKzEsMjggQEAKK1RoaXMgRmFzdENHSSBhcHBsaWNhdGlvbiBsaWJyYXJ5IHNvdXJjZSBhbmQgb2JqZWN0IGNvZGUgKHRoZQorIlNvZnR3YXJlIikgYW5kIGl0cyBkb2N1bWVudGF0aW9uICh0aGUgIkRvY3VtZW50YXRpb24iKSBhcmUKK2NvcHlyaWdodGVkIGJ5IE9wZW4gTWFya2V0LCBJbmMgKCJPcGVuIE1hcmtldCIpLiAgVGhlIGZvbGxvd2luZyB0ZXJtcworYXBwbHkgdG8gYWxsIGZpbGVzIGFzc29jaWF0ZWQgd2l0aCB0aGUgU29mdHdhcmUgYW5kIERvY3VtZW50YXRpb24KK3VubGVzcyBleHBsaWNpdGx5IGRpc2NsYWltZWQgaW4gaW5kaXZpZHVhbCBmaWxlcy4KKworT3BlbiBNYXJrZXQgcGVybWl0cyB5b3UgdG8gdXNlLCBjb3B5LCBtb2RpZnksIGRpc3RyaWJ1dGUsIGFuZCBsaWNlbnNlCit0aGlzIFNvZnR3YXJlIGFuZCB0aGUgRG9jdW1lbnRhdGlvbiBmb3IgYW55IHB1cnBvc2UsIHByb3ZpZGVkIHRoYXQKK2V4aXN0aW5nIGNvcHlyaWdodCBub3RpY2VzIGFyZSByZXRhaW5lZCBpbiBhbGwgY29waWVzIGFuZCB0aGF0IHRoaXMKK25vdGljZSBpcyBpbmNsdWRlZCB2ZXJiYXRpbSBpbiBhbnkgZGlzdHJpYnV0aW9ucy4gIE5vIHdyaXR0ZW4KK2FncmVlbWVudCwgbGljZW5zZSwgb3Igcm95YWx0eSBmZWUgaXMgcmVxdWlyZWQgZm9yIGFueSBvZiB0aGUKK2F1dGhvcml6ZWQgdXNlcy4gIE1vZGlmaWNhdGlvbnMgdG8gdGhpcyBTb2Z0d2FyZSBhbmQgRG9jdW1lbnRhdGlvbiBtYXkKK2JlIGNvcHlyaWdodGVkIGJ5IHRoZWlyIGF1dGhvcnMgYW5kIG5lZWQgbm90IGZvbGxvdyB0aGUgbGljZW5zaW5nCit0ZXJtcyBkZXNjcmliZWQgaGVyZS4gIElmIG1vZGlmaWNhdGlvbnMgdG8gdGhpcyBTb2Z0d2FyZSBhbmQKK0RvY3VtZW50YXRpb24gaGF2ZSBuZXcgbGljZW5zaW5nIHRlcm1zLCB0aGUgbmV3IHRlcm1zIG11c3QgYmUgY2xlYXJseQoraW5kaWNhdGVkIG9uIHRoZSBmaXJzdCBwYWdlIG9mIGVhY2ggZmlsZSB3aGVyZSB0aGV5IGFwcGx5LgorCitPUEVOIE1BUktFVCBNQUtFUyBOTyBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVFkgV0lUSCBSRVNQRUNUIFRPIFRIRQorU09GVFdBUkUgT1IgVEhFIERPQ1VNRU5UQVRJT04sIElOQ0xVRElORyBXSVRIT1VUIExJTUlUQVRJT04gQU5ZCitXQVJSQU5UWSBPRiBNRVJDSEFOVEFCSUxJVFkgT1IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBJTgorTk8gRVZFTlQgU0hBTEwgT1BFTiBNQVJLRVQgQkUgTElBQkxFIFRPIFlPVSBPUiBBTlkgVEhJUkQgUEFSVFkgRk9SIEFOWQorREFNQUdFUyBBUklTSU5HIEZST00gT1IgUkVMQVRJTkcgVE8gVEhJUyBTT0ZUV0FSRSBPUiBUSEUKK0RPQ1VNRU5UQVRJT04sIElOQ0xVRElORywgV0lUSE9VVCBMSU1JVEFUSU9OLCBBTlkgSU5ESVJFQ1QsIFNQRUNJQUwgT1IKK0NPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBTSU1JTEFSIERBTUFHRVMsIElOQ0xVRElORyBMT1NUIFBST0ZJVFMgT1IKK0xPU1QgREFUQSwgRVZFTiBJRiBPUEVOIE1BUktFVCBIQVMgQkVFTiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorU1VDSCBEQU1BR0VTLiAgVEhFIFNPRlRXQVJFIEFORCBET0NVTUVOVEFUSU9OIEFSRSBQUk9WSURFRCAiQVMgSVMiLgorT1BFTiBNQVJLRVQgSEFTIE5PIExJQUJJTElUWSBJTiBDT05UUkFDVCwgVE9SVCwgTkVHTElHRU5DRSBPUgorT1RIRVJXSVNFIEFSSVNJTkcgT1VUIE9GIFRISVMgU09GVFdBUkUgT1IgVEhFIERPQ1VNRU5UQVRJT04uCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL2xpY2Vuc2VzL1hkZWJ1ZyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvbGljZW5zZXMvWGRlYnVnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNjZGJmMDUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL2xpY2Vuc2VzL1hkZWJ1ZwpAQCAtMCwwICsxLDYwIEBACistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAKKyAgICAgICAgICAgICAgICAgVGhlIFhkZWJ1ZyBMaWNlbnNlLCB2ZXJzaW9uIDEuMDEKKyAgICAgICAgICAgICAoQmFzZWQgb24gIlRoZSBQSFAgTGljZW5zZSIsIHZlcnNpb24gMy4wKQorICAgQ29weXJpZ2h0IChjKSAyMDAzLTIwMTIgRGVyaWNrIFJldGhhbnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAKKworUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cittb2RpZmljYXRpb24sIGlzIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworYXJlIG1ldDoKKworICAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgCisgIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbgorICAgICB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgICAgIGRpc3RyaWJ1dGlvbi4KKyAKKyAgMy4gVGhlIG5hbWUgIlhkZWJ1ZyIgbXVzdCBub3QgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMKKyAgICAgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uIEZvcgorICAgICB3cml0dGVuIHBlcm1pc3Npb24sIHBsZWFzZSBjb250YWN0IGRlcmlja0B4ZGVidWcub3JnLgorICAKKyAgNC4gUHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgbWF5IG5vdCBiZSBjYWxsZWQgIlhkZWJ1ZyIsIG5vcgorICAgICBtYXkgIlhkZWJ1ZyIgYXBwZWFyIGluIHRoZWlyIG5hbWUsIHdpdGhvdXQgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uCisgICAgIGZyb20gZGVyaWNrQHhkZWJ1Zy5vcmcuCisgCisgIDUuIERlcmljayBSZXRoYW5zIG1heSBwdWJsaXNoIHJldmlzZWQgYW5kL29yIG5ldyB2ZXJzaW9ucyBvZiB0aGUKKyAgICAgbGljZW5zZSBmcm9tIHRpbWUgdG8gdGltZS4gRWFjaCB2ZXJzaW9uIHdpbGwgYmUgZ2l2ZW4gYQorICAgICBkaXN0aW5ndWlzaGluZyB2ZXJzaW9uIG51bWJlci4gIE9uY2UgY292ZXJlZCBjb2RlIGhhcyBiZWVuCisgICAgIHB1Ymxpc2hlZCB1bmRlciBhIHBhcnRpY3VsYXIgdmVyc2lvbiBvZiB0aGUgbGljZW5zZSwgeW91IG1heQorICAgICBhbHdheXMgY29udGludWUgdG8gdXNlIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGF0IHZlcnNpb24uIFlvdQorICAgICBtYXkgYWxzbyBjaG9vc2UgdG8gdXNlIHN1Y2ggY292ZXJlZCBjb2RlIHVuZGVyIHRoZSB0ZXJtcyBvZiBhbnkKKyAgICAgc3Vic2VxdWVudCB2ZXJzaW9uIG9mIHRoZSBsaWNlbnNlIHB1Ymxpc2hlZCBieSBEZXJpY2sgUmV0aGFucy4gTm8KKyAgICAgb25lIG90aGVyIHRoYW4gRGVyaWNrIFJldGhhbnMgaGFzIHRoZSByaWdodCB0byBtb2RpZnkgdGhlIHRlcm1zCisgICAgIGFwcGxpY2FibGUgdG8gY292ZXJlZCBjb2RlIGNyZWF0ZWQgdW5kZXIgdGhpcyBMaWNlbnNlLgorCisgIDYuIFJlZGlzdHJpYnV0aW9ucyBvZiBhbnkgZm9ybSB3aGF0c29ldmVyIG11c3QgcmV0YWluIHRoZSBmb2xsb3dpbmcKKyAgICAgYWNrbm93bGVkZ21lbnQ6ICJUaGlzIHByb2R1Y3QgaW5jbHVkZXMgWGRlYnVnLCBmcmVlbHkgYXZhaWxhYmxlCisgICAgIGZyb20gPGh0dHA6Ly94ZGVidWcub3JnLz4iLgorCitUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIERFUklDSyBSRVRIQU5TIGBgQVMgSVMnJyBBTkQgQU5ZCitFWFBSRVNTRUQgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCitJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKK1BVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgUEhQIERFVkVMT1BNRU5UIFRFQU0gT1IKK0lUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKK1NQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKK0xJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCitUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKK09GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1RoaXMgc29mdHdhcmUgY29uc2lzdHMgb2Ygdm9sdW50YXJ5IGNvbnRyaWJ1dGlvbnMgbWFkZSBieSBzb21lCitpbmRpdmlkdWFscyBvbiBiZWhhbGYgb2YgRGVyaWNrIFJldGhhbnMuCisKK0RlcmljayBSZXRoYW5zIGNhbiBiZSBjb250YWN0ZWQgdmlhIGUtbWFpbCBhdCBkZXJpY2tAeGRlYnVnLm9yZy4KKworRm9yIG1vcmUgaW5mb3JtYXRpb24gWGRlYnVnLCBwbGVhc2Ugc2VlIDxodHRwOi8veGRlYnVnLm9yZz4uCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvYXBhY2hlLW1vZC9hcGFjaGUtd2Vic29ja2V0X2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9hcGFjaGUtbW9kL2FwYWNoZS13ZWJzb2NrZXRfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRhMzMxMTUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvYXBhY2hlLW1vZC9hcGFjaGUtd2Vic29ja2V0X2dpdC5iYgpAQCAtMCwwICsxLDMzIEBACitTVU1NQVJZID0gIldlYnNvY2tldCBtb2R1bGUgZm9yIEFwYWNoZSB3ZWIgc2VydmVyIgorREVTQ1JJUFRJT04gPSAiUHJvY2VzcyByZXF1ZXN0cyB1c2luZyB0aGUgV2ViU29ja2V0IHByb3RvY29sIChSRkMgNjQ1NSkiCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vamNoYW1waW8vJHtQTn0vIgorU0VDVElPTiA9ICJuZXQiCitMSUNFTlNFID0gIkFwYWNoZS0yLjAiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwa2djb25maWcKKworREVQRU5EUyA9ICJhcGFjaGUyIGFwYWNoZTItbmF0aXZlIgorUkRFUEVORFNfJHtQTn0gKz0gImFwYWNoZTIiCisKKyMgT3JpZ2luYWwgKGdpdGh1Yi5jb20vZGlzY29ubmVjdC9hcGFjaGUtd2Vic29ja2V0KSBpcyBkZWFkIHNpbmNlIDIwMTIsIHRoZQorIyBmb3JrIGNvbnRhaW5zIHBhdGNoZXMgZnJvbSB0aGUgbW9kdWxlcyBNTCBhbmQgZml4ZXMgQ1ZFIGNvbXBsaWFuY2UgaXNzdWVzCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vamNoYW1waW8vYXBhY2hlLXdlYnNvY2tldC5naXQiCisKK1NSQ1JFViA9ICJmNTIzMGQ4YzUyMGRjY2Y4NjMxZGE5NGJmOTBjMjNmM2MxMTAwZGNjIgorCitQViA9ICIwLjEuMSIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MmVlNDExMTJhNDRmZTcwMTRkY2UzM2UyNjQ2OGJhOTMiCisKK0VYVFJBX09FQ09ORiA9ICJBUEFDSEVDVEw9JHtTVEFHSU5HX0RJUl9UQVJHRVR9JHtzYmluZGlyfS9hcGFjaGVjdGwgXAorICAgICAgICAgICAgICAgIExJQlRPT0w9JHtTVEFHSU5HX0RJUl9UQVJHRVR9JHtiaW5kaXJfY3Jvc3NzY3JpcHRzfS8ke0hPU1RfU1lTfS1saWJ0b29sIgorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7bGliZGlyfS9hcGFjaGUyL21vZHVsZXMvCisgICAgaW5zdGFsbCAke0J9Ly5saWJzL21vZF93ZWJzb2NrZXQuc28gJHtEfSR7bGliZGlyfS9hcGFjaGUyL21vZHVsZXMvCit9CisKK0ZJTEVTXyR7UE59ICs9ICIgJHtsaWJkaXJ9L2FwYWNoZTIvbW9kdWxlcy8qICIKK0ZJTEVTXyR7UE59LWRiZyArPSAiICR7bGliZGlyfS9hcGFjaGUyL21vZHVsZXMvLmRlYnVnLyogIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvYXBhY2hlMi1uYXRpdmVfMi40LjIwLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvYXBhY2hlMi1uYXRpdmVfMi40LjIwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk5MzJkMTIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvYXBhY2hlMi9hcGFjaGUyLW5hdGl2ZV8yLjQuMjAuYmIKQEAgLTAsMCArMSw0NSBAQAorREVTQ1JJUFRJT04gPSAiVGhlIEFwYWNoZSBIVFRQIFNlcnZlciBpcyBhIHBvd2VyZnVsLCBlZmZpY2llbnQsIGFuZCBcCitleHRlbnNpYmxlIHdlYiBzZXJ2ZXIuIgorU1VNTUFSWSA9ICJBcGFjaGUgSFRUUCBTZXJ2ZXIiCitIT01FUEFHRSA9ICJodHRwOi8vaHR0cGQuYXBhY2hlLm9yZy8iCitERVBFTkRTID0gImV4cGF0LW5hdGl2ZSBwY3JlLW5hdGl2ZSBhcHItbmF0aXZlIGFwci11dGlsLW5hdGl2ZSIKK1NFQ1RJT04gPSAibmV0IgorTElDRU5TRSA9ICJBcGFjaGUtMi4wIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgbmF0aXZlCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5hcGFjaGUub3JnL2Rpc3QvaHR0cGQvaHR0cGQtJHtQVn0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWNvbmZpZ3VyZS11c2UtcGtnLWNvbmZpZy1mb3ItUENSRS1kZXRlY3Rpb24ucGF0Y2ggXAorICAgICAgICAgICIKKworUyA9ICIke1dPUktESVJ9L2h0dHBkLSR7UFZ9IgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1kYmZmNWEyYjU0MmZhNTg4NTQ0NTViZjFhMGI5NGI4MyIKK1NSQ19VUklbbWQ1c3VtXSA9ICIzZmY0ZjAwZWUwNTFjZjVkNTMwNGI0N2IxYmM0MThiOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwZTc2YTM3NWVkM2RiYWM2MzZmNTBhYzM5ZGU5NjZlY2U0NDM3NTFmZTRkNjIzOTJmOWEzNjBhMTlkOTRkMGRhIgorCitFWFRSQV9PRUNPTkYgPSAiLS13aXRoLWFwcj0ke1NUQUdJTkdfQklORElSX0NST1NTfS9hcHItMS1jb25maWcgXAorICAgICAgICAgICAgICAgIC0td2l0aC1hcHItdXRpbD0ke1NUQUdJTkdfQklORElSX0NST1NTfS9hcHUtMS1jb25maWcgXAorICAgICAgICAgICAgICAgIC0tcHJlZml4PSR7cHJlZml4fSAtLWRhdGFkaXI9JHtkYXRhZGlyfS9hcGFjaGUyIFwKKyAgICAgICAgICAgICAgICIKKworZG9faW5zdGFsbCAoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9ICR7RH0ke2xpYmRpcn0KKyAgICBjcCBzZXJ2ZXIvZ2VuX3Rlc3RfY2hhciAke0R9JHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtbSA3NTUgc3VwcG9ydC9hcHhzICR7RH0ke2JpbmRpcn0vCisgICAgaW5zdGFsbCAtbSA3NTUgaHR0cGQgJHtEfSR7YmluZGlyfS8KKyAgICBpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9L2FwYWNoZTIvYnVpbGQKKyAgICBjcCAke1N9L2J1aWxkLyoubWsgJHtEfSR7ZGF0YWRpcn0vYXBhY2hlMi9idWlsZAorICAgIGNwIGJ1aWxkLyoubWsgJHtEfSR7ZGF0YWRpcn0vYXBhY2hlMi9idWlsZAorICAgIGNwICR7U30vYnVpbGQvaW5zdGRzby5zaCAke0R9JHtkYXRhZGlyfS9hcGFjaGUyL2J1aWxkCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke2luY2x1ZGVkaXJ9L2FwYWNoZTIKKyAgICBjcCAke1N9L2luY2x1ZGUvKiAke0R9JHtpbmNsdWRlZGlyfS9hcGFjaGUyCisgICAgY3AgaW5jbHVkZS8qICR7RH0ke2luY2x1ZGVkaXJ9L2FwYWNoZTIKKyAgICBjcCAke1N9L29zL3VuaXgvb3MuaCAke0R9JHtpbmNsdWRlZGlyfS9hcGFjaGUyCisgICAgY3AgJHtTfS9vcy91bml4L3VuaXhkLmggJHtEfSR7aW5jbHVkZWRpcn0vYXBhY2hlMgorCisgICAgY3Agc3VwcG9ydC9lbnZ2YXJzLXN0ZCAke0R9JHtiaW5kaXJ9L2VudnZhcnMKKyAgICBjaG1vZCA3NTUgJHtEfSR7YmluZGlyfS9lbnZ2YXJzCit9CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9hcGFjaGUyL2FwYWNoZTIvYXBhY2hlLWNvbmZpZ3VyZV9wZXJsYmluLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvYXBhY2hlMi9hcGFjaGUtY29uZmlndXJlX3BlcmxiaW4ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzkwMjc5ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9hcGFjaGUyL2FwYWNoZTIvYXBhY2hlLWNvbmZpZ3VyZV9wZXJsYmluLnBhdGNoCkBAIC0wLDAgKzEsMjAgQEAKKyMgQXV0aG9yOiBlY2hvIDxmZWkuZ2VuZ0B3aW5kcml2ZXIuY29tPgorIyBEYXRlOiBBcHJpbCAyOCAyMDA5CisjIFN1bW1hcnk6Rml4IHBlcmwgaW5zdGFsbCBkaXJlY3RvcnkgdG8gL3Vzci9iaW4KKyMKKyMgVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQorCistLS0gYS9jb25maWd1cmUuaW4KKysrKyBiL2NvbmZpZ3VyZS5pbgorQEAgLTYzOCwxMCArNjM4LDcgQEAKKyBBQ19ERUZJTkVfVU5RVU9URUQoQVBBQ0hFX01QTV9ESVIsICIkTVBNX0RJUiIsCisgCVtMb2NhdGlvbiBvZiB0aGUgc291cmNlIGZvciB0aGUgY3VycmVudCBNUE1dKQorIAorLXBlcmxiaW49YCRhY19hdXhfZGlyL1ByaW50UGF0aCBwZXJsYAorLWlmIHRlc3QgIngkcGVybGJpbiIgPSAieCI7IHRoZW4KKy0gICAgcGVybGJpbj0iL3JlcGxhY2Uvd2l0aC9wYXRoL3RvL3BlcmwvaW50ZXJwcmV0ZXIiCistZmkKKytwZXJsYmluPScvdXNyL2Jpbi9wZXJsJworIEFDX1NVQlNUKHBlcmxiaW4pCisgCisgZG5sIElmIHdlIGFyZSBydW5uaW5nIG9uIEJTRC9PUywgd2UgbmVlZCB0byB1c2UgdGhlIEJTRCAuaW5jbHVkZSBzeW50YXguCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvYXBhY2hlMi9hcGFjaGUyL2FwYWNoZS1zc2wtbHRtYWluLXJwYXRoLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvYXBhY2hlMi9hcGFjaGUtc3NsLWx0bWFpbi1ycGF0aC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MTNkYzUzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvYXBhY2hlMi9hcGFjaGUtc3NsLWx0bWFpbi1ycGF0aC5wYXRjaApAQCAtMCwwICsxLDg0IEBACisgYnVpbGQvbHRtYWluLnNoIHwgMzIgKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMjcgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2J1aWxkL2x0bWFpbi5zaCBiL2J1aWxkL2x0bWFpbi5zaAoraW5kZXggNWVjYTRhZS4uODA1YjQ2MSAxMDA2NDQKKy0tLSBhL2J1aWxkL2x0bWFpbi5zaAorKysrIGIvYnVpbGQvbHRtYWluLnNoCitAQCAtNjk0NCw3ICs2OTQ0LDcgQEAgZnVuY19tb2RlX2xpbmsgKCkKKyAJZGlyPSRmdW5jX3Jlc29sdmVfc3lzcm9vdF9yZXN1bHQKKyAJIyBXZSBuZWVkIGFuIGFic29sdXRlIHBhdGguCisgCWNhc2UgJGRpciBpbgorLQlbXFwvXSogfCBbQS1aYS16XTpbXFwvXSopIDs7CisrCT0qIHwgW1xcL10qIHwgW0EtWmEtel06W1xcL10qKSA7OworIAkqKQorIAkgIGFic2Rpcj1gY2QgIiRkaXIiICYmIHB3ZGAKKyAJICB0ZXN0IC16ICIkYWJzZGlyIiAmJiBcCitAQCAtODEzNyw3ICs4MTM3LDcgQEAgZnVuY19tb2RlX2xpbmsgKCkKKyAJICAgICRFQ0hPICIqKiogJGxpbmtsaWIgaXMgbm90IHBvcnRhYmxlISIKKyAJICBmaQorIAkgIGlmIHRlc3QgbGliID0gIiRsaW5rbW9kZSIgJiYKKy0JICAgICB0ZXN0IHllcyA9ICIkaGFyZGNvZGVfaW50b19saWJzIjsgdGhlbgorKwkgICAgIHRlc3QgIngkd3JzX3VzZV9ycGF0aHMiID0gInh5ZXMiICYmIHRlc3QgIiRoYXJkY29kZV9pbnRvX2xpYnMiID0geWVzOyB0aGVuCisgCSAgICAjIEhhcmRjb2RlIHRoZSBsaWJyYXJ5IHBhdGguCisgCSAgICAjIFNraXAgZGlyZWN0b3JpZXMgdGhhdCBhcmUgaW4gdGhlIHN5c3RlbSBkZWZhdWx0IHJ1bi10aW1lCisgCSAgICAjIHNlYXJjaCBwYXRoLgorQEAgLTg0MDQsNyArODQwNCw3IEBAIGZ1bmNfbW9kZV9saW5rICgpCisgCisgCWlmIHRlc3QgbGliID0gIiRsaW5rbW9kZSI7IHRoZW4KKyAJICBpZiB0ZXN0IC1uICIkZGVwZW5kZW5jeV9saWJzIiAmJgorLQkgICAgIHsgdGVzdCB5ZXMgIT0gIiRoYXJkY29kZV9pbnRvX2xpYnMiIHx8CisrICAgICAgICAgICAgICB7IHRlc3QgeWVzICE9ICIkaGFyZGNvZGVfaW50b19saWJzIiB8fCB0ZXN0ICJ4JHdyc191c2VfcnBhdGhzIiAhPSAieHllcyIgfHwKKyAJICAgICAgIHRlc3QgeWVzID0gIiRidWlsZF9vbGRfbGlicyIgfHwKKyAJICAgICAgIHRlc3QgeWVzID0gIiRsaW5rX3N0YXRpYyI7IH07IHRoZW4KKyAJICAgICMgRXh0cmFjdCAtUiBmcm9tIGRlcGVuZGVuY3lfbGlicworQEAgLTkwMjUsNyArOTAyNSw4IEBAIGZ1bmNfbW9kZV9saW5rICgpCisgCSAgKikgZnVuY19hcHBlbmQgZmluYWxpemVfcnBhdGggIiAkbGliZGlyIiA7OworIAkgIGVzYWMKKyAJZG9uZQorLQlpZiB0ZXN0IHllcyAhPSAiJGhhcmRjb2RlX2ludG9fbGlicyIgfHwgdGVzdCB5ZXMgPSAiJGJ1aWxkX29sZF9saWJzIjsgdGhlbgorKyAgICAgICAgaWYgdGVzdCB5ZXMgIT0gIiRoYXJkY29kZV9pbnRvX2xpYnMiICB8fCB0ZXN0ICJ4JHdyc191c2VfcnBhdGhzIiAhPSAieHllcyIgfHwKKysgICAgICAgICAgIHRlc3QgeWVzID0gIiRidWlsZF9vbGRfbGlicyI7IHRoZW4KKyAJICBkZXBlbmRlbmN5X2xpYnM9IiR0ZW1wX3hycGF0aCAkZGVwZW5kZW5jeV9saWJzIgorIAlmaQorICAgICAgIGZpCitAQCAtOTQ3Myw3ICs5NDc0LDcgQEAgRU9GCisgCWNhc2UgJGFyY2hpdmVfY21kcyBpbgorIAkgICpcJExEXCAqKSB3bD0gOzsKKyAgICAgICAgIGVzYWMKKy0JaWYgdGVzdCB5ZXMgPSAiJGhhcmRjb2RlX2ludG9fbGlicyI7IHRoZW4KKysJaWYgdGVzdCB5ZXMgPSAiJGhhcmRjb2RlX2ludG9fbGlicyIgJiYgdGVzdCAieCR3cnNfdXNlX3JwYXRocyIgPSAieHllcyI7IHRoZW4KKyAJICAjIEhhcmRjb2RlIHRoZSBsaWJyYXJ5IHBhdGhzCisgCSAgaGFyZGNvZGVfbGliZGlycz0KKyAJICBkZXBfcnBhdGg9CitAQCAtMTAyMTEsNiArMTAyMTIsMjcgQEAgRU9GCisgICAgICAgIyBOb3cgaGFyZGNvZGUgdGhlIGxpYnJhcnkgcGF0aHMKKyAgICAgICBycGF0aD0KKyAgICAgICBoYXJkY29kZV9saWJkaXJzPQorKworKyAgICAgICMgc2hvcnQgY2lyY3VpdCBwdXR0aW5nIHJwYXRocyBpbiBleGVjdXRhYmxlcworKyAgICAgICMKKysgICAgICBpZiB0ZXN0ICJ4JHdyc191c2VfcnBhdGhzIiAhPSAieHllcyIgOyB0aGVuCisrICAgICAgICBmbGFnPQorKyAgICAgICAgZm9yIGxpYmRpciBpbiAkY29tcGlsZV9ycGF0aDsgZG8KKysgICAgICAgICAgY2FzZSAkKGVjaG8gJGxpYmRpciB8ICR7U0VEfSAncywvWy9dKiwvLGcnKSBpbgorKyAgICAgICAgICAgIC91c3IvbGliLyogfCAvdXNyL2xpYjMyLyogfCAvdXNyL2xpYjY0LyogKSBmbGFnPSIkZmxhZyAkbGliZGlyIiA7OworKyAgICAgICAgICBlc2FjCisrICAgICAgICBkb25lCisrICAgICAgICBjb21waWxlX3JwYXRoPSIkZmxhZyIKKysKKysgICAgICAgIGZsYWc9CisrICAgICAgICBmb3IgbGliZGlyIGluICRmaW5hbGl6ZV9ycGF0aDsgZG8KKysgICAgICAgICAgY2FzZSAkKGVjaG8gJGxpYmRpciB8ICR7U0VEfSAncywvWy9dKiwvLGcnKSBpbgorKyAgICAgICAgICAgIC91c3IvbGliLyogfCAvdXNyL2xpYjMyLyogfCAvdXNyL2xpYjY0LyogKSBmbGFnPSIkZmxhZyAkbGliZGlyIiA7OworKyAgICAgICAgICBlc2FjCisrICAgICAgICBkb25lCisrICAgICAgICBmaW5hbGl6ZV9ycGF0aD0iJGZsYWciCisrICAgICAgZmkKKysKKyAgICAgICBmb3IgbGliZGlyIGluICRjb21waWxlX3JwYXRoICRmaW5hbGl6ZV9ycGF0aDsgZG8KKyAJaWYgdGVzdCAtbiAiJGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWMiOyB0aGVuCisgCSAgaWYgdGVzdCAtbiAiJGhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3IiOyB0aGVuCistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9hcGFjaGUyL2FwYWNoZTIvZml4LWxpYnRvb2wtbmFtZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9hcGFjaGUyL2FwYWNoZTIvZml4LWxpYnRvb2wtbmFtZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMjdhZjA0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvYXBhY2hlMi9maXgtbGlidG9vbC1uYW1lLnBhdGNoCkBAIC0wLDAgKzEsNTUgQEAKK0ZpeCBidWlsZCBzY3JpcHRzIHRvIHVzZSBjb3JyZWN0IGxpYnRvb2wgZmlsZW5hbWUKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQorCistLS0KKyBodHRwZC0yLjQuMi9idWlsZC9jb25maWdfdmFycy5zaC5pbiB8ICAgIDIgKy0KKyBodHRwZC0yLjQuMi9jb25maWd1cmUgICAgICAgICAgICAgICB8ICAgIDIgKy0KKyBodHRwZC0yLjQuMi9jb25maWd1cmUuaW4gICAgICAgICAgICB8ICAgIDIgKy0KKyBodHRwZC0yLjQuMi9zdXBwb3J0L2FweHMuaW4gICAgICAgICB8ICAgIDIgKy0KKyA0IGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKKworLS0tIGEvYnVpbGQvY29uZmlnX3ZhcnMuc2guaW4KKysrKyBiL2J1aWxkL2NvbmZpZ192YXJzLnNoLmluCitAQCAtMzUsNyArMzUsNyBAQCBlbHNlCisgICAgQVBVX0NPTkZJRz1AQVBVX0NPTkZJR0AKKyBmaQorIAorLUFQUl9MSUJUT09MPSJgJHtBUFJfQ09ORklHfSAtLWFwci1saWJ0b29sYCIKKytBUFJfTElCVE9PTD0iYCR7QVBSX0NPTkZJR30gLS1hcHItbGlidG9vbCB8IHNlZCAtZSBzLGxpYnRvb2wsJHtob3N0X2FsaWFzfS1saWJ0b29sLGAiCisgQVBSX0lOQ0xVREVESVI9ImAke0FQUl9DT05GSUd9IC0taW5jbHVkZWRpcmAiCisgdGVzdCAtbiAiQEFQVV9DT05GSUdAIiAmJiBBUFVfSU5DTFVERURJUj0iYCR7QVBVX0NPTkZJR30gLS1pbmNsdWRlZGlyYCIKKyAKKy0tLSBhL2NvbmZpZ3VyZQorKysrIGIvY29uZmlndXJlCitAQCAtNjIwNSw3ICs2MjA1LDcgQEAgY2FzZSAkaG9zdCBpbgorICAgICAgIGlmIHRlc3QgIngkTFRGTEFHUyIgPSAieCI7IHRoZW4KKyAgICAgICAgICAgTFRGTEFHUz0nLS1zaWxlbnQnCisgICAgICAgZmkKKy0gICAgICBteV9saWJ0b29sPWAkYXByX2NvbmZpZyAtLWFwci1saWJ0b29sYAorKyAgICAgIG15X2xpYnRvb2w9YCRhcHJfY29uZmlnIC0tYXByLWxpYnRvb2wgfCBzZWQgLWUgcyxsaWJ0b29sLCR7aG9zdF9hbGlhc30tbGlidG9vbCxgCisgICAgICAgTElCVE9PTD0iJG15X2xpYnRvb2wgXCQoTFRGTEFHUykiCisgICAgICAgbGlidG9vbHZlcnNpb249YCRteV9saWJ0b29sIC0tdmVyc2lvbmAKKyAgICAgICBjYXNlICRsaWJ0b29sdmVyc2lvbiBpbgorLS0tIGEvY29uZmlndXJlLmluCisrKysgYi9jb25maWd1cmUuaW4KK0BAIC0yNjQsNyArMjY0LDcgQEAgY2FzZSAkaG9zdCBpbgorICAgICAgIGlmIHRlc3QgIngkTFRGTEFHUyIgPSAieCI7IHRoZW4KKyAgICAgICAgICAgTFRGTEFHUz0nLS1zaWxlbnQnCisgICAgICAgZmkKKy0gICAgICBteV9saWJ0b29sPWAkYXByX2NvbmZpZyAtLWFwci1saWJ0b29sYAorKyAgICAgIG15X2xpYnRvb2w9YCRhcHJfY29uZmlnIC0tYXByLWxpYnRvb2wgfCBzZWQgLWUgcyxsaWJ0b29sLCR7aG9zdF9hbGlhc30tbGlidG9vbCxgCisgICAgICAgTElCVE9PTD0iJG15X2xpYnRvb2wgXCQoTFRGTEFHUykiCisgICAgICAgbGlidG9vbHZlcnNpb249YCRteV9saWJ0b29sIC0tdmVyc2lvbmAKKyAgICAgICBjYXNlICRsaWJ0b29sdmVyc2lvbiBpbgorLS0tIGEvc3VwcG9ydC9hcHhzLmluCisrKysgYi9zdXBwb3J0L2FweHMuaW4KK0BAIC0zNTIsNyArMzUyLDcgQEAgaWYgKCRhcHJfbWFqb3JfdmVyc2lvbiA8IDIpIHsKKyAgICAgfQorIH0KKyAKKy1teSAkbGlidG9vbCA9IGAkYXByX2NvbmZpZyAtLWFwci1saWJ0b29sYDsKKytteSAkbGlidG9vbCA9IGAkYXByX2NvbmZpZyAtLWFwci1saWJ0b29sfCBzZWQgLWUgcyxsaWJ0b29sLCR7aG9zdF9hbGlhc30tbGlidG9vbCxgOworIGNob21wKCRsaWJ0b29sKTsKKyAKKyBteSAkYXByX2luY2x1ZGVkaXIgPSBgJGFwcl9jb25maWcgLS1pbmNsdWRlc2A7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvYXBhY2hlMi9hcGFjaGUyL2h0dHBkLTIuNC4xLWNvcmVsaW1pdC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9hcGFjaGUyL2FwYWNoZTIvaHR0cGQtMi40LjEtY29yZWxpbWl0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE4ZTQxMDcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvYXBhY2hlMi9hcGFjaGUyL2h0dHBkLTIuNC4xLWNvcmVsaW1pdC5wYXRjaApAQCAtMCwwICsxLDM3IEBACisKK0J1bXAgdXAgdGhlIGNvcmUgc2l6ZSBsaW1pdCBpZiBDb3JlRHVtcERpcmVjdG9yeSBpcworY29uZmlndXJlZC4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nIAorCitOb3RlOiB1cHN0cmVhbWluZyB3YXMgZGlzY3Vzc2VkIGJ1dCB0aGVyZSBhcmUgY29tcGV0aW5nIGRlc2lyZXM7CisJdGhlcmUgYXJlIHBvcnRhYmlsaXR5IG9kZGl0aWVzIGhlcmUgdG9vLgorCistLS0gaHR0cGQtMi40LjEvc2VydmVyL2NvcmUuYy5jb3JlbGltaXQKKysrKyBodHRwZC0yLjQuMS9zZXJ2ZXIvY29yZS5jCitAQCAtNDQzMyw2ICs0NDMzLDI1IEBAIHN0YXRpYyBpbnQgY29yZV9wb3N0X2NvbmZpZyhhcHJfcG9vbF90ICoKKyAgICAgfQorICAgICBhcHJfcG9vbF9jbGVhbnVwX3JlZ2lzdGVyKHBjb25mLCBOVUxMLCBhcF9tcG1fZW5kX2dlbl9oZWxwZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXByX3Bvb2xfY2xlYW51cF9udWxsKTsKKysKKysjaWZkZWYgUkxJTUlUX0NPUkUKKysgICAgaWYgKGFwX2NvcmVkdW1wZGlyX2NvbmZpZ3VyZWQpIHsKKysgICAgICAgIHN0cnVjdCBybGltaXQgbGltOworKworKyAgICAgICAgaWYgKGdldHJsaW1pdChSTElNSVRfQ09SRSwgJmxpbSkgPT0gMCAmJiBsaW0ucmxpbV9jdXIgPT0gMCkgeworKyAgICAgICAgICAgIGxpbS5ybGltX2N1ciA9IGxpbS5ybGltX21heDsKKysgICAgICAgICAgICBpZiAoc2V0cmxpbWl0KFJMSU1JVF9DT1JFLCAmbGltKSA9PSAwKSB7CisrICAgICAgICAgICAgICAgIGFwX2xvZ19lcnJvcihBUExPR19NQVJLLCBBUExPR19OT1RJQ0UsIDAsIE5VTEwsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29yZSBkdW1wIGZpbGUgc2l6ZSBsaW1pdCByYWlzZWQgdG8gJWx1IGJ5dGVzIiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbS5ybGltX2N1cik7CisrICAgICAgICAgICAgfSBlbHNlIHsKKysgICAgICAgICAgICAgICAgYXBfbG9nX2Vycm9yKEFQTE9HX01BUkssIEFQTE9HX05PVElDRSwgZXJybm8sIE5VTEwsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29yZSBkdW1wIGZpbGUgc2l6ZSBpcyB6ZXJvLCBzZXRybGltaXQgZmFpbGVkIik7CisrICAgICAgICAgICAgfQorKyAgICAgICAgfQorKyAgICB9CisrI2VuZGlmCisrCisgICAgIHJldHVybiBPSzsKKyB9CisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvYXBhY2hlMi9hcGFjaGUyL2h0dHBkLTIuNC4xLXNlbGludXgucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvYXBhY2hlMi9hcGFjaGUyL2h0dHBkLTIuNC4xLXNlbGludXgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODczMzI4ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9hcGFjaGUyL2FwYWNoZTIvaHR0cGQtMi40LjEtc2VsaW51eC5wYXRjaApAQCAtMCwwICsxLDYzIEBACisKK0xvZyB0aGUgU0VMaW51eCBjb250ZXh0IGF0IHN0YXJ0dXAuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbb3RoZXJdCisKK05vdGU6IHVubGlrZWx5IHRvIGJlIGFueSBpbnRlcmVzdCBpbiB0aGlzIHVwc3RyZWFtCisKKy0tLSBodHRwZC0yLjQuMS9jb25maWd1cmUuaW4uc2VsaW51eAorKysrIGh0dHBkLTIuNC4xL2NvbmZpZ3VyZS5pbgorQEAgLTQ1OCw2ICs0NTgsMTEgQEAgZm9wZW42NAorIGRubCBjb25maXJtIHRoYXQgYSB2b2lkIHBvaW50ZXIgaXMgbGFyZ2UgZW5vdWdoIHRvIHN0b3JlIGEgbG9uZyBpbnRlZ2VyCisgQVBBQ0hFX0NIRUNLX1ZPSURfUFRSX0xFTgorIAorK0FDX0NIRUNLX0xJQihzZWxpbnV4LCBpc19zZWxpbnV4X2VuYWJsZWQsIFsKKysgICBBQ19ERUZJTkUoSEFWRV9TRUxJTlVYLCAxLCBbRGVmaW5lZCBpZiBTRUxpbnV4IGlzIHN1cHBvcnRlZF0pCisrICAgQVBSX0FERFRPKEFQX0xJQlMsIFstbHNlbGludXhdKQorK10pCisrCisgQUNfQ0FDSEVfQ0hFQ0soW2ZvciBnZXR0aWQoKV0sIGFjX2N2X2dldHRpZCwKKyBbQUNfVFJZX1JVTigjZGVmaW5lIF9HTlVfU09VUkNFCisgI2luY2x1ZGUgPHVuaXN0ZC5oPgorLS0tIGh0dHBkLTIuNC4xL3NlcnZlci9jb3JlLmMuc2VsaW51eAorKysrIGh0dHBkLTIuNC4xL3NlcnZlci9jb3JlLmMKK0BAIC01OCw2ICs1OCwxMCBAQAorICNpbmNsdWRlIDx1bmlzdGQuaD4KKyAjZW5kaWYKKyAKKysjaWZkZWYgSEFWRV9TRUxJTlVYCisrI2luY2x1ZGUgPHNlbGludXgvc2VsaW51eC5oPgorKyNlbmRpZgorKworIC8qIExpbWl0UmVxdWVzdEJvZHkgaGFuZGxpbmcgKi8KKyAjZGVmaW5lIEFQX0xJTUlUX1JFUV9CT0RZX1VOU0VUICAgICAgICAgKChhcHJfb2ZmX3QpIC0xKQorICNkZWZpbmUgQVBfREVGQVVMVF9MSU1JVF9SRVFfQk9EWSAgICAgICAoKGFwcl9vZmZfdCkgMCkKK0BAIC00NDUyLDYgKzQ0NTYsMjggQEAgc3RhdGljIGludCBjb3JlX3Bvc3RfY29uZmlnKGFwcl9wb29sX3QgKgorICAgICB9CisgI2VuZGlmCisgCisrI2lmZGVmIEhBVkVfU0VMSU5VWAorKyAgICB7CisrICAgICAgICBzdGF0aWMgaW50IGFscmVhZHlfd2FybmVkID0gMDsKKysgICAgICAgIGludCBpc19lbmFibGVkID0gaXNfc2VsaW51eF9lbmFibGVkKCkgPiAwOworKyAgICAgICAgCisrICAgICAgICBpZiAoaXNfZW5hYmxlZCAmJiAhYWxyZWFkeV93YXJuZWQpIHsKKysgICAgICAgICAgICBzZWN1cml0eV9jb250ZXh0X3QgY29uOworKyAgICAgICAgICAgIAorKyAgICAgICAgICAgIGlmIChnZXRjb24oJmNvbikgPT0gMCkgeworKyAgICAgICAgICAgICAgICAKKysgICAgICAgICAgICAgICAgYXBfbG9nX2Vycm9yKEFQTE9HX01BUkssIEFQTE9HX05PVElDRSwgMCwgTlVMTCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTRUxpbnV4IHBvbGljeSBlbmFibGVkOyAiCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaHR0cGQgcnVubmluZyBhcyBjb250ZXh0ICVzIiwgY29uKTsKKysgICAgICAgICAgICAgICAgCisrICAgICAgICAgICAgICAgIGFscmVhZHlfd2FybmVkID0gMTsKKysgICAgICAgICAgICAgICAgCisrICAgICAgICAgICAgICAgIGZyZWVjb24oY29uKTsKKysgICAgICAgICAgICB9CisrICAgICAgICB9CisrICAgIH0KKysjZW5kaWYKKysKKyAgICAgcmV0dXJuIE9LOworIH0KKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9hcGFjaGUyL2FwYWNoZTIvaHR0cGQtMi40LjQtZXhwb3J0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvYXBhY2hlMi9odHRwZC0yLjQuNC1leHBvcnQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWZiZWQ4ZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9hcGFjaGUyL2FwYWNoZTIvaHR0cGQtMi40LjQtZXhwb3J0LnBhdGNoCkBAIC0wLDAgKzEsMjIgQEAKKworVGhlcmUgaXMgbm8gbmVlZCB0byAic3VjayBpbiIgdGhlIGFwci9hcHItdXRpbCBzeW1ib2xzIHdoZW4gdXNpbmcKK2Egc2hhcmVkIGxpYmFwcnssdXRpbH0sIGl0IGp1c3QgYmxvYXRzIHRoZSBzeW1ib2wgdGFibGU7IHNvIGRvbid0LgorCitVcHN0cmVhbS1IRUFEOiBuZWVkZWQKK1Vwc3RyZWFtLTIuMDogb21pdAorVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK05vdGU6IEVYUE9SVF9ESVJTIGNoYW5nZSBpcyBjb25kaXRpb25hbCBvbiB1c2luZyBzaGFyZWQgYXByCisKKy0tLSBodHRwZC0yLjQuNC9zZXJ2ZXIvTWFrZWZpbGUuaW4uZXhwb3J0CisrKysgaHR0cGQtMi40LjQvc2VydmVyL01ha2VmaWxlLmluCitAQCAtNTcsOSArNTcsNiBAQCBleHBvcnRfZmlsZXM6CisgCSggZm9yIGRpciBpbiAkKEVYUE9SVF9ESVJTKTsgZG8gXAorIAkgICAgICBscyAkJGRpci8qLmggOyBcCisgCSAgZG9uZTsgXAorLQkgIGZvciBkaXIgaW4gJChFWFBPUlRfRElSU19BUFIpOyBkbyBcCistCSAgICAgIGxzICQkZGlyL2FwW3J1XS5oICQkZGlyL2FwW3J1XV8qLmggMj4vZGV2L251bGw7IFwKKy0JICBkb25lOyBcCisgCSkgfCBzZWQgLWUgcywvLywvLGcgfCBzb3J0IC11ID4gJEAKKyAKKyBleHBvcnRzLmM6IGV4cG9ydF9maWxlcwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvYXBhY2hlMi9yZXBsYWNlLWx5bngtdG8tY3VybC1pbi1hcGFjaGVjdGwtc2NyaXB0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvYXBhY2hlMi9yZXBsYWNlLWx5bngtdG8tY3VybC1pbi1hcGFjaGVjdGwtc2NyaXB0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU4NGRkYzgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvYXBhY2hlMi9hcGFjaGUyL3JlcGxhY2UtbHlueC10by1jdXJsLWluLWFwYWNoZWN0bC1zY3JpcHQucGF0Y2gKQEAgLTAsMCArMSw1MiBAQAorRnJvbSA3NjBjY2JiMmZiMDQ2NjIxYTJhZWFlY2FiYjJiMWVmOWFhMjgwY2YxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogWXVsb25nIFBlaSA8WXVsb25nLnBlaUB3aW5kcml2ZXIuY29tPgorRGF0ZTogVGh1LCAxIFNlcCAyMDExIDAxOjAzOjE0ICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIHJlcGxhY2UgbHlueCB0byBjdXJsIGluIGFwYWNoZWN0bCBzY3JpcHQKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQorCitTaWduZWQtb2ZmLWJ5OiBZdWxvbmcgUGVpIDxZdWxvbmcucGVpQHdpbmRyaXZlci5jb20+CistLS0KKyBzdXBwb3J0L2FwYWNoZWN0bC5pbiB8ICAgMTQgKysrKysrKysrKy0tLS0KKyAxIGZpbGVzIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zdXBwb3J0L2FwYWNoZWN0bC5pbiBiL3N1cHBvcnQvYXBhY2hlY3RsLmluCitpbmRleCBkNGRmZjM4Li4xMDllYTEzIDEwMDY0NAorLS0tIGEvc3VwcG9ydC9hcGFjaGVjdGwuaW4KKysrKyBiL3N1cHBvcnQvYXBhY2hlY3RsLmluCitAQCAtNTEsMTEgKzUxLDExIEBAIGZpCisgIyBhIGNvbW1hbmQgdGhhdCBvdXRwdXRzIGEgZm9ybWF0dGVkIHRleHQgdmVyc2lvbiBvZiB0aGUgSFRNTCBhdCB0aGUKKyAjIHVybCBnaXZlbiBvbiB0aGUgY29tbWFuZCBsaW5lLiAgRGVzaWduZWQgZm9yIGx5bngsIGhvd2V2ZXIgb3RoZXIKKyAjIHByb2dyYW1zIG1heSB3b3JrLiAgCistTFlOWD0iQExZTlhfUEFUSEAgLWR1bXAiCisrQ1VSTD0iL3Vzci9iaW4vY3VybCIKKyAjCisgIyB0aGUgVVJMIHRvIHlvdXIgc2VydmVyJ3MgbW9kX3N0YXR1cyBzdGF0dXMgcGFnZS4gIElmIHlvdSBkbyBub3QKKyAjIGhhdmUgb25lLCB0aGVuIHN0YXR1cyBhbmQgZnVsbHN0YXR1cyB3aWxsIG5vdCB3b3JrLgorLVNUQVRVU1VSTD0iaHR0cDovL2xvY2FsaG9zdDpAUE9SVEAvc2VydmVyLXN0YXR1cyIKKytTVEFUVVNVUkw9Imh0dHA6Ly9sb2NhbGhvc3Q6QFBPUlRALyIKKyAjCisgIyBTZXQgdGhpcyB2YXJpYWJsZSB0byBhIGNvbW1hbmQgdGhhdCBpbmNyZWFzZXMgdGhlIG1heGltdW0KKyAjIG51bWJlciBvZiBmaWxlIGRlc2NyaXB0b3JzIGFsbG93ZWQgcGVyIGNoaWxkIHByb2Nlc3MuIFRoaXMgaXMKK0BAIC05MSwxMCArOTEsMTYgQEAgY29uZmlndGVzdCkKKyAgICAgRVJST1I9JD8KKyAgICAgOzsKKyBzdGF0dXMpCistICAgICRMWU5YICRTVEFUVVNVUkwgfCBhd2sgJyAvcHJvY2VzcyQvIHsgcHJpbnQ7IGV4aXQgfSB7IHByaW50IH0gJworKyAgICAkQ1VSTCAtcyAkU1RBVFVTVVJMIHwgZ3JlcCAtbyAiSXQgd29ya3MhIgorKyAgICBpZiBbICQ/ICE9IDAgXSA7IHRoZW4KKysgICAgICAgIGVjaG8gVGhlIGh0dHBkIHNlcnZlciBkb2VzIG5vdCB3b3JrIQorKyAgICBmaQorICAgICA7OworIGZ1bGxzdGF0dXMpCistICAgICRMWU5YICRTVEFUVVNVUkwKKysgICAgJENVUkwgLXMgJFNUQVRVU1VSTCB8IGdyZXAgLW8gIkl0IHdvcmtzISIKKysgICAgaWYgWyAkPyAhPSAwIF0gOyB0aGVuCisrICAgICAgICBlY2hvIFRoZSBodHRwZCBzZXJ2ZXIgZG9lcyBub3Qgd29yayEKKysgICAgZmkKKyAgICAgOzsKKyAqKQorICAgICAkSFRUUEQgJEFSR1YKKy0tIAorMS42LjQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvYXBhY2hlMi9zZXJ2ZXItbWFrZWZpbGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvYXBhY2hlMi9hcGFjaGUyL3NlcnZlci1tYWtlZmlsZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMTM0OWNiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvYXBhY2hlMi9zZXJ2ZXItbWFrZWZpbGUucGF0Y2gKQEAgLTAsMCArMSwxMSBAQAorLS0tIGh0dHAtMi4wLjU0L3NlcnZlci9NYWtlZmlsZS5pbi1vbGQJMjAwNS0xMi0yMCAxMzoyNjo1Ni4wMDAwMDAwMDAgLTA1MDAKKysrKyBodHRwLTIuMC41NC9zZXJ2ZXIvTWFrZWZpbGUuaW4JMjAwNS0xMi0yMCAxMzoyNzoyMi4wMDAwMDAwMDAgLTA1MDAKK0BAIC0yNyw3ICsyNyw3IEBACisgCSQoTElOSykgJChFWFRSQV9MREZMQUdTKSAkKGdlbl90ZXN0X2NoYXJfT0JKRUNUUykgJChFWFRSQV9MSUJTKQorIAorIHRlc3RfY2hhci5oOiBnZW5fdGVzdF9jaGFyCistCS4vZ2VuX3Rlc3RfY2hhciA+IHRlc3RfY2hhci5oCisrCWdlbl90ZXN0X2NoYXIgPiB0ZXN0X2NoYXIuaAorIAorIHV0aWwubG86IHRlc3RfY2hhci5oCisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvYXBhY2hlMi9hcGFjaGUyXzIuNC4yMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9hcGFjaGUyL2FwYWNoZTJfMi40LjIwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgxMTUxZDEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvYXBhY2hlMi9hcGFjaGUyXzIuNC4yMC5iYgpAQCAtMCwwICsxLDE4MSBAQAorREVTQ1JJUFRJT04gPSAiVGhlIEFwYWNoZSBIVFRQIFNlcnZlciBpcyBhIHBvd2VyZnVsLCBlZmZpY2llbnQsIGFuZCBcCitleHRlbnNpYmxlIHdlYiBzZXJ2ZXIuIgorU1VNTUFSWSA9ICJBcGFjaGUgSFRUUCBTZXJ2ZXIiCitIT01FUEFHRSA9ICJodHRwOi8vaHR0cGQuYXBhY2hlLm9yZy8iCitERVBFTkRTID0gImxpYnRvb2wtbmF0aXZlIGFwYWNoZTItbmF0aXZlIG9wZW5zc2wgZXhwYXQgcGNyZSBhcHIgYXByLXV0aWwiCitTRUNUSU9OID0gIm5ldCIKK0xJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmFwYWNoZS5vcmcvZGlzdC9odHRwZC9odHRwZC0ke1BWfS50YXIuYnoyIFwKKyAgICAgICAgICAgZmlsZTovL3NlcnZlci1tYWtlZmlsZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9odHRwZC0yLjQuMS1jb3JlbGltaXQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vaHR0cGQtMi40LjQtZXhwb3J0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2h0dHBkLTIuNC4xLXNlbGludXgucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vYXBhY2hlLWNvbmZpZ3VyZV9wZXJsYmluLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3JlcGxhY2UtbHlueC10by1jdXJsLWluLWFwYWNoZWN0bC1zY3JpcHQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vYXBhY2hlLXNzbC1sdG1haW4tcnBhdGgucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vaHR0cGQtMi40LjMtZml4LXJhY2UtaXNzdWUtb2YtZGlyLWluc3RhbGwucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1jb25maWd1cmUtdXNlLXBrZy1jb25maWctZm9yLVBDUkUtZGV0ZWN0aW9uLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2NvbmZpZ3VyZS1hbGxvdy10by1kaXNhYmxlLXNlbGludXgtc3VwcG9ydC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9pbml0IFwKKyAgICAgICAgICAgZmlsZTovL2FwYWNoZTItdm9sYXRpbGUuY29uZiBcCisgICAgICAgICAgIGZpbGU6Ly9hcGFjaGUyLnNlcnZpY2UgXAorICAgICAgICAgICIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ZGJmZjVhMmI1NDJmYTU4ODU0NDU1YmYxYTBiOTRiODMiCitTUkNfVVJJW21kNXN1bV0gPSAiM2ZmNGYwMGVlMDUxY2Y1ZDUzMDRiNDdiMWJjNDE4YjgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMGU3NmEzNzVlZDNkYmFjNjM2ZjUwYWMzOWRlOTY2ZWNlNDQzNzUxZmU0ZDYyMzkyZjlhMzYwYTE5ZDk0ZDBkYSIKKworUyA9ICIke1dPUktESVJ9L2h0dHBkLSR7UFZ9IgorCitpbmhlcml0IGF1dG90b29scyB1cGRhdGUtcmMuZCBwa2djb25maWcgc3lzdGVtZAorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAiYXBhY2hlMi5zZXJ2aWNlIgorU1lTVEVNRF9BVVRPX0VOQUJMRV8ke1BOfSA9ICJkaXNhYmxlIgorCitTU1RBVEVfU0NBTl9GSUxFUyArPSAiYXB4cyBjb25maWdfdmFycy5tayBjb25maWcubmljZSIKKworQ0ZMQUdTX2FwcGVuZCA9ICIgLURQQVRIX01BWD00MDk2IgorQ0ZMQUdTX3ByZXBlbmQgPSAiLUkke1NUQUdJTkdfSU5DRElSfS9vcGVuc3NsICIKK0VYVFJBX09FQ09ORiA9ICItLWVuYWJsZS1zc2wgXAorICAgIC0td2l0aC1zc2w9JHtTVEFHSU5HX0xJQkRJUn0vLi4gXAorICAgIC0td2l0aC1leHBhdD0ke1NUQUdJTkdfTElCRElSfS8uLiBcCisgICAgLS13aXRoLWFwcj0ke1NUQUdJTkdfQklORElSX0NST1NTfS9hcHItMS1jb25maWcgXAorICAgIC0td2l0aC1hcHItdXRpbD0ke1NUQUdJTkdfQklORElSX0NST1NTfS9hcHUtMS1jb25maWcgXAorICAgIC0tZW5hYmxlLWluZm8gXAorICAgIC0tZW5hYmxlLXJld3JpdGUgXAorICAgIC0td2l0aC1kYm09c2RibSBcCisgICAgLS13aXRoLWJlcmtlbGV5LWRiPW5vIFwKKyAgICAtLWxvY2Fsc3RhdGVkaXI9L3Zhci8ke0JQTn0gXAorICAgIC0td2l0aC1nZGJtPW5vIFwKKyAgICAtLXdpdGgtbmRibT1ubyBcCisgICAgLS1pbmNsdWRlZGlyPSR7aW5jbHVkZWRpcn0vJHtCUE59IFwKKyAgICAtLWRhdGFkaXI9JHtkYXRhZGlyfS8ke0JQTn0gXAorICAgIC0tc3lzY29uZmRpcj0ke3N5c2NvbmZkaXJ9LyR7QlBOfSBcCisgICAgLS1saWJleGVjZGlyPSR7bGliZGlyfS8ke0JQTn0vbW9kdWxlcyBcCisgICAgYXBfY3Zfdm9pZF9wdHJfbHRfbG9uZz1ubyBcCisgICAgLS1lbmFibGUtbXBtcy1zaGFyZWQgXAorICAgIGFjX2N2X2hhdmVfdGhyZWFkc2FmZV9wb2xsc2V0PW5vIgorCitQQUNLQUdFQ09ORklHID89ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3NlbGludXgnLCAnc2VsaW51eCcsICcnLCBkKX0iCitQQUNLQUdFQ09ORklHW3NlbGludXhdID0gIi0tZW5hYmxlLXNlbGludXgsLS1kaXNhYmxlLXNlbGludXgsbGlic2VsaW51eCxsaWJzZWxpbnV4IgorUEFDS0FHRUNPTkZJR1tvcGVubGRhcF0gPSAiLS1lbmFibGUtbGRhcCAtLWVuYWJsZS1hdXRobnotbGRhcCwtLWRpc2FibGUtbGRhcCAtLWRpc2FibGUtYXV0aG56LWxkYXAsb3BlbmxkYXAiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgIGNhdCAke1dPUktESVJ9L2luaXQgfCBcCisgICAgICAgIHNlZCAtZSAncywvdXNyL3NiaW4vLCR7c2JpbmRpcn0vLGcnIFwKKyAgICAgICAgICAgIC1lICdzLC91c3IvYmluLywke2JpbmRpcn0vLGcnIFwKKyAgICAgICAgICAgIC1lICdzLC91c3IvbGliLCR7bGliZGlyfS8sZycgXAorICAgICAgICAgICAgLWUgJ3MsL2V0Yy8sJHtzeXNjb25mZGlyfS8sZycgXAorICAgICAgICAgICAgLWUgJ3MsL3Vzci8sJHtwcmVmaXh9LyxnJyA+ICR7RH0vJHtzeXNjb25mZGlyfS9pbml0LmQvJHtCUE59CisgICAgY2htb2QgNzU1ICR7RH0vJHtzeXNjb25mZGlyfS9pbml0LmQvJHtCUE59CisgICAgIyByZW1vdmUgdGhlIGdvb2Z5IG9yaWdpbmFsIGZpbGVzLi4uCisgICAgcm0gLXJmICR7RH0vJHtzeXNjb25mZGlyfS8ke0JQTn0vb3JpZ2luYWwKKyAgICAjIEV4cGF0IHNob3VsZCBiZSBmb3VuZCBpbiB0aGUgc3RhZ2luZyBhcmVhIHZpYSBERVBFTkRTLi4uCisgICAgcm0gLWYgJHtEfS8ke2xpYmRpcn0vbGliZXhwYXQuKgorCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS8ke0JQTn0vY29uZi5kCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS8ke0JQTn0vbW9kdWxlcy5kCisKKyAgICAjIEVuc3VyZSBjb25maWd1cmF0aW9uIGZpbGUgcHVsbHMgaW4gY29uZi5kIGFuZCBtb2R1bGVzLmQKKyAgICBwcmludGYgIlxuSW5jbHVkZU9wdGlvbmFsICR7c3lzY29uZmRpcn0vJHtCUE59L2NvbmYuZC8qLmNvbmYiID4+ICR7RH0vJHtzeXNjb25mZGlyfS8ke0JQTn0vaHR0cGQuY29uZgorICAgIHByaW50ZiAiXG5JbmNsdWRlT3B0aW9uYWwgJHtzeXNjb25mZGlyfS8ke0JQTn0vbW9kdWxlcy5kLyouY29uZlxuXG4iID4+ICR7RH0vJHtzeXNjb25mZGlyfS8ke0JQTn0vaHR0cGQuY29uZgorICAgICMgbWF0Y2ggd2l0aCB0aGF0IGlzIGluIGluaXQgc2NyaXB0CisgICAgcHJpbnRmICJcblBpZEZpbGUgL3J1bi9odHRwZC5waWQiID4+ICR7RH0vJHtzeXNjb25mZGlyfS8ke0JQTn0vaHR0cGQuY29uZgorICAgICMgU2V0ICdTZXJ2ZXJOYW1lJyB0byBmaXggZXJyb3IgbWVzc2FnZXMgd2hlbiByZXN0YXJ0IGFwYWNoZSBzZXJ2aWNlCisgICAgc2VkIC1pICdzL14jU2VydmVyTmFtZSB3d3cuZXhhbXBsZS5jb20vU2VydmVyTmFtZSBsb2NhbGhvc3QvJyAke0R9LyR7c3lzY29uZmRpcn0vJHtCUE59L2h0dHBkLmNvbmYKKworICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuIAorICAgICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQvCisgICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2FwYWNoZTItdm9sYXRpbGUuY29uZiAke0R9JHtzeXNjb25mZGlyfS90bXBmaWxlcy5kLworICAgIGZpCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vYXBhY2hlMi5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgc2VkIC1pIC1lICdzLEBTQklORElSQCwke3NiaW5kaXJ9LGcnICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL2FwYWNoZTIuc2VydmljZQorICAgIHNlZCAtaSAtZSAncyxAQkFTRV9CSU5ESVJALCR7YmFzZV9iaW5kaXJ9LGcnICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL2FwYWNoZTIuc2VydmljZQorCisgICAgY2hvd24gLVIgcm9vdDpyb290ICR7RH0KK30KKworZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtdGFyZ2V0KCkgeworICAgIHNlZCAtaSAtZSAncywke1NUQUdJTkdfRElSX0hPU1R9LCxnJyBcCisgICAgICAgICAgIC1lICdzLEFQVV9JTkNMVURFRElSID0gLiosQVBVX0lOQ0xVREVESVIgPSAsZycgXAorICAgICAgICAgICAtZSAncyxBUFVfQ09ORklHID0gLiosQVBVX0NPTkZJRyA9ICxnJyAke0R9JHtkYXRhZGlyfS9hcGFjaGUyL2J1aWxkL2NvbmZpZ192YXJzLm1rCisKKyAgICBzZWQgLWkgLWUgJ3MsJHtTVEFHSU5HX0RJUl9IT1NUfSwsZycgXAorICAgICAgICAgICAtZSAncywiLiovY29uZmlndXJlIiwiY29uZmlndXJlIixnJyAke0R9JHtkYXRhZGlyfS9hcGFjaGUyL2J1aWxkL2NvbmZpZy5uaWNlCit9CisKK1NZU1JPT1RfUFJFUFJPQ0VTU19GVU5DUyArPSAiYXBhY2hlX3N5c3Jvb3RfcHJlcHJvY2VzcyIKKworYXBhY2hlX3N5c3Jvb3RfcHJlcHJvY2VzcyAoKSB7CisgICAgaW5zdGFsbCAtZCAke1NZU1JPT1RfREVTVERJUn0ke2JpbmRpcl9jcm9zc3NjcmlwdHN9LworICAgIGluc3RhbGwgLW0gNzU1ICR7RH0ke2JpbmRpcn0vYXB4cyAke1NZU1JPT1RfREVTVERJUn0ke2JpbmRpcl9jcm9zc3NjcmlwdHN9LworICAgIGluc3RhbGwgLWQgJHtTWVNST09UX0RFU1RESVJ9JHtzYmluZGlyfS8KKyAgICBpbnN0YWxsIC1tIDc1NSAke0R9JHtzYmluZGlyfS9hcGFjaGVjdGwgJHtTWVNST09UX0RFU1RESVJ9JHtzYmluZGlyfS8KKyAgICBzZWQgLWkgJ3MhbXkgJGluc3RhbGxidWlsZGRpciA9IC4qIW15ICRpbnN0YWxsYnVpbGRkaXIgPSAiJHtTVEFHSU5HX0RJUl9IT1NUfS8ke2RhdGFkaXJ9LyR7QlBOfS9idWlsZCI7IScgJHtTWVNST09UX0RFU1RESVJ9JHtiaW5kaXJfY3Jvc3NzY3JpcHRzfS9hcHhzCisgICAgc2VkIC1pICdzIW15ICRsaWJ0b29sID0gLiohbXkgJGxpYnRvb2wgPSAiJHtTVEFHSU5HX0JJTkRJUl9DUk9TU30vJHtUQVJHRVRfUFJFRklYfWxpYnRvb2wiOyEnICR7U1lTUk9PVF9ERVNURElSfSR7YmluZGlyX2Nyb3Nzc2NyaXB0c30vYXB4cworCisgICAgc2VkIC1pICdzIV5BUFJfQ09ORklHID0gLiohQVBSX0NPTkZJRyA9ICR7U1RBR0lOR19CSU5ESVJfQ1JPU1N9L2Fwci0xLWNvbmZpZyEnICR7U1lTUk9PVF9ERVNURElSfSR7ZGF0YWRpcn0vJHtCUE59L2J1aWxkL2NvbmZpZ192YXJzLm1rCisgICAgc2VkIC1pICdzIV5BUFVfQ09ORklHID0gLiohQVBVX0NPTkZJRyA9ICR7U1RBR0lOR19CSU5ESVJfQ1JPU1N9L2FwdS0xLWNvbmZpZyEnICR7U1lTUk9PVF9ERVNURElSfSR7ZGF0YWRpcn0vJHtCUE59L2J1aWxkL2NvbmZpZ192YXJzLm1rCisgICAgc2VkIC1pICdzIV5pbmNsdWRlZGlyID0gLiohaW5jbHVkZWRpciA9ICR7U1RBR0lOR19JTkNESVJ9L2FwYWNoZTIhJyAke1NZU1JPT1RfREVTVERJUn0ke2RhdGFkaXJ9LyR7QlBOfS9idWlsZC9jb25maWdfdmFycy5taworICAgIHNlZCAtaSAncyFeQ0ZMQUdTID0gLUlbXiBdKiFDRkxBR1MgPSAtSSR7U1RBR0lOR19JTkNESVJ9L29wZW5zc2whJyAke1NZU1JPT1RfREVTVERJUn0ke2RhdGFkaXJ9LyR7QlBOfS9idWlsZC9jb25maWdfdmFycy5taworICAgIHNlZCAtaSAncyFeRVhUUkFfTERGTEFHUyA9IC4qIUVYVFJBX0xERkxBR1MgPSAtTCR7U1RBR0lOR19MSUJESVJ9IScgJHtTWVNST09UX0RFU1RESVJ9JHtkYXRhZGlyfS8ke0JQTn0vYnVpbGQvY29uZmlnX3ZhcnMubWsKKyAgICBzZWQgLWkgJ3MhXkVYVFJBX0lOQ0xVREVTID0gLiohRVhUUkFfSU5DTFVERVMgPSAtSSQoaW5jbHVkZWRpcikgLUkuIC1JJHtTVEFHSU5HX0lOQ0RJUn0hJyAke1NZU1JPT1RfREVTVERJUn0ke2RhdGFkaXJ9LyR7QlBOfS9idWlsZC9jb25maWdfdmFycy5taworICAgIHNlZCAtaSAncyEtLXN5c3Jvb3Q9W14gXSohLS1zeXNyb290PSR7U1RBR0lOR19ESVJfSE9TVH0hJyAke1NZU1JPT1RfREVTVERJUn0ke2RhdGFkaXJ9LyR7QlBOfS9idWlsZC9jb25maWdfdmFycy5taworfQorCisjCisjIGltcGxpY2F0aW9ucyAtIHVzZWQgYnkgdXBkYXRlLXJjLmQgc2NyaXB0cworIworSU5JVFNDUklQVF9OQU1FID0gImFwYWNoZTIiCitJTklUU0NSSVBUX1BBUkFNUyA9ICJkZWZhdWx0cyA5MSAyMCIKK0xFQURfU09OQU1FID0gImxpYmFwci0xLnNvLjAiCisKK1BBQ0tBR0VTID0gIiR7UE59LXNjcmlwdHMgJHtQTn0tZG9jICR7UE59LWRldiAke1BOfS1kYmcgJHtQTn0iCisKK0NPTkZGSUxFU18ke1BOfSA9ICIke3N5c2NvbmZkaXJ9LyR7QlBOfS9odHRwZC5jb25mIFwKKyAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9LyR7QlBOfS9tYWdpYyBcCisgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS8ke0JQTn0vbWltZS50eXBlcyBcCisgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9pbml0LmQvJHtCUE59ICIKKworIyB3ZSBvdmVycmlkZSBoZXJlIHJhdGhlciB0aGFuIGFwcGVuZCBzbyB0aGF0IC5zbyBsaW5rcyBhcmUKKyMgaW5jbHVkZWQgaW4gdGhlIHJ1bnRpbWUgcGFja2FnZSByYXRoZXIgdGhhbiBoZXJlICgtZGV2KQorIyBhbmQgdG8gZ2V0IGJ1aWxkLCBpY29ucywgZXJyb3IgaW50byB0aGUgLWRldiBwYWNrYWdlCitGSUxFU18ke1BOfS1kZXYgPSAiJHtkYXRhZGlyfS8ke0JQTn0vYnVpbGQgXAorICAgICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vJHtCUE59L2ljb25zIFwKKyAgICAgICAgICAgICAgICAgICAke2RhdGFkaXJ9LyR7QlBOfS9lcnJvciBcCisgICAgICAgICAgICAgICAgICAgJHtiaW5kaXJ9L2Fwci1jb25maWcgJHtiaW5kaXJ9L2FwdS1jb25maWcgXAorICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9hcHIqLmV4cCBcCisgICAgICAgICAgICAgICAgICAgJHtpbmNsdWRlZGlyfS8ke0JQTn0gXAorICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS8qLmxhIFwKKyAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vKi5hIFwKKyAgICAgICAgICAgICAgICAgICAke2JpbmRpcn0vYXB4cyBcCisgICAgICAgICAgICAgICAgIgorCisKKyMgbWFudWFsIHRvIG1hbnVhbAorRklMRVNfJHtQTn0tZG9jICs9ICIgJHtkYXRhZGlyfS8ke0JQTn0vbWFudWFsIgorCitGSUxFU18ke1BOfS1zY3JpcHRzICs9ICIke2JpbmRpcn0vZGJtbWFuYWdlIgorCisjCisjIG92ZXJyaWRlIHRoaXMgdG9vIC0gaGVyZSBpcyB0aGUgZGVmYXVsdCwgbGVzcyBkYXRhZGlyCisjCitGSUxFU18ke1BOfSA9ICAiJHtiaW5kaXJ9ICR7c2JpbmRpcn0gJHtsaWJleGVjZGlyfSAke2xpYmRpcn0vbGliKi5zby4qICR7c3lzY29uZmRpcn0gXAorICAgICAgICAgICAgICAgICR7c2hhcmVkc3RhdGVkaXJ9ICR7bG9jYWxzdGF0ZWRpcn0gL2JpbiAvc2JpbiAvbGliLyouc28qIFwKKyAgICAgICAgICAgICAgICAke2xpYmRpcn0vJHtCUE59IgorCisjIHdlIHdhbnQgaHRkb2NzIGFuZCBjZ2ktYmluIHRvIGdvIHdpdGggdGhlIGJpbmFyeQorRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vJHtCUE59L2h0ZG9jcyAke2RhdGFkaXJ9LyR7QlBOfS9jZ2ktYmluIgorCisjbWFrZSBzdXJlIHRoZSBsb25lIC5zbyBsaW5rcyBhbHNvIGdldCB3cmFwcGVkIGluIHRoZSBiYXNlIHBhY2thZ2UKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vbGliKi5zbyAke2xpYmRpcn0vcGtnY29uZmlnLyoiCisKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9LyR7QlBOfS9tb2R1bGVzLy5kZWJ1ZyIKKworUkRFUEVORFNfJHtQTn0gKz0gIm9wZW5zc2wgbGliZ2NjIgorUkRFUEVORFNfJHtQTn0tc2NyaXB0cyArPSAicGVybCAke1BOfSIKK1JERVBFTkRTXyR7UE59LWRldiA9ICJwZXJsIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvZmlsZXMvMDAwMS1jb25maWd1cmUtdXNlLXBrZy1jb25maWctZm9yLVBDUkUtZGV0ZWN0aW9uLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvZmlsZXMvMDAwMS1jb25maWd1cmUtdXNlLXBrZy1jb25maWctZm9yLVBDUkUtZGV0ZWN0aW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYzMDk2ZGIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvYXBhY2hlMi9maWxlcy8wMDAxLWNvbmZpZ3VyZS11c2UtcGtnLWNvbmZpZy1mb3ItUENSRS1kZXRlY3Rpb24ucGF0Y2gKQEAgLTAsMCArMSw1MiBAQAorRnJvbSBkODgzNzc1NmYyYTQ4YWRjZmU1ZDY0NWMzOWNmMTYzZDk2ZWFjNzZjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS29lbiBLb29pIDxrb2VuLmtvb2lAbGluYXJvLm9yZz4KK0RhdGU6IFR1ZSwgMTcgSnVuIDIwMTQgMDk6MTA6NTcgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gY29uZmlndXJlOiB1c2UgcGtnLWNvbmZpZyBmb3IgUENSRSBkZXRlY3Rpb24KKworU2lnbmVkLW9mZi1ieTogS29lbiBLb29pIDxrb2VuLmtvb2lAbGluYXJvLm9yZz4KK1Vwc3RyZWFtLVN0YXR1czogcGVuZGluZworLS0tCisgY29uZmlndXJlLmluIHwgMjcgKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMjIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuaW4gYi9jb25maWd1cmUuaW4KK2luZGV4IDg2NGQ3YzcuLmRhNDEzOGUgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuaW4KKysrKyBiL2NvbmZpZ3VyZS5pbgorQEAgLTIxNSwyOCArMjE1LDExIEBAIGZpCisgQUNfQVJHX1dJVEgocGNyZSwKKyBBUEFDSEVfSEVMUF9TVFJJTkcoLS13aXRoLXBjcmU9UEFUSCxVc2UgZXh0ZXJuYWwgUENSRSBsaWJyYXJ5KSkKKyAKKy1BQ19QQVRIX1BST0coUENSRV9DT05GSUcsIHBjcmUtY29uZmlnLCBmYWxzZSkKKy1pZiB0ZXN0IC1kICIkd2l0aF9wY3JlIiAmJiB0ZXN0IC14ICIkd2l0aF9wY3JlL2Jpbi9wY3JlLWNvbmZpZyI7IHRoZW4KKy0gICBQQ1JFX0NPTkZJRz0kd2l0aF9wY3JlL2Jpbi9wY3JlLWNvbmZpZworLWVsaWYgdGVzdCAteCAiJHdpdGhfcGNyZSI7IHRoZW4KKy0gICBQQ1JFX0NPTkZJRz0kd2l0aF9wY3JlCistZmkKKy0KKy1pZiB0ZXN0ICIkUENSRV9DT05GSUciICE9ICJmYWxzZSI7IHRoZW4KKy0gIGlmICRQQ1JFX0NPTkZJRyAtLXZlcnNpb24gPi9kZXYvbnVsbCAyPiYxOyB0aGVuIDo7IGVsc2UKKy0gICAgQUNfTVNHX0VSUk9SKFtEaWQgbm90IGZpbmQgcGNyZS1jb25maWcgc2NyaXB0IGF0ICRQQ1JFX0NPTkZJR10pCistICBmaQorLSAgY2FzZSBgJFBDUkVfQ09ORklHIC0tdmVyc2lvbmAgaW4KKy0gIFtbMS01XS4qXSkKKy0gICAgQUNfTVNHX0VSUk9SKFtOZWVkIGF0IGxlYXN0IHBjcmUgdmVyc2lvbiA2LjBdKQorLSAgICA7OworLSAgZXNhYworLSAgQUNfTVNHX05PVElDRShbVXNpbmcgZXh0ZXJuYWwgUENSRSBsaWJyYXJ5IGZyb20gJFBDUkVfQ09ORklHXSkKKy0gIEFQUl9BRERUTyhQQ1JFX0lOQ0xVREVTLCBbYCRQQ1JFX0NPTkZJRyAtLWNmbGFnc2BdKQorLSAgQVBSX0FERFRPKFBDUkVfTElCUywgW2AkUENSRV9DT05GSUcgLS1saWJzYF0pCistZWxzZQorLSAgQUNfTVNHX0VSUk9SKFtwY3JlLWNvbmZpZyBmb3IgbGlicGNyZSBub3QgZm91bmQuIFBDUkUgaXMgcmVxdWlyZWQgYW5kIGF2YWlsYWJsZSBmcm9tIGh0dHA6Ly9wY3JlLm9yZy9dKQorLWZpCisrUEtHX0NIRUNLX01PRFVMRVMoW1BDUkVdLCBbbGlicGNyZV0sIFsKKysgIEFDX0RFRklORShbSEFWRV9QQ1JFXSwgWzFdLCBbRGVmaW5lIGlmIHlvdSBoYXZlIFBDUkUgbGlicmFyeV0pCisrXSwgWworKyAgQUNfTVNHX0VSUk9SKFskUENSRV9QS0dfRVJST1JTXSkKKytdKQorIEFQQUNIRV9TVUJTVChQQ1JFX0xJQlMpCisgCisgQUNfTVNHX05PVElDRShbXSkKKy0tIAorMS45LjMKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvZmlsZXMvYXBhY2hlMi12b2xhdGlsZS5jb25mIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvZmlsZXMvYXBhY2hlMi12b2xhdGlsZS5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZmMmM1ODcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvYXBhY2hlMi9maWxlcy9hcGFjaGUyLXZvbGF0aWxlLmNvbmYKQEAgLTAsMCArMSwyIEBACitkICAvdmFyL3J1bi9hcGFjaGUyIDA3NTUgcm9vdCByb290IC0KK2QgIC92YXIvbG9nL2FwYWNoZTIgMDc1NSByb290IHJvb3QgLQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvZmlsZXMvYXBhY2hlMi5zZXJ2aWNlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvZmlsZXMvYXBhY2hlMi5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjliNTU0OGMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvYXBhY2hlMi9maWxlcy9hcGFjaGUyLnNlcnZpY2UKQEAgLTAsMCArMSwxNCBAQAorW1VuaXRdCitEZXNjcmlwdGlvbj1UaGUgQXBhY2hlIEhUVFAgU2VydmVyCitBZnRlcj1uZXR3b3JrLnRhcmdldCByZW1vdGUtZnMudGFyZ2V0IG5zcy1sb29rdXAudGFyZ2V0CisKK1tTZXJ2aWNlXQorVHlwZT1zaW1wbGUKK0Vudmlyb25tZW50PUxBTkc9QworRXhlY1N0YXJ0PUBTQklORElSQC9odHRwZCAtREZPUkVHUk9VTkQgLUQgU1NMIC1EIFBIUDUgLWsgc3RhcnQKK0V4ZWNTdG9wPUBCQVNFX0JJTkRJUkAva2lsbCAtV0lOQ0ggJHtNQUlOUElEfQorS2lsbFNpZ25hbD1TSUdDT05UCitQcml2YXRlVG1wPXRydWUKKworW0luc3RhbGxdCitXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvZmlsZXMvY29uZmlndXJlLWFsbG93LXRvLWRpc2FibGUtc2VsaW51eC1zdXBwb3J0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvZmlsZXMvY29uZmlndXJlLWFsbG93LXRvLWRpc2FibGUtc2VsaW51eC1zdXBwb3J0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjViNWMyOTcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvYXBhY2hlMi9maWxlcy9jb25maWd1cmUtYWxsb3ctdG8tZGlzYWJsZS1zZWxpbnV4LXN1cHBvcnQucGF0Y2gKQEAgLTAsMCArMSw0MCBAQAorRnJvbSBkMjNkZDMzZTM3MzM0MGY2ZmRkZjExOTA0ODM5ZDFhMTE4ODI0NDAxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogV2Vuem9uZyBGYW4gPHdlbnpvbmcuZmFuQHdpbmRyaXZlci5jb20+CitEYXRlOiBNb24sIDEgRGVjIDIwMTQgMDI6MDg6MjcgLTA1MDAKK1N1YmplY3Q6IFtQQVRDSF0gYXBhY2hlMjogYWxsb3cgdG8gZGlzYWJsZSBzZWxpbnV4IHN1cHBvcnQKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IFdlbnpvbmcgRmFuIDx3ZW56b25nLmZhbkB3aW5kcml2ZXIuY29tPgorLS0tCisgY29uZmlndXJlLmluIHwgICAxNCArKysrKysrKysrLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmluIGIvY29uZmlndXJlLmluCitpbmRleCBkZjk0ZWU1Li44YzNhYjIxIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmluCisrKysgYi9jb25maWd1cmUuaW4KK0BAIC00NjYsMTAgKzQ2NiwxNiBAQCBnZXRsb2FkYXZnCisgZG5sIGNvbmZpcm0gdGhhdCBhIHZvaWQgcG9pbnRlciBpcyBsYXJnZSBlbm91Z2ggdG8gc3RvcmUgYSBsb25nIGludGVnZXIKKyBBUEFDSEVfQ0hFQ0tfVk9JRF9QVFJfTEVOCisgCistQUNfQ0hFQ0tfTElCKHNlbGludXgsIGlzX3NlbGludXhfZW5hYmxlZCwgWworLSAgIEFDX0RFRklORShIQVZFX1NFTElOVVgsIDEsIFtEZWZpbmVkIGlmIFNFTGludXggaXMgc3VwcG9ydGVkXSkKKy0gICBBUFJfQUREVE8oQVBfTElCUywgWy1sc2VsaW51eF0pCistXSkKKysjIFNFTGludXggc3VwcG9ydAorK0FDX0FSR19FTkFCTEUoc2VsaW51eCxBUEFDSEVfSEVMUF9TVFJJTkcoLS1lbmFibGUtc2VsaW51eCxFbmFibGUgU0VMaW51eCBzdXBwb3J0IFtkZWZhdWx0PWF1dG9dKSwKKysgICAgW10sW2VuYWJsZV9zZWxpbnV4PWF1dG9dKQorKworK2lmIHRlc3QgeCRlbmFibGVfc2VsaW51eCAhPSB4bm87IHRoZW4KKysgICAgQUNfQ0hFQ0tfTElCKHNlbGludXgsIGlzX3NlbGludXhfZW5hYmxlZCwgWworKyAgICAgICAgQUNfREVGSU5FKEhBVkVfU0VMSU5VWCwgMSwgW0RlZmluZWQgaWYgU0VMaW51eCBpcyBzdXBwb3J0ZWRdKQorKyAgICAgICAgQVBSX0FERFRPKEFQX0xJQlMsIFstbHNlbGludXhdKQorKyAgICBdKQorK2ZpCisgCisgQUNfQ0FDSEVfQ0hFQ0soW2ZvciBnZXR0aWQoKV0sIGFjX2N2X2dldHRpZCwKKyBbQUNfVFJZX1JVTigjZGVmaW5lIF9HTlVfU09VUkNFCistLSAKKzEuNy45LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvZmlsZXMvaHR0cGQtMi40LjMtZml4LXJhY2UtaXNzdWUtb2YtZGlyLWluc3RhbGwucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvYXBhY2hlMi9maWxlcy9odHRwZC0yLjQuMy1maXgtcmFjZS1pc3N1ZS1vZi1kaXItaW5zdGFsbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iOTQ4NzUzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvZmlsZXMvaHR0cGQtMi40LjMtZml4LXJhY2UtaXNzdWUtb2YtZGlyLWluc3RhbGwucGF0Y2gKQEAgLTAsMCArMSwyMSBAQAorVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK2ZpeCBmb2xsb3dpbmcgcmFjZSBpc3N1ZSB3aGVuIGRvIHBhcmFsbGVsIGluc3RhbGwKK3wgbWtkaXI6IGNhbm5vdCBjcmVhdGUgZGlyZWN0b3J5IGAvaG9tZS9teXBjL3dvcmtzcGFjZS9wb2t5L2J1aWxkX3A0MDgwZHNfcmVsZWFzZS90bXAvd29yay9wcGNlNTAwbWMtZnNsX25ldHdvcmtpbmctbGludXgvYXBhY2hlMi8yLjQuMy1yMS9pbWFnZS91c3Ivc2hhcmUvYXBhY2hlMic6IEZpbGUgZXhpc3RzCisuLi4KK3wgbWtkaXI6IGNhbm5vdCBjcmVhdGUgZGlyZWN0b3J5IGAvaG9tZS9teXBjL3dvcmtzcGFjZS9wb2t5L2J1aWxkX3A0MDgwZHNfcmVsZWFzZS90bXAvd29yay9wcGNlNTAwbWMtZnNsX25ldHdvcmtpbmctbGludXgvYXBhY2hlMi8yLjQuMy1yMS9pbWFnZS91c3Ivc2hhcmUvYXBhY2hlMic6IEZpbGUgZXhpc3RzCit8IG1ha2VbMV06ICoqKiBbaW5zdGFsbC1tYW5dIEVycm9yIDEKK3wgbWFrZVsxXTogKioqIFdhaXRpbmcgZm9yIHVuZmluaXNoZWQgam9icy4uLi4KKworLVNpZ25lZC1vZmYtYnk6IFpoZW5odWEgTHVvIDx6aGVuaHVhLmx1b0BmcmVlc2NhbGUuY29tPgorLS0tIGh0dHBkLTIuNC4zL2J1aWxkL21rZGlyLnNoLm9yaWcJMjAxMy0wMS0yNSAwMzo0NzoyMS41NjUyNTU0MjAgLTA2MDAKKysrKyBodHRwZC0yLjQuMy9idWlsZC9ta2Rpci5zaAkyMDEzLTAxLTI1IDAzOjQ2OjE3LjgzMzA1MTIzMCAtMDYwMAorQEAgLTM5LDcgKzM5LDcgQEAKKyAgICAgICAgIGVzYWMKKyAgICAgICAgIGlmIHRlc3QgISAtZCAiJHBhdGhjb21wIjsgdGhlbgorICAgICAgICAgICAgIGVjaG8gIm1rZGlyICRwYXRoY29tcCIgMT4mMgorLSAgICAgICAgICAgIG1rZGlyICIkcGF0aGNvbXAiIHx8IGVycnN0YXR1cz0kPworKyAgICAgICAgICAgIG1rZGlyIC1wICIkcGF0aGNvbXAiIHx8IGVycnN0YXR1cz0kPworICAgICAgICAgZmkKKyAgICAgICAgIHBhdGhjb21wPSIkcGF0aGNvbXAvIgorICAgICBkb25lCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvYXBhY2hlMi9maWxlcy9pbml0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvZmlsZXMvaW5pdApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43NThkMTMzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvZmlsZXMvaW5pdApAQCAtMCwwICsxLDIzMCBAQAorIyEvYmluL3NoCisjIyMgQkVHSU4gSU5JVCBJTkZPCisjIFByb3ZpZGVzOiBodHRwZAorIyBSZXF1aXJlZC1TdGFydDogJGxvY2FsX2ZzICRyZW1vdGVfZnMgJG5ldHdvcmsgJG5hbWVkCisjIFJlcXVpcmVkLVN0b3A6ICRsb2NhbF9mcyAkcmVtb3RlX2ZzICRuZXR3b3JrCisjIFNob3VsZC1TdGFydDogZGlzdGNhY2hlCisjIFNob3J0LURlc2NyaXB0aW9uOiBzdGFydCBhbmQgc3RvcCBBcGFjaGUgSFRUUCBTZXJ2ZXIKKyMgRGVzY3JpcHRpb246IFRoZSBBcGFjaGUgSFRUUCBTZXJ2ZXIgaXMgYW4gZXh0ZW5zaWJsZSBzZXJ2ZXIKKyMgIGltcGxlbWVudGluZyB0aGUgY3VycmVudCBIVFRQIHN0YW5kYXJkcy4KKyMjIyBFTkQgSU5JVCBJTkZPCisKK0FSR1M9Ii1EIFNTTCAtRCBQSFA1IC1rIHN0YXJ0IgorTkFNRT1hcGFjaGUyCitQQVRIPS9iaW46L3Vzci9iaW46L3NiaW46L3Vzci9zYmluCitEQUVNT049L3Vzci9zYmluL2h0dHBkCitTVUVYRUM9L3Vzci9saWIvYXBhY2hlL3N1ZXhlYworUElERklMRT0vcnVuL2h0dHBkLnBpZAorQ09ORj0vZXRjL2FwYWNoZTIvaHR0cGQuY29uZgorQVBBQ0hFQ1RMPS91c3Ivc2Jpbi9hcGFjaGVjdGwgCisKK3RyYXAgIiIgMQorZXhwb3J0IExBTkc9QworZXhwb3J0IFBBVEgKKwordGVzdCAtZiAkREFFTU9OIHx8IGV4aXQgMAordGVzdCAtZiAkQVBBQ0hFQ1RMIHx8IGV4aXQgMAorCisjIGVuc3VyZSB3ZSBkb24ndCBsZWFrIGVudmlyb25tZW50IHZhcnMgaW50byBhcGFjaGVjdGwKK0FQQUNIRUNUTD0iZW52IC1pIExBTkc9JHtMQU5HfSBQQVRIPSR7UEFUSH0gJEFQQUNIRUNUTCIKKworYXBhY2hlX2NvbmZ0ZXN0KCkgeworICAgIGlmICQoJEFQQUNIRUNUTCBjb25maWd0ZXN0ID4gL2Rldi9udWxsIDI+JjEgKTsgdGhlbgorICAgICAgICByZXR1cm4gMAorICAgIGVsc2UKKyAgICAgICAgcmV0dXJuIDEKKyAgICBmaQorfQorCithcGFjaGVfd2FpdF9zdGFydCgpIHsKKyAgICBsb2NhbCBTVEFUVVM9JDEKKworICAgIGlmIFsgJFNUQVRVUyAhPSAwIF0gOyB0aGVuCisgICAgICAgIHJldHVybiAkU1RBVFVTCisgICAgZmkKKworICAgIGxvY2FsIGk9MAorICAgIHdoaWxlIDogOyBkbworICAgICAgICAgICAgUElEVE1QPSQocGlkb2YgJERBRU1PTiB8IHRyICcgJyAnXG4nIHwgZ3JlcCAtdyAkKGNhdCAkUElERklMRSkpCisgICAgICAgICAgICBpZiBbIC1uICIke1BJRFRNUDotfSIgXSAmJiBraWxsIC0wICIke1BJRFRNUDotfSIgMj4gL2Rldi9udWxsOyB0aGVuCisgICAgICAgICAgICAgICAgICAgIHJldHVybiAkU1RBVFVTCisgICAgICAgICAgICBmaQorCisgICAgICAgICAgICBpZiBbICRpID0gIjIwIiBdIDsgdGhlbgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gMgorICAgICAgICAgICAgZmkKKworICAgICAgICAgICAgc2xlZXAgMQorICAgICAgICAgICAgaT0kKCgkaSsxKSkKKyAgICBkb25lCit9CisKK2FwYWNoZV93YWl0X3N0b3AoKSB7CisgICAgbG9jYWwgU1RBVFVTPSQxCisKKyAgICBpZiBbICRTVEFUVVMgIT0gMCBdIDsgdGhlbgorICAgICAgICByZXR1cm4gJFNUQVRVUworICAgIGZpCisKKyAgICBQSURUTVA9JChwaWRvZiAkREFFTU9OIHwgdHIgJyAnICdcbicgfCBncmVwIC13ICQoY2F0ICRQSURGSUxFKSkKKyAgICBpZiBbIC1uICIke1BJRFRNUDotfSIgXSAmJiBraWxsIC0wICIke1BJRFRNUDotfSIgMj4gL2Rldi9udWxsOyB0aGVuCisgICAgICAgICAgICBsb2NhbCBpPTAKKyAgICAgICAgICAgIHdoaWxlIGtpbGwgLTAgIiR7UElEVE1QOi19IiAyPiAvZGV2L251bGw7ICBkbworICAgICAgICAgICAgICAgICAgICBpZiBbICRpID0gJzYwJyBdOyB0aGVuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1RBVFVTPTIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgICAgICAgICBmaQorICAgICAgICAgICAgICAgICAgICBzbGVlcCAxCisgICAgICAgICAgICAgICAgICAgIGk9JCgoJGkrMSkpCisgICAgICAgICAgICBkb25lCisgICAgICAgICAgICByZXR1cm4gJFNUQVRVUworICAgIGVsc2UKKyAgICAgICAgcmV0dXJuICRTVEFUVVMKKyAgICBmaQorfQorCisjCisjIEZ1bmN0aW9uIHRoYXQgc3RhcnRzIHRoZSBkYWVtb24vc2VydmljZQorIworZG9fc3RhcnQoKQoreworICAgICMgUmV0dXJuCisgICAgIyAgIDAgaWYgZGFlbW9uIGhhcyBiZWVuIHN0YXJ0ZWQKKyAgICAjICAgMSBpZiBkYWVtb24gd2FzIGFscmVhZHkgcnVubmluZworICAgICMgICAyIGlmIGRhZW1vbiBjb3VsZCBub3QgYmUgc3RhcnRlZAorCisgICAgaWYgWyAtZSAkUElERklMRSBdICYmIHBpZG9mICREQUVNT04gfCB0ciAnICcgJ1xuJyB8IGdyZXAgLXcgJChjYXQgJFBJREZJTEUpID4gL2Rldi9udWxsIDI+JjEgOyB0aGVuCisgICAgICAgICAgICByZXR1cm4gMQorICAgIGZpCisKKyAgICBpZiBhcGFjaGVfY29uZnRlc3QgOyB0aGVuCisgICAgICAgICAgICAkQVBBQ0hFQ1RMIHN0YXJ0CisgICAgICAgICAgICBhcGFjaGVfd2FpdF9zdGFydCAkPworICAgICAgICAgICAgcmV0dXJuICQ/CisgICAgZWxzZQorICAgICAgICAgICAgcmV0dXJuIDIKKyAgICBmaQorfQorCisjCisjIEZ1bmN0aW9uIHRoYXQgc3RvcHMgdGhlIGRhZW1vbi9zZXJ2aWNlCisjCitkb19zdG9wKCkKK3sKKyAgICAjIFJldHVybgorICAgICMgICAwIGlmIGRhZW1vbiBoYXMgYmVlbiBzdG9wcGVkCisgICAgIyAgIDEgaWYgZGFlbW9uIHdhcyBhbHJlYWR5IHN0b3BwZWQKKyAgICAjICAgMiBpZiBkYWVtb24gY291bGQgbm90IGJlIHN0b3BwZWQKKyAgICAjICAgb3RoZXIgaWYgYSBmYWlsdXJlIG9jY3VycmVkCisKKyAgICAgICAgbG9jYWwgQVBfUkVUPTAKKworICAgICAgICBpZiBwaWRvZiAkREFFTU9OID4gL2Rldi9udWxsIDI+JjEgOyB0aGVuCisgICAgICAgICAgICAgICAgaWYgWyAtZSAkUElERklMRSBdICYmIHBpZG9mICREQUVNT04gfCB0ciAnICcgJ1xuJyB8IGdyZXAgLXcgJChjYXQgJFBJREZJTEUpID4gL2Rldi9udWxsIDI+JjEgOyB0aGVuCisgICAgICAgICAgICAgICAgICAgICAgICBBUF9SRVQ9MgorICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgIEFQX1JFVD0xCisgICAgICAgICAgICAgICAgZmkKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgQVBfUkVUPTAKKyAgICAgICAgZmkKKworICAgICAgICAjIEFQX1JFVCBpczoKKyAgICAgICAgIyAwIGlmIEFwYWNoZSAod2hpY2hldmVyKSBpcyBub3QgcnVubmluZworICAgICAgICAjIDEgaWYgQXBhY2hlICh3aGljaGV2ZXIpIGlzIHJ1bm5pbmcKKyAgICAgICAgIyAyIGlmIEFwYWNoZSBmcm9tIHRoZSBQSURGSUxFIGlzIHJ1bm5pbmcKKworICAgICAgICBpZiBbICRBUF9SRVQgPSAwIF0gOyB0aGVuCisgICAgICAgICAgICAgICAgcmV0dXJuIDEKKyAgICAgICAgZmkKKworICAgICAgICBpZiBbICRBUF9SRVQgPSAyIF0gJiYgYXBhY2hlX2NvbmZ0ZXN0IDsgdGhlbgorICAgICAgICAgICAgICAgICRBUEFDSEVDVEwgc3RvcAorICAgICAgICAgICAgICAgIGFwYWNoZV93YWl0X3N0b3AgJD8KKyAgICAgICAgICAgICAgICByZXR1cm4gJD8KKyAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGlmIFsgJEFQX1JFVCA9IDIgXTsgdGhlbgorICAgICAgICAgICAgICAgICAgICAgICAga2lsbCAkKHBpZG9mICREQUVNT04gfCB0ciAnICcgJ1xuJyB8IGdyZXAgLXcgJChjYXQgJFBJREZJTEUpKQorICAgICAgICAgICAgICAgICAgICAgICAgYXBhY2hlX3dhaXRfc3RvcCAkPworICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICQ/CisgICAgICAgICAgICAgICAgZWxpZiBbICRBUF9SRVQgPSAxIF0gOyB0aGVuCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMgorICAgICAgICAgICAgICAgIGZpCisgICAgICAgIGZpCisKK30KKworY2FzZSAiJDEiIGluCisgIHN0YXJ0KQorICAgIGVjaG8gLW4gIlN0YXJ0aW5nIHdlYiBzZXJ2ZXI6ICROQU1FIgorICAgIGRvX3N0YXJ0CisgICAgY2FzZSAkPyBpbgorICAgICAgICAwfDEpCisgICAgICAgICAgICBlY2hvIC4KKyAgICAgICAgICAgIGV4aXQgMAorICAgICAgICAgICAgOzsKKyAgICAgICAgMikKKyAgICAgICAgICAgIGVjaG8gZmFpbGVkCisgICAgICAgICAgICBleGl0IDEKKyAgICAgICAgICAgIDs7CisgICAgZXNhYworICAgIDs7CisKKyAgc3RvcCkKKyAgICBlY2hvIC1uICJTdG9wcGluZyB3ZWIgc2VydmVyOiAkTkFNRSIKKyAgICBkb19zdG9wCisgICAgY2FzZSAkPyBpbgorICAgICAgICAwfDEpCisgICAgICAgICAgICBlY2hvIC4KKyAgICAgICAgICAgIGV4aXQgMAorICAgICAgICAgICAgOzsKKyAgICAgICAgMikKKyAgICAgICAgICAgIGVjaG8gZmFpbGVkCisgICAgICAgICAgICBleGl0IDEKKyAgICAgICAgICAgIDs7CisgICAgZXNhYworICAgIDs7CisKKyAgcmVsb2FkKQorICAgIGVjaG8gLW4gIlJlbG9hZGluZyAkTkFNRSBjb25maWd1cmF0aW9uIgorICAgIGtpbGwgLUhVUCBgY2F0ICRQSURGSUxFYAorICAgIDs7CisKKyAgcmVsb2FkLW1vZHVsZXMpCisgICAgZWNobyAtbiAiUmVsb2FkaW5nICROQU1FIG1vZHVsZXMiCisgICAgJEFQQUNIRUNUTCByZXN0YXJ0CisgICAgOzsKKworICByZXN0YXJ0KQorICAgIGVjaG8gIlJlc3RhcnRpbmcgd2ViIHNlcnZlcjogJE5BTUUiCisgICAgZG9fc3RvcAorICAgIGNhc2UgIiQ/IiBpbgorICAgICAgICAwfDEpCisgICAgICAgICAgICBkb19zdGFydAorICAgICAgICAgICAgZXhpdCAkPworICAgICAgICAgICAgOzsKKyAgICAgICAgKikKKyAgICAgICAgICAgICMgRmFpbGVkIHRvIHN0b3AKKyAgICAgICAgICAgIGV4aXQgMQorICAgICAgICAgICAgOzsKKyAgICBlc2FjCisgICAgOzsKKworICBmb3JjZS1yZWxvYWQpCisgICAgJDAgcmVsb2FkLW1vZHVsZXMKKyAgICBleGl0ICQ/CisgICAgOzsKKworICAqKQorICAgIGVjaG8gIlVzYWdlOiAvZXRjL2luaXQuZC8kTkFNRSB7c3RhcnR8c3RvcHxyZWxvYWR8cmVsb2FkLW1vZHVsZXN8Zm9yY2UtcmVsb2FkfHJlc3RhcnR9IgorICAgIGV4aXQgMQorICAgIDs7Citlc2FjCisKK2lmIFsgJD8gPSAwIF07IHRoZW4KKwllY2hvIC4KKwlleGl0IDAKK2Vsc2UKKwllY2hvIGZhaWxlZAorCWV4aXQgMQorZmkKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9jaGVyb2tlZS9jaGVyb2tlZS9jaGVyb2tlZS1pbnN0YWxsLWNvbmZpZ3VyZWQucHktb25jZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9jaGVyb2tlZS9jaGVyb2tlZS9jaGVyb2tlZS1pbnN0YWxsLWNvbmZpZ3VyZWQucHktb25jZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMzM2ZjdkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2NoZXJva2VlL2NoZXJva2VlL2NoZXJva2VlLWluc3RhbGwtY29uZmlndXJlZC5weS1vbmNlLnBhdGNoCkBAIC0wLDAgKzEsNDAgQEAKK0Zyb20gOThhMGYxOWRmMGEzMWQ1NjQ5YWQ4OWQzOTVmZDFiOGRlNTU5MTgyNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgorRGF0ZTogVGh1LCAzIEFwciAyMDE0IDIxOjMzOjI1ICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIGFkbWluL01ha2VmaWxlLmFtOiBvbmx5IGluc3RhbGwgY29uZmlndXJlZC5weSBvbmNlCisKK0JvdGggdGhlIHR3byBydWxlcyBpbnN0YWxsLWFkbWlucHlEQVRBIGFuZCBpbnN0YWxsLWdlbmVyYXRlZERBVEEgd2lsbAoraW5zdGFsbCB0aGUgY29uZmlndXJlZC5weSB0byB0aGUgc2FtZSBsb2NhdGlvbiwgdGhleSBjYW4gcnVuIHBhcmFsbGVsLAorYW5kIHRoZXkgdXNlICJpbnN0YWxsIC1tIiwgd2hpY2ggd291bGQgbWlnaHQgYnVpbGQgZmFpbHVyZXM6CisKKy91c3IvYmluL2luc3RhbGw6IHNldHRpbmcgcGVybWlzc2lvbnMgZm9yIGAvcGF0aC90by9jb25maWd1cmVkLnB5JzogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQorCitUaGlzIGlzIGJlY2F1c2UgdGhlIGZpcnN0IGluc3RhbGwgaXMgc2V0dGluZyB0aGUgcGVybWlzc2lvbiB3aGlsZSB0aGUKK3NlY29uZCBpbnN0YWxsIGlzIHJlbW92aW5nIHRoZSBmaWxlIGFuIHJlLWluc3RhbGwuCisKK09ubHkgaW5zdGFsbCB0aGUgY29uZmlndXJlZC5weSBvbmNlIHdpbGwgZml4IHRoZSBwcm9ibGVtLCBJIHRoaW5rIHRoYXQKK3RoZXJlIGlzIG5vIHNpZGUgZWZmZWN0IHNpbmNlIGl0IGluc3RhbGxlZCB0aGUgc2FtZSBmaWxlIHRvIHRoZSBzYW1lCitsb2NhdGlvbiB0d2ljZSBpbiB0aGUgcGFzdC4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgorLS0tCisgYWRtaW4vTWFrZWZpbGUuYW0gfCAxIC0KKyAxIGZpbGUgY2hhbmdlZCwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvYWRtaW4vTWFrZWZpbGUuYW0gYi9hZG1pbi9NYWtlZmlsZS5hbQoraW5kZXggY2U1OTM3Yi4uNmY5NjkzNCAxMDA2NDQKKy0tLSBhL2FkbWluL01ha2VmaWxlLmFtCisrKysgYi9hZG1pbi9NYWtlZmlsZS5hbQorQEAgLTczLDcgKzczLDYgQEAgU3lzdGVtU3RhdHNXaWRnZXRzLnB5IFwKKyBXaXphcmQucHkgXAorIFhNTFNlcnZlckRpZ2VzdC5weSBcCisgY29uZmlnX3ZlcnNpb24ucHkgXAorLWNvbmZpZ3VyZWQucHkgXAorIGNvbnN0cy5weSBcCisgdXRpbC5weSBcCisgcG9wZW4ucHkgXAorLS0gCisxLjguMi4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9jaGVyb2tlZS9jaGVyb2tlZS9jaGVyb2tlZS5pbml0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2NoZXJva2VlL2NoZXJva2VlL2NoZXJva2VlLmluaXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTM2MDNiOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9jaGVyb2tlZS9jaGVyb2tlZS9jaGVyb2tlZS5pbml0CkBAIC0wLDAgKzEsMzIgQEAKKyMhL2Jpbi9zaAorREFFTU9OPS91c3Ivc2Jpbi9jaGVyb2tlZQorQ09ORklHPS9ldGMvY2hlcm9rZWUvY2hlcm9rZWUuY29uZgorUElERklMRT0vdmFyL3J1bi9jaGVyb2tlZS5waWQKK05BTUU9ImNoZXJva2VlIgorREVTQz0iQ2hlcm9rZWUgaHR0cCBzZXJ2ZXIiCisKK3Rlc3QgLXIgL2V0Yy9kZWZhdWx0L2NoZXJva2VlICYmIC4gL2V0Yy9kZWZhdWx0L2NoZXJva2VlCit0ZXN0IC14ICIkREFFTU9OIiB8fCBleGl0IDAKK3Rlc3QgISAtciAiJENPTkZJRyIgJiYgZXhpdCAwCisgICAgICAgIAorY2FzZSAiJDEiIGluCisgIHN0YXJ0KQorICAgIGVjaG8gIlN0YXJ0aW5nICRERVNDOiAiCisgICAgc3RhcnQtc3RvcC1kYWVtb24gLS1va25vZG8gLVMgLXggJERBRU1PTiAtLSAtZCAtQyAkQ09ORklHCisgICAgOzsKKworICBzdG9wKQorICAgIGVjaG8gIlN0b3BwaW5nICRERVNDOiIKKyAgICBzdGFydC1zdG9wLWRhZW1vbiAtSyAtcCAkUElERklMRQorICAgIDs7CisKKyAgcmVzdGFydCkKKyAgICAkMCBzdG9wID4vZGV2L251bGwgMj4mMQorICAgICQwIHN0YXJ0CisgICAgOzsKKworICAqKQorICAgIGVjaG8gIlVzYWdlOiAkMCB7c3RhcnR8c3RvcHxyZXN0YXJ0fSIKKyAgICBleGl0IDAKKyAgICA7OworZXNhYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2NoZXJva2VlL2NoZXJva2VlL2NoZXJva2VlLnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvY2hlcm9rZWUvY2hlcm9rZWUvY2hlcm9rZWUuc2VydmljZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMmQ3MDMxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2NoZXJva2VlL2NoZXJva2VlL2NoZXJva2VlLnNlcnZpY2UKQEAgLTAsMCArMSwxMCBAQAorW1VuaXRdCitEZXNjcmlwdGlvbj1DaGVyb2tlZSB3ZWIgc2VydmVyCitBZnRlcj1zeXNsb2cudGFyZ2V0CisKK1tTZXJ2aWNlXQorVHlwZT1mb3JraW5nCitFeGVjU3RhcnQ9L3Vzci9zYmluL2NoZXJva2VlIC1kIC1DIC9ldGMvY2hlcm9rZWUvY2hlcm9rZWUuY29uZgorCitbSW5zdGFsbF0KK1dhbnRlZEJ5PW11bHRpLXVzZXIudGFyZ2V0CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvY2hlcm9rZWUvY2hlcm9rZWVfMS4yLjk4LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2NoZXJva2VlL2NoZXJva2VlXzEuMi45OC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41Mjg3ZWE0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2NoZXJva2VlL2NoZXJva2VlXzEuMi45OC5iYgpAQCAtMCwwICsxLDY4IEBACitTVU1NQVJZID0gIkNoZXJva2VlIFdlYiBTZXJ2ZXIgZmFzdCBhbmQgc2VjdXJlIgorU1VNTUFSWV9jZ2V0ID0gIlNtYWxsIGRvd25sb2FkZXIgYmFzZWQgaW4gdGhlIENoZXJva2VlIGNsaWVudCBsaWJyYXJ5IgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5jaGVyb2tlZS1wcm9qZWN0LmNvbS8iCitTRUNUSU9OID0gIm5ldHdvcmsiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCisKK1BSID0gInI5IgorCitERVBFTkRTID0gImxpYnBjcmUgb3BlbnNzbCBteXNxbDUgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAnbGlicGFtJywgJycsIGQpfSIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmNoZXJva2VlLXByb2plY3QuZGUvbWlycm9ycy9jaGVyb2tlZS8xLjIvJHtQVn0vY2hlcm9rZWUtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL2NoZXJva2VlLmluaXQgXAorICAgICAgICAgICBmaWxlOi8vY2hlcm9rZWUuc2VydmljZSBcCisgICAgICAgICAgIGZpbGU6Ly9jaGVyb2tlZS1pbnN0YWxsLWNvbmZpZ3VyZWQucHktb25jZS5wYXRjaCBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiMjFiMDFlN2Q0NWMwZTgyZWNjMGM0MjU3YTljMjdmZWIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDQyYjU2ODdiMWEzZGIzY2E4MTgxNjc1NDhjZTVkMzJjMzVlMjI3YzY2NDA3MzJkY2I2MjJhNmY0YTA3OGI3ZCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGJpbmNvbmZpZyB1cGRhdGUtcmMuZCBzeXN0ZW1kCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW2ZmbXBlZ10gPSAiLS13aXRoLWZmbXBlZywtLXdpdGhvdXQtZmZtcGVnLGxpYmF2IgorUEFDS0FHRUNPTkZJR1tsZGFwXSA9ICItLXdpdGgtbGRhcCwtLXdpdGhvdXQtbGRhcCxvcGVubGRhcCIKK1BBQ0tBR0VDT05GSUdbZ2VvaXBdID0gIi0td2l0aC1nZW9pcCwtLXdpdGhvdXQtZ2VvaXAsZ2VvaXAiCisKK0VYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtc3RhdGljIFwKKyAgICAgICAgICAgICAgICAtLWRpc2FibGUtbmxzIFwKKyAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJy0tZW5hYmxlLXBhbScsICctLWRpc2FibGUtcGFtJywgZCl9IFwKKyAgICAgICAgICAgICAgIC0td2l0aC13d3dyb290PSR7bG9jYWxzdGF0ZWRpcn0vd3d3L2NoZXJva2VlIFwKKyIKKworZG9faW5zdGFsbF9hcHBlbmQgKCkgeworICAgIGluc3RhbGwgLW0gMDc1NSAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKKyAgICBpbnN0YWxsIC1tIDc1NSAke1dPUktESVJ9L2NoZXJva2VlLmluaXQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL2NoZXJva2VlCisKKyAgICAjIGNsZWFuIHVwIC5sYSBmaWxlcyBmb3IgcGx1Z2lucworICAgIHJtIC1mICR7RH0ke2xpYmRpcn0vY2hlcm9rZWUvKi5sYQorCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2NoZXJva2VlLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICBybWRpciAiJHtEfSR7bG9jYWxzdGF0ZWRpcn0vcnVuIgorICAgIHJtZGlyIC0taWdub3JlLWZhaWwtb24tbm9uLWVtcHR5ICIke0R9JHtsb2NhbHN0YXRlZGlyfSIKK30KKworIyBQdXQgLWRldiBuZWFyIHRoZSBmcm9udCBzbyB3ZSBjYW4gbW92ZSB0aGUgLmxhIGZpbGVzIGludG8gaXQgd2l0aCBhIHdpbGRjYXJkCitQQUNLQUdFUyA9KyAibGliY2hlcm9rZWUtc2VydmVyIGxpYmNoZXJva2VlLWNsaWVudCBsaWJjaGVyb2tlZS1iYXNlIGNnZXQiCisKK0ZJTEVTX2NnZXQgPSAiJHtiaW5kaXJ9L2NnZXQiCitGSUxFU19saWJjaGVyb2tlZS1zZXJ2ZXIgPSAiJHtsaWJkaXJ9L2xpYmNoZXJva2VlLXNlcnZlciR7U09MSUJTfSIKK0ZJTEVTX2xpYmNoZXJva2VlLWNsaWVudCA9ICIke2xpYmRpcn0vbGliY2hlcm9rZWUtY2xpZW50JHtTT0xJQlN9IgorRklMRVNfbGliY2hlcm9rZWUtYmFzZSA9ICIke2xpYmRpcn0vbGliY2hlcm9rZWUtYmFzZSR7U09MSUJTfSIKKworIyBQYWNrIHRoZSBodGRvY3MKK0ZJTEVTXyR7UE59ICs9ICIke2xvY2Fsc3RhdGVkaXJ9L3d3dy9jaGVyb2tlZSIKKworQ09ORkZJTEVTXyR7UE59ID0gIiBcCisgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9jaGVyb2tlZS9jaGVyb2tlZS5jb25mIFwKKyAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L2luaXQuZC9jaGVyb2tlZSBcCisiCisKK0lOSVRTQ1JJUFRfTkFNRSA9ICJjaGVyb2tlZSIKK0lOSVRTQ1JJUFRfUEFSQU1TID0gImRlZmF1bHRzIDkxIDkxIgorCitSUFJPVklERVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSUkVQTEFDRVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSQ09ORkxJQ1RTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gImNoZXJva2VlLnNlcnZpY2UiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvaGlhd2F0aGEvZmlsZXMvaGlhd2F0aGEtaW5pdCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9oaWF3YXRoYS9maWxlcy9oaWF3YXRoYS1pbml0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ3ZmMwODcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvaGlhd2F0aGEvZmlsZXMvaGlhd2F0aGEtaW5pdApAQCAtMCwwICsxLDQ0IEBACisjIS9iaW4vc2gKKworIyMjIEJFR0lOIElOSVQgSU5GTworIyBQcm92aWRlczogICAgICAgICAgaGlhd2F0aGEgaHR0cGQgaHR0cGQtY2dpCisjIFJlcXVpcmVkLVN0YXJ0OiAgICAkc3lzbG9nICRuZXR3b3JrICRyZW1vdGVfZnMKKyMgUmVxdWlyZWQtU3RvcDogICAgICRzeXNsb2cgJG5ldHdvcmsgJHJlbW90ZV9mcworIyBEZWZhdWx0LVN0YXJ0OiAgICAgMiAzIDQgNQorIyBEZWZhdWx0LVN0b3A6ICAgICAgMCAxIDYKKyMgU2hvcnQtRGVzY3JpcHRpb246IEhpYXdhdGhhIHdlYnNlcnZlcgorIyBEZXNjcmlwdGlvbjogICAgICAgSGlhd2F0aGEsIGEgc2VjdXJlIGFuZCBhZHZhbmNlZCB3ZWJzZXJ2ZXIuCisjIyMgRU5EIElOSVQgSU5GTworCitQQVRIPS9zYmluOi9iaW46L3Vzci9zYmluOi91c3IvYmluCitEQUVNT049c2VkX3NiaW5fcGF0aC9oaWF3YXRoYQorTkFNRT1oaWF3YXRoYQorREVTQz0iSGlhd2F0aGEgV2ViIFNlcnZlciIKK09QVFM9IiIKKworY2FzZSAiJDEiIGluCisgIHN0YXJ0KQorCWVjaG8gLW4gIlN0YXJ0aW5nICRERVNDOiAiCisJc3RhcnQtc3RvcC1kYWVtb24gLS1zdGFydCAteCAiJERBRU1PTiIgLS0gJE9QVFMKKwllY2hvICIkTkFNRS4iCisJOzsKKyAgc3RvcCkKKwllY2hvIC1uICJTdG9wcGluZyAkREVTQzogIgorCXN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RvcCAteCAiJERBRU1PTiIKKwllY2hvICIkTkFNRS4iCisJOzsKKyAgcmVzdGFydHxmb3JjZS1yZWxvYWQpCisJZWNobyAtbiAiUmVzdGFydGluZyAkREVTQzogIgorCXN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RvcCAteCAiJERBRU1PTiIKKwlzbGVlcCAxCisJc3RhcnQtc3RvcC1kYWVtb24gLS1zdGFydCAteCAiJERBRU1PTiIgLS0gJE9QVFMKKwllY2hvICIkTkFNRS4iCisJOzsKKyAgKikKKwlOPS9ldGMvaW5pdC5kLyROQU1FCisJZWNobyAiVXNhZ2U6ICROIHtzdGFydHxzdG9wfHJlc3RhcnR8Zm9yY2UtcmVsb2FkfSIgPiYyCisJZXhpdCAxCisJOzsKK2VzYWMKKworZXhpdCAwCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvaGlhd2F0aGEvZmlsZXMvaGlhd2F0aGEuc2VydmljZSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9oaWF3YXRoYS9maWxlcy9oaWF3YXRoYS5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI2Y2I4ZDAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvaGlhd2F0aGEvZmlsZXMvaGlhd2F0aGEuc2VydmljZQpAQCAtMCwwICsxLDE2IEBACitbVW5pdF0KK0Rlc2NyaXB0aW9uPUhpYXdhdGhhIFdlYiBTZXJ2ZXIKK0FmdGVyPW5ldHdvcmsudGFyZ2V0IHJlbW90ZS1mcy50YXJnZXQgbnNzLWxvb2t1cC50YXJnZXQKKworW1NlcnZpY2VdCitUeXBlPXNpbXBsZQorU3lzbG9nSWRlbnRpZmllcj1oaWF3YXRoYQorRXhlY1N0YXJ0UHJlPS91c3Ivc2Jpbi9oaWF3YXRoYSAtayA7IC91c3Ivc2Jpbi93aWd3YW0KK0V4ZWNTdGFydD0gL3Vzci9zYmluL2hpYXdhdGhhIC1kCitUaW1lb3V0U2VjPTEwCisjKGRvZXNuJ3QgbGlrZSB0aGlzIHNldHRpbmcuIENhbid0IGZpbmQgZmlsZXMpIFByaXZhdGVUbXA9dHJ1ZQorTGltaXROT0ZJTEU9aW5maW5pdHkKK0NhcGFiaWxpdHlCb3VuZGluZ1NldD1DQVBfTkVUX0JJTkRfU0VSVklDRSBDQVBfQ0hPV04gQ0FQX0RBQ19PVkVSUklERSBDQVBfRk9XTkVSIENBUF9GU0VUSUQgQ0FQX1NFVEdJRCBDQVBfU0VUVUlEIAorCitbSW5zdGFsbF0KK1dhbnRlZEJ5PW11bHRpLXVzZXIudGFyZ2V0CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvaGlhd2F0aGEvaGlhd2F0aGFfOS4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2hpYXdhdGhhL2hpYXdhdGhhXzkuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MDYyMTc0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2hpYXdhdGhhL2hpYXdhdGhhXzkuMi5iYgpAQCAtMCwwICsxLDY1IEBACitTVU1NQVJZID0gIkxpZ2h0d2VpZ2h0IHNlY3VyZSB3ZWIgc2VydmVyIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5oaWF3YXRoYS13ZWJzZXJ2ZXIub3JnIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIgorREVQRU5EUyA9ICJsaWJ4bWwyIGxpYnhzbHQiCisKK1NFQ1RJT04gPSAibmV0IgorCitTUkNfVVJJID0gImh0dHA6Ly9oaWF3YXRoYS13ZWJzZXJ2ZXIub3JnL2ZpbGVzLyR7QlB9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9oaWF3YXRoYS1pbml0IFwKKyAgICAgICAgICAgZmlsZTovL2hpYXdhdGhhLnNlcnZpY2UgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYTc3ZjA0NDYzNDg4NGM0Y2M1ZDIxZGFiNDRlODIyYTMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNWQ5Y2RlYzUxYzYxOGJiM2VmYWI3NDcwMzBlNTkzZDliZDQ5ZGZhZjMyMzYyNTRjOGUwY2I2MDcxNTcxNmRiZiIKKworSU5JVFNDUklQVF9OQU1FID0gImhpYXdhdGhhIgorSU5JVFNDUklQVF9QQVJBTVMgPSAiZGVmYXVsdHMgNzAiCisKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJoaWF3YXRoYS5zZXJ2aWNlIgorCitpbmhlcml0IGNtYWtlIHVwZGF0ZS1yYy5kIHN5c3RlbWQKKworRVhUUkFfT0VDTUFLRSA9ICIgLURFTkFCTEVfSVBWNj1PRkYgXAorICAgICAgICAgICAgICAgICAgLURFTkFCTEVfQ0FDSEU9T0ZGIFwKKyAgICAgICAgICAgICAgICAgIC1ERU5BQkxFX0RFQlVHPU9GRiBcCisgICAgICAgICAgICAgICAgICAtREVOQUJMRV9TU0w9T0ZGIFwKKyAgICAgICAgICAgICAgICAgIC1ERU5BQkxFX1RPT0xLSVQ9T0ZGIFwKKyAgICAgICAgICAgICAgICAgIC1ERU5BQkxFX0NIUk9PVD1PRkYgXAorICAgICAgICAgICAgICAgICAgLURFTkFCTEVfWFNMVD1PTiBcCisgICAgICAgICAgICAgICAgICAtREVOQUJMRV9UT01BSEFXSz1PRkYgXAorICAgICAgICAgICAgICAgICAgLURDTUFLRV9JTlNUQUxMX01BTkRJUj0ke21hbmRpcn0gXAorICAgICAgICAgICAgICAgICAgLURDTUFLRV9JTlNUQUxMX0JJTkRJUj0ke2JpbmRpcn0gXAorICAgICAgICAgICAgICAgICAgLURDTUFLRV9JTlNUQUxMX1NCSU5ESVI9JHtzYmluZGlyfSBcCisgICAgICAgICAgICAgICAgICAtRENNQUtFX0lOU1RBTExfU1lTQ09ORkRJUj0ke3N5c2NvbmZkaXJ9IFwKKyAgICAgICAgICAgICAgICAgIC1EQ01BS0VfSU5TVEFMTF9MSUJESVI9JHtsaWJkaXJ9IFwKKyAgICAgICAgICAgICAgICAgIC1ETE9HX0RJUj0vdmFyL2xvZy9oaWF3YXRoYSBcCisgICAgICAgICAgICAgICAgICAtRFBJRF9ESVI9L3Zhci9ydW4gXAorICAgICAgICAgICAgICAgICAgLURXRUJST09UX0RJUj0vdmFyL3d3dy9oaWF3YXRoYSBcCisgICAgICAgICAgICAgICAgICAtRFdPUktfRElSPS92YXIvbGliL2hpYXdhdGhhICIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgIyBDb3B5IG92ZXIgaW5pdCBzY3JpcHQgYW5kIHNlZCBpbiB0aGUgY29ycmVjdCBzYmluIHBhdGgKKyAgICBzZWQgLWkgJ3Msc2VkX3NiaW5fcGF0aCwke3NiaW5kaXJ9LCcgJHtXT1JLRElSfS9oaWF3YXRoYS1pbml0CisgICAgbWtkaXIgLXAgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vaGlhd2F0aGEtaW5pdCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvaGlhd2F0aGEKKworICAgICMgY29uZmlndXJlIHBocC1mY2dpIHRvIGhhdmUgYSB3b3JraW5nIGNvbmZpZ3VyYXRpb24KKyAgICAjIGJ5IGRlZmF1bHQgaWYgcGhwIGlzIGluc3RhbGxlZAorICAgIGVjaG8gIlNlcnZlciA9ICR7YmluZGlyfS9waHAtY2dpIDsgMiA7IDEyNy4wLjAuMToyMDA1IDsgbm9ib2R5Om5vYm9keSA7ICR7c3lzY29uZmRpcn0vcGhwL2hpYXdhdGhhLXBocDUvcGhwLmluaSIgPj4gJHtEfSR7c3lzY29uZmRpcn0vaGlhd2F0aGEvcGhwLWZjZ2kuY29uZgorCisgICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ3N5c3RlbWQnLCd0cnVlJywnZmFsc2UnLGQpfTsgdGhlbgorICAgICAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgICAgICBpbnN0YWxsIC1tIDY0NCAke1dPUktESVJ9L2hpYXdhdGhhLnNlcnZpY2UgJHtEfS8ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgZmkKKworICAgIHJtZGlyIC0taWdub3JlLWZhaWwtb24tbm9uLWVtcHR5ICIke0R9JHtsb2NhbHN0YXRlZGlyfSIKK30KKworQ09ORkZJTEVTXyR7UE59ID0gIiBcCisgICAgJHtzeXNjb25mZGlyfS9oaWF3YXRoYS9jZ2ktd3JhcHBlci5jb25mIFwKKyAgICAke3N5c2NvbmZkaXJ9L2hpYXdhdGhhL2hpYXdhdGhhLmNvbmYgXAorICAgICR7c3lzY29uZmRpcn0vaGlhd2F0aGEvaW5kZXgueHNsdCBcCisgICAgJHtzeXNjb25mZGlyfS9oaWF3YXRoYS9taW1ldHlwZS5jb25mIFwKKyAgICAke3N5c2NvbmZkaXJ9L2hpYXdhdGhhL3BocC1mY2dpLmNvbmYgXAorIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL21vbmtleS9maWxlcy9tb25rZXkuaW5pdCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9tb25rZXkvZmlsZXMvbW9ua2V5LmluaXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDBiMjExOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9tb25rZXkvZmlsZXMvbW9ua2V5LmluaXQKQEAgLTAsMCArMSwzNCBAQAorIyEvYmluL3NoCisKK1BBVEg9L3NiaW46L2JpbjovdXNyL3NiaW46L3Vzci9iaW4KK0RBRU1PTj0vdXNyL2Jpbi9tb25rZXkKK05BTUU9bW9ua2V5CitERVNDPSJNb25rZXkgSFRUUCBTZXJ2ZXIiCitPUFRTPSItLWRhZW1vbiIKKworY2FzZSAiJDEiIGluCisgIHN0YXJ0KQorCWVjaG8gLW4gIlN0YXJ0aW5nICRERVNDOiAiCisJc3RhcnQtc3RvcC1kYWVtb24gLS1zdGFydCAteCAiJERBRU1PTiIgLS0gJE9QVFMKKwllY2hvICIkTkFNRS4iCisJOzsKKyAgc3RvcCkKKwllY2hvIC1uICJTdG9wcGluZyAkREVTQzogIgorCXN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RvcCAteCAiJERBRU1PTiIKKwllY2hvICIkTkFNRS4iCisJOzsKKyAgcmVzdGFydHxmb3JjZS1yZWxvYWQpCisJZWNobyAtbiAiUmVzdGFydGluZyAkREVTQzogIgorCXN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RvcCAteCAiJERBRU1PTiIKKwlzbGVlcCAxCisJc3RhcnQtc3RvcC1kYWVtb24gLS1zdGFydCAteCAiJERBRU1PTiIgLS0gJE9QVFMKKwllY2hvICIkTkFNRS4iCisJOzsKKyAgKikKKwlOPS9ldGMvaW5pdC5kLyROQU1FCisJZWNobyAiVXNhZ2U6ICROIHtzdGFydHxzdG9wfHJlc3RhcnR8Zm9yY2UtcmVsb2FkfSIgPiYyCisJZXhpdCAxCisJOzsKK2VzYWMKKworZXhpdCAwCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbW9ua2V5L2ZpbGVzL21vbmtleS5zZXJ2aWNlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL21vbmtleS9maWxlcy9tb25rZXkuc2VydmljZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mOWFhNTdmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL21vbmtleS9maWxlcy9tb25rZXkuc2VydmljZQpAQCAtMCwwICsxLDEyIEBACitbVW5pdF0KK0Rlc2NyaXB0aW9uPU1vbmtleSBIVFRQIFNlcnZlcgorQWZ0ZXI9bmV0d29yay50YXJnZXQgcmVtb3RlLWZzLnRhcmdldAorCitbU2VydmljZV0KK1R5cGU9Zm9ya2luZworRXhlY1N0YXJ0PS91c3IvYmluL21vbmtleSAtLWRhZW1vbgorUElERmlsZT0vdmFyL3J1bi9tb25rZXkucGlkLjIwMDEKK1RpbWVvdXRTZWM9MTAKKworW0luc3RhbGxdCitXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL21vbmtleS9tb25rZXlfMS41LjYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbW9ua2V5L21vbmtleV8xLjUuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZThlZDM3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL21vbmtleS9tb25rZXlfMS41LjYuYmIKQEAgLTAsMCArMSw2NSBAQAorU1VNTUFSWSA9ICJGYXN0IGFuZCBMaWdodHdlaWdodCBIVFRQIFNlcnZlciBmb3IgTGludXgiCitIT01FUEFHRSA9ICJodHRwOi8vbW9ua2V5LXByb2plY3QuY29tIgorQlVHVFJBQ0tFUiA9ICJodHRwczovL2dpdGh1Yi5jb20vbW9ua2V5L21vbmtleS9pc3N1ZXMiCisKK0xJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTJlZTQxMTEyYTQ0ZmU3MDE0ZGNlMzNlMjY0NjhiYTkzIgorCitTRUNUSU9OID0gIm5ldCIKKworU1JDX1VSSSA9ICJodHRwOi8vbW9ua2V5LXByb2plY3QuY29tL3JlbGVhc2VzLzEuNS9tb25rZXktJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL21vbmtleS5zZXJ2aWNlIFwKKyAgICAgICAgICAgZmlsZTovL21vbmtleS5pbml0IgorCitTUkNfVVJJW21kNXN1bV0gPSAiOTY5OWU0YzllYTZjZTZiOTg5OTA3YzI1MmFlODAyNTQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiN2MzZDg0NTMwNmFhNzRlZTZlZmZkN2FiNjE2OWQxNmFjNGU2NDUwZTU2NDk1NGQwZDBiYWEyZDFlOWJlMWEyMiIKKworRVhUUkFfT0VDT05GID0gIi0tcGx1Z2Rpcj0ke2xpYmRpcn0vbW9ua2V5LyBcCisgICAgICAgICAgICAgICAgLS1sb2dkaXI9JHtsb2NhbHN0YXRlZGlyfS9sb2cvbW9ua2V5LyBcCisgICAgICAgICAgICAgICAgLS1waWRmaWxlPSR7bG9jYWxzdGF0ZWRpcn0vcnVuL21vbmtleS5waWQgXAorICAgICAgICAgICAgICAgIC0tZGVmYXVsdC11c2VyPXd3dy1kYXRhIFwKKyAgICAgICAgICAgICAgICAtLWRhdGFkaXI9JHtsb2NhbHN0YXRlZGlyfS93d3cvbW9ua2V5LyBcCisgICAgICAgICAgICAgICAgLS1zeXNjb25mZGlyPSR7c3lzY29uZmRpcn0vbW9ua2V5LyBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtcGx1Z2lucz0qIFwKKyAgICAgICAgICAgICAgICAtLWRpc2FibGUtcGx1Z2lucz1tYmVkdGxzIFwKKyAgICAgICAgICAgICAgICAtLWRlYnVnIFwKKyAgICAgICAgICAgICAgICAtLW1hbGxvYy1saWJjIgorRElTQUJMRV9TVEFUSUMgPSAiIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcGtnY29uZmlnIHVwZGF0ZS1yYy5kIHN5c3RlbWQKKworSU5JVFNDUklQVF9OQU1FID0gIm1vbmtleSIKK0lOSVRTQ1JJUFRfUEFSQU1TID0gImRlZmF1bHRzIDcwIgorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAibW9ua2V5LnNlcnZpY2UiCisKK0ZJTEVTXyR7UE59ICs9ICIke2xvY2Fsc3RhdGVkaXJ9L3d3dy9tb25rZXkvIgorCitDT05GRklMRVNfJHtQTn0gPSAiJHtzeXNjb25mZGlyfS9tb25rZXkvbW9ua2V5LmNvbmYgXAorICAgICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vbW9ua2V5L3NpdGVzL2RlZmF1bHQgXAorICAgICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vbW9ua2V5L21vbmtleS5taW1lIFwKKyAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L21vbmtleS9wbHVnaW5zLmxvYWQgXAorICAgICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vbW9ua2V5L3BsdWdpbnMvcHJveHlfcmV2ZXJzZS9wcm94eV9yZXZlcnNlLmNvbmYgXAorICAgICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vbW9ua2V5L3BsdWdpbnMvbWFuZHJpbC9tYW5kcmlsLmNvbmYgXAorICAgICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vbW9ua2V5L3BsdWdpbnMvZmFzdGNnaS9mYXN0Y2dpLmNvbmYgXAorICAgICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vbW9ua2V5L3BsdWdpbnMvbG9nZ2VyL2xvZ2dlci5jb25mIFwKKyAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L21vbmtleS9wbHVnaW5zL2NnaS9jZ2kuY29uZiBcCisgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9tb25rZXkvcGx1Z2lucy9jaGVldGFoL2NoZWV0YWguY29uZiBcCisgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9tb25rZXkvcGx1Z2lucy9kaXJsaXN0aW5nL2Rpcmh0bWwuY29uZiBcCisgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9tb25rZXkvcGx1Z2lucy9kaXJsaXN0aW5nL3RoZW1lcy9ndWluZW8vaGVhZGVyLnRoZW1lIFwKKyAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L21vbmtleS9wbHVnaW5zL2Rpcmxpc3RpbmcvdGhlbWVzL2d1aW5lby9mb290ZXIudGhlbWUgXAorICAgICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vbW9ua2V5L3BsdWdpbnMvZGlybGlzdGluZy90aGVtZXMvZ3VpbmVvL2VudHJ5LnRoZW1lIFwKKyAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L21vbmtleS9wbHVnaW5zL2F1dGgvUkVBRE1FIFwKKyAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L21vbmtleS9wbHVnaW5zL2F1dGgvbW9ua2V5LnVzZXJzIFwKKyAgICAgICAgICAgICAgICAgICAiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworCisgICAgbWtkaXIgLXAgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vbW9ua2V5LmluaXQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL21vbmtleQorCisgICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ3N5c3RlbWQnLCd0cnVlJywnZmFsc2UnLGQpfTsgdGhlbgorICAgICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgICAgIGluc3RhbGwgLW0gNjQ0ICR7V09SS0RJUn0vbW9ua2V5LnNlcnZpY2UgJHtEfS8ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgZmkKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9uZ2lueC9maWxlcy9uZ2lueC1jcm9zcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9uZ2lueC9maWxlcy9uZ2lueC1jcm9zcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40Njc5MmJhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25naW54L2ZpbGVzL25naW54LWNyb3NzLnBhdGNoCkBAIC0wLDAgKzEsMjE4IEBACitXZSBkbyBub3QgaGF2ZSBjYXBhYmlsaXR5IHRvIHJ1biBiaW5hcmllcyB3aGVuIGNyb3NzIGNvbXBpbGluZworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworCitkaWZmIC11cmFOIG5naW54LTEuMC4xMS5vcmlnL2F1dG8vZmVhdHVyZSBuZ2lueC0xLjAuMTEvYXV0by9mZWF0dXJlCistLS0gbmdpbngtMS4wLjExLm9yaWcvYXV0by9mZWF0dXJlCTIwMTEtMDUtMTEgMDY6NTA6MTkuMDAwMDAwMDAwIC0wNTAwCisrKysgbmdpbngtMS4wLjExL2F1dG8vZmVhdHVyZQkyMDExLTEyLTI3IDEzOjU2OjQyLjMyMzM3MDA0MCAtMDYwMAorQEAgLTQ4LDEyICs0OCwyMCBAQAorIAorIGlmIFsgLXggJE5HWF9BVVRPVEVTVCBdOyB0aGVuCisgCisrICAgIGlmIFsgIi4kTkdYX0NST1NTX0NPTVBJTEUiID0gIi55ZXMiIF07IHRoZW4KKysgICAgICAgIE5HWF9BVVRPVEVTVF9FWEVDPSJ0cnVlIgorKwlOR1hfRk9VTkRfTVNHPSIgKG5vdCB0ZXN0ZWQsIGNyb3NzIGNvbXBpbGluZykiCisrICAgIGVsc2UKKysgICAgICAgIE5HWF9BVVRPVEVTVF9FWEVDPSIkTkdYX0FVVE9URVNUIgorKwlOR1hfRk9VTkRfTVNHPSIiCisrICAgIGZpCisrCisgICAgIGNhc2UgIiRuZ3hfZmVhdHVyZV9ydW4iIGluCisgCisgICAgICAgICB5ZXMpCisgICAgICAgICAgICAgIyAvYmluL3NoIGlzIHVzZWQgdG8gaW50ZXJjZXB0ICJLaWxsZWQiIG9yICJBYm9ydCB0cmFwIiBtZXNzYWdlcworLSAgICAgICAgICAgIGlmIC9iaW4vc2ggLWMgJE5HWF9BVVRPVEVTVCA+PiAkTkdYX0FVVE9DT05GX0VSUiAyPiYxOyB0aGVuCistICAgICAgICAgICAgICAgIGVjaG8gIiBmb3VuZCIKKysgICAgICAgICAgICBpZiAvYmluL3NoIC1jICROR1hfQVVUT1RFU1RfRVhFQyA+PiAkTkdYX0FVVE9DT05GX0VSUiAyPiYxOyB0aGVuCisrICAgICAgICAgICAgICAgIGVjaG8gIiBmb3VuZCROR1hfRk9VTkRfTVNHIgorICAgICAgICAgICAgICAgICBuZ3hfZm91bmQ9eWVzCisgCisgICAgICAgICAgICAgICAgIGlmIHRlc3QgLW4gIiRuZ3hfZmVhdHVyZV9uYW1lIjsgdGhlbgorQEAgLTY3LDE3ICs3NSwyNyBAQAorIAorICAgICAgICAgdmFsdWUpCisgICAgICAgICAgICAgIyAvYmluL3NoIGlzIHVzZWQgdG8gaW50ZXJjZXB0ICJLaWxsZWQiIG9yICJBYm9ydCB0cmFwIiBtZXNzYWdlcworLSAgICAgICAgICAgIGlmIC9iaW4vc2ggLWMgJE5HWF9BVVRPVEVTVCA+PiAkTkdYX0FVVE9DT05GX0VSUiAyPiYxOyB0aGVuCistICAgICAgICAgICAgICAgIGVjaG8gIiBmb3VuZCIKKysgICAgICAgICAgICBpZiAvYmluL3NoIC1jICROR1hfQVVUT1RFU1RfRVhFQyA+PiAkTkdYX0FVVE9DT05GX0VSUiAyPiYxOyB0aGVuCisrICAgICAgICAgICAgICAgIGVjaG8gIiBmb3VuZCROR1hfRk9VTkRfTVNHIgorICAgICAgICAgICAgICAgICBuZ3hfZm91bmQ9eWVzCisgCistICAgICAgICAgICAgICAgIGNhdCA8PCBFTkQgPj4gJE5HWF9BVVRPX0NPTkZJR19ICisrICAgICAgICAgICAgICAgIGlmIFsgIi4kTkdYX0NST1NTX0NPTVBJTEUiID0gIi55ZXMiIF07IHRoZW4KKysgICAgICAgICAgICAgICAgICAgIGNhdCA8PCBFTkQgPj4gJE5HWF9BVVRPX0NPTkZJR19ICisgCisgI2lmbmRlZiAkbmd4X2ZlYXR1cmVfbmFtZQorLSNkZWZpbmUgJG5neF9mZWF0dXJlX25hbWUgIGAkTkdYX0FVVE9URVNUYAorKyNkZWZpbmUgJG5neF9mZWF0dXJlX25hbWUgICQoZXZhbCAiZWNobyBcJE5HWF9XSVRIXyR7bmd4X2ZlYXR1cmVfbmFtZX0iKQorICNlbmRpZgorIAorIEVORAorKwkJZWxzZQorKyAgICAgICAgICAgICAgICAgICAgY2F0IDw8IEVORCA+PiAkTkdYX0FVVE9fQ09ORklHX0gKKysKKysjaWZuZGVmICRuZ3hfZmVhdHVyZV9uYW1lCisrI2RlZmluZSAkbmd4X2ZlYXR1cmVfbmFtZSAgYCROR1hfQVVUT1RFU1RfRVhFQ2AKKysjZW5kaWYKKysKKytFTkQKKysgICAgICAgICAgICAgICAgZmkKKyAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgIGVjaG8gIiBmb3VuZCBidXQgaXMgbm90IHdvcmtpbmciCisgICAgICAgICAgICAgZmkKK0BAIC04NSw3ICsxMDMsNyBAQAorIAorICAgICAgICAgYnVnKQorICAgICAgICAgICAgICMgL2Jpbi9zaCBpcyB1c2VkIHRvIGludGVyY2VwdCAiS2lsbGVkIiBvciAiQWJvcnQgdHJhcCIgbWVzc2FnZXMKKy0gICAgICAgICAgICBpZiAvYmluL3NoIC1jICROR1hfQVVUT1RFU1QgPj4gJE5HWF9BVVRPQ09ORl9FUlIgMj4mMTsgdGhlbgorKyAgICAgICAgICAgIGlmIC9iaW4vc2ggLWMgJE5HWF9BVVRPVEVTVF9FWEVDID4+ICROR1hfQVVUT0NPTkZfRVJSIDI+JjE7IHRoZW4KKyAgICAgICAgICAgICAgICAgZWNobyAiIG5vdCBmb3VuZCIKKyAKKyAgICAgICAgICAgICBlbHNlCitkaWZmIC11cmFOIG5naW54LTEuMC4xMS5vcmlnL2F1dG8vb3B0aW9ucyBuZ2lueC0xLjAuMTEvYXV0by9vcHRpb25zCistLS0gbmdpbngtMS4wLjExLm9yaWcvYXV0by9vcHRpb25zCTIwMTEtMTItMTQgMDc6MzQ6MTYuMDAwMDAwMDAwIC0wNjAwCisrKysgbmdpbngtMS4wLjExL2F1dG8vb3B0aW9ucwkyMDExLTEyLTI3IDEzOjU2OjQyLjMyMzM3MDA0MCAtMDYwMAorQEAgLTI4OSw2ICsyODksMTggQEAKKyAgICAgICAgIC0tdGVzdC1idWlsZC1ydHNpZykgICAgICAgICAgICAgIE5HWF9URVNUX0JVSUxEX1JUU0lHPVlFUyAgIDs7CisgICAgICAgICAtLXRlc3QtYnVpbGQtc29sYXJpcy1zZW5kZmlsZXYpICBOR1hfVEVTVF9CVUlMRF9TT0xBUklTX1NFTkRGSUxFVj1ZRVMgOzsKKyAKKysgICAgICAgICMgY3Jvc3MgY29tcGlsZSBzdXBwb3J0CisrICAgICAgICAtLXdpdGgtaW50PSopICAgICAgICAgICAgICAgICAgICBOR1hfV0lUSF9JTlQ9IiR2YWx1ZSIgICAgICAgICAgOzsKKysgICAgICAgIC0td2l0aC1sb25nPSopICAgICAgICAgICAgICAgICAgIE5HWF9XSVRIX0xPTkc9IiR2YWx1ZSIgICAgICAgICA7OworKyAgICAgICAgLS13aXRoLWxvbmctbG9uZz0qKSAgICAgICAgICAgICAgTkdYX1dJVEhfTE9OR19MT05HPSIkdmFsdWUiICAgIDs7CisrICAgICAgICAtLXdpdGgtcHRyLXNpemU9KikgICAgICAgICAgICAgICBOR1hfV0lUSF9QVFJfU0laRT0iJHZhbHVlIiAgICAgOzsKKysgICAgICAgIC0td2l0aC1zaWctYXRvbWljLXQ9KikgICAgICAgICAgIE5HWF9XSVRIX1NJR19BVE9NSUNfVD0iJHZhbHVlIiA7OworKyAgICAgICAgLS13aXRoLXNpemUtdD0qKSAgICAgICAgICAgICAgICAgTkdYX1dJVEhfU0laRV9UPSIkdmFsdWUiICAgICAgIDs7CisrICAgICAgICAtLXdpdGgtb2ZmLXQ9KikgICAgICAgICAgICAgICAgICBOR1hfV0lUSF9PRkZfVD0iJHZhbHVlIiAgICAgICAgOzsKKysgICAgICAgIC0td2l0aC10aW1lLXQ9KikgICAgICAgICAgICAgICAgIE5HWF9XSVRIX1RJTUVfVD0iJHZhbHVlIiAgICAgICA7OworKyAgICAgICAgLS13aXRoLXN5cy1uZXJyPSopICAgICAgICAgICAgICAgTkdYX1dJVEhfTkdYX1NZU19ORVJSPSIkdmFsdWUiIDs7CisrICAgICAgICAtLXdpdGgtZW5kaWFuPSopICAgICAgICAgICAgICAgICBOR1hfV0lUSF9FTkRJQU49IiR2YWx1ZSIgICAgICAgOzsKKysKKyAgICAgICAgICopCisgICAgICAgICAgICAgZWNobyAiJDA6IGVycm9yOiBpbnZhbGlkIG9wdGlvbiBcIiRvcHRpb25cIiIKKyAgICAgICAgICAgICBleGl0IDEKK0BAIC00MzQsNiArNDQ2LDE3IEBACisgCisgICAtLXdpdGgtZGVidWcgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsZSBkZWJ1ZyBsb2dnaW5nCisgCisrICAtLXdpdGgtaW50PVZBTFVFICAgICAgICAgICAgICAgICAgIGZvcmNlIGludCBzaXplCisrICAtLXdpdGgtbG9uZz1WQUxVRSAgICAgICAgICAgICAgICAgIGZvcmNlIGxvbmcgc2l6ZQorKyAgLS13aXRoLWxvbmctbG9uZz1WQUxVRSAgICAgICAgICAgICBmb3JjZSBsb25nIGxvbmcgc2l6ZQorKyAgLS13aXRoLXB0ci1zaXplPVZBTFVFICAgICAgICAgICAgICBmb3JjZSBwb2ludGVyIHNpemUKKysgIC0td2l0aC1zaWctYXRvbWljLXQ9VkFMVUUgICAgICAgICAgZm9yY2Ugc2lnX2F0b21pY190IHNpemUKKysgIC0td2l0aC1zaXplLXQ9VkFMVUUgICAgICAgICAgICAgICAgZm9yY2Ugc2l6ZV90IHNpemUKKysgIC0td2l0aC1vZmYtdD1WQUxVRSAgICAgICAgICAgICAgICAgZm9yY2Ugb2ZmX3Qgc2l6ZQorKyAgLS13aXRoLXRpbWUtdD1WQUxVRSAgICAgICAgICAgICAgICBmb3JjZSB0aW1lX3Qgc2l6ZQorKyAgLS13aXRoLXN5cy1uZXJyPVZBTFVFICAgICAgICAgICAgICBmb3JjZSBzeXNfbmVyciB2YWx1ZQorKyAgLS13aXRoLWVuZGlhbj1WQUxVRSAgICAgICAgICAgICAgICBmb3JjZSBzeXN0ZW0gZW5kaWFuZXNzCisrCisgRU5ECisgCisgICAgIGV4aXQgMQorQEAgLTQ1NSw2ICs0NzgsOCBAQAorIAorIGlmIFsgIi4kTkdYX1BMQVRGT1JNIiA9ICIud2luMzIiIF07IHRoZW4KKyAgICAgTkdYX1dJTkU9JFdJTkUKKytlbGlmIFsgISAteiAiJE5HWF9QTEFURk9STSIgXTsgdGhlbgorKyAgICBOR1hfQ1JPU1NfQ09NUElMRT0ieWVzIgorIGZpCisgCisgCitkaWZmIC11cmFOIG5naW54LTEuMC4xMS5vcmlnL2F1dG8vdHlwZXMvc2l6ZW9mIG5naW54LTEuMC4xMS9hdXRvL3R5cGVzL3NpemVvZgorLS0tIG5naW54LTEuMC4xMS5vcmlnL2F1dG8vdHlwZXMvc2l6ZW9mCTIwMDYtMDYtMjggMTE6MDA6MjYuMDAwMDAwMDAwIC0wNTAwCisrKysgbmdpbngtMS4wLjExL2F1dG8vdHlwZXMvc2l6ZW9mCTIwMTEtMTItMjcgMTM6NTY6NDIuMzIzMzcwMDQwIC0wNjAwCitAQCAtMTIsOSArMTIsMTIgQEAKKyAKKyBFTkQKKyAKKy1uZ3hfc2l6ZT0KKytuZ3hfc2l6ZT0kKGV2YWwgImVjaG8gXCROR1hfV0lUSF8ke25neF9wYXJhbX0iKQorIAorLWNhdCA8PCBFTkQgPiAkTkdYX0FVVE9URVNULmMKKytpZiBbICIuJG5neF9zaXplIiAhPSAiLiIgXTsgdGhlbgorKyAgICBlY2hvICIgJG5neF9zaXplIGJ5dGVzIgorK2Vsc2UKKysgICAgY2F0IDw8IEVORCA+ICROR1hfQVVUT1RFU1QuYworIAorICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyAjaW5jbHVkZSA8c3lzL3RpbWUuaD4KK0BAIC0zMywyMCArMzYsMjAgQEAKKyBFTkQKKyAKKyAKKy1uZ3hfdGVzdD0iJENDICRDQ19URVNUX0ZMQUdTICRDQ19BVVhfRkxBR1MgXAorLSAgICAgICAgICAtbyAkTkdYX0FVVE9URVNUICROR1hfQVVUT1RFU1QuYyAkTkdYX0xEX09QVCAkbmd4X2ZlYXR1cmVfbGlicyIKKysgICAgbmd4X3Rlc3Q9IiRDQyAkQ0NfVEVTVF9GTEFHUyAkQ0NfQVVYX0ZMQUdTIFwKKysJICAgICAgLW8gJE5HWF9BVVRPVEVTVCAkTkdYX0FVVE9URVNULmMgJE5HWF9MRF9PUFQgJG5neF9mZWF0dXJlX2xpYnMiCisgCistZXZhbCAiJG5neF90ZXN0ID4+ICROR1hfQVVUT0NPTkZfRVJSIDI+JjEiCisrICAgIGV2YWwgIiRuZ3hfdGVzdCA+PiAkTkdYX0FVVE9DT05GX0VSUiAyPiYxIgorIAorIAorLWlmIFsgLXggJE5HWF9BVVRPVEVTVCBdOyB0aGVuCistICAgIG5neF9zaXplPWAkTkdYX0FVVE9URVNUYAorLSAgICBlY2hvICIgJG5neF9zaXplIGJ5dGVzIgorLWZpCisrICAgIGlmIFsgLXggJE5HWF9BVVRPVEVTVCBdOyB0aGVuCisrCW5neF9zaXplPWAkTkdYX0FVVE9URVNUYAorKwllY2hvICIgJG5neF9zaXplIGJ5dGVzIgorKyAgICBmaQorIAorIAorLXJtIC1yZiAkTkdYX0FVVE9URVNUKgorLQorKyAgICBybSAtcmYgJE5HWF9BVVRPVEVTVCoKKytmaQorIAorIGNhc2UgJG5neF9zaXplIGluCisgICAgIDQpCitkaWZmIC11cmFOIG5naW54LTEuMC4xMS5vcmlnL2F1dG8vdW5peCBuZ2lueC0xLjAuMTEvYXV0by91bml4CistLS0gbmdpbngtMS4wLjExLm9yaWcvYXV0by91bml4CTIwMTEtMTItMTQgMDc6MzQ6MTYuMDAwMDAwMDAwIC0wNjAwCisrKysgbmdpbngtMS4wLjExL2F1dG8vdW5peAkyMDExLTEyLTI3IDEzOjU2OjQyLjMyNzM3MDA2MCAtMDYwMAorQEAgLTM5MywxMyArMzkzLDEzIEBACisgCisgIyBDIHR5cGVzCisgCistbmd4X3R5cGU9ImludCI7IC4gYXV0by90eXBlcy9zaXplb2YKKytuZ3hfdHlwZT0iaW50Ijsgbmd4X3BhcmFtPSJJTlQiOyAuIGF1dG8vdHlwZXMvc2l6ZW9mCisgCistbmd4X3R5cGU9ImxvbmciOyAuIGF1dG8vdHlwZXMvc2l6ZW9mCisrbmd4X3R5cGU9ImxvbmciOyBuZ3hfcGFyYW09IkxPTkciOyAuIGF1dG8vdHlwZXMvc2l6ZW9mCisgCistbmd4X3R5cGU9ImxvbmcgbG9uZyI7IC4gYXV0by90eXBlcy9zaXplb2YKKytuZ3hfdHlwZT0ibG9uZyBsb25nIjsgbmd4X3BhcmFtPSJMT05HX0xPTkciOyAuIGF1dG8vdHlwZXMvc2l6ZW9mCisgCistbmd4X3R5cGU9InZvaWQgKiI7IC4gYXV0by90eXBlcy9zaXplb2Y7IG5neF9wdHJfc2l6ZT0kbmd4X3NpemUKKytuZ3hfdHlwZT0idm9pZCAqIjsgbmd4X3BhcmFtPSJQVFJfU0laRSI7IC4gYXV0by90eXBlcy9zaXplb2Y7IG5neF9wdHJfc2l6ZT0kbmd4X3NpemUKKyBuZ3hfcGFyYW09TkdYX1BUUl9TSVpFOyBuZ3hfdmFsdWU9JG5neF9zaXplOyAuIGF1dG8vdHlwZXMvdmFsdWUKKyAKKyAKK0BAIC00MTYsNyArNDE2LDcgQEAKKyAKKyBuZ3hfdHlwZT0idWludDY0X3QiOyBuZ3hfdHlwZXM9InVfaW50NjRfdCI7IC4gYXV0by90eXBlcy90eXBlZGVmCisgCistbmd4X3R5cGU9InNpZ19hdG9taWNfdCI7IG5neF90eXBlcz0iaW50IjsgLiBhdXRvL3R5cGVzL3R5cGVkZWYKKytuZ3hfdHlwZT0ic2lnX2F0b21pY190Ijsgbmd4X3BhcmFtPSJTSUdfQVRPTUlDX1QiOyBuZ3hfdHlwZXM9ImludCI7IC4gYXV0by90eXBlcy90eXBlZGVmCisgLiBhdXRvL3R5cGVzL3NpemVvZgorIG5neF9wYXJhbT1OR1hfU0lHX0FUT01JQ19UX1NJWkU7IG5neF92YWx1ZT0kbmd4X3NpemU7IC4gYXV0by90eXBlcy92YWx1ZQorIAorQEAgLTQzMiwxNSArNDMyLDE1IEBACisgCisgLiBhdXRvL2VuZGlhbmVzcworIAorLW5neF90eXBlPSJzaXplX3QiOyAuIGF1dG8vdHlwZXMvc2l6ZW9mCisrbmd4X3R5cGU9InNpemVfdCI7IG5neF9wYXJhbT0iU0laRV9UIjsgLiBhdXRvL3R5cGVzL3NpemVvZgorIG5neF9wYXJhbT1OR1hfTUFYX1NJWkVfVF9WQUxVRTsgbmd4X3ZhbHVlPSRuZ3hfbWF4X3ZhbHVlOyAuIGF1dG8vdHlwZXMvdmFsdWUKKyBuZ3hfcGFyYW09TkdYX1NJWkVfVF9MRU47IG5neF92YWx1ZT0kbmd4X21heF9sZW47IC4gYXV0by90eXBlcy92YWx1ZQorIAorLW5neF90eXBlPSJvZmZfdCI7IC4gYXV0by90eXBlcy9zaXplb2YKKytuZ3hfdHlwZT0ib2ZmX3QiOyBuZ3hfcGFyYW09Ik9GRl9UIjsgLiBhdXRvL3R5cGVzL3NpemVvZgorIG5neF9wYXJhbT1OR1hfTUFYX09GRl9UX1ZBTFVFOyBuZ3hfdmFsdWU9JG5neF9tYXhfdmFsdWU7IC4gYXV0by90eXBlcy92YWx1ZQorIG5neF9wYXJhbT1OR1hfT0ZGX1RfTEVOOyBuZ3hfdmFsdWU9JG5neF9tYXhfbGVuOyAuIGF1dG8vdHlwZXMvdmFsdWUKKyAKKy1uZ3hfdHlwZT0idGltZV90IjsgLiBhdXRvL3R5cGVzL3NpemVvZgorK25neF90eXBlPSJ0aW1lX3QiOyBuZ3hfcGFyYW09IlRJTUVfVCI7IC4gYXV0by90eXBlcy9zaXplb2YKKyBuZ3hfcGFyYW09TkdYX1RJTUVfVF9TSVpFOyBuZ3hfdmFsdWU9JG5neF9zaXplOyAuIGF1dG8vdHlwZXMvdmFsdWUKKyBuZ3hfcGFyYW09TkdYX1RJTUVfVF9MRU47IG5neF92YWx1ZT0kbmd4X21heF9sZW47IC4gYXV0by90eXBlcy92YWx1ZQorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25naW54L2ZpbGVzL25naW54LXZvbGF0aWxlLmNvbmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvZmlsZXMvbmdpbngtdm9sYXRpbGUuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45M2YzYzY2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25naW54L2ZpbGVzL25naW54LXZvbGF0aWxlLmNvbmYKQEAgLTAsMCArMSwyIEBACitkIHd3dyB3d3ctZGF0YSAwNzU1IC9ydW4vbmdpbnggbm9uZQorZCByb290IHJvb3QgMDc1NSAvdmFyL2xvZy9uZ2lueCBub25lCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvZmlsZXMvbmdpbnguY29uZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9uZ2lueC9maWxlcy9uZ2lueC5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZiN2U0YjYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvZmlsZXMvbmdpbnguY29uZgpAQCAtMCwwICsxLDExOCBAQAorCit1c2VyICB3d3ctZGF0YTsKK3dvcmtlcl9wcm9jZXNzZXMgIDE7CisKK2Vycm9yX2xvZyAgL3Zhci9sb2cvbmdpbngvZXJyb3IubG9nOworI2Vycm9yX2xvZyAgbG9ncy9lcnJvci5sb2cgIG5vdGljZTsKKyNlcnJvcl9sb2cgIGxvZ3MvZXJyb3IubG9nICBpbmZvOworCitwaWQgICAgICAgIC9ydW4vbmdpbngvbmdpbngucGlkOworCisKK2V2ZW50cyB7CisgICAgd29ya2VyX2Nvbm5lY3Rpb25zICAxMDI0OworfQorCisKK2h0dHAgeworICAgIGluY2x1ZGUgICAgICAgbWltZS50eXBlczsKKyAgICBkZWZhdWx0X3R5cGUgIGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbTsKKworICAgIGxvZ19mb3JtYXQgIG1haW4gICckcmVtb3RlX2FkZHIgLSAkcmVtb3RlX3VzZXIgWyR0aW1lX2xvY2FsXSAiJHJlcXVlc3QiICcKKyAgICAgICAgICAgICAgICAgICAgICAnJHN0YXR1cyAkYm9keV9ieXRlc19zZW50ICIkaHR0cF9yZWZlcmVyIiAnCisgICAgICAgICAgICAgICAgICAgICAgJyIkaHR0cF91c2VyX2FnZW50IiAiJGh0dHBfeF9mb3J3YXJkZWRfZm9yIic7CisKKyAgICBhY2Nlc3NfbG9nICAvdmFyL2xvZy9uZ2lueC9hY2Nlc3MubG9nICBtYWluOworCisgICAgc2VuZGZpbGUgICAgICAgIG9uOworICAgICN0Y3Bfbm9wdXNoICAgICBvbjsKKworICAgICNrZWVwYWxpdmVfdGltZW91dCAgMDsKKyAgICBrZWVwYWxpdmVfdGltZW91dCAgNjU7CisKKyAgICAjZ3ppcCAgb247CisKKyAgICBzZXJ2ZXIgeworICAgICAgICBsaXN0ZW4gICAgICAgODA7CisgICAgICAgIHNlcnZlcl9uYW1lICBsb2NhbGhvc3Q7CisKKyAgICAgICAgI2NoYXJzZXQga29pOC1yOworCisgICAgICAgICNhY2Nlc3NfbG9nICBsb2dzL2hvc3QuYWNjZXNzLmxvZyAgbWFpbjsKKworICAgICAgICBsb2NhdGlvbiAvIHsKKyAgICAgICAgICAgIHJvb3QgICAvdmFyL3d3dy9sb2NhbGhvc3QvaHRtbDsKKyAgICAgICAgICAgIGluZGV4ICBpbmRleC5odG1sIGluZGV4Lmh0bTsKKyAgICAgICAgfQorCisgICAgICAgICNlcnJvcl9wYWdlICA0MDQgICAgICAgICAgICAgIC80MDQuaHRtbDsKKworICAgICAgICAjIHJlZGlyZWN0IHNlcnZlciBlcnJvciBwYWdlcyB0byB0aGUgc3RhdGljIHBhZ2UgLzUweC5odG1sCisgICAgICAgICMKKyAgICAgICAgZXJyb3JfcGFnZSAgIDUwMCA1MDIgNTAzIDUwNCAgLzUweC5odG1sOworICAgICAgICBsb2NhdGlvbiA9IC81MHguaHRtbCB7CisgICAgICAgICAgICByb290ICAgL3Zhci93d3cvbG9jYWxob3N0L2h0bWw7CisgICAgICAgIH0KKworICAgICAgICAjIHByb3h5IHRoZSBQSFAgc2NyaXB0cyB0byBBcGFjaGUgbGlzdGVuaW5nIG9uIDEyNy4wLjAuMTo4MAorICAgICAgICAjCisgICAgICAgICNsb2NhdGlvbiB+IFwucGhwJCB7CisgICAgICAgICMgICAgcHJveHlfcGFzcyAgIGh0dHA6Ly8xMjcuMC4wLjE7CisgICAgICAgICN9CisKKyAgICAgICAgIyBwYXNzIHRoZSBQSFAgc2NyaXB0cyB0byBGYXN0Q0dJIHNlcnZlciBsaXN0ZW5pbmcgb24gMTI3LjAuMC4xOjkwMDAKKyAgICAgICAgIworICAgICAgICAjbG9jYXRpb24gfiBcLnBocCQgeworICAgICAgICAjICAgIHJvb3QgICAgICAgICAgIGh0bWw7CisgICAgICAgICMgICAgZmFzdGNnaV9wYXNzICAgMTI3LjAuMC4xOjkwMDA7CisgICAgICAgICMgICAgZmFzdGNnaV9pbmRleCAgaW5kZXgucGhwOworICAgICAgICAjICAgIGZhc3RjZ2lfcGFyYW0gIFNDUklQVF9GSUxFTkFNRSAgL3NjcmlwdHMkZmFzdGNnaV9zY3JpcHRfbmFtZTsKKyAgICAgICAgIyAgICBpbmNsdWRlICAgICAgICBmYXN0Y2dpX3BhcmFtczsKKyAgICAgICAgI30KKworICAgICAgICAjIGRlbnkgYWNjZXNzIHRvIC5odGFjY2VzcyBmaWxlcywgaWYgQXBhY2hlJ3MgZG9jdW1lbnQgcm9vdAorICAgICAgICAjIGNvbmN1cnMgd2l0aCBuZ2lueCdzIG9uZQorICAgICAgICAjCisgICAgICAgICNsb2NhdGlvbiB+IC9cLmh0IHsKKyAgICAgICAgIyAgICBkZW55ICBhbGw7CisgICAgICAgICN9CisgICAgfQorCisKKyAgICAjIGFub3RoZXIgdmlydHVhbCBob3N0IHVzaW5nIG1peCBvZiBJUC0sIG5hbWUtLCBhbmQgcG9ydC1iYXNlZCBjb25maWd1cmF0aW9uCisgICAgIworICAgICNzZXJ2ZXIgeworICAgICMgICAgbGlzdGVuICAgICAgIDgwMDA7CisgICAgIyAgICBsaXN0ZW4gICAgICAgc29tZW5hbWU6ODA4MDsKKyAgICAjICAgIHNlcnZlcl9uYW1lICBzb21lbmFtZSAgYWxpYXMgIGFub3RoZXIuYWxpYXM7CisKKyAgICAjICAgIGxvY2F0aW9uIC8geworICAgICMgICAgICAgIHJvb3QgICBodG1sOworICAgICMgICAgICAgIGluZGV4ICBpbmRleC5odG1sIGluZGV4Lmh0bTsKKyAgICAjICAgIH0KKyAgICAjfQorCisKKyAgICAjIEhUVFBTIHNlcnZlcgorICAgICMKKyAgICAjc2VydmVyIHsKKyAgICAjICAgIGxpc3RlbiAgICAgICA0NDM7CisgICAgIyAgICBzZXJ2ZXJfbmFtZSAgbG9jYWxob3N0OworCisgICAgIyAgICBzc2wgICAgICAgICAgICAgICAgICBvbjsKKyAgICAjICAgIHNzbF9jZXJ0aWZpY2F0ZSAgICAgIGNlcnQucGVtOworICAgICMgICAgc3NsX2NlcnRpZmljYXRlX2tleSAgY2VydC5rZXk7CisKKyAgICAjICAgIHNzbF9zZXNzaW9uX3RpbWVvdXQgIDVtOworCisgICAgIyAgICBzc2xfcHJvdG9jb2xzICBTU0x2MiBTU0x2MyBUTFN2MTsKKyAgICAjICAgIHNzbF9jaXBoZXJzICBISUdIOiFhTlVMTDohTUQ1OworICAgICMgICAgc3NsX3ByZWZlcl9zZXJ2ZXJfY2lwaGVycyAgIG9uOworCisgICAgIyAgICBsb2NhdGlvbiAvIHsKKyAgICAjICAgICAgICByb290ICAgaHRtbDsKKyAgICAjICAgICAgICBpbmRleCAgaW5kZXguaHRtbCBpbmRleC5odG07CisgICAgIyAgICB9CisgICAgI30KKworfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25naW54L2ZpbGVzL25naW54LmluaXQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvZmlsZXMvbmdpbnguaW5pdApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wZjM4YjljCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25naW54L2ZpbGVzL25naW54LmluaXQKQEAgLTAsMCArMSw1MiBAQAorIyEgL2Jpbi9zaAorUEFUSD0vc2JpbjovYmluOi91c3Ivc2JpbjovdXNyL2JpbgorREFFTU9OPS91c3Ivc2Jpbi9uZ2lueAorTkFNRT1uZ2lueAorREVTQz1uZ2lueAorUElEPS92YXIvcnVuL25naW54L25naW54LnBpZAorCit0ZXN0IC14ICREQUVNT04gfHwgZXhpdCAwCisKKyMgSW5jbHVkZSBuZ2lueCBkZWZhdWx0cyBpZiBhdmFpbGFibGUKK2lmIFsgLWYgL2V0Yy9kZWZhdWx0L25naW54IF0gOyB0aGVuCisgICAgICAgIC4gL2V0Yy9kZWZhdWx0L25naW54CitmaQorCitzZXQgLWUKKworY2FzZSAiJDEiIGluCisgIHN0YXJ0KQorICAgICAgICBlY2hvIC1uICJTdGFydGluZyAkREVTQzogIgorICAgICAgICBzdGFydC1zdG9wLWRhZW1vbiAtLXN0YXJ0IC0tcXVpZXQgLS1waWRmaWxlICRQSUQgXAorICAgICAgICAgICAgICAgIC0tbmFtZSAkTkFNRSAtLWV4ZWMgJERBRU1PTiAtLSAkREFFTU9OX09QVFMKKyAgICAgICAgZWNobyAiJE5BTUUuIgorICAgICAgICA7OworICBzdG9wKQorICAgICAgICBlY2hvIC1uICJTdG9wcGluZyAkREVTQzogIgorICAgICAgICBzdGFydC1zdG9wLWRhZW1vbiAtSyAtLXF1aWV0IC0tcGlkZmlsZSAkUElEIFwKKyAgICAgICAgICAgICAgICAtLW5hbWUgJE5BTUUKKyAgICAgICAgZWNobyAiJE5BTUUuIgorICAgICAgICA7OworICByZXN0YXJ0fGZvcmNlLXJlbG9hZCkKKyAgICAgICAgZWNobyAtbiAiUmVzdGFydGluZyAkREVTQzogIgorICAgICAgICBzdGFydC1zdG9wLWRhZW1vbiAtSyAtLXF1aWV0IC0tcGlkZmlsZSAkUElEIFwKKyAgICAgICAgICAgICAgICAtLW5hbWUgJE5BTUUKKyAgICAgICAgc2xlZXAgMQorICAgICAgICBzdGFydC1zdG9wLWRhZW1vbiAtLXN0YXJ0IC0tcXVpZXQgLS1waWRmaWxlICRQSUQgXAorICAgICAgICAgICAgICAgIC0tbmFtZSAkTkFNRSAtLWV4ZWMgJERBRU1PTiAtLSAkREFFTU9OX09QVFMKKyAgICAgICAgZWNobyAiJE5BTUUuIgorICAgICAgICA7OworICByZWxvYWQpCisgICAgICBlY2hvIC1uICJSZWxvYWRpbmcgJERFU0MgY29uZmlndXJhdGlvbjogIgorICAgICAgc3RhcnQtc3RvcC1kYWVtb24gLS1zdG9wIC0tc2lnbmFsIEhVUCAtLXF1aWV0IC0tcGlkZmlsZSAkUElEIFwKKyAgICAgICAgICAtLWV4ZWMgJERBRU1PTgorICAgICAgZWNobyAiJE5BTUUuIgorICAgICAgOzsKKyAgKikKKyAgICAgICAgTj0vZXRjL2luaXQuZC8kTkFNRQorICAgICAgICBlY2hvICJVc2FnZTogJE4ge3N0YXJ0fHN0b3B8cmVzdGFydHxmb3JjZS1yZWxvYWR9IiA+JjIKKyAgICAgICAgZXhpdCAxCisgICAgICAgIDs7Citlc2FjCisKK2V4aXQgMApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25naW54L2ZpbGVzL25naW54LnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvZmlsZXMvbmdpbnguc2VydmljZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45OTI2YTRiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25naW54L2ZpbGVzL25naW54LnNlcnZpY2UKQEAgLTAsMCArMSwxMiBAQAorW1VuaXRdCitEZXNjcmlwdGlvbj1OZ2lueCBTZXJ2ZXIKK0FmdGVyPW5ldHdvcmsudGFyZ2V0CitbU2VydmljZV0KK1R5cGU9Zm9ya2luZworUElERmlsZT1AU1lTQ09ORkRJUkAvbmdpbngvcnVuL25naW54LnBpZAorRXhlY1N0YXJ0UHJlPUBCQVNFQklORElSQC9ta2RpciAtcCBATE9DQUxTVEFURURJUkAvbG9nL25naW54CitFeGVjU3RhcnQ9QFNZU0NPTkZESVJAL2luaXQuZC9uZ2lueCBzdGFydAorRXhlY1N0b3A9QFNZU0NPTkZESVJAL2luaXQuZC9uZ2lueCBzdG9wCitbSW5zdGFsbF0KK1dhbnRlZEJ5PW11bHRpLXVzZXIudGFyZ2V0CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9uZ2lueC9uZ2lueC0xLjkuMTQvbmdpbngtY3Jvc3MucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvbmdpbngtMS45LjE0L25naW54LWNyb3NzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVlOTY2NDQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvbmdpbngtMS45LjE0L25naW54LWNyb3NzLnBhdGNoCkBAIC0wLDAgKzEsMjExIEBACitXZSBkbyBub3QgaGF2ZSBjYXBhYmlsaXR5IHRvIHJ1biBiaW5hcmllcyB3aGVuIGNyb3NzIGNvbXBpbGluZworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworCitkaWZmIC11cmFOIG5naW54LTEuMC4xMS5vcmlnL2F1dG8vZmVhdHVyZSBuZ2lueC0xLjAuMTEvYXV0by9mZWF0dXJlCistLS0gbmdpbngtMS4wLjExLm9yaWcvYXV0by9mZWF0dXJlCTIwMTEtMDUtMTEgMDY6NTA6MTkuMDAwMDAwMDAwIC0wNTAwCisrKysgbmdpbngtMS4wLjExL2F1dG8vZmVhdHVyZQkyMDExLTEyLTI3IDEzOjU2OjQyLjMyMzM3MDA0MCAtMDYwMAorQEAgLTQ5LDEyICs0OSwyMCBAQAorIAorIGlmIFsgLXggJE5HWF9BVVRPVEVTVCBdOyB0aGVuCisgCisrICAgIGlmIFsgIi4kTkdYX0NST1NTX0NPTVBJTEUiID0gIi55ZXMiIF07IHRoZW4KKysgICAgICAgIE5HWF9BVVRPVEVTVF9FWEVDPSJ0cnVlIgorKwlOR1hfRk9VTkRfTVNHPSIgKG5vdCB0ZXN0ZWQsIGNyb3NzIGNvbXBpbGluZykiCisrICAgIGVsc2UKKysgICAgICAgIE5HWF9BVVRPVEVTVF9FWEVDPSIkTkdYX0FVVE9URVNUIgorKwlOR1hfRk9VTkRfTVNHPSIiCisrICAgIGZpCisrCisgICAgIGNhc2UgIiRuZ3hfZmVhdHVyZV9ydW4iIGluCisgCisgICAgICAgICB5ZXMpCisgICAgICAgICAgICAgIyAvYmluL3NoIGlzIHVzZWQgdG8gaW50ZXJjZXB0ICJLaWxsZWQiIG9yICJBYm9ydCB0cmFwIiBtZXNzYWdlcworLSAgICAgICAgICAgIGlmIC9iaW4vc2ggLWMgJE5HWF9BVVRPVEVTVCA+PiAkTkdYX0FVVE9DT05GX0VSUiAyPiYxOyB0aGVuCistICAgICAgICAgICAgICAgIGVjaG8gIiBmb3VuZCIKKysgICAgICAgICAgICBpZiAvYmluL3NoIC1jICROR1hfQVVUT1RFU1RfRVhFQyA+PiAkTkdYX0FVVE9DT05GX0VSUiAyPiYxOyB0aGVuCisrICAgICAgICAgICAgICAgIGVjaG8gIiBmb3VuZCROR1hfRk9VTkRfTVNHIgorICAgICAgICAgICAgICAgICBuZ3hfZm91bmQ9eWVzCisgCisgICAgICAgICAgICAgICAgIGlmIHRlc3QgLW4gIiRuZ3hfZmVhdHVyZV9uYW1lIjsgdGhlbgorQEAgLTY4LDE3ICs3NSwyNyBAQAorIAorICAgICAgICAgdmFsdWUpCisgICAgICAgICAgICAgIyAvYmluL3NoIGlzIHVzZWQgdG8gaW50ZXJjZXB0ICJLaWxsZWQiIG9yICJBYm9ydCB0cmFwIiBtZXNzYWdlcworLSAgICAgICAgICAgIGlmIC9iaW4vc2ggLWMgJE5HWF9BVVRPVEVTVCA+PiAkTkdYX0FVVE9DT05GX0VSUiAyPiYxOyB0aGVuCistICAgICAgICAgICAgICAgIGVjaG8gIiBmb3VuZCIKKysgICAgICAgICAgICBpZiAvYmluL3NoIC1jICROR1hfQVVUT1RFU1RfRVhFQyA+PiAkTkdYX0FVVE9DT05GX0VSUiAyPiYxOyB0aGVuCisrICAgICAgICAgICAgICAgIGVjaG8gIiBmb3VuZCROR1hfRk9VTkRfTVNHIgorICAgICAgICAgICAgICAgICBuZ3hfZm91bmQ9eWVzCisgCistICAgICAgICAgICAgICAgIGNhdCA8PCBFTkQgPj4gJE5HWF9BVVRPX0NPTkZJR19ICisrICAgICAgICAgICAgICAgIGlmIFsgIi4kTkdYX0NST1NTX0NPTVBJTEUiID0gIi55ZXMiIF07IHRoZW4KKysgICAgICAgICAgICAgICAgICAgIGNhdCA8PCBFTkQgPj4gJE5HWF9BVVRPX0NPTkZJR19ICisgCisgI2lmbmRlZiAkbmd4X2ZlYXR1cmVfbmFtZQorLSNkZWZpbmUgJG5neF9mZWF0dXJlX25hbWUgIGAkTkdYX0FVVE9URVNUYAorKyNkZWZpbmUgJG5neF9mZWF0dXJlX25hbWUgICQoZXZhbCAiZWNobyBcJE5HWF9XSVRIXyR7bmd4X2ZlYXR1cmVfbmFtZX0iKQorICNlbmRpZgorIAorIEVORAorKwkJZWxzZQorKyAgICAgICAgICAgICAgICAgICAgY2F0IDw8IEVORCA+PiAkTkdYX0FVVE9fQ09ORklHX0gKKysKKysjaWZuZGVmICRuZ3hfZmVhdHVyZV9uYW1lCisrI2RlZmluZSAkbmd4X2ZlYXR1cmVfbmFtZSAgYCROR1hfQVVUT1RFU1RfRVhFQ2AKKysjZW5kaWYKKysKKytFTkQKKysgICAgICAgICAgICAgICAgZmkKKyAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgIGVjaG8gIiBmb3VuZCBidXQgaXMgbm90IHdvcmtpbmciCisgICAgICAgICAgICAgZmkKK0BAIC04Niw3ICsxMDUsNyBAQAorIAorICAgICAgICAgYnVnKQorICAgICAgICAgICAgICMgL2Jpbi9zaCBpcyB1c2VkIHRvIGludGVyY2VwdCAiS2lsbGVkIiBvciAiQWJvcnQgdHJhcCIgbWVzc2FnZXMKKy0gICAgICAgICAgICBpZiAvYmluL3NoIC1jICROR1hfQVVUT1RFU1QgPj4gJE5HWF9BVVRPQ09ORl9FUlIgMj4mMTsgdGhlbgorKyAgICAgICAgICAgIGlmIC9iaW4vc2ggLWMgJE5HWF9BVVRPVEVTVF9FWEVDID4+ICROR1hfQVVUT0NPTkZfRVJSIDI+JjE7IHRoZW4KKyAgICAgICAgICAgICAgICAgZWNobyAiIG5vdCBmb3VuZCIKKyAKKyAgICAgICAgICAgICBlbHNlCitkaWZmIC11cmFOIG5naW54LTEuMC4xMS5vcmlnL2F1dG8vb3B0aW9ucyBuZ2lueC0xLjAuMTEvYXV0by9vcHRpb25zCistLS0gbmdpbngtMS4wLjExLm9yaWcvYXV0by9vcHRpb25zCTIwMTEtMTItMTQgMDc6MzQ6MTYuMDAwMDAwMDAwIC0wNjAwCisrKysgbmdpbngtMS4wLjExL2F1dG8vb3B0aW9ucwkyMDExLTEyLTI3IDEzOjU2OjQyLjMyMzM3MDA0MCAtMDYwMAorQEAgLTM1Myw2ICszNTMsMTggQEAKKyAgICAgICAgIC0tdGVzdC1idWlsZC1lcG9sbCkgICAgICAgICAgICAgIE5HWF9URVNUX0JVSUxEX0VQT0xMPVlFUyAgIDs7CisgICAgICAgICAtLXRlc3QtYnVpbGQtc29sYXJpcy1zZW5kZmlsZXYpICBOR1hfVEVTVF9CVUlMRF9TT0xBUklTX1NFTkRGSUxFVj1ZRVMgOzsKKyAKKysgICAgICAgICMgY3Jvc3MgY29tcGlsZSBzdXBwb3J0CisrICAgICAgICAtLXdpdGgtaW50PSopICAgICAgICAgICAgICAgICAgICBOR1hfV0lUSF9JTlQ9IiR2YWx1ZSIgICAgICAgICAgOzsKKysgICAgICAgIC0td2l0aC1sb25nPSopICAgICAgICAgICAgICAgICAgIE5HWF9XSVRIX0xPTkc9IiR2YWx1ZSIgICAgICAgICA7OworKyAgICAgICAgLS13aXRoLWxvbmctbG9uZz0qKSAgICAgICAgICAgICAgTkdYX1dJVEhfTE9OR19MT05HPSIkdmFsdWUiICAgIDs7CisrICAgICAgICAtLXdpdGgtcHRyLXNpemU9KikgICAgICAgICAgICAgICBOR1hfV0lUSF9QVFJfU0laRT0iJHZhbHVlIiAgICAgOzsKKysgICAgICAgIC0td2l0aC1zaWctYXRvbWljLXQ9KikgICAgICAgICAgIE5HWF9XSVRIX1NJR19BVE9NSUNfVD0iJHZhbHVlIiA7OworKyAgICAgICAgLS13aXRoLXNpemUtdD0qKSAgICAgICAgICAgICAgICAgTkdYX1dJVEhfU0laRV9UPSIkdmFsdWUiICAgICAgIDs7CisrICAgICAgICAtLXdpdGgtb2ZmLXQ9KikgICAgICAgICAgICAgICAgICBOR1hfV0lUSF9PRkZfVD0iJHZhbHVlIiAgICAgICAgOzsKKysgICAgICAgIC0td2l0aC10aW1lLXQ9KikgICAgICAgICAgICAgICAgIE5HWF9XSVRIX1RJTUVfVD0iJHZhbHVlIiAgICAgICA7OworKyAgICAgICAgLS13aXRoLXN5cy1uZXJyPSopICAgICAgICAgICAgICAgTkdYX1dJVEhfTkdYX1NZU19ORVJSPSIkdmFsdWUiIDs7CisrICAgICAgICAtLXdpdGgtZW5kaWFuPSopICAgICAgICAgICAgICAgICBOR1hfV0lUSF9FTkRJQU49IiR2YWx1ZSIgICAgICAgOzsKKysKKyAgICAgICAgICopCisgICAgICAgICAgICAgZWNobyAiJDA6IGVycm9yOiBpbnZhbGlkIG9wdGlvbiBcIiRvcHRpb25cIiIKKyAgICAgICAgICAgICBleGl0IDEKK0BAIC01MzMsNiArNDQ1LDE3IEBACisgCisgICAtLXdpdGgtZGVidWcgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsZSBkZWJ1ZyBsb2dnaW5nCisgCisrICAtLXdpdGgtaW50PVZBTFVFICAgICAgICAgICAgICAgICAgIGZvcmNlIGludCBzaXplCisrICAtLXdpdGgtbG9uZz1WQUxVRSAgICAgICAgICAgICAgICAgIGZvcmNlIGxvbmcgc2l6ZQorKyAgLS13aXRoLWxvbmctbG9uZz1WQUxVRSAgICAgICAgICAgICBmb3JjZSBsb25nIGxvbmcgc2l6ZQorKyAgLS13aXRoLXB0ci1zaXplPVZBTFVFICAgICAgICAgICAgICBmb3JjZSBwb2ludGVyIHNpemUKKysgIC0td2l0aC1zaWctYXRvbWljLXQ9VkFMVUUgICAgICAgICAgZm9yY2Ugc2lnX2F0b21pY190IHNpemUKKysgIC0td2l0aC1zaXplLXQ9VkFMVUUgICAgICAgICAgICAgICAgZm9yY2Ugc2l6ZV90IHNpemUKKysgIC0td2l0aC1vZmYtdD1WQUxVRSAgICAgICAgICAgICAgICAgZm9yY2Ugb2ZmX3Qgc2l6ZQorKyAgLS13aXRoLXRpbWUtdD1WQUxVRSAgICAgICAgICAgICAgICBmb3JjZSB0aW1lX3Qgc2l6ZQorKyAgLS13aXRoLXN5cy1uZXJyPVZBTFVFICAgICAgICAgICAgICBmb3JjZSBzeXNfbmVyciB2YWx1ZQorKyAgLS13aXRoLWVuZGlhbj1WQUxVRSAgICAgICAgICAgICAgICBmb3JjZSBzeXN0ZW0gZW5kaWFuZXNzCisrCisgRU5ECisgCisgICAgIGV4aXQgMQorQEAgLTU1NCw2ICs1NzcsOCBAQAorIAorIGlmIFsgIi4kTkdYX1BMQVRGT1JNIiA9ICIud2luMzIiIF07IHRoZW4KKyAgICAgTkdYX1dJTkU9JFdJTkUKKytlbGlmIFsgISAteiAiJE5HWF9QTEFURk9STSIgXTsgdGhlbgorKyAgICBOR1hfQ1JPU1NfQ09NUElMRT0ieWVzIgorIGZpCisgCisgCitkaWZmIC11cmFOIG5naW54LTEuMC4xMS5vcmlnL2F1dG8vdHlwZXMvc2l6ZW9mIG5naW54LTEuMC4xMS9hdXRvL3R5cGVzL3NpemVvZgorLS0tIG5naW54LTEuMC4xMS5vcmlnL2F1dG8vdHlwZXMvc2l6ZW9mCTIwMDYtMDYtMjggMTE6MDA6MjYuMDAwMDAwMDAwIC0wNTAwCisrKysgbmdpbngtMS4wLjExL2F1dG8vdHlwZXMvc2l6ZW9mCTIwMTEtMTItMjcgMTM6NTY6NDIuMzIzMzcwMDQwIC0wNjAwCitAQCAtMTIsOSArMTIsMTIgQEAKKyAKKyBFTkQKKyAKKy1uZ3hfc2l6ZT0KKytuZ3hfc2l6ZT0kKGV2YWwgImVjaG8gXCROR1hfV0lUSF8ke25neF9wYXJhbX0iKQorIAorLWNhdCA8PCBFTkQgPiAkTkdYX0FVVE9URVNULmMKKytpZiBbICIuJG5neF9zaXplIiAhPSAiLiIgXTsgdGhlbgorKyAgICBlY2hvICIgJG5neF9zaXplIGJ5dGVzIgorK2Vsc2UKKysgICAgY2F0IDw8IEVORCA+ICROR1hfQVVUT1RFU1QuYworIAorICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyAjaW5jbHVkZSA8c3lzL3RpbWUuaD4KK0BAIC0zMywxNSArMzYsMTYgQEAKKyBFTkQKKyAKKyAKKy1uZ3hfdGVzdD0iJENDICRDQ19URVNUX0ZMQUdTICRDQ19BVVhfRkxBR1MgXAorLSAgICAgICAgICAtbyAkTkdYX0FVVE9URVNUICROR1hfQVVUT1RFU1QuYyAkTkdYX0xEX09QVCAkbmd4X2ZlYXR1cmVfbGlicyIKKysgICAgbmd4X3Rlc3Q9IiRDQyAkQ0NfVEVTVF9GTEFHUyAkQ0NfQVVYX0ZMQUdTIFwKKysgICAgICAgICAgICAgIC1vICROR1hfQVVUT1RFU1QgJE5HWF9BVVRPVEVTVC5jICROR1hfTERfT1BUICRuZ3hfZmVhdHVyZV9saWJzIgorIAorLWV2YWwgIiRuZ3hfdGVzdCA+PiAkTkdYX0FVVE9DT05GX0VSUiAyPiYxIgorKyAgICBldmFsICIkbmd4X3Rlc3QgPj4gJE5HWF9BVVRPQ09ORl9FUlIgMj4mMSIKKyAKKyAKKy1pZiBbIC14ICROR1hfQVVUT1RFU1QgXTsgdGhlbgorLSAgICBuZ3hfc2l6ZT1gJE5HWF9BVVRPVEVTVGAKKy0gICAgZWNobyAiICRuZ3hfc2l6ZSBieXRlcyIKKysgICAgaWYgWyAteCAkTkdYX0FVVE9URVNUIF07IHRoZW4KKysgICAgICAgIG5neF9zaXplPWAkTkdYX0FVVE9URVNUYAorKyAgICAgICAgZWNobyAiICRuZ3hfc2l6ZSBieXRlcyIKKysgICAgZmkKKyBmaQorIAorIAorZGlmZiAtdXJhTiBuZ2lueC0xLjAuMTEub3JpZy9hdXRvL3VuaXggbmdpbngtMS4wLjExL2F1dG8vdW5peAorLS0tIG5naW54LTEuMC4xMS5vcmlnL2F1dG8vdW5peAkyMDExLTEyLTE0IDA3OjM0OjE2LjAwMDAwMDAwMCAtMDYwMAorKysrIG5naW54LTEuMC4xMS9hdXRvL3VuaXgJMjAxMS0xMi0yNyAxMzo1Njo0Mi4zMjczNzAwNjAgLTA2MDAKK0BAIC0zOTMsMTMgKzM5MywxMyBAQAorIAorICMgQyB0eXBlcworIAorLW5neF90eXBlPSJpbnQiOyAuIGF1dG8vdHlwZXMvc2l6ZW9mCisrbmd4X3R5cGU9ImludCI7IG5neF9wYXJhbT0iSU5UIjsgLiBhdXRvL3R5cGVzL3NpemVvZgorIAorLW5neF90eXBlPSJsb25nIjsgLiBhdXRvL3R5cGVzL3NpemVvZgorK25neF90eXBlPSJsb25nIjsgbmd4X3BhcmFtPSJMT05HIjsgLiBhdXRvL3R5cGVzL3NpemVvZgorIAorLW5neF90eXBlPSJsb25nIGxvbmciOyAuIGF1dG8vdHlwZXMvc2l6ZW9mCisrbmd4X3R5cGU9ImxvbmcgbG9uZyI7IG5neF9wYXJhbT0iTE9OR19MT05HIjsgLiBhdXRvL3R5cGVzL3NpemVvZgorIAorLW5neF90eXBlPSJ2b2lkICoiOyAuIGF1dG8vdHlwZXMvc2l6ZW9mOyBuZ3hfcHRyX3NpemU9JG5neF9zaXplCisrbmd4X3R5cGU9InZvaWQgKiI7IG5neF9wYXJhbT0iUFRSX1NJWkUiOyAuIGF1dG8vdHlwZXMvc2l6ZW9mOyBuZ3hfcHRyX3NpemU9JG5neF9zaXplCisgbmd4X3BhcmFtPU5HWF9QVFJfU0laRTsgbmd4X3ZhbHVlPSRuZ3hfc2l6ZTsgLiBhdXRvL3R5cGVzL3ZhbHVlCisgCisgCitAQCAtNDE2LDcgKzQxNiw3IEBACisgCisgbmd4X3R5cGU9InVpbnQ2NF90Ijsgbmd4X3R5cGVzPSJ1X2ludDY0X3QiOyAuIGF1dG8vdHlwZXMvdHlwZWRlZgorIAorLW5neF90eXBlPSJzaWdfYXRvbWljX3QiOyBuZ3hfdHlwZXM9ImludCI7IC4gYXV0by90eXBlcy90eXBlZGVmCisrbmd4X3R5cGU9InNpZ19hdG9taWNfdCI7IG5neF9wYXJhbT0iU0lHX0FUT01JQ19UIjsgbmd4X3R5cGVzPSJpbnQiOyAuIGF1dG8vdHlwZXMvdHlwZWRlZgorIC4gYXV0by90eXBlcy9zaXplb2YKKyBuZ3hfcGFyYW09TkdYX1NJR19BVE9NSUNfVF9TSVpFOyBuZ3hfdmFsdWU9JG5neF9zaXplOyAuIGF1dG8vdHlwZXMvdmFsdWUKKyAKK0BAIC00MzIsMTUgKzQzMiwxNSBAQAorIAorIC4gYXV0by9lbmRpYW5lc3MKKyAKKy1uZ3hfdHlwZT0ic2l6ZV90IjsgLiBhdXRvL3R5cGVzL3NpemVvZgorK25neF90eXBlPSJzaXplX3QiOyBuZ3hfcGFyYW09IlNJWkVfVCI7IC4gYXV0by90eXBlcy9zaXplb2YKKyBuZ3hfcGFyYW09TkdYX01BWF9TSVpFX1RfVkFMVUU7IG5neF92YWx1ZT0kbmd4X21heF92YWx1ZTsgLiBhdXRvL3R5cGVzL3ZhbHVlCisgbmd4X3BhcmFtPU5HWF9TSVpFX1RfTEVOOyBuZ3hfdmFsdWU9JG5neF9tYXhfbGVuOyAuIGF1dG8vdHlwZXMvdmFsdWUKKyAKKy1uZ3hfdHlwZT0ib2ZmX3QiOyAuIGF1dG8vdHlwZXMvc2l6ZW9mCisrbmd4X3R5cGU9Im9mZl90Ijsgbmd4X3BhcmFtPSJPRkZfVCI7IC4gYXV0by90eXBlcy9zaXplb2YKKyBuZ3hfcGFyYW09TkdYX01BWF9PRkZfVF9WQUxVRTsgbmd4X3ZhbHVlPSRuZ3hfbWF4X3ZhbHVlOyAuIGF1dG8vdHlwZXMvdmFsdWUKKyBuZ3hfcGFyYW09TkdYX09GRl9UX0xFTjsgbmd4X3ZhbHVlPSRuZ3hfbWF4X2xlbjsgLiBhdXRvL3R5cGVzL3ZhbHVlCisgCistbmd4X3R5cGU9InRpbWVfdCI7IC4gYXV0by90eXBlcy9zaXplb2YKKytuZ3hfdHlwZT0idGltZV90Ijsgbmd4X3BhcmFtPSJUSU1FX1QiOyAuIGF1dG8vdHlwZXMvc2l6ZW9mCisgbmd4X3BhcmFtPU5HWF9USU1FX1RfU0laRTsgbmd4X3ZhbHVlPSRuZ3hfc2l6ZTsgLiBhdXRvL3R5cGVzL3ZhbHVlCisgbmd4X3BhcmFtPU5HWF9USU1FX1RfTEVOOyBuZ3hfdmFsdWU9JG5neF9tYXhfbGVuOyAuIGF1dG8vdHlwZXMvdmFsdWUKKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9uZ2lueC9uZ2lueC5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvbmdpbnguaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmViZjkyNmEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvbmdpbnguaW5jCkBAIC0wLDAgKzEsMTM3IEBACitTVU1NQVJZID0gIkhUVFAgYW5kIHJldmVyc2UgcHJveHkgc2VydmVyIgorCitERVNDUklQVElPTiA9ICJOZ2lueCBpcyBhIHdlYiBzZXJ2ZXIgYW5kIGEgcmV2ZXJzZSBwcm94eSBzZXJ2ZXIgZm9yIFwKK0hUVFAsIFNNVFAsIFBPUDMgYW5kIElNQVAgcHJvdG9jb2xzLCB3aXRoIGEgc3Ryb25nIGZvY3VzIG9uIGhpZ2ggIFwKK2NvbmN1cnJlbmN5LCBwZXJmb3JtYW5jZSBhbmQgbG93IG1lbW9yeSB1c2FnZS4iCisKK0hPTUVQQUdFID0gImh0dHA6Ly9uZ2lueC5vcmcvIgorTElDRU5TRSA9ICJCU0QtMi1DbGF1c2UiCisKK1NFQ1RJT04gPSAibmV0IgorCitERVBFTkRTID0gImxpYnBjcmUgZ3ppcCBvcGVuc3NsIgorCitTUkNfVVJJID0gIiBcCisJaHR0cDovL25naW54Lm9yZy9kb3dubG9hZC9uZ2lueC0ke1BWfS50YXIuZ3ogXAorCWZpbGU6Ly9uZ2lueC1jcm9zcy5wYXRjaCBcCisJZmlsZTovL25naW54LmNvbmYgXAorCWZpbGU6Ly9uZ2lueC5pbml0IFwKKwlmaWxlOi8vbmdpbngtdm9sYXRpbGUuY29uZiBcCisJZmlsZTovL25naW54LnNlcnZpY2UgXAorIgorCitpbmhlcml0IHVwZGF0ZS1yYy5kIHVzZXJhZGQKKworQ0ZMQUdTX2FwcGVuZCA9ICIgLWZQSUUgLXBpZSIKK0NYWEZMQUdTX2FwcGVuZCA9ICIgLWZQSUUgLXBpZSIKKworTkdJTlhfV1dXRElSID89ICIke2xvY2Fsc3RhdGVkaXJ9L3d3dy9sb2NhbGhvc3QiCitOR0lOWF9VU0VSICAgPz0gInd3dyIKKworRVhUUkFfT0VDT05GID0gIiIKK0RJU0FCTEVfU1RBVElDID0gIiIKKworZG9fY29uZmlndXJlICgpIHsKKwlpZiBbICIke1NJVEVJTkZPX0JJVFN9IiA9ICI2NCIgXTsgdGhlbgorCQlQVFJTSVpFPTgKKwllbHNlCisJCVBUUlNJWkU9NAorCWZpCisKKwllY2hvICRDRkxBR1MKKwllY2hvICRMREZMQUdTCisKKwkuL2NvbmZpZ3VyZSBcCisJLS1jcm9zc2J1aWxkPUxpbnV4OiR7VFVORV9BUkNIfSBcCisJLS13aXRoLWVuZGlhbj0ke0BiYXNlX2NvbmRpdGlvbmFsKCdTSVRFSU5GT19FTkRJQU5ORVNTJywgJ2xlJywgJ2xpdHRsZScsICdiaWcnLCBkKX0gXAorCS0td2l0aC1pbnQ9NCBcCisJLS13aXRoLWxvbmc9JHtQVFJTSVpFfSBcCisJLS13aXRoLWxvbmctbG9uZz04IFwKKwktLXdpdGgtcHRyLXNpemU9JHtQVFJTSVpFfSBcCisJLS13aXRoLXNpZy1hdG9taWMtdD0ke1BUUlNJWkV9IFwKKwktLXdpdGgtc2l6ZS10PSR7UFRSU0laRX0gXAorCS0td2l0aC1vZmYtdD0ke1BUUlNJWkV9IFwKKwktLXdpdGgtdGltZS10PSR7UFRSU0laRX0gXAorCS0td2l0aC1zeXMtbmVycj0xMzIgXAorCS0tY29uZi1wYXRoPSR7c3lzY29uZmRpcn0vbmdpbngvbmdpbnguY29uZiBcCisJLS1odHRwLWxvZy1wYXRoPSR7bG9jYWxzdGF0ZWRpcn0vbG9nL25naW54L2FjY2Vzcy5sb2cgXAorCS0tZXJyb3ItbG9nLXBhdGg9JHtsb2NhbHN0YXRlZGlyfS9sb2cvbmdpbngvZXJyb3IubG9nIFwKKwktLXBpZC1wYXRoPS9ydW4vbmdpbngvbmdpbngucGlkIFwKKwktLXByZWZpeD0ke3ByZWZpeH0gXAorCS0td2l0aC1odHRwX3NzbF9tb2R1bGUgXAorCS0td2l0aC1odHRwX2d6aXBfc3RhdGljX21vZHVsZSBcCisJJHtFWFRSQV9PRUNPTkZ9Cit9CisKK2RvX2luc3RhbGwgKCkgeworCW9lX3J1bm1ha2UgJ0RFU1RESVI9JHtEfScgaW5zdGFsbAorCXJtIC1mciAke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW4gJHtEfS9ydW4KKwlpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgorCQlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQKKwkJZWNobyAiZCAvcnVuLyR7QlBOfSAtIC0gLSAtIiBcCisJCSAgICAgPiAke0R9JHtzeXNjb25mZGlyfS90bXBmaWxlcy5kLyR7QlBOfS5jb25mCisJZmkKKwlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9LyR7QlBOfQorCWxuIC1zbmYgJHtsb2NhbHN0YXRlZGlyfS9ydW4vJHtCUE59ICR7RH0ke3N5c2NvbmZkaXJ9LyR7QlBOfS9ydW4KKwlpbnN0YWxsIC1kICR7RH0ke05HSU5YX1dXV0RJUn0KKwltdiAke0R9L3Vzci9odG1sICR7RH0ke05HSU5YX1dXV0RJUn0vCisJY2hvd24gJHtOR0lOWF9VU0VSfTp3d3ctZGF0YSAtUiAke0R9JHtOR0lOWF9XV1dESVJ9CisKKwlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorCWluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L25naW54LmluaXQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL25naW54CisJc2VkIC1pICdzLC91c3Ivc2Jpbi8sJHtzYmluZGlyfS8sZycgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL25naW54CisJc2VkIC1pICdzLC9ldGMvLCR7c3lzY29uZmRpcn0vLGcnICAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvbmdpbngKKworCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vbmdpbngKKwlpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9uZ2lueC5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L25naW54L25naW54LmNvbmYKKwlzZWQgLWkgJ3MsL3Zhci8sJHtsb2NhbHN0YXRlZGlyfS8sZycgJHtEfSR7c3lzY29uZmRpcn0vbmdpbngvbmdpbnguY29uZgorCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vbmdpbngvc2l0ZXMtZW5hYmxlZAorCisJaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3ZvbGF0aWxlcworCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L25naW54LXZvbGF0aWxlLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMvOTlfbmdpbngKKwlzZWQgLWkgJ3MsL3Zhci8sJHtsb2NhbHN0YXRlZGlyfS8sZycgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMvOTlfbmdpbngKKworICAgICAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywnc3lzdGVtZCcsJ3RydWUnLCdmYWxzZScsZCl9O3RoZW4KKyAgICAgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICAgICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L25naW54LnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vCisgICAgICAgICAgICBzZWQgLWkgLWUgJ3MsQFNZU0NPTkZESVJALCR7c3lzY29uZmRpcn0sZycgXAorICAgICAgICAgICAgICAgICAgICAtZSAncyxATE9DQUxTVEFURURJUkAsJHtsb2NhbHN0YXRlZGlyfSxnJyBcCisgICAgICAgICAgICAgICAgICAgIC1lICdzLEBCQVNFQklORElSQCwke2Jhc2VfYmluZGlyfSxnJyBcCisgICAgICAgICAgICAgICAgICAgICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL25naW54LnNlcnZpY2UKKyAgICAgICAgZmkKK30KKworcGtnX3Bvc3RpbnN0XyR7UE59ICgpIHsKKwlpZiBbIC16ICIkRCIgXTsgdGhlbgorCQlpZiB0eXBlIHN5c3RlbWQtdG1wZmlsZXMgPi9kZXYvbnVsbDsgdGhlbgorCQkJc3lzdGVtZC10bXBmaWxlcyAtLWNyZWF0ZQorCQllbGlmIFsgLWUgJHtzeXNjb25mZGlyfS9pbml0LmQvcG9wdWxhdGUtdm9sYXRpbGUuc2ggXTsgdGhlbgorCQkJJHtzeXNjb25mZGlyfS9pbml0LmQvcG9wdWxhdGUtdm9sYXRpbGUuc2ggdXBkYXRlCisJCWZpCisJZmkKK30KKworRklMRVNfJHtQTn0gKz0gIiR7bG9jYWxzdGF0ZWRpcn0vIFwKKyAgICAgICAgICAgICAgICAke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL25naW54LnNlcnZpY2UgXAorICAgICAgICAgICAgICAgICIKKworQ09ORkZJTEVTXyR7UE59ID0gIiR7c3lzY29uZmRpcn0vbmdpbngvbmdpbnguY29uZiBcCisJCSR7c3lzY29uZmRpcn0vbmdpbngvZmFzdGNnaS5jb25mXAorCQkke3N5c2NvbmZkaXJ9L25naW54L2Zhc3RjZ2lfcGFyYW1zIFwKKwkJJHtzeXNjb25mZGlyfS9uZ2lueC9rb2ktdXRmIFwKKwkJJHtzeXNjb25mZGlyfS9uZ2lueC9rb2ktd2luIFwKKwkJJHtzeXNjb25mZGlyfS9uZ2lueC9taW1lLnR5cGVzIFwKKwkJJHtzeXNjb25mZGlyfS9uZ2lueC9zY2dpX3BhcmFtcyBcCisJCSR7c3lzY29uZmRpcn0vbmdpbngvdXdzZ2lfcGFyYW1zIFwKKwkJJHtzeXNjb25mZGlyfS9uZ2lueC93aW4tdXRmIFwKKyIKKworSU5JVFNDUklQVF9OQU1FID0gIm5naW54IgorSU5JVFNDUklQVF9QQVJBTVMgPSAiZGVmYXVsdHMgOTIgMjAiCisKK1VTRVJBRERfUEFDS0FHRVMgPSAiJHtQTn0iCitVU0VSQUREX1BBUkFNXyR7UE59ID0gIiBcCisgICAgLS1zeXN0ZW0gLS1uby1jcmVhdGUtaG9tZSBcCisgICAgLS1ob21lICR7TkdJTlhfV1dXRElSfSBcCisgICAgLS1ncm91cHMgd3d3LWRhdGEgXAorICAgIC0tdXNlci1ncm91cCAke05HSU5YX1VTRVJ9IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25naW54L25naW54XzEuOC4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25naW54L25naW54XzEuOC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA4OWY1NDcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvbmdpbnhfMS44LjEuYmIKQEAgLTAsMCArMSw2IEBACityZXF1aXJlIG5naW54LmluYworCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0zODQ1ODUyYWVkZmE4ZDZkNzc2NWY1NWQwNmNjM2ViZCIKKworU1JDX1VSSVttZDVzdW1dID0gIjJlOTE2OTUwNzRkYmRmYmYxYmNlYzBhZGE5ZmRhNDYyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjhmNGIzYzYzMDk2NmMwNDRlYzcyNzE1NzU0MzM0ZDFmZGY3NDFjYWExZDU3OTVmYjQ2NDZjMjdkMDlmNzk3YjciCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvbmdpbnhfMS45LjE0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25naW54L25naW54XzEuOS4xNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ODVjNTJjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25naW54L25naW54XzEuOS4xNC5iYgpAQCAtMCwwICsxLDEyIEBACityZXF1aXJlIG5naW54LmluYworCisjIDEuOS54IGlzIHRoZSBjdXJyZW50IG1haW5saW5lIGJyYW5jaGVzIGNvbnRhaW5pbmcgYWxsIG5ldyBmZWF0dXJlcworIyAxLjgueCBicmFuY2ggaXMgdGhlIGN1cnJlbnQgc3RhYmxlIGJyYW5jaCwgdGhlIHJlY29tbWVuZGVkIGRlZmF1bHQKK0RFRkFVTFRfUFJFRkVSRU5DRSA9ICItMSIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MGJiNThlZDBkZmQ0ZjVkYmVjZTNiNTJhYmE3OWYwMjMiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJhMjU4MTgwMzlmMzRiNWQ1NGIwMTdkNDRjNzYzMjFjNCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyYjQ4OTMwNzZkMjhlNmI0Mzg0YmJhOGM0ZmRlYmZjYTZkZTZmOGY2OGVjNDhhMWNhOTRiOWI4NTVmZjQ1N2QyIgorCitESVNBQkxFX1NUQVRJQyA9ICIiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbm9zdHJvbW8vZmlsZXMvMDAwMS1HTlVtYWtlZmlsZS1hZGQtcG9zc2liaWxpdHktdG8tb3ZlcnJpZGUtdmFyaWFibGVzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25vc3Ryb21vL2ZpbGVzLzAwMDEtR05VbWFrZWZpbGUtYWRkLXBvc3NpYmlsaXR5LXRvLW92ZXJyaWRlLXZhcmlhYmxlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43Y2YwMTFiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25vc3Ryb21vL2ZpbGVzLzAwMDEtR05VbWFrZWZpbGUtYWRkLXBvc3NpYmlsaXR5LXRvLW92ZXJyaWRlLXZhcmlhYmxlcy5wYXRjaApAQCAtMCwwICsxLDE0MSBAQAorRnJvbSA3ZmEwZDMxZWM1YzBiZTlkY2E4NGEwMzg1MWIyZDQ0ZjYxNTI3ZWM4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0VyaWM9MjBCPUMzPUE5bmFyZD89IDxlcmljQGV1a3JlYS5jb20+CitEYXRlOiBTdW4sIDQgRGVjIDIwMTEgMTY6MDE6MDQgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gR05VbWFrZWZpbGU6IGFkZCBwb3NzaWJpbGl0eSB0byBvdmVycmlkZSB2YXJpYWJsZXMKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKwordGhpcyBpcyB1c2VmdWwgZm9yIGNyb3NzIGNvbXBpbGF0aW9uCisKK1NpZ25lZC1vZmYtYnk6IEVyaWMgQsOpbmFyZCA8ZXJpY0BldWtyZWEuY29tPgorLS0tCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQorIHNyYy9saWJic2QvR05VbWFrZWZpbGUgfCAgIDEwICsrKysrLS0tLS0KKyBzcmMvbGlibXkvR05VbWFrZWZpbGUgIHwgICAyNiArKysrKysrKysrKysrLS0tLS0tLS0tLS0tLQorIHNyYy9uaHR0cGQvR05VbWFrZWZpbGUgfCAgIDEyICsrKysrKy0tLS0tLQorIHNyYy90b29scy9HTlVtYWtlZmlsZSAgfCAgICA4ICsrKystLS0tCisgNCBmaWxlcyBjaGFuZ2VkLCAyOCBpbnNlcnRpb25zKCspLCAyOCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9saWJic2QvR05VbWFrZWZpbGUgYi9zcmMvbGliYnNkL0dOVW1ha2VmaWxlCitpbmRleCBlMmQwMWEzLi5iMDM0YmM2IDEwMDY0NAorLS0tIGEvc3JjL2xpYmJzZC9HTlVtYWtlZmlsZQorKysrIGIvc3JjL2xpYmJzZC9HTlVtYWtlZmlsZQorQEAgLTEsMTIgKzEsMTIgQEAKKy1DQ0ZMQUdTID0gLU8yIC1waXBlIC1XYWxsIC1XZXJyb3IgLVdzdHJpY3QtcHJvdG90eXBlcyAtYworK0NGTEFHUyA6PSAtTzIgLXBpcGUgLVdhbGwgLVdlcnJvciAtV3N0cmljdC1wcm90b3R5cGVzIC1jCisgCisgbGliYnNkLmE6CXN0cmxjcHkubyBzdHJsY2F0Lm8KKy0JCWFyIC1yIGxpYmJzZC5hIHN0cmxjcHkubyBzdHJsY2F0Lm8KKy0JCXJhbmxpYiBsaWJic2QuYQorKwkJJChBUikgLXIgbGliYnNkLmEgc3RybGNweS5vIHN0cmxjYXQubworKwkJJChSQU5MSUIpIGxpYmJzZC5hCisgCisgc3RybGNweS5vOglzdHJsY3B5LmMKKy0JCWNjICR7Q0NGTEFHU30gc3RybGNweS5jCisrCQkkKENDKSAkKENGTEFHUykgc3RybGNweS5jCisgc3RybGNhdC5vOglzdHJsY2F0LmMKKy0JCWNjICR7Q0NGTEFHU30gc3RybGNhdC5jCisrCQkkKENDKSAkKENGTEFHUykgc3RybGNhdC5jCisgY2xlYW46CisgCQlybSAtZiBsaWJic2QuYSAqLm8KK2RpZmYgLS1naXQgYS9zcmMvbGlibXkvR05VbWFrZWZpbGUgYi9zcmMvbGlibXkvR05VbWFrZWZpbGUKK2luZGV4IGNlOTBkZDkuLjg5MWZmZWEgMTAwNjQ0CistLS0gYS9zcmMvbGlibXkvR05VbWFrZWZpbGUKKysrKyBiL3NyYy9saWJteS9HTlVtYWtlZmlsZQorQEAgLTEsMzAgKzEsMzAgQEAKKy1DQ0ZMQUdTID0gLU8yIC1XYWxsIC1XZXJyb3IgLVdzdHJpY3QtcHJvdG90eXBlcyAtYworK0NGTEFHUyA6PSAtTzIgLVdhbGwgLVdlcnJvciAtV3N0cmljdC1wcm90b3R5cGVzIC1jCisgCisgbGlibXkuYToJc3RyY3V0bC5vIHN0cmN1dHcubyBzdHJjdXRzLm8gc3RyY3V0aS5vIHN0cmN1dGYubyBmbG9nLm8gZmxvZ2QubyBmcGFyc2UubyBzdHJsb3dlci5vIHN0cmI2NGQubworLQkJYXIgLXIgbGlibXkuYSBzdHJjdXRsLm8gc3RyY3V0dy5vIHN0cmN1dHMubyBzdHJjdXRpLm8gc3RyY3V0Zi5vIGZsb2cubyBmbG9nZC5vIGZwYXJzZS5vIHN0cmxvd2VyLm8gc3RyYjY0ZC5vCistCQlyYW5saWIgbGlibXkuYQorKwkJJChBUikgLXIgbGlibXkuYSBzdHJjdXRsLm8gc3RyY3V0dy5vIHN0cmN1dHMubyBzdHJjdXRpLm8gc3RyY3V0Zi5vIGZsb2cubyBmbG9nZC5vIGZwYXJzZS5vIHN0cmxvd2VyLm8gc3RyYjY0ZC5vCisrCQkkKFJBTkxJQikgbGlibXkuYQorIAorIHN0cmN1dGwubzoJc3RyY3V0bC5jCistCQljYyAke0NDRkxBR1N9IHN0cmN1dGwuYworKwkJJChDQykgJChDRkxBR1MpIHN0cmN1dGwuYworIHN0cmN1dHcubzoJc3RyY3V0dy5jCistCQljYyAke0NDRkxBR1N9IHN0cmN1dHcuYworKwkJJChDQykgJChDRkxBR1MpIHN0cmN1dHcuYworIHN0cmN1dHMubzoJc3RyY3V0cy5jCistCQljYyAke0NDRkxBR1N9IHN0cmN1dHMuYworKwkJJChDQykgJChDRkxBR1MpIHN0cmN1dHMuYworIHN0cmN1dGkubzoJc3RyY3V0aS5jCistCQljYyAke0NDRkxBR1N9IHN0cmN1dGkuYworKwkJJChDQykgJChDRkxBR1MpIHN0cmN1dGkuYworIHN0cmN1dGYubzoJc3RyY3V0Zi5jCistCQljYyAke0NDRkxBR1N9IHN0cmN1dGYuYworKwkJJChDQykgJChDRkxBR1MpIHN0cmN1dGYuYworIHN0cmxvd2VyLm86CXN0cmxvd2VyLmMKKy0JCWNjICR7Q0NGTEFHU30gc3RybG93ZXIuYworKwkJJChDQykgJChDRkxBR1MpIHN0cmxvd2VyLmMKKyBzdHJiNjRkLm86CXN0cmI2NGQuYworLQkJY2MgJHtDQ0ZMQUdTfSBzdHJiNjRkLmMKKysJCSQoQ0MpICQoQ0ZMQUdTKSBzdHJiNjRkLmMKKyAKKyBmbG9nLm86CQlmbG9nLmMKKy0JCWNjICR7Q0NGTEFHU30gZmxvZy5jCisrCQkkKENDKSAkKENGTEFHUykgZmxvZy5jCisgZmxvZ2QubzoJZmxvZ2QuYworLQkJY2MgJHtDQ0ZMQUdTfSBmbG9nZC5jCisrCQkkKENDKSAkKENGTEFHUykgZmxvZ2QuYworIGZwYXJzZS5vOglmcGFyc2UuYworLQkJY2MgJHtDQ0ZMQUdTfSBmcGFyc2UuYworKwkJJChDQykgJChDRkxBR1MpIGZwYXJzZS5jCisgCisgY2xlYW46CisgCQlybSAtZiBsaWJteS5hICoubworZGlmZiAtLWdpdCBhL3NyYy9uaHR0cGQvR05VbWFrZWZpbGUgYi9zcmMvbmh0dHBkL0dOVW1ha2VmaWxlCitpbmRleCBmNmQxMmRlLi45NTI0OTExIDEwMDY0NAorLS0tIGEvc3JjL25odHRwZC9HTlVtYWtlZmlsZQorKysrIGIvc3JjL25odHRwZC9HTlVtYWtlZmlsZQorQEAgLTEsMTggKzEsMTggQEAKKy1DQ0ZMQUdTID0gLU8yIC1waXBlIC1XYWxsIC1Xc3RyaWN0LXByb3RvdHlwZXMgLWMKKytDRkxBR1MgOj0gLU8yIC1waXBlIC1XYWxsIC1Xc3RyaWN0LXByb3RvdHlwZXMgLWMKKyAKKyBuaHR0cGQ6CW1haW4ubyBodHRwLm8gc3lzLm8KKy0JY2MgLUwuLi9saWJteSAtTC4uL2xpYmJzZCAtbyBuaHR0cGQgbWFpbi5vIGh0dHAubyBzeXMubyAtbG15IC1sYnNkIC1sc3NsIC1sY3J5cHQKKy0Jc3RyaXAgbmh0dHBkCisrCSQoQ0MpIC1MLi4vbGlibXkgLUwuLi9saWJic2QgLW8gbmh0dHBkIG1haW4ubyBodHRwLm8gc3lzLm8gLWxteSAtbGJzZCAtbHNzbCAtbGNyeXB0CisrIwkkKFNUUklQKSBuaHR0cGQKKyAJbnJvZmYgLVRhc2NpaSAtYyAtbWFuZG9jIG5odHRwZC44ID4gbmh0dHBkLmNhdDgKKyAKKyBtYWluLm86CW1haW4uYworLQljYyAke0NDRkxBR1N9IG1haW4uYworKwkkKENDKSAkKENGTEFHUykgbWFpbi5jCisgCisgaHR0cC5vOglodHRwLmMKKy0JY2MgJHtDQ0ZMQUdTfSBodHRwLmMKKysJJChDQykgJChDRkxBR1MpIGh0dHAuYworIAorIHN5cy5vOglzeXMuYworLQljYyAke0NDRkxBR1N9IHN5cy5jCisrCSQoQ0MpICQoQ0ZMQUdTKSBzeXMuYworIAorIGNsZWFuOgorIAlybSAtZiBuaHR0cGQgbmh0dHBkLmNhdDggKi5vCitkaWZmIC0tZ2l0IGEvc3JjL3Rvb2xzL0dOVW1ha2VmaWxlIGIvc3JjL3Rvb2xzL0dOVW1ha2VmaWxlCitpbmRleCAxNWJlYTYxLi42NjNkZGI1IDEwMDY0NAorLS0tIGEvc3JjL3Rvb2xzL0dOVW1ha2VmaWxlCisrKysgYi9zcmMvdG9vbHMvR05VbWFrZWZpbGUKK0BAIC0xLDExICsxLDExIEBACistQ0NGTEFHUyA9IC1PMiAtcGlwZSAtV2FsbCAtV2Vycm9yIC1Xc3RyaWN0LXByb3RvdHlwZXMgLWMKKytDQ0ZMQUdTIDo9IC1PMiAtcGlwZSAtV2FsbCAtV2Vycm9yIC1Xc3RyaWN0LXByb3RvdHlwZXMKKyAKKyBjcnlwdDoJCWNyeXB0Lm8KKy0JCWNjIC1vIGNyeXB0IGNyeXB0Lm8gLWxjcnlwdAorLQkJc3RyaXAgY3J5cHQKKysJCSQoQ0MpICQoQ0ZMQUdTKSAtbyBjcnlwdCBjcnlwdC5vIC1sY3J5cHQKKysjCQkkKFNUUklQKSBjcnlwdAorIAorIGNyeXB0Lm86CWNyeXB0LmMKKy0JCWNjICR7Q0NGTEFHU30gY3J5cHQuYworKwkJJChDQykgJChDRkxBR1MpIC1jIGNyeXB0LmMKKyAKKyBjbGVhbjoKKyAJCXJtIC1mIGNyeXB0ICoubworLS0gCisxLjcuNi40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9ub3N0cm9tby9maWxlcy9uaHR0cGQuY29uZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9ub3N0cm9tby9maWxlcy9uaHR0cGQuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42Njc0YmI2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25vc3Ryb21vL2ZpbGVzL25odHRwZC5jb25mCkBAIC0wLDAgKzEsNTUgQEAKKyMgTUFJTiBbTUFOREFUT1JZXQorCitzZXJ2ZXJuYW1lCQlsb2NhbGhvc3QKKyNzZXJ2ZXJuYW1lCQl3d3cubmF6Z3VsLmNoOjgwODAKK3NlcnZlcmxpc3RlbgkJKgorI3NlcnZlcmxpc3RlbgkJODEuMjIxLjIxLjI1MCAxMjcuMC4wLjEgOjoxCitzZXJ2ZXJhZG1pbgkJd2VibWFzdGVyQGxvY2FsaG9zdAorc2VydmVycm9vdAkJL3Zhci9ub3N0cm9tbworc2VydmVybWltZXMJCS92YXIvbm9zdHJvbW8vY29uZi9taW1lcworZG9jcm9vdAkJCS92YXIvbm9zdHJvbW8vaHRkb2NzCitkb2NpbmRleAkJaW5kZXguaHRtbAorCisjIExPR1MgW09QVElPTkFMXQorCitsb2dwaWQJCQkvdmFyL3J1bi9ub3N0cm9tby9uaHR0cGQucGlkCisjbG9nYWNjZXNzCQkvdmFyL2xvZy9ub3N0cm9tby9hY2Nlc3NfbG9nCisKKyMgU0VUVUlEIFtSRUNPTU1FTkRFRF0KKwordXNlcgkJCXd3dy1kYXRhCisKKyMgQkFTSUMgQVVUSEVOVElDQVRJT04gW09QVElPTkFMXQorCisjaHRhY2Nlc3MJCS5odGFjY2VzcworI2h0cGFzc3dkCQkvdmFyL25vc3Ryb21vL2NvbmYvLmh0cGFzc3dkCisjaHRwYXNzd2QJCStic2RhdXRoCisjaHRwYXNzd2QJCStic2RhdXRobm9zc2wKKworIyBTU0wgW09QVElPTkFMXQorCisjc3NscG9ydAkJNDQzCisjc3NsY2VydAkJL2V0Yy9zc2wvc2VydmVyLmNydAorI3NzbGNlcnRrZXkJCS9ldGMvc3NsL3NlcnZlci5rZXkKKworIyBDVVNUT00gUkVTUE9OU0VTIFtPUFRJT05BTF0KKyMKKyMgVGhlIGN1c3RvbSByZXNwb25zZXMgYXJlIHNlYXJjaGVkIGluIHRoZSBjb3JyZXNwb25kaW5nIGRvY3VtZW50IHJvb3QuCisKKyNjdXN0b21fNDAxCQljdXN0b21fNDAxLmh0bWwKKyNjdXN0b21fNDAzCQljdXN0b21fNDAzLmh0bWwKKyNjdXN0b21fNDA0CQljdXN0b21fNDA0Lmh0bWwKKworIyBBTElBU0VTIFtPUFRJT05BTF0KKworL2ljb25zCQkJL3Zhci9ub3N0cm9tby9pY29ucworCisjIFZJUlRVQUwgSE9TVFMgW09QVElPTkFMXQorCisjd3d3LnJhaGVsLmNoCQkvdmFyL25vc3Ryb21vL2h0ZG9jcy93d3cucmFoZWwuY2gKKyN3d3cucmFoZWwuY2g6ODA4MAkvdmFyL25vc3Ryb21vL2h0ZG9jcy93d3cucmFoZWwuY2gKKworIyBIT01FRElSUyBbT1BUSU9OQUxdCisKKyNob21lZGlycwkJL2hvbWUKKyNob21lZGlyc19wdWJsaWMJcHVibGljX3d3dwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25vc3Ryb21vL2ZpbGVzL25vc3Ryb21vIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25vc3Ryb21vL2ZpbGVzL25vc3Ryb21vCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhhMjg4NjgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbm9zdHJvbW8vZmlsZXMvbm9zdHJvbW8KQEAgLTAsMCArMSwzNCBAQAorIyEvYmluL3NoCisKK1BBVEg9L3NiaW46L2JpbjovdXNyL3NiaW46L3Vzci9iaW4KK0RBRU1PTj1uaHR0cGQKK05BTUU9bmh0dHBkCitERVNDPSJOb3N0cm9tbyBXZWIgU2VydmVyIgorT1BUUz0iLWMgL2V0Yy9uaHR0cGQuY29uZiIKKworY2FzZSAiJDEiIGluCisgIHN0YXJ0KQorCWVjaG8gLW4gIlN0YXJ0aW5nICRERVNDOiAiCisJc3RhcnQtc3RvcC1kYWVtb24gLS1zdGFydCAteCAiJERBRU1PTiIgLS0gJE9QVFMKKwllY2hvICIkTkFNRS4iCisJOzsKKyAgc3RvcCkKKwllY2hvIC1uICJTdG9wcGluZyAkREVTQzogIgorCXN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RvcCAteCAiJERBRU1PTiIKKwllY2hvICIkTkFNRS4iCisJOzsKKyAgcmVzdGFydHxmb3JjZS1yZWxvYWQpCisJZWNobyAtbiAiUmVzdGFydGluZyAkREVTQzogIgorCXN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RvcCAteCAiJERBRU1PTiIKKwlzbGVlcCAxCisJc3RhcnQtc3RvcC1kYWVtb24gLS1zdGFydCAteCAiJERBRU1PTiIgLS0gJE9QVFMKKwllY2hvICIkTkFNRS4iCisJOzsKKyAgKikKKwlOPS9ldGMvaW5pdC5kLyROQU1FCisJZWNobyAiVXNhZ2U6ICROIHtzdGFydHxzdG9wfHJlc3RhcnR8Zm9yY2UtcmVsb2FkfSIgPiYyCisJZXhpdCAxCisJOzsKK2VzYWMKKworZXhpdCAwCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbm9zdHJvbW8vZmlsZXMvdG1wZmlsZXMuY29uZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9ub3N0cm9tby9maWxlcy90bXBmaWxlcy5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI3YTlmNDgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbm9zdHJvbW8vZmlsZXMvdG1wZmlsZXMuY29uZgpAQCAtMCwwICsxIEBACitkIC9ydW4vbm9zdHJvbW8gLSB3d3ctZGF0YSB3d3ctZGF0YSAtCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbm9zdHJvbW8vZmlsZXMvdm9sYXRpbGVzIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25vc3Ryb21vL2ZpbGVzL3ZvbGF0aWxlcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MDkyNDk2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25vc3Ryb21vL2ZpbGVzL3ZvbGF0aWxlcwpAQCAtMCwwICsxLDIgQEAKK2Qgd3d3LWRhdGEgd3d3LWRhdGEgMDc3NSAvdmFyL3J1bi9ub3N0cm9tbyBub25lCitkIHd3dy1kYXRhIHd3dy1kYXRhIDA3NzUgL3Zhci9sb2cvbm9zdHJvbW8gbm9uZQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25vc3Ryb21vL25vc3Ryb21vXzEuOS41LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25vc3Ryb21vL25vc3Ryb21vXzEuOS41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU2MmVjZDAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbm9zdHJvbW8vbm9zdHJvbW9fMS45LjUuYmIKQEAgLTAsMCArMSw2OSBAQAorU1VNTUFSWSA9ICJBIHNpbXBsZSwgZmFzdCBhbmQgc2VjdXJlIEhUVFAgc2VydmVyIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5uYXpndWwuY2gvZGV2X25vc3Ryb21vLmh0bWwiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3NyYy9uaHR0cGQvbWFpbi5jO2JlZ2lubGluZT0yO2VuZGxpbmU9MTQ7bWQ1PWU1ZWMzZmE3MjNiMjliN2Q1OWQyMDVhZmQ4ZDM2OTM4IgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cubmF6Z3VsLmNoL2Rldi8ke0JQTn0tJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtR05VbWFrZWZpbGUtYWRkLXBvc3NpYmlsaXR5LXRvLW92ZXJyaWRlLXZhcmlhYmxlcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9uaHR0cGQuY29uZiBcCisgICAgICAgICAgIGZpbGU6Ly92b2xhdGlsZXMgXAorICAgICAgICAgICBmaWxlOi8vdG1wZmlsZXMuY29uZiBcCisgICAgICAgICAgIGZpbGU6Ly9ub3N0cm9tbyBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJkYzZjZmQ2YjVhYWUwNGMzNzBjN2Y4MThmYTdiZGU1NSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1ZjYyNTc4Mjg1ZTAyNDQ5NDA2YjQ2Y2YwNmE3ODg4ZmUzZGM0YTkwYmVkZjU4Y2MxODUyM2JhZDYyZjZiOTE0IgorCitUQVJHRVRfQ0NfQVJDSCArPSAiJHtMREZMQUdTfSIKKworREVQRU5EUyA9ICJvcGVuc3NsIgorCitpbmhlcml0IHVwZGF0ZS1yYy5kIHVzZXJhZGQKKworSU5JVFNDUklQVF9OQU1FID0gIm5vc3Ryb21vIgorSU5JVFNDUklQVF9QQVJBTVMgPSAiZGVmYXVsdHMgNzAiCisKK2RvX2NvbXBpbGUoKSB7CisgICAgb2VfcnVubWFrZQorfQorCisjIHdlIG5lZWQgdXNlci9ncm91cCB3d3ctZGF0YSB0byBleGlzdCB3aGVuIHdlIGluc3RhbGwKKyMKK1VTRVJBRERfUEFDS0FHRVMgPSAiJHtQTn0iCitVU0VSQUREX1BBUkFNXyR7UE59ID0gIi0tc3lzdGVtIC1nIHd3dy1kYXRhIHd3dy1kYXRhIgorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfS8ke3NiaW5kaXJ9CisgICAgaW5zdGFsbCAtbSAwNzU1IHNyYy9uaHR0cGQvbmh0dHBkICR7RH0vJHtzYmluZGlyfS9uaHR0cGQKKyAgICBpbnN0YWxsIC1tIDA3NTUgc3JjL3Rvb2xzL2NyeXB0ICR7RH0vJHtzYmluZGlyfS9jcnlwdAorICAgIGluc3RhbGwgLWQgJHtEfS8ke21hbmRpcn0vbWFuOAorICAgIGluc3RhbGwgLW0gMDQ0NCBzcmMvbmh0dHBkL25odHRwZC44ICR7RH0vJHttYW5kaXJ9L21hbjgvbmh0dHBkLjgKKyAgICBpbnN0YWxsIC1kICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L25vc3Ryb21vL2NvbmYKKyAgICBpbnN0YWxsIC1kICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L25vc3Ryb21vL2h0ZG9jcy9jZ2ktYmluCisgICAgaW5zdGFsbCAtZCAke0R9JHtsb2NhbHN0YXRlZGlyfS9ub3N0cm9tby9pY29ucworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCisgICAgaW5zdGFsbCAtbSAwNjQ0IGNvbmYvbWltZXMgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vbm9zdHJvbW8vY29uZi9taW1lcworICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L25odHRwZC5jb25mICR7RH0ke3N5c2NvbmZkaXJ9CisgICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vbm9zdHJvbW8gJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCisgICAgaW5zdGFsbCAtRCAtbSAwNjQ0ICR7V09SS0RJUn0vdm9sYXRpbGVzICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdm9sYXRpbGVzL25vc3Ryb21vCisgICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KKyAgICAgICAgaW5zdGFsbCAtRCAtbSAwNjQ0ICR7V09SS0RJUn0vdG1wZmlsZXMuY29uZiAke0R9JHtzeXNjb25mZGlyfS90bXBmaWxlcy5kL25vc3Ryb21vLmNvbmYKKyAgICBmaQorICAgIGluc3RhbGwgLW0gMDY0NCBodGRvY3MvaW5kZXguaHRtbCAke0R9JHtsb2NhbHN0YXRlZGlyfS9ub3N0cm9tby9odGRvY3MvaW5kZXguaHRtbAorICAgIGluc3RhbGwgLW0gMDY0NCBodGRvY3Mvbm9zdHJvbW8uZ2lmICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L25vc3Ryb21vL2h0ZG9jcy9ub3N0cm9tby5naWYKKyAgICBpbnN0YWxsIC1tIDA2NDQgaWNvbnMvZGlyLmdpZiAke0R9JHtsb2NhbHN0YXRlZGlyfS9ub3N0cm9tby9pY29ucy9kaXIuZ2lmCisgICAgaW5zdGFsbCAtbSAwNjQ0IGljb25zL2ZpbGUuZ2lmICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L25vc3Ryb21vL2ljb25zL2ZpbGUuZ2lmCisgICAgY2hvd24gLVIgd3d3LWRhdGE6d3d3LWRhdGEgJHtEfS8ke2xvY2Fsc3RhdGVkaXJ9L25vc3Ryb21vCit9CisKK0NPTkZGSUxFU18ke1BOfSArPSAiL3Zhci9ub3N0cm9tby9jb25mL21pbWVzICR7c3lzY29uZmRpcn0vbmh0dHBkLmNvbmYiCisKK3BrZ19wb3N0aW5zdF8ke1BOfSAoKSB7CisgICAgaWYgWyAteiAiJEQiIF07IHRoZW4KKyAgICAgICAgaWYgWyAtZSAvc3lzL2ZzL2Nncm91cC9zeXN0ZW1kIF07IHRoZW4KKyAgICAgICAgICAgIHN5c3RlbWQtdG1wZmlsZXMgLS1jcmVhdGUgJHtzeXNjb25mZGlyfS90bXBmaWxlcy5kL25vc3Ryb21vLmNvbmYKKyAgICAgICAgZWxpZiBbIC1lICR7c3lzY29uZmRpcn0vaW5pdC5kL3BvcHVsYXRlLXZvbGF0aWxlLnNoIF07IHRoZW4KKyAgICAgICAgICAgICR7c3lzY29uZmRpcn0vaW5pdC5kL3BvcHVsYXRlLXZvbGF0aWxlLnNoIHVwZGF0ZQorICAgICAgICBmaQorICAgIGZpCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvc3RodHRwZC9zdGh0dHBkL2luaXQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvc3RodHRwZC9zdGh0dHBkL2luaXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjVmN2IwMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9zdGh0dHBkL3N0aHR0cGQvaW5pdApAQCAtMCwwICsxLDUyIEBACisjIS9iaW4vc2gKKworIyMjIEJFR0lOIElOSVQgSU5GTworIyBQcm92aWRlczogICAgICAgICAgdGh0dHBkCisjIFJlcXVpcmVkLVN0YXJ0OiAgICAkcmVtb3RlX2ZzICRzeXNsb2cKKyMgUmVxdWlyZWQtU3RvcDogICAgICRyZW1vdGVfZnMgJHN5c2xvZworIyBEZWZhdWx0LVN0YXJ0OiAgICAgMiAzIDQgNQorIyBEZWZhdWx0LVN0b3A6ICAgICAgMCAxIDYKKyMgU2hvcnQtRGVzY3JpcHRpb246IFNtYWxsIGh0dHAgc2VydmVyCisjIERlc2NyaXB0aW9uOiAgICAgICB0aHR0cGQgaXMgYSBzaW1wbGUsIHNtYWxsLCBwb3J0YWJsZSwgZmFzdCwgYW5kIHNlY3VyZSBIVFRQIHNlcnZlci4KKyMjIyBFTkQgSU5JVCBJTkZPCisKKwordGh0dHBkPS91c3Ivc2Jpbi90aHR0cGQKK3Rlc3QgLXggIiR0aHR0cGQiIHx8IGV4aXQgMAorCisKK2Nhc2UgIiQxIiBpbgorICBzdGFydCkKKyAgICBlY2hvIC1uICJTdGFydGluZyB0aHR0cGQiCisgICAgc3RhcnQtc3RvcC1kYWVtb24gLS1zdGFydCAtLXF1aWV0IC0tZXhlYyAkdGh0dHBkIC0tIC1DIEBAQ09ORkZJTEUKKyAgICBlY2hvICIuIgorICAgIDs7CisgIHN0b3ApCisgICAgZWNobyAtbiAiU3RvcHBpbmcgdGh0dHBkIgorICAgIHN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RvcCAtLXF1aWV0IC0tZXhlYyAkdGh0dHBkCisgICAgZWNobyAiLiIKKyAgICA7OworICByZWxvYWR8Zm9yY2UtcmVsb2FkKQorICAgIHN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RvcCAtLXF1aWV0IC0tc2lnbmFsIDEgLS1leGVjICR0aHR0cGQKKyAgICA7OworICByZXN0YXJ0KQorICAgIGVjaG8gLW4gIlN0b3BwaW5nIHRodHRwZCIKKyAgICBzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLS1xdWlldCAtLWV4ZWMgJHRodHRwZCAtLSAtQyBAQENPTkZGSUxFCisgICAgZWNobyAiLiIKKyAgICBlY2hvIC1uICJXYWl0aW5nIGZvciB0aHR0cGQgdG8gZGllIG9mZiIKKyAgICBmb3IgaSBpbiAxIDIgMyA7CisgICAgZG8KKyAgICAgICAgc2xlZXAgMQorICAgICAgICBlY2hvIC1uICIuIgorICAgIGRvbmUKKyAgICBlY2hvICIiCisgICAgZWNobyAtbiAiU3RhcnRpbmcgdGh0dHBkIgorICAgIHN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RhcnQgLS1xdWlldCAtLWV4ZWMgJHRodHRwZCAtLSAtQyBAQENPTkZGSUxFCisgICAgZWNobyAiLiIKKyAgICA7OworICAqKQorICAgIGVjaG8gIlVzYWdlOiAvZXRjL2luaXQuZC90aHR0cGQge3N0YXJ0fHN0b3B8cmVsb2FkfHJlc3RhcnR8Zm9yY2UtcmVsb2FkfSIKKyAgICBleGl0IDEKK2VzYWMKKworZXhpdCAwCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvc3RodHRwZC9zdGh0dHBkL3RodHRwZC5jb25mIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL3N0aHR0cGQvc3RodHRwZC90aHR0cGQuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zOTc5ODRmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL3N0aHR0cGQvc3RodHRwZC90aHR0cGQuY29uZgpAQCAtMCwwICsxIEBACitkaXI9QEBTUlZESVIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9zdGh0dHBkL3N0aHR0cGQvdGh0dHBkLnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvc3RodHRwZC9zdGh0dHBkL3RodHRwZC5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYxMDk1MDAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvc3RodHRwZC9zdGh0dHBkL3RodHRwZC5zZXJ2aWNlCkBAIC0wLDAgKzEsMTAgQEAKK1tVbml0XQorRGVzY3JpcHRpb249VGlueS9UdXJiby9UaHJvdHRsaW5nIFdlYiBTZXJ2ZXIKKworW1NlcnZpY2VdCitUeXBlPWZvcmtpbmcKK0V4ZWNTdGFydD0vdXNyL3NiaW4vdGh0dHBkIC1DIEBAQ09ORkZJTEUgLWMgY2dpLWJpbi8qIC1pIC92YXIvcnVuL3RodHRwZC5waWQKK1BJREZpbGU9L3Zhci9ydW4vdGh0dHBkLnBpZAorCitbSW5zdGFsbF0KK1dhbnRlZEJ5PW11bHRpLXVzZXIudGFyZ2V0CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvc3RodHRwZC9zdGh0dHBkXzIuMjYuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9zdGh0dHBkL3N0aHR0cGRfMi4yNi40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcwMzQ5MjEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvc3RodHRwZC9zdGh0dHBkXzIuMjYuNC5iYgpAQCAtMCwwICsxLDQ1IEBACitTVU1NQVJZID0gIkEgc2ltcGxlLCBzbWFsbCwgcG9ydGFibGUsIGZhc3QsIGFuZCBzZWN1cmUgSFRUUCBzZXJ2ZXIiCitERVNDUklQVElPTiA9ICJBIHNpbXBsZSwgc21hbGwsIHBvcnRhYmxlLCBmYXN0LCBhbmQgc2VjdXJlIEhUVFAgc2VydmVyIChzdXBwb3J0ZWQgZm9yayBvZiB0aHR0cGQpLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9vcGVuc291cmNlLmR5Yy5lZHUvc3RodHRwZCIKK0xJQ0VOU0UgPSAiQlNELTItQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vc3JjL3RodHRwZC5jO2JlZ2lubGluZT0xO2VuZGxpbmU9MjY7bWQ1PTBjNTc2MmMyYzM0ZGNiZTllYjE4ODE1NTE2NTAyODcyIgorCitTUkNfVVJJID0gImh0dHA6Ly9vcGVuc291cmNlLmR5Yy5lZHUvcHViL3N0aHR0cGQvc3RodHRwZC0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vdGh0dHBkLnNlcnZpY2UgXAorICAgICAgICAgICBmaWxlOi8vdGh0dHBkLmNvbmYgXAorICAgICAgICAgICBmaWxlOi8vaW5pdCIKKworU1JDX1VSSVttZDVzdW1dID0gImU2NDVhODVhOTdkM2NiODgzMDExYTM1YmMyMjExODE1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjc4ZTg3OTc5MTQwY2JkYTEyM2M4MWI0MDUxNTUyMjQyZGJiZmZiNWRlYzFhMTdlNWY5NWVjNDgyNmIxZWFkZGIiCisKK1MgPSAiJHtXT1JLRElSfS9zdGh0dHBkLSR7UFZ9IgorCitpbmhlcml0IGF1dG90b29scyB1cGRhdGUtcmMuZCBzeXN0ZW1kCisKK1NSVl9ESVIgPz0gIiR7c2VydmljZWRpcn0vd3d3IgorCitFWFRSQV9PRU1BS0UgKz0gIidXRUJESVI9JHtTUlZfRElSfSciCisKK2RvX2luc3RhbGxfYXBwZW5kICgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgIGluc3RhbGwgLWMgLW0gNzU1ICR7V09SS0RJUn0vaW5pdCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvdGh0dHBkCisgICAgaW5zdGFsbCAtYyAtbSA3NTUgJHtXT1JLRElSfS90aHR0cGQuY29uZiAke0R9JHtzeXNjb25mZGlyfQorICAgIHNlZCAtaSAtZSAncyxAQENPTkZGSUxFLCR7c3lzY29uZmRpcn0vdGh0dHBkLmNvbmYsZycgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL3RodHRwZAorICAgIHNlZCAtaSAtZSAncyxAQFNSVkRJUiwke1NSVl9ESVJ9LGcnICR7RH0ke3N5c2NvbmZkaXJ9L3RodHRwZC5jb25mCisgICAgc2VkIC1pICdzIS91c3Ivc2Jpbi8hJHtzYmluZGlyfS8hZycgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL3RodHRwZAorCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3RodHRwZC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgc2VkIC1pICdzIS91c3Ivc2Jpbi8hJHtzYmluZGlyfS8hZycgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vdGh0dHBkLnNlcnZpY2UKKyAgICBzZWQgLWkgJ3MhL3Zhci8hJHtsb2NhbHN0YXRlZGlyfS8hZycgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vdGh0dHBkLnNlcnZpY2UKKyAgICBzZWQgLWkgLWUgJ3MsQEBDT05GRklMRSwke3N5c2NvbmZkaXJ9L3RodHRwZC5jb25mLGcnICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3RodHRwZC5zZXJ2aWNlCit9CisKK0lOSVRTQ1JJUFRfTkFNRSA9ICJ0aHR0cGQiCitJTklUU0NSSVBUX1BBUkFNUyA9ICJkZWZhdWx0cyIKKworU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gInRodHRwZC5zZXJ2aWNlIgorCitGSUxFU18ke1BOfSArPSAiJHtTUlZfRElSfSIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtTUlZfRElSfS9jZ2ktYmluLy5kZWJ1ZyIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXBocC9waHBteWFkbWluL3BocG15YWRtaW4vUG9ydC1jb250ZW50LXNwb29maW5nLWZpeC1DVkUtMjAxNS03ODczLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXBocC9waHBteWFkbWluL3BocG15YWRtaW4vUG9ydC1jb250ZW50LXNwb29maW5nLWZpeC1DVkUtMjAxNS03ODczLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFlNmJjYmQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtcGhwL3BocG15YWRtaW4vcGhwbXlhZG1pbi9Qb3J0LWNvbnRlbnQtc3Bvb2ZpbmctZml4LUNWRS0yMDE1LTc4NzMucGF0Y2gKQEAgLTAsMCArMSw0OCBAQAorRnJvbSBhZTdlYWUxY2M4OGNiZGYyZDI3YTZmMTBmMDk3ZWY3MzE4MjM2ODllIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogV2Vuem9uZyBGYW4gPHdlbnpvbmcuZmFuQHdpbmRyaXZlci5jb20+CitEYXRlOiBTYXQsIDE0IE5vdiAyMDE1IDAyOjAxOjU0IC0wNTAwCitTdWJqZWN0OiBbUEFUQ0hdIFBvcnQgY29udGVudCBzcG9vZmluZyBmaXgKKworQmFja3BvcnQgdXBzdHJlYW0gY29tbWl0IGZvciBmaXhpbmcgQ1ZFLTIwMTUtNzg3MzoKKyAgaHR0cHM6Ly9naXRodWIuY29tL3BocG15YWRtaW4vcGhwbXlhZG1pbi9jb21taXQvY2QwOTc2NTY3NThmOTgxZjgwZmI5MDI5YzdkNmI0Mjk0NTgyYjcwNgorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CisKK1NpZ25lZC1vZmYtYnk6IE1hcmMgRGVsaXNsZSA8bWFyY0BpbmZvbWFyYy5pbmZvPgorU2lnbmVkLW9mZi1ieTogV2Vuem9uZyBGYW4gPHdlbnpvbmcuZmFuQHdpbmRyaXZlci5jb20+CistLS0KKyBDaGFuZ2VMb2cgfCA0ICsrKysKKyB1cmwucGhwICAgfCAzICsrLQorIDIgZmlsZXMgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKK2luZGV4IDRjYjY3MDguLjk2OTM2YzggMTAwNjQ0CistLS0gYS9DaGFuZ2VMb2cKKysrKyBiL0NoYW5nZUxvZworQEAgLTEwNyw2ICsxMDcsMTAgQEAgcGhwTXlBZG1pbiAtIENoYW5nZUxvZworIC0gaXNzdWUgIzExNDQ4IENsYXJpZnkgZG9jIGFib3V0IHRoZSBNZW1vcnlMaW1pdCBkaXJlY3RpdmUKKyAtIGlzc3VlICMxMTQ4OSBDYW5ub3QgY29weSBhIGRhdGFiYXNlIHVuZGVyIGNlcnRhaW4gY29uZGl0aW9ucworIAorKzQuNC4xNS4xICgyMDE1LTEwLTIzKQorKy0gaXNzdWUgIzExNDY0IHBocE15QWRtaW4gc3VnZ2VzdHMgdXBncmFkaW5nIHRvIG5ld2VyIHZlcnNpb24gbm90IHVzYWJsZSBvbiB0aGF0IHN5c3RlbQorKy0gaXNzdWUgW3NlY3VyaXR5XSBDb250ZW50IHNwb29maW5nIG9uIHVybC5waHAKKysKKyA0LjQuMTUuMCAobm90IHlldCByZWxlYXNlZCkKKyAtIGlzc3VlICMxMTQxMSBVbmRlZmluZWQgInJlcGxhY2UiIGZ1bmN0aW9uIG9uIG51bWVyaWMgc2NhbGFyCisgLSBpc3N1ZSAjMTE0MjEgU3RvcmVkLXByb2MgLyByb3V0aW5lIC0gYnJva2VuIHBhcmFtZXRlciBwYXJzaW5nCitkaWZmIC0tZ2l0IGEvdXJsLnBocCBiL3VybC5waHAKK2luZGV4IGVlYzc4YTUuLjljNGM4ODQgMTAwNjQ0CistLS0gYS91cmwucGhwCisrKysgYi91cmwucGhwCitAQCAtMzIsNiArMzIsNyBAQCBpZiAoISBQTUFfaXNWYWxpZCgkX1JFUVVFU1RbJ3VybCddKQorICAgICAgICAgICAgIH0KKyAgICAgICAgIDwvc2NyaXB0PiI7CisgICAgIC8vIERpc3BsYXkgcmVkaXJlY3RpbmcgbXNnIG9uIHNjcmVlbi4KKy0gICAgcHJpbnRmKF9fKCdUYWtpbmcgeW91IHRvICVzLicpLCBodG1sc3BlY2lhbGNoYXJzKCRfUkVRVUVTVFsndXJsJ10pKTsKKysgICAgLy8gRG8gbm90IGRpc3BsYXkgdGhlIHZhbHVlIG9mICRfUkVRVUVTVFsndXJsJ10gdG8gYXZvaWQgc2hvd2luZyBpbmplY3RlZCBjb250ZW50CisrICAgIGVjaG8gX18oJ1Rha2luZyB5b3UgdG8gdGhlIHRhcmdldCBzaXRlLicpOworIH0KKyBkaWUoKTsKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXBocC9waHBteWFkbWluL3BocG15YWRtaW4vYXBhY2hlLmNvbmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtcGhwL3BocG15YWRtaW4vcGhwbXlhZG1pbi9hcGFjaGUuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NGNiZDg2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXBocC9waHBteWFkbWluL3BocG15YWRtaW4vYXBhY2hlLmNvbmYKQEAgLTAsMCArMSw0MiBAQAorIyBwaHBNeUFkbWluIGRlZmF1bHQgQXBhY2hlIGNvbmZpZ3VyYXRpb24KKworQWxpYXMgL3BocG15YWRtaW4gL3Vzci9zaGFyZS9waHBteWFkbWluCisKKzxEaXJlY3RvcnkgL3Vzci9zaGFyZS9waHBteWFkbWluPgorCU9wdGlvbnMgRm9sbG93U3ltTGlua3MKKwlEaXJlY3RvcnlJbmRleCBpbmRleC5waHAKKwlSZXF1aXJlIGFsbCBncmFudGVkCisKKwk8SWZNb2R1bGUgbW9kX3BocDUuYz4KKwkJQWRkVHlwZSBhcHBsaWNhdGlvbi94LWh0dHBkLXBocCAucGhwCisKKwkJcGhwX2ZsYWcgbWFnaWNfcXVvdGVzX2dwYyBPZmYKKwkJcGhwX2ZsYWcgdHJhY2tfdmFycyBPbgorCQlwaHBfZmxhZyByZWdpc3Rlcl9nbG9iYWxzIE9mZgorCQlwaHBfYWRtaW5fZmxhZyBhbGxvd191cmxfZm9wZW4gT2ZmCisJCXBocF92YWx1ZSBpbmNsdWRlX3BhdGggLgorCQlwaHBfYWRtaW5fdmFsdWUgdXBsb2FkX3RtcF9kaXIgL3Zhci9saWIvcGhwbXlhZG1pbi90bXAKKwkJcGhwX2FkbWluX3ZhbHVlIG9wZW5fYmFzZWRpciAvdXNyL3NoYXJlL3BocG15YWRtaW4vOi9ldGMvcGhwbXlhZG1pbi86L3Zhci9saWIvcGhwbXlhZG1pbi8KKwk8L0lmTW9kdWxlPgorPC9EaXJlY3Rvcnk+CisKKyMgQXV0aG9yaXplIGZvciBzZXR1cAorPERpcmVjdG9yeSAvdXNyL3NoYXJlL3BocG15YWRtaW4vc2V0dXA+CisgICAgPElmTW9kdWxlIG1vZF9hdXRobl9maWxlLmM+CisgICAgQXV0aFR5cGUgQmFzaWMKKyAgICBBdXRoTmFtZSAicGhwTXlBZG1pbiBTZXR1cCIKKyAgICBBdXRoVXNlckZpbGUgL2V0Yy9waHBteWFkbWluL2h0cGFzc3dkLnNldHVwCisgICAgPC9JZk1vZHVsZT4KKyAgICBSZXF1aXJlIHZhbGlkLXVzZXIKKzwvRGlyZWN0b3J5PgorCisjIERpc2FsbG93IHdlYiBhY2Nlc3MgdG8gZGlyZWN0b3JpZXMgdGhhdCBkb24ndCBuZWVkIGl0Cis8RGlyZWN0b3J5IC91c3Ivc2hhcmUvcGhwbXlhZG1pbi9saWJyYXJpZXM+CisgICAgT3JkZXIgRGVueSxBbGxvdworICAgIERlbnkgZnJvbSBBbGwKKzwvRGlyZWN0b3J5PgorPERpcmVjdG9yeSAvdXNyL3NoYXJlL3BocG15YWRtaW4vc2V0dXAvbGliPgorICAgIE9yZGVyIERlbnksQWxsb3cKKyAgICBEZW55IGZyb20gQWxsCis8L0RpcmVjdG9yeT4KKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXBocC9waHBteWFkbWluL3BocG15YWRtaW4vcGhwbXlhZG1pbi1DVkUtMjAxNS04NjY5LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXBocC9waHBteWFkbWluL3BocG15YWRtaW4vcGhwbXlhZG1pbi1DVkUtMjAxNS04NjY5LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY1ZmZmNjQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtcGhwL3BocG15YWRtaW4vcGhwbXlhZG1pbi9waHBteWFkbWluLUNWRS0yMDE1LTg2NjkucGF0Y2gKQEAgLTAsMCArMSwxOCBAQAorW1NlY3VyaXR5XSBQYXRoIGRpc2Nsb3N1cmUsIHNlZSBQTUFTQS0yMDE1LTYKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNwb3J0CisKK1NpZ25lZC1vZmYtYnk6IE1hcmMgRGVsaXNsZSA8bWFyY0BpbmZvbWFyYy5pbmZvPgorCitkaWZmIC1OdXIgcGhwTXlBZG1pbi00LjUuMC4yLWFsbC1sYW5ndWFnZXMub3JpZy9saWJyYXJpZXMvY29uZmlnL21lc3NhZ2VzLmluYy5waHAgcGhwTXlBZG1pbi00LjUuMC4yLWFsbC1sYW5ndWFnZXMvbGlicmFyaWVzL2NvbmZpZy9tZXNzYWdlcy5pbmMucGhwCistLS0gcGhwTXlBZG1pbi00LjUuMC4yLWFsbC1sYW5ndWFnZXMub3JpZy9saWJyYXJpZXMvY29uZmlnL21lc3NhZ2VzLmluYy5waHAJMjAxNi0wMS0yMCAxNToxMToxNS40MTAxMDY4ODggKzA4MDAKKysrKyBwaHBNeUFkbWluLTQuNS4wLjItYWxsLWxhbmd1YWdlcy9saWJyYXJpZXMvY29uZmlnL21lc3NhZ2VzLmluYy5waHAJMjAxNi0wMS0yMCAxNToxNDowNS43NTgxMDgwNzYgKzA4MDAKK0BAIC0xMSw3ICsxMSw3IEBACisgICovCisgCisgaWYgKCFmdW5jdGlvbl9leGlzdHMoJ19fJykpIHsKKy0gICAgUE1BX2ZhdGFsRXJyb3IoJ0JhZCBpbnZvY2F0aW9uIScpOworKyAgICBleGl0KCk7CisgfQorIAorICRzdHJDb25maWdBbGxvd0FyYml0cmFyeVNlcnZlcl9kZXNjID0gX18oCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtcGhwL3BocG15YWRtaW4vcGhwbXlhZG1pbl80LjUuMC4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXBocC9waHBteWFkbWluL3BocG15YWRtaW5fNC41LjAuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYzMyMTg1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXBocC9waHBteWFkbWluL3BocG15YWRtaW5fNC41LjAuMi5iYgpAQCAtMCwwICsxLDM4IEBACitTVU1NQVJZID0gIldlYi1iYXNlZCBNeVNRTCBhZG1pbmlzdHJhdGlvbiBpbnRlcmZhY2UiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LnBocG15YWRtaW4ubmV0IgorIyBNYWluIGNvZGUgaXMgR1BMdjIsIGxpYnJhcmllcy90Y3BkZiBpcyB1bmRlciBMR1BMdjMsIGpzL2pxdWVyeSBpcyB1bmRlciBNSVQKK0xJQ0VOU0UgPSAiR1BMdjIgJiBMR1BMdjMgJiBNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9saWJyYXJpZXMvdGNwZGYvTElDRU5TRS5UWFQ7bWQ1PTVjODdiNjZhNTM1OGViY2M0OTViMDNlMGFmY2QzNDJjIgorCitTUkNfVVJJID0gImh0dHBzOi8vZmlsZXMucGhwbXlhZG1pbi5uZXQvcGhwTXlBZG1pbi80LjUuMC4yL3BocE15QWRtaW4tNC41LjAuMi1hbGwtbGFuZ3VhZ2VzLnRhci54eiBcCisgICAgICAgICAgIGZpbGU6Ly9Qb3J0LWNvbnRlbnQtc3Bvb2ZpbmctZml4LUNWRS0yMDE1LTc4NzMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vYXBhY2hlLmNvbmYgXAorICAgICAgICAgICBmaWxlOi8vcGhwbXlhZG1pbi1DVkUtMjAxNS04NjY5LnBhdGNoIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gIjJkMDhkMmZjYzhmNzBmODhhMTFhMTQ3MjNlM2NhMjc1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImQyZTkwZWE0ODZkOTBiNGViZTVlYjAyZDdhZDM0OWFkMjkxNmMxMmE4OTgxZjk4NTUzMzk1ZWY3OGQyMmE4ZWMiCisKK1MgPSAiJHtXT1JLRElSfS9waHBNeUFkbWluLSR7UFZ9LWFsbC1sYW5ndWFnZXMiCisKK2luaGVyaXQgYWxsYXJjaAorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7ZGF0YWRpcn0vJHtCUE59CisgICAgY3AgLVIgLS1uby1kZXJlZmVyZW5jZSAtLXByZXNlcnZlPW1vZGUsbGlua3MgLXYgKiAke0R9JHtkYXRhZGlyfS8ke0JQTn0KKyAgICBjaG93biAtUiByb290OnJvb3QgJHtEfSR7ZGF0YWRpcn0vJHtCUE59CisgICAgIyBEb24ndCBpbnN0YWxsIHBhdGNoZXMgdG8gdGFyZ2V0CisgICAgcm0gLXJmICR7RH0ke2RhdGFkaXJ9LyR7QlBOfS9wYXRjaGVzCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2FwYWNoZTIvY29uZi5kCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vYXBhY2hlLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vYXBhY2hlMi9jb25mLmQvcGhwbXlhZG1pbi5jb25mCisKKyAgICAjIFJlbW92ZSBhIGZldyBzY3JpcHRzIHRoYXQgZXhwbGljaXRseSByZXF1aXJlIGJhc2ggKCEpCisgICAgcm0gLWYgJHtEfSR7ZGF0YWRpcn0vcGhwbXlhZG1pbi9saWJyYXJpZXMvdHJhbnNmb3JtYXRpb25zLyouc2gKK30KKworRklMRVNfJHtQTn0gPSAiJHtkYXRhZGlyfS8ke0JQTn0gXAorICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9hcGFjaGUyL2NvbmYuZCIKKworUkRFUEVORFNfJHtQTn0gKz0gImJhc2giCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtcGhwL3hkZWJ1Zy94ZGVidWdfMi4yLjYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtcGhwL3hkZWJ1Zy94ZGVidWdfMi4yLjYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWVjYWM4OAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1waHAveGRlYnVnL3hkZWJ1Z18yLjIuNi5iYgpAQCAtMCwwICsxLDM0IEBACitTVU1NQVJZID0gIkRlYnVnZ2luZyBhbmQgcHJvZmlsaW5nIGV4dGVuc2lvbiBmb3IgUEhQIgorTElDRU5TRSA9ICJYZGVidWciCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0zNGRmM2EyNzRhYTEyYjc5NTQxN2M2NTYzNGMwN2YxNiIKKworREVQRU5EUyA9ICJwaHAiCisKK1NSQ19VUkkgPSAiaHR0cDovL3hkZWJ1Zy5vcmcvZmlsZXMveGRlYnVnLSR7UFZ9LnRneiIKKworU1JDX1VSSVttZDVzdW1dID0gImYyMTYzNTY4NjFlMjcyODQ1ODBkMDIwODA2MGVhN2ZhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjZkZDFjYmEwNjA1ZTc1MDA5MzMxYWEzNjI1YTE5ZWY0OWFkZTVhNzVhYTlmZTJmZjhhODE4MTA4ZDJjY2U4NGUiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK0VYVFJBX09FQ09ORiArPSAiLS1lbmFibGUteGRlYnVnIC13aXRoLXBocC1jb25maWc9JHtTVEFHSU5HX0JJTkRJUl9DUk9TU30vcGhwLWNvbmZpZyIKKworZG9fY29uZmlndXJlKCkgeworICAgIGNkICR7U30KKyAgICAke1NUQUdJTkdfQklORElSX0NST1NTfS9waHBpemUKKyAgICBjZCAke0J9CisKKyAgICAjIFJ1bm5pbmcgYXV0b3JlY29uZiBhcyBhdXRvdG9vbHNfZG9fY29uZmlndXJlIHdvdWxkIGRvIGhlcmUKKyAgICAjIGJyZWFrcyB0aGUgbGlidG9vbCBjb25maWd1cmF0aW9uIHJlc3VsdGluZyBpbiBhIGZhaWx1cmUgbGF0ZXIKKyAgICAjIGluIGRvX2NvbXBpbGUuIEl0J3MgcG9zc2libGUgdGhpcyBtYXkgYmUgZml4YWJsZSwgaG93ZXZlciB0aGUKKyAgICAjIGVhc2llc3QgY291cnNlIG9mIGFjdGlvbiBmb3IgdGhlIG1vbWVudCBpcyB0byBhdm9pZCBkb2luZyB0aGF0LgorICAgIG9lX3J1bmNvbmYKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBvZV9ydW5tYWtlIGluc3RhbGwgSU5TVEFMTF9ST09UPSR7RH0KK30KKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9waHA1L2V4dGVuc2lvbnMvKi8qLnNvIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vcGhwNS9leHRlbnNpb25zLyovLmRlYnVnIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtc3VwcG9ydC9mY2dpL2ZjZ2kvRml4X0VPRl9ub3RfZGVjbGFyZWRfaXNzdWUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtc3VwcG9ydC9mY2dpL2ZjZ2kvRml4X0VPRl9ub3RfZGVjbGFyZWRfaXNzdWUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTFkZGVhYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1zdXBwb3J0L2ZjZ2kvZmNnaS9GaXhfRU9GX25vdF9kZWNsYXJlZF9pc3N1ZS5wYXRjaApAQCAtMCwwICsxLDE3IEBACitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworRml4IEVPRiBub3QgZGVjbGFyZWQgaXNzdWUsIGZvbGxvd2luZyBpcyB0aGUgZXJyb3IgbG9nLgorZmNnaW8uY3BwOjcwOjcyOiBlcnJvcjogJ0VPRicgd2FzIG5vdCBkZWNsYXJlZCBpbiB0aGlzIHNjb3BlCisgICAgICAgICAgICAgIGlmIChGQ0dYX1B1dFN0cihwYmFzZSgpLCBwbGVuLCB0aGlzLT5mY2d4KSAhPSBwbGVuKSByZXR1cm4gRU9GOworCitTaWduZWQtb2ZmLWJ5OiBZYW5nIEhhaWJvIDxiNDA4NjlAZnJlZXNjYWxlLmNvbT4KKy0tLSBmY2dpLW9yaS9saWJmY2dpL2ZjZ2lvLmNwcCAyMDE0LTA3LTI4IDE4OjAxOjAwLjAwMDAwMDAwMCArMDgwMAorKysrIGZjZ2ktMi40LjAvbGliZmNnaS9mY2dpby5jcHAgICAgICAgMjAxNC0wNy0yOCAxODowMToyMi4wMDAwMDAwMDAgKzA4MDAKK0BAIC0yMiw2ICsyMiw3IEBACisgI2RlZmluZSBETExBUEkgIF9fZGVjbHNwZWMoZGxsZXhwb3J0KQorICNlbmRpZgorCisrI2luY2x1ZGUgPHN0ZGlvLmg+CisgI2luY2x1ZGUgPGxpbWl0cy5oPgorICNpbmNsdWRlICJmY2dpby5oIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtc3VwcG9ydC9mY2dpL2ZjZ2kvYWRkX2ZvcmVpZ25fdG9fQU1fSU5JVF9BVVRPTUFLRS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1zdXBwb3J0L2ZjZ2kvZmNnaS9hZGRfZm9yZWlnbl90b19BTV9JTklUX0FVVE9NQUtFLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVjYTY5NGEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtc3VwcG9ydC9mY2dpL2ZjZ2kvYWRkX2ZvcmVpZ25fdG9fQU1fSU5JVF9BVVRPTUFLRS5wYXRjaApAQCAtMCwwICsxLDE4IEBACitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKwordXNlIGF1dG9tYWtlIG9wdGlvbnMgImZvcmVpZ24iIHRvIHNldCB0aGUgc3RyaWN0bmVzcyBhcyBhcHByb3ByaWF0ZQorCitTaWduZWQtb2ZmLWJ5OiBZYW5nIEhhaWJvIDxiNDA4NjlAZnJlZXNjYWxlLmNvbT4KKy0tLSBmY2dpLW9yaS9jb25maWd1cmUuaW4JMjAxNC0wOC0wNSAxNDo1ODozNS4wMDAwMDAwMDAgKzA4MDAKKysrKyBmY2dpLTIuNC4wL2NvbmZpZ3VyZS5pbgkyMDE0LTA4LTA1IDE0OjU5OjA4LjAwMDAwMDAwMCArMDgwMAorQEAgLTQsOCArNCw4IEBACisgZG5sICAgICBnZW5lcmF0ZSB0aGUgZmlsZSAiY29uZmlndXJlIiwgd2hpY2ggaXMgcnVuIGR1cmluZyB0aGUgYnVpbGQKKyBkbmwgICAgIHRvIGNvbmZpZ3VyZSB0aGUgc3lzdGVtIGZvciB0aGUgbG9jYWwgZW52aXJvbm1lbnQuCisgCistQUNfSU5JVAorLUFNX0lOSVRfQVVUT01BS0UoZmNnaSwgMi40LjApCisrQUNfSU5JVChbZmNnaV0sIFsyLjQuMF0pCisrQU1fSU5JVF9BVVRPTUFLRShbZm9yZWlnbl0pCisgCisgQU1fQ09ORklHX0hFQURFUihmY2dpX2NvbmZpZy5oKQorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXN1cHBvcnQvZmNnaS9mY2dpXzIuNC4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXN1cHBvcnQvZmNnaS9mY2dpXzIuNC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ4YzU5NDQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtc3VwcG9ydC9mY2dpL2ZjZ2lfMi40LjAuYmIKQEAgLTAsMCArMSwxNSBAQAorREVTQ1JJUFRJT04gPSAiRmFzdENHSSBpcyBhIHByb3RvY29sIGZvciBpbnRlcmZhY2luZyBpbnRlcmFjdGl2ZSBwcm9ncmFtcyB3aXRoIGEgd2ViIHNlcnZlci4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmZhc3RjZ2kuY29tIgorTElDRU5TRSA9ICJPTUwiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLlRFUk1TO21kNT1lM2FhY2FjM2E2NDdhZjZlN2UzMWYxODFjZGEwYTA2YSIKKworU1JDX1VSSSA9ICJodHRwOi8vZm9zc2llcy5vcmcvbGludXgvd3d3L29sZC8ke0JQfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vRml4X0VPRl9ub3RfZGVjbGFyZWRfaXNzdWUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vYWRkX2ZvcmVpZ25fdG9fQU1fSU5JVF9BVVRPTUFLRS5wYXRjaCBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiZDE1MDYwYTgxM2I5MTM4M2E5ZjNjNjZmYWY4NDg2N2UiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNjZmYzQ1YzZiMzZhMjFiZjJmYmJiNjhlOTBmNzgwY2MyMWE5ZGExZmZmYmFlNzVlNzZkMmI0NDAyZDNmMDViOSIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworUEFSQUxMRUxfTUFLRSA9ICIiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtc3VwcG9ydC9zcGF3bi1mY2dpL3NwYXduLWZjZ2ktMS42LjQvZml4X2NvbmZpZ3VyZV9pcHY2X3Rlc3QucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtc3VwcG9ydC9zcGF3bi1mY2dpL3NwYXduLWZjZ2ktMS42LjQvZml4X2NvbmZpZ3VyZV9pcHY2X3Rlc3QucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTQwOWRkMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1zdXBwb3J0L3NwYXduLWZjZ2kvc3Bhd24tZmNnaS0xLjYuNC9maXhfY29uZmlndXJlX2lwdjZfdGVzdC5wYXRjaApAQCAtMCwwICsxLDM1IEBACitUZXN0aW5nIGZvciBJUHY2IHN1cHBvcnQgZ290IGJyb2tlbiBieSBjb25maWd1cmUuYWMgY2hhbmdlcyBpbiAxLjYuNAorQXMgYSB0ZW1wIHdvcmthcm91bmQsIHJldmVydCBiYWNrIHRvIHRoZSAxLjYuMyB2ZXJzaW9uLgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworLS0tIHNwYXduLWZjZ2ktMS42LjQvY29uZmlndXJlLmFjCisrKysgc3Bhd24tZmNnaS0xLjYuMy9jb25maWd1cmUuYWMKK0BAIC02Niw4ICs0Nyw4IEBACisgIyBDaGVjayBmb3IgSVB2NiBzdXBwb3J0CisgCisgQUNfQVJHX0VOQUJMRShpcHY2LAorLSAgQUNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS1pcHY2XSxbZGlzYWJsZSBJUHY2IHN1cHBvcnRdKSwKKy0gIFtjYXNlICIke2VuYWJsZXZhbH0iIGluCisrIEFDX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtaXB2Nl0sW2Rpc2FibGUgSVB2NiBzdXBwb3J0XSksCisrIFtjYXNlICIke2VuYWJsZXZhbH0iIGluCisgICAgeWVzKSBpcHY2PXRydWUgOzsKKyAgICAgbm8pIGlwdjY9ZmFsc2UgOzsKKyAgICAgICopIEFDX01TR19FUlJPUihiYWQgdmFsdWUgJHtlbmFibGV2YWx9IGZvciAtLWVuYWJsZS1pcHY2KSA7OworQEAgLTc1LDEzICs1NiwxMCBAQAorIAorIGlmIHRlc3QgeCRpcHY2ID0geHRydWU7IHRoZW4KKyAgIEFDX0NBQ0hFX0NIRUNLKFtmb3IgSVB2NiBzdXBwb3J0XSwgYWNfY3ZfaXB2Nl9zdXBwb3J0LAorLSAgICBbQUNfVFJZX0xJTksoW1sKKy0jaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisrICBbQUNfVFJZX0xJTksoWyAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisgI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KKy0jaW5jbHVkZSA8bmV0aW5ldC9pbi5oPgorLSAgICBdXSwgW1sKKy1zdHJ1Y3Qgc29ja2FkZHJfaW42IHM7IHN0cnVjdCBpbjZfYWRkciB0PWluNmFkZHJfYW55OyBpbnQgaT1BRl9JTkVUNjsgczsgdC5zNl9hZGRyWzBdID0gMDsKKy0gICAgXV0sIFthY19jdl9pcHY2X3N1cHBvcnQ9eWVzXSwgW2FjX2N2X2lwdjZfc3VwcG9ydD1ub10pXSkKKysjaW5jbHVkZSA8bmV0aW5ldC9pbi5oPl0sIFtzdHJ1Y3Qgc29ja2FkZHJfaW42IHM7IHN0cnVjdCBpbjZfYWRkciB0PWluNmFkZHJfYW55OyBpbnQgaT1BRl9JTkVUNjsgczsgdC5zNl9hZGRyWzBdID0gMDsgXSwKKysgIFthY19jdl9pcHY2X3N1cHBvcnQ9eWVzXSwgW2FjX2N2X2lwdjZfc3VwcG9ydD1ub10pXSkKKyAKKyAgIGlmIHRlc3QgIiRhY19jdl9pcHY2X3N1cHBvcnQiID0geWVzOyB0aGVuCisgICAgIEFDX0RFRklORShIQVZFX0lQVjYsMSxbV2hldGhlciB0byBlbmFibGUgSVB2NiBzdXBwb3J0XSkKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1zdXBwb3J0L3NwYXduLWZjZ2kvc3Bhd24tZmNnaV8xLjYuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1zdXBwb3J0L3NwYXduLWZjZ2kvc3Bhd24tZmNnaV8xLjYuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45OWU1OGJkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXN1cHBvcnQvc3Bhd24tZmNnaS9zcGF3bi1mY2dpXzEuNi40LmJiCkBAIC0wLDAgKzEsMTYgQEAKK1NVTU1BUlJZID0gInNwYXduLWZjZ2kgaXMgdXNlZCB0byBzcGF3biBGYXN0Q0dJIGFwcGxpY2F0aW9ucyIKK0hPTUVQQUdFID0gImh0dHA6Ly9yZWRtaW5lLmxpZ2h0dHBkLm5ldC9wcm9qZWN0cy9zcGF3bi1mY2dpIgorCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWU0ZGFjNWM2YWIxNjlhYTIxMmZlYjUwMjg4NTNhNTc5IgorCitTUkNfVVJJID0gImh0dHA6Ly9kb3dubG9hZC5saWdodHRwZC5uZXQvc3Bhd24tZmNnaS9yZWxlYXNlcy0xLjYueC9zcGF3bi1mY2dpLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9maXhfY29uZmlndXJlX2lwdjZfdGVzdC5wYXRjaCIKKworU1JDX1VSSVttZDVzdW1dID0gImU5NzBkZTRlZmU4MDQ1YzAxZGQ3NjI4MGYzOTkwMWFhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImFiMzI3NDYyY2I5OTg5NGEzNjk5Zjg3NDQyNWE0MjFkOTM0Zjk1N2NiMjQyMjFmMDBiYjg4ODEwOGQ5ZGQwOWUiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK1BBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5jb250YWlucygiRElTVFJPX0ZFQVRVUkVTIiwgImlwdjYiLCAiaXB2NiIsICIiLCBkKX0iCitQQUNLQUdFQ09ORklHW2lwdjZdID0gIi0tZW5hYmxlLWlwdjYsLS1kaXNhYmxlLWlwdjYsIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXdlYmFkbWluL3dlYm1pbi9maWxlcy9kaXNhYmxlLXZlcnNpb24tY2hlY2sucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtd2ViYWRtaW4vd2VibWluL2ZpbGVzL2Rpc2FibGUtdmVyc2lvbi1jaGVjay5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOWVlNDA1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXdlYmFkbWluL3dlYm1pbi9maWxlcy9kaXNhYmxlLXZlcnNpb24tY2hlY2sucGF0Y2gKQEAgLTAsMCArMSw0NSBAQAorRGlzYWJsZSBPUyB2ZXJzaW9uIGNoZWNrIGluIHN0YXR1cyBzY3JlZW4KKworVGhlIGNvZGUgaXMgbm90IGFibGUgdG8gYWNjdXJhdGVseSBkZXRlY3QgdGhlIGNvcnJlY3QgZGlzdHJvL3ZlcnNpb24gYXQKK3RoZSBtb21lbnQuCisKK1Vwc3RyZWFtLXN0YXR1czogSW5hcHByb3ByaWF0ZQorCitTaWduZWQtb2ZmLWJ5OiBQYXVsIEVnZ2xldG9uIDxwYXVsLmVnZ2xldG9uQGxpbnV4LmludGVsLmNvbT4KKworZGlmZiAtLWdpdCBhL3dlYm1pbi93ZWJtaW4tbGliLnBsIGIvd2VibWluL3dlYm1pbi1saWIucGwKK2luZGV4IDU3YTM3ZjcuLjgzOGI5NDQgMTAwNzU1CistLS0gYS93ZWJtaW4vd2VibWluLWxpYi5wbAorKysrIGIvd2VibWluL3dlYm1pbi1saWIucGwKK0BAIC0xMDU5LDE4ICsxMDU5LDE5IEBAIG15ICVtaW5pc2VydjsKKyAmbG9hZF90aGVtZV9saWJyYXJ5KCk7CSMgU28gdGhhdCBVSSBmdW5jdGlvbnMgd29yaworIAorICMgTmVlZCBPUyB1cGdyYWRlCistbXkgJXJlYWxvcyA9ICZkZXRlY3Rfb3BlcmF0aW5nX3N5c3RlbSh1bmRlZiwgMSk7CistaWYgKCgkcmVhbG9zeydvc192ZXJzaW9uJ30gbmUgJGdjb25maWd7J29zX3ZlcnNpb24nfSB8fAorLSAgICAgJHJlYWxvc3snb3NfdHlwZSd9IG5lICRnY29uZmlneydvc190eXBlJ30pICYmCistICAgICRyZWFsb3N7J29zX3ZlcnNpb24nfSAmJiAkcmVhbG9zeydvc190eXBlJ30gJiYKKy0gICAgJmZvcmVpZ25fYXZhaWxhYmxlKCJ3ZWJtaW4iKSkgeworLQlwdXNoKEBub3RpZnMsIAorLQkJJnVpX2Zvcm1fc3RhcnQoIiRnY29uZmlneyd3ZWJwcmVmaXgnfS93ZWJtaW4vZml4X29zLmNnaSIpLgorLQkJJnRleHQoJ29zX2luY29ycmVjdCcsICRyZWFsb3N7J3JlYWxfb3NfdHlwZSd9LAorLQkJCQkgICAgJHJlYWxvc3sncmVhbF9vc192ZXJzaW9uJ30pLiI8cD5cbiIuCistCQkmdWlfZm9ybV9lbmQoWyBbIHVuZGVmLCAkdGV4dHsnb3NfZml4J30gXSBdKQorLQkJKTsKKy0JfQorKyMgRGlzYWJsZWQgZm9yIG5vdyBhcyBvcy1jaG9vc2VyLnBsIGRvZXMgbm90IHdvcmsgb24gb3VyIHN5c3RlbQorKyNteSAlcmVhbG9zID0gJmRldGVjdF9vcGVyYXRpbmdfc3lzdGVtKHVuZGVmLCAxKTsKKysjaWYgKCgkcmVhbG9zeydvc192ZXJzaW9uJ30gbmUgJGdjb25maWd7J29zX3ZlcnNpb24nfSB8fAorKyMgICAgICRyZWFsb3N7J29zX3R5cGUnfSBuZSAkZ2NvbmZpZ3snb3NfdHlwZSd9KSAmJgorKyMgICAgJHJlYWxvc3snb3NfdmVyc2lvbid9ICYmICRyZWFsb3N7J29zX3R5cGUnfSAmJgorKyMgICAgJmZvcmVpZ25fYXZhaWxhYmxlKCJ3ZWJtaW4iKSkgeworKyMJcHVzaChAbm90aWZzLCAKKysjCQkmdWlfZm9ybV9zdGFydCgiJGdjb25maWd7J3dlYnByZWZpeCd9L3dlYm1pbi9maXhfb3MuY2dpIikuCisrIwkJJnRleHQoJ29zX2luY29ycmVjdCcsICRyZWFsb3N7J3JlYWxfb3NfdHlwZSd9LAorKyMJCQkJICAgICRyZWFsb3N7J3JlYWxfb3NfdmVyc2lvbid9KS4iPHA+XG4iLgorKyMJCSZ1aV9mb3JtX2VuZChbIFsgdW5kZWYsICR0ZXh0eydvc19maXgnfSBdIF0pCisrIwkJKTsKKysjCX0KKyAKKyAjIFBhc3N3b3JkIGNsb3NlIHRvIGV4cGlyeQorIG15ICR3YXJuX2RheXMgPSAkY29uZmlneyd3YXJuX2RheXMnfTsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy13ZWJhZG1pbi93ZWJtaW4vZmlsZXMvZXhwb3J0cy1saWIucGwucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtd2ViYWRtaW4vd2VibWluL2ZpbGVzL2V4cG9ydHMtbGliLnBsLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE3N2Q4YTMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtd2ViYWRtaW4vd2VibWluL2ZpbGVzL2V4cG9ydHMtbGliLnBsLnBhdGNoCkBAIC0wLDAgKzEsMzIgQEAKK0Zyb20gN2ViYTRjOThjNjk1M2ZhNmVhNzZjMTYyMGQxOTUyNGJjZmEzYTU3NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtldmluIFN0cmFzc2VyIDxrZXZpbi5zdHJhc3NlckBsaW51eC5pbnRlbC5jb20+CitEYXRlOiBXZWQsIDEgQXVnIDIwMTIgMTE6NTE6MjYgLTA3MDAKK1N1YmplY3Q6IFtQQVRDSF0gbmZzIGV4cG9ydDogcmVtb3ZlIG5mc2QgY2hlY2sKKworbmZzZCBydW5zIGFzIGEga2VybmVsIHByb2Nlc3MgYW5kIGRvZXMgbm90IGhhdmUgYSBwaWQuIFRoaXMgbWVhbnMKK3RoYXQgdGhlIGNvbW1hbmQgYXNzaWduZWQgdG8gYXBwbHlfY21kIHdpbGwgbmV2ZXIgYmUgZXhlY3V0ZWQgd2hlbgordGhlIHVzZXIgdHJpZXMgdG8gYXBwbHkgY2hhbmdlcyB0byBuZnMgZXhwb3J0cy4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWddCisKK1NpZ25lZC1vZmYtYnk6IEtldmluIFN0cmFzc2VyIDxrZXZpbi5zdHJhc3NlckBsaW51eC5pbnRlbC5jb20+CistLS0KKyBleHBvcnRzL2V4cG9ydHMtbGliLnBsIHwgICAgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvZXhwb3J0cy9leHBvcnRzLWxpYi5wbCBiL2V4cG9ydHMvZXhwb3J0cy1saWIucGwKK2luZGV4IDIyODkxYzAuLjFjNjc0OTQgMTAwNzU1CistLS0gYS9leHBvcnRzL2V4cG9ydHMtbGliLnBsCisrKysgYi9leHBvcnRzL2V4cG9ydHMtbGliLnBsCitAQCAtMjczLDcgKzI3Myw3IEBAIHJldHVybiAhJmhhc19jb21tYW5kKCJycGMubmZzZCIpICYmICEmaGFzX2NvbW1hbmQoIm5mc2QiKSAmJgorIHN1YiByZXN0YXJ0X21vdW50ZAorIHsKKyAjIFRyeSBleHBvcnRmcyAtciBmaXJzdAorLWlmICgkY29uZmlneydhcHBseV9jbWQnfSAmJiAmZmluZF9ieW5hbWUoIm5mc2QiKSAmJiAmZmluZF9ieW5hbWUoIm1vdW50ZCIpKSB7CisraWYgKCRjb25maWd7J2FwcGx5X2NtZCd9ICYmICZmaW5kX2J5bmFtZSgibW91bnRkIikpIHsKKyAJbXkgJG91dCA9ICZiYWNrcXVvdGVfbG9nZ2VkKCIkY29uZmlneydhcHBseV9jbWQnfSAyPiYxIDwvZGV2L251bGwiKTsKKyAJaWYgKCEkPyAmJiAkb3V0ICF+IC9pbnZhbGlkfGVycm9yfGZhaWxlZC9pKSB7CisgCQkjIExvb2tzIGxpa2UgaXQgd29ya2VkIQorLS0gCisxLjcuOS41CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy13ZWJhZG1pbi93ZWJtaW4vZmlsZXMvaW5pdC1leGNsdWRlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXdlYmFkbWluL3dlYm1pbi9maWxlcy9pbml0LWV4Y2x1ZGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTU2MzIyNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy13ZWJhZG1pbi93ZWJtaW4vZmlsZXMvaW5pdC1leGNsdWRlLnBhdGNoCkBAIC0wLDAgKzEsNzggQEAKKyMgSGFjayBpbiBzdXBwb3J0IGZvciBhbiAiZXhjbHVkZSIgY29uZmlnIG9wdGlvbiBmb3IgdGhlIGluaXQgbW9kdWxlLCBzbworIyB3ZSBjYW4gaGlkZSBjZXJ0YWluIHN5c3RlbSBzZXJ2aWNlcyB0aGF0IHNob3VsZG4ndCByZWFsbHkgYmUgY29uZmlndXJhYmxlCisjIHZpYSB0aGUgd2ViIGludGVyZmFjZQorIworIyBVcHN0cmVhbS1zdGF0dXM6IFBlbmRpbmcKKyMKKyMgU2lnbmVkLW9mZi1ieTogUGF1bCBFZ2dsZXRvbiA8cGF1bC5lZ2dsZXRvbkBsaW51eC5pbnRlbC5jb20+CisjIFNpZ25lZC1vZmYtYnk6IEphY2tpZSBIdWFuZyA8amFja2llLmh1YW5nQHdpbmRyaXZlci5jb20+CistLS0KKyBpbml0L2luZGV4LmNnaSAgIHwgMjcgKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tCisgaW5pdC9pbml0LWxpYi5wbCB8ICA1ICsrKy0tCisgMiBmaWxlcyBjaGFuZ2VkLCAxNyBpbnNlcnRpb25zKCspLCAxNSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2luaXQvaW5kZXguY2dpIGIvaW5pdC9pbmRleC5jZ2kKK2luZGV4IGQ0OGI3OTMuLjMwZGFmZDQgMTAwNzU1CistLS0gYS9pbml0L2luZGV4LmNnaQorKysrIGIvaW5pdC9pbmRleC5jZ2kKK0BAIC00NSwxOSArNDUsMjAgQEAgZWxzaWYgKCRpbml0X21vZGUgZXEgImluaXQiICYmICRhY2Nlc3N7J2Jvb3R1cCd9KSB7CisgCQkJCQkgICAgIDogIiRjb25maWd7J2luaXRfZGlyJ30vJGFjWzBdIik7CisgCQl9CisgCUBydW5sZXZlbHMgPSAmbGlzdF9ydW5sZXZlbHMoKTsKKy0JZm9yZWFjaCAkciAoQHJ1bmxldmVscykgeworLQkJZm9yZWFjaCAkdyAoIlMiLCAiSyIpIHsKKy0JCQlmb3JlYWNoICRhICgmcnVubGV2ZWxfYWN0aW9ucygkciwgJHcpKSB7CistCQkJCUBhYyA9IHNwbGl0KC9ccysvLCAkYSk7CistCQkJCWlmICghJG5vZGVtYXB7JGFjWzJdfSkgeworLQkJCQkJcHVzaChAYWN0cywgJGFjWzFdKTsKKy0JCQkJCXB1c2goQGFjdHNsLAorLQkJCQkJICAgICAiMSskciskYWNbMF0rJGFjWzFdKyRhY1syXSskdyIpOworLQkJCQkJcHVzaChAYWN0c2YsICIkY29uZmlneydpbml0X2Jhc2UnfS9yYyRyLmQvJHckYWNbMF0kYWNbMV0iKTsKKy0JCQkJCX0KKy0JCQkJfQorLQkJCX0KKy0JCX0KKysJIyBBc3N1bWUgdGhlcmUgd29uJ3QgYmUgYW55IG9mIHRoZXNlIGJyb2tlbiBhY3Rpb25zCisrCSNmb3JlYWNoICRyIChAcnVubGV2ZWxzKSB7CisrCSMJZm9yZWFjaCAkdyAoIlMiLCAiSyIpIHsKKysJIwkJZm9yZWFjaCAkYSAoJnJ1bmxldmVsX2FjdGlvbnMoJHIsICR3KSkgeworKwkjCQkJQGFjID0gc3BsaXQoL1xzKy8sICRhKTsKKysJIwkJCWlmICghJG5vZGVtYXB7JGFjWzJdfSkgeworKwkjCQkJCXB1c2goQGFjdHMsICRhY1sxXSk7CisrCSMJCQkJcHVzaChAYWN0c2wsCisrCSMJCQkJICAgICAiMSskciskYWNbMF0rJGFjWzFdKyRhY1syXSskdyIpOworKwkjCQkJCXB1c2goQGFjdHNmLCAiJGNvbmZpZ3snaW5pdF9iYXNlJ30vcmMkci5kLyR3JGFjWzBdJGFjWzFdIik7CisrCSMJCQkJfQorKwkjCQkJfQorKwkjCQl9CisrCSMJfQorIAorIAkjIEZvciBlYWNoIGFjdGlvbiwgbG9vayBhdCAvZXRjL3JjKi5kLyogZmlsZXMgdG8gc2VlIGlmIGl0IGlzIAorIAkjIHN0YXJ0ZWQgYXQgYm9vdAorZGlmZiAtLWdpdCBhL2luaXQvaW5pdC1saWIucGwgYi9pbml0L2luaXQtbGliLnBsCitpbmRleCBlYWQyMWVkLi5iNDE3OTRiIDEwMDc1NQorLS0tIGEvaW5pdC9pbml0LWxpYi5wbAorKysrIGIvaW5pdC9pbml0LWxpYi5wbAorQEAgLTExOSw4ICsxMTksOSBAQCBMaXN0IGJvb3QgdGltZSBhY3Rpb24gbmFtZXMgZnJvbSBpbml0LmQsIHN1Y2ggYXMgaHR0cGQgYW5kIGNyb24uCisgPWN1dAorIHN1YiBsaXN0X2FjdGlvbnMKKyB7CistbG9jYWwoJGRpciwgJGYsIEBzdGJ1ZiwgQHJ2KTsKKytsb2NhbCgkZGlyLCAkZiwgQHN0YnVmLCBAcnYsIEBleGNsdWRlKTsKKyAkZGlyID0gJGNvbmZpZ3tpbml0X2Rpcn07CisrQGV4Y2x1ZGUgPSBzcGxpdCgvLC8sICRjb25maWd7ZXhjbHVkZX0pOworIG9wZW5kaXIoRElSLCAkZGlyKTsKKyBmb3JlYWNoICRmIChzb3J0IHsgbGMoJGEpIGNtcCBsYygkYikgfSByZWFkZGlyKERJUikpIHsKKyAJaWYgKCRmIGVxICIuIiB8fCAkZiBlcSAiLi4iIHx8ICRmID1+IC9cLmJhayQvIHx8ICRmIGVxICJmdW5jdGlvbnMiIHx8CitAQCAtMTI4LDcgKzEyOSw3IEBAIGZvcmVhY2ggJGYgKHNvcnQgeyBsYygkYSkgY21wIGxjKCRiKSB9IHJlYWRkaXIoRElSKSkgeworIAkgICAgLWQgIiRkaXIvJGYiIHx8ICRmID1+IC9cLnN3cCQvIHx8ICRmIGVxICJza2VsZXRvbiIgfHwKKyAJICAgICRmID1+IC9cLmxvY2skLyB8fCAkZiA9fiAvXC5kcGtnLShvbGR8ZGlzdCkkLyB8fAorIAkgICAgJGYgPX4gL15cLmRlcGVuZFwuLyB8fCAkZiBlcSAnLmxlZ2FjeS1ib290b3JkZXJpbmcnIHx8CistCSAgICAkZiA9fiAvXm1hbmRyYWtlLykgeyBuZXh0OyB9CisrCSAgICAkZiA9fiAvXm1hbmRyYWtlLyB8fCBncmVwIHskXyBlcSAkZn0gQGV4Y2x1ZGUgKSB7IG5leHQ7IH0KKyAJaWYgKEBzdGJ1ZiA9IHN0YXQoIiRkaXIvJGYiKSkgeworIAkJcHVzaChAcnYsICIkZiAkc3RidWZbMV0iKTsKKyAJCX0KKy0tCisyLjAuMAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtd2ViYWRtaW4vd2VibWluL2ZpbGVzL21lZGlhLXRvbWIucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtd2ViYWRtaW4vd2VibWluL2ZpbGVzL21lZGlhLXRvbWIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDZmMzEwOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy13ZWJhZG1pbi93ZWJtaW4vZmlsZXMvbWVkaWEtdG9tYi5wYXRjaApAQCAtMCwwICsxLDY1IEBACitkaWZmIC1OcnUgd2VibWluLTEuNTcwLmJhay9tZWRpYXRvbWIvaW5kZXguY2dpIHdlYm1pbi0xLjU3MC9tZWRpYXRvbWIvaW5kZXguY2dpCistLS0gd2VibWluLTEuNTcwLmJhay9tZWRpYXRvbWIvaW5kZXguY2dpCTE5NjktMTItMzEgMTY6MDA6MDAuMDAwMDAwMDAwIC0wODAwCisrKysgd2VibWluLTEuNTcwL21lZGlhdG9tYi9pbmRleC5jZ2kJMjAxMS0xMC0yNiAxMDowMDowNS45OTI1MjIwMzYgLTA3MDAKK0BAIC0wLDAgKzEsMTMgQEAKKysjIS91c3IvYmluL3BlcmwKKysjIGluZGV4LmNnaQorKyMgRGlzcGxheSBNZWRpYVRvbWIgb3B0aW9uIGNhdGVnb3JpZXMKKysKKytyZXF1aXJlICcuL21lZGlhdG9tYi1saWIucGwnOworKworK3VpX3ByaW50X2hlYWRlcih1bmRlZiwgJHRleHR7J2luZGV4X3RpdGxlJ30sICIiLCB1bmRlZiwgMSwgMSk7CisrCisrCisrJGlwYWRkcmVzcyA9ICZnZXRfbXlfYWRkcmVzcygpOworK3ByaW50ICZ0ZXh0KCdpbmRleF9kZXNjJywgJGlwYWRkcmVzcyksIjxwPlxuIjsKKysKKyt1aV9wcmludF9mb290ZXIoIi8iLCAkdGV4dHsnaW5kZXgnfSk7CitkaWZmIC1OcnUgd2VibWluLTEuNTcwLmJhay9tZWRpYXRvbWIvbGFuZy9lbiB3ZWJtaW4tMS41NzAvbWVkaWF0b21iL2xhbmcvZW4KKy0tLSB3ZWJtaW4tMS41NzAuYmFrL21lZGlhdG9tYi9sYW5nL2VuCTE5NjktMTItMzEgMTY6MDA6MDAuMDAwMDAwMDAwIC0wODAwCisrKysgd2VibWluLTEuNTcwL21lZGlhdG9tYi9sYW5nL2VuCTIwMTEtMTAtMjYgMTA6MDE6MTMuMzQwNTIyMTg2IC0wNzAwCitAQCAtMCwwICsxLDIgQEAKKytpbmRleF90aXRsZT1NZWRpYVRvbWIKKytpbmRleF9kZXNjPU1lZGlhVG9tYiBpcyBhbiBvcGVuIHNvdXJjZSAoR1BMKSBVUG5QIE1lZGlhU2VydmVyIHdpdGggYSBuaWNlIHdlYiB1c2VyIGludGVyZmFjZS4gWW91IGNhbiBhY2Nlc3MgaXQgdmlhIDxhIGhyZWY9J2h0dHA6Ly8kMTo0OTE1Myc+aGVyZTwvYT4uCitkaWZmIC1OcnUgd2VibWluLTEuNTcwLmJhay9tZWRpYXRvbWIvbWVkaWF0b21iLWxpYi5wbCB3ZWJtaW4tMS41NzAvbWVkaWF0b21iL21lZGlhdG9tYi1saWIucGwKKy0tLSB3ZWJtaW4tMS41NzAuYmFrL21lZGlhdG9tYi9tZWRpYXRvbWItbGliLnBsCTE5NjktMTItMzEgMTY6MDA6MDAuMDAwMDAwMDAwIC0wODAwCisrKysgd2VibWluLTEuNTcwL21lZGlhdG9tYi9tZWRpYXRvbWItbGliLnBsCTIwMTEtMTAtMjYgMTA6MDE6MzQuNjkyNTIyMDc5IC0wNzAwCitAQCAtMCwwICsxLDMxIEBACisrIyEvdXNyL2Jpbi9wZXJsCisrIyBtZWRpYXRvbWItbGliLnBsCisrIyBDb21tb24gZnVuY3Rpb25zIGZvciB0aGUgTWVkaWFUb21iIG1vZHVsZQorKworK0JFR0lOIHsgcHVzaChASU5DLCAiLi4iKTsgfTsKKyt1c2UgV2VibWluQ29yZTsKKysmaW5pdF9jb25maWcoKTsKKysKKytzdWIgZ2V0X215X2FkZHJlc3MKKyt7CisrbXkgJG15aXA7CisraWYgKCZmb3JlaWduX2NoZWNrKCJuZXQiKSkgeworKyAgICAgICAgIyBUcnkgdG8gZ2V0IGV0aGVybmV0IGludGVyZmFjZQorKyAgICAgICAgJmZvcmVpZ25fcmVxdWlyZSgibmV0IiwgIm5ldC1saWIucGwiKTsKKysgICAgICAgIG15IEBhY3QgPSAmbmV0OjphY3RpdmVfaW50ZXJmYWNlcygpOworKyAgICAgICAgbXkgQGlmYWNlcyA9IGdyZXAgeyAmbmV0OjppZmFjZV90eXBlKCRfLT57J2Z1bGxuYW1lJ30pID1+IC9ldGhlci9pIH0KKysgICAgICAgICAgICAgICAgICAgICAgICAgIEBhY3Q7CisrICAgICAgICBAaWZhY2VzID0gKCAkYWN0WzBdICkgaWYgKCFAaWZhY2VzICYmIEBhY3QpOworKyAgICAgICAgaWYgKEBpZmFjZXMpIHsKKysgICAgICAgICAgICAgICAgcmV0dXJuIHdhbnRhcnJheSA/ICggbWFwIHsgJF8tPnsnYWRkcmVzcyd9IH0gQGlmYWNlcyApCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkaWZhY2VzWzBdLT57J2FkZHJlc3MnfTsKKysgICAgICAgICAgICAgICAgfQorKyAgICAgICAgfQorKyRteWlwID0gJnRvX2lwYWRkcmVzcygmZ2V0X3N5c3RlbV9ob3N0bmFtZSgpKTsKKytpZiAoJG15aXApIHsKKysgICAgICAgICMgQ2FuIHJlc29sdmUgaG9zdG5hbWUgLi4gdXNlIHRoYXQKKysgICAgICAgIHJldHVybiB3YW50YXJyYXkgPyAoICRteWlwICkgOiAkbXlpcDsKKysgICAgICAgIH0KKytyZXR1cm4gd2FudGFycmF5ID8gKCApIDogdW5kZWY7CisrfQorKworZGlmZiAtTnJ1IHdlYm1pbi0xLjU3MC5iYWsvbWVkaWF0b21iL21vZHVsZS5pbmZvIHdlYm1pbi0xLjU3MC9tZWRpYXRvbWIvbW9kdWxlLmluZm8KKy0tLSB3ZWJtaW4tMS41NzAuYmFrL21lZGlhdG9tYi9tb2R1bGUuaW5mbwkxOTY5LTEyLTMxIDE2OjAwOjAwLjAwMDAwMDAwMCAtMDgwMAorKysrIHdlYm1pbi0xLjU3MC9tZWRpYXRvbWIvbW9kdWxlLmluZm8JMjAxMS0xMC0yNiAwOTo1OTo1MC40Mjg1MjgzNjkgLTA3MDAKK0BAIC0wLDAgKzEsMyBAQAorK2Rlc2M9TWVkaWFUb21iCisrY2F0ZWdvcnk9b3RoZXJzCisrbG9uZ2Rlc2M9TWVkaWFUb21iIGFjY2VzcyBtb2R1bGUKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy13ZWJhZG1pbi93ZWJtaW4vZmlsZXMvbW91bnQtZXhjbHVkZWZzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXdlYmFkbWluL3dlYm1pbi9maWxlcy9tb3VudC1leGNsdWRlZnMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGNiNzRjNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy13ZWJhZG1pbi93ZWJtaW4vZmlsZXMvbW91bnQtZXhjbHVkZWZzLnBhdGNoCkBAIC0wLDAgKzEsMjUgQEAKK0FkZCBleGNsdWRlZnMgY29uZmlnIG9wdGlvbiB0byBtb3VudCBtb2R1bGUKKworQWRkcyBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIChjdXJyZW50bHkgaGlkZGVuKSB0byBhbGxvdyB0aGUgZGlzdHJvIHRvCitoaWRlIGNlcnRhaW4gZmlsZXN5c3RlbXMgZnJvbSB0aGUgbW91bnQgbW9kdWxlIHdpdGhpbiBXZWJtaW4gKGUuZy4gL2RldikKK3NpbmNlIHRoZXNlIHNob3VsZG4ndCBiZSBtb2RpZmllZCBmcm9tIHRoZSB3ZWIgaW50ZXJmYWNlLgorCitTaWduZWQtb2ZmLWJ5OiBQYXVsIEVnZ2xldG9uIDxwYXVsLmVnZ2xldG9uQGxpbnV4LmludGVsLmNvbT4KKworVXBzdHJlYW0tc3RhdHVzOiBQZW5kaW5nCisKKy0tLSB3ZWJtaW4tMS41NzAub3JpZy9tb3VudC9pbmRleC5jZ2kKKysrKyB3ZWJtaW4tMS41NzAvbW91bnQvaW5kZXguY2dpCitAQCAtMzMsMTAgKzMzLDEyIEBAIGVsc2lmICgkY29uZmlneydzb3J0X21vZGUnfSA9PSAxKSB7CisgCX0KKyAKKyAjIEJ1aWxkIHZpc2libGUgZmlsZXN5c3RlbXMgbGlzdAorK0BleGNsdWRlZnMgPSBzcGxpdCgvLC8sICRjb25maWd7ZXhjbHVkZWZzfSk7CisgZm9yZWFjaCAkbSAoQGFsbCkgeworIAlAbWluZm8gPSBAJG07CisgCSRwID0gJnNpbXBsaWZ5X21vdW50X3BhdGgoJG1pbmZvWzBdLCAkbWluZm9bMl0pOworIAluZXh0IGlmICgkaWdub3JleyRtaW5mb1syXX0pOworKwluZXh0IGlmIChncmVwIHskXyBlcSAkbWluZm9bMl19IEBleGNsdWRlZnMpOworIAlAbW1vZGVzID0gJm1vdW50X21vZGVzKCRtaW5mb1syXSwgJG1pbmZvWzBdLCAkbWluZm9bMV0pOworIAkkY2FuZWRpdCA9ICRjYW5fZWRpdHskbWluZm9bMl19ICYmICEkbW1vZGVzWzRdICYmCisgICAgICAgICAgICAgCSAgICZjYW5fZWRpdF9mcyhAbWluZm8pOwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXdlYmFkbWluL3dlYm1pbi9maWxlcy9teXNxbC1jb25maWctZml4LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXdlYmFkbWluL3dlYm1pbi9maWxlcy9teXNxbC1jb25maWctZml4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJjYmM2MjcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtd2ViYWRtaW4vd2VibWluL2ZpbGVzL215c3FsLWNvbmZpZy1maXgucGF0Y2gKQEAgLTAsMCArMSw1MCBAQAorRnJvbSA3MTkyMDZkZjYwNmFjZDdhNjIzZThkNzVkYTI5M2MyNTQ4OWI3ODg0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogRGllZ28gUm9uZGluaSA8ZGllZ28ubWxAem9oby5jb20+CitEYXRlOiBUaHUsIDE4IEZlYiAyMDE2IDE1OjQ0OjA2ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIEFkanVzdCBNeXNxbCBjb25maWcgZGVmYXVsdHMKKworVXBzdHJlYW0tc3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQorCitTaWduZWQtb2ZmLWJ5OiBEaWVnbyBSb25kaW5pIDxkaWVnby5tbEB6b2hvLmNvbT4KKy0tLQorIG15c3FsL2NvbmZpZyB8IDE4ICsrKysrKysrKy0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9teXNxbC9jb25maWcgYi9teXNxbC9jb25maWcKK2luZGV4IGU1YjZmYjMuLjc3YmZlNjkgMTAwNjQ0CistLS0gYS9teXNxbC9jb25maWcKKysrKyBiL215c3FsL2NvbmZpZworQEAgLTEsMTMgKzEsMTMgQEAKKy1zdGFydF9jbWQ9Y2QgL3Vzci9sb2NhbC9teXNxbCA7ICguL2Jpbi9zYWZlX215c3FsZCB8fCAuL2Jpbi9teXNxbGRfc2FmZSkgJgorK3N0YXJ0X2NtZD0vdXNyL2Jpbi9teXNxbGRfc2FmZQorIHBlcnBhZ2U9MjUKKy1teXNxbD0vdXNyL2xvY2FsL215c3FsL2Jpbi9teXNxbAorLW15c3FsZHVtcD0vdXNyL2xvY2FsL215c3FsL2Jpbi9teXNxbGR1bXAKKy1teXNxbGltcG9ydD0vdXNyL2xvY2FsL215c3FsL2Jpbi9teXNxbGltcG9ydAorLXBhc3M9Zm9vCistbXlzcWxzaG93PS91c3IvbG9jYWwvbXlzcWwvYmluL215c3Fsc2hvdworK215c3FsPS91c3IvYmluL215c3FsCisrbXlzcWxkdW1wPS91c3IvYmluL215c3FsZHVtcAorK215c3FsaW1wb3J0PS91c3IvYmluL215c3FsaW1wb3J0CisrcGFzcz0KKytteXNxbHNob3c9L3Vzci9iaW4vbXlzcWxzaG93CisgbG9naW49cm9vdAorLW15c3FsX2xpYnM9L3Vzci9sb2NhbC9teXNxbC9saWIKKy1teXNxbGFkbWluPS91c3IvbG9jYWwvbXlzcWwvYmluL215c3FsYWRtaW4KKytteXNxbF9saWJzPS91c3IvbGliCisrbXlzcWxhZG1pbj0vdXNyL2Jpbi9teXNxbGFkbWluCisgc3R5bGU9MAorIGFkZF9tb2RlPTEKKyBub2RiaT0wCitAQCAtMTUsNyArMTUsNyBAQCBhY2Nlc3M9KjogKgorIGJsb2JfbW9kZT0wCisgZGF0ZV9zdWJzPTAKKyBwYXNzd2RfbW9kZT0wCistbXlzcWxfZGF0YT0vdXNyL2xvY2FsL215c3FsL3ZhcgorK215c3FsX2RhdGE9L3Zhci9saWIvbXlzcWwKKyBtYXhfZGJzPTUwCisgbXlfY25mPS9ldGMvbXkuY25mCisgbWF4X3RleHQ9MTAwMAorLS0gCisyLjUuMAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtd2ViYWRtaW4vd2VibWluL2ZpbGVzL25ldC1nZW5lcmljLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXdlYmFkbWluL3dlYm1pbi9maWxlcy9uZXQtZ2VuZXJpYy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZDIwYWZmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXdlYmFkbWluL3dlYm1pbi9maWxlcy9uZXQtZ2VuZXJpYy5wYXRjaApAQCAtMCwwICsxLDIxIEBACisjIEFkZCBzdXBwb3J0IGZvciBjb25maWd1cmluZyBuZXR3b3JrIGludGVyZmFjZXMgb24gYSBnZW5lcmljIGxpbnV4IHN5c3RlbQorIworIyBVcHN0cmVhbS1zdGF0dXM6IE5vdCBhcHByb3ByaWF0ZSBbY29uZmlnXQorIworIyBTaWduZWQtb2ZmLWJ5OiBQYXVsIEVnZ2xldG9uIDxwYXVsLmVnZ2xldG9uQGxpbnV4LmludGVsLmNvbT4KKy0tLSB3ZWJtaW4tMS41NzAub3JpZy9uZXQvbW9kdWxlLmluZm8KKysrKyB3ZWJtaW4tMS41NzAvbmV0L21vZHVsZS5pbmZvCitAQCAtMTEsNyArMTEsNyBAQCBkZXNjX2tvX0tSLlVURi04PeuEpO2KuOybjO2BrCDqtazshLEKKyBuYW1lPU5ldHdvcmtpbmcKKyBkZXNjX3RyPUHwIFlhcP1sYW5k/XJtYXP9CisgZGVzY19kZT1OZXR6d2Vya2tvbmZpZ3VyYXRpb24KKy1vc19zdXBwb3J0PXNvbGFyaXMgY29oZXJlbnQtbGludXggcmVkaGF0LWxpbnV4LzUuMC0qIG1hbmRyYWtlLWxpbnV4IHVuaXRlZC1saW51eCBzdXNlLWxpbnV4LzYuMC0qIG9wZW4tbGludXggdW5peHdhcmUgdHVyYm8tbGludXgvNC4wIGZyZWVic2QvMy4yLSogb3BlbmJzZCBkZWJpYW4tbGludXgvMi4yLSogY29iYWx0LWxpbnV4LzIuMi0qIG1zYy1saW51eCBnZW50b28tbGludXggbWFjb3MvMS41LSogdHJ1c3RpeC1saW51eCBzbGFja3dhcmUtbGludXgvOC4wLSogb3Blbm1hbWJhLWxpbnV4IGN5Z3dpbiB3aW5kb3dzIHBhcmR1cy1saW51eAorK29zX3N1cHBvcnQ9Z2VuZXJpYy1saW51eCBzb2xhcmlzIGNvaGVyZW50LWxpbnV4IHJlZGhhdC1saW51eC81LjAtKiBtYW5kcmFrZS1saW51eCB1bml0ZWQtbGludXggc3VzZS1saW51eC82LjAtKiBvcGVuLWxpbnV4IHVuaXh3YXJlIHR1cmJvLWxpbnV4LzQuMCBmcmVlYnNkLzMuMi0qIG9wZW5ic2QgZGViaWFuLWxpbnV4LzIuMi0qIGNvYmFsdC1saW51eC8yLjItKiBtc2MtbGludXggZ2VudG9vLWxpbnV4IG1hY29zLzEuNS0qIHRydXN0aXgtbGludXggc2xhY2t3YXJlLWxpbnV4LzguMC0qIG9wZW5tYW1iYS1saW51eCBjeWd3aW4gd2luZG93cyBwYXJkdXMtbGludXgKKyBkZXNjX3NrPUtvbmZpZ3Vy4WNpYSBzaWV0ZQorIGRlc2NfemhfQ049zfjC58Xk1sMKKyByaXNrPWxvdyBtZWRpdW0gaGlnaAorLS0tIC9kZXYvbnVsbAorKysrIHdlYm1pbi0xLjU3MC9uZXQvZ2VuZXJpYy1saW51eC1saWIucGwKK0BAIC0wLDAgKzEsMiBAQAorK2RvICdsaW51eC1saWIucGwnOworKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXdlYmFkbWluL3dlYm1pbi9maWxlcy9uZXQtbGliLnBsLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXdlYmFkbWluL3dlYm1pbi9maWxlcy9uZXQtbGliLnBsLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJkYmE1ZTcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtd2ViYWRtaW4vd2VibWluL2ZpbGVzL25ldC1saWIucGwucGF0Y2gKQEAgLTAsMCArMSwxOSBAQAorVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWddCisKK1hYWDogbmVlZCB0byB3b3JrIG91dCBhIGJldHRlciBmaXguCisKK1NpZ25lZC1vZmYtYnk6IERleHVhbiBDdWkgPGRleHVhbi5jdWlAaW50ZWwuY29tPgorCitkaWZmIC1OcnUgd2VibWluLTEuNTcwLm9yaWcvL25ldC9uZXQtbGliLnBsIHdlYm1pbi0xLjU3MC9uZXQvbmV0LWxpYi5wbAorLS0tIHdlYm1pbi0xLjU3MC5vcmlnLy9uZXQvbmV0LWxpYi5wbAkyMDExLTEwLTAzIDA5OjAxOjQ4LjAwMDAwMDAwMCArMDgwMAorKysrIHdlYm1pbi0xLjU3MC9uZXQvbmV0LWxpYi5wbAkyMDExLTEwLTI4IDEzOjUyOjU2LjEzODg3MzY2NCArMDgwMAorQEAgLTIxLDcgKzIxLDggQEAKKyAJZG8gIiRnY29uZmlneydvc190eXBlJ30tOS4xLUFMTC1saWIucGwiOworIAl9CisgZWxzZSB7CistCWRvICIkZ2NvbmZpZ3snb3NfdHlwZSd9LWxpYi5wbCI7CisrCSNkbyAiJGdjb25maWd7J29zX3R5cGUnfS1saWIucGwiOworKwlkbyAiZGViaWFuLWxpbnV4LWxpYi5wbCI7CisgCX0KKyAKKyAjIGxpc3RfaG9zdHMoKQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXdlYmFkbWluL3dlYm1pbi9maWxlcy9uZnMtZXhwb3J0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXdlYmFkbWluL3dlYm1pbi9maWxlcy9uZnMtZXhwb3J0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMxN2UzYjIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtd2ViYWRtaW4vd2VibWluL2ZpbGVzL25mcy1leHBvcnQucGF0Y2gKQEAgLTAsMCArMSwzOSBAQAorY29tbWl0IGU0OGY2MWQyZjZkZjMyYTUxOGJjYjg0ZGI4YzZlYWNmZTU0MzVjMzIKK0F1dGhvcjogWXUgS2UgPGtlLnl1QGludGVsLmNvbT4KK0RhdGU6ICAgRnJpIE9jdCAyOCAxNDo0MDo1MSAyMDExICswODAwCisKK05GUyBleHBvcnQ6IGZpeCBzeW50YXggaXNzdWUKKworZml4IHR3byBzeW50YXggaXNzdWUgaW4gL2V0Yy9leHBvcnRzOgorMS4gaWYgaXQgaXMgZXhwb3J0ZWQgdG8gZXZlcnlvbmUsIHNob3VsZCB1c2UgIioiLCBlLmcuICIvZXhwb3J0ICAqKHh4eCkiCisyLiBleHBsaWNpdGx5IHNwZWNpZnkgc3VidHJlZV9jaGVjayBvciBub19zdWJ0cmVlX2NoZWNrLCByZXF1aXJlZCBieSBsYXRlc3QgbmZzLXV0aWxzCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBZdSBLZSA8a2UueXVAaW50ZWwuY29tPgorCitkaWZmIC0tZ2l0IGEvZXhwb3J0cy9zYXZlX2V4cG9ydC5jZ2kgYi9leHBvcnRzL3NhdmVfZXhwb3J0LmNnaQoraW5kZXggM2JjMmY5Ny4uM2U2MDI5OCAxMDA3NTUKKy0tLSBhL2V4cG9ydHMvc2F2ZV9leHBvcnQuY2dpCisrKysgYi9leHBvcnRzL3NhdmVfZXhwb3J0LmNnaQorQEAgLTQwLDcgKzQwLDcgQEAgZWxzZSB7CisgCQkJJmVycm9yKCZ0ZXh0KCdzYXZlX2VuZXRtYXNrJywgJGlueyduZXRtYXNrJ30pKTsKKyAJCSRleHB7J2hvc3QnfSA9ICRpbnsnbmV0d29yayd9LiIvIi4kaW57J25ldG1hc2snfTsKKyAJCX0KKy0JZWxzaWYgKCRpbnsnbW9kZSd9ID09IDMpIHsgJGV4cHsnaG9zdCd9ID0gIiI7IH0KKysJZWxzaWYgKCRpbnsnbW9kZSd9ID09IDMpIHsgJGV4cHsnaG9zdCd9ID0gIioiOyB9CisgCWVsc2UgeworIAkJJGlueydob3N0J30gPX4gL1wqLyB8fCAmdG9faXBhZGRyZXNzKCRpbnsnaG9zdCd9KSB8fAorIAkJCSZlcnJvcigmdGV4dCgnc2F2ZV9laG9zdCcsICRpbnsnaG9zdCd9KSk7CitAQCAtNzAsNiArNzAsMTEgQEAgZWxzZSB7CisgCisgCWRlbGV0ZSgkb3B0c3snbm9fc3VidHJlZV9jaGVjayd9KTsgZGVsZXRlKCRvcHRzeydzdWJ0cmVlX2NoZWNrJ30pOworIAkkb3B0c3snbm9fc3VidHJlZV9jaGVjayd9ID0gIiIgaWYgKCRpbnsnbm9fc3VidHJlZV9jaGVjayd9KTsKKysJaWYgKCRpbnsnbm9fc3VidHJlZV9jaGVjayd9KSB7CisrCQkkb3B0c3snbm9fc3VidHJlZV9jaGVjayd9ID0gIiI7CisrCX0gZWxzZSB7CisrCQkkb3B0c3snc3VidHJlZV9jaGVjayd9ID0gIiI7CisrCX0KKyAKKyAJZGVsZXRlKCRvcHRzeydub2hpZGUnfSk7IGRlbGV0ZSgkb3B0c3snaGlkZSd9KTsKKyAJJG9wdHN7J25vaGlkZSd9ID0gIiIgaWYgKCRpbnsnbm9oaWRlJ30pOwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXdlYmFkbWluL3dlYm1pbi9maWxlcy9wcm9mdHBkLWNvbmZpZy1maXgucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtd2ViYWRtaW4vd2VibWluL2ZpbGVzL3Byb2Z0cGQtY29uZmlnLWZpeC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OTJhNjUyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXdlYmFkbWluL3dlYm1pbi9maWxlcy9wcm9mdHBkLWNvbmZpZy1maXgucGF0Y2gKQEAgLTAsMCArMSwxOCBAQAorVXBzdHJlYW0tc3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQorCitTaWduZWQtb2ZmLWJ5OiBaaGFpIEVkd2luIDxlZHdpbi56aGFpQGludGVsLmNvbT4KKworSW5kZXg6IHdlYm1pbi0xLjU3MC9wcm9mdHBkL2NvbmZpZworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHdlYm1pbi0xLjU3MC5vcmlnL3Byb2Z0cGQvY29uZmlnCTIwMTEtMTAtMjUgMjA6MTg6MzcuMDAwMDAwMDAwICswODAwCisrKysgd2VibWluLTEuNTcwL3Byb2Z0cGQvY29uZmlnCTIwMTEtMTAtMjUgMjA6MjE6MTMuMDAwMDAwMDAwICswODAwCitAQCAtMSw2ICsxLDYgQEAKKy1wcm9mdHBkX3BhdGg9L3Vzci9sb2NhbC9zYmluL3Byb2Z0cGQKKy1wcm9mdHBkX2NvbmY9L3Vzci9sb2NhbC9ldGMvcHJvZnRwZC5jb25mCistcGlkX2ZpbGU9L3Vzci9sb2NhbC92YXIvcHJvZnRwZC5waWQKKytwcm9mdHBkX3BhdGg9L3Vzci9zYmluL3Byb2Z0cGQKKytwcm9mdHBkX2NvbmY9L2V0Yy9wcm9mdHBkLmNvbmYKKytwaWRfZmlsZT0vdmFyL3Byb2Z0cGQucGlkCisgZnRwdXNlcnM9L2V0Yy9mdHB1c2VycworIHRlc3RfY29uZmlnPTEKKyB0ZXN0X2Fsd2F5cz0wCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtd2ViYWRtaW4vd2VibWluL2ZpbGVzL3JlbW92ZS1weXRob24yLjMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtd2ViYWRtaW4vd2VibWluL2ZpbGVzL3JlbW92ZS1weXRob24yLjMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzVlNWJkMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy13ZWJhZG1pbi93ZWJtaW4vZmlsZXMvcmVtb3ZlLXB5dGhvbjIuMy5wYXRjaApAQCAtMCwwICsxLDI1IEBACitGcm9tIDZmMDQ2OTlkNWQ0MTcxMjJiNjdlODExOGZkMTk1NWM3NjlmMTdlNzYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFR1ZSwgMiBTZXAgMjAxNCAwMDoxMTowNSAtMDcwMAorU3ViamVjdDogW1BBVENIXSBhamF4dGVybS9hamF4dGVybS9xd2ViLnB5OiBmaXggaGFyZGNvZGUgb2YgcHl0aG9uMi4zCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KKy0tLQorIGFqYXh0ZXJtL2FqYXh0ZXJtL3F3ZWIucHkgfCAgICAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9hamF4dGVybS9hamF4dGVybS9xd2ViLnB5IGIvYWpheHRlcm0vYWpheHRlcm0vcXdlYi5weQoraW5kZXggMjBjNTA5Mi4uYzY1OGE2YiAxMDA2NDQKKy0tLSBhL2FqYXh0ZXJtL2FqYXh0ZXJtL3F3ZWIucHkKKysrKyBiL2FqYXh0ZXJtL2FqYXh0ZXJtL3F3ZWIucHkKK0BAIC0xLDQgKzEsNCBAQAorLSMhL3Vzci9iaW4vcHl0aG9uMi4zCisrIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCisgIworICMgdmltOnNldCBldCB0cz00IGZkYz0wIGZkbj0yIGZkbD0wOgorICMKKy0tIAorMS43LjkuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtd2ViYWRtaW4vd2VibWluL2ZpbGVzL3JlbW92ZS1zdGFydHVwLW9wdGlvbi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy13ZWJhZG1pbi93ZWJtaW4vZmlsZXMvcmVtb3ZlLXN0YXJ0dXAtb3B0aW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ5NTdmNGEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtd2ViYWRtaW4vd2VibWluL2ZpbGVzL3JlbW92ZS1zdGFydHVwLW9wdGlvbi5wYXRjaApAQCAtMCwwICsxLDI5IEBACisjIFJlbW92ZSAic3RhcnQgb24gYm9vdCIgb3B0aW9uIGZyb20gd2VibWluIGNvbmZpZ3VyYXRpb24sIGFzCisjIGVuZC11c2VycyBzaG91bGQgbm90IG5lZWQgdG8gY29uZmlndXJlIHRoaXMgZnJvbSB0aGUgd2ViIGludGVyZmFjZQorIworIyBVcHN0cmVhbS1zdGF0dXM6IEluYXBwcm9wcmlhdGUKKyMKKyMgU2lnbmVkLW9mZi1ieTogUGF1bCBFZ2dsZXRvbiA8cGF1bC5lZ2dsZXRvbkBsaW51eC5pbnRlbC5jb20+CistLS0gd2VibWluLTEuNTcwLm9yaWcvd2VibWluL2luZGV4LmNnaQorKysrIHdlYm1pbi0xLjU3MC93ZWJtaW4vaW5kZXguY2dpCitAQCAtNzksMjAgKzc5LDYgQEAgcHJpbnQgJnVpX2J1dHRvbnNfc3RhcnQoKTsKKyBteSAlbWluaXNlcnY7CisgJmdldF9taW5pc2Vydl9jb25maWcoXCVtaW5pc2Vydik7CisgCistaWYgKCZmb3JlaWduX2NoZWNrKCJpbml0IikpIHsKKy0JJmZvcmVpZ25fcmVxdWlyZSgiaW5pdCIpOworLQlteSAkc3RhcnRpbmcgPSAmaW5pdDo6YWN0aW9uX3N0YXR1cygid2VibWluIik7CistCXByaW50ICZ1aV9idXR0b25zX3JvdygiYm9vdHVwLmNnaSIsCistCSAgICAgICR0ZXh0eydpbmRleF9ib290J30sCistCSAgICAgICR0ZXh0eydpbmRleF9ib290bXNnJ30uCistCSAgICAgICgkbWluaXNlcnZ7J2luZXRkJ30gPyAiPGI+JHRleHR7J2luZGV4X2luZXRkJ308L2I+IiA6CistCSAgICAgICAhJEVOVnsnTUlOSVNFUlZfQ09ORklHJ30gPyAiPGI+JHRleHR7J2luZGV4X2FwYWNoZSd9PC9iPiIgOiAiIiksCistCSAgICAgICZ1aV9oaWRkZW4oInN0YXJ0aW5nIiwgJHN0YXJ0aW5nKSwKKy0JICAgICAgJnVpX3JhZGlvKCJib290IiwgJHN0YXJ0aW5nID09IDIgPyAxIDogMCwKKy0JCQlbIFsgMSwgJHRleHR7J3llcyd9IF0sCistCQkJICBbIDAsICR0ZXh0eydubyd9IF0gXSkpOworLQl9CistCisgIyBSZXN0YXJ0IFdlYm1pbgorIGlmICghJG1pbmlzZXJ2eydpbmV0ZCd9ICYmICRFTlZ7J01JTklTRVJWX0NPTkZJRyd9KSB7CisgCXByaW50ICZ1aV9idXR0b25zX3JvdygicmVzdGFydC5jZ2kiLApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXdlYmFkbWluL3dlYm1pbi9maWxlcy9zYW1iYS1jb25maWctZml4LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXdlYmFkbWluL3dlYm1pbi9maWxlcy9zYW1iYS1jb25maWctZml4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ2NjQ1YWMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtd2ViYWRtaW4vd2VibWluL2ZpbGVzL3NhbWJhLWNvbmZpZy1maXgucGF0Y2gKQEAgLTAsMCArMSwzMiBAQAorVXBzdHJlYW0tc3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQorCitTaWduZWQtb2ZmLWJ5OiBaaGFpIEVkd2luIDxlZHdpbi56aGFpQGludGVsLmNvbT4KKworSW5kZXg6IHdlYm1pbi0xLjU3MC9zYW1iYS9jb25maWctZ2VuZXJpYy1saW51eAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHdlYm1pbi0xLjU3MC5vcmlnL3NhbWJhL2NvbmZpZy1nZW5lcmljLWxpbnV4CTIwMTEtMTAtMjUgMjA6MTE6MzUuMDAwMDAwMDAwICswODAwCisrKysgd2VibWluLTEuNTcwL3NhbWJhL2NvbmZpZy1nZW5lcmljLWxpbnV4CTIwMTEtMTAtMjUgMjA6MTU6NDEuMDAwMDAwMDAwICswODAwCitAQCAtMSwxNSArMSwxNSBAQAorIGxpc3RfcHJpbnRlcnNfY29tbWFuZD1scGMgc3RhdHVzIHwgZ3JlcCAiW0EtejAtOV06IiB8IHNlZCAtZSAncy86Ly9nJworLXNtYl9wYXNzd2Q9L3Vzci9sb2NhbC9zYW1iYS9wcml2YXRlL3NtYnBhc3N3ZAorK3NtYl9wYXNzd2Q9L3Vzci9iaW4vc21icGFzc3dkCisgdGV4dF9saXN0cz0wCisgZG9udF9jb252ZXJ0PS00OTkKKy1uYW1lX3NlcnZlcj0vdXNyL2xvY2FsL3NhbWJhL2Jpbi9ubWJkCistc21iX2NvbmY9L3Vzci9sb2NhbC9zYW1iYS9saWIvc21iLmNvbmYKKy1zYW1iYV9zZXJ2ZXI9L3Vzci9sb2NhbC9zYW1iYS9iaW4vc21iZAorK25hbWVfc2VydmVyPS91c3Ivc2Jpbi9ubWJkCisrc21iX2NvbmY9L2V0Yy9zYW1iYS9zbWIuY29uZgorK3NhbWJhX3NlcnZlcj0vdXNyL3NiaW4vc21iZAorIHJ1bl9mcm9tX2luZXRkPTAKKy1zYW1iYV9wYXNzd29yZF9wcm9ncmFtPS91c3IvbG9jYWwvc2FtYmEvYmluL3NtYnBhc3N3ZAorLXNhbWJhX3N0YXR1c19wcm9ncmFtPS91c3IvbG9jYWwvc2FtYmEvYmluL3NtYnN0YXR1cworK3NhbWJhX3Bhc3N3b3JkX3Byb2dyYW09L3Vzci9iaW4vc21icGFzc3dkCisrc2FtYmFfc3RhdHVzX3Byb2dyYW09L3Vzci9iaW4vc21ic3RhdHVzCisgc3dhdF9wYXRoPS91c3IvbG9jYWwvc2FtYmEvYmluL3N3YXQKKyBzb3J0X21vZGU9MAorIHNtYmdyb3VwZWRpdD0vdXNyL2xvY2FsL3NhbWJhL2Jpbi9zbWJncm91cGVkaXQKKy1wZGJlZGl0PS91c3IvbG9jYWwvc2FtYmEvYmluL3BkYmVkaXQKKy1uZXQ9L3Vzci9sb2NhbC9zYW1iYS9iaW4vbmV0CisrcGRiZWRpdD0vdXNyL2Jpbi9wZGJlZGl0CisrbmV0PS91c3IvYmluL25ldApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXdlYmFkbWluL3dlYm1pbi9maWxlcy9zZXR1cC5zaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy13ZWJhZG1pbi93ZWJtaW4vZmlsZXMvc2V0dXAuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOGQyNGY5MgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy13ZWJhZG1pbi93ZWJtaW4vZmlsZXMvc2V0dXAuc2gKQEAgLTAsMCArMSwzNDAgQEAKKyMhL2Jpbi9zaAorIyBNb2RpZmllZCB2ZXJzaW9uIG9mIHNldHVwLnNoIGRpc3RyaWJ1dGVkIHdpdGggd2VibWluCisKK2lmIFsgIiR3YWRpciIgPSAiIiBdOyB0aGVuCisJZWNobyAiRVJST1I6IHdhZGlyIG5vdCBzcGVjaWZpZWQiCisJZWNobyAiIgorCWV4aXQgMQorZmkKKworY29uZmlnX2Rpcl9ydW50aW1lPSRjb25maWdfZGlyCitjb25maWdfZGlyPSRwcmVmaXgkY29uZmlnX2RpcgorCit3YWRpcl9ydW50aW1lPSR3YWRpcgord2FkaXI9JHByZWZpeCR3YWRpcgorCit2ZXI9YGNhdCAiJHdhZGlyL3ZlcnNpb24iYAorCitjZCAiJHdhZGlyIgorCisjIFdvcmsgb3V0IHBlcmwgbGlicmFyeSBwYXRoCitQRVJMTElCPSR3YWRpcgorCisjIFZhbGlkYXRlIHNvdXJjZSBkaXJlY3RvcnkKK2FsbG1vZHM9YGNkICIkd2FkaXIiOyBlY2hvICovbW9kdWxlLmluZm8gfCBzZWQgLWUgJ3MvXC9tb2R1bGUuaW5mby8vZydgCitpZiBbICIkYWxsbW9kcyIgPSAiIiBdOyB0aGVuCisJZWNobyAiRVJST1I6IEZhaWxlZCB0byBnZXQgbW9kdWxlIGxpc3QiCisJZWNobyAiIgorCWV4aXQgMQorZmkKK2VjaG8gIiIKKworaWYgWyAiJGxvZ2luIiA9ICJ3ZWJtaW4iIF07IHRoZW4KKwllY2hvICJFUlJPUjogVXNlcm5hbWUgJ3dlYm1pbicgaXMgcmVzZXJ2ZWQgZm9yIGludGVybmFsIHVzZSIKKwllY2hvICIiCisJZXhpdCAxNAorZmkKKworIyBDcmVhdGUgd2Vic2VydmVyIGNvbmZpZyBmaWxlCitlY2hvICRwZXJsID4gJGNvbmZpZ19kaXIvcGVybC1wYXRoCitlY2hvICR2YXJfZGlyID4gJGNvbmZpZ19kaXIvdmFyLXBhdGgKK2VjaG8gIkNyZWF0aW5nIHdlYiBzZXJ2ZXIgY29uZmlnIGZpbGVzLi4iCitjZmlsZT0kY29uZmlnX2Rpci9taW5pc2Vydi5jb25mCitlY2hvICJwb3J0PSRwb3J0IiA+PiAkY2ZpbGUKK2VjaG8gInJvb3Q9JHdhZGlyX3J1bnRpbWUiID4+ICRjZmlsZQorZWNobyAibWltZXR5cGVzPSR3YWRpcl9ydW50aW1lL21pbWUudHlwZXMiID4+ICRjZmlsZQorZWNobyAiYWRkdHlwZV9jZ2k9aW50ZXJuYWwvY2dpIiA+PiAkY2ZpbGUKK2VjaG8gInJlYWxtPVdlYm1pbiBTZXJ2ZXIiID4+ICRjZmlsZQorZWNobyAibG9nZmlsZT0kdmFyX2Rpci9taW5pc2Vydi5sb2ciID4+ICRjZmlsZQorZWNobyAiZXJyb3Jsb2c9JHZhcl9kaXIvbWluaXNlcnYuZXJyb3IiID4+ICRjZmlsZQorZWNobyAicGlkZmlsZT0kdmFyX2Rpci9taW5pc2Vydi5waWQiID4+ICRjZmlsZQorZWNobyAibG9ndGltZT0xNjgiID4+ICRjZmlsZQorZWNobyAicHBhdGg9JHBwYXRoIiA+PiAkY2ZpbGUKK2VjaG8gInNzbD0kc3NsIiA+PiAkY2ZpbGUKK2VjaG8gImVudl9XRUJNSU5fQ09ORklHPSRjb25maWdfZGlyX3J1bnRpbWUiID4+ICRjZmlsZQorZWNobyAiZW52X1dFQk1JTl9WQVI9JHZhcl9kaXIiID4+ICRjZmlsZQorZWNobyAiYXRib290PSRhdGJvb3QiID4+ICRjZmlsZQorZWNobyAibG9nb3V0PSRjb25maWdfZGlyX3J1bnRpbWUvbG9nb3V0LWZsYWciID4+ICRjZmlsZQoraWYgWyAiJGxpc3RlbiIgIT0gIiIgXTsgdGhlbgorCWVjaG8gImxpc3Rlbj0kbGlzdGVuIiA+PiAkY2ZpbGUKK2Vsc2UKKwllY2hvICJsaXN0ZW49MTAwMDAiID4+ICRjZmlsZQorZmkKK2VjaG8gImRlbnlmaWxlPVxcLnBsXCQiID4+ICRjZmlsZQorZWNobyAibG9nPTEiID4+ICRjZmlsZQorZWNobyAiYmxvY2tob3N0X2ZhaWx1cmVzPTUiID4+ICRjZmlsZQorZWNobyAiYmxvY2tob3N0X3RpbWU9NjAiID4+ICRjZmlsZQorZWNobyAic3lzbG9nPTEiID4+ICRjZmlsZQoraWYgWyAiJGFsbG93IiAhPSAiIiBdOyB0aGVuCisJZWNobyAiYWxsb3c9JGFsbG93IiA+PiAkY2ZpbGUKK2ZpCitpZiBbICIkc2Vzc2lvbiIgIT0gIiIgXTsgdGhlbgorCWVjaG8gInNlc3Npb249JHNlc3Npb24iID4+ICRjZmlsZQorZWxzZQorCWVjaG8gInNlc3Npb249MSIgPj4gJGNmaWxlCitmaQoraWYgWyAiJHBhbSIgIT0gIiIgXTsgdGhlbgorCWVjaG8gInBhbT0kcGFtIiA+PiAkY2ZpbGUKK2ZpCitpZiBbICIkbm9fcGFtIiAhPSAiIiBdOyB0aGVuCisgICAgZWNobyAibm9fcGFtPSRub19wYW0iID4+ICRjZmlsZQorZmkKK2VjaG8gcHJlbW9kdWxlcz1XZWJtaW5Db3JlID4+ICRjZmlsZQorZWNobyAic2VydmVyPU1pbmlTZXJ2LyR2ZXIiID4+ICRjZmlsZQorCittZDVwYXNzPWAkcGVybCAtZSAncHJpbnQgY3J5cHQoInRlc3QiLCAiXFwkMVxcJEE5d0IzTzE4XFwkemFaZ3FyRW1iOVZObHRXVEw0NTRSLyIpIGVxICJcXCQxXFwkQTl3QjNPMThcXCR6YVpncXJFbWI5Vk5sdFdUTDQ1NFIvIiA/ICIxXG4iIDogIjBcbiInYAorCit1ZmlsZT0kY29uZmlnX2Rpci9taW5pc2Vydi51c2VycworaWYgWyAiJGNyeXB0IiAhPSAiIiBdOyB0aGVuCisJZWNobyAiJGxvZ2luOiRjcnlwdDowIiA+ICR1ZmlsZQorZWxzZQorCWlmIFsgIiRtZDVwYXNzIiA9ICIxIiBdOyB0aGVuCisJCSRwZXJsIC1lICdwcmludCAiJEFSR1ZbMF06IixjcnlwdCgkQVJHVlsxXSwgIlwkMVwkWFhYWFhYWFgiKSwiOjBcbiInICIkbG9naW4iICIkcGFzc3dvcmQiID4gJHVmaWxlCisJZWxzZQorCQkkcGVybCAtZSAncHJpbnQgIiRBUkdWWzBdOiIsY3J5cHQoJEFSR1ZbMV0sICJYWCIpLCI6MFxuIicgIiRsb2dpbiIgIiRwYXNzd29yZCIgPiAkdWZpbGUKKwlmaQorZmkKK2NobW9kIDYwMCAkdWZpbGUKK2VjaG8gInVzZXJmaWxlPSRjb25maWdfZGlyX3J1bnRpbWUvbWluaXNlcnYudXNlcnMiID4+ICRjZmlsZQorCitrZmlsZT0kY29uZmlnX2Rpci9taW5pc2Vydi5wZW0KK29wZW5zc2wgdmVyc2lvbiA+L2Rldi9udWxsIDI+JjEKK2lmIFsgIiQ/IiA9ICIwIiBdOyB0aGVuCisJIyBXZSBjYW4gZ2VuZXJhdGUgYSBuZXcgU1NMIGtleSBmb3IgdGhpcyBob3N0CisJaG9zdD1gaG9zdG5hbWVgCisJb3BlbnNzbCByZXEgLW5ld2tleSByc2E6NTEyIC14NTA5IC1ub2RlcyAtb3V0ICR0ZW1wZGlyL2NlcnQgLWtleW91dCAkdGVtcGRpci9rZXkgLWRheXMgMTgyNSA+L2Rldi9udWxsIDI+JjEgPDxFT0YKKy4KKy4KKy4KK1dlYm1pbiBXZWJzZXJ2ZXIgb24gJGhvc3QKKy4KKyoKK3Jvb3RAJGhvc3QKK0VPRgorCWlmIFsgIiQ/IiA9ICIwIiBdOyB0aGVuCisJCWNhdCAkdGVtcGRpci9jZXJ0ICR0ZW1wZGlyL2tleSA+JGtmaWxlCisJZmkKKwlybSAtZiAkdGVtcGRpci9jZXJ0ICR0ZW1wZGlyL2tleQorZmkKK2lmIFsgISAtciAka2ZpbGUgXTsgdGhlbgorCSMgRmFsbCBiYWNrIHRvIHRoZSBidWlsdC1pbiBrZXkKKwljcCAiJHdhZGlyL21pbmlzZXJ2LnBlbSIgJGtmaWxlCitmaQorY2htb2QgNjAwICRrZmlsZQorZWNobyAia2V5ZmlsZT0kY29uZmlnX2Rpcl9ydW50aW1lL21pbmlzZXJ2LnBlbSIgPj4gJGNmaWxlCisKK2NobW9kIDYwMCAkY2ZpbGUKK2VjaG8gIi4uZG9uZSIKK2VjaG8gIiIKKworZWNobyAiQ3JlYXRpbmcgYWNjZXNzIGNvbnRyb2wgZmlsZS4uIgorYWZpbGU9JGNvbmZpZ19kaXIvd2VibWluLmFjbAorcm0gLWYgJGFmaWxlCitpZiBbICIkZGVmYXVsdG1vZHMiID0gIiIgXTsgdGhlbgorCWVjaG8gIiRsb2dpbjogJGFsbG1vZHMiID4+ICRhZmlsZQorZWxzZQorCWVjaG8gIiRsb2dpbjogJGRlZmF1bHRtb2RzIiA+PiAkYWZpbGUKK2ZpCitjaG1vZCA2MDAgJGFmaWxlCitlY2hvICIuLmRvbmUiCitlY2hvICIiCisKK2lmIFsgIiRsb2dpbiIgIT0gInJvb3QiIC1hICIkbG9naW4iICE9ICJhZG1pbiIgXTsgdGhlbgorCSMgQWxsb3cgdXNlIG9mIFJQQyBieSB0aGlzIHVzZXIKKwllY2hvIHJwYz0xID4+JGNvbmZpZ19kaXIvJGxvZ2luLmFjbAorZmkKKworaWYgWyAiJG5vcGVybHBhdGgiID0gIiIgXTsgdGhlbgorCWVjaG8gIkluc2VydGluZyBwYXRoIHRvIHBlcmwgaW50byBzY3JpcHRzLi4iCisJKGZpbmQgIiR3YWRpciIgLW5hbWUgJyouY2dpJyAtcHJpbnQgOyBmaW5kICIkd2FkaXIiIC1uYW1lICcqLnBsJyAtcHJpbnQpIHwgJHBlcmwgIiR3YWRpci9wZXJscGF0aC5wbCIgJHBlcmxfcnVudGltZSAtCisJZWNobyAiLi5kb25lIgorCWVjaG8gIiIKK2ZpCisKK2VjaG8gIkNyZWF0aW5nIHN0YXJ0IGFuZCBzdG9wIHNjcmlwdHMuLiIKK3JtIC1mICRjb25maWdfZGlyL3N0b3AgJGNvbmZpZ19kaXIvc3RhcnQgJGNvbmZpZ19kaXIvcmVzdGFydCAkY29uZmlnX2Rpci9yZWxvYWQKK2VjaG8gIiMhL2Jpbi9zaCIgPj4kY29uZmlnX2Rpci9zdGFydAorZWNobyAiZWNobyBTdGFydGluZyBXZWJtaW4gc2VydmVyIGluICR3YWRpcl9ydW50aW1lIiA+PiRjb25maWdfZGlyL3N0YXJ0CitlY2hvICJ0cmFwICcnIDEiID4+JGNvbmZpZ19kaXIvc3RhcnQKK2VjaG8gIkxBTkc9IiA+PiRjb25maWdfZGlyL3N0YXJ0CitlY2hvICJleHBvcnQgTEFORyIgPj4kY29uZmlnX2Rpci9zdGFydAorZWNobyAiI1BFUkxJTz06cmF3IiA+PiRjb25maWdfZGlyL3N0YXJ0CitlY2hvICJ1bnNldCBQRVJMSU8iID4+JGNvbmZpZ19kaXIvc3RhcnQKK2VjaG8gImV4cG9ydCBQRVJMSU8iID4+JGNvbmZpZ19kaXIvc3RhcnQKK2VjaG8gIlBFUkxMSUI9JFBFUkxMSUIiID4+JGNvbmZpZ19kaXIvc3RhcnQKK2VjaG8gImV4cG9ydCBQRVJMTElCIiA+PiRjb25maWdfZGlyL3N0YXJ0Cit1bmFtZSAtYSB8IGdyZXAgLWkgJ0hQLypVWCcgPi9kZXYvbnVsbAoraWYgWyAkPyA9ICIwIiBdOyB0aGVuCisJZWNobyAiZXhlYyAnJHdhZGlyX3J1bnRpbWUvbWluaXNlcnYucGwnICRjb25maWdfZGlyX3J1bnRpbWUvbWluaXNlcnYuY29uZiAmIiA+PiRjb25maWdfZGlyL3N0YXJ0CitlbHNlCisJZWNobyAiZXhlYyAnJHdhZGlyX3J1bnRpbWUvbWluaXNlcnYucGwnICRjb25maWdfZGlyX3J1bnRpbWUvbWluaXNlcnYuY29uZiIgPj4kY29uZmlnX2Rpci9zdGFydAorZmkKKworZWNobyAiIyEvYmluL3NoIiA+PiRjb25maWdfZGlyL3N0b3AKK2VjaG8gImVjaG8gU3RvcHBpbmcgV2VibWluIHNlcnZlciBpbiAkd2FkaXJfcnVudGltZSIgPj4kY29uZmlnX2Rpci9zdG9wCitlY2hvICJwaWRmaWxlPVxgZ3JlcCBcIl5waWRmaWxlPVwiICRjb25maWdfZGlyX3J1bnRpbWUvbWluaXNlcnYuY29uZiB8IHNlZCAtZSAncy9waWRmaWxlPS8vZydcYCIgPj4kY29uZmlnX2Rpci9zdG9wCitlY2hvICJraWxsIFxgY2F0IFwkcGlkZmlsZVxgIiA+PiRjb25maWdfZGlyL3N0b3AKKworZWNobyAiIyEvYmluL3NoIiA+PiRjb25maWdfZGlyL3Jlc3RhcnQKK2VjaG8gIiRjb25maWdfZGlyX3J1bnRpbWUvc3RvcCAmJiAkY29uZmlnX2Rpcl9ydW50aW1lL3N0YXJ0IiA+PiRjb25maWdfZGlyL3Jlc3RhcnQKKworZWNobyAiIyEvYmluL3NoIiA+PiRjb25maWdfZGlyL3JlbG9hZAorZWNobyAiZWNobyBSZWxvYWRpbmcgV2VibWluIHNlcnZlciBpbiAkd2FkaXJfcnVudGltZSIgPj4kY29uZmlnX2Rpci9yZWxvYWQKK2VjaG8gInBpZGZpbGU9XGBncmVwIFwiXnBpZGZpbGU9XCIgJGNvbmZpZ19kaXJfcnVudGltZS9taW5pc2Vydi5jb25mIHwgc2VkIC1lICdzL3BpZGZpbGU9Ly9nJ1xgIiA+PiRjb25maWdfZGlyL3JlbG9hZAorZWNobyAia2lsbCAtVVNSMSBcYGNhdCBcJHBpZGZpbGVcYCIgPj4kY29uZmlnX2Rpci9yZWxvYWQKKworY2htb2QgNzU1ICRjb25maWdfZGlyL3N0YXJ0ICRjb25maWdfZGlyL3N0b3AgJGNvbmZpZ19kaXIvcmVzdGFydCAkY29uZmlnX2Rpci9yZWxvYWQKK2VjaG8gIi4uZG9uZSIKK2VjaG8gIiIKKworaWYgWyAiJHVwZ3JhZGluZyIgPSAxIF07IHRoZW4KKwllY2hvICJVcGRhdGluZyBjb25maWcgZmlsZXMuLiIKK2Vsc2UKKwllY2hvICJDb3B5aW5nIGNvbmZpZyBmaWxlcy4uIgorZmkKK25ld21vZHM9YCRwZXJsICIkd2FkaXIvY29weWNvbmZpZy5wbCIgIiRvc190eXBlLyRyZWFsX29zX3R5cGUiICIkb3NfdmVyc2lvbi8kcmVhbF9vc192ZXJzaW9uIiAiJHdhZGlyIiAkY29uZmlnX2RpciAiIiAkYWxsbW9kc2AKKyMgU3RvcmUgdGhlIE9TIGFuZCB2ZXJzaW9uCitlY2hvICJvc190eXBlPSRvc190eXBlIiA+PiAkY29uZmlnX2Rpci9jb25maWcKK2VjaG8gIm9zX3ZlcnNpb249JG9zX3ZlcnNpb24iID4+ICRjb25maWdfZGlyL2NvbmZpZworZWNobyAicmVhbF9vc190eXBlPSRyZWFsX29zX3R5cGUiID4+ICRjb25maWdfZGlyL2NvbmZpZworZWNobyAicmVhbF9vc192ZXJzaW9uPSRyZWFsX29zX3ZlcnNpb24iID4+ICRjb25maWdfZGlyL2NvbmZpZworaWYgWyAtciAvZXRjL3N5c3RlbS5jbmYgXTsgdGhlbgorCSMgRm91bmQgYSBjYWxkZXJhIHN5c3RlbSBjb25maWcgZmlsZSAuLiBnZXQgdGhlIGxhbmd1YWdlCisJc291cmNlIC9ldGMvc3lzdGVtLmNuZgorCWlmIFsgIiRDT05GX0xTVF9MQU5HIiA9ICJ1cyIgXTsgdGhlbgorCQlDT05GX0xTVF9MQU5HPWVuCisJZWxpZiBbICIkQ09ORl9MU1RfTEFORyIgPSAidWsiIF07IHRoZW4KKwkJQ09ORl9MU1RfTEFORz1lbgorCWZpCisJZ3JlcCAibGFuZz0kQ09ORl9MU1RfTEFORywiICIkd2FkaXIvbGFuZ19saXN0LnR4dCIgPi9kZXYvbnVsbCAyPiYxCisJaWYgWyAiJD8iID0gMCBdOyB0aGVuCisJCWVjaG8gImxhbmc9JENPTkZfTFNUX0xBTkciID4+ICRjb25maWdfZGlyL2NvbmZpZworCWZpCitmaQorCisjIFR1cm4gb24gbG9nZ2luZyBieSBkZWZhdWx0CitlY2hvICJsb2c9MSIgPj4gJGNvbmZpZ19kaXIvY29uZmlnCisKKyMgVXNlIGxpY2VuY2UgbW9kdWxlIHNwZWNpZmllZCBieSBlbnZpcm9ubWVudCB2YXJpYWJsZQoraWYgWyAiJGxpY2VuY2VfbW9kdWxlIiAhPSAiIiBdOyB0aGVuCisJZWNobyBsaWNlbmNlX21vZHVsZT0kbGljZW5jZV9tb2R1bGUgPj4kY29uZmlnX2Rpci9jb25maWcKK2ZpCisKKyMgRGlzYWxsb3cgdW5rbm93biByZWZlcmVycyBieSBkZWZhdWx0CitlY2hvICJyZWZlcmVyc19ub25lPTEiID4+JGNvbmZpZ19kaXIvY29uZmlnCitlY2hvICR2ZXIgPiAkY29uZmlnX2Rpci92ZXJzaW9uCitlY2hvICIuLmRvbmUiCitlY2hvICIiCisKKyMgU2V0IHBhc3N3ZF8gZmllbGRzIGluIG1pbmlzZXJ2LmNvbmYgZnJvbSBnbG9iYWwgY29uZmlnCitmb3IgZmllbGQgaW4gcGFzc3dkX2ZpbGUgcGFzc3dkX3VpbmRleCBwYXNzd2RfcGluZGV4IHBhc3N3ZF9jaW5kZXggcGFzc3dkX21pbmRleDsgZG8KKwlncmVwICRmaWVsZD0gJGNvbmZpZ19kaXIvbWluaXNlcnYuY29uZiA+L2Rldi9udWxsCisJaWYgWyAiJD8iICE9ICIwIiBdOyB0aGVuCisJCWdyZXAgJGZpZWxkPSAkY29uZmlnX2Rpci9jb25maWcgPj4gJGNvbmZpZ19kaXIvbWluaXNlcnYuY29uZgorCWZpCitkb25lCitncmVwIHBhc3N3ZF9tb2RlPSAkY29uZmlnX2Rpci9taW5pc2Vydi5jb25mID4vZGV2L251bGwKK2lmIFsgIiQ/IiAhPSAiMCIgXTsgdGhlbgorCWVjaG8gcGFzc3dkX21vZGU9MCA+PiAkY29uZmlnX2Rpci9taW5pc2Vydi5jb25mCitmaQorCisjIElmIFBlcmwgY3J5cHQgc3VwcG9ydHMgTUQ1LCB0aGVuIG1ha2UgaXQgdGhlIGRlZmF1bHQKK2lmIFsgIiRtZDVwYXNzIiA9ICIxIiBdOyB0aGVuCisJZWNobyBtZDVwYXNzPTEgPj4gJGNvbmZpZ19kaXIvY29uZmlnCitmaQorCisjIFNldCBhIHNwZWNpYWwgdGhlbWUgaWYgbm9uZSB3YXMgc2V0IGJlZm9yZQoraWYgWyAiJHRoZW1lIiA9ICIiIF07IHRoZW4KKwl0aGVtZT1gY2F0ICIkd2FkaXIvZGVmYXVsdHRoZW1lIiAyPi9kZXYvbnVsbGAKK2ZpCitvbGR0aGVtZWxpbmU9YGdyZXAgIl50aGVtZT0iICRjb25maWdfZGlyL2NvbmZpZ2AKK29sZHRoZW1lPWBlY2hvICRvbGR0aGVtZWxpbmUgfCBzZWQgLWUgJ3MvdGhlbWU9Ly9nJ2AKK2lmIFsgIiR0aGVtZSIgIT0gIiIgXSAmJiBbICIkb2xkdGhlbWVsaW5lIiA9ICIiIF0gJiYgWyAtZCAiJHdhZGlyLyR0aGVtZSIgXTsgdGhlbgorCXRoZW1lbGlzdD0kdGhlbWUKK2ZpCisKKyMgU2V0IGEgc3BlY2lhbCBvdmVybGF5IGlmIG5vbmUgd2FzIHNldCBiZWZvcmUKK2lmIFsgIiRvdmVybGF5IiA9ICIiIF07IHRoZW4KKwlvdmVybGF5PWBjYXQgIiR3YWRpci9kZWZhdWx0b3ZlcmxheSIgMj4vZGV2L251bGxgCitmaQoraWYgWyAiJG92ZXJsYXkiICE9ICIiIF0gJiYgWyAiJHRoZW1lIiAhPSAiIiBdICYmIFsgLWQgIiR3YWRpci8kb3ZlcmxheSIgXTsgdGhlbgorCXRoZW1lbGlzdD0iJHRoZW1lbGlzdCAkb3ZlcmxheSIKK2ZpCisKKyMgQXBwbHkgdGhlIHRoZW1lIGFuZCBtYXliZSBvdmVybGF5CitpZiBbICIkdGhlbWVsaXN0IiAhPSAiIiBdOyB0aGVuCisJZWNobyAidGhlbWU9JHRoZW1lbGlzdCIgPj4gJGNvbmZpZ19kaXIvY29uZmlnCisJZWNobyAicHJlcm9vdD0kdGhlbWVsaXN0IiA+PiAkY29uZmlnX2Rpci9taW5pc2Vydi5jb25mCitmaQorCisjIFNldCB0aGUgcHJvZHVjdCBmaWVsZCBpbiB0aGUgZ2xvYmFsIGNvbmZpZworZ3JlcCBwcm9kdWN0PSAkY29uZmlnX2Rpci9jb25maWcgPi9kZXYvbnVsbAoraWYgWyAiJD8iICE9ICIwIiBdOyB0aGVuCisJZWNobyBwcm9kdWN0PXdlYm1pbiA+PiAkY29uZmlnX2Rpci9jb25maWcKK2ZpCisKK2lmIFsgIiRtYWtlYm9vdCIgPSAiMSIgXTsgdGhlbgorCWVjaG8gIkNvbmZpZ3VyaW5nIFdlYm1pbiB0byBzdGFydCBhdCBib290IHRpbWUuLiIKKwkoY2QgIiR3YWRpci9pbml0IiA7IFdFQk1JTl9DT05GSUc9JGNvbmZpZ19kaXIgV0VCTUlOX1ZBUj0kdmFyX2RpciAiJHdhZGlyL2luaXQvYXRib290LnBsIiAkYm9vdHNjcmlwdCkKKwllY2hvICIuLmRvbmUiCisJZWNobyAiIgorZmkKKworIyBJZiBwYXNzd29yZCBkZWxheXMgYXJlIG5vdCBzcGVjaWZpY2FsbHkgZGlzYWJsZWQsIGVuYWJsZSB0aGVtCitncmVwIHBhc3NkZWxheT0gJGNvbmZpZ19kaXIvbWluaXNlcnYuY29uZiA+L2Rldi9udWxsCitpZiBbICIkPyIgIT0gIjAiIF07IHRoZW4KKwllY2hvIHBhc3NkZWxheT0xID4+ICRjb25maWdfZGlyL21pbmlzZXJ2LmNvbmYKK2ZpCisKK2VjaG8gIkNoYW5naW5nIG93bmVyc2hpcCBhbmQgcGVybWlzc2lvbnMgLi4iCisjIE1ha2UgYWxsIGNvbmZpZyBkaXJzIG5vbi13b3JsZC1yZWFkYWJsZQorZm9yIG0gaW4gJG5ld21vZHM7IGRvCisJY2hvd24gLVIgcm9vdCAkY29uZmlnX2Rpci8kbQorCWNoZ3JwIC1SIGJpbiAkY29uZmlnX2Rpci8kbQorCWNobW9kIC1SIG9nLXJ3ICRjb25maWdfZGlyLyRtCitkb25lCisjIE1ha2UgbWluaXNlcnYgY29uZmlnIGZpbGVzIG5vbi13b3JsZC1yZWFkYWJsZQorZm9yIGYgaW4gbWluaXNlcnYuY29uZiBtaW5pc2Vydi5wZW0gbWluaXNlcnYudXNlcnM7IGRvCisJY2hvd24gLVIgcm9vdCAkY29uZmlnX2Rpci8kZgorCWNoZ3JwIC1SIGJpbiAkY29uZmlnX2Rpci8kZgorCWNobW9kIC1SIG9nLXJ3ICRjb25maWdfZGlyLyRmCitkb25lCitjaG1vZCArciAkY29uZmlnX2Rpci92ZXJzaW9uCitpZiBbICIkbm9jaG93biIgPSAiIiBdOyB0aGVuCisJIyBNYWtlIHByb2dyYW0gZGlyZWN0b3J5IG5vbi13b3JsZC13cml0YWJsZSwgYnV0IGV4ZWN1dGFibGUKKwljaG93biAtUiByb290ICIkd2FkaXIiCisJY2hncnAgLVIgYmluICIkd2FkaXIiCisJY2htb2QgLVIgb2ctdyAiJHdhZGlyIgorCWNobW9kIC1SIGErcnggIiR3YWRpciIKK2ZpCitpZiBbICR2YXJfZGlyICE9ICIvdmFyIiBdOyB0aGVuCisJIyBNYWtlIGxvZyBkaXJlY3Rvcnkgbm9uLXdvcmxkLXJlYWRhYmxlIG9yIHdyaXRhYmxlCisJY2hvd24gLVIgcm9vdCAkcHJlZml4JHZhcl9kaXIKKwljaGdycCAtUiBiaW4gJHByZWZpeCR2YXJfZGlyCisJY2htb2QgLVIgb2ctcnd4ICRwcmVmaXgkdmFyX2RpcgorZmkKKyMgRml4IHVwIGJhZCBwZXJtaXNzaW9ucyBmcm9tIHNvbWUgb2xkZXIgaW5zdGFsbHMKK2ZvciBtIGluIGxkYXAtY2xpZW50IGxkYXAtc2VydmVyIGxkYXAtdXNlcmFkbWluIG1haWxib3hlcyBteXNxbCBwb3N0Z3Jlc3FsIHNlcnZlcnMgdmlydHVhbC1zZXJ2ZXI7IGRvCisJaWYgWyAtZCAiJGNvbmZpZ19kaXIvJG0iIF07IHRoZW4KKwkJY2hvd24gcm9vdCAkY29uZmlnX2Rpci8kbQorCQljaGdycCBiaW4gJGNvbmZpZ19kaXIvJG0KKwkJY2htb2Qgb2ctcncgJGNvbmZpZ19kaXIvJG0KKwkJY2htb2Qgb2ctcncgJGNvbmZpZ19kaXIvJG0vY29uZmlnIDI+L2Rldi9udWxsCisJZmkKK2RvbmUKKworaWYgWyAiJG5vcG9zdGluc3RhbGwiID0gIiIgXTsgdGhlbgorCWVjaG8gIlJ1bm5pbmcgcG9zdGluc3RhbGwgc2NyaXB0cyAuLiIKKwkoY2QgIiR3YWRpciIgOyBXRUJNSU5fQ09ORklHPSRjb25maWdfZGlyIFdFQk1JTl9WQVI9JHZhcl9kaXIgIiR3YWRpci9ydW4tcG9zdGluc3RhbGxzLnBsIikKKwllY2hvICIuLmRvbmUiCisJZWNobyAiIgorZmkKKworIyBFbmFibGUgYmFja2dyb3VuZCBjb2xsZWN0aW9uCitpZiBbICIkdXBncmFkaW5nIiAhPSAxIC1hIC1yICRjb25maWdfZGlyL3N5c3RlbS1zdGF0dXMvZW5hYmxlLWNvbGxlY3Rpb24ucGwgXTsgdGhlbgorCWVjaG8gIkVuYWJsaW5nIGJhY2tncm91bmQgc3RhdHVzIGNvbGxlY3Rpb24gLi4iCisJJGNvbmZpZ19kaXIvc3lzdGVtLXN0YXR1cy9lbmFibGUtY29sbGVjdGlvbi5wbCA1CisJZWNobyAiLi5kb25lIgorCWVjaG8gIiIKK2ZpCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy13ZWJhZG1pbi93ZWJtaW4vd2VibWluXzEuNzUwLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXdlYmFkbWluL3dlYm1pbi93ZWJtaW5fMS43NTAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzQwNTJhMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy13ZWJhZG1pbi93ZWJtaW4vd2VibWluXzEuNzUwLmJiCkBAIC0wLDAgKzEsMTU1IEBACitTVU1NQVJZID0gIldlYi1iYXNlZCBhZG1pbmlzdHJhdGlvbiBpbnRlcmZhY2UiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LndlYm1pbi5jb20iCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOQ0U7bWQ1PTAzNzNhYzlmNjExZTU0MmRkZWJlMWVjNjM5NGFmYzNjIgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS93ZWJhZG1pbi93ZWJtaW4tJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL3NldHVwLnNoIFwKKyAgICAgICAgICAgZmlsZTovL2luaXQtZXhjbHVkZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9uZXQtZ2VuZXJpYy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9yZW1vdmUtc3RhcnR1cC1vcHRpb24ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZGlzYWJsZS12ZXJzaW9uLWNoZWNrLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL25mcy1leHBvcnQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZXhwb3J0cy1saWIucGwucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vbW91bnQtZXhjbHVkZWZzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3NhbWJhLWNvbmZpZy1maXgucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vcHJvZnRwZC1jb25maWctZml4LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL25ldC1saWIucGwucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vbWVkaWEtdG9tYi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9yZW1vdmUtcHl0aG9uMi4zLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL215c3FsLWNvbmZpZy1maXgucGF0Y2ggXAorICAgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNDAwN2MzOTAzMjNkODQwZjI2YzJlMGY0M2M1YzgxYTMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTExMWY4MjBhZGM2ZmJjYTk5N2E1OGQ0YjJmYTE4NmRhYzZjZGVkOWNmZjBlNzA3MjRmOGNhZTYwMjExMjNkOSIKKworaW5oZXJpdCBwZXJsbmF0aXZlIHVwZGF0ZS1yYy5kCisKK2RvX2NvbmZpZ3VyZSgpIHsKKyAgICAjIFJlbW92ZSBiaW5hcmllcyBhbmQgcGx1Z2lucyBmb3Igb3RoZXIgcGxhdGZvcm1zCisgICAgcm0gLXJmIGFjbC9BdXRoZW4tU29sYXJpc1JCQUMtMC4xKgorICAgIHJtIC1yZiBmb3JtYXQgYnNkZXhwb3J0cyBocHV4ZXhwb3J0cyBzZ2lleHBvcnRzCisgICAgcm0gLXJmIHpvbmVzIHJiYWMgc21mIGlwZncgaXBmaWx0ZXIgZGZzYWRtaW4KKyAgICBybSAtZiBtb3VudC9mcmVlYnNkLW1vdW50cyogbW91bnQvbmV0YnNkLW1vdW50cyoKKyAgICBybSAtZiBtb3VudC9vcGVuYnNkLW1vdW50cyogbW91bnQvbWFjb3MtbW91bnRzKgorCisgICAgIyBSZW1vdmUgc29tZSBwbHVnaW5zIGZvciB0aGUgbW9tZW50CisgICAgcm0gLXJmIGxpbG8gZnJveCB3dWZ0cGQgdGVsbmV0IHBzZXJ2ZXIgY3BhbiBzaG9yZXdhbGwgd2ViYWxpemVyIGNmZW5naW5lIGZzZHVtcCBwYXAKKyAgICBybSAtcmYgbWFqb3Jkb21vIGZldGNobWFpbCBzZW5kbWFpbCBtYWlsYm94ZXMgcHJvY21haWwgZmlsdGVyIG1haWxjYXAgZG92ZWNvdCBleGltIHNwYW0gcW1haWxhZG1pbiBwb3N0Zml4CisgICAgcm0gLXJmIHN0dW5uZWwgc3F1aWQgc2FyZyBwcHRwLWNsaWVudCBwcHRwLXNlcnZlciBqYWJiZXIgb3BlbnNscCBzZW50cnkgY2x1c3Rlci0qIHZnZXR0eSBidXJuZXIgaGVhcnRiZWF0CisKKyAgICAjIEFkanVzdCBjb25maWdzCisgICAgWyAtZiBpbml0L2NvbmZpZy1kZWJpYW4tbGludXggXSAmJiBtdiBpbml0L2NvbmZpZy1kZWJpYW4tbGludXggaW5pdC9jb25maWctZ2VuZXJpYy1saW51eAorICAgIHNlZCAtaSAicy9zaHV0ZG93bl9jb21tYW5kPS4qL3NodXRkb3duX2NvbW1hbmQ9cG93ZXJvZmYvIiBpbml0L2NvbmZpZy1nZW5lcmljLWxpbnV4CisgICAgZWNobyAiZXhjbHVkZT1ib290bWlzYy5zaCxzaW5nbGUsaGFsdCxyZWJvb3QsaG9zdG5hbWUuc2gsbW9kdXRpbHMuc2gsbW91bnRhbGwuc2gsbW91bnRuZnMuc2gsbmV0d29ya2luZyxwb3B1bGF0ZS12b2xhdGlsZS5zaCxybW5vbG9naW4uc2gsc2F2ZS1ydGMuc2gsdW1vdW50ZnMsdW1vdW50bmZzLnNoLGh3Y2xvY2suc2gsY2hlY2tyb290LnNoLGJhbm5lci5zaCx1ZGV2LHVkZXYtY2FjaGUsZGV2cHRzLnNoLHBzcGxhc2guc2gsc2VuZHNpZ3MsZmJzZXR1cCxib290bG9nZCxzdG9wLWJvb3Rsb2dkLHN5c2ZzLnNoLHN5c2xvZyxzeXNsb2cuYnVzeWJveCx1cmFuZG9tLHdlYm1pbixmdW5jdGlvbnMuaW5pdHNjcmlwdHMscmVhZC1vbmx5LXJvb3Rmcy1ob29rLnNoIiA+PiBpbml0L2NvbmZpZy1nZW5lcmljLWxpbnV4CisgICAgZWNobyAiZXhjbHVkZWZzPWRldnB0cyxkZXZ0bXBmcyx1c2JkZXZmcyxwcm9jLHRtcGZzLHN5c2ZzLGRlYnVnZnMiID4+IG1vdW50L2NvbmZpZy1nZW5lcmljLWxpbnV4CisKKyAgICBbIC1mIGV4cG9ydHMvY29uZmlnLWRlYmlhbi1saW51eCBdICYmIG12IGV4cG9ydHMvY29uZmlnLWRlYmlhbi1saW51eCBleHBvcnRzL2NvbmZpZy1nZW5lcmljLWxpbnV4CisgICAgc2VkIC1pICJzL2tpbGxhbGwgLUhVUCBycGMubmZzZCAmJiAvLyIgZXhwb3J0cy9jb25maWctZ2VuZXJpYy1saW51eAorICAgIHNlZCAtaSAicy9uZXRzdGRfbmZzL25mc3NlcnZlci9nIiBleHBvcnRzL2NvbmZpZy1nZW5lcmljLWxpbnV4CisKKyAgICAjIEZpeCBpbnNhbmUgbmFtaW5nIHRoYXQgY2F1c2VzIHByb2JsZW1zIGF0IHBhY2thZ2luZyB0aW1lIChtdXN0IGJlIGRvbmUgYmVmb3JlIGRlbGV0aW5nIGJlbG93KQorICAgIGZpbmQgLiAtbmFtZSAiKlwqKiIgfCB3aGlsZSByZWFkIGZyb20KKyAgICBkbworICAgICAgICB0bz1gZWNobyAiJGZyb20iIHwgc2VkICJzLyovQUxMLyJgCisgICAgICAgIG12ICIkZnJvbSIgIiR0byIKKyAgICBkb25lCisKKyAgICAjIFJlbW92ZSBzb21lIG90aGVyIGZpbGVzIHdlIGRvbid0IG5lZWQKKyAgICBmaW5kIC4gLW5hbWUgImNvbmZpZy0qIiAtYSBcISAtbmFtZSAiY29uZmlnLWdlbmVyaWMtbGludXgiIC1hIFwhIC1uYW1lICJjb25maWctQUxMLWxpbnV4IiAtYSBcISAtbmFtZSAiKi5wbCIgLWRlbGV0ZQorICAgIGZpbmQgLiAtcmVnZXh0eXBlIHBvc2l4LWV4dGVuZGVkIC1yZWdleCAiLiovKG9wZW5zZXJ2ZXJ8YWl4fG9zZjF8b3NmfG9wZW5ic2R8bmV0YnNkfGZyZWVic2R8dW5peHdhcmV8c29sYXJpc3xtYWNvc3xpcml4fGhwdXh8Y3lnd2lufHdpbmRvd3MpLWxpYlwucGwiIC1kZWxldGUKKyAgICBybSAtZiB3ZWJtaW4tZ2VudG9vLWluaXQgd2VibWluLWNhbGRlcmEtaW5pdCB3ZWJtaW4tZGViaWFuLXBhbSB3ZWJtaW4tcGFtCisKKyAgICAjIERvbid0IG5lZWQgdGhlc2UgYXQgcnVudGltZSAoYW5kIHdlIGhhdmUgb3VyIG93biBzZXR1cCBzY3JpcHQpCisgICAgcm0gLWYgc2V0dXAuc2gKKyAgICBybSAtZiBzZXR1cC5wbAorCisgICAgIyBVc2UgcGlkb2YgZm9yIGZpbmRpbmcgUElEcworICAgIHNlZCAtaSAicy9maW5kX3BpZF9jb21tYW5kPS4qL2ZpbmRfcGlkX2NvbW1hbmQ9cGlkb2YgTkFNRS8iIGNvbmZpZy1nZW5lcmljLWxpbnV4Cit9CisKK1dFQk1JTl9MT0dJTiA/PSAiYWRtaW4iCitXRUJNSU5fUEFTU1dPUkQgPz0gInBhc3N3b3JkIgorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0KKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3dlYm1pbgorICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCisgICAgaW5zdGFsbCAtbSAwNzU1IHdlYm1pbi1pbml0ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC93ZWJtaW4KKworICAgIGluc3RhbGwgLWQgJHtEfSR7bG9jYWxzdGF0ZWRpcn0KKyAgICBpbnN0YWxsIC1kICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3dlYm1pbgorCisgICAgaW5zdGFsbCAtZCAke0R9JHtsaWJleGVjZGlyfS93ZWJtaW4KKyAgICBjZCAke1N9IHx8IGV4aXQgMQorICAgIHRhciAtLW5vLXNhbWUtb3duZXIgLS1leGNsdWRlPScuL3BhdGNoZXMnIC0tZXhjbHVkZT0nLi8ucGMnIC1jcGYgLSAuIFwKKyAgICAgICAgfCB0YXIgLS1uby1zYW1lLW93bmVyIC14cGYgLSAtQyAke0R9JHtsaWJleGVjZGlyfS93ZWJtaW4KKworICAgIHJtIC1mICR7RH0ke2xpYmV4ZWNkaXJ9L3dlYm1pbi93ZWJtaW4taW5pdAorICAgIHJtIC1mICR7RH0ke2xpYmV4ZWNkaXJ9L3dlYm1pbi9hamF4dGVybS9hamF4dGVybS9jb25maWd1cmUuaW5pdGQuZ2VudG9vCisgICAgcm0gLXJmICR7RH0ke2xpYmV4ZWNkaXJ9L3dlYm1pbi9wYXRjaGVzCisKKyAgICAjIFJ1biBzZXR1cCBzY3JpcHQKKyAgICBleHBvcnQgcGVybD1wZXJsCisgICAgZXhwb3J0IHBlcmxfcnVudGltZT0ke2JpbmRpcn0vcGVybAorICAgIGV4cG9ydCBwcmVmaXg9JHtEfQorICAgIGV4cG9ydCB0ZW1wZGlyPSR7U30vaW5zdGFsbF90bXAKKyAgICBleHBvcnQgd2FkaXI9JHtsaWJleGVjZGlyfS93ZWJtaW4KKyAgICBleHBvcnQgY29uZmlnX2Rpcj0ke3N5c2NvbmZkaXJ9L3dlYm1pbgorICAgIGV4cG9ydCB2YXJfZGlyPSR7bG9jYWxzdGF0ZWRpcn0vd2VibWluCisgICAgZXhwb3J0IG9zX3R5cGU9Z2VuZXJpYy1saW51eAorICAgIGV4cG9ydCBvc192ZXJzaW9uPTAKKyAgICBleHBvcnQgcmVhbF9vc190eXBlPSIke0RJU1RST19OQU1FfSIKKyAgICBleHBvcnQgcmVhbF9vc192ZXJzaW9uPSIke0RJU1RST19WRVJTSU9OfSIKKyAgICBleHBvcnQgcG9ydD0xMDAwMAorICAgIGV4cG9ydCBsb2dpbj0ke1dFQk1JTl9MT0dJTn0KKyAgICBleHBvcnQgcGFzc3dvcmQ9JHtXRUJNSU5fUEFTU1dPUkR9CisgICAgZXhwb3J0IHNzbD0wCisgICAgZXhwb3J0IGF0Ym9vdD0xCisgICAgZXhwb3J0IG5vX3BhbT0xCisgICAgbWtkaXIgLXAgJHRlbXBkaXIKKyAgICAke1N9Ly4uL3NldHVwLnNoCit9CisKK0lOSVRTQ1JJUFRfTkFNRSA9ICJ3ZWJtaW4iCitJTklUU0NSSVBUX1BBUkFNUyA9ICJzdGFydCA5OSA1IDMgMiAuIHN0b3AgMTAgMCAxIDYgLiIKKworIyBGSVhNRTogc29tZSBvZiB0aGlzIHNob3VsZCBiZSBmaWd1cmVkIG91dCBhdXRvbWF0aWNhbGx5CitSREVQRU5EU18ke1BOfSArPSAicGVybCBwZXJsLW1vZHVsZS1zb2NrZXQgcGVybC1tb2R1bGUtZXhwb3J0ZXIgcGVybC1tb2R1bGUtZXhwb3J0ZXItaGVhdnkgcGVybC1tb2R1bGUtY2FycCBwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU18ke1BOfSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MgcGVybC1tb2R1bGUteHNsb2FkZXIgcGVybC1tb2R1bGUtcG9zaXggcGVybC1tb2R1bGUtYXV0b2xvYWRlciIKK1JERVBFTkRTXyR7UE59ICs9ICJwZXJsLW1vZHVsZS1mY250bCBwZXJsLW1vZHVsZS10aWUtaGFzaCBwZXJsLW1vZHVsZS12YXJzIHBlcmwtbW9kdWxlLXRpbWUtbG9jYWwgcGVybC1tb2R1bGUtY29uZmlnIHBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfJHtQTn0gKz0gInBlcmwtbW9kdWxlLWZpbGUtZ2xvYiBwZXJsLW1vZHVsZS1maWxlLWNvcHkgcGVybC1tb2R1bGUtc2RibS1maWxlIHBlcmwtbW9kdWxlLWZlYXR1cmUiCisKK1BBQ0tBR0VTX0RZTkFNSUMgKz0gIndlYm1pbi1tb2R1bGUtKiB3ZWJtaW4tdGhlbWUtKiIKK1JSRUNPTU1FTkRTXyR7UE59ICs9ICJ3ZWJtaW4tbW9kdWxlLXN5c3RlbS1zdGF0dXMiCisKK1BBQ0tBR0VTICs9ICIke1BOfS1tb2R1bGUtcHJvYyAke1BOfS1tb2R1bGUtcmFpZCAke1BOfS1tb2R1bGUtZXhwb3J0cyAke1BOfS1tb2R1bGUtZmRpc2sgJHtQTn0tbW9kdWxlLWx2bSIKK1JERVBFTkRTXyR7UE59LW1vZHVsZS1wcm9jID0gInByb2NwcyIKK1JERVBFTkRTXyR7UE59LW1vZHVsZS1yYWlkID0gIm1kYWRtIgorUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4cG9ydHMgPSAicGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSBwZXJsLW1vZHVsZS1maWxlLXBhdGggcGVybC1tb2R1bGUtY3dkIHBlcmwtbW9kdWxlLWZpbGUtc3BlYyBwZXJsLW1vZHVsZS1maWxlLXNwZWMtdW5peCIKK1JSRUNPTU1FTkRTXyR7UE59LW1vZHVsZS1mZGlzayA9ICJwYXJ0ZWQiCitSUkVDT01NRU5EU18ke1BOfS1tb2R1bGUtbHZtID0gImx2bTIiCisKK3B5dGhvbiBwb3B1bGF0ZV9wYWNrYWdlc19wcmVwZW5kKCkgeworICAgIGltcG9ydCBvcywgb3MucGF0aAorCisgICAgd2FkaXIgPSBiYi5kYXRhLmV4cGFuZCgnJHtsaWJleGVjZGlyfS93ZWJtaW4nLCBkKQorICAgIHdhZGlyX2ltYWdlID0gYmIuZGF0YS5leHBhbmQoJyR7RH0nLCBkKSArIHdhZGlyCisgICAgbW9kdWxlcyA9IFtdCisgICAgdGhlbWVzID0gW10KKyAgICBmb3IgbW9kIGluIG9zLmxpc3RkaXIod2FkaXJfaW1hZ2UpOgorICAgICAgICBtb2RpbmZvID0gb3MucGF0aC5qb2luKHdhZGlyX2ltYWdlLCBtb2QsICJtb2R1bGUuaW5mbyIpCisgICAgICAgIHRoZW1laW5mbyA9IG9zLnBhdGguam9pbih3YWRpcl9pbWFnZSwgbW9kLCAidGhlbWUuaW5mbyIpCisgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKG1vZGluZm8pOgorICAgICAgICAgICAgbW9kdWxlcy5hcHBlbmQobW9kKQorICAgICAgICBlbGlmIG9zLnBhdGguZXhpc3RzKHRoZW1laW5mbyk6CisgICAgICAgICAgICB0aGVtZXMuYXBwZW5kKG1vZCkKKworICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIHdhZGlyLCAnXiglcykkJyAlICJ8Ii5qb2luKG1vZHVsZXMpLCAnd2VibWluLW1vZHVsZS0lcycsICdXZWJtaW4gbW9kdWxlIGZvciAlcycsIGFsbG93X2RpcnM9VHJ1ZSwgcHJlcGVuZD1UcnVlKQorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIHdhZGlyLCAnXiglcykkJyAlICJ8Ii5qb2luKHRoZW1lcyksICd3ZWJtaW4tdGhlbWUtJXMnLCAnV2VibWluIHRoZW1lIGZvciAlcycsIGFsbG93X2RpcnM9VHJ1ZSwgcHJlcGVuZD1UcnVlKQorfQorCisjIFRpbWUtc2F2ZXJzCitwYWNrYWdlX2RvX3BrZ2NvbmZpZygpIHsKKyAgICA6Cit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9SRUFETUUgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9SRUFETUUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzUwY2ExMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL1JFQURNRQpAQCAtMCwwICsxLDIzIEBACitUaGlzIGxheWVyIGRlcGVuZHMgb246CisKK1VSSTogZ2l0Oi8vZ2l0aHViLmNvbS9vcGVuZW1iZWRkZWQvb2UtY29yZS5naXQKK2JyYW5jaDoga3JvZ290aAorcmV2aXNpb246IEhFQUQKKworVVJJOiBnaXQ6Ly9naXRodWIuY29tL29wZW5lbWJlZGRlZC9tZXRhLW9lLmdpdAorYnJhbmNoOiBrcm9nb3RoCityZXZpc2lvbjogSEVBRAorbWV0YS14ZmNlIGRlcGVuZHMgb24gbWV0YS1vZSwgbWV0YS1nbm9tZSBhbmQgbWV0YS1tdWx0aW1lZGlhIGluIHRoaXMgcmVwb3NpdG9yeS4KKworVG8gYXZvaWQgZGVwZW5kZW5jaWVzIG9uIG1ldGEtbXVsdGltZWRpYSB5b3UgbmVlZCB0byBtYXNrIHJlY2lwZXMgYnkgYWRkaW5nCit0aGlzIHRvIGxvY2FsLmNvbmY6CisKK0JCTUFTSyA9ICJtZXRhLXhmY2UvcmVjaXBlcy1tdWx0aW1lZGlhIgorCitTZW5kIHB1bGwgcmVxdWVzdHMgdG8gb3BlbmVtYmVkZGVkLWRldmVsQGxpc3RzLm9wZW5lbWJlZGRlZC5vcmcgd2l0aCAnW21ldGEteGZjZV1ba3JvZ290aF0nIGluIHRoZSBzdWJqZWN0JworCitXaGVuIHNlbmRpbmcgc2luZ2xlIHBhdGNoZXMsIHBsZWFzZSB1c2luZyBzb21ldGhpbmcgbGlrZToKKydnaXQgc2VuZC1lbWFpbCAtTSAtMSAtLXRvIG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnIC0tc3ViamVjdC1wcmVmaXg9bWV0YS14ZmNlXVtrcm9nb3RoXVtQQVRDSCcKKwora3JvZ290aCBCcmFuY2ggTWFpbnRhaW5lcjoKK0FybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9jbGFzc2VzL3RodW5hci1wbHVnaW4uYmJjbGFzcyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL2NsYXNzZXMvdGh1bmFyLXBsdWdpbi5iYmNsYXNzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRlYzA3M2EKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9jbGFzc2VzL3RodW5hci1wbHVnaW4uYmJjbGFzcwpAQCAtMCwwICsxLDEwIEBACitpbmhlcml0IHhmY2UKKworREVQRU5EUyArPSAidGh1bmFyIgorCitTUkNfVVJJID0gImh0dHA6Ly9hcmNoaXZlLnhmY2Uub3JnL3NyYy90aHVuYXItcGx1Z2lucy8ke0JQTn0vJHtAJyR7UFZ9J1swOjNdfS8ke0JQTn0tJHtQVn0udGFyLmJ6MiIKKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS90aHVuYXJ4LTIvKi5zbyIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L3RodW5hcngtMi8uZGVidWciCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS90aHVuYXJ4LTIvKi5sYSIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvY2xhc3Nlcy94ZmNlLWFwcC5iYmNsYXNzIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvY2xhc3Nlcy94ZmNlLWFwcC5iYmNsYXNzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg3ODBlYmYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9jbGFzc2VzL3hmY2UtYXBwLmJiY2xhc3MKQEAgLTAsMCArMSw0IEBACitpbmhlcml0IHhmY2UKKworU1JDX1VSSSA9ICJodHRwOi8vYXJjaGl2ZS54ZmNlLm9yZy9zcmMvYXBwcy8ke0JQTn0vJHtAeGZjZV92ZXJkaXIoIiR7UFZ9Iil9LyR7QlBOfS0ke1BWfS50YXIuYnoyIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9jbGFzc2VzL3hmY2UtZ2l0LmJiY2xhc3MgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9jbGFzc2VzL3hmY2UtZ2l0LmJiY2xhc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2ZjMThkMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL2NsYXNzZXMveGZjZS1naXQuYmJjbGFzcwpAQCAtMCwwICsxLDcgQEAKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgICAgIGNkICR7U30KKyAgICAgICBOT0NPTkZJR1VSRT15ZXMgLi9hdXRvZ2VuLnNoCisgICAgICAgY2QgJHtCfQorfQorCitBVVRPVE9PTFNfQ09QWUFDTE9DQUwgPSAiMSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL2NsYXNzZXMveGZjZS1wYW5lbC1wbHVnaW4uYmJjbGFzcyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL2NsYXNzZXMveGZjZS1wYW5lbC1wbHVnaW4uYmJjbGFzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMmYwNjc4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvY2xhc3Nlcy94ZmNlLXBhbmVsLXBsdWdpbi5iYmNsYXNzCkBAIC0wLDAgKzEsMTEgQEAKK2luaGVyaXQgeGZjZQorCitERVBFTkRTICs9ICJsaWJ4ZmNlNHVpIGxpYnhmY2U0dXRpbCB4ZmNlNC1wYW5lbCIKKworU1JDX1VSSSA9ICJodHRwOi8vYXJjaGl2ZS54ZmNlLm9yZy9zcmMvcGFuZWwtcGx1Z2lucy8ke0JQTn0vJHtAJyR7UFZ9J1swOjNdfS8ke0JQTn0tJHtQVn0udGFyLmJ6MiIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0veGZjZTQvcGFuZWwtcGx1Z2lucy8iCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS94ZmNlNC9wYW5lbC9wbHVnaW5zLyIKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0veGZjZTQvcGFuZWwtcGx1Z2lucy8qLnNvIgorRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS94ZmNlNC9wYW5lbC9wbHVnaW5zLyouc28iCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZXhlY2Rpcn0veGZjZTQvcGFuZWwtcGx1Z2lucy8uZGVidWciCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9jbGFzc2VzL3hmY2UuYmJjbGFzcyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL2NsYXNzZXMveGZjZS5iYmNsYXNzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI0OWJiYTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9jbGFzc2VzL3hmY2UuYmJjbGFzcwpAQCAtMCwwICsxLDIyIEBACitkZWYgeGZjZV92ZXJkaXIodik6CisgICAgaW1wb3J0IHJlCisgICAgbSA9IHJlLm1hdGNoKCJeKFswLTldKylcLihbMC05XSspIiwgdikKKyAgICByZXR1cm4gIiVzLiVzIiAlIChtLmdyb3VwKDEpLCBtLmdyb3VwKDIpKQorCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LnhmY2Uub3JnIgorU1JDX1VSSSA9ICJodHRwOi8vYXJjaGl2ZS54ZmNlLm9yZy9zcmMveGZjZS8ke0JQTn0vJHtAeGZjZV92ZXJkaXIoIiR7UFZ9Iil9LyR7QlBOfS0ke1BWfS50YXIuYnoyIgorCitpbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IGd0ay1pY29uLWNhY2hlIHBrZ2NvbmZpZworCitERVBFTkRTICs9ICJpbnRsdG9vbC1uYXRpdmUiCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2ljb25zLyogJHtkYXRhZGlyfS9hcHBsaWNhdGlvbnMvKiAke2xpYmRpcn0veGZjZTQvbW9kdWxlcy8qLnNvKiIKK0ZJTEVTXyR7UE59LWRvYyArPSAiJHtkYXRhZGlyfS94ZmNlNC9kb2MiCisKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L3hmY2U0LyovKi5sYSIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L3hmY2U0LyovKi8qLmxhIgorRklMRVNfJHtQTn0tc3RhdGljZGV2ICs9ICIke2xpYmRpcn0veGZjZTQvKi8qLmEiCitGSUxFU18ke1BOfS1zdGF0aWNkZXYgKz0gIiR7bGliZGlyfS94ZmNlNC8qLyovKi5hIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0veGZjZTQvKi8uZGVidWciCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS94ZmNlNC8qLyovLmRlYnVnIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9jb25mL2xheWVyLmNvbmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9jb25mL2xheWVyLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjRiMTA3NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL2NvbmYvbGF5ZXIuY29uZgpAQCAtMCwwICsxLDIzIEBACisjIFdlIGhhdmUgYSBjb25mIGFuZCBjbGFzc2VzIGRpcmVjdG9yeSwgYXBwZW5kIHRvIEJCUEFUSAorQkJQQVRIIC49ICI6JHtMQVlFUkRJUn0iCisKKyMgV2UgaGF2ZSBhIHJlY2lwZXMgZGlyZWN0b3J5LCBhZGQgdG8gQkJGSUxFUworQkJGSUxFUyArPSAiJHtMQVlFUkRJUn0vcmVjaXBlcy0qLyovKi5iYiAke0xBWUVSRElSfS9yZWNpcGVzLSovKi8qLmJiYXBwZW5kIgorCitCQkZJTEVfQ09MTEVDVElPTlMgKz0gInhmY2UtbGF5ZXIiCitCQkZJTEVfUEFUVEVSTl94ZmNlLWxheWVyIDo9ICJeJHtMQVlFUkRJUn0vIgorQkJGSUxFX1BSSU9SSVRZX3hmY2UtbGF5ZXIgPSAiNyIKKworIyBUaGlzIHNob3VsZCBvbmx5IGJlIGluY3JlbWVudGVkIG9uIHNpZ25pZmljYW50IGNoYW5nZXMgdGhhdCB3aWxsCisjIGNhdXNlIGNvbXBhdGliaWxpdHkgaXNzdWVzIHdpdGggb3RoZXIgbGF5ZXJzCitMQVlFUlZFUlNJT05feGZjZS1sYXllciA9ICIxIgorCitMQVlFUkRFUEVORFNfeGZjZS1sYXllciA9ICJjb3JlIgorTEFZRVJERVBFTkRTX3hmY2UtbGF5ZXIgKz0gIm9wZW5lbWJlZGRlZC1sYXllciIKK0xBWUVSREVQRU5EU194ZmNlLWxheWVyICs9ICJnbm9tZS1sYXllciIKK0xBWUVSREVQRU5EU194ZmNlLWxheWVyICs9ICJvcGVuZW1iZWRkZWQtbGF5ZXIiCitMQVlFUkRFUEVORFNfeGZjZS1sYXllciArPSAibWV0YS1weXRob24iCisKK1NJR0dFTl9FWENMVURFX1NBRkVfUkVDSVBFX0RFUFMgKz0gIiBcCisgIHhmY2U0LXNlc3Npb24tPm1hY2hpbmUtaG9zdCBcCisiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMvZ2lnb2xvL2dpZ29sb18wLjQuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy9naWdvbG8vZ2lnb2xvXzAuNC4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM4NDZlNzgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMvZ2lnb2xvL2dpZ29sb18wLjQuMi5iYgpAQCAtMCwwICsxLDExIEBACitTVU1NQVJZID0gIkdpZ29sbyBpcyBhIGZyb250ZW5kIHRvIGVhc2lseSBtYW5hZ2UgY29ubmVjdGlvbnMgdG8gcmVtb3RlIGZpbGVzeXN0ZW1zIHVzaW5nIEdJTy9HVmZzIgorU0VDVElPTiA9ICJ4MTEvYXBwbGljYXRpb24iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCisKK0RFUEVORFMgPSAiZ3RrKyBpbnRsdG9vbC1uYXRpdmUgeGZjZTQtZGV2LXRvb2xzLW5hdGl2ZSIKKworaW5oZXJpdCB4ZmNlLWFwcAorCitTUkNfVVJJW21kNXN1bV0gPSAiNGFiYzZmZGU1NjU3MmFkZjNlYzNhMDE4MTA5MjU4NGMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTUzZmM3OGZlNGU3YmQyZjAxZjM4NTFiYWVhN2U2M2Y2NDE0ZmU2NTJkZmI0YjA4YzYwYjVjNGIyYjkwOTE2NCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy9tb3VzZXBhZC9tb3VzZXBhZF8wLjQuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy9tb3VzZXBhZC9tb3VzZXBhZF8wLjQuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40Y2EyMWE2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcHBzL21vdXNlcGFkL21vdXNlcGFkXzAuNC4wLmJiCkBAIC0wLDAgKzEsMTkgQEAKK1NVTU1BUlkgPSAiQSBzaW1wbGUgdGV4dCBlZGl0b3IgZm9yIFhmY2UiCitTRUNUSU9OID0gIngxMS9hcHBsaWNhdGlvbiIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKKworIyBpbnRsdG9vbCB0byBwcm92aWRlIGludGx0b29sLm00IHdpdGggQUNfUFJPR19JTlRMVE9PTAorIyB4ZmNlNC1kZXYtdG9vbHMtbmF0aXZlIGZvciBYRFRfSTE4TiBtYWNybyBhbmQgbW9yZSBpbXBvcnRhbnRseSBYRFRfQ0hFQ0tfT1BUSU9OQUxfUEFDS0FHRQorIyB3aGljaCBmaXhlcyBtb3VzZXBhZC9NYWtlZmlsZS5hbTo3MjogZXJyb3I6IEhBVkVfREJVUyBkb2VzIG5vdCBhcHBlYXIgaW4gQU1fQ09ORElUSU9OQUwKK0RFUEVORFMgPSAiZ3RrKyBkYnVzIGRidXMtZ2xpYiBndGtzb3VyY2V2aWV3MiBpbnRsdG9vbC1uYXRpdmUgeGZjZTQtZGV2LXRvb2xzLW5hdGl2ZSIKKworaW5oZXJpdCB4ZmNlLWFwcCBnc2V0dGluZ3MKKworU1JDX1VSSVttZDVzdW1dID0gImY1NTMxNGM1ZGRhNjMyMzg4MzI0MWU2Y2YwMTU1MGE3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjYwMTE0NDMxZWFjOGRiNmJiNmNlMThiZDM4ZjE2MzBjY2NiNjg0Mzc1Yjk3YTQ0NWExYjZmZDYxOTg0OGQxMzIiCisKKyMgd2UgaGF2ZSBubyBndGtzb3VyY2V2aWV3IDMueCBhcm91bmQKK0VYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtZ3RrMyIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vZ2xpYi0yLjAvc2NoZW1hcyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy9vcmFnZS9vcmFnZV80LjEyLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMvb3JhZ2Uvb3JhZ2VfNC4xMi4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEyZjI1NjgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMvb3JhZ2Uvb3JhZ2VfNC4xMi4xLmJiCkBAIC0wLDAgKzEsMTkgQEAKK1NVTU1BUlkgPSAiWGZjZSBDYWxlbmRlciIKK1NFQ1RJT04gPSAieDExL2FwcGxpY2F0aW9uIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTlhYzJlN2NmZjFkZGFmNDhiNmVhYjYwMjhmMjNlZjg4IgorREVQRU5EUyA9ICJndGsrIHhmY2U0LXBhbmVsIGxpYmljYWwgcG9wdCIKKworaW5oZXJpdCB4ZmNlLWFwcAorCitTUkNfVVJJW21kNXN1bV0gPSAiMmI3ZjVkMzhjYjVjNmVkYmNjNjVkMGY1MmE3NDJlNDYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiM2NmOWFhNDQxYWU4M2M4Njg4ODY1ZjgyMjE3MDI1Y2RmM2ViYWExNTJjY2U0NTcxNzc3YjhjMmFhOGRkOTA2MiIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbbm90aWZ5XSA9ICItLWVuYWJsZS1saWJub3RpZnksLS1kaXNhYmxlLWxpYm5vdGlmeSxsaWJub3RpZnkiCisKK1BBQ0tBR0VTID0rICJ4ZmNlNC1vcmFnZWNsb2NrLXBsdWdpbiIKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2RidXMtMSIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L3hmY2U0L3BhbmVsL3BsdWdpbnMvLmRlYnVnIgorRklMRVNfeGZjZTQtb3JhZ2VjbG9jay1wbHVnaW4gPSAiJHtsaWJkaXJ9L3hmY2U0L3BhbmVsL3BsdWdpbnMvKi5zbyAke2RhdGFkaXJ9L3hmY2U0L3BhbmVsL3BsdWdpbnMiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy9yaXN0cmV0dG8vcmlzdHJldHRvXzAuOC4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcHBzL3Jpc3RyZXR0by9yaXN0cmV0dG9fMC44LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjYzOTljZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy9yaXN0cmV0dG8vcmlzdHJldHRvXzAuOC4wLmJiCkBAIC0wLDAgKzEsMTUgQEAKK1NVTU1BUlkgPSAiVGlueSBpbWFnZS12aWV3ZXIiCitIT01FUEFHRSA9ICJodHRwOi8vZ29vZGllcy54ZmNlLm9yZy9wcm9qZWN0cy9hcHBsaWNhdGlvbnMvcmlzdHJldHRvIgorU0VDVElPTiA9ICJ4MTEvYXBwbGljYXRpb24iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MzVkMTQ1NDI5YWQzY2JmNTMwOGQxZGM5M2Y2NjM3NmIiCitERVBFTkRTID0gImV4byBsaWJleGlmIGd0aysgZGJ1cy1nbGliIGxpYnhmY2U0dWkgbGlieGZjZTR1dGlsIHhmY29uZiBjYWlybyIKKworaW5oZXJpdCB4ZmNlLWFwcAorCitSUkVDT01NRU5EU18ke1BOfSArPSAidHVtYmxlciIKKworU1JDX1VSSVttZDVzdW1dID0gIjk0Yzc3ODg1MDMyNWE0ZTVhMTJlMzQzM2M4YTA1NDMyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjcxNjI1MzI0Y2VjZGE3MTk5YWNiYzk1YTNlYTUxMzJkMGRjYmY4MDg3NzFlN2EyMDllYTJiOTUwM2FlNGYzMjgiCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2FwcGRhdGEiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGFyY2hpdmVyL3hhcmNoaXZlcl9naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGFyY2hpdmVyL3hhcmNoaXZlcl9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2EyOTkyMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy94YXJjaGl2ZXIveGFyY2hpdmVyX2dpdC5iYgpAQCAtMCwwICsxLDI0IEBACitTVU1NQVJZID0gIkxpZ2h0d2VpZ2h0LCBkZXNrdG9wIGluZGVwZW5kZW50IEdUSysgYXJjaGl2ZSBtYW5hZ2VyIgorSE9NRVBBR0UgPSAiaHR0cDovL3hhcmNoaXZlci5zb3VyY2Vmb3JnZS5uZXQiCitTRUNUSU9OID0gIngxMSIKKworTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKKworREVQRU5EUyA9ICJndGsrIGdsaWItMi4wIHhmY2U0LWRldi10b29scy1uYXRpdmUgaW50bHRvb2wtbmF0aXZlIgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vc2Nobml0emVsdG9ueS94YXJjaGl2ZXIuZ2l0O2JyYW5jaD1tYXN0ZXIiCitTUkNSRVYgPSAiZTgwZTkwNTI4YzlhYWIyZmUzNmQ5MDc4Yjk0NWI0NGMwNWNjMjBkMyIKK1BWID0gIjAuNS4zIgorUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCB4ZmNlLWdpdCBnZXR0ZXh0IHBrZ2NvbmZpZyBhdXRvdG9vbHMgZ3RrLWljb24tY2FjaGUKKworIyBpbnN0YWxsIHRhcCBmaWxlcyBmb3IgdGh1bmFyLWFyY2hpdmUtcGx1Z2luIGluICR7bGliZGlyfS90aHVuYXItYXJjaGl2ZS1wbHVnaW4KK0VYVFJBX09FQ09ORiArPSAiLS1saWJleGVjZGlyPSR7bGliZGlyfSIKKworRVhUUkFfT0VDT05GICs9ICItLWVuYWJsZS1tYWludGFpbmVyLW1vZGUiCisKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vdGh1bmFyLWFyY2hpdmUtcGx1Z2luIgorCitSUkVDT01NRU5EU18ke1BOfSA9ICJsem9wIHppcCB0YXIgYnppcDIgdW56aXAgeHoiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGZjZS1wb2xraXQveGZjZS1wb2xraXRfMC4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcHBzL3hmY2UtcG9sa2l0L3hmY2UtcG9sa2l0XzAuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZmI0YTViCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcHBzL3hmY2UtcG9sa2l0L3hmY2UtcG9sa2l0XzAuMi5iYgpAQCAtMCwwICsxLDExIEBACitTVU1NQVJZID0gIkEgc2ltcGxlIFBvbGljeUtpdCBhdXRoZW50aWNhdGlvbiBhZ2VudCBmb3IgWEZDRSIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT03NThiMDNmODcyYTg4Yzk5ZmMzNmQ1MGM1OTMyMDkxYyIKKworREVQRU5EUyA9ICJsaWJ4ZmNlNHVpIHBvbGtpdCIKKworaW5oZXJpdCB4ZmNlLWFwcAorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vbmNvcGEvJHtCUE59LmdpdCIKK1NSQ1JFViA9ICI2YWQxZWU4MzNjOWUyMmU0ZGQ3MmE4ZjdkNTQ1NjJkMDQ2OTY1MjgzIgorUyA9ICIke1dPUktESVJ9L2dpdCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy94ZmNlNC1taXhlci94ZmNlNC1taXhlcl80LjExLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGZjZTQtbWl4ZXIveGZjZTQtbWl4ZXJfNC4xMS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJkYmVjNDUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGZjZTQtbWl4ZXIveGZjZTQtbWl4ZXJfNC4xMS4wLmJiCkBAIC0wLDAgKzEsMTQgQEAKK1NVTU1BUlkgPSAiQSB2b2x1bWUgY29udHJvbCBhcHBsaWNhdGlvbiBiYXNlZCBvbiBHU3RyZWFtZXIiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTk1MzBiZGYzMzY1OWIyOWU3M2Q0YWRiOWY5ZjY1NTIiCisKK2luaGVyaXQgeGZjZS1wYW5lbC1wbHVnaW4KKworREVQRU5EUyArPSAiZ2xpYi0yLjAgZ3N0LXBsdWdpbnMtYmFzZSBndGsrIHhmY29uZiBsaWJ1bmlxdWUiCisKK1NSQ19VUkkgPSAiaHR0cDovL2FyY2hpdmUueGZjZS5vcmcvc3JjL2FwcHMvJHtCUE59LyR7QHhmY2VfdmVyZGlyKCIke1BWfSIpfS8ke0JQTn0tJHtQVn0udGFyLmJ6MiIKKworU1JDX1VSSVttZDVzdW1dID0gIjFiMzc1M2I5MTIyNDg2N2EzYTJkZmRkZGEyMzljMjhkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImZiMGMxZGYyMDFlZDExMzBmNTRmMTViOTE0Y2JlNWE1OTI4NmU5OTRhMTM3YWNkYTU2MDk1NzBjNTcxMTJkZTIiCisKK1JERVBFTkRTXyR7UE59ID0gImdzdC1tZXRhLWF1ZGlvIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcHBzL3hmY2U0LW5vdGlmeWQveGZjZTQtbm90aWZ5ZF8wLjIuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy94ZmNlNC1ub3RpZnlkL3hmY2U0LW5vdGlmeWRfMC4yLjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWY4NzRhZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy94ZmNlNC1ub3RpZnlkL3hmY2U0LW5vdGlmeWRfMC4yLjQuYmIKQEAgLTAsMCArMSwyMCBAQAorU1VNTUFSWSA9ICJFYXNpbHkgdGhlbWFibGUgbm90aWZpY2F0aW9uIGRhZW1vbiB3aXRoIHRyYW5zcGFyZW5jeSBlZmZlY3RzIgorSE9NRVBBR0UgPSAiaHR0cDovL2dvb2RpZXMueGZjZS5vcmcvcHJvamVjdHMvYXBwbGljYXRpb25zL3hmY2U0LW5vdGlmeWQiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCitERVBFTkRTID0gImxpYnhmY2U0dXRpbCBsaWJ4ZmNlNHVpIHhmY29uZiBndGsrIGRidXMgZGJ1cy1nbGliIGxpYm5vdGlmeSIKKworaW5oZXJpdCB4ZmNlLWFwcAorCitTUkNfVVJJW21kNXN1bV0gPSAiMDk0YmU2ZjI5MjA2YWFjODI5OWYyNzA4NGUyODRlODgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOGM3ZWQ2MmY5NDk2ODE2ZDEzOTEyODFmNzdkMWIzMjIxNmY5YmY2ZmQyMmZiZTRmNmYzZjRlMDdhNmJiY2VkMCIKKworZG9fY29tcGlsZV9wcmVwZW5kKCkgeworCW1rZGlyIC1wIHhmY2U0LW5vdGlmeWQKK30KKworRklMRVNfJHtQTn0gKz0gIiBcCisgICAgJHtsaWJkaXJ9L3hmY2U0L25vdGlmeWQgXAorICAgICR7ZGF0YWRpcn0vdGhlbWVzIFwKKyAgICAke2RhdGFkaXJ9L2RidXMtMSBcCisiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGZjZTQtc2NyZWVuc2hvb3Rlci9maWxlcy8wMDAxLU1ha2VmaWxlLmFtLWNyZWF0ZS1vdXB1dC1kaXJlY3RvcnktZm9yLWRlc2t0b3AtZmlsZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy94ZmNlNC1zY3JlZW5zaG9vdGVyL2ZpbGVzLzAwMDEtTWFrZWZpbGUuYW0tY3JlYXRlLW91cHV0LWRpcmVjdG9yeS1mb3ItZGVza3RvcC1maWxlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYyYmZmZWYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGZjZTQtc2NyZWVuc2hvb3Rlci9maWxlcy8wMDAxLU1ha2VmaWxlLmFtLWNyZWF0ZS1vdXB1dC1kaXJlY3RvcnktZm9yLWRlc2t0b3AtZmlsZS5wYXRjaApAQCAtMCwwICsxLDI5IEBACitGcm9tIGM4NWJmN2NjNWMxZTE3ODBkMjE1ZjZmZTIzM2UzZWQ0NTk3YzcyZWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBKYWNraWUgSHVhbmcgPGphY2tpZS5odWFuZ0B3aW5kcml2ZXIuY29tPgorRGF0ZTogTW9uLCAyMSBTZXAgMjAxNSAwNjo1NDoyOCArMDAwMAorU3ViamVjdDogW1BBVENIXSBNYWtlZmlsZS5hbTogY3JlYXRlIG91cHV0IGRpcmVjdG9yeSBmb3IgZGVza3RvcCBmaWxlCisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFsxXQorCitbMV06IGh0dHA6Ly9idWctYXR0YWNobWVudC54ZmNlLm9yZy9hdHRhY2htZW50LmNnaT9pZD02NDYwCisKK1NpZ25lZC1vZmYtYnk6IEphY2tpZSBIdWFuZyA8amFja2llLmh1YW5nQHdpbmRyaXZlci5jb20+CistLS0KKyBNYWtlZmlsZS5hbSB8IDEgKworIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUuYW0gYi9NYWtlZmlsZS5hbQoraW5kZXggYTIyZmMyMC4uMmVmMGU1NCAxMDA2NDQKKy0tLSBhL01ha2VmaWxlLmFtCisrKysgYi9NYWtlZmlsZS5hbQorQEAgLTEyMiw2ICsxMjIsNyBAQCBhcHBfZGVza3RvcF9EQVRBID0gJChhcHBfZGVza3RvcF9pbl9maWxlczouZGVza3RvcC5pbj0uZGVza3RvcCkKKyAKKyBzcmMveGZjZTQtc2NyZWVuc2hvb3Rlci5kZXNrdG9wLmluOiBzcmMveGZjZTQtc2NyZWVuc2hvb3Rlci5kZXNrdG9wLmluLmluCisgCSQoQU1fVl9HRU4pICggXAorKwkJJChNS0RJUl9QKSAkKGRpciAkQCk7IFwKKyAJCXNlZCAtZSAic15AUExVR0lOX1BBVEhAXiQobGliZXhlY2RpcikvYXBwbGljYXRpb25zXiIgXAorIAkJCSQ8ID4gJEAgXAorIAkpCistLSAKKzIuMC4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy94ZmNlNC1zY3JlZW5zaG9vdGVyL3hmY2U0LXNjcmVlbnNob290ZXJfMS44LjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGZjZTQtc2NyZWVuc2hvb3Rlci94ZmNlNC1zY3JlZW5zaG9vdGVyXzEuOC4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRlMmJjNjEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGZjZTQtc2NyZWVuc2hvb3Rlci94ZmNlNC1zY3JlZW5zaG9vdGVyXzEuOC4yLmJiCkBAIC0wLDAgKzEsMjMgQEAKK1NVTU1BUlkgPSAiQXBwbGljYXRpb24gdG8gdGFrZSBzY3JlZW5zaG90cyIKK0hPTUVQQUdFID0gImh0dHA6Ly9nb29kaWVzLnhmY2Uub3JnL3Byb2plY3RzL2FwcGxpY2F0aW9ucy94ZmNlNC1zY3JlZW5zaG9vdGVyIgorU0VDVElPTiA9ICJ4MTEvYXBwbGljYXRpb24iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDc5MTcyOGEwNzNiYzAwOWI0ZmZhZjAwYjc1OTk4NTUiCitERVBFTkRTID0gInhmY2U0LXBhbmVsIGxpYnhmY2U0dXRpbCBsaWJ4ZmNlNHVpIGdkay1waXhidWYgZ3RrKyBnbGliLTIuMCBsaWJzb3VwLTIuNCBleG8gbGlieGZpeGVzIHhleHQgdmlydHVhbC9saWJ4MTEiCisKK2luaGVyaXQgeGZjZS1hcHAKKworU1JDX1VSSSArPSAiZmlsZTovLzAwMDEtTWFrZWZpbGUuYW0tY3JlYXRlLW91cHV0LWRpcmVjdG9yeS1mb3ItZGVza3RvcC1maWxlLnBhdGNoIgorCitTUkNfVVJJW21kNXN1bV0gPSAiM2EzMmVjYzU1NjY0NTNhNThmNmE0ZGRkNzA2NDk0NDQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOWRjZTJkZGZhYTg3ZjcwM2U4NzBlMjliYWUxM2YzZmM4MmExYjNmMDZiNDRmODM4NjY0MGU0NWExMzVmNWY2OSIKKworZG9fY29tcGlsZV9wcmVwZW5kKCkgeworCW1rZGlyIC1wIGxpYgorfQorCitGSUxFU18ke1BOfSArPSAiIFwKKyAgICAke2RhdGFkaXJ9L2FwcGRhdGEgXAorICAgICR7ZGF0YWRpcn0veGZjZTQvcGFuZWwvcGx1Z2lucyBcCisgICAgJHtsaWJkaXJ9L3hmY2U0L3BhbmVsL3BsdWdpbnMgXAorIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcHBzL3hmY2U0LXRhc2ttYW5hZ2VyL3hmY2U0LXRhc2ttYW5hZ2VyXzEuMS4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcHBzL3hmY2U0LXRhc2ttYW5hZ2VyL3hmY2U0LXRhc2ttYW5hZ2VyXzEuMS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNiMWJlNjcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGZjZTQtdGFza21hbmFnZXIveGZjZTQtdGFza21hbmFnZXJfMS4xLjAuYmIKQEAgLTAsMCArMSwxMCBAQAorU1VNTUFSWSA9ICJFYXN5IHRvIHVzZSB0YXNrIG1hbmFnZXIiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCisKK2luaGVyaXQgeGZjZS1hcHAKKworREVQRU5EUyArPSAiZ3RrKyBjYWlybyBsaWJ3bmNrIHhmY2U0LWRldi10b29scy1uYXRpdmUgZXhvLW5hdGl2ZSIKKworU1JDX1VSSVttZDVzdW1dID0gIjdkYTQ2NWE0Nzk4NjI5ZWJkODY1MGZlZjYyNzcwYWI3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjJlMWViMTYxZjk2NmNiZmJkNjhiZDAyOWZiNTkxMTViYzVhYjBjMDcwNGNiNTAwZDIwZTdkNzM5NjdlNTllY2IiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGZjZTQtdGVybWluYWwveGZjZTQtdGVybWluYWxfMC42LjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGZjZTQtdGVybWluYWwveGZjZTQtdGVybWluYWxfMC42LjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTA0OWIyNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy94ZmNlNC10ZXJtaW5hbC94ZmNlNC10ZXJtaW5hbF8wLjYuMy5iYgpAQCAtMCwwICsxLDEyIEBACitTVU1NQVJZID0gIlRlcm1pbmFsIGVtdWxhdG9yIGZvciB0aGUgWGZjZSBkZXNrdG9wIGVudmlyb25tZW50IgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgorREVQRU5EUyA9ICJnbGliLTIuMCBndGsrIHZ0ZSBsaWJ4ZmNlNHVpIgorCitpbmhlcml0IHhmY2UtYXBwCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L3hmY2U0IFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2dub21lLWNvbnRyb2wtY2VudGVyIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNmEyODE2ZDhiMDkzM2NkNzA3ZWQ0NTZjZWI3MzEzOTkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTEyZjQ3MTZjMjM5NWExNGE4MDYyMGVmOTgyYjRhZjFlMmE2N2E4ZGY5YTFlZjBiODAyZWNhZTgyNjA1N2UwOCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXJ0L2N1cnNvci10aGVtZXMvb3BlbnpvbmVfMS4yLjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFydC9jdXJzb3ItdGhlbWVzL29wZW56b25lXzEuMi4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk1NDc3MzYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFydC9jdXJzb3ItdGhlbWVzL29wZW56b25lXzEuMi4zLmJiCkBAIC0wLDAgKzEsMjkgQEAKK1NVTU1BUlkgPSAiWDExIE1vdXNlIFRoZW1lIgorSE9NRVBBR0UgPSAiaHR0cDovL3hmY2UtbG9vay5vcmcvY29udGVudC9zaG93LnBocC9PcGVuWm9uZT9jb250ZW50PTExMTM0MyIKK1NFQ1RJT04gPSAieDExL3dtIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1hMmY1NjJmYjhmYjFlMTM4YjgxMGQ2OTUyMWM0YmNkNyIKK0RFUEVORFMgPSAiaWNvbi1zbGljZXItbmF0aXZlIHhjdXJzb3JnZW4tbmF0aXZlIgorCitpbmhlcml0IGFsbGFyY2gKKworU1JDX1VSSSA9ICJodHRwOi8veGZjZS1sb29rLm9yZy9DT05URU5UL2NvbnRlbnQtZmlsZXMvMTExMzQzLU9wZW5ab25lLSR7UFZ9LnRhci54eiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI0ZGFlOTY4Y2JkNTI1MDcyNjY0ZWY3YTRmYzdjNDE1NCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkYzIwZjk3YTQ5ZTFmZjFiZWNmNzg1M2VmNWYxMzdlZDMwYTRjMjc0OTA1NDBlNzU1MDIxZDc4ZDMzOWVmZDkyIgorCitTID0gIiR7V09SS0RJUn0vT3BlblpvbmUiCisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS9pY29ucworICAgIGZvciB0aGVtZSBpbiBgZmluZCAtbmFtZSAnKi50YXIueHonYDsgZG8KKyAgICAgICAgdGFyIC1KeGYgJHt0aGVtZX0gLUMgJHtEfSR7ZGF0YWRpcn0vaWNvbnMKKyAgICBkb25lCit9CisKK3B5dGhvbiBwb3B1bGF0ZV9wYWNrYWdlc19wcmVwZW5kICgpIHsKKyAgICBpY29uZGlyID0gYmIuZGF0YS5leHBhbmQoJyR7ZGF0YWRpcn0vaWNvbnMnLCBkKQorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGljb25kaXIsICdeKC4qKScsICclcycsICdPcGVuIFpvbmUgY3Vyc29ycyAlcycsIGFsbG93X2RpcnM9VHJ1ZSkKK30KKworUEFDS0FHRVNfRFlOQU1JQyArPSAiXm9wZW56b25lLS4qIgorQUxMT1dfRU1QVFlfJHtQTn0gPSAiMSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXJ0L3JvZGVudC1pY29uLXRoZW1lL3JvZGVudC1pY29uLXRoZW1lXzUuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXJ0L3JvZGVudC1pY29uLXRoZW1lL3JvZGVudC1pY29uLXRoZW1lXzUuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MGJhMzQwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcnQvcm9kZW50LWljb24tdGhlbWUvcm9kZW50LWljb24tdGhlbWVfNS4wLmJiCkBAIC0wLDAgKzEsMTYgQEAKK1NVTU1BUlkgPSAiUm9kZW50LWljb24tdGhlbWUgKHdhcyB4ZmNlNC1pY29uLXRoZW1lKSBpcyBhIHN2ZyBpY29uIHRoZW1lIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PThjYTQzY2JjODQyYzIzMzZlODM1OTI2YzIxNjZjMjhiIgorCitpbmhlcml0IGFsbGFyY2ggYXV0b3Rvb2xzIGd0ay1pY29uLWNhY2hlCisKK1NSQ19VUkkgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy94ZmZtL2ZpbGVzLyR7QlBOfS8ke0JQTn0tJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjRiMDk3ZDM0NGExNjBkNjQ5N2M2NDk4OTg1YzhkZjE1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjZlZDAwZDE2ZmFhMWY1NWIzYmI3YjEzODYyZGUxZDdmNWNmZDk3OGI5M2U0MjQ4N2RlZDIxNTk1ZDBkYmUyMDgiCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2ljb25zIgorCitSUkVQTEFDRVNfJHtQTn0gKz0gInhmY2U0LWljb24tdGhlbWUiCitSUFJPVklERVNfJHtQTn0gKz0gInhmY2U0LWljb24tdGhlbWUiCitSQ09ORkxJQ1RTXyR7UE59ICs9ICJ4ZmNlNC1pY29uLXRoZW1lIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFydC94ZmNlLWR1c2stZ3RrMy94ZmNlLWR1c2stZ3RrM18xLjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFydC94ZmNlLWR1c2stZ3RrMy94ZmNlLWR1c2stZ3RrM18xLjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjA1Yzc0OAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXJ0L3hmY2UtZHVzay1ndGszL3hmY2UtZHVzay1ndGszXzEuMy5iYgpAQCAtMCwwICsxLDE5IEBACitTVU1NQVJZID0gIk1vZGlmaWVkIHZlcnNpb24gb2YgdGhlIHhmY2UtZHVzayB0aGVtZSB0byBzdXBwb3J0IGFsc28gZ3RrIDMueCB0b28iCitMSUNFTlNFID0gIkdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9OGYwZTJjZDQwZTA1MTg5ZWM4MTIzMmRhODRiZDZlMWEiCisKK2luaGVyaXQgYWxsYXJjaAorCitTUkNfVVJJID0gImh0dHA6Ly94ZmNlLWxvb2sub3JnL0NPTlRFTlQvY29udGVudC1maWxlcy8xNDE0MDQteGZjZV9kdXNrX2d0azMtMV8zLnRhci5nejtzdWJkaXI9JHtCUE59LSR7UFZ9IgorU1JDX1VSSVttZDVzdW1dID0gImIzYWQzN2FkODE3M2IxNGVjMDkwZTYwYTgwZTY1ZDhmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImJmYThhODg2MDdkMWExZGE1YmQwYjllNGUwNzU3NjdjNTQ0MDBhM2M1YTBmYWU4OGI2MTllZDcxNTMyZjMwYjQiCisKK2RvX2NvbmZpZ3VyZSgpIHsKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9L3RoZW1lcworICAgIGNwIC1yIFhmY2UtZHVzay1ndGszICR7RH0ke2RhdGFkaXJ9L3RoZW1lcy9YZmNlLWR1c2stZ3RrMworfQorCitGSUxFU18ke1BOfSA9ICIke2RhdGFkaXJ9L3RoZW1lcyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXJ0L3hmd200LXRoZW1lcy94ZndtNC10aGVtZXNfNC4xMC4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcnQveGZ3bTQtdGhlbWVzL3hmd200LXRoZW1lc180LjEwLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzAzMGY3YQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXJ0L3hmd200LXRoZW1lcy94ZndtNC10aGVtZXNfNC4xMC4wLmJiCkBAIC0wLDAgKzEsMTkgQEAKK1NVTU1BUlkgPSAiQWRkaXRpb25hbCAob2xkKSB0aGVtZXMgZm9yIFhmd200IgorU0VDVElPTiA9ICJ4MTEvd20iCitMSUNFTlNFID0gIkdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCisKK2luaGVyaXQgeGZjZQorCitTUkNfVVJJID0gImh0dHA6Ly9hcmNoaXZlLnhmY2Uub3JnL3NyYy9hcnQvJHtCUE59LyR7QCcke1BWfSdbMDo0XX0vJHtCUH0udGFyLmJ6MiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJlYWE1ODM2MjA1M2EzNTQ5YzhiZTBiMzJlZmQzYzU0ZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzMjE0ZDVmMDBlOTcwM2I1ZThjOWU3YzMyODdkNjA2ZGVkZWM3Mjg1Y2ViNGQ1ZGIzMzJlOTNhZGE2NmZkNTc1IgorCisjIHVzaW5nIHhmd200LXRoZW1lIGFzIGluIHhmd200IG1pZ2h0IGNhdXNlIHdhcm5pbmdzIG9mIHBhY2thZ2VzIHN1cHBsaWVkIGJ5CisjIG11bHRpcGxlIHByb3ZpZGVycy4gU28gd2UgdXNlIHhmd200LW9sZC10aGVtZSBoZXJlLgorcHl0aG9uIHBvcHVsYXRlX3BhY2thZ2VzX3ByZXBlbmQgKCkgeworICAgIHRoZW1lZGlyID0gZC5leHBhbmQoJyR7ZGF0YWRpcn0vdGhlbWVzJykKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCB0aGVtZWRpciwgJ14oLiopJywgJ3hmd200LW9sZC10aGVtZS0lcycsICdYRldNNCB0aGVtZSAlcycsIGFsbG93X2RpcnM9VHJ1ZSkKK30KKworUEFDS0FHRVNfRFlOQU1JQyArPSAiXnhmd200LW9sZC10aGVtZS0uKiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYmluZGluZ3MvdmFsYS94ZmNlNC12YWxhXzQuMTAuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYmluZGluZ3MvdmFsYS94ZmNlNC12YWxhXzQuMTAuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YmQwODVhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1iaW5kaW5ncy92YWxhL3hmY2U0LXZhbGFfNC4xMC4zLmJiCkBAIC0wLDAgKzEsMTYgQEAKK1NVTU1BUlkgPSAiWGZjZTQgVmFsYSBwcm92aWRlcyBiaW5kaW5ncyBmb3IgdGhlIFhmY2UgZnJhbWV3b3JrIgorTElDRU5TRSA9ICJMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTI0M2I3MjVkNzFiYjVkZjRhMWU1OTIwYjM0NGI4NmFkIgorREVQRU5EUyA9ICJsaWJ4ZmNlNHV0aWwgZ2FyY29uIHhmY29uZiBsaWJ4ZmNlNHVpIHhmY2U0LXBhbmVsIGV4byB2YWxhIHhmY2U0LWRldi10b29scy1uYXRpdmUiCisKK2luaGVyaXQgeGZjZQorCitTUkNfVVJJID0gImh0dHA6Ly9hcmNoaXZlLnhmY2Uub3JnL3NyYy9iaW5kaW5ncy8ke0JQTn0vJHtAeGZjZV92ZXJkaXIoIiR7UFZ9Iil9LyR7QlBOfS0ke1BWfS50YXIuYnoyIgorU1JDX1VSSVttZDVzdW1dID0gIjBiYmIxZDZlNDczZTBmZTliMzM1YjdiMWI0OWQ4YTcxIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjA3YThmMmI3YzA5ZmNkZDNkODZlMGM1MmFkZWEzYzU4Y2EwMTFkMDE0MmE5Mzk5N2EwMWI0YWY3NzI2MGFlN2IiCisKK0VYVFJBX09FQ09ORiA9ICItd2l0aC12YWxhLWFwaT0wLjMwIgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS92YWxhLSovdmFwaSIKKworUkRFUEVORFNfJHtQTn0gPSAidmFsYSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtY29yZS9pbWFnZXMvY29yZS1pbWFnZS1taW5pbWFsLXhmY2UuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWNvcmUvaW1hZ2VzL2NvcmUtaW1hZ2UtbWluaW1hbC14ZmNlLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYzOTAwZjgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWNvcmUvaW1hZ2VzL2NvcmUtaW1hZ2UtbWluaW1hbC14ZmNlLmJiCkBAIC0wLDAgKzEsMTcgQEAKK0RFU0NSSVBUSU9OID0gIkEgWEZDRSBtaW5pbWFsIGRlbW8gaW1hZ2UuIgorCitJTUFHRV9JTlNUQUxMID0gInBhY2thZ2Vncm91cC1jb3JlLWJvb3QgXAorICAgICR7Uk9PVEZTX1BLR01BTkFHRV9CT09UU1RSQVB9IFwKKyAgICBwYWNrYWdlZ3JvdXAtY29yZS14MTEgXAorICAgIHBhY2thZ2Vncm91cC14ZmNlLWJhc2UgXAorIgorCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgorCitJTUFHRV9MSU5HVUFTID89ICIgIgorCitMSUNFTlNFID0gIk1JVCIKKworZXhwb3J0IElNQUdFX0JBU0VOQU1FID0gImNvcmUtaW1hZ2UtbWluaW1hbC14ZmNlIgorCitpbmhlcml0IGNvcmUtaW1hZ2UKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtZXh0ZW5kZWQvaW1zZXR0aW5ncy9ndGstaXMtcmVxdWlyZWQtYnktbm90aWZ5LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1leHRlbmRlZC9pbXNldHRpbmdzL2d0ay1pcy1yZXF1aXJlZC1ieS1ub3RpZnkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDQyMzU4ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtZXh0ZW5kZWQvaW1zZXR0aW5ncy9ndGstaXMtcmVxdWlyZWQtYnktbm90aWZ5LnBhdGNoCkBAIC0wLDAgKzEsMTggQEAKK2d0aysgaXMgcmVxdWlyZWQgYnkgbGlubm90aWZ5LiBTbyBtYWtlIHN1cmUgZ3RrIGJlIGxpbmtlZCBiZWZvcmUgbGlibm90aWZ5CisKK1NpZ25lZC1vZmYtYnk6IEJpYW4gTmFpbWVuZyA8Ymlhbm5tQGNuLmZ1aml0c3UuY29tPgorCitkaWZmIC1OdXJwIGltc2V0dGluZ3MtMS42Ljcub3JpZy9jb25maWd1cmUuYWMgaW1zZXR0aW5ncy0xLjYuNy9jb25maWd1cmUuYWMKKy0tLSBpbXNldHRpbmdzLTEuNi43Lm9yaWcvY29uZmlndXJlLmFjCTIwMTMtMTEtMjYgMTY6MDk6MDkuMDAwMDAwMDAwICswODAwCisrKysgaW1zZXR0aW5ncy0xLjYuNy9jb25maWd1cmUuYWMJMjAxNC0xMi0zMCAxMToyNzo0NC4zNzAwMDMyMDkgKzA4MDAKK0BAIC05Myw4ICs5Myw4IEBAIFBLR19DSEVDS19NT0RVTEVTKExJQk5PVElGWSwgbGlibm90aWZ5LAorIAkJaGFzX29sZF9saWJub3RpZnk9eWVzCisgCQlQS0dfQ0hFQ0tfTU9EVUxFUyhHVEssIGd0aystMi4wID49ICRHVEtfUkVRVUlSRUQpCisgCQlBQ19ERUZJTkUoSEFTX09MRF9MSUJOT1RJRlksLCBbVXNpbmcgb2xkZXIgbGlibm90aWZ5XSkKKy0JCUlNREFFTU9OX0NGTEFHUz0iJEdUS19DRkxBR1MgJExJQk5PVElGWV9PTERfQ0ZMQUdTIgorLQkJSU1EQUVNT05fTElCUz0iJEdUS19MSUJTICRMSUJOT1RJRllfT0xEX0xJQlMiXSxbCisrCQlJTURBRU1PTl9DRkxBR1M9IiRMSUJOT1RJRllfT0xEX0NGTEFHUyAkR1RLX0NGTEFHUyIKKysJCUlNREFFTU9OX0xJQlM9IiRMSUJOT1RJRllfT0xEX0xJQlMgJEdUS19MSUJTIl0sWworIAkJaGFzX29sZF9saWJub3RpZnk9bm8KKyAJCUlNREFFTU9OX0NGTEFHUz0iJExJQk5PVElGWV9DRkxBR1MiCisgCQlJTURBRU1PTl9MSUJTPSIkTElCTk9USUZZX0xJQlMiXSkKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtZXh0ZW5kZWQvaW1zZXR0aW5ncy9tdWx0aS1saW5lLUFDTE9DQUxfQU1GTEFHUy1pc25vdC1zdXBwb3J0ZWQtYnktYXV0b3JlY29uZi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtZXh0ZW5kZWQvaW1zZXR0aW5ncy9tdWx0aS1saW5lLUFDTE9DQUxfQU1GTEFHUy1pc25vdC1zdXBwb3J0ZWQtYnktYXV0b3JlY29uZi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZTMxODQ3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1leHRlbmRlZC9pbXNldHRpbmdzL211bHRpLWxpbmUtQUNMT0NBTF9BTUZMQUdTLWlzbm90LXN1cHBvcnRlZC1ieS1hdXRvcmVjb25mLnBhdGNoCkBAIC0wLDAgKzEsMjEgQEAKK211bHRpLWxpbmUgQUNMT0NBTF9BTUZMQUdTIGlzbid0IHN1cHBvcnRlZCBieSBhdXRvcmVjb25mLgorSXQgd2lsbCBjYXVzZSBjb25maWd1cmUgZXJyb3IgYXMgZm9sbG93LgorCisgIGFjbG9jYWw6IGVycm9yOiBub24tb3B0aW9uIGFyZ3VtZW50cyBhcmUgbm90IGFjY2VwdGVkOiAnXCcuCisKK1NpZ25lZC1vZmYtYnk6IEJpYW4gTmFpbWVuZyA8Ymlhbm5tQGNuLmZ1aml0c3UuY29tPgorCitkaWZmIC1OdXJwIGltc2V0dGluZ3MtMS42Ljgub3JpZy9NYWtlZmlsZS5hbSBpbXNldHRpbmdzLTEuNi44L01ha2VmaWxlLmFtCistLS0gaW1zZXR0aW5ncy0xLjYuOC5vcmlnL01ha2VmaWxlLmFtCTIwMTMtMDItMDggMTE6MzM6NTkuMDAwMDAwMDAwICswOTAwCisrKysgaW1zZXR0aW5ncy0xLjYuOC9NYWtlZmlsZS5hbQkyMDE1LTA2LTI0IDE0OjE1OjMyLjA3MDAwMDAwNyArMDkwMAorQEAgLTEsOSArMSw3IEBACisgTlVMTCA9CisgU1VCRElSUyA9IGRhdGEgaW1zZXR0aW5ncyBpbXNldHRpbmdzLWRhZW1vbiBiYWNrZW5kcyB1dGlscyBwbyB0ZXN0cyBkb2NzCisgCistQUNMT0NBTF9BTUZMQUdTID0JCQlcCistCS1JIG00bWFjcm9zCQkJXAorLQkkKE5VTEwpCisrQUNMT0NBTF9BTUZMQUdTID0gLUkgbTRtYWNyb3MgJChOVUxMKQorIAorIENPTkZJR1VSRV9ERVBFTkRFTkNJRVMgPQkJXAorIAlyZXF1aXJlcwkJCVwKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtZXh0ZW5kZWQvaW1zZXR0aW5nc18xLjYuOC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtZXh0ZW5kZWQvaW1zZXR0aW5nc18xLjYuOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42OTk1NDdkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1leHRlbmRlZC9pbXNldHRpbmdzXzEuNi44LmJiCkBAIC0wLDAgKzEsMzAgQEAKK1NVTU1BUlkgPSAiRGVsaXZlcnkgZnJhbWV3b3JrIGZvciBnZW5lcmFsIElucHV0IE1ldGhvZCBjb25maWd1cmF0aW9uIgorREVTQ1JJUFRJT04gPSAiSU1TZXR0aW5ncyBpcyBhIGZyYW1ld29yayB0aGF0IGRlbGl2ZXJzIElucHV0IE1ldGhvZCBcCitzZXR0aW5ncyBhbmQgYXBwbGllcyB0aGUgY2hhbmdlcyBzbyB0aGV5IHRha2UgZWZmZWN0IFwKK2ltbWVkaWF0ZWx5IHdpdGhvdXQgYW55IG5lZWQgdG8gcmVzdGFydCBhcHBsaWNhdGlvbnMgXAorb3IgdGhlIGRlc2t0b3AuIFwKK1RoaXMgcGFja2FnZSBjb250YWlucyB0aGUgY29yZSBEQnVzIHNlcnZpY2VzIGFuZCBzb21lIHV0aWxpdGllcy4iCitIT01FUEFHRSA9ICJodHRwOi8vY29kZS5nb29nbGUuY29tL3AvaW1zZXR0aW5ncy8iCitTRUNUSU9OID0gIkFwcGxpY2F0aW9ucy9TeXN0ZW0iCisKK2luaGVyaXQgYXV0b3Rvb2xzIGd0ay1kb2MKKworU1JDX1VSSSA9ICJodHRwczovL2JpdGJ1Y2tldC5vcmcvdGFnb2gvaW1zZXR0aW5ncy9kb3dubG9hZHMvJHtCUE59LSR7UFZ9LnRhci5iejIgXAorICAgICAgICAgICBmaWxlOi8vZ3RrLWlzLXJlcXVpcmVkLWJ5LW5vdGlmeS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9tdWx0aS1saW5lLUFDTE9DQUxfQU1GTEFHUy1pc25vdC1zdXBwb3J0ZWQtYnktYXV0b3JlY29uZi5wYXRjaCIKKworU1JDX1VSSVttZDVzdW1dID0gImMzMTQyOWYxZDYwZTM2ZDdmODExZjg3MWM3NWI2YzQxIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjI2MjBmZmJmOWE2ZGM4NDJkYmY5OTRiNDc3M2Q0ZmUzNTVlYjc3MDc2Y2NmMzNmNzI2YmE2M2YxNmMwZDA4YmEiCisKK0xJQ0VOU0UgPSAiTEdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTJkNTAyNWQ0YWEzNDk1YmVmZWY4ZjE3MjA2YTViMGExIgorCitFWFRSQV9PRUNPTkYgPSAiLS13aXRoLXhpbnB1dHNoPTUwLXhpbnB1dC5zaCBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLXN0YXRpYyBcCisgICAgICAgICAgICAgICAiCisKK0RFUEVORFMgPSAiZ3RrKyBnY29uZiBsaWJub3RpZnkgZGJ1cy1nbGliIGxpYmd4aW0geGZjb25mIgorCitSREVQRU5EU18ke1BOfSArPSAiYmFzaCIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vZGJ1cy0xLyoiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLW11bHRpbWVkaWEvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAteGZjZS1tdWx0aW1lZGlhLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1tdWx0aW1lZGlhL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLXhmY2UtbXVsdGltZWRpYS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MmE5NmYzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1tdWx0aW1lZGlhL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLXhmY2UtbXVsdGltZWRpYS5iYgpAQCAtMCwwICsxLDExIEBACitTVU1NQVJZID0gIkFsbCBwYWNrYWdlcyBtdWx0aW1lZGlhIHBhY2thZ2VzIGF2YWlsYWJsZSBmb3IgWEZDRSIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtDT1JFQkFTRX0vTElDRU5TRTttZDU9NGQ5MmNkMzczYWJkYTM5MzdjMmJjNDdmYmM0OWQ2OTAiCisKK2luaGVyaXQgcGFja2FnZWdyb3VwCisKK1JERVBFTkRTXyR7UE59ID0gIiBcCisgICAgcGFyb2xlIFwKKyAgICB4Zm1wYyBcCisgICAgeGZjZTQtbXBjLXBsdWdpbiBcCisiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLW11bHRpbWVkaWEvcGFyb2xlL3Bhcm9sZV8wLjguMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtbXVsdGltZWRpYS9wYXJvbGUvcGFyb2xlXzAuOC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYyNzM5NmMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLW11bHRpbWVkaWEvcGFyb2xlL3Bhcm9sZV8wLjguMS5iYgpAQCAtMCwwICsxLDM2IEBACitERVNDUklQVElPTiA9ICJQYXJvbGUgaXMgYSBtb2Rlcm4gc2ltcGxlIG1lZGlhIHBsYXllciBiYXNlZCBvbiB0aGUgR1N0cmVhbWVyIGZyYW1ld29yayIKK0hPTUVQQUdFID0gImh0dHA6Ly9nb29kaWVzLnhmY2Uub3JnL3Byb2plY3RzL2FwcGxpY2F0aW9ucy9wYXJvbGUiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTk1MzBiZGYzMzY1OWIyOWU3M2Q0YWRiOWY5ZjY1NTIiCisKK2luaGVyaXQgeGZjZS1hcHAgZ3RrLWRvYyBtaW1lCisKK0RFUEVORFMgKz0gIiBcCisgICAgZ2xpYi0yLjAgXAorICAgIGRidXMtZ2xpYiBcCisgICAgZ3RrKzMgXAorICAgIFwKKyAgICB4ZmNlNC1kZXYtdG9vbHMtbmF0aXZlIFwKKyAgICBsaWJ4ZmNlNHV0aWwgXAorICAgIGxpYnhmY2U0dWkgXAorICAgIHhmY29uZiBcCisgICAgXAorICAgIGdzdHJlYW1lcjEuMC1wbHVnaW5zLWJhc2UgXAorICAgIHRhZ2xpYiBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIzNjFlMzA1OWYxMjYzYzc2YTM3MTFkYjJjN2MxYTk3YiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI0YjIxNmY1MjAwNDkwZjhkMmE5YmYxYjNmY2Q5YThiMjA4MzRjOTUyNDliZjEzYjkxNzBjODJlMWZjYmQ4MGY0IgorCitSREVQRU5EU18ke1BOfSArPSAiZ3N0cmVhbWVyMS4wLXBsdWdpbnMtZ29vZCIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIm5vdGlmeSIKK1BBQ0tBR0VDT05GSUdbY2x1dHRlcl0gPSAiLS1lbmFibGUtY2x1dHRlciwgLS1kaXNhYmxlLWNsdXR0ZXIsIGNsdXR0ZXIiCitQQUNLQUdFQ09ORklHW25vdGlmeV0gPSAiLS1lbmFibGUtbm90aWZ5LXBsdWdpbiwgLS1kaXNhYmxlLW5vdGlmeS1wbHVnaW4sIGxpYm5vdGlmeSIKKworRklMRVNfJHtQTn0gKz0gIiBcCisgICAgJHtkYXRhZGlyfS9hcHBkYXRhIFwKKyAgICAke2xpYmRpcn0vcGFyb2xlLTAvKi5zbyBcCisiCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9wYXJvbGUtMC8uZGVidWciCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9wYXJvbGUtMC8qLmxhIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1tdWx0aW1lZGlhL3hmY2U0LW1wYy1wbHVnaW4veGZjZTQtbXBjLXBsdWdpbl8wLjQuNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtbXVsdGltZWRpYS94ZmNlNC1tcGMtcGx1Z2luL3hmY2U0LW1wYy1wbHVnaW5fMC40LjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTY0ZjVkMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtbXVsdGltZWRpYS94ZmNlNC1tcGMtcGx1Z2luL3hmY2U0LW1wYy1wbHVnaW5fMC40LjUuYmIKQEAgLTAsMCArMSwxNSBAQAorU1VNTUFSWSA9ICJTaW1wbGUgY2xpZW50IHBsdWdpbiBmb3IgTXVzaWMgUGxheWVyIERhZW1vbiIKK0hPTUVQQUdFID0gImh0dHA6Ly9nb29kaWVzLnhmY2Uub3JnL3Byb2plY3RzL3BhbmVsLXBsdWdpbnMveGZjZTQtbXBjLXBsdWdpbiIKK1NFQ1RJT04gPSAieDExL2FwcGxpY2F0aW9uIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zNjA0ZDk4N2U2ZGZkZmM2NzJjNzU0ZDA4OTUzYjBlMCIKKworaW5oZXJpdCB4ZmNlLXBhbmVsLXBsdWdpbgorCitERVBFTkRTICs9ICJsaWJtcGQiCisKKyMgZm9yIG5vdyB3ZSByZWNvbW1lbmQgb3VyIG93biBtcGQtc2VydmVyCitSUkVDT01NRU5EU18ke1BOfSA9ICJtcGQiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI3MThlNjQ3NDhlNDY5MDhhNDRjZDBiOTZlYWNiZGEyOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlNzFmNTdhMjg5MTVjNTc0NTlkNmNlMGVlZWVlMWQwOTM0ZjUyM2MwZWQwODMxNThjM2QzYjM4MzZmYzA2ZmNmIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1tdWx0aW1lZGlhL3hmbXBjL3hmbXBjXzAuMi4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1tdWx0aW1lZGlhL3hmbXBjL3hmbXBjXzAuMi4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIxY2FiZDYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLW11bHRpbWVkaWEveGZtcGMveGZtcGNfMC4yLjIuYmIKQEAgLTAsMCArMSwxMyBAQAorU1VNTUFSWSA9ICJNdXNpYyBQbGF5ZXIgRGFlbW9uIChNUEQpIGNsaWVudCB3cml0dGVuIGluIEdUSysiCitIT01FUEFHRSA9ICJodHRwOi8vZ29vZGllcy54ZmNlLm9yZy9wcm9qZWN0cy9hcHBsaWNhdGlvbnMveGZtcGMiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCitERVBFTkRTID0gImd0aysgbGlieGZjZTR1dGlsIGxpYnhmY2U0dWkgbGlibXBkIHZhbGEtbmF0aXZlIgorCisjIGZvciBub3cgd2UgcmVjb21tZW5kIG91ciBvd24gbXBkLXNlcnZlcgorUlJFQ09NTUVORFNfJHtQTn0gPSAibXBkIgorCitpbmhlcml0IHhmY2UtYXBwCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlNGUxOTg4NTBjMjQ2N2M0Nzc4Mzk2OWFjOWMxNmVjMCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlZDBjYzI5NDBiZDU5MjhiYjMwZmFiMTUzMWMyMjE4NWE5N2JkMGNjNWJlYWNkOWUzYmU0ZDRjZDk5NGE2ODYyIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL2JhdHRlcnkveGZjZTQtYmF0dGVyeS1wbHVnaW4vZml4LWJ1aWxkLW9uLWFhcmNoNjQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvYmF0dGVyeS94ZmNlNC1iYXR0ZXJ5LXBsdWdpbi9maXgtYnVpbGQtb24tYWFyY2g2NC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZDRlZWMwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL2JhdHRlcnkveGZjZTQtYmF0dGVyeS1wbHVnaW4vZml4LWJ1aWxkLW9uLWFhcmNoNjQucGF0Y2gKQEAgLTAsMCArMSwzNCBAQAorVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBmcm9tIAorCitodHRwOi8vZ2l0LnhmY2Uub3JnL3BhbmVsLXBsdWdpbnMveGZjZTQtYmF0dGVyeS1wbHVnaW4vY29tbWl0Lz9pZD0wZjY5MjY0Nzk3MjhjYTc4NGEyMGI2M2Q3YzE0NmE5MWUzN2Q5OGZiCisKK1NpZ25lZC1vZmYtYnk6IEthaSBLYW5nIDxrYWkua2FuZ0B3aW5kcml2ZXIuY29tPgorLS0tCitGcm9tIDBmNjkyNjQ3OTcyOGNhNzg0YTIwYjYzZDdjMTQ2YTkxZTM3ZDk4ZmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBMYW5kcnkgQnJldWlsIDxsYW5kcnlAeGZjZS5vcmc+CitEYXRlOiBUaHUsIDE5IE1hciAyMDE1IDIwOjQyOjI0ICswMTAwCitTdWJqZWN0OiBGaXggYnVpbGQgb24gYWFyY2g2NCAoYnVnICMxMTcyNCkKKworCitkaWZmIC0tZ2l0IGEvcGFuZWwtcGx1Z2luL2xpYmFjcGkuYyBiL3BhbmVsLXBsdWdpbi9saWJhY3BpLmMKK2luZGV4IDUzMDE5NGQuLmVmYjVjOWMgMTAwNjQ0CistLS0gYS9wYW5lbC1wbHVnaW4vbGliYWNwaS5jCisrKysgYi9wYW5lbC1wbHVnaW4vbGliYWNwaS5jCitAQCAtMjksNiArMjksNyBAQAorICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyAjaW5jbHVkZSA8ZGlyZW50Lmg+CisgI2luY2x1ZGUgPGdsb2IuaD4KKysjaW5jbHVkZSA8dW5pc3RkLmg+CisgCisgI2lmZGVmIF9fRnJlZUJTRF9fCisgI2luY2x1ZGUgPGZjbnRsLmg+CitAQCAtNTIsNyArNTMsNiBAQCBzdGF0aWMgaW50ICAgICAgYWNwaWZkOworICNpbmNsdWRlIDxzeXMvc3lzY3RsLmg+CisgI2luY2x1ZGUgPGVyci5oPgorICNpbmNsdWRlIDxlcnJuby5oPgorLSNpbmNsdWRlIDx1bmlzdGQuaD4KKyAKKyAjZW5kaWYKKyAKKy0tIAorY2dpdCB2MC4xMC4xCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvYmF0dGVyeS94ZmNlNC1iYXR0ZXJ5LXBsdWdpbl8xLjAuNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9iYXR0ZXJ5L3hmY2U0LWJhdHRlcnktcGx1Z2luXzEuMC41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUyOTNjOWUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvYmF0dGVyeS94ZmNlNC1iYXR0ZXJ5LXBsdWdpbl8xLjAuNS5iYgpAQCAtMCwwICsxLDExIEBACitTVU1NQVJZID0gIkEgYmF0dGVyeSBtb25pdG9yIHBhbmVsIHBsdWdpbiBmb3IgWGZjZTQsIGNvbXBhdGlibGUgd2l0aCBBUE0gYW5kIEFDUCIKK0hPTUVQQUdFID0gImh0dHA6Ly9nb29kaWVzLnhmY2Uub3JnL3Byb2plY3RzL3BhbmVsLXBsdWdpbnMveGZjZTQtYmF0dGVyeS1wbHVnaW4iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCisKK2luaGVyaXQgeGZjZS1wYW5lbC1wbHVnaW4KKworU1JDX1VSSSArPSAiZmlsZTovL2ZpeC1idWlsZC1vbi1hYXJjaDY0LnBhdGNoIgorCitTUkNfVVJJW21kNXN1bV0gPSAiY2EyZDM5NGU0MTFhMjA0NDJhNTE5ZWZhMGQxNGY4ZWMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjY1OWIxYWY0MGFiNzJjOTM0NDhhZmZhYTY5M2FiNTUxODI3YTU2MDBjZTliOTdhNzk5YjdjMjQxOWJkZWIxMSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9jYWxjdWxhdG9yL3hmY2U0LWNhbGN1bGF0b3ItcGx1Z2luXzAuNS4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL2NhbGN1bGF0b3IveGZjZTQtY2FsY3VsYXRvci1wbHVnaW5fMC41LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2IxZmE1ZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9jYWxjdWxhdG9yL3hmY2U0LWNhbGN1bGF0b3ItcGx1Z2luXzAuNS4xLmJiCkBAIC0wLDAgKzEsOSBAQAorU1VNTUFSWSA9ICJBIGNhbGN1bGF0b3IgcGx1Z2luIGZvciB0aGUgWGZjZSBwYW5lbCIKK0hPTUVQQUdFID0gImh0dHA6Ly9nb29kaWVzLnhmY2Uub3JnL3Byb2plY3RzL3BhbmVsLXBsdWdpbnMveGZjZTQtY2FsY3VsYXRvci1wbHVnaW4iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCisKK2luaGVyaXQgeGZjZS1wYW5lbC1wbHVnaW4KKworU1JDX1VSSVttZDVzdW1dID0gIjhkN2JmMDdhNjY5YTI4ODRhNDA5YTdiMDNmODliZTVjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjdkY2IwNGEzZGE3Yjg1Y2IxZjM1ZjU0NmMzNjZmZTg1MjlmMWMxNWYxYzhjMjkwZWRiOTFkMTZjMDdmNWZkNmQiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvY2xpcG1hbi94ZmNlNC1jbGlwbWFuLXBsdWdpbl8xLjIuNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9jbGlwbWFuL3hmY2U0LWNsaXBtYW4tcGx1Z2luXzEuMi42LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEwN2YzY2MKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvY2xpcG1hbi94ZmNlNC1jbGlwbWFuLXBsdWdpbl8xLjIuNi5iYgpAQCAtMCwwICsxLDE4IEBACitTVU1NQVJZID0gIkNsaXBtYW4gaXMgYSBjbGlwYm9hcmQgbWFuYWdlciBmb3IgWGZjZSIKK0hPTUVQQUdFID0gImh0dHA6Ly9nb29kaWVzLnhmY2Uub3JnL3Byb2plY3RzL3BhbmVsLXBsdWdpbnMveGZjZTQtY2xpcG1hbi1wbHVnaW4iCitTRUNUSU9OID0gIngxMS9hcHBsaWNhdGlvbiIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSIKKworaW5oZXJpdCB4ZmNlLXBhbmVsLXBsdWdpbgorCitERVBFTkRTICs9ICJ4ZmNvbmYgeHByb3RvIGxpYnh0c3QiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJmN2YyNDQwNjQ3NDkzMjQzY2JkNzc4N2VhZWU5MmZjYiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyMzA0M2Y5OWMzZTUyNTdkMWYzZDY4YjVlZTUxMjVlMzQ2OWMxNTYyMGQwOThlMjJjNjI1MDM4NjE5N2Y0OGE1IgorCitQQUNLQUdFQ09ORklHID8/PSAiIgorUEFDS0FHRUNPTkZJR1t1bmlxdWVdID0gIi0tZW5hYmxlLXVuaXF1ZSwtLWRpc2FibGUtdW5pcXVlLGxpYnVuaXF1ZSIKK1BBQ0tBR0VDT05GSUdbcXJlbmNvZGVdID0gIi0tZW5hYmxlLWxpYnFyZW5jb2RlLC0tZGlzYWJsZS1saWJxcmVuY29kZSxxcmVuY29kZSIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vYXBwZGF0YSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9jbG9zZWJ1dHRvbi94ZmNlNC1jbG9zZWJ1dHRvbi1wbHVnaW5fZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL2Nsb3NlYnV0dG9uL3hmY2U0LWNsb3NlYnV0dG9uLXBsdWdpbl9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzQxMTA3ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9jbG9zZWJ1dHRvbi94ZmNlNC1jbG9zZWJ1dHRvbi1wbHVnaW5fZ2l0LmJiCkBAIC0wLDAgKzEsMTggQEAKK1NVTU1BUlkgPSAiUGx1Z2luIGRpc3BsYXlpbmcgY2xvc2UgYnV0dG9uIGZvciBhcHBsaWNhdGlvbiBjdXJyZW50bHkgYWN0aXZlIgorU0VDVElPTiA9ICJ4MTEiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjY5NTJkOWE0N2ZjMmFkMGYzMTU1MTBlMTI5MDQ1NWYiCisKK2luaGVyaXQgeGZjZS1wYW5lbC1wbHVnaW4geGZjZS1naXQgZ3RrLWljb24tY2FjaGUgcGVybG5hdGl2ZQorCitERVBFTkRTICs9ICJleG8tbmF0aXZlIGxpYnduY2sgeGZjb25mIgorCitQViA9ICIwLjEuMCtnaXRyJHtTUkNQVn0iCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9zY2huaXR6ZWx0b255L3hmY2U0LWNsb3NlYnV0dG9uLXBsdWdpbi5naXQ7YnJhbmNoPW1hc3RlciIKK1NSQ1JFViA9ICJiZDc2MTU0YWZlMjZiYThhNTI1MWExODg3ZDg4ZjlkODU1MzAxODUwIgorUyA9ICIke1dPUktESVJ9L2dpdCIKKworRVhUUkFfT0VDT05GICs9ICItLWVuYWJsZS1tYWludGFpbmVyLW1vZGUiCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L3hmY2U0L2Nsb3NlYnV0dG9uL3RoZW1lcyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9jcHVmcmVxL3hmY2U0LWNwdWZyZXEtcGx1Z2luXzEuMS4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL2NwdWZyZXEveGZjZTQtY3B1ZnJlcS1wbHVnaW5fMS4xLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWMyYTgxMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9jcHVmcmVxL3hmY2U0LWNwdWZyZXEtcGx1Z2luXzEuMS4yLmJiCkBAIC0wLDAgKzEsOSBAQAorU1VNTUFSWSA9ICJQYW5lbCBwbHVnaW4gdG8gZGlzcGxheSBmcmVxdWVuY3kgb2YgYWxsIGNwdXMiCitIT01FUEFHRSA9ICJodHRwOi8vZ29vZGllcy54ZmNlLm9yZy9wcm9qZWN0cy9wYW5lbC1wbHVnaW5zL3hmY2U0LWNwdWZyZXEtcGx1Z2luIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTFmNmYxYzBiZTMyNDkxYTBjOGQyOTE1NjA3YTI4ZjM2IgorCitpbmhlcml0IHhmY2UtcGFuZWwtcGx1Z2luCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJiZmM0YzgyNzdjYjAwOTQzOWZiNGM3YWVjODY3OTEyNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmZDljYTkxYjk5ZTgzMGM2YjA5NjJhMDdlYjI2OWNlODE0ZWQ3NzNjZDYwMDgwODE3NzFmZDA0MDYwZmU2Y2U5IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL2NwdWdyYXBoL3hmY2U0LWNwdWdyYXBoLXBsdWdpbl8xLjAuNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9jcHVncmFwaC94ZmNlNC1jcHVncmFwaC1wbHVnaW5fMS4wLjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODNlMmJiNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9jcHVncmFwaC94ZmNlNC1jcHVncmFwaC1wbHVnaW5fMS4wLjUuYmIKQEAgLTAsMCArMSw5IEBACitTVU1NQVJZID0gIlBhbmVsIHBsdWdpbiB3aXRoIGdyYXBoaWNhbCByZXByZXNlbnRhdGlvbiBvZiB0aGUgY3B1IGZyZXF1ZW5jeSIKK0hPTUVQQUdFID0gImh0dHA6Ly9nb29kaWVzLnhmY2Uub3JnL3Byb2plY3RzL3BhbmVsLXBsdWdpbnMveGZjZTQtY3B1Z3JhcGgtcGx1Z2luIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTQxNTY1NGY1OWQ4ZmE3MGZlNGVhYzJjM2Y4NmM4ZjVlIgorCitpbmhlcml0IHhmY2UtcGFuZWwtcGx1Z2luCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJmMGViZmFiYjI3M2FkZjY5MzYxYjM3YTNmYTRiNzkxMiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4NWRhMGVjODlhYWNmZDMxZTBiYmFmY2VmZWEzN2NkY2E2MThkNjJlNjgxYzFjOWRhOGJkZDQ5MmYwMjhmNGM3IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL2RhdGV0aW1lL3hmY2U0LWRhdGV0aW1lLXBsdWdpbl8wLjYuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9kYXRldGltZS94ZmNlNC1kYXRldGltZS1wbHVnaW5fMC42LjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTk3YmE2YwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9kYXRldGltZS94ZmNlNC1kYXRldGltZS1wbHVnaW5fMC42LjIuYmIKQEAgLTAsMCArMSw5IEBACitTVU1NQVJZID0gIlBhbmVsIHBsdWdpbiBkaXNwbGF5aW5nIGRhdGUgYW5kIHRpbWUgYW5kIGEgY2FsZW5kYXIgd2hlbiBsZWZ0LWNsaWNrZWQiCitIT01FUEFHRSA9ICJodHRwOi8vZ29vZGllcy54ZmNlLm9yZy9wcm9qZWN0cy9wYW5lbC1wbHVnaW5zL3hmY2U0LWRhdGV0aW1lLXBsdWdpbiIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01OTUzMGJkZjMzNjU5YjI5ZTczZDRhZGI5ZjlmNjU1MiIKKworaW5oZXJpdCB4ZmNlLXBhbmVsLXBsdWdpbgorCitTUkNfVVJJW21kNXN1bV0gPSAiZmU2MDRhMjUxZWFkYmM1YjBmMmI0NzM3Yjg1ZDkyYzgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTczNGRhNjcxZThkMWQ3ZGU1ZmFlOTIwOTNhMDVkNjUzYzkyNDViODM4NTQyZmI5YWZmM2UxMDM2OGNjOWUyYyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9kaXNrcGVyZi94ZmNlNC1kaXNrcGVyZi1wbHVnaW5fMi41LjUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvZGlza3BlcmYveGZjZTQtZGlza3BlcmYtcGx1Z2luXzIuNS41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgwMTY5OWMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvZGlza3BlcmYveGZjZTQtZGlza3BlcmYtcGx1Z2luXzIuNS41LmJiCkBAIC0wLDAgKzEsOSBAQAorU1VNTUFSWSA9ICJQYW5lbCBwbHVnaW4gZGlzcGxheWluZyBpbnN0YW50IGRpc2svcGFydGl0aW9uIHBlcmZvcm1hbmNlIgorSE9NRVBBR0UgPSAiaHR0cDovL2dvb2RpZXMueGZjZS5vcmcvcHJvamVjdHMvcGFuZWwtcGx1Z2lucy94ZmNlNC1kaXNrcGVyZi1wbHVnaW4iCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzZTYyNzc5OGQ2YTYwYmVjZTQ3YWE4YjM1MzJlMWYxIgorCitpbmhlcml0IHhmY2UtcGFuZWwtcGx1Z2luCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIxOTllNDM2NWNiM2ExZmNkNWY2MTY0MDQ0YWVkYmExNyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjYmViMGMwMGY5NzM2MmVlZjNmMTM1YWZiNzc5NDdhZWY3M2U5MzhiYWUwMzg2MjUwYTEyMmFjNjY0NGI1MjFiIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL2VtYmVkL3hmY2U0LWVtYmVkLXBsdWdpbl8xLjAuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9lbWJlZC94ZmNlNC1lbWJlZC1wbHVnaW5fMS4wLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzJkNmVkZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9lbWJlZC94ZmNlNC1lbWJlZC1wbHVnaW5fMS4wLjAuYmIKQEAgLTAsMCArMSwxMiBAQAorREVTQ1JJUFRJT04gPSAiQSBwYW5lbCBwbHVnaW4gdGhhdCBlbWJlZHMgYXJiaXRyYXJ5IHdpbmRvd3MgKG9yIEd0a1BsdWcgd2lkZ2V0cykgaW50byB0aGUgcGFuZWwuIgorSE9NRVBBR0UgPSAiaHR0cDovL2dvb2RpZXMueGZjZS5vcmcvcHJvamVjdHMvcGFuZWwtcGx1Z2lucy94ZmNlNC1lbWJlZC1wbHVnaW4iCitTRUNUSU9OID0gIngxMS9hcHBsaWNhdGlvbiIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKKworaW5oZXJpdCB4ZmNlLXBhbmVsLXBsdWdpbgorCisjIERFUEVORFMgKz0gInhmY29uZiB4cHJvdG8gbGlieHRzdCIKKworU1JDX1VSSVttZDVzdW1dID0gImM1Yjg2Y2JjMWM1NGVlN2MxZDJlOTVhNDUwMmZlZDhlIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjM1ZDRjNmM1NmRkNjQ2OGMwZTVhZmU2NmY2NTdjMTUyNmYyZDgzMGE1NzcxMDVhNTFkYTQzNjU3NjUxODMyZTMiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvZXF1YWtlL3hmY2U0LWVxdWFrZS1wbHVnaW5fMS4zLjguYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvZXF1YWtlL3hmY2U0LWVxdWFrZS1wbHVnaW5fMS4zLjguYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzZkMjVmOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9lcXVha2UveGZjZTQtZXF1YWtlLXBsdWdpbl8xLjMuOC5iYgpAQCAtMCwwICsxLDEyIEBACitERVNDUklQVElPTiA9ICJFcXVha2UgWEZDRSBpcyBhIHBhbmVsIHBsdWdpbiBmb3IgdGhlIFhGQ0UgcGFuZWwgd2hpY2ggbW9uaXRvcnMgZWFydGhxdWFrZXMgYW5kIGRpc3BsYXlzIGFuIHVwZGF0ZSBlYWNoIHRpbWUgYSBuZXcgZWFydGhxdWFrZSBvY2N1cnMuIgorSE9NRVBBR0UgPSAiaHR0cDovL2ZyZWVjb2RlLmNvbS9wcm9qZWN0cy9lcXVha2UteGZjZSIKK1NFQ1RJT04gPSAieDExL2FwcGxpY2F0aW9uIgorTElDRU5TRSA9ICJHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgorCitpbmhlcml0IHhmY2UtcGFuZWwtcGx1Z2luCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJjOGY2Y2IyYWVjNjI1MTNjMzQzMjgxZWFjYzRmYzM5NSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI0MzE1NzVkYTNkNDlmZWEzYWZhNjBmMDJlODNjOGQ3NGUyMGU5YTIyOWM5YzRlYzgyYzIxZDQ1ZTJjOTg2OTI1IgorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L3hmY2U0L3BhbmVsLXBsdWdpbnMveGZjZTQtZXF1YWtlLXBsdWdpbiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9leWVzL3hmY2U0LWV5ZXMtcGx1Z2luXzQuNC40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL2V5ZXMveGZjZTQtZXllcy1wbHVnaW5fNC40LjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWUzMjIxOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9leWVzL3hmY2U0LWV5ZXMtcGx1Z2luXzQuNC40LmJiCkBAIC0wLDAgKzEsMTEgQEAKK1NVTU1BUlkgPSAiUGFuZWwgcGx1Z2luIHdpdGggZ3JhcGhpY2FsIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBjcHUgZnJlcXVlbmN5IgorSE9NRVBBR0UgPSAiaHR0cDovL2dvb2RpZXMueGZjZS5vcmcvcHJvamVjdHMvcGFuZWwtcGx1Z2lucy94ZmNlNC1leWVzLXBsdWdpbiIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKKworaW5oZXJpdCB4ZmNlLXBhbmVsLXBsdWdpbgorCitTUkNfVVJJW21kNXN1bV0gPSAiMTM2ZjUyYTI1NmZhZDhjZmQyOWZiMjk3NmUwOGViYzgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMjQwY2U4NWI2OGQzZDE2MWYyNzZlYmJlYTk3MDcyZGQ2ZWUzZGY3NzA2MmZkMDczYmY2ZWViNGQzZDE0MDBjYSIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0veGZjZTQvZXllcyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9mc2d1YXJkL3hmY2U0LWZzZ3VhcmQtcGx1Z2luXzEuMC4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL2ZzZ3VhcmQveGZjZTQtZnNndWFyZC1wbHVnaW5fMS4wLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGY5MTk5ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9mc2d1YXJkL3hmY2U0LWZzZ3VhcmQtcGx1Z2luXzEuMC4yLmJiCkBAIC0wLDAgKzEsOSBAQAorREVTQ1JJUFRJT04gPSAiVGhlIEZTR3VhcmQgcGFuZWwgcGx1Z2luIGNoZWNrcyBmcmVlIHNwYWNlIG9uIGEgY2hvc2VuIG1vdW50IHBvaW50IGZyZXF1ZW50bHkgYW5kIGRpc3BsYXlzIGEgbWVzc2FnZSB3aGVuIGEgbGltaXQgaXMgcmVhY2hlZCIKK0hPTUVQQUdFID0gImh0dHA6Ly9nb29kaWVzLnhmY2Uub3JnL3Byb2plY3RzL3BhbmVsLXBsdWdpbnMveGZjZTQtZnNndWFyZC1wbHVnaW4/JiNyZWNldF9yZWxlYXNlcyIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01OTUzMGJkZjMzNjU5YjI5ZTczZDRhZGI5ZjlmNjU1MiIKKworaW5oZXJpdCB4ZmNlLXBhbmVsLXBsdWdpbgorCitTUkNfVVJJW21kNXN1bV0gPSAiZGI3NzQxZDE4MjdlNDI4YjAwNWU5NGQyNWUyZWMwMGEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYTJjOGQ1OTM4NmFlM2QyM2NmNmJkZDA2YTFjZGQ3YTFiOTQ3M2NmNmYzOGFlMTA2NjAwYjE5NGM2MDEwNDBhZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9nZW5tb24vZmlsZXMvMDAwMS1BbGxvdy10aW1lci1wZXJpb2QtdG8tYmUtc2V0LWF0LTI1MG1zLXJlc29sdXRpb24uLVBhLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL2dlbm1vbi9maWxlcy8wMDAxLUFsbG93LXRpbWVyLXBlcmlvZC10by1iZS1zZXQtYXQtMjUwbXMtcmVzb2x1dGlvbi4tUGEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjhjMGViMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9nZW5tb24vZmlsZXMvMDAwMS1BbGxvdy10aW1lci1wZXJpb2QtdG8tYmUtc2V0LWF0LTI1MG1zLXJlc29sdXRpb24uLVBhLnBhdGNoCkBAIC0wLDAgKzEsMzYgQEAKK0Zyb20gMmQ1ZmEzMDc4MjdhN2IzMmFmNGY3YjJhZTA2MDRmOTQzZTNhNmU5OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEpvaG4gTGluZGdyZW4gPGpvaG4ubGluZGdyZW5AYW9sLmNvbT4KK0RhdGU6IFR1ZSwgMjEgQXVnIDIwMTIgMTk6MzM6NDUgLTA0MDAKK1N1YmplY3Q6IFtQQVRDSF0gQWxsb3cgdGltZXIgcGVyaW9kIHRvIGJlIHNldCBhdCAyNTBtcyByZXNvbHV0aW9uLiAgUGF0Y2gKKyBmcm9tIE1pZ3VlbCBHdWVkZXMuICBDbG9zZXM6ICM5MTAyLgorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitVcHN0cmVhbS1TdGF0dXM6IEFwcGxpZWQgWzFdCisKK1sxXSBodHRwOi8vZ2l0LnhmY2Uub3JnL3BhbmVsLXBsdWdpbnMveGZjZTQtZ2VubW9uLXBsdWdpbi9jb21taXQvP2lkPTJkNWZhMzA3ODI3YTdiMzJhZjRmN2IyYWUwNjA0Zjk0M2UzYTZlOTkKKworU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorLS0tCisgcGFuZWwtcGx1Z2luL2NvbmZpZ19ndWkuYyB8ICAgIDQgKystLQorIDEgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvcGFuZWwtcGx1Z2luL2NvbmZpZ19ndWkuYyBiL3BhbmVsLXBsdWdpbi9jb25maWdfZ3VpLmMKK2luZGV4IGE0Yzg5MWQuLjkwZTU1YzEgMTAwNjQ0CistLS0gYS9wYW5lbC1wbHVnaW4vY29uZmlnX2d1aS5jCisrKysgYi9wYW5lbC1wbHVnaW4vY29uZmlnX2d1aS5jCitAQCAtMTA2LDggKzEwNiw4IEBAIGludCBnZW5tb25fQ3JlYXRlQ29uZmlnR1VJIChHdGtXaWRnZXQgKnZib3gxLAorICAgICBndGtfd2lkZ2V0X3Nob3cgKGFsaWdubWVudDEpOworICAgICBndGtfY29udGFpbmVyX2FkZCAoR1RLX0NPTlRBSU5FUiAoZXZlbnRib3gxKSwgYWxpZ25tZW50MSk7CisgCistICAgIHdTY19QZXJpb2RfYWRqID0gZ3RrX2FkanVzdG1lbnRfbmV3ICgxNSwgMSwgNjAqNjAqMjQsIDEsIDEsIDApOworLSAgICB3U2NfUGVyaW9kID0gZ3RrX3NwaW5fYnV0dG9uX25ldyAoR1RLX0FESlVTVE1FTlQgKHdTY19QZXJpb2RfYWRqKSwgMSwgMCk7CisrICAgIHdTY19QZXJpb2RfYWRqID0gZ3RrX2FkanVzdG1lbnRfbmV3ICgxNSwgLjI1LCA2MCo2MCoyNCwgLjI1LCAxLCAwKTsKKysgICAgd1NjX1BlcmlvZCA9IGd0a19zcGluX2J1dHRvbl9uZXcgKEdUS19BREpVU1RNRU5UICh3U2NfUGVyaW9kX2FkaiksIC4yNSwgMik7CisgICAgIGd0a193aWRnZXRfc2hvdyAod1NjX1BlcmlvZCk7CisgICAgIGd0a19jb250YWluZXJfYWRkIChHVEtfQ09OVEFJTkVSIChhbGlnbm1lbnQxKSwgd1NjX1BlcmlvZCk7CisgICAgIGd0a190b29sdGlwc19zZXRfdGlwICh0b29sdGlwcywgd1NjX1BlcmlvZCwKKy0tIAorMS43LjYuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvZ2VubW9uL3hmY2U0LWdlbm1vbi1wbHVnaW5fMy40LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvZ2VubW9uL3hmY2U0LWdlbm1vbi1wbHVnaW5fMy40LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTEzZGI2MgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9nZW5tb24veGZjZTQtZ2VubW9uLXBsdWdpbl8zLjQuMC5iYgpAQCAtMCwwICsxLDEzIEBACitERVNDUklQVElPTiA9ICJUaGlzIHBsdWdpbiBjeWNsaWNhbGx5IHNwYXducyB0aGUgaW5kaWNhdGVkIHNjcmlwdC9wcm9ncmFtLCBjYXB0dXJlcyBpdHMgb3V0cHV0IChzdGRvdXQpIGFuZCBkaXNwbGF5cyB0aGUgcmVzdWx0aW5nIHN0cmluZyBpbnRvIHRoZSBwYW5lbC4iCitIT01FUEFHRSA9ICJodHRwOi8vZ29vZGllcy54ZmNlLm9yZy9wcm9qZWN0cy9wYW5lbC1wbHVnaW5zL3hmY2U0LWdlbm1vbi1wbHVnaW4iCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NjhhZDYyYzY0Y2M2YzYyMDEyNjI0MWZkNDI5ZTY4ZmUiCisKK2luaGVyaXQgeGZjZS1wYW5lbC1wbHVnaW4KKworU1JDX1VSSSArPSAiZmlsZTovLzAwMDEtQWxsb3ctdGltZXItcGVyaW9kLXRvLWJlLXNldC1hdC0yNTBtcy1yZXNvbHV0aW9uLi1QYS5wYXRjaCIKKworU1JDX1VSSVttZDVzdW1dID0gIjI0MTA4YjMzOWJiMDQwZWQzNjAyNjZmNTNhMjQ1MjI0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImIwYTUzMzdiNDljODU2MjNkYzg5ZjNjOWU0N2M3Mzc0YjFkNDY2YWYyNDE4MDMzZDJkNmRmYzU3YTk3OTAzODciCisKK1MgPSAiJHtXT1JLRElSfS94ZmNlNC1nZW5tb24tcGx1Z2luLTMuNCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9ob3Rjb3JuZXIveGZjZTQtaG90Y29ybmVyLXBsdWdpbl8wLjAuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9ob3Rjb3JuZXIveGZjZTQtaG90Y29ybmVyLXBsdWdpbl8wLjAuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mODZjOTJlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL2hvdGNvcm5lci94ZmNlNC1ob3Rjb3JuZXItcGx1Z2luXzAuMC4yLmJiCkBAIC0wLDAgKzEsMTEgQEAKK1NVTU1BUlkgPSAiUGx1Z2luIHByb3ZpZGluZyBob3Rjb3JuZXJzIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1JFQURNRS5tZDtiZWdpbmxpbmU9NDg7ZW5kbGluZT01MzttZDU9MmM2OTRiOGUwZjczMjc0YjEzNDY1YjUwOWU0ZjU0MjciCisKK2luaGVyaXQgeGZjZS1wYW5lbC1wbHVnaW4gY21ha2UKKworREVQRU5EUyArPSAibGlid25jazMiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL2JyaWFuaHN1LyR7QlBOfS9yZWxlYXNlcy9kb3dubG9hZC8ke1BWfS8ke0JQTn0tJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gImFjMzFiNDVjZGExODY3Y2I2YmQ2OWJiMjg1NjM4MjYzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjk0MjY4NGM5MmY5NmExNThlMTQxN2U1OTc5NDdmODIyNzY5YWM1NmFhMTk5M2E4YzlmMTY2ZWU2MzNlZjJiOGQiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMva2JkbGVkcy94ZmNlNC1rYmRsZWRzLXBsdWdpbl8wLjAuNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9rYmRsZWRzL3hmY2U0LWtiZGxlZHMtcGx1Z2luXzAuMC42LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNhZjU1MDgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMva2JkbGVkcy94ZmNlNC1rYmRsZWRzLXBsdWdpbl8wLjAuNi5iYgpAQCAtMCwwICsxLDE1IEBACitTVU1NQVJZID0gIlhGQ0UgcGFuZWwgcGx1Z2luIGRpc3BsYXlpbmcgc3RhdHVzIG9mIGtleWJvYXJkIExFRHMiCitERVNDUklQVElPTiA9ICJUaGlzIHBsdWdpbiBzaG93cyB0aGUgc3RhdGUgb2YgeW91ciBrZXlib2FyZCBMRURzOiBDYXBzLCBTY3JvbGwgYW5kIE51bSBMb2NrIGluIFhmY2UgcGFuZWwiCitIT01FUEFHRSA9ICJodHRwOi8vZ29vZGllcy54ZmNlLm9yZy9wcm9qZWN0cy9wYW5lbC1wbHVnaW5zL3hmY2U0LWtiZGxlZHMtcGx1Z2luIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiIFwKKyAgICBmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYgXAorICAgIGZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9MjUyODkwZDllZWUyNmFhYjdiNDMyZThiOGE2MTY0NzUgXAorIgorCitpbmhlcml0IHhmY2UtcGFuZWwtcGx1Z2luCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJkYjZhZDhlMzUwMmYzMzczZjA4N2JhMjAzNDE0MTU1MiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2ZDI4MGFkNzIwN2JjYjljYzg3YzI3OWRjM2FiOTA4NGZkOTMzMjVlODdmNjc4NThlODkxNzcyOWI1MDIwMWNkIgorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L3hmY2U0L3BhbmVsLXBsdWdpbnMveGZjZTQta2JkbGVkcy1wbHVnaW4iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvbWFpbHdhdGNoL3hmY2U0LW1haWx3YXRjaC1wbHVnaW5fMS4yLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvbWFpbHdhdGNoL3hmY2U0LW1haWx3YXRjaC1wbHVnaW5fMS4yLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDA4NTlhMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9tYWlsd2F0Y2gveGZjZTQtbWFpbHdhdGNoLXBsdWdpbl8xLjIuMC5iYgpAQCAtMCwwICsxLDExIEBACitTVU1NQVJZID0gIk11bHRpLXByb3RvY29sLCBtdWx0aS1tYWlsYm94IG1haWwgd2F0Y2hlciBmb3IgdGhlIFhmY2U0IHBhbmVsIgorSE9NRVBBR0UgPSAiaHR0cDovL2dvb2RpZXMueGZjZS5vcmcvcHJvamVjdHMvcGFuZWwtcGx1Z2lucy94ZmNlNC1tYWlsd2F0Y2gtcGx1Z2luIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorCitpbmhlcml0IHhmY2UtcGFuZWwtcGx1Z2luCisKK0RFUEVORFMgKz0gImdudXRscyBsaWJnY3J5cHQiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI3MjYzMTE0ZWMwZjI5ODdhM2FmZjE1YWZlZWI0NTU3NyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2MjRhY2M4MjI5YTg1OTNjMGRmZWIyOGY4ODNmNDk1ODExOWE3MTVjYzgxY2VjZGJhZjI5ZWZjOGFiMWVkY2FkIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL21vdW50L3hmY2U0LW1vdW50LXBsdWdpbl8wLjYuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9tb3VudC94ZmNlNC1tb3VudC1wbHVnaW5fMC42LjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmRjMmMxNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9tb3VudC94ZmNlNC1tb3VudC1wbHVnaW5fMC42LjQuYmIKQEAgLTAsMCArMSwxMCBAQAorU1VNTUFSWSA9ICJNb3VudC91bW91bnQgdXRpbGl0eSBmb3IgdGhlIHhmY2UgcGFuZWwiCitIT01FUEFHRSA9ICJodHRwOi8vZ29vZGllcy54ZmNlLm9yZy9wcm9qZWN0cy9wYW5lbC1wbHVnaW5zL3hmY2U0LW1vdW50LXBsdWdpbiIKK1NFQ1RJT04gPSAieDExL2FwcGxpY2F0aW9uIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorCitpbmhlcml0IHhmY2UtcGFuZWwtcGx1Z2luCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJmNTkxN2U5YWEyYTA2YmM2YTg3MmNjMTBkMmVlNGY2ZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1NDFkN2FmODRkN2QwYjAwYWU1NDdhYTFmNDM4ZTJmYWM1MWVlNDE5NWM0ZDBhMTcxNzNjNGY3MmFjY2IyMjdkIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL25ldGxvYWQveGZjZTQtbmV0bG9hZC1wbHVnaW5fMS4yLjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvbmV0bG9hZC94ZmNlNC1uZXRsb2FkLXBsdWdpbl8xLjIuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOWY3YTJhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL25ldGxvYWQveGZjZTQtbmV0bG9hZC1wbHVnaW5fMS4yLjQuYmIKQEAgLTAsMCArMSw5IEBACitTVU1NQVJZID0gIlBhbmVsIHBsdWdpbiBkaXNwbGF5aW5nIGN1cnJlbnQgbG9hZCBvZiB0aGUgbmV0d29yayBpbnRlcmZhY2VzIgorSE9NRVBBR0UgPSAiaHR0cDovL2dvb2RpZXMueGZjZS5vcmcvcHJvamVjdHMvcGFuZWwtcGx1Z2lucy94ZmNlNC1uZXRsb2FkLXBsdWdpbiIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zNWE3MjAzYzQxYjg2ZDE1NTQ2ZGRkYzA1OTk1Zjk3ZiIKKworaW5oZXJpdCB4ZmNlLXBhbmVsLXBsdWdpbgorCitTUkNfVVJJW21kNXN1bV0gPSAiY2U1M2UxMTM1ZTRiZmY1YWZjZDg5OTYyNzExMGJkMTEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZmZhY2U5MTg4MjJjMDEyZDgwNjcxNzExNjU2NmU1NDk0N2FkNzYxM2I5MjkwYjQ1YTE4ZTJkNWZmYjg3MzBkMyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9ub3Rlcy9maWxlcy8wMDAxLW1haW4tc3RhdHVzLWljb24uYy1yZW1vdmUtZGVwcmVjYXRlZC1nX3R5cGVfaW5pdC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9ub3Rlcy9maWxlcy8wMDAxLW1haW4tc3RhdHVzLWljb24uYy1yZW1vdmUtZGVwcmVjYXRlZC1nX3R5cGVfaW5pdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMWVkZTI3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL25vdGVzL2ZpbGVzLzAwMDEtbWFpbi1zdGF0dXMtaWNvbi5jLXJlbW92ZS1kZXByZWNhdGVkLWdfdHlwZV9pbml0LnBhdGNoCkBAIC0wLDAgKzEsMzIgQEAKK0Zyb20gMDIxOGU1ZWJmMzhmOTRkNThiOTA4ZmNhNDUxYmEzNzg5ZWZhODg5OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMjAgU2VwIDIwMTMgMjM6MDk6MjUgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gbWFpbi1zdGF0dXMtaWNvbi5jIHJlbW92ZSBkZXByZWNhdGVkIGdfdHlwZV9pbml0CitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK3RoaXMgZmlsZSB3YXMgYXV0byBjcmVhdGVkIGJ5IHZhbGFjIGFuZCB4ZmNlLXZhbGEgd2hlbiBjcmVhdGluZyB0YXJiYWxsLiBTbworCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW290aGVyXQorCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CistLS0KKyBzcmMvbWFpbi1zdGF0dXMtaWNvbi5jIHwgMSAtCisgMSBmaWxlIGNoYW5nZWQsIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3NyYy9tYWluLXN0YXR1cy1pY29uLmMgYi9zcmMvbWFpbi1zdGF0dXMtaWNvbi5jCitpbmRleCBjNmQ3M2Y4Li5mN2RiNzczIDEwMDY0NAorLS0tIGEvc3JjL21haW4tc3RhdHVzLWljb24uYworKysrIGIvc3JjL21haW4tc3RhdHVzLWljb24uYworQEAgLTI5MCw3ICsyOTAsNiBAQCBnaW50IF92YWxhX21haW4gKGNoYXIqKiBhcmdzLCBpbnQgYXJnc19sZW5ndGgxKSB7CisgCisgCisgaW50IG1haW4gKGludCBhcmdjLCBjaGFyICoqIGFyZ3YpIHsKKy0JZ190eXBlX2luaXQgKCk7CisgCXJldHVybiBfdmFsYV9tYWluIChhcmd2LCBhcmdjKTsKKyB9CisgCistLSAKKzEuOC4zLjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL25vdGVzL3hmY2U0LW5vdGVzLXBsdWdpbl8xLjguMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9ub3Rlcy94ZmNlNC1ub3Rlcy1wbHVnaW5fMS44LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzEzNTM0YgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9ub3Rlcy94ZmNlNC1ub3Rlcy1wbHVnaW5fMS44LjEuYmIKQEAgLTAsMCArMSwxOSBAQAorU1VNTUFSWSA9ICJOb3RlcyBwbHVnaW4gZm9yIHRoZSBYZmNlIFBhbmVsIgorSE9NRVBBR0UgPSAiaHR0cDovL2dvb2RpZXMueGZjZS5vcmcvcHJvamVjdHMvcGFuZWwtcGx1Z2lucy94ZmNlNC1ub3Rlcy1wbHVnaW4iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCisKK2luaGVyaXQgeGZjZS1wYW5lbC1wbHVnaW4KKworREVQRU5EUyArPSAiZ3RrKyBsaWJ4ZmNlNHVpIHhmY2U0LXBhbmVsIHhmY29uZiBsaWJ1bmlxdWUiCisKK1NSQ19VUkkgKz0gIiBcCisgICAgZmlsZTovLzAwMDEtbWFpbi1zdGF0dXMtaWNvbi5jLXJlbW92ZS1kZXByZWNhdGVkLWdfdHlwZV9pbml0LnBhdGNoIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICIzMWNiOTUyMGIwMTUxMmE5NDM0NDc3MGI0YmVmZGIzYiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwN2E0YzNlNzE0MzFjMjRmOTdkMmUyNzA0NTJkZDBmYTUxZmYwYmRiNjIxOWExM2EyMGQwYmZhOGQ5ZGU1NGIyIgorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L3hmY2U0L3BhbmVsLXBsdWdpbnMvKi5zby4qIgorCisjICouc28gYXJlIHJlcXVpcmVkIGZvciBwbHVnaW4gZGV0ZWN0aW9uCitJTlNBTkVfU0tJUF8ke1BOfSA9ICJkZXYtc28iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvcGxhY2VzL3hmY2U0LXBsYWNlcy1wbHVnaW5fMS43LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvcGxhY2VzL3hmY2U0LXBsYWNlcy1wbHVnaW5fMS43LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTZiZTA5ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9wbGFjZXMveGZjZTQtcGxhY2VzLXBsdWdpbl8xLjcuMC5iYgpAQCAtMCwwICsxLDEyIEBACitERVNDUklQVElPTiA9ICJQYW5lbCBwbHVnaW4gZGlzcGxheWluZyBtZW51IHdpdGggcXVpY2sgYWNjZXNzIHRvIGZvbGRlcnMsIGRvY3VtZW50cywgYW5kIHJlbW92YWJsZSBtZWRpYSIKK0hPTUVQQUdFID0gImh0dHA6Ly9nb29kaWVzLnhmY2Uub3JnL3Byb2plY3RzL3BhbmVsLXBsdWdpbnMveGZjZTQtcGxhY2VzLXBsdWdpbiIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iNjk1MmQ5YTQ3ZmMyYWQwZjMxNTUxMGUxMjkwNDU1ZiIKKworaW5oZXJpdCB4ZmNlLXBhbmVsLXBsdWdpbgorCitTUkNfVVJJW21kNXN1bV0gPSAiZmNhZTliMzhhOGFmZmNkODI2OTlhOTQ5OTFiYmEyOWIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNDE3NWM2MTQ3NDlhYmJiNWJjZjZmNDljODgxMjVmYjBkZDM2ZGI2OWY0YzM3NGRmMjM1NjM5MDdiMTZlMmMzZiIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbbm90aWZ5XSA9ICItLWVuYWJsZS1ub3RpZmljYXRpb25zLC0tZGlzYWJsZS1ub3RpZmljYXRpb25zLGxpYm5vdGlmeSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9wdWxzZWF1ZGlvL3hmY2U0LXB1bHNlYXVkaW8tcGx1Z2luXzAuMi40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3B1bHNlYXVkaW8veGZjZTQtcHVsc2VhdWRpby1wbHVnaW5fMC4yLjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjUwMjZhYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9wdWxzZWF1ZGlvL3hmY2U0LXB1bHNlYXVkaW8tcGx1Z2luXzAuMi40LmJiCkBAIC0wLDAgKzEsMTcgQEAKK1NVTU1BUlkgPSAiUHVsc2VhdWRpbyBtaXhlciBmb3IgdGhlIHhmY2UgcGFuZWwiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZjVlYWM2YmIwZDZlYzBkYzY1NWU0MTc3ODFkNDAxNWYiCisKK2luaGVyaXQgeGZjZS1wYW5lbC1wbHVnaW4gZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJwdWxzZWF1ZGlvIgorCitERVBFTkRTICs9ICJwdWxzZWF1ZGlvIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZTBmZmRlNDE5ZmEwMzBmMWY5YmQwYjU2ZTMyNjRhMWMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOGQ5MzMwZGRmMWQ0NGE4NjRhMzZkNTY2Y2NlNGI3NmQ0Zjg1OWM1OTg0YmJhNzY1M2Q3ZGMzOWFhMjRkNWMzZSIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbbGlibm90aWZ5XSA9ICItLWVuYWJsZS1saWJub3RpZnksLS1kaXNhYmxlLWxpYm5vdGlmeSxsaWJub3RpZnkiCisKK1JSRUNPTU1FTkRTXyR7UE59ID0gInBhdnVjb250cm9sIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3NlbnNvcnMveGZjZTQtc2Vuc29ycy1wbHVnaW5fMS4yLjYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvc2Vuc29ycy94ZmNlNC1zZW5zb3JzLXBsdWdpbl8xLjIuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMmUwZWQ5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3NlbnNvcnMveGZjZTQtc2Vuc29ycy1wbHVnaW5fMS4yLjYuYmIKQEAgLTAsMCArMSwyNyBAQAorU1VNTUFSWSA9ICJTZW5zb3JzIHBsdWdpbiBmb3IgdGhlIFhmY2UgUGFuZWwiCitIT01FUEFHRSA9ICJodHRwOi8vZ29vZGllcy54ZmNlLm9yZy9wcm9qZWN0cy9wYW5lbC1wbHVnaW5zL3hmY2U0LXNlbnNvcnMtcGx1Z2luIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWI5NDc4OWJlZDlhZWMwM2I5NjU2YTljYzUzOThjNzA2IgorCitpbmhlcml0IHhmY2UtcGFuZWwtcGx1Z2luCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIzM2MyZTM0M2MxMjI0ZDljNGFlNzU3YTcwY2JlMDhlYiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyMzVlZjg0MmJkNDVlNzAxYmNlZWJiMjFhMzg0YWIwOWYyMWFmY2VlYThlZDk1ZjkxYmI0YzZjZjNhYmUxYmMwIgorCitFWFRSQV9PRUNPTkYgPSAiIFwKKyAgICAtLWRpc2FibGUtcHJvY2FjcGkgXAorICAgIC0tZGlzYWJsZS1zeXNmc2FjcGkgXAorICAgIC0tZGlzYWJsZS14bnZjdHJsIFwKKyIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgc2VkIC1pICdzOkxJQlNFTlNPUlNfQ0ZMQUdTPS4qOkxJQlNFTlNPUlNfQ0ZMQUdTPS1JJHtTVEFHSU5HX0lOQ0RJUn06ZycgJHtTfS9jb25maWd1cmUuYWMKK30KKworUEFDS0FHRUNPTkZJRyA/Pz0gImxpYnNlbnNvcnMiCitQQUNLQUdFQ09ORklHW2xpYnNlbnNvcnNdID0gIi0tZW5hYmxlLWxpYnNlbnNvcnMsLS1kaXNhYmxlLWxpYnNlbnNvcnMsIGxtc2Vuc29ycyIKK1BBQ0tBR0VDT05GSUdbaGRkdGVtcF0gICAgPSAiLS1lbmFibGUtaGRkdGVtcCwtLWRpc2FibGUtaGRkdGVtcCwgaGRkdGVtcCIKK1BBQ0tBR0VDT05GSUdbbmV0Y2F0XSAgICAgPSAiLS1lbmFibGUtbmV0Y2F0LC0tZGlzYWJsZS1uZXRjYXQsIG5ldGNhdCIKK1BBQ0tBR0VDT05GSUdbbGlibm90aWZ5XSAgPSAiLS1lbmFibGUtbm90aWZpY2F0aW9uLC0tZGlzYWJsZS1ub3RpZmljYXRpb24sIGxpYm5vdGlmeSIKKworRklMRVNfU09MSUJTREVWID0gIiR7bGliZGlyfS94ZmNlNC9tb2R1bGVzL2xpYioke1NPTElCU0RFVn0iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvc21hcnRib29rbWFyay94ZmNlNC1zbWFydGJvb2ttYXJrLXBsdWdpbl8wLjQuNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9zbWFydGJvb2ttYXJrL3hmY2U0LXNtYXJ0Ym9va21hcmstcGx1Z2luXzAuNC42LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNmNDdmMDYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvc21hcnRib29rbWFyay94ZmNlNC1zbWFydGJvb2ttYXJrLXBsdWdpbl8wLjQuNi5iYgpAQCAtMCwwICsxLDkgQEAKK1NVTU1BUlkgPSAiUGFuZWwgcGx1Z2luIGFsbG93aW5nIHRvIHNlbmQgcmVxdWVzdHMgZGlyZWN0bHkgdG8gYnJvd3NlciIKK0hPTUVQQUdFID0gImh0dHA6Ly9nb29kaWVzLnhmY2Uub3JnL3Byb2plY3RzL3BhbmVsLXBsdWdpbnMveGZjZTQtc21hcnRib29rbWFyay1wbHVnaW4iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCisKK2luaGVyaXQgeGZjZS1wYW5lbC1wbHVnaW4KKworU1JDX1VSSVttZDVzdW1dID0gIjAxYjc3MzVkNGQ5YWIwMTUwZDRkZGQzYmVjYjk0ZDVmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjNiZWQyYjMyMmNkMzljZTU4NDVkNmRhMDc5MzhjNzAyMjYwZjNmMWE5NzAwYjY5MGVmMzc3ZmJhNzUyYmEyNGYiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvc3lzdGVtbG9hZC94ZmNlNC1zeXN0ZW1sb2FkLXBsdWdpbl8xLjEuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9zeXN0ZW1sb2FkL3hmY2U0LXN5c3RlbWxvYWQtcGx1Z2luXzEuMS4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMyMTJmODgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvc3lzdGVtbG9hZC94ZmNlNC1zeXN0ZW1sb2FkLXBsdWdpbl8xLjEuMi5iYgpAQCAtMCwwICsxLDExIEBACitERVNDUklQVElPTiA9ICJQYW5lbCBwbHVnaW4gZGlzcGxheWluZyBjdXJyZW50IENQVSBsb2FkLCB0aGUgbWVtb3J5IGluIHVzZSwgdGhlIHN3YXAgc3BhY2UgYW5kIHRoZSBzeXN0ZW0gdXB0aW1lIgorSE9NRVBBR0UgPSAiaHR0cDovL2dvb2RpZXMueGZjZS5vcmcvcHJvamVjdHMvcGFuZWwtcGx1Z2lucy94ZmNlNC1zeXN0ZW1sb2FkLXBsdWdpbiIKK0xJQ0VOU0UgPSAiQlNELTItQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OWFjYjE3MmE5M2ZmNmM0M2NjZTJhZmY3OTBhOGFlZjgiCisKK2luaGVyaXQgeGZjZS1wYW5lbC1wbHVnaW4KKworREVQRU5EUyArPSAidXBvd2VyIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNjhjOWQyMGIzNTJjMTNmM2ViNmIzOWEwZDlmZTJiYTIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYjQ2OWI2YjNhMDhlYzI5YjkwNjExNTE5NTBkODc2ZDM2YmYyNWEzMTA2ZWM3NzI1NjkyM2ZkZDZiNWQxOGE3YyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy90aW1lLW91dC94ZmNlNC10aW1lLW91dC1wbHVnaW5fMS4wLjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvdGltZS1vdXQveGZjZTQtdGltZS1vdXQtcGx1Z2luXzEuMC4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZhY2JiMGQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvdGltZS1vdXQveGZjZTQtdGltZS1vdXQtcGx1Z2luXzEuMC4yLmJiCkBAIC0wLDAgKzEsMTAgQEAKK1NVTU1BUlkgPSAiVGhpcyBwbHVnaW4gbWFrZXMgaXQgcG9zc2libGUgdG8gdGFrZSBwZXJpb2RpY2FsIGJyZWFrcyIKK0hPTUVQQUdFID0gImh0dHA6Ly9nb29kaWVzLnhmY2Uub3JnL3Byb2plY3RzL3BhbmVsLXBsdWdpbnMveGZjZTQtdGltZS1vdXQtcGx1Z2luIgorU0VDVElPTiA9ICJ4MTEvYXBwbGljYXRpb24iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTk1MzBiZGYzMzY1OWIyOWU3M2Q0YWRiOWY5ZjY1NTIiCisKK2luaGVyaXQgeGZjZS1wYW5lbC1wbHVnaW4KKworU1JDX1VSSVttZDVzdW1dID0gImQ3ZDc0Mzc5NGE3NjZiYTFiMDA2NDc4MjhhMDk5MDUzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImM2OWZiNzIxOGM2ODVlNTE2NDU0ODEwMjkxYzUyNDVjNDlhODBkNzc0YTZiZGVkNTljNjQ1YTFhZjQyN2M0ZTUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvdGltZXIveGZjZTQtdGltZXItcGx1Z2luXzEuNi4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3RpbWVyL3hmY2U0LXRpbWVyLXBsdWdpbl8xLjYuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNjEyMzVmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3RpbWVyL3hmY2U0LXRpbWVyLXBsdWdpbl8xLjYuMC5iYgpAQCAtMCwwICsxLDEwIEBACitTVU1NQVJZID0gIlhGQ0UgcGFuZWwgcGx1Z2luIHRvIGdlbmVyYXRlIGFsYXJtIG1lc3NhZ2VzIgorREVTQ1JJUFRJT04gPSAiVGhpcyBpcyBhIHNpbXBsZSBwbHVnaW4gdGhhdCBsZXRzIHRoZSB1c2VyIHJ1biBhbiBhbGFybSBhdCBhIHNwZWNpZmllZCB0aW1lIG9yIGF0IHRoZSBlbmQgb2YgYSBzcGVjaWZpZWQgY291bnRkb3duIHBlcmlvZCIKK0hPTUVQQUdFID0gImh0dHA6Ly9nb29kaWVzLnhmY2Uub3JnL3Byb2plY3RzL3BhbmVsLXBsdWdpbnMveGZjZTQtdGltZXItcGx1Z2luIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWFlMzkyNzEyNjdmZDYzZWI3NjE5NDMyZmYyNGU3ZmYxIgorCitpbmhlcml0IHhmY2UtcGFuZWwtcGx1Z2luCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIzYmUyYTRjY2ZiMmFmMjA0NDFiMWQyNWMyY2VhNWYyOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzOWQ3ZDIxZjA5OWJjNDIxOWY2YTYxNTYxNDJmMGJiYjgzNzQ5ODZlZTE5NzBhOWMwYzhkYzEzOGI4N2Y4NjdjIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3ZlcnZlL3hmY2U0LXZlcnZlLXBsdWdpbl8xLjEuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy92ZXJ2ZS94ZmNlNC12ZXJ2ZS1wbHVnaW5fMS4xLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjU1MDNhNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy92ZXJ2ZS94ZmNlNC12ZXJ2ZS1wbHVnaW5fMS4xLjAuYmIKQEAgLTAsMCArMSw5IEBACitTVU1NQVJZID0gIlZlcnZlIHBhbmVsIHBsdWdpbiBpcyBhIGNvbWZvcnRhYmxlIGNvbW1hbmQgbGluZSBwbHVnaW4gZm9yIHRoZSBYZmNlIHBhbmVsIgorSE9NRVBBR0UgPSAiaHR0cDovL2dvb2RpZXMueGZjZS5vcmcvcHJvamVjdHMvcGFuZWwtcGx1Z2lucy94ZmNlNC12ZXJ2ZS1wbHVnaW4iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCisKK2luaGVyaXQgeGZjZS1wYW5lbC1wbHVnaW4KKworU1JDX1VSSVttZDVzdW1dID0gImRkZDAxOTBhZTU2ZjYxMTdkYmNmOWZmMmJmNWE4Y2JmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImEzMTk2ZjgxOGM3YWQ1N2QxOWNkNjU4MWUxNjhmZDJiOWY5NmRlMDcwMjQ2YWVhNzBjMzVjZTJlNWY5ZDljODQiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvd2F2ZWxhbi94ZmNlNC13YXZlbGFuLXBsdWdpbl8wLjUuMTIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvd2F2ZWxhbi94ZmNlNC13YXZlbGFuLXBsdWdpbl8wLjUuMTIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWNjZDU1NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy93YXZlbGFuL3hmY2U0LXdhdmVsYW4tcGx1Z2luXzAuNS4xMi5iYgpAQCAtMCwwICsxLDkgQEAKK1NVTU1BUlkgPSAiUGFuZWwgcGx1Z2luIGRpc3BsYXlpbmcgc3RhdHMgZnJvbSBhIHdpcmVsZXNzIGxhbiBpbnRlcmZhY2UiCitIT01FUEFHRSA9ICJodHRwOi8vZ29vZGllcy54ZmNlLm9yZy9wcm9qZWN0cy9wYW5lbC1wbHVnaW5zL3hmY2U0LXdhdmVsYW4tcGx1Z2luIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1lMWU1ODcyZGY5YzVjZjFhMjNmMTY0OTNkOTEwNDkyMCIKKworaW5oZXJpdCB4ZmNlLXBhbmVsLXBsdWdpbgorCitTUkNfVVJJW21kNXN1bV0gPSAiM2JhNWVlMDYyNjYxMjk0MmQyNDlkNGE4MGExYTY3YjciCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNjdkY2U0NTczOWYwNjNiOTVlMmJjMjIzMmM2MjUyNzc2ODU4ODdiMWY4NDA4ODMxNmQ5MTk2NzFiNTUwMGFjNCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy93ZWF0aGVyL3hmY2U0LXdlYXRoZXItcGx1Z2luXzAuOC43LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3dlYXRoZXIveGZjZTQtd2VhdGhlci1wbHVnaW5fMC44LjcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzUxOWY0YQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy93ZWF0aGVyL3hmY2U0LXdlYXRoZXItcGx1Z2luXzAuOC43LmJiCkBAIC0wLDAgKzEsMTMgQEAKK1NVTU1BUlkgPSAiUGFuZWwgcGx1Z2luIHRvIGRpc3BsYXkgY3VycmVudCB0ZW1wZXJhdHVyZSBhbmQgd2VhdGhlciBjb25kaXRpb24iCitIT01FUEFHRSA9ICJodHRwOi8vZ29vZGllcy54ZmNlLm9yZy9wcm9qZWN0cy9wYW5lbC1wbHVnaW5zL3hmY2U0LXdlYXRoZXItcGx1Z2luIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgorCitpbmhlcml0IHhmY2UtcGFuZWwtcGx1Z2luCisKK0RFUEVORFMgKz0gImxpYnNvdXAtMi40IGRidXMtZ2xpYiB1cG93ZXIiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlY2FiMGVhYWQ4NzBlNDYwZGE0NTk3ZTc2ZjQzZTZlNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwNzFlNzExMDY4NjhjN2Q5MGM5MzYyNTZkODM3Y2E4MzRkMGNhNmY1NGRhZWE1OWE5YjVmYzExYjMxOGU2NWIwIgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS94ZmNlNC93ZWF0aGVyIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3doaXNrZXJtZW51L3hmY2U0LXdoaXNrZXJtZW51LXBsdWdpbl8xLjUuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy93aGlza2VybWVudS94ZmNlNC13aGlza2VybWVudS1wbHVnaW5fMS41LjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjBiZjExNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy93aGlza2VybWVudS94ZmNlNC13aGlza2VybWVudS1wbHVnaW5fMS41LjMuYmIKQEAgLTAsMCArMSw5IEBACitTVU1NQVJZID0gIkFuIGFsdGVybmF0ZSBtZW51IGZvciB0aGUgWGZjZSBkZXNrdG9wIGVudmlyb25tZW50IgorSE9NRVBBR0UgPSAiaHR0cDovL2dvdHRjb2RlLm9yZy94ZmNlNC13aGlza2VybWVudS1wbHVnaW4vIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgorCitpbmhlcml0IHhmY2UtcGFuZWwtcGx1Z2luIGNtYWtlCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlZjUxMjM0MTE3ZGFiZGYwMmYyZjQxNTY0M2Q4NThkNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2OGE4MjczMzk1NjcxZDUxNjNmZDhjZDlhNzM3NTVlZjAzZDRlYTc0ODkxMjA0NDk4YTIxNTgyYTljMmU5MjViIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3hrYi94ZmNlNC14a2ItcGx1Z2luXzAuNy4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3hrYi94ZmNlNC14a2ItcGx1Z2luXzAuNy4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJmYTE2MzQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMveGtiL3hmY2U0LXhrYi1wbHVnaW5fMC43LjEuYmIKQEAgLTAsMCArMSwxNiBAQAorU1VNTUFSWSA9ICJYS0IgbGF5b3V0IHN3aXRjaGluZyBwYW5lbCBwbHVnLWluIGZvciB0aGUgWGZjZSBkZXNrdG9wIGVudmlyb25tZW50IgorSE9NRVBBR0UgPSAiaHR0cDovL2dvb2RpZXMueGZjZS5vcmcvcHJvamVjdHMvcGFuZWwtcGx1Z2lucy94ZmNlNC14a2ItcGx1Z2luIgorU0VDVElPTiA9ICJ4MTEvYXBwbGljYXRpb24iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NDk2ZjA5ZjA4NGIwZjdlNmYwMmY3NjlhODQ0OTBjNmIiCisKK2luaGVyaXQgeGZjZS1wYW5lbC1wbHVnaW4KKworU1JDX1VSSVttZDVzdW1dID0gIjJmNjhlMGQ1M2JhZjY4ZWNjMWE3MTY1YWQzM2MyNmE5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjYxZmUyZTMzZmU5OTkzOWQ1ZDA2YTY4MmU5NGU0MGUwNWVmODQ0YzkzMGFkNjEyMTU0MDkwZDE1OGIyY2U2ODEiCisKK0RFUEVORFMgKz0gImxpYnhrbGF2aWVyIGxpYnduY2sgbGlicnN2ZyBnYXJjb24iCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L3hmY2U0L3hrYiIKKworUkRFUEVORFNfJHtQTn0gPSAieGZjZTQtc2V0dGluZ3MiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXN1cHBvcnQvdmltL3ZpbV8lLmJiYXBwZW5kIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1zdXBwb3J0L3ZpbS92aW1fJS5iYmFwcGVuZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNTQwM2U2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1zdXBwb3J0L3ZpbS92aW1fJS5iYmFwcGVuZApAQCAtMCwwICsxLDYgQEAKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworCSMgVGhlIG1vdXNlIGJlaW5nIGF1dG9lbmFibGVkIGlzIGp1c3QgYW5ub3lpbmcgaW4geGZjZTQtdGVybWluYWwgKG1vdXNlCisJIyBkcmFnIG1ha2UgdmltIGdvIGludG8gdmlzdWFsIG1vZGUgYW5kIHRoZXJlIGlzIG5vIHJpZ2h0IGNsaWNrIG1lbnUpLAorCSMgZGVsZXRlIHRoZSBibG9jay4KKwlzZWQgLWkgJy90aGUgbW91c2Ugd29ya3MganVzdCBmaW5lLywrNGQnICR7RH0vJHtkYXRhZGlyfS8ke0JQTn0vdmltcmMKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtdGh1bmFyLXBsdWdpbnMvYXJjaGl2ZS90aHVuYXItYXJjaGl2ZS1wbHVnaW5fMC4zLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXRodW5hci1wbHVnaW5zL2FyY2hpdmUvdGh1bmFyLWFyY2hpdmUtcGx1Z2luXzAuMy4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkwYWI2YWYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXRodW5hci1wbHVnaW5zL2FyY2hpdmUvdGh1bmFyLWFyY2hpdmUtcGx1Z2luXzAuMy4xLmJiCkBAIC0wLDAgKzEsMTIgQEAKK0RFU0NSSVBUSU9OID0gIlRodW5hciBBcmNoaXZlIFBsdWdpbiBhbGxvd3MgeW91IHRvIGNyZWF0ZSBhbmQgZXh0cmFjdCBhcmNoaXZlIGZpbGVzIHVzaW5nIGZpbGUgY29udGV4dCBtZW51cyBpbiBUaHVuYXIiCitIT01FUEFHRSA9ICJodHRwOi8vZ29vZGllcy54ZmNlLm9yZy9wcm9qZWN0cy90aHVuYXItcGx1Z2lucy90aHVuYXItYXJjaGl2ZS1wbHVnaW4iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MjUyODkwZDllZWUyNmFhYjdiNDMyZThiOGE2MTY0NzUiCisKK2luaGVyaXQgdGh1bmFyLXBsdWdpbgorCitTUkNfVVJJW21kNXN1bV0gPSAiNDI1ZjRmYWFhY2U2ZGM3YTQ3MTZhMzViNzc5NTQ2M2EiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOWFkNTU5YjBjMTEzMDhmNjg5N2FkNTY2MDRlNWEwNmRjOGYzNjlmNjQ5ZWIyMDEyMGIyZDMwMThlZjVkYTU0YyIKKworIyBpbnN0YWxsIHRhcCBmaWxlcyBpbiAke2xpYmRpcn0vdGh1bmFyLWFyY2hpdmUtcGx1Z2luCitFWFRSQV9PRUNPTkYgKz0gIi0tbGliZXhlY2Rpcj0ke2xpYmRpcn0iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXRodW5hci1wbHVnaW5zL21lZGlhLXRhZ3MvdGh1bmFyLW1lZGlhLXRhZ3MtcGx1Z2luXzAuMi4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy10aHVuYXItcGx1Z2lucy9tZWRpYS10YWdzL3RodW5hci1tZWRpYS10YWdzLXBsdWdpbl8wLjIuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MGYxNTBiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy10aHVuYXItcGx1Z2lucy9tZWRpYS10YWdzL3RodW5hci1tZWRpYS10YWdzLXBsdWdpbl8wLjIuMS5iYgpAQCAtMCwwICsxLDExIEBACitTVU1NQVJZID0gIkFkZHMgSUQzL09HRyB0YWcgc3VwcG9ydCB0byB0aGUgVGh1bmFyIGJ1bGsgcmVuYW1lIGRpYWxvZyIKK0hPTUVQQUdFID0gImh0dHA6Ly90aHVuYXIueGZjZS5vcmciCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCisKK2luaGVyaXQgdGh1bmFyLXBsdWdpbgorCitERVBFTkRTICs9ICJ0YWdsaWIiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwMTA2ZTkwMDcxNGY4NmNjYmFmZGM3MjIzOGQzY2Y4ZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwNTZkMDEyYTEwNDAzZWUzZTJlNTViNmZmMmZhZWNiNzk2ODIxZGU5ZWJlZTAwMDMxNTU4OWI5NWQ5NWVkMjUzIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL2V4by9leG8vY29uZmlndXJlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL2V4by9leG8vY29uZmlndXJlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVmMjdlNDIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvZXhvL2V4by9jb25maWd1cmUucGF0Y2gKQEAgLTAsMCArMSw0MyBAQAorLS0tIGEvY29uZmlndXJlLmFjCTIwMDctMTItMDIgMTA6Mzc6MDYuMDAwMDAwMDAwIC0wMjAwCisrKysgYi9jb25maWd1cmUuYWMJMjAwOC0wNi0wNSAxNzoyMTo0Mi4wMDAwMDAwMDAgLTAzMDAKK0BAIC0xMjcsMjIgKzEyNywyNCBAQAorIGRubCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyBkbmwgKioqIENoZWNrIGZvciBzdHJmdGltZSgpIGV4dGVuc2lvbnMgKioqCisgZG5sICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorLUFDX1RSWV9SVU4oWworLSAgI2luY2x1ZGUgPHN0cmluZy5oPgorLSAgI2luY2x1ZGUgPHRpbWUuaD4KKy0gIGludAorLSAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorLSAgeworLSAgICBzdHJ1Y3QgdG0gdG07CistICAgIGNoYXIgICAgICBidWZmZXJbMTZdOworLSAgICB0bS50bV95ZWFyID0gODE7CistICAgIGlmIChzdHJmdGltZSAoYnVmZmVyLCAxNiwgIiVFWSIsICZ0bSkgPT0gNCAmJiBzdHJjbXAgKGJ1ZmZlciwgIjE5ODEiKSA9PSAwKQorLSAgICAgIHJldHVybiAwOworLSAgICByZXR1cm4gMTsKKy0gIH0KKy1dLCBbCistICBBQ19ERUZJTkUoW0hBVkVfU1RSRlRJTUVfRVhURU5TSU9OXSwgMSwgW0RlZmluZSBpZiBzdHJmdGltZSBzdXBwb3J0cyAlRSBhbmQgJU8gbW9kaWZpZXJzLl0pCistXSkKKytkbmwgZ3JycnIuLi4gIHRoaXMgZG9lc24ndCB3b3JrIGZvciBjcm9zcyBjb21waWxpbmcsIGRlZmluZSBpdCBmb3IgT0UKKytBQ19ERUZJTkUoW0hBVkVfU1RSRlRJTUVfRVhURU5TSU9OXSwgMSwgW0RlZmluZSBpZiBzdHJmdGltZSBzdXBwb3J0cyAlRSBhbmQgJU8gbW9kaWZpZXJzLl0pCisrZG5sIEFDX1RSWV9SVU4oWworK2RubCAgICNpbmNsdWRlIDxzdHJpbmcuaD4KKytkbmwgICAjaW5jbHVkZSA8dGltZS5oPgorK2RubCAgIGludAorK2RubCAgIG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKKytkbmwgICB7CisrZG5sICAgICBzdHJ1Y3QgdG0gdG07CisrZG5sICAgICBjaGFyICAgICAgYnVmZmVyWzE2XTsKKytkbmwgICAgIHRtLnRtX3llYXIgPSA4MTsKKytkbmwgICAgIGlmIChzdHJmdGltZSAoYnVmZmVyLCAxNiwgIiVFWSIsICZ0bSkgPT0gNCAmJiBzdHJjbXAgKGJ1ZmZlciwgIjE5ODEiKSA9PSAwKQorK2RubCAgICAgICByZXR1cm4gMDsKKytkbmwgICAgIHJldHVybiAxOworK2RubCAgIH0KKytkbmwgXSwgWworK2RubCAgIEFDX0RFRklORShbSEFWRV9TVFJGVElNRV9FWFRFTlNJT05dLCAxLCBbRGVmaW5lIGlmIHN0cmZ0aW1lIHN1cHBvcnRzICVFIGFuZCAlTyBtb2RpZmllcnMuXSkKKytkbmwgXSkKKyAKKyBkbmwgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgZG5sICoqKiBDaGVjayBmb3IgaTE4biBzdXBwb3J0ICoqKgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL2V4by9leG8vZXhvLW5vLXRlc3RzLTAuOC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9leG8vZXhvL2V4by1uby10ZXN0cy0wLjgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWM4YmNhNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9leG8vZXhvL2V4by1uby10ZXN0cy0wLjgucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorRnJvbSA1ZjFlMTk4NjBkODk2NDc0ODhiZGQzMmEwMmZiMzMyZjY5NDM0NDA1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorRGF0ZTogRnJpLCAxOCBNYXkgMjAxMiAyMToxMzowMCArMDIwMAorU3ViamVjdDogW1BBVENIXSBEbyBub3QgcnVuIHRlc3RzIGF0IGJ1aWxkIHRpbWUKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKK1Vwc3RyZWFtLVN0YXR1czogTm90LUFwcGxpY2FibGUKKworU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorLS0tCisgTWFrZWZpbGUuYW0gfCAgICAzICstLQorIDEgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUuYW0gYi9NYWtlZmlsZS5hbQoraW5kZXggMGFiMzg1My4uM2U3MjM5MSAxMDA2NDQKKy0tLSBhL01ha2VmaWxlLmFtCisrKysgYi9NYWtlZmlsZS5hbQorQEAgLTgsOCArOCw3IEBAIFNVQkRJUlMgPQkJCQkJCQkJXAorIAlkb2NzCQkJCQkJCQlcCisgCWljb25zCQkJCQkJCQlcCisgCXBpeG1hcHMJCQkJCQkJCVwKKy0JcG8JCQkJCQkJCVwKKy0JdGVzdHMKKysJcG8KKyAKKyBBVVRPTUFLRV9PUFRJT05TID0JCQkJCQkJXAorIAkxLjkJCQkJCQkJCVwKKy0tIAorMS43LjQuNAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvZXhvL2V4by9yZWR1Y2UtYnVpbGQtdG8tZXhvLWNzb3VyY2Utb25seS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9leG8vZXhvL3JlZHVjZS1idWlsZC10by1leG8tY3NvdXJjZS1vbmx5LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI0NjUxMWMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvZXhvL2V4by9yZWR1Y2UtYnVpbGQtdG8tZXhvLWNzb3VyY2Utb25seS5wYXRjaApAQCAtMCwwICsxLDgyIEBACitGcm9tIGU3MTBkOGQ0YTNlMzQ4MDQxNjgyNmM3MGQ1NmVhM2QyNTk4YTc3ZTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CitEYXRlOiBUaHUsIDI4IE1hciAyMDEzIDIzOjQxOjAzICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIHJlZHVjZSBidWlsZCB0byBleG8tY3NvdXJjZSBvbmx5CitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK2V4by1jc291cmNlIGNyZWF0ZXMgYy1oZWFkZXIgZmlsZXMgZnJvbSBnbGFkZSByZXNvdXJjZSBvdXRwdXQgZmlsZXMuIFdoZW4KK2J1aWxkaW5nIHhmY2UtcGFja2FnZXMgZnJvbSBnaXQgaW5zdGVhZCBvZiB0YXJiYWxsIHRoaXMgZXhvLWNzb3VyY2UtbmF0aXZlIGlzCityZXF1aXJlZC4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQorCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CistLS0KKyBNYWtlZmlsZS5hbSAgfCAxMCArLS0tLS0tLS0tCisgY29uZmlndXJlLmFjIHwgMjAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAyOSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL01ha2VmaWxlLmFtIGIvTWFrZWZpbGUuYW0KK2luZGV4IGFkN2M2Y2UuLjNhY2Q5NGEgMTAwNjQ0CistLS0gYS9NYWtlZmlsZS5hbQorKysrIGIvTWFrZWZpbGUuYW0KK0BAIC0xLDE1ICsxLDcgQEAKKyBBQ0xPQ0FMX0FNRkxBR1MgPSAtSSBtNCAke0FDTE9DQUxfRkxBR1N9CisgCisgU1VCRElSUyA9CQkJCQkJCQlcCistCWV4bwkJCQkJCQkJXAorLQlleG8tY3NvdXJjZQkJCQkJCQlcCistCWV4by1kZXNrdG9wLWl0ZW0tZWRpdAkJCQkJCVwKKy0JZXhvLWhlbHBlcgkJCQkJCQlcCistCWV4by1vcGVuCQkJCQkJCVwKKy0JZG9jcwkJCQkJCQkJXAorLQlpY29ucwkJCQkJCQkJXAorLQlwaXhtYXBzCQkJCQkJCQlcCistCXBvCisrCWV4by1jc291cmNlCisgCisgZGlzdGNsZWFuLWxvY2FsOgorIAlybSAtcmYgKi5jYWNoZSAqfgorZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggYmI5YmUwNS4uMjM0NzFkMCAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtMTE2LDE1ICsxMTYsNiBAQCBBQ19QUk9HX0NDKCkKKyBBTV9QUk9HX0NDX0NfTygpCisgQUNfUFJPR19JTlNUQUxMKCkKKyBJVF9QUk9HX0lOVExUT09MKFtpbnRsdG9vbF9taW5pbXVtX3ZlcnNpb25dLCBbbm8teG1sXSkKKy1BQ19DSEVDS19QUk9HUyhbUEVSTF0sIFtwZXJsNSBwZXJsXSkKKy0KKy1kbmwgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCistZG5sICoqKiBDaGVjayBmb3IgcmVxdWlyZWQgUGVybCBtb2R1bGVzICoqKgorLWRubCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKy1BQ19QUk9HX1BFUkxfTU9EVUxFUyhbVVJJOjpFc2NhcGUgVVJJOjpmaWxlIFVSSTo6VVJMXSwgW10sCistWworLSAgQUNfTVNHX0VSUk9SKFtBdGxlYXN0IG9uZSBvZiB0aGUgcmVxdWlyZWQgUGVybCBtb2R1bGVzIChVUkk6OkVzY2FwZSwgVVJJOjpmaWxlIGFuZCBVUkk6OlVSTCkgd2FzIG5vdCBmb3VuZCBvbiB5b3VyIHN5c3RlbV0pCistXSkKKyAKKyBkbmwgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgZG5sICoqKiBDaGVjayBmb3Igc3RhbmRhcmQgaGVhZGVyIGZpbGVzICoqKgorQEAgLTE3MSwxNyArMTYyLDYgQEAgZG5sICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgZG5sICoqKiBDaGVjayBmb3IgcmVxdWlyZWQgcGFja2FnZXMgKioqCisgZG5sICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgWERUX0NIRUNLX1BBQ0tBR0UoW0dMSUJdLCBbZ2xpYi0yLjBdLCBbMi4zMC4wXSkKKy1YRFRfQ0hFQ0tfUEFDS0FHRShbR0lPXSwgW2dpby0yLjBdLCBbMi4zMC4wXSkKKy1YRFRfQ0hFQ0tfUEFDS0FHRShbR1RLXSwgW2d0aystMi4wXSwgWzIuMjQuMF0pCistWERUX0NIRUNLX1BBQ0tBR0UoW0dUSFJFQURdLCBbZ3RocmVhZC0yLjBdLCBbMi4zMC4wXSkKKy1YRFRfQ0hFQ0tfUEFDS0FHRShbTElCWEZDRTRVVElMXSwgW2xpYnhmY2U0dXRpbC0xLjBdLCBbNC4xMC4wXSkKKy1YRFRfQ0hFQ0tfUEFDS0FHRShbTElCWEZDRTRVSV0sIFtsaWJ4ZmNlNHVpLTFdLCBbNC4xMC4wXSkKKy1YRFRfQ0hFQ0tfT1BUSU9OQUxfUEFDS0FHRShbR0lPX1VOSVhdLCBbZ2lvLXVuaXgtMi4wXSwgWzIuMzAuMF0sIFtnaW8tdW5peF0sIFtHSU8tVW5peCBmZWF0dXJlc10pCistCistZG5sICoqKioqKioqKioqKioqKioqKioqKgorLWRubCAqKiogQ2hlY2sgZm9yIFgxMSAqKioKKy1kbmwgKioqKioqKioqKioqKioqKioqKioqCistWERUX0NIRUNLX0xJQlgxMV9SRVFVSVJFKCkKKyAKKyBkbmwgKioqKioqKioqKioqKioqKioqKioqKioqKgorIGRubCAqKiogQ2hlY2sgZm9yIGd0ay1kb2MgKioqCistLSAKKzEuOS4zCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9leG8vZXhvXzAuMTAuNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9leG8vZXhvXzAuMTAuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMWI1YWU1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL2V4by9leG9fMC4xMC42LmJiCkBAIC0wLDAgKzEsMzYgQEAKK0RFU0NSSVBUSU9OPSJBcHBsaWNhdGlvbiBsaWJyYXJ5IGZvciB0aGUgWGZjZSBkZXNrdG9wIGVudmlyb25tZW50IgorU0VDVElPTiA9ICJ4MTEiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCitERVBFTkRTID0gImd0aysgbGlieGZjZTR1dGlsIGxpYnhmY2U0dWkgdmlydHVhbC9saWJ4MTEgbGlidXJpLXBlcmwtbmF0aXZlIGNhaXJvIgorREVQRU5EU19jbGFzcy1uYXRpdmUgPSAiZ2xpYi0yLjAtbmF0aXZlIHhmY2U0LWRldi10b29scy1uYXRpdmUgaW50bHRvb2wtbmF0aXZlIgorCitpbmhlcml0IHhmY2UgcHl0aG9ubmF0aXZlIHBlcmxuYXRpdmUgZ3RrLWRvYworCisjIFNSQ19VUkkgbXVzdCBmb2xsb3cgaW5oZXJpdGVkIG9uZQorU1JDX1VSSSArPSAiIFwKKyAgICBmaWxlOi8vZXhvLW5vLXRlc3RzLTAuOC5wYXRjaCBcCisgICAgZmlsZTovL2NvbmZpZ3VyZS5wYXRjaCBcCisiCisKK1NSQ19VUklfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgXAorICAgIGZpbGU6Ly9yZWR1Y2UtYnVpbGQtdG8tZXhvLWNzb3VyY2Utb25seS5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI4OTVlNGYzOGQyY2ZlNThkNjk2NzllMjkwMmEzMzVhNSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIxY2MwZTVhNDMyZTA1MGE1ZTVhYTY0ZDEyNmI5ODhmNDQ0MGRhNGYyNzQ3NGFhZjQyYTRkOGUxMzY1MWQwNzUyIgorCitQQUNLQUdFUyA9KyAiZXhvLWNzb3VyY2UiCisKKyMgTm90ZTogcHl0aG9uIGJpbmRpbmdzIGRpZCBub3Qgd29yayBpbiBvZS1kZXYgYW5kIGFyZSBhYm91dCB0byBiZSBtb3ZlZCB0bworIyBweXhmY2Ugc2VlIGh0dHA6Ly9jb21tZW50cy5nbWFuZS5vcmcvZ21hbmUuY29tcC5kZXNrdG9wLnhmY2UuZGV2ZWwudmVyc2lvbjQvMTk1NjAKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L3hmY2U0LyBcCisgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3hmY2U0L2V4by0xIFwKKyIKKworRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vZ2lvL21vZHVsZXMvLmRlYnVnIFwKKyIKKworRklMRVNfZXhvLWNzb3VyY2UgKz0gIiR7YmluZGlyfS9leG8tY3NvdXJjZSIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvZ2FyY29uL2ZpbGVzLzAwMDEteGZjZS1hcHBsaWNhdGlvbnMubWVudS1kb24tdC1ibG9hdC1zZXR0aW5ncy1tZW51LWJ5LS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9nYXJjb24vZmlsZXMvMDAwMS14ZmNlLWFwcGxpY2F0aW9ucy5tZW51LWRvbi10LWJsb2F0LXNldHRpbmdzLW1lbnUtYnktLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU1YWQ0ZTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvZ2FyY29uL2ZpbGVzLzAwMDEteGZjZS1hcHBsaWNhdGlvbnMubWVudS1kb24tdC1ibG9hdC1zZXR0aW5ncy1tZW51LWJ5LS5wYXRjaApAQCAtMCwwICsxLDM1IEBACitGcm9tIGY1Mzk4YjQ5Y2M2ZmQ3YTUzNTYyYWFlMmFiYmFjMGQ5YzY1NjU1OWMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CitEYXRlOiBXZWQsIDE1IE1heSAyMDEzIDE0OjE3OjQ5ICswMjAwCitTdWJqZWN0OiBbZ2FyY29uXSB4ZmNlLWFwcGxpY2F0aW9ucy5tZW51OiBkb24ndCBibG9hdCBzZXR0aW5ncyBtZW51IGJ5CisgZW50cmllcyBmb3VuZCBpbiBzZXR0aW5ncyBtYW5hZ2VyCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFsxXQorCitbMV0gaHR0cHM6Ly9idWd6aWxsYS54ZmNlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwOTIKKworU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorLS0tCisgZGF0YS94ZmNlL3hmY2UtYXBwbGljYXRpb25zLm1lbnUgfCAgICAzICsrKworIDEgZmlsZXMgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAwIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZGF0YS94ZmNlL3hmY2UtYXBwbGljYXRpb25zLm1lbnUgYi9kYXRhL3hmY2UveGZjZS1hcHBsaWNhdGlvbnMubWVudQoraW5kZXggZGMzMDU2Yi4uYzJhYTBiYiAxMDA2NDQKKy0tLSBhL2RhdGEveGZjZS94ZmNlLWFwcGxpY2F0aW9ucy5tZW51CisrKysgYi9kYXRhL3hmY2UveGZjZS1hcHBsaWNhdGlvbnMubWVudQorQEAgLTM0LDYgKzM0LDkgQEAKKyAgICAgICAgIDxJbmNsdWRlPgorICAgICAgICAgICAgIDxDYXRlZ29yeT5TZXR0aW5nczwvQ2F0ZWdvcnk+CisgICAgICAgICA8L0luY2x1ZGU+CisrICAgICAgICA8RXhjbHVkZT4KKysgICAgICAgICAgICA8Q2F0ZWdvcnk+WC1YRkNFLVNldHRpbmdzRGlhbG9nPC9DYXRlZ29yeT4KKysgICAgICAgIDwvRXhjbHVkZT4KKyAKKyAgICAgICAgIDxMYXlvdXQ+CisgICAgICAgICAgICAgPEZpbGVuYW1lPnhmY2Utc2V0dGluZ3MtbWFuYWdlci5kZXNrdG9wPC9GaWxlbmFtZT4KKy0tIAorMS43LjYuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvZ2FyY29uL2dhcmNvbl8wLjQuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9nYXJjb24vZ2FyY29uXzAuNC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgxZjZjZTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvZ2FyY29uL2dhcmNvbl8wLjQuMC5iYgpAQCAtMCwwICsxLDEzIEBACitERVNDUklQVElPTj0iWGZjZSBNZW51IExpYnJhcnkiCitTRUNUSU9OID0gIngxMS9saWJzIgorTElDRU5TRSA9ICJMR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0wNGEwMWFiY2JkYWJmZmFlMWNhMjYzMzVhMjkzMjc2YiIKK0RFUEVORFMgPSAieGZjZTQtZGV2LXRvb2xzLW5hdGl2ZSBsaWJ4ZmNlNHV0aWwgbGlieGZjZTR1aSBpbnRsdG9vbC1uYXRpdmUiCisKK2luaGVyaXQgeGZjZSBndGstZG9jCisKK1NSQ19VUkkgKz0gImZpbGU6Ly8wMDAxLXhmY2UtYXBwbGljYXRpb25zLm1lbnUtZG9uLXQtYmxvYXQtc2V0dGluZ3MtbWVudS1ieS0ucGF0Y2giCitTUkNfVVJJW21kNXN1bV0gPSAiYWJhNjJiODA3ODdhYWMyOTUwODNiZjdhZmQ0MTlmZmIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNzg3ZGM4NTk3MTNiNjUxODk5MmQ3NjBkNGI4NThmYjAyZThhMzA3MDVlNmY2ZTg3MWQ3YTE0Y2M5N2JjYTk3MiIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vZGVza3RvcC1kaXJlY3RvcmllcyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9ndGsteGZjZS1lbmdpbmUvZ3RrLXhmY2UtZW5naW5lXzMuMi4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL2d0ay14ZmNlLWVuZ2luZS9ndGsteGZjZS1lbmdpbmVfMy4yLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjk4MzVhYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9ndGsteGZjZS1lbmdpbmUvZ3RrLXhmY2UtZW5naW5lXzMuMi4wLmJiCkBAIC0wLDAgKzEsMjYgQEAKK1NVTU1BUlkgPSAiWEZDRSB0aGVtZSBmb3IgR1RLIgorU0VDVElPTiA9ICJ4MTEvbGlicyIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKK0RFUEVORFMgPSAiZ3RrKyB4ZmNlNC1kZXYtdG9vbHMtbmF0aXZlIgorCitpbmhlcml0IHhmY2UKKworU1JDX1VSSVttZDVzdW1dID0gIjM2M2Q2YzE2YTQ4YTAwZTI2ZDQ1YzQ1YzJlMWZkNzM5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjg3NWM5YzNiZGE5NmZhZjA1MGEyMjI0NjQ5Y2M0MjEyOWZmYjY2MmM0ZGUzM2FkZDhjMGZkMWZiODYwYjQ3ZWQiCisKK1BBQ0tBR0VDT05GSUcgPz89ICJndGszIgorUEFDS0FHRUNPTkZJR1tndGszXSA9ICItLWVuYWJsZS1ndGszLC0tZGlzYWJsZS1ndGszLCBndGsrMywgZ3RrMy14ZmNlLWVuZ2luZSIKKworUEFDS0FHRVMgKz0gIiR7UE59LXRoZW1lcyBndGszLXhmY2UtZW5naW5lIgorRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9ndGstMi4wLyovZW5naW5lcy8qLnNvIgorRklMRVNfZ3RrMy14ZmNlLWVuZ2luZSArPSAiJHtsaWJkaXJ9L2d0ay0zLjAvKi90aGVtaW5nLWVuZ2luZXMvKi5zbyIKK0ZJTEVTXyR7UE59LXRoZW1lcyArPSAiJHtkYXRhZGlyfS90aGVtZXMiCisKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2d0ay0zLjAvKi90aGVtaW5nLWVuZ2luZXMvLmRlYnVnIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2d0ay0yLjAvKi9lbmdpbmVzLy5kZWJ1ZyIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L2d0ay0yLjAvKi9lbmdpbmVzLyoubGEgXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vZ3RrLTMuMC8qL3RoZW1pbmctZW5naW5lcy8qLmxhIgorCitSREVQRU5EU18ke1BOfSArPSAiJHtQTn0tdGhlbWVzIgorUkRFUEVORFNfZ3RrMy14ZmNlLWVuZ2luZSArPSAiJHtQTn0tdGhlbWVzIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL2xpYnhmY2U0dWkvZmlsZXMvMDAwMS1saWJ4ZmNlNGtiZC1wcml2YXRlLXhmY2U0LWtleWJvYXJkLXNob3J0Y3V0cy54bWwtZml4LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL2xpYnhmY2U0dWkvZmlsZXMvMDAwMS1saWJ4ZmNlNGtiZC1wcml2YXRlLXhmY2U0LWtleWJvYXJkLXNob3J0Y3V0cy54bWwtZml4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI4YzkxNzgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvbGlieGZjZTR1aS9maWxlcy8wMDAxLWxpYnhmY2U0a2JkLXByaXZhdGUteGZjZTQta2V5Ym9hcmQtc2hvcnRjdXRzLnhtbC1maXgucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorRnJvbSA3MDhlNTljYWFmMWMwYzI3MWE5NmE0ZDFmZTQ2YjEyMmFmZjQ1ZTM0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorRGF0ZTogTW9uLCAyNyBBdWcgMjAxMiAwOToxNjoyOSArMDIwMAorU3ViamVjdDogW1BBVENIXSBsaWJ4ZmNlNGtiZC1wcml2YXRlL3hmY2U0LWtleWJvYXJkLXNob3J0Y3V0cy54bWw6IGZpeCB4ZndtNAorIGNyYXNoIG9uIGZpcnN0IHN0YXJ0CitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorLS0tCisgbGlieGZjZTRrYmQtcHJpdmF0ZS94ZmNlNC1rZXlib2FyZC1zaG9ydGN1dHMueG1sIHwgICAgNCArKysrCisgMSBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDAgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9saWJ4ZmNlNGtiZC1wcml2YXRlL3hmY2U0LWtleWJvYXJkLXNob3J0Y3V0cy54bWwgYi9saWJ4ZmNlNGtiZC1wcml2YXRlL3hmY2U0LWtleWJvYXJkLXNob3J0Y3V0cy54bWwKK2luZGV4IDcyM2ExMGQuLmU2NTAyZjMgMTAwNjQ0CistLS0gYS9saWJ4ZmNlNGtiZC1wcml2YXRlL3hmY2U0LWtleWJvYXJkLXNob3J0Y3V0cy54bWwKKysrKyBiL2xpYnhmY2U0a2JkLXByaXZhdGUveGZjZTQta2V5Ym9hcmQtc2hvcnRjdXRzLnhtbAorQEAgLTY2LDQgKzY2LDggQEAKKyAgICAgICA8cHJvcGVydHkgbmFtZT0iJmx0O0NvbnRyb2wmZ3Q7RjEyIiB0eXBlPSJzdHJpbmciIHZhbHVlPSJ3b3Jrc3BhY2VfMTJfa2V5Ii8+CisgICAgIDwvcHJvcGVydHk+CisgICA8L3Byb3BlcnR5PgorKyAgPHByb3BlcnR5IG5hbWU9InByb3ZpZGVycyIgdHlwZT0iYXJyYXkiPgorKyAgICA8dmFsdWUgdHlwZT0ic3RyaW5nIiB2YWx1ZT0iY29tbWFuZHMiLz4KKysgICAgPHZhbHVlIHR5cGU9InN0cmluZyIgdmFsdWU9Inhmd200Ii8+CisrICA8L3Byb3BlcnR5PgorIDwvY2hhbm5lbD4KKy0tIAorMS43LjYuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvbGlieGZjZTR1aS9saWJ4ZmNlNHVpXzQuMTIuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9saWJ4ZmNlNHVpL2xpYnhmY2U0dWlfNC4xMi4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcyM2MyMGQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvbGlieGZjZTR1aS9saWJ4ZmNlNHVpXzQuMTIuMS5iYgpAQCAtMCwwICsxLDMzIEBACitTVU1NQVJZID0gIlhmY2U0IFdpZGdldCBsaWJyYXJ5IGFuZCBYIFdpbmRvdyBTeXN0ZW0gaW50ZXJhY3Rpb24iCitTRUNUSU9OID0gIngxMS9saWJzIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTI1Mjg5MGQ5ZWVlMjZhYWI3YjQzMmU4YjhhNjE2NDc1IgorREVQRU5EUyA9ICJwZXJsLW5hdGl2ZSBnbGliLTIuMCBndGsrIGd0ayszIGludGx0b29sIGxpYnhmY2U0dXRpbCB4ZmNvbmYgeGZjZTQtZGV2LXRvb2xzIHZpcnR1YWwvbGlieDExIGxpYnNtIGxpYmljZSIKKworaW5oZXJpdCB4ZmNlIGF1dG90b29scyBnZXR0ZXh0IGd0ay1kb2MKKworU1JDX1VSSSArPSAiIFwKKyAgICBmaWxlOi8vMDAwMS1saWJ4ZmNlNGtiZC1wcml2YXRlLXhmY2U0LWtleWJvYXJkLXNob3J0Y3V0cy54bWwtZml4LnBhdGNoIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICJlYTlmYWQ3ZDA1OWZlOGY1MzFmZThkYjQyZGFiYjVhOSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzZDYxOTgxMWJmYmU3NDc4YmI5ODRjMTY1NDNkOTgwY2FkZDA4NTg2MzY1YTdiYzI1ZTU5ZTNjYTYzODRmZjQzIgorCitFWFRSQV9PRUNPTkYgKz0gIi0td2l0aC12ZW5kb3ItaW5mbz0ke0RJU1RST30iCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW2dsYWRldWldID0gIi0tZW5hYmxlLWdsYWRldWksLS1kaXNhYmxlLWdsYWRldWksZ2xhZGUzIgorUEFDS0FHRUNPTkZJR1tzdGFydHVwLW5vdGlmaWNhdGlvbl0gPSAiLS1lbmFibGUtc3RhcnR1cC1ub3RpZmljYXRpb24sLS1kaXNhYmxlLXN0YXJ0dXAtbm90aWZpY2F0aW9uLHN0YXJ0dXAtbm90aWZpY2F0aW9uIgorCitQQUNLQUdFUyA9KyAiJHtQTn0tZ3RrMiAke1BOfS1ndGszIgorRklMRVNfJHtQTn0tZ3RrMiArPSAiJHtsaWJkaXJ9L2xpYnhmY2U0dWktMS5zby4qICR7bGliZGlyfS9saWJ4ZmNlNGtiZC1wcml2YXRlLTIuc28uKiIKK0ZJTEVTXyR7UE59LWd0azMgKz0gIiR7bGliZGlyfS9saWJ4ZmNlNHVpLTIuc28uKiAke2xpYmRpcn0vbGlieGZjZTRrYmQtcHJpdmF0ZS0zLnNvLioiCisKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2dsYWRlMy9tb2R1bGVzLy5kZWJ1ZyIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L2dsYWRlMy9tb2R1bGVzLyoubGEgXAorICAgICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZ2xhZGUzL2NhdGFsb2dzLyouaW4iCitQQUNLQUdFUyArPSAiJHtQTn0tZ2xhZGUiCitGSUxFU18ke1BOfS1nbGFkZSA9ICIke2xpYmRpcn0vZ2xhZGUzIFwKKyAgICAgICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZ2xhZGUzIgorCitSREVQRU5EU18ke1BOfS1ndGsyID0gIiR7UE59IgorUkRFUEVORFNfJHtQTn0tZ3RrMyA9ICIke1BOfSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9saWJ4ZmNlNHV0aWwvbGlieGZjZTR1dGlsXzQuMTIuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9saWJ4ZmNlNHV0aWwvbGlieGZjZTR1dGlsXzQuMTIuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOTg1YTAwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL2xpYnhmY2U0dXRpbC9saWJ4ZmNlNHV0aWxfNC4xMi4xLmJiCkBAIC0wLDAgKzEsMTAgQEAKK1NVTU1BUlkgPSAiQmFzaWMgdXRpbGl0eSBsaWJyYXJ5IGZvciBYZmNlNCIKK1NFQ1RJT04gPSAieDExL2xpYnMiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MjUyODkwZDllZWUyNmFhYjdiNDMyZThiOGE2MTY0NzUiCitERVBFTkRTID0gImludGx0b29sLW5hdGl2ZSB4ZmNlNC1kZXYtdG9vbHMtbmF0aXZlIGdsaWItMi4wIgorCitpbmhlcml0IHhmY2UgZ3RrLWRvYworCitTUkNfVVJJW21kNXN1bV0gPSAiNGViMDEyYjZjMTI5MmNlZWRiM2E4M2ViZmMxZmYwOGQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiODc2YmRlZmEyZTEzY2JmNjhiNjI2YjIxNTg4OTJmYjkzZTgyNGUxZWY1OWNmOTUxMTIzYTk2Y2VmYmM4ODgxZCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC14ZmNlLWJhc2UuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAteGZjZS1iYXNlLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI4Y2ZjN2YKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAteGZjZS1iYXNlLmJiCkBAIC0wLDAgKzEsMzUgQEAKK1NVTU1BUlkgPSAiQWxsIHBhY2thZ2VzIHJlcXVpcmVkIGZvciBhIGJhc2UgaW5zdGFsbGF0aW9uIG9mIFhGQ0UiCitTRUNUSU9OID0gIngxMS93bSIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtDT1JFQkFTRX0vTElDRU5TRTttZDU9NGQ5MmNkMzczYWJkYTM5MzdjMmJjNDdmYmM0OWQ2OTAiCitQUiA9ICJyNSIKKworaW5oZXJpdCBwYWNrYWdlZ3JvdXAKKworUkRFUEVORFNfJHtQTn0gPSAiIFwKKyAgICB4ZndtNCBcCisgICAgeGZjZTQtc2Vzc2lvbiBcICAgICAKKyAgICB4ZmNvbmYgXAorICAgIHhmZGVza3RvcCBcCisgICAgeGZjZTQtcGFuZWwgXAorICAgIFwKKyAgICBndGsteGZjZS1lbmdpbmUgXAorICAgIFwKKyAgICB4ZmNlNC1wYW5lbC1wbHVnaW4tYWN0aW9ucyBcCisgICAgeGZjZTQtcGFuZWwtcGx1Z2luLWFwcGxpY2F0aW9uc21lbnUgXAorICAgIHhmY2U0LXBhbmVsLXBsdWdpbi1jbG9jayBcCisgICAgeGZjZTQtcGFuZWwtcGx1Z2luLWRpcmVjdG9yeW1lbnUgXAorICAgIHhmY2U0LXBhbmVsLXBsdWdpbi1sYXVuY2hlciBcCisgICAgeGZjZTQtcGFuZWwtcGx1Z2luLXBhZ2VyIFwKKyAgICB4ZmNlNC1wYW5lbC1wbHVnaW4tc2VwYXJhdG9yIFwKKyAgICB4ZmNlNC1wYW5lbC1wbHVnaW4tc2hvd2Rlc2t0b3AgXAorICAgIHhmY2U0LXBhbmVsLXBsdWdpbi1zeXN0cmF5IFwKKyAgICB4ZmNlNC1wYW5lbC1wbHVnaW4tdGFza2xpc3QgXAorICAgIHhmY2U0LXBhbmVsLXBsdWdpbi13aW5kb3dtZW51IFwgICAKKyAgICB4ZmNlNC1zZXR0aW5ncyBcCisgICAgXAorICAgIHhmY2U0LW5vdGlmeWQgXAorICAgIHhmY2U0LXRlcm1pbmFsIFwKKyAgICB0aHVuYXIgXAorICAgIHRodW5hci12b2xtYW4gXAorIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLXhmY2UtZXh0ZW5kZWQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAteGZjZS1leHRlbmRlZC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMDcxODhmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLXhmY2UtZXh0ZW5kZWQuYmIKQEAgLTAsMCArMSw2OCBAQAorU1VNTUFSWSA9ICJBbGwgcGFja2FnZXMgZm9yIGZ1bGwgWEZDRSBpbnN0YWxsYXRpb24iCitTRUNUSU9OID0gIngxMS93bSIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtDT1JFQkFTRX0vTElDRU5TRTttZDU9NGQ5MmNkMzczYWJkYTM5MzdjMmJjNDdmYmM0OWQ2OTAiCisKK1BSID0gInIxMCIKKworaW5oZXJpdCBwYWNrYWdlZ3JvdXAKKworIyBtYW5kYXRvcnkKK1JERVBFTkRTXyR7UE59ID0gIiBcCisgICAgcGFja2FnZWdyb3VwLXhmY2UtYmFzZSBcCisiCisKKyMgbmljZSB0byBoYXZlCitSUkVDT01NRU5EU18ke1BOfSA9ICIgXAorICAgIHhmd200LXRoZW1lLWRhbG9hIFwKKyAgICB4ZndtNC10aGVtZS1rb2tvZGkgXAorICAgIHhmd200LXRoZW1lLW1vaGVsaSBcCisgICAgXAorICAgIHhmY2UtZHVzay1ndGszIFwKKyAgICBcCisgICAgeGZjZTQtY3B1ZnJlcS1wbHVnaW4gXAorICAgIHhmY2U0LWNwdWdyYXBoLXBsdWdpbiBcCisgICAgeGZjZTQtZGF0ZXRpbWUtcGx1Z2luIFwKKyAgICB4ZmNlNC1leWVzLXBsdWdpbiBcCisgICAgeGZjZTQtY2xpcG1hbi1wbHVnaW4gXAorICAgIHhmY2U0LWRpc2twZXJmLXBsdWdpbiBcCisgICAgeGZjZTQtbmV0bG9hZC1wbHVnaW4gXAorICAgIHhmY2U0LWdlbm1vbi1wbHVnaW4gXAorICAgIHhmY2U0LXhrYi1wbHVnaW4gXAorICAgIHhmY2U0LXdhdmVsYW4tcGx1Z2luIFwKKyAgICB4ZmNlNC1wbGFjZXMtcGx1Z2luIFwKKyAgICB4ZmNlNC1zeXN0ZW1sb2FkLXBsdWdpbiBcCisgICAgeGZjZTQtdGltZS1vdXQtcGx1Z2luIFwKKyAgICB4ZmNlNC10aW1lci1wbHVnaW4gXAorICAgIHhmY2U0LWVtYmVkLXBsdWdpbiBcCisgICAgeGZjZTQtd2VhdGhlci1wbHVnaW4gXAorICAgIHhmY2U0LWZzZ3VhcmQtcGx1Z2luIFwKKyAgICB4ZmNlNC1iYXR0ZXJ5LXBsdWdpbiBcCisgICAgeGZjZTQtbW91bnQtcGx1Z2luIFwKKyAgICB4ZmNlNC1wb3dlcm1hbmFnZXItcGx1Z2luIFwKKyAgICB4ZmNlNC1jbG9zZWJ1dHRvbi1wbHVnaW4gXAorICAgIHhmY2U0LWVxdWFrZS1wbHVnaW4gXAorICAgIHhmY2U0LW5vdGVzLXBsdWdpbiBcCisgICAgeGZjZTQtd2hpc2tlcm1lbnUtcGx1Z2luIFwKKyAgICB4ZmNlNC1tYWlsd2F0Y2gtcGx1Z2luIFwKKyAgICB4ZmNlNC1rYmRsZWRzLXBsdWdpbiBcCisgICAgeGZjZTQtc21hcnRib29rbWFyay1wbHVnaW4gXAorICAgIHhmY2U0LWhvdGNvcm5lci1wbHVnaW4gXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncHVsc2VhdWRpbycsICd4ZmNlNC1wdWxzZWF1ZGlvLXBsdWdpbicsICcnLCBkKX0gXAorICAgIHhmY2U0LXNlbnNvcnMtcGx1Z2luIFwKKyAgICB4ZmNlNC1jYWxjdWxhdG9yLXBsdWdpbiBcCisgICAgeGZjZTQtdmVydmUtcGx1Z2luIFwKKyAgICBcCisgICAgeGZjZS1wb2xraXQgXAorICAgIFwKKyAgICB0aHVuYXItbWVkaWEtdGFncy1wbHVnaW4gXAorICAgIHRodW5hci1hcmNoaXZlLXBsdWdpbiBcCisgICAgXAorICAgIHhmY2U0LWFwcGZpbmRlciBcCisgICAgeGZjZTQtc2NyZWVuc2hvb3RlciBcCisgICAgeGZjZTQtcG93ZXItbWFuYWdlciBcCisgICAgeGZjZTQtbWl4ZXIgXAorICAgIHJpc3RyZXR0byBcCisgICAgeGZjZTQtdGFza21hbmFnZXIgXAorICAgIGdpZ29sbyBcCisiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvdGh1bmFyLXZvbG1hbi90aHVuYXItdm9sbWFuXzAuOC4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3RodW5hci12b2xtYW4vdGh1bmFyLXZvbG1hbl8wLjguMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOGU2ZjViCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3RodW5hci12b2xtYW4vdGh1bmFyLXZvbG1hbl8wLjguMS5iYgpAQCAtMCwwICsxLDE1IEBACitTVU1NQVJZID0gIkF1dG9tYXRpYyBtYW5hZ2VtZW50IG9mIHJlbW92YWJsZSBkcml2ZXMgYW5kIG1lZGlhIGZvciB0aHVuYXIiCitTRUNUSU9OID0gIngxMSIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKK0RFUEVORFMgPSAiZXhvIGdsaWItMi4wIGd0aysgbGlieGZjZTR1aSBsaWJ4ZmNlNHV0aWwgeGZjb25mIGxpYm5vdGlmeSBsaWJndWRldiIKKworaW5oZXJpdCB4ZmNlCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI2NWFiNmUwNWIyZTgwOGQxZGNjOGQzNjY4M2E1OWI3ZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1YTA4YmI1Y2UzMmMyOTZhNjRkZmJkYjI0MDZkNGU0NWEyMDhiMmM5MWU0ZWZhODMxZGMyOGYxZDZjMmFjMmJkIgorCitQQUNLQUdFQ09ORklHID8/PSAiIgorUEFDS0FHRUNPTkZJR1tub3RpZnldID0gIi0tZW5hYmxlLW5vdGlmaWNhdGlvbnMsLS1kaXNhYmxlLW5vdGlmaWNhdGlvbnMsbGlibm90aWZ5IgorCitSREVQRU5EU18ke1BOfSA9ICJlamVjdCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS90aHVuYXIvdGh1bmFyXzEuNi4xMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS90aHVuYXIvdGh1bmFyXzEuNi4xMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNDg1OTI0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3RodW5hci90aHVuYXJfMS42LjEwLmJiCkBAIC0wLDAgKzEsMzMgQEAKK1NVTU1BUlkgPSAiRmlsZSBtYW5hZ2VyIGZvciB0aGUgWGZjZSBEZXNrdG9wIEVudmlyb25tZW50IgorU0VDVElPTiA9ICJ4MTEiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCitERVBFTkRTID0gImV4byBnbGliLTIuMCBndGsrIGdkay1waXhidWYgbGlieGZjZTR1dGlsIGxpYnhmY2U0dWkgeGZjb25mIGxpYnNtIGRidXMtZ2xpYiBzdGFydHVwLW5vdGlmaWNhdGlvbiBsaWJub3RpZnkgeGZjZTQtcGFuZWwgdWRldiIKKworaW5oZXJpdCB4ZmNlCisKK1NSQ19VUkkgPSAiaHR0cDovL2FyY2hpdmUueGZjZS5vcmcvc3JjL3hmY2UvJHtCUE59LyR7QCcke1BWfSdbMDozXX0vVGh1bmFyLSR7UFZ9LnRhci5iejIiCitTUkNfVVJJW21kNXN1bV0gPSAiMzA4OWUxZGNhNmU0MDg2NDFiMDdjZDljNzU5ZGVhNWUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiN2U5ZDI0MDY3MjY4OTAwZTVlNDRkMzMyNWU2MGExYTJiMmY4ZjU1NmVjMjM4ZWMxMjU3NGZiZWExNWZkZWU4YSIKKworUyA9ICIke1dPUktESVJ9L1RodW5hci0ke1BWfS8iCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW3BjcmVdID0gIi0tZW5hYmxlLXBjcmUsLS1kaXNhYmxlLXBjcmUsbGlicGNyZSIKKworRklMRVNfJHtQTn0gKz0gIiBcCisgICAgJHtsaWJkaXJ9L3RodW5hcngtMi8qIFwKKyAgICAke2xpYmRpcn0veGZjZTQvcGFuZWwvcGx1Z2lucy8qIFwKKyAgICAke2xpYmRpcn0vVGh1bmFyL1tUdF1odW5hciogXAorICAgICR7ZGF0YWRpcn0vYXBwZGF0YSBcCisgICAgJHtkYXRhZGlyfS9kYnVzLTEgXAorICAgICR7ZGF0YWRpcn0vcG9sa2l0LTEgXAorICAgICR7ZGF0YWRpcn0vVGh1bmFyIFwKKyAgICAke2RhdGFkaXJ9L3hmY2U0L3BhbmVsL3BsdWdpbnMvKiBcCisiCisKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L3RodW5hcngtMi8uZGVidWcvIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3hmY2U0L3BhbmVsL3BsdWdpbnMvLmRlYnVnLyBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9UaHVuYXIvLmRlYnVnLyIKKworUlJFQ09NTUVORFNfJHtQTn0gPSAiZ3ZmcyBndmZzZC10cmFzaCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS90dW1ibGVyL3R1bWJsZXIvMDAwMS1jb25maWd1cmUtdXNlLXBrZy1jb25maWctZm9yLWZyZWV0eXBlMi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS90dW1ibGVyL3R1bWJsZXIvMDAwMS1jb25maWd1cmUtdXNlLXBrZy1jb25maWctZm9yLWZyZWV0eXBlMi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZWNjMzVlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3R1bWJsZXIvdHVtYmxlci8wMDAxLWNvbmZpZ3VyZS11c2UtcGtnLWNvbmZpZy1mb3ItZnJlZXR5cGUyLnBhdGNoCkBAIC0wLDAgKzEsNDUgQEAKK0Zyb20gZjVjMjgzYjEyNTFhZDAwNWRhNzM0MmU2NTRjZDJlYzVhZTllNWZiMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMjYgU2VwIDIwMTQgMTM6NDQ6MzYgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gY29uZmlndXJlOiB1c2UgcGtnLWNvbmZpZyBmb3IgZnJlZXR5cGUyCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1Vwc3RyZWFtLXN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CistLS0KKyBhY2luY2x1ZGUubTQgfCAxNiArLS0tLS0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxNSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2FjaW5jbHVkZS5tNCBiL2FjaW5jbHVkZS5tNAoraW5kZXggNjZlNzlkMS4uNGM3MGIwMCAxMDA2NDQKKy0tLSBhL2FjaW5jbHVkZS5tNAorKysrIGIvYWNpbmNsdWRlLm00CitAQCAtNTIsMjEgKzUyLDcgQEAgaWYgdGVzdCB4IiRhY190dW1ibGVyX2ZvbnRfdGh1bWJuYWlsZXIiID0geCJ5ZXMiOyB0aGVuCisgICBQS0dfQ0hFQ0tfTU9EVUxFUyhbR0RLX1BJWEJVRl0sIFtnZGstcGl4YnVmLTIuMCA+PSAyLjE0XSwgCisgICBbCisgICAgIGRubCBDaGVjayBmb3IgRnJlZVR5cGUgMi54CistICAgIEZSRUVUWVBFX0xJQlM9IiIKKy0gICAgRlJFRVRZUEVfQ0ZMQUdTPSIiCistICAgIEFDX1BBVEhfUFJPRyhbRlJFRVRZUEVfQ09ORklHXSwgW2ZyZWV0eXBlLWNvbmZpZ10sIFtub10pCistICAgIGlmIHRlc3QgeCIkRlJFRVRZUEVfQ09ORklHIiAhPSB4Im5vIjsgdGhlbgorLSAgICAgIEFDX01TR19DSEVDS0lORyhbRlJFRVRZUEVfQ0ZMQUdTXSkKKy0gICAgICBGUkVFVFlQRV9DRkxBR1M9ImAkRlJFRVRZUEVfQ09ORklHIC0tY2ZsYWdzYCIKKy0gICAgICBBQ19NU0dfUkVTVUxUKFskRlJFRVRZUEVfQ0ZMQUdTXSkKKy0gICAgCistICAgICAgQUNfTVNHX0NIRUNLSU5HKFtGUkVFVFlQRV9MSUJTXSkKKy0gICAgICBGUkVFVFlQRV9MSUJTPSJgJEZSRUVUWVBFX0NPTkZJRyAtLWxpYnNgIgorLSAgICAgIEFDX01TR19SRVNVTFQoWyRGUkVFVFlQRV9MSUJTXSkKKy0gICAgZWxzZQorLSAgICAgIGRubCBXZSBjYW4gb25seSBidWlsZCB0aGUgZm9udCB0aHVtYm5haWxlciBpZiBGcmVlVHlwZSAyLnggaXMgYXZhaWxhYmxlCistICAgICAgYWNfdHVtYmxlcl9mb250X3RodW1ibmFpbGVyPW5vCistICAgIGZpCisrICAgIFBLR19DSEVDS19NT0RVTEVTKEZSRUVUWVBFLCBmcmVldHlwZTIsICwgW2FjX3R1bWJsZXJfZm9udF90aHVtYm5haWxlcj1ub10pCisgICAgIEFDX1NVQlNUKFtGUkVFVFlQRV9DRkxBR1NdKQorICAgICBBQ19TVUJTVChbRlJFRVRZUEVfTElCU10pCisgICBdLCBbYWNfdHVtYmxlcl9mb250X3RodW1ibmFpbGVyPW5vXSkKKy0tIAorMS44LjMuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvdHVtYmxlci90dW1ibGVyXzAuMS4zMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS90dW1ibGVyL3R1bWJsZXJfMC4xLjMxLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY2Mzg1YTQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvdHVtYmxlci90dW1ibGVyXzAuMS4zMS5iYgpAQCAtMCwwICsxLDI5IEBACitERVNDUklQVElPTj0iVGh1bWJuYWlsIHNlcnZpY2UgaW1wbGVtZW50aW5nIHRoZSB0aHVtYm5haWwgbWFuYWdlbWVudCBELUJ1cyBzcGVjaWZpY2F0aW9uIgorU0VDVElPTiA9ICJ4MTEvbGlicyIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKK0RFUEVORFMgPSAiZGJ1cy1nbGliIGZyZWV0eXBlIGdkay1waXhidWYgcG9wcGxlciBjdXJsIHhmY2U0LWRldi10b29scy1uYXRpdmUgbGlieG1sMiBsaWJnc2YiCisKK2luaGVyaXQgeGZjZSBndGstZG9jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwMDY3MDU0ZTZmMWY5MGExM2Y5MGZhYWRmY2ExZTg5ZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkMGZkMzI5MjczZmY2YWM5ODg4NWVhZGU0YzNkOGM4N2E0ZGQwODE2ZjcxMzY0NjEzMDgwOGJmYTkwYjg3MTczIgorU1JDX1VSSSArPSAiZmlsZTovLzAwMDEtY29uZmlndXJlLXVzZS1wa2ctY29uZmlnLWZvci1mcmVldHlwZTIucGF0Y2giCisKK0lOU0FORV9TS0lQXyR7UE59ID0gImRldi1zbyIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbZ3N0cmVhbWVyLXRodW1ibmFpbGVyXSA9ICItLWVuYWJsZS1nc3RyZWFtZXItdGh1bWJuYWlsZXIsLS1kaXNhYmxlLWdzdHJlYW1lci10aHVtYm5haWxlcixnc3RyZWFtZXIxLjAgZ3N0cmVhbWVyMS4wLXBsdWdpbnMtYmFzZSIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vZGJ1cy0xL3NlcnZpY2VzIFwKKyAgICAgICAgICAgICAgICAke2xpYmRpcn0vdHVtYmxlci0xL3R1bWJsZXJkIFwKKyAgICAgICAgICAgICAgICAke2xpYmRpcn0vdHVtYmxlci0xL3BsdWdpbnMvKi5zbyBcCisgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3R1bWJsZXItMS9wbHVnaW5zL2NhY2hlLyouc28gXAorIgorCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS90dW1ibGVyLTEvcGx1Z2lucy8qLmxhIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3R1bWJsZXItMS9wbHVnaW5zL2NhY2hlLyoubGEiCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS90dW1ibGVyLTEvLmRlYnVnIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3R1bWJsZXItMS9wbHVnaW5zLy5kZWJ1ZyBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS90dW1ibGVyLTEvcGx1Z2lucy9jYWNoZS8uZGVidWcgXAorIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmY2U0LWFwcGZpbmRlci94ZmNlNC1hcHBmaW5kZXJfNC4xMi4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmY2U0LWFwcGZpbmRlci94ZmNlNC1hcHBmaW5kZXJfNC4xMi4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc5ZTA2ZGEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZjZTQtYXBwZmluZGVyL3hmY2U0LWFwcGZpbmRlcl80LjEyLjAuYmIKQEAgLTAsMCArMSwxMiBAQAorREVTQ1JJUFRJT049IlhmY2U0IEFwcGxpY2F0aW9uIEZpbmRlciIKK1NFQ1RJT04gPSAieDExIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorREVQRU5EUz0iZ2xpYi0yLjAgZ3RrKyBsaWJ4ZmNlNHV0aWwgbGlieGZjZTR1aSBnYXJjb24gZGJ1cy1nbGliIHhmY29uZiIKKworaW5oZXJpdCB4ZmNlCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwYjIzOGIzMDY4NjM4OGM1MDdjMTE5YjEyNjY0ZjFhMSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyYWQ0YTU4MDE5YTc2YTZiNjRhODE2MDUwZGIyNWY5Njg1NDkxN2MyZjJlODlkNmE5ZGY2YzE4ZTZjODRjNTY3IgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9hcHBkYXRhIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmY2U0LWRldi10b29scy94ZmNlNC1kZXYtdG9vbHNfNC4xMi4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmY2U0LWRldi10b29scy94ZmNlNC1kZXYtdG9vbHNfNC4xMi4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU1NTdmNmQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZjZTQtZGV2LXRvb2xzL3hmY2U0LWRldi10b29sc180LjEyLjAuYmIKQEAgLTAsMCArMSwyMyBAQAorU1VNTUFSWSA9ICJYZmNlNCBkZXZlbG9wbWVudCB0b29scyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cueGZjZS5vcmciCitTRUNUSU9OID0gIngxMS9saWJzIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTlhYzJlN2NmZjFkZGFmNDhiNmVhYjYwMjhmMjNlZjg4IgorREVQRU5EUyA9ICJnbGliLTIuMCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCitTUkNfVVJJID0gImh0dHA6Ly9hcmNoaXZlLnhmY2Uub3JnL3NyYy94ZmNlLyR7QlBOfS8ke0AnJHtQVn0nWzA6NF19LyR7QlBOfS0ke1BWfS50YXIuYnoyIgorU1JDX1VSSVttZDVzdW1dID0gIjU1OTIwMmM0ZDk2NTBlMjM2OTZjNDRhYTk0Y2ZjNWE5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImUyZTNhNjU0ZmU5MTEwZGY4MWY4YzI0ODNjOWNiZmE2ZDY1NmZlZDE1ZDVlNWU3MTdkNmVmMTBiZDBmNWI1Y2IiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7ZGF0YWRpcn0vYWNsb2NhbAorICAgIGluc3RhbGwgLW0gNjQ0ICR7U30vbTRtYWNyb3MvKi5tNCAke0R9JHtkYXRhZGlyfS9hY2xvY2FsLworfQorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS94ZmNlNC9kZXYtdG9vbHMvbTRtYWNyb3MvKi5tNCIKKworUkRFUEVORFNfJHtQTn0gPSAiYmFzaCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmNlNC1wYW5lbC9maWxlcy8wMDAxLUZpeC1jb21waWxlci13YXJuaW5nLWluLWNsb2NrLXBsdWdpbi1hYm91dC1zaGFkb3dlZC0ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZjZTQtcGFuZWwvZmlsZXMvMDAwMS1GaXgtY29tcGlsZXItd2FybmluZy1pbi1jbG9jay1wbHVnaW4tYWJvdXQtc2hhZG93ZWQtLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ5NzFmY2EKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZjZTQtcGFuZWwvZmlsZXMvMDAwMS1GaXgtY29tcGlsZXItd2FybmluZy1pbi1jbG9jay1wbHVnaW4tYWJvdXQtc2hhZG93ZWQtLnBhdGNoCkBAIC0wLDAgKzEsNjA2IEBACitGcm9tIDVhOWU5NGFiN2JkNjI4ZjViZjZiNDZlYTdlYTkxY2Y0MGI0YWVlOTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXR0IFRoaXJ0eXR3byA8bWF0dC41OTQ5MUBnbWFpbC5jb20+CitEYXRlOiBNb24sIDIgTWFyIDIwMTUgMjE6MTg6NDEgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gRml4IGNvbXBpbGVyIHdhcm5pbmcgaW4gY2xvY2sgcGx1Z2luIGFib3V0IHNoYWRvd2VkICd0aW1lJworIHZhcmlhYmxlCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgWzFdCisKK1sxXSBodHRwOi8vZ2l0LnhmY2Uub3JnL3hmY2UveGZjZTQtcGFuZWwvY29tbWl0Lz9pZD01YTllOTRhYjdiZDYyOGY1YmY2YjQ2ZWE3ZWE5MWNmNDBiNGFlZTk4CisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KKworLS0tCisgcGx1Z2lucy9jbG9jay9jbG9jay1hbmFsb2cuYyAgfCAyMCArKysrKystLS0tLS0tCisgcGx1Z2lucy9jbG9jay9jbG9jay1iaW5hcnkuYyAgfCAyOCArKysrKysrKystLS0tLS0tLS0KKyBwbHVnaW5zL2Nsb2NrL2Nsb2NrLWRpZ2l0YWwuYyB8ICA4ICsrLS0tCisgcGx1Z2lucy9jbG9jay9jbG9jay1mdXp6eS5jICAgfCAgNiArKy0tCisgcGx1Z2lucy9jbG9jay9jbG9jay1sY2QuYyAgICAgfCAzNCArKysrKysrKysrKy0tLS0tLS0tLS0tCisgcGx1Z2lucy9jbG9jay9jbG9jay10aW1lLmMgICAgfCA2OCArKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgcGx1Z2lucy9jbG9jay9jbG9jay5jICAgICAgICAgfCAxMiArKysrLS0tLQorIDcgZmlsZXMgY2hhbmdlZCwgODggaW5zZXJ0aW9ucygrKSwgODggZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9wbHVnaW5zL2Nsb2NrL2Nsb2NrLWFuYWxvZy5jIGIvcGx1Z2lucy9jbG9jay9jbG9jay1hbmFsb2cuYworaW5kZXggMmU5NmEwOS4uOTEwNDUwZCAxMDA2NDQKKy0tLSBhL3BsdWdpbnMvY2xvY2svY2xvY2stYW5hbG9nLmMKKysrKyBiL3BsdWdpbnMvY2xvY2svY2xvY2stYW5hbG9nLmMKK0BAIC0yMTYsNyArMjE2LDcgQEAgeGZjZV9jbG9ja19hbmFsb2dfZXhwb3NlX2V2ZW50IChHdGtXaWRnZXQgICAgICAqd2lkZ2V0LAorICAgZ2RvdWJsZSAgICAgICAgICB4YywgeWM7CisgICBnZG91YmxlICAgICAgICAgIGFuZ2xlLCByYWRpdXM7CisgICBjYWlyb190ICAgICAgICAgKmNyOworLSAgR0RhdGVUaW1lICAgICAgICp0aW1lOworKyAgR0RhdGVUaW1lICAgICAgICpkYXRlX3RpbWU7CisgCisgICBwYW5lbF9yZXR1cm5fdmFsX2lmX2ZhaWwgKFhGQ0VfQ0xPQ0tfSVNfQU5BTE9HIChhbmFsb2cpLCBGQUxTRSk7CisgCitAQCAtMjM5LDcgKzIzOSw3IEBAIHhmY2VfY2xvY2tfYW5hbG9nX2V4cG9zZV9ldmVudCAoR3RrV2lkZ2V0ICAgICAgKndpZGdldCwKKyAgICAgICBjYWlyb19jbGlwIChjcik7CisgCisgICAgICAgLyogZ2V0IHRoZSBsb2NhbCB0aW1lICovCistICAgICAgdGltZSA9IGNsb2NrX3RpbWVfZ2V0X3RpbWUgKGFuYWxvZy0+dGltZSk7CisrICAgICAgZGF0ZV90aW1lID0gY2xvY2tfdGltZV9nZXRfdGltZSAoYW5hbG9nLT50aW1lKTsKKyAKKyAgICAgICAvKiBzZXQgdGhlIGxpbmUgcHJvcGVydGllcyAqLworICAgICAgIGNhaXJvX3NldF9saW5lX3dpZHRoIChjciwgMSk7CitAQCAtMjUxLDIwICsyNTEsMjAgQEAgeGZjZV9jbG9ja19hbmFsb2dfZXhwb3NlX2V2ZW50IChHdGtXaWRnZXQgICAgICAqd2lkZ2V0LAorICAgICAgIGlmIChhbmFsb2ctPnNob3dfc2Vjb25kcykKKyAgICAgICAgIHsKKyAgICAgICAgICAgLyogc2Vjb25kIHBvaW50ZXIgKi8KKy0gICAgICAgICAgYW5nbGUgPSBUSUNLU19UT19SQURJQU5TIChnX2RhdGVfdGltZV9nZXRfc2Vjb25kICh0aW1lKSk7CisrICAgICAgICAgIGFuZ2xlID0gVElDS1NfVE9fUkFESUFOUyAoZ19kYXRlX3RpbWVfZ2V0X3NlY29uZCAoZGF0ZV90aW1lKSk7CisgICAgICAgICAgIHhmY2VfY2xvY2tfYW5hbG9nX2RyYXdfcG9pbnRlciAoY3IsIHhjLCB5YywgcmFkaXVzLCBhbmdsZSwgMC43LCBUUlVFKTsKKyAgICAgICAgIH0KKyAKKyAgICAgICAvKiBtaW51dGUgcG9pbnRlciAqLworLSAgICAgIGFuZ2xlID0gVElDS1NfVE9fUkFESUFOUyAoZ19kYXRlX3RpbWVfZ2V0X21pbnV0ZSAodGltZSkpOworKyAgICAgIGFuZ2xlID0gVElDS1NfVE9fUkFESUFOUyAoZ19kYXRlX3RpbWVfZ2V0X21pbnV0ZSAoZGF0ZV90aW1lKSk7CisgICAgICAgeGZjZV9jbG9ja19hbmFsb2dfZHJhd19wb2ludGVyIChjciwgeGMsIHljLCByYWRpdXMsIGFuZ2xlLCAwLjgsIEZBTFNFKTsKKyAKKyAgICAgICAvKiBob3VyIHBvaW50ZXIgKi8KKy0gICAgICBhbmdsZSA9IEhPVVJTX1RPX1JBRElBTlMgKGdfZGF0ZV90aW1lX2dldF9ob3VyICh0aW1lKSwgZ19kYXRlX3RpbWVfZ2V0X21pbnV0ZSAodGltZSkpOworKyAgICAgIGFuZ2xlID0gSE9VUlNfVE9fUkFESUFOUyAoZ19kYXRlX3RpbWVfZ2V0X2hvdXIgKGRhdGVfdGltZSksIGdfZGF0ZV90aW1lX2dldF9taW51dGUgKGRhdGVfdGltZSkpOworICAgICAgIHhmY2VfY2xvY2tfYW5hbG9nX2RyYXdfcG9pbnRlciAoY3IsIHhjLCB5YywgcmFkaXVzLCBhbmdsZSwgMC41LCBGQUxTRSk7CisgCisgICAgICAgLyogY2xlYW51cCAqLworLSAgICAgIGdfZGF0ZV90aW1lX3VucmVmICh0aW1lKTsKKysgICAgICBnX2RhdGVfdGltZV91bnJlZiAoZGF0ZV90aW1lKTsKKyAgICAgICBjYWlyb19kZXN0cm95IChjcik7CisgICAgIH0KKyAKK0BAIC0zNDcsMTIgKzM0NywxMiBAQCB4ZmNlX2Nsb2NrX2FuYWxvZ19kcmF3X3BvaW50ZXIgKGNhaXJvX3QgKmNyLAorIAorIHN0YXRpYyBnYm9vbGVhbgorIHhmY2VfY2xvY2tfYW5hbG9nX3VwZGF0ZSAoWGZjZUNsb2NrQW5hbG9nICphbmFsb2csCistICAgICAgICAgICAgICAgICAgICAgICAgICBDbG9ja1RpbWUgICAgICAgKnRpbWUpCisrICAgICAgICAgICAgICAgICAgICAgICAgICBDbG9ja1RpbWUgICAgICAgKmNsb2NrX3RpbWUpCisgeworICAgR3RrV2lkZ2V0ICp3aWRnZXQgPSBHVEtfV0lER0VUIChhbmFsb2cpOworIAorICAgcGFuZWxfcmV0dXJuX3ZhbF9pZl9mYWlsIChYRkNFX0NMT0NLX0lTX0FOQUxPRyAoYW5hbG9nKSwgRkFMU0UpOworLSAgcGFuZWxfcmV0dXJuX3ZhbF9pZl9mYWlsIChYRkNFX0lTX0NMT0NLX1RJTUUgKHRpbWUpLCBGQUxTRSk7CisrICBwYW5lbF9yZXR1cm5fdmFsX2lmX2ZhaWwgKFhGQ0VfSVNfQ0xPQ0tfVElNRSAoY2xvY2tfdGltZSksIEZBTFNFKTsKKyAKKyAgIC8qIHVwZGF0ZSBpZiB0aGUgd2lkZ2V0IGlmIHZpc2libGUgKi8KKyAgIGlmIChHX0xJS0VMWSAoR1RLX1dJREdFVF9WSVNJQkxFICh3aWRnZXQpKSkKK0BAIC0zNjQsMTEgKzM2NCwxMSBAQCB4ZmNlX2Nsb2NrX2FuYWxvZ191cGRhdGUgKFhmY2VDbG9ja0FuYWxvZyAqYW5hbG9nLAorIAorIAorIEd0a1dpZGdldCAqCisteGZjZV9jbG9ja19hbmFsb2dfbmV3IChDbG9ja1RpbWUgKnRpbWUpCisreGZjZV9jbG9ja19hbmFsb2dfbmV3IChDbG9ja1RpbWUgKmNsb2NrX3RpbWUpCisgeworICAgWGZjZUNsb2NrQW5hbG9nICphbmFsb2cgPSBnX29iamVjdF9uZXcgKFhGQ0VfQ0xPQ0tfVFlQRV9BTkFMT0csIE5VTEwpOworIAorLSAgYW5hbG9nLT50aW1lID0gdGltZTsKKysgIGFuYWxvZy0+dGltZSA9IGNsb2NrX3RpbWU7CisgICBhbmFsb2ctPnRpbWVvdXQgPSBjbG9ja190aW1lX3RpbWVvdXRfbmV3IChDTE9DS19JTlRFUlZBTF9NSU5VVEUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmFsb2ctPnRpbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHX0NBTExCQUNLICh4ZmNlX2Nsb2NrX2FuYWxvZ191cGRhdGUpLCBhbmFsb2cpOworZGlmZiAtLWdpdCBhL3BsdWdpbnMvY2xvY2svY2xvY2stYmluYXJ5LmMgYi9wbHVnaW5zL2Nsb2NrL2Nsb2NrLWJpbmFyeS5jCitpbmRleCA0NzUxYzUxLi40NmI4NTJjIDEwMDY0NAorLS0tIGEvcGx1Z2lucy9jbG9jay9jbG9jay1iaW5hcnkuYworKysrIGIvcGx1Z2lucy9jbG9jay9jbG9jay1iaW5hcnkuYworQEAgLTI2Miw3ICsyNjIsNyBAQCB4ZmNlX2Nsb2NrX2JpbmFyeV9leHBvc2VfZXZlbnRfdHJ1ZV9iaW5hcnkgKFhmY2VDbG9ja0JpbmFyeSAqYmluYXJ5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR3RrQWxsb2NhdGlvbiAgICphbGxvYykKKyB7CisgICBHZGtDb2xvciAgICAqYWN0aXZlLCAqaW5hY3RpdmU7CistICBHRGF0ZVRpbWUgICAqdGltZTsKKysgIEdEYXRlVGltZSAgICpkYXRlX3RpbWU7CisgICBnaW50ICAgICAgICAgcm93LCByb3dzOworICAgc3RhdGljIGdpbnQgIGJpbmFyeV90YWJsZVtdID0geyAzMiwgMTYsIDgsIDQsIDIsIDEgfTsKKyAgIGdpbnQgICAgICAgICBjb2wsIGNvbHMgPSBHX05fRUxFTUVOVFMgKGJpbmFyeV90YWJsZSk7CitAQCAtMjgyLDcgKzI4Miw3IEBAIHhmY2VfY2xvY2tfYmluYXJ5X2V4cG9zZV9ldmVudF90cnVlX2JpbmFyeSAoWGZjZUNsb2NrQmluYXJ5ICpiaW5hcnksCisgICAgICAgYWN0aXZlID0gJihHVEtfV0lER0VUIChiaW5hcnkpLT5zdHlsZS0+ZGFya1tHVEtfU1RBVEVfU0VMRUNURURdKTsKKyAgICAgfQorIAorLSAgdGltZSA9IGNsb2NrX3RpbWVfZ2V0X3RpbWUgKGJpbmFyeS0+dGltZSk7CisrICBkYXRlX3RpbWUgPSBjbG9ja190aW1lX2dldF90aW1lIChiaW5hcnktPnRpbWUpOworIAorICAgLyogaW5pdCBzaXplcyAqLworICAgcmVtYWluX2ggPSBhbGxvYy0+aGVpZ2h0OworQEAgLTI5MywxMSArMjkzLDExIEBAIHhmY2VfY2xvY2tfYmluYXJ5X2V4cG9zZV9ldmVudF90cnVlX2JpbmFyeSAoWGZjZUNsb2NrQmluYXJ5ICpiaW5hcnksCisgICAgIHsKKyAgICAgICAvKiBnZXQgdGhlIHRpbWUgdGhpcyByb3cgcmVwcmVzZW50cyAqLworICAgICAgIGlmIChyb3cgPT0gMCkKKy0gICAgICAgIHRpY2tzID0gZ19kYXRlX3RpbWVfZ2V0X2hvdXIgKHRpbWUpOworKyAgICAgICAgdGlja3MgPSBnX2RhdGVfdGltZV9nZXRfaG91ciAoZGF0ZV90aW1lKTsKKyAgICAgICBlbHNlIGlmIChyb3cgPT0gMSkKKy0gICAgICAgIHRpY2tzID0gZ19kYXRlX3RpbWVfZ2V0X21pbnV0ZSAodGltZSk7CisrICAgICAgICB0aWNrcyA9IGdfZGF0ZV90aW1lX2dldF9taW51dGUgKGRhdGVfdGltZSk7CisgICAgICAgZWxzZQorLSAgICAgICAgdGlja3MgPSBnX2RhdGVfdGltZV9nZXRfc2Vjb25kICh0aW1lKTsKKysgICAgICAgIHRpY2tzID0gZ19kYXRlX3RpbWVfZ2V0X3NlY29uZCAoZGF0ZV90aW1lKTsKKyAKKyAgICAgICAvKiByZXNldCBzaXplcyAqLworICAgICAgIHJlbWFpbl93ID0gYWxsb2MtPndpZHRoOworQEAgLTMzNiw3ICszMzYsNyBAQCB4ZmNlX2Nsb2NrX2JpbmFyeV9leHBvc2VfZXZlbnRfdHJ1ZV9iaW5hcnkgKFhmY2VDbG9ja0JpbmFyeSAqYmluYXJ5LAorICAgICAgIG9mZnNldF95ICs9IGg7CisgICAgIH0KKyAKKy0gIGdfZGF0ZV90aW1lX3VucmVmICh0aW1lKTsKKysgIGdfZGF0ZV90aW1lX3VucmVmIChkYXRlX3RpbWUpOworIH0KKyAKKyAKK0BAIC0zNDgsNyArMzQ4LDcgQEAgeGZjZV9jbG9ja19iaW5hcnlfZXhwb3NlX2V2ZW50X2JpbmFyeSAoWGZjZUNsb2NrQmluYXJ5ICpiaW5hcnksCisgeworICAgR2RrQ29sb3IgICAgKmFjdGl2ZSwgKmluYWN0aXZlOworICAgc3RhdGljIGdpbnQgIGJpbmFyeV90YWJsZVtdID0geyA4MCwgNDAsIDIwLCAxMCwgOCwgNCwgMiwgMSB9OworLSAgR0RhdGVUaW1lICAgKnRpbWU7CisrICBHRGF0ZVRpbWUgICAqZGF0ZV90aW1lOworICAgZ2ludCAgICAgICAgIHJvdywgcm93cyA9IEdfTl9FTEVNRU5UUyAoYmluYXJ5X3RhYmxlKSAvIDI7CisgICBnaW50ICAgICAgICAgY29sLCBjb2xzOworICAgZ2ludCAgICAgICAgIGRpZ2l0OworQEAgLTM2OCw3ICszNjgsNyBAQCB4ZmNlX2Nsb2NrX2JpbmFyeV9leHBvc2VfZXZlbnRfYmluYXJ5IChYZmNlQ2xvY2tCaW5hcnkgKmJpbmFyeSwKKyAgICAgICBhY3RpdmUgPSAmKEdUS19XSURHRVQgKGJpbmFyeSktPnN0eWxlLT5kYXJrW0dUS19TVEFURV9TRUxFQ1RFRF0pOworICAgICB9CisgCistICB0aW1lID0gY2xvY2tfdGltZV9nZXRfdGltZSAoYmluYXJ5LT50aW1lKTsKKysgIGRhdGVfdGltZSA9IGNsb2NrX3RpbWVfZ2V0X3RpbWUgKGJpbmFyeS0+dGltZSk7CisgCisgICByZW1haW5fdyA9IGFsbG9jLT53aWR0aDsKKyAgIG9mZnNldF94ID0gYWxsb2MtPng7CitAQCAtMzc5LDExICszNzksMTEgQEAgeGZjZV9jbG9ja19iaW5hcnlfZXhwb3NlX2V2ZW50X2JpbmFyeSAoWGZjZUNsb2NrQmluYXJ5ICpiaW5hcnksCisgICAgIHsKKyAgICAgICAvKiBnZXQgdGhlIHRpbWUgdGhpcyByb3cgcmVwcmVzZW50cyAqLworICAgICAgIGlmIChjb2wgPT0gMCkKKy0gICAgICAgIHRpY2tzID0gZ19kYXRlX3RpbWVfZ2V0X2hvdXIgKHRpbWUpOworKyAgICAgICAgdGlja3MgPSBnX2RhdGVfdGltZV9nZXRfaG91ciAoZGF0ZV90aW1lKTsKKyAgICAgICBlbHNlIGlmIChjb2wgPT0gMikKKy0gICAgICAgIHRpY2tzID0gZ19kYXRlX3RpbWVfZ2V0X21pbnV0ZSAodGltZSk7CisrICAgICAgICB0aWNrcyA9IGdfZGF0ZV90aW1lX2dldF9taW51dGUgKGRhdGVfdGltZSk7CisgICAgICAgZWxzZSBpZiAoY29sID09IDQpCistICAgICAgICB0aWNrcyA9IGdfZGF0ZV90aW1lX2dldF9zZWNvbmQgKHRpbWUpOworKyAgICAgICAgdGlja3MgPSBnX2RhdGVfdGltZV9nZXRfc2Vjb25kIChkYXRlX3RpbWUpOworIAorICAgICAgIC8qIHJlc2V0IHNpemVzICovCisgICAgICAgcmVtYWluX2ggPSBhbGxvYy0+aGVpZ2h0OworQEAgLTUyMCw3ICs1MjAsNyBAQCB4ZmNlX2Nsb2NrX2JpbmFyeV9leHBvc2VfZXZlbnQgKEd0a1dpZGdldCAgICAgICp3aWRnZXQsCisgCisgc3RhdGljIGdib29sZWFuCisgeGZjZV9jbG9ja19iaW5hcnlfdXBkYXRlIChYZmNlQ2xvY2tCaW5hcnkgICAgICpiaW5hcnksCistICAgICAgICAgICAgICAgICAgICAgICAgICBDbG9ja1RpbWUgICAgICAgICAgICp0aW1lKQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgQ2xvY2tUaW1lICAgICAgICAgICAqY2xvY2tfdGltZSkKKyB7CisgICBHdGtXaWRnZXQgKndpZGdldCA9IEdUS19XSURHRVQgKGJpbmFyeSk7CisgCitAQCAtNTM2LDExICs1MzYsMTEgQEAgeGZjZV9jbG9ja19iaW5hcnlfdXBkYXRlIChYZmNlQ2xvY2tCaW5hcnkgICAgICpiaW5hcnksCisgCisgCisgR3RrV2lkZ2V0ICoKKy14ZmNlX2Nsb2NrX2JpbmFyeV9uZXcgKENsb2NrVGltZSAqdGltZSkKKyt4ZmNlX2Nsb2NrX2JpbmFyeV9uZXcgKENsb2NrVGltZSAqY2xvY2tfdGltZSkKKyB7CisgICBYZmNlQ2xvY2tCaW5hcnkgKmJpbmFyeSA9IGdfb2JqZWN0X25ldyAoWEZDRV9DTE9DS19UWVBFX0JJTkFSWSwgTlVMTCk7CisgCistICBiaW5hcnktPnRpbWUgPSB0aW1lOworKyAgYmluYXJ5LT50aW1lID0gY2xvY2tfdGltZTsKKyAgIGJpbmFyeS0+dGltZW91dCA9IGNsb2NrX3RpbWVfdGltZW91dF9uZXcgKENMT0NLX0lOVEVSVkFMX01JTlVURSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpbmFyeS0+dGltZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdfQ0FMTEJBQ0sgKHhmY2VfY2xvY2tfYmluYXJ5X3VwZGF0ZSksIGJpbmFyeSk7CitkaWZmIC0tZ2l0IGEvcGx1Z2lucy9jbG9jay9jbG9jay1kaWdpdGFsLmMgYi9wbHVnaW5zL2Nsb2NrL2Nsb2NrLWRpZ2l0YWwuYworaW5kZXggYzI5M2VkMi4uMzRlNzAxOSAxMDA2NDQKKy0tLSBhL3BsdWdpbnMvY2xvY2svY2xvY2stZGlnaXRhbC5jCisrKysgYi9wbHVnaW5zL2Nsb2NrL2Nsb2NrLWRpZ2l0YWwuYworQEAgLTE5NCwxMiArMTk0LDEyIEBAIHhmY2VfY2xvY2tfZGlnaXRhbF9maW5hbGl6ZSAoR09iamVjdCAqb2JqZWN0KQorIAorIHN0YXRpYyBnYm9vbGVhbgorIHhmY2VfY2xvY2tfZGlnaXRhbF91cGRhdGUgKFhmY2VDbG9ja0RpZ2l0YWwgKmRpZ2l0YWwsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2xvY2tUaW1lICAgICAgICAqdGltZSkKKysgICAgICAgICAgICAgICAgICAgICAgICAgICBDbG9ja1RpbWUgICAgICAgICpjbG9ja190aW1lKQorIHsKKyAgIGdjaGFyICAgICAgICAgICAgKnN0cmluZzsKKyAKKyAgIHBhbmVsX3JldHVybl92YWxfaWZfZmFpbCAoWEZDRV9DTE9DS19JU19ESUdJVEFMIChkaWdpdGFsKSwgRkFMU0UpOworLSAgcGFuZWxfcmV0dXJuX3ZhbF9pZl9mYWlsIChYRkNFX0lTX0NMT0NLX1RJTUUgKHRpbWUpLCBGQUxTRSk7CisrICBwYW5lbF9yZXR1cm5fdmFsX2lmX2ZhaWwgKFhGQ0VfSVNfQ0xPQ0tfVElNRSAoY2xvY2tfdGltZSksIEZBTFNFKTsKKyAKKyAgIC8qIHNldCB0aW1lIHN0cmluZyAqLworICAgc3RyaW5nID0gY2xvY2tfdGltZV9zdHJkdXBfc3RyZnRpbWUgKGRpZ2l0YWwtPnRpbWUsIGRpZ2l0YWwtPmZvcm1hdCk7CitAQCAtMjEyLDExICsyMTIsMTEgQEAgeGZjZV9jbG9ja19kaWdpdGFsX3VwZGF0ZSAoWGZjZUNsb2NrRGlnaXRhbCAqZGlnaXRhbCwKKyAKKyAKKyBHdGtXaWRnZXQgKgorLXhmY2VfY2xvY2tfZGlnaXRhbF9uZXcgKENsb2NrVGltZSAqdGltZSkKKyt4ZmNlX2Nsb2NrX2RpZ2l0YWxfbmV3IChDbG9ja1RpbWUgKmNsb2NrX3RpbWUpCisgeworICAgWGZjZUNsb2NrRGlnaXRhbCAqZGlnaXRhbCA9IGdfb2JqZWN0X25ldyAoWEZDRV9DTE9DS19UWVBFX0RJR0lUQUwsIE5VTEwpOworIAorLSAgZGlnaXRhbC0+dGltZSA9IHRpbWU7CisrICBkaWdpdGFsLT50aW1lID0gY2xvY2tfdGltZTsKKyAgIGRpZ2l0YWwtPnRpbWVvdXQgPSBjbG9ja190aW1lX3RpbWVvdXRfbmV3IChjbG9ja190aW1lX2ludGVydmFsX2Zyb21fZm9ybWF0IChkaWdpdGFsLT5mb3JtYXQpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpZ2l0YWwtPnRpbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR19DQUxMQkFDSyAoeGZjZV9jbG9ja19kaWdpdGFsX3VwZGF0ZSksIGRpZ2l0YWwpOworZGlmZiAtLWdpdCBhL3BsdWdpbnMvY2xvY2svY2xvY2stZnV6enkuYyBiL3BsdWdpbnMvY2xvY2svY2xvY2stZnV6enkuYworaW5kZXggN2IwYWE0MS4uNGIzNjFkZCAxMDA2NDQKKy0tLSBhL3BsdWdpbnMvY2xvY2svY2xvY2stZnV6enkuYworKysrIGIvcGx1Z2lucy9jbG9jay9jbG9jay1mdXp6eS5jCitAQCAtMjc1LDcgKzI3NSw3IEBAIHhmY2VfY2xvY2tfZnV6enlfZmluYWxpemUgKEdPYmplY3QgKm9iamVjdCkKKyAKKyBzdGF0aWMgZ2Jvb2xlYW4KKyB4ZmNlX2Nsb2NrX2Z1enp5X3VwZGF0ZSAoWGZjZUNsb2NrRnV6enkgKmZ1enp5LAorLSAgICAgICAgICAgICAgICAgICAgICAgICBDbG9ja1RpbWUgICAgICAqdGltZSkKKysgICAgICAgICAgICAgICAgICAgICAgICAgQ2xvY2tUaW1lICAgICAgKmNsb2NrX3RpbWUpCisgeworICAgR0RhdGVUaW1lICAgICAgKmRhdGVfdGltZTsKKyAgIGdpbnQgICAgICAgICAgICBzZWN0b3I7CitAQCAtMzUzLDExICszNTMsMTEgQEAgeGZjZV9jbG9ja19mdXp6eV91cGRhdGUgKFhmY2VDbG9ja0Z1enp5ICpmdXp6eSwKKyAKKyAKKyBHdGtXaWRnZXQgKgorLXhmY2VfY2xvY2tfZnV6enlfbmV3IChDbG9ja1RpbWUgKnRpbWUpCisreGZjZV9jbG9ja19mdXp6eV9uZXcgKENsb2NrVGltZSAqY2xvY2tfdGltZSkKKyB7CisgICBYZmNlQ2xvY2tGdXp6eSAqZnV6enkgPSBnX29iamVjdF9uZXcgKFhGQ0VfQ0xPQ0tfVFlQRV9GVVpaWSwgTlVMTCk7CisgCistICBmdXp6eS0+dGltZSA9IHRpbWU7CisrICBmdXp6eS0+dGltZSA9IGNsb2NrX3RpbWU7CisgICBmdXp6eS0+dGltZW91dCA9IGNsb2NrX3RpbWVfdGltZW91dF9uZXcgKENMT0NLX0lOVEVSVkFMX01JTlVURSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnV6enktPnRpbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdfQ0FMTEJBQ0sgKHhmY2VfY2xvY2tfZnV6enlfdXBkYXRlKSwgZnV6enkpOworZGlmZiAtLWdpdCBhL3BsdWdpbnMvY2xvY2svY2xvY2stbGNkLmMgYi9wbHVnaW5zL2Nsb2NrL2Nsb2NrLWxjZC5jCitpbmRleCA4NGU3NGU2Li5iMTgwZDMwIDEwMDY0NAorLS0tIGEvcGx1Z2lucy9jbG9jay9jbG9jay1sY2QuYworKysrIGIvcGx1Z2lucy9jbG9jay9jbG9jay1sY2QuYworQEAgLTI4NSw3ICsyODUsNyBAQCB4ZmNlX2Nsb2NrX2xjZF9leHBvc2VfZXZlbnQgKEd0a1dpZGdldCAgICAgICp3aWRnZXQsCisgICBnaW50ICAgICAgICAgIHRpY2tzLCBpOworICAgZ2RvdWJsZSAgICAgICBzaXplOworICAgZ2RvdWJsZSAgICAgICByYXRpbzsKKy0gIEdEYXRlVGltZSAgICAqdGltZTsKKysgIEdEYXRlVGltZSAgICAqZGF0ZV90aW1lOworIAorICAgcGFuZWxfcmV0dXJuX3ZhbF9pZl9mYWlsIChYRkNFX0NMT0NLX0lTX0xDRCAobGNkKSwgRkFMU0UpOworIAorQEAgLTMxNywxMCArMzE3LDEwIEBAIHhmY2VfY2xvY2tfbGNkX2V4cG9zZV9ldmVudCAoR3RrV2lkZ2V0ICAgICAgKndpZGdldCwKKyAgICAgICBjYWlyb19zZXRfbGluZV93aWR0aCAoY3IsIE1BWCAoc2l6ZSAqIDAuMDUsIDEuNSkpOworIAorICAgICAgIC8qIGdldCB0aGUgbG9jYWwgdGltZSAqLworLSAgICAgIHRpbWUgPSBjbG9ja190aW1lX2dldF90aW1lIChsY2QtPnRpbWUpOworKyAgICAgIGRhdGVfdGltZSA9IGNsb2NrX3RpbWVfZ2V0X3RpbWUgKGxjZC0+dGltZSk7CisgCisgICAgICAgLyogZHJhdyB0aGUgaG91cnMgKi8KKy0gICAgICB0aWNrcyA9IGdfZGF0ZV90aW1lX2dldF9ob3VyICh0aW1lKTsKKysgICAgICB0aWNrcyA9IGdfZGF0ZV90aW1lX2dldF9ob3VyIChkYXRlX3RpbWUpOworIAorICAgICAgIC8qIGNvbnZlcnQgMjRoIGNsb2NrIHRvIDEyaCBjbG9jayAqLworICAgICAgIGlmICghbGNkLT5zaG93X21pbGl0YXJ5ICYmIHRpY2tzID4gMTIpCitAQCAtMzMzLDggKzMzMyw4IEBAIHhmY2VfY2xvY2tfbGNkX2V4cG9zZV9ldmVudCAoR3RrV2lkZ2V0ICAgICAgKndpZGdldCwKKyAgICAgICAgKiBiZWNhdXNlIHdlIG1pZ2h0IG1pc3MgdGhlIGV4YWN0IHNlY29uZCAoZHVlIHRvIHNsaWdodGx5IGRlbGF5ZWQKKyAgICAgICAgKiB0aW1lb3V0KSB3ZSBxdWV1ZSBhIHJlc2l6ZSB0aGUgZmlyc3QgMyBzZWNvbmRzIG9yIGFueXRoaW5nIGluCisgICAgICAgICogdGhlIGZpcnN0IG1pbnV0ZSAqLworLSAgICAgIGlmICgodGlja3MgPT0gMTAgfHwgdGlja3MgPT0gMCkgJiYgZ19kYXRlX3RpbWVfZ2V0X21pbnV0ZSAodGltZSkgPT0gMAorLSAgICAgICAgICAmJiAoIWxjZC0+c2hvd19zZWNvbmRzIHx8IGdfZGF0ZV90aW1lX2dldF9zZWNvbmQgKHRpbWUpIDwgMykpCisrICAgICAgaWYgKCh0aWNrcyA9PSAxMCB8fCB0aWNrcyA9PSAwKSAmJiBnX2RhdGVfdGltZV9nZXRfbWludXRlIChkYXRlX3RpbWUpID09IDAKKysgICAgICAgICAgJiYgKCFsY2QtPnNob3dfc2Vjb25kcyB8fCBnX2RhdGVfdGltZV9nZXRfc2Vjb25kIChkYXRlX3RpbWUpIDwgMykpCisgICAgICAgICBnX29iamVjdF9ub3RpZnkgKEdfT0JKRUNUIChsY2QpLCAic2l6ZS1yYXRpbyIpOworIAorICAgICAgIGlmICh0aWNrcyA+PSAxMCkKK0BAIC0zNTIsNyArMzUyLDcgQEAgeGZjZV9jbG9ja19sY2RfZXhwb3NlX2V2ZW50IChHdGtXaWRnZXQgICAgICAqd2lkZ2V0LAorICAgICAgICAgICBpZiAoaSA9PSAwKQorICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgIC8qIGdldCB0aGUgbWludXRlcyAqLworLSAgICAgICAgICAgICAgdGlja3MgPSBnX2RhdGVfdGltZV9nZXRfbWludXRlICh0aW1lKTsKKysgICAgICAgICAgICAgIHRpY2tzID0gZ19kYXRlX3RpbWVfZ2V0X21pbnV0ZSAoZGF0ZV90aW1lKTsKKyAgICAgICAgICAgICB9CisgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICB7CitAQCAtMzYxLDExICszNjEsMTEgQEAgeGZjZV9jbG9ja19sY2RfZXhwb3NlX2V2ZW50IChHdGtXaWRnZXQgICAgICAqd2lkZ2V0LAorICAgICAgICAgICAgICAgICBicmVhazsKKyAKKyAgICAgICAgICAgICAgIC8qIGdldCB0aGUgc2Vjb25kcyAqLworLSAgICAgICAgICAgICAgdGlja3MgPSBnX2RhdGVfdGltZV9nZXRfc2Vjb25kICh0aW1lKTsKKysgICAgICAgICAgICAgIHRpY2tzID0gZ19kYXRlX3RpbWVfZ2V0X3NlY29uZCAoZGF0ZV90aW1lKTsKKyAgICAgICAgICAgICB9CisgCisgICAgICAgICAgIC8qIGRyYXcgdGhlIGRvdHMgKi8KKy0gICAgICAgICAgaWYgKGxjZC0+Zmxhc2hfc2VwYXJhdG9ycyAmJiAoZ19kYXRlX3RpbWVfZ2V0X3NlY29uZCAodGltZSkgJSAyKSA9PSAxKQorKyAgICAgICAgICBpZiAobGNkLT5mbGFzaF9zZXBhcmF0b3JzICYmIChnX2RhdGVfdGltZV9nZXRfc2Vjb25kIChkYXRlX3RpbWUpICUgMikgPT0gMSkKKyAgICAgICAgICAgICBvZmZzZXRfeCArPSBzaXplICogUkVMQVRJVkVfU1BBQ0UgKiAyOworICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgb2Zmc2V0X3ggPSB4ZmNlX2Nsb2NrX2xjZF9kcmF3X2RvdHMgKGNyLCBzaXplLCBvZmZzZXRfeCwgb2Zmc2V0X3kpOworQEAgLTM4MCwxNCArMzgwLDE0IEBAIHhmY2VfY2xvY2tfbGNkX2V4cG9zZV9ldmVudCAoR3RrV2lkZ2V0ICAgICAgKndpZGdldCwKKyAgICAgICBpZiAobGNkLT5zaG93X21lcmlkaWVtKQorICAgICAgICAgeworICAgICAgICAgICAvKiBhbSBvciBwbT8gKi8KKy0gICAgICAgICAgdGlja3MgPSBnX2RhdGVfdGltZV9nZXRfaG91ciAodGltZSkgPj0gMTIgPyAxMSA6IDEwOworKyAgICAgICAgICB0aWNrcyA9IGdfZGF0ZV90aW1lX2dldF9ob3VyIChkYXRlX3RpbWUpID49IDEyID8gMTEgOiAxMDsKKyAKKyAgICAgICAgICAgLyogZHJhdyB0aGUgZGlnaXQgKi8KKyAgICAgICAgICAgb2Zmc2V0X3ggPSB4ZmNlX2Nsb2NrX2xjZF9kcmF3X2RpZ2l0IChjciwgdGlja3MsIHNpemUsIG9mZnNldF94LCBvZmZzZXRfeSk7CisgICAgICAgICB9CisgCisgICAgICAgLyogZHJvcCB0aGUgcHVzaGVkIGdyb3VwICovCistICAgICAgZ19kYXRlX3RpbWVfdW5yZWYgKHRpbWUpOworKyAgICAgIGdfZGF0ZV90aW1lX3VucmVmIChkYXRlX3RpbWUpOworICAgICAgIGNhaXJvX3BvcF9ncm91cF90b19zb3VyY2UgKGNyKTsKKyAgICAgICBjYWlyb19wYWludCAoY3IpOworICAgICAgIGNhaXJvX2Rlc3Ryb3kgKGNyKTsKK0BAIC00MDMsMTYgKzQwMywxNiBAQCB4ZmNlX2Nsb2NrX2xjZF9nZXRfcmF0aW8gKFhmY2VDbG9ja0xjZCAqbGNkKQorIHsKKyAgIGdkb3VibGUgICAgcmF0aW87CisgICBnaW50ICAgICAgIHRpY2tzOworLSAgR0RhdGVUaW1lICp0aW1lOworKyAgR0RhdGVUaW1lICpkYXRlX3RpbWU7CisgCisgICAvKiBnZXQgdGhlIGxvY2FsIHRpbWUgKi8KKy0gIHRpbWUgPSBjbG9ja190aW1lX2dldF90aW1lIChsY2QtPnRpbWUpOworKyAgZGF0ZV90aW1lID0gY2xvY2tfdGltZV9nZXRfdGltZSAobGNkLT50aW1lKTsKKyAKKyAgIC8qIDg6OChzcGFjZSk4ICovCisgICByYXRpbyA9ICgzICogUkVMQVRJVkVfRElHSVQpICsgUkVMQVRJVkVfRE9UUyArIFJFTEFUSVZFX1NQQUNFOworIAorLSAgdGlja3MgPSBnX2RhdGVfdGltZV9nZXRfaG91ciAodGltZSk7CistICBnX2RhdGVfdGltZV91bnJlZiAodGltZSk7CisrICB0aWNrcyA9IGdfZGF0ZV90aW1lX2dldF9ob3VyIChkYXRlX3RpbWUpOworKyAgZ19kYXRlX3RpbWVfdW5yZWYgKGRhdGVfdGltZSk7CisgCisgICBpZiAoIWxjZC0+c2hvd19taWxpdGFyeSAmJiB0aWNrcyA+IDEyKQorICAgICB0aWNrcyAtPSAxMjsKK0BAIC01ODQsNyArNTg0LDcgQEAgeGZjZV9jbG9ja19sY2RfZHJhd19kaWdpdCAoY2Fpcm9fdCAqY3IsCisgCisgc3RhdGljIGdib29sZWFuCisgeGZjZV9jbG9ja19sY2RfdXBkYXRlIChYZmNlQ2xvY2tMY2QgKmxjZCwKKy0gICAgICAgICAgICAgICAgICAgICAgIENsb2NrVGltZSAgICAqdGltZSkKKysgICAgICAgICAgICAgICAgICAgICAgIENsb2NrVGltZSAgICAqY2xvY2tfdGltZSkKKyB7CisgICBHdGtXaWRnZXQgKndpZGdldCA9IEdUS19XSURHRVQgKGxjZCk7CisgCitAQCAtNjAwLDExICs2MDAsMTEgQEAgeGZjZV9jbG9ja19sY2RfdXBkYXRlIChYZmNlQ2xvY2tMY2QgKmxjZCwKKyAKKyAKKyBHdGtXaWRnZXQgKgorLXhmY2VfY2xvY2tfbGNkX25ldyAoQ2xvY2tUaW1lICp0aW1lKQorK3hmY2VfY2xvY2tfbGNkX25ldyAoQ2xvY2tUaW1lICpjbG9ja190aW1lKQorIHsKKyAgIFhmY2VDbG9ja0xjZCAqbGNkID0gZ19vYmplY3RfbmV3IChYRkNFX0NMT0NLX1RZUEVfTENELCBOVUxMKTsKKyAKKy0gIGxjZC0+dGltZSA9IHRpbWU7CisrICBsY2QtPnRpbWUgPSBjbG9ja190aW1lOworICAgbGNkLT50aW1lb3V0ID0gY2xvY2tfdGltZV90aW1lb3V0X25ldyAoQ0xPQ0tfSU5URVJWQUxfTUlOVVRFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGNkLT50aW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR19DQUxMQkFDSyAoeGZjZV9jbG9ja19sY2RfdXBkYXRlKSwgbGNkKTsKK2RpZmYgLS1naXQgYS9wbHVnaW5zL2Nsb2NrL2Nsb2NrLXRpbWUuYyBiL3BsdWdpbnMvY2xvY2svY2xvY2stdGltZS5jCitpbmRleCAxNmIwZjg5Li5iMDE1YjEzIDEwMDY0NAorLS0tIGEvcGx1Z2lucy9jbG9jay9jbG9jay10aW1lLmMKKysrKyBiL3BsdWdpbnMvY2xvY2svY2xvY2stdGltZS5jCitAQCAtMTA3LDEwICsxMDcsMTAgQEAgY2xvY2tfdGltZV9jbGFzc19pbml0IChDbG9ja1RpbWVDbGFzcyAqa2xhc3MpCisgCisgCisgc3RhdGljIHZvaWQKKy1jbG9ja190aW1lX2luaXQgKENsb2NrVGltZSAqdGltZSkKKytjbG9ja190aW1lX2luaXQgKENsb2NrVGltZSAqY2xvY2tfdGltZSkKKyB7CistICB0aW1lLT50aW1lem9uZV9uYW1lID0gZ19zdHJkdXAgKERFRkFVTFRfVElNRVpPTkUpOworLSAgdGltZS0+dGltZXpvbmUgPSBnX3RpbWVfem9uZV9uZXdfbG9jYWwgKCk7CisrICBjbG9ja190aW1lLT50aW1lem9uZV9uYW1lID0gZ19zdHJkdXAgKERFRkFVTFRfVElNRVpPTkUpOworKyAgY2xvY2tfdGltZS0+dGltZXpvbmUgPSBnX3RpbWVfem9uZV9uZXdfbG9jYWwgKCk7CisgfQorIAorIAorQEAgLTExOCwxMSArMTE4LDExIEBAIGNsb2NrX3RpbWVfaW5pdCAoQ2xvY2tUaW1lICp0aW1lKQorIHN0YXRpYyB2b2lkCisgY2xvY2tfdGltZV9maW5hbGl6ZSAoR09iamVjdCAqb2JqZWN0KQorIHsKKy0gIENsb2NrVGltZSAqdGltZSA9IFhGQ0VfQ0xPQ0tfVElNRSAob2JqZWN0KTsKKysgIENsb2NrVGltZSAqY2xvY2tfdGltZSA9IFhGQ0VfQ0xPQ0tfVElNRSAob2JqZWN0KTsKKyAKKy0gIGdfZnJlZSAodGltZS0+dGltZXpvbmVfbmFtZSk7CisrICBnX2ZyZWUgKGNsb2NrX3RpbWUtPnRpbWV6b25lX25hbWUpOworIAorLSAgZ190aW1lX3pvbmVfdW5yZWYgKHRpbWUtPnRpbWV6b25lKTsKKysgIGdfdGltZV96b25lX3VucmVmIChjbG9ja190aW1lLT50aW1lem9uZSk7CisgCisgICBHX09CSkVDVF9DTEFTUyAoY2xvY2tfdGltZV9wYXJlbnRfY2xhc3MpLT5maW5hbGl6ZSAob2JqZWN0KTsKKyB9CitAQCAtMTM1LDEyICsxMzUsMTIgQEAgY2xvY2tfdGltZV9nZXRfcHJvcGVydHkgKEdPYmplY3QgICAgKm9iamVjdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgR1ZhbHVlICAgICAqdmFsdWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgIEdQYXJhbVNwZWMgKnBzcGVjKQorIHsKKy0gIENsb2NrVGltZSAqdGltZSA9IFhGQ0VfQ0xPQ0tfVElNRSAob2JqZWN0KTsKKysgIENsb2NrVGltZSAqY2xvY2tfdGltZSA9IFhGQ0VfQ0xPQ0tfVElNRSAob2JqZWN0KTsKKyAKKyAgIHN3aXRjaCAocHJvcF9pZCkKKyAgICAgeworICAgICBjYXNlIFBST1BfVElNRVpPTkU6CistICAgICAgZ192YWx1ZV9zZXRfc3RyaW5nICh2YWx1ZSwgdGltZS0+dGltZXpvbmVfbmFtZSk7CisrICAgICAgZ192YWx1ZV9zZXRfc3RyaW5nICh2YWx1ZSwgY2xvY2tfdGltZS0+dGltZXpvbmVfbmFtZSk7CisgICAgICAgYnJlYWs7CisgCisgICAgIGRlZmF1bHQ6CitAQCAtMTU3LDI5ICsxNTcsMjkgQEAgY2xvY2tfdGltZV9zZXRfcHJvcGVydHkgKEdPYmplY3QgICAgICAqb2JqZWN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBHVmFsdWUgKnZhbHVlLAorICAgICAgICAgICAgICAgICAgICAgICAgICBHUGFyYW1TcGVjICAgKnBzcGVjKQorIHsKKy0gIENsb2NrVGltZSAgICAgKnRpbWUgPSBYRkNFX0NMT0NLX1RJTUUgKG9iamVjdCk7CisrICBDbG9ja1RpbWUgICAgICpjbG9ja190aW1lID0gWEZDRV9DTE9DS19USU1FIChvYmplY3QpOworICAgY29uc3QgZ2NoYXIgICAqc3RyX3ZhbHVlOworIAorICAgc3dpdGNoIChwcm9wX2lkKQorICAgICB7CisgICAgIGNhc2UgUFJPUF9USU1FWk9ORToKKyAgICAgICBzdHJfdmFsdWUgPSBnX3ZhbHVlX2dldF9zdHJpbmcgKHZhbHVlKTsKKy0gICAgICBpZiAoZ19zdHJjbXAwICh0aW1lLT50aW1lem9uZV9uYW1lLCBzdHJfdmFsdWUpICE9IDApCisrICAgICAgaWYgKGdfc3RyY21wMCAoY2xvY2tfdGltZS0+dGltZXpvbmVfbmFtZSwgc3RyX3ZhbHVlKSAhPSAwKQorICAgICAgICAgeworLSAgICAgICAgICBnX2ZyZWUgKHRpbWUtPnRpbWV6b25lX25hbWUpOworLSAgICAgICAgICBnX3RpbWVfem9uZV91bnJlZiAodGltZS0+dGltZXpvbmUpOworKyAgICAgICAgICBnX2ZyZWUgKGNsb2NrX3RpbWUtPnRpbWV6b25lX25hbWUpOworKyAgICAgICAgICBnX3RpbWVfem9uZV91bnJlZiAoY2xvY2tfdGltZS0+dGltZXpvbmUpOworICAgICAgICAgICBpZiAoc3RyX3ZhbHVlID09IE5VTEwgfHwgZ19zdHJjbXAwIChzdHJfdmFsdWUsICIiKSA9PSAwKQorICAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAgIHRpbWUtPnRpbWV6b25lX25hbWUgPSBnX3N0cmR1cCAoREVGQVVMVF9USU1FWk9ORSk7CistICAgICAgICAgICAgICB0aW1lLT50aW1lem9uZSA9IGdfdGltZV96b25lX25ld19sb2NhbCAoKTsKKysgICAgICAgICAgICAgIGNsb2NrX3RpbWUtPnRpbWV6b25lX25hbWUgPSBnX3N0cmR1cCAoREVGQVVMVF9USU1FWk9ORSk7CisrICAgICAgICAgICAgICBjbG9ja190aW1lLT50aW1lem9uZSA9IGdfdGltZV96b25lX25ld19sb2NhbCAoKTsKKyAgICAgICAgICAgICB9CisgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICB7CistICAgICAgICAgICAgICB0aW1lLT50aW1lem9uZV9uYW1lID0gZ19zdHJkdXAgKHN0cl92YWx1ZSk7CistICAgICAgICAgICAgICB0aW1lLT50aW1lem9uZSA9IGdfdGltZV96b25lX25ldyAoc3RyX3ZhbHVlKTsKKysgICAgICAgICAgICAgIGNsb2NrX3RpbWUtPnRpbWV6b25lX25hbWUgPSBnX3N0cmR1cCAoc3RyX3ZhbHVlKTsKKysgICAgICAgICAgICAgIGNsb2NrX3RpbWUtPnRpbWV6b25lID0gZ190aW1lX3pvbmVfbmV3IChzdHJfdmFsdWUpOworICAgICAgICAgICAgIH0KKyAKKy0gICAgICAgICAgZ19zaWduYWxfZW1pdCAoR19PQkpFQ1QgKHRpbWUpLCBjbG9ja190aW1lX3NpZ25hbHNbVElNRV9DSEFOR0VEXSwgMCk7CisrICAgICAgICAgIGdfc2lnbmFsX2VtaXQgKEdfT0JKRUNUIChjbG9ja190aW1lKSwgY2xvY2tfdGltZV9zaWduYWxzW1RJTUVfQ0hBTkdFRF0sIDApOworICAgICAgICAgfQorICAgICAgIGJyZWFrOworIAorQEAgLTE5MiwxNCArMTkyLDE0IEBAIGNsb2NrX3RpbWVfc2V0X3Byb3BlcnR5IChHT2JqZWN0ICAgICAgKm9iamVjdCwKKyAKKyAKKyBHRGF0ZVRpbWUgKgorLWNsb2NrX3RpbWVfZ2V0X3RpbWUgKENsb2NrVGltZSAqdGltZSkKKytjbG9ja190aW1lX2dldF90aW1lIChDbG9ja1RpbWUgKmNsb2NrX3RpbWUpCisgeworICAgR0RhdGVUaW1lICpkYXRlX3RpbWU7CisgCistICBwYW5lbF9yZXR1cm5fdmFsX2lmX2ZhaWwgKFhGQ0VfSVNfQ0xPQ0tfVElNRSAodGltZSksIE5VTEwpOworKyAgcGFuZWxfcmV0dXJuX3ZhbF9pZl9mYWlsIChYRkNFX0lTX0NMT0NLX1RJTUUgKGNsb2NrX3RpbWUpLCBOVUxMKTsKKyAKKy0gIGlmICh0aW1lLT50aW1lem9uZSAhPSBOVUxMKQorLSAgICBkYXRlX3RpbWUgPSBnX2RhdGVfdGltZV9uZXdfbm93ICh0aW1lLT50aW1lem9uZSk7CisrICBpZiAoY2xvY2tfdGltZS0+dGltZXpvbmUgIT0gTlVMTCkKKysgICAgZGF0ZV90aW1lID0gZ19kYXRlX3RpbWVfbmV3X25vdyAoY2xvY2tfdGltZS0+dGltZXpvbmUpOworICAgZWxzZQorICAgICBkYXRlX3RpbWUgPSBnX2RhdGVfdGltZV9uZXdfbm93X2xvY2FsICgpOworIAorQEAgLTIwOSwxNSArMjA5LDE1IEBAIGNsb2NrX3RpbWVfZ2V0X3RpbWUgKENsb2NrVGltZSAqdGltZSkKKyAKKyAKKyBnY2hhciAqCistY2xvY2tfdGltZV9zdHJkdXBfc3RyZnRpbWUgKENsb2NrVGltZSAgICAgICAqdGltZSwKKytjbG9ja190aW1lX3N0cmR1cF9zdHJmdGltZSAoQ2xvY2tUaW1lICAgICAgICpjbG9ja190aW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnY2hhciAgICAgKmZvcm1hdCkKKyB7CisgICBHRGF0ZVRpbWUgKmRhdGVfdGltZTsKKyAgIGdjaGFyICAgICAqc3RyOworIAorLSAgcGFuZWxfcmV0dXJuX3ZhbF9pZl9mYWlsIChYRkNFX0lTX0NMT0NLX1RJTUUgKHRpbWUpLCBOVUxMKTsKKysgIHBhbmVsX3JldHVybl92YWxfaWZfZmFpbCAoWEZDRV9JU19DTE9DS19USU1FIChjbG9ja190aW1lKSwgTlVMTCk7CisgCistICBkYXRlX3RpbWUgPSBjbG9ja190aW1lX2dldF90aW1lICh0aW1lKTsKKysgIGRhdGVfdGltZSA9IGNsb2NrX3RpbWVfZ2V0X3RpbWUgKGNsb2NrX3RpbWUpOworICAgc3RyID0gZ19kYXRlX3RpbWVfZm9ybWF0IChkYXRlX3RpbWUsIGZvcm1hdCk7CisgCisgICBnX2RhdGVfdGltZV91bnJlZiAoZGF0ZV90aW1lKTsKK0BAIC0yNjIsNyArMjYyLDcgQEAgc3RhdGljIGdib29sZWFuCisgY2xvY2tfdGltZV90aW1lb3V0X3J1bm5pbmcgKGdwb2ludGVyIHVzZXJfZGF0YSkKKyB7CisgICBDbG9ja1RpbWVUaW1lb3V0ICp0aW1lb3V0ID0gdXNlcl9kYXRhOworLSAgR0RhdGVUaW1lICAgICAgICAqdGltZTsKKysgIEdEYXRlVGltZSAgICAgICAgKmRhdGVfdGltZTsKKyAKKyAgIGdfc2lnbmFsX2VtaXQgKEdfT0JKRUNUICh0aW1lb3V0LT50aW1lKSwgY2xvY2tfdGltZV9zaWduYWxzW1RJTUVfQ0hBTkdFRF0sIDApOworIAorQEAgLTI3MCw4ICsyNzAsOCBAQCBjbG9ja190aW1lX3RpbWVvdXRfcnVubmluZyAoZ3BvaW50ZXIgdXNlcl9kYXRhKQorICAgaWYgKHRpbWVvdXQtPmludGVydmFsID09IENMT0NLX0lOVEVSVkFMX01JTlVURSkKKyAgICAgeworICAgICAgIC8qIHN5bmMgYWdhaW4gd2hlbiB3ZSBkb24ndCBydW4gb24gdGltZSAqLworLSAgICAgIHRpbWUgPSBjbG9ja190aW1lX2dldF90aW1lICh0aW1lb3V0LT50aW1lKTsKKy0gICAgICB0aW1lb3V0LT5yZXN0YXJ0ID0gKGdfZGF0ZV90aW1lX2dldF9zZWNvbmQgKHRpbWUpICE9IDApOworKyAgICAgIGRhdGVfdGltZSA9IGNsb2NrX3RpbWVfZ2V0X3RpbWUgKHRpbWVvdXQtPnRpbWUpOworKyAgICAgIHRpbWVvdXQtPnJlc3RhcnQgPSAoZ19kYXRlX3RpbWVfZ2V0X3NlY29uZCAoZGF0ZV90aW1lKSAhPSAwKTsKKyAgICAgfQorIAorICAgcmV0dXJuICF0aW1lb3V0LT5yZXN0YXJ0OworQEAgLTMxMiwxMyArMzEyLDEzIEBAIGNsb2NrX3RpbWVfdGltZW91dF9zeW5jIChncG9pbnRlciB1c2VyX2RhdGEpCisgCisgQ2xvY2tUaW1lVGltZW91dCAqCisgY2xvY2tfdGltZV90aW1lb3V0X25ldyAoZ3VpbnQgICAgICAgaW50ZXJ2YWwsCistICAgICAgICAgICAgICAgICAgICAgICAgQ2xvY2tUaW1lICAqdGltZSwKKysgICAgICAgICAgICAgICAgICAgICAgICBDbG9ja1RpbWUgICpjbG9ja190aW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgIEdDYWxsYmFjayAgIGNfaGFuZGxlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICBncG9pbnRlciAgICBnb2JqZWN0KQorIHsKKyAgIENsb2NrVGltZVRpbWVvdXQgKnRpbWVvdXQ7CisgCistICBwYW5lbF9yZXR1cm5fdmFsX2lmX2ZhaWwgKFhGQ0VfSVNfQ0xPQ0tfVElNRSAodGltZSksIE5VTEwpOworKyAgcGFuZWxfcmV0dXJuX3ZhbF9pZl9mYWlsIChYRkNFX0lTX0NMT0NLX1RJTUUgKGNsb2NrX3RpbWUpLCBOVUxMKTsKKyAKKyAgIHBhbmVsX3JldHVybl92YWxfaWZfZmFpbCAoaW50ZXJ2YWwgPiAwLCBOVUxMKTsKKyAKK0BAIC0zMjYsMTAgKzMyNiwxMCBAQCBjbG9ja190aW1lX3RpbWVvdXRfbmV3IChndWludCAgICAgICBpbnRlcnZhbCwKKyAgIHRpbWVvdXQtPmludGVydmFsID0gMDsKKyAgIHRpbWVvdXQtPnRpbWVvdXRfaWQgPSAwOworICAgdGltZW91dC0+cmVzdGFydCA9IEZBTFNFOworLSAgdGltZW91dC0+dGltZSA9IHRpbWU7CisrICB0aW1lb3V0LT50aW1lID0gY2xvY2tfdGltZTsKKyAKKyAgIHRpbWVvdXQtPnRpbWVfY2hhbmdlZF9pZCA9CistICAgIGdfc2lnbmFsX2Nvbm5lY3Rfc3dhcHBlZCAoR19PQkpFQ1QgKHRpbWUpLCAidGltZS1jaGFuZ2VkIiwKKysgICAgZ19zaWduYWxfY29ubmVjdF9zd2FwcGVkIChHX09CSkVDVCAoY2xvY2tfdGltZSksICJ0aW1lLWNoYW5nZWQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNfaGFuZGxlciwgZ29iamVjdCk7CisgCisgICBnX29iamVjdF9yZWYgKEdfT0JKRUNUICh0aW1lb3V0LT50aW1lKSk7CitAQCAtMzQ1LDcgKzM0NSw3IEBAIHZvaWQKKyBjbG9ja190aW1lX3RpbWVvdXRfc2V0X2ludGVydmFsIChDbG9ja1RpbWVUaW1lb3V0ICp0aW1lb3V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGd1aW50ICAgICAgICAgICAgIGludGVydmFsKQorIHsKKy0gIEdEYXRlVGltZSAqdGltZTsKKysgIEdEYXRlVGltZSAqZGF0ZV90aW1lOworICAgZ3VpbnQgICAgICBuZXh0X2ludGVydmFsOworICAgZ2Jvb2xlYW4gICByZXN0YXJ0OworIAorQEAgLTM3Miw4ICszNzIsOCBAQCBjbG9ja190aW1lX3RpbWVvdXRfc2V0X2ludGVydmFsIChDbG9ja1RpbWVUaW1lb3V0ICp0aW1lb3V0LAorICAgLyogZ2V0IHRoZSBzZWNvbmRzIHRvIHRoZSBuZXh0IGludGVybmFsICovCisgICBpZiAoaW50ZXJ2YWwgPT0gQ0xPQ0tfSU5URVJWQUxfTUlOVVRFKQorICAgICB7CistICAgICAgdGltZSA9IGNsb2NrX3RpbWVfZ2V0X3RpbWUgKHRpbWVvdXQtPnRpbWUpOworLSAgICAgIG5leHRfaW50ZXJ2YWwgPSA2MCAtIGdfZGF0ZV90aW1lX2dldF9zZWNvbmQgKHRpbWUpOworKyAgICAgIGRhdGVfdGltZSA9IGNsb2NrX3RpbWVfZ2V0X3RpbWUgKHRpbWVvdXQtPnRpbWUpOworKyAgICAgIG5leHRfaW50ZXJ2YWwgPSA2MCAtIGdfZGF0ZV90aW1lX2dldF9zZWNvbmQgKGRhdGVfdGltZSk7CisgICAgIH0KKyAgIGVsc2UKKyAgICAgeworZGlmZiAtLWdpdCBhL3BsdWdpbnMvY2xvY2svY2xvY2suYyBiL3BsdWdpbnMvY2xvY2svY2xvY2suYworaW5kZXggNmM4MDk3OC4uZTA3YzE3YiAxMDA2NDQKKy0tLSBhL3BsdWdpbnMvY2xvY2svY2xvY2suYworKysrIGIvcGx1Z2lucy9jbG9jay9jbG9jay5jCitAQCAtMTExMywxNyArMTExMywxNyBAQCBzdGF0aWMgdm9pZAorIGNsb2NrX3BsdWdpbl9jYWxlbmRhcl9zaG93X2V2ZW50IChHdGtXaWRnZXQgICAqY2FsZW5kYXJfd2luZG93LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDbG9ja1BsdWdpbiAqcGx1Z2luKQorIHsKKy0gIEdEYXRlVGltZSAqdGltZTsKKysgIEdEYXRlVGltZSAqZGF0ZV90aW1lOworIAorICAgcGFuZWxfcmV0dXJuX2lmX2ZhaWwgKFhGQ0VfSVNfUEFORUxfUExVR0lOIChwbHVnaW4pKTsKKyAKKyAgIGNsb2NrX3BsdWdpbl9yZXBvc2l0aW9uX2NhbGVuZGFyIChwbHVnaW4pOworIAorLSAgdGltZSA9IGNsb2NrX3RpbWVfZ2V0X3RpbWUgKHBsdWdpbi0+dGltZSk7CistICBndGtfY2FsZW5kYXJfc2VsZWN0X21vbnRoIChHVEtfQ0FMRU5EQVIgKHBsdWdpbi0+Y2FsZW5kYXIpLCBnX2RhdGVfdGltZV9nZXRfbW9udGggKHRpbWUpIC0gMSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdfZGF0ZV90aW1lX2dldF95ZWFyICh0aW1lKSk7CistICBndGtfY2FsZW5kYXJfc2VsZWN0X2RheSAoR1RLX0NBTEVOREFSIChwbHVnaW4tPmNhbGVuZGFyKSwgZ19kYXRlX3RpbWVfZ2V0X2RheV9vZl9tb250aCAodGltZSkpOworLSAgZ19kYXRlX3RpbWVfdW5yZWYgKHRpbWUpOworKyAgZGF0ZV90aW1lID0gY2xvY2tfdGltZV9nZXRfdGltZSAocGx1Z2luLT50aW1lKTsKKysgIGd0a19jYWxlbmRhcl9zZWxlY3RfbW9udGggKEdUS19DQUxFTkRBUiAocGx1Z2luLT5jYWxlbmRhciksIGdfZGF0ZV90aW1lX2dldF9tb250aCAoZGF0ZV90aW1lKSAtIDEsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnX2RhdGVfdGltZV9nZXRfeWVhciAoZGF0ZV90aW1lKSk7CisrICBndGtfY2FsZW5kYXJfc2VsZWN0X2RheSAoR1RLX0NBTEVOREFSIChwbHVnaW4tPmNhbGVuZGFyKSwgZ19kYXRlX3RpbWVfZ2V0X2RheV9vZl9tb250aCAoZGF0ZV90aW1lKSk7CisrICBnX2RhdGVfdGltZV91bnJlZiAoZGF0ZV90aW1lKTsKKyB9CisgCisgCistLSAKKzIuNS4wCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmNlNC1wYW5lbC9maWxlcy8wMDAyLWNsb2NrLXRpbWUtbWFrZS1jaGFuZ2Utb2Ytc3lzdGVtLXMtdGltZXpvbmUtY2hhbmdlLXQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZjZTQtcGFuZWwvZmlsZXMvMDAwMi1jbG9jay10aW1lLW1ha2UtY2hhbmdlLW9mLXN5c3RlbS1zLXRpbWV6b25lLWNoYW5nZS10LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlkY2EzYmEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZjZTQtcGFuZWwvZmlsZXMvMDAwMi1jbG9jay10aW1lLW1ha2UtY2hhbmdlLW9mLXN5c3RlbS1zLXRpbWV6b25lLWNoYW5nZS10LnBhdGNoCkBAIC0wLDAgKzEsNDIgQEAKK0Zyb20gYzU4MjMzOGVmNGYzM2IzZGMwN2EyNjM2MzQwZDU1YjlmYjUzMDY1MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KK0RhdGU6IFdlZCwgMTcgRmViIDIwMTYgMDA6MTU6NDQgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gY2xvY2stdGltZTogbWFrZSBjaGFuZ2Ugb2Ygc3lzdGVtJ3MgdGltZXpvbmUgY2hhbmdlIHRpbWUgZm9yCisgREVGQVVMVF9USU1FWk9ORQorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitjbG9ja190aW1lLT50aW1lem9uZSBpcyBzZXQgaW4gY2xvY2tfdGltZV9pbml0IHNvIHRoZSBjb25kaXRpb24KKworJ2Nsb2NrX3RpbWUtPnRpbWV6b25lICE9IE5VTEwKKworaXMgbWF0Y2hpbmcgYWx3YXlzLgorCitUZXN0ZWQgYnkgc2VsZWN0aW5nIHNlY29uZHMgZGlzcGxheWVkICgtPiBxdWljayB1cGRhdGUpIGFuZCBjaGFuZ2luZyB0aW1lem9uZS4KKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgWzFdCisKK1sxXSBodHRwczovL2J1Z3ppbGxhLnhmY2Uub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjQ1MworCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CistLS0KKyBwbHVnaW5zL2Nsb2NrL2Nsb2NrLXRpbWUuYyB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3BsdWdpbnMvY2xvY2svY2xvY2stdGltZS5jIGIvcGx1Z2lucy9jbG9jay9jbG9jay10aW1lLmMKK2luZGV4IGIwMTViMTMuLjQ0NTliODUgMTAwNjQ0CistLS0gYS9wbHVnaW5zL2Nsb2NrL2Nsb2NrLXRpbWUuYworKysrIGIvcGx1Z2lucy9jbG9jay9jbG9jay10aW1lLmMKK0BAIC0xOTgsNyArMTk4LDcgQEAgY2xvY2tfdGltZV9nZXRfdGltZSAoQ2xvY2tUaW1lICpjbG9ja190aW1lKQorIAorICAgcGFuZWxfcmV0dXJuX3ZhbF9pZl9mYWlsIChYRkNFX0lTX0NMT0NLX1RJTUUgKGNsb2NrX3RpbWUpLCBOVUxMKTsKKyAKKy0gIGlmIChjbG9ja190aW1lLT50aW1lem9uZSAhPSBOVUxMKQorKyAgaWYgKGdfc3RyY21wMCAoY2xvY2tfdGltZS0+dGltZXpvbmVfbmFtZSwgREVGQVVMVF9USU1FWk9ORSkgIT0gMCkKKyAgICAgZGF0ZV90aW1lID0gZ19kYXRlX3RpbWVfbmV3X25vdyAoY2xvY2tfdGltZS0+dGltZXpvbmUpOworICAgZWxzZQorICAgICBkYXRlX3RpbWUgPSBnX2RhdGVfdGltZV9uZXdfbm93X2xvY2FsICgpOworLS0gCisyLjUuMAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZjZTQtcGFuZWwveGZjZTQtcGFuZWxfNC4xMi4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmY2U0LXBhbmVsL3hmY2U0LXBhbmVsXzQuMTIuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YTJiOTQ0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmY2U0LXBhbmVsL3hmY2U0LXBhbmVsXzQuMTIuMC5iYgpAQCAtMCwwICsxLDQxIEBACitTVU1NQVJZID0gIlhmY2U0IFBhbmVsIgorU0VDVElPTiA9ICJ4MTEiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MjZhOGJkNzVkOGY4NDk4YmRiYmU2NGEyNzc5MWQ0ZWUiCitERVBFTkRTID0gImxpYnhmY2U0dXRpbCBnYXJjb24gbGlieGZjZTR1aSB4ZmNvbmYgZXhvIGd0aysgZ3RrKzMgZGJ1cyBjYWlybyB2aXJ0dWFsL2xpYngxMSBsaWJ4bWwyIGxpYnduY2siCisKK2luaGVyaXQgeGZjZSBndGstZG9jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI1YTMzM2FmNzA0ZTM4NmM5MGFkODI5YjZiYWYxYTc1OCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzMDkyMGZjMmUyZmMyNjI3OWE4MmI1MjYxYTE1NWMyY2MxNWFiMmFhMWNlZDIyNzU2ODRhNmZmODI2MWI5N2IwIgorU1JDX1VSSSArPSAiIFwKKyAgICBmaWxlOi8vMDAwMS1GaXgtY29tcGlsZXItd2FybmluZy1pbi1jbG9jay1wbHVnaW4tYWJvdXQtc2hhZG93ZWQtLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMi1jbG9jay10aW1lLW1ha2UtY2hhbmdlLW9mLXN5c3RlbS1zLXRpbWV6b25lLWNoYW5nZS10LnBhdGNoIFwKKyIKKworRVhUUkFfT0VDT05GICs9ICItLWVuYWJsZS1ndGszIgorCitweXRob24gcG9wdWxhdGVfcGFja2FnZXNfcHJlcGVuZCgpIHsKKyAgICBwbHVnaW5fZGlyID0gZC5leHBhbmQoJyR7bGliZGlyfS94ZmNlNC9wYW5lbC9wbHVnaW5zLycpCisgICAgcGx1Z2luX25hbWUgPSBkLmV4cGFuZCgnJHtQTn0tcGx1Z2luLSVzJykKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBwbHVnaW5fZGlyLCAnXmxpYiguKikuc28kJywgcGx1Z2luX25hbWUsCisgICAgICAgICAgICAgICAgICAgICAgJyR7UE59IHBsdWdpbiBmb3IgJXMnLCBleHRyYV9kZXBlbmRzPScnLCBwcmVwZW5kPVRydWUsCisgICAgICAgICAgICAgICAgICAgICAgYXV4X2ZpbGVzX3BhdHRlcm49Wycke2RhdGFkaXJ9L3hmY2U0L3BhbmVsL3BsdWdpbnMvJXMuZGVza3RvcCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcke3N5c2NvbmZkaXJ9L3hkZy94ZmNlL3BhbmVsLyVzLSonLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJHtkYXRhZGlyfS9pY29ucy9oaWNvbG9yLzQ4eDQ4L2FwcHMvKi0lcy5wbmcnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJHtiaW5kaXJ9LyolcyonXSkKK30KKworUEFDS0FHRVNfRFlOQU1JQyArPSAiXiR7UE59LXBsdWdpbi0uKiIKKworUEFDS0FHRVMgPSsgIiR7UE59LWd0azMiCisKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0veGZjZTQvcGFuZWwvbWlncmF0ZSBcCisgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3hmY2U0L3BhbmVsL3dyYXBwZXItMS4wIgorCitGSUxFU18ke1BOfS1ndGszID0gIiBcCisgICAgJHtsaWJkaXJ9L2xpYnhmY2U0cGFuZWwtMi4wJHtTT0xJQlN9IFwKKyAgICAke2xpYmRpcn0veGZjZTQvcGFuZWwvd3JhcHBlci0yLjAgXAorIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0veGZjZTQvcGFuZWwvcGx1Z2lucy8uZGVidWcgXAorIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmY2U0LXBvd2VyLW1hbmFnZXIveGZjZTQtcG93ZXItbWFuYWdlcl8xLjQuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmNlNC1wb3dlci1tYW5hZ2VyL3hmY2U0LXBvd2VyLW1hbmFnZXJfMS40LjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjA3MGRiMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmNlNC1wb3dlci1tYW5hZ2VyL3hmY2U0LXBvd2VyLW1hbmFnZXJfMS40LjQuYmIKQEAgLTAsMCArMSw0MiBAQAorU1VNTUFSWSA9ICJQb3dlciBtYW5hZ2VyIGZvciB0aGUgWGZjZSBkZXNrdG9wIGVudmlyb25tZW50IgorSE9NRVBBR0UgPSAiaHR0cDovL2dvb2RpZXMueGZjZS5vcmcvcHJvamVjdHMvYXBwbGljYXRpb25zL3hmY2U0LXBvd2VyLW1hbmFnZXIiCitTRUNUSU9OID0gIngxMSIKKworTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01OTUzMGJkZjMzNjU5YjI5ZTczZDRhZGI5ZjlmNjU1MiIKKworaW5oZXJpdCB4ZmNlCisKK0RFUEVORFMgKz0gImd0aysgZ2xpYi0yLjAgZGJ1cy1nbGliIHhmY29uZiBsaWJ4ZmNlNHVpIGxpYnhmY2U0dXRpbCBsaWJub3RpZnkgXAorICAgICAgICAgICBsaWJ4cmFuZHIgdmlydHVhbC9saWJ4MTEgbGlieGV4dCB4ZmNlNC1wYW5lbCB1cG93ZXIiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlN2QwMDU0OGU1OGJmMTkyMjllNzI3ODE4MTg0YzFlMCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjNTBlYzhhYTdlNzg0OGM1N2MwZjg1NmRjZWI4MTMyZWI1ZjM3NTg1ZjBhYzE2Mjc0NTlhYjhjODgyYzczYjA3IgorCitFWFRSQV9PRUNPTkYgPSAiIFwKKyAgICAtLWVuYWJsZS1uZXR3b3JrLW1hbmFnZXIgXAorICAgIC0tZW5hYmxlLXBhbmVsLXBsdWdpbnMgXAorIgorCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ3N5c3RlbWQnLCdzeXN0ZW1kJywnJyxkKX0iCitQQUNLQUdFQ09ORklHW3N5c3RlbWRdID0gIi0tZW5hYmxlLXBvbGtpdCwgLS1kaXNhYmxlLXBvbGtpdCwgcG9sa2l0IgorCitQQUNLQUdFUyArPSAieGZjZTQtcG93ZXJtYW5hZ2VyLXBsdWdpbiIKKworRklMRVNfJHtQTn0gKz0gIiBcCisgICAgJHtkYXRhZGlyfS9wb2xraXQtMSBcCisgICAgJHtkYXRhZGlyfS9hcHBkYXRhIFwKKyIKKworRklMRVNfeGZjZTQtcG93ZXJtYW5hZ2VyLXBsdWdpbiA9ICIgXAorICAgICR7bGliZGlyfS94ZmNlNCBcCisgICAgJHtkYXRhZGlyfS94ZmNlNCBcCisiCisKK1JERVBFTkRTX3hmY2U0LXBvd2VybWFuYWdlci1wbHVnaW4gPSAiJHtQTn0iCitSREVQRU5EU18ke1BOfSA9ICJuZXR3b3JrbWFuYWdlciAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywnc3lzdGVtZCcsJycsJ2NvbnNvbGVraXQnLGQpfSIKKworIyB4ZmNlNC1icmlnaHRuZXNzLXBsdWdpbiB3YXMgcmVwbGFjZWQgYnkgeGZjZTQtcG93ZXJtYW5hZ2VyLXBsdWdpbgorUlBST1ZJREVTX3hmY2U0LXBvd2VybWFuYWdlci1wbHVnaW4gKz0gInhmY2U0LWJyaWdodG5lc3MtcGx1Z2luIgorUlJFUExBQ0VTX3hmY2U0LXBvd2VybWFuYWdlci1wbHVnaW4gKz0gInhmY2U0LWJyaWdodG5lc3MtcGx1Z2luIgorUkNPTkZMSUNUU194ZmNlNC1wb3dlcm1hbmFnZXItcGx1Z2luICs9ICJ4ZmNlNC1icmlnaHRuZXNzLXBsdWdpbiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmNlNC1zZXNzaW9uL21hY2hpbmUtaG9zdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmNlNC1zZXNzaW9uL21hY2hpbmUtaG9zdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wM2JkMjA1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmY2U0LXNlc3Npb24vbWFjaGluZS1ob3N0LmJiCkBAIC0wLDAgKzEsMTcgQEAKK1NVTU1BUlkgPSAiTWV0YSBwYWNrYWdlIGFkZGluZyBtYWNoaW5lIG5hbWUgdG8ga25vd24gaG9zdHMiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7Q09SRUJBU0V9L0xJQ0VOU0U7bWQ1PTRkOTJjZDM3M2FiZGEzOTM3YzJiYzQ3ZmJjNDlkNjkwIgorCitBTExPV19FTVBUWV8ke1BOfSA9ICIxIgorCitMT0NBTEhPU1RNQUNISU5FID0gIjEyNy4wLjAuMSAgICAke01BQ0hJTkV9IgorCisjIG9uIHNvbWUgbWFjaGluZXMgc3RhcnRpbmcgYXBwbGljYXRpb25zIGFzIHhmY2U0LXRlcm1pbmFsIHRha2UgYWdlcyB3aXRob3V0CisjIG1hY2hpbmUgbmFtZSBpbiBob3N0cworcGtnX3Bvc3RpbnN0XyR7UE59ICgpIHsKK2lmICEgZ3JlcCAtcSAnJHtMT0NBTEhPU1RNQUNISU5FfScgJEQvZXRjL2hvc3RzIDsgdGhlbgorICAgIGVjaG8gJyR7TE9DQUxIT1NUTUFDSElORX0nID4+ICREL2V0Yy9ob3N0cworZmkKK30KKworUEFDS0FHRV9BUkNIID0gIiR7TUFDSElORV9BUkNIfSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmNlNC1zZXNzaW9uL3hmY2U0LXNlc3Npb24vMDAwMS1jb25maWd1cmUuaW4taGFyZC1jb2RlLXBhdGgtdG8taWNlYXV0aC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmNlNC1zZXNzaW9uL3hmY2U0LXNlc3Npb24vMDAwMS1jb25maWd1cmUuaW4taGFyZC1jb2RlLXBhdGgtdG8taWNlYXV0aC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNjE5Y2RlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmY2U0LXNlc3Npb24veGZjZTQtc2Vzc2lvbi8wMDAxLWNvbmZpZ3VyZS5pbi1oYXJkLWNvZGUtcGF0aC10by1pY2VhdXRoLnBhdGNoCkBAIC0wLDAgKzEsNDAgQEAKK0Zyb20gYTYyOWIwNTFmNGU1NDYyMTUwYzc3Yjk1NTc0YmJjN2EzM2JjOTY2NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KK0RhdGU6IE1vbiwgMzEgRGVjIDIwMTIgMTY6MzU6MjkgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gY29uZmlndXJlLmFjOiBoYXJkIGNvZGUgcGF0aCB0byBpY2VhdXRoCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK3dvcmthcm91bmQgQUNfUEFUSF9QUk9HIHdoaWNoIHdhcyBtZWFudCB0byBmaW5kIHByb2dyYW1zIHJlcXVpcmVkIGF0IGJ1aWxkLXRpbWUKK25vdCBhdCBydW4tdGltZS4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWddCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KKy0tLQorIGNvbmZpZ3VyZS5hYyB8ICAgIDggKy0tLS0tLS0KKyAxIGZpbGVzIGNoYW5nZWQsIDEgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggM2NmMzUxMC4uNTA1ZTc0NCAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtMTExLDEzICsxMTEsNyBAQCBYRFRfRkVBVFVSRV9ERUJVRyhbeGZzbV9kZWJ1Z19kZWZhdWx0XSkKKyBkbmwgQ2hlY2sgZm9yIGxpbmtlciBvcHRpbWl6YXRpb25zCisgWERUX0ZFQVRVUkVfTElOS0VSX09QVFMoKQorIAorLWRubCBDaGVjayBmb3IgaWNlYXV0aAorLUFDX1BBVEhfUFJPRyhbSUNFQVVUSF0sIFtpY2VhdXRoXSkKKy1pZiB0ZXN0IHgiJElDRUFVVEgiICE9IHgiIjsgdGhlbgorLSAgQUNfREVGSU5FX1VOUVVPVEVEKFtJQ0VBVVRIX0NNRF0sIFsiJElDRUFVVEgiXSwgW3BhdGggdG8gaWNlYXV0aF0pCistZWxzZQorLSAgQUNfTVNHX0VSUk9SKFtpY2VhdXRoIG1pc3NpbmcsIHBsZWFzZSBjaGVjayB5b3VyIFgxMSBpbnN0YWxsYXRpb25dKQorLWZpCisrQUNfREVGSU5FX1VOUVVPVEVEKFtJQ0VBVVRIX0NNRF0sIFsiJGJpbmRpci9pY2VhdXRoIl0sIFtwYXRoIHRvIGljZWF1dGhdKQorIAorIGRubCBGaW5kIGEgbG9jYXRpb24gZm9yIHRoZSBzZXNzaW9uIGRlc2t0b3AgZmlsZQorIEFDX01TR19DSEVDS0lORyhbd2hhdCB4c2Vzc2lvbi1wcmVmaXggdG8gdXNlXSkKKy0tIAorMS43LjQuNAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZjZTQtc2Vzc2lvbi94ZmNlNC1zZXNzaW9uXzQuMTIuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmNlNC1zZXNzaW9uL3hmY2U0LXNlc3Npb25fNC4xMi4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIxNWFlYzMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZjZTQtc2Vzc2lvbi94ZmNlNC1zZXNzaW9uXzQuMTIuMS5iYgpAQCAtMCwwICsxLDMwIEBACitTVU1NQVJZID0gInhmY2U0LXNlc3Npb24gaXMgYSBzZXNzaW9uIG1hbmFnZXIgZm9yIFhmY2UgNCBEZXNrdG9wIEVudmlyb25tZW50IgorU0VDVElPTiA9ICJ4MTEiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OWFjMmU3Y2ZmMWRkYWY0OGI2ZWFiNjAyOGYyM2VmODgiCitERVBFTkRTID0gInZpcnR1YWwvbGlieDExIGxpYnNtIGxpYnhmY2U0dXRpbCBsaWJ4ZmNlNHVpIGd0aysgbGlid25jayBkYnVzIGRidXMtZ2xpYiB4ZmNvbmYgcG9sa2l0IgorUkRFUEVORFNfJHtQTn0gPSAibmV0YmFzZSB4aW5pdCBkYnVzLXgxMSBpY2VhdXRoIHVwb3dlciIKKworaW5oZXJpdCB4ZmNlIHVwZGF0ZS1hbHRlcm5hdGl2ZXMKKworU1JDX1VSSVttZDVzdW1dID0gImY0OTIxZmIyZTYwNmU3NDY0M2RhZjEyMTIyNjMwNzZjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjk3ZDdmMmEyZDBhZjdmMzYyM2I2OGQxZjA0MDkxZTAyOTEzYjI4Zjk1NTVkYWI4YjBkMjZjOGExMjk5ZDA4ZmQiCitTUkNfVVJJICs9ICIgXAorICAgIGZpbGU6Ly8wMDAxLWNvbmZpZ3VyZS5pbi1oYXJkLWNvZGUtcGF0aC10by1pY2VhdXRoLnBhdGNoIFwKKyIKKworQUxURVJOQVRJVkVfJHtQTn0gPSAieC1zZXNzaW9uLW1hbmFnZXIiCitBTFRFUk5BVElWRV9UQVJHRVRbeC1zZXNzaW9uLW1hbmFnZXJdID0gIiR7YmluZGlyfS94ZmNlNC1zZXNzaW9uIgorQUxURVJOQVRJVkVfUFJJT1JJVFlfJHtQTn0gPSAiMTAwIgorCitGSUxFU18ke1BOfSArPSAiIFwKKyAgICAke2xpYmRpcn0veGZjZTQvKi8qLyouc28gXAorICAgICR7bGliZGlyfS94ZmNlNC9zZXNzaW9uLyotKi0qIFwKKyAgICAke2RhdGFkaXJ9L3hzZXNzaW9ucyBcCisgICAgJHtkYXRhZGlyfS90aGVtZXMvRGVmYXVsdC9iYWxvdS8qIFwKKyAgICAke2RhdGFkaXJ9L3BvbGtpdC0xIFwKKyIKKworRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0veGZjZTQvKi8qLy5kZWJ1ZyIKKworUkRFUEVORFNfJHtQTn0gKz0gIm1hY2hpbmUtaG9zdCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmNlNC1zZXR0aW5ncy9maWxlcy8wMDAxLXhzZXR0aW5ncy54bWwtU2V0LWRlZmF1bHQtdGhlbWVzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmY2U0LXNldHRpbmdzL2ZpbGVzLzAwMDEteHNldHRpbmdzLnhtbC1TZXQtZGVmYXVsdC10aGVtZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjdkZjA1YQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmNlNC1zZXR0aW5ncy9maWxlcy8wMDAxLXhzZXR0aW5ncy54bWwtU2V0LWRlZmF1bHQtdGhlbWVzLnBhdGNoCkBAIC0wLDAgKzEsMzMgQEAKK0Zyb20gMjIxOGJhOGEyMWU5ZjU3MTViNjUyYzY0MTZjMmRkYjU1MjY4NmIxNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KK0RhdGU6IFN1biwgMjAgTWF5IDIwMTIgMTU6MjI6MDkgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0geHNldHRpbmdzLnhtbDogU2V0IGRlZmF1bHQgdGhlbWVzCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1Vwc3RyYW0gc3RhdHVzOiAgSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KKworU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorLS0tCisgeGZzZXR0aW5nc2QveHNldHRpbmdzLnhtbCB8IDQgKystLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS94ZnNldHRpbmdzZC94c2V0dGluZ3MueG1sIGIveGZzZXR0aW5nc2QveHNldHRpbmdzLnhtbAoraW5kZXggNjViYTFlZS4uOWVmYjNjZCAxMDA2NDQKKy0tLSBhL3hmc2V0dGluZ3NkL3hzZXR0aW5ncy54bWwKKysrKyBiL3hmc2V0dGluZ3NkL3hzZXR0aW5ncy54bWwKK0BAIC0xLDggKzEsOCBAQAorIDw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+CisgPGNoYW5uZWwgbmFtZT0ieHNldHRpbmdzIiB2ZXJzaW9uPSIxLjAiPgorICAgPHByb3BlcnR5IG5hbWU9Ik5ldCIgdHlwZT0iZW1wdHkiPgorLSAgICA8cHJvcGVydHkgbmFtZT0iVGhlbWVOYW1lIiB0eXBlPSJlbXB0eSIvPgorLSAgICA8cHJvcGVydHkgbmFtZT0iSWNvblRoZW1lTmFtZSIgdHlwZT0iZW1wdHkiLz4KKysgICAgPHByb3BlcnR5IG5hbWU9IlRoZW1lTmFtZSIgdHlwZT0ic3RyaW5nIiB2YWx1ZT0iWGZjZSIvPgorKyAgICA8cHJvcGVydHkgbmFtZT0iSWNvblRoZW1lTmFtZSIgdHlwZT0ic3RyaW5nIiB2YWx1ZT0iQWR3YWl0YSIvPgorICAgICA8cHJvcGVydHkgbmFtZT0iRG91YmxlQ2xpY2tUaW1lIiB0eXBlPSJpbnQiIHZhbHVlPSI0MDAiLz4KKyAgICAgPHByb3BlcnR5IG5hbWU9IkRvdWJsZUNsaWNrRGlzdGFuY2UiIHR5cGU9ImludCIgdmFsdWU9IjUiLz4KKyAgICAgPHByb3BlcnR5IG5hbWU9IkRuZERyYWdUaHJlc2hvbGQiIHR5cGU9ImludCIgdmFsdWU9IjgiLz4KKy0tIAorMi4xLjAKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmY2U0LXNldHRpbmdzL3hmY2U0LXNldHRpbmdzX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmNlNC1zZXR0aW5ncy94ZmNlNC1zZXR0aW5nc19naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDVlZDA0NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmNlNC1zZXR0aW5ncy94ZmNlNC1zZXR0aW5nc19naXQuYmIKQEAgLTAsMCArMSwzOCBAQAorU1VNTUFSWSA9ICJYZmNlNCBzZXR0aW5ncyIKK1NFQ1RJT04gPSAieDExL3dtIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorREVQRU5EUyA9ICJleG8gZXhvLW5hdGl2ZSBnYXJjb24gZ3RrKyBsaWJ4ZmNlNHV0aWwgbGlieGZjZTR1aSB4ZmNvbmYgZGJ1cy1nbGliIGxpYnhpIHZpcnR1YWwvbGlieDExIHhyYW5kciBsaWJ4Y3Vyc29yIGxpYnhrbGF2aWVyIHVwb3dlciIKKworaW5oZXJpdCB4ZmNlIHhmY2UtZ2l0CisKKyMgc2Nobml0emVsdG9ueSBnaXQgcmVwbyBpcyB0aGUgbWFpbmxpbmUgcmVwbworIyArIGRhdGV0aW1lLXNldHRlciAtIHNlbnQgdG8gbWFpbmxpbmUgYnV0IHN0cmFuZ2UgcmVzcG9uc2UKKyMgKyBtaW5vciBidWdmaXhlcyAtIHNlbnQgbWFpbmxpbmUgYnV0IG5vIHJlc3BvbnNlCisjICsgb3B0aW9uIHRvIGhpZGUgbW91c2Vwb2ludGVyIGZvciBhIHNwZWNpZmljICh0b3VjaCkgaW5wdXQgZGV2aWNlIC0gc2VudCBtYWlubGluZSBidXQgbm8gcmVzcG9uc2UKK1NSQ19VUkkgPSAiIFwKKyAgICBnaXQ6Ly9naXRodWIuY29tL3NjaG5pdHplbHRvbnkveGZjZTQtc2V0dGluZ3MuZ2l0O3Byb3RvY29sPWdpdDticmFuY2g9Zm9yLW9lLTQuMTIuMC0xIFwKKyAgICBmaWxlOi8vMDAwMS14c2V0dGluZ3MueG1sLVNldC1kZWZhdWx0LXRoZW1lcy5wYXRjaCBcCisiCitTUkNSRVYgPSAiYzY2ODNjYjJjZmY0ODljMTZjMmM3YjVlYWI0MDE3YmI0NjFmMDdmMSIKK1MgPSAiJHtXT1JLRElSfS9naXQiCitQViA9ICI0LjEyLjArZ2l0JHtTUkNQVn0iCisgCitFWFRSQV9PRUNPTkYgKz0gIi0tZW5hYmxlLW1haW50YWluZXItbW9kZSAtLWRpc2FibGUtZGVidWciCisKK1BBQ0tBR0VDT05GSUcgPz89ICIgXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdzeXN0ZW1kJywnZGF0ZXRpbWUtc2V0dGVyJywnJyxkKX0gXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdhbHNhJywnc291bmQtc2V0dGVyJywgYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ3B1bHNlYXVkaW8nLCdzb3VuZC1zZXR0ZXInLCcnLGQpLGQpfSBcCisiCitQQUNLQUdFQ09ORklHW2RhdGV0aW1lLXNldHRlcl0gPSAiLS1lbmFibGUtZGF0ZXRpbWUtc2V0dGluZ3MsIC0tZGlzYWJsZS1kYXRldGltZS1zZXR0aW5ncywsIHR6ZGF0YSIKK1BBQ0tBR0VDT05GSUdbbm90aWZ5XSA9ICItLWVuYWJsZS1saWJub3RpZnksLS1kaXNhYmxlLWxpYm5vdGlmeSxsaWJub3RpZnkiCitQQUNLQUdFQ09ORklHW3NvdW5kLXNldHRlcl0gPSAiLS1lbmFibGUtc291bmQtc2V0dGluZ3MsIC0tZGlzYWJsZS1zb3VuZC1zZXR0aW5ncywgbGliY2FuYmVycmEsIGxpYmNhbmJlcnJhLWd0azIgc291bmQtdGhlbWUtZnJlZWRlc2t0b3AiCisKK0ZJTEVTXyR7UE59ICs9ICIgXAorICAgICR7bGliZGlyfS94ZmNlNCBcCisgICAgJHtkYXRhZGlyfS94ZmNlNCBcCisiCisKK1JSRUNPTU1FTkRTXyR7UE59ICs9ICJhZHdhaXRhLWljb24tdGhlbWUiCitSUkVDT01NRU5EU18ke1BOfSArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ2Fsc2EnLCdsaWJjYW5iZXJyYS1hbHNhJywnJyxkKX0iCitSUkVDT01NRU5EU18ke1BOfSArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ3B1bHNlYXVkaW8nLCdsaWJjYW5iZXJyYS1wdWxzZScsJycsZCl9IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmY29uZi94ZmNvbmZfNC4xMi4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmY29uZi94ZmNvbmZfNC4xMi4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZmMWRmYTQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZjb25mL3hmY29uZl80LjEyLjAuYmIKQEAgLTAsMCArMSwxNSBAQAorU1VNTUFSWSA9ICJYZmNlIGNvbmZpZ3VyYXRpb24gZGFlbW9uIGFuZCB1dGlsaXRpZXMiCitTRUNUSU9OID0gIngxMS93bSIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01OTUzMGJkZjMzNjU5YjI5ZTczZDRhZGI5ZjlmNjU1MiIKK0RFUEVORFMgPSAiZGJ1cy1nbGliIGxpYnhmY2U0dXRpbCBwZXJsIGludGx0b29sLW5hdGl2ZSB4ZmNlNC1kZXYtdG9vbHMtbmF0aXZlIgorCitpbmhlcml0IHhmY2UgZ3RrLWRvYworCitFWFRSQV9PRUNPTkYgKz0gIlBFUkw9JHtTVEFHSU5HX0RJUl9UQVJHRVR9L3Vzci9iaW4vcGVybCIKKworU1JDX1VSSVttZDVzdW1dID0gIjhlYmZhYzUwN2I0ZDZjZTNmNGJhYzlkMjU3YzI4NTNiIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjk5MTBlYWVhODQwNTMzNjQxNWQ0ZDdmMzA1NjQwM2Y4YzY3YmMyM2JhMGRjZTI1MWVhYzM1MjA1YzYwM2IxNTYiCisKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0veGZjZTQveGZjb25mL3hmY29uZmQgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGJ1cy0xL3NlcnZpY2VzL29yZy54ZmNlLlhmY29uZi5zZXJ2aWNlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmZGVza3RvcC94ZmRlc2t0b3BfNC4xMi4zLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmZGVza3RvcC94ZmRlc2t0b3BfNC4xMi4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFmNGI2Y2EKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZkZXNrdG9wL3hmZGVza3RvcF80LjEyLjMuYmIKQEAgLTAsMCArMSwxNSBAQAorU1VNTUFSWSA9ICJYZmNlNCBEZXNrdG9wIE1hbmFnZXIiCitTRUNUSU9OID0gIngxMS9iYXNlIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorREVQRU5EUyA9ICJnbGliLTIuMCBndGsrIGxpYnhmY2U0dXRpbCBsaWJ4ZmNlNHVpIGxpYnduY2sgeGZjb25mIGRidXMtZ2xpYiB0aHVuYXIgZ2FyY29uIGV4byIKKworaW5oZXJpdCB4ZmNlCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJjYjM0ZjRmMzMzZDdkMTIyZjE2ODhkMmYxNTUyMDJjOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhOGE4ZDkzNzQ0ZDg0MmNhNmFjMWY5YmQyYzg3ODllZTE3ODkzN2JjYTdlMTcwZTUyMzljYmRiZWYzMDUyMGFjIgorCitQQUNLQUdFQ09ORklHID8/PSAiIgorUEFDS0FHRUNPTkZJR1tub3RpZnldID0gIi0tZW5hYmxlLW5vdGlmaWNhdGlvbnMsLS1kaXNhYmxlLW5vdGlmaWNhdGlvbnMsbGlibm90aWZ5IgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9iYWNrZ3JvdW5kcyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZndtNC9maWxlcy8wMDAxLWRvbi10LWJsb2NrLWRpc3BsYXktZXZlbnRzLXdoZW4tdGltZS1pcy1zZXQtYmFja3dhcmQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZ3bTQvZmlsZXMvMDAwMS1kb24tdC1ibG9jay1kaXNwbGF5LWV2ZW50cy13aGVuLXRpbWUtaXMtc2V0LWJhY2t3YXJkLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA4ZmQ3NmIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZ3bTQvZmlsZXMvMDAwMS1kb24tdC1ibG9jay1kaXNwbGF5LWV2ZW50cy13aGVuLXRpbWUtaXMtc2V0LWJhY2t3YXJkLnBhdGNoCkBAIC0wLDAgKzEsMzMgQEAKK0Zyb20gZTg3OTc3Njk2ZjAzYjBjOWY3Mjg4NGY4ZTNlM2VjMzI0OGRmZDgwYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KK0RhdGU6IFR1ZSwgMTggSnVuIDIwMTMgMTI6NDY6NDIgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gZG9uJ3QgYmxvY2sgZGlzcGxheSBldmVudHMgd2hlbiB0aW1lIGlzIHNldCBiYWNrd2FyZHMKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgWzFdCisKK1sxXSBodHRwczovL2J1Z3ppbGxhLnhmY2Uub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDE4NAorCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CistLS0KKyBzcmMvZGlzcGxheS5jIHwgICAgMiArLQorIDEgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2Rpc3BsYXkuYyBiL3NyYy9kaXNwbGF5LmMKK2luZGV4IDAwMzE4ZDUuLjY1MWJjN2EgMTAwNjQ0CistLS0gYS9zcmMvZGlzcGxheS5jCisrKysgYi9zcmMvZGlzcGxheS5jCitAQCAtNzMzLDcgKzczMyw3IEBAIG15RGlzcGxheVVwZGF0ZUN1cnJlbnRUaW1lIChEaXNwbGF5SW5mbyAqZGlzcGxheSwgWEV2ZW50ICpldikKKyAgICAgICAgICAgICBicmVhazsKKyAgICAgfQorIAorLSAgICBpZiAoKHRpbWVzdGFtcCAhPSAoZ3VpbnQzMikgQ3VycmVudFRpbWUpICYmIFRJTUVTVEFNUF9JU19CRUZPUkUoZGlzcGxheS0+Y3VycmVudF90aW1lLCB0aW1lc3RhbXApKQorKyAgICBpZiAoKHRpbWVzdGFtcCAhPSAoZ3VpbnQzMikgQ3VycmVudFRpbWUpIC8qJiYgVElNRVNUQU1QX0lTX0JFRk9SRShkaXNwbGF5LT5jdXJyZW50X3RpbWUsIHRpbWVzdGFtcCkqLykKKyAgICAgeworICAgICAgICAgZGlzcGxheS0+Y3VycmVudF90aW1lID0gdGltZXN0YW1wOworICAgICB9CistLSAKKzEuNy42LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmd200L3hmd200XzQuMTIuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZndtNC94ZndtNF80LjEyLjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDFkYWEwMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZndtNC94ZndtNF80LjEyLjMuYmIKQEAgLTAsMCArMSwyOSBAQAorREVTQ1JJUFRJT049IlhmY2U0IFdpbmRvdyBNYW5hZ2VyIgorU0VDVElPTiA9ICJ4MTEvd20iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDc5MTcyOGEwNzNiYzAwOWI0ZmZhZjAwYjc1OTk4NTUiCitERVBFTkRTID0gInZpcnR1YWwvbGlieDExIGxpYnhwbSBndGsrIGxpYnhmY2U0dXRpbCBsaWJ4ZmNlNHVpIHhmY29uZiBsaWJ3bmNrIGRidXMtZ2xpYiBzdGFydHVwLW5vdGlmaWNhdGlvbiBleG8tbmF0aXZlIgorCitpbmhlcml0IHhmY2UgdXBkYXRlLWFsdGVybmF0aXZlcworCitTUkNfVVJJICs9ICJmaWxlOi8vMDAwMS1kb24tdC1ibG9jay1kaXNwbGF5LWV2ZW50cy13aGVuLXRpbWUtaXMtc2V0LWJhY2t3YXJkLnBhdGNoIgorU1JDX1VSSVttZDVzdW1dID0gIjE5N2VmMDg3Y2E2YTI2MzYyN2YxYmVhNmQ1YTc5ZDZmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImY0YTk4OGZiYzRlMGRmN2U4NTgzYzc4MWQyNzE1NTllNTZmZDI4Njk2MDkyZjk0YWUwNTJlOWU2ZWRiMDllYWMiCisKK3B5dGhvbiBwb3B1bGF0ZV9wYWNrYWdlc19wcmVwZW5kICgpIHsKKyAgICB0aGVtZWRpciA9IGQuZXhwYW5kKCcke2RhdGFkaXJ9L3RoZW1lcycpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgdGhlbWVkaXIsICdeKC4qKScsICd4ZndtNC10aGVtZS0lcycsICdYRldNNCB0aGVtZSAlcycsIGFsbG93X2RpcnM9VHJ1ZSkKK30KKworUEFDS0FHRVNfRFlOQU1JQyArPSAiXnhmd200LXRoZW1lLS4qIgorCitBTFRFUk5BVElWRV8ke1BOfSA9ICJ4LXdpbmRvdy1tYW5hZ2VyIgorQUxURVJOQVRJVkVfVEFSR0VUW3gtd2luZG93LW1hbmFnZXJdID0gIiR7YmluZGlyfS94ZndtNCIKK0FMVEVSTkFUSVZFX1BSSU9SSVRZW3gtd2luZG93LW1hbmFnZXJdID0gIjMwIgorCitSREVQRU5EU18ke1BOfSA9ICJ4ZndtNC10aGVtZS1kZWZhdWx0IgorRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS94ZmNlNC94ZndtNC9oZWxwZXItZGlhbG9nIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3hmd200L2RlZmF1bHRzIFwKKyIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJleGVjZGlyfS94ZmNlNC94ZndtNC8uZGVidWcvKiIKKwo=