<?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>225831</bug_id>
          
          <creation_ts>2021-05-14 15:36:38 -0700</creation_ts>
          <short_desc>Turn callGetter() / callSetter() into instance methods</short_desc>
          <delta_ts>2021-05-15 10:01:19 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>Enhancement</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>ross.kirsling</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1760262</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2021-05-14 15:36:38 -0700</bug_when>
    <thetext>Turn callGetter() / callSetter() into instance methods</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1760269</commentid>
    <comment_count>1</comment_count>
      <attachid>428676</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2021-05-14 15:44:35 -0700</bug_when>
    <thetext>Created attachment 428676
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1760270</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2021-05-14 15:45:31 -0700</bug_when>
    <thetext>(In reply to Alexey Shvayka from comment #1)
&gt; Created attachment 428676 [details]
&gt; Patch

Consistent progression (&gt; 10 runs) @ --outer 200:

                                   r277503                   patch

put-slow-no-cache-setter       49.5560+-0.4171     ^     48.4014+-0.3762        ^ definitely 1.0239x faster</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1760273</commentid>
    <comment_count>3</comment_count>
      <attachid>428676</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2021-05-14 15:54:54 -0700</bug_when>
    <thetext>Comment on attachment 428676
Patch

r=me, patch looks straightforward and the little perf bump is nice.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1760400</commentid>
    <comment_count>4</comment_count>
      <attachid>428724</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2021-05-15 05:41:53 -0700</bug_when>
    <thetext>Created attachment 428724
Patch

Move isValidCallee() to JSCell and handle primitives gracefully.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1760401</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2021-05-15 05:44:05 -0700</bug_when>
    <thetext>(In reply to Ross Kirsling from comment #3)
&gt; Comment on attachment 428676 [details]
&gt; Patch
&gt; 
&gt; r=me, patch looks straightforward and the little perf bump is nice.

Thank you for review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1760416</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-05-15 10:00:05 -0700</bug_when>
    <thetext>Committed r277541 (237769@main): &lt;https://commits.webkit.org/237769@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 428724.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1760417</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-05-15 10:01:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/78059745&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>428676</attachid>
            <date>2021-05-14 15:44:35 -0700</date>
            <delta_ts>2021-05-15 05:41:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225831-20210515014432.patch</filename>
            <type>text/plain</type>
            <size>9727</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyNzc1MTMpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDEyIEBACisyMDIxLTA1LTE0ICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNo
QGdtYWlsLmNvbT4KKworICAgICAgICBUdXJuIGNhbGxHZXR0ZXIoKSAvIGNhbGxTZXR0ZXIoKSBp
bnRvIGluc3RhbmNlIG1ldGhvZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIyNTgzMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogbWljcm9iZW5jaG1hcmtzL3B1dC1zbG93LW5vLWNhY2hlLXNldHRlci5q
czogQWRkZWQuCisKIDIwMjEtMDUtMDcgIFJvc3MgS2lyc2xpbmcgIDxyb3NzLmtpcnNsaW5nQHNv
bnkuY29tPgogCiAgICAgICAgIFtKU0NdIEVycm9yI2NhdXNlIG11c3QgcmVjb2duaXplIGV4cGxp
Y2l0IHVuZGVmaW5lZApJbmRleDogSlNUZXN0cy9taWNyb2JlbmNobWFya3MvcHV0LXNsb3ctbm8t
Y2FjaGUtc2V0dGVyLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3B1
dC1zbG93LW5vLWNhY2hlLXNldHRlci5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL21pY3Jv
YmVuY2htYXJrcy9wdXQtc2xvdy1uby1jYWNoZS1zZXR0ZXIuanMJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwxNiBAQAorKGZ1bmN0aW9uKCkgeworICAgIHZhciBmb28gPSAwOworICAgIHZhciBi
YXNlID0geworICAgICAgICBzZXQgZm9vMCh2KSB7IGZvbyA9IHY7IH0sCisgICAgICAgIHNldCBm
b28xKHYpIHsgZm9vID0gdjsgfSwKKyAgICAgICAgc2V0IGZvbzIodikgeyBmb28gPSB2OyB9LAor
ICAgICAgICBzZXQgZm9vMyh2KSB7IGZvbyA9IHY7IH0sCisgICAgICAgIHNldCBmb280KHYpIHsg
Zm9vID0gdjsgfSwKKyAgICB9OworCisgICAgZm9yICh2YXIgaiA9IDA7IGogPCAzZTU7IGorKykK
KyAgICAgICAgYmFzZVtgZm9vJHtqICUgNX1gXSA9IGo7CisKKyAgICBpZiAoZm9vICE9PSBqIC0g
MSkKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgYXNzZXJ0aW9uISIpOworfSkoKTsKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjc3NDg4KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBACisy
MDIxLTA1LTE0ICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KKworICAg
ICAgICBUdXJuIGNhbGxHZXR0ZXIoKSAvIGNhbGxTZXR0ZXIoKSBpbnRvIGluc3RhbmNlIG1ldGhv
ZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNTgz
MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIDEuIFR1
cm4gY2FsbEdldHRlcigpIC8gY2FsbFNldHRlcigpIGludG8gaW5zdGFuY2UgbWV0aG9kcyB0byBz
aW1wbGlmeSB0aGVpciBzaWduYXR1cmVzLgorICAgICAgICAyLiBSZW5hbWUgYGJhc2VgIHBhcmFt
ZXRlciB0byBgdGhpc1ZhbHVlYCwgYXZvaWRpbmcgc2ltaWxhcml0eSB3aXRoIHNsb3RCYXNlKCku
CisgICAgICAgIDMuIEFjY2VwdCBgYm9vbCBzaG91bGRUaHJvd2AgaW4gY2FsbFNldHRlcigpIHNp
bmNlIEVDTUFNb2RlIGlzIGN1bWJlcnNvbWUgdG8gY29uc3RydWN0LgorICAgICAgICA0LiBSZXBs
YWNlIGlzU2V0dGVyTnVsbCgpLCB3aGljaCBkb2VzIExJS0VMWShpbmhlcml0cyksIHdpdGggZGly
ZWN0IEpTVHlwZSBjaGVjay4KKyAgICAgICAgNS4gSW50cm9kdWNlIGdldENhbGxEYXRhKFZNJiwg
SlNDZWxsKikgb3ZlcmxvYWQgdG8gYXZvaWQgZXh0cmEgY2hlY2tzIC8gY2FzdHMuCisKKyAgICAg
ICAgTm8gYmVoYXZpb3IgY2hhbmdlLiBBZHZhbmNlcyBwcm92aWRlZCBjYWxsU2V0dGVyKCkgbWlj
cm9iZW5jaG1hcmsgYnkgMiUuCisKKyAgICAgICAgKiBydW50aW1lL0dldHRlclNldHRlci5jcHA6
CisgICAgICAgIChKU0M6OkdldHRlclNldHRlcjo6Y2FsbEdldHRlcik6CisgICAgICAgIChKU0M6
OkdldHRlclNldHRlcjo6Y2FsbFNldHRlcik6CisgICAgICAgIChKU0M6OmNhbGxHZXR0ZXIpOiBE
ZWxldGVkLgorICAgICAgICAoSlNDOjpjYWxsU2V0dGVyKTogRGVsZXRlZC4KKyAgICAgICAgKiBy
dW50aW1lL0dldHRlclNldHRlci5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNPYmplY3QuY3BwOgor
ICAgICAgICAoSlNDOjpKU09iamVjdDo6cHV0SW5saW5lU2xvdyk6CisgICAgICAgICogcnVudGlt
ZS9KU09iamVjdElubGluZXMuaDoKKyAgICAgICAgKEpTQzo6Z2V0Q2FsbERhdGEpOgorICAgICAg
ICAqIHJ1bnRpbWUvUHJvcGVydHlTbG90LmNwcDoKKyAgICAgICAgKEpTQzo6UHJvcGVydHlTbG90
OjpmdW5jdGlvbkdldHRlciBjb25zdCk6CisgICAgICAgICogcnVudGltZS9TcGFyc2VBcnJheVZh
bHVlTWFwLmNwcDoKKyAgICAgICAgKEpTQzo6U3BhcnNlQXJyYXlFbnRyeTo6cHV0KToKKwogMjAy
MS0wNS0xMyAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgRm9sbG93
LXVwIGZpeCBmb3I6IFJlbW92ZSBTdHJpbmdCdWlsZGVyOjphcHBlbmROdW1iZXIKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0dldHRlclNldHRlci5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvR2V0dGVyU2V0dGVyLmNwcAkocmV2aXNp
b24gMjc3NDg4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvR2V0dGVyU2V0dGVy
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDYsNyArNDYsNyBAQCB2b2lkIEdldHRlclNldHRlcjo6
dmlzaXRDaGlsZHJlbkltcGwoSlNDCiAKIERFRklORV9WSVNJVF9DSElMRFJFTihHZXR0ZXJTZXR0
ZXIpOwogCi1KU1ZhbHVlIGNhbGxHZXR0ZXIoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
SlNWYWx1ZSBiYXNlLCBKU1ZhbHVlIGdldHRlclNldHRlcikKK0pTVmFsdWUgR2V0dGVyU2V0dGVy
OjpjYWxsR2V0dGVyKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUgdGhpc1Zh
bHVlKQogewogICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKICAgICBhdXRvIHNjb3Bl
ID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CkBAIC01NCwzMSArNTQsMjkgQEAgSlNWYWx1ZSBj
YWxsR2V0dGVyKEpTR2xvYmFsT2JqZWN0KiBnbG9iYQogICAgIC8vIFdlIHdvcmsgYXJvdW5kIHRo
YXQgYnkgY2hlY2tpbmcgaGVyZS4KICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBzY29w
ZS5leGNlcHRpb24oKS0+dmFsdWUoKSk7CiAKLSAgICBKU09iamVjdCogZ2V0dGVyID0ganNDYXN0
PEdldHRlclNldHRlcio+KGdldHRlclNldHRlciktPmdldHRlcigpOworICAgIEpTT2JqZWN0KiBn
ZXR0ZXIgPSB0aGlzLT5nZXR0ZXIoKTsKIAotICAgIGF1dG8gY2FsbERhdGEgPSBnZXRDYWxsRGF0
YSh2bSwgZ2V0dGVyKTsKLSAgICBSRUxFQVNFX0FORF9SRVRVUk4oc2NvcGUsIGNhbGwoZ2xvYmFs
T2JqZWN0LCBnZXR0ZXIsIGNhbGxEYXRhLCBiYXNlLCBBcmdMaXN0KCkpKTsKKyAgICBhdXRvIGNh
bGxEYXRhID0gSlNDOjpnZXRDYWxsRGF0YSh2bSwgZ2V0dGVyKTsKKyAgICBSRUxFQVNFX0FORF9S
RVRVUk4oc2NvcGUsIGNhbGwoZ2xvYmFsT2JqZWN0LCBnZXR0ZXIsIGNhbGxEYXRhLCB0aGlzVmFs
dWUsIEFyZ0xpc3QoKSkpOwogfQogCi1ib29sIGNhbGxTZXR0ZXIoSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgSlNWYWx1ZSBiYXNlLCBKU1ZhbHVlIGdldHRlclNldHRlciwgSlNWYWx1ZSB2
YWx1ZSwgRUNNQU1vZGUgZWNtYU1vZGUpCitib29sIEdldHRlclNldHRlcjo6Y2FsbFNldHRlcihK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHRoaXNWYWx1ZSwgSlNWYWx1ZSB2
YWx1ZSwgYm9vbCBzaG91bGRUaHJvdykKIHsKICAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZt
KCk7CiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogCi0gICAgR2V0
dGVyU2V0dGVyKiBnZXR0ZXJTZXR0ZXJPYmogPSBqc0Nhc3Q8R2V0dGVyU2V0dGVyKj4oZ2V0dGVy
U2V0dGVyKTsKKyAgICBKU09iamVjdCogc2V0dGVyID0gdGhpcy0+c2V0dGVyKCk7CiAKLSAgICBp
ZiAoZ2V0dGVyU2V0dGVyT2JqLT5pc1NldHRlck51bGwoKSkKLSAgICAgICAgcmV0dXJuIHR5cGVF
cnJvcihnbG9iYWxPYmplY3QsIHNjb3BlLCBlY21hTW9kZS5pc1N0cmljdCgpLCBSZWFkb25seVBy
b3BlcnR5V3JpdGVFcnJvcik7Ci0KLSAgICBKU09iamVjdCogc2V0dGVyID0gZ2V0dGVyU2V0dGVy
T2JqLT5zZXR0ZXIoKTsKKyAgICBpZiAoc2V0dGVyLT50eXBlKCkgPT0gTnVsbFNldHRlckZ1bmN0
aW9uVHlwZSkKKyAgICAgICAgcmV0dXJuIHR5cGVFcnJvcihnbG9iYWxPYmplY3QsIHNjb3BlLCBz
aG91bGRUaHJvdywgUmVhZG9ubHlQcm9wZXJ0eVdyaXRlRXJyb3IpOwogCiAgICAgTWFya2VkQXJn
dW1lbnRCdWZmZXIgYXJnczsKICAgICBhcmdzLmFwcGVuZCh2YWx1ZSk7CiAgICAgQVNTRVJUKCFh
cmdzLmhhc092ZXJmbG93ZWQoKSk7CiAKLSAgICBhdXRvIGNhbGxEYXRhID0gZ2V0Q2FsbERhdGEo
dm0sIHNldHRlcik7CisgICAgYXV0byBjYWxsRGF0YSA9IEpTQzo6Z2V0Q2FsbERhdGEodm0sIHNl
dHRlcik7CiAgICAgc2NvcGUucmVsZWFzZSgpOwotICAgIGNhbGwoZ2xvYmFsT2JqZWN0LCBzZXR0
ZXIsIGNhbGxEYXRhLCBiYXNlLCBhcmdzKTsKKyAgICBjYWxsKGdsb2JhbE9iamVjdCwgc2V0dGVy
LCBjYWxsRGF0YSwgdGhpc1ZhbHVlLCBhcmdzKTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvR2V0dGVyU2V0dGVyLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvR2V0dGVyU2V0dGVyLmgJKHJldmlz
aW9uIDI3NzQ4OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0dldHRlclNldHRl
ci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDUsNiArMTA1LDkgQEAgcHVibGljOgogICAgICAgICBy
ZXR1cm4gcmVzdWx0OwogICAgIH0KIAorICAgIEpTVmFsdWUgY2FsbEdldHRlcihKU0dsb2JhbE9i
amVjdCosIEpTVmFsdWUgdGhpc1ZhbHVlKTsKKyAgICBib29sIGNhbGxTZXR0ZXIoSlNHbG9iYWxP
YmplY3QqLCBKU1ZhbHVlIHRoaXNWYWx1ZSwgSlNWYWx1ZSwgYm9vbCBzaG91bGRUaHJvdyk7CisK
ICAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHByb3RvdHlwZSkKICAgICB7CiAgICAgICAgIHJl
dHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIFR5cGVJ
bmZvKEdldHRlclNldHRlclR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKQEAgLTEzNCw3
ICsxMzcsNCBAQCBwcml2YXRlOgogICAgIFdyaXRlQmFycmllcjxKU09iamVjdD4gbV9zZXR0ZXI7
ICAKIH07CiAKLUpTVmFsdWUgY2FsbEdldHRlcihKU0dsb2JhbE9iamVjdCosIEpTVmFsdWUgYmFz
ZSwgSlNWYWx1ZSBnZXR0ZXJTZXR0ZXIpOwotSlNfRVhQT1JUX1BSSVZBVEUgYm9vbCBjYWxsU2V0
dGVyKEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSBiYXNlLCBKU1ZhbHVlIGdldHRlclNldHRlciwg
SlNWYWx1ZSwgRUNNQU1vZGUpOwotCiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAJKHJldmlzaW9uIDI3NzQ4OCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtODExLDggKzgxMSw3IEBAIGJvb2wgSlNPYmplY3Q6OnB1dElubGluZVNsb3coSlNHbG9i
YWxPYmoKICAgICAgICAgICAgICAgICAvLyBXZSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGF0IHdlIGRl
Y2lkZSB0byBjYWNoZSB0aGlzIHByb3BlcnR5IGJlZm9yZSB3ZSBwb3RlbnRpYWxseSBleGVjdXRl
IGFyaWJpdHJhcnkgSlMuCiAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLT5zdHJ1Y3R1cmUodm0p
LT5pc1VuY2FjaGVhYmxlRGljdGlvbmFyeSgpKQogICAgICAgICAgICAgICAgICAgICBzbG90LnNl
dENhY2hlYWJsZVNldHRlcihvYmosIG9mZnNldCk7Ci0gICAgICAgICAgICAgICAgSlNWYWx1ZSBn
cyA9IG9iai0+Z2V0RGlyZWN0KG9mZnNldCk7Ci0gICAgICAgICAgICAgICAgUkVMRUFTRV9BTkRf
UkVUVVJOKHNjb3BlLCBjYWxsU2V0dGVyKGdsb2JhbE9iamVjdCwgc2xvdC50aGlzVmFsdWUoKSwg
Z3MsIHZhbHVlLCBzbG90LmlzU3RyaWN0TW9kZSgpID8gRUNNQU1vZGU6OnN0cmljdCgpIDogRUNN
QU1vZGU6OnNsb3BweSgpKSk7CisgICAgICAgICAgICAgICAgUkVMRUFTRV9BTkRfUkVUVVJOKHNj
b3BlLCBqc0Nhc3Q8R2V0dGVyU2V0dGVyKj4ob2JqLT5nZXREaXJlY3Qob2Zmc2V0KSktPmNhbGxT
ZXR0ZXIoZ2xvYmFsT2JqZWN0LCBzbG90LnRoaXNWYWx1ZSgpLCB2YWx1ZSwgc2xvdC5pc1N0cmlj
dE1vZGUoKSkpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKGF0dHJpYnV0ZXMgJiBQ
cm9wZXJ0eUF0dHJpYnV0ZTo6Q3VzdG9tQWNjZXNzb3IpIHsKICAgICAgICAgICAgICAgICAvLyBG
SVhNRTogUmVtb3ZlIHRoaXMgYWZ0ZXIgV2ViSURMIGdlbmVyYXRvciBpcyBmaXhlZCB0byBzZXQg
UmVhZE9ubHkgZm9yIFtSdW50aW1lQ29uZGl0aW9uYWxseVJlYWRXcml0ZV0gYXR0cmlidXRlcy4K
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0SW5saW5lcy5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0SW5saW5l
cy5oCShyZXZpc2lvbiAyNzc0ODgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U09iamVjdElubGluZXMuaAkod29ya2luZyBjb3B5KQpAQCAtNTM5LDExICs1MzksOCBAQCBpbmxp
bmUgYm9vbCBKU09iamVjdDo6cHV0T3duRGF0YVByb3BlcnR5CiAgICAgcmV0dXJuIHB1dERpcmVj
dEludGVybmFsPFB1dE1vZGVQdXQ+KHZtLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCAwLCBzbG90KTsK
IH0KIAotaW5saW5lIENhbGxEYXRhIGdldENhbGxEYXRhKFZNJiB2bSwgSlNWYWx1ZSB2YWx1ZSkK
K0FMV0FZU19JTkxJTkUgQ2FsbERhdGEgZ2V0Q2FsbERhdGEoVk0mIHZtLCBKU0NlbGwqIGNlbGwp
CiB7Ci0gICAgaWYgKCF2YWx1ZS5pc0NlbGwoKSkKLSAgICAgICAgcmV0dXJuIHsgfTsKLSAgICBK
U0NlbGwqIGNlbGwgPSB2YWx1ZS5hc0NlbGwoKTsKICAgICBpZiAoY2VsbC0+dHlwZSgpID09IEpT
RnVuY3Rpb25UeXBlKQogICAgICAgICByZXR1cm4gSlNGdW5jdGlvbjo6Z2V0Q2FsbERhdGEoY2Vs
bCk7CiAgICAgQ2FsbERhdGEgcmVzdWx0ID0gY2VsbC0+bWV0aG9kVGFibGUodm0pLT5nZXRDYWxs
RGF0YShjZWxsKTsKQEAgLTU1MSw2ICs1NDgsMTMgQEAgaW5saW5lIENhbGxEYXRhIGdldENhbGxE
YXRhKFZNJiB2bSwgSlNWYQogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKK2lubGluZSBDYWxsRGF0
YSBnZXRDYWxsRGF0YShWTSYgdm0sIEpTVmFsdWUgdmFsdWUpCit7CisgICAgaWYgKCF2YWx1ZS5p
c0NlbGwoKSkgCisgICAgICAgIHJldHVybiB7IH07CisgICAgcmV0dXJuIGdldENhbGxEYXRhKHZt
LCB2YWx1ZS5hc0NlbGwoKSk7Cit9CisKIGlubGluZSBDYWxsRGF0YSBnZXRDb25zdHJ1Y3REYXRh
KFZNJiB2bSwgSlNWYWx1ZSB2YWx1ZSkKIHsKICAgICBpZiAoIXZhbHVlLmlzQ2VsbCgpKQpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvcGVydHlTbG90LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm9wZXJ0eVNsb3QuY3BwCShy
ZXZpc2lvbiAyNzc0ODgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm9wZXJ0
eVNsb3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3ICszMCw3IEBAIG5hbWVzcGFjZSBKU0Mg
ewogSlNWYWx1ZSBQcm9wZXJ0eVNsb3Q6OmZ1bmN0aW9uR2V0dGVyKEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QpIGNvbnN0CiB7CiAgICAgQVNTRVJUKG1fdGhpc1ZhbHVlKTsKLSAgICByZXR1
cm4gY2FsbEdldHRlcihnbG9iYWxPYmplY3QsIG1fdGhpc1ZhbHVlLCBtX2RhdGEuZ2V0dGVyLmdl
dHRlclNldHRlcik7CisgICAgcmV0dXJuIG1fZGF0YS5nZXR0ZXIuZ2V0dGVyU2V0dGVyLT5jYWxs
R2V0dGVyKGdsb2JhbE9iamVjdCwgbV90aGlzVmFsdWUpOwogfQogCiBKU1ZhbHVlIFByb3BlcnR5
U2xvdDo6Y3VzdG9tR2V0dGVyKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFByb3BlcnR5
TmFtZSBwcm9wZXJ0eU5hbWUpIGNvbnN0CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TcGFyc2VBcnJheVZhbHVlTWFwLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TcGFyc2VBcnJheVZhbHVlTWFwLmNwcAkocmV2aXNpb24gMjc3NDg4
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3BhcnNlQXJyYXlWYWx1ZU1hcC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTIwMSw3ICsyMDEsNyBAQCBib29sIFNwYXJzZUFycmF5RW50
cnk6OnB1dChKU0dsb2JhbE9iamVjCiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIAotICAg
IFJFTEVBU0VfQU5EX1JFVFVSTihzY29wZSwgY2FsbFNldHRlcihnbG9iYWxPYmplY3QsIHRoaXNW
YWx1ZSwgQmFzZTo6Z2V0KCksIHZhbHVlLCBzaG91bGRUaHJvdyA/IEVDTUFNb2RlOjpzdHJpY3Qo
KSA6IEVDTUFNb2RlOjpzbG9wcHkoKSkpOworICAgIFJFTEVBU0VfQU5EX1JFVFVSTihzY29wZSwg
anNDYXN0PEdldHRlclNldHRlcio+KEJhc2U6OmdldCgpKS0+Y2FsbFNldHRlcihnbG9iYWxPYmpl
Y3QsIHRoaXNWYWx1ZSwgdmFsdWUsIHNob3VsZFRocm93KSk7CiB9CiAKIEpTVmFsdWUgU3BhcnNl
QXJyYXlFbnRyeTo6Z2V0Tm9uU3BhcnNlTW9kZSgpIGNvbnN0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>428724</attachid>
            <date>2021-05-15 05:41:53 -0700</date>
            <delta_ts>2021-05-15 10:00:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225831-20210515154152.patch</filename>
            <type>text/plain</type>
            <size>12800</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyNzc1MzcpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDEyIEBACisyMDIxLTA1LTE1ICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNo
QGdtYWlsLmNvbT4KKworICAgICAgICBUdXJuIGNhbGxHZXR0ZXIoKSAvIGNhbGxTZXR0ZXIoKSBp
bnRvIGluc3RhbmNlIG1ldGhvZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIyNTgzMQorCisgICAgICAgIFJldmlld2VkIGJ5IFJvc3MgS2lyc2xpbmcu
CisKKyAgICAgICAgKiBtaWNyb2JlbmNobWFya3MvcHV0LXNsb3ctbm8tY2FjaGUtc2V0dGVyLmpz
OiBBZGRlZC4KKwogMjAyMS0wNS0wNyAgUm9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29u
eS5jb20+CiAKICAgICAgICAgW0pTQ10gRXJyb3IjY2F1c2UgbXVzdCByZWNvZ25pemUgZXhwbGlj
aXQgdW5kZWZpbmVkCkluZGV4OiBKU1Rlc3RzL21pY3JvYmVuY2htYXJrcy9wdXQtc2xvdy1uby1j
YWNoZS1zZXR0ZXIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9taWNyb2JlbmNobWFya3MvcHV0
LXNsb3ctbm8tY2FjaGUtc2V0dGVyLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvbWljcm9i
ZW5jaG1hcmtzL3B1dC1zbG93LW5vLWNhY2hlLXNldHRlci5qcwkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDE2IEBACisoZnVuY3Rpb24oKSB7CisgICAgdmFyIGZvbyA9IDA7CisgICAgdmFyIGJh
c2UgPSB7CisgICAgICAgIHNldCBmb28wKHYpIHsgZm9vID0gdjsgfSwKKyAgICAgICAgc2V0IGZv
bzEodikgeyBmb28gPSB2OyB9LAorICAgICAgICBzZXQgZm9vMih2KSB7IGZvbyA9IHY7IH0sCisg
ICAgICAgIHNldCBmb28zKHYpIHsgZm9vID0gdjsgfSwKKyAgICAgICAgc2V0IGZvbzQodikgeyBm
b28gPSB2OyB9LAorICAgIH07CisKKyAgICBmb3IgKHZhciBqID0gMDsgaiA8IDNlNTsgaisrKQor
ICAgICAgICBiYXNlW2Bmb28ke2ogJSA1fWBdID0gajsKKworICAgIGlmIChmb28gIT09IGogLSAx
KQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBhc3NlcnRpb24hIik7Cit9KSgpOwpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNzc0ODgpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNDEgQEAKKzIw
MjEtMDUtMTUgIEFsZXhleSBTaHZheWthICA8c2h2YWlrYWxlc2hAZ21haWwuY29tPgorCisgICAg
ICAgIFR1cm4gY2FsbEdldHRlcigpIC8gY2FsbFNldHRlcigpIGludG8gaW5zdGFuY2UgbWV0aG9k
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI1ODMx
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgUm9zcyBLaXJzbGluZy4KKworICAgICAgICAxLiBUdXJu
IGNhbGxHZXR0ZXIoKSAvIGNhbGxTZXR0ZXIoKSBpbnRvIGluc3RhbmNlIG1ldGhvZHMgdG8gc2lt
cGxpZnkgdGhlaXIgc2lnbmF0dXJlcy4KKyAgICAgICAgMi4gUmVuYW1lIGBiYXNlYCBwYXJhbWV0
ZXIgdG8gYHRoaXNWYWx1ZWAsIGF2b2lkaW5nIHNpbWlsYXJpdHkgd2l0aCBzbG90QmFzZSgpLgor
ICAgICAgICAzLiBBY2NlcHQgYGJvb2wgc2hvdWxkVGhyb3dgIGluIGNhbGxTZXR0ZXIoKSBzaW5j
ZSBFQ01BTW9kZSBpcyBjdW1iZXJzb21lIHRvIGNvbnN0cnVjdC4KKyAgICAgICAgNC4gUmVwbGFj
ZSBpc1NldHRlck51bGwoKSwgd2hpY2ggZG9lcyBMSUtFTFkoaW5oZXJpdHMpLCB3aXRoIGRpcmVj
dCBKU1R5cGUgY2hlY2suCisgICAgICAgIDUuIEludHJvZHVjZSBnZXRDYWxsRGF0YShWTSYsIEpT
Q2VsbCopIG92ZXJsb2FkIHRvIGF2b2lkIGV4dHJhIGNoZWNrcyAvIGNhc3RzLgorICAgICAgICA2
LiBNb3ZlIGlzVmFsaWRDYWxsZWUoKSB0byBKU0NlbGwgYW5kIGhhbmRsZSBwcmltaXRpdmVzIGdy
YWNlZnVsbHkuCisKKyAgICAgICAgTm8gYmVoYXZpb3IgY2hhbmdlLiBBZHZhbmNlcyBwcm92aWRl
ZCBjYWxsU2V0dGVyKCkgbWljcm9iZW5jaG1hcmsgYnkgMiUuCisKKyAgICAgICAgKiBydW50aW1l
L0dldHRlclNldHRlci5jcHA6CisgICAgICAgIChKU0M6OkdldHRlclNldHRlcjo6Y2FsbEdldHRl
cik6CisgICAgICAgIChKU0M6OkdldHRlclNldHRlcjo6Y2FsbFNldHRlcik6CisgICAgICAgIChK
U0M6OmNhbGxHZXR0ZXIpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpjYWxsU2V0dGVyKTogRGVs
ZXRlZC4KKyAgICAgICAgKiBydW50aW1lL0dldHRlclNldHRlci5oOgorICAgICAgICAqIHJ1bnRp
bWUvSlNDSlNWYWx1ZS5jcHA6CisgICAgICAgIChKU0M6OkpTVmFsdWU6OmlzVmFsaWRDYWxsZWUp
OiBEZWxldGVkLgorICAgICAgICAqIHJ1bnRpbWUvSlNDSlNWYWx1ZS5oOgorICAgICAgICAqIHJ1
bnRpbWUvSlNDZWxsLmNwcDoKKyAgICAgICAgKEpTQzo6SlNDZWxsOjppc1ZhbGlkQ2FsbGVlIGNv
bnN0KToKKyAgICAgICAgKiBydW50aW1lL0pTQ2VsbC5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNP
YmplY3QuY3BwOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6cHV0SW5saW5lU2xvdyk6CisgICAg
ICAgICogcnVudGltZS9KU09iamVjdElubGluZXMuaDoKKyAgICAgICAgKEpTQzo6Z2V0Q2FsbERh
dGEpOgorICAgICAgICAoSlNDOjpnZXRDb25zdHJ1Y3REYXRhKToKKyAgICAgICAgKiBydW50aW1l
L1Byb3BlcnR5U2xvdC5jcHA6CisgICAgICAgIChKU0M6OlByb3BlcnR5U2xvdDo6ZnVuY3Rpb25H
ZXR0ZXIgY29uc3QpOgorICAgICAgICAqIHJ1bnRpbWUvU3BhcnNlQXJyYXlWYWx1ZU1hcC5jcHA6
CisgICAgICAgIChKU0M6OlNwYXJzZUFycmF5RW50cnk6OnB1dCk6CisKIDIwMjEtMDUtMTMgIERh
cmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIEZvbGxvdy11cCBmaXggZm9y
OiBSZW1vdmUgU3RyaW5nQnVpbGRlcjo6YXBwZW5kTnVtYmVyCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9HZXR0ZXJTZXR0ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0dldHRlclNldHRlci5jcHAJKHJldmlzaW9uIDI3NzQ4OCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0dldHRlclNldHRlci5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTQ2LDcgKzQ2LDcgQEAgdm9pZCBHZXR0ZXJTZXR0ZXI6OnZpc2l0Q2hpbGRy
ZW5JbXBsKEpTQwogCiBERUZJTkVfVklTSVRfQ0hJTERSRU4oR2V0dGVyU2V0dGVyKTsKIAotSlNW
YWx1ZSBjYWxsR2V0dGVyKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUgYmFz
ZSwgSlNWYWx1ZSBnZXR0ZXJTZXR0ZXIpCitKU1ZhbHVlIEdldHRlclNldHRlcjo6Y2FsbEdldHRl
cihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHRoaXNWYWx1ZSkKIHsKICAg
ICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVf
VEhST1dfU0NPUEUodm0pOwpAQCAtNTQsMzEgKzU0LDI5IEBAIEpTVmFsdWUgY2FsbEdldHRlcihK
U0dsb2JhbE9iamVjdCogZ2xvYmEKICAgICAvLyBXZSB3b3JrIGFyb3VuZCB0aGF0IGJ5IGNoZWNr
aW5nIGhlcmUuCiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgc2NvcGUuZXhjZXB0aW9u
KCktPnZhbHVlKCkpOwogCi0gICAgSlNPYmplY3QqIGdldHRlciA9IGpzQ2FzdDxHZXR0ZXJTZXR0
ZXIqPihnZXR0ZXJTZXR0ZXIpLT5nZXR0ZXIoKTsKKyAgICBKU09iamVjdCogZ2V0dGVyID0gdGhp
cy0+Z2V0dGVyKCk7CiAKLSAgICBhdXRvIGNhbGxEYXRhID0gZ2V0Q2FsbERhdGEodm0sIGdldHRl
cik7Ci0gICAgUkVMRUFTRV9BTkRfUkVUVVJOKHNjb3BlLCBjYWxsKGdsb2JhbE9iamVjdCwgZ2V0
dGVyLCBjYWxsRGF0YSwgYmFzZSwgQXJnTGlzdCgpKSk7CisgICAgYXV0byBjYWxsRGF0YSA9IEpT
Qzo6Z2V0Q2FsbERhdGEodm0sIGdldHRlcik7CisgICAgUkVMRUFTRV9BTkRfUkVUVVJOKHNjb3Bl
LCBjYWxsKGdsb2JhbE9iamVjdCwgZ2V0dGVyLCBjYWxsRGF0YSwgdGhpc1ZhbHVlLCBBcmdMaXN0
KCkpKTsKIH0KIAotYm9vbCBjYWxsU2V0dGVyKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IEpTVmFsdWUgYmFzZSwgSlNWYWx1ZSBnZXR0ZXJTZXR0ZXIsIEpTVmFsdWUgdmFsdWUsIEVDTUFN
b2RlIGVjbWFNb2RlKQorYm9vbCBHZXR0ZXJTZXR0ZXI6OmNhbGxTZXR0ZXIoSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSB0aGlzVmFsdWUsIEpTVmFsdWUgdmFsdWUsIGJvb2wg
c2hvdWxkVGhyb3cpCiB7CiAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOwogICAgIGF1
dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKIAotICAgIEdldHRlclNldHRlciog
Z2V0dGVyU2V0dGVyT2JqID0ganNDYXN0PEdldHRlclNldHRlcio+KGdldHRlclNldHRlcik7Cisg
ICAgSlNPYmplY3QqIHNldHRlciA9IHRoaXMtPnNldHRlcigpOwogCi0gICAgaWYgKGdldHRlclNl
dHRlck9iai0+aXNTZXR0ZXJOdWxsKCkpCi0gICAgICAgIHJldHVybiB0eXBlRXJyb3IoZ2xvYmFs
T2JqZWN0LCBzY29wZSwgZWNtYU1vZGUuaXNTdHJpY3QoKSwgUmVhZG9ubHlQcm9wZXJ0eVdyaXRl
RXJyb3IpOwotCi0gICAgSlNPYmplY3QqIHNldHRlciA9IGdldHRlclNldHRlck9iai0+c2V0dGVy
KCk7CisgICAgaWYgKHNldHRlci0+dHlwZSgpID09IE51bGxTZXR0ZXJGdW5jdGlvblR5cGUpCisg
ICAgICAgIHJldHVybiB0eXBlRXJyb3IoZ2xvYmFsT2JqZWN0LCBzY29wZSwgc2hvdWxkVGhyb3cs
IFJlYWRvbmx5UHJvcGVydHlXcml0ZUVycm9yKTsKIAogICAgIE1hcmtlZEFyZ3VtZW50QnVmZmVy
IGFyZ3M7CiAgICAgYXJncy5hcHBlbmQodmFsdWUpOwogICAgIEFTU0VSVCghYXJncy5oYXNPdmVy
Zmxvd2VkKCkpOwogCi0gICAgYXV0byBjYWxsRGF0YSA9IGdldENhbGxEYXRhKHZtLCBzZXR0ZXIp
OworICAgIGF1dG8gY2FsbERhdGEgPSBKU0M6OmdldENhbGxEYXRhKHZtLCBzZXR0ZXIpOwogICAg
IHNjb3BlLnJlbGVhc2UoKTsKLSAgICBjYWxsKGdsb2JhbE9iamVjdCwgc2V0dGVyLCBjYWxsRGF0
YSwgYmFzZSwgYXJncyk7CisgICAgY2FsbChnbG9iYWxPYmplY3QsIHNldHRlciwgY2FsbERhdGEs
IHRoaXNWYWx1ZSwgYXJncyk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0dldHRlclNldHRlci5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0dldHRlclNldHRlci5oCShyZXZpc2lvbiAyNzc0ODgp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9HZXR0ZXJTZXR0ZXIuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMTA1LDYgKzEwNSw5IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIHJlc3Vs
dDsKICAgICB9CiAKKyAgICBKU1ZhbHVlIGNhbGxHZXR0ZXIoSlNHbG9iYWxPYmplY3QqLCBKU1Zh
bHVlIHRoaXNWYWx1ZSk7CisgICAgYm9vbCBjYWxsU2V0dGVyKEpTR2xvYmFsT2JqZWN0KiwgSlNW
YWx1ZSB0aGlzVmFsdWUsIEpTVmFsdWUsIGJvb2wgc2hvdWxkVGhyb3cpOworCiAgICAgc3RhdGlj
IFN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgSlNWYWx1ZSBwcm90b3R5cGUpCiAgICAgewogICAgICAgICByZXR1cm4gU3RydWN0
dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBUeXBlSW5mbyhHZXR0ZXJT
ZXR0ZXJUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CkBAIC0xMzQsNyArMTM3LDQgQEAg
cHJpdmF0ZToKICAgICBXcml0ZUJhcnJpZXI8SlNPYmplY3Q+IG1fc2V0dGVyOyAgCiB9OwogCi1K
U1ZhbHVlIGNhbGxHZXR0ZXIoSlNHbG9iYWxPYmplY3QqLCBKU1ZhbHVlIGJhc2UsIEpTVmFsdWUg
Z2V0dGVyU2V0dGVyKTsKLUpTX0VYUE9SVF9QUklWQVRFIGJvb2wgY2FsbFNldHRlcihKU0dsb2Jh
bE9iamVjdCosIEpTVmFsdWUgYmFzZSwgSlNWYWx1ZSBnZXR0ZXJTZXR0ZXIsIEpTVmFsdWUsIEVD
TUFNb2RlKTsKLQogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0NKU1ZhbHVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0NKU1ZhbHVlLmNwcAkocmV2aXNpb24gMjc3NDg4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDSlNWYWx1ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTM4NCwxMSArMzg0LDYgQEAgdm9pZCBKU1ZhbHVlOjpkdW1wRm9yQmFja3RyYWNlKFByaW50U3Ry
ZQogICAgICAgICBvdXQucHJpbnQoIklOVkFMSUQiKTsKIH0KIAotYm9vbCBKU1ZhbHVlOjppc1Zh
bGlkQ2FsbGVlKCkKLXsKLSAgICByZXR1cm4gYXNPYmplY3QoYXNDZWxsKCkpLT5nbG9iYWxPYmpl
Y3QoKTsKLX0KLQogSlNTdHJpbmcqIEpTVmFsdWU6OnRvU3RyaW5nU2xvd0Nhc2UoSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgYm9vbCByZXR1cm5FbXB0eVN0cmluZ09uRXJyb3IpIGNvbnN0
CiB7CiAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNDSlNWYWx1ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTQ0pTVmFsdWUuaAkocmV2aXNpb24gMjc3NDg4KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDSlNWYWx1ZS5oCSh3b3JraW5nIGNvcHkpCkBA
IC0zNDMsNyArMzQzLDYgQEAgcHVibGljOgogCiAgICAgYm9vbCBpc0NlbGwoKSBjb25zdDsKICAg
ICBKU0NlbGwqIGFzQ2VsbCgpIGNvbnN0OwotICAgIEpTX0VYUE9SVF9QUklWQVRFIGJvb2wgaXNW
YWxpZENhbGxlZSgpOwogCiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmVPck51bGwoVk0mKSBjb25z
dDsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuY3BwCShyZXZp
c2lvbiAyNzc0ODgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC05OCw2ICs5OCwxMSBAQCBDYWxsRGF0YSBKU0NlbGw6OmdldENv
bnN0cnVjdERhdGEoSlNDZWxsCiAgICAgcmV0dXJuIHsgfTsKIH0KIAorYm9vbCBKU0NlbGw6Omlz
VmFsaWRDYWxsZWUoKSBjb25zdAoreworICAgIHJldHVybiBpc09iamVjdCgpICYmIGFzT2JqZWN0
KHRoaXMpLT5nbG9iYWxPYmplY3QoKTsKK30KKwogYm9vbCBKU0NlbGw6OnB1dChKU0NlbGwqIGNl
bGwsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFByb3BlcnR5TmFtZSBpZGVudGlmaWVy
LCBKU1ZhbHVlIHZhbHVlLCBQdXRQcm9wZXJ0eVNsb3QmIHNsb3QpCiB7CiAgICAgaWYgKGNlbGwt
PmlzU3RyaW5nKCkgfHwgY2VsbC0+aXNTeW1ib2woKSB8fCBjZWxsLT5pc0hlYXBCaWdJbnQoKSkK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5oCShyZXZpc2lvbiAyNzc0
ODgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaAkod29ya2luZyBj
b3B5KQpAQCAtMTE0LDYgKzExNCw3IEBAIHB1YmxpYzoKICAgICB0ZW1wbGF0ZTxDb25jdXJyZW5j
eT4gVHJpU3RhdGUgaXNDb25zdHJ1Y3RvcldpdGhDb25jdXJyZW5jeShWTSYpOwogICAgIGJvb2wg
aW5oZXJpdHMoVk0mLCBjb25zdCBDbGFzc0luZm8qKSBjb25zdDsKICAgICB0ZW1wbGF0ZTx0eXBl
bmFtZSBUYXJnZXQ+IGJvb2wgaW5oZXJpdHMoVk0mKSBjb25zdDsKKyAgICBKU19FWFBPUlRfUFJJ
VkFURSBib29sIGlzVmFsaWRDYWxsZWUoKSBjb25zdDsKICAgICBib29sIGlzQVBJVmFsdWVXcmFw
cGVyKCkgY29uc3Q7CiAgICAgCiAgICAgLy8gRWFjaCBjZWxsIGhhcyBhIGJ1aWx0LWluIGxvY2su
IEN1cnJlbnRseSBpdCdzIHNpbXBseSBhdmFpbGFibGUgZm9yIHVzZSBpZiB5b3UgbmVlZCBpdC4g
SXQncwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAko
cmV2aXNpb24gMjc3NDg4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmpl
Y3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04MTEsOCArODExLDcgQEAgYm9vbCBKU09iamVjdDo6
cHV0SW5saW5lU2xvdyhKU0dsb2JhbE9iagogICAgICAgICAgICAgICAgIC8vIFdlIG5lZWQgdG8g
bWFrZSBzdXJlIHRoYXQgd2UgZGVjaWRlIHRvIGNhY2hlIHRoaXMgcHJvcGVydHkgYmVmb3JlIHdl
IHBvdGVudGlhbGx5IGV4ZWN1dGUgYXJpYml0cmFyeSBKUy4KICAgICAgICAgICAgICAgICBpZiAo
IXRoaXMtPnN0cnVjdHVyZSh2bSktPmlzVW5jYWNoZWFibGVEaWN0aW9uYXJ5KCkpCiAgICAgICAg
ICAgICAgICAgICAgIHNsb3Quc2V0Q2FjaGVhYmxlU2V0dGVyKG9iaiwgb2Zmc2V0KTsKLSAgICAg
ICAgICAgICAgICBKU1ZhbHVlIGdzID0gb2JqLT5nZXREaXJlY3Qob2Zmc2V0KTsKLSAgICAgICAg
ICAgICAgICBSRUxFQVNFX0FORF9SRVRVUk4oc2NvcGUsIGNhbGxTZXR0ZXIoZ2xvYmFsT2JqZWN0
LCBzbG90LnRoaXNWYWx1ZSgpLCBncywgdmFsdWUsIHNsb3QuaXNTdHJpY3RNb2RlKCkgPyBFQ01B
TW9kZTo6c3RyaWN0KCkgOiBFQ01BTW9kZTo6c2xvcHB5KCkpKTsKKyAgICAgICAgICAgICAgICBS
RUxFQVNFX0FORF9SRVRVUk4oc2NvcGUsIGpzQ2FzdDxHZXR0ZXJTZXR0ZXIqPihvYmotPmdldERp
cmVjdChvZmZzZXQpKS0+Y2FsbFNldHRlcihnbG9iYWxPYmplY3QsIHNsb3QudGhpc1ZhbHVlKCks
IHZhbHVlLCBzbG90LmlzU3RyaWN0TW9kZSgpKSk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICBpZiAoYXR0cmlidXRlcyAmIFByb3BlcnR5QXR0cmlidXRlOjpDdXN0b21BY2Nlc3Nvcikgewog
ICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBSZW1vdmUgdGhpcyBhZnRlciBXZWJJREwgZ2VuZXJh
dG9yIGlzIGZpeGVkIHRvIHNldCBSZWFkT25seSBmb3IgW1J1bnRpbWVDb25kaXRpb25hbGx5UmVh
ZFdyaXRlXSBhdHRyaWJ1dGVzLgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNPYmplY3RJbmxpbmVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNPYmplY3RJbmxpbmVzLmgJKHJldmlzaW9uIDI3NzQ4OCkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0SW5saW5lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC01
MzksMTggKzUzOSwyMiBAQCBpbmxpbmUgYm9vbCBKU09iamVjdDo6cHV0T3duRGF0YVByb3BlcnR5
CiAgICAgcmV0dXJuIHB1dERpcmVjdEludGVybmFsPFB1dE1vZGVQdXQ+KHZtLCBwcm9wZXJ0eU5h
bWUsIHZhbHVlLCAwLCBzbG90KTsKIH0KIAotaW5saW5lIENhbGxEYXRhIGdldENhbGxEYXRhKFZN
JiB2bSwgSlNWYWx1ZSB2YWx1ZSkKK0FMV0FZU19JTkxJTkUgQ2FsbERhdGEgZ2V0Q2FsbERhdGEo
Vk0mIHZtLCBKU0NlbGwqIGNlbGwpCiB7Ci0gICAgaWYgKCF2YWx1ZS5pc0NlbGwoKSkKLSAgICAg
ICAgcmV0dXJuIHsgfTsKLSAgICBKU0NlbGwqIGNlbGwgPSB2YWx1ZS5hc0NlbGwoKTsKICAgICBp
ZiAoY2VsbC0+dHlwZSgpID09IEpTRnVuY3Rpb25UeXBlKQogICAgICAgICByZXR1cm4gSlNGdW5j
dGlvbjo6Z2V0Q2FsbERhdGEoY2VsbCk7CiAgICAgQ2FsbERhdGEgcmVzdWx0ID0gY2VsbC0+bWV0
aG9kVGFibGUodm0pLT5nZXRDYWxsRGF0YShjZWxsKTsKLSAgICBBU1NFUlQocmVzdWx0LnR5cGUg
PT0gQ2FsbERhdGE6OlR5cGU6Ok5vbmUgfHwgdmFsdWUuaXNWYWxpZENhbGxlZSgpKTsKKyAgICBB
U1NFUlQocmVzdWx0LnR5cGUgPT0gQ2FsbERhdGE6OlR5cGU6Ok5vbmUgfHwgY2VsbC0+aXNWYWxp
ZENhbGxlZSgpKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCitpbmxpbmUgQ2FsbERhdGEgZ2V0
Q2FsbERhdGEoVk0mIHZtLCBKU1ZhbHVlIHZhbHVlKQoreworICAgIGlmICghdmFsdWUuaXNDZWxs
KCkpIAorICAgICAgICByZXR1cm4geyB9OworICAgIHJldHVybiBnZXRDYWxsRGF0YSh2bSwgdmFs
dWUuYXNDZWxsKCkpOworfQorCiBpbmxpbmUgQ2FsbERhdGEgZ2V0Q29uc3RydWN0RGF0YShWTSYg
dm0sIEpTVmFsdWUgdmFsdWUpCiB7CiAgICAgaWYgKCF2YWx1ZS5pc0NlbGwoKSkKQEAgLTU1OSw3
ICs1NjMsNyBAQCBpbmxpbmUgQ2FsbERhdGEgZ2V0Q29uc3RydWN0RGF0YShWTSYgdm0sCiAgICAg
aWYgKGNlbGwtPnR5cGUoKSA9PSBKU0Z1bmN0aW9uVHlwZSkKICAgICAgICAgcmV0dXJuIEpTRnVu
Y3Rpb246OmdldENvbnN0cnVjdERhdGEoY2VsbCk7CiAgICAgQ2FsbERhdGEgcmVzdWx0ID0gY2Vs
bC0+bWV0aG9kVGFibGUodm0pLT5nZXRDb25zdHJ1Y3REYXRhKGNlbGwpOwotICAgIEFTU0VSVChy
ZXN1bHQudHlwZSA9PSBDYWxsRGF0YTo6VHlwZTo6Tm9uZSB8fCB2YWx1ZS5pc1ZhbGlkQ2FsbGVl
KCkpOworICAgIEFTU0VSVChyZXN1bHQudHlwZSA9PSBDYWxsRGF0YTo6VHlwZTo6Tm9uZSB8fCBj
ZWxsLT5pc1ZhbGlkQ2FsbGVlKCkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3BlcnR5U2xvdC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvcGVydHlTbG90LmNwcAkocmV2aXNp
b24gMjc3NDg4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvcGVydHlTbG90
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsNyArMzAsNyBAQCBuYW1lc3BhY2UgSlNDIHsKIEpT
VmFsdWUgUHJvcGVydHlTbG90OjpmdW5jdGlvbkdldHRlcihKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0KSBjb25zdAogewogICAgIEFTU0VSVChtX3RoaXNWYWx1ZSk7Ci0gICAgcmV0dXJuIGNh
bGxHZXR0ZXIoZ2xvYmFsT2JqZWN0LCBtX3RoaXNWYWx1ZSwgbV9kYXRhLmdldHRlci5nZXR0ZXJT
ZXR0ZXIpOworICAgIHJldHVybiBtX2RhdGEuZ2V0dGVyLmdldHRlclNldHRlci0+Y2FsbEdldHRl
cihnbG9iYWxPYmplY3QsIG1fdGhpc1ZhbHVlKTsKIH0KIAogSlNWYWx1ZSBQcm9wZXJ0eVNsb3Q6
OmN1c3RvbUdldHRlcihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBQcm9wZXJ0eU5hbWUg
cHJvcGVydHlOYW1lKSBjb25zdApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
U3BhcnNlQXJyYXlWYWx1ZU1hcC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU3BhcnNlQXJyYXlWYWx1ZU1hcC5jcHAJKHJldmlzaW9uIDI3NzQ4OCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NwYXJzZUFycmF5VmFsdWVNYXAuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yMDEsNyArMjAxLDcgQEAgYm9vbCBTcGFyc2VBcnJheUVudHJ5Ojpw
dXQoSlNHbG9iYWxPYmplYwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAKLSAgICBSRUxF
QVNFX0FORF9SRVRVUk4oc2NvcGUsIGNhbGxTZXR0ZXIoZ2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUs
IEJhc2U6OmdldCgpLCB2YWx1ZSwgc2hvdWxkVGhyb3cgPyBFQ01BTW9kZTo6c3RyaWN0KCkgOiBF
Q01BTW9kZTo6c2xvcHB5KCkpKTsKKyAgICBSRUxFQVNFX0FORF9SRVRVUk4oc2NvcGUsIGpzQ2Fz
dDxHZXR0ZXJTZXR0ZXIqPihCYXNlOjpnZXQoKSktPmNhbGxTZXR0ZXIoZ2xvYmFsT2JqZWN0LCB0
aGlzVmFsdWUsIHZhbHVlLCBzaG91bGRUaHJvdykpOwogfQogCiBKU1ZhbHVlIFNwYXJzZUFycmF5
RW50cnk6OmdldE5vblNwYXJzZU1vZGUoKSBjb25zdAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>