<?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>212827</bug_id>
          
          <creation_ts>2020-06-05 08:43:28 -0700</creation_ts>
          <short_desc>[IPC] Adopt enum class for PluginLoadClientPolicy</short_desc>
          <delta_ts>2020-06-05 13:37:28 -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>Plug-ins</component>
          <version>Other</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=212758</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=212846</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>211988</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="David Kilzer (:ddkilzer)">ddkilzer</reporter>
          <assigned_to name="David Kilzer (:ddkilzer)">ddkilzer</assigned_to>
          <cc>achristensen</cc>
    
    <cc>darin</cc>
    
    <cc>useafterfree</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1659599</commentid>
    <comment_count>0</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2020-06-05 08:43:28 -0700</bug_when>
    <thetext>Adopt enum class for PluginLoadClientPolicy.

Also add EnumTraits&lt; WebCore::PluginLoadClientPolicy &gt; since this type is used via IPC, and replace uint8_t with more strongly typed WebCore::PluginLoadClientPolicy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1659601</commentid>
    <comment_count>1</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2020-06-05 08:46:32 -0700</bug_when>
    <thetext>&lt;rdar://problem/64030431&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1659625</commentid>
    <comment_count>2</comment_count>
      <attachid>401163</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2020-06-05 09:39:45 -0700</bug_when>
    <thetext>Created attachment 401163
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1659628</commentid>
    <comment_count>3</comment_count>
      <attachid>401163</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2020-06-05 09:47:19 -0700</bug_when>
    <thetext>Comment on attachment 401163
Patch v1

Wee!  Build failures.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1659683</commentid>
    <comment_count>4</comment_count>
      <attachid>401172</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2020-06-05 10:32:51 -0700</bug_when>
    <thetext>Created attachment 401172
Patch v2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1659764</commentid>
    <comment_count>5</comment_count>
      <attachid>401172</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2020-06-05 13:06:36 -0700</bug_when>
    <thetext>Comment on attachment 401172
Patch v2

Adding cq+ since the Windows layout test failure and the api-ios test failure don&apos;t seem to be related to this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1659766</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-06-05 13:15:13 -0700</bug_when>
    <thetext>Committed r262648: &lt;https://trac.webkit.org/changeset/262648&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 401172.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>401163</attachid>
            <date>2020-06-05 09:39:45 -0700</date>
            <delta_ts>2020-06-05 10:33:11 -0700</delta_ts>
            <desc>Patch v1</desc>
            <filename>bug-212827-20200605094007.patch</filename>
            <type>text/plain</type>
            <size>27151</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyNjIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGVjMWI4NThmMDM5ZTgy
YTM5N2U4YTYwOGNmMmRmYmFhNzc5OTQwNC4uOTM0ODYwOTYwNGNjZTU1NmUzNmM5NTExODBlMzJl
ZThhMTEwN2FmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTA2LTA1ICBEYXZp
ZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CisKKyAgICAgICAgW0lQQ10gQWRvcHQgZW51
bSBjbGFzcyBmb3IgUGx1Z2luTG9hZENsaWVudFBvbGljeQorICAgICAgICA8aHR0cHM6Ly93ZWJr
aXQub3JnL2IvMjEyODI3PgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjQwMzA0MzE+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbHVnaW5zL1Bs
dWdpbkRhdGEuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBsdWdpbkxvYWRDbGllbnRQb2xpY3kpOgor
ICAgICAgICAtIE1ha2UgdGhpcyBhbiBlbnVtIGNsYXNzLgorICAgICAgICAoV1RGOjpFbnVtVHJh
aXRzPFdlYkNvcmU6OlBsdWdpbkxvYWRDbGllbnRQb2xpY3k+KToKKyAgICAgICAgLSBBZGQgZm9y
IHVzZSB3aXRoIHN0cm9uZ2x5LXR5cGVkIElQQyBwYXJhbWV0ZXJzLgorCiAyMDIwLTA2LTA1ICBB
ZHJpYW4gUGVyZXogZGUgQ2FzdHJvICA8YXBlcmV6QGlnYWxpYS5jb20+CiAKICAgICAgICAgTm9u
LXVuaWZpZWQgYnVpbGQgZml4ZXMsIGVhcmx5IHN1bW1lciAyMDIwIGVkaXRpb24KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5k
ZXggM2FhMzNhZDkxYWY5OWFiZWE4YTY4ZjBmYjQxNjllMGZhYTg1NjY5Mi4uMmVlNGFkOTQ1MWEx
ZTU0YTQ1YzEyMDNlYjJlZjAyN2QyY2Q2ZmUzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MyBAQAor
MjAyMC0wNi0wNSAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBwbGUuY29tPgorCisgICAgICAg
IFtJUENdIEFkb3B0IGVudW0gY2xhc3MgZm9yIFBsdWdpbkxvYWRDbGllbnRQb2xpY3kKKyAgICAg
ICAgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzIxMjgyNz4KKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzY0MDMwNDMxPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFN1bW1hcnk6CisgICAgICAgIC0gVXBkYXRlIGZvciByZW5hbWVkIFBsdWdpbkxvYWRDbGll
bnRQb2xpY3kgZW51bXMuCisgICAgICAgIC0gVXBkYXRlIHRvIG1ha2UgUGx1Z2luTG9hZENsaWVu
dFBvbGljeSB0eXBlIHdvcmsgd2l0aCBJUEMuCisgICAgICAgIC0gUmVwbGFjZSB1aW50OF90IHdp
dGggc3Ryb25nbHktdHlwZWQgUGx1Z2luTG9hZENsaWVudFBvbGljeS4KKworICAgICAgICAqIFNj
cmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5OgorICAgICAgICAqIFNoYXJlZC9QbHVnaW5zL05ldHNj
YXBlL21hYy9OZXRzY2FwZVBsdWdpbk1vZHVsZU1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6TmV0
c2NhcGVQbHVnaW5Nb2R1bGU6OmdldFBsdWdpbkluZm8pOgorICAgICAgICAqIFNoYXJlZC9XZWJQ
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dL
QVBJQ2FzdC5oOgorICAgICAgICAoV2ViS2l0Ojp0b1dLUGx1Z2luTG9hZENsaWVudFBvbGljeSk6
CisgICAgICAgIChXZWJLaXQ6OnRvUGx1Z2luTG9hZENsaWVudFBvbGljeSk6CisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NQb29sLm1tOgorICAgICAgICAodG9QbHVnaW5M
b2FkQ2xpZW50UG9saWNpZXNIYXNoTWFwKToKKyAgICAgICAgKHBvbGljaWVzSGFzaE1hcFRvRGlj
dGlvbmFyeSk6CisgICAgICAgIChpc1BsdWdpbkxvYWRDbGllbnRQb2xpY3lBY2NlcHRhYmxlKTog
RGVsZXRlLgorICAgICAgICAtIFJlcGxhY2Ugd2l0aAorICAgICAgICAgIFdURjo6aXNWYWxpZEVu
dW08V2ViQ29yZTo6UGx1Z2luTG9hZENsaWVudFBvbGljeT4oKS4KKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6
c2V0UGx1Z2luTG9hZENsaWVudFBvbGljeSk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQ
b29sOjpyZXNldFBsdWdpbkxvYWRDbGllbnRQb2xpY2llcyk6CisgICAgICAgICogVUlQcm9jZXNz
L1dlYlByb2Nlc3NQb29sLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQ
bHVnaW4ubW06CisgICAgICAgIChXZWJLaXQ6OlBERlBsdWdpbjo6cGx1Z2luSW5mbyk6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL1dlYlBsdWdpbkluZm9Qcm92aWRlci5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBsdWdpbkluZm9Qcm92aWRlcjo6d2ViVmlzaWJsZVBsdWdpbkluZm8p
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYlByb2Nlc3M6OnNldFBsdWdpbkxvYWRDbGllbnRQb2xpY3kpOgorICAgICAgICAoV2ViS2l0
OjpXZWJQcm9jZXNzOjpyZXNldFBsdWdpbkxvYWRDbGllbnRQb2xpY2llcyk6CisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
Lm1lc3NhZ2VzLmluOgorCiAyMDIwLTA2LTA1ICBBZHJpYW4gUGVyZXogZGUgQ2FzdHJvICA8YXBl
cmV6QGlnYWxpYS5jb20+CiAKICAgICAgICAgTm9uLXVuaWZpZWQgYnVpbGQgZml4ZXMsIGVhcmx5
IHN1bW1lciAyMDIwIGVkaXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRleCA4YzU1
ZjIzZTNiNGI3Yzg2ZTYwMTI5Y2ZlZWJiYjMyNDAxOTcxNTUwLi5iNzdiZWQxMGYzOTE0ZmJmMTY1
NzFhNmY3ODMxMDgzYzljMjQ5Yzc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTUgQEAKKzIwMjAtMDYtMDUgIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNv
bT4KKworICAgICAgICBbSVBDXSBBZG9wdCBlbnVtIGNsYXNzIGZvciBQbHVnaW5Mb2FkQ2xpZW50
UG9saWN5CisgICAgICAgIDxodHRwczovL3dlYmtpdC5vcmcvYi8yMTI4Mjc+CisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS82NDAzMDQzMT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIFBsdWdpbnMvV2ViQmFzZVBsdWdpblBhY2thZ2UubW06CisgICAg
ICAgICgtW1dlYkJhc2VQbHVnaW5QYWNrYWdlIGdldFBsdWdpbkluZm9Gcm9tUExpc3RzXSk6Cisg
ICAgICAgIC0gVXBkYXRlIGZvciByZW5hbWVkIFBsdWdpbkxvYWRDbGllbnRQb2xpY3kgZW51bS4K
KwogMjAyMC0wNi0wNSAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CiAKICAgICAgICAg
W0FwcGxlIFBheV0gUmVtb3ZlIGNvbmRpdGlvbmFscyBmb3IgRU5BQkxFX0FQUExFX1BBWV9TRVNT
SU9OX1YoM3w0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5EYXRh
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpbkRhdGEuaAppbmRleCA1ODdmZTkwYTJj
OGViZTNhODQyM2JkOWVmZDA0NmM0MTRkNGJiNDczLi5kMTA4ZTZiMTAwNGQ5Mjk0Y2IxNjk1ZTBm
NGZkOGJkM2RmM2JjMDU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdp
bkRhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpbkRhdGEuaApAQCAtMSw2
ICsxLDYgQEAKIC8qCiAgICAgQ29weXJpZ2h0IChDKSAyMDA4IE5va2lhIENvcnBvcmF0aW9uIGFu
ZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQotICAgIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgICAgQ29weXJpZ2h0IChDKSAyMDE1LTIwMjAgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogCiAgICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUg
c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICAgIG1vZGlmeSBpdCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0yMCw2
ICsyMCw3IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSA8d3RmL0VudW1UcmFpdHMuaD4K
ICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5j
bHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTMzLDI0ICszNCwyMiBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiBjbGFzcyBQYWdlOwogc3RydWN0IFBsdWdpbkluZm87CiAKLWVudW0gUGx1Z2luTG9h
ZENsaWVudFBvbGljeSA6IHVpbnQ4X3QgeworZW51bSBjbGFzcyBQbHVnaW5Mb2FkQ2xpZW50UG9s
aWN5IDogdWludDhfdCB7CiAgICAgLy8gTm8gY2xpZW50LXNwZWNpZmljIHBsdWctaW4gbG9hZCBw
b2xpY3kgaGFzIGJlZW4gZGVmaW5lZC4gVGhlIHBsdWctaW4gc2hvdWxkIGJlIHZpc2libGUgaW4g
bmF2aWdhdG9yLnBsdWdpbnMgYW5kIFdlYktpdCBzaG91bGQgc3luY2hyb25vdXNseQogICAgIC8v
IGFzayB0aGUgY2xpZW50IHdoZXRoZXIgdGhlIHBsdWctaW4gc2hvdWxkIGJlIGxvYWRlZC4KLSAg
ICBQbHVnaW5Mb2FkQ2xpZW50UG9saWN5VW5kZWZpbmVkID0gMCwKKyAgICBVbmRlZmluZWQgPSAw
LAogCiAgICAgLy8gVGhlIHBsdWctaW4gbW9kdWxlIHNob3VsZCBiZSBibG9ja2VkIGZyb20gYmVp
bmcgaW5zdGFudGlhdGVkLiBUaGUgcGx1Zy1pbiBzaG91bGQgYmUgaGlkZGVuIGluIG5hdmlnYXRv
ci5wbHVnaW5zLgotICAgIFBsdWdpbkxvYWRDbGllbnRQb2xpY3lCbG9jaywKKyAgICBCbG9jaywK
IAogICAgIC8vIFdlYktpdCBzaG91bGQgc3luY2hyb25vdXNseSBhc2sgdGhlIGNsaWVudCB3aGV0
aGVyIHRoZSBwbHVnLWluIHNob3VsZCBiZSBsb2FkZWQuIFRoZSBwbHVnLWluIHNob3VsZCBiZSB2
aXNpYmxlIGluIG5hdmlnYXRvci5wbHVnaW5zLgotICAgIFBsdWdpbkxvYWRDbGllbnRQb2xpY3lB
c2ssCisgICAgQXNrLAogCiAgICAgLy8gVGhlIHBsdWctaW4gbW9kdWxlIG1heSBiZSBsb2FkZWQg
aWYgV2ViS2l0IGlzIG5vdCBibG9ja2luZyBpdC4KLSAgICBQbHVnaW5Mb2FkQ2xpZW50UG9saWN5
QWxsb3csCisgICAgQWxsb3csCiAKICAgICAvLyBUaGUgcGx1Zy1pbiBtb2R1bGUgc2hvdWxkIGJl
IGxvYWRlZCBpcnJlc3BlY3RpdmUgb2Ygd2hldGhlciBXZWJLaXQgaGFzIGFza2VkIGl0IHRvIGJl
IGJsb2NrZWQuCi0gICAgUGx1Z2luTG9hZENsaWVudFBvbGljeUFsbG93QWx3YXlzLAotCi0gICAg
UGx1Z2luTG9hZENsaWVudFBvbGljeU1heGltdW0gPSBQbHVnaW5Mb2FkQ2xpZW50UG9saWN5QWxs
b3dBbHdheXMKKyAgICBBbGxvd0Fsd2F5cywKIH07CiAKIHN0cnVjdCBNaW1lQ2xhc3NJbmZvIHsK
QEAgLTE2NiwzICsxNjUsMTggQEAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gaW5saW5lIHZvaWQg
U3VwcG9ydGVkUGx1Z2luSWRlbnRpZmllcjo6ZW5jb2RlKEVuY29kZXImIGUKIH0KIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorCituYW1lc3BhY2UgV1RGIHsKKwordGVtcGxhdGU8PiBzdHJ1Y3Qg
RW51bVRyYWl0czxXZWJDb3JlOjpQbHVnaW5Mb2FkQ2xpZW50UG9saWN5PiB7CisgICAgdXNpbmcg
dmFsdWVzID0gRW51bVZhbHVlczwKKyAgICAgICAgV2ViQ29yZTo6UGx1Z2luTG9hZENsaWVudFBv
bGljeSwKKyAgICAgICAgV2ViQ29yZTo6UGx1Z2luTG9hZENsaWVudFBvbGljeTo6VW5kZWZpbmVk
LAorICAgICAgICBXZWJDb3JlOjpQbHVnaW5Mb2FkQ2xpZW50UG9saWN5OjpCbG9jaywKKyAgICAg
ICAgV2ViQ29yZTo6UGx1Z2luTG9hZENsaWVudFBvbGljeTo6QXNrLAorICAgICAgICBXZWJDb3Jl
OjpQbHVnaW5Mb2FkQ2xpZW50UG9saWN5OjpBbGxvdywKKyAgICAgICAgV2ViQ29yZTo6UGx1Z2lu
TG9hZENsaWVudFBvbGljeTo6QWxsb3dBbHdheXMKKyAgICA+OworfTsKKworfSAvLyBuYW1lc3Bh
Y2UgV1RGCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2Vz
LnB5IGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQppbmRleCA2MzI5
ZmNmYTUyMzlmMGFmZjFmYTQxYmUxOGZhMmM3ODY1ODAyNDVhLi4wMjRkYTlhZDU0NTYwOTZkYTU4
ZDYyYzZhNmFiNTI5ZDAwYjQwMDVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMv
d2Via2l0L21lc3NhZ2VzLnB5CisrKyBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVz
c2FnZXMucHkKQEAgLTIxNCw2ICsyMTQsNyBAQCBkZWYgdHlwZXNfdGhhdF9jYW5ub3RfYmVfZm9y
d2FyZF9kZWNsYXJlZCgpOgogICAgICAgICAnV2ViQ29yZTo6TGliV2ViUlRDU29ja2V0SWRlbnRp
ZmllcicsCiAgICAgICAgICdXZWJDb3JlOjpNZWRpYVNlc3Npb25JZGVudGlmaWVyJywKICAgICAg
ICAgJ1dlYkNvcmU6OlBhZ2VJZGVudGlmaWVyJywKKyAgICAgICAgJ1dlYkNvcmU6OlBsdWdpbkxv
YWRDbGllbnRQb2xpY3knLAogICAgICAgICAnV2ViQ29yZTo6UG9pbnRlcklEJywKICAgICAgICAg
J1dlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyJywKICAgICAgICAgJ1dlYkNvcmU6OlJlYWx0aW1l
TWVkaWFTb3VyY2VJZGVudGlmaWVyJywKQEAgLTYxNSw2ICs2MTYsNyBAQCBkZWYgaGVhZGVyc19m
b3JfdHlwZSh0eXBlKToKICAgICAgICAgJ1dlYkNvcmU6OlBheW1lbnRBdXRob3JpemF0aW9uUmVz
dWx0JzogWyc8V2ViQ29yZS9BcHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdC5oPiddLAogICAg
ICAgICAnV2ViQ29yZTo6UGF5bWVudE1ldGhvZFVwZGF0ZSc6IFsnPFdlYkNvcmUvQXBwbGVQYXlT
ZXNzaW9uUGF5bWVudFJlcXVlc3QuaD4nXSwKICAgICAgICAgJ1dlYkNvcmU6OlBsdWdpbkluZm8n
OiBbJzxXZWJDb3JlL1BsdWdpbkRhdGEuaD4nXSwKKyAgICAgICAgJ1dlYkNvcmU6OlBsdWdpbkxv
YWRDbGllbnRQb2xpY3knOiBbJzxXZWJDb3JlL1BsdWdpbkRhdGEuaD4nXSwKICAgICAgICAgJ1dl
YkNvcmU6OlBvbGljeUFjdGlvbic6IFsnPFdlYkNvcmUvRnJhbWVMb2FkZXJUeXBlcy5oPiddLAog
ICAgICAgICAnV2ViQ29yZTo6U2hvdWxkQ29udGludWVQb2xpY3lDaGVjayc6IFsnPFdlYkNvcmUv
RnJhbWVMb2FkZXJUeXBlcy5oPiddLAogICAgICAgICAnV2ViQ29yZTo6UG9saWN5Q2hlY2tJZGVu
dGlmaWVyJzogWyc8V2ViQ29yZS9GcmFtZUxvYWRlclR5cGVzLmg+J10sCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9QbHVnaW5zL05ldHNjYXBlL21hYy9OZXRzY2FwZVBsdWdpbk1v
ZHVsZU1hYy5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05l
dHNjYXBlUGx1Z2luTW9kdWxlTWFjLm1tCmluZGV4IDAzOTQzNDY1NTFjMmVmNDdhMTkzNjRkMzZl
Mzg4YmRkY2EzZjE0ODUuLmNkMGNmNTI3ZTBjYmMzODFlYzRjN2VmMzlhYWYzZjRjZWYxMzY0YTMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05l
dHNjYXBlUGx1Z2luTW9kdWxlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1BsdWdp
bnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTW9kdWxlTWFjLm1tCkBAIC0xOTQsNyArMTk0
LDcgQEAgYm9vbCBOZXRzY2FwZVBsdWdpbk1vZHVsZTo6Z2V0UGx1Z2luSW5mbyhjb25zdCBTdHJp
bmcmIHBsdWdpblBhdGgsIFBsdWdpbk1vZHVsZUkKICAgICAgICAgcGx1Z2luLmluZm8uZGVzYyA9
IHBsdWdpbi5pbmZvLmZpbGU7CiAKICAgICBwbHVnaW4uaW5mby5pc0FwcGxpY2F0aW9uUGx1Z2lu
ID0gZmFsc2U7Ci0gICAgcGx1Z2luLmluZm8uY2xpZW50TG9hZFBvbGljeSA9IFBsdWdpbkxvYWRD
bGllbnRQb2xpY3lVbmRlZmluZWQ7CisgICAgcGx1Z2luLmluZm8uY2xpZW50TG9hZFBvbGljeSA9
IFBsdWdpbkxvYWRDbGllbnRQb2xpY3k6OlVuZGVmaW5lZDsKICNpZiBQTEFURk9STShNQUMpCiAg
ICAgcGx1Z2luLmluZm8uYnVuZGxlSWRlbnRpZmllciA9IHBsdWdpbi5idW5kbGVJZGVudGlmaWVy
OwogICAgIHBsdWdpbi5pbmZvLnZlcnNpb25TdHJpbmcgPSBwbHVnaW4udmVyc2lvblN0cmluZzsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRl
cnMuaAppbmRleCAwNGU3YzAxZDhiYTlmYTJlMGEyMjhiNjA1YzY3MmU5NDhjMzliMTk5Li43Nzkw
MmMxYWRhNDU4NGRhMWFmOTEwYWUzMDQyYWEzMjE2M2E2YTJlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKKysrIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCkBAIC01Miw2ICs1
MiwxMCBAQAogI2luY2x1ZGUgPFdlYkNvcmUvUmVuZGVyVGhlbWVJT1MuaD4KICNlbmRpZgogCisj
aWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCisjaW5jbHVkZSA8V2ViQ29yZS9QbHVnaW5E
YXRhLmg+CisjZW5kaWYKKwogbmFtZXNwYWNlIEFQSSB7CiBjbGFzcyBEYXRhOwogfQpAQCAtMTU5
LDcgKzE2Myw3IEBAIHN0cnVjdCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHsKICAgICBW
ZWN0b3I8U3RyaW5nPiBwbHVnSW5BdXRvU3RhcnRPcmlnaW5zOwogCiAjaWYgRU5BQkxFKE5FVFND
QVBFX1BMVUdJTl9BUEkpCi0gICAgSGFzaE1hcDxTdHJpbmcsIEhhc2hNYXA8U3RyaW5nLCBIYXNo
TWFwPFN0cmluZywgdWludDhfdD4+PiBwbHVnaW5Mb2FkQ2xpZW50UG9saWNpZXM7CisgICAgSGFz
aE1hcDxTdHJpbmcsIEhhc2hNYXA8U3RyaW5nLCBIYXNoTWFwPFN0cmluZywgV2ViQ29yZTo6UGx1
Z2luTG9hZENsaWVudFBvbGljeT4+PiBwbHVnaW5Mb2FkQ2xpZW50UG9saWNpZXM7CiAjZW5kaWYK
IAogI2lmIFBMQVRGT1JNKENPQ09BKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0MvV0tBUElDYXN0LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS0FQ
SUNhc3QuaAppbmRleCBhMzI4MTk4MmU4ZTQyMDg4MTBmNGU3MjgxNDU2MmU1NDM5MGZjYTAwLi4x
ODRhZTE0YTk4NDBlOGY1MTkwZjkzNjJlYWU3NzZmMGQ1OTcyZWE5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS0FQSUNhc3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQy9XS0FQSUNhc3QuaApAQCAtNDQwLDE1ICs0NDAsMTUgQEAgaW5saW5l
IFdLUGx1Z2luTG9hZFBvbGljeSB0b1dLUGx1Z2luTG9hZFBvbGljeShQbHVnaW5Nb2R1bGVMb2Fk
UG9saWN5IHBsdWdpbk1vZHUKIGlubGluZSBXS1BsdWdpbkxvYWRDbGllbnRQb2xpY3kgdG9XS1Bs
dWdpbkxvYWRDbGllbnRQb2xpY3koV2ViQ29yZTo6UGx1Z2luTG9hZENsaWVudFBvbGljeSBQbHVn
aW5Mb2FkQ2xpZW50UG9saWN5KQogewogICAgIHN3aXRjaCAoUGx1Z2luTG9hZENsaWVudFBvbGlj
eSkgewotICAgIGNhc2UgV2ViQ29yZTo6UGx1Z2luTG9hZENsaWVudFBvbGljeVVuZGVmaW5lZDoK
KyAgICBjYXNlIFdlYkNvcmU6OlBsdWdpbkxvYWRDbGllbnRQb2xpY3k6OlVuZGVmaW5lZDoKICAg
ICAgICAgcmV0dXJuIGtXS1BsdWdpbkxvYWRDbGllbnRQb2xpY3lVbmRlZmluZWQ7Ci0gICAgY2Fz
ZSBXZWJDb3JlOjpQbHVnaW5Mb2FkQ2xpZW50UG9saWN5QmxvY2s6CisgICAgY2FzZSBXZWJDb3Jl
OjpQbHVnaW5Mb2FkQ2xpZW50UG9saWN5OjpCbG9jazoKICAgICAgICAgcmV0dXJuIGtXS1BsdWdp
bkxvYWRDbGllbnRQb2xpY3lCbG9jazsKLSAgICBjYXNlIFdlYkNvcmU6OlBsdWdpbkxvYWRDbGll
bnRQb2xpY3lBc2s6CisgICAgY2FzZSBXZWJDb3JlOjpQbHVnaW5Mb2FkQ2xpZW50UG9saWN5OjpB
c2s6CiAgICAgICAgIHJldHVybiBrV0tQbHVnaW5Mb2FkQ2xpZW50UG9saWN5QXNrOwotICAgIGNh
c2UgV2ViQ29yZTo6UGx1Z2luTG9hZENsaWVudFBvbGljeUFsbG93OgorICAgIGNhc2UgV2ViQ29y
ZTo6UGx1Z2luTG9hZENsaWVudFBvbGljeTo6QWxsb3c6CiAgICAgICAgIHJldHVybiBrV0tQbHVn
aW5Mb2FkQ2xpZW50UG9saWN5QWxsb3c7Ci0gICAgY2FzZSBXZWJDb3JlOjpQbHVnaW5Mb2FkQ2xp
ZW50UG9saWN5QWxsb3dBbHdheXM6CisgICAgY2FzZSBXZWJDb3JlOjpQbHVnaW5Mb2FkQ2xpZW50
UG9saWN5OjpBbGxvd0Fsd2F5czoKICAgICAgICAgcmV0dXJuIGtXS1BsdWdpbkxvYWRDbGllbnRQ
b2xpY3lBbGxvd0Fsd2F5czsKICAgICB9CiAKQEAgLTQ3NywxOSArNDc3LDE5IEBAIGlubGluZSBX
ZWJDb3JlOjpQbHVnaW5Mb2FkQ2xpZW50UG9saWN5IHRvUGx1Z2luTG9hZENsaWVudFBvbGljeShX
S1BsdWdpbkxvYWRDbGllCiB7CiAgICAgc3dpdGNoIChwbHVnaW5Mb2FkQ2xpZW50UG9saWN5KSB7
CiAgICAgY2FzZSBrV0tQbHVnaW5Mb2FkQ2xpZW50UG9saWN5VW5kZWZpbmVkOgotICAgICAgICBy
ZXR1cm4gV2ViQ29yZTo6UGx1Z2luTG9hZENsaWVudFBvbGljeVVuZGVmaW5lZDsKKyAgICAgICAg
cmV0dXJuIFdlYkNvcmU6OlBsdWdpbkxvYWRDbGllbnRQb2xpY3k6OlVuZGVmaW5lZDsKICAgICBj
YXNlIGtXS1BsdWdpbkxvYWRDbGllbnRQb2xpY3lCbG9jazoKLSAgICAgICAgcmV0dXJuIFdlYkNv
cmU6OlBsdWdpbkxvYWRDbGllbnRQb2xpY3lCbG9jazsKKyAgICAgICAgcmV0dXJuIFdlYkNvcmU6
OlBsdWdpbkxvYWRDbGllbnRQb2xpY3k6OkJsb2NrOwogICAgIGNhc2Uga1dLUGx1Z2luTG9hZENs
aWVudFBvbGljeUFzazoKLSAgICAgICAgcmV0dXJuIFdlYkNvcmU6OlBsdWdpbkxvYWRDbGllbnRQ
b2xpY3lBc2s7CisgICAgICAgIHJldHVybiBXZWJDb3JlOjpQbHVnaW5Mb2FkQ2xpZW50UG9saWN5
OjpBc2s7CiAgICAgY2FzZSBrV0tQbHVnaW5Mb2FkQ2xpZW50UG9saWN5QWxsb3c6Ci0gICAgICAg
IHJldHVybiBXZWJDb3JlOjpQbHVnaW5Mb2FkQ2xpZW50UG9saWN5QWxsb3c7CisgICAgICAgIHJl
dHVybiBXZWJDb3JlOjpQbHVnaW5Mb2FkQ2xpZW50UG9saWN5OjpBbGxvdzsKICAgICBjYXNlIGtX
S1BsdWdpbkxvYWRDbGllbnRQb2xpY3lBbGxvd0Fsd2F5czoKLSAgICAgICAgcmV0dXJuIFdlYkNv
cmU6OlBsdWdpbkxvYWRDbGllbnRQb2xpY3lBbGxvd0Fsd2F5czsKKyAgICAgICAgcmV0dXJuIFdl
YkNvcmU6OlBsdWdpbkxvYWRDbGllbnRQb2xpY3k6OkFsbG93QWx3YXlzOwogICAgIH0KIAogICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiBXZWJDb3JlOjpQbHVnaW5Mb2FkQ2xp
ZW50UG9saWN5QmxvY2s7CisgICAgcmV0dXJuIFdlYkNvcmU6OlBsdWdpbkxvYWRDbGllbnRQb2xp
Y3k6OkJsb2NrOwogfQogCiBpbmxpbmUgV2ViQ29yZTo6V2ViR0xMb2FkUG9saWN5IHRvV2ViR0xM
b2FkUG9saWN5KFdLV2ViR0xMb2FkUG9saWN5IHdlYkdMTG9hZFBvbGljeSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NQb29sLm1tIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJvY2Vzc1Bvb2wubW0KaW5kZXggNTY5
NTU3MDQ3Y2Y1NmRjODhlNjc0ZWZlZDRiOWIzYTA5ODhiOGRkYS4uN2I5NDY5ZWUxMzBkMWI2MmM4
YjgxODdiZDI1NzQ4YjQyYzQwYTM1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLUHJvY2Vzc1Bvb2wubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLUHJvY2Vzc1Bvb2wubW0KQEAgLTI1MiwxMyArMjUyLDkgQEAgLSAodm9p
ZClfc2V0T2JqZWN0c0ZvckJ1bmRsZVBhcmFtZXRlcnNXaXRoRGljdGlvbmFyeTooTlNEaWN0aW9u
YXJ5ICopZGljdGlvbmFyeQogCiAjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAKLXN0
YXRpYyBib29sIGlzUGx1Z2luTG9hZENsaWVudFBvbGljeUFjY2VwdGFibGUodW5zaWduZWQgcG9s
aWN5KQorc3RhdGljIEhhc2hNYXA8U3RyaW5nLCBIYXNoTWFwPFN0cmluZywgSGFzaE1hcDxTdHJp
bmcsIFdlYkNvcmU6OlBsdWdpbkxvYWRDbGllbnRQb2xpY3k+Pj4gdG9QbHVnaW5Mb2FkQ2xpZW50
UG9saWNpZXNIYXNoTWFwKE5TRGljdGlvbmFyeSogZGljdGlvbmFyeSkKIHsKLSAgICByZXR1cm4g
cG9saWN5IDw9IFdlYkNvcmU6OlBsdWdpbkxvYWRDbGllbnRQb2xpY3lNYXhpbXVtOwotfQotc3Rh
dGljIEhhc2hNYXA8U3RyaW5nLCBIYXNoTWFwPFN0cmluZywgSGFzaE1hcDxTdHJpbmcsIHVpbnQ4
X3Q+Pj4gdG9QbHVnaW5Mb2FkQ2xpZW50UG9saWNpZXNIYXNoTWFwKE5TRGljdGlvbmFyeSogZGlj
dGlvbmFyeSkKLXsKLSAgICBfX2Jsb2NrIEhhc2hNYXA8U3RyaW5nLCBIYXNoTWFwPFN0cmluZywg
SGFzaE1hcDxTdHJpbmcsIHVpbnQ4X3Q+Pj4gcGx1Z2luTG9hZENsaWVudFBvbGljaWVzOworICAg
IF9fYmxvY2sgSGFzaE1hcDxTdHJpbmcsIEhhc2hNYXA8U3RyaW5nLCBIYXNoTWFwPFN0cmluZywg
V2ViQ29yZTo6UGx1Z2luTG9hZENsaWVudFBvbGljeT4+PiBwbHVnaW5Mb2FkQ2xpZW50UG9saWNp
ZXM7CiAgICAgW2RpY3Rpb25hcnkgZW51bWVyYXRlS2V5c0FuZE9iamVjdHNVc2luZ0Jsb2NrOl4o
aWQgbnNIb3N0LCBpZCBuc1BvbGljaWVzRm9ySG9zdCwgQk9PTCAqc3RvcCkgewogICAgICAgICBp
ZiAoIVtuc0hvc3QgaXNLaW5kT2ZDbGFzczpbTlNTdHJpbmcgY2xhc3NdXSkgewogICAgICAgICAg
ICAgUkVMRUFTRV9MT0dfRVJST1IoUGx1Z2lucywgIl9yZXNldFBsdWdpbkxvYWRDbGllbnRQb2xp
Y2llcyB3YXMgY2FsbGVkIHdpdGggZGljdGlvbmFyeSBpbiB3cm9uZyBmb3JtYXQiKTsKQEAgLTI3
MCw3ICsyNjYsNyBAQCBzdGF0aWMgSGFzaE1hcDxTdHJpbmcsIEhhc2hNYXA8U3RyaW5nLCBIYXNo
TWFwPFN0cmluZywgdWludDhfdD4+PiB0b1BsdWdpbkxvYWRDbAogICAgICAgICB9CiAKICAgICAg
ICAgU3RyaW5nIGhvc3QgPSAoTlNTdHJpbmcgKiluc0hvc3Q7Ci0gICAgICAgIF9fYmxvY2sgSGFz
aE1hcDxTdHJpbmcsIEhhc2hNYXA8U3RyaW5nLCB1aW50OF90Pj4gcG9saWNpZXNGb3JIb3N0Owor
ICAgICAgICBfX2Jsb2NrIEhhc2hNYXA8U3RyaW5nLCBIYXNoTWFwPFN0cmluZywgV2ViQ29yZTo6
UGx1Z2luTG9hZENsaWVudFBvbGljeT4+IHBvbGljaWVzRm9ySG9zdDsKICAgICAgICAgW25zUG9s
aWNpZXNGb3JIb3N0IGVudW1lcmF0ZUtleXNBbmRPYmplY3RzVXNpbmdCbG9jazpeKGlkIG5zSWRl
bnRpZmllciwgaWQgbnNWZXJzaW9uc1RvUG9saWNpZXMsIEJPT0wgKnN0b3ApIHsKICAgICAgICAg
ICAgIGlmICghW25zSWRlbnRpZmllciBpc0tpbmRPZkNsYXNzOltOU1N0cmluZyBjbGFzc11dKSB7
CiAgICAgICAgICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoUGx1Z2lucywgIl9yZXNldFBsdWdp
bkxvYWRDbGllbnRQb2xpY2llcyB3YXMgY2FsbGVkIHdpdGggZGljdGlvbmFyeSBpbiB3cm9uZyBm
b3JtYXQiKTsKQEAgLTI4Miw3ICsyNzgsNyBAQCBzdGF0aWMgSGFzaE1hcDxTdHJpbmcsIEhhc2hN
YXA8U3RyaW5nLCBIYXNoTWFwPFN0cmluZywgdWludDhfdD4+PiB0b1BsdWdpbkxvYWRDbAogICAg
ICAgICAgICAgfQogCiAgICAgICAgICAgICBTdHJpbmcgYnVuZGxlSWRlbnRpZmllciA9IChOU1N0
cmluZyAqKW5zSWRlbnRpZmllcjsKLSAgICAgICAgICAgIF9fYmxvY2sgSGFzaE1hcDxTdHJpbmcs
IHVpbnQ4X3Q+IHZlcnNpb25zVG9Qb2xpY2llczsKKyAgICAgICAgICAgIF9fYmxvY2sgSGFzaE1h
cDxTdHJpbmcsIFdlYkNvcmU6OlBsdWdpbkxvYWRDbGllbnRQb2xpY3k+IHZlcnNpb25zVG9Qb2xp
Y2llczsKICAgICAgICAgICAgIFtuc1ZlcnNpb25zVG9Qb2xpY2llcyBlbnVtZXJhdGVLZXlzQW5k
T2JqZWN0c1VzaW5nQmxvY2s6XihpZCBuc1ZlcnNpb24sIGlkIG5zUG9saWN5LCBCT09MICpzdG9w
KSB7CiAgICAgICAgICAgICAgICAgaWYgKCFbbnNWZXJzaW9uIGlzS2luZE9mQ2xhc3M6W05TU3Ry
aW5nIGNsYXNzXV0pIHsKICAgICAgICAgICAgICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoUGx1
Z2lucywgIl9yZXNldFBsdWdpbkxvYWRDbGllbnRQb2xpY2llcyB3YXMgY2FsbGVkIHdpdGggZGlj
dGlvbmFyeSBpbiB3cm9uZyBmb3JtYXQiKTsKQEAgLTI5MywxMiArMjg5LDEyIEBAIHN0YXRpYyBI
YXNoTWFwPFN0cmluZywgSGFzaE1hcDxTdHJpbmcsIEhhc2hNYXA8U3RyaW5nLCB1aW50OF90Pj4+
IHRvUGx1Z2luTG9hZENsCiAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICAgICAgdW5zaWduZWQgcG9saWN5ID0gKChOU051bWJlciAqKW5z
UG9saWN5KS51bnNpZ25lZEludFZhbHVlOwotICAgICAgICAgICAgICAgIGlmICghaXNQbHVnaW5M
b2FkQ2xpZW50UG9saWN5QWNjZXB0YWJsZShwb2xpY3kpKSB7CisgICAgICAgICAgICAgICAgaWYg
KCFXVEY6OmlzVmFsaWRFbnVtPFdlYkNvcmU6OlBsdWdpbkxvYWRDbGllbnRQb2xpY3k+KHBvbGlj
eSkpIHsKICAgICAgICAgICAgICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoUGx1Z2lucywgIl9y
ZXNldFBsdWdpbkxvYWRDbGllbnRQb2xpY2llcyB3YXMgY2FsbGVkIHdpdGggZGljdGlvbmFyeSBp
biB3cm9uZyBmb3JtYXQiKTsKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgICAgICBTdHJpbmcgdmVyc2lvbiA9IChOU1N0cmluZyAqKW5z
VmVyc2lvbjsKLSAgICAgICAgICAgICAgICB2ZXJzaW9uc1RvUG9saWNpZXMuYWRkKHZlcnNpb24s
IHN0YXRpY19jYXN0PHVpbnQ4X3Q+KHBvbGljeSkpOworICAgICAgICAgICAgICAgIHZlcnNpb25z
VG9Qb2xpY2llcy5hZGQodmVyc2lvbiwgc3RhdGljX2Nhc3Q8V2ViQ29yZTo6UGx1Z2luTG9hZENs
aWVudFBvbGljeT4ocG9saWN5KSk7CiAgICAgICAgICAgICB9XTsKICAgICAgICAgICAgIGlmICgh
dmVyc2lvbnNUb1BvbGljaWVzLmlzRW1wdHkoKSkKICAgICAgICAgICAgICAgICBwb2xpY2llc0Zv
ckhvc3QuYWRkKGJ1bmRsZUlkZW50aWZpZXIsIFdURk1vdmUodmVyc2lvbnNUb1BvbGljaWVzKSk7
CkBAIC0zMDksNyArMzA1LDcgQEAgc3RhdGljIEhhc2hNYXA8U3RyaW5nLCBIYXNoTWFwPFN0cmlu
ZywgSGFzaE1hcDxTdHJpbmcsIHVpbnQ4X3Q+Pj4gdG9QbHVnaW5Mb2FkQ2wKICAgICByZXR1cm4g
cGx1Z2luTG9hZENsaWVudFBvbGljaWVzOwogfQogCi1zdGF0aWMgTlNEaWN0aW9uYXJ5ICpwb2xp
Y2llc0hhc2hNYXBUb0RpY3Rpb25hcnkoY29uc3QgSGFzaE1hcDxTdHJpbmcsIEhhc2hNYXA8U3Ry
aW5nLCBIYXNoTWFwPFN0cmluZywgdWludDhfdD4+PiYgbWFwKQorc3RhdGljIE5TRGljdGlvbmFy
eSAqcG9saWNpZXNIYXNoTWFwVG9EaWN0aW9uYXJ5KGNvbnN0IEhhc2hNYXA8U3RyaW5nLCBIYXNo
TWFwPFN0cmluZywgSGFzaE1hcDxTdHJpbmcsIFdlYkNvcmU6OlBsdWdpbkxvYWRDbGllbnRQb2xp
Y3k+Pj4mIG1hcCkKIHsKICAgICBhdXRvIHBvbGljaWVzID0gYWRvcHROUyhbW05TTXV0YWJsZURp
Y3Rpb25hcnkgYWxsb2NdIGluaXRXaXRoQ2FwYWNpdHk6bWFwLnNpemUoKV0pOwogICAgIGZvciAo
YXV0byYgaG9zdFBhaXIgOiBtYXApIHsKQEAgLTMyMCw3ICszMTYsOCBAQCBzdGF0aWMgTlNEaWN0
aW9uYXJ5ICpwb2xpY2llc0hhc2hNYXBUb0RpY3Rpb25hcnkoY29uc3QgSGFzaE1hcDxTdHJpbmcs
IEhhc2hNYXA8UwogICAgICAgICAgICAgcG9saWNpZXMuZ2V0KClbaG9zdF1bYnVuZGxlcklkZW50
aWZpZXJdID0gYWRvcHROUyhbW05TTXV0YWJsZURpY3Rpb25hcnkgYWxsb2NdIGluaXRXaXRoQ2Fw
YWNpdHk6YnVuZGxlSWRlbnRpZmllclBhaXIudmFsdWUuc2l6ZSgpXSkuZ2V0KCk7CiAgICAgICAg
ICAgICBmb3IgKGF1dG8mIHZlcnNpb25QYWlyIDogYnVuZGxlSWRlbnRpZmllclBhaXIudmFsdWUp
IHsKICAgICAgICAgICAgICAgICBOU1N0cmluZyAqdmVyc2lvbiA9IHZlcnNpb25QYWlyLmtleTsK
LSAgICAgICAgICAgICAgICBwb2xpY2llcy5nZXQoKVtob3N0XVtidW5kbGVySWRlbnRpZmllcl1b
dmVyc2lvbl0gPSBhZG9wdE5TKFtbTlNOdW1iZXIgYWxsb2NdIGluaXRXaXRoVW5zaWduZWRJbnQ6
dmVyc2lvblBhaXIudmFsdWVdKS5nZXQoKTsKKyAgICAgICAgICAgICAgICBhdXRvIHBvbGljeVZh
bHVlID0gc3RhdGljX2Nhc3Q8c3RkOjp1bmRlcmx5aW5nX3R5cGVfdDxXZWJDb3JlOjpQbHVnaW5M
b2FkQ2xpZW50UG9saWN5Pj4odmVyc2lvblBhaXIudmFsdWUpOworICAgICAgICAgICAgICAgIHBv
bGljaWVzLmdldCgpW2hvc3RdW2J1bmRsZXJJZGVudGlmaWVyXVt2ZXJzaW9uXSA9IGFkb3B0TlMo
W1tOU051bWJlciBhbGxvY10gaW5pdFdpdGhVbnNpZ25lZEludDpwb2xpY3lWYWx1ZV0pLmdldCgp
OwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCmluZGV4IGUyN2E3Nzg5YjRmNTAyMThmMzk5ZDRmZjA5YmFm
M2ZiNjc0YjU2M2QuLmZjMWRjNDIyOWIyOGUxOGM5MTFjYmNkNzczMGQzZTUyZWFkZjYzZmUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKQEAgLTIwMjUsMTQg
KzIwMjUsMTggQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6c2V0UGx1Z0luQXV0b1N0YXJ0T3JpZ2lu
c0ZpbHRlcmluZ091dEVudHJpZXNBZGRlZEFmdGVyVGltZSgKICNpZiBFTkFCTEUoTkVUU0NBUEVf
UExVR0lOX0FQSSkKIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnNldFBsdWdpbkxvYWRDbGllbnRQb2xp
Y3koV2ViQ29yZTo6UGx1Z2luTG9hZENsaWVudFBvbGljeSBwb2xpY3ksIGNvbnN0IFN0cmluZyYg
aG9zdCwgY29uc3QgU3RyaW5nJiBidW5kbGVJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHZlcnNp
b25TdHJpbmcpCiB7Ci0gICAgYXV0byYgcG9saWNpZXNGb3JIb3N0ID0gbV9wbHVnaW5Mb2FkQ2xp
ZW50UG9saWNpZXMuZW5zdXJlKGhvc3QsIFtdIHsgcmV0dXJuIEhhc2hNYXA8U3RyaW5nLCBIYXNo
TWFwPFN0cmluZywgdWludDhfdD4+KCk7IH0pLml0ZXJhdG9yLT52YWx1ZTsKLSAgICBhdXRvJiB2
ZXJzaW9uc1RvUG9saWNpZXMgPSBwb2xpY2llc0Zvckhvc3QuZW5zdXJlKGJ1bmRsZUlkZW50aWZp
ZXIsIFtdIHsgcmV0dXJuIEhhc2hNYXA8U3RyaW5nLCB1aW50OF90PigpOyB9KS5pdGVyYXRvci0+
dmFsdWU7CisgICAgYXV0byYgcG9saWNpZXNGb3JIb3N0ID0gbV9wbHVnaW5Mb2FkQ2xpZW50UG9s
aWNpZXMuZW5zdXJlKGhvc3QsIFtdIHsKKyAgICAgICAgcmV0dXJuIEhhc2hNYXA8U3RyaW5nLCBI
YXNoTWFwPFN0cmluZywgV2ViQ29yZTo6UGx1Z2luTG9hZENsaWVudFBvbGljeT4+KCk7CisgICAg
fSkuaXRlcmF0b3ItPnZhbHVlOworICAgIGF1dG8mIHZlcnNpb25zVG9Qb2xpY2llcyA9IHBvbGlj
aWVzRm9ySG9zdC5lbnN1cmUoYnVuZGxlSWRlbnRpZmllciwgW10geworICAgICAgICByZXR1cm4g
SGFzaE1hcDxTdHJpbmcsIFdlYkNvcmU6OlBsdWdpbkxvYWRDbGllbnRQb2xpY3k+KCk7CisgICAg
fSkuaXRlcmF0b3ItPnZhbHVlOwogICAgIHZlcnNpb25zVG9Qb2xpY2llcy5zZXQodmVyc2lvblN0
cmluZywgcG9saWN5KTsKIAogICAgIHNlbmRUb0FsbFByb2Nlc3NlcyhNZXNzYWdlczo6V2ViUHJv
Y2Vzczo6U2V0UGx1Z2luTG9hZENsaWVudFBvbGljeShwb2xpY3ksIGhvc3QsIGJ1bmRsZUlkZW50
aWZpZXIsIHZlcnNpb25TdHJpbmcpKTsKIH0KIAotdm9pZCBXZWJQcm9jZXNzUG9vbDo6cmVzZXRQ
bHVnaW5Mb2FkQ2xpZW50UG9saWNpZXMoSGFzaE1hcDxTdHJpbmcsIEhhc2hNYXA8U3RyaW5nLCBI
YXNoTWFwPFN0cmluZywgdWludDhfdD4+PiYmIHBsdWdpbkxvYWRDbGllbnRQb2xpY2llcykKK3Zv
aWQgV2ViUHJvY2Vzc1Bvb2w6OnJlc2V0UGx1Z2luTG9hZENsaWVudFBvbGljaWVzKEhhc2hNYXA8
U3RyaW5nLCBIYXNoTWFwPFN0cmluZywgSGFzaE1hcDxTdHJpbmcsIFdlYkNvcmU6OlBsdWdpbkxv
YWRDbGllbnRQb2xpY3k+Pj4mJiBwbHVnaW5Mb2FkQ2xpZW50UG9saWNpZXMpCiB7CiAgICAgbV9w
bHVnaW5Mb2FkQ2xpZW50UG9saWNpZXMgPSBXVEZNb3ZlKHBsdWdpbkxvYWRDbGllbnRQb2xpY2ll
cyk7CiAgICAgc2VuZFRvQWxsUHJvY2Vzc2VzKE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpSZXNldFBs
dWdpbkxvYWRDbGllbnRQb2xpY2llcyhtX3BsdWdpbkxvYWRDbGllbnRQb2xpY2llcykpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgKaW5kZXggNjYxZjJlNzNkNGNjOTY3
OGJkMWNjMDdmYWEwNzNiMDBmZmE2MDI2NS4uMzExN2ZhNTQ3MTQ0OTU4YjRiMmMyOWZiNjQ1M2Y1
YTI5NTUwY2RjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vz
c1Bvb2wuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCkBA
IC0yNDMsOSArMjQzLDkgQEAgcHVibGljOgogICAgIFBsdWdpbkluZm9TdG9yZSYgcGx1Z2luSW5m
b1N0b3JlKCkgeyByZXR1cm4gbV9wbHVnaW5JbmZvU3RvcmU7IH0KIAogICAgIHZvaWQgc2V0UGx1
Z2luTG9hZENsaWVudFBvbGljeShXZWJDb3JlOjpQbHVnaW5Mb2FkQ2xpZW50UG9saWN5LCBjb25z
dCBTdHJpbmcmIGhvc3QsIGNvbnN0IFN0cmluZyYgYnVuZGxlSWRlbnRpZmllciwgY29uc3QgU3Ry
aW5nJiB2ZXJzaW9uU3RyaW5nKTsKLSAgICB2b2lkIHJlc2V0UGx1Z2luTG9hZENsaWVudFBvbGlj
aWVzKEhhc2hNYXA8U3RyaW5nLCBIYXNoTWFwPFN0cmluZywgSGFzaE1hcDxTdHJpbmcsIHVpbnQ4
X3Q+Pj4mJik7CisgICAgdm9pZCByZXNldFBsdWdpbkxvYWRDbGllbnRQb2xpY2llcyhIYXNoTWFw
PFN0cmluZywgSGFzaE1hcDxTdHJpbmcsIEhhc2hNYXA8U3RyaW5nLCBXZWJDb3JlOjpQbHVnaW5M
b2FkQ2xpZW50UG9saWN5Pj4+JiYpOwogICAgIHZvaWQgY2xlYXJQbHVnaW5DbGllbnRQb2xpY2ll
cygpOwotICAgIGNvbnN0IEhhc2hNYXA8U3RyaW5nLCBIYXNoTWFwPFN0cmluZywgSGFzaE1hcDxT
dHJpbmcsIHVpbnQ4X3Q+Pj4mIHBsdWdpbkxvYWRDbGllbnRQb2xpY2llcygpIGNvbnN0IHsgcmV0
dXJuIG1fcGx1Z2luTG9hZENsaWVudFBvbGljaWVzOyB9CisgICAgY29uc3QgSGFzaE1hcDxTdHJp
bmcsIEhhc2hNYXA8U3RyaW5nLCBIYXNoTWFwPFN0cmluZywgV2ViQ29yZTo6UGx1Z2luTG9hZENs
aWVudFBvbGljeT4+PiYgcGx1Z2luTG9hZENsaWVudFBvbGljaWVzKCkgY29uc3QgeyByZXR1cm4g
bV9wbHVnaW5Mb2FkQ2xpZW50UG9saWNpZXM7IH0KICNlbmRpZgogCiAjaWYgUExBVEZPUk0oTUFD
KSAmJiBFTkFCTEUoV0VCUFJPQ0VTU19XSU5ET1dTRVJWRVJfQkxPQ0tJTkcpCkBAIC03NDYsNyAr
NzQ2LDcgQEAgcHJpdmF0ZToKICNlbmRpZgogCiAjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9B
UEkpCi0gICAgSGFzaE1hcDxTdHJpbmcsIEhhc2hNYXA8U3RyaW5nLCBIYXNoTWFwPFN0cmluZywg
dWludDhfdD4+PiBtX3BsdWdpbkxvYWRDbGllbnRQb2xpY2llczsKKyAgICBIYXNoTWFwPFN0cmlu
ZywgSGFzaE1hcDxTdHJpbmcsIEhhc2hNYXA8U3RyaW5nLCBXZWJDb3JlOjpQbHVnaW5Mb2FkQ2xp
ZW50UG9saWN5Pj4+IG1fcGx1Z2luTG9hZENsaWVudFBvbGljaWVzOwogI2VuZGlmCiAKICNpZiBF
TkFCTEUoR0FNRVBBRCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVn
aW5zL1BERi9QREZQbHVnaW4ubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1Z2lucy9Q
REYvUERGUGx1Z2luLm1tCmluZGV4IDVhYjZiMWVmMDgzYjg1NTAzOWQwODkwYjg5MTI5ZjZmMjlm
N2Y1MjMuLmNjNmE1YTJhMzlhZjE1NDc4N2E2YTVjZmNjZWRkYWU3ZGU5YTA4ODYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQbHVnaW4ubW0KKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1BsdWdpbnMvUERGL1BERlBsdWdpbi5tbQpAQCAt
MTE4Miw3ICsxMTgyLDcgQEAgUGx1Z2luSW5mbyBQREZQbHVnaW46OnBsdWdpbkluZm8oKQogICAg
IFBsdWdpbkluZm8gaW5mbzsKICAgICBpbmZvLm5hbWUgPSBidWlsdEluUERGUGx1Z2luTmFtZSgp
OwogICAgIGluZm8uaXNBcHBsaWNhdGlvblBsdWdpbiA9IHRydWU7Ci0gICAgaW5mby5jbGllbnRM
b2FkUG9saWN5ID0gUGx1Z2luTG9hZENsaWVudFBvbGljeVVuZGVmaW5lZDsKKyAgICBpbmZvLmNs
aWVudExvYWRQb2xpY3kgPSBQbHVnaW5Mb2FkQ2xpZW50UG9saWN5OjpVbmRlZmluZWQ7CiAgICAg
aW5mby5idW5kbGVJZGVudGlmaWVyID0gImNvbS5hcHBsZS53ZWJraXQuYnVpbHRpbnBkZnBsdWdp
biJfczsKIAogICAgIE1pbWVDbGFzc0luZm8gcGRmTWltZUNsYXNzSW5mbzsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVnaW5zL1dlYlBsdWdpbkluZm9Qcm92aWRlci5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1Z2lucy9XZWJQbHVnaW5JbmZvUHJvdmlk
ZXIuY3BwCmluZGV4IDExZjY4YzM3OWVjNWUwMDNlMjJhNTE5ZDZhNzRhODQ0Mzc2ZjVjMmUuLjgw
ZGU0ZDdkYzJhZjY1NzQ0MGNiZTEwNDg1YTBjYWE0YWZiYzQ0M2UgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVnaW5zL1dlYlBsdWdpbkluZm9Qcm92aWRlci5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1BsdWdpbnMvV2ViUGx1Z2luSW5mb1Byb3ZpZGVy
LmNwcApAQCAtMTMyLDEwICsxMzIsMTAgQEAgVmVjdG9yPFdlYkNvcmU6OlBsdWdpbkluZm8+IFdl
YlBsdWdpbkluZm9Qcm92aWRlcjo6d2ViVmlzaWJsZVBsdWdpbkluZm8oUGFnZSYgcGEKICAgICAg
ICAgYXV0byYgaW5mbyA9IHBsdWdpbnMuYXQoaSk7CiAKICAgICAgICAgLy8gQWxsb3cgYnVpbHQt
aW4gcGx1Z2lucy4gQWxzbyB0ZW50YXRpdmVseSBhbGxvdyBwbHVnaW5zIHRoYXQgdGhlIGNsaWVu
dCBtaWdodCBsYXRlciBzZWxlY3RpdmVseSBwZXJtaXQuCi0gICAgICAgIGlmIChpbmZvLmlzQXBw
bGljYXRpb25QbHVnaW4gfHwgaW5mby5jbGllbnRMb2FkUG9saWN5ID09IFdlYkNvcmU6OlBsdWdp
bkxvYWRDbGllbnRQb2xpY3lBc2spCisgICAgICAgIGlmIChpbmZvLmlzQXBwbGljYXRpb25QbHVn
aW4gfHwgaW5mby5jbGllbnRMb2FkUG9saWN5ID09IFdlYkNvcmU6OlBsdWdpbkxvYWRDbGllbnRQ
b2xpY3k6OkFzaykKICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAgIGlmIChpbmZvLmNs
aWVudExvYWRQb2xpY3kgPT0gV2ViQ29yZTo6UGx1Z2luTG9hZENsaWVudFBvbGljeUJsb2NrKQor
ICAgICAgICBpZiAoaW5mby5jbGllbnRMb2FkUG9saWN5ID09IFdlYkNvcmU6OlBsdWdpbkxvYWRD
bGllbnRQb2xpY3k6OkJsb2NrKQogICAgICAgICAgICAgcGx1Z2lucy5yZW1vdmUoaSk7CiAgICAg
fQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKaW5kZXggNWNm
YjJkY2Y2NWFmNzEwMTU4ZmEzYTJhOGE1YjhiNDBkNzVkNWQxMS4uOWFhYjE5ZmQxNjczMGExOTU4
YjAwNTk4Y2Q2YjQ0Y2IwZGJhOWI2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmNwcApAQCAtOTY2LDE0ICs5NjYsMTQgQEAgdm9pZCBXZWJQcm9jZXNzOjpwbHVnSW5EaWRS
ZWNlaXZlVXNlckludGVyYWN0aW9uKGNvbnN0IFN0cmluZyYgcGFnZU9yaWdpbiwgY29uc3QKICAg
ICBwYXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJv
eHk6OlBsdWdJbkRpZFJlY2VpdmVVc2VySW50ZXJhY3Rpb24ocGx1Z0luT3JpZ2luSGFzaCksIDAp
OwogfQogCi12b2lkIFdlYlByb2Nlc3M6OnNldFBsdWdpbkxvYWRDbGllbnRQb2xpY3kodWludDhf
dCBwb2xpY3ksIGNvbnN0IFN0cmluZyYgaG9zdCwgY29uc3QgU3RyaW5nJiBidW5kbGVJZGVudGlm
aWVyLCBjb25zdCBTdHJpbmcmIHZlcnNpb25TdHJpbmcpCit2b2lkIFdlYlByb2Nlc3M6OnNldFBs
dWdpbkxvYWRDbGllbnRQb2xpY3koV2ViQ29yZTo6UGx1Z2luTG9hZENsaWVudFBvbGljeSBwb2xp
Y3ksIGNvbnN0IFN0cmluZyYgaG9zdCwgY29uc3QgU3RyaW5nJiBidW5kbGVJZGVudGlmaWVyLCBj
b25zdCBTdHJpbmcmIHZlcnNpb25TdHJpbmcpCiB7CiAjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJ
Tl9BUEkpICYmIFBMQVRGT1JNKE1BQykKLSAgICBXZWJQbHVnaW5JbmZvUHJvdmlkZXI6OnNpbmds
ZXRvbigpLnNldFBsdWdpbkxvYWRDbGllbnRQb2xpY3koc3RhdGljX2Nhc3Q8UGx1Z2luTG9hZENs
aWVudFBvbGljeT4ocG9saWN5KSwgaG9zdCwgYnVuZGxlSWRlbnRpZmllciwgdmVyc2lvblN0cmlu
Zyk7CisgICAgV2ViUGx1Z2luSW5mb1Byb3ZpZGVyOjpzaW5nbGV0b24oKS5zZXRQbHVnaW5Mb2Fk
Q2xpZW50UG9saWN5KHBvbGljeSwgaG9zdCwgYnVuZGxlSWRlbnRpZmllciwgdmVyc2lvblN0cmlu
Zyk7CiAjZW5kaWYKIH0KIAotdm9pZCBXZWJQcm9jZXNzOjpyZXNldFBsdWdpbkxvYWRDbGllbnRQ
b2xpY2llcyhjb25zdCBIYXNoTWFwPFdURjo6U3RyaW5nLCBIYXNoTWFwPFdURjo6U3RyaW5nLCBI
YXNoTWFwPFdURjo6U3RyaW5nLCB1aW50OF90Pj4+JiBwbHVnaW5Mb2FkQ2xpZW50UG9saWNpZXMp
Cit2b2lkIFdlYlByb2Nlc3M6OnJlc2V0UGx1Z2luTG9hZENsaWVudFBvbGljaWVzKGNvbnN0IEhh
c2hNYXA8V1RGOjpTdHJpbmcsIEhhc2hNYXA8V1RGOjpTdHJpbmcsIEhhc2hNYXA8V1RGOjpTdHJp
bmcsIFdlYkNvcmU6OlBsdWdpbkxvYWRDbGllbnRQb2xpY3k+Pj4mIHBsdWdpbkxvYWRDbGllbnRQ
b2xpY2llcykKIHsKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkgJiYgUExBVEZPUk0o
TUFDKQogICAgIGNsZWFyUGx1Z2luQ2xpZW50UG9saWNpZXMoKTsKQEAgLTk4MSw3ICs5ODEsNyBA
QCB2b2lkIFdlYlByb2Nlc3M6OnJlc2V0UGx1Z2luTG9hZENsaWVudFBvbGljaWVzKGNvbnN0IEhh
c2hNYXA8V1RGOjpTdHJpbmcsIEhhc2hNYQogICAgIGZvciAoYXV0byYgaG9zdFBhaXIgOiBwbHVn
aW5Mb2FkQ2xpZW50UG9saWNpZXMpIHsKICAgICAgICAgZm9yIChhdXRvJiBidW5kbGVJZGVudGlm
aWVyUGFpciA6IGhvc3RQYWlyLnZhbHVlKSB7CiAgICAgICAgICAgICBmb3IgKGF1dG8mIHZlcnNp
b25QYWlyIDogYnVuZGxlSWRlbnRpZmllclBhaXIudmFsdWUpCi0gICAgICAgICAgICAgICAgV2Vi
UGx1Z2luSW5mb1Byb3ZpZGVyOjpzaW5nbGV0b24oKS5zZXRQbHVnaW5Mb2FkQ2xpZW50UG9saWN5
KHN0YXRpY19jYXN0PFBsdWdpbkxvYWRDbGllbnRQb2xpY3k+KHZlcnNpb25QYWlyLnZhbHVlKSwg
aG9zdFBhaXIua2V5LCBidW5kbGVJZGVudGlmaWVyUGFpci5rZXksIHZlcnNpb25QYWlyLmtleSk7
CisgICAgICAgICAgICAgICAgV2ViUGx1Z2luSW5mb1Byb3ZpZGVyOjpzaW5nbGV0b24oKS5zZXRQ
bHVnaW5Mb2FkQ2xpZW50UG9saWN5KHZlcnNpb25QYWlyLnZhbHVlLCBob3N0UGFpci5rZXksIGJ1
bmRsZUlkZW50aWZpZXJQYWlyLmtleSwgdmVyc2lvblBhaXIua2V5KTsKICAgICAgICAgfQogICAg
IH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nl
c3MuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKaW5kZXggYTg0NmUx
MzQzNjgwYTA5ZDgwMTEzMTQyY2QzM2ZiODJhYTM1Y2Y2ZS4uYmM2YTkyMzU0YmJhMDBjZDM1MmZm
NTA5ZTFhNDJhNDgyZWM4MTcxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5o
CkBAIC0xNzUsOCArMTc1LDggQEAgcHVibGljOgogICAgIGJvb2wgc2hvdWxkUGx1Z0luQXV0b1N0
YXJ0RnJvbU9yaWdpbihXZWJQYWdlJiwgY29uc3QgU3RyaW5nJiBwYWdlT3JpZ2luLCBjb25zdCBT
dHJpbmcmIHBsdWdpbk9yaWdpbiwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSk7CiAgICAgdm9pZCBw
bHVnSW5EaWRTdGFydEZyb21PcmlnaW4oY29uc3QgU3RyaW5nJiBwYWdlT3JpZ2luLCBjb25zdCBT
dHJpbmcmIHBsdWdpbk9yaWdpbiwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSk7CiAgICAgdm9pZCBw
bHVnSW5EaWRSZWNlaXZlVXNlckludGVyYWN0aW9uKGNvbnN0IFN0cmluZyYgcGFnZU9yaWdpbiwg
Y29uc3QgU3RyaW5nJiBwbHVnaW5PcmlnaW4sIGNvbnN0IFN0cmluZyYgbWltZVR5cGUpOwotICAg
IHZvaWQgc2V0UGx1Z2luTG9hZENsaWVudFBvbGljeSh1aW50OF90IHBvbGljeSwgY29uc3QgU3Ry
aW5nJiBob3N0LCBjb25zdCBTdHJpbmcmIGJ1bmRsZUlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYg
dmVyc2lvblN0cmluZyk7Ci0gICAgdm9pZCByZXNldFBsdWdpbkxvYWRDbGllbnRQb2xpY2llcyhj
b25zdCBIYXNoTWFwPFN0cmluZywgSGFzaE1hcDxTdHJpbmcsIEhhc2hNYXA8U3RyaW5nLCB1aW50
OF90Pj4+Jik7CisgICAgdm9pZCBzZXRQbHVnaW5Mb2FkQ2xpZW50UG9saWN5KFdlYkNvcmU6OlBs
dWdpbkxvYWRDbGllbnRQb2xpY3ksIGNvbnN0IFN0cmluZyYgaG9zdCwgY29uc3QgU3RyaW5nJiBi
dW5kbGVJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHZlcnNpb25TdHJpbmcpOworICAgIHZvaWQg
cmVzZXRQbHVnaW5Mb2FkQ2xpZW50UG9saWNpZXMoY29uc3QgSGFzaE1hcDxTdHJpbmcsIEhhc2hN
YXA8U3RyaW5nLCBIYXNoTWFwPFN0cmluZywgV2ViQ29yZTo6UGx1Z2luTG9hZENsaWVudFBvbGlj
eT4+PiYpOwogICAgIHZvaWQgY2xlYXJQbHVnaW5DbGllbnRQb2xpY2llcygpOwogICAgIHZvaWQg
cmVmcmVzaFBsdWdpbnMoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlByb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJv
Y2Vzcy5tZXNzYWdlcy5pbgppbmRleCAxMTQ5YmYwODk4NjY1ZmNjNWY3YzBmNTBmZmI3YzU3YTU0
OGVhNDA0Li41ZTdhNzczY2ExNjEyYzU0ZjliZmEzMmUxOTlhNTMwNTA1NjAyMDJmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAtNTUs
OCArNTUsOCBAQCBtZXNzYWdlcyAtPiBXZWJQcm9jZXNzIExlZ2FjeVJlY2VpdmVyIE5vdFJlZkNv
dW50ZWQgewogICAgICMgUGx1Zy1pbnMuCiAgICAgRGlkQWRkUGx1Z0luQXV0b1N0YXJ0T3JpZ2lu
SGFzaCh1aW50MzJfdCBoYXNoLCBXYWxsVGltZSBleHBpcmF0aW9uVGltZSkKICAgICBSZXNldFBs
dWdJbkF1dG9TdGFydE9yaWdpbkhhc2hlcyhIYXNoTWFwPHVpbnQzMl90LFdhbGxUaW1lPiBoYXNo
ZXMpCi0gICAgU2V0UGx1Z2luTG9hZENsaWVudFBvbGljeSh1aW50OF90IHBvbGljeSwgU3RyaW5n
IGhvc3QsIFN0cmluZyBidW5kbGVJZGVudGlmaWVyLCBTdHJpbmcgdmVyc2lvblN0cmluZykKLSAg
ICBSZXNldFBsdWdpbkxvYWRDbGllbnRQb2xpY2llcyhIYXNoTWFwPFN0cmluZywgSGFzaE1hcDxT
dHJpbmcsIEhhc2hNYXA8U3RyaW5nLCB1aW50OF90Pj4+IHBsdWdpbkxvYWRDbGllbnRQb2xpY2ll
cykKKyAgICBTZXRQbHVnaW5Mb2FkQ2xpZW50UG9saWN5KFdlYkNvcmU6OlBsdWdpbkxvYWRDbGll
bnRQb2xpY3kgcG9saWN5LCBTdHJpbmcgaG9zdCwgU3RyaW5nIGJ1bmRsZUlkZW50aWZpZXIsIFN0
cmluZyB2ZXJzaW9uU3RyaW5nKQorICAgIFJlc2V0UGx1Z2luTG9hZENsaWVudFBvbGljaWVzKEhh
c2hNYXA8U3RyaW5nLCBIYXNoTWFwPFN0cmluZywgSGFzaE1hcDxTdHJpbmcsIFdlYkNvcmU6OlBs
dWdpbkxvYWRDbGllbnRQb2xpY3k+Pj4gcGx1Z2luTG9hZENsaWVudFBvbGljaWVzKQogICAgIENs
ZWFyUGx1Z2luQ2xpZW50UG9saWNpZXMoKQogICAgIFJlZnJlc2hQbHVnaW5zKCkKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvUGx1Z2lucy9XZWJCYXNlUGx1Z2luUGFja2Fn
ZS5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1BsdWdpbnMvV2ViQmFzZVBsdWdpblBhY2th
Z2UubW0KaW5kZXggZjZhNzQ3N2NkMWRmYzJiNDVlY2EwMmNkMmRkODFmZjU3NjYzYzAwYS4uMTJh
ODE0ZDk0MzdjMjZmNWZlZmJlODE0MmJmZjFlNDMzNzgyYzdkYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvUGx1Z2lucy9XZWJCYXNlUGx1Z2luUGFja2FnZS5tbQorKysgYi9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9QbHVnaW5zL1dlYkJhc2VQbHVnaW5QYWNrYWdlLm1tCkBA
IC0xODIsNyArMTgyLDcgQEAgLSAoQk9PTClnZXRQbHVnaW5JbmZvRnJvbVBMaXN0cwogICAgIHBs
dWdpbkluZm8uZGVzYyA9IGRlc2NyaXB0aW9uOwogCiAgICAgcGx1Z2luSW5mby5pc0FwcGxpY2F0
aW9uUGx1Z2luID0gZmFsc2U7Ci0gICAgcGx1Z2luSW5mby5jbGllbnRMb2FkUG9saWN5ID0gV2Vi
Q29yZTo6UGx1Z2luTG9hZENsaWVudFBvbGljeVVuZGVmaW5lZDsKKyAgICBwbHVnaW5JbmZvLmNs
aWVudExvYWRQb2xpY3kgPSBXZWJDb3JlOjpQbHVnaW5Mb2FkQ2xpZW50UG9saWN5OjpVbmRlZmlu
ZWQ7CiAjaWYgUExBVEZPUk0oTUFDKQogICAgIHBsdWdpbkluZm8uYnVuZGxlSWRlbnRpZmllciA9
IHNlbGYuYnVuZGxlSWRlbnRpZmllcjsKICAgICBwbHVnaW5JbmZvLnZlcnNpb25TdHJpbmcgPSBz
ZWxmLmJ1bmRsZVZlcnNpb247Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>401172</attachid>
            <date>2020-06-05 10:32:51 -0700</date>
            <delta_ts>2020-06-05 13:15:13 -0700</delta_ts>
            <desc>Patch v2</desc>
            <filename>bug-212827-20200605103312.patch</filename>
            <type>text/plain</type>
            <size>27430</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyNjIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGVjMWI4NThmMDM5ZTgy
YTM5N2U4YTYwOGNmMmRmYmFhNzc5OTQwNC4uOTM0ODYwOTYwNGNjZTU1NmUzNmM5NTExODBlMzJl
ZThhMTEwN2FmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTA2LTA1ICBEYXZp
ZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CisKKyAgICAgICAgW0lQQ10gQWRvcHQgZW51
bSBjbGFzcyBmb3IgUGx1Z2luTG9hZENsaWVudFBvbGljeQorICAgICAgICA8aHR0cHM6Ly93ZWJr
aXQub3JnL2IvMjEyODI3PgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjQwMzA0MzE+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbHVnaW5zL1Bs
dWdpbkRhdGEuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBsdWdpbkxvYWRDbGllbnRQb2xpY3kpOgor
ICAgICAgICAtIE1ha2UgdGhpcyBhbiBlbnVtIGNsYXNzLgorICAgICAgICAoV1RGOjpFbnVtVHJh
aXRzPFdlYkNvcmU6OlBsdWdpbkxvYWRDbGllbnRQb2xpY3k+KToKKyAgICAgICAgLSBBZGQgZm9y
IHVzZSB3aXRoIHN0cm9uZ2x5LXR5cGVkIElQQyBwYXJhbWV0ZXJzLgorCiAyMDIwLTA2LTA1ICBB
ZHJpYW4gUGVyZXogZGUgQ2FzdHJvICA8YXBlcmV6QGlnYWxpYS5jb20+CiAKICAgICAgICAgTm9u
LXVuaWZpZWQgYnVpbGQgZml4ZXMsIGVhcmx5IHN1bW1lciAyMDIwIGVkaXRpb24KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5k
ZXggM2FhMzNhZDkxYWY5OWFiZWE4YTY4ZjBmYjQxNjllMGZhYTg1NjY5Mi4uMmVlNGFkOTQ1MWEx
ZTU0YTQ1YzEyMDNlYjJlZjAyN2QyY2Q2ZmUzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MyBAQAor
MjAyMC0wNi0wNSAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBwbGUuY29tPgorCisgICAgICAg
IFtJUENdIEFkb3B0IGVudW0gY2xhc3MgZm9yIFBsdWdpbkxvYWRDbGllbnRQb2xpY3kKKyAgICAg
ICAgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzIxMjgyNz4KKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzY0MDMwNDMxPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFN1bW1hcnk6CisgICAgICAgIC0gVXBkYXRlIGZvciByZW5hbWVkIFBsdWdpbkxvYWRDbGll
bnRQb2xpY3kgZW51bXMuCisgICAgICAgIC0gVXBkYXRlIHRvIG1ha2UgUGx1Z2luTG9hZENsaWVu
dFBvbGljeSB0eXBlIHdvcmsgd2l0aCBJUEMuCisgICAgICAgIC0gUmVwbGFjZSB1aW50OF90IHdp
dGggc3Ryb25nbHktdHlwZWQgUGx1Z2luTG9hZENsaWVudFBvbGljeS4KKworICAgICAgICAqIFNj
cmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5OgorICAgICAgICAqIFNoYXJlZC9QbHVnaW5zL05ldHNj
YXBlL21hYy9OZXRzY2FwZVBsdWdpbk1vZHVsZU1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6TmV0
c2NhcGVQbHVnaW5Nb2R1bGU6OmdldFBsdWdpbkluZm8pOgorICAgICAgICAqIFNoYXJlZC9XZWJQ
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dL
QVBJQ2FzdC5oOgorICAgICAgICAoV2ViS2l0Ojp0b1dLUGx1Z2luTG9hZENsaWVudFBvbGljeSk6
CisgICAgICAgIChXZWJLaXQ6OnRvUGx1Z2luTG9hZENsaWVudFBvbGljeSk6CisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NQb29sLm1tOgorICAgICAgICAodG9QbHVnaW5M
b2FkQ2xpZW50UG9saWNpZXNIYXNoTWFwKToKKyAgICAgICAgKHBvbGljaWVzSGFzaE1hcFRvRGlj
dGlvbmFyeSk6CisgICAgICAgIChpc1BsdWdpbkxvYWRDbGllbnRQb2xpY3lBY2NlcHRhYmxlKTog
RGVsZXRlLgorICAgICAgICAtIFJlcGxhY2Ugd2l0aAorICAgICAgICAgIFdURjo6aXNWYWxpZEVu
dW08V2ViQ29yZTo6UGx1Z2luTG9hZENsaWVudFBvbGljeT4oKS4KKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6
c2V0UGx1Z2luTG9hZENsaWVudFBvbGljeSk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQ
b29sOjpyZXNldFBsdWdpbkxvYWRDbGllbnRQb2xpY2llcyk6CisgICAgICAgICogVUlQcm9jZXNz
L1dlYlByb2Nlc3NQb29sLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQ
bHVnaW4ubW06CisgICAgICAgIChXZWJLaXQ6OlBERlBsdWdpbjo6cGx1Z2luSW5mbyk6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL1dlYlBsdWdpbkluZm9Qcm92aWRlci5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBsdWdpbkluZm9Qcm92aWRlcjo6d2ViVmlzaWJsZVBsdWdpbkluZm8p
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYlByb2Nlc3M6OnNldFBsdWdpbkxvYWRDbGllbnRQb2xpY3kpOgorICAgICAgICAoV2ViS2l0
OjpXZWJQcm9jZXNzOjpyZXNldFBsdWdpbkxvYWRDbGllbnRQb2xpY2llcyk6CisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
Lm1lc3NhZ2VzLmluOgorCiAyMDIwLTA2LTA1ICBBZHJpYW4gUGVyZXogZGUgQ2FzdHJvICA8YXBl
cmV6QGlnYWxpYS5jb20+CiAKICAgICAgICAgTm9uLXVuaWZpZWQgYnVpbGQgZml4ZXMsIGVhcmx5
IHN1bW1lciAyMDIwIGVkaXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRleCA4YzU1
ZjIzZTNiNGI3Yzg2ZTYwMTI5Y2ZlZWJiYjMyNDAxOTcxNTUwLi5iNzdiZWQxMGYzOTE0ZmJmMTY1
NzFhNmY3ODMxMDgzYzljMjQ5Yzc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTUgQEAKKzIwMjAtMDYtMDUgIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNv
bT4KKworICAgICAgICBbSVBDXSBBZG9wdCBlbnVtIGNsYXNzIGZvciBQbHVnaW5Mb2FkQ2xpZW50
UG9saWN5CisgICAgICAgIDxodHRwczovL3dlYmtpdC5vcmcvYi8yMTI4Mjc+CisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS82NDAzMDQzMT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIFBsdWdpbnMvV2ViQmFzZVBsdWdpblBhY2thZ2UubW06CisgICAg
ICAgICgtW1dlYkJhc2VQbHVnaW5QYWNrYWdlIGdldFBsdWdpbkluZm9Gcm9tUExpc3RzXSk6Cisg
ICAgICAgIC0gVXBkYXRlIGZvciByZW5hbWVkIFBsdWdpbkxvYWRDbGllbnRQb2xpY3kgZW51bS4K
KwogMjAyMC0wNi0wNSAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CiAKICAgICAgICAg
W0FwcGxlIFBheV0gUmVtb3ZlIGNvbmRpdGlvbmFscyBmb3IgRU5BQkxFX0FQUExFX1BBWV9TRVNT
SU9OX1YoM3w0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5EYXRh
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpbkRhdGEuaAppbmRleCA1ODdmZTkwYTJj
OGViZTNhODQyM2JkOWVmZDA0NmM0MTRkNGJiNDczLi5kMTA4ZTZiMTAwNGQ5Mjk0Y2IxNjk1ZTBm
NGZkOGJkM2RmM2JjMDU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdp
bkRhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpbkRhdGEuaApAQCAtMSw2
ICsxLDYgQEAKIC8qCiAgICAgQ29weXJpZ2h0IChDKSAyMDA4IE5va2lhIENvcnBvcmF0aW9uIGFu
ZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQotICAgIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgICAgQ29weXJpZ2h0IChDKSAyMDE1LTIwMjAgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogCiAgICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUg
c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICAgIG1vZGlmeSBpdCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0yMCw2
ICsyMCw3IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSA8d3RmL0VudW1UcmFpdHMuaD4K
ICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5j
bHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTMzLDI0ICszNCwyMiBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiBjbGFzcyBQYWdlOwogc3RydWN0IFBsdWdpbkluZm87CiAKLWVudW0gUGx1Z2luTG9h
ZENsaWVudFBvbGljeSA6IHVpbnQ4X3QgeworZW51bSBjbGFzcyBQbHVnaW5Mb2FkQ2xpZW50UG9s
aWN5IDogdWludDhfdCB7CiAgICAgLy8gTm8gY2xpZW50LXNwZWNpZmljIHBsdWctaW4gbG9hZCBw
b2xpY3kgaGFzIGJlZW4gZGVmaW5lZC4gVGhlIHBsdWctaW4gc2hvdWxkIGJlIHZpc2libGUgaW4g
bmF2aWdhdG9yLnBsdWdpbnMgYW5kIFdlYktpdCBzaG91bGQgc3luY2hyb25vdXNseQogICAgIC8v
IGFzayB0aGUgY2xpZW50IHdoZXRoZXIgdGhlIHBsdWctaW4gc2hvdWxkIGJlIGxvYWRlZC4KLSAg
ICBQbHVnaW5Mb2FkQ2xpZW50UG9saWN5VW5kZWZpbmVkID0gMCwKKyAgICBVbmRlZmluZWQgPSAw
LAogCiAgICAgLy8gVGhlIHBsdWctaW4gbW9kdWxlIHNob3VsZCBiZSBibG9ja2VkIGZyb20gYmVp
bmcgaW5zdGFudGlhdGVkLiBUaGUgcGx1Zy1pbiBzaG91bGQgYmUgaGlkZGVuIGluIG5hdmlnYXRv
ci5wbHVnaW5zLgotICAgIFBsdWdpbkxvYWRDbGllbnRQb2xpY3lCbG9jaywKKyAgICBCbG9jaywK
IAogICAgIC8vIFdlYktpdCBzaG91bGQgc3luY2hyb25vdXNseSBhc2sgdGhlIGNsaWVudCB3aGV0
aGVyIHRoZSBwbHVnLWluIHNob3VsZCBiZSBsb2FkZWQuIFRoZSBwbHVnLWluIHNob3VsZCBiZSB2
aXNpYmxlIGluIG5hdmlnYXRvci5wbHVnaW5zLgotICAgIFBsdWdpbkxvYWRDbGllbnRQb2xpY3lB
c2ssCisgICAgQXNrLAogCiAgICAgLy8gVGhlIHBsdWctaW4gbW9kdWxlIG1heSBiZSBsb2FkZWQg
aWYgV2ViS2l0IGlzIG5vdCBibG9ja2luZyBpdC4KLSAgICBQbHVnaW5Mb2FkQ2xpZW50UG9saWN5
QWxsb3csCisgICAgQWxsb3csCiAKICAgICAvLyBUaGUgcGx1Zy1pbiBtb2R1bGUgc2hvdWxkIGJl
IGxvYWRlZCBpcnJlc3BlY3RpdmUgb2Ygd2hldGhlciBXZWJLaXQgaGFzIGFza2VkIGl0IHRvIGJl
IGJsb2NrZWQuCi0gICAgUGx1Z2luTG9hZENsaWVudFBvbGljeUFsbG93QWx3YXlzLAotCi0gICAg
UGx1Z2luTG9hZENsaWVudFBvbGljeU1heGltdW0gPSBQbHVnaW5Mb2FkQ2xpZW50UG9saWN5QWxs
b3dBbHdheXMKKyAgICBBbGxvd0Fsd2F5cywKIH07CiAKIHN0cnVjdCBNaW1lQ2xhc3NJbmZvIHsK
QEAgLTE2NiwzICsxNjUsMTggQEAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gaW5saW5lIHZvaWQg
U3VwcG9ydGVkUGx1Z2luSWRlbnRpZmllcjo6ZW5jb2RlKEVuY29kZXImIGUKIH0KIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorCituYW1lc3BhY2UgV1RGIHsKKwordGVtcGxhdGU8PiBzdHJ1Y3Qg
RW51bVRyYWl0czxXZWJDb3JlOjpQbHVnaW5Mb2FkQ2xpZW50UG9saWN5PiB7CisgICAgdXNpbmcg
dmFsdWVzID0gRW51bVZhbHVlczwKKyAgICAgICAgV2ViQ29yZTo6UGx1Z2luTG9hZENsaWVudFBv
bGljeSwKKyAgICAgICAgV2ViQ29yZTo6UGx1Z2luTG9hZENsaWVudFBvbGljeTo6VW5kZWZpbmVk
LAorICAgICAgICBXZWJDb3JlOjpQbHVnaW5Mb2FkQ2xpZW50UG9saWN5OjpCbG9jaywKKyAgICAg
ICAgV2ViQ29yZTo6UGx1Z2luTG9hZENsaWVudFBvbGljeTo6QXNrLAorICAgICAgICBXZWJDb3Jl
OjpQbHVnaW5Mb2FkQ2xpZW50UG9saWN5OjpBbGxvdywKKyAgICAgICAgV2ViQ29yZTo6UGx1Z2lu
TG9hZENsaWVudFBvbGljeTo6QWxsb3dBbHdheXMKKyAgICA+OworfTsKKworfSAvLyBuYW1lc3Bh
Y2UgV1RGCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2Vz
LnB5IGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQppbmRleCA2MzI5
ZmNmYTUyMzlmMGFmZjFmYTQxYmUxOGZhMmM3ODY1ODAyNDVhLi4wMjRkYTlhZDU0NTYwOTZkYTU4
ZDYyYzZhNmFiNTI5ZDAwYjQwMDVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMv
d2Via2l0L21lc3NhZ2VzLnB5CisrKyBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVz
c2FnZXMucHkKQEAgLTIxNCw2ICsyMTQsNyBAQCBkZWYgdHlwZXNfdGhhdF9jYW5ub3RfYmVfZm9y
d2FyZF9kZWNsYXJlZCgpOgogICAgICAgICAnV2ViQ29yZTo6TGliV2ViUlRDU29ja2V0SWRlbnRp
ZmllcicsCiAgICAgICAgICdXZWJDb3JlOjpNZWRpYVNlc3Npb25JZGVudGlmaWVyJywKICAgICAg
ICAgJ1dlYkNvcmU6OlBhZ2VJZGVudGlmaWVyJywKKyAgICAgICAgJ1dlYkNvcmU6OlBsdWdpbkxv
YWRDbGllbnRQb2xpY3knLAogICAgICAgICAnV2ViQ29yZTo6UG9pbnRlcklEJywKICAgICAgICAg
J1dlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyJywKICAgICAgICAgJ1dlYkNvcmU6OlJlYWx0aW1l
TWVkaWFTb3VyY2VJZGVudGlmaWVyJywKQEAgLTYxNSw2ICs2MTYsNyBAQCBkZWYgaGVhZGVyc19m
b3JfdHlwZSh0eXBlKToKICAgICAgICAgJ1dlYkNvcmU6OlBheW1lbnRBdXRob3JpemF0aW9uUmVz
dWx0JzogWyc8V2ViQ29yZS9BcHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdC5oPiddLAogICAg
ICAgICAnV2ViQ29yZTo6UGF5bWVudE1ldGhvZFVwZGF0ZSc6IFsnPFdlYkNvcmUvQXBwbGVQYXlT
ZXNzaW9uUGF5bWVudFJlcXVlc3QuaD4nXSwKICAgICAgICAgJ1dlYkNvcmU6OlBsdWdpbkluZm8n
OiBbJzxXZWJDb3JlL1BsdWdpbkRhdGEuaD4nXSwKKyAgICAgICAgJ1dlYkNvcmU6OlBsdWdpbkxv
YWRDbGllbnRQb2xpY3knOiBbJzxXZWJDb3JlL1BsdWdpbkRhdGEuaD4nXSwKICAgICAgICAgJ1dl
YkNvcmU6OlBvbGljeUFjdGlvbic6IFsnPFdlYkNvcmUvRnJhbWVMb2FkZXJUeXBlcy5oPiddLAog
ICAgICAgICAnV2ViQ29yZTo6U2hvdWxkQ29udGludWVQb2xpY3lDaGVjayc6IFsnPFdlYkNvcmUv
RnJhbWVMb2FkZXJUeXBlcy5oPiddLAogICAgICAgICAnV2ViQ29yZTo6UG9saWN5Q2hlY2tJZGVu
dGlmaWVyJzogWyc8V2ViQ29yZS9GcmFtZUxvYWRlclR5cGVzLmg+J10sCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9QbHVnaW5zL05ldHNjYXBlL21hYy9OZXRzY2FwZVBsdWdpbk1v
ZHVsZU1hYy5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05l
dHNjYXBlUGx1Z2luTW9kdWxlTWFjLm1tCmluZGV4IDAzOTQzNDY1NTFjMmVmNDdhMTkzNjRkMzZl
Mzg4YmRkY2EzZjE0ODUuLmNkMGNmNTI3ZTBjYmMzODFlYzRjN2VmMzlhYWYzZjRjZWYxMzY0YTMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05l
dHNjYXBlUGx1Z2luTW9kdWxlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1BsdWdp
bnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTW9kdWxlTWFjLm1tCkBAIC0xOTQsNyArMTk0
LDcgQEAgYm9vbCBOZXRzY2FwZVBsdWdpbk1vZHVsZTo6Z2V0UGx1Z2luSW5mbyhjb25zdCBTdHJp
bmcmIHBsdWdpblBhdGgsIFBsdWdpbk1vZHVsZUkKICAgICAgICAgcGx1Z2luLmluZm8uZGVzYyA9
IHBsdWdpbi5pbmZvLmZpbGU7CiAKICAgICBwbHVnaW4uaW5mby5pc0FwcGxpY2F0aW9uUGx1Z2lu
ID0gZmFsc2U7Ci0gICAgcGx1Z2luLmluZm8uY2xpZW50TG9hZFBvbGljeSA9IFBsdWdpbkxvYWRD
bGllbnRQb2xpY3lVbmRlZmluZWQ7CisgICAgcGx1Z2luLmluZm8uY2xpZW50TG9hZFBvbGljeSA9
IFBsdWdpbkxvYWRDbGllbnRQb2xpY3k6OlVuZGVmaW5lZDsKICNpZiBQTEFURk9STShNQUMpCiAg
ICAgcGx1Z2luLmluZm8uYnVuZGxlSWRlbnRpZmllciA9IHBsdWdpbi5idW5kbGVJZGVudGlmaWVy
OwogICAgIHBsdWdpbi5pbmZvLnZlcnNpb25TdHJpbmcgPSBwbHVnaW4udmVyc2lvblN0cmluZzsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRl
cnMuaAppbmRleCAwNGU3YzAxZDhiYTlmYTJlMGEyMjhiNjA1YzY3MmU5NDhjMzliMTk5Li43Nzkw
MmMxYWRhNDU4NGRhMWFmOTEwYWUzMDQyYWEzMjE2M2E2YTJlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKKysrIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCkBAIC01Miw2ICs1
MiwxMCBAQAogI2luY2x1ZGUgPFdlYkNvcmUvUmVuZGVyVGhlbWVJT1MuaD4KICNlbmRpZgogCisj
aWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCisjaW5jbHVkZSA8V2ViQ29yZS9QbHVnaW5E
YXRhLmg+CisjZW5kaWYKKwogbmFtZXNwYWNlIEFQSSB7CiBjbGFzcyBEYXRhOwogfQpAQCAtMTU5
LDcgKzE2Myw3IEBAIHN0cnVjdCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHsKICAgICBW
ZWN0b3I8U3RyaW5nPiBwbHVnSW5BdXRvU3RhcnRPcmlnaW5zOwogCiAjaWYgRU5BQkxFKE5FVFND
QVBFX1BMVUdJTl9BUEkpCi0gICAgSGFzaE1hcDxTdHJpbmcsIEhhc2hNYXA8U3RyaW5nLCBIYXNo
TWFwPFN0cmluZywgdWludDhfdD4+PiBwbHVnaW5Mb2FkQ2xpZW50UG9saWNpZXM7CisgICAgSGFz
aE1hcDxTdHJpbmcsIEhhc2hNYXA8U3RyaW5nLCBIYXNoTWFwPFN0cmluZywgV2ViQ29yZTo6UGx1
Z2luTG9hZENsaWVudFBvbGljeT4+PiBwbHVnaW5Mb2FkQ2xpZW50UG9saWNpZXM7CiAjZW5kaWYK
IAogI2lmIFBMQVRGT1JNKENPQ09BKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0MvV0tBUElDYXN0LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS0FQ
SUNhc3QuaAppbmRleCBhMzI4MTk4MmU4ZTQyMDg4MTBmNGU3MjgxNDU2MmU1NDM5MGZjYTAwLi4x
ODRhZTE0YTk4NDBlOGY1MTkwZjkzNjJlYWU3NzZmMGQ1OTcyZWE5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS0FQSUNhc3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQy9XS0FQSUNhc3QuaApAQCAtNDQwLDE1ICs0NDAsMTUgQEAgaW5saW5l
IFdLUGx1Z2luTG9hZFBvbGljeSB0b1dLUGx1Z2luTG9hZFBvbGljeShQbHVnaW5Nb2R1bGVMb2Fk
UG9saWN5IHBsdWdpbk1vZHUKIGlubGluZSBXS1BsdWdpbkxvYWRDbGllbnRQb2xpY3kgdG9XS1Bs
dWdpbkxvYWRDbGllbnRQb2xpY3koV2ViQ29yZTo6UGx1Z2luTG9hZENsaWVudFBvbGljeSBQbHVn
aW5Mb2FkQ2xpZW50UG9saWN5KQogewogICAgIHN3aXRjaCAoUGx1Z2luTG9hZENsaWVudFBvbGlj
eSkgewotICAgIGNhc2UgV2ViQ29yZTo6UGx1Z2luTG9hZENsaWVudFBvbGljeVVuZGVmaW5lZDoK
KyAgICBjYXNlIFdlYkNvcmU6OlBsdWdpbkxvYWRDbGllbnRQb2xpY3k6OlVuZGVmaW5lZDoKICAg
ICAgICAgcmV0dXJuIGtXS1BsdWdpbkxvYWRDbGllbnRQb2xpY3lVbmRlZmluZWQ7Ci0gICAgY2Fz
ZSBXZWJDb3JlOjpQbHVnaW5Mb2FkQ2xpZW50UG9saWN5QmxvY2s6CisgICAgY2FzZSBXZWJDb3Jl
OjpQbHVnaW5Mb2FkQ2xpZW50UG9saWN5OjpCbG9jazoKICAgICAgICAgcmV0dXJuIGtXS1BsdWdp
bkxvYWRDbGllbnRQb2xpY3lCbG9jazsKLSAgICBjYXNlIFdlYkNvcmU6OlBsdWdpbkxvYWRDbGll
bnRQb2xpY3lBc2s6CisgICAgY2FzZSBXZWJDb3JlOjpQbHVnaW5Mb2FkQ2xpZW50UG9saWN5OjpB
c2s6CiAgICAgICAgIHJldHVybiBrV0tQbHVnaW5Mb2FkQ2xpZW50UG9saWN5QXNrOwotICAgIGNh
c2UgV2ViQ29yZTo6UGx1Z2luTG9hZENsaWVudFBvbGljeUFsbG93OgorICAgIGNhc2UgV2ViQ29y
ZTo6UGx1Z2luTG9hZENsaWVudFBvbGljeTo6QWxsb3c6CiAgICAgICAgIHJldHVybiBrV0tQbHVn
aW5Mb2FkQ2xpZW50UG9saWN5QWxsb3c7Ci0gICAgY2FzZSBXZWJDb3JlOjpQbHVnaW5Mb2FkQ2xp
ZW50UG9saWN5QWxsb3dBbHdheXM6CisgICAgY2FzZSBXZWJDb3JlOjpQbHVnaW5Mb2FkQ2xpZW50
UG9saWN5OjpBbGxvd0Fsd2F5czoKICAgICAgICAgcmV0dXJuIGtXS1BsdWdpbkxvYWRDbGllbnRQ
b2xpY3lBbGxvd0Fsd2F5czsKICAgICB9CiAKQEAgLTQ3NywxOSArNDc3LDE5IEBAIGlubGluZSBX
ZWJDb3JlOjpQbHVnaW5Mb2FkQ2xpZW50UG9saWN5IHRvUGx1Z2luTG9hZENsaWVudFBvbGljeShX
S1BsdWdpbkxvYWRDbGllCiB7CiAgICAgc3dpdGNoIChwbHVnaW5Mb2FkQ2xpZW50UG9saWN5KSB7
CiAgICAgY2FzZSBrV0tQbHVnaW5Mb2FkQ2xpZW50UG9saWN5VW5kZWZpbmVkOgotICAgICAgICBy
ZXR1cm4gV2ViQ29yZTo6UGx1Z2luTG9hZENsaWVudFBvbGljeVVuZGVmaW5lZDsKKyAgICAgICAg
cmV0dXJuIFdlYkNvcmU6OlBsdWdpbkxvYWRDbGllbnRQb2xpY3k6OlVuZGVmaW5lZDsKICAgICBj
YXNlIGtXS1BsdWdpbkxvYWRDbGllbnRQb2xpY3lCbG9jazoKLSAgICAgICAgcmV0dXJuIFdlYkNv
cmU6OlBsdWdpbkxvYWRDbGllbnRQb2xpY3lCbG9jazsKKyAgICAgICAgcmV0dXJuIFdlYkNvcmU6
OlBsdWdpbkxvYWRDbGllbnRQb2xpY3k6OkJsb2NrOwogICAgIGNhc2Uga1dLUGx1Z2luTG9hZENs
aWVudFBvbGljeUFzazoKLSAgICAgICAgcmV0dXJuIFdlYkNvcmU6OlBsdWdpbkxvYWRDbGllbnRQ
b2xpY3lBc2s7CisgICAgICAgIHJldHVybiBXZWJDb3JlOjpQbHVnaW5Mb2FkQ2xpZW50UG9saWN5
OjpBc2s7CiAgICAgY2FzZSBrV0tQbHVnaW5Mb2FkQ2xpZW50UG9saWN5QWxsb3c6Ci0gICAgICAg
IHJldHVybiBXZWJDb3JlOjpQbHVnaW5Mb2FkQ2xpZW50UG9saWN5QWxsb3c7CisgICAgICAgIHJl
dHVybiBXZWJDb3JlOjpQbHVnaW5Mb2FkQ2xpZW50UG9saWN5OjpBbGxvdzsKICAgICBjYXNlIGtX
S1BsdWdpbkxvYWRDbGllbnRQb2xpY3lBbGxvd0Fsd2F5czoKLSAgICAgICAgcmV0dXJuIFdlYkNv
cmU6OlBsdWdpbkxvYWRDbGllbnRQb2xpY3lBbGxvd0Fsd2F5czsKKyAgICAgICAgcmV0dXJuIFdl
YkNvcmU6OlBsdWdpbkxvYWRDbGllbnRQb2xpY3k6OkFsbG93QWx3YXlzOwogICAgIH0KIAogICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiBXZWJDb3JlOjpQbHVnaW5Mb2FkQ2xp
ZW50UG9saWN5QmxvY2s7CisgICAgcmV0dXJuIFdlYkNvcmU6OlBsdWdpbkxvYWRDbGllbnRQb2xp
Y3k6OkJsb2NrOwogfQogCiBpbmxpbmUgV2ViQ29yZTo6V2ViR0xMb2FkUG9saWN5IHRvV2ViR0xM
b2FkUG9saWN5KFdLV2ViR0xMb2FkUG9saWN5IHdlYkdMTG9hZFBvbGljeSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NQb29sLm1tIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJvY2Vzc1Bvb2wubW0KaW5kZXggNTY5
NTU3MDQ3Y2Y1NmRjODhlNjc0ZWZlZDRiOWIzYTA5ODhiOGRkYS4uN2I5NDY5ZWUxMzBkMWI2MmM4
YjgxODdiZDI1NzQ4YjQyYzQwYTM1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLUHJvY2Vzc1Bvb2wubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLUHJvY2Vzc1Bvb2wubW0KQEAgLTI1MiwxMyArMjUyLDkgQEAgLSAodm9p
ZClfc2V0T2JqZWN0c0ZvckJ1bmRsZVBhcmFtZXRlcnNXaXRoRGljdGlvbmFyeTooTlNEaWN0aW9u
YXJ5ICopZGljdGlvbmFyeQogCiAjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAKLXN0
YXRpYyBib29sIGlzUGx1Z2luTG9hZENsaWVudFBvbGljeUFjY2VwdGFibGUodW5zaWduZWQgcG9s
aWN5KQorc3RhdGljIEhhc2hNYXA8U3RyaW5nLCBIYXNoTWFwPFN0cmluZywgSGFzaE1hcDxTdHJp
bmcsIFdlYkNvcmU6OlBsdWdpbkxvYWRDbGllbnRQb2xpY3k+Pj4gdG9QbHVnaW5Mb2FkQ2xpZW50
UG9saWNpZXNIYXNoTWFwKE5TRGljdGlvbmFyeSogZGljdGlvbmFyeSkKIHsKLSAgICByZXR1cm4g
cG9saWN5IDw9IFdlYkNvcmU6OlBsdWdpbkxvYWRDbGllbnRQb2xpY3lNYXhpbXVtOwotfQotc3Rh
dGljIEhhc2hNYXA8U3RyaW5nLCBIYXNoTWFwPFN0cmluZywgSGFzaE1hcDxTdHJpbmcsIHVpbnQ4
X3Q+Pj4gdG9QbHVnaW5Mb2FkQ2xpZW50UG9saWNpZXNIYXNoTWFwKE5TRGljdGlvbmFyeSogZGlj
dGlvbmFyeSkKLXsKLSAgICBfX2Jsb2NrIEhhc2hNYXA8U3RyaW5nLCBIYXNoTWFwPFN0cmluZywg
SGFzaE1hcDxTdHJpbmcsIHVpbnQ4X3Q+Pj4gcGx1Z2luTG9hZENsaWVudFBvbGljaWVzOworICAg
IF9fYmxvY2sgSGFzaE1hcDxTdHJpbmcsIEhhc2hNYXA8U3RyaW5nLCBIYXNoTWFwPFN0cmluZywg
V2ViQ29yZTo6UGx1Z2luTG9hZENsaWVudFBvbGljeT4+PiBwbHVnaW5Mb2FkQ2xpZW50UG9saWNp
ZXM7CiAgICAgW2RpY3Rpb25hcnkgZW51bWVyYXRlS2V5c0FuZE9iamVjdHNVc2luZ0Jsb2NrOl4o
aWQgbnNIb3N0LCBpZCBuc1BvbGljaWVzRm9ySG9zdCwgQk9PTCAqc3RvcCkgewogICAgICAgICBp
ZiAoIVtuc0hvc3QgaXNLaW5kT2ZDbGFzczpbTlNTdHJpbmcgY2xhc3NdXSkgewogICAgICAgICAg
ICAgUkVMRUFTRV9MT0dfRVJST1IoUGx1Z2lucywgIl9yZXNldFBsdWdpbkxvYWRDbGllbnRQb2xp
Y2llcyB3YXMgY2FsbGVkIHdpdGggZGljdGlvbmFyeSBpbiB3cm9uZyBmb3JtYXQiKTsKQEAgLTI3
MCw3ICsyNjYsNyBAQCBzdGF0aWMgSGFzaE1hcDxTdHJpbmcsIEhhc2hNYXA8U3RyaW5nLCBIYXNo
TWFwPFN0cmluZywgdWludDhfdD4+PiB0b1BsdWdpbkxvYWRDbAogICAgICAgICB9CiAKICAgICAg
ICAgU3RyaW5nIGhvc3QgPSAoTlNTdHJpbmcgKiluc0hvc3Q7Ci0gICAgICAgIF9fYmxvY2sgSGFz
aE1hcDxTdHJpbmcsIEhhc2hNYXA8U3RyaW5nLCB1aW50OF90Pj4gcG9saWNpZXNGb3JIb3N0Owor
ICAgICAgICBfX2Jsb2NrIEhhc2hNYXA8U3RyaW5nLCBIYXNoTWFwPFN0cmluZywgV2ViQ29yZTo6
UGx1Z2luTG9hZENsaWVudFBvbGljeT4+IHBvbGljaWVzRm9ySG9zdDsKICAgICAgICAgW25zUG9s
aWNpZXNGb3JIb3N0IGVudW1lcmF0ZUtleXNBbmRPYmplY3RzVXNpbmdCbG9jazpeKGlkIG5zSWRl
bnRpZmllciwgaWQgbnNWZXJzaW9uc1RvUG9saWNpZXMsIEJPT0wgKnN0b3ApIHsKICAgICAgICAg
ICAgIGlmICghW25zSWRlbnRpZmllciBpc0tpbmRPZkNsYXNzOltOU1N0cmluZyBjbGFzc11dKSB7
CiAgICAgICAgICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoUGx1Z2lucywgIl9yZXNldFBsdWdp
bkxvYWRDbGllbnRQb2xpY2llcyB3YXMgY2FsbGVkIHdpdGggZGljdGlvbmFyeSBpbiB3cm9uZyBm
b3JtYXQiKTsKQEAgLTI4Miw3ICsyNzgsNyBAQCBzdGF0aWMgSGFzaE1hcDxTdHJpbmcsIEhhc2hN
YXA8U3RyaW5nLCBIYXNoTWFwPFN0cmluZywgdWludDhfdD4+PiB0b1BsdWdpbkxvYWRDbAogICAg
ICAgICAgICAgfQogCiAgICAgICAgICAgICBTdHJpbmcgYnVuZGxlSWRlbnRpZmllciA9IChOU1N0
cmluZyAqKW5zSWRlbnRpZmllcjsKLSAgICAgICAgICAgIF9fYmxvY2sgSGFzaE1hcDxTdHJpbmcs
IHVpbnQ4X3Q+IHZlcnNpb25zVG9Qb2xpY2llczsKKyAgICAgICAgICAgIF9fYmxvY2sgSGFzaE1h
cDxTdHJpbmcsIFdlYkNvcmU6OlBsdWdpbkxvYWRDbGllbnRQb2xpY3k+IHZlcnNpb25zVG9Qb2xp
Y2llczsKICAgICAgICAgICAgIFtuc1ZlcnNpb25zVG9Qb2xpY2llcyBlbnVtZXJhdGVLZXlzQW5k
T2JqZWN0c1VzaW5nQmxvY2s6XihpZCBuc1ZlcnNpb24sIGlkIG5zUG9saWN5LCBCT09MICpzdG9w
KSB7CiAgICAgICAgICAgICAgICAgaWYgKCFbbnNWZXJzaW9uIGlzS2luZE9mQ2xhc3M6W05TU3Ry
aW5nIGNsYXNzXV0pIHsKICAgICAgICAgICAgICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoUGx1
Z2lucywgIl9yZXNldFBsdWdpbkxvYWRDbGllbnRQb2xpY2llcyB3YXMgY2FsbGVkIHdpdGggZGlj
dGlvbmFyeSBpbiB3cm9uZyBmb3JtYXQiKTsKQEAgLTI5MywxMiArMjg5LDEyIEBAIHN0YXRpYyBI
YXNoTWFwPFN0cmluZywgSGFzaE1hcDxTdHJpbmcsIEhhc2hNYXA8U3RyaW5nLCB1aW50OF90Pj4+
IHRvUGx1Z2luTG9hZENsCiAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICAgICAgdW5zaWduZWQgcG9saWN5ID0gKChOU051bWJlciAqKW5z
UG9saWN5KS51bnNpZ25lZEludFZhbHVlOwotICAgICAgICAgICAgICAgIGlmICghaXNQbHVnaW5M
b2FkQ2xpZW50UG9saWN5QWNjZXB0YWJsZShwb2xpY3kpKSB7CisgICAgICAgICAgICAgICAgaWYg
KCFXVEY6OmlzVmFsaWRFbnVtPFdlYkNvcmU6OlBsdWdpbkxvYWRDbGllbnRQb2xpY3k+KHBvbGlj
eSkpIHsKICAgICAgICAgICAgICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoUGx1Z2lucywgIl9y
ZXNldFBsdWdpbkxvYWRDbGllbnRQb2xpY2llcyB3YXMgY2FsbGVkIHdpdGggZGljdGlvbmFyeSBp
biB3cm9uZyBmb3JtYXQiKTsKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgICAgICBTdHJpbmcgdmVyc2lvbiA9IChOU1N0cmluZyAqKW5z
VmVyc2lvbjsKLSAgICAgICAgICAgICAgICB2ZXJzaW9uc1RvUG9saWNpZXMuYWRkKHZlcnNpb24s
IHN0YXRpY19jYXN0PHVpbnQ4X3Q+KHBvbGljeSkpOworICAgICAgICAgICAgICAgIHZlcnNpb25z
VG9Qb2xpY2llcy5hZGQodmVyc2lvbiwgc3RhdGljX2Nhc3Q8V2ViQ29yZTo6UGx1Z2luTG9hZENs
aWVudFBvbGljeT4ocG9saWN5KSk7CiAgICAgICAgICAgICB9XTsKICAgICAgICAgICAgIGlmICgh
dmVyc2lvbnNUb1BvbGljaWVzLmlzRW1wdHkoKSkKICAgICAgICAgICAgICAgICBwb2xpY2llc0Zv
ckhvc3QuYWRkKGJ1bmRsZUlkZW50aWZpZXIsIFdURk1vdmUodmVyc2lvbnNUb1BvbGljaWVzKSk7
CkBAIC0zMDksNyArMzA1LDcgQEAgc3RhdGljIEhhc2hNYXA8U3RyaW5nLCBIYXNoTWFwPFN0cmlu
ZywgSGFzaE1hcDxTdHJpbmcsIHVpbnQ4X3Q+Pj4gdG9QbHVnaW5Mb2FkQ2wKICAgICByZXR1cm4g
cGx1Z2luTG9hZENsaWVudFBvbGljaWVzOwogfQogCi1zdGF0aWMgTlNEaWN0aW9uYXJ5ICpwb2xp
Y2llc0hhc2hNYXBUb0RpY3Rpb25hcnkoY29uc3QgSGFzaE1hcDxTdHJpbmcsIEhhc2hNYXA8U3Ry
aW5nLCBIYXNoTWFwPFN0cmluZywgdWludDhfdD4+PiYgbWFwKQorc3RhdGljIE5TRGljdGlvbmFy
eSAqcG9saWNpZXNIYXNoTWFwVG9EaWN0aW9uYXJ5KGNvbnN0IEhhc2hNYXA8U3RyaW5nLCBIYXNo
TWFwPFN0cmluZywgSGFzaE1hcDxTdHJpbmcsIFdlYkNvcmU6OlBsdWdpbkxvYWRDbGllbnRQb2xp
Y3k+Pj4mIG1hcCkKIHsKICAgICBhdXRvIHBvbGljaWVzID0gYWRvcHROUyhbW05TTXV0YWJsZURp
Y3Rpb25hcnkgYWxsb2NdIGluaXRXaXRoQ2FwYWNpdHk6bWFwLnNpemUoKV0pOwogICAgIGZvciAo
YXV0byYgaG9zdFBhaXIgOiBtYXApIHsKQEAgLTMyMCw3ICszMTYsOCBAQCBzdGF0aWMgTlNEaWN0
aW9uYXJ5ICpwb2xpY2llc0hhc2hNYXBUb0RpY3Rpb25hcnkoY29uc3QgSGFzaE1hcDxTdHJpbmcs
IEhhc2hNYXA8UwogICAgICAgICAgICAgcG9saWNpZXMuZ2V0KClbaG9zdF1bYnVuZGxlcklkZW50
aWZpZXJdID0gYWRvcHROUyhbW05TTXV0YWJsZURpY3Rpb25hcnkgYWxsb2NdIGluaXRXaXRoQ2Fw
YWNpdHk6YnVuZGxlSWRlbnRpZmllclBhaXIudmFsdWUuc2l6ZSgpXSkuZ2V0KCk7CiAgICAgICAg
ICAgICBmb3IgKGF1dG8mIHZlcnNpb25QYWlyIDogYnVuZGxlSWRlbnRpZmllclBhaXIudmFsdWUp
IHsKICAgICAgICAgICAgICAgICBOU1N0cmluZyAqdmVyc2lvbiA9IHZlcnNpb25QYWlyLmtleTsK
LSAgICAgICAgICAgICAgICBwb2xpY2llcy5nZXQoKVtob3N0XVtidW5kbGVySWRlbnRpZmllcl1b
dmVyc2lvbl0gPSBhZG9wdE5TKFtbTlNOdW1iZXIgYWxsb2NdIGluaXRXaXRoVW5zaWduZWRJbnQ6
dmVyc2lvblBhaXIudmFsdWVdKS5nZXQoKTsKKyAgICAgICAgICAgICAgICBhdXRvIHBvbGljeVZh
bHVlID0gc3RhdGljX2Nhc3Q8c3RkOjp1bmRlcmx5aW5nX3R5cGVfdDxXZWJDb3JlOjpQbHVnaW5M
b2FkQ2xpZW50UG9saWN5Pj4odmVyc2lvblBhaXIudmFsdWUpOworICAgICAgICAgICAgICAgIHBv
bGljaWVzLmdldCgpW2hvc3RdW2J1bmRsZXJJZGVudGlmaWVyXVt2ZXJzaW9uXSA9IGFkb3B0TlMo
W1tOU051bWJlciBhbGxvY10gaW5pdFdpdGhVbnNpZ25lZEludDpwb2xpY3lWYWx1ZV0pLmdldCgp
OwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCmluZGV4IGUyN2E3Nzg5YjRmNTAyMThmMzk5ZDRmZjA5YmFm
M2ZiNjc0YjU2M2QuLmZjMWRjNDIyOWIyOGUxOGM5MTFjYmNkNzczMGQzZTUyZWFkZjYzZmUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKQEAgLTIwMjUsMTQg
KzIwMjUsMTggQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6c2V0UGx1Z0luQXV0b1N0YXJ0T3JpZ2lu
c0ZpbHRlcmluZ091dEVudHJpZXNBZGRlZEFmdGVyVGltZSgKICNpZiBFTkFCTEUoTkVUU0NBUEVf
UExVR0lOX0FQSSkKIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnNldFBsdWdpbkxvYWRDbGllbnRQb2xp
Y3koV2ViQ29yZTo6UGx1Z2luTG9hZENsaWVudFBvbGljeSBwb2xpY3ksIGNvbnN0IFN0cmluZyYg
aG9zdCwgY29uc3QgU3RyaW5nJiBidW5kbGVJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHZlcnNp
b25TdHJpbmcpCiB7Ci0gICAgYXV0byYgcG9saWNpZXNGb3JIb3N0ID0gbV9wbHVnaW5Mb2FkQ2xp
ZW50UG9saWNpZXMuZW5zdXJlKGhvc3QsIFtdIHsgcmV0dXJuIEhhc2hNYXA8U3RyaW5nLCBIYXNo
TWFwPFN0cmluZywgdWludDhfdD4+KCk7IH0pLml0ZXJhdG9yLT52YWx1ZTsKLSAgICBhdXRvJiB2
ZXJzaW9uc1RvUG9saWNpZXMgPSBwb2xpY2llc0Zvckhvc3QuZW5zdXJlKGJ1bmRsZUlkZW50aWZp
ZXIsIFtdIHsgcmV0dXJuIEhhc2hNYXA8U3RyaW5nLCB1aW50OF90PigpOyB9KS5pdGVyYXRvci0+
dmFsdWU7CisgICAgYXV0byYgcG9saWNpZXNGb3JIb3N0ID0gbV9wbHVnaW5Mb2FkQ2xpZW50UG9s
aWNpZXMuZW5zdXJlKGhvc3QsIFtdIHsKKyAgICAgICAgcmV0dXJuIEhhc2hNYXA8U3RyaW5nLCBI
YXNoTWFwPFN0cmluZywgV2ViQ29yZTo6UGx1Z2luTG9hZENsaWVudFBvbGljeT4+KCk7CisgICAg
fSkuaXRlcmF0b3ItPnZhbHVlOworICAgIGF1dG8mIHZlcnNpb25zVG9Qb2xpY2llcyA9IHBvbGlj
aWVzRm9ySG9zdC5lbnN1cmUoYnVuZGxlSWRlbnRpZmllciwgW10geworICAgICAgICByZXR1cm4g
SGFzaE1hcDxTdHJpbmcsIFdlYkNvcmU6OlBsdWdpbkxvYWRDbGllbnRQb2xpY3k+KCk7CisgICAg
fSkuaXRlcmF0b3ItPnZhbHVlOwogICAgIHZlcnNpb25zVG9Qb2xpY2llcy5zZXQodmVyc2lvblN0
cmluZywgcG9saWN5KTsKIAogICAgIHNlbmRUb0FsbFByb2Nlc3NlcyhNZXNzYWdlczo6V2ViUHJv
Y2Vzczo6U2V0UGx1Z2luTG9hZENsaWVudFBvbGljeShwb2xpY3ksIGhvc3QsIGJ1bmRsZUlkZW50
aWZpZXIsIHZlcnNpb25TdHJpbmcpKTsKIH0KIAotdm9pZCBXZWJQcm9jZXNzUG9vbDo6cmVzZXRQ
bHVnaW5Mb2FkQ2xpZW50UG9saWNpZXMoSGFzaE1hcDxTdHJpbmcsIEhhc2hNYXA8U3RyaW5nLCBI
YXNoTWFwPFN0cmluZywgdWludDhfdD4+PiYmIHBsdWdpbkxvYWRDbGllbnRQb2xpY2llcykKK3Zv
aWQgV2ViUHJvY2Vzc1Bvb2w6OnJlc2V0UGx1Z2luTG9hZENsaWVudFBvbGljaWVzKEhhc2hNYXA8
U3RyaW5nLCBIYXNoTWFwPFN0cmluZywgSGFzaE1hcDxTdHJpbmcsIFdlYkNvcmU6OlBsdWdpbkxv
YWRDbGllbnRQb2xpY3k+Pj4mJiBwbHVnaW5Mb2FkQ2xpZW50UG9saWNpZXMpCiB7CiAgICAgbV9w
bHVnaW5Mb2FkQ2xpZW50UG9saWNpZXMgPSBXVEZNb3ZlKHBsdWdpbkxvYWRDbGllbnRQb2xpY2ll
cyk7CiAgICAgc2VuZFRvQWxsUHJvY2Vzc2VzKE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpSZXNldFBs
dWdpbkxvYWRDbGllbnRQb2xpY2llcyhtX3BsdWdpbkxvYWRDbGllbnRQb2xpY2llcykpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgKaW5kZXggNjYxZjJlNzNkNGNjOTY3
OGJkMWNjMDdmYWEwNzNiMDBmZmE2MDI2NS4uMzExN2ZhNTQ3MTQ0OTU4YjRiMmMyOWZiNjQ1M2Y1
YTI5NTUwY2RjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vz
c1Bvb2wuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCkBA
IC0yNDMsOSArMjQzLDkgQEAgcHVibGljOgogICAgIFBsdWdpbkluZm9TdG9yZSYgcGx1Z2luSW5m
b1N0b3JlKCkgeyByZXR1cm4gbV9wbHVnaW5JbmZvU3RvcmU7IH0KIAogICAgIHZvaWQgc2V0UGx1
Z2luTG9hZENsaWVudFBvbGljeShXZWJDb3JlOjpQbHVnaW5Mb2FkQ2xpZW50UG9saWN5LCBjb25z
dCBTdHJpbmcmIGhvc3QsIGNvbnN0IFN0cmluZyYgYnVuZGxlSWRlbnRpZmllciwgY29uc3QgU3Ry
aW5nJiB2ZXJzaW9uU3RyaW5nKTsKLSAgICB2b2lkIHJlc2V0UGx1Z2luTG9hZENsaWVudFBvbGlj
aWVzKEhhc2hNYXA8U3RyaW5nLCBIYXNoTWFwPFN0cmluZywgSGFzaE1hcDxTdHJpbmcsIHVpbnQ4
X3Q+Pj4mJik7CisgICAgdm9pZCByZXNldFBsdWdpbkxvYWRDbGllbnRQb2xpY2llcyhIYXNoTWFw
PFN0cmluZywgSGFzaE1hcDxTdHJpbmcsIEhhc2hNYXA8U3RyaW5nLCBXZWJDb3JlOjpQbHVnaW5M
b2FkQ2xpZW50UG9saWN5Pj4+JiYpOwogICAgIHZvaWQgY2xlYXJQbHVnaW5DbGllbnRQb2xpY2ll
cygpOwotICAgIGNvbnN0IEhhc2hNYXA8U3RyaW5nLCBIYXNoTWFwPFN0cmluZywgSGFzaE1hcDxT
dHJpbmcsIHVpbnQ4X3Q+Pj4mIHBsdWdpbkxvYWRDbGllbnRQb2xpY2llcygpIGNvbnN0IHsgcmV0
dXJuIG1fcGx1Z2luTG9hZENsaWVudFBvbGljaWVzOyB9CisgICAgY29uc3QgSGFzaE1hcDxTdHJp
bmcsIEhhc2hNYXA8U3RyaW5nLCBIYXNoTWFwPFN0cmluZywgV2ViQ29yZTo6UGx1Z2luTG9hZENs
aWVudFBvbGljeT4+PiYgcGx1Z2luTG9hZENsaWVudFBvbGljaWVzKCkgY29uc3QgeyByZXR1cm4g
bV9wbHVnaW5Mb2FkQ2xpZW50UG9saWNpZXM7IH0KICNlbmRpZgogCiAjaWYgUExBVEZPUk0oTUFD
KSAmJiBFTkFCTEUoV0VCUFJPQ0VTU19XSU5ET1dTRVJWRVJfQkxPQ0tJTkcpCkBAIC03NDYsNyAr
NzQ2LDcgQEAgcHJpdmF0ZToKICNlbmRpZgogCiAjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9B
UEkpCi0gICAgSGFzaE1hcDxTdHJpbmcsIEhhc2hNYXA8U3RyaW5nLCBIYXNoTWFwPFN0cmluZywg
dWludDhfdD4+PiBtX3BsdWdpbkxvYWRDbGllbnRQb2xpY2llczsKKyAgICBIYXNoTWFwPFN0cmlu
ZywgSGFzaE1hcDxTdHJpbmcsIEhhc2hNYXA8U3RyaW5nLCBXZWJDb3JlOjpQbHVnaW5Mb2FkQ2xp
ZW50UG9saWN5Pj4+IG1fcGx1Z2luTG9hZENsaWVudFBvbGljaWVzOwogI2VuZGlmCiAKICNpZiBF
TkFCTEUoR0FNRVBBRCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVn
aW5zL1BERi9QREZQbHVnaW4ubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1Z2lucy9Q
REYvUERGUGx1Z2luLm1tCmluZGV4IDVhYjZiMWVmMDgzYjg1NTAzOWQwODkwYjg5MTI5ZjZmMjlm
N2Y1MjMuLmNjNmE1YTJhMzlhZjE1NDc4N2E2YTVjZmNjZWRkYWU3ZGU5YTA4ODYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQbHVnaW4ubW0KKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1BsdWdpbnMvUERGL1BERlBsdWdpbi5tbQpAQCAt
MTE4Miw3ICsxMTgyLDcgQEAgUGx1Z2luSW5mbyBQREZQbHVnaW46OnBsdWdpbkluZm8oKQogICAg
IFBsdWdpbkluZm8gaW5mbzsKICAgICBpbmZvLm5hbWUgPSBidWlsdEluUERGUGx1Z2luTmFtZSgp
OwogICAgIGluZm8uaXNBcHBsaWNhdGlvblBsdWdpbiA9IHRydWU7Ci0gICAgaW5mby5jbGllbnRM
b2FkUG9saWN5ID0gUGx1Z2luTG9hZENsaWVudFBvbGljeVVuZGVmaW5lZDsKKyAgICBpbmZvLmNs
aWVudExvYWRQb2xpY3kgPSBQbHVnaW5Mb2FkQ2xpZW50UG9saWN5OjpVbmRlZmluZWQ7CiAgICAg
aW5mby5idW5kbGVJZGVudGlmaWVyID0gImNvbS5hcHBsZS53ZWJraXQuYnVpbHRpbnBkZnBsdWdp
biJfczsKIAogICAgIE1pbWVDbGFzc0luZm8gcGRmTWltZUNsYXNzSW5mbzsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVnaW5zL1dlYlBsdWdpbkluZm9Qcm92aWRlci5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1Z2lucy9XZWJQbHVnaW5JbmZvUHJvdmlk
ZXIuY3BwCmluZGV4IDExZjY4YzM3OWVjNWUwMDNlMjJhNTE5ZDZhNzRhODQ0Mzc2ZjVjMmUuLjgw
ZGU0ZDdkYzJhZjY1NzQ0MGNiZTEwNDg1YTBjYWE0YWZiYzQ0M2UgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVnaW5zL1dlYlBsdWdpbkluZm9Qcm92aWRlci5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1BsdWdpbnMvV2ViUGx1Z2luSW5mb1Byb3ZpZGVy
LmNwcApAQCAtMTMyLDEwICsxMzIsMTAgQEAgVmVjdG9yPFdlYkNvcmU6OlBsdWdpbkluZm8+IFdl
YlBsdWdpbkluZm9Qcm92aWRlcjo6d2ViVmlzaWJsZVBsdWdpbkluZm8oUGFnZSYgcGEKICAgICAg
ICAgYXV0byYgaW5mbyA9IHBsdWdpbnMuYXQoaSk7CiAKICAgICAgICAgLy8gQWxsb3cgYnVpbHQt
aW4gcGx1Z2lucy4gQWxzbyB0ZW50YXRpdmVseSBhbGxvdyBwbHVnaW5zIHRoYXQgdGhlIGNsaWVu
dCBtaWdodCBsYXRlciBzZWxlY3RpdmVseSBwZXJtaXQuCi0gICAgICAgIGlmIChpbmZvLmlzQXBw
bGljYXRpb25QbHVnaW4gfHwgaW5mby5jbGllbnRMb2FkUG9saWN5ID09IFdlYkNvcmU6OlBsdWdp
bkxvYWRDbGllbnRQb2xpY3lBc2spCisgICAgICAgIGlmIChpbmZvLmlzQXBwbGljYXRpb25QbHVn
aW4gfHwgaW5mby5jbGllbnRMb2FkUG9saWN5ID09IFdlYkNvcmU6OlBsdWdpbkxvYWRDbGllbnRQ
b2xpY3k6OkFzaykKICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAgIGlmIChpbmZvLmNs
aWVudExvYWRQb2xpY3kgPT0gV2ViQ29yZTo6UGx1Z2luTG9hZENsaWVudFBvbGljeUJsb2NrKQor
ICAgICAgICBpZiAoaW5mby5jbGllbnRMb2FkUG9saWN5ID09IFdlYkNvcmU6OlBsdWdpbkxvYWRD
bGllbnRQb2xpY3k6OkJsb2NrKQogICAgICAgICAgICAgcGx1Z2lucy5yZW1vdmUoaSk7CiAgICAg
fQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKaW5kZXggNWNm
YjJkY2Y2NWFmNzEwMTU4ZmEzYTJhOGE1YjhiNDBkNzVkNWQxMS4uOWFhYjE5ZmQxNjczMGExOTU4
YjAwNTk4Y2Q2YjQ0Y2IwZGJhOWI2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmNwcApAQCAtOTY2LDE0ICs5NjYsMTQgQEAgdm9pZCBXZWJQcm9jZXNzOjpwbHVnSW5EaWRS
ZWNlaXZlVXNlckludGVyYWN0aW9uKGNvbnN0IFN0cmluZyYgcGFnZU9yaWdpbiwgY29uc3QKICAg
ICBwYXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJv
eHk6OlBsdWdJbkRpZFJlY2VpdmVVc2VySW50ZXJhY3Rpb24ocGx1Z0luT3JpZ2luSGFzaCksIDAp
OwogfQogCi12b2lkIFdlYlByb2Nlc3M6OnNldFBsdWdpbkxvYWRDbGllbnRQb2xpY3kodWludDhf
dCBwb2xpY3ksIGNvbnN0IFN0cmluZyYgaG9zdCwgY29uc3QgU3RyaW5nJiBidW5kbGVJZGVudGlm
aWVyLCBjb25zdCBTdHJpbmcmIHZlcnNpb25TdHJpbmcpCit2b2lkIFdlYlByb2Nlc3M6OnNldFBs
dWdpbkxvYWRDbGllbnRQb2xpY3koV2ViQ29yZTo6UGx1Z2luTG9hZENsaWVudFBvbGljeSBwb2xp
Y3ksIGNvbnN0IFN0cmluZyYgaG9zdCwgY29uc3QgU3RyaW5nJiBidW5kbGVJZGVudGlmaWVyLCBj
b25zdCBTdHJpbmcmIHZlcnNpb25TdHJpbmcpCiB7CiAjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJ
Tl9BUEkpICYmIFBMQVRGT1JNKE1BQykKLSAgICBXZWJQbHVnaW5JbmZvUHJvdmlkZXI6OnNpbmds
ZXRvbigpLnNldFBsdWdpbkxvYWRDbGllbnRQb2xpY3koc3RhdGljX2Nhc3Q8UGx1Z2luTG9hZENs
aWVudFBvbGljeT4ocG9saWN5KSwgaG9zdCwgYnVuZGxlSWRlbnRpZmllciwgdmVyc2lvblN0cmlu
Zyk7CisgICAgV2ViUGx1Z2luSW5mb1Byb3ZpZGVyOjpzaW5nbGV0b24oKS5zZXRQbHVnaW5Mb2Fk
Q2xpZW50UG9saWN5KHBvbGljeSwgaG9zdCwgYnVuZGxlSWRlbnRpZmllciwgdmVyc2lvblN0cmlu
Zyk7CiAjZW5kaWYKIH0KIAotdm9pZCBXZWJQcm9jZXNzOjpyZXNldFBsdWdpbkxvYWRDbGllbnRQ
b2xpY2llcyhjb25zdCBIYXNoTWFwPFdURjo6U3RyaW5nLCBIYXNoTWFwPFdURjo6U3RyaW5nLCBI
YXNoTWFwPFdURjo6U3RyaW5nLCB1aW50OF90Pj4+JiBwbHVnaW5Mb2FkQ2xpZW50UG9saWNpZXMp
Cit2b2lkIFdlYlByb2Nlc3M6OnJlc2V0UGx1Z2luTG9hZENsaWVudFBvbGljaWVzKGNvbnN0IEhh
c2hNYXA8V1RGOjpTdHJpbmcsIEhhc2hNYXA8V1RGOjpTdHJpbmcsIEhhc2hNYXA8V1RGOjpTdHJp
bmcsIFdlYkNvcmU6OlBsdWdpbkxvYWRDbGllbnRQb2xpY3k+Pj4mIHBsdWdpbkxvYWRDbGllbnRQ
b2xpY2llcykKIHsKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkgJiYgUExBVEZPUk0o
TUFDKQogICAgIGNsZWFyUGx1Z2luQ2xpZW50UG9saWNpZXMoKTsKQEAgLTk4MSw3ICs5ODEsNyBA
QCB2b2lkIFdlYlByb2Nlc3M6OnJlc2V0UGx1Z2luTG9hZENsaWVudFBvbGljaWVzKGNvbnN0IEhh
c2hNYXA8V1RGOjpTdHJpbmcsIEhhc2hNYQogICAgIGZvciAoYXV0byYgaG9zdFBhaXIgOiBwbHVn
aW5Mb2FkQ2xpZW50UG9saWNpZXMpIHsKICAgICAgICAgZm9yIChhdXRvJiBidW5kbGVJZGVudGlm
aWVyUGFpciA6IGhvc3RQYWlyLnZhbHVlKSB7CiAgICAgICAgICAgICBmb3IgKGF1dG8mIHZlcnNp
b25QYWlyIDogYnVuZGxlSWRlbnRpZmllclBhaXIudmFsdWUpCi0gICAgICAgICAgICAgICAgV2Vi
UGx1Z2luSW5mb1Byb3ZpZGVyOjpzaW5nbGV0b24oKS5zZXRQbHVnaW5Mb2FkQ2xpZW50UG9saWN5
KHN0YXRpY19jYXN0PFBsdWdpbkxvYWRDbGllbnRQb2xpY3k+KHZlcnNpb25QYWlyLnZhbHVlKSwg
aG9zdFBhaXIua2V5LCBidW5kbGVJZGVudGlmaWVyUGFpci5rZXksIHZlcnNpb25QYWlyLmtleSk7
CisgICAgICAgICAgICAgICAgV2ViUGx1Z2luSW5mb1Byb3ZpZGVyOjpzaW5nbGV0b24oKS5zZXRQ
bHVnaW5Mb2FkQ2xpZW50UG9saWN5KHZlcnNpb25QYWlyLnZhbHVlLCBob3N0UGFpci5rZXksIGJ1
bmRsZUlkZW50aWZpZXJQYWlyLmtleSwgdmVyc2lvblBhaXIua2V5KTsKICAgICAgICAgfQogICAg
IH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nl
c3MuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKaW5kZXggYTg0NmUx
MzQzNjgwYTA5ZDgwMTEzMTQyY2QzM2ZiODJhYTM1Y2Y2ZS4uNTEyNzQzNzA1ZDhlZmJkYWNkMTZk
NmIzOWRkZGM2OWJlYTY0Nzk4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5o
CkBAIC00NCw2ICs0NCw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9GcmFtZUlkZW50aWZpZXIuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL05ldHdvcmtTdG9yYWdlU2Vzc2lvbi5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvUGFnZUlkZW50aWZpZXIuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1BsdWdpbkRhdGEuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL1JlZ2lzdHJhYmxlRG9tYWluLmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9TZXJ2aWNlV29ya2VyVHlwZXMuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1RpbWVyLmg+CkBAIC0x
NzUsOCArMTc2LDggQEAgcHVibGljOgogICAgIGJvb2wgc2hvdWxkUGx1Z0luQXV0b1N0YXJ0RnJv
bU9yaWdpbihXZWJQYWdlJiwgY29uc3QgU3RyaW5nJiBwYWdlT3JpZ2luLCBjb25zdCBTdHJpbmcm
IHBsdWdpbk9yaWdpbiwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSk7CiAgICAgdm9pZCBwbHVnSW5E
aWRTdGFydEZyb21PcmlnaW4oY29uc3QgU3RyaW5nJiBwYWdlT3JpZ2luLCBjb25zdCBTdHJpbmcm
IHBsdWdpbk9yaWdpbiwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSk7CiAgICAgdm9pZCBwbHVnSW5E
aWRSZWNlaXZlVXNlckludGVyYWN0aW9uKGNvbnN0IFN0cmluZyYgcGFnZU9yaWdpbiwgY29uc3Qg
U3RyaW5nJiBwbHVnaW5PcmlnaW4sIGNvbnN0IFN0cmluZyYgbWltZVR5cGUpOwotICAgIHZvaWQg
c2V0UGx1Z2luTG9hZENsaWVudFBvbGljeSh1aW50OF90IHBvbGljeSwgY29uc3QgU3RyaW5nJiBo
b3N0LCBjb25zdCBTdHJpbmcmIGJ1bmRsZUlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdmVyc2lv
blN0cmluZyk7Ci0gICAgdm9pZCByZXNldFBsdWdpbkxvYWRDbGllbnRQb2xpY2llcyhjb25zdCBI
YXNoTWFwPFN0cmluZywgSGFzaE1hcDxTdHJpbmcsIEhhc2hNYXA8U3RyaW5nLCB1aW50OF90Pj4+
Jik7CisgICAgdm9pZCBzZXRQbHVnaW5Mb2FkQ2xpZW50UG9saWN5KFdlYkNvcmU6OlBsdWdpbkxv
YWRDbGllbnRQb2xpY3ksIGNvbnN0IFN0cmluZyYgaG9zdCwgY29uc3QgU3RyaW5nJiBidW5kbGVJ
ZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHZlcnNpb25TdHJpbmcpOworICAgIHZvaWQgcmVzZXRQ
bHVnaW5Mb2FkQ2xpZW50UG9saWNpZXMoY29uc3QgSGFzaE1hcDxTdHJpbmcsIEhhc2hNYXA8U3Ry
aW5nLCBIYXNoTWFwPFN0cmluZywgV2ViQ29yZTo6UGx1Z2luTG9hZENsaWVudFBvbGljeT4+PiYp
OwogICAgIHZvaWQgY2xlYXJQbHVnaW5DbGllbnRQb2xpY2llcygpOwogICAgIHZvaWQgcmVmcmVz
aFBsdWdpbnMoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBy
b2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5t
ZXNzYWdlcy5pbgppbmRleCAxMTQ5YmYwODk4NjY1ZmNjNWY3YzBmNTBmZmI3YzU3YTU0OGVhNDA0
Li41ZTdhNzczY2ExNjEyYzU0ZjliZmEzMmUxOTlhNTMwNTA1NjAyMDJmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAtNTUsOCArNTUs
OCBAQCBtZXNzYWdlcyAtPiBXZWJQcm9jZXNzIExlZ2FjeVJlY2VpdmVyIE5vdFJlZkNvdW50ZWQg
ewogICAgICMgUGx1Zy1pbnMuCiAgICAgRGlkQWRkUGx1Z0luQXV0b1N0YXJ0T3JpZ2luSGFzaCh1
aW50MzJfdCBoYXNoLCBXYWxsVGltZSBleHBpcmF0aW9uVGltZSkKICAgICBSZXNldFBsdWdJbkF1
dG9TdGFydE9yaWdpbkhhc2hlcyhIYXNoTWFwPHVpbnQzMl90LFdhbGxUaW1lPiBoYXNoZXMpCi0g
ICAgU2V0UGx1Z2luTG9hZENsaWVudFBvbGljeSh1aW50OF90IHBvbGljeSwgU3RyaW5nIGhvc3Qs
IFN0cmluZyBidW5kbGVJZGVudGlmaWVyLCBTdHJpbmcgdmVyc2lvblN0cmluZykKLSAgICBSZXNl
dFBsdWdpbkxvYWRDbGllbnRQb2xpY2llcyhIYXNoTWFwPFN0cmluZywgSGFzaE1hcDxTdHJpbmcs
IEhhc2hNYXA8U3RyaW5nLCB1aW50OF90Pj4+IHBsdWdpbkxvYWRDbGllbnRQb2xpY2llcykKKyAg
ICBTZXRQbHVnaW5Mb2FkQ2xpZW50UG9saWN5KFdlYkNvcmU6OlBsdWdpbkxvYWRDbGllbnRQb2xp
Y3kgcG9saWN5LCBTdHJpbmcgaG9zdCwgU3RyaW5nIGJ1bmRsZUlkZW50aWZpZXIsIFN0cmluZyB2
ZXJzaW9uU3RyaW5nKQorICAgIFJlc2V0UGx1Z2luTG9hZENsaWVudFBvbGljaWVzKEhhc2hNYXA8
U3RyaW5nLCBIYXNoTWFwPFN0cmluZywgSGFzaE1hcDxTdHJpbmcsIFdlYkNvcmU6OlBsdWdpbkxv
YWRDbGllbnRQb2xpY3k+Pj4gcGx1Z2luTG9hZENsaWVudFBvbGljaWVzKQogICAgIENsZWFyUGx1
Z2luQ2xpZW50UG9saWNpZXMoKQogICAgIFJlZnJlc2hQbHVnaW5zKCkKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvUGx1Z2lucy9XZWJCYXNlUGx1Z2luUGFja2FnZS5tbSBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1BsdWdpbnMvV2ViQmFzZVBsdWdpblBhY2thZ2UubW0K
aW5kZXggZjZhNzQ3N2NkMWRmYzJiNDVlY2EwMmNkMmRkODFmZjU3NjYzYzAwYS4uMTJhODE0ZDk0
MzdjMjZmNWZlZmJlODE0MmJmZjFlNDMzNzgyYzdkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvUGx1Z2lucy9XZWJCYXNlUGx1Z2luUGFja2FnZS5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9QbHVnaW5zL1dlYkJhc2VQbHVnaW5QYWNrYWdlLm1tCkBAIC0xODIs
NyArMTgyLDcgQEAgLSAoQk9PTClnZXRQbHVnaW5JbmZvRnJvbVBMaXN0cwogICAgIHBsdWdpbklu
Zm8uZGVzYyA9IGRlc2NyaXB0aW9uOwogCiAgICAgcGx1Z2luSW5mby5pc0FwcGxpY2F0aW9uUGx1
Z2luID0gZmFsc2U7Ci0gICAgcGx1Z2luSW5mby5jbGllbnRMb2FkUG9saWN5ID0gV2ViQ29yZTo6
UGx1Z2luTG9hZENsaWVudFBvbGljeVVuZGVmaW5lZDsKKyAgICBwbHVnaW5JbmZvLmNsaWVudExv
YWRQb2xpY3kgPSBXZWJDb3JlOjpQbHVnaW5Mb2FkQ2xpZW50UG9saWN5OjpVbmRlZmluZWQ7CiAj
aWYgUExBVEZPUk0oTUFDKQogICAgIHBsdWdpbkluZm8uYnVuZGxlSWRlbnRpZmllciA9IHNlbGYu
YnVuZGxlSWRlbnRpZmllcjsKICAgICBwbHVnaW5JbmZvLnZlcnNpb25TdHJpbmcgPSBzZWxmLmJ1
bmRsZVZlcnNpb247Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>