<?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>23628</bug_id>
          
          <creation_ts>2009-01-29 15:36:00 -0800</creation_ts>
          <short_desc>Fix selection painting to do container-relative repaints</short_desc>
          <delta_ts>2010-01-22 20:09:03 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.5</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>
          
          <blocked>23359</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>hyatt</cc>
    
    <cc>mitz</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>107603</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-01-29 15:36:00 -0800</bug_when>
    <thetext>Selection currently repaints via the view. This needs to be fixed to make repaints container-relative.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>108221</commentid>
    <comment_count>1</comment_count>
      <attachid>27305</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-02-03 17:48:58 -0800</bug_when>
    <thetext>Created attachment 27305
Patch, changelog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>108229</commentid>
    <comment_count>2</comment_count>
      <attachid>27305</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2009-02-03 18:12:42 -0800</bug_when>
    <thetext>Comment on attachment 27305
Patch, changelog.

r=me

Run pixel tests before landing this, since that&apos;s the only way to see some of this in action.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>108230</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-02-03 18:42:00 -0800</bug_when>
    <thetext>Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	WebCore/ChangeLog
	M	WebCore/GNUmakefile.am
	M	WebCore/WebCore.vcproj/WebCore.vcproj
	M	WebCore/WebCore.xcodeproj/project.pbxproj
	M	WebCore/rendering/RenderBR.h
	M	WebCore/rendering/RenderBlock.cpp
	M	WebCore/rendering/RenderBlock.h
	M	WebCore/rendering/RenderListMarker.cpp
	M	WebCore/rendering/RenderListMarker.h
	M	WebCore/rendering/RenderObject.h
	M	WebCore/rendering/RenderReplaced.cpp
	M	WebCore/rendering/RenderReplaced.h
	M	WebCore/rendering/RenderSVGInlineText.cpp
	M	WebCore/rendering/RenderSVGInlineText.h
	A	WebCore/rendering/RenderSelectionInfo.h
	M	WebCore/rendering/RenderText.cpp
	M	WebCore/rendering/RenderText.h
	M	WebCore/rendering/RenderView.cpp
	M	WebCore/rendering/RenderView.h
	M	WebCore/rendering/RenderWidget.cpp
Committed r40564
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>108231</commentid>
    <comment_count>4</comment_count>
      <attachid>27305</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-02-03 18:42:34 -0800</bug_when>
    <thetext>Comment on attachment 27305
Patch, changelog.

Landed in r40564. Keeping open to fix RenderBlock::selectionGapRectsForRepaint()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>108799</commentid>
    <comment_count>5</comment_count>
      <attachid>27305</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-02-06 20:10:07 -0800</bug_when>
    <thetext>Comment on attachment 27305
Patch, changelog.

Getting out of the &apos;patches to land&apos; queue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>165439</commentid>
    <comment_count>6</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-11-20 13:54:28 -0800</bug_when>
    <thetext>&lt;rdar://problem/7401617&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>168578</commentid>
    <comment_count>7</comment_count>
      <attachid>44272</attachid>
    <who name="">mitz</who>
    <bug_when>2009-12-03 15:34:13 -0800</bug_when>
    <thetext>Created attachment 44272
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>168579</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-03 15:35:39 -0800</bug_when>
    <thetext>style-queue ran check-webkit-style on attachment 44272 without any errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>168592</commentid>
    <comment_count>9</comment_count>
      <attachid>44272</attachid>
    <who name="">mitz</who>
    <bug_when>2009-12-03 16:19:21 -0800</bug_when>
    <thetext>Comment on attachment 44272
Patch

Committed http://trac.webkit.org/projects/webkit/changeset/51668</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>183933</commentid>
    <comment_count>10</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-01-22 20:09:03 -0800</bug_when>
    <thetext>Fixed in http://trac.webkit.org/changeset/51776 and 
http://trac.webkit.org/changeset/51668</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>27305</attachid>
            <date>2009-02-03 17:48:58 -0800</date>
            <delta_ts>2009-02-06 20:10:07 -0800</delta_ts>
            <desc>Patch, changelog.</desc>
            <filename>23628_patch.txt</filename>
            <type>text/plain</type>
            <size>36811</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
OTM4YTViNy4uMjUwYWRmNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw2NiBAQAorMjAwOS0wMi0wMyAgU2ltb24gRnJhc2Vy
ICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjM2MjgKKworICAgICAgICBGaXggc2VsZWN0aW9uIHJlcGFpbnRpbmcgdG8gZG8gY29udGFp
bmVyLXJlbGF0aXZlIHJlcGFpbnRzLiBSZW5kZXJWaWV3IG5vdworICAgICAgICByZXBhaW50cyB0
aGUgc2VsZWNpdG9uIHVzaW5nIHRoZSBjb250YWluZXJGb3JSZXBhaW50KCkgZm9yIGVhY2ggUmVu
ZGVyU2VsZWN0aW9uSW5mby4KKyAgICAgICAgc2VsZWN0aW9uUmVjdCgpIGlzIG5vdyBhIHdyYXBw
ZXIgZm9yIHNlbGVjdGlvblJlY3RGb3JSZXBhaW50KCkgd2l0aCBubyBjb250YWluZXIuCisgICAg
ICAgIAorICAgICAgICBQdWxsIFNlbGVjdGlvbkluZm8gb3V0IG9mIFJlbmRlck9iamVjdC5oLCBh
bmQgQmxvY2tTZWxlY3Rpb25JbmZvIG91dAorICAgICAgICBvZiBSZW5kZXJCbG9jay5oIGFuZCBt
b3ZlIHRoZW0gaW50byBSZW5kZXJTZWxlY3Rpb25JbmZvLmgsIHdpdGggc29tZQorICAgICAgICBz
aGFyaW5nIGFuZCByZWZhY3RvcmluZy4KKyAgICAgICAgCisgICAgICAgIFJlbmRlckJsb2NrOjpz
ZWxlY3Rpb25HYXBSZWN0c0ZvclJlcGFpbnQoKSBpcyBub3QgeWV0IGNvbnRhaW5lci1hd2FyZS4K
KworICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dl
YkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQlIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckJSOjpzZWxlY3Rpb25SZWN0Rm9yUmVwYWludCk6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlckJsb2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpzZWxlY3Rpb25H
YXBSZWN0c0ZvclJlcGFpbnQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5oOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OnNlbGVjdGlvblJlY3RGb3JSZXBhaW50KToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJMaXN0TWFya2VyOjpwYWludCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJM
aXN0TWFya2VyOjpzZWxlY3Rpb25SZWN0Rm9yUmVwYWludCk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckxpc3RNYXJrZXIuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0Lmg6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OnNlbGVjdGlvblJlY3QpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0OjpzZWxlY3Rpb25SZWN0Rm9yUmVwYWludCk6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclJlcGxhY2VkOjpzZWxlY3Rpb25SZWN0Rm9yUmVwYWludCk6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlclJlcGxhY2VkLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNWR0lubGlu
ZVRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHSW5saW5lVGV4dDo6YWJzb2x1
dGVSZWN0cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdJbmxpbmVUZXh0OjphYnNvbHV0
ZVF1YWRzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR0lubGluZVRleHQ6OnNlbGVjdGlv
blJlY3RGb3JSZXBhaW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR0lubGluZVRleHQ6
OmNvbXB1dGVSZXBhaW50UmVjdEZvclJhbmdlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
U1ZHSW5saW5lVGV4dC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTZWxlY3Rpb25JbmZv
Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU2VsZWN0aW9uSW5mb0Jhc2U6OlJl
bmRlclNlbGVjdGlvbkluZm9CYXNlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNlbGVjdGlv
bkluZm9CYXNlOjpvYmplY3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU2VsZWN0aW9uSW5m
b0Jhc2U6OnJlcGFpbnRDb250YWluZXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU2VsZWN0
aW9uSW5mb0Jhc2U6OnN0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNlbGVjdGlvbklu
Zm86OlJlbmRlclNlbGVjdGlvbkluZm8pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU2VsZWN0
aW9uSW5mbzo6cmVwYWludCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTZWxlY3Rpb25JbmZv
OjpyZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrU2VsZWN0aW9uSW5mbzo6UmVu
ZGVyQmxvY2tTZWxlY3Rpb25JbmZvKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrU2Vs
ZWN0aW9uSW5mbzo6cmVwYWludCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9ja1NlbGVj
dGlvbkluZm86OmJsb2NrKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrU2VsZWN0aW9u
SW5mbzo6cmVjdHMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclRleHQ6OnNlbGVjdGlvblJlY3RGb3JSZXBhaW50KToKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4dC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJW
aWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclZpZXc6OnNlbGVjdGlvbkJvdW5kcyk6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJWaWV3OjpzZXRTZWxlY3Rpb24pOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJWaWV3Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlcldpZGdl
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJXaWRnZXQ6OnBhaW50KToKKwogMjAwOS0w
Mi0wMiAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBEYXZlIEh5YXR0CmRpZmYgLS1naXQgYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFt
IGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRleCBmYTM2YTU3Li4zYWFiYzJjIDEwMDY0NAot
LS0gYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0K
QEAgLTE1NzksNiArMTU3OSw3IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyU2Nyb2xsYmFyUGFydC5oIFwKIAlXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJT
Y3JvbGxiYXJUaGVtZS5jcHAgXAogCVdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhclRo
ZW1lLmggXAorCVdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNlbGVjdGlvbkluZm8uaCBcCiAJV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyU2xpZGVyLmNwcCBcCiAJV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyU2xpZGVyLmggXAogCVdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcCBcCmRpZmYg
LS1naXQgYS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvV2ViQ29yZS9X
ZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCA0NjExN2U3Li5kYzkwNTEzIDEwMDY0
NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1dlYkNv
cmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTk1MDYsNiArOTUwNiwxMCBAQAog
CQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxyZW5kZXJp
bmdcUmVuZGVyU2VsZWN0aW9uSW5mby5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJ
CQkJUmVsYXRpdmVQYXRoPSIuLlxyZW5kZXJpbmdcUmVuZGVyU2xpZGVyLmNwcCIKIAkJCQk+CiAJ
CQkJPEZpbGVDb25maWd1cmF0aW9uCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvaiBiL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IDJhZjliNmQuLjRiOGE4ODggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNDQsNiArMTQ0LDcgQEAKIAkJMEJBNUQzODYwRjI0MEZC
NDAwOUI4NzBCIC8qIEdlbmVyaWNXb3JrZXJUYXNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwQkE1RDM4NTBGMjQwRkI0MDA5Qjg3MEIgLyogR2VuZXJp
Y1dvcmtlclRhc2suaCAqLzsgfTsKIAkJMEJCNERCRTIwRjJFRTI5ODAwMzU0NjE5IC8qIENyb3Nz
VGhyZWFkQ29waWVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDBCQjREQkUxMEYyRUUyOTgwMDM1NDYxOSAvKiBDcm9zc1RocmVhZENvcGllci5jcHAg
Ki87IH07CiAJCTBCRTAzMEEyMEYzMTEyRkIwMDNDMUE0NiAvKiBSZW5kZXJMaW5lQm94TGlzdC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEJFMDMwQTEw
RjMxMTJGQjAwM0MxQTQ2IC8qIFJlbmRlckxpbmVCb3hMaXN0LmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEYxMUE1NEYwRjM5MjMzMTAwQzM3ODg0
IC8qIFJlbmRlclNlbGVjdGlvbkluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDBGMTFBNTRFMEYzOTIzMzEwMEMzNzg4NCAvKiBSZW5kZXJTZWxlY3Rp
b25JbmZvLmggKi87IH07CiAJCTBGNTYwMjhGMEU0Qjc2NTgwMDY1QjAzOCAvKiBSZW5kZXJNYXJx
dWVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjU2
MDI4RDBFNEI3NjU4MDA2NUIwMzggLyogUmVuZGVyTWFycXVlZS5oICovOyB9OwogCQkwRjU2MDI5
MDBFNEI3NjU4MDA2NUIwMzggLyogUmVuZGVyTWFycXVlZS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjU2MDI4RTBFNEI3NjU4MDA2NUIwMzggLyog
UmVuZGVyTWFycXVlZS5jcHAgKi87IH07CiAJCTBGNTgwQjA1MEYxMkEyNTUwMDUxRDY4OSAvKiBH
cmFwaGljc0xheWVyQ0EubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwRjU4MEIwMzBGMTJBMjU0MDA1MUQ2ODkgLyogR3JhcGhpY3NMYXllckNBLm1tICov
OyB9OwpAQCAtNTAwOCw2ICs1MDA5LDcgQEAKIAkJMEJBNUQzODUwRjI0MEZCNDAwOUI4NzBCIC8q
IEdlbmVyaWNXb3JrZXJUYXNrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdl
bmVyaWNXb3JrZXJUYXNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBCQjREQkUx
MEYyRUUyOTgwMDM1NDYxOSAvKiBDcm9zc1RocmVhZENvcGllci5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDcm9zc1RocmVhZENvcGllci5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTBCRTAzMEExMEYzMTEyRkIwMDNDMUE0NiAvKiBSZW5kZXJMaW5l
Qm94TGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJMaW5lQm94
TGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjExQTU0RTBGMzkyMzMxMDBD
Mzc4ODQgLyogUmVuZGVyU2VsZWN0aW9uSW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBSZW5kZXJTZWxlY3Rpb25JbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTBGNTYwMjhEMEU0Qjc2NTgwMDY1QjAzOCAvKiBSZW5kZXJNYXJxdWVlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRlck1hcnF1ZWUuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMEY1NjAyOEUwRTRCNzY1ODAwNjVCMDM4IC8qIFJlbmRlck1hcnF1ZWUu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVuZGVyTWFycXVlZS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGNTgwQjAzMEYxMkEyNTQwMDUxRDY4
OSAvKiBHcmFwaGljc0xheWVyQ0EubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IHBhdGggPSBHcmFwaGljc0xheWVyQ0EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC0xNDE1OSw2ICsxNDE2MSw3IEBACiAJCQkJQTg3MURGREYwQTE1Mzc2QjAwQjEyQTY4IC8qIFJl
bmRlclJlcGxhY2VkLmggKi8sCiAJCQkJQkNBODQ2RDQwREM2N0EzNTAwMjZDMzA5IC8qIFJlbmRl
clJlcGxpY2EuY3BwICovLAogCQkJCUJDQTg0NkQ1MERDNjdBMzUwMDI2QzMwOSAvKiBSZW5kZXJS
ZXBsaWNhLmggKi8sCisJCQkJMEYxMUE1NEUwRjM5MjMzMTAwQzM3ODg0IC8qIFJlbmRlclNlbGVj
dGlvbkluZm8uaCAqLywKIAkJCQlBNzM1MkMxNzBCMUJCODlEMDBBOTg2RDAgLyogUmVuZGVyU1ZH
QmxvY2suY3BwICovLAogCQkJCUE3MzUyQzE4MEIxQkI4OUQwMEE5ODZEMCAvKiBSZW5kZXJTVkdC
bG9jay5oICovLAogCQkJCTg1M0NBOUNBMEFFRUM1RTkwMDIzNzJEQyAvKiBSZW5kZXJTVkdDb250
YWluZXIuY3BwICovLApAQCAtMTY3MjYsNiArMTY3MjksNyBAQAogCQkJCTFBNTY5RDIzMEQ3RTJC
ODIwMDdDMzk4MyAvKiBydW50aW1lX29iamVjdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE1NjlE
MjUwRDdFMkI4MjAwN0MzOTgzIC8qIHJ1bnRpbWVfcm9vdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
OTMzMDlFMUUwOTlFNjQ5MjAwNTZFNTgxIC8qIHZpc2libGVfdW5pdHMuaCBpbiBIZWFkZXJzICov
LAorCQkJCTBGMTFBNTRGMEYzOTIzMzEwMEMzNzg4NCAvKiBSZW5kZXJTZWxlY3Rpb25JbmZvLmgg
aW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNz
aW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJSLmgg
Yi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCUi5oCmluZGV4IGI2NWJiNTguLjI2NmU2NDQgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJSLmgKKysrIGIvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQlIuaApAQCAtNDAsNyArNDAsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFs
IGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCB7IHJldHVybiAiUmVuZGVyQlIiOyB9CiAg
Ci0gICAgdmlydHVhbCBJbnRSZWN0IHNlbGVjdGlvblJlY3QoYm9vbCkgeyByZXR1cm4gSW50UmVj
dCgpOyB9CisgICAgdmlydHVhbCBJbnRSZWN0IHNlbGVjdGlvblJlY3RGb3JSZXBhaW50KFJlbmRl
ckJveCogLypyZXBhaW50Q29udGFpbmVyKi8sIGJvb2wgLypjbGlwVG9WaXNpYmxlQ29udGVudCov
KSB7IHJldHVybiBJbnRSZWN0KCk7IH0KIAogICAgIHZpcnR1YWwgdW5zaWduZWQgd2lkdGgodW5z
aWduZWQgLypmcm9tKi8sIHVuc2lnbmVkIC8qbGVuKi8sIGNvbnN0IEZvbnQmLCBpbnQgLyp4cG9z
Ki8pIGNvbnN0IHsgcmV0dXJuIDA7IH0KICAgICB2aXJ0dWFsIHVuc2lnbmVkIHdpZHRoKHVuc2ln
bmVkIC8qZnJvbSovLCB1bnNpZ25lZCAvKmxlbiovLCBpbnQgLyp4cG9zKi8sIGJvb2wgLypmaXJz
dExpbmUgPSBmYWxzZSovKSBjb25zdCB7IHJldHVybiAwOyB9CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9j
ay5jcHAKaW5kZXggOTg2M2QzZC4uMDViZThlNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQmxvY2suY3BwCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNw
cApAQCAtMTk2MiwxNCArMTk2MiwxNCBAQCBib29sIFJlbmRlckJsb2NrOjppc1NlbGVjdGlvblJv
b3QoKSBjb25zdAogICAgIHJldHVybiBmYWxzZTsKIH0KIAotR2FwUmVjdHMgUmVuZGVyQmxvY2s6
OnNlbGVjdGlvbkdhcFJlY3RzKCkKK0dhcFJlY3RzIFJlbmRlckJsb2NrOjpzZWxlY3Rpb25HYXBS
ZWN0c0ZvclJlcGFpbnQoUmVuZGVyQm94KiAvKnJlcGFpbnRDb250YWluZXIqLykKIHsKICAgICBB
U1NFUlQoIW5lZWRzTGF5b3V0KCkpOwogCiAgICAgaWYgKCFzaG91bGRQYWludFNlbGVjdGlvbkdh
cHMoKSkKICAgICAgICAgcmV0dXJuIEdhcFJlY3RzKCk7CiAKLSAgICAvLyBGSVhNRTogdGhpcyBp
cyBicm9rZW4gd2l0aCB0cmFuc2Zvcm1zCisgICAgLy8gRklYTUU6IHRoaXMgaXMgYnJva2VuIHdp
dGggdHJhbnNmb3JtcyBhbmQgYSBub24tbnVsbCByZXBhaW50Q29udGFpbmVyCiAgICAgRmxvYXRQ
b2ludCBhYnNDb250ZW50UG9pbnQgPSBsb2NhbFRvQWJzb2x1dGUoRmxvYXRQb2ludCgpKTsKICAg
ICBpZiAoaGFzT3ZlcmZsb3dDbGlwKCkpCiAgICAgICAgIGFic0NvbnRlbnRQb2ludCAtPSBsYXll
cigpLT5zY3JvbGxlZENvbnRlbnRPZmZzZXQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJsb2NrLmggYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCmluZGV4
IDhlNWNmNzIuLjU4NzdiYzAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJs
b2NrLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaApAQCAtMjYyLDMxICsy
NjIsMTEgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIHNldFNlbGVjdGlvblN0YXRlKFNl
bGVjdGlvblN0YXRlIHMpOwogCi0gICAgc3RydWN0IEJsb2NrU2VsZWN0aW9uSW5mbyB7Ci0gICAg
ICAgIFJlbmRlckJsb2NrKiBtX2Jsb2NrOwotICAgICAgICBHYXBSZWN0cyBtX3JlY3RzOwotICAg
ICAgICBTZWxlY3Rpb25TdGF0ZSBtX3N0YXRlOwotCi0gICAgICAgIEJsb2NrU2VsZWN0aW9uSW5m
bygpCi0gICAgICAgICAgICA6IG1fYmxvY2soMCkKLSAgICAgICAgICAgICwgbV9zdGF0ZShTZWxl
Y3Rpb25Ob25lKQotICAgICAgICB7Ci0gICAgICAgIH0KLQotICAgICAgICBCbG9ja1NlbGVjdGlv
bkluZm8oUmVuZGVyQmxvY2sqIGIpCi0gICAgICAgICAgICA6IG1fYmxvY2soYikKLSAgICAgICAg
ICAgICwgbV9yZWN0cyhiLT5uZWVkc0xheW91dCgpID8gR2FwUmVjdHMoKSA6IGItPnNlbGVjdGlv
bkdhcFJlY3RzKCkpCi0gICAgICAgICAgICAsIG1fc3RhdGUoYi0+c2VsZWN0aW9uU3RhdGUoKSkK
LSAgICAgICAgeyAKLSAgICAgICAgfQotCi0gICAgICAgIFJlbmRlckJsb2NrKiBibG9jaygpIGNv
bnN0IHsgcmV0dXJuIG1fYmxvY2s7IH0KLSAgICAgICAgR2FwUmVjdHMgcmVjdHMoKSBjb25zdCB7
IHJldHVybiBtX3JlY3RzOyB9Ci0gICAgICAgIFNlbGVjdGlvblN0YXRlIHN0YXRlKCkgY29uc3Qg
eyByZXR1cm4gbV9zdGF0ZTsgfQotICAgIH07Ci0KLSAgICB2aXJ0dWFsIEludFJlY3Qgc2VsZWN0
aW9uUmVjdChib29sKSB7IHJldHVybiBzZWxlY3Rpb25HYXBSZWN0cygpOyB9Ci0gICAgR2FwUmVj
dHMgc2VsZWN0aW9uR2FwUmVjdHMoKTsKKyAgICB2aXJ0dWFsIEludFJlY3Qgc2VsZWN0aW9uUmVj
dEZvclJlcGFpbnQoUmVuZGVyQm94KiByZXBhaW50Q29udGFpbmVyLCBib29sIC8qY2xpcFRvVmlz
aWJsZUNvbnRlbnQqLykKKyAgICB7CisgICAgICAgIHJldHVybiBzZWxlY3Rpb25HYXBSZWN0c0Zv
clJlcGFpbnQocmVwYWludENvbnRhaW5lcik7CisgICAgfQorICAgIEdhcFJlY3RzIHNlbGVjdGlv
bkdhcFJlY3RzRm9yUmVwYWludChSZW5kZXJCb3gqIHJlcGFpbnRDb250YWluZXIpOwogICAgIHZp
cnR1YWwgYm9vbCBzaG91bGRQYWludFNlbGVjdGlvbkdhcHMoKSBjb25zdDsKICAgICBib29sIGlz
U2VsZWN0aW9uUm9vdCgpIGNvbnN0OwogICAgIEdhcFJlY3RzIGZpbGxTZWxlY3Rpb25HYXBzKFJl
bmRlckJsb2NrKiByb290QmxvY2ssIGludCBibG9ja1gsIGludCBibG9ja1ksIGludCB0eCwgaW50
IHR5LApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5jcHAg
Yi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0TWFya2VyLmNwcAppbmRleCBkNzQzMGQ5Li4w
NDQ5Nzk0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0TWFya2VyLmNw
cAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0TWFya2VyLmNwcApAQCAtNTQ1LDgg
KzU0NSwxMCBAQCB2b2lkIFJlbmRlckxpc3RNYXJrZXI6OnBhaW50KFBhaW50SW5mbyYgcGFpbnRJ
bmZvLCBpbnQgdHgsIGludCB0eSkKICAgICAgICAgICAgIHBhaW50Q3VzdG9tSGlnaGxpZ2h0KHR4
LCB0eSwgc3R5bGUoKS0+aGlnaGxpZ2h0KCksIHRydWUpOwogI2VuZGlmCiAgICAgICAgIGNvbnRl
eHQtPmRyYXdJbWFnZShtX2ltYWdlLT5pbWFnZSh0aGlzLCBtYXJrZXIuc2l6ZSgpKSwgbWFya2Vy
LmxvY2F0aW9uKCkpOwotICAgICAgICBpZiAoc2VsZWN0aW9uU3RhdGUoKSAhPSBTZWxlY3Rpb25O
b25lKQorICAgICAgICBpZiAoc2VsZWN0aW9uU3RhdGUoKSAhPSBTZWxlY3Rpb25Ob25lKSB7Cisg
ICAgICAgICAgICAvLyBGSVhNRTogc2VsZWN0aW9uUmVjdCgpIGlzIGluIGFic29sdXRlLCBub3Qg
cGFpbnRpbmcgY29vcmRpbmF0ZXMuCiAgICAgICAgICAgICBjb250ZXh0LT5maWxsUmVjdChzZWxl
Y3Rpb25SZWN0KCksIHNlbGVjdGlvbkJhY2tncm91bmRDb2xvcigpKTsKKyAgICAgICAgfQogICAg
ICAgICByZXR1cm47CiAgICAgfQogCkBAIC01NTYsOCArNTU4LDEwIEBAIHZvaWQgUmVuZGVyTGlz
dE1hcmtlcjo6cGFpbnQoUGFpbnRJbmZvJiBwYWludEluZm8sIGludCB0eCwgaW50IHR5KQogICAg
ICAgICBwYWludEN1c3RvbUhpZ2hsaWdodCh0eCwgdHksIHN0eWxlKCktPmhpZ2hsaWdodCgpLCB0
cnVlKTsKICNlbmRpZgogCi0gICAgaWYgKHNlbGVjdGlvblN0YXRlKCkgIT0gU2VsZWN0aW9uTm9u
ZSkKKyAgICBpZiAoc2VsZWN0aW9uU3RhdGUoKSAhPSBTZWxlY3Rpb25Ob25lKSB7CisgICAgICAg
IC8vIEZJWE1FOiBzZWxlY3Rpb25SZWN0KCkgaXMgaW4gYWJzb2x1dGUsIG5vdCBwYWludGluZyBj
b29yZGluYXRlcy4KICAgICAgICAgY29udGV4dC0+ZmlsbFJlY3Qoc2VsZWN0aW9uUmVjdCgpLCBz
ZWxlY3Rpb25CYWNrZ3JvdW5kQ29sb3IoKSk7CisgICAgfQogCiAgICAgY29uc3QgQ29sb3IgY29s
b3Ioc3R5bGUoKS0+Y29sb3IoKSk7CiAgICAgY29udGV4dC0+c2V0U3Ryb2tlQ29sb3IoY29sb3Ip
OwpAQCAtODgwLDcgKzg4NCw3IEBAIHZvaWQgUmVuZGVyTGlzdE1hcmtlcjo6c2V0U2VsZWN0aW9u
U3RhdGUoU2VsZWN0aW9uU3RhdGUgc3RhdGUpCiAgICAgY29udGFpbmluZ0Jsb2NrKCktPnNldFNl
bGVjdGlvblN0YXRlKHN0YXRlKTsKIH0KIAotSW50UmVjdCBSZW5kZXJMaXN0TWFya2VyOjpzZWxl
Y3Rpb25SZWN0KGJvb2wgY2xpcFRvVmlzaWJsZUNvbnRlbnQpCitJbnRSZWN0IFJlbmRlckxpc3RN
YXJrZXI6OnNlbGVjdGlvblJlY3RGb3JSZXBhaW50KFJlbmRlckJveCogcmVwYWludENvbnRhaW5l
ciwgYm9vbCBjbGlwVG9WaXNpYmxlQ29udGVudCkKIHsKICAgICBBU1NFUlQoIW5lZWRzTGF5b3V0
KCkpOwogCkBAIC04OTEsMTEgKzg5NSw5IEBAIEludFJlY3QgUmVuZGVyTGlzdE1hcmtlcjo6c2Vs
ZWN0aW9uUmVjdChib29sIGNsaXBUb1Zpc2libGVDb250ZW50KQogICAgIEludFJlY3QgcmVjdCgw
LCByb290LT5zZWxlY3Rpb25Ub3AoKSAtIHkoKSwgd2lkdGgoKSwgcm9vdC0+c2VsZWN0aW9uSGVp
Z2h0KCkpOwogICAgICAgICAgICAgCiAgICAgaWYgKGNsaXBUb1Zpc2libGVDb250ZW50KQotICAg
ICAgICBjb21wdXRlQWJzb2x1dGVSZXBhaW50UmVjdChyZWN0KTsKLSAgICBlbHNlIHsKLSAgICAg
ICAgRmxvYXRQb2ludCBhYnNQb3MgPSBsb2NhbFRvQWJzb2x1dGUoKTsKLSAgICAgICAgcmVjdC5t
b3ZlKGFic1Bvcy54KCksIGFic1Bvcy55KCkpOwotICAgIH0KKyAgICAgICAgY29tcHV0ZVJlY3RG
b3JSZXBhaW50KHJlcGFpbnRDb250YWluZXIsIHJlY3QpOworICAgIGVsc2UKKyAgICAgICAgcmVj
dCA9IGxvY2FsVG9Db250YWluZXJRdWFkKEZsb2F0UmVjdChyZWN0KSwgcmVwYWludENvbnRhaW5l
cikuZW5jbG9zaW5nQm91bmRpbmdCb3goKTsKICAgICAKICAgICByZXR1cm4gcmVjdDsKIH0KZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RNYXJrZXIuaCBiL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxpc3RNYXJrZXIuaAppbmRleCBhNWU2ZTZiLi4xOTdkZjY3IDEwMDY0
NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0TWFya2VyLmgKKysrIGIvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5oCkBAIC02MSw3ICs2MSw3IEBAIHB1YmxpYzoK
ICAgICBib29sIGlzSW5zaWRlKCkgY29uc3Q7CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0U2VsZWN0
aW9uU3RhdGUoU2VsZWN0aW9uU3RhdGUpOwotICAgIHZpcnR1YWwgSW50UmVjdCBzZWxlY3Rpb25S
ZWN0KGJvb2wgY2xpcFRvVmlzaWJsZUNvbnRlbnQgPSB0cnVlKTsKKyAgICB2aXJ0dWFsIEludFJl
Y3Qgc2VsZWN0aW9uUmVjdEZvclJlcGFpbnQoUmVuZGVyQm94KiByZXBhaW50Q29udGFpbmVyLCBi
b29sIGNsaXBUb1Zpc2libGVDb250ZW50ID0gdHJ1ZSk7CiAgICAgdmlydHVhbCBib29sIGNhbkJl
U2VsZWN0aW9uTGVhZigpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KIAogICAgIHZvaWQgdXBkYXRl
TWFyZ2lucygpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0Lmgg
Yi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAppbmRleCA1OTY1YTFlLi41NGE5YWZk
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAorKysgYi9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaApAQCAtNjU5LDcgKzY1OSw4IEBAIHB1YmxpYzoK
IAogICAgIC8vIEEgc2luZ2xlIHJlY3RhbmdsZSB0aGF0IGVuY29tcGFzc2VzIGFsbCBvZiB0aGUg
c2VsZWN0ZWQgb2JqZWN0cyB3aXRoaW4gdGhpcyBvYmplY3QuICBVc2VkIHRvIGRldGVybWluZSB0
aGUgdGlnaHRlc3QKICAgICAvLyBwb3NzaWJsZSBib3VuZGluZyBib3ggZm9yIHRoZSBzZWxlY3Rp
b24uCi0gICAgdmlydHVhbCBJbnRSZWN0IHNlbGVjdGlvblJlY3QoYm9vbCkgeyByZXR1cm4gSW50
UmVjdCgpOyB9CisgICAgSW50UmVjdCBzZWxlY3Rpb25SZWN0KGJvb2wgY2xpcFRvVmlzaWJsZUNv
bnRlbnQgPSB0cnVlKSB7IHJldHVybiBzZWxlY3Rpb25SZWN0Rm9yUmVwYWludCgwLCBjbGlwVG9W
aXNpYmxlQ29udGVudCk7IH0KKyAgICB2aXJ0dWFsIEludFJlY3Qgc2VsZWN0aW9uUmVjdEZvclJl
cGFpbnQoUmVuZGVyQm94KiAvKnJlcGFpbnRDb250YWluZXIqLywgYm9vbCAvKmNsaXBUb1Zpc2li
bGVDb250ZW50Ki8gPSB0cnVlKSB7IHJldHVybiBJbnRSZWN0KCk7IH0KIAogICAgIC8vIFdoZXRo
ZXIgb3Igbm90IGFuIG9iamVjdCBjYW4gYmUgcGFydCBvZiB0aGUgbGVhZiBlbGVtZW50cyBvZiB0
aGUgc2VsZWN0aW9uLgogICAgIHZpcnR1YWwgYm9vbCBjYW5CZVNlbGVjdGlvbkxlYWYoKSBjb25z
dCB7IHJldHVybiBmYWxzZTsgfQpAQCAtNjc0LDMwICs2NzUsNiBAQCBwdWJsaWM6CiAgICAgLy8g
V2hldGhlciBvciBub3QgYSBnaXZlbiBibG9jayBuZWVkcyB0byBwYWludCBzZWxlY3Rpb24gZ2Fw
cy4KICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkUGFpbnRTZWxlY3Rpb25HYXBzKCkgY29uc3QgeyBy
ZXR1cm4gZmFsc2U7IH0KIAotICAgIC8vIFRoaXMgc3RydWN0IGlzIHVzZWQgd2hlbiB0aGUgc2Vs
ZWN0aW9uIGNoYW5nZXMgdG8gY2FjaGUgdGhlIG9sZCBhbmQgbmV3IHN0YXRlIG9mIHRoZSBzZWxl
Y3Rpb24gZm9yIGVhY2ggUmVuZGVyT2JqZWN0LgotICAgIHN0cnVjdCBTZWxlY3Rpb25JbmZvIHsK
LSAgICAgICAgU2VsZWN0aW9uSW5mbygpCi0gICAgICAgICAgICA6IG1fb2JqZWN0KDApCi0gICAg
ICAgICAgICAsIG1fc3RhdGUoU2VsZWN0aW9uTm9uZSkKLSAgICAgICAgewotICAgICAgICB9Ci0K
LSAgICAgICAgU2VsZWN0aW9uSW5mbyhSZW5kZXJPYmplY3QqIG8sIGJvb2wgY2xpcFRvVmlzaWJs
ZUNvbnRlbnQpCi0gICAgICAgICAgICA6IG1fb2JqZWN0KG8pCi0gICAgICAgICAgICAsIG1fcmVj
dChvLT5uZWVkc0xheW91dCgpID8gSW50UmVjdCgpIDogby0+c2VsZWN0aW9uUmVjdChjbGlwVG9W
aXNpYmxlQ29udGVudCkpCi0gICAgICAgICAgICAsIG1fc3RhdGUoby0+c2VsZWN0aW9uU3RhdGUo
KSkKLSAgICAgICAgewotICAgICAgICB9Ci0KLSAgICAgICAgUmVuZGVyT2JqZWN0KiBvYmplY3Qo
KSBjb25zdCB7IHJldHVybiBtX29iamVjdDsgfQotICAgICAgICBJbnRSZWN0IHJlY3QoKSBjb25z
dCB7IHJldHVybiBtX3JlY3Q7IH0KLSAgICAgICAgU2VsZWN0aW9uU3RhdGUgc3RhdGUoKSBjb25z
dCB7IHJldHVybiBtX3N0YXRlOyB9Ci0KLSAgICAgICAgUmVuZGVyT2JqZWN0KiBtX29iamVjdDsK
LSAgICAgICAgSW50UmVjdCBtX3JlY3Q7Ci0gICAgICAgIFNlbGVjdGlvblN0YXRlIG1fc3RhdGU7
Ci0gICAgfTsKLQogICAgIE5vZGUqIGRyYWdnYWJsZU5vZGUoYm9vbCBkaHRtbE9LLCBib29sIHVh
T0ssIGludCB4LCBpbnQgeSwgYm9vbCYgZGh0bWxXaWxsRHJhZykgY29uc3Q7CiAKICAgICAvKioK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcCBiL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcAppbmRleCBjZWEzZTIxLi40YzEzNzFlIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHAKKysrIGIvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwCkBAIC0yMzQsNyArMjM0LDcgQEAgVmlz
aWJsZVBvc2l0aW9uIFJlbmRlclJlcGxhY2VkOjpwb3NpdGlvbkZvckNvb3JkaW5hdGVzKGludCB4
UG9zLCBpbnQgeVBvcykKICAgICByZXR1cm4gUmVuZGVyQm94Ojpwb3NpdGlvbkZvckNvb3JkaW5h
dGVzKHhQb3MsIHlQb3MpOwogfQogCi1JbnRSZWN0IFJlbmRlclJlcGxhY2VkOjpzZWxlY3Rpb25S
ZWN0KGJvb2wgY2xpcFRvVmlzaWJsZUNvbnRlbnQpCitJbnRSZWN0IFJlbmRlclJlcGxhY2VkOjpz
ZWxlY3Rpb25SZWN0Rm9yUmVwYWludChSZW5kZXJCb3gqIHJlcGFpbnRDb250YWluZXIsIGJvb2wg
Y2xpcFRvVmlzaWJsZUNvbnRlbnQpCiB7CiAgICAgQVNTRVJUKCFuZWVkc0xheW91dCgpKTsKIApA
QCAtMjQzLDExICsyNDMsOSBAQCBJbnRSZWN0IFJlbmRlclJlcGxhY2VkOjpzZWxlY3Rpb25SZWN0
KGJvb2wgY2xpcFRvVmlzaWJsZUNvbnRlbnQpCiAgICAgCiAgICAgSW50UmVjdCByZWN0ID0gbG9j
YWxTZWxlY3Rpb25SZWN0KCk7CiAgICAgaWYgKGNsaXBUb1Zpc2libGVDb250ZW50KQotICAgICAg
ICBjb21wdXRlQWJzb2x1dGVSZXBhaW50UmVjdChyZWN0KTsKLSAgICBlbHNlIHsKLSAgICAgICAg
RmxvYXRQb2ludCBhYnNQb3MgPSBsb2NhbFRvQWJzb2x1dGUoRmxvYXRQb2ludCgpKTsKLSAgICAg
ICAgcmVjdC5tb3ZlKGFic1Bvcy54KCksIGFic1Bvcy55KCkpOwotICAgIH0KKyAgICAgICAgY29t
cHV0ZVJlY3RGb3JSZXBhaW50KHJlcGFpbnRDb250YWluZXIsIHJlY3QpOworICAgIGVsc2UKKyAg
ICAgICAgcmVjdCA9IGxvY2FsVG9Db250YWluZXJRdWFkKEZsb2F0UmVjdChyZWN0KSwgcmVwYWlu
dENvbnRhaW5lcikuZW5jbG9zaW5nQm91bmRpbmdCb3goKTsKICAgICAKICAgICByZXR1cm4gcmVj
dDsKIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmggYi9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5oCmluZGV4IDQxMjFlZWMuLjhkNjI2OTQg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmgKKysrIGIvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuaApAQCAtNjIsNyArNjIsNyBAQCBwdWJsaWM6
CiAgICAgCiAgICAgdmlydHVhbCBib29sIGNhbkJlU2VsZWN0aW9uTGVhZigpIGNvbnN0IHsgcmV0
dXJuIHRydWU7IH0KICAgICB2aXJ0dWFsIHZvaWQgc2V0U2VsZWN0aW9uU3RhdGUoU2VsZWN0aW9u
U3RhdGUpOwotICAgIHZpcnR1YWwgSW50UmVjdCBzZWxlY3Rpb25SZWN0KGJvb2wgY2xpcFRvVmlz
aWJsZUNvbnRlbnQgPSB0cnVlKTsKKyAgICB2aXJ0dWFsIEludFJlY3Qgc2VsZWN0aW9uUmVjdEZv
clJlcGFpbnQoUmVuZGVyQm94KiByZXBhaW50Q29udGFpbmVyLCBib29sIGNsaXBUb1Zpc2libGVD
b250ZW50ID0gdHJ1ZSk7CiAKICAgICBib29sIGlzU2VsZWN0ZWQoKSBjb25zdDsKIApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHSW5saW5lVGV4dC5jcHAgYi9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJTVkdJbmxpbmVUZXh0LmNwcAppbmRleCBmNGRiYjY5Li4zOTNkMmVk
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdJbmxpbmVUZXh0LmNwcAor
KysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdJbmxpbmVUZXh0LmNwcApAQCAtNjgsMjUg
KzY4LDI0IEBAIHZvaWQgUmVuZGVyU1ZHSW5saW5lVGV4dDo6c3R5bGVEaWRDaGFuZ2UoUmVuZGVy
U3R5bGU6OkRpZmYgZGlmZiwgY29uc3QgUmVuZGVyU3R5CiAKIHZvaWQgUmVuZGVyU1ZHSW5saW5l
VGV4dDo6YWJzb2x1dGVSZWN0cyhWZWN0b3I8SW50UmVjdD4mIHJlY3RzLCBpbnQsIGludCwgYm9v
bCkKIHsKLSAgICByZWN0cy5hcHBlbmQoY29tcHV0ZUFic29sdXRlUmVjdEZvclJhbmdlKDAsIHRl
eHRMZW5ndGgoKSkpOworICAgIHJlY3RzLmFwcGVuZChjb21wdXRlUmVwYWludFJlY3RGb3JSYW5n
ZSgwLCAwLCB0ZXh0TGVuZ3RoKCkpKTsKIH0KIAogdm9pZCBSZW5kZXJTVkdJbmxpbmVUZXh0Ojph
YnNvbHV0ZVF1YWRzKFZlY3RvcjxGbG9hdFF1YWQ+JiBxdWFkcywgYm9vbCkKIHsKLSAgICBxdWFk
cy5hcHBlbmQoRmxvYXRSZWN0KGNvbXB1dGVBYnNvbHV0ZVJlY3RGb3JSYW5nZSgwLCB0ZXh0TGVu
Z3RoKCkpKSk7CisgICAgcXVhZHMuYXBwZW5kKEZsb2F0UmVjdChjb21wdXRlUmVwYWludFJlY3RG
b3JSYW5nZSgwLCAwLCB0ZXh0TGVuZ3RoKCkpKSk7CiB9CiAKLUludFJlY3QgUmVuZGVyU1ZHSW5s
aW5lVGV4dDo6c2VsZWN0aW9uUmVjdChib29sKQorSW50UmVjdCBSZW5kZXJTVkdJbmxpbmVUZXh0
OjpzZWxlY3Rpb25SZWN0Rm9yUmVwYWludChSZW5kZXJCb3gqIHJlcGFpbnRDb250YWluZXIsIGJv
b2wgLypjbGlwVG9WaXNpYmxlQ29udGVudCovKQogewogICAgIEFTU0VSVCghbmVlZHNMYXlvdXQo
KSk7CiAKLSAgICBJbnRSZWN0IHJlY3Q7CiAgICAgaWYgKHNlbGVjdGlvblN0YXRlKCkgPT0gU2Vs
ZWN0aW9uTm9uZSkKLSAgICAgICAgcmV0dXJuIHJlY3Q7CisgICAgICAgIHJldHVybiBJbnRSZWN0
KCk7CiAKICAgICAvLyBFYXJseSBleGl0IGlmIHdlJ3JlIGllLiBhIDx0ZXh0PiB3aXRoaW4gYSA8
ZGVmcz4gc2VjdGlvbi4KICAgICBpZiAoaXNDaGlsZE9mSGlkZGVuQ29udGFpbmVyKHRoaXMpKQot
ICAgICAgICByZXR1cm4gcmVjdDsKKyAgICAgICAgcmV0dXJuIEludFJlY3QoKTsKIAogICAgIC8v
IE5vdyBjYWxjdWxhdGUgc3RhcnRQb3MgYW5kIGVuZFBvcyBmb3IgcGFpbnRpbmcgc2VsZWN0aW9u
LgogICAgIC8vIFdlIGluY2x1ZGUgYSBzZWxlY3Rpb24gd2hpbGUgZW5kUG9zID4gMApAQCAtMTA0
LDIzICsxMDMsMjIgQEAgSW50UmVjdCBSZW5kZXJTVkdJbmxpbmVUZXh0OjpzZWxlY3Rpb25SZWN0
KGJvb2wpCiAgICAgfQogCiAgICAgaWYgKHN0YXJ0UG9zID09IGVuZFBvcykKLSAgICAgICAgcmV0
dXJuIHJlY3Q7CisgICAgICAgIHJldHVybiBJbnRSZWN0KCk7CiAKLSAgICByZXR1cm4gY29tcHV0
ZUFic29sdXRlUmVjdEZvclJhbmdlKHN0YXJ0UG9zLCBlbmRQb3MpOworICAgIHJldHVybiBjb21w
dXRlUmVwYWludFJlY3RGb3JSYW5nZShyZXBhaW50Q29udGFpbmVyLCBzdGFydFBvcywgZW5kUG9z
KTsKIH0KIAotSW50UmVjdCBSZW5kZXJTVkdJbmxpbmVUZXh0Ojpjb21wdXRlQWJzb2x1dGVSZWN0
Rm9yUmFuZ2UoaW50IHN0YXJ0UG9zLCBpbnQgZW5kUG9zKQorSW50UmVjdCBSZW5kZXJTVkdJbmxp
bmVUZXh0Ojpjb21wdXRlUmVwYWludFJlY3RGb3JSYW5nZShSZW5kZXJCb3gqIC8qcmVwYWludENv
bnRhaW5lciovLCBpbnQgc3RhcnRQb3MsIGludCBlbmRQb3MpCiB7Ci0gICAgSW50UmVjdCByZWN0
OwotCiAgICAgUmVuZGVyQmxvY2sqIGNiID0gY29udGFpbmluZ0Jsb2NrKCk7CiAgICAgaWYgKCFj
YiB8fCAhY2ItPmNvbnRhaW5lcigpKQotICAgICAgICByZXR1cm4gcmVjdDsKKyAgICAgICAgcmV0
dXJuIEludFJlY3QoKTsKIAogICAgIFJlbmRlclNWR1Jvb3QqIHJvb3QgPSBmaW5kU1ZHUm9vdE9i
amVjdChwYXJlbnQoKSk7CiAgICAgaWYgKCFyb290KQotICAgICAgICByZXR1cm4gcmVjdDsKKyAg
ICAgICAgcmV0dXJuIEludFJlY3QoKTsKIAorICAgIEludFJlY3QgcmVjdDsKICAgICBmb3IgKElu
bGluZVRleHRCb3gqIGJveCA9IGZpcnN0VGV4dEJveCgpOyBib3g7IGJveCA9IGJveC0+bmV4dFRl
eHRCb3goKSkKICAgICAgICAgcmVjdC51bml0ZShib3gtPnNlbGVjdGlvblJlY3QoMCwgMCwgc3Rh
cnRQb3MsIGVuZFBvcykpOwogCkBAIC0xMzMsNyArMTMxLDcgQEAgSW50UmVjdCBSZW5kZXJTVkdJ
bmxpbmVUZXh0Ojpjb21wdXRlQWJzb2x1dGVSZWN0Rm9yUmFuZ2UoaW50IHN0YXJ0UG9zLCBpbnQg
ZW5kUG8KIAogICAgIEZsb2F0UmVjdCBmaXhlZFJlY3QobmFycm93UHJlY2lzaW9uVG9GbG9hdChy
ZWN0LngoKSArIGFic1Bvcy54KCkgLSBodG1sUGFyZW50Q3RtLmUoKSksCiAgICAgICAgICAgICAg
ICAgICAgICAgICBuYXJyb3dQcmVjaXNpb25Ub0Zsb2F0KHJlY3QueSgpICsgYWJzUG9zLnkoKSAt
IGh0bWxQYXJlbnRDdG0uZigpKSwgcmVjdC53aWR0aCgpLCByZWN0LmhlaWdodCgpKTsKLSAgICAv
LyBGSVhNRTogYnJva2VuIHdpdGggQ1NTIHRyYW5zZm9ybXMKKyAgICAvLyBGSVhNRTogYnJva2Vu
IHdpdGggQ1NTIHRyYW5zZm9ybXMsIGFuZCBub24temVybyByZXBhaW50Q29udGFpbmVyCiAgICAg
cmV0dXJuIGVuY2xvc2luZ0ludFJlY3QoYWJzb2x1dGVUcmFuc2Zvcm0oKS5tYXBSZWN0KGZpeGVk
UmVjdCkpOwogfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdJbmxp
bmVUZXh0LmggYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdJbmxpbmVUZXh0LmgKaW5kZXgg
NTVmZDgzOC4uZWE0NjNmMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZH
SW5saW5lVGV4dC5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR0lubGluZVRleHQu
aApAQCAtNDEsNyArNDEsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGFic29sdXRlUXVh
ZHMoVmVjdG9yPEZsb2F0UXVhZD4mLCBib29sIHRvcExldmVsID0gdHJ1ZSk7CiAKICAgICB2aXJ0
dWFsIGJvb2wgcmVxdWlyZXNMYXllcigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9Ci0gICAgdmly
dHVhbCBJbnRSZWN0IHNlbGVjdGlvblJlY3QoYm9vbCBjbGlwVG9WaXNpYmxlQ29udGVudCA9IHRy
dWUpOworICAgIHZpcnR1YWwgSW50UmVjdCBzZWxlY3Rpb25SZWN0Rm9yUmVwYWludChSZW5kZXJC
b3gqIHJlcGFpbnRDb250YWluZXIsIGJvb2wgY2xpcFRvVmlzaWJsZUNvbnRlbnQgPSB0cnVlKTsK
ICAgICB2aXJ0dWFsIGJvb2wgaXNTVkdUZXh0KCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogICAg
IHZpcnR1YWwgSW5saW5lVGV4dEJveCogY3JlYXRlSW5saW5lVGV4dEJveCgpOwogCkBAIC01MSw3
ICs1MSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZGVzdHJveSgpOwogCiBwcml2YXRl
OgotICAgIEludFJlY3QgY29tcHV0ZUFic29sdXRlUmVjdEZvclJhbmdlKGludCBzdGFydFBvcywg
aW50IGVuZFBvcyk7CisgICAgSW50UmVjdCBjb21wdXRlUmVwYWludFJlY3RGb3JSYW5nZShSZW5k
ZXJCb3gqIHJlcGFpbnRDb250YWluZXIsIGludCBzdGFydFBvcywgaW50IGVuZFBvcyk7CiB9Owog
CiB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTZWxlY3Rpb25JbmZvLmgg
Yi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTZWxlY3Rpb25JbmZvLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uODBjMzU1YgotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclNlbGVjdGlvbkluZm8uaApAQCAtMCwwICsxLDEwNCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAwMCBMYXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQorICogICAgICAg
ICAgIChDKSAyMDAwIEFudHRpIEtvaXZpc3RvIChrb2l2aXN0b0BrZGUub3JnKQorICogICAgICAg
ICAgIChDKSAyMDAwIERpcmsgTXVlbGxlciAobXVlbGxlckBrZGUub3JnKQorICogICAgICAgICAg
IChDKSAyMDA0IEFsbGFuIFNhbmRmZWxkIEplbnNlbiAoa2RlQGNhcmV3b2xmLmNvbSkKKyAqIENv
cHlyaWdodCAoQykgMjAwMywgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUg
c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVu
ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vu
c2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgor
ICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl
ciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w
ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3
aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBv
ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ug
c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENP
UFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3Rvbiwg
TUEgMDIxMTAtMTMwMSwgVVNBLgorICoKKyAqLworCisjaWZuZGVmIFNlbGVjdGlvbkluZm9faAor
I2RlZmluZSBTZWxlY3Rpb25JbmZvX2gKKworI2luY2x1ZGUgIkludFJlY3QuaCIKKyNpbmNsdWRl
ICJSZW5kZXJCb3guaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBSZW5kZXJTZWxl
Y3Rpb25JbmZvQmFzZSB7CitwdWJsaWM6CisgICAgUmVuZGVyU2VsZWN0aW9uSW5mb0Jhc2UoKQor
ICAgICAgICA6IG1fb2JqZWN0KDApCisgICAgICAgICwgbV9yZXBhaW50Q29udGFpbmVyKDApCisg
ICAgICAgICwgbV9zdGF0ZShSZW5kZXJPYmplY3Q6OlNlbGVjdGlvbk5vbmUpCisgICAgeworICAg
IH0KKworICAgIFJlbmRlclNlbGVjdGlvbkluZm9CYXNlKFJlbmRlck9iamVjdCogbykKKyAgICAg
ICAgOiBtX29iamVjdChvKQorICAgICAgICAsIG1fcmVwYWludENvbnRhaW5lcihvLT5jb250YWlu
ZXJGb3JSZXBhaW50KCkpCisgICAgICAgICwgbV9zdGF0ZShvLT5zZWxlY3Rpb25TdGF0ZSgpKQor
ICAgIHsKKyAgICB9CisgICAgCisgICAgUmVuZGVyT2JqZWN0KiBvYmplY3QoKSBjb25zdCB7IHJl
dHVybiBtX29iamVjdDsgfQorICAgIFJlbmRlckJveCogcmVwYWludENvbnRhaW5lcigpIGNvbnN0
IHsgcmV0dXJuIG1fcmVwYWludENvbnRhaW5lcjsgfQorICAgIFJlbmRlck9iamVjdDo6U2VsZWN0
aW9uU3RhdGUgc3RhdGUoKSBjb25zdCB7IHJldHVybiBtX3N0YXRlOyB9CisKK3Byb3RlY3RlZDoK
KyAgICBSZW5kZXJPYmplY3QqIG1fb2JqZWN0OworICAgIFJlbmRlckJveCogbV9yZXBhaW50Q29u
dGFpbmVyOworICAgIFJlbmRlck9iamVjdDo6U2VsZWN0aW9uU3RhdGUgbV9zdGF0ZTsKK307CisK
Ky8vIFRoaXMgc3RydWN0IGlzIHVzZWQgd2hlbiB0aGUgc2VsZWN0aW9uIGNoYW5nZXMgdG8gY2Fj
aGUgdGhlIG9sZCBhbmQgbmV3IHN0YXRlIG9mIHRoZSBzZWxlY3Rpb24gZm9yIGVhY2ggUmVuZGVy
T2JqZWN0LgorY2xhc3MgUmVuZGVyU2VsZWN0aW9uSW5mbyA6IHB1YmxpYyBSZW5kZXJTZWxlY3Rp
b25JbmZvQmFzZSB7CitwdWJsaWM6CisgICAgUmVuZGVyU2VsZWN0aW9uSW5mbyhSZW5kZXJPYmpl
Y3QqIG8sIGJvb2wgY2xpcFRvVmlzaWJsZUNvbnRlbnQpCisgICAgICAgIDogUmVuZGVyU2VsZWN0
aW9uSW5mb0Jhc2UobykKKyAgICAgICAgLCBtX3JlY3Qoby0+bmVlZHNMYXlvdXQoKSA/IEludFJl
Y3QoKSA6IG8tPnNlbGVjdGlvblJlY3RGb3JSZXBhaW50KG1fcmVwYWludENvbnRhaW5lciwgY2xp
cFRvVmlzaWJsZUNvbnRlbnQpKQorICAgIHsKKyAgICB9CisgICAgCisgICAgdm9pZCByZXBhaW50
KCkKKyAgICB7CisgICAgICAgIG1fb2JqZWN0LT5yZXBhaW50VXNpbmdDb250YWluZXIobV9yZXBh
aW50Q29udGFpbmVyLCBtX3JlY3QpOworICAgIH0KKworICAgIEludFJlY3QgcmVjdCgpIGNvbnN0
IHsgcmV0dXJuIG1fcmVjdDsgfQorCitwcml2YXRlOgorICAgIEludFJlY3QgbV9yZWN0OyAvLyBy
ZWxhdGl2ZSB0byByZXBhaW50IGNvbnRhaW5lcgorfTsKKworCisvLyBUaGlzIHN0cnVjdCBpcyB1
c2VkIHdoZW4gdGhlIHNlbGVjdGlvbiBjaGFuZ2VzIHRvIGNhY2hlIHRoZSBvbGQgYW5kIG5ldyBz
dGF0ZSBvZiB0aGUgc2VsZWN0aW9uIGZvciBlYWNoIFJlbmRlckJsb2NrLgorY2xhc3MgUmVuZGVy
QmxvY2tTZWxlY3Rpb25JbmZvIDogcHVibGljIFJlbmRlclNlbGVjdGlvbkluZm9CYXNlIHsKK3B1
YmxpYzoKKyAgICBSZW5kZXJCbG9ja1NlbGVjdGlvbkluZm8oUmVuZGVyQmxvY2sqIGIpCisgICAg
ICAgIDogUmVuZGVyU2VsZWN0aW9uSW5mb0Jhc2UoYikKKyAgICAgICAgLCBtX3JlY3RzKGItPm5l
ZWRzTGF5b3V0KCkgPyBHYXBSZWN0cygpIDogYmxvY2soKS0+c2VsZWN0aW9uR2FwUmVjdHNGb3JS
ZXBhaW50KG1fcmVwYWludENvbnRhaW5lcikpCisgICAgeyAKKyAgICB9CisKKyAgICB2b2lkIHJl
cGFpbnQoKQorICAgIHsKKyAgICAgICAgbV9vYmplY3QtPnJlcGFpbnRVc2luZ0NvbnRhaW5lciht
X3JlcGFpbnRDb250YWluZXIsIG1fcmVjdHMpOworICAgIH0KKyAgICAKKyAgICBSZW5kZXJCbG9j
ayogYmxvY2soKSBjb25zdCB7IHJldHVybiB0b1JlbmRlckJsb2NrKG1fb2JqZWN0KTsgfQorICAg
IEdhcFJlY3RzIHJlY3RzKCkgY29uc3QgeyByZXR1cm4gbV9yZWN0czsgfQorCitwcml2YXRlOgor
ICAgIEdhcFJlY3RzIG1fcmVjdHM7IC8vIHJlbGF0aXZlIHRvIHJlcGFpbnQgY29udGFpbmVyCit9
OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKworI2VuZGlmIC8vIFNlbGVjdGlvbkluZm9f
aApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAgYi9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcAppbmRleCBjMGFiYWZkLi5iNDE3MDg4IDEwMDY0NAot
LS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcAorKysgYi9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUZXh0LmNwcApAQCAtMTA3MywxNiArMTA3MywxNSBAQCBJbnRSZWN0IFJlbmRl
clRleHQ6OmNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KFJlbmRlckJveCogcmVwYWludENv
bnRhaW5lcikKICAgICByZXR1cm4gY2ItPmNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KHJl
cGFpbnRDb250YWluZXIpOwogfQogCi1JbnRSZWN0IFJlbmRlclRleHQ6OnNlbGVjdGlvblJlY3Qo
Ym9vbCBjbGlwVG9WaXNpYmxlQ29udGVudCkKK0ludFJlY3QgUmVuZGVyVGV4dDo6c2VsZWN0aW9u
UmVjdEZvclJlcGFpbnQoUmVuZGVyQm94KiByZXBhaW50Q29udGFpbmVyLCBib29sIGNsaXBUb1Zp
c2libGVDb250ZW50KQogewogICAgIEFTU0VSVCghbmVlZHNMYXlvdXQoKSk7CiAKLSAgICBJbnRS
ZWN0IHJlY3Q7CiAgICAgaWYgKHNlbGVjdGlvblN0YXRlKCkgPT0gU2VsZWN0aW9uTm9uZSkKLSAg
ICAgICAgcmV0dXJuIHJlY3Q7CisgICAgICAgIHJldHVybiBJbnRSZWN0KCk7CiAgICAgUmVuZGVy
QmxvY2sqIGNiID0gIGNvbnRhaW5pbmdCbG9jaygpOwogICAgIGlmICghY2IpCi0gICAgICAgIHJl
dHVybiByZWN0OworICAgICAgICByZXR1cm4gSW50UmVjdCgpOwogCiAgICAgLy8gTm93IGNhbGN1
bGF0ZSBzdGFydFBvcyBhbmQgZW5kUG9zIGZvciBwYWludGluZyBzZWxlY3Rpb24uCiAgICAgLy8g
V2UgaW5jbHVkZSBhIHNlbGVjdGlvbiB3aGlsZSBlbmRQb3MgPiAwCkBAIC0xMTAwLDE5ICsxMDk5
LDE5IEBAIEludFJlY3QgUmVuZGVyVGV4dDo6c2VsZWN0aW9uUmVjdChib29sIGNsaXBUb1Zpc2li
bGVDb250ZW50KQogICAgIH0KIAogICAgIGlmIChzdGFydFBvcyA9PSBlbmRQb3MpCi0gICAgICAg
IHJldHVybiByZWN0OworICAgICAgICByZXR1cm4gSW50UmVjdCgpOwogCisgICAgSW50UmVjdCBy
ZWN0OwogICAgIGZvciAoSW5saW5lVGV4dEJveCogYm94ID0gZmlyc3RUZXh0Qm94KCk7IGJveDsg
Ym94ID0gYm94LT5uZXh0VGV4dEJveCgpKQogICAgICAgICByZWN0LnVuaXRlKGJveC0+c2VsZWN0
aW9uUmVjdCgwLCAwLCBzdGFydFBvcywgZW5kUG9zKSk7CiAKICAgICBpZiAoY2xpcFRvVmlzaWJs
ZUNvbnRlbnQpCi0gICAgICAgIGNvbXB1dGVBYnNvbHV0ZVJlcGFpbnRSZWN0KHJlY3QpOworICAg
ICAgICBjb21wdXRlUmVjdEZvclJlcGFpbnQocmVwYWludENvbnRhaW5lciwgcmVjdCk7CiAgICAg
ZWxzZSB7CiAgICAgICAgIGlmIChjYi0+aGFzQ29sdW1ucygpKQogICAgICAgICAgICAgY2ItPmFk
anVzdFJlY3RGb3JDb2x1bW5zKHJlY3QpOwotICAgICAgICAvLyBGSVhNRTogVGhpcyBkb2Vzbid0
IHdvcmsgY29ycmVjdGx5IHdpdGggdHJhbnNmb3Jtcy4KLSAgICAgICAgRmxvYXRQb2ludCBhYnNQ
b3MgPSBsb2NhbFRvQWJzb2x1dGUoKTsKLSAgICAgICAgcmVjdC5tb3ZlKGFic1Bvcy54KCksIGFi
c1Bvcy55KCkpOworCisgICAgICAgIHJlY3QgPSBsb2NhbFRvQ29udGFpbmVyUXVhZChGbG9hdFJl
Y3QocmVjdCksIHJlcGFpbnRDb250YWluZXIpLmVuY2xvc2luZ0JvdW5kaW5nQm94KCk7CiAgICAg
fQogCiAgICAgcmV0dXJuIHJlY3Q7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUZXh0LmggYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmgKaW5kZXggOTVjZjI2OC4u
OWU4YjdmZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5oCisrKyBi
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuaApAQCAtOTUsNyArOTUsNyBAQCBwdWJsaWM6
CiAKICAgICB2aXJ0dWFsIGJvb2wgY2FuQmVTZWxlY3Rpb25MZWFmKCkgY29uc3QgeyByZXR1cm4g
dHJ1ZTsgfQogICAgIHZpcnR1YWwgdm9pZCBzZXRTZWxlY3Rpb25TdGF0ZShTZWxlY3Rpb25TdGF0
ZSBzKTsKLSAgICB2aXJ0dWFsIEludFJlY3Qgc2VsZWN0aW9uUmVjdChib29sIGNsaXBUb1Zpc2li
bGVDb250ZW50ID0gdHJ1ZSk7CisgICAgdmlydHVhbCBJbnRSZWN0IHNlbGVjdGlvblJlY3RGb3JS
ZXBhaW50KFJlbmRlckJveCogcmVwYWludENvbnRhaW5lciwgYm9vbCBjbGlwVG9WaXNpYmxlQ29u
dGVudCA9IHRydWUpOwogICAgIHZpcnR1YWwgSW50UmVjdCBsb2NhbENhcmV0UmVjdChJbmxpbmVC
b3gqLCBpbnQgY2FyZXRPZmZzZXQsIGludCogZXh0cmFXaWR0aFRvRW5kT2ZMaW5lID0gMCk7CiAK
ICAgICB2aXJ0dWFsIGludCBtYXJnaW5MZWZ0KCkgY29uc3QgeyByZXR1cm4gc3R5bGUoKS0+bWFy
Z2luTGVmdCgpLmNhbGNNaW5WYWx1ZSgwKTsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVmlldy5jcHAgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcAppbmRl
eCBlZmUzNjBkLi4wNTg4MjYzIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJW
aWV3LmNwcAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcApAQCAtMjksNiAr
MjksNyBAQAogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgogI2luY2x1ZGUgIkhpdFRlc3RS
ZXN1bHQuaCIKICNpbmNsdWRlICJSZW5kZXJMYXllci5oIgorI2luY2x1ZGUgIlJlbmRlclNlbGVj
dGlvbkluZm8uaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0yNzcsMjEgKzI3OCwxMSBA
QCBzdGF0aWMgUmVuZGVyT2JqZWN0KiByZW5kZXJlckFmdGVyUG9zaXRpb24oUmVuZGVyT2JqZWN0
KiBvYmplY3QsIHVuc2lnbmVkIG9mZnNldAogICAgIHJldHVybiBjaGlsZCA/IGNoaWxkIDogb2Jq
ZWN0LT5uZXh0SW5QcmVPcmRlckFmdGVyQ2hpbGRyZW4oKTsKIH0KIAotSW50UmVjdCBSZW5kZXJW
aWV3OjpzZWxlY3Rpb25SZWN0KGJvb2wgY2xpcFRvVmlzaWJsZUNvbnRlbnQpCi17Ci0gICAgLy8g
VGhlIHZpcnR1YWwgc2VsZWN0aW9uUmVjdCgpIHNob3VsZCBuZXZlciBiZSBjYWxsZWQgb24gdGhl
IFJlbmRlclZpZXcuCi0gICAgLy8gV2UgYXNzZXJ0IGJlY2F1c2UgdGhlcmUgdXNlZCB0byBiZSBh
bWJpZ3VpdHkgYmV0d2VlbgotICAgIC8vIFJlbmRlclZpZXc6OnNlbGVjdGlvblJlY3QoYm9vbCkg
YW5kCi0gICAgLy8gdmlydHVhbCBSZW5kZXJPYmplY3Q6OnNlbGVjdGlvblJlY3QoYm9vbCkgY29u
c3QKLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gUmVuZGVyQmxvY2s6OnNl
bGVjdGlvblJlY3QoY2xpcFRvVmlzaWJsZUNvbnRlbnQpOwotfQotCiBJbnRSZWN0IFJlbmRlclZp
ZXc6OnNlbGVjdGlvbkJvdW5kcyhib29sIGNsaXBUb1Zpc2libGVDb250ZW50KSBjb25zdAogewog
ICAgIGRvY3VtZW50KCktPnVwZGF0ZVJlbmRlcmluZygpOwogCi0gICAgdHlwZWRlZiBIYXNoTWFw
PFJlbmRlck9iamVjdCosIFNlbGVjdGlvbkluZm8qPiBTZWxlY3Rpb25NYXA7CisgICAgdHlwZWRl
ZiBIYXNoTWFwPFJlbmRlck9iamVjdCosIFJlbmRlclNlbGVjdGlvbkluZm8qPiBTZWxlY3Rpb25N
YXA7CiAgICAgU2VsZWN0aW9uTWFwIHNlbGVjdGVkT2JqZWN0czsKIAogICAgIFJlbmRlck9iamVj
dCogb3MgPSBtX3NlbGVjdGlvblN0YXJ0OwpAQCAtMjk5LDEzICsyOTAsMTMgQEAgSW50UmVjdCBS
ZW5kZXJWaWV3OjpzZWxlY3Rpb25Cb3VuZHMoYm9vbCBjbGlwVG9WaXNpYmxlQ29udGVudCkgY29u
c3QKICAgICB3aGlsZSAob3MgJiYgb3MgIT0gc3RvcCkgewogICAgICAgICBpZiAoKG9zLT5jYW5C
ZVNlbGVjdGlvbkxlYWYoKSB8fCBvcyA9PSBtX3NlbGVjdGlvblN0YXJ0IHx8IG9zID09IG1fc2Vs
ZWN0aW9uRW5kKSAmJiBvcy0+c2VsZWN0aW9uU3RhdGUoKSAhPSBTZWxlY3Rpb25Ob25lKSB7CiAg
ICAgICAgICAgICAvLyBCbG9ja3MgYXJlIHJlc3BvbnNpYmxlIGZvciBwYWludGluZyBsaW5lIGdh
cHMgYW5kIG1hcmdpbiBnYXBzLiBUaGV5IG11c3QgYmUgZXhhbWluZWQgYXMgd2VsbC4KLSAgICAg
ICAgICAgIHNlbGVjdGVkT2JqZWN0cy5zZXQob3MsIG5ldyBTZWxlY3Rpb25JbmZvKG9zLCBjbGlw
VG9WaXNpYmxlQ29udGVudCkpOworICAgICAgICAgICAgc2VsZWN0ZWRPYmplY3RzLnNldChvcywg
bmV3IFJlbmRlclNlbGVjdGlvbkluZm8ob3MsIGNsaXBUb1Zpc2libGVDb250ZW50KSk7CiAgICAg
ICAgICAgICBSZW5kZXJCbG9jayogY2IgPSBvcy0+Y29udGFpbmluZ0Jsb2NrKCk7CiAgICAgICAg
ICAgICB3aGlsZSAoY2IgJiYgIWNiLT5pc1JlbmRlclZpZXcoKSkgewotICAgICAgICAgICAgICAg
IFNlbGVjdGlvbkluZm8qIGJsb2NrSW5mbyA9IHNlbGVjdGVkT2JqZWN0cy5nZXQoY2IpOworICAg
ICAgICAgICAgICAgIFJlbmRlclNlbGVjdGlvbkluZm8qIGJsb2NrSW5mbyA9IHNlbGVjdGVkT2Jq
ZWN0cy5nZXQoY2IpOwogICAgICAgICAgICAgICAgIGlmIChibG9ja0luZm8pCiAgICAgICAgICAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIHNlbGVjdGVkT2JqZWN0cy5zZXQoY2Is
IG5ldyBTZWxlY3Rpb25JbmZvKGNiLCBjbGlwVG9WaXNpYmxlQ29udGVudCkpOworICAgICAgICAg
ICAgICAgIHNlbGVjdGVkT2JqZWN0cy5zZXQoY2IsIG5ldyBSZW5kZXJTZWxlY3Rpb25JbmZvKGNi
LCBjbGlwVG9WaXNpYmxlQ29udGVudCkpOwogICAgICAgICAgICAgICAgIGNiID0gY2ItPmNvbnRh
aW5pbmdCbG9jaygpOwogICAgICAgICAgICAgfQogICAgICAgICB9CkBAIC0zMTcsNyArMzA4LDcg
QEAgSW50UmVjdCBSZW5kZXJWaWV3OjpzZWxlY3Rpb25Cb3VuZHMoYm9vbCBjbGlwVG9WaXNpYmxl
Q29udGVudCkgY29uc3QKICAgICBJbnRSZWN0IHNlbFJlY3Q7CiAgICAgU2VsZWN0aW9uTWFwOjpp
dGVyYXRvciBlbmQgPSBzZWxlY3RlZE9iamVjdHMuZW5kKCk7CiAgICAgZm9yIChTZWxlY3Rpb25N
YXA6Oml0ZXJhdG9yIGkgPSBzZWxlY3RlZE9iamVjdHMuYmVnaW4oKTsgaSAhPSBlbmQ7ICsraSkg
ewotICAgICAgICBTZWxlY3Rpb25JbmZvKiBpbmZvID0gaS0+c2Vjb25kOworICAgICAgICBSZW5k
ZXJTZWxlY3Rpb25JbmZvKiBpbmZvID0gaS0+c2Vjb25kOwogICAgICAgICBzZWxSZWN0LnVuaXRl
KGluZm8tPnJlY3QoKSk7CiAgICAgICAgIGRlbGV0ZSBpbmZvOwogICAgIH0KQEAgLTM0MiwxNCAr
MzMzLDE0IEBAIHZvaWQgUmVuZGVyVmlldzo6c2V0U2VsZWN0aW9uKFJlbmRlck9iamVjdCogc3Rh
cnQsIGludCBzdGFydFBvcywgUmVuZGVyT2JqZWN0KiBlCiAgICAgaW50IG9sZEVuZFBvcyA9IG1f
c2VsZWN0aW9uRW5kUG9zOwogCiAgICAgLy8gT2JqZWN0cyBlYWNoIGhhdmUgYSBzaW5nbGUgc2Vs
ZWN0aW9uIHJlY3QgdG8gZXhhbWluZS4KLSAgICB0eXBlZGVmIEhhc2hNYXA8UmVuZGVyT2JqZWN0
KiwgU2VsZWN0aW9uSW5mbyo+IFNlbGVjdGVkT2JqZWN0TWFwOworICAgIHR5cGVkZWYgSGFzaE1h
cDxSZW5kZXJPYmplY3QqLCBSZW5kZXJTZWxlY3Rpb25JbmZvKj4gU2VsZWN0ZWRPYmplY3RNYXA7
CiAgICAgU2VsZWN0ZWRPYmplY3RNYXAgb2xkU2VsZWN0ZWRPYmplY3RzOwogICAgIFNlbGVjdGVk
T2JqZWN0TWFwIG5ld1NlbGVjdGVkT2JqZWN0czsKIAogICAgIC8vIEJsb2NrcyBjb250YWluIHNl
bGVjdGVkIG9iamVjdHMgYW5kIGZpbGwgZ2FwcyBiZXR3ZWVuIHRoZW0sIGVpdGhlciBvbiB0aGUg
bGVmdCwgcmlnaHQsIG9yIGluIGJldHdlZW4gbGluZXMgYW5kIGJsb2Nrcy4KICAgICAvLyBJbiBv
cmRlciB0byBnZXQgdGhlIHJlcGFpbnQgcmVjdCByaWdodCwgd2UgaGF2ZSB0byBleGFtaW5lIGxl
ZnQsIG1pZGRsZSwgYW5kIHJpZ2h0IHJlY3RzIGluZGl2aWR1YWxseSwgc2luY2Ugb3RoZXJ3aXNl
CiAgICAgLy8gdGhlIHVuaW9uIG9mIHRob3NlIHJlY3RzIG1pZ2h0IHJlbWFpbiB0aGUgc2FtZSBl
dmVuIHdoZW4gY2hhbmdlcyBoYXZlIG9jY3VycmVkLgotICAgIHR5cGVkZWYgSGFzaE1hcDxSZW5k
ZXJCbG9jayosIEJsb2NrU2VsZWN0aW9uSW5mbyo+IFNlbGVjdGVkQmxvY2tNYXA7CisgICAgdHlw
ZWRlZiBIYXNoTWFwPFJlbmRlckJsb2NrKiwgUmVuZGVyQmxvY2tTZWxlY3Rpb25JbmZvKj4gU2Vs
ZWN0ZWRCbG9ja01hcDsKICAgICBTZWxlY3RlZEJsb2NrTWFwIG9sZFNlbGVjdGVkQmxvY2tzOwog
ICAgIFNlbGVjdGVkQmxvY2tNYXAgbmV3U2VsZWN0ZWRCbG9ja3M7CiAKQEAgLTM1OCwxMyArMzQ5
LDEzIEBAIHZvaWQgUmVuZGVyVmlldzo6c2V0U2VsZWN0aW9uKFJlbmRlck9iamVjdCogc3RhcnQs
IGludCBzdGFydFBvcywgUmVuZGVyT2JqZWN0KiBlCiAgICAgd2hpbGUgKG9zICYmIG9zICE9IHN0
b3ApIHsKICAgICAgICAgaWYgKChvcy0+Y2FuQmVTZWxlY3Rpb25MZWFmKCkgfHwgb3MgPT0gbV9z
ZWxlY3Rpb25TdGFydCB8fCBvcyA9PSBtX3NlbGVjdGlvbkVuZCkgJiYgb3MtPnNlbGVjdGlvblN0
YXRlKCkgIT0gU2VsZWN0aW9uTm9uZSkgewogICAgICAgICAgICAgLy8gQmxvY2tzIGFyZSByZXNw
b25zaWJsZSBmb3IgcGFpbnRpbmcgbGluZSBnYXBzIGFuZCBtYXJnaW4gZ2Fwcy4gIFRoZXkgbXVz
dCBiZSBleGFtaW5lZCBhcyB3ZWxsLgotICAgICAgICAgICAgb2xkU2VsZWN0ZWRPYmplY3RzLnNl
dChvcywgbmV3IFNlbGVjdGlvbkluZm8ob3MsIHRydWUpKTsKKyAgICAgICAgICAgIG9sZFNlbGVj
dGVkT2JqZWN0cy5zZXQob3MsIG5ldyBSZW5kZXJTZWxlY3Rpb25JbmZvKG9zLCB0cnVlKSk7CiAg
ICAgICAgICAgICBSZW5kZXJCbG9jayogY2IgPSBvcy0+Y29udGFpbmluZ0Jsb2NrKCk7CiAgICAg
ICAgICAgICB3aGlsZSAoY2IgJiYgIWNiLT5pc1JlbmRlclZpZXcoKSkgewotICAgICAgICAgICAg
ICAgIEJsb2NrU2VsZWN0aW9uSW5mbyogYmxvY2tJbmZvID0gb2xkU2VsZWN0ZWRCbG9ja3MuZ2V0
KGNiKTsKKyAgICAgICAgICAgICAgICBSZW5kZXJCbG9ja1NlbGVjdGlvbkluZm8qIGJsb2NrSW5m
byA9IG9sZFNlbGVjdGVkQmxvY2tzLmdldChjYik7CiAgICAgICAgICAgICAgICAgaWYgKGJsb2Nr
SW5mbykKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgb2xkU2Vs
ZWN0ZWRCbG9ja3Muc2V0KGNiLCBuZXcgQmxvY2tTZWxlY3Rpb25JbmZvKGNiKSk7CisgICAgICAg
ICAgICAgICAgb2xkU2VsZWN0ZWRCbG9ja3Muc2V0KGNiLCBuZXcgUmVuZGVyQmxvY2tTZWxlY3Rp
b25JbmZvKGNiKSk7CiAgICAgICAgICAgICAgICAgY2IgPSBjYi0+Y29udGFpbmluZ0Jsb2NrKCk7
CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KQEAgLTQwNywxMyArMzk4LDEzIEBAIHZvaWQgUmVu
ZGVyVmlldzo6c2V0U2VsZWN0aW9uKFJlbmRlck9iamVjdCogc3RhcnQsIGludCBzdGFydFBvcywg
UmVuZGVyT2JqZWN0KiBlCiAgICAgbyA9IHN0YXJ0OwogICAgIHdoaWxlIChvICYmIG8gIT0gc3Rv
cCkgewogICAgICAgICBpZiAoKG8tPmNhbkJlU2VsZWN0aW9uTGVhZigpIHx8IG8gPT0gc3RhcnQg
fHwgbyA9PSBlbmQpICYmIG8tPnNlbGVjdGlvblN0YXRlKCkgIT0gU2VsZWN0aW9uTm9uZSkgewot
ICAgICAgICAgICAgbmV3U2VsZWN0ZWRPYmplY3RzLnNldChvLCBuZXcgU2VsZWN0aW9uSW5mbyhv
LCB0cnVlKSk7CisgICAgICAgICAgICBuZXdTZWxlY3RlZE9iamVjdHMuc2V0KG8sIG5ldyBSZW5k
ZXJTZWxlY3Rpb25JbmZvKG8sIHRydWUpKTsKICAgICAgICAgICAgIFJlbmRlckJsb2NrKiBjYiA9
IG8tPmNvbnRhaW5pbmdCbG9jaygpOwogICAgICAgICAgICAgd2hpbGUgKGNiICYmICFjYi0+aXNS
ZW5kZXJWaWV3KCkpIHsKLSAgICAgICAgICAgICAgICBCbG9ja1NlbGVjdGlvbkluZm8qIGJsb2Nr
SW5mbyA9IG5ld1NlbGVjdGVkQmxvY2tzLmdldChjYik7CisgICAgICAgICAgICAgICAgUmVuZGVy
QmxvY2tTZWxlY3Rpb25JbmZvKiBibG9ja0luZm8gPSBuZXdTZWxlY3RlZEJsb2Nrcy5nZXQoY2Ip
OwogICAgICAgICAgICAgICAgIGlmIChibG9ja0luZm8pCiAgICAgICAgICAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICAgICAgICAgIG5ld1NlbGVjdGVkQmxvY2tzLnNldChjYiwgbmV3IEJsb2Nr
U2VsZWN0aW9uSW5mbyhjYikpOworICAgICAgICAgICAgICAgIG5ld1NlbGVjdGVkQmxvY2tzLnNl
dChjYiwgbmV3IFJlbmRlckJsb2NrU2VsZWN0aW9uSW5mbyhjYikpOwogICAgICAgICAgICAgICAg
IGNiID0gY2ItPmNvbnRhaW5pbmdCbG9jaygpOwogICAgICAgICAgICAgfQogICAgICAgICB9CkBA
IC00MzQsMTQgKzQyNSwxNCBAQCB2b2lkIFJlbmRlclZpZXc6OnNldFNlbGVjdGlvbihSZW5kZXJP
YmplY3QqIHN0YXJ0LCBpbnQgc3RhcnRQb3MsIFJlbmRlck9iamVjdCogZQogICAgIC8vIEhhdmUg
YW55IG9mIHRoZSBvbGQgc2VsZWN0ZWQgb2JqZWN0cyBjaGFuZ2VkIGNvbXBhcmVkIHRvIHRoZSBu
ZXcgc2VsZWN0aW9uPwogICAgIGZvciAoU2VsZWN0ZWRPYmplY3RNYXA6Oml0ZXJhdG9yIGkgPSBv
bGRTZWxlY3RlZE9iamVjdHMuYmVnaW4oKTsgaSAhPSBvbGRPYmplY3RzRW5kOyArK2kpIHsKICAg
ICAgICAgUmVuZGVyT2JqZWN0KiBvYmogPSBpLT5maXJzdDsKLSAgICAgICAgU2VsZWN0aW9uSW5m
byogbmV3SW5mbyA9IG5ld1NlbGVjdGVkT2JqZWN0cy5nZXQob2JqKTsKLSAgICAgICAgU2VsZWN0
aW9uSW5mbyogb2xkSW5mbyA9IGktPnNlY29uZDsKKyAgICAgICAgUmVuZGVyU2VsZWN0aW9uSW5m
byogbmV3SW5mbyA9IG5ld1NlbGVjdGVkT2JqZWN0cy5nZXQob2JqKTsKKyAgICAgICAgUmVuZGVy
U2VsZWN0aW9uSW5mbyogb2xkSW5mbyA9IGktPnNlY29uZDsKICAgICAgICAgaWYgKCFuZXdJbmZv
IHx8IG9sZEluZm8tPnJlY3QoKSAhPSBuZXdJbmZvLT5yZWN0KCkgfHwgb2xkSW5mby0+c3RhdGUo
KSAhPSBuZXdJbmZvLT5zdGF0ZSgpIHx8CiAgICAgICAgICAgICAobV9zZWxlY3Rpb25TdGFydCA9
PSBvYmogJiYgb2xkU3RhcnRQb3MgIT0gbV9zZWxlY3Rpb25TdGFydFBvcykgfHwKICAgICAgICAg
ICAgIChtX3NlbGVjdGlvbkVuZCA9PSBvYmogJiYgb2xkRW5kUG9zICE9IG1fc2VsZWN0aW9uRW5k
UG9zKSkgewotICAgICAgICAgICAgcmVwYWludFZpZXdSZWN0YW5nbGUob2xkSW5mby0+cmVjdCgp
KTsKKyAgICAgICAgICAgIG9sZEluZm8tPnJlcGFpbnQoKTsKICAgICAgICAgICAgIGlmIChuZXdJ
bmZvKSB7Ci0gICAgICAgICAgICAgICAgcmVwYWludFZpZXdSZWN0YW5nbGUobmV3SW5mby0+cmVj
dCgpKTsKKyAgICAgICAgICAgICAgICBuZXdJbmZvLT5yZXBhaW50KCk7CiAgICAgICAgICAgICAg
ICAgbmV3U2VsZWN0ZWRPYmplY3RzLnJlbW92ZShvYmopOwogICAgICAgICAgICAgICAgIGRlbGV0
ZSBuZXdJbmZvOwogICAgICAgICAgICAgfQpAQCAtNDUyLDggKzQ0Myw4IEBAIHZvaWQgUmVuZGVy
Vmlldzo6c2V0U2VsZWN0aW9uKFJlbmRlck9iamVjdCogc3RhcnQsIGludCBzdGFydFBvcywgUmVu
ZGVyT2JqZWN0KiBlCiAgICAgLy8gQW55IG5ldyBvYmplY3RzIHRoYXQgcmVtYWluIHdlcmUgbm90
IGZvdW5kIGluIHRoZSBvbGQgb2JqZWN0cyBkaWN0LCBhbmQgc28gdGhleSBuZWVkIHRvIGJlIHVw
ZGF0ZWQuCiAgICAgU2VsZWN0ZWRPYmplY3RNYXA6Oml0ZXJhdG9yIG5ld09iamVjdHNFbmQgPSBu
ZXdTZWxlY3RlZE9iamVjdHMuZW5kKCk7CiAgICAgZm9yIChTZWxlY3RlZE9iamVjdE1hcDo6aXRl
cmF0b3IgaSA9IG5ld1NlbGVjdGVkT2JqZWN0cy5iZWdpbigpOyBpICE9IG5ld09iamVjdHNFbmQ7
ICsraSkgewotICAgICAgICBTZWxlY3Rpb25JbmZvKiBuZXdJbmZvID0gaS0+c2Vjb25kOwotICAg
ICAgICByZXBhaW50Vmlld1JlY3RhbmdsZShuZXdJbmZvLT5yZWN0KCkpOworICAgICAgICBSZW5k
ZXJTZWxlY3Rpb25JbmZvKiBuZXdJbmZvID0gaS0+c2Vjb25kOworICAgICAgICBuZXdJbmZvLT5y
ZXBhaW50KCk7CiAgICAgICAgIGRlbGV0ZSBuZXdJbmZvOwogICAgIH0KIApAQCAtNDYxLDEyICs0
NTIsMTIgQEAgdm9pZCBSZW5kZXJWaWV3OjpzZXRTZWxlY3Rpb24oUmVuZGVyT2JqZWN0KiBzdGFy
dCwgaW50IHN0YXJ0UG9zLCBSZW5kZXJPYmplY3QqIGUKICAgICBTZWxlY3RlZEJsb2NrTWFwOjpp
dGVyYXRvciBvbGRCbG9ja3NFbmQgPSBvbGRTZWxlY3RlZEJsb2Nrcy5lbmQoKTsKICAgICBmb3Ig
KFNlbGVjdGVkQmxvY2tNYXA6Oml0ZXJhdG9yIGkgPSBvbGRTZWxlY3RlZEJsb2Nrcy5iZWdpbigp
OyBpICE9IG9sZEJsb2Nrc0VuZDsgKytpKSB7CiAgICAgICAgIFJlbmRlckJsb2NrKiBibG9jayA9
IGktPmZpcnN0OwotICAgICAgICBCbG9ja1NlbGVjdGlvbkluZm8qIG5ld0luZm8gPSBuZXdTZWxl
Y3RlZEJsb2Nrcy5nZXQoYmxvY2spOwotICAgICAgICBCbG9ja1NlbGVjdGlvbkluZm8qIG9sZElu
Zm8gPSBpLT5zZWNvbmQ7CisgICAgICAgIFJlbmRlckJsb2NrU2VsZWN0aW9uSW5mbyogbmV3SW5m
byA9IG5ld1NlbGVjdGVkQmxvY2tzLmdldChibG9jayk7CisgICAgICAgIFJlbmRlckJsb2NrU2Vs
ZWN0aW9uSW5mbyogb2xkSW5mbyA9IGktPnNlY29uZDsKICAgICAgICAgaWYgKCFuZXdJbmZvIHx8
IG9sZEluZm8tPnJlY3RzKCkgIT0gbmV3SW5mby0+cmVjdHMoKSB8fCBvbGRJbmZvLT5zdGF0ZSgp
ICE9IG5ld0luZm8tPnN0YXRlKCkpIHsKLSAgICAgICAgICAgIHJlcGFpbnRWaWV3UmVjdGFuZ2xl
KG9sZEluZm8tPnJlY3RzKCkpOworICAgICAgICAgICAgb2xkSW5mby0+cmVwYWludCgpOwogICAg
ICAgICAgICAgaWYgKG5ld0luZm8pIHsKLSAgICAgICAgICAgICAgICByZXBhaW50Vmlld1JlY3Rh
bmdsZShuZXdJbmZvLT5yZWN0cygpKTsKKyAgICAgICAgICAgICAgICBuZXdJbmZvLT5yZXBhaW50
KCk7CiAgICAgICAgICAgICAgICAgbmV3U2VsZWN0ZWRCbG9ja3MucmVtb3ZlKGJsb2NrKTsKICAg
ICAgICAgICAgICAgICBkZWxldGUgbmV3SW5mbzsKICAgICAgICAgICAgIH0KQEAgLTQ3Nyw4ICs0
NjgsOCBAQCB2b2lkIFJlbmRlclZpZXc6OnNldFNlbGVjdGlvbihSZW5kZXJPYmplY3QqIHN0YXJ0
LCBpbnQgc3RhcnRQb3MsIFJlbmRlck9iamVjdCogZQogICAgIC8vIEFueSBuZXcgYmxvY2tzIHRo
YXQgcmVtYWluIHdlcmUgbm90IGZvdW5kIGluIHRoZSBvbGQgYmxvY2tzIGRpY3QsIGFuZCBzbyB0
aGV5IG5lZWQgdG8gYmUgdXBkYXRlZC4KICAgICBTZWxlY3RlZEJsb2NrTWFwOjppdGVyYXRvciBu
ZXdCbG9ja3NFbmQgPSBuZXdTZWxlY3RlZEJsb2Nrcy5lbmQoKTsKICAgICBmb3IgKFNlbGVjdGVk
QmxvY2tNYXA6Oml0ZXJhdG9yIGkgPSBuZXdTZWxlY3RlZEJsb2Nrcy5iZWdpbigpOyBpICE9IG5l
d0Jsb2Nrc0VuZDsgKytpKSB7Ci0gICAgICAgIEJsb2NrU2VsZWN0aW9uSW5mbyogbmV3SW5mbyA9
IGktPnNlY29uZDsKLSAgICAgICAgcmVwYWludFZpZXdSZWN0YW5nbGUobmV3SW5mby0+cmVjdHMo
KSk7CisgICAgICAgIFJlbmRlckJsb2NrU2VsZWN0aW9uSW5mbyogbmV3SW5mbyA9IGktPnNlY29u
ZDsKKyAgICAgICAgbmV3SW5mby0+cmVwYWludCgpOwogICAgICAgICBkZWxldGUgbmV3SW5mbzsK
ICAgICB9CiB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmggYi9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgKaW5kZXggNDZlYzRkMC4uMTVmZGY2ZSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oCisrKyBiL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclZpZXcuaApAQCAtMTUyLDEwICsxNTIsNiBAQCBwdWJsaWM6CiBwcm90ZWN0
ZWQ6CiAgICAgdmlydHVhbCBGbG9hdFF1YWQgbG9jYWxUb0NvbnRhaW5lclF1YWQoY29uc3QgRmxv
YXRRdWFkJiwgUmVuZGVyQm94KiByZXBhaW50Q29udGFpbmVyLCBib29sIGZpeGVkID0gZmFsc2Up
IGNvbnN0OwogCi1wcml2YXRlOgotICAgIC8vIHNlbGVjdGlvblJlY3Qgc2hvdWxkIG5ldmVyIGJl
IGNhbGxlZCBvbiBhIFJlbmRlclZpZXcKLSAgICB2aXJ0dWFsIEludFJlY3Qgc2VsZWN0aW9uUmVj
dChib29sKTsKLQogcHJvdGVjdGVkOgogICAgIEZyYW1lVmlldyogbV9mcmFtZVZpZXc7CiAKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldpZGdldC5jcHAgYi9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJXaWRnZXQuY3BwCmluZGV4IDliZjgxMTEuLmZlMzUzYTkgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldpZGdldC5jcHAKKysrIGIvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyV2lkZ2V0LmNwcApAQCAtMjA0LDggKzIwNCwxMCBAQCB2b2lkIFJlbmRlcldp
ZGdldDo6cGFpbnQoUGFpbnRJbmZvJiBwYWludEluZm8sIGludCB0eCwgaW50IHR5KQogICAgIH0K
IAogICAgIC8vIFBhaW50IGEgcGFydGlhbGx5IHRyYW5zcGFyZW50IHdhc2ggb3ZlciBzZWxlY3Rl
ZCB3aWRnZXRzLgotICAgIGlmIChpc1NlbGVjdGVkKCkgJiYgIWRvY3VtZW50KCktPnByaW50aW5n
KCkpCisgICAgaWYgKGlzU2VsZWN0ZWQoKSAmJiAhZG9jdW1lbnQoKS0+cHJpbnRpbmcoKSkgewor
ICAgICAgICAvLyBGSVhNRTogc2VsZWN0aW9uUmVjdCgpIGlzIGluIGFic29sdXRlLCBub3QgcGFp
bnRpbmcgY29vcmRpbmF0ZXMuCiAgICAgICAgIHBhaW50SW5mby5jb250ZXh0LT5maWxsUmVjdChz
ZWxlY3Rpb25SZWN0KCksIHNlbGVjdGlvbkJhY2tncm91bmRDb2xvcigpKTsKKyAgICB9CiB9CiAK
IHZvaWQgUmVuZGVyV2lkZ2V0OjpkZXJlZihSZW5kZXJBcmVuYSAqYXJlbmEpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>44272</attachid>
            <date>2009-12-03 15:34:13 -0800</date>
            <delta_ts>2009-12-03 16:19:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>selection-repaint_r2.diff</filename>
            <type>text/plain</type>
            <size>25767</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MTY2NSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjggQEAKKzIwMDktMTItMDMgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNv
bT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXhl
ZCA8cmRhcjovL3Byb2JsZW0vNzQwMTYxNz4gU2VsZWN0aW9uIHBhaW50aW5nIGlzc3VlIGluIGhh
cmR3YXJlLQorICAgICAgICBhY2NlbGVyYXRlZCBsYXllcnMKKyAgICAgICAgd2hpY2ggaXMgYW5v
dGhlciBwYXJ0IG9mIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzYy
OAorICAgICAgICBGaXggc2VsZWN0aW9uIHBhaW50aW5nIHRvIGRvIGNvbnRhaW5lci1yZWxhdGl2
ZSByZXBhaW50cworCisgICAgICAgIFRlc3Q6IGZhc3QvcmVwYWludC9ibG9jay1zZWxlY3Rpb24t
Z2FwLWluLWNvbXBvc2l0ZWQtbGF5ZXIuaHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
ckJsb2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpzZWxlY3Rpb25HYXBS
ZWN0c0ZvclJlcGFpbnQpOiBDb21wdXRlIGFuZCBwYWludAorICAgICAgICBnYXAgcmVjdHMgaW4g
dGhlIGNvb3JkaW5hdGUgc3BhY2Ugb2YgdGhlIHJlcGFpbnQgY29udGFpbmVyLgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpyZWN1cnNpdmVSZXBhaW50TGF5ZXJSZWN0KTogQWRkZWQg
YQorICAgICAgICBGSVhNRS4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVmlldy5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJWaWV3OjpzZXRTZWxlY3Rpb24pOiBNYXAgYmxvY2sgc2Vs
ZWN0aW9uIGdhcCByZWN0cyBmcm9tCisgICAgICAgIHRoZSByZXBhaW50IGNvbnRhaW5lcuKAmXMg
Y29vcmRpbmF0ZSBzcGFjZSB0byB0aGUgdmlld+KAmXMgY29vcmRpbmF0ZSBzcGFjZQorICAgICAg
ICBiZWZvcmUgYWRkaW5nIHRoZW0gdG8gdGhlIGNhY2hlZCBzZWxlY3Rpb24gYm91bmRzLgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyVmlldzo6Y2xlYXJTZWxlY3Rpb24pOiBDaGFuZ2VkIHRvIHVz
ZQorICAgICAgICByZXBhaW50UmVjdGFuZ2xlSW5WaWV3QW5kQ29tcG9zaXRlZExheWVycygpIHNv
IHRoYXQgdGhlIHNlbGVjdGlvbiByZWN0CisgICAgICAgIGlzIGludmFsaWRhdGVkIGluIGNvbXBv
c2l0ZWQgbGF5ZXJzIGFzIHdlbGwuCisKIDIwMDktMTItMDMgIEpvbmF0aGFuIERpeG9uICA8am90
aEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGltaXRyaSBHbGF6a292LgpJ
bmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAkocmV2aXNpb24gNTE2NDEpCisrKyBXZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDYgKzQ0
LDcgQEAKICNpbmNsdWRlICJSZW5kZXJWaWV3LmgiCiAjaW5jbHVkZSAiU2VsZWN0aW9uQ29udHJv
bGxlci5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCisjaW5jbHVkZSAiVHJhbnNmb3JtU3RhdGUu
aCIKICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7
CkBAIC0xOTA3LDIzICsxOTA4LDIzIEBAIGJvb2wgUmVuZGVyQmxvY2s6OmlzU2VsZWN0aW9uUm9v
dCgpIGNvbnMKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLUdhcFJlY3RzIFJlbmRlckJsb2NrOjpz
ZWxlY3Rpb25HYXBSZWN0c0ZvclJlcGFpbnQoUmVuZGVyQm94TW9kZWxPYmplY3QqIC8qcmVwYWlu
dENvbnRhaW5lciovKQorR2FwUmVjdHMgUmVuZGVyQmxvY2s6OnNlbGVjdGlvbkdhcFJlY3RzRm9y
UmVwYWludChSZW5kZXJCb3hNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lcikKIHsKICAgICBB
U1NFUlQoIW5lZWRzTGF5b3V0KCkpOwogCiAgICAgaWYgKCFzaG91bGRQYWludFNlbGVjdGlvbkdh
cHMoKSkKICAgICAgICAgcmV0dXJuIEdhcFJlY3RzKCk7CiAKLSAgICAvLyBGSVhNRTogdGhpcyBp
cyBicm9rZW4gd2l0aCB0cmFuc2Zvcm1zIGFuZCBhIG5vbi1udWxsIHJlcGFpbnRDb250YWluZXIK
LSAgICBGbG9hdFBvaW50IGFic0NvbnRlbnRQb2ludCA9IGxvY2FsVG9BYnNvbHV0ZShGbG9hdFBv
aW50KCkpOwotICAgIGlmIChoYXNPdmVyZmxvd0NsaXAoKSkKLSAgICAgICAgYWJzQ29udGVudFBv
aW50IC09IGxheWVyKCktPnNjcm9sbGVkQ29udGVudE9mZnNldCgpOworICAgIC8vIEZJWE1FOiB0
aGlzIGlzIGJyb2tlbiB3aXRoIHRyYW5zZm9ybXMKKyAgICBUcmFuc2Zvcm1TdGF0ZSB0cmFuc2Zv
cm1TdGF0ZShUcmFuc2Zvcm1TdGF0ZTo6QXBwbHlUcmFuc2Zvcm1EaXJlY3Rpb24sIEZsb2F0UG9p
bnQoKSk7CisgICAgbWFwTG9jYWxUb0NvbnRhaW5lcihyZXBhaW50Q29udGFpbmVyLCBmYWxzZSwg
ZmFsc2UsIHRyYW5zZm9ybVN0YXRlKTsKKyAgICBGbG9hdFBvaW50IG9mZnNldEZyb21SZXBhaW50
Q29udGFpbmVyID0gdHJhbnNmb3JtU3RhdGUubWFwcGVkUG9pbnQoKTsKIAogICAgIGludCBsYXN0
VG9wID0gMDsKICAgICBpbnQgbGFzdExlZnQgPSBsZWZ0U2VsZWN0aW9uT2Zmc2V0KHRoaXMsIGxh
c3RUb3ApOwogICAgIGludCBsYXN0UmlnaHQgPSByaWdodFNlbGVjdGlvbk9mZnNldCh0aGlzLCBs
YXN0VG9wKTsKICAgICAKLSAgICByZXR1cm4gZmlsbFNlbGVjdGlvbkdhcHModGhpcywgYWJzQ29u
dGVudFBvaW50LngoKSwgYWJzQ29udGVudFBvaW50LnkoKSwgYWJzQ29udGVudFBvaW50LngoKSwg
YWJzQ29udGVudFBvaW50LnkoKSwgbGFzdFRvcCwgbGFzdExlZnQsIGxhc3RSaWdodCk7CisgICAg
cmV0dXJuIGZpbGxTZWxlY3Rpb25HYXBzKHRoaXMsIG9mZnNldEZyb21SZXBhaW50Q29udGFpbmVy
LngoKSwgb2Zmc2V0RnJvbVJlcGFpbnRDb250YWluZXIueSgpLCBvZmZzZXRGcm9tUmVwYWludENv
bnRhaW5lci54KCksIG9mZnNldEZyb21SZXBhaW50Q29udGFpbmVyLnkoKSwgbGFzdFRvcCwgbGFz
dExlZnQsIGxhc3RSaWdodCk7CiB9CiAKIHZvaWQgUmVuZGVyQmxvY2s6OnBhaW50U2VsZWN0aW9u
KFBhaW50SW5mbyYgcGFpbnRJbmZvLCBpbnQgdHgsIGludCB0eSkKSW5kZXg6IFdlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAkocmV2aXNpb24gNTE2NDEpCisrKyBX
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC03NzAsNiArNzcwLDcgQEAgdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnJlcGFpbnRD
b21wbwogCiB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6cmVjdXJzaXZlUmVwYWludExheWVy
UmVjdChSZW5kZXJMYXllciogbGF5ZXIsIGNvbnN0IEludFJlY3QmIHJlY3QpCiB7CisgICAgLy8g
RklYTUU6IFRoaXMgbWV0aG9kIGRvZXMgbm90IHdvcmsgY29ycmVjdGx5IHdpdGggdHJhbnNmb3Jt
cy4KICAgICBpZiAobGF5ZXItPmlzQ29tcG9zaXRlZCgpKQogICAgICAgICBsYXllci0+c2V0QmFj
a2luZ05lZWRzUmVwYWludEluUmVjdChyZWN0KTsKIApAQCAtNzc4LDcgKzc3OSw4IEBAIHZvaWQg
UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpyZWN1cnNpdmVSZXAKICAgICAgICAgICAgIHNpemVfdCBs
aXN0U2l6ZSA9IG5lZ1pPcmRlckxpc3QtPnNpemUoKTsKICAgICAgICAgICAgIGZvciAoc2l6ZV90
IGkgPSAwOyBpIDwgbGlzdFNpemU7ICsraSkgewogICAgICAgICAgICAgICAgIFJlbmRlckxheWVy
KiBjdXJMYXllciA9IG5lZ1pPcmRlckxpc3QtPmF0KGkpOwotICAgICAgICAgICAgICAgIGludCB4
ID0gMCwgeSA9IDA7CisgICAgICAgICAgICAgICAgaW50IHggPSAwOworICAgICAgICAgICAgICAg
IGludCB5ID0gMDsKICAgICAgICAgICAgICAgICBjdXJMYXllci0+Y29udmVydFRvTGF5ZXJDb29y
ZHMobGF5ZXIsIHgsIHkpOwogICAgICAgICAgICAgICAgIEludFJlY3QgY2hpbGRSZWN0KHJlY3Qp
OwogICAgICAgICAgICAgICAgIGNoaWxkUmVjdC5tb3ZlKC14LCAteSk7CkBAIC03OTAsNyArNzky
LDggQEAgdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnJlY3Vyc2l2ZVJlcAogICAgICAgICAg
ICAgc2l6ZV90IGxpc3RTaXplID0gcG9zWk9yZGVyTGlzdC0+c2l6ZSgpOwogICAgICAgICAgICAg
Zm9yIChzaXplX3QgaSA9IDA7IGkgPCBsaXN0U2l6ZTsgKytpKSB7CiAgICAgICAgICAgICAgICAg
UmVuZGVyTGF5ZXIqIGN1ckxheWVyID0gcG9zWk9yZGVyTGlzdC0+YXQoaSk7Ci0gICAgICAgICAg
ICAgICAgaW50IHggPSAwLCB5ID0gMDsKKyAgICAgICAgICAgICAgICBpbnQgeCA9IDA7CisgICAg
ICAgICAgICAgICAgaW50IHkgPSAwOwogICAgICAgICAgICAgICAgIGN1ckxheWVyLT5jb252ZXJ0
VG9MYXllckNvb3JkcyhsYXllciwgeCwgeSk7CiAgICAgICAgICAgICAgICAgSW50UmVjdCBjaGls
ZFJlY3QocmVjdCk7CiAgICAgICAgICAgICAgICAgY2hpbGRSZWN0Lm1vdmUoLXgsIC15KTsKQEAg
LTgwMiw3ICs4MDUsOCBAQCB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6cmVjdXJzaXZlUmVw
CiAgICAgICAgIHNpemVfdCBsaXN0U2l6ZSA9IG5vcm1hbEZsb3dMaXN0LT5zaXplKCk7CiAgICAg
ICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbGlzdFNpemU7ICsraSkgewogICAgICAgICAgICAg
UmVuZGVyTGF5ZXIqIGN1ckxheWVyID0gbm9ybWFsRmxvd0xpc3QtPmF0KGkpOwotICAgICAgICAg
ICAgaW50IHggPSAwLCB5ID0gMDsKKyAgICAgICAgICAgIGludCB4ID0gMDsKKyAgICAgICAgICAg
IGludCB5ID0gMDsKICAgICAgICAgICAgIGN1ckxheWVyLT5jb252ZXJ0VG9MYXllckNvb3Jkcyhs
YXllciwgeCwgeSk7CiAgICAgICAgICAgICBJbnRSZWN0IGNoaWxkUmVjdChyZWN0KTsKICAgICAg
ICAgICAgIGNoaWxkUmVjdC5tb3ZlKC14LCAteSk7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJWaWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3
LmNwcAkocmV2aXNpb24gNTE2NDEpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNDQ2LDcgKzQ0NiwxMCBAQCB2b2lkIFJlbmRlclZpZXc6OnNl
dFNlbGVjdGlvbihSZW5kZXJPYmplCiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAg
ICAgICAgICAgIGJsb2NrSW5mbyA9IG5ldyBSZW5kZXJCbG9ja1NlbGVjdGlvbkluZm8oY2IpOwog
ICAgICAgICAgICAgICAgIG5ld1NlbGVjdGVkQmxvY2tzLnNldChjYiwgYmxvY2tJbmZvKTsKLSAg
ICAgICAgICAgICAgICBtX2NhY2hlZFNlbGVjdGlvbkJvdW5kcy51bml0ZShibG9ja0luZm8tPnJl
Y3RzKCkpOworICAgICAgICAgICAgICAgIEludFJlY3QgcmVjdCA9IGJsb2NrSW5mby0+cmVjdHMo
KTsKKyAgICAgICAgICAgICAgICBpZiAoYmxvY2tJbmZvLT5yZXBhaW50Q29udGFpbmVyKCkpCisg
ICAgICAgICAgICAgICAgICAgIHJlY3QgPSBibG9ja0luZm8tPnJlcGFpbnRDb250YWluZXIoKS0+
bG9jYWxUb0Fic29sdXRlUXVhZChGbG9hdFF1YWQocmVjdCkpLmVuY2xvc2luZ0JvdW5kaW5nQm94
KCk7CisgICAgICAgICAgICAgICAgbV9jYWNoZWRTZWxlY3Rpb25Cb3VuZHMudW5pdGUocmVjdCk7
CiAgICAgICAgICAgICAgICAgY2IgPSBjYi0+Y29udGFpbmluZ0Jsb2NrKCk7CiAgICAgICAgICAg
ICB9CiAgICAgICAgIH0KQEAgLTUyMyw3ICs1MjYsNyBAQCB2b2lkIFJlbmRlclZpZXc6OnNldFNl
bGVjdGlvbihSZW5kZXJPYmplCiAKIHZvaWQgUmVuZGVyVmlldzo6Y2xlYXJTZWxlY3Rpb24oKQog
ewotICAgIHJlcGFpbnRWaWV3UmVjdGFuZ2xlKG1fY2FjaGVkU2VsZWN0aW9uQm91bmRzKTsKKyAg
ICByZXBhaW50UmVjdGFuZ2xlSW5WaWV3QW5kQ29tcG9zaXRlZExheWVycyhtX2NhY2hlZFNlbGVj
dGlvbkJvdW5kcyk7CiAgICAgc2V0U2VsZWN0aW9uKDAsIC0xLCAwLCAtMSwgUmVwYWludE5ld01p
bnVzT2xkKTsKIH0KIApJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gNTE2NjUpCisrKyBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNyBAQAorMjAwOS0xMi0wMyAgRGFu
IEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRlc3QgZm9yIDxyZGFyOi8vcHJvYmxlbS83NDAxNjE3PiBT
ZWxlY3Rpb24gcGFpbnRpbmcgaXNzdWUgaW4gaGFyZHdhcmUtCisgICAgICAgIGFjY2VsZXJhdGVk
IGxheWVycworICAgICAgICB3aGljaCBpcyBhbm90aGVyIHBhcnQgb2YgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNjI4CisgICAgICAgIEZpeCBzZWxlY3Rpb24gcGFp
bnRpbmcgdG8gZG8gY29udGFpbmVyLXJlbGF0aXZlIHJlcGFpbnRzCisKKyAgICAgICAgKiBmYXN0
L3JlcGFpbnQvYmxvY2stc2VsZWN0aW9uLWdhcC1pbi1jb21wb3NpdGVkLWxheWVyLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3JlcGFpbnQvYmxvY2stc2VsZWN0aW9u
LWdhcC1pbi1jb21wb3NpdGVkLWxheWVyLWV4cGVjdGVkLmNoZWNrc3VtOiBBZGRlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9yZXBhaW50L2Jsb2NrLXNlbGVjdGlvbi1nYXAtaW4tY29t
cG9zaXRlZC1sYXllci1leHBlY3RlZC5wbmc6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21h
Yy9mYXN0L3JlcGFpbnQvYmxvY2stc2VsZWN0aW9uLWdhcC1pbi1jb21wb3NpdGVkLWxheWVyLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisKIDIwMDktMTItMDMgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9z
c3lAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KSW5kZXg6
IExheW91dFRlc3RzL2Zhc3QvcmVwYWludC9ibG9jay1zZWxlY3Rpb24tZ2FwLWluLWNvbXBvc2l0
ZWQtbGF5ZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvYmxv
Y2stc2VsZWN0aW9uLWdhcC1pbi1jb21wb3NpdGVkLWxheWVyLmh0bWwJKHJldmlzaW9uIDApCisr
KyBMYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvYmxvY2stc2VsZWN0aW9uLWdhcC1pbi1jb21wb3Np
dGVkLWxheWVyLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjAgQEAKKzxoZWFkPgorICAg
IDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcmVwYWludC5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0
IiBjaGFyc2V0PSJ1dGYtOCI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiIGNoYXJzZXQ9InV0Zi04Ij4KKyAgICBmdW5jdGlvbiByZXBhaW50VGVzdCgpCisgICAg
eworICAgICAgICB2YXIgdGFyZ2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIp
OworICAgICAgICBnZXRTZWxlY3Rpb24oKS5zZXRCYXNlQW5kRXh0ZW50KHRhcmdldCwgMCwgdGFy
Z2V0Lm5leHRTaWJsaW5nLCAxKTsKKyAgICB9CisgICAgPC9zY3JpcHQ+CisgICAgPHN0eWxlPgor
ICAgICAgICAjdGFyZ2V0OjpzZWxlY3Rpb24geyBiYWNrZ3JvdW5kLWNvbG9yOiAjMGYwOyB9Cisg
ICAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuUmVwYWludFRlc3QoKSI+Cisg
ICAgPGRpdiBzdHlsZT0iLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7IG1hcmdpbi10
b3A6IDUwcHg7IG1hcmdpbi1sZWZ0OiA1MHB4OyI+CisgICAgICAgIDxkaXYgaWQ9InRhcmdldCIg
c3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHJlZDsgd2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4
OyBwb3NpdGlvbjogYWJzb2x1dGU7Ij48YnI+PC9kaXY+YQorICAgIDwvZGl2PgorICAgIDxzY3Jp
cHQ+CisgICAgPC9zY3JpcHQ+Cis8L2JvZHk+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZmFzdC9yZXBhaW50L2Jsb2NrLXNlbGVjdGlvbi1nYXAtaW4tY29tcG9zaXRlZC1sYXllci1l
eHBlY3RlZC5jaGVja3N1bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZmFzdC9yZXBhaW50L2Jsb2NrLXNlbGVjdGlvbi1nYXAtaW4tY29tcG9zaXRlZC1sYXllci1leHBl
Y3RlZC5jaGVja3N1bQkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9m
YXN0L3JlcGFpbnQvYmxvY2stc2VsZWN0aW9uLWdhcC1pbi1jb21wb3NpdGVkLWxheWVyLWV4cGVj
dGVkLmNoZWNrc3VtCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxIEBACis2YmNjNGYyYTgyN2Q2Mjk0
NGY0Y2U4YTRkZDEzYjQzMApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3JlcGFpbnQvYmxvY2stc2VsZWN0aW9uLWdhcC1pbi1j
b21wb3NpdGVkLWxheWVyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvZmFzdC9yZXBhaW50L2Jsb2NrLXNlbGVjdGlvbi1nYXAtaW4tY29tcG9zaXRl
ZC1sYXllci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvZmFzdC9yZXBhaW50L2Jsb2NrLXNlbGVjdGlvbi1nYXAtaW4tY29tcG9zaXRlZC1sYXll
ci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTQgQEAKK2xheWVyIGF0ICgw
LDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw1MCkgc2l6ZSA3ODR4NTQy
CitsYXllciBhdCAoNTgsNTApIHNpemUgNzM0eDE4CisgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICg1
MCwwKSBzaXplIDczNHgxOAorICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDd4
MTgKKyAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDc6ICJhIgorbGF5ZXIgYXQgKDU4LDUw
KSBzaXplIDEwMHgxMDAKKyAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDAp
IHNpemUgMTAweDEwMCBbYmdjb2xvcj0jRkYwMDAwXQorICAgIFJlbmRlckJSIHtCUn0gYXQgKDAs
MCkgc2l6ZSAweDE4CitzZWxlY3Rpb24gc3RhcnQ6IHBvc2l0aW9uIDAgb2YgY2hpbGQgMCB7QlJ9
IG9mIGNoaWxkIDEge0RJVn0gb2YgY2hpbGQgMSB7RElWfSBvZiBjaGlsZCAxIHtCT0RZfSBvZiBj
aGlsZCAwIHtIVE1MfSBvZiBkb2N1bWVudAorc2VsZWN0aW9uIGVuZDogICBwb3NpdGlvbiAxIG9m
IGNoaWxkIDIgeyN0ZXh0fSBvZiBjaGlsZCAxIHtESVZ9IG9mIGNoaWxkIDEge0JPRFl9IG9mIGNo
aWxkIDAge0hUTUx9IG9mIGRvY3VtZW50CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZmFzdC9yZXBhaW50L2Jsb2NrLXNlbGVjdGlvbi1nYXAtaW4tY29tcG9zaXRlZC1sYXllci1leHBl
Y3RlZC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBiaW5h
cnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQoKUHJvcGVy
dHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvcmVwYWludC9ibG9j
ay1zZWxlY3Rpb24tZ2FwLWluLWNvbXBvc2l0ZWQtbGF5ZXItZXhwZWN0ZWQucG5nCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KQWRkZWQ6IHN2bjptaW1lLXR5cGUKICAgKyBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KCgpp
VkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBeUFBQUFKWUNBWUFBQUNhZG9Kd0FBQUM3bWxEUTFCSlEw
TWdVSEp2Wm1sc1pRQUFlQUdGClZNOXJFMEVVL2padXFkQWlDRnByRHJKNGtDSkpXYXRvUmRRMi9S
Rmlhd3piSDdaRmtHUXpTZFp1TnV2dUpyV2xpT1RpMFNyZVJlMmgKQi8rQUhucndaQzlLaFZwRktO
NnJLR0toRnkzeHpXNU10cVhxd001Kzg5NDM3MzF2ZHQ4QURYTFNOUFdBQk9RTngxS2lFV2xzZkVK
cQovSWdBanFJSlFUUWxWZHZzVGlRR1FZTnorWHZuMkhvUGdWdFd3M3Y3ZDdKM3JaclN0cG9IaFAx
QTRFZWEyU3F3N3hkeENsa1NBb2c4CjM2RXB4M1FJMytQWTh1eVBPVTU1ZU1HMUR5czl4RmtpZkVB
MUxjNS9UYmhUelNYVFFJTklPSlQxY1ZJK25OZUxsTmNkQjJsdVpzYkkKRUwxUGtLYTd6TzZyWXFH
Y1R2WU9rTDJkOUg1T3M5NCt3aUhDQ3htdFAwYTRqWjcxak5VLzRtSGhwT2JFaGowY0dEWDArR0FW
dHhxcAorRFhDRkY4UVRTZWlWSEhaTGczeG1LNzlWdkpLZ25DUU9NcGtZWUJ6V2toUDEweHUrTHFI
QlgwbTF4T3Y0bmRXVWVGNWp4Tm4zdFRkCjcwWGFBcTh3RGgwTUdneWFEVWhRRUVVRVlaaXdVRUNH
UEJveE5MSnlQeU9yQmh1VGV6SjFKR3E3ZEdKRXNVRjdOdHc5dDFHazNUeisKS0NKeGxFTzFDSkw4
UWY0cXI4bFA1WG41eTF5dzJGYjNsSzJibXJyeTREdkY1Wm01R2g3WDA4ampjMDFlZkpYVWRwTlhS
NWFzZVhxOAptdXdhUCt4WGx6SG1naldQeEhPdysvRXRYNVhNbHltTUZNWGpWZlBxUzRSMVdqRTMz
NTlzZnpzOTRpN1BMclhXYzYySml6ZFdtNWRuCi9XcEkrKzZxdkpQbVZmbFBYdlh4L0dmTnhHUGlL
VEVtZG9ybklZbVh4Uzd4a3RoTHF3dmlZRzNIQ0oyVmhpblNiWkg2Sk5WZ1lKcTgKOVM5ZFAxdDR2
VVovRFBWUmxCbk0wbFNKOTMvQ0ttUTBuYmtPYi9xUDI4ZjhGK1QzaXVlZktBSXZiT0RJbWJwdFUz
SHZFS0ZscFc1egpyZ0lYdjlGOThMWnVhNk4rT1B3RVdEeXJGcTFTTlo4Z3ZBRWNkb2Q2SHVncG1O
T1dsczA1VW9jc241TzY2Y3BpVXN4UTIwTlNVdGNsCjEyVkxGck9aVldMcGR0aVoweDF1SEtFNVF2
ZkVwMHBsay9xdjhSR3cvYkJTK2Ztc1V0bCtUaHJXZ1pmNmI4QzgvVVhBZUl1SkFBQWcKQUVsRVFW
UjRBZTNad1lsUVFSUkZRUlV4SWMwL0FrM0lqWW9CdkxzNU5JZzEyd3V2WjRxL09jekhYMzkrUHZn
aFFJQUFBUUlFQ0JBZwpRSURBQTRGUEQ5N3dCQUVDQkFnUUlFQ0FBQUVDQlA0S0NCQWZBZ0VDQkFn
UUlFQ0FBQUVDendRRXlETnFEeEVnUUlBQUFRSUVDQkFnCklFQjhBd1FJRUNCQWdBQUJBZ1FJUEJN
UUlNK29QVVNBQUFFQ0JBZ1FJRUNBZ0FEeERSQWdRSUFBQVFJRUNCQWc4RXhBZ0R5ajloQUIKQWdR
SUVDQkFnQUFCQWdMRU4wQ0FBQUVDQkFnUUlFQ0F3RE1CQWZLTTJrTUVDQkFnUUlBQUFRSUVDQWdR
M3dBQkFnUUlFQ0JBZ0FBQgpBczhFQk1nemFnOFJJRUNBQUFFQ0JBZ1FJQ0JBZkFNRUNCQWdRSUFB
QVFJRUNEd1RFQ0RQcUQxRWdBQUJBZ1FJRUNCQWdJQUE4UTBRCklFQ0FBQUVDQkFnUUlQQk1RSUE4
by9ZUUFRSUVDQkFnUUlBQUFRSUN4RGRBZ0FBQkFnUUlFQ0JBZ01BekFRSHlqTnBEQkFnUUlFQ0EK
QUFFQ0JBZ0lFTjhBQVFJRUNCQWdRSUFBQVFMUEJBVElNMm9QRVNCQWdBQUJBZ1FJRUNBZ1FId0RC
QWdRSUVDQUFBRUNCQWc4RXhBZwp6Nmc5UklBQUFRSUVDQkFnUUlDQUFQRU5FQ0JBZ0FBQkFnUUlF
Q0R3VEVDQVBLUDJFQUVDQkFnUUlFQ0FBQUVDQXNRM1FJQUFBUUlFCkNCQWdRSURBTXdFQjhvemFR
d1FJRUNCQWdBQUJBZ1FJQ0JEZkFBRUNCQWdRSUVDQUFBRUN6d1FFeUROcUR4RWdRSUFBQVFJRUNC
QWcKSUVCOEF3UUlFQ0JBZ0FBQkFnUUlQQk1RSU0rb1BVU0FBQUVDQkFnUUlFQ0FnQUR4RFJBZ1FJ
QUFBUUlFQ0JBZzhFeEFnRHlqOWhBQgpBZ1FJRUNCQWdBQUJBZ0xFTjBDQUFBRUNCQWdRSUVDQXdE
TUJBZktNMmtNRUNCQWdRSUFBQVFJRUNBZ1Ezd0FCQWdRSUVDQkFnQUFCCkFzOEVCTWd6YWc4UklF
Q0FBQUVDQkFnUUlDQkFmQU1FQ0JBZ1FJQUFBUUlFQ0R3VEVDRFBxRDFFZ0FBQkFnUUlFQ0JBZ0lB
QThRMFEKSUVDQUFBRUNCQWdRSVBCTVFJQThvL1lRQVFJRUNCQWdRSUFBQVFJQ3hEZEFnQUFCQWdR
SUVDQkFnTUF6QVFIeWpOcERCQWdRSUVDQQpBQUVDQkFnSUVOOEFBUUlFQ0JBZ1FJQUFBUUxQQkFU
SU0yb1BFU0JBZ0FBQkFnUUlFQ0FnUUh3REJBZ1FJRUNBQUFFQ0JBZzhFeEFnCno2ZzlSSUFBQVFJ
RUNCQWdRSUNBQVBFTkVDQkFnQUFCQWdRSUVDRHdURUNBUEtQMkVBRUNCQWdRSUVDQUFBRUNBc1Ez
UUlBQUFRSUUKQ0JBZ1FJREFNd0VCOG96YVF3UUlFQ0JBZ0FBQkFnUUlmUDVmQ0w3OStQSy8vS24v
eE4vNS9ldlBmK0wzOUVzU0lFQ0FBQUVDQkFpMApBdjREMG5xNlJvQUFBUUlFQ0JBZ1FJREFJU0JB
RGh3VEFRSUVDQkFnUUlBQUFRS3RnQUJwUFYwalFJQUFBUUlFQ0JBZ1FPQVFFQ0FICmpva0FBUUlF
Q0JBZ1FJQUFnVlpBZ0xTZXJoRWdRSUFBQVFJRUNCQWdjQWdJa0FQSFJJQUFBUUlFQ0JBZ1FJQkFL
eUJBV2svWENCQWcKUUlBQUFRSUVDQkE0QkFUSWdXTWlRSUFBQVFJRUNCQWdRS0FWRUNDdHAyc0VD
QkFnUUlBQUFRSUVDQndDQXVUQU1SRWdRSUFBQVFJRQpDQkFnMEFvSWtOYlROUUlFQ0JBZ1FJQUFB
UUlFRGdFQmN1Q1lDQkFnUUlBQUFRSUVDQkJvQlFSSTYra2FBUUlFQ0JBZ1FJQUFBUUtICmdBQTVj
RXdFQ0JBZ1FJQUFBUUlFQ0xRQ0FxVDFkSTBBQVFJRUNCQWdRSUFBZ1VOQWdCdzRKZ0lFQ0JBZ1FJ
QUFBUUlFV2dFQjBucTYKUm9BQUFRSUVDQkFnUUlEQUlTQkFEaHdUQVFJRUNCQWdRSUFBQVFLdGdB
QnBQVjBqUUlBQUFRSUVDQkFnUU9BUUVDQUhqb2tBQVFJRQpDQkFnUUlBQWdWWkFnTFNlcmhFZ1FJ
QUFBUUlFQ0JBZ2NBZ0lrQVBIUklBQUFRSUVDQkFnUUlCQUt5QkFXay9YQ0JBZ1FJQUFBUUlFCkNC
QTRCQVRJZ1dNaVFJQUFBUUlFQ0JBZ1FLQVZFQ0N0cDJzRUNCQWdRSUFBQVFJRUNCd0NBdVRBTVJF
Z1FJQUFBUUlFQ0JBZzBBb0kKa05iVE5RSUVDQkFnUUlBQUFRSUVEZ0VCY3VDWUNCQWdRSUFBQVFJ
RUNCQm9CUVJJNitrYUFRSUVDQkFnUUlBQUFRS0hnQUE1Y0V3RQpDQkFnUUlBQUFRSUVDTFFDQXFU
MWRJMEFBUUlFQ0JBZ1FJQUFnVU5BZ0J3NEpnSUVDQkFnUUlBQUFRSUVXZ0VCMG5xNlJvQUFBUUlF
CkNCQWdRSURBSVNCQURod1RBUUlFQ0JBZ1FJQUFBUUt0Z0FCcFBWMGpRSUFBQVFJRUNCQWdRT0FR
RUNBSGpva0FBUUlFQ0JBZ1FJQUEKZ1ZaQWdMU2VyaEVnUUlBQUFRSUVDQkFnY0FnSWtBUEhSSUFB
QVFJRUNCQWdRSUJBS3lCQVdrL1hDQkFnUUlBQUFRSUVDQkE0QkFUSQpnV01pUUlBQUFRSUVDQkFn
UUtBVkVDQ3RwMnNFQ0JBZ1FJQUFBUUlFQ0J3Q0F1VEFNUkVnUUlBQUFRSUVDQkFnMEFvSWtOYlRO
UUlFCkNCQWdRSUFBQVFJRURnRUJjdUNZQ0JBZ1FJQUFBUUlFQ0JCb0JRUkk2K2thQVFJRUNCQWdR
SUFBQVFLSGdBQTVjRXdFQ0JBZ1FJQUEKQVFJRUNMUUNBcVQxZEkwQUFRSUVDQkFnUUlBQWdVTkFn
Qnc0SmdJRUNCQWdRSUFBQVFJRVdnRUIwbnE2Um9BQUFRSUVDQkFnUUlEQQpJU0JBRGh3VEFRSUVD
QkFnUUlBQUFRS3RnQUJwUFYwalFJQUFBUUlFQ0JBZ1FPQVFFQ0FIam9rQUFRSUVDQkFnUUlBQWdW
WkFnTFNlCnJoRWdRSUFBQVFJRUNCQWdjQWdJa0FQSFJJQUFBUUlFQ0JBZ1FJQkFLeUJBV2svWENC
QWdRSUFBQVFJRUNCQTRCQVRJZ1dNaVFJQUEKQVFJRUNCQWdRS0FWRUNDdHAyc0VDQkFnUUlBQUFR
SUVDQndDQXVUQU1SRWdRSUFBQVFJRUNCQWcwQW9Ja05iVE5RSUVDQkFnUUlBQQpBUUlFRGdFQmN1
Q1lDQkFnUUlBQUFRSUVDQkJvQlFSSTYra2FBUUlFQ0JBZ1FJQUFBUUtIZ0FBNWNFd0VDQkFnUUlB
QUFRSUVDTFFDCkFxVDFkSTBBQVFJRUNCQWdRSUFBZ1VOQWdCdzRKZ0lFQ0JBZ1FJQUFBUUlFV2dF
QjBucTZSb0FBQVFJRUNCQWdRSURBSVNCQURod1QKQVFJRUNCQWdRSUFBQVFLdGdBQnBQVjBqUUlB
QUFRSUVDQkFnUU9BUUVDQUhqb2tBQVFJRUNCQWdRSUFBZ1ZaQWdMU2VyaEVnUUlBQQpBUUlFQ0JB
Z2NBZ0lrQVBIUklBQUFRSUVDQkFnUUlCQUt5QkFXay9YQ0JBZ1FJQUFBUUlFQ0JBNEJBVElnV01p
UUlBQUFRSUVDQkFnClFLQVZFQ0N0cDJzRUNCQWdRSUFBQVFJRUNCd0NBdVRBTVJFZ1FJQUFBUUlF
Q0JBZzBBb0lrTmJUTlFJRUNCQWdRSUFBQVFJRURnRUIKY3VDWUNCQWdRSUFBQVFJRUNCQm9CUVJJ
NitrYUFRSUVDQkFnUUlBQUFRS0hnQUE1Y0V3RUNCQWdRSUFBQVFJRUNMUUNBcVQxZEkwQQpBUUlF
Q0JBZ1FJQUFnVU5BZ0J3NEpnSUVDQkFnUUlBQUFRSUVXZ0VCMG5xNlJvQUFBUUlFQ0JBZ1FJREFJ
U0JBRGh3VEFRSUVDQkFnClFJQUFBUUt0Z0FCcFBWMGpRSUFBQVFJRUNCQWdRT0FRRUNBSGpva0FB
UUlFQ0JBZ1FJQUFnVlpBZ0xTZXJoRWdRSUFBQVFJRUNCQWcKY0FnSWtBUEhSSUFBQVFJRUNCQWdR
SUJBS3lCQVdrL1hDQkFnUUlBQUFRSUVDQkE0QkFUSWdXTWlRSUFBQVFJRUNCQWdRS0FWRUNDdApw
MnNFQ0JBZ1FJQUFBUUlFQ0J3Q0F1VEFNUkVnUUlBQUFRSUVDQkFnMEFvSWtOYlROUUlFQ0JBZ1FJ
QUFBUUlFRGdFQmN1Q1lDQkFnClFJQUFBUUlFQ0JCb0JRUkk2K2thQVFJRUNCQWdRSUFBQVFLSGdB
QTVjRXdFQ0JBZ1FJQUFBUUlFQ0xRQ0FxVDFkSTBBQVFJRUNCQWcKUUlBQWdVTkFnQnc0SmdJRUNC
QWdRSUFBQVFJRVdnRUIwbnE2Um9BQUFRSUVDQkFnUUlEQUlTQkFEaHdUQVFJRUNCQWdRSUFBQVFL
dApnQUJwUFYwalFJQUFBUUlFQ0JBZ1FPQVErUGpyejgreG13Z1FJRUNBQUFFQ0JBZ1FJSkFKK0E5
SVJ1a1FBUUlFQ0JBZ1FJQUFBUUpMClFJQXNJVHNCQWdRSUVDQkFnQUFCQXBtQUFNa29IU0pBZ0FB
QkFnUUlFQ0JBWUFrSWtDVmtKMENBQUFFQ0JBZ1FJRUFnRXhBZ0dhVkQKQkFnUUlFQ0FBQUVDQkFn
c0FRR3loT3dFQ0JBZ1FJQUFBUUlFQ0dRQ0FpU2pkSWdBQVFJRUNCQWdRSUFBZ1NVZ1FKYVFuUUFC
QWdRSQpFQ0JBZ0FDQlRFQ0FaSlFPRVNCQWdBQUJBZ1FJRUNDd0JBVElFcklUSUVDQUFBRUNCQWdR
SUpBSkNKQ00waUVDQkFnUUlFQ0FBQUVDCkJKYUFBRmxDZGdJRUNCQWdRSUFBQVFJRU1nRUJrbEU2
UklBQUFRSUVDQkFnUUlEQUVoQWdTOGhPZ0FBQkFnUUlFQ0JBZ0VBbUlFQXkKU29jSUVDQkFnQUFC
QWdRSUVGZ0NBbVFKMlFrUUlFQ0FBQUVDQkFnUXlBUUVTRWJwRUFFQ0JBZ1FJRUNBQUFFQ1MwQ0FM
Q0U3QVFJRQpDQkFnUUlBQUFRS1pnQURKS0IwaVFJQUFBUUlFQ0JBZ1FHQUpDSkFsWkNkQWdBQUJB
Z1FJRUNCQUlCTVFJQm1sUXdRSUVDQkFnQUFCCkFnUUlMQUVCc29Uc0JBZ1FJRUNBQUFFQ0JBaGtB
Z0lrbzNTSUFBRUNCQWdRSUVDQUFJRWxJRUNXa0owQUFRSUVDQkFnUUlBQWdVeEEKZ0dTVURoRWdR
SUFBQVFJRUNCQWdzQVFFeUJLeUV5QkFnQUFCQWdRSUVDQ1FDUWlRak5JaEFnUUlFQ0JBZ0FBQkFn
U1dnQUJaUW5ZQwpCQWdRSUVDQUFBRUNCRElCQVpKUk9rU0FBQUVDQkFnUUlFQ0F3QklRSUV2SVRv
QUFBUUlFQ0JBZ1FJQkFKaUJBTWtxSENCQWdRSUFBCkFRSUVDQkJZQWdKa0Nka0pFQ0JBZ0FBQkFn
UUlFTWdFQkVoRzZSQUJBZ1FJRUNCQWdBQUJBa3RBZ0N3aE93RUNCQWdRSUVDQUFBRUMKbVlBQXlT
Z2RJa0NBQUFFQ0JBZ1FJRUJnQ1FpUUpXUW5RSUFBQVFJRUNCQWdRQ0FURUNBWnBVTUVDQkFnUUlB
QUFRSUVDQ3dCQWJLRQo3QVFJRUNCQWdBQUJBZ1FJWkFJQ0pLTjBpQUFCQWdRSUVDQkFnQUNCSlNC
QWxwQ2RBQUVDQkFnUUlFQ0FBSUZNUUlCa2xBNFJJRUNBCkFBRUNCQWdRSUxBRUJNZ1NzaE1nUUlB
QUFRSUVDQkFna0FrSWtJelNJUUlFQ0JBZ1FJQUFBUUlFbG9BQVdVSjJBZ1FJRUNCQWdBQUIKQWdR
eUFRR1NVVHBFZ0FBQkFnUUlFQ0JBZ01BU0VDQkx5RTZBQUFFQ0JBZ1FJRUNBUUNZZ1FESktod2dR
SUVDQUFBRUNCQWdRV0FJQwpaQW5aQ1JBZ1FJQUFBUUlFQ0JESUJBUklSdWtRQVFJRUNCQWdRSUFB
QVFKTFFJQXNJVHNCQWdRSUVDQkFnQUFCQXBtQUFNa29IU0pBCmdBQUJBZ1FJRUNCQVlBa0lrQ1Zr
SjBDQUFBRUNCQWdRSUVBZ0V4QWdHYVZEQkFnUUlFQ0FBQUVDQkFnc0FRR3loT3dFQ0JBZ1FJQUEK
QVFJRUNHUUNBaVNqZElnQUFRSUVDQkFnUUlBQWdTVWdRSmFRblFBQkFnUUlFQ0JBZ0FDQlRFQ0Fa
SlFPRVNCQWdBQUJBZ1FJRUNDdwpCQVRJRXJJVElFQ0FBQUVDQkFnUUlKQUpDSkNNMGlFQ0JBZ1FJ
RUNBQUFFQ0JKYUFBRmxDZGdJRUNCQWdRSUFBQVFJRU1nRUJrbEU2ClJJQUFBUUlFQ0JBZ1FJREFF
aEFnUzhoT2dBQUJBZ1FJRUNCQWdFQW1JRUF5U29jSUVDQkFnQUFCQWdRSUVGZ0NBbVFKMlFrUUlF
Q0EKQUFFQ0JBZ1F5QVFFU0VicEVBRUNCQWdRSUVDQUFBRUNTMENBTENFN0FRSUVDQkFnUUlBQUFR
S1pnQURKS0IwaVFJQUFBUUlFQ0JBZwpRR0FKQ0pBbFpDZEFnQUFCQWdRSUVDQkFJQk1RSUJtbFF3
UUlFQ0JBZ0FBQkFnUUlMQUVCc29Uc0JBZ1FJRUNBQUFFQ0JBaGtBZ0lrCm8zU0lBQUVDQkFnUUlF
Q0FBSUVsSUVDV2tKMEFBUUlFQ0JBZ1FJQUFnVXhBZ0dTVURoRWdRSUFBQVFJRUNCQWdzQVFFeUJL
eUV5QkEKZ0FBQkFnUUlFQ0NRQ1FpUWpOSWhBZ1FJRUNCQWdBQUJBZ1NXZ0FCWlFuWUNCQWdRSUVD
QUFBRUNCRElCQVpKUk9rU0FBQUVDQkFnUQpJRUNBd0JJUUlFdklUb0FBQVFJRUNCQWdRSUJBSmlC
QU1rcUhDQkFnUUlBQUFRSUVDQkJZQWdKa0Nka0pFQ0JBZ0FBQkFnUUlFTWdFCkJFaEc2UkFCQWdR
SUVDQkFnQUFCQWt0QWdDd2hPd0VDQkFnUUlFQ0FBQUVDbVlBQXlTZ2RJa0NBQUFFQ0JBZ1FJRUJn
Q1FpUUpXUW4KUUlBQUFRSUVDQkFnUUNBVEVDQVpwVU1FQ0JBZ1FJQUFBUUlFQ0N3QkFiS0U3QVFJ
RUNCQWdBQUJBZ1FJWkFJQ0pLTjBpQUFCQWdRSQpFQ0JBZ0FDQkpTQkFscENkQUFFQ0JBZ1FJRUNB
QUlGTVFJQmtsQTRSSUVDQUFBRUNCQWdRSUxBRUJNZ1NzaE1nUUlBQUFRSUVDQkFnCmtBa0lrSXpT
SVFJRUNCQWdRSUFBQVFJRWxvQUFXVUoyQWdRSUVDQkFnQUFCQWdReUFRR1NVVHBFZ0FBQkFnUUlF
Q0JBZ01BU0VDQkwKeUU2QUFBRUNCQWdRSUVDQVFDWWdRREpLaHdnUUlFQ0FBQUVDQkFnUVdBSUNa
QW5aQ1JBZ1FJQUFBUUlFQ0JESUJBUklSdWtRQVFJRQpDQkFnUUlBQUFRSkxRSUFzSVRzQkFnUUlF
Q0JBZ0FBQkFwbUFBTWtvSFNKQWdBQUJBZ1FJRUNCQVlBa0lrQ1ZrSjBDQUFBRUNCQWdRCklFQWdF
eEFnR2FWREJBZ1FJRUNBQUFFQ0JBZ3NBUUd5aE93RUNCQWdRSUFBQVFJRUNHUUNBaVNqZElnQUFR
SUVDQkFnUUlBQWdTVWcKUUphUW5RQUJBZ1FJRUNCQWdBQ0JURUNBWkpRT0VTQkFnQUFCQWdRSUVD
Q3dCQVRJRXJJVElFQ0FBQUVDQkFnUUlKQUpDSkNNMGlFQwpCQWdRSUVDQUFBRUNCSmFBQUZsQ2Rn
SUVDQkFnUUlBQUFRSUVNZ0VCa2xFNlJJQUFBUUlFQ0JBZ1FJREFFaEFnUzhoT2dBQUJBZ1FJCkVD
QkFnRUFtSUVBeVNvY0lFQ0JBZ0FBQkFnUUlFRmdDQW1RSjJRa1FJRUNBQUFFQ0JBZ1F5QVFFU0Vi
cEVBRUNCQWdRSUVDQUFBRUMKUzBDQUxDRTdBUUlFQ0JBZ1FJQUFBUUtaZ0FESktCMGlRSUFBQVFJ
RUNCQWdRR0FKQ0pBbFpDZEFnQUFCQWdRSUVDQkFJQk1RSUJtbApRd1FJRUNCQWdBQUJBZ1FJTEFF
QnNvVHNCQWdRSUVDQUFBRUNCQWhrQWdJa28zU0lBQUVDQkFnUUlFQ0FBSUVsSUVDV2tKMEFBUUlF
CkNCQWdRSUFBZ1V4QWdHU1VEaEVnUUlBQUFRSUVDQkFnc0FRRXlCS3lFeUJBZ0FBQkFnUUlFQ0NR
Q1FpUWpOSWhBZ1FJRUNCQWdBQUIKQWdTV2dBQlpRbllDQkFnUUlFQ0FBQUVDQkRJQkFaSlJPa1NB
QUFFQ0JBZ1FJRUNBd0JJUUlFdklUb0FBQVFJRUNCQWdRSUJBSmlCQQpNa3FIQ0JBZ1FJQUFBUUlF
Q0JCWUFnSmtDZGtKRUNCQWdBQUJBZ1FJRU1nRUJFaEc2UkFCQWdRSUVDQkFnQUFCQWt0QWdDd2hP
d0VDCkJBZ1FJRUNBQUFFQ21ZQUF5U2dkSWtDQUFBRUNCQWdRSUVCZ0NRaVFKV1FuUUlBQUFRSUVD
QkFnUUNBVEVDQVpwVU1FQ0JBZ1FJQUEKQVFJRUNDd0JBYktFN0FRSUVDQkFnQUFCQWdRSVpBSUNK
S04waUFBQkFnUUlFQ0JBZ0FDQkpTQkFscENkQUFFQ0JBZ1FJRUNBQUlGTQpRSUJrbEE0UklFQ0FB
QUVDQkFnUUlMQUVCTWdTc2hNZ1FJQUFBUUlFQ0JBZ2tBa0lrSXpTSVFJRUNCQWdRSUFBQVFJRWxv
QUFXVUoyCkFnUUlFQ0JBZ0FBQkFnUXlBUUdTVVRwRWdBQUJBZ1FJRUNCQWdNQVNFQ0JMeUU2QUFB
RUNCQWdRSUVDQVFDWWdRREpLaHdnUUlFQ0EKQUFFQ0JBZ1FXQUlDWkFuWkNSQWdRSUFBQVFJRUNC
RElCQVJJUnVrUUFRSUVDQkFnUUlBQUFRSkxRSUFzSVRzQkFnUUlFQ0JBZ0FBQgpBcG1BQU1rb0hT
SkFnQUFCQWdRSUVDQkFZQWtJa0NWa0owQ0FBQUVDQkFnUUlFQWdFeEFnR2FWREJBZ1FJRUNBQUFF
Q0JBZ3NBUUd5CmhPd0VDQkFnUUlBQUFRSUVDR1FDQWlTamRJZ0FBUUlFQ0JBZ1FJQUFnU1VnUUph
UW5RQUJBZ1FJRUNCQWdBQ0JURUNBWkpRT0VTQkEKZ0FBQkFnUUlFQ0N3QkFUSUVySVRJRUNBQUFF
Q0JBZ1FJSkFKQ0pDTTBpRUNCQWdRSUVDQUFBRUNCSmFBQUZsQ2RnSUVDQkFnUUlBQQpBUUlFTWdF
QmtsRTZSSUFBQVFJRUNCQWdRSURBRWhBZ1M4aE9nQUFCQWdRSUVDQkFnRUFtSUVBeVNvY0lFQ0JB
Z0FBQkFnUUlFRmdDCkFtUUoyUWtRSUVDQUFBRUNCQWdReUFRRVNFYnBFQUVDQkFnUUlFQ0FBQUVD
UzBDQUxDRTdBUUlFQ0JBZ1FJQUFBUUtaZ0FESktCMGkKUUlBQUFRSUVDQkFnUUdBSkNKQWxaQ2RB
Z0FBQkFnUUlFQ0JBSUJNUUlCbWxRd1FJRUNCQWdBQUJBZ1FJTEFFQnNvVHNCQWdRSUVDQQpBQUVD
QkFoa0FnSWtvM1NJQUFFQ0JBZ1FJRUNBQUlFbElFQ1drSjBBQVFJRUNCQWdRSUFBZ1V4QWdHU1VE
aEVnUUlBQUFRSUVDQkFnCnNBUUV5Qkt5RXlCQWdBQUJBZ1FJRUNDUUNRaVFqTkloQWdRSUVDQkFn
QUFCQWdTV2dBQlpRbllDQkFnUUlFQ0FBQUVDQkRJQkFaSlIKT2tTQUFBRUNCQWdRSUVDQXdCSVFJ
RXZJVG9BQUFRSUVDQkFnUUlCQUppQkFNa3FIQ0JBZ1FJQUFBUUlFQ0JCWUFnSmtDZGtKRUNCQQpn
QUFCQWdRSUVNZ0VCRWhHNlJBQkFnUUlFQ0JBZ0FBQkFrdEFnQ3doT3dFQ0JBZ1FJRUNBQUFFQ21Z
QUF5U2dkSWtDQUFBRUNCQWdRCklFQmdDUWlRSldRblFJQUFBUUlFQ0JBZ1FDQVRFQ0FacFVNRUNC
QWdRSUFBQVFJRUNDd0JBYktFN0FRSUVDQkFnQUFCQWdRSVpBSUMKSktOMGlBQUJBZ1FJRUNCQWdB
Q0JKU0JBbHBDZEFBRUNCQWdRSUVDQUFJRk1RSUJrbEE0UklFQ0FBQUVDQkFnUUlMQUVCTWdTc2hN
ZwpRSUFBQVFJRUNCQWdrQWtJa0l6U0lRSUVDQkFnUUlBQUFRSUVsb0FBV1VKMkFnUUlFQ0JBZ0FB
QkFnUXlBUUdTVVRwRWdBQUJBZ1FJCkVDQkFnTUFTRUNCTHlFNkFBQUVDQkFnUUlFQ0FRQ1lnUURK
S2h3Z1FJRUNBQUFFQ0JBZ1FXQUlDWkFuWkNSQWdRSUFBQVFJRUNCREkKQkFSSVJ1a1FBUUlFQ0JB
Z1FJQUFBUUpMUUlBc0lUc0JBZ1FJRUNCQWdBQUJBcG1BQU1rb0hTSkFnQUFCQWdRSUVDQkFZQWtJ
a0NWawpKMENBQUFFQ0JBZ1FJRUFnRXhBZ0dhVkRCQWdRSUVDQUFBRUNCQWdzQVFHeWhPd0VDQkFn
UUlBQUFRSUVDR1FDQWlTamRJZ0FBUUlFCkNCQWdRSUFBZ1NVZ1FKYVFuUUFCQWdRSUVDQkFnQUNC
VEVDQVpKUU9FU0JBZ0FBQkFnUUlFQ0N3QkFUSUVySVRJRUNBQUFFQ0JBZ1EKSUpBSkNKQ00waUVD
QkFnUUlFQ0FBQUVDQkphQUFGbENkZ0lFQ0JBZ1FJQUFBUUlFTWdFQmtsRTZSSUFBQVFJRUNCQWdR
SURBRWhBZwpTOGhPZ0FBQkFnUUlFQ0JBZ0VBbUlFQXlTb2NJRUNCQWdBQUJBZ1FJRUZnQ0FtUUoy
UWtRSUVDQUFBRUNCQWdReUFRRVNFYnBFQUVDCkJBZ1FJRUNBQUFFQ1MwQ0FMQ0U3QVFJRUNCQWdR
SUFBQVFLWmdBREpLQjBpUUlBQUFRSUVDQkFnUUdBSkNKQWxaQ2RBZ0FBQkFnUUkKRUNCQUlCTVFJ
Qm1sUXdRSUVDQkFnQUFCQWdRSUxBRUJzb1RzQkFnUUlFQ0FBQUVDQkFoa0FnSWtvM1NJQUFFQ0JB
Z1FJRUNBQUlFbApJRUNXa0owQUFRSUVDQkFnUUlBQWdVeEFnR1NVRGhFZ1FJQUFBUUlFQ0JBZ3NB
UUV5Qkt5RXlCQWdBQUJBZ1FJRUNDUUNRaVFqTkloCkFnUUlFQ0JBZ0FBQkFnU1dnQUJaUW5ZQ0JB
Z1FJRUNBQUFFQ0JESUJBWkpST2tTQUFBRUNCQWdRSUVDQXdCSVFJRXZJVG9BQUFRSUUKQ0JBZ1FJ
QkFKaUJBTWtxSENCQWdRSUFBQVFJRUNCQllBZ0prQ2RrSkVDQkFnQUFCQWdRSUVNZ0VCRWhHNlJB
QkFnUUlFQ0JBZ0FBQgpBa3RBZ0N3aE93RUNCQWdRSUVDQUFBRUNtWUFBeVNnZElrQ0FBQUVDQkFn
UUlFQmdDUWlRSldRblFJQUFBUUlFQ0JBZ1FDQVRFQ0FaCnBVTUVDQkFnUUlBQUFRSUVDQ3dCQWJL
RTdBUUlFQ0JBZ0FBQkFnUUlaQUlDSktOMGlBQUJBZ1FJRUNCQWdBQ0JKU0JBbHBDZEFBRUMKQkFn
UUlFQ0FBSUZNUUlCa2xBNFJJRUNBQUFFQ0JBZ1FJTEFFQk1nU3NoTWdRSUFBQVFJRUNCQWdrQWtJ
a0l6U0lRSUVDQkFnUUlBQQpBUUlFbG9BQVdVSjJBZ1FJRUNCQWdBQUJBZ1F5QVFHU1VUcEVnQUFC
QWdRSUVDQkFnTUFTRUNCTHlFNkFBQUVDQkFnUUlFQ0FRQ1lnClFESktod2dRSUVDQUFBRUNCQWdR
V0FJQ1pBblpDUkFnUUlBQUFRSUVDQkRJQkFSSVJ1a1FBUUlFQ0JBZ1FJQUFBUUpMUUlBc0lUc0IK
QWdRSUVDQkFnQUFCQXBtQUFNa29IU0pBZ0FBQkFnUUlFQ0JBWUFrSWtDVmtKMENBQUFFQ0JBZ1FJ
RUFnRXhBZ0dhVkRCQWdRSUVDQQpBQUVDQkFnc0FRR3loT3dFQ0JBZ1FJQUFBUUlFQ0dRQ0FpU2pk
SWdBQVFJRUNCQWdRSUFBZ1NVZ1FKYVFuUUFCQWdRSUVDQkFnQUNCClRFQ0FaSlFPRVNCQWdBQUJB
Z1FJRUNDd0JBVElFcklUSUVDQUFBRUNCQWdRSUpBSkNKQ00waUVDQkFnUUlFQ0FBQUVDQkphQUFG
bEMKZGdJRUNCQWdRSUFBQVFJRU1nRUJrbEU2UklBQUFRSUVDQkFnUUlEQUVoQWdTOGhPZ0FBQkFn
UUlFQ0JBZ0VBbUlFQXlTb2NJRUNCQQpnQUFCQWdRSUVGZ0NBbVFKMlFrUUlFQ0FBQUVDQkFnUXlB
UUVTRWJwRUFFQ0JBZ1FJRUNBQUFFQ1MwQ0FMQ0U3QVFJRUNCQWdRSUFBCkFRS1pnQURKS0IwaVFJ
QUFBUUlFQ0JBZ1FHQUpDSkFsWkNkQWdBQUJBZ1FJRUNCQUlCTVFJQm1sUXdRSUVDQkFnQUFCQWdR
SUxBRUIKc29Uc0JBZ1FJRUNBQUFFQ0JBaGtBZ0lrbzNTSUFBRUNCQWdRSUVDQUFJRWxJRUNXa0ow
QUFRSUVDQkFnUUlBQWdVeEFnR1NVRGhFZwpRSUFBQVFJRUNCQWdzQVFFeUJLeUV5QkFnQUFCQWdR
SUVDQ1FDUWlRak5JaEFnUUlFQ0JBZ0FBQkFnU1dnQUJaUW5ZQ0JBZ1FJRUNBCkFBRUNCRElCQVpK
Uk9rU0FBQUVDQkFnUUlFQ0F3QklRSUV2SVRvQUFBUUlFQ0JBZ1FJQkFKaUJBTWtxSENCQWdRSUFB
QVFJRUNCQlkKQWdKa0Nka0pFQ0JBZ0FBQkFnUUlFTWdFQkVoRzZSQUJBZ1FJRUNCQWdBQUJBa3RB
Z0N3aE93RUNCQWdRSUVDQUFBRUNtWUFBeVNnZApJa0NBQUFFQ0JBZ1FJRUJnQ1FpUUpXUW5RSUFB
QVFJRUNCQWdRQ0FURUNBWnBVTUVDQkFnUUlBQUFRSUVDQ3dCQWJLRTdBUUlFQ0JBCmdBQUJBZ1FJ
WkFJQ0pLTjBpQUFCQWdRSUVDQkFnQUNCSlNCQWxwQ2RBQUVDQkFnUUlFQ0FBSUZNUUlCa2xBNFJJ
RUNBQUFFQ0JBZ1EKSUxBRUJNZ1NzaE1nUUlBQUFRSUVDQkFna0FrSWtJelNJUUlFQ0JBZ1FJQUFB
UUlFbG9BQVdVSjJBZ1FJRUNCQWdBQUJBZ1F5QVFHUwpVVHBFZ0FBQkFnUUlFQ0JBZ01BU0VDQkx5
RTZBQUFFQ0JBZ1FJRUNBUUNZZ1FESktod2dRSUVDQUFBRUNCQWdRV0FJQ1pBblpDUkFnClFJQUFB
UUlFQ0JESUJBUklSdWtRQVFJRUNCQWdRSUFBQVFKTFFJQXNJVHNCQWdRSUVDQkFnQUFCQXBtQUFN
a29IU0pBZ0FBQkFnUUkKRUNCQVlBa0lrQ1ZrSjBDQUFBRUNCQWdRSUVBZ0V4QWdHYVZEQkFnUUlF
Q0FBQUVDQkFnc0FRR3loT3dFQ0JBZ1FJQUFBUUlFQ0dRQwpBaVNqZElnQUFRSUVDQkFnUUlBQWdT
VWdRSmFRblFBQkFnUUlFQ0JBZ0FDQlRFQ0FaSlFPRVNCQWdBQUJBZ1FJRUNDd0JBVElFcklUCklF
Q0FBQUVDQkFnUUlKQUpDSkNNMGlFQ0JBZ1FJRUNBQUFFQ0JKYUFBRmxDZGdJRUNCQWdRSUFBQVFJ
RU1nRUJrbEU2UklBQUFRSUUKQ0JBZ1FJREFFaEFnUzhoT2dBQUJBZ1FJRUNCQWdFQW1JRUF5U29j
SUVDQkFnQUFCQWdRSUVGZ0NBbVFKMlFrUUlFQ0FBQUVDQkFnUQp5QVFFU0VicEVBRUNCQWdRSUVD
QUFBRUNTMENBTENFN0FRSUVDQkFnUUlBQUFRS1pnQURKS0IwaVFJQUFBUUlFQ0JBZ1FHQUpDSkFs
ClpDZEFnQUFCQWdRSUVDQkFJQk1RSUJtbFF3UUlFQ0JBZ0FBQkFnUUlMQUVCc29Uc0JBZ1FJRUNB
QUFFQ0JBaGtBZ0lrbzNTSUFBRUMKQkFnUUlFQ0FBSUVsSUVDV2tKMEFBUUlFQ0JBZ1FJQUFnVXhB
Z0dTVURoRWdRSUFBQVFJRUNCQWdzQVFFeUJLeUV5QkFnQUFCQWdRSQpFQ0NRQ1FpUWpOSWhBZ1FJ
RUNCQWdBQUJBZ1NXZ0FCWlFuWUNCQWdRSUVDQUFBRUNCRElCQVpKUk9rU0FBQUVDQkFnUUlFQ0F3
QklRCklFdklUb0FBQVFJRUNCQWdRSUJBSmlCQU1rcUhDQkFnUUlBQUFRSUVDQkJZQWdKa0Nka0pF
Q0JBZ0FBQkFxdlBRSndBQUFqRVNVUkIKVkFRSUVNZ0VCRWhHNlJBQkFnUUlFQ0JBZ0FBQkFrdEFn
Q3doT3dFQ0JBZ1FJRUNBQUFFQ21ZQUF5U2dkSWtDQUFBRUNCQWdRSUVCZwpDUWlRSldRblFJQUFB
UUlFQ0JBZ1FDQVRFQ0FacFVNRUNCQWdRSUFBQVFJRUNDd0JBYktFN0FRSUVDQkFnQUFCQWdRSVpB
SUNKS04wCmlBQUJBZ1FJRUNCQWdBQ0JKU0JBbHBDZEFBRUNCQWdRSUVDQUFJRk1RSUJrbEE0UklF
Q0FBQUVDQkFnUUlMQUVCTWdTc2hNZ1FJQUEKQVFJRUNCQWdrQWtJa0l6U0lRSUVDQkFnUUlBQUFR
SUVsb0FBV1VKMkFnUUlFQ0JBZ0FBQkFnUXlBUUdTVVRwRWdBQUJBZ1FJRUNCQQpnTUFTRUNCTHlF
NkFBQUVDQkFnUUlFQ0FRQ1lnUURKS2h3Z1FJRUNBQUFFQ0JBZ1FXQUlDWkFuWkNSQWdRSUFBQVFJ
RUNCRElCQVJJClJ1a1FBUUlFQ0JBZ1FJQUFBUUpMUUlBc0lUc0JBZ1FJRUNCQWdBQUJBcG1BQU1r
b0hTSkFnQUFCQWdRSUVDQkFZQWtJa0NWa0owQ0EKQUFFQ0JBZ1FJRUFnRXhBZ0dhVkRCQWdRSUVD
QUFBRUNCQWdzQVFHeWhPd0VDQkFnUUlBQUFRSUVDR1FDQWlTamRJZ0FBUUlFQ0JBZwpRSUFBZ1NV
Z1FKYVFuUUFCQWdRSUVDQkFnQUNCVEVDQVpKUU9FU0JBZ0FBQkFnUUlFQ0N3QkFUSUVySVRJRUNB
QUFFQ0JBZ1FJSkFKCkNKQ00waUVDQkFnUUlFQ0FBQUVDQkphQUFGbENkZ0lFQ0JBZ1FJQUFBUUlF
TWdFQmtsRTZSSUFBQVFJRUNCQWdRSURBRWhBZ1M4aE8KZ0FBQkFnUUlFQ0JBZ0VBbUlFQXlTb2NJ
RUNCQWdBQUJBZ1FJRUZnQ0FtUUoyUWtRSUVDQUFBRUNCQWdReUFRRVNFYnBFQUVDQkFnUQpJRUNB
QUFFQ1MwQ0FMQ0U3QVFJRUNCQWdRSUFBQVFLWmdBREpLQjBpUUlBQUFRSUVDQkFnUUdBSkNKQWxa
Q2RBZ0FBQkFnUUlFQ0JBCklCTVFJQm1sUXdRSUVDQkFnQUFCQWdRSUxBRUJzb1RzQkFnUUlFQ0FB
QUVDQkFoa0FnSWtvM1NJQUFFQ0JBZ1FJRUNBQUlFbElFQ1cKa0owQUFRSUVDQkFnUUlBQWdVeEFn
R1NVRGhFZ1FJQUFBUUlFQ0JBZ3NBUUV5Qkt5RXlCQWdBQUJBZ1FJRUNDUUNRaVFqTkloQWdRSQpF
Q0JBZ0FBQkFnU1dnQUJaUW5ZQ0JBZ1FJRUNBQUFFQ0JESUJBWkpST2tTQUFBRUNCQWdRSUVDQXdC
SVFJRXZJVG9BQUFRSUVDQkFnClFJQkFKaUJBTWtxSENCQWdRSUFBQVFJRUNCQllBZ0prQ2RrSkVD
QkFnQUFCQWdRSUVNZ0VCRWhHNlJBQkFnUUlFQ0JBZ0FBQkFrdEEKZ0N3aE93RUNCQWdRSUVDQUFB
RUNtWUFBeVNnZElrQ0FBQUVDQkFnUUlFQmdDUWlRSldRblFJQUFBUUlFQ0JBZ1FDQVRFQ0FacFVN
RQpDQkFnUUlBQUFRSUVDQ3dCQWJLRTdBUUlFQ0JBZ0FBQkFnUUlaQUlDSktOMGlBQUJBZ1FJRUNC
QWdBQ0JKU0JBbHBDZEFBRUNCQWdRCklFQ0FBSUZNUUlCa2xBNFJJRUNBQUFFQ0JBZ1FJTEFFQk1n
U3NoTWdRSUFBQVFJRUNCQWdrQWtJa0l6U0lRSUVDQkFnUUlBQUFRSUUKbG9BQVdVSjJBZ1FJRUNC
QWdBQUJBZ1F5QVFHU1VUcEVnQUFCQWdRSUVDQkFnTUFTRUNCTHlFNkFBQUVDQkFnUUlFQ0FRQ1ln
UURKSwpod2dRSUVDQUFBRUNCQWdRV0FJQ1pBblpDUkFnUUlBQUFRSUVDQkRJQkFSSVJ1a1FBUUlF
Q0JBZ1FJQUFBUUpMUUlBc0lUc0JBZ1FJCkVDQkFnQUFCQXBtQUFNa29IU0pBZ0FBQkFnUUlFQ0JB
WUFrSWtDVmtKMENBQUFFQ0JBZ1FJRUFnRXhBZ0dhVkRCQWdRSUVDQUFBRUMKQkFnc0FRR3loT3dF
Q0JBZ1FJQUFBUUlFQ0dRQ0FpU2pkSWdBQVFJRUNCQWdRSUFBZ1NVZ1FKYVFuUUFCQWdRSUVDQkFn
QUNCVEVDQQpaSlFPRVNCQWdBQUJBZ1FJRUNDd0JBVElFcklUSUVDQUFBRUNCQWdRSUpBSkNKQ00w
aUVDQkFnUUlFQ0FBQUVDQkphQUFGbENkZ0lFCkNCQWdRSUFBQVFJRU1nRUJrbEU2UklBQUFRSUVD
QkFnUUlEQUVoQWdTOGhPZ0FBQkFnUUlFQ0JBZ0VBbUlFQXlTb2NJRUNCQWdBQUIKQWdRSUVGZ0NB
bVFKMlFrUUlFQ0FBQUVDQkFnUXlBUUVTRWJwRUFFQ0JBZ1FJRUNBQUFFQ1MwQ0FMQ0U3QVFJRUNC
QWdRSUFBQVFLWgpnQURKS0IwaVFJQUFBUUlFQ0JBZ1FHQUpDSkFsWkNkQWdBQUJBZ1FJRUNCQUlC
TVFJQm1sUXdRSUVDQkFnQUFCQWdRSUxBRUJzb1RzCkJBZ1FJRUNBQUFFQ0JBaGtBZ0lrbzNTSUFB
RUNCQWdRSUVDQUFJRWxJRUNXa0owQUFRSUVDQkFnUUlBQWdVeEFnR1NVRGhFZ1FJQUEKQVFJRUNC
QWdzQVFFeUJLeUV5QkFnQUFCQWdRSUVDQ1FDUWlRak5JaEFnUUlFQ0JBZ0FBQkFnU1dnQUJaUW5Z
Q0JBZ1FJRUNBQUFFQwpCRElCQVpKUk9rU0FBQUVDQkFnUUlFQ0F3QklRSUV2SVRvQUFBUUlFQ0JB
Z1FJQkFKaUJBTWtxSENCQWdRSUFBQVFJRUNCQllBZ0prCkNka0pFQ0JBZ0FBQkFnUUlFTWdFQkVo
RzZSQUJBZ1FJRUNCQWdBQUJBa3RBZ0N3aE93RUNCQWdRSUVDQUFBRUNtWUFBeVNnZElrQ0EKQUFF
Q0JBZ1FJRUJnQ1FpUUpXUW5RSUFBQVFJRUNCQWdRQ0FURUNBWnBVTUVDQkFnUUlBQUFRSUVDQ3dC
QWJLRTdBUUlFQ0JBZ0FBQgpBZ1FJWkFJQ0pLTjBpQUFCQWdRSUVDQkFnQUNCSlNCQWxwQ2RBQUVD
QkFnUUlFQ0FBSUZNUUlCa2xBNFJJRUNBQUFFQ0JBZ1FJTEFFCkJNZ1NzaE1nUUlBQUFRSUVDQkFn
a0FrSWtJelNJUUlFQ0JBZ1FJQUFBUUlFbG9BQVdVSjJBZ1FJRUNCQWdBQUJBZ1F5QVFHU1VUcEUK
Z0FBQkFnUUlFQ0JBZ01BU0VDQkx5RTZBQUFFQ0JBZ1FJRUNBUUNZZ1FESktod2dRSUVDQUFBRUNC
QWdRV0FJQ1pBblpDUkFnUUlBQQpBUUlFQ0JESUJBUklSdWtRQVFJRUNCQWdRSUFBQVFKTFFJQXNJ
VHNCQWdRSUVDQkFnQUFCQXBtQUFNa29IU0pBZ0FBQkFnUUlFQ0JBCllBa0lrQ1ZrSjBDQUFBRUNC
QWdRSUVBZ0V4QWdHYVZEQkFnUUlFQ0FBQUVDQkFnc0FRR3loT3dFQ0JBZ1FJQUFBUUlFQ0dRQ0Fp
U2oKZElnQUFRSUVDQkFnUUlBQWdTVWdRSmFRblFBQkFnUUlFQ0JBZ0FDQlRFQ0FaSlFPRVNCQWdB
QUJBZ1FJRUNDd0JBVElFcklUSUVDQQpBQUVDQkFnUUlKQUpDSkNNMGlFQ0JBZ1FJRUNBQUFFQ0JK
YUFBRmxDZGdJRUNCQWdRSUFBQVFJRU1nRUJrbEU2UklBQUFRSUVDQkFnClFJREFFaEFnUzhoT2dB
QUJBZ1FJRUNCQWdFQW1JRUF5U29jSUVDQkFnQUFCQWdRSUVGZ0NBbVFKMlFrUUlFQ0FBQUVDQkFn
UXlBUUUKU0VicEVBRUNCQWdRSUVDQUFBRUNTK0EzTjNRUHFjQ1JKZVFBQUFBQVNVVk9SSzVDWUlJ
PQoK
</data>

          </attachment>
      

    </bug>

</bugzilla>