<?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>136498</bug_id>
          
          <creation_ts>2014-09-03 14:11:23 -0700</creation_ts>
          <short_desc>Delete class SavedDrawingStateForMask</short_desc>
          <delta_ts>2014-09-10 17:50:38 -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>Layout and Rendering</component>
          <version>528+ (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="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>d-r</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>fmalita</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jonlee</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pdr</cc>
    
    <cc>schenney</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1033012</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2014-09-03 14:11:23 -0700</bug_when>
    <thetext>It is unnecessary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1034170</commentid>
    <comment_count>1</comment_count>
      <attachid>237858</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2014-09-09 14:43:18 -0700</bug_when>
    <thetext>Created attachment 237858
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1034172</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-09-09 14:44:59 -0700</bug_when>
    <thetext>Attachment 237858 did not pass style-queue:


ERROR: Source/WebCore/rendering/TextPainter.cpp:38:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Total errors found: 1 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1034195</commentid>
    <comment_count>3</comment_count>
      <attachid>237868</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2014-09-09 16:03:17 -0700</bug_when>
    <thetext>Created attachment 237868
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1034197</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-09-09 16:06:07 -0700</bug_when>
    <thetext>Attachment 237868 did not pass style-queue:


ERROR: Source/WebCore/rendering/TextPainter.cpp:38:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Total errors found: 1 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1034214</commentid>
    <comment_count>5</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2014-09-09 17:06:31 -0700</bug_when>
    <thetext>Style error is a false positive.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1034315</commentid>
    <comment_count>6</comment_count>
      <attachid>237868</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-09-10 08:34:53 -0700</bug_when>
    <thetext>Comment on attachment 237868
Patch

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

&gt; Source/WebCore/rendering/TextPainter.cpp:139
&gt; +            TextRun&amp; emphasisMarkTextRun = m_combinedText ? static_cast&lt;TextRun&amp;&gt;(objectReplacementCharacterTextRun) : m_textRun;

Instead of:

    static_cast&lt;TextRun&amp;&gt;(objectReplacementCharacterTextRun)

Should use:

    objectReplacementCharacterTextRun.get()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1034479</commentid>
    <comment_count>7</comment_count>
      <attachid>237868</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2014-09-10 17:16:16 -0700</bug_when>
    <thetext>Comment on attachment 237868
Patch

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

&gt;&gt; Source/WebCore/rendering/TextPainter.cpp:139
&gt;&gt; +            TextRun&amp; emphasisMarkTextRun = m_combinedText ? static_cast&lt;TextRun&amp;&gt;(objectReplacementCharacterTextRun) : m_textRun;
&gt; 
&gt; Instead of:
&gt; 
&gt;     static_cast&lt;TextRun&amp;&gt;(objectReplacementCharacterTextRun)
&gt; 
&gt; Should use:
&gt; 
&gt;     objectReplacementCharacterTextRun.get()

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1034497</commentid>
    <comment_count>8</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2014-09-10 17:50:38 -0700</bug_when>
    <thetext>https://trac.webkit.org/r173502</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>237858</attachid>
            <date>2014-09-09 14:43:18 -0700</date>
            <delta_ts>2014-09-09 16:03:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-136498-20140909144314.patch</filename>
            <type>text/plain</type>
            <size>20120</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTczNDM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2I1ZWU5N2YzYmE3MjUz
OTg3YjEyYjU2YTdkMGUyYzA2ZmQxNjFjNy4uNmI0NmMyYzFlZmNkMmIwN2QzN2YxYmViOGE1ODU2
ZGYwYmQwMDUyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE0LTA5LTA5ICBNeWxl
cyBDLiBNYXhmaWVsZCA8bW1heGZpZWxkQGFwcGxlLmNvbT4gIDxsaXRoZXJ1bUBnbWFpbC5jb20+
CisKKyAgICAgICAgRGVsZXRlIGNsYXNzIFNhdmVkRHJhd2luZ1N0YXRlRm9yTWFzaworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM2NDk4CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBjbGFzcyBpcyBs
ZWZ0IG92ZXIgZnJvbSB3aGVuIHRleHQtZGVjb3JhdGlvbi1za2lwOiBpbmsgdXNlZAorICAgICAg
ICBHcmFwaGljc0NvbnRleHQgbWFza2luZy4KKworICAgICAgICBObyBuZXcgdGVzdHMgYmVjYXVz
ZSB0aGVyZSBpcyBubyBiZWhhdmlvciBjaGFuZ2UuCisKKyAgICAgICAgKiByZW5kZXJpbmcvSW5s
aW5lVGV4dEJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVUZXh0Qm94OjphcHBseVNo
YWRvd1RvR3JhcGhpY3NDb250ZXh0KToKKyAgICAgICAgKiByZW5kZXJpbmcvSW5saW5lVGV4dEJv
eC5oOgorICAgICAgICAqIHJlbmRlcmluZy9UZXh0UGFpbnRlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpUZXh0UGFpbnRlcjo6VGV4dFBhaW50ZXIpOgorICAgICAgICAoV2ViQ29yZTo6cGFpbnRU
ZXh0V2l0aFNoYWRvd3MpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dFBhaW50ZXI6OnBhaW50VGV4
dCk6CisgICAgICAgICogcmVuZGVyaW5nL1RleHRQYWludGVyLmg6CisgICAgICAgIChXZWJDb3Jl
OjpTYXZlZERyYXdpbmdTdGF0ZUZvck1hc2s6OlNhdmVkRHJhd2luZ1N0YXRlRm9yTWFzayk6IERl
bGV0ZWQuCisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9TVkdJbmxpbmVUZXh0Qm94LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR0lubGluZVRleHRCb3g6OnBhaW50VGV4dFdpdGhTaGFkb3dzKToK
KwogMjAxNC0wOS0wOSAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAg
ICBbTVNFXSBtZWRpYS9tZWRpYS1zb3VyY2UgdGVzdHMgYnJva2VuIGFmdGVyIHIxNzMzMTgKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAppbmRleCAyMWM0Njg0ODdi
NzkxZGMwMGExNWQzYzcxZmUwMDVhMTJiMGNmZDc4Li41MjdmMzU2ODQ2Y2Y1NzFlZDJjMDcyMTg5
ZDhjNTU5NDA2MWYxMTRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5s
aW5lVGV4dEJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRC
b3guY3BwCkBAIC00MjQsNyArNDI0LDcgQEAgYm9vbCBJbmxpbmVUZXh0Qm94Ojpub2RlQXRQb2lu
dChjb25zdCBIaXRUZXN0UmVxdWVzdCYgcmVxdWVzdCwgSGl0VGVzdFJlc3VsdCYgcmUKICAgICBy
ZXR1cm4gZmFsc2U7CiB9CiAKLUZsb2F0U2l6ZSBJbmxpbmVUZXh0Qm94OjphcHBseVNoYWRvd1Rv
R3JhcGhpY3NDb250ZXh0KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgU2hhZG93RGF0
YSogc2hhZG93LCBjb25zdCBGbG9hdFJlY3QmIHRleHRSZWN0LCBib29sIHN0cm9rZWQsIGJvb2wg
b3BhcXVlLCBib29sIGhvcml6b250YWwsIGJvb2wmIGRpZFNhdmVDb250ZXh0KQorRmxvYXRTaXpl
IElubGluZVRleHRCb3g6OmFwcGx5U2hhZG93VG9HcmFwaGljc0NvbnRleHQoR3JhcGhpY3NDb250
ZXh0JiBjb250ZXh0LCBjb25zdCBTaGFkb3dEYXRhKiBzaGFkb3csIGNvbnN0IEZsb2F0UmVjdCYg
dGV4dFJlY3QsIGJvb2wgc3Ryb2tlZCwgYm9vbCBvcGFxdWUsIGJvb2wgaG9yaXpvbnRhbCwgYm9v
bCYgZGlkU2F2ZUNvbnRleHQpCiB7CiAgICAgaWYgKCFzaGFkb3cpCiAgICAgICAgIHJldHVybiBG
bG9hdFNpemUoKTsKQEAgLTQ0MCwxNSArNDQwLDE1IEBAIEZsb2F0U2l6ZSBJbmxpbmVUZXh0Qm94
OjphcHBseVNoYWRvd1RvR3JhcGhpY3NDb250ZXh0KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwK
ICAgICAgICAgRmxvYXRSZWN0IHNoYWRvd1JlY3QodGV4dFJlY3QpOwogICAgICAgICBzaGFkb3dS
ZWN0LmluZmxhdGUoc2hhZG93LT5wYWludGluZ0V4dGVudCgpKTsKICAgICAgICAgc2hhZG93UmVj
dC5tb3ZlKHNoYWRvd09mZnNldCk7Ci0gICAgICAgIGNvbnRleHQtPnNhdmUoKTsKLSAgICAgICAg
Y29udGV4dC0+Y2xpcChzaGFkb3dSZWN0KTsKKyAgICAgICAgY29udGV4dC5zYXZlKCk7CisgICAg
ICAgIGNvbnRleHQuY2xpcChzaGFkb3dSZWN0KTsKIAogICAgICAgICBleHRyYU9mZnNldCA9IEZs
b2F0U2l6ZSgwLCAyICogdGV4dFJlY3QuaGVpZ2h0KCkgKyBzdGQ6Om1heCgwLjBmLCBzaGFkb3dP
ZmZzZXQuaGVpZ2h0KCkpICsgc2hhZG93UmFkaXVzKTsKICAgICAgICAgc2hhZG93T2Zmc2V0IC09
IGV4dHJhT2Zmc2V0OwogICAgICAgICBkaWRTYXZlQ29udGV4dCA9IHRydWU7CiAgICAgfQogCi0g
ICAgY29udGV4dC0+c2V0U2hhZG93KHNoYWRvd09mZnNldCwgc2hhZG93UmFkaXVzLCBzaGFkb3dD
b2xvciwgY29udGV4dC0+ZmlsbENvbG9yU3BhY2UoKSk7CisgICAgY29udGV4dC5zZXRTaGFkb3co
c2hhZG93T2Zmc2V0LCBzaGFkb3dSYWRpdXMsIHNoYWRvd0NvbG9yLCBjb250ZXh0LmZpbGxDb2xv
clNwYWNlKCkpOwogICAgIHJldHVybiBleHRyYU9mZnNldDsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9JbmxpbmVUZXh0Qm94LmgKaW5kZXggNmIwYWU0ODk5ZDAxN2E0ZjJkYmIxODgwMTMw
NGM4NjVkNTNkNzk0OS4uZTg5YTJjZDljN2Y5ODg5OWFiNDczZWZiNzQyN2UzODQ2NGE3OWM5YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5oCkBAIC0xNTUsNyArMTU1
LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgZmxvYXQgcG9zaXRpb25Gb3JPZmZzZXQoaW50IG9m
ZnNldCkgY29uc3Q7CiAKICAgICAvLyBOZWVkcyB0byBiZSBwdWJsaWMsIHNvIHRoZSBzdGF0aWMg
cGFpbnRUZXh0V2l0aFNoYWRvd3MoKSBmdW5jdGlvbiBjYW4gdXNlIGl0LgotICAgIHN0YXRpYyBG
bG9hdFNpemUgYXBwbHlTaGFkb3dUb0dyYXBoaWNzQ29udGV4dChHcmFwaGljc0NvbnRleHQqLCBj
b25zdCBTaGFkb3dEYXRhKiwgY29uc3QgRmxvYXRSZWN0JiB0ZXh0UmVjdCwgYm9vbCBzdHJva2Vk
LCBib29sIG9wYXF1ZSwgYm9vbCBob3Jpem9udGFsLCBib29sJiBkaWRTYXZlQ29udGV4dCk7Cisg
ICAgc3RhdGljIEZsb2F0U2l6ZSBhcHBseVNoYWRvd1RvR3JhcGhpY3NDb250ZXh0KEdyYXBoaWNz
Q29udGV4dCYsIGNvbnN0IFNoYWRvd0RhdGEqLCBjb25zdCBGbG9hdFJlY3QmIHRleHRSZWN0LCBi
b29sIHN0cm9rZWQsIGJvb2wgb3BhcXVlLCBib29sIGhvcml6b250YWwsIGJvb2wmIGRpZFNhdmVD
b250ZXh0KTsKIAogcHJvdGVjdGVkOgogICAgIHZvaWQgcGFpbnRDb21wb3NpdGlvbkJhY2tncm91
bmQoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgRmxvYXRQb2ludCYgYm94T3JpZ2luLCBjb25zdCBS
ZW5kZXJTdHlsZSYsIGNvbnN0IEZvbnQmLCBpbnQgc3RhcnRQb3MsIGludCBlbmRQb3MpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRQYWludGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0UGFpbnRlci5jcHAKaW5kZXggYzMzZjk1YjU0YmUyYjRm
ZDA0OTNlOTlhMWEzMzBmYWExZjE0MjZhZi4uY2Y3YjZjMzYzNWUzZGIxZTBkNzdlNGM1NWJmNDhi
ZTI5YTcwODk2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRQYWlu
dGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dFBhaW50ZXIuY3BwCkBA
IC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiSW5saW5lVGV4dEJveC5oIgogI2luY2x1ZGUgIlJl
bmRlckNvbWJpbmVUZXh0LmgiCiAjaW5jbHVkZSAiVGV4dFBhaW50U3R5bGUuaCIKKyNpbmNsdWRl
IDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zNCwy
MCArMzUsMjQgQEAgVGV4dFBhaW50ZXI6OlRleHRQYWludGVyKEdyYXBoaWNzQ29udGV4dCYgY29u
dGV4dCwgYm9vbCBwYWludFNlbGVjdGVkVGV4dE9ubHksIGIKICAgICBpbnQgc3RhcnRQb3NpdGlv
bkluVGV4dFJ1biwgaW50IGVuZFBvc2l0aW9uSW5UZXh0Qm94U3RyaW5nLCBpbnQgbGVuZ3RoLCBj
b25zdCBBdG9taWNTdHJpbmcmIGVtcGhhc2lzTWFyaywgUmVuZGVyQ29tYmluZVRleHQqIGNvbWJp
bmVkVGV4dCwgVGV4dFJ1biYgdGV4dFJ1biwKICAgICBGbG9hdFJlY3QmIGJveFJlY3QsIEZsb2F0
UG9pbnQmIHRleHRPcmlnaW4sIGludCBlbXBoYXNpc01hcmtPZmZzZXQsIGNvbnN0IFNoYWRvd0Rh
dGEqIHRleHRTaGFkb3csIGNvbnN0IFNoYWRvd0RhdGEqIHNlbGVjdGlvblNoYWRvdywKICAgICBi
b29sIHRleHRCb3hJc0hvcml6b250YWwsIFRleHRQYWludFN0eWxlJiB0ZXh0UGFpbnRTdHlsZSwg
VGV4dFBhaW50U3R5bGUmIHNlbGVjdGlvblBhaW50U3R5bGUpCi0gICAgOiBtX3BhaW50U2VsZWN0
ZWRUZXh0T25seShwYWludFNlbGVjdGVkVGV4dE9ubHkpCi0gICAgLCBtX3BhaW50U2VsZWN0ZWRU
ZXh0U2VwYXJhdGVseShwYWludFNlbGVjdGVkVGV4dFNlcGFyYXRlbHkpCi0gICAgLCBtX2ZvbnQo
Zm9udCkKLSAgICAsIG1fc3RhcnRQb3NpdGlvbkluVGV4dFJ1bihzdGFydFBvc2l0aW9uSW5UZXh0
UnVuKQotICAgICwgbV9lbmRQb3NpdGlvbkluVGV4dFJ1bihlbmRQb3NpdGlvbkluVGV4dEJveFN0
cmluZykKLSAgICAsIG1fbGVuZ3RoKGxlbmd0aCkKLSAgICAsIG1fZW1waGFzaXNNYXJrKGVtcGhh
c2lzTWFyaykKLSAgICAsIG1fY29tYmluZWRUZXh0KGNvbWJpbmVkVGV4dCkKLSAgICAsIG1fdGV4
dFJ1bih0ZXh0UnVuKQotICAgICwgbV9ib3hSZWN0KGJveFJlY3QpCi0gICAgLCBtX3RleHRPcmln
aW4odGV4dE9yaWdpbikKLSAgICAsIG1fZW1waGFzaXNNYXJrT2Zmc2V0KGVtcGhhc2lzTWFya09m
ZnNldCkKLSAgICAsIG1fdGV4dEJveElzSG9yaXpvbnRhbCh0ZXh0Qm94SXNIb3Jpem9udGFsKQot
ICAgICwgbV9zYXZlZERyYXdpbmdTdGF0ZUZvck1hc2soJmNvbnRleHQsICZ0ZXh0UGFpbnRTdHls
ZSwgJnNlbGVjdGlvblBhaW50U3R5bGUsIHRleHRTaGFkb3csIHNlbGVjdGlvblNoYWRvdykKKyAg
ICAgICAgOiBtX2NvbnRleHQoY29udGV4dCkKKyAgICAgICAgLCBtX3RleHRQYWludFN0eWxlKHRl
eHRQYWludFN0eWxlKQorICAgICAgICAsIG1fc2VsZWN0aW9uUGFpbnRTdHlsZShzZWxlY3Rpb25Q
YWludFN0eWxlKQorICAgICAgICAsIG1fdGV4dFNoYWRvdyh0ZXh0U2hhZG93KQorICAgICAgICAs
IG1fc2VsZWN0aW9uU2hhZG93KHNlbGVjdGlvblNoYWRvdykKKyAgICAgICAgLCBtX3BhaW50U2Vs
ZWN0ZWRUZXh0T25seShwYWludFNlbGVjdGVkVGV4dE9ubHkpCisgICAgICAgICwgbV9wYWludFNl
bGVjdGVkVGV4dFNlcGFyYXRlbHkocGFpbnRTZWxlY3RlZFRleHRTZXBhcmF0ZWx5KQorICAgICAg
ICAsIG1fZm9udChmb250KQorICAgICAgICAsIG1fc3RhcnRQb3NpdGlvbkluVGV4dFJ1bihzdGFy
dFBvc2l0aW9uSW5UZXh0UnVuKQorICAgICAgICAsIG1fZW5kUG9zaXRpb25JblRleHRSdW4oZW5k
UG9zaXRpb25JblRleHRCb3hTdHJpbmcpCisgICAgICAgICwgbV9sZW5ndGgobGVuZ3RoKQorICAg
ICAgICAsIG1fZW1waGFzaXNNYXJrKGVtcGhhc2lzTWFyaykKKyAgICAgICAgLCBtX2NvbWJpbmVk
VGV4dChjb21iaW5lZFRleHQpCisgICAgICAgICwgbV90ZXh0UnVuKHRleHRSdW4pCisgICAgICAg
ICwgbV9ib3hSZWN0KGJveFJlY3QpCisgICAgICAgICwgbV90ZXh0T3JpZ2luKHRleHRPcmlnaW4p
CisgICAgICAgICwgbV9lbXBoYXNpc01hcmtPZmZzZXQoZW1waGFzaXNNYXJrT2Zmc2V0KQorICAg
ICAgICAsIG1fdGV4dEJveElzSG9yaXpvbnRhbCh0ZXh0Qm94SXNIb3Jpem9udGFsKQogewogfQog
CkBAIC02NywxNSArNzIsMTUgQEAgc3RhdGljIGJvb2wgaXNFbXB0eVNoYWRvdyhjb25zdCBTaGFk
b3dEYXRhKiBzaGFkb3cpCiAgICAgcmV0dXJuIHNoYWRvdy0+bG9jYXRpb24oKSA9PSBJbnRQb2lu
dCgpICYmICFzaGFkb3ctPnJhZGl1cygpOwogfQogCi1zdGF0aWMgdm9pZCBwYWludFRleHRXaXRo
U2hhZG93cyhHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEZvbnQmIGZvbnQsIGNvbnN0
IFRleHRSdW4mIHRleHRSdW4sIGNvbnN0IEF0b21pY1N0cmluZyYgZW1waGFzaXNNYXJrLAorc3Rh
dGljIHZvaWQgcGFpbnRUZXh0V2l0aFNoYWRvd3MoR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBj
b25zdCBGb250JiBmb250LCBjb25zdCBUZXh0UnVuJiB0ZXh0UnVuLCBjb25zdCBBdG9taWNTdHJp
bmcmIGVtcGhhc2lzTWFyaywKICAgICBpbnQgZW1waGFzaXNNYXJrT2Zmc2V0LCBpbnQgc3RhcnRP
ZmZzZXQsIGludCBlbmRPZmZzZXQsIGludCB0cnVuY2F0aW9uUG9pbnQsIGNvbnN0IEZsb2F0UG9p
bnQmIHRleHRPcmlnaW4sIGNvbnN0IEZsb2F0UmVjdCYgYm94UmVjdCwKICAgICBjb25zdCBTaGFk
b3dEYXRhKiBzaGFkb3csIGJvb2wgc3Ryb2tlZCwgYm9vbCBob3Jpem9udGFsKQogewotICAgIENv
bG9yIGZpbGxDb2xvciA9IGNvbnRleHQtPmZpbGxDb2xvcigpOwotICAgIENvbG9yU3BhY2UgZmls
bENvbG9yU3BhY2UgPSBjb250ZXh0LT5maWxsQ29sb3JTcGFjZSgpOworICAgIENvbG9yIGZpbGxD
b2xvciA9IGNvbnRleHQuZmlsbENvbG9yKCk7CisgICAgQ29sb3JTcGFjZSBmaWxsQ29sb3JTcGFj
ZSA9IGNvbnRleHQuZmlsbENvbG9yU3BhY2UoKTsKICAgICBib29sIG9wYXF1ZSA9ICFmaWxsQ29s
b3IuaGFzQWxwaGEoKTsKICAgICBpZiAoIW9wYXF1ZSkKLSAgICAgICAgY29udGV4dC0+c2V0Rmls
bENvbG9yKENvbG9yOjpibGFjaywgZmlsbENvbG9yU3BhY2UpOworICAgICAgICBjb250ZXh0LnNl
dEZpbGxDb2xvcihDb2xvcjo6YmxhY2ssIGZpbGxDb2xvclNwYWNlKTsKIAogICAgIGRvIHsKICAg
ICAgICAgaWYgKGlzRW1wdHlTaGFkb3coc2hhZG93KSkgewpAQCAtODgsMjQgKzkzLDI0IEBAIHN0
YXRpYyB2b2lkIHBhaW50VGV4dFdpdGhTaGFkb3dzKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwg
Y29uc3QgRm9udCYgZm9udCwgY29uCiAgICAgICAgIGlmIChzaGFkb3cpCiAgICAgICAgICAgICBl
eHRyYU9mZnNldCA9IHJvdW5kZWRJbnRTaXplKElubGluZVRleHRCb3g6OmFwcGx5U2hhZG93VG9H
cmFwaGljc0NvbnRleHQoY29udGV4dCwgc2hhZG93LCBib3hSZWN0LCBzdHJva2VkLCBvcGFxdWUs
IGhvcml6b250YWwsIGRpZFNhdmVDb250ZXh0KSk7CiAgICAgICAgIGVsc2UgaWYgKCFvcGFxdWUp
Ci0gICAgICAgICAgICBjb250ZXh0LT5zZXRGaWxsQ29sb3IoZmlsbENvbG9yLCBmaWxsQ29sb3JT
cGFjZSk7CisgICAgICAgICAgICBjb250ZXh0LnNldEZpbGxDb2xvcihmaWxsQ29sb3IsIGZpbGxD
b2xvclNwYWNlKTsKIAogICAgICAgICBpZiAoc3RhcnRPZmZzZXQgPD0gZW5kT2Zmc2V0KQotICAg
ICAgICAgICAgZHJhd1RleHRPckVtcGhhc2lzTWFya3MoKmNvbnRleHQsIGZvbnQsIHRleHRSdW4s
IGVtcGhhc2lzTWFyaywgZW1waGFzaXNNYXJrT2Zmc2V0LCB0ZXh0T3JpZ2luICsgZXh0cmFPZmZz
ZXQsIHN0YXJ0T2Zmc2V0LCBlbmRPZmZzZXQpOworICAgICAgICAgICAgZHJhd1RleHRPckVtcGhh
c2lzTWFya3MoY29udGV4dCwgZm9udCwgdGV4dFJ1biwgZW1waGFzaXNNYXJrLCBlbXBoYXNpc01h
cmtPZmZzZXQsIHRleHRPcmlnaW4gKyBleHRyYU9mZnNldCwgc3RhcnRPZmZzZXQsIGVuZE9mZnNl
dCk7CiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgaWYgKGVuZE9mZnNldCA+IDApCi0gICAg
ICAgICAgICAgICAgZHJhd1RleHRPckVtcGhhc2lzTWFya3MoKmNvbnRleHQsIGZvbnQsIHRleHRS
dW4sIGVtcGhhc2lzTWFyaywgZW1waGFzaXNNYXJrT2Zmc2V0LCB0ZXh0T3JpZ2luICsgZXh0cmFP
ZmZzZXQsIDAsIGVuZE9mZnNldCk7CisgICAgICAgICAgICAgICAgZHJhd1RleHRPckVtcGhhc2lz
TWFya3MoY29udGV4dCwgZm9udCwgdGV4dFJ1biwgZW1waGFzaXNNYXJrLCBlbXBoYXNpc01hcmtP
ZmZzZXQsIHRleHRPcmlnaW4gKyBleHRyYU9mZnNldCwgMCwgZW5kT2Zmc2V0KTsKICAgICAgICAg
ICAgIGlmIChzdGFydE9mZnNldCA8IHRydW5jYXRpb25Qb2ludCkKLSAgICAgICAgICAgICAgICBk
cmF3VGV4dE9yRW1waGFzaXNNYXJrcygqY29udGV4dCwgZm9udCwgdGV4dFJ1biwgZW1waGFzaXNN
YXJrLCBlbXBoYXNpc01hcmtPZmZzZXQsIHRleHRPcmlnaW4gKyBleHRyYU9mZnNldCwgc3RhcnRP
ZmZzZXQsIHRydW5jYXRpb25Qb2ludCk7CisgICAgICAgICAgICAgICAgZHJhd1RleHRPckVtcGhh
c2lzTWFya3MoY29udGV4dCwgZm9udCwgdGV4dFJ1biwgZW1waGFzaXNNYXJrLCBlbXBoYXNpc01h
cmtPZmZzZXQsIHRleHRPcmlnaW4gKyBleHRyYU9mZnNldCwgc3RhcnRPZmZzZXQsIHRydW5jYXRp
b25Qb2ludCk7CiAgICAgICAgIH0KIAogICAgICAgICBpZiAoIXNoYWRvdykKICAgICAgICAgICAg
IGJyZWFrOwogCiAgICAgICAgIGlmIChkaWRTYXZlQ29udGV4dCkKLSAgICAgICAgICAgIGNvbnRl
eHQtPnJlc3RvcmUoKTsKKyAgICAgICAgICAgIGNvbnRleHQucmVzdG9yZSgpOwogICAgICAgICBl
bHNlCi0gICAgICAgICAgICBjb250ZXh0LT5jbGVhclNoYWRvdygpOworICAgICAgICAgICAgY29u
dGV4dC5jbGVhclNoYWRvdygpOwogCiAgICAgICAgIHNoYWRvdyA9IHNoYWRvdy0+bmV4dCgpOwog
ICAgIH0gd2hpbGUgKHNoYWRvdyB8fCBzdHJva2VkIHx8ICFvcGFxdWUpOwpAQCAtMTEzLDYyICsx
MTgsNTkgQEAgc3RhdGljIHZvaWQgcGFpbnRUZXh0V2l0aFNoYWRvd3MoR3JhcGhpY3NDb250ZXh0
KiBjb250ZXh0LCBjb25zdCBGb250JiBmb250LCBjb24KIAogdm9pZCBUZXh0UGFpbnRlcjo6cGFp
bnRUZXh0KCkKIHsKLSAgICBBU1NFUlQobV9zYXZlZERyYXdpbmdTdGF0ZUZvck1hc2subV90ZXh0
UGFpbnRTdHlsZSk7Ci0gICAgQVNTRVJUKG1fc2F2ZWREcmF3aW5nU3RhdGVGb3JNYXNrLm1fc2Vs
ZWN0aW9uUGFpbnRTdHlsZSk7Ci0gICAgCiAgICAgRmxvYXRQb2ludCBib3hPcmlnaW4gPSBtX2Jv
eFJlY3QubG9jYXRpb24oKTsKIAogICAgIGlmICghbV9wYWludFNlbGVjdGVkVGV4dE9ubHkpIHsK
ICAgICAgICAgLy8gRm9yIHN0cm9rZWQgcGFpbnRpbmcsIHdlIGhhdmUgdG8gY2hhbmdlIHRoZSB0
ZXh0IGRyYXdpbmcgbW9kZS4gSXQncyBwcm9iYWJseSBkYW5nZXJvdXMgdG8gbGVhdmUgdGhhdCBt
dXRhdGVkIGFzIGEgc2lkZQogICAgICAgICAvLyBlZmZlY3QsIHNvIG9ubHkgd2hlbiB3ZSBrbm93
IHdlJ3JlIHN0cm9raW5nLCBkbyBhIHNhdmUvcmVzdG9yZS4KLSAgICAgICAgR3JhcGhpY3NDb250
ZXh0U3RhdGVTYXZlciBzdGF0ZVNhdmVyKCptX3NhdmVkRHJhd2luZ1N0YXRlRm9yTWFzay5tX2Nv
bnRleHQsIG1fc2F2ZWREcmF3aW5nU3RhdGVGb3JNYXNrLm1fdGV4dFBhaW50U3R5bGUtPnN0cm9r
ZVdpZHRoID4gMCk7CisgICAgICAgIEdyYXBoaWNzQ29udGV4dFN0YXRlU2F2ZXIgc3RhdGVTYXZl
cihtX2NvbnRleHQsIG1fdGV4dFBhaW50U3R5bGUuc3Ryb2tlV2lkdGggPiAwKTsKIAotICAgICAg
ICB1cGRhdGVHcmFwaGljc0NvbnRleHQoKm1fc2F2ZWREcmF3aW5nU3RhdGVGb3JNYXNrLm1fY29u
dGV4dCwgKm1fc2F2ZWREcmF3aW5nU3RhdGVGb3JNYXNrLm1fdGV4dFBhaW50U3R5bGUpOworICAg
ICAgICB1cGRhdGVHcmFwaGljc0NvbnRleHQobV9jb250ZXh0LCBtX3RleHRQYWludFN0eWxlKTsK
ICAgICAgICAgaWYgKCFtX3BhaW50U2VsZWN0ZWRUZXh0U2VwYXJhdGVseSB8fCBtX2VuZFBvc2l0
aW9uSW5UZXh0UnVuIDw9IG1fc3RhcnRQb3NpdGlvbkluVGV4dFJ1bikgewogICAgICAgICAgICAg
Ly8gRklYTUU6IFRydW5jYXRlIHJpZ2h0LXRvLWxlZnQgdGV4dCBjb3JyZWN0bHkuCi0gICAgICAg
ICAgICBwYWludFRleHRXaXRoU2hhZG93cyhtX3NhdmVkRHJhd2luZ1N0YXRlRm9yTWFzay5tX2Nv
bnRleHQsIG1fZm9udCwgbV90ZXh0UnVuLCBudWxsQXRvbSwgMCwgMCwgbV9sZW5ndGgsIG1fbGVu
Z3RoLCBtX3RleHRPcmlnaW4sIG1fYm94UmVjdCwgbV9zYXZlZERyYXdpbmdTdGF0ZUZvck1hc2su
bV90ZXh0U2hhZG93LCBtX3NhdmVkRHJhd2luZ1N0YXRlRm9yTWFzay5tX3RleHRQYWludFN0eWxl
LT5zdHJva2VXaWR0aCA+IDAsIG1fdGV4dEJveElzSG9yaXpvbnRhbCk7CisgICAgICAgICAgICBw
YWludFRleHRXaXRoU2hhZG93cyhtX2NvbnRleHQsIG1fZm9udCwgbV90ZXh0UnVuLCBudWxsQXRv
bSwgMCwgMCwgbV9sZW5ndGgsIG1fbGVuZ3RoLCBtX3RleHRPcmlnaW4sIG1fYm94UmVjdCwgbV90
ZXh0U2hhZG93LCBtX3RleHRQYWludFN0eWxlLnN0cm9rZVdpZHRoID4gMCwgbV90ZXh0Qm94SXNI
b3Jpem9udGFsKTsKICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICBwYWludFRleHRXaXRoU2hh
ZG93cyhtX3NhdmVkRHJhd2luZ1N0YXRlRm9yTWFzay5tX2NvbnRleHQsIG1fZm9udCwgbV90ZXh0
UnVuLCBudWxsQXRvbSwgMCwgbV9lbmRQb3NpdGlvbkluVGV4dFJ1biwgbV9zdGFydFBvc2l0aW9u
SW5UZXh0UnVuLCBtX2xlbmd0aCwgbV90ZXh0T3JpZ2luLCBtX2JveFJlY3QsIG1fc2F2ZWREcmF3
aW5nU3RhdGVGb3JNYXNrLm1fdGV4dFNoYWRvdywgbV9zYXZlZERyYXdpbmdTdGF0ZUZvck1hc2su
bV90ZXh0UGFpbnRTdHlsZS0+c3Ryb2tlV2lkdGggPiAwLCBtX3RleHRCb3hJc0hvcml6b250YWwp
OworICAgICAgICAgICAgcGFpbnRUZXh0V2l0aFNoYWRvd3MobV9jb250ZXh0LCBtX2ZvbnQsIG1f
dGV4dFJ1biwgbnVsbEF0b20sIDAsIG1fZW5kUG9zaXRpb25JblRleHRSdW4sIG1fc3RhcnRQb3Np
dGlvbkluVGV4dFJ1biwgbV9sZW5ndGgsIG1fdGV4dE9yaWdpbiwgbV9ib3hSZWN0LCBtX3RleHRT
aGFkb3csIG1fdGV4dFBhaW50U3R5bGUuc3Ryb2tlV2lkdGggPiAwLCBtX3RleHRCb3hJc0hvcml6
b250YWwpOwogCiAgICAgICAgIGlmICghbV9lbXBoYXNpc01hcmsuaXNFbXB0eSgpKSB7Ci0gICAg
ICAgICAgICB1cGRhdGVHcmFwaGljc0NvbnRleHQoKm1fc2F2ZWREcmF3aW5nU3RhdGVGb3JNYXNr
Lm1fY29udGV4dCwgKm1fc2F2ZWREcmF3aW5nU3RhdGVGb3JNYXNrLm1fdGV4dFBhaW50U3R5bGUs
IFVzZUVtcGhhc2lzTWFya0NvbG9yKTsKKyAgICAgICAgICAgIHVwZGF0ZUdyYXBoaWNzQ29udGV4
dChtX2NvbnRleHQsIG1fdGV4dFBhaW50U3R5bGUsIFVzZUVtcGhhc2lzTWFya0NvbG9yKTsKIAot
ICAgICAgICAgICAgREVQUkVDQVRFRF9ERUZJTkVfU1RBVElDX0xPQ0FMKFRleHRSdW4sIG9iamVj
dFJlcGxhY2VtZW50Q2hhcmFjdGVyVGV4dFJ1biwgKCZvYmplY3RSZXBsYWNlbWVudENoYXJhY3Rl
ciwgMSkpOworICAgICAgICAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFRleHRSdW4+IG9iamVj
dFJlcGxhY2VtZW50Q2hhcmFjdGVyVGV4dFJ1bigmb2JqZWN0UmVwbGFjZW1lbnRDaGFyYWN0ZXIs
IDEpOwogICAgICAgICAgICAgVGV4dFJ1biYgZW1waGFzaXNNYXJrVGV4dFJ1biA9IG1fY29tYmlu
ZWRUZXh0ID8gb2JqZWN0UmVwbGFjZW1lbnRDaGFyYWN0ZXJUZXh0UnVuIDogbV90ZXh0UnVuOwog
ICAgICAgICAgICAgRmxvYXRQb2ludCBlbXBoYXNpc01hcmtUZXh0T3JpZ2luID0gbV9jb21iaW5l
ZFRleHQgPyBGbG9hdFBvaW50KGJveE9yaWdpbi54KCkgKyBtX2JveFJlY3Qud2lkdGgoKSAvIDIs
IGJveE9yaWdpbi55KCkgKyBtX2ZvbnQuZm9udE1ldHJpY3MoKS5hc2NlbnQoKSkgOiBtX3RleHRP
cmlnaW47CiAgICAgICAgICAgICBpZiAobV9jb21iaW5lZFRleHQpCi0gICAgICAgICAgICAgICAg
bV9zYXZlZERyYXdpbmdTdGF0ZUZvck1hc2subV9jb250ZXh0LT5jb25jYXRDVE0ocm90YXRpb24o
bV9ib3hSZWN0LCBDbG9ja3dpc2UpKTsKKyAgICAgICAgICAgICAgICBtX2NvbnRleHQuY29uY2F0
Q1RNKHJvdGF0aW9uKG1fYm94UmVjdCwgQ2xvY2t3aXNlKSk7CiAKICAgICAgICAgICAgIGlmICgh
bV9wYWludFNlbGVjdGVkVGV4dFNlcGFyYXRlbHkgfHwgbV9lbmRQb3NpdGlvbkluVGV4dFJ1biA8
PSBtX3N0YXJ0UG9zaXRpb25JblRleHRSdW4pIHsKICAgICAgICAgICAgICAgICAvLyBGSVhNRTog
VHJ1bmNhdGUgcmlnaHQtdG8tbGVmdCB0ZXh0IGNvcnJlY3RseS4KLSAgICAgICAgICAgICAgICBw
YWludFRleHRXaXRoU2hhZG93cyhtX3NhdmVkRHJhd2luZ1N0YXRlRm9yTWFzay5tX2NvbnRleHQs
IG1fY29tYmluZWRUZXh0ID8gbV9jb21iaW5lZFRleHQtPm9yaWdpbmFsRm9udCgpIDogbV9mb250
LCBlbXBoYXNpc01hcmtUZXh0UnVuLCBtX2VtcGhhc2lzTWFyaywgbV9lbXBoYXNpc01hcmtPZmZz
ZXQsIDAsIG1fbGVuZ3RoLCBtX2xlbmd0aCwgZW1waGFzaXNNYXJrVGV4dE9yaWdpbiwgbV9ib3hS
ZWN0LCBtX3NhdmVkRHJhd2luZ1N0YXRlRm9yTWFzay5tX3RleHRTaGFkb3csIG1fc2F2ZWREcmF3
aW5nU3RhdGVGb3JNYXNrLm1fdGV4dFBhaW50U3R5bGUtPnN0cm9rZVdpZHRoID4gMCwgbV90ZXh0
Qm94SXNIb3Jpem9udGFsKTsKKyAgICAgICAgICAgICAgICBwYWludFRleHRXaXRoU2hhZG93cyht
X2NvbnRleHQsIG1fY29tYmluZWRUZXh0ID8gbV9jb21iaW5lZFRleHQtPm9yaWdpbmFsRm9udCgp
IDogbV9mb250LCBlbXBoYXNpc01hcmtUZXh0UnVuLCBtX2VtcGhhc2lzTWFyaywgbV9lbXBoYXNp
c01hcmtPZmZzZXQsIDAsIG1fbGVuZ3RoLCBtX2xlbmd0aCwgZW1waGFzaXNNYXJrVGV4dE9yaWdp
biwgbV9ib3hSZWN0LCBtX3RleHRTaGFkb3csIG1fdGV4dFBhaW50U3R5bGUuc3Ryb2tlV2lkdGgg
PiAwLCBtX3RleHRCb3hJc0hvcml6b250YWwpOwogICAgICAgICAgICAgfSBlbHNlCi0gICAgICAg
ICAgICAgICAgcGFpbnRUZXh0V2l0aFNoYWRvd3MobV9zYXZlZERyYXdpbmdTdGF0ZUZvck1hc2su
bV9jb250ZXh0LCBtX2NvbWJpbmVkVGV4dCA/IG1fY29tYmluZWRUZXh0LT5vcmlnaW5hbEZvbnQo
KSA6IG1fZm9udCwgZW1waGFzaXNNYXJrVGV4dFJ1biwgbV9lbXBoYXNpc01hcmssIG1fZW1waGFz
aXNNYXJrT2Zmc2V0LCBtX2VuZFBvc2l0aW9uSW5UZXh0UnVuLCBtX3N0YXJ0UG9zaXRpb25JblRl
eHRSdW4sIG1fbGVuZ3RoLCBlbXBoYXNpc01hcmtUZXh0T3JpZ2luLCBtX2JveFJlY3QsIG1fc2F2
ZWREcmF3aW5nU3RhdGVGb3JNYXNrLm1fdGV4dFNoYWRvdywgbV9zYXZlZERyYXdpbmdTdGF0ZUZv
ck1hc2subV90ZXh0UGFpbnRTdHlsZS0+c3Ryb2tlV2lkdGggPiAwLCBtX3RleHRCb3hJc0hvcml6
b250YWwpOworICAgICAgICAgICAgICAgIHBhaW50VGV4dFdpdGhTaGFkb3dzKG1fY29udGV4dCwg
bV9jb21iaW5lZFRleHQgPyBtX2NvbWJpbmVkVGV4dC0+b3JpZ2luYWxGb250KCkgOiBtX2ZvbnQs
IGVtcGhhc2lzTWFya1RleHRSdW4sIG1fZW1waGFzaXNNYXJrLCBtX2VtcGhhc2lzTWFya09mZnNl
dCwgbV9lbmRQb3NpdGlvbkluVGV4dFJ1biwgbV9zdGFydFBvc2l0aW9uSW5UZXh0UnVuLCBtX2xl
bmd0aCwgZW1waGFzaXNNYXJrVGV4dE9yaWdpbiwgbV9ib3hSZWN0LCBtX3RleHRTaGFkb3csIG1f
dGV4dFBhaW50U3R5bGUuc3Ryb2tlV2lkdGggPiAwLCBtX3RleHRCb3hJc0hvcml6b250YWwpOwog
CiAgICAgICAgICAgICBpZiAobV9jb21iaW5lZFRleHQpCi0gICAgICAgICAgICAgICAgbV9zYXZl
ZERyYXdpbmdTdGF0ZUZvck1hc2subV9jb250ZXh0LT5jb25jYXRDVE0ocm90YXRpb24obV9ib3hS
ZWN0LCBDb3VudGVyY2xvY2t3aXNlKSk7CisgICAgICAgICAgICAgICAgbV9jb250ZXh0LmNvbmNh
dENUTShyb3RhdGlvbihtX2JveFJlY3QsIENvdW50ZXJjbG9ja3dpc2UpKTsKICAgICAgICAgfQog
ICAgIH0KIAogICAgIGlmICgobV9wYWludFNlbGVjdGVkVGV4dE9ubHkgfHwgbV9wYWludFNlbGVj
dGVkVGV4dFNlcGFyYXRlbHkpICYmIG1fc3RhcnRQb3NpdGlvbkluVGV4dFJ1biA8IG1fZW5kUG9z
aXRpb25JblRleHRSdW4pIHsKICAgICAgICAgLy8gcGFpbnQgb25seSB0aGUgdGV4dCB0aGF0IGlz
IHNlbGVjdGVkCi0gICAgICAgIEdyYXBoaWNzQ29udGV4dFN0YXRlU2F2ZXIgc3RhdGVTYXZlcigq
bV9zYXZlZERyYXdpbmdTdGF0ZUZvck1hc2subV9jb250ZXh0LCBtX3NhdmVkRHJhd2luZ1N0YXRl
Rm9yTWFzay5tX3NlbGVjdGlvblBhaW50U3R5bGUtPnN0cm9rZVdpZHRoID4gMCk7CisgICAgICAg
IEdyYXBoaWNzQ29udGV4dFN0YXRlU2F2ZXIgc3RhdGVTYXZlcihtX2NvbnRleHQsIG1fc2VsZWN0
aW9uUGFpbnRTdHlsZS5zdHJva2VXaWR0aCA+IDApOwogCi0gICAgICAgIHVwZGF0ZUdyYXBoaWNz
Q29udGV4dCgqbV9zYXZlZERyYXdpbmdTdGF0ZUZvck1hc2subV9jb250ZXh0LCAqbV9zYXZlZERy
YXdpbmdTdGF0ZUZvck1hc2subV9zZWxlY3Rpb25QYWludFN0eWxlKTsKLSAgICAgICAgcGFpbnRU
ZXh0V2l0aFNoYWRvd3MobV9zYXZlZERyYXdpbmdTdGF0ZUZvck1hc2subV9jb250ZXh0LCBtX2Zv
bnQsIG1fdGV4dFJ1biwgbnVsbEF0b20sIDAsIG1fc3RhcnRQb3NpdGlvbkluVGV4dFJ1biwgbV9l
bmRQb3NpdGlvbkluVGV4dFJ1biwgbV9sZW5ndGgsIG1fdGV4dE9yaWdpbiwgbV9ib3hSZWN0LCBt
X3NhdmVkRHJhd2luZ1N0YXRlRm9yTWFzay5tX3NlbGVjdGlvblNoYWRvdywgbV9zYXZlZERyYXdp
bmdTdGF0ZUZvck1hc2subV9zZWxlY3Rpb25QYWludFN0eWxlLT5zdHJva2VXaWR0aCA+IDAsIG1f
dGV4dEJveElzSG9yaXpvbnRhbCk7CisgICAgICAgIHVwZGF0ZUdyYXBoaWNzQ29udGV4dChtX2Nv
bnRleHQsIG1fc2VsZWN0aW9uUGFpbnRTdHlsZSk7CisgICAgICAgIHBhaW50VGV4dFdpdGhTaGFk
b3dzKG1fY29udGV4dCwgbV9mb250LCBtX3RleHRSdW4sIG51bGxBdG9tLCAwLCBtX3N0YXJ0UG9z
aXRpb25JblRleHRSdW4sIG1fZW5kUG9zaXRpb25JblRleHRSdW4sIG1fbGVuZ3RoLCBtX3RleHRP
cmlnaW4sIG1fYm94UmVjdCwgbV9zZWxlY3Rpb25TaGFkb3csIG1fc2VsZWN0aW9uUGFpbnRTdHls
ZS5zdHJva2VXaWR0aCA+IDAsIG1fdGV4dEJveElzSG9yaXpvbnRhbCk7CiAgICAgICAgIGlmICgh
bV9lbXBoYXNpc01hcmsuaXNFbXB0eSgpKSB7Ci0gICAgICAgICAgICB1cGRhdGVHcmFwaGljc0Nv
bnRleHQoKm1fc2F2ZWREcmF3aW5nU3RhdGVGb3JNYXNrLm1fY29udGV4dCwgKm1fc2F2ZWREcmF3
aW5nU3RhdGVGb3JNYXNrLm1fc2VsZWN0aW9uUGFpbnRTdHlsZSwgVXNlRW1waGFzaXNNYXJrQ29s
b3IpOworICAgICAgICAgICAgdXBkYXRlR3JhcGhpY3NDb250ZXh0KG1fY29udGV4dCwgbV9zZWxl
Y3Rpb25QYWludFN0eWxlLCBVc2VFbXBoYXNpc01hcmtDb2xvcik7CiAKICAgICAgICAgICAgIERF
UFJFQ0FURURfREVGSU5FX1NUQVRJQ19MT0NBTChUZXh0UnVuLCBvYmplY3RSZXBsYWNlbWVudENo
YXJhY3RlclRleHRSdW4sICgmb2JqZWN0UmVwbGFjZW1lbnRDaGFyYWN0ZXIsIDEpKTsKICAgICAg
ICAgICAgIFRleHRSdW4mIGVtcGhhc2lzTWFya1RleHRSdW4gPSBtX2NvbWJpbmVkVGV4dCA/IG9i
amVjdFJlcGxhY2VtZW50Q2hhcmFjdGVyVGV4dFJ1biA6IG1fdGV4dFJ1bjsKICAgICAgICAgICAg
IEZsb2F0UG9pbnQgZW1waGFzaXNNYXJrVGV4dE9yaWdpbiA9IG1fY29tYmluZWRUZXh0ID8gRmxv
YXRQb2ludChib3hPcmlnaW4ueCgpICsgbV9ib3hSZWN0LndpZHRoKCkgLyAyLCBib3hPcmlnaW4u
eSgpICsgbV9mb250LmZvbnRNZXRyaWNzKCkuYXNjZW50KCkpIDogbV90ZXh0T3JpZ2luOwogICAg
ICAgICAgICAgaWYgKG1fY29tYmluZWRUZXh0KQotICAgICAgICAgICAgICAgIG1fc2F2ZWREcmF3
aW5nU3RhdGVGb3JNYXNrLm1fY29udGV4dC0+Y29uY2F0Q1RNKHJvdGF0aW9uKG1fYm94UmVjdCwg
Q2xvY2t3aXNlKSk7CisgICAgICAgICAgICAgICAgbV9jb250ZXh0LmNvbmNhdENUTShyb3RhdGlv
bihtX2JveFJlY3QsIENsb2Nrd2lzZSkpOwogCi0gICAgICAgICAgICBwYWludFRleHRXaXRoU2hh
ZG93cyhtX3NhdmVkRHJhd2luZ1N0YXRlRm9yTWFzay5tX2NvbnRleHQsIG1fY29tYmluZWRUZXh0
ID8gbV9jb21iaW5lZFRleHQtPm9yaWdpbmFsRm9udCgpIDogbV9mb250LCBlbXBoYXNpc01hcmtU
ZXh0UnVuLCBtX2VtcGhhc2lzTWFyaywgbV9lbXBoYXNpc01hcmtPZmZzZXQsIG1fc3RhcnRQb3Np
dGlvbkluVGV4dFJ1biwgbV9lbmRQb3NpdGlvbkluVGV4dFJ1biwgbV9sZW5ndGgsIGVtcGhhc2lz
TWFya1RleHRPcmlnaW4sIG1fYm94UmVjdCwgbV9zYXZlZERyYXdpbmdTdGF0ZUZvck1hc2subV9z
ZWxlY3Rpb25TaGFkb3csIG1fc2F2ZWREcmF3aW5nU3RhdGVGb3JNYXNrLm1fc2VsZWN0aW9uUGFp
bnRTdHlsZS0+c3Ryb2tlV2lkdGggPiAwLCBtX3RleHRCb3hJc0hvcml6b250YWwpOworICAgICAg
ICAgICAgcGFpbnRUZXh0V2l0aFNoYWRvd3MobV9jb250ZXh0LCBtX2NvbWJpbmVkVGV4dCA/IG1f
Y29tYmluZWRUZXh0LT5vcmlnaW5hbEZvbnQoKSA6IG1fZm9udCwgZW1waGFzaXNNYXJrVGV4dFJ1
biwgbV9lbXBoYXNpc01hcmssIG1fZW1waGFzaXNNYXJrT2Zmc2V0LCBtX3N0YXJ0UG9zaXRpb25J
blRleHRSdW4sIG1fZW5kUG9zaXRpb25JblRleHRSdW4sIG1fbGVuZ3RoLCBlbXBoYXNpc01hcmtU
ZXh0T3JpZ2luLCBtX2JveFJlY3QsIG1fc2VsZWN0aW9uU2hhZG93LCBtX3NlbGVjdGlvblBhaW50
U3R5bGUuc3Ryb2tlV2lkdGggPiAwLCBtX3RleHRCb3hJc0hvcml6b250YWwpOwogCiAgICAgICAg
ICAgICBpZiAobV9jb21iaW5lZFRleHQpCi0gICAgICAgICAgICAgICAgbV9zYXZlZERyYXdpbmdT
dGF0ZUZvck1hc2subV9jb250ZXh0LT5jb25jYXRDVE0ocm90YXRpb24obV9ib3hSZWN0LCBDb3Vu
dGVyY2xvY2t3aXNlKSk7CisgICAgICAgICAgICAgICAgbV9jb250ZXh0LmNvbmNhdENUTShyb3Rh
dGlvbihtX2JveFJlY3QsIENvdW50ZXJjbG9ja3dpc2UpKTsKICAgICAgICAgfQogICAgIH0KIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0UGFpbnRlci5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRQYWludGVyLmgKaW5kZXggOGRkNGNmN2JmNDU4MmQz
YTI3Yzg4M2UwN2FhZDJjMDJlMDRmODJiMS4uOTZmODNhYTJiMzEzNDE5NjZkMzZmNTkzNGI4YTU3
NmMzZDA0MDdkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRQYWlu
dGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRQYWludGVyLmgKQEAgLTQx
LDIzICs0MSw2IEBAIHN0YXRpYyBpbmxpbmUgQWZmaW5lVHJhbnNmb3JtIHJvdGF0aW9uKGNvbnN0
IEZsb2F0UmVjdCYgYm94UmVjdCwgUm90YXRpb25EaXJlY3RpCiAgICAgICAgIDogQWZmaW5lVHJh
bnNmb3JtKDAsIC0xLCAxLCAwLCBib3hSZWN0LngoKSAtIGJveFJlY3QubWF4WSgpLCBib3hSZWN0
LngoKSArIGJveFJlY3QubWF4WSgpKTsKIH0KIAotc3RydWN0IFNhdmVkRHJhd2luZ1N0YXRlRm9y
TWFzayB7Ci0gICAgU2F2ZWREcmF3aW5nU3RhdGVGb3JNYXNrKEdyYXBoaWNzQ29udGV4dCogY29u
dGV4dCwgVGV4dFBhaW50U3R5bGUqIHRleHRQYWludFN0eWxlLCBUZXh0UGFpbnRTdHlsZSogc2Vs
ZWN0aW9uUGFpbnRTdHlsZSwKLSAgICBjb25zdCBTaGFkb3dEYXRhKiB0ZXh0U2hhZG93LCBjb25z
dCBTaGFkb3dEYXRhKiBzZWxlY3Rpb25TaGFkb3cpCi0gICAgICAgIDogbV9jb250ZXh0KGNvbnRl
eHQpCi0gICAgICAgICwgbV90ZXh0UGFpbnRTdHlsZSh0ZXh0UGFpbnRTdHlsZSkKLSAgICAgICAg
LCBtX3NlbGVjdGlvblBhaW50U3R5bGUoc2VsZWN0aW9uUGFpbnRTdHlsZSkKLSAgICAgICAgLCBt
X3RleHRTaGFkb3codGV4dFNoYWRvdykKLSAgICAgICAgLCBtX3NlbGVjdGlvblNoYWRvdyhzZWxl
Y3Rpb25TaGFkb3cpCi0gICAgewotICAgIH0KLSAgICBHcmFwaGljc0NvbnRleHQqIG1fY29udGV4
dDsKLSAgICBUZXh0UGFpbnRTdHlsZSogbV90ZXh0UGFpbnRTdHlsZTsKLSAgICBUZXh0UGFpbnRT
dHlsZSogbV9zZWxlY3Rpb25QYWludFN0eWxlOwotICAgIGNvbnN0IFNoYWRvd0RhdGEqIG1fdGV4
dFNoYWRvdzsKLSAgICBjb25zdCBTaGFkb3dEYXRhKiBtX3NlbGVjdGlvblNoYWRvdzsKLX07Ci0K
IGNsYXNzIFRleHRQYWludGVyIHsKIHB1YmxpYzoKICAgICBUZXh0UGFpbnRlcihHcmFwaGljc0Nv
bnRleHQmLCBib29sIHBhaW50U2VsZWN0ZWRUZXh0T25seSwgYm9vbCBwYWludFNlbGVjdGVkVGV4
dFNlcGFyYXRlbHksIGNvbnN0IEZvbnQmLApAQCAtNzAsNiArNTMsMTEgQEAgcHVibGljOgogICAg
IERhc2hBcnJheSBkYXNoZXNGb3JJbnRlcnNlY3Rpb25zV2l0aFJlY3QoY29uc3QgRmxvYXRSZWN0
JiBsaW5lRXh0ZW50cyk7CiAKIHByaXZhdGU6CisgICAgR3JhcGhpY3NDb250ZXh0JiBtX2NvbnRl
eHQ7CisgICAgVGV4dFBhaW50U3R5bGUmIG1fdGV4dFBhaW50U3R5bGU7CisgICAgVGV4dFBhaW50
U3R5bGUmIG1fc2VsZWN0aW9uUGFpbnRTdHlsZTsKKyAgICBjb25zdCBTaGFkb3dEYXRhKiBtX3Rl
eHRTaGFkb3c7CisgICAgY29uc3QgU2hhZG93RGF0YSogbV9zZWxlY3Rpb25TaGFkb3c7CiAgICAg
Ym9vbCBtX3BhaW50U2VsZWN0ZWRUZXh0T25seTsKICAgICBib29sIG1fcGFpbnRTZWxlY3RlZFRl
eHRTZXBhcmF0ZWx5OwogICAgIGNvbnN0IEZvbnQmIG1fZm9udDsKQEAgLTgzLDcgKzcxLDYgQEAg
cHJpdmF0ZToKICAgICBGbG9hdFBvaW50IG1fdGV4dE9yaWdpbjsKICAgICBpbnQgbV9lbXBoYXNp
c01hcmtPZmZzZXQ7CiAgICAgYm9vbCBtX3RleHRCb3hJc0hvcml6b250YWw7Ci0gICAgU2F2ZWRE
cmF3aW5nU3RhdGVGb3JNYXNrIG1fc2F2ZWREcmF3aW5nU3RhdGVGb3JNYXNrOwogfTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N2Zy9TVkdJbmxpbmVUZXh0Qm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
U1ZHSW5saW5lVGV4dEJveC5jcHAKaW5kZXggMWUyMGY4ZGM3MGQxNTZiNTI0MjE1ZGRkMWE2YTE2
YmNiMzhlNDc2NS4uY2RlY2RhNDcxYTkwOTJiOTg4OGRkMjQ2NTM0OWRmNjkzYzMwNjA1ZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdJbmxpbmVUZXh0Qm94LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR0lubGluZVRleHRCb3guY3Bw
CkBAIC01OTcsNyArNTk3LDcgQEAgdm9pZCBTVkdJbmxpbmVUZXh0Qm94OjpwYWludFRleHRXaXRo
U2hhZG93cyhHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIFJlbmRlclN0eWwKICAgICAgICAgRmxv
YXRTaXplIGV4dHJhT2Zmc2V0OwogICAgICAgICBib29sIGRpZFNhdmVDb250ZXh0ID0gZmFsc2U7
CiAgICAgICAgIGlmIChzaGFkb3cpCi0gICAgICAgICAgICBleHRyYU9mZnNldCA9IGFwcGx5U2hh
ZG93VG9HcmFwaGljc0NvbnRleHQoY29udGV4dCwgc2hhZG93LCBzaGFkb3dSZWN0LCBmYWxzZSAv
KiBzdHJva2VkICovLCB0cnVlIC8qIG9wYXF1ZSAqLywgdHJ1ZSAvKiBob3Jpem9udGFsICovLCBk
aWRTYXZlQ29udGV4dCk7CisgICAgICAgICAgICBleHRyYU9mZnNldCA9IGFwcGx5U2hhZG93VG9H
cmFwaGljc0NvbnRleHQoKmNvbnRleHQsIHNoYWRvdywgc2hhZG93UmVjdCwgZmFsc2UgLyogc3Ry
b2tlZCAqLywgdHJ1ZSAvKiBvcGFxdWUgKi8sIHRydWUgLyogaG9yaXpvbnRhbCAqLywgZGlkU2F2
ZUNvbnRleHQpOwogCiAgICAgICAgIGNvbnRleHQtPnNhdmUoKTsKICAgICAgICAgY29udGV4dC0+
c2NhbGUoRmxvYXRTaXplKDEgLyBzY2FsaW5nRmFjdG9yLCAxIC8gc2NhbGluZ0ZhY3RvcikpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>237868</attachid>
            <date>2014-09-09 16:03:17 -0700</date>
            <delta_ts>2014-09-10 17:16:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-136498-20140909160313.patch</filename>
            <type>text/plain</type>
            <size>20341</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTczNDE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWFiZTBhMTlmODhmNjlm
M2IxMGZjZjdmYjU0NWZiZmYwZDk1OTUxOC4uZDBmNmJmNWU1Y2Y1OWZjZjg5MjAyODg5ZjM5OTIz
ZDAyMGY0OGUyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE0LTA5LTA5ICBNeWxl
cyBDLiBNYXhmaWVsZCA8bW1heGZpZWxkQGFwcGxlLmNvbT4gIDxsaXRoZXJ1bUBnbWFpbC5jb20+
CisKKyAgICAgICAgRGVsZXRlIGNsYXNzIFNhdmVkRHJhd2luZ1N0YXRlRm9yTWFzaworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM2NDk4CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBjbGFzcyBpcyBs
ZWZ0IG92ZXIgZnJvbSB3aGVuIHRleHQtZGVjb3JhdGlvbi1za2lwOiBpbmsgdXNlZAorICAgICAg
ICBHcmFwaGljc0NvbnRleHQgbWFza2luZy4KKworICAgICAgICBObyBuZXcgdGVzdHMgYmVjYXVz
ZSB0aGVyZSBpcyBubyBiZWhhdmlvciBjaGFuZ2UuCisKKyAgICAgICAgKiByZW5kZXJpbmcvSW5s
aW5lVGV4dEJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVUZXh0Qm94OjphcHBseVNo
YWRvd1RvR3JhcGhpY3NDb250ZXh0KToKKyAgICAgICAgKiByZW5kZXJpbmcvSW5saW5lVGV4dEJv
eC5oOgorICAgICAgICAqIHJlbmRlcmluZy9UZXh0UGFpbnRlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpUZXh0UGFpbnRlcjo6VGV4dFBhaW50ZXIpOgorICAgICAgICAoV2ViQ29yZTo6cGFpbnRU
ZXh0V2l0aFNoYWRvd3MpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dFBhaW50ZXI6OnBhaW50VGV4
dCk6CisgICAgICAgICogcmVuZGVyaW5nL1RleHRQYWludGVyLmg6CisgICAgICAgIChXZWJDb3Jl
OjpTYXZlZERyYXdpbmdTdGF0ZUZvck1hc2s6OlNhdmVkRHJhd2luZ1N0YXRlRm9yTWFzayk6IERl
bGV0ZWQuCisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9TVkdJbmxpbmVUZXh0Qm94LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR0lubGluZVRleHRCb3g6OnBhaW50VGV4dFdpdGhTaGFkb3dzKToK
KwogMjAxNC0wOS0wOCAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgog
CiAgICAgICAgIFJFR1JFU1NJT04gKHIxNzIxNTMpOiBUZXh0IGRyYXduIHdpdGggd3JvbmcgY29s
b3Igd2hlbiBzZWNvbmQgdGV4dCBzaGFkb3cgaGFzIHplcm8gb2Zmc2V0IGFuZCBibHVyIChicmVh
a3MgYnV0dG9ucyBhdCBhd3MuYW1hem9uLmNvbSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9J
bmxpbmVUZXh0Qm94LmNwcAppbmRleCAyMWM0Njg0ODdiNzkxZGMwMGExNWQzYzcxZmUwMDVhMTJi
MGNmZDc4Li41MjdmMzU2ODQ2Y2Y1NzFlZDJjMDcyMTg5ZDhjNTU5NDA2MWYxMTRkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guY3BwCkBAIC00MjQsNyArNDI0LDcg
QEAgYm9vbCBJbmxpbmVUZXh0Qm94Ojpub2RlQXRQb2ludChjb25zdCBIaXRUZXN0UmVxdWVzdCYg
cmVxdWVzdCwgSGl0VGVzdFJlc3VsdCYgcmUKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLUZsb2F0
U2l6ZSBJbmxpbmVUZXh0Qm94OjphcHBseVNoYWRvd1RvR3JhcGhpY3NDb250ZXh0KEdyYXBoaWNz
Q29udGV4dCogY29udGV4dCwgY29uc3QgU2hhZG93RGF0YSogc2hhZG93LCBjb25zdCBGbG9hdFJl
Y3QmIHRleHRSZWN0LCBib29sIHN0cm9rZWQsIGJvb2wgb3BhcXVlLCBib29sIGhvcml6b250YWws
IGJvb2wmIGRpZFNhdmVDb250ZXh0KQorRmxvYXRTaXplIElubGluZVRleHRCb3g6OmFwcGx5U2hh
ZG93VG9HcmFwaGljc0NvbnRleHQoR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBjb25zdCBTaGFk
b3dEYXRhKiBzaGFkb3csIGNvbnN0IEZsb2F0UmVjdCYgdGV4dFJlY3QsIGJvb2wgc3Ryb2tlZCwg
Ym9vbCBvcGFxdWUsIGJvb2wgaG9yaXpvbnRhbCwgYm9vbCYgZGlkU2F2ZUNvbnRleHQpCiB7CiAg
ICAgaWYgKCFzaGFkb3cpCiAgICAgICAgIHJldHVybiBGbG9hdFNpemUoKTsKQEAgLTQ0MCwxNSAr
NDQwLDE1IEBAIEZsb2F0U2l6ZSBJbmxpbmVUZXh0Qm94OjphcHBseVNoYWRvd1RvR3JhcGhpY3ND
b250ZXh0KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwKICAgICAgICAgRmxvYXRSZWN0IHNoYWRv
d1JlY3QodGV4dFJlY3QpOwogICAgICAgICBzaGFkb3dSZWN0LmluZmxhdGUoc2hhZG93LT5wYWlu
dGluZ0V4dGVudCgpKTsKICAgICAgICAgc2hhZG93UmVjdC5tb3ZlKHNoYWRvd09mZnNldCk7Ci0g
ICAgICAgIGNvbnRleHQtPnNhdmUoKTsKLSAgICAgICAgY29udGV4dC0+Y2xpcChzaGFkb3dSZWN0
KTsKKyAgICAgICAgY29udGV4dC5zYXZlKCk7CisgICAgICAgIGNvbnRleHQuY2xpcChzaGFkb3dS
ZWN0KTsKIAogICAgICAgICBleHRyYU9mZnNldCA9IEZsb2F0U2l6ZSgwLCAyICogdGV4dFJlY3Qu
aGVpZ2h0KCkgKyBzdGQ6Om1heCgwLjBmLCBzaGFkb3dPZmZzZXQuaGVpZ2h0KCkpICsgc2hhZG93
UmFkaXVzKTsKICAgICAgICAgc2hhZG93T2Zmc2V0IC09IGV4dHJhT2Zmc2V0OwogICAgICAgICBk
aWRTYXZlQ29udGV4dCA9IHRydWU7CiAgICAgfQogCi0gICAgY29udGV4dC0+c2V0U2hhZG93KHNo
YWRvd09mZnNldCwgc2hhZG93UmFkaXVzLCBzaGFkb3dDb2xvciwgY29udGV4dC0+ZmlsbENvbG9y
U3BhY2UoKSk7CisgICAgY29udGV4dC5zZXRTaGFkb3coc2hhZG93T2Zmc2V0LCBzaGFkb3dSYWRp
dXMsIHNoYWRvd0NvbG9yLCBjb250ZXh0LmZpbGxDb2xvclNwYWNlKCkpOwogICAgIHJldHVybiBl
eHRyYU9mZnNldDsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lu
bGluZVRleHRCb3guaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmgK
aW5kZXggNmIwYWU0ODk5ZDAxN2E0ZjJkYmIxODgwMTMwNGM4NjVkNTNkNzk0OS4uZTg5YTJjZDlj
N2Y5ODg5OWFiNDczZWZiNzQyN2UzODQ2NGE3OWM5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvSW5saW5lVGV4dEJveC5oCkBAIC0xNTUsNyArMTU1LDcgQEAgcHVibGljOgogICAgIHZpcnR1
YWwgZmxvYXQgcG9zaXRpb25Gb3JPZmZzZXQoaW50IG9mZnNldCkgY29uc3Q7CiAKICAgICAvLyBO
ZWVkcyB0byBiZSBwdWJsaWMsIHNvIHRoZSBzdGF0aWMgcGFpbnRUZXh0V2l0aFNoYWRvd3MoKSBm
dW5jdGlvbiBjYW4gdXNlIGl0LgotICAgIHN0YXRpYyBGbG9hdFNpemUgYXBwbHlTaGFkb3dUb0dy
YXBoaWNzQ29udGV4dChHcmFwaGljc0NvbnRleHQqLCBjb25zdCBTaGFkb3dEYXRhKiwgY29uc3Qg
RmxvYXRSZWN0JiB0ZXh0UmVjdCwgYm9vbCBzdHJva2VkLCBib29sIG9wYXF1ZSwgYm9vbCBob3Jp
em9udGFsLCBib29sJiBkaWRTYXZlQ29udGV4dCk7CisgICAgc3RhdGljIEZsb2F0U2l6ZSBhcHBs
eVNoYWRvd1RvR3JhcGhpY3NDb250ZXh0KEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IFNoYWRvd0Rh
dGEqLCBjb25zdCBGbG9hdFJlY3QmIHRleHRSZWN0LCBib29sIHN0cm9rZWQsIGJvb2wgb3BhcXVl
LCBib29sIGhvcml6b250YWwsIGJvb2wmIGRpZFNhdmVDb250ZXh0KTsKIAogcHJvdGVjdGVkOgog
ICAgIHZvaWQgcGFpbnRDb21wb3NpdGlvbkJhY2tncm91bmQoR3JhcGhpY3NDb250ZXh0KiwgY29u
c3QgRmxvYXRQb2ludCYgYm94T3JpZ2luLCBjb25zdCBSZW5kZXJTdHlsZSYsIGNvbnN0IEZvbnQm
LCBpbnQgc3RhcnRQb3MsIGludCBlbmRQb3MpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1RleHRQYWludGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0
UGFpbnRlci5jcHAKaW5kZXggYzMzZjk1YjU0YmUyYjRmZDA0OTNlOTlhMWEzMzBmYWExZjE0MjZh
Zi4uMmJhNjIyM2I1ZDc5MTRlOTgzZDA3ZDE0MjhjMjE4ODkyMmViNzA0MCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRQYWludGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvVGV4dFBhaW50ZXIuY3BwCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVk
ZSAiSW5saW5lVGV4dEJveC5oIgogI2luY2x1ZGUgIlJlbmRlckNvbWJpbmVUZXh0LmgiCiAjaW5j
bHVkZSAiVGV4dFBhaW50U3R5bGUuaCIKKyNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zNCwyMCArMzUsMjQgQEAgVGV4dFBhaW50ZXI6
OlRleHRQYWludGVyKEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgYm9vbCBwYWludFNlbGVjdGVk
VGV4dE9ubHksIGIKICAgICBpbnQgc3RhcnRQb3NpdGlvbkluVGV4dFJ1biwgaW50IGVuZFBvc2l0
aW9uSW5UZXh0Qm94U3RyaW5nLCBpbnQgbGVuZ3RoLCBjb25zdCBBdG9taWNTdHJpbmcmIGVtcGhh
c2lzTWFyaywgUmVuZGVyQ29tYmluZVRleHQqIGNvbWJpbmVkVGV4dCwgVGV4dFJ1biYgdGV4dFJ1
biwKICAgICBGbG9hdFJlY3QmIGJveFJlY3QsIEZsb2F0UG9pbnQmIHRleHRPcmlnaW4sIGludCBl
bXBoYXNpc01hcmtPZmZzZXQsIGNvbnN0IFNoYWRvd0RhdGEqIHRleHRTaGFkb3csIGNvbnN0IFNo
YWRvd0RhdGEqIHNlbGVjdGlvblNoYWRvdywKICAgICBib29sIHRleHRCb3hJc0hvcml6b250YWws
IFRleHRQYWludFN0eWxlJiB0ZXh0UGFpbnRTdHlsZSwgVGV4dFBhaW50U3R5bGUmIHNlbGVjdGlv
blBhaW50U3R5bGUpCi0gICAgOiBtX3BhaW50U2VsZWN0ZWRUZXh0T25seShwYWludFNlbGVjdGVk
VGV4dE9ubHkpCi0gICAgLCBtX3BhaW50U2VsZWN0ZWRUZXh0U2VwYXJhdGVseShwYWludFNlbGVj
dGVkVGV4dFNlcGFyYXRlbHkpCi0gICAgLCBtX2ZvbnQoZm9udCkKLSAgICAsIG1fc3RhcnRQb3Np
dGlvbkluVGV4dFJ1bihzdGFydFBvc2l0aW9uSW5UZXh0UnVuKQotICAgICwgbV9lbmRQb3NpdGlv
bkluVGV4dFJ1bihlbmRQb3NpdGlvbkluVGV4dEJveFN0cmluZykKLSAgICAsIG1fbGVuZ3RoKGxl
bmd0aCkKLSAgICAsIG1fZW1waGFzaXNNYXJrKGVtcGhhc2lzTWFyaykKLSAgICAsIG1fY29tYmlu
ZWRUZXh0KGNvbWJpbmVkVGV4dCkKLSAgICAsIG1fdGV4dFJ1bih0ZXh0UnVuKQotICAgICwgbV9i
b3hSZWN0KGJveFJlY3QpCi0gICAgLCBtX3RleHRPcmlnaW4odGV4dE9yaWdpbikKLSAgICAsIG1f
ZW1waGFzaXNNYXJrT2Zmc2V0KGVtcGhhc2lzTWFya09mZnNldCkKLSAgICAsIG1fdGV4dEJveElz
SG9yaXpvbnRhbCh0ZXh0Qm94SXNIb3Jpem9udGFsKQotICAgICwgbV9zYXZlZERyYXdpbmdTdGF0
ZUZvck1hc2soJmNvbnRleHQsICZ0ZXh0UGFpbnRTdHlsZSwgJnNlbGVjdGlvblBhaW50U3R5bGUs
IHRleHRTaGFkb3csIHNlbGVjdGlvblNoYWRvdykKKyAgICAgICAgOiBtX2NvbnRleHQoY29udGV4
dCkKKyAgICAgICAgLCBtX3RleHRQYWludFN0eWxlKHRleHRQYWludFN0eWxlKQorICAgICAgICAs
IG1fc2VsZWN0aW9uUGFpbnRTdHlsZShzZWxlY3Rpb25QYWludFN0eWxlKQorICAgICAgICAsIG1f
dGV4dFNoYWRvdyh0ZXh0U2hhZG93KQorICAgICAgICAsIG1fc2VsZWN0aW9uU2hhZG93KHNlbGVj
dGlvblNoYWRvdykKKyAgICAgICAgLCBtX3BhaW50U2VsZWN0ZWRUZXh0T25seShwYWludFNlbGVj
dGVkVGV4dE9ubHkpCisgICAgICAgICwgbV9wYWludFNlbGVjdGVkVGV4dFNlcGFyYXRlbHkocGFp
bnRTZWxlY3RlZFRleHRTZXBhcmF0ZWx5KQorICAgICAgICAsIG1fZm9udChmb250KQorICAgICAg
ICAsIG1fc3RhcnRQb3NpdGlvbkluVGV4dFJ1bihzdGFydFBvc2l0aW9uSW5UZXh0UnVuKQorICAg
ICAgICAsIG1fZW5kUG9zaXRpb25JblRleHRSdW4oZW5kUG9zaXRpb25JblRleHRCb3hTdHJpbmcp
CisgICAgICAgICwgbV9sZW5ndGgobGVuZ3RoKQorICAgICAgICAsIG1fZW1waGFzaXNNYXJrKGVt
cGhhc2lzTWFyaykKKyAgICAgICAgLCBtX2NvbWJpbmVkVGV4dChjb21iaW5lZFRleHQpCisgICAg
ICAgICwgbV90ZXh0UnVuKHRleHRSdW4pCisgICAgICAgICwgbV9ib3hSZWN0KGJveFJlY3QpCisg
ICAgICAgICwgbV90ZXh0T3JpZ2luKHRleHRPcmlnaW4pCisgICAgICAgICwgbV9lbXBoYXNpc01h
cmtPZmZzZXQoZW1waGFzaXNNYXJrT2Zmc2V0KQorICAgICAgICAsIG1fdGV4dEJveElzSG9yaXpv
bnRhbCh0ZXh0Qm94SXNIb3Jpem9udGFsKQogewogfQogCkBAIC02NywxNSArNzIsMTUgQEAgc3Rh
dGljIGJvb2wgaXNFbXB0eVNoYWRvdyhjb25zdCBTaGFkb3dEYXRhKiBzaGFkb3cpCiAgICAgcmV0
dXJuIHNoYWRvdy0+bG9jYXRpb24oKSA9PSBJbnRQb2ludCgpICYmICFzaGFkb3ctPnJhZGl1cygp
OwogfQogCi1zdGF0aWMgdm9pZCBwYWludFRleHRXaXRoU2hhZG93cyhHcmFwaGljc0NvbnRleHQq
IGNvbnRleHQsIGNvbnN0IEZvbnQmIGZvbnQsIGNvbnN0IFRleHRSdW4mIHRleHRSdW4sIGNvbnN0
IEF0b21pY1N0cmluZyYgZW1waGFzaXNNYXJrLAorc3RhdGljIHZvaWQgcGFpbnRUZXh0V2l0aFNo
YWRvd3MoR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBjb25zdCBGb250JiBmb250LCBjb25zdCBU
ZXh0UnVuJiB0ZXh0UnVuLCBjb25zdCBBdG9taWNTdHJpbmcmIGVtcGhhc2lzTWFyaywKICAgICBp
bnQgZW1waGFzaXNNYXJrT2Zmc2V0LCBpbnQgc3RhcnRPZmZzZXQsIGludCBlbmRPZmZzZXQsIGlu
dCB0cnVuY2F0aW9uUG9pbnQsIGNvbnN0IEZsb2F0UG9pbnQmIHRleHRPcmlnaW4sIGNvbnN0IEZs
b2F0UmVjdCYgYm94UmVjdCwKICAgICBjb25zdCBTaGFkb3dEYXRhKiBzaGFkb3csIGJvb2wgc3Ry
b2tlZCwgYm9vbCBob3Jpem9udGFsKQogewotICAgIENvbG9yIGZpbGxDb2xvciA9IGNvbnRleHQt
PmZpbGxDb2xvcigpOwotICAgIENvbG9yU3BhY2UgZmlsbENvbG9yU3BhY2UgPSBjb250ZXh0LT5m
aWxsQ29sb3JTcGFjZSgpOworICAgIENvbG9yIGZpbGxDb2xvciA9IGNvbnRleHQuZmlsbENvbG9y
KCk7CisgICAgQ29sb3JTcGFjZSBmaWxsQ29sb3JTcGFjZSA9IGNvbnRleHQuZmlsbENvbG9yU3Bh
Y2UoKTsKICAgICBib29sIG9wYXF1ZSA9ICFmaWxsQ29sb3IuaGFzQWxwaGEoKTsKICAgICBpZiAo
IW9wYXF1ZSkKLSAgICAgICAgY29udGV4dC0+c2V0RmlsbENvbG9yKENvbG9yOjpibGFjaywgZmls
bENvbG9yU3BhY2UpOworICAgICAgICBjb250ZXh0LnNldEZpbGxDb2xvcihDb2xvcjo6YmxhY2ss
IGZpbGxDb2xvclNwYWNlKTsKIAogICAgIGRvIHsKICAgICAgICAgaWYgKGlzRW1wdHlTaGFkb3co
c2hhZG93KSkgewpAQCAtODgsMjQgKzkzLDI0IEBAIHN0YXRpYyB2b2lkIHBhaW50VGV4dFdpdGhT
aGFkb3dzKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgRm9udCYgZm9udCwgY29uCiAg
ICAgICAgIGlmIChzaGFkb3cpCiAgICAgICAgICAgICBleHRyYU9mZnNldCA9IHJvdW5kZWRJbnRT
aXplKElubGluZVRleHRCb3g6OmFwcGx5U2hhZG93VG9HcmFwaGljc0NvbnRleHQoY29udGV4dCwg
c2hhZG93LCBib3hSZWN0LCBzdHJva2VkLCBvcGFxdWUsIGhvcml6b250YWwsIGRpZFNhdmVDb250
ZXh0KSk7CiAgICAgICAgIGVsc2UgaWYgKCFvcGFxdWUpCi0gICAgICAgICAgICBjb250ZXh0LT5z
ZXRGaWxsQ29sb3IoZmlsbENvbG9yLCBmaWxsQ29sb3JTcGFjZSk7CisgICAgICAgICAgICBjb250
ZXh0LnNldEZpbGxDb2xvcihmaWxsQ29sb3IsIGZpbGxDb2xvclNwYWNlKTsKIAogICAgICAgICBp
ZiAoc3RhcnRPZmZzZXQgPD0gZW5kT2Zmc2V0KQotICAgICAgICAgICAgZHJhd1RleHRPckVtcGhh
c2lzTWFya3MoKmNvbnRleHQsIGZvbnQsIHRleHRSdW4sIGVtcGhhc2lzTWFyaywgZW1waGFzaXNN
YXJrT2Zmc2V0LCB0ZXh0T3JpZ2luICsgZXh0cmFPZmZzZXQsIHN0YXJ0T2Zmc2V0LCBlbmRPZmZz
ZXQpOworICAgICAgICAgICAgZHJhd1RleHRPckVtcGhhc2lzTWFya3MoY29udGV4dCwgZm9udCwg
dGV4dFJ1biwgZW1waGFzaXNNYXJrLCBlbXBoYXNpc01hcmtPZmZzZXQsIHRleHRPcmlnaW4gKyBl
eHRyYU9mZnNldCwgc3RhcnRPZmZzZXQsIGVuZE9mZnNldCk7CiAgICAgICAgIGVsc2UgewogICAg
ICAgICAgICAgaWYgKGVuZE9mZnNldCA+IDApCi0gICAgICAgICAgICAgICAgZHJhd1RleHRPckVt
cGhhc2lzTWFya3MoKmNvbnRleHQsIGZvbnQsIHRleHRSdW4sIGVtcGhhc2lzTWFyaywgZW1waGFz
aXNNYXJrT2Zmc2V0LCB0ZXh0T3JpZ2luICsgZXh0cmFPZmZzZXQsIDAsIGVuZE9mZnNldCk7Cisg
ICAgICAgICAgICAgICAgZHJhd1RleHRPckVtcGhhc2lzTWFya3MoY29udGV4dCwgZm9udCwgdGV4
dFJ1biwgZW1waGFzaXNNYXJrLCBlbXBoYXNpc01hcmtPZmZzZXQsIHRleHRPcmlnaW4gKyBleHRy
YU9mZnNldCwgMCwgZW5kT2Zmc2V0KTsKICAgICAgICAgICAgIGlmIChzdGFydE9mZnNldCA8IHRy
dW5jYXRpb25Qb2ludCkKLSAgICAgICAgICAgICAgICBkcmF3VGV4dE9yRW1waGFzaXNNYXJrcygq
Y29udGV4dCwgZm9udCwgdGV4dFJ1biwgZW1waGFzaXNNYXJrLCBlbXBoYXNpc01hcmtPZmZzZXQs
IHRleHRPcmlnaW4gKyBleHRyYU9mZnNldCwgc3RhcnRPZmZzZXQsIHRydW5jYXRpb25Qb2ludCk7
CisgICAgICAgICAgICAgICAgZHJhd1RleHRPckVtcGhhc2lzTWFya3MoY29udGV4dCwgZm9udCwg
dGV4dFJ1biwgZW1waGFzaXNNYXJrLCBlbXBoYXNpc01hcmtPZmZzZXQsIHRleHRPcmlnaW4gKyBl
eHRyYU9mZnNldCwgc3RhcnRPZmZzZXQsIHRydW5jYXRpb25Qb2ludCk7CiAgICAgICAgIH0KIAog
ICAgICAgICBpZiAoIXNoYWRvdykKICAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgIGlmIChk
aWRTYXZlQ29udGV4dCkKLSAgICAgICAgICAgIGNvbnRleHQtPnJlc3RvcmUoKTsKKyAgICAgICAg
ICAgIGNvbnRleHQucmVzdG9yZSgpOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICBjb250ZXh0
LT5jbGVhclNoYWRvdygpOworICAgICAgICAgICAgY29udGV4dC5jbGVhclNoYWRvdygpOwogCiAg
ICAgICAgIHNoYWRvdyA9IHNoYWRvdy0+bmV4dCgpOwogICAgIH0gd2hpbGUgKHNoYWRvdyB8fCBz
dHJva2VkIHx8ICFvcGFxdWUpOwpAQCAtMTEzLDYyICsxMTgsNTkgQEAgc3RhdGljIHZvaWQgcGFp
bnRUZXh0V2l0aFNoYWRvd3MoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBGb250JiBm
b250LCBjb24KIAogdm9pZCBUZXh0UGFpbnRlcjo6cGFpbnRUZXh0KCkKIHsKLSAgICBBU1NFUlQo
bV9zYXZlZERyYXdpbmdTdGF0ZUZvck1hc2subV90ZXh0UGFpbnRTdHlsZSk7Ci0gICAgQVNTRVJU
KG1fc2F2ZWREcmF3aW5nU3RhdGVGb3JNYXNrLm1fc2VsZWN0aW9uUGFpbnRTdHlsZSk7Ci0gICAg
CiAgICAgRmxvYXRQb2ludCBib3hPcmlnaW4gPSBtX2JveFJlY3QubG9jYXRpb24oKTsKIAogICAg
IGlmICghbV9wYWludFNlbGVjdGVkVGV4dE9ubHkpIHsKICAgICAgICAgLy8gRm9yIHN0cm9rZWQg
cGFpbnRpbmcsIHdlIGhhdmUgdG8gY2hhbmdlIHRoZSB0ZXh0IGRyYXdpbmcgbW9kZS4gSXQncyBw
cm9iYWJseSBkYW5nZXJvdXMgdG8gbGVhdmUgdGhhdCBtdXRhdGVkIGFzIGEgc2lkZQogICAgICAg
ICAvLyBlZmZlY3QsIHNvIG9ubHkgd2hlbiB3ZSBrbm93IHdlJ3JlIHN0cm9raW5nLCBkbyBhIHNh
dmUvcmVzdG9yZS4KLSAgICAgICAgR3JhcGhpY3NDb250ZXh0U3RhdGVTYXZlciBzdGF0ZVNhdmVy
KCptX3NhdmVkRHJhd2luZ1N0YXRlRm9yTWFzay5tX2NvbnRleHQsIG1fc2F2ZWREcmF3aW5nU3Rh
dGVGb3JNYXNrLm1fdGV4dFBhaW50U3R5bGUtPnN0cm9rZVdpZHRoID4gMCk7CisgICAgICAgIEdy
YXBoaWNzQ29udGV4dFN0YXRlU2F2ZXIgc3RhdGVTYXZlcihtX2NvbnRleHQsIG1fdGV4dFBhaW50
U3R5bGUuc3Ryb2tlV2lkdGggPiAwKTsKIAotICAgICAgICB1cGRhdGVHcmFwaGljc0NvbnRleHQo
Km1fc2F2ZWREcmF3aW5nU3RhdGVGb3JNYXNrLm1fY29udGV4dCwgKm1fc2F2ZWREcmF3aW5nU3Rh
dGVGb3JNYXNrLm1fdGV4dFBhaW50U3R5bGUpOworICAgICAgICB1cGRhdGVHcmFwaGljc0NvbnRl
eHQobV9jb250ZXh0LCBtX3RleHRQYWludFN0eWxlKTsKICAgICAgICAgaWYgKCFtX3BhaW50U2Vs
ZWN0ZWRUZXh0U2VwYXJhdGVseSB8fCBtX2VuZFBvc2l0aW9uSW5UZXh0UnVuIDw9IG1fc3RhcnRQ
b3NpdGlvbkluVGV4dFJ1bikgewogICAgICAgICAgICAgLy8gRklYTUU6IFRydW5jYXRlIHJpZ2h0
LXRvLWxlZnQgdGV4dCBjb3JyZWN0bHkuCi0gICAgICAgICAgICBwYWludFRleHRXaXRoU2hhZG93
cyhtX3NhdmVkRHJhd2luZ1N0YXRlRm9yTWFzay5tX2NvbnRleHQsIG1fZm9udCwgbV90ZXh0UnVu
LCBudWxsQXRvbSwgMCwgMCwgbV9sZW5ndGgsIG1fbGVuZ3RoLCBtX3RleHRPcmlnaW4sIG1fYm94
UmVjdCwgbV9zYXZlZERyYXdpbmdTdGF0ZUZvck1hc2subV90ZXh0U2hhZG93LCBtX3NhdmVkRHJh
d2luZ1N0YXRlRm9yTWFzay5tX3RleHRQYWludFN0eWxlLT5zdHJva2VXaWR0aCA+IDAsIG1fdGV4
dEJveElzSG9yaXpvbnRhbCk7CisgICAgICAgICAgICBwYWludFRleHRXaXRoU2hhZG93cyhtX2Nv
bnRleHQsIG1fZm9udCwgbV90ZXh0UnVuLCBudWxsQXRvbSwgMCwgMCwgbV9sZW5ndGgsIG1fbGVu
Z3RoLCBtX3RleHRPcmlnaW4sIG1fYm94UmVjdCwgbV90ZXh0U2hhZG93LCBtX3RleHRQYWludFN0
eWxlLnN0cm9rZVdpZHRoID4gMCwgbV90ZXh0Qm94SXNIb3Jpem9udGFsKTsKICAgICAgICAgfSBl
bHNlCi0gICAgICAgICAgICBwYWludFRleHRXaXRoU2hhZG93cyhtX3NhdmVkRHJhd2luZ1N0YXRl
Rm9yTWFzay5tX2NvbnRleHQsIG1fZm9udCwgbV90ZXh0UnVuLCBudWxsQXRvbSwgMCwgbV9lbmRQ
b3NpdGlvbkluVGV4dFJ1biwgbV9zdGFydFBvc2l0aW9uSW5UZXh0UnVuLCBtX2xlbmd0aCwgbV90
ZXh0T3JpZ2luLCBtX2JveFJlY3QsIG1fc2F2ZWREcmF3aW5nU3RhdGVGb3JNYXNrLm1fdGV4dFNo
YWRvdywgbV9zYXZlZERyYXdpbmdTdGF0ZUZvck1hc2subV90ZXh0UGFpbnRTdHlsZS0+c3Ryb2tl
V2lkdGggPiAwLCBtX3RleHRCb3hJc0hvcml6b250YWwpOworICAgICAgICAgICAgcGFpbnRUZXh0
V2l0aFNoYWRvd3MobV9jb250ZXh0LCBtX2ZvbnQsIG1fdGV4dFJ1biwgbnVsbEF0b20sIDAsIG1f
ZW5kUG9zaXRpb25JblRleHRSdW4sIG1fc3RhcnRQb3NpdGlvbkluVGV4dFJ1biwgbV9sZW5ndGgs
IG1fdGV4dE9yaWdpbiwgbV9ib3hSZWN0LCBtX3RleHRTaGFkb3csIG1fdGV4dFBhaW50U3R5bGUu
c3Ryb2tlV2lkdGggPiAwLCBtX3RleHRCb3hJc0hvcml6b250YWwpOwogCiAgICAgICAgIGlmICgh
bV9lbXBoYXNpc01hcmsuaXNFbXB0eSgpKSB7Ci0gICAgICAgICAgICB1cGRhdGVHcmFwaGljc0Nv
bnRleHQoKm1fc2F2ZWREcmF3aW5nU3RhdGVGb3JNYXNrLm1fY29udGV4dCwgKm1fc2F2ZWREcmF3
aW5nU3RhdGVGb3JNYXNrLm1fdGV4dFBhaW50U3R5bGUsIFVzZUVtcGhhc2lzTWFya0NvbG9yKTsK
KyAgICAgICAgICAgIHVwZGF0ZUdyYXBoaWNzQ29udGV4dChtX2NvbnRleHQsIG1fdGV4dFBhaW50
U3R5bGUsIFVzZUVtcGhhc2lzTWFya0NvbG9yKTsKIAotICAgICAgICAgICAgREVQUkVDQVRFRF9E
RUZJTkVfU1RBVElDX0xPQ0FMKFRleHRSdW4sIG9iamVjdFJlcGxhY2VtZW50Q2hhcmFjdGVyVGV4
dFJ1biwgKCZvYmplY3RSZXBsYWNlbWVudENoYXJhY3RlciwgMSkpOwotICAgICAgICAgICAgVGV4
dFJ1biYgZW1waGFzaXNNYXJrVGV4dFJ1biA9IG1fY29tYmluZWRUZXh0ID8gb2JqZWN0UmVwbGFj
ZW1lbnRDaGFyYWN0ZXJUZXh0UnVuIDogbV90ZXh0UnVuOworICAgICAgICAgICAgc3RhdGljIE5l
dmVyRGVzdHJveWVkPFRleHRSdW4+IG9iamVjdFJlcGxhY2VtZW50Q2hhcmFjdGVyVGV4dFJ1bigm
b2JqZWN0UmVwbGFjZW1lbnRDaGFyYWN0ZXIsIDEpOworICAgICAgICAgICAgVGV4dFJ1biYgZW1w
aGFzaXNNYXJrVGV4dFJ1biA9IG1fY29tYmluZWRUZXh0ID8gc3RhdGljX2Nhc3Q8VGV4dFJ1biY+
KG9iamVjdFJlcGxhY2VtZW50Q2hhcmFjdGVyVGV4dFJ1bikgOiBtX3RleHRSdW47CiAgICAgICAg
ICAgICBGbG9hdFBvaW50IGVtcGhhc2lzTWFya1RleHRPcmlnaW4gPSBtX2NvbWJpbmVkVGV4dCA/
IEZsb2F0UG9pbnQoYm94T3JpZ2luLngoKSArIG1fYm94UmVjdC53aWR0aCgpIC8gMiwgYm94T3Jp
Z2luLnkoKSArIG1fZm9udC5mb250TWV0cmljcygpLmFzY2VudCgpKSA6IG1fdGV4dE9yaWdpbjsK
ICAgICAgICAgICAgIGlmIChtX2NvbWJpbmVkVGV4dCkKLSAgICAgICAgICAgICAgICBtX3NhdmVk
RHJhd2luZ1N0YXRlRm9yTWFzay5tX2NvbnRleHQtPmNvbmNhdENUTShyb3RhdGlvbihtX2JveFJl
Y3QsIENsb2Nrd2lzZSkpOworICAgICAgICAgICAgICAgIG1fY29udGV4dC5jb25jYXRDVE0ocm90
YXRpb24obV9ib3hSZWN0LCBDbG9ja3dpc2UpKTsKIAogICAgICAgICAgICAgaWYgKCFtX3BhaW50
U2VsZWN0ZWRUZXh0U2VwYXJhdGVseSB8fCBtX2VuZFBvc2l0aW9uSW5UZXh0UnVuIDw9IG1fc3Rh
cnRQb3NpdGlvbkluVGV4dFJ1bikgewogICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBUcnVuY2F0
ZSByaWdodC10by1sZWZ0IHRleHQgY29ycmVjdGx5LgotICAgICAgICAgICAgICAgIHBhaW50VGV4
dFdpdGhTaGFkb3dzKG1fc2F2ZWREcmF3aW5nU3RhdGVGb3JNYXNrLm1fY29udGV4dCwgbV9jb21i
aW5lZFRleHQgPyBtX2NvbWJpbmVkVGV4dC0+b3JpZ2luYWxGb250KCkgOiBtX2ZvbnQsIGVtcGhh
c2lzTWFya1RleHRSdW4sIG1fZW1waGFzaXNNYXJrLCBtX2VtcGhhc2lzTWFya09mZnNldCwgMCwg
bV9sZW5ndGgsIG1fbGVuZ3RoLCBlbXBoYXNpc01hcmtUZXh0T3JpZ2luLCBtX2JveFJlY3QsIG1f
c2F2ZWREcmF3aW5nU3RhdGVGb3JNYXNrLm1fdGV4dFNoYWRvdywgbV9zYXZlZERyYXdpbmdTdGF0
ZUZvck1hc2subV90ZXh0UGFpbnRTdHlsZS0+c3Ryb2tlV2lkdGggPiAwLCBtX3RleHRCb3hJc0hv
cml6b250YWwpOworICAgICAgICAgICAgICAgIHBhaW50VGV4dFdpdGhTaGFkb3dzKG1fY29udGV4
dCwgbV9jb21iaW5lZFRleHQgPyBtX2NvbWJpbmVkVGV4dC0+b3JpZ2luYWxGb250KCkgOiBtX2Zv
bnQsIGVtcGhhc2lzTWFya1RleHRSdW4sIG1fZW1waGFzaXNNYXJrLCBtX2VtcGhhc2lzTWFya09m
ZnNldCwgMCwgbV9sZW5ndGgsIG1fbGVuZ3RoLCBlbXBoYXNpc01hcmtUZXh0T3JpZ2luLCBtX2Jv
eFJlY3QsIG1fdGV4dFNoYWRvdywgbV90ZXh0UGFpbnRTdHlsZS5zdHJva2VXaWR0aCA+IDAsIG1f
dGV4dEJveElzSG9yaXpvbnRhbCk7CiAgICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAg
ICBwYWludFRleHRXaXRoU2hhZG93cyhtX3NhdmVkRHJhd2luZ1N0YXRlRm9yTWFzay5tX2NvbnRl
eHQsIG1fY29tYmluZWRUZXh0ID8gbV9jb21iaW5lZFRleHQtPm9yaWdpbmFsRm9udCgpIDogbV9m
b250LCBlbXBoYXNpc01hcmtUZXh0UnVuLCBtX2VtcGhhc2lzTWFyaywgbV9lbXBoYXNpc01hcmtP
ZmZzZXQsIG1fZW5kUG9zaXRpb25JblRleHRSdW4sIG1fc3RhcnRQb3NpdGlvbkluVGV4dFJ1biwg
bV9sZW5ndGgsIGVtcGhhc2lzTWFya1RleHRPcmlnaW4sIG1fYm94UmVjdCwgbV9zYXZlZERyYXdp
bmdTdGF0ZUZvck1hc2subV90ZXh0U2hhZG93LCBtX3NhdmVkRHJhd2luZ1N0YXRlRm9yTWFzay5t
X3RleHRQYWludFN0eWxlLT5zdHJva2VXaWR0aCA+IDAsIG1fdGV4dEJveElzSG9yaXpvbnRhbCk7
CisgICAgICAgICAgICAgICAgcGFpbnRUZXh0V2l0aFNoYWRvd3MobV9jb250ZXh0LCBtX2NvbWJp
bmVkVGV4dCA/IG1fY29tYmluZWRUZXh0LT5vcmlnaW5hbEZvbnQoKSA6IG1fZm9udCwgZW1waGFz
aXNNYXJrVGV4dFJ1biwgbV9lbXBoYXNpc01hcmssIG1fZW1waGFzaXNNYXJrT2Zmc2V0LCBtX2Vu
ZFBvc2l0aW9uSW5UZXh0UnVuLCBtX3N0YXJ0UG9zaXRpb25JblRleHRSdW4sIG1fbGVuZ3RoLCBl
bXBoYXNpc01hcmtUZXh0T3JpZ2luLCBtX2JveFJlY3QsIG1fdGV4dFNoYWRvdywgbV90ZXh0UGFp
bnRTdHlsZS5zdHJva2VXaWR0aCA+IDAsIG1fdGV4dEJveElzSG9yaXpvbnRhbCk7CiAKICAgICAg
ICAgICAgIGlmIChtX2NvbWJpbmVkVGV4dCkKLSAgICAgICAgICAgICAgICBtX3NhdmVkRHJhd2lu
Z1N0YXRlRm9yTWFzay5tX2NvbnRleHQtPmNvbmNhdENUTShyb3RhdGlvbihtX2JveFJlY3QsIENv
dW50ZXJjbG9ja3dpc2UpKTsKKyAgICAgICAgICAgICAgICBtX2NvbnRleHQuY29uY2F0Q1RNKHJv
dGF0aW9uKG1fYm94UmVjdCwgQ291bnRlcmNsb2Nrd2lzZSkpOwogICAgICAgICB9CiAgICAgfQog
CiAgICAgaWYgKChtX3BhaW50U2VsZWN0ZWRUZXh0T25seSB8fCBtX3BhaW50U2VsZWN0ZWRUZXh0
U2VwYXJhdGVseSkgJiYgbV9zdGFydFBvc2l0aW9uSW5UZXh0UnVuIDwgbV9lbmRQb3NpdGlvbklu
VGV4dFJ1bikgewogICAgICAgICAvLyBwYWludCBvbmx5IHRoZSB0ZXh0IHRoYXQgaXMgc2VsZWN0
ZWQKLSAgICAgICAgR3JhcGhpY3NDb250ZXh0U3RhdGVTYXZlciBzdGF0ZVNhdmVyKCptX3NhdmVk
RHJhd2luZ1N0YXRlRm9yTWFzay5tX2NvbnRleHQsIG1fc2F2ZWREcmF3aW5nU3RhdGVGb3JNYXNr
Lm1fc2VsZWN0aW9uUGFpbnRTdHlsZS0+c3Ryb2tlV2lkdGggPiAwKTsKKyAgICAgICAgR3JhcGhp
Y3NDb250ZXh0U3RhdGVTYXZlciBzdGF0ZVNhdmVyKG1fY29udGV4dCwgbV9zZWxlY3Rpb25QYWlu
dFN0eWxlLnN0cm9rZVdpZHRoID4gMCk7CiAKLSAgICAgICAgdXBkYXRlR3JhcGhpY3NDb250ZXh0
KCptX3NhdmVkRHJhd2luZ1N0YXRlRm9yTWFzay5tX2NvbnRleHQsICptX3NhdmVkRHJhd2luZ1N0
YXRlRm9yTWFzay5tX3NlbGVjdGlvblBhaW50U3R5bGUpOwotICAgICAgICBwYWludFRleHRXaXRo
U2hhZG93cyhtX3NhdmVkRHJhd2luZ1N0YXRlRm9yTWFzay5tX2NvbnRleHQsIG1fZm9udCwgbV90
ZXh0UnVuLCBudWxsQXRvbSwgMCwgbV9zdGFydFBvc2l0aW9uSW5UZXh0UnVuLCBtX2VuZFBvc2l0
aW9uSW5UZXh0UnVuLCBtX2xlbmd0aCwgbV90ZXh0T3JpZ2luLCBtX2JveFJlY3QsIG1fc2F2ZWRE
cmF3aW5nU3RhdGVGb3JNYXNrLm1fc2VsZWN0aW9uU2hhZG93LCBtX3NhdmVkRHJhd2luZ1N0YXRl
Rm9yTWFzay5tX3NlbGVjdGlvblBhaW50U3R5bGUtPnN0cm9rZVdpZHRoID4gMCwgbV90ZXh0Qm94
SXNIb3Jpem9udGFsKTsKKyAgICAgICAgdXBkYXRlR3JhcGhpY3NDb250ZXh0KG1fY29udGV4dCwg
bV9zZWxlY3Rpb25QYWludFN0eWxlKTsKKyAgICAgICAgcGFpbnRUZXh0V2l0aFNoYWRvd3MobV9j
b250ZXh0LCBtX2ZvbnQsIG1fdGV4dFJ1biwgbnVsbEF0b20sIDAsIG1fc3RhcnRQb3NpdGlvbklu
VGV4dFJ1biwgbV9lbmRQb3NpdGlvbkluVGV4dFJ1biwgbV9sZW5ndGgsIG1fdGV4dE9yaWdpbiwg
bV9ib3hSZWN0LCBtX3NlbGVjdGlvblNoYWRvdywgbV9zZWxlY3Rpb25QYWludFN0eWxlLnN0cm9r
ZVdpZHRoID4gMCwgbV90ZXh0Qm94SXNIb3Jpem9udGFsKTsKICAgICAgICAgaWYgKCFtX2VtcGhh
c2lzTWFyay5pc0VtcHR5KCkpIHsKLSAgICAgICAgICAgIHVwZGF0ZUdyYXBoaWNzQ29udGV4dCgq
bV9zYXZlZERyYXdpbmdTdGF0ZUZvck1hc2subV9jb250ZXh0LCAqbV9zYXZlZERyYXdpbmdTdGF0
ZUZvck1hc2subV9zZWxlY3Rpb25QYWludFN0eWxlLCBVc2VFbXBoYXNpc01hcmtDb2xvcik7Cisg
ICAgICAgICAgICB1cGRhdGVHcmFwaGljc0NvbnRleHQobV9jb250ZXh0LCBtX3NlbGVjdGlvblBh
aW50U3R5bGUsIFVzZUVtcGhhc2lzTWFya0NvbG9yKTsKIAogICAgICAgICAgICAgREVQUkVDQVRF
RF9ERUZJTkVfU1RBVElDX0xPQ0FMKFRleHRSdW4sIG9iamVjdFJlcGxhY2VtZW50Q2hhcmFjdGVy
VGV4dFJ1biwgKCZvYmplY3RSZXBsYWNlbWVudENoYXJhY3RlciwgMSkpOwogICAgICAgICAgICAg
VGV4dFJ1biYgZW1waGFzaXNNYXJrVGV4dFJ1biA9IG1fY29tYmluZWRUZXh0ID8gb2JqZWN0UmVw
bGFjZW1lbnRDaGFyYWN0ZXJUZXh0UnVuIDogbV90ZXh0UnVuOwogICAgICAgICAgICAgRmxvYXRQ
b2ludCBlbXBoYXNpc01hcmtUZXh0T3JpZ2luID0gbV9jb21iaW5lZFRleHQgPyBGbG9hdFBvaW50
KGJveE9yaWdpbi54KCkgKyBtX2JveFJlY3Qud2lkdGgoKSAvIDIsIGJveE9yaWdpbi55KCkgKyBt
X2ZvbnQuZm9udE1ldHJpY3MoKS5hc2NlbnQoKSkgOiBtX3RleHRPcmlnaW47CiAgICAgICAgICAg
ICBpZiAobV9jb21iaW5lZFRleHQpCi0gICAgICAgICAgICAgICAgbV9zYXZlZERyYXdpbmdTdGF0
ZUZvck1hc2subV9jb250ZXh0LT5jb25jYXRDVE0ocm90YXRpb24obV9ib3hSZWN0LCBDbG9ja3dp
c2UpKTsKKyAgICAgICAgICAgICAgICBtX2NvbnRleHQuY29uY2F0Q1RNKHJvdGF0aW9uKG1fYm94
UmVjdCwgQ2xvY2t3aXNlKSk7CiAKLSAgICAgICAgICAgIHBhaW50VGV4dFdpdGhTaGFkb3dzKG1f
c2F2ZWREcmF3aW5nU3RhdGVGb3JNYXNrLm1fY29udGV4dCwgbV9jb21iaW5lZFRleHQgPyBtX2Nv
bWJpbmVkVGV4dC0+b3JpZ2luYWxGb250KCkgOiBtX2ZvbnQsIGVtcGhhc2lzTWFya1RleHRSdW4s
IG1fZW1waGFzaXNNYXJrLCBtX2VtcGhhc2lzTWFya09mZnNldCwgbV9zdGFydFBvc2l0aW9uSW5U
ZXh0UnVuLCBtX2VuZFBvc2l0aW9uSW5UZXh0UnVuLCBtX2xlbmd0aCwgZW1waGFzaXNNYXJrVGV4
dE9yaWdpbiwgbV9ib3hSZWN0LCBtX3NhdmVkRHJhd2luZ1N0YXRlRm9yTWFzay5tX3NlbGVjdGlv
blNoYWRvdywgbV9zYXZlZERyYXdpbmdTdGF0ZUZvck1hc2subV9zZWxlY3Rpb25QYWludFN0eWxl
LT5zdHJva2VXaWR0aCA+IDAsIG1fdGV4dEJveElzSG9yaXpvbnRhbCk7CisgICAgICAgICAgICBw
YWludFRleHRXaXRoU2hhZG93cyhtX2NvbnRleHQsIG1fY29tYmluZWRUZXh0ID8gbV9jb21iaW5l
ZFRleHQtPm9yaWdpbmFsRm9udCgpIDogbV9mb250LCBlbXBoYXNpc01hcmtUZXh0UnVuLCBtX2Vt
cGhhc2lzTWFyaywgbV9lbXBoYXNpc01hcmtPZmZzZXQsIG1fc3RhcnRQb3NpdGlvbkluVGV4dFJ1
biwgbV9lbmRQb3NpdGlvbkluVGV4dFJ1biwgbV9sZW5ndGgsIGVtcGhhc2lzTWFya1RleHRPcmln
aW4sIG1fYm94UmVjdCwgbV9zZWxlY3Rpb25TaGFkb3csIG1fc2VsZWN0aW9uUGFpbnRTdHlsZS5z
dHJva2VXaWR0aCA+IDAsIG1fdGV4dEJveElzSG9yaXpvbnRhbCk7CiAKICAgICAgICAgICAgIGlm
IChtX2NvbWJpbmVkVGV4dCkKLSAgICAgICAgICAgICAgICBtX3NhdmVkRHJhd2luZ1N0YXRlRm9y
TWFzay5tX2NvbnRleHQtPmNvbmNhdENUTShyb3RhdGlvbihtX2JveFJlY3QsIENvdW50ZXJjbG9j
a3dpc2UpKTsKKyAgICAgICAgICAgICAgICBtX2NvbnRleHQuY29uY2F0Q1RNKHJvdGF0aW9uKG1f
Ym94UmVjdCwgQ291bnRlcmNsb2Nrd2lzZSkpOwogICAgICAgICB9CiAgICAgfQogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRQYWludGVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvVGV4dFBhaW50ZXIuaAppbmRleCA4ZGQ0Y2Y3YmY0NTgyZDNhMjdjODgz
ZTA3YWFkMmMwMmUwNGY4MmIxLi45NmY4M2FhMmIzMTM0MTk2NmQzNmY1OTM0YjhhNTc2YzNkMDQw
N2Q3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dFBhaW50ZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dFBhaW50ZXIuaApAQCAtNDEsMjMgKzQx
LDYgQEAgc3RhdGljIGlubGluZSBBZmZpbmVUcmFuc2Zvcm0gcm90YXRpb24oY29uc3QgRmxvYXRS
ZWN0JiBib3hSZWN0LCBSb3RhdGlvbkRpcmVjdGkKICAgICAgICAgOiBBZmZpbmVUcmFuc2Zvcm0o
MCwgLTEsIDEsIDAsIGJveFJlY3QueCgpIC0gYm94UmVjdC5tYXhZKCksIGJveFJlY3QueCgpICsg
Ym94UmVjdC5tYXhZKCkpOwogfQogCi1zdHJ1Y3QgU2F2ZWREcmF3aW5nU3RhdGVGb3JNYXNrIHsK
LSAgICBTYXZlZERyYXdpbmdTdGF0ZUZvck1hc2soR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBU
ZXh0UGFpbnRTdHlsZSogdGV4dFBhaW50U3R5bGUsIFRleHRQYWludFN0eWxlKiBzZWxlY3Rpb25Q
YWludFN0eWxlLAotICAgIGNvbnN0IFNoYWRvd0RhdGEqIHRleHRTaGFkb3csIGNvbnN0IFNoYWRv
d0RhdGEqIHNlbGVjdGlvblNoYWRvdykKLSAgICAgICAgOiBtX2NvbnRleHQoY29udGV4dCkKLSAg
ICAgICAgLCBtX3RleHRQYWludFN0eWxlKHRleHRQYWludFN0eWxlKQotICAgICAgICAsIG1fc2Vs
ZWN0aW9uUGFpbnRTdHlsZShzZWxlY3Rpb25QYWludFN0eWxlKQotICAgICAgICAsIG1fdGV4dFNo
YWRvdyh0ZXh0U2hhZG93KQotICAgICAgICAsIG1fc2VsZWN0aW9uU2hhZG93KHNlbGVjdGlvblNo
YWRvdykKLSAgICB7Ci0gICAgfQotICAgIEdyYXBoaWNzQ29udGV4dCogbV9jb250ZXh0OwotICAg
IFRleHRQYWludFN0eWxlKiBtX3RleHRQYWludFN0eWxlOwotICAgIFRleHRQYWludFN0eWxlKiBt
X3NlbGVjdGlvblBhaW50U3R5bGU7Ci0gICAgY29uc3QgU2hhZG93RGF0YSogbV90ZXh0U2hhZG93
OwotICAgIGNvbnN0IFNoYWRvd0RhdGEqIG1fc2VsZWN0aW9uU2hhZG93OwotfTsKLQogY2xhc3Mg
VGV4dFBhaW50ZXIgewogcHVibGljOgogICAgIFRleHRQYWludGVyKEdyYXBoaWNzQ29udGV4dCYs
IGJvb2wgcGFpbnRTZWxlY3RlZFRleHRPbmx5LCBib29sIHBhaW50U2VsZWN0ZWRUZXh0U2VwYXJh
dGVseSwgY29uc3QgRm9udCYsCkBAIC03MCw2ICs1MywxMSBAQCBwdWJsaWM6CiAgICAgRGFzaEFy
cmF5IGRhc2hlc0ZvckludGVyc2VjdGlvbnNXaXRoUmVjdChjb25zdCBGbG9hdFJlY3QmIGxpbmVF
eHRlbnRzKTsKIAogcHJpdmF0ZToKKyAgICBHcmFwaGljc0NvbnRleHQmIG1fY29udGV4dDsKKyAg
ICBUZXh0UGFpbnRTdHlsZSYgbV90ZXh0UGFpbnRTdHlsZTsKKyAgICBUZXh0UGFpbnRTdHlsZSYg
bV9zZWxlY3Rpb25QYWludFN0eWxlOworICAgIGNvbnN0IFNoYWRvd0RhdGEqIG1fdGV4dFNoYWRv
dzsKKyAgICBjb25zdCBTaGFkb3dEYXRhKiBtX3NlbGVjdGlvblNoYWRvdzsKICAgICBib29sIG1f
cGFpbnRTZWxlY3RlZFRleHRPbmx5OwogICAgIGJvb2wgbV9wYWludFNlbGVjdGVkVGV4dFNlcGFy
YXRlbHk7CiAgICAgY29uc3QgRm9udCYgbV9mb250OwpAQCAtODMsNyArNzEsNiBAQCBwcml2YXRl
OgogICAgIEZsb2F0UG9pbnQgbV90ZXh0T3JpZ2luOwogICAgIGludCBtX2VtcGhhc2lzTWFya09m
ZnNldDsKICAgICBib29sIG1fdGV4dEJveElzSG9yaXpvbnRhbDsKLSAgICBTYXZlZERyYXdpbmdT
dGF0ZUZvck1hc2sgbV9zYXZlZERyYXdpbmdTdGF0ZUZvck1hc2s7CiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NW
R0lubGluZVRleHRCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdJbmxp
bmVUZXh0Qm94LmNwcAppbmRleCAxZTIwZjhkYzcwZDE1NmI1MjQyMTVkZGQxYTZhMTZiY2IzOGU0
NzY1Li5jZGVjZGE0NzFhOTA5MmI5ODg4ZGQyNDY1MzQ5ZGY2OTNjMzA2MDVmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR0lubGluZVRleHRCb3guY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHSW5saW5lVGV4dEJveC5jcHAKQEAgLTU5
Nyw3ICs1OTcsNyBAQCB2b2lkIFNWR0lubGluZVRleHRCb3g6OnBhaW50VGV4dFdpdGhTaGFkb3dz
KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgUmVuZGVyU3R5bAogICAgICAgICBGbG9hdFNpemUg
ZXh0cmFPZmZzZXQ7CiAgICAgICAgIGJvb2wgZGlkU2F2ZUNvbnRleHQgPSBmYWxzZTsKICAgICAg
ICAgaWYgKHNoYWRvdykKLSAgICAgICAgICAgIGV4dHJhT2Zmc2V0ID0gYXBwbHlTaGFkb3dUb0dy
YXBoaWNzQ29udGV4dChjb250ZXh0LCBzaGFkb3csIHNoYWRvd1JlY3QsIGZhbHNlIC8qIHN0cm9r
ZWQgKi8sIHRydWUgLyogb3BhcXVlICovLCB0cnVlIC8qIGhvcml6b250YWwgKi8sIGRpZFNhdmVD
b250ZXh0KTsKKyAgICAgICAgICAgIGV4dHJhT2Zmc2V0ID0gYXBwbHlTaGFkb3dUb0dyYXBoaWNz
Q29udGV4dCgqY29udGV4dCwgc2hhZG93LCBzaGFkb3dSZWN0LCBmYWxzZSAvKiBzdHJva2VkICov
LCB0cnVlIC8qIG9wYXF1ZSAqLywgdHJ1ZSAvKiBob3Jpem9udGFsICovLCBkaWRTYXZlQ29udGV4
dCk7CiAKICAgICAgICAgY29udGV4dC0+c2F2ZSgpOwogICAgICAgICBjb250ZXh0LT5zY2FsZShG
bG9hdFNpemUoMSAvIHNjYWxpbmdGYWN0b3IsIDEgLyBzY2FsaW5nRmFjdG9yKSk7Cg==
</data>
<flag name="review"
          id="262615"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>