<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>168017</bug_id>
          
          <creation_ts>2017-02-08 13:43:28 -0800</creation_ts>
          <short_desc>Fix libwebrtc build on iOS simulator</short_desc>
          <delta_ts>2017-02-08 14:52:04 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1274544</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-02-08 13:43:28 -0800</bug_when>
    <thetext>Fix libwebrtc build on iOS simulator</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1274545</commentid>
    <comment_count>1</comment_count>
      <attachid>300956</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-02-08 13:47:57 -0800</bug_when>
    <thetext>Created attachment 300956
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1274547</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-08 13:50:00 -0800</bug_when>
    <thetext>Attachment 300956 did not pass style-queue:


ERROR: Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/audio_device_ios.mm:107:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/audio_device_ios.mm:137:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/audio_device_ios.mm:138:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/audio_device_ios.mm:270:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/audio_device_ios.mm:297:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/audio_device_ios.mm:488:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/audio_device_ios.mm:494:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/audio_device_ios.mm:524:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/audio_device_ios.mm:594:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/audio_device_ios.mm:603:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/audio_device_ios.mm:604:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/audio_device_ios.mm:764:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/audio_device_ios.mm:779:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/audio_device_ios.mm:795:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/audio_device_ios.mm:832:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/audio_device_ios.h:291:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/audio_device_ios.h:291:  audio_session_observer_ is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/objc/RTCAudioSessionConfiguration.m:109:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/objc/RTCAudioSessionConfiguration.m:110:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/objc/RTCAudioSessionConfiguration.m:111:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/objc/RTCAudioSession.mm:49:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/objc/RTCAudioSession.mm:99:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/objc/RTCAudioSession.mm:632:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/objc/RTCAudioSession.mm:675:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/objc/RTCAudioSession.mm:676:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 25 in 14 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1274574</commentid>
    <comment_count>3</comment_count>
      <attachid>300956</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2017-02-08 14:26:48 -0800</bug_when>
    <thetext>Comment on attachment 300956
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=300956&amp;action=review

&gt; Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_device/ios/objc/RTCAudioSessionConfiguration.h:23
&gt;  

You probably want to figure out how to rename the files too.

&gt; Source/ThirdParty/libwebrtc/libwebrtc.xcodeproj/project.pbxproj:2483
&gt; +		5CFD53821E4BA4F500482908 /* voice_processing_audio_unit.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5CFD537B1E4BA4F500482908 /* voice_processing_audio_unit.mm */; settings = {COMPILER_FLAGS = &quot;-fobjc-arc&quot;; }; };

Someday we should get the whole thing ARCified so you don&apos;t have to do this on a per-file basis.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1274576</commentid>
    <comment_count>4</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-02-08 14:28:39 -0800</bug_when>
    <thetext>http://trac.webkit.org/r211902</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1274585</commentid>
    <comment_count>5</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-02-08 14:52:04 -0800</bug_when>
    <thetext>&quot;Followup&quot; in http://trac.webkit.org/r211903</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>300956</attachid>
            <date>2017-02-08 13:47:57 -0800</date>
            <delta_ts>2017-02-08 14:26:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-168017-20170208134533.patch</filename>
            <type>text/plain</type>
            <size>40938</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9DaGFuZ2VMb2cKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NoYW5nZUxvZwkocmV2aXNpb24gMjExODk4
KQorKysgU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDI4IEBACisyMDE3LTAyLTA4ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlz
dGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgRml4IGxpYndlYnJ0YyBidWlsZCBvbiBpT1Mg
c2ltdWxhdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNjgwMTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIENvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy54Y2NvbmZpZzoKKyAgICAgICAgKiBDb25maWd1
cmF0aW9ucy9saWJ3ZWJydGNwY3J0Yy54Y2NvbmZpZzoKKyAgICAgICAgVXNlICQoaW5oZXJpdGVk
KQorICAgICAgICAqIFNvdXJjZS93ZWJydGMvbW9kdWxlcy9hdWRpb19kZXZpY2UvaW9zL2F1ZGlv
X2RldmljZV9pb3MuaDoKKyAgICAgICAgKiBTb3VyY2Uvd2VicnRjL21vZHVsZXMvYXVkaW9fZGV2
aWNlL2lvcy9hdWRpb19kZXZpY2VfaW9zLm1tOgorICAgICAgICAqIFNvdXJjZS93ZWJydGMvbW9k
dWxlcy9hdWRpb19kZXZpY2UvaW9zL29iamMvUlRDQXVkaW9TZXNzaW9uK0NvbmZpZ3VyYXRpb24u
bW06CisgICAgICAgICogU291cmNlL3dlYnJ0Yy9tb2R1bGVzL2F1ZGlvX2RldmljZS9pb3Mvb2Jq
Yy9SVENBdWRpb1Nlc3Npb24rUHJpdmF0ZS5oOgorICAgICAgICAqIFNvdXJjZS93ZWJydGMvbW9k
dWxlcy9hdWRpb19kZXZpY2UvaW9zL29iamMvUlRDQXVkaW9TZXNzaW9uLmg6CisgICAgICAgICog
U291cmNlL3dlYnJ0Yy9tb2R1bGVzL2F1ZGlvX2RldmljZS9pb3Mvb2JqYy9SVENBdWRpb1Nlc3Np
b24ubW06CisgICAgICAgICogU291cmNlL3dlYnJ0Yy9tb2R1bGVzL2F1ZGlvX2RldmljZS9pb3Mv
b2JqYy9SVENBdWRpb1Nlc3Npb25Db25maWd1cmF0aW9uLmg6CisgICAgICAgICogU291cmNlL3dl
YnJ0Yy9tb2R1bGVzL2F1ZGlvX2RldmljZS9pb3Mvb2JqYy9SVENBdWRpb1Nlc3Npb25Db25maWd1
cmF0aW9uLm06CisgICAgICAgICogU291cmNlL3dlYnJ0Yy9tb2R1bGVzL2F1ZGlvX2RldmljZS9p
b3Mvb2JqYy9SVENBdWRpb1Nlc3Npb25EZWxlZ2F0ZUFkYXB0ZXIuaDoKKyAgICAgICAgKiBTb3Vy
Y2Uvd2VicnRjL21vZHVsZXMvYXVkaW9fZGV2aWNlL2lvcy9vYmpjL1JUQ0F1ZGlvU2Vzc2lvbkRl
bGVnYXRlQWRhcHRlci5tbToKKyAgICAgICAgUmVuYW1lZCBSVENBdWRpb1Nlc3Npb24qIHRvIFdl
YlJUQ0F1ZGlvU2Vzc2lvbiogc28gdGhhdCBhbGwgT2JqQyBjbGFzc2VzIGluIFdlYkNvcmUgc3Rh
cnQgd2l0aCBXZWIgcHJlZml4LgorICAgICAgICAqIGxpYndlYnJ0Yy54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICBBZGQgbmVjZXNzYXJ5IGZpbGVzLiAgU29tZSBpT1Mtc3BlY2lm
aWMgZmlsZXMgbmVlZCBBUkMsIAorICAgICAgICBhbmQgdGhpcyBtYXRjaGVzIHRoZSBCdWlsZC5n
biBpbiBTb3VyY2Uvd2VicnRjL21vZHVsZXMvYXVkaW9fZGV2aWNlCisKIDIwMTctMDItMDggIEFs
ZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBGaXgg
aU9TIGxpYndlYnJ0YyBidWlsZApJbmRleDogU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0Nv
bmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvbGlid2VicnRjLnhjY29uZmlnCShyZXZp
c2lvbiAyMTE4ODgpCisrKyBTb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlv
bnMvbGlid2VicnRjLnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC0xMywxMSArMTMsMTEgQEAg
UFVCTElDX0hFQURFUlNfRk9MREVSX1BBVEggPSAvdXNyL2xvY2FsLwogVVNFX0hFQURFUk1BUCA9
IE5POwogV0FSTklOR19DRkxBR1MgPSAtV25vLWV4aXQtdGltZS1kZXN0cnVjdG9ycyAtV25vLW9i
amMtcHJvcGVydHktbm8tYXR0cmlidXRlIC1Xbm8tb2JqYy1taXNzaW5nLXN1cGVyLWNhbGxzIC1X
bm8tZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnM7CiAKLUJBU0VfUFJFUFJPQ0VTU09SX0RFRklOSVRJ
T05TID0gV0VCUlRDX1BPU0lYIFdFQlJUQ19NQUMgU1NMX1VTRV9PUEVOU1NMIEZFQVRVUkVfRU5B
QkxFX1NTTCBIQVZFX1NSVFAgSEFWRV9PUEVOU1NMX1NTTF9IIFNDVFBfUFJPQ0VTU19MRVZFTF9M
T0NLUyBTQ1RQX1NJTVBMRV9BTExPQ0FUT1IgU0NUUF9VU0VfT1BFTlNTTF9TSEExIF9fVXNlcnNw
YWNlX18gSEFWRV9TQV9MRU4gSEFWRV9TQ09OTl9MRU4gX19BUFBMRV9VU0VfUkZDXzIyOTIgX19V
c2Vyc3BhY2Vfb3NfRGFyd2luIE5PTl9XSU5ET1dTX0RFRklORSBIQVZFX1dFQlJUQ19WSURFTyBI
QVZFX1dFQlJUQ19WT0lDRSBXRUJSVENfSU5URUxMSUdJQklMSVRZX0VOSEFOQ0VSPTAgV0VCUlRD
X0FQTV9ERUJVR19EVU1QPTAgV0VCUlRDX05TX0ZMT0FUIFdFQlJUQ19DT0RFQ19JTEJDIFdFQlJU
Q19DT0RFQ19PUFVTIFdFQlJUQ19DT0RFQ19JU0FDIFdFQlJUQ19DT0RFQ19SRUQgUlRDX0RJU0FC
TEVfVlA5IFJUQ19ESVNBQkxFX1ZQOCBIQVZFX1NURElOVF9IIEhBVkVfU1RETElCX0ggSEFWRV9V
SU5UNjRfVCBPUEVOU1NMIEhBVkVfQ09ORklHX0ggV0VCUlRDX1dFQktJVF9CVUlMRCBIQVZFX1BU
SFJFQURfQ09ORF9USU1FRFdBSVRfUkVMQVRJVkUgV0VCUlRDX0lOQ0xVREVfSU5URVJOQUxfQVVE
SU9fREVWSUNFIEhBVkVfU0NUUDsKK0dDQ19QUkVQUk9DRVNTT1JfREVGSU5JVElPTlMgPSBXRUJS
VENfUE9TSVggV0VCUlRDX01BQyBTU0xfVVNFX09QRU5TU0wgRkVBVFVSRV9FTkFCTEVfU1NMIEhB
VkVfU1JUUCBIQVZFX09QRU5TU0xfU1NMX0ggU0NUUF9QUk9DRVNTX0xFVkVMX0xPQ0tTIFNDVFBf
U0lNUExFX0FMTE9DQVRPUiBTQ1RQX1VTRV9PUEVOU1NMX1NIQTEgX19Vc2Vyc3BhY2VfXyBIQVZF
X1NBX0xFTiBIQVZFX1NDT05OX0xFTiBfX0FQUExFX1VTRV9SRkNfMjI5MiBfX1VzZXJzcGFjZV9v
c19EYXJ3aW4gTk9OX1dJTkRPV1NfREVGSU5FIEhBVkVfV0VCUlRDX1ZJREVPIEhBVkVfV0VCUlRD
X1ZPSUNFIFdFQlJUQ19JTlRFTExJR0lCSUxJVFlfRU5IQU5DRVI9MCBXRUJSVENfQVBNX0RFQlVH
X0RVTVA9MCBXRUJSVENfTlNfRkxPQVQgV0VCUlRDX0NPREVDX0lMQkMgV0VCUlRDX0NPREVDX09Q
VVMgV0VCUlRDX0NPREVDX0lTQUMgV0VCUlRDX0NPREVDX1JFRCBSVENfRElTQUJMRV9WUDkgUlRD
X0RJU0FCTEVfVlA4IEhBVkVfU1RESU5UX0ggSEFWRV9TVERMSUJfSCBIQVZFX1VJTlQ2NF9UIE9Q
RU5TU0wgSEFWRV9DT05GSUdfSCBXRUJSVENfV0VCS0lUX0JVSUxEIEhBVkVfUFRIUkVBRF9DT05E
X1RJTUVEV0FJVF9SRUxBVElWRSBXRUJSVENfSU5DTFVERV9JTlRFUk5BTF9BVURJT19ERVZJQ0Ug
SEFWRV9TQ1RQOwogCi1HQ0NfUFJFUFJPQ0VTU09SX0RFRklOSVRJT05TW3Nkaz1tYWNvc3gqXSA9
ICQoQkFTRV9QUkVQUk9DRVNTT1JfREVGSU5JVElPTlMpOwotR0NDX1BSRVBST0NFU1NPUl9ERUZJ
TklUSU9OU1tzZGs9aXBob25lb3MqXSA9ICQoQkFTRV9QUkVQUk9DRVNTT1JfREVGSU5JVElPTlMp
IFdFQlJUQ19JT1M7Ci1HQ0NfUFJFUFJPQ0VTU09SX0RFRklOSVRJT05TW3Nkaz1pcGhvbmVzaW11
bGF0b3IqXSA9ICQoQkFTRV9QUkVQUk9DRVNTT1JfREVGSU5JVElPTlMpIFdFQlJUQ19JT1M7CitH
Q0NfUFJFUFJPQ0VTU09SX0RFRklOSVRJT05TW3Nkaz1tYWNvc3gqXSA9ICQoaW5oZXJpdGVkKTsK
K0dDQ19QUkVQUk9DRVNTT1JfREVGSU5JVElPTlNbc2RrPWlwaG9uZW9zKl0gPSAkKGluaGVyaXRl
ZCkgV0VCUlRDX0lPUzsKK0dDQ19QUkVQUk9DRVNTT1JfREVGSU5JVElPTlNbc2RrPWlwaG9uZXNp
bXVsYXRvcipdID0gJChpbmhlcml0ZWQpIFdFQlJUQ19JT1M7CiAKIEVYQ0xVREVEX1NPVVJDRV9G
SUxFX05BTUVTW3Nkaz1pcGhvbmVvcypdID0gKl9zc2UuY2MgKl9zc2UyLmNjIG1hY3V0aWxzLmNj
IG1hY3dpbmRvd3BpY2tlci5jYyBhdWRpb19kZXZpY2VfbWFjLmNjOwogRVhDTFVERURfU09VUkNF
X0ZJTEVfTkFNRVNbc2RrPWlwaG9uZXNpbXVsYXRvcipdID0gbWFjdXRpbHMuY2MgbWFjd2luZG93
cGlja2VyLmNjIGF1ZGlvX2RldmljZV9tYWMuY2M7CkluZGV4OiBTb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvbGlid2VicnRjcGNydGMueGNjb25maWcKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0
Y3BjcnRjLnhjY29uZmlnCShyZXZpc2lvbiAyMTE4ODgpCisrKyBTb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvbGlid2VicnRjcGNydGMueGNjb25maWcJKHdvcmtpbmcg
Y29weSkKQEAgLTEzLDggKzEzLDggQEAgUFVCTElDX0hFQURFUlNfRk9MREVSX1BBVEggPSAvdXNy
L2xvY2FsLwogVVNFX0hFQURFUk1BUCA9IE5POwogV0FSTklOR19DRkxBR1MgPSAtV25vLWV4aXQt
dGltZS1kZXN0cnVjdG9ycyAtV25vLW9iamMtcHJvcGVydHktbm8tYXR0cmlidXRlIC1Xbm8tb2Jq
Yy1taXNzaW5nLXN1cGVyLWNhbGxzOwogCi1CQVNFX1BSRVBST0NFU1NPUl9ERUZJTklUSU9OUyA9
IFdFQlJUQ19QT1NJWCBXRUJSVENfTUFDIFNTTF9VU0VfT1BFTlNTTCBGRUFUVVJFX0VOQUJMRV9T
U0wgSEFWRV9TUlRQIEhBVkVfT1BFTlNTTF9TU0xfSCBTQ1RQX1BST0NFU1NfTEVWRUxfTE9DS1Mg
U0NUUF9TSU1QTEVfQUxMT0NBVE9SIFNDVFBfVVNFX09QRU5TU0xfU0hBMSBfX1VzZXJzcGFjZV9f
IEhBVkVfU0FfTEVOIEhBVkVfU0NPTk5fTEVOIF9fQVBQTEVfVVNFX1JGQ18yMjkyIF9fVXNlcnNw
YWNlX29zX0RhcndpbiBOT05fV0lORE9XU19ERUZJTkUgSEFWRV9XRUJSVENfVklERU8gSEFWRV9X
RUJSVENfVk9JQ0UgV0VCUlRDX0lOVEVMTElHSUJJTElUWV9FTkhBTkNFUj0wIFdFQlJUQ19BUE1f
REVCVUdfRFVNUD0wIFdFQlJUQ19OU19GTE9BVCBXRUJSVENfQ09ERUNfSUxCQyBXRUJSVENfQ09E
RUNfT1BVUyBXRUJSVENfQ09ERUNfSVNBQyBXRUJSVENfQ09ERUNfUkVEIFJUQ19ESVNBQkxFX1ZQ
OSBSVENfRElTQUJMRV9WUDggSEFWRV9TVERJTlRfSCBIQVZFX1NURExJQl9IIEhBVkVfVUlOVDY0
X1QgT1BFTlNTTCBIQVZFX0NPTkZJR19IIFdFQlJUQ19XRUJLSVRfQlVJTEQgSEFWRV9QVEhSRUFE
X0NPTkRfVElNRURXQUlUX1JFTEFUSVZFIFdFQlJUQ19JTkNMVURFX0lOVEVSTkFMX0FVRElPX0RF
VklDRSBIQVZFX1NDVFA7CitHQ0NfUFJFUFJPQ0VTU09SX0RFRklOSVRJT05TID0gV0VCUlRDX1BP
U0lYIFdFQlJUQ19NQUMgU1NMX1VTRV9PUEVOU1NMIEZFQVRVUkVfRU5BQkxFX1NTTCBIQVZFX1NS
VFAgSEFWRV9PUEVOU1NMX1NTTF9IIFNDVFBfUFJPQ0VTU19MRVZFTF9MT0NLUyBTQ1RQX1NJTVBM
RV9BTExPQ0FUT1IgU0NUUF9VU0VfT1BFTlNTTF9TSEExIF9fVXNlcnNwYWNlX18gSEFWRV9TQV9M
RU4gSEFWRV9TQ09OTl9MRU4gX19BUFBMRV9VU0VfUkZDXzIyOTIgX19Vc2Vyc3BhY2Vfb3NfRGFy
d2luIE5PTl9XSU5ET1dTX0RFRklORSBIQVZFX1dFQlJUQ19WSURFTyBIQVZFX1dFQlJUQ19WT0lD
RSBXRUJSVENfSU5URUxMSUdJQklMSVRZX0VOSEFOQ0VSPTAgV0VCUlRDX0FQTV9ERUJVR19EVU1Q
PTAgV0VCUlRDX05TX0ZMT0FUIFdFQlJUQ19DT0RFQ19JTEJDIFdFQlJUQ19DT0RFQ19PUFVTIFdF
QlJUQ19DT0RFQ19JU0FDIFdFQlJUQ19DT0RFQ19SRUQgUlRDX0RJU0FCTEVfVlA5IFJUQ19ESVNB
QkxFX1ZQOCBIQVZFX1NURElOVF9IIEhBVkVfU1RETElCX0ggSEFWRV9VSU5UNjRfVCBPUEVOU1NM
IEhBVkVfQ09ORklHX0ggV0VCUlRDX1dFQktJVF9CVUlMRCBIQVZFX1BUSFJFQURfQ09ORF9USU1F
RFdBSVRfUkVMQVRJVkUgV0VCUlRDX0lOQ0xVREVfSU5URVJOQUxfQVVESU9fREVWSUNFIEhBVkVf
U0NUUDsKIAotR0NDX1BSRVBST0NFU1NPUl9ERUZJTklUSU9OU1tzZGs9bWFjb3N4Kl0gPSAkKEJB
U0VfUFJFUFJPQ0VTU09SX0RFRklOSVRJT05TKTsKLUdDQ19QUkVQUk9DRVNTT1JfREVGSU5JVElP
TlNbc2RrPWlwaG9uZW9zKl0gPSAkKEJBU0VfUFJFUFJPQ0VTU09SX0RFRklOSVRJT05TKSBXRUJS
VENfSU9TOwotR0NDX1BSRVBST0NFU1NPUl9ERUZJTklUSU9OU1tzZGs9aXBob25lc2ltdWxhdG9y
Kl0gPSAkKEJBU0VfUFJFUFJPQ0VTU09SX0RFRklOSVRJT05TKSBXRUJSVENfSU9TOworR0NDX1BS
RVBST0NFU1NPUl9ERUZJTklUSU9OU1tzZGs9bWFjb3N4Kl0gPSAkKGluaGVyaXRlZCk7CitHQ0Nf
UFJFUFJPQ0VTU09SX0RFRklOSVRJT05TW3Nkaz1pcGhvbmVvcypdID0gJChpbmhlcml0ZWQpIFdF
QlJUQ19JT1M7CitHQ0NfUFJFUFJPQ0VTU09SX0RFRklOSVRJT05TW3Nkaz1pcGhvbmVzaW11bGF0
b3IqXSA9ICQoaW5oZXJpdGVkKSBXRUJSVENfSU9TOwpJbmRleDogU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS93ZWJydGMvbW9kdWxlcy9hdWRpb19kZXZpY2UvaW9zL2F1ZGlvX2Rl
dmljZV9pb3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3dlYnJ0Yy9tb2R1bGVzL2F1ZGlvX2RldmljZS9pb3MvYXVkaW9fZGV2aWNlX2lvcy5oCShy
ZXZpc2lvbiAyMTE4NDkpCisrKyBTb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dl
YnJ0Yy9tb2R1bGVzL2F1ZGlvX2RldmljZS9pb3MvYXVkaW9fZGV2aWNlX2lvcy5oCSh3b3JraW5n
IGNvcHkpCkBAIC0yMCw3ICsyMCw3IEBACiAjaW5jbHVkZSAid2VicnRjL21vZHVsZXMvYXVkaW9f
ZGV2aWNlL2lvcy9hdWRpb19zZXNzaW9uX29ic2VydmVyLmgiCiAjaW5jbHVkZSAid2VicnRjL21v
ZHVsZXMvYXVkaW9fZGV2aWNlL2lvcy92b2ljZV9wcm9jZXNzaW5nX2F1ZGlvX3VuaXQuaCIKIAot
UlRDX0ZXRF9ERUNMX09CSkNfQ0xBU1MoUlRDQXVkaW9TZXNzaW9uRGVsZWdhdGVBZGFwdGVyKTsK
K1JUQ19GV0RfREVDTF9PQkpDX0NMQVNTKFdlYlJUQ0F1ZGlvU2Vzc2lvbkRlbGVnYXRlQWRhcHRl
cik7CiAKIG5hbWVzcGFjZSB3ZWJydGMgewogCkBAIC0yODgsNyArMjg4LDcgQEAgY2xhc3MgQXVk
aW9EZXZpY2VJT1MgOiBwdWJsaWMgQXVkaW9EZXZpYwogICBib29sIGlzX2ludGVycnVwdGVkXzsK
IAogICAvLyBBdWRpbyBpbnRlcnJ1cHRpb24gb2JzZXJ2ZXIgaW5zdGFuY2UuCi0gIFJUQ0F1ZGlv
U2Vzc2lvbkRlbGVnYXRlQWRhcHRlciogYXVkaW9fc2Vzc2lvbl9vYnNlcnZlcl87CisgIFdlYlJU
Q0F1ZGlvU2Vzc2lvbkRlbGVnYXRlQWRhcHRlciogYXVkaW9fc2Vzc2lvbl9vYnNlcnZlcl87CiAK
ICAgLy8gU2V0IHRvIHRydWUgaWYgd2UndmUgYWN0aXZhdGVkIHRoZSBhdWRpbyBzZXNzaW9uLgog
ICBib29sIGhhc19jb25maWd1cmVkX3Nlc3Npb25fOwpJbmRleDogU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS93ZWJydGMvbW9kdWxlcy9hdWRpb19kZXZpY2UvaW9zL2F1ZGlvX2Rl
dmljZV9pb3MubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS93ZWJydGMvbW9kdWxlcy9hdWRpb19kZXZpY2UvaW9zL2F1ZGlvX2RldmljZV9pb3MubW0J
KHJldmlzaW9uIDIxMTg0OSkKKysrIFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
d2VicnRjL21vZHVsZXMvYXVkaW9fZGV2aWNlL2lvcy9hdWRpb19kZXZpY2VfaW9zLm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMDQsNyArMTA0LDcgQEAgQXVkaW9EZXZpY2VJT1M6OkF1ZGlvRGV2aWNl
SU9TKCkKICAgTE9HSSgpIDw8ICJjdG9yIiA8PCBpb3M6OkdldEN1cnJlbnRUaHJlYWREZXNjcmlw
dGlvbigpOwogICB0aHJlYWRfID0gcnRjOjpUaHJlYWQ6OkN1cnJlbnQoKTsKICAgYXVkaW9fc2Vz
c2lvbl9vYnNlcnZlcl8gPQotICAgICAgW1tSVENBdWRpb1Nlc3Npb25EZWxlZ2F0ZUFkYXB0ZXIg
YWxsb2NdIGluaXRXaXRoT2JzZXJ2ZXI6dGhpc107CisgICAgICBbW1dlYlJUQ0F1ZGlvU2Vzc2lv
bkRlbGVnYXRlQWRhcHRlciBhbGxvY10gaW5pdFdpdGhPYnNlcnZlcjp0aGlzXTsKIH0KIAogQXVk
aW9EZXZpY2VJT1M6On5BdWRpb0RldmljZUlPUygpIHsKQEAgLTEzNCw4ICsxMzQsOCBAQCBBdWRp
b0RldmljZUdlbmVyaWM6OkluaXRTdGF0dXMgQXVkaW9EZXZpCiAgIC8vIGhlcmUuIFRoZXkgaGF2
ZSBub3QgYmVlbiBzZXQgYW5kIGNvbmZpcm1lZCB5ZXQgc2luY2UgY29uZmlndXJlRm9yV2ViUlRD
CiAgIC8vIGlzIG5vdCBjYWxsZWQgdW50aWwgYXVkaW8gaXMgYWJvdXQgdG8gc3RhcnQuIEhvd2V2
ZXIsIGl0IG1ha2VzIHNlbnNlIHRvCiAgIC8vIHN0b3JlIHRoZSBwYXJhbWV0ZXJzIG5vdyBhbmQg
dGhlbiB2ZXJpZnkgYXQgYSBsYXRlciBzdGFnZS4KLSAgUlRDQXVkaW9TZXNzaW9uQ29uZmlndXJh
dGlvbiogY29uZmlnID0KLSAgICAgIFtSVENBdWRpb1Nlc3Npb25Db25maWd1cmF0aW9uIHdlYlJU
Q0NvbmZpZ3VyYXRpb25dOworICBXZWJSVENBdWRpb1Nlc3Npb25Db25maWd1cmF0aW9uKiBjb25m
aWcgPQorICAgICAgW1dlYlJUQ0F1ZGlvU2Vzc2lvbkNvbmZpZ3VyYXRpb24gd2ViUlRDQ29uZmln
dXJhdGlvbl07CiAgIHBsYXlvdXRfcGFyYW1ldGVyc18ucmVzZXQoY29uZmlnLnNhbXBsZVJhdGUs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnLm91dHB1dE51bWJlck9mQ2hhbm5l
bHMpOwogICByZWNvcmRfcGFyYW1ldGVyc18ucmVzZXQoY29uZmlnLnNhbXBsZVJhdGUsCkBAIC0y
NjcsNyArMjY3LDcgQEAgaW50MzJfdCBBdWRpb0RldmljZUlPUzo6U3RvcFJlY29yZGluZygpIAog
aW50MzJfdCBBdWRpb0RldmljZUlPUzo6U2V0TG91ZHNwZWFrZXJTdGF0dXMoYm9vbCBlbmFibGUp
IHsKICAgTE9HSSgpIDw8ICJTZXRMb3Vkc3BlYWtlclN0YXR1cygiIDw8IGVuYWJsZSA8PCAiKSI7
CiAKLSAgUlRDQXVkaW9TZXNzaW9uKiBzZXNzaW9uID0gW1JUQ0F1ZGlvU2Vzc2lvbiBzaGFyZWRJ
bnN0YW5jZV07CisgIFdlYlJUQ0F1ZGlvU2Vzc2lvbiogc2Vzc2lvbiA9IFtXZWJSVENBdWRpb1Nl
c3Npb24gc2hhcmVkSW5zdGFuY2VdOwogICBbc2Vzc2lvbiBsb2NrRm9yQ29uZmlndXJhdGlvbl07
CiAgIE5TU3RyaW5nKiBjYXRlZ29yeSA9IHNlc3Npb24uY2F0ZWdvcnk7CiAgIEFWQXVkaW9TZXNz
aW9uQ2F0ZWdvcnlPcHRpb25zIG9wdGlvbnMgPSBzZXNzaW9uLmNhdGVnb3J5T3B0aW9uczsKQEAg
LTI5NCw3ICsyOTQsNyBAQCBpbnQzMl90IEF1ZGlvRGV2aWNlSU9TOjpTZXRMb3Vkc3BlYWtlclN0
CiAKIGludDMyX3QgQXVkaW9EZXZpY2VJT1M6OkdldExvdWRzcGVha2VyU3RhdHVzKGJvb2wmIGVu
YWJsZWQpIGNvbnN0IHsKICAgTE9HSSgpIDw8ICJHZXRMb3Vkc3BlYWtlclN0YXR1cyI7Ci0gIFJU
Q0F1ZGlvU2Vzc2lvbiogc2Vzc2lvbiA9IFtSVENBdWRpb1Nlc3Npb24gc2hhcmVkSW5zdGFuY2Vd
OworICBXZWJSVENBdWRpb1Nlc3Npb24qIHNlc3Npb24gPSBbV2ViUlRDQXVkaW9TZXNzaW9uIHNo
YXJlZEluc3RhbmNlXTsKICAgQVZBdWRpb1Nlc3Npb25DYXRlZ29yeU9wdGlvbnMgb3B0aW9ucyA9
IHNlc3Npb24uY2F0ZWdvcnlPcHRpb25zOwogICBlbmFibGVkID0gb3B0aW9ucyAmIEFWQXVkaW9T
ZXNzaW9uQ2F0ZWdvcnlPcHRpb25EZWZhdWx0VG9TcGVha2VyOwogICByZXR1cm4gMDsKQEAgLTM2
OCw3ICszNjgsNyBAQCBPU1N0YXR1cyBBdWRpb0RldmljZUlPUzo6T25EZWxpdmVyUmVjb3JkCiAg
ICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDx1bnNpZ25lZCBpbnQ+KGZyYW1lc19wZXJfYnVm
ZmVyKSwKICAgICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PHVuc2lnbmVkIGludD4obnVtX2Zy
YW1lcykpOwogCi0gICAgUlRDQXVkaW9TZXNzaW9uICpzZXNzaW9uID0gW1JUQ0F1ZGlvU2Vzc2lv
biBzaGFyZWRJbnN0YW5jZV07CisgICAgV2ViUlRDQXVkaW9TZXNzaW9uICpzZXNzaW9uID0gW1dl
YlJUQ0F1ZGlvU2Vzc2lvbiBzaGFyZWRJbnN0YW5jZV07CiAgICAgUlRDTG9nV2FybmluZyhAIlNl
c3Npb246XG4gJUAiLCBzZXNzaW9uKTsKICAgICByZXR1cm4gcmVzdWx0OwogICB9CkBAIC00ODUs
MTMgKzQ4NSwxMyBAQCB2b2lkIEF1ZGlvRGV2aWNlSU9TOjpIYW5kbGVJbnRlcnJ1cHRpb25FCiAK
ICAgaXNfaW50ZXJydXB0ZWRfID0gZmFsc2U7CiAgIFJUQ0xvZyhAIkludGVycnVwdGlvbiBlbmRl
ZC4gVXBkYXRpbmcgYXVkaW8gdW5pdCBzdGF0ZS4iKTsKLSAgVXBkYXRlQXVkaW9Vbml0KFtSVENB
dWRpb1Nlc3Npb24gc2hhcmVkSW5zdGFuY2VdLmNhblBsYXlPclJlY29yZCk7CisgIFVwZGF0ZUF1
ZGlvVW5pdChbV2ViUlRDQXVkaW9TZXNzaW9uIHNoYXJlZEluc3RhbmNlXS5jYW5QbGF5T3JSZWNv
cmQpOwogfQogCiB2b2lkIEF1ZGlvRGV2aWNlSU9TOjpIYW5kbGVWYWxpZFJvdXRlQ2hhbmdlKCkg
ewogICBSVENfRENIRUNLKHRocmVhZF9jaGVja2VyXy5DYWxsZWRPblZhbGlkVGhyZWFkKCkpOwog
Ci0gIFJUQ0F1ZGlvU2Vzc2lvbiogc2Vzc2lvbiA9IFtSVENBdWRpb1Nlc3Npb24gc2hhcmVkSW5z
dGFuY2VdOworICBXZWJSVENBdWRpb1Nlc3Npb24qIHNlc3Npb24gPSBbV2ViUlRDQXVkaW9TZXNz
aW9uIHNoYXJlZEluc3RhbmNlXTsKICAgUlRDTG9nKEAiJUAiLCBzZXNzaW9uKTsKICAgSGFuZGxl
U2FtcGxlUmF0ZUNoYW5nZShzZXNzaW9uLnNhbXBsZVJhdGUpOwogfQpAQCAtNTIxLDcgKzUyMSw3
IEBAIHZvaWQgQXVkaW9EZXZpY2VJT1M6OkhhbmRsZVNhbXBsZVJhdGVDaGEKIAogICAvLyBUaGUg
YXVkaW8gdW5pdCBpcyBhbHJlYWR5IGluaXRpYWxpemVkIG9yIHN0YXJ0ZWQuCiAgIC8vIENoZWNr
IHRvIHNlZSBpZiB0aGUgc2FtcGxlIHJhdGUgb3IgYnVmZmVyIHNpemUgaGFzIGNoYW5nZWQuCi0g
IFJUQ0F1ZGlvU2Vzc2lvbiogc2Vzc2lvbiA9IFtSVENBdWRpb1Nlc3Npb24gc2hhcmVkSW5zdGFu
Y2VdOworICBXZWJSVENBdWRpb1Nlc3Npb24qIHNlc3Npb24gPSBbV2ViUlRDQXVkaW9TZXNzaW9u
IHNoYXJlZEluc3RhbmNlXTsKICAgY29uc3QgZG91YmxlIHNlc3Npb25fc2FtcGxlX3JhdGUgPSBz
ZXNzaW9uLnNhbXBsZVJhdGU7CiAgIGNvbnN0IE5TVGltZUludGVydmFsIHNlc3Npb25fYnVmZmVy
X2R1cmF0aW9uID0gc2Vzc2lvbi5JT0J1ZmZlckR1cmF0aW9uOwogICBjb25zdCBzaXplX3Qgc2Vz
c2lvbl9mcmFtZXNfcGVyX2J1ZmZlciA9CkBAIC01OTEsNyArNTkxLDcgQEAgdm9pZCBBdWRpb0Rl
dmljZUlPUzo6VXBkYXRlQXVkaW9EZXZpY2VCdQogdm9pZCBBdWRpb0RldmljZUlPUzo6U2V0dXBB
dWRpb0J1ZmZlcnNGb3JBY3RpdmVBdWRpb1Nlc3Npb24oKSB7CiAgIExPR0koKSA8PCAiU2V0dXBB
dWRpb0J1ZmZlcnNGb3JBY3RpdmVBdWRpb1Nlc3Npb24iOwogICAvLyBWZXJpZnkgdGhlIGN1cnJl
bnQgdmFsdWVzIG9uY2UgdGhlIGF1ZGlvIHNlc3Npb24gaGFzIGJlZW4gYWN0aXZhdGVkLgotICBS
VENBdWRpb1Nlc3Npb24qIHNlc3Npb24gPSBbUlRDQXVkaW9TZXNzaW9uIHNoYXJlZEluc3RhbmNl
XTsKKyAgV2ViUlRDQXVkaW9TZXNzaW9uKiBzZXNzaW9uID0gW1dlYlJUQ0F1ZGlvU2Vzc2lvbiBz
aGFyZWRJbnN0YW5jZV07CiAgIGRvdWJsZSBzYW1wbGVfcmF0ZSA9IHNlc3Npb24uc2FtcGxlUmF0
ZTsKICAgTlNUaW1lSW50ZXJ2YWwgaW9fYnVmZmVyX2R1cmF0aW9uID0gc2Vzc2lvbi5JT0J1ZmZl
ckR1cmF0aW9uOwogICBSVENMb2coQCIlQCIsIHNlc3Npb24pOwpAQCAtNjAwLDggKzYwMCw4IEBA
IHZvaWQgQXVkaW9EZXZpY2VJT1M6OlNldHVwQXVkaW9CdWZmZXJzRm8KICAgLy8gaGFyZHdhcmUg
c2FtcGxlIHJhdGUgYnV0IGNvbnRpbnVlIGFuZCB1c2UgdGhlIG5vbi1pZGVhbCBzYW1wbGUgcmF0
ZSBhZnRlcgogICAvLyByZWluaXRpYWxpemluZyB0aGUgYXVkaW8gcGFyYW1ldGVycy4gTW9zdCBC
VCBoZWFkc2V0cyBvbmx5IHN1cHBvcnQgOGtIeiBvcgogICAvLyAxNmtIei4KLSAgUlRDQXVkaW9T
ZXNzaW9uQ29uZmlndXJhdGlvbiogd2ViUlRDQ29uZmlnID0KLSAgICAgIFtSVENBdWRpb1Nlc3Np
b25Db25maWd1cmF0aW9uIHdlYlJUQ0NvbmZpZ3VyYXRpb25dOworICBXZWJSVENBdWRpb1Nlc3Np
b25Db25maWd1cmF0aW9uKiB3ZWJSVENDb25maWcgPQorICAgICAgW1dlYlJUQ0F1ZGlvU2Vzc2lv
bkNvbmZpZ3VyYXRpb24gd2ViUlRDQ29uZmlndXJhdGlvbl07CiAgIGlmIChzYW1wbGVfcmF0ZSAh
PSB3ZWJSVENDb25maWcuc2FtcGxlUmF0ZSkgewogICAgIExPRyhMU19XQVJOSU5HKSA8PCAiVW5h
YmxlIHRvIHNldCB0aGUgcHJlZmVycmVkIHNhbXBsZSByYXRlIjsKICAgfQpAQCAtNzMxLDcgKzcz
MSw3IEBAIHZvaWQgQXVkaW9EZXZpY2VJT1M6OlVwZGF0ZUF1ZGlvVW5pdChib28KICAgaWYgKHNo
b3VsZF9zdGFydF9hdWRpb191bml0KSB7CiAgICAgUlRDTG9nKEAiU3RhcnRpbmcgYXVkaW8gdW5p
dCBmb3IgVXBkYXRlQXVkaW9Vbml0Iik7CiAgICAgLy8gTG9nIHNlc3Npb24gc2V0dGluZ3MgYmVm
b3JlIHRyeWluZyB0byBzdGFydCBhdWRpbyBzdHJlYW1pbmcuCi0gICAgUlRDQXVkaW9TZXNzaW9u
KiBzZXNzaW9uID0gW1JUQ0F1ZGlvU2Vzc2lvbiBzaGFyZWRJbnN0YW5jZV07CisgICAgV2ViUlRD
QXVkaW9TZXNzaW9uKiBzZXNzaW9uID0gW1dlYlJUQ0F1ZGlvU2Vzc2lvbiBzaGFyZWRJbnN0YW5j
ZV07CiAgICAgUlRDTG9nKEAiJUAiLCBzZXNzaW9uKTsKICAgICBpZiAoIWF1ZGlvX3VuaXRfLT5T
dGFydCgpKSB7CiAgICAgICBSVENMb2dFcnJvcihAIkZhaWxlZCB0byBzdGFydCBhdWRpbyB1bml0
LiIpOwpAQCAtNzYxLDcgKzc2MSw3IEBAIHZvaWQgQXVkaW9EZXZpY2VJT1M6OkNvbmZpZ3VyZUF1
ZGlvU2Vzc2kKICAgICBSVENMb2dXYXJuaW5nKEAiQXVkaW8gc2Vzc2lvbiBhbHJlYWR5IGNvbmZp
Z3VyZWQuIik7CiAgICAgcmV0dXJuOwogICB9Ci0gIFJUQ0F1ZGlvU2Vzc2lvbiogc2Vzc2lvbiA9
IFtSVENBdWRpb1Nlc3Npb24gc2hhcmVkSW5zdGFuY2VdOworICBXZWJSVENBdWRpb1Nlc3Npb24q
IHNlc3Npb24gPSBbV2ViUlRDQXVkaW9TZXNzaW9uIHNoYXJlZEluc3RhbmNlXTsKICAgW3Nlc3Np
b24gbG9ja0ZvckNvbmZpZ3VyYXRpb25dOwogICBbc2Vzc2lvbiBjb25maWd1cmVXZWJSVENTZXNz
aW9uOm5pbF07CiAgIFtzZXNzaW9uIHVubG9ja0ZvckNvbmZpZ3VyYXRpb25dOwpAQCAtNzc2LDcg
Kzc3Niw3IEBAIHZvaWQgQXVkaW9EZXZpY2VJT1M6OlVuY29uZmlndXJlQXVkaW9TZXMKICAgICBS
VENMb2dXYXJuaW5nKEAiQXVkaW8gc2Vzc2lvbiBhbHJlYWR5IHVuY29uZmlndXJlZC4iKTsKICAg
ICByZXR1cm47CiAgIH0KLSAgUlRDQXVkaW9TZXNzaW9uKiBzZXNzaW9uID0gW1JUQ0F1ZGlvU2Vz
c2lvbiBzaGFyZWRJbnN0YW5jZV07CisgIFdlYlJUQ0F1ZGlvU2Vzc2lvbiogc2Vzc2lvbiA9IFtX
ZWJSVENBdWRpb1Nlc3Npb24gc2hhcmVkSW5zdGFuY2VdOwogICBbc2Vzc2lvbiBsb2NrRm9yQ29u
ZmlndXJhdGlvbl07CiAgIFtzZXNzaW9uIHVuY29uZmlndXJlV2ViUlRDU2Vzc2lvbjpuaWxdOwog
ICBbc2Vzc2lvbiB1bmxvY2tGb3JDb25maWd1cmF0aW9uXTsKQEAgLTc5Miw3ICs3OTIsNyBAQCBi
b29sIEF1ZGlvRGV2aWNlSU9TOjpJbml0UGxheU9yUmVjb3JkKCkgCiAgICAgcmV0dXJuIGZhbHNl
OwogICB9CiAKLSAgUlRDQXVkaW9TZXNzaW9uKiBzZXNzaW9uID0gW1JUQ0F1ZGlvU2Vzc2lvbiBz
aGFyZWRJbnN0YW5jZV07CisgIFdlYlJUQ0F1ZGlvU2Vzc2lvbiogc2Vzc2lvbiA9IFtXZWJSVENB
dWRpb1Nlc3Npb24gc2hhcmVkSW5zdGFuY2VdOwogICAvLyBTdWJzY3JpYmUgdG8gYXVkaW8gc2Vz
c2lvbiBldmVudHMuCiAgIFtzZXNzaW9uIHB1c2hEZWxlZ2F0ZTphdWRpb19zZXNzaW9uX29ic2Vy
dmVyX107CiAKQEAgLTgyOSw3ICs4MjksNyBAQCB2b2lkIEF1ZGlvRGV2aWNlSU9TOjpTaHV0ZG93
blBsYXlPclJlY29yCiAgIGF1ZGlvX3VuaXRfLnJlc2V0KCk7CiAKICAgLy8gUmVtb3ZlIGF1ZGlv
IHNlc3Npb24gbm90aWZpY2F0aW9uIG9ic2VydmVycy4KLSAgUlRDQXVkaW9TZXNzaW9uKiBzZXNz
aW9uID0gW1JUQ0F1ZGlvU2Vzc2lvbiBzaGFyZWRJbnN0YW5jZV07CisgIFdlYlJUQ0F1ZGlvU2Vz
c2lvbiogc2Vzc2lvbiA9IFtXZWJSVENBdWRpb1Nlc3Npb24gc2hhcmVkSW5zdGFuY2VdOwogICBb
c2Vzc2lvbiByZW1vdmVEZWxlZ2F0ZTphdWRpb19zZXNzaW9uX29ic2VydmVyX107CiAKICAgLy8g
QWxsIEkvTyBzaG91bGQgYmUgc3RvcHBlZCBvciBwYXVzZWQgcHJpb3IgdG8gZGVhY3RpdmF0aW5n
IHRoZSBhdWRpbwpJbmRleDogU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJy
dGMvbW9kdWxlcy9hdWRpb19kZXZpY2UvaW9zL29iamMvUlRDQXVkaW9TZXNzaW9uK0NvbmZpZ3Vy
YXRpb24ubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS93ZWJydGMvbW9kdWxlcy9hdWRpb19kZXZpY2UvaW9zL29iamMvUlRDQXVkaW9TZXNzaW9uK0Nv
bmZpZ3VyYXRpb24ubW0JKHJldmlzaW9uIDIxMTg0OSkKKysrIFNvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL21vZHVsZXMvYXVkaW9fZGV2aWNlL2lvcy9vYmpjL1JUQ0F1
ZGlvU2Vzc2lvbitDb25maWd1cmF0aW9uLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xNCw5ICsxNCw5
IEBACiAjaW1wb3J0ICJ3ZWJydGMvbW9kdWxlcy9hdWRpb19kZXZpY2UvaW9zL29iamMvUlRDQXVk
aW9TZXNzaW9uK1ByaXZhdGUuaCIKICNpbXBvcnQgIndlYnJ0Yy9tb2R1bGVzL2F1ZGlvX2Rldmlj
ZS9pb3Mvb2JqYy9SVENBdWRpb1Nlc3Npb25Db25maWd1cmF0aW9uLmgiCiAKLUBpbXBsZW1lbnRh
dGlvbiBSVENBdWRpb1Nlc3Npb24gKENvbmZpZ3VyYXRpb24pCitAaW1wbGVtZW50YXRpb24gV2Vi
UlRDQXVkaW9TZXNzaW9uIChDb25maWd1cmF0aW9uKQogCi0tIChCT09MKXNldENvbmZpZ3VyYXRp
b246KFJUQ0F1ZGlvU2Vzc2lvbkNvbmZpZ3VyYXRpb24gKiljb25maWd1cmF0aW9uCistIChCT09M
KXNldENvbmZpZ3VyYXRpb246KFdlYlJUQ0F1ZGlvU2Vzc2lvbkNvbmZpZ3VyYXRpb24gKiljb25m
aWd1cmF0aW9uCiAgICAgICAgICAgICAgICAgICAgZXJyb3I6KE5TRXJyb3IgKiopb3V0RXJyb3Ig
ewogICByZXR1cm4gW3NlbGYgc2V0Q29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgYWN0aXZlOk5PCkBAIC0yNCw3ICsyNCw3IEBAIC0gKEJPT0wpc2V0
Q29uZmlndXJhdGlvbjooUlRDQXVkaW9TZXNzaW8KICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZXJyb3I6b3V0RXJyb3JdOwogfQogCi0tIChCT09MKXNldENvbmZpZ3VyYXRpb246KFJUQ0F1ZGlv
U2Vzc2lvbkNvbmZpZ3VyYXRpb24gKiljb25maWd1cmF0aW9uCistIChCT09MKXNldENvbmZpZ3Vy
YXRpb246KFdlYlJUQ0F1ZGlvU2Vzc2lvbkNvbmZpZ3VyYXRpb24gKiljb25maWd1cmF0aW9uCiAg
ICAgICAgICAgICAgICAgICBhY3RpdmU6KEJPT0wpYWN0aXZlCiAgICAgICAgICAgICAgICAgICAg
ZXJyb3I6KE5TRXJyb3IgKiopb3V0RXJyb3IgewogICByZXR1cm4gW3NlbGYgc2V0Q29uZmlndXJh
dGlvbjpjb25maWd1cmF0aW9uCkBAIC0zNSw3ICszNSw3IEBAIC0gKEJPT0wpc2V0Q29uZmlndXJh
dGlvbjooUlRDQXVkaW9TZXNzaW8KIAogI3ByYWdtYSBtYXJrIC0gUHJpdmF0ZQogCi0tIChCT09M
KXNldENvbmZpZ3VyYXRpb246KFJUQ0F1ZGlvU2Vzc2lvbkNvbmZpZ3VyYXRpb24gKiljb25maWd1
cmF0aW9uCistIChCT09MKXNldENvbmZpZ3VyYXRpb246KFdlYlJUQ0F1ZGlvU2Vzc2lvbkNvbmZp
Z3VyYXRpb24gKiljb25maWd1cmF0aW9uCiAgICAgICAgICAgICAgICAgICBhY3RpdmU6KEJPT0wp
YWN0aXZlCiAgICAgICAgICBzaG91bGRTZXRBY3RpdmU6KEJPT0wpc2hvdWxkU2V0QWN0aXZlCiAg
ICAgICAgICAgICAgICAgICAgZXJyb3I6KE5TRXJyb3IgKiopb3V0RXJyb3IgewpJbmRleDogU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvbW9kdWxlcy9hdWRpb19kZXZp
Y2UvaW9zL29iamMvUlRDQXVkaW9TZXNzaW9uK1ByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9tb2R1bGVzL2F1ZGlvX2Rldmlj
ZS9pb3Mvb2JqYy9SVENBdWRpb1Nlc3Npb24rUHJpdmF0ZS5oCShyZXZpc2lvbiAyMTE4NDkpCisr
KyBTb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9tb2R1bGVzL2F1ZGlv
X2RldmljZS9pb3Mvb2JqYy9SVENBdWRpb1Nlc3Npb24rUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xNCw5ICsxNCw5IEBACiAKIE5TX0FTU1VNRV9OT05OVUxMX0JFR0lOCiAKLUBjbGFzcyBS
VENBdWRpb1Nlc3Npb25Db25maWd1cmF0aW9uOworQGNsYXNzIFdlYlJUQ0F1ZGlvU2Vzc2lvbkNv
bmZpZ3VyYXRpb247CiAKLUBpbnRlcmZhY2UgUlRDQXVkaW9TZXNzaW9uICgpCitAaW50ZXJmYWNl
IFdlYlJUQ0F1ZGlvU2Vzc2lvbiAoKQogCiAvKiogTnVtYmVyIG9mIHRpbWVzIHNldEFjdGl2ZTpZ
RVMgaGFzIHN1Y2NlZWRlZCB3aXRob3V0IGEgYmFsYW5jZWQgY2FsbCB0bwogICogIHNldEFjdGl2
ZTpOTy4KQEAgLTQyLDE2ICs0MiwxNiBAQCBAaW50ZXJmYWNlIFJUQ0F1ZGlvU2Vzc2lvbiAoKQog
ICogIHRoZSBsaXN0LiBUaGlzIGRlbGVnYXRlIHdpbGwgYmUgbm90aWZpZWQgYmVmb3JlIG90aGVy
IGRlbGVnYXRlcyBvZgogICogIGF1ZGlvIGV2ZW50cy4KICAqLwotLSAodm9pZClwdXNoRGVsZWdh
dGU6KGlkPFJUQ0F1ZGlvU2Vzc2lvbkRlbGVnYXRlPilkZWxlZ2F0ZTsKKy0gKHZvaWQpcHVzaERl
bGVnYXRlOihpZDxXZWJSVENBdWRpb1Nlc3Npb25EZWxlZ2F0ZT4pZGVsZWdhdGU7CiAKLS8qKiBT
aWduYWxzIFJUQ0F1ZGlvU2Vzc2lvbiB0aGF0IGEgV2ViUlRDIHNlc3Npb24gaXMgYWJvdXQgdG8g
YmVnaW4gYW5kCisvKiogU2lnbmFscyBXZWJSVENBdWRpb1Nlc3Npb24gdGhhdCBhIFdlYlJUQyBz
ZXNzaW9uIGlzIGFib3V0IHRvIGJlZ2luIGFuZAogICogIGF1ZGlvIGNvbmZpZ3VyYXRpb24gaXMg
bmVlZGVkLiBXaWxsIGNvbmZpZ3VyZSB0aGUgYXVkaW8gc2Vzc2lvbiBmb3IgV2ViUlRDCiAgKiAg
aWYgbm90IGFscmVhZHkgY29uZmlndXJlZCBhbmQgaWYgY29uZmlndXJhdGlvbiBpcyBub3QgZGVs
YXllZC4KICAqICBTdWNjZXNzZnVsIGNhbGxzIG11c3QgYmUgYmFsYW5jZWQgYnkgYSBjYWxsIHRv
IGVuZFdlYlJUQ1Nlc3Npb24uCiAgKi8KIC0gKEJPT0wpYmVnaW5XZWJSVENTZXNzaW9uOihOU0Vy
cm9yICoqKW91dEVycm9yOwogCi0vKiogU2lnbmFscyBSVENBdWRpb1Nlc3Npb24gdGhhdCBhIFdl
YlJUQyBzZXNzaW9uIGlzIGFib3V0IHRvIGVuZCBhbmQgYXVkaW8KKy8qKiBTaWduYWxzIFdlYlJU
Q0F1ZGlvU2Vzc2lvbiB0aGF0IGEgV2ViUlRDIHNlc3Npb24gaXMgYWJvdXQgdG8gZW5kIGFuZCBh
dWRpbwogICogIHVuY29uZmlndXJhdGlvbiBpcyBuZWVkZWQuIFdpbGwgdW5jb25maWd1cmUgdGhl
IGF1ZGlvIHNlc3Npb24gZm9yIFdlYlJUQwogICogIGlmIHRoaXMgaXMgdGhlIGxhc3QgdW5tYXRj
aGVkIGNhbGwgYW5kIGlmIGNvbmZpZ3VyYXRpb24gaXMgbm90IGRlbGF5ZWQuCiAgKi8KQEAgLTc4
LDcgKzc4LDcgQEAgQGludGVyZmFjZSBSVENBdWRpb1Nlc3Npb24gKCkKIAogLy8gUHJvcGVydGll
cyBhbmQgbWV0aG9kcyBmb3IgdGVzdHMuCiBAcHJvcGVydHkobm9uYXRvbWljLCByZWFkb25seSkK
LSAgICBzdGQ6OnZlY3RvcjxfX3dlYWsgaWQ8UlRDQXVkaW9TZXNzaW9uRGVsZWdhdGU+ID4gZGVs
ZWdhdGVzOworICAgIHN0ZDo6dmVjdG9yPF9fd2VhayBpZDxXZWJSVENBdWRpb1Nlc3Npb25EZWxl
Z2F0ZT4gPiBkZWxlZ2F0ZXM7CiAKIC0gKHZvaWQpbm90aWZ5RGlkQmVnaW5JbnRlcnJ1cHRpb247
CiAtICh2b2lkKW5vdGlmeURpZEVuZEludGVycnVwdGlvbldpdGhTaG91bGRSZXN1bWVTZXNzaW9u
OgpJbmRleDogU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvbW9kdWxl
cy9hdWRpb19kZXZpY2UvaW9zL29iamMvUlRDQXVkaW9TZXNzaW9uLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvbW9kdWxlcy9hdWRpb19k
ZXZpY2UvaW9zL29iamMvUlRDQXVkaW9TZXNzaW9uLmgJKHJldmlzaW9uIDIxMTg0OSkKKysrIFNv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL21vZHVsZXMvYXVkaW9fZGV2
aWNlL2lvcy9vYmpjL1JUQ0F1ZGlvU2Vzc2lvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMSw1OCAr
MjEsNTggQEAgZXh0ZXJuIE5TSW50ZWdlciBjb25zdCBrUlRDQXVkaW9TZXNzaW9uRQogLyoqIFVu
a25vd24gY29uZmlndXJhdGlvbiBlcnJvciBvY2N1cnJlZC4gKi8KIGV4dGVybiBOU0ludGVnZXIg
Y29uc3Qga1JUQ0F1ZGlvU2Vzc2lvbkVycm9yQ29uZmlndXJhdGlvbjsKIAotQGNsYXNzIFJUQ0F1
ZGlvU2Vzc2lvbjsKLUBjbGFzcyBSVENBdWRpb1Nlc3Npb25Db25maWd1cmF0aW9uOworQGNsYXNz
IFdlYlJUQ0F1ZGlvU2Vzc2lvbjsKK0BjbGFzcyBXZWJSVENBdWRpb1Nlc3Npb25Db25maWd1cmF0
aW9uOwogCiAvLyBTdXJmYWNlcyBBVkF1ZGlvU2Vzc2lvbiBldmVudHMuIFdlYlJUQyB3aWxsIGxp
c3RlbiBkaXJlY3RseSBmb3Igbm90aWZpY2F0aW9ucwogLy8gZnJvbSBBVkF1ZGlvU2Vzc2lvbiBh
bmQgaGFuZGxlIHRoZW0gYmVmb3JlIGNhbGxpbmcgdGhlc2UgZGVsZWdhdGUgbWV0aG9kcywKIC8v
IGF0IHdoaWNoIHBvaW50IGFwcGxpY2F0aW9ucyBjYW4gcGVyZm9ybSBhZGRpdGlvbmFsIHByb2Nl
c3NpbmcgaWYgcmVxdWlyZWQuCiBSVENfRVhQT1JUCi1AcHJvdG9jb2wgUlRDQXVkaW9TZXNzaW9u
RGVsZWdhdGUgPE5TT2JqZWN0PgorQHByb3RvY29sIFdlYlJUQ0F1ZGlvU2Vzc2lvbkRlbGVnYXRl
IDxOU09iamVjdD4KIAogQG9wdGlvbmFsCiAvKiogQ2FsbGVkIG9uIGEgc3lzdGVtIG5vdGlmaWNh
dGlvbiB0aHJlYWQgd2hlbiBBVkF1ZGlvU2Vzc2lvbiBzdGFydHMgYW4KICAqICBpbnRlcnJ1cHRp
b24gZXZlbnQuCiAgKi8KLS0gKHZvaWQpYXVkaW9TZXNzaW9uRGlkQmVnaW5JbnRlcnJ1cHRpb246
KFJUQ0F1ZGlvU2Vzc2lvbiAqKXNlc3Npb247CistICh2b2lkKWF1ZGlvU2Vzc2lvbkRpZEJlZ2lu
SW50ZXJydXB0aW9uOihXZWJSVENBdWRpb1Nlc3Npb24gKilzZXNzaW9uOwogCiAvKiogQ2FsbGVk
IG9uIGEgc3lzdGVtIG5vdGlmaWNhdGlvbiB0aHJlYWQgd2hlbiBBVkF1ZGlvU2Vzc2lvbiBlbmRz
IGFuCiAgKiAgaW50ZXJydXB0aW9uIGV2ZW50LgogICovCi0tICh2b2lkKWF1ZGlvU2Vzc2lvbkRp
ZEVuZEludGVycnVwdGlvbjooUlRDQXVkaW9TZXNzaW9uICopc2Vzc2lvbgorLSAodm9pZClhdWRp
b1Nlc3Npb25EaWRFbmRJbnRlcnJ1cHRpb246KFdlYlJUQ0F1ZGlvU2Vzc2lvbiAqKXNlc3Npb24K
ICAgICAgICAgICAgICAgICAgICBzaG91bGRSZXN1bWVTZXNzaW9uOihCT09MKXNob3VsZFJlc3Vt
ZVNlc3Npb247CiAKIC8qKiBDYWxsZWQgb24gYSBzeXN0ZW0gbm90aWZpY2F0aW9uIHRocmVhZCB3
aGVuIEFWQXVkaW9TZXNzaW9uIGNoYW5nZXMgdGhlCiAgKiAgcm91dGUuCiAgKi8KLS0gKHZvaWQp
YXVkaW9TZXNzaW9uRGlkQ2hhbmdlUm91dGU6KFJUQ0F1ZGlvU2Vzc2lvbiAqKXNlc3Npb24KKy0g
KHZvaWQpYXVkaW9TZXNzaW9uRGlkQ2hhbmdlUm91dGU6KFdlYlJUQ0F1ZGlvU2Vzc2lvbiAqKXNl
c3Npb24KICAgICAgICAgICAgcmVhc29uOihBVkF1ZGlvU2Vzc2lvblJvdXRlQ2hhbmdlUmVhc29u
KXJlYXNvbgogICAgIHByZXZpb3VzUm91dGU6KEFWQXVkaW9TZXNzaW9uUm91dGVEZXNjcmlwdGlv
biAqKXByZXZpb3VzUm91dGU7CiAKIC8qKiBDYWxsZWQgb24gYSBzeXN0ZW0gbm90aWZpY2F0aW9u
IHRocmVhZCB3aGVuIEFWQXVkaW9TZXNzaW9uIG1lZGlhIHNlcnZlcgogICogIHRlcm1pbmF0ZXMu
CiAgKi8KLS0gKHZvaWQpYXVkaW9TZXNzaW9uTWVkaWFTZXJ2aWNlc1dlcmVMb3N0OihSVENBdWRp
b1Nlc3Npb24gKilzZXNzaW9uOworLSAodm9pZClhdWRpb1Nlc3Npb25NZWRpYVNlcnZpY2VzV2Vy
ZUxvc3Q6KFdlYlJUQ0F1ZGlvU2Vzc2lvbiAqKXNlc3Npb247CiAKIC8qKiBDYWxsZWQgb24gYSBz
eXN0ZW0gbm90aWZpY2F0aW9uIHRocmVhZCB3aGVuIEFWQXVkaW9TZXNzaW9uIG1lZGlhIHNlcnZl
cgogICogIHJlc3RhcnRzLgogICovCi0tICh2b2lkKWF1ZGlvU2Vzc2lvbk1lZGlhU2VydmljZXNX
ZXJlUmVzZXQ6KFJUQ0F1ZGlvU2Vzc2lvbiAqKXNlc3Npb247CistICh2b2lkKWF1ZGlvU2Vzc2lv
bk1lZGlhU2VydmljZXNXZXJlUmVzZXQ6KFdlYlJUQ0F1ZGlvU2Vzc2lvbiAqKXNlc3Npb247CiAK
IC8vIFRPRE8odGtjaGluKTogTWF5YmUgaGFuZGxlIFNpbGVuY2VTZWNvbmRhcnlBdWRpb0hpbnRO
b3RpZmljYXRpb24uCiAKLS0gKHZvaWQpYXVkaW9TZXNzaW9uOihSVENBdWRpb1Nlc3Npb24gKilz
ZXNzaW9uCistICh2b2lkKWF1ZGlvU2Vzc2lvbjooV2ViUlRDQXVkaW9TZXNzaW9uICopc2Vzc2lv
bgogICAgIGRpZENoYW5nZUNhblBsYXlPclJlY29yZDooQk9PTCljYW5QbGF5T3JSZWNvcmQ7CiAK
IC8qKiBDYWxsZWQgb24gYSBXZWJSVEMgdGhyZWFkIHdoZW4gdGhlIGF1ZGlvIGRldmljZSBpcyBu
b3RpZmllZCB0byBiZWdpbgogICogIHBsYXliYWNrIG9yIHJlY29yZGluZy4KICAqLwotLSAodm9p
ZClhdWRpb1Nlc3Npb25EaWRTdGFydFBsYXlPclJlY29yZDooUlRDQXVkaW9TZXNzaW9uICopc2Vz
c2lvbjsKKy0gKHZvaWQpYXVkaW9TZXNzaW9uRGlkU3RhcnRQbGF5T3JSZWNvcmQ6KFdlYlJUQ0F1
ZGlvU2Vzc2lvbiAqKXNlc3Npb247CiAKIC8qKiBDYWxsZWQgb24gYSBXZWJSVEMgdGhyZWFkIHdo
ZW4gdGhlIGF1ZGlvIGRldmljZSBpcyBub3RpZmllZCB0byBzdG9wCiAgKiAgcGxheWJhY2sgb3Ig
cmVjb3JkaW5nLgogICovCi0tICh2b2lkKWF1ZGlvU2Vzc2lvbkRpZFN0b3BQbGF5T3JSZWNvcmQ6
KFJUQ0F1ZGlvU2Vzc2lvbiAqKXNlc3Npb247CistICh2b2lkKWF1ZGlvU2Vzc2lvbkRpZFN0b3BQ
bGF5T3JSZWNvcmQ6KFdlYlJUQ0F1ZGlvU2Vzc2lvbiAqKXNlc3Npb247CiAKIEBlbmQKIApAQCAt
ODAsMTEgKzgwLDExIEBAIFJUQ19FWFBPUlQKICAqICBBVkNhcHR1cmVEZXZpY2UuIFRoaXMgaXMg
dXNlZCB0byB0aGF0IGludGVybGVhdmluZyBjb25maWd1cmF0aW9ucyBiZXR3ZWVuCiAgKiAgV2Vi
UlRDIGFuZCB0aGUgYXBwbGljYXRpb24gbGF5ZXIgYXJlIGF2b2lkZWQuCiAgKgotICogIFJUQ0F1
ZGlvU2Vzc2lvbiBhbHNvIGNvb3JkaW5hdGVzIGFjdGl2YXRpb24gc28gdGhhdCB0aGUgYXVkaW8g
c2Vzc2lvbiBpcworICogIFdlYlJUQ0F1ZGlvU2Vzc2lvbiBhbHNvIGNvb3JkaW5hdGVzIGFjdGl2
YXRpb24gc28gdGhhdCB0aGUgYXVkaW8gc2Vzc2lvbiBpcwogICogIGFjdGl2YXRlZCBvbmx5IG9u
Y2UuIFNlZSB8c2V0QWN0aXZlOmVycm9yOnwuCiAgKi8KIFJUQ19FWFBPUlQKLUBpbnRlcmZhY2Ug
UlRDQXVkaW9TZXNzaW9uIDogTlNPYmplY3QKK0BpbnRlcmZhY2UgV2ViUlRDQXVkaW9TZXNzaW9u
IDogTlNPYmplY3QKIAogLyoqIENvbnZlbmllbmNlIHByb3BlcnR5IHRvIGFjY2VzcyB0aGUgQVZB
dWRpb1Nlc3Npb24gc2luZ2xldG9uLiBDYWxsZXJzIHNob3VsZAogICogIG5vdCBjYWxsIHNldHRl
cnMgb24gQVZBdWRpb1Nlc3Npb24gZGlyZWN0bHksIGJ1dCBvdGhlciBtZXRob2QgaW52b2NhdGlv
bnMKQEAgLTk2LDcgKzk2LDcgQEAgQGludGVyZmFjZSBSVENBdWRpb1Nlc3Npb24gOiBOU09iamVj
dAogICogIEFWQXVkaW9TZXNzaW9uLgogICovCiBAcHJvcGVydHkobm9uYXRvbWljLCByZWFkb25s
eSkgQk9PTCBpc0FjdGl2ZTsKLS8qKiBXaGV0aGVyIFJUQ0F1ZGlvU2Vzc2lvbiBpcyBjdXJyZW50
bHkgbG9ja2VkIGZvciBjb25maWd1cmF0aW9uLiAqLworLyoqIFdoZXRoZXIgV2ViUlRDQXVkaW9T
ZXNzaW9uIGlzIGN1cnJlbnRseSBsb2NrZWQgZm9yIGNvbmZpZ3VyYXRpb24uICovCiBAcHJvcGVy
dHkobm9uYXRvbWljLCByZWFkb25seSkgQk9PTCBpc0xvY2tlZDsKIAogLyoqIElmIFlFUywgV2Vi
UlRDIHdpbGwgbm90IGluaXRpYWxpemUgdGhlIGF1ZGlvIHVuaXQgYXV0b21hdGljYWxseSB3aGVu
IGFuCkBAIC0xNTQsOSArMTU0LDkgQEAgQGludGVyZmFjZSBSVENBdWRpb1Nlc3Npb24gOiBOU09i
amVjdAogLSAoaW5zdGFuY2V0eXBlKWluaXQgTlNfVU5BVkFJTEFCTEU7CiAKIC8qKiBBZGRzIGEg
ZGVsZWdhdGUsIHdoaWNoIGlzIGhlbGQgd2Vha2x5LiAqLwotLSAodm9pZClhZGREZWxlZ2F0ZToo
aWQ8UlRDQXVkaW9TZXNzaW9uRGVsZWdhdGU+KWRlbGVnYXRlOworLSAodm9pZClhZGREZWxlZ2F0
ZTooaWQ8V2ViUlRDQXVkaW9TZXNzaW9uRGVsZWdhdGU+KWRlbGVnYXRlOwogLyoqIFJlbW92ZXMg
YW4gYWRkZWQgZGVsZWdhdGUuICovCi0tICh2b2lkKXJlbW92ZURlbGVnYXRlOihpZDxSVENBdWRp
b1Nlc3Npb25EZWxlZ2F0ZT4pZGVsZWdhdGU7CistICh2b2lkKXJlbW92ZURlbGVnYXRlOihpZDxX
ZWJSVENBdWRpb1Nlc3Npb25EZWxlZ2F0ZT4pZGVsZWdhdGU7CiAKIC8qKiBSZXF1ZXN0IGV4Y2x1
c2l2ZSBhY2Nlc3MgdG8gdGhlIGF1ZGlvIHNlc3Npb24gZm9yIGNvbmZpZ3VyYXRpb24uIFRoaXMg
Y2FsbAogICogIHdpbGwgYmxvY2sgaWYgdGhlIGxvY2sgaXMgaGVsZCBieSBhbm90aGVyIG9iamVj
dC4KQEAgLTIwMiwyMCArMjAyLDIwIEBAIEBpbnRlcmZhY2UgUlRDQXVkaW9TZXNzaW9uIDogTlNP
YmplY3QKIAogQGVuZAogCi1AaW50ZXJmYWNlIFJUQ0F1ZGlvU2Vzc2lvbiAoQ29uZmlndXJhdGlv
bikKK0BpbnRlcmZhY2UgV2ViUlRDQXVkaW9TZXNzaW9uIChDb25maWd1cmF0aW9uKQogCiAvKiog
QXBwbGllcyB0aGUgY29uZmlndXJhdGlvbiB0byB0aGUgY3VycmVudCBzZXNzaW9uLiBBdHRlbXB0
cyB0byBzZXQgYWxsCiAgKiAgcHJvcGVydGllcyBldmVuIGlmIHByZXZpb3VzIG9uZXMgZmFpbC4g
T25seSB0aGUgbGFzdCBlcnJvciB3aWxsIGJlCiAgKiAgcmV0dXJuZWQuCiAgKiAgfGxvY2tGb3JD
b25maWd1cmF0aW9ufCBtdXN0IGJlIGNhbGxlZCBmaXJzdC4KICAqLwotLSAoQk9PTClzZXRDb25m
aWd1cmF0aW9uOihSVENBdWRpb1Nlc3Npb25Db25maWd1cmF0aW9uICopY29uZmlndXJhdGlvbgor
LSAoQk9PTClzZXRDb25maWd1cmF0aW9uOihXZWJSVENBdWRpb1Nlc3Npb25Db25maWd1cmF0aW9u
ICopY29uZmlndXJhdGlvbgogICAgICAgICAgICAgICAgICAgIGVycm9yOihOU0Vycm9yICoqKW91
dEVycm9yOwogCiAvKiogQ29udmVuaWVuY2UgbWV0aG9kIHRoYXQgY2FsbHMgYm90aCBzZXRDb25m
aWd1cmF0aW9uIGFuZCBzZXRBY3RpdmUuCiAgKiAgfGxvY2tGb3JDb25maWd1cmF0aW9ufCBtdXN0
IGJlIGNhbGxlZCBmaXJzdC4KICAqLwotLSAoQk9PTClzZXRDb25maWd1cmF0aW9uOihSVENBdWRp
b1Nlc3Npb25Db25maWd1cmF0aW9uICopY29uZmlndXJhdGlvbgorLSAoQk9PTClzZXRDb25maWd1
cmF0aW9uOihXZWJSVENBdWRpb1Nlc3Npb25Db25maWd1cmF0aW9uICopY29uZmlndXJhdGlvbgog
ICAgICAgICAgICAgICAgICAgYWN0aXZlOihCT09MKWFjdGl2ZQogICAgICAgICAgICAgICAgICAg
IGVycm9yOihOU0Vycm9yICoqKW91dEVycm9yOwogCkluZGV4OiBTb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9tb2R1bGVzL2F1ZGlvX2RldmljZS9pb3Mvb2JqYy9SVENB
dWRpb1Nlc3Npb24ubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS93ZWJydGMvbW9kdWxlcy9hdWRpb19kZXZpY2UvaW9zL29iamMvUlRDQXVkaW9TZXNz
aW9uLm1tCShyZXZpc2lvbiAyMTE4NDkpCisrKyBTb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3dlYnJ0Yy9tb2R1bGVzL2F1ZGlvX2RldmljZS9pb3Mvb2JqYy9SVENBdWRpb1Nlc3Np
b24ubW0JKHdvcmtpbmcgY29weSkKQEAgLTIxLDE0ICsyMSwxNCBAQAogI2ltcG9ydCAid2VicnRj
L21vZHVsZXMvYXVkaW9fZGV2aWNlL2lvcy9vYmpjL1JUQ0F1ZGlvU2Vzc2lvbitQcml2YXRlLmgi
CiAjaW1wb3J0ICJ3ZWJydGMvbW9kdWxlcy9hdWRpb19kZXZpY2UvaW9zL29iamMvUlRDQXVkaW9T
ZXNzaW9uQ29uZmlndXJhdGlvbi5oIgogCi1OU1N0cmluZyAqIGNvbnN0IGtSVENBdWRpb1Nlc3Np
b25FcnJvckRvbWFpbiA9IEAib3JnLndlYnJ0Yy5SVENBdWRpb1Nlc3Npb24iOworTlNTdHJpbmcg
KiBjb25zdCBrUlRDQXVkaW9TZXNzaW9uRXJyb3JEb21haW4gPSBAIm9yZy53ZWJydGMuV2ViUlRD
QXVkaW9TZXNzaW9uIjsKIE5TSW50ZWdlciBjb25zdCBrUlRDQXVkaW9TZXNzaW9uRXJyb3JMb2Nr
UmVxdWlyZWQgPSAtMTsKIE5TSW50ZWdlciBjb25zdCBrUlRDQXVkaW9TZXNzaW9uRXJyb3JDb25m
aWd1cmF0aW9uID0gLTI7CiAKIC8vIFRoaXMgY2xhc3MgbmVlZHMgdG8gYmUgdGhyZWFkLXNhZmUg
YmVjYXVzZSBpdCBpcyBhY2Nlc3NlZCBmcm9tIG1hbnkgdGhyZWFkcy4KIC8vIFRPRE8odGtjaGlu
KTogQ29uc2lkZXIgbW9yZSBncmFudWxhciBsb2NraW5nLiBXZSdyZSBub3QgZXhwZWN0aW5nIGEg
bG90IG9mCiAvLyBsb2NrIGNvbnRlbnRpb24gc28gY29hcnNlIGxvY2tzIHNob3VsZCBiZSBmaW5l
IGZvciBub3cuCi1AaW1wbGVtZW50YXRpb24gUlRDQXVkaW9TZXNzaW9uIHsKK0BpbXBsZW1lbnRh
dGlvbiBXZWJSVENBdWRpb1Nlc3Npb24gewogICBydGM6OkNyaXRpY2FsU2VjdGlvbiBfY3JpdDsK
ICAgQVZBdWRpb1Nlc3Npb24gKl9zZXNzaW9uOwogICB2b2xhdGlsZSBpbnQgX2FjdGl2YXRpb25D
b3VudDsKQEAgLTQ2LDcgKzQ2LDcgQEAgTlNJbnRlZ2VyIGNvbnN0IGtSVENBdWRpb1Nlc3Npb25F
cnJvckNvbgogCiArIChpbnN0YW5jZXR5cGUpc2hhcmVkSW5zdGFuY2UgewogICBzdGF0aWMgZGlz
cGF0Y2hfb25jZV90IG9uY2VUb2tlbjsKLSAgc3RhdGljIFJUQ0F1ZGlvU2Vzc2lvbiAqc2hhcmVk
SW5zdGFuY2UgPSBuaWw7CisgIHN0YXRpYyBXZWJSVENBdWRpb1Nlc3Npb24gKnNoYXJlZEluc3Rh
bmNlID0gbmlsOwogICBkaXNwYXRjaF9vbmNlKCZvbmNlVG9rZW4sIF57CiAgICAgc2hhcmVkSW5z
dGFuY2UgPSBbW3NlbGYgYWxsb2NdIGluaXRdOwogICB9KTsKQEAgLTk2LDcgKzk2LDcgQEAgLSAo
dm9pZClkZWFsbG9jIHsKIAogLSAoTlNTdHJpbmcgKilkZXNjcmlwdGlvbiB7CiAgIE5TU3RyaW5n
ICpmb3JtYXQgPQotICAgICAgQCJSVENBdWRpb1Nlc3Npb246IHtcbiIKKyAgICAgIEAiV2ViUlRD
QXVkaW9TZXNzaW9uOiB7XG4iCiAgICAgICAgIiAgY2F0ZWdvcnk6ICVAXG4iCiAgICAgICAgIiAg
Y2F0ZWdvcnlPcHRpb25zOiAlbGRcbiIKICAgICAgICAiICBtb2RlOiAlQFxuIgpAQCAtMTY2LDcg
KzE2Niw3IEBAIC0gKEJPT0wpaXNBdWRpb0VuYWJsZWQgewogfQogCiAvLyBUT0RPKHRrY2hpbik6
IENoZWNrIGZvciBkdXBsaWNhdGVzLgotLSAodm9pZClhZGREZWxlZ2F0ZTooaWQ8UlRDQXVkaW9T
ZXNzaW9uRGVsZWdhdGU+KWRlbGVnYXRlIHsKKy0gKHZvaWQpYWRkRGVsZWdhdGU6KGlkPFdlYlJU
Q0F1ZGlvU2Vzc2lvbkRlbGVnYXRlPilkZWxlZ2F0ZSB7CiAgIGlmICghZGVsZWdhdGUpIHsKICAg
ICByZXR1cm47CiAgIH0KQEAgLTE3Niw3ICsxNzYsNyBAQCAtICh2b2lkKWFkZERlbGVnYXRlOihp
ZDxSVENBdWRpb1Nlc3Npb25ECiAgIH0KIH0KIAotLSAodm9pZClyZW1vdmVEZWxlZ2F0ZTooaWQ8
UlRDQXVkaW9TZXNzaW9uRGVsZWdhdGU+KWRlbGVnYXRlIHsKKy0gKHZvaWQpcmVtb3ZlRGVsZWdh
dGU6KGlkPFdlYlJUQ0F1ZGlvU2Vzc2lvbkRlbGVnYXRlPilkZWxlZ2F0ZSB7CiAgIGlmICghZGVs
ZWdhdGUpIHsKICAgICByZXR1cm47CiAgIH0KQEAgLTU2Myw3ICs1NjMsNyBAQCArIChOU0Vycm9y
ICopbG9ja0Vycm9yIHsKICAgcmV0dXJuIGVycm9yOwogfQogCi0tIChzdGQ6OnZlY3RvcjxfX3dl
YWsgaWQ8UlRDQXVkaW9TZXNzaW9uRGVsZWdhdGU+ID4pZGVsZWdhdGVzIHsKKy0gKHN0ZDo6dmVj
dG9yPF9fd2VhayBpZDxXZWJSVENBdWRpb1Nlc3Npb25EZWxlZ2F0ZT4gPilkZWxlZ2F0ZXMgewog
ICBAc3luY2hyb25pemVkKHNlbGYpIHsKICAgICAvLyBOb3RlOiB0aGlzIHJldHVybnMgYSBjb3B5
LgogICAgIHJldHVybiBfZGVsZWdhdGVzOwpAQCAtNTcxLDcgKzU3MSw3IEBAIC0gKHN0ZDo6dmVj
dG9yPF9fd2VhayBpZDxSVENBdWRpb1Nlc3Npb24KIH0KIAogLy8gVE9ETyh0a2NoaW4pOiBjaGVj
ayBmb3IgZHVwbGljYXRlcy4KLS0gKHZvaWQpcHVzaERlbGVnYXRlOihpZDxSVENBdWRpb1Nlc3Np
b25EZWxlZ2F0ZT4pZGVsZWdhdGUgeworLSAodm9pZClwdXNoRGVsZWdhdGU6KGlkPFdlYlJUQ0F1
ZGlvU2Vzc2lvbkRlbGVnYXRlPilkZWxlZ2F0ZSB7CiAgIEBzeW5jaHJvbml6ZWQoc2VsZikgewog
ICAgIF9kZWxlZ2F0ZXMuaW5zZXJ0KF9kZWxlZ2F0ZXMuYmVnaW4oKSwgZGVsZWdhdGUpOwogICB9
CkBAIC02MjksNyArNjI5LDcgQEAgLSAoQk9PTCljaGVja0xvY2s6KE5TRXJyb3IgKiopb3V0RXJy
b3IgewogICAvLyBhY3F1aXJlIGxvY2sgaWYgaXQgaGFzbid0IGFscmVhZHkgYmVlbiBjYWxsZWQu
CiAgIGlmICghc2VsZi5pc0xvY2tlZCkgewogICAgIGlmIChvdXRFcnJvcikgewotICAgICAgKm91
dEVycm9yID0gW1JUQ0F1ZGlvU2Vzc2lvbiBsb2NrRXJyb3JdOworICAgICAgKm91dEVycm9yID0g
W1dlYlJUQ0F1ZGlvU2Vzc2lvbiBsb2NrRXJyb3JdOwogICAgIH0KICAgICByZXR1cm4gTk87CiAg
IH0KQEAgLTY3Miw4ICs2NzIsOCBAQCAtIChCT09MKWNvbmZpZ3VyZVdlYlJUQ1Nlc3Npb246KE5T
RXJyb3IgCiAgIC8vIENvbmZpZ3VyZSB0aGUgQVZBdWRpb1Nlc3Npb24gYW5kIGFjdGl2YXRlIGl0
LgogICAvLyBQcm92aWRlIGFuIGVycm9yIGV2ZW4gaWYgdGhlcmUgaXNuJ3Qgb25lIHNvIHdlIGNh
biBsb2cgaXQuCiAgIE5TRXJyb3IgKmVycm9yID0gbmlsOwotICBSVENBdWRpb1Nlc3Npb25Db25m
aWd1cmF0aW9uICp3ZWJSVENDb25maWcgPQotICAgICAgW1JUQ0F1ZGlvU2Vzc2lvbkNvbmZpZ3Vy
YXRpb24gd2ViUlRDQ29uZmlndXJhdGlvbl07CisgIFdlYlJUQ0F1ZGlvU2Vzc2lvbkNvbmZpZ3Vy
YXRpb24gKndlYlJUQ0NvbmZpZyA9CisgICAgICBbV2ViUlRDQXVkaW9TZXNzaW9uQ29uZmlndXJh
dGlvbiB3ZWJSVENDb25maWd1cmF0aW9uXTsKICAgaWYgKCFbc2VsZiBzZXRDb25maWd1cmF0aW9u
OndlYlJUQ0NvbmZpZyBhY3RpdmU6WUVTIGVycm9yOiZlcnJvcl0pIHsKICAgICBSVENMb2dFcnJv
cihAIkZhaWxlZCB0byBzZXQgV2ViUlRDIGF1ZGlvIGNvbmZpZ3VyYXRpb246ICVAIiwKICAgICAg
ICAgICAgICAgICBlcnJvci5sb2NhbGl6ZWREZXNjcmlwdGlvbik7CkluZGV4OiBTb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9tb2R1bGVzL2F1ZGlvX2RldmljZS9pb3Mv
b2JqYy9SVENBdWRpb1Nlc3Npb25Db25maWd1cmF0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvbW9kdWxlcy9hdWRpb19kZXZpY2Uv
aW9zL29iamMvUlRDQXVkaW9TZXNzaW9uQ29uZmlndXJhdGlvbi5oCShyZXZpc2lvbiAyMTE4NDkp
CisrKyBTb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9tb2R1bGVzL2F1
ZGlvX2RldmljZS9pb3Mvb2JqYy9SVENBdWRpb1Nlc3Npb25Db25maWd1cmF0aW9uLmgJKHdvcmtp
bmcgY29weSkKQEAgLTIzLDcgKzIzLDcgQEAgZXh0ZXJuIGNvbnN0IGRvdWJsZSBrUlRDQXVkaW9T
ZXNzaW9uTG93QwogCiAvLyBTdHJ1Y3QgdG8gaG9sZCBjb25maWd1cmF0aW9uIHZhbHVlcy4KIFJU
Q19FWFBPUlQKLUBpbnRlcmZhY2UgUlRDQXVkaW9TZXNzaW9uQ29uZmlndXJhdGlvbiA6IE5TT2Jq
ZWN0CitAaW50ZXJmYWNlIFdlYlJUQ0F1ZGlvU2Vzc2lvbkNvbmZpZ3VyYXRpb24gOiBOU09iamVj
dAogCiBAcHJvcGVydHkobm9uYXRvbWljLCBzdHJvbmcpIE5TU3RyaW5nICpjYXRlZ29yeTsKIEBw
cm9wZXJ0eShub25hdG9taWMsIGFzc2lnbikgQVZBdWRpb1Nlc3Npb25DYXRlZ29yeU9wdGlvbnMg
Y2F0ZWdvcnlPcHRpb25zOwpAQCAtNDEsNyArNDEsNyBAQCBAaW50ZXJmYWNlIFJUQ0F1ZGlvU2Vz
c2lvbkNvbmZpZ3VyYXRpb24gCiAvKiogUmV0dXJucyB0aGUgY29uZmlndXJhdGlvbiB0aGF0IFdl
YlJUQyBuZWVkcy4gKi8KICsgKGluc3RhbmNldHlwZSl3ZWJSVENDb25maWd1cmF0aW9uOwogLyoq
IFByb3ZpZGUgYSB3YXkgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgY29uZmlndXJhdGlvbi4gKi8K
LSsgKHZvaWQpc2V0V2ViUlRDQ29uZmlndXJhdGlvbjooUlRDQXVkaW9TZXNzaW9uQ29uZmlndXJh
dGlvbiAqKWNvbmZpZ3VyYXRpb247CisrICh2b2lkKXNldFdlYlJUQ0NvbmZpZ3VyYXRpb246KFdl
YlJUQ0F1ZGlvU2Vzc2lvbkNvbmZpZ3VyYXRpb24gKiljb25maWd1cmF0aW9uOwogCiBAZW5kCiAK
SW5kZXg6IFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL21vZHVsZXMv
YXVkaW9fZGV2aWNlL2lvcy9vYmpjL1JUQ0F1ZGlvU2Vzc2lvbkNvbmZpZ3VyYXRpb24ubQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9tb2R1
bGVzL2F1ZGlvX2RldmljZS9pb3Mvb2JqYy9SVENBdWRpb1Nlc3Npb25Db25maWd1cmF0aW9uLm0J
KHJldmlzaW9uIDIxMTg0OSkKKysrIFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
d2VicnRjL21vZHVsZXMvYXVkaW9fZGV2aWNlL2lvcy9vYmpjL1JUQ0F1ZGlvU2Vzc2lvbkNvbmZp
Z3VyYXRpb24ubQkod29ya2luZyBjb3B5KQpAQCAtNTIsOSArNTIsOSBAQCBjb25zdCBkb3VibGUg
a1JUQ0F1ZGlvU2Vzc2lvbkhpZ2hQZXJmb3JtCiAvLyBUT0RPKGhlbnJpa2EpOiBtb25pdG9yIHRo
aXMgc2l6ZSBhbmQgZGV0ZXJtaW5lIGlmIGl0IHNob3VsZCBiZSBtb2RpZmllZC4KIGNvbnN0IGRv
dWJsZSBrUlRDQXVkaW9TZXNzaW9uTG93Q29tcGxleGl0eUlPQnVmZmVyRHVyYXRpb24gPSAwLjA2
OwogCi1zdGF0aWMgUlRDQXVkaW9TZXNzaW9uQ29uZmlndXJhdGlvbiAqZ1dlYlJUQ0NvbmZpZ3Vy
YXRpb24gPSBuaWw7CitzdGF0aWMgV2ViUlRDQXVkaW9TZXNzaW9uQ29uZmlndXJhdGlvbiAqZ1dl
YlJUQ0NvbmZpZ3VyYXRpb24gPSBuaWw7CiAKLUBpbXBsZW1lbnRhdGlvbiBSVENBdWRpb1Nlc3Np
b25Db25maWd1cmF0aW9uCitAaW1wbGVtZW50YXRpb24gV2ViUlRDQXVkaW9TZXNzaW9uQ29uZmln
dXJhdGlvbgogCiBAc3ludGhlc2l6ZSBjYXRlZ29yeSA9IF9jYXRlZ29yeTsKIEBzeW50aGVzaXpl
IGNhdGVnb3J5T3B0aW9ucyA9IF9jYXRlZ29yeU9wdGlvbnM7CkBAIC0xMDYsOSArMTA2LDkgQEAg
KyAodm9pZClpbml0aWFsaXplIHsKIH0KIAogKyAoaW5zdGFuY2V0eXBlKWN1cnJlbnRDb25maWd1
cmF0aW9uIHsKLSAgUlRDQXVkaW9TZXNzaW9uICpzZXNzaW9uID0gW1JUQ0F1ZGlvU2Vzc2lvbiBz
aGFyZWRJbnN0YW5jZV07Ci0gIFJUQ0F1ZGlvU2Vzc2lvbkNvbmZpZ3VyYXRpb24gKmNvbmZpZyA9
Ci0gICAgICBbW1JUQ0F1ZGlvU2Vzc2lvbkNvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdOworICBX
ZWJSVENBdWRpb1Nlc3Npb24gKnNlc3Npb24gPSBbV2ViUlRDQXVkaW9TZXNzaW9uIHNoYXJlZElu
c3RhbmNlXTsKKyAgV2ViUlRDQXVkaW9TZXNzaW9uQ29uZmlndXJhdGlvbiAqY29uZmlnID0KKyAg
ICAgIFtbV2ViUlRDQXVkaW9TZXNzaW9uQ29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF07CiAgIGNv
bmZpZy5jYXRlZ29yeSA9IHNlc3Npb24uY2F0ZWdvcnk7CiAgIGNvbmZpZy5jYXRlZ29yeU9wdGlv
bnMgPSBzZXNzaW9uLmNhdGVnb3J5T3B0aW9uczsKICAgY29uZmlnLm1vZGUgPSBzZXNzaW9uLm1v
ZGU7CkBAIC0xMjEsMTEgKzEyMSwxMSBAQCArIChpbnN0YW5jZXR5cGUpY3VycmVudENvbmZpZ3Vy
YXRpb24gewogCiArIChpbnN0YW5jZXR5cGUpd2ViUlRDQ29uZmlndXJhdGlvbiB7CiAgIEBzeW5j
aHJvbml6ZWQoc2VsZikgewotICAgIHJldHVybiAoUlRDQXVkaW9TZXNzaW9uQ29uZmlndXJhdGlv
biAqKWdXZWJSVENDb25maWd1cmF0aW9uOworICAgIHJldHVybiAoV2ViUlRDQXVkaW9TZXNzaW9u
Q29uZmlndXJhdGlvbiAqKWdXZWJSVENDb25maWd1cmF0aW9uOwogICB9CiB9CiAKLSsgKHZvaWQp
c2V0V2ViUlRDQ29uZmlndXJhdGlvbjooUlRDQXVkaW9TZXNzaW9uQ29uZmlndXJhdGlvbiAqKWNv
bmZpZ3VyYXRpb24geworKyAodm9pZClzZXRXZWJSVENDb25maWd1cmF0aW9uOihXZWJSVENBdWRp
b1Nlc3Npb25Db25maWd1cmF0aW9uICopY29uZmlndXJhdGlvbiB7CiAgIEBzeW5jaHJvbml6ZWQo
c2VsZikgewogICAgIGdXZWJSVENDb25maWd1cmF0aW9uID0gY29uZmlndXJhdGlvbjsKICAgfQpJ
bmRleDogU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvbW9kdWxlcy9h
dWRpb19kZXZpY2UvaW9zL29iamMvUlRDQXVkaW9TZXNzaW9uRGVsZWdhdGVBZGFwdGVyLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvbW9k
dWxlcy9hdWRpb19kZXZpY2UvaW9zL29iamMvUlRDQXVkaW9TZXNzaW9uRGVsZWdhdGVBZGFwdGVy
LmgJKHJldmlzaW9uIDIxMTg0OSkKKysrIFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2Uvd2VicnRjL21vZHVsZXMvYXVkaW9fZGV2aWNlL2lvcy9vYmpjL1JUQ0F1ZGlvU2Vzc2lvbkRl
bGVnYXRlQWRhcHRlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNyw3ICsxNyw3IEBAIGNsYXNzIEF1
ZGlvU2Vzc2lvbk9ic2VydmVyOwogLyoqIEFkYXB0ZXIgdGhhdCBmb3J3YXJkcyBSVENBdWRpb1Nl
c3Npb25EZWxlZ2F0ZSBjYWxscyB0byB0aGUgYXBwcm9wcmlhdGUKICAqICBtZXRob2RzIG9uIHRo
ZSBBdWRpb1Nlc3Npb25PYnNlcnZlci4KICAqLwotQGludGVyZmFjZSBSVENBdWRpb1Nlc3Npb25E
ZWxlZ2F0ZUFkYXB0ZXIgOiBOU09iamVjdCA8UlRDQXVkaW9TZXNzaW9uRGVsZWdhdGU+CitAaW50
ZXJmYWNlIFdlYlJUQ0F1ZGlvU2Vzc2lvbkRlbGVnYXRlQWRhcHRlciA6IE5TT2JqZWN0IDxXZWJS
VENBdWRpb1Nlc3Npb25EZWxlZ2F0ZT4KIAogLSAoaW5zdGFuY2V0eXBlKWluaXQgTlNfVU5BVkFJ
TEFCTEU7CiAKSW5kZXg6IFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRj
L21vZHVsZXMvYXVkaW9fZGV2aWNlL2lvcy9vYmpjL1JUQ0F1ZGlvU2Vzc2lvbkRlbGVnYXRlQWRh
cHRlci5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3dlYnJ0Yy9tb2R1bGVzL2F1ZGlvX2RldmljZS9pb3Mvb2JqYy9SVENBdWRpb1Nlc3Npb25EZWxl
Z2F0ZUFkYXB0ZXIubW0JKHJldmlzaW9uIDIxMTg0OSkKKysrIFNvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL21vZHVsZXMvYXVkaW9fZGV2aWNlL2lvcy9vYmpjL1JUQ0F1
ZGlvU2Vzc2lvbkRlbGVnYXRlQWRhcHRlci5tbQkod29ya2luZyBjb3B5KQpAQCAtMTQsNyArMTQs
NyBAQAogCiAjaW1wb3J0ICJXZWJSVEMvUlRDTG9nZ2luZy5oIgogCi1AaW1wbGVtZW50YXRpb24g
UlRDQXVkaW9TZXNzaW9uRGVsZWdhdGVBZGFwdGVyIHsKK0BpbXBsZW1lbnRhdGlvbiBXZWJSVENB
dWRpb1Nlc3Npb25EZWxlZ2F0ZUFkYXB0ZXIgewogICB3ZWJydGM6OkF1ZGlvU2Vzc2lvbk9ic2Vy
dmVyICpfb2JzZXJ2ZXI7CiB9CiAKQEAgLTI2LDE4ICsyNiwxOCBAQCAtIChpbnN0YW5jZXR5cGUp
aW5pdFdpdGhPYnNlcnZlcjood2VicnRjCiAgIHJldHVybiBzZWxmOwogfQogCi0jcHJhZ21hIG1h
cmsgLSBSVENBdWRpb1Nlc3Npb25EZWxlZ2F0ZQorI3ByYWdtYSBtYXJrIC0gV2ViUlRDQXVkaW9T
ZXNzaW9uRGVsZWdhdGUKIAotLSAodm9pZClhdWRpb1Nlc3Npb25EaWRCZWdpbkludGVycnVwdGlv
bjooUlRDQXVkaW9TZXNzaW9uICopc2Vzc2lvbiB7CistICh2b2lkKWF1ZGlvU2Vzc2lvbkRpZEJl
Z2luSW50ZXJydXB0aW9uOihXZWJSVENBdWRpb1Nlc3Npb24gKilzZXNzaW9uIHsKICAgX29ic2Vy
dmVyLT5PbkludGVycnVwdGlvbkJlZ2luKCk7CiB9CiAKLS0gKHZvaWQpYXVkaW9TZXNzaW9uRGlk
RW5kSW50ZXJydXB0aW9uOihSVENBdWRpb1Nlc3Npb24gKilzZXNzaW9uCistICh2b2lkKWF1ZGlv
U2Vzc2lvbkRpZEVuZEludGVycnVwdGlvbjooV2ViUlRDQXVkaW9TZXNzaW9uICopc2Vzc2lvbgog
ICAgICAgICAgICAgICAgICAgIHNob3VsZFJlc3VtZVNlc3Npb246KEJPT0wpc2hvdWxkUmVzdW1l
U2Vzc2lvbiB7CiAgIF9vYnNlcnZlci0+T25JbnRlcnJ1cHRpb25FbmQoKTsKIH0KIAotLSAodm9p
ZClhdWRpb1Nlc3Npb25EaWRDaGFuZ2VSb3V0ZTooUlRDQXVkaW9TZXNzaW9uICopc2Vzc2lvbgor
LSAodm9pZClhdWRpb1Nlc3Npb25EaWRDaGFuZ2VSb3V0ZTooV2ViUlRDQXVkaW9TZXNzaW9uICop
c2Vzc2lvbgogICAgICAgICAgICByZWFzb246KEFWQXVkaW9TZXNzaW9uUm91dGVDaGFuZ2VSZWFz
b24pcmVhc29uCiAgICAgcHJldmlvdXNSb3V0ZTooQVZBdWRpb1Nlc3Npb25Sb3V0ZURlc2NyaXB0
aW9uICopcHJldmlvdXNSb3V0ZSB7CiAgIHN3aXRjaCAocmVhc29uKSB7CkBAIC02NCwyMSArNjQs
MjEgQEAgLSAodm9pZClhdWRpb1Nlc3Npb25EaWRDaGFuZ2VSb3V0ZTooUlRDQQogICB9CiB9CiAK
LS0gKHZvaWQpYXVkaW9TZXNzaW9uTWVkaWFTZXJ2aWNlc1dlcmVMb3N0OihSVENBdWRpb1Nlc3Np
b24gKilzZXNzaW9uIHsKKy0gKHZvaWQpYXVkaW9TZXNzaW9uTWVkaWFTZXJ2aWNlc1dlcmVMb3N0
OihXZWJSVENBdWRpb1Nlc3Npb24gKilzZXNzaW9uIHsKIH0KIAotLSAodm9pZClhdWRpb1Nlc3Np
b25NZWRpYVNlcnZpY2VzV2VyZVJlc2V0OihSVENBdWRpb1Nlc3Npb24gKilzZXNzaW9uIHsKKy0g
KHZvaWQpYXVkaW9TZXNzaW9uTWVkaWFTZXJ2aWNlc1dlcmVSZXNldDooV2ViUlRDQXVkaW9TZXNz
aW9uICopc2Vzc2lvbiB7CiB9CiAKLS0gKHZvaWQpYXVkaW9TZXNzaW9uOihSVENBdWRpb1Nlc3Np
b24gKilzZXNzaW9uCistICh2b2lkKWF1ZGlvU2Vzc2lvbjooV2ViUlRDQXVkaW9TZXNzaW9uICop
c2Vzc2lvbgogICAgIGRpZENoYW5nZUNhblBsYXlPclJlY29yZDooQk9PTCljYW5QbGF5T3JSZWNv
cmQgewogICBfb2JzZXJ2ZXItPk9uQ2FuUGxheU9yUmVjb3JkQ2hhbmdlKGNhblBsYXlPclJlY29y
ZCk7CiB9CiAKLS0gKHZvaWQpYXVkaW9TZXNzaW9uRGlkU3RhcnRQbGF5T3JSZWNvcmQ6KFJUQ0F1
ZGlvU2Vzc2lvbiAqKXNlc3Npb24geworLSAodm9pZClhdWRpb1Nlc3Npb25EaWRTdGFydFBsYXlP
clJlY29yZDooV2ViUlRDQXVkaW9TZXNzaW9uICopc2Vzc2lvbiB7CiB9CiAKLS0gKHZvaWQpYXVk
aW9TZXNzaW9uRGlkU3RvcFBsYXlPclJlY29yZDooUlRDQXVkaW9TZXNzaW9uICopc2Vzc2lvbiB7
CistICh2b2lkKWF1ZGlvU2Vzc2lvbkRpZFN0b3BQbGF5T3JSZWNvcmQ6KFdlYlJUQ0F1ZGlvU2Vz
c2lvbiAqKXNlc3Npb24gewogfQogCiBAZW5kCkluZGV4OiBTb3VyY2UvVGhpcmRQYXJ0eS9saWJ3
ZWJydGMvbGlid2VicnRjLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL2xpYndlYnJ0Yy54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCShyZXZpc2lvbiAyMTE4ODgpCisrKyBTb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
bGlid2VicnRjLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTI0
NjksMTggKzI0NjksMTkgQEAKIAkJNUNERDkwODMxRTQzRDE1QzAwNjIxRTkyIC8qIG5vbmxpbmVh
cl9iZWFtZm9ybWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA1Q0REOTA3MzFFNDNEMTVDMDA2MjFFOTIgLyogbm9ubGluZWFyX2JlYW1mb3JtZXIuaCAq
LzsgfTsKIAkJNUNGRDUzNjAxRTRCQTM0QjAwNDgyOTA4IC8qIGhlbHBlcnNfaW9zLm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUNGRDUzNUYxRTRCQTM0
QjAwNDgyOTA4IC8qIGhlbHBlcnNfaW9zLm1tICovOyB9OwogCQk1Q0ZENTM2QzFFNEJBNERDMDA0
ODI5MDggLyogUlRDQXVkaW9TZXNzaW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1Q0ZENTM2MzFFNEJBNERDMDA0ODI5MDggLyogUlRDQXVkaW9TZXNz
aW9uLmggKi87IH07Ci0JCTVDRkQ1MzZEMUU0QkE0REMwMDQ4MjkwOCAvKiBSVENBdWRpb1Nlc3Np
b24ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1Q0ZE
NTM2NDFFNEJBNERDMDA0ODI5MDggLyogUlRDQXVkaW9TZXNzaW9uLm1tICovOyB9OwotCQk1Q0ZE
NTM2RTFFNEJBNERDMDA0ODI5MDggLyogUlRDQXVkaW9TZXNzaW9uK0NvbmZpZ3VyYXRpb24ubW0g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1Q0ZENTM2NTFF
NEJBNERDMDA0ODI5MDggLyogUlRDQXVkaW9TZXNzaW9uK0NvbmZpZ3VyYXRpb24ubW0gKi87IH07
CisJCTVDRkQ1MzZEMUU0QkE0REMwMDQ4MjkwOCAvKiBSVENBdWRpb1Nlc3Npb24ubW0gaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1Q0ZENTM2NDFFNEJBNERD
MDA0ODI5MDggLyogUlRDQXVkaW9TZXNzaW9uLm1tICovOyBzZXR0aW5ncyA9IHtDT01QSUxFUl9G
TEFHUyA9ICItZm9iamMtYXJjIjsgfTsgfTsKKwkJNUNGRDUzNkUxRTRCQTREQzAwNDgyOTA4IC8q
IFJUQ0F1ZGlvU2Vzc2lvbitDb25maWd1cmF0aW9uLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUNGRDUzNjUxRTRCQTREQzAwNDgyOTA4IC8qIFJUQ0F1
ZGlvU2Vzc2lvbitDb25maWd1cmF0aW9uLm1tICovOyBzZXR0aW5ncyA9IHtDT01QSUxFUl9GTEFH
UyA9ICItZm9iamMtYXJjIjsgfTsgfTsKIAkJNUNGRDUzNkYxRTRCQTREQzAwNDgyOTA4IC8qIFJU
Q0F1ZGlvU2Vzc2lvbitQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA1Q0ZENTM2NjFFNEJBNERDMDA0ODI5MDggLyogUlRDQXVkaW9TZXNzaW9u
K1ByaXZhdGUuaCAqLzsgfTsKIAkJNUNGRDUzNzAxRTRCQTREQzAwNDgyOTA4IC8qIFJUQ0F1ZGlv
U2Vzc2lvbkNvbmZpZ3VyYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDVDRkQ1MzY3MUU0QkE0REMwMDQ4MjkwOCAvKiBSVENBdWRpb1Nlc3Npb25D
b25maWd1cmF0aW9uLmggKi87IH07Ci0JCTVDRkQ1MzcxMUU0QkE0REMwMDQ4MjkwOCAvKiBSVENB
dWRpb1Nlc3Npb25Db25maWd1cmF0aW9uLm0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1Q0ZENTM2ODFFNEJBNERDMDA0ODI5MDggLyogUlRDQXVkaW9TZXNz
aW9uQ29uZmlndXJhdGlvbi5tICovOyB9OworCQk1Q0ZENTM3MTFFNEJBNERDMDA0ODI5MDggLyog
UlRDQXVkaW9TZXNzaW9uQ29uZmlndXJhdGlvbi5tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNUNGRDUzNjgxRTRCQTREQzAwNDgyOTA4IC8qIFJUQ0F1ZGlv
U2Vzc2lvbkNvbmZpZ3VyYXRpb24ubSAqLzsgc2V0dGluZ3MgPSB7Q09NUElMRVJfRkxBR1MgPSAi
LWZvYmpjLWFyYyI7IH07IH07CiAJCTVDRkQ1MzcyMUU0QkE0REMwMDQ4MjkwOCAvKiBSVENBdWRp
b1Nlc3Npb25EZWxlZ2F0ZUFkYXB0ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDVDRkQ1MzY5MUU0QkE0REMwMDQ4MjkwOCAvKiBSVENBdWRpb1Nlc3Np
b25EZWxlZ2F0ZUFkYXB0ZXIuaCAqLzsgfTsKLQkJNUNGRDUzNzMxRTRCQTREQzAwNDgyOTA4IC8q
IFJUQ0F1ZGlvU2Vzc2lvbkRlbGVnYXRlQWRhcHRlci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDRkQ1MzZBMUU0QkE0REMwMDQ4MjkwOCAvKiBSVENB
dWRpb1Nlc3Npb25EZWxlZ2F0ZUFkYXB0ZXIubW0gKi87IH07CisJCTVDRkQ1MzczMUU0QkE0REMw
MDQ4MjkwOCAvKiBSVENBdWRpb1Nlc3Npb25EZWxlZ2F0ZUFkYXB0ZXIubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1Q0ZENTM2QTFFNEJBNERDMDA0ODI5
MDggLyogUlRDQXVkaW9TZXNzaW9uRGVsZWdhdGVBZGFwdGVyLm1tICovOyBzZXR0aW5ncyA9IHtD
T01QSUxFUl9GTEFHUyA9ICItZm9iamMtYXJjIjsgfTsgfTsKIAkJNUNGRDUzN0MxRTRCQTRGNTAw
NDgyOTA4IC8qIGF1ZGlvX2RldmljZV9pb3MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDVDRkQ1Mzc1MUU0QkE0RjUwMDQ4MjkwOCAvKiBhdWRpb19kZXZp
Y2VfaW9zLmggKi87IH07CiAJCTVDRkQ1MzdEMUU0QkE0RjUwMDQ4MjkwOCAvKiBhdWRpb19kZXZp
Y2VfaW9zLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NUNGRDUzNzYxRTRCQTRGNTAwNDgyOTA4IC8qIGF1ZGlvX2RldmljZV9pb3MubW0gKi87IHNldHRp
bmdzID0ge0NPTVBJTEVSX0ZMQUdTID0gIi1mb2JqYy1hcmMiOyB9OyB9OwogCQk1Q0ZENTM4MDFF
NEJBNEY1MDA0ODI5MDggLyogYXVkaW9fc2Vzc2lvbl9vYnNlcnZlci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUNGRDUzNzkxRTRCQTRGNTAwNDgyOTA4
IC8qIGF1ZGlvX3Nlc3Npb25fb2JzZXJ2ZXIuaCAqLzsgfTsKIAkJNUNGRDUzODExRTRCQTRGNTAw
NDgyOTA4IC8qIHZvaWNlX3Byb2Nlc3NpbmdfYXVkaW9fdW5pdC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUNGRDUzN0ExRTRCQTRGNTAwNDgyOTA4IC8q
IHZvaWNlX3Byb2Nlc3NpbmdfYXVkaW9fdW5pdC5oICovOyB9OwotCQk1Q0ZENTM4MjFFNEJBNEY1
MDA0ODI5MDggLyogdm9pY2VfcHJvY2Vzc2luZ19hdWRpb191bml0Lm1tIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUNGRDUzN0IxRTRCQTRGNTAwNDgyOTA4
IC8qIHZvaWNlX3Byb2Nlc3NpbmdfYXVkaW9fdW5pdC5tbSAqLzsgfTsKKwkJNUNGRDUzODIxRTRC
QTRGNTAwNDgyOTA4IC8qIHZvaWNlX3Byb2Nlc3NpbmdfYXVkaW9fdW5pdC5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDRkQ1MzdCMUU0QkE0RjUwMDQ4
MjkwOCAvKiB2b2ljZV9wcm9jZXNzaW5nX2F1ZGlvX3VuaXQubW0gKi87IHNldHRpbmdzID0ge0NP
TVBJTEVSX0ZMQUdTID0gIi1mb2JqYy1hcmMiOyB9OyB9OworCQk1Q0ZENTM4NDFFNEJCRDhEMDA0
ODI5MDggLyogYXVkaW9fZGV2aWNlX25vdF9pbXBsZW1lbnRlZF9pb3MubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1Q0ZENTM4MzFFNEJCRDhEMDA0ODI5
MDggLyogYXVkaW9fZGV2aWNlX25vdF9pbXBsZW1lbnRlZF9pb3MubW0gKi87IHNldHRpbmdzID0g
e0NPTVBJTEVSX0ZMQUdTID0gIi1mb2JqYy1hcmMiOyB9OyB9OwogLyogRW5kIFBCWEJ1aWxkRmls
ZSBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWENvbnRhaW5lckl0ZW1Qcm94eSBzZWN0aW9uICov
CkBAIC01MTg0LDYgKzUxODUsNyBAQAogCQk1Q0ZENTM3OTFFNEJBNEY1MDA0ODI5MDggLyogYXVk
aW9fc2Vzc2lvbl9vYnNlcnZlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBh
dWRpb19zZXNzaW9uX29ic2VydmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVD
RkQ1MzdBMUU0QkE0RjUwMDQ4MjkwOCAvKiB2b2ljZV9wcm9jZXNzaW5nX2F1ZGlvX3VuaXQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gdm9pY2VfcHJvY2Vzc2luZ19hdWRpb191
bml0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVDRkQ1MzdCMUU0QkE0RjUwMDQ4
MjkwOCAvKiB2b2ljZV9wcm9jZXNzaW5nX2F1ZGlvX3VuaXQubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSB2b2ljZV9wcm9jZXNzaW5nX2F1ZGlvX3VuaXQubW07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTVDRkQ1MzgzMUU0QkJEOEQwMDQ4MjkwOCAvKiBh
dWRpb19kZXZpY2Vfbm90X2ltcGxlbWVudGVkX2lvcy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgcGF0aCA9IGF1ZGlvX2RldmljZV9ub3RfaW1wbGVtZW50ZWRfaW9zLm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1RDdDNTlDNTEyMDhDNjhCMDAxQzg3M0UgLyog
bGlid2VicnRjLnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgcGF0aCA9IGxpYndl
YnJ0Yy54Y2NvbmZpZzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUQ3QzU5QzYxMjA4
QzY4QjAwMUM4NzNFIC8qIEJhc2UueGNjb25maWcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBw
YXRoID0gQmFzZS54Y2NvbmZpZzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUQ3QzU5
QzcxMjA4QzY4QjAwMUM4NzNFIC8qIERlYnVnUmVsZWFzZS54Y2NvbmZpZyAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQueGNjb25maWc7IHBhdGggPSBEZWJ1Z1JlbGVhc2UueGNjb25maWc7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC05MTMwLDYgKzkxMzIsNyBAQAogCQkJCTVDRkQ1MzYyMUU0QkE0QzYw
MDQ4MjkwOCAvKiBvYmpjICovLAogCQkJCTVDRkQ1Mzc1MUU0QkE0RjUwMDQ4MjkwOCAvKiBhdWRp
b19kZXZpY2VfaW9zLmggKi8sCiAJCQkJNUNGRDUzNzYxRTRCQTRGNTAwNDgyOTA4IC8qIGF1ZGlv
X2RldmljZV9pb3MubW0gKi8sCisJCQkJNUNGRDUzODMxRTRCQkQ4RDAwNDgyOTA4IC8qIGF1ZGlv
X2RldmljZV9ub3RfaW1wbGVtZW50ZWRfaW9zLm1tICovLAogCQkJCTVDRkQ1Mzc5MUU0QkE0RjUw
MDQ4MjkwOCAvKiBhdWRpb19zZXNzaW9uX29ic2VydmVyLmggKi8sCiAJCQkJNUNGRDUzN0ExRTRC
QTRGNTAwNDgyOTA4IC8qIHZvaWNlX3Byb2Nlc3NpbmdfYXVkaW9fdW5pdC5oICovLAogCQkJCTVD
RkQ1MzdCMUU0QkE0RjUwMDQ4MjkwOCAvKiB2b2ljZV9wcm9jZXNzaW5nX2F1ZGlvX3VuaXQubW0g
Ki8sCkBAIC0xMTIwOCw2ICsxMTIxMSw3IEBACiAJCQkJNUMxMUEwMDAxRTQ1NzQwMDAwNEYwOTg3
IC8qIGF1ZGlvX2RldmljZV9pbXBsLmNjIGluIFNvdXJjZXMgKi8sCiAJCQkJNUNGRDUzN0QxRTRC
QTRGNTAwNDgyOTA4IC8qIGF1ZGlvX2RldmljZV9pb3MubW0gaW4gU291cmNlcyAqLywKIAkJCQk1
QzExQTAwQjFFNDU3NDQ4MDA0RjA5ODcgLyogYXVkaW9fZGV2aWNlX21hYy5jYyBpbiBTb3VyY2Vz
ICovLAorCQkJCTVDRkQ1Mzg0MUU0QkJEOEQwMDQ4MjkwOCAvKiBhdWRpb19kZXZpY2Vfbm90X2lt
cGxlbWVudGVkX2lvcy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTVDREQ4NDE3MUU0MzlCMjkwMDYy
MUU5MiAvKiBhdWRpb19lbmNvZGVyLmNjIGluIFNvdXJjZXMgKi8sCiAJCQkJNUNERDhDQTcxRTQz
QzZGNzAwNjIxRTkyIC8qIGF1ZGlvX2VuY29kZXJfY25nLmNjIGluIFNvdXJjZXMgKi8sCiAJCQkJ
NUNERDhGRjMxRTQzQ0RGNDAwNjIxRTkyIC8qIGF1ZGlvX2VuY29kZXJfY29weV9yZWQuY2MgaW4g
U291cmNlcyAqLywK
</data>
<flag name="review"
          id="322814"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>