<?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>97022</bug_id>
          
          <creation_ts>2012-09-18 09:08:56 -0700</creation_ts>
          <short_desc>Revert 128780, 128676, 128645</short_desc>
          <delta_ts>2012-09-18 11:17:51 -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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Bo Liu">boliu</reporter>
          <assigned_to name="Bo Liu">boliu</assigned_to>
          <cc>abarth</cc>
    
    <cc>darin</cc>
    
    <cc>japhet</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>722838</commentid>
    <comment_count>0</comment_count>
    <who name="Bo Liu">boliu</who>
    <bug_when>2012-09-18 09:08:56 -0700</bug_when>
    <thetext>Revert 128780, 128676, 128645</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>722841</commentid>
    <comment_count>1</comment_count>
      <attachid>164571</attachid>
    <who name="Bo Liu">boliu</who>
    <bug_when>2012-09-18 09:09:57 -0700</bug_when>
    <thetext>Created attachment 164571
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>722848</commentid>
    <comment_count>2</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-09-18 09:13:46 -0700</bug_when>
    <thetext>Unclear change set. Really need more context here. What are those revisions? Who submitted them? What were they trying to accomplish? Have you contacted the original author?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>722849</commentid>
    <comment_count>3</comment_count>
    <who name="Bo Liu">boliu</who>
    <bug_when>2012-09-18 09:15:09 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Unclear change set. Really need more context here. What are those revisions? Who submitted them? What were they trying to accomplish? Have you contacted the original author?

I am the author of all 3 patches. Reverting because they cause performance regression in chromium. See crbug.com/150021</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>722851</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-09-18 09:16:12 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; Unclear change set. Really need more context here. What are those revisions? Who submitted them? What were they trying to accomplish? Have you contacted the original author?
&gt; 
&gt; I am the author of all 3 patches. Reverting because they cause performance regression in chromium. See crbug.com/150021

Got it. Could you please add some of that context to the change log? Please don’t assume people know you wrote the code. Or assume they will read the Chromium bug database to understand WebKit code changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>722854</commentid>
    <comment_count>5</comment_count>
      <attachid>164576</attachid>
    <who name="Bo Liu">boliu</who>
    <bug_when>2012-09-18 09:21:23 -0700</bug_when>
    <thetext>Created attachment 164576
Improve ChangeLog description</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>722857</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-18 09:24:41 -0700</bug_when>
    <thetext>Attachment 164576 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;ChangeLog&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;La...&quot; exit_code: 1
LayoutTests/ChangeLog:10:  Line contains tab character.  [whitespace/tab] [5]
LayoutTests/ChangeLog:11:  Line contains tab character.  [whitespace/tab] [5]
Source/WebKit2/ChangeLog:10:  Line contains tab character.  [whitespace/tab] [5]
Source/WebKit2/ChangeLog:11:  Line contains tab character.  [whitespace/tab] [5]
Source/WebCore/ChangeLog:10:  Line contains tab character.  [whitespace/tab] [5]
Source/WebCore/ChangeLog:11:  Line contains tab character.  [whitespace/tab] [5]
ChangeLog:10:  Line contains tab character.  [whitespace/tab] [5]
ChangeLog:11:  Line contains tab character.  [whitespace/tab] [5]
Total errors found: 8 in 17 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>722865</commentid>
    <comment_count>7</comment_count>
      <attachid>164578</attachid>
    <who name="Bo Liu">boliu</who>
    <bug_when>2012-09-18 09:34:31 -0700</bug_when>
    <thetext>Created attachment 164578
Fix mistake in InternalSettings with INPUT_TYPE_TIME_MULTIPLE_FIELDS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>722919</commentid>
    <comment_count>8</comment_count>
      <attachid>164578</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-18 11:17:48 -0700</bug_when>
    <thetext>Comment on attachment 164578
Fix mistake in InternalSettings with INPUT_TYPE_TIME_MULTIPLE_FIELDS

Clearing flags on attachment: 164578

Committed r128914: &lt;http://trac.webkit.org/changeset/128914&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>722920</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-18 11:17:51 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>164571</attachid>
            <date>2012-09-18 09:09:57 -0700</date>
            <delta_ts>2012-09-18 09:21:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97022-20120918090924.patch</filename>
            <type>text/plain</type>
            <size>38659</size>
            <attacher name="Bo Liu">boliu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4ODk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTk0ZmMyZGExNGRiMTJl
MGRiOTZhYTcyNDUyM2UwY2QyMmI4MjAxYS4uNWE1Nzk2NDFjZjA0Y2YwOGMyYjIxZDIxZGU4ZGNj
M2RmMTA4NDU3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDEyLTA5LTE4ICBCbyBM
aXUgIDxib2xpdUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2ZXJ0IDEyODc4MCwgMTI4Njc2
LCAxMjg2NDUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTk3MDIyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VGhlc2UgYXJlIGNhdXNpbmcgcGVyZiByZWdyZXNzaW9uIGluIGNocm9taXVtLgorCisgICAgICAg
ICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpkaWRCZWdpbkRvY3VtZW50KToKKyAgICAgICAg
KiBsb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3VicmVz
b3VyY2VMb2FkZXI6OndpbGxTZW5kUmVxdWVzdCk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0Nh
Y2hlZEltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZEltYWdlOjpsb2FkKToKKyAg
ICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNh
Y2hlZEltYWdlOjpzdGlsbE5lZWRzTG9hZCk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hl
ZFJlc291cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlOjpkaWRBZGRD
bGllbnQpOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oOgorICAgICAg
ICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6Q2FjaGVkUmVzb3VyY2VMb2FkZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RJbWFnZSk6CisgICAgICAg
IChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6Y2FuUmVxdWVzdCk6CisgICAgICAgIChX
ZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6ZGV0ZXJtaW5lUmV2YWxpZGF0aW9uUG9saWN5
KToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpzZXRBdXRvTG9hZElt
YWdlcyk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmg6Cisg
ICAgICAgIChDYWNoZWRSZXNvdXJjZUxvYWRlcik6CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpzZXRMb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHlJbkFsbEZy
YW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6U2V0dGluZ3MpOgorICAgICAgICAo
V2ViQ29yZTo6U2V0dGluZ3M6OnNldExvYWRzSW1hZ2VzQXV0b21hdGljYWxseSk6CisgICAgICAg
IChXZWJDb3JlOjpTZXR0aW5nczo6bG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5VGltZXJGaXJlZCk6
CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0SW1hZ2VzRW5hYmxlZCk6CisgICAgICAg
ICogcGFnZS9TZXR0aW5ncy5oOgorICAgICAgICAoU2V0dGluZ3MpOgorICAgICAgICAqIHRlc3Rp
bmcvSW50ZXJuYWxTZXR0aW5ncy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFNldHRp
bmdzOjpCYWNrdXA6OkJhY2t1cCk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdz
OjpCYWNrdXA6OnJlc3RvcmVUbyk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdz
OjpzZXRMYW5nQXR0cmlidXRlQXdhcmVGb3JtQ29udHJvbFVJRW5hYmxlZCk6CisgICAgICAgICog
dGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmg6CisgICAgICAgIChCYWNrdXApOgorICAgICAgICAo
SW50ZXJuYWxTZXR0aW5ncyk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlk
bDoKKwogMjAxMi0wOS0xOCAgQW5kcmV5IEtvc3lha292ICA8Y2FzZXFAY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFtFeHRlbnNpb25zIEFQSV0gcG9zdHBvbmUgcmVxdWVz
dHMgdG8gYWRkIGV4dGVuc2lvbnMgdW50aWwgZXh0ZW5zaW9uIHNlcnZlciBpcyBpbml0aWFsaXpl
ZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCmluZGV4IDFhNzAxMzE2ZDkyYjdjY2ZlNThiZTE2OTNhNTJhYWU4NmY5MmEzNTIu
LjNkMmVlZTZiYWRiYzY4YTk5MzA5OWQ1ZDQ4MGI5MDRkZmI0OGU3OTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNCBAQAorMjAxMi0wOS0xOCAgQm8gTGl1ICA8Ym9saXVAY2hyb21pdW0ub3JnPgor
CisgICAgICAgIFJldmVydCAxMjg3ODAsIDEyODY3NiwgMTI4NjQ1CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NzAyMgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZXNlIGFyZSBjYXVzaW5nIHBlcmYgcmVn
cmVzc2lvbiBpbiBjaHJvbWl1bS4KKworICAgICAgICAqIHdpbi9XZWJLaXQyLmRlZjoKKwogMjAx
Mi0wOS0xOCAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAg
ICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEyODg0OS4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4K
aW5kZXggZTc4NDExODMxYTNhY2FmNmZjOTBkNjExYzNlMzdlOTM2YzFkMzQ3NC4uN2JhOTk5ZTVk
ZDM3NGE1MjYyN2U5NzJhZTk1N2E4ZWRkZjU3YmFjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAg
LTg0OSw3ICs4NDksNiBAQCBfX1pON1dlYkNvcmU4R3JhZGllbnRDMUVSS05TXzEwRmxvYXRQb2lu
dEVTM18KIF9fWk43V2ViQ29yZThQb3NpdGlvbkMxRU4zV1RGMTBQYXNzUmVmUHRySU5TXzROb2Rl
RUVFaU5TMF8xMEFuY2hvclR5cGVFCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MxNHNldEphdmFFbmFi
bGVkRWIKIF9fWk43V2ViQ29yZThTZXR0aW5nczE1c2V0V2ViR0xFbmFibGVkRWIKLV9fWk43V2Vi
Q29yZThTZXR0aW5nczE2c2V0SW1hZ2VzRW5hYmxlZEViCiBfX1pON1dlYkNvcmU4U2V0dGluZ3Mx
NnNldFNjcmlwdEVuYWJsZWRFYgogX19aTjdXZWJDb3JlOFNldHRpbmdzMTZzZXRVc2VzUGFnZUNh
Y2hlRWIKIF9fWk43V2ViQ29yZThTZXR0aW5nczE3c2V0UGx1Z2luc0VuYWJsZWRFYgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKaW5kZXggNDE3NzJjYWVlOGQyZDkzMmRkM2Y2YmVj
MmE4YmJhZmMwZGNlNWYxYy4uYjI2YjZkNGNjMjJmYWU3NTc4ZDA0NGY2MTA1MTYxOTI0YjA2ZmM1
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCkBAIC02NDcsNyArNjQ3LDYg
QEAgdm9pZCBGcmFtZUxvYWRlcjo6ZGlkQmVnaW5Eb2N1bWVudChib29sIGRpc3BhdGNoKQogICAg
IG1fZnJhbWUtPmRvY3VtZW50KCktPmluaXRDb250ZW50U2VjdXJpdHlQb2xpY3koKTsKIAogICAg
IFNldHRpbmdzKiBzZXR0aW5ncyA9IG1fZnJhbWUtPmRvY3VtZW50KCktPnNldHRpbmdzKCk7Ci0g
ICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+c2V0SW1hZ2Vz
RW5hYmxlZCghc2V0dGluZ3MgfHwgc2V0dGluZ3MtPmFyZUltYWdlc0VuYWJsZWQoKSk7CiAgICAg
bV9mcmFtZS0+ZG9jdW1lbnQoKS0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+c2V0QXV0b0xvYWRJ
bWFnZXMoc2V0dGluZ3MgJiYgc2V0dGluZ3MtPmxvYWRzSW1hZ2VzQXV0b21hdGljYWxseSgpKTsK
IAogICAgIGlmIChtX2RvY3VtZW50TG9hZGVyKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1
YnJlc291cmNlTG9hZGVyLmNwcAppbmRleCA1NmRlMGQzNDEzM2MzZjVhNDcyYmZjMmJjNmY0ZTVj
ZGYzODMwM2ZkLi5mZjNiZTZlZGZmOGI5N2ZjNTVhMDg0OGI0YzFhZjAyZjA4MWI0NjE2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAKQEAgLTE2NywxMyAr
MTY3LDExIEBAIHZvaWQgU3VicmVzb3VyY2VMb2FkZXI6OndpbGxTZW5kUmVxdWVzdChSZXNvdXJj
ZVJlcXVlc3QmIG5ld1JlcXVlc3QsIGNvbnN0IFJlc291CiAgICAgCiAgICAgUmVzb3VyY2VMb2Fk
ZXI6OndpbGxTZW5kUmVxdWVzdChuZXdSZXF1ZXN0LCByZWRpcmVjdFJlc3BvbnNlKTsKICAgICBp
ZiAoIXByZXZpb3VzVVJMLmlzTnVsbCgpICYmICFuZXdSZXF1ZXN0LmlzTnVsbCgpICYmIHByZXZp
b3VzVVJMICE9IG5ld1JlcXVlc3QudXJsKCkpIHsKLSAgICAgICAgaWYgKG1fZG9jdW1lbnQtPmNh
Y2hlZFJlc291cmNlTG9hZGVyKCktPmNhblJlcXVlc3QobV9yZXNvdXJjZS0+dHlwZSgpLCBuZXdS
ZXF1ZXN0LnVybCgpKSkgewotICAgICAgICAgICAgaWYgKG1fcmVzb3VyY2UtPnR5cGUoKSAhPSBD
YWNoZWRSZXNvdXJjZTo6SW1hZ2VSZXNvdXJjZSB8fCAhbV9kb2N1bWVudC0+Y2FjaGVkUmVzb3Vy
Y2VMb2FkZXIoKS0+c2hvdWxkRGVmZXJJbWFnZUxvYWQobmV3UmVxdWVzdC51cmwoKSkpIHsKLSAg
ICAgICAgICAgICAgICBtX3Jlc291cmNlLT53aWxsU2VuZFJlcXVlc3QobmV3UmVxdWVzdCwgcmVk
aXJlY3RSZXNwb25zZSk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgfQor
ICAgICAgICBpZiAoIW1fZG9jdW1lbnQtPmNhY2hlZFJlc291cmNlTG9hZGVyKCktPmNhblJlcXVl
c3QobV9yZXNvdXJjZS0+dHlwZSgpLCBuZXdSZXF1ZXN0LnVybCgpKSkgeworICAgICAgICAgICAg
Y2FuY2VsKCk7CisgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KLSAgICAgICAgY2FuY2Vs
KCk7CisgICAgICAgIG1fcmVzb3VyY2UtPndpbGxTZW5kUmVxdWVzdChuZXdSZXF1ZXN0LCByZWRp
cmVjdFJlc3BvbnNlKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9jYWNoZS9DYWNoZWRJbWFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
Q2FjaGVkSW1hZ2UuY3BwCmluZGV4IGZhODNhNTRmNjcxZWRjODI1MDU0OTdhNzVhYjNmZGVkOWU0
OTc0YjkuLjQzMTY2MTZiMzY0NTNhMjA4NjVlNGQyZDZlMDI4OTMwYWYxNmI5ZDMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRJbWFnZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEltYWdlLmNwcApAQCAtNzksNyArNzksNyBA
QCBDYWNoZWRJbWFnZTo6fkNhY2hlZEltYWdlKCkKIAogdm9pZCBDYWNoZWRJbWFnZTo6bG9hZChD
YWNoZWRSZXNvdXJjZUxvYWRlciogY2FjaGVkUmVzb3VyY2VMb2FkZXIsIGNvbnN0IFJlc291cmNl
TG9hZGVyT3B0aW9ucyYgb3B0aW9ucykKIHsKLSAgICBpZiAoIWNhY2hlZFJlc291cmNlTG9hZGVy
IHx8ICFjYWNoZWRSZXNvdXJjZUxvYWRlci0+c2hvdWxkRGVmZXJJbWFnZUxvYWQobV9yZXNvdXJj
ZVJlcXVlc3QudXJsKCkpKQorICAgIGlmICghY2FjaGVkUmVzb3VyY2VMb2FkZXIgfHwgY2FjaGVk
UmVzb3VyY2VMb2FkZXItPmF1dG9Mb2FkSW1hZ2VzKCkpCiAgICAgICAgIENhY2hlZFJlc291cmNl
Ojpsb2FkKGNhY2hlZFJlc291cmNlTG9hZGVyLCBvcHRpb25zKTsKICAgICBlbHNlCiAgICAgICAg
IHNldExvYWRpbmcoZmFsc2UpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZEltYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkSW1h
Z2UuaAppbmRleCAwYzQ1MmM0NGFkOThhMDFhOTg5NjlkYmI4MGE5OWU2YTEyNjEyYmUwLi40ODY1
YzdlMjQ2NjViYTYzOWIwZTFhOTZiYzYyNTI2MGQ3M2FkMDFiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuaApAQCAtODIsNyArODIsNyBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCBib29sIHNob3VsZElnbm9yZUhUVFBTdGF0dXNDb2RlRXJyb3JzKCkgY29uc3QgeyBy
ZXR1cm4gdHJ1ZTsgfQogCiAgICAgdmlydHVhbCBib29sIGlzSW1hZ2UoKSBjb25zdCB7IHJldHVy
biB0cnVlOyB9Ci0gICAgdmlydHVhbCBib29sIHN0aWxsTmVlZHNMb2FkKCkgY29uc3QgT1ZFUlJJ
REUgeyByZXR1cm4gIWVycm9yT2NjdXJyZWQoKSAmJiBzdGF0dXMoKSA9PSBVbmtub3duICYmICFp
c0xvYWRpbmcoKTsgfQorICAgIGJvb2wgc3RpbGxOZWVkc0xvYWQoKSBjb25zdCB7IHJldHVybiAh
ZXJyb3JPY2N1cnJlZCgpICYmIHN0YXR1cygpID09IFVua25vd24gJiYgIWlzTG9hZGluZygpOyB9
CiAgICAgdm9pZCBsb2FkKCk7CiAKICAgICAvLyBJbWFnZU9ic2VydmVyCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcAppbmRleCBhYTZjNWE3ZmE2Zjg4
Mzk1YmI2MGY4MGIzOGZjZjQ3ZGQ1YTA0YzAyLi40M2MzZDE0NGY4MmYxNTY4OGNmNjZjMDU0YTA0
ZGE5NjAxOWI5ZDExIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2Fj
aGVkUmVzb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRS
ZXNvdXJjZS5jcHAKQEAgLTM5MCw3ICszOTAsNyBAQCB2b2lkIENhY2hlZFJlc291cmNlOjpkaWRB
ZGRDbGllbnQoQ2FjaGVkUmVzb3VyY2VDbGllbnQqIGMpCiAgICAgICAgIG1fY2xpZW50cy5hZGQo
Yyk7CiAgICAgICAgIG1fY2xpZW50c0F3YWl0aW5nQ2FsbGJhY2sucmVtb3ZlKGMpOwogICAgIH0K
LSAgICBpZiAoIWlzTG9hZGluZygpICYmICFzdGlsbE5lZWRzTG9hZCgpKQorICAgIGlmICghaXNM
b2FkaW5nKCkpCiAgICAgICAgIGMtPm5vdGlmeUZpbmlzaGVkKHRoaXMpOwogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaCBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oCmluZGV4IDdlZGFmZDUwOGRk
M2ZlYWJlMGU3ODhjYWY1ZWQzOTYwNGI2MDBiN2UuLjBjYWQzZWU3Y2E0MjgxMmVhYTNlZmU2MDAz
MTE2NDQ5ZjdhNjk2YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRS
ZXNvdXJjZS5oCkBAIC0xNDQsNyArMTQ0LDYgQEAgcHVibGljOgogCiAgICAgYm9vbCBpc0xvYWRp
bmcoKSBjb25zdCB7IHJldHVybiBtX2xvYWRpbmc7IH0KICAgICB2b2lkIHNldExvYWRpbmcoYm9v
bCBiKSB7IG1fbG9hZGluZyA9IGI7IH0KLSAgICB2aXJ0dWFsIGJvb2wgc3RpbGxOZWVkc0xvYWQo
KSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogCiAgICAgU3VicmVzb3VyY2VMb2FkZXIqIGxvYWRl
cigpIHsgcmV0dXJuIG1fbG9hZGVyLmdldCgpOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDBlOGMzZjZhMjIw
MmNjMTllOTFhOWQ0Mzk4N2RiZmNlMzcxNzJjYjAuLmYyY2FhM2Q1NzY2MTg4YTU2MDRiZTRiNjRm
Njc0MTljMzZkMDJhYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hl
L0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcApAQCAtNDYsNyArNDYsNiBAQAogI2luY2x1ZGUgIk1l
bW9yeUNhY2hlLmgiCiAjaW5jbHVkZSAiUGluZ0xvYWRlci5oIgogI2luY2x1ZGUgIlJlc291cmNl
TG9hZFNjaGVkdWxlci5oIgotI2luY2x1ZGUgIlNjaGVtZVJlZ2lzdHJ5LmgiCiAjaW5jbHVkZSAi
U2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgPHd0Zi9V
bnVzZWRQYXJhbS5oPgpAQCAtMTE2LDcgKzExNSw2IEBAIENhY2hlZFJlc291cmNlTG9hZGVyOjpD
YWNoZWRSZXNvdXJjZUxvYWRlcihEb2N1bWVudCogZG9jdW1lbnQpCiAgICAgLCBtX3JlcXVlc3RD
b3VudCgwKQogICAgICwgbV9nYXJiYWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzVGltZXIodGhp
cywgJkNhY2hlZFJlc291cmNlTG9hZGVyOjpnYXJiYWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2Vz
VGltZXJGaXJlZCkKICAgICAsIG1fYXV0b0xvYWRJbWFnZXModHJ1ZSkKLSAgICAsIG1faW1hZ2Vz
RW5hYmxlZCh0cnVlKQogICAgICwgbV9hbGxvd1N0YWxlUmVzb3VyY2VzKGZhbHNlKQogewogfQpA
QCAtMTYyLDcgKzE2MCw3IEBAIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZEltYWdlPiBDYWNo
ZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdEltYWdlKFJlc291cmNlUmVxCiAgICAgICAgIH0KICAg
ICB9CiAgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkSW1hZ2U+IHJlc291cmNlKHN0YXRp
Y19jYXN0PENhY2hlZEltYWdlKj4ocmVxdWVzdFJlc291cmNlKENhY2hlZFJlc291cmNlOjpJbWFn
ZVJlc291cmNlLCByZXF1ZXN0LCBTdHJpbmcoKSwgZGVmYXVsdENhY2hlZFJlc291cmNlT3B0aW9u
cygpKS5nZXQoKSkpOwotICAgIGlmICghc2hvdWxkRGVmZXJJbWFnZUxvYWQocmVxdWVzdC51cmwo
KSkgJiYgcmVzb3VyY2UgJiYgcmVzb3VyY2UtPnN0aWxsTmVlZHNMb2FkKCkpCisgICAgaWYgKGF1
dG9Mb2FkSW1hZ2VzKCkgJiYgcmVzb3VyY2UgJiYgcmVzb3VyY2UtPnN0aWxsTmVlZHNMb2FkKCkp
CiAgICAgICAgIHJlc291cmNlLT5sb2FkKHRoaXMsIGRlZmF1bHRDYWNoZWRSZXNvdXJjZU9wdGlv
bnMoKSk7CiAgICAgcmV0dXJuIHJlc291cmNlOwogfQpAQCAtMzY0LDYgKzM2MiwxMiBAQCBib29s
IENhY2hlZFJlc291cmNlTG9hZGVyOjpjYW5SZXF1ZXN0KENhY2hlZFJlc291cmNlOjpUeXBlIHR5
cGUsIGNvbnN0IEtVUkwmIHVybAogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OkltYWdlUmVzb3Vy
Y2U6CiAgICAgICAgIGlmICghbV9kb2N1bWVudC0+Y29udGVudFNlY3VyaXR5UG9saWN5KCktPmFs
bG93SW1hZ2VGcm9tU291cmNlKHVybCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAg
ICAgICAgaWYgKGZyYW1lKCkpIHsKKyAgICAgICAgICAgIFNldHRpbmdzKiBzZXR0aW5ncyA9IGZy
YW1lKCktPnNldHRpbmdzKCk7CisgICAgICAgICAgICBpZiAoIWZyYW1lKCktPmxvYWRlcigpLT5j
bGllbnQoKS0+YWxsb3dJbWFnZSghc2V0dGluZ3MgfHwgc2V0dGluZ3MtPmFyZUltYWdlc0VuYWJs
ZWQoKSwgdXJsKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KICAg
ICAgICAgYnJlYWs7CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6Rm9udFJlc291cmNlOiB7CiAg
ICAgICAgIGlmICghbV9kb2N1bWVudC0+Y29udGVudFNlY3VyaXR5UG9saWN5KCktPmFsbG93Rm9u
dEZyb21Tb3VyY2UodXJsKSkKQEAgLTUxMCwxMSArNTE0LDExIEBAIENhY2hlZFJlc291cmNlTG9h
ZGVyOjpSZXZhbGlkYXRpb25Qb2xpY3kgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmRldGVybWluZVJl
dmFsaWRhCiB7CiAgICAgaWYgKCFleGlzdGluZ1Jlc291cmNlKQogICAgICAgICByZXR1cm4gTG9h
ZDsKLQorICAgIAogICAgIC8vIFdlIGFscmVhZHkgaGF2ZSBhIHByZWxvYWQgZ29pbmcgZm9yIHRo
aXMgVVJMLgogICAgIGlmIChmb3JQcmVsb2FkICYmIGV4aXN0aW5nUmVzb3VyY2UtPmlzUHJlbG9h
ZGVkKCkpCiAgICAgICAgIHJldHVybiBVc2U7Ci0KKyAgICAKICAgICAvLyBJZiB0aGUgc2FtZSBV
UkwgaGFzIGJlZW4gbG9hZGVkIGFzIGEgZGlmZmVyZW50IHR5cGUsIHdlIG5lZWQgdG8gcmVsb2Fk
LgogICAgIGlmIChleGlzdGluZ1Jlc291cmNlLT50eXBlKCkgIT0gdHlwZSkgewogICAgICAgICBM
T0coUmVzb3VyY2VMb2FkaW5nLCAiQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmRldGVybWluZVJldmFs
aWRhdGlvblBvbGljeSByZWxvYWRpbmcgZHVlIHRvIHR5cGUgbWlzbWF0Y2guIik7CkBAIC01Mjks
MTEgKzUzMyw2IEBAIENhY2hlZFJlc291cmNlTG9hZGVyOjpSZXZhbGlkYXRpb25Qb2xpY3kgQ2Fj
aGVkUmVzb3VyY2VMb2FkZXI6OmRldGVybWluZVJldmFsaWRhCiAgICAgLy8gb2YgdGhpbmdzIGFi
b3V0IGhvdyByZXZhbGlkYXRpb24gd29ya3MgdGhhdCBtYW51YWwgaGVhZGVycyB2aW9sYXRlLCBz
byBwdW50IHRvIFJlbG9hZCBpbnN0ZWFkLgogICAgIGlmIChyZXF1ZXN0LmlzQ29uZGl0aW9uYWwo
KSkKICAgICAgICAgcmV0dXJuIFJlbG9hZDsKLQotICAgIC8vIERvIG5vdCBsb2FkIGZyb20gY2Fj
aGUgaWYgaW1hZ2VzIGFyZSBub3QgZW5hYmxlZC4gVGhlIGxvYWQgZm9yIHRoaXMgaW1hZ2Ugd2ls
bCBiZSBibG9ja2VkCi0gICAgLy8gaW4gcmVxdWVzdEltYWdlLgotICAgIGlmIChleGlzdGluZ1Jl
c291cmNlLT50eXBlKCkgPT0gQ2FjaGVkUmVzb3VyY2U6OkltYWdlUmVzb3VyY2UgJiYgIWNsaWVu
dEFsbG93c0ltYWdlKGV4aXN0aW5nUmVzb3VyY2UtPnVybCgpKSkKLSAgICAgICAgcmV0dXJuIFJl
bG9hZDsKICAgICAKICAgICAvLyBEb24ndCByZWxvYWQgcmVzb3VyY2VzIHdoaWxlIHBhc3Rpbmcu
CiAgICAgaWYgKG1fYWxsb3dTdGFsZVJlc291cmNlcykKQEAgLTYzMCw0MSArNjI5LDEzIEBAIHZv
aWQgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnNldEF1dG9Mb2FkSW1hZ2VzKGJvb2wgZW5hYmxlKQog
ICAgIGlmICghbV9hdXRvTG9hZEltYWdlcykKICAgICAgICAgcmV0dXJuOwogCi0gICAgcmVsb2Fk
SW1hZ2VzSWZOb3REZWZlcnJlZCgpOwotfQotCi12b2lkIENhY2hlZFJlc291cmNlTG9hZGVyOjpz
ZXRJbWFnZXNFbmFibGVkKGJvb2wgZW5hYmxlKQotewotICAgIGlmIChlbmFibGUgPT0gbV9pbWFn
ZXNFbmFibGVkKQotICAgICAgICByZXR1cm47Ci0KLSAgICBtX2ltYWdlc0VuYWJsZWQgPSBlbmFi
bGU7Ci0KLSAgICBpZiAoIW1faW1hZ2VzRW5hYmxlZCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAg
cmVsb2FkSW1hZ2VzSWZOb3REZWZlcnJlZCgpOwotfQotCi1ib29sIENhY2hlZFJlc291cmNlTG9h
ZGVyOjpjbGllbnRBbGxvd3NJbWFnZShjb25zdCBLVVJMJiB1cmwpIGNvbnN0Ci17Ci0gICAgcmV0
dXJuICFmcmFtZSgpIHx8IGZyYW1lKCktPmxvYWRlcigpLT5jbGllbnQoKS0+YWxsb3dJbWFnZSht
X2ltYWdlc0VuYWJsZWQsIHVybCk7Ci19Ci0KLWJvb2wgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnNo
b3VsZERlZmVySW1hZ2VMb2FkKGNvbnN0IEtVUkwmIHVybCkgY29uc3QKLXsKLSAgICByZXR1cm4g
IWNsaWVudEFsbG93c0ltYWdlKHVybCkgfHwgIW1fYXV0b0xvYWRJbWFnZXM7Ci19Ci0KLXZvaWQg
Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlbG9hZEltYWdlc0lmTm90RGVmZXJyZWQoKQotewogICAg
IERvY3VtZW50UmVzb3VyY2VNYXA6Oml0ZXJhdG9yIGVuZCA9IG1fZG9jdW1lbnRSZXNvdXJjZXMu
ZW5kKCk7CiAgICAgZm9yIChEb2N1bWVudFJlc291cmNlTWFwOjppdGVyYXRvciBpdCA9IG1fZG9j
dW1lbnRSZXNvdXJjZXMuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7CiAgICAgICAgIENhY2hl
ZFJlc291cmNlKiByZXNvdXJjZSA9IGl0LT5zZWNvbmQuZ2V0KCk7CiAgICAgICAgIGlmIChyZXNv
dXJjZS0+dHlwZSgpID09IENhY2hlZFJlc291cmNlOjpJbWFnZVJlc291cmNlKSB7CiAgICAgICAg
ICAgICBDYWNoZWRJbWFnZSogaW1hZ2UgPSBjb25zdF9jYXN0PENhY2hlZEltYWdlKj4oc3RhdGlj
X2Nhc3Q8Y29uc3QgQ2FjaGVkSW1hZ2UqPihyZXNvdXJjZSkpOwogCi0gICAgICAgICAgICBpZiAo
aW1hZ2UtPnN0aWxsTmVlZHNMb2FkKCkgJiYgIXNob3VsZERlZmVySW1hZ2VMb2FkKGltYWdlLT51
cmwoKSkpCisgICAgICAgICAgICBpZiAoaW1hZ2UtPnN0aWxsTmVlZHNMb2FkKCkpCiAgICAgICAg
ICAgICAgICAgaW1hZ2UtPmxvYWQodGhpcywgZGVmYXVsdENhY2hlZFJlc291cmNlT3B0aW9ucygp
KTsKICAgICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hl
L0NhY2hlZFJlc291cmNlTG9hZGVyLmgKaW5kZXggMjFlNGYzOTFkYmI0ODIxNmM0NjU0Mzc4OTYz
ZjkxYTc0MDVhNzI2Mi4uZjQ3NTVjMjJmZDhkMmYxYzJhMGU4ZTZkYTgyZTdmOWI1MjNhMTlmYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9h
ZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9h
ZGVyLmgKQEAgLTk3LDEwICs5Nyw2IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgYXV0b0xvYWRJbWFn
ZXMoKSBjb25zdCB7IHJldHVybiBtX2F1dG9Mb2FkSW1hZ2VzOyB9CiAgICAgdm9pZCBzZXRBdXRv
TG9hZEltYWdlcyhib29sKTsKLQotICAgIHZvaWQgc2V0SW1hZ2VzRW5hYmxlZChib29sKTsKLQot
ICAgIGJvb2wgc2hvdWxkRGVmZXJJbWFnZUxvYWQoY29uc3QgS1VSTCYpIGNvbnN0OwogICAgIAog
ICAgIENhY2hlUG9saWN5IGNhY2hlUG9saWN5KCkgY29uc3Q7CiAgICAgCkBAIC0xMzksOSArMTM1
LDYgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgZ2FyYmFnZUNvbGxlY3REb2N1bWVudFJlc291cmNl
c1RpbWVyRmlyZWQoVGltZXI8Q2FjaGVkUmVzb3VyY2VMb2FkZXI+Kik7CiAgICAgdm9pZCBwZXJm
b3JtUG9zdExvYWRBY3Rpb25zKCk7Ci0KLSAgICBib29sIGNsaWVudEFsbG93c0ltYWdlKGNvbnN0
IEtVUkwmKSBjb25zdDsKLSAgICB2b2lkIHJlbG9hZEltYWdlc0lmTm90RGVmZXJyZWQoKTsKICAg
ICAKICAgICBIYXNoU2V0PFN0cmluZz4gbV92YWxpZGF0ZWRVUkxzOwogICAgIG11dGFibGUgRG9j
dW1lbnRSZXNvdXJjZU1hcCBtX2RvY3VtZW50UmVzb3VyY2VzOwpAQCAtMTU5LDkgKzE1Miw4IEBA
IHByaXZhdGU6CiAKICAgICBUaW1lcjxDYWNoZWRSZXNvdXJjZUxvYWRlcj4gbV9nYXJiYWdlQ29s
bGVjdERvY3VtZW50UmVzb3VyY2VzVGltZXI7CiAKLSAgICAvLyAyOSBiaXRzIGxlZnQKKyAgICAv
LyAzMCBiaXRzIGxlZnQKICAgICBib29sIG1fYXV0b0xvYWRJbWFnZXMgOiAxOwotICAgIGJvb2wg
bV9pbWFnZXNFbmFibGVkIDogMTsKICAgICBib29sIG1fYWxsb3dTdGFsZVJlc291cmNlcyA6IDE7
CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCmluZGV4IDJhNGM3YjRmMDVhMDZhN2NhYzBh
MmY1MWIwM2E3YTA2OWUwOGMyMDEuLjdmODYwZTc5NDFjZTc0YTEwYzE4YzhjZjE2ODdkMmQ1MzA0
ODQxN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCkBAIC00NiwxMiArNDYsMTAgQEAgdXNp
bmcgbmFtZXNwYWNlIHN0ZDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgdm9pZCBz
ZXRJbWFnZUxvYWRpbmdTZXR0aW5ncyhQYWdlKiBwYWdlKQorc3RhdGljIHZvaWQgc2V0TG9hZHNJ
bWFnZXNBdXRvbWF0aWNhbGx5SW5BbGxGcmFtZXMoUGFnZSogcGFnZSkKIHsKLSAgICBmb3IgKEZy
YW1lKiBmcmFtZSA9IHBhZ2UtPm1haW5GcmFtZSgpOyBmcmFtZTsgZnJhbWUgPSBmcmFtZS0+dHJl
ZSgpLT50cmF2ZXJzZU5leHQoKSkgewotICAgICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+Y2FjaGVk
UmVzb3VyY2VMb2FkZXIoKS0+c2V0SW1hZ2VzRW5hYmxlZChwYWdlLT5zZXR0aW5ncygpLT5hcmVJ
bWFnZXNFbmFibGVkKCkpOworICAgIGZvciAoRnJhbWUqIGZyYW1lID0gcGFnZS0+bWFpbkZyYW1l
KCk7IGZyYW1lOyBmcmFtZSA9IGZyYW1lLT50cmVlKCktPnRyYXZlcnNlTmV4dCgpKQogICAgICAg
ICBmcmFtZS0+ZG9jdW1lbnQoKS0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+c2V0QXV0b0xvYWRJ
bWFnZXMocGFnZS0+c2V0dGluZ3MoKS0+bG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5KCkpOwotICAg
IH0KIH0KIAogLy8gU2V0cyB0aGUgZW50cnkgaW4gdGhlIGZvbnQgbWFwIGZvciB0aGUgZ2l2ZW4g
c2NyaXB0LiBJZiBmYW1pbHkgaXMgdGhlIGVtcHR5IHN0cmluZywgcmVtb3ZlcyB0aGUgZW50cnkg
aW5zdGVhZC4KQEAgLTI5MSw3ICsyODksNyBAQCBTZXR0aW5nczo6U2V0dGluZ3MoUGFnZSogcGFn
ZSkKICAgICAsIG1fd2luZG93Rm9jdXNSZXN0cmljdGVkKHRydWUpCiAgICAgLCBtX2RpYWdub3N0
aWNMb2dnaW5nRW5hYmxlZChmYWxzZSkKICAgICAsIG1fc2Nyb2xsaW5nUGVyZm9ybWFuY2VMb2dn
aW5nRW5hYmxlZChmYWxzZSkKLSAgICAsIG1fc2V0SW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lcih0
aGlzLCAmU2V0dGluZ3M6OmltYWdlTG9hZGluZ1NldHRpbmdzVGltZXJGaXJlZCkKKyAgICAsIG1f
bG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5VGltZXIodGhpcywgJlNldHRpbmdzOjpsb2Fkc0ltYWdl
c0F1dG9tYXRpY2FsbHlUaW1lckZpcmVkKQogICAgICwgbV9pbmNyZW1lbnRhbFJlbmRlcmluZ1N1
cHByZXNzaW9uVGltZW91dEluU2Vjb25kcyhkZWZhdWx0SW5jcmVtZW50YWxSZW5kZXJpbmdTdXBw
cmVzc2lvblRpbWVvdXRJblNlY29uZHMpCiB7CiAgICAgLy8gQSBGcmFtZSBtYXkgbm90IGhhdmUg
YmVlbiBjcmVhdGVkIHlldCwgc28gd2UgaW5pdGlhbGl6ZSB0aGUgQXRvbWljU3RyaW5nCkBAIC00
NTcsMTIgKzQ1NSwxMiBAQCB2b2lkIFNldHRpbmdzOjpzZXRMb2Fkc0ltYWdlc0F1dG9tYXRpY2Fs
bHkoYm9vbCBsb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHkpCiAgICAgLy8gU3RhcnRpbmcgdGhlc2Ug
bG9hZHMgc3luY2hyb25vdXNseSBpcyBub3QgaW1wb3J0YW50LiAgQnkgcHV0dGluZyBpdCBvbiBh
IDAtZGVsYXksIHByb3Blcmx5IGNsb3NpbmcgdGhlIFBhZ2UgY2FuY2VscyB0aGVtCiAgICAgLy8g
YmVmb3JlIHRoZXkgaGF2ZSBhIGNoYW5jZSB0byByZWFsbHkgc3RhcnQuCiAgICAgLy8gU2VlIGh0
dHA6Ly93ZWJraXQub3JnL2IvNjA1NzIgZm9yIG1vcmUgZGlzY3Vzc2lvbi4KLSAgICBtX3NldElt
YWdlTG9hZGluZ1NldHRpbmdzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fbG9hZHNJbWFn
ZXNBdXRvbWF0aWNhbGx5VGltZXIuc3RhcnRPbmVTaG90KDApOwogfQogCi12b2lkIFNldHRpbmdz
OjppbWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyRmlyZWQoVGltZXI8U2V0dGluZ3M+KikKK3ZvaWQg
U2V0dGluZ3M6OmxvYWRzSW1hZ2VzQXV0b21hdGljYWxseVRpbWVyRmlyZWQoVGltZXI8U2V0dGlu
Z3M+KikKIHsKLSAgICBzZXRJbWFnZUxvYWRpbmdTZXR0aW5ncyhtX3BhZ2UpOworICAgIHNldExv
YWRzSW1hZ2VzQXV0b21hdGljYWxseUluQWxsRnJhbWVzKG1fcGFnZSk7CiB9CiAKIHZvaWQgU2V0
dGluZ3M6OnNldExvYWRzU2l0ZUljb25zSWdub3JpbmdJbWFnZUxvYWRpbmdTZXR0aW5nKGJvb2wg
bG9hZHNTaXRlSWNvbnMpCkBAIC01MDgsOSArNTA2LDYgQEAgdm9pZCBTZXR0aW5nczo6c2V0SmF2
YUVuYWJsZWRGb3JMb2NhbEZpbGVzKGJvb2wgaXNKYXZhRW5hYmxlZEZvckxvY2FsRmlsZXMpCiB2
b2lkIFNldHRpbmdzOjpzZXRJbWFnZXNFbmFibGVkKGJvb2wgYXJlSW1hZ2VzRW5hYmxlZCkKIHsK
ICAgICBtX2FyZUltYWdlc0VuYWJsZWQgPSBhcmVJbWFnZXNFbmFibGVkOwotCi0gICAgLy8gU2Vl
IGNvbW1lbnQgaW4gc2V0TG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5LgotICAgIG1fc2V0SW1hZ2VM
b2FkaW5nU2V0dGluZ3NUaW1lci5zdGFydE9uZVNob3QoMCk7CiB9CiAKIHZvaWQgU2V0dGluZ3M6
OnNldE1lZGlhRW5hYmxlZChib29sIGlzTWVkaWFFbmFibGVkKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5o
CmluZGV4IDYyNDdmODU2NGNkMzVkZmE3ODQ3M2ZjZTlhYzI3NDY3M2VkYTRhYTIuLjU1ZjJmNzQ5
OGU4NzE3MjZmOTE1YjVlOGRmOTg2OTliNzE1MGJiNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvU2V0dGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgK
QEAgLTgxMSw4ICs4MTEsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgYm9vbCBt
X3Njcm9sbGluZ1BlcmZvcm1hbmNlTG9nZ2luZ0VuYWJsZWQgOiAxOwogCi0gICAgICAgIFRpbWVy
PFNldHRpbmdzPiBtX3NldEltYWdlTG9hZGluZ1NldHRpbmdzVGltZXI7Ci0gICAgICAgIHZvaWQg
aW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lckZpcmVkKFRpbWVyPFNldHRpbmdzPiopOworICAgICAg
ICBUaW1lcjxTZXR0aW5ncz4gbV9sb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHlUaW1lcjsKKyAgICAg
ICAgdm9pZCBsb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHlUaW1lckZpcmVkKFRpbWVyPFNldHRpbmdz
PiopOwogICAgICAgICAKICAgICAgICAgZG91YmxlIG1faW5jcmVtZW50YWxSZW5kZXJpbmdTdXBw
cmVzc2lvblRpbWVvdXRJblNlY29uZHM7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFsU2V0dGluZ3MuY3BwCmluZGV4IGUwODhmYmNlMjUzZTI2ZWFmNTk3MTMzZDdlMGYxNzdhMTU4
OWFiYmIuLjcxMDhkOWNjNTU4NWMyZmZhNmY0YWEyN2ZmOTYwYjkyZGQzMjQ2OTcgMTAwNzU1Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcApAQCAtOTgsOCArOTgsMTAg
QEAgSW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpCYWNrdXAoUGFnZSogcGFnZSwgU2V0dGluZ3Mq
IHNldHRpbmdzKQogI2VuZGlmCiAgICAgLCBtX2NhblN0YXJ0TWVkaWEocGFnZS0+Y2FuU3RhcnRN
ZWRpYSgpKQogICAgICwgbV9vcmlnaW5hbE1vY2tTY3JvbGxiYXJzRW5hYmxlZChzZXR0aW5ncy0+
bW9ja1Njcm9sbGJhcnNFbmFibGVkKCkpCisjaWYgRU5BQkxFKElOUFVUX1RZUEVfVElNRV9NVUxU
SVBMRV9GSUVMRFMpCisgICAgLy8gRklYTUU6IFRoaXMgaXMgYSB3b3JrYXJvdW5kIGZvciBBcHBs
ZSBXaW5kb3dzIGNyYXNoLgogICAgICwgbV9sYW5nQXR0cmlidXRlQXdhcmVGb3JtQ29udHJvbFVJ
RW5hYmxlZChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpsYW5nQXR0cmlidXRlQXdhcmVGb3JtQ29u
dHJvbFVJRW5hYmxlZCgpKQotICAgICwgbV9pbWFnZXNFbmFibGVkKHNldHRpbmdzLT5hcmVJbWFn
ZXNFbmFibGVkKCkpCisjZW5kaWYKIHsKIH0KIApAQCAtMTMzLDggKzEzNSw5IEBAIHZvaWQgSW50
ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpyZXN0b3JlVG8oUGFnZSogcGFnZSwgU2V0dGluZ3MqIHNl
dHRpbmdzKQogI2VuZGlmCiAgICAgcGFnZS0+c2V0Q2FuU3RhcnRNZWRpYShtX2NhblN0YXJ0TWVk
aWEpOwogICAgIHNldHRpbmdzLT5zZXRNb2NrU2Nyb2xsYmFyc0VuYWJsZWQobV9vcmlnaW5hbE1v
Y2tTY3JvbGxiYXJzRW5hYmxlZCk7CisjaWYgRU5BQkxFKElOUFVUX1RZUEVfVElNRV9NVUxUSVBM
RV9GSUVMRFMpCiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0TGFuZ0F0dHJpYnV0ZUF3
YXJlRm9ybUNvbnRyb2xVSUVuYWJsZWQobV9sYW5nQXR0cmlidXRlQXdhcmVGb3JtQ29udHJvbFVJ
RW5hYmxlZCk7Ci0gICAgc2V0dGluZ3MtPnNldEltYWdlc0VuYWJsZWQobV9pbWFnZXNFbmFibGVk
KTsKKyNlbmRpZgogfQogCiBJbnRlcm5hbFNldHRpbmdzKiBJbnRlcm5hbFNldHRpbmdzOjpmcm9t
KFBhZ2UqIHBhZ2UpCkBAIC02NTAsMTMgKzY1MywxMSBAQCB2b2lkIEludGVybmFsU2V0dGluZ3M6
OnNldFN0b3JhZ2VCbG9ja2luZ1BvbGljeShjb25zdCBTdHJpbmcmIG1vZGUsIEV4Y2VwdGlvbkNv
ZAogCiB2b2lkIEludGVybmFsU2V0dGluZ3M6OnNldExhbmdBdHRyaWJ1dGVBd2FyZUZvcm1Db250
cm9sVUlFbmFibGVkKGJvb2wgZW5hYmxlZCkKIHsKKyNpZiBFTkFCTEUoSU5QVVRfVFlQRV9USU1F
X01VTFRJUExFX0ZJRUxEUykKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRMYW5nQXR0
cmlidXRlQXdhcmVGb3JtQ29udHJvbFVJRW5hYmxlZChlbmFibGVkKTsKLX0KLQotdm9pZCBJbnRl
cm5hbFNldHRpbmdzOjpzZXRJbWFnZXNFbmFibGVkKGJvb2wgZW5hYmxlZCwgRXhjZXB0aW9uQ29k
ZSYgZWMpCi17Ci0gICAgSW50ZXJuYWxTZXR0aW5nc0d1YXJkRm9yU2V0dGluZ3MoKTsKLSAgICBz
ZXR0aW5ncygpLT5zZXRJbWFnZXNFbmFibGVkKGVuYWJsZWQpOworI2Vsc2UKKyAgICBVTlVTRURf
UEFSQU0oZW5hYmxlZCk7CisjZW5kaWYKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFsU2V0dGluZ3MuaAppbmRleCAwZjk0ZmIyNWY5YjkxN2VkOGRjYzdkN2U4MzgxY2ZiZjQ1
ZjJlNjIxLi4yZTg2MmIxYWI4ZDE1ODIyMjNmNDMzNWE4MTFiNjM4NjAyZmNhYTFiIDEwMDc1NQot
LS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaApAQCAtODAsOCArODAsOSBAQCBw
dWJsaWM6CiAjZW5kaWYKICAgICAgICAgYm9vbCBtX2NhblN0YXJ0TWVkaWE7CiAgICAgICAgIGJv
b2wgbV9vcmlnaW5hbE1vY2tTY3JvbGxiYXJzRW5hYmxlZDsKKyNpZiBFTkFCTEUoSU5QVVRfVFlQ
RV9USU1FX01VTFRJUExFX0ZJRUxEUykKICAgICAgICAgYm9vbCBtX2xhbmdBdHRyaWJ1dGVBd2Fy
ZUZvcm1Db250cm9sVUlFbmFibGVkOwotICAgICAgICBib29sIG1faW1hZ2VzRW5hYmxlZDsKKyNl
bmRpZgogICAgIH07CiAKICAgICB0eXBlZGVmIFJlZkNvdW50ZWRTdXBwbGVtZW50PFBhZ2UsIElu
dGVybmFsU2V0dGluZ3M+IFN1cGVyVHlwZTsKQEAgLTE0Niw4ICsxNDcsNiBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBzZXRNZW1vcnlJbmZvRW5hYmxlZChib29sLCBFeGNlcHRpb25Db2RlJik7CiAgICAg
dm9pZCBzZXRTdG9yYWdlQmxvY2tpbmdQb2xpY3koY29uc3QgU3RyaW5nJiwgRXhjZXB0aW9uQ29k
ZSYpOwogICAgIHZvaWQgc2V0TGFuZ0F0dHJpYnV0ZUF3YXJlRm9ybUNvbnRyb2xVSUVuYWJsZWQo
Ym9vbCk7Ci0gICAgdm9pZCBzZXRJbWFnZXNFbmFibGVkKGJvb2wgZW5hYmxlZCwgRXhjZXB0aW9u
Q29kZSYpOwotCiBwcml2YXRlOgogICAgIGV4cGxpY2l0IEludGVybmFsU2V0dGluZ3MoUGFnZSop
OwogICAgIHZpcnR1YWwgdm9pZCBob3N0RGVzdHJveWVkKCkgT1ZFUlJJREUgeyBtX3BhZ2UgPSAw
OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3Mu
aWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbAppbmRleCBj
NzQ1NWZlMTY0MTQwZTQ4NDY0NzE2OGNkMGE0N2I4ODAxYmIzZWFhLi44Zjk3Zjg5ZmZkZjdkNTFl
MDdiNTY4MDk1YmRiZTQ5OTQwMzA3NTI0IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxTZXR0aW5ncy5pZGwKQEAgLTgxLDcgKzgxLDYgQEAgbW9kdWxlIHdpbmRvdyB7CiAjZW5k
aWYKICAgICAgICAgdm9pZCBzZXRNZW1vcnlJbmZvRW5hYmxlZChpbiBib29sZWFuIGVuYWJsZWQp
IHJhaXNlcyhET01FeGNlcHRpb24pOwogICAgICAgICB2b2lkIHNldFN0b3JhZ2VCbG9ja2luZ1Bv
bGljeShpbiBET01TdHJpbmcgcG9saWN5KSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKLSAgICAgICAg
dm9pZCBzZXRJbWFnZXNFbmFibGVkKGluIGJvb2xlYW4gZW5hYmxlZCkgcmFpc2VzKERPTUV4Y2Vw
dGlvbik7CiAgICAgfTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvd2luL1dlYktp
dDIuZGVmIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmCmluZGV4IDhhYTQwMzcxZmFh
ZTcwYmMyZjUxOWExZDQzM2QzOTU1MWFmOWFkNGUuLjI3M2FmYjU2Mzk4YTJiNDRiNjMxMTUyNTc0
OWFjMDg3YTg5ZjU0MTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRl
ZgorKysgYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYKQEAgLTIyMiw3ICsyMjIsNiBA
QCBFWFBPUlRTCiAgICAgICAgID9zZXRET01FeGNlcHRpb25AV2ViQ29yZUBAWUFYUEFWRXhlY1N0
YXRlQEpTQ0BASEBaCiAgICAgICAgID9zZXRGYW50YXN5Rm9udEZhbWlseUBTZXR0aW5nc0BXZWJD
b3JlQEBRQUVYQUJWQXRvbWljU3RyaW5nQFdURkBAVzRVU2NyaXB0Q29kZUBAQFoKICAgICAgICAg
P3NldEZpeGVkRm9udEZhbWlseUBTZXR0aW5nc0BXZWJDb3JlQEBRQUVYQUJWQXRvbWljU3RyaW5n
QFdURkBAVzRVU2NyaXB0Q29kZUBAQFoKLSAgICAgICAgP3NldEltYWdlc0VuYWJsZWRAU2V0dGlu
Z3NAV2ViQ29yZUBAUUFFWF9OQFoKICAgICAgICAgP3NldE1vY2tTY3JvbGxiYXJzRW5hYmxlZEBT
ZXR0aW5nc0BXZWJDb3JlQEBTQVhfTkBaCiAgICAgICAgID9tb2NrU2Nyb2xsYmFyc0VuYWJsZWRA
U2V0dGluZ3NAV2ViQ29yZUBAU0FfTlhaCiAgICAgICAgID9zZXRQYWdlU2NhbGVGYWN0b3JAUGFn
ZUBXZWJDb3JlQEBRQUVYTUFCVkludFBvaW50QDJAQFoKZGlmZiAtLWdpdCBhL1NvdXJjZS9hdXRv
dG9vbHMvc3ltYm9scy5maWx0ZXIgYi9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyCmlu
ZGV4IDJhZjdlNzYwN2ZkZjQ4MGIzNzMxM2MzZTJlNDhkMTNlZTUzYTE1ZDIuLmI5ODE0N2M4ZWM4
MjcwOWU3N2FmM2RmYjc4MzVhMDIyZWFkMzJmOTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9hdXRvdG9v
bHMvc3ltYm9scy5maWx0ZXIKKysrIGIvU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlcgpA
QCAtMTQ1LDcgKzE0NSw2IEBAIF9aTjdXZWJDb3JlMTRTY3JvbGxhYmxlQXJlYTI4c2V0U2Nyb2xs
T2Zmc2V0RnJvbUludGVybmFsc0VSS05TXzhJbnRQb2ludEU7CiBfWk43V2ViQ29yZTEwU2Nyb2xs
VmlldzIzc2V0U2Nyb2xsYmFyc1N1cHByZXNzZWRFYmI7CiBfWk43V2ViQ29yZTEwU2Nyb2xsVmll
dzIxc2V0RGVsZWdhdGVzU2Nyb2xsaW5nRWI7CiBfWk43V2ViQ29yZTROb2RlMTRyZW1vdmVkTGFz
dFJlZkV2OwotX1pON1dlYkNvcmU4U2V0dGluZ3MxNnNldEltYWdlc0VuYWJsZWRFYjsKIF9aTjdX
ZWJDb3JlOFNldHRpbmdzMThzZXRGaXhlZEZvbnRGYW1pbHlFUktOM1dURjEyQXRvbWljU3RyaW5n
RTExVVNjcmlwdENvZGU7CiBfWk43V2ViQ29yZThTZXR0aW5nczE4c2V0U2VyaWZGb250RmFtaWx5
RVJLTjNXVEYxMkF0b21pY1N0cmluZ0UxMVVTY3JpcHRDb2RlOwogX1pON1dlYkNvcmU4U2V0dGlu
Z3MyMHNldEN1cnNpdmVGb250RmFtaWx5RVJLTjNXVEYxMkF0b21pY1N0cmluZ0UxMVVTY3JpcHRD
b2RlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCmluZGV4IGRhOTZiYjQxN2ZmMDBhODgyYTMzNmIxNzJkN2NkNzNlNTlhOGQxOGUuLmNk
NWFiOGExODhjYzdjZTU5YzhiYjViNmFkMzBjYjBhYzRjOWQwMmUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwy
NiBAQAorMjAxMi0wOS0xOCAgQm8gTGl1ICA8Ym9saXVAY2hyb21pdW0ub3JnPgorCisgICAgICAg
IFJldmVydCAxMjg3ODAsIDEyODY3NiwgMTI4NjQ1CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NzAyMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRoZXNlIGFyZSBjYXVzaW5nIHBlcmYgcmVncmVzc2lvbiBp
biBjaHJvbWl1bS4KKworICAgICAgICAqIGZhc3QvbG9hZGVyL2Rpc3BsYXktaW1hZ2UtdW5zZXQt
YWxsb3dzLWNhY2hlZC1pbWFnZS1sb2FkLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAg
KiBmYXN0L2xvYWRlci9kaXNwbGF5LWltYWdlLXVuc2V0LWFsbG93cy1jYWNoZWQtaW1hZ2UtbG9h
ZC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvbG9hZGVyL2Rpc3BsYXktaW1hZ2UtdW5z
ZXQtY2FuLWJsb2NrLWltYWdlLWFuZC1jYW4tcmVsb2FkLWluLXBsYWNlLWV4cGVjdGVkLnR4dDog
UmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2xvYWRlci9kaXNwbGF5LWltYWdlLXVuc2V0LWNhbi1i
bG9jay1pbWFnZS1hbmQtY2FuLXJlbG9hZC1pbi1wbGFjZS5odG1sOiBSZW1vdmVkLgorICAgICAg
ICAqIGZhc3QvbG9hZGVyL2ltYWdlcy1lbmFibGVkLXVuc2V0LWNhbi1ibG9jay1pbWFnZS1hbmQt
Y2FuLXJlbG9hZC1pbi1wbGFjZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFz
dC9sb2FkZXIvaW1hZ2VzLWVuYWJsZWQtdW5zZXQtY2FuLWJsb2NrLWltYWdlLWFuZC1jYW4tcmVs
b2FkLWluLXBsYWNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9sb2FkZXIvcmVzb3Vy
Y2VzL2ltYWdlMS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvbG9hZGVyL3Jlc291cmNl
cy9pbWFnZTIuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9odHRw
L3Rlc3RzL3Blcm1pc3Npb25jbGllbnQvaW1hZ2UtcGVybWlzc2lvbnMtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL3Blcm1pc3Npb25jbGllbnQvaW1hZ2UtcGVybWlz
c2lvbnMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL3Blcm1pc3Np
b25jbGllbnQvaW1hZ2UtcGVybWlzc2lvbnMuaHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJv
bWl1bS9wZXJtaXNzaW9uY2xpZW50L3Jlc291cmNlcy9pbWFnZS5odG1sOgorICAgICAgICAqIHBs
YXRmb3JtL3drMi9Ta2lwcGVkOgorCiAyMDEyLTA5LTE4ICBSYXBoYWVsIEt1Ym8gZGEgQ29zdGEg
IDxyYXBoYWVsLmt1Ym8uZGEuY29zdGFAaW50ZWwuY29tPgogCiAgICAgICAgIFtFRkxdIEdhcmRl
bmluZy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL2Rpc3BsYXktaW1hZ2Ut
dW5zZXQtYWxsb3dzLWNhY2hlZC1pbWFnZS1sb2FkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3QvbG9hZGVyL2Rpc3BsYXktaW1hZ2UtdW5zZXQtYWxsb3dzLWNhY2hlZC1pbWFnZS1sb2Fk
LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmUxNWFhYzBjNTE1
ZTgwNTZhYjNjY2M5NTE5MDM3MzMyOGY4MzdmOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9kaXNwbGF5LWltYWdl
LXVuc2V0LWFsbG93cy1jYWNoZWQtaW1hZ2UtbG9hZC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVs
bApAQCAtMSwyICswLDAgQEAKLVRlc3QgdGhhdCBXZWJLaXREaXNwbGF5SW1hZ2VzS2V5IHVuc2V0
IGRvZXMgbm90IGJsb2NrIGltYWdlIGluIGNhY2hlLgotUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9sb2FkZXIvZGlzcGxheS1pbWFnZS11bnNldC1hbGxvd3MtY2FjaGVkLWltYWdl
LWxvYWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL2Rpc3BsYXktaW1hZ2UtdW5zZXQt
YWxsb3dzLWNhY2hlZC1pbWFnZS1sb2FkLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDA4ZDcwM2Q1MDRlYWE0NWIzZjRlZmZlZDBiNDdiNDc3ZTQ4MThmZDcuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9sb2Fk
ZXIvZGlzcGxheS1pbWFnZS11bnNldC1hbGxvd3MtY2FjaGVkLWltYWdlLWxvYWQuaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDM5ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0PgotLy8g
T3BlbnMgdHdvIHdpbmRvd3MgY29udGFpbmluZyB0aGUgc2FtZSBpbWFnZS4gRmlyc3Qgd2luZG93
IHdpbGwgcG9wdWxhdGUgdGhlIGNhY2hlIHdpdGgKLS8vIGltYWdlLiBUaGUgc2Vjb25kIHdpbmRv
dyBpcyBvcGVuZWQgd2l0aCBXZWJLaXREaXNwbGF5SW1hZ2VzS2V5IHVuc2V0LCBidXQgaW1hZ2Ug
c2hvdWxkCi0vLyBzdGlsbCBsb2FkIHNpbmNlIGl0IGlzIGluIGNhY2hlLgotZnVuY3Rpb24gcnVu
VGVzdCgpCi17Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgIHRlc3RSdW5u
ZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAg
ICAgICAgdGVzdFJ1bm5lci5zZXRDYW5PcGVuV2luZG93cygpOwotICAgICAgICB0ZXN0UnVubmVy
Lm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAx
KTsKLQotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzdWx0JykuaW5uZXJIVE1M
ID0gJ0ZBSUxVUkU6IGltYWdlMS5odG1sIG5vdCBsb2FkZWQnOwotICAgICAgICB3aW5kb3cub3Bl
bigicmVzb3VyY2VzL2ltYWdlMS5odG1sIiwgIl9ibGFuayIpOwotICAgIH0KLX0KLQotZnVuY3Rp
b24gaW1hZ2UxTG9hZGVkKCkKLXsKLSAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgn
V2ViS2l0RGlzcGxheUltYWdlc0tleScsIDApOwotICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdyZXN1bHQnKS5pbm5lckhUTUwgPSAnRkFJTFVSRTogaW1hZ2UyLmh0bWwgbm90IGxvYWRlZCc7
Ci0gICAgd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKSB7d2luZG93Lm9wZW4oInJlc291cmNl
cy9pbWFnZTIuaHRtbCIsICJfYmxhbmsiKTt9LCAwKTsKLX0KLQotZnVuY3Rpb24gaW1hZ2UyTG9h
ZGVkKCkKLXsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzdWx0JykuaW5uZXJIVE1M
ID0gJ1BBU1MnOwotCQl0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLX0KLTwvc2NyaXB0PgotPC9o
ZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotVGVzdCB0aGF0IFdlYktpdERpc3BsYXlJ
bWFnZXNLZXkgdW5zZXQgZG9lcyBub3QgYmxvY2sgaW1hZ2UgaW4gY2FjaGUuCi08ZGl2IGlkPSJy
ZXN1bHQiPkZBSUxVUkU6IFRlc3Qgc2NyaXB0IGRpZG4ndCBydW4uPC9kaXY+Ci08L2JvZHk+Ci08
L2h0bWw+Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL2Rpc3BsYXktaW1h
Z2UtdW5zZXQtY2FuLWJsb2NrLWltYWdlLWFuZC1jYW4tcmVsb2FkLWluLXBsYWNlLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL2Rpc3BsYXktaW1hZ2UtdW5zZXQtY2FuLWJs
b2NrLWltYWdlLWFuZC1jYW4tcmVsb2FkLWluLXBsYWNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggN2E5ZWY1MzQ3OWI4YjVhYTRiNDY0ZjY1N2YyYWNmN2U1YmI0
NDdkMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2xvYWRlci9kaXNwbGF5LWltYWdlLXVuc2V0LWNhbi1ibG9jay1pbWFnZS1h
bmQtY2FuLXJlbG9hZC1pbi1wbGFjZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwz
ICswLDAgQEAKLVRlc3QgdGhhdCBEaXNwbGF5SW1hZ2VzIGRpc2FibGVkIGNhbiBibG9jayBodHRw
IGltYWdlIGFuZCBjYW4gYmUgcmVsb2FkZWQgaW4tcGxhY2Ugd2hlbiB0b2dnbGVkLgotU1VDQ0VT
UwotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9kaXNwbGF5LWltYWdlLXVu
c2V0LWNhbi1ibG9jay1pbWFnZS1hbmQtY2FuLXJlbG9hZC1pbi1wbGFjZS5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9sb2FkZXIvZGlzcGxheS1pbWFnZS11bnNldC1jYW4tYmxvY2staW1hZ2UtYW5k
LWNhbi1yZWxvYWQtaW4tcGxhY2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MzEyZjUwOWQ1NDNiN2E1YTdkNDdkMTkxYjc4ODY2M2U2ZDI2MTk3Ny4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9k
aXNwbGF5LWltYWdlLXVuc2V0LWNhbi1ibG9jay1pbWFnZS1hbmQtY2FuLXJlbG9hZC1pbi1wbGFj
ZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDcgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxz
Y3JpcHQ+Ci0vLyBTZXR0aW5nIFdlYktpdERpc3BsYXlJbWFnZXNLZXkgaXMgYXN5bmNocm9ub3Vz
LCBzbyB1c2luZyBxdWV1ZVJlbG9hZCBhbmQgc2V0SW50ZXJ2YWwgdG8gY2hlY2sgd2hlbiB0aGUg
c2V0dGluZyBhY3R1YWxseSB0YWtlIGVmZmVjdC4KLQotdmFyIGludGVydmFsSWQ7Ci12YXIgaW1h
Z2VPbmxvYWRGaXJlZCA9IDA7Ci0KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgIHRlc3RS
dW5uZXIuZHVtcEFzVGV4dCgpOwotICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0SW1h
Z2VzRW5hYmxlZCh0cnVlKTsKLSAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgnV2Vi
S2l0RGlzcGxheUltYWdlc0tleScsIDApOwotICAgIHRlc3RSdW5uZXIucXVldWVSZWxvYWQoKTsK
LX0KLQotZnVuY3Rpb24gcnVuVGVzdCgpCi17Ci0gICAgdmFyIGltYWdlID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ2ltYWdlJyk7Ci0gICAgaWYgKGltYWdlLm5hdHVyYWxIZWlnaHQgIT0gMCB8
fCBpbWFnZS5uYXR1cmFsV2lkdGggIT0gMCB8fCBpbWFnZU9ubG9hZEZpcmVkICE9IDApIHsKLSAg
ICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdCcpLmlubmVySFRNTCA9ICdGQUlM
VVJFOiBJbWFnZSBzaG91bGQgbm90IGJlIGxvYWRlZCB3aGVuIERpc3BsYXlJbWFnZSBpcyB1bnNl
dCc7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJl
ZmVyZW5jZSgnV2ViS2l0RGlzcGxheUltYWdlc0tleScsIDEpOwotICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdyZXN1bHQnKS5pbm5lckhUTUwgPSAnRkFJTFVSRTogSW1hZ2Ugc2hvdWxkIHJl
bG9hZCBpbi1wbGFjZSB3aGVuIERpc3BhbHlJbWFnZSBpcyBjaGFuZ2VzIGZyb20gdW5zZXQgdG8g
c2V0JzsKLSAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICBpbnRlcnZhbElkID0g
d2luZG93LnNldEludGVydmFsKHJ1blRlc3RSZXN0LCAxMCk7Ci19Ci0KLWZ1bmN0aW9uIHJ1blRl
c3RSZXN0KCkKLXsKLSAgICB2YXIgaW1hZ2UgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW1h
Z2UnKTsKLSAgICBpZiAoaW1hZ2UubmF0dXJhbEhlaWdodCA9PSAzMyAmJiBpbWFnZS5uYXR1cmFs
V2lkdGggPT0gMzcgJiYgaW1hZ2VPbmxvYWRGaXJlZCA9PSAxKSB7Ci0gICAgICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdyZXN1bHQnKS5pbm5lckhUTUwgPSAnU1VDQ0VTUyc7Ci0gICAgICAg
IHdpbmRvdy5jbGVhckludGVydmFsKGludGVydmFsSWQpOwotICAgICAgICB0ZXN0UnVubmVyLm5v
dGlmeURvbmUoKTsKLSAgICB9Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0i
cnVuVGVzdCgpIj4KLSAgVGVzdCB0aGF0IERpc3BsYXlJbWFnZXMgZGlzYWJsZWQgY2FuIGJsb2Nr
IGh0dHAgaW1hZ2UgYW5kIGNhbiBiZSByZWxvYWRlZCBpbi1wbGFjZSB3aGVuIHRvZ2dsZWQuCi0g
IDxkaXYgaWQ9InJlc3VsdCI+RkFJTFVSRTogVGVzdCBzY3JpcHQgZGlkbid0IHJ1bi48L2Rpdj4K
LSAgPGltZyBpZD0iaW1hZ2UiIHNyYz0iLi4vaW1hZ2VzL3Jlc291cmNlcy9vdmFsLnBuZyIgb25s
b2FkPSJpbWFnZU9ubG9hZEZpcmVkPTE7Ij4KLTwvYm9keT4KLTwvaHRtbD4KLQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvaW1hZ2VzLWVuYWJsZWQtdW5zZXQtY2FuLWJsb2Nr
LWltYWdlLWFuZC1jYW4tcmVsb2FkLWluLXBsYWNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3QvbG9hZGVyL2ltYWdlcy1lbmFibGVkLXVuc2V0LWNhbi1ibG9jay1pbWFnZS1hbmQtY2Fu
LXJlbG9hZC1pbi1wbGFjZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDk1MWQ0NjAxY2NjM2NhMThkOGNmZDVhOTY5NzgxMTFmZmIwYzYwMjAuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9sb2Fk
ZXIvaW1hZ2VzLWVuYWJsZWQtdW5zZXQtY2FuLWJsb2NrLWltYWdlLWFuZC1jYW4tcmVsb2FkLWlu
LXBsYWNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotVGVzdCB0
aGF0IEVuYWJsZUltYWdlcyB1bnNldCBjYW4gYmxvY2sgaW1hZ2UgYW5kIGNhbiBiZSByZWxvYWRl
ZCBpbi1wbGFjZSB3aGVuIHRvZ2dsZWQuCi1TVUNDRVNTCi0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvbG9hZGVyL2ltYWdlcy1lbmFibGVkLXVuc2V0LWNhbi1ibG9jay1pbWFnZS1hbmQt
Y2FuLXJlbG9hZC1pbi1wbGFjZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvaW1hZ2Vz
LWVuYWJsZWQtdW5zZXQtY2FuLWJsb2NrLWltYWdlLWFuZC1jYW4tcmVsb2FkLWluLXBsYWNlLmh0
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNmNDhlNjI4ZGRkNjBkNWJhZmEyYjE0
ZjA4MzYwYjRiNmU2YTY2M2MuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvaW1hZ2VzLWVuYWJsZWQtdW5zZXQtY2Fu
LWJsb2NrLWltYWdlLWFuZC1jYW4tcmVsb2FkLWluLXBsYWNlLmh0bWwKKysrIC9kZXYvbnVsbApA
QCAtMSw0NyArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdD4KLS8vIFNldHRpbmcgSW1h
Z2VzRW5hYmxlZCBpcyBhc3luY2hyb25vdXMsIHNvIHVzaW5nIHF1ZXVlUmVsb2FkIGFuZCBzZXRJ
bnRlcnZhbCB0byBjaGVjayB3aGVuIHRoZSBzZXR0aW5nIGFjdHVhbGx5IHRha2UgZWZmZWN0Lgot
Ci12YXIgaW50ZXJ2YWxJZDsKLXZhciBpbWFnZU9ubG9hZEZpcmVkID0gMDsKLQotaWYgKHdpbmRv
dy50ZXN0UnVubmVyKSB7Ci0gICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgdGVzdFJ1
bm5lci5vdmVycmlkZVByZWZlcmVuY2UoJ1dlYktpdERpc3BsYXlJbWFnZXNLZXknLCAxKTsKLSAg
ICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldEltYWdlc0VuYWJsZWQoZmFsc2UpOwotICAg
IHRlc3RSdW5uZXIucXVldWVSZWxvYWQoKTsKLX0KLQotZnVuY3Rpb24gcnVuVGVzdCgpCi17Ci0g
ICAgdmFyIGltYWdlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ltYWdlJyk7Ci0gICAgaWYg
KGltYWdlLm5hdHVyYWxIZWlnaHQgIT0gMCB8fCBpbWFnZS5uYXR1cmFsV2lkdGggIT0gMCB8fCBp
bWFnZU9ubG9hZEZpcmVkICE9IDApIHsKLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J3Jlc3VsdCcpLmlubmVySFRNTCA9ICdGQUlMVVJFOiBJbWFnZSBzaG91bGQgbm90IGJlIGxvYWRl
ZCB3aGVuIEltYWdlc0VuYWJsZWQgaXMgdW5zZXQnOwotICAgICAgICByZXR1cm47Ci0gICAgfQot
Ci0gICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRJbWFnZXNFbmFibGVkKHRydWUpOwot
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHQnKS5pbm5lckhUTUwgPSAnRkFJTFVS
RTogSW1hZ2Ugc2hvdWxkIHJlbG9hZCBpbi1wbGFjZSB3aGVuIEltYWdlc0VuYWJsZWQgaXMgY2hh
bmdlcyBmcm9tIHVuc2V0IHRvIHNldCc7Ci0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7
Ci0gICAgaW50ZXJ2YWxJZCA9IHdpbmRvdy5zZXRJbnRlcnZhbChydW5UZXN0UmVzdCwgMTApOwot
fQotCi1mdW5jdGlvbiBydW5UZXN0UmVzdCgpCi17Ci0gICAgdmFyIGltYWdlID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ2ltYWdlJyk7Ci0gICAgaWYgKGltYWdlLm5hdHVyYWxIZWlnaHQgPT0g
MzMgJiYgaW1hZ2UubmF0dXJhbFdpZHRoID09IDM3IHx8IGltYWdlT25sb2FkRmlyZWQgPT0gMSkg
ewotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzdWx0JykuaW5uZXJIVE1MID0g
J1NVQ0NFU1MnOwotICAgICAgICB3aW5kb3cuY2xlYXJJbnRlcnZhbChpbnRlcnZhbElkKTsKLSAg
ICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfQotfQotPC9zY3JpcHQ+Ci08L2hl
YWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci0gIFRlc3QgdGhhdCBFbmFibGVJbWFnZXMg
dW5zZXQgY2FuIGJsb2NrIGltYWdlIGFuZCBjYW4gYmUgcmVsb2FkZWQgaW4tcGxhY2Ugd2hlbiB0
b2dnbGVkLgotICA8ZGl2IGlkPSJyZXN1bHQiPkZBSUxVUkU6IFRlc3Qgc2NyaXB0IGRpZG4ndCBy
dW4uPC9kaXY+Ci0gIDxpbWcgaWQ9ImltYWdlIiBzcmM9Ii4uL2ltYWdlcy9yZXNvdXJjZXMvb3Zh
bC5wbmciIG9ubG9hZD0iaW1hZ2VPbmxvYWRGaXJlZD0xOyI+Ci08L2JvZHk+Ci08L2h0bWw+Ci0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL3Jlc291cmNlcy9pbWFnZTEuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL3Jlc291cmNlcy9pbWFnZTEuaHRtbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2Q2OWRjM2MyYTBkNmExNWUwODk2Mzc5MTAzMjU0ZjVl
YWEzNGRjMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2xvYWRlci9yZXNvdXJjZXMvaW1hZ2UxLmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSw1ICswLDAgQEAKLTxodG1sPgotPGJvZHk+Ci0gIDxpbWcgc3JjPSIuLi8uLi9pbWFn
ZXMvcmVzb3VyY2VzL292YWwucG5nIiBvbmxvYWQ9IndpbmRvdy5vcGVuZXIuaW1hZ2UxTG9hZGVk
KCk7Ij4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbG9h
ZGVyL3Jlc291cmNlcy9pbWFnZTIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL3Jlc291
cmNlcy9pbWFnZTIuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzAzN2ZmZjBj
ZTY1Njc3N2NjMDJlOGFlNmNjODFjZjZlYTQ0MmFhYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9yZXNvdXJjZXMv
aW1hZ2UyLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLTxodG1sPgotPGJvZHk+
Ci0gIDxpbWcgc3JjPSIuLi8uLi9pbWFnZXMvcmVzb3VyY2VzL292YWwucG5nIiBvbmxvYWQ9Indp
bmRvdy5vcGVuZXIuaW1hZ2UyTG9hZGVkKCk7Ij4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2h0dHAvdGVzdHMvcGVybWlzc2lvbmNs
aWVudC9pbWFnZS1wZXJtaXNzaW9ucy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9odHRwL3Rlc3RzL3Blcm1pc3Npb25jbGllbnQvaW1hZ2UtcGVybWlzc2lvbnMt
ZXhwZWN0ZWQudHh0CmluZGV4IGU3Y2FhOWFmNjIzYTllZDI0MDk5NzI3MjZiZWEyODBiZDRiMWYz
YzkuLjVjY2FjNGFiZWY0YTg2YjI2MDk1ZmQ2MmFlZmY3NTA5ZWM4MjBjM2UgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2h0dHAvdGVzdHMvcGVybWlzc2lvbmNsaWVu
dC9pbWFnZS1wZXJtaXNzaW9ucy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vaHR0cC90ZXN0cy9wZXJtaXNzaW9uY2xpZW50L2ltYWdlLXBlcm1pc3Npb25z
LWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDQgQEAKIFBFUk1JU1NJT04gQ0xJRU5UOiBhbGxvd0lt
YWdlKGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9wZXJtaXNzaW9uY2xpZW50L3Jlc291cmNlcy9yZWRp
ci5waHA/dXJsPWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9wZXJtaXNzaW9uY2xpZW50L3Jlc291cmNl
cy9ib3N0b24uZ2lmKTogdHJ1ZQotUEVSTUlTU0lPTiBDTElFTlQ6IGFsbG93SW1hZ2UoaHR0cDov
LzEyNy4wLjAuMTo4MDAwL3Blcm1pc3Npb25jbGllbnQvcmVzb3VyY2VzL3JlZGlyLnBocD91cmw9
aHR0cDovLzEyNy4wLjAuMTo4MDAwL3Blcm1pc3Npb25jbGllbnQvcmVzb3VyY2VzL2Jvc3Rvbi5n
aWYpOiB0cnVlCiBQRVJNSVNTSU9OIENMSUVOVDogYWxsb3dJbWFnZShodHRwOi8vMTI3LjAuMC4x
OjgwMDAvcGVybWlzc2lvbmNsaWVudC9yZXNvdXJjZXMvYm9zdG9uLmdpZik6IHRydWUKIFRoaXMg
dGVzdCBjaGVja3MgdGhhdCBhbGwgVVJMcyBpbiBhIHJlZGlyZWN0IGNoYWluIGFyZSBwYXNzZWQg
dG8gdGhlIFBlcm1pc3Npb25DbGllbnQuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL3Blcm1pc3Npb25jbGllbnQvaW1hZ2UtcGVybWlzc2lvbnMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vcGVybWlzc2lvbmNsaWVudC9pbWFn
ZS1wZXJtaXNzaW9ucy1leHBlY3RlZC50eHQKaW5kZXggMTgxZGM4MTA3NzM5ZTVmZDlmNTAzZGJi
ZGM3ZTcwMmQ5YzUwMWQ2Mi4uNjBlNzZhNTIzYWRmMjY0NDY1MzM1ODI5NmY3Y2I5ZWI0MzhkM2Y5
ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vcGVybWlzc2lvbmNs
aWVudC9pbWFnZS1wZXJtaXNzaW9ucy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vcGVybWlzc2lvbmNsaWVudC9pbWFnZS1wZXJtaXNzaW9ucy1leHBlY3Rl
ZC50eHQKQEAgLTEsMTQgKzEsMTAgQEAKIFBFUk1JU1NJT04gQ0xJRU5UOiBhbGxvd0ltYWdlKChm
aWxlIHRlc3QpOnBsYXRmb3JtL2Nocm9taXVtL3Blcm1pc3Npb25jbGllbnQvcmVzb3VyY2VzL2Jv
c3Rvbi5naWYpOiB0cnVlCi1QRVJNSVNTSU9OIENMSUVOVDogYWxsb3dJbWFnZSgoZmlsZSB0ZXN0
KTpwbGF0Zm9ybS9jaHJvbWl1bS9wZXJtaXNzaW9uY2xpZW50L3Jlc291cmNlcy9ib3N0b24uZ2lm
KTogdHJ1ZQotUEVSTUlTU0lPTiBDTElFTlQ6IGFsbG93SW1hZ2UoKGZpbGUgdGVzdCk6cGxhdGZv
cm0vY2hyb21pdW0vcGVybWlzc2lvbmNsaWVudC9yZXNvdXJjZXMvYm9zdG9uLmdpZj9ub2NhY2hl
KTogZmFsc2UKIFBFUk1JU1NJT04gQ0xJRU5UOiBhbGxvd0ltYWdlKChmaWxlIHRlc3QpOnBsYXRm
b3JtL2Nocm9taXVtL3Blcm1pc3Npb25jbGllbnQvcmVzb3VyY2VzL2Jvc3Rvbi5naWY/bm9jYWNo
ZSk6IGZhbHNlCiBQRVJNSVNTSU9OIENMSUVOVDogYWxsb3dJbWFnZSgoZmlsZSB0ZXN0KTpwbGF0
Zm9ybS9jaHJvbWl1bS9wZXJtaXNzaW9uY2xpZW50L3Jlc291cmNlcy9ib3N0b24uZ2lmKTogZmFs
c2UKIFBFUk1JU1NJT04gQ0xJRU5UOiBhbGxvd0ltYWdlKChmaWxlIHRlc3QpOnBsYXRmb3JtL2No
cm9taXVtL3Blcm1pc3Npb25jbGllbnQvcmVzb3VyY2VzL2Jvc3Rvbi5naWYpOiBmYWxzZQotUEVS
TUlTU0lPTiBDTElFTlQ6IGFsbG93SW1hZ2UoKGZpbGUgdGVzdCk6cGxhdGZvcm0vY2hyb21pdW0v
cGVybWlzc2lvbmNsaWVudC9yZXNvdXJjZXMvYm9zdG9uLmdpZik6IGZhbHNlCi1QRVJNSVNTSU9O
IENMSUVOVDogYWxsb3dJbWFnZSgoZmlsZSB0ZXN0KTpwbGF0Zm9ybS9jaHJvbWl1bS9wZXJtaXNz
aW9uY2xpZW50L3Jlc291cmNlcy9ib3N0b24uZ2lmKTogZmFsc2UKLVBFUk1JU1NJT04gQ0xJRU5U
OiBhbGxvd0ltYWdlKChmaWxlIHRlc3QpOnBsYXRmb3JtL2Nocm9taXVtL3Blcm1pc3Npb25jbGll
bnQvcmVzb3VyY2VzL2Jvc3Rvbi5naWYpOiBmYWxzZQotUEVSTUlTU0lPTiBDTElFTlQ6IGFsbG93
SW1hZ2UoKGZpbGUgdGVzdCk6cGxhdGZvcm0vY2hyb21pdW0vcGVybWlzc2lvbmNsaWVudC9yZXNv
dXJjZXMvYm9zdG9uLmdpZik6IGZhbHNlCiAKIAogUEFTUzogZmlyc3QgaW1hZ2UgbG9hZGVkCitQ
QVNTOiBlcnJvciBldmVudCBmb3Igbm90IGNhY2hlZCBpbWFnZQorUEFTUzogZXJyb3IgZXZlbnQg
Zm9yIGltYWdlIGZyb20gY2FjaGUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vcGVybWlzc2lvbmNsaWVudC9pbWFnZS1wZXJtaXNzaW9ucy5odG1sIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vcGVybWlzc2lvbmNsaWVudC9pbWFnZS1wZXJtaXNzaW9u
cy5odG1sCmluZGV4IGY1N2EzYjcwNzA0MzMwOWMyZmFiMmZmOTJjM2U5ZTJjNmU0MTk2NDcuLjdi
NWUyYzU3NWM5ODk3NGFjMDhmODdlOWY4YzEyMDcxMGFkYmZlZjAgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Blcm1pc3Npb25jbGllbnQvaW1hZ2UtcGVybWlzc2lv
bnMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9wZXJtaXNzaW9uY2xp
ZW50L2ltYWdlLXBlcm1pc3Npb25zLmh0bWwKQEAgLTEsOSArMSw2IEBACiA8aHRtbD4KIDxoZWFk
PgogPHNjcmlwdD4KLS8vIEJsb2NrZWQgaW1hZ2VzIGNhbiBiZSByZWxvYWRlZCwgc28gbmVpdGhl
ciBvbmxvYWQgbm9yIG9uZXJyb3IgaXMgY2FsbGVkLgotLy8gT25seSBjaGVjayBoZXJlIHRoYXQg
b25sb2FkIGlzIG5ldmVyIGNhbGxlZCB3aGVuIGltYWdlIGlzIGJsb2NrZWQuCi0KIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikgewogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAgIHRlc3RS
dW5uZXIuZHVtcFBlcm1pc3Npb25DbGllbnRDYWxsYmFja3MoKTsKQEAgLTI0LDEyICsyMSwxNCBA
QCBmdW5jdGlvbiBsb2FkZWQoKQogCiAgICAgLy8gTG9hZCBhbiBpbWFnZSBub3QgaW4gY2FjaGUu
CiAgICAgdmFyIGltZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2ltZycpOworICAgIGltZy5v
bmVycm9yID0gZnVuY3Rpb24gKCkgeyBsb2coIlBBU1M6IGVycm9yIGV2ZW50IGZvciBub3QgY2Fj
aGVkIGltYWdlIik7IH0KICAgICBpbWcub25sb2FkID0gZnVuY3Rpb24gKCkgeyBsb2coIkZBSUw6
IG5vdCBjYWNoZWQgaW1hZ2UgbG9hZGVkIik7IH0KICAgICBpbWcuc3JjID0gInJlc291cmNlcy9i
b3N0b24uZ2lmP25vY2FjaGUiOwogICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbWciKS5h
cHBlbmRDaGlsZChpbWcpOwogCiAgICAgLy8gTG9hZCBhbiBpbWFnZSBmcm9tIGNhY2hlLgogICAg
IHZhciBpbWdGcm9tQ2FjaGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbWcnKTsKKyAgICBp
bWdGcm9tQ2FjaGUub25lcnJvciA9IGZ1bmN0aW9uICgpIHsgbG9nKCJQQVNTOiBlcnJvciBldmVu
dCBmb3IgaW1hZ2UgZnJvbSBjYWNoZSIpOyB9CiAgICAgaW1nRnJvbUNhY2hlLm9ubG9hZCA9IGZ1
bmN0aW9uICgpIHsgbG9nKCJGQUlMOiBpbWFnZSBmcm9tIGNhY2hlIGxvYWRlZCIpOyB9CiAgICAg
aW1nRnJvbUNhY2hlLnNyYyA9ICJyZXNvdXJjZXMvYm9zdG9uLmdpZiI7CiAgICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImltZyIpLmFwcGVuZENoaWxkKGltZ0Zyb21DYWNoZSk7CkBAIC00Miw3
ICs0MSw3IEBAIGZ1bmN0aW9uIGxvYWRlZCgpCiA8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5Pgot
PGltZyBzcmM9InJlc291cmNlcy9ib3N0b24uZ2lmIiBvbmxvYWQ9ImxvYWRlZCgpIj4KKzxpbWcg
c3JjPSJyZXNvdXJjZXMvYm9zdG9uLmdpZiIgb25sb2FkPSJsb2FkZWQoKSIgb25lcnJvcj0ibG9n
KCdGQUlMOiBlcnJvciBldmVudCBmb3IgZmlyc3QgaW1hZ2UnKSI+CiA8ZGl2IGlkPSJpbWciPjwv
ZGl2PgogPGRpdiBpZD0icmVzdWx0cyI+PC9kaXY+CiA8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9wZXJtaXNzaW9uY2xpZW50L3Jlc291cmNlcy9pbWFn
ZS5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vcGVybWlzc2lvbmNsaWVudC9y
ZXNvdXJjZXMvaW1hZ2UuaHRtbAppbmRleCAyMzk3NzE3MTAxZGVkNDQwYTMyOTU1ODI2ZTg0MWNk
MWNkNjIzZjk3Li5lMmFkZmUzZjBiNjIxYWE4ZDlmZjRlMTkwYzkwMjIzMDVjYzA3MGViIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9wZXJtaXNzaW9uY2xpZW50L3Jl
c291cmNlcy9pbWFnZS5odG1sCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Bl
cm1pc3Npb25jbGllbnQvcmVzb3VyY2VzL2ltYWdlLmh0bWwKQEAgLTgsNyArOCw3IEBAIGZ1bmN0
aW9uIGxvZyhhKQogPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KLTxpbWcgc3JjPSJib3N0b24u
Z2lmIiBvbmxvYWQ9ImxvZygnRkFJTDogbG9hZCBldmVudCBmb3IgaWZyYW1lZCBpbWFnZScpIj4K
KzxpbWcgc3JjPSJib3N0b24uZ2lmIiBvbmxvYWQ9ImxvZygnRkFJTDogbG9hZCBldmVudCBmb3Ig
aWZyYW1lZCBpbWFnZSkiIG9uZXJyb3I9ImxvZygnRkFJTDogZXJyb3IgZXZlbnQgZm9yIGlmcmFt
ZWQgaW1hZ2UnKSI+CiA8ZGl2IGlkPSJyZXN1bHRzIj48L2Rpdj4KIDwvYm9keT4KIDwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9Ta2lwcGVkIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vd2syL1NraXBwZWQKaW5kZXggYzFkYWIyN2E0YTY2ZGEzZmQ1NjQwY2IzMDM4
YWRjY2RhOThhMWExNi4uMTkxN2I2Y2VmYjM3OTllYmRhZDNlOTgwZjM1NzY4MTZkODRkMDMxMSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1NraXBwZWQKKysrIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd2syL1NraXBwZWQKQEAgLTIwMSw3ICsyMDEsNiBAQCBmYXN0L2NhbnZh
cy93ZWJnbC93ZWJnbC1hcnJheS1pbnZhbGlkLXJhbmdlcy5odG1sCiBmYXN0L2NhbnZhcy93ZWJn
bC93ZWJnbC1zcGVjaWZpYy5odG1sCiBmYXN0L2hhcm5lc3Mvb3ZlcnJpZGUtcHJlZmVyZW5jZXMt
Mi5odG1sCiBmYXN0L2ltYWdlcy9hbmltYXRlZC1naWYtcmVzdG9yZWQtZnJvbS1iZmNhY2hlLmh0
bWwKLWZhc3QvbG9hZGVyL2Rpc3BsYXktaW1hZ2UtdW5zZXQtYWxsb3dzLWNhY2hlZC1pbWFnZS1s
b2FkLmh0bWwKIGZhc3QvdGV4dC96ZXJvLWZvbnQtc2l6ZS5odG1sCiAKICMgV2ViS2l0VGVzdFJ1
bm5lciBuZWVkcyB0byBzdXBwb3J0IGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBET01Bc1dlYkFy
Y2hpdmUKQEAgLTM0MCw4ICszMzksNiBAQCBzdmcvY3VzdG9tL3N2Zy1hbGxvd2VkLWluLWRhc2hi
b2FyZC1vYmplY3QuaHRtbAogIyA8aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTQyNjcyPgogZmFzdC9jc3MvY29tcGFyZS1jb250ZW50LXN0eWxlLmh0bWwKIGZhc3QvZnJh
bWVzL2ZyYW1lLWRpc3BsYXktbm9uZS1mb2N1cy5odG1sCi1mYXN0L2xvYWRlci9kaXNwbGF5LWlt
YWdlLXVuc2V0LWNhbi1ibG9jay1pbWFnZS1hbmQtY2FuLXJlbG9hZC1pbi1wbGFjZS5odG1sCi1m
YXN0L2xvYWRlci9pbWFnZXMtZW5hYmxlZC11bnNldC1jYW4tYmxvY2staW1hZ2UtYW5kLWNhbi1y
ZWxvYWQtaW4tcGxhY2UuaHRtbAogZmFzdC9sb2FkZXIvcmVsb2FkLXBvbGljeS1kZWxlZ2F0ZS5o
dG1sCiAKICMgV2ViS2l0VGVzdFJ1bm5lciBuZWVkcyBsYXlvdXRUZXN0Q29udHJvbGxlci5xdWV1
ZUxvYWQKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCAyYmJiODg4NzA3
Y2E0NDIzZjY3NzgzNTM3NTQzNzY5NWYwMTFmYjdiLi4xZDE0YWZhYTUxYmRmYzNiNzViMTQzNmJi
M2JhOTg3NmNmZGZkYjIyIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMTItMDktMTggIEJvIExpdSAgPGJvbGl1QGNocm9taXVtLm9yZz4K
KworICAgICAgICBSZXZlcnQgMTI4NzgwLCAxMjg2NzYsIDEyODY0NQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTcwMjIKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGVzZSBhcmUgY2F1c2luZyBwZXJmIHJl
Z3Jlc3Npb24gaW4gY2hyb21pdW0uCisKKyAgICAgICAgKiBTb3VyY2UvYXV0b3Rvb2xzL3N5bWJv
bHMuZmlsdGVyOgorCiAyMDEyLTA5LTE4ICBSeXVhbiBDaG9pICA8cnl1YW4uY2hvaUBzYW1zdW5n
LmNvbT4KIAogICAgICAgICBbQ01BS0VdIEZpeCBidWlsZCBicmVhayBiZWNhdXNlIG9mIG1lbW9y
eSBleGhhdXN0ZWQuCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>164576</attachid>
            <date>2012-09-18 09:21:23 -0700</date>
            <delta_ts>2012-09-18 09:34:29 -0700</delta_ts>
            <desc>Improve ChangeLog description</desc>
            <filename>bug-97022-20120918092050.patch</filename>
            <type>text/plain</type>
            <size>39467</size>
            <attacher name="Bo Liu">boliu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4ODk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTk0ZmMyZGExNGRiMTJl
MGRiOTZhYTcyNDUyM2UwY2QyMmI4MjAxYS4uZjNhMDAyZjJhZGY5MjliZTU3MjIzOGM5NjdmMjI4
NzE0ZGQyMDMxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDEyLTA5LTE4ICBCbyBM
aXUgIDxib2xpdUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2ZXJ0IDEyODc4MCwgMTI4Njc2
LCAxMjg2NDUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTk3MDIyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
SSBtYWRlIHRoZXNlIHJldmlzaW9ucyB0byBhZGQgaW4tcGxhY2UgcmVsb2FkIGJlaGF2aW9yIHRv
IEltYWdlc0VuYWJsZWQgc2V0dGluZy4KKyAgICAgICAgUmV2ZXJ0aW5nIHRoaXMgZm9yIG5vdyBk
dWUgdG8gdGhlbSBjYXVzaW5nIHBlcmZvcm1hbmNlIHJlZ3Jlc3Npb24gaW4KKwkJCQljaHJvbWl1
bSwgcG9zc2libHkgY2F1c2VkIGJ5IGluY3JlYXNlZCBjYWxscyB0bworCQkJCVBlcm1pc3Npb25D
bGllbnQ6OmltYWdlQWxsb3dlZC4KKworICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAg
ICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRl
cjo6ZGlkQmVnaW5Eb2N1bWVudCk6CisgICAgICAgICogbG9hZGVyL1N1YnJlc291cmNlTG9hZGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN1YnJlc291cmNlTG9hZGVyOjp3aWxsU2VuZFJlcXVl
c3QpOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRJbWFnZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDYWNoZWRJbWFnZTo6bG9hZCk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hl
ZEltYWdlLmg6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRJbWFnZTo6c3RpbGxOZWVkc0xvYWQp
OgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6ZGlkQWRkQ2xpZW50KToKKyAgICAgICAgKiBsb2FkZXIv
Y2FjaGUvQ2FjaGVkUmVzb3VyY2UuaDoKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVz
b3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6
OkNhY2hlZFJlc291cmNlTG9hZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNl
TG9hZGVyOjpyZXF1ZXN0SW1hZ2UpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VM
b2FkZXI6OmNhblJlcXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2Fk
ZXI6OmRldGVybWluZVJldmFsaWRhdGlvblBvbGljeSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNo
ZWRSZXNvdXJjZUxvYWRlcjo6c2V0QXV0b0xvYWRJbWFnZXMpOgorICAgICAgICAqIGxvYWRlci9j
YWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oOgorICAgICAgICAoQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXIpOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2V0
TG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5SW5BbGxGcmFtZXMpOgorICAgICAgICAoV2ViQ29yZTo6
U2V0dGluZ3M6OlNldHRpbmdzKToKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXRMb2Fk
c0ltYWdlc0F1dG9tYXRpY2FsbHkpOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OmxvYWRz
SW1hZ2VzQXV0b21hdGljYWxseVRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGlu
Z3M6OnNldEltYWdlc0VuYWJsZWQpOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuaDoKKyAgICAg
ICAgKFNldHRpbmdzKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpCYWNrdXApOgorICAg
ICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpyZXN0b3JlVG8pOgorICAg
ICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0TGFuZ0F0dHJpYnV0ZUF3YXJlRm9y
bUNvbnRyb2xVSUVuYWJsZWQpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5o
OgorICAgICAgICAoQmFja3VwKToKKyAgICAgICAgKEludGVybmFsU2V0dGluZ3MpOgorICAgICAg
ICAqIHRlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5pZGw6CisKIDIwMTItMDktMTggIEFuZHJleSBL
b3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBb
RXh0ZW5zaW9ucyBBUEldIHBvc3Rwb25lIHJlcXVlc3RzIHRvIGFkZCBleHRlbnNpb25zIHVudGls
IGV4dGVuc2lvbiBzZXJ2ZXIgaXMgaW5pdGlhbGl6ZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAxYTcwMTMxNmQ5
MmI3Y2NmZTU4YmUxNjkzYTUyYWFlODZmOTJhMzUyLi4yNTU2NDUyY2RhNjA0NDUzMjM2OWMzZGY0
NDQ3MzI2YzRiYjcyYzhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMDktMTgg
IEJvIExpdSAgPGJvbGl1QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZlcnQgMTI4NzgwLCAx
Mjg2NzYsIDEyODY0NQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9OTcwMjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBJIG1hZGUgdGhlc2UgcmV2aXNpb25zIHRvIGFkZCBpbi1wbGFjZSByZWxvYWQgYmVoYXZp
b3IgdG8gSW1hZ2VzRW5hYmxlZCBzZXR0aW5nLgorICAgICAgICBSZXZlcnRpbmcgdGhpcyBmb3Ig
bm93IGR1ZSB0byB0aGVtIGNhdXNpbmcgcGVyZm9ybWFuY2UgcmVncmVzc2lvbiBpbgorCQkJCWNo
cm9taXVtLCBwb3NzaWJseSBjYXVzZWQgYnkgaW5jcmVhc2VkIGNhbGxzIHRvCisJCQkJUGVybWlz
c2lvbkNsaWVudDo6aW1hZ2VBbGxvd2VkLgorCisgICAgICAgICogd2luL1dlYktpdDIuZGVmOgor
CiAyMDEyLTA5LTE4ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4K
IAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTI4ODQ5LgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4
cC5pbgppbmRleCBlNzg0MTE4MzFhM2FjYWY2ZmM5MGQ2MTFjM2UzN2U5MzZjMWQzNDc0Li43YmE5
OTllNWRkMzc0YTUyNjI3ZTk3MmFlOTU3YThlZGRmNTdiYWM2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5p
bgpAQCAtODQ5LDcgKzg0OSw2IEBAIF9fWk43V2ViQ29yZThHcmFkaWVudEMxRVJLTlNfMTBGbG9h
dFBvaW50RVMzXwogX19aTjdXZWJDb3JlOFBvc2l0aW9uQzFFTjNXVEYxMFBhc3NSZWZQdHJJTlNf
NE5vZGVFRUVpTlMwXzEwQW5jaG9yVHlwZUUKIF9fWk43V2ViQ29yZThTZXR0aW5nczE0c2V0SmF2
YUVuYWJsZWRFYgogX19aTjdXZWJDb3JlOFNldHRpbmdzMTVzZXRXZWJHTEVuYWJsZWRFYgotX19a
TjdXZWJDb3JlOFNldHRpbmdzMTZzZXRJbWFnZXNFbmFibGVkRWIKIF9fWk43V2ViQ29yZThTZXR0
aW5nczE2c2V0U2NyaXB0RW5hYmxlZEViCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MxNnNldFVzZXNQ
YWdlQ2FjaGVFYgogX19aTjdXZWJDb3JlOFNldHRpbmdzMTdzZXRQbHVnaW5zRW5hYmxlZEViCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAppbmRleCA0MTc3MmNhZWU4ZDJkOTMyZGQz
ZjZiZWMyYThiYmFmYzBkY2U1ZjFjLi5iMjZiNmQ0Y2MyMmZhZTc1NzhkMDQ0ZjYxMDUxNjE5MjRi
MDZmYzVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKQEAgLTY0Nyw3ICs2
NDcsNiBAQCB2b2lkIEZyYW1lTG9hZGVyOjpkaWRCZWdpbkRvY3VtZW50KGJvb2wgZGlzcGF0Y2gp
CiAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+aW5pdENvbnRlbnRTZWN1cml0eVBvbGljeSgpOwog
CiAgICAgU2V0dGluZ3MqIHNldHRpbmdzID0gbV9mcmFtZS0+ZG9jdW1lbnQoKS0+c2V0dGluZ3Mo
KTsKLSAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpLT5zZXRJ
bWFnZXNFbmFibGVkKCFzZXR0aW5ncyB8fCBzZXR0aW5ncy0+YXJlSW1hZ2VzRW5hYmxlZCgpKTsK
ICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpLT5zZXRBdXRv
TG9hZEltYWdlcyhzZXR0aW5ncyAmJiBzZXR0aW5ncy0+bG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5
KCkpOwogCiAgICAgaWYgKG1fZG9jdW1lbnRMb2FkZXIpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDU2ZGUwZDM0MTMzYzNmNWE0NzJiZmMyYmM2
ZjRlNWNkZjM4MzAzZmQuLmZmM2JlNmVkZmY4Yjk3ZmM1NWEwODQ4YjRjMWFmMDJmMDgxYjQ2MTYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcApAQCAtMTY3
LDEzICsxNjcsMTEgQEAgdm9pZCBTdWJyZXNvdXJjZUxvYWRlcjo6d2lsbFNlbmRSZXF1ZXN0KFJl
c291cmNlUmVxdWVzdCYgbmV3UmVxdWVzdCwgY29uc3QgUmVzb3UKICAgICAKICAgICBSZXNvdXJj
ZUxvYWRlcjo6d2lsbFNlbmRSZXF1ZXN0KG5ld1JlcXVlc3QsIHJlZGlyZWN0UmVzcG9uc2UpOwog
ICAgIGlmICghcHJldmlvdXNVUkwuaXNOdWxsKCkgJiYgIW5ld1JlcXVlc3QuaXNOdWxsKCkgJiYg
cHJldmlvdXNVUkwgIT0gbmV3UmVxdWVzdC51cmwoKSkgewotICAgICAgICBpZiAobV9kb2N1bWVu
dC0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+Y2FuUmVxdWVzdChtX3Jlc291cmNlLT50eXBlKCks
IG5ld1JlcXVlc3QudXJsKCkpKSB7Ci0gICAgICAgICAgICBpZiAobV9yZXNvdXJjZS0+dHlwZSgp
ICE9IENhY2hlZFJlc291cmNlOjpJbWFnZVJlc291cmNlIHx8ICFtX2RvY3VtZW50LT5jYWNoZWRS
ZXNvdXJjZUxvYWRlcigpLT5zaG91bGREZWZlckltYWdlTG9hZChuZXdSZXF1ZXN0LnVybCgpKSkg
ewotICAgICAgICAgICAgICAgIG1fcmVzb3VyY2UtPndpbGxTZW5kUmVxdWVzdChuZXdSZXF1ZXN0
LCByZWRpcmVjdFJlc3BvbnNlKTsKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAg
ICB9CisgICAgICAgIGlmICghbV9kb2N1bWVudC0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+Y2Fu
UmVxdWVzdChtX3Jlc291cmNlLT50eXBlKCksIG5ld1JlcXVlc3QudXJsKCkpKSB7CisgICAgICAg
ICAgICBjYW5jZWwoKTsKKyAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQotICAgICAgICBj
YW5jZWwoKTsKKyAgICAgICAgbV9yZXNvdXJjZS0+d2lsbFNlbmRSZXF1ZXN0KG5ld1JlcXVlc3Qs
IHJlZGlyZWN0UmVzcG9uc2UpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZEltYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRJbWFnZS5jcHAKaW5kZXggZmE4M2E1NGY2NzFlZGM4MjUwNTQ5N2E3NWFiM2Zk
ZWQ5ZTQ5NzRiOS4uNDMxNjYxNmIzNjQ1M2EyMDg2NWU0ZDJkNmUwMjg5MzBhZjE2YjlkMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEltYWdlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuY3BwCkBAIC03OSw3ICs3
OSw3IEBAIENhY2hlZEltYWdlOjp+Q2FjaGVkSW1hZ2UoKQogCiB2b2lkIENhY2hlZEltYWdlOjps
b2FkKENhY2hlZFJlc291cmNlTG9hZGVyKiBjYWNoZWRSZXNvdXJjZUxvYWRlciwgY29uc3QgUmVz
b3VyY2VMb2FkZXJPcHRpb25zJiBvcHRpb25zKQogewotICAgIGlmICghY2FjaGVkUmVzb3VyY2VM
b2FkZXIgfHwgIWNhY2hlZFJlc291cmNlTG9hZGVyLT5zaG91bGREZWZlckltYWdlTG9hZChtX3Jl
c291cmNlUmVxdWVzdC51cmwoKSkpCisgICAgaWYgKCFjYWNoZWRSZXNvdXJjZUxvYWRlciB8fCBj
YWNoZWRSZXNvdXJjZUxvYWRlci0+YXV0b0xvYWRJbWFnZXMoKSkKICAgICAgICAgQ2FjaGVkUmVz
b3VyY2U6OmxvYWQoY2FjaGVkUmVzb3VyY2VMb2FkZXIsIG9wdGlvbnMpOwogICAgIGVsc2UKICAg
ICAgICAgc2V0TG9hZGluZyhmYWxzZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNo
ZWRJbWFnZS5oCmluZGV4IDBjNDUyYzQ0YWQ5OGEwMWE5ODk2OWRiYjgwYTk5ZTZhMTI2MTJiZTAu
LjQ4NjVjN2UyNDY2NWJhNjM5YjBlMWE5NmJjNjI1MjYwZDczYWQwMWIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRJbWFnZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRJbWFnZS5oCkBAIC04Miw3ICs4Miw3IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkSWdub3JlSFRUUFN0YXR1c0NvZGVFcnJvcnMoKSBjb25z
dCB7IHJldHVybiB0cnVlOyB9CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNJbWFnZSgpIGNvbnN0IHsg
cmV0dXJuIHRydWU7IH0KLSAgICB2aXJ0dWFsIGJvb2wgc3RpbGxOZWVkc0xvYWQoKSBjb25zdCBP
VkVSUklERSB7IHJldHVybiAhZXJyb3JPY2N1cnJlZCgpICYmIHN0YXR1cygpID09IFVua25vd24g
JiYgIWlzTG9hZGluZygpOyB9CisgICAgYm9vbCBzdGlsbE5lZWRzTG9hZCgpIGNvbnN0IHsgcmV0
dXJuICFlcnJvck9jY3VycmVkKCkgJiYgc3RhdHVzKCkgPT0gVW5rbm93biAmJiAhaXNMb2FkaW5n
KCk7IH0KICAgICB2b2lkIGxvYWQoKTsKIAogICAgIC8vIEltYWdlT2JzZXJ2ZXIKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCmluZGV4IGFhNmM1YTdm
YTZmODgzOTViYjYwZjgwYjM4ZmNmNDdkZDVhMDRjMDIuLjQzYzNkMTQ0ZjgyZjE1Njg4Y2Y2NmMw
NTRhMDRkYTk2MDE5YjlkMTEgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9DYWNoZWRSZXNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0Nh
Y2hlZFJlc291cmNlLmNwcApAQCAtMzkwLDcgKzM5MCw3IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2U6
OmRpZEFkZENsaWVudChDYWNoZWRSZXNvdXJjZUNsaWVudCogYykKICAgICAgICAgbV9jbGllbnRz
LmFkZChjKTsKICAgICAgICAgbV9jbGllbnRzQXdhaXRpbmdDYWxsYmFjay5yZW1vdmUoYyk7CiAg
ICAgfQotICAgIGlmICghaXNMb2FkaW5nKCkgJiYgIXN0aWxsTmVlZHNMb2FkKCkpCisgICAgaWYg
KCFpc0xvYWRpbmcoKSkKICAgICAgICAgYy0+bm90aWZ5RmluaXNoZWQodGhpcyk7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmgKaW5kZXggN2VkYWZk
NTA4ZGQzZmVhYmUwZTc4OGNhZjVlZDM5NjA0YjYwMGI3ZS4uMGNhZDNlZTdjYTQyODEyZWFhM2Vm
ZTYwMDMxMTY0NDlmN2E2OTZhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJlc291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0Nh
Y2hlZFJlc291cmNlLmgKQEAgLTE0NCw3ICsxNDQsNiBAQCBwdWJsaWM6CiAKICAgICBib29sIGlz
TG9hZGluZygpIGNvbnN0IHsgcmV0dXJuIG1fbG9hZGluZzsgfQogICAgIHZvaWQgc2V0TG9hZGlu
Zyhib29sIGIpIHsgbV9sb2FkaW5nID0gYjsgfQotICAgIHZpcnR1YWwgYm9vbCBzdGlsbE5lZWRz
TG9hZCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKICAgICBTdWJyZXNvdXJjZUxvYWRlciog
bG9hZGVyKCkgeyByZXR1cm4gbV9sb2FkZXIuZ2V0KCk7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggMGU4YzNm
NmEyMjAyY2MxOWU5MWE5ZDQzOTg3ZGJmY2UzNzE3MmNiMC4uZjJjYWEzZDU3NjYxODhhNTYwNGJl
NGI2NGY2NzQxOWMzNmQwMmFjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC00Niw3ICs0Niw2IEBACiAjaW5jbHVk
ZSAiTWVtb3J5Q2FjaGUuaCIKICNpbmNsdWRlICJQaW5nTG9hZGVyLmgiCiAjaW5jbHVkZSAiUmVz
b3VyY2VMb2FkU2NoZWR1bGVyLmgiCi0jaW5jbHVkZSAiU2NoZW1lUmVnaXN0cnkuaCIKICNpbmNs
dWRlICJTZWN1cml0eU9yaWdpbi5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSA8
d3RmL1VudXNlZFBhcmFtLmg+CkBAIC0xMTYsNyArMTE1LDYgQEAgQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXI6OkNhY2hlZFJlc291cmNlTG9hZGVyKERvY3VtZW50KiBkb2N1bWVudCkKICAgICAsIG1fcmVx
dWVzdENvdW50KDApCiAgICAgLCBtX2dhcmJhZ2VDb2xsZWN0RG9jdW1lbnRSZXNvdXJjZXNUaW1l
cih0aGlzLCAmQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmdhcmJhZ2VDb2xsZWN0RG9jdW1lbnRSZXNv
dXJjZXNUaW1lckZpcmVkKQogICAgICwgbV9hdXRvTG9hZEltYWdlcyh0cnVlKQotICAgICwgbV9p
bWFnZXNFbmFibGVkKHRydWUpCiAgICAgLCBtX2FsbG93U3RhbGVSZXNvdXJjZXMoZmFsc2UpCiB7
CiB9CkBAIC0xNjIsNyArMTYwLDcgQEAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkSW1hZ2U+
IENhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0SW1hZ2UoUmVzb3VyY2VSZXEKICAgICAgICAg
fQogICAgIH0KICAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRJbWFnZT4gcmVzb3VyY2Uo
c3RhdGljX2Nhc3Q8Q2FjaGVkSW1hZ2UqPihyZXF1ZXN0UmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2U6
OkltYWdlUmVzb3VyY2UsIHJlcXVlc3QsIFN0cmluZygpLCBkZWZhdWx0Q2FjaGVkUmVzb3VyY2VP
cHRpb25zKCkpLmdldCgpKSk7Ci0gICAgaWYgKCFzaG91bGREZWZlckltYWdlTG9hZChyZXF1ZXN0
LnVybCgpKSAmJiByZXNvdXJjZSAmJiByZXNvdXJjZS0+c3RpbGxOZWVkc0xvYWQoKSkKKyAgICBp
ZiAoYXV0b0xvYWRJbWFnZXMoKSAmJiByZXNvdXJjZSAmJiByZXNvdXJjZS0+c3RpbGxOZWVkc0xv
YWQoKSkKICAgICAgICAgcmVzb3VyY2UtPmxvYWQodGhpcywgZGVmYXVsdENhY2hlZFJlc291cmNl
T3B0aW9ucygpKTsKICAgICByZXR1cm4gcmVzb3VyY2U7CiB9CkBAIC0zNjQsNiArMzYyLDEyIEBA
IGJvb2wgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmNhblJlcXVlc3QoQ2FjaGVkUmVzb3VyY2U6OlR5
cGUgdHlwZSwgY29uc3QgS1VSTCYgdXJsCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6SW1hZ2VS
ZXNvdXJjZToKICAgICAgICAgaWYgKCFtX2RvY3VtZW50LT5jb250ZW50U2VjdXJpdHlQb2xpY3ko
KS0+YWxsb3dJbWFnZUZyb21Tb3VyY2UodXJsKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
KworICAgICAgICBpZiAoZnJhbWUoKSkgeworICAgICAgICAgICAgU2V0dGluZ3MqIHNldHRpbmdz
ID0gZnJhbWUoKS0+c2V0dGluZ3MoKTsKKyAgICAgICAgICAgIGlmICghZnJhbWUoKS0+bG9hZGVy
KCktPmNsaWVudCgpLT5hbGxvd0ltYWdlKCFzZXR0aW5ncyB8fCBzZXR0aW5ncy0+YXJlSW1hZ2Vz
RW5hYmxlZCgpLCB1cmwpKQorICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAg
fQogICAgICAgICBicmVhazsKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpGb250UmVzb3VyY2U6
IHsKICAgICAgICAgaWYgKCFtX2RvY3VtZW50LT5jb250ZW50U2VjdXJpdHlQb2xpY3koKS0+YWxs
b3dGb250RnJvbVNvdXJjZSh1cmwpKQpAQCAtNTEwLDExICs1MTQsMTEgQEAgQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXI6OlJldmFsaWRhdGlvblBvbGljeSBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6ZGV0ZXJt
aW5lUmV2YWxpZGEKIHsKICAgICBpZiAoIWV4aXN0aW5nUmVzb3VyY2UpCiAgICAgICAgIHJldHVy
biBMb2FkOwotCisgICAgCiAgICAgLy8gV2UgYWxyZWFkeSBoYXZlIGEgcHJlbG9hZCBnb2luZyBm
b3IgdGhpcyBVUkwuCiAgICAgaWYgKGZvclByZWxvYWQgJiYgZXhpc3RpbmdSZXNvdXJjZS0+aXNQ
cmVsb2FkZWQoKSkKICAgICAgICAgcmV0dXJuIFVzZTsKLQorICAgIAogICAgIC8vIElmIHRoZSBz
YW1lIFVSTCBoYXMgYmVlbiBsb2FkZWQgYXMgYSBkaWZmZXJlbnQgdHlwZSwgd2UgbmVlZCB0byBy
ZWxvYWQuCiAgICAgaWYgKGV4aXN0aW5nUmVzb3VyY2UtPnR5cGUoKSAhPSB0eXBlKSB7CiAgICAg
ICAgIExPRyhSZXNvdXJjZUxvYWRpbmcsICJDYWNoZWRSZXNvdXJjZUxvYWRlcjo6ZGV0ZXJtaW5l
UmV2YWxpZGF0aW9uUG9saWN5IHJlbG9hZGluZyBkdWUgdG8gdHlwZSBtaXNtYXRjaC4iKTsKQEAg
LTUyOSwxMSArNTMzLDYgQEAgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OlJldmFsaWRhdGlvblBvbGlj
eSBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6ZGV0ZXJtaW5lUmV2YWxpZGEKICAgICAvLyBvZiB0aGlu
Z3MgYWJvdXQgaG93IHJldmFsaWRhdGlvbiB3b3JrcyB0aGF0IG1hbnVhbCBoZWFkZXJzIHZpb2xh
dGUsIHNvIHB1bnQgdG8gUmVsb2FkIGluc3RlYWQuCiAgICAgaWYgKHJlcXVlc3QuaXNDb25kaXRp
b25hbCgpKQogICAgICAgICByZXR1cm4gUmVsb2FkOwotCi0gICAgLy8gRG8gbm90IGxvYWQgZnJv
bSBjYWNoZSBpZiBpbWFnZXMgYXJlIG5vdCBlbmFibGVkLiBUaGUgbG9hZCBmb3IgdGhpcyBpbWFn
ZSB3aWxsIGJlIGJsb2NrZWQKLSAgICAvLyBpbiByZXF1ZXN0SW1hZ2UuCi0gICAgaWYgKGV4aXN0
aW5nUmVzb3VyY2UtPnR5cGUoKSA9PSBDYWNoZWRSZXNvdXJjZTo6SW1hZ2VSZXNvdXJjZSAmJiAh
Y2xpZW50QWxsb3dzSW1hZ2UoZXhpc3RpbmdSZXNvdXJjZS0+dXJsKCkpKQotICAgICAgICByZXR1
cm4gUmVsb2FkOwogICAgIAogICAgIC8vIERvbid0IHJlbG9hZCByZXNvdXJjZXMgd2hpbGUgcGFz
dGluZy4KICAgICBpZiAobV9hbGxvd1N0YWxlUmVzb3VyY2VzKQpAQCAtNjMwLDQxICs2MjksMTMg
QEAgdm9pZCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6c2V0QXV0b0xvYWRJbWFnZXMoYm9vbCBlbmFi
bGUpCiAgICAgaWYgKCFtX2F1dG9Mb2FkSW1hZ2VzKQogICAgICAgICByZXR1cm47CiAKLSAgICBy
ZWxvYWRJbWFnZXNJZk5vdERlZmVycmVkKCk7Ci19Ci0KLXZvaWQgQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXI6OnNldEltYWdlc0VuYWJsZWQoYm9vbCBlbmFibGUpCi17Ci0gICAgaWYgKGVuYWJsZSA9PSBt
X2ltYWdlc0VuYWJsZWQpCi0gICAgICAgIHJldHVybjsKLQotICAgIG1faW1hZ2VzRW5hYmxlZCA9
IGVuYWJsZTsKLQotICAgIGlmICghbV9pbWFnZXNFbmFibGVkKQotICAgICAgICByZXR1cm47Ci0K
LSAgICByZWxvYWRJbWFnZXNJZk5vdERlZmVycmVkKCk7Ci19Ci0KLWJvb2wgQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXI6OmNsaWVudEFsbG93c0ltYWdlKGNvbnN0IEtVUkwmIHVybCkgY29uc3QKLXsKLSAg
ICByZXR1cm4gIWZyYW1lKCkgfHwgZnJhbWUoKS0+bG9hZGVyKCktPmNsaWVudCgpLT5hbGxvd0lt
YWdlKG1faW1hZ2VzRW5hYmxlZCwgdXJsKTsKLX0KLQotYm9vbCBDYWNoZWRSZXNvdXJjZUxvYWRl
cjo6c2hvdWxkRGVmZXJJbWFnZUxvYWQoY29uc3QgS1VSTCYgdXJsKSBjb25zdAotewotICAgIHJl
dHVybiAhY2xpZW50QWxsb3dzSW1hZ2UodXJsKSB8fCAhbV9hdXRvTG9hZEltYWdlczsKLX0KLQot
dm9pZCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVsb2FkSW1hZ2VzSWZOb3REZWZlcnJlZCgpCi17
CiAgICAgRG9jdW1lbnRSZXNvdXJjZU1hcDo6aXRlcmF0b3IgZW5kID0gbV9kb2N1bWVudFJlc291
cmNlcy5lbmQoKTsKICAgICBmb3IgKERvY3VtZW50UmVzb3VyY2VNYXA6Oml0ZXJhdG9yIGl0ID0g
bV9kb2N1bWVudFJlc291cmNlcy5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpIHsKICAgICAgICAg
Q2FjaGVkUmVzb3VyY2UqIHJlc291cmNlID0gaXQtPnNlY29uZC5nZXQoKTsKICAgICAgICAgaWYg
KHJlc291cmNlLT50eXBlKCkgPT0gQ2FjaGVkUmVzb3VyY2U6OkltYWdlUmVzb3VyY2UpIHsKICAg
ICAgICAgICAgIENhY2hlZEltYWdlKiBpbWFnZSA9IGNvbnN0X2Nhc3Q8Q2FjaGVkSW1hZ2UqPihz
dGF0aWNfY2FzdDxjb25zdCBDYWNoZWRJbWFnZSo+KHJlc291cmNlKSk7CiAKLSAgICAgICAgICAg
IGlmIChpbWFnZS0+c3RpbGxOZWVkc0xvYWQoKSAmJiAhc2hvdWxkRGVmZXJJbWFnZUxvYWQoaW1h
Z2UtPnVybCgpKSkKKyAgICAgICAgICAgIGlmIChpbWFnZS0+c3RpbGxOZWVkc0xvYWQoKSkKICAg
ICAgICAgICAgICAgICBpbWFnZS0+bG9hZCh0aGlzLCBkZWZhdWx0Q2FjaGVkUmVzb3VyY2VPcHRp
b25zKCkpOwogICAgICAgICB9CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaAppbmRleCAyMWU0ZjM5MWRiYjQ4MjE2YzQ2NTQz
Nzg5NjNmOTFhNzQwNWE3MjYyLi5mNDc1NWMyMmZkOGQyZjFjMmEwZThlNmRhODJlN2Y5YjUyM2Ex
OWZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIuaApAQCAtOTcsMTAgKzk3LDYgQEAgcHVibGljOgogCiAgICAgYm9vbCBhdXRvTG9h
ZEltYWdlcygpIGNvbnN0IHsgcmV0dXJuIG1fYXV0b0xvYWRJbWFnZXM7IH0KICAgICB2b2lkIHNl
dEF1dG9Mb2FkSW1hZ2VzKGJvb2wpOwotCi0gICAgdm9pZCBzZXRJbWFnZXNFbmFibGVkKGJvb2wp
OwotCi0gICAgYm9vbCBzaG91bGREZWZlckltYWdlTG9hZChjb25zdCBLVVJMJikgY29uc3Q7CiAg
ICAgCiAgICAgQ2FjaGVQb2xpY3kgY2FjaGVQb2xpY3koKSBjb25zdDsKICAgICAKQEAgLTEzOSw5
ICsxMzUsNiBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBnYXJiYWdlQ29sbGVjdERvY3VtZW50UmVz
b3VyY2VzVGltZXJGaXJlZChUaW1lcjxDYWNoZWRSZXNvdXJjZUxvYWRlcj4qKTsKICAgICB2b2lk
IHBlcmZvcm1Qb3N0TG9hZEFjdGlvbnMoKTsKLQotICAgIGJvb2wgY2xpZW50QWxsb3dzSW1hZ2Uo
Y29uc3QgS1VSTCYpIGNvbnN0OwotICAgIHZvaWQgcmVsb2FkSW1hZ2VzSWZOb3REZWZlcnJlZCgp
OwogICAgIAogICAgIEhhc2hTZXQ8U3RyaW5nPiBtX3ZhbGlkYXRlZFVSTHM7CiAgICAgbXV0YWJs
ZSBEb2N1bWVudFJlc291cmNlTWFwIG1fZG9jdW1lbnRSZXNvdXJjZXM7CkBAIC0xNTksOSArMTUy
LDggQEAgcHJpdmF0ZToKIAogICAgIFRpbWVyPENhY2hlZFJlc291cmNlTG9hZGVyPiBtX2dhcmJh
Z2VDb2xsZWN0RG9jdW1lbnRSZXNvdXJjZXNUaW1lcjsKIAotICAgIC8vIDI5IGJpdHMgbGVmdAor
ICAgIC8vIDMwIGJpdHMgbGVmdAogICAgIGJvb2wgbV9hdXRvTG9hZEltYWdlcyA6IDE7Ci0gICAg
Ym9vbCBtX2ltYWdlc0VuYWJsZWQgOiAxOwogICAgIGJvb2wgbV9hbGxvd1N0YWxlUmVzb3VyY2Vz
IDogMTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKaW5kZXggMmE0YzdiNGYwNWEwNmE3
Y2FjMGEyZjUxYjAzYTdhMDY5ZTA4YzIwMS4uN2Y4NjBlNzk0MWNlNzRhMTBjMThjOGNmMTY4N2Qy
ZDUzMDQ4NDE3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKQEAgLTQ2LDEyICs0NiwxMCBA
QCB1c2luZyBuYW1lc3BhY2Ugc3RkOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyB2
b2lkIHNldEltYWdlTG9hZGluZ1NldHRpbmdzKFBhZ2UqIHBhZ2UpCitzdGF0aWMgdm9pZCBzZXRM
b2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHlJbkFsbEZyYW1lcyhQYWdlKiBwYWdlKQogewotICAgIGZv
ciAoRnJhbWUqIGZyYW1lID0gcGFnZS0+bWFpbkZyYW1lKCk7IGZyYW1lOyBmcmFtZSA9IGZyYW1l
LT50cmVlKCktPnRyYXZlcnNlTmV4dCgpKSB7Ci0gICAgICAgIGZyYW1lLT5kb2N1bWVudCgpLT5j
YWNoZWRSZXNvdXJjZUxvYWRlcigpLT5zZXRJbWFnZXNFbmFibGVkKHBhZ2UtPnNldHRpbmdzKCkt
PmFyZUltYWdlc0VuYWJsZWQoKSk7CisgICAgZm9yIChGcmFtZSogZnJhbWUgPSBwYWdlLT5tYWlu
RnJhbWUoKTsgZnJhbWU7IGZyYW1lID0gZnJhbWUtPnRyZWUoKS0+dHJhdmVyc2VOZXh0KCkpCiAg
ICAgICAgIGZyYW1lLT5kb2N1bWVudCgpLT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpLT5zZXRBdXRv
TG9hZEltYWdlcyhwYWdlLT5zZXR0aW5ncygpLT5sb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHkoKSk7
Ci0gICAgfQogfQogCiAvLyBTZXRzIHRoZSBlbnRyeSBpbiB0aGUgZm9udCBtYXAgZm9yIHRoZSBn
aXZlbiBzY3JpcHQuIElmIGZhbWlseSBpcyB0aGUgZW1wdHkgc3RyaW5nLCByZW1vdmVzIHRoZSBl
bnRyeSBpbnN0ZWFkLgpAQCAtMjkxLDcgKzI4OSw3IEBAIFNldHRpbmdzOjpTZXR0aW5ncyhQYWdl
KiBwYWdlKQogICAgICwgbV93aW5kb3dGb2N1c1Jlc3RyaWN0ZWQodHJ1ZSkKICAgICAsIG1fZGlh
Z25vc3RpY0xvZ2dpbmdFbmFibGVkKGZhbHNlKQogICAgICwgbV9zY3JvbGxpbmdQZXJmb3JtYW5j
ZUxvZ2dpbmdFbmFibGVkKGZhbHNlKQotICAgICwgbV9zZXRJbWFnZUxvYWRpbmdTZXR0aW5nc1Rp
bWVyKHRoaXMsICZTZXR0aW5nczo6aW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lckZpcmVkKQorICAg
ICwgbV9sb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHlUaW1lcih0aGlzLCAmU2V0dGluZ3M6OmxvYWRz
SW1hZ2VzQXV0b21hdGljYWxseVRpbWVyRmlyZWQpCiAgICAgLCBtX2luY3JlbWVudGFsUmVuZGVy
aW5nU3VwcHJlc3Npb25UaW1lb3V0SW5TZWNvbmRzKGRlZmF1bHRJbmNyZW1lbnRhbFJlbmRlcmlu
Z1N1cHByZXNzaW9uVGltZW91dEluU2Vjb25kcykKIHsKICAgICAvLyBBIEZyYW1lIG1heSBub3Qg
aGF2ZSBiZWVuIGNyZWF0ZWQgeWV0LCBzbyB3ZSBpbml0aWFsaXplIHRoZSBBdG9taWNTdHJpbmcK
QEAgLTQ1NywxMiArNDU1LDEyIEBAIHZvaWQgU2V0dGluZ3M6OnNldExvYWRzSW1hZ2VzQXV0b21h
dGljYWxseShib29sIGxvYWRzSW1hZ2VzQXV0b21hdGljYWxseSkKICAgICAvLyBTdGFydGluZyB0
aGVzZSBsb2FkcyBzeW5jaHJvbm91c2x5IGlzIG5vdCBpbXBvcnRhbnQuICBCeSBwdXR0aW5nIGl0
IG9uIGEgMC1kZWxheSwgcHJvcGVybHkgY2xvc2luZyB0aGUgUGFnZSBjYW5jZWxzIHRoZW0KICAg
ICAvLyBiZWZvcmUgdGhleSBoYXZlIGEgY2hhbmNlIHRvIHJlYWxseSBzdGFydC4KICAgICAvLyBT
ZWUgaHR0cDovL3dlYmtpdC5vcmcvYi82MDU3MiBmb3IgbW9yZSBkaXNjdXNzaW9uLgotICAgIG1f
c2V0SW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9sb2Fk
c0ltYWdlc0F1dG9tYXRpY2FsbHlUaW1lci5zdGFydE9uZVNob3QoMCk7CiB9CiAKLXZvaWQgU2V0
dGluZ3M6OmltYWdlTG9hZGluZ1NldHRpbmdzVGltZXJGaXJlZChUaW1lcjxTZXR0aW5ncz4qKQor
dm9pZCBTZXR0aW5nczo6bG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5VGltZXJGaXJlZChUaW1lcjxT
ZXR0aW5ncz4qKQogewotICAgIHNldEltYWdlTG9hZGluZ1NldHRpbmdzKG1fcGFnZSk7CisgICAg
c2V0TG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5SW5BbGxGcmFtZXMobV9wYWdlKTsKIH0KIAogdm9p
ZCBTZXR0aW5nczo6c2V0TG9hZHNTaXRlSWNvbnNJZ25vcmluZ0ltYWdlTG9hZGluZ1NldHRpbmco
Ym9vbCBsb2Fkc1NpdGVJY29ucykKQEAgLTUwOCw5ICs1MDYsNiBAQCB2b2lkIFNldHRpbmdzOjpz
ZXRKYXZhRW5hYmxlZEZvckxvY2FsRmlsZXMoYm9vbCBpc0phdmFFbmFibGVkRm9yTG9jYWxGaWxl
cykKIHZvaWQgU2V0dGluZ3M6OnNldEltYWdlc0VuYWJsZWQoYm9vbCBhcmVJbWFnZXNFbmFibGVk
KQogewogICAgIG1fYXJlSW1hZ2VzRW5hYmxlZCA9IGFyZUltYWdlc0VuYWJsZWQ7Ci0KLSAgICAv
LyBTZWUgY29tbWVudCBpbiBzZXRMb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHkuCi0gICAgbV9zZXRJ
bWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKIH0KIAogdm9pZCBTZXR0
aW5nczo6c2V0TWVkaWFFbmFibGVkKGJvb2wgaXNNZWRpYUVuYWJsZWQpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRp
bmdzLmgKaW5kZXggNjI0N2Y4NTY0Y2QzNWRmYTc4NDczZmNlOWFjMjc0NjczZWRhNGFhMi4uNTVm
MmY3NDk4ZTg3MTcyNmY5MTViNWU4ZGY5ODY5OWI3MTUwYmI2OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGlu
Z3MuaApAQCAtODExLDggKzgxMSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICBi
b29sIG1fc2Nyb2xsaW5nUGVyZm9ybWFuY2VMb2dnaW5nRW5hYmxlZCA6IDE7CiAKLSAgICAgICAg
VGltZXI8U2V0dGluZ3M+IG1fc2V0SW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lcjsKLSAgICAgICAg
dm9pZCBpbWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyRmlyZWQoVGltZXI8U2V0dGluZ3M+Kik7Cisg
ICAgICAgIFRpbWVyPFNldHRpbmdzPiBtX2xvYWRzSW1hZ2VzQXV0b21hdGljYWxseVRpbWVyOwor
ICAgICAgICB2b2lkIGxvYWRzSW1hZ2VzQXV0b21hdGljYWxseVRpbWVyRmlyZWQoVGltZXI8U2V0
dGluZ3M+Kik7CiAgICAgICAgIAogICAgICAgICBkb3VibGUgbV9pbmNyZW1lbnRhbFJlbmRlcmlu
Z1N1cHByZXNzaW9uVGltZW91dEluU2Vjb25kczsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxTZXR0aW5ncy5jcHAKaW5kZXggZTA4OGZiY2UyNTNlMjZlYWY1OTcxMzNkN2UwZjE3
N2ExNTg5YWJiYi4uNzEwOGQ5Y2M1NTg1YzJmZmE2ZjRhYTI3ZmY5NjBiOTJkZDMyNDY5NyAxMDA3
NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwCkBAIC05OCw4ICs5
OCwxMCBAQCBJbnRlcm5hbFNldHRpbmdzOjpCYWNrdXA6OkJhY2t1cChQYWdlKiBwYWdlLCBTZXR0
aW5ncyogc2V0dGluZ3MpCiAjZW5kaWYKICAgICAsIG1fY2FuU3RhcnRNZWRpYShwYWdlLT5jYW5T
dGFydE1lZGlhKCkpCiAgICAgLCBtX29yaWdpbmFsTW9ja1Njcm9sbGJhcnNFbmFibGVkKHNldHRp
bmdzLT5tb2NrU2Nyb2xsYmFyc0VuYWJsZWQoKSkKKyNpZiBFTkFCTEUoSU5QVVRfVFlQRV9USU1F
X01VTFRJUExFX0ZJRUxEUykKKyAgICAvLyBGSVhNRTogVGhpcyBpcyBhIHdvcmthcm91bmQgZm9y
IEFwcGxlIFdpbmRvd3MgY3Jhc2guCiAgICAgLCBtX2xhbmdBdHRyaWJ1dGVBd2FyZUZvcm1Db250
cm9sVUlFbmFibGVkKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmxhbmdBdHRyaWJ1dGVBd2FyZUZv
cm1Db250cm9sVUlFbmFibGVkKCkpCi0gICAgLCBtX2ltYWdlc0VuYWJsZWQoc2V0dGluZ3MtPmFy
ZUltYWdlc0VuYWJsZWQoKSkKKyNlbmRpZgogewogfQogCkBAIC0xMzMsOCArMTM1LDkgQEAgdm9p
ZCBJbnRlcm5hbFNldHRpbmdzOjpCYWNrdXA6OnJlc3RvcmVUbyhQYWdlKiBwYWdlLCBTZXR0aW5n
cyogc2V0dGluZ3MpCiAjZW5kaWYKICAgICBwYWdlLT5zZXRDYW5TdGFydE1lZGlhKG1fY2FuU3Rh
cnRNZWRpYSk7CiAgICAgc2V0dGluZ3MtPnNldE1vY2tTY3JvbGxiYXJzRW5hYmxlZChtX29yaWdp
bmFsTW9ja1Njcm9sbGJhcnNFbmFibGVkKTsKKyNpZiBFTkFCTEUoSU5QVVRfVFlQRV9USU1FX01V
TFRJUExFX0ZJRUxEUykKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRMYW5nQXR0cmli
dXRlQXdhcmVGb3JtQ29udHJvbFVJRW5hYmxlZChtX2xhbmdBdHRyaWJ1dGVBd2FyZUZvcm1Db250
cm9sVUlFbmFibGVkKTsKLSAgICBzZXR0aW5ncy0+c2V0SW1hZ2VzRW5hYmxlZChtX2ltYWdlc0Vu
YWJsZWQpOworI2VuZGlmCiB9CiAKIEludGVybmFsU2V0dGluZ3MqIEludGVybmFsU2V0dGluZ3M6
OmZyb20oUGFnZSogcGFnZSkKQEAgLTY1MCwxMyArNjUzLDExIEBAIHZvaWQgSW50ZXJuYWxTZXR0
aW5nczo6c2V0U3RvcmFnZUJsb2NraW5nUG9saWN5KGNvbnN0IFN0cmluZyYgbW9kZSwgRXhjZXB0
aW9uQ29kCiAKIHZvaWQgSW50ZXJuYWxTZXR0aW5nczo6c2V0TGFuZ0F0dHJpYnV0ZUF3YXJlRm9y
bUNvbnRyb2xVSUVuYWJsZWQoYm9vbCBlbmFibGVkKQogeworI2lmIEVOQUJMRShJTlBVVF9UWVBF
X1RJTUVfTVVMVElQTEVfRklFTERTKQogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldExh
bmdBdHRyaWJ1dGVBd2FyZUZvcm1Db250cm9sVUlFbmFibGVkKGVuYWJsZWQpOwotfQotCi12b2lk
IEludGVybmFsU2V0dGluZ3M6OnNldEltYWdlc0VuYWJsZWQoYm9vbCBlbmFibGVkLCBFeGNlcHRp
b25Db2RlJiBlYykKLXsKLSAgICBJbnRlcm5hbFNldHRpbmdzR3VhcmRGb3JTZXR0aW5ncygpOwot
ICAgIHNldHRpbmdzKCktPnNldEltYWdlc0VuYWJsZWQoZW5hYmxlZCk7CisjZWxzZQorICAgIFVO
VVNFRF9QQVJBTShlbmFibGVkKTsKKyNlbmRpZgogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxTZXR0aW5ncy5oCmluZGV4IDBmOTRmYjI1ZjliOTE3ZWQ4ZGNjN2Q3ZTgzODFj
ZmJmNDVmMmU2MjEuLjJlODYyYjFhYjhkMTU4MjIyM2Y0MzM1YTgxMWI2Mzg2MDJmY2FhMWIgMTAw
NzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oCkBAIC04MCw4ICs4MCw5
IEBAIHB1YmxpYzoKICNlbmRpZgogICAgICAgICBib29sIG1fY2FuU3RhcnRNZWRpYTsKICAgICAg
ICAgYm9vbCBtX29yaWdpbmFsTW9ja1Njcm9sbGJhcnNFbmFibGVkOworI2lmIEVOQUJMRShJTlBV
VF9UWVBFX1RJTUVfTVVMVElQTEVfRklFTERTKQogICAgICAgICBib29sIG1fbGFuZ0F0dHJpYnV0
ZUF3YXJlRm9ybUNvbnRyb2xVSUVuYWJsZWQ7Ci0gICAgICAgIGJvb2wgbV9pbWFnZXNFbmFibGVk
OworI2VuZGlmCiAgICAgfTsKIAogICAgIHR5cGVkZWYgUmVmQ291bnRlZFN1cHBsZW1lbnQ8UGFn
ZSwgSW50ZXJuYWxTZXR0aW5ncz4gU3VwZXJUeXBlOwpAQCAtMTQ2LDggKzE0Nyw2IEBAIHB1Ymxp
YzoKICAgICB2b2lkIHNldE1lbW9yeUluZm9FbmFibGVkKGJvb2wsIEV4Y2VwdGlvbkNvZGUmKTsK
ICAgICB2b2lkIHNldFN0b3JhZ2VCbG9ja2luZ1BvbGljeShjb25zdCBTdHJpbmcmLCBFeGNlcHRp
b25Db2RlJik7CiAgICAgdm9pZCBzZXRMYW5nQXR0cmlidXRlQXdhcmVGb3JtQ29udHJvbFVJRW5h
YmxlZChib29sKTsKLSAgICB2b2lkIHNldEltYWdlc0VuYWJsZWQoYm9vbCBlbmFibGVkLCBFeGNl
cHRpb25Db2RlJik7Ci0KIHByaXZhdGU6CiAgICAgZXhwbGljaXQgSW50ZXJuYWxTZXR0aW5ncyhQ
YWdlKik7CiAgICAgdmlydHVhbCB2b2lkIGhvc3REZXN0cm95ZWQoKSBPVkVSUklERSB7IG1fcGFn
ZSA9IDA7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0
aW5ncy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsCmlu
ZGV4IGM3NDU1ZmUxNjQxNDBlNDg0NjQ3MTY4Y2QwYTQ3Yjg4MDFiYjNlYWEuLjhmOTdmODlmZmRm
N2Q1MWUwN2I1NjgwOTViZGJlNDk5NDAzMDc1MjQgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbFNldHRpbmdzLmlkbApAQCAtODEsNyArODEsNiBAQCBtb2R1bGUgd2luZG93IHsK
ICNlbmRpZgogICAgICAgICB2b2lkIHNldE1lbW9yeUluZm9FbmFibGVkKGluIGJvb2xlYW4gZW5h
YmxlZCkgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAgICAgICAgIHZvaWQgc2V0U3RvcmFnZUJsb2Nr
aW5nUG9saWN5KGluIERPTVN0cmluZyBwb2xpY3kpIHJhaXNlcyhET01FeGNlcHRpb24pOwotICAg
ICAgICB2b2lkIHNldEltYWdlc0VuYWJsZWQoaW4gYm9vbGVhbiBlbmFibGVkKSByYWlzZXMoRE9N
RXhjZXB0aW9uKTsKICAgICB9OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi93aW4v
V2ViS2l0Mi5kZWYgYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYKaW5kZXggOGFhNDAz
NzFmYWFlNzBiYzJmNTE5YTFkNDMzZDM5NTUxYWY5YWQ0ZS4uMjczYWZiNTYzOThhMmI0NGI2MzEx
NTI1NzQ5YWMwODdhODlmNTQxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvd2luL1dlYktp
dDIuZGVmCisrKyBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZgpAQCAtMjIyLDcgKzIy
Miw2IEBAIEVYUE9SVFMKICAgICAgICAgP3NldERPTUV4Y2VwdGlvbkBXZWJDb3JlQEBZQVhQQVZF
eGVjU3RhdGVASlNDQEBIQFoKICAgICAgICAgP3NldEZhbnRhc3lGb250RmFtaWx5QFNldHRpbmdz
QFdlYkNvcmVAQFFBRVhBQlZBdG9taWNTdHJpbmdAV1RGQEBXNFVTY3JpcHRDb2RlQEBAWgogICAg
ICAgICA/c2V0Rml4ZWRGb250RmFtaWx5QFNldHRpbmdzQFdlYkNvcmVAQFFBRVhBQlZBdG9taWNT
dHJpbmdAV1RGQEBXNFVTY3JpcHRDb2RlQEBAWgotICAgICAgICA/c2V0SW1hZ2VzRW5hYmxlZEBT
ZXR0aW5nc0BXZWJDb3JlQEBRQUVYX05AWgogICAgICAgICA/c2V0TW9ja1Njcm9sbGJhcnNFbmFi
bGVkQFNldHRpbmdzQFdlYkNvcmVAQFNBWF9OQFoKICAgICAgICAgP21vY2tTY3JvbGxiYXJzRW5h
YmxlZEBTZXR0aW5nc0BXZWJDb3JlQEBTQV9OWFoKICAgICAgICAgP3NldFBhZ2VTY2FsZUZhY3Rv
ckBQYWdlQFdlYkNvcmVAQFFBRVhNQUJWSW50UG9pbnRAMkBAWgpkaWZmIC0tZ2l0IGEvU291cmNl
L2F1dG90b29scy9zeW1ib2xzLmZpbHRlciBiL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0
ZXIKaW5kZXggMmFmN2U3NjA3ZmRmNDgwYjM3MzEzYzNlMmU0OGQxM2VlNTNhMTVkMi4uYjk4MTQ3
YzhlYzgyNzA5ZTc3YWYzZGZiNzgzNWEwMjJlYWQzMmY5NiAxMDA2NDQKLS0tIGEvU291cmNlL2F1
dG90b29scy9zeW1ib2xzLmZpbHRlcgorKysgYi9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmls
dGVyCkBAIC0xNDUsNyArMTQ1LDYgQEAgX1pON1dlYkNvcmUxNFNjcm9sbGFibGVBcmVhMjhzZXRT
Y3JvbGxPZmZzZXRGcm9tSW50ZXJuYWxzRVJLTlNfOEludFBvaW50RTsKIF9aTjdXZWJDb3JlMTBT
Y3JvbGxWaWV3MjNzZXRTY3JvbGxiYXJzU3VwcHJlc3NlZEViYjsKIF9aTjdXZWJDb3JlMTBTY3Jv
bGxWaWV3MjFzZXREZWxlZ2F0ZXNTY3JvbGxpbmdFYjsKIF9aTjdXZWJDb3JlNE5vZGUxNHJlbW92
ZWRMYXN0UmVmRXY7Ci1fWk43V2ViQ29yZThTZXR0aW5nczE2c2V0SW1hZ2VzRW5hYmxlZEViOwog
X1pON1dlYkNvcmU4U2V0dGluZ3MxOHNldEZpeGVkRm9udEZhbWlseUVSS04zV1RGMTJBdG9taWNT
dHJpbmdFMTFVU2NyaXB0Q29kZTsKIF9aTjdXZWJDb3JlOFNldHRpbmdzMThzZXRTZXJpZkZvbnRG
YW1pbHlFUktOM1dURjEyQXRvbWljU3RyaW5nRTExVVNjcmlwdENvZGU7CiBfWk43V2ViQ29yZThT
ZXR0aW5nczIwc2V0Q3Vyc2l2ZUZvbnRGYW1pbHlFUktOM1dURjEyQXRvbWljU3RyaW5nRTExVVNj
cmlwdENvZGU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggZGE5NmJiNDE3ZmYwMGE4ODJhMzM2YjE3MmQ3Y2Q3M2U1OWE4ZDE4
ZS4uNDU0MDczMDdiN2NhMzZhNDIxMzllZTYxMTIyZWJiMGRhMDc0M2M2YSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDI5IEBACisyMDEyLTA5LTE4ICBCbyBMaXUgIDxib2xpdUBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2ZXJ0IDEyODc4MCwgMTI4Njc2LCAxMjg2NDUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk3MDIyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSSBtYWRlIHRoZXNlIHJldmlzaW9ucyB0byBhZGQg
aW4tcGxhY2UgcmVsb2FkIGJlaGF2aW9yIHRvIEltYWdlc0VuYWJsZWQgc2V0dGluZy4KKyAgICAg
ICAgUmV2ZXJ0aW5nIHRoaXMgZm9yIG5vdyBkdWUgdG8gdGhlbSBjYXVzaW5nIHBlcmZvcm1hbmNl
IHJlZ3Jlc3Npb24gaW4KKwkJCQljaHJvbWl1bSwgcG9zc2libHkgY2F1c2VkIGJ5IGluY3JlYXNl
ZCBjYWxscyB0bworCQkJCVBlcm1pc3Npb25DbGllbnQ6OmltYWdlQWxsb3dlZC4KKworICAgICAg
ICAqIGZhc3QvbG9hZGVyL2Rpc3BsYXktaW1hZ2UtdW5zZXQtYWxsb3dzLWNhY2hlZC1pbWFnZS1s
b2FkLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2xvYWRlci9kaXNwbGF5
LWltYWdlLXVuc2V0LWFsbG93cy1jYWNoZWQtaW1hZ2UtbG9hZC5odG1sOiBSZW1vdmVkLgorICAg
ICAgICAqIGZhc3QvbG9hZGVyL2Rpc3BsYXktaW1hZ2UtdW5zZXQtY2FuLWJsb2NrLWltYWdlLWFu
ZC1jYW4tcmVsb2FkLWluLXBsYWNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBm
YXN0L2xvYWRlci9kaXNwbGF5LWltYWdlLXVuc2V0LWNhbi1ibG9jay1pbWFnZS1hbmQtY2FuLXJl
bG9hZC1pbi1wbGFjZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvbG9hZGVyL2ltYWdl
cy1lbmFibGVkLXVuc2V0LWNhbi1ibG9jay1pbWFnZS1hbmQtY2FuLXJlbG9hZC1pbi1wbGFjZS1l
eHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9sb2FkZXIvaW1hZ2VzLWVuYWJs
ZWQtdW5zZXQtY2FuLWJsb2NrLWltYWdlLWFuZC1jYW4tcmVsb2FkLWluLXBsYWNlLmh0bWw6IFJl
bW92ZWQuCisgICAgICAgICogZmFzdC9sb2FkZXIvcmVzb3VyY2VzL2ltYWdlMS5odG1sOiBSZW1v
dmVkLgorICAgICAgICAqIGZhc3QvbG9hZGVyL3Jlc291cmNlcy9pbWFnZTIuaHRtbDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL3Blcm1pc3Npb25jbGll
bnQvaW1hZ2UtcGVybWlzc2lvbnMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2No
cm9taXVtL3Blcm1pc3Npb25jbGllbnQvaW1hZ2UtcGVybWlzc2lvbnMtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL3Blcm1pc3Npb25jbGllbnQvaW1hZ2UtcGVybWlz
c2lvbnMuaHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9wZXJtaXNzaW9uY2xpZW50
L3Jlc291cmNlcy9pbWFnZS5odG1sOgorICAgICAgICAqIHBsYXRmb3JtL3drMi9Ta2lwcGVkOgor
CiAyMDEyLTA5LTE4ICBSYXBoYWVsIEt1Ym8gZGEgQ29zdGEgIDxyYXBoYWVsLmt1Ym8uZGEuY29z
dGFAaW50ZWwuY29tPgogCiAgICAgICAgIFtFRkxdIEdhcmRlbmluZy4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvbG9hZGVyL2Rpc3BsYXktaW1hZ2UtdW5zZXQtYWxsb3dzLWNhY2hlZC1p
bWFnZS1sb2FkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL2Rpc3BsYXkt
aW1hZ2UtdW5zZXQtYWxsb3dzLWNhY2hlZC1pbWFnZS1sb2FkLWV4cGVjdGVkLnR4dApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmUxNWFhYzBjNTE1ZTgwNTZhYjNjY2M5NTE5MDM3MzMy
OGY4MzdmOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2xvYWRlci9kaXNwbGF5LWltYWdlLXVuc2V0LWFsbG93cy1jYWNoZWQt
aW1hZ2UtbG9hZC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLVRl
c3QgdGhhdCBXZWJLaXREaXNwbGF5SW1hZ2VzS2V5IHVuc2V0IGRvZXMgbm90IGJsb2NrIGltYWdl
IGluIGNhY2hlLgotUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvZGlz
cGxheS1pbWFnZS11bnNldC1hbGxvd3MtY2FjaGVkLWltYWdlLWxvYWQuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvbG9hZGVyL2Rpc3BsYXktaW1hZ2UtdW5zZXQtYWxsb3dzLWNhY2hlZC1pbWFnZS1s
b2FkLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA4ZDcwM2Q1MDRlYWE0NWIz
ZjRlZmZlZDBiNDdiNDc3ZTQ4MThmZDcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvZGlzcGxheS1pbWFnZS11bnNl
dC1hbGxvd3MtY2FjaGVkLWltYWdlLWxvYWQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDM5ICsw
LDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0PgotLy8gT3BlbnMgdHdvIHdpbmRvd3MgY29u
dGFpbmluZyB0aGUgc2FtZSBpbWFnZS4gRmlyc3Qgd2luZG93IHdpbGwgcG9wdWxhdGUgdGhlIGNh
Y2hlIHdpdGgKLS8vIGltYWdlLiBUaGUgc2Vjb25kIHdpbmRvdyBpcyBvcGVuZWQgd2l0aCBXZWJL
aXREaXNwbGF5SW1hZ2VzS2V5IHVuc2V0LCBidXQgaW1hZ2Ugc2hvdWxkCi0vLyBzdGlsbCBsb2Fk
IHNpbmNlIGl0IGlzIGluIGNhY2hlLgotZnVuY3Rpb24gcnVuVGVzdCgpCi17Ci0gICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAg
ICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRD
YW5PcGVuV2luZG93cygpOwotICAgICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgi
V2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKLQotICAgICAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgncmVzdWx0JykuaW5uZXJIVE1MID0gJ0ZBSUxVUkU6IGltYWdlMS5o
dG1sIG5vdCBsb2FkZWQnOwotICAgICAgICB3aW5kb3cub3BlbigicmVzb3VyY2VzL2ltYWdlMS5o
dG1sIiwgIl9ibGFuayIpOwotICAgIH0KLX0KLQotZnVuY3Rpb24gaW1hZ2UxTG9hZGVkKCkKLXsK
LSAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgnV2ViS2l0RGlzcGxheUltYWdlc0tl
eScsIDApOwotICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHQnKS5pbm5lckhUTUwg
PSAnRkFJTFVSRTogaW1hZ2UyLmh0bWwgbm90IGxvYWRlZCc7Ci0gICAgd2luZG93LnNldFRpbWVv
dXQoZnVuY3Rpb24oKSB7d2luZG93Lm9wZW4oInJlc291cmNlcy9pbWFnZTIuaHRtbCIsICJfYmxh
bmsiKTt9LCAwKTsKLX0KLQotZnVuY3Rpb24gaW1hZ2UyTG9hZGVkKCkKLXsKLSAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgncmVzdWx0JykuaW5uZXJIVE1MID0gJ1BBU1MnOwotCQl0ZXN0UnVu
bmVyLm5vdGlmeURvbmUoKTsKLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJy
dW5UZXN0KCkiPgotVGVzdCB0aGF0IFdlYktpdERpc3BsYXlJbWFnZXNLZXkgdW5zZXQgZG9lcyBu
b3QgYmxvY2sgaW1hZ2UgaW4gY2FjaGUuCi08ZGl2IGlkPSJyZXN1bHQiPkZBSUxVUkU6IFRlc3Qg
c2NyaXB0IGRpZG4ndCBydW4uPC9kaXY+Ci08L2JvZHk+Ci08L2h0bWw+Ci0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL2Rpc3BsYXktaW1hZ2UtdW5zZXQtY2FuLWJsb2NrLWlt
YWdlLWFuZC1jYW4tcmVsb2FkLWluLXBsYWNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvbG9hZGVyL2Rpc3BsYXktaW1hZ2UtdW5zZXQtY2FuLWJsb2NrLWltYWdlLWFuZC1jYW4tcmVs
b2FkLWluLXBsYWNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
N2E5ZWY1MzQ3OWI4YjVhYTRiNDY0ZjY1N2YyYWNmN2U1YmI0NDdkMi4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9k
aXNwbGF5LWltYWdlLXVuc2V0LWNhbi1ibG9jay1pbWFnZS1hbmQtY2FuLXJlbG9hZC1pbi1wbGFj
ZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLVRlc3QgdGhhdCBE
aXNwbGF5SW1hZ2VzIGRpc2FibGVkIGNhbiBibG9jayBodHRwIGltYWdlIGFuZCBjYW4gYmUgcmVs
b2FkZWQgaW4tcGxhY2Ugd2hlbiB0b2dnbGVkLgotU1VDQ0VTUwotCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2xvYWRlci9kaXNwbGF5LWltYWdlLXVuc2V0LWNhbi1ibG9jay1pbWFnZS1h
bmQtY2FuLXJlbG9hZC1pbi1wbGFjZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvZGlz
cGxheS1pbWFnZS11bnNldC1jYW4tYmxvY2staW1hZ2UtYW5kLWNhbi1yZWxvYWQtaW4tcGxhY2Uu
aHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzEyZjUwOWQ1NDNiN2E1YTdkNDdk
MTkxYjc4ODY2M2U2ZDI2MTk3Ny4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9kaXNwbGF5LWltYWdlLXVuc2V0LWNh
bi1ibG9jay1pbWFnZS1hbmQtY2FuLXJlbG9hZC1pbi1wbGFjZS5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsNDcgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQ+Ci0vLyBTZXR0aW5nIFdl
YktpdERpc3BsYXlJbWFnZXNLZXkgaXMgYXN5bmNocm9ub3VzLCBzbyB1c2luZyBxdWV1ZVJlbG9h
ZCBhbmQgc2V0SW50ZXJ2YWwgdG8gY2hlY2sgd2hlbiB0aGUgc2V0dGluZyBhY3R1YWxseSB0YWtl
IGVmZmVjdC4KLQotdmFyIGludGVydmFsSWQ7Ci12YXIgaW1hZ2VPbmxvYWRGaXJlZCA9IDA7Ci0K
LWlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwot
ICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0SW1hZ2VzRW5hYmxlZCh0cnVlKTsKLSAg
ICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgnV2ViS2l0RGlzcGxheUltYWdlc0tleScs
IDApOwotICAgIHRlc3RSdW5uZXIucXVldWVSZWxvYWQoKTsKLX0KLQotZnVuY3Rpb24gcnVuVGVz
dCgpCi17Ci0gICAgdmFyIGltYWdlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ltYWdlJyk7
Ci0gICAgaWYgKGltYWdlLm5hdHVyYWxIZWlnaHQgIT0gMCB8fCBpbWFnZS5uYXR1cmFsV2lkdGgg
IT0gMCB8fCBpbWFnZU9ubG9hZEZpcmVkICE9IDApIHsKLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ3Jlc3VsdCcpLmlubmVySFRNTCA9ICdGQUlMVVJFOiBJbWFnZSBzaG91bGQgbm90
IGJlIGxvYWRlZCB3aGVuIERpc3BsYXlJbWFnZSBpcyB1bnNldCc7Ci0gICAgICAgIHJldHVybjsK
LSAgICB9Ci0KLSAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgnV2ViS2l0RGlzcGxh
eUltYWdlc0tleScsIDEpOwotICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHQnKS5p
bm5lckhUTUwgPSAnRkFJTFVSRTogSW1hZ2Ugc2hvdWxkIHJlbG9hZCBpbi1wbGFjZSB3aGVuIERp
c3BhbHlJbWFnZSBpcyBjaGFuZ2VzIGZyb20gdW5zZXQgdG8gc2V0JzsKLSAgICB0ZXN0UnVubmVy
LndhaXRVbnRpbERvbmUoKTsKLSAgICBpbnRlcnZhbElkID0gd2luZG93LnNldEludGVydmFsKHJ1
blRlc3RSZXN0LCAxMCk7Ci19Ci0KLWZ1bmN0aW9uIHJ1blRlc3RSZXN0KCkKLXsKLSAgICB2YXIg
aW1hZ2UgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW1hZ2UnKTsKLSAgICBpZiAoaW1hZ2Uu
bmF0dXJhbEhlaWdodCA9PSAzMyAmJiBpbWFnZS5uYXR1cmFsV2lkdGggPT0gMzcgJiYgaW1hZ2VP
bmxvYWRGaXJlZCA9PSAxKSB7Ci0gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1
bHQnKS5pbm5lckhUTUwgPSAnU1VDQ0VTUyc7Ci0gICAgICAgIHdpbmRvdy5jbGVhckludGVydmFs
KGludGVydmFsSWQpOwotICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9Ci19
Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLSAgVGVzdCB0
aGF0IERpc3BsYXlJbWFnZXMgZGlzYWJsZWQgY2FuIGJsb2NrIGh0dHAgaW1hZ2UgYW5kIGNhbiBi
ZSByZWxvYWRlZCBpbi1wbGFjZSB3aGVuIHRvZ2dsZWQuCi0gIDxkaXYgaWQ9InJlc3VsdCI+RkFJ
TFVSRTogVGVzdCBzY3JpcHQgZGlkbid0IHJ1bi48L2Rpdj4KLSAgPGltZyBpZD0iaW1hZ2UiIHNy
Yz0iLi4vaW1hZ2VzL3Jlc291cmNlcy9vdmFsLnBuZyIgb25sb2FkPSJpbWFnZU9ubG9hZEZpcmVk
PTE7Ij4KLTwvYm9keT4KLTwvaHRtbD4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9s
b2FkZXIvaW1hZ2VzLWVuYWJsZWQtdW5zZXQtY2FuLWJsb2NrLWltYWdlLWFuZC1jYW4tcmVsb2Fk
LWluLXBsYWNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL2ltYWdlcy1l
bmFibGVkLXVuc2V0LWNhbi1ibG9jay1pbWFnZS1hbmQtY2FuLXJlbG9hZC1pbi1wbGFjZS1leHBl
Y3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk1MWQ0NjAxY2NjM2NhMThk
OGNmZDVhOTY5NzgxMTFmZmIwYzYwMjAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvaW1hZ2VzLWVuYWJsZWQtdW5z
ZXQtY2FuLWJsb2NrLWltYWdlLWFuZC1jYW4tcmVsb2FkLWluLXBsYWNlLWV4cGVjdGVkLnR4dAor
KysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotVGVzdCB0aGF0IEVuYWJsZUltYWdlcyB1bnNl
dCBjYW4gYmxvY2sgaW1hZ2UgYW5kIGNhbiBiZSByZWxvYWRlZCBpbi1wbGFjZSB3aGVuIHRvZ2ds
ZWQuCi1TVUNDRVNTCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL2ltYWdl
cy1lbmFibGVkLXVuc2V0LWNhbi1ibG9jay1pbWFnZS1hbmQtY2FuLXJlbG9hZC1pbi1wbGFjZS5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvaW1hZ2VzLWVuYWJsZWQtdW5zZXQtY2FuLWJs
b2NrLWltYWdlLWFuZC1jYW4tcmVsb2FkLWluLXBsYWNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDNmNDhlNjI4ZGRkNjBkNWJhZmEyYjE0ZjA4MzYwYjRiNmU2YTY2M2MuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9sb2FkZXIvaW1hZ2VzLWVuYWJsZWQtdW5zZXQtY2FuLWJsb2NrLWltYWdlLWFuZC1jYW4t
cmVsb2FkLWluLXBsYWNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0NyArMCwwIEBACi08aHRt
bD4KLTxoZWFkPgotPHNjcmlwdD4KLS8vIFNldHRpbmcgSW1hZ2VzRW5hYmxlZCBpcyBhc3luY2hy
b25vdXMsIHNvIHVzaW5nIHF1ZXVlUmVsb2FkIGFuZCBzZXRJbnRlcnZhbCB0byBjaGVjayB3aGVu
IHRoZSBzZXR0aW5nIGFjdHVhbGx5IHRha2UgZWZmZWN0LgotCi12YXIgaW50ZXJ2YWxJZDsKLXZh
ciBpbWFnZU9ubG9hZEZpcmVkID0gMDsKLQotaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAg
dGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVu
Y2UoJ1dlYktpdERpc3BsYXlJbWFnZXNLZXknLCAxKTsKLSAgICB3aW5kb3cuaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEltYWdlc0VuYWJsZWQoZmFsc2UpOwotICAgIHRlc3RSdW5uZXIucXVldWVSZWxv
YWQoKTsKLX0KLQotZnVuY3Rpb24gcnVuVGVzdCgpCi17Ci0gICAgdmFyIGltYWdlID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ2ltYWdlJyk7Ci0gICAgaWYgKGltYWdlLm5hdHVyYWxIZWlnaHQg
IT0gMCB8fCBpbWFnZS5uYXR1cmFsV2lkdGggIT0gMCB8fCBpbWFnZU9ubG9hZEZpcmVkICE9IDAp
IHsKLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdCcpLmlubmVySFRNTCA9
ICdGQUlMVVJFOiBJbWFnZSBzaG91bGQgbm90IGJlIGxvYWRlZCB3aGVuIEltYWdlc0VuYWJsZWQg
aXMgdW5zZXQnOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgd2luZG93LmludGVybmFs
cy5zZXR0aW5ncy5zZXRJbWFnZXNFbmFibGVkKHRydWUpOwotICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdyZXN1bHQnKS5pbm5lckhUTUwgPSAnRkFJTFVSRTogSW1hZ2Ugc2hvdWxkIHJlbG9h
ZCBpbi1wbGFjZSB3aGVuIEltYWdlc0VuYWJsZWQgaXMgY2hhbmdlcyBmcm9tIHVuc2V0IHRvIHNl
dCc7Ci0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgaW50ZXJ2YWxJZCA9IHdp
bmRvdy5zZXRJbnRlcnZhbChydW5UZXN0UmVzdCwgMTApOwotfQotCi1mdW5jdGlvbiBydW5UZXN0
UmVzdCgpCi17Ci0gICAgdmFyIGltYWdlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ltYWdl
Jyk7Ci0gICAgaWYgKGltYWdlLm5hdHVyYWxIZWlnaHQgPT0gMzMgJiYgaW1hZ2UubmF0dXJhbFdp
ZHRoID09IDM3IHx8IGltYWdlT25sb2FkRmlyZWQgPT0gMSkgewotICAgICAgICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgncmVzdWx0JykuaW5uZXJIVE1MID0gJ1NVQ0NFU1MnOwotICAgICAgICB3
aW5kb3cuY2xlYXJJbnRlcnZhbChpbnRlcnZhbElkKTsKLSAgICAgICAgdGVzdFJ1bm5lci5ub3Rp
ZnlEb25lKCk7Ci0gICAgfQotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1
blRlc3QoKSI+Ci0gIFRlc3QgdGhhdCBFbmFibGVJbWFnZXMgdW5zZXQgY2FuIGJsb2NrIGltYWdl
IGFuZCBjYW4gYmUgcmVsb2FkZWQgaW4tcGxhY2Ugd2hlbiB0b2dnbGVkLgotICA8ZGl2IGlkPSJy
ZXN1bHQiPkZBSUxVUkU6IFRlc3Qgc2NyaXB0IGRpZG4ndCBydW4uPC9kaXY+Ci0gIDxpbWcgaWQ9
ImltYWdlIiBzcmM9Ii4uL2ltYWdlcy9yZXNvdXJjZXMvb3ZhbC5wbmciIG9ubG9hZD0iaW1hZ2VP
bmxvYWRGaXJlZD0xOyI+Ci08L2JvZHk+Ci08L2h0bWw+Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvbG9hZGVyL3Jlc291cmNlcy9pbWFnZTEuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
bG9hZGVyL3Jlc291cmNlcy9pbWFnZTEuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggY2Q2OWRjM2MyYTBkNmExNWUwODk2Mzc5MTAzMjU0ZjVlYWEzNGRjMS4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2xvYWRl
ci9yZXNvdXJjZXMvaW1hZ2UxLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLTxo
dG1sPgotPGJvZHk+Ci0gIDxpbWcgc3JjPSIuLi8uLi9pbWFnZXMvcmVzb3VyY2VzL292YWwucG5n
IiBvbmxvYWQ9IndpbmRvdy5vcGVuZXIuaW1hZ2UxTG9hZGVkKCk7Ij4KLTwvYm9keT4KLTwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL3Jlc291cmNlcy9pbWFnZTIu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL3Jlc291cmNlcy9pbWFnZTIuaHRtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzAzN2ZmZjBjZTY1Njc3N2NjMDJlOGFlNmNjODFj
ZjZlYTQ0MmFhYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9yZXNvdXJjZXMvaW1hZ2UyLmh0bWwKKysrIC9kZXYv
bnVsbApAQCAtMSw1ICswLDAgQEAKLTxodG1sPgotPGJvZHk+Ci0gIDxpbWcgc3JjPSIuLi8uLi9p
bWFnZXMvcmVzb3VyY2VzL292YWwucG5nIiBvbmxvYWQ9IndpbmRvdy5vcGVuZXIuaW1hZ2UyTG9h
ZGVkKCk7Ij4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL2h0dHAvdGVzdHMvcGVybWlzc2lvbmNsaWVudC9pbWFnZS1wZXJtaXNzaW9u
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3Rz
L3Blcm1pc3Npb25jbGllbnQvaW1hZ2UtcGVybWlzc2lvbnMtZXhwZWN0ZWQudHh0CmluZGV4IGU3
Y2FhOWFmNjIzYTllZDI0MDk5NzI3MjZiZWEyODBiZDRiMWYzYzkuLjVjY2FjNGFiZWY0YTg2YjI2
MDk1ZmQ2MmFlZmY3NTA5ZWM4MjBjM2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL2h0dHAvdGVzdHMvcGVybWlzc2lvbmNsaWVudC9pbWFnZS1wZXJtaXNzaW9ucy1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vaHR0cC90ZXN0
cy9wZXJtaXNzaW9uY2xpZW50L2ltYWdlLXBlcm1pc3Npb25zLWV4cGVjdGVkLnR4dApAQCAtMSw1
ICsxLDQgQEAKIFBFUk1JU1NJT04gQ0xJRU5UOiBhbGxvd0ltYWdlKGh0dHA6Ly8xMjcuMC4wLjE6
ODAwMC9wZXJtaXNzaW9uY2xpZW50L3Jlc291cmNlcy9yZWRpci5waHA/dXJsPWh0dHA6Ly8xMjcu
MC4wLjE6ODAwMC9wZXJtaXNzaW9uY2xpZW50L3Jlc291cmNlcy9ib3N0b24uZ2lmKTogdHJ1ZQot
UEVSTUlTU0lPTiBDTElFTlQ6IGFsbG93SW1hZ2UoaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Blcm1p
c3Npb25jbGllbnQvcmVzb3VyY2VzL3JlZGlyLnBocD91cmw9aHR0cDovLzEyNy4wLjAuMTo4MDAw
L3Blcm1pc3Npb25jbGllbnQvcmVzb3VyY2VzL2Jvc3Rvbi5naWYpOiB0cnVlCiBQRVJNSVNTSU9O
IENMSUVOVDogYWxsb3dJbWFnZShodHRwOi8vMTI3LjAuMC4xOjgwMDAvcGVybWlzc2lvbmNsaWVu
dC9yZXNvdXJjZXMvYm9zdG9uLmdpZik6IHRydWUKIFRoaXMgdGVzdCBjaGVja3MgdGhhdCBhbGwg
VVJMcyBpbiBhIHJlZGlyZWN0IGNoYWluIGFyZSBwYXNzZWQgdG8gdGhlIFBlcm1pc3Npb25DbGll
bnQuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Blcm1pc3Np
b25jbGllbnQvaW1hZ2UtcGVybWlzc2lvbnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vcGVybWlzc2lvbmNsaWVudC9pbWFnZS1wZXJtaXNzaW9ucy1leHBlY3Rl
ZC50eHQKaW5kZXggMTgxZGM4MTA3NzM5ZTVmZDlmNTAzZGJiZGM3ZTcwMmQ5YzUwMWQ2Mi4uNjBl
NzZhNTIzYWRmMjY0NDY1MzM1ODI5NmY3Y2I5ZWI0MzhkM2Y5ZiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vcGVybWlzc2lvbmNsaWVudC9pbWFnZS1wZXJtaXNzaW9u
cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vcGVybWlz
c2lvbmNsaWVudC9pbWFnZS1wZXJtaXNzaW9ucy1leHBlY3RlZC50eHQKQEAgLTEsMTQgKzEsMTAg
QEAKIFBFUk1JU1NJT04gQ0xJRU5UOiBhbGxvd0ltYWdlKChmaWxlIHRlc3QpOnBsYXRmb3JtL2No
cm9taXVtL3Blcm1pc3Npb25jbGllbnQvcmVzb3VyY2VzL2Jvc3Rvbi5naWYpOiB0cnVlCi1QRVJN
SVNTSU9OIENMSUVOVDogYWxsb3dJbWFnZSgoZmlsZSB0ZXN0KTpwbGF0Zm9ybS9jaHJvbWl1bS9w
ZXJtaXNzaW9uY2xpZW50L3Jlc291cmNlcy9ib3N0b24uZ2lmKTogdHJ1ZQotUEVSTUlTU0lPTiBD
TElFTlQ6IGFsbG93SW1hZ2UoKGZpbGUgdGVzdCk6cGxhdGZvcm0vY2hyb21pdW0vcGVybWlzc2lv
bmNsaWVudC9yZXNvdXJjZXMvYm9zdG9uLmdpZj9ub2NhY2hlKTogZmFsc2UKIFBFUk1JU1NJT04g
Q0xJRU5UOiBhbGxvd0ltYWdlKChmaWxlIHRlc3QpOnBsYXRmb3JtL2Nocm9taXVtL3Blcm1pc3Np
b25jbGllbnQvcmVzb3VyY2VzL2Jvc3Rvbi5naWY/bm9jYWNoZSk6IGZhbHNlCiBQRVJNSVNTSU9O
IENMSUVOVDogYWxsb3dJbWFnZSgoZmlsZSB0ZXN0KTpwbGF0Zm9ybS9jaHJvbWl1bS9wZXJtaXNz
aW9uY2xpZW50L3Jlc291cmNlcy9ib3N0b24uZ2lmKTogZmFsc2UKIFBFUk1JU1NJT04gQ0xJRU5U
OiBhbGxvd0ltYWdlKChmaWxlIHRlc3QpOnBsYXRmb3JtL2Nocm9taXVtL3Blcm1pc3Npb25jbGll
bnQvcmVzb3VyY2VzL2Jvc3Rvbi5naWYpOiBmYWxzZQotUEVSTUlTU0lPTiBDTElFTlQ6IGFsbG93
SW1hZ2UoKGZpbGUgdGVzdCk6cGxhdGZvcm0vY2hyb21pdW0vcGVybWlzc2lvbmNsaWVudC9yZXNv
dXJjZXMvYm9zdG9uLmdpZik6IGZhbHNlCi1QRVJNSVNTSU9OIENMSUVOVDogYWxsb3dJbWFnZSgo
ZmlsZSB0ZXN0KTpwbGF0Zm9ybS9jaHJvbWl1bS9wZXJtaXNzaW9uY2xpZW50L3Jlc291cmNlcy9i
b3N0b24uZ2lmKTogZmFsc2UKLVBFUk1JU1NJT04gQ0xJRU5UOiBhbGxvd0ltYWdlKChmaWxlIHRl
c3QpOnBsYXRmb3JtL2Nocm9taXVtL3Blcm1pc3Npb25jbGllbnQvcmVzb3VyY2VzL2Jvc3Rvbi5n
aWYpOiBmYWxzZQotUEVSTUlTU0lPTiBDTElFTlQ6IGFsbG93SW1hZ2UoKGZpbGUgdGVzdCk6cGxh
dGZvcm0vY2hyb21pdW0vcGVybWlzc2lvbmNsaWVudC9yZXNvdXJjZXMvYm9zdG9uLmdpZik6IGZh
bHNlCiAKIAogUEFTUzogZmlyc3QgaW1hZ2UgbG9hZGVkCitQQVNTOiBlcnJvciBldmVudCBmb3Ig
bm90IGNhY2hlZCBpbWFnZQorUEFTUzogZXJyb3IgZXZlbnQgZm9yIGltYWdlIGZyb20gY2FjaGUK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vcGVybWlzc2lvbmNs
aWVudC9pbWFnZS1wZXJtaXNzaW9ucy5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vcGVybWlzc2lvbmNsaWVudC9pbWFnZS1wZXJtaXNzaW9ucy5odG1sCmluZGV4IGY1N2EzYjcw
NzA0MzMwOWMyZmFiMmZmOTJjM2U5ZTJjNmU0MTk2NDcuLjdiNWUyYzU3NWM5ODk3NGFjMDhmODdl
OWY4YzEyMDcxMGFkYmZlZjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL3Blcm1pc3Npb25jbGllbnQvaW1hZ2UtcGVybWlzc2lvbnMuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9wZXJtaXNzaW9uY2xpZW50L2ltYWdlLXBlcm1pc3Npb25z
Lmh0bWwKQEAgLTEsOSArMSw2IEBACiA8aHRtbD4KIDxoZWFkPgogPHNjcmlwdD4KLS8vIEJsb2Nr
ZWQgaW1hZ2VzIGNhbiBiZSByZWxvYWRlZCwgc28gbmVpdGhlciBvbmxvYWQgbm9yIG9uZXJyb3Ig
aXMgY2FsbGVkLgotLy8gT25seSBjaGVjayBoZXJlIHRoYXQgb25sb2FkIGlzIG5ldmVyIGNhbGxl
ZCB3aGVuIGltYWdlIGlzIGJsb2NrZWQuCi0KIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAg
IHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAgIHRlc3RSdW5uZXIuZHVtcFBlcm1pc3Npb25D
bGllbnRDYWxsYmFja3MoKTsKQEAgLTI0LDEyICsyMSwxNCBAQCBmdW5jdGlvbiBsb2FkZWQoKQog
CiAgICAgLy8gTG9hZCBhbiBpbWFnZSBub3QgaW4gY2FjaGUuCiAgICAgdmFyIGltZyA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoJ2ltZycpOworICAgIGltZy5vbmVycm9yID0gZnVuY3Rpb24gKCkg
eyBsb2coIlBBU1M6IGVycm9yIGV2ZW50IGZvciBub3QgY2FjaGVkIGltYWdlIik7IH0KICAgICBp
bWcub25sb2FkID0gZnVuY3Rpb24gKCkgeyBsb2coIkZBSUw6IG5vdCBjYWNoZWQgaW1hZ2UgbG9h
ZGVkIik7IH0KICAgICBpbWcuc3JjID0gInJlc291cmNlcy9ib3N0b24uZ2lmP25vY2FjaGUiOwog
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbWciKS5hcHBlbmRDaGlsZChpbWcpOwogCiAg
ICAgLy8gTG9hZCBhbiBpbWFnZSBmcm9tIGNhY2hlLgogICAgIHZhciBpbWdGcm9tQ2FjaGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbWcnKTsKKyAgICBpbWdGcm9tQ2FjaGUub25lcnJvciA9
IGZ1bmN0aW9uICgpIHsgbG9nKCJQQVNTOiBlcnJvciBldmVudCBmb3IgaW1hZ2UgZnJvbSBjYWNo
ZSIpOyB9CiAgICAgaW1nRnJvbUNhY2hlLm9ubG9hZCA9IGZ1bmN0aW9uICgpIHsgbG9nKCJGQUlM
OiBpbWFnZSBmcm9tIGNhY2hlIGxvYWRlZCIpOyB9CiAgICAgaW1nRnJvbUNhY2hlLnNyYyA9ICJy
ZXNvdXJjZXMvYm9zdG9uLmdpZiI7CiAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImltZyIp
LmFwcGVuZENoaWxkKGltZ0Zyb21DYWNoZSk7CkBAIC00Miw3ICs0MSw3IEBAIGZ1bmN0aW9uIGxv
YWRlZCgpCiA8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgotPGltZyBzcmM9InJlc291cmNlcy9i
b3N0b24uZ2lmIiBvbmxvYWQ9ImxvYWRlZCgpIj4KKzxpbWcgc3JjPSJyZXNvdXJjZXMvYm9zdG9u
LmdpZiIgb25sb2FkPSJsb2FkZWQoKSIgb25lcnJvcj0ibG9nKCdGQUlMOiBlcnJvciBldmVudCBm
b3IgZmlyc3QgaW1hZ2UnKSI+CiA8ZGl2IGlkPSJpbWciPjwvZGl2PgogPGRpdiBpZD0icmVzdWx0
cyI+PC9kaXY+CiA8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9wZXJtaXNzaW9uY2xpZW50L3Jlc291cmNlcy9pbWFnZS5odG1sIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vcGVybWlzc2lvbmNsaWVudC9yZXNvdXJjZXMvaW1hZ2UuaHRtbApp
bmRleCAyMzk3NzE3MTAxZGVkNDQwYTMyOTU1ODI2ZTg0MWNkMWNkNjIzZjk3Li5lMmFkZmUzZjBi
NjIxYWE4ZDlmZjRlMTkwYzkwMjIzMDVjYzA3MGViIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9wZXJtaXNzaW9uY2xpZW50L3Jlc291cmNlcy9pbWFnZS5odG1sCisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Blcm1pc3Npb25jbGllbnQvcmVzb3Vy
Y2VzL2ltYWdlLmh0bWwKQEAgLTgsNyArOCw3IEBAIGZ1bmN0aW9uIGxvZyhhKQogPC9zY3JpcHQ+
CiA8L2hlYWQ+CiA8Ym9keT4KLTxpbWcgc3JjPSJib3N0b24uZ2lmIiBvbmxvYWQ9ImxvZygnRkFJ
TDogbG9hZCBldmVudCBmb3IgaWZyYW1lZCBpbWFnZScpIj4KKzxpbWcgc3JjPSJib3N0b24uZ2lm
IiBvbmxvYWQ9ImxvZygnRkFJTDogbG9hZCBldmVudCBmb3IgaWZyYW1lZCBpbWFnZSkiIG9uZXJy
b3I9ImxvZygnRkFJTDogZXJyb3IgZXZlbnQgZm9yIGlmcmFtZWQgaW1hZ2UnKSI+CiA8ZGl2IGlk
PSJyZXN1bHRzIj48L2Rpdj4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL3drMi9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1NraXBw
ZWQKaW5kZXggYzFkYWIyN2E0YTY2ZGEzZmQ1NjQwY2IzMDM4YWRjY2RhOThhMWExNi4uMTkxN2I2
Y2VmYjM3OTllYmRhZDNlOTgwZjM1NzY4MTZkODRkMDMxMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vd2syL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1Nr
aXBwZWQKQEAgLTIwMSw3ICsyMDEsNiBAQCBmYXN0L2NhbnZhcy93ZWJnbC93ZWJnbC1hcnJheS1p
bnZhbGlkLXJhbmdlcy5odG1sCiBmYXN0L2NhbnZhcy93ZWJnbC93ZWJnbC1zcGVjaWZpYy5odG1s
CiBmYXN0L2hhcm5lc3Mvb3ZlcnJpZGUtcHJlZmVyZW5jZXMtMi5odG1sCiBmYXN0L2ltYWdlcy9h
bmltYXRlZC1naWYtcmVzdG9yZWQtZnJvbS1iZmNhY2hlLmh0bWwKLWZhc3QvbG9hZGVyL2Rpc3Bs
YXktaW1hZ2UtdW5zZXQtYWxsb3dzLWNhY2hlZC1pbWFnZS1sb2FkLmh0bWwKIGZhc3QvdGV4dC96
ZXJvLWZvbnQtc2l6ZS5odG1sCiAKICMgV2ViS2l0VGVzdFJ1bm5lciBuZWVkcyB0byBzdXBwb3J0
IGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBET01Bc1dlYkFyY2hpdmUKQEAgLTM0MCw4ICszMzks
NiBAQCBzdmcvY3VzdG9tL3N2Zy1hbGxvd2VkLWluLWRhc2hib2FyZC1vYmplY3QuaHRtbAogIyA8
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyNjcyPgogZmFzdC9jc3Mv
Y29tcGFyZS1jb250ZW50LXN0eWxlLmh0bWwKIGZhc3QvZnJhbWVzL2ZyYW1lLWRpc3BsYXktbm9u
ZS1mb2N1cy5odG1sCi1mYXN0L2xvYWRlci9kaXNwbGF5LWltYWdlLXVuc2V0LWNhbi1ibG9jay1p
bWFnZS1hbmQtY2FuLXJlbG9hZC1pbi1wbGFjZS5odG1sCi1mYXN0L2xvYWRlci9pbWFnZXMtZW5h
YmxlZC11bnNldC1jYW4tYmxvY2staW1hZ2UtYW5kLWNhbi1yZWxvYWQtaW4tcGxhY2UuaHRtbAog
ZmFzdC9sb2FkZXIvcmVsb2FkLXBvbGljeS1kZWxlZ2F0ZS5odG1sCiAKICMgV2ViS2l0VGVzdFJ1
bm5lciBuZWVkcyBsYXlvdXRUZXN0Q29udHJvbGxlci5xdWV1ZUxvYWQKZGlmZiAtLWdpdCBhL0No
YW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCAyYmJiODg4NzA3Y2E0NDIzZjY3NzgzNTM3NTQzNzY5
NWYwMTFmYjdiLi5lNTI4ZGE4ZDViYmU0MjJjNTUxOWUwMzhkNDMwYWNkODcyZTJkOGRiIDEwMDY0
NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTIt
MDktMTggIEJvIExpdSAgPGJvbGl1QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZlcnQgMTI4
NzgwLCAxMjg2NzYsIDEyODY0NQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9OTcwMjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBJIG1hZGUgdGhlc2UgcmV2aXNpb25zIHRvIGFkZCBpbi1wbGFjZSByZWxvYWQg
YmVoYXZpb3IgdG8gSW1hZ2VzRW5hYmxlZCBzZXR0aW5nLgorICAgICAgICBSZXZlcnRpbmcgdGhp
cyBmb3Igbm93IGR1ZSB0byB0aGVtIGNhdXNpbmcgcGVyZm9ybWFuY2UgcmVncmVzc2lvbiBpbgor
CQkJCWNocm9taXVtLCBwb3NzaWJseSBjYXVzZWQgYnkgaW5jcmVhc2VkIGNhbGxzIHRvCisJCQkJ
UGVybWlzc2lvbkNsaWVudDo6aW1hZ2VBbGxvd2VkLgorCisgICAgICAgICogU291cmNlL2F1dG90
b29scy9zeW1ib2xzLmZpbHRlcjoKKwogMjAxMi0wOS0xOCAgUnl1YW4gQ2hvaSAgPHJ5dWFuLmNo
b2lAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgW0NNQUtFXSBGaXggYnVpbGQgYnJlYWsgYmVjYXVz
ZSBvZiBtZW1vcnkgZXhoYXVzdGVkLgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>164578</attachid>
            <date>2012-09-18 09:34:31 -0700</date>
            <delta_ts>2012-09-18 11:17:48 -0700</delta_ts>
            <desc>Fix mistake in InternalSettings with INPUT_TYPE_TIME_MULTIPLE_FIELDS</desc>
            <filename>bug-97022-20120918093358.patch</filename>
            <type>text/plain</type>
            <size>39078</size>
            <attacher name="Bo Liu">boliu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4ODk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTk0ZmMyZGExNGRiMTJl
MGRiOTZhYTcyNDUyM2UwY2QyMmI4MjAxYS4uZTVkOWU5NDgzN2JhZTIyZjEzZjBkOTU2ZjI2NTFj
MjdlYTdkNGFlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDEyLTA5LTE4ICBCbyBM
aXUgIDxib2xpdUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2ZXJ0IDEyODc4MCwgMTI4Njc2
LCAxMjg2NDUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTk3MDIyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
SSBtYWRlIHRoZXNlIHJldmlzaW9ucyB0byBhZGQgaW4tcGxhY2UgcmVsb2FkIGJlaGF2aW9yIHRv
IEltYWdlc0VuYWJsZWQgc2V0dGluZy4KKyAgICAgICAgUmV2ZXJ0aW5nIHRoaXMgZm9yIG5vdyBk
dWUgdG8gdGhlbSBjYXVzaW5nIHBlcmZvcm1hbmNlIHJlZ3Jlc3Npb24gaW4KKyAgICAgICAgY2hy
b21pdW0sIHBvc3NpYmx5IGNhdXNlZCBieSBpbmNyZWFzZWQgY2FsbHMgdG8KKyAgICAgICAgUGVy
bWlzc2lvbkNsaWVudDo6aW1hZ2VBbGxvd2VkLgorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46
CisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZy
YW1lTG9hZGVyOjpkaWRCZWdpbkRvY3VtZW50KToKKyAgICAgICAgKiBsb2FkZXIvU3VicmVzb3Vy
Y2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3VicmVzb3VyY2VMb2FkZXI6OndpbGxT
ZW5kUmVxdWVzdCk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZEltYWdlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNhY2hlZEltYWdlOjpsb2FkKToKKyAgICAgICAgKiBsb2FkZXIvY2Fj
aGUvQ2FjaGVkSW1hZ2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZEltYWdlOjpzdGlsbE5l
ZWRzTG9hZCk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlOjpkaWRBZGRDbGllbnQpOgorICAgICAgICAq
IGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJj
ZUxvYWRlcjo6Q2FjaGVkUmVzb3VyY2VMb2FkZXIpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVk
UmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RJbWFnZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRS
ZXNvdXJjZUxvYWRlcjo6Y2FuUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNv
dXJjZUxvYWRlcjo6ZGV0ZXJtaW5lUmV2YWxpZGF0aW9uUG9saWN5KToKKyAgICAgICAgKFdlYkNv
cmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpzZXRBdXRvTG9hZEltYWdlcyk6CisgICAgICAgICog
bG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmg6CisgICAgICAgIChDYWNoZWRSZXNv
dXJjZUxvYWRlcik6CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpzZXRMb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHlJbkFsbEZyYW1lcyk6CisgICAgICAgIChX
ZWJDb3JlOjpTZXR0aW5nczo6U2V0dGluZ3MpOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6
OnNldExvYWRzSW1hZ2VzQXV0b21hdGljYWxseSk6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5n
czo6bG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5VGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3Jl
OjpTZXR0aW5nczo6c2V0SW1hZ2VzRW5hYmxlZCk6CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5o
OgorICAgICAgICAoU2V0dGluZ3MpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxTZXR0aW5n
cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdzOjpCYWNrdXA6OkJhY2t1
cCk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdzOjpCYWNrdXA6OnJlc3RvcmVU
byk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdzOjpzZXRMYW5nQXR0cmlidXRl
QXdhcmVGb3JtQ29udHJvbFVJRW5hYmxlZCk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbFNl
dHRpbmdzLmg6CisgICAgICAgIChCYWNrdXApOgorICAgICAgICAoSW50ZXJuYWxTZXR0aW5ncyk6
CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbDoKKwogMjAxMi0wOS0xOCAg
QW5kcmV5IEtvc3lha292ICA8Y2FzZXFAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IFtFeHRlbnNpb25zIEFQSV0gcG9zdHBvbmUgcmVxdWVzdHMgdG8gYWRkIGV4dGVuc2lv
bnMgdW50aWwgZXh0ZW5zaW9uIHNlcnZlciBpcyBpbml0aWFsaXplZApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDFh
NzAxMzE2ZDkyYjdjY2ZlNThiZTE2OTNhNTJhYWU4NmY5MmEzNTIuLjg3NmMyZTY2NWZiNWNlNzVj
MmI3ZjQzNWZjMzU0MGQ3OTJkZDEzZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAx
Mi0wOS0xOCAgQm8gTGl1ICA8Ym9saXVAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmVydCAx
Mjg3ODAsIDEyODY3NiwgMTI4NjQ1CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD05NzAyMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEkgbWFkZSB0aGVzZSByZXZpc2lvbnMgdG8gYWRkIGluLXBsYWNlIHJlbG9h
ZCBiZWhhdmlvciB0byBJbWFnZXNFbmFibGVkIHNldHRpbmcuCisgICAgICAgIFJldmVydGluZyB0
aGlzIGZvciBub3cgZHVlIHRvIHRoZW0gY2F1c2luZyBwZXJmb3JtYW5jZSByZWdyZXNzaW9uIGlu
CisgICAgICAgIGNocm9taXVtLCBwb3NzaWJseSBjYXVzZWQgYnkgaW5jcmVhc2VkIGNhbGxzIHRv
CisgICAgICAgIFBlcm1pc3Npb25DbGllbnQ6OmltYWdlQWxsb3dlZC4KKworICAgICAgICAqIHdp
bi9XZWJLaXQyLmRlZjoKKwogMjAxMi0wOS0xOCAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3
LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEyODg0
OS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggZTc4NDExODMxYTNhY2FmNmZjOTBkNjExYzNlMzdl
OTM2YzFkMzQ3NC4uN2JhOTk5ZTVkZDM3NGE1MjYyN2U5NzJhZTk1N2E4ZWRkZjU3YmFjNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5leHAuaW4KQEAgLTg0OSw3ICs4NDksNiBAQCBfX1pON1dlYkNvcmU4R3JhZGll
bnRDMUVSS05TXzEwRmxvYXRQb2ludEVTM18KIF9fWk43V2ViQ29yZThQb3NpdGlvbkMxRU4zV1RG
MTBQYXNzUmVmUHRySU5TXzROb2RlRUVFaU5TMF8xMEFuY2hvclR5cGVFCiBfX1pON1dlYkNvcmU4
U2V0dGluZ3MxNHNldEphdmFFbmFibGVkRWIKIF9fWk43V2ViQ29yZThTZXR0aW5nczE1c2V0V2Vi
R0xFbmFibGVkRWIKLV9fWk43V2ViQ29yZThTZXR0aW5nczE2c2V0SW1hZ2VzRW5hYmxlZEViCiBf
X1pON1dlYkNvcmU4U2V0dGluZ3MxNnNldFNjcmlwdEVuYWJsZWRFYgogX19aTjdXZWJDb3JlOFNl
dHRpbmdzMTZzZXRVc2VzUGFnZUNhY2hlRWIKIF9fWk43V2ViQ29yZThTZXR0aW5nczE3c2V0UGx1
Z2luc0VuYWJsZWRFYgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9h
ZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKaW5kZXggNDE3
NzJjYWVlOGQyZDkzMmRkM2Y2YmVjMmE4YmJhZmMwZGNlNWYxYy4uYjI2YjZkNGNjMjJmYWU3NTc4
ZDA0NGY2MTA1MTYxOTI0YjA2ZmM1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0ZyYW1lTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIu
Y3BwCkBAIC02NDcsNyArNjQ3LDYgQEAgdm9pZCBGcmFtZUxvYWRlcjo6ZGlkQmVnaW5Eb2N1bWVu
dChib29sIGRpc3BhdGNoKQogICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmluaXRDb250ZW50U2Vj
dXJpdHlQb2xpY3koKTsKIAogICAgIFNldHRpbmdzKiBzZXR0aW5ncyA9IG1fZnJhbWUtPmRvY3Vt
ZW50KCktPnNldHRpbmdzKCk7Ci0gICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+Y2FjaGVkUmVzb3Vy
Y2VMb2FkZXIoKS0+c2V0SW1hZ2VzRW5hYmxlZCghc2V0dGluZ3MgfHwgc2V0dGluZ3MtPmFyZUlt
YWdlc0VuYWJsZWQoKSk7CiAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+Y2FjaGVkUmVzb3VyY2VM
b2FkZXIoKS0+c2V0QXV0b0xvYWRJbWFnZXMoc2V0dGluZ3MgJiYgc2V0dGluZ3MtPmxvYWRzSW1h
Z2VzQXV0b21hdGljYWxseSgpKTsKIAogICAgIGlmIChtX2RvY3VtZW50TG9hZGVyKSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcAppbmRleCA1NmRlMGQzNDEz
M2MzZjVhNDcyYmZjMmJjNmY0ZTVjZGYzODMwM2ZkLi5mZjNiZTZlZGZmOGI5N2ZjNTVhMDg0OGI0
YzFhZjAyZjA4MWI0NjE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVz
b3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxv
YWRlci5jcHAKQEAgLTE2NywxMyArMTY3LDExIEBAIHZvaWQgU3VicmVzb3VyY2VMb2FkZXI6Ondp
bGxTZW5kUmVxdWVzdChSZXNvdXJjZVJlcXVlc3QmIG5ld1JlcXVlc3QsIGNvbnN0IFJlc291CiAg
ICAgCiAgICAgUmVzb3VyY2VMb2FkZXI6OndpbGxTZW5kUmVxdWVzdChuZXdSZXF1ZXN0LCByZWRp
cmVjdFJlc3BvbnNlKTsKICAgICBpZiAoIXByZXZpb3VzVVJMLmlzTnVsbCgpICYmICFuZXdSZXF1
ZXN0LmlzTnVsbCgpICYmIHByZXZpb3VzVVJMICE9IG5ld1JlcXVlc3QudXJsKCkpIHsKLSAgICAg
ICAgaWYgKG1fZG9jdW1lbnQtPmNhY2hlZFJlc291cmNlTG9hZGVyKCktPmNhblJlcXVlc3QobV9y
ZXNvdXJjZS0+dHlwZSgpLCBuZXdSZXF1ZXN0LnVybCgpKSkgewotICAgICAgICAgICAgaWYgKG1f
cmVzb3VyY2UtPnR5cGUoKSAhPSBDYWNoZWRSZXNvdXJjZTo6SW1hZ2VSZXNvdXJjZSB8fCAhbV9k
b2N1bWVudC0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+c2hvdWxkRGVmZXJJbWFnZUxvYWQobmV3
UmVxdWVzdC51cmwoKSkpIHsKLSAgICAgICAgICAgICAgICBtX3Jlc291cmNlLT53aWxsU2VuZFJl
cXVlc3QobmV3UmVxdWVzdCwgcmVkaXJlY3RSZXNwb25zZSk7Ci0gICAgICAgICAgICAgICAgcmV0
dXJuOwotICAgICAgICAgICAgfQorICAgICAgICBpZiAoIW1fZG9jdW1lbnQtPmNhY2hlZFJlc291
cmNlTG9hZGVyKCktPmNhblJlcXVlc3QobV9yZXNvdXJjZS0+dHlwZSgpLCBuZXdSZXF1ZXN0LnVy
bCgpKSkgeworICAgICAgICAgICAgY2FuY2VsKCk7CisgICAgICAgICAgICByZXR1cm47CiAgICAg
ICAgIH0KLSAgICAgICAgY2FuY2VsKCk7CisgICAgICAgIG1fcmVzb3VyY2UtPndpbGxTZW5kUmVx
dWVzdChuZXdSZXF1ZXN0LCByZWRpcmVjdFJlc3BvbnNlKTsKICAgICB9CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRJbWFnZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuY3BwCmluZGV4IGZhODNhNTRmNjcxZWRj
ODI1MDU0OTdhNzVhYjNmZGVkOWU0OTc0YjkuLjQzMTY2MTZiMzY0NTNhMjA4NjVlNGQyZDZlMDI4
OTMwYWYxNmI5ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNo
ZWRJbWFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEltYWdl
LmNwcApAQCAtNzksNyArNzksNyBAQCBDYWNoZWRJbWFnZTo6fkNhY2hlZEltYWdlKCkKIAogdm9p
ZCBDYWNoZWRJbWFnZTo6bG9hZChDYWNoZWRSZXNvdXJjZUxvYWRlciogY2FjaGVkUmVzb3VyY2VM
b2FkZXIsIGNvbnN0IFJlc291cmNlTG9hZGVyT3B0aW9ucyYgb3B0aW9ucykKIHsKLSAgICBpZiAo
IWNhY2hlZFJlc291cmNlTG9hZGVyIHx8ICFjYWNoZWRSZXNvdXJjZUxvYWRlci0+c2hvdWxkRGVm
ZXJJbWFnZUxvYWQobV9yZXNvdXJjZVJlcXVlc3QudXJsKCkpKQorICAgIGlmICghY2FjaGVkUmVz
b3VyY2VMb2FkZXIgfHwgY2FjaGVkUmVzb3VyY2VMb2FkZXItPmF1dG9Mb2FkSW1hZ2VzKCkpCiAg
ICAgICAgIENhY2hlZFJlc291cmNlOjpsb2FkKGNhY2hlZFJlc291cmNlTG9hZGVyLCBvcHRpb25z
KTsKICAgICBlbHNlCiAgICAgICAgIHNldExvYWRpbmcoZmFsc2UpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEltYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuaAppbmRleCAwYzQ1MmM0NGFkOThhMDFhOTg5NjlkYmI4
MGE5OWU2YTEyNjEyYmUwLi40ODY1YzdlMjQ2NjViYTYzOWIwZTFhOTZiYzYyNTI2MGQ3M2FkMDFi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuaApAQCAtODIsNyAr
ODIsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIHNob3VsZElnbm9yZUhUVFBTdGF0dXND
b2RlRXJyb3JzKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogCiAgICAgdmlydHVhbCBib29sIGlz
SW1hZ2UoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9Ci0gICAgdmlydHVhbCBib29sIHN0aWxsTmVl
ZHNMb2FkKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gIWVycm9yT2NjdXJyZWQoKSAmJiBzdGF0
dXMoKSA9PSBVbmtub3duICYmICFpc0xvYWRpbmcoKTsgfQorICAgIGJvb2wgc3RpbGxOZWVkc0xv
YWQoKSBjb25zdCB7IHJldHVybiAhZXJyb3JPY2N1cnJlZCgpICYmIHN0YXR1cygpID09IFVua25v
d24gJiYgIWlzTG9hZGluZygpOyB9CiAgICAgdm9pZCBsb2FkKCk7CiAKICAgICAvLyBJbWFnZU9i
c2VydmVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVz
b3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNw
cAppbmRleCBhYTZjNWE3ZmE2Zjg4Mzk1YmI2MGY4MGIzOGZjZjQ3ZGQ1YTA0YzAyLi40M2MzZDE0
NGY4MmYxNTY4OGNmNjZjMDU0YTA0ZGE5NjAxOWI5ZDExIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAKQEAgLTM5MCw3ICszOTAsNyBAQCB2b2lk
IENhY2hlZFJlc291cmNlOjpkaWRBZGRDbGllbnQoQ2FjaGVkUmVzb3VyY2VDbGllbnQqIGMpCiAg
ICAgICAgIG1fY2xpZW50cy5hZGQoYyk7CiAgICAgICAgIG1fY2xpZW50c0F3YWl0aW5nQ2FsbGJh
Y2sucmVtb3ZlKGMpOwogICAgIH0KLSAgICBpZiAoIWlzTG9hZGluZygpICYmICFzdGlsbE5lZWRz
TG9hZCgpKQorICAgIGlmICghaXNMb2FkaW5nKCkpCiAgICAgICAgIGMtPm5vdGlmeUZpbmlzaGVk
KHRoaXMpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2Fj
aGVkUmVzb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJj
ZS5oCmluZGV4IDdlZGFmZDUwOGRkM2ZlYWJlMGU3ODhjYWY1ZWQzOTYwNGI2MDBiN2UuLjBjYWQz
ZWU3Y2E0MjgxMmVhYTNlZmU2MDAzMTE2NDQ5ZjdhNjk2YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oCkBAIC0xNDQsNyArMTQ0LDYgQEAgcHVibGlj
OgogCiAgICAgYm9vbCBpc0xvYWRpbmcoKSBjb25zdCB7IHJldHVybiBtX2xvYWRpbmc7IH0KICAg
ICB2b2lkIHNldExvYWRpbmcoYm9vbCBiKSB7IG1fbG9hZGluZyA9IGI7IH0KLSAgICB2aXJ0dWFs
IGJvb2wgc3RpbGxOZWVkc0xvYWQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogCiAgICAgU3Vi
cmVzb3VyY2VMb2FkZXIqIGxvYWRlcigpIHsgcmV0dXJuIG1fbG9hZGVyLmdldCgpOyB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIu
Y3BwCmluZGV4IDBlOGMzZjZhMjIwMmNjMTllOTFhOWQ0Mzk4N2RiZmNlMzcxNzJjYjAuLmYyY2Fh
M2Q1NzY2MTg4YTU2MDRiZTRiNjRmNjc0MTljMzZkMDJhYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcApAQCAtNDYsNyAr
NDYsNiBAQAogI2luY2x1ZGUgIk1lbW9yeUNhY2hlLmgiCiAjaW5jbHVkZSAiUGluZ0xvYWRlci5o
IgogI2luY2x1ZGUgIlJlc291cmNlTG9hZFNjaGVkdWxlci5oIgotI2luY2x1ZGUgIlNjaGVtZVJl
Z2lzdHJ5LmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJTZXR0aW5n
cy5oIgogI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgpAQCAtMTE2LDcgKzExNSw2IEBAIENh
Y2hlZFJlc291cmNlTG9hZGVyOjpDYWNoZWRSZXNvdXJjZUxvYWRlcihEb2N1bWVudCogZG9jdW1l
bnQpCiAgICAgLCBtX3JlcXVlc3RDb3VudCgwKQogICAgICwgbV9nYXJiYWdlQ29sbGVjdERvY3Vt
ZW50UmVzb3VyY2VzVGltZXIodGhpcywgJkNhY2hlZFJlc291cmNlTG9hZGVyOjpnYXJiYWdlQ29s
bGVjdERvY3VtZW50UmVzb3VyY2VzVGltZXJGaXJlZCkKICAgICAsIG1fYXV0b0xvYWRJbWFnZXMo
dHJ1ZSkKLSAgICAsIG1faW1hZ2VzRW5hYmxlZCh0cnVlKQogICAgICwgbV9hbGxvd1N0YWxlUmVz
b3VyY2VzKGZhbHNlKQogewogfQpAQCAtMTYyLDcgKzE2MCw3IEBAIENhY2hlZFJlc291cmNlSGFu
ZGxlPENhY2hlZEltYWdlPiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdEltYWdlKFJlc291
cmNlUmVxCiAgICAgICAgIH0KICAgICB9CiAgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVk
SW1hZ2U+IHJlc291cmNlKHN0YXRpY19jYXN0PENhY2hlZEltYWdlKj4ocmVxdWVzdFJlc291cmNl
KENhY2hlZFJlc291cmNlOjpJbWFnZVJlc291cmNlLCByZXF1ZXN0LCBTdHJpbmcoKSwgZGVmYXVs
dENhY2hlZFJlc291cmNlT3B0aW9ucygpKS5nZXQoKSkpOwotICAgIGlmICghc2hvdWxkRGVmZXJJ
bWFnZUxvYWQocmVxdWVzdC51cmwoKSkgJiYgcmVzb3VyY2UgJiYgcmVzb3VyY2UtPnN0aWxsTmVl
ZHNMb2FkKCkpCisgICAgaWYgKGF1dG9Mb2FkSW1hZ2VzKCkgJiYgcmVzb3VyY2UgJiYgcmVzb3Vy
Y2UtPnN0aWxsTmVlZHNMb2FkKCkpCiAgICAgICAgIHJlc291cmNlLT5sb2FkKHRoaXMsIGRlZmF1
bHRDYWNoZWRSZXNvdXJjZU9wdGlvbnMoKSk7CiAgICAgcmV0dXJuIHJlc291cmNlOwogfQpAQCAt
MzY0LDYgKzM2MiwxMiBAQCBib29sIENhY2hlZFJlc291cmNlTG9hZGVyOjpjYW5SZXF1ZXN0KENh
Y2hlZFJlc291cmNlOjpUeXBlIHR5cGUsIGNvbnN0IEtVUkwmIHVybAogICAgIGNhc2UgQ2FjaGVk
UmVzb3VyY2U6OkltYWdlUmVzb3VyY2U6CiAgICAgICAgIGlmICghbV9kb2N1bWVudC0+Y29udGVu
dFNlY3VyaXR5UG9saWN5KCktPmFsbG93SW1hZ2VGcm9tU291cmNlKHVybCkpCiAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgaWYgKGZyYW1lKCkpIHsKKyAgICAgICAgICAgIFNl
dHRpbmdzKiBzZXR0aW5ncyA9IGZyYW1lKCktPnNldHRpbmdzKCk7CisgICAgICAgICAgICBpZiAo
IWZyYW1lKCktPmxvYWRlcigpLT5jbGllbnQoKS0+YWxsb3dJbWFnZSghc2V0dGluZ3MgfHwgc2V0
dGluZ3MtPmFyZUltYWdlc0VuYWJsZWQoKSwgdXJsKSkKKyAgICAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgICAgIH0KICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJj
ZTo6Rm9udFJlc291cmNlOiB7CiAgICAgICAgIGlmICghbV9kb2N1bWVudC0+Y29udGVudFNlY3Vy
aXR5UG9saWN5KCktPmFsbG93Rm9udEZyb21Tb3VyY2UodXJsKSkKQEAgLTUxMCwxMSArNTE0LDEx
IEBAIENhY2hlZFJlc291cmNlTG9hZGVyOjpSZXZhbGlkYXRpb25Qb2xpY3kgQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXI6OmRldGVybWluZVJldmFsaWRhCiB7CiAgICAgaWYgKCFleGlzdGluZ1Jlc291cmNl
KQogICAgICAgICByZXR1cm4gTG9hZDsKLQorICAgIAogICAgIC8vIFdlIGFscmVhZHkgaGF2ZSBh
IHByZWxvYWQgZ29pbmcgZm9yIHRoaXMgVVJMLgogICAgIGlmIChmb3JQcmVsb2FkICYmIGV4aXN0
aW5nUmVzb3VyY2UtPmlzUHJlbG9hZGVkKCkpCiAgICAgICAgIHJldHVybiBVc2U7Ci0KKyAgICAK
ICAgICAvLyBJZiB0aGUgc2FtZSBVUkwgaGFzIGJlZW4gbG9hZGVkIGFzIGEgZGlmZmVyZW50IHR5
cGUsIHdlIG5lZWQgdG8gcmVsb2FkLgogICAgIGlmIChleGlzdGluZ1Jlc291cmNlLT50eXBlKCkg
IT0gdHlwZSkgewogICAgICAgICBMT0coUmVzb3VyY2VMb2FkaW5nLCAiQ2FjaGVkUmVzb3VyY2VM
b2FkZXI6OmRldGVybWluZVJldmFsaWRhdGlvblBvbGljeSByZWxvYWRpbmcgZHVlIHRvIHR5cGUg
bWlzbWF0Y2guIik7CkBAIC01MjksMTEgKzUzMyw2IEBAIENhY2hlZFJlc291cmNlTG9hZGVyOjpS
ZXZhbGlkYXRpb25Qb2xpY3kgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmRldGVybWluZVJldmFsaWRh
CiAgICAgLy8gb2YgdGhpbmdzIGFib3V0IGhvdyByZXZhbGlkYXRpb24gd29ya3MgdGhhdCBtYW51
YWwgaGVhZGVycyB2aW9sYXRlLCBzbyBwdW50IHRvIFJlbG9hZCBpbnN0ZWFkLgogICAgIGlmIChy
ZXF1ZXN0LmlzQ29uZGl0aW9uYWwoKSkKICAgICAgICAgcmV0dXJuIFJlbG9hZDsKLQotICAgIC8v
IERvIG5vdCBsb2FkIGZyb20gY2FjaGUgaWYgaW1hZ2VzIGFyZSBub3QgZW5hYmxlZC4gVGhlIGxv
YWQgZm9yIHRoaXMgaW1hZ2Ugd2lsbCBiZSBibG9ja2VkCi0gICAgLy8gaW4gcmVxdWVzdEltYWdl
LgotICAgIGlmIChleGlzdGluZ1Jlc291cmNlLT50eXBlKCkgPT0gQ2FjaGVkUmVzb3VyY2U6Oklt
YWdlUmVzb3VyY2UgJiYgIWNsaWVudEFsbG93c0ltYWdlKGV4aXN0aW5nUmVzb3VyY2UtPnVybCgp
KSkKLSAgICAgICAgcmV0dXJuIFJlbG9hZDsKICAgICAKICAgICAvLyBEb24ndCByZWxvYWQgcmVz
b3VyY2VzIHdoaWxlIHBhc3RpbmcuCiAgICAgaWYgKG1fYWxsb3dTdGFsZVJlc291cmNlcykKQEAg
LTYzMCw0MSArNjI5LDEzIEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnNldEF1dG9Mb2Fk
SW1hZ2VzKGJvb2wgZW5hYmxlKQogICAgIGlmICghbV9hdXRvTG9hZEltYWdlcykKICAgICAgICAg
cmV0dXJuOwogCi0gICAgcmVsb2FkSW1hZ2VzSWZOb3REZWZlcnJlZCgpOwotfQotCi12b2lkIENh
Y2hlZFJlc291cmNlTG9hZGVyOjpzZXRJbWFnZXNFbmFibGVkKGJvb2wgZW5hYmxlKQotewotICAg
IGlmIChlbmFibGUgPT0gbV9pbWFnZXNFbmFibGVkKQotICAgICAgICByZXR1cm47Ci0KLSAgICBt
X2ltYWdlc0VuYWJsZWQgPSBlbmFibGU7Ci0KLSAgICBpZiAoIW1faW1hZ2VzRW5hYmxlZCkKLSAg
ICAgICAgcmV0dXJuOwotCi0gICAgcmVsb2FkSW1hZ2VzSWZOb3REZWZlcnJlZCgpOwotfQotCi1i
b29sIENhY2hlZFJlc291cmNlTG9hZGVyOjpjbGllbnRBbGxvd3NJbWFnZShjb25zdCBLVVJMJiB1
cmwpIGNvbnN0Ci17Ci0gICAgcmV0dXJuICFmcmFtZSgpIHx8IGZyYW1lKCktPmxvYWRlcigpLT5j
bGllbnQoKS0+YWxsb3dJbWFnZShtX2ltYWdlc0VuYWJsZWQsIHVybCk7Ci19Ci0KLWJvb2wgQ2Fj
aGVkUmVzb3VyY2VMb2FkZXI6OnNob3VsZERlZmVySW1hZ2VMb2FkKGNvbnN0IEtVUkwmIHVybCkg
Y29uc3QKLXsKLSAgICByZXR1cm4gIWNsaWVudEFsbG93c0ltYWdlKHVybCkgfHwgIW1fYXV0b0xv
YWRJbWFnZXM7Ci19Ci0KLXZvaWQgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlbG9hZEltYWdlc0lm
Tm90RGVmZXJyZWQoKQotewogICAgIERvY3VtZW50UmVzb3VyY2VNYXA6Oml0ZXJhdG9yIGVuZCA9
IG1fZG9jdW1lbnRSZXNvdXJjZXMuZW5kKCk7CiAgICAgZm9yIChEb2N1bWVudFJlc291cmNlTWFw
OjppdGVyYXRvciBpdCA9IG1fZG9jdW1lbnRSZXNvdXJjZXMuYmVnaW4oKTsgaXQgIT0gZW5kOyAr
K2l0KSB7CiAgICAgICAgIENhY2hlZFJlc291cmNlKiByZXNvdXJjZSA9IGl0LT5zZWNvbmQuZ2V0
KCk7CiAgICAgICAgIGlmIChyZXNvdXJjZS0+dHlwZSgpID09IENhY2hlZFJlc291cmNlOjpJbWFn
ZVJlc291cmNlKSB7CiAgICAgICAgICAgICBDYWNoZWRJbWFnZSogaW1hZ2UgPSBjb25zdF9jYXN0
PENhY2hlZEltYWdlKj4oc3RhdGljX2Nhc3Q8Y29uc3QgQ2FjaGVkSW1hZ2UqPihyZXNvdXJjZSkp
OwogCi0gICAgICAgICAgICBpZiAoaW1hZ2UtPnN0aWxsTmVlZHNMb2FkKCkgJiYgIXNob3VsZERl
ZmVySW1hZ2VMb2FkKGltYWdlLT51cmwoKSkpCisgICAgICAgICAgICBpZiAoaW1hZ2UtPnN0aWxs
TmVlZHNMb2FkKCkpCiAgICAgICAgICAgICAgICAgaW1hZ2UtPmxvYWQodGhpcywgZGVmYXVsdENh
Y2hlZFJlc291cmNlT3B0aW9ucygpKTsKICAgICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmgKaW5kZXggMjFlNGYz
OTFkYmI0ODIxNmM0NjU0Mzc4OTYzZjkxYTc0MDVhNzI2Mi4uZjQ3NTVjMjJmZDhkMmYxYzJhMGU4
ZTZkYTgyZTdmOWI1MjNhMTlmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmgKQEAgLTk3LDEwICs5Nyw2IEBAIHB1YmxpYzoKIAog
ICAgIGJvb2wgYXV0b0xvYWRJbWFnZXMoKSBjb25zdCB7IHJldHVybiBtX2F1dG9Mb2FkSW1hZ2Vz
OyB9CiAgICAgdm9pZCBzZXRBdXRvTG9hZEltYWdlcyhib29sKTsKLQotICAgIHZvaWQgc2V0SW1h
Z2VzRW5hYmxlZChib29sKTsKLQotICAgIGJvb2wgc2hvdWxkRGVmZXJJbWFnZUxvYWQoY29uc3Qg
S1VSTCYpIGNvbnN0OwogICAgIAogICAgIENhY2hlUG9saWN5IGNhY2hlUG9saWN5KCkgY29uc3Q7
CiAgICAgCkBAIC0xMzksOSArMTM1LDYgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgZ2FyYmFnZUNv
bGxlY3REb2N1bWVudFJlc291cmNlc1RpbWVyRmlyZWQoVGltZXI8Q2FjaGVkUmVzb3VyY2VMb2Fk
ZXI+Kik7CiAgICAgdm9pZCBwZXJmb3JtUG9zdExvYWRBY3Rpb25zKCk7Ci0KLSAgICBib29sIGNs
aWVudEFsbG93c0ltYWdlKGNvbnN0IEtVUkwmKSBjb25zdDsKLSAgICB2b2lkIHJlbG9hZEltYWdl
c0lmTm90RGVmZXJyZWQoKTsKICAgICAKICAgICBIYXNoU2V0PFN0cmluZz4gbV92YWxpZGF0ZWRV
UkxzOwogICAgIG11dGFibGUgRG9jdW1lbnRSZXNvdXJjZU1hcCBtX2RvY3VtZW50UmVzb3VyY2Vz
OwpAQCAtMTU5LDkgKzE1Miw4IEBAIHByaXZhdGU6CiAKICAgICBUaW1lcjxDYWNoZWRSZXNvdXJj
ZUxvYWRlcj4gbV9nYXJiYWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzVGltZXI7CiAKLSAgICAv
LyAyOSBiaXRzIGxlZnQKKyAgICAvLyAzMCBiaXRzIGxlZnQKICAgICBib29sIG1fYXV0b0xvYWRJ
bWFnZXMgOiAxOwotICAgIGJvb2wgbV9pbWFnZXNFbmFibGVkIDogMTsKICAgICBib29sIG1fYWxs
b3dTdGFsZVJlc291cmNlcyA6IDE7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1NldHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCmluZGV4
IDJhNGM3YjRmMDVhMDZhN2NhYzBhMmY1MWIwM2E3YTA2OWUwOGMyMDEuLjdmODYwZTc5NDFjZTc0
YTEwYzE4YzhjZjE2ODdkMmQ1MzA0ODQxN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvU2V0dGluZ3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCkBA
IC00NiwxMiArNDYsMTAgQEAgdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi1zdGF0aWMgdm9pZCBzZXRJbWFnZUxvYWRpbmdTZXR0aW5ncyhQYWdlKiBwYWdlKQor
c3RhdGljIHZvaWQgc2V0TG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5SW5BbGxGcmFtZXMoUGFnZSog
cGFnZSkKIHsKLSAgICBmb3IgKEZyYW1lKiBmcmFtZSA9IHBhZ2UtPm1haW5GcmFtZSgpOyBmcmFt
ZTsgZnJhbWUgPSBmcmFtZS0+dHJlZSgpLT50cmF2ZXJzZU5leHQoKSkgewotICAgICAgICBmcmFt
ZS0+ZG9jdW1lbnQoKS0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+c2V0SW1hZ2VzRW5hYmxlZChw
YWdlLT5zZXR0aW5ncygpLT5hcmVJbWFnZXNFbmFibGVkKCkpOworICAgIGZvciAoRnJhbWUqIGZy
YW1lID0gcGFnZS0+bWFpbkZyYW1lKCk7IGZyYW1lOyBmcmFtZSA9IGZyYW1lLT50cmVlKCktPnRy
YXZlcnNlTmV4dCgpKQogICAgICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+Y2FjaGVkUmVzb3VyY2VM
b2FkZXIoKS0+c2V0QXV0b0xvYWRJbWFnZXMocGFnZS0+c2V0dGluZ3MoKS0+bG9hZHNJbWFnZXNB
dXRvbWF0aWNhbGx5KCkpOwotICAgIH0KIH0KIAogLy8gU2V0cyB0aGUgZW50cnkgaW4gdGhlIGZv
bnQgbWFwIGZvciB0aGUgZ2l2ZW4gc2NyaXB0LiBJZiBmYW1pbHkgaXMgdGhlIGVtcHR5IHN0cmlu
ZywgcmVtb3ZlcyB0aGUgZW50cnkgaW5zdGVhZC4KQEAgLTI5MSw3ICsyODksNyBAQCBTZXR0aW5n
czo6U2V0dGluZ3MoUGFnZSogcGFnZSkKICAgICAsIG1fd2luZG93Rm9jdXNSZXN0cmljdGVkKHRy
dWUpCiAgICAgLCBtX2RpYWdub3N0aWNMb2dnaW5nRW5hYmxlZChmYWxzZSkKICAgICAsIG1fc2Ny
b2xsaW5nUGVyZm9ybWFuY2VMb2dnaW5nRW5hYmxlZChmYWxzZSkKLSAgICAsIG1fc2V0SW1hZ2VM
b2FkaW5nU2V0dGluZ3NUaW1lcih0aGlzLCAmU2V0dGluZ3M6OmltYWdlTG9hZGluZ1NldHRpbmdz
VGltZXJGaXJlZCkKKyAgICAsIG1fbG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5VGltZXIodGhpcywg
JlNldHRpbmdzOjpsb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHlUaW1lckZpcmVkKQogICAgICwgbV9p
bmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dEluU2Vjb25kcyhkZWZhdWx0SW5j
cmVtZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXRJblNlY29uZHMpCiB7CiAgICAgLy8g
QSBGcmFtZSBtYXkgbm90IGhhdmUgYmVlbiBjcmVhdGVkIHlldCwgc28gd2UgaW5pdGlhbGl6ZSB0
aGUgQXRvbWljU3RyaW5nCkBAIC00NTcsMTIgKzQ1NSwxMiBAQCB2b2lkIFNldHRpbmdzOjpzZXRM
b2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHkoYm9vbCBsb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHkpCiAg
ICAgLy8gU3RhcnRpbmcgdGhlc2UgbG9hZHMgc3luY2hyb25vdXNseSBpcyBub3QgaW1wb3J0YW50
LiAgQnkgcHV0dGluZyBpdCBvbiBhIDAtZGVsYXksIHByb3Blcmx5IGNsb3NpbmcgdGhlIFBhZ2Ug
Y2FuY2VscyB0aGVtCiAgICAgLy8gYmVmb3JlIHRoZXkgaGF2ZSBhIGNoYW5jZSB0byByZWFsbHkg
c3RhcnQuCiAgICAgLy8gU2VlIGh0dHA6Ly93ZWJraXQub3JnL2IvNjA1NzIgZm9yIG1vcmUgZGlz
Y3Vzc2lvbi4KLSAgICBtX3NldEltYWdlTG9hZGluZ1NldHRpbmdzVGltZXIuc3RhcnRPbmVTaG90
KDApOworICAgIG1fbG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5VGltZXIuc3RhcnRPbmVTaG90KDAp
OwogfQogCi12b2lkIFNldHRpbmdzOjppbWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyRmlyZWQoVGlt
ZXI8U2V0dGluZ3M+KikKK3ZvaWQgU2V0dGluZ3M6OmxvYWRzSW1hZ2VzQXV0b21hdGljYWxseVRp
bWVyRmlyZWQoVGltZXI8U2V0dGluZ3M+KikKIHsKLSAgICBzZXRJbWFnZUxvYWRpbmdTZXR0aW5n
cyhtX3BhZ2UpOworICAgIHNldExvYWRzSW1hZ2VzQXV0b21hdGljYWxseUluQWxsRnJhbWVzKG1f
cGFnZSk7CiB9CiAKIHZvaWQgU2V0dGluZ3M6OnNldExvYWRzU2l0ZUljb25zSWdub3JpbmdJbWFn
ZUxvYWRpbmdTZXR0aW5nKGJvb2wgbG9hZHNTaXRlSWNvbnMpCkBAIC01MDgsOSArNTA2LDYgQEAg
dm9pZCBTZXR0aW5nczo6c2V0SmF2YUVuYWJsZWRGb3JMb2NhbEZpbGVzKGJvb2wgaXNKYXZhRW5h
YmxlZEZvckxvY2FsRmlsZXMpCiB2b2lkIFNldHRpbmdzOjpzZXRJbWFnZXNFbmFibGVkKGJvb2wg
YXJlSW1hZ2VzRW5hYmxlZCkKIHsKICAgICBtX2FyZUltYWdlc0VuYWJsZWQgPSBhcmVJbWFnZXNF
bmFibGVkOwotCi0gICAgLy8gU2VlIGNvbW1lbnQgaW4gc2V0TG9hZHNJbWFnZXNBdXRvbWF0aWNh
bGx5LgotICAgIG1fc2V0SW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lci5zdGFydE9uZVNob3QoMCk7
CiB9CiAKIHZvaWQgU2V0dGluZ3M6OnNldE1lZGlhRW5hYmxlZChib29sIGlzTWVkaWFFbmFibGVk
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9TZXR0aW5ncy5oCmluZGV4IDYyNDdmODU2NGNkMzVkZmE3ODQ3M2ZjZTlhYzI3
NDY3M2VkYTRhYTIuLjU1ZjJmNzQ5OGU4NzE3MjZmOTE1YjVlOGRmOTg2OTliNzE1MGJiNjkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1NldHRpbmdzLmgKQEAgLTgxMSw4ICs4MTEsOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKICAgICAgICAgYm9vbCBtX3Njcm9sbGluZ1BlcmZvcm1hbmNlTG9nZ2luZ0VuYWJsZWQg
OiAxOwogCi0gICAgICAgIFRpbWVyPFNldHRpbmdzPiBtX3NldEltYWdlTG9hZGluZ1NldHRpbmdz
VGltZXI7Ci0gICAgICAgIHZvaWQgaW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lckZpcmVkKFRpbWVy
PFNldHRpbmdzPiopOworICAgICAgICBUaW1lcjxTZXR0aW5ncz4gbV9sb2Fkc0ltYWdlc0F1dG9t
YXRpY2FsbHlUaW1lcjsKKyAgICAgICAgdm9pZCBsb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHlUaW1l
ckZpcmVkKFRpbWVyPFNldHRpbmdzPiopOwogICAgICAgICAKICAgICAgICAgZG91YmxlIG1faW5j
cmVtZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXRJblNlY29uZHM7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwCmluZGV4IGUwODhmYmNlMjUzZTI2
ZWFmNTk3MTMzZDdlMGYxNzdhMTU4OWFiYmIuLmI5NWJiYzM2Y2Q1MTdhY2E0NzdiMGZiMDIwNTdi
NDdjYThiYTkyMWUgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxT
ZXR0aW5ncy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdz
LmNwcApAQCAtOTksNyArOTksNiBAQCBJbnRlcm5hbFNldHRpbmdzOjpCYWNrdXA6OkJhY2t1cChQ
YWdlKiBwYWdlLCBTZXR0aW5ncyogc2V0dGluZ3MpCiAgICAgLCBtX2NhblN0YXJ0TWVkaWEocGFn
ZS0+Y2FuU3RhcnRNZWRpYSgpKQogICAgICwgbV9vcmlnaW5hbE1vY2tTY3JvbGxiYXJzRW5hYmxl
ZChzZXR0aW5ncy0+bW9ja1Njcm9sbGJhcnNFbmFibGVkKCkpCiAgICAgLCBtX2xhbmdBdHRyaWJ1
dGVBd2FyZUZvcm1Db250cm9sVUlFbmFibGVkKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmxhbmdB
dHRyaWJ1dGVBd2FyZUZvcm1Db250cm9sVUlFbmFibGVkKCkpCi0gICAgLCBtX2ltYWdlc0VuYWJs
ZWQoc2V0dGluZ3MtPmFyZUltYWdlc0VuYWJsZWQoKSkKIHsKIH0KIApAQCAtMTM0LDcgKzEzMyw2
IEBAIHZvaWQgSW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpyZXN0b3JlVG8oUGFnZSogcGFnZSwg
U2V0dGluZ3MqIHNldHRpbmdzKQogICAgIHBhZ2UtPnNldENhblN0YXJ0TWVkaWEobV9jYW5TdGFy
dE1lZGlhKTsKICAgICBzZXR0aW5ncy0+c2V0TW9ja1Njcm9sbGJhcnNFbmFibGVkKG1fb3JpZ2lu
YWxNb2NrU2Nyb2xsYmFyc0VuYWJsZWQpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNl
dExhbmdBdHRyaWJ1dGVBd2FyZUZvcm1Db250cm9sVUlFbmFibGVkKG1fbGFuZ0F0dHJpYnV0ZUF3
YXJlRm9ybUNvbnRyb2xVSUVuYWJsZWQpOwotICAgIHNldHRpbmdzLT5zZXRJbWFnZXNFbmFibGVk
KG1faW1hZ2VzRW5hYmxlZCk7CiB9CiAKIEludGVybmFsU2V0dGluZ3MqIEludGVybmFsU2V0dGlu
Z3M6OmZyb20oUGFnZSogcGFnZSkKQEAgLTY1MywxMCArNjUxLDQgQEAgdm9pZCBJbnRlcm5hbFNl
dHRpbmdzOjpzZXRMYW5nQXR0cmlidXRlQXdhcmVGb3JtQ29udHJvbFVJRW5hYmxlZChib29sIGVu
YWJsZWQpCiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0TGFuZ0F0dHJpYnV0ZUF3YXJl
Rm9ybUNvbnRyb2xVSUVuYWJsZWQoZW5hYmxlZCk7CiB9CiAKLXZvaWQgSW50ZXJuYWxTZXR0aW5n
czo6c2V0SW1hZ2VzRW5hYmxlZChib29sIGVuYWJsZWQsIEV4Y2VwdGlvbkNvZGUmIGVjKQotewot
ICAgIEludGVybmFsU2V0dGluZ3NHdWFyZEZvclNldHRpbmdzKCk7Ci0gICAgc2V0dGluZ3MoKS0+
c2V0SW1hZ2VzRW5hYmxlZChlbmFibGVkKTsKLX0KLQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFsU2V0dGluZ3MuaAppbmRleCAwZjk0ZmIyNWY5YjkxN2VkOGRjYzdkN2U4MzgxY2Zi
ZjQ1ZjJlNjIxLi5mNWFhZDhlZGMyMmEzMDA0NGRiMzA4MDYyMjg1ZDgyNzhlODYxNGRhIDEwMDc1
NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaApAQCAtODEsNyArODEsNiBA
QCBwdWJsaWM6CiAgICAgICAgIGJvb2wgbV9jYW5TdGFydE1lZGlhOwogICAgICAgICBib29sIG1f
b3JpZ2luYWxNb2NrU2Nyb2xsYmFyc0VuYWJsZWQ7CiAgICAgICAgIGJvb2wgbV9sYW5nQXR0cmli
dXRlQXdhcmVGb3JtQ29udHJvbFVJRW5hYmxlZDsKLSAgICAgICAgYm9vbCBtX2ltYWdlc0VuYWJs
ZWQ7CiAgICAgfTsKIAogICAgIHR5cGVkZWYgUmVmQ291bnRlZFN1cHBsZW1lbnQ8UGFnZSwgSW50
ZXJuYWxTZXR0aW5ncz4gU3VwZXJUeXBlOwpAQCAtMTQ2LDggKzE0NSw2IEBAIHB1YmxpYzoKICAg
ICB2b2lkIHNldE1lbW9yeUluZm9FbmFibGVkKGJvb2wsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2
b2lkIHNldFN0b3JhZ2VCbG9ja2luZ1BvbGljeShjb25zdCBTdHJpbmcmLCBFeGNlcHRpb25Db2Rl
Jik7CiAgICAgdm9pZCBzZXRMYW5nQXR0cmlidXRlQXdhcmVGb3JtQ29udHJvbFVJRW5hYmxlZChi
b29sKTsKLSAgICB2b2lkIHNldEltYWdlc0VuYWJsZWQoYm9vbCBlbmFibGVkLCBFeGNlcHRpb25D
b2RlJik7Ci0KIHByaXZhdGU6CiAgICAgZXhwbGljaXQgSW50ZXJuYWxTZXR0aW5ncyhQYWdlKik7
CiAgICAgdmlydHVhbCB2b2lkIGhvc3REZXN0cm95ZWQoKSBPVkVSUklERSB7IG1fcGFnZSA9IDA7
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsCmluZGV4IGM3
NDU1ZmUxNjQxNDBlNDg0NjQ3MTY4Y2QwYTQ3Yjg4MDFiYjNlYWEuLjhmOTdmODlmZmRmN2Q1MWUw
N2I1NjgwOTViZGJlNDk5NDAzMDc1MjQgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxTZXR0aW5ncy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbFNldHRpbmdzLmlkbApAQCAtODEsNyArODEsNiBAQCBtb2R1bGUgd2luZG93IHsKICNlbmRp
ZgogICAgICAgICB2b2lkIHNldE1lbW9yeUluZm9FbmFibGVkKGluIGJvb2xlYW4gZW5hYmxlZCkg
cmFpc2VzKERPTUV4Y2VwdGlvbik7CiAgICAgICAgIHZvaWQgc2V0U3RvcmFnZUJsb2NraW5nUG9s
aWN5KGluIERPTVN0cmluZyBwb2xpY3kpIHJhaXNlcyhET01FeGNlcHRpb24pOwotICAgICAgICB2
b2lkIHNldEltYWdlc0VuYWJsZWQoaW4gYm9vbGVhbiBlbmFibGVkKSByYWlzZXMoRE9NRXhjZXB0
aW9uKTsKICAgICB9OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0
Mi5kZWYgYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYKaW5kZXggOGFhNDAzNzFmYWFl
NzBiYzJmNTE5YTFkNDMzZDM5NTUxYWY5YWQ0ZS4uMjczYWZiNTYzOThhMmI0NGI2MzExNTI1NzQ5
YWMwODdhODlmNTQxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVm
CisrKyBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZgpAQCAtMjIyLDcgKzIyMiw2IEBA
IEVYUE9SVFMKICAgICAgICAgP3NldERPTUV4Y2VwdGlvbkBXZWJDb3JlQEBZQVhQQVZFeGVjU3Rh
dGVASlNDQEBIQFoKICAgICAgICAgP3NldEZhbnRhc3lGb250RmFtaWx5QFNldHRpbmdzQFdlYkNv
cmVAQFFBRVhBQlZBdG9taWNTdHJpbmdAV1RGQEBXNFVTY3JpcHRDb2RlQEBAWgogICAgICAgICA/
c2V0Rml4ZWRGb250RmFtaWx5QFNldHRpbmdzQFdlYkNvcmVAQFFBRVhBQlZBdG9taWNTdHJpbmdA
V1RGQEBXNFVTY3JpcHRDb2RlQEBAWgotICAgICAgICA/c2V0SW1hZ2VzRW5hYmxlZEBTZXR0aW5n
c0BXZWJDb3JlQEBRQUVYX05AWgogICAgICAgICA/c2V0TW9ja1Njcm9sbGJhcnNFbmFibGVkQFNl
dHRpbmdzQFdlYkNvcmVAQFNBWF9OQFoKICAgICAgICAgP21vY2tTY3JvbGxiYXJzRW5hYmxlZEBT
ZXR0aW5nc0BXZWJDb3JlQEBTQV9OWFoKICAgICAgICAgP3NldFBhZ2VTY2FsZUZhY3RvckBQYWdl
QFdlYkNvcmVAQFFBRVhNQUJWSW50UG9pbnRAMkBAWgpkaWZmIC0tZ2l0IGEvU291cmNlL2F1dG90
b29scy9zeW1ib2xzLmZpbHRlciBiL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIKaW5k
ZXggMmFmN2U3NjA3ZmRmNDgwYjM3MzEzYzNlMmU0OGQxM2VlNTNhMTVkMi4uYjk4MTQ3YzhlYzgy
NzA5ZTc3YWYzZGZiNzgzNWEwMjJlYWQzMmY5NiAxMDA2NDQKLS0tIGEvU291cmNlL2F1dG90b29s
cy9zeW1ib2xzLmZpbHRlcgorKysgYi9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyCkBA
IC0xNDUsNyArMTQ1LDYgQEAgX1pON1dlYkNvcmUxNFNjcm9sbGFibGVBcmVhMjhzZXRTY3JvbGxP
ZmZzZXRGcm9tSW50ZXJuYWxzRVJLTlNfOEludFBvaW50RTsKIF9aTjdXZWJDb3JlMTBTY3JvbGxW
aWV3MjNzZXRTY3JvbGxiYXJzU3VwcHJlc3NlZEViYjsKIF9aTjdXZWJDb3JlMTBTY3JvbGxWaWV3
MjFzZXREZWxlZ2F0ZXNTY3JvbGxpbmdFYjsKIF9aTjdXZWJDb3JlNE5vZGUxNHJlbW92ZWRMYXN0
UmVmRXY7Ci1fWk43V2ViQ29yZThTZXR0aW5nczE2c2V0SW1hZ2VzRW5hYmxlZEViOwogX1pON1dl
YkNvcmU4U2V0dGluZ3MxOHNldEZpeGVkRm9udEZhbWlseUVSS04zV1RGMTJBdG9taWNTdHJpbmdF
MTFVU2NyaXB0Q29kZTsKIF9aTjdXZWJDb3JlOFNldHRpbmdzMThzZXRTZXJpZkZvbnRGYW1pbHlF
UktOM1dURjEyQXRvbWljU3RyaW5nRTExVVNjcmlwdENvZGU7CiBfWk43V2ViQ29yZThTZXR0aW5n
czIwc2V0Q3Vyc2l2ZUZvbnRGYW1pbHlFUktOM1dURjEyQXRvbWljU3RyaW5nRTExVVNjcmlwdENv
ZGU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggZGE5NmJiNDE3ZmYwMGE4ODJhMzM2YjE3MmQ3Y2Q3M2U1OWE4ZDE4ZS4uOGFm
OTU2NzdlZTY4Y2Q1MTY3MWFjNzg3MTFiMzY2N2VhZTQzODZkNyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5
IEBACisyMDEyLTA5LTE4ICBCbyBMaXUgIDxib2xpdUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
UmV2ZXJ0IDEyODc4MCwgMTI4Njc2LCAxMjg2NDUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTk3MDIyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgSSBtYWRlIHRoZXNlIHJldmlzaW9ucyB0byBhZGQgaW4tcGxh
Y2UgcmVsb2FkIGJlaGF2aW9yIHRvIEltYWdlc0VuYWJsZWQgc2V0dGluZy4KKyAgICAgICAgUmV2
ZXJ0aW5nIHRoaXMgZm9yIG5vdyBkdWUgdG8gdGhlbSBjYXVzaW5nIHBlcmZvcm1hbmNlIHJlZ3Jl
c3Npb24gaW4KKyAgICAgICAgY2hyb21pdW0sIHBvc3NpYmx5IGNhdXNlZCBieSBpbmNyZWFzZWQg
Y2FsbHMgdG8KKyAgICAgICAgUGVybWlzc2lvbkNsaWVudDo6aW1hZ2VBbGxvd2VkLgorCisgICAg
ICAgICogZmFzdC9sb2FkZXIvZGlzcGxheS1pbWFnZS11bnNldC1hbGxvd3MtY2FjaGVkLWltYWdl
LWxvYWQtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvbG9hZGVyL2Rpc3Bs
YXktaW1hZ2UtdW5zZXQtYWxsb3dzLWNhY2hlZC1pbWFnZS1sb2FkLmh0bWw6IFJlbW92ZWQuCisg
ICAgICAgICogZmFzdC9sb2FkZXIvZGlzcGxheS1pbWFnZS11bnNldC1jYW4tYmxvY2staW1hZ2Ut
YW5kLWNhbi1yZWxvYWQtaW4tcGxhY2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAq
IGZhc3QvbG9hZGVyL2Rpc3BsYXktaW1hZ2UtdW5zZXQtY2FuLWJsb2NrLWltYWdlLWFuZC1jYW4t
cmVsb2FkLWluLXBsYWNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9sb2FkZXIvaW1h
Z2VzLWVuYWJsZWQtdW5zZXQtY2FuLWJsb2NrLWltYWdlLWFuZC1jYW4tcmVsb2FkLWluLXBsYWNl
LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2xvYWRlci9pbWFnZXMtZW5h
YmxlZC11bnNldC1jYW4tYmxvY2staW1hZ2UtYW5kLWNhbi1yZWxvYWQtaW4tcGxhY2UuaHRtbDog
UmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2xvYWRlci9yZXNvdXJjZXMvaW1hZ2UxLmh0bWw6IFJl
bW92ZWQuCisgICAgICAgICogZmFzdC9sb2FkZXIvcmVzb3VyY2VzL2ltYWdlMi5odG1sOiBSZW1v
dmVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2h0dHAvdGVzdHMvcGVybWlzc2lvbmNs
aWVudC9pbWFnZS1wZXJtaXNzaW9ucy1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0v
Y2hyb21pdW0vcGVybWlzc2lvbmNsaWVudC9pbWFnZS1wZXJtaXNzaW9ucy1leHBlY3RlZC50eHQ6
CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vcGVybWlzc2lvbmNsaWVudC9pbWFnZS1wZXJt
aXNzaW9ucy5odG1sOgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL3Blcm1pc3Npb25jbGll
bnQvcmVzb3VyY2VzL2ltYWdlLmh0bWw6CisgICAgICAgICogcGxhdGZvcm0vd2syL1NraXBwZWQ6
CisKIDIwMTItMDktMTggIFJhcGhhZWwgS3VibyBkYSBDb3N0YSAgPHJhcGhhZWwua3Viby5kYS5j
b3N0YUBpbnRlbC5jb20+CiAKICAgICAgICAgW0VGTF0gR2FyZGVuaW5nLgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvZGlzcGxheS1pbWFnZS11bnNldC1hbGxvd3MtY2FjaGVk
LWltYWdlLWxvYWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvZGlzcGxh
eS1pbWFnZS11bnNldC1hbGxvd3MtY2FjaGVkLWltYWdlLWxvYWQtZXhwZWN0ZWQudHh0CmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZTE1YWFjMGM1MTVlODA1NmFiM2NjYzk1MTkwMzcz
MzI4ZjgzN2Y4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL2Rpc3BsYXktaW1hZ2UtdW5zZXQtYWxsb3dzLWNhY2hl
ZC1pbWFnZS1sb2FkLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDIgKzAsMCBAQAot
VGVzdCB0aGF0IFdlYktpdERpc3BsYXlJbWFnZXNLZXkgdW5zZXQgZG9lcyBub3QgYmxvY2sgaW1h
Z2UgaW4gY2FjaGUuCi1QQVNTCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9k
aXNwbGF5LWltYWdlLXVuc2V0LWFsbG93cy1jYWNoZWQtaW1hZ2UtbG9hZC5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9sb2FkZXIvZGlzcGxheS1pbWFnZS11bnNldC1hbGxvd3MtY2FjaGVkLWltYWdl
LWxvYWQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDhkNzAzZDUwNGVhYTQ1
YjNmNGVmZmVkMGI0N2I0NzdlNDgxOGZkNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9kaXNwbGF5LWltYWdlLXVu
c2V0LWFsbG93cy1jYWNoZWQtaW1hZ2UtbG9hZC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzkg
KzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQ+Ci0vLyBPcGVucyB0d28gd2luZG93cyBj
b250YWluaW5nIHRoZSBzYW1lIGltYWdlLiBGaXJzdCB3aW5kb3cgd2lsbCBwb3B1bGF0ZSB0aGUg
Y2FjaGUgd2l0aAotLy8gaW1hZ2UuIFRoZSBzZWNvbmQgd2luZG93IGlzIG9wZW5lZCB3aXRoIFdl
YktpdERpc3BsYXlJbWFnZXNLZXkgdW5zZXQsIGJ1dCBpbWFnZSBzaG91bGQKLS8vIHN0aWxsIGxv
YWQgc2luY2UgaXQgaXMgaW4gY2FjaGUuCi1mdW5jdGlvbiBydW5UZXN0KCkKLXsKLSAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0g
ICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAgICB0ZXN0UnVubmVyLnNl
dENhbk9wZW5XaW5kb3dzKCk7Ci0gICAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNl
KCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwotCi0gICAgICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHQnKS5pbm5lckhUTUwgPSAnRkFJTFVSRTogaW1hZ2Ux
Lmh0bWwgbm90IGxvYWRlZCc7Ci0gICAgICAgIHdpbmRvdy5vcGVuKCJyZXNvdXJjZXMvaW1hZ2Ux
Lmh0bWwiLCAiX2JsYW5rIik7Ci0gICAgfQotfQotCi1mdW5jdGlvbiBpbWFnZTFMb2FkZWQoKQot
ewotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCdXZWJLaXREaXNwbGF5SW1hZ2Vz
S2V5JywgMCk7Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdCcpLmlubmVySFRN
TCA9ICdGQUlMVVJFOiBpbWFnZTIuaHRtbCBub3QgbG9hZGVkJzsKLSAgICB3aW5kb3cuc2V0VGlt
ZW91dChmdW5jdGlvbigpIHt3aW5kb3cub3BlbigicmVzb3VyY2VzL2ltYWdlMi5odG1sIiwgIl9i
bGFuayIpO30sIDApOwotfQotCi1mdW5jdGlvbiBpbWFnZTJMb2FkZWQoKQotewotICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHQnKS5pbm5lckhUTUwgPSAnUEFTUyc7Ci0JCXRlc3RS
dW5uZXIubm90aWZ5RG9uZSgpOwotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9
InJ1blRlc3QoKSI+Ci1UZXN0IHRoYXQgV2ViS2l0RGlzcGxheUltYWdlc0tleSB1bnNldCBkb2Vz
IG5vdCBibG9jayBpbWFnZSBpbiBjYWNoZS4KLTxkaXYgaWQ9InJlc3VsdCI+RkFJTFVSRTogVGVz
dCBzY3JpcHQgZGlkbid0IHJ1bi48L2Rpdj4KLTwvYm9keT4KLTwvaHRtbD4KLQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvZGlzcGxheS1pbWFnZS11bnNldC1jYW4tYmxvY2st
aW1hZ2UtYW5kLWNhbi1yZWxvYWQtaW4tcGxhY2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZmFzdC9sb2FkZXIvZGlzcGxheS1pbWFnZS11bnNldC1jYW4tYmxvY2staW1hZ2UtYW5kLWNhbi1y
ZWxvYWQtaW4tcGxhY2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA3YTllZjUzNDc5YjhiNWFhNGI0NjRmNjU3ZjJhY2Y3ZTViYjQ0N2QyLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVy
L2Rpc3BsYXktaW1hZ2UtdW5zZXQtY2FuLWJsb2NrLWltYWdlLWFuZC1jYW4tcmVsb2FkLWluLXBs
YWNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotVGVzdCB0aGF0
IERpc3BsYXlJbWFnZXMgZGlzYWJsZWQgY2FuIGJsb2NrIGh0dHAgaW1hZ2UgYW5kIGNhbiBiZSBy
ZWxvYWRlZCBpbi1wbGFjZSB3aGVuIHRvZ2dsZWQuCi1TVUNDRVNTCi0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvbG9hZGVyL2Rpc3BsYXktaW1hZ2UtdW5zZXQtY2FuLWJsb2NrLWltYWdl
LWFuZC1jYW4tcmVsb2FkLWluLXBsYWNlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9k
aXNwbGF5LWltYWdlLXVuc2V0LWNhbi1ibG9jay1pbWFnZS1hbmQtY2FuLXJlbG9hZC1pbi1wbGFj
ZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMTJmNTA5ZDU0M2I3YTVhN2Q0
N2QxOTFiNzg4NjYzZTZkMjYxOTc3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL2Rpc3BsYXktaW1hZ2UtdW5zZXQt
Y2FuLWJsb2NrLWltYWdlLWFuZC1jYW4tcmVsb2FkLWluLXBsYWNlLmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSw0NyArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdD4KLS8vIFNldHRpbmcg
V2ViS2l0RGlzcGxheUltYWdlc0tleSBpcyBhc3luY2hyb25vdXMsIHNvIHVzaW5nIHF1ZXVlUmVs
b2FkIGFuZCBzZXRJbnRlcnZhbCB0byBjaGVjayB3aGVuIHRoZSBzZXR0aW5nIGFjdHVhbGx5IHRh
a2UgZWZmZWN0LgotCi12YXIgaW50ZXJ2YWxJZDsKLXZhciBpbWFnZU9ubG9hZEZpcmVkID0gMDsK
LQotaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7
Ci0gICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRJbWFnZXNFbmFibGVkKHRydWUpOwot
ICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCdXZWJLaXREaXNwbGF5SW1hZ2VzS2V5
JywgMCk7Ci0gICAgdGVzdFJ1bm5lci5xdWV1ZVJlbG9hZCgpOwotfQotCi1mdW5jdGlvbiBydW5U
ZXN0KCkKLXsKLSAgICB2YXIgaW1hZ2UgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW1hZ2Un
KTsKLSAgICBpZiAoaW1hZ2UubmF0dXJhbEhlaWdodCAhPSAwIHx8IGltYWdlLm5hdHVyYWxXaWR0
aCAhPSAwIHx8IGltYWdlT25sb2FkRmlyZWQgIT0gMCkgewotICAgICAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgncmVzdWx0JykuaW5uZXJIVE1MID0gJ0ZBSUxVUkU6IEltYWdlIHNob3VsZCBu
b3QgYmUgbG9hZGVkIHdoZW4gRGlzcGxheUltYWdlIGlzIHVuc2V0JzsKLSAgICAgICAgcmV0dXJu
OwotICAgIH0KLQotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCdXZWJLaXREaXNw
bGF5SW1hZ2VzS2V5JywgMSk7Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdCcp
LmlubmVySFRNTCA9ICdGQUlMVVJFOiBJbWFnZSBzaG91bGQgcmVsb2FkIGluLXBsYWNlIHdoZW4g
RGlzcGFseUltYWdlIGlzIGNoYW5nZXMgZnJvbSB1bnNldCB0byBzZXQnOwotICAgIHRlc3RSdW5u
ZXIud2FpdFVudGlsRG9uZSgpOwotICAgIGludGVydmFsSWQgPSB3aW5kb3cuc2V0SW50ZXJ2YWwo
cnVuVGVzdFJlc3QsIDEwKTsKLX0KLQotZnVuY3Rpb24gcnVuVGVzdFJlc3QoKQotewotICAgIHZh
ciBpbWFnZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbWFnZScpOwotICAgIGlmIChpbWFn
ZS5uYXR1cmFsSGVpZ2h0ID09IDMzICYmIGltYWdlLm5hdHVyYWxXaWR0aCA9PSAzNyAmJiBpbWFn
ZU9ubG9hZEZpcmVkID09IDEpIHsKLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jl
c3VsdCcpLmlubmVySFRNTCA9ICdTVUNDRVNTJzsKLSAgICAgICAgd2luZG93LmNsZWFySW50ZXJ2
YWwoaW50ZXJ2YWxJZCk7Ci0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0K
LX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotICBUZXN0
IHRoYXQgRGlzcGxheUltYWdlcyBkaXNhYmxlZCBjYW4gYmxvY2sgaHR0cCBpbWFnZSBhbmQgY2Fu
IGJlIHJlbG9hZGVkIGluLXBsYWNlIHdoZW4gdG9nZ2xlZC4KLSAgPGRpdiBpZD0icmVzdWx0Ij5G
QUlMVVJFOiBUZXN0IHNjcmlwdCBkaWRuJ3QgcnVuLjwvZGl2PgotICA8aW1nIGlkPSJpbWFnZSIg
c3JjPSIuLi9pbWFnZXMvcmVzb3VyY2VzL292YWwucG5nIiBvbmxvYWQ9ImltYWdlT25sb2FkRmly
ZWQ9MTsiPgotPC9ib2R5PgotPC9odG1sPgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2xvYWRlci9pbWFnZXMtZW5hYmxlZC11bnNldC1jYW4tYmxvY2staW1hZ2UtYW5kLWNhbi1yZWxv
YWQtaW4tcGxhY2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvaW1hZ2Vz
LWVuYWJsZWQtdW5zZXQtY2FuLWJsb2NrLWltYWdlLWFuZC1jYW4tcmVsb2FkLWluLXBsYWNlLWV4
cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTUxZDQ2MDFjY2MzY2Ex
OGQ4Y2ZkNWE5Njk3ODExMWZmYjBjNjAyMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9pbWFnZXMtZW5hYmxlZC11
bnNldC1jYW4tYmxvY2staW1hZ2UtYW5kLWNhbi1yZWxvYWQtaW4tcGxhY2UtZXhwZWN0ZWQudHh0
CisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi1UZXN0IHRoYXQgRW5hYmxlSW1hZ2VzIHVu
c2V0IGNhbiBibG9jayBpbWFnZSBhbmQgY2FuIGJlIHJlbG9hZGVkIGluLXBsYWNlIHdoZW4gdG9n
Z2xlZC4KLVNVQ0NFU1MKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvaW1h
Z2VzLWVuYWJsZWQtdW5zZXQtY2FuLWJsb2NrLWltYWdlLWFuZC1jYW4tcmVsb2FkLWluLXBsYWNl
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9pbWFnZXMtZW5hYmxlZC11bnNldC1jYW4t
YmxvY2staW1hZ2UtYW5kLWNhbi1yZWxvYWQtaW4tcGxhY2UuaHRtbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggM2Y0OGU2MjhkZGQ2MGQ1YmFmYTJiMTRmMDgzNjBiNGI2ZTZhNjYzYy4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2xvYWRlci9pbWFnZXMtZW5hYmxlZC11bnNldC1jYW4tYmxvY2staW1hZ2UtYW5kLWNh
bi1yZWxvYWQtaW4tcGxhY2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQ3ICswLDAgQEAKLTxo
dG1sPgotPGhlYWQ+Ci08c2NyaXB0PgotLy8gU2V0dGluZyBJbWFnZXNFbmFibGVkIGlzIGFzeW5j
aHJvbm91cywgc28gdXNpbmcgcXVldWVSZWxvYWQgYW5kIHNldEludGVydmFsIHRvIGNoZWNrIHdo
ZW4gdGhlIHNldHRpbmcgYWN0dWFsbHkgdGFrZSBlZmZlY3QuCi0KLXZhciBpbnRlcnZhbElkOwot
dmFyIGltYWdlT25sb2FkRmlyZWQgPSAwOwotCi1pZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAg
ICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVy
ZW5jZSgnV2ViS2l0RGlzcGxheUltYWdlc0tleScsIDEpOwotICAgIHdpbmRvdy5pbnRlcm5hbHMu
c2V0dGluZ3Muc2V0SW1hZ2VzRW5hYmxlZChmYWxzZSk7Ci0gICAgdGVzdFJ1bm5lci5xdWV1ZVJl
bG9hZCgpOwotfQotCi1mdW5jdGlvbiBydW5UZXN0KCkKLXsKLSAgICB2YXIgaW1hZ2UgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgnaW1hZ2UnKTsKLSAgICBpZiAoaW1hZ2UubmF0dXJhbEhlaWdo
dCAhPSAwIHx8IGltYWdlLm5hdHVyYWxXaWR0aCAhPSAwIHx8IGltYWdlT25sb2FkRmlyZWQgIT0g
MCkgewotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzdWx0JykuaW5uZXJIVE1M
ID0gJ0ZBSUxVUkU6IEltYWdlIHNob3VsZCBub3QgYmUgbG9hZGVkIHdoZW4gSW1hZ2VzRW5hYmxl
ZCBpcyB1bnNldCc7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICB3aW5kb3cuaW50ZXJu
YWxzLnNldHRpbmdzLnNldEltYWdlc0VuYWJsZWQodHJ1ZSk7Ci0gICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ3Jlc3VsdCcpLmlubmVySFRNTCA9ICdGQUlMVVJFOiBJbWFnZSBzaG91bGQgcmVs
b2FkIGluLXBsYWNlIHdoZW4gSW1hZ2VzRW5hYmxlZCBpcyBjaGFuZ2VzIGZyb20gdW5zZXQgdG8g
c2V0JzsKLSAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICBpbnRlcnZhbElkID0g
d2luZG93LnNldEludGVydmFsKHJ1blRlc3RSZXN0LCAxMCk7Ci19Ci0KLWZ1bmN0aW9uIHJ1blRl
c3RSZXN0KCkKLXsKLSAgICB2YXIgaW1hZ2UgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW1h
Z2UnKTsKLSAgICBpZiAoaW1hZ2UubmF0dXJhbEhlaWdodCA9PSAzMyAmJiBpbWFnZS5uYXR1cmFs
V2lkdGggPT0gMzcgfHwgaW1hZ2VPbmxvYWRGaXJlZCA9PSAxKSB7Ci0gICAgICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdyZXN1bHQnKS5pbm5lckhUTUwgPSAnU1VDQ0VTUyc7Ci0gICAgICAg
IHdpbmRvdy5jbGVhckludGVydmFsKGludGVydmFsSWQpOwotICAgICAgICB0ZXN0UnVubmVyLm5v
dGlmeURvbmUoKTsKLSAgICB9Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0i
cnVuVGVzdCgpIj4KLSAgVGVzdCB0aGF0IEVuYWJsZUltYWdlcyB1bnNldCBjYW4gYmxvY2sgaW1h
Z2UgYW5kIGNhbiBiZSByZWxvYWRlZCBpbi1wbGFjZSB3aGVuIHRvZ2dsZWQuCi0gIDxkaXYgaWQ9
InJlc3VsdCI+RkFJTFVSRTogVGVzdCBzY3JpcHQgZGlkbid0IHJ1bi48L2Rpdj4KLSAgPGltZyBp
ZD0iaW1hZ2UiIHNyYz0iLi4vaW1hZ2VzL3Jlc291cmNlcy9vdmFsLnBuZyIgb25sb2FkPSJpbWFn
ZU9ubG9hZEZpcmVkPTE7Ij4KLTwvYm9keT4KLTwvaHRtbD4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9sb2FkZXIvcmVzb3VyY2VzL2ltYWdlMS5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9sb2FkZXIvcmVzb3VyY2VzL2ltYWdlMS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBjZDY5ZGMzYzJhMGQ2YTE1ZTA4OTYzNzkxMDMyNTRmNWVhYTM0ZGMxLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvbG9h
ZGVyL3Jlc291cmNlcy9pbWFnZTEuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAot
PGh0bWw+Ci08Ym9keT4KLSAgPGltZyBzcmM9Ii4uLy4uL2ltYWdlcy9yZXNvdXJjZXMvb3ZhbC5w
bmciIG9ubG9hZD0id2luZG93Lm9wZW5lci5pbWFnZTFMb2FkZWQoKTsiPgotPC9ib2R5PgotPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvcmVzb3VyY2VzL2ltYWdl
Mi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvcmVzb3VyY2VzL2ltYWdlMi5odG1sCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMDM3ZmZmMGNlNjU2Nzc3Y2MwMmU4YWU2Y2M4
MWNmNmVhNDQyYWFjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL3Jlc291cmNlcy9pbWFnZTIuaHRtbAorKysgL2Rl
di9udWxsCkBAIC0xLDUgKzAsMCBAQAotPGh0bWw+Ci08Ym9keT4KLSAgPGltZyBzcmM9Ii4uLy4u
L2ltYWdlcy9yZXNvdXJjZXMvb3ZhbC5wbmciIG9ubG9hZD0id2luZG93Lm9wZW5lci5pbWFnZTJM
b2FkZWQoKTsiPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vaHR0cC90ZXN0cy9wZXJtaXNzaW9uY2xpZW50L2ltYWdlLXBlcm1pc3Np
b25zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2h0dHAvdGVz
dHMvcGVybWlzc2lvbmNsaWVudC9pbWFnZS1wZXJtaXNzaW9ucy1leHBlY3RlZC50eHQKaW5kZXgg
ZTdjYWE5YWY2MjNhOWVkMjQwOTk3MjcyNmJlYTI4MGJkNGIxZjNjOS4uNWNjYWM0YWJlZjRhODZi
MjYwOTVmZDYyYWVmZjc1MDllYzgyMGMzZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vaHR0cC90ZXN0cy9wZXJtaXNzaW9uY2xpZW50L2ltYWdlLXBlcm1pc3Npb25z
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rl
c3RzL3Blcm1pc3Npb25jbGllbnQvaW1hZ2UtcGVybWlzc2lvbnMtZXhwZWN0ZWQudHh0CkBAIC0x
LDUgKzEsNCBAQAogUEVSTUlTU0lPTiBDTElFTlQ6IGFsbG93SW1hZ2UoaHR0cDovLzEyNy4wLjAu
MTo4MDAwL3Blcm1pc3Npb25jbGllbnQvcmVzb3VyY2VzL3JlZGlyLnBocD91cmw9aHR0cDovLzEy
Ny4wLjAuMTo4MDAwL3Blcm1pc3Npb25jbGllbnQvcmVzb3VyY2VzL2Jvc3Rvbi5naWYpOiB0cnVl
Ci1QRVJNSVNTSU9OIENMSUVOVDogYWxsb3dJbWFnZShodHRwOi8vMTI3LjAuMC4xOjgwMDAvcGVy
bWlzc2lvbmNsaWVudC9yZXNvdXJjZXMvcmVkaXIucGhwP3VybD1odHRwOi8vMTI3LjAuMC4xOjgw
MDAvcGVybWlzc2lvbmNsaWVudC9yZXNvdXJjZXMvYm9zdG9uLmdpZik6IHRydWUKIFBFUk1JU1NJ
T04gQ0xJRU5UOiBhbGxvd0ltYWdlKGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9wZXJtaXNzaW9uY2xp
ZW50L3Jlc291cmNlcy9ib3N0b24uZ2lmKTogdHJ1ZQogVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGFs
bCBVUkxzIGluIGEgcmVkaXJlY3QgY2hhaW4gYXJlIHBhc3NlZCB0byB0aGUgUGVybWlzc2lvbkNs
aWVudC4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vcGVybWlz
c2lvbmNsaWVudC9pbWFnZS1wZXJtaXNzaW9ucy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9wZXJtaXNzaW9uY2xpZW50L2ltYWdlLXBlcm1pc3Npb25zLWV4cGVj
dGVkLnR4dAppbmRleCAxODFkYzgxMDc3MzllNWZkOWY1MDNkYmJkYzdlNzAyZDljNTAxZDYyLi42
MGU3NmE1MjNhZGYyNjQ0NjUzMzU4Mjk2ZjdjYjllYjQzOGQzZjlmIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9wZXJtaXNzaW9uY2xpZW50L2ltYWdlLXBlcm1pc3Np
b25zLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9wZXJt
aXNzaW9uY2xpZW50L2ltYWdlLXBlcm1pc3Npb25zLWV4cGVjdGVkLnR4dApAQCAtMSwxNCArMSwx
MCBAQAogUEVSTUlTU0lPTiBDTElFTlQ6IGFsbG93SW1hZ2UoKGZpbGUgdGVzdCk6cGxhdGZvcm0v
Y2hyb21pdW0vcGVybWlzc2lvbmNsaWVudC9yZXNvdXJjZXMvYm9zdG9uLmdpZik6IHRydWUKLVBF
Uk1JU1NJT04gQ0xJRU5UOiBhbGxvd0ltYWdlKChmaWxlIHRlc3QpOnBsYXRmb3JtL2Nocm9taXVt
L3Blcm1pc3Npb25jbGllbnQvcmVzb3VyY2VzL2Jvc3Rvbi5naWYpOiB0cnVlCi1QRVJNSVNTSU9O
IENMSUVOVDogYWxsb3dJbWFnZSgoZmlsZSB0ZXN0KTpwbGF0Zm9ybS9jaHJvbWl1bS9wZXJtaXNz
aW9uY2xpZW50L3Jlc291cmNlcy9ib3N0b24uZ2lmP25vY2FjaGUpOiBmYWxzZQogUEVSTUlTU0lP
TiBDTElFTlQ6IGFsbG93SW1hZ2UoKGZpbGUgdGVzdCk6cGxhdGZvcm0vY2hyb21pdW0vcGVybWlz
c2lvbmNsaWVudC9yZXNvdXJjZXMvYm9zdG9uLmdpZj9ub2NhY2hlKTogZmFsc2UKIFBFUk1JU1NJ
T04gQ0xJRU5UOiBhbGxvd0ltYWdlKChmaWxlIHRlc3QpOnBsYXRmb3JtL2Nocm9taXVtL3Blcm1p
c3Npb25jbGllbnQvcmVzb3VyY2VzL2Jvc3Rvbi5naWYpOiBmYWxzZQogUEVSTUlTU0lPTiBDTElF
TlQ6IGFsbG93SW1hZ2UoKGZpbGUgdGVzdCk6cGxhdGZvcm0vY2hyb21pdW0vcGVybWlzc2lvbmNs
aWVudC9yZXNvdXJjZXMvYm9zdG9uLmdpZik6IGZhbHNlCi1QRVJNSVNTSU9OIENMSUVOVDogYWxs
b3dJbWFnZSgoZmlsZSB0ZXN0KTpwbGF0Zm9ybS9jaHJvbWl1bS9wZXJtaXNzaW9uY2xpZW50L3Jl
c291cmNlcy9ib3N0b24uZ2lmKTogZmFsc2UKLVBFUk1JU1NJT04gQ0xJRU5UOiBhbGxvd0ltYWdl
KChmaWxlIHRlc3QpOnBsYXRmb3JtL2Nocm9taXVtL3Blcm1pc3Npb25jbGllbnQvcmVzb3VyY2Vz
L2Jvc3Rvbi5naWYpOiBmYWxzZQotUEVSTUlTU0lPTiBDTElFTlQ6IGFsbG93SW1hZ2UoKGZpbGUg
dGVzdCk6cGxhdGZvcm0vY2hyb21pdW0vcGVybWlzc2lvbmNsaWVudC9yZXNvdXJjZXMvYm9zdG9u
LmdpZik6IGZhbHNlCi1QRVJNSVNTSU9OIENMSUVOVDogYWxsb3dJbWFnZSgoZmlsZSB0ZXN0KTpw
bGF0Zm9ybS9jaHJvbWl1bS9wZXJtaXNzaW9uY2xpZW50L3Jlc291cmNlcy9ib3N0b24uZ2lmKTog
ZmFsc2UKIAogCiBQQVNTOiBmaXJzdCBpbWFnZSBsb2FkZWQKK1BBU1M6IGVycm9yIGV2ZW50IGZv
ciBub3QgY2FjaGVkIGltYWdlCitQQVNTOiBlcnJvciBldmVudCBmb3IgaW1hZ2UgZnJvbSBjYWNo
ZQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9wZXJtaXNzaW9u
Y2xpZW50L2ltYWdlLXBlcm1pc3Npb25zLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9wZXJtaXNzaW9uY2xpZW50L2ltYWdlLXBlcm1pc3Npb25zLmh0bWwKaW5kZXggZjU3YTNi
NzA3MDQzMzA5YzJmYWIyZmY5MmMzZTllMmM2ZTQxOTY0Ny4uN2I1ZTJjNTc1Yzk4OTc0YWMwOGY4
N2U5ZjhjMTIwNzEwYWRiZmVmMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vcGVybWlzc2lvbmNsaWVudC9pbWFnZS1wZXJtaXNzaW9ucy5odG1sCisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Blcm1pc3Npb25jbGllbnQvaW1hZ2UtcGVybWlzc2lv
bnMuaHRtbApAQCAtMSw5ICsxLDYgQEAKIDxodG1sPgogPGhlYWQ+CiA8c2NyaXB0PgotLy8gQmxv
Y2tlZCBpbWFnZXMgY2FuIGJlIHJlbG9hZGVkLCBzbyBuZWl0aGVyIG9ubG9hZCBub3Igb25lcnJv
ciBpcyBjYWxsZWQuCi0vLyBPbmx5IGNoZWNrIGhlcmUgdGhhdCBvbmxvYWQgaXMgbmV2ZXIgY2Fs
bGVkIHdoZW4gaW1hZ2UgaXMgYmxvY2tlZC4KLQogaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAg
ICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgICAgdGVzdFJ1bm5lci5kdW1wUGVybWlzc2lv
bkNsaWVudENhbGxiYWNrcygpOwpAQCAtMjQsMTIgKzIxLDE0IEBAIGZ1bmN0aW9uIGxvYWRlZCgp
CiAKICAgICAvLyBMb2FkIGFuIGltYWdlIG5vdCBpbiBjYWNoZS4KICAgICB2YXIgaW1nID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgnaW1nJyk7CisgICAgaW1nLm9uZXJyb3IgPSBmdW5jdGlvbiAo
KSB7IGxvZygiUEFTUzogZXJyb3IgZXZlbnQgZm9yIG5vdCBjYWNoZWQgaW1hZ2UiKTsgfQogICAg
IGltZy5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7IGxvZygiRkFJTDogbm90IGNhY2hlZCBpbWFnZSBs
b2FkZWQiKTsgfQogICAgIGltZy5zcmMgPSAicmVzb3VyY2VzL2Jvc3Rvbi5naWY/bm9jYWNoZSI7
CiAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImltZyIpLmFwcGVuZENoaWxkKGltZyk7CiAK
ICAgICAvLyBMb2FkIGFuIGltYWdlIGZyb20gY2FjaGUuCiAgICAgdmFyIGltZ0Zyb21DYWNoZSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2ltZycpOworICAgIGltZ0Zyb21DYWNoZS5vbmVycm9y
ID0gZnVuY3Rpb24gKCkgeyBsb2coIlBBU1M6IGVycm9yIGV2ZW50IGZvciBpbWFnZSBmcm9tIGNh
Y2hlIik7IH0KICAgICBpbWdGcm9tQ2FjaGUub25sb2FkID0gZnVuY3Rpb24gKCkgeyBsb2coIkZB
SUw6IGltYWdlIGZyb20gY2FjaGUgbG9hZGVkIik7IH0KICAgICBpbWdGcm9tQ2FjaGUuc3JjID0g
InJlc291cmNlcy9ib3N0b24uZ2lmIjsKICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaW1n
IikuYXBwZW5kQ2hpbGQoaW1nRnJvbUNhY2hlKTsKQEAgLTQyLDcgKzQxLDcgQEAgZnVuY3Rpb24g
bG9hZGVkKCkKIDwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHk+Ci08aW1nIHNyYz0icmVzb3VyY2Vz
L2Jvc3Rvbi5naWYiIG9ubG9hZD0ibG9hZGVkKCkiPgorPGltZyBzcmM9InJlc291cmNlcy9ib3N0
b24uZ2lmIiBvbmxvYWQ9ImxvYWRlZCgpIiBvbmVycm9yPSJsb2coJ0ZBSUw6IGVycm9yIGV2ZW50
IGZvciBmaXJzdCBpbWFnZScpIj4KIDxkaXYgaWQ9ImltZyI+PC9kaXY+CiA8ZGl2IGlkPSJyZXN1
bHRzIj48L2Rpdj4KIDwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL3Blcm1pc3Npb25jbGllbnQvcmVzb3VyY2VzL2ltYWdlLmh0bWwgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9wZXJtaXNzaW9uY2xpZW50L3Jlc291cmNlcy9pbWFnZS5odG1s
CmluZGV4IDIzOTc3MTcxMDFkZWQ0NDBhMzI5NTU4MjZlODQxY2QxY2Q2MjNmOTcuLmUyYWRmZTNm
MGI2MjFhYThkOWZmNGUxOTBjOTAyMjMwNWNjMDcwZWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL3Blcm1pc3Npb25jbGllbnQvcmVzb3VyY2VzL2ltYWdlLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vcGVybWlzc2lvbmNsaWVudC9yZXNv
dXJjZXMvaW1hZ2UuaHRtbApAQCAtOCw3ICs4LDcgQEAgZnVuY3Rpb24gbG9nKGEpCiA8L3Njcmlw
dD4KIDwvaGVhZD4KIDxib2R5PgotPGltZyBzcmM9ImJvc3Rvbi5naWYiIG9ubG9hZD0ibG9nKCdG
QUlMOiBsb2FkIGV2ZW50IGZvciBpZnJhbWVkIGltYWdlJykiPgorPGltZyBzcmM9ImJvc3Rvbi5n
aWYiIG9ubG9hZD0ibG9nKCdGQUlMOiBsb2FkIGV2ZW50IGZvciBpZnJhbWVkIGltYWdlKSIgb25l
cnJvcj0ibG9nKCdGQUlMOiBlcnJvciBldmVudCBmb3IgaWZyYW1lZCBpbWFnZScpIj4KIDxkaXYg
aWQ9InJlc3VsdHMiPjwvZGl2PgogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd2syL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvU2tp
cHBlZAppbmRleCBjMWRhYjI3YTRhNjZkYTNmZDU2NDBjYjMwMzhhZGNjZGE5OGExYTE2Li4xOTE3
YjZjZWZiMzc5OWViZGFkM2U5ODBmMzU3NjgxNmQ4NGQwMzExIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS93azIvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIv
U2tpcHBlZApAQCAtMjAxLDcgKzIwMSw2IEBAIGZhc3QvY2FudmFzL3dlYmdsL3dlYmdsLWFycmF5
LWludmFsaWQtcmFuZ2VzLmh0bWwKIGZhc3QvY2FudmFzL3dlYmdsL3dlYmdsLXNwZWNpZmljLmh0
bWwKIGZhc3QvaGFybmVzcy9vdmVycmlkZS1wcmVmZXJlbmNlcy0yLmh0bWwKIGZhc3QvaW1hZ2Vz
L2FuaW1hdGVkLWdpZi1yZXN0b3JlZC1mcm9tLWJmY2FjaGUuaHRtbAotZmFzdC9sb2FkZXIvZGlz
cGxheS1pbWFnZS11bnNldC1hbGxvd3MtY2FjaGVkLWltYWdlLWxvYWQuaHRtbAogZmFzdC90ZXh0
L3plcm8tZm9udC1zaXplLmh0bWwKIAogIyBXZWJLaXRUZXN0UnVubmVyIG5lZWRzIHRvIHN1cHBv
cnQgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcERPTUFzV2ViQXJjaGl2ZQpAQCAtMzQwLDggKzMz
OSw2IEBAIHN2Zy9jdXN0b20vc3ZnLWFsbG93ZWQtaW4tZGFzaGJvYXJkLW9iamVjdC5odG1sCiAj
IDxodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDI2NzI+CiBmYXN0L2Nz
cy9jb21wYXJlLWNvbnRlbnQtc3R5bGUuaHRtbAogZmFzdC9mcmFtZXMvZnJhbWUtZGlzcGxheS1u
b25lLWZvY3VzLmh0bWwKLWZhc3QvbG9hZGVyL2Rpc3BsYXktaW1hZ2UtdW5zZXQtY2FuLWJsb2Nr
LWltYWdlLWFuZC1jYW4tcmVsb2FkLWluLXBsYWNlLmh0bWwKLWZhc3QvbG9hZGVyL2ltYWdlcy1l
bmFibGVkLXVuc2V0LWNhbi1ibG9jay1pbWFnZS1hbmQtY2FuLXJlbG9hZC1pbi1wbGFjZS5odG1s
CiBmYXN0L2xvYWRlci9yZWxvYWQtcG9saWN5LWRlbGVnYXRlLmh0bWwKIAogIyBXZWJLaXRUZXN0
UnVubmVyIG5lZWRzIGxheW91dFRlc3RDb250cm9sbGVyLnF1ZXVlTG9hZApkaWZmIC0tZ2l0IGEv
Q2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IDJiYmI4ODg3MDdjYTQ0MjNmNjc3ODM1Mzc1NDM3
Njk1ZjAxMWZiN2IuLjQ3Yjc1ZTEzNWU0YmU0NTEwY2JkYmYzOGNhYjM2NThiNzBlMjVjMWMgMTAw
NjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAx
Mi0wOS0xOCAgQm8gTGl1ICA8Ym9saXVAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmVydCAx
Mjg3ODAsIDEyODY3NiwgMTI4NjQ1CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD05NzAyMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEkgbWFkZSB0aGVzZSByZXZpc2lvbnMgdG8gYWRkIGluLXBsYWNlIHJlbG9h
ZCBiZWhhdmlvciB0byBJbWFnZXNFbmFibGVkIHNldHRpbmcuCisgICAgICAgIFJldmVydGluZyB0
aGlzIGZvciBub3cgZHVlIHRvIHRoZW0gY2F1c2luZyBwZXJmb3JtYW5jZSByZWdyZXNzaW9uIGlu
CisgICAgICAgIGNocm9taXVtLCBwb3NzaWJseSBjYXVzZWQgYnkgaW5jcmVhc2VkIGNhbGxzIHRv
CisgICAgICAgIFBlcm1pc3Npb25DbGllbnQ6OmltYWdlQWxsb3dlZC4KKworICAgICAgICAqIFNv
dXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXI6CisKIDIwMTItMDktMTggIFJ5dWFuIENob2kg
IDxyeXVhbi5jaG9pQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtDTUFLRV0gRml4IGJ1aWxkIGJy
ZWFrIGJlY2F1c2Ugb2YgbWVtb3J5IGV4aGF1c3RlZC4K
</data>

          </attachment>
      

    </bug>

</bugzilla>