<?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>140340</bug_id>
          
          <creation_ts>2015-01-10 14:53:59 -0800</creation_ts>
          <short_desc>Move more SVG CSS properties to the new StyleBuilder</short_desc>
          <delta_ts>2015-01-11 12:04:26 -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>CSS</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>
          <dependson>137910</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1060444</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-01-10 14:53:59 -0800</bug_when>
    <thetext>Move more SVG CSS properties to the new StyleBuilder.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060452</commentid>
    <comment_count>1</comment_count>
      <attachid>244419</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-01-10 15:45:38 -0800</bug_when>
    <thetext>Created attachment 244419
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060476</commentid>
    <comment_count>2</comment_count>
      <attachid>244419</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-01-11 12:04:17 -0800</bug_when>
    <thetext>Comment on attachment 244419
Patch

Clearing flags on attachment: 244419

Committed r178246: &lt;http://trac.webkit.org/changeset/178246&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060477</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-01-11 12:04:26 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>244419</attachid>
            <date>2015-01-10 15:45:38 -0800</date>
            <delta_ts>2015-01-11 12:04:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140340-20150110154543.patch</filename>
            <type>text/plain</type>
            <size>26786</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc4MjQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTI5YzBlZDc2YjUzNTcw
OTc4ZTdhMTI1OWQzNmNlMzIxZDExNzI4MS4uNDIyZDFjMmM3MjM5YTgxMDdjMDE0YTc5OGQzMmY1
NWM3NDA3YTFmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDE1LTAxLTEwICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgTW92ZSBtb3JlIFNWRyBDU1Mg
cHJvcGVydGllcyB0byB0aGUgbmV3IFN0eWxlQnVpbGRlcgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwMzQwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW92ZSBtb3JlIFNWRyBDU1MgcHJvcGVydGllcyB0
byB0aGUgbmV3IFN0eWxlQnVpbGRlciBieSBpbnRyb2R1Y2luZworICAgICAgICB0aGUgbmVjZXNz
YXJ5IGNvbnZlcnRlcnMgaW4gU3R5bGVCdWlsZGVyQ29udmVydGVyLgorCisgICAgICAgICogY3Nz
L0NTU1Byb3BlcnR5TmFtZXMuaW46CisgICAgICAgICogY3NzL1NWR0NTU1N0eWxlU2VsZWN0b3Iu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6YXBwbHlTVkdQcm9wZXJ0eSk6
CisgICAgICAgIChXZWJDb3JlOjpyb3VuZFRvTmVhcmVzdEdseXBoT3JpZW50YXRpb25BbmdsZSk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjphbmdsZVRvR2x5cGhPcmllbnRhdGlvbik6IERl
bGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpjb2xvckZyb21TVkdDb2xvckNTU1ZhbHVlKTogRGVs
ZXRlZC4KKyAgICAgICAgKiBjc3MvU3R5bGVCdWlsZGVyQ29udmVydGVyLmg6CisgICAgICAgIChX
ZWJDb3JlOjpTdHlsZUJ1aWxkZXJDb252ZXJ0ZXI6OmNvbnZlcnROdW1iZXIpOgorICAgICAgICAo
V2ViQ29yZTo6U3R5bGVCdWlsZGVyQ29udmVydGVyOjpjb252ZXJ0TnVtYmVyT3JBdXRvKToKKyAg
ICAgICAgKFdlYkNvcmU6OlN0eWxlQnVpbGRlckNvbnZlcnRlcjo6Y29udmVydE9wYWNpdHkpOgor
ICAgICAgICAoV2ViQ29yZTo6U3R5bGVCdWlsZGVyQ29udmVydGVyOjpjb252ZXJ0U1ZHVVJJUmVm
ZXJlbmNlKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlQnVpbGRlckNvbnZlcnRlcjo6Y29udmVy
dFNWR0NvbG9yKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlQnVpbGRlckNvbnZlcnRlcjo6Y29u
dmVydEdseXBoT3JpZW50YXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVCdWlsZGVyQ29u
dmVydGVyOjpjb252ZXJ0R2x5cGhPcmllbnRhdGlvbk9yQXV0byk6CisgICAgICAgICogcmVuZGVy
aW5nL3N0eWxlL1JlbmRlclN0eWxlLmg6CisKIDIwMTUtMDEtMTAgIENzYWJhIE9zenRyb2dvbsOh
YyAgPG9zc3lAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkIGJ1aWxkZml4IGZvciAh
RU5BQkxFKElOU1BFQ1RPUikgYnVpbGRzIGFmdGVyIHIxNzgyMDEuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NQcm9wZXJ0eU5hbWVzLmluCmluZGV4IGE2YzczNWQ0NGUxOWM0NjE2NTdmMWVlNTY0OTBjY2Y2
YTVmNTc1MTEuLjc4Zjg3YzI0NTk5N2QyNDMzMmE5NGU0NzkzZTAzN2RlNDcxYzdmYmQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCkBAIC0yMTEsNyArMjExLDcgQEAgY2Fw
dGlvbi1zaWRlIFtJbmhlcml0ZWRdCiBjbGVhcgogY2xpcCBbQ3VzdG9tPUFsbF0KIC13ZWJraXQt
Y2xpcC1wYXRoIFtDb252ZXJ0ZXI9Q2xpcFBhdGhdCi1jbGlwLXBhdGggW0xlZ2FjeVN0eWxlQnVp
bGRlciwgU1ZHXQorY2xpcC1wYXRoIFtTVkcsIENvbnZlcnRlcj1TVkdVUklSZWZlcmVuY2UsIE5h
bWVGb3JNZXRob2RzPUNsaXBwZXJSZXNvdXJjZV0KIGNsaXAtcnVsZSBbSW5oZXJpdGVkLCBTVkcs
IFR5cGVOYW1lPVdpbmRSdWxlXQogY29sb3ItaW50ZXJwb2xhdGlvbiBbSW5oZXJpdGVkLCBTVkdd
CiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnMgW0luaGVyaXRlZCwgU1ZHLCBUeXBlTmFtZT1F
Q29sb3JJbnRlcnBvbGF0aW9uXQpAQCAtMjMwLDE1ICsyMzAsMTUgQEAgZG9taW5hbnQtYmFzZWxp
bmUgW1NWR10KIGVtcHR5LWNlbGxzIFtJbmhlcml0ZWQsIFR5cGVOYW1lPUVFbXB0eUNlbGxdCiBl
bmFibGUtYmFja2dyb3VuZCBbU2tpcEJ1aWxkZXJdCiBmaWxsIFtJbmhlcml0ZWQsIExlZ2FjeVN0
eWxlQnVpbGRlciwgU1ZHXQotZmlsbC1vcGFjaXR5IFtJbmhlcml0ZWQsIExlZ2FjeVN0eWxlQnVp
bGRlciwgU1ZHXQorZmlsbC1vcGFjaXR5IFtJbmhlcml0ZWQsIFNWRywgQ29udmVydGVyPU9wYWNp
dHldCiBmaWxsLXJ1bGUgW0luaGVyaXRlZCwgU1ZHLCBUeXBlTmFtZT1XaW5kUnVsZV0KLWZpbHRl
ciBbTGVnYWN5U3R5bGVCdWlsZGVyLCBTVkddCitmaWx0ZXIgW1NWRywgQ29udmVydGVyPVNWR1VS
SVJlZmVyZW5jZSwgTmFtZUZvck1ldGhvZHM9RmlsdGVyUmVzb3VyY2VdCiBmbG9hdCBbVHlwZU5h
bWU9RUZsb2F0LCBOYW1lRm9yTWV0aG9kcz1GbG9hdGluZ10KLWZsb29kLWNvbG9yIFtMZWdhY3lT
dHlsZUJ1aWxkZXIsIFNWR10KLWZsb29kLW9wYWNpdHkgW0xlZ2FjeVN0eWxlQnVpbGRlciwgU1ZH
XQorZmxvb2QtY29sb3IgW1NWRywgQ29udmVydGVyPVNWR0NvbG9yXQorZmxvb2Qtb3BhY2l0eSBb
U1ZHLCBDb252ZXJ0ZXI9T3BhY2l0eV0KIGZvbnQtc3RyZXRjaCBbU2tpcEJ1aWxkZXJdCi1nbHlw
aC1vcmllbnRhdGlvbi1ob3Jpem9udGFsIFtJbmhlcml0ZWQsIExlZ2FjeVN0eWxlQnVpbGRlciwg
U1ZHXQotZ2x5cGgtb3JpZW50YXRpb24tdmVydGljYWwgW0luaGVyaXRlZCwgTGVnYWN5U3R5bGVC
dWlsZGVyLCBTVkddCitnbHlwaC1vcmllbnRhdGlvbi1ob3Jpem9udGFsIFtJbmhlcml0ZWQsIFNW
RywgQ29udmVydGVyPUdseXBoT3JpZW50YXRpb25dCitnbHlwaC1vcmllbnRhdGlvbi12ZXJ0aWNh
bCBbSW5oZXJpdGVkLCBTVkcsIENvbnZlcnRlcj1HbHlwaE9yaWVudGF0aW9uT3JBdXRvXQogaGVp
Z2h0IFtJbml0aWFsPWluaXRpYWxTaXplLCBDb252ZXJ0ZXI9TGVuZ3RoU2l6aW5nXQogI2lmIGRl
ZmluZWQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJiYgRU5BQkxFX0NTU19JTUFHRV9P
UklFTlRBVElPTgogaW1hZ2Utb3JpZW50YXRpb24gW0luaGVyaXRlZCwgVHlwZU5hbWU9SW1hZ2VP
cmllbnRhdGlvbkVudW1dCkBAIC0yNTAsNyArMjUwLDcgQEAgaW1hZ2UtcmVzb2x1dGlvbiBbSW5o
ZXJpdGVkLCBDdXN0b209QWxsXQoga2VybmluZyBbSW5oZXJpdGVkLCBTVkcsIENvbnZlcnRlcj1T
VkdMZW5ndGhdCiBsZWZ0IFtJbml0aWFsPWluaXRpYWxPZmZzZXQsIENvbnZlcnRlcj1MZW5ndGhP
ckF1dG9dCiBsZXR0ZXItc3BhY2luZyBbSW5oZXJpdGVkLCBDb252ZXJ0ZXI9U3BhY2luZ10KLWxp
Z2h0aW5nLWNvbG9yIFtMZWdhY3lTdHlsZUJ1aWxkZXIsIFNWR10KK2xpZ2h0aW5nLWNvbG9yIFtT
VkcsIENvbnZlcnRlcj1TVkdDb2xvcl0KIGxpc3Qtc3R5bGUgW0luaGVyaXRlZCwgU2hvcnRoYW5k
XQogbGlzdC1zdHlsZS1pbWFnZSBbSW5oZXJpdGVkLCBDb252ZXJ0ZXI9U3R5bGVJbWFnZTxDU1NQ
cm9wZXJ0eUxpc3RTdHlsZUltYWdlPl0KIGxpc3Qtc3R5bGUtcG9zaXRpb24gW0luaGVyaXRlZF0K
QEAgLTI2MSwxMCArMjYxLDEwIEBAIG1hcmdpbi1sZWZ0IFtJbml0aWFsPWluaXRpYWxNYXJnaW4s
IENvbnZlcnRlcj1MZW5ndGhPckF1dG9dCiBtYXJnaW4tcmlnaHQgW0luaXRpYWw9aW5pdGlhbE1h
cmdpbiwgQ29udmVydGVyPUxlbmd0aE9yQXV0b10KIG1hcmdpbi10b3AgW0luaXRpYWw9aW5pdGlh
bE1hcmdpbiwgQ29udmVydGVyPUxlbmd0aE9yQXV0b10KIG1hcmtlciBbSW5oZXJpdGVkLCBMZWdh
Y3lTdHlsZUJ1aWxkZXIsIFNWR10KLW1hcmtlci1lbmQgW0luaGVyaXRlZCwgTGVnYWN5U3R5bGVC
dWlsZGVyLCBTVkddCi1tYXJrZXItbWlkIFtJbmhlcml0ZWQsIExlZ2FjeVN0eWxlQnVpbGRlciwg
U1ZHXQotbWFya2VyLXN0YXJ0IFtJbmhlcml0ZWQsIExlZ2FjeVN0eWxlQnVpbGRlciwgU1ZHXQot
bWFzayBbTGVnYWN5U3R5bGVCdWlsZGVyLCBTVkddCittYXJrZXItZW5kIFtJbmhlcml0ZWQsIFNW
RywgQ29udmVydGVyPVNWR1VSSVJlZmVyZW5jZSwgTmFtZUZvck1ldGhvZHM9TWFya2VyRW5kUmVz
b3VyY2VdCittYXJrZXItbWlkIFtJbmhlcml0ZWQsIFNWRywgQ29udmVydGVyPVNWR1VSSVJlZmVy
ZW5jZSwgTmFtZUZvck1ldGhvZHM9TWFya2VyTWlkUmVzb3VyY2VdCittYXJrZXItc3RhcnQgW0lu
aGVyaXRlZCwgU1ZHLCBDb252ZXJ0ZXI9U1ZHVVJJUmVmZXJlbmNlLCBOYW1lRm9yTWV0aG9kcz1N
YXJrZXJTdGFydFJlc291cmNlXQorbWFzayBbU1ZHLCBDb252ZXJ0ZXI9U1ZHVVJJUmVmZXJlbmNl
LCBOYW1lRm9yTWV0aG9kcz1NYXNrZXJSZXNvdXJjZV0KIG1hc2stdHlwZSBbU1ZHXQogbWF4LWhl
aWdodCBbSW5pdGlhbD1pbml0aWFsTWF4U2l6ZSwgQ29udmVydGVyPUxlbmd0aE1heFNpemluZ10K
IG1heC13aWR0aCBbSW5pdGlhbD1pbml0aWFsTWF4U2l6ZSwgQ29udmVydGVyPUxlbmd0aE1heFNp
emluZ10KQEAgLTMwNiwxNSArMzA2LDE1IEBAIHJ5IFtJbml0aWFsPWluaXRpYWxaZXJvTGVuZ3Ro
LCBDb252ZXJ0ZXI9TGVuZ3RoXQogc2hhcGUtcmVuZGVyaW5nIFtJbmhlcml0ZWQsIFNWR10KIHNp
emUgW0N1c3RvbT1BbGxdCiBzcmMgW1NraXBCdWlsZGVyXQotc3RvcC1jb2xvciBbTGVnYWN5U3R5
bGVCdWlsZGVyLCBTVkddCi1zdG9wLW9wYWNpdHkgW0xlZ2FjeVN0eWxlQnVpbGRlciwgU1ZHXQor
c3RvcC1jb2xvciBbU1ZHLCBDb252ZXJ0ZXI9U1ZHQ29sb3JdCitzdG9wLW9wYWNpdHkgW1NWRywg
Q29udmVydGVyPU9wYWNpdHldCiBzdHJva2UgW0luaGVyaXRlZCwgTGVnYWN5U3R5bGVCdWlsZGVy
LCBTVkddCiBzdHJva2UtZGFzaGFycmF5IFtJbmhlcml0ZWQsIFNWRywgQ29udmVydGVyPVN0cm9r
ZURhc2hBcnJheSwgTmFtZUZvck1ldGhvZHM9U3Ryb2tlRGFzaEFycmF5XQogc3Ryb2tlLWRhc2hv
ZmZzZXQgW0luaGVyaXRlZCwgTmFtZUZvck1ldGhvZHM9U3Ryb2tlRGFzaE9mZnNldCwgSW5pdGlh
bD1pbml0aWFsWmVyb0xlbmd0aCwgQ29udmVydGVyPUxlbmd0aF0KIHN0cm9rZS1saW5lY2FwIFtJ
bmhlcml0ZWQsIFNWRywgTmFtZUZvck1ldGhvZHM9Q2FwU3R5bGUsIFR5cGVOYW1lPUxpbmVDYXBd
CiBzdHJva2UtbGluZWpvaW4gW0luaGVyaXRlZCwgU1ZHLCBOYW1lRm9yTWV0aG9kcz1Kb2luU3R5
bGUsIFR5cGVOYW1lPUxpbmVKb2luXQotc3Ryb2tlLW1pdGVybGltaXQgW0luaGVyaXRlZCwgTGVn
YWN5U3R5bGVCdWlsZGVyLCBTVkddCi1zdHJva2Utb3BhY2l0eSBbSW5oZXJpdGVkLCBMZWdhY3lT
dHlsZUJ1aWxkZXIsIFNWR10KK3N0cm9rZS1taXRlcmxpbWl0IFtJbmhlcml0ZWQsIFNWRywgQ29u
dmVydGVyPU51bWJlcjxmbG9hdD4sIE5hbWVGb3JNZXRob2RzPVN0cm9rZU1pdGVyTGltaXRdCitz
dHJva2Utb3BhY2l0eSBbSW5oZXJpdGVkLCBTVkcsIENvbnZlcnRlcj1PcGFjaXR5XQogc3Ryb2tl
LXdpZHRoIFtJbmhlcml0ZWQsIEluaXRpYWw9aW5pdGlhbE9uZUxlbmd0aCwgQ29udmVydGVyPUxl
bmd0aF0KIHNwZWFrIFtJbmhlcml0ZWRdCiB0YWJsZS1sYXlvdXQKQEAgLTUwMyw4ICs1MDMsOCBA
QCBqdXN0aWZ5LWNvbnRlbnQKIC13ZWJraXQtZ3JpZC1hdXRvLWZsb3cgW0NvbnZlcnRlcj1Hcmlk
QXV0b0Zsb3ddCiAjZW5kaWYKIC13ZWJraXQtaHlwaGVuYXRlLWNoYXJhY3RlciBbSW5oZXJpdGVk
LCBOYW1lRm9yTWV0aG9kcz1IeXBoZW5hdGlvblN0cmluZywgQ29udmVydGVyPVN0cmluZ09yQXV0
b10KLS13ZWJraXQtaHlwaGVuYXRlLWxpbWl0LWFmdGVyIFtJbmhlcml0ZWQsIE5hbWVGb3JNZXRo
b2RzPUh5cGhlbmF0aW9uTGltaXRBZnRlciwgQ29udmVydGVyPU51bWJlcjxzaG9ydD5dCi0td2Vi
a2l0LWh5cGhlbmF0ZS1saW1pdC1iZWZvcmUgW0luaGVyaXRlZCwgTmFtZUZvck1ldGhvZHM9SHlw
aGVuYXRpb25MaW1pdEJlZm9yZSwgQ29udmVydGVyPU51bWJlcjxzaG9ydD5dCistd2Via2l0LWh5
cGhlbmF0ZS1saW1pdC1hZnRlciBbSW5oZXJpdGVkLCBOYW1lRm9yTWV0aG9kcz1IeXBoZW5hdGlv
bkxpbWl0QWZ0ZXIsIENvbnZlcnRlcj1OdW1iZXJPckF1dG88c2hvcnQ+XQorLXdlYmtpdC1oeXBo
ZW5hdGUtbGltaXQtYmVmb3JlIFtJbmhlcml0ZWQsIE5hbWVGb3JNZXRob2RzPUh5cGhlbmF0aW9u
TGltaXRCZWZvcmUsIENvbnZlcnRlcj1OdW1iZXJPckF1dG88c2hvcnQ+XQogLXdlYmtpdC1oeXBo
ZW5hdGUtbGltaXQtbGluZXMgW0luaGVyaXRlZCwgTmFtZUZvck1ldGhvZHM9SHlwaGVuYXRpb25M
aW1pdExpbmVzLCBDb252ZXJ0ZXI9V2Via2l0SHlwaGVuYXRlTGltaXRMaW5lc10KIC13ZWJraXQt
aHlwaGVucyBbSW5oZXJpdGVkLCBUeXBlTmFtZT1IeXBoZW5zXQogLWVwdWItaHlwaGVucyA9IC13
ZWJraXQtaHlwaGVucwpAQCAtNjMwLDcgKzYzMCw3IEBAIHRleHQtZW1waGFzaXMtc3R5bGUgPSAt
d2Via2l0LXRleHQtZW1waGFzaXMtc3R5bGUKICNpZiBkZWZpbmVkKEVOQUJMRV9DU1NfU0hBUEVT
KSAmJiBFTkFCTEVfQ1NTX1NIQVBFUwogLXdlYmtpdC1zaGFwZS1vdXRzaWRlIFtDb252ZXJ0ZXI9
U2hhcGVWYWx1ZV0KIC13ZWJraXQtc2hhcGUtbWFyZ2luIFtDb252ZXJ0ZXI9TGVuZ3RoXQotLXdl
YmtpdC1zaGFwZS1pbWFnZS10aHJlc2hvbGQgW0NvbnZlcnRlcj1OdW1iZXI8ZmxvYXQ+XQorLXdl
YmtpdC1zaGFwZS1pbWFnZS10aHJlc2hvbGQgW0NvbnZlcnRlcj1OdW1iZXJPckF1dG88ZmxvYXQ+
XQogI2VuZGlmCiAjaWYgZGVmaW5lZChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAmJiBF
TkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OCiBtYXgtem9vbSBbU2tpcEJ1aWxkZXJdCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU1ZHQ1NTU3R5bGVTZWxlY3Rvci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU1ZHQ1NTU3R5bGVTZWxlY3Rvci5jcHAKaW5kZXggZDcyNmZjNjhiMmMz
MjM1MGMxOTkyOWZjMGM0ODQ0NGY4MWQ0MzRkNi4uMmIwNGQxZDRiYzg0MTVmNWExOGIxYTE5YjE1
ODMwNTU0ZmVjMmJlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1NWR0NTU1N0eWxl
U2VsZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TVkdDU1NTdHlsZVNlbGVjdG9y
LmNwcApAQCAtNDEsNiArNDEsNyBAQAogI2luY2x1ZGUgIlNWR1JlbmRlclN0eWxlLmgiCiAjaW5j
bHVkZSAiU1ZHUmVuZGVyU3R5bGVEZWZzLmgiCiAjaW5jbHVkZSAiU1ZHVVJJUmVmZXJlbmNlLmgi
CisjaW5jbHVkZSAiU3R5bGVCdWlsZGVyQ29udmVydGVyLmgiCiAjaW5jbHVkZSA8c3RkbGliLmg+
CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KIApAQCAtNjAsNDYgKzYxLDYgQEAgaWYgKGlz
SW5pdGlhbCkgeyBcCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGZsb2F0IHJvdW5k
VG9OZWFyZXN0R2x5cGhPcmllbnRhdGlvbkFuZ2xlKGZsb2F0IGFuZ2xlKQotewotICAgIGFuZ2xl
ID0gZmFic2YoZm1vZGYoYW5nbGUsIDM2MC4wZikpOwotCi0gICAgaWYgKGFuZ2xlIDw9IDQ1LjBm
IHx8IGFuZ2xlID4gMzE1LjBmKQotICAgICAgICByZXR1cm4gMC4wZjsKLSAgICBlbHNlIGlmIChh
bmdsZSA+IDQ1LjBmICYmIGFuZ2xlIDw9IDEzNS4wZikKLSAgICAgICAgcmV0dXJuIDkwLjBmOwot
ICAgIGVsc2UgaWYgKGFuZ2xlID4gMTM1LjBmICYmIGFuZ2xlIDw9IDIyNS4wZikKLSAgICAgICAg
cmV0dXJuIDE4MC4wZjsKLQotICAgIHJldHVybiAyNzAuMGY7Ci19Ci0KLXN0YXRpYyBpbnQgYW5n
bGVUb0dseXBoT3JpZW50YXRpb24oZmxvYXQgYW5nbGUpCi17Ci0gICAgYW5nbGUgPSByb3VuZFRv
TmVhcmVzdEdseXBoT3JpZW50YXRpb25BbmdsZShhbmdsZSk7Ci0KLSAgICBpZiAoYW5nbGUgPT0g
MC4wZikKLSAgICAgICAgcmV0dXJuIEdPXzBERUc7Ci0gICAgZWxzZSBpZiAoYW5nbGUgPT0gOTAu
MGYpCi0gICAgICAgIHJldHVybiBHT185MERFRzsKLSAgICBlbHNlIGlmIChhbmdsZSA9PSAxODAu
MGYpCi0gICAgICAgIHJldHVybiBHT18xODBERUc7Ci0gICAgZWxzZSBpZiAoYW5nbGUgPT0gMjcw
LjBmKQotICAgICAgICByZXR1cm4gR09fMjcwREVHOwotCi0gICAgcmV0dXJuIC0xOwotfQotCi1z
dGF0aWMgQ29sb3IgY29sb3JGcm9tU1ZHQ29sb3JDU1NWYWx1ZShTVkdDb2xvciogc3ZnQ29sb3Is
IGNvbnN0IENvbG9yJiBmZ0NvbG9yKQotewotICAgIENvbG9yIGNvbG9yOwotICAgIGlmIChzdmdD
b2xvci0+Y29sb3JUeXBlKCkgPT0gU1ZHQ29sb3I6OlNWR19DT0xPUlRZUEVfQ1VSUkVOVENPTE9S
KQotICAgICAgICBjb2xvciA9IGZnQ29sb3I7Ci0gICAgZWxzZQotICAgICAgICBjb2xvciA9IHN2
Z0NvbG9yLT5jb2xvcigpOwotICAgIHJldHVybiBjb2xvcjsKLX0KLQogLy8gRklYTUU6IFRoaXMg
bWV0aG9kIHNob3VsZCBnbyBhd2F5IG9uY2UgYWxsIFNWRyBDU1MgcHJvcGVydGllcyBoYXZlIGJl
ZW4KIC8vIHBvcnRlZCB0byB0aGUgbmV3IGdlbmVyYXRlZCBTdHlsZUJ1aWxkZXIuCiB2b2lkIFN0
eWxlUmVzb2x2ZXI6OmFwcGx5U1ZHUHJvcGVydHkoQ1NTUHJvcGVydHlJRCBpZCwgQ1NTVmFsdWUq
IHZhbHVlKQpAQCAtMTYzLDcgKzEyNCw3IEBAIHZvaWQgU3R5bGVSZXNvbHZlcjo6YXBwbHlTVkdQ
cm9wZXJ0eShDU1NQcm9wZXJ0eUlEIGlkLCBDU1NWYWx1ZSogdmFsdWUpCiAgICAgICAgICAgICB9
CiAgICAgICAgICAgICBpZiAoaXM8U1ZHUGFpbnQ+KCp2YWx1ZSkpIHsKICAgICAgICAgICAgICAg
ICBTVkdQYWludCYgc3ZnUGFpbnQgPSBkb3duY2FzdDxTVkdQYWludD4oKnZhbHVlKTsKLSAgICAg
ICAgICAgICAgICBzdmdTdHlsZS5zZXRGaWxsUGFpbnQoc3ZnUGFpbnQucGFpbnRUeXBlKCksIGNv
bG9yRnJvbVNWR0NvbG9yQ1NTVmFsdWUoJnN2Z1BhaW50LCBzdGF0ZS5zdHlsZSgpLT5jb2xvcigp
KSwgc3ZnUGFpbnQudXJpKCksIGFwcGx5UHJvcGVydHlUb1JlZ3VsYXJTdHlsZSgpLCBhcHBseVBy
b3BlcnR5VG9WaXNpdGVkTGlua1N0eWxlKCkpOworICAgICAgICAgICAgICAgIHN2Z1N0eWxlLnNl
dEZpbGxQYWludChzdmdQYWludC5wYWludFR5cGUoKSwgU3R5bGVCdWlsZGVyQ29udmVydGVyOjpj
b252ZXJ0U1ZHQ29sb3IoKnRoaXMsIHN2Z1BhaW50KSwgc3ZnUGFpbnQudXJpKCksIGFwcGx5UHJv
cGVydHlUb1JlZ3VsYXJTdHlsZSgpLCBhcHBseVByb3BlcnR5VG9WaXNpdGVkTGlua1N0eWxlKCkp
OwogICAgICAgICAgICAgfQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KQEAgLTE4MCwy
MzQgKzE0MSwxMCBAQCB2b2lkIFN0eWxlUmVzb2x2ZXI6OmFwcGx5U1ZHUHJvcGVydHkoQ1NTUHJv
cGVydHlJRCBpZCwgQ1NTVmFsdWUqIHZhbHVlKQogICAgICAgICAgICAgfQogICAgICAgICAgICAg
aWYgKGlzPFNWR1BhaW50PigqdmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgU1ZHUGFpbnQmIHN2
Z1BhaW50ID0gZG93bmNhc3Q8U1ZHUGFpbnQ+KCp2YWx1ZSk7Ci0gICAgICAgICAgICAgICAgc3Zn
U3R5bGUuc2V0U3Ryb2tlUGFpbnQoc3ZnUGFpbnQucGFpbnRUeXBlKCksIGNvbG9yRnJvbVNWR0Nv
bG9yQ1NTVmFsdWUoJnN2Z1BhaW50LCBzdGF0ZS5zdHlsZSgpLT5jb2xvcigpKSwgc3ZnUGFpbnQu
dXJpKCksIGFwcGx5UHJvcGVydHlUb1JlZ3VsYXJTdHlsZSgpLCBhcHBseVByb3BlcnR5VG9WaXNp
dGVkTGlua1N0eWxlKCkpOworICAgICAgICAgICAgICAgIHN2Z1N0eWxlLnNldFN0cm9rZVBhaW50
KHN2Z1BhaW50LnBhaW50VHlwZSgpLCBTdHlsZUJ1aWxkZXJDb252ZXJ0ZXI6OmNvbnZlcnRTVkdD
b2xvcigqdGhpcywgc3ZnUGFpbnQpLCBzdmdQYWludC51cmkoKSwgYXBwbHlQcm9wZXJ0eVRvUmVn
dWxhclN0eWxlKCksIGFwcGx5UHJvcGVydHlUb1Zpc2l0ZWRMaW5rU3R5bGUoKSk7CiAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQotICAgICAgICBjYXNlIENTU1By
b3BlcnR5RmlsbE9wYWNpdHk6Ci0gICAgICAgIHsKLSAgICAgICAgICAgIEhBTkRMRV9JTkhFUklU
X0FORF9JTklUSUFMKGZpbGxPcGFjaXR5LCBGaWxsT3BhY2l0eSkKLSAgICAgICAgICAgIGlmICgh
cHJpbWl0aXZlVmFsdWUpCi0gICAgICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgICAgICBm
bG9hdCBmID0gMC4wZjsKLSAgICAgICAgICAgIGludCB0eXBlID0gcHJpbWl0aXZlVmFsdWUtPnBy
aW1pdGl2ZVR5cGUoKTsKLSAgICAgICAgICAgIGlmICh0eXBlID09IENTU1ByaW1pdGl2ZVZhbHVl
OjpDU1NfUEVSQ0VOVEFHRSkKLSAgICAgICAgICAgICAgICBmID0gcHJpbWl0aXZlVmFsdWUtPmdl
dEZsb2F0VmFsdWUoKSAvIDEwMC4wZjsKLSAgICAgICAgICAgIGVsc2UgaWYgKHR5cGUgPT0gQ1NT
UHJpbWl0aXZlVmFsdWU6OkNTU19OVU1CRVIpCi0gICAgICAgICAgICAgICAgZiA9IHByaW1pdGl2
ZVZhbHVlLT5nZXRGbG9hdFZhbHVlKCk7Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAg
ICAgcmV0dXJuOwotCi0gICAgICAgICAgICBzdmdTdHlsZS5zZXRGaWxsT3BhY2l0eShmKTsKLSAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGNhc2UgQ1NTUHJvcGVydHlTdHJv
a2VPcGFjaXR5OgotICAgICAgICB7Ci0gICAgICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5J
VElBTChzdHJva2VPcGFjaXR5LCBTdHJva2VPcGFjaXR5KQotICAgICAgICAgICAgaWYgKCFwcmlt
aXRpdmVWYWx1ZSkKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgICAgIGZsb2F0
IGYgPSAwLjBmOwotICAgICAgICAgICAgaW50IHR5cGUgPSBwcmltaXRpdmVWYWx1ZS0+cHJpbWl0
aXZlVHlwZSgpOwotICAgICAgICAgICAgaWYgKHR5cGUgPT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNT
U19QRVJDRU5UQUdFKQotICAgICAgICAgICAgICAgIGYgPSBwcmltaXRpdmVWYWx1ZS0+Z2V0Rmxv
YXRWYWx1ZSgpIC8gMTAwLjBmOwotICAgICAgICAgICAgZWxzZSBpZiAodHlwZSA9PSBDU1NQcmlt
aXRpdmVWYWx1ZTo6Q1NTX05VTUJFUikKLSAgICAgICAgICAgICAgICBmID0gcHJpbWl0aXZlVmFs
dWUtPmdldEZsb2F0VmFsdWUoKTsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBy
ZXR1cm47Ci0KLSAgICAgICAgICAgIHN2Z1N0eWxlLnNldFN0cm9rZU9wYWNpdHkoZik7Ci0gICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBjYXNlIENTU1Byb3BlcnR5U3RvcE9w
YWNpdHk6Ci0gICAgICAgIHsKLSAgICAgICAgICAgIEhBTkRMRV9JTkhFUklUX0FORF9JTklUSUFM
KHN0b3BPcGFjaXR5LCBTdG9wT3BhY2l0eSkKLSAgICAgICAgICAgIGlmICghcHJpbWl0aXZlVmFs
dWUpCi0gICAgICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgICAgICBmbG9hdCBmID0gMC4w
ZjsKLSAgICAgICAgICAgIGludCB0eXBlID0gcHJpbWl0aXZlVmFsdWUtPnByaW1pdGl2ZVR5cGUo
KTsKLSAgICAgICAgICAgIGlmICh0eXBlID09IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEVSQ0VO
VEFHRSkKLSAgICAgICAgICAgICAgICBmID0gcHJpbWl0aXZlVmFsdWUtPmdldEZsb2F0VmFsdWUo
KSAvIDEwMC4wZjsKLSAgICAgICAgICAgIGVsc2UgaWYgKHR5cGUgPT0gQ1NTUHJpbWl0aXZlVmFs
dWU6OkNTU19OVU1CRVIpCi0gICAgICAgICAgICAgICAgZiA9IHByaW1pdGl2ZVZhbHVlLT5nZXRG
bG9hdFZhbHVlKCk7Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgcmV0dXJuOwot
Ci0gICAgICAgICAgICBzdmdTdHlsZS5zZXRTdG9wT3BhY2l0eShmKTsKLSAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICB9Ci0gICAgICAgIGNhc2UgQ1NTUHJvcGVydHlNYXJrZXJTdGFydDoKLSAg
ICAgICAgewotICAgICAgICAgICAgSEFORExFX0lOSEVSSVRfQU5EX0lOSVRJQUwobWFya2VyU3Rh
cnRSZXNvdXJjZSwgTWFya2VyU3RhcnRSZXNvdXJjZSkKLSAgICAgICAgICAgIGlmICghcHJpbWl0
aXZlVmFsdWUpCi0gICAgICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgICAgICBTdHJpbmcg
czsKLSAgICAgICAgICAgIGludCB0eXBlID0gcHJpbWl0aXZlVmFsdWUtPnByaW1pdGl2ZVR5cGUo
KTsKLSAgICAgICAgICAgIGlmICh0eXBlID09IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfVVJJKQot
ICAgICAgICAgICAgICAgIHMgPSBwcmltaXRpdmVWYWx1ZS0+Z2V0U3RyaW5nVmFsdWUoKTsKLQot
ICAgICAgICAgICAgc3ZnU3R5bGUuc2V0TWFya2VyU3RhcnRSZXNvdXJjZShTVkdVUklSZWZlcmVu
Y2U6OmZyYWdtZW50SWRlbnRpZmllckZyb21JUklTdHJpbmcocywgc3RhdGUuZG9jdW1lbnQoKSkp
OwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgY2FzZSBDU1NQcm9wZXJ0
eU1hcmtlck1pZDoKLSAgICAgICAgewotICAgICAgICAgICAgSEFORExFX0lOSEVSSVRfQU5EX0lO
SVRJQUwobWFya2VyTWlkUmVzb3VyY2UsIE1hcmtlck1pZFJlc291cmNlKQotICAgICAgICAgICAg
aWYgKCFwcmltaXRpdmVWYWx1ZSkKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAg
ICAgIFN0cmluZyBzOwotICAgICAgICAgICAgaW50IHR5cGUgPSBwcmltaXRpdmVWYWx1ZS0+cHJp
bWl0aXZlVHlwZSgpOwotICAgICAgICAgICAgaWYgKHR5cGUgPT0gQ1NTUHJpbWl0aXZlVmFsdWU6
OkNTU19VUkkpCi0gICAgICAgICAgICAgICAgcyA9IHByaW1pdGl2ZVZhbHVlLT5nZXRTdHJpbmdW
YWx1ZSgpOwotCi0gICAgICAgICAgICBzdmdTdHlsZS5zZXRNYXJrZXJNaWRSZXNvdXJjZShTVkdV
UklSZWZlcmVuY2U6OmZyYWdtZW50SWRlbnRpZmllckZyb21JUklTdHJpbmcocywgc3RhdGUuZG9j
dW1lbnQoKSkpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgY2FzZSBD
U1NQcm9wZXJ0eU1hcmtlckVuZDoKLSAgICAgICAgewotICAgICAgICAgICAgSEFORExFX0lOSEVS
SVRfQU5EX0lOSVRJQUwobWFya2VyRW5kUmVzb3VyY2UsIE1hcmtlckVuZFJlc291cmNlKQotICAg
ICAgICAgICAgaWYgKCFwcmltaXRpdmVWYWx1ZSkKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0K
LSAgICAgICAgICAgIFN0cmluZyBzOwotICAgICAgICAgICAgaW50IHR5cGUgPSBwcmltaXRpdmVW
YWx1ZS0+cHJpbWl0aXZlVHlwZSgpOwotICAgICAgICAgICAgaWYgKHR5cGUgPT0gQ1NTUHJpbWl0
aXZlVmFsdWU6OkNTU19VUkkpCi0gICAgICAgICAgICAgICAgcyA9IHByaW1pdGl2ZVZhbHVlLT5n
ZXRTdHJpbmdWYWx1ZSgpOwotCi0gICAgICAgICAgICBzdmdTdHlsZS5zZXRNYXJrZXJFbmRSZXNv
dXJjZShTVkdVUklSZWZlcmVuY2U6OmZyYWdtZW50SWRlbnRpZmllckZyb21JUklTdHJpbmcocywg
c3RhdGUuZG9jdW1lbnQoKSkpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAg
ICAgY2FzZSBDU1NQcm9wZXJ0eVN0cm9rZU1pdGVybGltaXQ6Ci0gICAgICAgIHsKLSAgICAgICAg
ICAgIEhBTkRMRV9JTkhFUklUX0FORF9JTklUSUFMKHN0cm9rZU1pdGVyTGltaXQsIFN0cm9rZU1p
dGVyTGltaXQpCi0gICAgICAgICAgICBpZiAoIXByaW1pdGl2ZVZhbHVlKQotICAgICAgICAgICAg
ICAgIHJldHVybjsKLQotICAgICAgICAgICAgZmxvYXQgZiA9IDAuMGY7Ci0gICAgICAgICAgICBp
bnQgdHlwZSA9IHByaW1pdGl2ZVZhbHVlLT5wcmltaXRpdmVUeXBlKCk7Ci0gICAgICAgICAgICBp
ZiAodHlwZSA9PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX05VTUJFUikKLSAgICAgICAgICAgICAg
ICBmID0gcHJpbWl0aXZlVmFsdWUtPmdldEZsb2F0VmFsdWUoKTsKLSAgICAgICAgICAgIGVsc2UK
LSAgICAgICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgICAgIHN2Z1N0eWxlLnNldFN0cm9r
ZU1pdGVyTGltaXQoZik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBj
YXNlIENTU1Byb3BlcnR5RmlsdGVyOgotICAgICAgICB7Ci0gICAgICAgICAgICBIQU5ETEVfSU5I
RVJJVF9BTkRfSU5JVElBTChmaWx0ZXJSZXNvdXJjZSwgRmlsdGVyUmVzb3VyY2UpCi0gICAgICAg
ICAgICBpZiAoIXByaW1pdGl2ZVZhbHVlKQotICAgICAgICAgICAgICAgIHJldHVybjsKLQotICAg
ICAgICAgICAgU3RyaW5nIHM7Ci0gICAgICAgICAgICBpbnQgdHlwZSA9IHByaW1pdGl2ZVZhbHVl
LT5wcmltaXRpdmVUeXBlKCk7Ci0gICAgICAgICAgICBpZiAodHlwZSA9PSBDU1NQcmltaXRpdmVW
YWx1ZTo6Q1NTX1VSSSkKLSAgICAgICAgICAgICAgICBzID0gcHJpbWl0aXZlVmFsdWUtPmdldFN0
cmluZ1ZhbHVlKCk7Ci0KLSAgICAgICAgICAgIHN2Z1N0eWxlLnNldEZpbHRlclJlc291cmNlKFNW
R1VSSVJlZmVyZW5jZTo6ZnJhZ21lbnRJZGVudGlmaWVyRnJvbUlSSVN0cmluZyhzLCBzdGF0ZS5k
b2N1bWVudCgpKSk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBjYXNl
IENTU1Byb3BlcnR5TWFzazoKLSAgICAgICAgewotICAgICAgICAgICAgSEFORExFX0lOSEVSSVRf
QU5EX0lOSVRJQUwobWFza2VyUmVzb3VyY2UsIE1hc2tlclJlc291cmNlKQotICAgICAgICAgICAg
aWYgKCFwcmltaXRpdmVWYWx1ZSkKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAg
ICAgIFN0cmluZyBzOwotICAgICAgICAgICAgaW50IHR5cGUgPSBwcmltaXRpdmVWYWx1ZS0+cHJp
bWl0aXZlVHlwZSgpOwotICAgICAgICAgICAgaWYgKHR5cGUgPT0gQ1NTUHJpbWl0aXZlVmFsdWU6
OkNTU19VUkkpCi0gICAgICAgICAgICAgICAgcyA9IHByaW1pdGl2ZVZhbHVlLT5nZXRTdHJpbmdW
YWx1ZSgpOwotCi0gICAgICAgICAgICBzdmdTdHlsZS5zZXRNYXNrZXJSZXNvdXJjZShTVkdVUklS
ZWZlcmVuY2U6OmZyYWdtZW50SWRlbnRpZmllckZyb21JUklTdHJpbmcocywgc3RhdGUuZG9jdW1l
bnQoKSkpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgY2FzZSBDU1NQ
cm9wZXJ0eUNsaXBQYXRoOgotICAgICAgICB7Ci0gICAgICAgICAgICBIQU5ETEVfSU5IRVJJVF9B
TkRfSU5JVElBTChjbGlwcGVyUmVzb3VyY2UsIENsaXBwZXJSZXNvdXJjZSkKLSAgICAgICAgICAg
IGlmICghcHJpbWl0aXZlVmFsdWUpCi0gICAgICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAg
ICAgICBTdHJpbmcgczsKLSAgICAgICAgICAgIGludCB0eXBlID0gcHJpbWl0aXZlVmFsdWUtPnBy
aW1pdGl2ZVR5cGUoKTsKLSAgICAgICAgICAgIGlmICh0eXBlID09IENTU1ByaW1pdGl2ZVZhbHVl
OjpDU1NfVVJJKQotICAgICAgICAgICAgICAgIHMgPSBwcmltaXRpdmVWYWx1ZS0+Z2V0U3RyaW5n
VmFsdWUoKTsKLQotICAgICAgICAgICAgc3ZnU3R5bGUuc2V0Q2xpcHBlclJlc291cmNlKFNWR1VS
SVJlZmVyZW5jZTo6ZnJhZ21lbnRJZGVudGlmaWVyRnJvbUlSSVN0cmluZyhzLCBzdGF0ZS5kb2N1
bWVudCgpKSk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBjYXNlIENT
U1Byb3BlcnR5U3RvcENvbG9yOgotICAgICAgICB7Ci0gICAgICAgICAgICBIQU5ETEVfSU5IRVJJ
VF9BTkRfSU5JVElBTChzdG9wQ29sb3IsIFN0b3BDb2xvcik7Ci0gICAgICAgICAgICBpZiAoaXM8
U1ZHQ29sb3I+KCp2YWx1ZSkpCi0gICAgICAgICAgICAgICAgc3ZnU3R5bGUuc2V0U3RvcENvbG9y
KGNvbG9yRnJvbVNWR0NvbG9yQ1NTVmFsdWUoZG93bmNhc3Q8U1ZHQ29sb3I+KHZhbHVlKSwgc3Rh
dGUuc3R5bGUoKS0+Y29sb3IoKSkpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAg
ICAgICBjYXNlIENTU1Byb3BlcnR5TGlnaHRpbmdDb2xvcjoKLSAgICAgICAgewotICAgICAgICAg
ICAgSEFORExFX0lOSEVSSVRfQU5EX0lOSVRJQUwobGlnaHRpbmdDb2xvciwgTGlnaHRpbmdDb2xv
cik7Ci0gICAgICAgICAgICBpZiAoaXM8U1ZHQ29sb3I+KCp2YWx1ZSkpCi0gICAgICAgICAgICAg
ICAgc3ZnU3R5bGUuc2V0TGlnaHRpbmdDb2xvcihjb2xvckZyb21TVkdDb2xvckNTU1ZhbHVlKGRv
d25jYXN0PFNWR0NvbG9yPih2YWx1ZSksIHN0YXRlLnN0eWxlKCktPmNvbG9yKCkpKTsKLSAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGNhc2UgQ1NTUHJvcGVydHlGbG9vZE9w
YWNpdHk6Ci0gICAgICAgIHsKLSAgICAgICAgICAgIEhBTkRMRV9JTkhFUklUX0FORF9JTklUSUFM
KGZsb29kT3BhY2l0eSwgRmxvb2RPcGFjaXR5KQotICAgICAgICAgICAgaWYgKCFwcmltaXRpdmVW
YWx1ZSkKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgICAgIGZsb2F0IGYgPSAw
LjBmOwotICAgICAgICAgICAgaW50IHR5cGUgPSBwcmltaXRpdmVWYWx1ZS0+cHJpbWl0aXZlVHlw
ZSgpOwotICAgICAgICAgICAgaWYgKHR5cGUgPT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QRVJD
RU5UQUdFKQotICAgICAgICAgICAgICAgIGYgPSBwcmltaXRpdmVWYWx1ZS0+Z2V0RmxvYXRWYWx1
ZSgpIC8gMTAwLjBmOwotICAgICAgICAgICAgZWxzZSBpZiAodHlwZSA9PSBDU1NQcmltaXRpdmVW
YWx1ZTo6Q1NTX05VTUJFUikKLSAgICAgICAgICAgICAgICBmID0gcHJpbWl0aXZlVmFsdWUtPmdl
dEZsb2F0VmFsdWUoKTsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICByZXR1cm47
Ci0KLSAgICAgICAgICAgIHN2Z1N0eWxlLnNldEZsb29kT3BhY2l0eShmKTsKLSAgICAgICAgICAg
IGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGNhc2UgQ1NTUHJvcGVydHlGbG9vZENvbG9yOgot
ICAgICAgICB7Ci0gICAgICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5JVElBTChmbG9vZENv
bG9yLCBGbG9vZENvbG9yKTsKLSAgICAgICAgICAgIGlmIChpczxTVkdDb2xvcj4oKnZhbHVlKSkK
LSAgICAgICAgICAgICAgICBzdmdTdHlsZS5zZXRGbG9vZENvbG9yKGNvbG9yRnJvbVNWR0NvbG9y
Q1NTVmFsdWUoZG93bmNhc3Q8U1ZHQ29sb3I+KHZhbHVlKSwgc3RhdGUuc3R5bGUoKS0+Y29sb3Io
KSkpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgY2FzZSBDU1NQcm9w
ZXJ0eUdseXBoT3JpZW50YXRpb25Ib3Jpem9udGFsOgotICAgICAgICB7Ci0gICAgICAgICAgICBI
QU5ETEVfSU5IRVJJVF9BTkRfSU5JVElBTChnbHlwaE9yaWVudGF0aW9uSG9yaXpvbnRhbCwgR2x5
cGhPcmllbnRhdGlvbkhvcml6b250YWwpCi0gICAgICAgICAgICBpZiAoIXByaW1pdGl2ZVZhbHVl
KQotICAgICAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICAgICAgaWYgKHByaW1pdGl2ZVZh
bHVlLT5wcmltaXRpdmVUeXBlKCkgPT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19ERUcpIHsKLSAg
ICAgICAgICAgICAgICBpbnQgb3JpZW50YXRpb24gPSBhbmdsZVRvR2x5cGhPcmllbnRhdGlvbihw
cmltaXRpdmVWYWx1ZS0+Z2V0RmxvYXRWYWx1ZSgpKTsKLSAgICAgICAgICAgICAgICBBU1NFUlQo
b3JpZW50YXRpb24gIT0gLTEpOwotCi0gICAgICAgICAgICAgICAgc3ZnU3R5bGUuc2V0R2x5cGhP
cmllbnRhdGlvbkhvcml6b250YWwoKEVHbHlwaE9yaWVudGF0aW9uKSBvcmllbnRhdGlvbik7Ci0g
ICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGNh
c2UgQ1NTUHJvcGVydHlHbHlwaE9yaWVudGF0aW9uVmVydGljYWw6Ci0gICAgICAgIHsKLSAgICAg
ICAgICAgIEhBTkRMRV9JTkhFUklUX0FORF9JTklUSUFMKGdseXBoT3JpZW50YXRpb25WZXJ0aWNh
bCwgR2x5cGhPcmllbnRhdGlvblZlcnRpY2FsKQotICAgICAgICAgICAgaWYgKCFwcmltaXRpdmVW
YWx1ZSkKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgICAgIGlmIChwcmltaXRp
dmVWYWx1ZS0+cHJpbWl0aXZlVHlwZSgpID09IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfREVHKSB7
Ci0gICAgICAgICAgICAgICAgaW50IG9yaWVudGF0aW9uID0gYW5nbGVUb0dseXBoT3JpZW50YXRp
b24ocHJpbWl0aXZlVmFsdWUtPmdldEZsb2F0VmFsdWUoKSk7Ci0gICAgICAgICAgICAgICAgQVNT
RVJUKG9yaWVudGF0aW9uICE9IC0xKTsKLQotICAgICAgICAgICAgICAgIHN2Z1N0eWxlLnNldEds
eXBoT3JpZW50YXRpb25WZXJ0aWNhbCgoRUdseXBoT3JpZW50YXRpb24pIG9yaWVudGF0aW9uKTsK
LSAgICAgICAgICAgIH0gZWxzZSBpZiAocHJpbWl0aXZlVmFsdWUtPmdldFZhbHVlSUQoKSA9PSBD
U1NWYWx1ZUF1dG8pCi0gICAgICAgICAgICAgICAgc3ZnU3R5bGUuc2V0R2x5cGhPcmllbnRhdGlv
blZlcnRpY2FsKEdPX0FVVE8pOwotCi0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQogICAg
ICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0U3ZnU2hhZG93OiB7CiAgICAgICAgICAgICBpZiAo
aXNJbmhlcml0KQogICAgICAgICAgICAgICAgIHJldHVybiBzdmdTdHlsZS5zZXRTaGFkb3coc3Rh
dGUucGFyZW50U3R5bGUoKS0+c3ZnU3R5bGUoKS5zaGFkb3coKSA/IHN0ZDo6bWFrZV91bmlxdWU8
U2hhZG93RGF0YT4oKnN0YXRlLnBhcmVudFN0eWxlKCktPnN2Z1N0eWxlKCkuc2hhZG93KCkpIDog
bnVsbHB0cik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyQ29u
dmVydGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyQ29udmVydGVyLmgKaW5k
ZXggOTgzNzQ2YzA1NDRhM2NjZTIwODhkNjQwYTVlZDQyMjg2MGM4ZmJjMi4uNzM0NjZlZjY4MTkx
ZDQ0NjA3MTNlZjI5ZmYzNzFkMzExYWNiMzdkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL1N0eWxlQnVpbGRlckNvbnZlcnRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHls
ZUJ1aWxkZXJDb252ZXJ0ZXIuaApAQCAtNjUsNiArNjUsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGlj
IExlbmd0aFNpemUgY29udmVydFJhZGl1cyhTdHlsZVJlc29sdmVyJiwgQ1NTVmFsdWUmKTsKICAg
ICBzdGF0aWMgVGV4dERlY29yYXRpb24gY29udmVydFRleHREZWNvcmF0aW9uKFN0eWxlUmVzb2x2
ZXImLCBDU1NWYWx1ZSYpOwogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPiBzdGF0aWMgVCBjb252
ZXJ0TnVtYmVyKFN0eWxlUmVzb2x2ZXImLCBDU1NWYWx1ZSYpOworICAgIHRlbXBsYXRlIDx0eXBl
bmFtZSBUPiBzdGF0aWMgVCBjb252ZXJ0TnVtYmVyT3JBdXRvKFN0eWxlUmVzb2x2ZXImLCBDU1NW
YWx1ZSYpOwogICAgIHN0YXRpYyBzaG9ydCBjb252ZXJ0V2Via2l0SHlwaGVuYXRlTGltaXRMaW5l
cyhTdHlsZVJlc29sdmVyJiwgQ1NTVmFsdWUmKTsKICAgICB0ZW1wbGF0ZSA8Q1NTUHJvcGVydHlJ
RCBwcm9wZXJ0eT4gc3RhdGljIE5pbmVQaWVjZUltYWdlIGNvbnZlcnRCb3JkZXJJbWFnZShTdHls
ZVJlc29sdmVyJiwgQ1NTVmFsdWUmKTsKICAgICB0ZW1wbGF0ZSA8Q1NTUHJvcGVydHlJRCBwcm9w
ZXJ0eT4gc3RhdGljIE5pbmVQaWVjZUltYWdlIGNvbnZlcnRCb3JkZXJNYXNrKFN0eWxlUmVzb2x2
ZXImLCBDU1NWYWx1ZSYpOwpAQCAtMTE2LDYgKzExNywxMSBAQCBwdWJsaWM6CiAgICAgc3RhdGlj
IFZlY3RvcjxTVkdMZW5ndGg+IGNvbnZlcnRTVkdMZW5ndGhWZWN0b3IoU3R5bGVSZXNvbHZlciYs
IENTU1ZhbHVlJik7CiAgICAgc3RhdGljIFZlY3RvcjxTVkdMZW5ndGg+IGNvbnZlcnRTdHJva2VE
YXNoQXJyYXkoU3R5bGVSZXNvbHZlciYsIENTU1ZhbHVlJik7CiAgICAgc3RhdGljIFBhaW50T3Jk
ZXIgY29udmVydFBhaW50T3JkZXIoU3R5bGVSZXNvbHZlciYsIENTU1ZhbHVlJik7CisgICAgc3Rh
dGljIGZsb2F0IGNvbnZlcnRPcGFjaXR5KFN0eWxlUmVzb2x2ZXImLCBDU1NWYWx1ZSYpOworICAg
IHN0YXRpYyBTdHJpbmcgY29udmVydFNWR1VSSVJlZmVyZW5jZShTdHlsZVJlc29sdmVyJiwgQ1NT
VmFsdWUmKTsKKyAgICBzdGF0aWMgQ29sb3IgY29udmVydFNWR0NvbG9yKFN0eWxlUmVzb2x2ZXIm
LCBDU1NWYWx1ZSYpOworICAgIHN0YXRpYyBFR2x5cGhPcmllbnRhdGlvbiBjb252ZXJ0R2x5cGhP
cmllbnRhdGlvbihTdHlsZVJlc29sdmVyJiwgQ1NTVmFsdWUmKTsKKyAgICBzdGF0aWMgRUdseXBo
T3JpZW50YXRpb24gY29udmVydEdseXBoT3JpZW50YXRpb25PckF1dG8oU3R5bGVSZXNvbHZlciYs
IENTU1ZhbHVlJik7CiAKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIFN0eWxlQnVpbGRlckN1
c3RvbTsKQEAgLTI4NiwxMCArMjkyLDE1IEBAIGlubGluZSBUZXh0RGVjb3JhdGlvbiBTdHlsZUJ1
aWxkZXJDb252ZXJ0ZXI6OmNvbnZlcnRUZXh0RGVjb3JhdGlvbihTdHlsZVJlc29sdmVyCiB0ZW1w
bGF0ZSA8dHlwZW5hbWUgVD4KIGlubGluZSBUIFN0eWxlQnVpbGRlckNvbnZlcnRlcjo6Y29udmVy
dE51bWJlcihTdHlsZVJlc29sdmVyJiwgQ1NTVmFsdWUmIHZhbHVlKQogewotICAgIGF1dG8mIHBy
aW1pdGl2ZVZhbHVlID0gZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KHZhbHVlKTsKLSAgICBp
ZiAocHJpbWl0aXZlVmFsdWUuZ2V0VmFsdWVJRCgpID09IENTU1ZhbHVlQXV0bykKKyAgICByZXR1
cm4gZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KHZhbHVlKS5nZXRWYWx1ZTxUPihDU1NQcmlt
aXRpdmVWYWx1ZTo6Q1NTX05VTUJFUik7Cit9CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPgoraW5s
aW5lIFQgU3R5bGVCdWlsZGVyQ29udmVydGVyOjpjb252ZXJ0TnVtYmVyT3JBdXRvKFN0eWxlUmVz
b2x2ZXImIHN0eWxlUmVzb2x2ZXIsIENTU1ZhbHVlJiB2YWx1ZSkKK3sKKyAgICBpZiAoZG93bmNh
c3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KHZhbHVlKS5nZXRWYWx1ZUlEKCkgPT0gQ1NTVmFsdWVBdXRv
KQogICAgICAgICByZXR1cm4gLTE7Ci0gICAgcmV0dXJuIHByaW1pdGl2ZVZhbHVlLmdldFZhbHVl
PFQ+KENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSKTsKKyAgICByZXR1cm4gY29udmVydE51
bWJlcjxUPihzdHlsZVJlc29sdmVyLCB2YWx1ZSk7CiB9CiAKIGlubGluZSBzaG9ydCBTdHlsZUJ1
aWxkZXJDb252ZXJ0ZXI6OmNvbnZlcnRXZWJraXRIeXBoZW5hdGVMaW1pdExpbmVzKFN0eWxlUmVz
b2x2ZXImLCBDU1NWYWx1ZSYgdmFsdWUpCkBAIC03NDEsNyArNzUyLDcgQEAgaW5saW5lIFZlY3Rv
cjxMZW5ndGhTaXplPiBTdHlsZUJ1aWxkZXJDb252ZXJ0ZXI6OmNvbnZlcnRTY3JvbGxTbmFwQ29v
cmRpbmF0ZXMoU3QKICNlbmRpZgogCiAjaWYgRU5BQkxFKENTU19HUklEX0xBWU9VVCkKLWJvb2wg
U3R5bGVCdWlsZGVyQ29udmVydGVyOjpjcmVhdGVHcmlkVHJhY2tCcmVhZHRoKENTU1ByaW1pdGl2
ZVZhbHVlJiBwcmltaXRpdmVWYWx1ZSwgU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlciwgR3Jp
ZExlbmd0aCYgd29ya2luZ0xlbmd0aCkKK2lubGluZSBib29sIFN0eWxlQnVpbGRlckNvbnZlcnRl
cjo6Y3JlYXRlR3JpZFRyYWNrQnJlYWR0aChDU1NQcmltaXRpdmVWYWx1ZSYgcHJpbWl0aXZlVmFs
dWUsIFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIsIEdyaWRMZW5ndGgmIHdvcmtpbmdMZW5n
dGgpCiB7CiAgICAgaWYgKHByaW1pdGl2ZVZhbHVlLmdldFZhbHVlSUQoKSA9PSBDU1NWYWx1ZVdl
YmtpdE1pbkNvbnRlbnQpIHsKICAgICAgICAgd29ya2luZ0xlbmd0aCA9IExlbmd0aChNaW5Db250
ZW50KTsKQEAgLTc2OSw3ICs3ODAsNyBAQCBib29sIFN0eWxlQnVpbGRlckNvbnZlcnRlcjo6Y3Jl
YXRlR3JpZFRyYWNrQnJlYWR0aChDU1NQcmltaXRpdmVWYWx1ZSYgcHJpbWl0aXZlVgogICAgIHJl
dHVybiB0cnVlOwogfQogCi1ib29sIFN0eWxlQnVpbGRlckNvbnZlcnRlcjo6Y3JlYXRlR3JpZFRy
YWNrU2l6ZShDU1NWYWx1ZSYgdmFsdWUsIEdyaWRUcmFja1NpemUmIHRyYWNrU2l6ZSwgU3R5bGVS
ZXNvbHZlciYgc3R5bGVSZXNvbHZlcikKK2lubGluZSBib29sIFN0eWxlQnVpbGRlckNvbnZlcnRl
cjo6Y3JlYXRlR3JpZFRyYWNrU2l6ZShDU1NWYWx1ZSYgdmFsdWUsIEdyaWRUcmFja1NpemUmIHRy
YWNrU2l6ZSwgU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlcikKIHsKICAgICBpZiAoaXM8Q1NT
UHJpbWl0aXZlVmFsdWU+KHZhbHVlKSkgewogICAgICAgICBHcmlkTGVuZ3RoIHdvcmtpbmdMZW5n
dGg7CkBAIC03OTIsNyArODAzLDcgQEAgYm9vbCBTdHlsZUJ1aWxkZXJDb252ZXJ0ZXI6OmNyZWF0
ZUdyaWRUcmFja1NpemUoQ1NTVmFsdWUmIHZhbHVlLCBHcmlkVHJhY2tTaXplJgogICAgIHJldHVy
biB0cnVlOwogfQogCi1ib29sIFN0eWxlQnVpbGRlckNvbnZlcnRlcjo6Y3JlYXRlR3JpZFRyYWNr
TGlzdChDU1NWYWx1ZSYgdmFsdWUsIFZlY3RvcjxHcmlkVHJhY2tTaXplPiYgdHJhY2tTaXplcywg
TmFtZWRHcmlkTGluZXNNYXAmIG5hbWVkR3JpZExpbmVzLCBPcmRlcmVkTmFtZWRHcmlkTGluZXNN
YXAmIG9yZGVyZWROYW1lZEdyaWRMaW5lcywgU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlcikK
K2lubGluZSBib29sIFN0eWxlQnVpbGRlckNvbnZlcnRlcjo6Y3JlYXRlR3JpZFRyYWNrTGlzdChD
U1NWYWx1ZSYgdmFsdWUsIFZlY3RvcjxHcmlkVHJhY2tTaXplPiYgdHJhY2tTaXplcywgTmFtZWRH
cmlkTGluZXNNYXAmIG5hbWVkR3JpZExpbmVzLCBPcmRlcmVkTmFtZWRHcmlkTGluZXNNYXAmIG9y
ZGVyZWROYW1lZEdyaWRMaW5lcywgU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlcikKIHsKICAg
ICAvLyBIYW5kbGUgJ25vbmUnLgogICAgIGlmIChpczxDU1NQcmltaXRpdmVWYWx1ZT4odmFsdWUp
KQpAQCAtODI4LDcgKzgzOSw3IEBAIGJvb2wgU3R5bGVCdWlsZGVyQ29udmVydGVyOjpjcmVhdGVH
cmlkVHJhY2tMaXN0KENTU1ZhbHVlJiB2YWx1ZSwgVmVjdG9yPEdyaWRUcmFjCiAgICAgcmV0dXJu
IHRydWU7CiB9CiAKLWJvb2wgU3R5bGVCdWlsZGVyQ29udmVydGVyOjpjcmVhdGVHcmlkUG9zaXRp
b24oQ1NTVmFsdWUmIHZhbHVlLCBHcmlkUG9zaXRpb24mIHBvc2l0aW9uKQoraW5saW5lIGJvb2wg
U3R5bGVCdWlsZGVyQ29udmVydGVyOjpjcmVhdGVHcmlkUG9zaXRpb24oQ1NTVmFsdWUmIHZhbHVl
LCBHcmlkUG9zaXRpb24mIHBvc2l0aW9uKQogewogICAgIC8vIFdlIGFjY2VwdCB0aGUgc3BlY2lm
aWNhdGlvbidzIGdyYW1tYXI6CiAgICAgLy8gYXV0byB8IDxjdXN0b20taWRlbnQ+IHwgWyA8aW50
ZWdlcj4gJiYgPGN1c3RvbS1pZGVudD4/IF0gfCBbIHNwYW4gJiYgWyA8aW50ZWdlcj4gfHwgPGN1
c3RvbS1pZGVudD4gXSBdCkBAIC04NzgsNyArODg5LDcgQEAgYm9vbCBTdHlsZUJ1aWxkZXJDb252
ZXJ0ZXI6OmNyZWF0ZUdyaWRQb3NpdGlvbihDU1NWYWx1ZSYgdmFsdWUsIEdyaWRQb3NpdGlvbiYg
cG8KICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotdm9pZCBTdHlsZUJ1aWxkZXJDb252ZXJ0ZXI6OmNy
ZWF0ZUltcGxpY2l0TmFtZWRHcmlkTGluZXNGcm9tR3JpZEFyZWEoY29uc3QgTmFtZWRHcmlkQXJl
YU1hcCYgbmFtZWRHcmlkQXJlYXMsIE5hbWVkR3JpZExpbmVzTWFwJiBuYW1lZEdyaWRMaW5lcywg
R3JpZFRyYWNrU2l6aW5nRGlyZWN0aW9uIGRpcmVjdGlvbikKK2lubGluZSB2b2lkIFN0eWxlQnVp
bGRlckNvbnZlcnRlcjo6Y3JlYXRlSW1wbGljaXROYW1lZEdyaWRMaW5lc0Zyb21HcmlkQXJlYShj
b25zdCBOYW1lZEdyaWRBcmVhTWFwJiBuYW1lZEdyaWRBcmVhcywgTmFtZWRHcmlkTGluZXNNYXAm
IG5hbWVkR3JpZExpbmVzLCBHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24gZGlyZWN0aW9uKQogewog
ICAgIGZvciAoYXV0byYgYXJlYSA6IG5hbWVkR3JpZEFyZWFzKSB7CiAgICAgICAgIEdyaWRTcGFu
IGFyZWFTcGFuID0gZGlyZWN0aW9uID09IEZvclJvd3MgPyBhcmVhLnZhbHVlLnJvd3MgOiBhcmVh
LnZhbHVlLmNvbHVtbnM7CkBAIC0xMTQ1LDYgKzExNTYsNTAgQEAgaW5saW5lIFBhaW50T3JkZXIg
U3R5bGVCdWlsZGVyQ29udmVydGVyOjpjb252ZXJ0UGFpbnRPcmRlcihTdHlsZVJlc29sdmVyJiwg
Q1NTVmEKICAgICB9CiB9CiAKK2lubGluZSBmbG9hdCBTdHlsZUJ1aWxkZXJDb252ZXJ0ZXI6OmNv
bnZlcnRPcGFjaXR5KFN0eWxlUmVzb2x2ZXImLCBDU1NWYWx1ZSYgdmFsdWUpCit7CisgICAgYXV0
byYgcHJpbWl0aXZlVmFsdWUgPSBkb3duY2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4odmFsdWUpOwor
ICAgIGZsb2F0IG9wYWNpdHkgPSBwcmltaXRpdmVWYWx1ZS5nZXRGbG9hdFZhbHVlKCk7CisgICAg
aWYgKHByaW1pdGl2ZVZhbHVlLmlzUGVyY2VudGFnZSgpKQorICAgICAgICBvcGFjaXR5IC89IDEw
MC4wZjsKKyAgICByZXR1cm4gb3BhY2l0eTsKK30KKworaW5saW5lIFN0cmluZyBTdHlsZUJ1aWxk
ZXJDb252ZXJ0ZXI6OmNvbnZlcnRTVkdVUklSZWZlcmVuY2UoU3R5bGVSZXNvbHZlciYgc3R5bGVS
ZXNvbHZlciwgQ1NTVmFsdWUmIHZhbHVlKQoreworICAgIFN0cmluZyBzOworICAgIGF1dG8mIHBy
aW1pdGl2ZVZhbHVlID0gZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KHZhbHVlKTsKKyAgICBp
ZiAocHJpbWl0aXZlVmFsdWUuaXNVUkkoKSkKKyAgICAgICAgcyA9IHByaW1pdGl2ZVZhbHVlLmdl
dFN0cmluZ1ZhbHVlKCk7CisKKyAgICByZXR1cm4gU1ZHVVJJUmVmZXJlbmNlOjpmcmFnbWVudElk
ZW50aWZpZXJGcm9tSVJJU3RyaW5nKHMsIHN0eWxlUmVzb2x2ZXIuZG9jdW1lbnQoKSk7Cit9CisK
K2lubGluZSBDb2xvciBTdHlsZUJ1aWxkZXJDb252ZXJ0ZXI6OmNvbnZlcnRTVkdDb2xvcihTdHls
ZVJlc29sdmVyJiBzdHlsZVJlc29sdmVyLCBDU1NWYWx1ZSYgdmFsdWUpCit7CisgICAgYXV0byYg
c3ZnQ29sb3IgPSBkb3duY2FzdDxTVkdDb2xvcj4odmFsdWUpOworICAgIHJldHVybiBzdmdDb2xv
ci5jb2xvclR5cGUoKSA9PSBTVkdDb2xvcjo6U1ZHX0NPTE9SVFlQRV9DVVJSRU5UQ09MT1IgPyBz
dHlsZVJlc29sdmVyLnN0eWxlKCktPmNvbG9yKCkgOiBzdmdDb2xvci5jb2xvcigpOworfQorCitp
bmxpbmUgRUdseXBoT3JpZW50YXRpb24gU3R5bGVCdWlsZGVyQ29udmVydGVyOjpjb252ZXJ0R2x5
cGhPcmllbnRhdGlvbihTdHlsZVJlc29sdmVyJiwgQ1NTVmFsdWUmIHZhbHVlKQoreworICAgIGZs
b2F0IGFuZ2xlID0gZmFic2YoZm1vZGYoZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KHZhbHVl
KS5nZXRGbG9hdFZhbHVlKCksIDM2MC4wZikpOworICAgIGlmIChhbmdsZSA8PSA0NS4wZiB8fCBh
bmdsZSA+IDMxNS4wZikKKyAgICAgICAgcmV0dXJuIEdPXzBERUc7CisgICAgaWYgKGFuZ2xlID4g
NDUuMGYgJiYgYW5nbGUgPD0gMTM1LjBmKQorICAgICAgICByZXR1cm4gR09fOTBERUc7CisgICAg
aWYgKGFuZ2xlID4gMTM1LjBmICYmIGFuZ2xlIDw9IDIyNS4wZikKKyAgICAgICAgcmV0dXJuIEdP
XzE4MERFRzsKKyAgICByZXR1cm4gR09fMjcwREVHOworfQorCitpbmxpbmUgRUdseXBoT3JpZW50
YXRpb24gU3R5bGVCdWlsZGVyQ29udmVydGVyOjpjb252ZXJ0R2x5cGhPcmllbnRhdGlvbk9yQXV0
byhTdHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVyLCBDU1NWYWx1ZSYgdmFsdWUpCit7CisgICAg
aWYgKGRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPih2YWx1ZSkuZ2V0VmFsdWVJRCgpID09IENT
U1ZhbHVlQXV0bykKKyAgICAgICAgcmV0dXJuIEdPX0FVVE87CisgICAgcmV0dXJuIGNvbnZlcnRH
bHlwaE9yaWVudGF0aW9uKHN0eWxlUmVzb2x2ZXIsIHZhbHVlKTsKK30KKwogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gU3R5bGVCdWlsZGVyQ29udmVydGVyX2gKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKaW5kZXggMzVjOGU5MTk4OTU0
MmY3ZjY0ODg1ZDQ3MzA3OTg0NjE5YmRiMjM1MS4uMjhjMDAxOTdlM2IxMTE2ODBiYmUyYTk4MjQ3
ZGI0NGQ4MGE1M2ZkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1JlbmRlclN0eWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRl
clN0eWxlLmgKQEAgLTEyOCw2ICsxMjgsNyBAQCBjbGFzcyBSZW5kZXJTdHlsZTogcHVibGljIFJl
ZkNvdW50ZWQ8UmVuZGVyU3R5bGU+IHsKICAgICBmcmllbmQgY2xhc3MgUHJvcGVydHlXcmFwcGVy
TWF5YmVJbnZhbGlkQ29sb3I7IC8vIFVzZWQgYnkgQ1NTIGFuaW1hdGlvbnMuIFdlIGNhbid0IGFs
bG93IHRoZW0gdG8gYW5pbWF0ZSBiYXNlZCBvZmYgdmlzaXRlZCBjb2xvcnMuCiAgICAgZnJpZW5k
IGNsYXNzIFJlbmRlclNWR1Jlc291cmNlOyAvLyBGSVhNRTogTmVlZHMgdG8gYWx0ZXIgdGhlIHZp
c2l0ZWQgc3RhdGUgYnkgaGFuZC4gU2hvdWxkIGNsZWFuIHRoZSBTVkcgY29kZSB1cCBhbmQgbW92
ZSBpdCBpbnRvIFJlbmRlclN0eWxlIHBlcmhhcHMuCiAgICAgZnJpZW5kIGNsYXNzIFJlbmRlclRy
ZWVBc1RleHQ7IC8vIEZJWE1FOiBPbmx5IG5lZWRlZCBzbyB0aGUgcmVuZGVyIHRyZWUgY2FuIGtl
ZXAgbHlpbmcgYW5kIGR1bXAgdGhlIHdyb25nIGNvbG9ycy4gIFJlYmFzZWxpbmluZyB3b3VsZCBh
bGxvdyB0aGlzIHRvIGJlIHlhbmtlZC4KKyAgICBmcmllbmQgY2xhc3MgU3R5bGVCdWlsZGVyQ29u
dmVydGVyOyAvLyBTZXRzIG1lbWJlcnMgZGlyZWN0bHkuCiAgICAgZnJpZW5kIGNsYXNzIFN0eWxl
QnVpbGRlckN1c3RvbTsgLy8gU2V0cyBtZW1iZXJzIGRpcmVjdGx5LgogICAgIGZyaWVuZCBjbGFz
cyBTdHlsZUJ1aWxkZXJGdW5jdGlvbnM7IC8vIFNldHMgbWVtYmVycyBkaXJlY3RseS4KICAgICBm
cmllbmQgY2xhc3MgU3R5bGVSZXNvbHZlcjsgLy8gU2V0cyBtZW1iZXJzIGRpcmVjdGx5Lgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>