<?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>176684</bug_id>
          
          <creation_ts>2017-09-11 00:56:36 -0700</creation_ts>
          <short_desc>Rename isRootLayer to isRenderViewLayer</short_desc>
          <delta_ts>2017-09-27 12:32:02 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>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>
          <dependson>176591</dependson>
          <blocked>172914</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Frédéric Wang Nélar">fred.wang</reporter>
          <assigned_to name="Frédéric Wang Nélar">fred.wang</assigned_to>
          <cc>darin</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1347361</commentid>
    <comment_count>0</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2017-09-11 00:56:36 -0700</bug_when>
    <thetext>Rename isRootLayer to isRenderViewLayer</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1347362</commentid>
    <comment_count>1</comment_count>
      <attachid>320419</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2017-09-11 01:04:43 -0700</bug_when>
    <thetext>Created attachment 320419
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1347364</commentid>
    <comment_count>2</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2017-09-11 01:07:03 -0700</bug_when>
    <thetext>See bug 176591 comment 4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1348216</commentid>
    <comment_count>3</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2017-09-12 23:44:52 -0700</bug_when>
    <thetext>Committed r221958: &lt;http://trac.webkit.org/changeset/221958&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1353453</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-09-27 12:32:02 -0700</bug_when>
    <thetext>&lt;rdar://problem/34693441&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>320419</attachid>
            <date>2017-09-11 01:04:43 -0700</date>
            <delta_ts>2017-09-12 14:45:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-176684-20170911100441.patch</filename>
            <type>text/plain</type>
            <size>25408</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIxODQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODNmM2U3Yzc0N2UzNmQx
YzllMjg1YmQwYTFjOTliZWRkNmNiNDg4Zi4uZjA3NjhhODM5ODViNzNiNzYxOTY0ZGY3MjAyZjI3
MDQ1MDVkMjRmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDE3LTA5LTExICBGcmVk
ZXJpYyBXYW5nICA8ZndhbmdAaWdhbGlhLmNvbT4KKworICAgICAgICBSZW5hbWUgaXNSb290TGF5
ZXIgdG8gaXNSZW5kZXJWaWV3TGF5ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE3NjY4NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggd2FzIGdlbmVyYXRlZCB3aXRoIHRoZSBoZWxwIG9m
IGRvLXdlYmNvcmUtcmVuYW1lIHdpdGggc29tZSBjb2Rpbmcgc3R5bGUgYWRqdXN0bWVudC4KKwor
ICAgICAgICBObyBuZXcgdGVzdHMsIGJlaGF2aW9yIHVuY2hhbmdlZC4KKworICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6
UmVuZGVyTGF5ZXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmVuY2xvc2luZ1Ry
YW5zZm9ybWVkQW5jZXN0b3IgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6
OmVuY2xvc2luZ0ZpbHRlclJlcGFpbnRMYXllciBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJMYXllcjo6c2V0RmlsdGVyQmFja2VuZE5lZWRzUmVwYWludGluZ0luUmVjdCk6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6Y2xpcHBpbmdSb290Rm9yUGFpbnRpbmcgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmJlZ2luVHJhbnNwYXJlbmN5TGF5ZXJz
KToKKyAgICAgICAgKFdlYkNvcmU6OnNob3VsZFN1cHByZXNzUGFpbnRpbmdMYXllcik6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6cGFpbnRGaXhlZExheWVyc0luTmFtZWRGbG93cyk6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6aGl0VGVzdCk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJMYXllcjo6aGl0VGVzdEZpeGVkTGF5ZXJzSW5OYW1lZEZsb3dzKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpjYWxjdWxhdGVDbGlwUmVjdHMgY29uc3QpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJMYXllckJhY2tpbmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5n
OjpSZW5kZXJMYXllckJhY2tpbmcpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNr
aW5nOjp1cGRhdGVDb25maWd1cmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVy
QmFja2luZzo6dXBkYXRlQWZ0ZXJEZXNjZW5kYW50cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJMYXllckJhY2tpbmc6OnBhaW50c0ludG9XaW5kb3cgY29uc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjpwYWludEludG9MYXllcik6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJM
YXllckNvbXBvc2l0b3I6OmxvZ0xheWVySW5mbyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJM
YXllckNvbXBvc2l0b3I6Om5lZWRzQ29tcG9zaXRpbmdVcGRhdGVGb3JTdHlsZUNoYW5nZU9uTm9u
Q29tcG9zaXRlZExheWVyIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29t
cG9zaXRvcjo6dXBkYXRlQmFja2luZyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNv
bXBvc2l0b3I6OnJlcGFpbnRJbkNvbXBvc2l0ZWRBbmNlc3Rvcik6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OmFkZFRvT3ZlcmxhcE1hcCk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OmNvbXB1dGVDb21wb3NpdGluZ1JlcXVpcmVtZW50
c0Zvck5hbWVkRmxvd0ZpeGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9z
aXRvcjo6Y29tcHV0ZUNvbXBvc2l0aW5nUmVxdWlyZW1lbnRzKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6cmVidWlsZENvbXBvc2l0aW5nTGF5ZXJUcmVlRm9yTmFt
ZWRGbG93Rml4ZWQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpy
ZWJ1aWxkQ29tcG9zaXRpbmdMYXllclRyZWUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5
ZXJDb21wb3NpdG9yOjpuZWVkc1RvQmVDb21wb3NpdGVkIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6cmVxdWlyZXNPd25CYWNraW5nU3RvcmUgY29uc3Qp
OiBBbHNvIG1vdmUgdGhlIElPUyBjb25kaXRpb24KKyAgICAgICAgdXAgdG8gYXZvaWQgdGhhdCBj
aGVjay13ZWJraXQtc3R5bGUgY29tcGxhaW5zLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5
ZXJDb21wb3NpdG9yOjpyZWFzb25zRm9yQ29tcG9zaXRpbmcgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjp1c2VDb29yZGluYXRlZFNjcm9sbGluZ0Zvckxh
eWVyIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6bmVl
ZHNGaXhlZFJvb3RCYWNrZ3JvdW5kTGF5ZXIgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyTGF5ZXJDb21wb3NpdG9yOjp1cGRhdGVTY3JvbGxDb29yZGluYXRlZExheWVyKToKKwogMjAx
Ny0wOS0xMCAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+CiAKICAgICAgICAgRml4IGFs
bCBFeGNlcHRpb25TY29wZSB2ZXJpZmljYXRpb24gZmFpbHVyZXMgaW4gSmF2YVNjcmlwdENvcmUu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAppbmRleCA0ZWFhYmJkN2U5
ZDczODFiOWI1Mjc3NzI5NTVhZWRhZGVlNGIxZWZlLi5kMzViYTQ1ZWJkMDc2ZTczYzBkZDUyODE2
ZmVlNmIwNzAxZGQ4OGIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5j
cHAKQEAgLTI2Nyw3ICsyNjcsNyBAQCB2b2lkIG1ha2VNYXRyaXhSZW5kZXJhYmxlKFRyYW5zZm9y
bWF0aW9uTWF0cml4JiBtYXRyaXgsIGJvb2wgaGFzM0RSZW5kZXJpbmcpCiB9CiAKIFJlbmRlckxh
eWVyOjpSZW5kZXJMYXllcihSZW5kZXJMYXllck1vZGVsT2JqZWN0JiByZW5kZXJlckxheWVyTW9k
ZWxPYmplY3QpCi0gICAgOiBtX2lzUm9vdExheWVyKHJlbmRlcmVyTGF5ZXJNb2RlbE9iamVjdC5p
c1JlbmRlclZpZXcoKSkKKyAgICA6IG1faXNSZW5kZXJWaWV3TGF5ZXIocmVuZGVyZXJMYXllck1v
ZGVsT2JqZWN0LmlzUmVuZGVyVmlldygpKQogICAgICwgbV9mb3JjZWRTdGFja2luZ0NvbnRleHQo
cmVuZGVyZXJMYXllck1vZGVsT2JqZWN0LmlzTWVkaWEoKSkKICAgICAsIG1faW5SZXNpemVNb2Rl
KGZhbHNlKQogICAgICwgbV9zY3JvbGxEaW1lbnNpb25zRGlydHkodHJ1ZSkKQEAgLTE1MjYsNyAr
MTUyNiw3IEBAIGJvb2wgUmVuZGVyTGF5ZXI6OmZvcmNlVXBkYXRlU2Nyb2xsYmFyc09uTWFpblRo
cmVhZEZvclBlcmZvcm1hbmNlVGVzdGluZygpIGNvbnN0CiBSZW5kZXJMYXllciogUmVuZGVyTGF5
ZXI6OmVuY2xvc2luZ1RyYW5zZm9ybWVkQW5jZXN0b3IoKSBjb25zdAogewogICAgIFJlbmRlckxh
eWVyKiBjdXJyID0gcGFyZW50KCk7Ci0gICAgd2hpbGUgKGN1cnIgJiYgIWN1cnItPmlzUm9vdExh
eWVyKCkgJiYgIWN1cnItPnRyYW5zZm9ybSgpKQorICAgIHdoaWxlIChjdXJyICYmICFjdXJyLT5p
c1JlbmRlclZpZXdMYXllcigpICYmICFjdXJyLT50cmFuc2Zvcm0oKSkKICAgICAgICAgY3VyciA9
IGN1cnItPnBhcmVudCgpOwogCiAgICAgcmV0dXJuIGN1cnI7CkBAIC0xNTkzLDcgKzE1OTMsNyBA
QCBSZW5kZXJMYXllciogUmVuZGVyTGF5ZXI6OmVuY2xvc2luZ0ZpbHRlckxheWVyKEluY2x1ZGVT
ZWxmT3JOb3QgaW5jbHVkZVNlbGYpIGNvbgogUmVuZGVyTGF5ZXIqIFJlbmRlckxheWVyOjplbmNs
b3NpbmdGaWx0ZXJSZXBhaW50TGF5ZXIoKSBjb25zdAogewogICAgIGZvciAoY29uc3QgUmVuZGVy
TGF5ZXIqIGN1cnIgPSB0aGlzOyBjdXJyOyBjdXJyID0gY3Vyci0+cGFyZW50KCkpIHsKLSAgICAg
ICAgaWYgKChjdXJyICE9IHRoaXMgJiYgY3Vyci0+cmVxdWlyZXNGdWxsTGF5ZXJJbWFnZUZvckZp
bHRlcnMoKSkgfHwgY29tcG9zaXRlZFdpdGhPd25CYWNraW5nU3RvcmUoKmN1cnIpIHx8IGN1cnIt
PmlzUm9vdExheWVyKCkpCisgICAgICAgIGlmICgoY3VyciAhPSB0aGlzICYmIGN1cnItPnJlcXVp
cmVzRnVsbExheWVySW1hZ2VGb3JGaWx0ZXJzKCkpIHx8IGNvbXBvc2l0ZWRXaXRoT3duQmFja2lu
Z1N0b3JlKCpjdXJyKSB8fCBjdXJyLT5pc1JlbmRlclZpZXdMYXllcigpKQogICAgICAgICAgICAg
cmV0dXJuIGNvbnN0X2Nhc3Q8UmVuZGVyTGF5ZXIqPihjdXJyKTsKICAgICB9CiAgICAgcmV0dXJu
IG51bGxwdHI7CkBAIC0xNjMwLDcgKzE2MzAsNyBAQCB2b2lkIFJlbmRlckxheWVyOjpzZXRGaWx0
ZXJCYWNrZW5kTmVlZHNSZXBhaW50aW5nSW5SZWN0KGNvbnN0IExheW91dFJlY3QmIHJlY3QpCiAg
ICAgICAgIHJldHVybjsgICAgICAgIAogICAgIH0KICAgICAKLSAgICBpZiAocGFyZW50TGF5ZXIt
PmlzUm9vdExheWVyKCkpIHsKKyAgICBpZiAocGFyZW50TGF5ZXItPmlzUmVuZGVyVmlld0xheWVy
KCkpIHsKICAgICAgICAgZG93bmNhc3Q8UmVuZGVyVmlldz4ocGFyZW50TGF5ZXItPnJlbmRlcmVy
KCkpLnJlcGFpbnRWaWV3UmVjdGFuZ2xlKHBhcmVudExheWVyUmVjdCk7CiAgICAgICAgIHJldHVy
bjsKICAgICB9CkBAIC0xNjU0LDcgKzE2NTQsNyBAQCBSZW5kZXJMYXllciogUmVuZGVyTGF5ZXI6
OmNsaXBwaW5nUm9vdEZvclBhaW50aW5nKCkgY29uc3QKIAogICAgIGNvbnN0IFJlbmRlckxheWVy
KiBjdXJyZW50ID0gdGhpczsKICAgICB3aGlsZSAoY3VycmVudCkgewotICAgICAgICBpZiAoY3Vy
cmVudC0+aXNSb290TGF5ZXIoKSkKKyAgICAgICAgaWYgKGN1cnJlbnQtPmlzUmVuZGVyVmlld0xh
eWVyKCkpCiAgICAgICAgICAgICByZXR1cm4gY29uc3RfY2FzdDxSZW5kZXJMYXllcio+KGN1cnJl
bnQpOwogCiAgICAgICAgIGN1cnJlbnQgPSBjb21wb3NpdGluZ0NvbnRhaW5lcigqY3VycmVudCk7
CkBAIC0xODIzLDcgKzE4MjMsNyBAQCB2b2lkIFJlbmRlckxheWVyOjpiZWdpblRyYW5zcGFyZW5j
eUxheWVycyhHcmFwaGljc0NvbnRleHQmIGNvbnRleHQsIGNvbnN0IExheWVyUAogICAgICAgICBj
b250ZXh0LmNsaXAocGl4ZWxTbmFwcGVkQ2xpcFJlY3QpOwogCiAjaWYgRU5BQkxFKENTU19DT01Q
T1NJVElORykKLSAgICAgICAgYm9vbCB1c2VzQ29tcG9zaXRlT3BlcmF0aW9uID0gaGFzQmxlbmRN
b2RlKCkgJiYgIShyZW5kZXJlcigpLmlzU1ZHUm9vdCgpICYmIHBhcmVudCgpICYmIHBhcmVudCgp
LT5pc1Jvb3RMYXllcigpKTsKKyAgICAgICAgYm9vbCB1c2VzQ29tcG9zaXRlT3BlcmF0aW9uID0g
aGFzQmxlbmRNb2RlKCkgJiYgIShyZW5kZXJlcigpLmlzU1ZHUm9vdCgpICYmIHBhcmVudCgpICYm
IHBhcmVudCgpLT5pc1JlbmRlclZpZXdMYXllcigpKTsKICAgICAgICAgaWYgKHVzZXNDb21wb3Np
dGVPcGVyYXRpb24pCiAgICAgICAgICAgICBjb250ZXh0LnNldENvbXBvc2l0ZU9wZXJhdGlvbihj
b250ZXh0LmNvbXBvc2l0ZU9wZXJhdGlvbigpLCBibGVuZE1vZGUoKSk7CiAjZW5kaWYKQEAgLTM5
NDAsNyArMzk0MCw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzaG91bGREb1NvZnR3YXJlUGFpbnQo
Y29uc3QgUmVuZGVyTGF5ZXIqIGxheWVyLCBib29sIHBhaW50aW5nCiAgICAgCiBzdGF0aWMgaW5s
aW5lIGJvb2wgc2hvdWxkU3VwcHJlc3NQYWludGluZ0xheWVyKFJlbmRlckxheWVyKiBsYXllcikK
IHsKLSAgICBpZiAobGF5ZXItPnJlbmRlcmVyKCkuc3R5bGUoKS5pc05vdEZpbmFsKCkgJiYgIWxh
eWVyLT5pc1Jvb3RMYXllcigpICYmICFsYXllci0+cmVuZGVyZXIoKS5pc0RvY3VtZW50RWxlbWVu
dFJlbmRlcmVyKCkpCisgICAgaWYgKGxheWVyLT5yZW5kZXJlcigpLnN0eWxlKCkuaXNOb3RGaW5h
bCgpICYmICFsYXllci0+aXNSZW5kZXJWaWV3TGF5ZXIoKSAmJiAhbGF5ZXItPnJlbmRlcmVyKCku
aXNEb2N1bWVudEVsZW1lbnRSZW5kZXJlcigpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAg
IC8vIEF2b2lkIHBhaW50aW5nIGFsbCBsYXllcnMgaWYgdGhlIGRvY3VtZW50IGlzIGluIGEgc3Rh
dGUgd2hlcmUgdmlzdWFsIHVwZGF0ZXMgYXJlbid0IGFsbG93ZWQuCkBAIC00MjcxLDcgKzQyNzEs
NyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgY29tcGFyZVpJbmRleChSZW5kZXJMYXllciogZmlyc3Qs
IFJlbmRlckxheWVyKiBzZWNvbmQpCiAvLyByZWdpb25zIHZpZXdwb3J0Lgogdm9pZCBSZW5kZXJM
YXllcjo6cGFpbnRGaXhlZExheWVyc0luTmFtZWRGbG93cyhHcmFwaGljc0NvbnRleHQmIGNvbnRl
eHQsIGNvbnN0IExheWVyUGFpbnRpbmdJbmZvJiBwYWludGluZ0luZm8sIFBhaW50TGF5ZXJGbGFn
cyBwYWludEZsYWdzKQogewotICAgIGlmICghaXNSb290TGF5ZXIoKSkKKyAgICBpZiAoIWlzUmVu
ZGVyVmlld0xheWVyKCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIC8vIEdldCB0aGUgbmFtZWQg
Zmxvd3MgZm9yIHRoZSB2aWV3CkBAIC00OTQ1LDcgKzQ5NDUsNyBAQCBib29sIFJlbmRlckxheWVy
OjpoaXRUZXN0KGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBIaXRUZXN0TG9j
YXRpb24mCiAgICAgICAgIC8vIFdlIGRpZG4ndCBoaXQgYW55IGxheWVyLiBJZiB3ZSBhcmUgdGhl
IHJvb3QgbGF5ZXIgYW5kIHRoZSBtb3VzZSBpcyAtLSBvciBqdXN0IHdhcyAtLSBkb3duLCAKICAg
ICAgICAgLy8gcmV0dXJuIG91cnNlbHZlcy4gV2UgZG8gdGhpcyBzbyBtb3VzZSBldmVudHMgY29u
dGludWUgZ2V0dGluZyBkZWxpdmVyZWQgYWZ0ZXIgYSBkcmFnIGhhcyAKICAgICAgICAgLy8gZXhp
dGVkIHRoZSBXZWJWaWV3LCBhbmQgc28gaGl0IHRlc3Rpbmcgb3ZlciBhIHNjcm9sbGJhciBoaXRz
IHRoZSBjb250ZW50IGRvY3VtZW50LgotICAgICAgICBpZiAoIXJlcXVlc3QuaXNDaGlsZEZyYW1l
SGl0VGVzdCgpICYmIChyZXF1ZXN0LmFjdGl2ZSgpIHx8IHJlcXVlc3QucmVsZWFzZSgpKSAmJiBp
c1Jvb3RMYXllcigpKSB7CisgICAgICAgIGlmICghcmVxdWVzdC5pc0NoaWxkRnJhbWVIaXRUZXN0
KCkgJiYgKHJlcXVlc3QuYWN0aXZlKCkgfHwgcmVxdWVzdC5yZWxlYXNlKCkpICYmIGlzUmVuZGVy
Vmlld0xheWVyKCkpIHsKICAgICAgICAgICAgIHJlbmRlcmVyKCkudXBkYXRlSGl0VGVzdFJlc3Vs
dChyZXN1bHQsIGRvd25jYXN0PFJlbmRlclZpZXc+KHJlbmRlcmVyKCkpLmZsaXBGb3JXcml0aW5n
TW9kZShoaXRUZXN0TG9jYXRpb24ucG9pbnQoKSkpOwogICAgICAgICAgICAgaW5zaWRlTGF5ZXIg
PSB0aGlzOwogICAgICAgICB9CkBAIC01MDczLDcgKzUwNzMsNyBAQCBSZW5kZXJMYXllciogUmVu
ZGVyTGF5ZXI6OmhpdFRlc3RGaXhlZExheWVyc0luTmFtZWRGbG93cyhSZW5kZXJMYXllciogLypy
b290TGF5ZQogICAgIGNvbnN0IEhpdFRlc3RpbmdUcmFuc2Zvcm1TdGF0ZSogdW5mbGF0dGVuZWRU
cmFuc2Zvcm1TdGF0ZSwKICAgICBib29sIGRlcHRoU29ydERlc2NlbmRhbnRzKQogewotICAgIGlm
ICghaXNSb290TGF5ZXIoKSkKKyAgICBpZiAoIWlzUmVuZGVyVmlld0xheWVyKCkpCiAgICAgICAg
IHJldHVybiBudWxscHRyOwogCiAgICAgLy8gR2V0IHRoZSBuYW1lZCBmbG93cyBmb3IgdGhlIHZp
ZXcKQEAgLTU4ODIsNyArNTg4Miw3IEBAIGJvb2wgUmVuZGVyTGF5ZXI6OmludGVyc2VjdHNEYW1h
Z2VSZWN0KGNvbnN0IExheW91dFJlY3QmIGxheWVyQm91bmRzLCBjb25zdCBMYXlvCiAgICAgLy8g
QWx3YXlzIGV4YW1pbmUgdGhlIGNhbnZhcyBhbmQgdGhlIHJvb3QuCiAgICAgLy8gRklYTUU6IENv
dWxkIGVsaW1pbmF0ZSB0aGUgaXNEb2N1bWVudEVsZW1lbnRSZW5kZXJlcigpIGNoZWNrIGlmIHdl
IGZpeCBiYWNrZ3JvdW5kIHBhaW50aW5nIHNvIHRoYXQgdGhlIFJlbmRlclZpZXcKICAgICAvLyBw
YWludHMgdGhlIHJvb3QncyBiYWNrZ3JvdW5kLgotICAgIGlmIChpc1Jvb3RMYXllcigpIHx8IHJl
bmRlcmVyKCkuaXNEb2N1bWVudEVsZW1lbnRSZW5kZXJlcigpKQorICAgIGlmIChpc1JlbmRlclZp
ZXdMYXllcigpIHx8IHJlbmRlcmVyKCkuaXNEb2N1bWVudEVsZW1lbnRSZW5kZXJlcigpKQogICAg
ICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIGlmIChkYW1hZ2VSZWN0LmlzSW5maW5pdGUoKSkKQEAg
LTYwMzUsNyArNjAzNSw3IEBAIExheW91dFJlY3QgUmVuZGVyTGF5ZXI6OmNhbGN1bGF0ZUxheWVy
Qm91bmRzKGNvbnN0IFJlbmRlckxheWVyKiBhbmNlc3RvckxheWVyLCBjCiAgICAgaWYgKChmbGFn
cyAmIEV4Y2x1ZGVIaWRkZW5EZXNjZW5kYW50cykgJiYgdGhpcyAhPSBhbmNlc3RvckxheWVyICYm
ICFoYXNWaXNpYmxlQ29udGVudCgpICYmICFoYXNWaXNpYmxlRGVzY2VuZGFudCgpKQogICAgICAg
ICByZXR1cm4gTGF5b3V0UmVjdCgpOwogCi0gICAgaWYgKGlzUm9vdExheWVyKCkpIHsKKyAgICBp
ZiAoaXNSZW5kZXJWaWV3TGF5ZXIoKSkgewogICAgICAgICAvLyBUaGUgcm9vdCBsYXllciBpcyBh
bHdheXMganVzdCB0aGUgc2l6ZSBvZiB0aGUgZG9jdW1lbnQuCiAgICAgICAgIHJldHVybiByZW5k
ZXJlcigpLnZpZXcoKS51bnNjYWxlZERvY3VtZW50UmVjdCgpOwogICAgIH0KQEAgLTY1ODUsNyAr
NjU4NSw3IEBAIGJvb2wgUmVuZGVyTGF5ZXI6OnNob3VsZEJlTm9ybWFsRmxvd09ubHkoKSBjb25z
dAogICAgICAgICB8fCByZW5kZXJlcigpLmlzVmlkZW8oKQogICAgICAgICB8fCByZW5kZXJlcigp
LmlzRW1iZWRkZWRPYmplY3QoKQogICAgICAgICB8fCByZW5kZXJlcigpLmlzUmVuZGVySUZyYW1l
KCkKLSAgICAgICAgfHwgKHJlbmRlcmVyKCkuc3R5bGUoKS5zcGVjaWZpZXNDb2x1bW5zKCkgJiYg
IWlzUm9vdExheWVyKCkpCisgICAgICAgIHx8IChyZW5kZXJlcigpLnN0eWxlKCkuc3BlY2lmaWVz
Q29sdW1ucygpICYmICFpc1JlbmRlclZpZXdMYXllcigpKQogICAgICAgICB8fCByZW5kZXJlcigp
LmlzSW5GbG93UmVuZGVyRmxvd1RocmVhZCgpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllci5oCmluZGV4IDRhMWQyYWFkMGJhZmFmMGU0YWU0OGNmNjBhOGI0N2NiZDFjMzFm
ZmMuLjc4NTcwODI4Y2ZmYjRkMTlkMDcwOWZiZTJiNzAwYjExNjA2YTQ5NDIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCkBAIC0yOTMsNyArMjkzLDcgQEAgcHVibGljOgog
ICAgIGJvb2wgaW5SZXNpemVNb2RlKCkgY29uc3QgeyByZXR1cm4gbV9pblJlc2l6ZU1vZGU7IH0K
ICAgICB2b2lkIHNldEluUmVzaXplTW9kZShib29sIGIpIHsgbV9pblJlc2l6ZU1vZGUgPSBiOyB9
CiAKLSAgICBib29sIGlzUm9vdExheWVyKCkgY29uc3QgeyByZXR1cm4gbV9pc1Jvb3RMYXllcjsg
fQorICAgIGJvb2wgaXNSZW5kZXJWaWV3TGF5ZXIoKSBjb25zdCB7IHJldHVybiBtX2lzUmVuZGVy
Vmlld0xheWVyOyB9CiAKICAgICBSZW5kZXJMYXllckNvbXBvc2l0b3ImIGNvbXBvc2l0b3IoKSBj
b25zdDsKICAgICAKQEAgLTc2MCw3ICs3NjAsNyBAQCBwcml2YXRlOgogCiAgICAgLy8gTm9uLWF1
dG8gei1pbmRleCBhbHdheXMgaW1wbGllcyBzdGFja2luZyBjb250ZXh0IGhlcmUsIGJlY2F1c2Ug
U3R5bGVSZXNvbHZlcjo6YWRqdXN0UmVuZGVyU3R5bGUgYWxyZWFkeSBhZGp1c3RzIHotaW5kZXgK
ICAgICAvLyBiYXNlZCBvbiBwb3NpdGlvbmluZyBhbmQgb3RoZXIgY3JpdGVyaWEuCi0gICAgYm9v
bCBpc1N0YWNraW5nQ29udGV4dChjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUpIGNvbnN0IHsgcmV0
dXJuICFzdHlsZS0+aGFzQXV0b1pJbmRleCgpIHx8IGlzUm9vdExheWVyKCkgfHwgbV9mb3JjZWRT
dGFja2luZ0NvbnRleHQ7IH0KKyAgICBib29sIGlzU3RhY2tpbmdDb250ZXh0KGNvbnN0IFJlbmRl
clN0eWxlKiBzdHlsZSkgY29uc3QgeyByZXR1cm4gIXN0eWxlLT5oYXNBdXRvWkluZGV4KCkgfHwg
aXNSZW5kZXJWaWV3TGF5ZXIoKSB8fCBtX2ZvcmNlZFN0YWNraW5nQ29udGV4dDsgfQogCiAgICAg
Ym9vbCBpc0RpcnR5U3RhY2tpbmdDb250YWluZXIoKSBjb25zdCB7IHJldHVybiBtX3pPcmRlckxp
c3RzRGlydHkgJiYgaXNTdGFja2luZ0NvbnRhaW5lcigpOyB9CiAKQEAgLTEwNDYsNyArMTA0Niw3
IEBAIHByaXZhdGU6CiAKICAgICAvLyBUaGUgYml0ZmllbGRzIGFyZSB1cCBoZXJlIHNvIHRoZXkg
d2lsbCBmYWxsIGludG8gdGhlIHBhZGRpbmcgZnJvbSBTY3JvbGxhYmxlQXJlYSBvbiA2NC1iaXQu
CiAKLSAgICBjb25zdCBib29sIG1faXNSb290TGF5ZXIgOiAxOworICAgIGNvbnN0IGJvb2wgbV9p
c1JlbmRlclZpZXdMYXllciA6IDE7CiAgICAgY29uc3QgYm9vbCBtX2ZvcmNlZFN0YWNraW5nQ29u
dGV4dCA6IDE7CiAKICAgICAvLyBLZWVwcyB0cmFjayBvZiB3aGV0aGVyIHRoZSBsYXllciBpcyBj
dXJyZW50bHkgcmVzaXppbmcsIHNvIGV2ZW50cyBjYW4gY2F1c2UgcmVzaXppbmcgdG8gc3RhcnQg
YW5kIHN0b3AuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXJCYWNraW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tp
bmcuY3BwCmluZGV4IGE2ZTdkZjJlMDMzMTM3YWZhOTBmYTQzZmVjMTU1MzA0Y2E5NmQ1ZDMuLjhj
Yjk3NGVkMjE4YTM1ZGFjYzIzNGFiYmVkYTViN2ZmNWFmZjM1MDEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCkBAIC0yMDksNyArMjA5LDcg
QEAgUGFpbnRlZENvbnRlbnRzSW5mbzo6Q29udGVudHNUeXBlRGV0ZXJtaW5hdGlvbiBQYWludGVk
Q29udGVudHNJbmZvOjpjb250ZW50c1R5cGUKIFJlbmRlckxheWVyQmFja2luZzo6UmVuZGVyTGF5
ZXJCYWNraW5nKFJlbmRlckxheWVyJiBsYXllcikKICAgICA6IG1fb3duaW5nTGF5ZXIobGF5ZXIp
CiB7Ci0gICAgaWYgKGxheWVyLmlzUm9vdExheWVyKCkpIHsKKyAgICBpZiAobGF5ZXIuaXNSZW5k
ZXJWaWV3TGF5ZXIoKSkgewogICAgICAgICBtX2lzTWFpbkZyYW1lUmVuZGVyVmlld0xheWVyID0g
cmVuZGVyZXIoKS5mcmFtZSgpLmlzTWFpbkZyYW1lKCk7CiAgICAgICAgIG1faXNGcmFtZUxheWVy
V2l0aFRpbGVkQmFja2luZyA9IHJlbmRlcmVyKCkucGFnZSgpLmNocm9tZSgpLmNsaWVudCgpLnNo
b3VsZFVzZVRpbGVkQmFja2luZ0ZvckZyYW1lVmlldyhyZW5kZXJlcigpLnZpZXcoKS5mcmFtZVZp
ZXcoKSk7CiAgICAgfQpAQCAtNzIwLDcgKzcyMCw3IEBAIGJvb2wgUmVuZGVyTGF5ZXJCYWNraW5n
Ojp1cGRhdGVDb25maWd1cmF0aW9uKCkKIAogICAgIFBhaW50ZWRDb250ZW50c0luZm8gY29udGVu
dHNJbmZvKCp0aGlzKTsKIAotICAgIGlmICghbV9vd25pbmdMYXllci5pc1Jvb3RMYXllcigpKSB7
CisgICAgaWYgKCFtX293bmluZ0xheWVyLmlzUmVuZGVyVmlld0xheWVyKCkpIHsKICAgICAgICAg
Ym9vbCBkaWRVcGRhdGVDb250ZW50c1JlY3QgPSBmYWxzZTsKICAgICAgICAgdXBkYXRlRGlyZWN0
bHlDb21wb3NpdGVkQm94RGVjb3JhdGlvbnMoY29udGVudHNJbmZvLCBkaWRVcGRhdGVDb250ZW50
c1JlY3QpOwogICAgIH0gZWxzZQpAQCAtMTIyMCw3ICsxMjIwLDcgQEAgdm9pZCBSZW5kZXJMYXll
ckJhY2tpbmc6OnVwZGF0ZUFmdGVyRGVzY2VuZGFudHMoKQogICAgIFBhaW50ZWRDb250ZW50c0lu
Zm8gY29udGVudHNJbmZvKCp0aGlzKTsKICAgICBjb250ZW50c0luZm8uc2V0V2FudHNTdWJwaXhl
bEFudGlhbGlhc2VkVGV4dFN0YXRlKEdyYXBoaWNzTGF5ZXI6OnN1cHBvcnRzU3VicGl4ZWxBbnRp
YWxpYXNlZExheWVyVGV4dCgpKTsKIAotICAgIGlmICghbV9vd25pbmdMYXllci5pc1Jvb3RMYXll
cigpKSB7CisgICAgaWYgKCFtX293bmluZ0xheWVyLmlzUmVuZGVyVmlld0xheWVyKCkpIHsKICAg
ICAgICAgYm9vbCBkaWRVcGRhdGVDb250ZW50c1JlY3QgPSBmYWxzZTsKICAgICAgICAgdXBkYXRl
RGlyZWN0bHlDb21wb3NpdGVkQm94RGVjb3JhdGlvbnMoY29udGVudHNJbmZvLCBkaWRVcGRhdGVD
b250ZW50c1JlY3QpOwogICAgICAgICBpZiAoIWRpZFVwZGF0ZUNvbnRlbnRzUmVjdCAmJiBtX2dy
YXBoaWNzTGF5ZXItPnVzZXNDb250ZW50c0xheWVyKCkpCkBAIC0yNDAyLDcgKzI0MDIsNyBAQCBi
b29sIFJlbmRlckxheWVyQmFja2luZzo6cGFpbnRzSW50b1dpbmRvdygpIGNvbnN0CiAgICAgaWYg
KG1faXNGcmFtZUxheWVyV2l0aFRpbGVkQmFja2luZykKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
Ci0gICAgaWYgKG1fb3duaW5nTGF5ZXIuaXNSb290TGF5ZXIoKSkgeworICAgIGlmIChtX293bmlu
Z0xheWVyLmlzUmVuZGVyVmlld0xheWVyKCkpIHsKICNpZiBQTEFURk9STShJT1MpIHx8IFVTRShD
T09SRElOQVRFRF9HUkFQSElDUykKICAgICAgICAgaWYgKGNvbXBvc2l0b3IoKS5pbkZvcmNlZENv
bXBvc2l0aW5nTW9kZSgpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMjU1NSw3ICsy
NTU1LDcgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnBhaW50SW50b0xheWVyKGNvbnN0IEdy
YXBoaWNzTGF5ZXIqIGdyYXBoaWNzTGF5ZXIsIEdyYXAKICNlbmRpZgogCiAgICAgRnJhbWVWaWV3
OjpQYWludGluZ1N0YXRlIHBhaW50aW5nU3RhdGU7Ci0gICAgaWYgKG1fb3duaW5nTGF5ZXIuaXNS
b290TGF5ZXIoKSkKKyAgICBpZiAobV9vd25pbmdMYXllci5pc1JlbmRlclZpZXdMYXllcigpKQog
ICAgICAgICByZW5kZXJlcigpLnZpZXcoKS5mcmFtZVZpZXcoKS53aWxsUGFpbnRDb250ZW50cyhj
b250ZXh0LCBwYWludERpcnR5UmVjdCwgcGFpbnRpbmdTdGF0ZSk7CiAKICAgICAvLyBGSVhNRTog
R3JhcGhpY3NMYXllcnMgbmVlZCBhIHdheSB0byBzcGxpdCBmb3IgUmVuZGVyUmVnaW9ucy4KQEAg
LTI1NjUsNyArMjU2NSw3IEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjpwYWludEludG9MYXll
cihjb25zdCBHcmFwaGljc0xheWVyKiBncmFwaGljc0xheWVyLCBHcmFwCiAgICAgaWYgKG1fb3du
aW5nTGF5ZXIuY29udGFpbnNEaXJ0eU92ZXJsYXlTY3JvbGxiYXJzKCkpCiAgICAgICAgIG1fb3du
aW5nTGF5ZXIucGFpbnRMYXllckNvbnRlbnRzKGNvbnRleHQsIHBhaW50aW5nSW5mbywgcGFpbnRG
bGFncyB8IFJlbmRlckxheWVyOjpQYWludExheWVyUGFpbnRpbmdPdmVybGF5U2Nyb2xsYmFycyk7
CiAKLSAgICBpZiAobV9vd25pbmdMYXllci5pc1Jvb3RMYXllcigpKQorICAgIGlmIChtX293bmlu
Z0xheWVyLmlzUmVuZGVyVmlld0xheWVyKCkpCiAgICAgICAgIHJlbmRlcmVyKCkudmlldygpLmZy
YW1lVmlldygpLmRpZFBhaW50Q29udGVudHMoY29udGV4dCwgcGFpbnREaXJ0eVJlY3QsIHBhaW50
aW5nU3RhdGUpOwogCiAgICAgY29tcG9zaXRvcigpLmRpZFBhaW50QmFja2luZyh0aGlzKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3Iu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAK
aW5kZXggNTYzODEyZDUyNzYxNTI2YzQwNWEyMmFjODAwYWFlZWZjYjkyOTdmNy4uMDZlNzEwMDhh
MDM5M2I4ODhiYjQwODVmYjVkNzM2Nzk5NDMxYTkxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKQEAgLTc5OCw3ICs3OTgsNyBA
QCB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6bG9nTGF5ZXJJbmZvKGNvbnN0IFJlbmRlckxh
eWVyJiBsYXllciwgaW50IGRlcHRoKQogICAgICAgICByZXR1cm47CiAKICAgICBSZW5kZXJMYXll
ckJhY2tpbmcqIGJhY2tpbmcgPSBsYXllci5iYWNraW5nKCk7Ci0gICAgaWYgKHJlcXVpcmVzQ29t
cG9zaXRpbmdMYXllcihsYXllcikgfHwgbGF5ZXIuaXNSb290TGF5ZXIoKSkgeworICAgIGlmIChy
ZXF1aXJlc0NvbXBvc2l0aW5nTGF5ZXIobGF5ZXIpIHx8IGxheWVyLmlzUmVuZGVyVmlld0xheWVy
KCkpIHsKICAgICAgICAgKyttX29ibGlnYXRlQ29tcG9zaXRlZExheWVyQ291bnQ7CiAgICAgICAg
IG1fb2JsaWdhdG9yeUJhY2tpbmdTdG9yZUJ5dGVzICs9IGJhY2tpbmctPmJhY2tpbmdTdG9yZU1l
bW9yeUVzdGltYXRlKCk7CiAgICAgfSBlbHNlIHsKQEAgLTk1NSw3ICs5NTUsNyBAQCB2b2lkIFJl
bmRlckxheWVyQ29tcG9zaXRvcjo6bGF5ZXJTdHlsZUNoYW5nZWQoU3R5bGVEaWZmZXJlbmNlIGRp
ZmYsIFJlbmRlckxheWVyJgogYm9vbCBSZW5kZXJMYXllckNvbXBvc2l0b3I6Om5lZWRzQ29tcG9z
aXRpbmdVcGRhdGVGb3JTdHlsZUNoYW5nZU9uTm9uQ29tcG9zaXRlZExheWVyKFJlbmRlckxheWVy
JiBsYXllciwgY29uc3QgUmVuZGVyU3R5bGUqIG9sZFN0eWxlKSBjb25zdAogewogICAgIC8vIE5l
ZWRlZCBmb3Igc2Nyb2xsIGJhcnMuCi0gICAgaWYgKGxheWVyLmlzUm9vdExheWVyKCkpCisgICAg
aWYgKGxheWVyLmlzUmVuZGVyVmlld0xheWVyKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCiAg
ICAgaWYgKCFvbGRTdHlsZSkKQEAgLTEwMjMsNyArMTAyMyw3IEBAIGJvb2wgUmVuZGVyTGF5ZXJD
b21wb3NpdG9yOjp1cGRhdGVCYWNraW5nKFJlbmRlckxheWVyJiBsYXllciwgQ29tcG9zaXRpbmdD
aGFuZ2VSCiAKICAgICAgICAgICAgIGxheWVyLmVuc3VyZUJhY2tpbmcoKTsKIAotICAgICAgICAg
ICAgaWYgKGxheWVyLmlzUm9vdExheWVyKCkgJiYgdXNlQ29vcmRpbmF0ZWRTY3JvbGxpbmdGb3JM
YXllcihsYXllcikpIHsKKyAgICAgICAgICAgIGlmIChsYXllci5pc1JlbmRlclZpZXdMYXllcigp
ICYmIHVzZUNvb3JkaW5hdGVkU2Nyb2xsaW5nRm9yTGF5ZXIobGF5ZXIpKSB7CiAgICAgICAgICAg
ICAgICAgdXBkYXRlU2Nyb2xsQ29vcmRpbmF0ZWRTdGF0dXMobGF5ZXIsIHsgU2Nyb2xsaW5nTm9k
ZUNoYW5nZUZsYWdzOjpMYXllciwgU2Nyb2xsaW5nTm9kZUNoYW5nZUZsYWdzOjpMYXllckdlb21l
dHJ5IH0pOwogICAgICAgICAgICAgICAgIGlmIChTY3JvbGxpbmdDb29yZGluYXRvciogc2Nyb2xs
aW5nQ29vcmRpbmF0b3IgPSB0aGlzLT5zY3JvbGxpbmdDb29yZGluYXRvcigpKQogICAgICAgICAg
ICAgICAgICAgICBzY3JvbGxpbmdDb29yZGluYXRvci0+ZnJhbWVWaWV3Um9vdExheWVyRGlkQ2hh
bmdlKG1fcmVuZGVyVmlldy5mcmFtZVZpZXcoKSk7CkBAIC0xMTUzLDcgKzExNTMsNyBAQCB2b2lk
IFJlbmRlckxheWVyQ29tcG9zaXRvcjo6cmVwYWludEluQ29tcG9zaXRlZEFuY2VzdG9yKFJlbmRl
ckxheWVyJiBsYXllciwgY29ucwogCiAgICAgLy8gVGhlIGNvbnRlbnRzIG9mIHRoaXMgbGF5ZXIg
bWF5IGJlIG1vdmluZyBmcm9tIGEgR3JhcGhpY3NMYXllciB0byB0aGUgd2luZG93LAogICAgIC8v
IHNvIHdlIG5lZWQgdG8gbWFrZSBzdXJlIHRoZSB3aW5kb3cgc3lzdGVtIHN5bmNocm9uaXplcyB0
aG9zZSBjaGFuZ2VzIG9uIHRoZSBzY3JlZW4uCi0gICAgaWYgKGNvbXBvc2l0ZWRBbmNlc3Rvci0+
aXNSb290TGF5ZXIoKSkKKyAgICBpZiAoY29tcG9zaXRlZEFuY2VzdG9yLT5pc1JlbmRlclZpZXdM
YXllcigpKQogICAgICAgICBtX3JlbmRlclZpZXcuZnJhbWVWaWV3KCkuc2V0TmVlZHNPbmVTaG90
RHJhd2luZ1N5bmNocm9uaXphdGlvbigpOwogfQogCkBAIC0xMjE4LDcgKzEyMTgsNyBAQCB2b2lk
IFJlbmRlckxheWVyQ29tcG9zaXRvcjo6Y29tcHV0ZUV4dGVudChjb25zdCBPdmVybGFwTWFwJiBv
dmVybGFwTWFwLCBjb25zdCBSZQogCiB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6YWRkVG9P
dmVybGFwTWFwKE92ZXJsYXBNYXAmIG92ZXJsYXBNYXAsIGNvbnN0IFJlbmRlckxheWVyJiBsYXll
ciwgT3ZlcmxhcEV4dGVudCYgZXh0ZW50KQogewotICAgIGlmIChsYXllci5pc1Jvb3RMYXllcigp
KQorICAgIGlmIChsYXllci5pc1JlbmRlclZpZXdMYXllcigpKQogICAgICAgICByZXR1cm47CiAK
ICAgICBjb21wdXRlRXh0ZW50KG92ZXJsYXBNYXAsIGxheWVyLCBleHRlbnQpOwpAQCAtMTI3Myw3
ICsxMjczLDcgQEAgdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OmFkZFRvT3ZlcmxhcE1hcFJl
Y3Vyc2l2ZShPdmVybGFwTWFwJiBvdmVybGFwTWFwLCBjb24KIAogdm9pZCBSZW5kZXJMYXllckNv
bXBvc2l0b3I6OmNvbXB1dGVDb21wb3NpdGluZ1JlcXVpcmVtZW50c0Zvck5hbWVkRmxvd0ZpeGVk
KFJlbmRlckxheWVyJiBsYXllciwgT3ZlcmxhcE1hcCYgb3ZlcmxhcE1hcCwgQ29tcG9zaXRpbmdT
dGF0ZSYgY2hpbGRTdGF0ZSwgYm9vbCYgbGF5ZXJzQ2hhbmdlZCwgYm9vbCYgYW55RGVzY2VuZGFu
dEhhczNEVHJhbnNmb3JtKQogewotICAgIGlmICghbGF5ZXIuaXNSb290TGF5ZXIoKSkKKyAgICBp
ZiAoIWxheWVyLmlzUmVuZGVyVmlld0xheWVyKCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIGlm
ICghbGF5ZXIucmVuZGVyZXIoKS52aWV3KCkuaGFzUmVuZGVyTmFtZWRGbG93VGhyZWFkcygpKQpA
QCAtMTMyMSw3ICsxMzIxLDcgQEAgdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OmNvbXB1dGVD
b21wb3NpdGluZ1JlcXVpcmVtZW50cyhSZW5kZXJMYXllciogYW5jZXN0b3IKICAgICBPdmVybGFw
RXh0ZW50IGxheWVyRXh0ZW50OwogICAgIC8vIFVzZSB0aGUgZmFjdCB0aGF0IHdlJ3JlIGNvbXBv
c2l0ZWQgYXMgYSBoaW50IHRvIGNoZWNrIGZvciBhbiBhbmltYXRpbmcgdHJhbnNmb3JtLgogICAg
IC8vIEZJWE1FOiBNYXliZSBuZWVkc1RvQmVDb21wb3NpdGVkKCkgc2hvdWxkIHJldHVybiBhIGJp
dG1hc2sgb2YgcmVhc29ucywgdG8gYXZvaWQgdGhlIG5lZWQgdG8gcmVjb21wdXRlIHRoaW5ncy4K
LSAgICBpZiAod2lsbEJlQ29tcG9zaXRlZCAmJiAhbGF5ZXIuaXNSb290TGF5ZXIoKSkKKyAgICBp
ZiAod2lsbEJlQ29tcG9zaXRlZCAmJiAhbGF5ZXIuaXNSZW5kZXJWaWV3TGF5ZXIoKSkKICAgICAg
ICAgbGF5ZXJFeHRlbnQuaGFzVHJhbnNmb3JtQW5pbWF0aW9uID0gaXNSdW5uaW5nVHJhbnNmb3Jt
QW5pbWF0aW9uKGxheWVyLnJlbmRlcmVyKCkpOwogCiAgICAgYm9vbCByZXNwZWN0VHJhbnNmb3Jt
cyA9ICFsYXllckV4dGVudC5oYXNUcmFuc2Zvcm1BbmltYXRpb247CkBAIC0xNDI2LDExICsxNDI2
LDExIEBAIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpjb21wdXRlQ29tcG9zaXRpbmdSZXF1
aXJlbWVudHMoUmVuZGVyTGF5ZXIqIGFuY2VzdG9yCiAgICAgICAgIH0KICAgICB9CiAKLSAgICBp
ZiAobGF5ZXIuaXNSb290TGF5ZXIoKSkKKyAgICBpZiAobGF5ZXIuaXNSZW5kZXJWaWV3TGF5ZXIo
KSkKICAgICAgICAgY29tcHV0ZUNvbXBvc2l0aW5nUmVxdWlyZW1lbnRzRm9yTmFtZWRGbG93Rml4
ZWQobGF5ZXIsIG92ZXJsYXBNYXAsIGNoaWxkU3RhdGUsIGxheWVyc0NoYW5nZWQsIGFueURlc2Nl
bmRhbnRIYXMzRFRyYW5zZm9ybSk7CiAKICAgICAvLyBJZiB3ZSBqdXN0IGVudGVyZWQgY29tcG9z
aXRpbmcgbW9kZSwgdGhlIHJvb3Qgd2lsbCBoYXZlIGJlY29tZSBjb21wb3NpdGVkIChhcyBsb25n
IGFzIGFjY2VsZXJhdGVkIGNvbXBvc2l0aW5nIGlzIGVuYWJsZWQpLgotICAgIGlmIChsYXllci5p
c1Jvb3RMYXllcigpKSB7CisgICAgaWYgKGxheWVyLmlzUmVuZGVyVmlld0xheWVyKCkpIHsKICAg
ICAgICAgaWYgKGluQ29tcG9zaXRpbmdNb2RlKCkgJiYgbV9oYXNBY2NlbGVyYXRlZENvbXBvc2l0
aW5nKQogICAgICAgICAgICAgd2lsbEJlQ29tcG9zaXRlZCA9IHRydWU7CiAgICAgfQpAQCAtMTQ0
Miw3ICsxNDQyLDcgQEAgdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OmNvbXB1dGVDb21wb3Np
dGluZ1JlcXVpcmVtZW50cyhSZW5kZXJMYXllciogYW5jZXN0b3IKICAgICAvLyBjb21wb3NpdGlu
ZyBhbmNlc3RvcidzIGJhY2tpbmcsIGFuZCBzbyBhcmUgc3RpbGwgY29uc2lkZXJlZCBmb3Igb3Zl
cmxhcC4KICAgICAvLyBGSVhNRTogV2hlbiBsYXllckV4dGVudCBoYXMgdGFrZW4gYW5pbWF0aW9u
IGJvdW5kcyBpbnRvIGFjY291bnQsIHdlIGFsc28ga25vdyB0aGF0IHRoZSBib3VuZHMKICAgICAv
LyBpbmNsdWRlIGRlc2NlbmRhbnRzLCBzbyB3ZSBkb24ndCBuZWVkIHRvIGFkZCB0aGVtIGFsbCB0
byB0aGUgb3ZlcmxhcCBtYXAuCi0gICAgaWYgKGNoaWxkU3RhdGUuY29tcG9zaXRpbmdBbmNlc3Rv
ciAmJiAhY2hpbGRTdGF0ZS5jb21wb3NpdGluZ0FuY2VzdG9yLT5pc1Jvb3RMYXllcigpKQorICAg
IGlmIChjaGlsZFN0YXRlLmNvbXBvc2l0aW5nQW5jZXN0b3IgJiYgIWNoaWxkU3RhdGUuY29tcG9z
aXRpbmdBbmNlc3Rvci0+aXNSZW5kZXJWaWV3TGF5ZXIoKSkKICAgICAgICAgYWRkVG9PdmVybGFw
TWFwKG92ZXJsYXBNYXAsIGxheWVyLCBsYXllckV4dGVudCk7CiAKICNpZiBFTkFCTEUoQ1NTX0NP
TVBPU0lUSU5HKQpAQCAtMTQ5NywxMyArMTQ5NywxMyBAQCB2b2lkIFJlbmRlckxheWVyQ29tcG9z
aXRvcjo6Y29tcHV0ZUNvbXBvc2l0aW5nUmVxdWlyZW1lbnRzKFJlbmRlckxheWVyKiBhbmNlc3Rv
cgogICAgICAgICBjb21wb3NpdGluZ1N0YXRlLmhhc05vdElzb2xhdGVkQ29tcG9zaXRlZEJsZW5k
aW5nRGVzY2VuZGFudHMgPSB0cnVlOwogI2VuZGlmCiAKLSAgICBpZiAoY2hpbGRTdGF0ZS5jb21w
b3NpdGluZ0FuY2VzdG9yID09ICZsYXllciAmJiAhbGF5ZXIuaXNSb290TGF5ZXIoKSkKKyAgICBp
ZiAoY2hpbGRTdGF0ZS5jb21wb3NpdGluZ0FuY2VzdG9yID09ICZsYXllciAmJiAhbGF5ZXIuaXNS
ZW5kZXJWaWV3TGF5ZXIoKSkKICAgICAgICAgb3ZlcmxhcE1hcC5wb3BDb21wb3NpdGluZ0NvbnRh
aW5lcigpOwogCiAgICAgLy8gSWYgd2UncmUgYmFjayBhdCB0aGUgcm9vdCwgYW5kIG5vIG90aGVy
IGxheWVycyBuZWVkIHRvIGJlIGNvbXBvc2l0ZWQsIGFuZCB0aGUgcm9vdCBsYXllciBpdHNlbGYg
ZG9lc24ndCBuZWVkCiAgICAgLy8gdG8gYmUgY29tcG9zaXRlZCwgdGhlbiB3ZSBjYW4gZHJvcCBv
dXQgb2YgY29tcG9zaXRpbmcgbW9kZSBhbHRvZ2V0aGVyLiBIb3dldmVyLCBkb24ndCBkcm9wIG91
dCBvZiBjb21wb3NpdGluZyBtb2RlCiAgICAgLy8gaWYgdGhlcmUgYXJlIGNvbXBvc2l0ZWQgbGF5
ZXJzIHRoYXQgd2UgZGlkbid0IGhpdCBpbiBvdXIgdHJhdmVyc2FsIChlLmcuIGJlY2F1c2Ugb2Yg
dmlzaWJpbGl0eTpoaWRkZW4pLgotICAgIGlmIChsYXllci5pc1Jvb3RMYXllcigpICYmICFjaGls
ZFN0YXRlLnN1YnRyZWVJc0NvbXBvc2l0aW5nICYmICFyZXF1aXJlc0NvbXBvc2l0aW5nTGF5ZXIo
bGF5ZXIpICYmICFtX2ZvcmNlQ29tcG9zaXRpbmdNb2RlICYmICFoYXNBbnlBZGRpdGlvbmFsQ29t
cG9zaXRlZExheWVycyhsYXllcikpIHsKKyAgICBpZiAobGF5ZXIuaXNSZW5kZXJWaWV3TGF5ZXIo
KSAmJiAhY2hpbGRTdGF0ZS5zdWJ0cmVlSXNDb21wb3NpdGluZyAmJiAhcmVxdWlyZXNDb21wb3Np
dGluZ0xheWVyKGxheWVyKSAmJiAhbV9mb3JjZUNvbXBvc2l0aW5nTW9kZSAmJiAhaGFzQW55QWRk
aXRpb25hbENvbXBvc2l0ZWRMYXllcnMobGF5ZXIpKSB7CiAgICAgICAgIC8vIERvbid0IGRyb3Ag
b3V0IG9mIGNvbXBvc2l0aW5nIG9uIGlPUywgYmVjYXVzZSB3ZSBtYXkgZmxhc2guIFNlZSA8cmRh
cjovL3Byb2JsZW0vODM0ODMzNz4uCiAjaWYgIVBMQVRGT1JNKElPUykKICAgICAgICAgZW5hYmxl
Q29tcG9zaXRpbmdNb2RlKGZhbHNlKTsKQEAgLTE1ODMsNyArMTU4Myw3IEBAIGJvb2wgUmVuZGVy
TGF5ZXJDb21wb3NpdG9yOjpjYW5BY2NlbGVyYXRlVmlkZW9SZW5kZXJpbmcoUmVuZGVyVmlkZW8m
IHZpZGVvKSBjb25zCiAKIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpyZWJ1aWxkQ29tcG9z
aXRpbmdMYXllclRyZWVGb3JOYW1lZEZsb3dGaXhlZChSZW5kZXJMYXllciYgbGF5ZXIsIFZlY3Rv
cjxHcmFwaGljc0xheWVyKj4mIGNoaWxkR3JhcGhpY3NMYXllcnNPZkVuY2xvc2luZ0xheWVyLCBp
bnQgZGVwdGgpCiB7Ci0gICAgaWYgKCFsYXllci5pc1Jvb3RMYXllcigpKQorICAgIGlmICghbGF5
ZXIuaXNSZW5kZXJWaWV3TGF5ZXIoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKCFsYXll
ci5yZW5kZXJlcigpLnZpZXcoKS5oYXNSZW5kZXJOYW1lZEZsb3dUaHJlYWRzKCkpCkBAIC0xNjY5
LDcgKzE2NjksNyBAQCB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6cmVidWlsZENvbXBvc2l0
aW5nTGF5ZXJUcmVlKFJlbmRlckxheWVyJiBsYXllciwgVmVjdAogICAgICAgICB9CiAgICAgfQog
Ci0gICAgaWYgKGxheWVyLmlzUm9vdExheWVyKCkpCisgICAgaWYgKGxheWVyLmlzUmVuZGVyVmll
d0xheWVyKCkpCiAgICAgICAgIHJlYnVpbGRDb21wb3NpdGluZ0xheWVyVHJlZUZvck5hbWVkRmxv
d0ZpeGVkKGxheWVyLCBjaGlsZExpc3QsIGRlcHRoICsgMSk7CiAKICAgICBpZiAobGF5ZXJCYWNr
aW5nKSB7CkBAIC0yMTYyLDcgKzIxNjIsNyBAQCBib29sIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6
bmVlZHNUb0JlQ29tcG9zaXRlZChjb25zdCBSZW5kZXJMYXllciYgbGF5ZXIsIFJlbmRlcgogICAg
IGlmICghY2FuQmVDb21wb3NpdGVkKGxheWVyKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0g
ICAgcmV0dXJuIHJlcXVpcmVzQ29tcG9zaXRpbmdMYXllcihsYXllciwgdmlld3BvcnRDb25zdHJh
aW5lZE5vdENvbXBvc2l0ZWRSZWFzb24pIHx8IGxheWVyLm11c3RDb21wb3NpdGVGb3JJbmRpcmVj
dFJlYXNvbnMoKSB8fCAoaW5Db21wb3NpdGluZ01vZGUoKSAmJiBsYXllci5pc1Jvb3RMYXllcigp
KTsKKyAgICByZXR1cm4gcmVxdWlyZXNDb21wb3NpdGluZ0xheWVyKGxheWVyLCB2aWV3cG9ydENv
bnN0cmFpbmVkTm90Q29tcG9zaXRlZFJlYXNvbikgfHwgbGF5ZXIubXVzdENvbXBvc2l0ZUZvcklu
ZGlyZWN0UmVhc29ucygpIHx8IChpbkNvbXBvc2l0aW5nTW9kZSgpICYmIGxheWVyLmlzUmVuZGVy
Vmlld0xheWVyKCkpOwogfQogCiAvLyBOb3RlOiB0aGlzIHNwZWNpZmllcyB3aGV0aGVyIHRoZSBS
TCBuZWVkcyBhIGNvbXBvc2l0aW5nIGxheWVyIGZvciBpbnRyaW5zaWMgcmVhc29ucy4KQEAgLTIy
MTYsNyArMjIxNiw3IEBAIGJvb2wgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpyZXF1aXJlc093bkJh
Y2tpbmdTdG9yZShjb25zdCBSZW5kZXJMYXllciYgbGF5ZXIsIGNvCiAgICAgICAgICAgICB8fCBj
b21wb3NpdGluZ0FuY2VzdG9yTGF5ZXItPmJhY2tpbmcoKS0+cGFpbnRzSW50b0NvbXBvc2l0ZWRB
bmNlc3RvcigpKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKLSAgICBpZiAobGF5ZXIuaXNSb290
TGF5ZXIoKQorICAgIGlmIChsYXllci5pc1JlbmRlclZpZXdMYXllcigpCiAgICAgICAgIHx8IGxh
eWVyLnRyYW5zZm9ybSgpIC8vIG5vdGU6IGV4Y2x1ZGVzIHBlcnNwZWN0aXZlIGFuZCB0cmFuc2Zv
cm1TdHlsZTNELgogICAgICAgICB8fCByZXF1aXJlc0NvbXBvc2l0aW5nRm9yQW5pbWF0aW9uKHJl
bmRlcmVyKQogICAgICAgICB8fCByZXF1aXJlc0NvbXBvc2l0aW5nRm9yUG9zaXRpb24ocmVuZGVy
ZXIsIGxheWVyKQpAQCAtMjIyOCwxNSArMjIyOCwxNCBAQCBib29sIFJlbmRlckxheWVyQ29tcG9z
aXRvcjo6cmVxdWlyZXNPd25CYWNraW5nU3RvcmUoY29uc3QgUmVuZGVyTGF5ZXImIGxheWVyLCBj
bwogICAgICAgICB8fCByZXF1aXJlc0NvbXBvc2l0aW5nRm9yRnJhbWUocmVuZGVyZXIpCiAgICAg
ICAgIHx8IHJlcXVpcmVzQ29tcG9zaXRpbmdGb3JQbHVnaW4ocmVuZGVyZXIpCiAgICAgICAgIHx8
IHJlcXVpcmVzQ29tcG9zaXRpbmdGb3JPdmVyZmxvd1Njcm9sbGluZyhsYXllcikKKyNpZiBQTEFU
Rk9STShJT1MpCisgICAgICAgIHx8IHJlcXVpcmVzQ29tcG9zaXRpbmdGb3JTY3JvbGxpbmcobGF5
ZXIpCisjZW5kaWYKICAgICAgICAgfHwgcmVuZGVyZXIuaXNUcmFuc3BhcmVudCgpCiAgICAgICAg
IHx8IHJlbmRlcmVyLmhhc01hc2soKQogICAgICAgICB8fCByZW5kZXJlci5oYXNSZWZsZWN0aW9u
KCkKICAgICAgICAgfHwgcmVuZGVyZXIuaGFzRmlsdGVyKCkKLSAgICAgICAgfHwgcmVuZGVyZXIu
aGFzQmFja2Ryb3BGaWx0ZXIoKQotI2lmIFBMQVRGT1JNKElPUykKLSAgICAgICAgfHwgcmVxdWly
ZXNDb21wb3NpdGluZ0ZvclNjcm9sbGluZyhsYXllcikKLSNlbmRpZgotICAgICAgICApCisgICAg
ICAgIHx8IHJlbmRlcmVyLmhhc0JhY2tkcm9wRmlsdGVyKCkpCiAgICAgICAgIHJldHVybiB0cnVl
OwogCiAgICAgaWYgKGxheWVyLm11c3RDb21wb3NpdGVGb3JJbmRpcmVjdFJlYXNvbnMoKSkgewpA
QCAtMjM0NSw3ICsyMzQ0LDcgQEAgT3B0aW9uU2V0PENvbXBvc2l0aW5nUmVhc29uPiBSZW5kZXJM
YXllckNvbXBvc2l0b3I6OnJlYXNvbnNGb3JDb21wb3NpdGluZyhjb25zdAogICAgICAgICBicmVh
azsKICAgICB9CiAKLSAgICBpZiAoaW5Db21wb3NpdGluZ01vZGUoKSAmJiByZW5kZXJlci5sYXll
cigpLT5pc1Jvb3RMYXllcigpKQorICAgIGlmIChpbkNvbXBvc2l0aW5nTW9kZSgpICYmIHJlbmRl
cmVyLmxheWVyKCktPmlzUmVuZGVyVmlld0xheWVyKCkpCiAgICAgICAgIHJlYXNvbnMgfD0gQ29t
cG9zaXRpbmdSZWFzb246OlJvb3Q7CiAKICAgICByZXR1cm4gcmVhc29uczsKQEAgLTI3NTMsNyAr
Mjc1Miw3IEBAIGJvb2wgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjppc1ZpZXdwb3J0Q29uc3RyYWlu
ZWRGaXhlZE9yU3RpY2t5TGF5ZXIoY29uc3QgUmVuZGVyCiAKIGJvb2wgUmVuZGVyTGF5ZXJDb21w
b3NpdG9yOjp1c2VDb29yZGluYXRlZFNjcm9sbGluZ0ZvckxheWVyKGNvbnN0IFJlbmRlckxheWVy
JiBsYXllcikgY29uc3QKIHsKLSAgICBpZiAobGF5ZXIuaXNSb290TGF5ZXIoKSAmJiBoYXNDb29y
ZGluYXRlZFNjcm9sbGluZygpKQorICAgIGlmIChsYXllci5pc1JlbmRlclZpZXdMYXllcigpICYm
IGhhc0Nvb3JkaW5hdGVkU2Nyb2xsaW5nKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCiAgICAg
cmV0dXJuIGxheWVyLnVzZXNBY2NlbGVyYXRlZFNjcm9sbGluZygpOwpAQCAtMjkyMiw3ICsyOTIx
LDcgQEAgYm9vbCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnN1cHBvcnRzRml4ZWRSb290QmFja2dy
b3VuZENvbXBvc2l0aW5nKCkgY29uc3QKIAogYm9vbCBSZW5kZXJMYXllckNvbXBvc2l0b3I6Om5l
ZWRzRml4ZWRSb290QmFja2dyb3VuZExheWVyKGNvbnN0IFJlbmRlckxheWVyJiBsYXllcikgY29u
c3QKIHsKLSAgICBpZiAoIWxheWVyLmlzUm9vdExheWVyKCkpCisgICAgaWYgKCFsYXllci5pc1Jl
bmRlclZpZXdMYXllcigpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBpZiAobV9yZW5k
ZXJWaWV3LnNldHRpbmdzKCkuZml4ZWRCYWNrZ3JvdW5kc1BhaW50UmVsYXRpdmVUb0RvY3VtZW50
KCkpCkBAIC0zODkzLDkgKzM4OTIsOSBAQCB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6dXBk
YXRlU2Nyb2xsQ29vcmRpbmF0ZWRMYXllcihSZW5kZXJMYXllciYgbGF5ZXIsIExheQogICAgIGlm
ICghc2Nyb2xsaW5nQ29vcmRpbmF0b3IgfHwgIXNjcm9sbGluZ0Nvb3JkaW5hdG9yLT5jb29yZGlu
YXRlc1Njcm9sbGluZ0ZvckZyYW1lVmlldyhtX3JlbmRlclZpZXcuZnJhbWVWaWV3KCkpKQogICAg
ICAgICByZXR1cm47CiAKLSAgICBib29sIGlzUm9vdExheWVyID0gbGF5ZXIuaXNSb290TGF5ZXIo
KTsKKyAgICBib29sIGlzUmVuZGVyVmlld0xheWVyID0gbGF5ZXIuaXNSZW5kZXJWaWV3TGF5ZXIo
KTsKIAotICAgIGlmICghbGF5ZXIucGFyZW50KCkgJiYgIWlzUm9vdExheWVyKQorICAgIGlmICgh
bGF5ZXIucGFyZW50KCkgJiYgIWlzUmVuZGVyVmlld0xheWVyKQogICAgICAgICByZXR1cm47CiAK
ICAgICBBU1NFUlQobV9zY3JvbGxDb29yZGluYXRlZExheWVycy5jb250YWlucygmbGF5ZXIpKTsK
QEAgLTM5MTEsMTIgKzM5MTAsMTIgQEAgdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnVwZGF0
ZVNjcm9sbENvb3JkaW5hdGVkTGF5ZXIoUmVuZGVyTGF5ZXImIGxheWVyLCBMYXkKICAgICAgICAg
ICAgIHJldHVybjsKIAogICAgICAgICB1cGRhdGVTY3JvbGxDb29yZGluYXRpb25Gb3JUaGlzRnJh
bWUocGFyZW50RG9jdW1lbnRIb3N0aW5nTm9kZUlEKTsKLSAgICAgICAgaWYgKCEocmVhc29ucyAm
IFZpZXdwb3J0Q29uc3RyYWluZWQpICYmIGlzUm9vdExheWVyKQorICAgICAgICBpZiAoIShyZWFz
b25zICYgVmlld3BvcnRDb25zdHJhaW5lZCkgJiYgaXNSZW5kZXJWaWV3TGF5ZXIpCiAgICAgICAg
ICAgICByZXR1cm47CiAgICAgfQogCiAgICAgU2Nyb2xsaW5nTm9kZUlEIHBhcmVudE5vZGVJRCA9
IGVuY2xvc2luZ1Njcm9sbGluZ05vZGVJRChsYXllciwgRXhjbHVkZVNlbGYpOwotICAgIGlmICgh
cGFyZW50Tm9kZUlEICYmICFpc1Jvb3RMYXllcikKKyAgICBpZiAoIXBhcmVudE5vZGVJRCAmJiAh
aXNSZW5kZXJWaWV3TGF5ZXIpCiAgICAgICAgIHJldHVybjsKIAogICAgIC8vIEFsd2F5cyBjYWxs
IHRoaXMgZXZlbiBpZiB0aGUgYmFja2luZyBpcyBhbHJlYWR5IGF0dGFjaGVkIGJlY2F1c2UgdGhl
IHBhcmVudCBtYXkgaGF2ZSBjaGFuZ2VkLgpAQCAtMzk1OCw3ICszOTU3LDcgQEAgdm9pZCBSZW5k
ZXJMYXllckNvbXBvc2l0b3I6OnVwZGF0ZVNjcm9sbENvb3JkaW5hdGVkTGF5ZXIoUmVuZGVyTGF5
ZXImIGxheWVyLCBMYXkKICAgICAgICAgZGV0YWNoU2Nyb2xsQ29vcmRpbmF0ZWRMYXllcihsYXll
ciwgVmlld3BvcnRDb25zdHJhaW5lZCk7CiAgICAgICAgIAogICAgIGlmIChyZWFzb25zICYgU2Ny
b2xsaW5nKSB7Ci0gICAgICAgIGlmIChpc1Jvb3RMYXllcikKKyAgICAgICAgaWYgKGlzUmVuZGVy
Vmlld0xheWVyKQogICAgICAgICAgICAgdXBkYXRlU2Nyb2xsQ29vcmRpbmF0aW9uRm9yVGhpc0Zy
YW1lKHBhcmVudE5vZGVJRCk7CiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgU2Nyb2xsaW5n
Tm9kZVR5cGUgbm9kZVR5cGUgPSBPdmVyZmxvd1Njcm9sbGluZ05vZGU7Cg==
</data>
<flag name="review"
          id="340519"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>