<?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>213715</bug_id>
          
          <creation_ts>2020-06-29 01:52:52 -0700</creation_ts>
          <short_desc>%TypedArray%.prototype.{indexOf,lastIndexOf} are not spec-perfect</short_desc>
          <delta_ts>2020-09-22 16:08:23 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Minor</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Shvayka">ashvayka</reporter>
          <assigned_to name="Alexey Shvayka">ashvayka</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>nisl_grammarly1</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1667012</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-06-29 01:52:52 -0700</bug_when>
    <thetext>%TypedArray%.prototype.{indexOf,lastIndexOf} are not spec-perfect</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1667013</commentid>
    <comment_count>1</comment_count>
      <attachid>403037</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-06-29 01:54:22 -0700</bug_when>
    <thetext>Created attachment 403037
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1667016</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-06-29 01:57:41 -0700</bug_when>
    <thetext>(In reply to Alexey Shvayka from comment #1)
&gt; Created attachment 403037 [details]
&gt; Patch

Warmed-up runs, --outer 48:

                                   r263638                    patch                                       

array-indexOf-empty            221.3595+-2.9548     ^    108.8428+-1.7148        ^ definitely 2.0338x faster
typed-array-indexOf-empty      146.0446+-2.7547     ^    115.9307+-1.8323        ^ definitely 1.2598x faster

&lt;geometric&gt;                    179.6698+-2.0843     ^    112.2352+-1.1371        ^ definitely 1.6008x faster</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1667084</commentid>
    <comment_count>3</comment_count>
      <attachid>403037</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-06-29 07:32:27 -0700</bug_when>
    <thetext>Comment on attachment 403037
Patch

r=me. Can you also ensure that DFG/FTL ArrayIndexOf follows to this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1668812</commentid>
    <comment_count>4</comment_count>
      <attachid>403530</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-07-04 11:38:32 -0700</bug_when>
    <thetext>Created attachment 403530
Patch

Add DFG/FTL stress test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1668813</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-07-04 11:38:48 -0700</bug_when>
    <thetext>(In reply to Yusuke Suzuki from comment #3)
&gt; Comment on attachment 403037 [details]
&gt; Patch
&gt; 
&gt; r=me. Can you also ensure that DFG/FTL ArrayIndexOf follows to this?

ArrayIndexOf OSR exit via SpeculateInt32Operand at SpeculativeJIT::emitPopulateSliceIndex() if `fromIndex` parameter is an object.
That&apos;s the reason of such performance boost.
I&apos;ve added a stress test to ensure ToInteger() after &quot;length&quot; order.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1668827</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-07-04 13:06:59 -0700</bug_when>
    <thetext>Committed r263944: &lt;https://trac.webkit.org/changeset/263944&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 403530.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1668829</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-07-04 13:07:30 -0700</bug_when>
    <thetext>&lt;rdar://problem/65098390&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1690925</commentid>
    <comment_count>8</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2020-09-22 16:08:23 -0700</bug_when>
    <thetext>*** Bug 216817 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>403037</attachid>
            <date>2020-06-29 01:54:22 -0700</date>
            <delta_ts>2020-07-04 11:38:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213715-20200629115421.patch</filename>
            <type>text/plain</type>
            <size>9043</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzNjQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
ZjYxNzRjNjQ4ZmJlMWFmNmZlYmQ5ZDQ4NDdiMGM0MWU1YmQyNjJlLi4zNDk5MjNmMzAyZjE4ZDhk
ODgyYjVmMzcwNmQ5M2Y2OTczNjYzZjM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMyBAQAorMjAyMC0wNi0yOSAgQWxleGV5IFNodmF5a2EgIDxzaHZhaWthbGVzaEBnbWFp
bC5jb20+CisKKyAgICAgICAgJVR5cGVkQXJyYXklLnByb3RvdHlwZS57aW5kZXhPZixsYXN0SW5k
ZXhPZn0gYXJlIG5vdCBzcGVjLXBlcmZlY3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIxMzcxNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2g6CisKKyAgICAgICAgMS4gSW1wbGVtZW50cyBz
dGVwIDMgb2Yge0FycmF5LCVUeXBlZEFycmF5JX0ucHJvdG90eXBlLmluZGV4T2YgWzFdIGFuZAor
ICAgICAgICAgICAlVHlwZWRBcnJheSUucHJvdG90eXBlLmxhc3RJbmRleE9mIFsyXSBzaW5jZSBp
dCBpcyBvYnNlcnZhYmxlIHdoZW4KKyAgICAgICAgICAgc2Vjb25kIGFyZ3VtZW50IGlzIGFuIG9i
amVjdCB3aXRoIHVzZXJsYW5kIHRvU3RyaW5nKCkgb3IgdmFsdWVPZigpIG1ldGhvZC4KKyAgICAg
ICAgICAgQWR2YW5jZXMgcHJvdmlkZWQgbWljcm9iZW5jaG1hcmsgYnkgMTAwJSBmb3IgQXJyYXkg
YW5kIGJ5IDI1JSBmb3IgJVR5cGVkQXJyYXklLgorCisgICAgICAgIDIuIFJlbW92ZXMgYXJndW1l
bnQgY291bnQgY2hlY2sgZnJvbSAlVHlwZWRBcnJheSUucHJvdG90eXBlLntpbmRleE9mLGxhc3RJ
bmRleE9mfSwKKyAgICAgICAgICAgYWxsb3dpbmcgdG8gaW52b2tlIHRoZXNlIG1ldGhvZHMgdy9v
IGFyZ3VtZW50cy4gVGhlIHNwZWMgdHJlYXRzIG1pc3NpbmcKKyAgICAgICAgICAgYXJndW1lbnRz
IGFzIGB1bmRlZmluZWRgLCBhbHdheXMgcmV0dXJuaW5nIC0xIGZvciB0eXBlZCBhcnJheXMuCisK
KyAgICAgICAgVGhlc2UgY2hhbmdlcyBhbGlnbiBKU0Mgd2l0aCBWOCBhbmQgU3BpZGVyTW9ua2V5
LgorCisgICAgICAgIFsxXTogaHR0cHM6Ly90YzM5LmVzL2VjbWEyNjIvI3NlYy1hcnJheS5wcm90
b3R5cGUuaW5kZXhvZgorICAgICAgICBbMl06IGh0dHBzOi8vdGMzOS5lcy9lY21hMjYyLyNzZWMt
JXR5cGVkYXJyYXklLnByb3RvdHlwZS5sYXN0aW5kZXhvZgorCisgICAgICAgICogcnVudGltZS9B
cnJheVByb3RvdHlwZS5jcHA6CisgICAgICAgIChKU0M6OmFycmF5UHJvdG9GdW5jSW5kZXhPZik6
CisgICAgICAgIChKU0M6OmFycmF5UHJvdG9GdW5jTGFzdEluZGV4T2YpOgorICAgICAgICAqIHJ1
bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJheVZpZXdQcm90b3R5cGVGdW5jdGlvbnMuaDoKKyAgICAg
ICAgKEpTQzo6Z2VuZXJpY1R5cGVkQXJyYXlWaWV3UHJvdG9GdW5jSW5kZXhPZik6CisgICAgICAg
IChKU0M6OmdlbmVyaWNUeXBlZEFycmF5Vmlld1Byb3RvRnVuY0xhc3RJbmRleE9mKToKKwogMjAy
MC0wNi0yOCAgR2VvZmZyZXkgR2FyZW4gIDxnZ2FyZW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJl
bmFtZSBpbml0aWFsaXplVGhyZWFkaW5nIHRvIGluaXRpYWxpemUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAppbmRleCBlYWEwZjFmMmE5N2E0
OGQ5ZWUxODUwOGQxOWM1NDA0OTg5ZjRlNTgyLi4zM2ViMmQ2NGZhNDY1ZDg0YmRjNGZlNjUwZmYz
OWNiNWJmN2Y1NDNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9B
cnJheVByb3RvdHlwZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJy
YXlQcm90b3R5cGUuY3BwCkBAIC0xMzg1LDYgKzEzODUsOCBAQCBFbmNvZGVkSlNWYWx1ZSBKU0Nf
SE9TVF9DQUxMIGFycmF5UHJvdG9GdW5jSW5kZXhPZihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LAogICAgICAgICByZXR1cm4geyB9OwogICAgIHVpbnQ2NF90IGxlbmd0aCA9IHN0YXRpY19j
YXN0PHVpbnQ2NF90Pih0b0xlbmd0aChnbG9iYWxPYmplY3QsIHRoaXNPYmplY3QpKTsKICAgICBS
RVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB7IH0pOworICAgIGlmICghbGVuZ3RoKQorICAgICAg
ICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTnVtYmVyKC0xKSk7CiAKICAgICB1aW50NjRfdCBp
bmRleCA9IGFyZ3VtZW50Q2xhbXBlZEluZGV4RnJvbVN0YXJ0T3JFbmQoZ2xvYmFsT2JqZWN0LCBj
YWxsRnJhbWUtPmFyZ3VtZW50KDEpLCBsZW5ndGgpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04o
c2NvcGUsIHsgfSk7CkBAIC0xNDIyLDcgKzE0MjQsOCBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9T
VF9DQUxMIGFycmF5UHJvdG9GdW5jTGFzdEluZGV4T2YoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
agogICAgIGlmIChVTkxJS0VMWSghdGhpc09iamVjdCkpCiAgICAgICAgIHJldHVybiB7IH07CiAg
ICAgdWludDY0X3QgbGVuZ3RoID0gc3RhdGljX2Nhc3Q8dWludDY0X3Q+KHRvTGVuZ3RoKGdsb2Jh
bE9iamVjdCwgdGhpc09iamVjdCkpOwotICAgIGlmIChVTkxJS0VMWShzY29wZS5leGNlcHRpb24o
KSkgfHwgIWxlbmd0aCkKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB7IH0pOworICAg
IGlmICghbGVuZ3RoKQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTnVtYmVyKC0x
KSk7CiAKICAgICB1aW50NjRfdCBpbmRleCA9IGxlbmd0aCAtIDE7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dlbmVyaWNUeXBlZEFycmF5Vmlld1Byb3RvdHlw
ZUZ1bmN0aW9ucy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHZW5lcmljVHlw
ZWRBcnJheVZpZXdQcm90b3R5cGVGdW5jdGlvbnMuaAppbmRleCA3OGVmODAyZmFiMDRjNmNkOWMw
YjY4Zjc1NjI1YTVlNmUxM2ZjODkwLi5hMDNkZjMxYWMyNDI4NzA3ODlhMWViN2ZlNGI2ZGUxOGFi
Nzg2OWNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dlbmVy
aWNUeXBlZEFycmF5Vmlld1Byb3RvdHlwZUZ1bmN0aW9ucy5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTR2VuZXJpY1R5cGVkQXJyYXlWaWV3UHJvdG90eXBlRnVuY3Rpb25z
LmgKQEAgLTIzMywxMSArMjMzLDExIEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZ2Vu
ZXJpY1R5cGVkQXJyYXlWaWV3UHJvdG9GdW5jSW5kZXhPZihWTSYgdm0sIEpTR2xvCiAgICAgaWYg
KHRoaXNPYmplY3QtPmlzTmV1dGVyZWQoKSkKICAgICAgICAgcmV0dXJuIHRocm93Vk1UeXBlRXJy
b3IoZ2xvYmFsT2JqZWN0LCBzY29wZSwgdHlwZWRBcnJheUJ1ZmZlckhhc0JlZW5EZXRhY2hlZEVy
cm9yTWVzc2FnZSk7CiAKLSAgICBpZiAoIWNhbGxGcmFtZS0+YXJndW1lbnRDb3VudCgpKQotICAg
ICAgICByZXR1cm4gdGhyb3dWTVR5cGVFcnJvcihnbG9iYWxPYmplY3QsIHNjb3BlLCAiRXhwZWN0
ZWQgYXQgbGVhc3Qgb25lIGFyZ3VtZW50Il9zKTsKLQogICAgIHVuc2lnbmVkIGxlbmd0aCA9IHRo
aXNPYmplY3QtPmxlbmd0aCgpOwogCisgICAgaWYgKCFsZW5ndGgpCisgICAgICAgIHJldHVybiBK
U1ZhbHVlOjplbmNvZGUoanNOdW1iZXIoLTEpKTsKKwogICAgIEpTVmFsdWUgdmFsdWVUb0ZpbmQg
PSBjYWxsRnJhbWUtPmFyZ3VtZW50KDApOwogICAgIHVuc2lnbmVkIGluZGV4ID0gYXJndW1lbnRD
bGFtcGVkSW5kZXhGcm9tU3RhcnRPckVuZChnbG9iYWxPYmplY3QsIGNhbGxGcmFtZS0+YXJndW1l
bnQoMSksIGxlbmd0aCk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgZW5jb2RlZEpT
VmFsdWUoKSk7CkBAIC0zMDksMTEgKzMwOSwxMSBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9D
QUxMIGdlbmVyaWNUeXBlZEFycmF5Vmlld1Byb3RvRnVuY0xhc3RJbmRleE9mKFZNJiB2bSwgSgog
ICAgIGlmICh0aGlzT2JqZWN0LT5pc05ldXRlcmVkKCkpCiAgICAgICAgIHJldHVybiB0aHJvd1ZN
VHlwZUVycm9yKGdsb2JhbE9iamVjdCwgc2NvcGUsIHR5cGVkQXJyYXlCdWZmZXJIYXNCZWVuRGV0
YWNoZWRFcnJvck1lc3NhZ2UpOwogCi0gICAgaWYgKCFjYWxsRnJhbWUtPmFyZ3VtZW50Q291bnQo
KSkKLSAgICAgICAgcmV0dXJuIHRocm93Vk1UeXBlRXJyb3IoZ2xvYmFsT2JqZWN0LCBzY29wZSwg
IkV4cGVjdGVkIGF0IGxlYXN0IG9uZSBhcmd1bWVudCJfcyk7Ci0KICAgICB1bnNpZ25lZCBsZW5n
dGggPSB0aGlzT2JqZWN0LT5sZW5ndGgoKTsKIAorICAgIGlmICghbGVuZ3RoKQorICAgICAgICBy
ZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTnVtYmVyKC0xKSk7CisKICAgICBKU1ZhbHVlIHZhbHVl
VG9GaW5kID0gY2FsbEZyYW1lLT5hcmd1bWVudCgwKTsKIAogICAgIGludCBpbmRleCA9IGxlbmd0
aCAtIDE7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL0NoYW5nZUxvZyBiL0pTVGVzdHMvQ2hhbmdlTG9n
CmluZGV4IGE2MzU5N2Y0YTIwZWQ2MWU2NmYyODk4OTg1ZGVmN2Q2NTVmMDljMTkuLmFhMWI2NWIx
NDQ1ZThhYjQ0NGRlYTNiODIzZjIzODU4Mjg0MDNjYmUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0pTVGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjAtMDYt
MjkgIEFsZXhleSBTaHZheWthICA8c2h2YWlrYWxlc2hAZ21haWwuY29tPgorCisgICAgICAgICVU
eXBlZEFycmF5JS5wcm90b3R5cGUue2luZGV4T2YsbGFzdEluZGV4T2Z9IGFyZSBub3Qgc3BlYy1w
ZXJmZWN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MTM3MTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IG1pY3JvYmVuY2htYXJrcy9hcnJheS1wcm90b3R5cGUtaW5kZXhPZi1lbXB0eS5qczogQWRkZWQu
CisgICAgICAgICogbWljcm9iZW5jaG1hcmtzL3R5cGVkLWFycmF5LWluZGV4T2YtZW1wdHkuanM6
IEFkZGVkLgorICAgICAgICAqIHRlc3QyNjIvZXhwZWN0YXRpb25zLnlhbWw6IE1hcmsgMTAgdGVz
dCBjYXNlcyBhcyBwYXNzaW5nLgorCiAyMDIwLTA2LTI2ICBZdXN1a2UgU3V6dWtpICA8eXN1enVr
aUBhcHBsZS5jb20+CiAKICAgICAgICAgVXBkYXRlIHRlc3QyNjIKZGlmZiAtLWdpdCBhL0pTVGVz
dHMvbWljcm9iZW5jaG1hcmtzL2FycmF5LXByb3RvdHlwZS1pbmRleE9mLWVtcHR5LmpzIGIvSlNU
ZXN0cy9taWNyb2JlbmNobWFya3MvYXJyYXktcHJvdG90eXBlLWluZGV4T2YtZW1wdHkuanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTYyZjFlNjVkMDNmYzMzMGFlMTdjMjA2OTk0YjNjZjczYWJjZTkxMgotLS0gL2Rl
di9udWxsCisrKyBiL0pTVGVzdHMvbWljcm9iZW5jaG1hcmtzL2FycmF5LXByb3RvdHlwZS1pbmRl
eE9mLWVtcHR5LmpzCkBAIC0wLDAgKzEsNSBAQAordmFyIGVtcHR5ID0gW107Citub0lubGluZShB
cnJheS5wcm90b3R5cGUuaW5kZXhPZik7CisKK2ZvciAodmFyIGkgPSAwOyBpIDwgMWU3OyArK2kp
CisgICAgZW1wdHkuaW5kZXhPZigxKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvbWljcm9iZW5jaG1h
cmtzL3R5cGVkLWFycmF5LWluZGV4T2YtZW1wdHkuanMgYi9KU1Rlc3RzL21pY3JvYmVuY2htYXJr
cy90eXBlZC1hcnJheS1pbmRleE9mLWVtcHR5LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQxMTYxMmU5MzFiNGUy
MzM2N2JiMmI2Nzc3NzMwMTY1OWExZWE1NjEKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL21p
Y3JvYmVuY2htYXJrcy90eXBlZC1hcnJheS1pbmRleE9mLWVtcHR5LmpzCkBAIC0wLDAgKzEsNSBA
QAordmFyIGVtcHR5ID0gbmV3IEludDhBcnJheSgpOworbm9JbmxpbmUoSW50OEFycmF5LnByb3Rv
dHlwZS5pbmRleE9mKTsKKworZm9yICh2YXIgaSA9IDA7IGkgPCAxZTc7ICsraSkKKyAgICBlbXB0
eS5pbmRleE9mKDEpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL2V4cGVjdGF0aW9ucy55
YW1sIGIvSlNUZXN0cy90ZXN0MjYyL2V4cGVjdGF0aW9ucy55YW1sCmluZGV4IGY4YjlkZDk2Yjlm
N2RlOGI3NjI1ZDUwOThjYzAyMDE0MmVhMDVjZmEuLmIwMjU4ZmQ2ZmJkYTJlYzk5ODI0ODRmYmY3
YjkwZDU5NWVhMDdiMTIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi9leHBlY3RhdGlvbnMu
eWFtbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvZXhwZWN0YXRpb25zLnlhbWwKQEAgLTYxOCw5ICs2
MTgsNiBAQCB0ZXN0L2FubmV4Qi9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NvbnN0L2RzdHIvb2JqZWN0
LXBhdHRlcm4tZW11bGF0ZXMtdW5kZWZpbmVkLmpzOgogdGVzdC9hbm5leEIvbGFuZ3VhZ2Uvc3Rh
dGVtZW50cy9mdW5jdGlvbi9kZWZhdWx0LXBhcmFtZXRlcnMtZW11bGF0ZXMtdW5kZWZpbmVkLmpz
OgogICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUowqt1bmRlZmlu
ZWTCuywgwqtbb2JqZWN0IEZ1bmN0aW9uXcK7KSB0byBiZSB0cnVlJwogICBzdHJpY3QgbW9kZTog
J1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgU2FtZVZhbHVlKMKrdW5kZWZpbmVkwrssIMKrW29iamVj
dCBGdW5jdGlvbl3CuykgdG8gYmUgdHJ1ZScKLXRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlw
ZS9pbmRleE9mL2xlbmd0aC16ZXJvLXJldHVybnMtbWludXMtb25lLmpzOgotICBkZWZhdWx0OiAn
VGVzdDI2MkVycm9yOiBMZW5ndGggc2hvdWxkIGJlIGNoZWNrZWQgYmVmb3JlIFRvSW50ZWdlcihm
cm9tSW5kZXgpLicKLSAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IExlbmd0aCBzaG91bGQg
YmUgY2hlY2tlZCBiZWZvcmUgVG9JbnRlZ2VyKGZyb21JbmRleCkuJwogdGVzdC9idWlsdC1pbnMv
QXJyYXlCdWZmZXIvcHJvdG90eXBlL2J5dGVMZW5ndGgvZGV0YWNoZWQtYnVmZmVyLmpzOgogICBk
ZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBhIFR5cGVFcnJvciB0byBiZSB0aHJvd24g
YnV0IG5vIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGF0IGFsbCcKICAgc3RyaWN0IG1vZGU6ICdUZXN0
MjYyRXJyb3I6IEV4cGVjdGVkIGEgVHlwZUVycm9yIHRvIGJlIHRocm93biBidXQgbm8gZXhjZXB0
aW9uIHdhcyB0aHJvd24gYXQgYWxsJwpAQCAtMTQ0MCwxOCArMTQzNyw2IEBAIHRlc3QvYnVpbHQt
aW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2ZpbHRlci9zcGVjaWVzY3Rvci1nZXQtY3Rvci1yZXR1
cm5zLXRocm93cy5qCiB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9maWx0ZXIv
c3BlY2llc2N0b3ItZ2V0LXNwZWNpZXMtY3VzdG9tLWN0b3ItbGVuZ3RoLXRocm93cy5qczoKICAg
ZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgYSBUeXBlRXJyb3IgdG8gYmUgdGhyb3du
IGJ1dCBubyBleGNlcHRpb24gd2FzIHRocm93biBhdCBhbGwgKFRlc3Rpbmcgd2l0aCBGbG9hdDY0
QXJyYXkuKScKICAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIGEgVHlwZUVy
cm9yIHRvIGJlIHRocm93biBidXQgbm8gZXhjZXB0aW9uIHdhcyB0aHJvd24gYXQgYWxsIChUZXN0
aW5nIHdpdGggRmxvYXQ2NEFycmF5LiknCi10ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3Rv
dHlwZS9pbmRleE9mL2xlbmd0aC16ZXJvLXJldHVybnMtbWludXMtb25lLmpzOgotICBkZWZhdWx0
OiAnVGVzdDI2MkVycm9yOiAgKFRlc3Rpbmcgd2l0aCBGbG9hdDY0QXJyYXkuKScKLSAgc3RyaWN0
IG1vZGU6ICdUZXN0MjYyRXJyb3I6ICAoVGVzdGluZyB3aXRoIEZsb2F0NjRBcnJheS4pJwotdGVz
dC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvaW5kZXhPZi9uby1hcmcuanM6Ci0gIGRl
ZmF1bHQ6ICdUeXBlRXJyb3I6IEV4cGVjdGVkIGF0IGxlYXN0IG9uZSBhcmd1bWVudCAoVGVzdGlu
ZyB3aXRoIEZsb2F0NjRBcnJheS4pJwotICBzdHJpY3QgbW9kZTogJ1R5cGVFcnJvcjogRXhwZWN0
ZWQgYXQgbGVhc3Qgb25lIGFyZ3VtZW50IChUZXN0aW5nIHdpdGggRmxvYXQ2NEFycmF5LiknCi10
ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9sYXN0SW5kZXhPZi9sZW5ndGgtemVy
by1yZXR1cm5zLW1pbnVzLW9uZS5qczoKLSAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogIChUZXN0
aW5nIHdpdGggRmxvYXQ2NEFycmF5LiknCi0gIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiAg
KFRlc3Rpbmcgd2l0aCBGbG9hdDY0QXJyYXkuKScKLXRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkv
cHJvdG90eXBlL2xhc3RJbmRleE9mL25vLWFyZy5qczoKLSAgZGVmYXVsdDogJ1R5cGVFcnJvcjog
RXhwZWN0ZWQgYXQgbGVhc3Qgb25lIGFyZ3VtZW50IChUZXN0aW5nIHdpdGggRmxvYXQ2NEFycmF5
LiknCi0gIHN0cmljdCBtb2RlOiAnVHlwZUVycm9yOiBFeHBlY3RlZCBhdCBsZWFzdCBvbmUgYXJn
dW1lbnQgKFRlc3Rpbmcgd2l0aCBGbG9hdDY0QXJyYXkuKScKIHRlc3QvYnVpbHQtaW5zL1R5cGVk
QXJyYXkvcHJvdG90eXBlL21hcC9zcGVjaWVzY3Rvci1nZXQtY3Rvci1yZXR1cm5zLXRocm93cy5q
czoKICAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogNDIgRXhwZWN0ZWQgYSBUeXBlRXJyb3IgdG8g
YmUgdGhyb3duIGJ1dCBubyBleGNlcHRpb24gd2FzIHRocm93biBhdCBhbGwgKFRlc3Rpbmcgd2l0
aCBGbG9hdDY0QXJyYXkuKScKICAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IDQyIEV4cGVj
dGVkIGEgVHlwZUVycm9yIHRvIGJlIHRocm93biBidXQgbm8gZXhjZXB0aW9uIHdhcyB0aHJvd24g
YXQgYWxsIChUZXN0aW5nIHdpdGggRmxvYXQ2NEFycmF5LiknCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>403530</attachid>
            <date>2020-07-04 11:38:32 -0700</date>
            <delta_ts>2020-07-04 13:06:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213715-20200704213830.patch</filename>
            <type>text/plain</type>
            <size>11184</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzOTM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
YmEyZGY5YzAzZWJlYzM4Yzg0YjRjMjEwM2M0YzhlYzFkNWU4NTczLi5iYjFhZDE5NTk2ZDIzYWUw
MjQxYjdiNzllZjAzOTBjZjY1MjgyMDcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMyBAQAorMjAyMC0wNy0wNCAgQWxleGV5IFNodmF5a2EgIDxzaHZhaWthbGVzaEBnbWFp
bC5jb20+CisKKyAgICAgICAgJVR5cGVkQXJyYXklLnByb3RvdHlwZS57aW5kZXhPZixsYXN0SW5k
ZXhPZn0gYXJlIG5vdCBzcGVjLXBlcmZlY3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIxMzcxNQorCisgICAgICAgIFJldmlld2VkIGJ5IFl1c3VrZSBT
dXp1a2kuCisKKyAgICAgICAgVGhpcyBwYXRjaDoKKworICAgICAgICAxLiBJbXBsZW1lbnRzIHN0
ZXAgMyBvZiB7QXJyYXksJVR5cGVkQXJyYXklfS5wcm90b3R5cGUuaW5kZXhPZiBbMV0gYW5kCisg
ICAgICAgICAgICVUeXBlZEFycmF5JS5wcm90b3R5cGUubGFzdEluZGV4T2YgWzJdIHNpbmNlIGl0
IGlzIG9ic2VydmFibGUgd2hlbgorICAgICAgICAgICBzZWNvbmQgYXJndW1lbnQgaXMgYW4gb2Jq
ZWN0IHdpdGggdXNlcmxhbmQgdG9TdHJpbmcoKSBvciB2YWx1ZU9mKCkgbWV0aG9kLgorICAgICAg
ICAgICBBZHZhbmNlcyBwcm92aWRlZCBtaWNyb2JlbmNobWFyayBieSAxMDAlIGZvciBBcnJheSBh
bmQgYnkgMjUlIGZvciAlVHlwZWRBcnJheSUuCisKKyAgICAgICAgMi4gUmVtb3ZlcyBhcmd1bWVu
dCBjb3VudCBjaGVjayBmcm9tICVUeXBlZEFycmF5JS5wcm90b3R5cGUue2luZGV4T2YsbGFzdElu
ZGV4T2Z9LAorICAgICAgICAgICBhbGxvd2luZyB0aGVzZSBtZXRob2RzIHRvIGJlIGludm9rZWQg
dy9vIGFyZ3VtZW50cy4gVGhlIHNwZWMgdHJlYXRzIG1pc3NpbmcKKyAgICAgICAgICAgYXJndW1l
bnRzIGFzIGB1bmRlZmluZWRgLCBhbHdheXMgcmV0dXJuaW5nIC0xIGZvciB0eXBlZCBhcnJheXMu
CisKKyAgICAgICAgQm90aCBjaGFuZ2VzIGFsaWduIEpTQyB3aXRoIFY4IGFuZCBTcGlkZXJNb25r
ZXkuCisKKyAgICAgICAgWzFdOiBodHRwczovL3RjMzkuZXMvZWNtYTI2Mi8jc2VjLWFycmF5LnBy
b3RvdHlwZS5pbmRleG9mCisgICAgICAgIFsyXTogaHR0cHM6Ly90YzM5LmVzL2VjbWEyNjIvI3Nl
Yy0ldHlwZWRhcnJheSUucHJvdG90eXBlLmxhc3RpbmRleG9mCisKKyAgICAgICAgKiBydW50aW1l
L0FycmF5UHJvdG90eXBlLmNwcDoKKyAgICAgICAgKEpTQzo6YXJyYXlQcm90b0Z1bmNJbmRleE9m
KToKKyAgICAgICAgKEpTQzo6YXJyYXlQcm90b0Z1bmNMYXN0SW5kZXhPZik6CisgICAgICAgICog
cnVudGltZS9KU0dlbmVyaWNUeXBlZEFycmF5Vmlld1Byb3RvdHlwZUZ1bmN0aW9ucy5oOgorICAg
ICAgICAoSlNDOjpnZW5lcmljVHlwZWRBcnJheVZpZXdQcm90b0Z1bmNJbmRleE9mKToKKyAgICAg
ICAgKEpTQzo6Z2VuZXJpY1R5cGVkQXJyYXlWaWV3UHJvdG9GdW5jTGFzdEluZGV4T2YpOgorCiAy
MDIwLTA3LTAzICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBNYWtl
IGdlbmVyYXRlLXVuaWZpZWQtc291cmNlcy5zaCBub3QgZGVwZW5kIG9uIGZlYXR1cmVzIGJlaW5n
IGxpc3RlZCBpbiBGRUFUVVJFX0RFRklORVMgZW52aXJvbm1lbnQgdmFyaWFibGUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAppbmRleCAxMWM3
M2QxNGI2YTU5NzE1NjE4MGM1YzVkNDdiMmUyZTJmMWRkNzhjLi43MTkwOTA0ZWUwNDlhODA3NDU3
YTdiOTZjZjE5ZGI5NWI4MDM3YjgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCkBAIC0xMzg2LDYgKzEzODYsOCBAQCBFbmNvZGVkSlNW
YWx1ZSBKU0NfSE9TVF9DQUxMIGFycmF5UHJvdG9GdW5jSW5kZXhPZihKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LAogICAgICAgICByZXR1cm4geyB9OwogICAgIHVpbnQ2NF90IGxlbmd0aCA9
IHN0YXRpY19jYXN0PHVpbnQ2NF90Pih0b0xlbmd0aChnbG9iYWxPYmplY3QsIHRoaXNPYmplY3Qp
KTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB7IH0pOworICAgIGlmICghbGVuZ3Ro
KQorICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTnVtYmVyKC0xKSk7CiAKICAgICB1
aW50NjRfdCBpbmRleCA9IGFyZ3VtZW50Q2xhbXBlZEluZGV4RnJvbVN0YXJ0T3JFbmQoZ2xvYmFs
T2JqZWN0LCBjYWxsRnJhbWUtPmFyZ3VtZW50KDEpLCBsZW5ndGgpOwogICAgIFJFVFVSTl9JRl9F
WENFUFRJT04oc2NvcGUsIHsgfSk7CkBAIC0xNDIzLDcgKzE0MjUsOCBAQCBFbmNvZGVkSlNWYWx1
ZSBKU0NfSE9TVF9DQUxMIGFycmF5UHJvdG9GdW5jTGFzdEluZGV4T2YoSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iagogICAgIGlmIChVTkxJS0VMWSghdGhpc09iamVjdCkpCiAgICAgICAgIHJldHVy
biB7IH07CiAgICAgdWludDY0X3QgbGVuZ3RoID0gc3RhdGljX2Nhc3Q8dWludDY0X3Q+KHRvTGVu
Z3RoKGdsb2JhbE9iamVjdCwgdGhpc09iamVjdCkpOwotICAgIGlmIChVTkxJS0VMWShzY29wZS5l
eGNlcHRpb24oKSkgfHwgIWxlbmd0aCkKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB7
IH0pOworICAgIGlmICghbGVuZ3RoKQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpz
TnVtYmVyKC0xKSk7CiAKICAgICB1aW50NjRfdCBpbmRleCA9IGxlbmd0aCAtIDE7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dlbmVyaWNUeXBlZEFycmF5Vmll
d1Byb3RvdHlwZUZ1bmN0aW9ucy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNH
ZW5lcmljVHlwZWRBcnJheVZpZXdQcm90b3R5cGVGdW5jdGlvbnMuaAppbmRleCA3OGVmODAyZmFi
MDRjNmNkOWMwYjY4Zjc1NjI1YTVlNmUxM2ZjODkwLi5hMDNkZjMxYWMyNDI4NzA3ODlhMWViN2Zl
NGI2ZGUxOGFiNzg2OWNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0dlbmVyaWNUeXBlZEFycmF5Vmlld1Byb3RvdHlwZUZ1bmN0aW9ucy5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2VuZXJpY1R5cGVkQXJyYXlWaWV3UHJvdG90eXBl
RnVuY3Rpb25zLmgKQEAgLTIzMywxMSArMjMzLDExIEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NU
X0NBTEwgZ2VuZXJpY1R5cGVkQXJyYXlWaWV3UHJvdG9GdW5jSW5kZXhPZihWTSYgdm0sIEpTR2xv
CiAgICAgaWYgKHRoaXNPYmplY3QtPmlzTmV1dGVyZWQoKSkKICAgICAgICAgcmV0dXJuIHRocm93
Vk1UeXBlRXJyb3IoZ2xvYmFsT2JqZWN0LCBzY29wZSwgdHlwZWRBcnJheUJ1ZmZlckhhc0JlZW5E
ZXRhY2hlZEVycm9yTWVzc2FnZSk7CiAKLSAgICBpZiAoIWNhbGxGcmFtZS0+YXJndW1lbnRDb3Vu
dCgpKQotICAgICAgICByZXR1cm4gdGhyb3dWTVR5cGVFcnJvcihnbG9iYWxPYmplY3QsIHNjb3Bl
LCAiRXhwZWN0ZWQgYXQgbGVhc3Qgb25lIGFyZ3VtZW50Il9zKTsKLQogICAgIHVuc2lnbmVkIGxl
bmd0aCA9IHRoaXNPYmplY3QtPmxlbmd0aCgpOwogCisgICAgaWYgKCFsZW5ndGgpCisgICAgICAg
IHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNOdW1iZXIoLTEpKTsKKwogICAgIEpTVmFsdWUgdmFs
dWVUb0ZpbmQgPSBjYWxsRnJhbWUtPmFyZ3VtZW50KDApOwogICAgIHVuc2lnbmVkIGluZGV4ID0g
YXJndW1lbnRDbGFtcGVkSW5kZXhGcm9tU3RhcnRPckVuZChnbG9iYWxPYmplY3QsIGNhbGxGcmFt
ZS0+YXJndW1lbnQoMSksIGxlbmd0aCk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwg
ZW5jb2RlZEpTVmFsdWUoKSk7CkBAIC0zMDksMTEgKzMwOSwxMSBAQCBFbmNvZGVkSlNWYWx1ZSBK
U0NfSE9TVF9DQUxMIGdlbmVyaWNUeXBlZEFycmF5Vmlld1Byb3RvRnVuY0xhc3RJbmRleE9mKFZN
JiB2bSwgSgogICAgIGlmICh0aGlzT2JqZWN0LT5pc05ldXRlcmVkKCkpCiAgICAgICAgIHJldHVy
biB0aHJvd1ZNVHlwZUVycm9yKGdsb2JhbE9iamVjdCwgc2NvcGUsIHR5cGVkQXJyYXlCdWZmZXJI
YXNCZWVuRGV0YWNoZWRFcnJvck1lc3NhZ2UpOwogCi0gICAgaWYgKCFjYWxsRnJhbWUtPmFyZ3Vt
ZW50Q291bnQoKSkKLSAgICAgICAgcmV0dXJuIHRocm93Vk1UeXBlRXJyb3IoZ2xvYmFsT2JqZWN0
LCBzY29wZSwgIkV4cGVjdGVkIGF0IGxlYXN0IG9uZSBhcmd1bWVudCJfcyk7Ci0KICAgICB1bnNp
Z25lZCBsZW5ndGggPSB0aGlzT2JqZWN0LT5sZW5ndGgoKTsKIAorICAgIGlmICghbGVuZ3RoKQor
ICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTnVtYmVyKC0xKSk7CisKICAgICBKU1Zh
bHVlIHZhbHVlVG9GaW5kID0gY2FsbEZyYW1lLT5hcmd1bWVudCgwKTsKIAogICAgIGludCBpbmRl
eCA9IGxlbmd0aCAtIDE7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL0NoYW5nZUxvZyBiL0pTVGVzdHMv
Q2hhbmdlTG9nCmluZGV4IDNlMWVjMWRlMDdkZmRmOTI4MTRjYjE5NDljMDViNzYzNTE4YzU2NjEu
LjZkZmY0MjRlYmQ2MjhiMzdlOGI2ZGM4MGVjOTIzNTI3NDdjMmFkYTIgMTAwNjQ0Ci0tLSBhL0pT
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0pTVGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAK
KzIwMjAtMDctMDQgIEFsZXhleSBTaHZheWthICA8c2h2YWlrYWxlc2hAZ21haWwuY29tPgorCisg
ICAgICAgICVUeXBlZEFycmF5JS5wcm90b3R5cGUue2luZGV4T2YsbGFzdEluZGV4T2Z9IGFyZSBu
b3Qgc3BlYy1wZXJmZWN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMTM3MTUKKworICAgICAgICBSZXZpZXdlZCBieSBZdXN1a2UgU3V6dWtpLgorCisg
ICAgICAgICogbWljcm9iZW5jaG1hcmtzL2FycmF5LXByb3RvdHlwZS1pbmRleE9mLWVtcHR5Lmpz
OiBBZGRlZC4KKyAgICAgICAgKiBtaWNyb2JlbmNobWFya3MvdHlwZWQtYXJyYXktaW5kZXhPZi1l
bXB0eS5qczogQWRkZWQuCisgICAgICAgICogc3RyZXNzL2FycmF5LWluZGV4b2YtdG9pbnRlZ2Vy
LW9yZGVyLmpzOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0MjYyL2V4cGVjdGF0aW9ucy55YW1sOiBN
YXJrIDEwIHRlc3QgY2FzZXMgYXMgcGFzc2luZy4KKwogMjAyMC0wNy0wMyAgWXVzdWtlIFN1enVr
aSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAgIFtKU0NdIFByb21pc2Ugc2hvdWxkIGNo
ZWNrIHdoZXRoZXIgYSB1c2VyLXByb3ZpZGVkIGZ1bmN0aW9uIGlzIHNldCBieSB1c2luZyBgQGlz
VW5kZWZpbmVkT3JOdWxsYApkaWZmIC0tZ2l0IGEvSlNUZXN0cy9taWNyb2JlbmNobWFya3MvYXJy
YXktcHJvdG90eXBlLWluZGV4T2YtZW1wdHkuanMgYi9KU1Rlc3RzL21pY3JvYmVuY2htYXJrcy9h
cnJheS1wcm90b3R5cGUtaW5kZXhPZi1lbXB0eS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNjJmMWU2NWQwM2Zj
MzMwYWUxN2MyMDY5OTRiM2NmNzNhYmNlOTEyCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy9t
aWNyb2JlbmNobWFya3MvYXJyYXktcHJvdG90eXBlLWluZGV4T2YtZW1wdHkuanMKQEAgLTAsMCAr
MSw1IEBACit2YXIgZW1wdHkgPSBbXTsKK25vSW5saW5lKEFycmF5LnByb3RvdHlwZS5pbmRleE9m
KTsKKworZm9yICh2YXIgaSA9IDA7IGkgPCAxZTc7ICsraSkKKyAgICBlbXB0eS5pbmRleE9mKDEp
OwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9taWNyb2JlbmNobWFya3MvdHlwZWQtYXJyYXktaW5kZXhP
Zi1lbXB0eS5qcyBiL0pTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3R5cGVkLWFycmF5LWluZGV4T2Yt
ZW1wdHkuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZDExNjEyZTkzMWI0ZTIzMzY3YmIyYjY3Nzc3MzAxNjU5YTFl
YTU2MQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3R5cGVkLWFy
cmF5LWluZGV4T2YtZW1wdHkuanMKQEAgLTAsMCArMSw1IEBACit2YXIgZW1wdHkgPSBuZXcgSW50
OEFycmF5KCk7Citub0lubGluZShJbnQ4QXJyYXkucHJvdG90eXBlLmluZGV4T2YpOworCitmb3Ig
KHZhciBpID0gMDsgaSA8IDFlNzsgKytpKQorICAgIGVtcHR5LmluZGV4T2YoMSk7CmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3N0cmVzcy9hcnJheS1pbmRleG9mLXRvaW50ZWdlci1vcmRlci5qcyBiL0pT
VGVzdHMvc3RyZXNzL2FycmF5LWluZGV4b2YtdG9pbnRlZ2VyLW9yZGVyLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjhhOGNlZTIzMzkxZDkzMjFlZGE0NWY4MTM4ZmFjYTMyZmMzZDY3NDMKLS0tIC9kZXYvbnVsbAor
KysgYi9KU1Rlc3RzL3N0cmVzcy9hcnJheS1pbmRleG9mLXRvaW50ZWdlci1vcmRlci5qcwpAQCAt
MCwwICsxLDU0IEBACitmdW5jdGlvbiBhc3NlcnQoYikgeworICAgIGlmICghYikKKyAgICAgICAg
dGhyb3cgbmV3IEVycm9yKCJCYWQgYXNzZXJ0aW9uIik7Cit9CisKKyhmdW5jdGlvbiAoKSB7Cisg
ICAgZnVuY3Rpb24gaW5kZXhPZkludDMyKGFycmF5LCB2YWx1ZSwgaW5kZXgpCisgICAgeworICAg
ICAgICByZXR1cm4gYXJyYXkuaW5kZXhPZih2YWx1ZSwgaW5kZXgpOworICAgIH0KKyAgICBub0lu
bGluZShpbmRleE9mSW50MzIpOworCisgICAgZnVuY3Rpb24gaW5kZXhPZkRvdWJsZShhcnJheSwg
dmFsdWUsIGluZGV4KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFycmF5LmluZGV4T2YodmFsdWUs
IGluZGV4KTsKKyAgICB9CisgICAgbm9JbmxpbmUoaW5kZXhPZkRvdWJsZSk7CisKKyAgICBmdW5j
dGlvbiBpbmRleE9mU3RyaW5nKGFycmF5LCB2YWx1ZSwgaW5kZXgpCisgICAgeworICAgICAgICBy
ZXR1cm4gYXJyYXkuaW5kZXhPZih2YWx1ZSwgaW5kZXgpOworICAgIH0KKyAgICBub0lubGluZShp
bmRleE9mU3RyaW5nKTsKKworICAgIHZhciBpbnQzMkFycmF5ID0gWzAsIDEsIDIsIDMsIDQsIDUs
IDYsIDcsIDgsIDksIDEwLCAxMSwgMTJdOworICAgIHZhciBkb3VibGVBcnJheSA9IFswLCAxLCAy
LCAzLCA0LjIsIDUsIDYsIDcuMzMsIDgsIDksIDEwLjVdOworICAgIHZhciBzdHJpbmdBcnJheSA9
IFsiY29jb2EiLCAiY2FwcHVjY2lubyIsICJtYXRjaGEiLCAicml6ZSJdOworCisgICAgZm9yICh2
YXIgaSA9IDA7IGkgPCAxZTU7ICsraSkgeworICAgICAgICBhc3NlcnQoaW5kZXhPZkludDMyKGlu
dDMyQXJyYXksIDMsIDIpID09PSAzKTsKKyAgICAgICAgYXNzZXJ0KGluZGV4T2ZEb3VibGUoZG91
YmxlQXJyYXksIDMsIDEpID09PSAzKTsKKyAgICAgICAgYXNzZXJ0KGluZGV4T2ZTdHJpbmcoc3Ry
aW5nQXJyYXksICJjb2NvYSIsIDApID09PSAwKTsKKyAgICB9CisKKyAgICBpbnQzMkFycmF5Lmxl
bmd0aCA9IDA7CisgICAgZG91YmxlQXJyYXkuc3BsaWNlKDApOworICAgIHdoaWxlIChzdHJpbmdB
cnJheS5sZW5ndGgpIHN0cmluZ0FycmF5LnBvcCgpOworCisgICAgYXNzZXJ0KCR2bS5pbmRleGlu
Z01vZGUoaW50MzJBcnJheSkgIT09ICJBcnJheVdpdGhVbmRlY2lkZWQiKTsKKyAgICBhc3NlcnQo
JHZtLmluZGV4aW5nTW9kZShkb3VibGVBcnJheSkgIT09ICJBcnJheVdpdGhVbmRlY2lkZWQiKTsK
KyAgICBhc3NlcnQoJHZtLmluZGV4aW5nTW9kZShzdHJpbmdBcnJheSkgIT09ICJBcnJheVdpdGhV
bmRlY2lkZWQiKTsKKworICAgIHZhciBmcm9tSW5kZXggPSB7CisgICAgICAgIGdldCB2YWx1ZU9m
KCkgeworICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJmcm9tSW5kZXgudmFsdWVPZiIpOwor
ICAgICAgICB9LAorICAgIH07CisKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IDFlNTsgKytpKSB7
CisgICAgICAgIGFzc2VydChpbmRleE9mSW50MzIoaW50MzJBcnJheSwgMywgZnJvbUluZGV4KSA9
PT0gLTEpOworICAgICAgICBhc3NlcnQoaW5kZXhPZkRvdWJsZShkb3VibGVBcnJheSwgMywgZnJv
bUluZGV4KSA9PT0gLTEpOworICAgICAgICBhc3NlcnQoaW5kZXhPZlN0cmluZyhzdHJpbmdBcnJh
eSwgImNvY29hIiwgZnJvbUluZGV4KSA9PT0gLTEpOworICAgIH0KK30oKSk7CmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvZXhwZWN0YXRpb25zLnlhbWwgYi9KU1Rlc3RzL3Rlc3QyNjIvZXhw
ZWN0YXRpb25zLnlhbWwKaW5kZXggZTdiZjYyMzI0MTg4YjhkMzQ4ZThlOGMxODY0ZDBlYjNhOThi
OTEyNy4uMzQwODU5NzRiM2UzYmQyOGFhMWMwOWFlMWUzN2VjYjYwNDZhOTg4MiAxMDA2NDQKLS0t
IGEvSlNUZXN0cy90ZXN0MjYyL2V4cGVjdGF0aW9ucy55YW1sCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi9leHBlY3RhdGlvbnMueWFtbApAQCAtNjE4LDkgKzYxOCw2IEBAIHRlc3QvYW5uZXhCL2xhbmd1
YWdlL3N0YXRlbWVudHMvY29uc3QvZHN0ci9vYmplY3QtcGF0dGVybi1lbXVsYXRlcy11bmRlZmlu
ZWQuanM6CiB0ZXN0L2FubmV4Qi9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Z1bmN0aW9uL2RlZmF1bHQt
cGFyYW1ldGVycy1lbXVsYXRlcy11bmRlZmluZWQuanM6CiAgIGRlZmF1bHQ6ICdUZXN0MjYyRXJy
b3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjCq3VuZGVmaW5lZMK7LCDCq1tvYmplY3QgRnVuY3Rpb25d
wrspIHRvIGJlIHRydWUnCiAgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBT
YW1lVmFsdWUowqt1bmRlZmluZWTCuywgwqtbb2JqZWN0IEZ1bmN0aW9uXcK7KSB0byBiZSB0cnVl
JwotdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL2luZGV4T2YvbGVuZ3RoLXplcm8tcmV0
dXJucy1taW51cy1vbmUuanM6Ci0gIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IExlbmd0aCBzaG91
bGQgYmUgY2hlY2tlZCBiZWZvcmUgVG9JbnRlZ2VyKGZyb21JbmRleCkuJwotICBzdHJpY3QgbW9k
ZTogJ1Rlc3QyNjJFcnJvcjogTGVuZ3RoIHNob3VsZCBiZSBjaGVja2VkIGJlZm9yZSBUb0ludGVn
ZXIoZnJvbUluZGV4KS4nCiB0ZXN0L2J1aWx0LWlucy9BcnJheUJ1ZmZlci9wcm90b3R5cGUvYnl0
ZUxlbmd0aC9kZXRhY2hlZC1idWZmZXIuanM6CiAgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4
cGVjdGVkIGEgVHlwZUVycm9yIHRvIGJlIHRocm93biBidXQgbm8gZXhjZXB0aW9uIHdhcyB0aHJv
d24gYXQgYWxsJwogICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgYSBUeXBl
RXJyb3IgdG8gYmUgdGhyb3duIGJ1dCBubyBleGNlcHRpb24gd2FzIHRocm93biBhdCBhbGwnCkBA
IC0xNDQwLDE4ICsxNDM3LDYgQEAgdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUv
ZmlsdGVyL3NwZWNpZXNjdG9yLWdldC1jdG9yLXJldHVybnMtdGhyb3dzLmoKIHRlc3QvYnVpbHQt
aW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2ZpbHRlci9zcGVjaWVzY3Rvci1nZXQtc3BlY2llcy1j
dXN0b20tY3Rvci1sZW5ndGgtdGhyb3dzLmpzOgogICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBF
eHBlY3RlZCBhIFR5cGVFcnJvciB0byBiZSB0aHJvd24gYnV0IG5vIGV4Y2VwdGlvbiB3YXMgdGhy
b3duIGF0IGFsbCAoVGVzdGluZyB3aXRoIEZsb2F0NjRBcnJheS4pJwogICBzdHJpY3QgbW9kZTog
J1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgYSBUeXBlRXJyb3IgdG8gYmUgdGhyb3duIGJ1dCBubyBl
eGNlcHRpb24gd2FzIHRocm93biBhdCBhbGwgKFRlc3Rpbmcgd2l0aCBGbG9hdDY0QXJyYXkuKScK
LXRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2luZGV4T2YvbGVuZ3RoLXplcm8t
cmV0dXJucy1taW51cy1vbmUuanM6Ci0gIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6ICAoVGVzdGlu
ZyB3aXRoIEZsb2F0NjRBcnJheS4pJwotICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogIChU
ZXN0aW5nIHdpdGggRmxvYXQ2NEFycmF5LiknCi10ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3By
b3RvdHlwZS9pbmRleE9mL25vLWFyZy5qczoKLSAgZGVmYXVsdDogJ1R5cGVFcnJvcjogRXhwZWN0
ZWQgYXQgbGVhc3Qgb25lIGFyZ3VtZW50IChUZXN0aW5nIHdpdGggRmxvYXQ2NEFycmF5LiknCi0g
IHN0cmljdCBtb2RlOiAnVHlwZUVycm9yOiBFeHBlY3RlZCBhdCBsZWFzdCBvbmUgYXJndW1lbnQg
KFRlc3Rpbmcgd2l0aCBGbG9hdDY0QXJyYXkuKScKLXRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkv
cHJvdG90eXBlL2xhc3RJbmRleE9mL2xlbmd0aC16ZXJvLXJldHVybnMtbWludXMtb25lLmpzOgot
ICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiAgKFRlc3Rpbmcgd2l0aCBGbG9hdDY0QXJyYXkuKScK
LSAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6ICAoVGVzdGluZyB3aXRoIEZsb2F0NjRBcnJh
eS4pJwotdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvbGFzdEluZGV4T2Yvbm8t
YXJnLmpzOgotICBkZWZhdWx0OiAnVHlwZUVycm9yOiBFeHBlY3RlZCBhdCBsZWFzdCBvbmUgYXJn
dW1lbnQgKFRlc3Rpbmcgd2l0aCBGbG9hdDY0QXJyYXkuKScKLSAgc3RyaWN0IG1vZGU6ICdUeXBl
RXJyb3I6IEV4cGVjdGVkIGF0IGxlYXN0IG9uZSBhcmd1bWVudCAoVGVzdGluZyB3aXRoIEZsb2F0
NjRBcnJheS4pJwogdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvbWFwL3NwZWNp
ZXNjdG9yLWdldC1jdG9yLXJldHVybnMtdGhyb3dzLmpzOgogICBkZWZhdWx0OiAnVGVzdDI2MkVy
cm9yOiA0MiBFeHBlY3RlZCBhIFR5cGVFcnJvciB0byBiZSB0aHJvd24gYnV0IG5vIGV4Y2VwdGlv
biB3YXMgdGhyb3duIGF0IGFsbCAoVGVzdGluZyB3aXRoIEZsb2F0NjRBcnJheS4pJwogICBzdHJp
Y3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogNDIgRXhwZWN0ZWQgYSBUeXBlRXJyb3IgdG8gYmUgdGhy
b3duIGJ1dCBubyBleGNlcHRpb24gd2FzIHRocm93biBhdCBhbGwgKFRlc3Rpbmcgd2l0aCBGbG9h
dDY0QXJyYXkuKScK
</data>

          </attachment>
      

    </bug>

</bugzilla>