<?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>214972</bug_id>
          
          <creation_ts>2020-07-30 09:10:40 -0700</creation_ts>
          <short_desc>MediaRecorderPrivateWriter::appendEndOfVideoSampleDurationIfNeeded should only call requestMediaDataWhenReadyOnQueue once</short_desc>
          <delta_ts>2020-08-03 13:34:28 -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>WebRTC</component>
          <version>WebKit Local 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>85851</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1676404</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-07-30 09:10:40 -0700</bug_when>
    <thetext>MediaRecorderPrivateWriter::appendEndOfVideoSampleDurationIfNeeded should only call requestMediaDataWhenReadyOnQueue once</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1676837</commentid>
    <comment_count>1</comment_count>
      <attachid>405697</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-07-31 09:06:09 -0700</bug_when>
    <thetext>Created attachment 405697
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1677252</commentid>
    <comment_count>2</comment_count>
      <attachid>405816</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-08-03 00:48:47 -0700</bug_when>
    <thetext>Created attachment 405816
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1677253</commentid>
    <comment_count>3</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-08-03 00:49:48 -0700</bug_when>
    <thetext>Thanks for the r+ Eric.
I changed it a bit to capture the queue of pending audio and video samples in the block given to requestMediaDataWhenReadyOnQueue. This should ensure we do not grab other incoming samples.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1677267</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-08-03 03:09:44 -0700</bug_when>
    <thetext>Committed r265192: &lt;https://trac.webkit.org/changeset/265192&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 405816.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1677282</commentid>
    <comment_count>5</comment_count>
      <attachid>405816</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-08-03 07:00:59 -0700</bug_when>
    <thetext>Comment on attachment 405816
Patch for landing

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

&gt; Source/WebCore/platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm:263
&gt;      [m_audioAssetWriterInput.get() appendSampleBuffer:buffer.get()];

Shouldn&apos;t we check [m_audioAssetWriterInput isReadyForMoreMediaData] before appending?

&gt; Source/WebCore/platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm:294
&gt; +    m_lastVideoPresentationTime = CMSampleBufferGetPresentationTimeStamp(buffer);
&gt; +    m_lastVideoDecodingTime = CMSampleBufferGetDecodeTimeStamp(buffer);
&gt; +    m_hasEncodedVideoSamples = true;
&gt; +
&gt; +    [m_videoAssetWriterInput.get() appendSampleBuffer:buffer];

Shouldn&apos;t this check [m_videoAssetWriterInput isReadyForMoreMediaData] before appending in case, for example, appendCompressedVideoSampleBufferIfPossible filled it with pending samples?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1677287</commentid>
    <comment_count>6</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-08-03 07:44:25 -0700</bug_when>
    <thetext>Thanks, will fix that as a follow-up.

(In reply to Eric Carlson from comment #5)
&gt; Comment on attachment 405816 [details]
&gt; Patch for landing
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=405816&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm:263
&gt; &gt;      [m_audioAssetWriterInput.get() appendSampleBuffer:buffer.get()];
&gt; 
&gt; Shouldn&apos;t we check [m_audioAssetWriterInput isReadyForMoreMediaData] before
&gt; appending?
&gt; 
&gt; &gt; Source/WebCore/platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm:294
&gt; &gt; +    m_lastVideoPresentationTime = CMSampleBufferGetPresentationTimeStamp(buffer);
&gt; &gt; +    m_lastVideoDecodingTime = CMSampleBufferGetDecodeTimeStamp(buffer);
&gt; &gt; +    m_hasEncodedVideoSamples = true;
&gt; &gt; +
&gt; &gt; +    [m_videoAssetWriterInput.get() appendSampleBuffer:buffer];
&gt; 
&gt; Shouldn&apos;t this check [m_videoAssetWriterInput isReadyForMoreMediaData]
&gt; before appending in case, for example,
&gt; appendCompressedVideoSampleBufferIfPossible filled it with pending samples?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1677289</commentid>
    <comment_count>7</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-08-03 07:45:10 -0700</bug_when>
    <thetext>https://bugs.webkit.org/show_bug.cgi?id=215081</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1677290</commentid>
    <comment_count>8</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-08-03 07:53:28 -0700</bug_when>
    <thetext>We also need to make sure flushCompressedSampleBuffers is not called by stopRecording while doing work for fetchData.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1677394</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-08-03 13:34:28 -0700</bug_when>
    <thetext>&lt;rdar://problem/66489134&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405697</attachid>
            <date>2020-07-31 09:06:09 -0700</date>
            <delta_ts>2020-08-03 00:48:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214972-20200731180607.patch</filename>
            <type>text/plain</type>
            <size>10419</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1MTM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmJkMzJkNTZjN2FjYzRl
Y2Q1MTJkY2RhYzNjOGZmYWQ1MTFkNDVhNi4uMzczNTZjMDM0ZWYyMjIxZTI5MzRkMDc0NDFkYjNj
NDlmZWFkNjQ0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIwLTA3LTMxICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYVJlY29yZGVyUHJp
dmF0ZVdyaXRlcjo6YXBwZW5kRW5kT2ZWaWRlb1NhbXBsZUR1cmF0aW9uSWZOZWVkZWQgc2hvdWxk
IG9ubHkgY2FsbCByZXF1ZXN0TWVkaWFEYXRhV2hlblJlYWR5T25RdWV1ZSBvbmNlCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQ5NzIKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaGVuIHByb2Nlc3Npbmcg
YSBjb21wcmVzc2VkIHNhbXBsZSwgcGFzcyBpdCB0byB0aGUgd3JpdGVyIGlmIGl0cyByZWFkeS4K
KyAgICAgICAgT3RoZXJ3aXNlIGJ1ZmZlciBpdCBhbmQgcmV0cnkgcGFzc2luZyBpdCB0byB0aGUg
d3JpdGVyIG5leHQgdGltZSB3ZSBoYXZlIGEgc2FtcGxlLgorICAgICAgICBXaGVuIGZpbmlzaGlu
ZyBhIHdyaXRlLCB3ZSBjYWxsIHJlcXVlc3RNZWRpYURhdGFXaGVuUmVhZHlPblF1ZXVlIHRvIGZp
bmlzaCBwYXNzaW5nIHNhbXBsZXMgdGhhdCBhcmUgc3RpbGwgZW5xdWV1ZWQuCisKKyAgICAgICAg
Q292ZXJlZCBieSBleGlzdGluZyB0ZXN0cyBubyBsb25nZXIgdHJpZ2dlcmluZyBPYmpDIGV4Y2Vw
dGlvbi4KKworICAgICAgICAqIHBsYXRmb3JtL21lZGlhcmVjb3JkZXIvY29jb2EvTWVkaWFSZWNv
cmRlclByaXZhdGVXcml0ZXJDb2NvYS5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhcmVjb3Jk
ZXIvY29jb2EvTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXJDb2NvYS5tbToKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyOjphcHBlbmRDb21wcmVzc2VkQXVkaW9T
YW1wbGVCdWZmZXIpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFSZWNvcmRlclByaXZhdGVXcml0
ZXI6OmFwcGVuZENvbXByZXNzZWRWaWRlb1NhbXBsZUJ1ZmZlcklmUG9zc2libGUpOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXI6OmFwcGVuZENvbXByZXNzZWRW
aWRlb1NhbXBsZUJ1ZmZlcik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVJlY29yZGVyUHJpdmF0
ZVdyaXRlcjo6YXBwZW5kQ29tcHJlc3NlZFNhbXBsZUJ1ZmZlcnMpOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXI6OmZpbmlzaEFwcGVuZGluZ0NvbXByZXNzZWRB
dWRpb1NhbXBsZUJ1ZmZlcnMpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFSZWNvcmRlclByaXZh
dGVXcml0ZXI6OmZpbmlzaEFwcGVuZGluZ0NvbXByZXNzZWRWaWRlb1NhbXBsZUJ1ZmZlcnMpOgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXI6OmZsdXNoQ29tcHJl
c3NlZFNhbXBsZUJ1ZmZlcnMpOgorCiAyMDIwLTA3LTMxICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5u
QGFwcGxlLmNvbT4KIAogICAgICAgICBNb3ZlIHVzZXIgZ2VzdHVyZSBwcm9wYWdhdGlvbiBvdmVy
IHByb21pc2UgYmVoaW5kIGEgZmVhdHVyZSBmbGFnCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL01lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVy
Q29jb2EuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvY29jb2EvTWVk
aWFSZWNvcmRlclByaXZhdGVXcml0ZXJDb2NvYS5oCmluZGV4IGY4MzA5NjdiZWFlMGFmOTYxYWNm
YjRjMjdjN2IwNDNlMTYwZjFkMzAuLjU4MGExYThhN2U2N2RhZWY5ZDc5NTI5MmNmMjVkNGY0ZTVm
MmZiOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIv
Y29jb2EvTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXJDb2NvYS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvY29jb2EvTWVkaWFSZWNvcmRlclByaXZhdGVXcml0
ZXJDb2NvYS5oCkBAIC04NiwxMyArODYsMTYgQEAgcHJpdmF0ZToKICAgICB2b2lkIGFwcGVuZENv
bXByZXNzZWRTYW1wbGVCdWZmZXJzKCk7CiAKICAgICBib29sIGFwcGVuZENvbXByZXNzZWRBdWRp
b1NhbXBsZUJ1ZmZlcigpOwotICAgIGJvb2wgYXBwZW5kQ29tcHJlc3NlZFZpZGVvU2FtcGxlQnVm
ZmVyKCk7CisKKyAgICBib29sIGFwcGVuZENvbXByZXNzZWRWaWRlb1NhbXBsZUJ1ZmZlcklmUG9z
c2libGUoKTsKKyAgICB2b2lkIGFwcGVuZENvbXByZXNzZWRWaWRlb1NhbXBsZUJ1ZmZlcihDTVNh
bXBsZUJ1ZmZlclJlZik7CiAKICAgICB2b2lkIHByb2Nlc3NOZXdDb21wcmVzc2VkQXVkaW9TYW1w
bGVCdWZmZXJzKCk7CiAgICAgdm9pZCBwcm9jZXNzTmV3Q29tcHJlc3NlZFZpZGVvU2FtcGxlQnVm
ZmVycygpOwogCisgICAgdm9pZCBmaW5pc2hBcHBlbmRpbmdDb21wcmVzc2VkQXVkaW9TYW1wbGVC
dWZmZXJzKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CisgICAgdm9pZCBmaW5pc2hBcHBl
bmRpbmdDb21wcmVzc2VkVmlkZW9TYW1wbGVCdWZmZXJzKENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
KT4mJik7CiAgICAgdm9pZCBmbHVzaENvbXByZXNzZWRTYW1wbGVCdWZmZXJzKENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoKT4mJik7Ci0gICAgdm9pZCBhcHBlbmRFbmRPZlZpZGVvU2FtcGxlRHVyYXRp
b25JZk5lZWRlZChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogCiAgICAgYm9vbCBtX2hh
c0F1ZGlvIHsgZmFsc2UgfTsKICAgICBib29sIG1faGFzVmlkZW8geyBmYWxzZSB9OwpAQCAtMTE4
LDYgKzEyMSw4IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2hhc0VuY29kZWRWaWRlb1NhbXBsZXMg
eyBmYWxzZSB9OwogCiAgICAgUmV0YWluUHRyPFdlYkFWQXNzZXRXcml0ZXJEZWxlZ2F0ZT4gbV93
cml0ZXJEZWxlZ2F0ZTsKKyAgICBEZXF1ZTxSZXRhaW5QdHI8Q01TYW1wbGVCdWZmZXJSZWY+PiBt
X3BlbmRpbmdWaWRlb1NhbXBsZVF1ZXVlOworICAgIERlcXVlPFJldGFpblB0cjxDTVNhbXBsZUJ1
ZmZlclJlZj4+IG1fcGVuZGluZ0F1ZGlvU2FtcGxlUXVldWU7CiB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29y
ZGVyL2NvY29hL01lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyQ29jb2EubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL01lZGlhUmVjb3JkZXJQcml2YXRlV3Jp
dGVyQ29jb2EubW0KaW5kZXggZGExZmEyZmVmYmMyMWJjOTFmNDA4MGZlMTE4OGUzNmI5NDUzYmQ3
ZC4uOTJjZmFiYzQwYmU3NzBjYjAyNmM4OTIzNzU3ZTE2NjIzNWRmOTY4YSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9jb2NvYS9NZWRpYVJlY29yZGVy
UHJpdmF0ZVdyaXRlckNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
cmVjb3JkZXIvY29jb2EvTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXJDb2NvYS5tbQpAQCAtMjQ4
LDQwICsyNDgsNTUgQEAgYm9vbCBNZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlcjo6YXBwZW5kQ29t
cHJlc3NlZEF1ZGlvU2FtcGxlQnVmZmVyKCkKICAgICBpZiAoIW1fYXVkaW9Db21wcmVzc29yKQog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBpZiAoIVttX2F1ZGlvQXNzZXRXcml0ZXJJbnB1
dCBpc1JlYWR5Rm9yTW9yZU1lZGlhRGF0YV0pCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQogICAg
IGF1dG8gYnVmZmVyID0gbV9hdWRpb0NvbXByZXNzb3ItPnRha2VPdXRwdXRTYW1wbGVCdWZmZXIo
KTsKICAgICBpZiAoIWJ1ZmZlcikKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgd2hpbGUg
KCFtX3BlbmRpbmdBdWRpb1NhbXBsZVF1ZXVlLmlzRW1wdHkoKSAmJiBbbV92aWRlb0Fzc2V0V3Jp
dGVySW5wdXQgaXNSZWFkeUZvck1vcmVNZWRpYURhdGFdKQorICAgICAgICBbbV9hdWRpb0Fzc2V0
V3JpdGVySW5wdXQuZ2V0KCkgYXBwZW5kU2FtcGxlQnVmZmVyOm1fcGVuZGluZ0F1ZGlvU2FtcGxl
UXVldWUudGFrZUZpcnN0KCkuZ2V0KCldOworCisgICAgaWYgKCFbbV92aWRlb0Fzc2V0V3JpdGVy
SW5wdXQgaXNSZWFkeUZvck1vcmVNZWRpYURhdGFdKSB7CisgICAgICAgIG1fcGVuZGluZ0F1ZGlv
U2FtcGxlUXVldWUuYXBwZW5kKFdURk1vdmUoYnVmZmVyKSk7CisgICAgICAgIHJldHVybiB0cnVl
OworICAgIH0KKwogICAgIFttX2F1ZGlvQXNzZXRXcml0ZXJJbnB1dC5nZXQoKSBhcHBlbmRTYW1w
bGVCdWZmZXI6YnVmZmVyLmdldCgpXTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBNZWRp
YVJlY29yZGVyUHJpdmF0ZVdyaXRlcjo6YXBwZW5kQ29tcHJlc3NlZFZpZGVvU2FtcGxlQnVmZmVy
KCkKK2Jvb2wgTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXI6OmFwcGVuZENvbXByZXNzZWRWaWRl
b1NhbXBsZUJ1ZmZlcklmUG9zc2libGUoKQogewogICAgIGlmICghbV92aWRlb0NvbXByZXNzb3Ip
CiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGlmICghW21fdmlkZW9Bc3NldFdyaXRlcklu
cHV0IGlzUmVhZHlGb3JNb3JlTWVkaWFEYXRhXSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCiAg
ICAgYXV0byBidWZmZXIgPSBtX3ZpZGVvQ29tcHJlc3Nvci0+dGFrZU91dHB1dFNhbXBsZUJ1ZmZl
cigpOwogICAgIGlmICghYnVmZmVyKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBtX2xh
c3RWaWRlb1ByZXNlbnRhdGlvblRpbWUgPSBDTVNhbXBsZUJ1ZmZlckdldFByZXNlbnRhdGlvblRp
bWVTdGFtcChidWZmZXIuZ2V0KCkpOwotICAgIG1fbGFzdFZpZGVvRGVjb2RpbmdUaW1lID0gQ01T
YW1wbGVCdWZmZXJHZXREZWNvZGVUaW1lU3RhbXAoYnVmZmVyLmdldCgpKTsKLSAgICBtX2hhc0Vu
Y29kZWRWaWRlb1NhbXBsZXMgPSB0cnVlOworICAgIHdoaWxlICghbV9wZW5kaW5nVmlkZW9TYW1w
bGVRdWV1ZS5pc0VtcHR5KCkgJiYgW21fdmlkZW9Bc3NldFdyaXRlcklucHV0IGlzUmVhZHlGb3JN
b3JlTWVkaWFEYXRhXSkKKyAgICAgICAgYXBwZW5kQ29tcHJlc3NlZFZpZGVvU2FtcGxlQnVmZmVy
KG1fcGVuZGluZ1ZpZGVvU2FtcGxlUXVldWUudGFrZUZpcnN0KCkuZ2V0KCkpOworCisgICAgaWYg
KCFbbV92aWRlb0Fzc2V0V3JpdGVySW5wdXQgaXNSZWFkeUZvck1vcmVNZWRpYURhdGFdKSB7Cisg
ICAgICAgIG1fcGVuZGluZ1ZpZGVvU2FtcGxlUXVldWUuYXBwZW5kKFdURk1vdmUoYnVmZmVyKSk7
CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KIAotICAgIFttX3ZpZGVvQXNzZXRXcml0ZXJJ
bnB1dC5nZXQoKSBhcHBlbmRTYW1wbGVCdWZmZXI6YnVmZmVyLmdldCgpXTsKKyAgICBhcHBlbmRD
b21wcmVzc2VkVmlkZW9TYW1wbGVCdWZmZXIoYnVmZmVyLmdldCgpKTsKICAgICByZXR1cm4gdHJ1
ZTsKIH0KIAordm9pZCBNZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlcjo6YXBwZW5kQ29tcHJlc3Nl
ZFZpZGVvU2FtcGxlQnVmZmVyKENNU2FtcGxlQnVmZmVyUmVmIGJ1ZmZlcikKK3sKKyAgICBtX2xh
c3RWaWRlb1ByZXNlbnRhdGlvblRpbWUgPSBDTVNhbXBsZUJ1ZmZlckdldFByZXNlbnRhdGlvblRp
bWVTdGFtcChidWZmZXIpOworICAgIG1fbGFzdFZpZGVvRGVjb2RpbmdUaW1lID0gQ01TYW1wbGVC
dWZmZXJHZXREZWNvZGVUaW1lU3RhbXAoYnVmZmVyKTsKKyAgICBtX2hhc0VuY29kZWRWaWRlb1Nh
bXBsZXMgPSB0cnVlOworCisgICAgW21fdmlkZW9Bc3NldFdyaXRlcklucHV0LmdldCgpIGFwcGVu
ZFNhbXBsZUJ1ZmZlcjpidWZmZXJdOworfQorCiB2b2lkIE1lZGlhUmVjb3JkZXJQcml2YXRlV3Jp
dGVyOjphcHBlbmRDb21wcmVzc2VkU2FtcGxlQnVmZmVycygpCiB7Ci0gICAgd2hpbGUgKGFwcGVu
ZENvbXByZXNzZWRWaWRlb1NhbXBsZUJ1ZmZlcigpIHx8IGFwcGVuZENvbXByZXNzZWRBdWRpb1Nh
bXBsZUJ1ZmZlcigpKSB7IH07CisgICAgd2hpbGUgKGFwcGVuZENvbXByZXNzZWRWaWRlb1NhbXBs
ZUJ1ZmZlcklmUG9zc2libGUoKSB8fCBhcHBlbmRDb21wcmVzc2VkQXVkaW9TYW1wbGVCdWZmZXIo
KSkgeyB9OwogfQogCiBzdGF0aWMgaW5saW5lIHZvaWQgYXBwZW5kRW5kc1ByZXZpb3VzU2FtcGxl
RHVyYXRpb25NYXJrZXIoQVZBc3NldFdyaXRlcklucHV0ICphc3NldFdyaXRlcklucHV0LCBDTVRp
bWUgcHJlc2VudGF0aW9uVGltZVN0YW1wLCBDTVRpbWUgZGVjb2RpbmdUaW1lU3RhbXApCkBAIC0z
MDEsMzIgKzMxNiw3MSBAQCBzdGF0aWMgaW5saW5lIHZvaWQgYXBwZW5kRW5kc1ByZXZpb3VzU2Ft
cGxlRHVyYXRpb25NYXJrZXIoQVZBc3NldFdyaXRlcklucHV0ICphcwogICAgICAgICBSRUxFQVNF
X0xPR19FUlJPUihNZWRpYVN0cmVhbSwgIk1lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyIGFwcGVu
ZFNhbXBsZUJ1ZmZlciB0byB3cml0ZXIgaW5wdXQgZmFpbGVkIik7CiB9CiAKLXZvaWQgTWVkaWFS
ZWNvcmRlclByaXZhdGVXcml0ZXI6OmFwcGVuZEVuZE9mVmlkZW9TYW1wbGVEdXJhdGlvbklmTmVl
ZGVkKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3ZvaWQg
TWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXI6OmZpbmlzaEFwcGVuZGluZ0NvbXByZXNzZWRBdWRp
b1NhbXBsZUJ1ZmZlcnMoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5k
bGVyKQogewotICAgIGlmICghbV9oYXNFbmNvZGVkVmlkZW9TYW1wbGVzKSB7CisgICAgYXV0byBi
bG9jayA9IG1ha2VCbG9ja1B0cihbdGhpcywgd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyks
IGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKCkgbXV0YWJs
ZSB7CisgICAgICAgIGlmICghd2Vha1RoaXMpIHsKKyAgICAgICAgICAgIGNvbXBsZXRpb25IYW5k
bGVyKCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICB3aGlsZSAo
IW1fcGVuZGluZ0F1ZGlvU2FtcGxlUXVldWUuaXNFbXB0eSgpICYmIFttX2F1ZGlvQXNzZXRXcml0
ZXJJbnB1dCBpc1JlYWR5Rm9yTW9yZU1lZGlhRGF0YV0pCisgICAgICAgICAgICBbbV9hdWRpb0Fz
c2V0V3JpdGVySW5wdXQuZ2V0KCkgYXBwZW5kU2FtcGxlQnVmZmVyOm1fcGVuZGluZ0F1ZGlvU2Ft
cGxlUXVldWUudGFrZUZpcnN0KCkuZ2V0KCldOworCisgICAgICAgIGlmICghbV9wZW5kaW5nQXVk
aW9TYW1wbGVRdWV1ZS5pc0VtcHR5KCkpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAg
W21fYXVkaW9Bc3NldFdyaXRlcklucHV0IG1hcmtBc0ZpbmlzaGVkXTsKICAgICAgICAgY29tcGxl
dGlvbkhhbmRsZXIoKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICBpZiAoW21fdmlkZW9B
c3NldFdyaXRlcklucHV0IGlzUmVhZHlGb3JNb3JlTWVkaWFEYXRhXSkgewotICAgICAgICBhcHBl
bmRFbmRzUHJldmlvdXNTYW1wbGVEdXJhdGlvbk1hcmtlcihtX3ZpZGVvQXNzZXRXcml0ZXJJbnB1
dC5nZXQoKSwgbV9sYXN0VmlkZW9QcmVzZW50YXRpb25UaW1lLCBtX2xhc3RWaWRlb0RlY29kaW5n
VGltZSk7CisgICAgfSk7CisgICAgW21fYXVkaW9Bc3NldFdyaXRlcklucHV0IHJlcXVlc3RNZWRp
YURhdGFXaGVuUmVhZHlPblF1ZXVlOmRpc3BhdGNoX2dldF9tYWluX3F1ZXVlKCkgdXNpbmdCbG9j
azpibG9jay5nZXQoKV07Cit9CisKK3ZvaWQgTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXI6OmZp
bmlzaEFwcGVuZGluZ0NvbXByZXNzZWRWaWRlb1NhbXBsZUJ1ZmZlcnMoQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQoreworICAgIGlmICghbV9oYXNFbmNvZGVk
VmlkZW9TYW1wbGVzKSB7CiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CiAgICAgICAgIHJl
dHVybjsKICAgICB9CiAKLSAgICBhdXRvIGJsb2NrID0gbWFrZUJsb2NrUHRyKFt0aGlzLCB3ZWFr
VGhpcyA9IG1ha2VXZWFrUHRyKHRoaXMpLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29t
cGxldGlvbkhhbmRsZXIpXSgpIG11dGFibGUgewotICAgICAgICBpZiAod2Vha1RoaXMpIHsKLSAg
ICAgICAgICAgIGFwcGVuZEVuZHNQcmV2aW91c1NhbXBsZUR1cmF0aW9uTWFya2VyKG1fdmlkZW9B
c3NldFdyaXRlcklucHV0LmdldCgpLCBtX2xhc3RWaWRlb1ByZXNlbnRhdGlvblRpbWUsIG1fbGFz
dFZpZGVvRGVjb2RpbmdUaW1lKTsKKyAgICBpZiAoIW1fcGVuZGluZ1ZpZGVvU2FtcGxlUXVldWUu
aXNFbXB0eSgpIHx8ICFbbV92aWRlb0Fzc2V0V3JpdGVySW5wdXQgaXNSZWFkeUZvck1vcmVNZWRp
YURhdGFdKSB7CisgICAgICAgIGF1dG8gd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyk7Cisg
ICAgICAgIFttX3ZpZGVvQXNzZXRXcml0ZXJJbnB1dCByZXF1ZXN0TWVkaWFEYXRhV2hlblJlYWR5
T25RdWV1ZTpkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpIHVzaW5nQmxvY2s6XnsKKyAgICAgICAg
ICAgIGlmICghd2Vha1RoaXMpIHsKKyAgICAgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcigp
OworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAg
d2hpbGUgKCFtX3BlbmRpbmdWaWRlb1NhbXBsZVF1ZXVlLmlzRW1wdHkoKSAmJiBbbV92aWRlb0Fz
c2V0V3JpdGVySW5wdXQgaXNSZWFkeUZvck1vcmVNZWRpYURhdGFdKQorICAgICAgICAgICAgICAg
IGFwcGVuZENvbXByZXNzZWRWaWRlb1NhbXBsZUJ1ZmZlcihtX3BlbmRpbmdWaWRlb1NhbXBsZVF1
ZXVlLnRha2VGaXJzdCgpLmdldCgpKTsKKworICAgICAgICAgICAgaWYgKCFtX3BlbmRpbmdWaWRl
b1NhbXBsZVF1ZXVlLmlzRW1wdHkoKSB8fCAhW21fdmlkZW9Bc3NldFdyaXRlcklucHV0IGlzUmVh
ZHlGb3JNb3JlTWVkaWFEYXRhXSkKKyAgICAgICAgICAgICAgICByZXR1cm47CisKICAgICAgICAg
ICAgIFttX3ZpZGVvQXNzZXRXcml0ZXJJbnB1dCBtYXJrQXNGaW5pc2hlZF07Ci0gICAgICAgIH0K
LSAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKLSAgICB9KTsKLSAgICBbbV92aWRlb0Fzc2V0
V3JpdGVySW5wdXQgcmVxdWVzdE1lZGlhRGF0YVdoZW5SZWFkeU9uUXVldWU6ZGlzcGF0Y2hfZ2V0
X21haW5fcXVldWUoKSB1c2luZ0Jsb2NrOmJsb2NrLmdldCgpXTsKKyAgICAgICAgICAgIGFwcGVu
ZEVuZHNQcmV2aW91c1NhbXBsZUR1cmF0aW9uTWFya2VyKG1fdmlkZW9Bc3NldFdyaXRlcklucHV0
LmdldCgpLCBtX2xhc3RWaWRlb1ByZXNlbnRhdGlvblRpbWUsIG1fbGFzdFZpZGVvRGVjb2RpbmdU
aW1lKTsKKyAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CisgICAgICAgIH1dOworICAg
ICAgICByZXR1cm47CisgICAgfQorICAgIGFwcGVuZEVuZHNQcmV2aW91c1NhbXBsZUR1cmF0aW9u
TWFya2VyKG1fdmlkZW9Bc3NldFdyaXRlcklucHV0LmdldCgpLCBtX2xhc3RWaWRlb1ByZXNlbnRh
dGlvblRpbWUsIG1fbGFzdFZpZGVvRGVjb2RpbmdUaW1lKTsKKyAgICBjb21wbGV0aW9uSGFuZGxl
cigpOwogfQogCiB2b2lkIE1lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyOjpmbHVzaENvbXByZXNz
ZWRTYW1wbGVCdWZmZXJzKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFu
ZGxlcikKIHsKICAgICBhcHBlbmRDb21wcmVzc2VkU2FtcGxlQnVmZmVycygpOwotICAgIGFwcGVu
ZEVuZE9mVmlkZW9TYW1wbGVEdXJhdGlvbklmTmVlZGVkKFdURk1vdmUoY29tcGxldGlvbkhhbmRs
ZXIpKTsKKyAgICBmaW5pc2hBcHBlbmRpbmdDb21wcmVzc2VkVmlkZW9TYW1wbGVCdWZmZXJzKFt0
aGlzLCB3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKHRoaXMpLCBjb21wbGV0aW9uSGFuZGxlciA9IFdU
Rk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXSgpIG11dGFibGUgeworICAgICAgICBpZiAoIXdlYWtU
aGlzKSB7CisgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcigpOworICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICB9CisgICAgICAgIGlmICghbV9wZW5kaW5nQXVkaW9TYW1wbGVRdWV1ZS5p
c0VtcHR5KCkpIHsKKyAgICAgICAgICAgIGZpbmlzaEFwcGVuZGluZ0NvbXByZXNzZWRBdWRpb1Nh
bXBsZUJ1ZmZlcnMoV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOworICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICB9CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CisgICAgfSk7CiB9
CiAKIHZvaWQgTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXI6OmNsZWFyKCkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405816</attachid>
            <date>2020-08-03 00:48:47 -0700</date>
            <delta_ts>2020-08-03 03:09:44 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-214972-20200803094845.patch</filename>
            <type>text/plain</type>
            <size>10521</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1MTM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmJkMzJkNTZjN2FjYzRl
Y2Q1MTJkY2RhYzNjOGZmYWQ1MTFkNDVhNi4uZDM5Y2FjNTllOTM5MDdlODliMzJkNmFiYjBkMTRl
YWEzMjNkZjA3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIwLTA3LTMxICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYVJlY29yZGVyUHJp
dmF0ZVdyaXRlcjo6YXBwZW5kRW5kT2ZWaWRlb1NhbXBsZUR1cmF0aW9uSWZOZWVkZWQgc2hvdWxk
IG9ubHkgY2FsbCByZXF1ZXN0TWVkaWFEYXRhV2hlblJlYWR5T25RdWV1ZSBvbmNlCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQ5NzIKKworICAgICAg
ICBSZXZpZXdlZCBieSBFcmljIENhcmxzb24uCisKKyAgICAgICAgV2hlbiBwcm9jZXNzaW5nIGEg
Y29tcHJlc3NlZCBzYW1wbGUsIHBhc3MgaXQgdG8gdGhlIHdyaXRlciBpZiBpdHMgcmVhZHkuCisg
ICAgICAgIE90aGVyd2lzZSBidWZmZXIgaXQgYW5kIHJldHJ5IHBhc3NpbmcgaXQgdG8gdGhlIHdy
aXRlciBuZXh0IHRpbWUgd2UgaGF2ZSBhIHNhbXBsZS4KKyAgICAgICAgV2hlbiBmaW5pc2hpbmcg
YSB3cml0ZSwgd2UgY2FsbCByZXF1ZXN0TWVkaWFEYXRhV2hlblJlYWR5T25RdWV1ZSB0byBmaW5p
c2ggcGFzc2luZyBzYW1wbGVzIHRoYXQgYXJlIHN0aWxsIGVucXVldWVkLgorCisgICAgICAgIENv
dmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMgbm8gbG9uZ2VyIHRyaWdnZXJpbmcgT2JqQyBleGNlcHRp
b24uCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL01lZGlhUmVjb3Jk
ZXJQcml2YXRlV3JpdGVyQ29jb2EuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXJlY29yZGVy
L2NvY29hL01lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyQ29jb2EubW06CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlcjo6YXBwZW5kQ29tcHJlc3NlZEF1ZGlvU2Ft
cGxlQnVmZmVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVy
OjphcHBlbmRDb21wcmVzc2VkVmlkZW9TYW1wbGVCdWZmZXJJZlBvc3NpYmxlKToKKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyOjphcHBlbmRDb21wcmVzc2VkVmlk
ZW9TYW1wbGVCdWZmZXIpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFSZWNvcmRlclByaXZhdGVX
cml0ZXI6OmFwcGVuZENvbXByZXNzZWRTYW1wbGVCdWZmZXJzKToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyOjpmaW5pc2hBcHBlbmRpbmdDb21wcmVzc2VkQXVk
aW9TYW1wbGVCdWZmZXJzKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUmVjb3JkZXJQcml2YXRl
V3JpdGVyOjpmaW5pc2hBcHBlbmRpbmdDb21wcmVzc2VkVmlkZW9TYW1wbGVCdWZmZXJzKToKKyAg
ICAgICAgKFdlYkNvcmU6Ok1lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyOjpmbHVzaENvbXByZXNz
ZWRTYW1wbGVCdWZmZXJzKToKKwogMjAyMC0wNy0zMSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBh
cHBsZS5jb20+CiAKICAgICAgICAgTW92ZSB1c2VyIGdlc3R1cmUgcHJvcGFnYXRpb24gb3ZlciBw
cm9taXNlIGJlaGluZCBhIGZlYXR1cmUgZmxhZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFyZWNvcmRlci9jb2NvYS9NZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlckNv
Y29hLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL01lZGlh
UmVjb3JkZXJQcml2YXRlV3JpdGVyQ29jb2EuaAppbmRleCBmODMwOTY3YmVhZTBhZjk2MWFjZmI0
YzI3YzdiMDQzZTE2MGYxZDMwLi5kOGRjZTRkOThjYWQ3MDIyZTQ4M2MwMmJlYmUyMzQ2NmFmMGE2
ZWIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2Nv
Y29hL01lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyQ29jb2EuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL01lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVy
Q29jb2EuaApAQCAtODMsMTYgKzgzLDE4IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIHZvaWQgY29t
cHJlc3NlZEF1ZGlvT3V0cHV0QnVmZmVyQ2FsbGJhY2sodm9pZCosIENNQnVmZmVyUXVldWVUcmln
Z2VyVG9rZW4pOwogCiAgICAgdm9pZCBzdGFydEFzc2V0V3JpdGVyKCk7Ci0gICAgdm9pZCBhcHBl
bmRDb21wcmVzc2VkU2FtcGxlQnVmZmVycygpOwogCi0gICAgYm9vbCBhcHBlbmRDb21wcmVzc2Vk
QXVkaW9TYW1wbGVCdWZmZXIoKTsKLSAgICBib29sIGFwcGVuZENvbXByZXNzZWRWaWRlb1NhbXBs
ZUJ1ZmZlcigpOworICAgIHZvaWQgYXBwZW5kQ29tcHJlc3NlZFNhbXBsZUJ1ZmZlcnMoKTsKKyAg
ICBib29sIGFwcGVuZENvbXByZXNzZWRBdWRpb1NhbXBsZUJ1ZmZlcklmUG9zc2libGUoKTsKKyAg
ICBib29sIGFwcGVuZENvbXByZXNzZWRWaWRlb1NhbXBsZUJ1ZmZlcklmUG9zc2libGUoKTsKKyAg
ICB2b2lkIGFwcGVuZENvbXByZXNzZWRWaWRlb1NhbXBsZUJ1ZmZlcihDTVNhbXBsZUJ1ZmZlclJl
Zik7CiAKICAgICB2b2lkIHByb2Nlc3NOZXdDb21wcmVzc2VkQXVkaW9TYW1wbGVCdWZmZXJzKCk7
CiAgICAgdm9pZCBwcm9jZXNzTmV3Q29tcHJlc3NlZFZpZGVvU2FtcGxlQnVmZmVycygpOwogCisg
ICAgdm9pZCBmaW5pc2hBcHBlbmRpbmdDb21wcmVzc2VkQXVkaW9TYW1wbGVCdWZmZXJzKENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CisgICAgdm9pZCBmaW5pc2hBcHBlbmRpbmdDb21wcmVz
c2VkVmlkZW9TYW1wbGVCdWZmZXJzKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAg
dm9pZCBmbHVzaENvbXByZXNzZWRTYW1wbGVCdWZmZXJzKENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
KT4mJik7Ci0gICAgdm9pZCBhcHBlbmRFbmRPZlZpZGVvU2FtcGxlRHVyYXRpb25JZk5lZWRlZChD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogCiAgICAgYm9vbCBtX2hhc0F1ZGlvIHsgZmFs
c2UgfTsKICAgICBib29sIG1faGFzVmlkZW8geyBmYWxzZSB9OwpAQCAtMTE4LDYgKzEyMCwxMCBA
QCBwcml2YXRlOgogICAgIGJvb2wgbV9oYXNFbmNvZGVkVmlkZW9TYW1wbGVzIHsgZmFsc2UgfTsK
IAogICAgIFJldGFpblB0cjxXZWJBVkFzc2V0V3JpdGVyRGVsZWdhdGU+IG1fd3JpdGVyRGVsZWdh
dGU7CisgICAgRGVxdWU8UmV0YWluUHRyPENNU2FtcGxlQnVmZmVyUmVmPj4gbV9wZW5kaW5nVmlk
ZW9TYW1wbGVRdWV1ZTsKKyAgICBEZXF1ZTxSZXRhaW5QdHI8Q01TYW1wbGVCdWZmZXJSZWY+PiBt
X3BlbmRpbmdBdWRpb1NhbXBsZVF1ZXVlOworCisgICAgYm9vbCBtX2lzRmx1c2hpbmdTYW1wbGVz
IHsgZmFsc2UgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvY29jb2EvTWVkaWFSZWNvcmRlclBy
aXZhdGVXcml0ZXJDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3Jk
ZXIvY29jb2EvTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXJDb2NvYS5tbQppbmRleCBkYTFmYTJm
ZWZiYzIxYmM5MWY0MDgwZmUxMTg4ZTM2Yjk0NTNiZDdkLi4yNDllZWRjNDgzYzMxMDY1MTgyOWZm
N2Q2NTZiNDhiMWJhMjRiOGQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXJlY29yZGVyL2NvY29hL01lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyQ29jb2EubW0KKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9jb2NvYS9NZWRpYVJlY29y
ZGVyUHJpdmF0ZVdyaXRlckNvY29hLm1tCkBAIC0yNDMsNDUgKzI0Myw2MCBAQCB2b2lkIE1lZGlh
UmVjb3JkZXJQcml2YXRlV3JpdGVyOjpzdGFydEFzc2V0V3JpdGVyKCkKICAgICBtX2hhc1N0YXJ0
ZWRXcml0aW5nID0gdHJ1ZTsKIH0KIAotYm9vbCBNZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlcjo6
YXBwZW5kQ29tcHJlc3NlZEF1ZGlvU2FtcGxlQnVmZmVyKCkKK2Jvb2wgTWVkaWFSZWNvcmRlclBy
aXZhdGVXcml0ZXI6OmFwcGVuZENvbXByZXNzZWRBdWRpb1NhbXBsZUJ1ZmZlcklmUG9zc2libGUo
KQogewogICAgIGlmICghbV9hdWRpb0NvbXByZXNzb3IpCiAgICAgICAgIHJldHVybiBmYWxzZTsK
IAotICAgIGlmICghW21fYXVkaW9Bc3NldFdyaXRlcklucHV0IGlzUmVhZHlGb3JNb3JlTWVkaWFE
YXRhXSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCiAgICAgYXV0byBidWZmZXIgPSBtX2F1ZGlv
Q29tcHJlc3Nvci0+dGFrZU91dHB1dFNhbXBsZUJ1ZmZlcigpOwogICAgIGlmICghYnVmZmVyKQog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICBpZiAobV9pc0ZsdXNoaW5nU2FtcGxlcyB8fCAh
W21fdmlkZW9Bc3NldFdyaXRlcklucHV0IGlzUmVhZHlGb3JNb3JlTWVkaWFEYXRhXSkgeworICAg
ICAgICBtX3BlbmRpbmdBdWRpb1NhbXBsZVF1ZXVlLmFwcGVuZChXVEZNb3ZlKGJ1ZmZlcikpOwor
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgd2hpbGUgKCFtX3BlbmRpbmdBdWRp
b1NhbXBsZVF1ZXVlLmlzRW1wdHkoKSAmJiBbbV92aWRlb0Fzc2V0V3JpdGVySW5wdXQgaXNSZWFk
eUZvck1vcmVNZWRpYURhdGFdKQorICAgICAgICBbbV9hdWRpb0Fzc2V0V3JpdGVySW5wdXQuZ2V0
KCkgYXBwZW5kU2FtcGxlQnVmZmVyOm1fcGVuZGluZ0F1ZGlvU2FtcGxlUXVldWUudGFrZUZpcnN0
KCkuZ2V0KCldOworCiAgICAgW21fYXVkaW9Bc3NldFdyaXRlcklucHV0LmdldCgpIGFwcGVuZFNh
bXBsZUJ1ZmZlcjpidWZmZXIuZ2V0KCldOwogICAgIHJldHVybiB0cnVlOwogfQogCi1ib29sIE1l
ZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyOjphcHBlbmRDb21wcmVzc2VkVmlkZW9TYW1wbGVCdWZm
ZXIoKQorYm9vbCBNZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlcjo6YXBwZW5kQ29tcHJlc3NlZFZp
ZGVvU2FtcGxlQnVmZmVySWZQb3NzaWJsZSgpCiB7CiAgICAgaWYgKCFtX3ZpZGVvQ29tcHJlc3Nv
cikKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgaWYgKCFbbV92aWRlb0Fzc2V0V3JpdGVy
SW5wdXQgaXNSZWFkeUZvck1vcmVNZWRpYURhdGFdKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0K
ICAgICBhdXRvIGJ1ZmZlciA9IG1fdmlkZW9Db21wcmVzc29yLT50YWtlT3V0cHV0U2FtcGxlQnVm
ZmVyKCk7CiAgICAgaWYgKCFidWZmZXIpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIG1f
bGFzdFZpZGVvUHJlc2VudGF0aW9uVGltZSA9IENNU2FtcGxlQnVmZmVyR2V0UHJlc2VudGF0aW9u
VGltZVN0YW1wKGJ1ZmZlci5nZXQoKSk7Ci0gICAgbV9sYXN0VmlkZW9EZWNvZGluZ1RpbWUgPSBD
TVNhbXBsZUJ1ZmZlckdldERlY29kZVRpbWVTdGFtcChidWZmZXIuZ2V0KCkpOwotICAgIG1faGFz
RW5jb2RlZFZpZGVvU2FtcGxlcyA9IHRydWU7CisgICAgaWYgKG1faXNGbHVzaGluZ1NhbXBsZXMg
fHwgIVttX3ZpZGVvQXNzZXRXcml0ZXJJbnB1dCBpc1JlYWR5Rm9yTW9yZU1lZGlhRGF0YV0pIHsK
KyAgICAgICAgbV9wZW5kaW5nVmlkZW9TYW1wbGVRdWV1ZS5hcHBlbmQoV1RGTW92ZShidWZmZXIp
KTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KIAotICAgIFttX3ZpZGVvQXNzZXRXcml0
ZXJJbnB1dC5nZXQoKSBhcHBlbmRTYW1wbGVCdWZmZXI6YnVmZmVyLmdldCgpXTsKKyAgICB3aGls
ZSAoIW1fcGVuZGluZ1ZpZGVvU2FtcGxlUXVldWUuaXNFbXB0eSgpICYmIFttX3ZpZGVvQXNzZXRX
cml0ZXJJbnB1dCBpc1JlYWR5Rm9yTW9yZU1lZGlhRGF0YV0pCisgICAgICAgIGFwcGVuZENvbXBy
ZXNzZWRWaWRlb1NhbXBsZUJ1ZmZlcihtX3BlbmRpbmdWaWRlb1NhbXBsZVF1ZXVlLnRha2VGaXJz
dCgpLmdldCgpKTsKKworICAgIGFwcGVuZENvbXByZXNzZWRWaWRlb1NhbXBsZUJ1ZmZlcihidWZm
ZXIuZ2V0KCkpOwogICAgIHJldHVybiB0cnVlOwogfQogCit2b2lkIE1lZGlhUmVjb3JkZXJQcml2
YXRlV3JpdGVyOjphcHBlbmRDb21wcmVzc2VkVmlkZW9TYW1wbGVCdWZmZXIoQ01TYW1wbGVCdWZm
ZXJSZWYgYnVmZmVyKQoreworICAgIG1fbGFzdFZpZGVvUHJlc2VudGF0aW9uVGltZSA9IENNU2Ft
cGxlQnVmZmVyR2V0UHJlc2VudGF0aW9uVGltZVN0YW1wKGJ1ZmZlcik7CisgICAgbV9sYXN0Vmlk
ZW9EZWNvZGluZ1RpbWUgPSBDTVNhbXBsZUJ1ZmZlckdldERlY29kZVRpbWVTdGFtcChidWZmZXIp
OworICAgIG1faGFzRW5jb2RlZFZpZGVvU2FtcGxlcyA9IHRydWU7CisKKyAgICBbbV92aWRlb0Fz
c2V0V3JpdGVySW5wdXQuZ2V0KCkgYXBwZW5kU2FtcGxlQnVmZmVyOmJ1ZmZlcl07Cit9CisKIHZv
aWQgTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXI6OmFwcGVuZENvbXByZXNzZWRTYW1wbGVCdWZm
ZXJzKCkKIHsKLSAgICB3aGlsZSAoYXBwZW5kQ29tcHJlc3NlZFZpZGVvU2FtcGxlQnVmZmVyKCkg
fHwgYXBwZW5kQ29tcHJlc3NlZEF1ZGlvU2FtcGxlQnVmZmVyKCkpIHsgfTsKKyAgICB3aGlsZSAo
YXBwZW5kQ29tcHJlc3NlZFZpZGVvU2FtcGxlQnVmZmVySWZQb3NzaWJsZSgpIHx8IGFwcGVuZENv
bXByZXNzZWRBdWRpb1NhbXBsZUJ1ZmZlcklmUG9zc2libGUoKSkgeyB9OwogfQogCiBzdGF0aWMg
aW5saW5lIHZvaWQgYXBwZW5kRW5kc1ByZXZpb3VzU2FtcGxlRHVyYXRpb25NYXJrZXIoQVZBc3Nl
dFdyaXRlcklucHV0ICphc3NldFdyaXRlcklucHV0LCBDTVRpbWUgcHJlc2VudGF0aW9uVGltZVN0
YW1wLCBDTVRpbWUgZGVjb2RpbmdUaW1lU3RhbXApCkBAIC0zMDEsMzYgKzMxNiw1OCBAQCBzdGF0
aWMgaW5saW5lIHZvaWQgYXBwZW5kRW5kc1ByZXZpb3VzU2FtcGxlRHVyYXRpb25NYXJrZXIoQVZB
c3NldFdyaXRlcklucHV0ICphcwogICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihNZWRpYVN0cmVh
bSwgIk1lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyIGFwcGVuZFNhbXBsZUJ1ZmZlciB0byB3cml0
ZXIgaW5wdXQgZmFpbGVkIik7CiB9CiAKLXZvaWQgTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXI6
OmFwcGVuZEVuZE9mVmlkZW9TYW1wbGVEdXJhdGlvbklmTmVlZGVkKENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3ZvaWQgTWVkaWFSZWNvcmRlclByaXZhdGVX
cml0ZXI6OmZsdXNoQ29tcHJlc3NlZFNhbXBsZUJ1ZmZlcnMoQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewotICAgIGlmICghbV9oYXNFbmNvZGVkVmlkZW9T
YW1wbGVzKSB7Ci0gICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7Ci0gICAgICAgIHJldHVybjsK
KyAgICBib29sIGhhc1BlbmRpbmdBdWRpb1NhbXBsZXMgPSAhbV9wZW5kaW5nQXVkaW9TYW1wbGVR
dWV1ZS5pc0VtcHR5KCk7CisgICAgYm9vbCBoYXNQZW5kaW5nVmlkZW9TYW1wbGVzID0gIW1fcGVu
ZGluZ1ZpZGVvU2FtcGxlUXVldWUuaXNFbXB0eSgpOworCisgICAgaWYgKG1faGFzRW5jb2RlZFZp
ZGVvU2FtcGxlcykgeworICAgICAgICBoYXNQZW5kaW5nVmlkZW9TYW1wbGVzIHw9ICFbbV92aWRl
b0Fzc2V0V3JpdGVySW5wdXQgaXNSZWFkeUZvck1vcmVNZWRpYURhdGFdOworICAgICAgICBpZiAo
IWhhc1BlbmRpbmdWaWRlb1NhbXBsZXMpCisgICAgICAgICAgICBhcHBlbmRFbmRzUHJldmlvdXNT
YW1wbGVEdXJhdGlvbk1hcmtlcihtX3ZpZGVvQXNzZXRXcml0ZXJJbnB1dC5nZXQoKSwgbV9sYXN0
VmlkZW9QcmVzZW50YXRpb25UaW1lLCBtX2xhc3RWaWRlb0RlY29kaW5nVGltZSk7CiAgICAgfQot
ICAgIGlmIChbbV92aWRlb0Fzc2V0V3JpdGVySW5wdXQgaXNSZWFkeUZvck1vcmVNZWRpYURhdGFd
KSB7Ci0gICAgICAgIGFwcGVuZEVuZHNQcmV2aW91c1NhbXBsZUR1cmF0aW9uTWFya2VyKG1fdmlk
ZW9Bc3NldFdyaXRlcklucHV0LmdldCgpLCBtX2xhc3RWaWRlb1ByZXNlbnRhdGlvblRpbWUsIG1f
bGFzdFZpZGVvRGVjb2RpbmdUaW1lKTsKKworICAgIGlmICghaGFzUGVuZGluZ0F1ZGlvU2FtcGxl
cyAmJiAhaGFzUGVuZGluZ1ZpZGVvU2FtcGxlcykgewogICAgICAgICBjb21wbGV0aW9uSGFuZGxl
cigpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgYXV0byBibG9jayA9IG1ha2VCbG9j
a1B0cihbdGhpcywgd2Vha1RoaXMgPSBtYWtlV2Vha1B0cih0aGlzKSwgY29tcGxldGlvbkhhbmRs
ZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oKSBtdXRhYmxlIHsKLSAgICAgICAgaWYg
KHdlYWtUaGlzKSB7CisgICAgbV9pc0ZsdXNoaW5nU2FtcGxlcyA9IHRydWU7CisgICAgYXV0byBi
bG9jayA9IG1ha2VCbG9ja1B0cihbdGhpcywgd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyks
IGhhc1BlbmRpbmdBdWRpb1NhbXBsZXMsIGhhc1BlbmRpbmdWaWRlb1NhbXBsZXMsIGF1ZGlvU2Ft
cGxlUXVldWUgPSBXVEZNb3ZlKG1fcGVuZGluZ0F1ZGlvU2FtcGxlUXVldWUpLCB2aWRlb1NhbXBs
ZVF1ZXVlID0gV1RGTW92ZShtX3BlbmRpbmdWaWRlb1NhbXBsZVF1ZXVlKSwgY29tcGxldGlvbkhh
bmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oKSBtdXRhYmxlIHsKKyAgICAgICAg
aWYgKCF3ZWFrVGhpcykgeworICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKKyAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIHdoaWxlICghYXVkaW9TYW1wbGVR
dWV1ZS5pc0VtcHR5KCkgJiYgW21fYXVkaW9Bc3NldFdyaXRlcklucHV0IGlzUmVhZHlGb3JNb3Jl
TWVkaWFEYXRhXSkKKyAgICAgICAgICAgIFttX2F1ZGlvQXNzZXRXcml0ZXJJbnB1dC5nZXQoKSBh
cHBlbmRTYW1wbGVCdWZmZXI6YXVkaW9TYW1wbGVRdWV1ZS50YWtlRmlyc3QoKS5nZXQoKV07CisK
KyAgICAgICAgd2hpbGUgKCF2aWRlb1NhbXBsZVF1ZXVlLmlzRW1wdHkoKSAmJiBbbV92aWRlb0Fz
c2V0V3JpdGVySW5wdXQgaXNSZWFkeUZvck1vcmVNZWRpYURhdGFdKQorICAgICAgICAgICAgYXBw
ZW5kQ29tcHJlc3NlZFZpZGVvU2FtcGxlQnVmZmVyKHZpZGVvU2FtcGxlUXVldWUudGFrZUZpcnN0
KCkuZ2V0KCkpOworCisgICAgICAgIGlmICghYXVkaW9TYW1wbGVRdWV1ZS5pc0VtcHR5KCkgfHwg
IXZpZGVvU2FtcGxlUXVldWUuaXNFbXB0eSgpKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAg
ICAgIGlmIChoYXNQZW5kaW5nQXVkaW9TYW1wbGVzKQorICAgICAgICAgICAgW21fYXVkaW9Bc3Nl
dFdyaXRlcklucHV0IG1hcmtBc0ZpbmlzaGVkXTsKKyAgICAgICAgaWYgKGhhc1BlbmRpbmdWaWRl
b1NhbXBsZXMpIHsKICAgICAgICAgICAgIGFwcGVuZEVuZHNQcmV2aW91c1NhbXBsZUR1cmF0aW9u
TWFya2VyKG1fdmlkZW9Bc3NldFdyaXRlcklucHV0LmdldCgpLCBtX2xhc3RWaWRlb1ByZXNlbnRh
dGlvblRpbWUsIG1fbGFzdFZpZGVvRGVjb2RpbmdUaW1lKTsKICAgICAgICAgICAgIFttX3ZpZGVv
QXNzZXRXcml0ZXJJbnB1dCBtYXJrQXNGaW5pc2hlZF07CiAgICAgICAgIH0KKyAgICAgICAgbV9p
c0ZsdXNoaW5nU2FtcGxlcyA9IGZhbHNlOwogICAgICAgICBjb21wbGV0aW9uSGFuZGxlcigpOwog
ICAgIH0pOwotICAgIFttX3ZpZGVvQXNzZXRXcml0ZXJJbnB1dCByZXF1ZXN0TWVkaWFEYXRhV2hl
blJlYWR5T25RdWV1ZTpkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpIHVzaW5nQmxvY2s6YmxvY2su
Z2V0KCldOwotfQogCi12b2lkIE1lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyOjpmbHVzaENvbXBy
ZXNzZWRTYW1wbGVCdWZmZXJzKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9u
SGFuZGxlcikKLXsKLSAgICBhcHBlbmRDb21wcmVzc2VkU2FtcGxlQnVmZmVycygpOwotICAgIGFw
cGVuZEVuZE9mVmlkZW9TYW1wbGVEdXJhdGlvbklmTmVlZGVkKFdURk1vdmUoY29tcGxldGlvbkhh
bmRsZXIpKTsKKyAgICBpZiAoaGFzUGVuZGluZ0F1ZGlvU2FtcGxlcykKKyAgICAgICAgW21fYXVk
aW9Bc3NldFdyaXRlcklucHV0IHJlcXVlc3RNZWRpYURhdGFXaGVuUmVhZHlPblF1ZXVlOmRpc3Bh
dGNoX2dldF9tYWluX3F1ZXVlKCkgdXNpbmdCbG9jazpibG9jay5nZXQoKV07CisgICAgaWYgKGhh
c1BlbmRpbmdWaWRlb1NhbXBsZXMpCisgICAgICAgIFttX3ZpZGVvQXNzZXRXcml0ZXJJbnB1dCBy
ZXF1ZXN0TWVkaWFEYXRhV2hlblJlYWR5T25RdWV1ZTpkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgp
IHVzaW5nQmxvY2s6YmxvY2suZ2V0KCldOwogfQogCiB2b2lkIE1lZGlhUmVjb3JkZXJQcml2YXRl
V3JpdGVyOjpjbGVhcigpCiB7CisgICAgbV9wZW5kaW5nQXVkaW9TYW1wbGVRdWV1ZS5jbGVhcigp
OworICAgIG1fcGVuZGluZ1ZpZGVvU2FtcGxlUXVldWUuY2xlYXIoKTsKICAgICBpZiAobV93cml0
ZXIpCiAgICAgICAgIG1fd3JpdGVyLmNsZWFyKCk7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>