<?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>220727</bug_id>
          
          <creation_ts>2021-01-19 02:40:29 -0800</creation_ts>
          <short_desc>Implement efficient way to collect images that are likely visible in the viewport</short_desc>
          <delta_ts>2021-01-21 09:33:48 -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>Images</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>220726</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>glenn</cc>
    
    <cc>japhet</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pdr</cc>
    
    <cc>sachit092partapv</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1720498</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-01-19 02:40:29 -0800</bug_when>
    <thetext>To implement visibility based resource load scheduling we need to know what is visible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720511</commentid>
    <comment_count>1</comment_count>
      <attachid>417871</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-01-19 05:35:32 -0800</bug_when>
    <thetext>Created attachment 417871
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720653</commentid>
    <comment_count>2</comment_count>
      <attachid>417871</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2021-01-19 13:18:22 -0800</bug_when>
    <thetext>Comment on attachment 417871
patch

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

r=me

&gt; Source/WebCore/loader/cache/CachedResourceLoader.cpp:1535
&gt; +        auto url = cachedImage.url().string();

Seems unused?

&gt; Source/WebCore/rendering/RenderElement.h:299
&gt; -    
&gt; +

Whitespace</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720816</commentid>
    <comment_count>3</comment_count>
      <attachid>417944</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-01-19 23:19:02 -0800</bug_when>
    <thetext>Created attachment 417944
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720821</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-01-20 00:07:28 -0800</bug_when>
    <thetext>Committed r271638: &lt;https://trac.webkit.org/changeset/271638&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 417944.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720822</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-01-20 00:08:17 -0800</bug_when>
    <thetext>&lt;rdar://problem/73392925&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417871</attachid>
            <date>2021-01-19 05:35:32 -0800</date>
            <delta_ts>2021-01-19 23:19:02 -0800</delta_ts>
            <desc>patch</desc>
            <filename>visible-images.patch</filename>
            <type>text/plain</type>
            <size>14350</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAyYWFmMmM0ODlhZDYuLjYwZGMyM2QwNGFkZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDQ1IEBACisyMDIxLTAxLTE5ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNv
bT4KKworICAgICAgICBJbXBsZW1lbnQgZWZmaWNpZW50IHdheSB0byBjb2xsZWN0IGltYWdlcyB0
aGF0IGFyZSBsaWtlbHkgdmlzaWJsZSBpbiB0aGUgdmlld3BvcnQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDcyNworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRvIGltcGxlbWVudCB2aXNpYmlsaXR5IGJh
c2VkIHJlc291cmNlIGxvYWQgc2NoZWR1bGluZyB3ZSBuZWVkIHRvIGtub3cgd2hhdCBpcyB2aXNp
YmxlLgorCisgICAgICAgIFRoaXMgcGF0Y2ggZXhwYW5kcyB0aGUgZXhpc2l0aW5nIHZpc2liaWxp
dHkgdGVzdCBtZWNoYW5pc20gdG8gc3VwcG9ydCBjb2xsZWN0aW5nIGFsbCB2aXNpYmxlLCBsb2Fk
aW5nIHJlc291cmNlcyBpbiBhIGRvY3VtZW50LgorICAgICAgICBUaGUgY29kZSBpcyBub3QgdXNl
ZCB5ZXQuCisKKyAgICAgICAgKiBsb2FkZXIvSW1hZ2VMb2FkZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SW1hZ2VMb2FkZXI6OmltYWdlVmlzaWJsZUluVmlld3BvcnQgY29uc3QpOgorICAgICAg
ICAqIGxvYWRlci9JbWFnZUxvYWRlci5oOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRJ
bWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRJbWFnZTo6aXNWaXNpYmxlSW5WaWV3
cG9ydCBjb25zdCk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZEltYWdlLmg6CisgICAg
ICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZEltYWdlQ2xpZW50Lmg6CisgICAgICAgIChXZWJDb3Jl
OjpDYWNoZWRJbWFnZUNsaWVudDo6aW1hZ2VWaXNpYmxlSW5WaWV3cG9ydCBjb25zdCk6CisKKyAg
ICAgICAgQWRkIGEgdmlydHVhbCBpbnRlcmZhY2UuIEl0IGlzIGltcGxlbWVudGVkIGJ5IEltYWdl
TG9hZGVyIChmb3IgcmVndWxhciBpbWFnZXMpIGFuZCBSZW5kZXJFbGVtZW50IChmb3IgQ1NTIGlt
YWdlcyBsaWtlIGJhY2tncm91bmRzKS4KKworICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRS
ZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRl
cjo6Q2FjaGVkUmVzb3VyY2VMb2FkZXIpOgorICAgICAgICAKKyAgICAgICAgKiBsb2FkZXIvY2Fj
aGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRWxl
bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJFbGVtZW50Ojppc1Zpc2libGVJZ25v
cmluZ0dlb21ldHJ5IGNvbnN0KToKKworICAgICAgICBGYWN0b3IgZ2VvbWV0cnktaW5kZXBlbmRl
bnQgdGVzdCB0byBhIGZ1bmN0aW9uLgorCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJFbGVtZW50
Ojppc1Zpc2libGVJbkRvY3VtZW50UmVjdCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJFbGVtZW50OjppbWFnZVZpc2libGVJblZpZXdwb3J0IGNvbnN0KToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyRWxlbWVudC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJSZXBsYWNl
ZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJSZXBsYWNlZDo6aXNDb250ZW50TGlrZWx5
VmlzaWJsZUluVmlld3BvcnQpOgorCisgICAgICAgIFRoaXMgYWxzbyBhbGxvd3MgaW50cmlzaWNh
bGx5IHNpemVkIGltYWdlcyB0aGF0IGN1cnJlbnRseSBoYXZlIHplcm8gc2l6ZS4KKworICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5oOgorCiAyMDIxLTAxLTE4ICBBbmRyZXMgR29u
emFsZXogIDxhbmRyZXNnXzIyQGFwcGxlLmNvbT4KIAogICAgICAgICBBcHBsZSBNYWlsIEFYLCBW
b2ljZU92ZXI6IFdoZW4gY29tcG9zaW5nIGEgbmV3IGVtYWlsIG1lc3NhZ2UsIG1vdmluZyBWTyBm
b2N1cyB0byB0aGUgbWVzc2FnZSBib2R5IGZpZWxkIGRvZXMgbm90IGJyaW5nIGtleWJvYXJkIGZv
Y3VzIGFsb25nLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKaW5kZXggNmMwNjVk
NzgxM2IxLi4wYWNmNWY0ODkzNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9J
bWFnZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNw
cApAQCAtNjAyLDQgKzYwMiwxNiBAQCB2b2lkIEltYWdlTG9hZGVyOjpyZXNldExhenlJbWFnZUxv
YWRpbmcoRG9jdW1lbnQmIGRvY3VtZW50KQogICAgIG1fbGF6eUltYWdlTG9hZFN0YXRlID0gTGF6
eUltYWdlTG9hZFN0YXRlOjpOb25lOwogfQogCitWaXNpYmxlSW5WaWV3cG9ydFN0YXRlIEltYWdl
TG9hZGVyOjppbWFnZVZpc2libGVJblZpZXdwb3J0KGNvbnN0IERvY3VtZW50JiBkb2N1bWVudCkg
Y29uc3QKK3sKKyAgICBpZiAoJmVsZW1lbnQoKS5kb2N1bWVudCgpICE9ICZkb2N1bWVudCkKKyAg
ICAgICAgcmV0dXJuIFZpc2libGVJblZpZXdwb3J0U3RhdGU6Ok5vOworCisgICAgYXV0byogcmVu
ZGVyZXIgPSBlbGVtZW50KCkucmVuZGVyZXIoKTsKKyAgICBpZiAoIWlzPFJlbmRlclJlcGxhY2Vk
PihyZW5kZXJlcikpCisgICAgICAgIHJldHVybiBWaXNpYmxlSW5WaWV3cG9ydFN0YXRlOjpObzsK
KworICAgIHJldHVybiBkb3duY2FzdDxSZW5kZXJSZXBsYWNlZD4oKnJlbmRlcmVyKS5pc0NvbnRl
bnRMaWtlbHlWaXNpYmxlSW5WaWV3cG9ydCgpID8gVmlzaWJsZUluVmlld3BvcnRTdGF0ZTo6WWVz
IDogVmlzaWJsZUluVmlld3BvcnRTdGF0ZTo6Tm87Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0lt
YWdlTG9hZGVyLmgKaW5kZXggYmRhMDMyZDU1YWY3Li40NTdlNWE0ODFhNzggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9JbWFnZUxvYWRlci5oCkBAIC0xMTUsNiArMTE1LDggQEAgcHJpdmF0ZToKICAgICAK
ICAgICB2b2lkIHRpbWVyRmlyZWQoKTsKIAorICAgIFZpc2libGVJblZpZXdwb3J0U3RhdGUgaW1h
Z2VWaXNpYmxlSW5WaWV3cG9ydChjb25zdCBEb2N1bWVudCYpIGNvbnN0IG92ZXJyaWRlOworCiAg
ICAgRWxlbWVudCYgbV9lbGVtZW50OwogICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZElt
YWdlPiBtX2ltYWdlOwogICAgIFRpbWVyIG1fZGVyZWZFbGVtZW50VGltZXI7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuY3BwIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEltYWdlLmNwcAppbmRleCA1Y2M5MzM4MzI1NzQuLjVj
NzJiOTg4ZmFmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZEltYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2Uu
Y3BwCkBAIC03NDMsNCArNzQzLDE0IEBAIGJvb2wgQ2FjaGVkSW1hZ2U6OmNhblNraXBSZXZhbGlk
YXRpb24oY29uc3QgQ2FjaGVkUmVzb3VyY2VMb2FkZXImIGxvYWRlciwgY29uc3QKICAgICByZXR1
cm4gbV9za2lwcGluZ1JldmFsaWRhdGlvbkRvY3VtZW50ICYmIGxvYWRlci5kb2N1bWVudCgpID09
IG1fc2tpcHBpbmdSZXZhbGlkYXRpb25Eb2N1bWVudDsKIH0KIAorYm9vbCBDYWNoZWRJbWFnZTo6
aXNWaXNpYmxlSW5WaWV3cG9ydChjb25zdCBEb2N1bWVudCYgZG9jdW1lbnQpIGNvbnN0Cit7Cisg
ICAgQ2FjaGVkUmVzb3VyY2VDbGllbnRXYWxrZXI8Q2FjaGVkSW1hZ2VDbGllbnQ+IHdhbGtlciht
X2NsaWVudHMpOworICAgIHdoaWxlIChhdXRvKiBjbGllbnQgPSB3YWxrZXIubmV4dCgpKSB7Cisg
ICAgICAgIGlmIChjbGllbnQtPmltYWdlVmlzaWJsZUluVmlld3BvcnQoZG9jdW1lbnQpID09IFZp
c2libGVJblZpZXdwb3J0U3RhdGU6OlllcykKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAg
IH0KKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRJbWFnZS5oIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEltYWdlLmgKaW5kZXggNzJkNTljMWZmNDg0Li5k
MDFmZjlkNTUyM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNo
ZWRJbWFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRJbWFnZS5o
CkBAIC05Nyw2ICs5Nyw4IEBAIHB1YmxpYzoKICAgICBib29sIHN0aWxsTmVlZHNMb2FkKCkgY29u
c3Qgb3ZlcnJpZGUgeyByZXR1cm4gIWVycm9yT2NjdXJyZWQoKSAmJiBzdGF0dXMoKSA9PSBVbmtu
b3duICYmICFpc0xvYWRpbmcoKTsgfQogICAgIGJvb2wgY2FuU2tpcFJldmFsaWRhdGlvbihjb25z
dCBDYWNoZWRSZXNvdXJjZUxvYWRlciYsIGNvbnN0IENhY2hlZFJlc291cmNlUmVxdWVzdCYpIGNv
bnN0OwogCisgICAgYm9vbCBpc1Zpc2libGVJblZpZXdwb3J0KGNvbnN0IERvY3VtZW50JikgY29u
c3Q7CisKIHByaXZhdGU6CiAgICAgdm9pZCBjbGVhcigpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2VDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRJbWFnZUNsaWVudC5oCmluZGV4IGJhNjQ0NWI3ZWE3ZS4uZmQ1
NThmMmYyOGQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVk
SW1hZ2VDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkSW1h
Z2VDbGllbnQuaApAQCAtMjgsNiArMjgsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFz
cyBDYWNoZWRJbWFnZTsKK2NsYXNzIERvY3VtZW50OwogY2xhc3MgSW50UmVjdDsKIAogZW51bSBj
bGFzcyBWaXNpYmxlSW5WaWV3cG9ydFN0YXRlIHsgVW5rbm93biwgWWVzLCBObyB9OwpAQCAtNDYs
NiArNDcsNyBAQCBwdWJsaWM6CiAKICAgICAvLyBDYWxsZWQgd2hlbiBhIG5ldyBkZWNvZGVkIGZy
YW1lIGZvciBhIGxhcmdlIGltYWdlIGlzIGF2YWlsYWJsZSBvciB3aGVuIGFuIGFuaW1hdGVkIGlt
YWdlIGlzIHJlYWR5IHRvIGFkdmFuY2UgdG8gdGhlIG5leHQgZnJhbWUuCiAgICAgdmlydHVhbCBW
aXNpYmxlSW5WaWV3cG9ydFN0YXRlIGltYWdlRnJhbWVBdmFpbGFibGUoQ2FjaGVkSW1hZ2UmIGlt
YWdlLCBJbWFnZUFuaW1hdGluZ1N0YXRlLCBjb25zdCBJbnRSZWN0KiBjaGFuZ2VSZWN0KSB7IGlt
YWdlQ2hhbmdlZCgmaW1hZ2UsIGNoYW5nZVJlY3QpOyByZXR1cm4gVmlzaWJsZUluVmlld3BvcnRT
dGF0ZTo6Tm87IH0KKyAgICB2aXJ0dWFsIFZpc2libGVJblZpZXdwb3J0U3RhdGUgaW1hZ2VWaXNp
YmxlSW5WaWV3cG9ydChjb25zdCBEb2N1bWVudCYpIGNvbnN0IHsgcmV0dXJuIFZpc2libGVJblZp
ZXdwb3J0U3RhdGU6Ok5vOyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVtb3ZlQ2FjaGVkSW1h
Z2VDbGllbnQoQ2FjaGVkSW1hZ2UmKSB7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggZDFkNjRkY2I3Nzk4Li4x
MzU4NjU2ZWY1ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNo
ZWRSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0Nh
Y2hlZFJlc291cmNlTG9hZGVyLmNwcApAQCAtMTkyLDE0ICsxOTIsOSBAQCBzdGF0aWMgQ2FjaGVk
UmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmVzb3VyY2U+IGNyZWF0ZVJlc291cmNlKENhY2hlZFJlc291
cmNlUmVxdWVzdAogfQogCiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6Q2FjaGVkUmVzb3VyY2VMb2Fk
ZXIoRG9jdW1lbnRMb2FkZXIqIGRvY3VtZW50TG9hZGVyKQotICAgIDogbV9kb2N1bWVudChudWxs
cHRyKQotICAgICwgbV9kb2N1bWVudExvYWRlcihkb2N1bWVudExvYWRlcikKLSAgICAsIG1fcmVx
dWVzdENvdW50KDApCisgICAgOiBtX2RvY3VtZW50TG9hZGVyKGRvY3VtZW50TG9hZGVyKQogICAg
ICwgbV91bnVzZWRQcmVsb2Fkc1RpbWVyKCp0aGlzLCAmQ2FjaGVkUmVzb3VyY2VMb2FkZXI6Ondh
cm5VbnVzZWRQcmVsb2FkcykKICAgICAsIG1fZ2FyYmFnZUNvbGxlY3REb2N1bWVudFJlc291cmNl
c1RpbWVyKCp0aGlzLCAmQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmdhcmJhZ2VDb2xsZWN0RG9jdW1l
bnRSZXNvdXJjZXMpCi0gICAgLCBtX2F1dG9Mb2FkSW1hZ2VzKHRydWUpCi0gICAgLCBtX2ltYWdl
c0VuYWJsZWQodHJ1ZSkKLSAgICAsIG1fYWxsb3dTdGFsZVJlc291cmNlcyhmYWxzZSkKIHsKIH0K
IApAQCAtMTUyNiw2ICsxNTIxLDMyIEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmNsZWFy
UHJlbG9hZHMoQ2xlYXJQcmVsb2Fkc01vZGUgbW9kZSkKICAgICBtX3ByZWxvYWRzID0gV1RGTW92
ZShyZW1haW5pbmdMaW5rUHJlbG9hZHMpOwogfQogCitWZWN0b3I8Q2FjaGVkUmVzb3VyY2UqPiBD
YWNoZWRSZXNvdXJjZUxvYWRlcjo6dmlzaWJsZVJlc291cmNlc1RvUHJpb3JpdGl6ZSgpCit7Cisg
ICAgaWYgKCFkb2N1bWVudCgpKQorICAgICAgICByZXR1cm4geyB9OworCisgICAgVmVjdG9yPENh
Y2hlZFJlc291cmNlKj4gdG9Qcmlvcml0aXplOworCisgICAgZm9yIChhdXRvJiByZXNvdXJjZSA6
IG1fZG9jdW1lbnRSZXNvdXJjZXMudmFsdWVzKCkpIHsKKyAgICAgICAgaWYgKCFpczxDYWNoZWRJ
bWFnZT4ocmVzb3VyY2UuZ2V0KCkpKQorICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIGF1
dG8mIGNhY2hlZEltYWdlID0gZG93bmNhc3Q8Q2FjaGVkSW1hZ2U+KCpyZXNvdXJjZSk7CisgICAg
ICAgIGF1dG8gdXJsID0gY2FjaGVkSW1hZ2UudXJsKCkuc3RyaW5nKCk7CisgICAgICAgIGlmICgh
Y2FjaGVkSW1hZ2UuaXNMb2FkaW5nKCkpCisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAg
aWYgKCFjYWNoZWRJbWFnZS51cmwoKS5wcm90b2NvbElzSW5IVFRQRmFtaWx5KCkpCisgICAgICAg
ICAgICBjb250aW51ZTsKKyAgICAgICAgaWYgKCFjYWNoZWRJbWFnZS5sb2FkZXIoKSkKKyAgICAg
ICAgICAgIGNvbnRpbnVlOworICAgICAgICBpZiAoIWNhY2hlZEltYWdlLmlzVmlzaWJsZUluVmll
d3BvcnQoKmRvY3VtZW50KCkpKQorICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIHRvUHJp
b3JpdGl6ZS5hcHBlbmQoJmNhY2hlZEltYWdlKTsKKyAgICB9CisKKyAgICByZXR1cm4gdG9Qcmlv
cml0aXplOworfQorCiBjb25zdCBSZXNvdXJjZUxvYWRlck9wdGlvbnMmIENhY2hlZFJlc291cmNl
TG9hZGVyOjpkZWZhdWx0Q2FjaGVkUmVzb3VyY2VPcHRpb25zKCkKIHsKICAgICBzdGF0aWMgTmV2
ZXJEZXN0cm95ZWQ8UmVzb3VyY2VMb2FkZXJPcHRpb25zPiBvcHRpb25zKApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaAppbmRleCAyZDdm
ZGMxZTJmZWIuLjYwMjk3MDc0ODdlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmgKQEAgLTE2NSw2ICsxNjUsOCBAQCBwdWJsaWM6
CiAKICAgICBLZWVwYWxpdmVSZXF1ZXN0VHJhY2tlciYga2VlcGFsaXZlUmVxdWVzdFRyYWNrZXIo
KSB7IHJldHVybiBtX2tlZXBhbGl2ZVJlcXVlc3RUcmFja2VyOyB9CiAKKyAgICBWZWN0b3I8Q2Fj
aGVkUmVzb3VyY2UqPiB2aXNpYmxlUmVzb3VyY2VzVG9Qcmlvcml0aXplKCk7CisKIHByaXZhdGU6
CiAgICAgZXhwbGljaXQgQ2FjaGVkUmVzb3VyY2VMb2FkZXIoRG9jdW1lbnRMb2FkZXIqKTsKIApA
QCAtMjAyLDcgKzIwNCw3IEBAIHByaXZhdGU6CiAgICAgV2Vha1B0cjxEb2N1bWVudD4gbV9kb2N1
bWVudDsKICAgICBEb2N1bWVudExvYWRlciogbV9kb2N1bWVudExvYWRlcjsKIAotICAgIGludCBt
X3JlcXVlc3RDb3VudDsKKyAgICBpbnQgbV9yZXF1ZXN0Q291bnQgeyAwIH07CiAKICAgICBzdGQ6
OnVuaXF1ZV9wdHI8TGlzdEhhc2hTZXQ8Q2FjaGVkUmVzb3VyY2UqPj4gbV9wcmVsb2FkczsKICAg
ICBUaW1lciBtX3VudXNlZFByZWxvYWRzVGltZXI7CkBAIC0yMTIsMTAgKzIxNCw5IEBAIHByaXZh
dGU6CiAgICAgUmVzb3VyY2VUaW1pbmdJbmZvcm1hdGlvbiBtX3Jlc291cmNlVGltaW5nSW5mbzsK
ICAgICBLZWVwYWxpdmVSZXF1ZXN0VHJhY2tlciBtX2tlZXBhbGl2ZVJlcXVlc3RUcmFja2VyOwog
Ci0gICAgLy8gMjkgYml0cyBsZWZ0Ci0gICAgYm9vbCBtX2F1dG9Mb2FkSW1hZ2VzIDogMTsKLSAg
ICBib29sIG1faW1hZ2VzRW5hYmxlZCA6IDE7Ci0gICAgYm9vbCBtX2FsbG93U3RhbGVSZXNvdXJj
ZXMgOiAxOworICAgIGJvb2wgbV9hdXRvTG9hZEltYWdlcyB7IHRydWUgfTsKKyAgICBib29sIG1f
aW1hZ2VzRW5hYmxlZCB7IHRydWUgfTsKKyAgICBib29sIG1fYWxsb3dTdGFsZVJlc291cmNlcyB7
IGZhbHNlIH07CiB9OwogCiBjbGFzcyBSZXNvdXJjZUNhY2hlVmFsaWRhdGlvblN1cHByZXNzb3Ig
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCmluZGV4IDBmOGZi
MzkzODEzNC4uZTg3MWYwNTJhYmNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckVsZW1lbnQuY3BwCkBAIC0xMzA4LDcgKzEzMDgsNyBAQCBib29sIFJlbmRlckVsZW1lbnQ6Om1h
eUNhdXNlUmVwYWludEluc2lkZVZpZXdwb3J0KGNvbnN0IEludFJlY3QqIG9wdGlvbmFsVmlld3Bv
cgogICAgIHJldHVybiB2aXNpYmxlUmVjdC5pbnRlcnNlY3RzKGVuY2xvc2luZ0ludFJlY3QoYWJz
b2x1dGVDbGlwcGVkT3ZlcmZsb3dSZWN0KCkpKTsKIH0KIAotYm9vbCBSZW5kZXJFbGVtZW50Ojpp
c1Zpc2libGVJbkRvY3VtZW50UmVjdChjb25zdCBJbnRSZWN0JiBkb2N1bWVudFJlY3QpIGNvbnN0
Citib29sIFJlbmRlckVsZW1lbnQ6OmlzVmlzaWJsZUlnbm9yaW5nR2VvbWV0cnkoKSBjb25zdAog
ewogICAgIGlmIChkb2N1bWVudCgpLmFjdGl2ZURPTU9iamVjdHNBcmVTdXNwZW5kZWQoKSkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMTMxNyw2ICsxMzE3LDE0IEBAIGJvb2wgUmVuZGVyRWxl
bWVudDo6aXNWaXNpYmxlSW5Eb2N1bWVudFJlY3QoY29uc3QgSW50UmVjdCYgZG9jdW1lbnRSZWN0
KSBjb25zdAogICAgIGlmICh2aWV3KCkuZnJhbWVWaWV3KCkuaXNPZmZzY3JlZW4oKSkKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogCisgICAgcmV0dXJuIHRydWU7Cit9CisKK2Jvb2wgUmVuZGVyRWxl
bWVudDo6aXNWaXNpYmxlSW5Eb2N1bWVudFJlY3QoY29uc3QgSW50UmVjdCYgZG9jdW1lbnRSZWN0
KSBjb25zdAoreworICAgIGlmICghaXNWaXNpYmxlSWdub3JpbmdHZW9tZXRyeSgpKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisKICAgICAvLyBVc2UgYmFja2dyb3VuZCByZWN0IGlmIHdlIGFyZSB0
aGUgcm9vdCBvciBpZiB3ZSBhcmUgdGhlIGJvZHkgYW5kIHRoZSBiYWNrZ3JvdW5kIGlzIHByb3Bh
Z2F0ZWQgdG8gdGhlIHJvb3QuCiAgICAgLy8gRklYTUU6IFRoaXMgaXMgb3Zlcmx5IGNvbnNlcnZh
dGl2ZSBhcyB0aGUgaW1hZ2UgbWF5IG5vdCBiZSBhIGJhY2tncm91bmQtaW1hZ2UsIGluIHdoaWNo
IGNhc2UgaXQgd2lsbCBub3QKICAgICAvLyBiZSBwcm9wYWdhdGVkIHRvIHRoZSByb290LiBBdCB0
aGlzIHBvaW50LCB3ZSB1bmZvcnR1bmF0ZWx5IGRvbid0IGhhdmUgYWNjZXNzIHRvIHRoZSBpbWFn
ZSBhbnltb3JlIHNvIHdlCkBAIC0xMzI4LDcgKzEzMzYsNiBAQCBib29sIFJlbmRlckVsZW1lbnQ6
OmlzVmlzaWJsZUluRG9jdW1lbnRSZWN0KGNvbnN0IEludFJlY3QmIGRvY3VtZW50UmVjdCkgY29u
c3QKICAgICAgICAgQVNTRVJUKGlzPEhUTUxIdG1sRWxlbWVudD4ocm9vdFJlbmRlcmVyLmVsZW1l
bnQoKSkpOwogICAgICAgICAvLyBGSVhNRTogU2hvdWxkIHNoYXJlIGJvZHkgYmFja2dyb3VuZCBw
cm9wYWdhdGlvbiBjb2RlLgogICAgICAgICBiYWNrZ3JvdW5kSXNQYWludGVkQnlSb290ID0gIXJv
b3RSZW5kZXJlci5oYXNCYWNrZ3JvdW5kKCk7Ci0KICAgICB9CiAKICAgICBMYXlvdXRSZWN0IGJh
Y2tncm91bmRQYWludGluZ1JlY3QgPSBiYWNrZ3JvdW5kSXNQYWludGVkQnlSb290ID8gdmlldygp
LmJhY2tncm91bmRSZWN0KCkgOiBhYnNvbHV0ZUNsaXBwZWRPdmVyZmxvd1JlY3QoKTsKQEAgLTEz
OTQsNiArMTQwMSwxNCBAQCBWaXNpYmxlSW5WaWV3cG9ydFN0YXRlIFJlbmRlckVsZW1lbnQ6Omlt
YWdlRnJhbWVBdmFpbGFibGUoQ2FjaGVkSW1hZ2UmIGltYWdlLCBJbQogICAgIHJldHVybiBpc1Zp
c2libGUgPyBWaXNpYmxlSW5WaWV3cG9ydFN0YXRlOjpZZXMgOiBWaXNpYmxlSW5WaWV3cG9ydFN0
YXRlOjpObzsKIH0KIAorVmlzaWJsZUluVmlld3BvcnRTdGF0ZSBSZW5kZXJFbGVtZW50OjppbWFn
ZVZpc2libGVJblZpZXdwb3J0KGNvbnN0IERvY3VtZW50JiBkb2N1bWVudCkgY29uc3QKK3sKKyAg
ICBpZiAoJnRoaXMtPmRvY3VtZW50KCkgIT0gJmRvY3VtZW50KQorICAgICAgICByZXR1cm4gVmlz
aWJsZUluVmlld3BvcnRTdGF0ZTo6Tm87CisKKyAgICByZXR1cm4gaXNWaXNpYmxlSW5WaWV3cG9y
dCgpID8gVmlzaWJsZUluVmlld3BvcnRTdGF0ZTo6WWVzIDogVmlzaWJsZUluVmlld3BvcnRTdGF0
ZTo6Tm87Cit9CisKIHZvaWQgUmVuZGVyRWxlbWVudDo6bm90aWZ5RmluaXNoZWQoQ2FjaGVkUmVz
b3VyY2UmIHJlc291cmNlLCBjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmKQogewogICAgIGRvY3Vt
ZW50KCkuY2FjaGVkUmVzb3VyY2VMb2FkZXIoKS5ub3RpZnlGaW5pc2hlZChyZXNvdXJjZSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaAppbmRleCA3NjNjNjE3ZjFhNjMu
LmQwYzI0N2NkZDI0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5o
CkBAIC0xMzEsNiArMTMxLDcgQEAgcHVibGljOgogICAgIGJvb2wgcmVwYWludEFmdGVyTGF5b3V0
SWZOZWVkZWQoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lciwg
Y29uc3QgTGF5b3V0UmVjdCYgb2xkQm91bmRzLCBjb25zdCBMYXlvdXRSZWN0JiBvbGRPdXRsaW5l
Qm94LCBjb25zdCBMYXlvdXRSZWN0KiBuZXdCb3VuZHNQdHIgPSBudWxscHRyLCBjb25zdCBMYXlv
dXRSZWN0KiBuZXdPdXRsaW5lQm94UHRyID0gbnVsbHB0cik7CiAKICAgICBib29sIGJvcmRlcklt
YWdlSXNMb2FkZWRBbmRDYW5CZVJlbmRlcmVkKCkgY29uc3Q7CisgICAgYm9vbCBpc1Zpc2libGVJ
Z25vcmluZ0dlb21ldHJ5KCkgY29uc3Q7CiAgICAgYm9vbCBtYXlDYXVzZVJlcGFpbnRJbnNpZGVW
aWV3cG9ydChjb25zdCBJbnRSZWN0KiB2aXNpYmxlUmVjdCA9IG51bGxwdHIpIGNvbnN0OwogICAg
IGJvb2wgaXNWaXNpYmxlSW5Eb2N1bWVudFJlY3QoY29uc3QgSW50UmVjdCYgZG9jdW1lbnRSZWN0
KSBjb25zdDsKIApAQCAtMjk1LDcgKzI5Niw3IEBAIHByb3RlY3RlZDoKIAogICAgIHZvaWQgcmVt
b3ZlRnJvbVJlbmRlckZyYWdtZW50ZWRGbG93SW5jbHVkaW5nRGVzY2VuZGFudHMoYm9vbCBzaG91
bGRVcGRhdGVTdGF0ZSk7CiAgICAgdm9pZCBhZGp1c3RGcmFnbWVudGVkRmxvd1N0YXRlT25Db250
YWluaW5nQmxvY2tDaGFuZ2VJZk5lZWRlZCgpOwotICAgIAorCiAgICAgYm9vbCBpc1Zpc2libGVJ
blZpZXdwb3J0KCkgY29uc3Q7CiAKIHByaXZhdGU6CkBAIC0zMjcsNiArMzI4LDcgQEAgcHJpdmF0
ZToKIAogICAgIGJvb2wgY2FuRGVzdHJveURlY29kZWREYXRhKCkgZmluYWwgeyByZXR1cm4gIWlz
VmlzaWJsZUluVmlld3BvcnQoKTsgfQogICAgIFZpc2libGVJblZpZXdwb3J0U3RhdGUgaW1hZ2VG
cmFtZUF2YWlsYWJsZShDYWNoZWRJbWFnZSYsIEltYWdlQW5pbWF0aW5nU3RhdGUsIGNvbnN0IElu
dFJlY3QqIGNoYW5nZVJlY3QpIGZpbmFsOworICAgIFZpc2libGVJblZpZXdwb3J0U3RhdGUgaW1h
Z2VWaXNpYmxlSW5WaWV3cG9ydChjb25zdCBEb2N1bWVudCYpIGNvbnN0IGZpbmFsOwogICAgIHZv
aWQgZGlkUmVtb3ZlQ2FjaGVkSW1hZ2VDbGllbnQoQ2FjaGVkSW1hZ2UmKSBmaW5hbDsKICAgICB2
b2lkIHNjaGVkdWxlUmVuZGVyaW5nVXBkYXRlRm9ySW1hZ2UoQ2FjaGVkSW1hZ2UmKSBmaW5hbDsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHAKaW5kZXggY2Y5
MTU4ZTU1YjM2Li40M2JkNTM3MDhlODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJSZXBsYWNlZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclJlcGxhY2VkLmNwcApAQCAtNzc2LDQgKzc3NiwyMCBAQCBMYXlvdXRSZWN0IFJlbmRlclJl
cGxhY2VkOjpjbGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWludChjb25zdCBSZW5kZXJMYXllck1v
ZGVsTwogICAgIHJldHVybiBjb21wdXRlUmVjdEZvclJlcGFpbnQociwgcmVwYWludENvbnRhaW5l
cik7CiB9CiAKK2Jvb2wgUmVuZGVyUmVwbGFjZWQ6OmlzQ29udGVudExpa2VseVZpc2libGVJblZp
ZXdwb3J0KCkKK3sKKyAgICBpZiAoIWlzVmlzaWJsZUlnbm9yaW5nR2VvbWV0cnkoKSkKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworCisgICAgYXV0byYgZnJhbWVWaWV3ID0gdmlldygpLmZyYW1lVmll
dygpOworICAgIGF1dG8gdmlzaWJsZVJlY3QgPSBMYXlvdXRSZWN0KGZyYW1lVmlldy53aW5kb3dU
b0NvbnRlbnRzKGZyYW1lVmlldy53aW5kb3dDbGlwUmVjdCgpKSk7CisgICAgYXV0byBjb250ZW50
UmVjdCA9IGNvbXB1dGVSZWN0Rm9yUmVwYWludChyZXBsYWNlZENvbnRlbnRSZWN0KCksIG51bGxw
dHIpOworCisgICAgLy8gQ29udGVudCByZWN0YW5nbGUgbWF5IGJlIGVtcHR5IGJlY2F1c2UgaXQg
aXMgaW50cmluc2ljYWxseSBzaXplZCBhbmQgdGhlIGNvbnRlbnQgaGFzIG5vdCBsb2FkZWQgeWV0
LgorICAgIGlmIChjb250ZW50UmVjdC5pc0VtcHR5KCkgJiYgKHN0eWxlKCkubG9naWNhbFdpZHRo
KCkuaXNBdXRvKCkgfHwgc3R5bGUoKS5sb2dpY2FsSGVpZ2h0KCkuaXNBdXRvKCkpKQorICAgICAg
ICByZXR1cm4gdmlzaWJsZVJlY3QuY29udGFpbnMoY29udGVudFJlY3QubG9jYXRpb24oKSk7CisK
KyAgICByZXR1cm4gdmlzaWJsZVJlY3QuaW50ZXJzZWN0cyhjb250ZW50UmVjdCk7Cit9CisKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5oIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmgKaW5kZXggN2E3NDEyYTlk
NWUxLi45YjQ3OTQyMGE1NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJSZXBsYWNlZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBs
YWNlZC5oCkBAIC00Myw2ICs0Myw4IEBAIHB1YmxpYzoKICAgICBMYXlvdXRTaXplIGludHJpbnNp
Y1NpemUoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2ludHJpbnNpY1NpemU7IH0KICAgICAKICAg
ICBSb3VuZGVkUmVjdCByb3VuZGVkQ29udGVudEJveFJlY3QoKSBjb25zdDsKKyAgICAKKyAgICBi
b29sIGlzQ29udGVudExpa2VseVZpc2libGVJblZpZXdwb3J0KCk7CiAKIHByb3RlY3RlZDoKICAg
ICBSZW5kZXJSZXBsYWNlZChFbGVtZW50JiwgUmVuZGVyU3R5bGUmJik7Cg==
</data>
<flag name="review"
          id="435677"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417944</attachid>
            <date>2021-01-19 23:19:02 -0800</date>
            <delta_ts>2021-01-20 00:07:29 -0800</delta_ts>
            <desc>patch</desc>
            <filename>visible-images-2.patch</filename>
            <type>text/plain</type>
            <size>14302</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAyYWFmMmM0ODlhZDYuLjQyMTEzZDdjNTQ0NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDQ1IEBACisyMDIxLTAxLTE5ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNv
bT4KKworICAgICAgICBJbXBsZW1lbnQgZWZmaWNpZW50IHdheSB0byBjb2xsZWN0IGltYWdlcyB0
aGF0IGFyZSBsaWtlbHkgdmlzaWJsZSBpbiB0aGUgdmlld3BvcnQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDcyNworCisgICAgICAgIFJldmlld2Vk
IGJ5IEdlb2ZmcmV5IEdhcmVuLgorCisgICAgICAgIFRvIGltcGxlbWVudCB2aXNpYmlsaXR5IGJh
c2VkIHJlc291cmNlIGxvYWQgc2NoZWR1bGluZyB3ZSBuZWVkIHRvIGtub3cgd2hhdCBpcyB2aXNp
YmxlLgorCisgICAgICAgIFRoaXMgcGF0Y2ggZXhwYW5kcyB0aGUgZXhpc2l0aW5nIHZpc2liaWxp
dHkgdGVzdCBtZWNoYW5pc20gdG8gc3VwcG9ydCBjb2xsZWN0aW5nIGFsbCB2aXNpYmxlLCBsb2Fk
aW5nIHJlc291cmNlcyBpbiBhIGRvY3VtZW50LgorICAgICAgICBUaGUgY29kZSBpcyBub3QgdXNl
ZCB5ZXQuCisKKyAgICAgICAgKiBsb2FkZXIvSW1hZ2VMb2FkZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SW1hZ2VMb2FkZXI6OmltYWdlVmlzaWJsZUluVmlld3BvcnQgY29uc3QpOgorICAgICAg
ICAqIGxvYWRlci9JbWFnZUxvYWRlci5oOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRJ
bWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRJbWFnZTo6aXNWaXNpYmxlSW5WaWV3
cG9ydCBjb25zdCk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZEltYWdlLmg6CisgICAg
ICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZEltYWdlQ2xpZW50Lmg6CisgICAgICAgIChXZWJDb3Jl
OjpDYWNoZWRJbWFnZUNsaWVudDo6aW1hZ2VWaXNpYmxlSW5WaWV3cG9ydCBjb25zdCk6CisKKyAg
ICAgICAgQWRkIGEgdmlydHVhbCBpbnRlcmZhY2UuIEl0IGlzIGltcGxlbWVudGVkIGJ5IEltYWdl
TG9hZGVyIChmb3IgcmVndWxhciBpbWFnZXMpIGFuZCBSZW5kZXJFbGVtZW50IChmb3IgQ1NTIGlt
YWdlcyBsaWtlIGJhY2tncm91bmRzKS4KKworICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRS
ZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRl
cjo6Q2FjaGVkUmVzb3VyY2VMb2FkZXIpOgorICAgICAgICAKKyAgICAgICAgKiBsb2FkZXIvY2Fj
aGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRWxl
bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJFbGVtZW50Ojppc1Zpc2libGVJZ25v
cmluZ0dlb21ldHJ5IGNvbnN0KToKKworICAgICAgICBGYWN0b3IgZ2VvbWV0cnktaW5kZXBlbmRl
bnQgdGVzdCB0byBhIGZ1bmN0aW9uLgorCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJFbGVtZW50
Ojppc1Zpc2libGVJbkRvY3VtZW50UmVjdCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJFbGVtZW50OjppbWFnZVZpc2libGVJblZpZXdwb3J0IGNvbnN0KToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyRWxlbWVudC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJSZXBsYWNl
ZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJSZXBsYWNlZDo6aXNDb250ZW50TGlrZWx5
VmlzaWJsZUluVmlld3BvcnQpOgorCisgICAgICAgIFRoaXMgYWxzbyBhbGxvd3MgaW50cmlzaWNh
bGx5IHNpemVkIGltYWdlcyB0aGF0IGN1cnJlbnRseSBoYXZlIHplcm8gc2l6ZS4KKworICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5oOgorCiAyMDIxLTAxLTE4ICBBbmRyZXMgR29u
emFsZXogIDxhbmRyZXNnXzIyQGFwcGxlLmNvbT4KIAogICAgICAgICBBcHBsZSBNYWlsIEFYLCBW
b2ljZU92ZXI6IFdoZW4gY29tcG9zaW5nIGEgbmV3IGVtYWlsIG1lc3NhZ2UsIG1vdmluZyBWTyBm
b2N1cyB0byB0aGUgbWVzc2FnZSBib2R5IGZpZWxkIGRvZXMgbm90IGJyaW5nIGtleWJvYXJkIGZv
Y3VzIGFsb25nLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKaW5kZXggNmMwNjVk
NzgxM2IxLi4wYWNmNWY0ODkzNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9J
bWFnZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNw
cApAQCAtNjAyLDQgKzYwMiwxNiBAQCB2b2lkIEltYWdlTG9hZGVyOjpyZXNldExhenlJbWFnZUxv
YWRpbmcoRG9jdW1lbnQmIGRvY3VtZW50KQogICAgIG1fbGF6eUltYWdlTG9hZFN0YXRlID0gTGF6
eUltYWdlTG9hZFN0YXRlOjpOb25lOwogfQogCitWaXNpYmxlSW5WaWV3cG9ydFN0YXRlIEltYWdl
TG9hZGVyOjppbWFnZVZpc2libGVJblZpZXdwb3J0KGNvbnN0IERvY3VtZW50JiBkb2N1bWVudCkg
Y29uc3QKK3sKKyAgICBpZiAoJmVsZW1lbnQoKS5kb2N1bWVudCgpICE9ICZkb2N1bWVudCkKKyAg
ICAgICAgcmV0dXJuIFZpc2libGVJblZpZXdwb3J0U3RhdGU6Ok5vOworCisgICAgYXV0byogcmVu
ZGVyZXIgPSBlbGVtZW50KCkucmVuZGVyZXIoKTsKKyAgICBpZiAoIWlzPFJlbmRlclJlcGxhY2Vk
PihyZW5kZXJlcikpCisgICAgICAgIHJldHVybiBWaXNpYmxlSW5WaWV3cG9ydFN0YXRlOjpObzsK
KworICAgIHJldHVybiBkb3duY2FzdDxSZW5kZXJSZXBsYWNlZD4oKnJlbmRlcmVyKS5pc0NvbnRl
bnRMaWtlbHlWaXNpYmxlSW5WaWV3cG9ydCgpID8gVmlzaWJsZUluVmlld3BvcnRTdGF0ZTo6WWVz
IDogVmlzaWJsZUluVmlld3BvcnRTdGF0ZTo6Tm87Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0lt
YWdlTG9hZGVyLmgKaW5kZXggYmRhMDMyZDU1YWY3Li40NTdlNWE0ODFhNzggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9JbWFnZUxvYWRlci5oCkBAIC0xMTUsNiArMTE1LDggQEAgcHJpdmF0ZToKICAgICAK
ICAgICB2b2lkIHRpbWVyRmlyZWQoKTsKIAorICAgIFZpc2libGVJblZpZXdwb3J0U3RhdGUgaW1h
Z2VWaXNpYmxlSW5WaWV3cG9ydChjb25zdCBEb2N1bWVudCYpIGNvbnN0IG92ZXJyaWRlOworCiAg
ICAgRWxlbWVudCYgbV9lbGVtZW50OwogICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZElt
YWdlPiBtX2ltYWdlOwogICAgIFRpbWVyIG1fZGVyZWZFbGVtZW50VGltZXI7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuY3BwIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEltYWdlLmNwcAppbmRleCA1Y2M5MzM4MzI1NzQuLjVj
NzJiOTg4ZmFmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZEltYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2Uu
Y3BwCkBAIC03NDMsNCArNzQzLDE0IEBAIGJvb2wgQ2FjaGVkSW1hZ2U6OmNhblNraXBSZXZhbGlk
YXRpb24oY29uc3QgQ2FjaGVkUmVzb3VyY2VMb2FkZXImIGxvYWRlciwgY29uc3QKICAgICByZXR1
cm4gbV9za2lwcGluZ1JldmFsaWRhdGlvbkRvY3VtZW50ICYmIGxvYWRlci5kb2N1bWVudCgpID09
IG1fc2tpcHBpbmdSZXZhbGlkYXRpb25Eb2N1bWVudDsKIH0KIAorYm9vbCBDYWNoZWRJbWFnZTo6
aXNWaXNpYmxlSW5WaWV3cG9ydChjb25zdCBEb2N1bWVudCYgZG9jdW1lbnQpIGNvbnN0Cit7Cisg
ICAgQ2FjaGVkUmVzb3VyY2VDbGllbnRXYWxrZXI8Q2FjaGVkSW1hZ2VDbGllbnQ+IHdhbGtlciht
X2NsaWVudHMpOworICAgIHdoaWxlIChhdXRvKiBjbGllbnQgPSB3YWxrZXIubmV4dCgpKSB7Cisg
ICAgICAgIGlmIChjbGllbnQtPmltYWdlVmlzaWJsZUluVmlld3BvcnQoZG9jdW1lbnQpID09IFZp
c2libGVJblZpZXdwb3J0U3RhdGU6OlllcykKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAg
IH0KKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRJbWFnZS5oIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEltYWdlLmgKaW5kZXggNzJkNTljMWZmNDg0Li5k
MDFmZjlkNTUyM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNo
ZWRJbWFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRJbWFnZS5o
CkBAIC05Nyw2ICs5Nyw4IEBAIHB1YmxpYzoKICAgICBib29sIHN0aWxsTmVlZHNMb2FkKCkgY29u
c3Qgb3ZlcnJpZGUgeyByZXR1cm4gIWVycm9yT2NjdXJyZWQoKSAmJiBzdGF0dXMoKSA9PSBVbmtu
b3duICYmICFpc0xvYWRpbmcoKTsgfQogICAgIGJvb2wgY2FuU2tpcFJldmFsaWRhdGlvbihjb25z
dCBDYWNoZWRSZXNvdXJjZUxvYWRlciYsIGNvbnN0IENhY2hlZFJlc291cmNlUmVxdWVzdCYpIGNv
bnN0OwogCisgICAgYm9vbCBpc1Zpc2libGVJblZpZXdwb3J0KGNvbnN0IERvY3VtZW50JikgY29u
c3Q7CisKIHByaXZhdGU6CiAgICAgdm9pZCBjbGVhcigpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2VDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRJbWFnZUNsaWVudC5oCmluZGV4IGJhNjQ0NWI3ZWE3ZS4uZmQ1
NThmMmYyOGQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVk
SW1hZ2VDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkSW1h
Z2VDbGllbnQuaApAQCAtMjgsNiArMjgsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFz
cyBDYWNoZWRJbWFnZTsKK2NsYXNzIERvY3VtZW50OwogY2xhc3MgSW50UmVjdDsKIAogZW51bSBj
bGFzcyBWaXNpYmxlSW5WaWV3cG9ydFN0YXRlIHsgVW5rbm93biwgWWVzLCBObyB9OwpAQCAtNDYs
NiArNDcsNyBAQCBwdWJsaWM6CiAKICAgICAvLyBDYWxsZWQgd2hlbiBhIG5ldyBkZWNvZGVkIGZy
YW1lIGZvciBhIGxhcmdlIGltYWdlIGlzIGF2YWlsYWJsZSBvciB3aGVuIGFuIGFuaW1hdGVkIGlt
YWdlIGlzIHJlYWR5IHRvIGFkdmFuY2UgdG8gdGhlIG5leHQgZnJhbWUuCiAgICAgdmlydHVhbCBW
aXNpYmxlSW5WaWV3cG9ydFN0YXRlIGltYWdlRnJhbWVBdmFpbGFibGUoQ2FjaGVkSW1hZ2UmIGlt
YWdlLCBJbWFnZUFuaW1hdGluZ1N0YXRlLCBjb25zdCBJbnRSZWN0KiBjaGFuZ2VSZWN0KSB7IGlt
YWdlQ2hhbmdlZCgmaW1hZ2UsIGNoYW5nZVJlY3QpOyByZXR1cm4gVmlzaWJsZUluVmlld3BvcnRT
dGF0ZTo6Tm87IH0KKyAgICB2aXJ0dWFsIFZpc2libGVJblZpZXdwb3J0U3RhdGUgaW1hZ2VWaXNp
YmxlSW5WaWV3cG9ydChjb25zdCBEb2N1bWVudCYpIGNvbnN0IHsgcmV0dXJuIFZpc2libGVJblZp
ZXdwb3J0U3RhdGU6Ok5vOyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVtb3ZlQ2FjaGVkSW1h
Z2VDbGllbnQoQ2FjaGVkSW1hZ2UmKSB7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggZDFkNjRkY2I3Nzk4Li4y
MmM4ZDJiNDE0MTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNo
ZWRSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0Nh
Y2hlZFJlc291cmNlTG9hZGVyLmNwcApAQCAtMTkyLDE0ICsxOTIsOSBAQCBzdGF0aWMgQ2FjaGVk
UmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmVzb3VyY2U+IGNyZWF0ZVJlc291cmNlKENhY2hlZFJlc291
cmNlUmVxdWVzdAogfQogCiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6Q2FjaGVkUmVzb3VyY2VMb2Fk
ZXIoRG9jdW1lbnRMb2FkZXIqIGRvY3VtZW50TG9hZGVyKQotICAgIDogbV9kb2N1bWVudChudWxs
cHRyKQotICAgICwgbV9kb2N1bWVudExvYWRlcihkb2N1bWVudExvYWRlcikKLSAgICAsIG1fcmVx
dWVzdENvdW50KDApCisgICAgOiBtX2RvY3VtZW50TG9hZGVyKGRvY3VtZW50TG9hZGVyKQogICAg
ICwgbV91bnVzZWRQcmVsb2Fkc1RpbWVyKCp0aGlzLCAmQ2FjaGVkUmVzb3VyY2VMb2FkZXI6Ondh
cm5VbnVzZWRQcmVsb2FkcykKICAgICAsIG1fZ2FyYmFnZUNvbGxlY3REb2N1bWVudFJlc291cmNl
c1RpbWVyKCp0aGlzLCAmQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmdhcmJhZ2VDb2xsZWN0RG9jdW1l
bnRSZXNvdXJjZXMpCi0gICAgLCBtX2F1dG9Mb2FkSW1hZ2VzKHRydWUpCi0gICAgLCBtX2ltYWdl
c0VuYWJsZWQodHJ1ZSkKLSAgICAsIG1fYWxsb3dTdGFsZVJlc291cmNlcyhmYWxzZSkKIHsKIH0K
IApAQCAtMTUyNiw2ICsxNTIxLDMxIEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmNsZWFy
UHJlbG9hZHMoQ2xlYXJQcmVsb2Fkc01vZGUgbW9kZSkKICAgICBtX3ByZWxvYWRzID0gV1RGTW92
ZShyZW1haW5pbmdMaW5rUHJlbG9hZHMpOwogfQogCitWZWN0b3I8Q2FjaGVkUmVzb3VyY2UqPiBD
YWNoZWRSZXNvdXJjZUxvYWRlcjo6dmlzaWJsZVJlc291cmNlc1RvUHJpb3JpdGl6ZSgpCit7Cisg
ICAgaWYgKCFkb2N1bWVudCgpKQorICAgICAgICByZXR1cm4geyB9OworCisgICAgVmVjdG9yPENh
Y2hlZFJlc291cmNlKj4gdG9Qcmlvcml0aXplOworCisgICAgZm9yIChhdXRvJiByZXNvdXJjZSA6
IG1fZG9jdW1lbnRSZXNvdXJjZXMudmFsdWVzKCkpIHsKKyAgICAgICAgaWYgKCFpczxDYWNoZWRJ
bWFnZT4ocmVzb3VyY2UuZ2V0KCkpKQorICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIGF1
dG8mIGNhY2hlZEltYWdlID0gZG93bmNhc3Q8Q2FjaGVkSW1hZ2U+KCpyZXNvdXJjZSk7CisgICAg
ICAgIGlmICghY2FjaGVkSW1hZ2UuaXNMb2FkaW5nKCkpCisgICAgICAgICAgICBjb250aW51ZTsK
KyAgICAgICAgaWYgKCFjYWNoZWRJbWFnZS51cmwoKS5wcm90b2NvbElzSW5IVFRQRmFtaWx5KCkp
CisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgaWYgKCFjYWNoZWRJbWFnZS5sb2FkZXIo
KSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICBpZiAoIWNhY2hlZEltYWdlLmlzVmlz
aWJsZUluVmlld3BvcnQoKmRvY3VtZW50KCkpKQorICAgICAgICAgICAgY29udGludWU7CisgICAg
ICAgIHRvUHJpb3JpdGl6ZS5hcHBlbmQoJmNhY2hlZEltYWdlKTsKKyAgICB9CisKKyAgICByZXR1
cm4gdG9Qcmlvcml0aXplOworfQorCiBjb25zdCBSZXNvdXJjZUxvYWRlck9wdGlvbnMmIENhY2hl
ZFJlc291cmNlTG9hZGVyOjpkZWZhdWx0Q2FjaGVkUmVzb3VyY2VPcHRpb25zKCkKIHsKICAgICBz
dGF0aWMgTmV2ZXJEZXN0cm95ZWQ8UmVzb3VyY2VMb2FkZXJPcHRpb25zPiBvcHRpb25zKApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaApp
bmRleCAyZDdmZGMxZTJmZWIuLjYwMjk3MDc0ODdlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmgKQEAgLTE2NSw2ICsxNjUsOCBA
QCBwdWJsaWM6CiAKICAgICBLZWVwYWxpdmVSZXF1ZXN0VHJhY2tlciYga2VlcGFsaXZlUmVxdWVz
dFRyYWNrZXIoKSB7IHJldHVybiBtX2tlZXBhbGl2ZVJlcXVlc3RUcmFja2VyOyB9CiAKKyAgICBW
ZWN0b3I8Q2FjaGVkUmVzb3VyY2UqPiB2aXNpYmxlUmVzb3VyY2VzVG9Qcmlvcml0aXplKCk7CisK
IHByaXZhdGU6CiAgICAgZXhwbGljaXQgQ2FjaGVkUmVzb3VyY2VMb2FkZXIoRG9jdW1lbnRMb2Fk
ZXIqKTsKIApAQCAtMjAyLDcgKzIwNCw3IEBAIHByaXZhdGU6CiAgICAgV2Vha1B0cjxEb2N1bWVu
dD4gbV9kb2N1bWVudDsKICAgICBEb2N1bWVudExvYWRlciogbV9kb2N1bWVudExvYWRlcjsKIAot
ICAgIGludCBtX3JlcXVlc3RDb3VudDsKKyAgICBpbnQgbV9yZXF1ZXN0Q291bnQgeyAwIH07CiAK
ICAgICBzdGQ6OnVuaXF1ZV9wdHI8TGlzdEhhc2hTZXQ8Q2FjaGVkUmVzb3VyY2UqPj4gbV9wcmVs
b2FkczsKICAgICBUaW1lciBtX3VudXNlZFByZWxvYWRzVGltZXI7CkBAIC0yMTIsMTAgKzIxNCw5
IEBAIHByaXZhdGU6CiAgICAgUmVzb3VyY2VUaW1pbmdJbmZvcm1hdGlvbiBtX3Jlc291cmNlVGlt
aW5nSW5mbzsKICAgICBLZWVwYWxpdmVSZXF1ZXN0VHJhY2tlciBtX2tlZXBhbGl2ZVJlcXVlc3RU
cmFja2VyOwogCi0gICAgLy8gMjkgYml0cyBsZWZ0Ci0gICAgYm9vbCBtX2F1dG9Mb2FkSW1hZ2Vz
IDogMTsKLSAgICBib29sIG1faW1hZ2VzRW5hYmxlZCA6IDE7Ci0gICAgYm9vbCBtX2FsbG93U3Rh
bGVSZXNvdXJjZXMgOiAxOworICAgIGJvb2wgbV9hdXRvTG9hZEltYWdlcyB7IHRydWUgfTsKKyAg
ICBib29sIG1faW1hZ2VzRW5hYmxlZCB7IHRydWUgfTsKKyAgICBib29sIG1fYWxsb3dTdGFsZVJl
c291cmNlcyB7IGZhbHNlIH07CiB9OwogCiBjbGFzcyBSZXNvdXJjZUNhY2hlVmFsaWRhdGlvblN1
cHByZXNzb3IgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVs
ZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCmlu
ZGV4IDBmOGZiMzkzODEzNC4uZTg3MWYwNTJhYmNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckVsZW1lbnQuY3BwCkBAIC0xMzA4LDcgKzEzMDgsNyBAQCBib29sIFJlbmRlckVs
ZW1lbnQ6Om1heUNhdXNlUmVwYWludEluc2lkZVZpZXdwb3J0KGNvbnN0IEludFJlY3QqIG9wdGlv
bmFsVmlld3BvcgogICAgIHJldHVybiB2aXNpYmxlUmVjdC5pbnRlcnNlY3RzKGVuY2xvc2luZ0lu
dFJlY3QoYWJzb2x1dGVDbGlwcGVkT3ZlcmZsb3dSZWN0KCkpKTsKIH0KIAotYm9vbCBSZW5kZXJF
bGVtZW50Ojppc1Zpc2libGVJbkRvY3VtZW50UmVjdChjb25zdCBJbnRSZWN0JiBkb2N1bWVudFJl
Y3QpIGNvbnN0Citib29sIFJlbmRlckVsZW1lbnQ6OmlzVmlzaWJsZUlnbm9yaW5nR2VvbWV0cnko
KSBjb25zdAogewogICAgIGlmIChkb2N1bWVudCgpLmFjdGl2ZURPTU9iamVjdHNBcmVTdXNwZW5k
ZWQoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMTMxNyw2ICsxMzE3LDE0IEBAIGJvb2wg
UmVuZGVyRWxlbWVudDo6aXNWaXNpYmxlSW5Eb2N1bWVudFJlY3QoY29uc3QgSW50UmVjdCYgZG9j
dW1lbnRSZWN0KSBjb25zdAogICAgIGlmICh2aWV3KCkuZnJhbWVWaWV3KCkuaXNPZmZzY3JlZW4o
KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgcmV0dXJuIHRydWU7Cit9CisKK2Jvb2wg
UmVuZGVyRWxlbWVudDo6aXNWaXNpYmxlSW5Eb2N1bWVudFJlY3QoY29uc3QgSW50UmVjdCYgZG9j
dW1lbnRSZWN0KSBjb25zdAoreworICAgIGlmICghaXNWaXNpYmxlSWdub3JpbmdHZW9tZXRyeSgp
KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICAvLyBVc2UgYmFja2dyb3VuZCByZWN0IGlm
IHdlIGFyZSB0aGUgcm9vdCBvciBpZiB3ZSBhcmUgdGhlIGJvZHkgYW5kIHRoZSBiYWNrZ3JvdW5k
IGlzIHByb3BhZ2F0ZWQgdG8gdGhlIHJvb3QuCiAgICAgLy8gRklYTUU6IFRoaXMgaXMgb3Zlcmx5
IGNvbnNlcnZhdGl2ZSBhcyB0aGUgaW1hZ2UgbWF5IG5vdCBiZSBhIGJhY2tncm91bmQtaW1hZ2Us
IGluIHdoaWNoIGNhc2UgaXQgd2lsbCBub3QKICAgICAvLyBiZSBwcm9wYWdhdGVkIHRvIHRoZSBy
b290LiBBdCB0aGlzIHBvaW50LCB3ZSB1bmZvcnR1bmF0ZWx5IGRvbid0IGhhdmUgYWNjZXNzIHRv
IHRoZSBpbWFnZSBhbnltb3JlIHNvIHdlCkBAIC0xMzI4LDcgKzEzMzYsNiBAQCBib29sIFJlbmRl
ckVsZW1lbnQ6OmlzVmlzaWJsZUluRG9jdW1lbnRSZWN0KGNvbnN0IEludFJlY3QmIGRvY3VtZW50
UmVjdCkgY29uc3QKICAgICAgICAgQVNTRVJUKGlzPEhUTUxIdG1sRWxlbWVudD4ocm9vdFJlbmRl
cmVyLmVsZW1lbnQoKSkpOwogICAgICAgICAvLyBGSVhNRTogU2hvdWxkIHNoYXJlIGJvZHkgYmFj
a2dyb3VuZCBwcm9wYWdhdGlvbiBjb2RlLgogICAgICAgICBiYWNrZ3JvdW5kSXNQYWludGVkQnlS
b290ID0gIXJvb3RSZW5kZXJlci5oYXNCYWNrZ3JvdW5kKCk7Ci0KICAgICB9CiAKICAgICBMYXlv
dXRSZWN0IGJhY2tncm91bmRQYWludGluZ1JlY3QgPSBiYWNrZ3JvdW5kSXNQYWludGVkQnlSb290
ID8gdmlldygpLmJhY2tncm91bmRSZWN0KCkgOiBhYnNvbHV0ZUNsaXBwZWRPdmVyZmxvd1JlY3Qo
KTsKQEAgLTEzOTQsNiArMTQwMSwxNCBAQCBWaXNpYmxlSW5WaWV3cG9ydFN0YXRlIFJlbmRlckVs
ZW1lbnQ6OmltYWdlRnJhbWVBdmFpbGFibGUoQ2FjaGVkSW1hZ2UmIGltYWdlLCBJbQogICAgIHJl
dHVybiBpc1Zpc2libGUgPyBWaXNpYmxlSW5WaWV3cG9ydFN0YXRlOjpZZXMgOiBWaXNpYmxlSW5W
aWV3cG9ydFN0YXRlOjpObzsKIH0KIAorVmlzaWJsZUluVmlld3BvcnRTdGF0ZSBSZW5kZXJFbGVt
ZW50OjppbWFnZVZpc2libGVJblZpZXdwb3J0KGNvbnN0IERvY3VtZW50JiBkb2N1bWVudCkgY29u
c3QKK3sKKyAgICBpZiAoJnRoaXMtPmRvY3VtZW50KCkgIT0gJmRvY3VtZW50KQorICAgICAgICBy
ZXR1cm4gVmlzaWJsZUluVmlld3BvcnRTdGF0ZTo6Tm87CisKKyAgICByZXR1cm4gaXNWaXNpYmxl
SW5WaWV3cG9ydCgpID8gVmlzaWJsZUluVmlld3BvcnRTdGF0ZTo6WWVzIDogVmlzaWJsZUluVmll
d3BvcnRTdGF0ZTo6Tm87Cit9CisKIHZvaWQgUmVuZGVyRWxlbWVudDo6bm90aWZ5RmluaXNoZWQo
Q2FjaGVkUmVzb3VyY2UmIHJlc291cmNlLCBjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmKQogewog
ICAgIGRvY3VtZW50KCkuY2FjaGVkUmVzb3VyY2VMb2FkZXIoKS5ub3RpZnlGaW5pc2hlZChyZXNv
dXJjZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVu
dC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaAppbmRleCA3NjNj
NjE3ZjFhNjMuLmQwYzI0N2NkZDI0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
RWxlbWVudC5oCkBAIC0xMzEsNiArMTMxLDcgQEAgcHVibGljOgogICAgIGJvb2wgcmVwYWludEFm
dGVyTGF5b3V0SWZOZWVkZWQoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVwYWludENv
bnRhaW5lciwgY29uc3QgTGF5b3V0UmVjdCYgb2xkQm91bmRzLCBjb25zdCBMYXlvdXRSZWN0JiBv
bGRPdXRsaW5lQm94LCBjb25zdCBMYXlvdXRSZWN0KiBuZXdCb3VuZHNQdHIgPSBudWxscHRyLCBj
b25zdCBMYXlvdXRSZWN0KiBuZXdPdXRsaW5lQm94UHRyID0gbnVsbHB0cik7CiAKICAgICBib29s
IGJvcmRlckltYWdlSXNMb2FkZWRBbmRDYW5CZVJlbmRlcmVkKCkgY29uc3Q7CisgICAgYm9vbCBp
c1Zpc2libGVJZ25vcmluZ0dlb21ldHJ5KCkgY29uc3Q7CiAgICAgYm9vbCBtYXlDYXVzZVJlcGFp
bnRJbnNpZGVWaWV3cG9ydChjb25zdCBJbnRSZWN0KiB2aXNpYmxlUmVjdCA9IG51bGxwdHIpIGNv
bnN0OwogICAgIGJvb2wgaXNWaXNpYmxlSW5Eb2N1bWVudFJlY3QoY29uc3QgSW50UmVjdCYgZG9j
dW1lbnRSZWN0KSBjb25zdDsKIApAQCAtMjk1LDcgKzI5Niw3IEBAIHByb3RlY3RlZDoKIAogICAg
IHZvaWQgcmVtb3ZlRnJvbVJlbmRlckZyYWdtZW50ZWRGbG93SW5jbHVkaW5nRGVzY2VuZGFudHMo
Ym9vbCBzaG91bGRVcGRhdGVTdGF0ZSk7CiAgICAgdm9pZCBhZGp1c3RGcmFnbWVudGVkRmxvd1N0
YXRlT25Db250YWluaW5nQmxvY2tDaGFuZ2VJZk5lZWRlZCgpOwotICAgIAorCiAgICAgYm9vbCBp
c1Zpc2libGVJblZpZXdwb3J0KCkgY29uc3Q7CiAKIHByaXZhdGU6CkBAIC0zMjcsNiArMzI4LDcg
QEAgcHJpdmF0ZToKIAogICAgIGJvb2wgY2FuRGVzdHJveURlY29kZWREYXRhKCkgZmluYWwgeyBy
ZXR1cm4gIWlzVmlzaWJsZUluVmlld3BvcnQoKTsgfQogICAgIFZpc2libGVJblZpZXdwb3J0U3Rh
dGUgaW1hZ2VGcmFtZUF2YWlsYWJsZShDYWNoZWRJbWFnZSYsIEltYWdlQW5pbWF0aW5nU3RhdGUs
IGNvbnN0IEludFJlY3QqIGNoYW5nZVJlY3QpIGZpbmFsOworICAgIFZpc2libGVJblZpZXdwb3J0
U3RhdGUgaW1hZ2VWaXNpYmxlSW5WaWV3cG9ydChjb25zdCBEb2N1bWVudCYpIGNvbnN0IGZpbmFs
OwogICAgIHZvaWQgZGlkUmVtb3ZlQ2FjaGVkSW1hZ2VDbGllbnQoQ2FjaGVkSW1hZ2UmKSBmaW5h
bDsKICAgICB2b2lkIHNjaGVkdWxlUmVuZGVyaW5nVXBkYXRlRm9ySW1hZ2UoQ2FjaGVkSW1hZ2Um
KSBmaW5hbDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJl
cGxhY2VkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHAK
aW5kZXggY2Y5MTU4ZTU1YjM2Li40M2JkNTM3MDhlODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcApAQCAtNzc2LDQgKzc3NiwyMCBAQCBMYXlvdXRSZWN0
IFJlbmRlclJlcGxhY2VkOjpjbGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWludChjb25zdCBSZW5k
ZXJMYXllck1vZGVsTwogICAgIHJldHVybiBjb21wdXRlUmVjdEZvclJlcGFpbnQociwgcmVwYWlu
dENvbnRhaW5lcik7CiB9CiAKK2Jvb2wgUmVuZGVyUmVwbGFjZWQ6OmlzQ29udGVudExpa2VseVZp
c2libGVJblZpZXdwb3J0KCkKK3sKKyAgICBpZiAoIWlzVmlzaWJsZUlnbm9yaW5nR2VvbWV0cnko
KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgYXV0byYgZnJhbWVWaWV3ID0gdmlldygp
LmZyYW1lVmlldygpOworICAgIGF1dG8gdmlzaWJsZVJlY3QgPSBMYXlvdXRSZWN0KGZyYW1lVmll
dy53aW5kb3dUb0NvbnRlbnRzKGZyYW1lVmlldy53aW5kb3dDbGlwUmVjdCgpKSk7CisgICAgYXV0
byBjb250ZW50UmVjdCA9IGNvbXB1dGVSZWN0Rm9yUmVwYWludChyZXBsYWNlZENvbnRlbnRSZWN0
KCksIG51bGxwdHIpOworCisgICAgLy8gQ29udGVudCByZWN0YW5nbGUgbWF5IGJlIGVtcHR5IGJl
Y2F1c2UgaXQgaXMgaW50cmluc2ljYWxseSBzaXplZCBhbmQgdGhlIGNvbnRlbnQgaGFzIG5vdCBs
b2FkZWQgeWV0LgorICAgIGlmIChjb250ZW50UmVjdC5pc0VtcHR5KCkgJiYgKHN0eWxlKCkubG9n
aWNhbFdpZHRoKCkuaXNBdXRvKCkgfHwgc3R5bGUoKS5sb2dpY2FsSGVpZ2h0KCkuaXNBdXRvKCkp
KQorICAgICAgICByZXR1cm4gdmlzaWJsZVJlY3QuY29udGFpbnMoY29udGVudFJlY3QubG9jYXRp
b24oKSk7CisKKyAgICByZXR1cm4gdmlzaWJsZVJlY3QuaW50ZXJzZWN0cyhjb250ZW50UmVjdCk7
Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBs
YWNlZC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmgKaW5kZXgg
N2E3NDEyYTlkNWUxLi45YjQ3OTQyMGE1NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJSZXBsYWNlZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJSZXBsYWNlZC5oCkBAIC00Myw2ICs0Myw4IEBAIHB1YmxpYzoKICAgICBMYXlvdXRTaXpl
IGludHJpbnNpY1NpemUoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2ludHJpbnNpY1NpemU7IH0K
ICAgICAKICAgICBSb3VuZGVkUmVjdCByb3VuZGVkQ29udGVudEJveFJlY3QoKSBjb25zdDsKKyAg
ICAKKyAgICBib29sIGlzQ29udGVudExpa2VseVZpc2libGVJblZpZXdwb3J0KCk7CiAKIHByb3Rl
Y3RlZDoKICAgICBSZW5kZXJSZXBsYWNlZChFbGVtZW50JiwgUmVuZGVyU3R5bGUmJik7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>