<?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>142438</bug_id>
          
          <creation_ts>2015-03-07 09:03:56 -0800</creation_ts>
          <short_desc>Do a bit of EventNames tidying</short_desc>
          <delta_ts>2015-03-07 13:52:05 -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>UI Events</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="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>kangil.han</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1075265</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-03-07 09:03:56 -0800</bug_when>
    <thetext>Do a bit of EventNames tidying</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1075267</commentid>
    <comment_count>1</comment_count>
      <attachid>248154</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-03-07 09:09:06 -0800</bug_when>
    <thetext>Created attachment 248154
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1075270</commentid>
    <comment_count>2</comment_count>
      <attachid>248156</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-03-07 09:20:36 -0800</bug_when>
    <thetext>Created attachment 248156
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1075283</commentid>
    <comment_count>3</comment_count>
      <attachid>248161</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-03-07 10:54:45 -0800</bug_when>
    <thetext>Created attachment 248161
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1075298</commentid>
    <comment_count>4</comment_count>
      <attachid>248161</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-03-07 13:52:00 -0800</bug_when>
    <thetext>Comment on attachment 248161
Patch

Clearing flags on attachment: 248161

Committed r181212: &lt;http://trac.webkit.org/changeset/181212&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1075299</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-03-07 13:52:05 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>248154</attachid>
            <date>2015-03-07 09:09:06 -0800</date>
            <delta_ts>2015-03-07 09:20:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-142438-20150307090844.patch</filename>
            <type>text/plain</type>
            <size>21074</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgxMjA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMThlYjFlZmU3NGRlMzU3
NzhkNDIyODM1ZGU2YjVkMmFkM2JjMzE4Ny4uNzE1YTFkNDAyM2M2MmI3ZDQ0ZjM4NDA2YmFkMjBk
NjQxOTRiNjAxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDE1LTAzLTA3ICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBEbyBhIGJpdCBvZiBFdmVudE5h
bWVzIHRpZHlpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE0MjQzOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogZG9tL0V2ZW50TmFtZXMuaDogU29ydGVkIHRoZSBldmVudCBuYW1lcyBpbnRvIGEgc2lu
Z2xlIGxpc3QgaW5zdGVhZCBvZgorICAgICAgICB0aGUgcnVkaW1lbnRhcnkgYXR0ZW1wdHMgYXQg
b3JnYW5pemluZyB0aGUgbGlzdCB0aGF0IHNpbXBseSBtYWRlIGl0IGhhcmQKKyAgICAgICAgdG8g
c2VlIHdoYXQgaXMgYW5kIGlzIG5vdCBpbiB0aGUgbGlzdC4gUmVtb3ZlZCB0d28gdW51c2VkIGV2
ZW50IG5hbWVzLgorICAgICAgICBJJ20gc3VyZSB0aGVyZSBhcmUgbW9yZS4gUmVvcmdhbml6ZWQg
dGhlIGNsYXNzIGludG8gYSBtb3JlIGNvbnZlbnRpb25hbAorICAgICAgICAicHVibGljIGZpcnN0
IiBvcmRlci4gR290IHRoZSBmdW5jdGlvbiBib2RpZXMgb3V0IG9mIHRoZSBjbGFzcyBzbyB3ZSBj
YW4KKyAgICAgICAgc2VlIG1vcmUgY2xlYXJseSB3aGF0IGlzIGluIHRoZSBjbGFzcy4gTWFkZSBt
b3JlIHRoaW5ncyBjb25zdC4KKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50TmFtZXM6OnRvdWNoRXZl
bnROYW1lcyk6IENoYW5nZWQgdGhlIHJldHVybiB2YWx1ZSB0byBhCisgICAgICAgIHN0ZDo6YXJy
YXkgb2YgcmVmZXJlbmNlIHdyYXBwZXJzIHJhdGhlciB0aGFuIGEgdmVjdG9yIG9mIGF0b21pYyBz
dHJpbmdzLgorICAgICAgICBUaGlzIHNob3VsZCBlbGltaW5hdGUgdW5uZWNlc3NhcnkgbWVtb3J5
IGFsbG9jYXRpb24gYW5kIHJlZmVyZW5jZSBjb3VudCBjaHVybi4KKworICAgICAgICAqIGRvbS9F
dmVudFRhcmdldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFRhcmdldDo6Z2V0RXZlbnRM
aXN0ZW5lcnMpOiBVc2UgTmV2ZXJEZXN0cm95ZWQgaW5zdGVhZCBvZgorICAgICAgICBERVBSRUNB
VEVEX0RFRklORV9MT0NBTCBhbmQgYWxzbyBqdXN0IHRpZ2h0ZW5lZCB1cCB0aGUgZnVuY3Rpb24g
YSBiaXQuCisKKyAgICAgICAgKiBkb20vTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOb2Rl
OjpkaWRNb3ZlVG9OZXdEb2N1bWVudCk6IFN0cmVhbWxpbmVkIHRoaXMgZnVuY3Rpb24gd2l0aAor
ICAgICAgICBtb2Rlcm4gZm9yIGxvb3BzLCBhdXRvLCBhbmQgYWxzbyB0cmllZCB0byBtYWtlIHdo
YXQgaXQgZG9lcyBhIGJpdCBjbGVhcmVyLAorICAgICAgICBieSBtYWtpbmcgbG9vcHMgdGhhdCBh
cmUganVzdCBiYXNlZCBvbiBudW1iZXJzIG9mIGV2ZW50IGxpc3RlbmVycyBsb29rIGEKKyAgICAg
ICAgYml0IGxlc3MgbGlrZSBjb2RlIHRoYXQgYWN0dWFsbHkgaXRlcmF0ZXMgYSB2ZWN0b3Igb2Yg
bGlzdGVuZXJzLiBBbHNvIHVzZWQKKyAgICAgICAgdGhlIHR5cGUgdW5zaWduZWQgaW5zdGVhZCBv
ZiBzaXplX3QuCisKIDIwMTUtMDMtMDYgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KIAog
ICAgICAgICBbQ29udGVudCBFeHRlbnNpb25zXSBNb3ZlIGNvbXBpbGluZyBvZiBjb250ZW50IGV4
dGVuc2lvbnMgdG8gdGhlIFVJUHJvY2VzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L0V2ZW50TmFtZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKaW5kZXggMmRh
Y2VjNDFmNzQ1ZWQzOWRiYTcxMWNjODVmNzk3NmE3ZWIxNTdhNi4uMzVkOGRkNjhmMmE1M2M5ZmY3
YTFiMTBlMjY1ODIzNTdkMzNlOWI4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2
ZW50TmFtZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCkBAIC0xLDUg
KzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNSwgMjAwNyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDUsIDIwMDcsIDIwMTUgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDA2IEpvbiBTaGll
ciAoanNoaWVyQGlhc3RhdGUuZWR1KQogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3
YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKQEAgLTIzLDEzICsyMywzNiBAQAog
I2RlZmluZSBFdmVudE5hbWVzX2gKIAogI2luY2x1ZGUgIlRocmVhZEdsb2JhbERhdGEuaCIKKyNp
bmNsdWRlIDxhcnJheT4KKyNpbmNsdWRlIDxmdW5jdGlvbmFsPgogI2luY2x1ZGUgPHd0Zi90ZXh0
L0F0b21pY1N0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICNkZWZpbmUgRE9NX0VW
RU5UX05BTUVTX0ZPUl9FQUNIKG1hY3JvKSBcCi0gICAgXAorICAgIG1hY3JvKERPTUFjdGl2YXRl
KSBcCisgICAgbWFjcm8oRE9NQ2hhcmFjdGVyRGF0YU1vZGlmaWVkKSBcCisgICAgbWFjcm8oRE9N
Q29udGVudExvYWRlZCkgXAorICAgIG1hY3JvKERPTUZvY3VzSW4pIFwKKyAgICBtYWNybyhET01G
b2N1c091dCkgXAorICAgIG1hY3JvKERPTU5vZGVJbnNlcnRlZCkgXAorICAgIG1hY3JvKERPTU5v
ZGVJbnNlcnRlZEludG9Eb2N1bWVudCkgXAorICAgIG1hY3JvKERPTU5vZGVSZW1vdmVkKSBcCisg
ICAgbWFjcm8oRE9NTm9kZVJlbW92ZWRGcm9tRG9jdW1lbnQpIFwKKyAgICBtYWNybyhET01TdWJ0
cmVlTW9kaWZpZWQpIFwKICAgICBtYWNybyhhYm9ydCkgXAorICAgIG1hY3JvKGFjdGl2ZSkgXAor
ICAgIG1hY3JvKGFkZHNvdXJjZWJ1ZmZlcikgXAorICAgIG1hY3JvKGFkZHN0cmVhbSkgXAorICAg
IG1hY3JvKGFkZHRyYWNrKSBcCisgICAgbWFjcm8oYW5pbWF0aW9uZW5kKSBcCisgICAgbWFjcm8o
YW5pbWF0aW9uaXRlcmF0aW9uKSBcCisgICAgbWFjcm8oYW5pbWF0aW9uc3RhcnQpIFwKKyAgICBt
YWNybyhhdWRpb2VuZCkgXAorICAgIG1hY3JvKGF1ZGlvcHJvY2VzcykgXAorICAgIG1hY3JvKGF1
ZGlvc3RhcnQpIFwKKyAgICBtYWNybyhhdXRvY29tcGxldGUpIFwKKyAgICBtYWNybyhhdXRvY29t
cGxldGVlcnJvcikgXAogICAgIG1hY3JvKGJlZm9yZWNvcHkpIFwKICAgICBtYWNybyhiZWZvcmVj
dXQpIFwKICAgICBtYWNybyhiZWZvcmVsb2FkKSBcCkBAIC0zNyw3ICs2MCwxMCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgbWFjcm8oYmVmb3JldW5sb2FkKSBcCiAgICAgbWFjcm8oYmxvY2tl
ZCkgXAogICAgIG1hY3JvKGJsdXIpIFwKKyAgICBtYWNybyhib3VuZGFyeSkgXAogICAgIG1hY3Jv
KGNhY2hlZCkgXAorICAgIG1hY3JvKGNhbnBsYXkpIFwKKyAgICBtYWNybyhjYW5wbGF5dGhyb3Vn
aCkgXAogICAgIG1hY3JvKGNoYW5nZSkgXAogICAgIG1hY3JvKGNoYXJnaW5nY2hhbmdlKSBcCiAg
ICAgbWFjcm8oY2hhcmdpbmd0aW1lY2hhbmdlKSBcCkBAIC00OSwxNCArNzUsMTYgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIG1hY3JvKGNvbXBvc2l0aW9uc3RhcnQpIFwKICAgICBtYWNybyhj
b21wb3NpdGlvbnVwZGF0ZSkgXAogICAgIG1hY3JvKGNvbm5lY3QpIFwKKyAgICBtYWNybyhjb25u
ZWN0aW5nKSBcCiAgICAgbWFjcm8oY29udGV4dG1lbnUpIFwKICAgICBtYWNybyhjb3B5KSBcCisg
ICAgbWFjcm8oY3VlY2hhbmdlKSBcCiAgICAgbWFjcm8oY3V0KSBcCisgICAgbWFjcm8oZGF0YWNo
YW5uZWwpIFwKICAgICBtYWNybyhkYmxjbGljaykgXAogICAgIG1hY3JvKGRldmljZW1vdGlvbikg
XAogICAgIG1hY3JvKGRldmljZW9yaWVudGF0aW9uKSBcCiAgICAgbWFjcm8oZGlzY2hhcmdpbmd0
aW1lY2hhbmdlKSBcCi0gICAgbWFjcm8oZGlzcGxheSkgXAogICAgIG1hY3JvKGRvd25sb2FkaW5n
KSBcCiAgICAgbWFjcm8oZHJhZykgXAogICAgIG1hY3JvKGRyYWdlbmQpIFwKQEAgLTY1LDE2ICs5
MywzMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8oZHJhZ292ZXIpIFwKICAgICBt
YWNybyhkcmFnc3RhcnQpIFwKICAgICBtYWNybyhkcm9wKSBcCisgICAgbWFjcm8oZHVyYXRpb25j
aGFuZ2UpIFwKKyAgICBtYWNybyhlbXB0aWVkKSBcCisgICAgbWFjcm8oZW5kKSBcCisgICAgbWFj
cm8oZW5kZWQpIFwKKyAgICBtYWNybyhlbnRlcikgXAogICAgIG1hY3JvKGVycm9yKSBcCisgICAg
bWFjcm8oZXhpdCkgXAogICAgIG1hY3JvKGZvY3VzKSBcCiAgICAgbWFjcm8oZm9jdXNpbikgXAog
ICAgIG1hY3JvKGZvY3Vzb3V0KSBcCi0gICAgbWFjcm8oZ2VzdHVyZXRhcCkgXAotICAgIG1hY3Jv
KGdlc3R1cmV0YXBkb3duKSBcCi0gICAgbWFjcm8oZ2VzdHVyZXNjcm9sbHN0YXJ0KSBcCisgICAg
bWFjcm8oZ2FtZXBhZGNvbm5lY3RlZCkgXAorICAgIG1hY3JvKGdhbWVwYWRkaXNjb25uZWN0ZWQp
IFwKKyAgICBtYWNybyhnZXN0dXJlY2hhbmdlKSBcCisgICAgbWFjcm8oZ2VzdHVyZWVuZCkgXAog
ICAgIG1hY3JvKGdlc3R1cmVzY3JvbGxlbmQpIFwKKyAgICBtYWNybyhnZXN0dXJlc2Nyb2xsc3Rh
cnQpIFwKICAgICBtYWNybyhnZXN0dXJlc2Nyb2xsdXBkYXRlKSBcCisgICAgbWFjcm8oZ2VzdHVy
ZXN0YXJ0KSBcCisgICAgbWFjcm8oZ2VzdHVyZXRhcCkgXAorICAgIG1hY3JvKGdlc3R1cmV0YXBk
b3duKSBcCiAgICAgbWFjcm8oaGFzaGNoYW5nZSkgXAorICAgIG1hY3JvKGljZWNhbmRpZGF0ZSkg
XAorICAgIG1hY3JvKGljZWNvbm5lY3Rpb25zdGF0ZWNoYW5nZSkgXAorICAgIG1hY3JvKGluYWN0
aXZlKSBcCiAgICAgbWFjcm8oaW5wdXQpIFwKICAgICBtYWNybyhpbnZhbGlkKSBcCiAgICAgbWFj
cm8oa2V5ZG93bikgXApAQCAtODIsOSArMTI0LDEzIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICBtYWNybyhrZXl1cCkgXAogICAgIG1hY3JvKGxldmVsY2hhbmdlKSBcCiAgICAgbWFjcm8obG9h
ZCkgXAorICAgIG1hY3JvKGxvYWRlZGRhdGEpIFwKKyAgICBtYWNybyhsb2FkZWRtZXRhZGF0YSkg
XAorICAgIG1hY3JvKGxvYWRlbmQpIFwKICAgICBtYWNybyhsb2FkaW5nKSBcCiAgICAgbWFjcm8o
bG9hZGluZ2RvbmUpIFwKICAgICBtYWNybyhsb2Fkc3RhcnQpIFwKKyAgICBtYWNybyhtYXJrKSBc
CiAgICAgbWFjcm8obWVzc2FnZSkgXAogICAgIG1hY3JvKG1vdXNlZG93bikgXAogICAgIG1hY3Jv
KG1vdXNlZW50ZXIpIFwKQEAgLTk0LDI2MyArMTQwLDE3OSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgbWFjcm8obW91c2VvdmVyKSBcCiAgICAgbWFjcm8obW91c2V1cCkgXAogICAgIG1hY3Jv
KG1vdXNld2hlZWwpIFwKKyAgICBtYWNybyhtdXRlKSBcCisgICAgbWFjcm8obmVnb3RpYXRpb25u
ZWVkZWQpIFwKKyAgICBtYWNybyhub21hdGNoKSBcCiAgICAgbWFjcm8obm91cGRhdGUpIFwKICAg
ICBtYWNybyhvYnNvbGV0ZSkgXAogICAgIG1hY3JvKG9mZmxpbmUpIFwKICAgICBtYWNybyhvbmxp
bmUpIFwKICAgICBtYWNybyhvcGVuKSBcCisgICAgbWFjcm8ob3JpZW50YXRpb25jaGFuZ2UpIFwK
KyAgICBtYWNybyhvdmVyY29uc3RyYWluZWQpIFwKICAgICBtYWNybyhvdmVyZmxvd2NoYW5nZWQp
IFwKICAgICBtYWNybyhwYWdlaGlkZSkgXAogICAgIG1hY3JvKHBhZ2VzaG93KSBcCiAgICAgbWFj
cm8ocGFzdGUpIFwKKyAgICBtYWNybyhwYXVzZSkgXAorICAgIG1hY3JvKHBsYXkpIFwKKyAgICBt
YWNybyhwbGF5aW5nKSBcCisgICAgbWFjcm8ocG9pbnRlcmxvY2tjaGFuZ2UpIFwKKyAgICBtYWNy
byhwb2ludGVybG9ja2Vycm9yKSBcCiAgICAgbWFjcm8ocG9wc3RhdGUpIFwKKyAgICBtYWNybyhw
cm9ncmVzcykgXAorICAgIG1hY3JvKHJhdGVjaGFuZ2UpIFwKICAgICBtYWNybyhyZWFkeXN0YXRl
Y2hhbmdlKSBcCisgICAgbWFjcm8ocmVtb3Zlc291cmNlYnVmZmVyKSBcCisgICAgbWFjcm8ocmVt
b3Zlc3RyZWFtKSBcCisgICAgbWFjcm8ocmVtb3ZldHJhY2spIFwKICAgICBtYWNybyhyZXNldCkg
XAogICAgIG1hY3JvKHJlc2l6ZSkgXAorICAgIG1hY3JvKHJlc3VsdCkgXAorICAgIG1hY3JvKHJl
c3VtZSkgXAogICAgIG1hY3JvKHNjcm9sbCkgXAogICAgIG1hY3JvKHNlYXJjaCkgXAorICAgIG1h
Y3JvKHNlY3VyaXR5cG9saWN5dmlvbGF0aW9uKSBcCisgICAgbWFjcm8oc2Vla2VkKSBcCisgICAg
bWFjcm8oc2Vla2luZykgXAogICAgIG1hY3JvKHNlbGVjdCkgXAotICAgIG1hY3JvKHNlbGVjdHN0
YXJ0KSBcCiAgICAgbWFjcm8oc2VsZWN0aW9uY2hhbmdlKSBcCisgICAgbWFjcm8oc2VsZWN0c3Rh
cnQpIFwKKyAgICBtYWNybyhzaG93KSBcCisgICAgbWFjcm8oc2lnbmFsaW5nc3RhdGVjaGFuZ2Up
IFwKKyAgICBtYWNybyhzb3VuZGVuZCkgXAorICAgIG1hY3JvKHNvdW5kc3RhcnQpIFwKKyAgICBt
YWNybyhzb3VyY2VjbG9zZSkgXAorICAgIG1hY3JvKHNvdXJjZWVuZGVkKSBcCisgICAgbWFjcm8o
c291cmNlb3BlbikgXAorICAgIG1hY3JvKHNwZWVjaGVuZCkgXAorICAgIG1hY3JvKHNwZWVjaHN0
YXJ0KSBcCisgICAgbWFjcm8oc3RhbGxlZCkgXAorICAgIG1hY3JvKHN0YXJ0KSBcCisgICAgbWFj
cm8oc3RhcnRlZCkgXAogICAgIG1hY3JvKHN0b3JhZ2UpIFwKICAgICBtYWNybyhzdWJtaXQpIFwK
KyAgICBtYWNybyhzdWNjZXNzKSBcCisgICAgbWFjcm8oc3VzcGVuZCkgXAogICAgIG1hY3JvKHRl
eHRJbnB1dCkgXAorICAgIG1hY3JvKHRpbWVvdXQpIFwKKyAgICBtYWNybyh0aW1ldXBkYXRlKSBc
CisgICAgbWFjcm8odG9uZWNoYW5nZSkgXAorICAgIG1hY3JvKHRvdWNoY2FuY2VsKSBcCisgICAg
bWFjcm8odG91Y2hlbmQpIFwKKyAgICBtYWNybyh0b3VjaG1vdmUpIFwKKyAgICBtYWNybyh0b3Vj
aHN0YXJ0KSBcCisgICAgbWFjcm8odHJhbnNpdGlvbmVuZCkgXAogICAgIG1hY3JvKHVubG9hZCkg
XAorICAgIG1hY3JvKHVubXV0ZSkgXAorICAgIG1hY3JvKHVwZGF0ZSkgXAorICAgIG1hY3JvKHVw
ZGF0ZWVuZCkgXAogICAgIG1hY3JvKHVwZGF0ZXJlYWR5KSBcCisgICAgbWFjcm8odXBkYXRlc3Rh
cnQpIFwKICAgICBtYWNybyh1cGdyYWRlbmVlZGVkKSBcCiAgICAgbWFjcm8odmVyc2lvbmNoYW5n
ZSkgXAogICAgIG1hY3JvKHZpc2liaWxpdHljaGFuZ2UpIFwKLSAgICAvKiBFTkFCTEUoV0lMTF9S
RVZFQUxfRURHRV9FVkVOVCkgKi8gXAotICAgIG1hY3JvKHdlYmtpdHdpbGxyZXZlYWxib3R0b20p
IFwKLSAgICBtYWNybyh3ZWJraXR3aWxscmV2ZWFsbGVmdCkgXAotICAgIG1hY3JvKHdlYmtpdHdp
bGxyZXZlYWxyaWdodCkgXAotICAgIG1hY3JvKHdlYmtpdHdpbGxyZXZlYWx0b3ApIFwKLSAgICAv
KiBFbmQgb2YgRU5BQkxFKFdJTExfUkVWRUFMX0VER0VfRVZFTlQpICovIFwKLSAgICBtYWNybyh3
aGVlbCkgXAotICAgIG1hY3JvKHdyaXRlKSBcCi0gICAgbWFjcm8od3JpdGVlbmQpIFwKLSAgICBt
YWNybyh3cml0ZXN0YXJ0KSBcCi0gICAgbWFjcm8oem9vbSkgXAotICAgIFwKLSAgICBtYWNybyhE
T01BY3RpdmF0ZSkgXAotICAgIG1hY3JvKERPTUZvY3VzSW4pIFwKLSAgICBtYWNybyhET01Gb2N1
c091dCkgXAotICAgIG1hY3JvKERPTUNoYXJhY3RlckRhdGFNb2RpZmllZCkgXAotICAgIG1hY3Jv
KERPTU5vZGVJbnNlcnRlZCkgXAotICAgIG1hY3JvKERPTU5vZGVJbnNlcnRlZEludG9Eb2N1bWVu
dCkgXAotICAgIG1hY3JvKERPTU5vZGVSZW1vdmVkKSBcCi0gICAgbWFjcm8oRE9NTm9kZVJlbW92
ZWRGcm9tRG9jdW1lbnQpIFwKLSAgICBtYWNybyhET01TdWJ0cmVlTW9kaWZpZWQpIFwKLSAgICBt
YWNybyhET01Db250ZW50TG9hZGVkKSBcCi0gICAgXAotICAgIG1hY3JvKHdlYmtpdEJlZm9yZVRl
eHRJbnNlcnRlZCkgXAotICAgIG1hY3JvKHdlYmtpdEVkaXRhYmxlQ29udGVudENoYW5nZWQpIFwK
LSAgICBcCi0gICAgbWFjcm8oY2FucGxheSkgXAotICAgIG1hY3JvKGNhbnBsYXl0aHJvdWdoKSBc
Ci0gICAgbWFjcm8oZHVyYXRpb25jaGFuZ2UpIFwKLSAgICBtYWNybyhlbXB0aWVkKSBcCi0gICAg
bWFjcm8oZW5kZWQpIFwKLSAgICBtYWNybyhsb2FkZWRkYXRhKSBcCi0gICAgbWFjcm8obG9hZGVk
bWV0YWRhdGEpIFwKLSAgICBtYWNybyhwYXVzZSkgXAotICAgIG1hY3JvKHBsYXkpIFwKLSAgICBt
YWNybyhwbGF5aW5nKSBcCi0gICAgbWFjcm8ocmF0ZWNoYW5nZSkgXAotICAgIG1hY3JvKHNlZWtl
ZCkgXAotICAgIG1hY3JvKHNlZWtpbmcpIFwKLSAgICBtYWNybyh0aW1ldXBkYXRlKSBcCiAgICAg
bWFjcm8odm9sdW1lY2hhbmdlKSBcCiAgICAgbWFjcm8od2FpdGluZykgXAotICAgIFwKLSAgICBt
YWNybyhhY3RpdmUpIFwKLSAgICBtYWNybyhpbmFjdGl2ZSkgXAotICAgIG1hY3JvKGFkZHRyYWNr
KSBcCi0gICAgbWFjcm8oY3VlY2hhbmdlKSBcCi0gICAgbWFjcm8oZW50ZXIpIFwKLSAgICBtYWNy
byhleGl0KSBcCi0gICAgXAorICAgIG1hY3JvKHdlYmdsY29udGV4dGNyZWF0aW9uZXJyb3IpIFwK
KyAgICBtYWNybyh3ZWJnbGNvbnRleHRsb3N0KSBcCisgICAgbWFjcm8od2ViZ2xjb250ZXh0cmVz
dG9yZWQpIFwKKyAgICBtYWNybyh3ZWJraXRBbmltYXRpb25FbmQpIFwKKyAgICBtYWNybyh3ZWJr
aXRBbmltYXRpb25JdGVyYXRpb24pIFwKKyAgICBtYWNybyh3ZWJraXRBbmltYXRpb25TdGFydCkg
XAorICAgIG1hY3JvKHdlYmtpdEJlZm9yZVRleHRJbnNlcnRlZCkgXAorICAgIG1hY3JvKHdlYmtp
dEVkaXRhYmxlQ29udGVudENoYW5nZWQpIFwKKyAgICBtYWNybyh3ZWJraXRUcmFuc2l0aW9uRW5k
KSBcCiAgICAgbWFjcm8od2Via2l0YmVnaW5mdWxsc2NyZWVuKSBcCisgICAgbWFjcm8od2Via2l0
Y3VycmVudHBsYXliYWNrdGFyZ2V0aXN3aXJlbGVzc2NoYW5nZWQpIFwKKyAgICBtYWNybyh3ZWJr
aXRkZXZpY2Vwcm94aW1pdHkpIFwKICAgICBtYWNybyh3ZWJraXRlbmRmdWxsc2NyZWVuKSBcCi0g
ICAgXAotICAgIG1hY3JvKGFkZHNvdXJjZWJ1ZmZlcikgXAotICAgIG1hY3JvKHJlbW92ZXNvdXJj
ZWJ1ZmZlcikgXAotICAgIG1hY3JvKHNvdXJjZW9wZW4pIFwKLSAgICBtYWNybyhzb3VyY2VlbmRl
ZCkgXAotICAgIG1hY3JvKHNvdXJjZWNsb3NlKSBcCi0gICAgbWFjcm8odXBkYXRlKSBcCi0gICAg
bWFjcm8odXBkYXRlZW5kKSBcCi0gICAgbWFjcm8odXBkYXRlc3RhcnQpIFwKLSAgICBtYWNybyh3
ZWJraXRhZGRzb3VyY2VidWZmZXIpIFwKLSAgICBtYWNybyh3ZWJraXRyZW1vdmVzb3VyY2VidWZm
ZXIpIFwKLSAgICBtYWNybyh3ZWJraXRzb3VyY2VvcGVuKSBcCi0gICAgbWFjcm8od2Via2l0c291
cmNlZW5kZWQpIFwKLSAgICBtYWNybyh3ZWJraXRzb3VyY2VjbG9zZSkgXAotICAgIFwKKyAgICBt
YWNybyh3ZWJraXRmdWxsc2NyZWVuY2hhbmdlKSBcCisgICAgbWFjcm8od2Via2l0ZnVsbHNjcmVl
bmVycm9yKSBcCiAgICAgbWFjcm8od2Via2l0a2V5YWRkZWQpIFwKICAgICBtYWNybyh3ZWJraXRr
ZXllcnJvcikgXAogICAgIG1hY3JvKHdlYmtpdGtleW1lc3NhZ2UpIFwKICAgICBtYWNybyh3ZWJr
aXRuZWVka2V5KSBcCi0gICAgXAotICAgIG1hY3JvKHByb2dyZXNzKSBcCi0gICAgbWFjcm8oc3Rh
bGxlZCkgXAotICAgIG1hY3JvKHN1c3BlbmQpIFwKLSAgICBcCi0gICAgbWFjcm8od2Via2l0QW5p
bWF0aW9uRW5kKSBcCi0gICAgbWFjcm8od2Via2l0QW5pbWF0aW9uU3RhcnQpIFwKLSAgICBtYWNy
byh3ZWJraXRBbmltYXRpb25JdGVyYXRpb24pIFwKLSAgICBtYWNybyhhbmltYXRpb25lbmQpIFwK
LSAgICBtYWNybyhhbmltYXRpb25zdGFydCkgXAotICAgIG1hY3JvKGFuaW1hdGlvbml0ZXJhdGlv
bikgXAotICAgIFwKLSAgICBtYWNybyh3ZWJraXRUcmFuc2l0aW9uRW5kKSBcCi0gICAgbWFjcm8o
dHJhbnNpdGlvbmVuZCkgXAotICAgIFwKLSAgICBtYWNybyhvcmllbnRhdGlvbmNoYW5nZSkgXAot
ICAgIFwKLSAgICBtYWNybyh0aW1lb3V0KSBcCi0gICAgXAotICAgIG1hY3JvKHRvdWNoc3RhcnQp
IFwKLSAgICBtYWNybyh0b3VjaG1vdmUpIFwKLSAgICBtYWNybyh0b3VjaGVuZCkgXAotICAgIG1h
Y3JvKHRvdWNoY2FuY2VsKSBcCi0gICAgXAotICAgIG1hY3JvKHN1Y2Nlc3MpIFwKLSAgICBcCi0g
ICAgbWFjcm8obG9hZGVuZCkgXAotICAgIFwKLSAgICBtYWNybyh3ZWJraXRmdWxsc2NyZWVuY2hh
bmdlKSBcCi0gICAgbWFjcm8od2Via2l0ZnVsbHNjcmVlbmVycm9yKSBcCi0gICAgXAotICAgIG1h
Y3JvKHdlYmtpdHNwZWVjaGNoYW5nZSkgXAotICAgIFwKLSAgICBtYWNybyhhdWRpb3N0YXJ0KSBc
Ci0gICAgbWFjcm8oc291bmRzdGFydCkgXAotICAgIG1hY3JvKHNwZWVjaHN0YXJ0KSBcCi0gICAg
bWFjcm8oc3BlZWNoZW5kKSBcCi0gICAgbWFjcm8oc291bmRlbmQpIFwKLSAgICBtYWNybyhhdWRp
b2VuZCkgXAotICAgIG1hY3JvKHJlc3VsdCkgXAotICAgIG1hY3JvKG5vbWF0Y2gpIFwKLSAgICBt
YWNybyhzdGFydCkgXAotICAgIG1hY3JvKGVuZCkgXAotICAgIG1hY3JvKG1hcmspIFwKLSAgICBt
YWNybyhib3VuZGFyeSkgXAotICAgIG1hY3JvKHJlc3VtZSkgXAotICAgIFwKLSAgICBtYWNybyh3
ZWJnbGNvbnRleHRsb3N0KSBcCi0gICAgbWFjcm8od2ViZ2xjb250ZXh0cmVzdG9yZWQpIFwKLSAg
ICBtYWNybyh3ZWJnbGNvbnRleHRjcmVhdGlvbmVycm9yKSBcCi0gICAgXAotICAgIG1hY3JvKGF1
ZGlvcHJvY2VzcykgXAotICAgIFwKLSAgICBtYWNybyhjb25uZWN0aW5nKSBcCi0gICAgbWFjcm8o
YWRkc3RyZWFtKSBcCi0gICAgbWFjcm8ocmVtb3Zlc3RyZWFtKSBcCi0gICAgbWFjcm8oc2lnbmFs
aW5nc3RhdGVjaGFuZ2UpIFwKLSAgICBtYWNybyhyZW1vdmV0cmFjaykgXAotICAgIG1hY3JvKG92
ZXJjb25zdHJhaW5lZCkgXAotICAgIG1hY3JvKG11dGUpIFwKLSAgICBtYWNybyh1bm11dGUpIFwK
LSAgICBtYWNybyhzdGFydGVkKSBcCi0gICAgbWFjcm8oaWNlY29ubmVjdGlvbnN0YXRlY2hhbmdl
KSBcCi0gICAgbWFjcm8oaWNlY2FuZGlkYXRlKSBcCi0gICAgbWFjcm8obmVnb3RpYXRpb25uZWVk
ZWQpIFwKLSAgICBtYWNybyhkYXRhY2hhbm5lbCkgXAotICAgIG1hY3JvKHRvbmVjaGFuZ2UpIFwK
LSAgICBcCi0gICAgbWFjcm8oc2hvdykgXAotICAgIFwKLSAgICBtYWNybyhwb2ludGVybG9ja2No
YW5nZSkgXAotICAgIG1hY3JvKHBvaW50ZXJsb2NrZXJyb3IpIFwKLSAgICBcCi0gICAgbWFjcm8o
d2Via2l0cmVnaW9ub3ZlcnNldGNoYW5nZSkgXAotICAgIFwKICAgICBtYWNybyh3ZWJraXRuZXR3
b3JraW5mb2NoYW5nZSkgXAotICAgIFwKLSAgICBtYWNybyh3ZWJraXRyZXNvdXJjZXRpbWluZ2J1
ZmZlcmZ1bGwpIFwKLSAgICBcCi0gICAgbWFjcm8od2Via2l0ZGV2aWNlcHJveGltaXR5KSBcCi0g
ICAgXAotICAgIG1hY3JvKHNlY3VyaXR5cG9saWN5dmlvbGF0aW9uKSBcCi0gICAgXAotICAgIC8q
IEVOQUJMRShXSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICovIFwKLSAgICBtYWNybyh3ZWJraXRj
dXJyZW50cGxheWJhY2t0YXJnZXRpc3dpcmVsZXNzY2hhbmdlZCkgXAogICAgIG1hY3JvKHdlYmtp
dHBsYXliYWNrdGFyZ2V0YXZhaWxhYmlsaXR5Y2hhbmdlZCkgXAotICAgIC8qIEVuZCBvZiBFTkFC
TEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAqLyBcCi0gICAgXAotICAgIC8qIEVOQUJMRShJ
T1NfR0VTVFVSRV9FVkVOVFMpICovIFwKLSAgICBtYWNybyhnZXN0dXJlc3RhcnQpIFwKLSAgICBt
YWNybyhnZXN0dXJlY2hhbmdlKSBcCi0gICAgbWFjcm8oZ2VzdHVyZWVuZCkgXAotICAgIC8qIEVu
ZCBvZiBFTkFCTEUoSU9TX0dFU1RVUkVfRVZFTlRTKSAqLyBcCi0gICAgXAotICAgIC8qIEVOQUJM
RShHQU1FUEFEKSAqLyBcCi0gICAgbWFjcm8oZ2FtZXBhZGNvbm5lY3RlZCkgXAotICAgIG1hY3Jv
KGdhbWVwYWRkaXNjb25uZWN0ZWQpIFwKLSAgICAvKiBFbmQgb2YgRU5BQkxFKEdBTUVQQUQpICov
IFwKLSAgICBcCi0gICAgLyogRU5BQkxFKFJFUVVFU1RfQVVUT0NPTVBMRVRFKSAqLyBcCi0gICAg
bWFjcm8oYXV0b2NvbXBsZXRlKSBcCi0gICAgbWFjcm8oYXV0b2NvbXBsZXRlZXJyb3IpIFwKLSAg
ICAvKiBFbmQgb2YgRU5BQkxFKFJFUVVFU1RfQVVUT0NPTVBMRVRFKSAqLyBcCi0gICAgXAotICAg
IC8qIFBMQVRGT1JNKElPUykgKi8gXAogICAgIG1hY3JvKHdlYmtpdHByZXNlbnRhdGlvbm1vZGVj
aGFuZ2VkKSBcCi0gICAgLyogRW5kIG9mIEVOQUJMRShXSVJFTEVTU19QTEFZQkFDS19UQVJHRVQp
ICovIFwKLQorICAgIG1hY3JvKHdlYmtpdHJlZ2lvbm92ZXJzZXRjaGFuZ2UpIFwKKyAgICBtYWNy
byh3ZWJraXRyZW1vdmVzb3VyY2VidWZmZXIpIFwKKyAgICBtYWNybyh3ZWJraXRyZXNvdXJjZXRp
bWluZ2J1ZmZlcmZ1bGwpIFwKKyAgICBtYWNybyh3ZWJraXRzb3VyY2VjbG9zZSkgXAorICAgIG1h
Y3JvKHdlYmtpdHNvdXJjZWVuZGVkKSBcCisgICAgbWFjcm8od2Via2l0c291cmNlb3BlbikgXAor
ICAgIG1hY3JvKHdlYmtpdHNwZWVjaGNoYW5nZSkgXAorICAgIG1hY3JvKHdlYmtpdHdpbGxyZXZl
YWxib3R0b20pIFwKKyAgICBtYWNybyh3ZWJraXR3aWxscmV2ZWFsbGVmdCkgXAorICAgIG1hY3Jv
KHdlYmtpdHdpbGxyZXZlYWxyaWdodCkgXAorICAgIG1hY3JvKHdlYmtpdHdpbGxyZXZlYWx0b3Ap
IFwKKyAgICBtYWNybyh3aGVlbCkgXAorICAgIG1hY3JvKHdyaXRlKSBcCisgICAgbWFjcm8od3Jp
dGVlbmQpIFwKKyAgICBtYWNybyh3cml0ZXN0YXJ0KSBcCisgICAgbWFjcm8oem9vbSkgXAogLy8g
ZW5kIG9mIERPTV9FVkVOVF9OQU1FU19GT1JfRUFDSAogCiBjbGFzcyBFdmVudE5hbWVzIHsKICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShFdmVudE5hbWVzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7Ci0gICAgaW50IGR1bW15OyAvLyBOZWVkZWQgdG8gbWFrZSBpbml0aWFsaXphdGlvbiBtYWNy
byB3b3JrLgotICAgIC8vIFByaXZhdGUgdG8gcHJldmVudCBhY2NpZGVudGFsIGNhbGwgdG8gRXZl
bnROYW1lcygpIGluc3RlYWQgb2YgZXZlbnROYW1lcygpCi0gICAgRXZlbnROYW1lcygpOwotICAg
IGZyaWVuZCBjbGFzcyBUaHJlYWRHbG9iYWxEYXRhOwogCiBwdWJsaWM6Ci0gICAgI2RlZmluZSBE
T01fRVZFTlRfTkFNRVNfREVDTEFSRShuYW1lKSBBdG9taWNTdHJpbmcgbmFtZSMjRXZlbnQ7Cisj
ZGVmaW5lIERPTV9FVkVOVF9OQU1FU19ERUNMQVJFKG5hbWUpIGNvbnN0IEF0b21pY1N0cmluZyBu
YW1lIyNFdmVudDsKICAgICBET01fRVZFTlRfTkFNRVNfRk9SX0VBQ0goRE9NX0VWRU5UX05BTUVT
X0RFQ0xBUkUpCi0gICAgI3VuZGVmIERPTV9FVkVOVF9OQU1FU19ERUNMQVJFCi0KLSAgICBpbmxp
bmUgYm9vbCBpc0dlc3R1cmVFdmVudFR5cGUoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUp
IGNvbnN0Ci0gICAgewotICAgICAgICByZXR1cm4gZXZlbnRUeXBlID09IGdlc3R1cmVzdGFydEV2
ZW50IHx8IGV2ZW50VHlwZSA9PSBnZXN0dXJlY2hhbmdlRXZlbnQgfHwgZXZlbnRUeXBlID09IGdl
c3R1cmVlbmRFdmVudDsKLSAgICB9Ci0KLSAgICBpbmxpbmUgYm9vbCBpc1RvdWNoRXZlbnRUeXBl
KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlKSBjb25zdAotICAgIHsKLSAgICAgICAgcmV0
dXJuIGV2ZW50VHlwZSA9PSB0b3VjaHN0YXJ0RXZlbnQKLSAgICAgICAgICAgIHx8IGV2ZW50VHlw
ZSA9PSB0b3VjaG1vdmVFdmVudAotICAgICAgICAgICAgfHwgZXZlbnRUeXBlID09IHRvdWNoZW5k
RXZlbnQKLSAgICAgICAgICAgIHx8IGV2ZW50VHlwZSA9PSB0b3VjaGNhbmNlbEV2ZW50OwotICAg
IH0KLQotICAgIFZlY3RvcjxBdG9taWNTdHJpbmc+IHRvdWNoRXZlbnROYW1lcygpIGNvbnN0Ci0g
ICAgewotICAgICAgICBWZWN0b3I8QXRvbWljU3RyaW5nPiBuYW1lczsKLSAgICAgICAgbmFtZXMu
cmVzZXJ2ZUNhcGFjaXR5KDQpOwotICAgICAgICBuYW1lcy5hcHBlbmQodG91Y2hzdGFydEV2ZW50
KTsKLSAgICAgICAgbmFtZXMuYXBwZW5kKHRvdWNobW92ZUV2ZW50KTsKLSAgICAgICAgbmFtZXMu
YXBwZW5kKHRvdWNoZW5kRXZlbnQpOwotICAgICAgICBuYW1lcy5hcHBlbmQodG91Y2hjYW5jZWxF
dmVudCk7Ci0gICAgICAgIHJldHVybiBuYW1lczsKLSAgICB9CisjdW5kZWYgRE9NX0VWRU5UX05B
TUVTX0RFQ0xBUkUKIAorICAgIC8vIEZJWE1FOiBJbmVsZWdhbnQgdG8gY2FsbCB0aGVzZSBib3Ro
IGV2ZW50IG5hbWVzIGFuZCBldmVudCB0eXBlcy4KKyAgICAvLyBXZSBzaG91bGQgY2hvb3NlIG9u
ZSB0ZXJtIGFuZCBzdGljayB0byBpdC4KKyAgICBib29sIGlzR2VzdHVyZUV2ZW50VHlwZShjb25z
dCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSkgY29uc3Q7CisgICAgYm9vbCBpc1RvdWNoRXZlbnRU
eXBlKGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlKSBjb25zdDsKICNpZiBFTkFCTEUoR0FN
RVBBRCkKLSAgICBpbmxpbmUgYm9vbCBpc0dhbWVwYWRFdmVudFR5cGUoY29uc3QgQXRvbWljU3Ry
aW5nJiBldmVudFR5cGUpIGNvbnN0Ci0gICAgewotICAgICAgICByZXR1cm4gZXZlbnRUeXBlID09
IGdhbWVwYWRjb25uZWN0ZWRFdmVudAotICAgICAgICAgICAgfHwgZXZlbnRUeXBlID09IGdhbWVw
YWRkaXNjb25uZWN0ZWRFdmVudDsKLSAgICB9CisgICAgYm9vbCBpc0dhbWVwYWRFdmVudFR5cGUo
Y29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUpIGNvbnN0OwogI2VuZGlmCisKKyAgICBzdGQ6
OmFycmF5PHN0ZDo6cmVmZXJlbmNlX3dyYXBwZXI8Y29uc3QgQXRvbWljU3RyaW5nPiwgND4gdG91
Y2hFdmVudE5hbWVzKCkgY29uc3Q7CisKK3ByaXZhdGU6CisgICAgaW50IGR1bW15OyAvLyBOZWVk
ZWQgdG8gbWFrZSBpbml0aWFsaXphdGlvbiBtYWNybyB3b3JrLgorICAgIEV2ZW50TmFtZXMoKTsg
Ly8gUHJpdmF0ZSB0byBwcmV2ZW50IGFjY2lkZW50YWwgY2FsbCB0byBFdmVudE5hbWVzKCkgaW5z
dGVhZCBvZiBldmVudE5hbWVzKCkuCisgICAgZnJpZW5kIGNsYXNzIFRocmVhZEdsb2JhbERhdGE7
IC8vIEFsbG93IFRocmVhZEdsb2JhbERhdGEgdG8gY3JlYXRlIHRoZSBwZXItdGhyZWFkIEV2ZW50
TmFtZXMgb2JqZWN0LgogfTsKIAotaW5saW5lIEV2ZW50TmFtZXMmIGV2ZW50TmFtZXMoKQorY29u
c3QgRXZlbnROYW1lcyYgZXZlbnROYW1lcygpOworCitpbmxpbmUgY29uc3QgRXZlbnROYW1lcyYg
ZXZlbnROYW1lcygpCiB7CiAgICAgcmV0dXJuIHRocmVhZEdsb2JhbERhdGEoKS5ldmVudE5hbWVz
KCk7CiB9CiAKK2lubGluZSBib29sIEV2ZW50TmFtZXM6OmlzR2VzdHVyZUV2ZW50VHlwZShjb25z
dCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSkgY29uc3QKK3sKKyAgICByZXR1cm4gZXZlbnRUeXBl
ID09IGdlc3R1cmVzdGFydEV2ZW50IHx8IGV2ZW50VHlwZSA9PSBnZXN0dXJlY2hhbmdlRXZlbnQg
fHwgZXZlbnRUeXBlID09IGdlc3R1cmVlbmRFdmVudDsKK30KKworaW5saW5lIGJvb2wgRXZlbnRO
YW1lczo6aXNUb3VjaEV2ZW50VHlwZShjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSkgY29u
c3QKK3sKKyAgICByZXR1cm4gZXZlbnRUeXBlID09IHRvdWNoc3RhcnRFdmVudAorICAgICAgICB8
fCBldmVudFR5cGUgPT0gdG91Y2htb3ZlRXZlbnQKKyAgICAgICAgfHwgZXZlbnRUeXBlID09IHRv
dWNoZW5kRXZlbnQKKyAgICAgICAgfHwgZXZlbnRUeXBlID09IHRvdWNoY2FuY2VsRXZlbnQ7Cit9
CisKK2lubGluZSBzdGQ6OmFycmF5PHN0ZDo6cmVmZXJlbmNlX3dyYXBwZXI8Y29uc3QgQXRvbWlj
U3RyaW5nPiwgND4gRXZlbnROYW1lczo6dG91Y2hFdmVudE5hbWVzKCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4geyB7IHRvdWNoc3RhcnRFdmVudCwgdG91Y2htb3ZlRXZlbnQsIHRvdWNoZW5kRXZlbnQs
IHRvdWNoY2FuY2VsRXZlbnQgfSB9OworfQorCisjaWYgRU5BQkxFKEdBTUVQQUQpCisKK2lubGlu
ZSBib29sIEV2ZW50TmFtZXM6OmlzR2FtZXBhZEV2ZW50VHlwZShjb25zdCBBdG9taWNTdHJpbmcm
IGV2ZW50VHlwZSkgY29uc3QKK3sKKyAgICByZXR1cm4gZXZlbnRUeXBlID09IGdhbWVwYWRjb25u
ZWN0ZWRFdmVudAorICAgICAgICB8fCBldmVudFR5cGUgPT0gZ2FtZXBhZGRpc2Nvbm5lY3RlZEV2
ZW50OworfQorCisjZW5kaWYKKwogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9FdmVudFRhcmdldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQu
Y3BwCmluZGV4IDdmMzg5NWIxNzY2Y2FmNGQ1ZDMwYzg3NWI3MGY1NDFjNmFhMDUyMmEuLmZmZTc4
NjQ5NWRhOTFmOTZmY2M4MzI3NmZjODY5OTM4M2QyMGVjODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FdmVudFRhcmdldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50
VGFyZ2V0LmNwcApAQCAtMzgsNiArMzgsNyBAQAogI2luY2x1ZGUgIldlYktpdEFuaW1hdGlvbkV2
ZW50LmgiCiAjaW5jbHVkZSAiV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmgiCiAjaW5jbHVkZSA8d3Rm
L01haW5UaHJlYWQuaD4KKyNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbmNsdWRl
IDx3dGYvUmVmLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogI2luY2x1ZGUgPHd0
Zi9WZWN0b3IuaD4KQEAgLTI2MywxNyArMjY0LDEwIEBAIHZvaWQgRXZlbnRUYXJnZXQ6OmZpcmVF
dmVudExpc3RlbmVycyhFdmVudCogZXZlbnQsIEV2ZW50VGFyZ2V0RGF0YSogZCwgRXZlbnRMaXN0
CiAKIGNvbnN0IEV2ZW50TGlzdGVuZXJWZWN0b3ImIEV2ZW50VGFyZ2V0OjpnZXRFdmVudExpc3Rl
bmVycyhjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSkKIHsKLSAgICBERVBSRUNBVEVEX0RF
RklORV9TVEFUSUNfTE9DQUwoRXZlbnRMaXN0ZW5lclZlY3RvciwgZW1wdHlWZWN0b3IsICgpKTsK
LQotICAgIEV2ZW50VGFyZ2V0RGF0YSogZCA9IGV2ZW50VGFyZ2V0RGF0YSgpOwotICAgIGlmICgh
ZCkKLSAgICAgICAgcmV0dXJuIGVtcHR5VmVjdG9yOwotCi0gICAgRXZlbnRMaXN0ZW5lclZlY3Rv
ciogbGlzdGVuZXJWZWN0b3IgPSBkLT5ldmVudExpc3RlbmVyTWFwLmZpbmQoZXZlbnRUeXBlKTsK
LSAgICBpZiAoIWxpc3RlbmVyVmVjdG9yKQotICAgICAgICByZXR1cm4gZW1wdHlWZWN0b3I7Ci0K
LSAgICByZXR1cm4gKmxpc3RlbmVyVmVjdG9yOworICAgIGF1dG8qIGRhdGEgPSBldmVudFRhcmdl
dERhdGEoKTsKKyAgICBhdXRvKiBsaXN0ZW5lclZlY3RvciA9IGRhdGEgPyBkYXRhLT5ldmVudExp
c3RlbmVyTWFwLmZpbmQoZXZlbnRUeXBlKSA6IG51bGxwdHI7CisgICAgc3RhdGljIE5ldmVyRGVz
dHJveWVkPEV2ZW50TGlzdGVuZXJWZWN0b3I+IGVtcHR5VmVjdG9yOworICAgIHJldHVybiBsaXN0
ZW5lclZlY3RvciA/ICpsaXN0ZW5lclZlY3RvciA6IGVtcHR5VmVjdG9yLmdldCgpOwogfQogCiB2
b2lkIEV2ZW50VGFyZ2V0OjpyZW1vdmVBbGxFdmVudExpc3RlbmVycygpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAK
aW5kZXggODczZjMxZTAyMGQ2MDI3NDBkNTYyY2U3OTZkNTMzNmEwYzYxMzUxNC4uMTI2ZGIyMTZk
YmVhNGQxN2I5NmJhMmUyNGVlZjgxYWE5YzZhNDhlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL05vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcApAQCAtMTcw
MCw0NyArMTcwMCw0MCBAQCB2b2lkIE5vZGU6OmRpZE1vdmVUb05ld0RvY3VtZW50KERvY3VtZW50
KiBvbGREb2N1bWVudCkKIHsKICAgICBUcmVlU2NvcGVBZG9wdGVyOjplbnN1cmVEaWRNb3ZlVG9O
ZXdEb2N1bWVudFdhc0NhbGxlZChvbGREb2N1bWVudCk7CiAKLSAgICBpZiAoY29uc3QgRXZlbnRU
YXJnZXREYXRhKiBldmVudFRhcmdldERhdGEgPSB0aGlzLT5ldmVudFRhcmdldERhdGEoKSkgewot
ICAgICAgICBjb25zdCBFdmVudExpc3RlbmVyTWFwJiBsaXN0ZW5lck1hcCA9IGV2ZW50VGFyZ2V0
RGF0YS0+ZXZlbnRMaXN0ZW5lck1hcDsKLSAgICAgICAgaWYgKCFsaXN0ZW5lck1hcC5pc0VtcHR5
KCkpIHsKLSAgICAgICAgICAgIFZlY3RvcjxBdG9taWNTdHJpbmc+IHR5cGVzID0gbGlzdGVuZXJN
YXAuZXZlbnRUeXBlcygpOwotICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHR5
cGVzLnNpemUoKTsgKytpKQotICAgICAgICAgICAgICAgIGRvY3VtZW50KCkuYWRkTGlzdGVuZXJU
eXBlSWZOZWVkZWQodHlwZXNbaV0pOworICAgIGlmIChhdXRvKiBldmVudFRhcmdldERhdGEgPSB0
aGlzLT5ldmVudFRhcmdldERhdGEoKSkgeworICAgICAgICBpZiAoIWV2ZW50VGFyZ2V0RGF0YS0+
ZXZlbnRMaXN0ZW5lck1hcC5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAgIGZvciAoYXV0byYgdHlw
ZSA6IGV2ZW50VGFyZ2V0RGF0YS0+ZXZlbnRMaXN0ZW5lck1hcC5ldmVudFR5cGVzKCkpCisgICAg
ICAgICAgICAgICAgZG9jdW1lbnQoKS5hZGRMaXN0ZW5lclR5cGVJZk5lZWRlZCh0eXBlKTsKICAg
ICAgICAgfQogICAgIH0KIAotICAgIGlmIChBWE9iamVjdENhY2hlOjphY2Nlc3NpYmlsaXR5RW5h
YmxlZCgpICYmIG9sZERvY3VtZW50KQotICAgICAgICBpZiAoQVhPYmplY3RDYWNoZSogY2FjaGUg
PSBvbGREb2N1bWVudC0+ZXhpc3RpbmdBWE9iamVjdENhY2hlKCkpCisgICAgaWYgKEFYT2JqZWN0
Q2FjaGU6OmFjY2Vzc2liaWxpdHlFbmFibGVkKCkgJiYgb2xkRG9jdW1lbnQpIHsKKyAgICAgICAg
aWYgKGF1dG8qIGNhY2hlID0gb2xkRG9jdW1lbnQtPmV4aXN0aW5nQVhPYmplY3RDYWNoZSgpKQog
ICAgICAgICAgICAgY2FjaGUtPnJlbW92ZSh0aGlzKTsKLQotICAgIGNvbnN0IEV2ZW50TGlzdGVu
ZXJWZWN0b3ImIG1vdXNld2hlZWxMaXN0ZW5lcnMgPSBnZXRFdmVudExpc3RlbmVycyhldmVudE5h
bWVzKCkubW91c2V3aGVlbEV2ZW50KTsKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1vdXNl
d2hlZWxMaXN0ZW5lcnMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgb2xkRG9jdW1lbnQtPmRpZFJl
bW92ZVdoZWVsRXZlbnRIYW5kbGVyKCk7Ci0gICAgICAgIGRvY3VtZW50KCkuZGlkQWRkV2hlZWxF
dmVudEhhbmRsZXIoKTsKICAgICB9CiAKLSAgICBjb25zdCBFdmVudExpc3RlbmVyVmVjdG9yJiB3
aGVlbExpc3RlbmVycyA9IGdldEV2ZW50TGlzdGVuZXJzKGV2ZW50TmFtZXMoKS53aGVlbEV2ZW50
KTsKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHdoZWVsTGlzdGVuZXJzLnNpemUoKTsgKytp
KSB7CisgICAgdW5zaWduZWQgbnVtV2hlZWxFdmVudEhhbmRsZXJzID0gZ2V0RXZlbnRMaXN0ZW5l
cnMoZXZlbnROYW1lcygpLm1vdXNld2hlZWxFdmVudCkuc2l6ZSgpCisgICAgICAgICsgZ2V0RXZl
bnRMaXN0ZW5lcnMoZXZlbnROYW1lcygpLndoZWVsRXZlbnQpLnNpemUoKTsKKyAgICBmb3IgKHVu
c2lnbmVkIGkgPSAwOyBpIDwgbnVtV2hlZWxFdmVudEhhbmRsZXJzOyArK2kpIHsKICAgICAgICAg
b2xkRG9jdW1lbnQtPmRpZFJlbW92ZVdoZWVsRXZlbnRIYW5kbGVyKCk7CiAgICAgICAgIGRvY3Vt
ZW50KCkuZGlkQWRkV2hlZWxFdmVudEhhbmRsZXIoKTsKICAgICB9CiAKLSAgICBWZWN0b3I8QXRv
bWljU3RyaW5nPiB0b3VjaEV2ZW50TmFtZXMgPSBldmVudE5hbWVzKCkudG91Y2hFdmVudE5hbWVz
KCk7Ci0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCB0b3VjaEV2ZW50TmFtZXMuc2l6ZSgpOyAr
K2kpIHsKLSAgICAgICAgY29uc3QgRXZlbnRMaXN0ZW5lclZlY3RvciYgbGlzdGVuZXJzID0gZ2V0
RXZlbnRMaXN0ZW5lcnModG91Y2hFdmVudE5hbWVzW2ldKTsKLSAgICAgICAgZm9yIChzaXplX3Qg
aiA9IDA7IGogPCBsaXN0ZW5lcnMuc2l6ZSgpOyArK2opIHsKLSAgICAgICAgICAgIG9sZERvY3Vt
ZW50LT5kaWRSZW1vdmVUb3VjaEV2ZW50SGFuZGxlcih0aGlzKTsKLSAgICAgICAgICAgIGRvY3Vt
ZW50KCkuZGlkQWRkVG91Y2hFdmVudEhhbmRsZXIodGhpcyk7Ci0gICAgICAgIH0KKyAgICB1bnNp
Z25lZCBudW1Ub3VjaEV2ZW50SGFuZGxlcnMgPSAwOworICAgIGZvciAoYXV0byYgbmFtZSA6IGV2
ZW50TmFtZXMoKS50b3VjaEV2ZW50TmFtZXMoKSkKKyAgICAgICAgbnVtVG91Y2hFdmVudEhhbmRs
ZXJzICs9IGdldEV2ZW50TGlzdGVuZXJzKG5hbWUpLnNpemUoKTsKKyAgICBmb3IgKHVuc2lnbmVk
IGkgPSAwOyBpIDwgbnVtVG91Y2hFdmVudEhhbmRsZXJzOyArK2kpIHsKKyAgICAgICAgb2xkRG9j
dW1lbnQtPmRpZFJlbW92ZVRvdWNoRXZlbnRIYW5kbGVyKHRoaXMpOworICAgICAgICBkb2N1bWVu
dCgpLmRpZEFkZFRvdWNoRXZlbnRIYW5kbGVyKHRoaXMpOwogICAgIH0KIAotICAgIGlmIChWZWN0
b3I8c3RkOjp1bmlxdWVfcHRyPE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24+PiogcmVnaXN0
cnkgPSBtdXRhdGlvbk9ic2VydmVyUmVnaXN0cnkoKSkgewotICAgICAgICBmb3IgKGNvbnN0IGF1
dG8mIHJlZ2lzdHJhdGlvbiA6ICpyZWdpc3RyeSkKKyAgICBpZiAoYXV0byogcmVnaXN0cnkgPSBt
dXRhdGlvbk9ic2VydmVyUmVnaXN0cnkoKSkgeworICAgICAgICBmb3IgKGF1dG8mIHJlZ2lzdHJh
dGlvbiA6ICpyZWdpc3RyeSkKICAgICAgICAgICAgIGRvY3VtZW50KCkuYWRkTXV0YXRpb25PYnNl
cnZlclR5cGVzKHJlZ2lzdHJhdGlvbi0+bXV0YXRpb25UeXBlcygpKTsKICAgICB9CiAKLSAgICBp
ZiAoSGFzaFNldDxNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uKj4qIHRyYW5zaWVudFJlZ2lz
dHJ5ID0gdHJhbnNpZW50TXV0YXRpb25PYnNlcnZlclJlZ2lzdHJ5KCkpIHsKLSAgICAgICAgZm9y
IChjb25zdCBhdXRvJiByZWdpc3RyYXRpb24gOiAqdHJhbnNpZW50UmVnaXN0cnkpCisgICAgaWYg
KGF1dG8qIHRyYW5zaWVudFJlZ2lzdHJ5ID0gdHJhbnNpZW50TXV0YXRpb25PYnNlcnZlclJlZ2lz
dHJ5KCkpIHsKKyAgICAgICAgZm9yIChhdXRvJiByZWdpc3RyYXRpb24gOiAqdHJhbnNpZW50UmVn
aXN0cnkpCiAgICAgICAgICAgICBkb2N1bWVudCgpLmFkZE11dGF0aW9uT2JzZXJ2ZXJUeXBlcyhy
ZWdpc3RyYXRpb24tPm11dGF0aW9uVHlwZXMoKSk7CiAgICAgfQogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>248156</attachid>
            <date>2015-03-07 09:20:36 -0800</date>
            <delta_ts>2015-03-07 10:54:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-142438-20150307092014.patch</filename>
            <type>text/plain</type>
            <size>22093</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgxMjA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMThlYjFlZmU3NGRlMzU3
NzhkNDIyODM1ZGU2YjVkMmFkM2JjMzE4Ny4uMGIzODllM2RlNDY1MzVhZjAxOTc5NTAyNzgzMDcw
ZDAxNzBkYmY5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDE1LTAzLTA3ICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBEbyBhIGJpdCBvZiBFdmVudE5h
bWVzIHRpZHlpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE0MjQzOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogZG9tL0V2ZW50TmFtZXMuaDogU29ydGVkIHRoZSBldmVudCBuYW1lcyBpbnRvIGEgc2lu
Z2xlIGxpc3QgaW5zdGVhZCBvZgorICAgICAgICB0aGUgcnVkaW1lbnRhcnkgYXR0ZW1wdHMgYXQg
b3JnYW5pemluZyB0aGUgbGlzdCB0aGF0IHNpbXBseSBtYWRlIGl0IGhhcmQKKyAgICAgICAgdG8g
c2VlIHdoYXQgaXMgYW5kIGlzIG5vdCBpbiB0aGUgbGlzdC4gUmVtb3ZlZCB0d28gdW51c2VkIGV2
ZW50IG5hbWVzLgorICAgICAgICBJJ20gc3VyZSB0aGVyZSBhcmUgbW9yZS4gUmVvcmdhbml6ZWQg
dGhlIEV2ZW50TmFtZSBjbGFzcywgbm93IGEgc3RydWN0LAorICAgICAgICBpbnRvIGEgbW9yZSBj
b252ZW50aW9uYWwgInB1YmxpYyBmaXJzdCIgb3JkZXIuIEdvdCB0aGUgZnVuY3Rpb24gYm9kaWVz
CisgICAgICAgIG91dCBvZiB0aGUgc3RydWN0IHNvIHdlIGNhbiBzZWUgbW9yZSBjbGVhcmx5IHdo
YXQgaXMgaW4gdGhlIHN0cnVjdC4KKyAgICAgICAgTWFkZSBtb3JlIHRoaW5ncyBjb25zdC4KKyAg
ICAgICAgKFdlYkNvcmU6OkV2ZW50TmFtZXM6OnRvdWNoRXZlbnROYW1lcyk6IENoYW5nZWQgdGhl
IHJldHVybiB2YWx1ZSB0byBhCisgICAgICAgIHN0ZDo6YXJyYXkgb2YgcmVmZXJlbmNlIHdyYXBw
ZXJzIHJhdGhlciB0aGFuIGEgdmVjdG9yIG9mIGF0b21pYyBzdHJpbmdzLgorICAgICAgICBUaGlz
IHNob3VsZCBlbGltaW5hdGUgdW5uZWNlc3NhcnkgbWVtb3J5IGFsbG9jYXRpb24gYW5kIHJlZmVy
ZW5jZSBjb3VudCBjaHVybi4KKworICAgICAgICAqIGRvbS9FdmVudE5hbWVzLmNwcDogQ2hhbmdl
ZCBpbml0aWFsaXphdGlvbiBiYXNlZCBvbiB0aGUgYWJvdmUuCisKKyAgICAgICAgKiBkb20vRXZl
bnRUYXJnZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRUYXJnZXQ6OmdldEV2ZW50TGlz
dGVuZXJzKTogVXNlIE5ldmVyRGVzdHJveWVkIGluc3RlYWQgb2YKKyAgICAgICAgREVQUkVDQVRF
RF9ERUZJTkVfTE9DQUwgYW5kIGFsc28ganVzdCB0aWdodGVuZWQgdXAgdGhlIGZ1bmN0aW9uIGEg
Yml0LgorCisgICAgICAgICogZG9tL05vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6
ZGlkTW92ZVRvTmV3RG9jdW1lbnQpOiBTdHJlYW1saW5lZCB0aGlzIGZ1bmN0aW9uIHdpdGgKKyAg
ICAgICAgbW9kZXJuIGZvciBsb29wcywgYXV0bywgYW5kIGFsc28gdHJpZWQgdG8gbWFrZSB3aGF0
IGl0IGRvZXMgYSBiaXQgY2xlYXJlciwKKyAgICAgICAgYnkgbWFraW5nIGxvb3BzIHRoYXQgYXJl
IGp1c3QgYmFzZWQgb24gbnVtYmVycyBvZiBldmVudCBsaXN0ZW5lcnMgbG9vayBhCisgICAgICAg
IGJpdCBsZXNzIGxpa2UgY29kZSB0aGF0IGFjdHVhbGx5IGl0ZXJhdGVzIGEgdmVjdG9yIG9mIGxp
c3RlbmVycy4gQWxzbyB1c2VkCisgICAgICAgIHRoZSB0eXBlIHVuc2lnbmVkIGluc3RlYWQgb2Yg
c2l6ZV90LgorCiAyMDE1LTAzLTA2ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgW0NvbnRlbnQgRXh0ZW5zaW9uc10gTW92ZSBjb21waWxpbmcgb2YgY29udGVudCBleHRl
bnNpb25zIHRvIHRoZSBVSVByb2Nlc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9F
dmVudE5hbWVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmNwcAppbmRleCA2
YzVmMjBlY2Y5NTlmZjEzZTYyZmZhNmNmZmNmZmFjNDM2MzA2MDViLi5mY2M1NjAxZmM2MDEwMTcz
NzE0NmQ1NjE5OTMwY2Y2ZTliZGVhYTZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RXZlbnROYW1lcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuY3BwCkBA
IC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNSBBcHBsZSBJbmMuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMDUsIDIwMTUgQXBwbGUgSW5jLgogICoKICAqIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlm
eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBA
IC0yNCwxMSArMjQsMTAgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogI2RlZmluZSBJTklUSUFM
SVpFX0VWRU5UX05BTUUobmFtZSkgXAotICAgICwgbmFtZSMjRXZlbnQoI25hbWUsIEF0b21pY1N0
cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpCisgICAgbmFtZSMjRXZlbnQoI25hbWUsIEF0b21p
Y1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpLAogCiBFdmVudE5hbWVzOjpFdmVudE5hbWVz
KCkKLSAgICA6IGR1bW15KDApCi0gICAgRE9NX0VWRU5UX05BTUVTX0ZPUl9FQUNIKElOSVRJQUxJ
WkVfRVZFTlRfTkFNRSkKKyAgICA6IERPTV9FVkVOVF9OQU1FU19GT1JfRUFDSChJTklUSUFMSVpF
X0VWRU5UX05BTUUpIGR1bW15KDApCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FdmVudE5hbWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCmluZGV4
IDJkYWNlYzQxZjc0NWVkMzlkYmE3MTFjYzg1Zjc5NzZhN2ViMTU3YTYuLjc2MGU3ZDUzNmI0YmE0
YjU1YTM5NmQyYzBkYjVkNzVmMjY5NTM0OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FdmVudE5hbWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaApAQCAt
MSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDUsIDIwMDcgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA1LCAyMDA3LCAyMDE1IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAwNiBKb24g
U2hpZXIgKGpzaGllckBpYXN0YXRlLmVkdSkKICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBz
b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCkBAIC0yMywxMyArMjMsMzYg
QEAKICNkZWZpbmUgRXZlbnROYW1lc19oCiAKICNpbmNsdWRlICJUaHJlYWRHbG9iYWxEYXRhLmgi
CisjaW5jbHVkZSA8YXJyYXk+CisjaW5jbHVkZSA8ZnVuY3Rpb25hbD4KICNpbmNsdWRlIDx3dGYv
dGV4dC9BdG9taWNTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAjZGVmaW5lIERP
TV9FVkVOVF9OQU1FU19GT1JfRUFDSChtYWNybykgXAotICAgIFwKKyAgICBtYWNybyhET01BY3Rp
dmF0ZSkgXAorICAgIG1hY3JvKERPTUNoYXJhY3RlckRhdGFNb2RpZmllZCkgXAorICAgIG1hY3Jv
KERPTUNvbnRlbnRMb2FkZWQpIFwKKyAgICBtYWNybyhET01Gb2N1c0luKSBcCisgICAgbWFjcm8o
RE9NRm9jdXNPdXQpIFwKKyAgICBtYWNybyhET01Ob2RlSW5zZXJ0ZWQpIFwKKyAgICBtYWNybyhE
T01Ob2RlSW5zZXJ0ZWRJbnRvRG9jdW1lbnQpIFwKKyAgICBtYWNybyhET01Ob2RlUmVtb3ZlZCkg
XAorICAgIG1hY3JvKERPTU5vZGVSZW1vdmVkRnJvbURvY3VtZW50KSBcCisgICAgbWFjcm8oRE9N
U3VidHJlZU1vZGlmaWVkKSBcCiAgICAgbWFjcm8oYWJvcnQpIFwKKyAgICBtYWNybyhhY3RpdmUp
IFwKKyAgICBtYWNybyhhZGRzb3VyY2VidWZmZXIpIFwKKyAgICBtYWNybyhhZGRzdHJlYW0pIFwK
KyAgICBtYWNybyhhZGR0cmFjaykgXAorICAgIG1hY3JvKGFuaW1hdGlvbmVuZCkgXAorICAgIG1h
Y3JvKGFuaW1hdGlvbml0ZXJhdGlvbikgXAorICAgIG1hY3JvKGFuaW1hdGlvbnN0YXJ0KSBcCisg
ICAgbWFjcm8oYXVkaW9lbmQpIFwKKyAgICBtYWNybyhhdWRpb3Byb2Nlc3MpIFwKKyAgICBtYWNy
byhhdWRpb3N0YXJ0KSBcCisgICAgbWFjcm8oYXV0b2NvbXBsZXRlKSBcCisgICAgbWFjcm8oYXV0
b2NvbXBsZXRlZXJyb3IpIFwKICAgICBtYWNybyhiZWZvcmVjb3B5KSBcCiAgICAgbWFjcm8oYmVm
b3JlY3V0KSBcCiAgICAgbWFjcm8oYmVmb3JlbG9hZCkgXApAQCAtMzcsNyArNjAsMTAgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKGJlZm9yZXVubG9hZCkgXAogICAgIG1hY3JvKGJs
b2NrZWQpIFwKICAgICBtYWNybyhibHVyKSBcCisgICAgbWFjcm8oYm91bmRhcnkpIFwKICAgICBt
YWNybyhjYWNoZWQpIFwKKyAgICBtYWNybyhjYW5wbGF5KSBcCisgICAgbWFjcm8oY2FucGxheXRo
cm91Z2gpIFwKICAgICBtYWNybyhjaGFuZ2UpIFwKICAgICBtYWNybyhjaGFyZ2luZ2NoYW5nZSkg
XAogICAgIG1hY3JvKGNoYXJnaW5ndGltZWNoYW5nZSkgXApAQCAtNDksMTQgKzc1LDE2IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyhjb21wb3NpdGlvbnN0YXJ0KSBcCiAgICAgbWFj
cm8oY29tcG9zaXRpb251cGRhdGUpIFwKICAgICBtYWNybyhjb25uZWN0KSBcCisgICAgbWFjcm8o
Y29ubmVjdGluZykgXAogICAgIG1hY3JvKGNvbnRleHRtZW51KSBcCiAgICAgbWFjcm8oY29weSkg
XAorICAgIG1hY3JvKGN1ZWNoYW5nZSkgXAogICAgIG1hY3JvKGN1dCkgXAorICAgIG1hY3JvKGRh
dGFjaGFubmVsKSBcCiAgICAgbWFjcm8oZGJsY2xpY2spIFwKICAgICBtYWNybyhkZXZpY2Vtb3Rp
b24pIFwKICAgICBtYWNybyhkZXZpY2VvcmllbnRhdGlvbikgXAogICAgIG1hY3JvKGRpc2NoYXJn
aW5ndGltZWNoYW5nZSkgXAotICAgIG1hY3JvKGRpc3BsYXkpIFwKICAgICBtYWNybyhkb3dubG9h
ZGluZykgXAogICAgIG1hY3JvKGRyYWcpIFwKICAgICBtYWNybyhkcmFnZW5kKSBcCkBAIC02NSwx
NiArOTMsMzAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKGRyYWdvdmVyKSBcCiAg
ICAgbWFjcm8oZHJhZ3N0YXJ0KSBcCiAgICAgbWFjcm8oZHJvcCkgXAorICAgIG1hY3JvKGR1cmF0
aW9uY2hhbmdlKSBcCisgICAgbWFjcm8oZW1wdGllZCkgXAorICAgIG1hY3JvKGVuZCkgXAorICAg
IG1hY3JvKGVuZGVkKSBcCisgICAgbWFjcm8oZW50ZXIpIFwKICAgICBtYWNybyhlcnJvcikgXAor
ICAgIG1hY3JvKGV4aXQpIFwKICAgICBtYWNybyhmb2N1cykgXAogICAgIG1hY3JvKGZvY3VzaW4p
IFwKICAgICBtYWNybyhmb2N1c291dCkgXAotICAgIG1hY3JvKGdlc3R1cmV0YXApIFwKLSAgICBt
YWNybyhnZXN0dXJldGFwZG93bikgXAotICAgIG1hY3JvKGdlc3R1cmVzY3JvbGxzdGFydCkgXAor
ICAgIG1hY3JvKGdhbWVwYWRjb25uZWN0ZWQpIFwKKyAgICBtYWNybyhnYW1lcGFkZGlzY29ubmVj
dGVkKSBcCisgICAgbWFjcm8oZ2VzdHVyZWNoYW5nZSkgXAorICAgIG1hY3JvKGdlc3R1cmVlbmQp
IFwKICAgICBtYWNybyhnZXN0dXJlc2Nyb2xsZW5kKSBcCisgICAgbWFjcm8oZ2VzdHVyZXNjcm9s
bHN0YXJ0KSBcCiAgICAgbWFjcm8oZ2VzdHVyZXNjcm9sbHVwZGF0ZSkgXAorICAgIG1hY3JvKGdl
c3R1cmVzdGFydCkgXAorICAgIG1hY3JvKGdlc3R1cmV0YXApIFwKKyAgICBtYWNybyhnZXN0dXJl
dGFwZG93bikgXAogICAgIG1hY3JvKGhhc2hjaGFuZ2UpIFwKKyAgICBtYWNybyhpY2VjYW5kaWRh
dGUpIFwKKyAgICBtYWNybyhpY2Vjb25uZWN0aW9uc3RhdGVjaGFuZ2UpIFwKKyAgICBtYWNybyhp
bmFjdGl2ZSkgXAogICAgIG1hY3JvKGlucHV0KSBcCiAgICAgbWFjcm8oaW52YWxpZCkgXAogICAg
IG1hY3JvKGtleWRvd24pIFwKQEAgLTgyLDkgKzEyNCwxMyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgbWFjcm8oa2V5dXApIFwKICAgICBtYWNybyhsZXZlbGNoYW5nZSkgXAogICAgIG1hY3Jv
KGxvYWQpIFwKKyAgICBtYWNybyhsb2FkZWRkYXRhKSBcCisgICAgbWFjcm8obG9hZGVkbWV0YWRh
dGEpIFwKKyAgICBtYWNybyhsb2FkZW5kKSBcCiAgICAgbWFjcm8obG9hZGluZykgXAogICAgIG1h
Y3JvKGxvYWRpbmdkb25lKSBcCiAgICAgbWFjcm8obG9hZHN0YXJ0KSBcCisgICAgbWFjcm8obWFy
aykgXAogICAgIG1hY3JvKG1lc3NhZ2UpIFwKICAgICBtYWNybyhtb3VzZWRvd24pIFwKICAgICBt
YWNybyhtb3VzZWVudGVyKSBcCkBAIC05NCwyNjMgKzE0MCwxODAgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIG1hY3JvKG1vdXNlb3ZlcikgXAogICAgIG1hY3JvKG1vdXNldXApIFwKICAgICBt
YWNybyhtb3VzZXdoZWVsKSBcCisgICAgbWFjcm8obXV0ZSkgXAorICAgIG1hY3JvKG5lZ290aWF0
aW9ubmVlZGVkKSBcCisgICAgbWFjcm8obm9tYXRjaCkgXAogICAgIG1hY3JvKG5vdXBkYXRlKSBc
CiAgICAgbWFjcm8ob2Jzb2xldGUpIFwKICAgICBtYWNybyhvZmZsaW5lKSBcCiAgICAgbWFjcm8o
b25saW5lKSBcCiAgICAgbWFjcm8ob3BlbikgXAorICAgIG1hY3JvKG9yaWVudGF0aW9uY2hhbmdl
KSBcCisgICAgbWFjcm8ob3ZlcmNvbnN0cmFpbmVkKSBcCiAgICAgbWFjcm8ob3ZlcmZsb3djaGFu
Z2VkKSBcCiAgICAgbWFjcm8ocGFnZWhpZGUpIFwKICAgICBtYWNybyhwYWdlc2hvdykgXAogICAg
IG1hY3JvKHBhc3RlKSBcCisgICAgbWFjcm8ocGF1c2UpIFwKKyAgICBtYWNybyhwbGF5KSBcCisg
ICAgbWFjcm8ocGxheWluZykgXAorICAgIG1hY3JvKHBvaW50ZXJsb2NrY2hhbmdlKSBcCisgICAg
bWFjcm8ocG9pbnRlcmxvY2tlcnJvcikgXAogICAgIG1hY3JvKHBvcHN0YXRlKSBcCisgICAgbWFj
cm8ocHJvZ3Jlc3MpIFwKKyAgICBtYWNybyhyYXRlY2hhbmdlKSBcCiAgICAgbWFjcm8ocmVhZHlz
dGF0ZWNoYW5nZSkgXAorICAgIG1hY3JvKHJlbW92ZXNvdXJjZWJ1ZmZlcikgXAorICAgIG1hY3Jv
KHJlbW92ZXN0cmVhbSkgXAorICAgIG1hY3JvKHJlbW92ZXRyYWNrKSBcCiAgICAgbWFjcm8ocmVz
ZXQpIFwKICAgICBtYWNybyhyZXNpemUpIFwKKyAgICBtYWNybyhyZXN1bHQpIFwKKyAgICBtYWNy
byhyZXN1bWUpIFwKICAgICBtYWNybyhzY3JvbGwpIFwKICAgICBtYWNybyhzZWFyY2gpIFwKKyAg
ICBtYWNybyhzZWN1cml0eXBvbGljeXZpb2xhdGlvbikgXAorICAgIG1hY3JvKHNlZWtlZCkgXAor
ICAgIG1hY3JvKHNlZWtpbmcpIFwKICAgICBtYWNybyhzZWxlY3QpIFwKLSAgICBtYWNybyhzZWxl
Y3RzdGFydCkgXAogICAgIG1hY3JvKHNlbGVjdGlvbmNoYW5nZSkgXAorICAgIG1hY3JvKHNlbGVj
dHN0YXJ0KSBcCisgICAgbWFjcm8oc2hvdykgXAorICAgIG1hY3JvKHNpZ25hbGluZ3N0YXRlY2hh
bmdlKSBcCisgICAgbWFjcm8oc291bmRlbmQpIFwKKyAgICBtYWNybyhzb3VuZHN0YXJ0KSBcCisg
ICAgbWFjcm8oc291cmNlY2xvc2UpIFwKKyAgICBtYWNybyhzb3VyY2VlbmRlZCkgXAorICAgIG1h
Y3JvKHNvdXJjZW9wZW4pIFwKKyAgICBtYWNybyhzcGVlY2hlbmQpIFwKKyAgICBtYWNybyhzcGVl
Y2hzdGFydCkgXAorICAgIG1hY3JvKHN0YWxsZWQpIFwKKyAgICBtYWNybyhzdGFydCkgXAorICAg
IG1hY3JvKHN0YXJ0ZWQpIFwKICAgICBtYWNybyhzdG9yYWdlKSBcCiAgICAgbWFjcm8oc3VibWl0
KSBcCisgICAgbWFjcm8oc3VjY2VzcykgXAorICAgIG1hY3JvKHN1c3BlbmQpIFwKICAgICBtYWNy
byh0ZXh0SW5wdXQpIFwKKyAgICBtYWNybyh0aW1lb3V0KSBcCisgICAgbWFjcm8odGltZXVwZGF0
ZSkgXAorICAgIG1hY3JvKHRvbmVjaGFuZ2UpIFwKKyAgICBtYWNybyh0b3VjaGNhbmNlbCkgXAor
ICAgIG1hY3JvKHRvdWNoZW5kKSBcCisgICAgbWFjcm8odG91Y2htb3ZlKSBcCisgICAgbWFjcm8o
dG91Y2hzdGFydCkgXAorICAgIG1hY3JvKHRyYW5zaXRpb25lbmQpIFwKICAgICBtYWNybyh1bmxv
YWQpIFwKKyAgICBtYWNybyh1bm11dGUpIFwKKyAgICBtYWNybyh1cGRhdGUpIFwKKyAgICBtYWNy
byh1cGRhdGVlbmQpIFwKICAgICBtYWNybyh1cGRhdGVyZWFkeSkgXAorICAgIG1hY3JvKHVwZGF0
ZXN0YXJ0KSBcCiAgICAgbWFjcm8odXBncmFkZW5lZWRlZCkgXAogICAgIG1hY3JvKHZlcnNpb25j
aGFuZ2UpIFwKICAgICBtYWNybyh2aXNpYmlsaXR5Y2hhbmdlKSBcCi0gICAgLyogRU5BQkxFKFdJ
TExfUkVWRUFMX0VER0VfRVZFTlQpICovIFwKLSAgICBtYWNybyh3ZWJraXR3aWxscmV2ZWFsYm90
dG9tKSBcCi0gICAgbWFjcm8od2Via2l0d2lsbHJldmVhbGxlZnQpIFwKLSAgICBtYWNybyh3ZWJr
aXR3aWxscmV2ZWFscmlnaHQpIFwKLSAgICBtYWNybyh3ZWJraXR3aWxscmV2ZWFsdG9wKSBcCi0g
ICAgLyogRW5kIG9mIEVOQUJMRShXSUxMX1JFVkVBTF9FREdFX0VWRU5UKSAqLyBcCi0gICAgbWFj
cm8od2hlZWwpIFwKLSAgICBtYWNybyh3cml0ZSkgXAotICAgIG1hY3JvKHdyaXRlZW5kKSBcCi0g
ICAgbWFjcm8od3JpdGVzdGFydCkgXAotICAgIG1hY3JvKHpvb20pIFwKLSAgICBcCi0gICAgbWFj
cm8oRE9NQWN0aXZhdGUpIFwKLSAgICBtYWNybyhET01Gb2N1c0luKSBcCi0gICAgbWFjcm8oRE9N
Rm9jdXNPdXQpIFwKLSAgICBtYWNybyhET01DaGFyYWN0ZXJEYXRhTW9kaWZpZWQpIFwKLSAgICBt
YWNybyhET01Ob2RlSW5zZXJ0ZWQpIFwKLSAgICBtYWNybyhET01Ob2RlSW5zZXJ0ZWRJbnRvRG9j
dW1lbnQpIFwKLSAgICBtYWNybyhET01Ob2RlUmVtb3ZlZCkgXAotICAgIG1hY3JvKERPTU5vZGVS
ZW1vdmVkRnJvbURvY3VtZW50KSBcCi0gICAgbWFjcm8oRE9NU3VidHJlZU1vZGlmaWVkKSBcCi0g
ICAgbWFjcm8oRE9NQ29udGVudExvYWRlZCkgXAotICAgIFwKLSAgICBtYWNybyh3ZWJraXRCZWZv
cmVUZXh0SW5zZXJ0ZWQpIFwKLSAgICBtYWNybyh3ZWJraXRFZGl0YWJsZUNvbnRlbnRDaGFuZ2Vk
KSBcCi0gICAgXAotICAgIG1hY3JvKGNhbnBsYXkpIFwKLSAgICBtYWNybyhjYW5wbGF5dGhyb3Vn
aCkgXAotICAgIG1hY3JvKGR1cmF0aW9uY2hhbmdlKSBcCi0gICAgbWFjcm8oZW1wdGllZCkgXAot
ICAgIG1hY3JvKGVuZGVkKSBcCi0gICAgbWFjcm8obG9hZGVkZGF0YSkgXAotICAgIG1hY3JvKGxv
YWRlZG1ldGFkYXRhKSBcCi0gICAgbWFjcm8ocGF1c2UpIFwKLSAgICBtYWNybyhwbGF5KSBcCi0g
ICAgbWFjcm8ocGxheWluZykgXAotICAgIG1hY3JvKHJhdGVjaGFuZ2UpIFwKLSAgICBtYWNybyhz
ZWVrZWQpIFwKLSAgICBtYWNybyhzZWVraW5nKSBcCi0gICAgbWFjcm8odGltZXVwZGF0ZSkgXAog
ICAgIG1hY3JvKHZvbHVtZWNoYW5nZSkgXAogICAgIG1hY3JvKHdhaXRpbmcpIFwKLSAgICBcCi0g
ICAgbWFjcm8oYWN0aXZlKSBcCi0gICAgbWFjcm8oaW5hY3RpdmUpIFwKLSAgICBtYWNybyhhZGR0
cmFjaykgXAotICAgIG1hY3JvKGN1ZWNoYW5nZSkgXAotICAgIG1hY3JvKGVudGVyKSBcCi0gICAg
bWFjcm8oZXhpdCkgXAotICAgIFwKKyAgICBtYWNybyh3ZWJnbGNvbnRleHRjcmVhdGlvbmVycm9y
KSBcCisgICAgbWFjcm8od2ViZ2xjb250ZXh0bG9zdCkgXAorICAgIG1hY3JvKHdlYmdsY29udGV4
dHJlc3RvcmVkKSBcCisgICAgbWFjcm8od2Via2l0QW5pbWF0aW9uRW5kKSBcCisgICAgbWFjcm8o
d2Via2l0QW5pbWF0aW9uSXRlcmF0aW9uKSBcCisgICAgbWFjcm8od2Via2l0QW5pbWF0aW9uU3Rh
cnQpIFwKKyAgICBtYWNybyh3ZWJraXRCZWZvcmVUZXh0SW5zZXJ0ZWQpIFwKKyAgICBtYWNybyh3
ZWJraXRFZGl0YWJsZUNvbnRlbnRDaGFuZ2VkKSBcCisgICAgbWFjcm8od2Via2l0VHJhbnNpdGlv
bkVuZCkgXAogICAgIG1hY3JvKHdlYmtpdGJlZ2luZnVsbHNjcmVlbikgXAorICAgIG1hY3JvKHdl
YmtpdGN1cnJlbnRwbGF5YmFja3RhcmdldGlzd2lyZWxlc3NjaGFuZ2VkKSBcCisgICAgbWFjcm8o
d2Via2l0ZGV2aWNlcHJveGltaXR5KSBcCiAgICAgbWFjcm8od2Via2l0ZW5kZnVsbHNjcmVlbikg
XAotICAgIFwKLSAgICBtYWNybyhhZGRzb3VyY2VidWZmZXIpIFwKLSAgICBtYWNybyhyZW1vdmVz
b3VyY2VidWZmZXIpIFwKLSAgICBtYWNybyhzb3VyY2VvcGVuKSBcCi0gICAgbWFjcm8oc291cmNl
ZW5kZWQpIFwKLSAgICBtYWNybyhzb3VyY2VjbG9zZSkgXAotICAgIG1hY3JvKHVwZGF0ZSkgXAot
ICAgIG1hY3JvKHVwZGF0ZWVuZCkgXAotICAgIG1hY3JvKHVwZGF0ZXN0YXJ0KSBcCi0gICAgbWFj
cm8od2Via2l0YWRkc291cmNlYnVmZmVyKSBcCi0gICAgbWFjcm8od2Via2l0cmVtb3Zlc291cmNl
YnVmZmVyKSBcCi0gICAgbWFjcm8od2Via2l0c291cmNlb3BlbikgXAotICAgIG1hY3JvKHdlYmtp
dHNvdXJjZWVuZGVkKSBcCi0gICAgbWFjcm8od2Via2l0c291cmNlY2xvc2UpIFwKLSAgICBcCisg
ICAgbWFjcm8od2Via2l0ZnVsbHNjcmVlbmNoYW5nZSkgXAorICAgIG1hY3JvKHdlYmtpdGZ1bGxz
Y3JlZW5lcnJvcikgXAogICAgIG1hY3JvKHdlYmtpdGtleWFkZGVkKSBcCiAgICAgbWFjcm8od2Vi
a2l0a2V5ZXJyb3IpIFwKICAgICBtYWNybyh3ZWJraXRrZXltZXNzYWdlKSBcCiAgICAgbWFjcm8o
d2Via2l0bmVlZGtleSkgXAotICAgIFwKLSAgICBtYWNybyhwcm9ncmVzcykgXAotICAgIG1hY3Jv
KHN0YWxsZWQpIFwKLSAgICBtYWNybyhzdXNwZW5kKSBcCi0gICAgXAotICAgIG1hY3JvKHdlYmtp
dEFuaW1hdGlvbkVuZCkgXAotICAgIG1hY3JvKHdlYmtpdEFuaW1hdGlvblN0YXJ0KSBcCi0gICAg
bWFjcm8od2Via2l0QW5pbWF0aW9uSXRlcmF0aW9uKSBcCi0gICAgbWFjcm8oYW5pbWF0aW9uZW5k
KSBcCi0gICAgbWFjcm8oYW5pbWF0aW9uc3RhcnQpIFwKLSAgICBtYWNybyhhbmltYXRpb25pdGVy
YXRpb24pIFwKLSAgICBcCi0gICAgbWFjcm8od2Via2l0VHJhbnNpdGlvbkVuZCkgXAotICAgIG1h
Y3JvKHRyYW5zaXRpb25lbmQpIFwKLSAgICBcCi0gICAgbWFjcm8ob3JpZW50YXRpb25jaGFuZ2Up
IFwKLSAgICBcCi0gICAgbWFjcm8odGltZW91dCkgXAotICAgIFwKLSAgICBtYWNybyh0b3VjaHN0
YXJ0KSBcCi0gICAgbWFjcm8odG91Y2htb3ZlKSBcCi0gICAgbWFjcm8odG91Y2hlbmQpIFwKLSAg
ICBtYWNybyh0b3VjaGNhbmNlbCkgXAotICAgIFwKLSAgICBtYWNybyhzdWNjZXNzKSBcCi0gICAg
XAotICAgIG1hY3JvKGxvYWRlbmQpIFwKLSAgICBcCi0gICAgbWFjcm8od2Via2l0ZnVsbHNjcmVl
bmNoYW5nZSkgXAotICAgIG1hY3JvKHdlYmtpdGZ1bGxzY3JlZW5lcnJvcikgXAotICAgIFwKLSAg
ICBtYWNybyh3ZWJraXRzcGVlY2hjaGFuZ2UpIFwKLSAgICBcCi0gICAgbWFjcm8oYXVkaW9zdGFy
dCkgXAotICAgIG1hY3JvKHNvdW5kc3RhcnQpIFwKLSAgICBtYWNybyhzcGVlY2hzdGFydCkgXAot
ICAgIG1hY3JvKHNwZWVjaGVuZCkgXAotICAgIG1hY3JvKHNvdW5kZW5kKSBcCi0gICAgbWFjcm8o
YXVkaW9lbmQpIFwKLSAgICBtYWNybyhyZXN1bHQpIFwKLSAgICBtYWNybyhub21hdGNoKSBcCi0g
ICAgbWFjcm8oc3RhcnQpIFwKLSAgICBtYWNybyhlbmQpIFwKLSAgICBtYWNybyhtYXJrKSBcCi0g
ICAgbWFjcm8oYm91bmRhcnkpIFwKLSAgICBtYWNybyhyZXN1bWUpIFwKLSAgICBcCi0gICAgbWFj
cm8od2ViZ2xjb250ZXh0bG9zdCkgXAotICAgIG1hY3JvKHdlYmdsY29udGV4dHJlc3RvcmVkKSBc
Ci0gICAgbWFjcm8od2ViZ2xjb250ZXh0Y3JlYXRpb25lcnJvcikgXAotICAgIFwKLSAgICBtYWNy
byhhdWRpb3Byb2Nlc3MpIFwKLSAgICBcCi0gICAgbWFjcm8oY29ubmVjdGluZykgXAotICAgIG1h
Y3JvKGFkZHN0cmVhbSkgXAotICAgIG1hY3JvKHJlbW92ZXN0cmVhbSkgXAotICAgIG1hY3JvKHNp
Z25hbGluZ3N0YXRlY2hhbmdlKSBcCi0gICAgbWFjcm8ocmVtb3ZldHJhY2spIFwKLSAgICBtYWNy
byhvdmVyY29uc3RyYWluZWQpIFwKLSAgICBtYWNybyhtdXRlKSBcCi0gICAgbWFjcm8odW5tdXRl
KSBcCi0gICAgbWFjcm8oc3RhcnRlZCkgXAotICAgIG1hY3JvKGljZWNvbm5lY3Rpb25zdGF0ZWNo
YW5nZSkgXAotICAgIG1hY3JvKGljZWNhbmRpZGF0ZSkgXAotICAgIG1hY3JvKG5lZ290aWF0aW9u
bmVlZGVkKSBcCi0gICAgbWFjcm8oZGF0YWNoYW5uZWwpIFwKLSAgICBtYWNybyh0b25lY2hhbmdl
KSBcCi0gICAgXAotICAgIG1hY3JvKHNob3cpIFwKLSAgICBcCi0gICAgbWFjcm8ocG9pbnRlcmxv
Y2tjaGFuZ2UpIFwKLSAgICBtYWNybyhwb2ludGVybG9ja2Vycm9yKSBcCi0gICAgXAotICAgIG1h
Y3JvKHdlYmtpdHJlZ2lvbm92ZXJzZXRjaGFuZ2UpIFwKLSAgICBcCiAgICAgbWFjcm8od2Via2l0
bmV0d29ya2luZm9jaGFuZ2UpIFwKLSAgICBcCi0gICAgbWFjcm8od2Via2l0cmVzb3VyY2V0aW1p
bmdidWZmZXJmdWxsKSBcCi0gICAgXAotICAgIG1hY3JvKHdlYmtpdGRldmljZXByb3hpbWl0eSkg
XAotICAgIFwKLSAgICBtYWNybyhzZWN1cml0eXBvbGljeXZpb2xhdGlvbikgXAotICAgIFwKLSAg
ICAvKiBFTkFCTEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAqLyBcCi0gICAgbWFjcm8od2Vi
a2l0Y3VycmVudHBsYXliYWNrdGFyZ2V0aXN3aXJlbGVzc2NoYW5nZWQpIFwKICAgICBtYWNybyh3
ZWJraXRwbGF5YmFja3RhcmdldGF2YWlsYWJpbGl0eWNoYW5nZWQpIFwKLSAgICAvKiBFbmQgb2Yg
RU5BQkxFKFdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgKi8gXAotICAgIFwKLSAgICAvKiBFTkFC
TEUoSU9TX0dFU1RVUkVfRVZFTlRTKSAqLyBcCi0gICAgbWFjcm8oZ2VzdHVyZXN0YXJ0KSBcCi0g
ICAgbWFjcm8oZ2VzdHVyZWNoYW5nZSkgXAotICAgIG1hY3JvKGdlc3R1cmVlbmQpIFwKLSAgICAv
KiBFbmQgb2YgRU5BQkxFKElPU19HRVNUVVJFX0VWRU5UUykgKi8gXAotICAgIFwKLSAgICAvKiBF
TkFCTEUoR0FNRVBBRCkgKi8gXAotICAgIG1hY3JvKGdhbWVwYWRjb25uZWN0ZWQpIFwKLSAgICBt
YWNybyhnYW1lcGFkZGlzY29ubmVjdGVkKSBcCi0gICAgLyogRW5kIG9mIEVOQUJMRShHQU1FUEFE
KSAqLyBcCi0gICAgXAotICAgIC8qIEVOQUJMRShSRVFVRVNUX0FVVE9DT01QTEVURSkgKi8gXAot
ICAgIG1hY3JvKGF1dG9jb21wbGV0ZSkgXAotICAgIG1hY3JvKGF1dG9jb21wbGV0ZWVycm9yKSBc
Ci0gICAgLyogRW5kIG9mIEVOQUJMRShSRVFVRVNUX0FVVE9DT01QTEVURSkgKi8gXAotICAgIFwK
LSAgICAvKiBQTEFURk9STShJT1MpICovIFwKICAgICBtYWNybyh3ZWJraXRwcmVzZW50YXRpb25t
b2RlY2hhbmdlZCkgXAotICAgIC8qIEVuZCBvZiBFTkFCTEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFS
R0VUKSAqLyBcCi0KKyAgICBtYWNybyh3ZWJraXRyZWdpb25vdmVyc2V0Y2hhbmdlKSBcCisgICAg
bWFjcm8od2Via2l0cmVtb3Zlc291cmNlYnVmZmVyKSBcCisgICAgbWFjcm8od2Via2l0cmVzb3Vy
Y2V0aW1pbmdidWZmZXJmdWxsKSBcCisgICAgbWFjcm8od2Via2l0c291cmNlY2xvc2UpIFwKKyAg
ICBtYWNybyh3ZWJraXRzb3VyY2VlbmRlZCkgXAorICAgIG1hY3JvKHdlYmtpdHNvdXJjZW9wZW4p
IFwKKyAgICBtYWNybyh3ZWJraXRzcGVlY2hjaGFuZ2UpIFwKKyAgICBtYWNybyh3ZWJraXR3aWxs
cmV2ZWFsYm90dG9tKSBcCisgICAgbWFjcm8od2Via2l0d2lsbHJldmVhbGxlZnQpIFwKKyAgICBt
YWNybyh3ZWJraXR3aWxscmV2ZWFscmlnaHQpIFwKKyAgICBtYWNybyh3ZWJraXR3aWxscmV2ZWFs
dG9wKSBcCisgICAgbWFjcm8od2hlZWwpIFwKKyAgICBtYWNybyh3cml0ZSkgXAorICAgIG1hY3Jv
KHdyaXRlZW5kKSBcCisgICAgbWFjcm8od3JpdGVzdGFydCkgXAorICAgIG1hY3JvKHpvb20pIFwK
IC8vIGVuZCBvZiBET01fRVZFTlRfTkFNRVNfRk9SX0VBQ0gKIAotY2xhc3MgRXZlbnROYW1lcyB7
CitzdHJ1Y3QgRXZlbnROYW1lcyB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRXZlbnROYW1l
cyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwotICAgIGludCBkdW1teTsgLy8gTmVlZGVkIHRv
IG1ha2UgaW5pdGlhbGl6YXRpb24gbWFjcm8gd29yay4KLSAgICAvLyBQcml2YXRlIHRvIHByZXZl
bnQgYWNjaWRlbnRhbCBjYWxsIHRvIEV2ZW50TmFtZXMoKSBpbnN0ZWFkIG9mIGV2ZW50TmFtZXMo
KQotICAgIEV2ZW50TmFtZXMoKTsKLSAgICBmcmllbmQgY2xhc3MgVGhyZWFkR2xvYmFsRGF0YTsK
IAogcHVibGljOgotICAgICNkZWZpbmUgRE9NX0VWRU5UX05BTUVTX0RFQ0xBUkUobmFtZSkgQXRv
bWljU3RyaW5nIG5hbWUjI0V2ZW50OworI2RlZmluZSBET01fRVZFTlRfTkFNRVNfREVDTEFSRShu
YW1lKSBjb25zdCBBdG9taWNTdHJpbmcgbmFtZSMjRXZlbnQ7CiAgICAgRE9NX0VWRU5UX05BTUVT
X0ZPUl9FQUNIKERPTV9FVkVOVF9OQU1FU19ERUNMQVJFKQotICAgICN1bmRlZiBET01fRVZFTlRf
TkFNRVNfREVDTEFSRQorI3VuZGVmIERPTV9FVkVOVF9OQU1FU19ERUNMQVJFCiAKLSAgICBpbmxp
bmUgYm9vbCBpc0dlc3R1cmVFdmVudFR5cGUoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUp
IGNvbnN0Ci0gICAgewotICAgICAgICByZXR1cm4gZXZlbnRUeXBlID09IGdlc3R1cmVzdGFydEV2
ZW50IHx8IGV2ZW50VHlwZSA9PSBnZXN0dXJlY2hhbmdlRXZlbnQgfHwgZXZlbnRUeXBlID09IGdl
c3R1cmVlbmRFdmVudDsKLSAgICB9CisgICAgLy8gRklYTUU6IEluZWxlZ2FudCB0byBjYWxsIHRo
ZXNlIGJvdGggZXZlbnQgbmFtZXMgYW5kIGV2ZW50IHR5cGVzLgorICAgIC8vIFdlIHNob3VsZCBj
aG9vc2Ugb25lIHRlcm0gYW5kIHN0aWNrIHRvIGl0LgorICAgIGJvb2wgaXNHZXN0dXJlRXZlbnRU
eXBlKGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlKSBjb25zdDsKKyAgICBib29sIGlzVG91
Y2hFdmVudFR5cGUoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUpIGNvbnN0OworI2lmIEVO
QUJMRShHQU1FUEFEKQorICAgIGJvb2wgaXNHYW1lcGFkRXZlbnRUeXBlKGNvbnN0IEF0b21pY1N0
cmluZyYgZXZlbnRUeXBlKSBjb25zdDsKKyNlbmRpZgogCi0gICAgaW5saW5lIGJvb2wgaXNUb3Vj
aEV2ZW50VHlwZShjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSkgY29uc3QKLSAgICB7Ci0g
ICAgICAgIHJldHVybiBldmVudFR5cGUgPT0gdG91Y2hzdGFydEV2ZW50Ci0gICAgICAgICAgICB8
fCBldmVudFR5cGUgPT0gdG91Y2htb3ZlRXZlbnQKLSAgICAgICAgICAgIHx8IGV2ZW50VHlwZSA9
PSB0b3VjaGVuZEV2ZW50Ci0gICAgICAgICAgICB8fCBldmVudFR5cGUgPT0gdG91Y2hjYW5jZWxF
dmVudDsKLSAgICB9CisgICAgc3RkOjphcnJheTxzdGQ6OnJlZmVyZW5jZV93cmFwcGVyPGNvbnN0
IEF0b21pY1N0cmluZz4sIDQ+IHRvdWNoRXZlbnROYW1lcygpIGNvbnN0OwogCi0gICAgVmVjdG9y
PEF0b21pY1N0cmluZz4gdG91Y2hFdmVudE5hbWVzKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIFZl
Y3RvcjxBdG9taWNTdHJpbmc+IG5hbWVzOwotICAgICAgICBuYW1lcy5yZXNlcnZlQ2FwYWNpdHko
NCk7Ci0gICAgICAgIG5hbWVzLmFwcGVuZCh0b3VjaHN0YXJ0RXZlbnQpOwotICAgICAgICBuYW1l
cy5hcHBlbmQodG91Y2htb3ZlRXZlbnQpOwotICAgICAgICBuYW1lcy5hcHBlbmQodG91Y2hlbmRF
dmVudCk7Ci0gICAgICAgIG5hbWVzLmFwcGVuZCh0b3VjaGNhbmNlbEV2ZW50KTsKLSAgICAgICAg
cmV0dXJuIG5hbWVzOwotICAgIH0KK3ByaXZhdGU6CisgICAgRXZlbnROYW1lcygpOyAvLyBQcml2
YXRlIHRvIHByZXZlbnQgYWNjaWRlbnRhbCBjYWxsIHRvIEV2ZW50TmFtZXMoKSBpbnN0ZWFkIG9m
IGV2ZW50TmFtZXMoKS4KKyAgICBmcmllbmQgY2xhc3MgVGhyZWFkR2xvYmFsRGF0YTsgLy8gQWxs
b3cgVGhyZWFkR2xvYmFsRGF0YSB0byBjcmVhdGUgdGhlIHBlci10aHJlYWQgRXZlbnROYW1lcyBv
YmplY3QuCiAKLSNpZiBFTkFCTEUoR0FNRVBBRCkKLSAgICBpbmxpbmUgYm9vbCBpc0dhbWVwYWRF
dmVudFR5cGUoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUpIGNvbnN0Ci0gICAgewotICAg
ICAgICByZXR1cm4gZXZlbnRUeXBlID09IGdhbWVwYWRjb25uZWN0ZWRFdmVudAotICAgICAgICAg
ICAgfHwgZXZlbnRUeXBlID09IGdhbWVwYWRkaXNjb25uZWN0ZWRFdmVudDsKLSAgICB9Ci0jZW5k
aWYKKyAgICBpbnQgZHVtbXk7IC8vIE5lZWRlZCB0byBtYWtlIGluaXRpYWxpemF0aW9uIG1hY3Jv
IHdvcmsuCiB9OwogCi1pbmxpbmUgRXZlbnROYW1lcyYgZXZlbnROYW1lcygpCitjb25zdCBFdmVu
dE5hbWVzJiBldmVudE5hbWVzKCk7CisKK2lubGluZSBjb25zdCBFdmVudE5hbWVzJiBldmVudE5h
bWVzKCkKIHsKICAgICByZXR1cm4gdGhyZWFkR2xvYmFsRGF0YSgpLmV2ZW50TmFtZXMoKTsKIH0K
IAoraW5saW5lIGJvb2wgRXZlbnROYW1lczo6aXNHZXN0dXJlRXZlbnRUeXBlKGNvbnN0IEF0b21p
Y1N0cmluZyYgZXZlbnRUeXBlKSBjb25zdAoreworICAgIHJldHVybiBldmVudFR5cGUgPT0gZ2Vz
dHVyZXN0YXJ0RXZlbnQgfHwgZXZlbnRUeXBlID09IGdlc3R1cmVjaGFuZ2VFdmVudCB8fCBldmVu
dFR5cGUgPT0gZ2VzdHVyZWVuZEV2ZW50OworfQorCitpbmxpbmUgYm9vbCBFdmVudE5hbWVzOjpp
c1RvdWNoRXZlbnRUeXBlKGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlKSBjb25zdAorewor
ICAgIHJldHVybiBldmVudFR5cGUgPT0gdG91Y2hzdGFydEV2ZW50CisgICAgICAgIHx8IGV2ZW50
VHlwZSA9PSB0b3VjaG1vdmVFdmVudAorICAgICAgICB8fCBldmVudFR5cGUgPT0gdG91Y2hlbmRF
dmVudAorICAgICAgICB8fCBldmVudFR5cGUgPT0gdG91Y2hjYW5jZWxFdmVudDsKK30KKworaW5s
aW5lIHN0ZDo6YXJyYXk8c3RkOjpyZWZlcmVuY2Vfd3JhcHBlcjxjb25zdCBBdG9taWNTdHJpbmc+
LCA0PiBFdmVudE5hbWVzOjp0b3VjaEV2ZW50TmFtZXMoKSBjb25zdAoreworICAgIHJldHVybiB7
IHsgdG91Y2hzdGFydEV2ZW50LCB0b3VjaG1vdmVFdmVudCwgdG91Y2hlbmRFdmVudCwgdG91Y2hj
YW5jZWxFdmVudCB9IH07Cit9CisKKyNpZiBFTkFCTEUoR0FNRVBBRCkKKworaW5saW5lIGJvb2wg
RXZlbnROYW1lczo6aXNHYW1lcGFkRXZlbnRUeXBlKGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRU
eXBlKSBjb25zdAoreworICAgIHJldHVybiBldmVudFR5cGUgPT0gZ2FtZXBhZGNvbm5lY3RlZEV2
ZW50CisgICAgICAgIHx8IGV2ZW50VHlwZSA9PSBnYW1lcGFkZGlzY29ubmVjdGVkRXZlbnQ7Cit9
CisKKyNlbmRpZgorCiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L0V2ZW50VGFyZ2V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5jcHAKaW5k
ZXggN2YzODk1YjE3NjZjYWY0ZDVkMzBjODc1YjcwZjU0MWM2YWEwNTIyYS4uZmZlNzg2NDk1ZGE5
MWY5NmZjYzgzMjc2ZmM4Njk5MzgzZDIwZWM4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL0V2ZW50VGFyZ2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQu
Y3BwCkBAIC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSAiV2ViS2l0QW5pbWF0aW9uRXZlbnQuaCIK
ICNpbmNsdWRlICJXZWJLaXRUcmFuc2l0aW9uRXZlbnQuaCIKICNpbmNsdWRlIDx3dGYvTWFpblRo
cmVhZC5oPgorI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogI2luY2x1ZGUgPHd0Zi9S
ZWYuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rv
ci5oPgpAQCAtMjYzLDE3ICsyNjQsMTAgQEAgdm9pZCBFdmVudFRhcmdldDo6ZmlyZUV2ZW50TGlz
dGVuZXJzKEV2ZW50KiBldmVudCwgRXZlbnRUYXJnZXREYXRhKiBkLCBFdmVudExpc3QKIAogY29u
c3QgRXZlbnRMaXN0ZW5lclZlY3RvciYgRXZlbnRUYXJnZXQ6OmdldEV2ZW50TGlzdGVuZXJzKGNv
bnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlKQogewotICAgIERFUFJFQ0FURURfREVGSU5FX1NU
QVRJQ19MT0NBTChFdmVudExpc3RlbmVyVmVjdG9yLCBlbXB0eVZlY3RvciwgKCkpOwotCi0gICAg
RXZlbnRUYXJnZXREYXRhKiBkID0gZXZlbnRUYXJnZXREYXRhKCk7Ci0gICAgaWYgKCFkKQotICAg
ICAgICByZXR1cm4gZW1wdHlWZWN0b3I7Ci0KLSAgICBFdmVudExpc3RlbmVyVmVjdG9yKiBsaXN0
ZW5lclZlY3RvciA9IGQtPmV2ZW50TGlzdGVuZXJNYXAuZmluZChldmVudFR5cGUpOwotICAgIGlm
ICghbGlzdGVuZXJWZWN0b3IpCi0gICAgICAgIHJldHVybiBlbXB0eVZlY3RvcjsKLQotICAgIHJl
dHVybiAqbGlzdGVuZXJWZWN0b3I7CisgICAgYXV0byogZGF0YSA9IGV2ZW50VGFyZ2V0RGF0YSgp
OworICAgIGF1dG8qIGxpc3RlbmVyVmVjdG9yID0gZGF0YSA/IGRhdGEtPmV2ZW50TGlzdGVuZXJN
YXAuZmluZChldmVudFR5cGUpIDogbnVsbHB0cjsKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8
RXZlbnRMaXN0ZW5lclZlY3Rvcj4gZW1wdHlWZWN0b3I7CisgICAgcmV0dXJuIGxpc3RlbmVyVmVj
dG9yID8gKmxpc3RlbmVyVmVjdG9yIDogZW1wdHlWZWN0b3IuZ2V0KCk7CiB9CiAKIHZvaWQgRXZl
bnRUYXJnZXQ6OnJlbW92ZUFsbEV2ZW50TGlzdGVuZXJzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Ob2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAppbmRleCA4
NzNmMzFlMDIwZDYwMjc0MGQ1NjJjZTc5NmQ1MzM2YTBjNjEzNTE0Li4xMjZkYjIxNmRiZWE0ZDE3
Yjk2YmEyZTI0ZWVmODFhYTljNmE0OGU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
Tm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCkBAIC0xNzAwLDQ3ICsx
NzAwLDQwIEBAIHZvaWQgTm9kZTo6ZGlkTW92ZVRvTmV3RG9jdW1lbnQoRG9jdW1lbnQqIG9sZERv
Y3VtZW50KQogewogICAgIFRyZWVTY29wZUFkb3B0ZXI6OmVuc3VyZURpZE1vdmVUb05ld0RvY3Vt
ZW50V2FzQ2FsbGVkKG9sZERvY3VtZW50KTsKIAotICAgIGlmIChjb25zdCBFdmVudFRhcmdldERh
dGEqIGV2ZW50VGFyZ2V0RGF0YSA9IHRoaXMtPmV2ZW50VGFyZ2V0RGF0YSgpKSB7Ci0gICAgICAg
IGNvbnN0IEV2ZW50TGlzdGVuZXJNYXAmIGxpc3RlbmVyTWFwID0gZXZlbnRUYXJnZXREYXRhLT5l
dmVudExpc3RlbmVyTWFwOwotICAgICAgICBpZiAoIWxpc3RlbmVyTWFwLmlzRW1wdHkoKSkgewot
ICAgICAgICAgICAgVmVjdG9yPEF0b21pY1N0cmluZz4gdHlwZXMgPSBsaXN0ZW5lck1hcC5ldmVu
dFR5cGVzKCk7Ci0gICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgdHlwZXMuc2l6
ZSgpOyArK2kpCi0gICAgICAgICAgICAgICAgZG9jdW1lbnQoKS5hZGRMaXN0ZW5lclR5cGVJZk5l
ZWRlZCh0eXBlc1tpXSk7CisgICAgaWYgKGF1dG8qIGV2ZW50VGFyZ2V0RGF0YSA9IHRoaXMtPmV2
ZW50VGFyZ2V0RGF0YSgpKSB7CisgICAgICAgIGlmICghZXZlbnRUYXJnZXREYXRhLT5ldmVudExp
c3RlbmVyTWFwLmlzRW1wdHkoKSkgeworICAgICAgICAgICAgZm9yIChhdXRvJiB0eXBlIDogZXZl
bnRUYXJnZXREYXRhLT5ldmVudExpc3RlbmVyTWFwLmV2ZW50VHlwZXMoKSkKKyAgICAgICAgICAg
ICAgICBkb2N1bWVudCgpLmFkZExpc3RlbmVyVHlwZUlmTmVlZGVkKHR5cGUpOwogICAgICAgICB9
CiAgICAgfQogCi0gICAgaWYgKEFYT2JqZWN0Q2FjaGU6OmFjY2Vzc2liaWxpdHlFbmFibGVkKCkg
JiYgb2xkRG9jdW1lbnQpCi0gICAgICAgIGlmIChBWE9iamVjdENhY2hlKiBjYWNoZSA9IG9sZERv
Y3VtZW50LT5leGlzdGluZ0FYT2JqZWN0Q2FjaGUoKSkKKyAgICBpZiAoQVhPYmplY3RDYWNoZTo6
YWNjZXNzaWJpbGl0eUVuYWJsZWQoKSAmJiBvbGREb2N1bWVudCkgeworICAgICAgICBpZiAoYXV0
byogY2FjaGUgPSBvbGREb2N1bWVudC0+ZXhpc3RpbmdBWE9iamVjdENhY2hlKCkpCiAgICAgICAg
ICAgICBjYWNoZS0+cmVtb3ZlKHRoaXMpOwotCi0gICAgY29uc3QgRXZlbnRMaXN0ZW5lclZlY3Rv
ciYgbW91c2V3aGVlbExpc3RlbmVycyA9IGdldEV2ZW50TGlzdGVuZXJzKGV2ZW50TmFtZXMoKS5t
b3VzZXdoZWVsRXZlbnQpOwotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbW91c2V3aGVlbExp
c3RlbmVycy5zaXplKCk7ICsraSkgewotICAgICAgICBvbGREb2N1bWVudC0+ZGlkUmVtb3ZlV2hl
ZWxFdmVudEhhbmRsZXIoKTsKLSAgICAgICAgZG9jdW1lbnQoKS5kaWRBZGRXaGVlbEV2ZW50SGFu
ZGxlcigpOwogICAgIH0KIAotICAgIGNvbnN0IEV2ZW50TGlzdGVuZXJWZWN0b3ImIHdoZWVsTGlz
dGVuZXJzID0gZ2V0RXZlbnRMaXN0ZW5lcnMoZXZlbnROYW1lcygpLndoZWVsRXZlbnQpOwotICAg
IGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgd2hlZWxMaXN0ZW5lcnMuc2l6ZSgpOyArK2kpIHsKKyAg
ICB1bnNpZ25lZCBudW1XaGVlbEV2ZW50SGFuZGxlcnMgPSBnZXRFdmVudExpc3RlbmVycyhldmVu
dE5hbWVzKCkubW91c2V3aGVlbEV2ZW50KS5zaXplKCkKKyAgICAgICAgKyBnZXRFdmVudExpc3Rl
bmVycyhldmVudE5hbWVzKCkud2hlZWxFdmVudCkuc2l6ZSgpOworICAgIGZvciAodW5zaWduZWQg
aSA9IDA7IGkgPCBudW1XaGVlbEV2ZW50SGFuZGxlcnM7ICsraSkgewogICAgICAgICBvbGREb2N1
bWVudC0+ZGlkUmVtb3ZlV2hlZWxFdmVudEhhbmRsZXIoKTsKICAgICAgICAgZG9jdW1lbnQoKS5k
aWRBZGRXaGVlbEV2ZW50SGFuZGxlcigpOwogICAgIH0KIAotICAgIFZlY3RvcjxBdG9taWNTdHJp
bmc+IHRvdWNoRXZlbnROYW1lcyA9IGV2ZW50TmFtZXMoKS50b3VjaEV2ZW50TmFtZXMoKTsKLSAg
ICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHRvdWNoRXZlbnROYW1lcy5zaXplKCk7ICsraSkgewot
ICAgICAgICBjb25zdCBFdmVudExpc3RlbmVyVmVjdG9yJiBsaXN0ZW5lcnMgPSBnZXRFdmVudExp
c3RlbmVycyh0b3VjaEV2ZW50TmFtZXNbaV0pOwotICAgICAgICBmb3IgKHNpemVfdCBqID0gMDsg
aiA8IGxpc3RlbmVycy5zaXplKCk7ICsraikgewotICAgICAgICAgICAgb2xkRG9jdW1lbnQtPmRp
ZFJlbW92ZVRvdWNoRXZlbnRIYW5kbGVyKHRoaXMpOwotICAgICAgICAgICAgZG9jdW1lbnQoKS5k
aWRBZGRUb3VjaEV2ZW50SGFuZGxlcih0aGlzKTsKLSAgICAgICAgfQorICAgIHVuc2lnbmVkIG51
bVRvdWNoRXZlbnRIYW5kbGVycyA9IDA7CisgICAgZm9yIChhdXRvJiBuYW1lIDogZXZlbnROYW1l
cygpLnRvdWNoRXZlbnROYW1lcygpKQorICAgICAgICBudW1Ub3VjaEV2ZW50SGFuZGxlcnMgKz0g
Z2V0RXZlbnRMaXN0ZW5lcnMobmFtZSkuc2l6ZSgpOworICAgIGZvciAodW5zaWduZWQgaSA9IDA7
IGkgPCBudW1Ub3VjaEV2ZW50SGFuZGxlcnM7ICsraSkgeworICAgICAgICBvbGREb2N1bWVudC0+
ZGlkUmVtb3ZlVG91Y2hFdmVudEhhbmRsZXIodGhpcyk7CisgICAgICAgIGRvY3VtZW50KCkuZGlk
QWRkVG91Y2hFdmVudEhhbmRsZXIodGhpcyk7CiAgICAgfQogCi0gICAgaWYgKFZlY3RvcjxzdGQ6
OnVuaXF1ZV9wdHI8TXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbj4+KiByZWdpc3RyeSA9IG11
dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyeSgpKSB7Ci0gICAgICAgIGZvciAoY29uc3QgYXV0byYgcmVn
aXN0cmF0aW9uIDogKnJlZ2lzdHJ5KQorICAgIGlmIChhdXRvKiByZWdpc3RyeSA9IG11dGF0aW9u
T2JzZXJ2ZXJSZWdpc3RyeSgpKSB7CisgICAgICAgIGZvciAoYXV0byYgcmVnaXN0cmF0aW9uIDog
KnJlZ2lzdHJ5KQogICAgICAgICAgICAgZG9jdW1lbnQoKS5hZGRNdXRhdGlvbk9ic2VydmVyVHlw
ZXMocmVnaXN0cmF0aW9uLT5tdXRhdGlvblR5cGVzKCkpOwogICAgIH0KIAotICAgIGlmIChIYXNo
U2V0PE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24qPiogdHJhbnNpZW50UmVnaXN0cnkgPSB0
cmFuc2llbnRNdXRhdGlvbk9ic2VydmVyUmVnaXN0cnkoKSkgewotICAgICAgICBmb3IgKGNvbnN0
IGF1dG8mIHJlZ2lzdHJhdGlvbiA6ICp0cmFuc2llbnRSZWdpc3RyeSkKKyAgICBpZiAoYXV0byog
dHJhbnNpZW50UmVnaXN0cnkgPSB0cmFuc2llbnRNdXRhdGlvbk9ic2VydmVyUmVnaXN0cnkoKSkg
eworICAgICAgICBmb3IgKGF1dG8mIHJlZ2lzdHJhdGlvbiA6ICp0cmFuc2llbnRSZWdpc3RyeSkK
ICAgICAgICAgICAgIGRvY3VtZW50KCkuYWRkTXV0YXRpb25PYnNlcnZlclR5cGVzKHJlZ2lzdHJh
dGlvbi0+bXV0YXRpb25UeXBlcygpKTsKICAgICB9CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>248161</attachid>
            <date>2015-03-07 10:54:45 -0800</date>
            <delta_ts>2015-03-07 13:52:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-142438-20150307105423.patch</filename>
            <type>text/plain</type>
            <size>22781</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgxMjA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMThlYjFlZmU3NGRlMzU3
NzhkNDIyODM1ZGU2YjVkMmFkM2JjMzE4Ny4uMThiYjJlMjY0YmY0NmZkZGM0Mjk0NGEzNTBiMzA2
MTJmMDNhOGJjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDE1LTAzLTA3ICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBEbyBhIGJpdCBvZiBFdmVudE5h
bWVzIHRpZHlpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE0MjQzOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogZG9tL0V2ZW50TmFtZXMuaDogU29ydGVkIHRoZSBldmVudCBuYW1lcyBpbnRvIGEgc2lu
Z2xlIGxpc3QgaW5zdGVhZCBvZgorICAgICAgICB0aGUgcnVkaW1lbnRhcnkgYXR0ZW1wdHMgYXQg
b3JnYW5pemluZyB0aGUgbGlzdCB0aGF0IHNpbXBseSBtYWRlIGl0IGhhcmQKKyAgICAgICAgdG8g
c2VlIHdoYXQgaXMgYW5kIGlzIG5vdCBpbiB0aGUgbGlzdC4gUmVtb3ZlZCB0d28gdW51c2VkIGV2
ZW50IG5hbWVzLgorICAgICAgICBJJ20gc3VyZSB0aGVyZSBhcmUgbW9yZS4gUmVvcmdhbml6ZWQg
dGhlIEV2ZW50TmFtZSBjbGFzcywgbm93IGEgc3RydWN0LAorICAgICAgICBpbnRvIGEgbW9yZSBj
b252ZW50aW9uYWwgInB1YmxpYyBmaXJzdCIgb3JkZXIuIEdvdCB0aGUgZnVuY3Rpb24gYm9kaWVz
CisgICAgICAgIG91dCBvZiB0aGUgc3RydWN0IHNvIHdlIGNhbiBzZWUgbW9yZSBjbGVhcmx5IHdo
YXQgaXMgaW4gdGhlIHN0cnVjdC4KKyAgICAgICAgTWFkZSBtb3JlIHRoaW5ncyBjb25zdC4KKyAg
ICAgICAgKFdlYkNvcmU6OkV2ZW50TmFtZXM6OnRvdWNoRXZlbnROYW1lcyk6IENoYW5nZWQgdGhl
IHJldHVybiB2YWx1ZSB0byBhCisgICAgICAgIHN0ZDo6YXJyYXkgb2YgcmVmZXJlbmNlIHdyYXBw
ZXJzIHJhdGhlciB0aGFuIGEgdmVjdG9yIG9mIGF0b21pYyBzdHJpbmdzLgorICAgICAgICBUaGlz
IHNob3VsZCBlbGltaW5hdGUgdW5uZWNlc3NhcnkgbWVtb3J5IGFsbG9jYXRpb24gYW5kIHJlZmVy
ZW5jZSBjb3VudCBjaHVybi4KKworICAgICAgICAqIGRvbS9FdmVudE5hbWVzLmNwcDogQ2hhbmdl
ZCBpbml0aWFsaXphdGlvbiBiYXNlZCBvbiB0aGUgYWJvdmUuCisKKyAgICAgICAgKiBkb20vRXZl
bnRUYXJnZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRUYXJnZXQ6OmdldEV2ZW50TGlz
dGVuZXJzKTogVXNlIE5ldmVyRGVzdHJveWVkIGluc3RlYWQgb2YKKyAgICAgICAgREVQUkVDQVRF
RF9ERUZJTkVfTE9DQUwgYW5kIGFsc28ganVzdCB0aWdodGVuZWQgdXAgdGhlIGZ1bmN0aW9uIGEg
Yml0LgorCisgICAgICAgICogZG9tL05vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6
ZGlkTW92ZVRvTmV3RG9jdW1lbnQpOiBTdHJlYW1saW5lZCB0aGlzIGZ1bmN0aW9uIHdpdGgKKyAg
ICAgICAgbW9kZXJuIGZvciBsb29wcywgYXV0bywgYW5kIGFsc28gdHJpZWQgdG8gbWFrZSB3aGF0
IGl0IGRvZXMgYSBiaXQgY2xlYXJlciwKKyAgICAgICAgYnkgbWFraW5nIGxvb3BzIHRoYXQgYXJl
IGp1c3QgYmFzZWQgb24gbnVtYmVycyBvZiBldmVudCBsaXN0ZW5lcnMgbG9vayBhCisgICAgICAg
IGJpdCBsZXNzIGxpa2UgY29kZSB0aGF0IGFjdHVhbGx5IGl0ZXJhdGVzIGEgdmVjdG9yIG9mIGxp
c3RlbmVycy4gQWxzbyB1c2VkCisgICAgICAgIHRoZSB0eXBlIHVuc2lnbmVkIGluc3RlYWQgb2Yg
c2l6ZV90LgorCisgICAgICAgICogcGxhdGZvcm0vVGhyZWFkR2xvYmFsRGF0YS5oOiBVcGRhdGVk
IHNpbmNlIGl0J3MgYSBzdHJ1Y3QgaW5zdGVhZCBvZiBjbGFzcyBub3cuCisgICAgICAgIChXaHkg
aXMgdGhpcyBmaWxlIGluIHBsYXRmb3JtIT8pCisKIDIwMTUtMDMtMDYgIFNhbSBXZWluaWcgIDxz
YW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBbQ29udGVudCBFeHRlbnNpb25zXSBNb3ZlIGNvbXBp
bGluZyBvZiBjb250ZW50IGV4dGVuc2lvbnMgdG8gdGhlIFVJUHJvY2VzcwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2
ZW50TmFtZXMuY3BwCmluZGV4IDZjNWYyMGVjZjk1OWZmMTNlNjJmZmE2Y2ZmY2ZmYWM0MzYzMDYw
NWIuLmZjYzU2MDFmYzYwMTAxNzM3MTQ2ZDU2MTk5MzBjZjZlOWJkZWFhNmUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRXZlbnROYW1lcy5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAy
MDA1IEFwcGxlIEluYy4KKyAqIENvcHlyaWdodCAoQykgMjAwNSwgMjAxNSBBcHBsZSBJbmMuCiAg
KgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl
IGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMKQEAgLTI0LDExICsyNCwxMCBAQAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiAjZGVmaW5lIElOSVRJQUxJWkVfRVZFTlRfTkFNRShuYW1lKSBcCi0gICAgLCBuYW1lIyNF
dmVudCgjbmFtZSwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkKKyAgICBuYW1l
IyNFdmVudCgjbmFtZSwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCksCiAKIEV2
ZW50TmFtZXM6OkV2ZW50TmFtZXMoKQotICAgIDogZHVtbXkoMCkKLSAgICBET01fRVZFTlRfTkFN
RVNfRk9SX0VBQ0goSU5JVElBTElaRV9FVkVOVF9OQU1FKQorICAgIDogRE9NX0VWRU5UX05BTUVT
X0ZPUl9FQUNIKElOSVRJQUxJWkVfRVZFTlRfTkFNRSkgZHVtbXkoMCkKIHsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FdmVudE5hbWVzLmgKaW5kZXggMmRhY2VjNDFmNzQ1ZWQzOWRiYTcxMWNjODVmNzk3NmE3ZWIx
NTdhNi4uNzYwZTdkNTM2YjRiYTRiNTVhMzk2ZDJjMGRiNWQ3NWYyNjk1MzQ5YSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRXZlbnROYW1lcy5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAw
NSwgMjAwNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMDUsIDIwMDcsIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29w
eXJpZ2h0IChDKSAyMDA2IEpvbiBTaGllciAoanNoaWVyQGlhc3RhdGUuZWR1KQogICoKICAqIFRo
aXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IKQEAgLTIzLDEzICsyMywzNiBAQAogI2RlZmluZSBFdmVudE5hbWVzX2gKIAogI2luY2x1ZGUg
IlRocmVhZEdsb2JhbERhdGEuaCIKKyNpbmNsdWRlIDxhcnJheT4KKyNpbmNsdWRlIDxmdW5jdGlv
bmFsPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKICNkZWZpbmUgRE9NX0VWRU5UX05BTUVTX0ZPUl9FQUNIKG1hY3JvKSBcCi0gICAg
XAorICAgIG1hY3JvKERPTUFjdGl2YXRlKSBcCisgICAgbWFjcm8oRE9NQ2hhcmFjdGVyRGF0YU1v
ZGlmaWVkKSBcCisgICAgbWFjcm8oRE9NQ29udGVudExvYWRlZCkgXAorICAgIG1hY3JvKERPTUZv
Y3VzSW4pIFwKKyAgICBtYWNybyhET01Gb2N1c091dCkgXAorICAgIG1hY3JvKERPTU5vZGVJbnNl
cnRlZCkgXAorICAgIG1hY3JvKERPTU5vZGVJbnNlcnRlZEludG9Eb2N1bWVudCkgXAorICAgIG1h
Y3JvKERPTU5vZGVSZW1vdmVkKSBcCisgICAgbWFjcm8oRE9NTm9kZVJlbW92ZWRGcm9tRG9jdW1l
bnQpIFwKKyAgICBtYWNybyhET01TdWJ0cmVlTW9kaWZpZWQpIFwKICAgICBtYWNybyhhYm9ydCkg
XAorICAgIG1hY3JvKGFjdGl2ZSkgXAorICAgIG1hY3JvKGFkZHNvdXJjZWJ1ZmZlcikgXAorICAg
IG1hY3JvKGFkZHN0cmVhbSkgXAorICAgIG1hY3JvKGFkZHRyYWNrKSBcCisgICAgbWFjcm8oYW5p
bWF0aW9uZW5kKSBcCisgICAgbWFjcm8oYW5pbWF0aW9uaXRlcmF0aW9uKSBcCisgICAgbWFjcm8o
YW5pbWF0aW9uc3RhcnQpIFwKKyAgICBtYWNybyhhdWRpb2VuZCkgXAorICAgIG1hY3JvKGF1ZGlv
cHJvY2VzcykgXAorICAgIG1hY3JvKGF1ZGlvc3RhcnQpIFwKKyAgICBtYWNybyhhdXRvY29tcGxl
dGUpIFwKKyAgICBtYWNybyhhdXRvY29tcGxldGVlcnJvcikgXAogICAgIG1hY3JvKGJlZm9yZWNv
cHkpIFwKICAgICBtYWNybyhiZWZvcmVjdXQpIFwKICAgICBtYWNybyhiZWZvcmVsb2FkKSBcCkBA
IC0zNyw3ICs2MCwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8oYmVmb3JldW5s
b2FkKSBcCiAgICAgbWFjcm8oYmxvY2tlZCkgXAogICAgIG1hY3JvKGJsdXIpIFwKKyAgICBtYWNy
byhib3VuZGFyeSkgXAogICAgIG1hY3JvKGNhY2hlZCkgXAorICAgIG1hY3JvKGNhbnBsYXkpIFwK
KyAgICBtYWNybyhjYW5wbGF5dGhyb3VnaCkgXAogICAgIG1hY3JvKGNoYW5nZSkgXAogICAgIG1h
Y3JvKGNoYXJnaW5nY2hhbmdlKSBcCiAgICAgbWFjcm8oY2hhcmdpbmd0aW1lY2hhbmdlKSBcCkBA
IC00OSwxNCArNzUsMTYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKGNvbXBvc2l0
aW9uc3RhcnQpIFwKICAgICBtYWNybyhjb21wb3NpdGlvbnVwZGF0ZSkgXAogICAgIG1hY3JvKGNv
bm5lY3QpIFwKKyAgICBtYWNybyhjb25uZWN0aW5nKSBcCiAgICAgbWFjcm8oY29udGV4dG1lbnUp
IFwKICAgICBtYWNybyhjb3B5KSBcCisgICAgbWFjcm8oY3VlY2hhbmdlKSBcCiAgICAgbWFjcm8o
Y3V0KSBcCisgICAgbWFjcm8oZGF0YWNoYW5uZWwpIFwKICAgICBtYWNybyhkYmxjbGljaykgXAog
ICAgIG1hY3JvKGRldmljZW1vdGlvbikgXAogICAgIG1hY3JvKGRldmljZW9yaWVudGF0aW9uKSBc
CiAgICAgbWFjcm8oZGlzY2hhcmdpbmd0aW1lY2hhbmdlKSBcCi0gICAgbWFjcm8oZGlzcGxheSkg
XAogICAgIG1hY3JvKGRvd25sb2FkaW5nKSBcCiAgICAgbWFjcm8oZHJhZykgXAogICAgIG1hY3Jv
KGRyYWdlbmQpIFwKQEAgLTY1LDE2ICs5MywzMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
bWFjcm8oZHJhZ292ZXIpIFwKICAgICBtYWNybyhkcmFnc3RhcnQpIFwKICAgICBtYWNybyhkcm9w
KSBcCisgICAgbWFjcm8oZHVyYXRpb25jaGFuZ2UpIFwKKyAgICBtYWNybyhlbXB0aWVkKSBcCisg
ICAgbWFjcm8oZW5kKSBcCisgICAgbWFjcm8oZW5kZWQpIFwKKyAgICBtYWNybyhlbnRlcikgXAog
ICAgIG1hY3JvKGVycm9yKSBcCisgICAgbWFjcm8oZXhpdCkgXAogICAgIG1hY3JvKGZvY3VzKSBc
CiAgICAgbWFjcm8oZm9jdXNpbikgXAogICAgIG1hY3JvKGZvY3Vzb3V0KSBcCi0gICAgbWFjcm8o
Z2VzdHVyZXRhcCkgXAotICAgIG1hY3JvKGdlc3R1cmV0YXBkb3duKSBcCi0gICAgbWFjcm8oZ2Vz
dHVyZXNjcm9sbHN0YXJ0KSBcCisgICAgbWFjcm8oZ2FtZXBhZGNvbm5lY3RlZCkgXAorICAgIG1h
Y3JvKGdhbWVwYWRkaXNjb25uZWN0ZWQpIFwKKyAgICBtYWNybyhnZXN0dXJlY2hhbmdlKSBcCisg
ICAgbWFjcm8oZ2VzdHVyZWVuZCkgXAogICAgIG1hY3JvKGdlc3R1cmVzY3JvbGxlbmQpIFwKKyAg
ICBtYWNybyhnZXN0dXJlc2Nyb2xsc3RhcnQpIFwKICAgICBtYWNybyhnZXN0dXJlc2Nyb2xsdXBk
YXRlKSBcCisgICAgbWFjcm8oZ2VzdHVyZXN0YXJ0KSBcCisgICAgbWFjcm8oZ2VzdHVyZXRhcCkg
XAorICAgIG1hY3JvKGdlc3R1cmV0YXBkb3duKSBcCiAgICAgbWFjcm8oaGFzaGNoYW5nZSkgXAor
ICAgIG1hY3JvKGljZWNhbmRpZGF0ZSkgXAorICAgIG1hY3JvKGljZWNvbm5lY3Rpb25zdGF0ZWNo
YW5nZSkgXAorICAgIG1hY3JvKGluYWN0aXZlKSBcCiAgICAgbWFjcm8oaW5wdXQpIFwKICAgICBt
YWNybyhpbnZhbGlkKSBcCiAgICAgbWFjcm8oa2V5ZG93bikgXApAQCAtODIsOSArMTI0LDEzIEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyhrZXl1cCkgXAogICAgIG1hY3JvKGxldmVs
Y2hhbmdlKSBcCiAgICAgbWFjcm8obG9hZCkgXAorICAgIG1hY3JvKGxvYWRlZGRhdGEpIFwKKyAg
ICBtYWNybyhsb2FkZWRtZXRhZGF0YSkgXAorICAgIG1hY3JvKGxvYWRlbmQpIFwKICAgICBtYWNy
byhsb2FkaW5nKSBcCiAgICAgbWFjcm8obG9hZGluZ2RvbmUpIFwKICAgICBtYWNybyhsb2Fkc3Rh
cnQpIFwKKyAgICBtYWNybyhtYXJrKSBcCiAgICAgbWFjcm8obWVzc2FnZSkgXAogICAgIG1hY3Jv
KG1vdXNlZG93bikgXAogICAgIG1hY3JvKG1vdXNlZW50ZXIpIFwKQEAgLTk0LDI2MyArMTQwLDE4
MCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8obW91c2VvdmVyKSBcCiAgICAgbWFj
cm8obW91c2V1cCkgXAogICAgIG1hY3JvKG1vdXNld2hlZWwpIFwKKyAgICBtYWNybyhtdXRlKSBc
CisgICAgbWFjcm8obmVnb3RpYXRpb25uZWVkZWQpIFwKKyAgICBtYWNybyhub21hdGNoKSBcCiAg
ICAgbWFjcm8obm91cGRhdGUpIFwKICAgICBtYWNybyhvYnNvbGV0ZSkgXAogICAgIG1hY3JvKG9m
ZmxpbmUpIFwKICAgICBtYWNybyhvbmxpbmUpIFwKICAgICBtYWNybyhvcGVuKSBcCisgICAgbWFj
cm8ob3JpZW50YXRpb25jaGFuZ2UpIFwKKyAgICBtYWNybyhvdmVyY29uc3RyYWluZWQpIFwKICAg
ICBtYWNybyhvdmVyZmxvd2NoYW5nZWQpIFwKICAgICBtYWNybyhwYWdlaGlkZSkgXAogICAgIG1h
Y3JvKHBhZ2VzaG93KSBcCiAgICAgbWFjcm8ocGFzdGUpIFwKKyAgICBtYWNybyhwYXVzZSkgXAor
ICAgIG1hY3JvKHBsYXkpIFwKKyAgICBtYWNybyhwbGF5aW5nKSBcCisgICAgbWFjcm8ocG9pbnRl
cmxvY2tjaGFuZ2UpIFwKKyAgICBtYWNybyhwb2ludGVybG9ja2Vycm9yKSBcCiAgICAgbWFjcm8o
cG9wc3RhdGUpIFwKKyAgICBtYWNybyhwcm9ncmVzcykgXAorICAgIG1hY3JvKHJhdGVjaGFuZ2Up
IFwKICAgICBtYWNybyhyZWFkeXN0YXRlY2hhbmdlKSBcCisgICAgbWFjcm8ocmVtb3Zlc291cmNl
YnVmZmVyKSBcCisgICAgbWFjcm8ocmVtb3Zlc3RyZWFtKSBcCisgICAgbWFjcm8ocmVtb3ZldHJh
Y2spIFwKICAgICBtYWNybyhyZXNldCkgXAogICAgIG1hY3JvKHJlc2l6ZSkgXAorICAgIG1hY3Jv
KHJlc3VsdCkgXAorICAgIG1hY3JvKHJlc3VtZSkgXAogICAgIG1hY3JvKHNjcm9sbCkgXAogICAg
IG1hY3JvKHNlYXJjaCkgXAorICAgIG1hY3JvKHNlY3VyaXR5cG9saWN5dmlvbGF0aW9uKSBcCisg
ICAgbWFjcm8oc2Vla2VkKSBcCisgICAgbWFjcm8oc2Vla2luZykgXAogICAgIG1hY3JvKHNlbGVj
dCkgXAotICAgIG1hY3JvKHNlbGVjdHN0YXJ0KSBcCiAgICAgbWFjcm8oc2VsZWN0aW9uY2hhbmdl
KSBcCisgICAgbWFjcm8oc2VsZWN0c3RhcnQpIFwKKyAgICBtYWNybyhzaG93KSBcCisgICAgbWFj
cm8oc2lnbmFsaW5nc3RhdGVjaGFuZ2UpIFwKKyAgICBtYWNybyhzb3VuZGVuZCkgXAorICAgIG1h
Y3JvKHNvdW5kc3RhcnQpIFwKKyAgICBtYWNybyhzb3VyY2VjbG9zZSkgXAorICAgIG1hY3JvKHNv
dXJjZWVuZGVkKSBcCisgICAgbWFjcm8oc291cmNlb3BlbikgXAorICAgIG1hY3JvKHNwZWVjaGVu
ZCkgXAorICAgIG1hY3JvKHNwZWVjaHN0YXJ0KSBcCisgICAgbWFjcm8oc3RhbGxlZCkgXAorICAg
IG1hY3JvKHN0YXJ0KSBcCisgICAgbWFjcm8oc3RhcnRlZCkgXAogICAgIG1hY3JvKHN0b3JhZ2Up
IFwKICAgICBtYWNybyhzdWJtaXQpIFwKKyAgICBtYWNybyhzdWNjZXNzKSBcCisgICAgbWFjcm8o
c3VzcGVuZCkgXAogICAgIG1hY3JvKHRleHRJbnB1dCkgXAorICAgIG1hY3JvKHRpbWVvdXQpIFwK
KyAgICBtYWNybyh0aW1ldXBkYXRlKSBcCisgICAgbWFjcm8odG9uZWNoYW5nZSkgXAorICAgIG1h
Y3JvKHRvdWNoY2FuY2VsKSBcCisgICAgbWFjcm8odG91Y2hlbmQpIFwKKyAgICBtYWNybyh0b3Vj
aG1vdmUpIFwKKyAgICBtYWNybyh0b3VjaHN0YXJ0KSBcCisgICAgbWFjcm8odHJhbnNpdGlvbmVu
ZCkgXAogICAgIG1hY3JvKHVubG9hZCkgXAorICAgIG1hY3JvKHVubXV0ZSkgXAorICAgIG1hY3Jv
KHVwZGF0ZSkgXAorICAgIG1hY3JvKHVwZGF0ZWVuZCkgXAogICAgIG1hY3JvKHVwZGF0ZXJlYWR5
KSBcCisgICAgbWFjcm8odXBkYXRlc3RhcnQpIFwKICAgICBtYWNybyh1cGdyYWRlbmVlZGVkKSBc
CiAgICAgbWFjcm8odmVyc2lvbmNoYW5nZSkgXAogICAgIG1hY3JvKHZpc2liaWxpdHljaGFuZ2Up
IFwKLSAgICAvKiBFTkFCTEUoV0lMTF9SRVZFQUxfRURHRV9FVkVOVCkgKi8gXAotICAgIG1hY3Jv
KHdlYmtpdHdpbGxyZXZlYWxib3R0b20pIFwKLSAgICBtYWNybyh3ZWJraXR3aWxscmV2ZWFsbGVm
dCkgXAotICAgIG1hY3JvKHdlYmtpdHdpbGxyZXZlYWxyaWdodCkgXAotICAgIG1hY3JvKHdlYmtp
dHdpbGxyZXZlYWx0b3ApIFwKLSAgICAvKiBFbmQgb2YgRU5BQkxFKFdJTExfUkVWRUFMX0VER0Vf
RVZFTlQpICovIFwKLSAgICBtYWNybyh3aGVlbCkgXAotICAgIG1hY3JvKHdyaXRlKSBcCi0gICAg
bWFjcm8od3JpdGVlbmQpIFwKLSAgICBtYWNybyh3cml0ZXN0YXJ0KSBcCi0gICAgbWFjcm8oem9v
bSkgXAotICAgIFwKLSAgICBtYWNybyhET01BY3RpdmF0ZSkgXAotICAgIG1hY3JvKERPTUZvY3Vz
SW4pIFwKLSAgICBtYWNybyhET01Gb2N1c091dCkgXAotICAgIG1hY3JvKERPTUNoYXJhY3RlckRh
dGFNb2RpZmllZCkgXAotICAgIG1hY3JvKERPTU5vZGVJbnNlcnRlZCkgXAotICAgIG1hY3JvKERP
TU5vZGVJbnNlcnRlZEludG9Eb2N1bWVudCkgXAotICAgIG1hY3JvKERPTU5vZGVSZW1vdmVkKSBc
Ci0gICAgbWFjcm8oRE9NTm9kZVJlbW92ZWRGcm9tRG9jdW1lbnQpIFwKLSAgICBtYWNybyhET01T
dWJ0cmVlTW9kaWZpZWQpIFwKLSAgICBtYWNybyhET01Db250ZW50TG9hZGVkKSBcCi0gICAgXAot
ICAgIG1hY3JvKHdlYmtpdEJlZm9yZVRleHRJbnNlcnRlZCkgXAotICAgIG1hY3JvKHdlYmtpdEVk
aXRhYmxlQ29udGVudENoYW5nZWQpIFwKLSAgICBcCi0gICAgbWFjcm8oY2FucGxheSkgXAotICAg
IG1hY3JvKGNhbnBsYXl0aHJvdWdoKSBcCi0gICAgbWFjcm8oZHVyYXRpb25jaGFuZ2UpIFwKLSAg
ICBtYWNybyhlbXB0aWVkKSBcCi0gICAgbWFjcm8oZW5kZWQpIFwKLSAgICBtYWNybyhsb2FkZWRk
YXRhKSBcCi0gICAgbWFjcm8obG9hZGVkbWV0YWRhdGEpIFwKLSAgICBtYWNybyhwYXVzZSkgXAot
ICAgIG1hY3JvKHBsYXkpIFwKLSAgICBtYWNybyhwbGF5aW5nKSBcCi0gICAgbWFjcm8ocmF0ZWNo
YW5nZSkgXAotICAgIG1hY3JvKHNlZWtlZCkgXAotICAgIG1hY3JvKHNlZWtpbmcpIFwKLSAgICBt
YWNybyh0aW1ldXBkYXRlKSBcCiAgICAgbWFjcm8odm9sdW1lY2hhbmdlKSBcCiAgICAgbWFjcm8o
d2FpdGluZykgXAotICAgIFwKLSAgICBtYWNybyhhY3RpdmUpIFwKLSAgICBtYWNybyhpbmFjdGl2
ZSkgXAotICAgIG1hY3JvKGFkZHRyYWNrKSBcCi0gICAgbWFjcm8oY3VlY2hhbmdlKSBcCi0gICAg
bWFjcm8oZW50ZXIpIFwKLSAgICBtYWNybyhleGl0KSBcCi0gICAgXAorICAgIG1hY3JvKHdlYmds
Y29udGV4dGNyZWF0aW9uZXJyb3IpIFwKKyAgICBtYWNybyh3ZWJnbGNvbnRleHRsb3N0KSBcCisg
ICAgbWFjcm8od2ViZ2xjb250ZXh0cmVzdG9yZWQpIFwKKyAgICBtYWNybyh3ZWJraXRBbmltYXRp
b25FbmQpIFwKKyAgICBtYWNybyh3ZWJraXRBbmltYXRpb25JdGVyYXRpb24pIFwKKyAgICBtYWNy
byh3ZWJraXRBbmltYXRpb25TdGFydCkgXAorICAgIG1hY3JvKHdlYmtpdEJlZm9yZVRleHRJbnNl
cnRlZCkgXAorICAgIG1hY3JvKHdlYmtpdEVkaXRhYmxlQ29udGVudENoYW5nZWQpIFwKKyAgICBt
YWNybyh3ZWJraXRUcmFuc2l0aW9uRW5kKSBcCiAgICAgbWFjcm8od2Via2l0YmVnaW5mdWxsc2Ny
ZWVuKSBcCisgICAgbWFjcm8od2Via2l0Y3VycmVudHBsYXliYWNrdGFyZ2V0aXN3aXJlbGVzc2No
YW5nZWQpIFwKKyAgICBtYWNybyh3ZWJraXRkZXZpY2Vwcm94aW1pdHkpIFwKICAgICBtYWNybyh3
ZWJraXRlbmRmdWxsc2NyZWVuKSBcCi0gICAgXAotICAgIG1hY3JvKGFkZHNvdXJjZWJ1ZmZlcikg
XAotICAgIG1hY3JvKHJlbW92ZXNvdXJjZWJ1ZmZlcikgXAotICAgIG1hY3JvKHNvdXJjZW9wZW4p
IFwKLSAgICBtYWNybyhzb3VyY2VlbmRlZCkgXAotICAgIG1hY3JvKHNvdXJjZWNsb3NlKSBcCi0g
ICAgbWFjcm8odXBkYXRlKSBcCi0gICAgbWFjcm8odXBkYXRlZW5kKSBcCi0gICAgbWFjcm8odXBk
YXRlc3RhcnQpIFwKLSAgICBtYWNybyh3ZWJraXRhZGRzb3VyY2VidWZmZXIpIFwKLSAgICBtYWNy
byh3ZWJraXRyZW1vdmVzb3VyY2VidWZmZXIpIFwKLSAgICBtYWNybyh3ZWJraXRzb3VyY2VvcGVu
KSBcCi0gICAgbWFjcm8od2Via2l0c291cmNlZW5kZWQpIFwKLSAgICBtYWNybyh3ZWJraXRzb3Vy
Y2VjbG9zZSkgXAotICAgIFwKKyAgICBtYWNybyh3ZWJraXRmdWxsc2NyZWVuY2hhbmdlKSBcCisg
ICAgbWFjcm8od2Via2l0ZnVsbHNjcmVlbmVycm9yKSBcCiAgICAgbWFjcm8od2Via2l0a2V5YWRk
ZWQpIFwKICAgICBtYWNybyh3ZWJraXRrZXllcnJvcikgXAogICAgIG1hY3JvKHdlYmtpdGtleW1l
c3NhZ2UpIFwKICAgICBtYWNybyh3ZWJraXRuZWVka2V5KSBcCi0gICAgXAotICAgIG1hY3JvKHBy
b2dyZXNzKSBcCi0gICAgbWFjcm8oc3RhbGxlZCkgXAotICAgIG1hY3JvKHN1c3BlbmQpIFwKLSAg
ICBcCi0gICAgbWFjcm8od2Via2l0QW5pbWF0aW9uRW5kKSBcCi0gICAgbWFjcm8od2Via2l0QW5p
bWF0aW9uU3RhcnQpIFwKLSAgICBtYWNybyh3ZWJraXRBbmltYXRpb25JdGVyYXRpb24pIFwKLSAg
ICBtYWNybyhhbmltYXRpb25lbmQpIFwKLSAgICBtYWNybyhhbmltYXRpb25zdGFydCkgXAotICAg
IG1hY3JvKGFuaW1hdGlvbml0ZXJhdGlvbikgXAotICAgIFwKLSAgICBtYWNybyh3ZWJraXRUcmFu
c2l0aW9uRW5kKSBcCi0gICAgbWFjcm8odHJhbnNpdGlvbmVuZCkgXAotICAgIFwKLSAgICBtYWNy
byhvcmllbnRhdGlvbmNoYW5nZSkgXAotICAgIFwKLSAgICBtYWNybyh0aW1lb3V0KSBcCi0gICAg
XAotICAgIG1hY3JvKHRvdWNoc3RhcnQpIFwKLSAgICBtYWNybyh0b3VjaG1vdmUpIFwKLSAgICBt
YWNybyh0b3VjaGVuZCkgXAotICAgIG1hY3JvKHRvdWNoY2FuY2VsKSBcCi0gICAgXAotICAgIG1h
Y3JvKHN1Y2Nlc3MpIFwKLSAgICBcCi0gICAgbWFjcm8obG9hZGVuZCkgXAotICAgIFwKLSAgICBt
YWNybyh3ZWJraXRmdWxsc2NyZWVuY2hhbmdlKSBcCi0gICAgbWFjcm8od2Via2l0ZnVsbHNjcmVl
bmVycm9yKSBcCi0gICAgXAotICAgIG1hY3JvKHdlYmtpdHNwZWVjaGNoYW5nZSkgXAotICAgIFwK
LSAgICBtYWNybyhhdWRpb3N0YXJ0KSBcCi0gICAgbWFjcm8oc291bmRzdGFydCkgXAotICAgIG1h
Y3JvKHNwZWVjaHN0YXJ0KSBcCi0gICAgbWFjcm8oc3BlZWNoZW5kKSBcCi0gICAgbWFjcm8oc291
bmRlbmQpIFwKLSAgICBtYWNybyhhdWRpb2VuZCkgXAotICAgIG1hY3JvKHJlc3VsdCkgXAotICAg
IG1hY3JvKG5vbWF0Y2gpIFwKLSAgICBtYWNybyhzdGFydCkgXAotICAgIG1hY3JvKGVuZCkgXAot
ICAgIG1hY3JvKG1hcmspIFwKLSAgICBtYWNybyhib3VuZGFyeSkgXAotICAgIG1hY3JvKHJlc3Vt
ZSkgXAotICAgIFwKLSAgICBtYWNybyh3ZWJnbGNvbnRleHRsb3N0KSBcCi0gICAgbWFjcm8od2Vi
Z2xjb250ZXh0cmVzdG9yZWQpIFwKLSAgICBtYWNybyh3ZWJnbGNvbnRleHRjcmVhdGlvbmVycm9y
KSBcCi0gICAgXAotICAgIG1hY3JvKGF1ZGlvcHJvY2VzcykgXAotICAgIFwKLSAgICBtYWNybyhj
b25uZWN0aW5nKSBcCi0gICAgbWFjcm8oYWRkc3RyZWFtKSBcCi0gICAgbWFjcm8ocmVtb3Zlc3Ry
ZWFtKSBcCi0gICAgbWFjcm8oc2lnbmFsaW5nc3RhdGVjaGFuZ2UpIFwKLSAgICBtYWNybyhyZW1v
dmV0cmFjaykgXAotICAgIG1hY3JvKG92ZXJjb25zdHJhaW5lZCkgXAotICAgIG1hY3JvKG11dGUp
IFwKLSAgICBtYWNybyh1bm11dGUpIFwKLSAgICBtYWNybyhzdGFydGVkKSBcCi0gICAgbWFjcm8o
aWNlY29ubmVjdGlvbnN0YXRlY2hhbmdlKSBcCi0gICAgbWFjcm8oaWNlY2FuZGlkYXRlKSBcCi0g
ICAgbWFjcm8obmVnb3RpYXRpb25uZWVkZWQpIFwKLSAgICBtYWNybyhkYXRhY2hhbm5lbCkgXAot
ICAgIG1hY3JvKHRvbmVjaGFuZ2UpIFwKLSAgICBcCi0gICAgbWFjcm8oc2hvdykgXAotICAgIFwK
LSAgICBtYWNybyhwb2ludGVybG9ja2NoYW5nZSkgXAotICAgIG1hY3JvKHBvaW50ZXJsb2NrZXJy
b3IpIFwKLSAgICBcCi0gICAgbWFjcm8od2Via2l0cmVnaW9ub3ZlcnNldGNoYW5nZSkgXAotICAg
IFwKICAgICBtYWNybyh3ZWJraXRuZXR3b3JraW5mb2NoYW5nZSkgXAotICAgIFwKLSAgICBtYWNy
byh3ZWJraXRyZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwpIFwKLSAgICBcCi0gICAgbWFjcm8od2Vi
a2l0ZGV2aWNlcHJveGltaXR5KSBcCi0gICAgXAotICAgIG1hY3JvKHNlY3VyaXR5cG9saWN5dmlv
bGF0aW9uKSBcCi0gICAgXAotICAgIC8qIEVOQUJMRShXSVJFTEVTU19QTEFZQkFDS19UQVJHRVQp
ICovIFwKLSAgICBtYWNybyh3ZWJraXRjdXJyZW50cGxheWJhY2t0YXJnZXRpc3dpcmVsZXNzY2hh
bmdlZCkgXAogICAgIG1hY3JvKHdlYmtpdHBsYXliYWNrdGFyZ2V0YXZhaWxhYmlsaXR5Y2hhbmdl
ZCkgXAotICAgIC8qIEVuZCBvZiBFTkFCTEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAqLyBc
Ci0gICAgXAotICAgIC8qIEVOQUJMRShJT1NfR0VTVFVSRV9FVkVOVFMpICovIFwKLSAgICBtYWNy
byhnZXN0dXJlc3RhcnQpIFwKLSAgICBtYWNybyhnZXN0dXJlY2hhbmdlKSBcCi0gICAgbWFjcm8o
Z2VzdHVyZWVuZCkgXAotICAgIC8qIEVuZCBvZiBFTkFCTEUoSU9TX0dFU1RVUkVfRVZFTlRTKSAq
LyBcCi0gICAgXAotICAgIC8qIEVOQUJMRShHQU1FUEFEKSAqLyBcCi0gICAgbWFjcm8oZ2FtZXBh
ZGNvbm5lY3RlZCkgXAotICAgIG1hY3JvKGdhbWVwYWRkaXNjb25uZWN0ZWQpIFwKLSAgICAvKiBF
bmQgb2YgRU5BQkxFKEdBTUVQQUQpICovIFwKLSAgICBcCi0gICAgLyogRU5BQkxFKFJFUVVFU1Rf
QVVUT0NPTVBMRVRFKSAqLyBcCi0gICAgbWFjcm8oYXV0b2NvbXBsZXRlKSBcCi0gICAgbWFjcm8o
YXV0b2NvbXBsZXRlZXJyb3IpIFwKLSAgICAvKiBFbmQgb2YgRU5BQkxFKFJFUVVFU1RfQVVUT0NP
TVBMRVRFKSAqLyBcCi0gICAgXAotICAgIC8qIFBMQVRGT1JNKElPUykgKi8gXAogICAgIG1hY3Jv
KHdlYmtpdHByZXNlbnRhdGlvbm1vZGVjaGFuZ2VkKSBcCi0gICAgLyogRW5kIG9mIEVOQUJMRShX
SVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICovIFwKLQorICAgIG1hY3JvKHdlYmtpdHJlZ2lvbm92
ZXJzZXRjaGFuZ2UpIFwKKyAgICBtYWNybyh3ZWJraXRyZW1vdmVzb3VyY2VidWZmZXIpIFwKKyAg
ICBtYWNybyh3ZWJraXRyZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwpIFwKKyAgICBtYWNybyh3ZWJr
aXRzb3VyY2VjbG9zZSkgXAorICAgIG1hY3JvKHdlYmtpdHNvdXJjZWVuZGVkKSBcCisgICAgbWFj
cm8od2Via2l0c291cmNlb3BlbikgXAorICAgIG1hY3JvKHdlYmtpdHNwZWVjaGNoYW5nZSkgXAor
ICAgIG1hY3JvKHdlYmtpdHdpbGxyZXZlYWxib3R0b20pIFwKKyAgICBtYWNybyh3ZWJraXR3aWxs
cmV2ZWFsbGVmdCkgXAorICAgIG1hY3JvKHdlYmtpdHdpbGxyZXZlYWxyaWdodCkgXAorICAgIG1h
Y3JvKHdlYmtpdHdpbGxyZXZlYWx0b3ApIFwKKyAgICBtYWNybyh3aGVlbCkgXAorICAgIG1hY3Jv
KHdyaXRlKSBcCisgICAgbWFjcm8od3JpdGVlbmQpIFwKKyAgICBtYWNybyh3cml0ZXN0YXJ0KSBc
CisgICAgbWFjcm8oem9vbSkgXAogLy8gZW5kIG9mIERPTV9FVkVOVF9OQU1FU19GT1JfRUFDSAog
Ci1jbGFzcyBFdmVudE5hbWVzIHsKK3N0cnVjdCBFdmVudE5hbWVzIHsKICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShFdmVudE5hbWVzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Ci0gICAgaW50
IGR1bW15OyAvLyBOZWVkZWQgdG8gbWFrZSBpbml0aWFsaXphdGlvbiBtYWNybyB3b3JrLgotICAg
IC8vIFByaXZhdGUgdG8gcHJldmVudCBhY2NpZGVudGFsIGNhbGwgdG8gRXZlbnROYW1lcygpIGlu
c3RlYWQgb2YgZXZlbnROYW1lcygpCi0gICAgRXZlbnROYW1lcygpOwotICAgIGZyaWVuZCBjbGFz
cyBUaHJlYWRHbG9iYWxEYXRhOwogCiBwdWJsaWM6Ci0gICAgI2RlZmluZSBET01fRVZFTlRfTkFN
RVNfREVDTEFSRShuYW1lKSBBdG9taWNTdHJpbmcgbmFtZSMjRXZlbnQ7CisjZGVmaW5lIERPTV9F
VkVOVF9OQU1FU19ERUNMQVJFKG5hbWUpIGNvbnN0IEF0b21pY1N0cmluZyBuYW1lIyNFdmVudDsK
ICAgICBET01fRVZFTlRfTkFNRVNfRk9SX0VBQ0goRE9NX0VWRU5UX05BTUVTX0RFQ0xBUkUpCi0g
ICAgI3VuZGVmIERPTV9FVkVOVF9OQU1FU19ERUNMQVJFCisjdW5kZWYgRE9NX0VWRU5UX05BTUVT
X0RFQ0xBUkUKIAotICAgIGlubGluZSBib29sIGlzR2VzdHVyZUV2ZW50VHlwZShjb25zdCBBdG9t
aWNTdHJpbmcmIGV2ZW50VHlwZSkgY29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVybiBldmVudFR5
cGUgPT0gZ2VzdHVyZXN0YXJ0RXZlbnQgfHwgZXZlbnRUeXBlID09IGdlc3R1cmVjaGFuZ2VFdmVu
dCB8fCBldmVudFR5cGUgPT0gZ2VzdHVyZWVuZEV2ZW50OwotICAgIH0KKyAgICAvLyBGSVhNRTog
SW5lbGVnYW50IHRvIGNhbGwgdGhlc2UgYm90aCBldmVudCBuYW1lcyBhbmQgZXZlbnQgdHlwZXMu
CisgICAgLy8gV2Ugc2hvdWxkIGNob29zZSBvbmUgdGVybSBhbmQgc3RpY2sgdG8gaXQuCisgICAg
Ym9vbCBpc0dlc3R1cmVFdmVudFR5cGUoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUpIGNv
bnN0OworICAgIGJvb2wgaXNUb3VjaEV2ZW50VHlwZShjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50
VHlwZSkgY29uc3Q7CisjaWYgRU5BQkxFKEdBTUVQQUQpCisgICAgYm9vbCBpc0dhbWVwYWRFdmVu
dFR5cGUoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUpIGNvbnN0OworI2VuZGlmCiAKLSAg
ICBpbmxpbmUgYm9vbCBpc1RvdWNoRXZlbnRUeXBlKGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRU
eXBlKSBjb25zdAotICAgIHsKLSAgICAgICAgcmV0dXJuIGV2ZW50VHlwZSA9PSB0b3VjaHN0YXJ0
RXZlbnQKLSAgICAgICAgICAgIHx8IGV2ZW50VHlwZSA9PSB0b3VjaG1vdmVFdmVudAotICAgICAg
ICAgICAgfHwgZXZlbnRUeXBlID09IHRvdWNoZW5kRXZlbnQKLSAgICAgICAgICAgIHx8IGV2ZW50
VHlwZSA9PSB0b3VjaGNhbmNlbEV2ZW50OwotICAgIH0KKyAgICBzdGQ6OmFycmF5PHN0ZDo6cmVm
ZXJlbmNlX3dyYXBwZXI8Y29uc3QgQXRvbWljU3RyaW5nPiwgND4gdG91Y2hFdmVudE5hbWVzKCkg
Y29uc3Q7CiAKLSAgICBWZWN0b3I8QXRvbWljU3RyaW5nPiB0b3VjaEV2ZW50TmFtZXMoKSBjb25z
dAotICAgIHsKLSAgICAgICAgVmVjdG9yPEF0b21pY1N0cmluZz4gbmFtZXM7Ci0gICAgICAgIG5h
bWVzLnJlc2VydmVDYXBhY2l0eSg0KTsKLSAgICAgICAgbmFtZXMuYXBwZW5kKHRvdWNoc3RhcnRF
dmVudCk7Ci0gICAgICAgIG5hbWVzLmFwcGVuZCh0b3VjaG1vdmVFdmVudCk7Ci0gICAgICAgIG5h
bWVzLmFwcGVuZCh0b3VjaGVuZEV2ZW50KTsKLSAgICAgICAgbmFtZXMuYXBwZW5kKHRvdWNoY2Fu
Y2VsRXZlbnQpOwotICAgICAgICByZXR1cm4gbmFtZXM7Ci0gICAgfQorcHJpdmF0ZToKKyAgICBF
dmVudE5hbWVzKCk7IC8vIFByaXZhdGUgdG8gcHJldmVudCBhY2NpZGVudGFsIGNhbGwgdG8gRXZl
bnROYW1lcygpIGluc3RlYWQgb2YgZXZlbnROYW1lcygpLgorICAgIGZyaWVuZCBjbGFzcyBUaHJl
YWRHbG9iYWxEYXRhOyAvLyBBbGxvdyBUaHJlYWRHbG9iYWxEYXRhIHRvIGNyZWF0ZSB0aGUgcGVy
LXRocmVhZCBFdmVudE5hbWVzIG9iamVjdC4KIAotI2lmIEVOQUJMRShHQU1FUEFEKQotICAgIGlu
bGluZSBib29sIGlzR2FtZXBhZEV2ZW50VHlwZShjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlw
ZSkgY29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVybiBldmVudFR5cGUgPT0gZ2FtZXBhZGNvbm5l
Y3RlZEV2ZW50Ci0gICAgICAgICAgICB8fCBldmVudFR5cGUgPT0gZ2FtZXBhZGRpc2Nvbm5lY3Rl
ZEV2ZW50OwotICAgIH0KLSNlbmRpZgorICAgIGludCBkdW1teTsgLy8gTmVlZGVkIHRvIG1ha2Ug
aW5pdGlhbGl6YXRpb24gbWFjcm8gd29yay4KIH07CiAKLWlubGluZSBFdmVudE5hbWVzJiBldmVu
dE5hbWVzKCkKK2NvbnN0IEV2ZW50TmFtZXMmIGV2ZW50TmFtZXMoKTsKKworaW5saW5lIGNvbnN0
IEV2ZW50TmFtZXMmIGV2ZW50TmFtZXMoKQogewogICAgIHJldHVybiB0aHJlYWRHbG9iYWxEYXRh
KCkuZXZlbnROYW1lcygpOwogfQogCitpbmxpbmUgYm9vbCBFdmVudE5hbWVzOjppc0dlc3R1cmVF
dmVudFR5cGUoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUpIGNvbnN0Cit7CisgICAgcmV0
dXJuIGV2ZW50VHlwZSA9PSBnZXN0dXJlc3RhcnRFdmVudCB8fCBldmVudFR5cGUgPT0gZ2VzdHVy
ZWNoYW5nZUV2ZW50IHx8IGV2ZW50VHlwZSA9PSBnZXN0dXJlZW5kRXZlbnQ7Cit9CisKK2lubGlu
ZSBib29sIEV2ZW50TmFtZXM6OmlzVG91Y2hFdmVudFR5cGUoY29uc3QgQXRvbWljU3RyaW5nJiBl
dmVudFR5cGUpIGNvbnN0Cit7CisgICAgcmV0dXJuIGV2ZW50VHlwZSA9PSB0b3VjaHN0YXJ0RXZl
bnQKKyAgICAgICAgfHwgZXZlbnRUeXBlID09IHRvdWNobW92ZUV2ZW50CisgICAgICAgIHx8IGV2
ZW50VHlwZSA9PSB0b3VjaGVuZEV2ZW50CisgICAgICAgIHx8IGV2ZW50VHlwZSA9PSB0b3VjaGNh
bmNlbEV2ZW50OworfQorCitpbmxpbmUgc3RkOjphcnJheTxzdGQ6OnJlZmVyZW5jZV93cmFwcGVy
PGNvbnN0IEF0b21pY1N0cmluZz4sIDQ+IEV2ZW50TmFtZXM6OnRvdWNoRXZlbnROYW1lcygpIGNv
bnN0Cit7CisgICAgcmV0dXJuIHsgeyB0b3VjaHN0YXJ0RXZlbnQsIHRvdWNobW92ZUV2ZW50LCB0
b3VjaGVuZEV2ZW50LCB0b3VjaGNhbmNlbEV2ZW50IH0gfTsKK30KKworI2lmIEVOQUJMRShHQU1F
UEFEKQorCitpbmxpbmUgYm9vbCBFdmVudE5hbWVzOjppc0dhbWVwYWRFdmVudFR5cGUoY29uc3Qg
QXRvbWljU3RyaW5nJiBldmVudFR5cGUpIGNvbnN0Cit7CisgICAgcmV0dXJuIGV2ZW50VHlwZSA9
PSBnYW1lcGFkY29ubmVjdGVkRXZlbnQKKyAgICAgICAgfHwgZXZlbnRUeXBlID09IGdhbWVwYWRk
aXNjb25uZWN0ZWRFdmVudDsKK30KKworI2VuZGlmCisKIH0KIAogI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9t
L0V2ZW50VGFyZ2V0LmNwcAppbmRleCA3ZjM4OTViMTc2NmNhZjRkNWQzMGM4NzViNzBmNTQxYzZh
YTA1MjJhLi5mZmU3ODY0OTVkYTkxZjk2ZmNjODMyNzZmYzg2OTkzODNkMjBlYzg2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9FdmVudFRhcmdldC5jcHAKQEAgLTM4LDYgKzM4LDcgQEAKICNpbmNsdWRlICJXZWJL
aXRBbmltYXRpb25FdmVudC5oIgogI2luY2x1ZGUgIldlYktpdFRyYW5zaXRpb25FdmVudC5oIgog
I2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CisjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVk
Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZi5oPgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4K
ICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CkBAIC0yNjMsMTcgKzI2NCwxMCBAQCB2b2lkIEV2ZW50
VGFyZ2V0OjpmaXJlRXZlbnRMaXN0ZW5lcnMoRXZlbnQqIGV2ZW50LCBFdmVudFRhcmdldERhdGEq
IGQsIEV2ZW50TGlzdAogCiBjb25zdCBFdmVudExpc3RlbmVyVmVjdG9yJiBFdmVudFRhcmdldDo6
Z2V0RXZlbnRMaXN0ZW5lcnMoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUpCiB7Ci0gICAg
REVQUkVDQVRFRF9ERUZJTkVfU1RBVElDX0xPQ0FMKEV2ZW50TGlzdGVuZXJWZWN0b3IsIGVtcHR5
VmVjdG9yLCAoKSk7Ci0KLSAgICBFdmVudFRhcmdldERhdGEqIGQgPSBldmVudFRhcmdldERhdGEo
KTsKLSAgICBpZiAoIWQpCi0gICAgICAgIHJldHVybiBlbXB0eVZlY3RvcjsKLQotICAgIEV2ZW50
TGlzdGVuZXJWZWN0b3IqIGxpc3RlbmVyVmVjdG9yID0gZC0+ZXZlbnRMaXN0ZW5lck1hcC5maW5k
KGV2ZW50VHlwZSk7Ci0gICAgaWYgKCFsaXN0ZW5lclZlY3RvcikKLSAgICAgICAgcmV0dXJuIGVt
cHR5VmVjdG9yOwotCi0gICAgcmV0dXJuICpsaXN0ZW5lclZlY3RvcjsKKyAgICBhdXRvKiBkYXRh
ID0gZXZlbnRUYXJnZXREYXRhKCk7CisgICAgYXV0byogbGlzdGVuZXJWZWN0b3IgPSBkYXRhID8g
ZGF0YS0+ZXZlbnRMaXN0ZW5lck1hcC5maW5kKGV2ZW50VHlwZSkgOiBudWxscHRyOworICAgIHN0
YXRpYyBOZXZlckRlc3Ryb3llZDxFdmVudExpc3RlbmVyVmVjdG9yPiBlbXB0eVZlY3RvcjsKKyAg
ICByZXR1cm4gbGlzdGVuZXJWZWN0b3IgPyAqbGlzdGVuZXJWZWN0b3IgOiBlbXB0eVZlY3Rvci5n
ZXQoKTsKIH0KIAogdm9pZCBFdmVudFRhcmdldDo6cmVtb3ZlQWxsRXZlbnRMaXN0ZW5lcnMoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
ZG9tL05vZGUuY3BwCmluZGV4IDg3M2YzMWUwMjBkNjAyNzQwZDU2MmNlNzk2ZDUzMzZhMGM2MTM1
MTQuLjEyNmRiMjE2ZGJlYTRkMTdiOTZiYTJlMjRlZWY4MWFhOWM2YTQ4ZTggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9k
ZS5jcHAKQEAgLTE3MDAsNDcgKzE3MDAsNDAgQEAgdm9pZCBOb2RlOjpkaWRNb3ZlVG9OZXdEb2N1
bWVudChEb2N1bWVudCogb2xkRG9jdW1lbnQpCiB7CiAgICAgVHJlZVNjb3BlQWRvcHRlcjo6ZW5z
dXJlRGlkTW92ZVRvTmV3RG9jdW1lbnRXYXNDYWxsZWQob2xkRG9jdW1lbnQpOwogCi0gICAgaWYg
KGNvbnN0IEV2ZW50VGFyZ2V0RGF0YSogZXZlbnRUYXJnZXREYXRhID0gdGhpcy0+ZXZlbnRUYXJn
ZXREYXRhKCkpIHsKLSAgICAgICAgY29uc3QgRXZlbnRMaXN0ZW5lck1hcCYgbGlzdGVuZXJNYXAg
PSBldmVudFRhcmdldERhdGEtPmV2ZW50TGlzdGVuZXJNYXA7Ci0gICAgICAgIGlmICghbGlzdGVu
ZXJNYXAuaXNFbXB0eSgpKSB7Ci0gICAgICAgICAgICBWZWN0b3I8QXRvbWljU3RyaW5nPiB0eXBl
cyA9IGxpc3RlbmVyTWFwLmV2ZW50VHlwZXMoKTsKLSAgICAgICAgICAgIGZvciAodW5zaWduZWQg
aSA9IDA7IGkgPCB0eXBlcy5zaXplKCk7ICsraSkKLSAgICAgICAgICAgICAgICBkb2N1bWVudCgp
LmFkZExpc3RlbmVyVHlwZUlmTmVlZGVkKHR5cGVzW2ldKTsKKyAgICBpZiAoYXV0byogZXZlbnRU
YXJnZXREYXRhID0gdGhpcy0+ZXZlbnRUYXJnZXREYXRhKCkpIHsKKyAgICAgICAgaWYgKCFldmVu
dFRhcmdldERhdGEtPmV2ZW50TGlzdGVuZXJNYXAuaXNFbXB0eSgpKSB7CisgICAgICAgICAgICBm
b3IgKGF1dG8mIHR5cGUgOiBldmVudFRhcmdldERhdGEtPmV2ZW50TGlzdGVuZXJNYXAuZXZlbnRU
eXBlcygpKQorICAgICAgICAgICAgICAgIGRvY3VtZW50KCkuYWRkTGlzdGVuZXJUeXBlSWZOZWVk
ZWQodHlwZSk7CiAgICAgICAgIH0KICAgICB9CiAKLSAgICBpZiAoQVhPYmplY3RDYWNoZTo6YWNj
ZXNzaWJpbGl0eUVuYWJsZWQoKSAmJiBvbGREb2N1bWVudCkKLSAgICAgICAgaWYgKEFYT2JqZWN0
Q2FjaGUqIGNhY2hlID0gb2xkRG9jdW1lbnQtPmV4aXN0aW5nQVhPYmplY3RDYWNoZSgpKQorICAg
IGlmIChBWE9iamVjdENhY2hlOjphY2Nlc3NpYmlsaXR5RW5hYmxlZCgpICYmIG9sZERvY3VtZW50
KSB7CisgICAgICAgIGlmIChhdXRvKiBjYWNoZSA9IG9sZERvY3VtZW50LT5leGlzdGluZ0FYT2Jq
ZWN0Q2FjaGUoKSkKICAgICAgICAgICAgIGNhY2hlLT5yZW1vdmUodGhpcyk7Ci0KLSAgICBjb25z
dCBFdmVudExpc3RlbmVyVmVjdG9yJiBtb3VzZXdoZWVsTGlzdGVuZXJzID0gZ2V0RXZlbnRMaXN0
ZW5lcnMoZXZlbnROYW1lcygpLm1vdXNld2hlZWxFdmVudCk7Ci0gICAgZm9yIChzaXplX3QgaSA9
IDA7IGkgPCBtb3VzZXdoZWVsTGlzdGVuZXJzLnNpemUoKTsgKytpKSB7Ci0gICAgICAgIG9sZERv
Y3VtZW50LT5kaWRSZW1vdmVXaGVlbEV2ZW50SGFuZGxlcigpOwotICAgICAgICBkb2N1bWVudCgp
LmRpZEFkZFdoZWVsRXZlbnRIYW5kbGVyKCk7CiAgICAgfQogCi0gICAgY29uc3QgRXZlbnRMaXN0
ZW5lclZlY3RvciYgd2hlZWxMaXN0ZW5lcnMgPSBnZXRFdmVudExpc3RlbmVycyhldmVudE5hbWVz
KCkud2hlZWxFdmVudCk7Ci0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCB3aGVlbExpc3RlbmVy
cy5zaXplKCk7ICsraSkgeworICAgIHVuc2lnbmVkIG51bVdoZWVsRXZlbnRIYW5kbGVycyA9IGdl
dEV2ZW50TGlzdGVuZXJzKGV2ZW50TmFtZXMoKS5tb3VzZXdoZWVsRXZlbnQpLnNpemUoKQorICAg
ICAgICArIGdldEV2ZW50TGlzdGVuZXJzKGV2ZW50TmFtZXMoKS53aGVlbEV2ZW50KS5zaXplKCk7
CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG51bVdoZWVsRXZlbnRIYW5kbGVyczsgKytp
KSB7CiAgICAgICAgIG9sZERvY3VtZW50LT5kaWRSZW1vdmVXaGVlbEV2ZW50SGFuZGxlcigpOwog
ICAgICAgICBkb2N1bWVudCgpLmRpZEFkZFdoZWVsRXZlbnRIYW5kbGVyKCk7CiAgICAgfQogCi0g
ICAgVmVjdG9yPEF0b21pY1N0cmluZz4gdG91Y2hFdmVudE5hbWVzID0gZXZlbnROYW1lcygpLnRv
dWNoRXZlbnROYW1lcygpOwotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgdG91Y2hFdmVudE5h
bWVzLnNpemUoKTsgKytpKSB7Ci0gICAgICAgIGNvbnN0IEV2ZW50TGlzdGVuZXJWZWN0b3ImIGxp
c3RlbmVycyA9IGdldEV2ZW50TGlzdGVuZXJzKHRvdWNoRXZlbnROYW1lc1tpXSk7Ci0gICAgICAg
IGZvciAoc2l6ZV90IGogPSAwOyBqIDwgbGlzdGVuZXJzLnNpemUoKTsgKytqKSB7Ci0gICAgICAg
ICAgICBvbGREb2N1bWVudC0+ZGlkUmVtb3ZlVG91Y2hFdmVudEhhbmRsZXIodGhpcyk7Ci0gICAg
ICAgICAgICBkb2N1bWVudCgpLmRpZEFkZFRvdWNoRXZlbnRIYW5kbGVyKHRoaXMpOwotICAgICAg
ICB9CisgICAgdW5zaWduZWQgbnVtVG91Y2hFdmVudEhhbmRsZXJzID0gMDsKKyAgICBmb3IgKGF1
dG8mIG5hbWUgOiBldmVudE5hbWVzKCkudG91Y2hFdmVudE5hbWVzKCkpCisgICAgICAgIG51bVRv
dWNoRXZlbnRIYW5kbGVycyArPSBnZXRFdmVudExpc3RlbmVycyhuYW1lKS5zaXplKCk7CisgICAg
Zm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG51bVRvdWNoRXZlbnRIYW5kbGVyczsgKytpKSB7Cisg
ICAgICAgIG9sZERvY3VtZW50LT5kaWRSZW1vdmVUb3VjaEV2ZW50SGFuZGxlcih0aGlzKTsKKyAg
ICAgICAgZG9jdW1lbnQoKS5kaWRBZGRUb3VjaEV2ZW50SGFuZGxlcih0aGlzKTsKICAgICB9CiAK
LSAgICBpZiAoVmVjdG9yPHN0ZDo6dW5pcXVlX3B0cjxNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0
aW9uPj4qIHJlZ2lzdHJ5ID0gbXV0YXRpb25PYnNlcnZlclJlZ2lzdHJ5KCkpIHsKLSAgICAgICAg
Zm9yIChjb25zdCBhdXRvJiByZWdpc3RyYXRpb24gOiAqcmVnaXN0cnkpCisgICAgaWYgKGF1dG8q
IHJlZ2lzdHJ5ID0gbXV0YXRpb25PYnNlcnZlclJlZ2lzdHJ5KCkpIHsKKyAgICAgICAgZm9yIChh
dXRvJiByZWdpc3RyYXRpb24gOiAqcmVnaXN0cnkpCiAgICAgICAgICAgICBkb2N1bWVudCgpLmFk
ZE11dGF0aW9uT2JzZXJ2ZXJUeXBlcyhyZWdpc3RyYXRpb24tPm11dGF0aW9uVHlwZXMoKSk7CiAg
ICAgfQogCi0gICAgaWYgKEhhc2hTZXQ8TXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbio+KiB0
cmFuc2llbnRSZWdpc3RyeSA9IHRyYW5zaWVudE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyeSgpKSB7
Ci0gICAgICAgIGZvciAoY29uc3QgYXV0byYgcmVnaXN0cmF0aW9uIDogKnRyYW5zaWVudFJlZ2lz
dHJ5KQorICAgIGlmIChhdXRvKiB0cmFuc2llbnRSZWdpc3RyeSA9IHRyYW5zaWVudE11dGF0aW9u
T2JzZXJ2ZXJSZWdpc3RyeSgpKSB7CisgICAgICAgIGZvciAoYXV0byYgcmVnaXN0cmF0aW9uIDog
KnRyYW5zaWVudFJlZ2lzdHJ5KQogICAgICAgICAgICAgZG9jdW1lbnQoKS5hZGRNdXRhdGlvbk9i
c2VydmVyVHlwZXMocmVnaXN0cmF0aW9uLT5tdXRhdGlvblR5cGVzKCkpOwogICAgIH0KIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZEdsb2JhbERhdGEuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZEdsb2JhbERhdGEuaAppbmRleCA3ZTU4NzllODgz
MDEyM2YyMDkwYmQzMDNlNjJhN2QxYjhkMzM2OTQ4Li45ZDc4NmQxNTAyMTU0OTljNzZhODM3MDIw
YTA1ZGU5MDExYWMzZGI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaHJl
YWRHbG9iYWxEYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkR2xvYmFs
RGF0YS5oCkBAIC0zOSwxMCArMzksMTAgQEAgdXNpbmcgV1RGOjpUaHJlYWRTcGVjaWZpYzsKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAgY2xhc3MgRXZlbnROYW1lczsKICAgICBjbGFzcyBU
aHJlYWRUaW1lcnM7CiAKICAgICBzdHJ1Y3QgQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0SW5pdGlhdG9y
czsKKyAgICBzdHJ1Y3QgRXZlbnROYW1lczsKICAgICBzdHJ1Y3QgSUNVQ29udmVydGVyV3JhcHBl
cjsKICAgICBzdHJ1Y3QgVEVDQ29udmVydGVyV3JhcHBlcjsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>