<?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>188809</bug_id>
          
          <creation_ts>2018-08-21 13:31:09 -0700</creation_ts>
          <short_desc>[IntersectionObserver] Implement intersection logic for the explicit root case</short_desc>
          <delta_ts>2018-08-27 04:14:19 -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>bfulgham</cc>
    
    <cc>commit-queue</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>1452231</commentid>
    <comment_count>0</comment_count>
    <who name="Ali Juma">ajuma</who>
    <bug_when>2018-08-21 13:31:09 -0700</bug_when>
    <thetext>Implement logic to compute the intersection of the target and root, for the case where the observer has a root element.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1452242</commentid>
    <comment_count>1</comment_count>
      <attachid>347684</attachid>
    <who name="Ali Juma">ajuma</who>
    <bug_when>2018-08-21 13:39:10 -0700</bug_when>
    <thetext>Created attachment 347684
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1452244</commentid>
    <comment_count>2</comment_count>
      <attachid>347684</attachid>
    <who name="Ali Juma">ajuma</who>
    <bug_when>2018-08-21 13:41:46 -0700</bug_when>
    <thetext>Comment on attachment 347684
Patch

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

&gt; LayoutTests/imported/w3c/web-platform-tests/intersection-observer/containing-block-expected.txt:3
&gt; +FAIL In containing block and intersecting. assert_equals: entries[0].boundingClientRect.top expected 18 but got 258

This fails because layout hasn&apos;t been updated when the intersection observation is computed. This will be fixed once observations are deferred until after layout.

&gt; LayoutTests/imported/w3c/web-platform-tests/intersection-observer/isIntersecting-change-events-expected.txt:3
&gt; +FAIL Rects in initial notifications should report initial positions. assert_equals: entries[2].target.isIntersecting equals true expected true but got false

This fails because entries[2] is case involving zero-area intersection, which isn&apos;t implemented yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1452340</commentid>
    <comment_count>3</comment_count>
      <attachid>347684</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-08-21 15:20:46 -0700</bug_when>
    <thetext>Comment on attachment 347684
Patch

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

&gt; Source/WebCore/dom/Document.cpp:7443
&gt; +static void computeIntersectionObservation(IntersectionObserver&amp; observer, Element* target, FloatRect&amp; absTargetRect, FloatRect&amp; absIntersectionRect, FloatRect&amp; absRootBounds)

I&apos;m not a big fan of the name. Maybe just computeIntersections() or computeIntersectionRects()? Make target an Element&amp; since you don&apos;t null-check it.

&gt; Source/WebCore/dom/Document.cpp:7454
&gt; +    RenderBlock* rootRenderer = downcast&lt;RenderBlock&gt;(observer.root()-&gt;renderer());

Blank line above this please.

&gt; Source/WebCore/dom/Document.cpp:7485
&gt; +    absTargetRect = targetRenderer-&gt;localToAbsoluteQuad(FloatRect(localTargetBounds)).boundingBox();
&gt; +    absRootBounds = rootRenderer-&gt;localToAbsoluteQuad(localRootBounds).boundingBox();

It&apos;s a shame that these two localToAbsoluteQuad() calls will both pay the cost of traversing the common ancestors of &apos;target&apos; and &apos;root&apos;. Not worth optimizing now, though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1452347</commentid>
    <comment_count>4</comment_count>
      <attachid>347712</attachid>
    <who name="Ali Juma">ajuma</who>
    <bug_when>2018-08-21 15:29:15 -0700</bug_when>
    <thetext>Created attachment 347712
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1453840</commentid>
    <comment_count>5</comment_count>
      <attachid>347712</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-08-27 04:13:57 -0700</bug_when>
    <thetext>Comment on attachment 347712
Patch for landing

Clearing flags on attachment: 347712

Committed r235358: &lt;https://trac.webkit.org/changeset/235358&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1453841</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-08-27 04:13:59 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1453842</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-08-27 04:14:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/43749632&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>347684</attachid>
            <date>2018-08-21 13:39:10 -0700</date>
            <delta_ts>2018-08-21 15:29:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-188809-20180821163909.patch</filename>
            <type>text/plain</type>
            <size>21794</size>
            <attacher name="Ali Juma">ajuma</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1MDE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjE5NTQyMmRiOWFiYTRi
NDJiMmExZjY4YzEzODA3YjVmOGMyMWQyYy4uZGNhYzU1NjZhODI2OTUxN2U3ZjgyZDdjNTdmZTQ4
ZWQxYTc4ZDVmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE4LTA4LTIxICBBbGkg
SnVtYSAgPGFqdW1hQGNocm9taXVtLm9yZz4KKworICAgICAgICBbSW50ZXJzZWN0aW9uT2JzZXJ2
ZXJdIEltcGxlbWVudCBpbnRlcnNlY3Rpb24gbG9naWMgZm9yIHRoZSBleHBsaWNpdCByb290IGNh
c2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4ODgw
OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBs
b2dpYyB0byBEb2N1bWVudDo6dXBkYXRlSW50ZXJzZWN0aW9uT2JzZXJ2YXRpb25zIHRvIGNvbXB1
dGUgdGhlIGludGVyc2VjdGlvbgorICAgICAgICBiZXR3ZWVuIHRoZSB0YXJnZXQgYW5kIHJvb3Qg
ZWxlbWVudHMsIGZvciB0aGUgY2FzZSB3aGVyZSBhbiBJbnRlcnNlY3Rpb25PYnNlcnZlcgorICAg
ICAgICBoYXMgYSByb290IGVsZW1lbnQuCisKKyAgICAgICAgVGhlcmUgYXJlIG5vIGNoYW5nZXMg
dG8gdGhlIHNjaGVkdWxpbmcgb2YgaW50ZXJzZWN0aW9uIG9ic2VydmF0aW9ucyBpbiB0aGlzIHBh
dGNoLAorICAgICAgICBzbyBvYnNlcnZhdGlvbnMgYXJlIHN0aWxsIG9ubHkgY29tcHV0ZWQgb25j
ZSBmb3IgZWFjaCBvYnNlcnZlci4KKworICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpjb21wdXRlSW50ZXJzZWN0aW9uT2JzZXJ2YXRpb24pOgorICAgICAgICAo
V2ViQ29yZTo6RG9jdW1lbnQ6OnVwZGF0ZUludGVyc2VjdGlvbk9ic2VydmF0aW9ucyk6CisgICAg
ICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3Ojph
YnNvbHV0ZVRvQ2xpZW50UmVjdCBjb25zdCk6CisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuaDoK
KyAgICAgICAgKiBwYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkludGVyc2VjdGlvbk9ic2VydmVyOjpJbnRlcnNlY3Rpb25PYnNlcnZlcik6CisgICAgICAg
IChXZWJDb3JlOjpJbnRlcnNlY3Rpb25PYnNlcnZlcjo6Y3JlYXRlVGltZXN0YW1wIGNvbnN0KToK
KyAgICAgICAgKiBwYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyLmg6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvRmxvYXRSZWN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpGbG9hdFJlY3Q6OmFy
ZWEgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJCbG9jazo6aXNDb250YWluaW5nQmxvY2tBbmNlc3RvckZvciBjb25z
dCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmg6CisKIDIwMTgtMDgtMTggIERh
dmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KIAogICAgICAgICBMZXQgWGNvZGUgaGF2
ZSBpdHMgd2F5IHdpdGggdGhlIFdlYkNvcmUgcHJvamVjdApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAK
aW5kZXggMzliNTM0Mjg1OGE1N2U0NTVmMmNlYTg4OTJkYmRhYmYyODQyY2RiMy4uNTc4ZjEzYjQ1
MzAyMGRhZWIyNjI5MzJjOTg0NTU4NDZmY2UyZWQ5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
CkBAIC0xNTIsNyArMTUyLDkgQEAKICNpbmNsdWRlICJQdWJsaWNTdWZmaXguaCIKICNpbmNsdWRl
ICJSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmgiCiAjaW5jbHVkZSAiUmVuZGVyQ2hpbGRJdGVy
YXRvci5oIgorI2luY2x1ZGUgIlJlbmRlcklubGluZS5oIgogI2luY2x1ZGUgIlJlbmRlckxheWVy
Q29tcG9zaXRvci5oIgorI2luY2x1ZGUgIlJlbmRlckxpbmVCcmVhay5oIgogI2luY2x1ZGUgIlJl
bmRlclRyZWVVcGRhdGVyLmgiCiAjaW5jbHVkZSAiUmVuZGVyVmlldy5oIgogI2luY2x1ZGUgIlJl
bmRlcldpZGdldC5oIgpAQCAtNzQzOCwxMCArNzQ0MCw2MiBAQCBSZWZQdHI8SW50ZXJzZWN0aW9u
T2JzZXJ2ZXI+IERvY3VtZW50OjpyZW1vdmVJbnRlcnNlY3Rpb25PYnNlcnZlcihJbnRlcnNlY3Rp
b25PYgogICAgIHJldHVybiBvYnNlcnZlclJlZjsKIH0KIAorc3RhdGljIHZvaWQgY29tcHV0ZUlu
dGVyc2VjdGlvbk9ic2VydmF0aW9uKEludGVyc2VjdGlvbk9ic2VydmVyJiBvYnNlcnZlciwgRWxl
bWVudCogdGFyZ2V0LCBGbG9hdFJlY3QmIGFic1RhcmdldFJlY3QsIEZsb2F0UmVjdCYgYWJzSW50
ZXJzZWN0aW9uUmVjdCwgRmxvYXRSZWN0JiBhYnNSb290Qm91bmRzKQoreworICAgIC8vIEZJWE1F
OiBJbXBsZW1lbnQgaW50ZXJzZWN0aW9uIGNvbXB1dGF0aW9uIGZvciB0aGUgY2FzZSBvZiBhbiBp
bXBsaWNpdCByb290LgorICAgIGlmICghb2JzZXJ2ZXIucm9vdCgpKQorICAgICAgICByZXR1cm47
CisKKyAgICBpZiAob2JzZXJ2ZXIucm9vdCgpLT5kb2N1bWVudCgpICE9IHRhcmdldC0+ZG9jdW1l
bnQoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKCFvYnNlcnZlci5yb290KCktPnJlbmRl
cmVyKCkgfHwgIWlzPFJlbmRlckJsb2NrPihvYnNlcnZlci5yb290KCktPnJlbmRlcmVyKCkpKQor
ICAgICAgICByZXR1cm47CisgICAgUmVuZGVyQmxvY2sqIHJvb3RSZW5kZXJlciA9IGRvd25jYXN0
PFJlbmRlckJsb2NrPihvYnNlcnZlci5yb290KCktPnJlbmRlcmVyKCkpOworCisgICAgYXV0byog
dGFyZ2V0UmVuZGVyZXIgPSB0YXJnZXQtPnJlbmRlcmVyKCk7CisgICAgaWYgKCF0YXJnZXRSZW5k
ZXJlcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKCFyb290UmVuZGVyZXItPmlzQ29udGFp
bmluZ0Jsb2NrQW5jZXN0b3JGb3IoKnRhcmdldFJlbmRlcmVyKSkKKyAgICAgICAgcmV0dXJuOwor
CisgICAgLy8gRklYTUU6IEV4cGFuZCBsb2NhbFJvb3RCb3VuZHMgdXNpbmcgdGhlIG9ic2VydmVy
J3Mgcm9vdE1hcmdpbi4KKyAgICBGbG9hdFJlY3QgbG9jYWxSb290Qm91bmRzOworICAgIGlmIChy
b290UmVuZGVyZXItPmhhc092ZXJmbG93Q2xpcCgpKQorICAgICAgICBsb2NhbFJvb3RCb3VuZHMg
PSByb290UmVuZGVyZXItPmNvbnRlbnRCb3hSZWN0KCk7CisgICAgZWxzZQorICAgICAgICBsb2Nh
bFJvb3RCb3VuZHMgPSB7IEZsb2F0UG9pbnQoKSwgcm9vdFJlbmRlcmVyLT5zaXplKCkgfTsKKwor
ICAgIExheW91dFJlY3QgbG9jYWxUYXJnZXRCb3VuZHM7CisgICAgaWYgKGlzPFJlbmRlckJveD4o
KnRhcmdldFJlbmRlcmVyKSkKKyAgICAgICAgbG9jYWxUYXJnZXRCb3VuZHMgPSBkb3duY2FzdDxS
ZW5kZXJCb3g+KHRhcmdldFJlbmRlcmVyKS0+Ym9yZGVyQm91bmRpbmdCb3goKTsKKyAgICBlbHNl
IGlmIChpczxSZW5kZXJJbmxpbmU+KHRhcmdldFJlbmRlcmVyKSkKKyAgICAgICAgbG9jYWxUYXJn
ZXRCb3VuZHMgPSBkb3duY2FzdDxSZW5kZXJJbmxpbmU+KHRhcmdldFJlbmRlcmVyKS0+bGluZXNC
b3VuZGluZ0JveCgpOworICAgIGVsc2UgaWYgKGlzPFJlbmRlckxpbmVCcmVhaz4odGFyZ2V0UmVu
ZGVyZXIpKQorICAgICAgICBsb2NhbFRhcmdldEJvdW5kcyA9IGRvd25jYXN0PFJlbmRlckxpbmVC
cmVhaz4odGFyZ2V0UmVuZGVyZXIpLT5saW5lc0JvdW5kaW5nQm94KCk7CisKKyAgICBGbG9hdFJl
Y3Qgcm9vdExvY2FsSW50ZXJzZWN0aW9uUmVjdCA9IHRhcmdldFJlbmRlcmVyLT5jb21wdXRlUmVj
dEZvclJlcGFpbnQobG9jYWxUYXJnZXRCb3VuZHMsIHJvb3RSZW5kZXJlcik7CisgICAgcm9vdExv
Y2FsSW50ZXJzZWN0aW9uUmVjdC5pbnRlcnNlY3QobG9jYWxSb290Qm91bmRzKTsKKworICAgIGlm
ICghcm9vdExvY2FsSW50ZXJzZWN0aW9uUmVjdC5pc0VtcHR5KCkpCisgICAgICAgIGFic0ludGVy
c2VjdGlvblJlY3QgPSByb290UmVuZGVyZXItPmxvY2FsVG9BYnNvbHV0ZVF1YWQocm9vdExvY2Fs
SW50ZXJzZWN0aW9uUmVjdCkuYm91bmRpbmdCb3goKTsKKworICAgIGFic1RhcmdldFJlY3QgPSB0
YXJnZXRSZW5kZXJlci0+bG9jYWxUb0Fic29sdXRlUXVhZChGbG9hdFJlY3QobG9jYWxUYXJnZXRC
b3VuZHMpKS5ib3VuZGluZ0JveCgpOworICAgIGFic1Jvb3RCb3VuZHMgPSByb290UmVuZGVyZXIt
PmxvY2FsVG9BYnNvbHV0ZVF1YWQobG9jYWxSb290Qm91bmRzKS5ib3VuZGluZ0JveCgpOworfQor
CiB2b2lkIERvY3VtZW50Ojp1cGRhdGVJbnRlcnNlY3Rpb25PYnNlcnZhdGlvbnMoKQogeworICAg
IGF1dG8qIGZyYW1lVmlldyA9IHZpZXcoKTsKKyAgICBpZiAoIWZyYW1lVmlldykKKyAgICAgICAg
cmV0dXJuOworCiAgICAgZm9yIChhdXRvIG9ic2VydmVyIDogbV9pbnRlcnNlY3Rpb25PYnNlcnZl
cnMpIHsKICAgICAgICAgYm9vbCBuZWVkTm90aWZ5ID0gZmFsc2U7CisgICAgICAgIERPTUhpZ2hS
ZXNUaW1lU3RhbXAgdGltZXN0YW1wOworICAgICAgICBpZiAoIW9ic2VydmVyLT5jcmVhdGVUaW1l
c3RhbXAodGltZXN0YW1wKSkKKyAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICBmb3IgKEVs
ZW1lbnQqIHRhcmdldCA6IG9ic2VydmVyLT5vYnNlcnZhdGlvblRhcmdldHMoKSkgewogICAgICAg
ICAgICAgYXV0byYgdGFyZ2V0UmVnaXN0cmF0aW9ucyA9IHRhcmdldC0+aW50ZXJzZWN0aW9uT2Jz
ZXJ2ZXJEYXRhKCktPnJlZ2lzdHJhdGlvbnM7CiAgICAgICAgICAgICBhdXRvIGluZGV4ID0gdGFy
Z2V0UmVnaXN0cmF0aW9ucy5maW5kTWF0Y2hpbmcoW29ic2VydmVyXShhdXRvJiByZWdpc3RyYXRp
b24pIHsKQEAgLTc0NTAsMjAgKzc1MDQsNDAgQEAgdm9pZCBEb2N1bWVudDo6dXBkYXRlSW50ZXJz
ZWN0aW9uT2JzZXJ2YXRpb25zKCkKICAgICAgICAgICAgIEFTU0VSVChpbmRleCAhPSBub3RGb3Vu
ZCk7CiAgICAgICAgICAgICBhdXRvJiByZWdpc3RyYXRpb24gPSB0YXJnZXRSZWdpc3RyYXRpb25z
W2luZGV4XTsKIAotICAgICAgICAgICAgLy8gRklYTUU6IENvbXB1dGUgaW50ZXJzZWN0aW9uIG9m
IHRhcmdldCBhbmQgb2JzZXJ2ZXIncyByb290LgorICAgICAgICAgICAgRmxvYXRSZWN0IGFic1Rh
cmdldFJlY3Q7CisgICAgICAgICAgICBGbG9hdFJlY3QgYWJzSW50ZXJzZWN0aW9uUmVjdDsKKyAg
ICAgICAgICAgIEZsb2F0UmVjdCBhYnNSb290Qm91bmRzOworICAgICAgICAgICAgY29tcHV0ZUlu
dGVyc2VjdGlvbk9ic2VydmF0aW9uKCpvYnNlcnZlciwgdGFyZ2V0LCBhYnNUYXJnZXRSZWN0LCBh
YnNJbnRlcnNlY3Rpb25SZWN0LCBhYnNSb290Qm91bmRzKTsKKworICAgICAgICAgICAgLy8gRklY
TUU6IEhhbmRsZSB6ZXJvLWFyZWEgaW50ZXJzZWN0aW9ucyAoZS5nLiwgaW50ZXJzZWN0aW9ucyBp
bnZvbHZpbmcgemVyby1hcmVhIHRhcmdldHMpLgorICAgICAgICAgICAgYm9vbCBpc0ludGVyc2Vj
dGluZyA9IGFic0ludGVyc2VjdGlvblJlY3QuYXJlYSgpOworICAgICAgICAgICAgZmxvYXQgaW50
ZXJzZWN0aW9uUmF0aW8gPSBpc0ludGVyc2VjdGluZyA/IGFic0ludGVyc2VjdGlvblJlY3QuYXJl
YSgpIC8gYWJzVGFyZ2V0UmVjdC5hcmVhKCkgOiAwOwogICAgICAgICAgICAgc2l6ZV90IHRocmVz
aG9sZEluZGV4ID0gMDsKLSAgICAgICAgICAgIGRvdWJsZSB0aW1lc3RhbXAgPSAwOwotICAgICAg
ICAgICAgc3RkOjpvcHRpb25hbDxET01SZWN0SW5pdD4gcm9vdEJvdW5kczsKLSAgICAgICAgICAg
IERPTVJlY3RJbml0IHRhcmdldEJvdW5kaW5nQ2xpZW50UmVjdDsKLSAgICAgICAgICAgIERPTVJl
Y3RJbml0IGludGVyc2VjdGlvblJlY3Q7Ci0gICAgICAgICAgICBkb3VibGUgaW50ZXJzZWN0aW9u
UmF0aW8gPSAwOwotICAgICAgICAgICAgYm9vbCBpc0ludGVyc2VjdGluZyA9IGZhbHNlOworICAg
ICAgICAgICAgaWYgKGlzSW50ZXJzZWN0aW5nKSB7CisgICAgICAgICAgICAgICAgYXV0byYgdGhy
ZXNob2xkcyA9IG9ic2VydmVyLT50aHJlc2hvbGRzKCk7CisgICAgICAgICAgICAgICAgd2hpbGUg
KHRocmVzaG9sZEluZGV4IDwgdGhyZXNob2xkcy5zaXplKCkgJiYgdGhyZXNob2xkc1t0aHJlc2hv
bGRJbmRleF0gPD0gaW50ZXJzZWN0aW9uUmF0aW8pCisgICAgICAgICAgICAgICAgICAgICsrdGhy
ZXNob2xkSW5kZXg7CisgICAgICAgICAgICB9CisKICAgICAgICAgICAgIGlmICghcmVnaXN0cmF0
aW9uLnByZXZpb3VzVGhyZXNob2xkSW5kZXggfHwgdGhyZXNob2xkSW5kZXggIT0gcmVnaXN0cmF0
aW9uLnByZXZpb3VzVGhyZXNob2xkSW5kZXgpIHsKKyAgICAgICAgICAgICAgICBGbG9hdFJlY3Qg
dGFyZ2V0Qm91bmRpbmdDbGllbnRSZWN0ID0gZnJhbWVWaWV3LT5hYnNvbHV0ZVRvQ2xpZW50UmVj
dChhYnNUYXJnZXRSZWN0KTsKKyAgICAgICAgICAgICAgICBGbG9hdFJlY3QgY2xpZW50SW50ZXJz
ZWN0aW9uUmVjdCA9IGZyYW1lVmlldy0+YWJzb2x1dGVUb0NsaWVudFJlY3QoYWJzSW50ZXJzZWN0
aW9uUmVjdCk7CisKKyAgICAgICAgICAgICAgICAvLyBGSVhNRTogT25jZSBjcm9zcy1kb2N1bWVu
dCBvYnNlcnZhdGlvbiBpcyBpbXBsZW1lbnRlZCwgb25seSByZXBvcnQgcm9vdCBib3VuZHMgaWYg
dGhlIHRhcmdldCBkb2N1bWVudCBhbmQKKyAgICAgICAgICAgICAgICAvLyB0aGUgcm9vdCBkb2N1
bWVudCBhcmUgc2ltaWxhci1vcmlnaW4uCisgICAgICAgICAgICAgICAgRmxvYXRSZWN0IGNsaWVu
dFJvb3RCb3VuZHMgPSBmcmFtZVZpZXctPmFic29sdXRlVG9DbGllbnRSZWN0KGFic1Jvb3RCb3Vu
ZHMpOworICAgICAgICAgICAgICAgIHN0ZDo6b3B0aW9uYWw8RE9NUmVjdEluaXQ+IHJlcG9ydGVk
Um9vdEJvdW5kcyA9IERPTVJlY3RJbml0KHsKKyAgICAgICAgICAgICAgICAgICAgY2xpZW50Um9v
dEJvdW5kcy54KCksCisgICAgICAgICAgICAgICAgICAgIGNsaWVudFJvb3RCb3VuZHMueSgpLAor
ICAgICAgICAgICAgICAgICAgICBjbGllbnRSb290Qm91bmRzLndpZHRoKCksCisgICAgICAgICAg
ICAgICAgICAgIGNsaWVudFJvb3RCb3VuZHMuaGVpZ2h0KCkKKyAgICAgICAgICAgICAgICB9KTsK
KwogICAgICAgICAgICAgICAgIG9ic2VydmVyLT5hcHBlbmRRdWV1ZWRFbnRyeShJbnRlcnNlY3Rp
b25PYnNlcnZlckVudHJ5OjpjcmVhdGUoewogICAgICAgICAgICAgICAgICAgICB0aW1lc3RhbXAs
Ci0gICAgICAgICAgICAgICAgICAgIHJvb3RCb3VuZHMsCi0gICAgICAgICAgICAgICAgICAgIHRh
cmdldEJvdW5kaW5nQ2xpZW50UmVjdCwKLSAgICAgICAgICAgICAgICAgICAgaW50ZXJzZWN0aW9u
UmVjdCwKKyAgICAgICAgICAgICAgICAgICAgcmVwb3J0ZWRSb290Qm91bmRzLAorICAgICAgICAg
ICAgICAgICAgICB7IHRhcmdldEJvdW5kaW5nQ2xpZW50UmVjdC54KCksIHRhcmdldEJvdW5kaW5n
Q2xpZW50UmVjdC55KCksIHRhcmdldEJvdW5kaW5nQ2xpZW50UmVjdC53aWR0aCgpLCB0YXJnZXRC
b3VuZGluZ0NsaWVudFJlY3QuaGVpZ2h0KCkgfSwKKyAgICAgICAgICAgICAgICAgICAgeyBjbGll
bnRJbnRlcnNlY3Rpb25SZWN0LngoKSwgY2xpZW50SW50ZXJzZWN0aW9uUmVjdC55KCksIGNsaWVu
dEludGVyc2VjdGlvblJlY3Qud2lkdGgoKSwgY2xpZW50SW50ZXJzZWN0aW9uUmVjdC5oZWlnaHQo
KSB9LAogICAgICAgICAgICAgICAgICAgICBpbnRlcnNlY3Rpb25SYXRpbywKICAgICAgICAgICAg
ICAgICAgICAgdGFyZ2V0LAogICAgICAgICAgICAgICAgICAgICBpc0ludGVyc2VjdGluZywKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRleCBlZWM3N2Y3NzNmMzcwZDM2NDY3MzI0MTczMjVi
MmYwYmQyNjUzNGI1Li44ZGY0NWU5NGVkNTFiMTVmMDE4ZjhhYjU5MGE2ZGY2NmM3ZmRkNDJkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBAIC00NjU3LDYgKzQ2NTcsMTEgQEAgRmxvYXRQ
b2ludCBGcmFtZVZpZXc6OmFic29sdXRlVG9Eb2N1bWVudFBvaW50KEZsb2F0UG9pbnQgcCwgc3Rk
OjpvcHRpb25hbDxmbG9hdD4KICAgICByZXR1cm4gcC5zY2FsZWQoYWJzb2x1dGVUb0RvY3VtZW50
U2NhbGVGYWN0b3IoZWZmZWN0aXZlWm9vbSkpOwogfQogCitGbG9hdFJlY3QgRnJhbWVWaWV3Ojph
YnNvbHV0ZVRvQ2xpZW50UmVjdChGbG9hdFJlY3QgcmVjdCwgc3RkOjpvcHRpb25hbDxmbG9hdD4g
ZWZmZWN0aXZlWm9vbSkgY29uc3QKK3sKKyAgICByZXR1cm4gZG9jdW1lbnRUb0NsaWVudFJlY3Qo
YWJzb2x1dGVUb0RvY3VtZW50UmVjdChyZWN0LCBlZmZlY3RpdmVab29tKSk7Cit9CisKIEZsb2F0
U2l6ZSBGcmFtZVZpZXc6OmRvY3VtZW50VG9DbGllbnRPZmZzZXQoKSBjb25zdAogewogICAgIEZs
b2F0U2l6ZSBjbGllbnRPcmlnaW4gPSAtdG9GbG9hdFNpemUodmlzaWJsZUNvbnRlbnRSZWN0KCku
bG9jYXRpb24oKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5o
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAppbmRleCBmNTkyYzgzM2M3YzVjYzdm
OTIzZmRhOGFiNjJlM2RmMjZlMGZjMDBiLi5mNTBjZGU2YWU5MGIyMzVkODEzOGFiZDA4ZGU0YWNm
ODVhMGQ3OTkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKQEAgLTQ3Myw2ICs0NzMsOCBAQCBw
dWJsaWM6CiAgICAgRmxvYXRSZWN0IGFic29sdXRlVG9Eb2N1bWVudFJlY3QoRmxvYXRSZWN0LCBz
dGQ6Om9wdGlvbmFsPGZsb2F0PiBlZmZlY3RpdmVab29tID0gc3RkOjpudWxsb3B0KSBjb25zdDsK
ICAgICBGbG9hdFBvaW50IGFic29sdXRlVG9Eb2N1bWVudFBvaW50KEZsb2F0UG9pbnQsIHN0ZDo6
b3B0aW9uYWw8ZmxvYXQ+IGVmZmVjdGl2ZVpvb20gPSBzdGQ6Om51bGxvcHQpIGNvbnN0OwogCisg
ICAgRmxvYXRSZWN0IGFic29sdXRlVG9DbGllbnRSZWN0KEZsb2F0UmVjdCwgc3RkOjpvcHRpb25h
bDxmbG9hdD4gZWZmZWN0aXZlWm9vbSA9IHN0ZDo6bnVsbG9wdCkgY29uc3Q7CisKICAgICBGbG9h
dFNpemUgZG9jdW1lbnRUb0NsaWVudE9mZnNldCgpIGNvbnN0OwogICAgIEZsb2F0UmVjdCBkb2N1
bWVudFRvQ2xpZW50UmVjdChGbG9hdFJlY3QpIGNvbnN0OwogICAgIEZsb2F0UG9pbnQgZG9jdW1l
bnRUb0NsaWVudFBvaW50KEZsb2F0UG9pbnQpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9JbnRlcnNlY3Rpb25PYnNlcnZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0ludGVyc2VjdGlvbk9ic2VydmVyLmNwcAppbmRleCA5MDgyZjg0MTk0NDU3OWY3OTYzYzdhMjQx
ZDJiZTAyNWRhM2FkNDU5Li40YmJlMTkyNmNkODEwYmFhNzU1NTg1YWYyMTdlOTdkNzM1NjVlYmU2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyLmNwcApAQCAt
MzQsNiArMzQsNyBAQAogI2luY2x1ZGUgIkVsZW1lbnQuaCIKICNpbmNsdWRlICJJbnRlcnNlY3Rp
b25PYnNlcnZlckNhbGxiYWNrLmgiCiAjaW5jbHVkZSAiSW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRy
eS5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNlLmgiCiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0xMTQsNiArMTE1LDggQEAgSW50ZXJzZWN0aW9uT2Jz
ZXJ2ZXI6OkludGVyc2VjdGlvbk9ic2VydmVyKERvY3VtZW50JiBkb2N1bWVudCwgUmVmPEludGVy
c2VjdGlvbk8KICAgICAgICAgb2JzZXJ2ZXJEYXRhLm9ic2VydmVycy5hcHBlbmQobWFrZVdlYWtQ
dHIodGhpcykpOwogICAgIH0gZWxzZSBpZiAoYXV0byogZnJhbWUgPSBkb2N1bWVudC5mcmFtZSgp
KQogICAgICAgICBtX2ltcGxpY2l0Um9vdERvY3VtZW50ID0gbWFrZVdlYWtQdHIoZnJhbWUtPm1h
aW5GcmFtZSgpLmRvY3VtZW50KCkpOworCisgICAgc3RkOjpzb3J0KG1fdGhyZXNob2xkcy5iZWdp
bigpLCBtX3RocmVzaG9sZHMuZW5kKCkpOwogfQogCiBJbnRlcnNlY3Rpb25PYnNlcnZlcjo6fklu
dGVyc2VjdGlvbk9ic2VydmVyKCkKQEAgLTIyNiw2ICsyMjksMjIgQEAgdm9pZCBJbnRlcnNlY3Rp
b25PYnNlcnZlcjo6cm9vdERlc3Ryb3llZCgpCiAgICAgfQogfQogCitib29sIEludGVyc2VjdGlv
bk9ic2VydmVyOjpjcmVhdGVUaW1lc3RhbXAoRE9NSGlnaFJlc1RpbWVTdGFtcCYgdGltZXN0YW1w
KSBjb25zdAoreworICAgIGF1dG8qIGNvbnRleHQgPSBtX2NhbGxiYWNrLT5zY3JpcHRFeGVjdXRp
b25Db250ZXh0KCk7CisgICAgaWYgKCFjb250ZXh0KQorICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgQVNTRVJUKGNvbnRleHQtPmlzRG9jdW1lbnQoKSk7CisgICAgYXV0byYgZG9jdW1lbnQgPSBk
b3duY2FzdDxEb2N1bWVudD4oKmNvbnRleHQpOworICAgIGlmIChhdXRvKiB3aW5kb3cgPSBkb2N1
bWVudC5kb21XaW5kb3coKSkgeworICAgICAgICBpZiAoYXV0byogcGVyZm9ybWFuY2UgPSB3aW5k
b3ctPnBlcmZvcm1hbmNlKCkpIHsKKyAgICAgICAgICAgIHRpbWVzdGFtcCA9IHBlcmZvcm1hbmNl
LT5ub3coKTsKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9CisgICAgfQorICAg
IHJldHVybiBmYWxzZTsKK30KKwogdm9pZCBJbnRlcnNlY3Rpb25PYnNlcnZlcjo6YXBwZW5kUXVl
dWVkRW50cnkoUmVmPEludGVyc2VjdGlvbk9ic2VydmVyRW50cnk+JiYgZW50cnkpCiB7CiAgICAg
bV9xdWV1ZWRFbnRyaWVzLmFwcGVuZChXVEZNb3ZlKGVudHJ5KSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0ludGVyc2VjdGlvbk9ic2VydmVyLmgKaW5kZXggYmEyZDE4YWI4N2U0OGUzNTE1NjM3YjI5
NDc4YzAyNTljMjQwNjRkNi4uNzBhYmM0OTMwNTQ2ZTc2ZTUxMDc1YjVkYmM1OWQ2YzFhNDVhNTQ5
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9JbnRlcnNlY3Rpb25PYnNlcnZlci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvSW50ZXJzZWN0aW9uT2JzZXJ2ZXIuaApAQCAtODQs
NiArODQsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBoYXNPYnNlcnZhdGlvblRhcmdldHMoKSBjb25z
dCB7IHJldHVybiBtX29ic2VydmF0aW9uVGFyZ2V0cy5zaXplKCk7IH0KICAgICB2b2lkIHJvb3RE
ZXN0cm95ZWQoKTsKIAorICAgIGJvb2wgY3JlYXRlVGltZXN0YW1wKERPTUhpZ2hSZXNUaW1lU3Rh
bXAmKSBjb25zdDsKKwogICAgIHZvaWQgYXBwZW5kUXVldWVkRW50cnkoUmVmPEludGVyc2VjdGlv
bk9ic2VydmVyRW50cnk+JiYpOwogICAgIHZvaWQgbm90aWZ5KCk7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UmVjdC5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRSZWN0LmgKaW5kZXggNGYzNTc2NjEwYWZiMTNjMDcx
NmVjMzNhYzliYmU3Yzg1MmZhZmNiNS4uOGQxOWY3Zjg2MmVmNGFkYzZiNzU0Y2RjZTE2MDcyZWJk
M2ZlMjAwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxv
YXRSZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRSZWN0
LmgKQEAgLTg5LDYgKzg5LDggQEAgcHVibGljOgogICAgIGZsb2F0IHdpZHRoKCkgY29uc3QgeyBy
ZXR1cm4gbV9zaXplLndpZHRoKCk7IH0KICAgICBmbG9hdCBoZWlnaHQoKSBjb25zdCB7IHJldHVy
biBtX3NpemUuaGVpZ2h0KCk7IH0KIAorICAgIGZsb2F0IGFyZWEoKSBjb25zdCB7IHJldHVybiBt
X3NpemUuYXJlYSgpOyB9CisKICAgICB2b2lkIHNldFgoZmxvYXQgeCkgeyBtX2xvY2F0aW9uLnNl
dFgoeCk7IH0KICAgICB2b2lkIHNldFkoZmxvYXQgeSkgeyBtX2xvY2F0aW9uLnNldFkoeSk7IH0K
ICAgICB2b2lkIHNldFdpZHRoKGZsb2F0IHdpZHRoKSB7IG1fc2l6ZS5zZXRXaWR0aCh3aWR0aCk7
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCmluZGV4IDhmNTNmN2Q1
ZjExYTcyYTIwZTljOWNkNjEzZTQwNTU2ZjM2NTBiNTAuLjEyOTI3YzQ3YzE5OTFhYzYxOTE0NDE3
ZTJhZjc5NmY1ZWM4MWViY2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCbG9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2Nr
LmNwcApAQCAtMTgyOCw2ICsxODI4LDE1IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmNsZWFyUGVyY2Vu
dEhlaWdodERlc2NlbmRhbnRzRnJvbShSZW5kZXJCb3gmIHBhcmVudCkKICAgICB9CiB9CiAKK2Jv
b2wgUmVuZGVyQmxvY2s6OmlzQ29udGFpbmluZ0Jsb2NrQW5jZXN0b3JGb3IoUmVuZGVyT2JqZWN0
JiByZW5kZXJlcikgY29uc3QKK3sKKyAgICBmb3IgKGNvbnN0IGF1dG8qIGFuY2VzdG9yID0gcmVu
ZGVyZXIuY29udGFpbmluZ0Jsb2NrKCk7IGFuY2VzdG9yOyBhbmNlc3RvciA9IGFuY2VzdG9yLT5j
b250YWluaW5nQmxvY2soKSkgeworICAgICAgICBpZiAoYW5jZXN0b3IgPT0gdGhpcykKKyAgICAg
ICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIExheW91
dFVuaXQgUmVuZGVyQmxvY2s6OnRleHRJbmRlbnRPZmZzZXQoKSBjb25zdAogewogICAgIExheW91
dFVuaXQgY3cgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJsb2NrLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAppbmRleCBl
ZjFlN2UzODk4MjRhNDQ5NzdmNzE3OTU3MDBjMmZiMjdlN2U4Nzc1Li44ZTgwNmVkMDJhYmMzYTIz
ZTNlMTk2MjZlOGFhN2U2N2Y2NTFjNTM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQmxvY2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
QmxvY2suaApAQCAtMTAxLDYgKzEwMSw4IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBjbGVh
clBlcmNlbnRIZWlnaHREZXNjZW5kYW50c0Zyb20oUmVuZGVyQm94Jik7CiAgICAgc3RhdGljIHZv
aWQgcmVtb3ZlUGVyY2VudEhlaWdodERlc2NlbmRhbnRJZk5lZWRlZChSZW5kZXJCb3gmKTsKIAor
ICAgIGJvb2wgaXNDb250YWluaW5nQmxvY2tBbmNlc3RvckZvcihSZW5kZXJPYmplY3QmKSBjb25z
dDsKKwogICAgIHZvaWQgc2V0SGFzTWFyZ2luQmVmb3JlUXVpcmsoYm9vbCBiKSB7IHNldFJlbmRl
ckJsb2NrSGFzTWFyZ2luQmVmb3JlUXVpcmsoYik7IH0KICAgICB2b2lkIHNldEhhc01hcmdpbkFm
dGVyUXVpcmsoYm9vbCBiKSB7IHNldFJlbmRlckJsb2NrSGFzTWFyZ2luQWZ0ZXJRdWlyayhiKTsg
fQogICAgIHZvaWQgc2V0U2hvdWxkRm9yY2VSZWxheW91dENoaWxkcmVuKGJvb2wgYikgeyBzZXRS
ZW5kZXJCbG9ja1Nob3VsZEZvcmNlUmVsYXlvdXRDaGlsZHJlbihiKTsgfQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cKaW5kZXggN2NiNjg4Yjg1ZTBmYjlkZWNhODg0MDJmNjU4Mjc0Y2YyNzZh
MGY3Mi4uMzFhMjg4NDNhODI3NGU0YmM2OTgwYjA2NWNkMTdiMmEwMjAzNjgwNyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTgtMDgtMjEgIEFsaSBK
dW1hICA8YWp1bWFAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtJbnRlcnNlY3Rpb25PYnNlcnZl
cl0gSW1wbGVtZW50IGludGVyc2VjdGlvbiBsb2dpYyBmb3IgdGhlIGV4cGxpY2l0IHJvb3QgY2Fz
ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg4ODA5
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmViYXNl
bGluZSB0ZXN0cyBub3cgdGhhdCBzb21lIGludGVyc2VjdGlvbiBsb2dpYyBoYXMgYmVlbiBpbXBs
ZW1lbnRlZC4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2Jz
ZXJ2ZXIvYm91bmRpbmctYm94LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL2NvbnRhaW5pbmctYmxvY2stZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvZWRn
ZS1pbmNsdXNpdmUtaW50ZXJzZWN0aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL2lzSW50ZXJzZWN0aW5nLWNoYW5nZS1l
dmVudHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNl
Y3Rpb24tb2JzZXJ2ZXIvcmVtb3ZlLWVsZW1lbnQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvc2FtZS1kb2N1bWVudC1yb290
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9u
LW9ic2VydmVyL3VuY2xpcHBlZC1yb290LWV4cGVjdGVkLnR4dDoKKwogMjAxOC0wOC0xOCAgQWxp
IEp1bWEgIDxhanVtYUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0ludGVyc2VjdGlvbk9ic2Vy
dmVyXSBGaXJlIGFuIGluaXRpYWwgZHVtbXkgbm90aWZpY2F0aW9uCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNl
cnZlci9ib3VuZGluZy1ib3gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvYm91bmRpbmctYm94LWV4
cGVjdGVkLnR4dAppbmRleCAyYTMwMjE1YzQ4NGU0Y2I3MDgyNGQwMTE2NzhjZTI5MzQ3ZTkwNDMw
Li44NjVmMjRiZDFiMTU4N2QyOTQxY2U0ZThiMWVjN2Q4ZWVkZDlkMjMxIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1v
YnNlcnZlci9ib3VuZGluZy1ib3gtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL2JvdW5kaW5n
LWJveC1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw1IEBACiAKIFBBU1MgVGVzdCB0aGF0IHRoZSB0
YXJnZXQncyBib3JkZXIgYm91bmRpbmcgYm94IGlzIHVzZWQgdG8gY2FsY3VsYXRlIGludGVyc2Vj
dGlvbi4gCi1GQUlMIEZpcnN0IHJBRi4gYXNzZXJ0X2VxdWFsczogZW50cmllc1swXS5ib3VuZGlu
Z0NsaWVudFJlY3QubGVmdCBleHBlY3RlZCAyNSBidXQgZ290IDAKK1BBU1MgRmlyc3QgckFGLiAK
IEZBSUwgdGFyZ2V0LnN0eWxlLnRyYW5zZm9ybSA9ICd0cmFuc2xhdGVZKDE5NXB4KScgYXNzZXJ0
X2VxdWFsczogZW50cmllcy5sZW5ndGggZXhwZWN0ZWQgMiBidXQgZ290IDEKIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rp
b24tb2JzZXJ2ZXIvY29udGFpbmluZy1ibG9jay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9jb250
YWluaW5nLWJsb2NrLWV4cGVjdGVkLnR4dAppbmRleCA3M2JlMDI0NDkwYjE1NmUzN2IwZDJlOGQx
Y2FlNzczYjEwNjY5Y2Y3Li43NDk5NzM4ZGEzMDU2ZjVmMGNhYzhlYWI5ZTNhOTg3ZmZkYjI4MGJk
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ludGVyc2VjdGlvbi1vYnNlcnZlci9jb250YWluaW5nLWJsb2NrLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlv
bi1vYnNlcnZlci9jb250YWluaW5nLWJsb2NrLWV4cGVjdGVkLnR4dApAQCAtMSw2ICsxLDYgQEAK
IAogUEFTUyBJbnRlcnNlY3Rpb25PYnNlcnZlciBzaG91bGQgb25seSByZXBvcnQgaW50ZXJzZWN0
aW9ucyBpZiByb290IGlzIGEgY29udGFpbmluZyBibG9jayBhbmNlc3RvciBvZiB0YXJnZXQuIAot
RkFJTCBJbiBjb250YWluaW5nIGJsb2NrIGFuZCBpbnRlcnNlY3RpbmcuIGFzc2VydF9lcXVhbHM6
IGVudHJpZXNbMF0uYm91bmRpbmdDbGllbnRSZWN0LmxlZnQgZXhwZWN0ZWQgNTggYnV0IGdvdCAw
CitGQUlMIEluIGNvbnRhaW5pbmcgYmxvY2sgYW5kIGludGVyc2VjdGluZy4gYXNzZXJ0X2VxdWFs
czogZW50cmllc1swXS5ib3VuZGluZ0NsaWVudFJlY3QudG9wIGV4cGVjdGVkIDE4IGJ1dCBnb3Qg
MjU4CiBGQUlMIEluIGNvbnRhaW5pbmcgYmxvY2sgYW5kIG5vdCBpbnRlcnNlY3RpbmcuIGFzc2Vy
dF9lcXVhbHM6IGVudHJpZXMubGVuZ3RoIGV4cGVjdGVkIDIgYnV0IGdvdCAxCiBGQUlMIE5vdCBp
biBjb250YWluaW5nIGJsb2NrIGFuZCBpbnRlcnNlY3RpbmcuIGFzc2VydF9lcXVhbHM6IGVudHJp
ZXMubGVuZ3RoIGV4cGVjdGVkIDIgYnV0IGdvdCAxCiBGQUlMIE5vdCBpbiBjb250YWluaW5nIGJs
b2NrIGFuZCBub3QgaW50ZXJzZWN0aW5nLiBhc3NlcnRfZXF1YWxzOiBlbnRyaWVzLmxlbmd0aCBl
eHBlY3RlZCAyIGJ1dCBnb3QgMQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvZWRnZS1pbmNsdXNpdmUt
aW50ZXJzZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL2VkZ2UtaW5jbHVzaXZlLWludGVy
c2VjdGlvbi1leHBlY3RlZC50eHQKaW5kZXggYzg1OTViMGNiYTVhNzIyZmU1MDZkNjc2ZjA2ZWU1
MTI3MzA2YjUxZi4uMDc2NDMzODE2NjAxNWI0YThmNTU2ZWYxMzg3MmVmNmEzYTI1NDY5OSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRl
cnNlY3Rpb24tb2JzZXJ2ZXIvZWRnZS1pbmNsdXNpdmUtaW50ZXJzZWN0aW9uLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVy
c2VjdGlvbi1vYnNlcnZlci9lZGdlLWluY2x1c2l2ZS1pbnRlcnNlY3Rpb24tZXhwZWN0ZWQudHh0
CkBAIC0xLDYgKzEsNiBAQAogCiBQQVNTIEludGVyc2VjdGlvbk9ic2VydmVyIHNob3VsZCBkZXRl
Y3QgYW5kIHJlcG9ydCBlZGdlLWFkamFjZW50IGFuZCB6ZXJvLWFyZWEgaW50ZXJzZWN0aW9ucy4g
Ci1GQUlMIEZpcnN0IHJBRi4gYXNzZXJ0X2VxdWFsczogZW50cmllc1swXS5ib3VuZGluZ0NsaWVu
dFJlY3QubGVmdCBleHBlY3RlZCA4IGJ1dCBnb3QgMAorUEFTUyBGaXJzdCByQUYuIAogRkFJTCBT
ZXQgdHJhbnNmb3JtPXRyYW5zbGF0ZVkoMjAwcHgpIG9uIHRhcmdldC4gYXNzZXJ0X2VxdWFsczog
ZW50cmllcy5sZW5ndGggZXhwZWN0ZWQgMiBidXQgZ290IDEKIEZBSUwgU2V0IHRyYW5zZm9ybT10
cmFuc2xhdGVZKDIwMXB4KSBvbiB0YXJnZXQuIGFzc2VydF9lcXVhbHM6IGVudHJpZXMubGVuZ3Ro
IGV4cGVjdGVkIDMgYnV0IGdvdCAxCiBGQUlMIFNldCB0cmFuc2Zvcm09dHJhbnNsYXRlWSgxODVw
eCkgb24gdGFyZ2V0LiBhc3NlcnRfZXF1YWxzOiBlbnRyaWVzLmxlbmd0aCBleHBlY3RlZCA0IGJ1
dCBnb3QgMQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvaXNJbnRlcnNlY3RpbmctY2hhbmdlLWV2ZW50
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9pc0ludGVyc2VjdGluZy1jaGFuZ2UtZXZlbnRzLWV4
cGVjdGVkLnR4dAppbmRleCA2NjY5NTU5MjhjZTM3MDA3MjBkMGJmOTE5ODlkMmI4YTMzMDZiOWFi
Li45OThlMGZhNjBkMGI2YTY1ZTk4ODZiZDUwY2Q4OWIzYzQ3MjkyMmY1IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1v
YnNlcnZlci9pc0ludGVyc2VjdGluZy1jaGFuZ2UtZXZlbnRzLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1v
YnNlcnZlci9pc0ludGVyc2VjdGluZy1jaGFuZ2UtZXZlbnRzLWV4cGVjdGVkLnR4dApAQCAtMSw0
ICsxLDQgQEAKIAogUEFTUyBpc0ludGVyc2VjdGluZyBjaGFuZ2VzIHNob3VsZCB0cmlnZ2VyIG5v
dGlmaWNhdGlvbnMuIAotRkFJTCBSZWN0cyBpbiBpbml0aWFsIG5vdGlmaWNhdGlvbnMgc2hvdWxk
IHJlcG9ydCBpbml0aWFsIHBvc2l0aW9ucy4gYXNzZXJ0X2VxdWFsczogQ2hlY2sgMXN0IGVudHJ5
IHJlY3QucmlnaHQgZXhwZWN0ZWQgMTAwIGJ1dCBnb3QgMAorRkFJTCBSZWN0cyBpbiBpbml0aWFs
IG5vdGlmaWNhdGlvbnMgc2hvdWxkIHJlcG9ydCBpbml0aWFsIHBvc2l0aW9ucy4gYXNzZXJ0X2Vx
dWFsczogZW50cmllc1syXS50YXJnZXQuaXNJbnRlcnNlY3RpbmcgZXF1YWxzIHRydWUgZXhwZWN0
ZWQgdHJ1ZSBidXQgZ290IGZhbHNlCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL3JlbW92ZS1lbGVt
ZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL3JlbW92ZS1lbGVtZW50LWV4cGVjdGVkLnR4dApp
bmRleCBmYzFiNGEyYmNiYWFmOWIxMTNkOGFjN2E4N2ZkNTJkZGRjNTE3NDM1Li45Zjk1NzVkY2U2
MGMyNjNjYTRhN2FlYzQzOTllMGNiMDQ1OWFjZGUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9yZW1v
dmUtZWxlbWVudC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvcmVtb3ZlLWVsZW1lbnQtZXhw
ZWN0ZWQudHh0CkBAIC0xLDYgKzEsNiBAQAogCiBQQVNTIFZlcmlmeSB0aGF0IG5vdC1pbnRlcnNl
Y3Rpbmcgbm90aWZpY2F0aW9ucyBhcmUgc2VudCB3aGVuIGEgdGFyZ2V0IGlzIHJlbW92ZWQgZnJv
bSB0aGUgRE9NIHRyZWUuIAotRkFJTCBGaXJzdCByQUYgYXNzZXJ0X2VxdWFsczogZW50cmllc1sw
XS5ib3VuZGluZ0NsaWVudFJlY3QubGVmdCBleHBlY3RlZCAxMSBidXQgZ290IDAKK1BBU1MgRmly
c3QgckFGIAogRkFJTCByb290LnNjcm9sbFRvcCA9IDE1MCBhc3NlcnRfZXF1YWxzOiBlbnRyaWVz
Lmxlbmd0aCBleHBlY3RlZCAyIGJ1dCBnb3QgMQogRkFJTCByb290LnJlbW92ZUNoaWxkKHRhcmdl
dCkuIGFzc2VydF9lcXVhbHM6IGVudHJpZXMubGVuZ3RoIGV4cGVjdGVkIDMgYnV0IGdvdCAxCiBG
QUlMIHJvb3QuaW5zZXJ0QmVmb3JlKHRhcmdldCwgdHJhaWxpbmdTcGFjZSkuIGFzc2VydF9lcXVh
bHM6IGVudHJpZXMubGVuZ3RoIGV4cGVjdGVkIDMgYnV0IGdvdCAxCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNl
cnZlci9zYW1lLWRvY3VtZW50LXJvb3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvc2FtZS1kb2N1
bWVudC1yb290LWV4cGVjdGVkLnR4dAppbmRleCAxY2M2OTc4NDE5OWQ3ZDY5MDg3NDA2NGViMTcz
NDhmYjEzOGUwMGNiLi4zNWNjZGU3OTRiZGMyOGMxMTQxMjhiMTYzNzcyNzNiYWU4Mjg3YmVkIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2lu
dGVyc2VjdGlvbi1vYnNlcnZlci9zYW1lLWRvY3VtZW50LXJvb3QtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9u
LW9ic2VydmVyL3NhbWUtZG9jdW1lbnQtcm9vdC1leHBlY3RlZC50eHQKQEAgLTEsNiArMSw2IEBA
CiAKIFBBU1MgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgaW4gYSBzaW5nbGUgZG9jdW1lbnQgd2l0aCBl
eHBsaWNpdCByb290LiAKLUZBSUwgRmlyc3QgckFGIGFzc2VydF9lcXVhbHM6IGVudHJpZXNbMF0u
Ym91bmRpbmdDbGllbnRSZWN0LmxlZnQgZXhwZWN0ZWQgMTEgYnV0IGdvdCAwCitQQVNTIEZpcnN0
IHJBRiAKIFBBU1MgZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudC5zY3JvbGxUb3AgPSB3aW5kb3cu
aW5uZXJIZWlnaHQuIAogRkFJTCByb290LnNjcm9sbFRvcCA9IDE1MCB3aXRoIHJvb3Qgc2Nyb2xs
ZWQgaW50byB2aWV3LiBhc3NlcnRfZXF1YWxzOiBlbnRyaWVzLmxlbmd0aCBleHBlY3RlZCAyIGJ1
dCBnb3QgMQogRkFJTCBkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbFRvcCA9IDAuIGFz
c2VydF9lcXVhbHM6IGVudHJpZXMubGVuZ3RoIGV4cGVjdGVkIDIgYnV0IGdvdCAxCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2Vj
dGlvbi1vYnNlcnZlci91bmNsaXBwZWQtcm9vdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci91bmNs
aXBwZWQtcm9vdC1leHBlY3RlZC50eHQKaW5kZXggYWY1MmUwNGI4YmI2YTQ5NjdjZGFhZTg0OTZk
ZWY4YjBmNzU2MzIwYi4uNzUyMjNmMjk1Y2ZkOTgyMzBhMmUzMjY4ZjIyNzdmMDNmZDZkY2U0MSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9p
bnRlcnNlY3Rpb24tb2JzZXJ2ZXIvdW5jbGlwcGVkLXJvb3QtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9i
c2VydmVyL3VuY2xpcHBlZC1yb290LWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDUgQEAKIAogUEFT
UyBUZXN0IHRoYXQgYm9yZGVyIGJvdW5kaW5nIGJveCBpcyB1c2VkIHRvIGNhbGN1bGF0ZSBpbnRl
cnNlY3Rpb24gd2l0aCBhIG5vbi1zY3JvbGxpbmcgcm9vdC4gCi1GQUlMIEZpcnN0IHJBRi4gYXNz
ZXJ0X2VxdWFsczogZW50cmllc1swXS5ib3VuZGluZ0NsaWVudFJlY3QubGVmdCBleHBlY3RlZCAx
NSBidXQgZ290IDAKK1BBU1MgRmlyc3QgckFGLiAKIEZBSUwgdGFyZ2V0LnN0eWxlLnRyYW5zZm9y
bSA9ICd0cmFuc2xhdGVZKDE5NXB4KScgYXNzZXJ0X2VxdWFsczogZW50cmllcy5sZW5ndGggZXhw
ZWN0ZWQgMiBidXQgZ290IDEKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>347712</attachid>
            <date>2018-08-21 15:29:15 -0700</date>
            <delta_ts>2018-08-27 04:13:57 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-188809-20180821182914.patch</filename>
            <type>text/plain</type>
            <size>21773</size>
            <attacher name="Ali Juma">ajuma</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1MDE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjE5NTQyMmRiOWFiYTRi
NDJiMmExZjY4YzEzODA3YjVmOGMyMWQyYy4uZGI4MWY2MGQ5NzNlY2MyODkxYTFlMDNkZDQ4OTgz
MjAyYjE2MWZlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE4LTA4LTIxICBBbGkg
SnVtYSAgPGFqdW1hQGNocm9taXVtLm9yZz4KKworICAgICAgICBbSW50ZXJzZWN0aW9uT2JzZXJ2
ZXJdIEltcGxlbWVudCBpbnRlcnNlY3Rpb24gbG9naWMgZm9yIHRoZSBleHBsaWNpdCByb290IGNh
c2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4ODgw
OQorCisgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KKworICAgICAgICBBZGQgbG9n
aWMgdG8gRG9jdW1lbnQ6OnVwZGF0ZUludGVyc2VjdGlvbk9ic2VydmF0aW9ucyB0byBjb21wdXRl
IHRoZSBpbnRlcnNlY3Rpb24KKyAgICAgICAgYmV0d2VlbiB0aGUgdGFyZ2V0IGFuZCByb290IGVs
ZW1lbnRzLCBmb3IgdGhlIGNhc2Ugd2hlcmUgYW4gSW50ZXJzZWN0aW9uT2JzZXJ2ZXIKKyAgICAg
ICAgaGFzIGEgcm9vdCBlbGVtZW50LgorCisgICAgICAgIFRoZXJlIGFyZSBubyBjaGFuZ2VzIHRv
IHRoZSBzY2hlZHVsaW5nIG9mIGludGVyc2VjdGlvbiBvYnNlcnZhdGlvbnMgaW4gdGhpcyBwYXRj
aCwKKyAgICAgICAgc28gb2JzZXJ2YXRpb25zIGFyZSBzdGlsbCBvbmx5IGNvbXB1dGVkIG9uY2Ug
Zm9yIGVhY2ggb2JzZXJ2ZXIuCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Y29tcHV0ZUludGVyc2VjdGlvblJlY3RzKToKKyAgICAgICAgKFdlYkNvcmU6
OkRvY3VtZW50Ojp1cGRhdGVJbnRlcnNlY3Rpb25PYnNlcnZhdGlvbnMpOgorICAgICAgICAqIHBh
Z2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6YWJzb2x1dGVU
b0NsaWVudFJlY3QgY29uc3QpOgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3Lmg6CisgICAgICAg
ICogcGFnZS9JbnRlcnNlY3Rpb25PYnNlcnZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRl
cnNlY3Rpb25PYnNlcnZlcjo6SW50ZXJzZWN0aW9uT2JzZXJ2ZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6SW50ZXJzZWN0aW9uT2JzZXJ2ZXI6OmNyZWF0ZVRpbWVzdGFtcCBjb25zdCk6CisgICAgICAg
ICogcGFnZS9JbnRlcnNlY3Rpb25PYnNlcnZlci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL0Zsb2F0UmVjdC5oOgorICAgICAgICAoV2ViQ29yZTo6RmxvYXRSZWN0OjphcmVhIGNvbnN0
KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyQmxvY2s6OmlzQ29udGFpbmluZ0Jsb2NrQW5jZXN0b3JGb3IgY29uc3QpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5oOgorCiAyMDE4LTA4LTE4ICBEYXZpZCBLaWx6
ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CiAKICAgICAgICAgTGV0IFhjb2RlIGhhdmUgaXRzIHdh
eSB3aXRoIHRoZSBXZWJDb3JlIHByb2plY3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDM5
YjUzNDI4NThhNTdlNDU1ZjJjZWE4ODkyZGJkYWJmMjg0MmNkYjMuLjBiZmI3NTUzYzFiYTlmYjAx
NjhhMzIyNTY4ZTVmMzdkZjVlZTg1YjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMTUy
LDcgKzE1Miw5IEBACiAjaW5jbHVkZSAiUHVibGljU3VmZml4LmgiCiAjaW5jbHVkZSAiUmVhbHRp
bWVNZWRpYVNvdXJjZUNlbnRlci5oIgogI2luY2x1ZGUgIlJlbmRlckNoaWxkSXRlcmF0b3IuaCIK
KyNpbmNsdWRlICJSZW5kZXJJbmxpbmUuaCIKICNpbmNsdWRlICJSZW5kZXJMYXllckNvbXBvc2l0
b3IuaCIKKyNpbmNsdWRlICJSZW5kZXJMaW5lQnJlYWsuaCIKICNpbmNsdWRlICJSZW5kZXJUcmVl
VXBkYXRlci5oIgogI2luY2x1ZGUgIlJlbmRlclZpZXcuaCIKICNpbmNsdWRlICJSZW5kZXJXaWRn
ZXQuaCIKQEAgLTc0MzgsMTAgKzc0NDAsNjMgQEAgUmVmUHRyPEludGVyc2VjdGlvbk9ic2VydmVy
PiBEb2N1bWVudDo6cmVtb3ZlSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoSW50ZXJzZWN0aW9uT2IKICAg
ICByZXR1cm4gb2JzZXJ2ZXJSZWY7CiB9CiAKK3N0YXRpYyB2b2lkIGNvbXB1dGVJbnRlcnNlY3Rp
b25SZWN0cyhJbnRlcnNlY3Rpb25PYnNlcnZlciYgb2JzZXJ2ZXIsIEVsZW1lbnQmIHRhcmdldCwg
RmxvYXRSZWN0JiBhYnNUYXJnZXRSZWN0LCBGbG9hdFJlY3QmIGFic0ludGVyc2VjdGlvblJlY3Qs
IEZsb2F0UmVjdCYgYWJzUm9vdEJvdW5kcykKK3sKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50IGlu
dGVyc2VjdGlvbiBjb21wdXRhdGlvbiBmb3IgdGhlIGNhc2Ugb2YgYW4gaW1wbGljaXQgcm9vdC4K
KyAgICBpZiAoIW9ic2VydmVyLnJvb3QoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKG9i
c2VydmVyLnJvb3QoKS0+ZG9jdW1lbnQoKSAhPSB0YXJnZXQuZG9jdW1lbnQoKSkKKyAgICAgICAg
cmV0dXJuOworCisgICAgaWYgKCFvYnNlcnZlci5yb290KCktPnJlbmRlcmVyKCkgfHwgIWlzPFJl
bmRlckJsb2NrPihvYnNlcnZlci5yb290KCktPnJlbmRlcmVyKCkpKQorICAgICAgICByZXR1cm47
CisKKyAgICBSZW5kZXJCbG9jayogcm9vdFJlbmRlcmVyID0gZG93bmNhc3Q8UmVuZGVyQmxvY2s+
KG9ic2VydmVyLnJvb3QoKS0+cmVuZGVyZXIoKSk7CisKKyAgICBhdXRvKiB0YXJnZXRSZW5kZXJl
ciA9IHRhcmdldC5yZW5kZXJlcigpOworICAgIGlmICghdGFyZ2V0UmVuZGVyZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGlmICghcm9vdFJlbmRlcmVyLT5pc0NvbnRhaW5pbmdCbG9ja0FuY2Vz
dG9yRm9yKCp0YXJnZXRSZW5kZXJlcikpCisgICAgICAgIHJldHVybjsKKworICAgIC8vIEZJWE1F
OiBFeHBhbmQgbG9jYWxSb290Qm91bmRzIHVzaW5nIHRoZSBvYnNlcnZlcidzIHJvb3RNYXJnaW4u
CisgICAgRmxvYXRSZWN0IGxvY2FsUm9vdEJvdW5kczsKKyAgICBpZiAocm9vdFJlbmRlcmVyLT5o
YXNPdmVyZmxvd0NsaXAoKSkKKyAgICAgICAgbG9jYWxSb290Qm91bmRzID0gcm9vdFJlbmRlcmVy
LT5jb250ZW50Qm94UmVjdCgpOworICAgIGVsc2UKKyAgICAgICAgbG9jYWxSb290Qm91bmRzID0g
eyBGbG9hdFBvaW50KCksIHJvb3RSZW5kZXJlci0+c2l6ZSgpIH07CisKKyAgICBMYXlvdXRSZWN0
IGxvY2FsVGFyZ2V0Qm91bmRzOworICAgIGlmIChpczxSZW5kZXJCb3g+KCp0YXJnZXRSZW5kZXJl
cikpCisgICAgICAgIGxvY2FsVGFyZ2V0Qm91bmRzID0gZG93bmNhc3Q8UmVuZGVyQm94Pih0YXJn
ZXRSZW5kZXJlciktPmJvcmRlckJvdW5kaW5nQm94KCk7CisgICAgZWxzZSBpZiAoaXM8UmVuZGVy
SW5saW5lPih0YXJnZXRSZW5kZXJlcikpCisgICAgICAgIGxvY2FsVGFyZ2V0Qm91bmRzID0gZG93
bmNhc3Q8UmVuZGVySW5saW5lPih0YXJnZXRSZW5kZXJlciktPmxpbmVzQm91bmRpbmdCb3goKTsK
KyAgICBlbHNlIGlmIChpczxSZW5kZXJMaW5lQnJlYWs+KHRhcmdldFJlbmRlcmVyKSkKKyAgICAg
ICAgbG9jYWxUYXJnZXRCb3VuZHMgPSBkb3duY2FzdDxSZW5kZXJMaW5lQnJlYWs+KHRhcmdldFJl
bmRlcmVyKS0+bGluZXNCb3VuZGluZ0JveCgpOworCisgICAgRmxvYXRSZWN0IHJvb3RMb2NhbElu
dGVyc2VjdGlvblJlY3QgPSB0YXJnZXRSZW5kZXJlci0+Y29tcHV0ZVJlY3RGb3JSZXBhaW50KGxv
Y2FsVGFyZ2V0Qm91bmRzLCByb290UmVuZGVyZXIpOworICAgIHJvb3RMb2NhbEludGVyc2VjdGlv
blJlY3QuaW50ZXJzZWN0KGxvY2FsUm9vdEJvdW5kcyk7CisKKyAgICBpZiAoIXJvb3RMb2NhbElu
dGVyc2VjdGlvblJlY3QuaXNFbXB0eSgpKQorICAgICAgICBhYnNJbnRlcnNlY3Rpb25SZWN0ID0g
cm9vdFJlbmRlcmVyLT5sb2NhbFRvQWJzb2x1dGVRdWFkKHJvb3RMb2NhbEludGVyc2VjdGlvblJl
Y3QpLmJvdW5kaW5nQm94KCk7CisKKyAgICBhYnNUYXJnZXRSZWN0ID0gdGFyZ2V0UmVuZGVyZXIt
PmxvY2FsVG9BYnNvbHV0ZVF1YWQoRmxvYXRSZWN0KGxvY2FsVGFyZ2V0Qm91bmRzKSkuYm91bmRp
bmdCb3goKTsKKyAgICBhYnNSb290Qm91bmRzID0gcm9vdFJlbmRlcmVyLT5sb2NhbFRvQWJzb2x1
dGVRdWFkKGxvY2FsUm9vdEJvdW5kcykuYm91bmRpbmdCb3goKTsKK30KKwogdm9pZCBEb2N1bWVu
dDo6dXBkYXRlSW50ZXJzZWN0aW9uT2JzZXJ2YXRpb25zKCkKIHsKKyAgICBhdXRvKiBmcmFtZVZp
ZXcgPSB2aWV3KCk7CisgICAgaWYgKCFmcmFtZVZpZXcpCisgICAgICAgIHJldHVybjsKKwogICAg
IGZvciAoYXV0byBvYnNlcnZlciA6IG1faW50ZXJzZWN0aW9uT2JzZXJ2ZXJzKSB7CiAgICAgICAg
IGJvb2wgbmVlZE5vdGlmeSA9IGZhbHNlOworICAgICAgICBET01IaWdoUmVzVGltZVN0YW1wIHRp
bWVzdGFtcDsKKyAgICAgICAgaWYgKCFvYnNlcnZlci0+Y3JlYXRlVGltZXN0YW1wKHRpbWVzdGFt
cCkpCisgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgZm9yIChFbGVtZW50KiB0YXJnZXQg
OiBvYnNlcnZlci0+b2JzZXJ2YXRpb25UYXJnZXRzKCkpIHsKICAgICAgICAgICAgIGF1dG8mIHRh
cmdldFJlZ2lzdHJhdGlvbnMgPSB0YXJnZXQtPmludGVyc2VjdGlvbk9ic2VydmVyRGF0YSgpLT5y
ZWdpc3RyYXRpb25zOwogICAgICAgICAgICAgYXV0byBpbmRleCA9IHRhcmdldFJlZ2lzdHJhdGlv
bnMuZmluZE1hdGNoaW5nKFtvYnNlcnZlcl0oYXV0byYgcmVnaXN0cmF0aW9uKSB7CkBAIC03NDUw
LDIwICs3NTA1LDQwIEBAIHZvaWQgRG9jdW1lbnQ6OnVwZGF0ZUludGVyc2VjdGlvbk9ic2VydmF0
aW9ucygpCiAgICAgICAgICAgICBBU1NFUlQoaW5kZXggIT0gbm90Rm91bmQpOwogICAgICAgICAg
ICAgYXV0byYgcmVnaXN0cmF0aW9uID0gdGFyZ2V0UmVnaXN0cmF0aW9uc1tpbmRleF07CiAKLSAg
ICAgICAgICAgIC8vIEZJWE1FOiBDb21wdXRlIGludGVyc2VjdGlvbiBvZiB0YXJnZXQgYW5kIG9i
c2VydmVyJ3Mgcm9vdC4KKyAgICAgICAgICAgIEZsb2F0UmVjdCBhYnNUYXJnZXRSZWN0OworICAg
ICAgICAgICAgRmxvYXRSZWN0IGFic0ludGVyc2VjdGlvblJlY3Q7CisgICAgICAgICAgICBGbG9h
dFJlY3QgYWJzUm9vdEJvdW5kczsKKyAgICAgICAgICAgIGNvbXB1dGVJbnRlcnNlY3Rpb25SZWN0
cygqb2JzZXJ2ZXIsICp0YXJnZXQsIGFic1RhcmdldFJlY3QsIGFic0ludGVyc2VjdGlvblJlY3Qs
IGFic1Jvb3RCb3VuZHMpOworCisgICAgICAgICAgICAvLyBGSVhNRTogSGFuZGxlIHplcm8tYXJl
YSBpbnRlcnNlY3Rpb25zIChlLmcuLCBpbnRlcnNlY3Rpb25zIGludm9sdmluZyB6ZXJvLWFyZWEg
dGFyZ2V0cykuCisgICAgICAgICAgICBib29sIGlzSW50ZXJzZWN0aW5nID0gYWJzSW50ZXJzZWN0
aW9uUmVjdC5hcmVhKCk7CisgICAgICAgICAgICBmbG9hdCBpbnRlcnNlY3Rpb25SYXRpbyA9IGlz
SW50ZXJzZWN0aW5nID8gYWJzSW50ZXJzZWN0aW9uUmVjdC5hcmVhKCkgLyBhYnNUYXJnZXRSZWN0
LmFyZWEoKSA6IDA7CiAgICAgICAgICAgICBzaXplX3QgdGhyZXNob2xkSW5kZXggPSAwOwotICAg
ICAgICAgICAgZG91YmxlIHRpbWVzdGFtcCA9IDA7Ci0gICAgICAgICAgICBzdGQ6Om9wdGlvbmFs
PERPTVJlY3RJbml0PiByb290Qm91bmRzOwotICAgICAgICAgICAgRE9NUmVjdEluaXQgdGFyZ2V0
Qm91bmRpbmdDbGllbnRSZWN0OwotICAgICAgICAgICAgRE9NUmVjdEluaXQgaW50ZXJzZWN0aW9u
UmVjdDsKLSAgICAgICAgICAgIGRvdWJsZSBpbnRlcnNlY3Rpb25SYXRpbyA9IDA7Ci0gICAgICAg
ICAgICBib29sIGlzSW50ZXJzZWN0aW5nID0gZmFsc2U7CisgICAgICAgICAgICBpZiAoaXNJbnRl
cnNlY3RpbmcpIHsKKyAgICAgICAgICAgICAgICBhdXRvJiB0aHJlc2hvbGRzID0gb2JzZXJ2ZXIt
PnRocmVzaG9sZHMoKTsKKyAgICAgICAgICAgICAgICB3aGlsZSAodGhyZXNob2xkSW5kZXggPCB0
aHJlc2hvbGRzLnNpemUoKSAmJiB0aHJlc2hvbGRzW3RocmVzaG9sZEluZGV4XSA8PSBpbnRlcnNl
Y3Rpb25SYXRpbykKKyAgICAgICAgICAgICAgICAgICAgKyt0aHJlc2hvbGRJbmRleDsKKyAgICAg
ICAgICAgIH0KKwogICAgICAgICAgICAgaWYgKCFyZWdpc3RyYXRpb24ucHJldmlvdXNUaHJlc2hv
bGRJbmRleCB8fCB0aHJlc2hvbGRJbmRleCAhPSByZWdpc3RyYXRpb24ucHJldmlvdXNUaHJlc2hv
bGRJbmRleCkgeworICAgICAgICAgICAgICAgIEZsb2F0UmVjdCB0YXJnZXRCb3VuZGluZ0NsaWVu
dFJlY3QgPSBmcmFtZVZpZXctPmFic29sdXRlVG9DbGllbnRSZWN0KGFic1RhcmdldFJlY3QpOwor
ICAgICAgICAgICAgICAgIEZsb2F0UmVjdCBjbGllbnRJbnRlcnNlY3Rpb25SZWN0ID0gZnJhbWVW
aWV3LT5hYnNvbHV0ZVRvQ2xpZW50UmVjdChhYnNJbnRlcnNlY3Rpb25SZWN0KTsKKworICAgICAg
ICAgICAgICAgIC8vIEZJWE1FOiBPbmNlIGNyb3NzLWRvY3VtZW50IG9ic2VydmF0aW9uIGlzIGlt
cGxlbWVudGVkLCBvbmx5IHJlcG9ydCByb290IGJvdW5kcyBpZiB0aGUgdGFyZ2V0IGRvY3VtZW50
IGFuZAorICAgICAgICAgICAgICAgIC8vIHRoZSByb290IGRvY3VtZW50IGFyZSBzaW1pbGFyLW9y
aWdpbi4KKyAgICAgICAgICAgICAgICBGbG9hdFJlY3QgY2xpZW50Um9vdEJvdW5kcyA9IGZyYW1l
Vmlldy0+YWJzb2x1dGVUb0NsaWVudFJlY3QoYWJzUm9vdEJvdW5kcyk7CisgICAgICAgICAgICAg
ICAgc3RkOjpvcHRpb25hbDxET01SZWN0SW5pdD4gcmVwb3J0ZWRSb290Qm91bmRzID0gRE9NUmVj
dEluaXQoeworICAgICAgICAgICAgICAgICAgICBjbGllbnRSb290Qm91bmRzLngoKSwKKyAgICAg
ICAgICAgICAgICAgICAgY2xpZW50Um9vdEJvdW5kcy55KCksCisgICAgICAgICAgICAgICAgICAg
IGNsaWVudFJvb3RCb3VuZHMud2lkdGgoKSwKKyAgICAgICAgICAgICAgICAgICAgY2xpZW50Um9v
dEJvdW5kcy5oZWlnaHQoKQorICAgICAgICAgICAgICAgIH0pOworCiAgICAgICAgICAgICAgICAg
b2JzZXJ2ZXItPmFwcGVuZFF1ZXVlZEVudHJ5KEludGVyc2VjdGlvbk9ic2VydmVyRW50cnk6OmNy
ZWF0ZSh7CiAgICAgICAgICAgICAgICAgICAgIHRpbWVzdGFtcCwKLSAgICAgICAgICAgICAgICAg
ICAgcm9vdEJvdW5kcywKLSAgICAgICAgICAgICAgICAgICAgdGFyZ2V0Qm91bmRpbmdDbGllbnRS
ZWN0LAotICAgICAgICAgICAgICAgICAgICBpbnRlcnNlY3Rpb25SZWN0LAorICAgICAgICAgICAg
ICAgICAgICByZXBvcnRlZFJvb3RCb3VuZHMsCisgICAgICAgICAgICAgICAgICAgIHsgdGFyZ2V0
Qm91bmRpbmdDbGllbnRSZWN0LngoKSwgdGFyZ2V0Qm91bmRpbmdDbGllbnRSZWN0LnkoKSwgdGFy
Z2V0Qm91bmRpbmdDbGllbnRSZWN0LndpZHRoKCksIHRhcmdldEJvdW5kaW5nQ2xpZW50UmVjdC5o
ZWlnaHQoKSB9LAorICAgICAgICAgICAgICAgICAgICB7IGNsaWVudEludGVyc2VjdGlvblJlY3Qu
eCgpLCBjbGllbnRJbnRlcnNlY3Rpb25SZWN0LnkoKSwgY2xpZW50SW50ZXJzZWN0aW9uUmVjdC53
aWR0aCgpLCBjbGllbnRJbnRlcnNlY3Rpb25SZWN0LmhlaWdodCgpIH0sCiAgICAgICAgICAgICAg
ICAgICAgIGludGVyc2VjdGlvblJhdGlvLAogICAgICAgICAgICAgICAgICAgICB0YXJnZXQsCiAg
ICAgICAgICAgICAgICAgICAgIGlzSW50ZXJzZWN0aW5nLApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcu
Y3BwCmluZGV4IGVlYzc3Zjc3M2YzNzBkMzY0NjczMjQxNzMyNWIyZjBiZDI2NTM0YjUuLjhkZjQ1
ZTk0ZWQ1MWIxNWYwMThmOGFiNTkwYTZkZjY2YzdmZGQ0MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1l
Vmlldy5jcHAKQEAgLTQ2NTcsNiArNDY1NywxMSBAQCBGbG9hdFBvaW50IEZyYW1lVmlldzo6YWJz
b2x1dGVUb0RvY3VtZW50UG9pbnQoRmxvYXRQb2ludCBwLCBzdGQ6Om9wdGlvbmFsPGZsb2F0Pgog
ICAgIHJldHVybiBwLnNjYWxlZChhYnNvbHV0ZVRvRG9jdW1lbnRTY2FsZUZhY3RvcihlZmZlY3Rp
dmVab29tKSk7CiB9CiAKK0Zsb2F0UmVjdCBGcmFtZVZpZXc6OmFic29sdXRlVG9DbGllbnRSZWN0
KEZsb2F0UmVjdCByZWN0LCBzdGQ6Om9wdGlvbmFsPGZsb2F0PiBlZmZlY3RpdmVab29tKSBjb25z
dAoreworICAgIHJldHVybiBkb2N1bWVudFRvQ2xpZW50UmVjdChhYnNvbHV0ZVRvRG9jdW1lbnRS
ZWN0KHJlY3QsIGVmZmVjdGl2ZVpvb20pKTsKK30KKwogRmxvYXRTaXplIEZyYW1lVmlldzo6ZG9j
dW1lbnRUb0NsaWVudE9mZnNldCgpIGNvbnN0CiB7CiAgICAgRmxvYXRTaXplIGNsaWVudE9yaWdp
biA9IC10b0Zsb2F0U2l6ZSh2aXNpYmxlQ29udGVudFJlY3QoKS5sb2NhdGlvbigpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmggYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0ZyYW1lVmlldy5oCmluZGV4IGY1OTJjODMzYzdjNWNjN2Y5MjNmZGE4YWI2MmUzZGYyNmUw
ZmMwMGIuLmY1MGNkZTZhZTkwYjIzNWQ4MTM4YWJkMDhkZTRhY2Y4NWEwZDc5OTAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9GcmFtZVZpZXcuaApAQCAtNDczLDYgKzQ3Myw4IEBAIHB1YmxpYzoKICAgICBGbG9hdFJl
Y3QgYWJzb2x1dGVUb0RvY3VtZW50UmVjdChGbG9hdFJlY3QsIHN0ZDo6b3B0aW9uYWw8ZmxvYXQ+
IGVmZmVjdGl2ZVpvb20gPSBzdGQ6Om51bGxvcHQpIGNvbnN0OwogICAgIEZsb2F0UG9pbnQgYWJz
b2x1dGVUb0RvY3VtZW50UG9pbnQoRmxvYXRQb2ludCwgc3RkOjpvcHRpb25hbDxmbG9hdD4gZWZm
ZWN0aXZlWm9vbSA9IHN0ZDo6bnVsbG9wdCkgY29uc3Q7CiAKKyAgICBGbG9hdFJlY3QgYWJzb2x1
dGVUb0NsaWVudFJlY3QoRmxvYXRSZWN0LCBzdGQ6Om9wdGlvbmFsPGZsb2F0PiBlZmZlY3RpdmVa
b29tID0gc3RkOjpudWxsb3B0KSBjb25zdDsKKwogICAgIEZsb2F0U2l6ZSBkb2N1bWVudFRvQ2xp
ZW50T2Zmc2V0KCkgY29uc3Q7CiAgICAgRmxvYXRSZWN0IGRvY3VtZW50VG9DbGllbnRSZWN0KEZs
b2F0UmVjdCkgY29uc3Q7CiAgICAgRmxvYXRQb2ludCBkb2N1bWVudFRvQ2xpZW50UG9pbnQoRmxv
YXRQb2ludCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ludGVyc2Vj
dGlvbk9ic2VydmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvSW50ZXJzZWN0aW9uT2JzZXJ2
ZXIuY3BwCmluZGV4IDkwODJmODQxOTQ0NTc5Zjc5NjNjN2EyNDFkMmJlMDI1ZGEzYWQ0NTkuLjRi
YmUxOTI2Y2Q4MTBiYWE3NTU1ODVhZjIxN2U5N2Q3MzU2NWViZTYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvSW50ZXJzZWN0aW9uT2JzZXJ2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvSW50ZXJzZWN0aW9uT2JzZXJ2ZXIuY3BwCkBAIC0zNCw2ICszNCw3IEBACiAjaW5j
bHVkZSAiRWxlbWVudC5oIgogI2luY2x1ZGUgIkludGVyc2VjdGlvbk9ic2VydmVyQ2FsbGJhY2su
aCIKICNpbmNsdWRlICJJbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5LmgiCisjaW5jbHVkZSAiUGVy
Zm9ybWFuY2UuaCIKICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKQEAgLTExNCw2ICsxMTUsOCBAQCBJbnRlcnNlY3Rpb25PYnNlcnZlcjo6SW50ZXJzZWN0aW9u
T2JzZXJ2ZXIoRG9jdW1lbnQmIGRvY3VtZW50LCBSZWY8SW50ZXJzZWN0aW9uTwogICAgICAgICBv
YnNlcnZlckRhdGEub2JzZXJ2ZXJzLmFwcGVuZChtYWtlV2Vha1B0cih0aGlzKSk7CiAgICAgfSBl
bHNlIGlmIChhdXRvKiBmcmFtZSA9IGRvY3VtZW50LmZyYW1lKCkpCiAgICAgICAgIG1faW1wbGlj
aXRSb290RG9jdW1lbnQgPSBtYWtlV2Vha1B0cihmcmFtZS0+bWFpbkZyYW1lKCkuZG9jdW1lbnQo
KSk7CisKKyAgICBzdGQ6OnNvcnQobV90aHJlc2hvbGRzLmJlZ2luKCksIG1fdGhyZXNob2xkcy5l
bmQoKSk7CiB9CiAKIEludGVyc2VjdGlvbk9ic2VydmVyOjp+SW50ZXJzZWN0aW9uT2JzZXJ2ZXIo
KQpAQCAtMjI2LDYgKzIyOSwyMiBAQCB2b2lkIEludGVyc2VjdGlvbk9ic2VydmVyOjpyb290RGVz
dHJveWVkKCkKICAgICB9CiB9CiAKK2Jvb2wgSW50ZXJzZWN0aW9uT2JzZXJ2ZXI6OmNyZWF0ZVRp
bWVzdGFtcChET01IaWdoUmVzVGltZVN0YW1wJiB0aW1lc3RhbXApIGNvbnN0Cit7CisgICAgYXV0
byogY29udGV4dCA9IG1fY2FsbGJhY2stPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKKyAgICBp
ZiAoIWNvbnRleHQpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBBU1NFUlQoY29udGV4dC0+
aXNEb2N1bWVudCgpKTsKKyAgICBhdXRvJiBkb2N1bWVudCA9IGRvd25jYXN0PERvY3VtZW50Pigq
Y29udGV4dCk7CisgICAgaWYgKGF1dG8qIHdpbmRvdyA9IGRvY3VtZW50LmRvbVdpbmRvdygpKSB7
CisgICAgICAgIGlmIChhdXRvKiBwZXJmb3JtYW5jZSA9IHdpbmRvdy0+cGVyZm9ybWFuY2UoKSkg
eworICAgICAgICAgICAgdGltZXN0YW1wID0gcGVyZm9ybWFuY2UtPm5vdygpOworICAgICAgICAg
ICAgcmV0dXJuIHRydWU7CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuIGZhbHNlOworfQor
CiB2b2lkIEludGVyc2VjdGlvbk9ic2VydmVyOjphcHBlbmRRdWV1ZWRFbnRyeShSZWY8SW50ZXJz
ZWN0aW9uT2JzZXJ2ZXJFbnRyeT4mJiBlbnRyeSkKIHsKICAgICBtX3F1ZXVlZEVudHJpZXMuYXBw
ZW5kKFdURk1vdmUoZW50cnkpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvSW50
ZXJzZWN0aW9uT2JzZXJ2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvSW50ZXJzZWN0aW9uT2Jz
ZXJ2ZXIuaAppbmRleCBiYTJkMThhYjg3ZTQ4ZTM1MTU2MzdiMjk0NzhjMDI1OWMyNDA2NGQ2Li43
MGFiYzQ5MzA1NDZlNzZlNTEwNzViNWRiYzU5ZDZjMWE0NWE1NDk1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9JbnRlcnNlY3Rpb25PYnNlcnZlci5oCkBAIC04NCw2ICs4NCw4IEBAIHB1YmxpYzoK
ICAgICBib29sIGhhc09ic2VydmF0aW9uVGFyZ2V0cygpIGNvbnN0IHsgcmV0dXJuIG1fb2JzZXJ2
YXRpb25UYXJnZXRzLnNpemUoKTsgfQogICAgIHZvaWQgcm9vdERlc3Ryb3llZCgpOwogCisgICAg
Ym9vbCBjcmVhdGVUaW1lc3RhbXAoRE9NSGlnaFJlc1RpbWVTdGFtcCYpIGNvbnN0OworCiAgICAg
dm9pZCBhcHBlbmRRdWV1ZWRFbnRyeShSZWY8SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeT4mJik7
CiAgICAgdm9pZCBub3RpZnkoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRmxvYXRSZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9GbG9hdFJlY3QuaAppbmRleCA0ZjM1NzY2MTBhZmIxM2MwNzE2ZWMzM2FjOWJiZTdjODUyZmFm
Y2I1Li44ZDE5ZjdmODYyZWY0YWRjNmI3NTRjZGNlMTYwNzJlYmQzZmUyMDBlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFJlY3QuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFJlY3QuaApAQCAtODksNiArODksOCBA
QCBwdWJsaWM6CiAgICAgZmxvYXQgd2lkdGgoKSBjb25zdCB7IHJldHVybiBtX3NpemUud2lkdGgo
KTsgfQogICAgIGZsb2F0IGhlaWdodCgpIGNvbnN0IHsgcmV0dXJuIG1fc2l6ZS5oZWlnaHQoKTsg
fQogCisgICAgZmxvYXQgYXJlYSgpIGNvbnN0IHsgcmV0dXJuIG1fc2l6ZS5hcmVhKCk7IH0KKwog
ICAgIHZvaWQgc2V0WChmbG9hdCB4KSB7IG1fbG9jYXRpb24uc2V0WCh4KTsgfQogICAgIHZvaWQg
c2V0WShmbG9hdCB5KSB7IG1fbG9jYXRpb24uc2V0WSh5KTsgfQogICAgIHZvaWQgc2V0V2lkdGgo
ZmxvYXQgd2lkdGgpIHsgbV9zaXplLnNldFdpZHRoKHdpZHRoKTsgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCbG9jay5jcHAKaW5kZXggOGY1M2Y3ZDVmMTFhNzJhMjBlOWM5Y2Q2MTNl
NDA1NTZmMzY1MGI1MC4uMTI5MjdjNDdjMTk5MWFjNjE5MTQ0MTdlMmFmNzk2ZjVlYzgxZWJjYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCkBAIC0xODI4LDYgKzE4
MjgsMTUgQEAgdm9pZCBSZW5kZXJCbG9jazo6Y2xlYXJQZXJjZW50SGVpZ2h0RGVzY2VuZGFudHNG
cm9tKFJlbmRlckJveCYgcGFyZW50KQogICAgIH0KIH0KIAorYm9vbCBSZW5kZXJCbG9jazo6aXND
b250YWluaW5nQmxvY2tBbmNlc3RvckZvcihSZW5kZXJPYmplY3QmIHJlbmRlcmVyKSBjb25zdAor
eworICAgIGZvciAoY29uc3QgYXV0byogYW5jZXN0b3IgPSByZW5kZXJlci5jb250YWluaW5nQmxv
Y2soKTsgYW5jZXN0b3I7IGFuY2VzdG9yID0gYW5jZXN0b3ItPmNvbnRhaW5pbmdCbG9jaygpKSB7
CisgICAgICAgIGlmIChhbmNlc3RvciA9PSB0aGlzKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7
CisgICAgfQorICAgIHJldHVybiBmYWxzZTsKK30KKwogTGF5b3V0VW5pdCBSZW5kZXJCbG9jazo6
dGV4dEluZGVudE9mZnNldCgpIGNvbnN0CiB7CiAgICAgTGF5b3V0VW5pdCBjdyA9IDA7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCmluZGV4IGVmMWU3ZTM4OTgyNGE0NDk3N2Y3
MTc5NTcwMGMyZmIyN2U3ZTg3NzUuLjhlODA2ZWQwMmFiYzNhMjNlM2UxOTYyNmU4YWE3ZTY3ZjY1
MWM1MzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCkBAIC0xMDEsNiAr
MTAxLDggQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGNsZWFyUGVyY2VudEhlaWdodERlc2Nl
bmRhbnRzRnJvbShSZW5kZXJCb3gmKTsKICAgICBzdGF0aWMgdm9pZCByZW1vdmVQZXJjZW50SGVp
Z2h0RGVzY2VuZGFudElmTmVlZGVkKFJlbmRlckJveCYpOwogCisgICAgYm9vbCBpc0NvbnRhaW5p
bmdCbG9ja0FuY2VzdG9yRm9yKFJlbmRlck9iamVjdCYpIGNvbnN0OworCiAgICAgdm9pZCBzZXRI
YXNNYXJnaW5CZWZvcmVRdWlyayhib29sIGIpIHsgc2V0UmVuZGVyQmxvY2tIYXNNYXJnaW5CZWZv
cmVRdWlyayhiKTsgfQogICAgIHZvaWQgc2V0SGFzTWFyZ2luQWZ0ZXJRdWlyayhib29sIGIpIHsg
c2V0UmVuZGVyQmxvY2tIYXNNYXJnaW5BZnRlclF1aXJrKGIpOyB9CiAgICAgdm9pZCBzZXRTaG91
bGRGb3JjZVJlbGF5b3V0Q2hpbGRyZW4oYm9vbCBiKSB7IHNldFJlbmRlckJsb2NrU2hvdWxkRm9y
Y2VSZWxheW91dENoaWxkcmVuKGIpOyB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRl
eCA3Y2I2ODhiODVlMGZiOWRlY2E4ODQwMmY2NTgyNzRjZjI3NmEwZjcyLi45MGFmNDQ3NTI5NTAw
YmUwY2NjNzQ1YmVkZWFiNGViYjdhNTNhODU1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyMCBAQAorMjAxOC0wOC0yMSAgQWxpIEp1bWEgIDxhanVtYUBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgW0ludGVyc2VjdGlvbk9ic2VydmVyXSBJbXBsZW1lbnQgaW50ZXJz
ZWN0aW9uIGxvZ2ljIGZvciB0aGUgZXhwbGljaXQgcm9vdCBjYXNlCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODg4MDkKKworICAgICAgICBSZXZpZXdl
ZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgUmViYXNlbGluZSB0ZXN0cyBub3cgdGhhdCBz
b21lIGludGVyc2VjdGlvbiBsb2dpYyBoYXMgYmVlbiBpbXBsZW1lbnRlZC4KKworICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvYm91bmRpbmctYm94LWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9i
c2VydmVyL2NvbnRhaW5pbmctYmxvY2stZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvZWRnZS1pbmNsdXNpdmUtaW50ZXJzZWN0
aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0
aW9uLW9ic2VydmVyL2lzSW50ZXJzZWN0aW5nLWNoYW5nZS1ldmVudHMtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvcmVtb3Zl
LWVsZW1lbnQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRl
cnNlY3Rpb24tb2JzZXJ2ZXIvc2FtZS1kb2N1bWVudC1yb290LWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL3VuY2xpcHBlZC1y
b290LWV4cGVjdGVkLnR4dDoKKwogMjAxOC0wOC0xOCAgQWxpIEp1bWEgIDxhanVtYUBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgW0ludGVyc2VjdGlvbk9ic2VydmVyXSBGaXJlIGFuIGluaXRpYWwg
ZHVtbXkgbm90aWZpY2F0aW9uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9ib3VuZGluZy1ib3gtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9p
bnRlcnNlY3Rpb24tb2JzZXJ2ZXIvYm91bmRpbmctYm94LWV4cGVjdGVkLnR4dAppbmRleCAyYTMw
MjE1YzQ4NGU0Y2I3MDgyNGQwMTE2NzhjZTI5MzQ3ZTkwNDMwLi44NjVmMjRiZDFiMTU4N2QyOTQx
Y2U0ZThiMWVjN2Q4ZWVkZDlkMjMxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9ib3VuZGluZy1ib3gt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL2JvdW5kaW5nLWJveC1leHBlY3RlZC50eHQKQEAg
LTEsNSArMSw1IEBACiAKIFBBU1MgVGVzdCB0aGF0IHRoZSB0YXJnZXQncyBib3JkZXIgYm91bmRp
bmcgYm94IGlzIHVzZWQgdG8gY2FsY3VsYXRlIGludGVyc2VjdGlvbi4gCi1GQUlMIEZpcnN0IHJB
Ri4gYXNzZXJ0X2VxdWFsczogZW50cmllc1swXS5ib3VuZGluZ0NsaWVudFJlY3QubGVmdCBleHBl
Y3RlZCAyNSBidXQgZ290IDAKK1BBU1MgRmlyc3QgckFGLiAKIEZBSUwgdGFyZ2V0LnN0eWxlLnRy
YW5zZm9ybSA9ICd0cmFuc2xhdGVZKDE5NXB4KScgYXNzZXJ0X2VxdWFsczogZW50cmllcy5sZW5n
dGggZXhwZWN0ZWQgMiBidXQgZ290IDEKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvY29udGFpbmlu
Zy1ibG9jay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9jb250YWluaW5nLWJsb2NrLWV4cGVjdGVk
LnR4dAppbmRleCA3M2JlMDI0NDkwYjE1NmUzN2IwZDJlOGQxY2FlNzczYjEwNjY5Y2Y3Li43NDk5
NzM4ZGEzMDU2ZjVmMGNhYzhlYWI5ZTNhOTg3ZmZkYjI4MGJkIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZl
ci9jb250YWluaW5nLWJsb2NrLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9jb250YWluaW5n
LWJsb2NrLWV4cGVjdGVkLnR4dApAQCAtMSw2ICsxLDYgQEAKIAogUEFTUyBJbnRlcnNlY3Rpb25P
YnNlcnZlciBzaG91bGQgb25seSByZXBvcnQgaW50ZXJzZWN0aW9ucyBpZiByb290IGlzIGEgY29u
dGFpbmluZyBibG9jayBhbmNlc3RvciBvZiB0YXJnZXQuIAotRkFJTCBJbiBjb250YWluaW5nIGJs
b2NrIGFuZCBpbnRlcnNlY3RpbmcuIGFzc2VydF9lcXVhbHM6IGVudHJpZXNbMF0uYm91bmRpbmdD
bGllbnRSZWN0LmxlZnQgZXhwZWN0ZWQgNTggYnV0IGdvdCAwCitGQUlMIEluIGNvbnRhaW5pbmcg
YmxvY2sgYW5kIGludGVyc2VjdGluZy4gYXNzZXJ0X2VxdWFsczogZW50cmllc1swXS5ib3VuZGlu
Z0NsaWVudFJlY3QudG9wIGV4cGVjdGVkIDE4IGJ1dCBnb3QgMjU4CiBGQUlMIEluIGNvbnRhaW5p
bmcgYmxvY2sgYW5kIG5vdCBpbnRlcnNlY3RpbmcuIGFzc2VydF9lcXVhbHM6IGVudHJpZXMubGVu
Z3RoIGV4cGVjdGVkIDIgYnV0IGdvdCAxCiBGQUlMIE5vdCBpbiBjb250YWluaW5nIGJsb2NrIGFu
ZCBpbnRlcnNlY3RpbmcuIGFzc2VydF9lcXVhbHM6IGVudHJpZXMubGVuZ3RoIGV4cGVjdGVkIDIg
YnV0IGdvdCAxCiBGQUlMIE5vdCBpbiBjb250YWluaW5nIGJsb2NrIGFuZCBub3QgaW50ZXJzZWN0
aW5nLiBhc3NlcnRfZXF1YWxzOiBlbnRyaWVzLmxlbmd0aCBleHBlY3RlZCAyIGJ1dCBnb3QgMQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9p
bnRlcnNlY3Rpb24tb2JzZXJ2ZXIvZWRnZS1pbmNsdXNpdmUtaW50ZXJzZWN0aW9uLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJz
ZWN0aW9uLW9ic2VydmVyL2VkZ2UtaW5jbHVzaXZlLWludGVyc2VjdGlvbi1leHBlY3RlZC50eHQK
aW5kZXggYzg1OTViMGNiYTVhNzIyZmU1MDZkNjc2ZjA2ZWU1MTI3MzA2YjUxZi4uMDc2NDMzODE2
NjAxNWI0YThmNTU2ZWYxMzg3MmVmNmEzYTI1NDY5OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvZWRn
ZS1pbmNsdXNpdmUtaW50ZXJzZWN0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9lZGdl
LWluY2x1c2l2ZS1pbnRlcnNlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEsNiBAQAogCiBQ
QVNTIEludGVyc2VjdGlvbk9ic2VydmVyIHNob3VsZCBkZXRlY3QgYW5kIHJlcG9ydCBlZGdlLWFk
amFjZW50IGFuZCB6ZXJvLWFyZWEgaW50ZXJzZWN0aW9ucy4gCi1GQUlMIEZpcnN0IHJBRi4gYXNz
ZXJ0X2VxdWFsczogZW50cmllc1swXS5ib3VuZGluZ0NsaWVudFJlY3QubGVmdCBleHBlY3RlZCA4
IGJ1dCBnb3QgMAorUEFTUyBGaXJzdCByQUYuIAogRkFJTCBTZXQgdHJhbnNmb3JtPXRyYW5zbGF0
ZVkoMjAwcHgpIG9uIHRhcmdldC4gYXNzZXJ0X2VxdWFsczogZW50cmllcy5sZW5ndGggZXhwZWN0
ZWQgMiBidXQgZ290IDEKIEZBSUwgU2V0IHRyYW5zZm9ybT10cmFuc2xhdGVZKDIwMXB4KSBvbiB0
YXJnZXQuIGFzc2VydF9lcXVhbHM6IGVudHJpZXMubGVuZ3RoIGV4cGVjdGVkIDMgYnV0IGdvdCAx
CiBGQUlMIFNldCB0cmFuc2Zvcm09dHJhbnNsYXRlWSgxODVweCkgb24gdGFyZ2V0LiBhc3NlcnRf
ZXF1YWxzOiBlbnRyaWVzLmxlbmd0aCBleHBlY3RlZCA0IGJ1dCBnb3QgMQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24t
b2JzZXJ2ZXIvaXNJbnRlcnNlY3RpbmctY2hhbmdlLWV2ZW50cy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNl
cnZlci9pc0ludGVyc2VjdGluZy1jaGFuZ2UtZXZlbnRzLWV4cGVjdGVkLnR4dAppbmRleCA2NjY5
NTU5MjhjZTM3MDA3MjBkMGJmOTE5ODlkMmI4YTMzMDZiOWFiLi45OThlMGZhNjBkMGI2YTY1ZTk4
ODZiZDUwY2Q4OWIzYzQ3MjkyMmY1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9pc0ludGVyc2VjdGlu
Zy1jaGFuZ2UtZXZlbnRzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9pc0ludGVyc2VjdGlu
Zy1jaGFuZ2UtZXZlbnRzLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKIAogUEFTUyBpc0lu
dGVyc2VjdGluZyBjaGFuZ2VzIHNob3VsZCB0cmlnZ2VyIG5vdGlmaWNhdGlvbnMuIAotRkFJTCBS
ZWN0cyBpbiBpbml0aWFsIG5vdGlmaWNhdGlvbnMgc2hvdWxkIHJlcG9ydCBpbml0aWFsIHBvc2l0
aW9ucy4gYXNzZXJ0X2VxdWFsczogQ2hlY2sgMXN0IGVudHJ5IHJlY3QucmlnaHQgZXhwZWN0ZWQg
MTAwIGJ1dCBnb3QgMAorRkFJTCBSZWN0cyBpbiBpbml0aWFsIG5vdGlmaWNhdGlvbnMgc2hvdWxk
IHJlcG9ydCBpbml0aWFsIHBvc2l0aW9ucy4gYXNzZXJ0X2VxdWFsczogZW50cmllc1syXS50YXJn
ZXQuaXNJbnRlcnNlY3RpbmcgZXF1YWxzIHRydWUgZXhwZWN0ZWQgdHJ1ZSBidXQgZ290IGZhbHNl
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL3JlbW92ZS1lbGVtZW50LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9i
c2VydmVyL3JlbW92ZS1lbGVtZW50LWV4cGVjdGVkLnR4dAppbmRleCBmYzFiNGEyYmNiYWFmOWIx
MTNkOGFjN2E4N2ZkNTJkZGRjNTE3NDM1Li45Zjk1NzVkY2U2MGMyNjNjYTRhN2FlYzQzOTllMGNi
MDQ1OWFjZGUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9yZW1vdmUtZWxlbWVudC1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRl
cnNlY3Rpb24tb2JzZXJ2ZXIvcmVtb3ZlLWVsZW1lbnQtZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEs
NiBAQAogCiBQQVNTIFZlcmlmeSB0aGF0IG5vdC1pbnRlcnNlY3Rpbmcgbm90aWZpY2F0aW9ucyBh
cmUgc2VudCB3aGVuIGEgdGFyZ2V0IGlzIHJlbW92ZWQgZnJvbSB0aGUgRE9NIHRyZWUuIAotRkFJ
TCBGaXJzdCByQUYgYXNzZXJ0X2VxdWFsczogZW50cmllc1swXS5ib3VuZGluZ0NsaWVudFJlY3Qu
bGVmdCBleHBlY3RlZCAxMSBidXQgZ290IDAKK1BBU1MgRmlyc3QgckFGIAogRkFJTCByb290LnNj
cm9sbFRvcCA9IDE1MCBhc3NlcnRfZXF1YWxzOiBlbnRyaWVzLmxlbmd0aCBleHBlY3RlZCAyIGJ1
dCBnb3QgMQogRkFJTCByb290LnJlbW92ZUNoaWxkKHRhcmdldCkuIGFzc2VydF9lcXVhbHM6IGVu
dHJpZXMubGVuZ3RoIGV4cGVjdGVkIDMgYnV0IGdvdCAxCiBGQUlMIHJvb3QuaW5zZXJ0QmVmb3Jl
KHRhcmdldCwgdHJhaWxpbmdTcGFjZSkuIGFzc2VydF9lcXVhbHM6IGVudHJpZXMubGVuZ3RoIGV4
cGVjdGVkIDMgYnV0IGdvdCAxCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9zYW1lLWRvY3VtZW50LXJv
b3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvc2FtZS1kb2N1bWVudC1yb290LWV4cGVjdGVkLnR4
dAppbmRleCAxY2M2OTc4NDE5OWQ3ZDY5MDg3NDA2NGViMTczNDhmYjEzOGUwMGNiLi4zNWNjZGU3
OTRiZGMyOGMxMTQxMjhiMTYzNzcyNzNiYWU4Mjg3YmVkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9z
YW1lLWRvY3VtZW50LXJvb3QtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL3NhbWUtZG9jdW1l
bnQtcm9vdC1leHBlY3RlZC50eHQKQEAgLTEsNiArMSw2IEBACiAKIFBBU1MgSW50ZXJzZWN0aW9u
T2JzZXJ2ZXIgaW4gYSBzaW5nbGUgZG9jdW1lbnQgd2l0aCBleHBsaWNpdCByb290LiAKLUZBSUwg
Rmlyc3QgckFGIGFzc2VydF9lcXVhbHM6IGVudHJpZXNbMF0uYm91bmRpbmdDbGllbnRSZWN0Lmxl
ZnQgZXhwZWN0ZWQgMTEgYnV0IGdvdCAwCitQQVNTIEZpcnN0IHJBRiAKIFBBU1MgZG9jdW1lbnQu
c2Nyb2xsaW5nRWxlbWVudC5zY3JvbGxUb3AgPSB3aW5kb3cuaW5uZXJIZWlnaHQuIAogRkFJTCBy
b290LnNjcm9sbFRvcCA9IDE1MCB3aXRoIHJvb3Qgc2Nyb2xsZWQgaW50byB2aWV3LiBhc3NlcnRf
ZXF1YWxzOiBlbnRyaWVzLmxlbmd0aCBleHBlY3RlZCAyIGJ1dCBnb3QgMQogRkFJTCBkb2N1bWVu
dC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbFRvcCA9IDAuIGFzc2VydF9lcXVhbHM6IGVudHJpZXMu
bGVuZ3RoIGV4cGVjdGVkIDIgYnV0IGdvdCAxCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci91bmNsaXBw
ZWQtcm9vdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci91bmNsaXBwZWQtcm9vdC1leHBlY3RlZC50
eHQKaW5kZXggYWY1MmUwNGI4YmI2YTQ5NjdjZGFhZTg0OTZkZWY4YjBmNzU2MzIwYi4uNzUyMjNm
Mjk1Y2ZkOTgyMzBhMmUzMjY4ZjIyNzdmMDNmZDZkY2U0MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIv
dW5jbGlwcGVkLXJvb3QtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL3VuY2xpcHBlZC1yb290
LWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDUgQEAKIAogUEFTUyBUZXN0IHRoYXQgYm9yZGVyIGJv
dW5kaW5nIGJveCBpcyB1c2VkIHRvIGNhbGN1bGF0ZSBpbnRlcnNlY3Rpb24gd2l0aCBhIG5vbi1z
Y3JvbGxpbmcgcm9vdC4gCi1GQUlMIEZpcnN0IHJBRi4gYXNzZXJ0X2VxdWFsczogZW50cmllc1sw
XS5ib3VuZGluZ0NsaWVudFJlY3QubGVmdCBleHBlY3RlZCAxNSBidXQgZ290IDAKK1BBU1MgRmly
c3QgckFGLiAKIEZBSUwgdGFyZ2V0LnN0eWxlLnRyYW5zZm9ybSA9ICd0cmFuc2xhdGVZKDE5NXB4
KScgYXNzZXJ0X2VxdWFsczogZW50cmllcy5sZW5ndGggZXhwZWN0ZWQgMiBidXQgZ290IDEKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>