<?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>180067</bug_id>
          
          <creation_ts>2017-11-27 22:23:15 -0800</creation_ts>
          <short_desc>Modernize GraphicsLayer dumping</short_desc>
          <delta_ts>2017-11-28 09:40:45 -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>InRadar</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>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1375259</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-11-27 22:23:15 -0800</bug_when>
    <thetext>Modernize GraphicsLayer dumping</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375260</commentid>
    <comment_count>1</comment_count>
      <attachid>327729</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-11-27 22:24:32 -0800</bug_when>
    <thetext>Created attachment 327729
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375368</commentid>
    <comment_count>2</comment_count>
      <attachid>327729</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-11-28 09:39:21 -0800</bug_when>
    <thetext>Comment on attachment 327729
Patch

Clearing flags on attachment: 327729

Committed r225220: &lt;https://trac.webkit.org/changeset/225220&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375369</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-11-28 09:39:22 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375371</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-11-28 09:40:45 -0800</bug_when>
    <thetext>&lt;rdar://problem/35724492&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>327729</attachid>
            <date>2017-11-27 22:24:32 -0800</date>
            <delta_ts>2017-11-28 09:39:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-180067-20171127222431.patch</filename>
            <type>text/plain</type>
            <size>27753</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1MjA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGJiMGU0MDYwNTlhYTk2MjcxOGUwMWI3
OTI4YTQ2YmZhM2QwNDE1NmYuLmQ0N2FlNjg5YmVhMjI3NjBkZTAwNzdjY2YxM2U2ZTU2NGE1Yzk2
MjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTctMTEtMjcgIFNpbW9uIEZyYXNlciAgPHNpbW9u
LmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgTW9kZXJuaXplIEdyYXBoaWNzTGF5ZXIgZHVt
cGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgw
MDY3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAg
ICAgICBFeHBvc2UgdGhlIGN1cnJlbnQgaW5kZW50LgorCisgICAgICAgICogd3RmL3RleHQvVGV4
dFN0cmVhbS5oOgorICAgICAgICAoV1RGOjpUZXh0U3RyZWFtOjppbmRlbnQgY29uc3QpOgorCiAy
MDE3LTExLTI3ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgTW92
ZSBjYWxsT25NYWluVGhyZWFkQW5kV2FpdCgpIGZyb20gU29ja2V0U3RyZWFtSGFuZGxlSW1wbENG
TmV0LmNwcCB0byBNYWluVGhyZWFkLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkN2I3ZWQ1MTliMWU4N2U2MWQ1
NTNiOGEwNmU0NTI5NjBhMDI4ZjgzLi5mZTg2NmU1NDIzMTE4ZDI4NzE5ZTc5MDlhNjY4NjU2NDQz
ZWNjNDBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTctMTEtMjcgIFNpbW9uIEZy
YXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgTW9kZXJuaXplIEdyYXBo
aWNzTGF5ZXIgZHVtcGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTgwMDY3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVXNlIHRoZSBpbmRlbnQgc3RyZWFtIG1hbmlwdWxhdG9yLCBhbmQgVGV4dFN0cmVh
bSdzIGJ1aWx0LWluIGluZGVudCBhbW91bnQKKyAgICAgICAgZm9yIEdyYXBoaWNzTGF5ZXIgZHVt
cGluZy4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllcjo6ZHVtcExheWVyIGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OmR1bXBDaGlsZHJlbik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xh
eWVyOjpkdW1wUHJvcGVydGllcyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xh
eWVyOjpsYXllclRyZWVBc1RleHQgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L0dyYXBoaWNzTGF5ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OmR1bXBB
ZGRpdGlvbmFsUHJvcGVydGllcyBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2EvR3JhcGhpY3NMYXllckNBLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmR1bXBJbm5lckxheWVy
KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJDQTo6ZHVtcEFkZGl0aW9uYWxQcm9w
ZXJ0aWVzIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGljc0xh
eWVyQ0EuaDoKKwogMjAxNy0xMS0yNyAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxl
LmNvbT4KIAogICAgICAgICBXZWIgQ29udGVudCBwcm9jZXNzIGNyYXNoZXMgd2hlbiBkcmFnZ2lu
ZyBhIGxpbmsgaW4gcmVjb3ZlcnkgbW9kZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvdGV4
dC9UZXh0U3RyZWFtLmggYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1RleHRTdHJlYW0uaAppbmRleCAz
NTlmYmEyNDhjMmE0N2ZjNGIzM2FiZDQzMzFiZTU5MzYyZTk4YmQ2Li4yNGEzNzBjMTI5YjNjZWU4
YmRhNDhjMzQ1NDk1NTM3NDZhMDg0NGQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0
L1RleHRTdHJlYW0uaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1RleHRTdHJlYW0uaApAQCAt
OTAsNiArOTAsNyBAQCBwdWJsaWM6CiAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgZW5kR3Jv
dXAoKTsKICAgICBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBuZXh0TGluZSgpOyAvLyBPdXRwdXQg
bmV3bGluZSBhbmQgaW5kZW50LgogCisgICAgaW50IGluZGVudCgpIGNvbnN0IHsgcmV0dXJuIG1f
aW5kZW50OyB9CiAgICAgdm9pZCBpbmNyZWFzZUluZGVudChpbnQgYW1vdW50ID0gMSkgeyBtX2lu
ZGVudCArPSBhbW91bnQ7IH0KICAgICB2b2lkIGRlY3JlYXNlSW5kZW50KGludCBhbW91bnQgPSAx
KSB7IG1faW5kZW50IC09IGFtb3VudDsgQVNTRVJUKG1faW5kZW50ID49IDApOyB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5jcHAKaW5k
ZXggZjUzZjMzZGIzYjc4M2I4NTdlM2MxOTkzNTNjZTAyNTc4ZDlkYWU5Zi4uOGUxOGMyN2UyODNm
YzNjMjUyZGFhMmU5NjZiYjgyZDFlNDBkNmQ1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5jcHAKQEAgLTY4NiwxMCArNjg2LDkgQEAg
dm9pZCBHcmFwaGljc0xheWVyOjp0cmF2ZXJzZShHcmFwaGljc0xheWVyJiBsYXllciwgY29uc3Qg
V1RGOjpGdW5jdGlvbjx2b2lkIChHcmEKICAgICAgICAgdHJhdmVyc2UoKm1hc2tMYXllciwgdHJh
dmVyc2FsRnVuYyk7CiB9CiAKLXZvaWQgR3JhcGhpY3NMYXllcjo6ZHVtcExheWVyKFRleHRTdHJl
YW0mIHRzLCBpbnQgaW5kZW50LCBMYXllclRyZWVBc1RleHRCZWhhdmlvciBiZWhhdmlvcikgY29u
c3QKK3ZvaWQgR3JhcGhpY3NMYXllcjo6ZHVtcExheWVyKFRleHRTdHJlYW0mIHRzLCBMYXllclRy
ZWVBc1RleHRCZWhhdmlvciBiZWhhdmlvcikgY29uc3QKIHsKLSAgICB3cml0ZUluZGVudCh0cywg
aW5kZW50KTsKLSAgICB0cyA8PCAiKCIgPDwgIkdyYXBoaWNzTGF5ZXIiOworICAgIHRzIDw8IGlu
ZGVudCA8PCAiKCIgPDwgIkdyYXBoaWNzTGF5ZXIiOwogCiAgICAgaWYgKGJlaGF2aW9yICYgTGF5
ZXJUcmVlQXNUZXh0RGVidWcpIHsKICAgICAgICAgdHMgPDwgIiAiIDw8IHN0YXRpY19jYXN0PHZv
aWQqPihjb25zdF9jYXN0PEdyYXBoaWNzTGF5ZXIqPih0aGlzKSk7CkBAIC02OTcsMTI4ICs2OTYs
OTMgQEAgdm9pZCBHcmFwaGljc0xheWVyOjpkdW1wTGF5ZXIoVGV4dFN0cmVhbSYgdHMsIGludCBp
bmRlbnQsIExheWVyVHJlZUFzVGV4dEJlaGF2aW8KICAgICB9CiAKICAgICB0cyA8PCAiXG4iOwot
ICAgIGR1bXBQcm9wZXJ0aWVzKHRzLCBpbmRlbnQsIGJlaGF2aW9yKTsKLSAgICB3cml0ZUluZGVu
dCh0cywgaW5kZW50KTsKLSAgICB0cyA8PCAiKVxuIjsKKyAgICBkdW1wUHJvcGVydGllcyh0cywg
YmVoYXZpb3IpOworICAgIHRzIDw8IGluZGVudCA8PCAiKVxuIjsKIH0KIAotc3RhdGljIHZvaWQg
ZHVtcENoaWxkcmVuKFRleHRTdHJlYW0mIHRzLCBjb25zdCBWZWN0b3I8R3JhcGhpY3NMYXllcio+
JiBjaGlsZHJlbiwgdW5zaWduZWQmIHRvdGFsQ2hpbGRDb3VudCwgaW50IGluZGVudCwgTGF5ZXJU
cmVlQXNUZXh0QmVoYXZpb3IgYmVoYXZpb3IpCitzdGF0aWMgdm9pZCBkdW1wQ2hpbGRyZW4oVGV4
dFN0cmVhbSYgdHMsIGNvbnN0IFZlY3RvcjxHcmFwaGljc0xheWVyKj4mIGNoaWxkcmVuLCB1bnNp
Z25lZCYgdG90YWxDaGlsZENvdW50LCBMYXllclRyZWVBc1RleHRCZWhhdmlvciBiZWhhdmlvcikK
IHsKICAgICB0b3RhbENoaWxkQ291bnQgKz0gY2hpbGRyZW4uc2l6ZSgpOwogICAgIGZvciAoYXV0
byogY2hpbGQgOiBjaGlsZHJlbikgewogICAgICAgICBpZiAoKGJlaGF2aW9yICYgTGF5ZXJUcmVl
QXNUZXh0RGVidWcpIHx8ICFjaGlsZC0+Y2xpZW50KCkuc2hvdWxkU2tpcExheWVySW5EdW1wKGNo
aWxkLCBiZWhhdmlvcikpIHsKLSAgICAgICAgICAgIGNoaWxkLT5kdW1wTGF5ZXIodHMsIGluZGVu
dCArIDIsIGJlaGF2aW9yKTsKKyAgICAgICAgICAgIFRleHRTdHJlYW06OkluZGVudFNjb3BlIGlu
ZGVudFNjb3BlKHRzKTsKKyAgICAgICAgICAgIGNoaWxkLT5kdW1wTGF5ZXIodHMsIGJlaGF2aW9y
KTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAKICAgICAgICAgdG90YWxDaGls
ZENvdW50LS07Ci0gICAgICAgIGR1bXBDaGlsZHJlbih0cywgY2hpbGQtPmNoaWxkcmVuKCksIHRv
dGFsQ2hpbGRDb3VudCwgaW5kZW50LCBiZWhhdmlvcik7CisgICAgICAgIGR1bXBDaGlsZHJlbih0
cywgY2hpbGQtPmNoaWxkcmVuKCksIHRvdGFsQ2hpbGRDb3VudCwgYmVoYXZpb3IpOwogICAgIH0K
IH0KIAotdm9pZCBHcmFwaGljc0xheWVyOjpkdW1wUHJvcGVydGllcyhUZXh0U3RyZWFtJiB0cywg
aW50IGluZGVudCwgTGF5ZXJUcmVlQXNUZXh0QmVoYXZpb3IgYmVoYXZpb3IpIGNvbnN0Cit2b2lk
IEdyYXBoaWNzTGF5ZXI6OmR1bXBQcm9wZXJ0aWVzKFRleHRTdHJlYW0mIHRzLCBMYXllclRyZWVB
c1RleHRCZWhhdmlvciBiZWhhdmlvcikgY29uc3QKIHsKLSAgICBpZiAobV9wb3NpdGlvbiAhPSBG
bG9hdFBvaW50KCkpIHsKLSAgICAgICAgd3JpdGVJbmRlbnQodHMsIGluZGVudCArIDEpOwotICAg
ICAgICB0cyA8PCAiKHBvc2l0aW9uICIgPDwgbV9wb3NpdGlvbi54KCkgPDwgIiAiIDw8IG1fcG9z
aXRpb24ueSgpIDw8ICIpXG4iOwotICAgIH0KKyAgICBUZXh0U3RyZWFtOjpJbmRlbnRTY29wZSBp
bmRlbnRTY29wZSh0cyk7CisgICAgaWYgKG1fcG9zaXRpb24gIT0gRmxvYXRQb2ludCgpKQorICAg
ICAgICB0cyA8PCBpbmRlbnQgPDwgIihwb3NpdGlvbiAiIDw8IG1fcG9zaXRpb24ueCgpIDw8ICIg
IiA8PCBtX3Bvc2l0aW9uLnkoKSA8PCAiKVxuIjsKIAotICAgIGlmIChtX2FwcHJveGltYXRlUG9z
aXRpb24pIHsKLSAgICAgICAgd3JpdGVJbmRlbnQodHMsIGluZGVudCArIDEpOwotICAgICAgICB0
cyA8PCAiKGFwcHJveGltYXRlIHBvc2l0aW9uICIgPDwgbV9hcHByb3hpbWF0ZVBvc2l0aW9uLnZh
bHVlKCkueCgpIDw8ICIgIiA8PCBtX2FwcHJveGltYXRlUG9zaXRpb24udmFsdWUoKS55KCkgPDwg
IilcbiI7Ci0gICAgfQorICAgIGlmIChtX2FwcHJveGltYXRlUG9zaXRpb24pCisgICAgICAgIHRz
IDw8IGluZGVudCA8PCAiKGFwcHJveGltYXRlIHBvc2l0aW9uICIgPDwgbV9hcHByb3hpbWF0ZVBv
c2l0aW9uLnZhbHVlKCkueCgpIDw8ICIgIiA8PCBtX2FwcHJveGltYXRlUG9zaXRpb24udmFsdWUo
KS55KCkgPDwgIilcbiI7CiAKLSAgICBpZiAobV9ib3VuZHNPcmlnaW4gIT0gRmxvYXRQb2ludCgp
KSB7Ci0gICAgICAgIHdyaXRlSW5kZW50KHRzLCBpbmRlbnQgKyAxKTsKLSAgICAgICAgdHMgPDwg
Iihib3VuZHMgb3JpZ2luICIgPDwgbV9ib3VuZHNPcmlnaW4ueCgpIDw8ICIgIiA8PCBtX2JvdW5k
c09yaWdpbi55KCkgPDwgIilcbiI7Ci0gICAgfQorICAgIGlmIChtX2JvdW5kc09yaWdpbiAhPSBG
bG9hdFBvaW50KCkpCisgICAgICAgIHRzIDw8IGluZGVudCA8PCAiKGJvdW5kcyBvcmlnaW4gIiA8
PCBtX2JvdW5kc09yaWdpbi54KCkgPDwgIiAiIDw8IG1fYm91bmRzT3JpZ2luLnkoKSA8PCAiKVxu
IjsKIAogICAgIGlmIChtX2FuY2hvclBvaW50ICE9IEZsb2F0UG9pbnQzRCgwLjVmLCAwLjVmLCAw
KSkgewotICAgICAgICB3cml0ZUluZGVudCh0cywgaW5kZW50ICsgMSk7Ci0gICAgICAgIHRzIDw8
ICIoYW5jaG9yICIgPDwgbV9hbmNob3JQb2ludC54KCkgPDwgIiAiIDw8IG1fYW5jaG9yUG9pbnQu
eSgpOworICAgICAgICB0cyA8PCBpbmRlbnQgPDwgIihhbmNob3IgIiA8PCBtX2FuY2hvclBvaW50
LngoKSA8PCAiICIgPDwgbV9hbmNob3JQb2ludC55KCk7CiAgICAgICAgIGlmIChtX2FuY2hvclBv
aW50LnooKSkKICAgICAgICAgICAgIHRzIDw8ICIgIiA8PCBtX2FuY2hvclBvaW50LnooKTsKICAg
ICAgICAgdHMgPDwgIilcbiI7CiAgICAgfQogCi0gICAgaWYgKG1fc2l6ZSAhPSBJbnRTaXplKCkp
IHsKLSAgICAgICAgd3JpdGVJbmRlbnQodHMsIGluZGVudCArIDEpOwotICAgICAgICB0cyA8PCAi
KGJvdW5kcyAiIDw8IG1fc2l6ZS53aWR0aCgpIDw8ICIgIiA8PCBtX3NpemUuaGVpZ2h0KCkgPDwg
IilcbiI7Ci0gICAgfQorICAgIGlmIChtX3NpemUgIT0gSW50U2l6ZSgpKQorICAgICAgICB0cyA8
PCBpbmRlbnQgPDwgIihib3VuZHMgIiA8PCBtX3NpemUud2lkdGgoKSA8PCAiICIgPDwgbV9zaXpl
LmhlaWdodCgpIDw8ICIpXG4iOwogCi0gICAgaWYgKG1fb3BhY2l0eSAhPSAxKSB7Ci0gICAgICAg
IHdyaXRlSW5kZW50KHRzLCBpbmRlbnQgKyAxKTsKLSAgICAgICAgdHMgPDwgIihvcGFjaXR5ICIg
PDwgbV9vcGFjaXR5IDw8ICIpXG4iOwotICAgIH0KKyAgICBpZiAobV9vcGFjaXR5ICE9IDEpCisg
ICAgICAgIHRzIDw8IGluZGVudCA8PCAiKG9wYWNpdHkgIiA8PCBtX29wYWNpdHkgPDwgIilcbiI7
CiAKICNpZiBFTkFCTEUoQ1NTX0NPTVBPU0lUSU5HKQotICAgIGlmIChtX2JsZW5kTW9kZSAhPSBC
bGVuZE1vZGVOb3JtYWwpIHsKLSAgICAgICAgd3JpdGVJbmRlbnQodHMsIGluZGVudCArIDEpOwot
ICAgICAgICB0cyA8PCAiKGJsZW5kTW9kZSAiIDw8IGNvbXBvc2l0ZU9wZXJhdG9yTmFtZShDb21w
b3NpdGVTb3VyY2VPdmVyLCBtX2JsZW5kTW9kZSkgPDwgIilcbiI7Ci0gICAgfQorICAgIGlmICht
X2JsZW5kTW9kZSAhPSBCbGVuZE1vZGVOb3JtYWwpCisgICAgICAgIHRzIDw8IGluZGVudCA8PCAi
KGJsZW5kTW9kZSAiIDw8IGNvbXBvc2l0ZU9wZXJhdG9yTmFtZShDb21wb3NpdGVTb3VyY2VPdmVy
LCBtX2JsZW5kTW9kZSkgPDwgIilcbiI7CiAjZW5kaWYKIAotICAgIGlmICh0eXBlKCkgPT0gVHlw
ZTo6Tm9ybWFsICYmIHRpbGVkQmFja2luZygpKSB7Ci0gICAgICAgIHdyaXRlSW5kZW50KHRzLCBp
bmRlbnQgKyAxKTsKLSAgICAgICAgdHMgPDwgIih1c2luZ1RpbGVkTGF5ZXIgMSlcbiI7Ci0gICAg
fQorICAgIGlmICh0eXBlKCkgPT0gVHlwZTo6Tm9ybWFsICYmIHRpbGVkQmFja2luZygpKQorICAg
ICAgICB0cyA8PCBpbmRlbnQgPDwgIih1c2luZ1RpbGVkTGF5ZXIgMSlcbiI7CiAKICAgICBib29s
IG5lZWRzSU9TRHVtcFJlbmRlclRyZWVNYWluRnJhbWVSZW5kZXJWaWV3TGF5ZXJJc0Fsd2F5c09w
YXF1ZUhhY2sgPSBtX2NsaWVudC5uZWVkc0lPU0R1bXBSZW5kZXJUcmVlTWFpbkZyYW1lUmVuZGVy
Vmlld0xheWVySXNBbHdheXNPcGFxdWVIYWNrKCp0aGlzKTsKLSAgICBpZiAobV9jb250ZW50c09w
YXF1ZSB8fCBuZWVkc0lPU0R1bXBSZW5kZXJUcmVlTWFpbkZyYW1lUmVuZGVyVmlld0xheWVySXNB
bHdheXNPcGFxdWVIYWNrKSB7Ci0gICAgICAgIHdyaXRlSW5kZW50KHRzLCBpbmRlbnQgKyAxKTsK
LSAgICAgICAgdHMgPDwgIihjb250ZW50c09wYXF1ZSAiIDw8IChtX2NvbnRlbnRzT3BhcXVlIHx8
IG5lZWRzSU9TRHVtcFJlbmRlclRyZWVNYWluRnJhbWVSZW5kZXJWaWV3TGF5ZXJJc0Fsd2F5c09w
YXF1ZUhhY2spIDw8ICIpXG4iOwotICAgIH0KKyAgICBpZiAobV9jb250ZW50c09wYXF1ZSB8fCBu
ZWVkc0lPU0R1bXBSZW5kZXJUcmVlTWFpbkZyYW1lUmVuZGVyVmlld0xheWVySXNBbHdheXNPcGFx
dWVIYWNrKQorICAgICAgICB0cyA8PCBpbmRlbnQgPDwgIihjb250ZW50c09wYXF1ZSAiIDw8ICht
X2NvbnRlbnRzT3BhcXVlIHx8IG5lZWRzSU9TRHVtcFJlbmRlclRyZWVNYWluRnJhbWVSZW5kZXJW
aWV3TGF5ZXJJc0Fsd2F5c09wYXF1ZUhhY2spIDw8ICIpXG4iOwogCi0gICAgaWYgKG1fc3VwcG9y
dHNTdWJwaXhlbEFudGlhbGlhc2VkVGV4dCkgewotICAgICAgICB3cml0ZUluZGVudCh0cywgaW5k
ZW50ICsgMSk7Ci0gICAgICAgIHRzIDw8ICIoc3VwcG9ydHMgc3VicGl4ZWwgYW50aWFsaWFzZWQg
dGV4dCAiIDw8IG1fc3VwcG9ydHNTdWJwaXhlbEFudGlhbGlhc2VkVGV4dCA8PCAiKVxuIjsKLSAg
ICB9CisgICAgaWYgKG1fc3VwcG9ydHNTdWJwaXhlbEFudGlhbGlhc2VkVGV4dCkKKyAgICAgICAg
dHMgPDwgaW5kZW50IDw8ICIoc3VwcG9ydHMgc3VicGl4ZWwgYW50aWFsaWFzZWQgdGV4dCAiIDw8
IG1fc3VwcG9ydHNTdWJwaXhlbEFudGlhbGlhc2VkVGV4dCA8PCAiKVxuIjsKIAotICAgIGlmICht
X3ByZXNlcnZlczNEKSB7Ci0gICAgICAgIHdyaXRlSW5kZW50KHRzLCBpbmRlbnQgKyAxKTsKLSAg
ICAgICAgdHMgPDwgIihwcmVzZXJ2ZXMzRCAiIDw8IG1fcHJlc2VydmVzM0QgPDwgIilcbiI7Ci0g
ICAgfQorICAgIGlmIChtX3ByZXNlcnZlczNEKQorICAgICAgICB0cyA8PCBpbmRlbnQgPDwgIihw
cmVzZXJ2ZXMzRCAiIDw8IG1fcHJlc2VydmVzM0QgPDwgIilcbiI7CiAKLSAgICBpZiAobV9kcmF3
c0NvbnRlbnQgJiYgbV9jbGllbnQuc2hvdWxkRHVtcFByb3BlcnR5Rm9yTGF5ZXIodGhpcywgImRy
YXdzQ29udGVudCIpKSB7Ci0gICAgICAgIHdyaXRlSW5kZW50KHRzLCBpbmRlbnQgKyAxKTsKLSAg
ICAgICAgdHMgPDwgIihkcmF3c0NvbnRlbnQgIiA8PCBtX2RyYXdzQ29udGVudCA8PCAiKVxuIjsK
LSAgICB9CisgICAgaWYgKG1fZHJhd3NDb250ZW50ICYmIG1fY2xpZW50LnNob3VsZER1bXBQcm9w
ZXJ0eUZvckxheWVyKHRoaXMsICJkcmF3c0NvbnRlbnQiKSkKKyAgICAgICAgdHMgPDwgaW5kZW50
IDw8ICIoZHJhd3NDb250ZW50ICIgPDwgbV9kcmF3c0NvbnRlbnQgPDwgIilcbiI7CiAKLSAgICBp
ZiAoIW1fY29udGVudHNWaXNpYmxlKSB7Ci0gICAgICAgIHdyaXRlSW5kZW50KHRzLCBpbmRlbnQg
KyAxKTsKLSAgICAgICAgdHMgPDwgIihjb250ZW50c1Zpc2libGUgIiA8PCBtX2NvbnRlbnRzVmlz
aWJsZSA8PCAiKVxuIjsKLSAgICB9CisgICAgaWYgKCFtX2NvbnRlbnRzVmlzaWJsZSkKKyAgICAg
ICAgdHMgPDwgaW5kZW50IDw8ICIoY29udGVudHNWaXNpYmxlICIgPDwgbV9jb250ZW50c1Zpc2li
bGUgPDwgIilcbiI7CiAKLSAgICBpZiAoIW1fYmFja2ZhY2VWaXNpYmlsaXR5KSB7Ci0gICAgICAg
IHdyaXRlSW5kZW50KHRzLCBpbmRlbnQgKyAxKTsKLSAgICAgICAgdHMgPDwgIihiYWNrZmFjZVZp
c2liaWxpdHkgIiA8PCAobV9iYWNrZmFjZVZpc2liaWxpdHkgPyAidmlzaWJsZSIgOiAiaGlkZGVu
IikgPDwgIilcbiI7Ci0gICAgfQorICAgIGlmICghbV9iYWNrZmFjZVZpc2liaWxpdHkpCisgICAg
ICAgIHRzIDw8IGluZGVudCA8PCAiKGJhY2tmYWNlVmlzaWJpbGl0eSAiIDw8IChtX2JhY2tmYWNl
VmlzaWJpbGl0eSA/ICJ2aXNpYmxlIiA6ICJoaWRkZW4iKSA8PCAiKVxuIjsKIAogICAgIGlmIChi
ZWhhdmlvciAmIExheWVyVHJlZUFzVGV4dERlYnVnKSB7Ci0gICAgICAgIHdyaXRlSW5kZW50KHRz
LCBpbmRlbnQgKyAxKTsKLSAgICAgICAgdHMgPDwgIihwcmltYXJ5LWxheWVyLWlkICIgPDwgcHJp
bWFyeUxheWVySUQoKSA8PCAiKVxuIjsKLSAgICAgICAgd3JpdGVJbmRlbnQodHMsIGluZGVudCAr
IDEpOwotICAgICAgICB0cyA8PCAiKGNsaWVudCAiIDw8IHN0YXRpY19jYXN0PHZvaWQqPigmbV9j
bGllbnQpIDw8ICIpXG4iOworICAgICAgICB0cyA8PCBpbmRlbnQgPDwgIihwcmltYXJ5LWxheWVy
LWlkICIgPDwgcHJpbWFyeUxheWVySUQoKSA8PCAiKVxuIjsKKyAgICAgICAgdHMgPDwgaW5kZW50
IDw8ICIoY2xpZW50ICIgPDwgc3RhdGljX2Nhc3Q8dm9pZCo+KCZtX2NsaWVudCkgPDwgIilcbiI7
CiAgICAgfQogCi0gICAgaWYgKG1fYmFja2dyb3VuZENvbG9yLmlzVmFsaWQoKSAmJiBtX2NsaWVu
dC5zaG91bGREdW1wUHJvcGVydHlGb3JMYXllcih0aGlzLCAiYmFja2dyb3VuZENvbG9yIikpIHsK
LSAgICAgICAgd3JpdGVJbmRlbnQodHMsIGluZGVudCArIDEpOwotICAgICAgICB0cyA8PCAiKGJh
Y2tncm91bmRDb2xvciAiIDw8IG1fYmFja2dyb3VuZENvbG9yLm5hbWVGb3JSZW5kZXJUcmVlQXNU
ZXh0KCkgPDwgIilcbiI7Ci0gICAgfQorICAgIGlmIChtX2JhY2tncm91bmRDb2xvci5pc1ZhbGlk
KCkgJiYgbV9jbGllbnQuc2hvdWxkRHVtcFByb3BlcnR5Rm9yTGF5ZXIodGhpcywgImJhY2tncm91
bmRDb2xvciIpKQorICAgICAgICB0cyA8PCBpbmRlbnQgPDwgIihiYWNrZ3JvdW5kQ29sb3IgIiA8
PCBtX2JhY2tncm91bmRDb2xvci5uYW1lRm9yUmVuZGVyVHJlZUFzVGV4dCgpIDw8ICIpXG4iOwog
Ci0gICAgaWYgKGJlaGF2aW9yICYgTGF5ZXJUcmVlQXNUZXh0SW5jbHVkZUFjY2VsZXJhdGVzRHJh
d2luZyAmJiBtX2FjY2VsZXJhdGVzRHJhd2luZykgewotICAgICAgICB3cml0ZUluZGVudCh0cywg
aW5kZW50ICsgMSk7Ci0gICAgICAgIHRzIDw8ICIoYWNjZWxlcmF0ZXNEcmF3aW5nICIgPDwgbV9h
Y2NlbGVyYXRlc0RyYXdpbmcgPDwgIilcbiI7Ci0gICAgfQorICAgIGlmIChiZWhhdmlvciAmIExh
eWVyVHJlZUFzVGV4dEluY2x1ZGVBY2NlbGVyYXRlc0RyYXdpbmcgJiYgbV9hY2NlbGVyYXRlc0Ry
YXdpbmcpCisgICAgICAgIHRzIDw8IGluZGVudCA8PCAiKGFjY2VsZXJhdGVzRHJhd2luZyAiIDw8
IG1fYWNjZWxlcmF0ZXNEcmF3aW5nIDw8ICIpXG4iOwogCi0gICAgaWYgKGJlaGF2aW9yICYgTGF5
ZXJUcmVlQXNUZXh0SW5jbHVkZUJhY2tpbmdTdG9yZUF0dGFjaGVkKSB7Ci0gICAgICAgIHdyaXRl
SW5kZW50KHRzLCBpbmRlbnQgKyAxKTsKLSAgICAgICAgdHMgPDwgIihiYWNraW5nU3RvcmVBdHRh
Y2hlZCAiIDw8IGJhY2tpbmdTdG9yZUF0dGFjaGVkKCkgPDwgIilcbiI7Ci0gICAgfQorICAgIGlm
IChiZWhhdmlvciAmIExheWVyVHJlZUFzVGV4dEluY2x1ZGVCYWNraW5nU3RvcmVBdHRhY2hlZCkK
KyAgICAgICAgdHMgPDwgaW5kZW50IDw8ICIoYmFja2luZ1N0b3JlQXR0YWNoZWQgIiA8PCBiYWNr
aW5nU3RvcmVBdHRhY2hlZCgpIDw8ICIpXG4iOwogCiAgICAgaWYgKCFtX3RyYW5zZm9ybS5pc0lk
ZW50aXR5KCkpIHsKLSAgICAgICAgd3JpdGVJbmRlbnQodHMsIGluZGVudCArIDEpOwotICAgICAg
ICB0cyA8PCAiKHRyYW5zZm9ybSAiOworICAgICAgICB0cyA8PCBpbmRlbnQgPDwgIih0cmFuc2Zv
cm0gIjsKICAgICAgICAgdHMgPDwgIlsiIDw8IG1fdHJhbnNmb3JtLm0xMSgpIDw8ICIgIiA8PCBt
X3RyYW5zZm9ybS5tMTIoKSA8PCAiICIgPDwgbV90cmFuc2Zvcm0ubTEzKCkgPDwgIiAiIDw8IG1f
dHJhbnNmb3JtLm0xNCgpIDw8ICJdICI7CiAgICAgICAgIHRzIDw8ICJbIiA8PCBtX3RyYW5zZm9y
bS5tMjEoKSA8PCAiICIgPDwgbV90cmFuc2Zvcm0ubTIyKCkgPDwgIiAiIDw8IG1fdHJhbnNmb3Jt
Lm0yMygpIDw8ICIgIiA8PCBtX3RyYW5zZm9ybS5tMjQoKSA8PCAiXSAiOwogICAgICAgICB0cyA8
PCAiWyIgPDwgbV90cmFuc2Zvcm0ubTMxKCkgPDwgIiAiIDw8IG1fdHJhbnNmb3JtLm0zMigpIDw8
ICIgIiA8PCBtX3RyYW5zZm9ybS5tMzMoKSA8PCAiICIgPDwgbV90cmFuc2Zvcm0ubTM0KCkgPDwg
Il0gIjsKQEAgLTgyOCw4ICs3OTIsNyBAQCB2b2lkIEdyYXBoaWNzTGF5ZXI6OmR1bXBQcm9wZXJ0
aWVzKFRleHRTdHJlYW0mIHRzLCBpbnQgaW5kZW50LCBMYXllclRyZWVBc1RleHRCZQogICAgIC8v
IEF2b2lkIGR1bXBpbmcgdGhlIHN1YmxheWVyIHRyYW5zZm9ybSBvbiB0aGUgcm9vdCBsYXllciwg
YmVjYXVzZSBpdCdzIHVzZWQgZm9yIGdlb21ldHJ5IGZsaXBwaW5nLCB3aG9zZSBiZWhhdmlvcgog
ICAgIC8vIGRpZmZlcnMgYmV0d2VlbiBwbGF0Zm9ybXMuCiAgICAgaWYgKHBhcmVudCgpICYmICFt
X2NoaWxkcmVuVHJhbnNmb3JtLmlzSWRlbnRpdHkoKSkgewotICAgICAgICB3cml0ZUluZGVudCh0
cywgaW5kZW50ICsgMSk7Ci0gICAgICAgIHRzIDw8ICIoY2hpbGRyZW5UcmFuc2Zvcm0gIjsKKyAg
ICAgICAgdHMgPDwgaW5kZW50IDw8ICIoY2hpbGRyZW5UcmFuc2Zvcm0gIjsKICAgICAgICAgdHMg
PDwgIlsiIDw8IG1fY2hpbGRyZW5UcmFuc2Zvcm0ubTExKCkgPDwgIiAiIDw8IG1fY2hpbGRyZW5U
cmFuc2Zvcm0ubTEyKCkgPDwgIiAiIDw8IG1fY2hpbGRyZW5UcmFuc2Zvcm0ubTEzKCkgPDwgIiAi
IDw8IG1fY2hpbGRyZW5UcmFuc2Zvcm0ubTE0KCkgPDwgIl0gIjsKICAgICAgICAgdHMgPDwgIlsi
IDw8IG1fY2hpbGRyZW5UcmFuc2Zvcm0ubTIxKCkgPDwgIiAiIDw8IG1fY2hpbGRyZW5UcmFuc2Zv
cm0ubTIyKCkgPDwgIiAiIDw8IG1fY2hpbGRyZW5UcmFuc2Zvcm0ubTIzKCkgPDwgIiAiIDw8IG1f
Y2hpbGRyZW5UcmFuc2Zvcm0ubTI0KCkgPDwgIl0gIjsKICAgICAgICAgdHMgPDwgIlsiIDw8IG1f
Y2hpbGRyZW5UcmFuc2Zvcm0ubTMxKCkgPDwgIiAiIDw8IG1fY2hpbGRyZW5UcmFuc2Zvcm0ubTMy
KCkgPDwgIiAiIDw8IG1fY2hpbGRyZW5UcmFuc2Zvcm0ubTMzKCkgPDwgIiAiIDw8IG1fY2hpbGRy
ZW5UcmFuc2Zvcm0ubTM0KCkgPDwgIl0gIjsKQEAgLTgzNyw5NSArODAwLDg2IEBAIHZvaWQgR3Jh
cGhpY3NMYXllcjo6ZHVtcFByb3BlcnRpZXMoVGV4dFN0cmVhbSYgdHMsIGludCBpbmRlbnQsIExh
eWVyVHJlZUFzVGV4dEJlCiAgICAgfQogCiAgICAgaWYgKG1fbWFza0xheWVyKSB7Ci0gICAgICAg
IHdyaXRlSW5kZW50KHRzLCBpbmRlbnQgKyAxKTsKLSAgICAgICAgdHMgPDwgIihtYXNrIGxheWVy
IjsKKyAgICAgICAgdHMgPDwgaW5kZW50IDw8ICIobWFzayBsYXllciI7CiAgICAgICAgIGlmIChi
ZWhhdmlvciAmIExheWVyVHJlZUFzVGV4dERlYnVnKQogICAgICAgICAgICAgdHMgPDwgIiAiIDw8
IG1fbWFza0xheWVyOwogICAgICAgICB0cyA8PCAiKVxuIjsKLSAgICAgICAgbV9tYXNrTGF5ZXIt
PmR1bXBMYXllcih0cywgaW5kZW50ICsgMiwgYmVoYXZpb3IpOworCisgICAgICAgIFRleHRTdHJl
YW06OkluZGVudFNjb3BlIGluZGVudFNjb3BlKHRzKTsKKyAgICAgICAgbV9tYXNrTGF5ZXItPmR1
bXBMYXllcih0cywgYmVoYXZpb3IpOwogICAgIH0KIAogICAgIGlmIChtX3JlcGxpY2FMYXllcikg
ewotICAgICAgICB3cml0ZUluZGVudCh0cywgaW5kZW50ICsgMSk7Ci0gICAgICAgIHRzIDw8ICIo
cmVwbGljYSBsYXllciI7CisgICAgICAgIHRzIDw8IGluZGVudCA8PCAiKHJlcGxpY2EgbGF5ZXIi
OwogICAgICAgICBpZiAoYmVoYXZpb3IgJiBMYXllclRyZWVBc1RleHREZWJ1ZykKICAgICAgICAg
ICAgIHRzIDw8ICIgIiA8PCBtX3JlcGxpY2FMYXllcjsKICAgICAgICAgdHMgPDwgIilcbiI7Ci0g
ICAgICAgIG1fcmVwbGljYUxheWVyLT5kdW1wTGF5ZXIodHMsIGluZGVudCArIDIsIGJlaGF2aW9y
KTsKKworICAgICAgICBUZXh0U3RyZWFtOjpJbmRlbnRTY29wZSBpbmRlbnRTY29wZSh0cyk7Cisg
ICAgICAgIG1fcmVwbGljYUxheWVyLT5kdW1wTGF5ZXIodHMsIGJlaGF2aW9yKTsKICAgICB9CiAK
ICAgICBpZiAobV9yZXBsaWNhdGVkTGF5ZXIpIHsKLSAgICAgICAgd3JpdGVJbmRlbnQodHMsIGlu
ZGVudCArIDEpOwotICAgICAgICB0cyA8PCAiKHJlcGxpY2F0ZWQgbGF5ZXIiOworICAgICAgICB0
cyA8PCBpbmRlbnQgPDwgIihyZXBsaWNhdGVkIGxheWVyIjsKICAgICAgICAgaWYgKGJlaGF2aW9y
ICYgTGF5ZXJUcmVlQXNUZXh0RGVidWcpCiAgICAgICAgICAgICB0cyA8PCAiICIgPDwgbV9yZXBs
aWNhdGVkTGF5ZXI7CiAgICAgICAgIHRzIDw8ICIpXG4iOwogICAgIH0KIAogICAgIGlmIChiZWhh
dmlvciAmIExheWVyVHJlZUFzVGV4dEluY2x1ZGVSZXBhaW50UmVjdHMgJiYgcmVwYWludFJlY3RN
YXAoKS5jb250YWlucyh0aGlzKSAmJiAhcmVwYWludFJlY3RNYXAoKS5nZXQodGhpcykuaXNFbXB0
eSgpICYmIG1fY2xpZW50LnNob3VsZER1bXBQcm9wZXJ0eUZvckxheWVyKHRoaXMsICJyZXBhaW50
UmVjdHMiKSkgewotICAgICAgICB3cml0ZUluZGVudCh0cywgaW5kZW50ICsgMSk7Ci0gICAgICAg
IHRzIDw8ICIocmVwYWludCByZWN0c1xuIjsKKyAgICAgICAgdHMgPDwgaW5kZW50IDw8ICIocmVw
YWludCByZWN0c1xuIjsKICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCByZXBhaW50UmVj
dE1hcCgpLmdldCh0aGlzKS5zaXplKCk7ICsraSkgewogICAgICAgICAgICAgaWYgKHJlcGFpbnRS
ZWN0TWFwKCkuZ2V0KHRoaXMpW2ldLmlzRW1wdHkoKSkKICAgICAgICAgICAgICAgICBjb250aW51
ZTsKLSAgICAgICAgICAgIHdyaXRlSW5kZW50KHRzLCBpbmRlbnQgKyAyKTsKLSAgICAgICAgICAg
IHRzIDw8ICIocmVjdCAiOworCisgICAgICAgICAgICBUZXh0U3RyZWFtOjpJbmRlbnRTY29wZSBp
bmRlbnRTY29wZSh0cyk7CisgICAgICAgICAgICB0cyA8PCBpbmRlbnQgPDwgIihyZWN0ICI7CiAg
ICAgICAgICAgICB0cyA8PCByZXBhaW50UmVjdE1hcCgpLmdldCh0aGlzKVtpXS54KCkgPDwgIiAi
OwogICAgICAgICAgICAgdHMgPDwgcmVwYWludFJlY3RNYXAoKS5nZXQodGhpcylbaV0ueSgpIDw8
ICIgIjsKICAgICAgICAgICAgIHRzIDw8IHJlcGFpbnRSZWN0TWFwKCkuZ2V0KHRoaXMpW2ldLndp
ZHRoKCkgPDwgIiAiOwogICAgICAgICAgICAgdHMgPDwgcmVwYWludFJlY3RNYXAoKS5nZXQodGhp
cylbaV0uaGVpZ2h0KCk7CiAgICAgICAgICAgICB0cyA8PCAiKVxuIjsKICAgICAgICAgfQotICAg
ICAgICB3cml0ZUluZGVudCh0cywgaW5kZW50ICsgMSk7Ci0gICAgICAgIHRzIDw8ICIpXG4iOwor
ICAgICAgICB0cyA8PCBpbmRlbnQgPDwgIilcbiI7CiAgICAgfQogCiAgICAgaWYgKGJlaGF2aW9y
ICYgTGF5ZXJUcmVlQXNUZXh0SW5jbHVkZVBhaW50aW5nUGhhc2VzICYmIHBhaW50aW5nUGhhc2Uo
KSkgewotICAgICAgICB3cml0ZUluZGVudCh0cywgaW5kZW50ICsgMSk7Ci0gICAgICAgIHRzIDw8
ICIocGFpbnRpbmdQaGFzZXNcbiI7Ci0gICAgICAgIGlmIChwYWludGluZ1BoYXNlKCkgJiBHcmFw
aGljc0xheWVyUGFpbnRCYWNrZ3JvdW5kKSB7Ci0gICAgICAgICAgICB3cml0ZUluZGVudCh0cywg
aW5kZW50ICsgMik7Ci0gICAgICAgICAgICB0cyA8PCAiR3JhcGhpY3NMYXllclBhaW50QmFja2dy
b3VuZFxuIjsKLSAgICAgICAgfQotICAgICAgICBpZiAocGFpbnRpbmdQaGFzZSgpICYgR3JhcGhp
Y3NMYXllclBhaW50Rm9yZWdyb3VuZCkgewotICAgICAgICAgICAgd3JpdGVJbmRlbnQodHMsIGlu
ZGVudCArIDIpOwotICAgICAgICAgICAgdHMgPDwgIkdyYXBoaWNzTGF5ZXJQYWludEZvcmVncm91
bmRcbiI7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKHBhaW50aW5nUGhhc2UoKSAmIEdyYXBoaWNz
TGF5ZXJQYWludE1hc2spIHsKLSAgICAgICAgICAgIHdyaXRlSW5kZW50KHRzLCBpbmRlbnQgKyAy
KTsKLSAgICAgICAgICAgIHRzIDw8ICJHcmFwaGljc0xheWVyUGFpbnRNYXNrXG4iOwotICAgICAg
ICB9Ci0gICAgICAgIGlmIChwYWludGluZ1BoYXNlKCkgJiBHcmFwaGljc0xheWVyUGFpbnRDaGls
ZENsaXBwaW5nTWFzaykgewotICAgICAgICAgICAgd3JpdGVJbmRlbnQodHMsIGluZGVudCArIDIp
OwotICAgICAgICAgICAgdHMgPDwgIkdyYXBoaWNzTGF5ZXJQYWludENoaWxkQ2xpcHBpbmdNYXNr
XG4iOwotICAgICAgICB9Ci0gICAgICAgIGlmIChwYWludGluZ1BoYXNlKCkgJiBHcmFwaGljc0xh
eWVyUGFpbnRPdmVyZmxvd0NvbnRlbnRzKSB7Ci0gICAgICAgICAgICB3cml0ZUluZGVudCh0cywg
aW5kZW50ICsgMik7Ci0gICAgICAgICAgICB0cyA8PCAiR3JhcGhpY3NMYXllclBhaW50T3ZlcmZs
b3dDb250ZW50c1xuIjsKLSAgICAgICAgfQotICAgICAgICBpZiAocGFpbnRpbmdQaGFzZSgpICYg
R3JhcGhpY3NMYXllclBhaW50Q29tcG9zaXRlZFNjcm9sbCkgewotICAgICAgICAgICAgd3JpdGVJ
bmRlbnQodHMsIGluZGVudCArIDIpOwotICAgICAgICAgICAgdHMgPDwgIkdyYXBoaWNzTGF5ZXJQ
YWludENvbXBvc2l0ZWRTY3JvbGxcbiI7Ci0gICAgICAgIH0KLSAgICAgICAgd3JpdGVJbmRlbnQo
dHMsIGluZGVudCArIDEpOwotICAgICAgICB0cyA8PCAiKVxuIjsKKyAgICAgICAgdHMgPDwgaW5k
ZW50IDw8ICIocGFpbnRpbmdQaGFzZXNcbiI7CisgICAgICAgIFRleHRTdHJlYW06OkluZGVudFNj
b3BlIGluZGVudFNjb3BlKHRzKTsKKyAgICAgICAgaWYgKHBhaW50aW5nUGhhc2UoKSAmIEdyYXBo
aWNzTGF5ZXJQYWludEJhY2tncm91bmQpCisgICAgICAgICAgICB0cyA8PCBpbmRlbnQgPDwgIkdy
YXBoaWNzTGF5ZXJQYWludEJhY2tncm91bmRcbiI7CisKKyAgICAgICAgaWYgKHBhaW50aW5nUGhh
c2UoKSAmIEdyYXBoaWNzTGF5ZXJQYWludEZvcmVncm91bmQpCisgICAgICAgICAgICB0cyA8PCBp
bmRlbnQgPDwgIkdyYXBoaWNzTGF5ZXJQYWludEZvcmVncm91bmRcbiI7CisKKyAgICAgICAgaWYg
KHBhaW50aW5nUGhhc2UoKSAmIEdyYXBoaWNzTGF5ZXJQYWludE1hc2spCisgICAgICAgICAgICB0
cyA8PCBpbmRlbnQgPDwgIkdyYXBoaWNzTGF5ZXJQYWludE1hc2tcbiI7CisKKyAgICAgICAgaWYg
KHBhaW50aW5nUGhhc2UoKSAmIEdyYXBoaWNzTGF5ZXJQYWludENoaWxkQ2xpcHBpbmdNYXNrKQor
ICAgICAgICAgICAgdHMgPDwgaW5kZW50IDw8ICJHcmFwaGljc0xheWVyUGFpbnRDaGlsZENsaXBw
aW5nTWFza1xuIjsKKworICAgICAgICBpZiAocGFpbnRpbmdQaGFzZSgpICYgR3JhcGhpY3NMYXll
clBhaW50T3ZlcmZsb3dDb250ZW50cykKKyAgICAgICAgICAgIHRzIDw8IGluZGVudCA8PCAiR3Jh
cGhpY3NMYXllclBhaW50T3ZlcmZsb3dDb250ZW50c1xuIjsKKworICAgICAgICBpZiAocGFpbnRp
bmdQaGFzZSgpICYgR3JhcGhpY3NMYXllclBhaW50Q29tcG9zaXRlZFNjcm9sbCkKKyAgICAgICAg
ICAgIHRzIDw8IGluZGVudCA8PCAiR3JhcGhpY3NMYXllclBhaW50Q29tcG9zaXRlZFNjcm9sbFxu
IjsKKworICAgICAgICB0cyA8PCBpbmRlbnQgPDwgIilcbiI7CiAgICAgfQogCi0gICAgZHVtcEFk
ZGl0aW9uYWxQcm9wZXJ0aWVzKHRzLCBpbmRlbnQsIGJlaGF2aW9yKTsKKyAgICBkdW1wQWRkaXRp
b25hbFByb3BlcnRpZXModHMsIGJlaGF2aW9yKTsKICAgICAKICAgICBpZiAobV9jaGlsZHJlbi5z
aXplKCkpIHsKICAgICAgICAgVGV4dFN0cmVhbSBjaGlsZHJlblN0cmVhbTsKLQorICAgICAgICAK
KyAgICAgICAgY2hpbGRyZW5TdHJlYW0uaW5jcmVhc2VJbmRlbnQodHMuaW5kZW50KCkpOwogICAg
ICAgICB1bnNpZ25lZCB0b3RhbENoaWxkQ291bnQgPSAwOwotICAgICAgICBkdW1wQ2hpbGRyZW4o
Y2hpbGRyZW5TdHJlYW0sIG1fY2hpbGRyZW4sIHRvdGFsQ2hpbGRDb3VudCwgaW5kZW50LCBiZWhh
dmlvcik7Ci0KLSAgICAgICAgd3JpdGVJbmRlbnQoY2hpbGRyZW5TdHJlYW0sIGluZGVudCArIDEp
OwotICAgICAgICBjaGlsZHJlblN0cmVhbSA8PCAiKVxuIjsKKyAgICAgICAgZHVtcENoaWxkcmVu
KGNoaWxkcmVuU3RyZWFtLCBtX2NoaWxkcmVuLCB0b3RhbENoaWxkQ291bnQsIGJlaGF2aW9yKTsK
IAogICAgICAgICBpZiAodG90YWxDaGlsZENvdW50KSB7Ci0gICAgICAgICAgICB3cml0ZUluZGVu
dCh0cywgaW5kZW50ICsgMSk7Ci0gICAgICAgICAgICB0cyA8PCAiKGNoaWxkcmVuICIgPDwgdG90
YWxDaGlsZENvdW50IDw8ICJcbiI7CisgICAgICAgICAgICB0cyA8PCBpbmRlbnQgPDwgIihjaGls
ZHJlbiAiIDw8IHRvdGFsQ2hpbGRDb3VudCA8PCAiXG4iOwogICAgICAgICAgICAgdHMgPDwgY2hp
bGRyZW5TdHJlYW0ucmVsZWFzZSgpOworICAgICAgICAgICAgdHMgPDwgaW5kZW50IDw8ICIpXG4i
OwogICAgICAgICB9CiAgICAgfQogfQpAQCAtOTU3LDcgKzkxMSw3IEBAIFN0cmluZyBHcmFwaGlj
c0xheWVyOjpsYXllclRyZWVBc1RleHQoTGF5ZXJUcmVlQXNUZXh0QmVoYXZpb3IgYmVoYXZpb3Ip
IGNvbnN0CiB7CiAgICAgVGV4dFN0cmVhbSB0cyhUZXh0U3RyZWFtOjpMaW5lTW9kZTo6TXVsdGlw
bGVMaW5lLCBUZXh0U3RyZWFtOjpGb3JtYXR0aW5nOjpTVkdTdHlsZVJlY3QpOwogCi0gICAgZHVt
cExheWVyKHRzLCAwLCBiZWhhdmlvcik7CisgICAgZHVtcExheWVyKHRzLCBiZWhhdmlvcik7CiAg
ICAgcmV0dXJuIHRzLnJlbGVhc2UoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oCmluZGV4IDRmNGE0M2M5YzMyNWM0N2JjODkwZjEw
N2ZlMzY2MjdhOWE0M2M0ZTkuLmFhZmM3OWE1YjRkNWE5NGQ0NjgzOGU1YWQ2MmEzZGU1YmE0NDZl
Y2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNz
TGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xh
eWVyLmgKQEAgLTQ4MCw3ICs0ODAsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNldENv
bnRlbnRzT3JpZW50YXRpb24oQ29tcG9zaXRpbmdDb29yZGluYXRlc09yaWVudGF0aW9uIG9yaWVu
dGF0aW9uKSB7IG1fY29udGVudHNPcmllbnRhdGlvbiA9IG9yaWVudGF0aW9uOyB9CiAgICAgQ29t
cG9zaXRpbmdDb29yZGluYXRlc09yaWVudGF0aW9uIGNvbnRlbnRzT3JpZW50YXRpb24oKSBjb25z
dCB7IHJldHVybiBtX2NvbnRlbnRzT3JpZW50YXRpb247IH0KIAotICAgIHZvaWQgZHVtcExheWVy
KFdURjo6VGV4dFN0cmVhbSYsIGludCBpbmRlbnQgPSAwLCBMYXllclRyZWVBc1RleHRCZWhhdmlv
ciA9IExheWVyVHJlZUFzVGV4dEJlaGF2aW9yTm9ybWFsKSBjb25zdDsKKyAgICB2b2lkIGR1bXBM
YXllcihXVEY6OlRleHRTdHJlYW0mLCBMYXllclRyZWVBc1RleHRCZWhhdmlvciA9IExheWVyVHJl
ZUFzVGV4dEJlaGF2aW9yTm9ybWFsKSBjb25zdDsKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRTaG93
RGVidWdCb3JkZXIoYm9vbCBzaG93KSB7IG1fc2hvd0RlYnVnQm9yZGVyID0gc2hvdzsgfQogICAg
IGJvb2wgaXNTaG93aW5nRGVidWdCb3JkZXIoKSBjb25zdCB7IHJldHVybiBtX3Nob3dEZWJ1Z0Jv
cmRlcjsgfQpAQCAtNjA5LDggKzYwOSw4IEBAIHByb3RlY3RlZDoKICAgICBHcmFwaGljc0xheWVy
KiByZXBsaWNhdGVkTGF5ZXIoKSBjb25zdCB7IHJldHVybiBtX3JlcGxpY2F0ZWRMYXllcjsgfQog
ICAgIHZpcnR1YWwgdm9pZCBzZXRSZXBsaWNhdGVkTGF5ZXIoR3JhcGhpY3NMYXllciogbGF5ZXIp
IHsgbV9yZXBsaWNhdGVkTGF5ZXIgPSBsYXllcjsgfQogCi0gICAgdm9pZCBkdW1wUHJvcGVydGll
cyhXVEY6OlRleHRTdHJlYW0mLCBpbnQgaW5kZW50LCBMYXllclRyZWVBc1RleHRCZWhhdmlvcikg
Y29uc3Q7Ci0gICAgdmlydHVhbCB2b2lkIGR1bXBBZGRpdGlvbmFsUHJvcGVydGllcyhXVEY6OlRl
eHRTdHJlYW0mLCBpbnQgLyppbmRlbnQqLywgTGF5ZXJUcmVlQXNUZXh0QmVoYXZpb3IpIGNvbnN0
IHsgfQorICAgIHZvaWQgZHVtcFByb3BlcnRpZXMoV1RGOjpUZXh0U3RyZWFtJiwgTGF5ZXJUcmVl
QXNUZXh0QmVoYXZpb3IpIGNvbnN0OworICAgIHZpcnR1YWwgdm9pZCBkdW1wQWRkaXRpb25hbFBy
b3BlcnRpZXMoV1RGOjpUZXh0U3RyZWFtJiwgTGF5ZXJUcmVlQXNUZXh0QmVoYXZpb3IpIGNvbnN0
IHsgfQogCiAgICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCB2b2lkIGdldERlYnVnQm9yZGVySW5m
byhDb2xvciYsIGZsb2F0JiB3aWR0aCkgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0EuY3BwCmluZGV4IDJkMzIx
NDcyOTE3MWRkZDUyZTVhYTdkZTcyZjQxYmVlMmU0ODMwMTMuLjM5YTg2NWZjNmZlZTBlYTMzY2Vm
M2M3MWJkOGNhMzBmMTI3YjhiZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmNwcApAQCAtMzU3MCw4MCArMzU3MCw2
MiBAQCB2b2lkIEdyYXBoaWNzTGF5ZXJDQTo6Z2V0RGVidWdCb3JkZXJJbmZvKENvbG9yJiBjb2xv
ciwgZmxvYXQmIHdpZHRoKSBjb25zdAogICAgIEdyYXBoaWNzTGF5ZXI6OmdldERlYnVnQm9yZGVy
SW5mbyhjb2xvciwgd2lkdGgpOwogfQogCi1zdGF0aWMgdm9pZCBkdW1wSW5uZXJMYXllcihUZXh0
U3RyZWFtJiB0ZXh0U3RyZWFtLCBTdHJpbmcgbGFiZWwsIFBsYXRmb3JtQ0FMYXllciogbGF5ZXIs
IGludCBpbmRlbnQsIExheWVyVHJlZUFzVGV4dEJlaGF2aW9yIGJlaGF2aW9yKQorc3RhdGljIHZv
aWQgZHVtcElubmVyTGF5ZXIoVGV4dFN0cmVhbSYgdGV4dFN0cmVhbSwgU3RyaW5nIGxhYmVsLCBQ
bGF0Zm9ybUNBTGF5ZXIqIGxheWVyLCBMYXllclRyZWVBc1RleHRCZWhhdmlvciBiZWhhdmlvcikK
IHsKICAgICBpZiAoIWxheWVyKQogICAgICAgICByZXR1cm47CiAKLSAgICB3cml0ZUluZGVudCh0
ZXh0U3RyZWFtLCBpbmRlbnQgKyAxKTsKLSAgICB0ZXh0U3RyZWFtIDw8ICIoIiA8PCBsYWJlbCA8
PCAiICI7CisgICAgdGV4dFN0cmVhbSA8PCBpbmRlbnQgPDwgIigiIDw8IGxhYmVsIDw8ICIgIjsK
ICAgICBpZiAoYmVoYXZpb3IgJiBMYXllclRyZWVBc1RleHREZWJ1ZykKICAgICAgICAgdGV4dFN0
cmVhbSA8PCAiaWQ9IiA8PCBsYXllci0+bGF5ZXJJRCgpIDw8ICIgIjsKLSAgICB0ZXh0U3RyZWFt
IDw8IGxheWVyLT5wb3NpdGlvbigpLngoKSA8PCAiLCAiIDw8IGxheWVyLT5wb3NpdGlvbigpLnko
KQotICAgICAgICA8PCAiICIgPDwgbGF5ZXItPmJvdW5kcygpLndpZHRoKCkgPDwgIiB4ICIgPDwg
bGF5ZXItPmJvdW5kcygpLmhlaWdodCgpOworICAgIHRleHRTdHJlYW0gPDwgbGF5ZXItPnBvc2l0
aW9uKCkueCgpIDw8ICIsICIgPDwgbGF5ZXItPnBvc2l0aW9uKCkueSgpIDw8ICIgIiA8PCBsYXll
ci0+Ym91bmRzKCkud2lkdGgoKSA8PCAiIHggIiA8PCBsYXllci0+Ym91bmRzKCkuaGVpZ2h0KCk7
CiAgICAgaWYgKGxheWVyLT5pc0hpZGRlbigpKQogICAgICAgICB0ZXh0U3RyZWFtIDw8ICIgaGlk
ZGVuIjsKICAgICB0ZXh0U3RyZWFtIDw8ICIpXG4iOwogfQogCi12b2lkIEdyYXBoaWNzTGF5ZXJD
QTo6ZHVtcEFkZGl0aW9uYWxQcm9wZXJ0aWVzKFRleHRTdHJlYW0mIHRleHRTdHJlYW0sIGludCBp
bmRlbnQsIExheWVyVHJlZUFzVGV4dEJlaGF2aW9yIGJlaGF2aW9yKSBjb25zdAordm9pZCBHcmFw
aGljc0xheWVyQ0E6OmR1bXBBZGRpdGlvbmFsUHJvcGVydGllcyhUZXh0U3RyZWFtJiB0ZXh0U3Ry
ZWFtLCBMYXllclRyZWVBc1RleHRCZWhhdmlvciBiZWhhdmlvcikgY29uc3QKIHsKICAgICBpZiAo
YmVoYXZpb3IgJiBMYXllclRyZWVBc1RleHRJbmNsdWRlVmlzaWJsZVJlY3RzKSB7Ci0gICAgICAg
IHdyaXRlSW5kZW50KHRleHRTdHJlYW0sIGluZGVudCArIDEpOwotICAgICAgICB0ZXh0U3RyZWFt
IDw8ICIodmlzaWJsZSByZWN0ICIgPDwgbV92aXNpYmxlUmVjdC54KCkgPDwgIiwgIiA8PCBtX3Zp
c2libGVSZWN0LnkoKSA8PCAiICIgPDwgbV92aXNpYmxlUmVjdC53aWR0aCgpIDw8ICIgeCAiIDw8
IG1fdmlzaWJsZVJlY3QuaGVpZ2h0KCkgPDwgIilcbiI7Ci0KLSAgICAgICAgd3JpdGVJbmRlbnQo
dGV4dFN0cmVhbSwgaW5kZW50ICsgMSk7Ci0gICAgICAgIHRleHRTdHJlYW0gPDwgIihjb3ZlcmFn
ZSByZWN0ICIgPDwgbV9jb3ZlcmFnZVJlY3QueCgpIDw8ICIsICIgPDwgbV9jb3ZlcmFnZVJlY3Qu
eSgpIDw8ICIgIiA8PCBtX2NvdmVyYWdlUmVjdC53aWR0aCgpIDw8ICIgeCAiIDw8IG1fY292ZXJh
Z2VSZWN0LmhlaWdodCgpIDw8ICIpXG4iOwotCi0gICAgICAgIHdyaXRlSW5kZW50KHRleHRTdHJl
YW0sIGluZGVudCArIDEpOwotICAgICAgICB0ZXh0U3RyZWFtIDw8ICIoaW50ZXJzZWN0cyBjb3Zl
cmFnZSByZWN0ICIgPDwgbV9pbnRlcnNlY3RzQ292ZXJhZ2VSZWN0IDw8ICIpXG4iOwotCi0gICAg
ICAgIHdyaXRlSW5kZW50KHRleHRTdHJlYW0sIGluZGVudCArIDEpOwotICAgICAgICB0ZXh0U3Ry
ZWFtIDw8ICIoY29udGVudHNTY2FsZSAiIDw8IG1fbGF5ZXItPmNvbnRlbnRzU2NhbGUoKSA8PCAi
KVxuIjsKKyAgICAgICAgdGV4dFN0cmVhbSA8PCBpbmRlbnQgPDwgIih2aXNpYmxlIHJlY3QgIiA8
PCBtX3Zpc2libGVSZWN0LngoKSA8PCAiLCAiIDw8IG1fdmlzaWJsZVJlY3QueSgpIDw8ICIgIiA8
PCBtX3Zpc2libGVSZWN0LndpZHRoKCkgPDwgIiB4ICIgPDwgbV92aXNpYmxlUmVjdC5oZWlnaHQo
KSA8PCAiKVxuIjsKKyAgICAgICAgdGV4dFN0cmVhbSA8PCBpbmRlbnQgPDwgIihjb3ZlcmFnZSBy
ZWN0ICIgPDwgbV9jb3ZlcmFnZVJlY3QueCgpIDw8ICIsICIgPDwgbV9jb3ZlcmFnZVJlY3QueSgp
IDw8ICIgIiA8PCBtX2NvdmVyYWdlUmVjdC53aWR0aCgpIDw8ICIgeCAiIDw8IG1fY292ZXJhZ2VS
ZWN0LmhlaWdodCgpIDw8ICIpXG4iOworICAgICAgICB0ZXh0U3RyZWFtIDw8IGluZGVudCA8PCAi
KGludGVyc2VjdHMgY292ZXJhZ2UgcmVjdCAiIDw8IG1faW50ZXJzZWN0c0NvdmVyYWdlUmVjdCA8
PCAiKVxuIjsKKyAgICAgICAgdGV4dFN0cmVhbSA8PCBpbmRlbnQgPDwgIihjb250ZW50c1NjYWxl
ICIgPDwgbV9sYXllci0+Y29udGVudHNTY2FsZSgpIDw8ICIpXG4iOwogICAgIH0KIAogICAgIGlm
ICh0aWxlZEJhY2tpbmcoKSAmJiAoYmVoYXZpb3IgJiBMYXllclRyZWVBc1RleHRJbmNsdWRlVGls
ZUNhY2hlcykpIHsKLSAgICAgICAgaWYgKGJlaGF2aW9yICYgTGF5ZXJUcmVlQXNUZXh0RGVidWcp
IHsKLSAgICAgICAgICAgIHdyaXRlSW5kZW50KHRleHRTdHJlYW0sIGluZGVudCArIDEpOwotICAg
ICAgICAgICAgdGV4dFN0cmVhbSA8PCAiKHRpbGVkIGJhY2tpbmcgIiA8PCB0aWxlZEJhY2tpbmco
KSA8PCAiKVxuIjsKLSAgICAgICAgfQorICAgICAgICBpZiAoYmVoYXZpb3IgJiBMYXllclRyZWVB
c1RleHREZWJ1ZykKKyAgICAgICAgICAgIHRleHRTdHJlYW0gPDwgaW5kZW50IDw8ICIodGlsZWQg
YmFja2luZyAiIDw8IHRpbGVkQmFja2luZygpIDw8ICIpXG4iOwogCiAgICAgICAgIEludFJlY3Qg
dGlsZUNvdmVyYWdlUmVjdCA9IHRpbGVkQmFja2luZygpLT50aWxlQ292ZXJhZ2VSZWN0KCk7Ci0g
ICAgICAgIHdyaXRlSW5kZW50KHRleHRTdHJlYW0sIGluZGVudCArIDEpOwotICAgICAgICB0ZXh0
U3RyZWFtIDw8ICIodGlsZSBjYWNoZSBjb3ZlcmFnZSAiIDw8IHRpbGVDb3ZlcmFnZVJlY3QueCgp
IDw8ICIsICIgPDwgdGlsZUNvdmVyYWdlUmVjdC55KCkgPDwgIiAiIDw8IHRpbGVDb3ZlcmFnZVJl
Y3Qud2lkdGgoKSA8PCAiIHggIiA8PCB0aWxlQ292ZXJhZ2VSZWN0LmhlaWdodCgpIDw8ICIpXG4i
OworICAgICAgICB0ZXh0U3RyZWFtIDw8IGluZGVudCA8PCAiKHRpbGUgY2FjaGUgY292ZXJhZ2Ug
IiA8PCB0aWxlQ292ZXJhZ2VSZWN0LngoKSA8PCAiLCAiIDw8IHRpbGVDb3ZlcmFnZVJlY3QueSgp
IDw8ICIgIiA8PCB0aWxlQ292ZXJhZ2VSZWN0LndpZHRoKCkgPDwgIiB4ICIgPDwgdGlsZUNvdmVy
YWdlUmVjdC5oZWlnaHQoKSA8PCAiKVxuIjsKIAogICAgICAgICBJbnRTaXplIHRpbGVTaXplID0g
dGlsZWRCYWNraW5nKCktPnRpbGVTaXplKCk7Ci0gICAgICAgIHdyaXRlSW5kZW50KHRleHRTdHJl
YW0sIGluZGVudCArIDEpOwotICAgICAgICB0ZXh0U3RyZWFtIDw8ICIodGlsZSBzaXplICIgPDwg
dGlsZVNpemUud2lkdGgoKSA8PCAiIHggIiA8PCB0aWxlU2l6ZS5oZWlnaHQoKSA8PCAiKVxuIjsK
KyAgICAgICAgdGV4dFN0cmVhbSA8PCBpbmRlbnQgPDwgIih0aWxlIHNpemUgIiA8PCB0aWxlU2l6
ZS53aWR0aCgpIDw8ICIgeCAiIDw8IHRpbGVTaXplLmhlaWdodCgpIDw8ICIpXG4iOwogICAgICAg
ICAKICAgICAgICAgSW50UmVjdCBncmlkRXh0ZW50ID0gdGlsZWRCYWNraW5nKCktPnRpbGVHcmlk
RXh0ZW50KCk7Ci0gICAgICAgIHdyaXRlSW5kZW50KHRleHRTdHJlYW0sIGluZGVudCArIDEpOwot
ICAgICAgICB0ZXh0U3RyZWFtIDw8ICIodG9wIGxlZnQgdGlsZSAiIDw8IGdyaWRFeHRlbnQueCgp
IDw8ICIsICIgPDwgZ3JpZEV4dGVudC55KCkgPDwgIiB0aWxlcyBncmlkICIgPDwgZ3JpZEV4dGVu
dC53aWR0aCgpIDw8ICIgeCAiIDw8IGdyaWRFeHRlbnQuaGVpZ2h0KCkgPDwgIilcbiI7CisgICAg
ICAgIHRleHRTdHJlYW0gPDwgaW5kZW50IDw8ICIodG9wIGxlZnQgdGlsZSAiIDw8IGdyaWRFeHRl
bnQueCgpIDw8ICIsICIgPDwgZ3JpZEV4dGVudC55KCkgPDwgIiB0aWxlcyBncmlkICIgPDwgZ3Jp
ZEV4dGVudC53aWR0aCgpIDw8ICIgeCAiIDw8IGdyaWRFeHRlbnQuaGVpZ2h0KCkgPDwgIilcbiI7
CiAKLSAgICAgICAgd3JpdGVJbmRlbnQodGV4dFN0cmVhbSwgaW5kZW50ICsgMSk7Ci0gICAgICAg
IHRleHRTdHJlYW0gPDwgIihpbiB3aW5kb3cgIiA8PCB0aWxlZEJhY2tpbmcoKS0+aXNJbldpbmRv
dygpIDw8ICIpXG4iOwotICAgIH0KLSAgICAKLSAgICBpZiAobV9sYXllci0+d2FudHNEZWVwQ29s
b3JCYWNraW5nU3RvcmUoKSkgewotICAgICAgICB3cml0ZUluZGVudCh0ZXh0U3RyZWFtLCBpbmRl
bnQgKyAxKTsKLSAgICAgICAgdGV4dFN0cmVhbSA8PCAiKGRlZXAgY29sb3IgMSlcbiI7CisgICAg
ICAgIHRleHRTdHJlYW0gPDwgaW5kZW50IDw8ICIoaW4gd2luZG93ICIgPDwgdGlsZWRCYWNraW5n
KCktPmlzSW5XaW5kb3coKSA8PCAiKVxuIjsKICAgICB9CiAgICAgCisgICAgaWYgKG1fbGF5ZXIt
PndhbnRzRGVlcENvbG9yQmFja2luZ1N0b3JlKCkpCisgICAgICAgIHRleHRTdHJlYW0gPDwgaW5k
ZW50IDw8ICIoZGVlcCBjb2xvciAxKVxuIjsKKworCiAgICAgaWYgKGJlaGF2aW9yICYgTGF5ZXJU
cmVlQXNUZXh0SW5jbHVkZUNvbnRlbnRMYXllcnMpIHsKLSAgICAgICAgZHVtcElubmVyTGF5ZXIo
dGV4dFN0cmVhbSwgInN0cnVjdHVyYWwgbGF5ZXIiLCBtX3N0cnVjdHVyYWxMYXllci5nZXQoKSwg
aW5kZW50LCBiZWhhdmlvcik7Ci0gICAgICAgIGR1bXBJbm5lckxheWVyKHRleHRTdHJlYW0sICJj
b250ZW50cyBjbGlwcGluZyBsYXllciIsIG1fY29udGVudHNDbGlwcGluZ0xheWVyLmdldCgpLCBp
bmRlbnQsIGJlaGF2aW9yKTsKLSAgICAgICAgZHVtcElubmVyTGF5ZXIodGV4dFN0cmVhbSwgInNo
YXBlIG1hc2sgbGF5ZXIiLCBtX3NoYXBlTWFza0xheWVyLmdldCgpLCBpbmRlbnQsIGJlaGF2aW9y
KTsKLSAgICAgICAgZHVtcElubmVyTGF5ZXIodGV4dFN0cmVhbSwgImJhY2tkcm9wIGNsaXBwaW5n
IGxheWVyIiwgbV9iYWNrZHJvcENsaXBwaW5nTGF5ZXIuZ2V0KCksIGluZGVudCwgYmVoYXZpb3Ip
OwotICAgICAgICBkdW1wSW5uZXJMYXllcih0ZXh0U3RyZWFtLCAiY29udGVudHMgbGF5ZXIiLCBt
X2NvbnRlbnRzTGF5ZXIuZ2V0KCksIGluZGVudCwgYmVoYXZpb3IpOwotICAgICAgICBkdW1wSW5u
ZXJMYXllcih0ZXh0U3RyZWFtLCAiY29udGVudHMgc2hhcGUgbWFzayBsYXllciIsIG1fY29udGVu
dHNTaGFwZU1hc2tMYXllci5nZXQoKSwgaW5kZW50LCBiZWhhdmlvcik7Ci0gICAgICAgIGR1bXBJ
bm5lckxheWVyKHRleHRTdHJlYW0sICJiYWNrZHJvcCBsYXllciIsIG1fYmFja2Ryb3BMYXllci5n
ZXQoKSwgaW5kZW50LCBiZWhhdmlvcik7CisgICAgICAgIGR1bXBJbm5lckxheWVyKHRleHRTdHJl
YW0sICJzdHJ1Y3R1cmFsIGxheWVyIiwgbV9zdHJ1Y3R1cmFsTGF5ZXIuZ2V0KCksIGJlaGF2aW9y
KTsKKyAgICAgICAgZHVtcElubmVyTGF5ZXIodGV4dFN0cmVhbSwgImNvbnRlbnRzIGNsaXBwaW5n
IGxheWVyIiwgbV9jb250ZW50c0NsaXBwaW5nTGF5ZXIuZ2V0KCksIGJlaGF2aW9yKTsKKyAgICAg
ICAgZHVtcElubmVyTGF5ZXIodGV4dFN0cmVhbSwgInNoYXBlIG1hc2sgbGF5ZXIiLCBtX3NoYXBl
TWFza0xheWVyLmdldCgpLCBiZWhhdmlvcik7CisgICAgICAgIGR1bXBJbm5lckxheWVyKHRleHRT
dHJlYW0sICJiYWNrZHJvcCBjbGlwcGluZyBsYXllciIsIG1fYmFja2Ryb3BDbGlwcGluZ0xheWVy
LmdldCgpLCBiZWhhdmlvcik7CisgICAgICAgIGR1bXBJbm5lckxheWVyKHRleHRTdHJlYW0sICJj
b250ZW50cyBsYXllciIsIG1fY29udGVudHNMYXllci5nZXQoKSwgYmVoYXZpb3IpOworICAgICAg
ICBkdW1wSW5uZXJMYXllcih0ZXh0U3RyZWFtLCAiY29udGVudHMgc2hhcGUgbWFzayBsYXllciIs
IG1fY29udGVudHNTaGFwZU1hc2tMYXllci5nZXQoKSwgYmVoYXZpb3IpOworICAgICAgICBkdW1w
SW5uZXJMYXllcih0ZXh0U3RyZWFtLCAiYmFja2Ryb3AgbGF5ZXIiLCBtX2JhY2tkcm9wTGF5ZXIu
Z2V0KCksIGJlaGF2aW9yKTsKICAgICB9CiAKICAgICBpZiAoYmVoYXZpb3IgJiBMYXllclRyZWVB
c1RleHREZWJ1ZykgewotICAgICAgICB3cml0ZUluZGVudCh0ZXh0U3RyZWFtLCBpbmRlbnQgKyAx
KTsKLSAgICAgICAgdGV4dFN0cmVhbSA8PCAiKGFjY2VsZXJhdGVzIGRyYXdpbmcgIiA8PCBtX2Fj
Y2VsZXJhdGVzRHJhd2luZyA8PCAiKVxuIjsKLSAgICAgICAgd3JpdGVJbmRlbnQodGV4dFN0cmVh
bSwgaW5kZW50ICsgMSk7Ci0gICAgICAgIHRleHRTdHJlYW0gPDwgIih1c2VzIGRpc3BsYXktbGlz
dCBkcmF3aW5nICIgPDwgbV91c2VzRGlzcGxheUxpc3REcmF3aW5nIDw8ICIpXG4iOworICAgICAg
ICB0ZXh0U3RyZWFtIDw8IGluZGVudCA8PCAiKGFjY2VsZXJhdGVzIGRyYXdpbmcgIiA8PCBtX2Fj
Y2VsZXJhdGVzRHJhd2luZyA8PCAiKVxuIjsKKyAgICAgICAgdGV4dFN0cmVhbSA8PCBpbmRlbnQg
PDwgIih1c2VzIGRpc3BsYXktbGlzdCBkcmF3aW5nICIgPDwgbV91c2VzRGlzcGxheUxpc3REcmF3
aW5nIDw8ICIpXG4iOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0EuaAppbmRleCAyMmRmNTg1YTViYWQ5Y2Iz
ZTZkNmJhMTc3NzlkNDg5YWY0M2Y1ODc5Li5jOWI1MzY2MmYxYjk1ODE0ZjQ2NTdlMjFkMmY2OTdk
OGRhNjA2NzNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
YS9HcmFwaGljc0xheWVyQ0EuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jYS9HcmFwaGljc0xheWVyQ0EuaApAQCAtMjg4LDcgKzI4OCw3IEBAIHByaXZhdGU6CiAgICAg
V0VCQ09SRV9FWFBPUlQgYm9vbCBjYW5UaHJvdHRsZUxheWVyRmx1c2goKSBjb25zdCBvdmVycmlk
ZTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZ2V0RGVidWdCb3JkZXJJbmZvKENvbG9yJiwg
ZmxvYXQmIHdpZHRoKSBjb25zdCBvdmVycmlkZTsKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGR1
bXBBZGRpdGlvbmFsUHJvcGVydGllcyhXVEY6OlRleHRTdHJlYW0mLCBpbnQgaW5kZW50LCBMYXll
clRyZWVBc1RleHRCZWhhdmlvcikgY29uc3Qgb3ZlcnJpZGU7CisgICAgV0VCQ09SRV9FWFBPUlQg
dm9pZCBkdW1wQWRkaXRpb25hbFByb3BlcnRpZXMoV1RGOjpUZXh0U3RyZWFtJiwgTGF5ZXJUcmVl
QXNUZXh0QmVoYXZpb3IpIGNvbnN0IG92ZXJyaWRlOwogCiAgICAgdm9pZCBjb21wdXRlUGl4ZWxB
bGlnbm1lbnQoZmxvYXQgY29udGVudHNTY2FsZSwgY29uc3QgRmxvYXRQb2ludCYgcG9zaXRpb25S
ZWxhdGl2ZVRvQmFzZSwKICAgICAgICAgRmxvYXRQb2ludCYgcG9zaXRpb24sIEZsb2F0UG9pbnQz
RCYgYW5jaG9yUG9pbnQsIEZsb2F0U2l6ZSYgYWxpZ25tZW50T2Zmc2V0KSBjb25zdDsK
</data>

          </attachment>
      

    </bug>

</bugzilla>