<?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>181405</bug_id>
          
          <creation_ts>2018-01-08 14:41:49 -0800</creation_ts>
          <short_desc>[RenderTreeBuilder] Move SVG addChild logic to RenderTreeBuilder</short_desc>
          <delta_ts>2018-01-08 15:14:16 -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>Layout and Rendering</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="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1386933</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2018-01-08 14:41:49 -0800</bug_when>
    <thetext>ssia.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1386934</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-01-08 14:42:09 -0800</bug_when>
    <thetext>&lt;rdar://problem/36360476&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1386936</commentid>
    <comment_count>2</comment_count>
      <attachid>330738</attachid>
    <who name="alan">zalan</who>
    <bug_when>2018-01-08 14:44:35 -0800</bug_when>
    <thetext>Created attachment 330738
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1386937</commentid>
    <comment_count>3</comment_count>
      <attachid>330738</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2018-01-08 14:47:35 -0800</bug_when>
    <thetext>Comment on attachment 330738
Patch

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

&gt; Source/WebCore/rendering/updating/RenderTreeBuilder.h:89
&gt; +    SVG&amp; SVGBuilder() { return *m_SVGBuilder; }

I think it is svgBuilder() and m_svgBuilder by our naming conventions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1386940</commentid>
    <comment_count>4</comment_count>
      <attachid>330740</attachid>
    <who name="alan">zalan</who>
    <bug_when>2018-01-08 14:52:46 -0800</bug_when>
    <thetext>Created attachment 330740
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1386952</commentid>
    <comment_count>5</comment_count>
      <attachid>330740</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-01-08 15:14:15 -0800</bug_when>
    <thetext>Comment on attachment 330740
Patch

Clearing flags on attachment: 330740

Committed r226568: &lt;https://trac.webkit.org/changeset/226568&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1386953</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-01-08 15:14:16 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>330738</attachid>
            <date>2018-01-08 14:44:35 -0800</date>
            <delta_ts>2018-01-08 14:52:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-181405-20180108144435.patch</filename>
            <type>text/plain</type>
            <size>19595</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI2NTM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTM3MjA0NzU4ZjZiYjYw
MDYxOGIwZTI0ZjUxYTU3ZGY3ZDQ1NGJhMi4uYzgxZjMxYTQwMTZmOTczYjEzNTliMDBhNzdkNWIw
MjQ1NDlmZWE1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE4LTAxLTA4ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1JlbmRlclRyZWVCdWlsZGVy
XSBNb3ZlIFNWRyBhZGRDaGlsZCBsb2dpYyB0byBSZW5kZXJUcmVlQnVpbGRlcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgxNDA1CisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS8zNjM2MDQ3Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBUaGlzIGlzIGFib3V0IG1vdmluZyB0aGUgY29kZSwgbm8gY2xlYW51
cCBhbmQvb3Igbm9ybWFsaXphdGlvbiAodW5mb3J0dW5hdGVseSBpdCBhbHNvIG1lYW5zCisgICAg
ICAgIHNvbWUgdGVtcG9yYXJ5IGNoYW5nZXMpLiAgCisKKyAgICAgICAgTm8gY2hhbmdlIGluIGZ1
bmN0aW9uYWxpdHkuCisKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5k
ZXJTVkdDb250YWluZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHQ29udGFpbmVy
OjphZGRDaGlsZCk6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdJbmxpbmUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHSW5saW5lOjphZGRDaGlsZCk6CisgICAgICAg
ICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclNWR1Jvb3Q6OmFkZENoaWxkKToKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNW
R1RleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHVGV4dDo6YWRkQ2hpbGQpOgor
ICAgICAgICAqIHJlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJUcmVlQnVpbGRlcjo6UmVuZGVyVHJlZUJ1aWxkZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyVHJlZUJ1aWxkZXI6Omluc2VydENoaWxkVG9TVkdDb250YWlu
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVHJlZUJ1aWxkZXI6Omluc2VydENoaWxkVG9T
VkdJbmxpbmUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVHJlZUJ1aWxkZXI6Omluc2VydENo
aWxkVG9TVkdSb290KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRyZWVCdWlsZGVyOjppbnNl
cnRDaGlsZFRvU1ZHVGV4dCk6CisgICAgICAgICogcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRy
ZWVCdWlsZGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUcmVlQnVpbGRlcjo6U1ZHQnVp
bGRlcik6CisgICAgICAgICogcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyU1ZH
LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUcmVlQnVpbGRlcjo6U1ZHOjpT
VkcpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVHJlZUJ1aWxkZXI6OlNWRzo6aW5zZXJ0Q2hp
bGQpOgorICAgICAgICAqIHJlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlclNWRy5o
OiBBZGRlZC4KKwogMjAxOC0wMS0wOCAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgog
CiAgICAgICAgIFtSZW5kZXJUcmVlQnVpbGRlcl0gTW92ZSBSZW5kZXJCbG9ja0Zsb3cgYWRkQ2hp
bGQgbG9naWMgdG8gUmVuZGVyVHJlZUJ1aWxkZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggYzY2OTMyY2Y0
ZjhlNjNmODU3MjgyYzMxODcwOGVkZjNiNDJlNTIyYi4uNjRjYzczMWRlMWVhNWQ4NTAzYWMxZDQ2
MGZjYThiOWQxODU3ZWEyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQK
KysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTE5OTIsNiArMTk5Miw3IEBAIHJl
bmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlcklubGluZS5jcHAKIHJlbmRlcmluZy91
cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlckxpc3QuY3BwCiByZW5kZXJpbmcvdXBkYXRpbmcvUmVu
ZGVyVHJlZUJ1aWxkZXJNdWx0aUNvbHVtbi5jcHAKIHJlbmRlcmluZy91cGRhdGluZy9SZW5kZXJU
cmVlQnVpbGRlclJ1YnkuY3BwCityZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJT
VkcuY3BwCiByZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJUYWJsZS5jcHAKIHJl
bmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlUG9zaXRpb24uY3BwCiByZW5kZXJpbmcvdXBkYXRp
bmcvUmVuZGVyVHJlZVVwZGF0ZXIuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNDcxNDZhNDA1YWJmZGM5NTE5YjAxZjhlMTEx
ODk5Y2Q1ZDViMjJjOS4uOWMwOGYxN2UxZGRhYjM2Zjc4MDY4Njc2ZmE3NzQ2YmM2MzcxYzM0YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agpAQCAtNTU5NSw2ICs1NTk1LDggQEAKIAkJMTFDNUYxMTgyMDAzRTc3NjAwMDFBRTYwIC8qIFJl
bmRlclRyZWVCdWlsZGVySW5saW5lLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFJlbmRlclRyZWVCdWlsZGVySW5saW5lLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTExQzVGMTFEMjAwM0Y2OUUwMDAxQUU2MCAvKiBSZW5kZXJUcmVlQnVpbGRlckJsb2NrRmxvdy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJUcmVlQnVpbGRlckJsb2Nr
Rmxvdy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxMUM1RjExRjIwMDNGNjlGMDAw
MUFFNjAgLyogUmVuZGVyVHJlZUJ1aWxkZXJCbG9ja0Zsb3cuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gUmVuZGVyVHJlZUJ1aWxkZXJCbG9ja0Zsb3cuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxMUM1RjEyQTIwMDQyMzFEMDAwMUFFNjAgLyogUmVu
ZGVyVHJlZUJ1aWxkZXJTVkcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVu
ZGVyVHJlZUJ1aWxkZXJTVkcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTFDNUYx
MkMyMDA0MjMxRTAwMDFBRTYwIC8qIFJlbmRlclRyZWVCdWlsZGVyU1ZHLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbmRlclRyZWVCdWlsZGVyU1ZHLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMTFFMDY3RUIxRTYyNDYxMzAwMTYyRDE2IC8qIFNp
bXBsZUxpbmVMYXlvdXRDb3ZlcmFnZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBTaW1wbGVMaW5lTGF5b3V0Q292ZXJhZ2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkxMUUwNjdFRDFFNjI0NkU1MDAxNjJEMTYgLyogU2ltcGxlTGluZUxheW91dENv
dmVyYWdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNpbXBsZUxpbmVMYXlv
dXRDb3ZlcmFnZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxNDAwRDdBNzE3MTM2
RUE3MDA3N0NFMDUgLyogU2NyaXB0V3JhcHBhYmxlSW5saW5lcy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBTY3JpcHRXcmFwcGFibGVJbmxpbmVzLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC0yNDY0OSw2ICsyNDY1MSw4IEBACiAJCQkJRTQ3QzM5MjcxRkU2RTBE
QzAwQkJCQzZCIC8qIFJlbmRlclRyZWVCdWlsZGVyTXVsdGlDb2x1bW4uaCAqLywKIAkJCQkxMTkz
NDA4NzFGRUIzNTVEMDA5MzVGMUUgLyogUmVuZGVyVHJlZUJ1aWxkZXJSdWJ5LmNwcCAqLywKIAkJ
CQkxMTkzNDA4ODFGRUIzNTVEMDA5MzVGMUUgLyogUmVuZGVyVHJlZUJ1aWxkZXJSdWJ5LmggKi8s
CisJCQkJMTFDNUYxMkMyMDA0MjMxRTAwMDFBRTYwIC8qIFJlbmRlclRyZWVCdWlsZGVyU1ZHLmNw
cCAqLywKKwkJCQkxMUM1RjEyQTIwMDQyMzFEMDAwMUFFNjAgLyogUmVuZGVyVHJlZUJ1aWxkZXJT
VkcuaCAqLywKIAkJCQkxMTkzNDA3NjFGRThCOTIzMDA5MzVGMUUgLyogUmVuZGVyVHJlZUJ1aWxk
ZXJUYWJsZS5jcHAgKi8sCiAJCQkJMTE5MzQwNzcxRkU4QjkyMzAwOTM1RjFFIC8qIFJlbmRlclRy
ZWVCdWlsZGVyVGFibGUuaCAqLywKIAkJCQlFNDdDMzkyOTFGRTZFMERFMDBCQkJDNkIgLyogUmVu
ZGVyVHJlZVBvc2l0aW9uLmNwcCAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvUmVuZGVyU1ZHQ29udGFpbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvUmVuZGVyU1ZHQ29udGFpbmVyLmNwcAppbmRleCBmMDllMzgwZjY4MDZkNjMzODUwMDVm
NjQ4MzJlOTVjMWEzNDg5YjBjLi5iYzE5OThjMzNmYmRiOGExYjkyNjY1MTY1ZjhiNDczMDZiODVj
YzA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0Nv
bnRhaW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdD
b250YWluZXIuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiTGF5b3V0UmVwYWludGVy
LmgiCiAjaW5jbHVkZSAiUmVuZGVySXRlcmF0b3IuaCIKICNpbmNsdWRlICJSZW5kZXJTVkdSZXNv
dXJjZUZpbHRlci5oIgorI2luY2x1ZGUgIlJlbmRlclRyZWVCdWlsZGVyLmgiCiAjaW5jbHVkZSAi
UmVuZGVyVmlldy5oIgogI2luY2x1ZGUgIlNWR1JlbmRlcmluZ0NvbnRleHQuaCIKICNpbmNsdWRl
ICJTVkdSZXNvdXJjZXMuaCIKQEAgLTkxLDkgKzkyLDcgQEAgdm9pZCBSZW5kZXJTVkdDb250YWlu
ZXI6OmxheW91dCgpCiAKIHZvaWQgUmVuZGVyU1ZHQ29udGFpbmVyOjphZGRDaGlsZChSZW5kZXJU
cmVlQnVpbGRlciYgYnVpbGRlciwgUmVuZGVyUHRyPFJlbmRlck9iamVjdD4gbmV3Q2hpbGQsIFJl
bmRlck9iamVjdCogYmVmb3JlQ2hpbGQpCiB7Ci0gICAgYXV0byYgY2hpbGQgPSAqbmV3Q2hpbGQ7
Ci0gICAgUmVuZGVyU1ZHTW9kZWxPYmplY3Q6OmFkZENoaWxkKGJ1aWxkZXIsIFdURk1vdmUobmV3
Q2hpbGQpLCBiZWZvcmVDaGlsZCk7Ci0gICAgU1ZHUmVzb3VyY2VzQ2FjaGU6OmNsaWVudFdhc0Fk
ZGVkVG9UcmVlKGNoaWxkKTsKKyAgICBidWlsZGVyLmluc2VydENoaWxkVG9TVkdDb250YWluZXIo
KnRoaXMsIFdURk1vdmUobmV3Q2hpbGQpLCBiZWZvcmVDaGlsZCk7CiB9CiAKIFJlbmRlclB0cjxS
ZW5kZXJPYmplY3Q+IFJlbmRlclNWR0NvbnRhaW5lcjo6dGFrZUNoaWxkKFJlbmRlck9iamVjdCYg
Y2hpbGQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNW
R0lubGluZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0lubGlu
ZS5jcHAKaW5kZXggMzAyOWM3ODBjMTY2YzkxYmJkZTg4OTQ1MmU3ODIyMDYzYmQ4ZmUxYS4uMWIy
ZTEyYzhjYjRmMmY0ZGUwNTM2OTI1ZTJlZGE5MmY1ZWY0MmRlZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdJbmxpbmUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHSW5saW5lLmNwcApAQCAtMTI1LDEyICsxMjUs
NyBAQCB2b2lkIFJlbmRlclNWR0lubGluZTo6dXBkYXRlRnJvbVN0eWxlKCkKIAogdm9pZCBSZW5k
ZXJTVkdJbmxpbmU6OmFkZENoaWxkKFJlbmRlclRyZWVCdWlsZGVyJiBidWlsZGVyLCBSZW5kZXJQ
dHI8UmVuZGVyT2JqZWN0PiBuZXdDaGlsZCwgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCkKIHsK
LSAgICBhdXRvJiBjaGlsZCA9ICpuZXdDaGlsZDsKLSAgICBSZW5kZXJJbmxpbmU6OmFkZENoaWxk
KGJ1aWxkZXIsIFdURk1vdmUobmV3Q2hpbGQpLCBiZWZvcmVDaGlsZCk7Ci0gICAgU1ZHUmVzb3Vy
Y2VzQ2FjaGU6OmNsaWVudFdhc0FkZGVkVG9UcmVlKGNoaWxkKTsKLQotICAgIGlmIChhdXRvKiB0
ZXh0QW5jZXN0b3IgPSBSZW5kZXJTVkdUZXh0Ojpsb2NhdGVSZW5kZXJTVkdUZXh0QW5jZXN0b3Io
KnRoaXMpKQotICAgICAgICB0ZXh0QW5jZXN0b3ItPnN1YnRyZWVDaGlsZFdhc0FkZGVkKCZjaGls
ZCk7CisgICAgYnVpbGRlci5pbnNlcnRDaGlsZFRvU1ZHSW5saW5lKCp0aGlzLCBXVEZNb3ZlKG5l
d0NoaWxkKSwgYmVmb3JlQ2hpbGQpOwogfQogCiBSZW5kZXJQdHI8UmVuZGVyT2JqZWN0PiBSZW5k
ZXJTVkdJbmxpbmU6OnRha2VDaGlsZChSZW5kZXJPYmplY3QmIGNoaWxkKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHAKaW5kZXggMTg3OTRlYjBjNzM3
NjlkM2VmMjVlODYwYjgyODRjZjFhNThjMmMwNC4uNTQyNGM3MmYzNWIwOWU2NGEzMzU2MWFiZGI3
ODUwMGMyMDY4NTk0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9S
ZW5kZXJTVkdSb290LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRl
clNWR1Jvb3QuY3BwCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3Vy
Y2UuaCIKICNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lci5oIgogI2luY2x1ZGUg
IlJlbmRlclNWR1Jlc291cmNlRmlsdGVyLmgiCisjaW5jbHVkZSAiUmVuZGVyVHJlZUJ1aWxkZXIu
aCIKICNpbmNsdWRlICJSZW5kZXJWaWV3LmgiCiAjaW5jbHVkZSAiU1ZHSW1hZ2UuaCIKICNpbmNs
dWRlICJTVkdSZW5kZXJpbmdDb250ZXh0LmgiCkBAIC0zMDQsOSArMzA1LDcgQEAgdm9pZCBSZW5k
ZXJTVkdSb290OjpzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UgZGlmZiwgY29uc3QgUmVu
ZGVyU3R5bGUqIG9sZFMKIAogdm9pZCBSZW5kZXJTVkdSb290OjphZGRDaGlsZChSZW5kZXJUcmVl
QnVpbGRlciYgYnVpbGRlciwgUmVuZGVyUHRyPFJlbmRlck9iamVjdD4gbmV3Q2hpbGQsIFJlbmRl
ck9iamVjdCogYmVmb3JlQ2hpbGQpCiB7Ci0gICAgYXV0byYgY2hpbGQgPSAqbmV3Q2hpbGQ7Ci0g
ICAgUmVuZGVyUmVwbGFjZWQ6OmFkZENoaWxkKGJ1aWxkZXIsIFdURk1vdmUobmV3Q2hpbGQpLCBi
ZWZvcmVDaGlsZCk7Ci0gICAgU1ZHUmVzb3VyY2VzQ2FjaGU6OmNsaWVudFdhc0FkZGVkVG9UcmVl
KGNoaWxkKTsKKyAgICBidWlsZGVyLmluc2VydENoaWxkVG9TVkdSb290KCp0aGlzLCBXVEZNb3Zl
KG5ld0NoaWxkKSwgYmVmb3JlQ2hpbGQpOwogfQogCiBSZW5kZXJQdHI8UmVuZGVyT2JqZWN0PiBS
ZW5kZXJTVkdSb290Ojp0YWtlQ2hpbGQoUmVuZGVyT2JqZWN0JiBjaGlsZCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHVGV4dC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1RleHQuY3BwCmluZGV4IGI3NWI0OGU5NmQz
YTdlMTdjODU5MzcxZGUwMWIwOWRjZGIzZDAzNjguLmQzNGE1OWM5ODNhYTE1ZGEyYTJkZGIzNGQw
YWM5Y2YyYmYxZDYyOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
UmVuZGVyU1ZHVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5k
ZXJTVkdUZXh0LmNwcApAQCAtNTIyLDExICs1MjIsNyBAQCBGbG9hdFJlY3QgUmVuZGVyU1ZHVGV4
dDo6cmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMoKSBjb25zdAogCiB2b2lkIFJlbmRlclNW
R1RleHQ6OmFkZENoaWxkKFJlbmRlclRyZWVCdWlsZGVyJiBidWlsZGVyLCBSZW5kZXJQdHI8UmVu
ZGVyT2JqZWN0PiBuZXdDaGlsZCwgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCkKIHsKLSAgICBh
dXRvJiBjaGlsZCA9ICpuZXdDaGlsZDsKLSAgICBSZW5kZXJTVkdCbG9jazo6YWRkQ2hpbGQoYnVp
bGRlciwgV1RGTW92ZShuZXdDaGlsZCksIGJlZm9yZUNoaWxkKTsKLQotICAgIFNWR1Jlc291cmNl
c0NhY2hlOjpjbGllbnRXYXNBZGRlZFRvVHJlZShjaGlsZCk7Ci0gICAgc3VidHJlZUNoaWxkV2Fz
QWRkZWQoJmNoaWxkKTsKKyAgICBidWlsZGVyLmluc2VydENoaWxkVG9TVkdUZXh0KCp0aGlzLCBX
VEZNb3ZlKG5ld0NoaWxkKSwgYmVmb3JlQ2hpbGQpOwogfQogCiBSZW5kZXJQdHI8UmVuZGVyT2Jq
ZWN0PiBSZW5kZXJTVkdUZXh0Ojp0YWtlQ2hpbGQoUmVuZGVyT2JqZWN0JiBjaGlsZCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxk
ZXIuY3BwCmluZGV4IDEzOWM2MmUzZDI1NTM2ZDcxYTc5NTIzN2I1ZWZiODUxZjkwNDFmY2MuLjNk
MDkzZDEyYTc4ZDVhZTZmNzgyZTIzZTI3YzEwZDc0OTMyZWIxM2YgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyLmNwcApA
QCAtNDEsNiArNDEsNyBAQAogI2luY2x1ZGUgIlJlbmRlclRyZWVCdWlsZGVyTGlzdC5oIgogI2lu
Y2x1ZGUgIlJlbmRlclRyZWVCdWlsZGVyTXVsdGlDb2x1bW4uaCIKICNpbmNsdWRlICJSZW5kZXJU
cmVlQnVpbGRlclJ1YnkuaCIKKyNpbmNsdWRlICJSZW5kZXJUcmVlQnVpbGRlclNWRy5oIgogI2lu
Y2x1ZGUgIlJlbmRlclRyZWVCdWlsZGVyVGFibGUuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpA
QCAtMTEwLDYgKzExMSw3IEBAIFJlbmRlclRyZWVCdWlsZGVyOjpSZW5kZXJUcmVlQnVpbGRlcihS
ZW5kZXJWaWV3JiB2aWV3KQogICAgICwgbV9ibG9ja0J1aWxkZXIoc3RkOjptYWtlX3VuaXF1ZTxC
bG9jaz4oKnRoaXMpKQogICAgICwgbV9ibG9ja0Zsb3dCdWlsZGVyKHN0ZDo6bWFrZV91bmlxdWU8
QmxvY2tGbG93PigqdGhpcykpCiAgICAgLCBtX2lubGluZUJ1aWxkZXIoc3RkOjptYWtlX3VuaXF1
ZTxJbmxpbmU+KCp0aGlzKSkKKyAgICAsIG1fU1ZHQnVpbGRlcihzdGQ6Om1ha2VfdW5pcXVlPFNW
Rz4oKnRoaXMpKQogewogICAgIFJFTEVBU0VfQVNTRVJUKCFzX2N1cnJlbnQgfHwgJm1fdmlldyAh
PSAmc19jdXJyZW50LT5tX3ZpZXcpOwogICAgIG1fcHJldmlvdXMgPSBzX2N1cnJlbnQ7CkBAIC0y
ODUsNiArMjg3LDI2IEBAIHZvaWQgUmVuZGVyVHJlZUJ1aWxkZXI6Omluc2VydENoaWxkVG9SZW5k
ZXJJbmxpbmVJZ25vcmluZ0NvbnRpbnVhdGlvbihSZW5kZXJJbmxpCiAgICAgaW5saW5lQnVpbGRl
cigpLmluc2VydENoaWxkSWdub3JpbmdDb250aW51YXRpb24ocGFyZW50LCBXVEZNb3ZlKGNoaWxk
KSwgYmVmb3JlQ2hpbGQpOwogfQogCit2b2lkIFJlbmRlclRyZWVCdWlsZGVyOjppbnNlcnRDaGls
ZFRvU1ZHQ29udGFpbmVyKFJlbmRlclNWR0NvbnRhaW5lciYgcGFyZW50LCBSZW5kZXJQdHI8UmVu
ZGVyT2JqZWN0PiBjaGlsZCwgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCkKK3sKKyAgICBTVkdC
dWlsZGVyKCkuaW5zZXJ0Q2hpbGQocGFyZW50LCBXVEZNb3ZlKGNoaWxkKSwgYmVmb3JlQ2hpbGQp
OworfQorCit2b2lkIFJlbmRlclRyZWVCdWlsZGVyOjppbnNlcnRDaGlsZFRvU1ZHSW5saW5lKFJl
bmRlclNWR0lubGluZSYgcGFyZW50LCBSZW5kZXJQdHI8UmVuZGVyT2JqZWN0PiBjaGlsZCwgUmVu
ZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCkKK3sKKyAgICBTVkdCdWlsZGVyKCkuaW5zZXJ0Q2hpbGQo
cGFyZW50LCBXVEZNb3ZlKGNoaWxkKSwgYmVmb3JlQ2hpbGQpOworfQorCit2b2lkIFJlbmRlclRy
ZWVCdWlsZGVyOjppbnNlcnRDaGlsZFRvU1ZHUm9vdChSZW5kZXJTVkdSb290JiBwYXJlbnQsIFJl
bmRlclB0cjxSZW5kZXJPYmplY3Q+IGNoaWxkLCBSZW5kZXJPYmplY3QqIGJlZm9yZUNoaWxkKQor
eworICAgIFNWR0J1aWxkZXIoKS5pbnNlcnRDaGlsZChwYXJlbnQsIFdURk1vdmUoY2hpbGQpLCBi
ZWZvcmVDaGlsZCk7Cit9CisKK3ZvaWQgUmVuZGVyVHJlZUJ1aWxkZXI6Omluc2VydENoaWxkVG9T
VkdUZXh0KFJlbmRlclNWR1RleHQmIHBhcmVudCwgUmVuZGVyUHRyPFJlbmRlck9iamVjdD4gY2hp
bGQsIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQpCit7CisgICAgU1ZHQnVpbGRlcigpLmluc2Vy
dENoaWxkKHBhcmVudCwgV1RGTW92ZShjaGlsZCksIGJlZm9yZUNoaWxkKTsKK30KKwogdm9pZCBS
ZW5kZXJUcmVlQnVpbGRlcjo6c3BsaXRGbG93KFJlbmRlcklubGluZSYgcGFyZW50LCBSZW5kZXJP
YmplY3QqIGJlZm9yZUNoaWxkLCBSZW5kZXJQdHI8UmVuZGVyQmxvY2s+IG5ld0Jsb2NrQm94LCBS
ZW5kZXJQdHI8UmVuZGVyT2JqZWN0PiBjaGlsZCwgUmVuZGVyQm94TW9kZWxPYmplY3QqIG9sZENv
bnQpCiB7CiAgICAgaW5saW5lQnVpbGRlcigpLnNwbGl0RmxvdyhwYXJlbnQsIGJlZm9yZUNoaWxk
LCBXVEZNb3ZlKG5ld0Jsb2NrQm94KSwgV1RGTW92ZShjaGlsZCksIG9sZENvbnQpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIu
aAppbmRleCA0N2M2MzY0NjliYWM1ZTg4N2FjYWMwNzg2MjNlMDdjM2Y2ZGVmZmE4Li5hYmJlNGMy
YWYxMGVhNTRlM2UwOGY0OWVhZDUwZjU1NjBjMDg5NmZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIuaApAQCAtMzAsNiAr
MzAsMTAgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUmVuZGVyUnVieVJ1bjsKK2Ns
YXNzIFJlbmRlclNWR0NvbnRhaW5lcjsKK2NsYXNzIFJlbmRlclNWR0lubGluZTsKK2NsYXNzIFJl
bmRlclNWR1Jvb3Q7CitjbGFzcyBSZW5kZXJTVkdUZXh0OwogY2xhc3MgUmVuZGVyVHJlZVVwZGF0
ZXI7CiAKIGNsYXNzIFJlbmRlclRyZWVCdWlsZGVyIHsKQEAgLTUyLDYgKzU2LDEwIEBAIHB1Ymxp
YzoKICAgICB2b2lkIGluc2VydENoaWxkVG9SZW5kZXJCbG9ja0Zsb3coUmVuZGVyQmxvY2tGbG93
JiBwYXJlbnQsIFJlbmRlclB0cjxSZW5kZXJPYmplY3Q+LCBSZW5kZXJPYmplY3QqIGJlZm9yZUNo
aWxkID0gbnVsbHB0cik7CiAgICAgdm9pZCBpbnNlcnRDaGlsZFRvUmVuZGVySW5saW5lKFJlbmRl
cklubGluZSYgcGFyZW50LCBSZW5kZXJQdHI8UmVuZGVyT2JqZWN0PiwgUmVuZGVyT2JqZWN0KiBi
ZWZvcmVDaGlsZCA9IG51bGxwdHIpOwogICAgIHZvaWQgaW5zZXJ0Q2hpbGRUb1JlbmRlcklubGlu
ZUlnbm9yaW5nQ29udGludWF0aW9uKFJlbmRlcklubGluZSYgcGFyZW50LCBSZW5kZXJQdHI8UmVu
ZGVyT2JqZWN0PiwgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCA9IG51bGxwdHIpOworICAgIHZv
aWQgaW5zZXJ0Q2hpbGRUb1NWR0NvbnRhaW5lcihSZW5kZXJTVkdDb250YWluZXImIHBhcmVudCwg
UmVuZGVyUHRyPFJlbmRlck9iamVjdD4sIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQgPSBudWxs
cHRyKTsKKyAgICB2b2lkIGluc2VydENoaWxkVG9TVkdJbmxpbmUoUmVuZGVyU1ZHSW5saW5lJiBw
YXJlbnQsIFJlbmRlclB0cjxSZW5kZXJPYmplY3Q+LCBSZW5kZXJPYmplY3QqIGJlZm9yZUNoaWxk
ID0gbnVsbHB0cik7CisgICAgdm9pZCBpbnNlcnRDaGlsZFRvU1ZHUm9vdChSZW5kZXJTVkdSb290
JiBwYXJlbnQsIFJlbmRlclB0cjxSZW5kZXJPYmplY3Q+LCBSZW5kZXJPYmplY3QqIGJlZm9yZUNo
aWxkID0gbnVsbHB0cik7CisgICAgdm9pZCBpbnNlcnRDaGlsZFRvU1ZHVGV4dChSZW5kZXJTVkdU
ZXh0JiBwYXJlbnQsIFJlbmRlclB0cjxSZW5kZXJPYmplY3Q+LCBSZW5kZXJPYmplY3QqIGJlZm9y
ZUNoaWxkID0gbnVsbHB0cik7CiAKICAgICB2b2lkIG1ha2VDaGlsZHJlbk5vbklubGluZShSZW5k
ZXJCbG9jayYgcGFyZW50LCBSZW5kZXJPYmplY3QqIGluc2VydGlvblBvaW50ID0gbnVsbHB0cik7
CiAgICAgUmVuZGVyT2JqZWN0KiBzcGxpdEFub255bW91c0JveGVzQXJvdW5kQ2hpbGQoUmVuZGVy
Qm94JiBwYXJlbnQsIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQpOwpAQCAtNjcsNiArNzUsNyBA
QCBwcml2YXRlOgogICAgIGNsYXNzIEJsb2NrOwogICAgIGNsYXNzIEJsb2NrRmxvdzsKICAgICBj
bGFzcyBJbmxpbmU7CisgICAgY2xhc3MgU1ZHOwogCiAgICAgRmlyc3RMZXR0ZXImIGZpcnN0TGV0
dGVyQnVpbGRlcigpIHsgcmV0dXJuICptX2ZpcnN0TGV0dGVyQnVpbGRlcjsgfQogICAgIExpc3Qm
IGxpc3RCdWlsZGVyKCkgeyByZXR1cm4gKm1fbGlzdEJ1aWxkZXI7IH0KQEAgLTc3LDYgKzg2LDcg
QEAgcHJpdmF0ZToKICAgICBCbG9jayYgYmxvY2tCdWlsZGVyKCkgeyByZXR1cm4gKm1fYmxvY2tC
dWlsZGVyOyB9CiAgICAgQmxvY2tGbG93JiBibG9ja0Zsb3dCdWlsZGVyKCkgeyByZXR1cm4gKm1f
YmxvY2tGbG93QnVpbGRlcjsgfQogICAgIElubGluZSYgaW5saW5lQnVpbGRlcigpIHsgcmV0dXJu
ICptX2lubGluZUJ1aWxkZXI7IH0KKyAgICBTVkcmIFNWR0J1aWxkZXIoKSB7IHJldHVybiAqbV9T
VkdCdWlsZGVyOyB9CiAKICAgICBSZW5kZXJWaWV3JiBtX3ZpZXc7CiAKQEAgLTkyLDYgKzEwMiw3
IEBAIHByaXZhdGU6CiAgICAgc3RkOjp1bmlxdWVfcHRyPEJsb2NrPiBtX2Jsb2NrQnVpbGRlcjsK
ICAgICBzdGQ6OnVuaXF1ZV9wdHI8QmxvY2tGbG93PiBtX2Jsb2NrRmxvd0J1aWxkZXI7CiAgICAg
c3RkOjp1bmlxdWVfcHRyPElubGluZT4gbV9pbmxpbmVCdWlsZGVyOworICAgIHN0ZDo6dW5pcXVl
X3B0cjxTVkc+IG1fU1ZHQnVpbGRlcjsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlclNWRy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJTVkcuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjcxNzVjNDI1NTk1NDI3NTZjM2YzNzhiYTVkMmE4MGYzN2EwNDM4ODIKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1
aWxkZXJTVkcuY3BwCkBAIC0wLDAgKzEsNzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTgg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisjaW5jbHVkZSAiUmVuZGVyVHJlZUJ1aWxkZXJTVkcuaCIKKworI2luY2x1ZGUgIlJl
bmRlclNWR0NvbnRhaW5lci5oIgorI2luY2x1ZGUgIlJlbmRlclNWR0lubGluZS5oIgorI2luY2x1
ZGUgIlJlbmRlclNWR1Jvb3QuaCIKKyNpbmNsdWRlICJSZW5kZXJTVkdUZXh0LmgiCisjaW5jbHVk
ZSAiU1ZHUmVzb3VyY2VzQ2FjaGUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitSZW5kZXJU
cmVlQnVpbGRlcjo6U1ZHOjpTVkcoUmVuZGVyVHJlZUJ1aWxkZXImIGJ1aWxkZXIpCisgICAgOiBt
X2J1aWxkZXIoYnVpbGRlcikKK3sKK30KKwordm9pZCBSZW5kZXJUcmVlQnVpbGRlcjo6U1ZHOjpp
bnNlcnRDaGlsZChSZW5kZXJTVkdDb250YWluZXImIHBhcmVudCwgUmVuZGVyUHRyPFJlbmRlck9i
amVjdD4gY2hpbGQsIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQpCit7CisgICAgYXV0byYgY2hp
bGRUb0FkZCA9ICpjaGlsZDsKKyAgICBwYXJlbnQuUmVuZGVyRWxlbWVudDo6YWRkQ2hpbGQobV9i
dWlsZGVyLCBXVEZNb3ZlKGNoaWxkKSwgYmVmb3JlQ2hpbGQpOworICAgIFNWR1Jlc291cmNlc0Nh
Y2hlOjpjbGllbnRXYXNBZGRlZFRvVHJlZShjaGlsZFRvQWRkKTsKK30KKwordm9pZCBSZW5kZXJU
cmVlQnVpbGRlcjo6U1ZHOjppbnNlcnRDaGlsZChSZW5kZXJTVkdJbmxpbmUmIHBhcmVudCwgUmVu
ZGVyUHRyPFJlbmRlck9iamVjdD4gY2hpbGQsIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQpCit7
CisgICAgYXV0byYgY2hpbGRUb0FkZCA9ICpjaGlsZDsKKyAgICBtX2J1aWxkZXIuaW5zZXJ0Q2hp
bGRUb1JlbmRlcklubGluZShwYXJlbnQsIFdURk1vdmUoY2hpbGQpLCBiZWZvcmVDaGlsZCk7Cisg
ICAgU1ZHUmVzb3VyY2VzQ2FjaGU6OmNsaWVudFdhc0FkZGVkVG9UcmVlKGNoaWxkVG9BZGQpOwor
CisgICAgaWYgKGF1dG8qIHRleHRBbmNlc3RvciA9IFJlbmRlclNWR1RleHQ6OmxvY2F0ZVJlbmRl
clNWR1RleHRBbmNlc3RvcihwYXJlbnQpKQorICAgICAgICB0ZXh0QW5jZXN0b3ItPnN1YnRyZWVD
aGlsZFdhc0FkZGVkKCZjaGlsZFRvQWRkKTsKK30KKwordm9pZCBSZW5kZXJUcmVlQnVpbGRlcjo6
U1ZHOjppbnNlcnRDaGlsZChSZW5kZXJTVkdSb290JiBwYXJlbnQsIFJlbmRlclB0cjxSZW5kZXJP
YmplY3Q+IGNoaWxkLCBSZW5kZXJPYmplY3QqIGJlZm9yZUNoaWxkKQoreworICAgIGF1dG8mIGNo
aWxkVG9BZGQgPSAqY2hpbGQ7CisgICAgcGFyZW50LlJlbmRlclJlcGxhY2VkOjphZGRDaGlsZCht
X2J1aWxkZXIsIFdURk1vdmUoY2hpbGQpLCBiZWZvcmVDaGlsZCk7CisgICAgU1ZHUmVzb3VyY2Vz
Q2FjaGU6OmNsaWVudFdhc0FkZGVkVG9UcmVlKGNoaWxkVG9BZGQpOworfQorCit2b2lkIFJlbmRl
clRyZWVCdWlsZGVyOjpTVkc6Omluc2VydENoaWxkKFJlbmRlclNWR1RleHQmIHBhcmVudCwgUmVu
ZGVyUHRyPFJlbmRlck9iamVjdD4gY2hpbGQsIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQpCit7
CisgICAgYXV0byYgY2hpbGRUb0FkZCA9ICpjaGlsZDsKKyAgICBtX2J1aWxkZXIuaW5zZXJ0Q2hp
bGRUb1JlbmRlckJsb2NrRmxvdyhwYXJlbnQsIFdURk1vdmUoY2hpbGQpLCBiZWZvcmVDaGlsZCk7
CisKKyAgICBTVkdSZXNvdXJjZXNDYWNoZTo6Y2xpZW50V2FzQWRkZWRUb1RyZWUoY2hpbGRUb0Fk
ZCk7CisgICAgcGFyZW50LnN1YnRyZWVDaGlsZFdhc0FkZGVkKCZjaGlsZFRvQWRkKTsKK30KKwor
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRy
ZWVCdWlsZGVyU1ZHLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVy
VHJlZUJ1aWxkZXJTVkcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jOWJlNzk5Mzg5N2U4YTJjZjUxMGViN2EyMDhl
ZTU5ZjI1NjJkMzY2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyU1ZHLmgKQEAgLTAsMCArMSw1MCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiUmVuZGVyVHJlZUJ1aWxkZXIuaCIKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBSZW5kZXJTVkdDb250YWluZXI7CitjbGFzcyBS
ZW5kZXJTVkdJbmxpbmU7CitjbGFzcyBSZW5kZXJTVkdSb290OworY2xhc3MgUmVuZGVyU1ZHVGV4
dDsKKworY2xhc3MgUmVuZGVyVHJlZUJ1aWxkZXI6OlNWRyB7CitwdWJsaWM6CisgICAgU1ZHKFJl
bmRlclRyZWVCdWlsZGVyJik7CisKKyAgICB2b2lkIGluc2VydENoaWxkKFJlbmRlclNWR0NvbnRh
aW5lciYgcGFyZW50LCBSZW5kZXJQdHI8UmVuZGVyT2JqZWN0PiBjaGlsZCwgUmVuZGVyT2JqZWN0
KiBiZWZvcmVDaGlsZCk7CisgICAgdm9pZCBpbnNlcnRDaGlsZChSZW5kZXJTVkdJbmxpbmUmIHBh
cmVudCwgUmVuZGVyUHRyPFJlbmRlck9iamVjdD4gY2hpbGQsIFJlbmRlck9iamVjdCogYmVmb3Jl
Q2hpbGQpOworICAgIHZvaWQgaW5zZXJ0Q2hpbGQoUmVuZGVyU1ZHUm9vdCYgcGFyZW50LCBSZW5k
ZXJQdHI8UmVuZGVyT2JqZWN0PiBjaGlsZCwgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCk7Cisg
ICAgdm9pZCBpbnNlcnRDaGlsZChSZW5kZXJTVkdUZXh0JiBwYXJlbnQsIFJlbmRlclB0cjxSZW5k
ZXJPYmplY3Q+IGNoaWxkLCBSZW5kZXJPYmplY3QqIGJlZm9yZUNoaWxkKTsKKworcHJpdmF0ZToK
KyAgICBSZW5kZXJUcmVlQnVpbGRlciYgbV9idWlsZGVyOworfTsKKworfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>330740</attachid>
            <date>2018-01-08 14:52:46 -0800</date>
            <delta_ts>2018-01-08 15:14:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-181405-20180108145245.patch</filename>
            <type>text/plain</type>
            <size>19595</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI2NTM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTM3MjA0NzU4ZjZiYjYw
MDYxOGIwZTI0ZjUxYTU3ZGY3ZDQ1NGJhMi4uNWJkNDUwM2M3ZDBjOWY5YjBkZWY1MWUyNzYyNWY1
NWE4MmNmZTA2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE4LTAxLTA4ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1JlbmRlclRyZWVCdWlsZGVy
XSBNb3ZlIFNWRyBhZGRDaGlsZCBsb2dpYyB0byBSZW5kZXJUcmVlQnVpbGRlcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgxNDA1CisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS8zNjM2MDQ3Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBBbnR0aSBLb2l2
aXN0by4KKworICAgICAgICBUaGlzIGlzIGFib3V0IG1vdmluZyB0aGUgY29kZSwgbm8gY2xlYW51
cCBhbmQvb3Igbm9ybWFsaXphdGlvbiAodW5mb3J0dW5hdGVseSBpdCBhbHNvIG1lYW5zCisgICAg
ICAgIHNvbWUgdGVtcG9yYXJ5IGNoYW5nZXMpLiAgCisKKyAgICAgICAgTm8gY2hhbmdlIGluIGZ1
bmN0aW9uYWxpdHkuCisKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5k
ZXJTVkdDb250YWluZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHQ29udGFpbmVy
OjphZGRDaGlsZCk6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdJbmxpbmUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHSW5saW5lOjphZGRDaGlsZCk6CisgICAgICAg
ICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclNWR1Jvb3Q6OmFkZENoaWxkKToKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNW
R1RleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHVGV4dDo6YWRkQ2hpbGQpOgor
ICAgICAgICAqIHJlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJUcmVlQnVpbGRlcjo6UmVuZGVyVHJlZUJ1aWxkZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyVHJlZUJ1aWxkZXI6Omluc2VydENoaWxkVG9TVkdDb250YWlu
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVHJlZUJ1aWxkZXI6Omluc2VydENoaWxkVG9T
VkdJbmxpbmUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVHJlZUJ1aWxkZXI6Omluc2VydENo
aWxkVG9TVkdSb290KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRyZWVCdWlsZGVyOjppbnNl
cnRDaGlsZFRvU1ZHVGV4dCk6CisgICAgICAgICogcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRy
ZWVCdWlsZGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUcmVlQnVpbGRlcjo6U1ZHQnVp
bGRlcik6CisgICAgICAgICogcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyU1ZH
LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUcmVlQnVpbGRlcjo6U1ZHOjpT
VkcpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVHJlZUJ1aWxkZXI6OlNWRzo6aW5zZXJ0Q2hp
bGQpOgorICAgICAgICAqIHJlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlclNWRy5o
OiBBZGRlZC4KKwogMjAxOC0wMS0wOCAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgog
CiAgICAgICAgIFtSZW5kZXJUcmVlQnVpbGRlcl0gTW92ZSBSZW5kZXJCbG9ja0Zsb3cgYWRkQ2hp
bGQgbG9naWMgdG8gUmVuZGVyVHJlZUJ1aWxkZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggYzY2OTMyY2Y0
ZjhlNjNmODU3MjgyYzMxODcwOGVkZjNiNDJlNTIyYi4uNjRjYzczMWRlMWVhNWQ4NTAzYWMxZDQ2
MGZjYThiOWQxODU3ZWEyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQK
KysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTE5OTIsNiArMTk5Miw3IEBAIHJl
bmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlcklubGluZS5jcHAKIHJlbmRlcmluZy91
cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlckxpc3QuY3BwCiByZW5kZXJpbmcvdXBkYXRpbmcvUmVu
ZGVyVHJlZUJ1aWxkZXJNdWx0aUNvbHVtbi5jcHAKIHJlbmRlcmluZy91cGRhdGluZy9SZW5kZXJU
cmVlQnVpbGRlclJ1YnkuY3BwCityZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJT
VkcuY3BwCiByZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJUYWJsZS5jcHAKIHJl
bmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlUG9zaXRpb24uY3BwCiByZW5kZXJpbmcvdXBkYXRp
bmcvUmVuZGVyVHJlZVVwZGF0ZXIuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNDcxNDZhNDA1YWJmZGM5NTE5YjAxZjhlMTEx
ODk5Y2Q1ZDViMjJjOS4uOWMwOGYxN2UxZGRhYjM2Zjc4MDY4Njc2ZmE3NzQ2YmM2MzcxYzM0YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agpAQCAtNTU5NSw2ICs1NTk1LDggQEAKIAkJMTFDNUYxMTgyMDAzRTc3NjAwMDFBRTYwIC8qIFJl
bmRlclRyZWVCdWlsZGVySW5saW5lLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFJlbmRlclRyZWVCdWlsZGVySW5saW5lLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTExQzVGMTFEMjAwM0Y2OUUwMDAxQUU2MCAvKiBSZW5kZXJUcmVlQnVpbGRlckJsb2NrRmxvdy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJUcmVlQnVpbGRlckJsb2Nr
Rmxvdy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxMUM1RjExRjIwMDNGNjlGMDAw
MUFFNjAgLyogUmVuZGVyVHJlZUJ1aWxkZXJCbG9ja0Zsb3cuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gUmVuZGVyVHJlZUJ1aWxkZXJCbG9ja0Zsb3cuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxMUM1RjEyQTIwMDQyMzFEMDAwMUFFNjAgLyogUmVu
ZGVyVHJlZUJ1aWxkZXJTVkcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVu
ZGVyVHJlZUJ1aWxkZXJTVkcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTFDNUYx
MkMyMDA0MjMxRTAwMDFBRTYwIC8qIFJlbmRlclRyZWVCdWlsZGVyU1ZHLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbmRlclRyZWVCdWlsZGVyU1ZHLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMTFFMDY3RUIxRTYyNDYxMzAwMTYyRDE2IC8qIFNp
bXBsZUxpbmVMYXlvdXRDb3ZlcmFnZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBTaW1wbGVMaW5lTGF5b3V0Q292ZXJhZ2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkxMUUwNjdFRDFFNjI0NkU1MDAxNjJEMTYgLyogU2ltcGxlTGluZUxheW91dENv
dmVyYWdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNpbXBsZUxpbmVMYXlv
dXRDb3ZlcmFnZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxNDAwRDdBNzE3MTM2
RUE3MDA3N0NFMDUgLyogU2NyaXB0V3JhcHBhYmxlSW5saW5lcy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBTY3JpcHRXcmFwcGFibGVJbmxpbmVzLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC0yNDY0OSw2ICsyNDY1MSw4IEBACiAJCQkJRTQ3QzM5MjcxRkU2RTBE
QzAwQkJCQzZCIC8qIFJlbmRlclRyZWVCdWlsZGVyTXVsdGlDb2x1bW4uaCAqLywKIAkJCQkxMTkz
NDA4NzFGRUIzNTVEMDA5MzVGMUUgLyogUmVuZGVyVHJlZUJ1aWxkZXJSdWJ5LmNwcCAqLywKIAkJ
CQkxMTkzNDA4ODFGRUIzNTVEMDA5MzVGMUUgLyogUmVuZGVyVHJlZUJ1aWxkZXJSdWJ5LmggKi8s
CisJCQkJMTFDNUYxMkMyMDA0MjMxRTAwMDFBRTYwIC8qIFJlbmRlclRyZWVCdWlsZGVyU1ZHLmNw
cCAqLywKKwkJCQkxMUM1RjEyQTIwMDQyMzFEMDAwMUFFNjAgLyogUmVuZGVyVHJlZUJ1aWxkZXJT
VkcuaCAqLywKIAkJCQkxMTkzNDA3NjFGRThCOTIzMDA5MzVGMUUgLyogUmVuZGVyVHJlZUJ1aWxk
ZXJUYWJsZS5jcHAgKi8sCiAJCQkJMTE5MzQwNzcxRkU4QjkyMzAwOTM1RjFFIC8qIFJlbmRlclRy
ZWVCdWlsZGVyVGFibGUuaCAqLywKIAkJCQlFNDdDMzkyOTFGRTZFMERFMDBCQkJDNkIgLyogUmVu
ZGVyVHJlZVBvc2l0aW9uLmNwcCAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvUmVuZGVyU1ZHQ29udGFpbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvUmVuZGVyU1ZHQ29udGFpbmVyLmNwcAppbmRleCBmMDllMzgwZjY4MDZkNjMzODUwMDVm
NjQ4MzJlOTVjMWEzNDg5YjBjLi5iYzE5OThjMzNmYmRiOGExYjkyNjY1MTY1ZjhiNDczMDZiODVj
YzA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0Nv
bnRhaW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdD
b250YWluZXIuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiTGF5b3V0UmVwYWludGVy
LmgiCiAjaW5jbHVkZSAiUmVuZGVySXRlcmF0b3IuaCIKICNpbmNsdWRlICJSZW5kZXJTVkdSZXNv
dXJjZUZpbHRlci5oIgorI2luY2x1ZGUgIlJlbmRlclRyZWVCdWlsZGVyLmgiCiAjaW5jbHVkZSAi
UmVuZGVyVmlldy5oIgogI2luY2x1ZGUgIlNWR1JlbmRlcmluZ0NvbnRleHQuaCIKICNpbmNsdWRl
ICJTVkdSZXNvdXJjZXMuaCIKQEAgLTkxLDkgKzkyLDcgQEAgdm9pZCBSZW5kZXJTVkdDb250YWlu
ZXI6OmxheW91dCgpCiAKIHZvaWQgUmVuZGVyU1ZHQ29udGFpbmVyOjphZGRDaGlsZChSZW5kZXJU
cmVlQnVpbGRlciYgYnVpbGRlciwgUmVuZGVyUHRyPFJlbmRlck9iamVjdD4gbmV3Q2hpbGQsIFJl
bmRlck9iamVjdCogYmVmb3JlQ2hpbGQpCiB7Ci0gICAgYXV0byYgY2hpbGQgPSAqbmV3Q2hpbGQ7
Ci0gICAgUmVuZGVyU1ZHTW9kZWxPYmplY3Q6OmFkZENoaWxkKGJ1aWxkZXIsIFdURk1vdmUobmV3
Q2hpbGQpLCBiZWZvcmVDaGlsZCk7Ci0gICAgU1ZHUmVzb3VyY2VzQ2FjaGU6OmNsaWVudFdhc0Fk
ZGVkVG9UcmVlKGNoaWxkKTsKKyAgICBidWlsZGVyLmluc2VydENoaWxkVG9TVkdDb250YWluZXIo
KnRoaXMsIFdURk1vdmUobmV3Q2hpbGQpLCBiZWZvcmVDaGlsZCk7CiB9CiAKIFJlbmRlclB0cjxS
ZW5kZXJPYmplY3Q+IFJlbmRlclNWR0NvbnRhaW5lcjo6dGFrZUNoaWxkKFJlbmRlck9iamVjdCYg
Y2hpbGQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNW
R0lubGluZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0lubGlu
ZS5jcHAKaW5kZXggMzAyOWM3ODBjMTY2YzkxYmJkZTg4OTQ1MmU3ODIyMDYzYmQ4ZmUxYS4uMWIy
ZTEyYzhjYjRmMmY0ZGUwNTM2OTI1ZTJlZGE5MmY1ZWY0MmRlZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdJbmxpbmUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHSW5saW5lLmNwcApAQCAtMTI1LDEyICsxMjUs
NyBAQCB2b2lkIFJlbmRlclNWR0lubGluZTo6dXBkYXRlRnJvbVN0eWxlKCkKIAogdm9pZCBSZW5k
ZXJTVkdJbmxpbmU6OmFkZENoaWxkKFJlbmRlclRyZWVCdWlsZGVyJiBidWlsZGVyLCBSZW5kZXJQ
dHI8UmVuZGVyT2JqZWN0PiBuZXdDaGlsZCwgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCkKIHsK
LSAgICBhdXRvJiBjaGlsZCA9ICpuZXdDaGlsZDsKLSAgICBSZW5kZXJJbmxpbmU6OmFkZENoaWxk
KGJ1aWxkZXIsIFdURk1vdmUobmV3Q2hpbGQpLCBiZWZvcmVDaGlsZCk7Ci0gICAgU1ZHUmVzb3Vy
Y2VzQ2FjaGU6OmNsaWVudFdhc0FkZGVkVG9UcmVlKGNoaWxkKTsKLQotICAgIGlmIChhdXRvKiB0
ZXh0QW5jZXN0b3IgPSBSZW5kZXJTVkdUZXh0Ojpsb2NhdGVSZW5kZXJTVkdUZXh0QW5jZXN0b3Io
KnRoaXMpKQotICAgICAgICB0ZXh0QW5jZXN0b3ItPnN1YnRyZWVDaGlsZFdhc0FkZGVkKCZjaGls
ZCk7CisgICAgYnVpbGRlci5pbnNlcnRDaGlsZFRvU1ZHSW5saW5lKCp0aGlzLCBXVEZNb3ZlKG5l
d0NoaWxkKSwgYmVmb3JlQ2hpbGQpOwogfQogCiBSZW5kZXJQdHI8UmVuZGVyT2JqZWN0PiBSZW5k
ZXJTVkdJbmxpbmU6OnRha2VDaGlsZChSZW5kZXJPYmplY3QmIGNoaWxkKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHAKaW5kZXggMTg3OTRlYjBjNzM3
NjlkM2VmMjVlODYwYjgyODRjZjFhNThjMmMwNC4uNTQyNGM3MmYzNWIwOWU2NGEzMzU2MWFiZGI3
ODUwMGMyMDY4NTk0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9S
ZW5kZXJTVkdSb290LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRl
clNWR1Jvb3QuY3BwCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3Vy
Y2UuaCIKICNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lci5oIgogI2luY2x1ZGUg
IlJlbmRlclNWR1Jlc291cmNlRmlsdGVyLmgiCisjaW5jbHVkZSAiUmVuZGVyVHJlZUJ1aWxkZXIu
aCIKICNpbmNsdWRlICJSZW5kZXJWaWV3LmgiCiAjaW5jbHVkZSAiU1ZHSW1hZ2UuaCIKICNpbmNs
dWRlICJTVkdSZW5kZXJpbmdDb250ZXh0LmgiCkBAIC0zMDQsOSArMzA1LDcgQEAgdm9pZCBSZW5k
ZXJTVkdSb290OjpzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UgZGlmZiwgY29uc3QgUmVu
ZGVyU3R5bGUqIG9sZFMKIAogdm9pZCBSZW5kZXJTVkdSb290OjphZGRDaGlsZChSZW5kZXJUcmVl
QnVpbGRlciYgYnVpbGRlciwgUmVuZGVyUHRyPFJlbmRlck9iamVjdD4gbmV3Q2hpbGQsIFJlbmRl
ck9iamVjdCogYmVmb3JlQ2hpbGQpCiB7Ci0gICAgYXV0byYgY2hpbGQgPSAqbmV3Q2hpbGQ7Ci0g
ICAgUmVuZGVyUmVwbGFjZWQ6OmFkZENoaWxkKGJ1aWxkZXIsIFdURk1vdmUobmV3Q2hpbGQpLCBi
ZWZvcmVDaGlsZCk7Ci0gICAgU1ZHUmVzb3VyY2VzQ2FjaGU6OmNsaWVudFdhc0FkZGVkVG9UcmVl
KGNoaWxkKTsKKyAgICBidWlsZGVyLmluc2VydENoaWxkVG9TVkdSb290KCp0aGlzLCBXVEZNb3Zl
KG5ld0NoaWxkKSwgYmVmb3JlQ2hpbGQpOwogfQogCiBSZW5kZXJQdHI8UmVuZGVyT2JqZWN0PiBS
ZW5kZXJTVkdSb290Ojp0YWtlQ2hpbGQoUmVuZGVyT2JqZWN0JiBjaGlsZCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHVGV4dC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1RleHQuY3BwCmluZGV4IGI3NWI0OGU5NmQz
YTdlMTdjODU5MzcxZGUwMWIwOWRjZGIzZDAzNjguLmQzNGE1OWM5ODNhYTE1ZGEyYTJkZGIzNGQw
YWM5Y2YyYmYxZDYyOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
UmVuZGVyU1ZHVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5k
ZXJTVkdUZXh0LmNwcApAQCAtNTIyLDExICs1MjIsNyBAQCBGbG9hdFJlY3QgUmVuZGVyU1ZHVGV4
dDo6cmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMoKSBjb25zdAogCiB2b2lkIFJlbmRlclNW
R1RleHQ6OmFkZENoaWxkKFJlbmRlclRyZWVCdWlsZGVyJiBidWlsZGVyLCBSZW5kZXJQdHI8UmVu
ZGVyT2JqZWN0PiBuZXdDaGlsZCwgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCkKIHsKLSAgICBh
dXRvJiBjaGlsZCA9ICpuZXdDaGlsZDsKLSAgICBSZW5kZXJTVkdCbG9jazo6YWRkQ2hpbGQoYnVp
bGRlciwgV1RGTW92ZShuZXdDaGlsZCksIGJlZm9yZUNoaWxkKTsKLQotICAgIFNWR1Jlc291cmNl
c0NhY2hlOjpjbGllbnRXYXNBZGRlZFRvVHJlZShjaGlsZCk7Ci0gICAgc3VidHJlZUNoaWxkV2Fz
QWRkZWQoJmNoaWxkKTsKKyAgICBidWlsZGVyLmluc2VydENoaWxkVG9TVkdUZXh0KCp0aGlzLCBX
VEZNb3ZlKG5ld0NoaWxkKSwgYmVmb3JlQ2hpbGQpOwogfQogCiBSZW5kZXJQdHI8UmVuZGVyT2Jq
ZWN0PiBSZW5kZXJTVkdUZXh0Ojp0YWtlQ2hpbGQoUmVuZGVyT2JqZWN0JiBjaGlsZCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxk
ZXIuY3BwCmluZGV4IDEzOWM2MmUzZDI1NTM2ZDcxYTc5NTIzN2I1ZWZiODUxZjkwNDFmY2MuLmY0
YjQxNDQ3YTM5YzEzZDIxNjYwOTZjNjRhOGE0MzE3ZjYyNTIwNjkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyLmNwcApA
QCAtNDEsNiArNDEsNyBAQAogI2luY2x1ZGUgIlJlbmRlclRyZWVCdWlsZGVyTGlzdC5oIgogI2lu
Y2x1ZGUgIlJlbmRlclRyZWVCdWlsZGVyTXVsdGlDb2x1bW4uaCIKICNpbmNsdWRlICJSZW5kZXJU
cmVlQnVpbGRlclJ1YnkuaCIKKyNpbmNsdWRlICJSZW5kZXJUcmVlQnVpbGRlclNWRy5oIgogI2lu
Y2x1ZGUgIlJlbmRlclRyZWVCdWlsZGVyVGFibGUuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpA
QCAtMTEwLDYgKzExMSw3IEBAIFJlbmRlclRyZWVCdWlsZGVyOjpSZW5kZXJUcmVlQnVpbGRlcihS
ZW5kZXJWaWV3JiB2aWV3KQogICAgICwgbV9ibG9ja0J1aWxkZXIoc3RkOjptYWtlX3VuaXF1ZTxC
bG9jaz4oKnRoaXMpKQogICAgICwgbV9ibG9ja0Zsb3dCdWlsZGVyKHN0ZDo6bWFrZV91bmlxdWU8
QmxvY2tGbG93PigqdGhpcykpCiAgICAgLCBtX2lubGluZUJ1aWxkZXIoc3RkOjptYWtlX3VuaXF1
ZTxJbmxpbmU+KCp0aGlzKSkKKyAgICAsIG1fc3ZnQnVpbGRlcihzdGQ6Om1ha2VfdW5pcXVlPFNW
Rz4oKnRoaXMpKQogewogICAgIFJFTEVBU0VfQVNTRVJUKCFzX2N1cnJlbnQgfHwgJm1fdmlldyAh
PSAmc19jdXJyZW50LT5tX3ZpZXcpOwogICAgIG1fcHJldmlvdXMgPSBzX2N1cnJlbnQ7CkBAIC0y
ODUsNiArMjg3LDI2IEBAIHZvaWQgUmVuZGVyVHJlZUJ1aWxkZXI6Omluc2VydENoaWxkVG9SZW5k
ZXJJbmxpbmVJZ25vcmluZ0NvbnRpbnVhdGlvbihSZW5kZXJJbmxpCiAgICAgaW5saW5lQnVpbGRl
cigpLmluc2VydENoaWxkSWdub3JpbmdDb250aW51YXRpb24ocGFyZW50LCBXVEZNb3ZlKGNoaWxk
KSwgYmVmb3JlQ2hpbGQpOwogfQogCit2b2lkIFJlbmRlclRyZWVCdWlsZGVyOjppbnNlcnRDaGls
ZFRvU1ZHQ29udGFpbmVyKFJlbmRlclNWR0NvbnRhaW5lciYgcGFyZW50LCBSZW5kZXJQdHI8UmVu
ZGVyT2JqZWN0PiBjaGlsZCwgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCkKK3sKKyAgICBzdmdC
dWlsZGVyKCkuaW5zZXJ0Q2hpbGQocGFyZW50LCBXVEZNb3ZlKGNoaWxkKSwgYmVmb3JlQ2hpbGQp
OworfQorCit2b2lkIFJlbmRlclRyZWVCdWlsZGVyOjppbnNlcnRDaGlsZFRvU1ZHSW5saW5lKFJl
bmRlclNWR0lubGluZSYgcGFyZW50LCBSZW5kZXJQdHI8UmVuZGVyT2JqZWN0PiBjaGlsZCwgUmVu
ZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCkKK3sKKyAgICBzdmdCdWlsZGVyKCkuaW5zZXJ0Q2hpbGQo
cGFyZW50LCBXVEZNb3ZlKGNoaWxkKSwgYmVmb3JlQ2hpbGQpOworfQorCit2b2lkIFJlbmRlclRy
ZWVCdWlsZGVyOjppbnNlcnRDaGlsZFRvU1ZHUm9vdChSZW5kZXJTVkdSb290JiBwYXJlbnQsIFJl
bmRlclB0cjxSZW5kZXJPYmplY3Q+IGNoaWxkLCBSZW5kZXJPYmplY3QqIGJlZm9yZUNoaWxkKQor
eworICAgIHN2Z0J1aWxkZXIoKS5pbnNlcnRDaGlsZChwYXJlbnQsIFdURk1vdmUoY2hpbGQpLCBi
ZWZvcmVDaGlsZCk7Cit9CisKK3ZvaWQgUmVuZGVyVHJlZUJ1aWxkZXI6Omluc2VydENoaWxkVG9T
VkdUZXh0KFJlbmRlclNWR1RleHQmIHBhcmVudCwgUmVuZGVyUHRyPFJlbmRlck9iamVjdD4gY2hp
bGQsIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQpCit7CisgICAgc3ZnQnVpbGRlcigpLmluc2Vy
dENoaWxkKHBhcmVudCwgV1RGTW92ZShjaGlsZCksIGJlZm9yZUNoaWxkKTsKK30KKwogdm9pZCBS
ZW5kZXJUcmVlQnVpbGRlcjo6c3BsaXRGbG93KFJlbmRlcklubGluZSYgcGFyZW50LCBSZW5kZXJP
YmplY3QqIGJlZm9yZUNoaWxkLCBSZW5kZXJQdHI8UmVuZGVyQmxvY2s+IG5ld0Jsb2NrQm94LCBS
ZW5kZXJQdHI8UmVuZGVyT2JqZWN0PiBjaGlsZCwgUmVuZGVyQm94TW9kZWxPYmplY3QqIG9sZENv
bnQpCiB7CiAgICAgaW5saW5lQnVpbGRlcigpLnNwbGl0RmxvdyhwYXJlbnQsIGJlZm9yZUNoaWxk
LCBXVEZNb3ZlKG5ld0Jsb2NrQm94KSwgV1RGTW92ZShjaGlsZCksIG9sZENvbnQpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIu
aAppbmRleCA0N2M2MzY0NjliYWM1ZTg4N2FjYWMwNzg2MjNlMDdjM2Y2ZGVmZmE4Li5hY2Y1NWU4
YjkyMGYzZjJiNmYxODAwNjMzNDE0NWQzYjU0YmE5ZDJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIuaApAQCAtMzAsNiAr
MzAsMTAgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUmVuZGVyUnVieVJ1bjsKK2Ns
YXNzIFJlbmRlclNWR0NvbnRhaW5lcjsKK2NsYXNzIFJlbmRlclNWR0lubGluZTsKK2NsYXNzIFJl
bmRlclNWR1Jvb3Q7CitjbGFzcyBSZW5kZXJTVkdUZXh0OwogY2xhc3MgUmVuZGVyVHJlZVVwZGF0
ZXI7CiAKIGNsYXNzIFJlbmRlclRyZWVCdWlsZGVyIHsKQEAgLTUyLDYgKzU2LDEwIEBAIHB1Ymxp
YzoKICAgICB2b2lkIGluc2VydENoaWxkVG9SZW5kZXJCbG9ja0Zsb3coUmVuZGVyQmxvY2tGbG93
JiBwYXJlbnQsIFJlbmRlclB0cjxSZW5kZXJPYmplY3Q+LCBSZW5kZXJPYmplY3QqIGJlZm9yZUNo
aWxkID0gbnVsbHB0cik7CiAgICAgdm9pZCBpbnNlcnRDaGlsZFRvUmVuZGVySW5saW5lKFJlbmRl
cklubGluZSYgcGFyZW50LCBSZW5kZXJQdHI8UmVuZGVyT2JqZWN0PiwgUmVuZGVyT2JqZWN0KiBi
ZWZvcmVDaGlsZCA9IG51bGxwdHIpOwogICAgIHZvaWQgaW5zZXJ0Q2hpbGRUb1JlbmRlcklubGlu
ZUlnbm9yaW5nQ29udGludWF0aW9uKFJlbmRlcklubGluZSYgcGFyZW50LCBSZW5kZXJQdHI8UmVu
ZGVyT2JqZWN0PiwgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCA9IG51bGxwdHIpOworICAgIHZv
aWQgaW5zZXJ0Q2hpbGRUb1NWR0NvbnRhaW5lcihSZW5kZXJTVkdDb250YWluZXImIHBhcmVudCwg
UmVuZGVyUHRyPFJlbmRlck9iamVjdD4sIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQgPSBudWxs
cHRyKTsKKyAgICB2b2lkIGluc2VydENoaWxkVG9TVkdJbmxpbmUoUmVuZGVyU1ZHSW5saW5lJiBw
YXJlbnQsIFJlbmRlclB0cjxSZW5kZXJPYmplY3Q+LCBSZW5kZXJPYmplY3QqIGJlZm9yZUNoaWxk
ID0gbnVsbHB0cik7CisgICAgdm9pZCBpbnNlcnRDaGlsZFRvU1ZHUm9vdChSZW5kZXJTVkdSb290
JiBwYXJlbnQsIFJlbmRlclB0cjxSZW5kZXJPYmplY3Q+LCBSZW5kZXJPYmplY3QqIGJlZm9yZUNo
aWxkID0gbnVsbHB0cik7CisgICAgdm9pZCBpbnNlcnRDaGlsZFRvU1ZHVGV4dChSZW5kZXJTVkdU
ZXh0JiBwYXJlbnQsIFJlbmRlclB0cjxSZW5kZXJPYmplY3Q+LCBSZW5kZXJPYmplY3QqIGJlZm9y
ZUNoaWxkID0gbnVsbHB0cik7CiAKICAgICB2b2lkIG1ha2VDaGlsZHJlbk5vbklubGluZShSZW5k
ZXJCbG9jayYgcGFyZW50LCBSZW5kZXJPYmplY3QqIGluc2VydGlvblBvaW50ID0gbnVsbHB0cik7
CiAgICAgUmVuZGVyT2JqZWN0KiBzcGxpdEFub255bW91c0JveGVzQXJvdW5kQ2hpbGQoUmVuZGVy
Qm94JiBwYXJlbnQsIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQpOwpAQCAtNjcsNiArNzUsNyBA
QCBwcml2YXRlOgogICAgIGNsYXNzIEJsb2NrOwogICAgIGNsYXNzIEJsb2NrRmxvdzsKICAgICBj
bGFzcyBJbmxpbmU7CisgICAgY2xhc3MgU1ZHOwogCiAgICAgRmlyc3RMZXR0ZXImIGZpcnN0TGV0
dGVyQnVpbGRlcigpIHsgcmV0dXJuICptX2ZpcnN0TGV0dGVyQnVpbGRlcjsgfQogICAgIExpc3Qm
IGxpc3RCdWlsZGVyKCkgeyByZXR1cm4gKm1fbGlzdEJ1aWxkZXI7IH0KQEAgLTc3LDYgKzg2LDcg
QEAgcHJpdmF0ZToKICAgICBCbG9jayYgYmxvY2tCdWlsZGVyKCkgeyByZXR1cm4gKm1fYmxvY2tC
dWlsZGVyOyB9CiAgICAgQmxvY2tGbG93JiBibG9ja0Zsb3dCdWlsZGVyKCkgeyByZXR1cm4gKm1f
YmxvY2tGbG93QnVpbGRlcjsgfQogICAgIElubGluZSYgaW5saW5lQnVpbGRlcigpIHsgcmV0dXJu
ICptX2lubGluZUJ1aWxkZXI7IH0KKyAgICBTVkcmIHN2Z0J1aWxkZXIoKSB7IHJldHVybiAqbV9z
dmdCdWlsZGVyOyB9CiAKICAgICBSZW5kZXJWaWV3JiBtX3ZpZXc7CiAKQEAgLTkyLDYgKzEwMiw3
IEBAIHByaXZhdGU6CiAgICAgc3RkOjp1bmlxdWVfcHRyPEJsb2NrPiBtX2Jsb2NrQnVpbGRlcjsK
ICAgICBzdGQ6OnVuaXF1ZV9wdHI8QmxvY2tGbG93PiBtX2Jsb2NrRmxvd0J1aWxkZXI7CiAgICAg
c3RkOjp1bmlxdWVfcHRyPElubGluZT4gbV9pbmxpbmVCdWlsZGVyOworICAgIHN0ZDo6dW5pcXVl
X3B0cjxTVkc+IG1fc3ZnQnVpbGRlcjsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlclNWRy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJTVkcuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjcxNzVjNDI1NTk1NDI3NTZjM2YzNzhiYTVkMmE4MGYzN2EwNDM4ODIKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1
aWxkZXJTVkcuY3BwCkBAIC0wLDAgKzEsNzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTgg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisjaW5jbHVkZSAiUmVuZGVyVHJlZUJ1aWxkZXJTVkcuaCIKKworI2luY2x1ZGUgIlJl
bmRlclNWR0NvbnRhaW5lci5oIgorI2luY2x1ZGUgIlJlbmRlclNWR0lubGluZS5oIgorI2luY2x1
ZGUgIlJlbmRlclNWR1Jvb3QuaCIKKyNpbmNsdWRlICJSZW5kZXJTVkdUZXh0LmgiCisjaW5jbHVk
ZSAiU1ZHUmVzb3VyY2VzQ2FjaGUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitSZW5kZXJU
cmVlQnVpbGRlcjo6U1ZHOjpTVkcoUmVuZGVyVHJlZUJ1aWxkZXImIGJ1aWxkZXIpCisgICAgOiBt
X2J1aWxkZXIoYnVpbGRlcikKK3sKK30KKwordm9pZCBSZW5kZXJUcmVlQnVpbGRlcjo6U1ZHOjpp
bnNlcnRDaGlsZChSZW5kZXJTVkdDb250YWluZXImIHBhcmVudCwgUmVuZGVyUHRyPFJlbmRlck9i
amVjdD4gY2hpbGQsIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQpCit7CisgICAgYXV0byYgY2hp
bGRUb0FkZCA9ICpjaGlsZDsKKyAgICBwYXJlbnQuUmVuZGVyRWxlbWVudDo6YWRkQ2hpbGQobV9i
dWlsZGVyLCBXVEZNb3ZlKGNoaWxkKSwgYmVmb3JlQ2hpbGQpOworICAgIFNWR1Jlc291cmNlc0Nh
Y2hlOjpjbGllbnRXYXNBZGRlZFRvVHJlZShjaGlsZFRvQWRkKTsKK30KKwordm9pZCBSZW5kZXJU
cmVlQnVpbGRlcjo6U1ZHOjppbnNlcnRDaGlsZChSZW5kZXJTVkdJbmxpbmUmIHBhcmVudCwgUmVu
ZGVyUHRyPFJlbmRlck9iamVjdD4gY2hpbGQsIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQpCit7
CisgICAgYXV0byYgY2hpbGRUb0FkZCA9ICpjaGlsZDsKKyAgICBtX2J1aWxkZXIuaW5zZXJ0Q2hp
bGRUb1JlbmRlcklubGluZShwYXJlbnQsIFdURk1vdmUoY2hpbGQpLCBiZWZvcmVDaGlsZCk7Cisg
ICAgU1ZHUmVzb3VyY2VzQ2FjaGU6OmNsaWVudFdhc0FkZGVkVG9UcmVlKGNoaWxkVG9BZGQpOwor
CisgICAgaWYgKGF1dG8qIHRleHRBbmNlc3RvciA9IFJlbmRlclNWR1RleHQ6OmxvY2F0ZVJlbmRl
clNWR1RleHRBbmNlc3RvcihwYXJlbnQpKQorICAgICAgICB0ZXh0QW5jZXN0b3ItPnN1YnRyZWVD
aGlsZFdhc0FkZGVkKCZjaGlsZFRvQWRkKTsKK30KKwordm9pZCBSZW5kZXJUcmVlQnVpbGRlcjo6
U1ZHOjppbnNlcnRDaGlsZChSZW5kZXJTVkdSb290JiBwYXJlbnQsIFJlbmRlclB0cjxSZW5kZXJP
YmplY3Q+IGNoaWxkLCBSZW5kZXJPYmplY3QqIGJlZm9yZUNoaWxkKQoreworICAgIGF1dG8mIGNo
aWxkVG9BZGQgPSAqY2hpbGQ7CisgICAgcGFyZW50LlJlbmRlclJlcGxhY2VkOjphZGRDaGlsZCht
X2J1aWxkZXIsIFdURk1vdmUoY2hpbGQpLCBiZWZvcmVDaGlsZCk7CisgICAgU1ZHUmVzb3VyY2Vz
Q2FjaGU6OmNsaWVudFdhc0FkZGVkVG9UcmVlKGNoaWxkVG9BZGQpOworfQorCit2b2lkIFJlbmRl
clRyZWVCdWlsZGVyOjpTVkc6Omluc2VydENoaWxkKFJlbmRlclNWR1RleHQmIHBhcmVudCwgUmVu
ZGVyUHRyPFJlbmRlck9iamVjdD4gY2hpbGQsIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQpCit7
CisgICAgYXV0byYgY2hpbGRUb0FkZCA9ICpjaGlsZDsKKyAgICBtX2J1aWxkZXIuaW5zZXJ0Q2hp
bGRUb1JlbmRlckJsb2NrRmxvdyhwYXJlbnQsIFdURk1vdmUoY2hpbGQpLCBiZWZvcmVDaGlsZCk7
CisKKyAgICBTVkdSZXNvdXJjZXNDYWNoZTo6Y2xpZW50V2FzQWRkZWRUb1RyZWUoY2hpbGRUb0Fk
ZCk7CisgICAgcGFyZW50LnN1YnRyZWVDaGlsZFdhc0FkZGVkKCZjaGlsZFRvQWRkKTsKK30KKwor
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRy
ZWVCdWlsZGVyU1ZHLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVy
VHJlZUJ1aWxkZXJTVkcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jOWJlNzk5Mzg5N2U4YTJjZjUxMGViN2EyMDhl
ZTU5ZjI1NjJkMzY2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyU1ZHLmgKQEAgLTAsMCArMSw1MCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiUmVuZGVyVHJlZUJ1aWxkZXIuaCIKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBSZW5kZXJTVkdDb250YWluZXI7CitjbGFzcyBS
ZW5kZXJTVkdJbmxpbmU7CitjbGFzcyBSZW5kZXJTVkdSb290OworY2xhc3MgUmVuZGVyU1ZHVGV4
dDsKKworY2xhc3MgUmVuZGVyVHJlZUJ1aWxkZXI6OlNWRyB7CitwdWJsaWM6CisgICAgU1ZHKFJl
bmRlclRyZWVCdWlsZGVyJik7CisKKyAgICB2b2lkIGluc2VydENoaWxkKFJlbmRlclNWR0NvbnRh
aW5lciYgcGFyZW50LCBSZW5kZXJQdHI8UmVuZGVyT2JqZWN0PiBjaGlsZCwgUmVuZGVyT2JqZWN0
KiBiZWZvcmVDaGlsZCk7CisgICAgdm9pZCBpbnNlcnRDaGlsZChSZW5kZXJTVkdJbmxpbmUmIHBh
cmVudCwgUmVuZGVyUHRyPFJlbmRlck9iamVjdD4gY2hpbGQsIFJlbmRlck9iamVjdCogYmVmb3Jl
Q2hpbGQpOworICAgIHZvaWQgaW5zZXJ0Q2hpbGQoUmVuZGVyU1ZHUm9vdCYgcGFyZW50LCBSZW5k
ZXJQdHI8UmVuZGVyT2JqZWN0PiBjaGlsZCwgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCk7Cisg
ICAgdm9pZCBpbnNlcnRDaGlsZChSZW5kZXJTVkdUZXh0JiBwYXJlbnQsIFJlbmRlclB0cjxSZW5k
ZXJPYmplY3Q+IGNoaWxkLCBSZW5kZXJPYmplY3QqIGJlZm9yZUNoaWxkKTsKKworcHJpdmF0ZToK
KyAgICBSZW5kZXJUcmVlQnVpbGRlciYgbV9idWlsZGVyOworfTsKKworfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>