<?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>215132</bug_id>
          
          <creation_ts>2020-08-04 11:36:19 -0700</creation_ts>
          <short_desc>Update event regions only once per frame</short_desc>
          <delta_ts>2020-08-05 09:37:18 -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>Compositing</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>glenn</cc>
    
    <cc>kangil.han</cc>
    
    <cc>koivisto</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pdr</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1677676</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-08-04 11:36:19 -0700</bug_when>
    <thetext>Update event regions only once per frame</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1677678</commentid>
    <comment_count>1</comment_count>
      <attachid>405933</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-08-04 11:42:42 -0700</bug_when>
    <thetext>Created attachment 405933
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1677679</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-08-04 11:42:45 -0700</bug_when>
    <thetext>&lt;rdar://problem/66533779&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1677700</commentid>
    <comment_count>3</comment_count>
      <attachid>405933</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-08-04 12:46:05 -0700</bug_when>
    <thetext>Comment on attachment 405933
Patch

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

&gt; Source/WebCore/dom/Document.cpp:4296
&gt; +#if ENABLE(IOS_TOUCH_EVENTS)
&gt; +    // updateTouchEventRegions() needs to be called only on the top document.
&gt; +    if (this == &amp;topDocument())
&gt; +        updateTouchEventRegions();
&gt; +#endif

Seems wrong to iterate all documents and call this, and then have each document check if it’s the top one. Could we just move this back outside the iteration?

&gt; Source/WebCore/dom/Document.h:1134
&gt; +    void updateEventRegions();

Does this really need to be a member function? Seems like we could put this in the Page and maybe in RenderView and not add a function here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1677728</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-08-04 14:32:59 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #3)
&gt; Comment on attachment 405933 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=405933&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/dom/Document.cpp:4296
&gt; &gt; +#if ENABLE(IOS_TOUCH_EVENTS)
&gt; &gt; +    // updateTouchEventRegions() needs to be called only on the top document.
&gt; &gt; +    if (this == &amp;topDocument())
&gt; &gt; +        updateTouchEventRegions();
&gt; &gt; +#endif
&gt; 
&gt; Seems wrong to iterate all documents and call this, and then have each
&gt; document check if it’s the top one. Could we just move this back outside the
&gt; iteration?

That looks much messier at the call site; I&apos;d have to add a &quot;if (this == &amp;topDocument()) return&quot; there.


&gt; &gt; Source/WebCore/dom/Document.h:1134
&gt; &gt; +    void updateEventRegions();
&gt; 
&gt; Does this really need to be a member function? Seems like we could put this
&gt; in the Page and maybe in RenderView and not add a function here.

The pattern in Page::updateRendering is to talk to each document. I think it&apos;s worthwhile for this function to exist here. Also, touch event code stores data on the document.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1677729</commentid>
    <comment_count>5</comment_count>
      <attachid>405933</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-08-04 14:34:50 -0700</bug_when>
    <thetext>Comment on attachment 405933
Patch

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

&gt;&gt;&gt; Source/WebCore/dom/Document.cpp:4296
&gt;&gt;&gt; +#endif
&gt;&gt; 
&gt;&gt; Seems wrong to iterate all documents and call this, and then have each document check if it’s the top one. Could we just move this back outside the iteration?
&gt; 
&gt; That looks much messier at the call site; I&apos;d have to add a &quot;if (this == &amp;topDocument()) return&quot; there.

Why would you?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1677731</commentid>
    <comment_count>6</comment_count>
      <attachid>405933</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-08-04 14:35:24 -0700</bug_when>
    <thetext>Comment on attachment 405933
Patch

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

&gt; Source/WebCore/page/Page.cpp:1549
&gt; -#if ENABLE(IOS_TOUCH_EVENTS)
&gt; -    // updateTouchEventRegions() needs to be called only on the top document.
&gt; -    if (RefPtr&lt;Document&gt; document = mainFrame().document())
&gt; -        document-&gt;updateTouchEventRegions();
&gt; -#endif
&gt; +    forEachDocument([] (Document&amp; document) {
&gt; +        document.updateEventRegions();
&gt; +    });

Just leave the old code and add the new code here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1677763</commentid>
    <comment_count>7</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-08-04 15:15:43 -0700</bug_when>
    <thetext>Because forEachDocument() will also hit the main document.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1677764</commentid>
    <comment_count>8</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-08-04 15:16:25 -0700</bug_when>
    <thetext>... and I want Document::updateEventRegions() to update touch event regions. That code will go away at some point.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1677765</commentid>
    <comment_count>9</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-08-04 15:17:56 -0700</bug_when>
    <thetext>Eh, I can revert that bit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1677877</commentid>
    <comment_count>10</comment_count>
      <attachid>405982</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-08-04 21:08:47 -0700</bug_when>
    <thetext>Created attachment 405982
For EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1677888</commentid>
    <comment_count>11</comment_count>
      <attachid>405987</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-08-04 22:34:17 -0700</bug_when>
    <thetext>Created attachment 405987
For EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1677962</commentid>
    <comment_count>12</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-08-05 09:37:18 -0700</bug_when>
    <thetext>https://trac.webkit.org/changeset/265289/webkit</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405933</attachid>
            <date>2020-08-04 11:42:42 -0700</date>
            <delta_ts>2020-08-04 12:46:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215132-20200804114241.patch</filename>
            <type>text/plain</type>
            <size>10626</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1MjAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTBmOGExYWMxZmI2OTRm
NjBjYWUxYWMwODZmMWUxYzRkODM1MjgxNi4uODcxNTc3MDVmMTQxZDYyMDQ5ODljMDlmYTdjNzUy
ZDdkMjUxMjlmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDIwLTA4LTA0ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFVwZGF0ZSBldmVu
dCByZWdpb25zIG9ubHkgb25jZSBwZXIgZnJhbWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNTEzMgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjY1
MzM3Nzk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
RXZlbnQgcmVnaW9ucyAoZm9yIHRvdWNoLWFjdGlvbiwgZWRpdGFibGUgYXJlYXMgZXRjKSB3ZXJl
IHVwZGF0ZWQgYXMgcGFydCBvZgorICAgICAgICBjb21wb3NpdGluZyB1cGRhdGVzLCBidXQgd2Ug
b25seSBuZWVkIHRoZWlyIG91dHB1dCBvbmNlIHBlciByZW5kZXJpbmcgdXBkYXRlLCBzbworICAg
ICAgICBtb3ZlIHRoZWlyIGNvbXB1dGF0aW9uIG91dCBvZiBSZW5kZXJMYXllckNvbXBvc2l0b3I6
OnVwZGF0ZUJhY2tpbmdBbmRIaWVyYXJjaHkoKSAKKyAgICAgICAgYW5kIGludG8gYSBuZXcgUmVu
ZGVyTGF5ZXIgdHJlZSB3YWxrIHRoYXQgaXMgY2FsbGVkIGZyb20gUGFnZTo6ZG9BZnRlclVwZGF0
ZVJlbmRlcmluZygpLgorCisgICAgICAgIFJlbmRlckxheWVyQmFja2luZyBzdG9yZXMgYSBkaXJ0
eSBiaXQgdG8gdHJhY2sgd2hlbiByZWdpb25zIG5lZWQgdG8gYmUgdXBkYXRlZC4KKworICAgICAg
ICBSZWR1Y2VzIHRoZSBhbW91bnQgb2YgdGltZSBzcGVudCBpbiByZW5kZXJpbmcgdXBkYXRlcyB3
aGVuIHNjcm9sbGluZyBvbiBmYWNlYm9vay5jb20KKyAgICAgICAgb24gaVBhZCwgd2hpY2ggaGFz
IGxvdHMgb2YgZGlzY29udGlndW91cyB0b3VjaC1hY3Rpb24gcmVnaW9ucy4KKworICAgICAgICAq
IGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6dXBkYXRlRXZl
bnRSZWdpb25zKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKiBwYWdlL0Zy
YW1lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lOjpsYXllclRyZWVBc1RleHQgY29uc3Qp
OgorICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjpkb0Fm
dGVyVXBkYXRlUmVuZGVyaW5nKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmNhbGN1bGF0ZUNsaXBSZWN0cyBjb25z
dCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6Om1haW50YWluc0V2ZW50UmVnaW9uIGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlRXZlbnRSZWdp
b24pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuaDoKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6dXBkYXRlRXZlbnRSZWdpb25zKToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6dXBkYXRlQmFja2luZ0FuZEhpZXJhcmNoeSk6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oOgorCiAyMDIwLTA4
LTAzICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIG1f
aXNFZGl0YWJsZVJlZ2lvbkVuYWJsZWQgc2hvdWxkIGJlIHJlc2V0IGluIGRpZENvbW1pdExvYWQs
IG5vdCBkaWRGaW5pc2hMb2FkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCA0N2I0N2IzMjRl
ZGIzYWVkNzVmNjIzMmEzNzAzY2Y5YTRiNmI0NGYwLi4wNzRhOWMzZjUyY2RkOTZmM2Q2ZTFjNTYw
ZTc2MmYxNDhhMzZkNmM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTQyODcsNiArNDI4
NywyMCBAQCB2b2lkIERvY3VtZW50OjplbGVtZW50SW5BY3RpdmVDaGFpbkRpZERldGFjaChFbGVt
ZW50JiBlbGVtZW50KQogICAgICAgICBtX2FjdGl2ZUVsZW1lbnQgPSBtX2FjdGl2ZUVsZW1lbnQt
PnBhcmVudEVsZW1lbnQoKTsKIH0KIAordm9pZCBEb2N1bWVudDo6dXBkYXRlRXZlbnRSZWdpb25z
KCkKK3sKKyNpZiBFTkFCTEUoSU9TX1RPVUNIX0VWRU5UUykKKyAgICAvLyB1cGRhdGVUb3VjaEV2
ZW50UmVnaW9ucygpIG5lZWRzIHRvIGJlIGNhbGxlZCBvbmx5IG9uIHRoZSB0b3AgZG9jdW1lbnQu
CisgICAgaWYgKHRoaXMgPT0gJnRvcERvY3VtZW50KCkpCisgICAgICAgIHVwZGF0ZVRvdWNoRXZl
bnRSZWdpb25zKCk7CisjZW5kaWYKKworICAgIGlmIChhdXRvKiB2aWV3ID0gcmVuZGVyVmlldygp
KSB7CisgICAgICAgIGlmICh2aWV3LT51c2VzQ29tcG9zaXRpbmcoKSkKKyAgICAgICAgICAgIHZp
ZXctPmNvbXBvc2l0b3IoKS51cGRhdGVFdmVudFJlZ2lvbnMoKTsKKyAgICB9Cit9CisKIHZvaWQg
RG9jdW1lbnQ6OmludmFsaWRhdGVFdmVudFJlZ2lvbnNGb3JGcmFtZShIVE1MRnJhbWVPd25lckVs
ZW1lbnQmIGVsZW1lbnQpCiB7CiAgICAgYXV0byogcmVuZGVyZXIgPSBlbGVtZW50LnJlbmRlcmVy
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IDZiMGM1ZDkzNjYyZmY1MjEyMThmOGFlMmQ3ZDdm
ZGQ4YmNmMDJlOGQuLjQxYzlmZWM2MWUyOGJhYzM4N2NjYzdiOWIzM2Y1ZmQwZDhmMzQxZTIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0xMTMxLDYgKzExMzEsOCBAQCBwdWJsaWM6CiAKICAgICBX
RUJDT1JFX0VYUE9SVCBTdHJpbmcgZGlzcGxheVN0cmluZ01vZGlmaWVkQnlFbmNvZGluZyhjb25z
dCBTdHJpbmcmKSBjb25zdDsKIAorICAgIHZvaWQgdXBkYXRlRXZlbnRSZWdpb25zKCk7CisKICAg
ICB2b2lkIGludmFsaWRhdGVSZW5kZXJpbmdEZXBlbmRlbnRSZWdpb25zKCk7CiAgICAgdm9pZCBp
bnZhbGlkYXRlRXZlbnRSZWdpb25zRm9yRnJhbWUoSFRNTEZyYW1lT3duZXJFbGVtZW50Jik7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9GcmFtZS5jcHAKaW5kZXggODk3ZmYwNDNkM2MzNzQ1NmRiYjUwNDA2Y2RmMGNmYzhk
NzhjOTA5Mi4uY2IyMWU5NjE2OWNkMjhmYzhlMzlmMDQwMDdhNjNjYmVlN2EwMjA1MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9GcmFtZS5jcHAKQEAgLTg5OSw2ICs4OTksMTMgQEAgU3RyaW5nIEZyYW1lOjpsYXllclRy
ZWVBc1RleHQoTGF5ZXJUcmVlRmxhZ3MgZmxhZ3MpIGNvbnN0CiAgICAgaWYgKCFjb250ZW50UmVu
ZGVyZXIoKSkKICAgICAgICAgcmV0dXJuIHsgfTsKIAorICAgIGNvbnRlbnRSZW5kZXJlcigpLT5j
b21wb3NpdG9yKCkudXBkYXRlRXZlbnRSZWdpb25zKCk7CisKKyAgICBmb3IgKGF1dG8qIGNoaWxk
ID0gbWFpbkZyYW1lKCkudHJlZSgpLmZpcnN0UmVuZGVyZWRDaGlsZCgpOyBjaGlsZDsgY2hpbGQg
PSBjaGlsZC0+dHJlZSgpLnRyYXZlcnNlTmV4dFJlbmRlcmVkKCkpIHsKKyAgICAgICAgaWYgKGF1
dG8qIHJlbmRlcmVyID0gY2hpbGQtPmNvbnRlbnRSZW5kZXJlcigpKQorICAgICAgICAgICAgcmVu
ZGVyZXItPmNvbXBvc2l0b3IoKS51cGRhdGVFdmVudFJlZ2lvbnMoKTsKKyAgICB9CisKICAgICBy
ZXR1cm4gY29udGVudFJlbmRlcmVyKCktPmNvbXBvc2l0b3IoKS5sYXllclRyZWVBc1RleHQoZmxh
Z3MpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAppbmRleCAwNmNlODg4YzY5MjQwNGM5NjYxYWU3MDg3
NzllMDgzM2RmYTllZGEzLi5kYzBmNTkyZTE5YmI4ZmE3ZGQ3OTliZTNlMjc5MWRiMzY3ZTcwMjUx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGFnZS5jcHAKQEAgLTE1NDQsMTEgKzE1NDQsOSBAQCB2b2lkIFBhZ2U6OmRv
QWZ0ZXJVcGRhdGVSZW5kZXJpbmcoKQogICAgIH0pOwogI2VuZGlmCiAKLSNpZiBFTkFCTEUoSU9T
X1RPVUNIX0VWRU5UUykKLSAgICAvLyB1cGRhdGVUb3VjaEV2ZW50UmVnaW9ucygpIG5lZWRzIHRv
IGJlIGNhbGxlZCBvbmx5IG9uIHRoZSB0b3AgZG9jdW1lbnQuCi0gICAgaWYgKFJlZlB0cjxEb2N1
bWVudD4gZG9jdW1lbnQgPSBtYWluRnJhbWUoKS5kb2N1bWVudCgpKQotICAgICAgICBkb2N1bWVu
dC0+dXBkYXRlVG91Y2hFdmVudFJlZ2lvbnMoKTsKLSNlbmRpZgorICAgIGZvckVhY2hEb2N1bWVu
dChbXSAoRG9jdW1lbnQmIGRvY3VtZW50KSB7CisgICAgICAgIGRvY3VtZW50LnVwZGF0ZUV2ZW50
UmVnaW9ucygpOworICAgIH0pOwogCiAgICAgRGVidWdQYWdlT3ZlcmxheXM6OmRvQWZ0ZXJVcGRh
dGVSZW5kZXJpbmcoKnRoaXMpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
LmNwcAppbmRleCBjNmNiNDIzMjU1YjMyZDQ1OTdhZWQ2YTg1NWJhMWU5NjgzY2IwNzQ4Li4xYWVk
NDcxNWY0ZWMzM2Y0Y2M1N2M5NWU5YmQ4MzU4YjE2MDkzN2UxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTcwNDksNyArNzA0OSw3IEBAIGJvb2wgUmVuZGVy
TGF5ZXI6OmludmFsaWRhdGVFdmVudFJlZ2lvbihFdmVudFJlZ2lvbkludmFsaWRhdGlvblJlYXNv
biByZWFzb24pCiAKICAgICBMT0dfV0lUSF9TVFJFQU0oRXZlbnRSZWdpb25zLCBzdHJlYW0gPDwg
dGhpcyA8PCAiIGludmFsaWRhdGVFdmVudFJlZ2lvbiBmb3IgcmVhc29uICIgPDwgcmVhc29uIDw8
ICIgaW52YWxpZGF0aW5nIGluIGNvbXBvc2l0aW5nIGxheWVyICIgPDwgY29tcG9zaXRpbmdMYXll
cik7CiAKLSAgICBjb21wb3NpdGluZ0xheWVyLT5zZXROZWVkc0NvbXBvc2l0aW5nQ29uZmlndXJh
dGlvblVwZGF0ZSgpOworICAgIGNvbXBvc2l0aW5nTGF5ZXItPmJhY2tpbmcoKS0+c2V0TmVlZHNF
dmVudFJlZ2lvblVwZGF0ZSgpOwogCiAgICAgaWYgKHJlYXNvbiA9PSBFdmVudFJlZ2lvbkludmFs
aWRhdGlvblJlYXNvbjo6Tm9uQ29tcG9zaXRlZEZyYW1lKSB7CiAgICAgICAgIGF1dG8mIHZpZXcg
PSByZW5kZXJlcigpLnZpZXcoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllckJhY2tpbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyQmFja2luZy5jcHAKaW5kZXggNDgwOWFkMTI1NDUxMDUyYTY5YTQ5M2I5NmQyNjI3ZTYw
NDJmYWQ1NS4uNTE5ZDM2MTA3ODA4ZTM2MmY3YzA0MGY0Mjc4Yzg4M2EyZjM5MDYxZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKQEAgLTE3
MDgsNiArMTcwOCw3IEBAIGJvb2wgUmVuZGVyTGF5ZXJCYWNraW5nOjptYWludGFpbnNFdmVudFJl
Z2lvbigpIGNvbnN0CiAgICAgICAgIHJldHVybiB0cnVlOwogI2VuZGlmCiAjaWYgRU5BQkxFKEVE
SVRBQkxFX1JFR0lPTikKKyAgICBMT0dfV0lUSF9TVFJFQU0oRXZlbnRSZWdpb25zLCBzdHJlYW0g
PDwgIlJlbmRlckxheWVyQmFja2luZzogIiA8PCB0aGlzIDw8ICIgbWFpbnRhaW5zRXZlbnRSZWdp
b24gLSBtYXlIYXZlRWRpdGFibGVFbGVtZW50czogIiA8PCByZW5kZXJlcigpLmRvY3VtZW50KCku
bWF5SGF2ZUVkaXRhYmxlRWxlbWVudHMoKSA8PCAiIHNob3VsZEJ1aWxkRWRpdGFibGVSZWdpb246
ICIgPDwgcmVuZGVyZXIoKS5wYWdlKCkuc2hvdWxkQnVpbGRFZGl0YWJsZVJlZ2lvbigpKTsKICAg
ICBpZiAocmVuZGVyZXIoKS5kb2N1bWVudCgpLm1heUhhdmVFZGl0YWJsZUVsZW1lbnRzKCkgJiYg
cmVuZGVyZXIoKS5wYWdlKCkuc2hvdWxkQnVpbGRFZGl0YWJsZVJlZ2lvbigpKQogICAgICAgICBy
ZXR1cm4gdHJ1ZTsKICNlbmRpZgpAQCAtMTcyNywxMCArMTcyOCwxMyBAQCBib29sIFJlbmRlckxh
eWVyQmFja2luZzo6bWFpbnRhaW5zRXZlbnRSZWdpb24oKSBjb25zdAogCiB2b2lkIFJlbmRlckxh
eWVyQmFja2luZzo6dXBkYXRlRXZlbnRSZWdpb24oKQogeworICAgIExPR19XSVRIX1NUUkVBTShF
dmVudFJlZ2lvbnMsIHN0cmVhbSA8PCBtX293bmluZ0xheWVyIDw8ICIgIiA8PCB0aGlzIDw8ICIg
dXBkYXRlRXZlbnRSZWdpb24gKG5lZWRzIHVwZGF0ZTogIiA8PCBuZWVkc0V2ZW50UmVnaW9uVXBk
YXRlKCkgPDwgIiwgbWFpbnRhaW5zRXZlbnRSZWdpb246ICIgPDwgbWFpbnRhaW5zRXZlbnRSZWdp
b24oKSA8PCAiKSIpOworCiAgICAgaWYgKCFtYWludGFpbnNFdmVudFJlZ2lvbigpKQogICAgICAg
ICByZXR1cm47CiAKLSAgICBMT0dfV0lUSF9TVFJFQU0oRXZlbnRSZWdpb25zLCBzdHJlYW0gPDwg
IlJlbmRlckxheWVyQmFja2luZyAiIDw8ICp0aGlzIDw8ICIgdXBkYXRlRXZlbnRSZWdpb24iKTsK
KyAgICBpZiAoIW5lZWRzRXZlbnRSZWdpb25VcGRhdGUoKSkKKyAgICAgICAgcmV0dXJuOwogCiAg
ICAgVHJhY2VTY29wZSBzY29wZShDb21wdXRlRXZlbnRSZWdpb25zU3RhcnQsIENvbXB1dGVFdmVu
dFJlZ2lvbnNFbmQpOwogCkBAIC0xNzc4LDYgKzE3ODIsOCBAQCB2b2lkIFJlbmRlckxheWVyQmFj
a2luZzo6dXBkYXRlRXZlbnRSZWdpb24oKQogICAgICAgICB1cGRhdGVFdmVudFJlZ2lvbkZvckxh
eWVyKCptX2ZvcmVncm91bmRMYXllcik7CiAKICAgICByZW5kZXJlcigpLnZpZXcoKS5zZXROZWVk
c0V2ZW50UmVnaW9uVXBkYXRlRm9yTm9uQ29tcG9zaXRlZEZyYW1lKGZhbHNlKTsKKyAgICAKKyAg
ICBzZXROZWVkc0V2ZW50UmVnaW9uVXBkYXRlKGZhbHNlKTsKIH0KICNlbmRpZgogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgKaW5kZXggMDIyMjY3YzE3
NmNjMjU0OWM4ZDhmMjZmNGZmZjBhYTgyYzYwM2NhNC4uN2EzMDE0NjllNDQ5ODc0YTM3NmNhMTI3
NTljZDMxNmYxZDZjNmEwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxheWVyQmFja2luZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllckJhY2tpbmcuaApAQCAtMjA0LDYgKzIwNCw5IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoQVNZ
TkNfU0NST0xMSU5HKQogICAgIGJvb2wgbWFpbnRhaW5zRXZlbnRSZWdpb24oKSBjb25zdDsKICAg
ICB2b2lkIHVwZGF0ZUV2ZW50UmVnaW9uKCk7CisgICAgCisgICAgYm9vbCBuZWVkc0V2ZW50UmVn
aW9uVXBkYXRlKCkgY29uc3QgeyByZXR1cm4gbV9uZWVkc0V2ZW50UmVnaW9uVXBkYXRlOyB9Cisg
ICAgdm9pZCBzZXROZWVkc0V2ZW50UmVnaW9uVXBkYXRlKGJvb2wgbmVlZHNVcGRhdGUgPSB0cnVl
KSB7IG1fbmVlZHNFdmVudFJlZ2lvblVwZGF0ZSA9IG5lZWRzVXBkYXRlOyB9CiAjZW5kaWYKIAog
ICAgIHZvaWQgdXBkYXRlQWZ0ZXJXaWRnZXRSZXNpemUoKTsKQEAgLTQzNCw2ICs0MzcsOSBAQCBw
cml2YXRlOgogICAgIGJvb2wgbV9yZXF1aXJlc0JhY2tncm91bmRMYXllciB7IGZhbHNlIH07CiAg
ICAgYm9vbCBtX2hhc1N1YnBpeGVsUm91bmRpbmcgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9wYWlu
dHNTdWJwaXhlbEFudGlhbGlhc2VkVGV4dCB7IGZhbHNlIH07IC8vIFRoaXMgaXMgZm9yIGxvZ2dp
bmcgb25seS4KKyNpZiBFTkFCTEUoQVNZTkNfU0NST0xMSU5HKQorICAgIGJvb2wgbV9uZWVkc0V2
ZW50UmVnaW9uVXBkYXRlIHsgdHJ1ZSB9OworI2VuZGlmCiB9OwogCiBlbnVtIENhbnZhc0NvbXBv
c2l0aW5nU3RyYXRlZ3kgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxheWVyQ29tcG9zaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXJDb21wb3NpdG9yLmNwcAppbmRleCA0YjFiODI1NTU3YTg4ZTEwNGFlNzdlM2UwYmU3NmVm
YzU0NzRkMWViLi44OGMwYWYwNzJiYTI0Yzk3MGRjZjdkMWVjMDVkMTc5NmIwZGEwNjU1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNw
cApAQCAtNjk5LDYgKzY5OSwxMyBAQCB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6Y2FuY2Vs
Q29tcG9zaXRpbmdMYXllclVwZGF0ZSgpCiAgICAgbV91cGRhdGVDb21wb3NpdGluZ0xheWVyc1Rp
bWVyLnN0b3AoKTsKIH0KIAordm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnVwZGF0ZUV2ZW50
UmVnaW9ucygpCit7CisgICAgYXBwbHlUb0NvbXBvc2l0ZWRMYXllckluY2x1ZGluZ0Rlc2NlbmRh
bnRzKCptX3JlbmRlclZpZXcubGF5ZXIoKSwgW10oYXV0byYgbGF5ZXIpIHsKKyAgICAgICAgbGF5
ZXIuYmFja2luZygpLT51cGRhdGVFdmVudFJlZ2lvbigpOworICAgIH0pOworfQorCiBzdGF0aWMg
T3B0aW9uYWw8U2Nyb2xsaW5nTm9kZUlEPiBmcmFtZUhvc3RpbmdOb2RlRm9yRnJhbWUoRnJhbWUm
IGZyYW1lKQogewogICAgIGlmICghZnJhbWUuZG9jdW1lbnQoKSB8fCAhZnJhbWUudmlldygpKQpA
QCAtMTI3NiwxMyArMTI4Myw2IEBAIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjp1cGRhdGVC
YWNraW5nQW5kSGllcmFyY2h5KFJlbmRlckxheWVyJiBsYXllciwgVmVjdG9yCiAgICAgICAgIH0g
ZWxzZSBpZiAobGF5ZXIubmVlZHNTY3JvbGxpbmdUcmVlVXBkYXRlKCkpCiAgICAgICAgICAgICBz
Y3JvbGxpbmdOb2RlQ2hhbmdlcy5hZGQoU2Nyb2xsaW5nTm9kZUNoYW5nZUZsYWdzOjpMYXllckdl
b21ldHJ5KTsKIAotI2lmIEVOQUJMRShBU1lOQ19TQ1JPTExJTkcpCi0gICAgICAgIC8vIFRoaXMg
bmVlZHMgdG8gaGFwcGVuIGFmdGVyIGFueSBnZW9tZXRyeSB1cGRhdGUuCi0gICAgICAgIC8vIEZJ
WE1FOiBVc2Ugc2VwYXJhdGUgYml0IGZvciBldmVudCByZWdpb24gaW52YWxpZGF0aW9uLgotICAg
ICAgICBpZiAobGF5ZXJOZWVkc1VwZGF0ZSB8fCBsYXllci5uZWVkc0NvbXBvc2l0aW5nQ29uZmln
dXJhdGlvblVwZGF0ZSgpKQotICAgICAgICAgICAgbGF5ZXJCYWNraW5nLT51cGRhdGVFdmVudFJl
Z2lvbigpOwotI2VuZGlmCi0KICAgICAgICAgaWYgKGF1dG8qIHJlZmxlY3Rpb24gPSBsYXllci5y
ZWZsZWN0aW9uTGF5ZXIoKSkgewogICAgICAgICAgICAgaWYgKGF1dG8qIHJlZmxlY3Rpb25CYWNr
aW5nID0gcmVmbGVjdGlvbi0+YmFja2luZygpKSB7CiAgICAgICAgICAgICAgICAgcmVmbGVjdGlv
bkJhY2tpbmctPnVwZGF0ZUNvbXBvc2l0ZWRCb3VuZHMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaAppbmRleCAwMDczN2JjODI0MjQzZTc2
ZTg0ZWNmNzJiYzUzZTU4ZjFlNmUxNzMxLi43YTg1YjI2OTZjNjhhYTQwZDQyODFmM2JjMjJjNmJj
ZDZiODgwMDVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXJDb21wb3NpdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
Q29tcG9zaXRvci5oCkBAIC0xOTYsNiArMTk2LDkgQEAgcHVibGljOgogICAgIC8vIFRoaXMgaXMg
dXNlZCB0byBjYW5jZWwgYW55IHBlbmRpbmcgdXBkYXRlIHRpbWVycyB3aGVuIHRoZSBkb2N1bWVu
dCBnb2VzIGludG8gYmFjay9mb3J3YXJkIGNhY2hlLgogICAgIHZvaWQgY2FuY2VsQ29tcG9zaXRp
bmdMYXllclVwZGF0ZSgpOwogCisgICAgLy8gVXBkYXRlIGV2ZW50IHJlZ2lvbnMsIHdoaWNoIG9u
bHkgbmVlZHMgdG8gaGFwcGVuIG9uY2UgcGVyIHJlbmRlcmluZyB1cGRhdGUuCisgICAgdm9pZCB1
cGRhdGVFdmVudFJlZ2lvbnMoKTsKKwogICAgIGVudW0gY2xhc3MgTGF5b3V0VXBUb0RhdGUgewog
ICAgICAgICBZZXMsIE5vCiAgICAgfTsK
</data>
<flag name="review"
          id="421341"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405982</attachid>
            <date>2020-08-04 21:08:47 -0700</date>
            <delta_ts>2020-08-04 22:34:42 -0700</delta_ts>
            <desc>For EWS</desc>
            <filename>bug-215132-20200804210845.patch</filename>
            <type>text/plain</type>
            <size>21387</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1MjAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTBmOGExYWMxZmI2OTRm
NjBjYWUxYWMwODZmMWUxYzRkODM1MjgxNi4uMzg0ZmMxZjAwZDE4ZTI4NjU5ZWRhY2JhMzA5ZTI2
OTEyZTRiMjZhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDIwLTA4LTA0ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFVwZGF0ZSBldmVu
dCByZWdpb25zIG9ubHkgb25jZSBwZXIgZnJhbWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNTEzMgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjY1
MzM3Nzk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgRXZl
bnQgcmVnaW9ucyAoZm9yIHRvdWNoLWFjdGlvbiwgZWRpdGFibGUgYXJlYXMgZXRjKSB3ZXJlIHVw
ZGF0ZWQgYXMgcGFydCBvZgorICAgICAgICBjb21wb3NpdGluZyB1cGRhdGVzLCBidXQgd2Ugb25s
eSBuZWVkIHRoZWlyIG91dHB1dCBvbmNlIHBlciByZW5kZXJpbmcgdXBkYXRlLCBzbworICAgICAg
ICBtb3ZlIHRoZWlyIGNvbXB1dGF0aW9uIG91dCBvZiBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnVw
ZGF0ZUJhY2tpbmdBbmRIaWVyYXJjaHkoKSAKKyAgICAgICAgYW5kIGludG8gYSBuZXcgUmVuZGVy
TGF5ZXIgdHJlZSB3YWxrIHRoYXQgaXMgY2FsbGVkIGZyb20gUGFnZTo6ZG9BZnRlclVwZGF0ZVJl
bmRlcmluZygpLgorCisgICAgICAgIFJlbmRlckxheWVyQmFja2luZyBzdG9yZXMgYSBkaXJ0eSBi
aXQgdG8gdHJhY2sgd2hlbiByZWdpb25zIG5lZWQgdG8gYmUgdXBkYXRlZC4KKworICAgICAgICBS
ZWR1Y2VzIHRoZSBhbW91bnQgb2YgdGltZSBzcGVudCBpbiByZW5kZXJpbmcgdXBkYXRlcyB3aGVu
IHNjcm9sbGluZyBvbiBmYWNlYm9vay5jb20KKyAgICAgICAgb24gaVBhZCwgd2hpY2ggaGFzIGxv
dHMgb2YgZGlzY29udGlndW91cyB0b3VjaC1hY3Rpb24gcmVnaW9ucy4KKworICAgICAgICAqIGRv
bS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6dXBkYXRlRXZlbnRS
ZWdpb25zKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKiBwYWdlL0ZyYW1l
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lOjpsYXllclRyZWVBc1RleHQgY29uc3QpOgor
ICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjpkb0FmdGVy
VXBkYXRlUmVuZGVyaW5nKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmNhbGN1bGF0ZUNsaXBSZWN0cyBjb25zdCk6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6Om1haW50YWluc0V2ZW50UmVnaW9uIGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlRXZlbnRSZWdpb24p
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuaDoKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckxheWVyQ29tcG9zaXRvcjo6dXBkYXRlRXZlbnRSZWdpb25zKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6dXBkYXRlQmFja2luZ0FuZEhpZXJhcmNoeSk6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oOgorCiAyMDIwLTA4LTAz
ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIG1faXNF
ZGl0YWJsZVJlZ2lvbkVuYWJsZWQgc2hvdWxkIGJlIHJlc2V0IGluIGRpZENvbW1pdExvYWQsIG5v
dCBkaWRGaW5pc2hMb2FkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCA0N2I0N2IzMjRlZGIz
YWVkNzVmNjIzMmEzNzAzY2Y5YTRiNmI0NGYwLi5mYTdhNmVhNzM4YTllNzhlMzFhZjRlODIyNTVh
ODgyMzFmNTBjN2JjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTQyODcsNiArNDI4Nywx
NSBAQCB2b2lkIERvY3VtZW50OjplbGVtZW50SW5BY3RpdmVDaGFpbkRpZERldGFjaChFbGVtZW50
JiBlbGVtZW50KQogICAgICAgICBtX2FjdGl2ZUVsZW1lbnQgPSBtX2FjdGl2ZUVsZW1lbnQtPnBh
cmVudEVsZW1lbnQoKTsKIH0KIAordm9pZCBEb2N1bWVudDo6dXBkYXRlRXZlbnRSZWdpb25zKCkK
K3sKKyAgICAvLyBGSVhNRTogTW92ZSB1cGRhdGVUb3VjaEV2ZW50UmVnaW9ucygpIGhlcmUsIGJ1
dCBpdCBzaG91bGQgb25seSBoYXBwZW4gZm9yIHRoZSB0b3AgZG9jdW1lbnQuCisgICAgaWYgKGF1
dG8qIHZpZXcgPSByZW5kZXJWaWV3KCkpIHsKKyAgICAgICAgaWYgKHZpZXctPnVzZXNDb21wb3Np
dGluZygpKQorICAgICAgICAgICAgdmlldy0+Y29tcG9zaXRvcigpLnVwZGF0ZUV2ZW50UmVnaW9u
cygpOworICAgIH0KK30KKwogdm9pZCBEb2N1bWVudDo6aW52YWxpZGF0ZUV2ZW50UmVnaW9uc0Zv
ckZyYW1lKEhUTUxGcmFtZU93bmVyRWxlbWVudCYgZWxlbWVudCkKIHsKICAgICBhdXRvKiByZW5k
ZXJlciA9IGVsZW1lbnQucmVuZGVyZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggNmIwYzVk
OTM2NjJmZjUyMTIxOGY4YWUyZDdkN2ZkZDhiY2YwMmU4ZC4uNDFjOWZlYzYxZTI4YmFjMzg3Y2Nj
N2I5YjMzZjVmZDBkOGYzNDFlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTExMzEsNiArMTEz
MSw4IEBAIHB1YmxpYzoKIAogICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBkaXNwbGF5U3RyaW5n
TW9kaWZpZWRCeUVuY29kaW5nKGNvbnN0IFN0cmluZyYpIGNvbnN0OwogCisgICAgdm9pZCB1cGRh
dGVFdmVudFJlZ2lvbnMoKTsKKwogICAgIHZvaWQgaW52YWxpZGF0ZVJlbmRlcmluZ0RlcGVuZGVu
dFJlZ2lvbnMoKTsKICAgICB2b2lkIGludmFsaWRhdGVFdmVudFJlZ2lvbnNGb3JGcmFtZShIVE1M
RnJhbWVPd25lckVsZW1lbnQmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9G
cmFtZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAppbmRleCA4OTdmZjA0M2Qz
YzM3NDU2ZGJiNTA0MDZjZGYwY2ZjOGQ3OGM5MDkyLi5jYjIxZTk2MTY5Y2QyOGZjOGUzOWYwNDAw
N2E2M2NiZWU3YTAyMDUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcApAQCAtODk5LDYgKzg5OSwxMyBA
QCBTdHJpbmcgRnJhbWU6OmxheWVyVHJlZUFzVGV4dChMYXllclRyZWVGbGFncyBmbGFncykgY29u
c3QKICAgICBpZiAoIWNvbnRlbnRSZW5kZXJlcigpKQogICAgICAgICByZXR1cm4geyB9OwogCisg
ICAgY29udGVudFJlbmRlcmVyKCktPmNvbXBvc2l0b3IoKS51cGRhdGVFdmVudFJlZ2lvbnMoKTsK
KworICAgIGZvciAoYXV0byogY2hpbGQgPSBtYWluRnJhbWUoKS50cmVlKCkuZmlyc3RSZW5kZXJl
ZENoaWxkKCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT50cmVlKCkudHJhdmVyc2VOZXh0UmVuZGVy
ZWQoKSkgeworICAgICAgICBpZiAoYXV0byogcmVuZGVyZXIgPSBjaGlsZC0+Y29udGVudFJlbmRl
cmVyKCkpCisgICAgICAgICAgICByZW5kZXJlci0+Y29tcG9zaXRvcigpLnVwZGF0ZUV2ZW50UmVn
aW9ucygpOworICAgIH0KKwogICAgIHJldHVybiBjb250ZW50UmVuZGVyZXIoKS0+Y29tcG9zaXRv
cigpLmxheWVyVHJlZUFzVGV4dChmbGFncyk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IDA2
Y2U4ODhjNjkyNDA0Yzk2NjFhZTcwODc3OWUwODMzZGZhOWVkYTMuLjE5ZDgyZDE0MDQxMzUyZGIz
YjlmOTkxN2NiOTE5MjY3MTgzZDQwNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApAQCAtMTU0OSw2ICsx
NTQ5LDkgQEAgdm9pZCBQYWdlOjpkb0FmdGVyVXBkYXRlUmVuZGVyaW5nKCkKICAgICBpZiAoUmVm
UHRyPERvY3VtZW50PiBkb2N1bWVudCA9IG1haW5GcmFtZSgpLmRvY3VtZW50KCkpCiAgICAgICAg
IGRvY3VtZW50LT51cGRhdGVUb3VjaEV2ZW50UmVnaW9ucygpOwogI2VuZGlmCisgICAgZm9yRWFj
aERvY3VtZW50KFtdIChEb2N1bWVudCYgZG9jdW1lbnQpIHsKKyAgICAgICAgZG9jdW1lbnQudXBk
YXRlRXZlbnRSZWdpb25zKCk7CisgICAgfSk7CiAKICAgICBEZWJ1Z1BhZ2VPdmVybGF5czo6ZG9B
ZnRlclVwZGF0ZVJlbmRlcmluZygqdGhpcyk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXIuY3BwCmluZGV4IGM2Y2I0MjMyNTViMzJkNDU5N2FlZDZhODU1YmExZTk2ODNjYjA3
NDguLjFhZWQ0NzE1ZjRlYzMzZjRjYzU3Yzk1ZTliZDgzNThiMTYwOTM3ZTEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtNzA0OSw3ICs3MDQ5LDcgQEAgYm9v
bCBSZW5kZXJMYXllcjo6aW52YWxpZGF0ZUV2ZW50UmVnaW9uKEV2ZW50UmVnaW9uSW52YWxpZGF0
aW9uUmVhc29uIHJlYXNvbikKIAogICAgIExPR19XSVRIX1NUUkVBTShFdmVudFJlZ2lvbnMsIHN0
cmVhbSA8PCB0aGlzIDw8ICIgaW52YWxpZGF0ZUV2ZW50UmVnaW9uIGZvciByZWFzb24gIiA8PCBy
ZWFzb24gPDwgIiBpbnZhbGlkYXRpbmcgaW4gY29tcG9zaXRpbmcgbGF5ZXIgIiA8PCBjb21wb3Np
dGluZ0xheWVyKTsKIAotICAgIGNvbXBvc2l0aW5nTGF5ZXItPnNldE5lZWRzQ29tcG9zaXRpbmdD
b25maWd1cmF0aW9uVXBkYXRlKCk7CisgICAgY29tcG9zaXRpbmdMYXllci0+YmFja2luZygpLT5z
ZXROZWVkc0V2ZW50UmVnaW9uVXBkYXRlKCk7CiAKICAgICBpZiAocmVhc29uID09IEV2ZW50UmVn
aW9uSW52YWxpZGF0aW9uUmVhc29uOjpOb25Db21wb3NpdGVkRnJhbWUpIHsKICAgICAgICAgYXV0
byYgdmlldyA9IHJlbmRlcmVyKCkudmlldygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAppbmRleCA0ODA5YWQxMjU0NTEwNTJhNjlhNDkzYjk2
ZDI2MjdlNjA0MmZhZDU1Li41MTlkMzYxMDc4MDhlMzYyZjdjMDQwZjQyNzhjODgzYTJmMzkwNjFl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5n
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNw
cApAQCAtMTcwOCw2ICsxNzA4LDcgQEAgYm9vbCBSZW5kZXJMYXllckJhY2tpbmc6Om1haW50YWlu
c0V2ZW50UmVnaW9uKCkgY29uc3QKICAgICAgICAgcmV0dXJuIHRydWU7CiAjZW5kaWYKICNpZiBF
TkFCTEUoRURJVEFCTEVfUkVHSU9OKQorICAgIExPR19XSVRIX1NUUkVBTShFdmVudFJlZ2lvbnMs
IHN0cmVhbSA8PCAiUmVuZGVyTGF5ZXJCYWNraW5nOiAiIDw8IHRoaXMgPDwgIiBtYWludGFpbnNF
dmVudFJlZ2lvbiAtIG1heUhhdmVFZGl0YWJsZUVsZW1lbnRzOiAiIDw8IHJlbmRlcmVyKCkuZG9j
dW1lbnQoKS5tYXlIYXZlRWRpdGFibGVFbGVtZW50cygpIDw8ICIgc2hvdWxkQnVpbGRFZGl0YWJs
ZVJlZ2lvbjogIiA8PCByZW5kZXJlcigpLnBhZ2UoKS5zaG91bGRCdWlsZEVkaXRhYmxlUmVnaW9u
KCkpOwogICAgIGlmIChyZW5kZXJlcigpLmRvY3VtZW50KCkubWF5SGF2ZUVkaXRhYmxlRWxlbWVu
dHMoKSAmJiByZW5kZXJlcigpLnBhZ2UoKS5zaG91bGRCdWlsZEVkaXRhYmxlUmVnaW9uKCkpCiAg
ICAgICAgIHJldHVybiB0cnVlOwogI2VuZGlmCkBAIC0xNzI3LDEwICsxNzI4LDEzIEBAIGJvb2wg
UmVuZGVyTGF5ZXJCYWNraW5nOjptYWludGFpbnNFdmVudFJlZ2lvbigpIGNvbnN0CiAKIHZvaWQg
UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVFdmVudFJlZ2lvbigpCiB7CisgICAgTE9HX1dJVEhf
U1RSRUFNKEV2ZW50UmVnaW9ucywgc3RyZWFtIDw8IG1fb3duaW5nTGF5ZXIgPDwgIiAiIDw8IHRo
aXMgPDwgIiB1cGRhdGVFdmVudFJlZ2lvbiAobmVlZHMgdXBkYXRlOiAiIDw8IG5lZWRzRXZlbnRS
ZWdpb25VcGRhdGUoKSA8PCAiLCBtYWludGFpbnNFdmVudFJlZ2lvbjogIiA8PCBtYWludGFpbnNF
dmVudFJlZ2lvbigpIDw8ICIpIik7CisKICAgICBpZiAoIW1haW50YWluc0V2ZW50UmVnaW9uKCkp
CiAgICAgICAgIHJldHVybjsKIAotICAgIExPR19XSVRIX1NUUkVBTShFdmVudFJlZ2lvbnMsIHN0
cmVhbSA8PCAiUmVuZGVyTGF5ZXJCYWNraW5nICIgPDwgKnRoaXMgPDwgIiB1cGRhdGVFdmVudFJl
Z2lvbiIpOworICAgIGlmICghbmVlZHNFdmVudFJlZ2lvblVwZGF0ZSgpKQorICAgICAgICByZXR1
cm47CiAKICAgICBUcmFjZVNjb3BlIHNjb3BlKENvbXB1dGVFdmVudFJlZ2lvbnNTdGFydCwgQ29t
cHV0ZUV2ZW50UmVnaW9uc0VuZCk7CiAKQEAgLTE3NzgsNiArMTc4Miw4IEBAIHZvaWQgUmVuZGVy
TGF5ZXJCYWNraW5nOjp1cGRhdGVFdmVudFJlZ2lvbigpCiAgICAgICAgIHVwZGF0ZUV2ZW50UmVn
aW9uRm9yTGF5ZXIoKm1fZm9yZWdyb3VuZExheWVyKTsKIAogICAgIHJlbmRlcmVyKCkudmlldygp
LnNldE5lZWRzRXZlbnRSZWdpb25VcGRhdGVGb3JOb25Db21wb3NpdGVkRnJhbWUoZmFsc2UpOwor
ICAgIAorICAgIHNldE5lZWRzRXZlbnRSZWdpb25VcGRhdGUoZmFsc2UpOwogfQogI2VuZGlmCiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuaAppbmRleCAw
MjIyNjdjMTc2Y2MyNTQ5YzhkOGYyNmY0ZmZmMGFhODJjNjAzY2E0Li43YTMwMTQ2OWU0NDk4NzRh
Mzc2Y2ExMjc1OWNkMzE2ZjFkNmM2YTAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyQmFja2luZy5oCkBAIC0yMDQsNiArMjA0LDkgQEAgcHVibGljOgogI2lmIEVO
QUJMRShBU1lOQ19TQ1JPTExJTkcpCiAgICAgYm9vbCBtYWludGFpbnNFdmVudFJlZ2lvbigpIGNv
bnN0OwogICAgIHZvaWQgdXBkYXRlRXZlbnRSZWdpb24oKTsKKyAgICAKKyAgICBib29sIG5lZWRz
RXZlbnRSZWdpb25VcGRhdGUoKSBjb25zdCB7IHJldHVybiBtX25lZWRzRXZlbnRSZWdpb25VcGRh
dGU7IH0KKyAgICB2b2lkIHNldE5lZWRzRXZlbnRSZWdpb25VcGRhdGUoYm9vbCBuZWVkc1VwZGF0
ZSA9IHRydWUpIHsgbV9uZWVkc0V2ZW50UmVnaW9uVXBkYXRlID0gbmVlZHNVcGRhdGU7IH0KICNl
bmRpZgogCiAgICAgdm9pZCB1cGRhdGVBZnRlcldpZGdldFJlc2l6ZSgpOwpAQCAtNDM0LDYgKzQz
Nyw5IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX3JlcXVpcmVzQmFja2dyb3VuZExheWVyIHsgZmFs
c2UgfTsKICAgICBib29sIG1faGFzU3VicGl4ZWxSb3VuZGluZyB7IGZhbHNlIH07CiAgICAgYm9v
bCBtX3BhaW50c1N1YnBpeGVsQW50aWFsaWFzZWRUZXh0IHsgZmFsc2UgfTsgLy8gVGhpcyBpcyBm
b3IgbG9nZ2luZyBvbmx5LgorI2lmIEVOQUJMRShBU1lOQ19TQ1JPTExJTkcpCisgICAgYm9vbCBt
X25lZWRzRXZlbnRSZWdpb25VcGRhdGUgeyB0cnVlIH07CisjZW5kaWYKIH07CiAKIGVudW0gQ2Fu
dmFzQ29tcG9zaXRpbmdTdHJhdGVneSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCmluZGV4IDRiMWI4MjU1NTdhODhlMTA0YWU3N2Uz
ZTBiZTc2ZWZjNTQ3NGQxZWIuLjg4YzBhZjA3MmJhMjRjOTcwZGNmN2QxZWMwNWQxNzk2YjBkYTA2
NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBv
c2l0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBv
c2l0b3IuY3BwCkBAIC02OTksNiArNjk5LDEzIEBAIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9y
OjpjYW5jZWxDb21wb3NpdGluZ0xheWVyVXBkYXRlKCkKICAgICBtX3VwZGF0ZUNvbXBvc2l0aW5n
TGF5ZXJzVGltZXIuc3RvcCgpOwogfQogCit2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6dXBk
YXRlRXZlbnRSZWdpb25zKCkKK3sKKyAgICBhcHBseVRvQ29tcG9zaXRlZExheWVySW5jbHVkaW5n
RGVzY2VuZGFudHMoKm1fcmVuZGVyVmlldy5sYXllcigpLCBbXShhdXRvJiBsYXllcikgeworICAg
ICAgICBsYXllci5iYWNraW5nKCktPnVwZGF0ZUV2ZW50UmVnaW9uKCk7CisgICAgfSk7Cit9CisK
IHN0YXRpYyBPcHRpb25hbDxTY3JvbGxpbmdOb2RlSUQ+IGZyYW1lSG9zdGluZ05vZGVGb3JGcmFt
ZShGcmFtZSYgZnJhbWUpCiB7CiAgICAgaWYgKCFmcmFtZS5kb2N1bWVudCgpIHx8ICFmcmFtZS52
aWV3KCkpCkBAIC0xMjc2LDEzICsxMjgzLDYgQEAgdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6
OnVwZGF0ZUJhY2tpbmdBbmRIaWVyYXJjaHkoUmVuZGVyTGF5ZXImIGxheWVyLCBWZWN0b3IKICAg
ICAgICAgfSBlbHNlIGlmIChsYXllci5uZWVkc1Njcm9sbGluZ1RyZWVVcGRhdGUoKSkKICAgICAg
ICAgICAgIHNjcm9sbGluZ05vZGVDaGFuZ2VzLmFkZChTY3JvbGxpbmdOb2RlQ2hhbmdlRmxhZ3M6
OkxheWVyR2VvbWV0cnkpOwogCi0jaWYgRU5BQkxFKEFTWU5DX1NDUk9MTElORykKLSAgICAgICAg
Ly8gVGhpcyBuZWVkcyB0byBoYXBwZW4gYWZ0ZXIgYW55IGdlb21ldHJ5IHVwZGF0ZS4KLSAgICAg
ICAgLy8gRklYTUU6IFVzZSBzZXBhcmF0ZSBiaXQgZm9yIGV2ZW50IHJlZ2lvbiBpbnZhbGlkYXRp
b24uCi0gICAgICAgIGlmIChsYXllck5lZWRzVXBkYXRlIHx8IGxheWVyLm5lZWRzQ29tcG9zaXRp
bmdDb25maWd1cmF0aW9uVXBkYXRlKCkpCi0gICAgICAgICAgICBsYXllckJhY2tpbmctPnVwZGF0
ZUV2ZW50UmVnaW9uKCk7Ci0jZW5kaWYKLQogICAgICAgICBpZiAoYXV0byogcmVmbGVjdGlvbiA9
IGxheWVyLnJlZmxlY3Rpb25MYXllcigpKSB7CiAgICAgICAgICAgICBpZiAoYXV0byogcmVmbGVj
dGlvbkJhY2tpbmcgPSByZWZsZWN0aW9uLT5iYWNraW5nKCkpIHsKICAgICAgICAgICAgICAgICBy
ZWZsZWN0aW9uQmFja2luZy0+dXBkYXRlQ29tcG9zaXRlZEJvdW5kcygpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oCmluZGV4IDAwNzM3YmM4
MjQyNDNlNzZlODRlY2Y3MmJjNTNlNThmMWU2ZTE3MzEuLjdhODViMjY5NmM2OGFhNDBkNDI4MWYz
YmMyMmM2YmNkNmI4ODAwNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllckNvbXBvc2l0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJDb21wb3NpdG9yLmgKQEAgLTE5Niw2ICsxOTYsOSBAQCBwdWJsaWM6CiAgICAgLy8g
VGhpcyBpcyB1c2VkIHRvIGNhbmNlbCBhbnkgcGVuZGluZyB1cGRhdGUgdGltZXJzIHdoZW4gdGhl
IGRvY3VtZW50IGdvZXMgaW50byBiYWNrL2ZvcndhcmQgY2FjaGUuCiAgICAgdm9pZCBjYW5jZWxD
b21wb3NpdGluZ0xheWVyVXBkYXRlKCk7CiAKKyAgICAvLyBVcGRhdGUgZXZlbnQgcmVnaW9ucywg
d2hpY2ggb25seSBuZWVkcyB0byBoYXBwZW4gb25jZSBwZXIgcmVuZGVyaW5nIHVwZGF0ZS4KKyAg
ICB2b2lkIHVwZGF0ZUV2ZW50UmVnaW9ucygpOworCiAgICAgZW51bSBjbGFzcyBMYXlvdXRVcFRv
RGF0ZSB7CiAgICAgICAgIFllcywgTm8KICAgICB9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGZjZGUzZTM4YzlmYTljNDg5
MGQ4NGYyYmY1M2E5MTMzMjNiOTE2MzcuLjYzYzRiZGEyZTEyMGIzOGM2MzkyODAzYjNiYjUzOTli
NjM5N2RhODggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzOSBAQAorMjAyMC0wOC0wNCAgU2ltb24gRnJhc2Vy
ICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBVcGRhdGUgZXZlbnQgcmVnaW9u
cyBvbmx5IG9uY2UgcGVyIGZyYW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMTUxMzIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY2NTMzNzc5Pgor
CisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIFRlc3RzIHRoYXQg
ZGlzcGF0Y2ggbW91c2VXaGVlbCBldmVudHMgaW4gYSB3YXkgdGhhdCB0ZXN0cyBldmVudCByZWdp
b25zIG5lZWQgdG8gd2FpdAorICAgICAgICBub3cgZm9yIGEgcmVuZGVyaW5nIHVwZGF0ZS4gYGF3
YWl0IFVJSGVscGVyLmFuaW1hdGlvbkZyYW1lKClgIGlzIG5vdCBlbm91Z2gsIGJlY2F1c2UKKyAg
ICAgICAgdGhlIGZ1bmN0aW9uIHJlc3VtZXMgaW5zaWRlIGEgbWljcm90YXNrIGF0IHRoZSBlbmQg
b2YgdGhlIHJlcXVlc3RBbmltYXRpb25GcmFtZSBjYWxsYmFjaywKKyAgICAgICAgd2hpY2ggaXMg
YmVmb3JlIHdlJ3ZlIGNvbXBsZXRlZCB0aGUgcmVzdCBvZiB0aGUgcmVuZGVyaW5nIHVwZGF0ZSwg
YW5kIHRodXMgYmVmb3JlCisgICAgICAgIHRoZSBldmVudCByZWdpb25zIGhhdmUgYmVlbiB1cGRh
dGVkLgorICAgICAgICAKKyAgICAgICAgSW4gYWRkaXRpb24sIGBhd2FpdCBVSUhlbHBlci5hbmlt
YXRpb25GcmFtZSgpYCBmb2xsb3dlZCBieSBldmVudFNlbmRlciBjYWxscyB0byBpc3N1ZQorICAg
ICAgICB3aGVlbCBldmVudHMgYWN0dWFsbHkgdHJpZ2dlciBQYWdlOjp1cGRhdGVSZW5kZXJpbmco
KSByZS1lbnRyYW5jeSwgdmlhIHRoZQorICAgICAgICBXS0J1bmRsZVBhZ2VGb3JjZVJlcGFpbnQo
KSBpbiBFdmVudFNlbmRpbmdDb250cm9sbGVyOjptb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9t
ZW50dW1QaGFzZXMoKS4KKworICAgICAgICBUbyBmaXggdGhpcywgYWRkIGFuZCB1c2UgVUlIZWxw
ZXIucmVuZGVyaW5nVXBkYXRlKCksIHdoaWNoIHdhaXRzIGZvciBhIHJBRiBhbmQgdXNlcyBhIHNl
dFRpbWVvdXQoKQorICAgICAgICB0byBnZXQgcGFzdCB0aGUgZW5kIG9mIHRoZSBjdXJyZW50IHJl
bmRlcmluZyB1cGRhdGUuCisKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9tYWMvYWJzb2x1dGUt
aW4tb3ZlcmZsb3ctc2Nyb2xsLWR5bmFtaWMtZXhwZWN0ZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0
L3Njcm9sbGluZy9tYWMvYWJzb2x1dGUtaW4tb3ZlcmZsb3ctc2Nyb2xsLWR5bmFtaWMuaHRtbDoK
KyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9tYWMvYWJzb2x1dGUtaW4tb3ZlcmZsb3ctc2Nyb2xs
Lmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvbWFjL2FzeW5jLXNjcm9sbC1vdmVyZmxv
dy1oaWRkZW4tb24tb25lLWF4aXMuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9tYWMv
YXN5bmMtc2Nyb2xsLW92ZXJmbG93LXJ0bC16b29tZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Nj
cm9sbGluZy9tYWMvYXN5bmMtc2Nyb2xsLW92ZXJmbG93LXRvcC1pbnNldC5odG1sOgorICAgICAg
ICAqIGZhc3Qvc2Nyb2xsaW5nL21hYy9hc3luYy1zY3JvbGwtb3ZlcmZsb3cuaHRtbDoKKyAgICAg
ICAgKiBmYXN0L3Njcm9sbGluZy9tYWMvY2xpcC1wYXRoLWhpdC10ZXN0Lmh0bWw6CisgICAgICAg
ICogZmFzdC9zY3JvbGxpbmcvbWFjL21vdmUtbm9kZS1pbi1vdmVyZmxvdy1zY3JvbGwuaHRtbDoK
KyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9tYWMvb3ZlcmZsb3ctc2Nyb2xsZWQtZG9jdW1lbnQu
aHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9tYWMvb3ZlcmZsb3ctem9vbWVkLWRvY3Vt
ZW50Lmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvbWFjL292ZXJsYXBwZWQtb3ZlcmZs
b3ctc2Nyb2xsLmh0bWw6CisgICAgICAgICogcmVzb3VyY2VzL3VpLWhlbHBlci5qczoKKyAgICAg
ICAgKHdpbmRvdy5VSUhlbHBlci5hc3luYyByZW5kZXJpbmdVcGRhdGUpOgorCiAyMDIwLTA4LTAz
ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92
ZSBkdXBsaWNhdGUgbGF5b3V0IHRlc3QgcmVzdWx0cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9zY3JvbGxpbmcvbWFjL2Fic29sdXRlLWluLW92ZXJmbG93LXNjcm9sbC1keW5hbWljLWV4
cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvYWJzb2x1dGUtaW4t
b3ZlcmZsb3ctc2Nyb2xsLWR5bmFtaWMtZXhwZWN0ZWQuaHRtbAppbmRleCA3YWU2ZGJmNjA0MDM5
YzA3YzM1OTdmNTQwMTliYzM4YjMzZjBjZTIzLi4wNTVjMjk4N2UwOTBiMDFhNjk5M2E3ZDlhMDNl
NmJiMmFlYzVkYzcyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMv
YWJzb2x1dGUtaW4tb3ZlcmZsb3ctc2Nyb2xsLWR5bmFtaWMtZXhwZWN0ZWQuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvYWJzb2x1dGUtaW4tb3ZlcmZsb3ctc2Nyb2xs
LWR5bmFtaWMtZXhwZWN0ZWQuaHRtbApAQCAtMzcsNiArMzcsNyBAQAogICAgIDxzY3JpcHQ+CiAg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHNjcm9sbE92ZXJDb250ZW50KCkKICAgICAgICAgeworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIucmVuZGVyaW5nVXBkYXRlKCk7CiAgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5tb3VzZVdoZWVsU2Nyb2xsQXQoNTAsIDUwKTsKICAgICAgICAgfQogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvYWJzb2x1dGUtaW4tb3Zl
cmZsb3ctc2Nyb2xsLWR5bmFtaWMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL21h
Yy9hYnNvbHV0ZS1pbi1vdmVyZmxvdy1zY3JvbGwtZHluYW1pYy5odG1sCmluZGV4IDQwZDM4OWRl
MDRkYmNiNTQ2ZGRmZDBkM2QzMWNlMTE5Y2MzM2QwZWQuLjhiYzk4OTllMWY3YTFhZWM0OTliMTk4
YTdiOGM5ZjUzNDVhNmQ0YjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5n
L21hYy9hYnNvbHV0ZS1pbi1vdmVyZmxvdy1zY3JvbGwtZHluYW1pYy5odG1sCisrKyBiL0xheW91
dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL21hYy9hYnNvbHV0ZS1pbi1vdmVyZmxvdy1zY3JvbGwtZHlu
YW1pYy5odG1sCkBAIC00MSw2ICs0MSw3IEBACiAgICAgPHNjcmlwdD4KICAgICAgICAgYXN5bmMg
ZnVuY3Rpb24gc2Nyb2xsT3ZlckNvbnRlbnQoKQogICAgICAgICB7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5yZW5kZXJpbmdVcGRhdGUoKTsKICAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
Lm1vdXNlV2hlZWxTY3JvbGxBdCg1MCwgNTApOwogICAgICAgICB9CiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL21hYy9hYnNvbHV0ZS1pbi1vdmVyZmxvdy1zY3JvbGwu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL21hYy9hYnNvbHV0ZS1pbi1vdmVyZmxv
dy1zY3JvbGwuaHRtbAppbmRleCA2ZjdlNzE1YWY1M2NiNDYyMThkN2QxOTZlNWVhYTFkOGQ1YTBk
MDI1Li44ZWNjYWVkZjE0NTk2NGYxNDNkYTVlN2E1NmQ2YmIxNDAyMmMyYTMwIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvYWJzb2x1dGUtaW4tb3ZlcmZsb3ctc2Ny
b2xsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFjL2Fic29sdXRlLWlu
LW92ZXJmbG93LXNjcm9sbC5odG1sCkBAIC00Nyw3ICs0Nyw3IEBACiAgICAgICAgICAgICBzY3Jv
bGxlci5zY3JvbGxUb3AgPSAwOwogICAgICAgICAgICAgCiAgICAgICAgICAgICAvLyBXYWl0IGZv
ciBzY3JvbGwgZXZlbnRzIHRvIGZpcmUuCi0gICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hbmlt
YXRpb25GcmFtZSgpOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIucmVuZGVyaW5nVXBkYXRl
KCk7CiAKICAgICAgICAgICAgIG92ZXJmbG93U2Nyb2xsRXZlbnRDb3VudCA9IDA7CiAgICAgICAg
ICAgICB3aW5kb3dTY3JvbGxFdmVudENvdW50ID0gMDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3Qvc2Nyb2xsaW5nL21hYy9hc3luYy1zY3JvbGwtb3ZlcmZsb3ctaGlkZGVuLW9uLW9uZS1h
eGlzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvYXN5bmMtc2Nyb2xsLW92
ZXJmbG93LWhpZGRlbi1vbi1vbmUtYXhpcy5odG1sCmluZGV4IDBiNGZkOTljYzkwYWU1MWJkZjIy
ZjkyNjZhYmM4ZTIxZGIxOGE0ZTYuLmU1NDUwMTQ2NTAyMzI1Njk3Njc1NjIzMjFhMDVjMjc3ODRl
YWE4ZmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL21hYy9hc3luYy1z
Y3JvbGwtb3ZlcmZsb3ctaGlkZGVuLW9uLW9uZS1heGlzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9zY3JvbGxpbmcvbWFjL2FzeW5jLXNjcm9sbC1vdmVyZmxvdy1oaWRkZW4tb24tb25lLWF4
aXMuaHRtbApAQCAtNDksNyArNDksNyBAQAogICAgICAgICAgICAgdmVydGljYWxTY3JvbGxlci5z
Y3JvbGxUb3AgPSAwOwogICAgICAgICAgICAgCiAgICAgICAgICAgICAvLyBXYWl0IGZvciBzY3Jv
bGwgZXZlbnRzIHRvIGZpcmUuCi0gICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hbmltYXRpb25G
cmFtZSgpOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIucmVuZGVyaW5nVXBkYXRlKCk7CiAK
ICAgICAgICAgICAgIGhvcml6b250YWxTY3JvbGxlckV2ZW50Q291bnQgPSAwOwogICAgICAgICAg
ICAgdmVydGljYWxTY3JvbGxlckV2ZW50Q291bnQgPSAwOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9zY3JvbGxpbmcvbWFjL2FzeW5jLXNjcm9sbC1vdmVyZmxvdy1ydGwtem9vbWVkLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvYXN5bmMtc2Nyb2xsLW92ZXJmbG93
LXJ0bC16b29tZWQuaHRtbAppbmRleCA0MWJkMGRmM2RlYWM2ZDIzNjdlNTE4MzBmMGZiODZiYWNm
YzY0OTFkLi4yMDllNTQ5MGE0OWQ0ZGMxODY2OWRjYmJiMTAzZmFhOGYxZjI4Yzc4IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvYXN5bmMtc2Nyb2xsLW92ZXJmbG93
LXJ0bC16b29tZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvYXN5
bmMtc2Nyb2xsLW92ZXJmbG93LXJ0bC16b29tZWQuaHRtbApAQCAtNDAsNyArNDAsNyBAQAogICAg
ICAgICAgICAgc2Nyb2xsZXIuc2Nyb2xsVG9wID0gMDsKICAgICAgICAgICAgIAogICAgICAgICAg
ICAgLy8gV2FpdCBmb3Igc2Nyb2xsIGV2ZW50cyB0byBmaXJlLgotICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuYW5pbWF0aW9uRnJhbWUoKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLnJl
bmRlcmluZ1VwZGF0ZSgpOwogCiAgICAgICAgICAgICBvdmVyZmxvd1Njcm9sbEV2ZW50Q291bnQg
PSAwOwogICAgICAgICAgICAgd2luZG93U2Nyb2xsRXZlbnRDb3VudCA9IDA7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvYXN5bmMtc2Nyb2xsLW92ZXJmbG93LXRv
cC1pbnNldC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFjL2FzeW5jLXNjcm9s
bC1vdmVyZmxvdy10b3AtaW5zZXQuaHRtbAppbmRleCBhMTQ5OTA3MjFiMDI5NjNjNzNiMDU0YWNi
NmNmMDA5YmQ2NGY4YzMyLi41ODRmMDA4N2U3NjMyNGNhNTBmNDY0NzVhYzc2YmI0Y2ZmZjgyMGE5
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvYXN5bmMtc2Nyb2xs
LW92ZXJmbG93LXRvcC1pbnNldC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5n
L21hYy9hc3luYy1zY3JvbGwtb3ZlcmZsb3ctdG9wLWluc2V0Lmh0bWwKQEAgLTM5LDcgKzM5LDcg
QEAKICAgICAgICAgICAgIHNjcm9sbGVyLnNjcm9sbFRvcCA9IDA7CiAgICAgICAgICAgICAKICAg
ICAgICAgICAgIC8vIFdhaXQgZm9yIHNjcm9sbCBldmVudHMgdG8gZmlyZS4KLSAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFuaW1hdGlvbkZyYW1lKCk7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5yZW5kZXJpbmdVcGRhdGUoKTsKIAogICAgICAgICAgICAgb3ZlcmZsb3dTY3JvbGxFdmVu
dENvdW50ID0gMDsKICAgICAgICAgICAgIHdpbmRvd1Njcm9sbEV2ZW50Q291bnQgPSAwOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFjL2FzeW5jLXNjcm9sbC1vdmVy
Zmxvdy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFjL2FzeW5jLXNjcm9sbC1v
dmVyZmxvdy5odG1sCmluZGV4IDc1YzIwMGU3MGZhMWE1MTRmZmQyYjU5NjMxZTcwN2NkMDA0NWVi
YWMuLjIwNmMzMzNhOTRmZTcyZjdjOTk5OTk4MmY5ZTFkODU0MjgzNWU3M2IgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL21hYy9hc3luYy1zY3JvbGwtb3ZlcmZsb3cuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvYXN5bmMtc2Nyb2xsLW92ZXJm
bG93Lmh0bWwKQEAgLTM2LDcgKzM2LDcgQEAKICAgICAgICAgICAgIHNjcm9sbGVyLnNjcm9sbFRv
cCA9IDA7CiAgICAgICAgICAgICAKICAgICAgICAgICAgIC8vIFdhaXQgZm9yIHNjcm9sbCBldmVu
dHMgdG8gZmlyZS4KLSAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFuaW1hdGlvbkZyYW1lKCk7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5yZW5kZXJpbmdVcGRhdGUoKTsKIAogICAgICAg
ICAgICAgb3ZlcmZsb3dTY3JvbGxFdmVudENvdW50ID0gMDsKICAgICAgICAgICAgIHdpbmRvd1Nj
cm9sbEV2ZW50Q291bnQgPSAwOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxp
bmcvbWFjL2NsaXAtcGF0aC1oaXQtdGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxp
bmcvbWFjL2NsaXAtcGF0aC1oaXQtdGVzdC5odG1sCmluZGV4IDk0NDljZDQ1MTc0MTZjNWRmYzVk
MWNlODlmN2NjNTliOWNkODhjNWEuLmFmMTk5MGE4NDY5YmJjZmEwNzAwYTVhOWE0NjYwYjYyZjZj
NTE1MmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL21hYy9jbGlwLXBh
dGgtaGl0LXRlc3QuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvY2xp
cC1wYXRoLWhpdC10ZXN0Lmh0bWwKQEAgLTM2LDcgKzM2LDcgQEAKICAgICAgICAgICAgIHNjcm9s
bGVyLnNjcm9sbFRvcCA9IDA7CiAgICAgICAgICAgICAKICAgICAgICAgICAgIC8vIFdhaXQgZm9y
IHNjcm9sbCBldmVudHMgdG8gZmlyZS4KLSAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFuaW1h
dGlvbkZyYW1lKCk7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5yZW5kZXJpbmdVcGRhdGUo
KTsKIAogICAgICAgICAgICAgb3ZlcmZsb3dTY3JvbGxFdmVudENvdW50ID0gMDsKICAgICAgICAg
ICAgIHdpbmRvd1Njcm9sbEV2ZW50Q291bnQgPSAwOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9zY3JvbGxpbmcvbWFjL21vdmUtbm9kZS1pbi1vdmVyZmxvdy1zY3JvbGwuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL21hYy9tb3ZlLW5vZGUtaW4tb3ZlcmZsb3ctc2Nyb2xs
Lmh0bWwKaW5kZXggNmFjOGU4MmMyOTU5Y2FiMjM5MWEzNWRkOGQxNzkzNzg3Mzc0Y2U3NC4uZWVi
NWFkZmI4N2E3NjJhNzZjMThkMjIyZDc5OGM4NTgzMTNiYjM2NyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFjL21vdmUtbm9kZS1pbi1vdmVyZmxvdy1zY3JvbGwuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvbW92ZS1ub2RlLWluLW92ZXJm
bG93LXNjcm9sbC5odG1sCkBAIC00NSw3ICs0NSw3IEBACiAgICAgICAgICAgICBzY3JvbGxlci5z
Y3JvbGxUb3AgPSAwOwogICAgICAgICAgICAgCiAgICAgICAgICAgICAvLyBXYWl0IGZvciBzY3Jv
bGwgZXZlbnRzIHRvIGZpcmUuCi0gICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hbmltYXRpb25G
cmFtZSgpOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIucmVuZGVyaW5nVXBkYXRlKCk7CiAK
ICAgICAgICAgICAgIG92ZXJmbG93U2Nyb2xsRXZlbnRDb3VudCA9IDA7CiAgICAgICAgICAgICB3
aW5kb3dTY3JvbGxFdmVudENvdW50ID0gMDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
c2Nyb2xsaW5nL21hYy9vdmVyZmxvdy1zY3JvbGxlZC1kb2N1bWVudC5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9zY3JvbGxpbmcvbWFjL292ZXJmbG93LXNjcm9sbGVkLWRvY3VtZW50Lmh0bWwKaW5k
ZXggMDg5MTg5MWUwMjMzNjZiYzQ0NmRmMWRlMzEzN2UzMGU4YWEyYWMyNC4uYmEwOTA3ZjczYTNm
NDUxY2MyMDkzMWMwMTRmZDBiZDMzNTIyNjliZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9zY3JvbGxpbmcvbWFjL292ZXJmbG93LXNjcm9sbGVkLWRvY3VtZW50Lmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFjL292ZXJmbG93LXNjcm9sbGVkLWRvY3VtZW50Lmh0
bWwKQEAgLTM2LDcgKzM2LDcgQEAKICAgICAgICAgICAgIHNjcm9sbGVyLnNjcm9sbFRvcCA9IDA7
CiAgICAgICAgICAgICAKICAgICAgICAgICAgIC8vIFdhaXQgZm9yIHNjcm9sbCBldmVudHMgdG8g
ZmlyZS4KLSAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFuaW1hdGlvbkZyYW1lKCk7CisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5yZW5kZXJpbmdVcGRhdGUoKTsKIAogICAgICAgICAgICAg
b3ZlcmZsb3dTY3JvbGxFdmVudENvdW50ID0gMDsKICAgICAgICAgICAgIHdpbmRvd1Njcm9sbEV2
ZW50Q291bnQgPSAwOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFj
L292ZXJmbG93LXpvb21lZC1kb2N1bWVudC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxp
bmcvbWFjL292ZXJmbG93LXpvb21lZC1kb2N1bWVudC5odG1sCmluZGV4IDJlMjRiMzcyZDkyMDQ5
NmU2MzQzYmE3ZjMzNGQwYTFhYjI4YTBhN2QuLjU4NGQ4YmQxNmI0YzllYjRlYTc3NzY0ZjcxZTBh
YWQwNjU4MWJmMGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL21hYy9v
dmVyZmxvdy16b29tZWQtZG9jdW1lbnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9s
bGluZy9tYWMvb3ZlcmZsb3ctem9vbWVkLWRvY3VtZW50Lmh0bWwKQEAgLTM2LDcgKzM2LDcgQEAK
ICAgICAgICAgICAgIHNjcm9sbGVyLnNjcm9sbFRvcCA9IDA7CiAgICAgICAgICAgICAKICAgICAg
ICAgICAgIC8vIFdhaXQgZm9yIHNjcm9sbCBldmVudHMgdG8gZmlyZS4KLSAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmFuaW1hdGlvbkZyYW1lKCk7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5yZW5kZXJpbmdVcGRhdGUoKTsKIAogICAgICAgICAgICAgb3ZlcmZsb3dTY3JvbGxFdmVudENv
dW50ID0gMDsKICAgICAgICAgICAgIHdpbmRvd1Njcm9sbEV2ZW50Q291bnQgPSAwOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFjL292ZXJsYXBwZWQtb3ZlcmZsb3ct
c2Nyb2xsLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvb3ZlcmxhcHBlZC1v
dmVyZmxvdy1zY3JvbGwuaHRtbAppbmRleCBiZGQ3YTNjOTgyMGU0NDIzYzgxNTA4ODc2OWRlYjBl
MTdkMjVhOGM4Li40NzUxMWRhZTBiOGNiYzJjZDQ4ZGM5ZGUzYzBlNmYyZDMzODM3ZGUwIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvb3ZlcmxhcHBlZC1vdmVyZmxv
dy1zY3JvbGwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvb3Zlcmxh
cHBlZC1vdmVyZmxvdy1zY3JvbGwuaHRtbApAQCAtNDcsNyArNDcsNyBAQAogICAgICAgICAgICAg
c2Nyb2xsZXIuc2Nyb2xsVG9wID0gMDsKICAgICAgICAgICAgIAogICAgICAgICAgICAgLy8gV2Fp
dCBmb3Igc2Nyb2xsIGV2ZW50cyB0byBmaXJlLgotICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
YW5pbWF0aW9uRnJhbWUoKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLnJlbmRlcmluZ1Vw
ZGF0ZSgpOwogCiAgICAgICAgICAgICBvdmVyZmxvd1Njcm9sbEV2ZW50Q291bnQgPSAwOwogICAg
ICAgICAgICAgd2luZG93U2Nyb2xsRXZlbnRDb3VudCA9IDA7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9yZXNvdXJjZXMvdWktaGVscGVyLmpzIGIvTGF5b3V0VGVzdHMvcmVzb3VyY2VzL3VpLWhl
bHBlci5qcwppbmRleCAxMzYzMzY5ZjlmNDQ0NjEyOGJlMGU4YzY3MmRkNWMyNmY5OWZmYjVhLi5l
Yjg1YWUzZDhhNWM3NzdkZTExMTMxY2E4Yzg1ZmFmZGRhMmI4YjFiIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9yZXNvdXJjZXMvdWktaGVscGVyLmpzCisrKyBiL0xheW91dFRlc3RzL3Jlc291cmNl
cy91aS1oZWxwZXIuanMKQEAgLTg3LDYgKzg3LDEyIEBAIHdpbmRvdy5VSUhlbHBlciA9IGNsYXNz
IFVJSGVscGVyIHsKICAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlcXVlc3RBbmltYXRpb25G
cmFtZSk7CiAgICAgfQogCisgICAgc3RhdGljIGFzeW5jIHJlbmRlcmluZ1VwZGF0ZSgpCisgICAg
eworICAgICAgICBhd2FpdCBVSUhlbHBlci5hbmltYXRpb25GcmFtZSgpOworICAgICAgICBhd2Fp
dCBVSUhlbHBlci5kZWxheUZvcigwKTsKKyAgICB9CisKICAgICBzdGF0aWMgYXN5bmMgd2FpdEZv
ckNvbmRpdGlvbihjb25kaXRpb25GdW5jKQogICAgIHsKICAgICAgICAgd2hpbGUgKCFjb25kaXRp
b25GdW5jKCkpIHsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405987</attachid>
            <date>2020-08-04 22:34:17 -0700</date>
            <delta_ts>2020-08-04 22:34:17 -0700</delta_ts>
            <desc>For EWS</desc>
            <filename>bug-215132-20200804223416.patch</filename>
            <type>text/plain</type>
            <size>22452</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1MjAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTBmOGExYWMxZmI2OTRm
NjBjYWUxYWMwODZmMWUxYzRkODM1MjgxNi4uMzg0ZmMxZjAwZDE4ZTI4NjU5ZWRhY2JhMzA5ZTI2
OTEyZTRiMjZhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDIwLTA4LTA0ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFVwZGF0ZSBldmVu
dCByZWdpb25zIG9ubHkgb25jZSBwZXIgZnJhbWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNTEzMgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjY1
MzM3Nzk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgRXZl
bnQgcmVnaW9ucyAoZm9yIHRvdWNoLWFjdGlvbiwgZWRpdGFibGUgYXJlYXMgZXRjKSB3ZXJlIHVw
ZGF0ZWQgYXMgcGFydCBvZgorICAgICAgICBjb21wb3NpdGluZyB1cGRhdGVzLCBidXQgd2Ugb25s
eSBuZWVkIHRoZWlyIG91dHB1dCBvbmNlIHBlciByZW5kZXJpbmcgdXBkYXRlLCBzbworICAgICAg
ICBtb3ZlIHRoZWlyIGNvbXB1dGF0aW9uIG91dCBvZiBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnVw
ZGF0ZUJhY2tpbmdBbmRIaWVyYXJjaHkoKSAKKyAgICAgICAgYW5kIGludG8gYSBuZXcgUmVuZGVy
TGF5ZXIgdHJlZSB3YWxrIHRoYXQgaXMgY2FsbGVkIGZyb20gUGFnZTo6ZG9BZnRlclVwZGF0ZVJl
bmRlcmluZygpLgorCisgICAgICAgIFJlbmRlckxheWVyQmFja2luZyBzdG9yZXMgYSBkaXJ0eSBi
aXQgdG8gdHJhY2sgd2hlbiByZWdpb25zIG5lZWQgdG8gYmUgdXBkYXRlZC4KKworICAgICAgICBS
ZWR1Y2VzIHRoZSBhbW91bnQgb2YgdGltZSBzcGVudCBpbiByZW5kZXJpbmcgdXBkYXRlcyB3aGVu
IHNjcm9sbGluZyBvbiBmYWNlYm9vay5jb20KKyAgICAgICAgb24gaVBhZCwgd2hpY2ggaGFzIGxv
dHMgb2YgZGlzY29udGlndW91cyB0b3VjaC1hY3Rpb24gcmVnaW9ucy4KKworICAgICAgICAqIGRv
bS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6dXBkYXRlRXZlbnRS
ZWdpb25zKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKiBwYWdlL0ZyYW1l
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lOjpsYXllclRyZWVBc1RleHQgY29uc3QpOgor
ICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjpkb0FmdGVy
VXBkYXRlUmVuZGVyaW5nKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmNhbGN1bGF0ZUNsaXBSZWN0cyBjb25zdCk6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6Om1haW50YWluc0V2ZW50UmVnaW9uIGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlRXZlbnRSZWdpb24p
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuaDoKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckxheWVyQ29tcG9zaXRvcjo6dXBkYXRlRXZlbnRSZWdpb25zKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6dXBkYXRlQmFja2luZ0FuZEhpZXJhcmNoeSk6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oOgorCiAyMDIwLTA4LTAz
ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIG1faXNF
ZGl0YWJsZVJlZ2lvbkVuYWJsZWQgc2hvdWxkIGJlIHJlc2V0IGluIGRpZENvbW1pdExvYWQsIG5v
dCBkaWRGaW5pc2hMb2FkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCA0N2I0N2IzMjRlZGIz
YWVkNzVmNjIzMmEzNzAzY2Y5YTRiNmI0NGYwLi5mYTdhNmVhNzM4YTllNzhlMzFhZjRlODIyNTVh
ODgyMzFmNTBjN2JjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTQyODcsNiArNDI4Nywx
NSBAQCB2b2lkIERvY3VtZW50OjplbGVtZW50SW5BY3RpdmVDaGFpbkRpZERldGFjaChFbGVtZW50
JiBlbGVtZW50KQogICAgICAgICBtX2FjdGl2ZUVsZW1lbnQgPSBtX2FjdGl2ZUVsZW1lbnQtPnBh
cmVudEVsZW1lbnQoKTsKIH0KIAordm9pZCBEb2N1bWVudDo6dXBkYXRlRXZlbnRSZWdpb25zKCkK
K3sKKyAgICAvLyBGSVhNRTogTW92ZSB1cGRhdGVUb3VjaEV2ZW50UmVnaW9ucygpIGhlcmUsIGJ1
dCBpdCBzaG91bGQgb25seSBoYXBwZW4gZm9yIHRoZSB0b3AgZG9jdW1lbnQuCisgICAgaWYgKGF1
dG8qIHZpZXcgPSByZW5kZXJWaWV3KCkpIHsKKyAgICAgICAgaWYgKHZpZXctPnVzZXNDb21wb3Np
dGluZygpKQorICAgICAgICAgICAgdmlldy0+Y29tcG9zaXRvcigpLnVwZGF0ZUV2ZW50UmVnaW9u
cygpOworICAgIH0KK30KKwogdm9pZCBEb2N1bWVudDo6aW52YWxpZGF0ZUV2ZW50UmVnaW9uc0Zv
ckZyYW1lKEhUTUxGcmFtZU93bmVyRWxlbWVudCYgZWxlbWVudCkKIHsKICAgICBhdXRvKiByZW5k
ZXJlciA9IGVsZW1lbnQucmVuZGVyZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggNmIwYzVk
OTM2NjJmZjUyMTIxOGY4YWUyZDdkN2ZkZDhiY2YwMmU4ZC4uNDFjOWZlYzYxZTI4YmFjMzg3Y2Nj
N2I5YjMzZjVmZDBkOGYzNDFlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTExMzEsNiArMTEz
MSw4IEBAIHB1YmxpYzoKIAogICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBkaXNwbGF5U3RyaW5n
TW9kaWZpZWRCeUVuY29kaW5nKGNvbnN0IFN0cmluZyYpIGNvbnN0OwogCisgICAgdm9pZCB1cGRh
dGVFdmVudFJlZ2lvbnMoKTsKKwogICAgIHZvaWQgaW52YWxpZGF0ZVJlbmRlcmluZ0RlcGVuZGVu
dFJlZ2lvbnMoKTsKICAgICB2b2lkIGludmFsaWRhdGVFdmVudFJlZ2lvbnNGb3JGcmFtZShIVE1M
RnJhbWVPd25lckVsZW1lbnQmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9G
cmFtZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAppbmRleCA4OTdmZjA0M2Qz
YzM3NDU2ZGJiNTA0MDZjZGYwY2ZjOGQ3OGM5MDkyLi5jYjIxZTk2MTY5Y2QyOGZjOGUzOWYwNDAw
N2E2M2NiZWU3YTAyMDUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcApAQCAtODk5LDYgKzg5OSwxMyBA
QCBTdHJpbmcgRnJhbWU6OmxheWVyVHJlZUFzVGV4dChMYXllclRyZWVGbGFncyBmbGFncykgY29u
c3QKICAgICBpZiAoIWNvbnRlbnRSZW5kZXJlcigpKQogICAgICAgICByZXR1cm4geyB9OwogCisg
ICAgY29udGVudFJlbmRlcmVyKCktPmNvbXBvc2l0b3IoKS51cGRhdGVFdmVudFJlZ2lvbnMoKTsK
KworICAgIGZvciAoYXV0byogY2hpbGQgPSBtYWluRnJhbWUoKS50cmVlKCkuZmlyc3RSZW5kZXJl
ZENoaWxkKCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT50cmVlKCkudHJhdmVyc2VOZXh0UmVuZGVy
ZWQoKSkgeworICAgICAgICBpZiAoYXV0byogcmVuZGVyZXIgPSBjaGlsZC0+Y29udGVudFJlbmRl
cmVyKCkpCisgICAgICAgICAgICByZW5kZXJlci0+Y29tcG9zaXRvcigpLnVwZGF0ZUV2ZW50UmVn
aW9ucygpOworICAgIH0KKwogICAgIHJldHVybiBjb250ZW50UmVuZGVyZXIoKS0+Y29tcG9zaXRv
cigpLmxheWVyVHJlZUFzVGV4dChmbGFncyk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IDA2
Y2U4ODhjNjkyNDA0Yzk2NjFhZTcwODc3OWUwODMzZGZhOWVkYTMuLjE5ZDgyZDE0MDQxMzUyZGIz
YjlmOTkxN2NiOTE5MjY3MTgzZDQwNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApAQCAtMTU0OSw2ICsx
NTQ5LDkgQEAgdm9pZCBQYWdlOjpkb0FmdGVyVXBkYXRlUmVuZGVyaW5nKCkKICAgICBpZiAoUmVm
UHRyPERvY3VtZW50PiBkb2N1bWVudCA9IG1haW5GcmFtZSgpLmRvY3VtZW50KCkpCiAgICAgICAg
IGRvY3VtZW50LT51cGRhdGVUb3VjaEV2ZW50UmVnaW9ucygpOwogI2VuZGlmCisgICAgZm9yRWFj
aERvY3VtZW50KFtdIChEb2N1bWVudCYgZG9jdW1lbnQpIHsKKyAgICAgICAgZG9jdW1lbnQudXBk
YXRlRXZlbnRSZWdpb25zKCk7CisgICAgfSk7CiAKICAgICBEZWJ1Z1BhZ2VPdmVybGF5czo6ZG9B
ZnRlclVwZGF0ZVJlbmRlcmluZygqdGhpcyk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXIuY3BwCmluZGV4IGM2Y2I0MjMyNTViMzJkNDU5N2FlZDZhODU1YmExZTk2ODNjYjA3
NDguLjFhZWQ0NzE1ZjRlYzMzZjRjYzU3Yzk1ZTliZDgzNThiMTYwOTM3ZTEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtNzA0OSw3ICs3MDQ5LDcgQEAgYm9v
bCBSZW5kZXJMYXllcjo6aW52YWxpZGF0ZUV2ZW50UmVnaW9uKEV2ZW50UmVnaW9uSW52YWxpZGF0
aW9uUmVhc29uIHJlYXNvbikKIAogICAgIExPR19XSVRIX1NUUkVBTShFdmVudFJlZ2lvbnMsIHN0
cmVhbSA8PCB0aGlzIDw8ICIgaW52YWxpZGF0ZUV2ZW50UmVnaW9uIGZvciByZWFzb24gIiA8PCBy
ZWFzb24gPDwgIiBpbnZhbGlkYXRpbmcgaW4gY29tcG9zaXRpbmcgbGF5ZXIgIiA8PCBjb21wb3Np
dGluZ0xheWVyKTsKIAotICAgIGNvbXBvc2l0aW5nTGF5ZXItPnNldE5lZWRzQ29tcG9zaXRpbmdD
b25maWd1cmF0aW9uVXBkYXRlKCk7CisgICAgY29tcG9zaXRpbmdMYXllci0+YmFja2luZygpLT5z
ZXROZWVkc0V2ZW50UmVnaW9uVXBkYXRlKCk7CiAKICAgICBpZiAocmVhc29uID09IEV2ZW50UmVn
aW9uSW52YWxpZGF0aW9uUmVhc29uOjpOb25Db21wb3NpdGVkRnJhbWUpIHsKICAgICAgICAgYXV0
byYgdmlldyA9IHJlbmRlcmVyKCkudmlldygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAppbmRleCA0ODA5YWQxMjU0NTEwNTJhNjlhNDkzYjk2
ZDI2MjdlNjA0MmZhZDU1Li41MTlkMzYxMDc4MDhlMzYyZjdjMDQwZjQyNzhjODgzYTJmMzkwNjFl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5n
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNw
cApAQCAtMTcwOCw2ICsxNzA4LDcgQEAgYm9vbCBSZW5kZXJMYXllckJhY2tpbmc6Om1haW50YWlu
c0V2ZW50UmVnaW9uKCkgY29uc3QKICAgICAgICAgcmV0dXJuIHRydWU7CiAjZW5kaWYKICNpZiBF
TkFCTEUoRURJVEFCTEVfUkVHSU9OKQorICAgIExPR19XSVRIX1NUUkVBTShFdmVudFJlZ2lvbnMs
IHN0cmVhbSA8PCAiUmVuZGVyTGF5ZXJCYWNraW5nOiAiIDw8IHRoaXMgPDwgIiBtYWludGFpbnNF
dmVudFJlZ2lvbiAtIG1heUhhdmVFZGl0YWJsZUVsZW1lbnRzOiAiIDw8IHJlbmRlcmVyKCkuZG9j
dW1lbnQoKS5tYXlIYXZlRWRpdGFibGVFbGVtZW50cygpIDw8ICIgc2hvdWxkQnVpbGRFZGl0YWJs
ZVJlZ2lvbjogIiA8PCByZW5kZXJlcigpLnBhZ2UoKS5zaG91bGRCdWlsZEVkaXRhYmxlUmVnaW9u
KCkpOwogICAgIGlmIChyZW5kZXJlcigpLmRvY3VtZW50KCkubWF5SGF2ZUVkaXRhYmxlRWxlbWVu
dHMoKSAmJiByZW5kZXJlcigpLnBhZ2UoKS5zaG91bGRCdWlsZEVkaXRhYmxlUmVnaW9uKCkpCiAg
ICAgICAgIHJldHVybiB0cnVlOwogI2VuZGlmCkBAIC0xNzI3LDEwICsxNzI4LDEzIEBAIGJvb2wg
UmVuZGVyTGF5ZXJCYWNraW5nOjptYWludGFpbnNFdmVudFJlZ2lvbigpIGNvbnN0CiAKIHZvaWQg
UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVFdmVudFJlZ2lvbigpCiB7CisgICAgTE9HX1dJVEhf
U1RSRUFNKEV2ZW50UmVnaW9ucywgc3RyZWFtIDw8IG1fb3duaW5nTGF5ZXIgPDwgIiAiIDw8IHRo
aXMgPDwgIiB1cGRhdGVFdmVudFJlZ2lvbiAobmVlZHMgdXBkYXRlOiAiIDw8IG5lZWRzRXZlbnRS
ZWdpb25VcGRhdGUoKSA8PCAiLCBtYWludGFpbnNFdmVudFJlZ2lvbjogIiA8PCBtYWludGFpbnNF
dmVudFJlZ2lvbigpIDw8ICIpIik7CisKICAgICBpZiAoIW1haW50YWluc0V2ZW50UmVnaW9uKCkp
CiAgICAgICAgIHJldHVybjsKIAotICAgIExPR19XSVRIX1NUUkVBTShFdmVudFJlZ2lvbnMsIHN0
cmVhbSA8PCAiUmVuZGVyTGF5ZXJCYWNraW5nICIgPDwgKnRoaXMgPDwgIiB1cGRhdGVFdmVudFJl
Z2lvbiIpOworICAgIGlmICghbmVlZHNFdmVudFJlZ2lvblVwZGF0ZSgpKQorICAgICAgICByZXR1
cm47CiAKICAgICBUcmFjZVNjb3BlIHNjb3BlKENvbXB1dGVFdmVudFJlZ2lvbnNTdGFydCwgQ29t
cHV0ZUV2ZW50UmVnaW9uc0VuZCk7CiAKQEAgLTE3NzgsNiArMTc4Miw4IEBAIHZvaWQgUmVuZGVy
TGF5ZXJCYWNraW5nOjp1cGRhdGVFdmVudFJlZ2lvbigpCiAgICAgICAgIHVwZGF0ZUV2ZW50UmVn
aW9uRm9yTGF5ZXIoKm1fZm9yZWdyb3VuZExheWVyKTsKIAogICAgIHJlbmRlcmVyKCkudmlldygp
LnNldE5lZWRzRXZlbnRSZWdpb25VcGRhdGVGb3JOb25Db21wb3NpdGVkRnJhbWUoZmFsc2UpOwor
ICAgIAorICAgIHNldE5lZWRzRXZlbnRSZWdpb25VcGRhdGUoZmFsc2UpOwogfQogI2VuZGlmCiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuaAppbmRleCAw
MjIyNjdjMTc2Y2MyNTQ5YzhkOGYyNmY0ZmZmMGFhODJjNjAzY2E0Li43YTMwMTQ2OWU0NDk4NzRh
Mzc2Y2ExMjc1OWNkMzE2ZjFkNmM2YTAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyQmFja2luZy5oCkBAIC0yMDQsNiArMjA0LDkgQEAgcHVibGljOgogI2lmIEVO
QUJMRShBU1lOQ19TQ1JPTExJTkcpCiAgICAgYm9vbCBtYWludGFpbnNFdmVudFJlZ2lvbigpIGNv
bnN0OwogICAgIHZvaWQgdXBkYXRlRXZlbnRSZWdpb24oKTsKKyAgICAKKyAgICBib29sIG5lZWRz
RXZlbnRSZWdpb25VcGRhdGUoKSBjb25zdCB7IHJldHVybiBtX25lZWRzRXZlbnRSZWdpb25VcGRh
dGU7IH0KKyAgICB2b2lkIHNldE5lZWRzRXZlbnRSZWdpb25VcGRhdGUoYm9vbCBuZWVkc1VwZGF0
ZSA9IHRydWUpIHsgbV9uZWVkc0V2ZW50UmVnaW9uVXBkYXRlID0gbmVlZHNVcGRhdGU7IH0KICNl
bmRpZgogCiAgICAgdm9pZCB1cGRhdGVBZnRlcldpZGdldFJlc2l6ZSgpOwpAQCAtNDM0LDYgKzQz
Nyw5IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX3JlcXVpcmVzQmFja2dyb3VuZExheWVyIHsgZmFs
c2UgfTsKICAgICBib29sIG1faGFzU3VicGl4ZWxSb3VuZGluZyB7IGZhbHNlIH07CiAgICAgYm9v
bCBtX3BhaW50c1N1YnBpeGVsQW50aWFsaWFzZWRUZXh0IHsgZmFsc2UgfTsgLy8gVGhpcyBpcyBm
b3IgbG9nZ2luZyBvbmx5LgorI2lmIEVOQUJMRShBU1lOQ19TQ1JPTExJTkcpCisgICAgYm9vbCBt
X25lZWRzRXZlbnRSZWdpb25VcGRhdGUgeyB0cnVlIH07CisjZW5kaWYKIH07CiAKIGVudW0gQ2Fu
dmFzQ29tcG9zaXRpbmdTdHJhdGVneSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCmluZGV4IDRiMWI4MjU1NTdhODhlMTA0YWU3N2Uz
ZTBiZTc2ZWZjNTQ3NGQxZWIuLjFiOTBmMmU4YjMxMTU1NzBiNjhjZDEwMDcxODc0ZjBhZThmODY3
NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBv
c2l0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBv
c2l0b3IuY3BwCkBAIC02OTksNiArNjk5LDIyIEBAIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9y
OjpjYW5jZWxDb21wb3NpdGluZ0xheWVyVXBkYXRlKCkKICAgICBtX3VwZGF0ZUNvbXBvc2l0aW5n
TGF5ZXJzVGltZXIuc3RvcCgpOwogfQogCit0ZW1wbGF0ZTx0eXBlbmFtZSBBcHBseUZ1bmN0aW9u
VHlwZT4KK3ZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjphcHBseVRvQ29tcG9zaXRlZExheWVy
SW5jbHVkaW5nRGVzY2VuZGFudHMoUmVuZGVyTGF5ZXImIGxheWVyLCBjb25zdCBBcHBseUZ1bmN0
aW9uVHlwZSYgZnVuY3Rpb24pCit7CisgICAgaWYgKGxheWVyLmlzQ29tcG9zaXRlZCgpKQorICAg
ICAgICBmdW5jdGlvbihsYXllcik7CisgICAgZm9yIChhdXRvKiBjaGlsZExheWVyID0gbGF5ZXIu
Zmlyc3RDaGlsZCgpOyBjaGlsZExheWVyOyBjaGlsZExheWVyID0gY2hpbGRMYXllci0+bmV4dFNp
YmxpbmcoKSkKKyAgICAgICAgYXBwbHlUb0NvbXBvc2l0ZWRMYXllckluY2x1ZGluZ0Rlc2NlbmRh
bnRzKCpjaGlsZExheWVyLCBmdW5jdGlvbik7Cit9CisKK3ZvaWQgUmVuZGVyTGF5ZXJDb21wb3Np
dG9yOjp1cGRhdGVFdmVudFJlZ2lvbnMoKQoreworICAgIGFwcGx5VG9Db21wb3NpdGVkTGF5ZXJJ
bmNsdWRpbmdEZXNjZW5kYW50cygqbV9yZW5kZXJWaWV3LmxheWVyKCksIFtdKGF1dG8mIGxheWVy
KSB7CisgICAgICAgIGxheWVyLmJhY2tpbmcoKS0+dXBkYXRlRXZlbnRSZWdpb24oKTsKKyAgICB9
KTsKK30KKwogc3RhdGljIE9wdGlvbmFsPFNjcm9sbGluZ05vZGVJRD4gZnJhbWVIb3N0aW5nTm9k
ZUZvckZyYW1lKEZyYW1lJiBmcmFtZSkKIHsKICAgICBpZiAoIWZyYW1lLmRvY3VtZW50KCkgfHwg
IWZyYW1lLnZpZXcoKSkKQEAgLTEyNzYsMTMgKzEyOTIsNiBAQCB2b2lkIFJlbmRlckxheWVyQ29t
cG9zaXRvcjo6dXBkYXRlQmFja2luZ0FuZEhpZXJhcmNoeShSZW5kZXJMYXllciYgbGF5ZXIsIFZl
Y3RvcgogICAgICAgICB9IGVsc2UgaWYgKGxheWVyLm5lZWRzU2Nyb2xsaW5nVHJlZVVwZGF0ZSgp
KQogICAgICAgICAgICAgc2Nyb2xsaW5nTm9kZUNoYW5nZXMuYWRkKFNjcm9sbGluZ05vZGVDaGFu
Z2VGbGFnczo6TGF5ZXJHZW9tZXRyeSk7CiAKLSNpZiBFTkFCTEUoQVNZTkNfU0NST0xMSU5HKQot
ICAgICAgICAvLyBUaGlzIG5lZWRzIHRvIGhhcHBlbiBhZnRlciBhbnkgZ2VvbWV0cnkgdXBkYXRl
LgotICAgICAgICAvLyBGSVhNRTogVXNlIHNlcGFyYXRlIGJpdCBmb3IgZXZlbnQgcmVnaW9uIGlu
dmFsaWRhdGlvbi4KLSAgICAgICAgaWYgKGxheWVyTmVlZHNVcGRhdGUgfHwgbGF5ZXIubmVlZHND
b21wb3NpdGluZ0NvbmZpZ3VyYXRpb25VcGRhdGUoKSkKLSAgICAgICAgICAgIGxheWVyQmFja2lu
Zy0+dXBkYXRlRXZlbnRSZWdpb24oKTsKLSNlbmRpZgotCiAgICAgICAgIGlmIChhdXRvKiByZWZs
ZWN0aW9uID0gbGF5ZXIucmVmbGVjdGlvbkxheWVyKCkpIHsKICAgICAgICAgICAgIGlmIChhdXRv
KiByZWZsZWN0aW9uQmFja2luZyA9IHJlZmxlY3Rpb24tPmJhY2tpbmcoKSkgewogICAgICAgICAg
ICAgICAgIHJlZmxlY3Rpb25CYWNraW5nLT51cGRhdGVDb21wb3NpdGVkQm91bmRzKCk7CkBAIC0y
MzU4LDE1ICsyMzY3LDYgQEAgdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnNldElzSW5XaW5k
b3coYm9vbCBpc0luV2luZG93KQogICAgIH0KIH0KIAotdGVtcGxhdGU8dHlwZW5hbWUgQXBwbHlG
dW5jdGlvblR5cGU+Ci12b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6YXBwbHlUb0NvbXBvc2l0
ZWRMYXllckluY2x1ZGluZ0Rlc2NlbmRhbnRzKFJlbmRlckxheWVyJiBsYXllciwgY29uc3QgQXBw
bHlGdW5jdGlvblR5cGUmIGZ1bmN0aW9uKQotewotICAgIGlmIChsYXllci5pc0NvbXBvc2l0ZWQo
KSkKLSAgICAgICAgZnVuY3Rpb24obGF5ZXIpOwotICAgIGZvciAoYXV0byogY2hpbGRMYXllciA9
IGxheWVyLmZpcnN0Q2hpbGQoKTsgY2hpbGRMYXllcjsgY2hpbGRMYXllciA9IGNoaWxkTGF5ZXIt
Pm5leHRTaWJsaW5nKCkpCi0gICAgICAgIGFwcGx5VG9Db21wb3NpdGVkTGF5ZXJJbmNsdWRpbmdE
ZXNjZW5kYW50cygqY2hpbGRMYXllciwgZnVuY3Rpb24pOwotfQotCiB2b2lkIFJlbmRlckxheWVy
Q29tcG9zaXRvcjo6aW52YWxpZGF0ZUV2ZW50UmVnaW9uRm9yQWxsTGF5ZXJzKCkKIHsKICAgICBh
cHBseVRvQ29tcG9zaXRlZExheWVySW5jbHVkaW5nRGVzY2VuZGFudHMoKm1fcmVuZGVyVmlldy5s
YXllcigpLCBbXShhdXRvJiBsYXllcikgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyQ29tcG9zaXRvci5oCmluZGV4IDAwNzM3YmM4MjQyNDNlNzZlODRlY2Y3MmJj
NTNlNThmMWU2ZTE3MzEuLjdhODViMjY5NmM2OGFhNDBkNDI4MWYzYmMyMmM2YmNkNmI4ODAwNWEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0
b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9y
LmgKQEAgLTE5Niw2ICsxOTYsOSBAQCBwdWJsaWM6CiAgICAgLy8gVGhpcyBpcyB1c2VkIHRvIGNh
bmNlbCBhbnkgcGVuZGluZyB1cGRhdGUgdGltZXJzIHdoZW4gdGhlIGRvY3VtZW50IGdvZXMgaW50
byBiYWNrL2ZvcndhcmQgY2FjaGUuCiAgICAgdm9pZCBjYW5jZWxDb21wb3NpdGluZ0xheWVyVXBk
YXRlKCk7CiAKKyAgICAvLyBVcGRhdGUgZXZlbnQgcmVnaW9ucywgd2hpY2ggb25seSBuZWVkcyB0
byBoYXBwZW4gb25jZSBwZXIgcmVuZGVyaW5nIHVwZGF0ZS4KKyAgICB2b2lkIHVwZGF0ZUV2ZW50
UmVnaW9ucygpOworCiAgICAgZW51bSBjbGFzcyBMYXlvdXRVcFRvRGF0ZSB7CiAgICAgICAgIFll
cywgTm8KICAgICB9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGZjZGUzZTM4YzlmYTljNDg5MGQ4NGYyYmY1M2E5MTMzMjNi
OTE2MzcuLjYzYzRiZGEyZTEyMGIzOGM2MzkyODAzYjNiYjUzOTliNjM5N2RhODggMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwzOSBAQAorMjAyMC0wOC0wNCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFw
cGxlLmNvbT4KKworICAgICAgICBVcGRhdGUgZXZlbnQgcmVnaW9ucyBvbmx5IG9uY2UgcGVyIGZy
YW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTUx
MzIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY2NTMzNzc5PgorCisgICAgICAgIFJldmlld2Vk
IGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIFRlc3RzIHRoYXQgZGlzcGF0Y2ggbW91c2VXaGVl
bCBldmVudHMgaW4gYSB3YXkgdGhhdCB0ZXN0cyBldmVudCByZWdpb25zIG5lZWQgdG8gd2FpdAor
ICAgICAgICBub3cgZm9yIGEgcmVuZGVyaW5nIHVwZGF0ZS4gYGF3YWl0IFVJSGVscGVyLmFuaW1h
dGlvbkZyYW1lKClgIGlzIG5vdCBlbm91Z2gsIGJlY2F1c2UKKyAgICAgICAgdGhlIGZ1bmN0aW9u
IHJlc3VtZXMgaW5zaWRlIGEgbWljcm90YXNrIGF0IHRoZSBlbmQgb2YgdGhlIHJlcXVlc3RBbmlt
YXRpb25GcmFtZSBjYWxsYmFjaywKKyAgICAgICAgd2hpY2ggaXMgYmVmb3JlIHdlJ3ZlIGNvbXBs
ZXRlZCB0aGUgcmVzdCBvZiB0aGUgcmVuZGVyaW5nIHVwZGF0ZSwgYW5kIHRodXMgYmVmb3JlCisg
ICAgICAgIHRoZSBldmVudCByZWdpb25zIGhhdmUgYmVlbiB1cGRhdGVkLgorICAgICAgICAKKyAg
ICAgICAgSW4gYWRkaXRpb24sIGBhd2FpdCBVSUhlbHBlci5hbmltYXRpb25GcmFtZSgpYCBmb2xs
b3dlZCBieSBldmVudFNlbmRlciBjYWxscyB0byBpc3N1ZQorICAgICAgICB3aGVlbCBldmVudHMg
YWN0dWFsbHkgdHJpZ2dlciBQYWdlOjp1cGRhdGVSZW5kZXJpbmcoKSByZS1lbnRyYW5jeSwgdmlh
IHRoZQorICAgICAgICBXS0J1bmRsZVBhZ2VGb3JjZVJlcGFpbnQoKSBpbiBFdmVudFNlbmRpbmdD
b250cm9sbGVyOjptb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoKS4KKwor
ICAgICAgICBUbyBmaXggdGhpcywgYWRkIGFuZCB1c2UgVUlIZWxwZXIucmVuZGVyaW5nVXBkYXRl
KCksIHdoaWNoIHdhaXRzIGZvciBhIHJBRiBhbmQgdXNlcyBhIHNldFRpbWVvdXQoKQorICAgICAg
ICB0byBnZXQgcGFzdCB0aGUgZW5kIG9mIHRoZSBjdXJyZW50IHJlbmRlcmluZyB1cGRhdGUuCisK
KyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9tYWMvYWJzb2x1dGUtaW4tb3ZlcmZsb3ctc2Nyb2xs
LWR5bmFtaWMtZXhwZWN0ZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9tYWMvYWJz
b2x1dGUtaW4tb3ZlcmZsb3ctc2Nyb2xsLWR5bmFtaWMuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Nj
cm9sbGluZy9tYWMvYWJzb2x1dGUtaW4tb3ZlcmZsb3ctc2Nyb2xsLmh0bWw6CisgICAgICAgICog
ZmFzdC9zY3JvbGxpbmcvbWFjL2FzeW5jLXNjcm9sbC1vdmVyZmxvdy1oaWRkZW4tb24tb25lLWF4
aXMuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9tYWMvYXN5bmMtc2Nyb2xsLW92ZXJm
bG93LXJ0bC16b29tZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9tYWMvYXN5bmMt
c2Nyb2xsLW92ZXJmbG93LXRvcC1pbnNldC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5n
L21hYy9hc3luYy1zY3JvbGwtb3ZlcmZsb3cuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGlu
Zy9tYWMvY2xpcC1wYXRoLWhpdC10ZXN0Lmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcv
bWFjL21vdmUtbm9kZS1pbi1vdmVyZmxvdy1zY3JvbGwuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Nj
cm9sbGluZy9tYWMvb3ZlcmZsb3ctc2Nyb2xsZWQtZG9jdW1lbnQuaHRtbDoKKyAgICAgICAgKiBm
YXN0L3Njcm9sbGluZy9tYWMvb3ZlcmZsb3ctem9vbWVkLWRvY3VtZW50Lmh0bWw6CisgICAgICAg
ICogZmFzdC9zY3JvbGxpbmcvbWFjL292ZXJsYXBwZWQtb3ZlcmZsb3ctc2Nyb2xsLmh0bWw6Cisg
ICAgICAgICogcmVzb3VyY2VzL3VpLWhlbHBlci5qczoKKyAgICAgICAgKHdpbmRvdy5VSUhlbHBl
ci5hc3luYyByZW5kZXJpbmdVcGRhdGUpOgorCiAyMDIwLTA4LTAzICBTaW1vbiBGcmFzZXIgIDxz
aW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBkdXBsaWNhdGUgbGF5b3V0
IHRlc3QgcmVzdWx0cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFj
L2Fic29sdXRlLWluLW92ZXJmbG93LXNjcm9sbC1keW5hbWljLWV4cGVjdGVkLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvYWJzb2x1dGUtaW4tb3ZlcmZsb3ctc2Nyb2xsLWR5
bmFtaWMtZXhwZWN0ZWQuaHRtbAppbmRleCA3YWU2ZGJmNjA0MDM5YzA3YzM1OTdmNTQwMTliYzM4
YjMzZjBjZTIzLi4wNTVjMjk4N2UwOTBiMDFhNjk5M2E3ZDlhMDNlNmJiMmFlYzVkYzcyIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvYWJzb2x1dGUtaW4tb3ZlcmZs
b3ctc2Nyb2xsLWR5bmFtaWMtZXhwZWN0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Nj
cm9sbGluZy9tYWMvYWJzb2x1dGUtaW4tb3ZlcmZsb3ctc2Nyb2xsLWR5bmFtaWMtZXhwZWN0ZWQu
aHRtbApAQCAtMzcsNiArMzcsNyBAQAogICAgIDxzY3JpcHQ+CiAgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHNjcm9sbE92ZXJDb250ZW50KCkKICAgICAgICAgeworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIucmVuZGVyaW5nVXBkYXRlKCk7CiAgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5tb3Vz
ZVdoZWVsU2Nyb2xsQXQoNTAsIDUwKTsKICAgICAgICAgfQogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvYWJzb2x1dGUtaW4tb3ZlcmZsb3ctc2Nyb2xsLWR5bmFt
aWMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL21hYy9hYnNvbHV0ZS1pbi1vdmVy
Zmxvdy1zY3JvbGwtZHluYW1pYy5odG1sCmluZGV4IDQwZDM4OWRlMDRkYmNiNTQ2ZGRmZDBkM2Qz
MWNlMTE5Y2MzM2QwZWQuLjhiYzk4OTllMWY3YTFhZWM0OTliMTk4YTdiOGM5ZjUzNDVhNmQ0YjEg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL21hYy9hYnNvbHV0ZS1pbi1v
dmVyZmxvdy1zY3JvbGwtZHluYW1pYy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xs
aW5nL21hYy9hYnNvbHV0ZS1pbi1vdmVyZmxvdy1zY3JvbGwtZHluYW1pYy5odG1sCkBAIC00MSw2
ICs0MSw3IEBACiAgICAgPHNjcmlwdD4KICAgICAgICAgYXN5bmMgZnVuY3Rpb24gc2Nyb2xsT3Zl
ckNvbnRlbnQoKQogICAgICAgICB7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5yZW5kZXJp
bmdVcGRhdGUoKTsKICAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLm1vdXNlV2hlZWxTY3JvbGxB
dCg1MCwgNTApOwogICAgICAgICB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Ny
b2xsaW5nL21hYy9hYnNvbHV0ZS1pbi1vdmVyZmxvdy1zY3JvbGwuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3Qvc2Nyb2xsaW5nL21hYy9hYnNvbHV0ZS1pbi1vdmVyZmxvdy1zY3JvbGwuaHRtbAppbmRl
eCA2ZjdlNzE1YWY1M2NiNDYyMThkN2QxOTZlNWVhYTFkOGQ1YTBkMDI1Li44ZWNjYWVkZjE0NTk2
NGYxNDNkYTVlN2E1NmQ2YmIxNDAyMmMyYTMwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L3Njcm9sbGluZy9tYWMvYWJzb2x1dGUtaW4tb3ZlcmZsb3ctc2Nyb2xsLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFjL2Fic29sdXRlLWluLW92ZXJmbG93LXNjcm9sbC5o
dG1sCkBAIC00Nyw3ICs0Nyw3IEBACiAgICAgICAgICAgICBzY3JvbGxlci5zY3JvbGxUb3AgPSAw
OwogICAgICAgICAgICAgCiAgICAgICAgICAgICAvLyBXYWl0IGZvciBzY3JvbGwgZXZlbnRzIHRv
IGZpcmUuCi0gICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hbmltYXRpb25GcmFtZSgpOworICAg
ICAgICAgICAgYXdhaXQgVUlIZWxwZXIucmVuZGVyaW5nVXBkYXRlKCk7CiAKICAgICAgICAgICAg
IG92ZXJmbG93U2Nyb2xsRXZlbnRDb3VudCA9IDA7CiAgICAgICAgICAgICB3aW5kb3dTY3JvbGxF
dmVudENvdW50ID0gMDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL21h
Yy9hc3luYy1zY3JvbGwtb3ZlcmZsb3ctaGlkZGVuLW9uLW9uZS1heGlzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvYXN5bmMtc2Nyb2xsLW92ZXJmbG93LWhpZGRlbi1vbi1v
bmUtYXhpcy5odG1sCmluZGV4IDBiNGZkOTljYzkwYWU1MWJkZjIyZjkyNjZhYmM4ZTIxZGIxOGE0
ZTYuLmU1NDUwMTQ2NTAyMzI1Njk3Njc1NjIzMjFhMDVjMjc3ODRlYWE4ZmEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL21hYy9hc3luYy1zY3JvbGwtb3ZlcmZsb3ctaGlk
ZGVuLW9uLW9uZS1heGlzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFj
L2FzeW5jLXNjcm9sbC1vdmVyZmxvdy1oaWRkZW4tb24tb25lLWF4aXMuaHRtbApAQCAtNDksNyAr
NDksNyBAQAogICAgICAgICAgICAgdmVydGljYWxTY3JvbGxlci5zY3JvbGxUb3AgPSAwOwogICAg
ICAgICAgICAgCiAgICAgICAgICAgICAvLyBXYWl0IGZvciBzY3JvbGwgZXZlbnRzIHRvIGZpcmUu
Ci0gICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hbmltYXRpb25GcmFtZSgpOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIucmVuZGVyaW5nVXBkYXRlKCk7CiAKICAgICAgICAgICAgIGhvcml6
b250YWxTY3JvbGxlckV2ZW50Q291bnQgPSAwOwogICAgICAgICAgICAgdmVydGljYWxTY3JvbGxl
ckV2ZW50Q291bnQgPSAwOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcv
bWFjL2FzeW5jLXNjcm9sbC1vdmVyZmxvdy1ydGwtem9vbWVkLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L3Njcm9sbGluZy9tYWMvYXN5bmMtc2Nyb2xsLW92ZXJmbG93LXJ0bC16b29tZWQuaHRtbApp
bmRleCA0MWJkMGRmM2RlYWM2ZDIzNjdlNTE4MzBmMGZiODZiYWNmYzY0OTFkLi4yMDllNTQ5MGE0
OWQ0ZGMxODY2OWRjYmJiMTAzZmFhOGYxZjI4Yzc4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L3Njcm9sbGluZy9tYWMvYXN5bmMtc2Nyb2xsLW92ZXJmbG93LXJ0bC16b29tZWQuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvYXN5bmMtc2Nyb2xsLW92ZXJmbG93
LXJ0bC16b29tZWQuaHRtbApAQCAtNDAsNyArNDAsNyBAQAogICAgICAgICAgICAgc2Nyb2xsZXIu
c2Nyb2xsVG9wID0gMDsKICAgICAgICAgICAgIAogICAgICAgICAgICAgLy8gV2FpdCBmb3Igc2Ny
b2xsIGV2ZW50cyB0byBmaXJlLgotICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYW5pbWF0aW9u
RnJhbWUoKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLnJlbmRlcmluZ1VwZGF0ZSgpOwog
CiAgICAgICAgICAgICBvdmVyZmxvd1Njcm9sbEV2ZW50Q291bnQgPSAwOwogICAgICAgICAgICAg
d2luZG93U2Nyb2xsRXZlbnRDb3VudCA9IDA7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L3Njcm9sbGluZy9tYWMvYXN5bmMtc2Nyb2xsLW92ZXJmbG93LXRvcC1pbnNldC5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFjL2FzeW5jLXNjcm9sbC1vdmVyZmxvdy10b3AtaW5z
ZXQuaHRtbAppbmRleCBhMTQ5OTA3MjFiMDI5NjNjNzNiMDU0YWNiNmNmMDA5YmQ2NGY4YzMyLi41
ODRmMDA4N2U3NjMyNGNhNTBmNDY0NzVhYzc2YmI0Y2ZmZjgyMGE5IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvYXN5bmMtc2Nyb2xsLW92ZXJmbG93LXRvcC1pbnNl
dC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL21hYy9hc3luYy1zY3JvbGwt
b3ZlcmZsb3ctdG9wLWluc2V0Lmh0bWwKQEAgLTM5LDcgKzM5LDcgQEAKICAgICAgICAgICAgIHNj
cm9sbGVyLnNjcm9sbFRvcCA9IDA7CiAgICAgICAgICAgICAKICAgICAgICAgICAgIC8vIFdhaXQg
Zm9yIHNjcm9sbCBldmVudHMgdG8gZmlyZS4KLSAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFu
aW1hdGlvbkZyYW1lKCk7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5yZW5kZXJpbmdVcGRh
dGUoKTsKIAogICAgICAgICAgICAgb3ZlcmZsb3dTY3JvbGxFdmVudENvdW50ID0gMDsKICAgICAg
ICAgICAgIHdpbmRvd1Njcm9sbEV2ZW50Q291bnQgPSAwOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9zY3JvbGxpbmcvbWFjL2FzeW5jLXNjcm9sbC1vdmVyZmxvdy5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFjL2FzeW5jLXNjcm9sbC1vdmVyZmxvdy5odG1sCmluZGV4
IDc1YzIwMGU3MGZhMWE1MTRmZmQyYjU5NjMxZTcwN2NkMDA0NWViYWMuLjIwNmMzMzNhOTRmZTcy
ZjdjOTk5OTk4MmY5ZTFkODU0MjgzNWU3M2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
c2Nyb2xsaW5nL21hYy9hc3luYy1zY3JvbGwtb3ZlcmZsb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L3Njcm9sbGluZy9tYWMvYXN5bmMtc2Nyb2xsLW92ZXJmbG93Lmh0bWwKQEAgLTM2LDcg
KzM2LDcgQEAKICAgICAgICAgICAgIHNjcm9sbGVyLnNjcm9sbFRvcCA9IDA7CiAgICAgICAgICAg
ICAKICAgICAgICAgICAgIC8vIFdhaXQgZm9yIHNjcm9sbCBldmVudHMgdG8gZmlyZS4KLSAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFuaW1hdGlvbkZyYW1lKCk7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5yZW5kZXJpbmdVcGRhdGUoKTsKIAogICAgICAgICAgICAgb3ZlcmZsb3dTY3Jv
bGxFdmVudENvdW50ID0gMDsKICAgICAgICAgICAgIHdpbmRvd1Njcm9sbEV2ZW50Q291bnQgPSAw
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFjL2NsaXAtcGF0aC1o
aXQtdGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFjL2NsaXAtcGF0aC1o
aXQtdGVzdC5odG1sCmluZGV4IDk0NDljZDQ1MTc0MTZjNWRmYzVkMWNlODlmN2NjNTliOWNkODhj
NWEuLmFmMTk5MGE4NDY5YmJjZmEwNzAwYTVhOWE0NjYwYjYyZjZjNTE1MmMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL21hYy9jbGlwLXBhdGgtaGl0LXRlc3QuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvY2xpcC1wYXRoLWhpdC10ZXN0Lmh0
bWwKQEAgLTM2LDcgKzM2LDcgQEAKICAgICAgICAgICAgIHNjcm9sbGVyLnNjcm9sbFRvcCA9IDA7
CiAgICAgICAgICAgICAKICAgICAgICAgICAgIC8vIFdhaXQgZm9yIHNjcm9sbCBldmVudHMgdG8g
ZmlyZS4KLSAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFuaW1hdGlvbkZyYW1lKCk7CisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci5yZW5kZXJpbmdVcGRhdGUoKTsKIAogICAgICAgICAgICAg
b3ZlcmZsb3dTY3JvbGxFdmVudENvdW50ID0gMDsKICAgICAgICAgICAgIHdpbmRvd1Njcm9sbEV2
ZW50Q291bnQgPSAwOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFj
L21vdmUtbm9kZS1pbi1vdmVyZmxvdy1zY3JvbGwuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Ny
b2xsaW5nL21hYy9tb3ZlLW5vZGUtaW4tb3ZlcmZsb3ctc2Nyb2xsLmh0bWwKaW5kZXggNmFjOGU4
MmMyOTU5Y2FiMjM5MWEzNWRkOGQxNzkzNzg3Mzc0Y2U3NC4uZWViNWFkZmI4N2E3NjJhNzZjMThk
MjIyZDc5OGM4NTgzMTNiYjM2NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxp
bmcvbWFjL21vdmUtbm9kZS1pbi1vdmVyZmxvdy1zY3JvbGwuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L3Njcm9sbGluZy9tYWMvbW92ZS1ub2RlLWluLW92ZXJmbG93LXNjcm9sbC5odG1sCkBA
IC00NSw3ICs0NSw3IEBACiAgICAgICAgICAgICBzY3JvbGxlci5zY3JvbGxUb3AgPSAwOwogICAg
ICAgICAgICAgCiAgICAgICAgICAgICAvLyBXYWl0IGZvciBzY3JvbGwgZXZlbnRzIHRvIGZpcmUu
Ci0gICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hbmltYXRpb25GcmFtZSgpOworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIucmVuZGVyaW5nVXBkYXRlKCk7CiAKICAgICAgICAgICAgIG92ZXJm
bG93U2Nyb2xsRXZlbnRDb3VudCA9IDA7CiAgICAgICAgICAgICB3aW5kb3dTY3JvbGxFdmVudENv
dW50ID0gMDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL21hYy9vdmVy
Zmxvdy1zY3JvbGxlZC1kb2N1bWVudC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcv
bWFjL292ZXJmbG93LXNjcm9sbGVkLWRvY3VtZW50Lmh0bWwKaW5kZXggMDg5MTg5MWUwMjMzNjZi
YzQ0NmRmMWRlMzEzN2UzMGU4YWEyYWMyNC4uYmEwOTA3ZjczYTNmNDUxY2MyMDkzMWMwMTRmZDBi
ZDMzNTIyNjliZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFjL292
ZXJmbG93LXNjcm9sbGVkLWRvY3VtZW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3Jv
bGxpbmcvbWFjL292ZXJmbG93LXNjcm9sbGVkLWRvY3VtZW50Lmh0bWwKQEAgLTM2LDcgKzM2LDcg
QEAKICAgICAgICAgICAgIHNjcm9sbGVyLnNjcm9sbFRvcCA9IDA7CiAgICAgICAgICAgICAKICAg
ICAgICAgICAgIC8vIFdhaXQgZm9yIHNjcm9sbCBldmVudHMgdG8gZmlyZS4KLSAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFuaW1hdGlvbkZyYW1lKCk7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5yZW5kZXJpbmdVcGRhdGUoKTsKIAogICAgICAgICAgICAgb3ZlcmZsb3dTY3JvbGxFdmVu
dENvdW50ID0gMDsKICAgICAgICAgICAgIHdpbmRvd1Njcm9sbEV2ZW50Q291bnQgPSAwOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFjL292ZXJmbG93LXpvb21lZC1k
b2N1bWVudC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFjL292ZXJmbG93LXpv
b21lZC1kb2N1bWVudC5odG1sCmluZGV4IDJlMjRiMzcyZDkyMDQ5NmU2MzQzYmE3ZjMzNGQwYTFh
YjI4YTBhN2QuLjU4NGQ4YmQxNmI0YzllYjRlYTc3NzY0ZjcxZTBhYWQwNjU4MWJmMGUgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL21hYy9vdmVyZmxvdy16b29tZWQtZG9j
dW1lbnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvb3ZlcmZsb3ct
em9vbWVkLWRvY3VtZW50Lmh0bWwKQEAgLTM2LDcgKzM2LDcgQEAKICAgICAgICAgICAgIHNjcm9s
bGVyLnNjcm9sbFRvcCA9IDA7CiAgICAgICAgICAgICAKICAgICAgICAgICAgIC8vIFdhaXQgZm9y
IHNjcm9sbCBldmVudHMgdG8gZmlyZS4KLSAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmFuaW1h
dGlvbkZyYW1lKCk7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5yZW5kZXJpbmdVcGRhdGUo
KTsKIAogICAgICAgICAgICAgb3ZlcmZsb3dTY3JvbGxFdmVudENvdW50ID0gMDsKICAgICAgICAg
ICAgIHdpbmRvd1Njcm9sbEV2ZW50Q291bnQgPSAwOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9zY3JvbGxpbmcvbWFjL292ZXJsYXBwZWQtb3ZlcmZsb3ctc2Nyb2xsLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvb3ZlcmxhcHBlZC1vdmVyZmxvdy1zY3JvbGwuaHRt
bAppbmRleCBiZGQ3YTNjOTgyMGU0NDIzYzgxNTA4ODc2OWRlYjBlMTdkMjVhOGM4Li40NzUxMWRh
ZTBiOGNiYzJjZDQ4ZGM5ZGUzYzBlNmYyZDMzODM3ZGUwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L3Njcm9sbGluZy9tYWMvb3ZlcmxhcHBlZC1vdmVyZmxvdy1zY3JvbGwuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvb3ZlcmxhcHBlZC1vdmVyZmxvdy1zY3Jv
bGwuaHRtbApAQCAtNDcsNyArNDcsNyBAQAogICAgICAgICAgICAgc2Nyb2xsZXIuc2Nyb2xsVG9w
ID0gMDsKICAgICAgICAgICAgIAogICAgICAgICAgICAgLy8gV2FpdCBmb3Igc2Nyb2xsIGV2ZW50
cyB0byBmaXJlLgotICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYW5pbWF0aW9uRnJhbWUoKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLnJlbmRlcmluZ1VwZGF0ZSgpOwogCiAgICAgICAg
ICAgICBvdmVyZmxvd1Njcm9sbEV2ZW50Q291bnQgPSAwOwogICAgICAgICAgICAgd2luZG93U2Ny
b2xsRXZlbnRDb3VudCA9IDA7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIGIvTGF5b3V0VGVzdHMvcmVzb3VyY2VzL3VpLWhlbHBlci5qcwppbmRleCAxMzYz
MzY5ZjlmNDQ0NjEyOGJlMGU4YzY3MmRkNWMyNmY5OWZmYjVhLi5lYjg1YWUzZDhhNWM3NzdkZTEx
MTMxY2E4Yzg1ZmFmZGRhMmI4YjFiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9yZXNvdXJjZXMv
dWktaGVscGVyLmpzCisrKyBiL0xheW91dFRlc3RzL3Jlc291cmNlcy91aS1oZWxwZXIuanMKQEAg
LTg3LDYgKzg3LDEyIEBAIHdpbmRvdy5VSUhlbHBlciA9IGNsYXNzIFVJSGVscGVyIHsKICAgICAg
ICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlcXVlc3RBbmltYXRpb25GcmFtZSk7CiAgICAgfQogCisg
ICAgc3RhdGljIGFzeW5jIHJlbmRlcmluZ1VwZGF0ZSgpCisgICAgeworICAgICAgICBhd2FpdCBV
SUhlbHBlci5hbmltYXRpb25GcmFtZSgpOworICAgICAgICBhd2FpdCBVSUhlbHBlci5kZWxheUZv
cigwKTsKKyAgICB9CisKICAgICBzdGF0aWMgYXN5bmMgd2FpdEZvckNvbmRpdGlvbihjb25kaXRp
b25GdW5jKQogICAgIHsKICAgICAgICAgd2hpbGUgKCFjb25kaXRpb25GdW5jKCkpIHsK
</data>

          </attachment>
      

    </bug>

</bugzilla>