<?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>140457</bug_id>
          
          <creation_ts>2015-01-14 11:13:57 -0800</creation_ts>
          <short_desc>Move LayoutFragment and ClipRect to their own files.</short_desc>
          <delta_ts>2015-01-14 19:04:50 -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>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="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>WebkitBugTracker</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1061243</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2015-01-14 11:13:57 -0800</bug_when>
    <thetext>to make RenderLayer.h less heavy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1061253</commentid>
    <comment_count>1</comment_count>
      <attachid>244626</attachid>
    <who name="alan">zalan</who>
    <bug_when>2015-01-14 11:36:07 -0800</bug_when>
    <thetext>Created attachment 244626
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1061281</commentid>
    <comment_count>2</comment_count>
      <attachid>244631</attachid>
    <who name="alan">zalan</who>
    <bug_when>2015-01-14 13:13:35 -0800</bug_when>
    <thetext>Created attachment 244631
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1061296</commentid>
    <comment_count>3</comment_count>
      <attachid>244636</attachid>
    <who name="alan">zalan</who>
    <bug_when>2015-01-14 13:58:15 -0800</bug_when>
    <thetext>Created attachment 244636
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1061448</commentid>
    <comment_count>4</comment_count>
      <attachid>244636</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-01-14 19:04:45 -0800</bug_when>
    <thetext>Comment on attachment 244636
Patch

Clearing flags on attachment: 244636

Committed r178481: &lt;http://trac.webkit.org/changeset/178481&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1061449</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-01-14 19:04:50 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>244626</attachid>
            <date>2015-01-14 11:36:07 -0800</date>
            <delta_ts>2015-01-14 13:13:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140457-20150114113613.patch</filename>
            <type>text/plain</type>
            <size>24857</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc4NDE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTQyODdkZjFkM2M0OTA3
YTdjZjc2NjkwZTc4ZDc4NTM4MDI0MDMzMS4uOTMwMTY2ZGE5M2UwNmZkM2RkYWI2YzdhZjFiZDg0
MDdmNTVmNDRmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY2IEBACisyMDE1LTAxLTE0ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgTW92ZSBMYXlvdXRGcmFnbWVu
dCBhbmQgQ2xpcFJlY3QgdG8gdGhlaXIgb3duIGZpbGVzLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwNDU3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW92ZSB0aGVzZSBjbGFzc2VzIHRvIHRoZWlyIG93
biBmaWxlcyB0byB0byBtYWtlIFJlbmRlckxheWVyLmggbGVzcyBoZWF2eS4KKworICAgICAgICBO
byBjaGFuZ2UgaW4gZnVuY3Rpb25hbGl0eS4KKworICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiByZW5kZXJpbmcvQ2xpcFJlY3QuY3BwOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OkNsaXBSZWN0OjppbnRlcnNlY3RzKToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvQ2xpcFJlY3QuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpDbGlwUmVjdDo6
Q2xpcFJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6Q2xpcFJlY3Q6OnJlY3QpOgorICAgICAgICAo
V2ViQ29yZTo6Q2xpcFJlY3Q6OnNldFJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6Q2xpcFJlY3Q6
OmFmZmVjdGVkQnlSYWRpdXMpOgorICAgICAgICAoV2ViQ29yZTo6Q2xpcFJlY3Q6OnNldEFmZmVj
dGVkQnlSYWRpdXMpOgorICAgICAgICAoV2ViQ29yZTo6Q2xpcFJlY3Q6Om9wZXJhdG9yPT0pOgor
ICAgICAgICAoV2ViQ29yZTo6Q2xpcFJlY3Q6Om9wZXJhdG9yIT0pOgorICAgICAgICAoV2ViQ29y
ZTo6Q2xpcFJlY3Q6OmludGVyc2VjdCk6CisgICAgICAgIChXZWJDb3JlOjpDbGlwUmVjdDo6bW92
ZSk6CisgICAgICAgIChXZWJDb3JlOjpDbGlwUmVjdDo6bW92ZUJ5KToKKyAgICAgICAgKFdlYkNv
cmU6OkNsaXBSZWN0Ojppc0VtcHR5KToKKyAgICAgICAgKFdlYkNvcmU6OkNsaXBSZWN0OjppbnRl
cnNlY3RzKToKKyAgICAgICAgKFdlYkNvcmU6OkNsaXBSZWN0OjppbmZsYXRlWCk6CisgICAgICAg
IChXZWJDb3JlOjpDbGlwUmVjdDo6aW5mbGF0ZVkpOgorICAgICAgICAoV2ViQ29yZTo6Q2xpcFJl
Y3Q6OmluZmxhdGUpOgorICAgICAgICAoV2ViQ29yZTo6aW50ZXJzZWN0aW9uKToKKyAgICAgICAg
KiByZW5kZXJpbmcvTGF5ZXJGcmFnbWVudC5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Okxh
eWVyRnJhZ21lbnQ6OnNldFJlY3RzKToKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyRnJhZ21lbnQ6
Om1vdmVCeSk6CisgICAgICAgIChXZWJDb3JlOjpMYXllckZyYWdtZW50OjppbnRlcnNlY3QpOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmg6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNsaXBSZWN0OjppbnRlcnNl
Y3RzKTogRGVsZXRlZC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNsaXBSZWN0OjpDbGlwUmVjdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpDbGlwUmVjdDo6cmVjdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpDbGlwUmVj
dDo6c2V0UmVjdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpDbGlwUmVjdDo6YWZmZWN0
ZWRCeVJhZGl1cyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpDbGlwUmVjdDo6c2V0QWZm
ZWN0ZWRCeVJhZGl1cyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpDbGlwUmVjdDo6b3Bl
cmF0b3I9PSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpDbGlwUmVjdDo6b3BlcmF0b3Ih
PSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpDbGlwUmVjdDo6aW50ZXJzZWN0KTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNsaXBSZWN0Ojptb3ZlKTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OkNsaXBSZWN0Ojptb3ZlQnkpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6Q2xpcFJlY3Q6OmlzRW1wdHkpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6Q2xpcFJl
Y3Q6OmludGVyc2VjdHMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6Q2xpcFJlY3Q6Omlu
ZmxhdGVYKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNsaXBSZWN0OjppbmZsYXRlWSk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpDbGlwUmVjdDo6aW5mbGF0ZSk6IERlbGV0ZWQu
CisgICAgICAgIChXZWJDb3JlOjppbnRlcnNlY3Rpb24pOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6TGF5ZXJGcmFnbWVudDo6TGF5ZXJGcmFnbWVudCk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpMYXllckZyYWdtZW50OjpzZXRSZWN0cyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpMYXllckZyYWdtZW50Ojptb3ZlQnkpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
TGF5ZXJGcmFnbWVudDo6aW50ZXJzZWN0KTogRGVsZXRlZC4KKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyTXVsdGlDb2x1bW5TZXQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyUmVnaW9u
Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuY3BwOgorCiAyMDE1LTAx
LTE0ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAg
ICBSRUdSRVNTSU9OKHIxNzgzNjcpOiBbR1N0cmVhbWVyXSBTZXZlcmFsIG1lZGlhIHRlc3RzIHRp
bWUgb3V0IGFmdGVyIHIxNzgzNjcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBhYTc2NTgwYjY4MGZhOWZiNTY2MjEwZWRlMjQzNDg2
Mjc3NzNlNzRkLi5jMzdjYjJlY2U2MjIzY2ZmNDI1NGM2MzU2YjQyNWNlNDkzZTE5YjQxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
KysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBA
IC0yMDk2LDYgKzIwOTYsOSBAQAogCQk1N0I3OTFBNDE0QzZBNjI5MDBGMjAyRDEgLyogQ29udGVu
dERpc3RyaWJ1dG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA1N0I3OTFBMDE0QzZBNjI5MDBGMjAyRDEgLyogQ29udGVudERpc3RyaWJ1dG9yLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNTdDRjQ5NzQx
NEVFMzZENzAwRUNGRjE0IC8qIEluc2VydGlvblBvaW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3Q0Y0OTcyMTRFRTM2RDcwMEVDRkYxNCAvKiBJ
bnNlcnRpb25Qb2ludC5jcHAgKi87IH07CiAJCTU3Q0Y0OTc1MTRFRTM2RDcwMEVDRkYxNCAvKiBJ
bnNlcnRpb25Qb2ludC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNTdDRjQ5NzMxNEVFMzZENzAwRUNGRjE0IC8qIEluc2VydGlvblBvaW50LmggKi87IH07
CisJCTU4MDM3MTYxMUE2NkYwMEEwMEJBRjUxOSAvKiBDbGlwUmVjdC5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1ODAzNzE1RjFBNjZGMDBBMDBCQUY1
MTkgLyogQ2xpcFJlY3QuY3BwICovOyB9OworCQk1ODAzNzE2MjFBNjZGMDBBMDBCQUY1MTkgLyog
Q2xpcFJlY3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDU4MDM3MTYwMUE2NkYwMEEwMEJBRjUxOSAvKiBDbGlwUmVjdC5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTU4MDM3MTY0MUE2NkYxRDMwMEJBRjUx
OSAvKiBMYXllckZyYWdtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA1ODAzNzE2MzFBNjZGMUQzMDBCQUY1MTkgLyogTGF5ZXJGcmFnbWVudC5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTU4NUQ2REZD
MUExNTM1NTYwMEZBNEYxMiAvKiBTaW1wbGVMaW5lTGF5b3V0UmVzb2x2ZXIuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTg1RDZERkIxQTE1MzU1NjAw
RkE0RjEyIC8qIFNpbXBsZUxpbmVMYXlvdXRSZXNvbHZlci5jcHAgKi87IH07CiAJCTU4NUQ2RTAz
MUExQTc5MkUwMEZBNEYxMiAvKiBTaW1wbGVMaW5lTGF5b3V0Rmxvd0NvbnRlbnRzLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU4NUQ2RTAxMUExQTc5
MkUwMEZBNEYxMiAvKiBTaW1wbGVMaW5lTGF5b3V0Rmxvd0NvbnRlbnRzLmNwcCAqLzsgfTsKIAkJ
NTg1RDZFMDQxQTFBNzkyRTAwRkE0RjEyIC8qIFNpbXBsZUxpbmVMYXlvdXRGbG93Q29udGVudHMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU4NUQ2RTAy
MUExQTc5MkUwMEZBNEYxMiAvKiBTaW1wbGVMaW5lTGF5b3V0Rmxvd0NvbnRlbnRzLmggKi87IH07
CkBAIC05MjAzLDYgKzkyMDYsOSBAQAogCQk1N0I3OTFBMDE0QzZBNjI5MDBGMjAyRDEgLyogQ29u
dGVudERpc3RyaWJ1dG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnRl
bnREaXN0cmlidXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1N0NGNDk3MjE0
RUUzNkQ3MDBFQ0ZGMTQgLyogSW5zZXJ0aW9uUG9pbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSW5zZXJ0aW9uUG9pbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk1N0NGNDk3MzE0RUUzNkQ3MDBFQ0ZGMTQgLyogSW5zZXJ0aW9uUG9pbnQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zZXJ0aW9uUG9pbnQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTgwMzcxNUYxQTY2RjAwQTAwQkFGNTE5IC8qIENsaXBS
ZWN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENsaXBSZWN0LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTgwMzcxNjAxQTY2RjAwQTAwQkFGNTE5
IC8qIENsaXBSZWN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENsaXBSZWN0
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTU4MDM3MTYzMUE2NkYxRDMwMEJBRjUx
OSAvKiBMYXllckZyYWdtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExh
eWVyRnJhZ21lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTg1RDZERkIxQTE1
MzU1NjAwRkE0RjEyIC8qIFNpbXBsZUxpbmVMYXlvdXRSZXNvbHZlci5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTaW1wbGVMaW5lTGF5b3V0UmVzb2x2ZXIuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1ODVENkUwMTFBMUE3OTJFMDBGQTRGMTIgLyog
U2ltcGxlTGluZUxheW91dEZsb3dDb250ZW50cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBTaW1wbGVMaW5lTGF5b3V0Rmxvd0NvbnRlbnRzLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTg1RDZFMDIxQTFBNzkyRTAwRkE0RjEyIC8qIFNpbXBsZUxp
bmVMYXlvdXRGbG93Q29udGVudHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
U2ltcGxlTGluZUxheW91dEZsb3dDb250ZW50cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMjIyNDAsNiArMjIyNDYsOSBAQAogCQlGNTIzRDJGMzAyREU0NDNCMDE4NjM1Q0EgLyog
cmVuZGVyaW5nICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJ
CQk1ODAzNzE2MzFBNjZGMUQzMDBCQUY1MTkgLyogTGF5ZXJGcmFnbWVudC5oICovLAorCQkJCTU4
MDM3MTVGMUE2NkYwMEEwMEJBRjUxOSAvKiBDbGlwUmVjdC5jcHAgKi8sCisJCQkJNTgwMzcxNjAx
QTY2RjAwQTAwQkFGNTE5IC8qIENsaXBSZWN0LmggKi8sCiAJCQkJRkZCNjk4QzgxODMyRjEwQjAw
MTU4QTMxIC8qIGxpbmUgKi8sCiAJCQkJNDM5MDQ2QzIxMkRBMjVDRTAwQUY4MEEyIC8qIG1hdGht
bCAqLywKIAkJCQlGRDA4QTg3OTE3NUQzOTI2MDAyQ0QzNjAgLyogc2hhcGVzICovLApAQCAtMjQy
MDUsNiArMjQyMTQsNyBAQAogCQkJCUE4Q0ZGNkJFMEExNTYxMTgwMDBBNDIzNCAvKiBFbGxpcHNp
c0JveC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRjU1QjNEQkMxMjUxRjEyRDAwM0VGMjY5IC8qIEVt
YWlsSW5wdXRUeXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjU1OTlBNTBEMDBEOEJBMDBCQjgy
NUMgLyogRW1wdHlDbGllbnRzLmggaW4gSGVhZGVycyAqLywKKwkJCQk1ODAzNzE2MjFBNjZGMDBB
MDBCQUY1MTkgLyogQ2xpcFJlY3QuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4RUE3RUMyMEExOTQ1
RDAwMEE4RUY1RiAvKiBFbnRpdHkuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4RUE3RUMwMEExOTQ1
RDAwMEE4RUY1RiAvKiBFbnRpdHlSZWZlcmVuY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUZEMzE2
MDkzMTJCMDI2RjcwMEMxQTM1OSAvKiBFcXVhbFBvd2VyUGFubmVyLmggaW4gSGVhZGVycyAqLywK
QEAgLTI1MTY0LDYgKzI1MTc0LDcgQEAKIAkJCQlCMkZBM0UxMTBBQjc1QTZGMDAwRTVBQzQgLyog
SlNTVkdUU3BhbkVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyRkEzRTEzMEFCNzVBNkYw
MDBFNUFDNCAvKiBKU1NWR1VuaXRUeXBlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJGQTNFMTUw
QUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHVXNlRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
NTgwMzcxNjQxQTY2RjFEMzAwQkFGNTE5IC8qIExheWVyRnJhZ21lbnQuaCBpbiBIZWFkZXJzICov
LAogCQkJCUIyRkEzRTE3MEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR1ZpZXdFbGVtZW50LmggaW4g
SGVhZGVycyAqLywKIAkJCQk3MTE4RkVENTE1Njg1Q0M2MDAzMEI3OUEgLyogSlNTVkdWaWV3U3Bl
Yy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODQ4NTIyN0UxMTkwMTYyQzAwNkVEQzdGIC8qIEpTU1ZH
Vktlcm5FbGVtZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTI4NTE5LDYgKzI4NTMwLDcgQEAKIAkJ
CQlCQ0ZFMkYxMTBDMUI1ODM3MDAyMDIzNUYgLyogSlNSZWN0LmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTQ5OThBRUNEMTNGOUQ2QzkwMDkwQjFBQSAvKiBKU1JlcXVlc3RBbmltYXRpb25GcmFtZUNh
bGxiYWNrLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5OThBRUQ0MTNGQzQxN0YwMDkwQjFBQSAv
KiBKU1JlcXVlc3RBbmltYXRpb25GcmFtZUNhbGxiYWNrQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCTU4MDM3MTYxMUE2NkYwMEEwMEJBRjUxOSAvKiBDbGlwUmVjdC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlCQzc0REE0ODEwMTNGNDY4MDA3OTg3QUQgLyogSlNSR0JDb2xvci5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQkwNzM3OTRFNTE5RUUyRkYyMDBFNUEwNDUgLyogSlNSVENDb25maWd1
cmF0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3OTY5REFCMTdEMTQxNTEwMDdGRjg0MiAv
KiBKU1JUQ0RhdGFDaGFubmVsLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL0NsaXBSZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9DbGlwUmVjdC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjViOTNhMmMwYjkyNmE3NDY1OTk3Y2FlODQwMWM5
ZjU5NGRjYTZjYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9D
bGlwUmVjdC5jcHAKQEAgLTAsMCArMSwzOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25m
aWcuaCIKKyNpbmNsdWRlICJDbGlwUmVjdC5oIgorCisjaW5jbHVkZSAiSGl0VGVzdExvY2F0aW9u
LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworYm9vbCBDbGlwUmVjdDo6aW50ZXJzZWN0cyhj
b25zdCBIaXRUZXN0TG9jYXRpb24mIGhpdFRlc3RMb2NhdGlvbikgY29uc3QKK3sKKyAgICByZXR1
cm4gaGl0VGVzdExvY2F0aW9uLmludGVyc2VjdHMobV9yZWN0KTsKK30KKworfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0NsaXBSZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvQ2xpcFJlY3QuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NTY3MjlhMjljYjE3NGM2ZDY3YjdlZTUy
NDYwOTNlMTlkMzljMTM3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0NsaXBSZWN0LmgKQEAgLTAsMCArMSw4OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
NSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgQ2xp
cFJlY3RfaAorI2RlZmluZSBDbGlwUmVjdF9oCisKKyNpbmNsdWRlICJMYXlvdXRSZWN0LmgiCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgSGl0VGVzdExvY2F0aW9uOworCitjbGFzcyBD
bGlwUmVjdCB7CitwdWJsaWM6CisgICAgQ2xpcFJlY3QoKSA9IGRlZmF1bHQ7CisgICAgCisgICAg
Q2xpcFJlY3QoY29uc3QgTGF5b3V0UmVjdCYgcmVjdCkKKyAgICAgICAgOiBtX3JlY3QocmVjdCkK
KyAgICB7CisgICAgfQorICAgIAorICAgIGNvbnN0IExheW91dFJlY3QmIHJlY3QoKSBjb25zdCB7
IHJldHVybiBtX3JlY3Q7IH0KKyAgICB2b2lkIHNldFJlY3QoY29uc3QgTGF5b3V0UmVjdCYgcmVj
dCkgeyBtX3JlY3QgPSByZWN0OyB9CisgICAgCisgICAgYm9vbCBhZmZlY3RlZEJ5UmFkaXVzKCkg
Y29uc3QgeyByZXR1cm4gbV9hZmZlY3RlZEJ5UmFkaXVzOyB9CisgICAgdm9pZCBzZXRBZmZlY3Rl
ZEJ5UmFkaXVzKGJvb2wgYWZmZWN0ZWRCeVJhZGl1cykgeyBtX2FmZmVjdGVkQnlSYWRpdXMgPSBh
ZmZlY3RlZEJ5UmFkaXVzOyB9CisgICAgCisgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IENsaXBS
ZWN0JiBvdGhlcikgY29uc3QgeyByZXR1cm4gcmVjdCgpID09IG90aGVyLnJlY3QoKSAmJiBhZmZl
Y3RlZEJ5UmFkaXVzKCkgPT0gb3RoZXIuYWZmZWN0ZWRCeVJhZGl1cygpOyB9CisgICAgYm9vbCBv
cGVyYXRvciE9KGNvbnN0IENsaXBSZWN0JiBvdGhlcikgY29uc3QgeyByZXR1cm4gcmVjdCgpICE9
IG90aGVyLnJlY3QoKSB8fCBhZmZlY3RlZEJ5UmFkaXVzKCkgIT0gb3RoZXIuYWZmZWN0ZWRCeVJh
ZGl1cygpOyB9CisgICAgYm9vbCBvcGVyYXRvciE9KGNvbnN0IExheW91dFJlY3QmIG90aGVyUmVj
dCkgY29uc3QgeyByZXR1cm4gcmVjdCgpICE9IG90aGVyUmVjdDsgfQorICAgIAorICAgIHZvaWQg
aW50ZXJzZWN0KGNvbnN0IExheW91dFJlY3QmIG90aGVyKSB7IG1fcmVjdC5pbnRlcnNlY3Qob3Ro
ZXIpOyB9CisgICAgdm9pZCBpbnRlcnNlY3QoY29uc3QgQ2xpcFJlY3QmIG90aGVyKTsKKyAgICB2
b2lkIG1vdmUoTGF5b3V0VW5pdCB4LCBMYXlvdXRVbml0IHkpIHsgbV9yZWN0Lm1vdmUoeCwgeSk7
IH0KKyAgICB2b2lkIG1vdmUoY29uc3QgTGF5b3V0U2l6ZSYgc2l6ZSkgeyBtX3JlY3QubW92ZShz
aXplKTsgfQorICAgIHZvaWQgbW92ZUJ5KGNvbnN0IExheW91dFBvaW50JiBwb2ludCkgeyBtX3Jl
Y3QubW92ZUJ5KHBvaW50KTsgfQorICAgIAorICAgIGJvb2wgaXNFbXB0eSgpIGNvbnN0IHsgcmV0
dXJuIG1fcmVjdC5pc0VtcHR5KCk7IH0KKyAgICBib29sIGludGVyc2VjdHMoY29uc3QgTGF5b3V0
UmVjdCYgcmVjdCkgY29uc3QgeyByZXR1cm4gbV9yZWN0LmludGVyc2VjdHMocmVjdCk7IH0KKyAg
ICBib29sIGludGVyc2VjdHMoY29uc3QgSGl0VGVzdExvY2F0aW9uJikgY29uc3Q7CisgICAgCisg
ICAgdm9pZCBpbmZsYXRlWChMYXlvdXRVbml0IGR4KSB7IG1fcmVjdC5pbmZsYXRlWChkeCk7IH0K
KyAgICB2b2lkIGluZmxhdGVZKExheW91dFVuaXQgZHkpIHsgbV9yZWN0LmluZmxhdGVZKGR5KTsg
fQorICAgIHZvaWQgaW5mbGF0ZShMYXlvdXRVbml0IGQpIHsgaW5mbGF0ZVgoZCk7IGluZmxhdGVZ
KGQpOyB9CisgICAgCitwcml2YXRlOgorICAgIExheW91dFJlY3QgbV9yZWN0OworICAgIGJvb2wg
bV9hZmZlY3RlZEJ5UmFkaXVzID0gZmFsc2U7Cit9OworCitpbmxpbmUgdm9pZCBDbGlwUmVjdDo6
aW50ZXJzZWN0KGNvbnN0IENsaXBSZWN0JiBvdGhlcikKK3sKKyAgICBtX3JlY3QuaW50ZXJzZWN0
KG90aGVyLnJlY3QoKSk7CisgICAgaWYgKG90aGVyLmFmZmVjdGVkQnlSYWRpdXMoKSkKKyAgICAg
ICAgbV9hZmZlY3RlZEJ5UmFkaXVzID0gdHJ1ZTsKK30KKyAgICAKK2lubGluZSBDbGlwUmVjdCBp
bnRlcnNlY3Rpb24oY29uc3QgQ2xpcFJlY3QmIGEsIGNvbnN0IENsaXBSZWN0JiBiKQoreworICAg
IENsaXBSZWN0IGMgPSBhOworICAgIGMuaW50ZXJzZWN0KGIpOworICAgIHJldHVybiBjOworfQor
fQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9MYXllckZy
YWdtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvTGF5ZXJGcmFnbWVudC5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjFiYzg2MmIzZWRiZWJlNjE2YjQ3ZTlmZjYzYTJmN2ZkYjYxZmExZGIKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvTGF5ZXJGcmFnbWVudC5oCkBAIC0w
LDAgKzEsODcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIExheWVyRnJhZ21lbnRfaAorI2RlZmlu
ZSBMYXllckZyYWdtZW50X2gKKworI2luY2x1ZGUgIkNsaXBSZWN0LmgiCisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworY2xhc3MgTGF5ZXJGcmFnbWVudCB7CitwdWJsaWM6CisgICAgTGF5ZXJGcmFn
bWVudCgpID0gZGVmYXVsdDsKKyAgICAKKyAgICB2b2lkIHNldFJlY3RzKGNvbnN0IExheW91dFJl
Y3QmIGJvdW5kcywgY29uc3QgQ2xpcFJlY3QmIGJhY2tncm91bmQsIGNvbnN0IENsaXBSZWN0JiBm
b3JlZ3JvdW5kLCBjb25zdCBDbGlwUmVjdCYgb3V0bGluZSwgY29uc3QgTGF5b3V0UmVjdCogYmJv
eCkKKyAgICB7CisgICAgICAgIGxheWVyQm91bmRzID0gYm91bmRzOworICAgICAgICBiYWNrZ3Jv
dW5kUmVjdCA9IGJhY2tncm91bmQ7CisgICAgICAgIGZvcmVncm91bmRSZWN0ID0gZm9yZWdyb3Vu
ZDsKKyAgICAgICAgb3V0bGluZVJlY3QgPSBvdXRsaW5lOworICAgICAgICBpZiAoYmJveCkgewor
ICAgICAgICAgICAgYm91bmRpbmdCb3ggPSAqYmJveDsKKyAgICAgICAgICAgIGhhc0JvdW5kaW5n
Qm94ID0gdHJ1ZTsKKyAgICAgICAgfQorICAgIH0KKyAgICAKKyAgICB2b2lkIG1vdmVCeShjb25z
dCBMYXlvdXRQb2ludCYgb2Zmc2V0KQorICAgIHsKKyAgICAgICAgbGF5ZXJCb3VuZHMubW92ZUJ5
KG9mZnNldCk7CisgICAgICAgIGJhY2tncm91bmRSZWN0Lm1vdmVCeShvZmZzZXQpOworICAgICAg
ICBmb3JlZ3JvdW5kUmVjdC5tb3ZlQnkob2Zmc2V0KTsKKyAgICAgICAgb3V0bGluZVJlY3QubW92
ZUJ5KG9mZnNldCk7CisgICAgICAgIHBhZ2luYXRpb25DbGlwLm1vdmVCeShvZmZzZXQpOworICAg
ICAgICBib3VuZGluZ0JveC5tb3ZlQnkob2Zmc2V0KTsKKyAgICB9CisgICAgCisgICAgdm9pZCBp
bnRlcnNlY3QoY29uc3QgTGF5b3V0UmVjdCYgcmVjdCkKKyAgICB7CisgICAgICAgIGJhY2tncm91
bmRSZWN0LmludGVyc2VjdChyZWN0KTsKKyAgICAgICAgZm9yZWdyb3VuZFJlY3QuaW50ZXJzZWN0
KHJlY3QpOworICAgICAgICBvdXRsaW5lUmVjdC5pbnRlcnNlY3QocmVjdCk7CisgICAgICAgIGJv
dW5kaW5nQm94LmludGVyc2VjdChyZWN0KTsKKyAgICB9CisgICAgCisgICAgYm9vbCBzaG91bGRQ
YWludENvbnRlbnQgPSBmYWxzZTsKKyAgICBib29sIGhhc0JvdW5kaW5nQm94ID0gZmFsc2U7Cisg
ICAgTGF5b3V0UmVjdCBsYXllckJvdW5kczsKKyAgICBDbGlwUmVjdCBiYWNrZ3JvdW5kUmVjdDsK
KyAgICBDbGlwUmVjdCBmb3JlZ3JvdW5kUmVjdDsKKyAgICBDbGlwUmVjdCBvdXRsaW5lUmVjdDsK
KyAgICBMYXlvdXRSZWN0IGJvdW5kaW5nQm94OworICAgIAorICAgIC8vIFVuaXF1ZSB0byBwYWdp
bmF0ZWQgZnJhZ21lbnRzLiBUaGUgcGh5c2ljYWwgdHJhbnNsYXRpb24gdG8gYXBwbHkgdG8gc2hp
ZnQgdGhlIGxheWVyIHdoZW4gcGFpbnRpbmcvaGl0LXRlc3RpbmcuCisgICAgTGF5b3V0U2l6ZSBw
YWdpbmF0aW9uT2Zmc2V0OworICAgIAorICAgIC8vIEFsc28gdW5pcXVlIHRvIHBhZ2luYXRlZCBm
cmFnbWVudHMuIEFuIGFkZGl0aW9uYWwgY2xpcCB0aGF0IGFwcGxpZXMgdG8gdGhlIGxheWVyLiBJ
dCBpcyBpbiBsYXllci1sb2NhbAorICAgIC8vIChwaHlzaWNhbCkgY29vcmRpbmF0ZXMuCisgICAg
TGF5b3V0UmVjdCBwYWdpbmF0aW9uQ2xpcDsKK307CisKK3R5cGVkZWYgVmVjdG9yPExheWVyRnJh
Z21lbnQsIDE+IExheWVyRnJhZ21lbnRzOworCit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmgKaW5kZXggODYzYWI1ZjU0YTE5ZmQxM2Y1ZjMz
NTI2MTU0ZmE4NTU1ODFkNjIwNS4uMjZmMTk2ZDc1ZjhjMTdkYWNjMGFmZDc0ZDQwNDBhOWRjZGZj
NGQ2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJl
YWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5oCkBA
IC0zMCw3ICszMCw3IEBACiAjaWZuZGVmIFJlbmRlckZsb3dUaHJlYWRfaAogI2RlZmluZSBSZW5k
ZXJGbG93VGhyZWFkX2gKIAotCisjaW5jbHVkZSAiTGF5ZXJGcmFnbWVudC5oIgogI2luY2x1ZGUg
IlJlbmRlckJsb2NrRmxvdy5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoQ291bnRlZFNldC5oPgogI2lu
Y2x1ZGUgPHd0Zi9MaXN0SGFzaFNldC5oPgpAQCAtMzksOCArMzksNiBAQAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBjbGFzcyBDdXJyZW50UmVuZGVyUmVnaW9uTWFpbnRhaW5lcjsKLXN0cnVjdCBM
YXllckZyYWdtZW50OwotdHlwZWRlZiBWZWN0b3I8TGF5ZXJGcmFnbWVudCwgMT4gTGF5ZXJGcmFn
bWVudHM7CiBjbGFzcyBSZW5kZXJGbG93VGhyZWFkOwogY2xhc3MgUmVuZGVyTmFtZWRGbG93RnJh
Z21lbnQ7CiBjbGFzcyBSZW5kZXJTdHlsZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuY3BwCmluZGV4IDY0ZGM3YjQ0MGZmYWViYjgyM2ZiM2YyODY3NDIzMzQ3Y2MxNDc1ZjQu
LmNjNGFkMmQwMzdlN2U1NTEwNDhhZGEwYjU5ZTNjNDA5MjNmMzM5MzMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtMTMzLDExICsxMzMsNiBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAKLWJvb2wgQ2xpcFJl
Y3Q6OmludGVyc2VjdHMoY29uc3QgSGl0VGVzdExvY2F0aW9uJiBoaXRUZXN0TG9jYXRpb24pIGNv
bnN0Ci17Ci0gICAgcmV0dXJuIGhpdFRlc3RMb2NhdGlvbi5pbnRlcnNlY3RzKG1fcmVjdCk7Ci19
Ci0KIHZvaWQgbWFrZU1hdHJpeFJlbmRlcmFibGUoVHJhbnNmb3JtYXRpb25NYXRyaXgmIG1hdHJp
eCwgYm9vbCBoYXMzRFJlbmRlcmluZykKIHsKICNpZiAhRU5BQkxFKDNEX1JFTkRFUklORykKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKaW5kZXggMDI3NTI4OGU1MGI4MDhjZjFj
NDI1N2QyMWZkNzJhMTQ2YmY0YTE0ZC4uNDA1YzBlZTRkMzk4MTQ4ZDI2NjJiNDFkOGY5MGZmOTU5
ODg4ODliOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKQEAgLTQ0LDcg
KzQ0LDkgQEAKICNpZm5kZWYgUmVuZGVyTGF5ZXJfaAogI2RlZmluZSBSZW5kZXJMYXllcl9oCiAK
KyNpbmNsdWRlICJDbGlwUmVjdC5oIgogI2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXIuaCIKKyNpbmNs
dWRlICJMYXllckZyYWdtZW50LmgiCiAjaW5jbHVkZSAiUGFpbnRJbmZvLmgiCiAjaW5jbHVkZSAi
UmVuZGVyQm94LmgiCiAjaW5jbHVkZSAiUmVuZGVyUHRyLmgiCkBAIC04MSw2MCArODMsNiBAQCBl
bnVtIFJlcGFpbnRTdGF0dXMgewogICAgIE5lZWRzRnVsbFJlcGFpbnRGb3JQb3NpdGlvbmVkTW92
ZW1lbnRMYXlvdXQKIH07CiAKLWNsYXNzIENsaXBSZWN0IHsKLXB1YmxpYzoKLSAgICBDbGlwUmVj
dCgpCi0gICAgICAgIDogbV9hZmZlY3RlZEJ5UmFkaXVzKGZhbHNlKQotICAgIHsKLSAgICB9Ci0g
ICAgCi0gICAgQ2xpcFJlY3QoY29uc3QgTGF5b3V0UmVjdCYgcmVjdCkKLSAgICAgICAgOiBtX3Jl
Y3QocmVjdCkKLSAgICAgICAgLCBtX2FmZmVjdGVkQnlSYWRpdXMoZmFsc2UpCi0gICAgewotICAg
IH0KLSAgICAKLSAgICBjb25zdCBMYXlvdXRSZWN0JiByZWN0KCkgY29uc3QgeyByZXR1cm4gbV9y
ZWN0OyB9Ci0gICAgdm9pZCBzZXRSZWN0KGNvbnN0IExheW91dFJlY3QmIHJlY3QpIHsgbV9yZWN0
ID0gcmVjdDsgfQotCi0gICAgYm9vbCBhZmZlY3RlZEJ5UmFkaXVzKCkgY29uc3QgeyByZXR1cm4g
bV9hZmZlY3RlZEJ5UmFkaXVzOyB9Ci0gICAgdm9pZCBzZXRBZmZlY3RlZEJ5UmFkaXVzKGJvb2wg
YWZmZWN0ZWRCeVJhZGl1cykgeyBtX2FmZmVjdGVkQnlSYWRpdXMgPSBhZmZlY3RlZEJ5UmFkaXVz
OyB9Ci0KLSAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgQ2xpcFJlY3QmIG90aGVyKSBjb25zdCB7
IHJldHVybiByZWN0KCkgPT0gb3RoZXIucmVjdCgpICYmIGFmZmVjdGVkQnlSYWRpdXMoKSA9PSBv
dGhlci5hZmZlY3RlZEJ5UmFkaXVzKCk7IH0KLSAgICBib29sIG9wZXJhdG9yIT0oY29uc3QgQ2xp
cFJlY3QmIG90aGVyKSBjb25zdCB7IHJldHVybiByZWN0KCkgIT0gb3RoZXIucmVjdCgpIHx8IGFm
ZmVjdGVkQnlSYWRpdXMoKSAhPSBvdGhlci5hZmZlY3RlZEJ5UmFkaXVzKCk7IH0KLSAgICBib29s
IG9wZXJhdG9yIT0oY29uc3QgTGF5b3V0UmVjdCYgb3RoZXJSZWN0KSBjb25zdCB7IHJldHVybiBy
ZWN0KCkgIT0gb3RoZXJSZWN0OyB9Ci0KLSAgICB2b2lkIGludGVyc2VjdChjb25zdCBMYXlvdXRS
ZWN0JiBvdGhlcikgeyBtX3JlY3QuaW50ZXJzZWN0KG90aGVyKTsgfQotICAgIHZvaWQgaW50ZXJz
ZWN0KGNvbnN0IENsaXBSZWN0JiBvdGhlcikKLSAgICB7Ci0gICAgICAgIG1fcmVjdC5pbnRlcnNl
Y3Qob3RoZXIucmVjdCgpKTsKLSAgICAgICAgaWYgKG90aGVyLmFmZmVjdGVkQnlSYWRpdXMoKSkK
LSAgICAgICAgICAgIG1fYWZmZWN0ZWRCeVJhZGl1cyA9IHRydWU7Ci0gICAgfQotICAgIHZvaWQg
bW92ZShMYXlvdXRVbml0IHgsIExheW91dFVuaXQgeSkgeyBtX3JlY3QubW92ZSh4LCB5KTsgfQot
ICAgIHZvaWQgbW92ZShjb25zdCBMYXlvdXRTaXplJiBzaXplKSB7IG1fcmVjdC5tb3ZlKHNpemUp
OyB9Ci0gICAgdm9pZCBtb3ZlQnkoY29uc3QgTGF5b3V0UG9pbnQmIHBvaW50KSB7IG1fcmVjdC5t
b3ZlQnkocG9pbnQpOyB9Ci0KLSAgICBib29sIGlzRW1wdHkoKSBjb25zdCB7IHJldHVybiBtX3Jl
Y3QuaXNFbXB0eSgpOyB9Ci0gICAgYm9vbCBpbnRlcnNlY3RzKGNvbnN0IExheW91dFJlY3QmIHJl
Y3QpIGNvbnN0IHsgcmV0dXJuIG1fcmVjdC5pbnRlcnNlY3RzKHJlY3QpOyB9Ci0gICAgYm9vbCBp
bnRlcnNlY3RzKGNvbnN0IEhpdFRlc3RMb2NhdGlvbiYpIGNvbnN0OwotCi0gICAgdm9pZCBpbmZs
YXRlWChMYXlvdXRVbml0IGR4KSB7IG1fcmVjdC5pbmZsYXRlWChkeCk7IH0KLSAgICB2b2lkIGlu
ZmxhdGVZKExheW91dFVuaXQgZHkpIHsgbV9yZWN0LmluZmxhdGVZKGR5KTsgfQotICAgIHZvaWQg
aW5mbGF0ZShMYXlvdXRVbml0IGQpIHsgaW5mbGF0ZVgoZCk7IGluZmxhdGVZKGQpOyB9Ci0KLXBy
aXZhdGU6Ci0gICAgTGF5b3V0UmVjdCBtX3JlY3Q7Ci0gICAgYm9vbCBtX2FmZmVjdGVkQnlSYWRp
dXM7Ci19OwotCi1pbmxpbmUgQ2xpcFJlY3QgaW50ZXJzZWN0aW9uKGNvbnN0IENsaXBSZWN0JiBh
LCBjb25zdCBDbGlwUmVjdCYgYikKLXsKLSAgICBDbGlwUmVjdCBjID0gYTsKLSAgICBjLmludGVy
c2VjdChiKTsKLSAgICByZXR1cm4gYzsKLX0KLQogY2xhc3MgQ2xpcFJlY3RzIHsKICAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKQEAgLTI3Niw2MSArMjI0LDYgQEAgcHJpdmF0
ZToKICAgICBSZWZQdHI8Q2xpcFJlY3RzPiBtX2NsaXBSZWN0c1tOdW1DYWNoZWRDbGlwUmVjdHNU
eXBlcyAqIDJdOwogfTsKIAotc3RydWN0IExheWVyRnJhZ21lbnQgewotcHVibGljOgotICAgIExh
eWVyRnJhZ21lbnQoKQotICAgICAgICA6IHNob3VsZFBhaW50Q29udGVudChmYWxzZSkKLSAgICAg
ICAgLCBoYXNCb3VuZGluZ0JveChmYWxzZSkKLSAgICB7IH0KLQotICAgIHZvaWQgc2V0UmVjdHMo
Y29uc3QgTGF5b3V0UmVjdCYgYm91bmRzLCBjb25zdCBDbGlwUmVjdCYgYmFja2dyb3VuZCwgY29u
c3QgQ2xpcFJlY3QmIGZvcmVncm91bmQsIGNvbnN0IENsaXBSZWN0JiBvdXRsaW5lLCBjb25zdCBM
YXlvdXRSZWN0KiBiYm94KQotICAgIHsKLSAgICAgICAgbGF5ZXJCb3VuZHMgPSBib3VuZHM7Ci0g
ICAgICAgIGJhY2tncm91bmRSZWN0ID0gYmFja2dyb3VuZDsKLSAgICAgICAgZm9yZWdyb3VuZFJl
Y3QgPSBmb3JlZ3JvdW5kOwotICAgICAgICBvdXRsaW5lUmVjdCA9IG91dGxpbmU7Ci0gICAgICAg
IGlmIChiYm94KSB7Ci0gICAgICAgICAgICBib3VuZGluZ0JveCA9ICpiYm94OwotICAgICAgICAg
ICAgaGFzQm91bmRpbmdCb3ggPSB0cnVlOwotICAgICAgICB9Ci0gICAgfQotICAgIAotICAgIHZv
aWQgbW92ZUJ5KGNvbnN0IExheW91dFBvaW50JiBvZmZzZXQpCi0gICAgewotICAgICAgICBsYXll
ckJvdW5kcy5tb3ZlQnkob2Zmc2V0KTsKLSAgICAgICAgYmFja2dyb3VuZFJlY3QubW92ZUJ5KG9m
ZnNldCk7Ci0gICAgICAgIGZvcmVncm91bmRSZWN0Lm1vdmVCeShvZmZzZXQpOwotICAgICAgICBv
dXRsaW5lUmVjdC5tb3ZlQnkob2Zmc2V0KTsKLSAgICAgICAgcGFnaW5hdGlvbkNsaXAubW92ZUJ5
KG9mZnNldCk7Ci0gICAgICAgIGJvdW5kaW5nQm94Lm1vdmVCeShvZmZzZXQpOwotICAgIH0KLSAg
ICAKLSAgICB2b2lkIGludGVyc2VjdChjb25zdCBMYXlvdXRSZWN0JiByZWN0KQotICAgIHsKLSAg
ICAgICAgYmFja2dyb3VuZFJlY3QuaW50ZXJzZWN0KHJlY3QpOwotICAgICAgICBmb3JlZ3JvdW5k
UmVjdC5pbnRlcnNlY3QocmVjdCk7Ci0gICAgICAgIG91dGxpbmVSZWN0LmludGVyc2VjdChyZWN0
KTsKLSAgICAgICAgYm91bmRpbmdCb3guaW50ZXJzZWN0KHJlY3QpOwotICAgIH0KLSAgICAKLSAg
ICBib29sIHNob3VsZFBhaW50Q29udGVudDsKLSAgICBib29sIGhhc0JvdW5kaW5nQm94OwotICAg
IExheW91dFJlY3QgbGF5ZXJCb3VuZHM7Ci0gICAgQ2xpcFJlY3QgYmFja2dyb3VuZFJlY3Q7Ci0g
ICAgQ2xpcFJlY3QgZm9yZWdyb3VuZFJlY3Q7Ci0gICAgQ2xpcFJlY3Qgb3V0bGluZVJlY3Q7Ci0g
ICAgTGF5b3V0UmVjdCBib3VuZGluZ0JveDsKLSAgICAKLSAgICAvLyBVbmlxdWUgdG8gcGFnaW5h
dGVkIGZyYWdtZW50cy4gVGhlIHBoeXNpY2FsIHRyYW5zbGF0aW9uIHRvIGFwcGx5IHRvIHNoaWZ0
IHRoZSBsYXllciB3aGVuIHBhaW50aW5nL2hpdC10ZXN0aW5nLgotICAgIExheW91dFNpemUgcGFn
aW5hdGlvbk9mZnNldDsKLSAgICAKLSAgICAvLyBBbHNvIHVuaXF1ZSB0byBwYWdpbmF0ZWQgZnJh
Z21lbnRzLiBBbiBhZGRpdGlvbmFsIGNsaXAgdGhhdCBhcHBsaWVzIHRvIHRoZSBsYXllci4gSXQg
aXMgaW4gbGF5ZXItbG9jYWwKLSAgICAvLyAocGh5c2ljYWwpIGNvb3JkaW5hdGVzLgotICAgIExh
eW91dFJlY3QgcGFnaW5hdGlvbkNsaXA7Ci19OwotCi10eXBlZGVmIFZlY3RvcjxMYXllckZyYWdt
ZW50LCAxPiBMYXllckZyYWdtZW50czsKLQogY2xhc3MgUmVuZGVyTGF5ZXIgZmluYWwgOiBwdWJs
aWMgU2Nyb2xsYWJsZUFyZWEgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGlj
OgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1u
U2V0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5TZXQuaApp
bmRleCA5NjIxNjk3NTk3NmU3MmM5MDhhY2JiNjkwOWYyMTA0YjBhNjllOWVlLi45OTA4MmMwMzlj
NjUwYjA3ZWRiMWIwNDUzMDUwMTA0NDFmNjE1ZGIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5TZXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5TZXQuaApAQCAtMjcsNiArMjcsNyBAQAogI2lmbmRl
ZiBSZW5kZXJNdWx0aUNvbHVtblNldF9oCiAjZGVmaW5lIFJlbmRlck11bHRpQ29sdW1uU2V0X2gK
IAorI2luY2x1ZGUgIkxheWVyRnJhZ21lbnQuaCIKICNpbmNsdWRlICJSZW5kZXJNdWx0aUNvbHVt
bkZsb3dUaHJlYWQuaCIKICNpbmNsdWRlICJSZW5kZXJSZWdpb25TZXQuaCIKICNpbmNsdWRlIDx3
dGYvVmVjdG9yLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
UmVnaW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVnaW9uLmgKaW5kZXgg
Y2FlMTJmOTgzODdhYmFiM2EwMjRlOTM4OGM2YWViNjVmNzIyOGI5YS4uYWRhZGVjYTA3NDFmNDQ1
N2EyZjc3YWIyYzEwMjdiNTU0ZmRjODQ0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclJlZ2lvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJSZWdpb24uaApAQCAtMzAsNiArMzAsNyBAQAogI2lmbmRlZiBSZW5kZXJSZWdpb25faAogI2Rl
ZmluZSBSZW5kZXJSZWdpb25faAogCisjaW5jbHVkZSAiTGF5ZXJGcmFnbWVudC5oIgogI2luY2x1
ZGUgIlJlbmRlckJsb2NrRmxvdy5oIgogI2luY2x1ZGUgIlN0eWxlSW5oZXJpdGVkRGF0YS5oIgog
I2luY2x1ZGUgIlZpc2libGVQb3NpdGlvbi5oIgpAQCAtMzcsOSArMzgsNiBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLXN0cnVjdCBMYXllckZyYWdtZW50OwotdHlwZWRlZiBWZWN0b3I8TGF5
ZXJGcmFnbWVudCwgMT4gTGF5ZXJGcmFnbWVudHM7Ci0KIGNsYXNzIEVsZW1lbnQ7CiBjbGFzcyBS
ZW5kZXJCb3g7CiBjbGFzcyBSZW5kZXJCb3hSZWdpb25JbmZvOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuY3BwCmluZGV4IDU2OTYzZDc3ZjRiNjAyMzZjNjQ1
MjE1ZTQyMmI3NjUxMjNkMDFmYjEuLjRhZDVmN2E1MDZjMTI4ZjgzZmRkNDJiMTJlM2ZlNGM4NTIz
NGE2NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUcmVlQXNU
ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5j
cHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJSZW5k
ZXJUcmVlQXNUZXh0LmgiCiAKKyNpbmNsdWRlICJDbGlwUmVjdC5oIgogI2luY2x1ZGUgIkRvY3Vt
ZW50LmgiCiAjaW5jbHVkZSAiRmxvd1RocmVhZENvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJGcmFt
ZS5oIgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>244631</attachid>
            <date>2015-01-14 13:13:35 -0800</date>
            <delta_ts>2015-01-14 13:58:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140457-20150114131341.patch</filename>
            <type>text/plain</type>
            <size>28339</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc4NDE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTQyODdkZjFkM2M0OTA3
YTdjZjc2NjkwZTc4ZDc4NTM4MDI0MDMzMS4uYzg3OGE2MzY4OWU4M2M3MjNlZjA4MmE4YWIxOTlk
MDE1ZDAxZWM2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY2IEBACisyMDE1LTAxLTE0ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgTW92ZSBMYXlvdXRGcmFnbWVu
dCBhbmQgQ2xpcFJlY3QgdG8gdGhlaXIgb3duIGZpbGVzLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwNDU3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
U2ltb24gRnJhc2VyLgorCisgICAgICAgIE1vdmUgdGhlc2UgY2xhc3NlcyB0byB0aGVpciBvd24g
ZmlsZXMgdG8gdG8gbWFrZSBSZW5kZXJMYXllci5oIGxlc3MgaGVhdnkuCisKKyAgICAgICAgTm8g
Y2hhbmdlIGluIGZ1bmN0aW9uYWxpdHkuCisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisgICAgICAgICogcmVuZGVyaW5nL0NsaXBSZWN0LmNwcDogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlOjpDbGlwUmVjdDo6aW50ZXJzZWN0cyk6CisgICAgICAgICogcmVu
ZGVyaW5nL0NsaXBSZWN0Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6Q2xpcFJlY3Q6OkNs
aXBSZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNsaXBSZWN0OjpyZWN0KToKKyAgICAgICAgKFdl
YkNvcmU6OkNsaXBSZWN0OjpzZXRSZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNsaXBSZWN0Ojph
ZmZlY3RlZEJ5UmFkaXVzKToKKyAgICAgICAgKFdlYkNvcmU6OkNsaXBSZWN0OjpzZXRBZmZlY3Rl
ZEJ5UmFkaXVzKToKKyAgICAgICAgKFdlYkNvcmU6OkNsaXBSZWN0OjpvcGVyYXRvcj09KToKKyAg
ICAgICAgKFdlYkNvcmU6OkNsaXBSZWN0OjpvcGVyYXRvciE9KToKKyAgICAgICAgKFdlYkNvcmU6
OkNsaXBSZWN0OjppbnRlcnNlY3QpOgorICAgICAgICAoV2ViQ29yZTo6Q2xpcFJlY3Q6Om1vdmUp
OgorICAgICAgICAoV2ViQ29yZTo6Q2xpcFJlY3Q6Om1vdmVCeSk6CisgICAgICAgIChXZWJDb3Jl
OjpDbGlwUmVjdDo6aXNFbXB0eSk6CisgICAgICAgIChXZWJDb3JlOjpDbGlwUmVjdDo6aW50ZXJz
ZWN0cyk6CisgICAgICAgIChXZWJDb3JlOjpDbGlwUmVjdDo6aW5mbGF0ZVgpOgorICAgICAgICAo
V2ViQ29yZTo6Q2xpcFJlY3Q6OmluZmxhdGVZKToKKyAgICAgICAgKFdlYkNvcmU6OkNsaXBSZWN0
OjppbmZsYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OmludGVyc2VjdGlvbik6CisgICAgICAgICog
cmVuZGVyaW5nL0xheWVyRnJhZ21lbnQuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXll
ckZyYWdtZW50OjpzZXRSZWN0cyk6CisgICAgICAgIChXZWJDb3JlOjpMYXllckZyYWdtZW50Ojpt
b3ZlQnkpOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJGcmFnbWVudDo6aW50ZXJzZWN0KToKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5oOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDbGlwUmVjdDo6aW50ZXJzZWN0
cyk6IERlbGV0ZWQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmg6CisgICAgICAg
IChXZWJDb3JlOjpDbGlwUmVjdDo6Q2xpcFJlY3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6Q2xpcFJlY3Q6OnJlY3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6Q2xpcFJlY3Q6
OnNldFJlY3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6Q2xpcFJlY3Q6OmFmZmVjdGVk
QnlSYWRpdXMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6Q2xpcFJlY3Q6OnNldEFmZmVj
dGVkQnlSYWRpdXMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6Q2xpcFJlY3Q6Om9wZXJh
dG9yPT0pOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6Q2xpcFJlY3Q6Om9wZXJhdG9yIT0p
OiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6Q2xpcFJlY3Q6OmludGVyc2VjdCk6IERlbGV0
ZWQuCisgICAgICAgIChXZWJDb3JlOjpDbGlwUmVjdDo6bW92ZSk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpDbGlwUmVjdDo6bW92ZUJ5KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OkNsaXBSZWN0Ojppc0VtcHR5KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNsaXBSZWN0
OjppbnRlcnNlY3RzKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNsaXBSZWN0OjppbmZs
YXRlWCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpDbGlwUmVjdDo6aW5mbGF0ZVkpOiBE
ZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6Q2xpcFJlY3Q6OmluZmxhdGUpOiBEZWxldGVkLgor
ICAgICAgICAoV2ViQ29yZTo6aW50ZXJzZWN0aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OkxheWVyRnJhZ21lbnQ6OkxheWVyRnJhZ21lbnQpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6TGF5ZXJGcmFnbWVudDo6c2V0UmVjdHMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6TGF5ZXJGcmFnbWVudDo6bW92ZUJ5KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Okxh
eWVyRnJhZ21lbnQ6OmludGVyc2VjdCk6IERlbGV0ZWQuCisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlck11bHRpQ29sdW1uU2V0Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclJlZ2lvbi5o
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcDoKKwogMjAxNS0wMS0x
NCAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAg
UkVHUkVTU0lPTihyMTc4MzY3KTogW0dTdHJlYW1lcl0gU2V2ZXJhbCBtZWRpYSB0ZXN0cyB0aW1l
IG91dCBhZnRlciByMTc4MzY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGRkYmU4MzcxOWVmZDk5
NWIzM2RlNzFkYTIxYzY3NjM4NWEyODVhMDEuLjY0Nzg2YzlkMGFlNTc4NmEzYmZmYzEwYTQ5Njg3
MjAyMTcyMzI0MjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0Cisr
KyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0yMjI4LDYgKzIyMjgsNyBAQCBz
ZXQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgcmVuZGVyaW5nL0F1dG9UYWJsZUxheW91dC5jcHAKICAg
ICByZW5kZXJpbmcvQmlkaVJ1bi5jcHAKICAgICByZW5kZXJpbmcvQm9yZGVyRWRnZS5jcHAKKyAg
ICByZW5kZXJpbmcvQ2xpcFJlY3QuY3BwCiAgICAgcmVuZGVyaW5nL0NvdW50ZXJOb2RlLmNwcAog
ICAgIHJlbmRlcmluZy9FbGxpcHNpc0JveC5jcHAKICAgICByZW5kZXJpbmcvRmlsdGVyRWZmZWN0
UmVuZGVyZXIuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ov
V2ViQ29yZS52Y3hwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUu
dmN4cHJvagppbmRleCA5NDkzNzVlMmExNWUzMmIxMDc2MWFmOTQyNDQ1MWM1MjlkOGM0ZTEzLi5m
NDc2YjUwYzRkMjBhNzQxYjI0YzA2MzZlY2Q0OTY4MDMyMGEwODEzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKQEAgLTk5MTQsNiArOTkxNCwy
MCBAQAogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlv
bil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1
aWxkPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlv
bil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWls
ZD4KICAgICA8L0NsQ29tcGlsZT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJlbmRlcmlu
Z1xDbGlwUmVjdC5jcHAiPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQo
Q29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj50cnVlPC9FeGNsdWRl
ZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZp
Z3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1
aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlv
bil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNsdWRlZEZy
b21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3Vy
YXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVk
RnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdTdWZmaXh8V2luMzInIj50cnVlPC9FeGNsdWRl
ZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZp
Z3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnU3VmZml4fHg2NCciPnRydWU8L0V4Y2x1ZGVk
RnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJv
bUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJh
dGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWls
ZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24p
fCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNsdWRlZEZy
b21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3Vy
YXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98eDY0JyI+dHJ1ZTwvRXhjbHVk
ZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25m
aWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufFdpbjMyJyI+dHJ1ZTwvRXhjbHVk
ZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25m
aWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufHg2NCciPnRydWU8L0V4Y2x1ZGVk
RnJvbUJ1aWxkPgorICAgIDwvQ2xDb21waWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5c
cmVuZGVyaW5nXENvdW50ZXJOb2RlLmNwcCI+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPnRy
dWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlv
bj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+dHJ1ZTwvRXhj
bHVkZWRGcm9tQnVpbGQ+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHBy
b2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHBy
b2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKaW5kZXggMDIxMGM5NzhmZDQ4ZWM1YzVjNTEzOGM0
MjFlYTA0NjZhZjQzN2ZhZi4uYzg2MTk0NDE1MzYxYmY1ODAxMDA5M2VjYjhiZDgxODFlY2Q4MjA3
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4
cHJvai5maWx0ZXJzCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3Jl
LnZjeHByb2ouZmlsdGVycwpAQCAtNjY2Nyw2ICs2NjY3LDkgQEAKICAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXHJlbmRlcmluZ1xGbG9hdGluZ09iamVjdHMuY3BwIj4KICAgICAgIDxGaWx0ZXI+
cmVuZGVyaW5nPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CisgICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlxyZW5kZXJpbmdcQ2xpcFJlY3QuY3BwIj4KKyAgICAgIDxGaWx0ZXI+cmVuZGVyaW5n
PC9GaWx0ZXI+CisgICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxy
ZW5kZXJpbmdcUmVuZGVyQmxvY2tGbG93LmNwcCI+CiAgICAgICA8RmlsdGVyPnJlbmRlcmluZzwv
RmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGFhNzY1ODBiNjgwZmE5ZmI1NjYyMTBlZGUy
NDM0ODYyNzc3M2U3NGQuLmMzN2NiMmVjZTYyMjNjZmY0MjU0YzYzNTZiNDI1Y2U0OTNlMTliNDEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKQEAgLTIwOTYsNiArMjA5Niw5IEBACiAJCTU3Qjc5MUE0MTRDNkE2MjkwMEYyMDJEMSAvKiBD
b250ZW50RGlzdHJpYnV0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDU3Qjc5MUEwMTRDNkE2MjkwMEYyMDJEMSAvKiBDb250ZW50RGlzdHJpYnV0b3Iu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1N0NG
NDk3NDE0RUUzNkQ3MDBFQ0ZGMTQgLyogSW5zZXJ0aW9uUG9pbnQuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTdDRjQ5NzIxNEVFMzZENzAwRUNGRjE0
IC8qIEluc2VydGlvblBvaW50LmNwcCAqLzsgfTsKIAkJNTdDRjQ5NzUxNEVFMzZENzAwRUNGRjE0
IC8qIEluc2VydGlvblBvaW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA1N0NGNDk3MzE0RUUzNkQ3MDBFQ0ZGMTQgLyogSW5zZXJ0aW9uUG9pbnQuaCAq
LzsgfTsKKwkJNTgwMzcxNjExQTY2RjAwQTAwQkFGNTE5IC8qIENsaXBSZWN0LmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU4MDM3MTVGMUE2NkYwMEEw
MEJBRjUxOSAvKiBDbGlwUmVjdC5jcHAgKi87IH07CisJCTU4MDM3MTYyMUE2NkYwMEEwMEJBRjUx
OSAvKiBDbGlwUmVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNTgwMzcxNjAxQTY2RjAwQTAwQkFGNTE5IC8qIENsaXBSZWN0LmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNTgwMzcxNjQxQTY2RjFEMzAw
QkFGNTE5IC8qIExheWVyRnJhZ21lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDU4MDM3MTYzMUE2NkYxRDMwMEJBRjUxOSAvKiBMYXllckZyYWdtZW50
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNTg1
RDZERkMxQTE1MzU1NjAwRkE0RjEyIC8qIFNpbXBsZUxpbmVMYXlvdXRSZXNvbHZlci5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1ODVENkRGQjFBMTUz
NTU2MDBGQTRGMTIgLyogU2ltcGxlTGluZUxheW91dFJlc29sdmVyLmNwcCAqLzsgfTsKIAkJNTg1
RDZFMDMxQTFBNzkyRTAwRkE0RjEyIC8qIFNpbXBsZUxpbmVMYXlvdXRGbG93Q29udGVudHMuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTg1RDZFMDEx
QTFBNzkyRTAwRkE0RjEyIC8qIFNpbXBsZUxpbmVMYXlvdXRGbG93Q29udGVudHMuY3BwICovOyB9
OwogCQk1ODVENkUwNDFBMUE3OTJFMDBGQTRGMTIgLyogU2ltcGxlTGluZUxheW91dEZsb3dDb250
ZW50cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTg1
RDZFMDIxQTFBNzkyRTAwRkE0RjEyIC8qIFNpbXBsZUxpbmVMYXlvdXRGbG93Q29udGVudHMuaCAq
LzsgfTsKQEAgLTkyMDMsNiArOTIwNiw5IEBACiAJCTU3Qjc5MUEwMTRDNkE2MjkwMEYyMDJEMSAv
KiBDb250ZW50RGlzdHJpYnV0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
Q29udGVudERpc3RyaWJ1dG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU3Q0Y0
OTcyMTRFRTM2RDcwMEVDRkYxNCAvKiBJbnNlcnRpb25Qb2ludC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbnNlcnRpb25Qb2ludC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTU3Q0Y0OTczMTRFRTM2RDcwMEVDRkYxNCAvKiBJbnNlcnRpb25Qb2lu
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNlcnRpb25Qb2ludC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1ODAzNzE1RjFBNjZGMDBBMDBCQUY1MTkgLyog
Q2xpcFJlY3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ2xpcFJl
Y3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1ODAzNzE2MDFBNjZGMDBBMDBC
QUY1MTkgLyogQ2xpcFJlY3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2xp
cFJlY3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTgwMzcxNjMxQTY2RjFEMzAw
QkFGNTE5IC8qIExheWVyRnJhZ21lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gTGF5ZXJGcmFnbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1ODVENkRG
QjFBMTUzNTU2MDBGQTRGMTIgLyogU2ltcGxlTGluZUxheW91dFJlc29sdmVyLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNpbXBsZUxpbmVMYXlvdXRSZXNvbHZlci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU4NUQ2RTAxMUExQTc5MkUwMEZBNEYx
MiAvKiBTaW1wbGVMaW5lTGF5b3V0Rmxvd0NvbnRlbnRzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFNpbXBsZUxpbmVMYXlvdXRGbG93Q29udGVudHMuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1ODVENkUwMjFBMUE3OTJFMDBGQTRGMTIgLyogU2lt
cGxlTGluZUxheW91dEZsb3dDb250ZW50cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBTaW1wbGVMaW5lTGF5b3V0Rmxvd0NvbnRlbnRzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC0yMjI0MCw2ICsyMjI0Niw5IEBACiAJCUY1MjNEMkYzMDJERTQ0M0IwMTg2MzVD
QSAvKiByZW5kZXJpbmcgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0g
KAorCQkJCTU4MDM3MTYzMUE2NkYxRDMwMEJBRjUxOSAvKiBMYXllckZyYWdtZW50LmggKi8sCisJ
CQkJNTgwMzcxNUYxQTY2RjAwQTAwQkFGNTE5IC8qIENsaXBSZWN0LmNwcCAqLywKKwkJCQk1ODAz
NzE2MDFBNjZGMDBBMDBCQUY1MTkgLyogQ2xpcFJlY3QuaCAqLywKIAkJCQlGRkI2OThDODE4MzJG
MTBCMDAxNThBMzEgLyogbGluZSAqLywKIAkJCQk0MzkwNDZDMjEyREEyNUNFMDBBRjgwQTIgLyog
bWF0aG1sICovLAogCQkJCUZEMDhBODc5MTc1RDM5MjYwMDJDRDM2MCAvKiBzaGFwZXMgKi8sCkBA
IC0yNDIwNSw2ICsyNDIxNCw3IEBACiAJCQkJQThDRkY2QkUwQTE1NjExODAwMEE0MjM0IC8qIEVs
bGlwc2lzQm94LmggaW4gSGVhZGVycyAqLywKIAkJCQlGNTVCM0RCQzEyNTFGMTJEMDAzRUYyNjkg
LyogRW1haWxJbnB1dFR5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyNTU5OUE1MEQwMEQ4QkEw
MEJCODI1QyAvKiBFbXB0eUNsaWVudHMuaCBpbiBIZWFkZXJzICovLAorCQkJCTU4MDM3MTYyMUE2
NkYwMEEwMEJBRjUxOSAvKiBDbGlwUmVjdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThFQTdFQzIw
QTE5NDVEMDAwQThFRjVGIC8qIEVudGl0eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThFQTdFQzAw
QTE5NDVEMDAwQThFRjVGIC8qIEVudGl0eVJlZmVyZW5jZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
RkQzMTYwOTMxMkIwMjZGNzAwQzFBMzU5IC8qIEVxdWFsUG93ZXJQYW5uZXIuaCBpbiBIZWFkZXJz
ICovLApAQCAtMjUxNjQsNiArMjUxNzQsNyBAQAogCQkJCUIyRkEzRTExMEFCNzVBNkYwMDBFNUFD
NCAvKiBKU1NWR1RTcGFuRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJGQTNFMTMwQUI3
NUE2RjAwMEU1QUM0IC8qIEpTU1ZHVW5pdFR5cGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkZB
M0UxNTBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdVc2VFbGVtZW50LmggaW4gSGVhZGVycyAqLywK
KwkJCQk1ODAzNzE2NDFBNjZGMUQzMDBCQUY1MTkgLyogTGF5ZXJGcmFnbWVudC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQjJGQTNFMTcwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHVmlld0VsZW1lbnQu
aCBpbiBIZWFkZXJzICovLAogCQkJCTcxMThGRUQ1MTU2ODVDQzYwMDMwQjc5QSAvKiBKU1NWR1Zp
ZXdTcGVjLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NDg1MjI3RTExOTAxNjJDMDA2RURDN0YgLyog
SlNTVkdWS2VybkVsZW1lbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMjg1MTksNiArMjg1MzAsNyBA
QAogCQkJCUJDRkUyRjExMEMxQjU4MzcwMDIwMjM1RiAvKiBKU1JlY3QuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJNDk5OEFFQ0QxM0Y5RDZDOTAwOTBCMUFBIC8qIEpTUmVxdWVzdEFuaW1hdGlvbkZy
YW1lQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDk5OEFFRDQxM0ZDNDE3RjAwOTBC
MUFBIC8qIEpTUmVxdWVzdEFuaW1hdGlvbkZyYW1lQ2FsbGJhY2tDdXN0b20uY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJNTgwMzcxNjExQTY2RjAwQTAwQkFGNTE5IC8qIENsaXBSZWN0LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUJDNzREQTQ4MTAxM0Y0NjgwMDc5ODdBRCAvKiBKU1JHQkNvbG9yLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTA3Mzc5NEU1MTlFRTJGRjIwMEU1QTA0NSAvKiBKU1JUQ0Nv
bmZpZ3VyYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDc5NjlEQUIxN0QxNDE1MTAwN0ZG
ODQyIC8qIEpTUlRDRGF0YUNoYW5uZWwuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQ2xpcFJlY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL0NsaXBSZWN0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NWI5M2EyYzBiOTI2YTc0NjU5OTdjYWU4
NDAxYzlmNTk0ZGNhNmNiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0NsaXBSZWN0LmNwcApAQCAtMCwwICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIkNsaXBSZWN0LmgiCisKKyNpbmNsdWRlICJIaXRUZXN0TG9j
YXRpb24uaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitib29sIENsaXBSZWN0OjppbnRlcnNl
Y3RzKGNvbnN0IEhpdFRlc3RMb2NhdGlvbiYgaGl0VGVzdExvY2F0aW9uKSBjb25zdAoreworICAg
IHJldHVybiBoaXRUZXN0TG9jYXRpb24uaW50ZXJzZWN0cyhtX3JlY3QpOworfQorCit9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQ2xpcFJlY3QuaCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9DbGlwUmVjdC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg1NjcyOWEyOWNiMTc0YzZkNjdi
N2VlNTI0NjA5M2UxOWQzOWMxMzcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvQ2xpcFJlY3QuaApAQCAtMCwwICsxLDg4IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRl
ZiBDbGlwUmVjdF9oCisjZGVmaW5lIENsaXBSZWN0X2gKKworI2luY2x1ZGUgIkxheW91dFJlY3Qu
aCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBIaXRUZXN0TG9jYXRpb247CisKK2Ns
YXNzIENsaXBSZWN0IHsKK3B1YmxpYzoKKyAgICBDbGlwUmVjdCgpID0gZGVmYXVsdDsKKyAgICAK
KyAgICBDbGlwUmVjdChjb25zdCBMYXlvdXRSZWN0JiByZWN0KQorICAgICAgICA6IG1fcmVjdChy
ZWN0KQorICAgIHsKKyAgICB9CisgICAgCisgICAgY29uc3QgTGF5b3V0UmVjdCYgcmVjdCgpIGNv
bnN0IHsgcmV0dXJuIG1fcmVjdDsgfQorICAgIHZvaWQgc2V0UmVjdChjb25zdCBMYXlvdXRSZWN0
JiByZWN0KSB7IG1fcmVjdCA9IHJlY3Q7IH0KKyAgICAKKyAgICBib29sIGFmZmVjdGVkQnlSYWRp
dXMoKSBjb25zdCB7IHJldHVybiBtX2FmZmVjdGVkQnlSYWRpdXM7IH0KKyAgICB2b2lkIHNldEFm
ZmVjdGVkQnlSYWRpdXMoYm9vbCBhZmZlY3RlZEJ5UmFkaXVzKSB7IG1fYWZmZWN0ZWRCeVJhZGl1
cyA9IGFmZmVjdGVkQnlSYWRpdXM7IH0KKyAgICAKKyAgICBib29sIG9wZXJhdG9yPT0oY29uc3Qg
Q2xpcFJlY3QmIG90aGVyKSBjb25zdCB7IHJldHVybiByZWN0KCkgPT0gb3RoZXIucmVjdCgpICYm
IGFmZmVjdGVkQnlSYWRpdXMoKSA9PSBvdGhlci5hZmZlY3RlZEJ5UmFkaXVzKCk7IH0KKyAgICBi
b29sIG9wZXJhdG9yIT0oY29uc3QgQ2xpcFJlY3QmIG90aGVyKSBjb25zdCB7IHJldHVybiByZWN0
KCkgIT0gb3RoZXIucmVjdCgpIHx8IGFmZmVjdGVkQnlSYWRpdXMoKSAhPSBvdGhlci5hZmZlY3Rl
ZEJ5UmFkaXVzKCk7IH0KKyAgICBib29sIG9wZXJhdG9yIT0oY29uc3QgTGF5b3V0UmVjdCYgb3Ro
ZXJSZWN0KSBjb25zdCB7IHJldHVybiByZWN0KCkgIT0gb3RoZXJSZWN0OyB9CisgICAgCisgICAg
dm9pZCBpbnRlcnNlY3QoY29uc3QgTGF5b3V0UmVjdCYgb3RoZXIpIHsgbV9yZWN0LmludGVyc2Vj
dChvdGhlcik7IH0KKyAgICB2b2lkIGludGVyc2VjdChjb25zdCBDbGlwUmVjdCYgb3RoZXIpOwor
ICAgIHZvaWQgbW92ZShMYXlvdXRVbml0IHgsIExheW91dFVuaXQgeSkgeyBtX3JlY3QubW92ZSh4
LCB5KTsgfQorICAgIHZvaWQgbW92ZShjb25zdCBMYXlvdXRTaXplJiBzaXplKSB7IG1fcmVjdC5t
b3ZlKHNpemUpOyB9CisgICAgdm9pZCBtb3ZlQnkoY29uc3QgTGF5b3V0UG9pbnQmIHBvaW50KSB7
IG1fcmVjdC5tb3ZlQnkocG9pbnQpOyB9CisgICAgCisgICAgYm9vbCBpc0VtcHR5KCkgY29uc3Qg
eyByZXR1cm4gbV9yZWN0LmlzRW1wdHkoKTsgfQorICAgIGJvb2wgaW50ZXJzZWN0cyhjb25zdCBM
YXlvdXRSZWN0JiByZWN0KSBjb25zdCB7IHJldHVybiBtX3JlY3QuaW50ZXJzZWN0cyhyZWN0KTsg
fQorICAgIGJvb2wgaW50ZXJzZWN0cyhjb25zdCBIaXRUZXN0TG9jYXRpb24mKSBjb25zdDsKKyAg
ICAKKyAgICB2b2lkIGluZmxhdGVYKExheW91dFVuaXQgZHgpIHsgbV9yZWN0LmluZmxhdGVYKGR4
KTsgfQorICAgIHZvaWQgaW5mbGF0ZVkoTGF5b3V0VW5pdCBkeSkgeyBtX3JlY3QuaW5mbGF0ZVko
ZHkpOyB9CisgICAgdm9pZCBpbmZsYXRlKExheW91dFVuaXQgZCkgeyBpbmZsYXRlWChkKTsgaW5m
bGF0ZVkoZCk7IH0KKyAgICAKK3ByaXZhdGU6CisgICAgTGF5b3V0UmVjdCBtX3JlY3Q7CisgICAg
Ym9vbCBtX2FmZmVjdGVkQnlSYWRpdXMgPSBmYWxzZTsKK307CisKK2lubGluZSB2b2lkIENsaXBS
ZWN0OjppbnRlcnNlY3QoY29uc3QgQ2xpcFJlY3QmIG90aGVyKQoreworICAgIG1fcmVjdC5pbnRl
cnNlY3Qob3RoZXIucmVjdCgpKTsKKyAgICBpZiAob3RoZXIuYWZmZWN0ZWRCeVJhZGl1cygpKQor
ICAgICAgICBtX2FmZmVjdGVkQnlSYWRpdXMgPSB0cnVlOworfQorICAgIAoraW5saW5lIENsaXBS
ZWN0IGludGVyc2VjdGlvbihjb25zdCBDbGlwUmVjdCYgYSwgY29uc3QgQ2xpcFJlY3QmIGIpCit7
CisgICAgQ2xpcFJlY3QgYyA9IGE7CisgICAgYy5pbnRlcnNlY3QoYik7CisgICAgcmV0dXJuIGM7
Cit9Cit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0xh
eWVyRnJhZ21lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9MYXllckZyYWdtZW50LmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMWJjODYyYjNlZGJlYmU2MTZiNDdlOWZmNjNhMmY3ZmRiNjFmYTFkYgotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9MYXllckZyYWdtZW50LmgK
QEAgLTAsMCArMSw4NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgTGF5ZXJGcmFnbWVudF9oCisj
ZGVmaW5lIExheWVyRnJhZ21lbnRfaAorCisjaW5jbHVkZSAiQ2xpcFJlY3QuaCIKKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitjbGFzcyBMYXllckZyYWdtZW50IHsKK3B1YmxpYzoKKyAgICBMYXll
ckZyYWdtZW50KCkgPSBkZWZhdWx0OworICAgIAorICAgIHZvaWQgc2V0UmVjdHMoY29uc3QgTGF5
b3V0UmVjdCYgYm91bmRzLCBjb25zdCBDbGlwUmVjdCYgYmFja2dyb3VuZCwgY29uc3QgQ2xpcFJl
Y3QmIGZvcmVncm91bmQsIGNvbnN0IENsaXBSZWN0JiBvdXRsaW5lLCBjb25zdCBMYXlvdXRSZWN0
KiBiYm94KQorICAgIHsKKyAgICAgICAgbGF5ZXJCb3VuZHMgPSBib3VuZHM7CisgICAgICAgIGJh
Y2tncm91bmRSZWN0ID0gYmFja2dyb3VuZDsKKyAgICAgICAgZm9yZWdyb3VuZFJlY3QgPSBmb3Jl
Z3JvdW5kOworICAgICAgICBvdXRsaW5lUmVjdCA9IG91dGxpbmU7CisgICAgICAgIGlmIChiYm94
KSB7CisgICAgICAgICAgICBib3VuZGluZ0JveCA9ICpiYm94OworICAgICAgICAgICAgaGFzQm91
bmRpbmdCb3ggPSB0cnVlOworICAgICAgICB9CisgICAgfQorICAgIAorICAgIHZvaWQgbW92ZUJ5
KGNvbnN0IExheW91dFBvaW50JiBvZmZzZXQpCisgICAgeworICAgICAgICBsYXllckJvdW5kcy5t
b3ZlQnkob2Zmc2V0KTsKKyAgICAgICAgYmFja2dyb3VuZFJlY3QubW92ZUJ5KG9mZnNldCk7Cisg
ICAgICAgIGZvcmVncm91bmRSZWN0Lm1vdmVCeShvZmZzZXQpOworICAgICAgICBvdXRsaW5lUmVj
dC5tb3ZlQnkob2Zmc2V0KTsKKyAgICAgICAgcGFnaW5hdGlvbkNsaXAubW92ZUJ5KG9mZnNldCk7
CisgICAgICAgIGJvdW5kaW5nQm94Lm1vdmVCeShvZmZzZXQpOworICAgIH0KKyAgICAKKyAgICB2
b2lkIGludGVyc2VjdChjb25zdCBMYXlvdXRSZWN0JiByZWN0KQorICAgIHsKKyAgICAgICAgYmFj
a2dyb3VuZFJlY3QuaW50ZXJzZWN0KHJlY3QpOworICAgICAgICBmb3JlZ3JvdW5kUmVjdC5pbnRl
cnNlY3QocmVjdCk7CisgICAgICAgIG91dGxpbmVSZWN0LmludGVyc2VjdChyZWN0KTsKKyAgICAg
ICAgYm91bmRpbmdCb3guaW50ZXJzZWN0KHJlY3QpOworICAgIH0KKyAgICAKKyAgICBib29sIHNo
b3VsZFBhaW50Q29udGVudCA9IGZhbHNlOworICAgIGJvb2wgaGFzQm91bmRpbmdCb3ggPSBmYWxz
ZTsKKyAgICBMYXlvdXRSZWN0IGxheWVyQm91bmRzOworICAgIENsaXBSZWN0IGJhY2tncm91bmRS
ZWN0OworICAgIENsaXBSZWN0IGZvcmVncm91bmRSZWN0OworICAgIENsaXBSZWN0IG91dGxpbmVS
ZWN0OworICAgIExheW91dFJlY3QgYm91bmRpbmdCb3g7CisgICAgCisgICAgLy8gVW5pcXVlIHRv
IHBhZ2luYXRlZCBmcmFnbWVudHMuIFRoZSBwaHlzaWNhbCB0cmFuc2xhdGlvbiB0byBhcHBseSB0
byBzaGlmdCB0aGUgbGF5ZXIgd2hlbiBwYWludGluZy9oaXQtdGVzdGluZy4KKyAgICBMYXlvdXRT
aXplIHBhZ2luYXRpb25PZmZzZXQ7CisgICAgCisgICAgLy8gQWxzbyB1bmlxdWUgdG8gcGFnaW5h
dGVkIGZyYWdtZW50cy4gQW4gYWRkaXRpb25hbCBjbGlwIHRoYXQgYXBwbGllcyB0byB0aGUgbGF5
ZXIuIEl0IGlzIGluIGxheWVyLWxvY2FsCisgICAgLy8gKHBoeXNpY2FsKSBjb29yZGluYXRlcy4K
KyAgICBMYXlvdXRSZWN0IHBhZ2luYXRpb25DbGlwOworfTsKKwordHlwZWRlZiBWZWN0b3I8TGF5
ZXJGcmFnbWVudCwgMT4gTGF5ZXJGcmFnbWVudHM7CisKK30KKworI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuaAppbmRleCA4NjNhYjVmNTRhMTlmZDEz
ZjVmMzM1MjYxNTRmYTg1NTU4MWQ2MjA1Li4yNmYxOTZkNzVmOGMxN2RhY2MwYWZkNzRkNDA0MGE5
ZGNkZmM0ZDY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxv
d1RocmVhZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFk
LmgKQEAgLTMwLDcgKzMwLDcgQEAKICNpZm5kZWYgUmVuZGVyRmxvd1RocmVhZF9oCiAjZGVmaW5l
IFJlbmRlckZsb3dUaHJlYWRfaAogCi0KKyNpbmNsdWRlICJMYXllckZyYWdtZW50LmgiCiAjaW5j
bHVkZSAiUmVuZGVyQmxvY2tGbG93LmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hDb3VudGVkU2V0Lmg+
CiAjaW5jbHVkZSA8d3RmL0xpc3RIYXNoU2V0Lmg+CkBAIC0zOSw4ICszOSw2IEBACiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIGNsYXNzIEN1cnJlbnRSZW5kZXJSZWdpb25NYWludGFpbmVyOwotc3Ry
dWN0IExheWVyRnJhZ21lbnQ7Ci10eXBlZGVmIFZlY3RvcjxMYXllckZyYWdtZW50LCAxPiBMYXll
ckZyYWdtZW50czsKIGNsYXNzIFJlbmRlckZsb3dUaHJlYWQ7CiBjbGFzcyBSZW5kZXJOYW1lZEZs
b3dGcmFnbWVudDsKIGNsYXNzIFJlbmRlclN0eWxlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllci5jcHAKaW5kZXggNjRkYzdiNDQwZmZhZWJiODIzZmIzZjI4Njc0MjMzNDdjYzE0
NzVmNC4uY2M0YWQyZDAzN2U3ZTU1MTA0OGFkYTBiNTllM2M0MDkyM2YzMzkzMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC0xMzMsMTEgKzEzMyw2IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIAotYm9vbCBD
bGlwUmVjdDo6aW50ZXJzZWN0cyhjb25zdCBIaXRUZXN0TG9jYXRpb24mIGhpdFRlc3RMb2NhdGlv
bikgY29uc3QKLXsKLSAgICByZXR1cm4gaGl0VGVzdExvY2F0aW9uLmludGVyc2VjdHMobV9yZWN0
KTsKLX0KLQogdm9pZCBtYWtlTWF0cml4UmVuZGVyYWJsZShUcmFuc2Zvcm1hdGlvbk1hdHJpeCYg
bWF0cml4LCBib29sIGhhczNEUmVuZGVyaW5nKQogewogI2lmICFFTkFCTEUoM0RfUkVOREVSSU5H
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAppbmRleCAwMjc1Mjg4ZTUwYjgw
OGNmMWM0MjU3ZDIxZmQ3MmExNDZiZjRhMTRkLi40MDVjMGVlNGQzOTgxNDhkMjY2MmI0MWQ4Zjkw
ZmY5NTk4ODg4OWI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaApAQCAt
NDQsNyArNDQsOSBAQAogI2lmbmRlZiBSZW5kZXJMYXllcl9oCiAjZGVmaW5lIFJlbmRlckxheWVy
X2gKIAorI2luY2x1ZGUgIkNsaXBSZWN0LmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NMYXllci5oIgor
I2luY2x1ZGUgIkxheWVyRnJhZ21lbnQuaCIKICNpbmNsdWRlICJQYWludEluZm8uaCIKICNpbmNs
dWRlICJSZW5kZXJCb3guaCIKICNpbmNsdWRlICJSZW5kZXJQdHIuaCIKQEAgLTgxLDYwICs4Myw2
IEBAIGVudW0gUmVwYWludFN0YXR1cyB7CiAgICAgTmVlZHNGdWxsUmVwYWludEZvclBvc2l0aW9u
ZWRNb3ZlbWVudExheW91dAogfTsKIAotY2xhc3MgQ2xpcFJlY3QgewotcHVibGljOgotICAgIENs
aXBSZWN0KCkKLSAgICAgICAgOiBtX2FmZmVjdGVkQnlSYWRpdXMoZmFsc2UpCi0gICAgewotICAg
IH0KLSAgICAKLSAgICBDbGlwUmVjdChjb25zdCBMYXlvdXRSZWN0JiByZWN0KQotICAgICAgICA6
IG1fcmVjdChyZWN0KQotICAgICAgICAsIG1fYWZmZWN0ZWRCeVJhZGl1cyhmYWxzZSkKLSAgICB7
Ci0gICAgfQotICAgIAotICAgIGNvbnN0IExheW91dFJlY3QmIHJlY3QoKSBjb25zdCB7IHJldHVy
biBtX3JlY3Q7IH0KLSAgICB2b2lkIHNldFJlY3QoY29uc3QgTGF5b3V0UmVjdCYgcmVjdCkgeyBt
X3JlY3QgPSByZWN0OyB9Ci0KLSAgICBib29sIGFmZmVjdGVkQnlSYWRpdXMoKSBjb25zdCB7IHJl
dHVybiBtX2FmZmVjdGVkQnlSYWRpdXM7IH0KLSAgICB2b2lkIHNldEFmZmVjdGVkQnlSYWRpdXMo
Ym9vbCBhZmZlY3RlZEJ5UmFkaXVzKSB7IG1fYWZmZWN0ZWRCeVJhZGl1cyA9IGFmZmVjdGVkQnlS
YWRpdXM7IH0KLQotICAgIGJvb2wgb3BlcmF0b3I9PShjb25zdCBDbGlwUmVjdCYgb3RoZXIpIGNv
bnN0IHsgcmV0dXJuIHJlY3QoKSA9PSBvdGhlci5yZWN0KCkgJiYgYWZmZWN0ZWRCeVJhZGl1cygp
ID09IG90aGVyLmFmZmVjdGVkQnlSYWRpdXMoKTsgfQotICAgIGJvb2wgb3BlcmF0b3IhPShjb25z
dCBDbGlwUmVjdCYgb3RoZXIpIGNvbnN0IHsgcmV0dXJuIHJlY3QoKSAhPSBvdGhlci5yZWN0KCkg
fHwgYWZmZWN0ZWRCeVJhZGl1cygpICE9IG90aGVyLmFmZmVjdGVkQnlSYWRpdXMoKTsgfQotICAg
IGJvb2wgb3BlcmF0b3IhPShjb25zdCBMYXlvdXRSZWN0JiBvdGhlclJlY3QpIGNvbnN0IHsgcmV0
dXJuIHJlY3QoKSAhPSBvdGhlclJlY3Q7IH0KLQotICAgIHZvaWQgaW50ZXJzZWN0KGNvbnN0IExh
eW91dFJlY3QmIG90aGVyKSB7IG1fcmVjdC5pbnRlcnNlY3Qob3RoZXIpOyB9Ci0gICAgdm9pZCBp
bnRlcnNlY3QoY29uc3QgQ2xpcFJlY3QmIG90aGVyKQotICAgIHsKLSAgICAgICAgbV9yZWN0Lmlu
dGVyc2VjdChvdGhlci5yZWN0KCkpOwotICAgICAgICBpZiAob3RoZXIuYWZmZWN0ZWRCeVJhZGl1
cygpKQotICAgICAgICAgICAgbV9hZmZlY3RlZEJ5UmFkaXVzID0gdHJ1ZTsKLSAgICB9Ci0gICAg
dm9pZCBtb3ZlKExheW91dFVuaXQgeCwgTGF5b3V0VW5pdCB5KSB7IG1fcmVjdC5tb3ZlKHgsIHkp
OyB9Ci0gICAgdm9pZCBtb3ZlKGNvbnN0IExheW91dFNpemUmIHNpemUpIHsgbV9yZWN0Lm1vdmUo
c2l6ZSk7IH0KLSAgICB2b2lkIG1vdmVCeShjb25zdCBMYXlvdXRQb2ludCYgcG9pbnQpIHsgbV9y
ZWN0Lm1vdmVCeShwb2ludCk7IH0KLQotICAgIGJvb2wgaXNFbXB0eSgpIGNvbnN0IHsgcmV0dXJu
IG1fcmVjdC5pc0VtcHR5KCk7IH0KLSAgICBib29sIGludGVyc2VjdHMoY29uc3QgTGF5b3V0UmVj
dCYgcmVjdCkgY29uc3QgeyByZXR1cm4gbV9yZWN0LmludGVyc2VjdHMocmVjdCk7IH0KLSAgICBi
b29sIGludGVyc2VjdHMoY29uc3QgSGl0VGVzdExvY2F0aW9uJikgY29uc3Q7Ci0KLSAgICB2b2lk
IGluZmxhdGVYKExheW91dFVuaXQgZHgpIHsgbV9yZWN0LmluZmxhdGVYKGR4KTsgfQotICAgIHZv
aWQgaW5mbGF0ZVkoTGF5b3V0VW5pdCBkeSkgeyBtX3JlY3QuaW5mbGF0ZVkoZHkpOyB9Ci0gICAg
dm9pZCBpbmZsYXRlKExheW91dFVuaXQgZCkgeyBpbmZsYXRlWChkKTsgaW5mbGF0ZVkoZCk7IH0K
LQotcHJpdmF0ZToKLSAgICBMYXlvdXRSZWN0IG1fcmVjdDsKLSAgICBib29sIG1fYWZmZWN0ZWRC
eVJhZGl1czsKLX07Ci0KLWlubGluZSBDbGlwUmVjdCBpbnRlcnNlY3Rpb24oY29uc3QgQ2xpcFJl
Y3QmIGEsIGNvbnN0IENsaXBSZWN0JiBiKQotewotICAgIENsaXBSZWN0IGMgPSBhOwotICAgIGMu
aW50ZXJzZWN0KGIpOwotICAgIHJldHVybiBjOwotfQotCiBjbGFzcyBDbGlwUmVjdHMgewogICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgpAQCAtMjc2LDYxICsyMjQsNiBAQCBw
cml2YXRlOgogICAgIFJlZlB0cjxDbGlwUmVjdHM+IG1fY2xpcFJlY3RzW051bUNhY2hlZENsaXBS
ZWN0c1R5cGVzICogMl07CiB9OwogCi1zdHJ1Y3QgTGF5ZXJGcmFnbWVudCB7Ci1wdWJsaWM6Ci0g
ICAgTGF5ZXJGcmFnbWVudCgpCi0gICAgICAgIDogc2hvdWxkUGFpbnRDb250ZW50KGZhbHNlKQot
ICAgICAgICAsIGhhc0JvdW5kaW5nQm94KGZhbHNlKQotICAgIHsgfQotCi0gICAgdm9pZCBzZXRS
ZWN0cyhjb25zdCBMYXlvdXRSZWN0JiBib3VuZHMsIGNvbnN0IENsaXBSZWN0JiBiYWNrZ3JvdW5k
LCBjb25zdCBDbGlwUmVjdCYgZm9yZWdyb3VuZCwgY29uc3QgQ2xpcFJlY3QmIG91dGxpbmUsIGNv
bnN0IExheW91dFJlY3QqIGJib3gpCi0gICAgewotICAgICAgICBsYXllckJvdW5kcyA9IGJvdW5k
czsKLSAgICAgICAgYmFja2dyb3VuZFJlY3QgPSBiYWNrZ3JvdW5kOwotICAgICAgICBmb3JlZ3Jv
dW5kUmVjdCA9IGZvcmVncm91bmQ7Ci0gICAgICAgIG91dGxpbmVSZWN0ID0gb3V0bGluZTsKLSAg
ICAgICAgaWYgKGJib3gpIHsKLSAgICAgICAgICAgIGJvdW5kaW5nQm94ID0gKmJib3g7Ci0gICAg
ICAgICAgICBoYXNCb3VuZGluZ0JveCA9IHRydWU7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgCi0g
ICAgdm9pZCBtb3ZlQnkoY29uc3QgTGF5b3V0UG9pbnQmIG9mZnNldCkKLSAgICB7Ci0gICAgICAg
IGxheWVyQm91bmRzLm1vdmVCeShvZmZzZXQpOwotICAgICAgICBiYWNrZ3JvdW5kUmVjdC5tb3Zl
Qnkob2Zmc2V0KTsKLSAgICAgICAgZm9yZWdyb3VuZFJlY3QubW92ZUJ5KG9mZnNldCk7Ci0gICAg
ICAgIG91dGxpbmVSZWN0Lm1vdmVCeShvZmZzZXQpOwotICAgICAgICBwYWdpbmF0aW9uQ2xpcC5t
b3ZlQnkob2Zmc2V0KTsKLSAgICAgICAgYm91bmRpbmdCb3gubW92ZUJ5KG9mZnNldCk7Ci0gICAg
fQotICAgIAotICAgIHZvaWQgaW50ZXJzZWN0KGNvbnN0IExheW91dFJlY3QmIHJlY3QpCi0gICAg
ewotICAgICAgICBiYWNrZ3JvdW5kUmVjdC5pbnRlcnNlY3QocmVjdCk7Ci0gICAgICAgIGZvcmVn
cm91bmRSZWN0LmludGVyc2VjdChyZWN0KTsKLSAgICAgICAgb3V0bGluZVJlY3QuaW50ZXJzZWN0
KHJlY3QpOwotICAgICAgICBib3VuZGluZ0JveC5pbnRlcnNlY3QocmVjdCk7Ci0gICAgfQotICAg
IAotICAgIGJvb2wgc2hvdWxkUGFpbnRDb250ZW50OwotICAgIGJvb2wgaGFzQm91bmRpbmdCb3g7
Ci0gICAgTGF5b3V0UmVjdCBsYXllckJvdW5kczsKLSAgICBDbGlwUmVjdCBiYWNrZ3JvdW5kUmVj
dDsKLSAgICBDbGlwUmVjdCBmb3JlZ3JvdW5kUmVjdDsKLSAgICBDbGlwUmVjdCBvdXRsaW5lUmVj
dDsKLSAgICBMYXlvdXRSZWN0IGJvdW5kaW5nQm94OwotICAgIAotICAgIC8vIFVuaXF1ZSB0byBw
YWdpbmF0ZWQgZnJhZ21lbnRzLiBUaGUgcGh5c2ljYWwgdHJhbnNsYXRpb24gdG8gYXBwbHkgdG8g
c2hpZnQgdGhlIGxheWVyIHdoZW4gcGFpbnRpbmcvaGl0LXRlc3RpbmcuCi0gICAgTGF5b3V0U2l6
ZSBwYWdpbmF0aW9uT2Zmc2V0OwotICAgIAotICAgIC8vIEFsc28gdW5pcXVlIHRvIHBhZ2luYXRl
ZCBmcmFnbWVudHMuIEFuIGFkZGl0aW9uYWwgY2xpcCB0aGF0IGFwcGxpZXMgdG8gdGhlIGxheWVy
LiBJdCBpcyBpbiBsYXllci1sb2NhbAotICAgIC8vIChwaHlzaWNhbCkgY29vcmRpbmF0ZXMuCi0g
ICAgTGF5b3V0UmVjdCBwYWdpbmF0aW9uQ2xpcDsKLX07Ci0KLXR5cGVkZWYgVmVjdG9yPExheWVy
RnJhZ21lbnQsIDE+IExheWVyRnJhZ21lbnRzOwotCiBjbGFzcyBSZW5kZXJMYXllciBmaW5hbCA6
IHB1YmxpYyBTY3JvbGxhYmxlQXJlYSB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlD
b2x1bW5TZXQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNl
dC5oCmluZGV4IDk2MjE2OTc1OTc2ZTcyYzkwOGFjYmI2OTA5ZjIxMDRiMGE2OWU5ZWUuLjk5MDgy
YzAzOWM2NTBiMDdlZGIxYjA0NTMwNTAxMDQ0MWY2MTVkYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNldC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNldC5oCkBAIC0yNyw2ICsyNyw3IEBACiAj
aWZuZGVmIFJlbmRlck11bHRpQ29sdW1uU2V0X2gKICNkZWZpbmUgUmVuZGVyTXVsdGlDb2x1bW5T
ZXRfaAogCisjaW5jbHVkZSAiTGF5ZXJGcmFnbWVudC5oIgogI2luY2x1ZGUgIlJlbmRlck11bHRp
Q29sdW1uRmxvd1RocmVhZC5oIgogI2luY2x1ZGUgIlJlbmRlclJlZ2lvblNldC5oIgogI2luY2x1
ZGUgPHd0Zi9WZWN0b3IuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJSZWdpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZWdpb24uaApp
bmRleCBjYWUxMmY5ODM4N2FiYWIzYTAyNGU5Mzg4YzZhZWI2NWY3MjI4YjlhLi5hZGFkZWNhMDc0
MWY0NDU3YTJmNzdhYjJjMTAyN2I1NTRmZGM4NDQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyUmVnaW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclJlZ2lvbi5oCkBAIC0zMCw2ICszMCw3IEBACiAjaWZuZGVmIFJlbmRlclJlZ2lvbl9o
CiAjZGVmaW5lIFJlbmRlclJlZ2lvbl9oCiAKKyNpbmNsdWRlICJMYXllckZyYWdtZW50LmgiCiAj
aW5jbHVkZSAiUmVuZGVyQmxvY2tGbG93LmgiCiAjaW5jbHVkZSAiU3R5bGVJbmhlcml0ZWREYXRh
LmgiCiAjaW5jbHVkZSAiVmlzaWJsZVBvc2l0aW9uLmgiCkBAIC0zNyw5ICszOCw2IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotc3RydWN0IExheWVyRnJhZ21lbnQ7Ci10eXBlZGVmIFZlY3Rv
cjxMYXllckZyYWdtZW50LCAxPiBMYXllckZyYWdtZW50czsKLQogY2xhc3MgRWxlbWVudDsKIGNs
YXNzIFJlbmRlckJveDsKIGNsYXNzIFJlbmRlckJveFJlZ2lvbkluZm87CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHAKaW5kZXggNTY5NjNkNzdmNGI2MDIz
NmM2NDUyMTVlNDIyYjc2NTEyM2QwMWZiMS4uNGFkNWY3YTUwNmMxMjhmODNmZGQ0MmIxMmUzZmU0
Yzg1MjM0YTY1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRy
ZWVBc1RleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUcmVlQXNU
ZXh0LmNwcApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUg
IlJlbmRlclRyZWVBc1RleHQuaCIKIAorI2luY2x1ZGUgIkNsaXBSZWN0LmgiCiAjaW5jbHVkZSAi
RG9jdW1lbnQuaCIKICNpbmNsdWRlICJGbG93VGhyZWFkQ29udHJvbGxlci5oIgogI2luY2x1ZGUg
IkZyYW1lLmgiCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>244636</attachid>
            <date>2015-01-14 13:58:15 -0800</date>
            <delta_ts>2015-01-14 19:04:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140457-20150114135821.patch</filename>
            <type>text/plain</type>
            <size>26895</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc4NDE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTQyODdkZjFkM2M0OTA3
YTdjZjc2NjkwZTc4ZDc4NTM4MDI0MDMzMS4uYzg3OGE2MzY4OWU4M2M3MjNlZjA4MmE4YWIxOTlk
MDE1ZDAxZWM2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY2IEBACisyMDE1LTAxLTE0ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgTW92ZSBMYXlvdXRGcmFnbWVu
dCBhbmQgQ2xpcFJlY3QgdG8gdGhlaXIgb3duIGZpbGVzLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwNDU3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
U2ltb24gRnJhc2VyLgorCisgICAgICAgIE1vdmUgdGhlc2UgY2xhc3NlcyB0byB0aGVpciBvd24g
ZmlsZXMgdG8gdG8gbWFrZSBSZW5kZXJMYXllci5oIGxlc3MgaGVhdnkuCisKKyAgICAgICAgTm8g
Y2hhbmdlIGluIGZ1bmN0aW9uYWxpdHkuCisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisgICAgICAgICogcmVuZGVyaW5nL0NsaXBSZWN0LmNwcDogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlOjpDbGlwUmVjdDo6aW50ZXJzZWN0cyk6CisgICAgICAgICogcmVu
ZGVyaW5nL0NsaXBSZWN0Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6Q2xpcFJlY3Q6OkNs
aXBSZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNsaXBSZWN0OjpyZWN0KToKKyAgICAgICAgKFdl
YkNvcmU6OkNsaXBSZWN0OjpzZXRSZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNsaXBSZWN0Ojph
ZmZlY3RlZEJ5UmFkaXVzKToKKyAgICAgICAgKFdlYkNvcmU6OkNsaXBSZWN0OjpzZXRBZmZlY3Rl
ZEJ5UmFkaXVzKToKKyAgICAgICAgKFdlYkNvcmU6OkNsaXBSZWN0OjpvcGVyYXRvcj09KToKKyAg
ICAgICAgKFdlYkNvcmU6OkNsaXBSZWN0OjpvcGVyYXRvciE9KToKKyAgICAgICAgKFdlYkNvcmU6
OkNsaXBSZWN0OjppbnRlcnNlY3QpOgorICAgICAgICAoV2ViQ29yZTo6Q2xpcFJlY3Q6Om1vdmUp
OgorICAgICAgICAoV2ViQ29yZTo6Q2xpcFJlY3Q6Om1vdmVCeSk6CisgICAgICAgIChXZWJDb3Jl
OjpDbGlwUmVjdDo6aXNFbXB0eSk6CisgICAgICAgIChXZWJDb3JlOjpDbGlwUmVjdDo6aW50ZXJz
ZWN0cyk6CisgICAgICAgIChXZWJDb3JlOjpDbGlwUmVjdDo6aW5mbGF0ZVgpOgorICAgICAgICAo
V2ViQ29yZTo6Q2xpcFJlY3Q6OmluZmxhdGVZKToKKyAgICAgICAgKFdlYkNvcmU6OkNsaXBSZWN0
OjppbmZsYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OmludGVyc2VjdGlvbik6CisgICAgICAgICog
cmVuZGVyaW5nL0xheWVyRnJhZ21lbnQuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXll
ckZyYWdtZW50OjpzZXRSZWN0cyk6CisgICAgICAgIChXZWJDb3JlOjpMYXllckZyYWdtZW50Ojpt
b3ZlQnkpOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJGcmFnbWVudDo6aW50ZXJzZWN0KToKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5oOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDbGlwUmVjdDo6aW50ZXJzZWN0
cyk6IERlbGV0ZWQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmg6CisgICAgICAg
IChXZWJDb3JlOjpDbGlwUmVjdDo6Q2xpcFJlY3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6Q2xpcFJlY3Q6OnJlY3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6Q2xpcFJlY3Q6
OnNldFJlY3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6Q2xpcFJlY3Q6OmFmZmVjdGVk
QnlSYWRpdXMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6Q2xpcFJlY3Q6OnNldEFmZmVj
dGVkQnlSYWRpdXMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6Q2xpcFJlY3Q6Om9wZXJh
dG9yPT0pOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6Q2xpcFJlY3Q6Om9wZXJhdG9yIT0p
OiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6Q2xpcFJlY3Q6OmludGVyc2VjdCk6IERlbGV0
ZWQuCisgICAgICAgIChXZWJDb3JlOjpDbGlwUmVjdDo6bW92ZSk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpDbGlwUmVjdDo6bW92ZUJ5KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OkNsaXBSZWN0Ojppc0VtcHR5KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNsaXBSZWN0
OjppbnRlcnNlY3RzKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNsaXBSZWN0OjppbmZs
YXRlWCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpDbGlwUmVjdDo6aW5mbGF0ZVkpOiBE
ZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6Q2xpcFJlY3Q6OmluZmxhdGUpOiBEZWxldGVkLgor
ICAgICAgICAoV2ViQ29yZTo6aW50ZXJzZWN0aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OkxheWVyRnJhZ21lbnQ6OkxheWVyRnJhZ21lbnQpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6TGF5ZXJGcmFnbWVudDo6c2V0UmVjdHMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6TGF5ZXJGcmFnbWVudDo6bW92ZUJ5KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Okxh
eWVyRnJhZ21lbnQ6OmludGVyc2VjdCk6IERlbGV0ZWQuCisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlck11bHRpQ29sdW1uU2V0Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclJlZ2lvbi5o
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcDoKKwogMjAxNS0wMS0x
NCAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAg
UkVHUkVTU0lPTihyMTc4MzY3KTogW0dTdHJlYW1lcl0gU2V2ZXJhbCBtZWRpYSB0ZXN0cyB0aW1l
IG91dCBhZnRlciByMTc4MzY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGRkYmU4MzcxOWVmZDk5
NWIzM2RlNzFkYTIxYzY3NjM4NWEyODVhMDEuLjY0Nzg2YzlkMGFlNTc4NmEzYmZmYzEwYTQ5Njg3
MjAyMTcyMzI0MjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0Cisr
KyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0yMjI4LDYgKzIyMjgsNyBAQCBz
ZXQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgcmVuZGVyaW5nL0F1dG9UYWJsZUxheW91dC5jcHAKICAg
ICByZW5kZXJpbmcvQmlkaVJ1bi5jcHAKICAgICByZW5kZXJpbmcvQm9yZGVyRWRnZS5jcHAKKyAg
ICByZW5kZXJpbmcvQ2xpcFJlY3QuY3BwCiAgICAgcmVuZGVyaW5nL0NvdW50ZXJOb2RlLmNwcAog
ICAgIHJlbmRlcmluZy9FbGxpcHNpc0JveC5jcHAKICAgICByZW5kZXJpbmcvRmlsdGVyRWZmZWN0
UmVuZGVyZXIuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ov
V2ViQ29yZS52Y3hwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUu
dmN4cHJvagppbmRleCA5NDkzNzVlMmExNWUzMmIxMDc2MWFmOTQyNDQ1MWM1MjlkOGM0ZTEzLi5l
ZmY0YjMzMzAxYTQ4MmUzODU4ZGMyYjQ4YjYwZTM3M2VhODJiNzYxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKQEAgLTExNDg2LDYgKzExNDg2
LDcgQEAKICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21C
dWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVp
bGQ+CiAgICAgPC9DbENvbXBpbGU+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxyZW5kZXJp
bmdcQ2xpcFJlY3QuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccmVuZGVyaW5n
XFNlbGVjdGlvblN1YnRyZWVSb290LmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4u
XHJlbmRlcmluZ1xTaW1wbGVMaW5lTGF5b3V0LmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1
ZGU9Ii4uXHJlbmRlcmluZ1xTaW1wbGVMaW5lTGF5b3V0Rmxvd0NvbnRlbnRzLmNwcCIgLz4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ou
ZmlsdGVycyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ou
ZmlsdGVycwppbmRleCAwMjEwYzk3OGZkNDhlYzVjNWM1MTM4YzQyMWVhMDQ2NmFmNDM3ZmFmLi5j
ODYxOTQ0MTUzNjFiZjU4MDEwMDkzZWNiOGJkODE4MWVjZDgyMDc1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKKysrIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCkBA
IC02NjY3LDYgKzY2NjcsOSBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccmVuZGVyaW5n
XEZsb2F0aW5nT2JqZWN0cy5jcHAiPgogICAgICAgPEZpbHRlcj5yZW5kZXJpbmc8L0ZpbHRlcj4K
ICAgICA8L0NsQ29tcGlsZT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJlbmRlcmluZ1xD
bGlwUmVjdC5jcHAiPgorICAgICAgPEZpbHRlcj5yZW5kZXJpbmc8L0ZpbHRlcj4KKyAgICA8L0Ns
Q29tcGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJlbmRlcmluZ1xSZW5kZXJCbG9j
a0Zsb3cuY3BwIj4KICAgICAgIDxGaWx0ZXI+cmVuZGVyaW5nPC9GaWx0ZXI+CiAgICAgPC9DbENv
bXBpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKaW5kZXggYWE3NjU4MGI2ODBmYTlmYjU2NjIxMGVkZTI0MzQ4NjI3NzczZTc0ZC4uYzM3
Y2IyZWNlNjIyM2NmZjQyNTRjNjM1NmI0MjVjZTQ5M2UxOWI0MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjA5Niw2ICsyMDk2
LDkgQEAKIAkJNTdCNzkxQTQxNEM2QTYyOTAwRjIwMkQxIC8qIENvbnRlbnREaXN0cmlidXRvci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTdCNzkxQTAx
NEM2QTYyOTAwRjIwMkQxIC8qIENvbnRlbnREaXN0cmlidXRvci5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTU3Q0Y0OTc0MTRFRTM2RDcwMEVDRkYx
NCAvKiBJbnNlcnRpb25Qb2ludC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA1N0NGNDk3MjE0RUUzNkQ3MDBFQ0ZGMTQgLyogSW5zZXJ0aW9uUG9pbnQu
Y3BwICovOyB9OwogCQk1N0NGNDk3NTE0RUUzNkQ3MDBFQ0ZGMTQgLyogSW5zZXJ0aW9uUG9pbnQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3Q0Y0OTcz
MTRFRTM2RDcwMEVDRkYxNCAvKiBJbnNlcnRpb25Qb2ludC5oICovOyB9OworCQk1ODAzNzE2MTFB
NjZGMDBBMDBCQUY1MTkgLyogQ2xpcFJlY3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNTgwMzcxNUYxQTY2RjAwQTAwQkFGNTE5IC8qIENsaXBSZWN0
LmNwcCAqLzsgfTsKKwkJNTgwMzcxNjIxQTY2RjAwQTAwQkFGNTE5IC8qIENsaXBSZWN0LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1ODAzNzE2MDFBNjZG
MDBBMDBCQUY1MTkgLyogQ2xpcFJlY3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OworCQk1ODAzNzE2NDFBNjZGMUQzMDBCQUY1MTkgLyogTGF5ZXJGcmFn
bWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTgw
MzcxNjMxQTY2RjFEMzAwQkFGNTE5IC8qIExheWVyRnJhZ21lbnQuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1ODVENkRGQzFBMTUzNTU2MDBGQTRG
MTIgLyogU2ltcGxlTGluZUxheW91dFJlc29sdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU4NUQ2REZCMUExNTM1NTYwMEZBNEYxMiAvKiBTaW1w
bGVMaW5lTGF5b3V0UmVzb2x2ZXIuY3BwICovOyB9OwogCQk1ODVENkUwMzFBMUE3OTJFMDBGQTRG
MTIgLyogU2ltcGxlTGluZUxheW91dEZsb3dDb250ZW50cy5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1ODVENkUwMTFBMUE3OTJFMDBGQTRGMTIgLyog
U2ltcGxlTGluZUxheW91dEZsb3dDb250ZW50cy5jcHAgKi87IH07CiAJCTU4NUQ2RTA0MUExQTc5
MkUwMEZBNEYxMiAvKiBTaW1wbGVMaW5lTGF5b3V0Rmxvd0NvbnRlbnRzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1ODVENkUwMjFBMUE3OTJFMDBGQTRG
MTIgLyogU2ltcGxlTGluZUxheW91dEZsb3dDb250ZW50cy5oICovOyB9OwpAQCAtOTIwMyw2ICs5
MjA2LDkgQEAKIAkJNTdCNzkxQTAxNEM2QTYyOTAwRjIwMkQxIC8qIENvbnRlbnREaXN0cmlidXRv
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb250ZW50RGlzdHJpYnV0b3Iu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTdDRjQ5NzIxNEVFMzZENzAwRUNGRjE0
IC8qIEluc2VydGlvblBvaW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEluc2VydGlvblBvaW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTdD
RjQ5NzMxNEVFMzZENzAwRUNGRjE0IC8qIEluc2VydGlvblBvaW50LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEluc2VydGlvblBvaW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTU4MDM3MTVGMUE2NkYwMEEwMEJBRjUxOSAvKiBDbGlwUmVjdC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDbGlwUmVjdC5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTU4MDM3MTYwMUE2NkYwMEEwMEJBRjUxOSAvKiBDbGlwUmVjdC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDbGlwUmVjdC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk1ODAzNzE2MzFBNjZGMUQzMDBCQUY1MTkgLyogTGF5ZXJGcmFn
bWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMYXllckZyYWdtZW50Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU4NUQ2REZCMUExNTM1NTYwMEZBNEYxMiAv
KiBTaW1wbGVMaW5lTGF5b3V0UmVzb2x2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gU2ltcGxlTGluZUxheW91dFJlc29sdmVyLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNTg1RDZFMDExQTFBNzkyRTAwRkE0RjEyIC8qIFNpbXBsZUxpbmVMYXlv
dXRGbG93Q29udGVudHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
U2ltcGxlTGluZUxheW91dEZsb3dDb250ZW50cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTU4NUQ2RTAyMUExQTc5MkUwMEZBNEYxMiAvKiBTaW1wbGVMaW5lTGF5b3V0Rmxvd0Nv
bnRlbnRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNpbXBsZUxpbmVMYXlv
dXRGbG93Q29udGVudHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIyMjQwLDYg
KzIyMjQ2LDkgQEAKIAkJRjUyM0QyRjMwMkRFNDQzQjAxODYzNUNBIC8qIHJlbmRlcmluZyAqLyA9
IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJNTgwMzcxNjMxQTY2
RjFEMzAwQkFGNTE5IC8qIExheWVyRnJhZ21lbnQuaCAqLywKKwkJCQk1ODAzNzE1RjFBNjZGMDBB
MDBCQUY1MTkgLyogQ2xpcFJlY3QuY3BwICovLAorCQkJCTU4MDM3MTYwMUE2NkYwMEEwMEJBRjUx
OSAvKiBDbGlwUmVjdC5oICovLAogCQkJCUZGQjY5OEM4MTgzMkYxMEIwMDE1OEEzMSAvKiBsaW5l
ICovLAogCQkJCTQzOTA0NkMyMTJEQTI1Q0UwMEFGODBBMiAvKiBtYXRobWwgKi8sCiAJCQkJRkQw
OEE4NzkxNzVEMzkyNjAwMkNEMzYwIC8qIHNoYXBlcyAqLywKQEAgLTI0MjA1LDYgKzI0MjE0LDcg
QEAKIAkJCQlBOENGRjZCRTBBMTU2MTE4MDAwQTQyMzQgLyogRWxsaXBzaXNCb3guaCBpbiBIZWFk
ZXJzICovLAogCQkJCUY1NUIzREJDMTI1MUYxMkQwMDNFRjI2OSAvKiBFbWFpbElucHV0VHlwZS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQjI1NTk5QTUwRDAwRDhCQTAwQkI4MjVDIC8qIEVtcHR5Q2xp
ZW50cy5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTgwMzcxNjIxQTY2RjAwQTAwQkFGNTE5IC8qIENs
aXBSZWN0LmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEVBN0VDMjBBMTk0NUQwMDBBOEVGNUYgLyog
RW50aXR5LmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEVBN0VDMDBBMTk0NUQwMDBBOEVGNUYgLyog
RW50aXR5UmVmZXJlbmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlGRDMxNjA5MzEyQjAyNkY3MDBD
MUEzNTkgLyogRXF1YWxQb3dlclBhbm5lci5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNTE2NCw2ICsy
NTE3NCw3IEBACiAJCQkJQjJGQTNFMTEwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHVFNwYW5FbGVt
ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkZBM0UxMzBBQjc1QTZGMDAwRTVBQzQgLyogSlNT
VkdVbml0VHlwZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyRkEzRTE1MEFCNzVBNkYwMDBFNUFD
NCAvKiBKU1NWR1VzZUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTU4MDM3MTY0MUE2NkYx
RDMwMEJBRjUxOSAvKiBMYXllckZyYWdtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkZBM0Ux
NzBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdWaWV3RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNzExOEZFRDUxNTY4NUNDNjAwMzBCNzlBIC8qIEpTU1ZHVmlld1NwZWMuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTg0ODUyMjdFMTE5MDE2MkMwMDZFREM3RiAvKiBKU1NWR1ZLZXJuRWxlbWVudC5o
IGluIEhlYWRlcnMgKi8sCkBAIC0yODUxOSw2ICsyODUzMCw3IEBACiAJCQkJQkNGRTJGMTEwQzFC
NTgzNzAwMjAyMzVGIC8qIEpTUmVjdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0OTk4QUVDRDEz
RjlENkM5MDA5MEIxQUEgLyogSlNSZXF1ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFjay5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk0OTk4QUVENDEzRkM0MTdGMDA5MEIxQUEgLyogSlNSZXF1ZXN0QW5p
bWF0aW9uRnJhbWVDYWxsYmFja0N1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk1ODAzNzE2
MTFBNjZGMDBBMDBCQUY1MTkgLyogQ2xpcFJlY3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM3
NERBNDgxMDEzRjQ2ODAwNzk4N0FEIC8qIEpTUkdCQ29sb3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMDczNzk0RTUxOUVFMkZGMjAwRTVBMDQ1IC8qIEpTUlRDQ29uZmlndXJhdGlvbi5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQkwNzk2OURBQjE3RDE0MTUxMDA3RkY4NDIgLyogSlNSVENEYXRhQ2hh
bm5lbC5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9DbGlwUmVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQ2xpcFJlY3QuY3Bw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY1YjkzYTJjMGI5MjZhNzQ2NTk5N2NhZTg0MDFjOWY1OTRkY2E2Y2IKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQ2xpcFJlY3QuY3BwCkBA
IC0wLDAgKzEsMzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVk
ZSAiQ2xpcFJlY3QuaCIKKworI2luY2x1ZGUgIkhpdFRlc3RMb2NhdGlvbi5oIgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK2Jvb2wgQ2xpcFJlY3Q6OmludGVyc2VjdHMoY29uc3QgSGl0VGVzdExv
Y2F0aW9uJiBoaXRUZXN0TG9jYXRpb24pIGNvbnN0Cit7CisgICAgcmV0dXJuIGhpdFRlc3RMb2Nh
dGlvbi5pbnRlcnNlY3RzKG1fcmVjdCk7Cit9CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9DbGlwUmVjdC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0NsaXBS
ZWN0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODU2NzI5YTI5Y2IxNzRjNmQ2N2I3ZWU1MjQ2MDkzZTE5ZDM5YzEz
NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9DbGlwUmVjdC5o
CkBAIC0wLDAgKzEsODggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIENsaXBSZWN0X2gKKyNkZWZp
bmUgQ2xpcFJlY3RfaAorCisjaW5jbHVkZSAiTGF5b3V0UmVjdC5oIgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK2NsYXNzIEhpdFRlc3RMb2NhdGlvbjsKKworY2xhc3MgQ2xpcFJlY3QgeworcHVi
bGljOgorICAgIENsaXBSZWN0KCkgPSBkZWZhdWx0OworICAgIAorICAgIENsaXBSZWN0KGNvbnN0
IExheW91dFJlY3QmIHJlY3QpCisgICAgICAgIDogbV9yZWN0KHJlY3QpCisgICAgeworICAgIH0K
KyAgICAKKyAgICBjb25zdCBMYXlvdXRSZWN0JiByZWN0KCkgY29uc3QgeyByZXR1cm4gbV9yZWN0
OyB9CisgICAgdm9pZCBzZXRSZWN0KGNvbnN0IExheW91dFJlY3QmIHJlY3QpIHsgbV9yZWN0ID0g
cmVjdDsgfQorICAgIAorICAgIGJvb2wgYWZmZWN0ZWRCeVJhZGl1cygpIGNvbnN0IHsgcmV0dXJu
IG1fYWZmZWN0ZWRCeVJhZGl1czsgfQorICAgIHZvaWQgc2V0QWZmZWN0ZWRCeVJhZGl1cyhib29s
IGFmZmVjdGVkQnlSYWRpdXMpIHsgbV9hZmZlY3RlZEJ5UmFkaXVzID0gYWZmZWN0ZWRCeVJhZGl1
czsgfQorICAgIAorICAgIGJvb2wgb3BlcmF0b3I9PShjb25zdCBDbGlwUmVjdCYgb3RoZXIpIGNv
bnN0IHsgcmV0dXJuIHJlY3QoKSA9PSBvdGhlci5yZWN0KCkgJiYgYWZmZWN0ZWRCeVJhZGl1cygp
ID09IG90aGVyLmFmZmVjdGVkQnlSYWRpdXMoKTsgfQorICAgIGJvb2wgb3BlcmF0b3IhPShjb25z
dCBDbGlwUmVjdCYgb3RoZXIpIGNvbnN0IHsgcmV0dXJuIHJlY3QoKSAhPSBvdGhlci5yZWN0KCkg
fHwgYWZmZWN0ZWRCeVJhZGl1cygpICE9IG90aGVyLmFmZmVjdGVkQnlSYWRpdXMoKTsgfQorICAg
IGJvb2wgb3BlcmF0b3IhPShjb25zdCBMYXlvdXRSZWN0JiBvdGhlclJlY3QpIGNvbnN0IHsgcmV0
dXJuIHJlY3QoKSAhPSBvdGhlclJlY3Q7IH0KKyAgICAKKyAgICB2b2lkIGludGVyc2VjdChjb25z
dCBMYXlvdXRSZWN0JiBvdGhlcikgeyBtX3JlY3QuaW50ZXJzZWN0KG90aGVyKTsgfQorICAgIHZv
aWQgaW50ZXJzZWN0KGNvbnN0IENsaXBSZWN0JiBvdGhlcik7CisgICAgdm9pZCBtb3ZlKExheW91
dFVuaXQgeCwgTGF5b3V0VW5pdCB5KSB7IG1fcmVjdC5tb3ZlKHgsIHkpOyB9CisgICAgdm9pZCBt
b3ZlKGNvbnN0IExheW91dFNpemUmIHNpemUpIHsgbV9yZWN0Lm1vdmUoc2l6ZSk7IH0KKyAgICB2
b2lkIG1vdmVCeShjb25zdCBMYXlvdXRQb2ludCYgcG9pbnQpIHsgbV9yZWN0Lm1vdmVCeShwb2lu
dCk7IH0KKyAgICAKKyAgICBib29sIGlzRW1wdHkoKSBjb25zdCB7IHJldHVybiBtX3JlY3QuaXNF
bXB0eSgpOyB9CisgICAgYm9vbCBpbnRlcnNlY3RzKGNvbnN0IExheW91dFJlY3QmIHJlY3QpIGNv
bnN0IHsgcmV0dXJuIG1fcmVjdC5pbnRlcnNlY3RzKHJlY3QpOyB9CisgICAgYm9vbCBpbnRlcnNl
Y3RzKGNvbnN0IEhpdFRlc3RMb2NhdGlvbiYpIGNvbnN0OworICAgIAorICAgIHZvaWQgaW5mbGF0
ZVgoTGF5b3V0VW5pdCBkeCkgeyBtX3JlY3QuaW5mbGF0ZVgoZHgpOyB9CisgICAgdm9pZCBpbmZs
YXRlWShMYXlvdXRVbml0IGR5KSB7IG1fcmVjdC5pbmZsYXRlWShkeSk7IH0KKyAgICB2b2lkIGlu
ZmxhdGUoTGF5b3V0VW5pdCBkKSB7IGluZmxhdGVYKGQpOyBpbmZsYXRlWShkKTsgfQorICAgIAor
cHJpdmF0ZToKKyAgICBMYXlvdXRSZWN0IG1fcmVjdDsKKyAgICBib29sIG1fYWZmZWN0ZWRCeVJh
ZGl1cyA9IGZhbHNlOworfTsKKworaW5saW5lIHZvaWQgQ2xpcFJlY3Q6OmludGVyc2VjdChjb25z
dCBDbGlwUmVjdCYgb3RoZXIpCit7CisgICAgbV9yZWN0LmludGVyc2VjdChvdGhlci5yZWN0KCkp
OworICAgIGlmIChvdGhlci5hZmZlY3RlZEJ5UmFkaXVzKCkpCisgICAgICAgIG1fYWZmZWN0ZWRC
eVJhZGl1cyA9IHRydWU7Cit9CisgICAgCitpbmxpbmUgQ2xpcFJlY3QgaW50ZXJzZWN0aW9uKGNv
bnN0IENsaXBSZWN0JiBhLCBjb25zdCBDbGlwUmVjdCYgYikKK3sKKyAgICBDbGlwUmVjdCBjID0g
YTsKKyAgICBjLmludGVyc2VjdChiKTsKKyAgICByZXR1cm4gYzsKK30KK30KKworI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvTGF5ZXJGcmFnbWVudC5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0xheWVyRnJhZ21lbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xYmM4NjJi
M2VkYmViZTYxNmI0N2U5ZmY2M2EyZjdmZGI2MWZhMWRiCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0xheWVyRnJhZ21lbnQuaApAQCAtMCwwICsxLDg3IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2lmbmRlZiBMYXllckZyYWdtZW50X2gKKyNkZWZpbmUgTGF5ZXJGcmFnbWVu
dF9oCisKKyNpbmNsdWRlICJDbGlwUmVjdC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2Ns
YXNzIExheWVyRnJhZ21lbnQgeworcHVibGljOgorICAgIExheWVyRnJhZ21lbnQoKSA9IGRlZmF1
bHQ7CisgICAgCisgICAgdm9pZCBzZXRSZWN0cyhjb25zdCBMYXlvdXRSZWN0JiBib3VuZHMsIGNv
bnN0IENsaXBSZWN0JiBiYWNrZ3JvdW5kLCBjb25zdCBDbGlwUmVjdCYgZm9yZWdyb3VuZCwgY29u
c3QgQ2xpcFJlY3QmIG91dGxpbmUsIGNvbnN0IExheW91dFJlY3QqIGJib3gpCisgICAgeworICAg
ICAgICBsYXllckJvdW5kcyA9IGJvdW5kczsKKyAgICAgICAgYmFja2dyb3VuZFJlY3QgPSBiYWNr
Z3JvdW5kOworICAgICAgICBmb3JlZ3JvdW5kUmVjdCA9IGZvcmVncm91bmQ7CisgICAgICAgIG91
dGxpbmVSZWN0ID0gb3V0bGluZTsKKyAgICAgICAgaWYgKGJib3gpIHsKKyAgICAgICAgICAgIGJv
dW5kaW5nQm94ID0gKmJib3g7CisgICAgICAgICAgICBoYXNCb3VuZGluZ0JveCA9IHRydWU7Cisg
ICAgICAgIH0KKyAgICB9CisgICAgCisgICAgdm9pZCBtb3ZlQnkoY29uc3QgTGF5b3V0UG9pbnQm
IG9mZnNldCkKKyAgICB7CisgICAgICAgIGxheWVyQm91bmRzLm1vdmVCeShvZmZzZXQpOworICAg
ICAgICBiYWNrZ3JvdW5kUmVjdC5tb3ZlQnkob2Zmc2V0KTsKKyAgICAgICAgZm9yZWdyb3VuZFJl
Y3QubW92ZUJ5KG9mZnNldCk7CisgICAgICAgIG91dGxpbmVSZWN0Lm1vdmVCeShvZmZzZXQpOwor
ICAgICAgICBwYWdpbmF0aW9uQ2xpcC5tb3ZlQnkob2Zmc2V0KTsKKyAgICAgICAgYm91bmRpbmdC
b3gubW92ZUJ5KG9mZnNldCk7CisgICAgfQorICAgIAorICAgIHZvaWQgaW50ZXJzZWN0KGNvbnN0
IExheW91dFJlY3QmIHJlY3QpCisgICAgeworICAgICAgICBiYWNrZ3JvdW5kUmVjdC5pbnRlcnNl
Y3QocmVjdCk7CisgICAgICAgIGZvcmVncm91bmRSZWN0LmludGVyc2VjdChyZWN0KTsKKyAgICAg
ICAgb3V0bGluZVJlY3QuaW50ZXJzZWN0KHJlY3QpOworICAgICAgICBib3VuZGluZ0JveC5pbnRl
cnNlY3QocmVjdCk7CisgICAgfQorICAgIAorICAgIGJvb2wgc2hvdWxkUGFpbnRDb250ZW50ID0g
ZmFsc2U7CisgICAgYm9vbCBoYXNCb3VuZGluZ0JveCA9IGZhbHNlOworICAgIExheW91dFJlY3Qg
bGF5ZXJCb3VuZHM7CisgICAgQ2xpcFJlY3QgYmFja2dyb3VuZFJlY3Q7CisgICAgQ2xpcFJlY3Qg
Zm9yZWdyb3VuZFJlY3Q7CisgICAgQ2xpcFJlY3Qgb3V0bGluZVJlY3Q7CisgICAgTGF5b3V0UmVj
dCBib3VuZGluZ0JveDsKKyAgICAKKyAgICAvLyBVbmlxdWUgdG8gcGFnaW5hdGVkIGZyYWdtZW50
cy4gVGhlIHBoeXNpY2FsIHRyYW5zbGF0aW9uIHRvIGFwcGx5IHRvIHNoaWZ0IHRoZSBsYXllciB3
aGVuIHBhaW50aW5nL2hpdC10ZXN0aW5nLgorICAgIExheW91dFNpemUgcGFnaW5hdGlvbk9mZnNl
dDsKKyAgICAKKyAgICAvLyBBbHNvIHVuaXF1ZSB0byBwYWdpbmF0ZWQgZnJhZ21lbnRzLiBBbiBh
ZGRpdGlvbmFsIGNsaXAgdGhhdCBhcHBsaWVzIHRvIHRoZSBsYXllci4gSXQgaXMgaW4gbGF5ZXIt
bG9jYWwKKyAgICAvLyAocGh5c2ljYWwpIGNvb3JkaW5hdGVzLgorICAgIExheW91dFJlY3QgcGFn
aW5hdGlvbkNsaXA7Cit9OworCit0eXBlZGVmIFZlY3RvcjxMYXllckZyYWdtZW50LCAxPiBMYXll
ckZyYWdtZW50czsKKworfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyRmxvd1RocmVhZC5oCmluZGV4IDg2M2FiNWY1NGExOWZkMTNmNWYzMzUyNjE1NGZhODU1NTgx
ZDYyMDUuLjI2ZjE5NmQ3NWY4YzE3ZGFjYzBhZmQ3NGQ0MDQwYTlkY2RmYzRkNjQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuaApAQCAtMzAsNyArMzAsNyBA
QAogI2lmbmRlZiBSZW5kZXJGbG93VGhyZWFkX2gKICNkZWZpbmUgUmVuZGVyRmxvd1RocmVhZF9o
CiAKLQorI2luY2x1ZGUgIkxheWVyRnJhZ21lbnQuaCIKICNpbmNsdWRlICJSZW5kZXJCbG9ja0Zs
b3cuaCIKICNpbmNsdWRlIDx3dGYvSGFzaENvdW50ZWRTZXQuaD4KICNpbmNsdWRlIDx3dGYvTGlz
dEhhc2hTZXQuaD4KQEAgLTM5LDggKzM5LDYgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xh
c3MgQ3VycmVudFJlbmRlclJlZ2lvbk1haW50YWluZXI7Ci1zdHJ1Y3QgTGF5ZXJGcmFnbWVudDsK
LXR5cGVkZWYgVmVjdG9yPExheWVyRnJhZ21lbnQsIDE+IExheWVyRnJhZ21lbnRzOwogY2xhc3Mg
UmVuZGVyRmxvd1RocmVhZDsKIGNsYXNzIFJlbmRlck5hbWVkRmxvd0ZyYWdtZW50OwogY2xhc3Mg
UmVuZGVyU3R5bGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAppbmRl
eCA2NGRjN2I0NDBmZmFlYmI4MjNmYjNmMjg2NzQyMzM0N2NjMTQ3NWY0Li5jYzRhZDJkMDM3ZTdl
NTUxMDQ4YWRhMGI1OWUzYzQwOTIzZjMzOTMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllci5jcHAKQEAgLTEzMywxMSArMTMzLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCi1ib29sIENsaXBSZWN0OjppbnRlcnNlY3Rz
KGNvbnN0IEhpdFRlc3RMb2NhdGlvbiYgaGl0VGVzdExvY2F0aW9uKSBjb25zdAotewotICAgIHJl
dHVybiBoaXRUZXN0TG9jYXRpb24uaW50ZXJzZWN0cyhtX3JlY3QpOwotfQotCiB2b2lkIG1ha2VN
YXRyaXhSZW5kZXJhYmxlKFRyYW5zZm9ybWF0aW9uTWF0cml4JiBtYXRyaXgsIGJvb2wgaGFzM0RS
ZW5kZXJpbmcpCiB7CiAjaWYgIUVOQUJMRSgzRF9SRU5ERVJJTkcpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllci5oCmluZGV4IDAyNzUyODhlNTBiODA4Y2YxYzQyNTdkMjFmZDcyYTE0
NmJmNGExNGQuLjQwNWMwZWU0ZDM5ODE0OGQyNjYyYjQxZDhmOTBmZjk1OTg4ODg5YjggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCkBAIC00NCw3ICs0NCw5IEBACiAjaWZu
ZGVmIFJlbmRlckxheWVyX2gKICNkZWZpbmUgUmVuZGVyTGF5ZXJfaAogCisjaW5jbHVkZSAiQ2xp
cFJlY3QuaCIKICNpbmNsdWRlICJHcmFwaGljc0xheWVyLmgiCisjaW5jbHVkZSAiTGF5ZXJGcmFn
bWVudC5oIgogI2luY2x1ZGUgIlBhaW50SW5mby5oIgogI2luY2x1ZGUgIlJlbmRlckJveC5oIgog
I2luY2x1ZGUgIlJlbmRlclB0ci5oIgpAQCAtODEsNjAgKzgzLDYgQEAgZW51bSBSZXBhaW50U3Rh
dHVzIHsKICAgICBOZWVkc0Z1bGxSZXBhaW50Rm9yUG9zaXRpb25lZE1vdmVtZW50TGF5b3V0CiB9
OwogCi1jbGFzcyBDbGlwUmVjdCB7Ci1wdWJsaWM6Ci0gICAgQ2xpcFJlY3QoKQotICAgICAgICA6
IG1fYWZmZWN0ZWRCeVJhZGl1cyhmYWxzZSkKLSAgICB7Ci0gICAgfQotICAgIAotICAgIENsaXBS
ZWN0KGNvbnN0IExheW91dFJlY3QmIHJlY3QpCi0gICAgICAgIDogbV9yZWN0KHJlY3QpCi0gICAg
ICAgICwgbV9hZmZlY3RlZEJ5UmFkaXVzKGZhbHNlKQotICAgIHsKLSAgICB9Ci0gICAgCi0gICAg
Y29uc3QgTGF5b3V0UmVjdCYgcmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVjdDsgfQotICAgIHZv
aWQgc2V0UmVjdChjb25zdCBMYXlvdXRSZWN0JiByZWN0KSB7IG1fcmVjdCA9IHJlY3Q7IH0KLQot
ICAgIGJvb2wgYWZmZWN0ZWRCeVJhZGl1cygpIGNvbnN0IHsgcmV0dXJuIG1fYWZmZWN0ZWRCeVJh
ZGl1czsgfQotICAgIHZvaWQgc2V0QWZmZWN0ZWRCeVJhZGl1cyhib29sIGFmZmVjdGVkQnlSYWRp
dXMpIHsgbV9hZmZlY3RlZEJ5UmFkaXVzID0gYWZmZWN0ZWRCeVJhZGl1czsgfQotCi0gICAgYm9v
bCBvcGVyYXRvcj09KGNvbnN0IENsaXBSZWN0JiBvdGhlcikgY29uc3QgeyByZXR1cm4gcmVjdCgp
ID09IG90aGVyLnJlY3QoKSAmJiBhZmZlY3RlZEJ5UmFkaXVzKCkgPT0gb3RoZXIuYWZmZWN0ZWRC
eVJhZGl1cygpOyB9Ci0gICAgYm9vbCBvcGVyYXRvciE9KGNvbnN0IENsaXBSZWN0JiBvdGhlcikg
Y29uc3QgeyByZXR1cm4gcmVjdCgpICE9IG90aGVyLnJlY3QoKSB8fCBhZmZlY3RlZEJ5UmFkaXVz
KCkgIT0gb3RoZXIuYWZmZWN0ZWRCeVJhZGl1cygpOyB9Ci0gICAgYm9vbCBvcGVyYXRvciE9KGNv
bnN0IExheW91dFJlY3QmIG90aGVyUmVjdCkgY29uc3QgeyByZXR1cm4gcmVjdCgpICE9IG90aGVy
UmVjdDsgfQotCi0gICAgdm9pZCBpbnRlcnNlY3QoY29uc3QgTGF5b3V0UmVjdCYgb3RoZXIpIHsg
bV9yZWN0LmludGVyc2VjdChvdGhlcik7IH0KLSAgICB2b2lkIGludGVyc2VjdChjb25zdCBDbGlw
UmVjdCYgb3RoZXIpCi0gICAgewotICAgICAgICBtX3JlY3QuaW50ZXJzZWN0KG90aGVyLnJlY3Qo
KSk7Ci0gICAgICAgIGlmIChvdGhlci5hZmZlY3RlZEJ5UmFkaXVzKCkpCi0gICAgICAgICAgICBt
X2FmZmVjdGVkQnlSYWRpdXMgPSB0cnVlOwotICAgIH0KLSAgICB2b2lkIG1vdmUoTGF5b3V0VW5p
dCB4LCBMYXlvdXRVbml0IHkpIHsgbV9yZWN0Lm1vdmUoeCwgeSk7IH0KLSAgICB2b2lkIG1vdmUo
Y29uc3QgTGF5b3V0U2l6ZSYgc2l6ZSkgeyBtX3JlY3QubW92ZShzaXplKTsgfQotICAgIHZvaWQg
bW92ZUJ5KGNvbnN0IExheW91dFBvaW50JiBwb2ludCkgeyBtX3JlY3QubW92ZUJ5KHBvaW50KTsg
fQotCi0gICAgYm9vbCBpc0VtcHR5KCkgY29uc3QgeyByZXR1cm4gbV9yZWN0LmlzRW1wdHkoKTsg
fQotICAgIGJvb2wgaW50ZXJzZWN0cyhjb25zdCBMYXlvdXRSZWN0JiByZWN0KSBjb25zdCB7IHJl
dHVybiBtX3JlY3QuaW50ZXJzZWN0cyhyZWN0KTsgfQotICAgIGJvb2wgaW50ZXJzZWN0cyhjb25z
dCBIaXRUZXN0TG9jYXRpb24mKSBjb25zdDsKLQotICAgIHZvaWQgaW5mbGF0ZVgoTGF5b3V0VW5p
dCBkeCkgeyBtX3JlY3QuaW5mbGF0ZVgoZHgpOyB9Ci0gICAgdm9pZCBpbmZsYXRlWShMYXlvdXRV
bml0IGR5KSB7IG1fcmVjdC5pbmZsYXRlWShkeSk7IH0KLSAgICB2b2lkIGluZmxhdGUoTGF5b3V0
VW5pdCBkKSB7IGluZmxhdGVYKGQpOyBpbmZsYXRlWShkKTsgfQotCi1wcml2YXRlOgotICAgIExh
eW91dFJlY3QgbV9yZWN0OwotICAgIGJvb2wgbV9hZmZlY3RlZEJ5UmFkaXVzOwotfTsKLQotaW5s
aW5lIENsaXBSZWN0IGludGVyc2VjdGlvbihjb25zdCBDbGlwUmVjdCYgYSwgY29uc3QgQ2xpcFJl
Y3QmIGIpCi17Ci0gICAgQ2xpcFJlY3QgYyA9IGE7Ci0gICAgYy5pbnRlcnNlY3QoYik7Ci0gICAg
cmV0dXJuIGM7Ci19Ci0KIGNsYXNzIENsaXBSZWN0cyB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CkBAIC0yNzYsNjEgKzIyNCw2IEBAIHByaXZhdGU6CiAgICAgUmVmUHRy
PENsaXBSZWN0cz4gbV9jbGlwUmVjdHNbTnVtQ2FjaGVkQ2xpcFJlY3RzVHlwZXMgKiAyXTsKIH07
CiAKLXN0cnVjdCBMYXllckZyYWdtZW50IHsKLXB1YmxpYzoKLSAgICBMYXllckZyYWdtZW50KCkK
LSAgICAgICAgOiBzaG91bGRQYWludENvbnRlbnQoZmFsc2UpCi0gICAgICAgICwgaGFzQm91bmRp
bmdCb3goZmFsc2UpCi0gICAgeyB9Ci0KLSAgICB2b2lkIHNldFJlY3RzKGNvbnN0IExheW91dFJl
Y3QmIGJvdW5kcywgY29uc3QgQ2xpcFJlY3QmIGJhY2tncm91bmQsIGNvbnN0IENsaXBSZWN0JiBm
b3JlZ3JvdW5kLCBjb25zdCBDbGlwUmVjdCYgb3V0bGluZSwgY29uc3QgTGF5b3V0UmVjdCogYmJv
eCkKLSAgICB7Ci0gICAgICAgIGxheWVyQm91bmRzID0gYm91bmRzOwotICAgICAgICBiYWNrZ3Jv
dW5kUmVjdCA9IGJhY2tncm91bmQ7Ci0gICAgICAgIGZvcmVncm91bmRSZWN0ID0gZm9yZWdyb3Vu
ZDsKLSAgICAgICAgb3V0bGluZVJlY3QgPSBvdXRsaW5lOwotICAgICAgICBpZiAoYmJveCkgewot
ICAgICAgICAgICAgYm91bmRpbmdCb3ggPSAqYmJveDsKLSAgICAgICAgICAgIGhhc0JvdW5kaW5n
Qm94ID0gdHJ1ZTsKLSAgICAgICAgfQotICAgIH0KLSAgICAKLSAgICB2b2lkIG1vdmVCeShjb25z
dCBMYXlvdXRQb2ludCYgb2Zmc2V0KQotICAgIHsKLSAgICAgICAgbGF5ZXJCb3VuZHMubW92ZUJ5
KG9mZnNldCk7Ci0gICAgICAgIGJhY2tncm91bmRSZWN0Lm1vdmVCeShvZmZzZXQpOwotICAgICAg
ICBmb3JlZ3JvdW5kUmVjdC5tb3ZlQnkob2Zmc2V0KTsKLSAgICAgICAgb3V0bGluZVJlY3QubW92
ZUJ5KG9mZnNldCk7Ci0gICAgICAgIHBhZ2luYXRpb25DbGlwLm1vdmVCeShvZmZzZXQpOwotICAg
ICAgICBib3VuZGluZ0JveC5tb3ZlQnkob2Zmc2V0KTsKLSAgICB9Ci0gICAgCi0gICAgdm9pZCBp
bnRlcnNlY3QoY29uc3QgTGF5b3V0UmVjdCYgcmVjdCkKLSAgICB7Ci0gICAgICAgIGJhY2tncm91
bmRSZWN0LmludGVyc2VjdChyZWN0KTsKLSAgICAgICAgZm9yZWdyb3VuZFJlY3QuaW50ZXJzZWN0
KHJlY3QpOwotICAgICAgICBvdXRsaW5lUmVjdC5pbnRlcnNlY3QocmVjdCk7Ci0gICAgICAgIGJv
dW5kaW5nQm94LmludGVyc2VjdChyZWN0KTsKLSAgICB9Ci0gICAgCi0gICAgYm9vbCBzaG91bGRQ
YWludENvbnRlbnQ7Ci0gICAgYm9vbCBoYXNCb3VuZGluZ0JveDsKLSAgICBMYXlvdXRSZWN0IGxh
eWVyQm91bmRzOwotICAgIENsaXBSZWN0IGJhY2tncm91bmRSZWN0OwotICAgIENsaXBSZWN0IGZv
cmVncm91bmRSZWN0OwotICAgIENsaXBSZWN0IG91dGxpbmVSZWN0OwotICAgIExheW91dFJlY3Qg
Ym91bmRpbmdCb3g7Ci0gICAgCi0gICAgLy8gVW5pcXVlIHRvIHBhZ2luYXRlZCBmcmFnbWVudHMu
IFRoZSBwaHlzaWNhbCB0cmFuc2xhdGlvbiB0byBhcHBseSB0byBzaGlmdCB0aGUgbGF5ZXIgd2hl
biBwYWludGluZy9oaXQtdGVzdGluZy4KLSAgICBMYXlvdXRTaXplIHBhZ2luYXRpb25PZmZzZXQ7
Ci0gICAgCi0gICAgLy8gQWxzbyB1bmlxdWUgdG8gcGFnaW5hdGVkIGZyYWdtZW50cy4gQW4gYWRk
aXRpb25hbCBjbGlwIHRoYXQgYXBwbGllcyB0byB0aGUgbGF5ZXIuIEl0IGlzIGluIGxheWVyLWxv
Y2FsCi0gICAgLy8gKHBoeXNpY2FsKSBjb29yZGluYXRlcy4KLSAgICBMYXlvdXRSZWN0IHBhZ2lu
YXRpb25DbGlwOwotfTsKLQotdHlwZWRlZiBWZWN0b3I8TGF5ZXJGcmFnbWVudCwgMT4gTGF5ZXJG
cmFnbWVudHM7Ci0KIGNsYXNzIFJlbmRlckxheWVyIGZpbmFsIDogcHVibGljIFNjcm9sbGFibGVB
cmVhIHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNldC5oIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uU2V0LmgKaW5kZXggOTYyMTY5NzU5
NzZlNzJjOTA4YWNiYjY5MDlmMjEwNGIwYTY5ZTllZS4uOTkwODJjMDM5YzY1MGIwN2VkYjFiMDQ1
MzA1MDEwNDQxZjYxNWRiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck11bHRpQ29sdW1uU2V0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ck11bHRpQ29sdW1uU2V0LmgKQEAgLTI3LDYgKzI3LDcgQEAKICNpZm5kZWYgUmVuZGVyTXVsdGlD
b2x1bW5TZXRfaAogI2RlZmluZSBSZW5kZXJNdWx0aUNvbHVtblNldF9oCiAKKyNpbmNsdWRlICJM
YXllckZyYWdtZW50LmgiCiAjaW5jbHVkZSAiUmVuZGVyTXVsdGlDb2x1bW5GbG93VGhyZWFkLmgi
CiAjaW5jbHVkZSAiUmVuZGVyUmVnaW9uU2V0LmgiCiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlZ2lvbi5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlZ2lvbi5oCmluZGV4IGNhZTEyZjk4Mzg3YWJh
YjNhMDI0ZTkzODhjNmFlYjY1ZjcyMjhiOWEuLmFkYWRlY2EwNzQxZjQ0NTdhMmY3N2FiMmMxMDI3
YjU1NGZkYzg0NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJS
ZWdpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVnaW9uLmgKQEAg
LTMwLDYgKzMwLDcgQEAKICNpZm5kZWYgUmVuZGVyUmVnaW9uX2gKICNkZWZpbmUgUmVuZGVyUmVn
aW9uX2gKIAorI2luY2x1ZGUgIkxheWVyRnJhZ21lbnQuaCIKICNpbmNsdWRlICJSZW5kZXJCbG9j
a0Zsb3cuaCIKICNpbmNsdWRlICJTdHlsZUluaGVyaXRlZERhdGEuaCIKICNpbmNsdWRlICJWaXNp
YmxlUG9zaXRpb24uaCIKQEAgLTM3LDkgKzM4LDYgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1zdHJ1Y3QgTGF5ZXJGcmFnbWVudDsKLXR5cGVkZWYgVmVjdG9yPExheWVyRnJhZ21lbnQsIDE+
IExheWVyRnJhZ21lbnRzOwotCiBjbGFzcyBFbGVtZW50OwogY2xhc3MgUmVuZGVyQm94OwogY2xh
c3MgUmVuZGVyQm94UmVnaW9uSW5mbzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUcmVlQXNUZXh0LmNwcAppbmRleCA1Njk2M2Q3N2Y0YjYwMjM2YzY0NTIxNWU0MjJiNzY1MTIz
ZDAxZmIxLi40YWQ1ZjdhNTA2YzEyOGY4M2ZkZDQyYjEyZTNmZTRjODUyMzRhNjVhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuY3BwCkBAIC0yNiw2ICsy
Niw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiUmVuZGVyVHJlZUFzVGV4dC5o
IgogCisjaW5jbHVkZSAiQ2xpcFJlY3QuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1
ZGUgIkZsb3dUaHJlYWRDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIK
</data>

          </attachment>
      

    </bug>

</bugzilla>