<?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>165347</bug_id>
          
          <creation_ts>2016-12-02 16:21:40 -0800</creation_ts>
          <short_desc>Put names on layers in release builds</short_desc>
          <delta_ts>2016-12-03 08:27:25 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1255954</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-12-02 16:21:40 -0800</bug_when>
    <thetext>Put names on layers in release builds</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1255957</commentid>
    <comment_count>1</comment_count>
      <attachid>296018</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-12-02 16:29:47 -0800</bug_when>
    <thetext>Created attachment 296018
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1255963</commentid>
    <comment_count>2</comment_count>
      <attachid>296018</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2016-12-02 16:34:00 -0800</bug_when>
    <thetext>Comment on attachment 296018
Patch

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

We should probably unify at least the name part of the names between TREE_DEBUGGING and non.

&gt; Source/WebCore/rendering/RenderLayer.cpp:404
&gt; +            size_t classNamesToDump = std::min&lt;size_t&gt;(element-&gt;classNames().size(), 7);
&gt; +            for (size_t i = 0; i &lt; classNamesToDump; ++i) {

Add an ellipsis if you have too many?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1256048</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-12-03 08:27:25 -0800</bug_when>
    <thetext>https://trac.webkit.org/changeset/209292</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>296018</attachid>
            <date>2016-12-02 16:29:47 -0800</date>
            <delta_ts>2016-12-02 16:34:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-165347-20161202162916.patch</filename>
            <type>text/plain</type>
            <size>23999</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA5MjI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWE1OTgwM2ZmNWExNTBj
NjU0MzBmMTMyNDI2NzY4ODY4OGNiZDU3NC4uOGU4MmRhZDc4MTUwOWIzNGMzMTI1NTlhNTE5NTlj
M2RhZThlMThmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDE2LTEyLTAyICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFB1dCBuYW1lcyBv
biBsYXllcnMgaW4gcmVsZWFzZSBidWlsZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE2NTM0NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFB1dCBuYW1lcyBvbiBHcmFwaGljc0xheWVycyAoYW5kIHRoZXJl
Zm9yZSBDQUxheWVycykgaW4gcmVsZWFzZSBidWlsZHMuIFJlbGVhc2UgbmFtZXMKKyAgICAgICAg
YXJlIGEgc2ltcGxlciwgdHJ1bmNhdGVkIHZlcnNpb24gb2YgZGVidWcgbmFtZXMsIHdpdGggPHRh
Z25hbWU+IGlkIGNsYXNzIG5hbWVzLgorCisgICAgICAgIE5vbi1wcmltYXJ5IGxheWVyIG5hbWVz
IGNvbnZlcnRlZCB0byBsb3dlcmNhc2UgYW5kICJsYXllciIgcmVtb3ZlZC4KKworICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpHcmFwaGljc0xheWVyQ0E6OnNldE5hbWUpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhp
Y3NMYXllckNBOjpzZXRDb250ZW50c1RvU29saWRDb2xvcik6CisgICAgICAgIChXZWJDb3JlOjpH
cmFwaGljc0xheWVyQ0E6OnVwZGF0ZU5hbWVzKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNz
TGF5ZXJDQTo6dXBkYXRlQmFja2Ryb3BGaWx0ZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBo
aWNzTGF5ZXJDQTo6dXBkYXRlQ29udGVudHNJbWFnZSk6CisgICAgICAgIChXZWJDb3JlOjpHcmFw
aGljc0xheWVyQ0E6OnVwZGF0ZUNsaXBwaW5nU3RyYXRlZ3kpOgorICAgICAgICAoV2ViQ29yZTo6
R3JhcGhpY3NMYXllckNBOjp1cGRhdGVDb250ZW50c1JlY3RzKToKKyAgICAgICAgKFdlYkNvcmU6
OkdyYXBoaWNzTGF5ZXJDQTo6Y2hhbmdlTGF5ZXJUeXBlVG8pOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVD
b250cm9sbGVyOjp0aWxlR3JpZENvbnRhaW5lckxheWVyTmFtZSk6CisgICAgICAgIChXZWJDb3Jl
OjpUaWxlQ29udHJvbGxlcjo6em9vbWVkT3V0VGlsZUdyaWRDb250YWluZXJMYXllck5hbWUpOgor
ICAgICAgICAoV2ViQ29yZTo6VGlsZUNvbnRyb2xsZXI6OmNyZWF0ZVRpbGVMYXllcik6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckxheWVyOjpuYW1lKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6Y3JlYXRlR3JhcGhpY3NM
YXllcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OmNyZWF0ZVByaW1h
cnlHcmFwaGljc0xheWVyKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6
dXBkYXRlQW5jZXN0b3JDbGlwcGluZ0xheWVyKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxh
eWVyQmFja2luZzo6dXBkYXRlRGVzY2VuZGFudENsaXBwaW5nTGF5ZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVGb3JlZ3JvdW5kTGF5ZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVCYWNrZ3JvdW5kTGF5ZXIpOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjp1cGRhdGVMYXllckZvclRvcE92ZXJoYW5n
QXJlYSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OnVwZGF0ZUxh
eWVyRm9yQm90dG9tT3ZlcmhhbmdBcmVhKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVy
Q29tcG9zaXRvcjo6dXBkYXRlTGF5ZXJGb3JIZWFkZXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyTGF5ZXJDb21wb3NpdG9yOjp1cGRhdGVMYXllckZvckZvb3Rlcik6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OnVwZGF0ZU92ZXJmbG93Q29udHJvbHNMYXllcnMp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjplbnN1cmVSb290TGF5
ZXIpOgorCiAyMDE2LTEyLTAxICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29t
PgogCiAgICAgICAgIFB1dCBhbiBvYnZpb3VzIGRlYnVnIGJvcmRlciBvbiBsYXllcnMgd2l0aCBi
YWNrZHJvcCBmaWx0ZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jYS9HcmFwaGljc0xheWVyQ0EuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmNwcAppbmRleCA2Y2QyNmVmNjNiYmFmNzVhOTRhNzM4
M2FmOTNlYjgyZTMxMGRhMzhkLi5mN2Y3ZjEyNWYyZGUzMDI0ZGM5MjVhOTIyOTgwYTg2YjE4NmIw
YzFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFw
aGljc0xheWVyQ0EuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nh
L0dyYXBoaWNzTGF5ZXJDQS5jcHAKQEAgLTQ1MSwxMyArNDUxLDE3IEBAIHZvaWQgR3JhcGhpY3NM
YXllckNBOjp3aWxsQmVEZXN0cm95ZWQoKQogCiB2b2lkIEdyYXBoaWNzTGF5ZXJDQTo6c2V0TmFt
ZShjb25zdCBTdHJpbmcmIG5hbWUpCiB7CisjaWYgRU5BQkxFKFRSRUVfREVCVUdHSU5HKQogICAg
IFN0cmluZyBjYUxheWVyRGVzY3JpcHRpb247CiAKICAgICBpZiAoIW1fbGF5ZXItPmlzUGxhdGZv
cm1DQUxheWVyUmVtb3RlKCkpCiAgICAgICAgIGNhTGF5ZXJEZXNjcmlwdGlvbiA9IFN0cmluZzo6
Zm9ybWF0KCJDQUxheWVyKCVwKSAiLCBtX2xheWVyLT5wbGF0Zm9ybUxheWVyKCkpOwogCi0gICAg
U3RyaW5nIGxvbmdOYW1lID0gY2FMYXllckRlc2NyaXB0aW9uICsgU3RyaW5nOjpmb3JtYXQoIkdy
YXBoaWNzTGF5ZXIoJXAsICVsbHUpICIsIHRoaXMsIHByaW1hcnlMYXllcklEKCkpICsgbmFtZTsK
LSAgICBHcmFwaGljc0xheWVyOjpzZXROYW1lKGxvbmdOYW1lKTsKKyAgICBHcmFwaGljc0xheWVy
OjpzZXROYW1lKGNhTGF5ZXJEZXNjcmlwdGlvbiArIFN0cmluZzo6Zm9ybWF0KCJHcmFwaGljc0xh
eWVyKCVwLCAlbGx1KSAiLCB0aGlzLCBwcmltYXJ5TGF5ZXJJRCgpKSArIG5hbWUpOworI2Vsc2UK
KyAgICBHcmFwaGljc0xheWVyOjpzZXROYW1lKG5hbWUpOworI2VuZGlmCisKICAgICBub3RlTGF5
ZXJQcm9wZXJ0eUNoYW5nZWQoTmFtZUNoYW5nZWQpOwogfQogCkBAIC0xMDA4LDggKzEwMTIsMTAg
QEAgdm9pZCBHcmFwaGljc0xheWVyQ0E6OnNldENvbnRlbnRzVG9Tb2xpZENvbG9yKGNvbnN0IENv
bG9yJiBjb2xvcikKICAgICAgICAgaWYgKCFtX2NvbnRlbnRzTGF5ZXIgfHwgbV9jb250ZW50c0xh
eWVyUHVycG9zZSAhPSBDb250ZW50c0xheWVyRm9yQmFja2dyb3VuZENvbG9yKSB7CiAgICAgICAg
ICAgICBtX2NvbnRlbnRzTGF5ZXJQdXJwb3NlID0gQ29udGVudHNMYXllckZvckJhY2tncm91bmRD
b2xvcjsKICAgICAgICAgICAgIG1fY29udGVudHNMYXllciA9IGNyZWF0ZVBsYXRmb3JtQ0FMYXll
cihQbGF0Zm9ybUNBTGF5ZXI6OkxheWVyVHlwZUxheWVyLCB0aGlzKTsKLSNpZm5kZWYgTkRFQlVH
CisjaWYgRU5BQkxFKFRSRUVfREVCVUdHSU5HKQogICAgICAgICAgICAgbV9jb250ZW50c0xheWVy
LT5zZXROYW1lKFN0cmluZzo6Zm9ybWF0KCJCYWNrZ3JvdW5kIENvbG9yIExheWVyICVsbHUiLCBt
X2NvbnRlbnRzTGF5ZXItPmxheWVySUQoKSkpOworI2Vsc2UKKyAgICAgICAgICAgIG1fY29udGVu
dHNMYXllci0+c2V0TmFtZSgiY29udGVudHMgY29sb3IiKTsKICNlbmRpZgogICAgICAgICAgICAg
Y29udGVudHNMYXllckNoYW5nZWQgPSB0cnVlOwogICAgICAgICB9CkBAIC0xNzAzLDEzICsxNzA5
LDEzIEBAIHZvaWQgR3JhcGhpY3NMYXllckNBOjp1cGRhdGVOYW1lcygpCiB7CiAgICAgc3dpdGNo
IChzdHJ1Y3R1cmFsTGF5ZXJQdXJwb3NlKCkpIHsKICAgICBjYXNlIFN0cnVjdHVyYWxMYXllckZv
clByZXNlcnZlczNEOgotICAgICAgICBtX3N0cnVjdHVyYWxMYXllci0+c2V0TmFtZSgiVHJhbnNm
b3JtIGxheWVyICIgKyBuYW1lKCkpOworICAgICAgICBtX3N0cnVjdHVyYWxMYXllci0+c2V0TmFt
ZSgicHJlc2VydmUtM2Q6ICIgKyBuYW1lKCkpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFN0
cnVjdHVyYWxMYXllckZvclJlcGxpY2FGbGF0dGVuaW5nOgotICAgICAgICBtX3N0cnVjdHVyYWxM
YXllci0+c2V0TmFtZSgiUmVwbGljYSBmbGF0dGVuaW5nIGxheWVyICIgKyBuYW1lKCkpOworICAg
ICAgICBtX3N0cnVjdHVyYWxMYXllci0+c2V0TmFtZSgicmVwbGljYSBmbGF0dGVuaW5nOiAiICsg
bmFtZSgpKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBTdHJ1Y3R1cmFsTGF5ZXJGb3JCYWNr
ZHJvcDoKLSAgICAgICAgbV9zdHJ1Y3R1cmFsTGF5ZXItPnNldE5hbWUoIkJhY2tkcm9wIGhvc3Rp
bmcgbGF5ZXIgIiArIG5hbWUoKSk7CisgICAgICAgIG1fc3RydWN0dXJhbExheWVyLT5zZXROYW1l
KCJiYWNrZHJvcCBob3N0aW5nOiAiICsgbmFtZSgpKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2Fz
ZSBOb1N0cnVjdHVyYWxMYXllcjoKICAgICAgICAgYnJlYWs7CkBAIC0xOTczLDYgKzE5NzksNyBA
QCB2b2lkIEdyYXBoaWNzTGF5ZXJDQTo6dXBkYXRlQmFja2Ryb3BGaWx0ZXJzKCkKICAgICAgICAg
bV9iYWNrZHJvcExheWVyID0gY3JlYXRlUGxhdGZvcm1DQUxheWVyKFBsYXRmb3JtQ0FMYXllcjo6
TGF5ZXJUeXBlQmFja2Ryb3BMYXllciwgdGhpcyk7CiAgICAgICAgIG1fYmFja2Ryb3BMYXllci0+
c2V0QW5jaG9yUG9pbnQoRmxvYXRQb2ludDNEKCkpOwogICAgICAgICBtX2JhY2tkcm9wTGF5ZXIt
PnNldE1hc2tzVG9Cb3VuZHModHJ1ZSk7CisgICAgICAgIG1fYmFja2Ryb3BMYXllci0+c2V0TmFt
ZSgiYmFja2Ryb3AiKTsKICAgICB9CiAKICAgICBtX2JhY2tkcm9wTGF5ZXItPnNldEhpZGRlbigh
bV9jb250ZW50c1Zpc2libGUpOwpAQCAtMjMyMSw4ICsyMzI4LDEwIEBAIHZvaWQgR3JhcGhpY3NM
YXllckNBOjp1cGRhdGVDb250ZW50c0ltYWdlKCkKICAgICBpZiAobV9wZW5kaW5nQ29udGVudHNJ
bWFnZSkgewogICAgICAgICBpZiAoIW1fY29udGVudHNMYXllci5nZXQoKSkgewogICAgICAgICAg
ICAgbV9jb250ZW50c0xheWVyID0gY3JlYXRlUGxhdGZvcm1DQUxheWVyKFBsYXRmb3JtQ0FMYXll
cjo6TGF5ZXJUeXBlTGF5ZXIsIHRoaXMpOwotI2lmbmRlZiBOREVCVUcKKyNpZiBFTkFCTEUoVFJF
RV9ERUJVR0dJTkcpCiAgICAgICAgICAgICBtX2NvbnRlbnRzTGF5ZXItPnNldE5hbWUoU3RyaW5n
Ojpmb3JtYXQoIkltYWdlIExheWVyICVsbHUiLCBtX2NvbnRlbnRzTGF5ZXItPmxheWVySUQoKSkp
OworI2Vsc2UKKyAgICAgICAgICAgIG1fY29udGVudHNMYXllci0+c2V0TmFtZSgiY29udGVudHMg
aW1hZ2UiKTsKICNlbmRpZgogICAgICAgICAgICAgc2V0dXBDb250ZW50c0xheWVyKG1fY29udGVu
dHNMYXllci5nZXQoKSk7CiAgICAgICAgICAgICAvLyBtX2NvbnRlbnRzTGF5ZXIgd2lsbCBiZSBw
YXJlbnRlZCBieSB1cGRhdGVTdWJsYXllckxpc3QKQEAgLTIzOTgsNiArMjQwNyw3IEBAIHZvaWQg
R3JhcGhpY3NMYXllckNBOjp1cGRhdGVDbGlwcGluZ1N0cmF0ZWd5KFBsYXRmb3JtQ0FMYXllciYg
Y2xpcHBpbmdMYXllciwgUmVmCiAgICAgaWYgKCFzaGFwZU1hc2tMYXllcikgewogICAgICAgICBz
aGFwZU1hc2tMYXllciA9IGNyZWF0ZVBsYXRmb3JtQ0FMYXllcihQbGF0Zm9ybUNBTGF5ZXI6Okxh
eWVyVHlwZVNoYXBlTGF5ZXIsIHRoaXMpOwogICAgICAgICBzaGFwZU1hc2tMYXllci0+c2V0QW5j
aG9yUG9pbnQoRmxvYXRQb2ludDNEKCkpOworICAgICAgICBzaGFwZU1hc2tMYXllci0+c2V0TmFt
ZSgic2hhcGUgbWFzayIpOwogICAgIH0KICAgICAKICAgICBzaGFwZU1hc2tMYXllci0+c2V0UG9z
aXRpb24oRmxvYXRQb2ludCgpKTsKQEAgLTI0MjYsOCArMjQzNiwxMCBAQCB2b2lkIEdyYXBoaWNz
TGF5ZXJDQTo6dXBkYXRlQ29udGVudHNSZWN0cygpCiAgICAgICAgIGlmICghbV9jb250ZW50c0Ns
aXBwaW5nTGF5ZXIpIHsKICAgICAgICAgICAgIG1fY29udGVudHNDbGlwcGluZ0xheWVyID0gY3Jl
YXRlUGxhdGZvcm1DQUxheWVyKFBsYXRmb3JtQ0FMYXllcjo6TGF5ZXJUeXBlTGF5ZXIsIHRoaXMp
OwogICAgICAgICAgICAgbV9jb250ZW50c0NsaXBwaW5nTGF5ZXItPnNldEFuY2hvclBvaW50KEZs
b2F0UG9pbnQoKSk7Ci0jaWZuZGVmIE5ERUJVRworI2lmIEVOQUJMRShUUkVFX0RFQlVHR0lORykK
ICAgICAgICAgICAgIG1fY29udGVudHNDbGlwcGluZ0xheWVyLT5zZXROYW1lKFN0cmluZzo6Zm9y
bWF0KCJDb250ZW50cyBDbGlwcGluZyBMYXllciAlbGx1IiwgbV9jb250ZW50c0NsaXBwaW5nTGF5
ZXItPmxheWVySUQoKSkpOworI2Vsc2UKKyAgICAgICAgICAgIG1fY29udGVudHNDbGlwcGluZ0xh
eWVyLT5zZXROYW1lKCJjb250ZW50cyBjbGlwcGluZyIpOwogI2VuZGlmCiAgICAgICAgICAgICBn
YWluZWRPckxvc3RDbGlwcGluZ0xheWVyID0gdHJ1ZTsKICAgICAgICAgfQpAQCAtMzU4NiwxNiAr
MzU5OCwxMiBAQCB2b2lkIEdyYXBoaWNzTGF5ZXJDQTo6Y2hhbmdlTGF5ZXJUeXBlVG8oUGxhdGZv
cm1DQUxheWVyOjpMYXllclR5cGUgbmV3TGF5ZXJUeXBlKQogICAgICAgICB8IEJhY2tkcm9wRmls
dGVyc0NoYW5nZWQKICAgICAgICAgfCBNYXNrTGF5ZXJDaGFuZ2VkCiAgICAgICAgIHwgT3BhY2l0
eUNoYW5nZWQKKyAgICAgICAgfCBOYW1lQ2hhbmdlZAogICAgICAgICB8IERlYnVnSW5kaWNhdG9y
c0NoYW5nZWQ7CiAgICAgCiAgICAgaWYgKG1fdXNpbmdUaWxlZEJhY2tpbmcpCiAgICAgICAgIG1f
dW5jb21taXR0ZWRDaGFuZ2VzIHw9IENvdmVyYWdlUmVjdENoYW5nZWQ7CiAKLSNpZm5kZWYgTkRF
QlVHCi0gICAgU3RyaW5nIG5hbWUgPSBTdHJpbmc6OmZvcm1hdCgiJXNDQUxheWVyKCVwKSBHcmFw
aGljc0xheWVyKCVwLCAlbGx1KSAiLCAobmV3TGF5ZXJUeXBlID09IFBsYXRmb3JtQ0FMYXllcjo6
TGF5ZXJUeXBlV2ViVGlsZWRMYXllcikgPyAiVGlsZWQgIiA6ICIiLCBtX2xheWVyLT5wbGF0Zm9y
bUxheWVyKCksIHRoaXMsIHByaW1hcnlMYXllcklEKCkpICsgbV9uYW1lOwotICAgIG1fbGF5ZXIt
PnNldE5hbWUobmFtZSk7Ci0jZW5kaWYKLQogICAgIG1vdmVBbmltYXRpb25zKG9sZExheWVyLmdl
dCgpLCBtX2xheWVyLmdldCgpKTsKICAgICAKICAgICAvLyBuZWVkIHRvIHRlbGwgbmV3IGxheWVy
IHRvIGRyYXcgaXRzZWxmCkBAIC0zNjQ3LDggKzM2NTUsMTAgQEAgUGFzc1JlZlB0cjxQbGF0Zm9y
bUNBTGF5ZXI+IEdyYXBoaWNzTGF5ZXJDQTo6ZmluZE9yTWFrZUNsb25lKENsb25lSUQgY2xvbmVJ
RCwgUGwKICAgICAgICAgcmVzdWx0TGF5ZXIgPSBhZGRSZXN1bHQuaXRlcmF0b3ItPnZhbHVlLmdl
dCgpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIHJlc3VsdExheWVyID0gY2xvbmVMYXllcihzb3Vy
Y2VMYXllciwgY2xvbmVMZXZlbCk7Ci0jaWZuZGVmIE5ERUJVRworI2lmIEVOQUJMRShUUkVFX0RF
QlVHR0lORykKICAgICAgICAgcmVzdWx0TGF5ZXItPnNldE5hbWUoU3RyaW5nOjpmb3JtYXQoIkNs
b25lICVkIG9mIGxheWVyICVsbHUiLCBjbG9uZUlEWzBVXSwgc291cmNlTGF5ZXItPmxheWVySUQo
KSkpOworI2Vsc2UKKyAgICAgICAgcmVzdWx0TGF5ZXItPnNldE5hbWUoImNsb25lIG9mICIgKyBt
X25hbWUpOwogI2VuZGlmCiAgICAgICAgIGFkZFJlc3VsdC5pdGVyYXRvci0+dmFsdWUgPSByZXN1
bHRMYXllcjsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jYS9UaWxlQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jYS9UaWxlQ29udHJvbGxlci5jcHAKaW5kZXggMzhhNGQyODU1MjZjNGYyYzJkZjc2Nzgz
NTFhZDMxMGE3Mzc4NjFmMy4uZTQyNWI4MmY4MDM0NzQ3ZWFmZWMxOGU4MGUwZTk2OGFmZDVjMDQ3
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNv
bnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1Rp
bGVDb250cm9sbGVyLmNwcApAQCAtNTMsMTIgKzUzLDEyIEBAIHN0YXRpYyBjb25zdCBhdXRvIHRp
bGVTaXplVXBkYXRlRGVsYXkgPSBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHsgNTAwIH07CiAK
IFN0cmluZyBUaWxlQ29udHJvbGxlcjo6dGlsZUdyaWRDb250YWluZXJMYXllck5hbWUoKQogewot
ICAgIHJldHVybiBBU0NJSUxpdGVyYWwoIlRpbGVHcmlkIENvbnRhaW5lciBMYXllciIpOworICAg
IHJldHVybiBBU0NJSUxpdGVyYWwoIlRpbGVHcmlkIGNvbnRhaW5lciIpOwogfQogCiBTdHJpbmcg
VGlsZUNvbnRyb2xsZXI6Onpvb21lZE91dFRpbGVHcmlkQ29udGFpbmVyTGF5ZXJOYW1lKCkKIHsK
LSAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJab29tZWQgT3V0IFRpbGVHcmlkIENvbnRhaW5lciBM
YXllciIpOworICAgIHJldHVybiBBU0NJSUxpdGVyYWwoIlpvb21lZC1vdXQgVGlsZUdyaWQgY29u
dGFpbmVyIik7CiB9CiAKIFRpbGVDb250cm9sbGVyOjpUaWxlQ29udHJvbGxlcihQbGF0Zm9ybUNB
TGF5ZXIqIHJvb3RQbGF0Zm9ybUxheWVyKQpAQCAtNzAyLDkgKzcwMiwxMyBAQCBSZWZQdHI8UGxh
dGZvcm1DQUxheWVyPiBUaWxlQ29udHJvbGxlcjo6Y3JlYXRlVGlsZUxheWVyKGNvbnN0IEludFJl
Y3QmIHRpbGVSZWN0LAogICAgIGxheWVyLT5zZXRCb3JkZXJXaWR0aChtX3RpbGVEZWJ1Z0JvcmRl
cldpZHRoKTsKICAgICBsYXllci0+c2V0RWRnZUFudGlhbGlhc2luZ01hc2soMCk7CiAgICAgbGF5
ZXItPnNldE9wYXF1ZShtX3RpbGVzQXJlT3BhcXVlKTsKLSNpZm5kZWYgTkRFQlVHCi0gICAgbGF5
ZXItPnNldE5hbWUoIlRpbGUiKTsKLSNlbmRpZgorCisgICAgU3RyaW5nQnVpbGRlciBuYW1lQnVp
bGRlcjsKKyAgICBuYW1lQnVpbGRlci5hcHBlbmQoInRpbGUgYXQgIik7CisgICAgbmFtZUJ1aWxk
ZXIuYXBwZW5kTnVtYmVyKHRpbGVSZWN0LmxvY2F0aW9uKCkueCgpKTsKKyAgICBuYW1lQnVpbGRl
ci5hcHBlbmQoJywnKTsKKyAgICBuYW1lQnVpbGRlci5hcHBlbmROdW1iZXIodGlsZVJlY3QubG9j
YXRpb24oKS55KCkpOworICAgIGxheWVyLT5zZXROYW1lKG5hbWVCdWlsZGVyLnRvU3RyaW5nKCkp
OwogCiAgICAgZmxvYXQgdGVtcG9yYXJ5U2NhbGVGYWN0b3IgPSBvd25pbmdHcmFwaGljc0xheWVy
KCktPnBsYXRmb3JtQ0FMYXllckNvbnRlbnRzU2NhbGVNdWx0aXBsaWVyRm9yTmV3VGlsZXMobV90
aWxlQ2FjaGVMYXllcik7CiAgICAgbV9oYXNUaWxlc1dpdGhUZW1wb3JhcnlTY2FsZUZhY3RvciB8
PSB0ZW1wb3JhcnlTY2FsZUZhY3RvciAhPSAxOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllci5jcHAKaW5kZXggZjhiYzM2NGI0ZTg4NjJiOTgwZmQ4OWY2NTVjN2E1Y2FhMWQ3OWQ2
ZC4uNzExYjIyYzY4NGIyMTAzNmE1OTFjOGIxNTVkZWZlNTBjOTBjOGE2NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC0zODYsMTEgKzM4NiwxMSBAQCBSZW5k
ZXJMYXllcjo6flJlbmRlckxheWVyKCkKIFN0cmluZyBSZW5kZXJMYXllcjo6bmFtZSgpIGNvbnN0
CiB7CiAgICAgU3RyaW5nQnVpbGRlciBuYW1lOwotICAgIG5hbWUuYXBwZW5kKHJlbmRlcmVyKCku
cmVuZGVyTmFtZSgpKTsKIAogICAgIGlmIChFbGVtZW50KiBlbGVtZW50ID0gcmVuZGVyZXIoKS5l
bGVtZW50KCkpIHsKLSAgICAgICAgbmFtZS5hcHBlbmQoJyAnKTsKLSAgICAgICAgbmFtZS5hcHBl
bmQoZWxlbWVudC0+dGFnTmFtZSgpKTsKKyAgICAgICAgbmFtZS5hcHBlbmQoIiA8Iik7CisgICAg
ICAgIG5hbWUuYXBwZW5kKGVsZW1lbnQtPnRhZ05hbWUoKS5jb252ZXJ0VG9Mb3dlcmNhc2VXaXRo
b3V0TG9jYWxlKCkpOworICAgICAgICBuYW1lLmFwcGVuZCgnPicpOwogCiAgICAgICAgIGlmIChl
bGVtZW50LT5oYXNJRCgpKSB7CiAgICAgICAgICAgICBuYW1lLmFwcGVuZExpdGVyYWwoIiBpZD1c
JyIpOwpAQCAtNDAwLDE0ICs0MDAsMTYgQEAgU3RyaW5nIFJlbmRlckxheWVyOjpuYW1lKCkgY29u
c3QKIAogICAgICAgICBpZiAoZWxlbWVudC0+aGFzQ2xhc3MoKSkgewogICAgICAgICAgICAgbmFt
ZS5hcHBlbmRMaXRlcmFsKCIgY2xhc3M9XCciKTsKLSAgICAgICAgICAgIGZvciAoc2l6ZV90IGkg
PSAwOyBpIDwgZWxlbWVudC0+Y2xhc3NOYW1lcygpLnNpemUoKTsgKytpKSB7CisgICAgICAgICAg
ICBzaXplX3QgY2xhc3NOYW1lc1RvRHVtcCA9IHN0ZDo6bWluPHNpemVfdD4oZWxlbWVudC0+Y2xh
c3NOYW1lcygpLnNpemUoKSwgNyk7CisgICAgICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8
IGNsYXNzTmFtZXNUb0R1bXA7ICsraSkgewogICAgICAgICAgICAgICAgIGlmIChpID4gMCkKICAg
ICAgICAgICAgICAgICAgICAgbmFtZS5hcHBlbmQoJyAnKTsKICAgICAgICAgICAgICAgICBuYW1l
LmFwcGVuZChlbGVtZW50LT5jbGFzc05hbWVzKClbaV0pOwogICAgICAgICAgICAgfQogICAgICAg
ICAgICAgbmFtZS5hcHBlbmQoJ1wnJyk7CiAgICAgICAgIH0KLSAgICB9CisgICAgfSBlbHNlCisg
ICAgICAgIG5hbWUuYXBwZW5kKHJlbmRlcmVyKCkucmVuZGVyTmFtZSgpKTsKIAogICAgIGlmIChp
c1JlZmxlY3Rpb24oKSkKICAgICAgICAgbmFtZS5hcHBlbmRMaXRlcmFsKCIgKHJlZmxlY3Rpb24p
Iik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNr
aW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3Bw
CmluZGV4IDE4Zjg0YTJhM2QxODAzZDI2ZDcwOGM1YjkzYjE5MTBmN2Y2Y2RhZjIuLjA0NDhiZGIy
ZDA1YjM0MGI1ZDQ2MTI0YzYwNTg1NWE2MjcyMzQ3MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCkBAIC0xNjksMTEgKzE2OSw4IEBAIHN0
ZDo6dW5pcXVlX3B0cjxHcmFwaGljc0xheWVyPiBSZW5kZXJMYXllckJhY2tpbmc6OmNyZWF0ZUdy
YXBoaWNzTGF5ZXIoY29uc3QgU3RyCiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8R3JhcGhpY3NMYXll
cj4gZ3JhcGhpY3NMYXllciA9IEdyYXBoaWNzTGF5ZXI6OmNyZWF0ZShncmFwaGljc0xheWVyRmFj
dG9yeSwgKnRoaXMsIGxheWVyVHlwZSk7CiAKLSNpZiBFTkFCTEUoVFJFRV9ERUJVR0dJTkcpCiAg
ICAgZ3JhcGhpY3NMYXllci0+c2V0TmFtZShuYW1lKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFN
KG5hbWUpOwotI2VuZGlmCisKICNpZiBQTEFURk9STShDT0NPQSkgJiYgVVNFKENBKQogICAgIGdy
YXBoaWNzTGF5ZXItPnNldEFjY2VsZXJhdGVzRHJhd2luZyhjb21wb3NpdG9yKCkuYWNjZWxlcmF0
ZWREcmF3aW5nRW5hYmxlZCgpKTsKICAgICBncmFwaGljc0xheWVyLT5zZXRVc2VzRGlzcGxheUxp
c3REcmF3aW5nKGNvbXBvc2l0b3IoKS5kaXNwbGF5TGlzdERyYXdpbmdFbmFibGVkKCkpOwpAQCAt
Mjk5LDE1ICsyOTYsMTMgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZURlYnVnSW5k
aWNhdG9ycyhib29sIHNob3dCb3JkZXIsIGJvb2wgc2hvd1JlcGFpbnQKIAogdm9pZCBSZW5kZXJM
YXllckJhY2tpbmc6OmNyZWF0ZVByaW1hcnlHcmFwaGljc0xheWVyKCkKIHsKLSAgICBTdHJpbmcg
bGF5ZXJOYW1lOwotI2lmIEVOQUJMRShUUkVFX0RFQlVHR0lORykKLSAgICBsYXllck5hbWUgPSBt
X293bmluZ0xheWVyLm5hbWUoKTsKLSNlbmRpZgotICAgIAorICAgIFN0cmluZyBsYXllck5hbWUg
PSBtX293bmluZ0xheWVyLm5hbWUoKTsKKyAgICBjb25zdCB1bnNpZ25lZCBtYXhMYXllck5hbWVM
ZW5ndGggPSAxMDA7CisgICAgbGF5ZXJOYW1lLnRydW5jYXRlKG1heExheWVyTmFtZUxlbmd0aCk7
CiAgICAgbV9ncmFwaGljc0xheWVyID0gY3JlYXRlR3JhcGhpY3NMYXllcihsYXllck5hbWUsIG1f
dXNpbmdUaWxlZENhY2hlTGF5ZXIgPyBHcmFwaGljc0xheWVyOjpUeXBlOjpQYWdlVGlsZWRCYWNr
aW5nIDogR3JhcGhpY3NMYXllcjo6VHlwZTo6Tm9ybWFsKTsKIAogICAgIGlmIChtX3VzaW5nVGls
ZWRDYWNoZUxheWVyKSB7Ci0gICAgICAgIG1fY2hpbGRDb250YWlubWVudExheWVyID0gY3JlYXRl
R3JhcGhpY3NMYXllcigiVGlsZWRCYWNraW5nIEZsYXR0ZW5pbmcgTGF5ZXIiKTsKKyAgICAgICAg
bV9jaGlsZENvbnRhaW5tZW50TGF5ZXIgPSBjcmVhdGVHcmFwaGljc0xheWVyKCJUaWxlZEJhY2tp
bmcgY29udGFpbm1lbnQiKTsKICAgICAgICAgbV9ncmFwaGljc0xheWVyLT5hZGRDaGlsZChtX2No
aWxkQ29udGFpbm1lbnRMYXllci5nZXQoKSk7CiAgICAgfQogCkBAIC0xMzI4LDcgKzEzMjMsNyBA
QCBib29sIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlQW5jZXN0b3JDbGlwcGluZ0xheWVyKGJv
b2wgbmVlZHNBbmNlc3RvckNsaXApCiAKICAgICBpZiAobmVlZHNBbmNlc3RvckNsaXApIHsKICAg
ICAgICAgaWYgKCFtX2FuY2VzdG9yQ2xpcHBpbmdMYXllcikgewotICAgICAgICAgICAgbV9hbmNl
c3RvckNsaXBwaW5nTGF5ZXIgPSBjcmVhdGVHcmFwaGljc0xheWVyKCJBbmNlc3RvciBjbGlwcGlu
ZyBMYXllciIpOworICAgICAgICAgICAgbV9hbmNlc3RvckNsaXBwaW5nTGF5ZXIgPSBjcmVhdGVH
cmFwaGljc0xheWVyKCJhbmNlc3RvciBjbGlwcGluZyIpOwogICAgICAgICAgICAgbV9hbmNlc3Rv
ckNsaXBwaW5nTGF5ZXItPnNldE1hc2tzVG9Cb3VuZHModHJ1ZSk7CiAgICAgICAgICAgICBsYXll
cnNDaGFuZ2VkID0gdHJ1ZTsKICAgICAgICAgfQpAQCAtMTM0OSw3ICsxMzQ0LDcgQEAgYm9vbCBS
ZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZURlc2NlbmRhbnRDbGlwcGluZ0xheWVyKGJvb2wgbmVl
ZHNEZXNjZW5kYW50Q2xpcCkKIAogICAgIGlmIChuZWVkc0Rlc2NlbmRhbnRDbGlwKSB7CiAgICAg
ICAgIGlmICghbV9jaGlsZENvbnRhaW5tZW50TGF5ZXIgJiYgIW1fdXNpbmdUaWxlZENhY2hlTGF5
ZXIpIHsKLSAgICAgICAgICAgIG1fY2hpbGRDb250YWlubWVudExheWVyID0gY3JlYXRlR3JhcGhp
Y3NMYXllcigiQ2hpbGQgY2xpcHBpbmcgTGF5ZXIiKTsKKyAgICAgICAgICAgIG1fY2hpbGRDb250
YWlubWVudExheWVyID0gY3JlYXRlR3JhcGhpY3NMYXllcigiY2hpbGQgY2xpcHBpbmciKTsKICAg
ICAgICAgICAgIG1fY2hpbGRDb250YWlubWVudExheWVyLT5zZXRNYXNrc1RvQm91bmRzKHRydWUp
OwogICAgICAgICAgICAgbGF5ZXJzQ2hhbmdlZCA9IHRydWU7CiAgICAgICAgIH0KQEAgLTE0OTks
MTAgKzE0OTQsNyBAQCBib29sIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlRm9yZWdyb3VuZExh
eWVyKGJvb2wgbmVlZHNGb3JlZ3JvdW5kTGF5ZXIpCiAgICAgYm9vbCBsYXllckNoYW5nZWQgPSBm
YWxzZTsKICAgICBpZiAobmVlZHNGb3JlZ3JvdW5kTGF5ZXIpIHsKICAgICAgICAgaWYgKCFtX2Zv
cmVncm91bmRMYXllcikgewotICAgICAgICAgICAgU3RyaW5nIGxheWVyTmFtZTsKLSNpZiBFTkFC
TEUoVFJFRV9ERUJVR0dJTkcpCi0gICAgICAgICAgICBsYXllck5hbWUgPSBtX293bmluZ0xheWVy
Lm5hbWUoKSArICIgKGZvcmVncm91bmQpIjsKLSNlbmRpZgorICAgICAgICAgICAgU3RyaW5nIGxh
eWVyTmFtZSA9IG1fb3duaW5nTGF5ZXIubmFtZSgpICsgIiAoZm9yZWdyb3VuZCkiOwogICAgICAg
ICAgICAgbV9mb3JlZ3JvdW5kTGF5ZXIgPSBjcmVhdGVHcmFwaGljc0xheWVyKGxheWVyTmFtZSk7
CiAgICAgICAgICAgICBtX2ZvcmVncm91bmRMYXllci0+c2V0RHJhd3NDb250ZW50KHRydWUpOwog
ICAgICAgICAgICAgbV9mb3JlZ3JvdW5kTGF5ZXItPnNldFBhaW50aW5nUGhhc2UoR3JhcGhpY3NM
YXllclBhaW50Rm9yZWdyb3VuZCk7CkBAIC0xNTI4LDEwICsxNTIwLDcgQEAgYm9vbCBSZW5kZXJM
YXllckJhY2tpbmc6OnVwZGF0ZUJhY2tncm91bmRMYXllcihib29sIG5lZWRzQmFja2dyb3VuZExh
eWVyKQogICAgIGJvb2wgbGF5ZXJDaGFuZ2VkID0gZmFsc2U7CiAgICAgaWYgKG5lZWRzQmFja2dy
b3VuZExheWVyKSB7CiAgICAgICAgIGlmICghbV9iYWNrZ3JvdW5kTGF5ZXIpIHsKLSAgICAgICAg
ICAgIFN0cmluZyBsYXllck5hbWU7Ci0jaWYgRU5BQkxFKFRSRUVfREVCVUdHSU5HKQotICAgICAg
ICAgICAgbGF5ZXJOYW1lID0gbV9vd25pbmdMYXllci5uYW1lKCkgKyAiIChiYWNrZ3JvdW5kKSI7
Ci0jZW5kaWYKKyAgICAgICAgICAgIFN0cmluZyBsYXllck5hbWUgPSBtX293bmluZ0xheWVyLm5h
bWUoKSArICIgKGJhY2tncm91bmQpIjsKICAgICAgICAgICAgIG1fYmFja2dyb3VuZExheWVyID0g
Y3JlYXRlR3JhcGhpY3NMYXllcihsYXllck5hbWUpOwogICAgICAgICAgICAgbV9iYWNrZ3JvdW5k
TGF5ZXItPnNldERyYXdzQ29udGVudCh0cnVlKTsKICAgICAgICAgICAgIG1fYmFja2dyb3VuZExh
eWVyLT5zZXRBbmNob3JQb2ludChGbG9hdFBvaW50M0QoKSk7CkBAIC0xNTQwLDEwICsxNTI5LDcg
QEAgYm9vbCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUJhY2tncm91bmRMYXllcihib29sIG5l
ZWRzQmFja2dyb3VuZExheWVyKQogICAgICAgICB9CiAgICAgICAgIAogICAgICAgICBpZiAoIW1f
Y29udGVudHNDb250YWlubWVudExheWVyKSB7Ci0gICAgICAgICAgICBTdHJpbmcgbGF5ZXJOYW1l
OwotI2lmIEVOQUJMRShUUkVFX0RFQlVHR0lORykKLSAgICAgICAgICAgIGxheWVyTmFtZSA9IG1f
b3duaW5nTGF5ZXIubmFtZSgpICsgIiAoY29udGVudHMgY29udGFpbm1lbnQpIjsKLSNlbmRpZgor
ICAgICAgICAgICAgU3RyaW5nIGxheWVyTmFtZSA9IG1fb3duaW5nTGF5ZXIubmFtZSgpICsgIiAo
Y29udGVudHMgY29udGFpbm1lbnQpIjsKICAgICAgICAgICAgIG1fY29udGVudHNDb250YWlubWVu
dExheWVyID0gY3JlYXRlR3JhcGhpY3NMYXllcihsYXllck5hbWUpOwogICAgICAgICAgICAgbV9j
b250ZW50c0NvbnRhaW5tZW50TGF5ZXItPnNldEFwcGxpZXNQYWdlU2NhbGUodHJ1ZSk7CiAgICAg
ICAgICAgICBtX2dyYXBoaWNzTGF5ZXItPnNldEFwcGxpZXNQYWdlU2NhbGUoZmFsc2UpOwpAQCAt
MTU5OCw3ICsxNTg0LDcgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZU1hc2tpbmdM
YXllcihib29sIGhhc01hc2ssIGJvb2wgaGFzQ2xpcFBhdGgpCiAgICAgICAgIH0KIAogICAgICAg
ICBpZiAoIW1fbWFza0xheWVyKSB7Ci0gICAgICAgICAgICBtX21hc2tMYXllciA9IGNyZWF0ZUdy
YXBoaWNzTGF5ZXIoIk1hc2siLCByZXF1aXJlZExheWVyVHlwZSk7CisgICAgICAgICAgICBtX21h
c2tMYXllciA9IGNyZWF0ZUdyYXBoaWNzTGF5ZXIoIm1hc2siLCByZXF1aXJlZExheWVyVHlwZSk7
CiAgICAgICAgICAgICBtX21hc2tMYXllci0+c2V0RHJhd3NDb250ZW50KHBhaW50c0NvbnRlbnQp
OwogICAgICAgICAgICAgbV9tYXNrTGF5ZXItPnNldFBhaW50aW5nUGhhc2UobWFza1BoYXNlcyk7
CiAgICAgICAgICAgICBsYXllckNoYW5nZWQgPSB0cnVlOwpAQCAtMTYzMCw3ICsxNjE2LDcgQEAg
dm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUNoaWxkQ2xpcHBpbmdTdHJhdGVneShib29s
IG5lZWRzRGVzY2VuZGFudHNDbGlwcGkKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgaWYg
KCFtX2NoaWxkQ2xpcHBpbmdNYXNrTGF5ZXIpIHsKLSAgICAgICAgICAgICAgICBtX2NoaWxkQ2xp
cHBpbmdNYXNrTGF5ZXIgPSBjcmVhdGVHcmFwaGljc0xheWVyKCJDaGlsZCBDbGlwcGluZyBNYXNr
IExheWVyIik7CisgICAgICAgICAgICAgICAgbV9jaGlsZENsaXBwaW5nTWFza0xheWVyID0gY3Jl
YXRlR3JhcGhpY3NMYXllcigiY2hpbGQgY2xpcHBpbmcgbWFzayIpOwogICAgICAgICAgICAgICAg
IG1fY2hpbGRDbGlwcGluZ01hc2tMYXllci0+c2V0RHJhd3NDb250ZW50KHRydWUpOwogICAgICAg
ICAgICAgICAgIG1fY2hpbGRDbGlwcGluZ01hc2tMYXllci0+c2V0UGFpbnRpbmdQaGFzZShHcmFw
aGljc0xheWVyUGFpbnRDaGlsZENsaXBwaW5nTWFzayk7CiAgICAgICAgICAgICAgICAgY2xpcHBp
bmdMYXllcigpLT5zZXRNYXNrTGF5ZXIobV9jaGlsZENsaXBwaW5nTWFza0xheWVyLmdldCgpKTsK
QEAgLTE2NTQsMTIgKzE2NDAsMTIgQEAgYm9vbCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZVNj
cm9sbGluZ0xheWVycyhib29sIG5lZWRzU2Nyb2xsaW5nTGF5ZXJzKQogCiAgICAgaWYgKCFtX3Nj
cm9sbGluZ0xheWVyKSB7CiAgICAgICAgIC8vIE91dGVyIGxheWVyIHdoaWNoIGNvcnJlc3BvbmRz
IHdpdGggdGhlIHNjcm9sbCB2aWV3LgotICAgICAgICBtX3Njcm9sbGluZ0xheWVyID0gY3JlYXRl
R3JhcGhpY3NMYXllcigiU2Nyb2xsaW5nIGNvbnRhaW5lciIsIEdyYXBoaWNzTGF5ZXI6OlR5cGU6
OlNjcm9sbGluZyk7CisgICAgICAgIG1fc2Nyb2xsaW5nTGF5ZXIgPSBjcmVhdGVHcmFwaGljc0xh
eWVyKCJzY3JvbGxpbmcgY29udGFpbmVyIiwgR3JhcGhpY3NMYXllcjo6VHlwZTo6U2Nyb2xsaW5n
KTsKICAgICAgICAgbV9zY3JvbGxpbmdMYXllci0+c2V0RHJhd3NDb250ZW50KGZhbHNlKTsKICAg
ICAgICAgbV9zY3JvbGxpbmdMYXllci0+c2V0TWFza3NUb0JvdW5kcyh0cnVlKTsKIAogICAgICAg
ICAvLyBJbm5lciBsYXllciB3aGljaCByZW5kZXJzIHRoZSBjb250ZW50IHRoYXQgc2Nyb2xscy4K
LSAgICAgICAgbV9zY3JvbGxpbmdDb250ZW50c0xheWVyID0gY3JlYXRlR3JhcGhpY3NMYXllcigi
U2Nyb2xsZWQgQ29udGVudHMiKTsKKyAgICAgICAgbV9zY3JvbGxpbmdDb250ZW50c0xheWVyID0g
Y3JlYXRlR3JhcGhpY3NMYXllcigic2Nyb2xsZWQgQ29udGVudHMiKTsKICAgICAgICAgbV9zY3Jv
bGxpbmdDb250ZW50c0xheWVyLT5zZXREcmF3c0NvbnRlbnQodHJ1ZSk7CiAKICAgICAgICAgR3Jh
cGhpY3NMYXllclBhaW50aW5nUGhhc2UgcGFpbnRQaGFzZSA9IEdyYXBoaWNzTGF5ZXJQYWludE92
ZXJmbG93Q29udGVudHMgfCBHcmFwaGljc0xheWVyUGFpbnRDb21wb3NpdGVkU2Nyb2xsOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcApp
bmRleCA2M2E1YTY5MGFjMTBhYjFmNWM5YjRkZWM0N2VjZWFjNWEwMDVmNjNlLi42MzQyMjEzNWMx
YTM5YzU5YWNmNTkyMzkxNzFjMzFjYWUzNTBjYzI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcApAQCAtMzA3NSw5ICszMDc1LDcg
QEAgR3JhcGhpY3NMYXllciogUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjp1cGRhdGVMYXllckZvclRv
cE92ZXJoYW5nQXJlYShib29sIHdhbnRzTGEKIAogICAgIGlmICghbV9sYXllckZvclRvcE92ZXJo
YW5nQXJlYSkgewogICAgICAgICBtX2xheWVyRm9yVG9wT3ZlcmhhbmdBcmVhID0gR3JhcGhpY3NM
YXllcjo6Y3JlYXRlKGdyYXBoaWNzTGF5ZXJGYWN0b3J5KCksICp0aGlzKTsKLSNpZiBFTkFCTEUo
VFJFRV9ERUJVR0dJTkcpCi0gICAgICAgIG1fbGF5ZXJGb3JUb3BPdmVyaGFuZ0FyZWEtPnNldE5h
bWUoInRvcCBvdmVyaGFuZyBhcmVhIik7Ci0jZW5kaWYKKyAgICAgICAgbV9sYXllckZvclRvcE92
ZXJoYW5nQXJlYS0+c2V0TmFtZSgidG9wIG92ZXJoYW5nIik7CiAgICAgICAgIG1fc2Nyb2xsTGF5
ZXItPmFkZENoaWxkQmVsb3cobV9sYXllckZvclRvcE92ZXJoYW5nQXJlYS5nZXQoKSwgbV9yb290
Q29udGVudExheWVyLmdldCgpKTsKICAgICB9CiAKQEAgLTMwOTksOSArMzA5Nyw3IEBAIEdyYXBo
aWNzTGF5ZXIqIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6dXBkYXRlTGF5ZXJGb3JCb3R0b21PdmVy
aGFuZ0FyZWEoYm9vbCB3YW50CiAKICAgICBpZiAoIW1fbGF5ZXJGb3JCb3R0b21PdmVyaGFuZ0Fy
ZWEpIHsKICAgICAgICAgbV9sYXllckZvckJvdHRvbU92ZXJoYW5nQXJlYSA9IEdyYXBoaWNzTGF5
ZXI6OmNyZWF0ZShncmFwaGljc0xheWVyRmFjdG9yeSgpLCAqdGhpcyk7Ci0jaWYgRU5BQkxFKFRS
RUVfREVCVUdHSU5HKQotICAgICAgICBtX2xheWVyRm9yQm90dG9tT3ZlcmhhbmdBcmVhLT5zZXRO
YW1lKCJib3R0b20gb3ZlcmhhbmcgYXJlYSIpOwotI2VuZGlmCisgICAgICAgIG1fbGF5ZXJGb3JC
b3R0b21PdmVyaGFuZ0FyZWEtPnNldE5hbWUoImJvdHRvbSBvdmVyaGFuZyIpOwogICAgICAgICBt
X3Njcm9sbExheWVyLT5hZGRDaGlsZEJlbG93KG1fbGF5ZXJGb3JCb3R0b21PdmVyaGFuZ0FyZWEu
Z2V0KCksIG1fcm9vdENvbnRlbnRMYXllci5nZXQoKSk7CiAgICAgfQogCkBAIC0zMTMwLDkgKzMx
MjYsNyBAQCBHcmFwaGljc0xheWVyKiBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnVwZGF0ZUxheWVy
Rm9ySGVhZGVyKGJvb2wgd2FudHNMYXllcikKIAogICAgIGlmICghbV9sYXllckZvckhlYWRlcikg
ewogICAgICAgICBtX2xheWVyRm9ySGVhZGVyID0gR3JhcGhpY3NMYXllcjo6Y3JlYXRlKGdyYXBo
aWNzTGF5ZXJGYWN0b3J5KCksICp0aGlzKTsKLSNpZiBFTkFCTEUoVFJFRV9ERUJVR0dJTkcpCiAg
ICAgICAgIG1fbGF5ZXJGb3JIZWFkZXItPnNldE5hbWUoImhlYWRlciIpOwotI2VuZGlmCiAgICAg
ICAgIG1fc2Nyb2xsTGF5ZXItPmFkZENoaWxkQWJvdmUobV9sYXllckZvckhlYWRlci5nZXQoKSwg
bV9yb290Q29udGVudExheWVyLmdldCgpKTsKICAgICAgICAgbV9yZW5kZXJWaWV3LmZyYW1lVmll
dygpLmFkZFBhaW50UGVuZGluZ01pbGVzdG9uZXMoRGlkRmlyc3RGbHVzaEZvckhlYWRlckxheWVy
KTsKICAgICB9CkBAIC0zMTcxLDkgKzMxNjUsNyBAQCBHcmFwaGljc0xheWVyKiBSZW5kZXJMYXll
ckNvbXBvc2l0b3I6OnVwZGF0ZUxheWVyRm9yRm9vdGVyKGJvb2wgd2FudHNMYXllcikKIAogICAg
IGlmICghbV9sYXllckZvckZvb3RlcikgewogICAgICAgICBtX2xheWVyRm9yRm9vdGVyID0gR3Jh
cGhpY3NMYXllcjo6Y3JlYXRlKGdyYXBoaWNzTGF5ZXJGYWN0b3J5KCksICp0aGlzKTsKLSNpZiBF
TkFCTEUoVFJFRV9ERUJVR0dJTkcpCiAgICAgICAgIG1fbGF5ZXJGb3JGb290ZXItPnNldE5hbWUo
ImZvb3RlciIpOwotI2VuZGlmCiAgICAgICAgIG1fc2Nyb2xsTGF5ZXItPmFkZENoaWxkQWJvdmUo
bV9sYXllckZvckZvb3Rlci5nZXQoKSwgbV9yb290Q29udGVudExheWVyLmdldCgpKTsKICAgICB9
CiAKQEAgLTMyNzgsOSArMzI3MCw3IEBAIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjp1cGRh
dGVPdmVyZmxvd0NvbnRyb2xzTGF5ZXJzKCkKICAgICBpZiAocmVxdWlyZXNPdmVyaGFuZ0FyZWFz
TGF5ZXIoKSkgewogICAgICAgICBpZiAoIW1fbGF5ZXJGb3JPdmVyaGFuZ0FyZWFzKSB7CiAgICAg
ICAgICAgICBtX2xheWVyRm9yT3ZlcmhhbmdBcmVhcyA9IEdyYXBoaWNzTGF5ZXI6OmNyZWF0ZShn
cmFwaGljc0xheWVyRmFjdG9yeSgpLCAqdGhpcyk7Ci0jaWYgRU5BQkxFKFRSRUVfREVCVUdHSU5H
KQogICAgICAgICAgICAgbV9sYXllckZvck92ZXJoYW5nQXJlYXMtPnNldE5hbWUoIm92ZXJoYW5n
IGFyZWFzIik7Ci0jZW5kaWYKICAgICAgICAgICAgIG1fbGF5ZXJGb3JPdmVyaGFuZ0FyZWFzLT5z
ZXREcmF3c0NvbnRlbnQoZmFsc2UpOwogCiAgICAgICAgICAgICBmbG9hdCB0b3BDb250ZW50SW5z
ZXQgPSBtX3JlbmRlclZpZXcuZnJhbWVWaWV3KCkudG9wQ29udGVudEluc2V0KCk7CkBAIC0zMzA3
LDkgKzMyOTcsNyBAQCB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6dXBkYXRlT3ZlcmZsb3dD
b250cm9sc0xheWVycygpCiAgICAgaWYgKHJlcXVpcmVzQ29udGVudFNoYWRvd0xheWVyKCkpIHsK
ICAgICAgICAgaWYgKCFtX2NvbnRlbnRTaGFkb3dMYXllcikgewogICAgICAgICAgICAgbV9jb250
ZW50U2hhZG93TGF5ZXIgPSBHcmFwaGljc0xheWVyOjpjcmVhdGUoZ3JhcGhpY3NMYXllckZhY3Rv
cnkoKSwgKnRoaXMpOwotI2lmIEVOQUJMRShUUkVFX0RFQlVHR0lORykKICAgICAgICAgICAgIG1f
Y29udGVudFNoYWRvd0xheWVyLT5zZXROYW1lKCJjb250ZW50IHNoYWRvdyIpOwotI2VuZGlmCiAg
ICAgICAgICAgICBtX2NvbnRlbnRTaGFkb3dMYXllci0+c2V0U2l6ZShtX3Jvb3RDb250ZW50TGF5
ZXItPnNpemUoKSk7CiAgICAgICAgICAgICBtX2NvbnRlbnRTaGFkb3dMYXllci0+c2V0UG9zaXRp
b24obV9yb290Q29udGVudExheWVyLT5wb3NpdGlvbigpKTsKICAgICAgICAgICAgIG1fY29udGVu
dFNoYWRvd0xheWVyLT5zZXRBbmNob3JQb2ludChGbG9hdFBvaW50M0QoKSk7CkBAIC0zMzI3LDEw
ICszMzE1LDcgQEAgdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnVwZGF0ZU92ZXJmbG93Q29u
dHJvbHNMYXllcnMoKQogICAgICAgICBpZiAoIW1fbGF5ZXJGb3JIb3Jpem9udGFsU2Nyb2xsYmFy
KSB7CiAgICAgICAgICAgICBtX2xheWVyRm9ySG9yaXpvbnRhbFNjcm9sbGJhciA9IEdyYXBoaWNz
TGF5ZXI6OmNyZWF0ZShncmFwaGljc0xheWVyRmFjdG9yeSgpLCAqdGhpcyk7CiAgICAgICAgICAg
ICBtX2xheWVyRm9ySG9yaXpvbnRhbFNjcm9sbGJhci0+c2V0U2hvd0RlYnVnQm9yZGVyKG1fc2hv
d0RlYnVnQm9yZGVycyk7Ci0jaWYgRU5BQkxFKFRSRUVfREVCVUdHSU5HKQogICAgICAgICAgICAg
bV9sYXllckZvckhvcml6b250YWxTY3JvbGxiYXItPnNldE5hbWUoImhvcml6b250YWwgc2Nyb2xs
YmFyIGNvbnRhaW5lciIpOwotCi0jZW5kaWYKICNpZiBQTEFURk9STShDT0NPQSkgJiYgVVNFKENB
KQogICAgICAgICAgICAgbV9sYXllckZvckhvcml6b250YWxTY3JvbGxiYXItPnNldEFjY2VsZXJh
dGVzRHJhd2luZyhhY2NlbGVyYXRlZERyYXdpbmdFbmFibGVkKCkpOwogI2VuZGlmCkBAIC0zMzUx
LDkgKzMzMzYsNyBAQCB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6dXBkYXRlT3ZlcmZsb3dD
b250cm9sc0xheWVycygpCiAgICAgICAgIGlmICghbV9sYXllckZvclZlcnRpY2FsU2Nyb2xsYmFy
KSB7CiAgICAgICAgICAgICBtX2xheWVyRm9yVmVydGljYWxTY3JvbGxiYXIgPSBHcmFwaGljc0xh
eWVyOjpjcmVhdGUoZ3JhcGhpY3NMYXllckZhY3RvcnkoKSwgKnRoaXMpOwogICAgICAgICAgICAg
bV9sYXllckZvclZlcnRpY2FsU2Nyb2xsYmFyLT5zZXRTaG93RGVidWdCb3JkZXIobV9zaG93RGVi
dWdCb3JkZXJzKTsKLSNpZiBFTkFCTEUoVFJFRV9ERUJVR0dJTkcpCiAgICAgICAgICAgICBtX2xh
eWVyRm9yVmVydGljYWxTY3JvbGxiYXItPnNldE5hbWUoInZlcnRpY2FsIHNjcm9sbGJhciBjb250
YWluZXIiKTsKLSNlbmRpZgogI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBVU0UoQ0EpCiAgICAgICAg
ICAgICBtX2xheWVyRm9yVmVydGljYWxTY3JvbGxiYXItPnNldEFjY2VsZXJhdGVzRHJhd2luZyhh
Y2NlbGVyYXRlZERyYXdpbmdFbmFibGVkKCkpOwogI2VuZGlmCkBAIC0zMzc0LDkgKzMzNTcsNyBA
QCB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6dXBkYXRlT3ZlcmZsb3dDb250cm9sc0xheWVy
cygpCiAgICAgICAgIGlmICghbV9sYXllckZvclNjcm9sbENvcm5lcikgewogICAgICAgICAgICAg
bV9sYXllckZvclNjcm9sbENvcm5lciA9IEdyYXBoaWNzTGF5ZXI6OmNyZWF0ZShncmFwaGljc0xh
eWVyRmFjdG9yeSgpLCAqdGhpcyk7CiAgICAgICAgICAgICBtX2xheWVyRm9yU2Nyb2xsQ29ybmVy
LT5zZXRTaG93RGVidWdCb3JkZXIobV9zaG93RGVidWdCb3JkZXJzKTsKLSNpZm5kZWYgTkRFQlVH
CiAgICAgICAgICAgICBtX2xheWVyRm9yU2Nyb2xsQ29ybmVyLT5zZXROYW1lKCJzY3JvbGwgY29y
bmVyIik7Ci0jZW5kaWYKICNpZiBQTEFURk9STShDT0NPQSkgJiYgVVNFKENBKQogICAgICAgICAg
ICAgbV9sYXllckZvclNjcm9sbENvcm5lci0+c2V0QWNjZWxlcmF0ZXNEcmF3aW5nKGFjY2VsZXJh
dGVkRHJhd2luZ0VuYWJsZWQoKSk7CiAjZW5kaWYKQEAgLTMzOTgsOSArMzM3OSw3IEBAIHZvaWQg
UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjplbnN1cmVSb290TGF5ZXIoKQogCiAgICAgaWYgKCFtX3Jv
b3RDb250ZW50TGF5ZXIpIHsKICAgICAgICAgbV9yb290Q29udGVudExheWVyID0gR3JhcGhpY3NM
YXllcjo6Y3JlYXRlKGdyYXBoaWNzTGF5ZXJGYWN0b3J5KCksICp0aGlzKTsKLSNpZiBFTkFCTEUo
VFJFRV9ERUJVR0dJTkcpCiAgICAgICAgIG1fcm9vdENvbnRlbnRMYXllci0+c2V0TmFtZSgiY29u
dGVudCByb290Iik7Ci0jZW5kaWYKICAgICAgICAgSW50UmVjdCBvdmVyZmxvd1JlY3QgPSBzbmFw
cGVkSW50UmVjdChtX3JlbmRlclZpZXcubGF5b3V0T3ZlcmZsb3dSZWN0KCkpOwogICAgICAgICBt
X3Jvb3RDb250ZW50TGF5ZXItPnNldFNpemUoRmxvYXRTaXplKG92ZXJmbG93UmVjdC5tYXhYKCks
IG92ZXJmbG93UmVjdC5tYXhZKCkpKTsKICAgICAgICAgbV9yb290Q29udGVudExheWVyLT5zZXRQ
b3NpdGlvbihGbG9hdFBvaW50KCkpOwpAQCAtMzQyMywyMSArMzQwMiwxNiBAQCB2b2lkIFJlbmRl
ckxheWVyQ29tcG9zaXRvcjo6ZW5zdXJlUm9vdExheWVyKCkKIAogICAgICAgICAgICAgLy8gQ3Jl
YXRlIGEgbGF5ZXIgdG8gaG9zdCB0aGUgY2xpcHBpbmcgbGF5ZXIgYW5kIHRoZSBvdmVyZmxvdyBj
b250cm9scyBsYXllcnMuCiAgICAgICAgICAgICBtX292ZXJmbG93Q29udHJvbHNIb3N0TGF5ZXIg
PSBHcmFwaGljc0xheWVyOjpjcmVhdGUoZ3JhcGhpY3NMYXllckZhY3RvcnkoKSwgKnRoaXMpOwot
I2lmIEVOQUJMRShUUkVFX0RFQlVHR0lORykKICAgICAgICAgICAgIG1fb3ZlcmZsb3dDb250cm9s
c0hvc3RMYXllci0+c2V0TmFtZSgib3ZlcmZsb3cgY29udHJvbHMgaG9zdCIpOwotI2VuZGlmCiAK
ICAgICAgICAgICAgIC8vIENyZWF0ZSBhIGNsaXBwaW5nIGxheWVyIGlmIHRoaXMgaXMgYW4gaWZy
YW1lCiAgICAgICAgICAgICBtX2NsaXBMYXllciA9IEdyYXBoaWNzTGF5ZXI6OmNyZWF0ZShncmFw
aGljc0xheWVyRmFjdG9yeSgpLCAqdGhpcyk7Ci0jaWYgRU5BQkxFKFRSRUVfREVCVUdHSU5HKQog
ICAgICAgICAgICAgbV9jbGlwTGF5ZXItPnNldE5hbWUoImZyYW1lIGNsaXBwaW5nIik7Ci0jZW5k
aWYKICAgICAgICAgICAgIG1fY2xpcExheWVyLT5zZXRNYXNrc1RvQm91bmRzKHRydWUpOwogICAg
ICAgICAgICAgCiAgICAgICAgICAgICBtX3Njcm9sbExheWVyID0gR3JhcGhpY3NMYXllcjo6Y3Jl
YXRlKGdyYXBoaWNzTGF5ZXJGYWN0b3J5KCksICp0aGlzKTsKLSNpZiBFTkFCTEUoVFJFRV9ERUJV
R0dJTkcpCiAgICAgICAgICAgICBtX3Njcm9sbExheWVyLT5zZXROYW1lKCJmcmFtZSBzY3JvbGxp
bmciKTsKLSNlbmRpZgorCiAgICAgICAgICAgICAvLyBIb29rIHRoZW0gdXAKICAgICAgICAgICAg
IG1fb3ZlcmZsb3dDb250cm9sc0hvc3RMYXllci0+YWRkQ2hpbGQobV9jbGlwTGF5ZXIuZ2V0KCkp
OwogICAgICAgICAgICAgbV9jbGlwTGF5ZXItPmFkZENoaWxkKG1fc2Nyb2xsTGF5ZXIuZ2V0KCkp
Owo=
</data>
<flag name="review"
          id="318540"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>