<?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>169973</bug_id>
          
          <creation_ts>2017-03-22 14:42:07 -0700</creation_ts>
          <short_desc>Fix warnings in libwebrtc</short_desc>
          <delta_ts>2017-03-23 10:27:14 -0700</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>mitz</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1290213</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-03-22 14:42:07 -0700</bug_when>
    <thetext>Fix warnings in libwebrtc</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1290219</commentid>
    <comment_count>1</comment_count>
      <attachid>305131</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-03-22 15:19:56 -0700</bug_when>
    <thetext>Created attachment 305131
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1290235</commentid>
    <comment_count>2</comment_count>
      <attachid>305133</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-03-22 15:50:11 -0700</bug_when>
    <thetext>Created attachment 305133
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1290240</commentid>
    <comment_count>3</comment_count>
      <attachid>305133</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2017-03-22 15:51:58 -0700</bug_when>
    <thetext>Comment on attachment 305133
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1290287</commentid>
    <comment_count>4</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-03-22 17:58:00 -0700</bug_when>
    <thetext>http://trac.webkit.org/r214288</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1290328</commentid>
    <comment_count>5</comment_count>
    <who name="">mitz</who>
    <bug_when>2017-03-22 19:41:27 -0700</bug_when>
    <thetext>(In reply to Alex Christensen from comment #4)
&gt; http://trac.webkit.org/r214288

Did this fix bug 169505?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1290494</commentid>
    <comment_count>6</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-03-23 10:26:48 -0700</bug_when>
    <thetext>*** Bug 169505 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1290495</commentid>
    <comment_count>7</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-03-23 10:27:14 -0700</bug_when>
    <thetext>It did.
rdar://problem/30989647</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>305131</attachid>
            <date>2017-03-22 15:19:56 -0700</date>
            <delta_ts>2017-03-22 15:50:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-169973-20170322151956.patch</filename>
            <type>text/plain</type>
            <size>26495</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9DaGFuZ2VMb2cKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NoYW5nZUxvZwkocmV2aXNpb24gMjE0Mjc3
KQorKysgU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDQzIEBACisyMDE3LTAzLTIyICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlz
dGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgRml4IHdhcm5pbmdzIGluIGxpYndlYnJ0Ywor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY5OTczCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDb25maWd1
cmF0aW9ucy9ib3Jpbmdzc2wueGNjb25maWc6CisgICAgICAgICogQ29uZmlndXJhdGlvbnMvbGli
c3J0cC54Y2NvbmZpZzoKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9saWJ3ZWJydGMueGNjb25m
aWc6CisgICAgICAgICogQ29uZmlndXJhdGlvbnMvbGlid2VicnRjcGNydGMueGNjb25maWc6Cisg
ICAgICAgICogQ29uZmlndXJhdGlvbnMvbGlieXV2LnhjY29uZmlnOgorICAgICAgICAqIENvbmZp
Z3VyYXRpb25zL29wdXMueGNjb25maWc6CisgICAgICAgICogQ29uZmlndXJhdGlvbnMvdXNyc2N0
cC54Y2NvbmZpZzoKKyAgICAgICAgQnVpbGQgd2l0aCBtb3JlIHdhcm5pbmdzLgorICAgICAgICBv
cHVzIHN0aWxsIG5lZWRzIHNvbWUgaW5jb21wYXRpYmxlIHBvaW50ZXIgd2FybmluZ3MgZGlzYWJs
ZWQgYmVjYXVzZSBpdCBjb252ZXJ0cyAKKyAgICAgICAgY29uc3Qgb3B1c19pbnQxNiAqIHRvIGNv
bnN0IG9wdXNfdmFsMTYgKiBhbmQgb3B1c19pbnQzMiAqIHRvIG9wdXNfdmFsMzIgKgorICAgICAg
ICBhbmQgdGhhdCdzIG9rIGJlY2F1c2UgaXRzIGEgY29kZWMgYW5kIHRoYXQncyB3aGF0IGNvZGVj
cyBkby4KKyAgICAgICAgKiBTb3VyY2Uvd2VicnRjL2Jhc2UvbG9nZ2luZy5jYzoKKyAgICAgICAg
KiBTb3VyY2Uvd2VicnRjL2Jhc2UvbG9nZ2luZy5oOgorICAgICAgICAqIFNvdXJjZS93ZWJydGMv
YmFzZS9uZXZlcmRlc3Ryb3llZC5oOiBBZGRlZC4KKyAgICAgICAgKHdlYnJ0Yzo6TmV2ZXJEZXN0
cm95ZWQ6Ok5ldmVyRGVzdHJveWVkKToKKyAgICAgICAgKHdlYnJ0Yzo6TmV2ZXJEZXN0cm95ZWQ6
Om9wZXJhdG9yIFQmKToKKyAgICAgICAgKHdlYnJ0Yzo6TmV2ZXJEZXN0cm95ZWQ6OmdldCk6Cisg
ICAgICAgICh3ZWJydGM6Ok5ldmVyRGVzdHJveWVkOjpvcGVyYXRvciYpOgorICAgICAgICAod2Vi
cnRjOjpOZXZlckRlc3Ryb3llZDo6YXNQdHIpOgorICAgICAgICBBZGRlZCB3ZWJydGM6Ok5ldmVy
RGVzdHJveWVkIHdoaWNoIG1heSBvciBtYXkgbm90IGJlIGJhc2VkIG9uIFdURjo6TmV2ZXJEZXN0
cm95ZWQuCisgICAgICAgIFRoaXMgYWxsb3dzIHVzIHRvIGF2b2lkIGV4aXQgdGltZSBkZXN0cnVj
dG9ycywgd2hpY2ggd291bGQgc2xvdyBkb3duIHByb2dyYW0gdGVybWluYXRpb24gZm9yIG5vIHJl
YXNvbi4KKyAgICAgICAgKiBTb3VyY2Uvd2VicnRjL2Jhc2UvdmlydHVhbHNvY2tldHNlcnZlci5j
YzoKKyAgICAgICAgKiBTb3VyY2Uvd2VicnRjL21vZHVsZXMvYXVkaW9fY29kaW5nL2NvZGVjcy9i
dWlsdGluX2F1ZGlvX2RlY29kZXJfZmFjdG9yeV9pbnRlcm5hbC5jYzoKKyAgICAgICAgQWRvcHQg
TmV2ZXJEZXN0cm95ZWQgaW4gZnVuY3Rpb24gc2NvcGUgc28gd2UgZG9uJ3QgaGF2ZSBnbG9iYWwg
Y29uc3RydWN0b3JzIG9yIGRlc3RydWN0b3JzLgorICAgICAgICAqIFNvdXJjZS93ZWJydGMvbW9k
dWxlcy9hdWRpb19wcm9jZXNzaW5nL2JlYW1mb3JtZXIvYXJyYXlfdXRpbC5oOgorICAgICAgICAo
d2VicnRjOjpEZWdyZWVzVG9SYWRpYW5zKToKKyAgICAgICAgKHdlYnJ0Yzo6UmFkaWFuc1RvRGVn
cmVlcyk6CisgICAgICAgIEFkZCBjb25zdGV4cHIgc28gd2UgY2FuIGNhbGN1bGF0ZSB2YWx1ZXMg
YXQgY29tcGlsZSB0aW1lIGluc3RlYWQgb2YgbGF1bmNoIHRpbWUuCisgICAgICAgICogU291cmNl
L3dlYnJ0Yy9tb2R1bGVzL3J0cF9ydGNwL3NvdXJjZS9ydHBfdXRpbGl0eS5jYzoKKyAgICAgICAg
KiBTb3VyY2Uvd2VicnRjL3N5c3RlbV93cmFwcGVycy9zb3VyY2UvY2xvY2suY2M6CisgICAgICAg
ICogbGlid2VicnRjLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgIERvbid0IGNv
bXBpbGUgc3NsX3Rlc3QuY2MuICBXZSBkb24ndCBuZWVkIGl0LgorCiAyMDE3LTAzLTEwICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBNb3ZlIGxpYndlYnJ0YyBi
YWNrZW5kIHRvIHVzaW5nIHRyYWNrcwpJbmRleDogU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L0NvbmZpZ3VyYXRpb25zL2JvcmluZ3NzbC54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvYm9yaW5nc3NsLnhjY29uZmlnCShy
ZXZpc2lvbiAyMTQyNTYpCisrKyBTb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJh
dGlvbnMvYm9yaW5nc3NsLnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC0xMCw3ICsxMCw2IEBA
IEhFQURFUl9TRUFSQ0hfUEFUSFMgPSBTb3VyY2UvdGhpcmRfcGFydHkKIElOU1RBTExfUEFUSCA9
IC91c3IvbG9jYWwvbGliOwogUFVCTElDX0hFQURFUlNfRk9MREVSX1BBVEggPSAvdXNyL2xvY2Fs
L2luY2x1ZGUvbGlid2VicnRjOwogVVNFX0hFQURFUk1BUCA9IE5POwotV0FSTklOR19DRkxBR1Mg
PSAtV25vLWV4aXQtdGltZS1kZXN0cnVjdG9yczsKIAogLy8gRklYTUU6IFRoZXJlJ3Mgbm8gYXNz
ZW1ibHkgdXNlZCBpbiB0aGUgYm9yaW5nc3NsIGJ1aWxkIHlldCA6KAogR0NDX1BSRVBST0NFU1NP
Ul9ERUZJTklUSU9OUyA9IE9QRU5TU0xfTk9fQVNNOwpJbmRleDogU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYnNydHAueGNjb25maWcKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYnNydHAueGNjb25m
aWcJKHJldmlzaW9uIDIxNDI1NikKKysrIFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25m
aWd1cmF0aW9ucy9saWJzcnRwLnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC0xMSw1ICsxMSw0
IEBAIEhFQURFUl9TRUFSQ0hfUEFUSFMgPSBTb3VyY2UvdGhpcmRfcGFydHkKIElOU1RBTExfUEFU
SCA9IC91c3IvbG9jYWwvbGliOwogUFVCTElDX0hFQURFUlNfRk9MREVSX1BBVEggPSAvdXNyL2xv
Y2FsL2luY2x1ZGUvbGlid2VicnRjOwogVVNFX0hFQURFUk1BUCA9IE5POwotV0FSTklOR19DRkxB
R1MgPSAtV25vLWV4aXQtdGltZS1kZXN0cnVjdG9ycyAtV25vLWltcGxpY2l0LWZ1bmN0aW9uLWRl
Y2xhcmF0aW9uIC1Xbm8taW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXMgLVduby1kZXByZWNhdGVk
LWRlY2xhcmF0aW9uczsKIEdDQ19QUkVQUk9DRVNTT1JfREVGSU5JVElPTlMgPSBWOF9ERVBSRUNB
VElPTl9XQVJOSU5HUyBFTkFCTEVfTk9USUZJQ0FUSU9OUyBFTkFCTEVfUExVR0lOUz0xIEVOQUJM
RV9QREY9MSBFTkFCTEVfUFJJTlRJTkc9MSBFTkFCTEVfQkFTSUNfUFJJTlRJTkc9MSBFTkFCTEVf
UFJJTlRfUFJFVklFVz0xIEVOQUJMRV9TUEVMTENIRUNLPTEgVVNFX0JST1dTRVJfU1BFTExDSEVD
S0VSPTEgTk9fVENNQUxMT0MgVVNFX0VYVEVSTkFMX1BPUFVQX01FTlU9MSBFTkFCTEVfV0VCUlRD
PTEgRU5BQkxFX0VYVEVOU0lPTlM9MSBFTkFCTEVfVEFTS19NQU5BR0VSPTEgRU5BQkxFX1RIRU1F
Uz0xIEVOQUJMRV9TRVNTSU9OX1NFUlZJQ0U9MSBFTkFCTEVfU1VQRVJWSVNFRF9VU0VSUz0xIEZV
TExfU0FGRV9CUk9XU0lORyBTQUZFX0JST1dTSU5HX0NTRCBTQUZFX0JST1dTSU5HX0RCX0xPQ0FM
IENIUk9NSVVNX0JVSUxEIEVOQUJMRV9NRURJQV9ST1VURVI9MSBGSUVMRFRSSUFMX1RFU1RJTkdf
RU5BQkxFRCBDUl9DTEFOR19SRVZJU0lPTj0yODQ5NzktMSBDUl9YQ09ERV9WRVJTSU9OPTA4MjAg
X19BU1NFUlRfTUFDUk9TX0RFRklORV9WRVJTSU9OU19XSVRIT1VUX1VOREVSU0NPUkU9MCBfREVC
VUcgRFlOQU1JQ19BTk5PVEFUSU9OU19FTkFCTEVEPTEgV1RGX1VTRV9EWU5BTUlDX0FOTk9UQVRJ
T05TPTEgUEFDS0FHRV9TVFJJTkc9IlwibGlic3J0cDIgMi4wLjAtcHJlXCIiIFBBQ0tBR0VfVkVS
U0lPTj0iXCIyLjAuMC1wcmVcIiIgSEFWRV9DT05GSUdfSCBPUEVOU1NMIEhBVkVfU1RETElCX0gg
SEFWRV9TVFJJTkdfSCBIQVZFX1NURElOVF9IIEhBVkVfSU5UVFlQRVNfSCBIQVZFX0lOVDE2X1Qg
SEFWRV9JTlQzMl9UIEhBVkVfSU5UOF9UIEhBVkVfVUlOVDE2X1QgSEFWRV9VSU5UMzJfVCBIQVZF
X1VJTlQ2NF9UIEhBVkVfVUlOVDhfVCBIQVZFX0FSUEFfSU5FVF9IIEhBVkVfTkVUSU5FVF9JTl9I
IEhBVkVfU1lTX1RZUEVTX0ggSEFWRV9VTklTVERfSDsKSW5kZXg6IFNvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMueGNjb25maWcKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy54
Y2NvbmZpZwkocmV2aXNpb24gMjE0MjU2KQorKysgU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy54Y2NvbmZpZwkod29ya2luZyBjb3B5KQpAQCAtMjQs
NyArMjQsNiBAQCBIRUFERVJfU0VBUkNIX1BBVEhTID0gU291cmNlIFNvdXJjZS90aGlyCiBQVUJM
SUNfSEVBREVSU19GT0xERVJfUEFUSCA9IC91c3IvbG9jYWwvaW5jbHVkZS9saWJ3ZWJydGM7CiBV
U0VfSEVBREVSTUFQID0gTk87CiBJTlNUQUxMSERSU19TQ1JJUFRfUEhBU0UgPSBZRVM7Ci1XQVJO
SU5HX0NGTEFHUyA9IC1Xbm8tZXhpdC10aW1lLWRlc3RydWN0b3JzIC1Xbm8tb2JqYy1wcm9wZXJ0
eS1uby1hdHRyaWJ1dGUgLVduby1vYmpjLW1pc3Npbmctc3VwZXItY2FsbHMgLVduby1kZXByZWNh
dGVkLWRlY2xhcmF0aW9uczsKIAogR0NDX1BSRVBST0NFU1NPUl9ERUZJTklUSU9OUyA9IFdFQlJU
Q19QT1NJWCBXRUJSVENfTUFDIFNTTF9VU0VfT1BFTlNTTCBGRUFUVVJFX0VOQUJMRV9TU0wgSEFW
RV9TUlRQIEhBVkVfT1BFTlNTTF9TU0xfSCBTQ1RQX1BST0NFU1NfTEVWRUxfTE9DS1MgU0NUUF9T
SU1QTEVfQUxMT0NBVE9SIFNDVFBfVVNFX09QRU5TU0xfU0hBMSBfX1VzZXJzcGFjZV9fIEhBVkVf
U0FfTEVOIEhBVkVfU0NPTk5fTEVOIF9fQVBQTEVfVVNFX1JGQ18yMjkyIF9fVXNlcnNwYWNlX29z
X0RhcndpbiBOT05fV0lORE9XU19ERUZJTkUgSEFWRV9XRUJSVENfVklERU8gSEFWRV9XRUJSVENf
Vk9JQ0UgV0VCUlRDX0lOVEVMTElHSUJJTElUWV9FTkhBTkNFUj0wIFdFQlJUQ19BUE1fREVCVUdf
RFVNUD0wIFdFQlJUQ19OU19GTE9BVCBXRUJSVENfQ09ERUNfSUxCQyBXRUJSVENfQ09ERUNfT1BV
UyBXRUJSVENfQ09ERUNfSVNBQyBXRUJSVENfQ09ERUNfUkVEIFJUQ19ESVNBQkxFX1ZQOSBSVENf
RElTQUJMRV9WUDggSEFWRV9TVERJTlRfSCBIQVZFX1NURExJQl9IIEhBVkVfVUlOVDY0X1QgT1BF
TlNTTCBIQVZFX0NPTkZJR19IIFdFQlJUQ19XRUJLSVRfQlVJTEQgSEFWRV9QVEhSRUFEX0NPTkRf
VElNRURXQUlUX1JFTEFUSVZFICBIQVZFX1NDVFAgV0VCUlRDX0NPREVDX0c3MTEgV0VCUlRDX0NP
REVDX0c3MjI7CiAKSW5kZXg6IFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0
aW9ucy9saWJ3ZWJydGNwY3J0Yy54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvbGlid2VicnRjcGNydGMueGNjb25maWcJKHJl
dmlzaW9uIDIxNDI1NikKKysrIFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0
aW9ucy9saWJ3ZWJydGNwY3J0Yy54Y2NvbmZpZwkod29ya2luZyBjb3B5KQpAQCAtMTEsNyArMTEs
NiBAQCBIRUFERVJfU0VBUkNIX1BBVEhTID0gU291cmNlLyBTb3VyY2UvdGhpCiBJTlNUQUxMX1BB
VEggPSAvdXNyL2xvY2FsL2xpYjsKIFBVQkxJQ19IRUFERVJTX0ZPTERFUl9QQVRIID0gL3Vzci9s
b2NhbC9pbmNsdWRlL2xpYndlYnJ0YzsKIFVTRV9IRUFERVJNQVAgPSBOTzsKLVdBUk5JTkdfQ0ZM
QUdTID0gLVduby1leGl0LXRpbWUtZGVzdHJ1Y3RvcnMgLVduby1vYmpjLXByb3BlcnR5LW5vLWF0
dHJpYnV0ZSAtV25vLW9iamMtbWlzc2luZy1zdXBlci1jYWxsczsKIAogR0NDX1BSRVBST0NFU1NP
Ul9ERUZJTklUSU9OUyA9IFdFQlJUQ19QT1NJWCBXRUJSVENfTUFDIFNTTF9VU0VfT1BFTlNTTCBG
RUFUVVJFX0VOQUJMRV9TU0wgSEFWRV9TUlRQIEhBVkVfT1BFTlNTTF9TU0xfSCBTQ1RQX1BST0NF
U1NfTEVWRUxfTE9DS1MgU0NUUF9TSU1QTEVfQUxMT0NBVE9SIFNDVFBfVVNFX09QRU5TU0xfU0hB
MSBfX1VzZXJzcGFjZV9fIEhBVkVfU0FfTEVOIEhBVkVfU0NPTk5fTEVOIF9fQVBQTEVfVVNFX1JG
Q18yMjkyIF9fVXNlcnNwYWNlX29zX0RhcndpbiBOT05fV0lORE9XU19ERUZJTkUgSEFWRV9XRUJS
VENfVklERU8gSEFWRV9XRUJSVENfVk9JQ0UgV0VCUlRDX0lOVEVMTElHSUJJTElUWV9FTkhBTkNF
Uj0wIFdFQlJUQ19BUE1fREVCVUdfRFVNUD0wIFdFQlJUQ19OU19GTE9BVCBXRUJSVENfQ09ERUNf
SUxCQyBXRUJSVENfQ09ERUNfT1BVUyBXRUJSVENfQ09ERUNfSVNBQyBXRUJSVENfQ09ERUNfUkVE
IFJUQ19ESVNBQkxFX1ZQOSBSVENfRElTQUJMRV9WUDggSEFWRV9TVERJTlRfSCBIQVZFX1NURExJ
Ql9IIEhBVkVfVUlOVDY0X1QgT1BFTlNTTCBIQVZFX0NPTkZJR19IIFdFQlJUQ19XRUJLSVRfQlVJ
TEQgSEFWRV9QVEhSRUFEX0NPTkRfVElNRURXQUlUX1JFTEFUSVZFICBIQVZFX1NDVFA7CiAKSW5k
ZXg6IFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9ucy9saWJ5dXYueGNj
b25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3Vy
YXRpb25zL2xpYnl1di54Y2NvbmZpZwkocmV2aXNpb24gMjE0MjU2KQorKysgU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYnl1di54Y2NvbmZpZwkod29ya2luZyBj
b3B5KQpAQCAtMTAsNCArMTAsMyBAQCBIRUFERVJfU0VBUkNIX1BBVEhTID0gU291cmNlL3RoaXJk
X3BhcnR5CiBJTlNUQUxMX1BBVEggPSAvdXNyL2xvY2FsL2xpYjsKIFBVQkxJQ19IRUFERVJTX0ZP
TERFUl9QQVRIID0gL3Vzci9sb2NhbC9pbmNsdWRlL2xpYndlYnJ0YzsKIFVTRV9IRUFERVJNQVAg
PSBOTzsKLVdBUk5JTkdfQ0ZMQUdTID0gLVduby1leGl0LXRpbWUtZGVzdHJ1Y3RvcnMgLVduby1p
bXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbiAtV25vLWluY29tcGF0aWJsZS1wb2ludGVyLXR5
cGVzIC1Xbm8tZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnM7CkluZGV4OiBTb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvb3B1cy54Y2NvbmZpZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvb3B1cy54Y2NvbmZpZwko
cmV2aXNpb24gMjE0MjU2KQorKysgU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3Vy
YXRpb25zL29wdXMueGNjb25maWcJKHdvcmtpbmcgY29weSkKQEAgLTEwLDcgKzEwLDcgQEAgSEVB
REVSX1NFQVJDSF9QQVRIUyA9IFNvdXJjZS90aGlyZF9wYXJ0eQogSU5TVEFMTF9QQVRIID0gL3Vz
ci9sb2NhbC9saWI7CiBQVUJMSUNfSEVBREVSU19GT0xERVJfUEFUSCA9IC91c3IvbG9jYWwvaW5j
bHVkZS9saWJ3ZWJydGM7CiBVU0VfSEVBREVSTUFQID0gTk87Ci1XQVJOSU5HX0NGTEFHUyA9IC1X
bm8tZXhpdC10aW1lLWRlc3RydWN0b3JzIC1Xbm8taW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRp
b24gLVduby1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBlcworV0FSTklOR19DRkxBR1MgPSAtV25v
LWluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVzCiBHQ0NfUFJFUFJPQ0VTU09SX0RFRklOSVRJT05T
ID0gVkFSX0FSUkFZUyBPUFVTX0JVSUxEIE9QVVNfRVhQT1JUPSBIQVZFX0xSSU5UIEhBVkVfTFJJ
TlRGIE9QVVNfWDg2X01BWV9IQVZFX1NTRTI7CiAKIEVYQ0xVREVEX1NPVVJDRV9GSUxFX05BTUVT
W3Nkaz1pcGhvbmUqXSA9ICpfc3NlLmMgKl9zc2UyLmM7CkluZGV4OiBTb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvdXNyc2N0cC54Y2NvbmZpZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvdXNyc2N0cC54Y2Nv
bmZpZwkocmV2aXNpb24gMjE0MjU2KQorKysgU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0Nv
bmZpZ3VyYXRpb25zL3VzcnNjdHAueGNjb25maWcJKHdvcmtpbmcgY29weSkKQEAgLTEwLDYgKzEw
LDUgQEAgSEVBREVSX1NFQVJDSF9QQVRIUyA9IFNvdXJjZS8gU291cmNlL3RoaQogSU5TVEFMTF9Q
QVRIID0gL3Vzci9sb2NhbC9saWI7CiBQVUJMSUNfSEVBREVSU19GT0xERVJfUEFUSCA9IC91c3Iv
bG9jYWwvaW5jbHVkZS9saWJ3ZWJydGM7CiBVU0VfSEVBREVSTUFQID0gTk87Ci1XQVJOSU5HX0NG
TEFHUyA9IC1Xbm8tZXhpdC10aW1lLWRlc3RydWN0b3JzIC1Xbm8taW1wbGljaXQtZnVuY3Rpb24t
ZGVjbGFyYXRpb24gLVduby1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBlcyAtV25vLWRlcHJlY2F0
ZWQtZGVjbGFyYXRpb25zOwogR0NDX1BSRVBST0NFU1NPUl9ERUZJTklUSU9OUyA9IFNDVFBfUFJP
Q0VTU19MRVZFTF9MT0NLUyBTQ1RQX1NJTVBMRV9BTExPQ0FUT1IgU0NUUF9VU0VfT1BFTlNTTF9T
SEExIF9fVXNlcnNwYWNlX18gSEFWRV9TQV9MRU4gSEFWRV9TQ09OTl9MRU4gX19BUFBMRV9VU0Vf
UkZDXzIyOTIgX19Vc2Vyc3BhY2Vfb3NfRGFyd2luOwogT1RIRVJfQ0ZMQUdTID0gLVVJTkVUIC1V
SU5FVDYgLVVfX0FQUExFX187CkluZGV4OiBTb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3dlYnJ0Yy9iYXNlL2xvZ2dpbmcuY2MKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvYmFzZS9sb2dnaW5nLmNjCShyZXZpc2lvbiAyMTQy
NTYpCisrKyBTb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9iYXNlL2xv
Z2dpbmcuY2MJKHdvcmtpbmcgY29weSkKQEAgLTQxLDYgKzQxLDcgQEAgc3RhdGljIGNvbnN0IGNo
YXIga0xpYmppbmdsZVtdID0gImxpYmppbgogCiAjaW5jbHVkZSAid2VicnRjL2Jhc2UvY3JpdGlj
YWxzZWN0aW9uLmgiCiAjaW5jbHVkZSAid2VicnRjL2Jhc2UvbG9nZ2luZy5oIgorI2luY2x1ZGUg
IndlYnJ0Yy9iYXNlL25ldmVyZGVzdHJveWVkLmgiCiAjaW5jbHVkZSAid2VicnRjL2Jhc2UvcGxh
dGZvcm1fdGhyZWFkLmgiCiAjaW5jbHVkZSAid2VicnRjL2Jhc2Uvc3RyaW5nZW5jb2RlLmgiCiAj
aW5jbHVkZSAid2VicnRjL2Jhc2Uvc3RyaW5ndXRpbHMuaCIKQEAgLTEwMywxNSArMTA0LDIzIEBA
IExvZ2dpbmdTZXZlcml0eSBMb2dNZXNzYWdlOjpkYmdfc2V2XyA9IEwKIGJvb2wgTG9nTWVzc2Fn
ZTo6bG9nX3RvX3N0ZGVycl8gPSB0cnVlOwogCiBuYW1lc3BhY2UgewotLy8gR2xvYmFsIGxvY2sg
Zm9yIGxvZyBzdWJzeXN0ZW0sIG9ubHkgbmVlZGVkIHRvIHNlcmlhbGl6ZSBhY2Nlc3MgdG8gc3Ry
ZWFtc18uCi1Dcml0aWNhbFNlY3Rpb24gZ19sb2dfY3JpdDsKKy8vIEdsb2JhbCBsb2NrIGZvciBs
b2cgc3Vic3lzdGVtLCBvbmx5IG5lZWRlZCB0byBzZXJpYWxpemUgYWNjZXNzIHRvIHN0cmVhbXMu
Citjb25zdCBDcml0aWNhbFNlY3Rpb24mIGdfbG9nX2NyaXQoKQoreworICAgIHN0YXRpYyB3ZWJy
dGM6Ok5ldmVyRGVzdHJveWVkPENyaXRpY2FsU2VjdGlvbj4gZ19sb2dfY3JpdDsKKyAgICByZXR1
cm4gZ19sb2dfY3JpdDsKK30KIH0gIC8vIG5hbWVzcGFjZQogCiAvLyBUaGUgbGlzdCBvZiBsb2dn
aW5nIHN0cmVhbXMgY3VycmVudGx5IGNvbmZpZ3VyZWQuCiAvLyBOb3RlOiB3ZSBleHBsaWNpdGx5
IGRvIG5vdCBjbGVhbiB0aGlzIHVwLCBiZWNhdXNlIG9mIHRoZSB1bmNlcnRhaW4gb3JkZXJpbmcK
IC8vIG9mIGRlc3RydWN0b3JzIGF0IHByb2dyYW0gZXhpdC4gIExldCB0aGUgcGVyc29uIHdobyBz
ZXRzIHRoZSBzdHJlYW0gdHJpZ2dlcgogLy8gY2xlYW51cCBieSBzZXR0aW5nIHRvIG51bGwsIG9y
IGxldCBpdCBsZWFrIChzYWZlIGF0IHByb2dyYW0gZXhpdCkuCi1Mb2dNZXNzYWdlOjpTdHJlYW1M
aXN0IExvZ01lc3NhZ2U6OnN0cmVhbXNfIEdVQVJERURfQlkoZ19sb2dfY3JpdCk7CitMb2dNZXNz
YWdlOjpTdHJlYW1MaXN0JiBMb2dNZXNzYWdlOjpzdHJlYW1zKCkKK3sKKyAgICBzdGF0aWMgd2Vi
cnRjOjpOZXZlckRlc3Ryb3llZDxMb2dNZXNzYWdlOjpTdHJlYW1MaXN0PiBzdHJlYW1zIEdVQVJE
RURfQlkoZ19sb2dfY3JpdCk7CisgICAgcmV0dXJuIHN0cmVhbXM7Cit9CiAKIC8vIEJvb2xlYW4g
b3B0aW9ucyBkZWZhdWx0IHRvIGZhbHNlICgwKQogYm9vbCBMb2dNZXNzYWdlOjp0aHJlYWRfLCBM
b2dNZXNzYWdlOjp0aW1lc3RhbXBfOwpAQCAtMjA3LDggKzIxNiw4IEBAIExvZ01lc3NhZ2U6On5M
b2dNZXNzYWdlKCkgewogICAgIE91dHB1dFRvRGVidWcoc3RyLCBzZXZlcml0eV8sIHRhZ18pOwog
ICB9CiAKLSAgQ3JpdFNjb3BlIGNzKCZnX2xvZ19jcml0KTsKLSAgZm9yIChhdXRvJiBrdiA6IHN0
cmVhbXNfKSB7CisgIENyaXRTY29wZSBjcygmZ19sb2dfY3JpdCgpKTsKKyAgZm9yIChhdXRvJiBr
diA6IHN0cmVhbXMoKSkgewogICAgIGlmIChzZXZlcml0eV8gPj0ga3Yuc2Vjb25kKSB7CiAgICAg
ICBrdi5maXJzdC0+T25Mb2dNZXNzYWdlKHN0cik7CiAgICAgfQpAQCAtMjM1LDcgKzI0NCw3IEBA
IHZvaWQgTG9nTWVzc2FnZTo6TG9nVGltZXN0YW1wcyhib29sIG9uKSAKIAogdm9pZCBMb2dNZXNz
YWdlOjpMb2dUb0RlYnVnKExvZ2dpbmdTZXZlcml0eSBtaW5fc2V2KSB7CiAgIGRiZ19zZXZfID0g
bWluX3NldjsKLSAgQ3JpdFNjb3BlIGNzKCZnX2xvZ19jcml0KTsKKyAgQ3JpdFNjb3BlIGNzKCZn
X2xvZ19jcml0KCkpOwogICBVcGRhdGVNaW5Mb2dTZXZlcml0eSgpOwogfQogCkBAIC0yNDQsOSAr
MjUzLDkgQEAgdm9pZCBMb2dNZXNzYWdlOjpTZXRMb2dUb1N0ZGVycihib29sIGxvZwogfQogCiBp
bnQgTG9nTWVzc2FnZTo6R2V0TG9nVG9TdHJlYW0oTG9nU2luayogc3RyZWFtKSB7Ci0gIENyaXRT
Y29wZSBjcygmZ19sb2dfY3JpdCk7CisgIENyaXRTY29wZSBjcygmZ19sb2dfY3JpdCgpKTsKICAg
TG9nZ2luZ1NldmVyaXR5IHNldiA9IExTX05PTkU7Ci0gIGZvciAoYXV0byYga3YgOiBzdHJlYW1z
XykgeworICBmb3IgKGF1dG8mIGt2IDogc3RyZWFtcygpKSB7CiAgICAgaWYgKCFzdHJlYW0gfHwg
c3RyZWFtID09IGt2LmZpcnN0KSB7CiAgICAgICBzZXYgPSBzdGQ6Om1pbihzZXYsIGt2LnNlY29u
ZCk7CiAgICAgfQpAQCAtMjU1LDE2ICsyNjQsMTYgQEAgaW50IExvZ01lc3NhZ2U6OkdldExvZ1Rv
U3RyZWFtKExvZ1NpbmsqIAogfQogCiB2b2lkIExvZ01lc3NhZ2U6OkFkZExvZ1RvU3RyZWFtKExv
Z1NpbmsqIHN0cmVhbSwgTG9nZ2luZ1NldmVyaXR5IG1pbl9zZXYpIHsKLSAgQ3JpdFNjb3BlIGNz
KCZnX2xvZ19jcml0KTsKLSAgc3RyZWFtc18ucHVzaF9iYWNrKHN0ZDo6bWFrZV9wYWlyKHN0cmVh
bSwgbWluX3NldikpOworICBDcml0U2NvcGUgY3MoJmdfbG9nX2NyaXQoKSk7CisgIHN0cmVhbXMo
KS5wdXNoX2JhY2soc3RkOjptYWtlX3BhaXIoc3RyZWFtLCBtaW5fc2V2KSk7CiAgIFVwZGF0ZU1p
bkxvZ1NldmVyaXR5KCk7CiB9CiAKIHZvaWQgTG9nTWVzc2FnZTo6UmVtb3ZlTG9nVG9TdHJlYW0o
TG9nU2luayogc3RyZWFtKSB7Ci0gIENyaXRTY29wZSBjcygmZ19sb2dfY3JpdCk7Ci0gIGZvciAo
U3RyZWFtTGlzdDo6aXRlcmF0b3IgaXQgPSBzdHJlYW1zXy5iZWdpbigpOyBpdCAhPSBzdHJlYW1z
Xy5lbmQoKTsgKytpdCkgeworICBDcml0U2NvcGUgY3MoJmdfbG9nX2NyaXQoKSk7CisgIGZvciAo
U3RyZWFtTGlzdDo6aXRlcmF0b3IgaXQgPSBzdHJlYW1zKCkuYmVnaW4oKTsgaXQgIT0gc3RyZWFt
cygpLmVuZCgpOyArK2l0KSB7CiAgICAgaWYgKHN0cmVhbSA9PSBpdC0+Zmlyc3QpIHsKLSAgICAg
IHN0cmVhbXNfLmVyYXNlKGl0KTsKKyAgICAgIHN0cmVhbXMoKS5lcmFzZShpdCk7CiAgICAgICBi
cmVhazsKICAgICB9CiAgIH0KQEAgLTMzNSw3ICszNDQsNyBAQCB2b2lkIExvZ01lc3NhZ2U6OkNv
bmZpZ3VyZUxvZ2dpbmcoY29uc3QgCiAKIHZvaWQgTG9nTWVzc2FnZTo6VXBkYXRlTWluTG9nU2V2
ZXJpdHkoKSBFWENMVVNJVkVfTE9DS1NfUkVRVUlSRUQoZ19sb2dfY3JpdCkgewogICBMb2dnaW5n
U2V2ZXJpdHkgbWluX3NldiA9IGRiZ19zZXZfOwotICBmb3IgKGF1dG8mIGt2IDogc3RyZWFtc18p
IHsKKyAgZm9yIChhdXRvJiBrdiA6IHN0cmVhbXMoKSkgewogICAgIG1pbl9zZXYgPSBzdGQ6Om1p
bihkYmdfc2V2Xywga3Yuc2Vjb25kKTsKICAgfQogICBtaW5fc2V2XyA9IG1pbl9zZXY7CkluZGV4
OiBTb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9iYXNlL2xvZ2dpbmcu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0
Yy9iYXNlL2xvZ2dpbmcuaAkocmV2aXNpb24gMjE0MjU2KQorKysgU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS93ZWJydGMvYmFzZS9sb2dnaW5nLmgJKHdvcmtpbmcgY29weSkKQEAg
LTIzMyw4ICsyMzMsOCBAQCBjbGFzcyBMb2dNZXNzYWdlIHsKICAgLy8gY3R4X3Nldl8gaXMgdGhl
IG1pbmltdW0gbGV2ZWwgYXQgd2hpY2ggZmlsZSBjb250ZXh0IGlzIGRpc3BsYXllZAogICBzdGF0
aWMgTG9nZ2luZ1NldmVyaXR5IG1pbl9zZXZfLCBkYmdfc2V2XywgY3R4X3Nldl87CiAKLSAgLy8g
VGhlIG91dHB1dCBzdHJlYW1zIGFuZCB0aGVpciBhc3NvY2lhdGVkIHNldmVyaXRpZXMKLSAgc3Rh
dGljIFN0cmVhbUxpc3Qgc3RyZWFtc187CisgICAgLy8gVGhlIG91dHB1dCBzdHJlYW1zIGFuZCB0
aGVpciBhc3NvY2lhdGVkIHNldmVyaXRpZXMKKyAgICBzdGF0aWMgU3RyZWFtTGlzdCYgc3RyZWFt
cygpOwogCiAgIC8vIEZsYWdzIGZvciBmb3JtYXR0aW5nIG9wdGlvbnMKICAgc3RhdGljIGJvb2wg
dGhyZWFkXywgdGltZXN0YW1wXzsKSW5kZXg6IFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2Uvd2VicnRjL2Jhc2UvbmV2ZXJkZXN0cm95ZWQuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9iYXNlL25ldmVyZGVzdHJveWVkLmgJ
KG5vbmV4aXN0ZW50KQorKysgU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJy
dGMvYmFzZS9uZXZlcmRlc3Ryb3llZC5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzMgQEAK
Ky8qCisgKiAgQ29weXJpZ2h0IChjKSAyMDE3IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZl
ZC4KKyAqCisgKiAgVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qt
c3R5bGUgbGljZW5zZQorICogIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUg
aW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZQorICogIHRyZWUuIEFuIGFkZGl0aW9uYWwgaW50ZWxs
ZWN0dWFsIHByb3BlcnR5IHJpZ2h0cyBncmFudCBjYW4gYmUgZm91bmQKKyAqICBpbiB0aGUgZmls
ZSBQQVRFTlRTLiAgQWxsIGNvbnRyaWJ1dGluZyBwcm9qZWN0IGF1dGhvcnMgbWF5CisgKiAgYmUg
Zm91bmQgaW4gdGhlIEFVVEhPUlMgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlIHRyZWUu
CisgKi8KKworI3ByYWdtYSBvbmNlCisKK25hbWVzcGFjZSB3ZWJydGMgeworCit0ZW1wbGF0ZTx0
eXBlbmFtZSBUPiBjbGFzcyBOZXZlckRlc3Ryb3llZCB7CisgICAgTmV2ZXJEZXN0cm95ZWQoY29u
c3QgTmV2ZXJEZXN0cm95ZWQmKSA9IGRlbGV0ZTsKKyAgICBOZXZlckRlc3Ryb3llZCYgb3BlcmF0
b3I9KGNvbnN0IE5ldmVyRGVzdHJveWVkJikgPSBkZWxldGU7CitwdWJsaWM6CisgICAgdGVtcGxh
dGU8dHlwZW5hbWUuLi4gQXJncz4KKyAgICBOZXZlckRlc3Ryb3llZChBcmdzJiYuLi4gYXJncykK
KyAgICB7CisgICAgICAgIG5ldyAoJm1fc3RvcmFnZSkgVChzdGQ6OmZvcndhcmQ8QXJncz4oYXJn
cykuLi4pOworICAgIH0KKyAgICBvcGVyYXRvciBUJigpIHsgcmV0dXJuICphc1B0cigpOyB9Cisg
ICAgVCYgZ2V0KCkgeyByZXR1cm4gKmFzUHRyKCk7IH0KKyAgICBUKiBvcGVyYXRvciYoKSB7IHJl
dHVybiBhc1B0cigpOyB9Citwcml2YXRlOgorICAgIHR5cGVkZWYgdHlwZW5hbWUgc3RkOjpyZW1v
dmVfY29uc3Q8VD46OnR5cGUqIFBvaW50ZXJUeXBlOworICAgIFBvaW50ZXJUeXBlIGFzUHRyKCkg
eyByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxQb2ludGVyVHlwZT4oJm1fc3RvcmFnZSk7IH0KKyAg
ICB0eXBlbmFtZSBzdGQ6OmFsaWduZWRfc3RvcmFnZTxzaXplb2YoVCksIHN0ZDo6YWxpZ25tZW50
X29mPFQ+Ojp2YWx1ZT46OnR5cGUgbV9zdG9yYWdlOworfTsKKworfQpJbmRleDogU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvYmFzZS92aXJ0dWFsc29ja2V0c2VydmVy
LmNjCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2Vi
cnRjL2Jhc2UvdmlydHVhbHNvY2tldHNlcnZlci5jYwkocmV2aXNpb24gMjE0MjU2KQorKysgU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvYmFzZS92aXJ0dWFsc29ja2V0
c2VydmVyLmNjCSh3b3JraW5nIGNvcHkpCkBAIC0xMDE2LDcgKzEwMTYsNyBAQCB2b2lkIFZpcnR1
YWxTb2NrZXRTZXJ2ZXI6OlVwZGF0ZURlbGF5RGlzCiAgIH0KIH0KIAotc3RhdGljIGRvdWJsZSBQ
SSA9IDQgKiBhdGFuKDEuMCk7CitzdGF0aWMgY29uc3QgZG91YmxlIFBJID0gMy4xNDE1OTI2NTM1
ODk3OTMyMzg0NjI2NDMzODMyNzk1MDI4ODQ7CiAKIHN0YXRpYyBkb3VibGUgTm9ybWFsKGRvdWJs
ZSB4LCBkb3VibGUgbWVhbiwgZG91YmxlIHN0ZGRldikgewogICBkb3VibGUgYSA9ICh4IC0gbWVh
bikgKiAoeCAtIG1lYW4pIC8gKDIgKiBzdGRkZXYgKiBzdGRkZXYpOwpJbmRleDogU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvbW9kdWxlcy9hdWRpb19jb2RpbmcvY29k
ZWNzL2J1aWx0aW5fYXVkaW9fZGVjb2Rlcl9mYWN0b3J5X2ludGVybmFsLmNjCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL21vZHVsZXMvYXVk
aW9fY29kaW5nL2NvZGVjcy9idWlsdGluX2F1ZGlvX2RlY29kZXJfZmFjdG9yeV9pbnRlcm5hbC5j
YwkocmV2aXNpb24gMjE0MjU2KQorKysgU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS93ZWJydGMvbW9kdWxlcy9hdWRpb19jb2RpbmcvY29kZWNzL2J1aWx0aW5fYXVkaW9fZGVjb2Rl
cl9mYWN0b3J5X2ludGVybmFsLmNjCSh3b3JraW5nIGNvcHkpCkBAIC0xNSw2ICsxNSw3IEBACiAK
ICNpbmNsdWRlICJ3ZWJydGMvYmFzZS9jaGVja3MuaCIKICNpbmNsdWRlICJ3ZWJydGMvYmFzZS9v
cHRpb25hbC5oIgorI2luY2x1ZGUgIndlYnJ0Yy9iYXNlL25ldmVyZGVzdHJveWVkLmgiCiAjaW5j
bHVkZSAid2VicnRjL2NvbW1vbl90eXBlcy5oIgogI2luY2x1ZGUgIndlYnJ0Yy9tb2R1bGVzL2F1
ZGlvX2NvZGluZy9jb2RlY3MvY25nL3dlYnJ0Y19jbmcuaCIKICNpbmNsdWRlICJ3ZWJydGMvbW9k
dWxlcy9hdWRpb19jb2RpbmcvY29kZWNzL2c3MTEvYXVkaW9fZGVjb2Rlcl9wY20uaCIKQEAgLTUw
LDcgKzUxLDggQEAgc3RydWN0IE5hbWVkRGVjb2RlckNvbnN0cnVjdG9yIHsKIAogLy8gVE9ETyhr
d2liZXJnKTogVGhlc2UgZmFjdG9yeSBmdW5jdGlvbnMgc2hvdWxkIHByb2JhYmx5IGJlIG1vdmVk
IHRvIGVhY2gKIC8vIGRlY29kZXIuCi1OYW1lZERlY29kZXJDb25zdHJ1Y3RvciBkZWNvZGVyX2Nv
bnN0cnVjdG9yc1tdID0geworc3RhdGljIGNvbnN0IHN0ZDo6dmVjdG9yPE5hbWVkRGVjb2RlckNv
bnN0cnVjdG9yPiYgZGVjb2Rlcl9jb25zdHJ1Y3RvcnMoKSB7Cisgc3RhdGljIE5ldmVyRGVzdHJv
eWVkPHN0ZDo6dmVjdG9yPE5hbWVkRGVjb2RlckNvbnN0cnVjdG9yPj4gZGVjb2Rlcl9jb25zdHJ1
Y3RvcnMgPSBbXSB7IHJldHVybiBzdGQ6OnZlY3RvcjxOYW1lZERlY29kZXJDb25zdHJ1Y3Rvcj4o
ewogICAgIHsicGNtdSIsCiAgICAgIFtdKGNvbnN0IFNkcEF1ZGlvRm9ybWF0JiBmb3JtYXQsIHN0
ZDo6dW5pcXVlX3B0cjxBdWRpb0RlY29kZXI+KiBvdXQpIHsKICAgICAgICBpZiAoZm9ybWF0LmNs
b2NrcmF0ZV9oeiA9PSA4MDAwICYmIGZvcm1hdC5udW1fY2hhbm5lbHMgPj0gMSkgewpAQCAtMTcw
LDE0ICsxNzIsMTYgQEAgTmFtZWREZWNvZGVyQ29uc3RydWN0b3IgZGVjb2Rlcl9jb25zdHJ1Ywog
ICAgICAgIH0KICAgICAgfX0sCiAjZW5kaWYKLX07CisgIH0pO30oKTsKKyAgcmV0dXJuIGRlY29k
ZXJfY29uc3RydWN0b3JzLmdldCgpOworfQogCiBjbGFzcyBCdWlsdGluQXVkaW9EZWNvZGVyRmFj
dG9yeSA6IHB1YmxpYyBBdWRpb0RlY29kZXJGYWN0b3J5IHsKICBwdWJsaWM6CiAgIHN0ZDo6dmVj
dG9yPEF1ZGlvQ29kZWNTcGVjPiBHZXRTdXBwb3J0ZWREZWNvZGVycygpIG92ZXJyaWRlIHsKICAg
ICAvLyBBbHRob3VnaCB0aGlzIGxvb2tzIGEgYml0IHN0cmFuZ2UsIGl0IG1lYW5zIHNwZWNzIG5l
ZWQgb25seSBiZQogICAgIC8vIGluaXRpYWxpemVkIG9uY2UsIGFuZCB0aGF0IHRoYXQgaW5pdGlh
bGl6YXRpb24gaXMgdGhyZWFkLXNhZmUuCi0gICAgc3RhdGljIHN0ZDo6dmVjdG9yPEF1ZGlvQ29k
ZWNTcGVjPiBzcGVjcyA9IFtdIHsKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8c3RkOjp2ZWN0
b3I8QXVkaW9Db2RlY1NwZWM+PiBzcGVjcyA9IFtdIHsKICAgICAgIHN0ZDo6dmVjdG9yPEF1ZGlv
Q29kZWNTcGVjPiBzcGVjczsKICNpZmRlZiBXRUJSVENfQ09ERUNfT1BVUwogICAgICAgLy8gY2xh
bmctZm9ybWF0IG9mZgpAQCAtMjEwLDcgKzIxNCw3IEBAIGNsYXNzIEJ1aWx0aW5BdWRpb0RlY29k
ZXJGYWN0b3J5IDogcHVibGkKICAgfQogCiAgIGJvb2wgSXNTdXBwb3J0ZWREZWNvZGVyKGNvbnN0
IFNkcEF1ZGlvRm9ybWF0JiBmb3JtYXQpIG92ZXJyaWRlIHsKLSAgICBmb3IgKGNvbnN0IGF1dG8m
IGRjIDogZGVjb2Rlcl9jb25zdHJ1Y3RvcnMpIHsKKyAgICBmb3IgKGNvbnN0IGF1dG8mIGRjIDog
ZGVjb2Rlcl9jb25zdHJ1Y3RvcnMoKSkgewogICAgICAgaWYgKFNUUl9DQVNFX0NNUChmb3JtYXQu
bmFtZS5jX3N0cigpLCBkYy5uYW1lKSA9PSAwKSB7CiAgICAgICAgIHJldHVybiBkYy5jb25zdHJ1
Y3Rvcihmb3JtYXQsIG51bGxwdHIpOwogICAgICAgfQpAQCAtMjIwLDcgKzIyNCw3IEBAIGNsYXNz
IEJ1aWx0aW5BdWRpb0RlY29kZXJGYWN0b3J5IDogcHVibGkKIAogICBzdGQ6OnVuaXF1ZV9wdHI8
QXVkaW9EZWNvZGVyPiBNYWtlQXVkaW9EZWNvZGVyKAogICAgICAgY29uc3QgU2RwQXVkaW9Gb3Jt
YXQmIGZvcm1hdCkgb3ZlcnJpZGUgewotICAgIGZvciAoY29uc3QgYXV0byYgZGMgOiBkZWNvZGVy
X2NvbnN0cnVjdG9ycykgeworICAgIGZvciAoY29uc3QgYXV0byYgZGMgOiBkZWNvZGVyX2NvbnN0
cnVjdG9ycygpKSB7CiAgICAgICBpZiAoU1RSX0NBU0VfQ01QKGZvcm1hdC5uYW1lLmNfc3RyKCks
IGRjLm5hbWUpID09IDApIHsKICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPEF1ZGlvRGVjb2Rlcj4g
ZGVjb2RlcjsKICAgICAgICAgYm9vbCBvayA9IGRjLmNvbnN0cnVjdG9yKGZvcm1hdCwgJmRlY29k
ZXIpOwpJbmRleDogU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvbW9k
dWxlcy9hdWRpb19wcm9jZXNzaW5nL2JlYW1mb3JtZXIvYXJyYXlfdXRpbC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL21vZHVsZXMvYXVk
aW9fcHJvY2Vzc2luZy9iZWFtZm9ybWVyL2FycmF5X3V0aWwuaAkocmV2aXNpb24gMjE0MjU2KQor
KysgU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvbW9kdWxlcy9hdWRp
b19wcm9jZXNzaW5nL2JlYW1mb3JtZXIvYXJyYXlfdXRpbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0x
MDMsMTIgKzEwMywxNCBAQCB1c2luZyBTcGhlcmljYWxQb2ludGYgPSBTcGhlcmljYWxQb2ludDxm
CiAKIC8vIEhlbHBlciBmdW5jdGlvbnMgdG8gdHJhbnNmb3JtIGRlZ3JlZXMgdG8gcmFkaWFucyBh
bmQgdGhlIGludmVyc2UuCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLVQgRGVncmVlc1RvUmFkaWFu
cyhUIGFuZ2xlX2RlZ3JlZXMpIHsKK2NvbnN0ZXhwciBUIERlZ3JlZXNUb1JhZGlhbnMoVCBhbmds
ZV9kZWdyZWVzKQorewogICByZXR1cm4gTV9QSSAqIGFuZ2xlX2RlZ3JlZXMgLyAxODA7CiB9CiAK
IHRlbXBsYXRlIDx0eXBlbmFtZSBUPgotVCBSYWRpYW5zVG9EZWdyZWVzKFQgYW5nbGVfcmFkaWFu
cykgeworY29uc3RleHByIFQgUmFkaWFuc1RvRGVncmVlcyhUIGFuZ2xlX3JhZGlhbnMpCit7CiAg
IHJldHVybiAxODAgKiBhbmdsZV9yYWRpYW5zIC8gTV9QSTsKIH0KIApJbmRleDogU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvbW9kdWxlcy9ydHBfcnRjcC9zb3VyY2Uv
cnRwX3V0aWxpdHkuY2MKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS93ZWJydGMvbW9kdWxlcy9ydHBfcnRjcC9zb3VyY2UvcnRwX3V0aWxpdHkuY2MJKHJl
dmlzaW9uIDIxNDI1NikKKysrIFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2Vi
cnRjL21vZHVsZXMvcnRwX3J0Y3Avc291cmNlL3J0cF91dGlsaXR5LmNjCSh3b3JraW5nIGNvcHkp
CkBAIC0xMyw2ICsxMyw3IEBACiAjaW5jbHVkZSA8c3RyaW5nLmg+CiAKICNpbmNsdWRlICJ3ZWJy
dGMvYmFzZS9sb2dnaW5nLmgiCisjaW5jbHVkZSAid2VicnRjL2Jhc2UvbmV2ZXJkZXN0cm95ZWQu
aCIKICNpbmNsdWRlICJ3ZWJydGMvbW9kdWxlcy9ydHBfcnRjcC9pbmNsdWRlL3J0cF9jdm8uaCIK
ICNpbmNsdWRlICJ3ZWJydGMvbW9kdWxlcy9ydHBfcnRjcC9zb3VyY2UvYnl0ZV9pby5oIgogI2lu
Y2x1ZGUgIndlYnJ0Yy9tb2R1bGVzL3J0cF9ydGNwL3NvdXJjZS9ydHBfaGVhZGVyX2V4dGVuc2lv
bnMuaCIKQEAgLTIwLDE3ICsyMSwxNyBAQAogbmFtZXNwYWNlIHdlYnJ0YyB7CiAKIFJ0cERhdGEq
IE51bGxPYmplY3RSdHBEYXRhKCkgewotICBzdGF0aWMgTnVsbFJ0cERhdGEgbnVsbF9ydHBfZGF0
YTsKKyAgc3RhdGljIE5ldmVyRGVzdHJveWVkPE51bGxSdHBEYXRhPiBudWxsX3J0cF9kYXRhOwog
ICByZXR1cm4gJm51bGxfcnRwX2RhdGE7CiB9CiAKIFJ0cEZlZWRiYWNrKiBOdWxsT2JqZWN0UnRw
RmVlZGJhY2soKSB7Ci0gIHN0YXRpYyBOdWxsUnRwRmVlZGJhY2sgbnVsbF9ydHBfZmVlZGJhY2s7
CisgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxOdWxsUnRwRmVlZGJhY2s+IG51bGxfcnRwX2ZlZWRi
YWNrOwogICByZXR1cm4gJm51bGxfcnRwX2ZlZWRiYWNrOwogfQogCiBSZWNlaXZlU3RhdGlzdGlj
cyogTnVsbE9iamVjdFJlY2VpdmVTdGF0aXN0aWNzKCkgewotICBzdGF0aWMgTnVsbFJlY2VpdmVT
dGF0aXN0aWNzIG51bGxfcmVjZWl2ZV9zdGF0aXN0aWNzOworICBzdGF0aWMgTmV2ZXJEZXN0cm95
ZWQ8TnVsbFJlY2VpdmVTdGF0aXN0aWNzPiBudWxsX3JlY2VpdmVfc3RhdGlzdGljczsKICAgcmV0
dXJuICZudWxsX3JlY2VpdmVfc3RhdGlzdGljczsKIH0KIApJbmRleDogU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc3lzdGVtX3dyYXBwZXJzL3NvdXJjZS9jbG9jay5j
Ywo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0
Yy9zeXN0ZW1fd3JhcHBlcnMvc291cmNlL2Nsb2NrLmNjCShyZXZpc2lvbiAyMTQyNTYpCisrKyBT
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zeXN0ZW1fd3JhcHBlcnMv
c291cmNlL2Nsb2NrLmNjCSh3b3JraW5nIGNvcHkpCkBAIC0yMCw2ICsyMCw3IEBACiAjZW5kaWYK
IAogI2luY2x1ZGUgIndlYnJ0Yy9iYXNlL2NyaXRpY2Fsc2VjdGlvbi5oIgorI2luY2x1ZGUgIndl
YnJ0Yy9iYXNlL25ldmVyZGVzdHJveWVkLmgiCiAjaW5jbHVkZSAid2VicnRjL2Jhc2UvdGltZXV0
aWxzLmgiCiAjaW5jbHVkZSAid2VicnRjL3N5c3RlbV93cmFwcGVycy9pbmNsdWRlL3J3X2xvY2tf
d3JhcHBlci5oIgogCkBAIC0yMjMsNyArMjI0LDcgQEAgQ2xvY2sqIENsb2NrOjpHZXRSZWFsVGlt
ZUNsb2NrKCkgewogICB9CiAgIHJldHVybiBnX3NoYXJlZF9jbG9jazsKICNlbGlmIGRlZmluZWQo
V0VCUlRDX0xJTlVYKSB8fCBkZWZpbmVkKFdFQlJUQ19NQUMpCi0gIHN0YXRpYyBVbml4UmVhbFRp
bWVDbG9jayBjbG9jazsKKyAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFVuaXhSZWFsVGltZUNsb2Nr
PiBjbG9jazsKICAgcmV0dXJuICZjbG9jazsKICNlbHNlCiAgIHJldHVybiBOVUxMOwpJbmRleDog
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL2xpYndlYnJ0Yy54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9saWJ3ZWJy
dGMueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjE0MjU2KQorKysgU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL2xpYndlYnJ0Yy54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CSh3b3JraW5nIGNvcHkpCkBAIC01MjgsNyArNTI4LDYgQEAKIAkJNUM0QjQ4MzkxRTQyQzA2QTAw
MjY1MUM4IC8qIHNzbF9yc2EuYyBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDVDNEI0N0Y1MUU0MkMwNjYwMDI2NTFDOCAvKiBzc2xfcnNhLmMgKi87IH07CiAJ
CTVDNEI0ODNBMUU0MkMwNkEwMDI2NTFDOCAvKiBzc2xfc2Vzc2lvbi5jIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUM0QjQ3RjYxRTQyQzA2NjAwMjY1MUM4
IC8qIHNzbF9zZXNzaW9uLmMgKi87IH07CiAJCTVDNEI0ODNCMUU0MkMwNkEwMDI2NTFDOCAvKiBz
c2xfc3RhdC5jIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NUM0QjQ3RjcxRTQyQzA2NjAwMjY1MUM4IC8qIHNzbF9zdGF0LmMgKi87IH07Ci0JCTVDNEI0ODND
MUU0MkMwNkEwMDI2NTFDOCAvKiBzc2xfdGVzdC5jYyBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDNEI0N0Y4MUU0MkMwNjYwMDI2NTFDOCAvKiBzc2xfdGVz
dC5jYyAqLzsgfTsKIAkJNUM0QjQ4M0QxRTQyQzA2QTAwMjY1MUM4IC8qIHQxX2VuYy5jIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUM0QjQ3RjkxRTQyQzA2
NjAwMjY1MUM4IC8qIHQxX2VuYy5jICovOyB9OwogCQk1QzRCNDgzRTFFNDJDMDZBMDAyNjUxQzgg
LyogdDFfbGliLmMgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1QzRCNDdGQTFFNDJDMDY2MDAyNjUxQzggLyogdDFfbGliLmMgKi87IH07CiAJCTVDNEI0ODNG
MUU0MkMwNkEwMDI2NTFDOCAvKiB0bHNfbWV0aG9kLmMgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1QzRCNDdGQjFFNDJDMDY2MDAyNjUxQzggLyogdGxzX21l
dGhvZC5jICovOyB9OwpAQCAtMjQ4OSw2ICsyNDg4LDcgQEAKIAkJNUNERDkwN0YxRTQzRDE1QzAw
NjIxRTkyIC8qIG1vY2tfbm9ubGluZWFyX2JlYW1mb3JtZXIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDREQ5MDZGMUU0M0QxNUMwMDYyMUU5MiAvKiBt
b2NrX25vbmxpbmVhcl9iZWFtZm9ybWVyLmggKi87IH07CiAJCTVDREQ5MDgyMUU0M0QxNUMwMDYy
MUU5MiAvKiBub25saW5lYXJfYmVhbWZvcm1lci5jYyBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDREQ5MDcyMUU0M0QxNUMwMDYyMUU5MiAvKiBub25saW5l
YXJfYmVhbWZvcm1lci5jYyAqLzsgfTsKIAkJNUNERDkwODMxRTQzRDE1QzAwNjIxRTkyIC8qIG5v
bmxpbmVhcl9iZWFtZm9ybWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA1Q0REOTA3MzFFNDNEMTVDMDA2MjFFOTIgLyogbm9ubGluZWFyX2JlYW1mb3Jt
ZXIuaCAqLzsgfTsKKwkJNUNERUIzMzExRTgyMTEwODAwMjA5QjE0IC8qIG5ldmVyZGVzdHJveWVk
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1Q0RFQjMz
MDFFODIxMTA4MDAyMDlCMTQgLyogbmV2ZXJkZXN0cm95ZWQuaCAqLzsgfTsKIAkJNUNGRDUzN0Mx
RTRCQTRGNTAwNDgyOTA4IC8qIGF1ZGlvX2RldmljZV9pb3MuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDRkQ1Mzc1MUU0QkE0RjUwMDQ4MjkwOCAvKiBh
dWRpb19kZXZpY2VfaW9zLmggKi87IH07CiAJCTVDRkQ1MzgwMUU0QkE0RjUwMDQ4MjkwOCAvKiBh
dWRpb19zZXNzaW9uX29ic2VydmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA1Q0ZENTM3OTFFNEJBNEY1MDA0ODI5MDggLyogYXVkaW9fc2Vzc2lvbl9v
YnNlcnZlci5oICovOyB9OwogCQk1Q0ZENTM4MTFFNEJBNEY1MDA0ODI5MDggLyogdm9pY2VfcHJv
Y2Vzc2luZ19hdWRpb191bml0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA1Q0ZENTM3QTFFNEJBNEY1MDA0ODI5MDggLyogdm9pY2VfcHJvY2Vzc2luZ19h
dWRpb191bml0LmggKi87IH07CkBAIC01MjA4LDYgKzUyMDgsNyBAQAogCQk1Q0REOTBBQjFFNDNE
NTI5MDA2MjFFOTIgLyogYWVzX2ljbV9vc3NsLmMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuYzsg
bmFtZSA9IGFlc19pY21fb3NzbC5jOyBwYXRoID0gY2lwaGVyL2Flc19pY21fb3NzbC5jOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1Q0REOTBBQzFFNDNENTI5MDA2MjFFOTIgLyogY2lw
aGVyLmMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuYzsgbmFtZSA9IGNpcGhlci5jOyBwYXRoID0g
Y2lwaGVyL2NpcGhlci5jOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1Q0REOTBBRDFF
NDNENTI5MDA2MjFFOTIgLyogbnVsbF9jaXBoZXIuYyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5j
OyBuYW1lID0gbnVsbF9jaXBoZXIuYzsgcGF0aCA9IGNpcGhlci9udWxsX2NpcGhlci5jOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1Q0RFQjMzMDFFODIxMTA4MDAyMDlCMTQgLyogbmV2
ZXJkZXN0cm95ZWQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gbmV2ZXJkZXN0
cm95ZWQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUNGRDUzNzUxRTRCQTRGNTAw
NDgyOTA4IC8qIGF1ZGlvX2RldmljZV9pb3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gYXVkaW9fZGV2aWNlX2lvcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1
Q0ZENTM3NjFFNEJBNEY1MDA0ODI5MDggLyogYXVkaW9fZGV2aWNlX2lvcy5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IGF1ZGlvX2RldmljZV9pb3MubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVDRkQ1Mzc5MUU0QkE0RjUwMDQ4MjkwOCAvKiBhdWRp
b19zZXNzaW9uX29ic2VydmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IGF1
ZGlvX3Nlc3Npb25fb2JzZXJ2ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTY2
ODcsNiArNjY4OCw3IEBACiAJCTVDNjNGMzA0MUU0MTQ2RDIwMDJDQTUzMSAvKiBiYXNlICovID0g
ewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQk1Q0RFQjMzMDFFODIx
MTA4MDAyMDlCMTQgLyogbmV2ZXJkZXN0cm95ZWQuaCAqLywKIAkJCQk1Q0QyODY0MjFFNkE3QjQy
MDA5NEZEQzggLyogc2hhMS5jYyAqLywKIAkJCQk1Q0QyODY0MzFFNkE3QjQyMDA5NEZEQzggLyog
c2hhMS5oICovLAogCQkJCTVDRDI4NTRGMUU2QTYyMzEwMDk0RkRDOCAvKiBudW1lcmljcyAqLywK
QEAgLTEwMjYwLDYgKzEwMjYyLDcgQEAKIAkJCQk1Q0REOEJFQTFFNDNDMkI1MDA2MjFFOTIgLyog
c3BsaXRfdnEuaCBpbiBIZWFkZXJzICovLAogCQkJCTVDREQ4NEMyMUU0M0FGMTMwMDYyMUU5MiAv
KiBzcGxpdHRpbmdfZmlsdGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk1Q0REODM2MDFFNDMyNTcy
MDA2MjFFOTIgLyogc3BzX3BhcnNlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJNUNERUIzMzExRTgy
MTEwODAwMjA5QjE0IC8qIG5ldmVyZGVzdHJveWVkLmggaW4gSGVhZGVycyAqLywKIAkJCQk1Q0RE
ODM2MzFFNDMyNTcyMDA2MjFFOTIgLyogc3BzX3Z1aV9yZXdyaXRlci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNUM2M0Y4OEQxRTQxNjI4ODAwMkNBNTMxIC8qIHNzbGFkYXB0ZXIuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTVDNjNGODkwMUU0MTYyODgwMDJDQTUzMSAvKiBzc2xmaW5nZXJwcmludC5oIGlu
IEhlYWRlcnMgKi8sCkBAIC0xMTIxMSw3ICsxMTIxNCw2IEBACiAJCQkJNUM0QjQ4MzkxRTQyQzA2
QTAwMjY1MUM4IC8qIHNzbF9yc2EuYyBpbiBTb3VyY2VzICovLAogCQkJCTVDNEI0ODNBMUU0MkMw
NkEwMDI2NTFDOCAvKiBzc2xfc2Vzc2lvbi5jIGluIFNvdXJjZXMgKi8sCiAJCQkJNUM0QjQ4M0Ix
RTQyQzA2QTAwMjY1MUM4IC8qIHNzbF9zdGF0LmMgaW4gU291cmNlcyAqLywKLQkJCQk1QzRCNDgz
QzFFNDJDMDZBMDAyNjUxQzggLyogc3NsX3Rlc3QuY2MgaW4gU291cmNlcyAqLywKIAkJCQk1QzRC
NDZBNTFFNDJBQTQyMDAyNjUxQzggLyogc3RhY2suYyBpbiBTb3VyY2VzICovLAogCQkJCTVDNEI0
ODNEMUU0MkMwNkEwMDI2NTFDOCAvKiB0MV9lbmMuYyBpbiBTb3VyY2VzICovLAogCQkJCTVDNEI0
ODNFMUU0MkMwNkEwMDI2NTFDOCAvKiB0MV9saWIuYyBpbiBTb3VyY2VzICovLAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>305133</attachid>
            <date>2017-03-22 15:50:11 -0700</date>
            <delta_ts>2017-03-22 15:51:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-169973-20170322155011.patch</filename>
            <type>text/plain</type>
            <size>26817</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9DaGFuZ2VMb2cKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NoYW5nZUxvZwkocmV2aXNpb24gMjE0Mjc3
KQorKysgU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDQzIEBACisyMDE3LTAzLTIyICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlz
dGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgRml4IHdhcm5pbmdzIGluIGxpYndlYnJ0Ywor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY5OTczCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDb25maWd1
cmF0aW9ucy9ib3Jpbmdzc2wueGNjb25maWc6CisgICAgICAgICogQ29uZmlndXJhdGlvbnMvbGli
c3J0cC54Y2NvbmZpZzoKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9saWJ3ZWJydGMueGNjb25m
aWc6CisgICAgICAgICogQ29uZmlndXJhdGlvbnMvbGlid2VicnRjcGNydGMueGNjb25maWc6Cisg
ICAgICAgICogQ29uZmlndXJhdGlvbnMvbGlieXV2LnhjY29uZmlnOgorICAgICAgICAqIENvbmZp
Z3VyYXRpb25zL29wdXMueGNjb25maWc6CisgICAgICAgICogQ29uZmlndXJhdGlvbnMvdXNyc2N0
cC54Y2NvbmZpZzoKKyAgICAgICAgQnVpbGQgd2l0aCBtb3JlIHdhcm5pbmdzLgorICAgICAgICBv
cHVzIHN0aWxsIG5lZWRzIHNvbWUgaW5jb21wYXRpYmxlIHBvaW50ZXIgd2FybmluZ3MgZGlzYWJs
ZWQgYmVjYXVzZSBpdCBjb252ZXJ0cyAKKyAgICAgICAgY29uc3Qgb3B1c19pbnQxNiAqIHRvIGNv
bnN0IG9wdXNfdmFsMTYgKiBhbmQgb3B1c19pbnQzMiAqIHRvIG9wdXNfdmFsMzIgKgorICAgICAg
ICBhbmQgdGhhdCdzIG9rIGJlY2F1c2UgaXRzIGEgY29kZWMgYW5kIHRoYXQncyB3aGF0IGNvZGVj
cyBkby4KKyAgICAgICAgKiBTb3VyY2Uvd2VicnRjL2Jhc2UvbG9nZ2luZy5jYzoKKyAgICAgICAg
KiBTb3VyY2Uvd2VicnRjL2Jhc2UvbG9nZ2luZy5oOgorICAgICAgICAqIFNvdXJjZS93ZWJydGMv
YmFzZS9uZXZlcmRlc3Ryb3llZC5oOiBBZGRlZC4KKyAgICAgICAgKHdlYnJ0Yzo6TmV2ZXJEZXN0
cm95ZWQ6Ok5ldmVyRGVzdHJveWVkKToKKyAgICAgICAgKHdlYnJ0Yzo6TmV2ZXJEZXN0cm95ZWQ6
Om9wZXJhdG9yIFQmKToKKyAgICAgICAgKHdlYnJ0Yzo6TmV2ZXJEZXN0cm95ZWQ6OmdldCk6Cisg
ICAgICAgICh3ZWJydGM6Ok5ldmVyRGVzdHJveWVkOjpvcGVyYXRvciYpOgorICAgICAgICAod2Vi
cnRjOjpOZXZlckRlc3Ryb3llZDo6YXNQdHIpOgorICAgICAgICBBZGRlZCB3ZWJydGM6Ok5ldmVy
RGVzdHJveWVkIHdoaWNoIG1heSBvciBtYXkgbm90IGJlIGJhc2VkIG9uIFdURjo6TmV2ZXJEZXN0
cm95ZWQuCisgICAgICAgIFRoaXMgYWxsb3dzIHVzIHRvIGF2b2lkIGV4aXQgdGltZSBkZXN0cnVj
dG9ycywgd2hpY2ggd291bGQgc2xvdyBkb3duIHByb2dyYW0gdGVybWluYXRpb24gZm9yIG5vIHJl
YXNvbi4KKyAgICAgICAgKiBTb3VyY2Uvd2VicnRjL2Jhc2UvdmlydHVhbHNvY2tldHNlcnZlci5j
YzoKKyAgICAgICAgKiBTb3VyY2Uvd2VicnRjL21vZHVsZXMvYXVkaW9fY29kaW5nL2NvZGVjcy9i
dWlsdGluX2F1ZGlvX2RlY29kZXJfZmFjdG9yeV9pbnRlcm5hbC5jYzoKKyAgICAgICAgQWRvcHQg
TmV2ZXJEZXN0cm95ZWQgaW4gZnVuY3Rpb24gc2NvcGUgc28gd2UgZG9uJ3QgaGF2ZSBnbG9iYWwg
Y29uc3RydWN0b3JzIG9yIGRlc3RydWN0b3JzLgorICAgICAgICAqIFNvdXJjZS93ZWJydGMvbW9k
dWxlcy9hdWRpb19wcm9jZXNzaW5nL2JlYW1mb3JtZXIvYXJyYXlfdXRpbC5oOgorICAgICAgICAo
d2VicnRjOjpEZWdyZWVzVG9SYWRpYW5zKToKKyAgICAgICAgKHdlYnJ0Yzo6UmFkaWFuc1RvRGVn
cmVlcyk6CisgICAgICAgIEFkZCBjb25zdGV4cHIgc28gd2UgY2FuIGNhbGN1bGF0ZSB2YWx1ZXMg
YXQgY29tcGlsZSB0aW1lIGluc3RlYWQgb2YgbGF1bmNoIHRpbWUuCisgICAgICAgICogU291cmNl
L3dlYnJ0Yy9tb2R1bGVzL3J0cF9ydGNwL3NvdXJjZS9ydHBfdXRpbGl0eS5jYzoKKyAgICAgICAg
KiBTb3VyY2Uvd2VicnRjL3N5c3RlbV93cmFwcGVycy9zb3VyY2UvY2xvY2suY2M6CisgICAgICAg
ICogbGlid2VicnRjLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgIERvbid0IGNv
bXBpbGUgc3NsX3Rlc3QuY2MuICBXZSBkb24ndCBuZWVkIGl0LgorCiAyMDE3LTAzLTEwICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBNb3ZlIGxpYndlYnJ0YyBi
YWNrZW5kIHRvIHVzaW5nIHRyYWNrcwpJbmRleDogU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L0NvbmZpZ3VyYXRpb25zL2JvcmluZ3NzbC54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvYm9yaW5nc3NsLnhjY29uZmlnCShy
ZXZpc2lvbiAyMTQyNTYpCisrKyBTb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJh
dGlvbnMvYm9yaW5nc3NsLnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC0xMCw3ICsxMCw2IEBA
IEhFQURFUl9TRUFSQ0hfUEFUSFMgPSBTb3VyY2UvdGhpcmRfcGFydHkKIElOU1RBTExfUEFUSCA9
IC91c3IvbG9jYWwvbGliOwogUFVCTElDX0hFQURFUlNfRk9MREVSX1BBVEggPSAvdXNyL2xvY2Fs
L2luY2x1ZGUvbGlid2VicnRjOwogVVNFX0hFQURFUk1BUCA9IE5POwotV0FSTklOR19DRkxBR1Mg
PSAtV25vLWV4aXQtdGltZS1kZXN0cnVjdG9yczsKIAogLy8gRklYTUU6IFRoZXJlJ3Mgbm8gYXNz
ZW1ibHkgdXNlZCBpbiB0aGUgYm9yaW5nc3NsIGJ1aWxkIHlldCA6KAogR0NDX1BSRVBST0NFU1NP
Ul9ERUZJTklUSU9OUyA9IE9QRU5TU0xfTk9fQVNNOwpJbmRleDogU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYnNydHAueGNjb25maWcKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYnNydHAueGNjb25m
aWcJKHJldmlzaW9uIDIxNDI1NikKKysrIFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25m
aWd1cmF0aW9ucy9saWJzcnRwLnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC0xMSw1ICsxMSw1
IEBAIEhFQURFUl9TRUFSQ0hfUEFUSFMgPSBTb3VyY2UvdGhpcmRfcGFydHkKIElOU1RBTExfUEFU
SCA9IC91c3IvbG9jYWwvbGliOwogUFVCTElDX0hFQURFUlNfRk9MREVSX1BBVEggPSAvdXNyL2xv
Y2FsL2luY2x1ZGUvbGlid2VicnRjOwogVVNFX0hFQURFUk1BUCA9IE5POwotV0FSTklOR19DRkxB
R1MgPSAtV25vLWV4aXQtdGltZS1kZXN0cnVjdG9ycyAtV25vLWltcGxpY2l0LWZ1bmN0aW9uLWRl
Y2xhcmF0aW9uIC1Xbm8taW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXMgLVduby1kZXByZWNhdGVk
LWRlY2xhcmF0aW9uczsKK1dBUk5JTkdfQ0ZMQUdTID0gLVduby1pbXBsaWNpdC1mdW5jdGlvbi1k
ZWNsYXJhdGlvbiAtV25vLWRlcHJlY2F0ZWQtZGVjbGFyYXRpb25zOwogR0NDX1BSRVBST0NFU1NP
Ul9ERUZJTklUSU9OUyA9IFY4X0RFUFJFQ0FUSU9OX1dBUk5JTkdTIEVOQUJMRV9OT1RJRklDQVRJ
T05TIEVOQUJMRV9QTFVHSU5TPTEgRU5BQkxFX1BERj0xIEVOQUJMRV9QUklOVElORz0xIEVOQUJM
RV9CQVNJQ19QUklOVElORz0xIEVOQUJMRV9QUklOVF9QUkVWSUVXPTEgRU5BQkxFX1NQRUxMQ0hF
Q0s9MSBVU0VfQlJPV1NFUl9TUEVMTENIRUNLRVI9MSBOT19UQ01BTExPQyBVU0VfRVhURVJOQUxf
UE9QVVBfTUVOVT0xIEVOQUJMRV9XRUJSVEM9MSBFTkFCTEVfRVhURU5TSU9OUz0xIEVOQUJMRV9U
QVNLX01BTkFHRVI9MSBFTkFCTEVfVEhFTUVTPTEgRU5BQkxFX1NFU1NJT05fU0VSVklDRT0xIEVO
QUJMRV9TVVBFUlZJU0VEX1VTRVJTPTEgRlVMTF9TQUZFX0JST1dTSU5HIFNBRkVfQlJPV1NJTkdf
Q1NEIFNBRkVfQlJPV1NJTkdfREJfTE9DQUwgQ0hST01JVU1fQlVJTEQgRU5BQkxFX01FRElBX1JP
VVRFUj0xIEZJRUxEVFJJQUxfVEVTVElOR19FTkFCTEVEIENSX0NMQU5HX1JFVklTSU9OPTI4NDk3
OS0xIENSX1hDT0RFX1ZFUlNJT049MDgyMCBfX0FTU0VSVF9NQUNST1NfREVGSU5FX1ZFUlNJT05T
X1dJVEhPVVRfVU5ERVJTQ09SRT0wIF9ERUJVRyBEWU5BTUlDX0FOTk9UQVRJT05TX0VOQUJMRUQ9
MSBXVEZfVVNFX0RZTkFNSUNfQU5OT1RBVElPTlM9MSBQQUNLQUdFX1NUUklORz0iXCJsaWJzcnRw
MiAyLjAuMC1wcmVcIiIgUEFDS0FHRV9WRVJTSU9OPSJcIjIuMC4wLXByZVwiIiBIQVZFX0NPTkZJ
R19IIE9QRU5TU0wgSEFWRV9TVERMSUJfSCBIQVZFX1NUUklOR19IIEhBVkVfU1RESU5UX0ggSEFW
RV9JTlRUWVBFU19IIEhBVkVfSU5UMTZfVCBIQVZFX0lOVDMyX1QgSEFWRV9JTlQ4X1QgSEFWRV9V
SU5UMTZfVCBIQVZFX1VJTlQzMl9UIEhBVkVfVUlOVDY0X1QgSEFWRV9VSU5UOF9UIEhBVkVfQVJQ
QV9JTkVUX0ggSEFWRV9ORVRJTkVUX0lOX0ggSEFWRV9TWVNfVFlQRVNfSCBIQVZFX1VOSVNURF9I
OwpJbmRleDogU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndl
YnJ0Yy54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
Q29uZmlndXJhdGlvbnMvbGlid2VicnRjLnhjY29uZmlnCShyZXZpc2lvbiAyMTQyNTYpCisrKyBT
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvbGlid2VicnRjLnhjY29u
ZmlnCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw3ICsyNCw3IEBAIEhFQURFUl9TRUFSQ0hfUEFUSFMg
PSBTb3VyY2UgU291cmNlL3RoaXIKIFBVQkxJQ19IRUFERVJTX0ZPTERFUl9QQVRIID0gL3Vzci9s
b2NhbC9pbmNsdWRlL2xpYndlYnJ0YzsKIFVTRV9IRUFERVJNQVAgPSBOTzsKIElOU1RBTExIRFJT
X1NDUklQVF9QSEFTRSA9IFlFUzsKLVdBUk5JTkdfQ0ZMQUdTID0gLVduby1leGl0LXRpbWUtZGVz
dHJ1Y3RvcnMgLVduby1vYmpjLXByb3BlcnR5LW5vLWF0dHJpYnV0ZSAtV25vLW9iamMtbWlzc2lu
Zy1zdXBlci1jYWxscyAtV25vLWRlcHJlY2F0ZWQtZGVjbGFyYXRpb25zOworV0FSTklOR19DRkxB
R1MgPSAtV25vLW9iamMtcHJvcGVydHktbm8tYXR0cmlidXRlIC1Xbm8tb2JqYy1taXNzaW5nLXN1
cGVyLWNhbGxzIC1Xbm8tZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnM7CiAKIEdDQ19QUkVQUk9DRVNT
T1JfREVGSU5JVElPTlMgPSBXRUJSVENfUE9TSVggV0VCUlRDX01BQyBTU0xfVVNFX09QRU5TU0wg
RkVBVFVSRV9FTkFCTEVfU1NMIEhBVkVfU1JUUCBIQVZFX09QRU5TU0xfU1NMX0ggU0NUUF9QUk9D
RVNTX0xFVkVMX0xPQ0tTIFNDVFBfU0lNUExFX0FMTE9DQVRPUiBTQ1RQX1VTRV9PUEVOU1NMX1NI
QTEgX19Vc2Vyc3BhY2VfXyBIQVZFX1NBX0xFTiBIQVZFX1NDT05OX0xFTiBfX0FQUExFX1VTRV9S
RkNfMjI5MiBfX1VzZXJzcGFjZV9vc19EYXJ3aW4gTk9OX1dJTkRPV1NfREVGSU5FIEhBVkVfV0VC
UlRDX1ZJREVPIEhBVkVfV0VCUlRDX1ZPSUNFIFdFQlJUQ19JTlRFTExJR0lCSUxJVFlfRU5IQU5D
RVI9MCBXRUJSVENfQVBNX0RFQlVHX0RVTVA9MCBXRUJSVENfTlNfRkxPQVQgV0VCUlRDX0NPREVD
X0lMQkMgV0VCUlRDX0NPREVDX09QVVMgV0VCUlRDX0NPREVDX0lTQUMgV0VCUlRDX0NPREVDX1JF
RCBSVENfRElTQUJMRV9WUDkgUlRDX0RJU0FCTEVfVlA4IEhBVkVfU1RESU5UX0ggSEFWRV9TVERM
SUJfSCBIQVZFX1VJTlQ2NF9UIE9QRU5TU0wgSEFWRV9DT05GSUdfSCBXRUJSVENfV0VCS0lUX0JV
SUxEIEhBVkVfUFRIUkVBRF9DT05EX1RJTUVEV0FJVF9SRUxBVElWRSAgSEFWRV9TQ1RQIFdFQlJU
Q19DT0RFQ19HNzExIFdFQlJUQ19DT0RFQ19HNzIyOwogCkluZGV4OiBTb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvbGlid2VicnRjcGNydGMueGNjb25maWcKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndl
YnJ0Y3BjcnRjLnhjY29uZmlnCShyZXZpc2lvbiAyMTQyNTYpCisrKyBTb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvbGlid2VicnRjcGNydGMueGNjb25maWcJKHdvcmtp
bmcgY29weSkKQEAgLTExLDcgKzExLDcgQEAgSEVBREVSX1NFQVJDSF9QQVRIUyA9IFNvdXJjZS8g
U291cmNlL3RoaQogSU5TVEFMTF9QQVRIID0gL3Vzci9sb2NhbC9saWI7CiBQVUJMSUNfSEVBREVS
U19GT0xERVJfUEFUSCA9IC91c3IvbG9jYWwvaW5jbHVkZS9saWJ3ZWJydGM7CiBVU0VfSEVBREVS
TUFQID0gTk87Ci1XQVJOSU5HX0NGTEFHUyA9IC1Xbm8tZXhpdC10aW1lLWRlc3RydWN0b3JzIC1X
bm8tb2JqYy1wcm9wZXJ0eS1uby1hdHRyaWJ1dGUgLVduby1vYmpjLW1pc3Npbmctc3VwZXItY2Fs
bHM7CitXQVJOSU5HX0NGTEFHUyA9IC1Xbm8tb2JqYy1wcm9wZXJ0eS1uby1hdHRyaWJ1dGUgLVdu
by1vYmpjLW1pc3Npbmctc3VwZXItY2FsbHM7CiAKIEdDQ19QUkVQUk9DRVNTT1JfREVGSU5JVElP
TlMgPSBXRUJSVENfUE9TSVggV0VCUlRDX01BQyBTU0xfVVNFX09QRU5TU0wgRkVBVFVSRV9FTkFC
TEVfU1NMIEhBVkVfU1JUUCBIQVZFX09QRU5TU0xfU1NMX0ggU0NUUF9QUk9DRVNTX0xFVkVMX0xP
Q0tTIFNDVFBfU0lNUExFX0FMTE9DQVRPUiBTQ1RQX1VTRV9PUEVOU1NMX1NIQTEgX19Vc2Vyc3Bh
Y2VfXyBIQVZFX1NBX0xFTiBIQVZFX1NDT05OX0xFTiBfX0FQUExFX1VTRV9SRkNfMjI5MiBfX1Vz
ZXJzcGFjZV9vc19EYXJ3aW4gTk9OX1dJTkRPV1NfREVGSU5FIEhBVkVfV0VCUlRDX1ZJREVPIEhB
VkVfV0VCUlRDX1ZPSUNFIFdFQlJUQ19JTlRFTExJR0lCSUxJVFlfRU5IQU5DRVI9MCBXRUJSVENf
QVBNX0RFQlVHX0RVTVA9MCBXRUJSVENfTlNfRkxPQVQgV0VCUlRDX0NPREVDX0lMQkMgV0VCUlRD
X0NPREVDX09QVVMgV0VCUlRDX0NPREVDX0lTQUMgV0VCUlRDX0NPREVDX1JFRCBSVENfRElTQUJM
RV9WUDkgUlRDX0RJU0FCTEVfVlA4IEhBVkVfU1RESU5UX0ggSEFWRV9TVERMSUJfSCBIQVZFX1VJ
TlQ2NF9UIE9QRU5TU0wgSEFWRV9DT05GSUdfSCBXRUJSVENfV0VCS0lUX0JVSUxEIEhBVkVfUFRI
UkVBRF9DT05EX1RJTUVEV0FJVF9SRUxBVElWRSAgSEFWRV9TQ1RQOwogCkluZGV4OiBTb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvbGlieXV2LnhjY29uZmlnCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9ucy9saWJ5
dXYueGNjb25maWcJKHJldmlzaW9uIDIxNDI1NikKKysrIFNvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Db25maWd1cmF0aW9ucy9saWJ5dXYueGNjb25maWcJKHdvcmtpbmcgY29weSkKQEAgLTEw
LDQgKzEwLDMgQEAgSEVBREVSX1NFQVJDSF9QQVRIUyA9IFNvdXJjZS90aGlyZF9wYXJ0eQogSU5T
VEFMTF9QQVRIID0gL3Vzci9sb2NhbC9saWI7CiBQVUJMSUNfSEVBREVSU19GT0xERVJfUEFUSCA9
IC91c3IvbG9jYWwvaW5jbHVkZS9saWJ3ZWJydGM7CiBVU0VfSEVBREVSTUFQID0gTk87Ci1XQVJO
SU5HX0NGTEFHUyA9IC1Xbm8tZXhpdC10aW1lLWRlc3RydWN0b3JzIC1Xbm8taW1wbGljaXQtZnVu
Y3Rpb24tZGVjbGFyYXRpb24gLVduby1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBlcyAtV25vLWRl
cHJlY2F0ZWQtZGVjbGFyYXRpb25zOwpJbmRleDogU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L0NvbmZpZ3VyYXRpb25zL29wdXMueGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL29wdXMueGNjb25maWcJKHJldmlzaW9uIDIx
NDI1NikKKysrIFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9ucy9vcHVz
LnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC0xMCw3ICsxMCw3IEBAIEhFQURFUl9TRUFSQ0hf
UEFUSFMgPSBTb3VyY2UvdGhpcmRfcGFydHkKIElOU1RBTExfUEFUSCA9IC91c3IvbG9jYWwvbGli
OwogUFVCTElDX0hFQURFUlNfRk9MREVSX1BBVEggPSAvdXNyL2xvY2FsL2luY2x1ZGUvbGlid2Vi
cnRjOwogVVNFX0hFQURFUk1BUCA9IE5POwotV0FSTklOR19DRkxBR1MgPSAtV25vLWV4aXQtdGlt
ZS1kZXN0cnVjdG9ycyAtV25vLWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uIC1Xbm8taW5j
b21wYXRpYmxlLXBvaW50ZXItdHlwZXMKK1dBUk5JTkdfQ0ZMQUdTID0gLVduby1pbmNvbXBhdGli
bGUtcG9pbnRlci10eXBlcwogR0NDX1BSRVBST0NFU1NPUl9ERUZJTklUSU9OUyA9IFZBUl9BUlJB
WVMgT1BVU19CVUlMRCBPUFVTX0VYUE9SVD0gSEFWRV9MUklOVCBIQVZFX0xSSU5URiBPUFVTX1g4
Nl9NQVlfSEFWRV9TU0UyOwogCiBFWENMVURFRF9TT1VSQ0VfRklMRV9OQU1FU1tzZGs9aXBob25l
Kl0gPSAqX3NzZS5jICpfc3NlMi5jOwpJbmRleDogU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L0NvbmZpZ3VyYXRpb25zL3VzcnNjdHAueGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL3VzcnNjdHAueGNjb25maWcJKHJldmlz
aW9uIDIxNDI1NikKKysrIFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9u
cy91c3JzY3RwLnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC0xMCw2ICsxMCw2IEBAIEhFQURF
Ul9TRUFSQ0hfUEFUSFMgPSBTb3VyY2UvIFNvdXJjZS90aGkKIElOU1RBTExfUEFUSCA9IC91c3Iv
bG9jYWwvbGliOwogUFVCTElDX0hFQURFUlNfRk9MREVSX1BBVEggPSAvdXNyL2xvY2FsL2luY2x1
ZGUvbGlid2VicnRjOwogVVNFX0hFQURFUk1BUCA9IE5POwotV0FSTklOR19DRkxBR1MgPSAtV25v
LWV4aXQtdGltZS1kZXN0cnVjdG9ycyAtV25vLWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9u
IC1Xbm8taW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXMgLVduby1kZXByZWNhdGVkLWRlY2xhcmF0
aW9uczsKK1dBUk5JTkdfQ0ZMQUdTID0gLVduby1kZXByZWNhdGVkLWRlY2xhcmF0aW9uczsKIEdD
Q19QUkVQUk9DRVNTT1JfREVGSU5JVElPTlMgPSBTQ1RQX1BST0NFU1NfTEVWRUxfTE9DS1MgU0NU
UF9TSU1QTEVfQUxMT0NBVE9SIFNDVFBfVVNFX09QRU5TU0xfU0hBMSBfX1VzZXJzcGFjZV9fIEhB
VkVfU0FfTEVOIEhBVkVfU0NPTk5fTEVOIF9fQVBQTEVfVVNFX1JGQ18yMjkyIF9fVXNlcnNwYWNl
X29zX0RhcndpbjsKIE9USEVSX0NGTEFHUyA9IC1VSU5FVCAtVUlORVQ2IC1VX19BUFBMRV9fOwpJ
bmRleDogU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvYmFzZS9sb2dn
aW5nLmNjCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
d2VicnRjL2Jhc2UvbG9nZ2luZy5jYwkocmV2aXNpb24gMjE0MjU2KQorKysgU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvYmFzZS9sb2dnaW5nLmNjCSh3b3JraW5nIGNv
cHkpCkBAIC00MSw2ICs0MSw3IEBAIHN0YXRpYyBjb25zdCBjaGFyIGtMaWJqaW5nbGVbXSA9ICJs
aWJqaW4KIAogI2luY2x1ZGUgIndlYnJ0Yy9iYXNlL2NyaXRpY2Fsc2VjdGlvbi5oIgogI2luY2x1
ZGUgIndlYnJ0Yy9iYXNlL2xvZ2dpbmcuaCIKKyNpbmNsdWRlICJ3ZWJydGMvYmFzZS9uZXZlcmRl
c3Ryb3llZC5oIgogI2luY2x1ZGUgIndlYnJ0Yy9iYXNlL3BsYXRmb3JtX3RocmVhZC5oIgogI2lu
Y2x1ZGUgIndlYnJ0Yy9iYXNlL3N0cmluZ2VuY29kZS5oIgogI2luY2x1ZGUgIndlYnJ0Yy9iYXNl
L3N0cmluZ3V0aWxzLmgiCkBAIC0xMDMsMTUgKzEwNCwyMyBAQCBMb2dnaW5nU2V2ZXJpdHkgTG9n
TWVzc2FnZTo6ZGJnX3Nldl8gPSBMCiBib29sIExvZ01lc3NhZ2U6OmxvZ190b19zdGRlcnJfID0g
dHJ1ZTsKIAogbmFtZXNwYWNlIHsKLS8vIEdsb2JhbCBsb2NrIGZvciBsb2cgc3Vic3lzdGVtLCBv
bmx5IG5lZWRlZCB0byBzZXJpYWxpemUgYWNjZXNzIHRvIHN0cmVhbXNfLgotQ3JpdGljYWxTZWN0
aW9uIGdfbG9nX2NyaXQ7CisvLyBHbG9iYWwgbG9jayBmb3IgbG9nIHN1YnN5c3RlbSwgb25seSBu
ZWVkZWQgdG8gc2VyaWFsaXplIGFjY2VzcyB0byBzdHJlYW1zLgorY29uc3QgQ3JpdGljYWxTZWN0
aW9uJiBnX2xvZ19jcml0KCkKK3sKKyAgICBzdGF0aWMgd2VicnRjOjpOZXZlckRlc3Ryb3llZDxD
cml0aWNhbFNlY3Rpb24+IGdfbG9nX2NyaXQ7CisgICAgcmV0dXJuIGdfbG9nX2NyaXQ7Cit9CiB9
ICAvLyBuYW1lc3BhY2UKIAogLy8gVGhlIGxpc3Qgb2YgbG9nZ2luZyBzdHJlYW1zIGN1cnJlbnRs
eSBjb25maWd1cmVkLgogLy8gTm90ZTogd2UgZXhwbGljaXRseSBkbyBub3QgY2xlYW4gdGhpcyB1
cCwgYmVjYXVzZSBvZiB0aGUgdW5jZXJ0YWluIG9yZGVyaW5nCiAvLyBvZiBkZXN0cnVjdG9ycyBh
dCBwcm9ncmFtIGV4aXQuICBMZXQgdGhlIHBlcnNvbiB3aG8gc2V0cyB0aGUgc3RyZWFtIHRyaWdn
ZXIKIC8vIGNsZWFudXAgYnkgc2V0dGluZyB0byBudWxsLCBvciBsZXQgaXQgbGVhayAoc2FmZSBh
dCBwcm9ncmFtIGV4aXQpLgotTG9nTWVzc2FnZTo6U3RyZWFtTGlzdCBMb2dNZXNzYWdlOjpzdHJl
YW1zXyBHVUFSREVEX0JZKGdfbG9nX2NyaXQpOworTG9nTWVzc2FnZTo6U3RyZWFtTGlzdCYgTG9n
TWVzc2FnZTo6c3RyZWFtcygpCit7CisgICAgc3RhdGljIHdlYnJ0Yzo6TmV2ZXJEZXN0cm95ZWQ8
TG9nTWVzc2FnZTo6U3RyZWFtTGlzdD4gc3RyZWFtcyBHVUFSREVEX0JZKGdfbG9nX2NyaXQpOwor
ICAgIHJldHVybiBzdHJlYW1zOworfQogCiAvLyBCb29sZWFuIG9wdGlvbnMgZGVmYXVsdCB0byBm
YWxzZSAoMCkKIGJvb2wgTG9nTWVzc2FnZTo6dGhyZWFkXywgTG9nTWVzc2FnZTo6dGltZXN0YW1w
XzsKQEAgLTIwNyw4ICsyMTYsOCBAQCBMb2dNZXNzYWdlOjp+TG9nTWVzc2FnZSgpIHsKICAgICBP
dXRwdXRUb0RlYnVnKHN0ciwgc2V2ZXJpdHlfLCB0YWdfKTsKICAgfQogCi0gIENyaXRTY29wZSBj
cygmZ19sb2dfY3JpdCk7Ci0gIGZvciAoYXV0byYga3YgOiBzdHJlYW1zXykgeworICBDcml0U2Nv
cGUgY3MoJmdfbG9nX2NyaXQoKSk7CisgIGZvciAoYXV0byYga3YgOiBzdHJlYW1zKCkpIHsKICAg
ICBpZiAoc2V2ZXJpdHlfID49IGt2LnNlY29uZCkgewogICAgICAga3YuZmlyc3QtPk9uTG9nTWVz
c2FnZShzdHIpOwogICAgIH0KQEAgLTIzNSw3ICsyNDQsNyBAQCB2b2lkIExvZ01lc3NhZ2U6Okxv
Z1RpbWVzdGFtcHMoYm9vbCBvbikgCiAKIHZvaWQgTG9nTWVzc2FnZTo6TG9nVG9EZWJ1ZyhMb2dn
aW5nU2V2ZXJpdHkgbWluX3NldikgewogICBkYmdfc2V2XyA9IG1pbl9zZXY7Ci0gIENyaXRTY29w
ZSBjcygmZ19sb2dfY3JpdCk7CisgIENyaXRTY29wZSBjcygmZ19sb2dfY3JpdCgpKTsKICAgVXBk
YXRlTWluTG9nU2V2ZXJpdHkoKTsKIH0KIApAQCAtMjQ0LDkgKzI1Myw5IEBAIHZvaWQgTG9nTWVz
c2FnZTo6U2V0TG9nVG9TdGRlcnIoYm9vbCBsb2cKIH0KIAogaW50IExvZ01lc3NhZ2U6OkdldExv
Z1RvU3RyZWFtKExvZ1NpbmsqIHN0cmVhbSkgewotICBDcml0U2NvcGUgY3MoJmdfbG9nX2NyaXQp
OworICBDcml0U2NvcGUgY3MoJmdfbG9nX2NyaXQoKSk7CiAgIExvZ2dpbmdTZXZlcml0eSBzZXYg
PSBMU19OT05FOwotICBmb3IgKGF1dG8mIGt2IDogc3RyZWFtc18pIHsKKyAgZm9yIChhdXRvJiBr
diA6IHN0cmVhbXMoKSkgewogICAgIGlmICghc3RyZWFtIHx8IHN0cmVhbSA9PSBrdi5maXJzdCkg
ewogICAgICAgc2V2ID0gc3RkOjptaW4oc2V2LCBrdi5zZWNvbmQpOwogICAgIH0KQEAgLTI1NSwx
NiArMjY0LDE2IEBAIGludCBMb2dNZXNzYWdlOjpHZXRMb2dUb1N0cmVhbShMb2dTaW5rKiAKIH0K
IAogdm9pZCBMb2dNZXNzYWdlOjpBZGRMb2dUb1N0cmVhbShMb2dTaW5rKiBzdHJlYW0sIExvZ2dp
bmdTZXZlcml0eSBtaW5fc2V2KSB7Ci0gIENyaXRTY29wZSBjcygmZ19sb2dfY3JpdCk7Ci0gIHN0
cmVhbXNfLnB1c2hfYmFjayhzdGQ6Om1ha2VfcGFpcihzdHJlYW0sIG1pbl9zZXYpKTsKKyAgQ3Jp
dFNjb3BlIGNzKCZnX2xvZ19jcml0KCkpOworICBzdHJlYW1zKCkucHVzaF9iYWNrKHN0ZDo6bWFr
ZV9wYWlyKHN0cmVhbSwgbWluX3NldikpOwogICBVcGRhdGVNaW5Mb2dTZXZlcml0eSgpOwogfQog
CiB2b2lkIExvZ01lc3NhZ2U6OlJlbW92ZUxvZ1RvU3RyZWFtKExvZ1NpbmsqIHN0cmVhbSkgewot
ICBDcml0U2NvcGUgY3MoJmdfbG9nX2NyaXQpOwotICBmb3IgKFN0cmVhbUxpc3Q6Oml0ZXJhdG9y
IGl0ID0gc3RyZWFtc18uYmVnaW4oKTsgaXQgIT0gc3RyZWFtc18uZW5kKCk7ICsraXQpIHsKKyAg
Q3JpdFNjb3BlIGNzKCZnX2xvZ19jcml0KCkpOworICBmb3IgKFN0cmVhbUxpc3Q6Oml0ZXJhdG9y
IGl0ID0gc3RyZWFtcygpLmJlZ2luKCk7IGl0ICE9IHN0cmVhbXMoKS5lbmQoKTsgKytpdCkgewog
ICAgIGlmIChzdHJlYW0gPT0gaXQtPmZpcnN0KSB7Ci0gICAgICBzdHJlYW1zXy5lcmFzZShpdCk7
CisgICAgICBzdHJlYW1zKCkuZXJhc2UoaXQpOwogICAgICAgYnJlYWs7CiAgICAgfQogICB9CkBA
IC0zMzUsNyArMzQ0LDcgQEAgdm9pZCBMb2dNZXNzYWdlOjpDb25maWd1cmVMb2dnaW5nKGNvbnN0
IAogCiB2b2lkIExvZ01lc3NhZ2U6OlVwZGF0ZU1pbkxvZ1NldmVyaXR5KCkgRVhDTFVTSVZFX0xP
Q0tTX1JFUVVJUkVEKGdfbG9nX2NyaXQpIHsKICAgTG9nZ2luZ1NldmVyaXR5IG1pbl9zZXYgPSBk
Ymdfc2V2XzsKLSAgZm9yIChhdXRvJiBrdiA6IHN0cmVhbXNfKSB7CisgIGZvciAoYXV0byYga3Yg
OiBzdHJlYW1zKCkpIHsKICAgICBtaW5fc2V2ID0gc3RkOjptaW4oZGJnX3Nldl8sIGt2LnNlY29u
ZCk7CiAgIH0KICAgbWluX3Nldl8gPSBtaW5fc2V2OwpJbmRleDogU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS93ZWJydGMvYmFzZS9sb2dnaW5nLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvYmFzZS9sb2dnaW5nLmgJKHJl
dmlzaW9uIDIxNDI1NikKKysrIFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2Vi
cnRjL2Jhc2UvbG9nZ2luZy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMzMsOCArMjMzLDggQEAgY2xh
c3MgTG9nTWVzc2FnZSB7CiAgIC8vIGN0eF9zZXZfIGlzIHRoZSBtaW5pbXVtIGxldmVsIGF0IHdo
aWNoIGZpbGUgY29udGV4dCBpcyBkaXNwbGF5ZWQKICAgc3RhdGljIExvZ2dpbmdTZXZlcml0eSBt
aW5fc2V2XywgZGJnX3Nldl8sIGN0eF9zZXZfOwogCi0gIC8vIFRoZSBvdXRwdXQgc3RyZWFtcyBh
bmQgdGhlaXIgYXNzb2NpYXRlZCBzZXZlcml0aWVzCi0gIHN0YXRpYyBTdHJlYW1MaXN0IHN0cmVh
bXNfOworICAgIC8vIFRoZSBvdXRwdXQgc3RyZWFtcyBhbmQgdGhlaXIgYXNzb2NpYXRlZCBzZXZl
cml0aWVzCisgICAgc3RhdGljIFN0cmVhbUxpc3QmIHN0cmVhbXMoKTsKIAogICAvLyBGbGFncyBm
b3IgZm9ybWF0dGluZyBvcHRpb25zCiAgIHN0YXRpYyBib29sIHRocmVhZF8sIHRpbWVzdGFtcF87
CkluZGV4OiBTb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9iYXNlL25l
dmVyZGVzdHJveWVkLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS93ZWJydGMvYmFzZS9uZXZlcmRlc3Ryb3llZC5oCShub25leGlzdGVudCkKKysrIFNv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL2Jhc2UvbmV2ZXJkZXN0cm95
ZWQuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMzIEBACisvKgorICogIENvcHlyaWdodCAo
YykgMjAxNyBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogIFVzZSBvZiB0
aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UKKyAqICB0
aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IG9mIHRoZSBz
b3VyY2UKKyAqICB0cmVlLiBBbiBhZGRpdGlvbmFsIGludGVsbGVjdHVhbCBwcm9wZXJ0eSByaWdo
dHMgZ3JhbnQgY2FuIGJlIGZvdW5kCisgKiAgaW4gdGhlIGZpbGUgUEFURU5UUy4gIEFsbCBjb250
cmlidXRpbmcgcHJvamVjdCBhdXRob3JzIG1heQorICogIGJlIGZvdW5kIGluIHRoZSBBVVRIT1JT
IGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZSB0cmVlLgorICovCisKKyNwcmFnbWEgb25j
ZQorCituYW1lc3BhY2Ugd2VicnRjIHsKKwordGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgTmV2
ZXJEZXN0cm95ZWQgeworICAgIE5ldmVyRGVzdHJveWVkKGNvbnN0IE5ldmVyRGVzdHJveWVkJikg
PSBkZWxldGU7CisgICAgTmV2ZXJEZXN0cm95ZWQmIG9wZXJhdG9yPShjb25zdCBOZXZlckRlc3Ry
b3llZCYpID0gZGVsZXRlOworcHVibGljOgorICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3M+
CisgICAgTmV2ZXJEZXN0cm95ZWQoQXJncyYmLi4uIGFyZ3MpCisgICAgeworICAgICAgICBuZXcg
KCZtX3N0b3JhZ2UpIFQoc3RkOjpmb3J3YXJkPEFyZ3M+KGFyZ3MpLi4uKTsKKyAgICB9CisgICAg
b3BlcmF0b3IgVCYoKSB7IHJldHVybiAqYXNQdHIoKTsgfQorICAgIFQmIGdldCgpIHsgcmV0dXJu
ICphc1B0cigpOyB9CisgICAgVCogb3BlcmF0b3ImKCkgeyByZXR1cm4gYXNQdHIoKTsgfQorcHJp
dmF0ZToKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHN0ZDo6cmVtb3ZlX2NvbnN0PFQ+Ojp0eXBlKiBQ
b2ludGVyVHlwZTsKKyAgICBQb2ludGVyVHlwZSBhc1B0cigpIHsgcmV0dXJuIHJlaW50ZXJwcmV0
X2Nhc3Q8UG9pbnRlclR5cGU+KCZtX3N0b3JhZ2UpOyB9CisgICAgdHlwZW5hbWUgc3RkOjphbGln
bmVkX3N0b3JhZ2U8c2l6ZW9mKFQpLCBzdGQ6OmFsaWdubWVudF9vZjxUPjo6dmFsdWU+Ojp0eXBl
IG1fc3RvcmFnZTsKK307CisKK30KSW5kZXg6IFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2Uvd2VicnRjL2Jhc2UvdmlydHVhbHNvY2tldHNlcnZlci5jYwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9iYXNlL3ZpcnR1YWxzb2Nr
ZXRzZXJ2ZXIuY2MJKHJldmlzaW9uIDIxNDI1NikKKysrIFNvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2Uvd2VicnRjL2Jhc2UvdmlydHVhbHNvY2tldHNlcnZlci5jYwkod29ya2luZyBj
b3B5KQpAQCAtMTAxNiw3ICsxMDE2LDcgQEAgdm9pZCBWaXJ0dWFsU29ja2V0U2VydmVyOjpVcGRh
dGVEZWxheURpcwogICB9CiB9CiAKLXN0YXRpYyBkb3VibGUgUEkgPSA0ICogYXRhbigxLjApOwor
c3RhdGljIGNvbnN0IGRvdWJsZSBQSSA9IDMuMTQxNTkyNjUzNTg5NzkzMjM4NDYyNjQzMzgzMjc5
NTAyODg0OwogCiBzdGF0aWMgZG91YmxlIE5vcm1hbChkb3VibGUgeCwgZG91YmxlIG1lYW4sIGRv
dWJsZSBzdGRkZXYpIHsKICAgZG91YmxlIGEgPSAoeCAtIG1lYW4pICogKHggLSBtZWFuKSAvICgy
ICogc3RkZGV2ICogc3RkZGV2KTsKSW5kZXg6IFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2Uvd2VicnRjL21vZHVsZXMvYXVkaW9fY29kaW5nL2NvZGVjcy9idWlsdGluX2F1ZGlvX2Rl
Y29kZXJfZmFjdG9yeV9pbnRlcm5hbC5jYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9tb2R1bGVzL2F1ZGlvX2NvZGluZy9jb2RlY3MvYnVp
bHRpbl9hdWRpb19kZWNvZGVyX2ZhY3RvcnlfaW50ZXJuYWwuY2MJKHJldmlzaW9uIDIxNDI1NikK
KysrIFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL21vZHVsZXMvYXVk
aW9fY29kaW5nL2NvZGVjcy9idWlsdGluX2F1ZGlvX2RlY29kZXJfZmFjdG9yeV9pbnRlcm5hbC5j
Ywkod29ya2luZyBjb3B5KQpAQCAtMTUsNiArMTUsNyBAQAogCiAjaW5jbHVkZSAid2VicnRjL2Jh
c2UvY2hlY2tzLmgiCiAjaW5jbHVkZSAid2VicnRjL2Jhc2Uvb3B0aW9uYWwuaCIKKyNpbmNsdWRl
ICJ3ZWJydGMvYmFzZS9uZXZlcmRlc3Ryb3llZC5oIgogI2luY2x1ZGUgIndlYnJ0Yy9jb21tb25f
dHlwZXMuaCIKICNpbmNsdWRlICJ3ZWJydGMvbW9kdWxlcy9hdWRpb19jb2RpbmcvY29kZWNzL2Nu
Zy93ZWJydGNfY25nLmgiCiAjaW5jbHVkZSAid2VicnRjL21vZHVsZXMvYXVkaW9fY29kaW5nL2Nv
ZGVjcy9nNzExL2F1ZGlvX2RlY29kZXJfcGNtLmgiCkBAIC01MCw3ICs1MSw4IEBAIHN0cnVjdCBO
YW1lZERlY29kZXJDb25zdHJ1Y3RvciB7CiAKIC8vIFRPRE8oa3dpYmVyZyk6IFRoZXNlIGZhY3Rv
cnkgZnVuY3Rpb25zIHNob3VsZCBwcm9iYWJseSBiZSBtb3ZlZCB0byBlYWNoCiAvLyBkZWNvZGVy
LgotTmFtZWREZWNvZGVyQ29uc3RydWN0b3IgZGVjb2Rlcl9jb25zdHJ1Y3RvcnNbXSA9IHsKK3N0
YXRpYyBjb25zdCBzdGQ6OnZlY3RvcjxOYW1lZERlY29kZXJDb25zdHJ1Y3Rvcj4mIGRlY29kZXJf
Y29uc3RydWN0b3JzKCkgeworIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxzdGQ6OnZlY3RvcjxOYW1l
ZERlY29kZXJDb25zdHJ1Y3Rvcj4+IGRlY29kZXJfY29uc3RydWN0b3JzID0gW10geyByZXR1cm4g
c3RkOjp2ZWN0b3I8TmFtZWREZWNvZGVyQ29uc3RydWN0b3I+KHsKICAgICB7InBjbXUiLAogICAg
ICBbXShjb25zdCBTZHBBdWRpb0Zvcm1hdCYgZm9ybWF0LCBzdGQ6OnVuaXF1ZV9wdHI8QXVkaW9E
ZWNvZGVyPiogb3V0KSB7CiAgICAgICAgaWYgKGZvcm1hdC5jbG9ja3JhdGVfaHogPT0gODAwMCAm
JiBmb3JtYXQubnVtX2NoYW5uZWxzID49IDEpIHsKQEAgLTE3MCwxNCArMTcyLDE2IEBAIE5hbWVk
RGVjb2RlckNvbnN0cnVjdG9yIGRlY29kZXJfY29uc3RydWMKICAgICAgICB9CiAgICAgIH19LAog
I2VuZGlmCi19OworICB9KTt9KCk7CisgIHJldHVybiBkZWNvZGVyX2NvbnN0cnVjdG9ycy5nZXQo
KTsKK30KIAogY2xhc3MgQnVpbHRpbkF1ZGlvRGVjb2RlckZhY3RvcnkgOiBwdWJsaWMgQXVkaW9E
ZWNvZGVyRmFjdG9yeSB7CiAgcHVibGljOgogICBzdGQ6OnZlY3RvcjxBdWRpb0NvZGVjU3BlYz4g
R2V0U3VwcG9ydGVkRGVjb2RlcnMoKSBvdmVycmlkZSB7CiAgICAgLy8gQWx0aG91Z2ggdGhpcyBs
b29rcyBhIGJpdCBzdHJhbmdlLCBpdCBtZWFucyBzcGVjcyBuZWVkIG9ubHkgYmUKICAgICAvLyBp
bml0aWFsaXplZCBvbmNlLCBhbmQgdGhhdCB0aGF0IGluaXRpYWxpemF0aW9uIGlzIHRocmVhZC1z
YWZlLgotICAgIHN0YXRpYyBzdGQ6OnZlY3RvcjxBdWRpb0NvZGVjU3BlYz4gc3BlY3MgPSBbXSB7
CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPHN0ZDo6dmVjdG9yPEF1ZGlvQ29kZWNTcGVjPj4g
c3BlY3MgPSBbXSB7CiAgICAgICBzdGQ6OnZlY3RvcjxBdWRpb0NvZGVjU3BlYz4gc3BlY3M7CiAj
aWZkZWYgV0VCUlRDX0NPREVDX09QVVMKICAgICAgIC8vIGNsYW5nLWZvcm1hdCBvZmYKQEAgLTIx
MCw3ICsyMTQsNyBAQCBjbGFzcyBCdWlsdGluQXVkaW9EZWNvZGVyRmFjdG9yeSA6IHB1YmxpCiAg
IH0KIAogICBib29sIElzU3VwcG9ydGVkRGVjb2Rlcihjb25zdCBTZHBBdWRpb0Zvcm1hdCYgZm9y
bWF0KSBvdmVycmlkZSB7Ci0gICAgZm9yIChjb25zdCBhdXRvJiBkYyA6IGRlY29kZXJfY29uc3Ry
dWN0b3JzKSB7CisgICAgZm9yIChjb25zdCBhdXRvJiBkYyA6IGRlY29kZXJfY29uc3RydWN0b3Jz
KCkpIHsKICAgICAgIGlmIChTVFJfQ0FTRV9DTVAoZm9ybWF0Lm5hbWUuY19zdHIoKSwgZGMubmFt
ZSkgPT0gMCkgewogICAgICAgICByZXR1cm4gZGMuY29uc3RydWN0b3IoZm9ybWF0LCBudWxscHRy
KTsKICAgICAgIH0KQEAgLTIyMCw3ICsyMjQsNyBAQCBjbGFzcyBCdWlsdGluQXVkaW9EZWNvZGVy
RmFjdG9yeSA6IHB1YmxpCiAKICAgc3RkOjp1bmlxdWVfcHRyPEF1ZGlvRGVjb2Rlcj4gTWFrZUF1
ZGlvRGVjb2RlcigKICAgICAgIGNvbnN0IFNkcEF1ZGlvRm9ybWF0JiBmb3JtYXQpIG92ZXJyaWRl
IHsKLSAgICBmb3IgKGNvbnN0IGF1dG8mIGRjIDogZGVjb2Rlcl9jb25zdHJ1Y3RvcnMpIHsKKyAg
ICBmb3IgKGNvbnN0IGF1dG8mIGRjIDogZGVjb2Rlcl9jb25zdHJ1Y3RvcnMoKSkgewogICAgICAg
aWYgKFNUUl9DQVNFX0NNUChmb3JtYXQubmFtZS5jX3N0cigpLCBkYy5uYW1lKSA9PSAwKSB7CiAg
ICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxBdWRpb0RlY29kZXI+IGRlY29kZXI7CiAgICAgICAgIGJv
b2wgb2sgPSBkYy5jb25zdHJ1Y3Rvcihmb3JtYXQsICZkZWNvZGVyKTsKSW5kZXg6IFNvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL21vZHVsZXMvYXVkaW9fcHJvY2Vzc2lu
Zy9iZWFtZm9ybWVyL2FycmF5X3V0aWwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9tb2R1bGVzL2F1ZGlvX3Byb2Nlc3NpbmcvYmVhbWZv
cm1lci9hcnJheV91dGlsLmgJKHJldmlzaW9uIDIxNDI1NikKKysrIFNvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL21vZHVsZXMvYXVkaW9fcHJvY2Vzc2luZy9iZWFtZm9y
bWVyL2FycmF5X3V0aWwuaAkod29ya2luZyBjb3B5KQpAQCAtMTAzLDEyICsxMDMsMTQgQEAgdXNp
bmcgU3BoZXJpY2FsUG9pbnRmID0gU3BoZXJpY2FsUG9pbnQ8ZgogCiAvLyBIZWxwZXIgZnVuY3Rp
b25zIHRvIHRyYW5zZm9ybSBkZWdyZWVzIHRvIHJhZGlhbnMgYW5kIHRoZSBpbnZlcnNlLgogdGVt
cGxhdGUgPHR5cGVuYW1lIFQ+Ci1UIERlZ3JlZXNUb1JhZGlhbnMoVCBhbmdsZV9kZWdyZWVzKSB7
Citjb25zdGV4cHIgVCBEZWdyZWVzVG9SYWRpYW5zKFQgYW5nbGVfZGVncmVlcykKK3sKICAgcmV0
dXJuIE1fUEkgKiBhbmdsZV9kZWdyZWVzIC8gMTgwOwogfQogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUg
VD4KLVQgUmFkaWFuc1RvRGVncmVlcyhUIGFuZ2xlX3JhZGlhbnMpIHsKK2NvbnN0ZXhwciBUIFJh
ZGlhbnNUb0RlZ3JlZXMoVCBhbmdsZV9yYWRpYW5zKQorewogICByZXR1cm4gMTgwICogYW5nbGVf
cmFkaWFucyAvIE1fUEk7CiB9CiAKSW5kZXg6IFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2Uvd2VicnRjL21vZHVsZXMvcnRwX3J0Y3Avc291cmNlL3J0cF91dGlsaXR5LmNjCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL21vZHVs
ZXMvcnRwX3J0Y3Avc291cmNlL3J0cF91dGlsaXR5LmNjCShyZXZpc2lvbiAyMTQyNTYpCisrKyBT
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9tb2R1bGVzL3J0cF9ydGNw
L3NvdXJjZS9ydHBfdXRpbGl0eS5jYwkod29ya2luZyBjb3B5KQpAQCAtMTMsNiArMTMsNyBAQAog
I2luY2x1ZGUgPHN0cmluZy5oPgogCiAjaW5jbHVkZSAid2VicnRjL2Jhc2UvbG9nZ2luZy5oIgor
I2luY2x1ZGUgIndlYnJ0Yy9iYXNlL25ldmVyZGVzdHJveWVkLmgiCiAjaW5jbHVkZSAid2VicnRj
L21vZHVsZXMvcnRwX3J0Y3AvaW5jbHVkZS9ydHBfY3ZvLmgiCiAjaW5jbHVkZSAid2VicnRjL21v
ZHVsZXMvcnRwX3J0Y3Avc291cmNlL2J5dGVfaW8uaCIKICNpbmNsdWRlICJ3ZWJydGMvbW9kdWxl
cy9ydHBfcnRjcC9zb3VyY2UvcnRwX2hlYWRlcl9leHRlbnNpb25zLmgiCkBAIC0yMCwxNyArMjEs
MTcgQEAKIG5hbWVzcGFjZSB3ZWJydGMgewogCiBSdHBEYXRhKiBOdWxsT2JqZWN0UnRwRGF0YSgp
IHsKLSAgc3RhdGljIE51bGxSdHBEYXRhIG51bGxfcnRwX2RhdGE7CisgIHN0YXRpYyBOZXZlckRl
c3Ryb3llZDxOdWxsUnRwRGF0YT4gbnVsbF9ydHBfZGF0YTsKICAgcmV0dXJuICZudWxsX3J0cF9k
YXRhOwogfQogCiBSdHBGZWVkYmFjayogTnVsbE9iamVjdFJ0cEZlZWRiYWNrKCkgewotICBzdGF0
aWMgTnVsbFJ0cEZlZWRiYWNrIG51bGxfcnRwX2ZlZWRiYWNrOworICBzdGF0aWMgTmV2ZXJEZXN0
cm95ZWQ8TnVsbFJ0cEZlZWRiYWNrPiBudWxsX3J0cF9mZWVkYmFjazsKICAgcmV0dXJuICZudWxs
X3J0cF9mZWVkYmFjazsKIH0KIAogUmVjZWl2ZVN0YXRpc3RpY3MqIE51bGxPYmplY3RSZWNlaXZl
U3RhdGlzdGljcygpIHsKLSAgc3RhdGljIE51bGxSZWNlaXZlU3RhdGlzdGljcyBudWxsX3JlY2Vp
dmVfc3RhdGlzdGljczsKKyAgc3RhdGljIE5ldmVyRGVzdHJveWVkPE51bGxSZWNlaXZlU3RhdGlz
dGljcz4gbnVsbF9yZWNlaXZlX3N0YXRpc3RpY3M7CiAgIHJldHVybiAmbnVsbF9yZWNlaXZlX3N0
YXRpc3RpY3M7CiB9CiAKSW5kZXg6IFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
d2VicnRjL3N5c3RlbV93cmFwcGVycy9zb3VyY2UvY2xvY2suY2MKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc3lzdGVtX3dyYXBwZXJzL3Nv
dXJjZS9jbG9jay5jYwkocmV2aXNpb24gMjE0MjU2KQorKysgU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS93ZWJydGMvc3lzdGVtX3dyYXBwZXJzL3NvdXJjZS9jbG9jay5jYwkod29y
a2luZyBjb3B5KQpAQCAtMjAsNiArMjAsNyBAQAogI2VuZGlmCiAKICNpbmNsdWRlICJ3ZWJydGMv
YmFzZS9jcml0aWNhbHNlY3Rpb24uaCIKKyNpbmNsdWRlICJ3ZWJydGMvYmFzZS9uZXZlcmRlc3Ry
b3llZC5oIgogI2luY2x1ZGUgIndlYnJ0Yy9iYXNlL3RpbWV1dGlscy5oIgogI2luY2x1ZGUgIndl
YnJ0Yy9zeXN0ZW1fd3JhcHBlcnMvaW5jbHVkZS9yd19sb2NrX3dyYXBwZXIuaCIKIApAQCAtMjIz
LDcgKzIyNCw3IEBAIENsb2NrKiBDbG9jazo6R2V0UmVhbFRpbWVDbG9jaygpIHsKICAgfQogICBy
ZXR1cm4gZ19zaGFyZWRfY2xvY2s7CiAjZWxpZiBkZWZpbmVkKFdFQlJUQ19MSU5VWCkgfHwgZGVm
aW5lZChXRUJSVENfTUFDKQotICBzdGF0aWMgVW5peFJlYWxUaW1lQ2xvY2sgY2xvY2s7CisgIHN0
YXRpYyBOZXZlckRlc3Ryb3llZDxVbml4UmVhbFRpbWVDbG9jaz4gY2xvY2s7CiAgIHJldHVybiAm
Y2xvY2s7CiAjZWxzZQogICByZXR1cm4gTlVMTDsKSW5kZXg6IFNvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9saWJ3ZWJydGMueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvbGlid2VicnRjLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oJKHJldmlzaW9uIDIxNDI1NikKKysrIFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9saWJ3ZWJydGMueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAt
NTI4LDcgKzUyOCw2IEBACiAJCTVDNEI0ODM5MUU0MkMwNkEwMDI2NTFDOCAvKiBzc2xfcnNhLmMg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1QzRCNDdGNTFF
NDJDMDY2MDAyNjUxQzggLyogc3NsX3JzYS5jICovOyB9OwogCQk1QzRCNDgzQTFFNDJDMDZBMDAy
NjUxQzggLyogc3NsX3Nlc3Npb24uYyBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDVDNEI0N0Y2MUU0MkMwNjYwMDI2NTFDOCAvKiBzc2xfc2Vzc2lvbi5jICov
OyB9OwogCQk1QzRCNDgzQjFFNDJDMDZBMDAyNjUxQzggLyogc3NsX3N0YXQuYyBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDNEI0N0Y3MUU0MkMwNjYwMDI2
NTFDOCAvKiBzc2xfc3RhdC5jICovOyB9OwotCQk1QzRCNDgzQzFFNDJDMDZBMDAyNjUxQzggLyog
c3NsX3Rlc3QuY2MgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1QzRCNDdGODFFNDJDMDY2MDAyNjUxQzggLyogc3NsX3Rlc3QuY2MgKi87IH07CiAJCTVDNEI0
ODNEMUU0MkMwNkEwMDI2NTFDOCAvKiB0MV9lbmMuYyBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDNEI0N0Y5MUU0MkMwNjYwMDI2NTFDOCAvKiB0MV9lbmMu
YyAqLzsgfTsKIAkJNUM0QjQ4M0UxRTQyQzA2QTAwMjY1MUM4IC8qIHQxX2xpYi5jIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUM0QjQ3RkExRTQyQzA2NjAw
MjY1MUM4IC8qIHQxX2xpYi5jICovOyB9OwogCQk1QzRCNDgzRjFFNDJDMDZBMDAyNjUxQzggLyog
dGxzX21ldGhvZC5jIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNUM0QjQ3RkIxRTQyQzA2NjAwMjY1MUM4IC8qIHRsc19tZXRob2QuYyAqLzsgfTsKQEAgLTI0
ODksNiArMjQ4OCw3IEBACiAJCTVDREQ5MDdGMUU0M0QxNUMwMDYyMUU5MiAvKiBtb2NrX25vbmxp
bmVhcl9iZWFtZm9ybWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA1Q0REOTA2RjFFNDNEMTVDMDA2MjFFOTIgLyogbW9ja19ub25saW5lYXJfYmVhbWZv
cm1lci5oICovOyB9OwogCQk1Q0REOTA4MjFFNDNEMTVDMDA2MjFFOTIgLyogbm9ubGluZWFyX2Jl
YW1mb3JtZXIuY2MgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1Q0REOTA3MjFFNDNEMTVDMDA2MjFFOTIgLyogbm9ubGluZWFyX2JlYW1mb3JtZXIuY2MgKi87
IH07CiAJCTVDREQ5MDgzMUU0M0QxNUMwMDYyMUU5MiAvKiBub25saW5lYXJfYmVhbWZvcm1lci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUNERDkwNzMx
RTQzRDE1QzAwNjIxRTkyIC8qIG5vbmxpbmVhcl9iZWFtZm9ybWVyLmggKi87IH07CisJCTVDREVC
MzMxMUU4MjExMDgwMDIwOUIxNCAvKiBuZXZlcmRlc3Ryb3llZC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUNERUIzMzAxRTgyMTEwODAwMjA5QjE0IC8q
IG5ldmVyZGVzdHJveWVkLmggKi87IH07CiAJCTVDRkQ1MzdDMUU0QkE0RjUwMDQ4MjkwOCAvKiBh
dWRpb19kZXZpY2VfaW9zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA1Q0ZENTM3NTFFNEJBNEY1MDA0ODI5MDggLyogYXVkaW9fZGV2aWNlX2lvcy5oICov
OyB9OwogCQk1Q0ZENTM4MDFFNEJBNEY1MDA0ODI5MDggLyogYXVkaW9fc2Vzc2lvbl9vYnNlcnZl
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUNGRDUz
NzkxRTRCQTRGNTAwNDgyOTA4IC8qIGF1ZGlvX3Nlc3Npb25fb2JzZXJ2ZXIuaCAqLzsgfTsKIAkJ
NUNGRDUzODExRTRCQTRGNTAwNDgyOTA4IC8qIHZvaWNlX3Byb2Nlc3NpbmdfYXVkaW9fdW5pdC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUNGRDUzN0Ex
RTRCQTRGNTAwNDgyOTA4IC8qIHZvaWNlX3Byb2Nlc3NpbmdfYXVkaW9fdW5pdC5oICovOyB9OwpA
QCAtNTIwOCw2ICs1MjA4LDcgQEAKIAkJNUNERDkwQUIxRTQzRDUyOTAwNjIxRTkyIC8qIGFlc19p
Y21fb3NzbC5jICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmM7IG5hbWUgPSBhZXNfaWNtX29zc2wu
YzsgcGF0aCA9IGNpcGhlci9hZXNfaWNtX29zc2wuYzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNUNERDkwQUMxRTQzRDUyOTAwNjIxRTkyIC8qIGNpcGhlci5jICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmM7IG5hbWUgPSBjaXBoZXIuYzsgcGF0aCA9IGNpcGhlci9jaXBoZXIuYzsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUNERDkwQUQxRTQzRDUyOTAwNjIxRTkyIC8qIG51
bGxfY2lwaGVyLmMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuYzsgbmFtZSA9IG51bGxfY2lwaGVy
LmM7IHBhdGggPSBjaXBoZXIvbnVsbF9jaXBoZXIuYzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNUNERUIzMzAxRTgyMTEwODAwMjA5QjE0IC8qIG5ldmVyZGVzdHJveWVkLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IG5ldmVyZGVzdHJveWVkLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTVDRkQ1Mzc1MUU0QkE0RjUwMDQ4MjkwOCAvKiBhdWRpb19kZXZp
Y2VfaW9zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IGF1ZGlvX2RldmljZV9p
b3MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUNGRDUzNzYxRTRCQTRGNTAwNDgy
OTA4IC8qIGF1ZGlvX2RldmljZV9pb3MubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpj
cHA7IHBhdGggPSBhdWRpb19kZXZpY2VfaW9zLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1Q0ZENTM3OTFFNEJBNEY1MDA0ODI5MDggLyogYXVkaW9fc2Vzc2lvbl9vYnNlcnZlci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBhdWRpb19zZXNzaW9uX29ic2VydmVy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02Njg3LDYgKzY2ODgsNyBAQAogCQk1
QzYzRjMwNDFFNDE0NkQyMDAyQ0E1MzEgLyogYmFzZSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3Vw
OwogCQkJY2hpbGRyZW4gPSAoCisJCQkJNUNERUIzMzAxRTgyMTEwODAwMjA5QjE0IC8qIG5ldmVy
ZGVzdHJveWVkLmggKi8sCiAJCQkJNUNEMjg2NDIxRTZBN0I0MjAwOTRGREM4IC8qIHNoYTEuY2Mg
Ki8sCiAJCQkJNUNEMjg2NDMxRTZBN0I0MjAwOTRGREM4IC8qIHNoYTEuaCAqLywKIAkJCQk1Q0Qy
ODU0RjFFNkE2MjMxMDA5NEZEQzggLyogbnVtZXJpY3MgKi8sCkBAIC0xMDI2MCw2ICsxMDI2Miw3
IEBACiAJCQkJNUNERDhCRUExRTQzQzJCNTAwNjIxRTkyIC8qIHNwbGl0X3ZxLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk1Q0REODRDMjFFNDNBRjEzMDA2MjFFOTIgLyogc3BsaXR0aW5nX2ZpbHRlci5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNUNERDgzNjAxRTQzMjU3MjAwNjIxRTkyIC8qIHNwc19wYXJz
ZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTVDREVCMzMxMUU4MjExMDgwMDIwOUIxNCAvKiBuZXZl
cmRlc3Ryb3llZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUNERDgzNjMxRTQzMjU3MjAwNjIxRTky
IC8qIHNwc192dWlfcmV3cml0ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTVDNjNGODhEMUU0MTYy
ODgwMDJDQTUzMSAvKiBzc2xhZGFwdGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk1QzYzRjg5MDFF
NDE2Mjg4MDAyQ0E1MzEgLyogc3NsZmluZ2VycHJpbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMTEy
MTEsNyArMTEyMTQsNiBAQAogCQkJCTVDNEI0ODM5MUU0MkMwNkEwMDI2NTFDOCAvKiBzc2xfcnNh
LmMgaW4gU291cmNlcyAqLywKIAkJCQk1QzRCNDgzQTFFNDJDMDZBMDAyNjUxQzggLyogc3NsX3Nl
c3Npb24uYyBpbiBTb3VyY2VzICovLAogCQkJCTVDNEI0ODNCMUU0MkMwNkEwMDI2NTFDOCAvKiBz
c2xfc3RhdC5jIGluIFNvdXJjZXMgKi8sCi0JCQkJNUM0QjQ4M0MxRTQyQzA2QTAwMjY1MUM4IC8q
IHNzbF90ZXN0LmNjIGluIFNvdXJjZXMgKi8sCiAJCQkJNUM0QjQ2QTUxRTQyQUE0MjAwMjY1MUM4
IC8qIHN0YWNrLmMgaW4gU291cmNlcyAqLywKIAkJCQk1QzRCNDgzRDFFNDJDMDZBMDAyNjUxQzgg
LyogdDFfZW5jLmMgaW4gU291cmNlcyAqLywKIAkJCQk1QzRCNDgzRTFFNDJDMDZBMDAyNjUxQzgg
LyogdDFfbGliLmMgaW4gU291cmNlcyAqLywK
</data>
<flag name="review"
          id="326604"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>