<?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>181347</bug_id>
          
          <creation_ts>2018-01-05 14:35:17 -0800</creation_ts>
          <short_desc>Clean up Marquee-related enums</short_desc>
          <delta_ts>2018-01-16 08:52:37 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>andersca</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1386277</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-01-05 14:35:17 -0800</bug_when>
    <thetext>Clean up Marquee-related enums</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1386280</commentid>
    <comment_count>1</comment_count>
      <attachid>330586</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-01-05 14:38:51 -0800</bug_when>
    <thetext>Created attachment 330586
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1386500</commentid>
    <comment_count>2</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2018-01-06 09:58:30 -0800</bug_when>
    <thetext>Fails on Windows:

c:\cygwin\home\buildbot\webkit\source\webcore\rendering\rendermarquee.cpp(95): error C2220: warning treated as error - no &apos;object&apos; file generated [C:\cygwin\home\buildbot\WebKit\WebKitBuild\Release\Source\WebCore\WebCore.vcxproj]
c:\cygwin\home\buildbot\webkit\source\webcore\rendering\rendermarquee.cpp(95): warning C4715: &apos;WebCore::reverseDirection&apos;: not all control paths return a value [C:\cygwin\home\buildbot\WebKit\WebKitBuild\Release\Source\WebCore\WebCore.vcxproj]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1389566</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-01-16 08:51:31 -0800</bug_when>
    <thetext>https://trac.webkit.org/changeset/226666/webkit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1389567</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-01-16 08:52:37 -0800</bug_when>
    <thetext>&lt;rdar://problem/36545519&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>330586</attachid>
            <date>2018-01-05 14:38:51 -0800</date>
            <delta_ts>2018-01-06 09:58:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-181347-20180105143850.patch</filename>
            <type>text/plain</type>
            <size>25276</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI2NDI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODhjYjBhYWUxNGI1ZjFm
ZjJhNDQ5ZmRkMzY4MDkyMjEyZWQ5NTE2Ny4uN2M0ZGYwNDNhNWJlYzU4ZTg1MTU1ZGMyMDc2Y2Vm
YWRhMGNjYzM4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDE4LTAxLTA1ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIENsZWFuIHVwIE1h
cnF1ZWUtcmVsYXRlZCBlbnVtcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTgxMzQ3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgTW9kZXJuaXplIEVNYXJxdWVlQmVoYXZpb3IgYW5kIEVNYXJxdWVlRGlyZWN0
aW9uIGVudW1zLiBTdG9wIHVzaW5nIHRoZSB3ZWlyZCBuZWdhdGl2ZQorICAgICAgICB2YWx1ZXMg
aW4gdGhlIE1hcnF1ZWVEaXJlY3Rpb24gYW5kIGRvIG1hbnVhbCByZXZlcnNlIGRpcmVjdGlvbiBt
YXBwaW5nLgorCisgICAgICAgIE1ha2Ugc29tZSBtZW1iZXIgZnVuY3Rpb25zIG9mIFJlbmRlck1h
cnF1ZWUgcHJpdmF0ZS4KKworICAgICAgICBTdG9wIHVzaW5nIGJpdGZpZWxkcyBpbiBSZW5kZXJN
YXJxdWVlIGJlY2F1c2UgdGhlIG1lbW9yeSBzYXZpbmcgaXMgbm90IHdvcnRoIGl0LCBhbmQgZG9p
bmcgc28KKyAgICAgICAgYWxsb3dzIHVzIHRvIHVzZSBtb2Rlcm4gaW5pdGlhbGl6YXRpb24uCisK
KyAgICAgICAgTm8gYmVoYXZpb3IgY2hhbmdlLgorCisgICAgICAgICogY3NzL0NTU1ByaW1pdGl2
ZVZhbHVlTWFwcGluZ3MuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpD
U1NQcmltaXRpdmVWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6
b3BlcmF0b3IgTWFycXVlZUJlaGF2aW9yIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1By
aW1pdGl2ZVZhbHVlOjpvcGVyYXRvciBNYXJxdWVlRGlyZWN0aW9uIGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpvcGVyYXRvciBFTWFycXVlZUJlaGF2aW9yIGNv
bnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpvcGVy
YXRvciBFTWFycXVlZURpcmVjdGlvbiBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogY3NzL1N0
eWxlUmVzb2x2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6YWRqdXN0
UmVuZGVyU3R5bGUpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyQm94OjpzaXplc0xvZ2ljYWxXaWR0aFRvRml0Q29udGVudCBjb25z
dCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckxheWVyOjpjYWxjdWxhdGVDbGlwUmVjdHMgY29uc3QpOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1hcnF1
ZWU6OlJlbmRlck1hcnF1ZWUpOgorICAgICAgICAoV2ViQ29yZTo6cmV2ZXJzZURpcmVjdGlvbik6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNYXJxdWVlOjpkaXJlY3Rpb24gY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyTWFycXVlZTo6aXNIb3Jpem9udGFsIGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlck1hcnF1ZWU6OmNvbXB1dGVQb3NpdGlvbik6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJNYXJxdWVlOjpzdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJN
YXJxdWVlOjp1cGRhdGVNYXJxdWVlUG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
TWFycXVlZTo6dXBkYXRlTWFycXVlZVN0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1h
cnF1ZWU6OnRpbWVyRmlyZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmg6
CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmg6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJTdHlsZTo6bWFycXVlZUJlaGF2aW9yIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclN0eWxlOjptYXJxdWVlRGlyZWN0aW9uIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclN0eWxlOjpzZXRNYXJxdWVlRGlyZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclN0eWxlOjpzZXRNYXJxdWVlQmVoYXZpb3IpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyU3R5bGU6OmluaXRpYWxNYXJxdWVlQmVoYXZpb3IpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyU3R5bGU6OmluaXRpYWxNYXJxdWVlRGlyZWN0aW9uKToKKyAgICAgICAgKiByZW5kZXJpbmcv
c3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUv
U3R5bGVNYXJxdWVlRGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZU1hcnF1ZWVEYXRh
OjpTdHlsZU1hcnF1ZWVEYXRhKToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVNYXJx
dWVlRGF0YS5oOgorCiAyMDE4LTAxLTA0ICBKb2huIFdpbGFuZGVyICA8d2lsYW5kZXJAYXBwbGUu
Y29tPgogCiAgICAgICAgIFN0b3JhZ2UgQWNjZXNzIEFQSTogVHVybiBmZWF0dXJlIG9uIGJ5IGRl
ZmF1bHQgaW4gU2V0dGluZ3MueWFtbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRp
dmVWYWx1ZU1hcHBpbmdzLmgKaW5kZXggODU3MWVmY2QzZjMwMDYxZGRjOTIwNGE2YWNkYWY3MmJl
ZWM2NWE1YS4uMGNjNWFiNmU2YjQ4MmQ5MWE3YTkzMWQxOTBkYjJmZjg0ODA2NmVjOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCkBAIC0yMDEx
LDEwMyArMjAxMSwxMDMgQEAgdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6Om9w
ZXJhdG9yIEVNYXJnaW5Db2xsYXBzZSgpIGNvbnN0CiAgICAgcmV0dXJuIE1DT0xMQVBTRTsKIH0K
IAotdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVl
KEVNYXJxdWVlQmVoYXZpb3IgZSkKK3RlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVl
OjpDU1NQcmltaXRpdmVWYWx1ZShNYXJxdWVlQmVoYXZpb3IgZSkKICAgICA6IENTU1ZhbHVlKFBy
aW1pdGl2ZUNsYXNzKQogewogICAgIG1fcHJpbWl0aXZlVW5pdFR5cGUgPSBDU1NfVkFMVUVfSUQ7
CiAgICAgc3dpdGNoIChlKSB7Ci0gICAgY2FzZSBNTk9ORToKKyAgICBjYXNlIE1hcnF1ZWVCZWhh
dmlvcjo6Tm9uZToKICAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVOb25lOwogICAg
ICAgICBicmVhazsKLSAgICBjYXNlIE1TQ1JPTEw6CisgICAgY2FzZSBNYXJxdWVlQmVoYXZpb3I6
OlNjcm9sbDoKICAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVTY3JvbGw7CiAgICAg
ICAgIGJyZWFrOwotICAgIGNhc2UgTVNMSURFOgorICAgIGNhc2UgTWFycXVlZUJlaGF2aW9yOjpT
bGlkZToKICAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVTbGlkZTsKICAgICAgICAg
YnJlYWs7Ci0gICAgY2FzZSBNQUxURVJOQVRFOgorICAgIGNhc2UgTWFycXVlZUJlaGF2aW9yOjpB
bHRlcm5hdGU6CiAgICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlQWx0ZXJuYXRlOwog
ICAgICAgICBicmVhazsKICAgICB9CiB9CiAKLXRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2
ZVZhbHVlOjpvcGVyYXRvciBFTWFycXVlZUJlaGF2aW9yKCkgY29uc3QKK3RlbXBsYXRlPD4gaW5s
aW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpvcGVyYXRvciBNYXJxdWVlQmVoYXZpb3IoKSBjb25zdAog
ewogICAgIEFTU0VSVChpc1ZhbHVlSUQoKSk7CiAKICAgICBzd2l0Y2ggKG1fdmFsdWUudmFsdWVJ
RCkgewogICAgIGNhc2UgQ1NTVmFsdWVOb25lOgotICAgICAgICByZXR1cm4gTU5PTkU7CisgICAg
ICAgIHJldHVybiBNYXJxdWVlQmVoYXZpb3I6Ok5vbmU7CiAgICAgY2FzZSBDU1NWYWx1ZVNjcm9s
bDoKLSAgICAgICAgcmV0dXJuIE1TQ1JPTEw7CisgICAgICAgIHJldHVybiBNYXJxdWVlQmVoYXZp
b3I6OlNjcm9sbDsKICAgICBjYXNlIENTU1ZhbHVlU2xpZGU6Ci0gICAgICAgIHJldHVybiBNU0xJ
REU7CisgICAgICAgIHJldHVybiBNYXJxdWVlQmVoYXZpb3I6OlNsaWRlOwogICAgIGNhc2UgQ1NT
VmFsdWVBbHRlcm5hdGU6Ci0gICAgICAgIHJldHVybiBNQUxURVJOQVRFOworICAgICAgICByZXR1
cm4gTWFycXVlZUJlaGF2aW9yOjpBbHRlcm5hdGU7CiAgICAgZGVmYXVsdDoKICAgICAgICAgYnJl
YWs7CiAgICAgfQogCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJuIE1OT05F
OworICAgIHJldHVybiBNYXJxdWVlQmVoYXZpb3I6Ok5vbmU7CiB9CiAKLXRlbXBsYXRlPD4gaW5s
aW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShFTWFycXVlZURpcmVjdGlv
biBlKQordGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU1ByaW1pdGl2ZVZh
bHVlKE1hcnF1ZWVEaXJlY3Rpb24gZGlyZWN0aW9uKQogICAgIDogQ1NTVmFsdWUoUHJpbWl0aXZl
Q2xhc3MpCiB7CiAgICAgbV9wcmltaXRpdmVVbml0VHlwZSA9IENTU19WQUxVRV9JRDsKLSAgICBz
d2l0Y2ggKGUpIHsKLSAgICBjYXNlIE1GT1JXQVJEOgorICAgIHN3aXRjaCAoZGlyZWN0aW9uKSB7
CisgICAgY2FzZSBNYXJxdWVlRGlyZWN0aW9uOjpGb3J3YXJkOgogICAgICAgICBtX3ZhbHVlLnZh
bHVlSUQgPSBDU1NWYWx1ZUZvcndhcmRzOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIE1CQUNL
V0FSRDoKKyAgICBjYXNlIE1hcnF1ZWVEaXJlY3Rpb246OkJhY2t3YXJkOgogICAgICAgICBtX3Zh
bHVlLnZhbHVlSUQgPSBDU1NWYWx1ZUJhY2t3YXJkczsKICAgICAgICAgYnJlYWs7Ci0gICAgY2Fz
ZSBNQVVUTzoKKyAgICBjYXNlIE1hcnF1ZWVEaXJlY3Rpb246OkF1dG86CiAgICAgICAgIG1fdmFs
dWUudmFsdWVJRCA9IENTU1ZhbHVlQXV0bzsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBNVVA6
CisgICAgY2FzZSBNYXJxdWVlRGlyZWN0aW9uOjpVcDoKICAgICAgICAgbV92YWx1ZS52YWx1ZUlE
ID0gQ1NTVmFsdWVVcDsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBNRE9XTjoKKyAgICBjYXNl
IE1hcnF1ZWVEaXJlY3Rpb246OkRvd246CiAgICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1Zh
bHVlRG93bjsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBNTEVGVDoKKyAgICBjYXNlIE1hcnF1
ZWVEaXJlY3Rpb246OkxlZnQ6CiAgICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlTGVm
dDsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBNUklHSFQ6CisgICAgY2FzZSBNYXJxdWVlRGly
ZWN0aW9uOjpSaWdodDoKICAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVSaWdodDsK
ICAgICAgICAgYnJlYWs7CiAgICAgfQogfQogCi10ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRp
dmVWYWx1ZTo6b3BlcmF0b3IgRU1hcnF1ZWVEaXJlY3Rpb24oKSBjb25zdAordGVtcGxhdGU8PiBp
bmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6Om9wZXJhdG9yIE1hcnF1ZWVEaXJlY3Rpb24oKSBjb25z
dAogewogICAgIEFTU0VSVChpc1ZhbHVlSUQoKSk7CiAKICAgICBzd2l0Y2ggKG1fdmFsdWUudmFs
dWVJRCkgewogICAgIGNhc2UgQ1NTVmFsdWVGb3J3YXJkczoKLSAgICAgICAgcmV0dXJuIE1GT1JX
QVJEOworICAgICAgICByZXR1cm4gTWFycXVlZURpcmVjdGlvbjo6Rm9yd2FyZDsKICAgICBjYXNl
IENTU1ZhbHVlQmFja3dhcmRzOgotICAgICAgICByZXR1cm4gTUJBQ0tXQVJEOworICAgICAgICBy
ZXR1cm4gTWFycXVlZURpcmVjdGlvbjo6QmFja3dhcmQ7CiAgICAgY2FzZSBDU1NWYWx1ZUF1dG86
Ci0gICAgICAgIHJldHVybiBNQVVUTzsKKyAgICAgICAgcmV0dXJuIE1hcnF1ZWVEaXJlY3Rpb246
OkF1dG87CiAgICAgY2FzZSBDU1NWYWx1ZUFoZWFkOgogICAgIGNhc2UgQ1NTVmFsdWVVcDogLy8g
V2UgZG9uJ3Qgc3VwcG9ydCB2ZXJ0aWNhbCBsYW5ndWFnZXMsIHNvIEFIRUFEIGp1c3QgbWFwcyB0
byBVUC4KLSAgICAgICAgcmV0dXJuIE1VUDsKKyAgICAgICAgcmV0dXJuIE1hcnF1ZWVEaXJlY3Rp
b246OlVwOwogICAgIGNhc2UgQ1NTVmFsdWVSZXZlcnNlOgogICAgIGNhc2UgQ1NTVmFsdWVEb3du
OiAvLyBSRVZFUlNFIGp1c3QgbWFwcyB0byBET1dOLCBzaW5jZSB3ZSBkb24ndCBkbyB2ZXJ0aWNh
bCB0ZXh0LgotICAgICAgICByZXR1cm4gTURPV047CisgICAgICAgIHJldHVybiBNYXJxdWVlRGly
ZWN0aW9uOjpEb3duOwogICAgIGNhc2UgQ1NTVmFsdWVMZWZ0OgotICAgICAgICByZXR1cm4gTUxF
RlQ7CisgICAgICAgIHJldHVybiBNYXJxdWVlRGlyZWN0aW9uOjpMZWZ0OwogICAgIGNhc2UgQ1NT
VmFsdWVSaWdodDoKLSAgICAgICAgcmV0dXJuIE1SSUdIVDsKKyAgICAgICAgcmV0dXJuIE1hcnF1
ZWVEaXJlY3Rpb246OlJpZ2h0OwogICAgIGRlZmF1bHQ6CiAgICAgICAgIGJyZWFrOwogICAgIH0K
IAogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiBNQVVUTzsKKyAgICByZXR1
cm4gTWFycXVlZURpcmVjdGlvbjo6QXV0bzsKIH0KIAogdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJp
bWl0aXZlVmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVlKEVOQlNQTW9kZSBlKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3Nz
L1N0eWxlUmVzb2x2ZXIuY3BwCmluZGV4IDg5NDdjMDAxZjg1OTc0ODc0ZmUzMDFhZDI5MGM4NTI2
NjQwNmRkZTguLmRlZmM3MzhhYmRmMWFiNDEzZjE5NTczZmYzM2U4Y2NkMTUwNDRhYzEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKQEAgLTk1Nyw3ICs5NTcsNyBAQCB2b2lkIFN0
eWxlUmVzb2x2ZXI6OmFkanVzdFJlbmRlclN0eWxlKFJlbmRlclN0eWxlJiBzdHlsZSwgY29uc3Qg
UmVuZGVyU3R5bGUmIHBhcgogICAgICAgICAgICAgc3R5bGUuc2V0T3ZlcmZsb3dYKE9ISURERU4p
OwogICAgICAgICAgICAgc3R5bGUuc2V0T3ZlcmZsb3dZKE9ISURERU4pOwogCi0gICAgICAgICAg
ICBib29sIGlzVmVydGljYWwgPSBzdHlsZS5tYXJxdWVlRGlyZWN0aW9uKCkgPT0gTVVQIHx8IHN0
eWxlLm1hcnF1ZWVEaXJlY3Rpb24oKSA9PSBNRE9XTjsKKyAgICAgICAgICAgIGJvb2wgaXNWZXJ0
aWNhbCA9IHN0eWxlLm1hcnF1ZWVEaXJlY3Rpb24oKSA9PSBNYXJxdWVlRGlyZWN0aW9uOjpVcCB8
fCBzdHlsZS5tYXJxdWVlRGlyZWN0aW9uKCkgPT0gTWFycXVlZURpcmVjdGlvbjo6RG93bjsKICAg
ICAgICAgICAgIC8vIE1ha2UgaG9yaXpvbnRhbCBtYXJxdWVlcyBub3Qgd3JhcC4KICAgICAgICAg
ICAgIGlmICghaXNWZXJ0aWNhbCkgewogICAgICAgICAgICAgICAgIHN0eWxlLnNldFdoaXRlU3Bh
Y2UoTk9XUkFQKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
b3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKaW5kZXggOTZi
MDczZWQ2MTJhNTMzZTg2ZDlmZmNiOGRlM2ZkOTcxODA4MWQ3ZC4uYjg2MTU3MDExMjJjYjU5ZmJi
MDUzNWRlM2M1YWIwNTEzMGUzMjNjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJv
eC5jcHAKQEAgLTI1MDgsMTMgKzI1MDgsMTMgQEAgYm9vbCBSZW5kZXJCb3g6OnNpemVzTG9naWNh
bFdpZHRoVG9GaXRDb250ZW50KFNpemVUeXBlIHdpZHRoVHlwZSkgY29uc3QKICAgICAgICAgcmV0
dXJuIHRydWU7CiAKICAgICAvLyBDaGlsZHJlbiBvZiBhIGhvcml6b250YWwgbWFycXVlZSBkbyBu
b3QgZmlsbCB0aGUgY29udGFpbmVyIGJ5IGRlZmF1bHQuCi0gICAgLy8gRklYTUU6IE5lZWQgdG8g
ZGVhbCB3aXRoIE1BVVRPIHZhbHVlIHByb3Blcmx5LiAgSXQgY291bGQgYmUgdmVydGljYWwuCisg
ICAgLy8gRklYTUU6IE5lZWQgdG8gZGVhbCB3aXRoIE1hcnF1ZWVEaXJlY3Rpb246OkF1dG8gdmFs
dWUgcHJvcGVybHkuIEl0IGNvdWxkIGJlIHZlcnRpY2FsLgogICAgIC8vIEZJWE1FOiBUaGluayBh
Ym91dCBibG9jay1mbG93IGhlcmUuICBOZWVkIHRvIGZpbmQgb3V0IGhvdyBtYXJxdWVlIGRpcmVj
dGlvbiByZWxhdGVzIHRvCiAgICAgLy8gYmxvY2stZmxvdyAoYXMgd2VsbCBhcyBob3cgbWFycXVl
ZSBvdmVyZmxvdyBzaG91bGQgcmVsYXRlIHRvIGJsb2NrIGZsb3cpLgogICAgIC8vIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NjQ3MgogICAgIGlmIChwYXJlbnQoKS0+
aXNIVE1MTWFycXVlZSgpKSB7Ci0gICAgICAgIEVNYXJxdWVlRGlyZWN0aW9uIGRpciA9IHBhcmVu
dCgpLT5zdHlsZSgpLm1hcnF1ZWVEaXJlY3Rpb24oKTsKLSAgICAgICAgaWYgKGRpciA9PSBNQVVU
TyB8fCBkaXIgPT0gTUZPUldBUkQgfHwgZGlyID09IE1CQUNLV0FSRCB8fCBkaXIgPT0gTUxFRlQg
fHwgZGlyID09IE1SSUdIVCkKKyAgICAgICAgTWFycXVlZURpcmVjdGlvbiBkaXIgPSBwYXJlbnQo
KS0+c3R5bGUoKS5tYXJxdWVlRGlyZWN0aW9uKCk7CisgICAgICAgIGlmIChkaXIgPT0gTWFycXVl
ZURpcmVjdGlvbjo6QXV0byB8fCBkaXIgPT0gTWFycXVlZURpcmVjdGlvbjo6Rm9yd2FyZCB8fCBk
aXIgPT0gTWFycXVlZURpcmVjdGlvbjo6QmFja3dhcmQgfHwgZGlyID09IE1hcnF1ZWVEaXJlY3Rp
b246OkxlZnQgfHwgZGlyID09IE1hcnF1ZWVEaXJlY3Rpb246OlJpZ2h0KQogICAgICAgICAgICAg
cmV0dXJuIHRydWU7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
LmNwcAppbmRleCAyNWUxM2I0YzQwZDVjYWViOTVkMzZmODM4MTllNjhiNTE3YjA3OGQzLi5kYjI3
OGQxZjI0ZWMwMjg0ZWJkM2E2MDI4ZTQzMzMyMzk0N2JkY2Q4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTY2NjMsNyArNjY2Myw3IEBAIHZvaWQgUmVuZGVy
TGF5ZXI6OnN0eWxlQ2hhbmdlZChTdHlsZURpZmZlcmVuY2UgZGlmZiwgY29uc3QgUmVuZGVyU3R5
bGUqIG9sZFN0eWxlCiAgICAgICAgIGRpcnR5U3RhY2tpbmdDb250YWluZXJaT3JkZXJMaXN0cygp
OwogICAgIH0KIAotICAgIGlmIChyZW5kZXJlcigpLmlzSFRNTE1hcnF1ZWUoKSAmJiByZW5kZXJl
cigpLnN0eWxlKCkubWFycXVlZUJlaGF2aW9yKCkgIT0gTU5PTkUgJiYgcmVuZGVyZXIoKS5pc0Jv
eCgpKSB7CisgICAgaWYgKHJlbmRlcmVyKCkuaXNIVE1MTWFycXVlZSgpICYmIHJlbmRlcmVyKCku
c3R5bGUoKS5tYXJxdWVlQmVoYXZpb3IoKSAhPSBNYXJxdWVlQmVoYXZpb3I6Ok5vbmUgJiYgcmVu
ZGVyZXIoKS5pc0JveCgpKSB7CiAgICAgICAgIGlmICghbV9tYXJxdWVlKQogICAgICAgICAgICAg
bV9tYXJxdWVlID0gc3RkOjptYWtlX3VuaXF1ZTxSZW5kZXJNYXJxdWVlPih0aGlzKTsKICAgICAg
ICAgbV9tYXJxdWVlLT51cGRhdGVNYXJxdWVlU3R5bGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJNYXJxdWVlLmNwcAppbmRleCAyZjU5YTg4ZmE2N2VhODA0MjFmM2ZhZTFlNGNi
NDE2MzVlZjI1MGU2Li41NDAxNWY1Yjc5ZGFlYjY1MGJlMGVlOWIwZTQ0Y2Y0NGZkNzAyMWJiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuY3BwCkBAIC01NiwxNSAr
NTYsMTEgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVz
OwogCi1SZW5kZXJNYXJxdWVlOjpSZW5kZXJNYXJxdWVlKFJlbmRlckxheWVyKiBsKQotICAgIDog
bV9sYXllcihsKQorUmVuZGVyTWFycXVlZTo6UmVuZGVyTWFycXVlZShSZW5kZXJMYXllciogbGF5
ZXIpCisgICAgOiBtX2xheWVyKGxheWVyKQogICAgICwgbV90aW1lcigqdGhpcywgJlJlbmRlck1h
cnF1ZWU6OnRpbWVyRmlyZWQpCi0gICAgLCBtX3Jlc2V0KGZhbHNlKQotICAgICwgbV9zdXNwZW5k
ZWQoZmFsc2UpCi0gICAgLCBtX3N0b3BwZWQoZmFsc2UpCi0gICAgLCBtX2RpcmVjdGlvbihNQVVU
TykKIHsKLSAgICBsLT5zZXRDb25zdHJhaW5zU2Nyb2xsaW5nVG9Db250ZW50RWRnZShmYWxzZSk7
CisgICAgbGF5ZXItPnNldENvbnN0cmFpbnNTY3JvbGxpbmdUb0NvbnRlbnRFZGdlKGZhbHNlKTsK
IH0KIAogUmVuZGVyTWFycXVlZTo6flJlbmRlck1hcnF1ZWUoKSA9IGRlZmF1bHQ7CkBAIC03OCwz
NCArNzQsNTQgQEAgaW50IFJlbmRlck1hcnF1ZWU6Om1hcnF1ZWVTcGVlZCgpIGNvbnN0CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIAotRU1hcnF1ZWVEaXJlY3Rpb24gUmVuZGVyTWFycXVlZTo6ZGly
ZWN0aW9uKCkgY29uc3QKK3N0YXRpYyBNYXJxdWVlRGlyZWN0aW9uIHJldmVyc2VEaXJlY3Rpb24o
TWFycXVlZURpcmVjdGlvbiBkaXJlY3Rpb24pCit7CisgICAgc3dpdGNoIChkaXJlY3Rpb24pIHsK
KyAgICBjYXNlIE1hcnF1ZWVEaXJlY3Rpb246OkF1dG86CisgICAgICAgIHJldHVybiBNYXJxdWVl
RGlyZWN0aW9uOjpBdXRvOworICAgIGNhc2UgTWFycXVlZURpcmVjdGlvbjo6TGVmdDoKKyAgICAg
ICAgcmV0dXJuIE1hcnF1ZWVEaXJlY3Rpb246OlJpZ2h0OworICAgIGNhc2UgTWFycXVlZURpcmVj
dGlvbjo6UmlnaHQ6CisgICAgICAgIHJldHVybiBNYXJxdWVlRGlyZWN0aW9uOjpMZWZ0OworICAg
IGNhc2UgTWFycXVlZURpcmVjdGlvbjo6VXA6CisgICAgICAgIHJldHVybiBNYXJxdWVlRGlyZWN0
aW9uOjpEb3duOworICAgIGNhc2UgTWFycXVlZURpcmVjdGlvbjo6RG93bjoKKyAgICAgICAgcmV0
dXJuIE1hcnF1ZWVEaXJlY3Rpb246OlVwOworICAgIGNhc2UgTWFycXVlZURpcmVjdGlvbjo6QmFj
a3dhcmQ6CisgICAgICAgIHJldHVybiBNYXJxdWVlRGlyZWN0aW9uOjpGb3J3YXJkOworICAgIGNh
c2UgTWFycXVlZURpcmVjdGlvbjo6Rm9yd2FyZDoKKyAgICAgICAgcmV0dXJuIE1hcnF1ZWVEaXJl
Y3Rpb246OkJhY2t3YXJkOworICAgIH0KK30KKworTWFycXVlZURpcmVjdGlvbiBSZW5kZXJNYXJx
dWVlOjpkaXJlY3Rpb24oKSBjb25zdAogewogICAgIC8vIEZJWE1FOiBTdXBwb3J0IHRoZSBDU1Mz
ICJhdXRvIiB2YWx1ZSBmb3IgZGV0ZXJtaW5pbmcgdGhlIGRpcmVjdGlvbiBvZiB0aGUgbWFycXVl
ZS4KLSAgICAvLyBGb3Igbm93IGp1c3QgbWFwIE1BVVRPIHRvIE1CQUNLV0FSRAotICAgIEVNYXJx
dWVlRGlyZWN0aW9uIHJlc3VsdCA9IG1fbGF5ZXItPnJlbmRlcmVyKCkuc3R5bGUoKS5tYXJxdWVl
RGlyZWN0aW9uKCk7CisgICAgLy8gRm9yIG5vdyBqdXN0IG1hcCBNYXJxdWVlRGlyZWN0aW9uOjpB
dXRvIHRvIE1hcnF1ZWVEaXJlY3Rpb246OkJhY2t3YXJkCisgICAgTWFycXVlZURpcmVjdGlvbiBy
ZXN1bHQgPSBtX2xheWVyLT5yZW5kZXJlcigpLnN0eWxlKCkubWFycXVlZURpcmVjdGlvbigpOwog
ICAgIFRleHREaXJlY3Rpb24gZGlyID0gbV9sYXllci0+cmVuZGVyZXIoKS5zdHlsZSgpLmRpcmVj
dGlvbigpOwotICAgIGlmIChyZXN1bHQgPT0gTUFVVE8pCi0gICAgICAgIHJlc3VsdCA9IE1CQUNL
V0FSRDsKLSAgICBpZiAocmVzdWx0ID09IE1GT1JXQVJEKQotICAgICAgICByZXN1bHQgPSAoZGly
ID09IExUUikgPyBNUklHSFQgOiBNTEVGVDsKLSAgICBpZiAocmVzdWx0ID09IE1CQUNLV0FSRCkK
LSAgICAgICAgcmVzdWx0ID0gKGRpciA9PSBMVFIpID8gTUxFRlQgOiBNUklHSFQ7CisgICAgaWYg
KHJlc3VsdCA9PSBNYXJxdWVlRGlyZWN0aW9uOjpBdXRvKQorICAgICAgICByZXN1bHQgPSBNYXJx
dWVlRGlyZWN0aW9uOjpCYWNrd2FyZDsKKyAgICBpZiAocmVzdWx0ID09IE1hcnF1ZWVEaXJlY3Rp
b246OkZvcndhcmQpCisgICAgICAgIHJlc3VsdCA9IChkaXIgPT0gTFRSKSA/IE1hcnF1ZWVEaXJl
Y3Rpb246OlJpZ2h0IDogTWFycXVlZURpcmVjdGlvbjo6TGVmdDsKKyAgICBpZiAocmVzdWx0ID09
IE1hcnF1ZWVEaXJlY3Rpb246OkJhY2t3YXJkKQorICAgICAgICByZXN1bHQgPSAoZGlyID09IExU
UikgPyBNYXJxdWVlRGlyZWN0aW9uOjpMZWZ0IDogTWFycXVlZURpcmVjdGlvbjo6UmlnaHQ7CiAg
ICAgCiAgICAgLy8gTm93IHdlIGhhdmUgdGhlIHJlYWwgZGlyZWN0aW9uLiAgTmV4dCB3ZSBjaGVj
ayB0byBzZWUgaWYgdGhlIGluY3JlbWVudCBpcyBuZWdhdGl2ZS4KICAgICAvLyBJZiBzbywgdGhl
biB3ZSByZXZlcnNlIHRoZSBkaXJlY3Rpb24uCiAgICAgTGVuZ3RoIGluY3JlbWVudCA9IG1fbGF5
ZXItPnJlbmRlcmVyKCkuc3R5bGUoKS5tYXJxdWVlSW5jcmVtZW50KCk7CiAgICAgaWYgKGluY3Jl
bWVudC5pc05lZ2F0aXZlKCkpCi0gICAgICAgIHJlc3VsdCA9IHN0YXRpY19jYXN0PEVNYXJxdWVl
RGlyZWN0aW9uPigtcmVzdWx0KTsKKyAgICAgICAgcmVzdWx0ID0gcmV2ZXJzZURpcmVjdGlvbihy
ZXN1bHQpOwogICAgIAogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKIGJvb2wgUmVuZGVyTWFycXVl
ZTo6aXNIb3Jpem9udGFsKCkgY29uc3QKIHsKLSAgICByZXR1cm4gZGlyZWN0aW9uKCkgPT0gTUxF
RlQgfHwgZGlyZWN0aW9uKCkgPT0gTVJJR0hUOworICAgIHJldHVybiBkaXJlY3Rpb24oKSA9PSBN
YXJxdWVlRGlyZWN0aW9uOjpMZWZ0IHx8IGRpcmVjdGlvbigpID09IE1hcnF1ZWVEaXJlY3Rpb246
OlJpZ2h0OwogfQogCi1pbnQgUmVuZGVyTWFycXVlZTo6Y29tcHV0ZVBvc2l0aW9uKEVNYXJxdWVl
RGlyZWN0aW9uIGRpciwgYm9vbCBzdG9wQXRDb250ZW50RWRnZSkKK2ludCBSZW5kZXJNYXJxdWVl
Ojpjb21wdXRlUG9zaXRpb24oTWFycXVlZURpcmVjdGlvbiBkaXIsIGJvb2wgc3RvcEF0Q29udGVu
dEVkZ2UpCiB7CiAgICAgUmVuZGVyQm94KiBib3ggPSBtX2xheWVyLT5yZW5kZXJCb3goKTsKICAg
ICBBU1NFUlQoYm94KTsKQEAgLTEyMCwzNSArMTM2LDMzIEBAIGludCBSZW5kZXJNYXJxdWVlOjpj
b21wdXRlUG9zaXRpb24oRU1hcnF1ZWVEaXJlY3Rpb24gZGlyLCBib29sIHN0b3BBdENvbnRlbnRF
ZGdlCiAgICAgICAgICAgICBjb250ZW50V2lkdGggPSBib3gtPndpZHRoKCkgLSBjb250ZW50V2lk
dGg7CiAgICAgICAgICAgICBjb250ZW50V2lkdGggKz0gKGJveC0+cGFkZGluZ0xlZnQoKSAtIGJv
eC0+Ym9yZGVyUmlnaHQoKSk7CiAgICAgICAgIH0KLSAgICAgICAgaWYgKGRpciA9PSBNUklHSFQp
IHsKKyAgICAgICAgaWYgKGRpciA9PSBNYXJxdWVlRGlyZWN0aW9uOjpSaWdodCkgewogICAgICAg
ICAgICAgaWYgKHN0b3BBdENvbnRlbnRFZGdlKQogICAgICAgICAgICAgICAgIHJldHVybiBzdGQ6
Om1heDxMYXlvdXRVbml0PigwLCBsdHIgPyAoY29udGVudFdpZHRoIC0gY2xpZW50V2lkdGgpIDog
KGNsaWVudFdpZHRoIC0gY29udGVudFdpZHRoKSk7Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAg
ICAgICAgICAgcmV0dXJuIGx0ciA/IGNvbnRlbnRXaWR0aCA6IGNsaWVudFdpZHRoOwotICAgICAg
ICB9Ci0gICAgICAgIGVsc2UgewotICAgICAgICAgICAgaWYgKHN0b3BBdENvbnRlbnRFZGdlKQot
ICAgICAgICAgICAgICAgIHJldHVybiBzdGQ6Om1pbjxMYXlvdXRVbml0PigwLCBsdHIgPyAoY29u
dGVudFdpZHRoIC0gY2xpZW50V2lkdGgpIDogKGNsaWVudFdpZHRoIC0gY29udGVudFdpZHRoKSk7
Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgcmV0dXJuIGx0ciA/IC1jbGllbnRX
aWR0aCA6IC1jb250ZW50V2lkdGg7CisKKyAgICAgICAgICAgIHJldHVybiBsdHIgPyBjb250ZW50
V2lkdGggOiBjbGllbnRXaWR0aDsKICAgICAgICAgfQorCisgICAgICAgIGlmIChzdG9wQXRDb250
ZW50RWRnZSkKKyAgICAgICAgICAgIHJldHVybiBzdGQ6Om1pbjxMYXlvdXRVbml0PigwLCBsdHIg
PyAoY29udGVudFdpZHRoIC0gY2xpZW50V2lkdGgpIDogKGNsaWVudFdpZHRoIC0gY29udGVudFdp
ZHRoKSk7CisKKyAgICAgICAgcmV0dXJuIGx0ciA/IC1jbGllbnRXaWR0aCA6IC1jb250ZW50V2lk
dGg7CiAgICAgfQotICAgIGVsc2UgewotICAgICAgICBpbnQgY29udGVudEhlaWdodCA9IGJveC0+
bGF5b3V0T3ZlcmZsb3dSZWN0KCkubWF4WSgpIC0gYm94LT5ib3JkZXJUb3AoKSArIGJveC0+cGFk
ZGluZ0JvdHRvbSgpOwotICAgICAgICBpbnQgY2xpZW50SGVpZ2h0ID0gcm91bmRUb0ludChib3gt
PmNsaWVudEhlaWdodCgpKTsKLSAgICAgICAgaWYgKGRpciA9PSBNVVApIHsKLSAgICAgICAgICAg
IGlmIChzdG9wQXRDb250ZW50RWRnZSkKLSAgICAgICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bWlu
KGNvbnRlbnRIZWlnaHQgLSBjbGllbnRIZWlnaHQsIDApOwotICAgICAgICAgICAgZWxzZQotICAg
ICAgICAgICAgICAgIHJldHVybiAtY2xpZW50SGVpZ2h0OwotICAgICAgICB9Ci0gICAgICAgIGVs
c2UgewotICAgICAgICAgICAgaWYgKHN0b3BBdENvbnRlbnRFZGdlKQotICAgICAgICAgICAgICAg
IHJldHVybiBzdGQ6Om1heChjb250ZW50SGVpZ2h0IC0gY2xpZW50SGVpZ2h0LCAwKTsKLSAgICAg
ICAgICAgIGVsc2UgCi0gICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRlbnRIZWlnaHQ7Ci0gICAg
ICAgIH0KLSAgICB9ICAgIAorCisgICAgLy8gVmVydGljYWwKKyAgICBpbnQgY29udGVudEhlaWdo
dCA9IGJveC0+bGF5b3V0T3ZlcmZsb3dSZWN0KCkubWF4WSgpIC0gYm94LT5ib3JkZXJUb3AoKSAr
IGJveC0+cGFkZGluZ0JvdHRvbSgpOworICAgIGludCBjbGllbnRIZWlnaHQgPSByb3VuZFRvSW50
KGJveC0+Y2xpZW50SGVpZ2h0KCkpOworICAgIGlmIChkaXIgPT0gTWFycXVlZURpcmVjdGlvbjo6
VXApIHsKKyAgICAgICAgaWYgKHN0b3BBdENvbnRlbnRFZGdlKQorICAgICAgICAgICAgcmV0dXJu
IHN0ZDo6bWluKGNvbnRlbnRIZWlnaHQgLSBjbGllbnRIZWlnaHQsIDApOworCisgICAgICAgIHJl
dHVybiAtY2xpZW50SGVpZ2h0OworICAgIH0KKworICAgIGlmIChzdG9wQXRDb250ZW50RWRnZSkK
KyAgICAgICAgcmV0dXJuIHN0ZDo6bWF4KGNvbnRlbnRIZWlnaHQgLSBjbGllbnRIZWlnaHQsIDAp
OworCisgICAgcmV0dXJuIGNvbnRlbnRIZWlnaHQ7CiB9CiAKIHZvaWQgUmVuZGVyTWFycXVlZTo6
c3RhcnQoKQpAQCAtMTYxLDggKzE3NSw3IEBAIHZvaWQgUmVuZGVyTWFycXVlZTo6c3RhcnQoKQog
ICAgICAgICAgICAgbV9sYXllci0+c2Nyb2xsVG9PZmZzZXQoU2Nyb2xsT2Zmc2V0KG1fc3RhcnQs
IDApLCBTY3JvbGxDbGFtcGluZzo6VW5jbGFtcGVkKTsKICAgICAgICAgZWxzZQogICAgICAgICAg
ICAgbV9sYXllci0+c2Nyb2xsVG9PZmZzZXQoU2Nyb2xsT2Zmc2V0KDAsIG1fc3RhcnQpLCBTY3Jv
bGxDbGFtcGluZzo6VW5jbGFtcGVkKTsKLSAgICB9Ci0gICAgZWxzZSB7CisgICAgfSBlbHNlIHsK
ICAgICAgICAgbV9zdXNwZW5kZWQgPSBmYWxzZTsKICAgICAgICAgbV9zdG9wcGVkID0gZmFsc2U7
CiAgICAgfQpAQCAtMTg2LDkgKzE5OSw5IEBAIHZvaWQgUmVuZGVyTWFycXVlZTo6dXBkYXRlTWFy
cXVlZVBvc2l0aW9uKCkKIHsKICAgICBib29sIGFjdGl2YXRlID0gKG1fdG90YWxMb29wcyA8PSAw
IHx8IG1fY3VycmVudExvb3AgPCBtX3RvdGFsTG9vcHMpOwogICAgIGlmIChhY3RpdmF0ZSkgewot
ICAgICAgICBFTWFycXVlZUJlaGF2aW9yIGJlaGF2aW9yID0gbV9sYXllci0+cmVuZGVyZXIoKS5z
dHlsZSgpLm1hcnF1ZWVCZWhhdmlvcigpOwotICAgICAgICBtX3N0YXJ0ID0gY29tcHV0ZVBvc2l0
aW9uKGRpcmVjdGlvbigpLCBiZWhhdmlvciA9PSBNQUxURVJOQVRFKTsKLSAgICAgICAgbV9lbmQg
PSBjb21wdXRlUG9zaXRpb24ocmV2ZXJzZURpcmVjdGlvbigpLCBiZWhhdmlvciA9PSBNQUxURVJO
QVRFIHx8IGJlaGF2aW9yID09IE1TTElERSk7CisgICAgICAgIE1hcnF1ZWVCZWhhdmlvciBiZWhh
dmlvciA9IG1fbGF5ZXItPnJlbmRlcmVyKCkuc3R5bGUoKS5tYXJxdWVlQmVoYXZpb3IoKTsKKyAg
ICAgICAgbV9zdGFydCA9IGNvbXB1dGVQb3NpdGlvbihkaXJlY3Rpb24oKSwgYmVoYXZpb3IgPT0g
TWFycXVlZUJlaGF2aW9yOjpBbHRlcm5hdGUpOworICAgICAgICBtX2VuZCA9IGNvbXB1dGVQb3Np
dGlvbihyZXZlcnNlRGlyZWN0aW9uKGRpcmVjdGlvbigpKSwgYmVoYXZpb3IgPT0gTWFycXVlZUJl
aGF2aW9yOjpBbHRlcm5hdGUgfHwgYmVoYXZpb3IgPT0gTWFycXVlZUJlaGF2aW9yOjpTbGlkZSk7
CiAgICAgICAgIGlmICghbV9zdG9wcGVkKQogICAgICAgICAgICAgc3RhcnQoKTsKICAgICB9CkBA
IC0yMDcsNyArMjIwLDcgQEAgdm9pZCBSZW5kZXJNYXJxdWVlOjp1cGRhdGVNYXJxdWVlU3R5bGUo
KQogICAgIGlmIChtX2xheWVyLT5yZW5kZXJlcigpLmlzSFRNTE1hcnF1ZWUoKSkgewogICAgICAg
ICAvLyBIYWNrIGZvciBXaW5JRS4gIEluIFdpbklFLCBhIHZhbHVlIG9mIDAgb3IgbG93ZXIgZm9y
IHRoZSBsb29wIGNvdW50IGZvciBTTElERSBtZWFucyB0byBvbmx5IGRvCiAgICAgICAgIC8vIG9u
ZSBsb29wLgotICAgICAgICBpZiAobV90b3RhbExvb3BzIDw9IDAgJiYgc3R5bGUubWFycXVlZUJl
aGF2aW9yKCkgPT0gTVNMSURFKQorICAgICAgICBpZiAobV90b3RhbExvb3BzIDw9IDAgJiYgc3R5
bGUubWFycXVlZUJlaGF2aW9yKCkgPT0gTWFycXVlZUJlaGF2aW9yOjpTbGlkZSkKICAgICAgICAg
ICAgIG1fdG90YWxMb29wcyA9IDE7CiAgICAgfQogICAgIApAQCAtMjQ3LDggKzI2MCw4IEBAIHZv
aWQgUmVuZGVyTWFycXVlZTo6dGltZXJGaXJlZCgpCiAgICAgaWYgKHJhbmdlID09IDApCiAgICAg
ICAgIG5ld1BvcyA9IG1fZW5kOwogICAgIGVsc2UgeyAgCi0gICAgICAgIGJvb2wgYWRkSW5jcmVt
ZW50ID0gZGlyZWN0aW9uKCkgPT0gTVVQIHx8IGRpcmVjdGlvbigpID09IE1MRUZUOwotICAgICAg
ICBib29sIGlzUmV2ZXJzZWQgPSBzdHlsZS5tYXJxdWVlQmVoYXZpb3IoKSA9PSBNQUxURVJOQVRF
ICYmIG1fY3VycmVudExvb3AgJSAyOworICAgICAgICBib29sIGFkZEluY3JlbWVudCA9IGRpcmVj
dGlvbigpID09IE1hcnF1ZWVEaXJlY3Rpb246OlVwIHx8IGRpcmVjdGlvbigpID09IE1hcnF1ZWVE
aXJlY3Rpb246OkxlZnQ7CisgICAgICAgIGJvb2wgaXNSZXZlcnNlZCA9IHN0eWxlLm1hcnF1ZWVC
ZWhhdmlvcigpID09IE1hcnF1ZWVCZWhhdmlvcjo6QWx0ZXJuYXRlICYmIG1fY3VycmVudExvb3Ag
JSAyOwogICAgICAgICBpZiAoaXNSZXZlcnNlZCkgewogICAgICAgICAgICAgLy8gV2UncmUgZ29p
bmcgaW4gdGhlIHJldmVyc2UgZGlyZWN0aW9uLgogICAgICAgICAgICAgZW5kUG9pbnQgPSBtX3N0
YXJ0OwpAQCAtMjcwLDcgKzI4Myw3IEBAIHZvaWQgUmVuZGVyTWFycXVlZTo6dGltZXJGaXJlZCgp
CiAgICAgICAgIG1fY3VycmVudExvb3ArKzsKICAgICAgICAgaWYgKG1fdG90YWxMb29wcyA+IDAg
JiYgbV9jdXJyZW50TG9vcCA+PSBtX3RvdGFsTG9vcHMpCiAgICAgICAgICAgICBtX3RpbWVyLnN0
b3AoKTsKLSAgICAgICAgZWxzZSBpZiAoc3R5bGUubWFycXVlZUJlaGF2aW9yKCkgIT0gTUFMVEVS
TkFURSkKKyAgICAgICAgZWxzZSBpZiAoc3R5bGUubWFycXVlZUJlaGF2aW9yKCkgIT0gTWFycXVl
ZUJlaGF2aW9yOjpBbHRlcm5hdGUpCiAgICAgICAgICAgICBtX3Jlc2V0ID0gdHJ1ZTsKICAgICB9
CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVl
ZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuaAppbmRleCBiY2Zk
ZTE0YzZlYWRkNTg3MTE4MzE0ZWQ5OTE2YzNlYWE2NDJlZGQzLi4xYzc4ODQ5NWUwZTg4NTc1ZTgw
YmY5MzA4YTJmNDk0ZmI0YTYyOGQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTWFycXVlZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJN
YXJxdWVlLmgKQEAgLTU4LDE4ICs1OCw4IEBAIHB1YmxpYzoKICAgICBleHBsaWNpdCBSZW5kZXJN
YXJxdWVlKFJlbmRlckxheWVyKik7CiAgICAgflJlbmRlck1hcnF1ZWUoKTsKIAotICAgIGludCBz
cGVlZCgpIGNvbnN0IHsgcmV0dXJuIG1fc3BlZWQ7IH0KLSAgICBpbnQgbWFycXVlZVNwZWVkKCkg
Y29uc3Q7Ci0KLSAgICBFTWFycXVlZURpcmVjdGlvbiByZXZlcnNlRGlyZWN0aW9uKCkgY29uc3Qg
eyByZXR1cm4gc3RhdGljX2Nhc3Q8RU1hcnF1ZWVEaXJlY3Rpb24+KC1kaXJlY3Rpb24oKSk7IH0K
LSAgICBFTWFycXVlZURpcmVjdGlvbiBkaXJlY3Rpb24oKSBjb25zdDsKLQogICAgIGJvb2wgaXNI
b3Jpem9udGFsKCkgY29uc3Q7CiAKLSAgICBpbnQgY29tcHV0ZVBvc2l0aW9uKEVNYXJxdWVlRGly
ZWN0aW9uLCBib29sIHN0b3BBdENsaWVudEVkZ2UpOwotCi0gICAgdm9pZCBzZXRFbmQoaW50IGVu
ZCkgeyBtX2VuZCA9IGVuZDsgfQotICAgIAogICAgIHZvaWQgc3RhcnQoKTsKICAgICB2b2lkIHN1
c3BlbmQoKTsKICAgICB2b2lkIHN0b3AoKTsKQEAgLTc4LDYgKzY4LDE2IEBAIHB1YmxpYzoKICAg
ICB2b2lkIHVwZGF0ZU1hcnF1ZWVQb3NpdGlvbigpOwogCiBwcml2YXRlOgorCisgICAgaW50IHNw
ZWVkKCkgY29uc3QgeyByZXR1cm4gbV9zcGVlZDsgfQorICAgIGludCBtYXJxdWVlU3BlZWQoKSBj
b25zdDsKKworICAgIE1hcnF1ZWVEaXJlY3Rpb24gZGlyZWN0aW9uKCkgY29uc3Q7CisKKyAgICBp
bnQgY29tcHV0ZVBvc2l0aW9uKE1hcnF1ZWVEaXJlY3Rpb24sIGJvb2wgc3RvcEF0Q2xpZW50RWRn
ZSk7CisKKyAgICB2b2lkIHNldEVuZChpbnQgZW5kKSB7IG1fZW5kID0gZW5kOyB9CisKICAgICB2
b2lkIHRpbWVyRmlyZWQoKTsKIAogICAgIFJlbmRlckxheWVyKiBtX2xheWVyOwpAQCAtODgsMTAg
Kzg4LDEwIEBAIHByaXZhdGU6CiAgICAgaW50IG1fZW5kIHsgMCB9OwogICAgIGludCBtX3NwZWVk
IHsgMCB9OwogICAgIExlbmd0aCBtX2hlaWdodDsKLSAgICBib29sIG1fcmVzZXQ6IDE7Ci0gICAg
Ym9vbCBtX3N1c3BlbmRlZCA6IDE7Ci0gICAgYm9vbCBtX3N0b3BwZWQgOiAxOwotICAgIEVNYXJx
dWVlRGlyZWN0aW9uIG1fZGlyZWN0aW9uIDogNDsgLy8gTm90IHVuc2lnbmVkIGJlY2F1c2UgRU1h
cnF1ZWVEaXJlY3Rpb24gaGFzIG5lZ2F0aXZlIHZhbHVlcworICAgIE1hcnF1ZWVEaXJlY3Rpb24g
bV9kaXJlY3Rpb24geyBNYXJxdWVlRGlyZWN0aW9uOjpBdXRvIH07CisgICAgYm9vbCBtX3Jlc2V0
IHsgZmFsc2UgfTsKKyAgICBib29sIG1fc3VzcGVuZGVkIHsgZmFsc2UgfTsKKyAgICBib29sIG1f
c3RvcHBlZCB7IGZhbHNlIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCmluZGV4IDA1ZmY0NjkxZjZl
Y2M3ZDQ0M2MwOGVmMWE0NjZkMzZmMDRlYzM0N2EuLjM0Mjc2MzcxZWI2YTZkNjQzYWQ5NDg4NzE4
NWFjNjQ0NjNmNjQ5NzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9SZW5kZXJTdHlsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5k
ZXJTdHlsZS5oCkBAIC01NzUsOCArNTc1LDggQEAgcHVibGljOgogICAgIGNvbnN0IExlbmd0aCYg
bWFycXVlZUluY3JlbWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEt
Pm1hcnF1ZWUtPmluY3JlbWVudDsgfQogICAgIGludCBtYXJxdWVlU3BlZWQoKSBjb25zdCB7IHJl
dHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5tYXJxdWVlLT5zcGVlZDsgfQogICAgIGludCBt
YXJxdWVlTG9vcENvdW50KCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+
bWFycXVlZS0+bG9vcHM7IH0KLSAgICBFTWFycXVlZUJlaGF2aW9yIG1hcnF1ZWVCZWhhdmlvcigp
IGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEVNYXJxdWVlQmVoYXZpb3I+KG1fcmFyZU5vbklu
aGVyaXRlZERhdGEtPm1hcnF1ZWUtPmJlaGF2aW9yKTsgfQotICAgIEVNYXJxdWVlRGlyZWN0aW9u
IG1hcnF1ZWVEaXJlY3Rpb24oKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxFTWFycXVlZURp
cmVjdGlvbj4obV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+bWFycXVlZS0+ZGlyZWN0aW9uKTsgfQor
ICAgIE1hcnF1ZWVCZWhhdmlvciBtYXJxdWVlQmVoYXZpb3IoKSBjb25zdCB7IHJldHVybiBzdGF0
aWNfY2FzdDxNYXJxdWVlQmVoYXZpb3I+KG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPm1hcnF1ZWUt
PmJlaGF2aW9yKTsgfQorICAgIE1hcnF1ZWVEaXJlY3Rpb24gbWFycXVlZURpcmVjdGlvbigpIGNv
bnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PE1hcnF1ZWVEaXJlY3Rpb24+KG1fcmFyZU5vbkluaGVy
aXRlZERhdGEtPm1hcnF1ZWUtPmRpcmVjdGlvbik7IH0KICAgICBFVXNlck1vZGlmeSB1c2VyTW9k
aWZ5KCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8RVVzZXJNb2RpZnk+KG1fcmFyZUluaGVy
aXRlZERhdGEtPnVzZXJNb2RpZnkpOyB9CiAgICAgRVVzZXJEcmFnIHVzZXJEcmFnKCkgY29uc3Qg
eyByZXR1cm4gc3RhdGljX2Nhc3Q8RVVzZXJEcmFnPihtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT51
c2VyRHJhZyk7IH0KICAgICBFVXNlclNlbGVjdCB1c2VyU2VsZWN0KCkgY29uc3QgeyByZXR1cm4g
c3RhdGljX2Nhc3Q8RVVzZXJTZWxlY3Q+KG1fcmFyZUluaGVyaXRlZERhdGEtPnVzZXJTZWxlY3Qp
OyB9CkBAIC0xMTAwLDggKzExMDAsOCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNldE1hcnF1ZWVJ
bmNyZW1lbnQoTGVuZ3RoJiYgbGVuZ3RoKSB7IFNFVF9ORVNURURfVkFSKG1fcmFyZU5vbkluaGVy
aXRlZERhdGEsIG1hcnF1ZWUsIGluY3JlbWVudCwgV1RGTW92ZShsZW5ndGgpKTsgfQogICAgIHZv
aWQgc2V0TWFycXVlZVNwZWVkKGludCBmKSB7IFNFVF9ORVNURURfVkFSKG1fcmFyZU5vbkluaGVy
aXRlZERhdGEsIG1hcnF1ZWUsIHNwZWVkLCBmKTsgfQotICAgIHZvaWQgc2V0TWFycXVlZURpcmVj
dGlvbihFTWFycXVlZURpcmVjdGlvbiBkKSB7IFNFVF9ORVNURURfVkFSKG1fcmFyZU5vbkluaGVy
aXRlZERhdGEsIG1hcnF1ZWUsIGRpcmVjdGlvbiwgZCk7IH0KLSAgICB2b2lkIHNldE1hcnF1ZWVC
ZWhhdmlvcihFTWFycXVlZUJlaGF2aW9yIGIpIHsgU0VUX05FU1RFRF9WQVIobV9yYXJlTm9uSW5o
ZXJpdGVkRGF0YSwgbWFycXVlZSwgYmVoYXZpb3IsIGIpOyB9CisgICAgdm9pZCBzZXRNYXJxdWVl
RGlyZWN0aW9uKE1hcnF1ZWVEaXJlY3Rpb24gZCkgeyBTRVRfTkVTVEVEX1ZBUihtX3JhcmVOb25J
bmhlcml0ZWREYXRhLCBtYXJxdWVlLCBkaXJlY3Rpb24sIHN0YXRpY19jYXN0PHVuc2lnbmVkPihk
KSk7IH0KKyAgICB2b2lkIHNldE1hcnF1ZWVCZWhhdmlvcihNYXJxdWVlQmVoYXZpb3IgYikgeyBT
RVRfTkVTVEVEX1ZBUihtX3JhcmVOb25Jbmhlcml0ZWREYXRhLCBtYXJxdWVlLCBiZWhhdmlvciwg
c3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGIpKTsgfQogICAgIHZvaWQgc2V0TWFycXVlZUxvb3BDb3Vu
dChpbnQgaSkgeyBTRVRfTkVTVEVEX1ZBUihtX3JhcmVOb25Jbmhlcml0ZWREYXRhLCBtYXJxdWVl
LCBsb29wcywgaSk7IH0KICAgICB2b2lkIHNldFVzZXJNb2RpZnkoRVVzZXJNb2RpZnkgdSkgeyBT
RVRfVkFSKG1fcmFyZUluaGVyaXRlZERhdGEsIHVzZXJNb2RpZnksIHUpOyB9CiAgICAgdm9pZCBz
ZXRVc2VyRHJhZyhFVXNlckRyYWcgZCkgeyBTRVRfVkFSKG1fcmFyZU5vbkluaGVyaXRlZERhdGEs
IHVzZXJEcmFnLCBkKTsgfQpAQCAtMTUwMiw4ICsxNTAyLDggQEAgcHVibGljOgogICAgIHN0YXRp
YyBpbnQgaW5pdGlhbE1hcnF1ZWVMb29wQ291bnQoKSB7IHJldHVybiAtMTsgfQogICAgIHN0YXRp
YyBpbnQgaW5pdGlhbE1hcnF1ZWVTcGVlZCgpIHsgcmV0dXJuIDg1OyB9CiAgICAgc3RhdGljIExl
bmd0aCBpbml0aWFsTWFycXVlZUluY3JlbWVudCgpIHsgcmV0dXJuIExlbmd0aCg2LCBGaXhlZCk7
IH0KLSAgICBzdGF0aWMgRU1hcnF1ZWVCZWhhdmlvciBpbml0aWFsTWFycXVlZUJlaGF2aW9yKCkg
eyByZXR1cm4gTVNDUk9MTDsgfQotICAgIHN0YXRpYyBFTWFycXVlZURpcmVjdGlvbiBpbml0aWFs
TWFycXVlZURpcmVjdGlvbigpIHsgcmV0dXJuIE1BVVRPOyB9CisgICAgc3RhdGljIE1hcnF1ZWVC
ZWhhdmlvciBpbml0aWFsTWFycXVlZUJlaGF2aW9yKCkgeyByZXR1cm4gTWFycXVlZUJlaGF2aW9y
OjpTY3JvbGw7IH0KKyAgICBzdGF0aWMgTWFycXVlZURpcmVjdGlvbiBpbml0aWFsTWFycXVlZURp
cmVjdGlvbigpIHsgcmV0dXJuIE1hcnF1ZWVEaXJlY3Rpb246OkF1dG87IH0KICAgICBzdGF0aWMg
RVVzZXJNb2RpZnkgaW5pdGlhbFVzZXJNb2RpZnkoKSB7IHJldHVybiBSRUFEX09OTFk7IH0KICAg
ICBzdGF0aWMgRVVzZXJEcmFnIGluaXRpYWxVc2VyRHJhZygpIHsgcmV0dXJuIERSQUdfQVVUTzsg
fQogICAgIHN0YXRpYyBFVXNlclNlbGVjdCBpbml0aWFsVXNlclNlbGVjdCgpIHsgcmV0dXJuIFNF
TEVDVF9URVhUOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
UmVuZGVyU3R5bGVDb25zdGFudHMuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9S
ZW5kZXJTdHlsZUNvbnN0YW50cy5oCmluZGV4IDFmNDVhMDg1NTkwMDdmOTU2NWU4YWQwZTMzNzY2
Y2MxZDMyNGFiZTcuLjVmN2I0NWExNTRiMDhjZjYyZjRjMGVkNGJlNDkzMWI3MTQzNjBiN2QgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0
YW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNv
bnN0YW50cy5oCkBAIC0yMzksOCArMjM5LDE5IEBAIGVudW0gRU1hc2tTb3VyY2VUeXBlIHsgTWFz
a0FscGhhLCBNYXNrTHVtaW5hbmNlIH07CiAKIC8vIENTUzMgTWFycXVlZSBQcm9wZXJ0aWVzCiAK
LWVudW0gRU1hcnF1ZWVCZWhhdmlvciB7IE1OT05FLCBNU0NST0xMLCBNU0xJREUsIE1BTFRFUk5B
VEUgfTsKLWVudW0gRU1hcnF1ZWVEaXJlY3Rpb24geyBNQVVUTyA9IDAsIE1MRUZUID0gMSwgTVJJ
R0hUID0gLTEsIE1VUCA9IDIsIE1ET1dOID0gLTIsIE1GT1JXQVJEID0gMywgTUJBQ0tXQVJEID0g
LTMgfTsKK2VudW0gY2xhc3MgTWFycXVlZUJlaGF2aW9yIHsKKyAgICBOb25lLCBTY3JvbGwsIFNs
aWRlLCBBbHRlcm5hdGUKK307CisKK2VudW0gY2xhc3MgTWFycXVlZURpcmVjdGlvbiB7CisgICAg
QXV0bywKKyAgICBMZWZ0LAorICAgIFJpZ2h0LAorICAgIFVwLAorICAgIERvd24sCisgICAgRm9y
d2FyZCwKKyAgICBCYWNrd2FyZAorfTsKIAogLy8gRGVwcmVjYXRlZCBGbGV4aWJsZSBCb3ggUHJv
cGVydGllcwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5
bGVNYXJxdWVlRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVN
YXJxdWVlRGF0YS5jcHAKaW5kZXggNTk3YjNmNzc2YWFhMGNiMWMxNTc5NTk5MzM0MDNjNGYyMGUw
ZmRkOC4uNzM5YzliYTdiOTAyMWY5MTJlMDhhYzNjODgxMjIwOTZlZGM0NTA2NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlTWFycXVlZURhdGEuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZU1hcnF1ZWVEYXRhLmNwcApA
QCAtMzAsOCArMzAsOCBAQCBTdHlsZU1hcnF1ZWVEYXRhOjpTdHlsZU1hcnF1ZWVEYXRhKCkKICAg
ICA6IGluY3JlbWVudChSZW5kZXJTdHlsZTo6aW5pdGlhbE1hcnF1ZWVJbmNyZW1lbnQoKSkKICAg
ICAsIHNwZWVkKFJlbmRlclN0eWxlOjppbml0aWFsTWFycXVlZVNwZWVkKCkpCiAgICAgLCBsb29w
cyhSZW5kZXJTdHlsZTo6aW5pdGlhbE1hcnF1ZWVMb29wQ291bnQoKSkKLSAgICAsIGJlaGF2aW9y
KFJlbmRlclN0eWxlOjppbml0aWFsTWFycXVlZUJlaGF2aW9yKCkpCi0gICAgLCBkaXJlY3Rpb24o
UmVuZGVyU3R5bGU6OmluaXRpYWxNYXJxdWVlRGlyZWN0aW9uKCkpCisgICAgLCBiZWhhdmlvcihz
dGF0aWNfY2FzdDx1bnNpZ25lZD4oUmVuZGVyU3R5bGU6OmluaXRpYWxNYXJxdWVlQmVoYXZpb3Io
KSkpCisgICAgLCBkaXJlY3Rpb24oc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFJlbmRlclN0eWxlOjpp
bml0aWFsTWFycXVlZURpcmVjdGlvbigpKSkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlTWFycXVlZURhdGEuaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9TdHlsZU1hcnF1ZWVEYXRhLmgKaW5kZXggZDQ2Y2Y2MTYxMzg2ZmE3
ZWEwZGIzN2U1ZGRjMDg1YmU0ZTY4NGJiZC4uYjA2YjY0NTM3MmZkOTg5MGRmZWJjOTA5MGVhYzY1
ODNiOThhOTlhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0
eWxlTWFycXVlZURhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5
bGVNYXJxdWVlRGF0YS5oCkBAIC00Nyw4ICs0Nyw4IEBAIHB1YmxpYzoKIAogICAgIGludCBsb29w
czsgLy8gLTEgbWVhbnMgaW5maW5pdGUuCiAKLSAgICB1bnNpZ25lZCBiZWhhdmlvciA6IDI7IC8v
IEVNYXJxdWVlQmVoYXZpb3IgCi0gICAgRU1hcnF1ZWVEaXJlY3Rpb24gZGlyZWN0aW9uIDogMzsg
Ly8gbm90IHVuc2lnbmVkIGJlY2F1c2UgRU1hcnF1ZWVEaXJlY3Rpb24gaGFzIG5lZ2F0aXZlIHZh
bHVlcworICAgIHVuc2lnbmVkIGJlaGF2aW9yIDogMjsgLy8gTWFycXVlZUJlaGF2aW9yIAorICAg
IHVuc2lnbmVkIGRpcmVjdGlvbiA6IDM7IC8vIE1hcnF1ZWVEaXJlY3Rpb24KIAogcHJpdmF0ZToK
ICAgICBTdHlsZU1hcnF1ZWVEYXRhKCk7Cg==
</data>
<flag name="review"
          id="349602"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>