<?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>205563</bug_id>
          
          <creation_ts>2019-12-23 11:32:42 -0800</creation_ts>
          <short_desc>Precision of getClientRects(), getBoundingClientRect() differs depending whether simple line layout or line box layout is used</short_desc>
          <delta_ts>2020-01-08 09:52:22 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Text</component>
          <version>WebKit Local Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=205527</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=205889</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>205527</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>ap</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>pdr</cc>
    
    <cc>tsavell</cc>
    
    <cc>webkit-bot-watchers-bugzilla</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1601271</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2019-12-23 11:32:42 -0800</bug_when>
    <thetext>While looking into bug #205527, I noticed that the rects returned by getClientRects(), getBoundingClientRect() differ in precision depending on whether they were computed using the simple line layout or line box layout code.

Steps to reproduce:

1. Open the test case attached to bug #205527: attachment #386273.

Compare the rectangle returned under &quot;getClientRects: Before selection:&quot;: &lt;-- simple line layout

{&quot;x&quot;:8,&quot;y&quot;:26,&quot;width&quot;:28.453125,&quot;height&quot;:18,&quot;top&quot;:26,&quot;right&quot;:36.453125,&quot;bottom&quot;:44,&quot;left&quot;:8}

to the **second** rectangle returned under &quot;getClientRects: After selection:&quot;: &lt;-- line box layout

{&quot;x&quot;:8,&quot;y&quot;:26,&quot;width&quot;:29,&quot;height&quot;:18,&quot;top&quot;:26,&quot;right&quot;:37,&quot;bottom&quot;:44,&quot;left&quot;:8}

^^^ The width using simple line layout is 28.453125, but is 29 using line box layout.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601272</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-12-23 11:33:02 -0800</bug_when>
    <thetext>&lt;rdar://problem/58165528&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601301</commentid>
    <comment_count>2</comment_count>
      <attachid>386358</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2019-12-23 14:50:39 -0800</bug_when>
    <thetext>Created attachment 386358
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601302</commentid>
    <comment_count>3</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2019-12-23 14:51:21 -0800</bug_when>
    <thetext>This patch will fail to apply until bug #205527 is fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601304</commentid>
    <comment_count>4</comment_count>
      <attachid>386360</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2019-12-23 14:53:35 -0800</bug_when>
    <thetext>Created attachment 386360
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601322</commentid>
    <comment_count>5</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2019-12-23 15:40:39 -0800</bug_when>
    <thetext>Thanks Alan!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601343</commentid>
    <comment_count>6</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2019-12-23 18:05:24 -0800</bug_when>
    <thetext>Test failures are actually progressions: both the simple line layout and line box layout code paths now return the same rect.

The fast/dom/Range/getClientRects.html failure also reveals another issue: the fix for bug #172057 was not enough. More code changes are needed to solve bug #172057 if we still are interested in doing so.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1603146</commentid>
    <comment_count>7</comment_count>
      <attachid>386864</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2020-01-06 10:58:57 -0800</bug_when>
    <thetext>Created attachment 386864
To land</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1603307</commentid>
    <comment_count>8</comment_count>
      <attachid>386864</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2020-01-06 15:08:54 -0800</bug_when>
    <thetext>Comment on attachment 386864
To land

Clearing flags on attachment: 386864

Committed r254091: &lt;https://trac.webkit.org/changeset/254091&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1603308</commentid>
    <comment_count>9</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2020-01-06 15:08:56 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1603712</commentid>
    <comment_count>10</comment_count>
    <who name="Truitt Savell">tsavell</who>
    <bug_when>2020-01-07 12:10:19 -0800</bug_when>
    <thetext>Looks like the changes in https://trac.webkit.org/changeset/254091/webkit

broke fast/frames/iframe-translucent-background.html

tracking this in https://bugs.webkit.org/show_bug.cgi?id=205879</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1603817</commentid>
    <comment_count>11</comment_count>
      <attachid>386864</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2020-01-07 15:05:53 -0800</bug_when>
    <thetext>Comment on attachment 386864
To land

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

&gt; Source/WebCore/rendering/InlineTextBox.cpp:205
&gt; +    auto logicalWidth = snappedSelectionRect.width();

This is wrong. Data type must be LayoutUnit or integer truncation can occur if second branch is taken. Fixed in &lt;https://trac.webkit.org/changeset/254160/webkit&gt;.

See bug #205889 for a way to fix this problem to prevent the same mistake in the future.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1603855</commentid>
    <comment_count>12</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2020-01-07 16:10:28 -0800</bug_when>
    <thetext>More layout test fixes landed in &lt;https://trac.webkit.org/changeset/254167&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1604136</commentid>
    <comment_count>13</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2020-01-08 09:52:22 -0800</bug_when>
    <thetext>(In reply to Daniel Bates from comment #11)
&gt; Fixed in  &lt;https://trac.webkit.org/changeset/254160/webkit&gt;.
This broke 6 API tests. Tracked in https://bugs.webkit.org/show_bug.cgi?id=205935</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386358</attachid>
            <date>2019-12-23 14:50:39 -0800</date>
            <delta_ts>2019-12-23 14:53:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205563-20191223145038.patch</filename>
            <type>text/plain</type>
            <size>9091</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzODYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmUwNjVhNmViYTQyZTVj
YTRiMzU3NDEwNDk1MDJlMzhmYzRkYjllMS4uOTQxNDI3MTdjNTZiMDhiZDEyMWU3MTIyMzg0OThj
NzZlYmJmODk3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE5LTEyLTIzICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBQcmVjaXNpb24gb2YgZ2V0
Q2xpZW50UmVjdHMoKSwgZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkgZGlmZmVycyBkZXBlbmRpbmcg
d2hldGhlciBzaW1wbGUgbGluZSBsYXlvdXQgb3IgbGluZSBib3ggbGF5b3V0IGlzIHVzZWQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTU2MworICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vNTgxNjU1Mjg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgRml4IHVwIHNpbXBsZSBsaW5lIGxheW91dCBydW4gcmVj
dCB0byBtYXRjaCB0aGUgcmVjdCByZXR1cm5lZCBieSB0aGUgbGluZSBsYXlvdXQgY29kZSBwYXRo
LgorCisgICAgICAgICogcmVuZGVyaW5nL0lubGluZVRleHRCb3guY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6c25hcHBlZFNlbGVjdGlvblJlY3QpOiBBZGRlZDsgZXh0cmFjdGVkIGZyb20gbG9jYWxT
ZWxlY3Rpb25SZWN0KCkuCisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVUZXh0Qm94Ojpsb2NhbFNl
bGVjdGlvblJlY3QgY29uc3QpOiBNb3ZlZCBzb21lIGxvZ2ljIGludG8gc25hcHBlZFNlbGVjdGlv
blJlY3QoKQorICAgICAgICBhbmQgbW9kaWZpZWQgY29kZSB0byB1c2UgaXQuCisgICAgICAgICog
cmVuZGVyaW5nL0lubGluZVRleHRCb3guaDoKKyAgICAgICAgKiByZW5kZXJpbmcvU2ltcGxlTGlu
ZUxheW91dEZ1bmN0aW9ucy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVMaW5lTGF5b3V0
Ojpjb2xsZWN0QWJzb2x1dGVRdWFkc0ZvclJhbmdlKTogRml4IHVwIHJ1biByZWN0LgorCiAyMDE5
LTEyLTIzICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdS
RVNTSU9OIChyMjEyNjkzKTogZ2V0Q2xpZW50UmVjdHMoKSwgZ2V0Qm91bmRpbmdDbGllbnRSZWN0
KCkgZm9yIHJhbmdlIHRoYXQgc3BhbnMgbXVsdGktbGluZXMgZGlmZmVycyBkZXBlbmRpbmcgb24g
d2hldGhlciB0ZXh0IGlzIHNlbGVjdGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvSW5saW5lVGV4dEJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5l
VGV4dEJveC5jcHAKaW5kZXggMmU4NTg4NTQzM2QxMmJkOTY1MWJkMjE5NmM0NGJlYzlmZjE5Y2Mz
ZS4uOGJjMDllODg1ODBhOTQ2YTNlYjQ3ZWU4MzBlM2JiMTY2ZWY1MWE5NSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcApAQCAtMjEyLDYgKzIxMiwzMSBAQCBp
bmxpbmUgY29uc3QgRm9udENhc2NhZGUmIElubGluZVRleHRCb3g6OmxpbmVGb250KCkgY29uc3QK
ICAgICByZXR1cm4gY29tYmluZWRUZXh0KCkgPyBjb21iaW5lZFRleHQoKS0+dGV4dENvbWJpbmVG
b250KCkgOiBsaW5lU3R5bGUoKS5mb250Q2FzY2FkZSgpOwogfQogCitMYXlvdXRSZWN0IHNuYXBw
ZWRTZWxlY3Rpb25SZWN0KGNvbnN0IExheW91dFJlY3QmIHNlbGVjdGlvblJlY3QsIGZsb2F0IGxv
Z2ljYWxSaWdodCwgZmxvYXQgc2VsZWN0aW9uVG9wLCBmbG9hdCBzZWxlY3Rpb25IZWlnaHQsIGJv
b2wgaXNIb3Jpem9udGFsKQoreworICAgIGF1dG8gc25hcHBlZFNlbGVjdGlvblJlY3QgPSBlbmNs
b3NpbmdJbnRSZWN0KHNlbGVjdGlvblJlY3QpOworICAgIGF1dG8gbG9naWNhbFdpZHRoID0gc25h
cHBlZFNlbGVjdGlvblJlY3Qud2lkdGgoKTsKKyAgICBpZiAoc25hcHBlZFNlbGVjdGlvblJlY3Qu
eCgpID4gbG9naWNhbFJpZ2h0KQorICAgICAgICBsb2dpY2FsV2lkdGggPSAwOworICAgIGVsc2Ug
aWYgKHNuYXBwZWRTZWxlY3Rpb25SZWN0Lm1heFgoKSA+IGxvZ2ljYWxSaWdodCkKKyAgICAgICAg
bG9naWNhbFdpZHRoID0gbG9naWNhbFJpZ2h0IC0gc25hcHBlZFNlbGVjdGlvblJlY3QueCgpOwor
CisgICAgTGF5b3V0UG9pbnQgdG9wUG9pbnQ7CisgICAgTGF5b3V0VW5pdCB3aWR0aDsKKyAgICBM
YXlvdXRVbml0IGhlaWdodDsKKyAgICBpZiAoaXNIb3Jpem9udGFsKSB7CisgICAgICAgIHRvcFBv
aW50ID0gTGF5b3V0UG9pbnQgeyBzbmFwcGVkU2VsZWN0aW9uUmVjdC54KCksIHNlbGVjdGlvblRv
cCB9OworICAgICAgICB3aWR0aCA9IGxvZ2ljYWxXaWR0aDsKKyAgICAgICAgaGVpZ2h0ID0gc2Vs
ZWN0aW9uSGVpZ2h0OworICAgIH0gZWxzZSB7CisgICAgICAgIHRvcFBvaW50ID0gTGF5b3V0UG9p
bnQgeyBzZWxlY3Rpb25Ub3AsIHNuYXBwZWRTZWxlY3Rpb25SZWN0LngoKSB9OworICAgICAgICB3
aWR0aCA9IHNlbGVjdGlvbkhlaWdodDsKKyAgICAgICAgaGVpZ2h0ID0gbG9naWNhbFdpZHRoOwor
CisgICAgfQorICAgIHJldHVybiBMYXlvdXRSZWN0IHsgdG9wUG9pbnQsIExheW91dFNpemUgeyB3
aWR0aCwgaGVpZ2h0IH0gfTsKK30KKwogLy8gRklYTUU6IFNoYXJlIG1vcmUgY29kZSB3aXRoIHBh
aW50TWFya2VkVGV4dEJhY2tncm91bmQoKS4KIExheW91dFJlY3QgSW5saW5lVGV4dEJveDo6bG9j
YWxTZWxlY3Rpb25SZWN0KHVuc2lnbmVkIHN0YXJ0UG9zLCB1bnNpZ25lZCBlbmRQb3MpIGNvbnN0
CiB7CkBAIC0yMzIsMTggKzI1Nyw3IEBAIExheW91dFJlY3QgSW5saW5lVGV4dEJveDo6bG9jYWxT
ZWxlY3Rpb25SZWN0KHVuc2lnbmVkIHN0YXJ0UG9zLCB1bnNpZ25lZCBlbmRQb3MpCiAgICAgICAg
IGxpbmVGb250KCkuYWRqdXN0U2VsZWN0aW9uUmVjdEZvclRleHQodGV4dFJ1biwgc2VsZWN0aW9u
UmVjdCwgc1BvcywgZVBvcyk7CiAgICAgLy8gRklYTUU6IFRoZSBjb21wdXRhdGlvbiBvZiB0aGUg
c25hcHBlZCBzZWxlY3Rpb24gcmVjdCBkaWZmZXJzIGZyb20gdGhlIGNvbXB1dGF0aW9uIG9mIHRo
aXMgcmVjdAogICAgIC8vIGluIHBhaW50TWFya2VkVGV4dEJhY2tncm91bmQoKS4gU2VlIDxodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM4OTEzPi4KLSAgICBJbnRSZWN0
IHNuYXBwZWRTZWxlY3Rpb25SZWN0ID0gZW5jbG9zaW5nSW50UmVjdChzZWxlY3Rpb25SZWN0KTsK
LSAgICBMYXlvdXRVbml0IGxvZ2ljYWxXaWR0aCA9IHNuYXBwZWRTZWxlY3Rpb25SZWN0LndpZHRo
KCk7Ci0gICAgaWYgKHNuYXBwZWRTZWxlY3Rpb25SZWN0LngoKSA+IGxvZ2ljYWxSaWdodCgpKQot
ICAgICAgICBsb2dpY2FsV2lkdGggID0gMDsKLSAgICBlbHNlIGlmIChzbmFwcGVkU2VsZWN0aW9u
UmVjdC5tYXhYKCkgPiBsb2dpY2FsUmlnaHQoKSkKLSAgICAgICAgbG9naWNhbFdpZHRoID0gbG9n
aWNhbFJpZ2h0KCkgLSBzbmFwcGVkU2VsZWN0aW9uUmVjdC54KCk7Ci0KLSAgICBMYXlvdXRQb2lu
dCB0b3BQb2ludCA9IGlzSG9yaXpvbnRhbCgpID8gTGF5b3V0UG9pbnQoc25hcHBlZFNlbGVjdGlv
blJlY3QueCgpLCBzZWxlY3Rpb25Ub3ApIDogTGF5b3V0UG9pbnQoc2VsZWN0aW9uVG9wLCBzbmFw
cGVkU2VsZWN0aW9uUmVjdC54KCkpOwotICAgIExheW91dFVuaXQgd2lkdGggPSBpc0hvcml6b250
YWwoKSA/IGxvZ2ljYWxXaWR0aCA6IHNlbGVjdGlvbkhlaWdodDsKLSAgICBMYXlvdXRVbml0IGhl
aWdodCA9IGlzSG9yaXpvbnRhbCgpID8gc2VsZWN0aW9uSGVpZ2h0IDogbG9naWNhbFdpZHRoOwot
Ci0gICAgcmV0dXJuIExheW91dFJlY3QodG9wUG9pbnQsIExheW91dFNpemUod2lkdGgsIGhlaWdo
dCkpOworICAgIHJldHVybiBzbmFwcGVkU2VsZWN0aW9uUmVjdChzZWxlY3Rpb25SZWN0LCBsb2dp
Y2FsUmlnaHQoKSwgc2VsZWN0aW9uVG9wLCBzZWxlY3Rpb25IZWlnaHQsIGlzSG9yaXpvbnRhbCgp
KTsKIH0KIAogdm9pZCBJbmxpbmVUZXh0Qm94OjpkZWxldGVMaW5lKCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmggYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvSW5saW5lVGV4dEJveC5oCmluZGV4IGYwN2ZmNTY1YWQyM2U0NmI2YzBlZTQwZWUw
MDBjZWNlODI3Y2EzMTUuLjQ2MjE4YjZmNmM0OTE2NzBhYjI5M2Y5ZjE4YzZkMTUwNjRhOWFmNDAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guaApAQCAtMjE4LDYgKzIx
OCw4IEBAIHByaXZhdGU6CiAgICAgdW5zaWduZWQgc2hvcnQgbV90cnVuY2F0aW9uIHsgY05vVHJ1
bmNhdGlvbiB9OwogfTsKIAorTGF5b3V0UmVjdCBzbmFwcGVkU2VsZWN0aW9uUmVjdChjb25zdCBM
YXlvdXRSZWN0JiwgZmxvYXQgbG9naWNhbFJpZ2h0LCBmbG9hdCBzZWxlY3Rpb25Ub3AsIGZsb2F0
IHNlbGVjdGlvbkhlaWdodCwgYm9vbCBpc0hvcml6b250YWwpOworCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCiAKIFNQRUNJQUxJWkVfVFlQRV9UUkFJVFNfSU5MSU5FX0JPWChJbmxpbmVUZXh0Qm94
LCBpc0lubGluZVRleHRCb3goKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9TaW1wbGVMaW5lTGF5b3V0RnVuY3Rpb25zLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9TaW1wbGVMaW5lTGF5b3V0RnVuY3Rpb25zLmNwcAppbmRleCA1Nzc5ZDNlY2EwMzFmZjE3NzIy
ODgzZTU3MGYxNTU4OTY3MGQyMjRmLi44NWQ5NzM0MGEzOTA1YWIzZjVkZWY2ZDRmNjM3NjA0NGJk
NzIyZWJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxh
eW91dEZ1bmN0aW9ucy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxp
bmVMYXlvdXRGdW5jdGlvbnMuY3BwCkBAIC0yMzIsNiArMjMyLDcgQEAgVmVjdG9yPEZsb2F0UXVh
ZD4gY29sbGVjdEFic29sdXRlUXVhZHNGb3JSYW5nZShjb25zdCBSZW5kZXJPYmplY3QmIHJlbmRl
cmVyLCB1bnMKICAgICAgICAgYXV0byBsb2NhbEVuZCA9IHN0ZDo6bWluKHJ1bi5lbmQoKSwgZW5k
KSAtIHJ1bi5zdGFydCgpOwogICAgICAgICBBU1NFUlQobG9jYWxTdGFydCA8PSBsb2NhbEVuZCk7
CiAgICAgICAgIHN0eWxlLmZvbnRDYXNjYWRlKCkuYWRqdXN0U2VsZWN0aW9uUmVjdEZvclRleHQo
dGV4dFJ1biwgcnVuUmVjdCwgbG9jYWxTdGFydCwgbG9jYWxFbmQpOworICAgICAgICBydW5SZWN0
ID0gc25hcHBlZFNlbGVjdGlvblJlY3QocnVuUmVjdCwgcnVuLmxvZ2ljYWxSaWdodCgpLCBydW5S
ZWN0LnkoKSwgcnVuUmVjdC5oZWlnaHQoKSwgdHJ1ZSAvKiBpc0hvcml6b250YWwgKi8pOwogICAg
ICAgICBxdWFkcy5hcHBlbmQocmVuZGVyZXIubG9jYWxUb0Fic29sdXRlUXVhZChGbG9hdFF1YWQo
cnVuUmVjdCksIFVzZVRyYW5zZm9ybXMsIHdhc0ZpeGVkKSk7CiAgICAgfQogICAgIHJldHVybiBx
dWFkczsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwppbmRleCBkODRjMjc0YjQ2MjlmMzhhZWY4NDg1ZWZmMmMzZTAzNGMyNGI4Y2Q5Li5h
NzZmMTEzZTQ4OGIzZTk4NzJkNzE4MDdmNDhhOGZiODE0MTViMDRlIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTYgQEAKKzIwMTktMTItMjMgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgorCisg
ICAgICAgIFByZWNpc2lvbiBvZiBnZXRDbGllbnRSZWN0cygpLCBnZXRCb3VuZGluZ0NsaWVudFJl
Y3QoKSBkaWZmZXJzIGRlcGVuZGluZyB3aGV0aGVyIHNpbXBsZSBsaW5lIGxheW91dCBvciBsaW5l
IGJveCBsYXlvdXQgaXMgdXNlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjA1NTYzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81ODE2NTUyOD4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgZXhw
ZWN0ZWQgcmVzdWx0IG5vdyB0aGF0IHNpbXBsZSBsaW5lIGxheW91dCBjb21wdXRlcyBhIGNsaWVu
dCByZWN0IHRoYXQgbWF0Y2hlcworICAgICAgICB0aGUgcmVjdCB0aGUgbGluZSBsYXlvdXQgY29k
ZSBjb21wdXRlcy4KKworICAgICAgICAqIGZhc3QvZG9tL1JhbmdlL21hYy9nZXRDbGllbnRSZWN0
cy1hbmQtZ2V0Qm91bmRpbmdDbGllbnRSZWN0LWJlZm9yZS1hbmQtYWZ0ZXItc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dDoKKwogMjAxOS0xMi0yMyAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5j
b20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjIxMjY5Myk6IGdldENsaWVudFJlY3RzKCksIGdl
dEJvdW5kaW5nQ2xpZW50UmVjdCgpIGZvciByYW5nZSB0aGF0IHNwYW5zIG11bHRpLWxpbmVzIGRp
ZmZlcnMgZGVwZW5kaW5nIG9uIHdoZXRoZXIgdGV4dCBpcyBzZWxlY3RlZApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9kb20vUmFuZ2UvbWFjL2dldENsaWVudFJlY3RzLWFuZC1nZXRCb3Vu
ZGluZ0NsaWVudFJlY3QtYmVmb3JlLWFuZC1hZnRlci1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vUmFuZ2UvbWFjL2dldENsaWVudFJlY3RzLWFuZC1nZXRCb3Vu
ZGluZ0NsaWVudFJlY3QtYmVmb3JlLWFuZC1hZnRlci1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cmlu
ZGV4IGJhZGJhMGVmZDIzZmY1NmE3NmNlMjYyYzFjMWMwYzdiMjVjN2I2MDcuLjk1ODJmNTdiMWM0
YmI2NjQwZTc1MDZmOWJkMWRjOTVhMzFmZGMxNTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL1JhbmdlL21hYy9nZXRDbGllbnRSZWN0cy1hbmQtZ2V0Qm91bmRpbmdDbGllbnRSZWN0
LWJlZm9yZS1hbmQtYWZ0ZXItc2VsZWN0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9SYW5nZS9tYWMvZ2V0Q2xpZW50UmVjdHMtYW5kLWdldEJvdW5kaW5nQ2xpZW50
UmVjdC1iZWZvcmUtYW5kLWFmdGVyLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTYsOSArNiw5
IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiAKIEJlZm9yZSBzZWxlY3Rpb246CiBQQVNTIHJh
bmdlLmdldENsaWVudFJlY3RzKCkubGVuZ3RoIGlzIDIKLUZBSUwgSlNPTi5zdHJpbmdpZnkocmFu
Z2UuZ2V0Q2xpZW50UmVjdHMoKVswXSkgc2hvdWxkIGJlIHsieCI6MTYzLCJ5Ijo4LCJ3aWR0aCI6
MCwiaGVpZ2h0IjoxOCwidG9wIjo4LCJyaWdodCI6MTYzLCJib3R0b20iOjI2LCJsZWZ0IjoxNjN9
LiBXYXMgeyJ4IjoxNjMuOTUzMTI1LCJ5Ijo4LCJ3aWR0aCI6MCwiaGVpZ2h0IjoxOCwidG9wIjo4
LCJyaWdodCI6MTYzLjk1MzEyNSwiYm90dG9tIjoyNiwibGVmdCI6MTYzLjk1MzEyNX0uCi1GQUlM
IEpTT04uc3RyaW5naWZ5KHJhbmdlLmdldENsaWVudFJlY3RzKClbMV0pIHNob3VsZCBiZSB7Ingi
OjgsInkiOjI2LCJ3aWR0aCI6MjksImhlaWdodCI6MTgsInRvcCI6MjYsInJpZ2h0IjozNywiYm90
dG9tIjo0NCwibGVmdCI6OH0uIFdhcyB7IngiOjgsInkiOjI2LCJ3aWR0aCI6MjguNDUzMTI1LCJo
ZWlnaHQiOjE4LCJ0b3AiOjI2LCJyaWdodCI6MzYuNDUzMTI1LCJib3R0b20iOjQ0LCJsZWZ0Ijo4
fS4KLUZBSUwgSlNPTi5zdHJpbmdpZnkocmFuZ2UuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkpIHNo
b3VsZCBiZSB7IngiOjgsInkiOjgsIndpZHRoIjoxNTUsImhlaWdodCI6MzYsInRvcCI6OCwicmln
aHQiOjE2MywiYm90dG9tIjo0NCwibGVmdCI6OH0uIFdhcyB7IngiOjgsInkiOjgsIndpZHRoIjox
NTUuOTUzMTI1LCJoZWlnaHQiOjM2LCJ0b3AiOjgsInJpZ2h0IjoxNjMuOTUzMTI1LCJib3R0b20i
OjQ0LCJsZWZ0Ijo4fS4KK1BBU1MgSlNPTi5zdHJpbmdpZnkocmFuZ2UuZ2V0Q2xpZW50UmVjdHMo
KVswXSkgaXMgIntcInhcIjoxNjMsXCJ5XCI6OCxcIndpZHRoXCI6MCxcImhlaWdodFwiOjE4LFwi
dG9wXCI6OCxcInJpZ2h0XCI6MTYzLFwiYm90dG9tXCI6MjYsXCJsZWZ0XCI6MTYzfSIKK1BBU1Mg
SlNPTi5zdHJpbmdpZnkocmFuZ2UuZ2V0Q2xpZW50UmVjdHMoKVsxXSkgaXMgIntcInhcIjo4LFwi
eVwiOjI2LFwid2lkdGhcIjoyOSxcImhlaWdodFwiOjE4LFwidG9wXCI6MjYsXCJyaWdodFwiOjM3
LFwiYm90dG9tXCI6NDQsXCJsZWZ0XCI6OH0iCitQQVNTIEpTT04uc3RyaW5naWZ5KHJhbmdlLmdl
dEJvdW5kaW5nQ2xpZW50UmVjdCgpKSBpcyAie1wieFwiOjgsXCJ5XCI6OCxcIndpZHRoXCI6MTU1
LFwiaGVpZ2h0XCI6MzYsXCJ0b3BcIjo4LFwicmlnaHRcIjoxNjMsXCJib3R0b21cIjo0NCxcImxl
ZnRcIjo4fSIKIAogQWZ0ZXIgc2VsZWN0aW9uOgogUEFTUyByYW5nZS5nZXRDbGllbnRSZWN0cygp
Lmxlbmd0aCBpcyAyCkBAIC0xNiw3ICsxNiw2IEBAIFBBU1MgSlNPTi5zdHJpbmdpZnkocmFuZ2Uu
Z2V0Q2xpZW50UmVjdHMoKVswXSkgaXMgIntcInhcIjoxNjMsXCJ5XCI6OCxcIndpZHRoXCI6CiBQ
QVNTIEpTT04uc3RyaW5naWZ5KHJhbmdlLmdldENsaWVudFJlY3RzKClbMV0pIGlzICJ7XCJ4XCI6
OCxcInlcIjoyNixcIndpZHRoXCI6MjksXCJoZWlnaHRcIjoxOCxcInRvcFwiOjI2LFwicmlnaHRc
IjozNyxcImJvdHRvbVwiOjQ0LFwibGVmdFwiOjh9IgogUEFTUyBKU09OLnN0cmluZ2lmeShyYW5n
ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSkgaXMgIntcInhcIjo4LFwieVwiOjgsXCJ3aWR0aFwi
OjE1NSxcImhlaWdodFwiOjM2LFwidG9wXCI6OCxcInJpZ2h0XCI6MTYzLFwiYm90dG9tXCI6NDQs
XCJsZWZ0XCI6OH0iCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi1Tb21lIHRlc3Rz
IGZhaWxlZC4KIAogVEVTVCBDT01QTEVURQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386360</attachid>
            <date>2019-12-23 14:53:35 -0800</date>
            <delta_ts>2020-01-06 10:58:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205563-20191223145335.patch</filename>
            <type>text/plain</type>
            <size>9089</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzODYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmUwNjVhNmViYTQyZTVj
YTRiMzU3NDEwNDk1MDJlMzhmYzRkYjllMS4uOTQxNDI3MTdjNTZiMDhiZDEyMWU3MTIyMzg0OThj
NzZlYmJmODk3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE5LTEyLTIzICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBQcmVjaXNpb24gb2YgZ2V0
Q2xpZW50UmVjdHMoKSwgZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkgZGlmZmVycyBkZXBlbmRpbmcg
d2hldGhlciBzaW1wbGUgbGluZSBsYXlvdXQgb3IgbGluZSBib3ggbGF5b3V0IGlzIHVzZWQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTU2MworICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vNTgxNjU1Mjg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgRml4IHVwIHNpbXBsZSBsaW5lIGxheW91dCBydW4gcmVj
dCB0byBtYXRjaCB0aGUgcmVjdCByZXR1cm5lZCBieSB0aGUgbGluZSBsYXlvdXQgY29kZSBwYXRo
LgorCisgICAgICAgICogcmVuZGVyaW5nL0lubGluZVRleHRCb3guY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6c25hcHBlZFNlbGVjdGlvblJlY3QpOiBBZGRlZDsgZXh0cmFjdGVkIGZyb20gbG9jYWxT
ZWxlY3Rpb25SZWN0KCkuCisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVUZXh0Qm94Ojpsb2NhbFNl
bGVjdGlvblJlY3QgY29uc3QpOiBNb3ZlZCBzb21lIGxvZ2ljIGludG8gc25hcHBlZFNlbGVjdGlv
blJlY3QoKQorICAgICAgICBhbmQgbW9kaWZpZWQgY29kZSB0byB1c2UgaXQuCisgICAgICAgICog
cmVuZGVyaW5nL0lubGluZVRleHRCb3guaDoKKyAgICAgICAgKiByZW5kZXJpbmcvU2ltcGxlTGlu
ZUxheW91dEZ1bmN0aW9ucy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVMaW5lTGF5b3V0
Ojpjb2xsZWN0QWJzb2x1dGVRdWFkc0ZvclJhbmdlKTogRml4IHVwIHJ1biByZWN0LgorCiAyMDE5
LTEyLTIzICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdS
RVNTSU9OIChyMjEyNjkzKTogZ2V0Q2xpZW50UmVjdHMoKSwgZ2V0Qm91bmRpbmdDbGllbnRSZWN0
KCkgZm9yIHJhbmdlIHRoYXQgc3BhbnMgbXVsdGktbGluZXMgZGlmZmVycyBkZXBlbmRpbmcgb24g
d2hldGhlciB0ZXh0IGlzIHNlbGVjdGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvSW5saW5lVGV4dEJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5l
VGV4dEJveC5jcHAKaW5kZXggMmU4NTg4NTQzM2QxMmJkOTY1MWJkMjE5NmM0NGJlYzlmZjE5Y2Mz
ZS4uOTgzYjBmYmZmM2IzNjI3ZmJiYWM0MmRmYjE5NTBkZTcyNzhjMDU3YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcApAQCAtMjEyLDYgKzIxMiwzMCBAQCBp
bmxpbmUgY29uc3QgRm9udENhc2NhZGUmIElubGluZVRleHRCb3g6OmxpbmVGb250KCkgY29uc3QK
ICAgICByZXR1cm4gY29tYmluZWRUZXh0KCkgPyBjb21iaW5lZFRleHQoKS0+dGV4dENvbWJpbmVG
b250KCkgOiBsaW5lU3R5bGUoKS5mb250Q2FzY2FkZSgpOwogfQogCitMYXlvdXRSZWN0IHNuYXBw
ZWRTZWxlY3Rpb25SZWN0KGNvbnN0IExheW91dFJlY3QmIHNlbGVjdGlvblJlY3QsIGZsb2F0IGxv
Z2ljYWxSaWdodCwgZmxvYXQgc2VsZWN0aW9uVG9wLCBmbG9hdCBzZWxlY3Rpb25IZWlnaHQsIGJv
b2wgaXNIb3Jpem9udGFsKQoreworICAgIGF1dG8gc25hcHBlZFNlbGVjdGlvblJlY3QgPSBlbmNs
b3NpbmdJbnRSZWN0KHNlbGVjdGlvblJlY3QpOworICAgIGF1dG8gbG9naWNhbFdpZHRoID0gc25h
cHBlZFNlbGVjdGlvblJlY3Qud2lkdGgoKTsKKyAgICBpZiAoc25hcHBlZFNlbGVjdGlvblJlY3Qu
eCgpID4gbG9naWNhbFJpZ2h0KQorICAgICAgICBsb2dpY2FsV2lkdGggPSAwOworICAgIGVsc2Ug
aWYgKHNuYXBwZWRTZWxlY3Rpb25SZWN0Lm1heFgoKSA+IGxvZ2ljYWxSaWdodCkKKyAgICAgICAg
bG9naWNhbFdpZHRoID0gbG9naWNhbFJpZ2h0IC0gc25hcHBlZFNlbGVjdGlvblJlY3QueCgpOwor
CisgICAgTGF5b3V0UG9pbnQgdG9wUG9pbnQ7CisgICAgTGF5b3V0VW5pdCB3aWR0aDsKKyAgICBM
YXlvdXRVbml0IGhlaWdodDsKKyAgICBpZiAoaXNIb3Jpem9udGFsKSB7CisgICAgICAgIHRvcFBv
aW50ID0gTGF5b3V0UG9pbnQgeyBzbmFwcGVkU2VsZWN0aW9uUmVjdC54KCksIHNlbGVjdGlvblRv
cCB9OworICAgICAgICB3aWR0aCA9IGxvZ2ljYWxXaWR0aDsKKyAgICAgICAgaGVpZ2h0ID0gc2Vs
ZWN0aW9uSGVpZ2h0OworICAgIH0gZWxzZSB7CisgICAgICAgIHRvcFBvaW50ID0gTGF5b3V0UG9p
bnQgeyBzZWxlY3Rpb25Ub3AsIHNuYXBwZWRTZWxlY3Rpb25SZWN0LngoKSB9OworICAgICAgICB3
aWR0aCA9IHNlbGVjdGlvbkhlaWdodDsKKyAgICAgICAgaGVpZ2h0ID0gbG9naWNhbFdpZHRoOwor
ICAgIH0KKyAgICByZXR1cm4gTGF5b3V0UmVjdCB7IHRvcFBvaW50LCBMYXlvdXRTaXplIHsgd2lk
dGgsIGhlaWdodCB9IH07Cit9CisKIC8vIEZJWE1FOiBTaGFyZSBtb3JlIGNvZGUgd2l0aCBwYWlu
dE1hcmtlZFRleHRCYWNrZ3JvdW5kKCkuCiBMYXlvdXRSZWN0IElubGluZVRleHRCb3g6OmxvY2Fs
U2VsZWN0aW9uUmVjdCh1bnNpZ25lZCBzdGFydFBvcywgdW5zaWduZWQgZW5kUG9zKSBjb25zdAog
ewpAQCAtMjMyLDE4ICsyNTYsNyBAQCBMYXlvdXRSZWN0IElubGluZVRleHRCb3g6OmxvY2FsU2Vs
ZWN0aW9uUmVjdCh1bnNpZ25lZCBzdGFydFBvcywgdW5zaWduZWQgZW5kUG9zKQogICAgICAgICBs
aW5lRm9udCgpLmFkanVzdFNlbGVjdGlvblJlY3RGb3JUZXh0KHRleHRSdW4sIHNlbGVjdGlvblJl
Y3QsIHNQb3MsIGVQb3MpOwogICAgIC8vIEZJWE1FOiBUaGUgY29tcHV0YXRpb24gb2YgdGhlIHNu
YXBwZWQgc2VsZWN0aW9uIHJlY3QgZGlmZmVycyBmcm9tIHRoZSBjb21wdXRhdGlvbiBvZiB0aGlz
IHJlY3QKICAgICAvLyBpbiBwYWludE1hcmtlZFRleHRCYWNrZ3JvdW5kKCkuIFNlZSA8aHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzODkxMz4uCi0gICAgSW50UmVjdCBz
bmFwcGVkU2VsZWN0aW9uUmVjdCA9IGVuY2xvc2luZ0ludFJlY3Qoc2VsZWN0aW9uUmVjdCk7Ci0g
ICAgTGF5b3V0VW5pdCBsb2dpY2FsV2lkdGggPSBzbmFwcGVkU2VsZWN0aW9uUmVjdC53aWR0aCgp
OwotICAgIGlmIChzbmFwcGVkU2VsZWN0aW9uUmVjdC54KCkgPiBsb2dpY2FsUmlnaHQoKSkKLSAg
ICAgICAgbG9naWNhbFdpZHRoICA9IDA7Ci0gICAgZWxzZSBpZiAoc25hcHBlZFNlbGVjdGlvblJl
Y3QubWF4WCgpID4gbG9naWNhbFJpZ2h0KCkpCi0gICAgICAgIGxvZ2ljYWxXaWR0aCA9IGxvZ2lj
YWxSaWdodCgpIC0gc25hcHBlZFNlbGVjdGlvblJlY3QueCgpOwotCi0gICAgTGF5b3V0UG9pbnQg
dG9wUG9pbnQgPSBpc0hvcml6b250YWwoKSA/IExheW91dFBvaW50KHNuYXBwZWRTZWxlY3Rpb25S
ZWN0LngoKSwgc2VsZWN0aW9uVG9wKSA6IExheW91dFBvaW50KHNlbGVjdGlvblRvcCwgc25hcHBl
ZFNlbGVjdGlvblJlY3QueCgpKTsKLSAgICBMYXlvdXRVbml0IHdpZHRoID0gaXNIb3Jpem9udGFs
KCkgPyBsb2dpY2FsV2lkdGggOiBzZWxlY3Rpb25IZWlnaHQ7Ci0gICAgTGF5b3V0VW5pdCBoZWln
aHQgPSBpc0hvcml6b250YWwoKSA/IHNlbGVjdGlvbkhlaWdodCA6IGxvZ2ljYWxXaWR0aDsKLQot
ICAgIHJldHVybiBMYXlvdXRSZWN0KHRvcFBvaW50LCBMYXlvdXRTaXplKHdpZHRoLCBoZWlnaHQp
KTsKKyAgICByZXR1cm4gc25hcHBlZFNlbGVjdGlvblJlY3Qoc2VsZWN0aW9uUmVjdCwgbG9naWNh
bFJpZ2h0KCksIHNlbGVjdGlvblRvcCwgc2VsZWN0aW9uSGVpZ2h0LCBpc0hvcml6b250YWwoKSk7
CiB9CiAKIHZvaWQgSW5saW5lVGV4dEJveDo6ZGVsZXRlTGluZSgpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL0lubGluZVRleHRCb3guaAppbmRleCBmMDdmZjU2NWFkMjNlNDZiNmMwZWU0MGVlMDAw
Y2VjZTgyN2NhMzE1Li40NjIxOGI2ZjZjNDkxNjcwYWIyOTNmOWYxOGM2ZDE1MDY0YTlhZjQwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmgKQEAgLTIxOCw2ICsyMTgs
OCBAQCBwcml2YXRlOgogICAgIHVuc2lnbmVkIHNob3J0IG1fdHJ1bmNhdGlvbiB7IGNOb1RydW5j
YXRpb24gfTsKIH07CiAKK0xheW91dFJlY3Qgc25hcHBlZFNlbGVjdGlvblJlY3QoY29uc3QgTGF5
b3V0UmVjdCYsIGZsb2F0IGxvZ2ljYWxSaWdodCwgZmxvYXQgc2VsZWN0aW9uVG9wLCBmbG9hdCBz
ZWxlY3Rpb25IZWlnaHQsIGJvb2wgaXNIb3Jpem9udGFsKTsKKwogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQogCiBTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0lOTElORV9CT1goSW5saW5lVGV4dEJveCwg
aXNJbmxpbmVUZXh0Qm94KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
U2ltcGxlTGluZUxheW91dEZ1bmN0aW9ucy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
U2ltcGxlTGluZUxheW91dEZ1bmN0aW9ucy5jcHAKaW5kZXggNTc3OWQzZWNhMDMxZmYxNzcyMjg4
M2U1NzBmMTU1ODk2NzBkMjI0Zi4uODVkOTczNDBhMzkwNWFiM2Y1ZGVmNmQ0ZjYzNzYwNDRiZDcy
MmViYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlv
dXRGdW5jdGlvbnMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5l
TGF5b3V0RnVuY3Rpb25zLmNwcApAQCAtMjMyLDYgKzIzMiw3IEBAIFZlY3RvcjxGbG9hdFF1YWQ+
IGNvbGxlY3RBYnNvbHV0ZVF1YWRzRm9yUmFuZ2UoY29uc3QgUmVuZGVyT2JqZWN0JiByZW5kZXJl
ciwgdW5zCiAgICAgICAgIGF1dG8gbG9jYWxFbmQgPSBzdGQ6Om1pbihydW4uZW5kKCksIGVuZCkg
LSBydW4uc3RhcnQoKTsKICAgICAgICAgQVNTRVJUKGxvY2FsU3RhcnQgPD0gbG9jYWxFbmQpOwog
ICAgICAgICBzdHlsZS5mb250Q2FzY2FkZSgpLmFkanVzdFNlbGVjdGlvblJlY3RGb3JUZXh0KHRl
eHRSdW4sIHJ1blJlY3QsIGxvY2FsU3RhcnQsIGxvY2FsRW5kKTsKKyAgICAgICAgcnVuUmVjdCA9
IHNuYXBwZWRTZWxlY3Rpb25SZWN0KHJ1blJlY3QsIHJ1bi5sb2dpY2FsUmlnaHQoKSwgcnVuUmVj
dC55KCksIHJ1blJlY3QuaGVpZ2h0KCksIHRydWUgLyogaXNIb3Jpem9udGFsICovKTsKICAgICAg
ICAgcXVhZHMuYXBwZW5kKHJlbmRlcmVyLmxvY2FsVG9BYnNvbHV0ZVF1YWQoRmxvYXRRdWFkKHJ1
blJlY3QpLCBVc2VUcmFuc2Zvcm1zLCB3YXNGaXhlZCkpOwogICAgIH0KICAgICByZXR1cm4gcXVh
ZHM7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggZDg0YzI3NGI0NjI5ZjM4YWVmODQ4NWVmZjJjM2UwMzRjMjRiOGNkOS4uYTc2
ZjExM2U0ODhiM2U5ODcyZDcxODA3ZjQ4YThmYjgxNDE1YjA0ZSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2
IEBACisyMDE5LTEyLTIzICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAg
ICAgICBQcmVjaXNpb24gb2YgZ2V0Q2xpZW50UmVjdHMoKSwgZ2V0Qm91bmRpbmdDbGllbnRSZWN0
KCkgZGlmZmVycyBkZXBlbmRpbmcgd2hldGhlciBzaW1wbGUgbGluZSBsYXlvdXQgb3IgbGluZSBi
b3ggbGF5b3V0IGlzIHVzZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIwNTU2MworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTgxNjU1Mjg+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIGV4cGVj
dGVkIHJlc3VsdCBub3cgdGhhdCBzaW1wbGUgbGluZSBsYXlvdXQgY29tcHV0ZXMgYSBjbGllbnQg
cmVjdCB0aGF0IG1hdGNoZXMKKyAgICAgICAgdGhlIHJlY3QgdGhlIGxpbmUgbGF5b3V0IGNvZGUg
Y29tcHV0ZXMuCisKKyAgICAgICAgKiBmYXN0L2RvbS9SYW5nZS9tYWMvZ2V0Q2xpZW50UmVjdHMt
YW5kLWdldEJvdW5kaW5nQ2xpZW50UmVjdC1iZWZvcmUtYW5kLWFmdGVyLXNlbGVjdGlvbi1leHBl
Y3RlZC50eHQ6CisKIDIwMTktMTItMjMgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29t
PgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIyMTI2OTMpOiBnZXRDbGllbnRSZWN0cygpLCBnZXRC
b3VuZGluZ0NsaWVudFJlY3QoKSBmb3IgcmFuZ2UgdGhhdCBzcGFucyBtdWx0aS1saW5lcyBkaWZm
ZXJzIGRlcGVuZGluZyBvbiB3aGV0aGVyIHRleHQgaXMgc2VsZWN0ZWQKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL1JhbmdlL21hYy9nZXRDbGllbnRSZWN0cy1hbmQtZ2V0Qm91bmRp
bmdDbGllbnRSZWN0LWJlZm9yZS1hbmQtYWZ0ZXItc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL1JhbmdlL21hYy9nZXRDbGllbnRSZWN0cy1hbmQtZ2V0Qm91bmRp
bmdDbGllbnRSZWN0LWJlZm9yZS1hbmQtYWZ0ZXItc2VsZWN0aW9uLWV4cGVjdGVkLnR4dAppbmRl
eCBiYWRiYTBlZmQyM2ZmNTZhNzZjZTI2MmMxYzFjMGM3YjI1YzdiNjA3Li45NTgyZjU3YjFjNGJi
NjY0MGU3NTA2ZjliZDFkYzk1YTMxZmRjMTU3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9SYW5nZS9tYWMvZ2V0Q2xpZW50UmVjdHMtYW5kLWdldEJvdW5kaW5nQ2xpZW50UmVjdC1i
ZWZvcmUtYW5kLWFmdGVyLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vUmFuZ2UvbWFjL2dldENsaWVudFJlY3RzLWFuZC1nZXRCb3VuZGluZ0NsaWVudFJl
Y3QtYmVmb3JlLWFuZC1hZnRlci1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC02LDkgKzYsOSBA
QCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogCiBCZWZvcmUgc2VsZWN0aW9uOgogUEFTUyByYW5n
ZS5nZXRDbGllbnRSZWN0cygpLmxlbmd0aCBpcyAyCi1GQUlMIEpTT04uc3RyaW5naWZ5KHJhbmdl
LmdldENsaWVudFJlY3RzKClbMF0pIHNob3VsZCBiZSB7IngiOjE2MywieSI6OCwid2lkdGgiOjAs
ImhlaWdodCI6MTgsInRvcCI6OCwicmlnaHQiOjE2MywiYm90dG9tIjoyNiwibGVmdCI6MTYzfS4g
V2FzIHsieCI6MTYzLjk1MzEyNSwieSI6OCwid2lkdGgiOjAsImhlaWdodCI6MTgsInRvcCI6OCwi
cmlnaHQiOjE2My45NTMxMjUsImJvdHRvbSI6MjYsImxlZnQiOjE2My45NTMxMjV9LgotRkFJTCBK
U09OLnN0cmluZ2lmeShyYW5nZS5nZXRDbGllbnRSZWN0cygpWzFdKSBzaG91bGQgYmUgeyJ4Ijo4
LCJ5IjoyNiwid2lkdGgiOjI5LCJoZWlnaHQiOjE4LCJ0b3AiOjI2LCJyaWdodCI6MzcsImJvdHRv
bSI6NDQsImxlZnQiOjh9LiBXYXMgeyJ4Ijo4LCJ5IjoyNiwid2lkdGgiOjI4LjQ1MzEyNSwiaGVp
Z2h0IjoxOCwidG9wIjoyNiwicmlnaHQiOjM2LjQ1MzEyNSwiYm90dG9tIjo0NCwibGVmdCI6OH0u
Ci1GQUlMIEpTT04uc3RyaW5naWZ5KHJhbmdlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKSBzaG91
bGQgYmUgeyJ4Ijo4LCJ5Ijo4LCJ3aWR0aCI6MTU1LCJoZWlnaHQiOjM2LCJ0b3AiOjgsInJpZ2h0
IjoxNjMsImJvdHRvbSI6NDQsImxlZnQiOjh9LiBXYXMgeyJ4Ijo4LCJ5Ijo4LCJ3aWR0aCI6MTU1
Ljk1MzEyNSwiaGVpZ2h0IjozNiwidG9wIjo4LCJyaWdodCI6MTYzLjk1MzEyNSwiYm90dG9tIjo0
NCwibGVmdCI6OH0uCitQQVNTIEpTT04uc3RyaW5naWZ5KHJhbmdlLmdldENsaWVudFJlY3RzKClb
MF0pIGlzICJ7XCJ4XCI6MTYzLFwieVwiOjgsXCJ3aWR0aFwiOjAsXCJoZWlnaHRcIjoxOCxcInRv
cFwiOjgsXCJyaWdodFwiOjE2MyxcImJvdHRvbVwiOjI2LFwibGVmdFwiOjE2M30iCitQQVNTIEpT
T04uc3RyaW5naWZ5KHJhbmdlLmdldENsaWVudFJlY3RzKClbMV0pIGlzICJ7XCJ4XCI6OCxcInlc
IjoyNixcIndpZHRoXCI6MjksXCJoZWlnaHRcIjoxOCxcInRvcFwiOjI2LFwicmlnaHRcIjozNyxc
ImJvdHRvbVwiOjQ0LFwibGVmdFwiOjh9IgorUEFTUyBKU09OLnN0cmluZ2lmeShyYW5nZS5nZXRC
b3VuZGluZ0NsaWVudFJlY3QoKSkgaXMgIntcInhcIjo4LFwieVwiOjgsXCJ3aWR0aFwiOjE1NSxc
ImhlaWdodFwiOjM2LFwidG9wXCI6OCxcInJpZ2h0XCI6MTYzLFwiYm90dG9tXCI6NDQsXCJsZWZ0
XCI6OH0iCiAKIEFmdGVyIHNlbGVjdGlvbjoKIFBBU1MgcmFuZ2UuZ2V0Q2xpZW50UmVjdHMoKS5s
ZW5ndGggaXMgMgpAQCAtMTYsNyArMTYsNiBAQCBQQVNTIEpTT04uc3RyaW5naWZ5KHJhbmdlLmdl
dENsaWVudFJlY3RzKClbMF0pIGlzICJ7XCJ4XCI6MTYzLFwieVwiOjgsXCJ3aWR0aFwiOgogUEFT
UyBKU09OLnN0cmluZ2lmeShyYW5nZS5nZXRDbGllbnRSZWN0cygpWzFdKSBpcyAie1wieFwiOjgs
XCJ5XCI6MjYsXCJ3aWR0aFwiOjI5LFwiaGVpZ2h0XCI6MTgsXCJ0b3BcIjoyNixcInJpZ2h0XCI6
MzcsXCJib3R0b21cIjo0NCxcImxlZnRcIjo4fSIKIFBBU1MgSlNPTi5zdHJpbmdpZnkocmFuZ2Uu
Z2V0Qm91bmRpbmdDbGllbnRSZWN0KCkpIGlzICJ7XCJ4XCI6OCxcInlcIjo4LFwid2lkdGhcIjox
NTUsXCJoZWlnaHRcIjozNixcInRvcFwiOjgsXCJyaWdodFwiOjE2MyxcImJvdHRvbVwiOjQ0LFwi
bGVmdFwiOjh9IgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotU29tZSB0ZXN0cyBm
YWlsZWQuCiAKIFRFU1QgQ09NUExFVEUKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386864</attachid>
            <date>2020-01-06 10:58:57 -0800</date>
            <delta_ts>2020-01-06 10:58:57 -0800</delta_ts>
            <desc>To land</desc>
            <filename>bug-205563-20200106105856.patch</filename>
            <type>text/plain</type>
            <size>21327</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzNjkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTBlMTU1NmY5NGRlNzA5
YTMxOWQ3Yjg4MWM5Y2FmZGMyMjFhY2U4NC4uODQ1MzU3YTFhZmI1Mjc1MjZkNjE4NjNiZDFiOTc5
ZDM3OTQ2NWNhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIwLTAxLTA2ICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBQcmVjaXNpb24gb2YgZ2V0
Q2xpZW50UmVjdHMoKSwgZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkgZGlmZmVycyBkZXBlbmRpbmcg
d2hldGhlciBzaW1wbGUgbGluZSBsYXlvdXQgb3IgbGluZSBib3ggbGF5b3V0IGlzIHVzZWQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTU2MworICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vNTgxNjU1Mjg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWmFs
YW4gQnVqdGFzLgorCisgICAgICAgIEZpeCB1cCBzaW1wbGUgbGluZSBsYXlvdXQgcnVuIHJlY3Qg
dG8gbWF0Y2ggdGhlIHJlY3QgcmV0dXJuZWQgYnkgdGhlIGxpbmUgbGF5b3V0IGNvZGUgcGF0aC4K
KworICAgICAgICAqIHJlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OnNuYXBwZWRTZWxlY3Rpb25SZWN0KTogQWRkZWQ7IGV4dHJhY3RlZCBmcm9tIGxvY2FsU2Vs
ZWN0aW9uUmVjdCgpLgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lVGV4dEJveDo6bG9jYWxTZWxl
Y3Rpb25SZWN0IGNvbnN0KTogTW92ZWQgc29tZSBsb2dpYyBpbnRvIHNuYXBwZWRTZWxlY3Rpb25S
ZWN0KCkKKyAgICAgICAgYW5kIG1vZGlmaWVkIGNvZGUgdG8gdXNlIGl0LgorICAgICAgICAqIHJl
bmRlcmluZy9JbmxpbmVUZXh0Qm94Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1NpbXBsZUxpbmVM
YXlvdXRGdW5jdGlvbnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlTGluZUxheW91dDo6
Y29sbGVjdEFic29sdXRlUXVhZHNGb3JSYW5nZSk6IEZpeCB1cCBydW4gcmVjdC4KKwogMjAxOS0x
Mi0yMyAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVT
U0lPTiAocjIxMjY5Myk6IGdldENsaWVudFJlY3RzKCksIGdldEJvdW5kaW5nQ2xpZW50UmVjdCgp
IGZvciByYW5nZSB0aGF0IHNwYW5zIG11bHRpLWxpbmVzIGRpZmZlcnMgZGVwZW5kaW5nIG9uIHdo
ZXRoZXIgdGV4dCBpcyBzZWxlY3RlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0lubGluZVRleHRCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRl
eHRCb3guY3BwCmluZGV4IDQzM2EwNzRmNTAyNjQ3OGM3M2JhZWVhNjEzYzMzNTg0ODkyZjUzMWMu
LjIwYzJhYzAzNTcwMWIxNmNjZTFjY2IyOTI1NGIxNDU1MWZiNTEwMGQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5jcHAKQEAgLTE5OSw2ICsxOTksMzAgQEAgaW5s
aW5lIGNvbnN0IEZvbnRDYXNjYWRlJiBJbmxpbmVUZXh0Qm94OjpsaW5lRm9udCgpIGNvbnN0CiAg
ICAgcmV0dXJuIGNvbWJpbmVkVGV4dCgpID8gY29tYmluZWRUZXh0KCktPnRleHRDb21iaW5lRm9u
dCgpIDogbGluZVN0eWxlKCkuZm9udENhc2NhZGUoKTsKIH0KIAorTGF5b3V0UmVjdCBzbmFwcGVk
U2VsZWN0aW9uUmVjdChjb25zdCBMYXlvdXRSZWN0JiBzZWxlY3Rpb25SZWN0LCBmbG9hdCBsb2dp
Y2FsUmlnaHQsIGZsb2F0IHNlbGVjdGlvblRvcCwgZmxvYXQgc2VsZWN0aW9uSGVpZ2h0LCBib29s
IGlzSG9yaXpvbnRhbCkKK3sKKyAgICBhdXRvIHNuYXBwZWRTZWxlY3Rpb25SZWN0ID0gZW5jbG9z
aW5nSW50UmVjdChzZWxlY3Rpb25SZWN0KTsKKyAgICBhdXRvIGxvZ2ljYWxXaWR0aCA9IHNuYXBw
ZWRTZWxlY3Rpb25SZWN0LndpZHRoKCk7CisgICAgaWYgKHNuYXBwZWRTZWxlY3Rpb25SZWN0Lngo
KSA+IGxvZ2ljYWxSaWdodCkKKyAgICAgICAgbG9naWNhbFdpZHRoID0gMDsKKyAgICBlbHNlIGlm
IChzbmFwcGVkU2VsZWN0aW9uUmVjdC5tYXhYKCkgPiBsb2dpY2FsUmlnaHQpCisgICAgICAgIGxv
Z2ljYWxXaWR0aCA9IGxvZ2ljYWxSaWdodCAtIHNuYXBwZWRTZWxlY3Rpb25SZWN0LngoKTsKKwor
ICAgIExheW91dFBvaW50IHRvcFBvaW50OworICAgIExheW91dFVuaXQgd2lkdGg7CisgICAgTGF5
b3V0VW5pdCBoZWlnaHQ7CisgICAgaWYgKGlzSG9yaXpvbnRhbCkgeworICAgICAgICB0b3BQb2lu
dCA9IExheW91dFBvaW50IHsgc25hcHBlZFNlbGVjdGlvblJlY3QueCgpLCBzZWxlY3Rpb25Ub3Ag
fTsKKyAgICAgICAgd2lkdGggPSBsb2dpY2FsV2lkdGg7CisgICAgICAgIGhlaWdodCA9IHNlbGVj
dGlvbkhlaWdodDsKKyAgICB9IGVsc2UgeworICAgICAgICB0b3BQb2ludCA9IExheW91dFBvaW50
IHsgc2VsZWN0aW9uVG9wLCBzbmFwcGVkU2VsZWN0aW9uUmVjdC54KCkgfTsKKyAgICAgICAgd2lk
dGggPSBzZWxlY3Rpb25IZWlnaHQ7CisgICAgICAgIGhlaWdodCA9IGxvZ2ljYWxXaWR0aDsKKyAg
ICB9CisgICAgcmV0dXJuIExheW91dFJlY3QgeyB0b3BQb2ludCwgTGF5b3V0U2l6ZSB7IHdpZHRo
LCBoZWlnaHQgfSB9OworfQorCiAvLyBGSVhNRTogU2hhcmUgbW9yZSBjb2RlIHdpdGggcGFpbnRN
YXJrZWRUZXh0QmFja2dyb3VuZCgpLgogTGF5b3V0UmVjdCBJbmxpbmVUZXh0Qm94Ojpsb2NhbFNl
bGVjdGlvblJlY3QodW5zaWduZWQgc3RhcnRQb3MsIHVuc2lnbmVkIGVuZFBvcykgY29uc3QKIHsK
QEAgLTIxOSwxOCArMjQzLDcgQEAgTGF5b3V0UmVjdCBJbmxpbmVUZXh0Qm94Ojpsb2NhbFNlbGVj
dGlvblJlY3QodW5zaWduZWQgc3RhcnRQb3MsIHVuc2lnbmVkIGVuZFBvcykKICAgICAgICAgbGlu
ZUZvbnQoKS5hZGp1c3RTZWxlY3Rpb25SZWN0Rm9yVGV4dCh0ZXh0UnVuLCBzZWxlY3Rpb25SZWN0
LCBzUG9zLCBlUG9zKTsKICAgICAvLyBGSVhNRTogVGhlIGNvbXB1dGF0aW9uIG9mIHRoZSBzbmFw
cGVkIHNlbGVjdGlvbiByZWN0IGRpZmZlcnMgZnJvbSB0aGUgY29tcHV0YXRpb24gb2YgdGhpcyBy
ZWN0CiAgICAgLy8gaW4gcGFpbnRNYXJrZWRUZXh0QmFja2dyb3VuZCgpLiBTZWUgPGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzg5MTM+LgotICAgIEludFJlY3Qgc25h
cHBlZFNlbGVjdGlvblJlY3QgPSBlbmNsb3NpbmdJbnRSZWN0KHNlbGVjdGlvblJlY3QpOwotICAg
IExheW91dFVuaXQgbG9naWNhbFdpZHRoID0gc25hcHBlZFNlbGVjdGlvblJlY3Qud2lkdGgoKTsK
LSAgICBpZiAoc25hcHBlZFNlbGVjdGlvblJlY3QueCgpID4gbG9naWNhbFJpZ2h0KCkpCi0gICAg
ICAgIGxvZ2ljYWxXaWR0aCAgPSAwOwotICAgIGVsc2UgaWYgKHNuYXBwZWRTZWxlY3Rpb25SZWN0
Lm1heFgoKSA+IGxvZ2ljYWxSaWdodCgpKQotICAgICAgICBsb2dpY2FsV2lkdGggPSBsb2dpY2Fs
UmlnaHQoKSAtIHNuYXBwZWRTZWxlY3Rpb25SZWN0LngoKTsKLQotICAgIExheW91dFBvaW50IHRv
cFBvaW50ID0gaXNIb3Jpem9udGFsKCkgPyBMYXlvdXRQb2ludChzbmFwcGVkU2VsZWN0aW9uUmVj
dC54KCksIHNlbGVjdGlvblRvcCkgOiBMYXlvdXRQb2ludChzZWxlY3Rpb25Ub3AsIHNuYXBwZWRT
ZWxlY3Rpb25SZWN0LngoKSk7Ci0gICAgTGF5b3V0VW5pdCB3aWR0aCA9IGlzSG9yaXpvbnRhbCgp
ID8gbG9naWNhbFdpZHRoIDogc2VsZWN0aW9uSGVpZ2h0OwotICAgIExheW91dFVuaXQgaGVpZ2h0
ID0gaXNIb3Jpem9udGFsKCkgPyBzZWxlY3Rpb25IZWlnaHQgOiBsb2dpY2FsV2lkdGg7Ci0KLSAg
ICByZXR1cm4gTGF5b3V0UmVjdCh0b3BQb2ludCwgTGF5b3V0U2l6ZSh3aWR0aCwgaGVpZ2h0KSk7
CisgICAgcmV0dXJuIHNuYXBwZWRTZWxlY3Rpb25SZWN0KHNlbGVjdGlvblJlY3QsIGxvZ2ljYWxS
aWdodCgpLCBzZWxlY3Rpb25Ub3AsIHNlbGVjdGlvbkhlaWdodCwgaXNIb3Jpem9udGFsKCkpOwog
fQogCiB2b2lkIElubGluZVRleHRCb3g6OmRlbGV0ZUxpbmUoKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9JbmxpbmVUZXh0Qm94LmgKaW5kZXggNWNhMmJjODYxMzZiNmQ5MzI2ODcyOGJkYWY4NzI5
MmU4ODU4ZDY1Yy4uODExYWY3MzRmZmNlZWEyMjJhMDVlNDFjNGU0NzM5NTczYTE3NmI2ZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5oCkBAIC0yMTMsNiArMjEzLDgg
QEAgcHJpdmF0ZToKICAgICB1bnNpZ25lZCBzaG9ydCBtX3RydW5jYXRpb24geyBjTm9UcnVuY2F0
aW9uIH07CiB9OwogCitMYXlvdXRSZWN0IHNuYXBwZWRTZWxlY3Rpb25SZWN0KGNvbnN0IExheW91
dFJlY3QmLCBmbG9hdCBsb2dpY2FsUmlnaHQsIGZsb2F0IHNlbGVjdGlvblRvcCwgZmxvYXQgc2Vs
ZWN0aW9uSGVpZ2h0LCBib29sIGlzSG9yaXpvbnRhbCk7CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKIAogU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19JTkxJTkVfQk9YKElubGluZVRleHRCb3gsIGlz
SW5saW5lVGV4dEJveCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Np
bXBsZUxpbmVMYXlvdXRGdW5jdGlvbnMuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Np
bXBsZUxpbmVMYXlvdXRGdW5jdGlvbnMuY3BwCmluZGV4IDU3NzlkM2VjYTAzMWZmMTc3MjI4ODNl
NTcwZjE1NTg5NjcwZDIyNGYuLjg1ZDk3MzQwYTM5MDVhYjNmNWRlZjZkNGY2Mzc2MDQ0YmQ3MjJl
YmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0
RnVuY3Rpb25zLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxh
eW91dEZ1bmN0aW9ucy5jcHAKQEAgLTIzMiw2ICsyMzIsNyBAQCBWZWN0b3I8RmxvYXRRdWFkPiBj
b2xsZWN0QWJzb2x1dGVRdWFkc0ZvclJhbmdlKGNvbnN0IFJlbmRlck9iamVjdCYgcmVuZGVyZXIs
IHVucwogICAgICAgICBhdXRvIGxvY2FsRW5kID0gc3RkOjptaW4ocnVuLmVuZCgpLCBlbmQpIC0g
cnVuLnN0YXJ0KCk7CiAgICAgICAgIEFTU0VSVChsb2NhbFN0YXJ0IDw9IGxvY2FsRW5kKTsKICAg
ICAgICAgc3R5bGUuZm9udENhc2NhZGUoKS5hZGp1c3RTZWxlY3Rpb25SZWN0Rm9yVGV4dCh0ZXh0
UnVuLCBydW5SZWN0LCBsb2NhbFN0YXJ0LCBsb2NhbEVuZCk7CisgICAgICAgIHJ1blJlY3QgPSBz
bmFwcGVkU2VsZWN0aW9uUmVjdChydW5SZWN0LCBydW4ubG9naWNhbFJpZ2h0KCksIHJ1blJlY3Qu
eSgpLCBydW5SZWN0LmhlaWdodCgpLCB0cnVlIC8qIGlzSG9yaXpvbnRhbCAqLyk7CiAgICAgICAg
IHF1YWRzLmFwcGVuZChyZW5kZXJlci5sb2NhbFRvQWJzb2x1dGVRdWFkKEZsb2F0UXVhZChydW5S
ZWN0KSwgVXNlVHJhbnNmb3Jtcywgd2FzRml4ZWQpKTsKICAgICB9CiAgICAgcmV0dXJuIHF1YWRz
OwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDJh
NDkwMzUzY2RmOTk3NzhjYTM2MGFlNmNkMjNhNGFlMjhlMGFkZjkuLjlhOGRlYzhmYjA5ODVkYTBj
ZTMyZDcyMmRlODA1NzU0NjhhY2Q2NjQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysg
Yi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAyMC0wMS0wNiAgRGFuaWVsIEJh
dGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CisKKyAgICAgICAgUHJlY2lzaW9uIG9mIGdldENsaWVu
dFJlY3RzKCksIGdldEJvdW5kaW5nQ2xpZW50UmVjdCgpIGRpZmZlcnMgZGVwZW5kaW5nIHdoZXRo
ZXIgc2ltcGxlIGxpbmUgbGF5b3V0IG9yIGxpbmUgYm94IGxheW91dCBpcyB1c2VkCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDU1NjMKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzU4MTY1NTI4PgorCisgICAgICAgIFJldmlld2VkIGJ5IFphbGFuIEJ1
anRhcy4KKworICAgICAgICBVcGRhdGUgdGVzdCByZXN1bHRzLgorCisgICAgICAgICogVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Eb2N1bWVudEVkaXRpbmdDb250ZXh0Lm1tOgorICAg
ICAgICAoVEVTVCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9pb3MvQWNjZXNzaWJp
bGl0eVRlc3RzSU9TLm1tOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAg
ICogVGVzdFdlYktpdEFQSS9UZXN0cy9pb3MvQXV0b2NvcnJlY3Rpb25UZXN0c0lPUy5tbToKKyAg
ICAgICAgKFRFU1QpOgorCiAyMDE5LTEwLTAyICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxl
LmNvbT4KIAogICAgICAgICBbbGxkYi13ZWJraXRdIEFkZCBzdXBwb3J0IGZvciBwcmV0dHktcHJp
bnRpbmcgY29tcGxleCBiaXRtYXNrcyAKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Q29jb2EvRG9jdW1lbnRFZGl0aW5nQ29udGV4dC5tbSBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvRG9jdW1lbnRFZGl0aW5nQ29udGV4dC5tbQppbmRl
eCBjYWM3NTI3Nzk1YjI1ZWNjMDNhZWY4MDJiNzdiYmUzYTk5ZWQ5OGM1Li4xZGEwNTUyYzFiZDY3
Nzc2MGY0NmU2NGJhZjgzOGQ1NGExZGRkNDQyIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdENvY29hL0RvY3VtZW50RWRpdGluZ0NvbnRleHQubW0KKysrIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Eb2N1bWVudEVkaXRpbmdDb250ZXh0
Lm1tCkBAIC0zMjQsNyArMzI0LDcgQEAgVEVTVChEb2N1bWVudEVkaXRpbmdDb250ZXh0LCBSZXF1
ZXN0TWFya2VkVGV4dCkKICAgICAgICAgICAgIEVYUEVDVF9FUShDR1JlY3RNYWtlKDU5LCA4LCA5
LCAxOSksIFtyZWN0VmFsdWVzWzFdIENHUmVjdFZhbHVlXSk7CiAgICAgICAgICAgICBFWFBFQ1Rf
RVEoQ0dSZWN0TWFrZSg2NywgOCwgNiwgMTkpLCBbcmVjdFZhbHVlc1syXSBDR1JlY3RWYWx1ZV0p
OwogICAgICAgICAgICAgRVhQRUNUX0VRKENHUmVjdE1ha2UoNzIsIDgsIDUsIDE5KSwgW3JlY3RW
YWx1ZXNbM10gQ0dSZWN0VmFsdWVdKTsKLSAgICAgICAgICAgIEVYUEVDVF9FUShDR1JlY3RNYWtl
KDc2LCA4LCA5LCAxOSksIFtyZWN0VmFsdWVzWzRdIENHUmVjdFZhbHVlXSk7CisgICAgICAgICAg
ICBFWFBFQ1RfRVEoQ0dSZWN0TWFrZSg3NiwgOCwgOCwgMTkpLCBbcmVjdFZhbHVlc1s0XSBDR1Jl
Y3RWYWx1ZV0pOwogICAgICAgICB9CiAgICAgfQogICAgIFtjb250ZW50VmlldyB1bm1hcmtUZXh0
XTsKQEAgLTM2OCw3ICszNjgsNyBAQCBURVNUKERvY3VtZW50RWRpdGluZ0NvbnRleHQsIFJlcXVl
c3RNYXJrZWRUZXh0KQogICAgICAgICBpZiAocmVjdFZhbHVlcy5jb3VudCA+PSAzKSB7CiAgICAg
ICAgICAgICBFWFBFQ1RfRVEoQ0dSZWN0TWFrZSg4LCA4LCA2LCAxOSksIFtyZWN0VmFsdWVzWzBd
IENHUmVjdFZhbHVlXSk7CiAgICAgICAgICAgICBFWFBFQ1RfRVEoQ0dSZWN0TWFrZSgxMywgOCwg
OSwgMTkpLCBbcmVjdFZhbHVlc1sxXSBDR1JlY3RWYWx1ZV0pOwotICAgICAgICAgICAgRVhQRUNU
X0VRKENHUmVjdE1ha2UoMjEsIDgsIDksIDE5KSwgW3JlY3RWYWx1ZXNbMl0gQ0dSZWN0VmFsdWVd
KTsKKyAgICAgICAgICAgIEVYUEVDVF9FUShDR1JlY3RNYWtlKDIxLCA4LCA4LCAxOSksIFtyZWN0
VmFsdWVzWzJdIENHUmVjdFZhbHVlXSk7CiAgICAgICAgIH0KICAgICB9CiAgICAgW2NvbnRlbnRW
aWV3IHVubWFya1RleHRdOwpAQCAtMzg5LDcgKzM4OSw3IEBAIFRFU1QoRG9jdW1lbnRFZGl0aW5n
Q29udGV4dCwgUmVxdWVzdE1hcmtlZFRleHQpCiAgICAgICAgIGlmIChyZWN0VmFsdWVzLmNvdW50
ID49IDMpIHsKICAgICAgICAgICAgIEVYUEVDVF9FUShDR1JlY3RNYWtlKDI5LCA4LCA5LCAxOSks
IFtyZWN0VmFsdWVzWzBdIENHUmVjdFZhbHVlXSk7CiAgICAgICAgICAgICBFWFBFQ1RfRVEoQ0dS
ZWN0TWFrZSgzNywgOCwgOCwgMTkpLCBbcmVjdFZhbHVlc1sxXSBDR1JlY3RWYWx1ZV0pOwotICAg
ICAgICAgICAgRVhQRUNUX0VRKENHUmVjdE1ha2UoNDQsIDgsIDYsIDE5KSwgW3JlY3RWYWx1ZXNb
Ml0gQ0dSZWN0VmFsdWVdKTsKKyAgICAgICAgICAgIEVYUEVDVF9FUShDR1JlY3RNYWtlKDQ0LCA4
LCA1LCAxOSksIFtyZWN0VmFsdWVzWzJdIENHUmVjdFZhbHVlXSk7CiAgICAgICAgIH0KICAgICB9
CiB9CkBAIC00MzQsMTIgKzQzNCwxMiBAQCBURVNUKERvY3VtZW50RWRpdGluZ0NvbnRleHQsIFNw
YXRpYWxSZXF1ZXN0SW5UZXh0RmllbGQpCiAgICAgICAgIEVYUEVDVF9FUShDR1JlY3RNYWtlKDE5
LCA5LCA4LCAxOSksIHRleHRSZWN0c1sxXS5DR1JlY3RWYWx1ZSk7CiAgICAgICAgIEVYUEVDVF9F
UShDR1JlY3RNYWtlKDI2LCA5LCA2LCAxOSksIHRleHRSZWN0c1syXS5DR1JlY3RWYWx1ZSk7CiAg
ICAgICAgIEVYUEVDVF9FUShDR1JlY3RNYWtlKDMxLCA5LCA1LCAxOSksIHRleHRSZWN0c1szXS5D
R1JlY3RWYWx1ZSk7Ci0gICAgICAgIEVYUEVDVF9FUShDR1JlY3RNYWtlKDM1LCA5LCA5LCAxOSks
IHRleHRSZWN0c1s0XS5DR1JlY3RWYWx1ZSk7CisgICAgICAgIEVYUEVDVF9FUShDR1JlY3RNYWtl
KDM1LCA5LCA4LCAxOSksIHRleHRSZWN0c1s0XS5DR1JlY3RWYWx1ZSk7CiAgICAgICAgIEVYUEVD
VF9FUShDR1JlY3RNYWtlKDE4MiwgOSwgMTMsIDE5KSwgdGV4dFJlY3RzWzVdLkNHUmVjdFZhbHVl
KTsKICAgICAgICAgRVhQRUNUX0VRKENHUmVjdE1ha2UoMTk0LCA5LCA5LCAxOSksIHRleHRSZWN0
c1s2XS5DR1JlY3RWYWx1ZSk7CiAgICAgICAgIEVYUEVDVF9FUShDR1JlY3RNYWtlKDIwMiwgOSwg
NiwgMTkpLCB0ZXh0UmVjdHNbN10uQ0dSZWN0VmFsdWUpOwogICAgICAgICBFWFBFQ1RfRVEoQ0dS
ZWN0TWFrZSgyMDcsIDksIDYsIDE5KSwgdGV4dFJlY3RzWzhdLkNHUmVjdFZhbHVlKTsKLSAgICAg
ICAgRVhQRUNUX0VRKENHUmVjdE1ha2UoMjEyLCA5LCA5LCAxOSksIHRleHRSZWN0c1s5XS5DR1Jl
Y3RWYWx1ZSk7CisgICAgICAgIEVYUEVDVF9FUShDR1JlY3RNYWtlKDIxMiwgOSwgOCwgMTkpLCB0
ZXh0UmVjdHNbOV0uQ0dSZWN0VmFsdWUpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9pb3MvQWNjZXNzaWJpbGl0eVRlc3RzSU9TLm1tIGIvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9pb3MvQWNjZXNzaWJpbGl0eVRlc3RzSU9TLm1tCmluZGV4IDdl
OTU2NjNhNGNkNzBiMzU3M2RiYzY5MjQ0ZjkxM2EwOGQ3OWE0ZmYuLjRjNDYwYmUyMGRjYjQ5NDZm
OTZmODlmOGFkNWVmZGRkNDFiYmVmMGMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvaW9zL0FjY2Vzc2liaWxpdHlUZXN0c0lPUy5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL2lvcy9BY2Nlc3NpYmlsaXR5VGVzdHNJT1MubW0KQEAgLTY4LDkgKzY4LDkgQEAg
VEVTVChBY2Nlc3NpYmlsaXR5VGVzdHMsIFJlY3RzRm9yU3BlYWtpbmdTZWxlY3Rpb25CYXNpYykK
ICAgICBbd2ViVmlldyBzeW5jaHJvbm91c2x5TG9hZEhUTUxTdHJpbmc6QCI8bWV0YSBuYW1lPSd2
aWV3cG9ydCcgY29udGVudD0nd2lkdGg9ZGV2aWNlLXdpZHRoLGluaXRpYWwtc2NhbGU9MSc+PHNw
YW4gaWQ9J2ZpcnN0Jz5maXJzdDwvc3Bhbj48c3BhbiBpZD0nc2Vjb25kJz4gc2Vjb25kPC9zcGFu
Pjxicj48c3BhbiBpZD0ndGhpcmQnPiB0aGlyZDwvc3Bhbj4iXTsKICAgICBbd2ViVmlldyBzdHJp
bmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAiZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ1NlbGVjdEFs
bCcpIl07CiAKLSAgICBjaGVja0NHUmVjdFZhbHVlQXRJbmRleChbd2ViVmlldyByZWN0c0F0U2Vs
ZWN0aW9uT2Zmc2V0OjAgd2l0aFRleHQ6QCJmaXJzdCJdLCBDR1JlY3RNYWtlKDgsIDgsIDI2LCAx
OSksIDApOwotICAgIGNoZWNrQ0dSZWN0VmFsdWVBdEluZGV4KFt3ZWJWaWV3IHJlY3RzQXRTZWxl
Y3Rpb25PZmZzZXQ6NiB3aXRoVGV4dDpAInNlY29uZCJdLCBDR1JlY3RNYWtlKDM3LCA4LCA0Niwg
MTkpLCAwKTsKLSAgICBjaGVja0NHUmVjdFZhbHVlQXRJbmRleChbd2ViVmlldyByZWN0c0F0U2Vs
ZWN0aW9uT2Zmc2V0OjEzIHdpdGhUZXh0OkAidGhpcmQiXSwgQ0dSZWN0TWFrZSg4LCAyNywgMzEs
IDIwKSwgMCk7CisgICAgY2hlY2tDR1JlY3RWYWx1ZUF0SW5kZXgoW3dlYlZpZXcgcmVjdHNBdFNl
bGVjdGlvbk9mZnNldDowIHdpdGhUZXh0OkAiZmlyc3QiXSwgQ0dSZWN0TWFrZSg4LCA4LCAyNSwg
MTkpLCAwKTsKKyAgICBjaGVja0NHUmVjdFZhbHVlQXRJbmRleChbd2ViVmlldyByZWN0c0F0U2Vs
ZWN0aW9uT2Zmc2V0OjYgd2l0aFRleHQ6QCJzZWNvbmQiXSwgQ0dSZWN0TWFrZSgzNywgOCwgNDUs
IDE5KSwgMCk7CisgICAgY2hlY2tDR1JlY3RWYWx1ZUF0SW5kZXgoW3dlYlZpZXcgcmVjdHNBdFNl
bGVjdGlvbk9mZnNldDoxMyB3aXRoVGV4dDpAInRoaXJkIl0sIENHUmVjdE1ha2UoOCwgMjcsIDMw
LCAyMCksIDApOwogfQogCiBURVNUKEFjY2Vzc2liaWxpdHlUZXN0cywgUmVjdHNGb3JTcGVha2lu
Z1NlbGVjdGlvbldpdGhMaW5lV3JhcHBpbmcpCkBAIC04NCw3ICs4NCw3IEBAIFRFU1QoQWNjZXNz
aWJpbGl0eVRlc3RzLCBSZWN0c0ZvclNwZWFraW5nU2VsZWN0aW9uV2l0aExpbmVXcmFwcGluZykK
ICAgICBjaGVja0NHUmVjdFZhbHVlQXRJbmRleChyZWN0cywgQ0dSZWN0TWFrZSg4LCAxMjIsIDMw
NCwgMTE3KSwgMSk7CiAgICAgY2hlY2tDR1JlY3RWYWx1ZUF0SW5kZXgocmVjdHMsIENHUmVjdE1h
a2UoOCwgMjM5LCAzMDQsIDExNyksIDIpOwogICAgIGNoZWNrQ0dSZWN0VmFsdWVBdEluZGV4KHJl
Y3RzLCBDR1JlY3RNYWtlKDgsIDM1NiwgMzA0LCAxMTcpLCAzKTsKLSAgICBjaGVja0NHUmVjdFZh
bHVlQXRJbmRleChyZWN0cywgQ0dSZWN0TWFrZSg4LCA0NzMsIDE0NSwgMTE3KSwgNCk7CisgICAg
Y2hlY2tDR1JlY3RWYWx1ZUF0SW5kZXgocmVjdHMsIENHUmVjdE1ha2UoOCwgNDczLCAxNDQsIDEx
NyksIDQpOwogfQogCiBURVNUKEFjY2Vzc2liaWxpdHlUZXN0cywgUmVjdHNGb3JTcGVha2luZ1Nl
bGVjdGlvbkRvTm90Q3Jhc2hXaGVuQ2hhbmdpbmdTZWxlY3Rpb24pCkBAIC0xMDksMTQgKzEwOSwx
NCBAQCBURVNUKEFjY2Vzc2liaWxpdHlUZXN0cywgU3RvcmVTZWxlY3Rpb24pCiAgICAgLy8gU2Vs
ZWN0IGZpcnN0IG5vZGUgYW5kIHN0b3JlIHRoZSBzZWxlY3Rpb24KICAgICBbd2ViVmlldyBzdHJp
bmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAiZ2V0U2VsZWN0aW9uKCkuc2V0QmFzZUFuZEV4dGVu
dChmaXJzdCwgMCwgZmlyc3QsIDEpIl07CiAgICAgW3dlYlZpZXcgX2FjY2Vzc2liaWxpdHlTdG9y
ZVNlbGVjdGlvbl07Ci0gICAgY2hlY2tDR1JlY3RWYWx1ZUF0SW5kZXgoW3dlYlZpZXcgcmVjdHNB
dFNlbGVjdGlvbk9mZnNldDowIHdpdGhUZXh0OkAiZmlyc3QiXSwgQ0dSZWN0TWFrZSg4LCA4LCAy
NiwgMTkpLCAwKTsKKyAgICBjaGVja0NHUmVjdFZhbHVlQXRJbmRleChbd2ViVmlldyByZWN0c0F0
U2VsZWN0aW9uT2Zmc2V0OjAgd2l0aFRleHQ6QCJmaXJzdCJdLCBDR1JlY3RNYWtlKDgsIDgsIDI1
LCAxOSksIDApOwogICAgIC8vIE5vdyBzZWxlY3QgdGhlIHNlY29uZCBub2RlLCB3ZSBzaG91bGQg
dXNlIHRoZSBzdG9yZWQgc2VsZWN0aW9uIHRvIHJldHJpZXZlIHJlY3RzCiAgICAgW3dlYlZpZXcg
c3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAImdldFNlbGVjdGlvbigpLnNldEJhc2VBbmRF
eHRlbnQoc2Vjb25kLCAwLCBzZWNvbmQsIDEpIl07Ci0gICAgY2hlY2tDR1JlY3RWYWx1ZUF0SW5k
ZXgoW3dlYlZpZXcgcmVjdHNBdFNlbGVjdGlvbk9mZnNldDowIHdpdGhUZXh0OkAiZmlyc3QiXSwg
Q0dSZWN0TWFrZSg4LCA4LCAyNiwgMTkpLCAwKTsKKyAgICBjaGVja0NHUmVjdFZhbHVlQXRJbmRl
eChbd2ViVmlldyByZWN0c0F0U2VsZWN0aW9uT2Zmc2V0OjAgd2l0aFRleHQ6QCJmaXJzdCJdLCBD
R1JlY3RNYWtlKDgsIDgsIDI1LCAxOSksIDApOwogICAgIAogICAgIC8vIENsZWFyIHRoZSBzdG9y
ZWQgc2VsZWN0aW9uLCB3ZSBzaG91bGQgdXNlIHRoZSBjdXJyZW50IHNlbGVjdGlvbiB0byByZXRy
aWV2ZSByZWN0cwogICAgIFt3ZWJWaWV3IF9hY2Nlc3NpYmlsaXR5Q2xlYXJTZWxlY3Rpb25dOwot
ICAgIGNoZWNrQ0dSZWN0VmFsdWVBdEluZGV4KFt3ZWJWaWV3IHJlY3RzQXRTZWxlY3Rpb25PZmZz
ZXQ6MCB3aXRoVGV4dDpAImZpcnN0Il0sIENHUmVjdE1ha2UoOCwgMjcsIDI2LCAyMCksIDApOwor
ICAgIGNoZWNrQ0dSZWN0VmFsdWVBdEluZGV4KFt3ZWJWaWV3IHJlY3RzQXRTZWxlY3Rpb25PZmZz
ZXQ6MCB3aXRoVGV4dDpAImZpcnN0Il0sIENHUmVjdE1ha2UoOCwgMjcsIDI1LCAyMCksIDApOwog
fQogCiBURVNUKEFjY2Vzc2liaWxpdHlUZXN0cywgV2ViUHJvY2Vzc0xvYWRlckJ1bmRsZUxvYWRl
ZCkKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvaW9zL0F1dG9jb3JyZWN0
aW9uVGVzdHNJT1MubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL2lvcy9BdXRvY29ycmVj
dGlvblRlc3RzSU9TLm1tCmluZGV4IGUyNDRmYTNmMjM0ODgzNzc5MTllODhiMGY0MzIwOGIyZDM3
MWRiNTQuLjljNTE2Y2I4YjJmZjRiZTM3MzZkYjI2OWMxN2QzMTRiNzIwOTVlOTcgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvaW9zL0F1dG9jb3JyZWN0aW9uVGVzdHNJT1Mu
bW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9pb3MvQXV0b2NvcnJlY3Rpb25UZXN0
c0lPUy5tbQpAQCAtNzcsOCArNzcsOCBAQCBURVNUKEF1dG9jb3JyZWN0aW9uVGVzdHMsIEZvbnRB
dENhcmV0V2hlblVzaW5nVUlDVEZvbnRUZXh0U3R5bGUpCiAgICAgW3dlYlZpZXcgX2V4ZWN1dGVF
ZGl0Q29tbWFuZDpAIk1vdmVUb0VuZE9mTGluZSIgYXJndW1lbnQ6bmlsIGNvbXBsZXRpb246bmls
XTsKIAogICAgIGF1dG8gYXV0b2NvcnJlY3Rpb25SZWN0cyA9IHJldGFpblB0cihbd2ViVmlldyBh
dXRvY29ycmVjdGlvblJlY3RzRm9yU3RyaW5nOkAiV3VsayJdKTsKLSAgICBjaGVja0NHUmVjdElz
RXF1YWxUb0NHUmVjdFdpdGhMb2dnaW5nKENHUmVjdE1ha2UoOCwgOCwgMzYsIDIxKSwgW2F1dG9j
b3JyZWN0aW9uUmVjdHMgZmlyc3RSZWN0XSk7Ci0gICAgY2hlY2tDR1JlY3RJc0VxdWFsVG9DR1Jl
Y3RXaXRoTG9nZ2luZyhDR1JlY3RNYWtlKDgsIDgsIDM2LCAyMSksIFthdXRvY29ycmVjdGlvblJl
Y3RzIGxhc3RSZWN0XSk7CisgICAgY2hlY2tDR1JlY3RJc0VxdWFsVG9DR1JlY3RXaXRoTG9nZ2lu
ZyhDR1JlY3RNYWtlKDgsIDgsIDM1LCAyMSksIFthdXRvY29ycmVjdGlvblJlY3RzIGZpcnN0UmVj
dF0pOworICAgIGNoZWNrQ0dSZWN0SXNFcXVhbFRvQ0dSZWN0V2l0aExvZ2dpbmcoQ0dSZWN0TWFr
ZSg4LCA4LCAzNSwgMjEpLCBbYXV0b2NvcnJlY3Rpb25SZWN0cyBsYXN0UmVjdF0pOwogCiAgICAg
YXV0byBjb250ZW50VmlldyA9IFt3ZWJWaWV3IHRleHRJbnB1dENvbnRlbnRWaWV3XTsKICAgICBV
SUZvbnQgKmZvbnRCZWZvcmVTY2FsaW5nID0gW2NvbnRlbnRWaWV3IGZvbnRGb3JDYXJldFNlbGVj
dGlvbl07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggNTFiN2NjMmQ0OGY2NGE2ZWUzOTA0OTM3MmI1ZjlmZTA0NDYzYWQxOC4u
YjU4ZmY4ZTFkOTYyMjZjOGE5YjQwMjU5MGJhYjZjN2JiNzI0MjUyNiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE5IEBACisyMDIwLTAxLTA2ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKwor
ICAgICAgICBQcmVjaXNpb24gb2YgZ2V0Q2xpZW50UmVjdHMoKSwgZ2V0Qm91bmRpbmdDbGllbnRS
ZWN0KCkgZGlmZmVycyBkZXBlbmRpbmcgd2hldGhlciBzaW1wbGUgbGluZSBsYXlvdXQgb3IgbGlu
ZSBib3ggbGF5b3V0IGlzIHVzZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwNTU2MworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTgxNjU1Mjg+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgWmFsYW4gQnVqdGFzLgorCisgICAgICAgIFVwZGF0ZSBleHBl
Y3RlZCByZXN1bHQgbm93IHRoYXQgc2ltcGxlIGxpbmUgbGF5b3V0IGNvbXB1dGVzIGEgY2xpZW50
IHJlY3QgdGhhdCBtYXRjaGVzCisgICAgICAgIHRoZSByZWN0IHRoZSBsaW5lIGxheW91dCBjb2Rl
IGNvbXB1dGVzLgorCisgICAgICAgICogZmFzdC9kb20vUmFuZ2UvZ2V0Q2xpZW50UmVjdHMtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZG9tL1JhbmdlL2dldENsaWVudFJlY3RzLmh0bWw6
CisgICAgICAgICogZmFzdC9kb20vUmFuZ2UvbWFjL2dldENsaWVudFJlY3RzLWFuZC1nZXRCb3Vu
ZGluZ0NsaWVudFJlY3QtYmVmb3JlLWFuZC1hZnRlci1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIGZhc3QvcmVwYWludC90ZXh0LXNlbGVjdGlvbi1vdmVyZmxvdy1oaWRkZW4tZXhw
ZWN0ZWQudHh0OgorCiAyMDE5LTEyLTIzICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNv
bT4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMjEyNjkzKTogZ2V0Q2xpZW50UmVjdHMoKSwgZ2V0
Qm91bmRpbmdDbGllbnRSZWN0KCkgZm9yIHJhbmdlIHRoYXQgc3BhbnMgbXVsdGktbGluZXMgZGlm
ZmVycyBkZXBlbmRpbmcgb24gd2hldGhlciB0ZXh0IGlzIHNlbGVjdGVkCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9SYW5nZS9nZXRDbGllbnRSZWN0cy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9SYW5nZS9nZXRDbGllbnRSZWN0cy1leHBlY3RlZC50eHQKaW5k
ZXggZGMxZmFmNjZiY2Q5M2EyNjJiMGZiNGFmYWQwNDMzYjA3M2UwMWY5YS4uZGM0YjRlNzAxNmEy
NjE1ZjNmZWUwYzM4NmQzZmY1ZjEwMWQ0NmRjMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vUmFuZ2UvZ2V0Q2xpZW50UmVjdHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL1JhbmdlL2dldENsaWVudFJlY3RzLWV4cGVjdGVkLnR4dApAQCAtNDAsOSArNDAs
OSBAQCBQQVNTIHJlY3RzWzNdLndpZHRoLnRvRml4ZWQoMikgaXMgIjM2OC4zNiIKIFBBU1MgcmVj
dHNbM10uaGVpZ2h0LnRvRml4ZWQoMikgaXMgIjE4LjAwIgogVGVzdCAzCiBQQVNTIHJlY3RzLmxl
bmd0aCBpcyA0Ci1QQVNTIHJlY3RzWzBdLmxlZnQudG9GaXhlZCgyKSBpcyAiODEuMzEiCitQQVNT
IHJlY3RzWzBdLmxlZnQudG9GaXhlZCgyKSBpcyAiODEuMDAiCiBQQVNTIHJlY3RzWzBdLnRvcC50
b0ZpeGVkKDIpIGlzICI0MTEuMDAiCi1QQVNTIHJlY3RzWzBdLndpZHRoLnRvRml4ZWQoMikgaXMg
IjMxMy4yNyIKK1BBU1MgcmVjdHNbMF0ud2lkdGgudG9GaXhlZCgyKSBpcyAiMzEzLjAwIgogUEFT
UyByZWN0c1swXS5oZWlnaHQudG9GaXhlZCgyKSBpcyAiMTguMDAiCiBQQVNTIHJlY3RzWzFdLmxl
ZnQudG9GaXhlZCgyKSBpcyAiOC4wMCIKIFBBU1MgcmVjdHNbMV0udG9wLnRvRml4ZWQoMikgaXMg
IjQ1MS4wMCIKQEAgLTU0LDcgKzU0LDcgQEAgUEFTUyByZWN0c1syXS53aWR0aC50b0ZpeGVkKDIp
IGlzICIzODEuMjUiCiBQQVNTIHJlY3RzWzJdLmhlaWdodC50b0ZpeGVkKDIpIGlzICIxOC4wMCIK
IFBBU1MgcmVjdHNbM10ubGVmdC50b0ZpeGVkKDIpIGlzICI4LjAwIgogUEFTUyByZWN0c1szXS50
b3AudG9GaXhlZCgyKSBpcyAiNTMxLjAwIgotUEFTUyByZWN0c1szXS53aWR0aC50b0ZpeGVkKDIp
IGlzICIxNDYuNjYiCitQQVNTIHJlY3RzWzNdLndpZHRoLnRvRml4ZWQoMikgaXMgIjE0Ny4wMCIK
IFBBU1MgcmVjdHNbM10uaGVpZ2h0LnRvRml4ZWQoMikgaXMgIjE4LjAwIgogVGVzdCA0CiBQQVNT
IHJlY3RzLmxlbmd0aCBpcyA3CkBAIC05MCw3ICs5MCw3IEBAIFRlc3QgNQogUEFTUyByZWN0cy5s
ZW5ndGggaXMgNQogUEFTUyByZWN0c1swXS5sZWZ0LnRvRml4ZWQoMikgaXMgIjgxLjAwIgogUEFT
UyByZWN0c1swXS50b3AudG9GaXhlZCgyKSBpcyAiOTIxLjAwIgotUEFTUyByZWN0c1swXS53aWR0
aC50b0ZpeGVkKDIpIGlzICIzMTMuNTgiCitQQVNTIHJlY3RzWzBdLndpZHRoLnRvRml4ZWQoMikg
aXMgIjMxMy4wMCIKIFBBU1MgcmVjdHNbMF0uaGVpZ2h0LnRvRml4ZWQoMikgaXMgIjE4LjAwIgog
UEFTUyByZWN0c1sxXS5sZWZ0LnRvRml4ZWQoMikgaXMgIjguMDAiCiBQQVNTIHJlY3RzWzFdLnRv
cC50b0ZpeGVkKDIpIGlzICIxMDM5LjAwIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vUmFuZ2UvZ2V0Q2xpZW50UmVjdHMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1Jhbmdl
L2dldENsaWVudFJlY3RzLmh0bWwKaW5kZXggOTI3ZDdkMzAzMjk4OTIwZTA1MzI4YTZkNzA5MTI1
Nzk2ODYxOTJkYS4uNWVkM2U2ODZiZTIyMGIyMTZhYmEwZDNiYjY4NjQ1MTVmMTliODZiYSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vUmFuZ2UvZ2V0Q2xpZW50UmVjdHMuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9SYW5nZS9nZXRDbGllbnRSZWN0cy5odG1sCkBAIC0x
ODUsOSArMTg1LDkgQEAKICAgICBzaG93KHJhbmdlMyk7CiAgICAgcmVjdHMgPSByYW5nZTMuZ2V0
Q2xpZW50UmVjdHMoKTsKICAgICBzaG91bGRCZSgicmVjdHMubGVuZ3RoIiwgIjQiKTsKLSAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInJlY3RzWzBdLmxlZnQudG9GaXhlZCgyKSIsICI4MS4zMSIp
OworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygicmVjdHNbMF0ubGVmdC50b0ZpeGVkKDIpIiwg
IjgxLjAwIik7CiAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJyZWN0c1swXS50b3AudG9GaXhl
ZCgyKSIsICI0MTEuMDAiKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInJlY3RzWzBdLndp
ZHRoLnRvRml4ZWQoMikiLCAiMzEzLjI3Iik7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJy
ZWN0c1swXS53aWR0aC50b0ZpeGVkKDIpIiwgIjMxMy4wMCIpOwogICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygicmVjdHNbMF0uaGVpZ2h0LnRvRml4ZWQoMikiLCAiMTguMDAiKTsKICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInJlY3RzWzFdLmxlZnQudG9GaXhlZCgyKSIsICI4LjAwIik7CiAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJyZWN0c1sxXS50b3AudG9GaXhlZCgyKSIsICI0NTEu
MDAiKTsKQEAgLTE5OSw3ICsxOTksNyBAQAogICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygicmVj
dHNbMl0uaGVpZ2h0LnRvRml4ZWQoMikiLCAiMTguMDAiKTsKICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInJlY3RzWzNdLmxlZnQudG9GaXhlZCgyKSIsICI4LjAwIik7CiAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJyZWN0c1szXS50b3AudG9GaXhlZCgyKSIsICI1MzEuMDAiKTsKLSAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInJlY3RzWzNdLndpZHRoLnRvRml4ZWQoMikiLCAiMTQ2LjY2
Iik7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJyZWN0c1szXS53aWR0aC50b0ZpeGVkKDIp
IiwgIjE0Ny4wMCIpOwogICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygicmVjdHNbM10uaGVpZ2h0
LnRvRml4ZWQoMikiLCAiMTguMDAiKTsKIAogICAgIC8vIFRlc3QgNCAtIFNob3VsZCBub3QgaW5j
bHVkZSByZWN0IG9mIHRoZSBpbWcuCkBAIC0yNDgsNyArMjQ4LDcgQEAKICAgICBzaG91bGRCZSgi
cmVjdHMubGVuZ3RoIiwgIjUiKTsKICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInJlY3RzWzBd
LmxlZnQudG9GaXhlZCgyKSIsICI4MS4wMCIpOwogICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
cmVjdHNbMF0udG9wLnRvRml4ZWQoMikiLCAiOTIxLjAwIik7Ci0gICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJyZWN0c1swXS53aWR0aC50b0ZpeGVkKDIpIiwgIjMxMy41OCIpOworICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygicmVjdHNbMF0ud2lkdGgudG9GaXhlZCgyKSIsICIzMTMuMDAiKTsK
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInJlY3RzWzBdLmhlaWdodC50b0ZpeGVkKDIpIiwg
IjE4LjAwIik7CiAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJyZWN0c1sxXS5sZWZ0LnRvRml4
ZWQoMikiLCAiOC4wMCIpOwogICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygicmVjdHNbMV0udG9w
LnRvRml4ZWQoMikiLCAiMTAzOS4wMCIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vUmFuZ2UvbWFjL2dldENsaWVudFJlY3RzLWFuZC1nZXRCb3VuZGluZ0NsaWVudFJlY3QtYmVm
b3JlLWFuZC1hZnRlci1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vUmFuZ2UvbWFjL2dldENsaWVudFJlY3RzLWFuZC1nZXRCb3VuZGluZ0NsaWVudFJlY3QtYmVm
b3JlLWFuZC1hZnRlci1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CmluZGV4IGJhZGJhMGVmZDIzZmY1
NmE3NmNlMjYyYzFjMWMwYzdiMjVjN2I2MDcuLjk1ODJmNTdiMWM0YmI2NjQwZTc1MDZmOWJkMWRj
OTVhMzFmZGMxNTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1JhbmdlL21hYy9n
ZXRDbGllbnRSZWN0cy1hbmQtZ2V0Qm91bmRpbmdDbGllbnRSZWN0LWJlZm9yZS1hbmQtYWZ0ZXIt
c2VsZWN0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9SYW5nZS9t
YWMvZ2V0Q2xpZW50UmVjdHMtYW5kLWdldEJvdW5kaW5nQ2xpZW50UmVjdC1iZWZvcmUtYW5kLWFm
dGVyLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTYsOSArNiw5IEBAIE9uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFCiAKIEJlZm9yZSBzZWxlY3Rpb246CiBQQVNTIHJhbmdlLmdldENsaWVudFJlY3Rz
KCkubGVuZ3RoIGlzIDIKLUZBSUwgSlNPTi5zdHJpbmdpZnkocmFuZ2UuZ2V0Q2xpZW50UmVjdHMo
KVswXSkgc2hvdWxkIGJlIHsieCI6MTYzLCJ5Ijo4LCJ3aWR0aCI6MCwiaGVpZ2h0IjoxOCwidG9w
Ijo4LCJyaWdodCI6MTYzLCJib3R0b20iOjI2LCJsZWZ0IjoxNjN9LiBXYXMgeyJ4IjoxNjMuOTUz
MTI1LCJ5Ijo4LCJ3aWR0aCI6MCwiaGVpZ2h0IjoxOCwidG9wIjo4LCJyaWdodCI6MTYzLjk1MzEy
NSwiYm90dG9tIjoyNiwibGVmdCI6MTYzLjk1MzEyNX0uCi1GQUlMIEpTT04uc3RyaW5naWZ5KHJh
bmdlLmdldENsaWVudFJlY3RzKClbMV0pIHNob3VsZCBiZSB7IngiOjgsInkiOjI2LCJ3aWR0aCI6
MjksImhlaWdodCI6MTgsInRvcCI6MjYsInJpZ2h0IjozNywiYm90dG9tIjo0NCwibGVmdCI6OH0u
IFdhcyB7IngiOjgsInkiOjI2LCJ3aWR0aCI6MjguNDUzMTI1LCJoZWlnaHQiOjE4LCJ0b3AiOjI2
LCJyaWdodCI6MzYuNDUzMTI1LCJib3R0b20iOjQ0LCJsZWZ0Ijo4fS4KLUZBSUwgSlNPTi5zdHJp
bmdpZnkocmFuZ2UuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkpIHNob3VsZCBiZSB7IngiOjgsInki
OjgsIndpZHRoIjoxNTUsImhlaWdodCI6MzYsInRvcCI6OCwicmlnaHQiOjE2MywiYm90dG9tIjo0
NCwibGVmdCI6OH0uIFdhcyB7IngiOjgsInkiOjgsIndpZHRoIjoxNTUuOTUzMTI1LCJoZWlnaHQi
OjM2LCJ0b3AiOjgsInJpZ2h0IjoxNjMuOTUzMTI1LCJib3R0b20iOjQ0LCJsZWZ0Ijo4fS4KK1BB
U1MgSlNPTi5zdHJpbmdpZnkocmFuZ2UuZ2V0Q2xpZW50UmVjdHMoKVswXSkgaXMgIntcInhcIjox
NjMsXCJ5XCI6OCxcIndpZHRoXCI6MCxcImhlaWdodFwiOjE4LFwidG9wXCI6OCxcInJpZ2h0XCI6
MTYzLFwiYm90dG9tXCI6MjYsXCJsZWZ0XCI6MTYzfSIKK1BBU1MgSlNPTi5zdHJpbmdpZnkocmFu
Z2UuZ2V0Q2xpZW50UmVjdHMoKVsxXSkgaXMgIntcInhcIjo4LFwieVwiOjI2LFwid2lkdGhcIjoy
OSxcImhlaWdodFwiOjE4LFwidG9wXCI6MjYsXCJyaWdodFwiOjM3LFwiYm90dG9tXCI6NDQsXCJs
ZWZ0XCI6OH0iCitQQVNTIEpTT04uc3RyaW5naWZ5KHJhbmdlLmdldEJvdW5kaW5nQ2xpZW50UmVj
dCgpKSBpcyAie1wieFwiOjgsXCJ5XCI6OCxcIndpZHRoXCI6MTU1LFwiaGVpZ2h0XCI6MzYsXCJ0
b3BcIjo4LFwicmlnaHRcIjoxNjMsXCJib3R0b21cIjo0NCxcImxlZnRcIjo4fSIKIAogQWZ0ZXIg
c2VsZWN0aW9uOgogUEFTUyByYW5nZS5nZXRDbGllbnRSZWN0cygpLmxlbmd0aCBpcyAyCkBAIC0x
Niw3ICsxNiw2IEBAIFBBU1MgSlNPTi5zdHJpbmdpZnkocmFuZ2UuZ2V0Q2xpZW50UmVjdHMoKVsw
XSkgaXMgIntcInhcIjoxNjMsXCJ5XCI6OCxcIndpZHRoXCI6CiBQQVNTIEpTT04uc3RyaW5naWZ5
KHJhbmdlLmdldENsaWVudFJlY3RzKClbMV0pIGlzICJ7XCJ4XCI6OCxcInlcIjoyNixcIndpZHRo
XCI6MjksXCJoZWlnaHRcIjoxOCxcInRvcFwiOjI2LFwicmlnaHRcIjozNyxcImJvdHRvbVwiOjQ0
LFwibGVmdFwiOjh9IgogUEFTUyBKU09OLnN0cmluZ2lmeShyYW5nZS5nZXRCb3VuZGluZ0NsaWVu
dFJlY3QoKSkgaXMgIntcInhcIjo4LFwieVwiOjgsXCJ3aWR0aFwiOjE1NSxcImhlaWdodFwiOjM2
LFwidG9wXCI6OCxcInJpZ2h0XCI6MTYzLFwiYm90dG9tXCI6NDQsXCJsZWZ0XCI6OH0iCiBQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi1Tb21lIHRlc3RzIGZhaWxlZC4KIAogVEVTVCBD
T01QTEVURQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvdGV4dC1zZWxl
Y3Rpb24tb3ZlcmZsb3ctaGlkZGVuLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvcmVw
YWludC90ZXh0LXNlbGVjdGlvbi1vdmVyZmxvdy1oaWRkZW4tZXhwZWN0ZWQudHh0CmluZGV4IGJk
OWY1ODlmOWNjZDljNjc0ODI1MTNhNzQ2NmZjZmJiZmY3ZDE5NjguLmYyMjE2ODY4ZGY3YzliNTVj
OTE1MGUxZGMwZGIzZGZkODYzODZjMGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvcmVw
YWludC90ZXh0LXNlbGVjdGlvbi1vdmVyZmxvdy1oaWRkZW4tZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvcmVwYWludC90ZXh0LXNlbGVjdGlvbi1vdmVyZmxvdy1oaWRkZW4tZXhw
ZWN0ZWQudHh0CkBAIC0xLDYgKzEsNiBAQAogU2hvdWxkIGhhdmUgZ3JlZW4gYmFja2dyb3VuZAog
CiAocmVwYWludCByZWN0cwotICAocmVjdCA4IDE2IDE5OSAxOCkKKyAgKHJlY3QgOCAxNiAxOTgg
MTgpCiApCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>