<?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>188009</bug_id>
          
          <creation_ts>2018-07-25 10:57:59 -0700</creation_ts>
          <short_desc>navigator.userAgent may return outdated value after webView.customUserAgent is set</short_desc>
          <delta_ts>2018-07-25 13:33:26 -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>WebKit2</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>185952</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1445080</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-07-25 10:57:59 -0700</bug_when>
    <thetext>navigator.userAgent may return outdated value after webView.customUserAgent is set, due to its cached not getting invalidated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1445082</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-07-25 10:58:13 -0700</bug_when>
    <thetext>&lt;rdar://problem/42566456&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1445093</commentid>
    <comment_count>2</comment_count>
      <attachid>345768</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-07-25 11:06:03 -0700</bug_when>
    <thetext>Created attachment 345768
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1445098</commentid>
    <comment_count>3</comment_count>
      <attachid>345768</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2018-07-25 11:44:26 -0700</bug_when>
    <thetext>Comment on attachment 345768
Patch

Prior to &lt;https://trac.webkit.org/changeset/232159/webkit&gt;, was the UI client able to change navigator.userAgent while the page was live? I&apos;m not sure it&apos;s important or desirable to be able to change navigator.userAgent while the page is live. It&apos;s specified as a readonly attribute, and a website might do something really weird if feature detection returned different results half-way through webpage rendering.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1445103</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-07-25 11:59:58 -0700</bug_when>
    <thetext>(In reply to Geoffrey Garen from comment #3)
&gt; Comment on attachment 345768 [details]
&gt; Patch
&gt; 
&gt; Prior to &lt;https://trac.webkit.org/changeset/232159/webkit&gt;, was the UI
&gt; client able to change navigator.userAgent while the page was live?

Yes, since there was no caching whatsoever.

&gt; I&apos;m not
&gt; sure it&apos;s important or desirable to be able to change navigator.userAgent
&gt; while the page is live. It&apos;s specified as a readonly attribute, and a
&gt; website might do something really weird if feature detection returned
&gt; different results half-way through webpage rendering.

I am not sure how important this is either but this is a recent behavior change compared to shipping and I have a radar about it. Clearly, the developer who filed the radar see this as a regression.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1445107</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-07-25 12:04:48 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #4)
&gt; (In reply to Geoffrey Garen from comment #3)
&gt; &gt; Comment on attachment 345768 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; Prior to &lt;https://trac.webkit.org/changeset/232159/webkit&gt;, was the UI
&gt; &gt; client able to change navigator.userAgent while the page was live?
&gt; 
&gt; Yes, since there was no caching whatsoever.
&gt; 
&gt; &gt; I&apos;m not
&gt; &gt; sure it&apos;s important or desirable to be able to change navigator.userAgent
&gt; &gt; while the page is live. It&apos;s specified as a readonly attribute, and a
&gt; &gt; website might do something really weird if feature detection returned
&gt; &gt; different results half-way through webpage rendering.
&gt; 
&gt; I am not sure how important this is either but this is a recent behavior
&gt; change compared to shipping and I have a radar about it. Clearly, the
&gt; developer who filed the radar see this as a regression.

My first instinct was also not to fix it since I am not convinced there is a great use-case for changing the user agent after the page has loaded. That said, the radar was sent to me so I fixed it. It is not a lot of code and I have already written it, I do not see much harm in landing it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1445108</commentid>
    <comment_count>6</comment_count>
      <attachid>345772</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-07-25 12:05:55 -0700</bug_when>
    <thetext>Created attachment 345772
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1445109</commentid>
    <comment_count>7</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-07-25 12:07:10 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #5)
&gt; (In reply to Chris Dumez from comment #4)
&gt; &gt; (In reply to Geoffrey Garen from comment #3)
&gt; &gt; &gt; Comment on attachment 345768 [details]
&gt; &gt; &gt; Patch
&gt; &gt; &gt; 
&gt; &gt; &gt; Prior to &lt;https://trac.webkit.org/changeset/232159/webkit&gt;, was the UI
&gt; &gt; &gt; client able to change navigator.userAgent while the page was live?
&gt; &gt; 
&gt; &gt; Yes, since there was no caching whatsoever.
&gt; &gt; 
&gt; &gt; &gt; I&apos;m not
&gt; &gt; &gt; sure it&apos;s important or desirable to be able to change navigator.userAgent
&gt; &gt; &gt; while the page is live. It&apos;s specified as a readonly attribute, and a
&gt; &gt; &gt; website might do something really weird if feature detection returned
&gt; &gt; &gt; different results half-way through webpage rendering.
&gt; &gt; 
&gt; &gt; I am not sure how important this is either but this is a recent behavior
&gt; &gt; change compared to shipping and I have a radar about it. Clearly, the
&gt; &gt; developer who filed the radar see this as a regression.
&gt; 
&gt; My first instinct was also not to fix it since I am not convinced there is a
&gt; great use-case for changing the user agent after the page has loaded. That
&gt; said, the radar was sent to me so I fixed it. It is not a lot of code and I
&gt; have already written it, I do not see much harm in landing it.

Note that would also impact changing the user-agent via the Develop menu (navigator.userAgent would not change until reloading).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1445137</commentid>
    <comment_count>8</comment_count>
      <attachid>345772</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-07-25 13:33:24 -0700</bug_when>
    <thetext>Comment on attachment 345772
Patch

Clearing flags on attachment: 345772

Committed r234211: &lt;https://trac.webkit.org/changeset/234211&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1445138</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-07-25 13:33:26 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>345768</attachid>
            <date>2018-07-25 11:06:03 -0700</date>
            <delta_ts>2018-07-25 12:05:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-188009-20180725110602.patch</filename>
            <type>text/plain</type>
            <size>16629</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM0MjAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjhmYjI5ZmMzMmM0NGNl
NjgzMDYxYjBlYmE4ZWFhZjYzNjVkZTYyNy4uMjAwYTk2YmEwZGM1MmVhMjBlNTQxYjE0NjQ1NGQ0
YWFlNjZkYmJhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE4LTA3LTI1ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgbmF2aWdhdG9yLnVzZXJBZ2Vu
dCBtYXkgcmV0dXJuIG91dGRhdGVkIHZhbHVlIGFmdGVyIHdlYlZpZXcuY3VzdG9tVXNlckFnZW50
IGlzIHNldAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTg4MDA5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80MjU2NjQ1Nj4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbnZhbGlkYXRlIHRoZSBuYXZpZ2F0
b3IudXNlckFnZW50IGNhY2hlIHdoZW5ldmVyIHRoZSB1c2VyIGFnZW50IGdldHMgY2hhbmdlZCB0
byBhdm9pZCBleHBvc2luZworICAgICAgICBvdXRkYXRlZCB2YWx1ZXMgdG8gSmF2YVNjcmlwdC4K
KworICAgICAgICAqIHBhZ2UvTmF2aWdhdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmln
YXRvcjo6dXNlckFnZW50Q2hhbmdlZCk6CisgICAgICAgICogcGFnZS9OYXZpZ2F0b3IuaDoKKyAg
ICAgICAgKiBwYWdlL05hdmlnYXRvcklELmlkbDoKKyAgICAgICAgKiBwYWdlL1BhZ2UuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UGFnZTo6dXNlckFnZW50Q2hhbmdlZCk6CisgICAgICAgICogcGFn
ZS9QYWdlLmg6CisKIDIwMTgtMDctMjUgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4K
IAogICAgICAgICBUdXJuIGFzc2VydGlvbiBwcmV2ZW50aW5nIHJlbW92YWwgb2YgQWN0aXZlRE9N
T2JqZWN0cyB3aGlsZSB3ZSBpdGVyYXRlIG92ZXIgdGhlbSBpbnRvIGEgUkVMRUFTRV9BU1NFUlQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggNGVkYjUzMmMxNDcyYWM4NzNiMWYxMTg5NDQ2NjIzYjY4NjkyNjkyNS4uNTlh
NmY3Njc4NTkwMWM4NGZjMzViNTUzYTEwYTU5ZDI5YmYyYjdmMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNiBAQAorMjAxOC0wNy0yNSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisg
ICAgICAgIG5hdmlnYXRvci51c2VyQWdlbnQgbWF5IHJldHVybiBvdXRkYXRlZCB2YWx1ZSBhZnRl
ciB3ZWJWaWV3LmN1c3RvbVVzZXJBZ2VudCBpcyBzZXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4ODAwOQorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
NDI1NjY0NTY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgTGV0IHRoZSBwYWdlIGtub3cgd2hlbiB0aGUgdXNlciBhZ2VudCBjaGFuZ2VzLgorCisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQYWdlOjpzZXRVc2VyQWdlbnQpOgorCiAyMDE4LTA3LTI1ICBBbGV4IENocmlzdGVuc2VuICA8
YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVXNlIENvbXBsZXRpb25IYW5kbGVy
IGZvciBwb2xpY3kgZGVjaXNpb25zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggYzlk
ODgzNTBlNmU1NTMyZDY1NDcyM2E1NmFkZDliMGJlMjJmMjNhMS4uOTVhMGE3OGY5MTAxNjYxYTUy
NDRiMTdkOWNhMzI5MmNhZTNkNzQ3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDIwIEBACisyMDE4LTA3LTI1ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+
CisKKyAgICAgICAgbmF2aWdhdG9yLnVzZXJBZ2VudCBtYXkgcmV0dXJuIG91dGRhdGVkIHZhbHVl
IGFmdGVyIHdlYlZpZXcuY3VzdG9tVXNlckFnZW50IGlzIHNldAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg4MDA5CisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS80MjU2NjQ1Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBMZXQgdGhlIHBhZ2Uga25vdyB3aGVuIHRoZSB1c2VyIGFnZW50IGNoYW5nZXMuCisK
KyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZpZXcgX3ByZWZl
cmVuY2VzQ2hhbmdlZDpdKToKKyAgICAgICAgKC1bV2ViVmlldyBzZXRBcHBsaWNhdGlvbk5hbWVG
b3JVc2VyQWdlbnQ6XSk6CisgICAgICAgICgtW1dlYlZpZXcgX2ludmFsaWRhdGVVc2VyQWdlbnRD
YWNoZV0pOgorICAgICAgICAoLVtXZWJWaWV3IHNldEN1c3RvbVVzZXJBZ2VudDpdKToKKyAgICAg
ICAgKiBXZWJWaWV3L1dlYlZpZXdJbnRlcm5hbC5oOgorCiAyMDE4LTA3LTI0ICBUaW0gSG9ydG9u
ICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIEVuYWJsZSBXZWIgQ29udGVu
dCBGaWx0ZXJpbmcgb24gd2F0Y2hPUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9O
YXZpZ2F0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuY3BwCmluZGV4IDlh
OGQyNjhjODgxN2IzNWI0MDM2OWRjMmFjNmUwMzk0MDhhYmYzMGYuLjc4MDk4MDA2YjcyYmMxN2E2
ZDE1OWZkMmFkMThkYzdmNzczYjY1OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
TmF2aWdhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5jcHAKQEAg
LTg0LDYgKzg0LDExIEBAIGNvbnN0IFN0cmluZyYgTmF2aWdhdG9yOjp1c2VyQWdlbnQoKSBjb25z
dAogICAgIHJldHVybiBtX3VzZXJBZ2VudDsKIH0KIAordm9pZCBOYXZpZ2F0b3I6OnVzZXJBZ2Vu
dENoYW5nZWQoKQoreworICAgIG1fdXNlckFnZW50ID0gU3RyaW5nKCk7Cit9CisKIGJvb2wgTmF2
aWdhdG9yOjpvbkxpbmUoKSBjb25zdAogewogICAgIHJldHVybiBwbGF0Zm9ybVN0cmF0ZWdpZXMo
KS0+bG9hZGVyU3RyYXRlZ3koKS0+aXNPbkxpbmUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvTmF2aWdhdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5oCmlu
ZGV4IDE4MTZlM2E1NmQxZDdjMjExMDJjZWEyNmI3ZWI2NjU4MTIzOTk3Y2EuLmI4NmVkODlkYWZm
NGI2OThhOWMxMzc5MGMyZDc1MzQxZjNhMDZhNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvTmF2aWdhdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuaApA
QCAtNDAsNiArNDAsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBjb29raWVFbmFibGVkKCkgY29uc3Q7
CiAgICAgYm9vbCBqYXZhRW5hYmxlZCgpIGNvbnN0OwogICAgIGNvbnN0IFN0cmluZyYgdXNlckFn
ZW50KCkgY29uc3QgZmluYWw7CisgICAgdm9pZCB1c2VyQWdlbnRDaGFuZ2VkKCk7CiAgICAgYm9v
bCBvbkxpbmUoKSBjb25zdCBmaW5hbDsKICAgICAKICNpZiBQTEFURk9STShJT1MpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvcklELmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvTmF2aWdhdG9ySUQuaWRsCmluZGV4IGY2YjE0ZmFlZmMzM2JjNWQwMDUwMjA4NDAyYzc1
ZWVjYzdhNjQzODMuLjU3OTY3Y2U1YzE4M2I2NmQzMTg5MTljMjY5Y2MzNTM5YzBkNTczZTEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9ySUQuaWRsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9ySUQuaWRsCkBAIC0zNSw3ICszNSw3IEBACiAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBwbGF0Zm9ybTsKICAgICByZWFkb25seSBhdHRyaWJ1
dGUgRE9NU3RyaW5nIHByb2R1Y3Q7CiAgICAgW0V4cG9zZWQ9V2luZG93XSByZWFkb25seSBhdHRy
aWJ1dGUgRE9NU3RyaW5nIHByb2R1Y3RTdWI7Ci0gICAgW0NhY2hlZEF0dHJpYnV0ZV0gcmVhZG9u
bHkgYXR0cmlidXRlIERPTVN0cmluZyB1c2VyQWdlbnQ7CisgICAgcmVhZG9ubHkgYXR0cmlidXRl
IERPTVN0cmluZyB1c2VyQWdlbnQ7CiAgICAgW0V4cG9zZWQ9V2luZG93XSByZWFkb25seSBhdHRy
aWJ1dGUgRE9NU3RyaW5nIHZlbmRvcjsKICAgICBbRXhwb3NlZD1XaW5kb3ddIHJlYWRvbmx5IGF0
dHJpYnV0ZSBET01TdHJpbmcgdmVuZG9yU3ViOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IGVl
ODZjY2QwMjYwOTlmMmY3MjA1YWM4ODU1YWI5MDNlMDlhY2NiNDAuLjJjNDY2ZDIzMjZlYWYwNTE1
ZmVmZTBkMWFhYzE4ZWYxNWEzYWJkNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApAQCAtMTIzOCw2ICsx
MjM4LDE3IEBAIGNvbnN0IFN0cmluZyYgUGFnZTo6dXNlclN0eWxlU2hlZXQoKSBjb25zdAogICAg
IHJldHVybiBtX3VzZXJTdHlsZVNoZWV0OwogfQogCit2b2lkIFBhZ2U6OnVzZXJBZ2VudENoYW5n
ZWQoKQoreworICAgIGZvciAoYXV0byogZnJhbWUgPSAmbV9tYWluRnJhbWUuZ2V0KCk7IGZyYW1l
OyBmcmFtZSA9IGZyYW1lLT50cmVlKCkudHJhdmVyc2VOZXh0KCkpIHsKKyAgICAgICAgYXV0byog
d2luZG93ID0gZnJhbWUtPndpbmRvdygpOworICAgICAgICBpZiAoIXdpbmRvdykKKyAgICAgICAg
ICAgIGNvbnRpbnVlOworICAgICAgICBpZiAoYXV0byogbmF2aWdhdG9yID0gd2luZG93LT5vcHRp
b25hbE5hdmlnYXRvcigpKQorICAgICAgICAgICAgbmF2aWdhdG9yLT51c2VyQWdlbnRDaGFuZ2Vk
KCk7CisgICAgfQorfQorCiB2b2lkIFBhZ2U6OmludmFsaWRhdGVTdHlsZXNGb3JBbGxMaW5rcygp
CiB7CiAgICAgZm9yIChGcmFtZSogZnJhbWUgPSAmbV9tYWluRnJhbWUuZ2V0KCk7IGZyYW1lOyBm
cmFtZSA9IGZyYW1lLT50cmVlKCkudHJhdmVyc2VOZXh0KCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGFnZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKaW5kZXgg
ZTA2OTY3NDUwODkzNjBmNjY1ZWUyOWE3NWUwZGFmYzhkYzI5ZDBlZC4uOTE1ZTg0NjExM2E4MWFi
M2I1N2VkYjRhMzA1Y2EwYzMzOTc5N2E4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKQEAgLTQzOSw2ICs0Mzks
OCBAQCBwdWJsaWM6CiAgICAgdm9pZCB1c2VyU3R5bGVTaGVldExvY2F0aW9uQ2hhbmdlZCgpOwog
ICAgIGNvbnN0IFN0cmluZyYgdXNlclN0eWxlU2hlZXQoKSBjb25zdDsKIAorICAgIFdFQkNPUkVf
RVhQT1JUIHZvaWQgdXNlckFnZW50Q2hhbmdlZCgpOworCiAgICAgdm9pZCBkbnNQcmVmZXRjaGlu
Z1N0YXRlQ2hhbmdlZCgpOwogICAgIHZvaWQgc3RvcmFnZUJsb2NraW5nU3RhdGVDaGFuZ2VkKCk7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
Y3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXgg
Nzg3NDkxOThkYTE1NWQxNjljOTlkZmI2ZjNlMTlkY2FmM2JjNzVjYi4uYzIzMmRkOTliMTZjOTA2
YTA2MDM3ZTRmYjY3MmQ3M2QxZmU4OGY4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTI5MDksNyArMjkwOSwxMyBAQCBTdHJpbmcgV2ViUGFn
ZTo6dXNlckFnZW50KFdlYkZyYW1lKiBmcmFtZSwgY29uc3QgVVJMJiB3ZWJjb3JlVVJMKSBjb25z
dAogICAgIAogdm9pZCBXZWJQYWdlOjpzZXRVc2VyQWdlbnQoY29uc3QgU3RyaW5nJiB1c2VyQWdl
bnQpCiB7CisgICAgaWYgKG1fdXNlckFnZW50ID09IHVzZXJBZ2VudCkKKyAgICAgICAgcmV0dXJu
OworCiAgICAgbV91c2VyQWdlbnQgPSB1c2VyQWdlbnQ7CisKKyAgICBpZiAobV9wYWdlKQorICAg
ICAgICBtX3BhZ2UtPnVzZXJBZ2VudENoYW5nZWQoKTsKIH0KIAogdm9pZCBXZWJQYWdlOjpzdXNw
ZW5kQWN0aXZlRE9NT2JqZWN0c0FuZEFuaW1hdGlvbnMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvV2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IDllZGIwZGU3YmQ3YjQ4NzI3OTgzMWU0NGY5Nzg2
NzkwMzA2YzgyNGIuLjgwOGMzYzA5ZGZhZGZmM2MxMjkyYzE1YjI5OWI1OWEwNjJhYTA1NzggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTI3OTUsNyAr
Mjc5NSw3IEBAIC0gKHZvaWQpX3ByZWZlcmVuY2VzQ2hhbmdlZDooV2ViUHJlZmVyZW5jZXMgKilw
cmVmZXJlbmNlcwogeyAgICAKICAgICBBU1NFUlQocHJlZmVyZW5jZXMgPT0gW3NlbGYgcHJlZmVy
ZW5jZXNdKTsKICAgICBpZiAoIV9wcml2YXRlLT51c2VyQWdlbnRPdmVycmlkZGVuKQotICAgICAg
ICBfcHJpdmF0ZS0+dXNlckFnZW50ID0gU3RyaW5nKCk7CisgICAgICAgIFtzZWxmIF9pbnZhbGlk
YXRlVXNlckFnZW50Q2FjaGVdOwogCiAgICAgLy8gQ2FjaGUgdGhpcyB2YWx1ZSBzbyB3ZSBkb24n
dCBoYXZlIHRvIHJlYWQgTlNVc2VyRGVmYXVsdHMgb24gZWFjaCBwYWdlIGxvYWQKICAgICBfcHJp
dmF0ZS0+dXNlU2l0ZVNwZWNpZmljU3Bvb2ZpbmcgPSBbcHJlZmVyZW5jZXMgX3VzZVNpdGVTcGVj
aWZpY1Nwb29maW5nXTsKQEAgLTY1ODAsNyArNjU4MCwxNyBAQCAtICh2b2lkKXNldEFwcGxpY2F0
aW9uTmFtZUZvclVzZXJBZ2VudDooTlNTdHJpbmcgKilhcHBsaWNhdGlvbk5hbWUKICAgICBbX3By
aXZhdGUtPmFwcGxpY2F0aW9uTmFtZUZvclVzZXJBZ2VudCByZWxlYXNlXTsKICAgICBfcHJpdmF0
ZS0+YXBwbGljYXRpb25OYW1lRm9yVXNlckFnZW50ID0gbmFtZTsKICAgICBpZiAoIV9wcml2YXRl
LT51c2VyQWdlbnRPdmVycmlkZGVuKQotICAgICAgICBfcHJpdmF0ZS0+dXNlckFnZW50ID0gU3Ry
aW5nKCk7CisgICAgICAgIFtzZWxmIF9pbnZhbGlkYXRlVXNlckFnZW50Q2FjaGVdOworfQorCist
ICh2b2lkKV9pbnZhbGlkYXRlVXNlckFnZW50Q2FjaGUKK3sKKyAgICBpZiAoX3ByaXZhdGUtPnVz
ZXJBZ2VudC5pc051bGwoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgX3ByaXZhdGUtPnVzZXJB
Z2VudCA9IFN0cmluZygpOworICAgIGlmIChfcHJpdmF0ZS0+cGFnZSkKKyAgICAgICAgX3ByaXZh
dGUtPnBhZ2UtPnVzZXJBZ2VudENoYW5nZWQoKTsKIH0KIAogLSAoTlNTdHJpbmcgKilhcHBsaWNh
dGlvbk5hbWVGb3JVc2VyQWdlbnQKQEAgLTY1OTAsNiArNjYwMCw3IEBAIC0gKE5TU3RyaW5nICop
YXBwbGljYXRpb25OYW1lRm9yVXNlckFnZW50CiAKIC0gKHZvaWQpc2V0Q3VzdG9tVXNlckFnZW50
OihOU1N0cmluZyAqKXVzZXJBZ2VudFN0cmluZwogeworICAgIFtzZWxmIF9pbnZhbGlkYXRlVXNl
ckFnZW50Q2FjaGVdOwogICAgIF9wcml2YXRlLT51c2VyQWdlbnQgPSB1c2VyQWdlbnRTdHJpbmc7
CiAgICAgX3ByaXZhdGUtPnVzZXJBZ2VudE92ZXJyaWRkZW4gPSB1c2VyQWdlbnRTdHJpbmcgIT0g
bmlsOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJW
aWV3SW50ZXJuYWwuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlld0lu
dGVybmFsLmgKaW5kZXggYzM5NGE4ZjkxZDQzMDk0MWY2NDYxZGRkOWJlNjY4NjYzNGM2NDJhYy4u
OTBmYTM4NzcwODU5ZWYxZThiYWNmZmFjNDJmY2MxMGEwNWU1NDk5YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3SW50ZXJuYWwuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXdJbnRlcm5hbC5oCkBAIC0yNjcsNiAr
MjY3LDcgQEAgT0JKQ19DTEFTUyBOU1RleHRBbHRlcm5hdGl2ZXM7CiAjZW5kaWYKIAogLSAodm9p
ZClfcHJlZmVyZW5jZXNDaGFuZ2VkOihXZWJQcmVmZXJlbmNlcyAqKXByZWZlcmVuY2VzOworLSAo
dm9pZClfaW52YWxpZGF0ZVVzZXJBZ2VudENhY2hlOwogCiAjaWYgRU5BQkxFKFZJREVPKSAmJiBk
ZWZpbmVkKF9fY3BsdXNwbHVzKQogLSAodm9pZClfZW50ZXJWaWRlb0Z1bGxzY3JlZW5Gb3JWaWRl
b0VsZW1lbnQ6KFdlYkNvcmU6OkhUTUxWaWRlb0VsZW1lbnQqKXZpZGVvRWxlbWVudCBtb2RlOihX
ZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGUpbW9kZTsK
ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA4ODE2
MjE3OThmZDkxNTYzOWFjNzRjNTM1Yjk3MzU5YjVmNTE1ZGJjLi5jNGUyNDBhMWIzODYxZDc4NTM1
MmQ1ODZjZDU4YjFmN2JiZDY3YjhmIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTgtMDctMjUgIENocmlzIER1bWV6
ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBuYXZpZ2F0b3IudXNlckFnZW50IG1heSBy
ZXR1cm4gb3V0ZGF0ZWQgdmFsdWUgYWZ0ZXIgd2ViVmlldy5jdXN0b21Vc2VyQWdlbnQgaXMgc2V0
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODgwMDkK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQyNTY2NDU2PgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBBUEkgdGVzdCBjb3ZlcmFnZS4KKworICAg
ICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvQ3VzdG9tVXNl
ckFnZW50Lm1tOiBBZGRlZC4KKyAgICAgICAgKFRFU1QpOgorCiAyMDE4LTA3LTI1ICBDaGFybGll
IFR1cm5lciAgPGN0dXJuZXJAaWdhbGlhLmNvbT4KIAogICAgICAgICBbRmxhdHBha10gUGFzcyBt
b3JlIGVudmlyb25tZW50IHZhcmlhYmxlcyB0byBzYW5kYm94CmRpZmYgLS1naXQgYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CmluZGV4IDI5ZDk0MmIxZTc5MTI0YmEwMDliZjdmZTJhZTVlZTM0OWMyZmRlYjUuLmFmN2I1NTRh
ZjI0YTY3MjQyZGZmOGM4NzdhZjkyYjU1ZDU3YzU5OWQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CkBAIC0xNjAsNiArMTYwLDcgQEAKIAkJNDYzOTdCOTUxREMyQzg1MDAwOUE3OEFFIC8qIERPTU5v
ZGUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NjM5
N0I5NDFEQzJDODUwMDA5QTc4QUUgLyogRE9NTm9kZS5tbSAqLzsgfTsKIAkJNDY0N0IxMjYxRUJB
M0I4NTAwNDFEN0VGIC8qIFByb2Nlc3NEaWRUZXJtaW5hdGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDY0N0IxMjUxRUJBM0I3MzAwNDFEN0VGIC8q
IFByb2Nlc3NEaWRUZXJtaW5hdGUuY3BwICovOyB9OwogCQk0NjZDMzg0MzIxMDYzN0RFMDA2QTg4
REUgLyogbm90aWZ5LXJlc291cmNlTG9hZE9ic2VydmVyLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDY2QzM4NDIyMTA2MzdDRTAwNkE4
OERFIC8qIG5vdGlmeS1yZXNvdXJjZUxvYWRPYnNlcnZlci5odG1sICovOyB9OworCQk0NkE5MTE1
OTIxMDhFNjc4MDA3OEQ0MEQgLyogQ3VzdG9tVXNlckFnZW50Lm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZBOTExNTgyMTA4RTY2QjAwNzhENDBEIC8q
IEN1c3RvbVVzZXJBZ2VudC5tbSAqLzsgfTsKIAkJNDZBRTVBMzcyMEY5MDY2RDAwRTA4NzNFIC8q
IFNpbXBsZVNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25zLTMuc3FsaXRlMyBpbiBDb3B5IFJlc291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NjU2QTc1NzIwRjkwNTRG
MDAwMkUyMUYgLyogU2ltcGxlU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbnMtMy5zcWxpdGUzICov
OyB9OwogCQk0NkM1MTlEQTFEMzU1QUIyMDBEQUE1MUEgLyogTG9jYWxTdG9yYWdlTnVsbEVudHJp
ZXMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkM1
MTlEODFEMzU1QTczMDBEQUE1MUEgLyogTG9jYWxTdG9yYWdlTnVsbEVudHJpZXMubW0gKi87IH07
CiAJCTQ2QzUxOUU2MUQzNTYzRkQwMERBQTUxQSAvKiBMb2NhbFN0b3JhZ2VOdWxsRW50cmllcy5o
dG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQ2QzUxOUUyMUQzNTYyOTYwMERBQTUxQSAvKiBMb2NhbFN0b3JhZ2VOdWxsRW50cmllcy5odG1s
ICovOyB9OwpAQCAtMTQwMSw2ICsxNDAyLDcgQEAKIAkJNDY0N0IxMjUxRUJBM0I3MzAwNDFEN0VG
IC8qIFByb2Nlc3NEaWRUZXJtaW5hdGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gUHJvY2Vzc0RpZFRlcm1pbmF0ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTQ2NTZBNzU3MjBGOTA1NEYwMDAyRTIxRiAvKiBTaW1wbGVTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9ucy0zLnNxbGl0ZTMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBmaWxlOyBwYXRoID0gIlNpbXBsZVNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25zLTMuc3FsaXRlMyI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2NkMzODQyMjEw
NjM3Q0UwMDZBODhERSAvKiBub3RpZnktcmVzb3VyY2VMb2FkT2JzZXJ2ZXIuaHRtbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJub3RpZnktcmVzb3VyY2VMb2FkT2JzZXJ2ZXIuaHRtbCI7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ2QTkxMTU4MjEwOEU2NkIwMDc4RDQwRCAv
KiBDdXN0b21Vc2VyQWdlbnQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBDdXN0b21Vc2VyQWdlbnQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2
QzUxOUQ4MUQzNTVBNzMwMERBQTUxQSAvKiBMb2NhbFN0b3JhZ2VOdWxsRW50cmllcy5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IExvY2FsU3RvcmFnZU51bGxFbnRy
aWVzLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NkM1MTlFMjFEMzU2Mjk2MDBE
QUE1MUEgLyogTG9jYWxTdG9yYWdlTnVsbEVudHJpZXMuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRt
bDsgcGF0aCA9IExvY2FsU3RvcmFnZU51bGxFbnRyaWVzLmh0bWw7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTQ2QzUxOUUzMUQzNTYyOTYwMERBQTUxQSAvKiBMb2NhbFN0b3JhZ2VOdWxs
RW50cmllcy5sb2NhbHN0b3JhZ2UgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBmaWxlOyBwYXRoID0gTG9jYWxTdG9yYWdlTnVsbEVudHJpZXMubG9jYWxz
dG9yYWdlOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjI1NSw2ICsyMjU3LDcgQEAK
IAkJCQk5QjEwNTY0MTFGOTA0NUM3MDBENTU4M0YgLyogQ29weUhUTUwubW0gKi8sCiAJCQkJOTk5
OTEwOEExRjM5M0M4QjAwOEFENDU1IC8qIENvcHlpbmcubW0gKi8sCiAJCQkJOUI3QTM3QzIxRjhB
RUJBNTAwNEFBMjI4IC8qIENvcHlVUkwubW0gKi8sCisJCQkJNDZBOTExNTgyMTA4RTY2QjAwNzhE
NDBEIC8qIEN1c3RvbVVzZXJBZ2VudC5tbSAqLywKIAkJCQkyREM0Q0Y3NjFEMkQ5REQ4MDBFQ0ND
OTQgLyogRGF0YURldGVjdGlvbi5tbSAqLywKIAkJCQk1MThFRTUxQzIwQTc4RDMzMDBFMDI0RjMg
LyogRGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbi5tbSAqLywKIAkJCQlDRUE3RjU3QjIw
ODk1RjVCMDA3OEVGNkUgLyogRGlkUmVzaWduSW5wdXRFbGVtZW50U3Ryb25nUGFzc3dvcmRBcHBl
YXJhbmNlLm1tICovLApAQCAtMzYzOSw2ICszNjQyLDcgQEAKIAkJCQk3Q0NFN0YyOTFBNDExQjEw
MDA0NDdDNEMgLyogQ3VzdG9tUHJvdG9jb2xzSW52YWxpZFNjaGVtZS5tbSBpbiBTb3VyY2VzICov
LAogCQkJCTdDQ0U3RjJBMUE0MTFCMTAwMDQ0N0M0QyAvKiBDdXN0b21Qcm90b2NvbHNTeW5jWEhS
VGVzdC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTdDQ0U3RjJCMUE0MTFCMTAwMDQ0N0M0QyAvKiBD
dXN0b21Qcm90b2NvbHNUZXN0Lm1tIGluIFNvdXJjZXMgKi8sCisJCQkJNDZBOTExNTkyMTA4RTY3
ODAwNzhENDBEIC8qIEN1c3RvbVVzZXJBZ2VudC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTc1MUIw
NUQ2MUY4RUFDNDEwMDI4QTA5RSAvKiBEYXRhYmFzZVRyYWNrZXJUZXN0Lm1tIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMkRDNENGNzcxRDJEOUREODAwRUNDQzk0IC8qIERhdGFEZXRlY3Rpb24ubW0gaW4g
U291cmNlcyAqLywKIAkJCQlGNEQ0RjNCNjFFNEUyQkNCMDBCQjI3NjcgLyogRGF0YUludGVyYWN0
aW9uU2ltdWxhdG9yLm1tIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0N1c3RvbVVzZXJBZ2VudC5tbSBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvQ3VzdG9tVXNlckFnZW50Lm1tCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
Ljg4NjEyMjMwYjYzNTNkMjVkMTYzZjcyMmZlOTc2MDFjZjI2MzkyMzkKLS0tIC9kZXYvbnVsbAor
KysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0N1c3RvbVVzZXJBZ2Vu
dC5tbQpAQCAtMCwwICsxLDY0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
CisjaW1wb3J0ICJQbGF0Zm9ybVV0aWxpdGllcy5oIgorI2ltcG9ydCAiVGVzdE5hdmlnYXRpb25E
ZWxlZ2F0ZS5oIgorI2ltcG9ydCA8V2ViS2l0L1dlYktpdC5oPgorI2ltcG9ydCA8d3RmL1JldGFp
blB0ci5oPgorCitzdGF0aWMgYm9vbCBkb25lID0gZmFsc2U7CisKK1RFU1QoQ3VzdG9tVXNlckFn
ZW50LCBVcGRhdGVDYWNoZWROYXZpZ2F0b3JVc2VyQWdlbnQpCit7CisgICAgYXV0byB3ZWJWaWV3
ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAs
IDAsIDgwMCwgNjAwKV0pOworICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OltOU1VSTFJlcXVlc3Qg
cmVxdWVzdFdpdGhVUkw6W05TVVJMIFVSTFdpdGhTdHJpbmc6QCJhYm91dDpibGFuayJdXV07CisK
KyAgICBbd2ViVmlldyBfdGVzdF93YWl0Rm9yRGlkRmluaXNoTmF2aWdhdGlvbl07CisKKyAgICAv
LyBRdWVyeSBuYXZpZ2F0b3IudXNlckFnZW50IG9uY2Ugc28gaXQgZ2V0cyBjYWNoZWQuCisgICAg
W3dlYlZpZXcgZXZhbHVhdGVKYXZhU2NyaXB0OkAibmF2aWdhdG9yLnVzZXJBZ2VudDsiIGNvbXBs
ZXRpb25IYW5kbGVyOl4oaWQgX051bGxhYmxlIHJlc3BvbnNlLCBOU0Vycm9yICogX051bGxhYmxl
IGVycm9yKSB7CisgICAgICAgIEFTU0VSVF9UUlVFKCFlcnJvcik7CisgICAgICAgIE5TU3RyaW5n
ICp1c2VyQWdlbnQgPSAoTlNTdHJpbmcgKilyZXNwb25zZTsKKyAgICAgICAgQVNTRVJUX1RSVUUo
ISF1c2VyQWdlbnQpOworICAgICAgICAvLyBPdmVycmlkZSB1c2VyIGFnZW50IHdpdGggYSBjdXN0
b20gb25lLgorICAgICAgICB3ZWJWaWV3LmdldCgpLmN1c3RvbVVzZXJBZ2VudCA9IEAiQ3VzdG9t
IFVzZXJBZ2VudCI7CisgICAgICAgIGRvbmUgPSB0cnVlOworICAgIH1dOworICAgIFRlc3RXZWJL
aXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7CisgICAgZG9uZSA9IGZhbHNlOworCisgICAgLy8gUXVl
cnkgbmF2aWdhdG9yLnVzZXJBZ2VudCBhZ2FpbiB0byBtYWtlIHN1cmUgaXRzIGNhY2hlIHdhcyBp
bnZhbGlkYXRlZCBhbmQgaXQgcmV0dXJucyB0aGUgdXBkYXRlZCB2YWx1ZS4KKyAgICBbd2ViVmll
dyBldmFsdWF0ZUphdmFTY3JpcHQ6QCJuYXZpZ2F0b3IudXNlckFnZW50OyIgY29tcGxldGlvbkhh
bmRsZXI6XihpZCBfTnVsbGFibGUgcmVzcG9uc2UsIE5TRXJyb3IgKiBfTnVsbGFibGUgZXJyb3Ip
IHsKKyAgICAgICAgQVNTRVJUX1RSVUUoIWVycm9yKTsKKyAgICAgICAgTlNTdHJpbmcgKnVzZXJB
Z2VudCA9IChOU1N0cmluZyAqKXJlc3BvbnNlOworICAgICAgICBBU1NFUlRfVFJVRSghIXVzZXJB
Z2VudCk7CisgICAgICAgIEVYUEVDVF9XS19TVFJFUShAIkN1c3RvbSBVc2VyQWdlbnQiLCB1c2Vy
QWdlbnQpOworICAgICAgICBkb25lID0gdHJ1ZTsKKyAgICB9XTsKKyAgICBUZXN0V2ViS2l0QVBJ
OjpVdGlsOjpydW4oJmRvbmUpOworICAgIGRvbmUgPSBmYWxzZTsKK30K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>345772</attachid>
            <date>2018-07-25 12:05:55 -0700</date>
            <delta_ts>2018-07-25 13:33:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-188009-20180725120555.patch</filename>
            <type>text/plain</type>
            <size>16679</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM0MjAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjhmYjI5ZmMzMmM0NGNl
NjgzMDYxYjBlYmE4ZWFhZjYzNjVkZTYyNy4uMjAwYTk2YmEwZGM1MmVhMjBlNTQxYjE0NjQ1NGQ0
YWFlNjZkYmJhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE4LTA3LTI1ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgbmF2aWdhdG9yLnVzZXJBZ2Vu
dCBtYXkgcmV0dXJuIG91dGRhdGVkIHZhbHVlIGFmdGVyIHdlYlZpZXcuY3VzdG9tVXNlckFnZW50
IGlzIHNldAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTg4MDA5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80MjU2NjQ1Nj4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbnZhbGlkYXRlIHRoZSBuYXZpZ2F0
b3IudXNlckFnZW50IGNhY2hlIHdoZW5ldmVyIHRoZSB1c2VyIGFnZW50IGdldHMgY2hhbmdlZCB0
byBhdm9pZCBleHBvc2luZworICAgICAgICBvdXRkYXRlZCB2YWx1ZXMgdG8gSmF2YVNjcmlwdC4K
KworICAgICAgICAqIHBhZ2UvTmF2aWdhdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmln
YXRvcjo6dXNlckFnZW50Q2hhbmdlZCk6CisgICAgICAgICogcGFnZS9OYXZpZ2F0b3IuaDoKKyAg
ICAgICAgKiBwYWdlL05hdmlnYXRvcklELmlkbDoKKyAgICAgICAgKiBwYWdlL1BhZ2UuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UGFnZTo6dXNlckFnZW50Q2hhbmdlZCk6CisgICAgICAgICogcGFn
ZS9QYWdlLmg6CisKIDIwMTgtMDctMjUgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4K
IAogICAgICAgICBUdXJuIGFzc2VydGlvbiBwcmV2ZW50aW5nIHJlbW92YWwgb2YgQWN0aXZlRE9N
T2JqZWN0cyB3aGlsZSB3ZSBpdGVyYXRlIG92ZXIgdGhlbSBpbnRvIGEgUkVMRUFTRV9BU1NFUlQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggNGVkYjUzMmMxNDcyYWM4NzNiMWYxMTg5NDQ2NjIzYjY4NjkyNjkyNS4uNTlh
NmY3Njc4NTkwMWM4NGZjMzViNTUzYTEwYTU5ZDI5YmYyYjdmMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNiBAQAorMjAxOC0wNy0yNSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisg
ICAgICAgIG5hdmlnYXRvci51c2VyQWdlbnQgbWF5IHJldHVybiBvdXRkYXRlZCB2YWx1ZSBhZnRl
ciB3ZWJWaWV3LmN1c3RvbVVzZXJBZ2VudCBpcyBzZXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4ODAwOQorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
NDI1NjY0NTY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgTGV0IHRoZSBwYWdlIGtub3cgd2hlbiB0aGUgdXNlciBhZ2VudCBjaGFuZ2VzLgorCisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQYWdlOjpzZXRVc2VyQWdlbnQpOgorCiAyMDE4LTA3LTI1ICBBbGV4IENocmlzdGVuc2VuICA8
YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVXNlIENvbXBsZXRpb25IYW5kbGVy
IGZvciBwb2xpY3kgZGVjaXNpb25zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggYzlk
ODgzNTBlNmU1NTMyZDY1NDcyM2E1NmFkZDliMGJlMjJmMjNhMS4uOTVhMGE3OGY5MTAxNjYxYTUy
NDRiMTdkOWNhMzI5MmNhZTNkNzQ3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDIwIEBACisyMDE4LTA3LTI1ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+
CisKKyAgICAgICAgbmF2aWdhdG9yLnVzZXJBZ2VudCBtYXkgcmV0dXJuIG91dGRhdGVkIHZhbHVl
IGFmdGVyIHdlYlZpZXcuY3VzdG9tVXNlckFnZW50IGlzIHNldAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg4MDA5CisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS80MjU2NjQ1Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBMZXQgdGhlIHBhZ2Uga25vdyB3aGVuIHRoZSB1c2VyIGFnZW50IGNoYW5nZXMuCisK
KyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZpZXcgX3ByZWZl
cmVuY2VzQ2hhbmdlZDpdKToKKyAgICAgICAgKC1bV2ViVmlldyBzZXRBcHBsaWNhdGlvbk5hbWVG
b3JVc2VyQWdlbnQ6XSk6CisgICAgICAgICgtW1dlYlZpZXcgX2ludmFsaWRhdGVVc2VyQWdlbnRD
YWNoZV0pOgorICAgICAgICAoLVtXZWJWaWV3IHNldEN1c3RvbVVzZXJBZ2VudDpdKToKKyAgICAg
ICAgKiBXZWJWaWV3L1dlYlZpZXdJbnRlcm5hbC5oOgorCiAyMDE4LTA3LTI0ICBUaW0gSG9ydG9u
ICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIEVuYWJsZSBXZWIgQ29udGVu
dCBGaWx0ZXJpbmcgb24gd2F0Y2hPUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9O
YXZpZ2F0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuY3BwCmluZGV4IDlh
OGQyNjhjODgxN2IzNWI0MDM2OWRjMmFjNmUwMzk0MDhhYmYzMGYuLjc4MDk4MDA2YjcyYmMxN2E2
ZDE1OWZkMmFkMThkYzdmNzczYjY1OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
TmF2aWdhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5jcHAKQEAg
LTg0LDYgKzg0LDExIEBAIGNvbnN0IFN0cmluZyYgTmF2aWdhdG9yOjp1c2VyQWdlbnQoKSBjb25z
dAogICAgIHJldHVybiBtX3VzZXJBZ2VudDsKIH0KIAordm9pZCBOYXZpZ2F0b3I6OnVzZXJBZ2Vu
dENoYW5nZWQoKQoreworICAgIG1fdXNlckFnZW50ID0gU3RyaW5nKCk7Cit9CisKIGJvb2wgTmF2
aWdhdG9yOjpvbkxpbmUoKSBjb25zdAogewogICAgIHJldHVybiBwbGF0Zm9ybVN0cmF0ZWdpZXMo
KS0+bG9hZGVyU3RyYXRlZ3koKS0+aXNPbkxpbmUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvTmF2aWdhdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5oCmlu
ZGV4IDE4MTZlM2E1NmQxZDdjMjExMDJjZWEyNmI3ZWI2NjU4MTIzOTk3Y2EuLmI4NmVkODlkYWZm
NGI2OThhOWMxMzc5MGMyZDc1MzQxZjNhMDZhNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvTmF2aWdhdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuaApA
QCAtNDAsNiArNDAsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBjb29raWVFbmFibGVkKCkgY29uc3Q7
CiAgICAgYm9vbCBqYXZhRW5hYmxlZCgpIGNvbnN0OwogICAgIGNvbnN0IFN0cmluZyYgdXNlckFn
ZW50KCkgY29uc3QgZmluYWw7CisgICAgdm9pZCB1c2VyQWdlbnRDaGFuZ2VkKCk7CiAgICAgYm9v
bCBvbkxpbmUoKSBjb25zdCBmaW5hbDsKICAgICAKICNpZiBQTEFURk9STShJT1MpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvcklELmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvTmF2aWdhdG9ySUQuaWRsCmluZGV4IGY2YjE0ZmFlZmMzM2JjNWQwMDUwMjA4NDAyYzc1
ZWVjYzdhNjQzODMuLjU3OTY3Y2U1YzE4M2I2NmQzMTg5MTljMjY5Y2MzNTM5YzBkNTczZTEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9ySUQuaWRsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9ySUQuaWRsCkBAIC0zNSw3ICszNSw3IEBACiAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBwbGF0Zm9ybTsKICAgICByZWFkb25seSBhdHRyaWJ1
dGUgRE9NU3RyaW5nIHByb2R1Y3Q7CiAgICAgW0V4cG9zZWQ9V2luZG93XSByZWFkb25seSBhdHRy
aWJ1dGUgRE9NU3RyaW5nIHByb2R1Y3RTdWI7Ci0gICAgW0NhY2hlZEF0dHJpYnV0ZV0gcmVhZG9u
bHkgYXR0cmlidXRlIERPTVN0cmluZyB1c2VyQWdlbnQ7CisgICAgcmVhZG9ubHkgYXR0cmlidXRl
IERPTVN0cmluZyB1c2VyQWdlbnQ7CiAgICAgW0V4cG9zZWQ9V2luZG93XSByZWFkb25seSBhdHRy
aWJ1dGUgRE9NU3RyaW5nIHZlbmRvcjsKICAgICBbRXhwb3NlZD1XaW5kb3ddIHJlYWRvbmx5IGF0
dHJpYnV0ZSBET01TdHJpbmcgdmVuZG9yU3ViOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IGVl
ODZjY2QwMjYwOTlmMmY3MjA1YWM4ODU1YWI5MDNlMDlhY2NiNDAuLjJjNDY2ZDIzMjZlYWYwNTE1
ZmVmZTBkMWFhYzE4ZWYxNWEzYWJkNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApAQCAtMTIzOCw2ICsx
MjM4LDE3IEBAIGNvbnN0IFN0cmluZyYgUGFnZTo6dXNlclN0eWxlU2hlZXQoKSBjb25zdAogICAg
IHJldHVybiBtX3VzZXJTdHlsZVNoZWV0OwogfQogCit2b2lkIFBhZ2U6OnVzZXJBZ2VudENoYW5n
ZWQoKQoreworICAgIGZvciAoYXV0byogZnJhbWUgPSAmbV9tYWluRnJhbWUuZ2V0KCk7IGZyYW1l
OyBmcmFtZSA9IGZyYW1lLT50cmVlKCkudHJhdmVyc2VOZXh0KCkpIHsKKyAgICAgICAgYXV0byog
d2luZG93ID0gZnJhbWUtPndpbmRvdygpOworICAgICAgICBpZiAoIXdpbmRvdykKKyAgICAgICAg
ICAgIGNvbnRpbnVlOworICAgICAgICBpZiAoYXV0byogbmF2aWdhdG9yID0gd2luZG93LT5vcHRp
b25hbE5hdmlnYXRvcigpKQorICAgICAgICAgICAgbmF2aWdhdG9yLT51c2VyQWdlbnRDaGFuZ2Vk
KCk7CisgICAgfQorfQorCiB2b2lkIFBhZ2U6OmludmFsaWRhdGVTdHlsZXNGb3JBbGxMaW5rcygp
CiB7CiAgICAgZm9yIChGcmFtZSogZnJhbWUgPSAmbV9tYWluRnJhbWUuZ2V0KCk7IGZyYW1lOyBm
cmFtZSA9IGZyYW1lLT50cmVlKCkudHJhdmVyc2VOZXh0KCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGFnZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKaW5kZXgg
ZTA2OTY3NDUwODkzNjBmNjY1ZWUyOWE3NWUwZGFmYzhkYzI5ZDBlZC4uOTE1ZTg0NjExM2E4MWFi
M2I1N2VkYjRhMzA1Y2EwYzMzOTc5N2E4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKQEAgLTQzOSw2ICs0Mzks
OCBAQCBwdWJsaWM6CiAgICAgdm9pZCB1c2VyU3R5bGVTaGVldExvY2F0aW9uQ2hhbmdlZCgpOwog
ICAgIGNvbnN0IFN0cmluZyYgdXNlclN0eWxlU2hlZXQoKSBjb25zdDsKIAorICAgIFdFQkNPUkVf
RVhQT1JUIHZvaWQgdXNlckFnZW50Q2hhbmdlZCgpOworCiAgICAgdm9pZCBkbnNQcmVmZXRjaGlu
Z1N0YXRlQ2hhbmdlZCgpOwogICAgIHZvaWQgc3RvcmFnZUJsb2NraW5nU3RhdGVDaGFuZ2VkKCk7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
Y3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXgg
Nzg3NDkxOThkYTE1NWQxNjljOTlkZmI2ZjNlMTlkY2FmM2JjNzVjYi4uYzIzMmRkOTliMTZjOTA2
YTA2MDM3ZTRmYjY3MmQ3M2QxZmU4OGY4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTI5MDksNyArMjkwOSwxMyBAQCBTdHJpbmcgV2ViUGFn
ZTo6dXNlckFnZW50KFdlYkZyYW1lKiBmcmFtZSwgY29uc3QgVVJMJiB3ZWJjb3JlVVJMKSBjb25z
dAogICAgIAogdm9pZCBXZWJQYWdlOjpzZXRVc2VyQWdlbnQoY29uc3QgU3RyaW5nJiB1c2VyQWdl
bnQpCiB7CisgICAgaWYgKG1fdXNlckFnZW50ID09IHVzZXJBZ2VudCkKKyAgICAgICAgcmV0dXJu
OworCiAgICAgbV91c2VyQWdlbnQgPSB1c2VyQWdlbnQ7CisKKyAgICBpZiAobV9wYWdlKQorICAg
ICAgICBtX3BhZ2UtPnVzZXJBZ2VudENoYW5nZWQoKTsKIH0KIAogdm9pZCBXZWJQYWdlOjpzdXNw
ZW5kQWN0aXZlRE9NT2JqZWN0c0FuZEFuaW1hdGlvbnMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvV2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IDllZGIwZGU3YmQ3YjQ4NzI3OTgzMWU0NGY5Nzg2
NzkwMzA2YzgyNGIuLjgwOGMzYzA5ZGZhZGZmM2MxMjkyYzE1YjI5OWI1OWEwNjJhYTA1NzggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTI3OTUsNyAr
Mjc5NSw3IEBAIC0gKHZvaWQpX3ByZWZlcmVuY2VzQ2hhbmdlZDooV2ViUHJlZmVyZW5jZXMgKilw
cmVmZXJlbmNlcwogeyAgICAKICAgICBBU1NFUlQocHJlZmVyZW5jZXMgPT0gW3NlbGYgcHJlZmVy
ZW5jZXNdKTsKICAgICBpZiAoIV9wcml2YXRlLT51c2VyQWdlbnRPdmVycmlkZGVuKQotICAgICAg
ICBfcHJpdmF0ZS0+dXNlckFnZW50ID0gU3RyaW5nKCk7CisgICAgICAgIFtzZWxmIF9pbnZhbGlk
YXRlVXNlckFnZW50Q2FjaGVdOwogCiAgICAgLy8gQ2FjaGUgdGhpcyB2YWx1ZSBzbyB3ZSBkb24n
dCBoYXZlIHRvIHJlYWQgTlNVc2VyRGVmYXVsdHMgb24gZWFjaCBwYWdlIGxvYWQKICAgICBfcHJp
dmF0ZS0+dXNlU2l0ZVNwZWNpZmljU3Bvb2ZpbmcgPSBbcHJlZmVyZW5jZXMgX3VzZVNpdGVTcGVj
aWZpY1Nwb29maW5nXTsKQEAgLTY1ODAsNyArNjU4MCwxNyBAQCAtICh2b2lkKXNldEFwcGxpY2F0
aW9uTmFtZUZvclVzZXJBZ2VudDooTlNTdHJpbmcgKilhcHBsaWNhdGlvbk5hbWUKICAgICBbX3By
aXZhdGUtPmFwcGxpY2F0aW9uTmFtZUZvclVzZXJBZ2VudCByZWxlYXNlXTsKICAgICBfcHJpdmF0
ZS0+YXBwbGljYXRpb25OYW1lRm9yVXNlckFnZW50ID0gbmFtZTsKICAgICBpZiAoIV9wcml2YXRl
LT51c2VyQWdlbnRPdmVycmlkZGVuKQotICAgICAgICBfcHJpdmF0ZS0+dXNlckFnZW50ID0gU3Ry
aW5nKCk7CisgICAgICAgIFtzZWxmIF9pbnZhbGlkYXRlVXNlckFnZW50Q2FjaGVdOworfQorCist
ICh2b2lkKV9pbnZhbGlkYXRlVXNlckFnZW50Q2FjaGUKK3sKKyAgICBpZiAoX3ByaXZhdGUtPnVz
ZXJBZ2VudC5pc051bGwoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgX3ByaXZhdGUtPnVzZXJB
Z2VudCA9IFN0cmluZygpOworICAgIGlmIChfcHJpdmF0ZS0+cGFnZSkKKyAgICAgICAgX3ByaXZh
dGUtPnBhZ2UtPnVzZXJBZ2VudENoYW5nZWQoKTsKIH0KIAogLSAoTlNTdHJpbmcgKilhcHBsaWNh
dGlvbk5hbWVGb3JVc2VyQWdlbnQKQEAgLTY1OTAsNiArNjYwMCw3IEBAIC0gKE5TU3RyaW5nICop
YXBwbGljYXRpb25OYW1lRm9yVXNlckFnZW50CiAKIC0gKHZvaWQpc2V0Q3VzdG9tVXNlckFnZW50
OihOU1N0cmluZyAqKXVzZXJBZ2VudFN0cmluZwogeworICAgIFtzZWxmIF9pbnZhbGlkYXRlVXNl
ckFnZW50Q2FjaGVdOwogICAgIF9wcml2YXRlLT51c2VyQWdlbnQgPSB1c2VyQWdlbnRTdHJpbmc7
CiAgICAgX3ByaXZhdGUtPnVzZXJBZ2VudE92ZXJyaWRkZW4gPSB1c2VyQWdlbnRTdHJpbmcgIT0g
bmlsOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJW
aWV3SW50ZXJuYWwuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlld0lu
dGVybmFsLmgKaW5kZXggYzM5NGE4ZjkxZDQzMDk0MWY2NDYxZGRkOWJlNjY4NjYzNGM2NDJhYy4u
OTBmYTM4NzcwODU5ZWYxZThiYWNmZmFjNDJmY2MxMGEwNWU1NDk5YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3SW50ZXJuYWwuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXdJbnRlcm5hbC5oCkBAIC0yNjcsNiAr
MjY3LDcgQEAgT0JKQ19DTEFTUyBOU1RleHRBbHRlcm5hdGl2ZXM7CiAjZW5kaWYKIAogLSAodm9p
ZClfcHJlZmVyZW5jZXNDaGFuZ2VkOihXZWJQcmVmZXJlbmNlcyAqKXByZWZlcmVuY2VzOworLSAo
dm9pZClfaW52YWxpZGF0ZVVzZXJBZ2VudENhY2hlOwogCiAjaWYgRU5BQkxFKFZJREVPKSAmJiBk
ZWZpbmVkKF9fY3BsdXNwbHVzKQogLSAodm9pZClfZW50ZXJWaWRlb0Z1bGxzY3JlZW5Gb3JWaWRl
b0VsZW1lbnQ6KFdlYkNvcmU6OkhUTUxWaWRlb0VsZW1lbnQqKXZpZGVvRWxlbWVudCBtb2RlOihX
ZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGUpbW9kZTsK
ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA4ODE2
MjE3OThmZDkxNTYzOWFjNzRjNTM1Yjk3MzU5YjVmNTE1ZGJjLi5jNGUyNDBhMWIzODYxZDc4NTM1
MmQ1ODZjZDU4YjFmN2JiZDY3YjhmIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTgtMDctMjUgIENocmlzIER1bWV6
ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBuYXZpZ2F0b3IudXNlckFnZW50IG1heSBy
ZXR1cm4gb3V0ZGF0ZWQgdmFsdWUgYWZ0ZXIgd2ViVmlldy5jdXN0b21Vc2VyQWdlbnQgaXMgc2V0
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODgwMDkK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQyNTY2NDU2PgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBBUEkgdGVzdCBjb3ZlcmFnZS4KKworICAg
ICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvQ3VzdG9tVXNl
ckFnZW50Lm1tOiBBZGRlZC4KKyAgICAgICAgKFRFU1QpOgorCiAyMDE4LTA3LTI1ICBDaGFybGll
IFR1cm5lciAgPGN0dXJuZXJAaWdhbGlhLmNvbT4KIAogICAgICAgICBbRmxhdHBha10gUGFzcyBt
b3JlIGVudmlyb25tZW50IHZhcmlhYmxlcyB0byBzYW5kYm94CmRpZmYgLS1naXQgYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CmluZGV4IDI5ZDk0MmIxZTc5MTI0YmEwMDliZjdmZTJhZTVlZTM0OWMyZmRlYjUuLmFmN2I1NTRh
ZjI0YTY3MjQyZGZmOGM4NzdhZjkyYjU1ZDU3YzU5OWQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CkBAIC0xNjAsNiArMTYwLDcgQEAKIAkJNDYzOTdCOTUxREMyQzg1MDAwOUE3OEFFIC8qIERPTU5v
ZGUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NjM5
N0I5NDFEQzJDODUwMDA5QTc4QUUgLyogRE9NTm9kZS5tbSAqLzsgfTsKIAkJNDY0N0IxMjYxRUJB
M0I4NTAwNDFEN0VGIC8qIFByb2Nlc3NEaWRUZXJtaW5hdGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDY0N0IxMjUxRUJBM0I3MzAwNDFEN0VGIC8q
IFByb2Nlc3NEaWRUZXJtaW5hdGUuY3BwICovOyB9OwogCQk0NjZDMzg0MzIxMDYzN0RFMDA2QTg4
REUgLyogbm90aWZ5LXJlc291cmNlTG9hZE9ic2VydmVyLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDY2QzM4NDIyMTA2MzdDRTAwNkE4
OERFIC8qIG5vdGlmeS1yZXNvdXJjZUxvYWRPYnNlcnZlci5odG1sICovOyB9OworCQk0NkE5MTE1
OTIxMDhFNjc4MDA3OEQ0MEQgLyogQ3VzdG9tVXNlckFnZW50Lm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZBOTExNTgyMTA4RTY2QjAwNzhENDBEIC8q
IEN1c3RvbVVzZXJBZ2VudC5tbSAqLzsgfTsKIAkJNDZBRTVBMzcyMEY5MDY2RDAwRTA4NzNFIC8q
IFNpbXBsZVNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25zLTMuc3FsaXRlMyBpbiBDb3B5IFJlc291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NjU2QTc1NzIwRjkwNTRG
MDAwMkUyMUYgLyogU2ltcGxlU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbnMtMy5zcWxpdGUzICov
OyB9OwogCQk0NkM1MTlEQTFEMzU1QUIyMDBEQUE1MUEgLyogTG9jYWxTdG9yYWdlTnVsbEVudHJp
ZXMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkM1
MTlEODFEMzU1QTczMDBEQUE1MUEgLyogTG9jYWxTdG9yYWdlTnVsbEVudHJpZXMubW0gKi87IH07
CiAJCTQ2QzUxOUU2MUQzNTYzRkQwMERBQTUxQSAvKiBMb2NhbFN0b3JhZ2VOdWxsRW50cmllcy5o
dG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQ2QzUxOUUyMUQzNTYyOTYwMERBQTUxQSAvKiBMb2NhbFN0b3JhZ2VOdWxsRW50cmllcy5odG1s
ICovOyB9OwpAQCAtMTQwMSw2ICsxNDAyLDcgQEAKIAkJNDY0N0IxMjUxRUJBM0I3MzAwNDFEN0VG
IC8qIFByb2Nlc3NEaWRUZXJtaW5hdGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gUHJvY2Vzc0RpZFRlcm1pbmF0ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTQ2NTZBNzU3MjBGOTA1NEYwMDAyRTIxRiAvKiBTaW1wbGVTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9ucy0zLnNxbGl0ZTMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBmaWxlOyBwYXRoID0gIlNpbXBsZVNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25zLTMuc3FsaXRlMyI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2NkMzODQyMjEw
NjM3Q0UwMDZBODhERSAvKiBub3RpZnktcmVzb3VyY2VMb2FkT2JzZXJ2ZXIuaHRtbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJub3RpZnktcmVzb3VyY2VMb2FkT2JzZXJ2ZXIuaHRtbCI7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ2QTkxMTU4MjEwOEU2NkIwMDc4RDQwRCAv
KiBDdXN0b21Vc2VyQWdlbnQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBDdXN0b21Vc2VyQWdlbnQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2
QzUxOUQ4MUQzNTVBNzMwMERBQTUxQSAvKiBMb2NhbFN0b3JhZ2VOdWxsRW50cmllcy5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IExvY2FsU3RvcmFnZU51bGxFbnRy
aWVzLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NkM1MTlFMjFEMzU2Mjk2MDBE
QUE1MUEgLyogTG9jYWxTdG9yYWdlTnVsbEVudHJpZXMuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRt
bDsgcGF0aCA9IExvY2FsU3RvcmFnZU51bGxFbnRyaWVzLmh0bWw7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTQ2QzUxOUUzMUQzNTYyOTYwMERBQTUxQSAvKiBMb2NhbFN0b3JhZ2VOdWxs
RW50cmllcy5sb2NhbHN0b3JhZ2UgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBmaWxlOyBwYXRoID0gTG9jYWxTdG9yYWdlTnVsbEVudHJpZXMubG9jYWxz
dG9yYWdlOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjI1NSw2ICsyMjU3LDcgQEAK
IAkJCQk5QjEwNTY0MTFGOTA0NUM3MDBENTU4M0YgLyogQ29weUhUTUwubW0gKi8sCiAJCQkJOTk5
OTEwOEExRjM5M0M4QjAwOEFENDU1IC8qIENvcHlpbmcubW0gKi8sCiAJCQkJOUI3QTM3QzIxRjhB
RUJBNTAwNEFBMjI4IC8qIENvcHlVUkwubW0gKi8sCisJCQkJNDZBOTExNTgyMTA4RTY2QjAwNzhE
NDBEIC8qIEN1c3RvbVVzZXJBZ2VudC5tbSAqLywKIAkJCQkyREM0Q0Y3NjFEMkQ5REQ4MDBFQ0ND
OTQgLyogRGF0YURldGVjdGlvbi5tbSAqLywKIAkJCQk1MThFRTUxQzIwQTc4RDMzMDBFMDI0RjMg
LyogRGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbi5tbSAqLywKIAkJCQlDRUE3RjU3QjIw
ODk1RjVCMDA3OEVGNkUgLyogRGlkUmVzaWduSW5wdXRFbGVtZW50U3Ryb25nUGFzc3dvcmRBcHBl
YXJhbmNlLm1tICovLApAQCAtMzYzOSw2ICszNjQyLDcgQEAKIAkJCQk3Q0NFN0YyOTFBNDExQjEw
MDA0NDdDNEMgLyogQ3VzdG9tUHJvdG9jb2xzSW52YWxpZFNjaGVtZS5tbSBpbiBTb3VyY2VzICov
LAogCQkJCTdDQ0U3RjJBMUE0MTFCMTAwMDQ0N0M0QyAvKiBDdXN0b21Qcm90b2NvbHNTeW5jWEhS
VGVzdC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTdDQ0U3RjJCMUE0MTFCMTAwMDQ0N0M0QyAvKiBD
dXN0b21Qcm90b2NvbHNUZXN0Lm1tIGluIFNvdXJjZXMgKi8sCisJCQkJNDZBOTExNTkyMTA4RTY3
ODAwNzhENDBEIC8qIEN1c3RvbVVzZXJBZ2VudC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTc1MUIw
NUQ2MUY4RUFDNDEwMDI4QTA5RSAvKiBEYXRhYmFzZVRyYWNrZXJUZXN0Lm1tIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMkRDNENGNzcxRDJEOUREODAwRUNDQzk0IC8qIERhdGFEZXRlY3Rpb24ubW0gaW4g
U291cmNlcyAqLywKIAkJCQlGNEQ0RjNCNjFFNEUyQkNCMDBCQjI3NjcgLyogRGF0YUludGVyYWN0
aW9uU2ltdWxhdG9yLm1tIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0N1c3RvbVVzZXJBZ2VudC5tbSBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvQ3VzdG9tVXNlckFnZW50Lm1tCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5ODdiMmIyNzEwMTgyYTU0MDg5Yjg1ODk0ODQ4MzVhOThlZjJhODEKLS0tIC9kZXYvbnVsbAor
KysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0N1c3RvbVVzZXJBZ2Vu
dC5tbQpAQCAtMCwwICsxLDY4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
CisjaWYgV0tfQVBJX0VOQUJMRUQKKworI2ltcG9ydCAiUGxhdGZvcm1VdGlsaXRpZXMuaCIKKyNp
bXBvcnQgIlRlc3ROYXZpZ2F0aW9uRGVsZWdhdGUuaCIKKyNpbXBvcnQgPFdlYktpdC9XZWJLaXQu
aD4KKyNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KKworc3RhdGljIGJvb2wgZG9uZSA9IGZhbHNl
OworCitURVNUKEN1c3RvbVVzZXJBZ2VudCwgVXBkYXRlQ2FjaGVkTmF2aWdhdG9yVXNlckFnZW50
KQoreworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tXS1dlYlZpZXcgYWxsb2NdIGluaXRX
aXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA4MDAsIDYwMCldKTsKKyAgICBbd2ViVmlldyBsb2Fk
UmVxdWVzdDpbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5n
OkAiYWJvdXQ6YmxhbmsiXV1dOworCisgICAgW3dlYlZpZXcgX3Rlc3Rfd2FpdEZvckRpZEZpbmlz
aE5hdmlnYXRpb25dOworCisgICAgLy8gUXVlcnkgbmF2aWdhdG9yLnVzZXJBZ2VudCBvbmNlIHNv
IGl0IGdldHMgY2FjaGVkLgorICAgIFt3ZWJWaWV3IGV2YWx1YXRlSmF2YVNjcmlwdDpAIm5hdmln
YXRvci51c2VyQWdlbnQ7IiBjb21wbGV0aW9uSGFuZGxlcjpeKGlkIF9OdWxsYWJsZSByZXNwb25z
ZSwgTlNFcnJvciAqIF9OdWxsYWJsZSBlcnJvcikgeworICAgICAgICBBU1NFUlRfVFJVRSghZXJy
b3IpOworICAgICAgICBOU1N0cmluZyAqdXNlckFnZW50ID0gKE5TU3RyaW5nICopcmVzcG9uc2U7
CisgICAgICAgIEFTU0VSVF9UUlVFKCEhdXNlckFnZW50KTsKKyAgICAgICAgLy8gT3ZlcnJpZGUg
dXNlciBhZ2VudCB3aXRoIGEgY3VzdG9tIG9uZS4KKyAgICAgICAgd2ViVmlldy5nZXQoKS5jdXN0
b21Vc2VyQWdlbnQgPSBAIkN1c3RvbSBVc2VyQWdlbnQiOworICAgICAgICBkb25lID0gdHJ1ZTsK
KyAgICB9XTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOworICAgIGRvbmUg
PSBmYWxzZTsKKworICAgIC8vIFF1ZXJ5IG5hdmlnYXRvci51c2VyQWdlbnQgYWdhaW4gdG8gbWFr
ZSBzdXJlIGl0cyBjYWNoZSB3YXMgaW52YWxpZGF0ZWQgYW5kIGl0IHJldHVybnMgdGhlIHVwZGF0
ZWQgdmFsdWUuCisgICAgW3dlYlZpZXcgZXZhbHVhdGVKYXZhU2NyaXB0OkAibmF2aWdhdG9yLnVz
ZXJBZ2VudDsiIGNvbXBsZXRpb25IYW5kbGVyOl4oaWQgX051bGxhYmxlIHJlc3BvbnNlLCBOU0Vy
cm9yICogX051bGxhYmxlIGVycm9yKSB7CisgICAgICAgIEFTU0VSVF9UUlVFKCFlcnJvcik7Cisg
ICAgICAgIE5TU3RyaW5nICp1c2VyQWdlbnQgPSAoTlNTdHJpbmcgKilyZXNwb25zZTsKKyAgICAg
ICAgQVNTRVJUX1RSVUUoISF1c2VyQWdlbnQpOworICAgICAgICBFWFBFQ1RfV0tfU1RSRVEoQCJD
dXN0b20gVXNlckFnZW50IiwgdXNlckFnZW50KTsKKyAgICAgICAgZG9uZSA9IHRydWU7CisgICAg
fV07CisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKKyAgICBkb25lID0gZmFs
c2U7Cit9CisKKyNlbmRpZiAvLyBXS19BUElfRU5BQkxFRAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>