<?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>189091</bug_id>
          
          <creation_ts>2018-08-29 11:35:04 -0700</creation_ts>
          <short_desc>Flaky IntersectionObserver web platform tests involving style updates</short_desc>
          <delta_ts>2018-10-17 06:53: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>Layout and Rendering</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>159475</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ali Juma">ajuma</reporter>
          <assigned_to name="Ali Juma">ajuma</assigned_to>
          <cc>ajuma</cc>
    
    <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</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>1454858</commentid>
    <comment_count>0</comment_count>
    <who name="Ali Juma">ajuma</who>
    <bug_when>2018-08-29 11:35:04 -0700</bug_when>
    <thetext>These tests are flaky on Mac WK1:

web-platform-tests/intersection-observer/bounding-box.html
web-platform-tests/intersection-observer/display-none.html
web-platform-tests/intersection-observer/containing-block.html

My suspicion is that the Timer-based scheduling we&apos;re using doesn&apos;t always generate updates when the tests expect, since the tests are written in a way that assumes HTMLEventLoop-driven scheduling.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454860</commentid>
    <comment_count>1</comment_count>
      <attachid>348417</attachid>
    <who name="Ali Juma">ajuma</who>
    <bug_when>2018-08-29 11:42:20 -0700</bug_when>
    <thetext>Created attachment 348417
Suppress flaky failures</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454862</commentid>
    <comment_count>2</comment_count>
      <attachid>348417</attachid>
    <who name="Ali Juma">ajuma</who>
    <bug_when>2018-08-29 11:44:30 -0700</bug_when>
    <thetext>Comment on attachment 348417
Suppress flaky failures

Clearing flags on attachment: 348417

Committed r235471: &lt;https://trac.webkit.org/changeset/235471&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454915</commentid>
    <comment_count>3</comment_count>
    <who name="Ali Juma">ajuma</who>
    <bug_when>2018-08-29 13:59:53 -0700</bug_when>
    <thetext>What&apos;s interesting about these three test is they all involve changes to style which change intersection, and in the flaky failures we&apos;re not getting an intersection update at the point where the test expects one. For changes to style, we first need a style update to happen, which then triggers a layout update, which then schedules an intersection update, and that in turn schedules notifications. The WPTs expect layout and style to be updated right after the next rAF, and intersections to be updated right after that.

One thing we can do to reduce the delay for notifications is to fire them immediately after the intersection update rather than scheduled on zero-second Timer (since the intersection update itself is already scheduled using a Timer).

These tests are also flaking on WK2, so I&apos;m going to generalize the suppression until we have a fix landed and the tests are no longer flaking.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454927</commentid>
    <comment_count>4</comment_count>
      <attachid>348432</attachid>
    <who name="Ali Juma">ajuma</who>
    <bug_when>2018-08-29 14:18:31 -0700</bug_when>
    <thetext>Created attachment 348432
Generalize suppression</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454930</commentid>
    <comment_count>5</comment_count>
      <attachid>348432</attachid>
    <who name="Ali Juma">ajuma</who>
    <bug_when>2018-08-29 14:20:25 -0700</bug_when>
    <thetext>Comment on attachment 348432
Generalize suppression

Clearing flags on attachment: 348432

Committed r235479: &lt;https://trac.webkit.org/changeset/235479&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1455087</commentid>
    <comment_count>6</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2018-08-29 18:16:17 -0700</bug_when>
    <thetext>Given the description above I suspect these flaky results reflect a real bug that could adversely affect interoperability with other browser engines. Even though these timing properties are not well specified, I think they could possibly be important for compatibility, not just for the test harness.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1455388</commentid>
    <comment_count>7</comment_count>
    <who name="Ali Juma">ajuma</who>
    <bug_when>2018-08-30 13:40:36 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #6)
&gt; Given the description above I suspect these flaky results reflect a real bug
&gt; that could adversely affect interoperability with other browser engines.
&gt; Even though these timing properties are not well specified, I think they
&gt; could possibly be important for compatibility, not just for the test harness.

Yes, trying to make the timing of these events more predictable (and more consistent with other browsers) seems worth doing. The approach I&apos;m considering is scheduling these updates as part of the layer update lifecycle (e.g., scheduling them right after flushLayers()). At that point we know that layout and style are up-to-date, so it&apos;s safe to compute intersections.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1465081</commentid>
    <comment_count>8</comment_count>
      <attachid>351259</attachid>
    <who name="Ali Juma">ajuma</who>
    <bug_when>2018-10-01 10:31:57 -0700</bug_when>
    <thetext>Created attachment 351259
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1468236</commentid>
    <comment_count>9</comment_count>
      <attachid>351259</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-10-11 16:33:40 -0700</bug_when>
    <thetext>Comment on attachment 351259
Patch

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

&gt; Source/WebKit/WebProcess/WebPage/AcceleratedDrawingArea.cpp:258
&gt; +#if ENABLE(INTERSECTION_OBSERVER)
&gt; +        m_webPage.updateIntersectionObservations();
&gt; +#endif

Would be nice to add a &quot;willDisplayPage&quot; bottleneck to WebPage and/or Page and move the #ifdef lower down.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1469853</commentid>
    <comment_count>10</comment_count>
      <attachid>352494</attachid>
    <who name="Ali Juma">ajuma</who>
    <bug_when>2018-10-16 13:29:07 -0700</bug_when>
    <thetext>Created attachment 352494
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1469857</commentid>
    <comment_count>11</comment_count>
    <who name="Ali Juma">ajuma</who>
    <bug_when>2018-10-16 13:30:26 -0700</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #9)
&gt; Comment on attachment 351259 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=351259&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/WebProcess/WebPage/AcceleratedDrawingArea.cpp:258
&gt; &gt; +#if ENABLE(INTERSECTION_OBSERVER)
&gt; &gt; +        m_webPage.updateIntersectionObservations();
&gt; &gt; +#endif
&gt; 
&gt; Would be nice to add a &quot;willDisplayPage&quot; bottleneck to WebPage and/or Page
&gt; and move the #ifdef lower down.

Done, added willDisplayPage to WebPage and Page and moved the #if down to Page.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1470095</commentid>
    <comment_count>12</comment_count>
      <attachid>352494</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-10-17 06:52:38 -0700</bug_when>
    <thetext>Comment on attachment 352494
Patch for landing

Clearing flags on attachment: 352494

Committed r237218: &lt;https://trac.webkit.org/changeset/237218&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1470096</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-10-17 06:52:40 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1470097</commentid>
    <comment_count>14</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-10-17 06:53:26 -0700</bug_when>
    <thetext>&lt;rdar://problem/45337305&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>348417</attachid>
            <date>2018-08-29 11:42:20 -0700</date>
            <delta_ts>2018-08-29 14:18:28 -0700</delta_ts>
            <desc>Suppress flaky failures</desc>
            <filename>bug-189091-20180829144220.patch</filename>
            <type>text/plain</type>
            <size>1693</size>
            <attacher name="Ali Juma">ajuma</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1NDU5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNmZmMDM1ZjUwYjNlNDU3NjFjZDBj
YTU1Y2ExNTkzNTJkOGI2YjYwMC4uZGU4ZGM2ZDVkNTFmMDUwZDU5MDgzMjdmN2EyYzg3YTA1OGEw
NGE5NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDE4LTA4LTI5ICBBbGkgSnVtYSAgPGFqdW1h
QGNocm9taXVtLm9yZz4KKworICAgICAgICBbbWFjLXdrMV0gTWFyayB0aHJlZSBJbnRlcnNlY3Rp
b25PYnNlcnZlciB3ZWIgcGxhdGZvcm0gdGVzdHMgYXMgZmxha3kKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTA5MQorCisgICAgICAgIFVucmV2aWV3
ZWQgdGVzdCBnYXJkZW5pbmcuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBl
Y3RhdGlvbnM6CisKIDIwMTgtMDgtMjggIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgQ2hhbmdlcyB0byBzbG90IGNoaWxkcmVuIHNob3VsZCB0cmlnZ2VyIHNsb3Rj
aGFuZ2UKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVj
dGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucwpp
bmRleCBkMjZlZDNiMTI3OTBlMTc1ODI5NDQ5YWIwNTQzYWFkZmM4Mjg5YTJhLi4zYTk2NmZiZTZk
YmE0ZmE4NzUwYmYwYTI0YjA2ZjRhYjgyYTRmNWIwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCkBAIC00MjcsNiArNDI3LDEwIEBAIGNzczMvdmll
d3BvcnQtcGVyY2VudGFnZS1sZW5ndGhzL3ZoLWF1dG8tc2l6ZS5odG1sIFsgU2tpcCBdCiAKIHdl
YmtpdC5vcmcvYi8xNzA4NzcgWyBEZWJ1ZyBdIHdlYmdsLzEuMC4yL2NvbmZvcm1hbmNlL2dsc2wv
bWlzYy9zaGFkZXItd2l0aC1yZXNlcnZlZC13b3Jkcy5odG1sIFsgUGFzcyBUaW1lb3V0IF0KIAor
d2Via2l0Lm9yZy9iLzE4OTA5MSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVy
c2VjdGlvbi1vYnNlcnZlci9ib3VuZGluZy1ib3guaHRtbCBbIFBhc3MgRmFpbHVyZSBdCit3ZWJr
aXQub3JnL2IvMTg5MDkxIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0
aW9uLW9ic2VydmVyL2Rpc3BsYXktbm9uZS5odG1sIFsgUGFzcyBGYWlsdXJlIF0KK3dlYmtpdC5v
cmcvYi8xODkwOTEgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24t
b2JzZXJ2ZXIvY29udGFpbmluZy1ibG9jay5odG1sIFsgUGFzcyBGYWlsdXJlIF0KKwogd2Via2l0
Lm9yZy9iLzE4MDU1NCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9ldmVudC11
cGxvYWQtcHJvZ3Jlc3MtY3Jvc3NvcmlnaW4uaHRtIFsgU2tpcCBdCiAKIHdlYmtpdC5vcmcvYi8x
ODczNzIgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaW50ZXJmYWNl
cy5hbnkud29ya2VyLmh0bWwgWyBQYXNzIFRpbWVvdXQgU2xvdyBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>348432</attachid>
            <date>2018-08-29 14:18:31 -0700</date>
            <delta_ts>2018-10-01 10:31:55 -0700</delta_ts>
            <desc>Generalize suppression</desc>
            <filename>bug-189091-20180829171829.patch</filename>
            <type>text/plain</type>
            <size>2836</size>
            <attacher name="Ali Juma">ajuma</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1NDcxCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNGI0ZWQ1NGQ3ODRmNzJlZTY4Njgz
ZGJhMDhlZTQwOTY3NjliMmU4MS4uYmZiZDY3ODNlOTk4MDM1MzIzZWI3NjdkZjBmZmU3ZmMwOTMw
MzhlYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE4LTA4LTI5ICBBbGkgSnVtYSAgPGFqdW1h
QGNocm9taXVtLm9yZz4KKworICAgICAgICBHZW5lcmFsaXplIHN1cHByZXNpb24gZm9yIGZsYWt5
IEludGVyc2VjdGlvbk9ic2VydmVyIHdlYiBwbGF0Zm9ybSB0ZXN0cworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg5MDkxCisKKyAgICAgICAgVW5yZXZp
ZXdlZCB0ZXN0IGdhcmRlbmluZy4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisgICAg
ICAgICogcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDE4LTA4LTI5ICBB
bGkgSnVtYSAgPGFqdW1hQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbbWFjLXdrMV0gTWFyayB0
aHJlZSBJbnRlcnNlY3Rpb25PYnNlcnZlciB3ZWIgcGxhdGZvcm0gdGVzdHMgYXMgZmxha3kKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0
RXhwZWN0YXRpb25zCmluZGV4IDZjNzEyYjk2YzlmOTYzMmNlMWY5N2YwOTM3ZTEwNTgzOTY2YTY4
NjQuLmEwNjE1NGY4MGJmMzU4NWU2NWMwMmI2NjhhNWUwODdmNzU5M2U3OGEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVj
dGF0aW9ucwpAQCAtMjIxNyw2ICsyMjE3LDEwIEBAIHdlYmtpdC5vcmcvYi8xNzU2MDkgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yLWNvbnRpbnVlCiB3
ZWJraXQub3JnL2IvMTc1NjA5IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhl
ZERCL2lkYmRhdGFiYXNlLWRlbGV0ZU9iamVjdFN0b3JlLWV4Y2VwdGlvbi1vcmRlci5odG0gWyBQ
YXNzIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzE3NTYwOSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9nZXRBbGxLZXlzLmh0bWwgWyBQYXNz
IEZhaWx1cmUgXQogCit3ZWJraXQub3JnL2IvMTg5MDkxIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL2JvdW5kaW5nLWJveC5odG1sIFsgUGFzcyBG
YWlsdXJlIF0KK3dlYmtpdC5vcmcvYi8xODkwOTEgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvZGlzcGxheS1ub25lLmh0bWwgWyBQYXNzIEZhaWx1
cmUgXQord2Via2l0Lm9yZy9iLzE4OTA5MSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ludGVyc2VjdGlvbi1vYnNlcnZlci9jb250YWluaW5nLWJsb2NrLmh0bWwgWyBQYXNzIEZhaWx1
cmUgXQorCiB3ZWJraXQub3JnL2IvMTg2ODQ4IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvRmlsZUFQSS9ibG9iL0Jsb2Itc2xpY2UuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiB3ZWJraXQu
b3JnL2IvMTc5MTc2IHN2Zy93aWNkL3Rlc3QtcmlnaHRzaXppbmctYS54aHRtbCBbIFBhc3MgRmFp
bHVyZSBdCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4
cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9u
cwppbmRleCBlNTRmMTc1ZTMwYjJkNmU3ZTJmMWQ5YjVjMjk5YjAyYzIzMmFkOGE4Li5iYmMwOTUx
YTAwYTg1ZGQ2NGM0ZjE4YTc2ODAzNTlkYjBhYWY2YzE1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCkBAIC00MjcsMTAgKzQyNyw2IEBAIGNzczMv
dmlld3BvcnQtcGVyY2VudGFnZS1sZW5ndGhzL3ZoLWF1dG8tc2l6ZS5odG1sIFsgU2tpcCBdCiAK
IHdlYmtpdC5vcmcvYi8xNzA4NzcgWyBEZWJ1ZyBdIHdlYmdsLzEuMC4yL2NvbmZvcm1hbmNlL2ds
c2wvbWlzYy9zaGFkZXItd2l0aC1yZXNlcnZlZC13b3Jkcy5odG1sIFsgUGFzcyBUaW1lb3V0IF0K
IAotd2Via2l0Lm9yZy9iLzE4OTA5MSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2lu
dGVyc2VjdGlvbi1vYnNlcnZlci9ib3VuZGluZy1ib3guaHRtbCBbIFBhc3MgRmFpbHVyZSBdCi13
ZWJraXQub3JnL2IvMTg5MDkxIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJz
ZWN0aW9uLW9ic2VydmVyL2Rpc3BsYXktbm9uZS5odG1sIFsgUGFzcyBGYWlsdXJlIF0KLXdlYmtp
dC5vcmcvYi8xODkwOTEgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rp
b24tb2JzZXJ2ZXIvY29udGFpbmluZy1ibG9jay5odG1sIFsgUGFzcyBGYWlsdXJlIF0KLQogd2Vi
a2l0Lm9yZy9iLzE4MDU1NCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9ldmVu
dC11cGxvYWQtcHJvZ3Jlc3MtY3Jvc3NvcmlnaW4uaHRtIFsgU2tpcCBdCiAKIHdlYmtpdC5vcmcv
Yi8xODczNzIgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaW50ZXJm
YWNlcy5hbnkud29ya2VyLmh0bWwgWyBQYXNzIFRpbWVvdXQgU2xvdyBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>351259</attachid>
            <date>2018-10-01 10:31:57 -0700</date>
            <delta_ts>2018-10-16 13:29:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189091-20181001133156.patch</filename>
            <type>text/plain</type>
            <size>21724</size>
            <attacher name="Ali Juma">ajuma</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM2NDg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjYwN2ViYjUzNzBmYjM5
MmMwYTQxZjA5ZmM4NDI0Y2ZmODAxNDYxYS4uZDRiYjkwMTE0MDZjYTgzZTBjNzA1ODlhYzg3NWYw
OTJhNGYwZDFlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDE4LTEwLTAxICBBbGkg
SnVtYSAgPGFqdW1hQGNocm9taXVtLm9yZz4KKworICAgICAgICBGbGFreSBJbnRlcnNlY3Rpb25P
YnNlcnZlciB3ZWIgcGxhdGZvcm0gdGVzdHMgaW52b2x2aW5nIHN0eWxlIHVwZGF0ZXMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTA5MQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZSBpbnRlcnNl
Y3Rpb24gb2JzZXJ2YXRpb25zIHdoZW4gZmx1c2hpbmcgbGF5ZXJzIGZyb20gdGhlIFdlYlByb2Nl
c3MKKyAgICAgICAgdG8gdGhlIFVJUHJvY2VzcyB0byBtYWtlIHRoZSB0aW1pbmcgb2YgdGhlc2Ug
dXBkYXRlcyBtb3JlIHByZWRpY3RhYmxlLCBhbmQKKyAgICAgICAgbW9yZSBjb25zaXN0ZW50IHdp
dGggdGhlIEludGVyc2VjdGlvbk9ic2VydmVyIHNwZWMsIHNpbmNlIHRoZSBzcGVjIGV4cGVjdHMK
KyAgICAgICAgdGhlc2UgdXBkYXRlcyB0byBoYXBwZW4gYXMgcGFydCBvZiB0aGUgIlVwZGF0ZSB0
aGUgcmVuZGVyaW5nIiBzdGVwIGluIHRoZQorICAgICAgICBIVE1MIEV2ZW50TG9vcC4KKworICAg
ICAgICBHZXR0aW5nIGEgc2ltaWxhciBhcHByb2FjaCB0byB3b3JrIHdpdGggV0sxIHNlZW1zIHRv
IGFkZCBtb3JlIGNvbXBsZXhpdHkgdGhhbiBpdCdzCisgICAgICAgIHdvcnRoLCBzaW5jZSBmbHVz
aGVzIGRvbid0IGhhcHBlbiBmb3Igc2Nyb2xscyBoYW5kbGVkIGJ5IHBsYXRmb3JtIHdpZGdldHMs
IGFuZAorICAgICAgICBmbHVzaGVzIGZvciBvdGhlciBpbnZhbGlkYXRpb25zIG9ubHkgaGFwcGVu
IHdoZW4gaW4gY29tcG9zaXRpbmcgbW9kZS4KKworICAgICAgICBUaGUgb25seSByZW1haW5pbmcg
dGltZXItZHJpdmVuIGludGVyc2VjdGlvbiBvYnNlcnZhdGlvbiB1cGRhdGUgaXMgZm9yIGhhbmRs
aW5nCisgICAgICAgIHRoZSBpbml0aWFsIG9ic2VydmF0aW9uIG9uIGEgbmV3bHkgYWRkZWQgdGFy
Z2V0LCB3aGljaCBuZWVkcyB0byBoYXBwZW4gZXZlbiBpZgorICAgICAgICB0aGVyZSBhcmUgbm8g
Y2hhbmdlcyB0cmlnZ2VyaW5nIGEgZmx1c2guCisKKyAgICAgICAgVGVzdGVkIGJ5IHRoZSBmb2xs
b3dpbmcgdGVzdHMgbm8gbG9uZ2VyIGJlaW5nIGZsYWt5OgorICAgICAgICAgICAgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvYm91bmRpbmctYm94
Lmh0bWwKKyAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJz
ZWN0aW9uLW9ic2VydmVyL2Rpc3BsYXktbm9uZS5odG1sCisgICAgICAgICAgICBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9jb250YWluaW5nLWJs
b2NrLmh0bWwKKworICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpEb2N1bWVudDo6cmVzb2x2ZVN0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp1
cGRhdGVJbnRlcnNlY3Rpb25PYnNlcnZhdGlvbnMpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1l
bnQ6OnNjaGVkdWxlRm9yY2VkSW50ZXJzZWN0aW9uT2JzZXJ2YXRpb25VcGRhdGUpOgorICAgICAg
ICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnNjaGVkdWxlSW50ZXJzZWN0aW9uT2JzZXJ2YXRpb25VcGRh
dGUpOiBEZWxldGVkLgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAqIHBhZ2Uv
RnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6Zmx1c2hDb21wb3Np
dGluZ1N0YXRlRm9yVGhpc0ZyYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6dmll
d3BvcnRDb250ZW50c0NoYW5nZWQpOgorICAgICAgICAqIHBhZ2UvSW50ZXJzZWN0aW9uT2JzZXJ2
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJzZWN0aW9uT2JzZXJ2ZXI6Om9ic2VydmUp
OgorICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjpQYWdl
KToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OmFkZERvY3VtZW50TmVlZGluZ0ludGVyc2VjdGlv
bk9ic2VydmF0aW9uVXBkYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnVwZGF0ZUludGVy
c2VjdGlvbk9ic2VydmF0aW9ucyk6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjpzY2hlZHVsZUZv
cmNlZEludGVyc2VjdGlvbk9ic2VydmF0aW9uVXBkYXRlKToKKyAgICAgICAgKiBwYWdlL1BhZ2Uu
aDoKKwogMjAxOC0wOS0yNSAgSm9obiBXaWxhbmRlciAgPHdpbGFuZGVyQGFwcGxlLmNvbT4KIAog
ICAgICAgICBDaGFuZ2UgZnJvbSBIQVZFKENGTkVUV09SS19TVE9SQUdFX1BBUlRJVElPTklORykg
dG8gRU5BQkxFKFJFU09VUkNFX0xPQURfU1RBVElTVElDUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZDQxZmExZWU0
ZDc5NmE3ZGJmNjY1YzI2OTFlODUxYzk4OTBhNTcwNy4uMTMxMzllNzVmMTMxNTNkMmY4ZWUxODY1
YmQ1N2UyNzcxYWQxNmVlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAxOC0xMC0wMSAg
QWxpIEp1bWEgIDxhanVtYUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgRmxha3kgSW50ZXJzZWN0
aW9uT2JzZXJ2ZXIgd2ViIHBsYXRmb3JtIHRlc3RzIGludm9sdmluZyBzdHlsZSB1cGRhdGVzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODkwOTEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgaW50
ZXJzZWN0aW9uIG9ic2VydmF0aW9ucyB3aGVuIGZsdXNoaW5nIGxheWVycy4KKworICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViUGFnZS9BY2NlbGVyYXRlZERyYXdpbmdBcmVhLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6QWNjZWxlcmF0ZWREcmF3aW5nQXJlYTo6dXBkYXRlQmFja2luZ1N0b3JlU3RhdGUp
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3Jk
aW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkTGF5
ZXJUcmVlSG9zdDo6bGF5ZXJGbHVzaFRpbWVyRmlyZWQpOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJl
YUltcGw6OmRpc3BsYXkpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9SZW1vdGVMYXll
clRyZWUvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEubW06CisgICAgICAgIChXZWJLaXQ6OlJl
bW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpmbHVzaExheWVycyk6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjp1cGRh
dGVJbnRlcnNlY3Rpb25PYnNlcnZhdGlvbnMpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVB
bmltYXRpb25EcmF3aW5nQXJlYS5tbToKKyAgICAgICAgKFdlYktpdDo6VGlsZWRDb3JlQW5pbWF0
aW9uRHJhd2luZ0FyZWE6OmZsdXNoTGF5ZXJzKToKKwogMjAxOC0wOS0yNSAgSm9obiBXaWxhbmRl
ciAgPHdpbGFuZGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBDaGFuZ2UgZnJvbSBIQVZFKENGTkVU
V09SS19TVE9SQUdFX1BBUlRJVElPTklORykgdG8gRU5BQkxFKFJFU09VUkNFX0xPQURfU1RBVElT
VElDUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDEwYjZkMjgwZTEzZWZjMjE2NTc5YTVh
MGUwMGYxM2MyZjFkYmFmNDUuLjE3MDA3ZTg1MWZhNDcwNGUyOTk4MmNlYWQ0ZjNhMGMwZjQwM2Y2
ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtNTA3LDcgKzUwNyw2IEBAIERvY3VtZW50
OjpEb2N1bWVudChGcmFtZSogZnJhbWUsIGNvbnN0IFVSTCYgdXJsLCB1bnNpZ25lZCBkb2N1bWVu
dENsYXNzZXMsIHVuc2lnCiAgICAgLCBtX2RvY3VtZW50Q2xhc3Nlcyhkb2N1bWVudENsYXNzZXMp
CiAgICAgLCBtX2V2ZW50UXVldWUoKnRoaXMpCiAjaWYgRU5BQkxFKElOVEVSU0VDVElPTl9PQlNF
UlZFUikKLSAgICAsIG1faW50ZXJzZWN0aW9uT2JzZXJ2YXRpb25VcGRhdGVUaW1lcigqdGhpcywg
JkRvY3VtZW50Ojp1cGRhdGVJbnRlcnNlY3Rpb25PYnNlcnZhdGlvbnMpCiAgICAgLCBtX2ludGVy
c2VjdGlvbk9ic2VydmVyc05vdGlmeVRpbWVyKCp0aGlzLCAmRG9jdW1lbnQ6Om5vdGlmeUludGVy
c2VjdGlvbk9ic2VydmVyc1RpbWVyRmlyZWQpCiAjZW5kaWYKICAgICAsIG1fbG9hZEV2ZW50RGVs
YXlUaW1lcigqdGhpcywgJkRvY3VtZW50Ojpsb2FkRXZlbnREZWxheVRpbWVyRmlyZWQpCkBAIC0x
OTI2LDggKzE5MjUsOCBAQCB2b2lkIERvY3VtZW50OjpyZXNvbHZlU3R5bGUoUmVzb2x2ZVN0eWxl
VHlwZSB0eXBlKQogICAgICAgICAvLyBVc3VhbGx5IHRoaXMgaXMgaGFuZGxlZCBieSBwb3N0LWxh
eW91dC4KICAgICAgICAgaWYgKCFmcmFtZVZpZXcubmVlZHNMYXlvdXQoKSkgewogICAgICAgICAg
ICAgZnJhbWVWaWV3LmZyYW1lKCkuc2VsZWN0aW9uKCkuc2NoZWR1bGVBcHBlYXJhbmNlVXBkYXRl
QWZ0ZXJTdHlsZUNoYW5nZSgpOwotICAgICAgICAgICAgaWYgKG1fbmVlZHNJbnRlcnNlY3Rpb25P
YnNlcnZhdGlvblVwZGF0ZSkKLSAgICAgICAgICAgICAgICBzY2hlZHVsZUludGVyc2VjdGlvbk9i
c2VydmF0aW9uVXBkYXRlKCk7CisgICAgICAgICAgICBpZiAobV9uZWVkc0ZvcmNlZEludGVyc2Vj
dGlvbk9ic2VydmF0aW9uVXBkYXRlKQorICAgICAgICAgICAgICAgIHBhZ2UoKS0+c2NoZWR1bGVG
b3JjZWRJbnRlcnNlY3Rpb25PYnNlcnZhdGlvblVwZGF0ZSgqdGhpcyk7CiAgICAgICAgIH0KIAog
ICAgICAgICAvLyBBcyBhIHJlc3VsdCBvZiB0aGUgc3R5bGUgcmVjYWxjdWxhdGlvbiwgdGhlIGN1
cnJlbnRseSBob3ZlcmVkIGVsZW1lbnQgbWlnaHQgaGF2ZSBiZWVuCkBAIC03NTUwLDcgKzc1NDks
NiBAQCBzdGF0aWMgdm9pZCBjb21wdXRlSW50ZXJzZWN0aW9uUmVjdHMoRnJhbWVWaWV3JiBmcmFt
ZVZpZXcsIEludGVyc2VjdGlvbk9ic2VydmVyJgogCiB2b2lkIERvY3VtZW50Ojp1cGRhdGVJbnRl
cnNlY3Rpb25PYnNlcnZhdGlvbnMoKQogewotICAgIEFTU0VSVChtX25lZWRzSW50ZXJzZWN0aW9u
T2JzZXJ2YXRpb25VcGRhdGUpOwogICAgIGF1dG8qIGZyYW1lVmlldyA9IHZpZXcoKTsKICAgICBp
ZiAoIWZyYW1lVmlldykKICAgICAgICAgcmV0dXJuOwpAQCAtNzU1OSw3ICs3NTU3LDcgQEAgdm9p
ZCBEb2N1bWVudDo6dXBkYXRlSW50ZXJzZWN0aW9uT2JzZXJ2YXRpb25zKCkKICAgICBpZiAobmVl
ZHNMYXlvdXQgfHwgaGFzUGVuZGluZ1N0eWxlUmVjYWxjKCkpCiAgICAgICAgIHJldHVybjsKIAot
ICAgIG1fbmVlZHNJbnRlcnNlY3Rpb25PYnNlcnZhdGlvblVwZGF0ZSA9IGZhbHNlOworICAgIG1f
bmVlZHNGb3JjZWRJbnRlcnNlY3Rpb25PYnNlcnZhdGlvblVwZGF0ZSA9IGZhbHNlOwogCiAgICAg
Zm9yIChhdXRvIG9ic2VydmVyIDogbV9pbnRlcnNlY3Rpb25PYnNlcnZlcnMpIHsKICAgICAgICAg
Ym9vbCBuZWVkTm90aWZ5ID0gZmFsc2U7CkBAIC03NjI0LDEzICs3NjIyLDE1IEBAIHZvaWQgRG9j
dW1lbnQ6OnVwZGF0ZUludGVyc2VjdGlvbk9ic2VydmF0aW9ucygpCiAgICAgICAgIG1faW50ZXJz
ZWN0aW9uT2JzZXJ2ZXJzTm90aWZ5VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKLXZvaWQg
RG9jdW1lbnQ6OnNjaGVkdWxlSW50ZXJzZWN0aW9uT2JzZXJ2YXRpb25VcGRhdGUoKQordm9pZCBE
b2N1bWVudDo6c2NoZWR1bGVGb3JjZWRJbnRlcnNlY3Rpb25PYnNlcnZhdGlvblVwZGF0ZSgpCiB7
Ci0gICAgaWYgKG1faW50ZXJzZWN0aW9uT2JzZXJ2ZXJzLmlzRW1wdHkoKSB8fCBtX2ludGVyc2Vj
dGlvbk9ic2VydmF0aW9uVXBkYXRlVGltZXIuaXNBY3RpdmUoKSkKKyAgICBBU1NFUlQoIW1faW50
ZXJzZWN0aW9uT2JzZXJ2ZXJzLmlzRW1wdHkoKSk7CisgICAgaWYgKG1fbmVlZHNGb3JjZWRJbnRl
cnNlY3Rpb25PYnNlcnZhdGlvblVwZGF0ZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9uZWVk
c0ludGVyc2VjdGlvbk9ic2VydmF0aW9uVXBkYXRlID0gdHJ1ZTsKLSAgICBtX2ludGVyc2VjdGlv
bk9ic2VydmF0aW9uVXBkYXRlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CisgICAgbV9uZWVkc0Zv
cmNlZEludGVyc2VjdGlvbk9ic2VydmF0aW9uVXBkYXRlID0gdHJ1ZTsKKyAgICBpZiAoYXV0byog
cGFnZSA9IHRoaXMtPnBhZ2UoKSkKKyAgICAgICAgcGFnZS0+c2NoZWR1bGVGb3JjZWRJbnRlcnNl
Y3Rpb25PYnNlcnZhdGlvblVwZGF0ZSgqdGhpcyk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6Om5vdGlm
eUludGVyc2VjdGlvbk9ic2VydmVyc1RpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRl
eCBiMDk1NzdkODlkZWEyZDQ2YzkxNzBhZGRmOTY2M2UxOTIyMTJkYzE2Li40MWQyNWJmNzFiYTcw
NDE0MWUxOGMwNjkwZDQ5MWQ2Y2VjZTliMDU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtMTM3
OCw4ICsxMzc4LDggQEAgcHVibGljOgogICAgIHZvaWQgYWRkSW50ZXJzZWN0aW9uT2JzZXJ2ZXIo
SW50ZXJzZWN0aW9uT2JzZXJ2ZXImKTsKICAgICB2b2lkIHJlbW92ZUludGVyc2VjdGlvbk9ic2Vy
dmVyKEludGVyc2VjdGlvbk9ic2VydmVyJik7CiAgICAgdW5zaWduZWQgbnVtYmVyT2ZJbnRlcnNl
Y3Rpb25PYnNlcnZlcnMoKSBjb25zdCB7IHJldHVybiBtX2ludGVyc2VjdGlvbk9ic2VydmVycy5z
aXplKCk7IH0KKyAgICB2b2lkIHNjaGVkdWxlRm9yY2VkSW50ZXJzZWN0aW9uT2JzZXJ2YXRpb25V
cGRhdGUoKTsKICAgICB2b2lkIHVwZGF0ZUludGVyc2VjdGlvbk9ic2VydmF0aW9ucygpOwotICAg
IHZvaWQgc2NoZWR1bGVJbnRlcnNlY3Rpb25PYnNlcnZhdGlvblVwZGF0ZSgpOwogI2VuZGlmCiAK
ICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQpAQCAtMTc5NSwxMCArMTc5NSw2IEBAIHByaXZhdGU6
CiAjaWYgRU5BQkxFKElOVEVSU0VDVElPTl9PQlNFUlZFUikKICAgICBWZWN0b3I8V2Vha1B0cjxJ
bnRlcnNlY3Rpb25PYnNlcnZlcj4+IG1faW50ZXJzZWN0aW9uT2JzZXJ2ZXJzOwogICAgIFZlY3Rv
cjxXZWFrUHRyPEludGVyc2VjdGlvbk9ic2VydmVyPj4gbV9pbnRlcnNlY3Rpb25PYnNlcnZlcnNX
aXRoUGVuZGluZ05vdGlmaWNhdGlvbnM7Ci0KLSAgICAvLyBGSVhNRTogU2NoZWR1bGUgaW50ZXJz
ZWN0aW9uIG9ic2VydmF0aW9uIHVwZGF0ZXMgaW4gYSB3YXkgdGhhdCBmaXRzIGludG8gdGhlIEhU
TUwKLSAgICAvLyBFdmVudExvb3AuIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTYwNzExLgotICAgIFRpbWVyIG1faW50ZXJzZWN0aW9uT2JzZXJ2YXRpb25VcGRh
dGVUaW1lcjsKICAgICBUaW1lciBtX2ludGVyc2VjdGlvbk9ic2VydmVyc05vdGlmeVRpbWVyOwog
I2VuZGlmCiAKQEAgLTE5ODcsNyArMTk4Myw3IEBAIHByaXZhdGU6CiAjZW5kaWYKIAogI2lmIEVO
QUJMRShJTlRFUlNFQ1RJT05fT0JTRVJWRVIpCi0gICAgYm9vbCBtX25lZWRzSW50ZXJzZWN0aW9u
T2JzZXJ2YXRpb25VcGRhdGUgeyBmYWxzZSB9OworICAgIGJvb2wgbV9uZWVkc0ZvcmNlZEludGVy
c2VjdGlvbk9ic2VydmF0aW9uVXBkYXRlIHsgZmFsc2UgfTsKICNlbmRpZgogCiAjaWYgRU5BQkxF
KE1FRElBX1NUUkVBTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRleCA4MDJmMzkxODY1
MDc0ODg1MDdmNzdkMGI2MWY4ZWFhYzQzNjg1Zjg1Li5mM2IxNjg4NGExY2NjOWQyODFlMjgwZGI3
ZjVjMzMzOWMxMDZlZjQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmll
dy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBAIC0xMDAwLDYg
KzEwMDAsNyBAQCBib29sIEZyYW1lVmlldzo6Zmx1c2hDb21wb3NpdGluZ1N0YXRlRm9yVGhpc0Zy
YW1lKGNvbnN0IEZyYW1lJiByb290RnJhbWVGb3JGbHVzaAogI2VuZGlmCiAKICAgICByZW5kZXJW
aWV3LT5jb21wb3NpdG9yKCkuZmx1c2hQZW5kaW5nTGF5ZXJDaGFuZ2VzKCZyb290RnJhbWVGb3JG
bHVzaCA9PSBtX2ZyYW1lLnB0cigpKTsKKwogICAgIHJldHVybiB0cnVlOwogfQogCkBAIC0yMDA4
LDggKzIwMDksMTIgQEAgdm9pZCBGcmFtZVZpZXc6OnZpZXdwb3J0Q29udGVudHNDaGFuZ2VkKCkK
ICAgICB9KTsKIAogI2lmIEVOQUJMRShJTlRFUlNFQ1RJT05fT0JTRVJWRVIpCi0gICAgaWYgKGF1
dG8qIGRvY3VtZW50ID0gZnJhbWUoKS5kb2N1bWVudCgpKQotICAgICAgICBkb2N1bWVudC0+c2No
ZWR1bGVJbnRlcnNlY3Rpb25PYnNlcnZhdGlvblVwZGF0ZSgpOworICAgIGlmIChhdXRvKiBkb2N1
bWVudCA9IGZyYW1lKCkuZG9jdW1lbnQoKSkgeworICAgICAgICBpZiAoZG9jdW1lbnQtPm51bWJl
ck9mSW50ZXJzZWN0aW9uT2JzZXJ2ZXJzKCkpIHsKKyAgICAgICAgICAgIGlmIChhdXRvKiBwYWdl
ID0gZnJhbWUoKS5wYWdlKCkpCisgICAgICAgICAgICAgICAgcGFnZS0+YWRkRG9jdW1lbnROZWVk
aW5nSW50ZXJzZWN0aW9uT2JzZXJ2YXRpb25VcGRhdGUoKmRvY3VtZW50KTsKKyAgICAgICAgfQor
ICAgIH0KICNlbmRpZgogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ludGVy
c2VjdGlvbk9ic2VydmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvSW50ZXJzZWN0aW9uT2Jz
ZXJ2ZXIuY3BwCmluZGV4IDc5N2VhNDdiZTE0NWMyYzNlOTc3MTE2N2FmYTdjZWNhZTI0NThmMGIu
LmNmZGFhNDQ1NDc4Y2Y3NmJkODRlMmM4NGU5MTI0ZDAxOGVmMmVlMzUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvSW50ZXJzZWN0aW9uT2JzZXJ2ZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvSW50ZXJzZWN0aW9uT2JzZXJ2ZXIuY3BwCkBAIC0xNTYsNyArMTU2LDcgQEAg
dm9pZCBJbnRlcnNlY3Rpb25PYnNlcnZlcjo6b2JzZXJ2ZShFbGVtZW50JiB0YXJnZXQpCiAgICAg
YXV0byogZG9jdW1lbnQgPSB0cmFja2luZ0RvY3VtZW50KCk7CiAgICAgaWYgKCFoYWRPYnNlcnZh
dGlvblRhcmdldHMpCiAgICAgICAgIGRvY3VtZW50LT5hZGRJbnRlcnNlY3Rpb25PYnNlcnZlcigq
dGhpcyk7Ci0gICAgZG9jdW1lbnQtPnNjaGVkdWxlSW50ZXJzZWN0aW9uT2JzZXJ2YXRpb25VcGRh
dGUoKTsKKyAgICBkb2N1bWVudC0+c2NoZWR1bGVGb3JjZWRJbnRlcnNlY3Rpb25PYnNlcnZhdGlv
blVwZGF0ZSgpOwogfQogCiB2b2lkIEludGVyc2VjdGlvbk9ic2VydmVyOjp1bm9ic2VydmUoRWxl
bWVudCYgdGFyZ2V0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXggNGFiNDBhNzQ4Y2UyMTJmOGVmOTll
OTc5NjE1MWQzZGE2ZjFjYjI1OS4uY2IxMzQ5OTA1OWMyY2E0YjY5YWY3ZTcwYWVlZmU5ZTUyN2Iw
NzE1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC0yNDIsNiArMjQyLDkgQEAgUGFnZTo6UGFnZShQ
YWdlQ29uZmlndXJhdGlvbiYmIHBhZ2VDb25maWd1cmF0aW9uKQogICAgICwgbV9zdG9yYWdlTmFt
ZXNwYWNlUHJvdmlkZXIoKldURk1vdmUocGFnZUNvbmZpZ3VyYXRpb24uc3RvcmFnZU5hbWVzcGFj
ZVByb3ZpZGVyKSkKICAgICAsIG1fdXNlckNvbnRlbnRQcm92aWRlcigqV1RGTW92ZShwYWdlQ29u
ZmlndXJhdGlvbi51c2VyQ29udGVudFByb3ZpZGVyKSkKICAgICAsIG1fdmlzaXRlZExpbmtTdG9y
ZSgqV1RGTW92ZShwYWdlQ29uZmlndXJhdGlvbi52aXNpdGVkTGlua1N0b3JlKSkKKyNpZiBFTkFC
TEUoSU5URVJTRUNUSU9OX09CU0VSVkVSKQorICAgICwgbV9pbnRlcnNlY3Rpb25PYnNlcnZhdGlv
blVwZGF0ZVRpbWVyKCp0aGlzLCAmUGFnZTo6dXBkYXRlSW50ZXJzZWN0aW9uT2JzZXJ2YXRpb25z
KQorI2VuZGlmCiAgICAgLCBtX3Nlc3Npb25JRChQQUw6OlNlc3Npb25JRDo6ZGVmYXVsdFNlc3Np
b25JRCgpKQogI2lmIEVOQUJMRShWSURFTykKICAgICAsIG1fcGxheWJhY2tDb250cm9sc01hbmFn
ZXJVcGRhdGVUaW1lcigqdGhpcywgJlBhZ2U6OnBsYXliYWNrQ29udHJvbHNNYW5hZ2VyVXBkYXRl
VGltZXJGaXJlZCkKQEAgLTExMjAsNiArMTEyMywzMiBAQCB2b2lkIFBhZ2U6OnJlbW92ZUFjdGl2
aXR5U3RhdGVDaGFuZ2VPYnNlcnZlcihBY3Rpdml0eVN0YXRlQ2hhbmdlT2JzZXJ2ZXImIG9ic2Vy
dgogICAgIG1fYWN0aXZpdHlTdGF0ZUNoYW5nZU9ic2VydmVycy5yZW1vdmUoJm9ic2VydmVyKTsK
IH0KIAorI2lmIEVOQUJMRShJTlRFUlNFQ1RJT05fT0JTRVJWRVIpCit2b2lkIFBhZ2U6OmFkZERv
Y3VtZW50TmVlZGluZ0ludGVyc2VjdGlvbk9ic2VydmF0aW9uVXBkYXRlKERvY3VtZW50JiBkb2N1
bWVudCkKK3sKKyAgICBpZiAobV9kb2N1bWVudHNOZWVkaW5nSW50ZXJzZWN0aW9uT2JzZXJ2YXRp
b25VcGRhdGUuZmluZCgmZG9jdW1lbnQpID09IG5vdEZvdW5kKQorICAgICAgICBtX2RvY3VtZW50
c05lZWRpbmdJbnRlcnNlY3Rpb25PYnNlcnZhdGlvblVwZGF0ZS5hcHBlbmQobWFrZVdlYWtQdHIo
ZG9jdW1lbnQpKTsKK30KKwordm9pZCBQYWdlOjp1cGRhdGVJbnRlcnNlY3Rpb25PYnNlcnZhdGlv
bnMoKQoreworICAgIG1faW50ZXJzZWN0aW9uT2JzZXJ2YXRpb25VcGRhdGVUaW1lci5zdG9wKCk7
CisgICAgZm9yIChhdXRvIGRvY3VtZW50IDogbV9kb2N1bWVudHNOZWVkaW5nSW50ZXJzZWN0aW9u
T2JzZXJ2YXRpb25VcGRhdGUpIHsKKyAgICAgICAgaWYgKGRvY3VtZW50KQorICAgICAgICAgICAg
ZG9jdW1lbnQtPnVwZGF0ZUludGVyc2VjdGlvbk9ic2VydmF0aW9ucygpOworICAgIH0KKyAgICBt
X2RvY3VtZW50c05lZWRpbmdJbnRlcnNlY3Rpb25PYnNlcnZhdGlvblVwZGF0ZS5jbGVhcigpOwor
fQorCit2b2lkIFBhZ2U6OnNjaGVkdWxlRm9yY2VkSW50ZXJzZWN0aW9uT2JzZXJ2YXRpb25VcGRh
dGUoRG9jdW1lbnQmIGRvY3VtZW50KQoreworICAgIGFkZERvY3VtZW50TmVlZGluZ0ludGVyc2Vj
dGlvbk9ic2VydmF0aW9uVXBkYXRlKGRvY3VtZW50KTsKKyAgICBpZiAobV9pbnRlcnNlY3Rpb25P
YnNlcnZhdGlvblVwZGF0ZVRpbWVyLmlzQWN0aXZlKCkpCisgICAgICAgIHJldHVybjsKKyAgICBt
X2ludGVyc2VjdGlvbk9ic2VydmF0aW9uVXBkYXRlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7Cit9
CisjZW5kaWYKKwogdm9pZCBQYWdlOjpzdXNwZW5kU2NyaXB0ZWRBbmltYXRpb25zKCkKIHsKICAg
ICBtX3NjcmlwdGVkQW5pbWF0aW9uc1N1c3BlbmRlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BhZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCmluZGV4
IDI0YjQxZGUzZDYxZmExNjgxODgyMWVkMzBjZDdlN2I5NGY2ODBkNzEuLjQ0ODcwMmNkMjk3MDAy
ZDMzMTM2N2Y5MDgyOTBmZDkzYThlNDIzZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCkBAIC0yMiw2ICsyMiw3
IEBACiAKICNpbmNsdWRlICJBY3Rpdml0eVN0YXRlLmgiCiAjaW5jbHVkZSAiRGlzYWJsZWRBZGFw
dGF0aW9ucy5oIgorI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRmluZE9wdGlvbnMu
aCIKICNpbmNsdWRlICJGcmFtZUxvYWRlclR5cGVzLmgiCiAjaW5jbHVkZSAiTGF5b3V0TWlsZXN0
b25lcy5oIgpAQCAtNDQ1LDYgKzQ0NiwxMiBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQg
dm9pZCBhZGRBY3Rpdml0eVN0YXRlQ2hhbmdlT2JzZXJ2ZXIoQWN0aXZpdHlTdGF0ZUNoYW5nZU9i
c2VydmVyJik7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCByZW1vdmVBY3Rpdml0eVN0YXRlQ2hh
bmdlT2JzZXJ2ZXIoQWN0aXZpdHlTdGF0ZUNoYW5nZU9ic2VydmVyJik7CiAKKyNpZiBFTkFCTEUo
SU5URVJTRUNUSU9OX09CU0VSVkVSKQorICAgIHZvaWQgYWRkRG9jdW1lbnROZWVkaW5nSW50ZXJz
ZWN0aW9uT2JzZXJ2YXRpb25VcGRhdGUoRG9jdW1lbnQmKTsKKyAgICB2b2lkIHNjaGVkdWxlRm9y
Y2VkSW50ZXJzZWN0aW9uT2JzZXJ2YXRpb25VcGRhdGUoRG9jdW1lbnQmKTsKKyAgICBXRUJDT1JF
X0VYUE9SVCB2b2lkIHVwZGF0ZUludGVyc2VjdGlvbk9ic2VydmF0aW9ucygpOworI2VuZGlmCisK
ICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHN1c3BlbmRTY3JpcHRlZEFuaW1hdGlvbnMoKTsKICAg
ICBXRUJDT1JFX0VYUE9SVCB2b2lkIHJlc3VtZVNjcmlwdGVkQW5pbWF0aW9ucygpOwogICAgIGJv
b2wgc2NyaXB0ZWRBbmltYXRpb25zU3VzcGVuZGVkKCkgY29uc3QgeyByZXR1cm4gbV9zY3JpcHRl
ZEFuaW1hdGlvbnNTdXNwZW5kZWQ7IH0KQEAgLTg2NSw2ICs4NzIsMTQgQEAgcHJpdmF0ZToKIAog
ICAgIEhhc2hTZXQ8QWN0aXZpdHlTdGF0ZUNoYW5nZU9ic2VydmVyKj4gbV9hY3Rpdml0eVN0YXRl
Q2hhbmdlT2JzZXJ2ZXJzOwogCisjaWYgRU5BQkxFKElOVEVSU0VDVElPTl9PQlNFUlZFUikKKyAg
ICBWZWN0b3I8V2Vha1B0cjxEb2N1bWVudD4+IG1fZG9jdW1lbnRzTmVlZGluZ0ludGVyc2VjdGlv
bk9ic2VydmF0aW9uVXBkYXRlOworCisgICAgLy8gRklYTUU6IFNjaGVkdWxlIGludGVyc2VjdGlv
biBvYnNlcnZhdGlvbiB1cGRhdGVzIGluIGEgd2F5IHRoYXQgZml0cyBpbnRvIHRoZSBIVE1MCisg
ICAgLy8gRXZlbnRMb29wLiBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE2MDcxMS4KKyAgICBUaW1lciBtX2ludGVyc2VjdGlvbk9ic2VydmF0aW9uVXBkYXRlVGlt
ZXI7CisjZW5kaWYKKwogI2lmIEVOQUJMRShSRVNPVVJDRV9VU0FHRSkKICAgICBzdGQ6OnVuaXF1
ZV9wdHI8UmVzb3VyY2VVc2FnZU92ZXJsYXk+IG1fcmVzb3VyY2VVc2FnZU92ZXJsYXk7CiAjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0FjY2VsZXJh
dGVkRHJhd2luZ0FyZWEuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQWNj
ZWxlcmF0ZWREcmF3aW5nQXJlYS5jcHAKaW5kZXggZjc1MmI1ZGQ2MmUwZDI2YzIwMTkxZmQ0MDA1
YzVkYmU4YjczYjgxNy4uNzBmMDEyMzNiMzgwN2EwYzYxZTg4NTRjNzE5N2ZhODliZjdiOTUwYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQWNjZWxlcmF0ZWRE
cmF3aW5nQXJlYS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQWNj
ZWxlcmF0ZWREcmF3aW5nQXJlYS5jcHAKQEAgLTI1Myw2ICsyNTMsMTAgQEAgdm9pZCBBY2NlbGVy
YXRlZERyYXdpbmdBcmVhOjp1cGRhdGVCYWNraW5nU3RvcmVTdGF0ZSh1aW50NjRfdCBzdGF0ZUlE
LCBib29sIHJlc3AKICAgICAgICAgbV93ZWJQYWdlLmZsdXNoUGVuZGluZ0VkaXRvclN0YXRlVXBk
YXRlKCk7CiAgICAgICAgIG1fd2ViUGFnZS5zY3JvbGxNYWluRnJhbWVJZk5vdEF0TWF4U2Nyb2xs
UG9zaXRpb24oc2Nyb2xsT2Zmc2V0KTsKIAorI2lmIEVOQUJMRShJTlRFUlNFQ1RJT05fT0JTRVJW
RVIpCisgICAgICAgIG1fd2ViUGFnZS51cGRhdGVJbnRlcnNlY3Rpb25PYnNlcnZhdGlvbnMoKTsK
KyNlbmRpZgorCiAgICAgICAgIGlmIChtX2xheWVyVHJlZUhvc3QpCiAgICAgICAgICAgICBtX2xh
eWVyVHJlZUhvc3QtPnNpemVEaWRDaGFuZ2UobV93ZWJQYWdlLnNpemUoKSk7CiAgICAgICAgIGVs
c2UgaWYgKG1fcHJldmlvdXNMYXllclRyZWVIb3N0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVy
VHJlZUhvc3QuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0
ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3QuY3BwCmluZGV4IDcwOTJmYzUzMjBi
ODFiYjk0ZDY2MDM2ODcyYmE5MGZiNDAzMjRmMGYuLjE5ZWE3MDgzMGI2NzRiY2I5NjM3MDBhNjZm
YWU1OGMyNzFkMzQxNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nv
b3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHAKQEAgLTE5MCw2ICsxOTAsMTAgQEAgdm9pZCBDb29y
ZGluYXRlZExheWVyVHJlZUhvc3Q6OmxheWVyRmx1c2hUaW1lckZpcmVkKCkKICAgICBtX2Nvb3Jk
aW5hdG9yLnN5bmNEaXNwbGF5U3RhdGUoKTsKICAgICBtX3dlYlBhZ2UuZmx1c2hQZW5kaW5nRWRp
dG9yU3RhdGVVcGRhdGUoKTsKIAorI2lmIEVOQUJMRShJTlRFUlNFQ1RJT05fT0JTRVJWRVIpCisg
ICAgbV93ZWJQYWdlLnVwZGF0ZUludGVyc2VjdGlvbk9ic2VydmF0aW9ucygpOworI2VuZGlmCisK
ICAgICBpZiAoIW1faXNWYWxpZCB8fCAhbV9jb29yZGluYXRvci5yb290Q29tcG9zaXRpbmdMYXll
cigpKQogICAgICAgICByZXR1cm47CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwCmluZGV4IGNiZTFjNTg4NTNiZWRkYmZkNTk4
ZmNkOWUxYmVmZGMzNmZjNGVkMDMuLmEzMTcwZjJmNGIwZDAzZTU3YzBmYjBkZjhjNmVlYjY0MjU3
NWE4NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdp
bmdBcmVhSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJh
d2luZ0FyZWFJbXBsLmNwcApAQCAtNDAxLDYgKzQwMSwxMCBAQCB2b2lkIERyYXdpbmdBcmVhSW1w
bDo6ZGlzcGxheShVcGRhdGVJbmZvJiB1cGRhdGVJbmZvKQogICAgIG1fd2ViUGFnZS5sYXlvdXRJ
Zk5lZWRlZCgpOwogICAgIG1fd2ViUGFnZS5mbHVzaFBlbmRpbmdFZGl0b3JTdGF0ZVVwZGF0ZSgp
OwogCisjaWYgRU5BQkxFKElOVEVSU0VDVElPTl9PQlNFUlZFUikKKyAgICBtX3dlYlBhZ2UudXBk
YXRlSW50ZXJzZWN0aW9uT2JzZXJ2YXRpb25zKCk7CisjZW5kaWYKKwogICAgIC8vIFRoZSBsYXlv
dXQgbWF5IGhhdmUgcHV0IHRoZSBwYWdlIGludG8gYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcgbW9k
ZS4gSWYgdGhlIExheWVyVHJlZUhvc3QgaXMKICAgICAvLyBpbiBjaGFyZ2Ugb2YgZGlzcGxheWlu
Zywgd2UgaGF2ZSBub3RoaW5nIG1vcmUgdG8gZG8uCiAgICAgaWYgKG1fbGF5ZXJUcmVlSG9zdCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1JlbW90ZUxheWVy
VHJlZS9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5t
bQppbmRleCAzZjVjZWVkNTZjNTc1MWZlM2Y2M2IzNDZkMWQ1MDhkOWVjNWQ0N2JhLi5jMDA3MTFm
OTZmNjA0ZmRjZDAyMjgzODdjZTI0M2QxMGFmMjk0MGI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJUcmVlRHJh
d2luZ0FyZWEubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvUmVtb3Rl
TGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLm1tCkBAIC0zMzUsNiArMzM1LDEw
IEBAIHZvaWQgUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OmZsdXNoTGF5ZXJzKCkKIAogICAg
IG1fd2ViUGFnZS5sYXlvdXRJZk5lZWRlZCgpOwogCisjaWYgRU5BQkxFKElOVEVSU0VDVElPTl9P
QlNFUlZFUikKKyAgICBtX3dlYlBhZ2UudXBkYXRlSW50ZXJzZWN0aW9uT2JzZXJ2YXRpb25zKCk7
CisjZW5kaWYKKwogICAgIEZsb2F0UmVjdCB2aXNpYmxlUmVjdChGbG9hdFBvaW50KCksIG1fdmll
d1NpemUpOwogICAgIGlmIChtX3Njcm9sbGVkVmlld0V4cG9zZWRSZWN0KQogICAgICAgICB2aXNp
YmxlUmVjdC5pbnRlcnNlY3QobV9zY3JvbGxlZFZpZXdFeHBvc2VkUmVjdC52YWx1ZSgpKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggMTYyMWU5
ZjQ0MmYyYWI3YTE2MjU2NGVmODFhNTM3NzgyNGQ0M2I5Ny4uMDY5M2RjNjNjNmFjNDJkZmI4MjA5
NzllZDQ5MWIzYzlkMzkyMWNiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHAKQEAgLTU2NjYsNiArNTY2NiwxMyBAQCB2b2lkIFdlYlBhZ2U6OmZsdXNo
UGVuZGluZ0VkaXRvclN0YXRlVXBkYXRlKCkKICAgICBzZW5kRWRpdG9yU3RhdGVVcGRhdGUoKTsK
IH0KIAorI2lmIEVOQUJMRShJTlRFUlNFQ1RJT05fT0JTRVJWRVIpCit2b2lkIFdlYlBhZ2U6OnVw
ZGF0ZUludGVyc2VjdGlvbk9ic2VydmF0aW9ucygpCit7CisgICAgbV9wYWdlLT51cGRhdGVJbnRl
cnNlY3Rpb25PYnNlcnZhdGlvbnMoKTsKK30KKyNlbmRpZgorCiB2b2lkIFdlYlBhZ2U6OnVwZGF0
ZVdlYnNpdGVQb2xpY2llcyhXZWJzaXRlUG9saWNpZXNEYXRhJiYgd2Vic2l0ZVBvbGljaWVzKQog
ewogICAgIGlmICghbV9wYWdlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5oCmluZGV4IDNkYTE0MzIwYzMzZGYxNGFkOGMyYjczZTg1NTc1NjYyMjJlMjRjY2IuLjhm
OGM3Yzg1YmRhZmNhNjcyODYwZmE1OTI2ZDNjNTVjZjZhYWM1OWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTEwNjksNiArMTA2OSwxMCBAQCBwdWJs
aWM6CiAgICAgdm9pZCBzZW5kUGFydGlhbEVkaXRvclN0YXRlQW5kU2NoZWR1bGVQb3N0TGF5b3V0
VXBkYXRlKCk7CiAgICAgdm9pZCBmbHVzaFBlbmRpbmdFZGl0b3JTdGF0ZVVwZGF0ZSgpOwogCisj
aWYgRU5BQkxFKElOVEVSU0VDVElPTl9PQlNFUlZFUikKKyAgICB2b2lkIHVwZGF0ZUludGVyc2Vj
dGlvbk9ic2VydmF0aW9ucygpOworI2VuZGlmCisKICNpZiBFTkFCTEUoUkVTT1VSQ0VfTE9BRF9T
VEFUSVNUSUNTKQogICAgIHZvaWQgaGFzU3RvcmFnZUFjY2VzcyhTdHJpbmcmJiBzdWJGcmFtZUhv
c3QsIFN0cmluZyYmIHRvcEZyYW1lSG9zdCwgdWludDY0X3QgZnJhbWVJRCwgQ29tcGxldGlvbkhh
bmRsZXI8dm9pZChib29sKT4mJiBjYWxsYmFjayk7CiAgICAgdm9pZCByZXF1ZXN0U3RvcmFnZUFj
Y2VzcyhTdHJpbmcmJiBzdWJGcmFtZUhvc3QsIFN0cmluZyYmIHRvcEZyYW1lSG9zdCwgdWludDY0
X3QgZnJhbWVJRCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiBjYWxsYmFjayk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3Jl
QW5pbWF0aW9uRHJhd2luZ0FyZWEubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEubW0KaW5kZXggMzQxNzk2Zjk1OTU4
Y2Q5YzIwY2U4YjM5YWQ0Y2JkNjEwZmYwODE0OC4uYjRkMzdlNzg2YTY5NjQ2YmEyZTEwNGNiZjcy
ODQ0NWYxMTgwOGJmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5t
bQpAQCAtNDIwLDYgKzQyMCwxMCBAQCBib29sIFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVh
OjpmbHVzaExheWVycygpCiAgICAgICAgIG1fd2ViUGFnZS5sYXlvdXRJZk5lZWRlZCgpOwogICAg
ICAgICBtX3dlYlBhZ2UuZmx1c2hQZW5kaW5nRWRpdG9yU3RhdGVVcGRhdGUoKTsKIAorI2lmIEVO
QUJMRShJTlRFUlNFQ1RJT05fT0JTRVJWRVIpCisgICAgICAgIG1fd2ViUGFnZS51cGRhdGVJbnRl
cnNlY3Rpb25PYnNlcnZhdGlvbnMoKTsKKyNlbmRpZgorCiAgICAgICAgIHVwZGF0ZUludHJpbnNp
Y0NvbnRlbnRTaXplSWZOZWVkZWQoKTsKIAogICAgICAgICBpZiAobV9wZW5kaW5nUm9vdExheWVy
KSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggYmQ2YzU0NmI5OWU4OGU0MDNjZWYxNTZkMmJlZDdiOWRkODFhMjk0MC4uYTQy
ZDViNzI4NzA4ODc1OWQ3OGM4ODUwZWY1MTVjYThkZTQ2M2Y3MSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3
IEBACisyMDE4LTEwLTAxICBBbGkgSnVtYSAgPGFqdW1hQGNocm9taXVtLm9yZz4KKworICAgICAg
ICBGbGFreSBJbnRlcnNlY3Rpb25PYnNlcnZlciB3ZWIgcGxhdGZvcm0gdGVzdHMgaW52b2x2aW5n
IHN0eWxlIHVwZGF0ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE4OTA5MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFJlbW92ZSBleHBlY3RhdGlvbiBmb3IgdGVzdHMgdGhhdCBhcmUgbm8gbG9uZ2VyIGZs
YWt5LgorCisgICAgICAgIFNraXAgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgdGVzdHMgb24gV0sxLgor
CisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2sx
L1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMTgtMDktMjUgIEp1c3RpbiBGYW4gIDxqdXN0aW5fZmFu
QGFwcGxlLmNvbT4KIAogICAgICAgICBXZWJHTCAyIGNvbmZvcm1hbmNlOiBleHBlY3RlZCB0ZXN0
IHJlc3VsdHMgZm9yIHRoZSBkZXFwIHN1aXRlIChtYWMtbW9qYXZlLXdrMikKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRp
b25zCmluZGV4IDg1N2FkNzA5YjMzNjA0MWQyY2VmOTBjNzEyNmQwNmNjZjM3NTMzZmIuLjFhMTM4
NTQ2OTA2YjViYWExM2YxNjhjODMwNWY2MzYyMzRmMzc2MjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpA
QCAtMjgyNiwxMCArMjgyNiw2IEBAIHdlYmtpdC5vcmcvYi8xNzU2MDkgaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yLWNvbnRpbnVlCiB3ZWJraXQub3Jn
L2IvMTc1NjA5IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmRh
dGFiYXNlLWRlbGV0ZU9iamVjdFN0b3JlLWV4Y2VwdGlvbi1vcmRlci5odG0gWyBQYXNzIEZhaWx1
cmUgXQogd2Via2l0Lm9yZy9iLzE3NTYwOSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9nZXRBbGxLZXlzLmh0bWwgWyBQYXNzIEZhaWx1cmUg
XQogCi13ZWJraXQub3JnL2IvMTg5MDkxIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aW50ZXJzZWN0aW9uLW9ic2VydmVyL2JvdW5kaW5nLWJveC5odG1sIFsgUGFzcyBGYWlsdXJlIF0K
LXdlYmtpdC5vcmcvYi8xODkwOTEgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRl
cnNlY3Rpb24tb2JzZXJ2ZXIvZGlzcGxheS1ub25lLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQotd2Vi
a2l0Lm9yZy9iLzE4OTA5MSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2Vj
dGlvbi1vYnNlcnZlci9jb250YWluaW5nLWJsb2NrLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQotCiB3
ZWJraXQub3JnL2IvMTg2ODQ4IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvRmlsZUFQ
SS9ibG9iL0Jsb2Itc2xpY2UuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTc5
MTc2IHN2Zy93aWNkL3Rlc3QtcmlnaHRzaXppbmctYS54aHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9u
cyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucwppbmRleCAy
ZTA5ZTBkMDgzMTJjMGQ3NDQ2OGUxNDMwYzk3ZTZkZTE5ZWQ1MTZjLi5jMjE4YzFlNTVkM2UwNWNi
N2YyOWRjMGMxNGYxNTRlNWFlMDczMDYxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
LXdrMS9UZXN0RXhwZWN0YXRpb25zCkBAIC01MjEsNyArNTIxLDkgQEAgd2Via2l0Lm9yZy9iLzE3
OTc3NSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9maXJpbmctZXZlbnRzLWh0
dHAtbm8tY28KIAogd2Via2l0Lm9yZy9iLzE3MjA0NCBbIERlYnVnIF0gaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvb3Blbi1yZXF1ZXN0LXF1ZXVlLmh0bWwgWyBQYXNz
IFRpbWVvdXQgXQogCi13ZWJraXQub3JnL2IvMTg5NzMxIGludGVyc2VjdGlvbi1vYnNlcnZlci9u
by1kb2N1bWVudC1sZWFrLmh0bWwgWyBQYXNzIFRpbWVvdXQgXQorIyBOb3Qgc3VwcG9ydGVkIG9u
IFdLMQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2
ZXIgWyBTa2lwIF0KK2ludGVyc2VjdGlvbi1vYnNlcnZlciBbIFNraXAgXQogCiB3ZWJraXQub3Jn
L2IvMTgwODk4IGFjY2Vzc2liaWxpdHkvbWFjL0FPTS1ldmVudHMuaHRtbCBbIFNraXAgXQogd2Vi
a2l0Lm9yZy9iLzE4MzAyMyBhY2Nlc3NpYmlsaXR5L21hYy9BT00tZXZlbnRzLWFsbC5odG1sIFsg
U2tpcCBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>352494</attachid>
            <date>2018-10-16 13:29:07 -0700</date>
            <delta_ts>2018-10-17 06:52:38 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-189091-20181016162906.patch</filename>
            <type>text/plain</type>
            <size>21665</size>
            <attacher name="Ali Juma">ajuma</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM3MTkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmMxZjk2ZDI4YWI4MDA5
NDIyMDJiODlhNGM5OTA3M2Q3ZjRiODA4Ny4uNmRjOGQyMGMzMzQ4NTcxZmZhOGE2N2RhMjdiMDI0
OWI4OTM5Y2Q5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDE4LTEwLTE2ICBBbGkg
SnVtYSAgPGFqdW1hQGNocm9taXVtLm9yZz4KKworICAgICAgICBGbGFreSBJbnRlcnNlY3Rpb25P
YnNlcnZlciB3ZWIgcGxhdGZvcm0gdGVzdHMgaW52b2x2aW5nIHN0eWxlIHVwZGF0ZXMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTA5MQorCisgICAg
ICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KKworICAgICAgICBVcGRhdGUgaW50ZXJzZWN0
aW9uIG9ic2VydmF0aW9ucyB3aGVuIGZsdXNoaW5nIGxheWVycyBmcm9tIHRoZSBXZWJQcm9jZXNz
CisgICAgICAgIHRvIHRoZSBVSVByb2Nlc3MgdG8gbWFrZSB0aGUgdGltaW5nIG9mIHRoZXNlIHVw
ZGF0ZXMgbW9yZSBwcmVkaWN0YWJsZSwgYW5kCisgICAgICAgIG1vcmUgY29uc2lzdGVudCB3aXRo
IHRoZSBJbnRlcnNlY3Rpb25PYnNlcnZlciBzcGVjLCBzaW5jZSB0aGUgc3BlYyBleHBlY3RzCisg
ICAgICAgIHRoZXNlIHVwZGF0ZXMgdG8gaGFwcGVuIGFzIHBhcnQgb2YgdGhlICJVcGRhdGUgdGhl
IHJlbmRlcmluZyIgc3RlcCBpbiB0aGUKKyAgICAgICAgSFRNTCBFdmVudExvb3AuCisKKyAgICAg
ICAgR2V0dGluZyBhIHNpbWlsYXIgYXBwcm9hY2ggdG8gd29yayB3aXRoIFdLMSBzZWVtcyB0byBh
ZGQgbW9yZSBjb21wbGV4aXR5IHRoYW4gaXQncworICAgICAgICB3b3J0aCwgc2luY2UgZmx1c2hl
cyBkb24ndCBoYXBwZW4gZm9yIHNjcm9sbHMgaGFuZGxlZCBieSBwbGF0Zm9ybSB3aWRnZXRzLCBh
bmQKKyAgICAgICAgZmx1c2hlcyBmb3Igb3RoZXIgaW52YWxpZGF0aW9ucyBvbmx5IGhhcHBlbiB3
aGVuIGluIGNvbXBvc2l0aW5nIG1vZGUuCisKKyAgICAgICAgVGhlIG9ubHkgcmVtYWluaW5nIHRp
bWVyLWRyaXZlbiBpbnRlcnNlY3Rpb24gb2JzZXJ2YXRpb24gdXBkYXRlIGlzIGZvciBoYW5kbGlu
ZworICAgICAgICB0aGUgaW5pdGlhbCBvYnNlcnZhdGlvbiBvbiBhIG5ld2x5IGFkZGVkIHRhcmdl
dCwgd2hpY2ggbmVlZHMgdG8gaGFwcGVuIGV2ZW4gaWYKKyAgICAgICAgdGhlcmUgYXJlIG5vIGNo
YW5nZXMgdHJpZ2dlcmluZyBhIGZsdXNoLgorCisgICAgICAgIFRlc3RlZCBieSB0aGUgZm9sbG93
aW5nIHRlc3RzIG5vIGxvbmdlciBiZWluZyBmbGFreToKKyAgICAgICAgICAgIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL2JvdW5kaW5nLWJveC5o
dG1sCisgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2Vj
dGlvbi1vYnNlcnZlci9kaXNwbGF5LW5vbmUuaHRtbAorICAgICAgICAgICAgaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvY29udGFpbmluZy1ibG9j
ay5odG1sCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RG9jdW1lbnQ6OnJlc29sdmVTdHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6dXBk
YXRlSW50ZXJzZWN0aW9uT2JzZXJ2YXRpb25zKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50
OjpzY2hlZHVsZUZvcmNlZEludGVyc2VjdGlvbk9ic2VydmF0aW9uVXBkYXRlKToKKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50OjpzY2hlZHVsZUludGVyc2VjdGlvbk9ic2VydmF0aW9uVXBkYXRl
KTogRGVsZXRlZC4KKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKiBwYWdlL0Zy
YW1lVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmZsdXNoQ29tcG9zaXRp
bmdTdGF0ZUZvclRoaXNGcmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnZpZXdw
b3J0Q29udGVudHNDaGFuZ2VkKToKKyAgICAgICAgKiBwYWdlL0ludGVyc2VjdGlvbk9ic2VydmVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVyc2VjdGlvbk9ic2VydmVyOjpvYnNlcnZlKToK
KyAgICAgICAgKiBwYWdlL1BhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6UGFnZSk6
CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjp3aWxsRGlzcGxheVBhZ2UpOgorICAgICAgICAoV2Vi
Q29yZTo6UGFnZTo6YWRkRG9jdW1lbnROZWVkaW5nSW50ZXJzZWN0aW9uT2JzZXJ2YXRpb25VcGRh
dGUpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6dXBkYXRlSW50ZXJzZWN0aW9uT2JzZXJ2YXRp
b25zKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnNjaGVkdWxlRm9yY2VkSW50ZXJzZWN0aW9u
T2JzZXJ2YXRpb25VcGRhdGUpOgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorCiAyMDE4LTEwLTE2
ICBKdXN0aW4gTWljaGF1ZCAgPGp1c3Rpbl9taWNoYXVkQGFwcGxlLmNvbT4KIAogICAgICAgICBJ
bXBsZW1lbnQgZmVhdHVyZSBmbGFnIGFuZCBiaW5kaW5ncyBmb3IgQ1NTIFBhaW50aW5nIEFQSQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwppbmRleCAwNWEwMzdjNmI5NDBlNzAyMzYyYmU2OWExMjkwNGRjZDU3ZjU5OWE4Li4yMDlj
MzJhNDQwYjEzZGIzYTUyMWQwODMyOWZmYmM2NmVhNjBiNGUwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDI3IEBACisyMDE4LTEwLTE2ICBBbGkgSnVtYSAgPGFqdW1hQGNocm9taXVtLm9yZz4KKworICAg
ICAgICBGbGFreSBJbnRlcnNlY3Rpb25PYnNlcnZlciB3ZWIgcGxhdGZvcm0gdGVzdHMgaW52b2x2
aW5nIHN0eWxlIHVwZGF0ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE4OTA5MQorCisgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KKwor
ICAgICAgICBBZGQgYSBXZWJQYWdlOjp3aWxsRGlzcGxheVBhZ2UgYm90dGxlbmVjayB0aGF0IGdl
dHMgY2FsbGVkIHdoZW4gZmx1c2hpbmcgbGF5ZXJzCisgICAgICAgIG9yLCBpbiB0aGUgbm9uLWNv
bXBvc2l0ZWQgY2FzZSwgd2hlbiByZW5kZXJpbmcgdGhlIHBhZ2UgaW50byBhIGJpdG1hcC4KKwor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9BY2NlbGVyYXRlZERyYXdpbmdBcmVhLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6QWNjZWxlcmF0ZWREcmF3aW5nQXJlYTo6dXBkYXRlQmFja2luZ1N0
b3JlU3RhdGUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBo
aWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNvb3Jk
aW5hdGVkTGF5ZXJUcmVlSG9zdDo6bGF5ZXJGbHVzaFRpbWVyRmlyZWQpOgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpE
cmF3aW5nQXJlYUltcGw6OmRpc3BsYXkpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9S
ZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEubW06CisgICAgICAgIChX
ZWJLaXQ6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpmbHVzaExheWVycyk6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
YWdlOjp3aWxsRGlzcGxheVBhZ2UpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRp
b25EcmF3aW5nQXJlYS5tbToKKyAgICAgICAgKFdlYktpdDo6VGlsZWRDb3JlQW5pbWF0aW9uRHJh
d2luZ0FyZWE6OmZsdXNoTGF5ZXJzKToKKwogMjAxOC0xMC0xNiAgSnVzdGluIE1pY2hhdWQgIDxq
dXN0aW5fbWljaGF1ZEBhcHBsZS5jb20+CiAKICAgICAgICAgSW1wbGVtZW50IGZlYXR1cmUgZmxh
ZyBhbmQgYmluZGluZ3MgZm9yIENTUyBQYWludGluZyBBUEkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
CmluZGV4IDRlYzAwOGVmZTMzYmRkZjk4OGIzM2YxMWMzNjMzOWNlY2IzMjhhYzcuLmI2ZjhiMmEx
ZjlmOTVlNTgzMTZmZjc2NGU3NmVjN2EwODk1ODM4MDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNw
cApAQCAtNTEwLDcgKzUxMCw2IEBAIERvY3VtZW50OjpEb2N1bWVudChGcmFtZSogZnJhbWUsIGNv
bnN0IFVSTCYgdXJsLCB1bnNpZ25lZCBkb2N1bWVudENsYXNzZXMsIHVuc2lnCiAgICAgLCBtX2Rv
Y3VtZW50Q2xhc3Nlcyhkb2N1bWVudENsYXNzZXMpCiAgICAgLCBtX2V2ZW50UXVldWUoKnRoaXMp
CiAjaWYgRU5BQkxFKElOVEVSU0VDVElPTl9PQlNFUlZFUikKLSAgICAsIG1faW50ZXJzZWN0aW9u
T2JzZXJ2YXRpb25VcGRhdGVUaW1lcigqdGhpcywgJkRvY3VtZW50Ojp1cGRhdGVJbnRlcnNlY3Rp
b25PYnNlcnZhdGlvbnMpCiAgICAgLCBtX2ludGVyc2VjdGlvbk9ic2VydmVyc05vdGlmeVRpbWVy
KCp0aGlzLCAmRG9jdW1lbnQ6Om5vdGlmeUludGVyc2VjdGlvbk9ic2VydmVyc1RpbWVyRmlyZWQp
CiAjZW5kaWYKICAgICAsIG1fbG9hZEV2ZW50RGVsYXlUaW1lcigqdGhpcywgJkRvY3VtZW50Ojps
b2FkRXZlbnREZWxheVRpbWVyRmlyZWQpCkBAIC0xOTI5LDggKzE5MjgsOCBAQCB2b2lkIERvY3Vt
ZW50OjpyZXNvbHZlU3R5bGUoUmVzb2x2ZVN0eWxlVHlwZSB0eXBlKQogICAgICAgICAvLyBVc3Vh
bGx5IHRoaXMgaXMgaGFuZGxlZCBieSBwb3N0LWxheW91dC4KICAgICAgICAgaWYgKCFmcmFtZVZp
ZXcubmVlZHNMYXlvdXQoKSkgewogICAgICAgICAgICAgZnJhbWVWaWV3LmZyYW1lKCkuc2VsZWN0
aW9uKCkuc2NoZWR1bGVBcHBlYXJhbmNlVXBkYXRlQWZ0ZXJTdHlsZUNoYW5nZSgpOwotICAgICAg
ICAgICAgaWYgKG1fbmVlZHNJbnRlcnNlY3Rpb25PYnNlcnZhdGlvblVwZGF0ZSkKLSAgICAgICAg
ICAgICAgICBzY2hlZHVsZUludGVyc2VjdGlvbk9ic2VydmF0aW9uVXBkYXRlKCk7CisgICAgICAg
ICAgICBpZiAobV9uZWVkc0ZvcmNlZEludGVyc2VjdGlvbk9ic2VydmF0aW9uVXBkYXRlKQorICAg
ICAgICAgICAgICAgIHBhZ2UoKS0+c2NoZWR1bGVGb3JjZWRJbnRlcnNlY3Rpb25PYnNlcnZhdGlv
blVwZGF0ZSgqdGhpcyk7CiAgICAgICAgIH0KIAogICAgICAgICAvLyBBcyBhIHJlc3VsdCBvZiB0
aGUgc3R5bGUgcmVjYWxjdWxhdGlvbiwgdGhlIGN1cnJlbnRseSBob3ZlcmVkIGVsZW1lbnQgbWln
aHQgaGF2ZSBiZWVuCkBAIC03NTgxLDcgKzc1ODAsNiBAQCBzdGF0aWMgdm9pZCBjb21wdXRlSW50
ZXJzZWN0aW9uUmVjdHMoRnJhbWVWaWV3JiBmcmFtZVZpZXcsIEludGVyc2VjdGlvbk9ic2VydmVy
JgogCiB2b2lkIERvY3VtZW50Ojp1cGRhdGVJbnRlcnNlY3Rpb25PYnNlcnZhdGlvbnMoKQogewot
ICAgIEFTU0VSVChtX25lZWRzSW50ZXJzZWN0aW9uT2JzZXJ2YXRpb25VcGRhdGUpOwogICAgIGF1
dG8qIGZyYW1lVmlldyA9IHZpZXcoKTsKICAgICBpZiAoIWZyYW1lVmlldykKICAgICAgICAgcmV0
dXJuOwpAQCAtNzU5MCw3ICs3NTg4LDcgQEAgdm9pZCBEb2N1bWVudDo6dXBkYXRlSW50ZXJzZWN0
aW9uT2JzZXJ2YXRpb25zKCkKICAgICBpZiAobmVlZHNMYXlvdXQgfHwgaGFzUGVuZGluZ1N0eWxl
UmVjYWxjKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fbmVlZHNJbnRlcnNlY3Rpb25PYnNl
cnZhdGlvblVwZGF0ZSA9IGZhbHNlOworICAgIG1fbmVlZHNGb3JjZWRJbnRlcnNlY3Rpb25PYnNl
cnZhdGlvblVwZGF0ZSA9IGZhbHNlOwogCiAgICAgZm9yIChhdXRvIG9ic2VydmVyIDogbV9pbnRl
cnNlY3Rpb25PYnNlcnZlcnMpIHsKICAgICAgICAgYm9vbCBuZWVkTm90aWZ5ID0gZmFsc2U7CkBA
IC03NjU1LDEzICs3NjUzLDE1IEBAIHZvaWQgRG9jdW1lbnQ6OnVwZGF0ZUludGVyc2VjdGlvbk9i
c2VydmF0aW9ucygpCiAgICAgICAgIG1faW50ZXJzZWN0aW9uT2JzZXJ2ZXJzTm90aWZ5VGltZXIu
c3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKLXZvaWQgRG9jdW1lbnQ6OnNjaGVkdWxlSW50ZXJzZWN0
aW9uT2JzZXJ2YXRpb25VcGRhdGUoKQordm9pZCBEb2N1bWVudDo6c2NoZWR1bGVGb3JjZWRJbnRl
cnNlY3Rpb25PYnNlcnZhdGlvblVwZGF0ZSgpCiB7Ci0gICAgaWYgKG1faW50ZXJzZWN0aW9uT2Jz
ZXJ2ZXJzLmlzRW1wdHkoKSB8fCBtX2ludGVyc2VjdGlvbk9ic2VydmF0aW9uVXBkYXRlVGltZXIu
aXNBY3RpdmUoKSkKKyAgICBBU1NFUlQoIW1faW50ZXJzZWN0aW9uT2JzZXJ2ZXJzLmlzRW1wdHko
KSk7CisgICAgaWYgKG1fbmVlZHNGb3JjZWRJbnRlcnNlY3Rpb25PYnNlcnZhdGlvblVwZGF0ZSkK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9uZWVkc0ludGVyc2VjdGlvbk9ic2VydmF0aW9uVXBk
YXRlID0gdHJ1ZTsKLSAgICBtX2ludGVyc2VjdGlvbk9ic2VydmF0aW9uVXBkYXRlVGltZXIuc3Rh
cnRPbmVTaG90KDBfcyk7CisgICAgbV9uZWVkc0ZvcmNlZEludGVyc2VjdGlvbk9ic2VydmF0aW9u
VXBkYXRlID0gdHJ1ZTsKKyAgICBpZiAoYXV0byogcGFnZSA9IHRoaXMtPnBhZ2UoKSkKKyAgICAg
ICAgcGFnZS0+c2NoZWR1bGVGb3JjZWRJbnRlcnNlY3Rpb25PYnNlcnZhdGlvblVwZGF0ZSgqdGhp
cyk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6Om5vdGlmeUludGVyc2VjdGlvbk9ic2VydmVyc1RpbWVy
RmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCBjYzBhZGU4NjEzMzU4ZTVmNWZmMmIyOGZj
N2U5Mjg2N2E4OTQ3ZTkyLi41ZmJmYzA1NmUwMDRhMzY1YTkzYjZjY2FiN2Q2OGFkMzg3NGZkYjc5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtMTM4NSw4ICsxMzg1LDggQEAgcHVibGljOgogICAg
IHZvaWQgYWRkSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoSW50ZXJzZWN0aW9uT2JzZXJ2ZXImKTsKICAg
ICB2b2lkIHJlbW92ZUludGVyc2VjdGlvbk9ic2VydmVyKEludGVyc2VjdGlvbk9ic2VydmVyJik7
CiAgICAgdW5zaWduZWQgbnVtYmVyT2ZJbnRlcnNlY3Rpb25PYnNlcnZlcnMoKSBjb25zdCB7IHJl
dHVybiBtX2ludGVyc2VjdGlvbk9ic2VydmVycy5zaXplKCk7IH0KKyAgICB2b2lkIHNjaGVkdWxl
Rm9yY2VkSW50ZXJzZWN0aW9uT2JzZXJ2YXRpb25VcGRhdGUoKTsKICAgICB2b2lkIHVwZGF0ZUlu
dGVyc2VjdGlvbk9ic2VydmF0aW9ucygpOwotICAgIHZvaWQgc2NoZWR1bGVJbnRlcnNlY3Rpb25P
YnNlcnZhdGlvblVwZGF0ZSgpOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQpA
QCAtMTgxMiwxMCArMTgxMiw2IEBAIHByaXZhdGU6CiAjaWYgRU5BQkxFKElOVEVSU0VDVElPTl9P
QlNFUlZFUikKICAgICBWZWN0b3I8V2Vha1B0cjxJbnRlcnNlY3Rpb25PYnNlcnZlcj4+IG1faW50
ZXJzZWN0aW9uT2JzZXJ2ZXJzOwogICAgIFZlY3RvcjxXZWFrUHRyPEludGVyc2VjdGlvbk9ic2Vy
dmVyPj4gbV9pbnRlcnNlY3Rpb25PYnNlcnZlcnNXaXRoUGVuZGluZ05vdGlmaWNhdGlvbnM7Ci0K
LSAgICAvLyBGSVhNRTogU2NoZWR1bGUgaW50ZXJzZWN0aW9uIG9ic2VydmF0aW9uIHVwZGF0ZXMg
aW4gYSB3YXkgdGhhdCBmaXRzIGludG8gdGhlIEhUTUwKLSAgICAvLyBFdmVudExvb3AuIFNlZSBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYwNzExLgotICAgIFRpbWVy
IG1faW50ZXJzZWN0aW9uT2JzZXJ2YXRpb25VcGRhdGVUaW1lcjsKICAgICBUaW1lciBtX2ludGVy
c2VjdGlvbk9ic2VydmVyc05vdGlmeVRpbWVyOwogI2VuZGlmCiAKQEAgLTIwMDQsNyArMjAwMCw3
IEBAIHByaXZhdGU6CiAjZW5kaWYKIAogI2lmIEVOQUJMRShJTlRFUlNFQ1RJT05fT0JTRVJWRVIp
Ci0gICAgYm9vbCBtX25lZWRzSW50ZXJzZWN0aW9uT2JzZXJ2YXRpb25VcGRhdGUgeyBmYWxzZSB9
OworICAgIGJvb2wgbV9uZWVkc0ZvcmNlZEludGVyc2VjdGlvbk9ic2VydmF0aW9uVXBkYXRlIHsg
ZmFsc2UgfTsKICNlbmRpZgogCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RnJhbWVWaWV3LmNwcAppbmRleCAwNzRiOTM4OGNmZmMxOGFiMjc0MzE2YzY4M2E2YjgwOWY5N2Vi
YzMyLi45Y2IzZjE2YmQwZjIwYTNjNjgwY2Y1NTBhNDc2MmNiMWJlOGFmZTg1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9GcmFtZVZpZXcuY3BwCkBAIC0xMDAwLDYgKzEwMDAsNyBAQCBib29sIEZyYW1lVmlldzo6
Zmx1c2hDb21wb3NpdGluZ1N0YXRlRm9yVGhpc0ZyYW1lKGNvbnN0IEZyYW1lJiByb290RnJhbWVG
b3JGbHVzaAogI2VuZGlmCiAKICAgICByZW5kZXJWaWV3LT5jb21wb3NpdG9yKCkuZmx1c2hQZW5k
aW5nTGF5ZXJDaGFuZ2VzKCZyb290RnJhbWVGb3JGbHVzaCA9PSBtX2ZyYW1lLnB0cigpKTsKKwog
ICAgIHJldHVybiB0cnVlOwogfQogCkBAIC0yMDA4LDggKzIwMDksMTIgQEAgdm9pZCBGcmFtZVZp
ZXc6OnZpZXdwb3J0Q29udGVudHNDaGFuZ2VkKCkKICAgICB9KTsKIAogI2lmIEVOQUJMRShJTlRF
UlNFQ1RJT05fT0JTRVJWRVIpCi0gICAgaWYgKGF1dG8qIGRvY3VtZW50ID0gZnJhbWUoKS5kb2N1
bWVudCgpKQotICAgICAgICBkb2N1bWVudC0+c2NoZWR1bGVJbnRlcnNlY3Rpb25PYnNlcnZhdGlv
blVwZGF0ZSgpOworICAgIGlmIChhdXRvKiBkb2N1bWVudCA9IGZyYW1lKCkuZG9jdW1lbnQoKSkg
eworICAgICAgICBpZiAoZG9jdW1lbnQtPm51bWJlck9mSW50ZXJzZWN0aW9uT2JzZXJ2ZXJzKCkp
IHsKKyAgICAgICAgICAgIGlmIChhdXRvKiBwYWdlID0gZnJhbWUoKS5wYWdlKCkpCisgICAgICAg
ICAgICAgICAgcGFnZS0+YWRkRG9jdW1lbnROZWVkaW5nSW50ZXJzZWN0aW9uT2JzZXJ2YXRpb25V
cGRhdGUoKmRvY3VtZW50KTsKKyAgICAgICAgfQorICAgIH0KICNlbmRpZgogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvSW50ZXJzZWN0aW9uT2JzZXJ2ZXIuY3BwCmluZGV4IDc5N2VhNDdiZTE0
NWMyYzNlOTc3MTE2N2FmYTdjZWNhZTI0NThmMGIuLmNmZGFhNDQ1NDc4Y2Y3NmJkODRlMmM4NGU5
MTI0ZDAxOGVmMmVlMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvSW50ZXJzZWN0
aW9uT2JzZXJ2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvSW50ZXJzZWN0aW9uT2Jz
ZXJ2ZXIuY3BwCkBAIC0xNTYsNyArMTU2LDcgQEAgdm9pZCBJbnRlcnNlY3Rpb25PYnNlcnZlcjo6
b2JzZXJ2ZShFbGVtZW50JiB0YXJnZXQpCiAgICAgYXV0byogZG9jdW1lbnQgPSB0cmFja2luZ0Rv
Y3VtZW50KCk7CiAgICAgaWYgKCFoYWRPYnNlcnZhdGlvblRhcmdldHMpCiAgICAgICAgIGRvY3Vt
ZW50LT5hZGRJbnRlcnNlY3Rpb25PYnNlcnZlcigqdGhpcyk7Ci0gICAgZG9jdW1lbnQtPnNjaGVk
dWxlSW50ZXJzZWN0aW9uT2JzZXJ2YXRpb25VcGRhdGUoKTsKKyAgICBkb2N1bWVudC0+c2NoZWR1
bGVGb3JjZWRJbnRlcnNlY3Rpb25PYnNlcnZhdGlvblVwZGF0ZSgpOwogfQogCiB2b2lkIEludGVy
c2VjdGlvbk9ic2VydmVyOjp1bm9ic2VydmUoRWxlbWVudCYgdGFyZ2V0KQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5j
cHAKaW5kZXggYjkwOWNiMjI3YTg2OWExY2E1OGEwOGIyMjdlOGE1NzYwOTllNGY4MC4uY2Y4MmMy
ODRhZjNmOWI1NzMxNzg1MTY5ZjEwZTM2N2VlYzQzZTU1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBA
IC0yNDIsNiArMjQyLDkgQEAgUGFnZTo6UGFnZShQYWdlQ29uZmlndXJhdGlvbiYmIHBhZ2VDb25m
aWd1cmF0aW9uKQogICAgICwgbV9zdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXIoKldURk1vdmUocGFn
ZUNvbmZpZ3VyYXRpb24uc3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVyKSkKICAgICAsIG1fdXNlckNv
bnRlbnRQcm92aWRlcigqV1RGTW92ZShwYWdlQ29uZmlndXJhdGlvbi51c2VyQ29udGVudFByb3Zp
ZGVyKSkKICAgICAsIG1fdmlzaXRlZExpbmtTdG9yZSgqV1RGTW92ZShwYWdlQ29uZmlndXJhdGlv
bi52aXNpdGVkTGlua1N0b3JlKSkKKyNpZiBFTkFCTEUoSU5URVJTRUNUSU9OX09CU0VSVkVSKQor
ICAgICwgbV9pbnRlcnNlY3Rpb25PYnNlcnZhdGlvblVwZGF0ZVRpbWVyKCp0aGlzLCAmUGFnZTo6
dXBkYXRlSW50ZXJzZWN0aW9uT2JzZXJ2YXRpb25zKQorI2VuZGlmCiAgICAgLCBtX3Nlc3Npb25J
RChQQUw6OlNlc3Npb25JRDo6ZGVmYXVsdFNlc3Npb25JRCgpKQogI2lmIEVOQUJMRShWSURFTykK
ICAgICAsIG1fcGxheWJhY2tDb250cm9sc01hbmFnZXJVcGRhdGVUaW1lcigqdGhpcywgJlBhZ2U6
OnBsYXliYWNrQ29udHJvbHNNYW5hZ2VyVXBkYXRlVGltZXJGaXJlZCkKQEAgLTk3OSw2ICs5ODIs
MTMgQEAgdm9pZCBQYWdlOjpkaWRGaW5pc2hMb2FkKCkKICAgICAgICAgbV9wZXJmb3JtYW5jZU1v
bml0b3ItPmRpZEZpbmlzaExvYWQoKTsKIH0KIAordm9pZCBQYWdlOjp3aWxsRGlzcGxheVBhZ2Uo
KQoreworI2lmIEVOQUJMRShJTlRFUlNFQ1RJT05fT0JTRVJWRVIpCisgICAgdXBkYXRlSW50ZXJz
ZWN0aW9uT2JzZXJ2YXRpb25zKCk7CisjZW5kaWYKK30KKwogYm9vbCBQYWdlOjppc09ubHlOb25V
dGlsaXR5UGFnZSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuICFpc1V0aWxpdHlQYWdlKCkgJiYgbm9u
VXRpbGl0eVBhZ2VDb3VudCA9PSAxOwpAQCAtMTEyMCw2ICsxMTMwLDMyIEBAIHZvaWQgUGFnZTo6
cmVtb3ZlQWN0aXZpdHlTdGF0ZUNoYW5nZU9ic2VydmVyKEFjdGl2aXR5U3RhdGVDaGFuZ2VPYnNl
cnZlciYgb2JzZXJ2CiAgICAgbV9hY3Rpdml0eVN0YXRlQ2hhbmdlT2JzZXJ2ZXJzLnJlbW92ZSgm
b2JzZXJ2ZXIpOwogfQogCisjaWYgRU5BQkxFKElOVEVSU0VDVElPTl9PQlNFUlZFUikKK3ZvaWQg
UGFnZTo6YWRkRG9jdW1lbnROZWVkaW5nSW50ZXJzZWN0aW9uT2JzZXJ2YXRpb25VcGRhdGUoRG9j
dW1lbnQmIGRvY3VtZW50KQoreworICAgIGlmIChtX2RvY3VtZW50c05lZWRpbmdJbnRlcnNlY3Rp
b25PYnNlcnZhdGlvblVwZGF0ZS5maW5kKCZkb2N1bWVudCkgPT0gbm90Rm91bmQpCisgICAgICAg
IG1fZG9jdW1lbnRzTmVlZGluZ0ludGVyc2VjdGlvbk9ic2VydmF0aW9uVXBkYXRlLmFwcGVuZCht
YWtlV2Vha1B0cihkb2N1bWVudCkpOworfQorCit2b2lkIFBhZ2U6OnVwZGF0ZUludGVyc2VjdGlv
bk9ic2VydmF0aW9ucygpCit7CisgICAgbV9pbnRlcnNlY3Rpb25PYnNlcnZhdGlvblVwZGF0ZVRp
bWVyLnN0b3AoKTsKKyAgICBmb3IgKGF1dG8gZG9jdW1lbnQgOiBtX2RvY3VtZW50c05lZWRpbmdJ
bnRlcnNlY3Rpb25PYnNlcnZhdGlvblVwZGF0ZSkgeworICAgICAgICBpZiAoZG9jdW1lbnQpCisg
ICAgICAgICAgICBkb2N1bWVudC0+dXBkYXRlSW50ZXJzZWN0aW9uT2JzZXJ2YXRpb25zKCk7Cisg
ICAgfQorICAgIG1fZG9jdW1lbnRzTmVlZGluZ0ludGVyc2VjdGlvbk9ic2VydmF0aW9uVXBkYXRl
LmNsZWFyKCk7Cit9CisKK3ZvaWQgUGFnZTo6c2NoZWR1bGVGb3JjZWRJbnRlcnNlY3Rpb25PYnNl
cnZhdGlvblVwZGF0ZShEb2N1bWVudCYgZG9jdW1lbnQpCit7CisgICAgYWRkRG9jdW1lbnROZWVk
aW5nSW50ZXJzZWN0aW9uT2JzZXJ2YXRpb25VcGRhdGUoZG9jdW1lbnQpOworICAgIGlmIChtX2lu
dGVyc2VjdGlvbk9ic2VydmF0aW9uVXBkYXRlVGltZXIuaXNBY3RpdmUoKSkKKyAgICAgICAgcmV0
dXJuOworICAgIG1faW50ZXJzZWN0aW9uT2JzZXJ2YXRpb25VcGRhdGVUaW1lci5zdGFydE9uZVNo
b3QoMF9zKTsKK30KKyNlbmRpZgorCiB2b2lkIFBhZ2U6OnN1c3BlbmRTY3JpcHRlZEFuaW1hdGlv
bnMoKQogewogICAgIG1fc2NyaXB0ZWRBbmltYXRpb25zU3VzcGVuZGVkID0gdHJ1ZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Q
YWdlLmgKaW5kZXggOTU2NWE2ZmEwMjY1ODQ2OGYxMmFlZDEwYzQzNGQ0MTVlODEzZTI4ZS4uODJi
NmZlNjBmOGQzMTA2YzQ3NjNhNDg5MGIxMGY2MzllZGY3MGU0NiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKQEAg
LTIyLDYgKzIyLDcgQEAKIAogI2luY2x1ZGUgIkFjdGl2aXR5U3RhdGUuaCIKICNpbmNsdWRlICJE
aXNhYmxlZEFkYXB0YXRpb25zLmgiCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJG
aW5kT3B0aW9ucy5oIgogI2luY2x1ZGUgIkZyYW1lTG9hZGVyVHlwZXMuaCIKICNpbmNsdWRlICJM
YXlvdXRNaWxlc3RvbmVzLmgiCkBAIC0zMjUsNiArMzI2LDggQEAgcHVibGljOgogICAgIHZvaWQg
ZGlkU3RhcnRQcm92aXNpb25hbExvYWQoKTsKICAgICB2b2lkIGRpZEZpbmlzaExvYWQoKTsgLy8g
Q2FsbGVkIHdoZW4gdGhlIGxvYWQgaGFzIGJlZW4gY29tbWl0dGVkIGluIHRoZSBtYWluIGZyYW1l
LgogCisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCB3aWxsRGlzcGxheVBhZ2UoKTsKKwogICAgIC8v
IFRoZSB2aWV3IHNjYWxlIGZhY3RvciBpcyBtdWx0aXBsaWVkIGludG8gdGhlIHBhZ2Ugc2NhbGUg
ZmFjdG9yIGJ5IGFsbAogICAgIC8vIGNhbGxlcnMgb2Ygc2V0UGFnZVNjYWxlRmFjdG9yLgogICAg
IFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0Vmlld1NjYWxlRmFjdG9yKGZsb2F0KTsKQEAgLTQ0NSw2
ICs0NDgsMTIgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgYWRkQWN0aXZpdHlT
dGF0ZUNoYW5nZU9ic2VydmVyKEFjdGl2aXR5U3RhdGVDaGFuZ2VPYnNlcnZlciYpOwogICAgIFdF
QkNPUkVfRVhQT1JUIHZvaWQgcmVtb3ZlQWN0aXZpdHlTdGF0ZUNoYW5nZU9ic2VydmVyKEFjdGl2
aXR5U3RhdGVDaGFuZ2VPYnNlcnZlciYpOwogCisjaWYgRU5BQkxFKElOVEVSU0VDVElPTl9PQlNF
UlZFUikKKyAgICB2b2lkIGFkZERvY3VtZW50TmVlZGluZ0ludGVyc2VjdGlvbk9ic2VydmF0aW9u
VXBkYXRlKERvY3VtZW50Jik7CisgICAgdm9pZCBzY2hlZHVsZUZvcmNlZEludGVyc2VjdGlvbk9i
c2VydmF0aW9uVXBkYXRlKERvY3VtZW50Jik7CisgICAgdm9pZCB1cGRhdGVJbnRlcnNlY3Rpb25P
YnNlcnZhdGlvbnMoKTsKKyNlbmRpZgorCiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzdXNwZW5k
U2NyaXB0ZWRBbmltYXRpb25zKCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCByZXN1bWVTY3Jp
cHRlZEFuaW1hdGlvbnMoKTsKICAgICBib29sIHNjcmlwdGVkQW5pbWF0aW9uc1N1c3BlbmRlZCgp
IGNvbnN0IHsgcmV0dXJuIG1fc2NyaXB0ZWRBbmltYXRpb25zU3VzcGVuZGVkOyB9CkBAIC04NjUs
NiArODc0LDE0IEBAIHByaXZhdGU6CiAKICAgICBIYXNoU2V0PEFjdGl2aXR5U3RhdGVDaGFuZ2VP
YnNlcnZlcio+IG1fYWN0aXZpdHlTdGF0ZUNoYW5nZU9ic2VydmVyczsKIAorI2lmIEVOQUJMRShJ
TlRFUlNFQ1RJT05fT0JTRVJWRVIpCisgICAgVmVjdG9yPFdlYWtQdHI8RG9jdW1lbnQ+PiBtX2Rv
Y3VtZW50c05lZWRpbmdJbnRlcnNlY3Rpb25PYnNlcnZhdGlvblVwZGF0ZTsKKworICAgIC8vIEZJ
WE1FOiBTY2hlZHVsZSBpbnRlcnNlY3Rpb24gb2JzZXJ2YXRpb24gdXBkYXRlcyBpbiBhIHdheSB0
aGF0IGZpdHMgaW50byB0aGUgSFRNTAorICAgIC8vIEV2ZW50TG9vcC4gU2VlIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjA3MTEuCisgICAgVGltZXIgbV9pbnRlcnNl
Y3Rpb25PYnNlcnZhdGlvblVwZGF0ZVRpbWVyOworI2VuZGlmCisKICNpZiBFTkFCTEUoUkVTT1VS
Q0VfVVNBR0UpCiAgICAgc3RkOjp1bmlxdWVfcHRyPFJlc291cmNlVXNhZ2VPdmVybGF5PiBtX3Jl
c291cmNlVXNhZ2VPdmVybGF5OwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9BY2NlbGVyYXRlZERyYXdpbmdBcmVhLmNwcCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0FjY2VsZXJhdGVkRHJhd2luZ0FyZWEuY3BwCmluZGV4IGY3
NTJiNWRkNjJlMGQyNmMyMDE5MWZkNDAwNWM1ZGJlOGI3M2I4MTcuLjdjZjgwNzliYjViMWIwMmJl
NGU0MmRlZmY4NGVlM2I0YzcxMTYwMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL0FjY2VsZXJhdGVkRHJhd2luZ0FyZWEuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0FjY2VsZXJhdGVkRHJhd2luZ0FyZWEuY3BwCkBAIC0yNTIs
NiArMjUyLDcgQEAgdm9pZCBBY2NlbGVyYXRlZERyYXdpbmdBcmVhOjp1cGRhdGVCYWNraW5nU3Rv
cmVTdGF0ZSh1aW50NjRfdCBzdGF0ZUlELCBib29sIHJlc3AKICAgICAgICAgbV93ZWJQYWdlLmxh
eW91dElmTmVlZGVkKCk7CiAgICAgICAgIG1fd2ViUGFnZS5mbHVzaFBlbmRpbmdFZGl0b3JTdGF0
ZVVwZGF0ZSgpOwogICAgICAgICBtX3dlYlBhZ2Uuc2Nyb2xsTWFpbkZyYW1lSWZOb3RBdE1heFNj
cm9sbFBvc2l0aW9uKHNjcm9sbE9mZnNldCk7CisgICAgICAgIG1fd2ViUGFnZS53aWxsRGlzcGxh
eVBhZ2UoKTsKIAogICAgICAgICBpZiAobV9sYXllclRyZWVIb3N0KQogICAgICAgICAgICAgbV9s
YXllclRyZWVIb3N0LT5zaXplRGlkQ2hhbmdlKG1fd2ViUGFnZS5zaXplKCkpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9D
b29yZGluYXRlZExheWVyVHJlZUhvc3QuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3QuY3BwCmlu
ZGV4IDcwOTJmYzUzMjBiODFiYjk0ZDY2MDM2ODcyYmE5MGZiNDAzMjRmMGYuLmFhNmFjZThlYmE3
ZTM5MDJkZTcwOTIzOTljZTBiYmI0MmUyYTUyM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRy
ZWVIb3N0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGlu
YXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHAKQEAgLTE4OSw2ICsxODks
NyBAQCB2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6bGF5ZXJGbHVzaFRpbWVyRmlyZWQo
KQogCiAgICAgbV9jb29yZGluYXRvci5zeW5jRGlzcGxheVN0YXRlKCk7CiAgICAgbV93ZWJQYWdl
LmZsdXNoUGVuZGluZ0VkaXRvclN0YXRlVXBkYXRlKCk7CisgICAgbV93ZWJQYWdlLndpbGxEaXNw
bGF5UGFnZSgpOwogCiAgICAgaWYgKCFtX2lzVmFsaWQgfHwgIW1fY29vcmRpbmF0b3Iucm9vdENv
bXBvc2l0aW5nTGF5ZXIoKSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmNwcCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAKaW5kZXggY2JlMWM1ODg1
M2JlZGRiZmQ1OThmY2Q5ZTFiZWZkYzM2ZmM0ZWQwMy4uNzgyNGU1Y2Y3MWI0N2RiMDllZWEzNWE3
NjlmYTc2NDFhNzJkN2YzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwCkBAIC00MDYsNiArNDA2LDcgQEAgdm9pZCBEcmF3
aW5nQXJlYUltcGw6OmRpc3BsYXkoVXBkYXRlSW5mbyYgdXBkYXRlSW5mbykKICAgICBpZiAobV9s
YXllclRyZWVIb3N0KQogICAgICAgICByZXR1cm47CiAKKyAgICBtX3dlYlBhZ2Uud2lsbERpc3Bs
YXlQYWdlKCk7CiAgICAgdXBkYXRlSW5mby52aWV3U2l6ZSA9IG1fd2ViUGFnZS5zaXplKCk7CiAg
ICAgdXBkYXRlSW5mby5kZXZpY2VTY2FsZUZhY3RvciA9IG1fd2ViUGFnZS5jb3JlUGFnZSgpLT5k
ZXZpY2VTY2FsZUZhY3RvcigpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEubW0g
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9SZW1vdGVMYXllclRyZWUvUmVtb3Rl
TGF5ZXJUcmVlRHJhd2luZ0FyZWEubW0KaW5kZXggM2Y1Y2VlZDU2YzU3NTFmZTNmNjNiMzQ2ZDFk
NTA4ZDllYzVkNDdiYS4uMzZjNWZjZmE3NDllOTUzYjAxMWE4ZDgyMTEwMzgzMzdlOGM1MzBjMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvUmVtb3RlTGF5ZXJU
cmVlL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJl
YS5tbQpAQCAtMzM0LDYgKzMzNCw3IEBAIHZvaWQgUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6
OmZsdXNoTGF5ZXJzKCkKICAgICBiYWNraW5nU3RvcmVDb2xsZWN0aW9uLndpbGxGbHVzaExheWVy
cygpOwogCiAgICAgbV93ZWJQYWdlLmxheW91dElmTmVlZGVkKCk7CisgICAgbV93ZWJQYWdlLndp
bGxEaXNwbGF5UGFnZSgpOwogCiAgICAgRmxvYXRSZWN0IHZpc2libGVSZWN0KEZsb2F0UG9pbnQo
KSwgbV92aWV3U2l6ZSk7CiAgICAgaWYgKG1fc2Nyb2xsZWRWaWV3RXhwb3NlZFJlY3QpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IGUxZjY3Mjdj
M2I4Nzc3MjgwYTgyNDNlZTAzMDExMGQzM2Q5MDVjZTUuLmExYmM3NWU2YWRjMmJhNjg5MjlmMzI1
OGI5MjJiZDhiNzBhZWFjZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuY3BwCkBAIC0zMzI3LDYgKzMzMjcsMTEgQEAgdm9pZCBXZWJQYWdlOjpkaWRGbHVz
aExheWVyVHJlZUF0VGltZShNb25vdG9uaWNUaW1lIHRpbWVzdGFtcCkKIH0KICNlbmRpZgogCit2
b2lkIFdlYlBhZ2U6OndpbGxEaXNwbGF5UGFnZSgpCit7CisgICAgbV9wYWdlLT53aWxsRGlzcGxh
eVBhZ2UoKTsKK30KKwogV2ViSW5zcGVjdG9yKiBXZWJQYWdlOjppbnNwZWN0b3IoTGF6eUNyZWF0
aW9uUG9saWN5IGJlaGF2aW9yKQogewogICAgIGlmIChtX2lzQ2xvc2VkKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4IGZkZDM5NDFlOTcxZTgyNzIxMTgy
NTE5YWUxNTQzM2UyZmJhYmM3YjkuLjQ4MzY0Y2E1MTY0MWVjYmU0ZGYzMDQwODhjMTI4NmY2NTI3
ZWI1NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAg
LTI5MSw2ICsyOTEsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaWRGbHVzaExheWVyVHJlZUF0VGlt
ZShNb25vdG9uaWNUaW1lKTsKICNlbmRpZgogCisgICAgdm9pZCB3aWxsRGlzcGxheVBhZ2UoKTsK
KwogICAgIGVudW0gY2xhc3MgTGF6eUNyZWF0aW9uUG9saWN5IHsgVXNlRXhpc3RpbmdPbmx5LCBD
cmVhdGVJZk5lZWRlZCB9OwogCiAgICAgV2ViSW5zcGVjdG9yKiBpbnNwZWN0b3IoTGF6eUNyZWF0
aW9uUG9saWN5ID0gTGF6eUNyZWF0aW9uUG9saWN5OjpDcmVhdGVJZk5lZWRlZCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0
aW9uRHJhd2luZ0FyZWEubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMv
VGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEubW0KaW5kZXggMzQxNzk2Zjk1OTU4Y2Q5YzIw
Y2U4YjM5YWQ0Y2JkNjEwZmYwODE0OC4uNmVjYWNkMzBiZTg1NjUwOGMzY2RmNTIwODMzNjJjMjhm
MjRiYmMzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFj
L1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbQpAQCAt
NDE5LDYgKzQxOSw3IEBAIGJvb2wgVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6OmZsdXNo
TGF5ZXJzKCkKIAogICAgICAgICBtX3dlYlBhZ2UubGF5b3V0SWZOZWVkZWQoKTsKICAgICAgICAg
bV93ZWJQYWdlLmZsdXNoUGVuZGluZ0VkaXRvclN0YXRlVXBkYXRlKCk7CisgICAgICAgIG1fd2Vi
UGFnZS53aWxsRGlzcGxheVBhZ2UoKTsKIAogICAgICAgICB1cGRhdGVJbnRyaW5zaWNDb250ZW50
U2l6ZUlmTmVlZGVkKCk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzMTg5OGE1MDNjYzA3OTMzNjlkNzJjNWM3NDlkMzVh
MWU2OTFjZDVlLi45MDUwNThhMGYyZjk2OTU5MzI4ODNkM2E3YzQ2M2E1NzQ2NTEwMDFhIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTcgQEAKKzIwMTgtMTAtMTYgIEFsaSBKdW1hICA8YWp1bWFAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIEZsYWt5IEludGVyc2VjdGlvbk9ic2VydmVyIHdlYiBwbGF0Zm9ybSB0
ZXN0cyBpbnZvbHZpbmcgc3R5bGUgdXBkYXRlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg5MDkxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24g
RnJhc2VyLgorCisgICAgICAgIFJlbW92ZSBleHBlY3RhdGlvbiBmb3IgdGVzdHMgdGhhdCBhcmUg
bm8gbG9uZ2VyIGZsYWt5LgorCisgICAgICAgIFNraXAgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgdGVz
dHMgb24gV0sxLgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0
Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMTgtMTAtMTYgIEp1c3RpbiBNaWNo
YXVkICA8anVzdGluX21pY2hhdWRAYXBwbGUuY29tPgogCiAgICAgICAgIEltcGxlbWVudCBmZWF0
dXJlIGZsYWcgYW5kIGJpbmRpbmdzIGZvciBDU1MgUGFpbnRpbmcgQVBJCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9u
cwppbmRleCA0YjZhZGFlMjIyN2ZjMjVjZDU5NjE5NjkyYjVhOGM2OTljOWZmZTQ4Li4wNzQ0NTA5
Mzk5MjIzZGU0NWQ2OWNjODg0NTYwNTgyZTc1OWRjYTljIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAg
LTI4NDIsMTAgKzI4NDIsNiBAQCB3ZWJraXQub3JnL2IvMTc1NjA5IGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvci1jb250aW51ZQogd2Via2l0Lm9yZy9i
LzE3NTYwOSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJkYXRh
YmFzZS1kZWxldGVPYmplY3RTdG9yZS1leGNlcHRpb24tb3JkZXIuaHRtIFsgUGFzcyBGYWlsdXJl
IF0KIHdlYmtpdC5vcmcvYi8xNzU2MDkgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9J
bmRleGVkREIvaWRib2JqZWN0c3RvcmVfZ2V0QWxsS2V5cy5odG1sIFsgUGFzcyBGYWlsdXJlIF0K
IAotd2Via2l0Lm9yZy9iLzE4OTA5MSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2lu
dGVyc2VjdGlvbi1vYnNlcnZlci9ib3VuZGluZy1ib3guaHRtbCBbIFBhc3MgRmFpbHVyZSBdCi13
ZWJraXQub3JnL2IvMTg5MDkxIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJz
ZWN0aW9uLW9ic2VydmVyL2Rpc3BsYXktbm9uZS5odG1sIFsgUGFzcyBGYWlsdXJlIF0KLXdlYmtp
dC5vcmcvYi8xODkwOTEgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rp
b24tb2JzZXJ2ZXIvY29udGFpbmluZy1ibG9jay5odG1sIFsgUGFzcyBGYWlsdXJlIF0KLQogd2Vi
a2l0Lm9yZy9iLzE4Njg0OCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0ZpbGVBUEkv
YmxvYi9CbG9iLXNsaWNlLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzE3OTE3
NiBzdmcvd2ljZC90ZXN0LXJpZ2h0c2l6aW5nLWEueGh0bWwgWyBQYXNzIEZhaWx1cmUgXQogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMzdi
OWJkMGQ4NjYzN2Q4M2JiYmM1ZmRiNTUzYTQ4MjZhMjc3ZTdhZS4uYjFkODRmZGY2M2UxZmZmZWUx
ZjllMGMzMWFlMDVjYjI4YjllZTQ4ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13
azEvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNTI0LDcgKzUyNCw5IEBAIHdlYmtpdC5vcmcvYi8xNzk3
NzUgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZmlyaW5nLWV2ZW50cy1odHRw
LW5vLWNvCiAKIHdlYmtpdC5vcmcvYi8xNzIwNDQgWyBEZWJ1ZyBdIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL29wZW4tcmVxdWVzdC1xdWV1ZS5odG1sIFsgUGFzcyBU
aW1lb3V0IF0KIAotd2Via2l0Lm9yZy9iLzE4OTczMSBpbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvbm8t
ZG9jdW1lbnQtbGVhay5odG1sIFsgUGFzcyBUaW1lb3V0IF0KKyMgTm90IHN1cHBvcnRlZCBvbiBX
SzEKK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVy
IFsgU2tpcCBdCitpbnRlcnNlY3Rpb24tb2JzZXJ2ZXIgWyBTa2lwIF0KIAogd2Via2l0Lm9yZy9i
LzE4MDg5OCBhY2Nlc3NpYmlsaXR5L21hYy9BT00tZXZlbnRzLmh0bWwgWyBTa2lwIF0KIHdlYmtp
dC5vcmcvYi8xODMwMjMgYWNjZXNzaWJpbGl0eS9tYWMvQU9NLWV2ZW50cy1hbGwuaHRtbCBbIFNr
aXAgXQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>