<?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>85816</bug_id>
          
          <creation_ts>2012-05-07 12:40:15 -0700</creation_ts>
          <short_desc>REGRESSION(r116334): Broke the Chromium Win/Mac compile (Requested by ojan_gardening on #webkit).</short_desc>
          <delta_ts>2012-05-07 13:13:34 -0700</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>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>
          
          <blocked>85084</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Review Bot">webkit.review.bot</reporter>
          <assigned_to name="WebKit Review Bot">webkit.review.bot</assigned_to>
          <cc>enne</cc>
    
    <cc>ojan</cc>
    
    <cc>wjmaclean</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>617833</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-07 12:40:15 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/116334 broke the build:
Broke the Chromium Win/Mac compile (Requested by ojan_gardening on #webkit).

This is an automatic bug report generated by the sheriff-bot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests case pain.

&quot;Only you can prevent forest fires.&quot; -- Smokey the Bear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>617835</commentid>
    <comment_count>1</comment_count>
      <attachid>140573</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-07 12:41:01 -0700</bug_when>
    <thetext>Created attachment 140573
ROLLOUT of r116334

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>617836</commentid>
    <comment_count>2</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-05-07 12:41:52 -0700</bug_when>
    <thetext>In file included from third_party/WebKit/Source/WebCore/platform/graphics/chromium/LinkHighlightLayerDelegate.cpp:28:
third_party/WebKit/Source/WebCore/platform/graphics/chromium/LinkHighlightLayerDelegate.h:49:18: error: &apos;didScroll&apos; marked &apos;override&apos; but does not override any member functions
    virtual void didScroll(const IntSize&amp;) OVERRIDE;
                 ^
1 error generated.
make: *** [out/Release/obj.target/webcore_platform/third_party/WebKit/Source/WebCore/platform/graphics/chromium/LinkHighlightLayerDelegate.o] Error 1
  CXX(target) out/Release/obj.target/webcore_remaining/third_party/WebKit/Source/WebCore/bindings/ScriptControllerBase.o
  CXX(target) out/Release/obj.target/webcore_remaining/third_party/WebKit/Source/WebCore/bindings/generic/ActiveDOMCallback.o
In file included from third_party/WebKit/Source/WebCore/platform/graphics/chromium/GraphicsLayerChromium.cpp:56:
third_party/WebKit/Source/WebCore/platform/graphics/chromium/LinkHighlightLayerDelegate.h:49:18: error: &apos;didScroll&apos; marked &apos;override&apos; but does not override any member functions
    virtual void didScroll(const IntSize&amp;) OVERRIDE;
                 ^
1 error generated.
make: *** [out/Release/obj.target/webcore_platform/third_party/WebKit/Source/WebCore/platform/graphics/chromium/GraphicsLayerChromium.o] Error 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>617861</commentid>
    <comment_count>3</comment_count>
      <attachid>140573</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-07 13:13:29 -0700</bug_when>
    <thetext>Comment on attachment 140573
ROLLOUT of r116334

Clearing flags on attachment: 140573

Committed r116342: &lt;http://trac.webkit.org/changeset/116342&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>617863</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-07 13:13:34 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140573</attachid>
            <date>2012-05-07 12:41:01 -0700</date>
            <delta_ts>2012-05-07 13:13:29 -0700</delta_ts>
            <desc>ROLLOUT of r116334</desc>
            <filename>bug-85816-20120507194452.patch</filename>
            <type>text/plain</type>
            <size>25863</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2MzM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2ExZmU2ZjlkOTMxNzQz
Mjk5ZGMxODM4M2U5N2U2N2VmNmNkMmQyNi4uNmRjNWRjYmRkMTViNjZiOTM1MTkyNmNjZWRlZGVl
NzdlMTFjYzU2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTA1LTA3ICBTaGVy
aWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmll
d2VkLCByb2xsaW5nIG91dCByMTE2MzM0LgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3Jn
L2NoYW5nZXNldC8xMTYzMzQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTg1ODE2CisKKyAgICAgICAgQnJva2UgdGhlIENocm9taXVtIFdpbi9NYWMgY29t
cGlsZSAoUmVxdWVzdGVkIGJ5CisgICAgICAgIG9qYW5fZ2FyZGVuaW5nIG9uICN3ZWJraXQpLgor
CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL0FuaW1hdGlvbklkVmVuZG9yLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9BbmltYXRpb25JZFZlbmRvci5oOiBSZW1vdmVkLgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bS5jcHA6
CisgICAgICAgIChzdGQpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllckNocm9taXVt
Ojp1cGRhdGVOYW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyQ2hyb21pdW06
OmFkZEFuaW1hdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyQ2hyb21pdW06
OnVwZGF0ZUNoaWxkTGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyQ2hyb21p
dW06Om1hcEFuaW1hdGlvbk5hbWVUb0lkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9HcmFwaGljc0xheWVyQ2hyb21pdW0uaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAoR3JhcGhpY3NMYXllckNocm9taXVtKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9MaW5rSGlnaGxpZ2h0TGF5ZXJEZWxlZ2F0ZS5jcHA6IFJlbW92ZWQuCisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGlua0hpZ2hsaWdodExheWVyRGVsZWdh
dGUuaDogUmVtb3ZlZC4KKwogMjAxMi0wNS0wNyAgQWRyaWVubmUgV2Fsa2VyICA8ZW5uZUBnb29n
bGUuY29tPgogCiAgICAgICAgIEZpeCBjb250YWluZXJGb3JSZXBhaW50KCkgYXNzdW1wdGlvbiBh
Ym91dCBub24tbnVsbCBlbmNsb3NpbmdMYXllcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmlu
ZGV4IGUzNTRjNTliMDM5YzEwMTA5YWMxZmFiNjliNDhmOWRiOWM2NjQ1MDMuLjU0ZDg0N2E3YWYy
YWY3MDRlODMyNjdmMWYwNWQzMTgwN2RkZDFhMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMDUtMDcgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmll
dy5ib3RAZ21haWwuY29tPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMTYz
MzQuCisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzExNjMzNAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODU4MTYKKworICAg
ICAgICBCcm9rZSB0aGUgQ2hyb21pdW0gV2luL01hYyBjb21waWxlIChSZXF1ZXN0ZWQgYnkKKyAg
ICAgICAgb2phbl9nYXJkZW5pbmcgb24gI3dlYmtpdCkuCisKKyAgICAgICAgKiBXZWJLaXQuZ3lw
aToKKyAgICAgICAgKiB0ZXN0cy9MaW5rSGlnaGxpZ2h0TGF5ZXJEZWxlZ2F0ZVRlc3QuY3BwOiBS
ZW1vdmVkLgorCiAyMDEyLTA1LTA3ICBNYXJrIFBpbGdyaW0gIDxwaWxncmltQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBbQ2hyb21pdW1dIE1vdmUgZmlsZVN5c3RlbSB0byBQbGF0Zm9ybS5oCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmd5cGkKaW5kZXggMDFlYzQ2ZDYxY2Y4OTk1ZjM3MTJkNjYyZGU2YWQ3MjhmMDc5Zjkw
My4uNjZkODEzNGYyNDU0NzA5OGUyMDg2ZjRiZTgzOWY1ZDZiZjU2NDUyNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
Z3lwaQpAQCAtMzUyNCw4ICszNTI0LDYgQEAKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGlj
cy9jZy9QYXRoQ0cuY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9jZy9QYXR0
ZXJuQ0cuY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9jZy9UcmFuc2Zvcm1h
dGlvbk1hdHJpeENHLmNwcCcsCi0gICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vQW5pbWF0aW9uSWRWZW5kb3IuY3BwJywKLSAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9BbmltYXRpb25JZFZlbmRvci5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9CaXRtYXBDYW52YXNMYXllclRleHR1cmVVcGRhdGVyLmNwcCcsCiAg
ICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQml0bWFwQ2FudmFzTGF5ZXJU
ZXh0dXJlVXBkYXRlci5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9CaXRtYXBTa1BpY3R1cmVDYW52YXNMYXllclRleHR1cmVVcGRhdGVyLmNwcCcsCkBAIC0zNTc1
LDggKzM1NzMsNiBAQAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xh
eWVyVGV4dHVyZVN1YkltYWdlLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vTGF5ZXJUZXh0dXJlU3ViSW1hZ2UuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJUZXh0dXJlVXBkYXRlci5oJywKLSAgICAgICAgICAgICdw
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MaW5rSGlnaGxpZ2h0TGF5ZXJEZWxlZ2F0ZS5jcHAn
LAotICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xpbmtIaWdobGlnaHRM
YXllckRlbGVnYXRlLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L01hbmFnZWRUZXh0dXJlLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vTWFuYWdlZFRleHR1cmUuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vTWVkaWFQbGF5ZXJQcml2YXRlQ2hyb21pdW0uaCcsCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9BbmltYXRpb25JZFZlbmRvci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9BbmltYXRpb25J
ZFZlbmRvci5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQxYWVjZWEwMzA2MGU4
YTgwMTFiYTM5ZjcyMzdjNGQxOGQ4NzZmMGQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vQW5pbWF0aW9uSWRWZW5kb3IuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNTMgKzAsMCBAQAot
LyoKLSogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0qCi0qIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAotKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSogYXJlIG1ldDoKLSoKLSogMS4gIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0qICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCi0qIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotKiAgICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KLSogIAotKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJ
VFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQotKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0qIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUKLSogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRT
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQotKiBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUwotKiAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7Ci0qIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAotKiBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAotKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKLSogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSovCi0KLSNpbmNsdWRlICJjb25m
aWcuaCIKLQotI2luY2x1ZGUgIkFuaW1hdGlvbklkVmVuZG9yLmgiCi0KLW5hbWVzcGFjZSBXZWJD
b3JlIHsKLQotaW50IEFuaW1hdGlvbklkVmVuZG9yOjpzX25leHRBbmltYXRpb25JZCA9IEZpcnN0
QXZhaWxhYmxlQW5pbWF0aW9uSWQ7Ci1pbnQgQW5pbWF0aW9uSWRWZW5kb3I6OnNfbmV4dEdyb3Vw
SWQgPSBGaXJzdEF2YWlsYWJsZUdyb3VwSWQ7Ci0KLWludCBBbmltYXRpb25JZFZlbmRvcjo6Z2V0
TmV4dEFuaW1hdGlvbklkKCkKLXsKLSAgICBpbnQgaWQgPSBzX25leHRBbmltYXRpb25JZCsrOwot
ICAgIGlmIChzX25leHRBbmltYXRpb25JZCA9PSBEb250VXNlQW5pbWF0aW9uSWQpCi0gICAgICAg
IHNfbmV4dEFuaW1hdGlvbklkID0gRmlyc3RBdmFpbGFibGVBbmltYXRpb25JZDsKLQotICAgIHJl
dHVybiBpZDsKLX0KLQotaW50IEFuaW1hdGlvbklkVmVuZG9yOjpnZXROZXh0R3JvdXBJZCgpCi17
Ci0gICAgaW50IGlkID0gc19uZXh0R3JvdXBJZCsrOwotICAgIGlmIChzX25leHRHcm91cElkID09
IERvbnRVc2VHcm91cElkKQotICAgICAgICBzX25leHRHcm91cElkID0gRmlyc3RBdmFpbGFibGVH
cm91cElkOwotCi0gICAgcmV0dXJuIGlkOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Bbmlt
YXRpb25JZFZlbmRvci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vQW5pbWF0aW9uSWRWZW5kb3IuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjlh
NDM1MzJlZGRlNmJjODI3Njk1NjVlMGE0ZWJmOWE0YjIwNDc0Yy4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9BbmltYXRpb25JZFZlbmRvci5oCisrKyAvZGV2L251bGwKQEAgLTEsNDYg
KzAsMCBAQAotLyoKLSAgMiAgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLSAgMyAgKgotKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0qIGFyZSBt
ZXQ6Ci0qCi0qIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAotKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotKiAyLiAgUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSogICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKLSogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0qICAKLSogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKLSogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRAotKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0qIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKLSogRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMKLSogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwotKiBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQKLSogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCi0qIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0q
LwotCi0jaWZuZGVmIEFuaW1hdGlvbklkVmVuZG9yX2gKLSNkZWZpbmUgQW5pbWF0aW9uSWRWZW5k
b3JfaAotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIEFuaW1hdGlvbklkVmVuZG9yIHsK
LXB1YmxpYzoKLSAgICBlbnVtIEFuaW1hdGlvbklkU2VxdWVuY2UgeyBEb250VXNlQW5pbWF0aW9u
SWQgPSAwLCBMaW5rSGlnaGxpZ2h0QW5pbWF0aW9uSWQsIEZpcnN0QXZhaWxhYmxlQW5pbWF0aW9u
SWQgfTsKLSAgICBlbnVtIEdyb3VwSWRTZXF1ZW5jZSB7IERvbnRVc2VHcm91cElkID0gMCwgRmly
c3RBdmFpbGFibGVHcm91cElkIH07Ci0KLSAgICBzdGF0aWMgaW50IGdldE5leHRBbmltYXRpb25J
ZCgpOwotICAgIHN0YXRpYyBpbnQgZ2V0TmV4dEdyb3VwSWQoKTsKLQotcHJpdmF0ZToKLSAgICBz
dGF0aWMgaW50IHNfbmV4dEFuaW1hdGlvbklkOwotICAgIHN0YXRpYyBpbnQgc19uZXh0R3JvdXBJ
ZDsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HcmFwaGljc0xheWVyQ2hy
b21pdW0uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR3Jh
cGhpY3NMYXllckNocm9taXVtLmNwcAppbmRleCBmNDBkMmYxNzliNTQ3ZGE5MWNmOWZjNmY2MTNj
YWRlYjRmOGFkMWM2Li4zYzZkOTI0YmIyNDA3NTE3MGNjOTAxODVjYWZiNzJhNTcxYjljYmJlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HcmFw
aGljc0xheWVyQ2hyb21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bS5jcHAKQEAgLTQ1LDcgKzQ1LDYgQEAK
IAogI2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXJDaHJvbWl1bS5oIgogCi0jaW5jbHVkZSAiQW5pbWF0
aW9uSWRWZW5kb3IuaCIKICNpbmNsdWRlICJDYW52YXMyRExheWVyQ2hyb21pdW0uaCIKICNpbmNs
dWRlICJDb250ZW50TGF5ZXJDaHJvbWl1bS5oIgogI2luY2x1ZGUgIkZsb2F0Q29udmVyc2lvbi5o
IgpAQCAtNTMsNyArNTIsNiBAQAogI2luY2x1ZGUgIkltYWdlLmgiCiAjaW5jbHVkZSAiSW1hZ2VM
YXllckNocm9taXVtLmgiCiAjaW5jbHVkZSAiTGF5ZXJDaHJvbWl1bS5oIgotI2luY2x1ZGUgIkxp
bmtIaWdobGlnaHRMYXllckRlbGVnYXRlLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIK
ICNpbmNsdWRlICJTeXN0ZW1UaW1lLmgiCiAKQEAgLTYzLDYgKzYxLDExIEBACiAKIHVzaW5nIG5h
bWVzcGFjZSBzdGQ7CiAKK25hbWVzcGFjZSB7CitzdGF0aWMgaW50IHNfbmV4dEdyb3VwSWQgPSAx
Oworc3RhdGljIGludCBzX25leHRBbmltYXRpb25JZCA9IDE7Cit9CisKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogUGFzc093blB0cjxHcmFwaGljc0xheWVyPiBHcmFwaGljc0xheWVyOjpjcmVhdGUo
R3JhcGhpY3NMYXllckNsaWVudCogY2xpZW50KQpAQCAtMTI3LDggKzEzMCw2IEBAIHZvaWQgR3Jh
cGhpY3NMYXllckNocm9taXVtOjp1cGRhdGVOYW1lcygpCiAgICAgICAgIG1fdHJhbnNmb3JtTGF5
ZXItPnNldERlYnVnTmFtZSgiVHJhbnNmb3JtTGF5ZXIgZm9yICIgKyBtX25hbWVCYXNlKTsKICAg
ICBpZiAobV9jb250ZW50c0xheWVyKQogICAgICAgICBtX2NvbnRlbnRzTGF5ZXItPnNldERlYnVn
TmFtZSgiQ29udGVudHNMYXllciBmb3IgIiArIG1fbmFtZUJhc2UpOwotICAgIGlmIChtX2xpbmtI
aWdobGlnaHRMYXllckRlbGVnYXRlKQotICAgICAgICBtX2xpbmtIaWdobGlnaHRMYXllckRlbGVn
YXRlLT5nZXRDb250ZW50TGF5ZXIoKS0+c2V0RGVidWdOYW1lKCJMaW5rSGlnaGxpZ2h0TGF5ZXIg
Zm9yICIgKyBtX25hbWVCYXNlKTsKIH0KIAogYm9vbCBHcmFwaGljc0xheWVyQ2hyb21pdW06OnNl
dENoaWxkcmVuKGNvbnN0IFZlY3RvcjxHcmFwaGljc0xheWVyKj4mIGNoaWxkcmVuKQpAQCAtNDA2
LDcgKzQwNyw3IEBAIHZvaWQgR3JhcGhpY3NMYXllckNocm9taXVtOjpzZXRDb250ZW50c1RvQ2Fu
dmFzKFBsYXRmb3JtTGF5ZXIqIHBsYXRmb3JtTGF5ZXIpCiBib29sIEdyYXBoaWNzTGF5ZXJDaHJv
bWl1bTo6YWRkQW5pbWF0aW9uKGNvbnN0IEtleWZyYW1lVmFsdWVMaXN0JiB2YWx1ZXMsIGNvbnN0
IEludFNpemUmIGJveFNpemUsIGNvbnN0IEFuaW1hdGlvbiogYW5pbWF0aW9uLCBjb25zdCBTdHJp
bmcmIGFuaW1hdGlvbk5hbWUsIGRvdWJsZSB0aW1lT2Zmc2V0KQogewogICAgIHByaW1hcnlMYXll
cigpLT5zZXRMYXllckFuaW1hdGlvbkRlbGVnYXRlKHRoaXMpOwotICAgIHJldHVybiBwcmltYXJ5
TGF5ZXIoKS0+YWRkQW5pbWF0aW9uKHZhbHVlcywgYm94U2l6ZSwgYW5pbWF0aW9uLCBtYXBBbmlt
YXRpb25OYW1lVG9JZChhbmltYXRpb25OYW1lKSwgQW5pbWF0aW9uSWRWZW5kb3I6OmdldE5leHRH
cm91cElkKCksIHRpbWVPZmZzZXQpOworICAgIHJldHVybiBwcmltYXJ5TGF5ZXIoKS0+YWRkQW5p
bWF0aW9uKHZhbHVlcywgYm94U2l6ZSwgYW5pbWF0aW9uLCBtYXBBbmltYXRpb25OYW1lVG9JZChh
bmltYXRpb25OYW1lKSwgc19uZXh0R3JvdXBJZCsrLCB0aW1lT2Zmc2V0KTsKIH0KIAogdm9pZCBH
cmFwaGljc0xheWVyQ2hyb21pdW06OnBhdXNlQW5pbWF0aW9uKGNvbnN0IFN0cmluZyYgYW5pbWF0
aW9uTmFtZSwgZG91YmxlIHRpbWVPZmZzZXQpCkBAIC00MzIsMjAgKzQzMyw2IEBAIHZvaWQgR3Jh
cGhpY3NMYXllckNocm9taXVtOjpyZXN1bWVBbmltYXRpb25zKCkKICAgICBwcmltYXJ5TGF5ZXIo
KS0+cmVzdW1lQW5pbWF0aW9ucyhtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSk7CiB9CiAK
LXZvaWQgR3JhcGhpY3NMYXllckNocm9taXVtOjphZGRMaW5rSGlnaGxpZ2h0TGF5ZXIoY29uc3Qg
UGF0aCYgcGF0aCkKLXsKLSAgICBtX2xpbmtIaWdobGlnaHRMYXllckRlbGVnYXRlID0gTGlua0hp
Z2hsaWdodExheWVyRGVsZWdhdGU6OmNyZWF0ZSh0aGlzLCBwYXRoLCBBbmltYXRpb25JZFZlbmRv
cjo6TGlua0hpZ2hsaWdodEFuaW1hdGlvbklkLCBBbmltYXRpb25JZFZlbmRvcjo6Z2V0TmV4dEdy
b3VwSWQoKSk7Ci0gICAgdXBkYXRlQ2hpbGRMaXN0KCk7Ci19Ci0KLXZvaWQgR3JhcGhpY3NMYXll
ckNocm9taXVtOjpkaWRGaW5pc2hMaW5rSGlnaGxpZ2h0TGF5ZXIoKQotewotICAgIGlmIChtX2xp
bmtIaWdobGlnaHRMYXllckRlbGVnYXRlKQotICAgICAgICBtX2xpbmtIaWdobGlnaHRMYXllckRl
bGVnYXRlLT5nZXRDb250ZW50TGF5ZXIoKS0+cmVtb3ZlRnJvbVBhcmVudCgpOwotCi0gICAgbV9s
aW5rSGlnaGxpZ2h0TGF5ZXJEZWxlZ2F0ZS5jbGVhcigpOwotfQotCiB2b2lkIEdyYXBoaWNzTGF5
ZXJDaHJvbWl1bTo6c2V0Q29udGVudHNUb01lZGlhKFBsYXRmb3JtTGF5ZXIqIGxheWVyKQogewog
ICAgIGJvb2wgY2hpbGRyZW5DaGFuZ2VkID0gZmFsc2U7CkBAIC01MjYsOSArNTEzLDYgQEAgdm9p
ZCBHcmFwaGljc0xheWVyQ2hyb21pdW06OnVwZGF0ZUNoaWxkTGlzdCgpCiAgICAgICAgIG5ld0No
aWxkcmVuLmFwcGVuZChjaGlsZExheWVyKTsKICAgICB9CiAKLSAgICBpZiAobV9saW5rSGlnaGxp
Z2h0TGF5ZXJEZWxlZ2F0ZSkKLSAgICAgICAgbmV3Q2hpbGRyZW4uYXBwZW5kKG1fbGlua0hpZ2hs
aWdodExheWVyRGVsZWdhdGUtPmdldENvbnRlbnRMYXllcigpKTsKLQogICAgIGZvciAoc2l6ZV90
IGkgPSAwOyBpIDwgbmV3Q2hpbGRyZW4uc2l6ZSgpOyArK2kpCiAgICAgICAgIG5ld0NoaWxkcmVu
W2ldLT5yZW1vdmVGcm9tUGFyZW50KCk7CiAKQEAgLTc2NSw3ICs3NDksNyBAQCBpbnQgR3JhcGhp
Y3NMYXllckNocm9taXVtOjptYXBBbmltYXRpb25OYW1lVG9JZChjb25zdCBTdHJpbmcmIGFuaW1h
dGlvbk5hbWUpCiAgICAgICAgIHJldHVybiAwOwogCiAgICAgaWYgKCFtX2FuaW1hdGlvbklkTWFw
LmNvbnRhaW5zKGFuaW1hdGlvbk5hbWUpKQotICAgICAgICBtX2FuaW1hdGlvbklkTWFwLmFkZChh
bmltYXRpb25OYW1lLCBBbmltYXRpb25JZFZlbmRvcjo6Z2V0TmV4dEFuaW1hdGlvbklkKCkpOwor
ICAgICAgICBtX2FuaW1hdGlvbklkTWFwLmFkZChhbmltYXRpb25OYW1lLCBzX25leHRBbmltYXRp
b25JZCsrKTsKIAogICAgIHJldHVybiBtX2FuaW1hdGlvbklkTWFwLmZpbmQoYW5pbWF0aW9uTmFt
ZSktPnNlY29uZDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bS5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR3JhcGhpY3NMYXllckNocm9taXVtLmgKaW5kZXggZTBl
MGVlOGE5MmFhMmI5ZGZkYzM2MTI3OWM2MTFmN2QzNjVmZTU2Yi4uYmUyYjNhZTY1N2I1NDJmYWI0
Y2I1N2ZiMzIwY2NiNzVhYTRhOTc4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vR3JhcGhpY3NMYXllckNocm9taXVtLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR3JhcGhpY3NMYXllckNocm9taXVt
LmgKQEAgLTQ0LDcgKzQ0LDYgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgTGF5ZXJD
aHJvbWl1bTsKLWNsYXNzIExpbmtIaWdobGlnaHRMYXllckRlbGVnYXRlOwogCiBjbGFzcyBHcmFw
aGljc0xheWVyQ2hyb21pdW0gOiBwdWJsaWMgR3JhcGhpY3NMYXllciwgcHVibGljIENvbnRlbnRM
YXllckRlbGVnYXRlLCBwdWJsaWMgQ0NMYXllckFuaW1hdGlvbkRlbGVnYXRlIHsKIHB1YmxpYzoK
QEAgLTEwNiw5ICsxMDUsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHN1c3BlbmRBbmlt
YXRpb25zKGRvdWJsZSB3YWxsQ2xvY2tUaW1lKTsKICAgICB2aXJ0dWFsIHZvaWQgcmVzdW1lQW5p
bWF0aW9ucygpOwogCi0gICAgdmlydHVhbCB2b2lkIGFkZExpbmtIaWdobGlnaHRMYXllcihjb25z
dCBQYXRoJik7Ci0gICAgdmlydHVhbCB2b2lkIGRpZEZpbmlzaExpbmtIaWdobGlnaHRMYXllcigp
OwotCiAgICAgdmlydHVhbCBQbGF0Zm9ybUxheWVyKiBwbGF0Zm9ybUxheWVyKCkgY29uc3Q7CiAK
ICAgICB2aXJ0dWFsIHZvaWQgc2V0RGVidWdCYWNrZ3JvdW5kQ29sb3IoY29uc3QgQ29sb3ImKTsK
QEAgLTE2MSw3ICsxNTcsNiBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxDb250ZW50TGF5ZXJDaHJv
bWl1bT4gbV9sYXllcjsKICAgICBSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gbV90cmFuc2Zvcm1MYXll
cjsKICAgICBSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gbV9jb250ZW50c0xheWVyOwotICAgIFJlZlB0
cjxMaW5rSGlnaGxpZ2h0TGF5ZXJEZWxlZ2F0ZT4gbV9saW5rSGlnaGxpZ2h0TGF5ZXJEZWxlZ2F0
ZTsKIAogICAgIGVudW0gQ29udGVudHNMYXllclB1cnBvc2UgewogICAgICAgICBOb0NvbnRlbnRz
TGF5ZXIgPSAwLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vTGlua0hpZ2hsaWdodExheWVyRGVsZWdhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGlua0hpZ2hsaWdodExheWVyRGVsZWdhdGUuY3Bw
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkYTYxNDYyZjRmN2Y1NzEzZDEyMjIyNTcw
YjM3MTk4OWJiZDk1NzZkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xpbmtIaWdo
bGlnaHRMYXllckRlbGVnYXRlLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDExOCArMCwwIEBACi0v
KgotICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKgotICogMS4g
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQot
ICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKLSAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQKLSAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKLSAqIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTCi0gKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Ci0gKiBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQK
LSAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKLSAqIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0g
Ki8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaW5jbHVkZSAiTGlua0hpZ2hsaWdodExheWVy
RGVsZWdhdGUuaCIKLQotI2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXJDaHJvbWl1bS5oIgotI2luY2x1
ZGUgImNjL0NDS2V5ZnJhbWVkQW5pbWF0aW9uQ3VydmUuaCIKLSNpbmNsdWRlIDx3dGYvQ3VycmVu
dFRpbWUuaD4KLSNpbmNsdWRlIDx3dGYvT3duUHRyLmg+Ci0KLSNpZiBVU0UoQUNDRUxFUkFURURf
Q09NUE9TSVRJTkcpCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotUGFzc1JlZlB0cjxMaW5rSGln
aGxpZ2h0TGF5ZXJEZWxlZ2F0ZT4gTGlua0hpZ2hsaWdodExheWVyRGVsZWdhdGU6OmNyZWF0ZShH
cmFwaGljc0xheWVyQ2hyb21pdW0qIHBhcmVudCwgY29uc3QgUGF0aCYgcGF0aCwgaW50IGFuaW1h
dGlvbklkLCBpbnQgZ3JvdXBJZCkKLXsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IExpbmtIaWdo
bGlnaHRMYXllckRlbGVnYXRlKHBhcmVudCwgcGF0aCwgYW5pbWF0aW9uSWQsIGdyb3VwSWQpKTsK
LX0KLQotTGlua0hpZ2hsaWdodExheWVyRGVsZWdhdGU6OkxpbmtIaWdobGlnaHRMYXllckRlbGVn
YXRlKEdyYXBoaWNzTGF5ZXJDaHJvbWl1bSogcGFyZW50LCBjb25zdCBQYXRoJiBwYXRoLCBpbnQg
YW5pbWF0aW9uSWQsIGludCBncm91cElkKQotICAgIDogbV9jb250ZW50TGF5ZXIoQ29udGVudExh
eWVyQ2hyb21pdW06OmNyZWF0ZSh0aGlzKSkKLSAgICAsIG1fcGFyZW50KHBhcmVudCkKLSAgICAs
IG1fcGF0aChwYXRoKQotewotICAgIG1fY29udGVudExheWVyLT5zZXRJc0RyYXdhYmxlKHRydWUp
OwotCi0gICAgSW50UmVjdCByZWN0ID0gZW5jbG9zaW5nSW50UmVjdChwYXRoLmJvdW5kaW5nUmVj
dCgpKTsKLQotICAgIG1fY29udGVudExheWVyLT5zZXRCb3VuZHMocmVjdC5zaXplKCkpOwotCi0g
ICAgVHJhbnNmb3JtYXRpb25NYXRyaXggdHJhbnNmb3JtOwotICAgIHRyYW5zZm9ybS50cmFuc2xh
dGUocmVjdC54KCkgKyByZWN0LndpZHRoKCkgLyAyLCByZWN0LnkoKSArIHJlY3QuaGVpZ2h0KCkg
LyAyKTsKLSAgICBtX2NvbnRlbnRMYXllci0+c2V0VHJhbnNmb3JtKHRyYW5zZm9ybSk7Ci0KLSAg
ICBtX3BhdGgudHJhbnNsYXRlKEZsb2F0U2l6ZSgtcmVjdC54KCksIC1yZWN0LnkoKSkpOwotCi0g
ICAgbV9jb250ZW50TGF5ZXItPnNldExheWVyQW5pbWF0aW9uRGVsZWdhdGUodGhpcyk7Ci0KLSAg
ICAvLyBGSVhNRTogU2hvdWxkIHRoZXNlIGJlIGNvbmZpZ3VyYWJsZT8KLSAgICBjb25zdCBmbG9h
dCBzdGFydE9wYWNpdHkgPSAwLjI1OwotICAgIGNvbnN0IGZsb2F0IGR1cmF0aW9uID0gMjsKLQot
ICAgIG1fY29udGVudExheWVyLT5zZXRPcGFjaXR5KHN0YXJ0T3BhY2l0eSk7Ci0KLSAgICBPd25Q
dHI8Q0NLZXlmcmFtZWRGbG9hdEFuaW1hdGlvbkN1cnZlPiBjdXJ2ZShDQ0tleWZyYW1lZEZsb2F0
QW5pbWF0aW9uQ3VydmU6OmNyZWF0ZSgpKTsKLSAgICBjdXJ2ZS0+YWRkS2V5ZnJhbWUoQ0NGbG9h
dEtleWZyYW1lOjpjcmVhdGUoMCwgc3RhcnRPcGFjaXR5LCBudWxscHRyKSk7Ci0gICAgY3VydmUt
PmFkZEtleWZyYW1lKENDRmxvYXRLZXlmcmFtZTo6Y3JlYXRlKGR1cmF0aW9uIC8gMiwgc3RhcnRP
cGFjaXR5LCBudWxscHRyKSk7Ci0gICAgY3VydmUtPmFkZEtleWZyYW1lKENDRmxvYXRLZXlmcmFt
ZTo6Y3JlYXRlKGR1cmF0aW9uLCAwLCBudWxscHRyKSk7Ci0KLSAgICAvLyBhbmltYXRpb25JZCA9
IDEgaXMgcmVzZXJ2ZWQgZm9yIHVzLgotICAgIE93blB0cjxDQ0FjdGl2ZUFuaW1hdGlvbj4gYW5p
bWF0aW9uKENDQWN0aXZlQW5pbWF0aW9uOjpjcmVhdGUoY3VydmUucmVsZWFzZSgpLCBhbmltYXRp
b25JZCwgZ3JvdXBJZCwgQ0NBY3RpdmVBbmltYXRpb246Ok9wYWNpdHkpKTsKLSAgICBhbmltYXRp
b24tPnNldE5lZWRzU3luY2hyb25pemVkU3RhcnRUaW1lKHRydWUpOwotICAgIG1fY29udGVudExh
eWVyLT5sYXllckFuaW1hdGlvbkNvbnRyb2xsZXIoKS0+YWRkKGFuaW1hdGlvbi5yZWxlYXNlKCkp
OwotfQotCi1MaW5rSGlnaGxpZ2h0TGF5ZXJEZWxlZ2F0ZTo6fkxpbmtIaWdobGlnaHRMYXllckRl
bGVnYXRlKCkKLXsKLSAgICBtX2NvbnRlbnRMYXllci0+cmVtb3ZlRnJvbVBhcmVudCgpOwotICAg
IG1fY29udGVudExheWVyLT5jbGVhckRlbGVnYXRlKCk7Ci19Ci0KLUNvbnRlbnRMYXllckNocm9t
aXVtKiBMaW5rSGlnaGxpZ2h0TGF5ZXJEZWxlZ2F0ZTo6Z2V0Q29udGVudExheWVyKCkKLXsKLSAg
ICByZXR1cm4gbV9jb250ZW50TGF5ZXIuZ2V0KCk7Ci19Ci0KLXZvaWQgTGlua0hpZ2hsaWdodExh
eWVyRGVsZWdhdGU6OnBhaW50Q29udGVudHMoR3JhcGhpY3NDb250ZXh0JiBnYywgY29uc3QgSW50
UmVjdCYgY2xpcFJlY3QpCi17Ci0gICAgLy8gRklYTUU6IG1ha2UgY29sb3VyIGNvbmZpZ3VyYWJs
ZT8KLSAgICBnYy5zZXRTdHJva2VDb2xvcihDb2xvcigwLCAwLCAyNTUsIDI1NSksIENvbG9yU3Bh
Y2VEZXZpY2VSR0IpOwotICAgIGdjLnNldFN0cm9rZVRoaWNrbmVzcygyKTsKLSAgICBnYy5zdHJv
a2VQYXRoKG1fcGF0aCk7Ci0gICAgZ2Muc2V0RmlsbENvbG9yKENvbG9yKDI1NSwgMCwgMjU1LCAy
NTUpLCBDb2xvclNwYWNlRGV2aWNlUkdCKTsKLSAgICBnYy5maWxsUGF0aChtX3BhdGgpOwotfQot
Ci12b2lkIExpbmtIaWdobGlnaHRMYXllckRlbGVnYXRlOjpkaWRTY3JvbGwoY29uc3QgSW50U2l6
ZSYpCi17Ci19Ci0KLXZvaWQgTGlua0hpZ2hsaWdodExheWVyRGVsZWdhdGU6Om5vdGlmeUFuaW1h
dGlvblN0YXJ0ZWQoZG91YmxlIHRpbWUpCi17Ci19Ci0KLXZvaWQgTGlua0hpZ2hsaWdodExheWVy
RGVsZWdhdGU6Om5vdGlmeUFuaW1hdGlvbkZpbmlzaGVkKGRvdWJsZSB0aW1lKQotewotICAgIC8v
IEFsbG93IG51bGwgcGFyZW50IHBvaW50ZXIgdG8gZmFjaWxpdGF0ZSB0ZXN0aW5nLgotICAgIGlm
IChtX3BhcmVudCkKLSAgICAgICAgbV9wYXJlbnQtPmRpZEZpbmlzaExpbmtIaWdobGlnaHRMYXll
cigpOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBVU0UoQUNDRUxF
UkFURURfQ09NUE9TSVRJTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9MaW5rSGlnaGxpZ2h0TGF5ZXJEZWxlZ2F0ZS5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGlua0hpZ2hsaWdodExheWVyRGVsZWdh
dGUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzlkYmMyYTgzOTdhNmExMzY3NWNk
YzhiZjIwNjBmOTAxNzNlNTFiMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MaW5r
SGlnaGxpZ2h0TGF5ZXJEZWxlZ2F0ZS5oCisrKyAvZGV2L251bGwKQEAgLTEsNjcgKzAsMCBAQAot
LyoKLSAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICoKLSAqIDEu
ICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
LSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVECi0gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCi0gKiBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUwotICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwotICogTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
Ci0gKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCi0gKiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgot
ICovCi0KLSNpZm5kZWYgTGlua0hpZ2hsaWdodExheWVyRGVsZWdhdGVfaAotI2RlZmluZSBMaW5r
SGlnaGxpZ2h0TGF5ZXJEZWxlZ2F0ZV9oCi0KLSNpbmNsdWRlICJDb250ZW50TGF5ZXJDaHJvbWl1
bS5oIgotI2luY2x1ZGUgIlBhdGguaCIKLSNpbmNsdWRlICJjYy9DQ0xheWVyQW5pbWF0aW9uRGVs
ZWdhdGUuaCIKLSNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+Ci0KLSNpZiBVU0UoQUNDRUxFUkFURURf
Q09NUE9TSVRJTkcpCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgR3JhcGhpY3NMYXll
ckNocm9taXVtOwotCi1jbGFzcyBMaW5rSGlnaGxpZ2h0TGF5ZXJEZWxlZ2F0ZSA6IHB1YmxpYyBS
ZWZDb3VudGVkPExpbmtIaWdobGlnaHRMYXllckRlbGVnYXRlPiwgcHVibGljIENvbnRlbnRMYXll
ckRlbGVnYXRlLCBwdWJsaWMgQ0NMYXllckFuaW1hdGlvbkRlbGVnYXRlIHsKLXB1YmxpYzoKLSAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxMaW5rSGlnaGxpZ2h0TGF5ZXJEZWxlZ2F0ZT4gY3JlYXRlKEdy
YXBoaWNzTGF5ZXJDaHJvbWl1bSogcGFyZW50LCBjb25zdCBQYXRoJiwgaW50IGFuaW1hdGlvbklk
LCBpbnQgZ3JvdXBJZCk7Ci0gICAgdmlydHVhbCAgfkxpbmtIaWdobGlnaHRMYXllckRlbGVnYXRl
KCk7Ci0KLSAgICBDb250ZW50TGF5ZXJDaHJvbWl1bSogZ2V0Q29udGVudExheWVyKCk7Ci0KLSAg
ICAvLyBDb250ZW50TGF5ZXJEZWxlZ2F0ZSBpbXBsZW1lbnRhdGlvbi4KLSAgICB2aXJ0dWFsIHZv
aWQgcGFpbnRDb250ZW50cyhHcmFwaGljc0NvbnRleHQmLCBjb25zdCBJbnRSZWN0JiBjbGlwUmVj
dCk7Ci0gICAgdmlydHVhbCB2b2lkIGRpZFNjcm9sbChjb25zdCBJbnRTaXplJikgT1ZFUlJJREU7
Ci0KLSAgICAvLyBDQ0xheWVyQW5pbWF0aW9uRGVsZWdhdGUgaW1wbGVtZW50YXRpb24uCi0gICAg
dmlydHVhbCB2b2lkIG5vdGlmeUFuaW1hdGlvblN0YXJ0ZWQoZG91YmxlIHRpbWUpOwotICAgIHZp
cnR1YWwgdm9pZCBub3RpZnlBbmltYXRpb25GaW5pc2hlZChkb3VibGUgdGltZSk7Ci0KLXByaXZh
dGU6Ci0gICAgTGlua0hpZ2hsaWdodExheWVyRGVsZWdhdGUoR3JhcGhpY3NMYXllckNocm9taXVt
KiBwYXJlbnQsIGNvbnN0IFBhdGgmLCBpbnQgYW5pbWF0aW9uSWQsIGludCBncm91cElkKTsKLQot
ICAgIFJlZlB0cjxDb250ZW50TGF5ZXJDaHJvbWl1bT4gbV9jb250ZW50TGF5ZXI7Ci0gICAgR3Jh
cGhpY3NMYXllckNocm9taXVtKiBtX3BhcmVudDsKLSAgICBQYXRoIG1fcGF0aDsKLX07Ci0KLX0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJ
VElORykKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktp
dC5neXBpIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwaQppbmRleCA4MTVkMDA0
ZWIyZWZlZTQ1NzA2Nzc0YWIxY2ZjZjllYzc5YmQ2MTBiLi5mODVkOTc5MjA0MjJiNDc0NDEyM2Zm
NDdjZjczOWNiNWE4ZWRjNWMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dl
YktpdC5neXBpCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cGkKQEAgLTEx
Myw3ICsxMTMsNiBAQAogICAgICAgICAgICAgJ3Rlc3RzL0xheWVyUmVuZGVyZXJDaHJvbWl1bVRl
c3QuY3BwJywKICAgICAgICAgICAgICd0ZXN0cy9MYXllclRleHR1cmVVcGRhdGVyVGVzdC5jcHAn
LAogICAgICAgICAgICAgJ3Rlc3RzL0xldmVsREJUZXN0LmNwcCcsCi0gICAgICAgICAgICAndGVz
dHMvTGlua0hpZ2hsaWdodExheWVyRGVsZWdhdGVUZXN0LmNwcCcsCiAgICAgICAgICAgICAndGVz
dHMvTG9jYWxpemVkTnVtYmVySUNVVGVzdC5jcHAnLAogICAgICAgICAgICAgJ3Rlc3RzL01vY2tD
Q1F1YWRDdWxsZXIuaCcsCiAgICAgICAgICAgICAndGVzdHMvUGFpbnRBZ2dyZWdhdG9yVGVzdC5j
cHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9MaW5rSGlnaGxp
Z2h0TGF5ZXJEZWxlZ2F0ZVRlc3QuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9M
aW5rSGlnaGxpZ2h0TGF5ZXJEZWxlZ2F0ZVRlc3QuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBlZDU0NjRmOWEwOTQ0ZGU3ODU0OGFjZDMwMzk2NTBlYTMzNTU2ZTcwLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vdGVzdHMvTGlua0hpZ2hsaWdodExheWVyRGVsZWdhdGVUZXN0LmNwcAorKysgL2Rldi9u
dWxsCkBAIC0xLDg4ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwot
ICogYXJlIG1ldDoKLSAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAotICogV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQotICogRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZCi0gKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUwotICogKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOwotICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCi0gKiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMKLSAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIK
LQotI2luY2x1ZGUgIkxpbmtIaWdobGlnaHRMYXllckRlbGVnYXRlLmgiCi0KLSNpbmNsdWRlICJB
bmltYXRpb25JZFZlbmRvci5oIgotI2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXJDaHJvbWl1bS5oIgot
I2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXJDbGllbnQuaCIKLSNpbmNsdWRlICJJbnRSZWN0LmgiCi0j
aW5jbHVkZSAiUGF0aC5oIgotI2luY2x1ZGUgIlRyYW5zZm9ybWF0aW9uTWF0cml4LmgiCi0jaW5j
bHVkZSA8Z3Rlc3QvZ3Rlc3QuaD4KLSNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgotCi11c2lu
ZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQotbmFtZXNwYWNlIHsKLQotY2xhc3MgTW9ja0dyYXBoaWNz
TGF5ZXJDbGllbnQgOiBwdWJsaWMgR3JhcGhpY3NMYXllckNsaWVudCB7Ci1wdWJsaWM6Ci0KLSAg
ICB2aXJ0dWFsIHZvaWQgbm90aWZ5QW5pbWF0aW9uU3RhcnRlZChjb25zdCBHcmFwaGljc0xheWVy
KiwgZG91YmxlIHRpbWUpIHsgfQotICAgIHZpcnR1YWwgdm9pZCBub3RpZnlTeW5jUmVxdWlyZWQo
Y29uc3QgR3JhcGhpY3NMYXllciopIHsgfQotICAgIHZpcnR1YWwgdm9pZCBwYWludENvbnRlbnRz
KGNvbnN0IEdyYXBoaWNzTGF5ZXIqLCBHcmFwaGljc0NvbnRleHQmLCBHcmFwaGljc0xheWVyUGFp
bnRpbmdQaGFzZSwgY29uc3QgSW50UmVjdCYgaW5DbGlwKSB7IH0KLSAgICB2aXJ0dWFsIGJvb2wg
c2hvd0RlYnVnQm9yZGVycyhjb25zdCBHcmFwaGljc0xheWVyKikgY29uc3QgeyByZXR1cm4gZmFs
c2U7IH0KLSAgICB2aXJ0dWFsIGJvb2wgc2hvd1JlcGFpbnRDb3VudGVyKGNvbnN0IEdyYXBoaWNz
TGF5ZXIqKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQotfTsKLQotVEVTVChMaW5rSGlnaGxpZ2h0
TGF5ZXJUZXN0LCB2ZXJpZnlMaW5rSGlnaGxpZ2h0TGF5ZXIpCi17Ci0gICAgUGF0aCBoaWdobGln
aHRQYXRoOwotICAgIGhpZ2hsaWdodFBhdGguYWRkUmVjdChGbG9hdFJlY3QoNSwgNiwgMTIsIDgp
KTsKLSAgICBJbnRSZWN0IHBhdGhCb3VuZGluZ1JlY3QgPSBlbmNsb3NpbmdJbnRSZWN0KGhpZ2hs
aWdodFBhdGguYm91bmRpbmdSZWN0KCkpOwotCi0gICAgUmVmUHRyPExpbmtIaWdobGlnaHRMYXll
ckRlbGVnYXRlPiBoaWdobGlnaHRMYXllckRlbGVnYXRlID0gTGlua0hpZ2hsaWdodExheWVyRGVs
ZWdhdGU6OmNyZWF0ZSgwLCBoaWdobGlnaHRQYXRoLCBBbmltYXRpb25JZFZlbmRvcjo6TGlua0hp
Z2hsaWdodEFuaW1hdGlvbklkLCBBbmltYXRpb25JZFZlbmRvcjo6Z2V0TmV4dEdyb3VwSWQoKSk7
Ci0gICAgQVNTRVJUX1RSVUUoaGlnaGxpZ2h0TGF5ZXJEZWxlZ2F0ZS5nZXQoKSk7Ci0gICAgQ29u
dGVudExheWVyQ2hyb21pdW0qIGNvbnRlbnRMYXllciA9IGhpZ2hsaWdodExheWVyRGVsZWdhdGUt
PmdldENvbnRlbnRMYXllcigpOwotICAgIEFTU0VSVF9UUlVFKGNvbnRlbnRMYXllcik7Ci0KLSAg
ICBFWFBFQ1RfRVEocGF0aEJvdW5kaW5nUmVjdC5zaXplKCksIGNvbnRlbnRMYXllci0+Ym91bmRz
KCkpOwotICAgIEVYUEVDVF9UUlVFKGNvbnRlbnRMYXllci0+dHJhbnNmb3JtKCkuaXNJZGVudGl0
eU9yVHJhbnNsYXRpb24oKSk7Ci0gICAgRVhQRUNUX1RSVUUoY29udGVudExheWVyLT50cmFuc2Zv
cm0oKS5pc0ludGVnZXJUcmFuc2xhdGlvbigpKTsKLQotICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4
OjpEZWNvbXBvc2VkVHlwZSBkZWNvbXBvc2l0aW9uOwotICAgIEVYUEVDVF9UUlVFKGNvbnRlbnRM
YXllci0+dHJhbnNmb3JtKCkuZGVjb21wb3NlKGRlY29tcG9zaXRpb24pKTsKLQotICAgIEZsb2F0
UG9pbnQgZXhwZWN0ZWRUcmFuc2xhdGlvbihwYXRoQm91bmRpbmdSZWN0LngoKSArIHBhdGhCb3Vu
ZGluZ1JlY3Qud2lkdGgoKSAvIDIsIHBhdGhCb3VuZGluZ1JlY3QueSgpICsgcGF0aEJvdW5kaW5n
UmVjdC5oZWlnaHQoKSAvIDIpOwotICAgIEVYUEVDVF9FUShGbG9hdFBvaW50KGRlY29tcG9zaXRp
b24udHJhbnNsYXRlWCwgZGVjb21wb3NpdGlvbi50cmFuc2xhdGVZKSwgZXhwZWN0ZWRUcmFuc2xh
dGlvbik7Ci19Ci0KLVRFU1QoTGlua0hpZ2hsaWdodExheWVyVGVzdCwgdmVyaWZ5R3JhcGhpY3NM
YXllckNocm9taXVtRW1iZWRkaW5nKQotewotICAgIE1vY2tHcmFwaGljc0xheWVyQ2xpZW50IGNs
aWVudDsKLSAgICBPd25QdHI8R3JhcGhpY3NMYXllckNocm9taXVtPiBncmFwaGljc0xheWVyID0g
c3RhdGljX3BvaW50ZXJfY2FzdDxHcmFwaGljc0xheWVyQ2hyb21pdW0+KEdyYXBoaWNzTGF5ZXI6
OmNyZWF0ZSgmY2xpZW50KSk7Ci0gICAgQVNTRVJUX1RSVUUoZ3JhcGhpY3NMYXllci5nZXQoKSk7
Ci0KLSAgICBQYXRoIGhpZ2hsaWdodFBhdGg7Ci0gICAgaGlnaGxpZ2h0UGF0aC5hZGRSZWN0KEZs
b2F0UmVjdCg1LCA1LCAxMCwgOCkpOwotCi0gICAgLy8gTmVpdGhlciBvZiB0aGUgZm9sbG93aW5n
IG9wZXJhdGlvbnMgc2hvdWxkIGNyYXNoLgotICAgIGdyYXBoaWNzTGF5ZXItPmFkZExpbmtIaWdo
bGlnaHRMYXllcihoaWdobGlnaHRQYXRoKTsKLSAgICBncmFwaGljc0xheWVyLT5kaWRGaW5pc2hM
aW5rSGlnaGxpZ2h0TGF5ZXIoKTsKLX0KLQotfSAvLyBuYW1lc3BhY2UK
</data>

          </attachment>
      

    </bug>

</bugzilla>