<?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>154714</bug_id>
          
          <creation_ts>2016-02-25 21:02:15 -0800</creation_ts>
          <short_desc>Add API test coverage for parseHTMLInteger / parseHTMLNonNegativeInteger</short_desc>
          <delta_ts>2016-02-26 18:03:18 -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>DOM</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>ggaren</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1168386</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-02-25 21:02:15 -0800</bug_when>
    <thetext>Add API test coverage for parseHTMLInteger / parseHTMLNonNegativeInteger as per:
- https://html.spec.whatwg.org/multipage/infrastructure.html#signed-integers
- https://html.spec.whatwg.org/multipage/infrastructure.html#non-negative-integers</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1168393</commentid>
    <comment_count>1</comment_count>
      <attachid>272293</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-02-25 21:05:37 -0800</bug_when>
    <thetext>Created attachment 272293
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1168500</commentid>
    <comment_count>2</comment_count>
      <attachid>272293</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-02-26 07:52:13 -0800</bug_when>
    <thetext>Comment on attachment 272293
Patch

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

&gt; Tools/TestWebKitAPI/Tests/WebCore/HTMLParserIdioms.cpp:72
&gt; +    // Boundaries.
&gt; +    EXPECT_EQ(-2147483648, testParseHTMLInteger(&quot;-2147483648&quot;));
&gt; +    EXPECT_EQ(2147483647, testParseHTMLInteger(&quot;2147483647&quot;));

We should include failure case tests that are just outside the boundaries: -2147483649, 2147483648. And maybe some other &quot;too long number&quot; tests.

&gt; Tools/TestWebKitAPI/Tests/WebCore/HTMLParserIdioms.cpp:74
&gt; +    // Failure cases.

Might be good to also include expected failures that are legal floating point numbers such as &quot;1.0&quot;, &quot;1.&quot;, &quot;1e1&quot;, &quot;.1&quot;, &quot;infinity&quot;. Some ways of implementing this might accidentally allow those.

&gt; Tools/TestWebKitAPI/Tests/WebCore/HTMLParserIdioms.cpp:124
&gt; +    EXPECT_EQ(4294967295u, testParseHTMLNonNegativeInteger(&quot;4294967295&quot;));

We should include a failure case test that is just outside the boundary: 4294967296.

&gt; Tools/TestWebKitAPI/Tests/WebCore/HTMLParserIdioms.cpp:126
&gt; +    // Failure cases.

Might be good to also include expected failures that are legal floating point numbers such as &quot;1.0&quot;, &quot;1.&quot;, &quot;1e1&quot;, &quot;.1&quot;, &quot;infinity&quot;. Some ways of implementing this might accidentally allow those.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1168758</commentid>
    <comment_count>3</comment_count>
      <attachid>272385</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-02-26 17:12:57 -0800</bug_when>
    <thetext>Created attachment 272385
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1168772</commentid>
    <comment_count>4</comment_count>
      <attachid>272385</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-02-26 18:03:13 -0800</bug_when>
    <thetext>Comment on attachment 272385
Patch

Clearing flags on attachment: 272385

Committed r197225: &lt;http://trac.webkit.org/changeset/197225&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1168773</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-02-26 18:03:18 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>272293</attachid>
            <date>2016-02-25 21:05:37 -0800</date>
            <delta_ts>2016-02-26 17:12:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-154714-20160225210521.patch</filename>
            <type>text/plain</type>
            <size>17287</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk3MTU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2IxM2YwZjE0N2FiN2Yy
YWZkODA0MjU1Y2ZiZGJkZmNlYjVjN2MxZi4uZmRhZjk2YTM1MmYxYzljNDY1MWQzNTE2ODRiOGYz
YzBlYTc2Yzg0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE2LTAyLTI1ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIEFQSSB0ZXN0IGNvdmVy
YWdlIGZvciBwYXJzZUhUTUxJbnRlZ2VyIC8gcGFyc2VIVE1MTm9uTmVnYXRpdmVJbnRlZ2VyCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTQ3MTQKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFeHBvcnQgYSBj
b3VwbGUgbW9yZSBzeW1ib2xzIGZvciBBUEkgdGVzdGluZy4KKworICAgICAgICAqIGh0bWwvcGFy
c2VyL0hUTUxQYXJzZXJJZGlvbXMuaDoKKwogMjAxNi0wMi0yNSAgRGF2aWQgS2lsemVyICA8ZGRr
aWx6ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIxOTY3NDQpOiBOZXR3b3Jr
RXh0ZW5zaW9uLmZyYW1ld29yayBhbmQgTkVGaWx0ZXJTb3VyY2UgY2xhc3MgYXJlIG5vdCBhdmFp
bGFibGUgb24gUmVjb3ZlcnkgcGFydGl0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3BhcnNlci9IVE1MUGFyc2VySWRpb21zLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNl
ci9IVE1MUGFyc2VySWRpb21zLmgKaW5kZXggZWU4YWVlZDA2ZTY0Y2Y0NWRkNDk2MDY4NzFhOThl
MzViZDc4MGY5Ni4uZDA5MGM4OTkxYWZiOTQ1OTVkNjg1OWY2YTU0ZjFiMzY2OTIwMDRjNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlcklkaW9tcy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJJZGlvbXMuaApAQCAtNTcs
MTAgKzU3LDEwIEBAIGRvdWJsZSBwYXJzZVRvRG91YmxlRm9yTnVtYmVyVHlwZShjb25zdCBTdHJp
bmcmKTsKIGRvdWJsZSBwYXJzZVRvRG91YmxlRm9yTnVtYmVyVHlwZShjb25zdCBTdHJpbmcmLCBk
b3VibGUgZmFsbGJhY2tWYWx1ZSk7CiAKIC8vIGh0dHA6Ly93d3cud2hhdHdnLm9yZy9zcGVjcy93
ZWItYXBwcy9jdXJyZW50LXdvcmsvI3J1bGVzLWZvci1wYXJzaW5nLWludGVnZXJzCi1ib29sIHBh
cnNlSFRNTEludGVnZXIoY29uc3QgU3RyaW5nJiwgaW50Jik7CitXRUJDT1JFX0VYUE9SVCBib29s
IHBhcnNlSFRNTEludGVnZXIoY29uc3QgU3RyaW5nJiwgaW50Jik7CiAKIC8vIGh0dHA6Ly93d3cu
d2hhdHdnLm9yZy9zcGVjcy93ZWItYXBwcy9jdXJyZW50LXdvcmsvI3J1bGVzLWZvci1wYXJzaW5n
LW5vbi1uZWdhdGl2ZS1pbnRlZ2VycwotYm9vbCBwYXJzZUhUTUxOb25OZWdhdGl2ZUludGVnZXIo
Y29uc3QgU3RyaW5nJiwgdW5zaWduZWQgaW50Jik7CitXRUJDT1JFX0VYUE9SVCBib29sIHBhcnNl
SFRNTE5vbk5lZ2F0aXZlSW50ZWdlcihjb25zdCBTdHJpbmcmLCB1bnNpZ25lZCYpOwogCiAvLyBo
dHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9pbmZyYXN0cnVjdHVyZS5odG1s
I2NvcnMtc2V0dGluZ3MtYXR0cmlidXRlCiBTdHJpbmcgcGFyc2VDT1JTU2V0dGluZ3NBdHRyaWJ1
dGUoY29uc3QgQXRvbWljU3RyaW5nJik7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9U
b29scy9DaGFuZ2VMb2cKaW5kZXggZWM0Y2M3N2Q0OTYxMjdlZDU0NmU1MTAxNjVlOWIyOTZiOGE0
YzMxOC4uNzk2ZDNkYjBjZDBjMjE2M2EzZWNlNGM4NmM2OTBlMTgyYzRjNGEzYiAxMDA2NDQKLS0t
IGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBA
CisyMDE2LTAyLTI1ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAg
QWRkIEFQSSB0ZXN0IGNvdmVyYWdlIGZvciBwYXJzZUhUTUxJbnRlZ2VyIC8gcGFyc2VIVE1MTm9u
TmVnYXRpdmVJbnRlZ2VyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNTQ3MTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBBZGQgQVBJIHRlc3QgY292ZXJhZ2UgZm9yIHBhcnNlSFRNTEludGVnZXIgLyBwYXJz
ZUhUTUxOb25OZWdhdGl2ZUludGVnZXIgYXMgcGVyOgorICAgICAgICAtIGh0dHBzOi8vaHRtbC5z
cGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL2luZnJhc3RydWN0dXJlLmh0bWwjc2lnbmVkLWludGVn
ZXJzCisgICAgICAgIC0gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvaW5m
cmFzdHJ1Y3R1cmUuaHRtbCNub24tbmVnYXRpdmUtaW50ZWdlcnMKKworICAgICAgICAqIFRlc3RX
ZWJLaXRBUEkvUGxhdGZvcm1FZmwuY21ha2U6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9QbGF0
Zm9ybUdUSy5jbWFrZToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1BsYXRmb3JtV2luLmNtYWtl
OgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS52Y3hwcm9qL1Rlc3RXZWJL
aXRBUEkudmN4cHJvajoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkudmN4
cHJvai9UZXN0V2ViS2l0QVBJLnZjeHByb2ouZmlsdGVyczoKKyAgICAgICAgKiBUZXN0V2ViS2l0
QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBU
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvSFRNTFBhcnNlcklkaW9tcy5jcHA6IEFkZGVkLgor
ICAgICAgICAoVGVzdFdlYktpdEFQSTo6dGVzdFBhcnNlSFRNTEludGVnZXIpOgorICAgICAgICAo
VGVzdFdlYktpdEFQSTo6cGFyc2VIVE1MSW50ZWdlckZhaWxzKToKKyAgICAgICAgKFRlc3RXZWJL
aXRBUEk6OlRFU1QpOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6dGVzdFBhcnNlSFRNTE5vbk5l
Z2F0aXZlSW50ZWdlcik6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpwYXJzZUhUTUxOb25OZWdh
dGl2ZUludGVnZXJGYWlscyk6CisKIDIwMTYtMDItMjUgIEppZXdlbiBUYW4gIDxqaWV3ZW5fdGFu
QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJlaXZld2VkIGJ1aWxkIGZpeCBmb3IgcjE5NzE1MC4K
ZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvUGxhdGZvcm1FZmwuY21ha2UgYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL1BsYXRmb3JtRWZsLmNtYWtlCmluZGV4IDkyYzIwNzNlNGQ4NzcyYmE3
ZDAyMzk1ZmM3MDBlYjE1ODZiMThhMDMuLmVjOTA1Yzk5ZDY1YWE1YTUyNDkzNzJjNWI4MWY3MmU1
ODA1MTE1MGIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvUGxhdGZvcm1FZmwuY21h
a2UKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9QbGF0Zm9ybUVmbC5jbWFrZQpAQCAtNTgsNiAr
NTgsNyBAQCBsaXN0KEFQUEVORCBUZXN0SmF2YVNjcmlwdENvcmVfTElCUkFSSUVTCiAKIHNldCh0
ZXN0X3dlYmNvcmVfQklOQVJJRVMKICAgICBDU1NQYXJzZXIKKyAgICBIVE1MUGFyc2VySWRpb21z
CiAgICAgTGF5b3V0VW5pdAogICAgIFVSTAogKQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9QbGF0Zm9ybUdUSy5jbWFrZSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvUGxhdGZvcm1HVEsu
Y21ha2UKaW5kZXggMWMxYzJlMWM2MjExODJlNjg4NWI0NjhkN2ZkMjNmMDk0NDFmNGQ1Mi4uZDky
ODgzMjBjMjJiZDk0YjI4Njc0YzE3MjA3MWE0MmZlZWY3MmI3ZCAxMDA2NDQKLS0tIGEvVG9vbHMv
VGVzdFdlYktpdEFQSS9QbGF0Zm9ybUdUSy5jbWFrZQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1BsYXRmb3JtR1RLLmNtYWtlCkBAIC0xNDUsNiArMTQ1LDcgQEAgYWRkX2V4ZWN1dGFibGUoVGVz
dFdlYkNvcmUKICAgICAke3Rlc3RfbWFpbl9TT1VSQ0VTfQogICAgICR7VGVzdFdlYkNvcmVHdGtf
U09VUkNFU30KICAgICAke1RFU1RXRUJLSVRBUElfRElSfS9UZXN0c0NvbnRyb2xsZXIuY3BwCisg
ICAgJHtURVNUV0VCS0lUQVBJX0RJUn0vVGVzdHMvV2ViQ29yZS9IVE1MUGFyc2VySWRpb21zLmNw
cAogICAgICR7VEVTVFdFQktJVEFQSV9ESVJ9L1Rlc3RzL1dlYkNvcmUvTGF5b3V0VW5pdC5jcHAK
ICAgICAke1RFU1RXRUJLSVRBUElfRElSfS9UZXN0cy9XZWJDb3JlL1VSTC5jcHAKICAgICAke1RF
U1RXRUJLSVRBUElfRElSfS9UZXN0cy9XZWJDb3JlL1NoYXJlZEJ1ZmZlci5jcHAKZGlmZiAtLWdp
dCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvUGxhdGZvcm1XaW4uY21ha2UgYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL1BsYXRmb3JtV2luLmNtYWtlCmluZGV4IDExMWVmNGNhNjYxYjQ2MmY3Nzg5ZDI2NzVi
MjYwMjVhZjIyNjJhMGMuLjY2ZGY0YjZjNzRmZjY0MmYzZWQ2ZjdjZjg3YjRkMDMzMjdlYmY3Yzgg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvUGxhdGZvcm1XaW4uY21ha2UKKysrIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9QbGF0Zm9ybVdpbi5jbWFrZQpAQCAtNDAsNiArNDAsNyBAQCBz
ZXQoVGVzdFdlYkNvcmVMaWJfU09VUkNFUwogICAgICR7VEVTVFdFQktJVEFQSV9ESVJ9L1Rlc3Rz
Q29udHJvbGxlci5jcHAKICAgICAke1RFU1RXRUJLSVRBUElfRElSfS9UZXN0cy9XZWJDb3JlL0Nh
bGN1bGF0aW9uVmFsdWUuY3BwCiAgICAgJHtURVNUV0VCS0lUQVBJX0RJUn0vVGVzdHMvV2ViQ29y
ZS9DU1NQYXJzZXIuY3BwCisgICAgJHtURVNUV0VCS0lUQVBJX0RJUn0vVGVzdHMvV2ViQ29yZS9I
VE1MUGFyc2VySWRpb21zLmNwcAogICAgICR7VEVTVFdFQktJVEFQSV9ESVJ9L1Rlc3RzL1dlYkNv
cmUvTGF5b3V0VW5pdC5jcHAKICAgICAke1RFU1RXRUJLSVRBUElfRElSfS9UZXN0cy9XZWJDb3Jl
L1BhcnNlZENvbnRlbnRSYW5nZS5jcHAKICAgICAke1RFU1RXRUJLSVRBUElfRElSfS9UZXN0cy9X
ZWJDb3JlL1RpbWVSYW5nZXMuY3BwCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RXZWJLaXRBUEkudmN4cHJvai9UZXN0V2ViS2l0QVBJLnZjeHByb2ogYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RXZWJLaXRBUEkudmN4cHJvai9UZXN0V2ViS2l0QVBJLnZjeHByb2oKaW5kZXgg
ODdmNzlmNDc5MGJhMTcyNWIwYWQxOWJhNDliZmE1YjQxMGUzMzA4NS4uNzBjNjUwMzE1MGY2OGE2
OTE4YjI2MzE1ZTIzOWJlZGYxMjIxODc1ZSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0V2ViS2l0QVBJLnZjeHByb2ovVGVzdFdlYktpdEFQSS52Y3hwcm9qCisrKyBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS52Y3hwcm9qL1Rlc3RXZWJLaXRBUEkudmN4cHJv
agpAQCAtMjk0LDYgKzI5NCw3IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxUZXN0c0Nv
bnRyb2xsZXIuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cVGVzdHNcV2ViQ29y
ZVxDYWxjdWxhdGlvblZhbHVlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFRl
c3RzXFdlYkNvcmVcQ1NTUGFyc2VyLmNwcCIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4u
XFRlc3RzXFdlYkNvcmVcSFRNTFBhcnNlcklkaW9tcy5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJ
bmNsdWRlPSIuLlxUZXN0c1xXZWJDb3JlXExheW91dFVuaXQuY3BwIiAvPgogICAgIDxDbENvbXBp
bGUgSW5jbHVkZT0iLi5cVGVzdHNcV2ViQ29yZVxQYXJzZWRDb250ZW50UmFuZ2UuY3BwIiAvPgog
ICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cVGVzdHNcV2ViQ29yZVxUaW1lUmFuZ2VzLmNwcCIg
Lz4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS52Y3hwcm9q
L1Rlc3RXZWJLaXRBUEkudmN4cHJvai5maWx0ZXJzIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
V2ViS2l0QVBJLnZjeHByb2ovVGVzdFdlYktpdEFQSS52Y3hwcm9qLmZpbHRlcnMKaW5kZXggODkw
NzcyNDQzZTM3ZTM4ZWEzOGVjNTY0NmYwZjNhODMzZWQ3M2UzNS4uZGJjODA2MTI3MDkxM2EzMWVk
OTgzMjA4NjU5MDg4Zjk5YzZmZjg2MyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0V2ViS2l0QVBJLnZjeHByb2ovVGVzdFdlYktpdEFQSS52Y3hwcm9qLmZpbHRlcnMKKysrIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnZjeHByb2ovVGVzdFdlYktpdEFQSS52
Y3hwcm9qLmZpbHRlcnMKQEAgLTUxLDYgKzUxLDkgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9
Ii4uXFRlc3RzXFdlYkNvcmVcd2luXEJpdG1hcEltYWdlLmNwcCI+CiAgICAgICA8RmlsdGVyPlRl
c3RzXFdlYkNvcmU8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KKyAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXFRlc3RzXFdlYkNvcmVcSFRNTFBhcnNlcklkaW9tcy5jcHAiPgorICAgICAgPEZp
bHRlcj5UZXN0c1xXZWJDb3JlPC9GaWx0ZXI+CisgICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxUZXN0c1xXZWJDb3JlXExheW91dFVuaXQuY3BwIj4KICAgICAgIDxG
aWx0ZXI+VGVzdHNcV2ViQ29yZTwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgpAQCAtMTgxLDQg
KzE4NCw0IEBACiAgICAgPE5vbmUgSW5jbHVkZT0iVGVzdFdlYktpdEFQSVBvc3RCdWlsZC5jbWQi
IC8+CiAgICAgPE5vbmUgSW5jbHVkZT0iVGVzdFdlYktpdEFQSVByZUJ1aWxkLmNtZCIgLz4KICAg
PC9JdGVtR3JvdXA+Ci08L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9Q
cm9qZWN0PgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRB
UEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBkMzk4ZmE5YzRmZmNkYmIwY2MyNzFk
ODlmOTkzZjVmNzdkNGFlNTFhLi43NTRkMTRmYmJjZTc5ZTJjODkxNzJkZjBiYjZiOGMzNjIwMTBl
ZTdlIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRB
UEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjY0LDYgKzI2NCw3IEBACiAJCTdDQ0U3
RjRGMUE0MTFCQTQwMDQ0N0M0QyAvKiBSZXRhaW5QdHJIYXNoaW5nLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMwOTkxQzUwMTQzQzdENjgwMDc5OThG
MiAvKiBSZXRhaW5QdHJIYXNoaW5nLmNwcCAqLzsgfTsKIAkJN0NFRkE5NjYxQUMwQjlFMjAwQjkx
MEZEIC8qIF9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0VGQTk2NDFBQzBCOUUyMDBCOTEwRkQgLyog
X1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZS5tbSAqLzsgfTsKIAkJN0NGQkNBRTUxNzQzMjM4
RjAwQjJCRkNGIC8qIFdpbGxMb2FkX0J1bmRsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0ZCQ0FFMzE3NDMyMzhFMDBCMkJGQ0YgLyogV2lsbExv
YWRfQnVuZGxlLmNwcCAqLzsgfTsKKwkJODNCODhBMzQxQzgwMDU2RDAwQkIyNDE4IC8qIEhUTUxQ
YXJzZXJJZGlvbXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gODNCODhBMzMxQzgwMDU2RDAwQkIyNDE4IC8qIEhUTUxQYXJzZXJJZGlvbXMuY3BwICov
OyB9OwogCQk4M0NGMUMzMDFDNEYxQjhCMDA2ODg0NDcgLyogU3RyaW5nVXRpbGl0aWVzLm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODNDRjFDMkMxQzRG
MTlBRTAwNjg4NDQ3IC8qIFN0cmluZ1V0aWxpdGllcy5tbSAqLzsgfTsKIAkJOTMwQUQ0MDIxNTA2
OThEMDAwNjc5NzBGIC8qIGxvdHMtb2YtdGV4dC5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzMEFENDAxMTUwNjk4QjMwMDY3OTcwRiAv
KiBsb3RzLW9mLXRleHQuaHRtbCAqLzsgfTsKIAkJOTM2MTAwMjkxNERDOTVBNzAwNjEzNzlEIC8q
IGxvdHMtb2YtaWZyYW1lcy5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDkzNjEwMDI4MTREQzk1N0IwMDYxMzc5RCAvKiBsb3RzLW9mLWlm
cmFtZXMuaHRtbCAqLzsgfTsKQEAgLTY0Miw2ICs2NDMsNyBAQAogCQk3Q0ZCQ0FERDE3NDMyMzRG
MDBCMkJGQ0YgLyogV2lsbExvYWQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gV2lsbExvYWQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3Q0ZCQ0FF
MzE3NDMyMzhFMDBCMkJGQ0YgLyogV2lsbExvYWRfQnVuZGxlLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdpbGxMb2FkX0J1bmRsZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTgxQjUwMTkyMTQwRjIzMjMwMEQ5RUI1OCAvKiBTdHJpbmdCdWlsZGVy
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0cmluZ0J1aWxkZXIu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4M0I4OEEzMzFDODAwNTZEMDBCQjI0
MTggLyogSFRNTFBhcnNlcklkaW9tcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBIVE1MUGFyc2VySWRpb21zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJODNDRjFDMkMxQzRGMTlBRTAwNjg4NDQ3IC8qIFN0cmluZ1V0aWxpdGllcy5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFN0cmluZ1V0aWxpdGllcy5tbTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODZCRDE5OTcxQTJEQjA1QjAwNkRDRjBBIC8qIFJl
ZkNvdW50ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVmQ291
bnRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCThBMkM3NTBEMTZDRUQ5NTUw
MDI0RjM1MiAvKiBSZXNpemVXaW5kb3dBZnRlckNyYXNoLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFJlc2l6ZVdpbmRvd0FmdGVyQ3Jhc2guY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtMTAwNCw2ICsxMDA2LDcgQEAKIAkJCQkyNjBCQTU3QTFCMUQy
RUUyMDA0RkEwN0MgLyogREZBSGVscGVycy5oICovLAogCQkJCTI2RjZFMUVGMUFEQzc0OUIwMERF
Njk2QiAvKiBERkFNaW5pbWl6ZXIuY3BwICovLAogCQkJCTQxOTczQjVBMUFGMjI4NkEwMDZDN0Iz
NiAvKiBGaWxlU3lzdGVtLmNwcCAqLywKKwkJCQk4M0I4OEEzMzFDODAwNTZEMDBCQjI0MTggLyog
SFRNTFBhcnNlcklkaW9tcy5jcHAgKi8sCiAJCQkJMTQ0NjQwMTIxNjdBODMwNTAwMEJEMjE4IC8q
IExheW91dFVuaXQuY3BwICovLAogCQkJCUNEMjI1QzA3MUM0NUE2OTIwMDE0MDc2MSAvKiBQYXJz
ZWRDb250ZW50UmFuZ2UuY3BwICovLAogCQkJCTQxOTczQjVDMUFGMjI4NzUwMDZDN0IzNiAvKiBT
aGFyZWRCdWZmZXIuY3BwICovLApAQCAtMTg3Miw2ICsxODc1LDcgQEAKIAkJCQkyRTc3NjVDRjE2
QzREODExMDBCQTJCQjEgLyogbWFpbk1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTQxOTczQjVC
MUFGMjI4NkEwMDZDN0IzNiAvKiBGaWxlU3lzdGVtLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUNE
ODlEMDNBMUM0RURCMkEwMDA0MEEwNCAvKiBXZWJDb3JlTlNVUkxTZXNzaW9uLm1tIGluIFNvdXJj
ZXMgKi8sCisJCQkJODNCODhBMzQxQzgwMDU2RDAwQkIyNDE4IC8qIEhUTUxQYXJzZXJJZGlvbXMu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTFDNEZCNkUxQkFDQ0U1MDAwMzc0MkQwIC8qIFF1aWNr
TG9vay5tbSBpbiBTb3VyY2VzICovLAogCQkJCTdBNTYyMzExMUFENUFGM0UwMDk2QjkyMCAvKiBN
ZW51VHlwZXNGb3JNb3VzZUV2ZW50cy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQUFEMTlGNzFD
N0NFMjAzMDA4MzFFNDcgLyogQ29kaW5nLm1tIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvSFRNTFBhcnNlcklkaW9tcy5jcHAgYi9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvSFRNTFBhcnNlcklkaW9tcy5jcHAKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uY2ExMDZmYTllYTJkYjhjMmUzZDkxN2VhMzNjMzVlYzU4MjMxODEzYQotLS0gL2Rl
di9udWxsCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9IVE1MUGFyc2Vy
SWRpb21zLmNwcApAQCAtMCwwICsxLDE1MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25m
aWcuaCIKKworI2luY2x1ZGUgIlRlc3QuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0hUTUxQYXJzZXJJ
ZGlvbXMuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKwordXNpbmcgbmFtZXNw
YWNlIFdlYkNvcmU7CisKK25hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsKKworc3RhdGljIGludCB0
ZXN0UGFyc2VIVE1MSW50ZWdlcihjb25zdCBTdHJpbmcmIGlucHV0KQoreworICAgIGludCByZXN1
bHQgPSAwOworICAgIGJvb2wgc3VjY2VzcyA9IHBhcnNlSFRNTEludGVnZXIoaW5wdXQsIHJlc3Vs
dCk7CisgICAgRVhQRUNUX1RSVUUoc3VjY2Vzcyk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwor
c3RhdGljIGJvb2wgcGFyc2VIVE1MSW50ZWdlckZhaWxzKGNvbnN0IFN0cmluZyYgaW5wdXQpCit7
CisgICAgaW50IHJlc3VsdCA9IDA7CisgICAgcmV0dXJuICFwYXJzZUhUTUxJbnRlZ2VyKGlucHV0
LCByZXN1bHQpOworfQorCitURVNUKFdlYkNvcmVIVE1MUGFyc2VySWRpb21zLCBwYXJzZUhUTUxJ
bnRlZ2VyKQoreworICAgIEVYUEVDVF9FUSgwLCB0ZXN0UGFyc2VIVE1MSW50ZWdlcigiMCIpKTsK
KyAgICBFWFBFQ1RfRVEoMCwgdGVzdFBhcnNlSFRNTEludGVnZXIoIi0wIikpOworICAgIEVYUEVD
VF9FUSgwLCB0ZXN0UGFyc2VIVE1MSW50ZWdlcigiKzAiKSk7CisgICAgRVhQRUNUX0VRKDEyMywg
dGVzdFBhcnNlSFRNTEludGVnZXIoIjEyMyIpKTsKKyAgICBFWFBFQ1RfRVEoMTIzLCB0ZXN0UGFy
c2VIVE1MSW50ZWdlcigiKzEyMyIpKTsKKyAgICBFWFBFQ1RfRVEoLTEyMywgdGVzdFBhcnNlSFRN
TEludGVnZXIoIi0xMjMiKSk7CisgICAgRVhQRUNUX0VRKDEyMywgdGVzdFBhcnNlSFRNTEludGVn
ZXIoIiAgMTIzIikpOworICAgIEVYUEVDVF9FUSgxMjMsIHRlc3RQYXJzZUhUTUxJbnRlZ2VyKCIx
MjMgICAiKSk7CisgICAgRVhQRUNUX0VRKDEyMywgdGVzdFBhcnNlSFRNTEludGVnZXIoIiAgIDEy
MyAgICIpKTsKKyAgICBFWFBFQ1RfRVEoMTIzLCB0ZXN0UGFyc2VIVE1MSW50ZWdlcigiMTIzYWJj
IikpOworICAgIEVYUEVDVF9FUSgtMTIzLCB0ZXN0UGFyc2VIVE1MSW50ZWdlcigiLTEyM2FiYyIp
KTsKKyAgICBFWFBFQ1RfRVEoMTIzLCB0ZXN0UGFyc2VIVE1MSW50ZWdlcigiICArMTIzIikpOwor
ICAgIEVYUEVDVF9FUSgtMTIzLCB0ZXN0UGFyc2VIVE1MSW50ZWdlcigiICAtMTIzIikpOworICAg
IEVYUEVDVF9FUSgxMiwgdGVzdFBhcnNlSFRNTEludGVnZXIoIiAgIDEyIDMiKSk7CisKKyAgICAv
LyBBbGwgSFRNTCB3aGl0ZXNwYWNlcy4KKyAgICBFWFBFQ1RfRVEoMTIzLCB0ZXN0UGFyc2VIVE1M
SW50ZWdlcigiIFx0XHJcblxmMTIzIikpOworCisgICAgLy8gQm91bmRhcmllcy4KKyAgICBFWFBF
Q1RfRVEoLTIxNDc0ODM2NDgsIHRlc3RQYXJzZUhUTUxJbnRlZ2VyKCItMjE0NzQ4MzY0OCIpKTsK
KyAgICBFWFBFQ1RfRVEoMjE0NzQ4MzY0NywgdGVzdFBhcnNlSFRNTEludGVnZXIoIjIxNDc0ODM2
NDciKSk7CisKKyAgICAvLyBGYWlsdXJlIGNhc2VzLgorICAgIEVYUEVDVF9UUlVFKHBhcnNlSFRN
TEludGVnZXJGYWlscygiIikpOworICAgIEVYUEVDVF9UUlVFKHBhcnNlSFRNTEludGVnZXJGYWls
cygiICIpKTsKKyAgICBFWFBFQ1RfVFJVRShwYXJzZUhUTUxJbnRlZ2VyRmFpbHMoIiAgICIpKTsK
KyAgICBFWFBFQ1RfVFJVRShwYXJzZUhUTUxJbnRlZ2VyRmFpbHMoIisiKSk7CisgICAgRVhQRUNU
X1RSVUUocGFyc2VIVE1MSW50ZWdlckZhaWxzKCIrIDEyMyIpKTsKKyAgICBFWFBFQ1RfVFJVRShw
YXJzZUhUTUxJbnRlZ2VyRmFpbHMoIi0iKSk7CisgICAgRVhQRUNUX1RSVUUocGFyc2VIVE1MSW50
ZWdlckZhaWxzKCItIDEyMyIpKTsKKyAgICBFWFBFQ1RfVFJVRShwYXJzZUhUTUxJbnRlZ2VyRmFp
bHMoImEiKSk7CisgICAgRVhQRUNUX1RSVUUocGFyc2VIVE1MSW50ZWdlckZhaWxzKCItYSIpKTsK
KyAgICBFWFBFQ1RfVFJVRShwYXJzZUhUTUxJbnRlZ2VyRmFpbHMoIistMTIzIikpOworICAgIEVY
UEVDVF9UUlVFKHBhcnNlSFRNTEludGVnZXJGYWlscygiLSsxMjMiKSk7CisgICAgRVhQRUNUX1RS
VUUocGFyc2VIVE1MSW50ZWdlckZhaWxzKCIrKzEyMyIpKTsKKyAgICBFWFBFQ1RfVFJVRShwYXJz
ZUhUTUxJbnRlZ2VyRmFpbHMoIi0tMTIzIikpOworICAgIEVYUEVDVF9UUlVFKHBhcnNlSFRNTElu
dGVnZXJGYWlscygiXHYxMjMiKSk7IC8vICdcdicgaXMgYW4gQVNDSUkgc3BhY2UgYnV0IG5vdCBh
biBIVE1MIHdoaXRlc3BhY2UuCisgICAgRVhQRUNUX1RSVUUocGFyc2VIVE1MSW50ZWdlckZhaWxz
KCJhMTIzIikpOworICAgIEVYUEVDVF9UUlVFKHBhcnNlSFRNTEludGVnZXJGYWlscygiK2ExMjMi
KSk7CisgICAgRVhQRUNUX1RSVUUocGFyc2VIVE1MSW50ZWdlckZhaWxzKCItYTEyMyIpKTsKK30K
Kworc3RhdGljIHVuc2lnbmVkIHRlc3RQYXJzZUhUTUxOb25OZWdhdGl2ZUludGVnZXIoY29uc3Qg
U3RyaW5nJiBpbnB1dCkKK3sKKyAgICB1bnNpZ25lZCByZXN1bHQgPSAwOworICAgIGJvb2wgc3Vj
Y2VzcyA9IHBhcnNlSFRNTE5vbk5lZ2F0aXZlSW50ZWdlcihpbnB1dCwgcmVzdWx0KTsKKyAgICBF
WFBFQ1RfVFJVRShzdWNjZXNzKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitzdGF0aWMgYm9v
bCBwYXJzZUhUTUxOb25OZWdhdGl2ZUludGVnZXJGYWlscyhjb25zdCBTdHJpbmcmIGlucHV0KQor
eworICAgIHVuc2lnbmVkIHJlc3VsdCA9IDA7CisgICAgcmV0dXJuICFwYXJzZUhUTUxOb25OZWdh
dGl2ZUludGVnZXIoaW5wdXQsIHJlc3VsdCk7Cit9CisKK1RFU1QoV2ViQ29yZUhUTUxQYXJzZXJJ
ZGlvbXMsIHBhcnNlSFRNTE5vbk5lZ2F0aXZlSW50ZWdlcikKK3sKKyAgICBFWFBFQ1RfRVEoMTIz
dSwgdGVzdFBhcnNlSFRNTE5vbk5lZ2F0aXZlSW50ZWdlcigiMTIzIikpOworICAgIEVYUEVDVF9F
USgxMjN1LCB0ZXN0UGFyc2VIVE1MTm9uTmVnYXRpdmVJbnRlZ2VyKCIrMTIzIikpOworICAgIEVY
UEVDVF9FUSgxMjN1LCB0ZXN0UGFyc2VIVE1MTm9uTmVnYXRpdmVJbnRlZ2VyKCIgIDEyMyIpKTsK
KyAgICBFWFBFQ1RfRVEoMTIzdSwgdGVzdFBhcnNlSFRNTE5vbk5lZ2F0aXZlSW50ZWdlcigiMTIz
ICAgIikpOworICAgIEVYUEVDVF9FUSgxMjN1LCB0ZXN0UGFyc2VIVE1MTm9uTmVnYXRpdmVJbnRl
Z2VyKCIgICAxMjMgICAiKSk7CisgICAgRVhQRUNUX0VRKDEyM3UsIHRlc3RQYXJzZUhUTUxOb25O
ZWdhdGl2ZUludGVnZXIoIjEyM2FiYyIpKTsKKyAgICBFWFBFQ1RfRVEoMTIzdSwgdGVzdFBhcnNl
SFRNTE5vbk5lZ2F0aXZlSW50ZWdlcigiICArMTIzIikpOworICAgIEVYUEVDVF9FUSgxMnUsIHRl
c3RQYXJzZUhUTUxOb25OZWdhdGl2ZUludGVnZXIoIiAgIDEyIDMiKSk7CisKKyAgICAvLyBBbGwg
SFRNTCB3aGl0ZXNwYWNlcy4KKyAgICBFWFBFQ1RfRVEoMTIzdSwgdGVzdFBhcnNlSFRNTE5vbk5l
Z2F0aXZlSW50ZWdlcigiIFx0XHJcblxmMTIzIikpOworCisgICAgLy8gQm91bmRhcmllcy4KKyAg
ICBFWFBFQ1RfRVEoMHUsIHRlc3RQYXJzZUhUTUxOb25OZWdhdGl2ZUludGVnZXIoIjAiKSk7Cisg
ICAgRVhQRUNUX0VRKDQyOTQ5NjcyOTV1LCB0ZXN0UGFyc2VIVE1MTm9uTmVnYXRpdmVJbnRlZ2Vy
KCI0Mjk0OTY3Mjk1IikpOworCisgICAgLy8gRmFpbHVyZSBjYXNlcy4KKyAgICBFWFBFQ1RfVFJV
RShwYXJzZUhUTUxOb25OZWdhdGl2ZUludGVnZXJGYWlscygiLTEiKSk7CisgICAgRVhQRUNUX1RS
VUUocGFyc2VIVE1MTm9uTmVnYXRpdmVJbnRlZ2VyRmFpbHMoIiAgLTEyMyIpKTsKKyAgICBFWFBF
Q1RfVFJVRShwYXJzZUhUTUxOb25OZWdhdGl2ZUludGVnZXJGYWlscygiLTEyMyIpKTsKKyAgICBF
WFBFQ1RfVFJVRShwYXJzZUhUTUxOb25OZWdhdGl2ZUludGVnZXJGYWlscygiLTEyM2FiYyIpKTsK
KyAgICBFWFBFQ1RfVFJVRShwYXJzZUhUTUxOb25OZWdhdGl2ZUludGVnZXJGYWlscygiIikpOwor
ICAgIEVYUEVDVF9UUlVFKHBhcnNlSFRNTE5vbk5lZ2F0aXZlSW50ZWdlckZhaWxzKCIgIikpOwor
ICAgIEVYUEVDVF9UUlVFKHBhcnNlSFRNTE5vbk5lZ2F0aXZlSW50ZWdlckZhaWxzKCIgICAiKSk7
CisgICAgRVhQRUNUX1RSVUUocGFyc2VIVE1MTm9uTmVnYXRpdmVJbnRlZ2VyRmFpbHMoIisiKSk7
CisgICAgRVhQRUNUX1RSVUUocGFyc2VIVE1MTm9uTmVnYXRpdmVJbnRlZ2VyRmFpbHMoIisgMTIz
IikpOworICAgIEVYUEVDVF9UUlVFKHBhcnNlSFRNTE5vbk5lZ2F0aXZlSW50ZWdlckZhaWxzKCIt
IikpOworICAgIEVYUEVDVF9UUlVFKHBhcnNlSFRNTE5vbk5lZ2F0aXZlSW50ZWdlckZhaWxzKCIt
IDEyMyIpKTsKKyAgICBFWFBFQ1RfVFJVRShwYXJzZUhUTUxOb25OZWdhdGl2ZUludGVnZXJGYWls
cygiYSIpKTsKKyAgICBFWFBFQ1RfVFJVRShwYXJzZUhUTUxOb25OZWdhdGl2ZUludGVnZXJGYWls
cygiLWEiKSk7CisgICAgRVhQRUNUX1RSVUUocGFyc2VIVE1MTm9uTmVnYXRpdmVJbnRlZ2VyRmFp
bHMoIistMTIzIikpOworICAgIEVYUEVDVF9UUlVFKHBhcnNlSFRNTE5vbk5lZ2F0aXZlSW50ZWdl
ckZhaWxzKCItKzEyMyIpKTsKKyAgICBFWFBFQ1RfVFJVRShwYXJzZUhUTUxOb25OZWdhdGl2ZUlu
dGVnZXJGYWlscygiKysxMjMiKSk7CisgICAgRVhQRUNUX1RSVUUocGFyc2VIVE1MTm9uTmVnYXRp
dmVJbnRlZ2VyRmFpbHMoIi0tMTIzIikpOworICAgIEVYUEVDVF9UUlVFKHBhcnNlSFRNTE5vbk5l
Z2F0aXZlSW50ZWdlckZhaWxzKCJcdjEyMyIpKTsgLy8gJ1x2JyBpcyBhbiBBU0NJSSBzcGFjZSBi
dXQgbm90IGFuIEhUTUwgd2hpdGVzcGFjZS4KKyAgICBFWFBFQ1RfVFJVRShwYXJzZUhUTUxOb25O
ZWdhdGl2ZUludGVnZXJGYWlscygiYTEyMyIpKTsKKyAgICBFWFBFQ1RfVFJVRShwYXJzZUhUTUxO
b25OZWdhdGl2ZUludGVnZXJGYWlscygiK2ExMjMiKSk7CisgICAgRVhQRUNUX1RSVUUocGFyc2VI
VE1MTm9uTmVnYXRpdmVJbnRlZ2VyRmFpbHMoIi1hMTIzIikpOworfQorCit9IC8vIG5hbWVzcGFj
ZSBUZXN0V2ViS2l0QVBJCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>272385</attachid>
            <date>2016-02-26 17:12:57 -0800</date>
            <delta_ts>2016-02-26 18:03:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-154714-20160226171240.patch</filename>
            <type>text/plain</type>
            <size>18323</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk3MjE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODdiMmIxMGFmODU4MTM3
NjJlNzk3YWY2M2ViZGI0MmNiNWY0ZjAwMi4uMzA4ZWUzYjNjYjA2ODY2NDZkODQ1MTVhNjlhNTFk
NjgyYTgzOGJjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE2LTAyLTI2ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIEFQSSB0ZXN0IGNvdmVy
YWdlIGZvciBwYXJzZUhUTUxJbnRlZ2VyIC8gcGFyc2VIVE1MTm9uTmVnYXRpdmVJbnRlZ2VyCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTQ3MTQKKwor
ICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBFeHBvcnQgYSBjb3Vw
bGUgbW9yZSBzeW1ib2xzIGZvciBBUEkgdGVzdGluZy4KKworICAgICAgICAqIGh0bWwvcGFyc2Vy
L0hUTUxQYXJzZXJJZGlvbXMuaDoKKwogMjAxNi0wMi0yNiAgR2F2aW4gQmFycmFjbG91Z2ggIDxi
YXJyYWNsb3VnaEBhcHBsZS5jb20+CiAKICAgICAgICAgUGFnZSBUaW1lckFsaWdubWVudEludGVy
dmFsSW5jcmVhc2UgbWVjaGFuaXNtIHNob3VsZCBoYXZlIHVwcGVyIGxpbWl0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VySWRpb21zLmggYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VySWRpb21zLmgKaW5kZXggZWU4YWVlZDA2ZTY0
Y2Y0NWRkNDk2MDY4NzFhOThlMzViZDc4MGY5Ni4uZDA5MGM4OTkxYWZiOTQ1OTVkNjg1OWY2YTU0
ZjFiMzY2OTIwMDRjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRN
TFBhcnNlcklkaW9tcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJz
ZXJJZGlvbXMuaApAQCAtNTcsMTAgKzU3LDEwIEBAIGRvdWJsZSBwYXJzZVRvRG91YmxlRm9yTnVt
YmVyVHlwZShjb25zdCBTdHJpbmcmKTsKIGRvdWJsZSBwYXJzZVRvRG91YmxlRm9yTnVtYmVyVHlw
ZShjb25zdCBTdHJpbmcmLCBkb3VibGUgZmFsbGJhY2tWYWx1ZSk7CiAKIC8vIGh0dHA6Ly93d3cu
d2hhdHdnLm9yZy9zcGVjcy93ZWItYXBwcy9jdXJyZW50LXdvcmsvI3J1bGVzLWZvci1wYXJzaW5n
LWludGVnZXJzCi1ib29sIHBhcnNlSFRNTEludGVnZXIoY29uc3QgU3RyaW5nJiwgaW50Jik7CitX
RUJDT1JFX0VYUE9SVCBib29sIHBhcnNlSFRNTEludGVnZXIoY29uc3QgU3RyaW5nJiwgaW50Jik7
CiAKIC8vIGh0dHA6Ly93d3cud2hhdHdnLm9yZy9zcGVjcy93ZWItYXBwcy9jdXJyZW50LXdvcmsv
I3J1bGVzLWZvci1wYXJzaW5nLW5vbi1uZWdhdGl2ZS1pbnRlZ2VycwotYm9vbCBwYXJzZUhUTUxO
b25OZWdhdGl2ZUludGVnZXIoY29uc3QgU3RyaW5nJiwgdW5zaWduZWQgaW50Jik7CitXRUJDT1JF
X0VYUE9SVCBib29sIHBhcnNlSFRNTE5vbk5lZ2F0aXZlSW50ZWdlcihjb25zdCBTdHJpbmcmLCB1
bnNpZ25lZCYpOwogCiAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9p
bmZyYXN0cnVjdHVyZS5odG1sI2NvcnMtc2V0dGluZ3MtYXR0cmlidXRlCiBTdHJpbmcgcGFyc2VD
T1JTU2V0dGluZ3NBdHRyaWJ1dGUoY29uc3QgQXRvbWljU3RyaW5nJik7CmRpZmYgLS1naXQgYS9U
b29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYjA0NDc2NjA5MDNiMzE3OTFh
NTlkMDY3OTIyOWY5NzM2ZDJlZmM3NC4uZDQzM2JhNzRjNTA1YmQzZDU1ZDVlYmFjNGM2Mjc2OWY5
NWUxMDI4MSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDI3IEBACisyMDE2LTAyLTI2ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBs
ZS5jb20+CisKKyAgICAgICAgQWRkIEFQSSB0ZXN0IGNvdmVyYWdlIGZvciBwYXJzZUhUTUxJbnRl
Z2VyIC8gcGFyc2VIVE1MTm9uTmVnYXRpdmVJbnRlZ2VyCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTQ3MTQKKworICAgICAgICBSZXZpZXdlZCBieSBE
YXJpbiBBZGxlci4KKworICAgICAgICBBZGQgQVBJIHRlc3QgY292ZXJhZ2UgZm9yIHBhcnNlSFRN
TEludGVnZXIgLyBwYXJzZUhUTUxOb25OZWdhdGl2ZUludGVnZXIgYXMgcGVyOgorICAgICAgICAt
IGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL2luZnJhc3RydWN0dXJlLmh0
bWwjc2lnbmVkLWludGVnZXJzCisgICAgICAgIC0gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9y
Zy9tdWx0aXBhZ2UvaW5mcmFzdHJ1Y3R1cmUuaHRtbCNub24tbmVnYXRpdmUtaW50ZWdlcnMKKwor
ICAgICAgICAqIFRlc3RXZWJLaXRBUEkvUGxhdGZvcm1FZmwuY21ha2U6CisgICAgICAgICogVGVz
dFdlYktpdEFQSS9QbGF0Zm9ybUdUSy5jbWFrZToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Bs
YXRmb3JtV2luLmNtYWtlOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS52
Y3hwcm9qL1Rlc3RXZWJLaXRBUEkudmN4cHJvajoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rl
c3RXZWJLaXRBUEkudmN4cHJvai9UZXN0V2ViS2l0QVBJLnZjeHByb2ouZmlsdGVyczoKKyAgICAg
ICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvSFRNTFBhcnNlcklkaW9t
cy5jcHA6IEFkZGVkLgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6dGVzdFBhcnNlSFRNTEludGVn
ZXIpOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6cGFyc2VIVE1MSW50ZWdlckZhaWxzKToKKyAg
ICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6dGVz
dFBhcnNlSFRNTE5vbk5lZ2F0aXZlSW50ZWdlcik6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpw
YXJzZUhUTUxOb25OZWdhdGl2ZUludGVnZXJGYWlscyk6CisKIDIwMTYtMDItMjYgIEFuZGVycyBD
YXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBXS1dlYnNpdGVEYXRhU3Rv
cmUvV0tXZWJzaXRlRGF0YVJlY29yZCBuZWVkcyB0byBwcm92aWRlIHNpemUgaW5mb3JtYXRpb24g
YWJvdXQgZWFjaCB0eXBlIG9mIGRhdGEKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
UGxhdGZvcm1FZmwuY21ha2UgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1BsYXRmb3JtRWZsLmNtYWtl
CmluZGV4IDkyYzIwNzNlNGQ4NzcyYmE3ZDAyMzk1ZmM3MDBlYjE1ODZiMThhMDMuLmVjOTA1Yzk5
ZDY1YWE1YTUyNDkzNzJjNWI4MWY3MmU1ODA1MTE1MGIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvUGxhdGZvcm1FZmwuY21ha2UKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9QbGF0
Zm9ybUVmbC5jbWFrZQpAQCAtNTgsNiArNTgsNyBAQCBsaXN0KEFQUEVORCBUZXN0SmF2YVNjcmlw
dENvcmVfTElCUkFSSUVTCiAKIHNldCh0ZXN0X3dlYmNvcmVfQklOQVJJRVMKICAgICBDU1NQYXJz
ZXIKKyAgICBIVE1MUGFyc2VySWRpb21zCiAgICAgTGF5b3V0VW5pdAogICAgIFVSTAogKQpkaWZm
IC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9QbGF0Zm9ybUdUSy5jbWFrZSBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvUGxhdGZvcm1HVEsuY21ha2UKaW5kZXggMWMxYzJlMWM2MjExODJlNjg4NWI0
NjhkN2ZkMjNmMDk0NDFmNGQ1Mi4uZDkyODgzMjBjMjJiZDk0YjI4Njc0YzE3MjA3MWE0MmZlZWY3
MmI3ZCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9QbGF0Zm9ybUdUSy5jbWFrZQor
KysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1BsYXRmb3JtR1RLLmNtYWtlCkBAIC0xNDUsNiArMTQ1
LDcgQEAgYWRkX2V4ZWN1dGFibGUoVGVzdFdlYkNvcmUKICAgICAke3Rlc3RfbWFpbl9TT1VSQ0VT
fQogICAgICR7VGVzdFdlYkNvcmVHdGtfU09VUkNFU30KICAgICAke1RFU1RXRUJLSVRBUElfRElS
fS9UZXN0c0NvbnRyb2xsZXIuY3BwCisgICAgJHtURVNUV0VCS0lUQVBJX0RJUn0vVGVzdHMvV2Vi
Q29yZS9IVE1MUGFyc2VySWRpb21zLmNwcAogICAgICR7VEVTVFdFQktJVEFQSV9ESVJ9L1Rlc3Rz
L1dlYkNvcmUvTGF5b3V0VW5pdC5jcHAKICAgICAke1RFU1RXRUJLSVRBUElfRElSfS9UZXN0cy9X
ZWJDb3JlL1VSTC5jcHAKICAgICAke1RFU1RXRUJLSVRBUElfRElSfS9UZXN0cy9XZWJDb3JlL1No
YXJlZEJ1ZmZlci5jcHAKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvUGxhdGZvcm1X
aW4uY21ha2UgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1BsYXRmb3JtV2luLmNtYWtlCmluZGV4IDEx
MWVmNGNhNjYxYjQ2MmY3Nzg5ZDI2NzViMjYwMjVhZjIyNjJhMGMuLjY2ZGY0YjZjNzRmZjY0MmYz
ZWQ2ZjdjZjg3YjRkMDMzMjdlYmY3YzggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
UGxhdGZvcm1XaW4uY21ha2UKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9QbGF0Zm9ybVdpbi5j
bWFrZQpAQCAtNDAsNiArNDAsNyBAQCBzZXQoVGVzdFdlYkNvcmVMaWJfU09VUkNFUwogICAgICR7
VEVTVFdFQktJVEFQSV9ESVJ9L1Rlc3RzQ29udHJvbGxlci5jcHAKICAgICAke1RFU1RXRUJLSVRB
UElfRElSfS9UZXN0cy9XZWJDb3JlL0NhbGN1bGF0aW9uVmFsdWUuY3BwCiAgICAgJHtURVNUV0VC
S0lUQVBJX0RJUn0vVGVzdHMvV2ViQ29yZS9DU1NQYXJzZXIuY3BwCisgICAgJHtURVNUV0VCS0lU
QVBJX0RJUn0vVGVzdHMvV2ViQ29yZS9IVE1MUGFyc2VySWRpb21zLmNwcAogICAgICR7VEVTVFdF
QktJVEFQSV9ESVJ9L1Rlc3RzL1dlYkNvcmUvTGF5b3V0VW5pdC5jcHAKICAgICAke1RFU1RXRUJL
SVRBUElfRElSfS9UZXN0cy9XZWJDb3JlL1BhcnNlZENvbnRlbnRSYW5nZS5jcHAKICAgICAke1RF
U1RXRUJLSVRBUElfRElSfS9UZXN0cy9XZWJDb3JlL1RpbWVSYW5nZXMuY3BwCmRpZmYgLS1naXQg
YS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkudmN4cHJvai9UZXN0V2ViS2l0QVBJ
LnZjeHByb2ogYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkudmN4cHJvai9UZXN0
V2ViS2l0QVBJLnZjeHByb2oKaW5kZXggODdmNzlmNDc5MGJhMTcyNWIwYWQxOWJhNDliZmE1YjQx
MGUzMzA4NS4uNzBjNjUwMzE1MGY2OGE2OTE4YjI2MzE1ZTIzOWJlZGYxMjIxODc1ZSAxMDA2NDQK
LS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnZjeHByb2ovVGVzdFdlYktp
dEFQSS52Y3hwcm9qCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS52Y3hw
cm9qL1Rlc3RXZWJLaXRBUEkudmN4cHJvagpAQCAtMjk0LDYgKzI5NCw3IEBACiAgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxUZXN0c0NvbnRyb2xsZXIuY3BwIiAvPgogICAgIDxDbENvbXBpbGUg
SW5jbHVkZT0iLi5cVGVzdHNcV2ViQ29yZVxDYWxjdWxhdGlvblZhbHVlLmNwcCIgLz4KICAgICA8
Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFRlc3RzXFdlYkNvcmVcQ1NTUGFyc2VyLmNwcCIgLz4KKyAg
ICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFRlc3RzXFdlYkNvcmVcSFRNTFBhcnNlcklkaW9tcy5j
cHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxUZXN0c1xXZWJDb3JlXExheW91dFVu
aXQuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cVGVzdHNcV2ViQ29yZVxQYXJz
ZWRDb250ZW50UmFuZ2UuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cVGVzdHNc
V2ViQ29yZVxUaW1lUmFuZ2VzLmNwcCIgLz4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdFdlYktpdEFQSS52Y3hwcm9qL1Rlc3RXZWJLaXRBUEkudmN4cHJvai5maWx0ZXJzIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnZjeHByb2ovVGVzdFdlYktpdEFQSS52
Y3hwcm9qLmZpbHRlcnMKaW5kZXggODkwNzcyNDQzZTM3ZTM4ZWEzOGVjNTY0NmYwZjNhODMzZWQ3
M2UzNS4uZGJjODA2MTI3MDkxM2EzMWVkOTgzMjA4NjU5MDg4Zjk5YzZmZjg2MyAxMDA2NDQKLS0t
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnZjeHByb2ovVGVzdFdlYktpdEFQ
SS52Y3hwcm9qLmZpbHRlcnMKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJ
LnZjeHByb2ovVGVzdFdlYktpdEFQSS52Y3hwcm9qLmZpbHRlcnMKQEAgLTUxLDYgKzUxLDkgQEAK
ICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFRlc3RzXFdlYkNvcmVcd2luXEJpdG1hcEltYWdl
LmNwcCI+CiAgICAgICA8RmlsdGVyPlRlc3RzXFdlYkNvcmU8L0ZpbHRlcj4KICAgICA8L0NsQ29t
cGlsZT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFRlc3RzXFdlYkNvcmVcSFRNTFBhcnNl
cklkaW9tcy5jcHAiPgorICAgICAgPEZpbHRlcj5UZXN0c1xXZWJDb3JlPC9GaWx0ZXI+CisgICAg
PC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxUZXN0c1xXZWJDb3JlXExh
eW91dFVuaXQuY3BwIj4KICAgICAgIDxGaWx0ZXI+VGVzdHNcV2ViQ29yZTwvRmlsdGVyPgogICAg
IDwvQ2xDb21waWxlPgpAQCAtMTgxLDQgKzE4NCw0IEBACiAgICAgPE5vbmUgSW5jbHVkZT0iVGVz
dFdlYktpdEFQSVBvc3RCdWlsZC5jbWQiIC8+CiAgICAgPE5vbmUgSW5jbHVkZT0iVGVzdFdlYktp
dEFQSVByZUJ1aWxkLmNtZCIgLz4KICAgPC9JdGVtR3JvdXA+Ci08L1Byb2plY3Q+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQorPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCBkYTExZWM0NmQ5ZTU2NzlkNTAzNWJjZjIyMDg5NjU5NDkxMDJiN2E4Li5mNWZhMDZkMTE3Mzkw
YWQ3M2JjYzBkZjQwOTllNjNhNzhlOTViNDNlIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAt
MjY2LDYgKzI2Niw3IEBACiAJCTdDQ0U3RjRGMUE0MTFCQTQwMDQ0N0M0QyAvKiBSZXRhaW5QdHJI
YXNoaW5nLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEMwOTkxQzUwMTQzQzdENjgwMDc5OThGMiAvKiBSZXRhaW5QdHJIYXNoaW5nLmNwcCAqLzsgfTsK
IAkJN0NFRkE5NjYxQUMwQjlFMjAwQjkxMEZEIC8qIF9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3Rv
cmUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0VG
QTk2NDFBQzBCOUUyMDBCOTEwRkQgLyogX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZS5tbSAq
LzsgfTsKIAkJN0NGQkNBRTUxNzQzMjM4RjAwQjJCRkNGIC8qIFdpbGxMb2FkX0J1bmRsZS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0ZCQ0FFMzE3
NDMyMzhFMDBCMkJGQ0YgLyogV2lsbExvYWRfQnVuZGxlLmNwcCAqLzsgfTsKKwkJODNCODhBMzQx
QzgwMDU2RDAwQkIyNDE4IC8qIEhUTUxQYXJzZXJJZGlvbXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODNCODhBMzMxQzgwMDU2RDAwQkIyNDE4IC8q
IEhUTUxQYXJzZXJJZGlvbXMuY3BwICovOyB9OwogCQk4M0NGMUMzMDFDNEYxQjhCMDA2ODg0NDcg
LyogU3RyaW5nVXRpbGl0aWVzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gODNDRjFDMkMxQzRGMTlBRTAwNjg4NDQ3IC8qIFN0cmluZ1V0aWxpdGllcy5t
bSAqLzsgfTsKIAkJOTMwQUQ0MDIxNTA2OThEMDAwNjc5NzBGIC8qIGxvdHMtb2YtdGV4dC5odG1s
IGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkz
MEFENDAxMTUwNjk4QjMwMDY3OTcwRiAvKiBsb3RzLW9mLXRleHQuaHRtbCAqLzsgfTsKIAkJOTM2
MTAwMjkxNERDOTVBNzAwNjEzNzlEIC8qIGxvdHMtb2YtaWZyYW1lcy5odG1sIGluIENvcHkgUmVz
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzNjEwMDI4MTREQzk1
N0IwMDYxMzc5RCAvKiBsb3RzLW9mLWlmcmFtZXMuaHRtbCAqLzsgfTsKQEAgLTY0Nyw2ICs2NDgs
NyBAQAogCQk3Q0ZCQ0FERDE3NDMyMzRGMDBCMkJGQ0YgLyogV2lsbExvYWQuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2lsbExvYWQuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk3Q0ZCQ0FFMzE3NDMyMzhFMDBCMkJGQ0YgLyogV2lsbExvYWRfQnVu
ZGxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdpbGxMb2FkX0J1
bmRsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTgxQjUwMTkyMTQwRjIzMjMw
MEQ5RUI1OCAvKiBTdHJpbmdCdWlsZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFN0cmluZ0J1aWxkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk4M0I4OEEzMzFDODAwNTZEMDBCQjI0MTggLyogSFRNTFBhcnNlcklkaW9tcy5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBIVE1MUGFyc2VySWRpb21zLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODNDRjFDMkMxQzRGMTlBRTAwNjg4NDQ3IC8qIFN0
cmluZ1V0aWxpdGllcy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9
IFN0cmluZ1V0aWxpdGllcy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODZCRDE5
OTcxQTJEQjA1QjAwNkRDRjBBIC8qIFJlZkNvdW50ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gUmVmQ291bnRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCThBMkM3NTBEMTZDRUQ5NTUwMDI0RjM1MiAvKiBSZXNpemVXaW5kb3dBZnRlckNyYXNo
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlc2l6ZVdpbmRvd0Fm
dGVyQ3Jhc2guY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTAxMiw2ICsxMDE0
LDcgQEAKIAkJCQkyNjBCQTU3QTFCMUQyRUUyMDA0RkEwN0MgLyogREZBSGVscGVycy5oICovLAog
CQkJCTI2RjZFMUVGMUFEQzc0OUIwMERFNjk2QiAvKiBERkFNaW5pbWl6ZXIuY3BwICovLAogCQkJ
CTQxOTczQjVBMUFGMjI4NkEwMDZDN0IzNiAvKiBGaWxlU3lzdGVtLmNwcCAqLywKKwkJCQk4M0I4
OEEzMzFDODAwNTZEMDBCQjI0MTggLyogSFRNTFBhcnNlcklkaW9tcy5jcHAgKi8sCiAJCQkJMTQ0
NjQwMTIxNjdBODMwNTAwMEJEMjE4IC8qIExheW91dFVuaXQuY3BwICovLAogCQkJCUNEMjI1QzA3
MUM0NUE2OTIwMDE0MDc2MSAvKiBQYXJzZWRDb250ZW50UmFuZ2UuY3BwICovLAogCQkJCTQxOTcz
QjVDMUFGMjI4NzUwMDZDN0IzNiAvKiBTaGFyZWRCdWZmZXIuY3BwICovLApAQCAtMTg4MSw2ICsx
ODg0LDcgQEAKIAkJCQkyRTc3NjVDRjE2QzREODExMDBCQTJCQjEgLyogbWFpbk1hYy5tbSBpbiBT
b3VyY2VzICovLAogCQkJCTQxOTczQjVCMUFGMjI4NkEwMDZDN0IzNiAvKiBGaWxlU3lzdGVtLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUNEODlEMDNBMUM0RURCMkEwMDA0MEEwNCAvKiBXZWJDb3Jl
TlNVUkxTZXNzaW9uLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJODNCODhBMzQxQzgwMDU2RDAwQkIy
NDE4IC8qIEhUTUxQYXJzZXJJZGlvbXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTFDNEZCNkUx
QkFDQ0U1MDAwMzc0MkQwIC8qIFF1aWNrTG9vay5tbSBpbiBTb3VyY2VzICovLAogCQkJCTdBNTYy
MzExMUFENUFGM0UwMDk2QjkyMCAvKiBNZW51VHlwZXNGb3JNb3VzZUV2ZW50cy5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkxQUFEMTlGNzFDN0NFMjAzMDA4MzFFNDcgLyogQ29kaW5nLm1tIGluIFNv
dXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUv
SFRNTFBhcnNlcklkaW9tcy5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUv
SFRNTFBhcnNlcklkaW9tcy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzEwMDEzNTZiZDRhNzcxMmYwMDk4ZTFi
NGFmY2IwM2IzMjlhNTYyOQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViQ29yZS9IVE1MUGFyc2VySWRpb21zLmNwcApAQCAtMCwwICsxLDE2OCBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2luY2x1ZGUgIlRlc3QuaCIKKyNpbmNs
dWRlIDxXZWJDb3JlL0hUTUxQYXJzZXJJZGlvbXMuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZT
dHJpbmcuaD4KKwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK25hbWVzcGFjZSBUZXN0V2Vi
S2l0QVBJIHsKKworc3RhdGljIGludCB0ZXN0UGFyc2VIVE1MSW50ZWdlcihjb25zdCBTdHJpbmcm
IGlucHV0KQoreworICAgIGludCByZXN1bHQgPSAwOworICAgIGJvb2wgc3VjY2VzcyA9IHBhcnNl
SFRNTEludGVnZXIoaW5wdXQsIHJlc3VsdCk7CisgICAgRVhQRUNUX1RSVUUoc3VjY2Vzcyk7Cisg
ICAgcmV0dXJuIHJlc3VsdDsKK30KKworc3RhdGljIGJvb2wgcGFyc2VIVE1MSW50ZWdlckZhaWxz
KGNvbnN0IFN0cmluZyYgaW5wdXQpCit7CisgICAgaW50IHJlc3VsdCA9IDA7CisgICAgcmV0dXJu
ICFwYXJzZUhUTUxJbnRlZ2VyKGlucHV0LCByZXN1bHQpOworfQorCitURVNUKFdlYkNvcmVIVE1M
UGFyc2VySWRpb21zLCBwYXJzZUhUTUxJbnRlZ2VyKQoreworICAgIEVYUEVDVF9FUSgwLCB0ZXN0
UGFyc2VIVE1MSW50ZWdlcigiMCIpKTsKKyAgICBFWFBFQ1RfRVEoMCwgdGVzdFBhcnNlSFRNTElu
dGVnZXIoIi0wIikpOworICAgIEVYUEVDVF9FUSgwLCB0ZXN0UGFyc2VIVE1MSW50ZWdlcigiKzAi
KSk7CisgICAgRVhQRUNUX0VRKDEyMywgdGVzdFBhcnNlSFRNTEludGVnZXIoIjEyMyIpKTsKKyAg
ICBFWFBFQ1RfRVEoMTIzLCB0ZXN0UGFyc2VIVE1MSW50ZWdlcigiKzEyMyIpKTsKKyAgICBFWFBF
Q1RfRVEoLTEyMywgdGVzdFBhcnNlSFRNTEludGVnZXIoIi0xMjMiKSk7CisgICAgRVhQRUNUX0VR
KDEyMywgdGVzdFBhcnNlSFRNTEludGVnZXIoIiAgMTIzIikpOworICAgIEVYUEVDVF9FUSgxMjMs
IHRlc3RQYXJzZUhUTUxJbnRlZ2VyKCIxMjMgICAiKSk7CisgICAgRVhQRUNUX0VRKDEyMywgdGVz
dFBhcnNlSFRNTEludGVnZXIoIiAgIDEyMyAgICIpKTsKKyAgICBFWFBFQ1RfRVEoMTIzLCB0ZXN0
UGFyc2VIVE1MSW50ZWdlcigiMTIzYWJjIikpOworICAgIEVYUEVDVF9FUSgtMTIzLCB0ZXN0UGFy
c2VIVE1MSW50ZWdlcigiLTEyM2FiYyIpKTsKKyAgICBFWFBFQ1RfRVEoMTIzLCB0ZXN0UGFyc2VI
VE1MSW50ZWdlcigiICArMTIzIikpOworICAgIEVYUEVDVF9FUSgtMTIzLCB0ZXN0UGFyc2VIVE1M
SW50ZWdlcigiICAtMTIzIikpOworICAgIEVYUEVDVF9FUSgxMiwgdGVzdFBhcnNlSFRNTEludGVn
ZXIoIiAgIDEyIDMiKSk7CisgICAgRVhQRUNUX0VRKDEsIHRlc3RQYXJzZUhUTUxJbnRlZ2VyKCIx
LjAiKSk7CisgICAgRVhQRUNUX0VRKDEsIHRlc3RQYXJzZUhUTUxJbnRlZ2VyKCIxLiIpKTsKKyAg
ICBFWFBFQ1RfRVEoMSwgdGVzdFBhcnNlSFRNTEludGVnZXIoIjFlMSIpKTsKKworICAgIC8vIEFs
bCBIVE1MIHdoaXRlc3BhY2VzLgorICAgIEVYUEVDVF9FUSgxMjMsIHRlc3RQYXJzZUhUTUxJbnRl
Z2VyKCIgXHRcclxuXGYxMjMiKSk7CisKKyAgICAvLyBCb3VuZGFyaWVzLgorICAgIEVYUEVDVF9F
USgtMjE0NzQ4MzY0OCwgdGVzdFBhcnNlSFRNTEludGVnZXIoIi0yMTQ3NDgzNjQ4IikpOworICAg
IEVYUEVDVF9FUSgyMTQ3NDgzNjQ3LCB0ZXN0UGFyc2VIVE1MSW50ZWdlcigiMjE0NzQ4MzY0NyIp
KTsKKworICAgIC8vIEZhaWx1cmUgY2FzZXMuCisgICAgRVhQRUNUX1RSVUUocGFyc2VIVE1MSW50
ZWdlckZhaWxzKCItMjE0NzQ4MzY0OSIpKTsKKyAgICBFWFBFQ1RfVFJVRShwYXJzZUhUTUxJbnRl
Z2VyRmFpbHMoIjIxNDc0ODM2NDgiKSk7CisgICAgRVhQRUNUX1RSVUUocGFyc2VIVE1MSW50ZWdl
ckZhaWxzKCIxMTExMTExMTExMTExMTExMTEiKSk7CisgICAgRVhQRUNUX1RSVUUocGFyc2VIVE1M
SW50ZWdlckZhaWxzKCIiKSk7CisgICAgRVhQRUNUX1RSVUUocGFyc2VIVE1MSW50ZWdlckZhaWxz
KCIgIikpOworICAgIEVYUEVDVF9UUlVFKHBhcnNlSFRNTEludGVnZXJGYWlscygiICAgIikpOwor
ICAgIEVYUEVDVF9UUlVFKHBhcnNlSFRNTEludGVnZXJGYWlscygiKyIpKTsKKyAgICBFWFBFQ1Rf
VFJVRShwYXJzZUhUTUxJbnRlZ2VyRmFpbHMoIisgMTIzIikpOworICAgIEVYUEVDVF9UUlVFKHBh
cnNlSFRNTEludGVnZXJGYWlscygiLSIpKTsKKyAgICBFWFBFQ1RfVFJVRShwYXJzZUhUTUxJbnRl
Z2VyRmFpbHMoIi0gMTIzIikpOworICAgIEVYUEVDVF9UUlVFKHBhcnNlSFRNTEludGVnZXJGYWls
cygiYSIpKTsKKyAgICBFWFBFQ1RfVFJVRShwYXJzZUhUTUxJbnRlZ2VyRmFpbHMoIi1hIikpOwor
ICAgIEVYUEVDVF9UUlVFKHBhcnNlSFRNTEludGVnZXJGYWlscygiKy0xMjMiKSk7CisgICAgRVhQ
RUNUX1RSVUUocGFyc2VIVE1MSW50ZWdlckZhaWxzKCItKzEyMyIpKTsKKyAgICBFWFBFQ1RfVFJV
RShwYXJzZUhUTUxJbnRlZ2VyRmFpbHMoIisrMTIzIikpOworICAgIEVYUEVDVF9UUlVFKHBhcnNl
SFRNTEludGVnZXJGYWlscygiLS0xMjMiKSk7CisgICAgRVhQRUNUX1RSVUUocGFyc2VIVE1MSW50
ZWdlckZhaWxzKCJcdjEyMyIpKTsgLy8gJ1x2JyBpcyBhbiBBU0NJSSBzcGFjZSBidXQgbm90IGFu
IEhUTUwgd2hpdGVzcGFjZS4KKyAgICBFWFBFQ1RfVFJVRShwYXJzZUhUTUxJbnRlZ2VyRmFpbHMo
ImExMjMiKSk7CisgICAgRVhQRUNUX1RSVUUocGFyc2VIVE1MSW50ZWdlckZhaWxzKCIrYTEyMyIp
KTsKKyAgICBFWFBFQ1RfVFJVRShwYXJzZUhUTUxJbnRlZ2VyRmFpbHMoIi1hMTIzIikpOworICAg
IEVYUEVDVF9UUlVFKHBhcnNlSFRNTEludGVnZXJGYWlscygiLjEiKSk7CisgICAgRVhQRUNUX1RS
VUUocGFyc2VIVE1MSW50ZWdlckZhaWxzKCJpbmZpbml0eSIpKTsKK30KKworc3RhdGljIHVuc2ln
bmVkIHRlc3RQYXJzZUhUTUxOb25OZWdhdGl2ZUludGVnZXIoY29uc3QgU3RyaW5nJiBpbnB1dCkK
K3sKKyAgICB1bnNpZ25lZCByZXN1bHQgPSAwOworICAgIGJvb2wgc3VjY2VzcyA9IHBhcnNlSFRN
TE5vbk5lZ2F0aXZlSW50ZWdlcihpbnB1dCwgcmVzdWx0KTsKKyAgICBFWFBFQ1RfVFJVRShzdWNj
ZXNzKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitzdGF0aWMgYm9vbCBwYXJzZUhUTUxOb25O
ZWdhdGl2ZUludGVnZXJGYWlscyhjb25zdCBTdHJpbmcmIGlucHV0KQoreworICAgIHVuc2lnbmVk
IHJlc3VsdCA9IDA7CisgICAgcmV0dXJuICFwYXJzZUhUTUxOb25OZWdhdGl2ZUludGVnZXIoaW5w
dXQsIHJlc3VsdCk7Cit9CisKK1RFU1QoV2ViQ29yZUhUTUxQYXJzZXJJZGlvbXMsIHBhcnNlSFRN
TE5vbk5lZ2F0aXZlSW50ZWdlcikKK3sKKyAgICBFWFBFQ1RfRVEoMTIzdSwgdGVzdFBhcnNlSFRN
TE5vbk5lZ2F0aXZlSW50ZWdlcigiMTIzIikpOworICAgIEVYUEVDVF9FUSgxMjN1LCB0ZXN0UGFy
c2VIVE1MTm9uTmVnYXRpdmVJbnRlZ2VyKCIrMTIzIikpOworICAgIEVYUEVDVF9FUSgxMjN1LCB0
ZXN0UGFyc2VIVE1MTm9uTmVnYXRpdmVJbnRlZ2VyKCIgIDEyMyIpKTsKKyAgICBFWFBFQ1RfRVEo
MTIzdSwgdGVzdFBhcnNlSFRNTE5vbk5lZ2F0aXZlSW50ZWdlcigiMTIzICAgIikpOworICAgIEVY
UEVDVF9FUSgxMjN1LCB0ZXN0UGFyc2VIVE1MTm9uTmVnYXRpdmVJbnRlZ2VyKCIgICAxMjMgICAi
KSk7CisgICAgRVhQRUNUX0VRKDEyM3UsIHRlc3RQYXJzZUhUTUxOb25OZWdhdGl2ZUludGVnZXIo
IjEyM2FiYyIpKTsKKyAgICBFWFBFQ1RfRVEoMTIzdSwgdGVzdFBhcnNlSFRNTE5vbk5lZ2F0aXZl
SW50ZWdlcigiICArMTIzIikpOworICAgIEVYUEVDVF9FUSgxMnUsIHRlc3RQYXJzZUhUTUxOb25O
ZWdhdGl2ZUludGVnZXIoIiAgIDEyIDMiKSk7CisgICAgRVhQRUNUX0VRKDF1LCB0ZXN0UGFyc2VI
VE1MTm9uTmVnYXRpdmVJbnRlZ2VyKCIxLjAiKSk7CisgICAgRVhQRUNUX0VRKDF1LCB0ZXN0UGFy
c2VIVE1MTm9uTmVnYXRpdmVJbnRlZ2VyKCIxLiIpKTsKKyAgICBFWFBFQ1RfRVEoMXUsIHRlc3RQ
YXJzZUhUTUxOb25OZWdhdGl2ZUludGVnZXIoIjFlMSIpKTsKKworICAgIC8vIEFsbCBIVE1MIHdo
aXRlc3BhY2VzLgorICAgIEVYUEVDVF9FUSgxMjN1LCB0ZXN0UGFyc2VIVE1MTm9uTmVnYXRpdmVJ
bnRlZ2VyKCIgXHRcclxuXGYxMjMiKSk7CisKKyAgICAvLyBCb3VuZGFyaWVzLgorICAgIEVYUEVD
VF9FUSgwdSwgdGVzdFBhcnNlSFRNTE5vbk5lZ2F0aXZlSW50ZWdlcigiKzAiKSk7CisgICAgRVhQ
RUNUX0VRKDB1LCB0ZXN0UGFyc2VIVE1MTm9uTmVnYXRpdmVJbnRlZ2VyKCIwIikpOworICAgIC8v
IEZJWE1FOiBUaGlzIHNob3VsZCBwYXNzLgorICAgIC8vIEVYUEVDVF9FUSgwdSwgdGVzdFBhcnNl
SFRNTE5vbk5lZ2F0aXZlSW50ZWdlcigiLTAiKSk7CisgICAgRVhQRUNUX0VRKDQyOTQ5NjcyOTV1
LCB0ZXN0UGFyc2VIVE1MTm9uTmVnYXRpdmVJbnRlZ2VyKCI0Mjk0OTY3Mjk1IikpOworCisgICAg
Ly8gRmFpbHVyZSBjYXNlcy4KKyAgICBFWFBFQ1RfVFJVRShwYXJzZUhUTUxOb25OZWdhdGl2ZUlu
dGVnZXJGYWlscygiLTEiKSk7CisgICAgRVhQRUNUX1RSVUUocGFyc2VIVE1MTm9uTmVnYXRpdmVJ
bnRlZ2VyRmFpbHMoIjQyOTQ5NjcyOTYiKSk7CisgICAgRVhQRUNUX1RSVUUocGFyc2VIVE1MTm9u
TmVnYXRpdmVJbnRlZ2VyRmFpbHMoIjExMTExMTExMTExMTExMTExMSIpKTsKKyAgICBFWFBFQ1Rf
VFJVRShwYXJzZUhUTUxOb25OZWdhdGl2ZUludGVnZXJGYWlscygiICAtMTIzIikpOworICAgIEVY
UEVDVF9UUlVFKHBhcnNlSFRNTE5vbk5lZ2F0aXZlSW50ZWdlckZhaWxzKCItMTIzIikpOworICAg
IEVYUEVDVF9UUlVFKHBhcnNlSFRNTE5vbk5lZ2F0aXZlSW50ZWdlckZhaWxzKCItMTIzYWJjIikp
OworICAgIEVYUEVDVF9UUlVFKHBhcnNlSFRNTE5vbk5lZ2F0aXZlSW50ZWdlckZhaWxzKCIiKSk7
CisgICAgRVhQRUNUX1RSVUUocGFyc2VIVE1MTm9uTmVnYXRpdmVJbnRlZ2VyRmFpbHMoIiAiKSk7
CisgICAgRVhQRUNUX1RSVUUocGFyc2VIVE1MTm9uTmVnYXRpdmVJbnRlZ2VyRmFpbHMoIiAgICIp
KTsKKyAgICBFWFBFQ1RfVFJVRShwYXJzZUhUTUxOb25OZWdhdGl2ZUludGVnZXJGYWlscygiKyIp
KTsKKyAgICBFWFBFQ1RfVFJVRShwYXJzZUhUTUxOb25OZWdhdGl2ZUludGVnZXJGYWlscygiKyAx
MjMiKSk7CisgICAgRVhQRUNUX1RSVUUocGFyc2VIVE1MTm9uTmVnYXRpdmVJbnRlZ2VyRmFpbHMo
Ii0iKSk7CisgICAgRVhQRUNUX1RSVUUocGFyc2VIVE1MTm9uTmVnYXRpdmVJbnRlZ2VyRmFpbHMo
Ii0gMTIzIikpOworICAgIEVYUEVDVF9UUlVFKHBhcnNlSFRNTE5vbk5lZ2F0aXZlSW50ZWdlckZh
aWxzKCJhIikpOworICAgIEVYUEVDVF9UUlVFKHBhcnNlSFRNTE5vbk5lZ2F0aXZlSW50ZWdlckZh
aWxzKCItYSIpKTsKKyAgICBFWFBFQ1RfVFJVRShwYXJzZUhUTUxOb25OZWdhdGl2ZUludGVnZXJG
YWlscygiKy0xMjMiKSk7CisgICAgRVhQRUNUX1RSVUUocGFyc2VIVE1MTm9uTmVnYXRpdmVJbnRl
Z2VyRmFpbHMoIi0rMTIzIikpOworICAgIEVYUEVDVF9UUlVFKHBhcnNlSFRNTE5vbk5lZ2F0aXZl
SW50ZWdlckZhaWxzKCIrKzEyMyIpKTsKKyAgICBFWFBFQ1RfVFJVRShwYXJzZUhUTUxOb25OZWdh
dGl2ZUludGVnZXJGYWlscygiLS0xMjMiKSk7CisgICAgRVhQRUNUX1RSVUUocGFyc2VIVE1MTm9u
TmVnYXRpdmVJbnRlZ2VyRmFpbHMoIlx2MTIzIikpOyAvLyAnXHYnIGlzIGFuIEFTQ0lJIHNwYWNl
IGJ1dCBub3QgYW4gSFRNTCB3aGl0ZXNwYWNlLgorICAgIEVYUEVDVF9UUlVFKHBhcnNlSFRNTE5v
bk5lZ2F0aXZlSW50ZWdlckZhaWxzKCJhMTIzIikpOworICAgIEVYUEVDVF9UUlVFKHBhcnNlSFRN
TE5vbk5lZ2F0aXZlSW50ZWdlckZhaWxzKCIrYTEyMyIpKTsKKyAgICBFWFBFQ1RfVFJVRShwYXJz
ZUhUTUxOb25OZWdhdGl2ZUludGVnZXJGYWlscygiLWExMjMiKSk7CisgICAgRVhQRUNUX1RSVUUo
cGFyc2VIVE1MTm9uTmVnYXRpdmVJbnRlZ2VyRmFpbHMoIi4xIikpOworICAgIEVYUEVDVF9UUlVF
KHBhcnNlSFRNTE5vbk5lZ2F0aXZlSW50ZWdlckZhaWxzKCJpbmZpbml0eSIpKTsKK30KKworfSAv
LyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>