<?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>219875</bug_id>
          
          <creation_ts>2020-12-14 15:00:12 -0800</creation_ts>
          <short_desc>[macOS] Adjust date input placeholder color based on specified text color</short_desc>
          <delta_ts>2020-12-15 17:05:47 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Forms</component>
          <version>Safari Technology Preview</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Aditya Keerthi">akeerthi</reporter>
          <assigned_to name="Aditya Keerthi">akeerthi</assigned_to>
          <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hi</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pdr</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1714586</commentid>
    <comment_count>0</comment_count>
    <who name="Aditya Keerthi">akeerthi</who>
    <bug_when>2020-12-14 15:00:12 -0800</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1714587</commentid>
    <comment_count>1</comment_count>
    <who name="Aditya Keerthi">akeerthi</who>
    <bug_when>2020-12-14 15:00:29 -0800</bug_when>
    <thetext>&lt;rdar://problem/72314705&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1714588</commentid>
    <comment_count>2</comment_count>
      <attachid>416197</attachid>
    <who name="Aditya Keerthi">akeerthi</who>
    <bug_when>2020-12-14 15:03:56 -0800</bug_when>
    <thetext>Created attachment 416197
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1714850</commentid>
    <comment_count>3</comment_count>
      <attachid>416197</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-12-15 11:50:57 -0800</bug_when>
    <thetext>Comment on attachment 416197
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=416197&amp;action=review

Really great changes!

&gt; LayoutTests/ChangeLog:12
&gt; +        * fast/forms/date/date-editable-components/date-editable-components-placeholder-color-expected-mismatch.html: Added.

It’s a little disappointing when we can only create a mismatch test, since there are so many ways for such tests to pass (false negative).

Can we make a reference test, carefully choosing colors so the placeholder text can be reproduced with some other mechanism. Or is that impractical?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1714902</commentid>
    <comment_count>4</comment_count>
      <attachid>416287</attachid>
    <who name="Aditya Keerthi">akeerthi</who>
    <bug_when>2020-12-15 13:29:44 -0800</bug_when>
    <thetext>Created attachment 416287
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1714904</commentid>
    <comment_count>5</comment_count>
    <who name="Aditya Keerthi">akeerthi</who>
    <bug_when>2020-12-15 13:32:59 -0800</bug_when>
    <thetext>(In reply to Darin Adler from comment #3)
&gt; Comment on attachment 416197 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=416197&amp;action=review
&gt; 
&gt; Really great changes!

Thanks for the review!

&gt; &gt; LayoutTests/ChangeLog:12
&gt; &gt; +        * fast/forms/date/date-editable-components/date-editable-components-placeholder-color-expected-mismatch.html: Added.
&gt; 
&gt; It’s a little disappointing when we can only create a mismatch test, since
&gt; there are so many ways for such tests to pass (false negative).
&gt; 
&gt; Can we make a reference test, carefully choosing colors so the placeholder
&gt; text can be reproduced with some other mechanism. Or is that impractical?

I removed the mismatch test and replaced it with a reference test that reproduces the placeholder text by setting the value of the input to the current date, and styling the day/month/year fields.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1714975</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-12-15 17:05:45 -0800</bug_when>
    <thetext>Committed r270875: &lt;https://trac.webkit.org/changeset/270875&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 416287.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>416197</attachid>
            <date>2020-12-14 15:03:56 -0800</date>
            <delta_ts>2020-12-15 11:50:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219875-20201214180411.patch</filename>
            <type>text/plain</type>
            <size>20104</size>
            <attacher name="Aditya Keerthi">akeerthi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwNzY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWE2ZmRkZDAwZjA2ZTcz
OTE4MjYzZjY5YzExMmVjN2E0ZWE3ZjI1YS4uYWEwN2UzYjMwMjFkZDBiNjBkODU3MDgzMzAxZWU2
NmQ3YjVkN2Y5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcxIEBACisyMDIwLTEyLTE0ICBBZGl0
eWEgS2VlcnRoaSAgPGFrZWVydGhpQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIEFkanVz
dCBkYXRlIGlucHV0IHBsYWNlaG9sZGVyIGNvbG9yIGJhc2VkIG9uIHNwZWNpZmllZCB0ZXh0IGNv
bG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTk4
NzUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzcyMzE0NzA1PgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVtcHR5IGRhdGUgaW5wdXRzIGN1cnJlbnRs
eSBzaG93IHRoZSBjdXJyZW50IGRhdGUgaW4gZGFyayBncmF5IHRleHQgYXMKKyAgICAgICAgYSBw
bGFjZWhvbGRlci4KKworICAgICAgICBUaGUgZXhpc3RpbmcgYmVoYXZpb3IgcmVzdWx0cyBpbiBh
biBpc3N1ZSBvbiBOaWtlJ3MgbWVtYmVyc2hpcCByZWdpc3RyYXRpb24KKyAgICAgICAgcGFnZSwg
d2hlcmUgdGhlaXIgY3VzdG9tIHBsYWNlaG9sZGVyIGFuZCB0aGUgcGxhY2Vob2xkZXIgZGF0ZSBh
cmUgdmlzaWJsZQorICAgICAgICBhdCB0aGUgc2FtZSB0aW1lLiBOaWtlIHVzZXMgImNvbG9yOiB0
cmFuc3BhcmVudCIgdG8gaGlkZSB0aGUgY29udGVudHMgb2YKKyAgICAgICAgdGhlIGRhdGUgaW5w
dXQgYW5kIGRpc3BsYXkgdGhlaXIgb3duIHBsYWNlaG9sZGVyLiBIb3dldmVyLCBzaW5jZSB0aGUK
KyAgICAgICAgcGxhY2Vob2xkZXIgZGF0ZSBpcyBhbHdheXMgZGlzcGxheWVkIGluIGRhcmsgZ3Jh
eSB0ZXh0LCBib3RoIHBsYWNlaG9sZGVycworICAgICAgICBhcmUgdmlzaWJsZS4KKworICAgICAg
ICBUbyBmaXgsIHRoZSBjb2xvciBvZiB0aGUgcGxhY2Vob2xkZXIgc2hvdWxkIGJlIGFkanVzdGVk
IGJhc2VkIG9uIHRoZSB0ZXh0CisgICAgICAgIGNvbG9yIHNwZWNpZmllZCBieSB0aGUgc2l0ZSBh
dXRob3IuIFRoaXMgd2lsbCBlbnN1cmUgdGhhdAorICAgICAgICAiY29sb3I6IHRyYW5zcGFyZW50
IiB3aWxsIGhpZGUgdGhlIHBsYWNlaG9sZGVyLCBhbmQgYWxzbyBlbnN1cmVzIHRoZQorICAgICAg
ICBwbGFjZWhvbGRlciBiZXR0ZXIgbWF0Y2hlcyB0aGUgc3R5bGUgb2YgdGhlIHJlc3Qgb2YgdGhl
IGlucHV0LgorCisgICAgICAgIFRlc3RzOiBmYXN0L2Zvcm1zL2RhdGUvZGF0ZS1lZGl0YWJsZS1j
b21wb25lbnRzL2RhdGUtZWRpdGFibGUtY29tcG9uZW50cy1wbGFjZWhvbGRlci1jb2xvci10cmFu
c3BhcmVudC5odG1sCisgICAgICAgICAgICAgICBmYXN0L2Zvcm1zL2RhdGUvZGF0ZS1lZGl0YWJs
ZS1jb21wb25lbnRzL2RhdGUtZWRpdGFibGUtY29tcG9uZW50cy1wbGFjZWhvbGRlci1jb2xvci5o
dG1sCisKKyAgICAgICAgKiBodG1sL3NoYWRvdy9EYXRlVGltZUZpZWxkRWxlbWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpEYXRlVGltZUZpZWxkRWxlbWVudDo6cmVzb2x2ZUN1c3RvbVN0eWxl
KToKKworICAgICAgICBNb3ZlZCBjdXN0b20gc3R5bGUgcmVzb2x1dGlvbiBvdXQgb2YgdGhlIGRl
cml2ZWQgY2xhc3NlcyBhbmQgaW50byB0aGUKKyAgICAgICAgYmFzZSBjbGFzcyB0byByZWR1Y2Ug
Y29kZSBkdXBsaWNhdGlvbi4gVGhlIG1pbi13aWR0aCBhZGp1c3RtZW50IGlzCisgICAgICAgIHBy
ZXNlcnZlZCBieSBjYWxsaW5nIHRoZSBwdXJlIHZpcnR1YWwgbWV0aG9kIGFkanVzdE1pbldpZHRo
LiBUaGUKKyAgICAgICAgbmV3IGNvbG9yIHJlc29sdXRpb24gZm9yIHBsYWNlaG9sZGVyIGRhdGVz
IGlzIHBlcmZvcm1lZCBieSBvYnRhaW5pbmcKKyAgICAgICAgdGhlIHRleHQgYW5kIGJhY2tncm91
bmQgY29sb3JzIHRocm91Z2ggdGhlIHNoYWRvdyBob3N0ICh0aGUKKyAgICAgICAgSFRNTElucHV0
RWxlbWVudCkgYW5kIGNhbGxpbmcgaW50byBSZW5kZXJUaGVtZSBmb3IgdGhlIGFkanVzdG1lbnQK
KyAgICAgICAgYWxnb3JpdGhtLgorCisgICAgICAgICogaHRtbC9zaGFkb3cvRGF0ZVRpbWVGaWVs
ZEVsZW1lbnQuaDoKKworICAgICAgICBNYWRlIHNldEVtcHR5VmFsdWUgYW5kIHNldFZhbHVlQXNJ
bnRlZ2VyIHB1cmUgdmlydHVhbCBtZXRob2RzIHNpbmNlCisgICAgICAgIHRoZSBiYXNlIGltcGxl
bWVudGF0aW9uIGlzIG5vdyBlbXB0eS4KKworICAgICAgICBJbnRyb2R1Y2VkIGFkanVzdE1pbldp
ZHRoIGFzIGEgcHVyZSB2aXJ0dWFsIG1ldGhvZCB0byBhbGxvdyBudW1lcmljCisgICAgICAgIGFu
ZCBzeW1ib2xpYyBmaWVsZCBlbGVtZW50cyB0byBzZXQgdGhlaXIgbWluaW11bSB3aWR0aC4gVGhp
cyByZXBsYWNlcworICAgICAgICB0aGUgbmVlZCB0byBoYXZlIHRoZSBkZXJpdmVkIGNsYXNzZXMg
aW1wbGVtZW50IHJlc29sdmVDdXN0b21TdHlsZS4KKworICAgICAgICAqIGh0bWwvc2hhZG93L0Rh
dGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEYXRlVGlt
ZU51bWVyaWNGaWVsZEVsZW1lbnQ6OmFkanVzdE1pbldpZHRoIGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OkRhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudDo6c2V0RW1wdHlWYWx1ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQ6OnNldFZhbHVlQXNJbnRl
Z2VyKToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9EYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQu
aDoKKyAgICAgICAgKiBodG1sL3NoYWRvdy9EYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkRhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQ6OmFkanVz
dE1pbldpZHRoIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkRhdGVUaW1lU3ltYm9saWNGaWVs
ZEVsZW1lbnQ6OnNldEVtcHR5VmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6RGF0ZVRpbWVTeW1i
b2xpY0ZpZWxkRWxlbWVudDo6c2V0VmFsdWVBc0ludGVnZXIpOgorICAgICAgICAqIGh0bWwvc2hh
ZG93L0RhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyVGhlbWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OmRhdGVQbGFj
ZWhvbGRlclRleHRDb2xvciBjb25zdCk6CisKKyAgICAgICAgQWRqdXN0IHRoZSBwbGFjZWhvbGRl
ciB0ZXh0IGNvbG9yIGJhc2VkIG9uIHRoZSB0ZXh0IGFuZCBiYWNrZ3JvdW5kIGNvbG9yCisgICAg
ICAgIHNwZWNpZmllZC4gVGhlIGFkanVzdG1lbnQgaXMgcGVyZm9ybWVkIGJ5IGNoYW5naW5nIHRo
ZSBsaWdodG5lc3Mgb2YgdGhlCisgICAgICAgIHNwZWNpZmllZCB0ZXh0IGNvbG9yLiBUaGUgbGln
aHRuZXNzIGlzIGluY3JlYXNlZCBmb3IgZGFyayB0ZXh0IG9uIGEgbGlnaHQKKyAgICAgICAgYmFj
a2dyb3VuZCwgYW5kIGlzIGRlY3JlYXNlZCBmb3IgbGlnaHQgdGV4dCBvbiBhIGRhcmsgYmFja2dy
b3VuZC4gVGhlCisgICAgICAgIGNob3NlbiBhZGp1c3RtZW50IGZhY3RvciBlbnN1cmVzIHRoYXQg
YSBkYXJrIGdyYXkgY29sb3IgaXMgb2J0YWluZWQgZm9yCisgICAgICAgIGJvdGggd2hpdGUgb24g
YmxhY2ssIGFuZCBibGFjayBvbiB3aGl0ZS4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJU
aGVtZS5oOgorCiAyMDIwLTEyLTE0ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAK
ICAgICAgICAgW0dQVVByb2Nlc3NdIENyYXNoIHVuZGVyIEF1ZGlvRGVzdGluYXRpb25Db2NvYTo6
c2V0SXNQbGF5aW5nKGJvb2wpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRv
dy9EYXRlVGltZUZpZWxkRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9E
YXRlVGltZUZpZWxkRWxlbWVudC5jcHAKaW5kZXggNzU3ZjRmMTdhMWJjZGMxNzc0NTAzZjc0MTEx
ZmE3YjliMmY1MWQ0OS4uYThiMTkxZjA5M2RlZjBkMmFhZjcxMzA1MzAxNGNiNjI5Njk1YjhiYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVGaWVsZEVsZW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lRmllbGRFbGVt
ZW50LmNwcApAQCAtMzAsMTMgKzMwLDE1IEBACiAjaWYgRU5BQkxFKERBVEVfQU5EX1RJTUVfSU5Q
VVRfVFlQRVMpCiAKICNpbmNsdWRlICJDU1NQcm9wZXJ0eU5hbWVzLmgiCi0jaW5jbHVkZSAiQ1NT
VmFsdWVLZXl3b3Jkcy5oIgogI2luY2x1ZGUgIkRhdGVDb21wb25lbnRzLmgiCiAjaW5jbHVkZSAi
RXZlbnROYW1lcy5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIktleWJvYXJk
RXZlbnQuaCIKICNpbmNsdWRlICJMb2NhbGl6ZWRTdHJpbmdzLmgiCiAjaW5jbHVkZSAiUGxhdGZv
cm1Mb2NhbGUuaCIKKyNpbmNsdWRlICJSZW5kZXJTdHlsZS5oIgorI2luY2x1ZGUgIlJlbmRlclRo
ZW1lLmgiCisjaW5jbHVkZSAiU3R5bGVSZXNvbHZlci5oIgogI2luY2x1ZGUgIlRleHQuaCIKICNp
bmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0
cmluZy5oPgpAQCAtNjEsNiArNjMsMjQgQEAgdm9pZCBEYXRlVGltZUZpZWxkRWxlbWVudDo6aW5p
dGlhbGl6ZShjb25zdCBBdG9tU3RyaW5nJiBwc2V1ZG8pCiAgICAgc2V0UHNldWRvKHBzZXVkbyk7
CiB9CiAKK09wdGlvbmFsPFN0eWxlOjpFbGVtZW50U3R5bGU+IERhdGVUaW1lRmllbGRFbGVtZW50
OjpyZXNvbHZlQ3VzdG9tU3R5bGUoY29uc3QgUmVuZGVyU3R5bGUmIHBhcmVudFN0eWxlLCBjb25z
dCBSZW5kZXJTdHlsZSogc2hhZG93SG9zdFN0eWxlKQoreworICAgIGF1dG8gZWxlbWVudFN0eWxl
ID0gcmVzb2x2ZVN0eWxlKCZwYXJlbnRTdHlsZSk7CisgICAgaWYgKCFlbGVtZW50U3R5bGUucmVu
ZGVyU3R5bGUpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICBhdXRvJiBzdHls
ZSA9ICplbGVtZW50U3R5bGUucmVuZGVyU3R5bGU7CisgICAgYWRqdXN0TWluV2lkdGgoc3R5bGUp
OworCisgICAgaWYgKCFoYXNWYWx1ZSgpICYmIHNoYWRvd0hvc3RTdHlsZSkgeworICAgICAgICBh
dXRvIHRleHRDb2xvciA9IHNoYWRvd0hvc3RTdHlsZS0+dmlzaXRlZERlcGVuZGVudENvbG9yV2l0
aENvbG9yRmlsdGVyKENTU1Byb3BlcnR5Q29sb3IpOworICAgICAgICBhdXRvIGJhY2tncm91bmRD
b2xvciA9IHNoYWRvd0hvc3RTdHlsZS0+dmlzaXRlZERlcGVuZGVudENvbG9yV2l0aENvbG9yRmls
dGVyKENTU1Byb3BlcnR5QmFja2dyb3VuZENvbG9yKTsKKyAgICAgICAgc3R5bGUuc2V0Q29sb3Io
UmVuZGVyVGhlbWU6OnNpbmdsZXRvbigpLmRhdGVQbGFjZWhvbGRlclRleHRDb2xvcih0ZXh0Q29s
b3IsIGJhY2tncm91bmRDb2xvcikpOworICAgIH0KKworICAgIHJldHVybiBlbGVtZW50U3R5bGU7
Cit9CisKIHZvaWQgRGF0ZVRpbWVGaWVsZEVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIoRXZl
bnQmIGV2ZW50KQogewogICAgIGlmIChldmVudC50eXBlKCkgPT0gZXZlbnROYW1lcygpLmJsdXJF
dmVudCkKQEAgLTE2MCwxNyArMTgwLDYgQEAgQXRvbVN0cmluZyBEYXRlVGltZUZpZWxkRWxlbWVu
dDo6bG9jYWxlSWRlbnRpZmllcigpIGNvbnN0CiAgICAgcmV0dXJuIG1fZmllbGRPd25lciA/IG1f
ZmllbGRPd25lci0+bG9jYWxlSWRlbnRpZmllcigpIDogbnVsbEF0b20oKTsKIH0KIAotdm9pZCBE
YXRlVGltZUZpZWxkRWxlbWVudDo6c2V0RW1wdHlWYWx1ZShFdmVudEJlaGF2aW9yKQotewotICAg
IHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlDb2xvciwgQ1NTVmFsdWVEYXJrZ3Jh
eSk7Ci19Ci0KLXZvaWQgRGF0ZVRpbWVGaWVsZEVsZW1lbnQ6OnNldFZhbHVlQXNJbnRlZ2VyKGlu
dCwgRXZlbnRCZWhhdmlvcikKLXsKLSAgICBpZiAoIWhhc1ZhbHVlKCkpCi0gICAgICAgIHJlbW92
ZUlubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlDb2xvcik7Ci19Ci0KIFN0cmluZyBEYXRl
VGltZUZpZWxkRWxlbWVudDo6dmlzaWJsZVZhbHVlKCkgY29uc3QKIHsKICAgICByZXR1cm4gaGFz
VmFsdWUoKSA/IHZhbHVlKCkgOiBwbGFjZWhvbGRlclZhbHVlKCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZUZpZWxkRWxlbWVudC5oIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVGaWVsZEVsZW1lbnQuaAppbmRleCA3MzY2YjgwNjZl
YzE2YjIxYWY0MjVmY2I5YzQwNGQzOTdlMDRjMzBiLi5lYmQwYTc5MTc2YWViOTFkODMxNTZkMTlm
MmYzMmM3YjlkODZhNGZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9E
YXRlVGltZUZpZWxkRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0Rh
dGVUaW1lRmllbGRFbGVtZW50LmgKQEAgLTM2LDYgKzM2LDggQEAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogY2xhc3MgRGF0ZUNvbXBvbmVudHM7CitjbGFzcyBSZW5kZXJTdHlsZTsKKwogc3RydWN0
IERhdGVUaW1lRmllbGRzU3RhdGU7CiAKIGNsYXNzIERhdGVUaW1lRmllbGRFbGVtZW50IDogcHVi
bGljIEhUTUxEaXZFbGVtZW50IHsKQEAgLTYxLDEyICs2MywxMSBAQCBwdWJsaWM6CiAKICAgICBT
dHJpbmcgdmlzaWJsZVZhbHVlKCkgY29uc3Q7CiAKLSAgICB2aXJ0dWFsIHZvaWQgc2V0RW1wdHlW
YWx1ZShFdmVudEJlaGF2aW9yID0gRGlzcGF0Y2hOb0V2ZW50KTsKLSAgICB2aXJ0dWFsIHZvaWQg
c2V0VmFsdWVBc0ludGVnZXIoaW50LCBFdmVudEJlaGF2aW9yID0gRGlzcGF0Y2hOb0V2ZW50KTsK
LQogICAgIHZpcnR1YWwgYm9vbCBoYXNWYWx1ZSgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIHZv
aWQgcG9wdWxhdGVEYXRlVGltZUZpZWxkc1N0YXRlKERhdGVUaW1lRmllbGRzU3RhdGUmKSA9IDA7
CisgICAgdmlydHVhbCB2b2lkIHNldEVtcHR5VmFsdWUoRXZlbnRCZWhhdmlvciA9IERpc3BhdGNo
Tm9FdmVudCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzZXRWYWx1ZUFzRGF0ZShjb25zdCBEYXRl
Q29tcG9uZW50cyYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0VmFsdWVBc0ludGVnZXIoaW50
LCBFdmVudEJlaGF2aW9yID0gRGlzcGF0Y2hOb0V2ZW50KSA9IDA7CiAgICAgdmlydHVhbCB2b2lk
IHN0ZXBEb3duKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzdGVwVXAoKSA9IDA7CiAgICAgdmly
dHVhbCBTdHJpbmcgdmFsdWUoKSBjb25zdCA9IDA7CkBAIC03OCwxMSArNzksMTQgQEAgcHJvdGVj
dGVkOgogICAgIExvY2FsZSYgbG9jYWxlRm9yT3duZXIoKSBjb25zdDsKICAgICBBdG9tU3RyaW5n
IGxvY2FsZUlkZW50aWZpZXIoKSBjb25zdDsKICAgICB2b2lkIHVwZGF0ZVZpc2libGVWYWx1ZShF
dmVudEJlaGF2aW9yKTsKKyAgICB2aXJ0dWFsIHZvaWQgYWRqdXN0TWluV2lkdGgoUmVuZGVyU3R5
bGUmKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBpbnQgdmFsdWVBc0ludGVnZXIoKSBjb25zdCA9
IDA7CiAgICAgdmlydHVhbCB2b2lkIGhhbmRsZUtleWJvYXJkRXZlbnQoS2V5Ym9hcmRFdmVudCYp
ID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlQmx1ckV2ZW50KEV2ZW50Jik7CiAKIHByaXZh
dGU6CisgICAgT3B0aW9uYWw8U3R5bGU6OkVsZW1lbnRTdHlsZT4gcmVzb2x2ZUN1c3RvbVN0eWxl
KGNvbnN0IFJlbmRlclN0eWxlJiwgY29uc3QgUmVuZGVyU3R5bGUqKSBmaW5hbDsKKwogICAgIGJv
b2wgc3VwcG9ydHNGb2N1cygpIGNvbnN0IG92ZXJyaWRlOwogCiAgICAgdm9pZCBkZWZhdWx0S2V5
Ym9hcmRFdmVudEhhbmRsZXIoS2V5Ym9hcmRFdmVudCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudC5jcHAKaW5k
ZXggMGVhNWZiYjQ4NTYzNDkwMTgzZmE0NzRlNDdiNWZiYjA3NDk4Y2ViMC4uODRmNTZkYmM3YWU4
YTZlNjhmN2NmZjBkYjI4Nzg1YmE1OTEyNzU2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9zaGFkb3cvRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQuY3BwCkBAIC0z
NSw3ICszNSw2IEBACiAjaW5jbHVkZSAiUGxhdGZvcm1Mb2NhbGUuaCIKICNpbmNsdWRlICJSZW5k
ZXJCbG9jay5oIgogI2luY2x1ZGUgIlJlbmRlclN0eWxlLmgiCi0jaW5jbHVkZSAiU3R5bGVSZXNv
bHZlci5oIgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKQEAgLTYxLDEzICs2MCw5IEBAIERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudDo6
RGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50KERvY3VtZW50JiBkb2N1bWVudCwgRmllCiB7CiB9
CiAKLU9wdGlvbmFsPFN0eWxlOjpFbGVtZW50U3R5bGU+IERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxl
bWVudDo6cmVzb2x2ZUN1c3RvbVN0eWxlKGNvbnN0IFJlbmRlclN0eWxlJiBwYXJlbnRTdHlsZSwg
Y29uc3QgUmVuZGVyU3R5bGUqKQordm9pZCBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQ6OmFk
anVzdE1pbldpZHRoKFJlbmRlclN0eWxlJiBzdHlsZSkgY29uc3QKIHsKLSAgICBhdXRvIGVsZW1l
bnRTdHlsZSA9IHJlc29sdmVTdHlsZSgmcGFyZW50U3R5bGUpOwotICAgIGlmICghZWxlbWVudFN0
eWxlLnJlbmRlclN0eWxlKQotICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwotCi0gICAgYXV0
byYgZm9udCA9IGVsZW1lbnRTdHlsZS5yZW5kZXJTdHlsZS0+Zm9udENhc2NhZGUoKTsKKyAgICBh
dXRvJiBmb250ID0gc3R5bGUuZm9udENhc2NhZGUoKTsKIAogICAgIHVuc2lnbmVkIGxlbmd0aCA9
IDI7CiAgICAgaWYgKG1fcmFuZ2UubWF4aW11bSA+IDk5OSkKQEAgLTgwLDExICs3NSwxMCBAQCBP
cHRpb25hbDxTdHlsZTo6RWxlbWVudFN0eWxlPiBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQ6
OnJlc29sdmVDdXN0b21TdHlsZShjbwogICAgIGZsb2F0IHdpZHRoID0gMDsKICAgICBmb3IgKGNo
YXIgYyA9ICcwJzsgYyA8PSAnOSc7ICsrYykgewogICAgICAgICBhdXRvIG51bWJlclN0cmluZyA9
IGxvY2FsZS5jb252ZXJ0VG9Mb2NhbGl6ZWROdW1iZXIobWFrZVN0cmluZyhwYWQoYywgbGVuZ3Ro
LCBtYWtlU3RyaW5nKGMpKSkpOwotICAgICAgICB3aWR0aCA9IHN0ZDo6bWF4KHdpZHRoLCBmb250
LndpZHRoKFJlbmRlckJsb2NrOjpjb25zdHJ1Y3RUZXh0UnVuKG51bWJlclN0cmluZywgKmVsZW1l
bnRTdHlsZS5yZW5kZXJTdHlsZSkpKTsKKyAgICAgICAgd2lkdGggPSBzdGQ6Om1heCh3aWR0aCwg
Zm9udC53aWR0aChSZW5kZXJCbG9jazo6Y29uc3RydWN0VGV4dFJ1bihudW1iZXJTdHJpbmcsIHN0
eWxlKSkpOwogICAgIH0KIAotICAgIGVsZW1lbnRTdHlsZS5yZW5kZXJTdHlsZS0+c2V0TWluV2lk
dGgoeyB3aWR0aCwgRml4ZWQgfSk7Ci0gICAgcmV0dXJuIGVsZW1lbnRTdHlsZTsKKyAgICBzdHls
ZS5zZXRNaW5XaWR0aCh7IHdpZHRoLCBGaXhlZCB9KTsKIH0KIAogaW50IERhdGVUaW1lTnVtZXJp
Y0ZpZWxkRWxlbWVudDo6bWF4aW11bSgpIGNvbnN0CkBAIC0xMTUsOCArMTA5LDYgQEAgdm9pZCBE
YXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQ6OmluaXRpYWxpemUoY29uc3QgQXRvbVN0cmluZyYg
cHNldWRvKQogCiB2b2lkIERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudDo6c2V0RW1wdHlWYWx1
ZShFdmVudEJlaGF2aW9yIGV2ZW50QmVoYXZpb3IpCiB7Ci0gICAgRGF0ZVRpbWVGaWVsZEVsZW1l
bnQ6OnNldEVtcHR5VmFsdWUoZXZlbnRCZWhhdmlvcik7Ci0KICAgICBtX3ZhbHVlID0gMDsKICAg
ICBtX2hhc1ZhbHVlID0gZmFsc2U7CiAgICAgbV90eXBlQWhlYWRCdWZmZXIuY2xlYXIoKTsKQEAg
LTEyNSw4ICsxMTcsNiBAQCB2b2lkIERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudDo6c2V0RW1w
dHlWYWx1ZShFdmVudEJlaGF2aW9yIGV2ZW50QmVoYXZpb3IpCiAKIHZvaWQgRGF0ZVRpbWVOdW1l
cmljRmllbGRFbGVtZW50OjpzZXRWYWx1ZUFzSW50ZWdlcihpbnQgdmFsdWUsIEV2ZW50QmVoYXZp
b3IgZXZlbnRCZWhhdmlvcikKIHsKLSAgICBEYXRlVGltZUZpZWxkRWxlbWVudDo6c2V0VmFsdWVB
c0ludGVnZXIodmFsdWUsIGV2ZW50QmVoYXZpb3IpOwotCiAgICAgbV92YWx1ZSA9IG1fcmFuZ2Uu
Y2xhbXBWYWx1ZSh2YWx1ZSk7CiAgICAgbV9oYXNWYWx1ZSA9IHRydWU7CiAgICAgdXBkYXRlVmlz
aWJsZVZhbHVlKGV2ZW50QmVoYXZpb3IpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9zaGFkb3cvRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3NoYWRvdy9EYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQuaAppbmRleCA4NjI1MTFlNjg0
NzllOGI2NzgzMDMyMmU3YzA1MmIzYzJlMzk1NjE2Li5iYTYzNmI1YTM4ODI4OTczNTI2NzU0OTdh
ZjM3NjFhYjI0NGFjYjcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9E
YXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9EYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQuaApAQCAtNjIsOSArNjIsOCBAQCBwcm90
ZWN0ZWQ6CiAgICAgaW50IHZhbHVlQXNJbnRlZ2VyKCkgY29uc3QgZmluYWw7CiAKIHByaXZhdGU6
Ci0gICAgT3B0aW9uYWw8U3R5bGU6OkVsZW1lbnRTdHlsZT4gcmVzb2x2ZUN1c3RvbVN0eWxlKGNv
bnN0IFJlbmRlclN0eWxlJiwgY29uc3QgUmVuZGVyU3R5bGUqKSBmaW5hbDsKLQogICAgIC8vIERh
dGVUaW1lRmllbGRFbGVtZW50IGZ1bmN0aW9uczoKKyAgICB2b2lkIGFkanVzdE1pbldpZHRoKFJl
bmRlclN0eWxlJikgY29uc3QgZmluYWw7CiAgICAgU3RyaW5nIHZhbHVlKCkgY29uc3QgZmluYWw7
CiAgICAgU3RyaW5nIHBsYWNlaG9sZGVyVmFsdWUoKSBjb25zdCBmaW5hbDsKICAgICB2b2lkIGhh
bmRsZUtleWJvYXJkRXZlbnQoS2V5Ym9hcmRFdmVudCYpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50
LmNwcAppbmRleCBlMGM0NGZkNjNkYzc5Y2E5OGFiODUzYzMwMWEyY2MyODE2OWY2ODQ2Li42YWQ1
MWI5Mjg2YmE0ZDAzMDgzZjJhYjgyNDhhZjY2ODYwMzZiZjRlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50
LmNwcApAQCAtMzIsNyArMzIsNiBAQAogI2luY2x1ZGUgIkZvbnRDYXNjYWRlLmgiCiAjaW5jbHVk
ZSAiUmVuZGVyQmxvY2suaCIKICNpbmNsdWRlICJSZW5kZXJTdHlsZS5oIgotI2luY2x1ZGUgIlN0
eWxlUmVzb2x2ZXIuaCIKICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgogI2luY2x1
ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9UZXh0QnJl
YWtJdGVyYXRvci5oPgpAQCAtNTAsMjAgKzQ5LDE1IEBAIERhdGVUaW1lU3ltYm9saWNGaWVsZEVs
ZW1lbnQ6OkRhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQoRG9jdW1lbnQmIGRvY3VtZW50LCBG
CiAgICAgQVNTRVJUKCFtX3N5bWJvbHMuaXNFbXB0eSgpKTsKIH0KIAotT3B0aW9uYWw8U3R5bGU6
OkVsZW1lbnRTdHlsZT4gRGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudDo6cmVzb2x2ZUN1c3Rv
bVN0eWxlKGNvbnN0IFJlbmRlclN0eWxlJiBwYXJlbnRTdHlsZSwgY29uc3QgUmVuZGVyU3R5bGUq
KQordm9pZCBEYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50OjphZGp1c3RNaW5XaWR0aChSZW5k
ZXJTdHlsZSYgc3R5bGUpIGNvbnN0CiB7Ci0gICAgYXV0byBlbGVtZW50U3R5bGUgPSByZXNvbHZl
U3R5bGUoJnBhcmVudFN0eWxlKTsKLSAgICBpZiAoIWVsZW1lbnRTdHlsZS5yZW5kZXJTdHlsZSkK
LSAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKLQotICAgIGF1dG8mIGZvbnQgPSBlbGVtZW50
U3R5bGUucmVuZGVyU3R5bGUtPmZvbnRDYXNjYWRlKCk7CisgICAgYXV0byYgZm9udCA9IHN0eWxl
LmZvbnRDYXNjYWRlKCk7CiAKICAgICBmbG9hdCB3aWR0aCA9IDA7CiAgICAgZm9yIChhdXRvJiBz
eW1ib2wgOiBtX3N5bWJvbHMpCi0gICAgICAgIHdpZHRoID0gc3RkOjptYXgod2lkdGgsIGZvbnQu
d2lkdGgoUmVuZGVyQmxvY2s6OmNvbnN0cnVjdFRleHRSdW4oc3ltYm9sLCAqZWxlbWVudFN0eWxl
LnJlbmRlclN0eWxlKSkpOworICAgICAgICB3aWR0aCA9IHN0ZDo6bWF4KHdpZHRoLCBmb250Lndp
ZHRoKFJlbmRlckJsb2NrOjpjb25zdHJ1Y3RUZXh0UnVuKHN5bWJvbCwgc3R5bGUpKSk7CiAKLSAg
ICBlbGVtZW50U3R5bGUucmVuZGVyU3R5bGUtPnNldE1pbldpZHRoKHsgd2lkdGgsIEZpeGVkIH0p
OwotICAgIHJldHVybiBlbGVtZW50U3R5bGU7CisgICAgc3R5bGUuc2V0TWluV2lkdGgoeyB3aWR0
aCwgRml4ZWQgfSk7CiB9CiAKIGJvb2wgRGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudDo6aGFz
VmFsdWUoKSBjb25zdApAQCAtNzgsMTYgKzcyLDEyIEBAIHZvaWQgRGF0ZVRpbWVTeW1ib2xpY0Zp
ZWxkRWxlbWVudDo6aW5pdGlhbGl6ZShjb25zdCBBdG9tU3RyaW5nJiBwc2V1ZG8pCiAKIHZvaWQg
RGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudDo6c2V0RW1wdHlWYWx1ZShFdmVudEJlaGF2aW9y
IGV2ZW50QmVoYXZpb3IpCiB7Ci0gICAgRGF0ZVRpbWVGaWVsZEVsZW1lbnQ6OnNldEVtcHR5VmFs
dWUoZXZlbnRCZWhhdmlvcik7Ci0KICAgICBtX3NlbGVjdGVkSW5kZXggPSBpbnZhbGlkSW5kZXg7
CiAgICAgdXBkYXRlVmlzaWJsZVZhbHVlKGV2ZW50QmVoYXZpb3IpOwogfQogCiB2b2lkIERhdGVU
aW1lU3ltYm9saWNGaWVsZEVsZW1lbnQ6OnNldFZhbHVlQXNJbnRlZ2VyKGludCBuZXdTZWxlY3Rl
ZEluZGV4LCBFdmVudEJlaGF2aW9yIGV2ZW50QmVoYXZpb3IpCiB7Ci0gICAgRGF0ZVRpbWVGaWVs
ZEVsZW1lbnQ6OnNldFZhbHVlQXNJbnRlZ2VyKG5ld1NlbGVjdGVkSW5kZXgsIGV2ZW50QmVoYXZp
b3IpOwotCiAgICAgbV9zZWxlY3RlZEluZGV4ID0gc3RkOjptYXgoMCwgc3RkOjptaW4obmV3U2Vs
ZWN0ZWRJbmRleCwgc3RhdGljX2Nhc3Q8aW50PihtX3N5bWJvbHMuc2l6ZSgpIC0gMSkpKTsKICAg
ICB1cGRhdGVWaXNpYmxlVmFsdWUoZXZlbnRCZWhhdmlvcik7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50LmgK
aW5kZXggNDA5MWNiNDBlNDllZjMxMzZkNTQ1MTY1Mjg0Y2RjZGQ3MDJiYWM5YS4uYTQzNjExZGM3
OTgzMzk3ODA2MjliYzdmOWYwYmY0OTBkYTExOTMxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQuaApAQCAt
NDcsOSArNDcsOCBAQCBwcm90ZWN0ZWQ6CiBwcml2YXRlOgogICAgIHN0YXRpYyBjb25zdGV4cHIg
aW50IGludmFsaWRJbmRleCA9IC0xOwogCi0gICAgT3B0aW9uYWw8U3R5bGU6OkVsZW1lbnRTdHls
ZT4gcmVzb2x2ZUN1c3RvbVN0eWxlKGNvbnN0IFJlbmRlclN0eWxlJiwgY29uc3QgUmVuZGVyU3R5
bGUqKSBmaW5hbDsKLQogICAgIC8vIERhdGVUaW1lRmllbGRFbGVtZW50IGZ1bmN0aW9uczoKKyAg
ICB2b2lkIGFkanVzdE1pbldpZHRoKFJlbmRlclN0eWxlJikgY29uc3QgZmluYWw7CiAgICAgdm9p
ZCBzdGVwRG93bigpIGZpbmFsOwogICAgIHZvaWQgc3RlcFVwKCkgZmluYWw7CiAgICAgU3RyaW5n
IHZhbHVlKCkgY29uc3QgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGhlbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1l
LmNwcAppbmRleCAxNGMwMzQ0MWVjYTQ5ZTY0MTU1NDM2MTgyYmJkZWVlMGJjMzhiYTU5Li41YjYx
MTllNWZhN2U4Njc0YzIyMGI3YjY0Nzk1MzY5ZDM3ZWQ4NWZlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUaGVtZS5jcHAKQEAgLTE0MjgsNiArMTQyOCwyMCBAQCBDb2xvciBSZW5k
ZXJUaGVtZTo6ZGlzYWJsZWRUZXh0Q29sb3IoY29uc3QgQ29sb3ImIHRleHRDb2xvciwgY29uc3Qg
Q29sb3ImIGJhY2tncgogICAgIHJldHVybiBkaXNhYmxlZENvbG9yOwogfQogCisvLyBWYWx1ZSBj
aG9zZW4gdG8gcmV0dXJuIGRhcmsgZ3JheSBmb3IgYm90aCB3aGl0ZSBvbiBibGFjayBhbmQgYmxh
Y2sgb24gd2hpdGUuCitjb25zdGV4cHIgZmxvYXQgZGF0ZVBsYWNlaG9sZGVyQ29sb3JMaWdodG5l
c3NBZGp1c3RtZW50RmFjdG9yID0gMC42NmY7CisKK0NvbG9yIFJlbmRlclRoZW1lOjpkYXRlUGxh
Y2Vob2xkZXJUZXh0Q29sb3IoY29uc3QgQ29sb3ImIHRleHRDb2xvciwgY29uc3QgQ29sb3ImIGJh
Y2tncm91bmRDb2xvcikgY29uc3QKK3sKKyAgICBhdXRvIGhzbGEgPSB0b0hTTEEodGV4dENvbG9y
LnRvU1JHQkFMb3NzeTxmbG9hdD4oKSk7CisgICAgaWYgKHRleHRDb2xvci5sdW1pbmFuY2UoKSA8
IGJhY2tncm91bmRDb2xvci5sdW1pbmFuY2UoKSkKKyAgICAgICAgaHNsYS5saWdodG5lc3MgKz0g
ZGF0ZVBsYWNlaG9sZGVyQ29sb3JMaWdodG5lc3NBZGp1c3RtZW50RmFjdG9yICogKDEuMGYgLSBo
c2xhLmxpZ2h0bmVzcyk7CisgICAgZWxzZQorICAgICAgICBoc2xhLmxpZ2h0bmVzcyAqPSBkYXRl
UGxhY2Vob2xkZXJDb2xvckxpZ2h0bmVzc0FkanVzdG1lbnRGYWN0b3I7CisKKyAgICByZXR1cm4g
dG9TUkdCQShoc2xhKTsKK30KKwogdm9pZCBSZW5kZXJUaGVtZTo6c2V0Q3VzdG9tRm9jdXNSaW5n
Q29sb3IoY29uc3QgQ29sb3ImIGNvbG9yKQogewogICAgIGN1c3RvbUZvY3VzUmluZ0NvbG9yKCkg
PSBjb2xvcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVt
ZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKaW5kZXggZDA0ZWI3
OGI1M2Y1MTVlNGY1MzQ2ZmNlOGQ3NzA0NjFiNGFmZTAwYy4uNDYzZjU0Mjk5OTFkMzZjY2MxNTk2
NjQ0ZWFjY2YwNGI5YjQ0YjRkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRoZW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1l
LmgKQEAgLTE2NCw2ICsxNjQsOCBAQCBwdWJsaWM6CiAgICAgLy8gRGVmYXVsdCBoaWdobGlnaHRp
bmcgY29sb3IgZm9yIGFwcCBoaWdobGlnaHRzLgogICAgIENvbG9yIGFwcEhpZ2hsaWdodENvbG9y
KE9wdGlvblNldDxTdHlsZUNvbG9yOjpPcHRpb25zPikgY29uc3Q7CiAKKyAgICBDb2xvciBkYXRl
UGxhY2Vob2xkZXJUZXh0Q29sb3IoY29uc3QgQ29sb3ImIHRleHRDb2xvciwgY29uc3QgQ29sb3Im
IGJhY2tncm91bmRDb2xvcikgY29uc3Q7CisKICAgICB2aXJ0dWFsIENvbG9yIGRpc2FibGVkVGV4
dENvbG9yKGNvbnN0IENvbG9yJiB0ZXh0Q29sb3IsIGNvbnN0IENvbG9yJiBiYWNrZ3JvdW5kQ29s
b3IpIGNvbnN0OwogCiAgICAgV0VCQ09SRV9FWFBPUlQgQ29sb3IgZm9jdXNSaW5nQ29sb3IoT3B0
aW9uU2V0PFN0eWxlQ29sb3I6Ok9wdGlvbnM+KSBjb25zdDsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAyMGM3MTNmMDk5ZDg1
YjdkZjY5ZjZkMWIxMDE2NWQyODY4YTdmNDc1Li45NjA1Y2M3ZDZjMjRiNGY1ODZiNjQ5MDJkMTdl
MjhlOTU5YTZkODU2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjAtMTItMTQgIEFkaXR5YSBL
ZWVydGhpICA8YWtlZXJ0aGlAYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gQWRqdXN0IGRh
dGUgaW5wdXQgcGxhY2Vob2xkZXIgY29sb3IgYmFzZWQgb24gc3BlY2lmaWVkIHRleHQgY29sb3IK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxOTg3NQor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzIzMTQ3MDU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgdGVzdHMgdG8gdmVyaWZ5IHRoYXQgdGhl
IGNvbG9yIG9mIHRoZSBwbGFjZWhvbGRlciBjaGFuZ2VzIGJhc2VkCisgICAgICAgIG9uIHRoZSBp
bnB1dCdzIGNvbG9yIHByb3BlcnR5LgorCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRlL2RhdGUt
ZWRpdGFibGUtY29tcG9uZW50cy9kYXRlLWVkaXRhYmxlLWNvbXBvbmVudHMtcGxhY2Vob2xkZXIt
Y29sb3ItZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jt
cy9kYXRlL2RhdGUtZWRpdGFibGUtY29tcG9uZW50cy9kYXRlLWVkaXRhYmxlLWNvbXBvbmVudHMt
cGxhY2Vob2xkZXItY29sb3ItdHJhbnNwYXJlbnQtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9mb3Jtcy9kYXRlL2RhdGUtZWRpdGFibGUtY29tcG9uZW50cy9kYXRlLWVkaXRh
YmxlLWNvbXBvbmVudHMtcGxhY2Vob2xkZXItY29sb3ItdHJhbnNwYXJlbnQuaHRtbDogQWRkZWQu
CisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRlL2RhdGUtZWRpdGFibGUtY29tcG9uZW50cy9kYXRl
LWVkaXRhYmxlLWNvbXBvbmVudHMtcGxhY2Vob2xkZXItY29sb3IuaHRtbDogQWRkZWQuCisKIDIw
MjAtMTItMTQgIExhdXJvIE1vdXJhICA8bG1vdXJhQGlnYWxpYS5jb20+CiAKICAgICAgICAgUkVH
UkVTU1NJT04oMjcwNDM1KSBbR1N0cmVhbWVyXSBNYW55IG1lZGlhIHNvdXJjZSB0ZXN0cyBmYWls
aW5nIGFuZCB0aW1pbmcgb3V0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2Rh
dGUvZGF0ZS1lZGl0YWJsZS1jb21wb25lbnRzL2RhdGUtZWRpdGFibGUtY29tcG9uZW50cy1wbGFj
ZWhvbGRlci1jb2xvci1leHBlY3RlZC1taXNtYXRjaC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9kYXRlL2RhdGUtZWRpdGFibGUtY29tcG9uZW50cy9kYXRlLWVkaXRhYmxlLWNvbXBvbmVu
dHMtcGxhY2Vob2xkZXItY29sb3ItZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
ZTI0MDI1OWUzMmVlOTQ5ZmZlZDcyNjdhMDIwOGFmOWJkMDc3ZGVmCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlL2RhdGUtZWRpdGFibGUtY29tcG9uZW50cy9k
YXRlLWVkaXRhYmxlLWNvbXBvbmVudHMtcGxhY2Vob2xkZXItY29sb3ItZXhwZWN0ZWQtbWlzbWF0
Y2guaHRtbApAQCAtMCwwICsxLDE0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
Cis8c3R5bGU+CitpbnB1dCB7CisgICAgd2lkdGg6IDMwMHB4OworICAgIGZvbnQtc2l6ZTogMzBw
eDsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxpbnB1dCBpZD0iaW5wdXQiIHR5cGU9
ImRhdGUiIHZhbHVlPSIiPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9kYXRlL2RhdGUtZWRpdGFibGUtY29tcG9uZW50cy9kYXRlLWVkaXRhYmxl
LWNvbXBvbmVudHMtcGxhY2Vob2xkZXItY29sb3ItdHJhbnNwYXJlbnQtZXhwZWN0ZWQuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS9kYXRlLWVkaXRhYmxlLWNvbXBvbmVudHMvZGF0
ZS1lZGl0YWJsZS1jb21wb25lbnRzLXBsYWNlaG9sZGVyLWNvbG9yLXRyYW5zcGFyZW50LWV4cGVj
dGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYTJhNDFjMzFjZDA1OWYwNDJjYTAwM2RiZWJjMzc0NTk1MWMw
NDM5ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS9kYXRl
LWVkaXRhYmxlLWNvbXBvbmVudHMvZGF0ZS1lZGl0YWJsZS1jb21wb25lbnRzLXBsYWNlaG9sZGVy
LWNvbG9yLXRyYW5zcGFyZW50LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxNSBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHN0eWxlPgoraW5wdXQgeworICAgIHdpZHRoOiAz
MDBweDsKKyAgICBmb250LXNpemU6IDMwcHg7CisgICAgY29sb3I6IHRyYW5zcGFyZW50OworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGlucHV0IGlkPSJpbnB1dCIgdHlwZT0iZGF0ZSIg
dmFsdWU9IiI+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2RhdGUvZGF0ZS1lZGl0YWJsZS1jb21wb25lbnRzL2RhdGUtZWRpdGFibGUtY29tcG9u
ZW50cy1wbGFjZWhvbGRlci1jb2xvci10cmFuc3BhcmVudC5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9kYXRlL2RhdGUtZWRpdGFibGUtY29tcG9uZW50cy9kYXRlLWVkaXRhYmxlLWNvbXBv
bmVudHMtcGxhY2Vob2xkZXItY29sb3ItdHJhbnNwYXJlbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NjIx
NTkzOWIzZTI0YTUxYzFkMjAyZWY2ODJhZWZhYmU1NjM0OTQwCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlL2RhdGUtZWRpdGFibGUtY29tcG9uZW50cy9kYXRl
LWVkaXRhYmxlLWNvbXBvbmVudHMtcGxhY2Vob2xkZXItY29sb3ItdHJhbnNwYXJlbnQuaHRtbApA
QCAtMCwwICsxLDE1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c3R5bGU+
CitpbnB1dCB7CisgICAgd2lkdGg6IDMwMHB4OworICAgIGZvbnQtc2l6ZTogMzBweDsKKyAgICBj
b2xvcjogdHJhbnNwYXJlbnQ7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8aW5wdXQg
aWQ9ImlucHV0IiB0eXBlPSJkYXRlIiB2YWx1ZT0iMjAyMC0xMi0xNCI+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUvZGF0ZS1lZGl0YWJs
ZS1jb21wb25lbnRzL2RhdGUtZWRpdGFibGUtY29tcG9uZW50cy1wbGFjZWhvbGRlci1jb2xvci5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlL2RhdGUtZWRpdGFibGUtY29tcG9uZW50
cy9kYXRlLWVkaXRhYmxlLWNvbXBvbmVudHMtcGxhY2Vob2xkZXItY29sb3IuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5iNWQzNTBmNTU2NDQ0NzYyY2ZiNzUzYTg5MjI1NmZlMzg4YjMyMGY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlL2RhdGUtZWRpdGFibGUtY29tcG9u
ZW50cy9kYXRlLWVkaXRhYmxlLWNvbXBvbmVudHMtcGxhY2Vob2xkZXItY29sb3IuaHRtbApAQCAt
MCwwICsxLDE1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c3R5bGU+Citp
bnB1dCB7CisgICAgd2lkdGg6IDMwMHB4OworICAgIGZvbnQtc2l6ZTogMzBweDsKKyAgICBjb2xv
cjogcmVkOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGlucHV0IGlkPSJpbnB1dCIg
dHlwZT0iZGF0ZSIgdmFsdWU9IiI+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>
<flag name="review"
          id="433642"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>416287</attachid>
            <date>2020-12-15 13:29:44 -0800</date>
            <delta_ts>2020-12-15 17:05:46 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-219875-20201215162959.patch</filename>
            <type>text/plain</type>
            <size>20851</size>
            <attacher name="Aditya Keerthi">akeerthi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwNzY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWE2ZmRkZDAwZjA2ZTcz
OTE4MjYzZjY5YzExMmVjN2E0ZWE3ZjI1YS4uYWU4ODA2MTFiZmFmZmE1YmNiYjdkY2NiOTQzM2Vj
ZDQ1OThiODllMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcwIEBACisyMDIwLTEyLTE1ICBBZGl0
eWEgS2VlcnRoaSAgPGFrZWVydGhpQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIEFkanVz
dCBkYXRlIGlucHV0IHBsYWNlaG9sZGVyIGNvbG9yIGJhc2VkIG9uIHNwZWNpZmllZCB0ZXh0IGNv
bG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTk4
NzUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzcyMzE0NzA1PgorCisgICAgICAgIFJldmlld2Vk
IGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIEVtcHR5IGRhdGUgaW5wdXRzIGN1cnJlbnRseSBz
aG93IHRoZSBjdXJyZW50IGRhdGUgaW4gZGFyayBncmF5IHRleHQgYXMKKyAgICAgICAgYSBwbGFj
ZWhvbGRlci4KKworICAgICAgICBUaGUgZXhpc3RpbmcgYmVoYXZpb3IgcmVzdWx0cyBpbiBhbiBp
c3N1ZSBvbiBOaWtlJ3MgbWVtYmVyc2hpcCByZWdpc3RyYXRpb24KKyAgICAgICAgcGFnZSwgd2hl
cmUgdGhlaXIgY3VzdG9tIHBsYWNlaG9sZGVyIGFuZCB0aGUgcGxhY2Vob2xkZXIgZGF0ZSBhcmUg
dmlzaWJsZQorICAgICAgICBhdCB0aGUgc2FtZSB0aW1lLiBOaWtlIHVzZXMgImNvbG9yOiB0cmFu
c3BhcmVudCIgdG8gaGlkZSB0aGUgY29udGVudHMgb2YKKyAgICAgICAgdGhlIGRhdGUgaW5wdXQg
YW5kIGRpc3BsYXkgdGhlaXIgb3duIHBsYWNlaG9sZGVyLiBIb3dldmVyLCBzaW5jZSB0aGUKKyAg
ICAgICAgcGxhY2Vob2xkZXIgZGF0ZSBpcyBhbHdheXMgZGlzcGxheWVkIGluIGRhcmsgZ3JheSB0
ZXh0LCBib3RoIHBsYWNlaG9sZGVycworICAgICAgICBhcmUgdmlzaWJsZS4KKworICAgICAgICBU
byBmaXgsIHRoZSBjb2xvciBvZiB0aGUgcGxhY2Vob2xkZXIgc2hvdWxkIGJlIGFkanVzdGVkIGJh
c2VkIG9uIHRoZSB0ZXh0CisgICAgICAgIGNvbG9yIHNwZWNpZmllZCBieSB0aGUgc2l0ZSBhdXRo
b3IuIFRoaXMgd2lsbCBlbnN1cmUgdGhhdAorICAgICAgICAiY29sb3I6IHRyYW5zcGFyZW50IiB3
aWxsIGhpZGUgdGhlIHBsYWNlaG9sZGVyLCBhbmQgYWxzbyBlbnN1cmVzIHRoZQorICAgICAgICBw
bGFjZWhvbGRlciBiZXR0ZXIgbWF0Y2hlcyB0aGUgc3R5bGUgb2YgdGhlIHJlc3Qgb2YgdGhlIGlu
cHV0LgorCisgICAgICAgIFRlc3Q6IGZhc3QvZm9ybXMvZGF0ZS9kYXRlLWVkaXRhYmxlLWNvbXBv
bmVudHMvZGF0ZS1lZGl0YWJsZS1jb21wb25lbnRzLXBsYWNlaG9sZGVyLWNvbG9yLmh0bWwKKwor
ICAgICAgICAqIGh0bWwvc2hhZG93L0RhdGVUaW1lRmllbGRFbGVtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkRhdGVUaW1lRmllbGRFbGVtZW50OjpyZXNvbHZlQ3VzdG9tU3R5bGUpOgorCisg
ICAgICAgIE1vdmVkIGN1c3RvbSBzdHlsZSByZXNvbHV0aW9uIG91dCBvZiB0aGUgZGVyaXZlZCBj
bGFzc2VzIGFuZCBpbnRvIHRoZQorICAgICAgICBiYXNlIGNsYXNzIHRvIHJlZHVjZSBjb2RlIGR1
cGxpY2F0aW9uLiBUaGUgbWluLXdpZHRoIGFkanVzdG1lbnQgaXMKKyAgICAgICAgcHJlc2VydmVk
IGJ5IGNhbGxpbmcgdGhlIHB1cmUgdmlydHVhbCBtZXRob2QgYWRqdXN0TWluV2lkdGguIFRoZQor
ICAgICAgICBuZXcgY29sb3IgcmVzb2x1dGlvbiBmb3IgcGxhY2Vob2xkZXIgZGF0ZXMgaXMgcGVy
Zm9ybWVkIGJ5IG9idGFpbmluZworICAgICAgICB0aGUgdGV4dCBhbmQgYmFja2dyb3VuZCBjb2xv
cnMgdGhyb3VnaCB0aGUgc2hhZG93IGhvc3QgKHRoZQorICAgICAgICBIVE1MSW5wdXRFbGVtZW50
KSBhbmQgY2FsbGluZyBpbnRvIFJlbmRlclRoZW1lIGZvciB0aGUgYWRqdXN0bWVudAorICAgICAg
ICBhbGdvcml0aG0uCisKKyAgICAgICAgKiBodG1sL3NoYWRvdy9EYXRlVGltZUZpZWxkRWxlbWVu
dC5oOgorCisgICAgICAgIE1hZGUgc2V0RW1wdHlWYWx1ZSBhbmQgc2V0VmFsdWVBc0ludGVnZXIg
cHVyZSB2aXJ0dWFsIG1ldGhvZHMgc2luY2UKKyAgICAgICAgdGhlIGJhc2UgaW1wbGVtZW50YXRp
b24gaXMgbm93IGVtcHR5LgorCisgICAgICAgIEludHJvZHVjZWQgYWRqdXN0TWluV2lkdGggYXMg
YSBwdXJlIHZpcnR1YWwgbWV0aG9kIHRvIGFsbG93IG51bWVyaWMKKyAgICAgICAgYW5kIHN5bWJv
bGljIGZpZWxkIGVsZW1lbnRzIHRvIHNldCB0aGVpciBtaW5pbXVtIHdpZHRoLiBUaGlzIHJlcGxh
Y2VzCisgICAgICAgIHRoZSBuZWVkIHRvIGhhdmUgdGhlIGRlcml2ZWQgY2xhc3NlcyBpbXBsZW1l
bnQgcmVzb2x2ZUN1c3RvbVN0eWxlLgorCisgICAgICAgICogaHRtbC9zaGFkb3cvRGF0ZVRpbWVO
dW1lcmljRmllbGRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRhdGVUaW1lTnVtZXJp
Y0ZpZWxkRWxlbWVudDo6YWRqdXN0TWluV2lkdGggY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
RGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50OjpzZXRFbXB0eVZhbHVlKToKKyAgICAgICAgKFdl
YkNvcmU6OkRhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudDo6c2V0VmFsdWVBc0ludGVnZXIpOgor
ICAgICAgICAqIGh0bWwvc2hhZG93L0RhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudC5oOgorICAg
ICAgICAqIGh0bWwvc2hhZG93L0RhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudDo6YWRqdXN0TWluV2lk
dGggY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVu
dDo6c2V0RW1wdHlWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpEYXRlVGltZVN5bWJvbGljRmll
bGRFbGVtZW50OjpzZXRWYWx1ZUFzSW50ZWdlcik6CisgICAgICAgICogaHRtbC9zaGFkb3cvRGF0
ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJU
aGVtZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6ZGF0ZVBsYWNlaG9sZGVy
VGV4dENvbG9yIGNvbnN0KToKKworICAgICAgICBBZGp1c3QgdGhlIHBsYWNlaG9sZGVyIHRleHQg
Y29sb3IgYmFzZWQgb24gdGhlIHRleHQgYW5kIGJhY2tncm91bmQgY29sb3IKKyAgICAgICAgc3Bl
Y2lmaWVkLiBUaGUgYWRqdXN0bWVudCBpcyBwZXJmb3JtZWQgYnkgY2hhbmdpbmcgdGhlIGxpZ2h0
bmVzcyBvZiB0aGUKKyAgICAgICAgc3BlY2lmaWVkIHRleHQgY29sb3IuIFRoZSBsaWdodG5lc3Mg
aXMgaW5jcmVhc2VkIGZvciBkYXJrIHRleHQgb24gYSBsaWdodAorICAgICAgICBiYWNrZ3JvdW5k
LCBhbmQgaXMgZGVjcmVhc2VkIGZvciBsaWdodCB0ZXh0IG9uIGEgZGFyayBiYWNrZ3JvdW5kLiBU
aGUKKyAgICAgICAgY2hvc2VuIGFkanVzdG1lbnQgZmFjdG9yIGVuc3VyZXMgdGhhdCBhIGRhcmsg
Z3JheSBjb2xvciBpcyBvYnRhaW5lZCBmb3IKKyAgICAgICAgYm90aCB3aGl0ZSBvbiBibGFjaywg
YW5kIGJsYWNrIG9uIHdoaXRlLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lLmg6
CisKIDIwMjAtMTItMTQgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAg
ICBbR1BVUHJvY2Vzc10gQ3Jhc2ggdW5kZXIgQXVkaW9EZXN0aW5hdGlvbkNvY29hOjpzZXRJc1Bs
YXlpbmcoYm9vbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVU
aW1lRmllbGRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1l
RmllbGRFbGVtZW50LmNwcAppbmRleCA3NTdmNGYxN2ExYmNkYzE3NzQ1MDNmNzQxMTFmYTdiOWIy
ZjUxZDQ5Li5hOGIxOTFmMDkzZGVmMGQyYWFmNzEzMDUzMDE0Y2I2Mjk2OTViOGJhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZUZpZWxkRWxlbWVudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVGaWVsZEVsZW1lbnQuY3Bw
CkBAIC0zMCwxMyArMzAsMTUgQEAKICNpZiBFTkFCTEUoREFURV9BTkRfVElNRV9JTlBVVF9UWVBF
UykKIAogI2luY2x1ZGUgIkNTU1Byb3BlcnR5TmFtZXMuaCIKLSNpbmNsdWRlICJDU1NWYWx1ZUtl
eXdvcmRzLmgiCiAjaW5jbHVkZSAiRGF0ZUNvbXBvbmVudHMuaCIKICNpbmNsdWRlICJFdmVudE5h
bWVzLmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiS2V5Ym9hcmRFdmVudC5o
IgogI2luY2x1ZGUgIkxvY2FsaXplZFN0cmluZ3MuaCIKICNpbmNsdWRlICJQbGF0Zm9ybUxvY2Fs
ZS5oIgorI2luY2x1ZGUgIlJlbmRlclN0eWxlLmgiCisjaW5jbHVkZSAiUmVuZGVyVGhlbWUuaCIK
KyNpbmNsdWRlICJTdHlsZVJlc29sdmVyLmgiCiAjaW5jbHVkZSAiVGV4dC5oIgogI2luY2x1ZGUg
PHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+
CkBAIC02MSw2ICs2MywyNCBAQCB2b2lkIERhdGVUaW1lRmllbGRFbGVtZW50Ojppbml0aWFsaXpl
KGNvbnN0IEF0b21TdHJpbmcmIHBzZXVkbykKICAgICBzZXRQc2V1ZG8ocHNldWRvKTsKIH0KIAor
T3B0aW9uYWw8U3R5bGU6OkVsZW1lbnRTdHlsZT4gRGF0ZVRpbWVGaWVsZEVsZW1lbnQ6OnJlc29s
dmVDdXN0b21TdHlsZShjb25zdCBSZW5kZXJTdHlsZSYgcGFyZW50U3R5bGUsIGNvbnN0IFJlbmRl
clN0eWxlKiBzaGFkb3dIb3N0U3R5bGUpCit7CisgICAgYXV0byBlbGVtZW50U3R5bGUgPSByZXNv
bHZlU3R5bGUoJnBhcmVudFN0eWxlKTsKKyAgICBpZiAoIWVsZW1lbnRTdHlsZS5yZW5kZXJTdHls
ZSkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgIGF1dG8mIHN0eWxlID0gKmVs
ZW1lbnRTdHlsZS5yZW5kZXJTdHlsZTsKKyAgICBhZGp1c3RNaW5XaWR0aChzdHlsZSk7CisKKyAg
ICBpZiAoIWhhc1ZhbHVlKCkgJiYgc2hhZG93SG9zdFN0eWxlKSB7CisgICAgICAgIGF1dG8gdGV4
dENvbG9yID0gc2hhZG93SG9zdFN0eWxlLT52aXNpdGVkRGVwZW5kZW50Q29sb3JXaXRoQ29sb3JG
aWx0ZXIoQ1NTUHJvcGVydHlDb2xvcik7CisgICAgICAgIGF1dG8gYmFja2dyb3VuZENvbG9yID0g
c2hhZG93SG9zdFN0eWxlLT52aXNpdGVkRGVwZW5kZW50Q29sb3JXaXRoQ29sb3JGaWx0ZXIoQ1NT
UHJvcGVydHlCYWNrZ3JvdW5kQ29sb3IpOworICAgICAgICBzdHlsZS5zZXRDb2xvcihSZW5kZXJU
aGVtZTo6c2luZ2xldG9uKCkuZGF0ZVBsYWNlaG9sZGVyVGV4dENvbG9yKHRleHRDb2xvciwgYmFj
a2dyb3VuZENvbG9yKSk7CisgICAgfQorCisgICAgcmV0dXJuIGVsZW1lbnRTdHlsZTsKK30KKwog
dm9pZCBEYXRlVGltZUZpZWxkRWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCYgZXZl
bnQpCiB7CiAgICAgaWYgKGV2ZW50LnR5cGUoKSA9PSBldmVudE5hbWVzKCkuYmx1ckV2ZW50KQpA
QCAtMTYwLDE3ICsxODAsNiBAQCBBdG9tU3RyaW5nIERhdGVUaW1lRmllbGRFbGVtZW50Ojpsb2Nh
bGVJZGVudGlmaWVyKCkgY29uc3QKICAgICByZXR1cm4gbV9maWVsZE93bmVyID8gbV9maWVsZE93
bmVyLT5sb2NhbGVJZGVudGlmaWVyKCkgOiBudWxsQXRvbSgpOwogfQogCi12b2lkIERhdGVUaW1l
RmllbGRFbGVtZW50OjpzZXRFbXB0eVZhbHVlKEV2ZW50QmVoYXZpb3IpCi17Ci0gICAgc2V0SW5s
aW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eUNvbG9yLCBDU1NWYWx1ZURhcmtncmF5KTsKLX0K
LQotdm9pZCBEYXRlVGltZUZpZWxkRWxlbWVudDo6c2V0VmFsdWVBc0ludGVnZXIoaW50LCBFdmVu
dEJlaGF2aW9yKQotewotICAgIGlmICghaGFzVmFsdWUoKSkKLSAgICAgICAgcmVtb3ZlSW5saW5l
U3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eUNvbG9yKTsKLX0KLQogU3RyaW5nIERhdGVUaW1lRmll
bGRFbGVtZW50Ojp2aXNpYmxlVmFsdWUoKSBjb25zdAogewogICAgIHJldHVybiBoYXNWYWx1ZSgp
ID8gdmFsdWUoKSA6IHBsYWNlaG9sZGVyVmFsdWUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lRmllbGRFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3NoYWRvdy9EYXRlVGltZUZpZWxkRWxlbWVudC5oCmluZGV4IDczNjZiODA2NmVjMTZiMjFh
ZjQyNWZjYjljNDA0ZDM5N2UwNGMzMGIuLmViZDBhNzkxNzZhZWI5MWQ4MzE1NmQxOWYyZjMyYzdi
OWQ4NmE0ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1l
RmllbGRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVG
aWVsZEVsZW1lbnQuaApAQCAtMzYsNiArMzYsOCBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBj
bGFzcyBEYXRlQ29tcG9uZW50czsKK2NsYXNzIFJlbmRlclN0eWxlOworCiBzdHJ1Y3QgRGF0ZVRp
bWVGaWVsZHNTdGF0ZTsKIAogY2xhc3MgRGF0ZVRpbWVGaWVsZEVsZW1lbnQgOiBwdWJsaWMgSFRN
TERpdkVsZW1lbnQgewpAQCAtNjEsMTIgKzYzLDExIEBAIHB1YmxpYzoKIAogICAgIFN0cmluZyB2
aXNpYmxlVmFsdWUoKSBjb25zdDsKIAotICAgIHZpcnR1YWwgdm9pZCBzZXRFbXB0eVZhbHVlKEV2
ZW50QmVoYXZpb3IgPSBEaXNwYXRjaE5vRXZlbnQpOwotICAgIHZpcnR1YWwgdm9pZCBzZXRWYWx1
ZUFzSW50ZWdlcihpbnQsIEV2ZW50QmVoYXZpb3IgPSBEaXNwYXRjaE5vRXZlbnQpOwotCiAgICAg
dmlydHVhbCBib29sIGhhc1ZhbHVlKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBwb3B1
bGF0ZURhdGVUaW1lRmllbGRzU3RhdGUoRGF0ZVRpbWVGaWVsZHNTdGF0ZSYpID0gMDsKKyAgICB2
aXJ0dWFsIHZvaWQgc2V0RW1wdHlWYWx1ZShFdmVudEJlaGF2aW9yID0gRGlzcGF0Y2hOb0V2ZW50
KSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNldFZhbHVlQXNEYXRlKGNvbnN0IERhdGVDb21wb25l
bnRzJikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBzZXRWYWx1ZUFzSW50ZWdlcihpbnQsIEV2ZW50
QmVoYXZpb3IgPSBEaXNwYXRjaE5vRXZlbnQpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc3RlcERv
d24oKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHN0ZXBVcCgpID0gMDsKICAgICB2aXJ0dWFsIFN0
cmluZyB2YWx1ZSgpIGNvbnN0ID0gMDsKQEAgLTc4LDExICs3OSwxNCBAQCBwcm90ZWN0ZWQ6CiAg
ICAgTG9jYWxlJiBsb2NhbGVGb3JPd25lcigpIGNvbnN0OwogICAgIEF0b21TdHJpbmcgbG9jYWxl
SWRlbnRpZmllcigpIGNvbnN0OwogICAgIHZvaWQgdXBkYXRlVmlzaWJsZVZhbHVlKEV2ZW50QmVo
YXZpb3IpOworICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RNaW5XaWR0aChSZW5kZXJTdHlsZSYpIGNv
bnN0ID0gMDsKICAgICB2aXJ0dWFsIGludCB2YWx1ZUFzSW50ZWdlcigpIGNvbnN0ID0gMDsKICAg
ICB2aXJ0dWFsIHZvaWQgaGFuZGxlS2V5Ym9hcmRFdmVudChLZXlib2FyZEV2ZW50JikgPSAwOwog
ICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVCbHVyRXZlbnQoRXZlbnQmKTsKIAogcHJpdmF0ZToKKyAg
ICBPcHRpb25hbDxTdHlsZTo6RWxlbWVudFN0eWxlPiByZXNvbHZlQ3VzdG9tU3R5bGUoY29uc3Qg
UmVuZGVyU3R5bGUmLCBjb25zdCBSZW5kZXJTdHlsZSopIGZpbmFsOworCiAgICAgYm9vbCBzdXBw
b3J0c0ZvY3VzKCkgY29uc3Qgb3ZlcnJpZGU7CiAKICAgICB2b2lkIGRlZmF1bHRLZXlib2FyZEV2
ZW50SGFuZGxlcihLZXlib2FyZEV2ZW50Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3NoYWRvdy9EYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50LmNwcAppbmRleCAwZWE1
ZmJiNDg1NjM0OTAxODNmYTQ3NGU0N2I1ZmJiMDc0OThjZWIwLi44NGY1NmRiYzdhZThhNmU2OGY3
Y2ZmMGRiMjg3ODViYTU5MTI3NTYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9EYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvc2hhZG93L0RhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudC5jcHAKQEAgLTM1LDcgKzM1
LDYgQEAKICNpbmNsdWRlICJQbGF0Zm9ybUxvY2FsZS5oIgogI2luY2x1ZGUgIlJlbmRlckJsb2Nr
LmgiCiAjaW5jbHVkZSAiUmVuZGVyU3R5bGUuaCIKLSNpbmNsdWRlICJTdHlsZVJlc29sdmVyLmgi
CiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewpAQCAtNjEsMTMgKzYwLDkgQEAgRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50OjpEYXRlVGlt
ZU51bWVyaWNGaWVsZEVsZW1lbnQoRG9jdW1lbnQmIGRvY3VtZW50LCBGaWUKIHsKIH0KIAotT3B0
aW9uYWw8U3R5bGU6OkVsZW1lbnRTdHlsZT4gRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50Ojpy
ZXNvbHZlQ3VzdG9tU3R5bGUoY29uc3QgUmVuZGVyU3R5bGUmIHBhcmVudFN0eWxlLCBjb25zdCBS
ZW5kZXJTdHlsZSopCit2b2lkIERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudDo6YWRqdXN0TWlu
V2lkdGgoUmVuZGVyU3R5bGUmIHN0eWxlKSBjb25zdAogewotICAgIGF1dG8gZWxlbWVudFN0eWxl
ID0gcmVzb2x2ZVN0eWxlKCZwYXJlbnRTdHlsZSk7Ci0gICAgaWYgKCFlbGVtZW50U3R5bGUucmVu
ZGVyU3R5bGUpCi0gICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Ci0KLSAgICBhdXRvJiBmb250
ID0gZWxlbWVudFN0eWxlLnJlbmRlclN0eWxlLT5mb250Q2FzY2FkZSgpOworICAgIGF1dG8mIGZv
bnQgPSBzdHlsZS5mb250Q2FzY2FkZSgpOwogCiAgICAgdW5zaWduZWQgbGVuZ3RoID0gMjsKICAg
ICBpZiAobV9yYW5nZS5tYXhpbXVtID4gOTk5KQpAQCAtODAsMTEgKzc1LDEwIEBAIE9wdGlvbmFs
PFN0eWxlOjpFbGVtZW50U3R5bGU+IERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudDo6cmVzb2x2
ZUN1c3RvbVN0eWxlKGNvCiAgICAgZmxvYXQgd2lkdGggPSAwOwogICAgIGZvciAoY2hhciBjID0g
JzAnOyBjIDw9ICc5JzsgKytjKSB7CiAgICAgICAgIGF1dG8gbnVtYmVyU3RyaW5nID0gbG9jYWxl
LmNvbnZlcnRUb0xvY2FsaXplZE51bWJlcihtYWtlU3RyaW5nKHBhZChjLCBsZW5ndGgsIG1ha2VT
dHJpbmcoYykpKSk7Ci0gICAgICAgIHdpZHRoID0gc3RkOjptYXgod2lkdGgsIGZvbnQud2lkdGgo
UmVuZGVyQmxvY2s6OmNvbnN0cnVjdFRleHRSdW4obnVtYmVyU3RyaW5nLCAqZWxlbWVudFN0eWxl
LnJlbmRlclN0eWxlKSkpOworICAgICAgICB3aWR0aCA9IHN0ZDo6bWF4KHdpZHRoLCBmb250Lndp
ZHRoKFJlbmRlckJsb2NrOjpjb25zdHJ1Y3RUZXh0UnVuKG51bWJlclN0cmluZywgc3R5bGUpKSk7
CiAgICAgfQogCi0gICAgZWxlbWVudFN0eWxlLnJlbmRlclN0eWxlLT5zZXRNaW5XaWR0aCh7IHdp
ZHRoLCBGaXhlZCB9KTsKLSAgICByZXR1cm4gZWxlbWVudFN0eWxlOworICAgIHN0eWxlLnNldE1p
bldpZHRoKHsgd2lkdGgsIEZpeGVkIH0pOwogfQogCiBpbnQgRGF0ZVRpbWVOdW1lcmljRmllbGRF
bGVtZW50OjptYXhpbXVtKCkgY29uc3QKQEAgLTExNSw4ICsxMDksNiBAQCB2b2lkIERhdGVUaW1l
TnVtZXJpY0ZpZWxkRWxlbWVudDo6aW5pdGlhbGl6ZShjb25zdCBBdG9tU3RyaW5nJiBwc2V1ZG8p
CiAKIHZvaWQgRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50OjpzZXRFbXB0eVZhbHVlKEV2ZW50
QmVoYXZpb3IgZXZlbnRCZWhhdmlvcikKIHsKLSAgICBEYXRlVGltZUZpZWxkRWxlbWVudDo6c2V0
RW1wdHlWYWx1ZShldmVudEJlaGF2aW9yKTsKLQogICAgIG1fdmFsdWUgPSAwOwogICAgIG1faGFz
VmFsdWUgPSBmYWxzZTsKICAgICBtX3R5cGVBaGVhZEJ1ZmZlci5jbGVhcigpOwpAQCAtMTI1LDgg
KzExNyw2IEBAIHZvaWQgRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50OjpzZXRFbXB0eVZhbHVl
KEV2ZW50QmVoYXZpb3IgZXZlbnRCZWhhdmlvcikKIAogdm9pZCBEYXRlVGltZU51bWVyaWNGaWVs
ZEVsZW1lbnQ6OnNldFZhbHVlQXNJbnRlZ2VyKGludCB2YWx1ZSwgRXZlbnRCZWhhdmlvciBldmVu
dEJlaGF2aW9yKQogewotICAgIERhdGVUaW1lRmllbGRFbGVtZW50OjpzZXRWYWx1ZUFzSW50ZWdl
cih2YWx1ZSwgZXZlbnRCZWhhdmlvcik7Ci0KICAgICBtX3ZhbHVlID0gbV9yYW5nZS5jbGFtcFZh
bHVlKHZhbHVlKTsKICAgICBtX2hhc1ZhbHVlID0gdHJ1ZTsKICAgICB1cGRhdGVWaXNpYmxlVmFs
dWUoZXZlbnRCZWhhdmlvcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRv
dy9EYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L0RhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudC5oCmluZGV4IDg2MjUxMWU2ODQ3OWU4YjY3
ODMwMzIyZTdjMDUyYjNjMmUzOTU2MTYuLmJhNjM2YjVhMzg4Mjg5NzM1MjY3NTQ5N2FmMzc2MWFi
MjQ0YWNiNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1l
TnVtZXJpY0ZpZWxkRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0Rh
dGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudC5oCkBAIC02Miw5ICs2Miw4IEBAIHByb3RlY3RlZDoK
ICAgICBpbnQgdmFsdWVBc0ludGVnZXIoKSBjb25zdCBmaW5hbDsKIAogcHJpdmF0ZToKLSAgICBP
cHRpb25hbDxTdHlsZTo6RWxlbWVudFN0eWxlPiByZXNvbHZlQ3VzdG9tU3R5bGUoY29uc3QgUmVu
ZGVyU3R5bGUmLCBjb25zdCBSZW5kZXJTdHlsZSopIGZpbmFsOwotCiAgICAgLy8gRGF0ZVRpbWVG
aWVsZEVsZW1lbnQgZnVuY3Rpb25zOgorICAgIHZvaWQgYWRqdXN0TWluV2lkdGgoUmVuZGVyU3R5
bGUmKSBjb25zdCBmaW5hbDsKICAgICBTdHJpbmcgdmFsdWUoKSBjb25zdCBmaW5hbDsKICAgICBT
dHJpbmcgcGxhY2Vob2xkZXJWYWx1ZSgpIGNvbnN0IGZpbmFsOwogICAgIHZvaWQgaGFuZGxlS2V5
Ym9hcmRFdmVudChLZXlib2FyZEV2ZW50JikgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3NoYWRvdy9EYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQuY3BwCmlu
ZGV4IGUwYzQ0ZmQ2M2RjNzljYTk4YWI4NTNjMzAxYTJjYzI4MTY5ZjY4NDYuLjZhZDUxYjkyODZi
YTRkMDMwODNmMmFiODI0OGFmNjY4NjAzNmJmNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvc2hhZG93L0RhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQuY3BwCkBA
IC0zMiw3ICszMiw2IEBACiAjaW5jbHVkZSAiRm9udENhc2NhZGUuaCIKICNpbmNsdWRlICJSZW5k
ZXJCbG9jay5oIgogI2luY2x1ZGUgIlJlbmRlclN0eWxlLmgiCi0jaW5jbHVkZSAiU3R5bGVSZXNv
bHZlci5oIgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CiAjaW5jbHVkZSA8d3Rm
L3RleHQvU3RyaW5nQnVpbGRlci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1RleHRCcmVha0l0ZXJh
dG9yLmg+CkBAIC01MCwyMCArNDksMTUgQEAgRGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudDo6
RGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudChEb2N1bWVudCYgZG9jdW1lbnQsIEYKICAgICBB
U1NFUlQoIW1fc3ltYm9scy5pc0VtcHR5KCkpOwogfQogCi1PcHRpb25hbDxTdHlsZTo6RWxlbWVu
dFN0eWxlPiBEYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50OjpyZXNvbHZlQ3VzdG9tU3R5bGUo
Y29uc3QgUmVuZGVyU3R5bGUmIHBhcmVudFN0eWxlLCBjb25zdCBSZW5kZXJTdHlsZSopCit2b2lk
IERhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQ6OmFkanVzdE1pbldpZHRoKFJlbmRlclN0eWxl
JiBzdHlsZSkgY29uc3QKIHsKLSAgICBhdXRvIGVsZW1lbnRTdHlsZSA9IHJlc29sdmVTdHlsZSgm
cGFyZW50U3R5bGUpOwotICAgIGlmICghZWxlbWVudFN0eWxlLnJlbmRlclN0eWxlKQotICAgICAg
ICByZXR1cm4gV1RGOjpudWxsb3B0OwotCi0gICAgYXV0byYgZm9udCA9IGVsZW1lbnRTdHlsZS5y
ZW5kZXJTdHlsZS0+Zm9udENhc2NhZGUoKTsKKyAgICBhdXRvJiBmb250ID0gc3R5bGUuZm9udENh
c2NhZGUoKTsKIAogICAgIGZsb2F0IHdpZHRoID0gMDsKICAgICBmb3IgKGF1dG8mIHN5bWJvbCA6
IG1fc3ltYm9scykKLSAgICAgICAgd2lkdGggPSBzdGQ6Om1heCh3aWR0aCwgZm9udC53aWR0aChS
ZW5kZXJCbG9jazo6Y29uc3RydWN0VGV4dFJ1bihzeW1ib2wsICplbGVtZW50U3R5bGUucmVuZGVy
U3R5bGUpKSk7CisgICAgICAgIHdpZHRoID0gc3RkOjptYXgod2lkdGgsIGZvbnQud2lkdGgoUmVu
ZGVyQmxvY2s6OmNvbnN0cnVjdFRleHRSdW4oc3ltYm9sLCBzdHlsZSkpKTsKIAotICAgIGVsZW1l
bnRTdHlsZS5yZW5kZXJTdHlsZS0+c2V0TWluV2lkdGgoeyB3aWR0aCwgRml4ZWQgfSk7Ci0gICAg
cmV0dXJuIGVsZW1lbnRTdHlsZTsKKyAgICBzdHlsZS5zZXRNaW5XaWR0aCh7IHdpZHRoLCBGaXhl
ZCB9KTsKIH0KIAogYm9vbCBEYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50OjpoYXNWYWx1ZSgp
IGNvbnN0CkBAIC03OCwxNiArNzIsMTIgQEAgdm9pZCBEYXRlVGltZVN5bWJvbGljRmllbGRFbGVt
ZW50Ojppbml0aWFsaXplKGNvbnN0IEF0b21TdHJpbmcmIHBzZXVkbykKIAogdm9pZCBEYXRlVGlt
ZVN5bWJvbGljRmllbGRFbGVtZW50OjpzZXRFbXB0eVZhbHVlKEV2ZW50QmVoYXZpb3IgZXZlbnRC
ZWhhdmlvcikKIHsKLSAgICBEYXRlVGltZUZpZWxkRWxlbWVudDo6c2V0RW1wdHlWYWx1ZShldmVu
dEJlaGF2aW9yKTsKLQogICAgIG1fc2VsZWN0ZWRJbmRleCA9IGludmFsaWRJbmRleDsKICAgICB1
cGRhdGVWaXNpYmxlVmFsdWUoZXZlbnRCZWhhdmlvcik7CiB9CiAKIHZvaWQgRGF0ZVRpbWVTeW1i
b2xpY0ZpZWxkRWxlbWVudDo6c2V0VmFsdWVBc0ludGVnZXIoaW50IG5ld1NlbGVjdGVkSW5kZXgs
IEV2ZW50QmVoYXZpb3IgZXZlbnRCZWhhdmlvcikKIHsKLSAgICBEYXRlVGltZUZpZWxkRWxlbWVu
dDo6c2V0VmFsdWVBc0ludGVnZXIobmV3U2VsZWN0ZWRJbmRleCwgZXZlbnRCZWhhdmlvcik7Ci0K
ICAgICBtX3NlbGVjdGVkSW5kZXggPSBzdGQ6Om1heCgwLCBzdGQ6Om1pbihuZXdTZWxlY3RlZElu
ZGV4LCBzdGF0aWNfY2FzdDxpbnQ+KG1fc3ltYm9scy5zaXplKCkgLSAxKSkpOwogICAgIHVwZGF0
ZVZpc2libGVWYWx1ZShldmVudEJlaGF2aW9yKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQuaAppbmRleCA0
MDkxY2I0MGU0OWVmMzEzNmQ1NDUxNjUyODRjZGNkZDcwMmJhYzlhLi5hNDM2MTFkYzc5ODMzOTc4
MDYyOWJjN2Y5ZjBiZjQ5MGRhMTE5MzEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9EYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudC5oCkBAIC00Nyw5ICs0
Nyw4IEBAIHByb3RlY3RlZDoKIHByaXZhdGU6CiAgICAgc3RhdGljIGNvbnN0ZXhwciBpbnQgaW52
YWxpZEluZGV4ID0gLTE7CiAKLSAgICBPcHRpb25hbDxTdHlsZTo6RWxlbWVudFN0eWxlPiByZXNv
bHZlQ3VzdG9tU3R5bGUoY29uc3QgUmVuZGVyU3R5bGUmLCBjb25zdCBSZW5kZXJTdHlsZSopIGZp
bmFsOwotCiAgICAgLy8gRGF0ZVRpbWVGaWVsZEVsZW1lbnQgZnVuY3Rpb25zOgorICAgIHZvaWQg
YWRqdXN0TWluV2lkdGgoUmVuZGVyU3R5bGUmKSBjb25zdCBmaW5hbDsKICAgICB2b2lkIHN0ZXBE
b3duKCkgZmluYWw7CiAgICAgdm9pZCBzdGVwVXAoKSBmaW5hbDsKICAgICBTdHJpbmcgdmFsdWUo
KSBjb25zdCBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUaGVtZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwCmlu
ZGV4IDE0YzAzNDQxZWNhNDllNjQxNTU0MzYxODJiYmRlZWUwYmMzOGJhNTkuLjViNjExOWU1ZmE3
ZTg2NzRjMjIwYjdiNjQ3OTUzNjlkMzdlZDg1ZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRoZW1lLmNwcApAQCAtMTQyOCw2ICsxNDI4LDIwIEBAIENvbG9yIFJlbmRlclRoZW1l
OjpkaXNhYmxlZFRleHRDb2xvcihjb25zdCBDb2xvciYgdGV4dENvbG9yLCBjb25zdCBDb2xvciYg
YmFja2dyCiAgICAgcmV0dXJuIGRpc2FibGVkQ29sb3I7CiB9CiAKKy8vIFZhbHVlIGNob3NlbiB0
byByZXR1cm4gZGFyayBncmF5IGZvciBib3RoIHdoaXRlIG9uIGJsYWNrIGFuZCBibGFjayBvbiB3
aGl0ZS4KK2NvbnN0ZXhwciBmbG9hdCBkYXRlUGxhY2Vob2xkZXJDb2xvckxpZ2h0bmVzc0FkanVz
dG1lbnRGYWN0b3IgPSAwLjY2ZjsKKworQ29sb3IgUmVuZGVyVGhlbWU6OmRhdGVQbGFjZWhvbGRl
clRleHRDb2xvcihjb25zdCBDb2xvciYgdGV4dENvbG9yLCBjb25zdCBDb2xvciYgYmFja2dyb3Vu
ZENvbG9yKSBjb25zdAoreworICAgIGF1dG8gaHNsYSA9IHRvSFNMQSh0ZXh0Q29sb3IudG9TUkdC
QUxvc3N5PGZsb2F0PigpKTsKKyAgICBpZiAodGV4dENvbG9yLmx1bWluYW5jZSgpIDwgYmFja2dy
b3VuZENvbG9yLmx1bWluYW5jZSgpKQorICAgICAgICBoc2xhLmxpZ2h0bmVzcyArPSBkYXRlUGxh
Y2Vob2xkZXJDb2xvckxpZ2h0bmVzc0FkanVzdG1lbnRGYWN0b3IgKiAoMS4wZiAtIGhzbGEubGln
aHRuZXNzKTsKKyAgICBlbHNlCisgICAgICAgIGhzbGEubGlnaHRuZXNzICo9IGRhdGVQbGFjZWhv
bGRlckNvbG9yTGlnaHRuZXNzQWRqdXN0bWVudEZhY3RvcjsKKworICAgIHJldHVybiB0b1NSR0JB
KGhzbGEpOworfQorCiB2b2lkIFJlbmRlclRoZW1lOjpzZXRDdXN0b21Gb2N1c1JpbmdDb2xvcihj
b25zdCBDb2xvciYgY29sb3IpCiB7CiAgICAgY3VzdG9tRm9jdXNSaW5nQ29sb3IoKSA9IGNvbG9y
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAppbmRleCBkMDRlYjc4YjUzZjUx
NWU0ZjUzNDZmY2U4ZDc3MDQ2MWI0YWZlMDBjLi40NjNmNTQyOTk5MWQzNmNjYzE1OTY2NDRlYWNj
ZjA0YjliNDRiNGQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGhlbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaApAQCAt
MTY0LDYgKzE2NCw4IEBAIHB1YmxpYzoKICAgICAvLyBEZWZhdWx0IGhpZ2hsaWdodGluZyBjb2xv
ciBmb3IgYXBwIGhpZ2hsaWdodHMuCiAgICAgQ29sb3IgYXBwSGlnaGxpZ2h0Q29sb3IoT3B0aW9u
U2V0PFN0eWxlQ29sb3I6Ok9wdGlvbnM+KSBjb25zdDsKIAorICAgIENvbG9yIGRhdGVQbGFjZWhv
bGRlclRleHRDb2xvcihjb25zdCBDb2xvciYgdGV4dENvbG9yLCBjb25zdCBDb2xvciYgYmFja2dy
b3VuZENvbG9yKSBjb25zdDsKKwogICAgIHZpcnR1YWwgQ29sb3IgZGlzYWJsZWRUZXh0Q29sb3Io
Y29uc3QgQ29sb3ImIHRleHRDb2xvciwgY29uc3QgQ29sb3ImIGJhY2tncm91bmRDb2xvcikgY29u
c3Q7CiAKICAgICBXRUJDT1JFX0VYUE9SVCBDb2xvciBmb2N1c1JpbmdDb2xvcihPcHRpb25TZXQ8
U3R5bGVDb2xvcjo6T3B0aW9ucz4pIGNvbnN0OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDIwYzcxM2YwOTlkODViN2RmNjlm
NmQxYjEwMTY1ZDI4NjhhN2Y0NzUuLjRkMmUwNzcyMzM5ODY0NzRmNzBiZjY4NjA3MzgwNzM5N2Q3
ZmQ5Y2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAyMC0xMi0xNSAgQWRpdHlhIEtlZXJ0aGkg
IDxha2VlcnRoaUBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXSBBZGp1c3QgZGF0ZSBpbnB1
dCBwbGFjZWhvbGRlciBjb2xvciBiYXNlZCBvbiBzcGVjaWZpZWQgdGV4dCBjb2xvcgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE5ODc1CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS83MjMxNDcwNT4KKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBB
ZGxlci4KKworICAgICAgICBBZGRlZCBhIHRlc3QgdG8gdmVyaWZ5IHRoYXQgdGhlIGNvbG9yIG9m
IHRoZSBwbGFjZWhvbGRlciBjaGFuZ2VzIGJhc2VkCisgICAgICAgIG9uIHRoZSBpbnB1dCdzIGNv
bG9yIHByb3BlcnR5LgorCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRlL2RhdGUtZWRpdGFibGUt
Y29tcG9uZW50cy9kYXRlLWVkaXRhYmxlLWNvbXBvbmVudHMtcGxhY2Vob2xkZXItY29sb3ItZXhw
ZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRlL2RhdGUtZWRpdGFi
bGUtY29tcG9uZW50cy9kYXRlLWVkaXRhYmxlLWNvbXBvbmVudHMtcGxhY2Vob2xkZXItY29sb3Iu
aHRtbDogQWRkZWQuCisKIDIwMjAtMTItMTQgIExhdXJvIE1vdXJhICA8bG1vdXJhQGlnYWxpYS5j
b20+CiAKICAgICAgICAgUkVHUkVTU1NJT04oMjcwNDM1KSBbR1N0cmVhbWVyXSBNYW55IG1lZGlh
IHNvdXJjZSB0ZXN0cyBmYWlsaW5nIGFuZCB0aW1pbmcgb3V0CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL2RhdGUvZGF0ZS1lZGl0YWJsZS1jb21wb25lbnRzL2RhdGUtZWRpdGFi
bGUtY29tcG9uZW50cy1wbGFjZWhvbGRlci1jb2xvci1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9kYXRlL2RhdGUtZWRpdGFibGUtY29tcG9uZW50cy9kYXRlLWVkaXRhYmxl
LWNvbXBvbmVudHMtcGxhY2Vob2xkZXItY29sb3ItZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5h
NjRlM2FmOTY3ZGIxZDAxMzg3YjU4NWMzODQ1MDdiZjY4NWVkZDRlCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlL2RhdGUtZWRpdGFibGUtY29tcG9uZW50cy9k
YXRlLWVkaXRhYmxlLWNvbXBvbmVudHMtcGxhY2Vob2xkZXItY29sb3ItZXhwZWN0ZWQuaHRtbApA
QCAtMCwwICsxLDk1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c3R5bGU+
CisKKyNibGFjay1vbi13aGl0ZSBpbnB1dCB7CisgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7
CisgICAgY29sb3I6IGJsYWNrOworfQorCisjYmxhY2stb24td2hpdGUgaW5wdXQ6Oi13ZWJraXQt
ZGF0ZXRpbWUtZWRpdC1kYXktZmllbGQsCisjYmxhY2stb24td2hpdGUgaW5wdXQ6Oi13ZWJraXQt
ZGF0ZXRpbWUtZWRpdC1tb250aC1maWVsZCwKKyNibGFjay1vbi13aGl0ZSBpbnB1dDo6LXdlYmtp
dC1kYXRldGltZS1lZGl0LXllYXItZmllbGQgeworICAgIGNvbG9yOiByZ2IoMTY4LCAxNjgsIDE2
OCk7Cit9CisKKyN3aGl0ZS1vbi1ibGFjayBpbnB1dCB7CisgICAgYmFja2dyb3VuZC1jb2xvcjog
YmxhY2s7CisgICAgY29sb3I6IHdoaXRlOworfQorCisjd2hpdGUtb24tYmxhY2sgaW5wdXQ6Oi13
ZWJraXQtZGF0ZXRpbWUtZWRpdC1kYXktZmllbGQsCisjd2hpdGUtb24tYmxhY2sgaW5wdXQ6Oi13
ZWJraXQtZGF0ZXRpbWUtZWRpdC1tb250aC1maWVsZCwKKyN3aGl0ZS1vbi1ibGFjayBpbnB1dDo6
LXdlYmtpdC1kYXRldGltZS1lZGl0LXllYXItZmllbGQgeworICAgIGNvbG9yOiByZ2IoMTY4LCAx
NjgsIDE2OCk7Cit9CisKKyNyZWQtb24td2hpdGUgaW5wdXQgeworICAgIGJhY2tncm91bmQtY29s
b3I6IHdoaXRlOworICAgIGNvbG9yOiByZWQ7Cit9CisKKyNyZWQtb24td2hpdGUgaW5wdXQ6Oi13
ZWJraXQtZGF0ZXRpbWUtZWRpdC1kYXktZmllbGQsCisjcmVkLW9uLXdoaXRlIGlucHV0Ojotd2Vi
a2l0LWRhdGV0aW1lLWVkaXQtbW9udGgtZmllbGQsCisjcmVkLW9uLXdoaXRlIGlucHV0Ojotd2Vi
a2l0LWRhdGV0aW1lLWVkaXQteWVhci1maWVsZCB7CisgICAgY29sb3I6IHJnYigyNTUsIDE2OCwg
MTY4KTsKK30KKworI2JsdWUtb24tb3JhbmdlIGlucHV0IHsKKyAgICBiYWNrZ3JvdW5kLWNvbG9y
OiBvcmFuZ2U7CisgICAgY29sb3I6IGJsdWU7Cit9CisKKyNibHVlLW9uLW9yYW5nZSBpbnB1dDo6
LXdlYmtpdC1kYXRldGltZS1lZGl0LWRheS1maWVsZCwKKyNibHVlLW9uLW9yYW5nZSBpbnB1dDo6
LXdlYmtpdC1kYXRldGltZS1lZGl0LW1vbnRoLWZpZWxkLAorI2JsdWUtb24tb3JhbmdlIGlucHV0
Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQteWVhci1maWVsZCB7CisgICAgY29sb3I6IHJnYigxNjgs
IDE2OCwgMjU1KTsKK30KKworI3RyYW5zcGFyZW50IGlucHV0IHsKKyAgICBjb2xvcjogdHJhbnNw
YXJlbnQ7Cit9CisKKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8ZGl2IGlkPSJibGFj
ay1vbi13aGl0ZSI+CisgICAgICAgIDxpbnB1dCB0eXBlPSJkYXRlIj4KKyAgICA8L2Rpdj4KKyAg
ICA8ZGl2IGlkPSJ3aGl0ZS1vbi1ibGFjayI+CisgICAgICAgIDxpbnB1dCB0eXBlPSJkYXRlIj4K
KyAgICA8L2Rpdj4KKyAgICA8ZGl2IGlkPSJyZWQtb24td2hpdGUiPgorICAgICAgICA8aW5wdXQg
dHlwZT0iZGF0ZSI+CisgICAgPC9kaXY+CisgICAgPGRpdiBpZD0iYmx1ZS1vbi1vcmFuZ2UiPgor
ICAgICAgICA8aW5wdXQgdHlwZT0iZGF0ZSI+CisgICAgPC9kaXY+CisgICAgPGRpdiBpZD0idHJh
bnNwYXJlbnQiPgorICAgICAgICA8aW5wdXQgdHlwZT0iZGF0ZSI+CisgICAgPC9kaXY+Cis8L2Jv
ZHk+Cis8c2NyaXB0PgorCitmdW5jdGlvbiBwYWQobnVtYmVyKSB7CisgICAgaWYgKG51bWJlciA8
IDEwKSB7CisgICAgICAgIHJldHVybiAnMCcgKyBudW1iZXI7CisgICAgfQorICAgIHJldHVybiBu
dW1iZXI7Cit9CisKK2xldCBub3cgPSBuZXcgRGF0ZSgpOworbGV0IGN1cnJlbnRIVE1MRGF0ZVN0
cmluZyA9IG5vdy5nZXRGdWxsWWVhcigpICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
LSIgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZChub3cuZ2V0TW9udGgoKSArIDEp
ICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLSIgKworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHBhZChub3cuZ2V0RGF0ZSgpKTsKKworbGV0IGlucHV0cyA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRzQnlUYWdOYW1lKCJpbnB1dCIpOworQXJyYXkuZnJvbShpbnB1dHMpLmZvckVhY2go
ZWxlbWVudCA9PiB7CisgICAgZWxlbWVudC52YWx1ZSA9IGN1cnJlbnRIVE1MRGF0ZVN0cmluZzsK
K30pOworCis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvZGF0ZS9kYXRlLWVkaXRhYmxlLWNvbXBvbmVudHMvZGF0ZS1lZGl0YWJsZS1jb21wb25l
bnRzLXBsYWNlaG9sZGVyLWNvbG9yLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUv
ZGF0ZS1lZGl0YWJsZS1jb21wb25lbnRzL2RhdGUtZWRpdGFibGUtY29tcG9uZW50cy1wbGFjZWhv
bGRlci1jb2xvci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiZmVkMjllNWJjMzhjMDI1M2M3NjU4MzE1NjIw
YzM2NmU1ZjNiNjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2Rh
dGUvZGF0ZS1lZGl0YWJsZS1jb21wb25lbnRzL2RhdGUtZWRpdGFibGUtY29tcG9uZW50cy1wbGFj
ZWhvbGRlci1jb2xvci5odG1sCkBAIC0wLDAgKzEsNDkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzxzdHlsZT4KKworI2JsYWNrLW9uLXdoaXRlIGlucHV0IHsKKyAgICBiYWNr
Z3JvdW5kLWNvbG9yOiB3aGl0ZTsKKyAgICBjb2xvcjogYmxhY2s7Cit9CisKKyN3aGl0ZS1vbi1i
bGFjayBpbnB1dCB7CisgICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7CisgICAgY29sb3I6IHdo
aXRlOworfQorCisjcmVkLW9uLXdoaXRlIGlucHV0IHsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3
aGl0ZTsKKyAgICBjb2xvcjogcmVkOworfQorCisjYmx1ZS1vbi1vcmFuZ2UgaW5wdXQgeworICAg
IGJhY2tncm91bmQtY29sb3I6IG9yYW5nZTsKKyAgICBjb2xvcjogYmx1ZTsKK30KKworI3RyYW5z
cGFyZW50IGlucHV0IHsKKyAgICBjb2xvcjogdHJhbnNwYXJlbnQ7Cit9CisKKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKyAgICA8ZGl2IGlkPSJibGFjay1vbi13aGl0ZSI+CisgICAgICAgIDxp
bnB1dCB0eXBlPSJkYXRlIj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGlkPSJ3aGl0ZS1vbi1ibGFj
ayI+CisgICAgICAgIDxpbnB1dCB0eXBlPSJkYXRlIj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGlk
PSJyZWQtb24td2hpdGUiPgorICAgICAgICA8aW5wdXQgdHlwZT0iZGF0ZSI+CisgICAgPC9kaXY+
CisgICAgPGRpdiBpZD0iYmx1ZS1vbi1vcmFuZ2UiPgorICAgICAgICA8aW5wdXQgdHlwZT0iZGF0
ZSI+CisgICAgPC9kaXY+CisgICAgPGRpdiBpZD0idHJhbnNwYXJlbnQiPgorICAgICAgICA8aW5w
dXQgdHlwZT0iZGF0ZSI+CisgICAgPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>