<?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>217539</bug_id>
          
          <creation_ts>2020-10-09 16:13:00 -0700</creation_ts>
          <short_desc>[GPU Process] Mechanical cleanup in DisplayListRecorder</short_desc>
          <delta_ts>2020-10-09 17:09: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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>217506</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1696386</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-10-09 16:13:00 -0700</bug_when>
    <thetext>[GPU Process] Mechanical cleanup in DisplayListRecorder</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1696387</commentid>
    <comment_count>1</comment_count>
      <attachid>410980</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-10-09 16:14:16 -0700</bug_when>
    <thetext>Created attachment 410980
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1696393</commentid>
    <comment_count>2</comment_count>
      <attachid>410980</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-10-09 16:27:21 -0700</bug_when>
    <thetext>Comment on attachment 410980
Patch

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

&gt; Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.cpp:381
&gt; +    DrawingItem&amp; newItem = downcast&lt;DrawingItem&gt;(appendItem(WTFMove(item)));
&gt; +    updateItemExtent(newItem);

auto would good here.

If you wanted to, I would also consider making Recorder::appendItem a template function so that the downcast is not needed for callers of appendItem.

template&lt;typename ItemType&gt;
ItemType&amp; Recorder::appendItem(Ref&lt;ItemType&gt;&amp;&amp; item)
{
    willAppendItem(item.get());
    return downcast&lt;ItemType&gt;(m_displayList.append(WTFMove(item)));
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1696396</commentid>
    <comment_count>3</comment_count>
      <attachid>410982</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-10-09 16:33:58 -0700</bug_when>
    <thetext>Created attachment 410982
Patch for committing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1696405</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-10-09 17:08:20 -0700</bug_when>
    <thetext>Committed r268300: &lt;https://trac.webkit.org/changeset/268300&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 410982.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1696406</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-10-09 17:09:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/70159802&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>410980</attachid>
            <date>2020-10-09 16:14:16 -0700</date>
            <delta_ts>2020-10-09 16:27:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-217539-20201009161415.patch</filename>
            <type>text/plain</type>
            <size>13385</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY4MDY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTkyOWVmZmE5Mjk3ZjE1
ZWEzNDhhZjQ0ZDJkOWNkMjcxNmMxZjA2MS4uY2NhMWIyYzNhMGRiYjlkMWFkMmYyYTU2NmNlOTFi
MzI0YjdlNzE5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDIwLTEwLTA5ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0dQVSBQcm9j
ZXNzXSBNZWNoYW5pY2FsIGNsZWFudXAgaW4gRGlzcGxheUxpc3RSZWNvcmRlcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE3NTM5CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW92ZSBkdXBsaWNhdGVkIGNv
ZGUgaW50byBhIGhlbHBlciBmdW5jdGlvbi4KKworICAgICAgICBObyBuZXcgdGVzdHMgYmVjYXVz
ZSB0aGVyZSBpcyBubyBiZWhhdmlvciBjaGFuZ2UuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RSZWNvcmRlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpEaXNwbGF5TGlzdDo6UmVjb3JkZXI6OmRyYXdHbHlwaHMpOgorICAgICAgICAoV2ViQ29y
ZTo6RGlzcGxheUxpc3Q6OlJlY29yZGVyOjpkcmF3SW1hZ2UpOgorICAgICAgICAoV2ViQ29yZTo6
RGlzcGxheUxpc3Q6OlJlY29yZGVyOjpkcmF3VGlsZWRJbWFnZSk6CisgICAgICAgIChXZWJDb3Jl
OjpEaXNwbGF5TGlzdDo6UmVjb3JkZXI6OmRyYXdOYXRpdmVJbWFnZSk6CisgICAgICAgIChXZWJD
b3JlOjpEaXNwbGF5TGlzdDo6UmVjb3JkZXI6OmRyYXdQYXR0ZXJuKToKKyAgICAgICAgKFdlYkNv
cmU6OkRpc3BsYXlMaXN0OjpSZWNvcmRlcjo6YmVnaW5UcmFuc3BhcmVuY3lMYXllcik6CisgICAg
ICAgIChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6UmVjb3JkZXI6OmRyYXdSZWN0KToKKyAgICAgICAg
KFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpSZWNvcmRlcjo6ZHJhd0xpbmUpOgorICAgICAgICAoV2Vi
Q29yZTo6RGlzcGxheUxpc3Q6OlJlY29yZGVyOjpkcmF3TGluZXNGb3JUZXh0KToKKyAgICAgICAg
KFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpSZWNvcmRlcjo6ZHJhd0RvdHNGb3JEb2N1bWVudE1hcmtl
cik6CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6UmVjb3JkZXI6OmRyYXdFbGxpcHNl
KToKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpSZWNvcmRlcjo6ZHJhd1BhdGgpOgor
ICAgICAgICAoV2ViQ29yZTo6RGlzcGxheUxpc3Q6OlJlY29yZGVyOjpkcmF3Rm9jdXNSaW5nKToK
KyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpSZWNvcmRlcjo6ZmlsbFJlY3QpOgorICAg
ICAgICAoV2ViQ29yZTo6RGlzcGxheUxpc3Q6OlJlY29yZGVyOjpmaWxsUm91bmRlZFJlY3QpOgor
ICAgICAgICAoV2ViQ29yZTo6RGlzcGxheUxpc3Q6OlJlY29yZGVyOjpmaWxsUmVjdFdpdGhSb3Vu
ZGVkSG9sZSk6CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6UmVjb3JkZXI6OmZpbGxQ
YXRoKToKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpSZWNvcmRlcjo6ZmlsbEVsbGlw
c2UpOgorICAgICAgICAoV2ViQ29yZTo6RGlzcGxheUxpc3Q6OlJlY29yZGVyOjpzdHJva2VSZWN0
KToKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpSZWNvcmRlcjo6c3Ryb2tlUGF0aCk6
CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6UmVjb3JkZXI6OnN0cm9rZUVsbGlwc2Up
OgorICAgICAgICAoV2ViQ29yZTo6RGlzcGxheUxpc3Q6OlJlY29yZGVyOjpjbGVhclJlY3QpOgor
ICAgICAgICAoV2ViQ29yZTo6RGlzcGxheUxpc3Q6OlJlY29yZGVyOjphcHBlbmRJdGVtQW5kVXBk
YXRlRXh0ZW50KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlz
cGxheUxpc3RSZWNvcmRlci5oOgorCiAyMDIwLTEwLTA2ICBBbGV4IENocmlzdGVuc2VuICA8YWNo
cmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmVuYW1lIG5hbWVzcGFjZSBQYWNrZWQg
dG8gbmFtZXNwYWNlIFBhY2tlZENvbG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RSZWNvcmRlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RSZWNv
cmRlci5jcHAKaW5kZXggYmQwNDM4YzZhNGIyNTZjODg1NmJiMTI5YTNhYjVmYTIzZTc4ZGM4YS4u
YzU2ZDdhNzBiYmJiYjJlMThjZDYwYzM4NTY1YWE2MDhjZDAyNDA4MyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0UmVj
b3JkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXls
aXN0cy9EaXNwbGF5TGlzdFJlY29yZGVyLmNwcApAQCAtMTExLDQzICsxMTEsMzcgQEAgdm9pZCBS
ZWNvcmRlcjo6c2V0TWl0ZXJMaW1pdChmbG9hdCBtaXRlckxpbWl0KQogCiB2b2lkIFJlY29yZGVy
OjpkcmF3R2x5cGhzKGNvbnN0IEZvbnQmIGZvbnQsIGNvbnN0IEdseXBoQnVmZmVyJiBnbHlwaEJ1
ZmZlciwgdW5zaWduZWQgZnJvbSwgdW5zaWduZWQgbnVtR2x5cGhzLCBjb25zdCBGbG9hdFBvaW50
JiBzdGFydFBvaW50LCBGb250U21vb3RoaW5nTW9kZSBzbW9vdGhpbmdNb2RlKQogewotICAgIERy
YXdpbmdJdGVtJiBuZXdJdGVtID0gZG93bmNhc3Q8RHJhd2luZ0l0ZW0+KGFwcGVuZEl0ZW0oRHJh
d0dseXBoczo6Y3JlYXRlKGZvbnQsIGdseXBoQnVmZmVyLmdseXBocyhmcm9tKSwgZ2x5cGhCdWZm
ZXIuYWR2YW5jZXMoZnJvbSksIG51bUdseXBocywgRmxvYXRQb2ludCgpLCB0b0Zsb2F0U2l6ZShz
dGFydFBvaW50KSwgc21vb3RoaW5nTW9kZSkpKTsKLSAgICB1cGRhdGVJdGVtRXh0ZW50KG5ld0l0
ZW0pOworICAgIGFwcGVuZEl0ZW1BbmRVcGRhdGVFeHRlbnQoRHJhd0dseXBoczo6Y3JlYXRlKGZv
bnQsIGdseXBoQnVmZmVyLmdseXBocyhmcm9tKSwgZ2x5cGhCdWZmZXIuYWR2YW5jZXMoZnJvbSks
IG51bUdseXBocywgRmxvYXRQb2ludCgpLCB0b0Zsb2F0U2l6ZShzdGFydFBvaW50KSwgc21vb3Ro
aW5nTW9kZSkpOwogfQogCiBJbWFnZURyYXdSZXN1bHQgUmVjb3JkZXI6OmRyYXdJbWFnZShJbWFn
ZSYgaW1hZ2UsIGNvbnN0IEZsb2F0UmVjdCYgZGVzdGluYXRpb24sIGNvbnN0IEZsb2F0UmVjdCYg
c291cmNlLCBjb25zdCBJbWFnZVBhaW50aW5nT3B0aW9ucyYgaW1hZ2VQYWludGluZ09wdGlvbnMp
CiB7Ci0gICAgRHJhd2luZ0l0ZW0mIG5ld0l0ZW0gPSBkb3duY2FzdDxEcmF3aW5nSXRlbT4oYXBw
ZW5kSXRlbShEcmF3SW1hZ2U6OmNyZWF0ZShpbWFnZSwgZGVzdGluYXRpb24sIHNvdXJjZSwgaW1h
Z2VQYWludGluZ09wdGlvbnMpKSk7Ci0gICAgdXBkYXRlSXRlbUV4dGVudChuZXdJdGVtKTsKKyAg
ICBhcHBlbmRJdGVtQW5kVXBkYXRlRXh0ZW50KERyYXdJbWFnZTo6Y3JlYXRlKGltYWdlLCBkZXN0
aW5hdGlvbiwgc291cmNlLCBpbWFnZVBhaW50aW5nT3B0aW9ucykpOwogICAgIHJldHVybiBJbWFn
ZURyYXdSZXN1bHQ6OkRpZFJlY29yZDsKIH0KIAogSW1hZ2VEcmF3UmVzdWx0IFJlY29yZGVyOjpk
cmF3VGlsZWRJbWFnZShJbWFnZSYgaW1hZ2UsIGNvbnN0IEZsb2F0UmVjdCYgZGVzdGluYXRpb24s
IGNvbnN0IEZsb2F0UG9pbnQmIHNvdXJjZSwgY29uc3QgRmxvYXRTaXplJiB0aWxlU2l6ZSwgY29u
c3QgRmxvYXRTaXplJiBzcGFjaW5nLCBjb25zdCBJbWFnZVBhaW50aW5nT3B0aW9ucyYgaW1hZ2VQ
YWludGluZ09wdGlvbnMpCiB7Ci0gICAgRHJhd2luZ0l0ZW0mIG5ld0l0ZW0gPSBkb3duY2FzdDxE
cmF3aW5nSXRlbT4oYXBwZW5kSXRlbShEcmF3VGlsZWRJbWFnZTo6Y3JlYXRlKGltYWdlLCBkZXN0
aW5hdGlvbiwgc291cmNlLCB0aWxlU2l6ZSwgc3BhY2luZywgaW1hZ2VQYWludGluZ09wdGlvbnMp
KSk7Ci0gICAgdXBkYXRlSXRlbUV4dGVudChuZXdJdGVtKTsKKyAgICBhcHBlbmRJdGVtQW5kVXBk
YXRlRXh0ZW50KERyYXdUaWxlZEltYWdlOjpjcmVhdGUoaW1hZ2UsIGRlc3RpbmF0aW9uLCBzb3Vy
Y2UsIHRpbGVTaXplLCBzcGFjaW5nLCBpbWFnZVBhaW50aW5nT3B0aW9ucykpOwogICAgIHJldHVy
biBJbWFnZURyYXdSZXN1bHQ6OkRpZFJlY29yZDsKIH0KIAogSW1hZ2VEcmF3UmVzdWx0IFJlY29y
ZGVyOjpkcmF3VGlsZWRJbWFnZShJbWFnZSYgaW1hZ2UsIGNvbnN0IEZsb2F0UmVjdCYgZGVzdGlu
YXRpb24sIGNvbnN0IEZsb2F0UmVjdCYgc291cmNlLCBjb25zdCBGbG9hdFNpemUmIHRpbGVTY2Fs
ZUZhY3RvciwgSW1hZ2U6OlRpbGVSdWxlIGhSdWxlLCBJbWFnZTo6VGlsZVJ1bGUgdlJ1bGUsIGNv
bnN0IEltYWdlUGFpbnRpbmdPcHRpb25zJiBpbWFnZVBhaW50aW5nT3B0aW9ucykKIHsKLSAgICBE
cmF3aW5nSXRlbSYgbmV3SXRlbSA9IGRvd25jYXN0PERyYXdpbmdJdGVtPihhcHBlbmRJdGVtKERy
YXdUaWxlZFNjYWxlZEltYWdlOjpjcmVhdGUoaW1hZ2UsIGRlc3RpbmF0aW9uLCBzb3VyY2UsIHRp
bGVTY2FsZUZhY3RvciwgaFJ1bGUsIHZSdWxlLCBpbWFnZVBhaW50aW5nT3B0aW9ucykpKTsKLSAg
ICB1cGRhdGVJdGVtRXh0ZW50KG5ld0l0ZW0pOworICAgIGFwcGVuZEl0ZW1BbmRVcGRhdGVFeHRl
bnQoRHJhd1RpbGVkU2NhbGVkSW1hZ2U6OmNyZWF0ZShpbWFnZSwgZGVzdGluYXRpb24sIHNvdXJj
ZSwgdGlsZVNjYWxlRmFjdG9yLCBoUnVsZSwgdlJ1bGUsIGltYWdlUGFpbnRpbmdPcHRpb25zKSk7
CiAgICAgcmV0dXJuIEltYWdlRHJhd1Jlc3VsdDo6RGlkUmVjb3JkOwogfQogCiAjaWYgVVNFKENH
KSB8fCBVU0UoQ0FJUk8pIHx8IFVTRShESVJFQ1QyRCkKIHZvaWQgUmVjb3JkZXI6OmRyYXdOYXRp
dmVJbWFnZShjb25zdCBOYXRpdmVJbWFnZVB0ciYgaW1hZ2UsIGNvbnN0IEZsb2F0U2l6ZSYgaW1h
Z2VTaXplLCBjb25zdCBGbG9hdFJlY3QmIGRlc3RSZWN0LCBjb25zdCBGbG9hdFJlY3QmIHNyY1Jl
Y3QsIGNvbnN0IEltYWdlUGFpbnRpbmdPcHRpb25zJiBvcHRpb25zKQogewotICAgIERyYXdpbmdJ
dGVtJiBuZXdJdGVtID0gZG93bmNhc3Q8RHJhd2luZ0l0ZW0+KGFwcGVuZEl0ZW0oRHJhd05hdGl2
ZUltYWdlOjpjcmVhdGUoaW1hZ2UsIGltYWdlU2l6ZSwgZGVzdFJlY3QsIHNyY1JlY3QsIG9wdGlv
bnMpKSk7Ci0gICAgdXBkYXRlSXRlbUV4dGVudChuZXdJdGVtKTsKKyAgICBhcHBlbmRJdGVtQW5k
VXBkYXRlRXh0ZW50KERyYXdOYXRpdmVJbWFnZTo6Y3JlYXRlKGltYWdlLCBpbWFnZVNpemUsIGRl
c3RSZWN0LCBzcmNSZWN0LCBvcHRpb25zKSk7CiB9CiAjZW5kaWYKIAogdm9pZCBSZWNvcmRlcjo6
ZHJhd1BhdHRlcm4oSW1hZ2UmIGltYWdlLCBjb25zdCBGbG9hdFJlY3QmIGRlc3RSZWN0LCBjb25z
dCBGbG9hdFJlY3QmIHRpbGVSZWN0LCBjb25zdCBBZmZpbmVUcmFuc2Zvcm0mIHBhdHRlcm5UcmFu
c2Zvcm0sIGNvbnN0IEZsb2F0UG9pbnQmIHBoYXNlLCBjb25zdCBGbG9hdFNpemUmIHNwYWNpbmcs
IGNvbnN0IEltYWdlUGFpbnRpbmdPcHRpb25zJiBvcHRpb25zKQogewotICAgIERyYXdpbmdJdGVt
JiBuZXdJdGVtID0gZG93bmNhc3Q8RHJhd2luZ0l0ZW0+KGFwcGVuZEl0ZW0oRHJhd1BhdHRlcm46
OmNyZWF0ZShpbWFnZSwgZGVzdFJlY3QsIHRpbGVSZWN0LCBwYXR0ZXJuVHJhbnNmb3JtLCBwaGFz
ZSwgc3BhY2luZywgb3B0aW9ucykpKTsKLSAgICB1cGRhdGVJdGVtRXh0ZW50KG5ld0l0ZW0pOwor
ICAgIGFwcGVuZEl0ZW1BbmRVcGRhdGVFeHRlbnQoRHJhd1BhdHRlcm46OmNyZWF0ZShpbWFnZSwg
ZGVzdFJlY3QsIHRpbGVSZWN0LCBwYXR0ZXJuVHJhbnNmb3JtLCBwaGFzZSwgc3BhY2luZywgb3B0
aW9ucykpOwogfQogCiB2b2lkIFJlY29yZGVyOjpzYXZlKCkKQEAgLTIwOCw4ICsyMDIsNyBAQCBB
ZmZpbmVUcmFuc2Zvcm0gUmVjb3JkZXI6OmdldENUTShHcmFwaGljc0NvbnRleHQ6OkluY2x1ZGVE
ZXZpY2VTY2FsZSkKIAogdm9pZCBSZWNvcmRlcjo6YmVnaW5UcmFuc3BhcmVuY3lMYXllcihmbG9h
dCBvcGFjaXR5KQogewotICAgIERyYXdpbmdJdGVtJiBuZXdJdGVtID0gZG93bmNhc3Q8RHJhd2lu
Z0l0ZW0+KGFwcGVuZEl0ZW0oQmVnaW5UcmFuc3BhcmVuY3lMYXllcjo6Y3JlYXRlKG9wYWNpdHkp
KSk7Ci0gICAgdXBkYXRlSXRlbUV4dGVudChuZXdJdGVtKTsKKyAgICBhcHBlbmRJdGVtQW5kVXBk
YXRlRXh0ZW50KEJlZ2luVHJhbnNwYXJlbmN5TGF5ZXI6OmNyZWF0ZShvcGFjaXR5KSk7CiB9CiAK
IHZvaWQgUmVjb3JkZXI6OmVuZFRyYW5zcGFyZW5jeUxheWVyKCkKQEAgLTIxOSwxMjIgKzIxMiwx
MDIgQEAgdm9pZCBSZWNvcmRlcjo6ZW5kVHJhbnNwYXJlbmN5TGF5ZXIoKQogCiB2b2lkIFJlY29y
ZGVyOjpkcmF3UmVjdChjb25zdCBGbG9hdFJlY3QmIHJlY3QsIGZsb2F0IGJvcmRlclRoaWNrbmVz
cykKIHsKLSAgICBEcmF3aW5nSXRlbSYgbmV3SXRlbSA9IGRvd25jYXN0PERyYXdpbmdJdGVtPihh
cHBlbmRJdGVtKERyYXdSZWN0OjpjcmVhdGUocmVjdCwgYm9yZGVyVGhpY2tuZXNzKSkpOwotICAg
IHVwZGF0ZUl0ZW1FeHRlbnQobmV3SXRlbSk7CisgICAgYXBwZW5kSXRlbUFuZFVwZGF0ZUV4dGVu
dChEcmF3UmVjdDo6Y3JlYXRlKHJlY3QsIGJvcmRlclRoaWNrbmVzcykpOwogfQogCiB2b2lkIFJl
Y29yZGVyOjpkcmF3TGluZShjb25zdCBGbG9hdFBvaW50JiBwb2ludDEsIGNvbnN0IEZsb2F0UG9p
bnQmIHBvaW50MikKIHsKLSAgICBEcmF3aW5nSXRlbSYgbmV3SXRlbSA9IGRvd25jYXN0PERyYXdp
bmdJdGVtPihhcHBlbmRJdGVtKERyYXdMaW5lOjpjcmVhdGUocG9pbnQxLCBwb2ludDIpKSk7Ci0g
ICAgdXBkYXRlSXRlbUV4dGVudChuZXdJdGVtKTsKKyAgICBhcHBlbmRJdGVtQW5kVXBkYXRlRXh0
ZW50KERyYXdMaW5lOjpjcmVhdGUocG9pbnQxLCBwb2ludDIpKTsKIH0KIAogdm9pZCBSZWNvcmRl
cjo6ZHJhd0xpbmVzRm9yVGV4dChjb25zdCBGbG9hdFBvaW50JiBwb2ludCwgZmxvYXQgdGhpY2tu
ZXNzLCBjb25zdCBEYXNoQXJyYXkmIHdpZHRocywgYm9vbCBwcmludGluZywgYm9vbCBkb3VibGVM
aW5lcykKIHsKLSAgICBEcmF3aW5nSXRlbSYgbmV3SXRlbSA9IGRvd25jYXN0PERyYXdpbmdJdGVt
PihhcHBlbmRJdGVtKERyYXdMaW5lc0ZvclRleHQ6OmNyZWF0ZShGbG9hdFBvaW50KCksIHRvRmxv
YXRTaXplKHBvaW50KSwgdGhpY2tuZXNzLCB3aWR0aHMsIHByaW50aW5nLCBkb3VibGVMaW5lcykp
KTsKLSAgICB1cGRhdGVJdGVtRXh0ZW50KG5ld0l0ZW0pOworICAgIGFwcGVuZEl0ZW1BbmRVcGRh
dGVFeHRlbnQoRHJhd0xpbmVzRm9yVGV4dDo6Y3JlYXRlKEZsb2F0UG9pbnQoKSwgdG9GbG9hdFNp
emUocG9pbnQpLCB0aGlja25lc3MsIHdpZHRocywgcHJpbnRpbmcsIGRvdWJsZUxpbmVzKSk7CiB9
CiAKIHZvaWQgUmVjb3JkZXI6OmRyYXdEb3RzRm9yRG9jdW1lbnRNYXJrZXIoY29uc3QgRmxvYXRS
ZWN0JiByZWN0LCBEb2N1bWVudE1hcmtlckxpbmVTdHlsZSBzdHlsZSkKIHsKLSAgICBEcmF3aW5n
SXRlbSYgbmV3SXRlbSA9IGRvd25jYXN0PERyYXdpbmdJdGVtPihhcHBlbmRJdGVtKERyYXdEb3Rz
Rm9yRG9jdW1lbnRNYXJrZXI6OmNyZWF0ZShyZWN0LCBzdHlsZSkpKTsKLSAgICB1cGRhdGVJdGVt
RXh0ZW50KG5ld0l0ZW0pOworICAgIGFwcGVuZEl0ZW1BbmRVcGRhdGVFeHRlbnQoRHJhd0RvdHNG
b3JEb2N1bWVudE1hcmtlcjo6Y3JlYXRlKHJlY3QsIHN0eWxlKSk7CiB9CiAKIHZvaWQgUmVjb3Jk
ZXI6OmRyYXdFbGxpcHNlKGNvbnN0IEZsb2F0UmVjdCYgcmVjdCkKIHsKLSAgICBEcmF3aW5nSXRl
bSYgbmV3SXRlbSA9IGRvd25jYXN0PERyYXdpbmdJdGVtPihhcHBlbmRJdGVtKERyYXdFbGxpcHNl
OjpjcmVhdGUocmVjdCkpKTsKLSAgICB1cGRhdGVJdGVtRXh0ZW50KG5ld0l0ZW0pOworICAgIGFw
cGVuZEl0ZW1BbmRVcGRhdGVFeHRlbnQoRHJhd0VsbGlwc2U6OmNyZWF0ZShyZWN0KSk7CiB9CiAK
IHZvaWQgUmVjb3JkZXI6OmRyYXdQYXRoKGNvbnN0IFBhdGgmIHBhdGgpCiB7Ci0gICAgRHJhd2lu
Z0l0ZW0mIG5ld0l0ZW0gPSBkb3duY2FzdDxEcmF3aW5nSXRlbT4oYXBwZW5kSXRlbShEcmF3UGF0
aDo6Y3JlYXRlKHBhdGgpKSk7Ci0gICAgdXBkYXRlSXRlbUV4dGVudChuZXdJdGVtKTsKKyAgICBh
cHBlbmRJdGVtQW5kVXBkYXRlRXh0ZW50KERyYXdQYXRoOjpjcmVhdGUocGF0aCkpOwogfQogCiB2
b2lkIFJlY29yZGVyOjpkcmF3Rm9jdXNSaW5nKGNvbnN0IFBhdGgmIHBhdGgsIGZsb2F0IHdpZHRo
LCBmbG9hdCBvZmZzZXQsIGNvbnN0IENvbG9yJiBjb2xvcikKIHsKLSAgICBEcmF3aW5nSXRlbSYg
bmV3SXRlbSA9IGRvd25jYXN0PERyYXdpbmdJdGVtPihhcHBlbmRJdGVtKERyYXdGb2N1c1JpbmdQ
YXRoOjpjcmVhdGUocGF0aCwgd2lkdGgsIG9mZnNldCwgY29sb3IpKSk7Ci0gICAgdXBkYXRlSXRl
bUV4dGVudChuZXdJdGVtKTsKKyAgICBhcHBlbmRJdGVtQW5kVXBkYXRlRXh0ZW50KERyYXdGb2N1
c1JpbmdQYXRoOjpjcmVhdGUocGF0aCwgd2lkdGgsIG9mZnNldCwgY29sb3IpKTsKIH0KIAogdm9p
ZCBSZWNvcmRlcjo6ZHJhd0ZvY3VzUmluZyhjb25zdCBWZWN0b3I8RmxvYXRSZWN0PiYgcmVjdHMs
IGZsb2F0IHdpZHRoLCBmbG9hdCBvZmZzZXQsIGNvbnN0IENvbG9yJiBjb2xvcikKIHsKLSAgICBE
cmF3aW5nSXRlbSYgbmV3SXRlbSA9IGRvd25jYXN0PERyYXdpbmdJdGVtPihhcHBlbmRJdGVtKERy
YXdGb2N1c1JpbmdSZWN0czo6Y3JlYXRlKHJlY3RzLCB3aWR0aCwgb2Zmc2V0LCBjb2xvcikpKTsK
LSAgICB1cGRhdGVJdGVtRXh0ZW50KG5ld0l0ZW0pOworICAgIGFwcGVuZEl0ZW1BbmRVcGRhdGVF
eHRlbnQoRHJhd0ZvY3VzUmluZ1JlY3RzOjpjcmVhdGUocmVjdHMsIHdpZHRoLCBvZmZzZXQsIGNv
bG9yKSk7CiB9CiAKIHZvaWQgUmVjb3JkZXI6OmZpbGxSZWN0KGNvbnN0IEZsb2F0UmVjdCYgcmVj
dCkKIHsKLSAgICBEcmF3aW5nSXRlbSYgbmV3SXRlbSA9IGRvd25jYXN0PERyYXdpbmdJdGVtPihh
cHBlbmRJdGVtKEZpbGxSZWN0OjpjcmVhdGUocmVjdCkpKTsKLSAgICB1cGRhdGVJdGVtRXh0ZW50
KG5ld0l0ZW0pOworICAgIGFwcGVuZEl0ZW1BbmRVcGRhdGVFeHRlbnQoRmlsbFJlY3Q6OmNyZWF0
ZShyZWN0KSk7CiB9CiAKIHZvaWQgUmVjb3JkZXI6OmZpbGxSZWN0KGNvbnN0IEZsb2F0UmVjdCYg
cmVjdCwgY29uc3QgQ29sb3ImIGNvbG9yKQogewotICAgIERyYXdpbmdJdGVtJiBuZXdJdGVtID0g
ZG93bmNhc3Q8RHJhd2luZ0l0ZW0+KGFwcGVuZEl0ZW0oRmlsbFJlY3RXaXRoQ29sb3I6OmNyZWF0
ZShyZWN0LCBjb2xvcikpKTsKLSAgICB1cGRhdGVJdGVtRXh0ZW50KG5ld0l0ZW0pOworICAgIGFw
cGVuZEl0ZW1BbmRVcGRhdGVFeHRlbnQoRmlsbFJlY3RXaXRoQ29sb3I6OmNyZWF0ZShyZWN0LCBj
b2xvcikpOwogfQogCiB2b2lkIFJlY29yZGVyOjpmaWxsUmVjdChjb25zdCBGbG9hdFJlY3QmIHJl
Y3QsIEdyYWRpZW50JiBncmFkaWVudCkKIHsKLSAgICBEcmF3aW5nSXRlbSYgbmV3SXRlbSA9IGRv
d25jYXN0PERyYXdpbmdJdGVtPihhcHBlbmRJdGVtKEZpbGxSZWN0V2l0aEdyYWRpZW50OjpjcmVh
dGUocmVjdCwgZ3JhZGllbnQpKSk7Ci0gICAgdXBkYXRlSXRlbUV4dGVudChuZXdJdGVtKTsKKyAg
ICBhcHBlbmRJdGVtQW5kVXBkYXRlRXh0ZW50KEZpbGxSZWN0V2l0aEdyYWRpZW50OjpjcmVhdGUo
cmVjdCwgZ3JhZGllbnQpKTsKIH0KIAogdm9pZCBSZWNvcmRlcjo6ZmlsbFJlY3QoY29uc3QgRmxv
YXRSZWN0JiByZWN0LCBjb25zdCBDb2xvciYgY29sb3IsIENvbXBvc2l0ZU9wZXJhdG9yIG9wLCBC
bGVuZE1vZGUgYmxlbmRNb2RlKQogewotICAgIERyYXdpbmdJdGVtJiBuZXdJdGVtID0gZG93bmNh
c3Q8RHJhd2luZ0l0ZW0+KGFwcGVuZEl0ZW0oRmlsbENvbXBvc2l0ZWRSZWN0OjpjcmVhdGUocmVj
dCwgY29sb3IsIG9wLCBibGVuZE1vZGUpKSk7Ci0gICAgdXBkYXRlSXRlbUV4dGVudChuZXdJdGVt
KTsKKyAgICBhcHBlbmRJdGVtQW5kVXBkYXRlRXh0ZW50KEZpbGxDb21wb3NpdGVkUmVjdDo6Y3Jl
YXRlKHJlY3QsIGNvbG9yLCBvcCwgYmxlbmRNb2RlKSk7CiB9CiAKIHZvaWQgUmVjb3JkZXI6OmZp
bGxSb3VuZGVkUmVjdChjb25zdCBGbG9hdFJvdW5kZWRSZWN0JiByZWN0LCBjb25zdCBDb2xvciYg
Y29sb3IsIEJsZW5kTW9kZSBibGVuZE1vZGUpCiB7Ci0gICAgRHJhd2luZ0l0ZW0mIG5ld0l0ZW0g
PSBkb3duY2FzdDxEcmF3aW5nSXRlbT4oYXBwZW5kSXRlbShGaWxsUm91bmRlZFJlY3Q6OmNyZWF0
ZShyZWN0LCBjb2xvciwgYmxlbmRNb2RlKSkpOwotICAgIHVwZGF0ZUl0ZW1FeHRlbnQobmV3SXRl
bSk7CisgICAgYXBwZW5kSXRlbUFuZFVwZGF0ZUV4dGVudChGaWxsUm91bmRlZFJlY3Q6OmNyZWF0
ZShyZWN0LCBjb2xvciwgYmxlbmRNb2RlKSk7CiB9CiAKIHZvaWQgUmVjb3JkZXI6OmZpbGxSZWN0
V2l0aFJvdW5kZWRIb2xlKGNvbnN0IEZsb2F0UmVjdCYgcmVjdCwgY29uc3QgRmxvYXRSb3VuZGVk
UmVjdCYgcm91bmRlZEhvbGVSZWN0LCBjb25zdCBDb2xvciYgY29sb3IpCiB7Ci0gICAgRHJhd2lu
Z0l0ZW0mIG5ld0l0ZW0gPSBkb3duY2FzdDxEcmF3aW5nSXRlbT4oYXBwZW5kSXRlbShGaWxsUmVj
dFdpdGhSb3VuZGVkSG9sZTo6Y3JlYXRlKHJlY3QsIHJvdW5kZWRIb2xlUmVjdCwgY29sb3IpKSk7
Ci0gICAgdXBkYXRlSXRlbUV4dGVudChuZXdJdGVtKTsKKyAgICBhcHBlbmRJdGVtQW5kVXBkYXRl
RXh0ZW50KEZpbGxSZWN0V2l0aFJvdW5kZWRIb2xlOjpjcmVhdGUocmVjdCwgcm91bmRlZEhvbGVS
ZWN0LCBjb2xvcikpOwogfQogCiB2b2lkIFJlY29yZGVyOjpmaWxsUGF0aChjb25zdCBQYXRoJiBw
YXRoKQogewotICAgIERyYXdpbmdJdGVtJiBuZXdJdGVtID0gZG93bmNhc3Q8RHJhd2luZ0l0ZW0+
KGFwcGVuZEl0ZW0oRmlsbFBhdGg6OmNyZWF0ZShwYXRoKSkpOwotICAgIHVwZGF0ZUl0ZW1FeHRl
bnQobmV3SXRlbSk7CisgICAgYXBwZW5kSXRlbUFuZFVwZGF0ZUV4dGVudChGaWxsUGF0aDo6Y3Jl
YXRlKHBhdGgpKTsKIH0KIAogdm9pZCBSZWNvcmRlcjo6ZmlsbEVsbGlwc2UoY29uc3QgRmxvYXRS
ZWN0JiByZWN0KQogewotICAgIERyYXdpbmdJdGVtJiBuZXdJdGVtID0gZG93bmNhc3Q8RHJhd2lu
Z0l0ZW0+KGFwcGVuZEl0ZW0oRmlsbEVsbGlwc2U6OmNyZWF0ZShyZWN0KSkpOwotICAgIHVwZGF0
ZUl0ZW1FeHRlbnQobmV3SXRlbSk7CisgICAgYXBwZW5kSXRlbUFuZFVwZGF0ZUV4dGVudChGaWxs
RWxsaXBzZTo6Y3JlYXRlKHJlY3QpKTsKIH0KIAogdm9pZCBSZWNvcmRlcjo6c3Ryb2tlUmVjdChj
b25zdCBGbG9hdFJlY3QmIHJlY3QsIGZsb2F0IGxpbmVXaWR0aCkKIHsKLSAgICBEcmF3aW5nSXRl
bSYgbmV3SXRlbSA9IGRvd25jYXN0PERyYXdpbmdJdGVtPihhcHBlbmRJdGVtKFN0cm9rZVJlY3Q6
OmNyZWF0ZShyZWN0LCBsaW5lV2lkdGgpKSk7Ci0gICAgdXBkYXRlSXRlbUV4dGVudChuZXdJdGVt
KTsKKyAgICBhcHBlbmRJdGVtQW5kVXBkYXRlRXh0ZW50KFN0cm9rZVJlY3Q6OmNyZWF0ZShyZWN0
LCBsaW5lV2lkdGgpKTsKIH0KIAogdm9pZCBSZWNvcmRlcjo6c3Ryb2tlUGF0aChjb25zdCBQYXRo
JiBwYXRoKQogewotICAgIERyYXdpbmdJdGVtJiBuZXdJdGVtID0gZG93bmNhc3Q8RHJhd2luZ0l0
ZW0+KGFwcGVuZEl0ZW0oU3Ryb2tlUGF0aDo6Y3JlYXRlKHBhdGgpKSk7Ci0gICAgdXBkYXRlSXRl
bUV4dGVudChuZXdJdGVtKTsKKyAgICBhcHBlbmRJdGVtQW5kVXBkYXRlRXh0ZW50KFN0cm9rZVBh
dGg6OmNyZWF0ZShwYXRoKSk7CiB9CiAKIHZvaWQgUmVjb3JkZXI6OnN0cm9rZUVsbGlwc2UoY29u
c3QgRmxvYXRSZWN0JiByZWN0KQogewotICAgIERyYXdpbmdJdGVtJiBuZXdJdGVtID0gZG93bmNh
c3Q8RHJhd2luZ0l0ZW0+KGFwcGVuZEl0ZW0oU3Ryb2tlRWxsaXBzZTo6Y3JlYXRlKHJlY3QpKSk7
Ci0gICAgdXBkYXRlSXRlbUV4dGVudChuZXdJdGVtKTsKKyAgICBhcHBlbmRJdGVtQW5kVXBkYXRl
RXh0ZW50KFN0cm9rZUVsbGlwc2U6OmNyZWF0ZShyZWN0KSk7CiB9CiAKIHZvaWQgUmVjb3JkZXI6
OmNsZWFyUmVjdChjb25zdCBGbG9hdFJlY3QmIHJlY3QpCiB7Ci0gICAgRHJhd2luZ0l0ZW0mIG5l
d0l0ZW0gPSBkb3duY2FzdDxEcmF3aW5nSXRlbT4oYXBwZW5kSXRlbShDbGVhclJlY3Q6OmNyZWF0
ZShyZWN0KSkpOwotICAgIHVwZGF0ZUl0ZW1FeHRlbnQobmV3SXRlbSk7CisgICAgYXBwZW5kSXRl
bUFuZFVwZGF0ZUV4dGVudChDbGVhclJlY3Q6OmNyZWF0ZShyZWN0KSk7CiB9CiAKICNpZiBVU0Uo
Q0cpCkBAIC00MDIsNiArMzc1LDEyIEBAIEZsb2F0UmVjdCBSZWNvcmRlcjo6cm91bmRUb0Rldmlj
ZVBpeGVscyhjb25zdCBGbG9hdFJlY3QmIHJlY3QsIEdyYXBoaWNzQ29udGV4dDo6CiAgICAgcmV0
dXJuIHJlY3Q7CiB9CiAKK3ZvaWQgUmVjb3JkZXI6OmFwcGVuZEl0ZW1BbmRVcGRhdGVFeHRlbnQo
UmVmPERyYXdpbmdJdGVtPiYmIGl0ZW0pCit7CisgICAgRHJhd2luZ0l0ZW0mIG5ld0l0ZW0gPSBk
b3duY2FzdDxEcmF3aW5nSXRlbT4oYXBwZW5kSXRlbShXVEZNb3ZlKGl0ZW0pKSk7CisgICAgdXBk
YXRlSXRlbUV4dGVudChuZXdJdGVtKTsKK30KKwogSXRlbSYgUmVjb3JkZXI6OmFwcGVuZEl0ZW0o
UmVmPEl0ZW0+JiYgaXRlbSkKIHsKICAgICB3aWxsQXBwZW5kSXRlbShpdGVtLmdldCgpKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9E
aXNwbGF5TGlzdFJlY29yZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9k
aXNwbGF5bGlzdHMvRGlzcGxheUxpc3RSZWNvcmRlci5oCmluZGV4IGQyNzBjNWQ5MDhhYzY4ZDc4
MDgzNjNiYmE5MWIyZTc2MWFlZGM5MmIuLmM4MWUxMzViYzRlMjZjMDhmMjVjNDBkMDU4YWY2NDEw
Yzc3OWJkMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rp
c3BsYXlsaXN0cy9EaXNwbGF5TGlzdFJlY29yZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0UmVjb3JkZXIuaApAQCAtNjEs
NiArNjEsOCBAQCBwdWJsaWM6CiAKICAgICBzaXplX3QgaXRlbUNvdW50KCkgY29uc3QgeyByZXR1
cm4gbV9kaXNwbGF5TGlzdC5pdGVtQ291bnQoKTsgfQogCisgICAgdm9pZCBhcHBlbmRJdGVtQW5k
VXBkYXRlRXh0ZW50KFJlZjxEcmF3aW5nSXRlbT4mJik7CisKICAgICBjbGFzcyBPYnNlcnZlciB7
CiAgICAgcHVibGljOgogICAgICAgICB2aXJ0dWFsIH5PYnNlcnZlcigpIHsgfQo=
</data>
<flag name="review"
          id="427090"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>410982</attachid>
            <date>2020-10-09 16:33:58 -0700</date>
            <delta_ts>2020-10-09 17:08:21 -0700</delta_ts>
            <desc>Patch for committing</desc>
            <filename>bug-217539-20201009163357.patch</filename>
            <type>text/plain</type>
            <size>13959</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY4MDY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTkyOWVmZmE5Mjk3ZjE1
ZWEzNDhhZjQ0ZDJkOWNkMjcxNmMxZjA2MS4uNWZkMGZjNDM3NjQ5ODVjZGEzZDViN2U0NTM3YWFh
ZjMwNmYyNjY0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDIwLTEwLTA5ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0dQVSBQcm9j
ZXNzXSBNZWNoYW5pY2FsIGNsZWFudXAgaW4gRGlzcGxheUxpc3RSZWNvcmRlcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE3NTM5CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4KKworICAgICAgICBNb3ZlIGR1cGxpY2F0ZWQgY29kZSBp
bnRvIGEgaGVscGVyIGZ1bmN0aW9uLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBiZWNhdXNlIHRo
ZXJlIGlzIG5vIGJlaGF2aW9yIGNoYW5nZS4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdFJlY29yZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkRpc3BsYXlMaXN0OjpSZWNvcmRlcjo6ZHJhd0dseXBocyk6CisgICAgICAgIChXZWJDb3JlOjpE
aXNwbGF5TGlzdDo6UmVjb3JkZXI6OmRyYXdJbWFnZSk6CisgICAgICAgIChXZWJDb3JlOjpEaXNw
bGF5TGlzdDo6UmVjb3JkZXI6OmRyYXdUaWxlZEltYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OkRp
c3BsYXlMaXN0OjpSZWNvcmRlcjo6ZHJhd05hdGl2ZUltYWdlKToKKyAgICAgICAgKFdlYkNvcmU6
OkRpc3BsYXlMaXN0OjpSZWNvcmRlcjo6ZHJhd1BhdHRlcm4pOgorICAgICAgICAoV2ViQ29yZTo6
RGlzcGxheUxpc3Q6OlJlY29yZGVyOjpiZWdpblRyYW5zcGFyZW5jeUxheWVyKToKKyAgICAgICAg
KFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpSZWNvcmRlcjo6ZHJhd1JlY3QpOgorICAgICAgICAoV2Vi
Q29yZTo6RGlzcGxheUxpc3Q6OlJlY29yZGVyOjpkcmF3TGluZSk6CisgICAgICAgIChXZWJDb3Jl
OjpEaXNwbGF5TGlzdDo6UmVjb3JkZXI6OmRyYXdMaW5lc0ZvclRleHQpOgorICAgICAgICAoV2Vi
Q29yZTo6RGlzcGxheUxpc3Q6OlJlY29yZGVyOjpkcmF3RG90c0ZvckRvY3VtZW50TWFya2VyKToK
KyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpSZWNvcmRlcjo6ZHJhd0VsbGlwc2UpOgor
ICAgICAgICAoV2ViQ29yZTo6RGlzcGxheUxpc3Q6OlJlY29yZGVyOjpkcmF3UGF0aCk6CisgICAg
ICAgIChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6UmVjb3JkZXI6OmRyYXdGb2N1c1JpbmcpOgorICAg
ICAgICAoV2ViQ29yZTo6RGlzcGxheUxpc3Q6OlJlY29yZGVyOjpmaWxsUmVjdCk6CisgICAgICAg
IChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6UmVjb3JkZXI6OmZpbGxSb3VuZGVkUmVjdCk6CisgICAg
ICAgIChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6UmVjb3JkZXI6OmZpbGxSZWN0V2l0aFJvdW5kZWRI
b2xlKToKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpSZWNvcmRlcjo6ZmlsbFBhdGgp
OgorICAgICAgICAoV2ViQ29yZTo6RGlzcGxheUxpc3Q6OlJlY29yZGVyOjpmaWxsRWxsaXBzZSk6
CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6UmVjb3JkZXI6OnN0cm9rZVJlY3QpOgor
ICAgICAgICAoV2ViQ29yZTo6RGlzcGxheUxpc3Q6OlJlY29yZGVyOjpzdHJva2VQYXRoKToKKyAg
ICAgICAgKFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpSZWNvcmRlcjo6c3Ryb2tlRWxsaXBzZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6UmVjb3JkZXI6OmNsZWFyUmVjdCk6CisgICAg
ICAgIChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6UmVjb3JkZXI6OmFwcGVuZEl0ZW1BbmRVcGRhdGVF
eHRlbnQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5
TGlzdFJlY29yZGVyLmg6CisKIDIwMjAtMTAtMDYgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0
ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZW5hbWUgbmFtZXNwYWNlIFBhY2tlZCB0byBu
YW1lc3BhY2UgUGFja2VkQ29sb3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdFJlY29yZGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdFJlY29yZGVy
LmNwcAppbmRleCBiZDA0MzhjNmE0YjI1NmM4ODU2YmIxMjlhM2FiNWZhMjNlNzhkYzhhLi5lMzFm
MTlkM2NmODk0ZDlhMDBmMDk0OGRlZDhmMWFlMGU0ZGNmNGQ2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RSZWNvcmRl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3Rz
L0Rpc3BsYXlMaXN0UmVjb3JkZXIuY3BwCkBAIC0xMTEsNDMgKzExMSwzNyBAQCB2b2lkIFJlY29y
ZGVyOjpzZXRNaXRlckxpbWl0KGZsb2F0IG1pdGVyTGltaXQpCiAKIHZvaWQgUmVjb3JkZXI6OmRy
YXdHbHlwaHMoY29uc3QgRm9udCYgZm9udCwgY29uc3QgR2x5cGhCdWZmZXImIGdseXBoQnVmZmVy
LCB1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBudW1HbHlwaHMsIGNvbnN0IEZsb2F0UG9pbnQmIHN0
YXJ0UG9pbnQsIEZvbnRTbW9vdGhpbmdNb2RlIHNtb290aGluZ01vZGUpCiB7Ci0gICAgRHJhd2lu
Z0l0ZW0mIG5ld0l0ZW0gPSBkb3duY2FzdDxEcmF3aW5nSXRlbT4oYXBwZW5kSXRlbShEcmF3R2x5
cGhzOjpjcmVhdGUoZm9udCwgZ2x5cGhCdWZmZXIuZ2x5cGhzKGZyb20pLCBnbHlwaEJ1ZmZlci5h
ZHZhbmNlcyhmcm9tKSwgbnVtR2x5cGhzLCBGbG9hdFBvaW50KCksIHRvRmxvYXRTaXplKHN0YXJ0
UG9pbnQpLCBzbW9vdGhpbmdNb2RlKSkpOwotICAgIHVwZGF0ZUl0ZW1FeHRlbnQobmV3SXRlbSk7
CisgICAgYXBwZW5kSXRlbUFuZFVwZGF0ZUV4dGVudChEcmF3R2x5cGhzOjpjcmVhdGUoZm9udCwg
Z2x5cGhCdWZmZXIuZ2x5cGhzKGZyb20pLCBnbHlwaEJ1ZmZlci5hZHZhbmNlcyhmcm9tKSwgbnVt
R2x5cGhzLCBGbG9hdFBvaW50KCksIHRvRmxvYXRTaXplKHN0YXJ0UG9pbnQpLCBzbW9vdGhpbmdN
b2RlKSk7CiB9CiAKIEltYWdlRHJhd1Jlc3VsdCBSZWNvcmRlcjo6ZHJhd0ltYWdlKEltYWdlJiBp
bWFnZSwgY29uc3QgRmxvYXRSZWN0JiBkZXN0aW5hdGlvbiwgY29uc3QgRmxvYXRSZWN0JiBzb3Vy
Y2UsIGNvbnN0IEltYWdlUGFpbnRpbmdPcHRpb25zJiBpbWFnZVBhaW50aW5nT3B0aW9ucykKIHsK
LSAgICBEcmF3aW5nSXRlbSYgbmV3SXRlbSA9IGRvd25jYXN0PERyYXdpbmdJdGVtPihhcHBlbmRJ
dGVtKERyYXdJbWFnZTo6Y3JlYXRlKGltYWdlLCBkZXN0aW5hdGlvbiwgc291cmNlLCBpbWFnZVBh
aW50aW5nT3B0aW9ucykpKTsKLSAgICB1cGRhdGVJdGVtRXh0ZW50KG5ld0l0ZW0pOworICAgIGFw
cGVuZEl0ZW1BbmRVcGRhdGVFeHRlbnQoRHJhd0ltYWdlOjpjcmVhdGUoaW1hZ2UsIGRlc3RpbmF0
aW9uLCBzb3VyY2UsIGltYWdlUGFpbnRpbmdPcHRpb25zKSk7CiAgICAgcmV0dXJuIEltYWdlRHJh
d1Jlc3VsdDo6RGlkUmVjb3JkOwogfQogCiBJbWFnZURyYXdSZXN1bHQgUmVjb3JkZXI6OmRyYXdU
aWxlZEltYWdlKEltYWdlJiBpbWFnZSwgY29uc3QgRmxvYXRSZWN0JiBkZXN0aW5hdGlvbiwgY29u
c3QgRmxvYXRQb2ludCYgc291cmNlLCBjb25zdCBGbG9hdFNpemUmIHRpbGVTaXplLCBjb25zdCBG
bG9hdFNpemUmIHNwYWNpbmcsIGNvbnN0IEltYWdlUGFpbnRpbmdPcHRpb25zJiBpbWFnZVBhaW50
aW5nT3B0aW9ucykKIHsKLSAgICBEcmF3aW5nSXRlbSYgbmV3SXRlbSA9IGRvd25jYXN0PERyYXdp
bmdJdGVtPihhcHBlbmRJdGVtKERyYXdUaWxlZEltYWdlOjpjcmVhdGUoaW1hZ2UsIGRlc3RpbmF0
aW9uLCBzb3VyY2UsIHRpbGVTaXplLCBzcGFjaW5nLCBpbWFnZVBhaW50aW5nT3B0aW9ucykpKTsK
LSAgICB1cGRhdGVJdGVtRXh0ZW50KG5ld0l0ZW0pOworICAgIGFwcGVuZEl0ZW1BbmRVcGRhdGVF
eHRlbnQoRHJhd1RpbGVkSW1hZ2U6OmNyZWF0ZShpbWFnZSwgZGVzdGluYXRpb24sIHNvdXJjZSwg
dGlsZVNpemUsIHNwYWNpbmcsIGltYWdlUGFpbnRpbmdPcHRpb25zKSk7CiAgICAgcmV0dXJuIElt
YWdlRHJhd1Jlc3VsdDo6RGlkUmVjb3JkOwogfQogCiBJbWFnZURyYXdSZXN1bHQgUmVjb3JkZXI6
OmRyYXdUaWxlZEltYWdlKEltYWdlJiBpbWFnZSwgY29uc3QgRmxvYXRSZWN0JiBkZXN0aW5hdGlv
biwgY29uc3QgRmxvYXRSZWN0JiBzb3VyY2UsIGNvbnN0IEZsb2F0U2l6ZSYgdGlsZVNjYWxlRmFj
dG9yLCBJbWFnZTo6VGlsZVJ1bGUgaFJ1bGUsIEltYWdlOjpUaWxlUnVsZSB2UnVsZSwgY29uc3Qg
SW1hZ2VQYWludGluZ09wdGlvbnMmIGltYWdlUGFpbnRpbmdPcHRpb25zKQogewotICAgIERyYXdp
bmdJdGVtJiBuZXdJdGVtID0gZG93bmNhc3Q8RHJhd2luZ0l0ZW0+KGFwcGVuZEl0ZW0oRHJhd1Rp
bGVkU2NhbGVkSW1hZ2U6OmNyZWF0ZShpbWFnZSwgZGVzdGluYXRpb24sIHNvdXJjZSwgdGlsZVNj
YWxlRmFjdG9yLCBoUnVsZSwgdlJ1bGUsIGltYWdlUGFpbnRpbmdPcHRpb25zKSkpOwotICAgIHVw
ZGF0ZUl0ZW1FeHRlbnQobmV3SXRlbSk7CisgICAgYXBwZW5kSXRlbUFuZFVwZGF0ZUV4dGVudChE
cmF3VGlsZWRTY2FsZWRJbWFnZTo6Y3JlYXRlKGltYWdlLCBkZXN0aW5hdGlvbiwgc291cmNlLCB0
aWxlU2NhbGVGYWN0b3IsIGhSdWxlLCB2UnVsZSwgaW1hZ2VQYWludGluZ09wdGlvbnMpKTsKICAg
ICByZXR1cm4gSW1hZ2VEcmF3UmVzdWx0OjpEaWRSZWNvcmQ7CiB9CiAKICNpZiBVU0UoQ0cpIHx8
IFVTRShDQUlSTykgfHwgVVNFKERJUkVDVDJEKQogdm9pZCBSZWNvcmRlcjo6ZHJhd05hdGl2ZUlt
YWdlKGNvbnN0IE5hdGl2ZUltYWdlUHRyJiBpbWFnZSwgY29uc3QgRmxvYXRTaXplJiBpbWFnZVNp
emUsIGNvbnN0IEZsb2F0UmVjdCYgZGVzdFJlY3QsIGNvbnN0IEZsb2F0UmVjdCYgc3JjUmVjdCwg
Y29uc3QgSW1hZ2VQYWludGluZ09wdGlvbnMmIG9wdGlvbnMpCiB7Ci0gICAgRHJhd2luZ0l0ZW0m
IG5ld0l0ZW0gPSBkb3duY2FzdDxEcmF3aW5nSXRlbT4oYXBwZW5kSXRlbShEcmF3TmF0aXZlSW1h
Z2U6OmNyZWF0ZShpbWFnZSwgaW1hZ2VTaXplLCBkZXN0UmVjdCwgc3JjUmVjdCwgb3B0aW9ucykp
KTsKLSAgICB1cGRhdGVJdGVtRXh0ZW50KG5ld0l0ZW0pOworICAgIGFwcGVuZEl0ZW1BbmRVcGRh
dGVFeHRlbnQoRHJhd05hdGl2ZUltYWdlOjpjcmVhdGUoaW1hZ2UsIGltYWdlU2l6ZSwgZGVzdFJl
Y3QsIHNyY1JlY3QsIG9wdGlvbnMpKTsKIH0KICNlbmRpZgogCiB2b2lkIFJlY29yZGVyOjpkcmF3
UGF0dGVybihJbWFnZSYgaW1hZ2UsIGNvbnN0IEZsb2F0UmVjdCYgZGVzdFJlY3QsIGNvbnN0IEZs
b2F0UmVjdCYgdGlsZVJlY3QsIGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgcGF0dGVyblRyYW5zZm9y
bSwgY29uc3QgRmxvYXRQb2ludCYgcGhhc2UsIGNvbnN0IEZsb2F0U2l6ZSYgc3BhY2luZywgY29u
c3QgSW1hZ2VQYWludGluZ09wdGlvbnMmIG9wdGlvbnMpCiB7Ci0gICAgRHJhd2luZ0l0ZW0mIG5l
d0l0ZW0gPSBkb3duY2FzdDxEcmF3aW5nSXRlbT4oYXBwZW5kSXRlbShEcmF3UGF0dGVybjo6Y3Jl
YXRlKGltYWdlLCBkZXN0UmVjdCwgdGlsZVJlY3QsIHBhdHRlcm5UcmFuc2Zvcm0sIHBoYXNlLCBz
cGFjaW5nLCBvcHRpb25zKSkpOwotICAgIHVwZGF0ZUl0ZW1FeHRlbnQobmV3SXRlbSk7CisgICAg
YXBwZW5kSXRlbUFuZFVwZGF0ZUV4dGVudChEcmF3UGF0dGVybjo6Y3JlYXRlKGltYWdlLCBkZXN0
UmVjdCwgdGlsZVJlY3QsIHBhdHRlcm5UcmFuc2Zvcm0sIHBoYXNlLCBzcGFjaW5nLCBvcHRpb25z
KSk7CiB9CiAKIHZvaWQgUmVjb3JkZXI6OnNhdmUoKQpAQCAtMjA4LDggKzIwMiw3IEBAIEFmZmlu
ZVRyYW5zZm9ybSBSZWNvcmRlcjo6Z2V0Q1RNKEdyYXBoaWNzQ29udGV4dDo6SW5jbHVkZURldmlj
ZVNjYWxlKQogCiB2b2lkIFJlY29yZGVyOjpiZWdpblRyYW5zcGFyZW5jeUxheWVyKGZsb2F0IG9w
YWNpdHkpCiB7Ci0gICAgRHJhd2luZ0l0ZW0mIG5ld0l0ZW0gPSBkb3duY2FzdDxEcmF3aW5nSXRl
bT4oYXBwZW5kSXRlbShCZWdpblRyYW5zcGFyZW5jeUxheWVyOjpjcmVhdGUob3BhY2l0eSkpKTsK
LSAgICB1cGRhdGVJdGVtRXh0ZW50KG5ld0l0ZW0pOworICAgIGFwcGVuZEl0ZW1BbmRVcGRhdGVF
eHRlbnQoQmVnaW5UcmFuc3BhcmVuY3lMYXllcjo6Y3JlYXRlKG9wYWNpdHkpKTsKIH0KIAogdm9p
ZCBSZWNvcmRlcjo6ZW5kVHJhbnNwYXJlbmN5TGF5ZXIoKQpAQCAtMjE5LDEyMiArMjEyLDEwMiBA
QCB2b2lkIFJlY29yZGVyOjplbmRUcmFuc3BhcmVuY3lMYXllcigpCiAKIHZvaWQgUmVjb3JkZXI6
OmRyYXdSZWN0KGNvbnN0IEZsb2F0UmVjdCYgcmVjdCwgZmxvYXQgYm9yZGVyVGhpY2tuZXNzKQog
ewotICAgIERyYXdpbmdJdGVtJiBuZXdJdGVtID0gZG93bmNhc3Q8RHJhd2luZ0l0ZW0+KGFwcGVu
ZEl0ZW0oRHJhd1JlY3Q6OmNyZWF0ZShyZWN0LCBib3JkZXJUaGlja25lc3MpKSk7Ci0gICAgdXBk
YXRlSXRlbUV4dGVudChuZXdJdGVtKTsKKyAgICBhcHBlbmRJdGVtQW5kVXBkYXRlRXh0ZW50KERy
YXdSZWN0OjpjcmVhdGUocmVjdCwgYm9yZGVyVGhpY2tuZXNzKSk7CiB9CiAKIHZvaWQgUmVjb3Jk
ZXI6OmRyYXdMaW5lKGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50MSwgY29uc3QgRmxvYXRQb2ludCYg
cG9pbnQyKQogewotICAgIERyYXdpbmdJdGVtJiBuZXdJdGVtID0gZG93bmNhc3Q8RHJhd2luZ0l0
ZW0+KGFwcGVuZEl0ZW0oRHJhd0xpbmU6OmNyZWF0ZShwb2ludDEsIHBvaW50MikpKTsKLSAgICB1
cGRhdGVJdGVtRXh0ZW50KG5ld0l0ZW0pOworICAgIGFwcGVuZEl0ZW1BbmRVcGRhdGVFeHRlbnQo
RHJhd0xpbmU6OmNyZWF0ZShwb2ludDEsIHBvaW50MikpOwogfQogCiB2b2lkIFJlY29yZGVyOjpk
cmF3TGluZXNGb3JUZXh0KGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50LCBmbG9hdCB0aGlja25lc3Ms
IGNvbnN0IERhc2hBcnJheSYgd2lkdGhzLCBib29sIHByaW50aW5nLCBib29sIGRvdWJsZUxpbmVz
KQogewotICAgIERyYXdpbmdJdGVtJiBuZXdJdGVtID0gZG93bmNhc3Q8RHJhd2luZ0l0ZW0+KGFw
cGVuZEl0ZW0oRHJhd0xpbmVzRm9yVGV4dDo6Y3JlYXRlKEZsb2F0UG9pbnQoKSwgdG9GbG9hdFNp
emUocG9pbnQpLCB0aGlja25lc3MsIHdpZHRocywgcHJpbnRpbmcsIGRvdWJsZUxpbmVzKSkpOwot
ICAgIHVwZGF0ZUl0ZW1FeHRlbnQobmV3SXRlbSk7CisgICAgYXBwZW5kSXRlbUFuZFVwZGF0ZUV4
dGVudChEcmF3TGluZXNGb3JUZXh0OjpjcmVhdGUoRmxvYXRQb2ludCgpLCB0b0Zsb2F0U2l6ZShw
b2ludCksIHRoaWNrbmVzcywgd2lkdGhzLCBwcmludGluZywgZG91YmxlTGluZXMpKTsKIH0KIAog
dm9pZCBSZWNvcmRlcjo6ZHJhd0RvdHNGb3JEb2N1bWVudE1hcmtlcihjb25zdCBGbG9hdFJlY3Qm
IHJlY3QsIERvY3VtZW50TWFya2VyTGluZVN0eWxlIHN0eWxlKQogewotICAgIERyYXdpbmdJdGVt
JiBuZXdJdGVtID0gZG93bmNhc3Q8RHJhd2luZ0l0ZW0+KGFwcGVuZEl0ZW0oRHJhd0RvdHNGb3JE
b2N1bWVudE1hcmtlcjo6Y3JlYXRlKHJlY3QsIHN0eWxlKSkpOwotICAgIHVwZGF0ZUl0ZW1FeHRl
bnQobmV3SXRlbSk7CisgICAgYXBwZW5kSXRlbUFuZFVwZGF0ZUV4dGVudChEcmF3RG90c0ZvckRv
Y3VtZW50TWFya2VyOjpjcmVhdGUocmVjdCwgc3R5bGUpKTsKIH0KIAogdm9pZCBSZWNvcmRlcjo6
ZHJhd0VsbGlwc2UoY29uc3QgRmxvYXRSZWN0JiByZWN0KQogewotICAgIERyYXdpbmdJdGVtJiBu
ZXdJdGVtID0gZG93bmNhc3Q8RHJhd2luZ0l0ZW0+KGFwcGVuZEl0ZW0oRHJhd0VsbGlwc2U6OmNy
ZWF0ZShyZWN0KSkpOwotICAgIHVwZGF0ZUl0ZW1FeHRlbnQobmV3SXRlbSk7CisgICAgYXBwZW5k
SXRlbUFuZFVwZGF0ZUV4dGVudChEcmF3RWxsaXBzZTo6Y3JlYXRlKHJlY3QpKTsKIH0KIAogdm9p
ZCBSZWNvcmRlcjo6ZHJhd1BhdGgoY29uc3QgUGF0aCYgcGF0aCkKIHsKLSAgICBEcmF3aW5nSXRl
bSYgbmV3SXRlbSA9IGRvd25jYXN0PERyYXdpbmdJdGVtPihhcHBlbmRJdGVtKERyYXdQYXRoOjpj
cmVhdGUocGF0aCkpKTsKLSAgICB1cGRhdGVJdGVtRXh0ZW50KG5ld0l0ZW0pOworICAgIGFwcGVu
ZEl0ZW1BbmRVcGRhdGVFeHRlbnQoRHJhd1BhdGg6OmNyZWF0ZShwYXRoKSk7CiB9CiAKIHZvaWQg
UmVjb3JkZXI6OmRyYXdGb2N1c1JpbmcoY29uc3QgUGF0aCYgcGF0aCwgZmxvYXQgd2lkdGgsIGZs
b2F0IG9mZnNldCwgY29uc3QgQ29sb3ImIGNvbG9yKQogewotICAgIERyYXdpbmdJdGVtJiBuZXdJ
dGVtID0gZG93bmNhc3Q8RHJhd2luZ0l0ZW0+KGFwcGVuZEl0ZW0oRHJhd0ZvY3VzUmluZ1BhdGg6
OmNyZWF0ZShwYXRoLCB3aWR0aCwgb2Zmc2V0LCBjb2xvcikpKTsKLSAgICB1cGRhdGVJdGVtRXh0
ZW50KG5ld0l0ZW0pOworICAgIGFwcGVuZEl0ZW1BbmRVcGRhdGVFeHRlbnQoRHJhd0ZvY3VzUmlu
Z1BhdGg6OmNyZWF0ZShwYXRoLCB3aWR0aCwgb2Zmc2V0LCBjb2xvcikpOwogfQogCiB2b2lkIFJl
Y29yZGVyOjpkcmF3Rm9jdXNSaW5nKGNvbnN0IFZlY3RvcjxGbG9hdFJlY3Q+JiByZWN0cywgZmxv
YXQgd2lkdGgsIGZsb2F0IG9mZnNldCwgY29uc3QgQ29sb3ImIGNvbG9yKQogewotICAgIERyYXdp
bmdJdGVtJiBuZXdJdGVtID0gZG93bmNhc3Q8RHJhd2luZ0l0ZW0+KGFwcGVuZEl0ZW0oRHJhd0Zv
Y3VzUmluZ1JlY3RzOjpjcmVhdGUocmVjdHMsIHdpZHRoLCBvZmZzZXQsIGNvbG9yKSkpOwotICAg
IHVwZGF0ZUl0ZW1FeHRlbnQobmV3SXRlbSk7CisgICAgYXBwZW5kSXRlbUFuZFVwZGF0ZUV4dGVu
dChEcmF3Rm9jdXNSaW5nUmVjdHM6OmNyZWF0ZShyZWN0cywgd2lkdGgsIG9mZnNldCwgY29sb3Ip
KTsKIH0KIAogdm9pZCBSZWNvcmRlcjo6ZmlsbFJlY3QoY29uc3QgRmxvYXRSZWN0JiByZWN0KQog
ewotICAgIERyYXdpbmdJdGVtJiBuZXdJdGVtID0gZG93bmNhc3Q8RHJhd2luZ0l0ZW0+KGFwcGVu
ZEl0ZW0oRmlsbFJlY3Q6OmNyZWF0ZShyZWN0KSkpOwotICAgIHVwZGF0ZUl0ZW1FeHRlbnQobmV3
SXRlbSk7CisgICAgYXBwZW5kSXRlbUFuZFVwZGF0ZUV4dGVudChGaWxsUmVjdDo6Y3JlYXRlKHJl
Y3QpKTsKIH0KIAogdm9pZCBSZWNvcmRlcjo6ZmlsbFJlY3QoY29uc3QgRmxvYXRSZWN0JiByZWN0
LCBjb25zdCBDb2xvciYgY29sb3IpCiB7Ci0gICAgRHJhd2luZ0l0ZW0mIG5ld0l0ZW0gPSBkb3du
Y2FzdDxEcmF3aW5nSXRlbT4oYXBwZW5kSXRlbShGaWxsUmVjdFdpdGhDb2xvcjo6Y3JlYXRlKHJl
Y3QsIGNvbG9yKSkpOwotICAgIHVwZGF0ZUl0ZW1FeHRlbnQobmV3SXRlbSk7CisgICAgYXBwZW5k
SXRlbUFuZFVwZGF0ZUV4dGVudChGaWxsUmVjdFdpdGhDb2xvcjo6Y3JlYXRlKHJlY3QsIGNvbG9y
KSk7CiB9CiAKIHZvaWQgUmVjb3JkZXI6OmZpbGxSZWN0KGNvbnN0IEZsb2F0UmVjdCYgcmVjdCwg
R3JhZGllbnQmIGdyYWRpZW50KQogewotICAgIERyYXdpbmdJdGVtJiBuZXdJdGVtID0gZG93bmNh
c3Q8RHJhd2luZ0l0ZW0+KGFwcGVuZEl0ZW0oRmlsbFJlY3RXaXRoR3JhZGllbnQ6OmNyZWF0ZShy
ZWN0LCBncmFkaWVudCkpKTsKLSAgICB1cGRhdGVJdGVtRXh0ZW50KG5ld0l0ZW0pOworICAgIGFw
cGVuZEl0ZW1BbmRVcGRhdGVFeHRlbnQoRmlsbFJlY3RXaXRoR3JhZGllbnQ6OmNyZWF0ZShyZWN0
LCBncmFkaWVudCkpOwogfQogCiB2b2lkIFJlY29yZGVyOjpmaWxsUmVjdChjb25zdCBGbG9hdFJl
Y3QmIHJlY3QsIGNvbnN0IENvbG9yJiBjb2xvciwgQ29tcG9zaXRlT3BlcmF0b3Igb3AsIEJsZW5k
TW9kZSBibGVuZE1vZGUpCiB7Ci0gICAgRHJhd2luZ0l0ZW0mIG5ld0l0ZW0gPSBkb3duY2FzdDxE
cmF3aW5nSXRlbT4oYXBwZW5kSXRlbShGaWxsQ29tcG9zaXRlZFJlY3Q6OmNyZWF0ZShyZWN0LCBj
b2xvciwgb3AsIGJsZW5kTW9kZSkpKTsKLSAgICB1cGRhdGVJdGVtRXh0ZW50KG5ld0l0ZW0pOwor
ICAgIGFwcGVuZEl0ZW1BbmRVcGRhdGVFeHRlbnQoRmlsbENvbXBvc2l0ZWRSZWN0OjpjcmVhdGUo
cmVjdCwgY29sb3IsIG9wLCBibGVuZE1vZGUpKTsKIH0KIAogdm9pZCBSZWNvcmRlcjo6ZmlsbFJv
dW5kZWRSZWN0KGNvbnN0IEZsb2F0Um91bmRlZFJlY3QmIHJlY3QsIGNvbnN0IENvbG9yJiBjb2xv
ciwgQmxlbmRNb2RlIGJsZW5kTW9kZSkKIHsKLSAgICBEcmF3aW5nSXRlbSYgbmV3SXRlbSA9IGRv
d25jYXN0PERyYXdpbmdJdGVtPihhcHBlbmRJdGVtKEZpbGxSb3VuZGVkUmVjdDo6Y3JlYXRlKHJl
Y3QsIGNvbG9yLCBibGVuZE1vZGUpKSk7Ci0gICAgdXBkYXRlSXRlbUV4dGVudChuZXdJdGVtKTsK
KyAgICBhcHBlbmRJdGVtQW5kVXBkYXRlRXh0ZW50KEZpbGxSb3VuZGVkUmVjdDo6Y3JlYXRlKHJl
Y3QsIGNvbG9yLCBibGVuZE1vZGUpKTsKIH0KIAogdm9pZCBSZWNvcmRlcjo6ZmlsbFJlY3RXaXRo
Um91bmRlZEhvbGUoY29uc3QgRmxvYXRSZWN0JiByZWN0LCBjb25zdCBGbG9hdFJvdW5kZWRSZWN0
JiByb3VuZGVkSG9sZVJlY3QsIGNvbnN0IENvbG9yJiBjb2xvcikKIHsKLSAgICBEcmF3aW5nSXRl
bSYgbmV3SXRlbSA9IGRvd25jYXN0PERyYXdpbmdJdGVtPihhcHBlbmRJdGVtKEZpbGxSZWN0V2l0
aFJvdW5kZWRIb2xlOjpjcmVhdGUocmVjdCwgcm91bmRlZEhvbGVSZWN0LCBjb2xvcikpKTsKLSAg
ICB1cGRhdGVJdGVtRXh0ZW50KG5ld0l0ZW0pOworICAgIGFwcGVuZEl0ZW1BbmRVcGRhdGVFeHRl
bnQoRmlsbFJlY3RXaXRoUm91bmRlZEhvbGU6OmNyZWF0ZShyZWN0LCByb3VuZGVkSG9sZVJlY3Qs
IGNvbG9yKSk7CiB9CiAKIHZvaWQgUmVjb3JkZXI6OmZpbGxQYXRoKGNvbnN0IFBhdGgmIHBhdGgp
CiB7Ci0gICAgRHJhd2luZ0l0ZW0mIG5ld0l0ZW0gPSBkb3duY2FzdDxEcmF3aW5nSXRlbT4oYXBw
ZW5kSXRlbShGaWxsUGF0aDo6Y3JlYXRlKHBhdGgpKSk7Ci0gICAgdXBkYXRlSXRlbUV4dGVudChu
ZXdJdGVtKTsKKyAgICBhcHBlbmRJdGVtQW5kVXBkYXRlRXh0ZW50KEZpbGxQYXRoOjpjcmVhdGUo
cGF0aCkpOwogfQogCiB2b2lkIFJlY29yZGVyOjpmaWxsRWxsaXBzZShjb25zdCBGbG9hdFJlY3Qm
IHJlY3QpCiB7Ci0gICAgRHJhd2luZ0l0ZW0mIG5ld0l0ZW0gPSBkb3duY2FzdDxEcmF3aW5nSXRl
bT4oYXBwZW5kSXRlbShGaWxsRWxsaXBzZTo6Y3JlYXRlKHJlY3QpKSk7Ci0gICAgdXBkYXRlSXRl
bUV4dGVudChuZXdJdGVtKTsKKyAgICBhcHBlbmRJdGVtQW5kVXBkYXRlRXh0ZW50KEZpbGxFbGxp
cHNlOjpjcmVhdGUocmVjdCkpOwogfQogCiB2b2lkIFJlY29yZGVyOjpzdHJva2VSZWN0KGNvbnN0
IEZsb2F0UmVjdCYgcmVjdCwgZmxvYXQgbGluZVdpZHRoKQogewotICAgIERyYXdpbmdJdGVtJiBu
ZXdJdGVtID0gZG93bmNhc3Q8RHJhd2luZ0l0ZW0+KGFwcGVuZEl0ZW0oU3Ryb2tlUmVjdDo6Y3Jl
YXRlKHJlY3QsIGxpbmVXaWR0aCkpKTsKLSAgICB1cGRhdGVJdGVtRXh0ZW50KG5ld0l0ZW0pOwor
ICAgIGFwcGVuZEl0ZW1BbmRVcGRhdGVFeHRlbnQoU3Ryb2tlUmVjdDo6Y3JlYXRlKHJlY3QsIGxp
bmVXaWR0aCkpOwogfQogCiB2b2lkIFJlY29yZGVyOjpzdHJva2VQYXRoKGNvbnN0IFBhdGgmIHBh
dGgpCiB7Ci0gICAgRHJhd2luZ0l0ZW0mIG5ld0l0ZW0gPSBkb3duY2FzdDxEcmF3aW5nSXRlbT4o
YXBwZW5kSXRlbShTdHJva2VQYXRoOjpjcmVhdGUocGF0aCkpKTsKLSAgICB1cGRhdGVJdGVtRXh0
ZW50KG5ld0l0ZW0pOworICAgIGFwcGVuZEl0ZW1BbmRVcGRhdGVFeHRlbnQoU3Ryb2tlUGF0aDo6
Y3JlYXRlKHBhdGgpKTsKIH0KIAogdm9pZCBSZWNvcmRlcjo6c3Ryb2tlRWxsaXBzZShjb25zdCBG
bG9hdFJlY3QmIHJlY3QpCiB7Ci0gICAgRHJhd2luZ0l0ZW0mIG5ld0l0ZW0gPSBkb3duY2FzdDxE
cmF3aW5nSXRlbT4oYXBwZW5kSXRlbShTdHJva2VFbGxpcHNlOjpjcmVhdGUocmVjdCkpKTsKLSAg
ICB1cGRhdGVJdGVtRXh0ZW50KG5ld0l0ZW0pOworICAgIGFwcGVuZEl0ZW1BbmRVcGRhdGVFeHRl
bnQoU3Ryb2tlRWxsaXBzZTo6Y3JlYXRlKHJlY3QpKTsKIH0KIAogdm9pZCBSZWNvcmRlcjo6Y2xl
YXJSZWN0KGNvbnN0IEZsb2F0UmVjdCYgcmVjdCkKIHsKLSAgICBEcmF3aW5nSXRlbSYgbmV3SXRl
bSA9IGRvd25jYXN0PERyYXdpbmdJdGVtPihhcHBlbmRJdGVtKENsZWFyUmVjdDo6Y3JlYXRlKHJl
Y3QpKSk7Ci0gICAgdXBkYXRlSXRlbUV4dGVudChuZXdJdGVtKTsKKyAgICBhcHBlbmRJdGVtQW5k
VXBkYXRlRXh0ZW50KENsZWFyUmVjdDo6Y3JlYXRlKHJlY3QpKTsKIH0KIAogI2lmIFVTRShDRykK
QEAgLTQwMiwxMCArMzc1LDE3IEBAIEZsb2F0UmVjdCBSZWNvcmRlcjo6cm91bmRUb0RldmljZVBp
eGVscyhjb25zdCBGbG9hdFJlY3QmIHJlY3QsIEdyYXBoaWNzQ29udGV4dDo6CiAgICAgcmV0dXJu
IHJlY3Q7CiB9CiAKLUl0ZW0mIFJlY29yZGVyOjphcHBlbmRJdGVtKFJlZjxJdGVtPiYmIGl0ZW0p
Cit2b2lkIFJlY29yZGVyOjphcHBlbmRJdGVtQW5kVXBkYXRlRXh0ZW50KFJlZjxEcmF3aW5nSXRl
bT4mJiBpdGVtKQoreworICAgIGF1dG8mIG5ld0l0ZW0gPSBhcHBlbmRJdGVtKFdURk1vdmUoaXRl
bSkpOworICAgIHVwZGF0ZUl0ZW1FeHRlbnQobmV3SXRlbSk7Cit9CisKK3RlbXBsYXRlPHR5cGVu
YW1lIEl0ZW1UeXBlPgorSXRlbVR5cGUmIFJlY29yZGVyOjphcHBlbmRJdGVtKFJlZjxJdGVtVHlw
ZT4mJiBpdGVtKQogewogICAgIHdpbGxBcHBlbmRJdGVtKGl0ZW0uZ2V0KCkpOwotICAgIHJldHVy
biBtX2Rpc3BsYXlMaXN0LmFwcGVuZChXVEZNb3ZlKGl0ZW0pKTsKKyAgICByZXR1cm4gZG93bmNh
c3Q8SXRlbVR5cGU+KG1fZGlzcGxheUxpc3QuYXBwZW5kKFdURk1vdmUoaXRlbSkpKTsKIH0KIAog
dm9pZCBSZWNvcmRlcjo6dXBkYXRlSXRlbUV4dGVudChEcmF3aW5nSXRlbSYgaXRlbSkgY29uc3QK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0
cy9EaXNwbGF5TGlzdFJlY29yZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RSZWNvcmRlci5oCmluZGV4IGQyNzBjNWQ5MDhhYzY4
ZDc4MDgzNjNiYmE5MWIyZTc2MWFlZGM5MmIuLjFlMDJiZWRmZWQzNGQxNDVmMzQ2MmJkY2U2MzBk
M2UyMTU2NGY3ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdFJlY29yZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0UmVjb3JkZXIuaApAQCAt
NjEsNiArNjEsOCBAQCBwdWJsaWM6CiAKICAgICBzaXplX3QgaXRlbUNvdW50KCkgY29uc3QgeyBy
ZXR1cm4gbV9kaXNwbGF5TGlzdC5pdGVtQ291bnQoKTsgfQogCisgICAgdm9pZCBhcHBlbmRJdGVt
QW5kVXBkYXRlRXh0ZW50KFJlZjxEcmF3aW5nSXRlbT4mJik7CisKICAgICBjbGFzcyBPYnNlcnZl
ciB7CiAgICAgcHVibGljOgogICAgICAgICB2aXJ0dWFsIH5PYnNlcnZlcigpIHsgfQpAQCAtMTQy
LDcgKzE0NCw4IEBAIHByaXZhdGU6CiAKICAgICBGbG9hdFJlY3Qgcm91bmRUb0RldmljZVBpeGVs
cyhjb25zdCBGbG9hdFJlY3QmLCBHcmFwaGljc0NvbnRleHQ6OlJvdW5kaW5nTW9kZSkgb3ZlcnJp
ZGU7CiAKLSAgICBJdGVtJiBhcHBlbmRJdGVtKFJlZjxJdGVtPiYmKTsKKyAgICB0ZW1wbGF0ZTx0
eXBlbmFtZSBJdGVtVHlwZT4KKyAgICBJdGVtVHlwZSYgYXBwZW5kSXRlbShSZWY8SXRlbVR5cGU+
JiYpOwogICAgIHZvaWQgd2lsbEFwcGVuZEl0ZW0oY29uc3QgSXRlbSYpOwogCiAgICAgRmxvYXRS
ZWN0IGV4dGVudEZyb21Mb2NhbEJvdW5kcyhjb25zdCBGbG9hdFJlY3QmKSBjb25zdDsK
</data>

          </attachment>
      

    </bug>

</bugzilla>