<?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>70559</bug_id>
          
          <creation_ts>2011-10-20 15:48:28 -0700</creation_ts>
          <short_desc>[Chromium] Implement Viewport Meta tag and Fixed Layout</short_desc>
          <delta_ts>2013-04-11 11:46:32 -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>WebKit API</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>64290</dependson>
    
    <dependson>70561</dependson>
    
    <dependson>70562</dependson>
    
    <dependson>74014</dependson>
    
    <dependson>77433</dependson>
    
    <dependson>45652</dependson>
    
    <dependson>68617</dependson>
    
    <dependson>69136</dependson>
    
    <dependson>70459</dependson>
    
    <dependson>70507</dependson>
    
    <dependson>70519</dependson>
    
    <dependson>70552</dependson>
    
    <dependson>70553</dependson>
    
    <dependson>70555</dependson>
    
    <dependson>70556</dependson>
    
    <dependson>70558</dependson>
    
    <dependson>70609</dependson>
    
    <dependson>70614</dependson>
    
    <dependson>70632</dependson>
    
    <dependson>71198</dependson>
    
    <dependson>71485</dependson>
    
    <dependson>71622</dependson>
    
    <dependson>72176</dependson>
    
    <dependson>72983</dependson>
    
    <dependson>73495</dependson>
    
    <dependson>74155</dependson>
    
    <dependson>75556</dependson>
    
    <dependson>75601</dependson>
    
    <dependson>77429</dependson>
    
    <dependson>77431</dependson>
    
    <dependson>77435</dependson>
    
    <dependson>77436</dependson>
    
    <dependson>80554</dependson>
    
    <dependson>81940</dependson>
    
    <dependson>82757</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Fady Samuel">fsamuel</reporter>
          <assigned_to name="Fady Samuel">fsamuel</assigned_to>
          <cc>abarth</cc>
    
    <cc>fishd</cc>
    
    <cc>johnme</cc>
    
    <cc>kenneth</cc>
    
    <cc>paulirish</cc>
    
    <cc>peter</cc>
    
    <cc>rjkroege</cc>
    
    <cc>schenney</cc>
    
    <cc>siraj</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>487951</commentid>
    <comment_count>0</comment_count>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-10-20 15:48:28 -0700</bug_when>
    <thetext>Master bug to track progress and related issues</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>488397</commentid>
    <comment_count>1</comment_count>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-10-21 08:21:59 -0700</bug_when>
    <thetext>(In reply to comment #0)
&gt; Master bug to track progress and related issues

Links of interest (I may refer to this pages in the future in during code reviews):


http://quirksmode.org/mobile/tableViewport.html
http://mobilehtml5.org/
http://www.w3.org/TR/CSS21/syndata.html#pixel-units
http://developer.android.com/guide/webapps/targeting.html
http://dev.w3.org/csswg/css-device-adapt/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490427</commentid>
    <comment_count>2</comment_count>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-10-25 15:45:19 -0700</bug_when>
    <thetext>*** Bug 67859 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495819</commentid>
    <comment_count>3</comment_count>
      <attachid>113566</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-11-03 15:26:51 -0700</bug_when>
    <thetext>Created attachment 113566
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495821</commentid>
    <comment_count>4</comment_count>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-11-03 15:29:04 -0700</bug_when>
    <thetext>I&apos;ve uploaded a patch of the changes I have locally for reference and discussion only, and not for review. I&apos;m working on a web page with a series of viewport tests that can be run on any device with an internet connection. Will be available with detailed descriptions of what they&apos;re testing within a few days. 

Chromium render side fo the changes can be found here: http://codereview.chromium.org/7831028</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113566</attachid>
            <date>2011-11-03 15:26:51 -0700</date>
            <delta_ts>2011-11-03 15:26:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70559-20111103182649.patch</filename>
            <type>text/plain</type>
            <size>26456</size>
            <attacher name="Fady Samuel">fsamuel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTkyMTgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBjYjE2ZTU4NWY1ZGU1MGE2
ZGE4NGU4NjgyNzdhODMxZDA4Mzc3Mjk5Li44ZTQ4MTM5YzUzNDNjNTY5YTIxN2Y2NmYxNGI5OWFl
YWUzYzViMjZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMTEtMTEtMDMgIEZhZHkg
U2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW0Nocm9taXVtXSBJbXBs
ZW1lbnQgVmlld3BvcnQgTWV0YSB0YWcgYW5kIEZpeGVkIExheW91dAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1NTkKKworICAgICAgICBXb3JrLWlu
LXByb2dyZXNzLiBGb3IgcmVmZXJlbmNlIG9ubHkuIE5vdCBmb3IgcmV2aWV3LgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyB5ZXQu
IFdvcmtpbmcgb24gdGVzdHMgbG9jYWxseS4gV2lsbCB1cGxvYWQgc2hvcnRseS4gCisKKyAgICAg
ICAgKiBwYWdlL0Nocm9tZUNsaWVudC5oOgorICAgICAgICAqIHBhZ2UvRnJhbWVUcmVlLmNwcDoK
KyAgICAgICAgKiBwYWdlL1BhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6c2V0UGFn
ZVNjYWxlRmFjdG9yKToKKyAgICAgICAgKiBwYWdlL1NjcmVlbi5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpTY3JlZW46OmRwaSk6CisgICAgICAgICogcGFnZS9TY3JlZW4uaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9QbGF0Zm9ybVNjcmVlbi5oOgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1Bs
YXRmb3JtU2NyZWVuQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2NyZWVuRHBpKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybVN1cHBvcnQuaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9lZmwvUGxhdGZvcm1TY3JlZW5FZmwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
c2NyZWVuRHBpKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvUGxhdGZvcm1TY3JlZW5HdGsuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6c2NyZWVuRHBpKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMv
UGxhdGZvcm1TY3JlZW5NYWMubW06CisgICAgICAgIChXZWJDb3JlOjpzY3JlZW5EcGkpOgorICAg
ICAgICAqIHBsYXRmb3JtL3F0L1BsYXRmb3JtU2NyZWVuUXQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6c2NyZWVuRHBpKToKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vUGxhdGZvcm1TY3JlZW5XaW4u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6c2NyZWVuRHBpKToKKwogMjAxMS0xMS0wMyAgSm9zaHVh
IEJlbGwgIDxqc2JlbGxAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEluZGV4ZWREQjogT2JqZWN0
IHN0b3JlcyBub3QgcGVyc2lzdGluZyBiZXR3ZWVuIHNlc3Npb25zCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nCmluZGV4IDAxYzYzODllODU4NDUxNDZkNWZmYjlkY2Q5NTEyZjgyMDY5MjI5ZTAuLmMz
MWJiMzVlOTZjZjg0YWRhZDYxYmI4ODZmNmYyYmM1ZjMyYjAwMjQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nCkBAIC0xLDUgKzEsMzUgQEAKIDIwMTEtMTEtMDMgIEZhZHkgU2FtdWVsICA8ZnNh
bXVlbEBjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgW0Nocm9taXVtXSBJbXBsZW1lbnQgVmlld3Bv
cnQgTWV0YSB0YWcgYW5kIEZpeGVkIExheW91dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1NTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIHB1YmxpYy9XZWJTY3JlZW5JbmZvLmg6CisgICAgICAgIChX
ZWJLaXQ6OldlYlNjcmVlbkluZm86OldlYlNjcmVlbkluZm8pOgorICAgICAgICAqIHB1YmxpYy9X
ZWJWaWV3Lmg6CisgICAgICAgICogcHVibGljL1dlYlZpZXdDbGllbnQuaDoKKyAgICAgICAgKFdl
YktpdDo6V2ViVmlld0NsaWVudDo6ZGlkUmVjZWl2ZVZpZXdwb3J0KToKKyAgICAgICAgKFdlYktp
dDo6V2ViVmlld0NsaWVudDo6Z2V0RGVmYXVsdEZpeGVkTGF5b3V0V2lkdGgpOgorICAgICAgICAq
IHB1YmxpYy9XZWJWaWV3cG9ydC5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9jaHJvbWl1bS9QbGF0Zm9ybVNjcmVlbkNocm9taXVtLmNwcC4KKyAgICAgICAgKFdlYktpdDo6
V2ViVmlld3BvcnQ6OldlYlZpZXdwb3J0KToKKyAgICAgICAgKiBzcmMvQ2hyb21lQ2xpZW50SW1w
bC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNocm9tZUNsaWVudEltcGw6OmRpc3BhdGNoVmlld3Bv
cnRQcm9wZXJ0aWVzRGlkQ2hhbmdlKToKKyAgICAgICAgKiBzcmMvQ2hyb21lQ2xpZW50SW1wbC5o
OgorICAgICAgICAqIHNyYy9QbGF0Zm9ybVN1cHBvcnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UGxhdGZvcm1TdXBwb3J0OjpzY3JlZW5EcGkpOgorICAgICAgICAqIHNyYy9XZWJWaWV3SW1wbC5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpyZXNpemUpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJWaWV3SW1wbDo6cGFnZVNjYWxlRmFjdG9yKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
Vmlld0ltcGw6OnNldFBhZ2VTY2FsZUZhY3Rvcik6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJ
bXBsOjpkZXZpY2VTY2FsZUZhY3Rvcik6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpz
ZXREZXZpY2VTY2FsZUZhY3Rvcik6CisgICAgICAgICogc3JjL1dlYlZpZXdJbXBsLmg6CisgICAg
ICAgICogc3JjL3gxMS9XZWJTY3JlZW5JbmZvRmFjdG9yeS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYlNjcmVlbkluZm9GYWN0b3J5OjpzY3JlZW5JbmZvKToKKworMjAxMS0xMS0wMyAgRmFkeSBT
YW11ZWwgIDxmc2FtdWVsQGNocm9taXVtLm9yZz4KKwogICAgICAgICBbQ2hyb21pdW1dIFJlZmFj
dG9yIFdlYkZyYW1lSW1wbDo6Y3JlYXRlRnJhbWVWaWV3KCkgdG8gdXNlIEZyYW1lOmNyZWF0ZVZp
ZXcKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTA3
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCmluZGV4IGNkZTdjNDJiMTlmNjJiYWQ5YTc3
ZTc3Y2EyYTU4NmJiNDE5ZTk2OTkuLjgzOTEyZWFiOGMyMGZkYzJjYmJkYmIyYzJlNGYyMzdlN2Uy
MDRkZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaApAQCAtMTc0LDYgKzE3NCw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCB2b2lkIG1pc3NpbmdQbHVnaW5C
dXR0b25DbGlja2VkKEVsZW1lbnQqKSBjb25zdCB7IH0KICAgICAgICAgdmlydHVhbCB2b2lkIG1v
dXNlRGlkTW92ZU92ZXJFbGVtZW50KGNvbnN0IEhpdFRlc3RSZXN1bHQmLCB1bnNpZ25lZCBtb2Rp
ZmllckZsYWdzKSA9IDA7CiAKKwogICAgICAgICB2aXJ0dWFsIHZvaWQgc2V0VG9vbFRpcChjb25z
dCBTdHJpbmcmLCBUZXh0RGlyZWN0aW9uKSA9IDA7CiAKICAgICAgICAgdmlydHVhbCB2b2lkIHBy
aW50KEZyYW1lKikgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVRy
ZWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVRyZWUuY3BwCmluZGV4IDg0NTRjNzc2
M2FiN2RmMzJhM2ZmYzFkMGU2YWFhMGEzNWM0NTQxNjkuLmJiNjNlYTNlZDAzYWMwOGJjNTdmMDU2
ZDJlOWVjOTNlODQwMGVhMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVU
cmVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVHJlZS5jcHAKQEAgLTIxLDYg
KzIxLDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJGcmFtZVRyZWUuaCIKIAor
I2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJGcmFt
ZVZpZXcuaCIKICNpbmNsdWRlICJQYWdlLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAppbmRleCA4YmJkZWM5
NGQ4YzBjNzUxNDQwMTY4OTBhODVhMzViYzMyYzZiYTg5Li41YTFlZjM4YzYwMDZkZTYyMGU4MzM0
MjAzMzJiYWZhMDM0ZTg2NzUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKQEAgLTYyNSwxMSArNjI1LDEy
IEBAIHZvaWQgUGFnZTo6c2V0UGFnZVNjYWxlRmFjdG9yKGZsb2F0IHNjYWxlLCBjb25zdCBMYXlv
dXRQb2ludCYgb3JpZ2luKQogICAgICAgICByZXR1cm47CiAKICAgICBEb2N1bWVudCogZG9jdW1l
bnQgPSBtYWluRnJhbWUoKS0+ZG9jdW1lbnQoKTsKLQogICAgIG1fcGFnZVNjYWxlRmFjdG9yID0g
c2NhbGU7CiAKLSAgICBpZiAoZG9jdW1lbnQtPnJlbmRlcmVyKCkpCisgICAgaWYgKGRvY3VtZW50
LT5yZW5kZXJlcigpKSB7CisgICAgICAgIHByaW50ZigiUGFnZTo6c2V0UGFnZVNjYWxlRmFjdG9y
IHNldE5lZWRzTGF5b3V0XG4iKTsKICAgICAgICAgZG9jdW1lbnQtPnJlbmRlcmVyKCktPnNldE5l
ZWRzTGF5b3V0KHRydWUpOworICAgIH0KIAogICAgIGRvY3VtZW50LT5yZWNhbGNTdHlsZShOb2Rl
OjpGb3JjZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2NyZWVuLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2NyZWVuLmNwcAppbmRleCBiZGRjMDMwZjllZmViYmZmZjMw
NGJkNDgxMjA3NWM4ODFhZjgxODRmLi40ZDU4YzVlMDZhZjcxODVmODA2MjVhNjQzNWM0ZTYyMzk1
NzViZTI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NjcmVlbi5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9TY3JlZW4uY3BwCkBAIC01Myw2ICs1MywxMyBAQCB2b2lkIFNj
cmVlbjo6ZGlzY29ubmVjdEZyYW1lKCkKICAgICBtX2ZyYW1lID0gMDsKIH0KIAordW5zaWduZWQg
U2NyZWVuOjpkcGkoKSBjb25zdAoreworICAgIGlmICghbV9mcmFtZSkKKyAgICAgICAgcmV0dXJu
IDA7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PHVuc2lnbmVkPihzY3JlZW5EcGkobV9mcmFtZS0+
dmlldygpKSk7Cit9CisKIHVuc2lnbmVkIFNjcmVlbjo6aGVpZ2h0KCkgY29uc3QKIHsKICAgICBp
ZiAoIW1fZnJhbWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NjcmVlbi5oIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9TY3JlZW4uaAppbmRleCA1NzE2ZDQ2MWQxMTJiZThkM2FhMGM3
YjdmZmYyMGIzODUyMWQxNDA1Li4wNGZhNDg3ZGJhMTY3ZDRlYzFhZTQwMTM5ZjhmMjJhYTYxMDM5
YjJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NjcmVlbi5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvU2NyZWVuLmgKQEAgLTQzLDcgKzQzLDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiAgICAgICAgIEZyYW1lKiBmcmFtZSgpIGNvbnN0OwogICAgICAgICB2b2lkIGRpc2Nv
bm5lY3RGcmFtZSgpOwotCisgICAgICAgIAorICAgICAgICB1bnNpZ25lZCBkcGkoKSBjb25zdDsK
ICAgICAgICAgdW5zaWduZWQgaGVpZ2h0KCkgY29uc3Q7CiAgICAgICAgIHVuc2lnbmVkIHdpZHRo
KCkgY29uc3Q7CiAgICAgICAgIHVuc2lnbmVkIGNvbG9yRGVwdGgoKSBjb25zdDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtU2NyZWVuLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVNjcmVlbi5oCmluZGV4IDlkMzA1OGM1OWIwZWM3YjJlZTJj
YTA1ZDI1MjgyNzUyZDZhYThkN2UuLmRjMzQ1NDZiMjMwYmRkYWVmOWM0ZWVkNTc4ZGMyMTkyYWIx
N2Y4ODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtU2NyZWVu
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1TY3JlZW4uaApAQCAtNDcs
NiArNDcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgRmxvYXRSZWN0OwogICAg
IGNsYXNzIFdpZGdldDsKIAorICAgIGludCBzY3JlZW5EcGkoV2lkZ2V0Kik7CiAgICAgaW50IHNj
cmVlbkRlcHRoKFdpZGdldCopOwogICAgIGludCBzY3JlZW5EZXB0aFBlckNvbXBvbmVudChXaWRn
ZXQqKTsKICAgICBib29sIHNjcmVlbklzTW9ub2Nocm9tZShXaWRnZXQqKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtU2NyZWVuQ2hyb21pdW0u
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUGxhdGZvcm1TY3JlZW5DaHJv
bWl1bS5jcHAKaW5kZXggYTdhNzgxMWQ3OTU0MDU0ZmU4NjM4NTI0NDEzYzE2MGFkNzk4ZGUzZC4u
NDE2MWViNjlkY2U5NjNjMzIxYzU5Y2NmNGQ4YjFiOTJjZTQ0OTMyNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUGxhdGZvcm1TY3JlZW5DaHJvbWl1bS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUGxhdGZvcm1TY3JlZW5DaHJv
bWl1bS5jcHAKQEAgLTM2LDYgKzM2LDExIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAoraW50
IHNjcmVlbkRwaShXaWRnZXQqIHdpZGdldCkKK3sKKyAgICByZXR1cm4gUGxhdGZvcm1TdXBwb3J0
OjpzY3JlZW5EcGkod2lkZ2V0KTsKK30KKwogaW50IHNjcmVlbkRlcHRoKFdpZGdldCogd2lkZ2V0
KQogewogICAgIHJldHVybiBQbGF0Zm9ybVN1cHBvcnQ6OnNjcmVlbkRlcHRoKHdpZGdldCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybVN1cHBv
cnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtU3VwcG9ydC5o
CmluZGV4IDAzMmZlNmE2YzQ2ZmQ4OGQ2ZTliNTczNDI5NzA5ZDA3MGZjYzQzODQuLjIxYzRhOTll
ZjhhOTg2Mzc0YjQ4NThiYmExOTllMzdhYTYzNjFjZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtU3VwcG9ydC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtU3VwcG9ydC5oCkBAIC0yMzIsNiArMjMyLDcg
QEAgcHVibGljOgogICAgIHN0YXRpYyBib29sIHNhbmRib3hFbmFibGVkKCk7CiAKICAgICAvLyBT
Y3JlZW4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQorICAgIHN0YXRpYyBpbnQgc2NyZWVuRHBpKFdpZGdldCopOwogICAgIHN0YXRp
YyBpbnQgc2NyZWVuRGVwdGgoV2lkZ2V0Kik7CiAgICAgc3RhdGljIGludCBzY3JlZW5EZXB0aFBl
ckNvbXBvbmVudChXaWRnZXQqKTsKICAgICBzdGF0aWMgYm9vbCBzY3JlZW5Jc01vbm9jaHJvbWUo
V2lkZ2V0Kik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvUGxhdGZv
cm1TY3JlZW5FZmwuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL1BsYXRmb3JtU2Ny
ZWVuRWZsLmNwcAppbmRleCAxMzc0OTQ1ZmI4MWRmMDM1NDllYmUzYmQwYWI1MDQ3NTFlODkxODc1
Li42ZDQ4YmM0NWQxNGM5ZTZhNTJkNDM0MDA2MGM1MTg5Y2ZiYmFiYWZhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvUGxhdGZvcm1TY3JlZW5FZmwuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9QbGF0Zm9ybVNjcmVlbkVmbC5jcHAKQEAgLTQzLDYg
KzQzLDEyIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAoraW50IHNjcmVlbkRwaShXaWRnZXQq
IHdpZGdldCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiAwOworfQorCiBp
bnQgc2NyZWVuRGVwdGgoV2lkZ2V0KiB3aWRnZXQpCiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9QbGF0Zm9ybVNjcmVlbkd0
ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUGxhdGZvcm1TY3JlZW5HdGsuY3Bw
CmluZGV4IDRlMGIyNWViZDY3ZTY2NDYxMjQ0NTFhNDYyOTkzNmNlODgxNjlkY2UuLmExMzZkMjVm
OGJhMTczNTQ5ZDZjOTk0NTA4MjY4ZDE2ZWQyY2E0NDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2d0ay9QbGF0Zm9ybVNjcmVlbkd0ay5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3RrL1BsYXRmb3JtU2NyZWVuR3RrLmNwcApAQCAtMzMsNiArMzMsNyBAQAog
CiAjaW5jbHVkZSAiR3RrVmVyc2lvbmluZy5oIgogI2luY2x1ZGUgIkhvc3RXaW5kb3cuaCIKKyNp
bmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIlNjcm9sbFZpZXcuaCIKICNpbmNs
dWRlICJXaWRnZXQuaCIKIApAQCAtNjcsNiArNjgsMTIgQEAgc3RhdGljIEdka1Zpc3VhbCogZ2V0
VmlzdWFsKFdpZGdldCogd2lkZ2V0KQogICAgIHJldHVybiBjb250YWluZXIgPyBnZGtfd2luZG93
X2dldF92aXN1YWwoZ3RrX3dpZGdldF9nZXRfd2luZG93KGNvbnRhaW5lcikpIDogMDsKIH0KIAor
aW50IHNjcmVlbkRwaShXaWRnZXQqIHdpZGdldCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOwor
ICAgIHJldHVybiAwOworfQorCiBpbnQgc2NyZWVuRGVwdGgoV2lkZ2V0KiB3aWRnZXQpCiB7CiAg
ICAgR2RrVmlzdWFsKiB2aXN1YWwgPSBnZXRWaXN1YWwod2lkZ2V0KTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QbGF0Zm9ybVNjcmVlbk1hYy5tbSBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21hYy9QbGF0Zm9ybVNjcmVlbk1hYy5tbQppbmRleCA5MTZmYzlmOWY1
ZjUyNDNhNDUwOTMxM2FhNWVkYmFmZDE5MTQ1YzQ2Li5jZmQ2OWI2MWIxMzUzODExM2NkNTZkY2Ri
Mjk4MGExN2U1M2M0MTgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMv
UGxhdGZvcm1TY3JlZW5NYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Bs
YXRmb3JtU2NyZWVuTWFjLm1tCkBAIC0zMCw5ICszMCwxNiBAQAogI2ltcG9ydCAiRnJhbWUuaCIK
ICNpbXBvcnQgIkZyYW1lVmlldy5oIgogI2ltcG9ydCAiUGFnZS5oIgorI2ltcG9ydCAiTm90SW1w
bGVtZW50ZWQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitpbnQgc2NyZWVuRHBpKFdpZGdl
dCogd2lkZ2V0KQoreworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIDA7Cit9CisK
IGludCBzY3JlZW5EZXB0aChXaWRnZXQqKQogewogICAgIHJldHVybiBOU0JpdHNQZXJQaXhlbEZy
b21EZXB0aChbW05TU2NyZWVuIGRlZXBlc3RTY3JlZW5dIGRlcHRoXSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9QbGF0Zm9ybVNjcmVlblF0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3F0L1BsYXRmb3JtU2NyZWVuUXQuY3BwCmluZGV4IDkyNTVlNzlmZjBl
OWZiNDIwMzViYjIxZjg3NGEzMTExNzRkMTYyOWIuLmYzNGNlNmU1ODg4MzkwODYyMmJiMmM4MTU1
NGY5YzQ4ODM1ZDYyNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L1Bs
YXRmb3JtU2NyZWVuUXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L1BsYXRm
b3JtU2NyZWVuUXQuY3BwCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSAiRnJhbWUuaCIKICNp
bmNsdWRlICJGcmFtZVZpZXcuaCIKICNpbmNsdWRlICJIb3N0V2luZG93LmgiCisjaW5jbHVkZSAi
Tm90SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRlICJXaWRnZXQuaCIKICNpbmNsdWRlICJRV2ViUGFn
ZUNsaWVudC5oIgogI2luY2x1ZGUgPFFBcHBsaWNhdGlvbj4KQEAgLTQyLDYgKzQzLDExIEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorc3RhdGljIGludCBzY3JlZW5EcGkoV2lkZ2V0KiB3aWRn
ZXQpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gMDsKK30KIHN0YXRpYyBp
bnQgc2NyZWVuTnVtYmVyKFdpZGdldCogdykKIHsKICAgICBpZiAoIXcpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vUGxhdGZvcm1TY3JlZW5XaW4uY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vd2luL1BsYXRmb3JtU2NyZWVuV2luLmNwcAppbmRleCAyMWZhMTBk
NTQ5ZWM5MDJlOTAwNjIzNTE1ZTkzODkwZGE0MWE5YTNkLi42NTkzMjI0YzRlYWY0OWY1ZWIyZTM3
NTEwYjQyNDEzNTdmYjQ0Mzk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93
aW4vUGxhdGZvcm1TY3JlZW5XaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dp
bi9QbGF0Zm9ybVNjcmVlbldpbi5jcHAKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJGbG9h
dFJlY3QuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgorI2lu
Y2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgPHdp
bmRvd3MuaD4KIApAQCAtNjUsNiArNjYsMTIgQEAgc3RhdGljIERFVk1PREUgZGV2aWNlSW5mb0Zv
cldpZGdldChXaWRnZXQqIHdpZGdldCkKICAgICByZXR1cm4gZGV2aWNlSW5mbzsKIH0KIAoraW50
IHNjcmVlbkRwaShXaWRnZXQqIHdpZGdldCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAg
IHJldHVybiAwOworfQorCiBpbnQgc2NyZWVuRGVwdGgoV2lkZ2V0KiB3aWRnZXQpCiB7CiAgICAg
REVWTU9ERSBkZXZpY2VJbmZvID0gZGV2aWNlSW5mb0ZvcldpZGdldCh3aWRnZXQpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViU2NyZWVuSW5mby5oIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViU2NyZWVuSW5mby5oCmluZGV4IGQzZDI2OGFh
OWYxMjA5Zjk2Y2MwYTQ2YzNiM2FjMWI2NTE4YTI1NDguLjYxMTg1NmRhYTgzYjQ0NGYxNzVlNjhk
ZDViNjZhNjlkMDllOGRlZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVi
bGljL1dlYlNjcmVlbkluZm8uaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9X
ZWJTY3JlZW5JbmZvLmgKQEAgLTM2LDYgKzM2LDkgQEAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBz
dHJ1Y3QgV2ViU2NyZWVuSW5mbyB7CisgICAgLy8gVGhlIHNjcmVlbiAod2lkdGgpIGRwaS4KKyAg
ICBpbnQgZHBpOworCiAgICAgLy8gVGhlIHNjcmVlbiBkZXB0aCBpbiBiaXRzIHBlciBwaXhlbAog
ICAgIGludCBkZXB0aDsKIApAQCAtNjQsNyArNjcsOCBAQCBzdHJ1Y3QgV2ViU2NyZWVuSW5mbyB7
CiAgICAgV2ViUmVjdCBhdmFpbGFibGVSZWN0OwogCiAgICAgV2ViU2NyZWVuSW5mbygpCi0gICAg
ICAgIDogZGVwdGgoMCkKKyAgICAgICAgOiBkcGkoMCkKKyAgICAgICAgLCBkZXB0aCgwKQogICAg
ICAgICAsIGRlcHRoUGVyQ29tcG9uZW50KDApCiAgICAgICAgICwgaXNNb25vY2hyb21lKGZhbHNl
KSB7IH0KIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJW
aWV3LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3LmgKaW5kZXggNzVl
MGJiMDM0M2U4NjM4NGIzYzQzMDlmYTY0ZWRhZWRjYjE5ZjU5Ni4uM2UxN2E1MjBlYjVjMjc1MmRj
NjFhMzZmZTBmYzViYmUyM2QwMWY3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9wdWJsaWMvV2ViVmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dl
YlZpZXcuaApAQCAtMjE0LDggKzIxNCwxMSBAQCBwdWJsaWM6CiAgICAgLy8gU2NhbGVzIGEgcGFn
ZSBieSBhIGZhY3RvciBvZiBzY2FsZUZhY3RvciBhbmQgdGhlbiBzZXRzIGEgc2Nyb2xsIHBvc2l0
aW9uIHRvICh4LCB5KS4KICAgICAvLyBzY2FsZVBhZ2UoKSBtYWduaWZpZXMgYW5kIHNocmlua3Mg
YSBwYWdlIHdpdGhvdXQgYWZmZWN0aW5nIGxheW91dC4KICAgICAvLyBPbiB0aGUgb3RoZXIgaGFu
ZCwgem9vbWluZyBhZmZlY3RzIGxheW91dCBvZiB0aGUgcGFnZS4KLSAgICB2aXJ0dWFsIHZvaWQg
c2NhbGVQYWdlKGZsb2F0IHNjYWxlRmFjdG9yLCBXZWJQb2ludCBvcmlnaW4pID0gMDsKKyAgICB2
aXJ0dWFsIHZvaWQgc2V0UGFnZVNjYWxlRmFjdG9yKGZsb2F0IHNjYWxlRmFjdG9yLCBXZWJQb2lu
dCBvcmlnaW4pID0gMDsKIAorICAgIHZpcnR1YWwgZmxvYXQgZGV2aWNlU2NhbGVGYWN0b3IoKSBj
b25zdCA9IDA7CisKKyAgICB2aXJ0dWFsIHZvaWQgc2V0RGV2aWNlU2NhbGVGYWN0b3IoZmxvYXQp
ID0gMDsKIAogICAgIC8vIEZpeGVkIExheW91dCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3Q2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3B1YmxpYy9XZWJWaWV3Q2xpZW50LmgKaW5kZXggNTJiZmMyMTU1YTVmYjY3YjgzMjg0MzM5MDAz
YzQ5NTk4ZDA3Yjc5Yi4uOWQzYjRlZDAwNjcwMWM1Y2VmMTExNmY0YzhjOTQ4OGU2MDkyYzA3NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlld0NsaWVudC5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXdDbGllbnQuaApAQCAt
MTEwLDYgKzExMCwxNCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRpZEFkZE1lc3NhZ2VU
b0NvbnNvbGUoCiAgICAgICAgIGNvbnN0IFdlYkNvbnNvbGVNZXNzYWdlJiwgY29uc3QgV2ViU3Ry
aW5nJiBzb3VyY2VOYW1lLCB1bnNpZ25lZCBzb3VyY2VMaW5lKSB7IH0KIAorICAgIC8vIERpZCBy
ZWNlaXZlIHRoZSB2aWV3cG9ydCBtZXRhIHRhZworICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZl
Vmlld3BvcnQoZmxvYXQgaW5pdGlhbFNjYWxlLCBib29sIGluaXRpYWxTY2FsZUV4cGxpY2l0bHlT
ZXQsIGZsb2F0IG1pbmltdW1TY2FsZSwgZmxvYXQgbWF4aW11bVNjYWxlLCBmbG9hdCBkZXZpY2VQ
aXhlbFJhdGlvKSB7IH0KKworICAgIC8vIEEgbWV0aG9kIHRvIGFsbG93IHRoZSBjbGllbnQgdG8g
c2V0IHRoZSBkZWZhdWx0IHdpZHRoIGZvciB0aGUKKyAgICAvLyBmaXhlZExheW91dC4gV2UgY2Fs
Y3VsYXRlIHRoZSBoZWlnaHQgb2YgZml4ZWRMYXlvdXQgYWNjb3JkaW5nIHRvIHRoaXMKKyAgICAv
LyB3aWR0aCB3aXRoIGtlZXBpbmcgdGhlIHNjcmVlbiByYXRpby4KKyAgICB2aXJ0dWFsIGludCBn
ZXREZWZhdWx0Rml4ZWRMYXlvdXRXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIDk4MDsgfQorCiAgICAg
Ly8gQ2FsbGVkIHdoZW4gc2NyaXB0IGluIHRoZSBwYWdlIGNhbGxzIHdpbmRvdy5wcmludCgpLiAg
SWYgZnJhbWUgaXMKICAgICAvLyBub24tbnVsbCwgdGhlbiBpdCBzZWxlY3RzIGEgcGFydGljdWxh
ciBmcmFtZSwgaW5jbHVkaW5nIGl0cwogICAgIC8vIGNoaWxkcmVuLCB0byBwcmludC4gIE90aGVy
d2lzZSwgdGhlIG1haW4gZnJhbWUgYW5kIGl0cyBjaGlsZHJlbgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlld3BvcnQuaCBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vcHVibGljL1dlYlZpZXdwb3J0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGFhNDIxNTFmM2E3ODMxNjBi
ZGMyNzQwMWUxNDdjYWYzYjA0NWQ0NQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vcHVibGljL1dlYlZpZXdwb3J0LmgKQEAgLTAsMCArMSw2NiBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmli
dXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUg
bmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
CisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV2Vi
Vmlld3BvcnRfaAorI2RlZmluZSBXZWJWaWV3cG9ydF9oCisKK25hbWVzcGFjZSBXZWJLaXQgewor
CitzdHJ1Y3QgV2ViVmlld3BvcnQgeworCisgICAgZW51bSB7IFZhbHVlVW5kZWZpbmVkID0gLTEs
IERldmljZVZhbHVlID0gMCB9OworCisgICAgZmxvYXQgaW5pdGlhbFNjYWxlOworICAgIGJvb2wg
aW5pdGlhbFNjYWxlRXhwbGljaXRseVNldDsKKyAgICBmbG9hdCBtaW5pbXVtU2NhbGU7CisgICAg
ZmxvYXQgbWF4aW11bVNjYWxlOworICAgIGludCB3aWR0aDsKKyAgICBpbnQgaGVpZ2h0OworICAg
IGludCB0YXJnZXREZW5zaXR5RHBpOworICAgIGJvb2wgdXNlclNjYWxhYmxlOworICAgIGZsb2F0
IGRldmljZVBpeGVsUmF0aW87CisKKyAgICBXZWJWaWV3cG9ydCgpCisgICAgICAgIDogaW5pdGlh
bFNjYWxlKFZhbHVlVW5kZWZpbmVkKQorICAgICAgICAsIGluaXRpYWxTY2FsZUV4cGxpY2l0bHlT
ZXQoZmFsc2UpCisgICAgICAgICwgbWluaW11bVNjYWxlKFZhbHVlVW5kZWZpbmVkKQorICAgICAg
ICAsIG1heGltdW1TY2FsZShWYWx1ZVVuZGVmaW5lZCkKKyAgICAgICAgLCB3aWR0aChWYWx1ZVVu
ZGVmaW5lZCkKKyAgICAgICAgLCBoZWlnaHQoVmFsdWVVbmRlZmluZWQpCisgICAgICAgICwgdGFy
Z2V0RGVuc2l0eURwaShWYWx1ZVVuZGVmaW5lZCkKKyAgICAgICAgLCB1c2VyU2NhbGFibGUodHJ1
ZSkKKyAgICAgICAgLCBkZXZpY2VQaXhlbFJhdGlvKFZhbHVlVW5kZWZpbmVkKQorICAgIHsKKyAg
ICB9Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuY3BwCmluZGV4IDFmMDY5YzkyNjA0
NTgyNzVmZDRjMjQzZWIzZmZmNzE1MTg5ZDRiZmQuLmEzMzc5OWY2N2I0ZjI0Mzk2YmM2ZDBjMzRj
ZjhhMzA2YTI1OTAxNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0No
cm9tZUNsaWVudEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9t
ZUNsaWVudEltcGwuY3BwCkBAIC01Niw2ICs1Niw3IEBACiAjaW5jbHVkZSAiTm9kZS5oIgogI2lu
Y2x1ZGUgIk5vdGlmaWNhdGlvblByZXNlbnRlckltcGwuaCIKICNpbmNsdWRlICJQYWdlLmgiCisj
aW5jbHVkZSAiUGxhdGZvcm1TY3JlZW4uaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN1cHBvcnQuaCIK
ICNpbmNsdWRlICJQb3B1cENvbnRhaW5lci5oIgogI2luY2x1ZGUgIlBvcHVwTWVudUNocm9taXVt
LmgiCkBAIC02MzcsNiArNjM4LDM3IEBAIHZvaWQgQ2hyb21lQ2xpZW50SW1wbDo6c2V0VG9vbFRp
cChjb25zdCBTdHJpbmcmIHRvb2x0aXBUZXh0LCBUZXh0RGlyZWN0aW9uIGRpcikKICAgICAgICAg
dG9vbHRpcFRleHQsIHRleHREaXJlY3Rpb24pOwogfQogCit2b2lkIENocm9tZUNsaWVudEltcGw6
OmRpc3BhdGNoVmlld3BvcnRQcm9wZXJ0aWVzRGlkQ2hhbmdlKGNvbnN0IFZpZXdwb3J0QXJndW1l
bnRzJiBhcmd1bWVudHMpIGNvbnN0Cit7CisgICAgaWYgKCFtX3dlYlZpZXctPmlzRml4ZWRMYXlv
dXRNb2RlRW5hYmxlZCgpIHx8ICFtX3dlYlZpZXctPmNsaWVudCgpKQorICAgICAgICByZXR1cm47
CisKKyAgICBWaWV3cG9ydEFyZ3VtZW50cyBhcmdzOworICAgIGlmIChhcmd1bWVudHMgPT0gYXJn
cykKKyAgICAgICAgLy8gRGVmYXVsdCB2aWV3cG9ydCBhcmd1bWVudHMgcGFzc2VkIGluLiBUaGlz
IGlzIGEgc2lnbmFsIHRvIHJlc2V0IHRoZSB2aWV3cG9ydC4KKyAgICAgICAgYXJncy53aWR0aCA9
IFZpZXdwb3J0QXJndW1lbnRzOjpWYWx1ZURlc2t0b3BXaWR0aDsKKyAgICBlbHNlCisgICAgICAg
IGFyZ3MgPSBhcmd1bWVudHM7CisgICAgCisgICAgRnJhbWVWaWV3KiBmcmFtZVZpZXcgPSBtX3dl
YlZpZXctPm1haW5GcmFtZUltcGwoKS0+ZnJhbWUoKS0+dmlldygpOworICAgIGludCBkcGkgPSBz
Y3JlZW5EcGkoZnJhbWVWaWV3KTsKKyAgICBXZWJWaWV3Q2xpZW50KiBjbGllbnQgPSBtX3dlYlZp
ZXctPmNsaWVudCgpOworICAgIFdlYlJlY3QgZGV2aWNlUmVjdCA9IGNsaWVudC0+d2luZG93UmVj
dCgpOworCisgICAgLy8gQ2FsbCB0aGUgY29tbW9uIHZpZXdwb3J0IGNvbXB1dGluZyBsb2dpYyBp
biBWaWV3cG9ydEFyZ3VtZW50cy5jcHAuCisgICAgVmlld3BvcnRBdHRyaWJ1dGVzIGNvbXB1dGVk
ID0gY29tcHV0ZVZpZXdwb3J0QXR0cmlidXRlcygKKyAgICAgICAgYXJncywgY2xpZW50LT5nZXRE
ZWZhdWx0Rml4ZWRMYXlvdXRXaWR0aCgpLCBkZXZpY2VSZWN0LndpZHRoLCBkZXZpY2VSZWN0Lmhl
aWdodCwKKyAgICAgICAgZHBpLCBJbnRTaXplKGRldmljZVJlY3Qud2lkdGgsIGRldmljZVJlY3Qu
aGVpZ2h0KSk7CisKKyAgICAvLyBUaGlzIHdpbGwgZ28gYmFjayB0byB0aGUgY2xpZW50IHRvIHNl
dCB0aGUgYXBwcm9wcmlhdGUgc2NhbGUgZmFjdG9yLgorICAgIGNsaWVudC0+ZGlkUmVjZWl2ZVZp
ZXdwb3J0KGNvbXB1dGVkLmluaXRpYWxTY2FsZSwgYXJndW1lbnRzLmluaXRpYWxTY2FsZSAhPSBW
aWV3cG9ydEFyZ3VtZW50czo6VmFsdWVBdXRvLCBjb21wdXRlZC5taW5pbXVtU2NhbGUsIGNvbXB1
dGVkLm1heGltdW1TY2FsZSwgY29tcHV0ZWQuZGV2aWNlUGl4ZWxSYXRpbyk7CisKKyAgICBpbnQg
bGF5b3V0V2lkdGggPSBjb21wdXRlZC5sYXlvdXRTaXplLndpZHRoKCk7CisgICAgaW50IGxheW91
dEhlaWdodCA9IGNvbXB1dGVkLmxheW91dFNpemUuaGVpZ2h0KCk7CisgICAgbV93ZWJWaWV3LT5z
ZXRGaXhlZExheW91dFNpemUoSW50U2l6ZShsYXlvdXRXaWR0aCwgbGF5b3V0SGVpZ2h0KSk7Cit9
CisKKwogdm9pZCBDaHJvbWVDbGllbnRJbXBsOjpwcmludChGcmFtZSogZnJhbWUpCiB7CiAgICAg
aWYgKG1fd2ViVmlldy0+Y2xpZW50KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9D
aHJvbWVDbGllbnRJbXBsLmgKaW5kZXggNzkwM2MzOTk2YTE0NDZiMWExYTk2MTFlMjQ2ZGI3OTFm
YWQ2NTczMS4uMDY2YTkxZmNhM2JhZDliNTlhNGZiYmE0YmRhOWZhNmZmODAxNzc1OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuaApAQCAtMTI1LDYg
KzEyNSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgbW91c2VEaWRNb3ZlT3ZlckVsZW1l
bnQoCiAgICAgICAgIGNvbnN0IFdlYkNvcmU6OkhpdFRlc3RSZXN1bHQmIHJlc3VsdCwgdW5zaWdu
ZWQgbW9kaWZpZXJGbGFncyk7CiAgICAgdmlydHVhbCB2b2lkIHNldFRvb2xUaXAoY29uc3QgV1RG
OjpTdHJpbmcmIHRvb2x0aXBUZXh0LCBXZWJDb3JlOjpUZXh0RGlyZWN0aW9uKTsKKyAgICB2aXJ0
dWFsIHZvaWQgZGlzcGF0Y2hWaWV3cG9ydFByb3BlcnRpZXNEaWRDaGFuZ2UoY29uc3QgV2ViQ29y
ZTo6Vmlld3BvcnRBcmd1bWVudHMmKSBjb25zdDsKICAgICB2aXJ0dWFsIHZvaWQgcHJpbnQoV2Vi
Q29yZTo6RnJhbWUqKTsKICAgICB2aXJ0dWFsIHZvaWQgZXhjZWVkZWREYXRhYmFzZVF1b3RhKAog
ICAgICAgICBXZWJDb3JlOjpGcmFtZSosIGNvbnN0IFdURjo6U3RyaW5nJiBkYXRhYmFzZU5hbWUp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvUGxhdGZvcm1TdXBwb3J0
LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1BsYXRmb3JtU3VwcG9ydC5jcHAKaW5k
ZXggNTQ1MjFiODJlZWI3ZGFmMGQxZGFhYWMyZThjYmQ3MDkxMjJkMDM0My4uN2Q3YWU2NDM3YTAw
NzMwNDU2OTNiZjRlZDdjZjY2YTJjZjg2ZmZkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvUGxhdGZvcm1TdXBwb3J0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9QbGF0Zm9ybVN1cHBvcnQuY3BwCkBAIC0xMDQwLDYgKzEwNDAsMTQgQEAgaW50IFBs
YXRmb3JtU3VwcG9ydDo6aGlnaFVzYWdlRGVsdGFNQigpCiAgICAgcmV0dXJuIHN0YXRpY19jYXN0
PGludD4od2ViS2l0UGxhdGZvcm1TdXBwb3J0KCktPmhpZ2hVc2FnZURlbHRhTUIoKSk7CiB9CiAK
K2ludCBQbGF0Zm9ybVN1cHBvcnQ6OnNjcmVlbkRwaShXaWRnZXQqIHdpZGdldCkKK3sKKyAgICBX
ZWJXaWRnZXRDbGllbnQqIGNsaWVudCA9IHRvV2ViV2lkZ2V0Q2xpZW50KHdpZGdldCk7CisgICAg
aWYgKCFjbGllbnQpCisgICAgICAgIHJldHVybiAwOworICAgIHJldHVybiBjbGllbnQtPnNjcmVl
bkluZm8oKS5kcGk7Cit9CisKIGludCBQbGF0Zm9ybVN1cHBvcnQ6OnNjcmVlbkRlcHRoKFdpZGdl
dCogd2lkZ2V0KQogewogICAgIFdlYldpZGdldENsaWVudCogY2xpZW50ID0gdG9XZWJXaWRnZXRD
bGllbnQod2lkZ2V0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlZpZXdJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNw
cAppbmRleCA0OGZiM2UwYTk4ZjNhYjJhYzE1NDE1YjA1NzVlZmFhMzA0MDBhMDgzLi4yODE0MjBj
MWE3MDM1OWU2ZTk5YWMzOGU3MzZjYzU1ZmVmZGEzZDJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCkBAIC0xMDI0LDggKzEwMjQsMTQgQEAgdm9pZCBXZWJW
aWV3SW1wbDo6cmVzaXplKGNvbnN0IFdlYlNpemUmIG5ld1NpemUpCiAgICAgICAgIHJldHVybjsK
ICAgICBtX3NpemUgPSBuZXdTaXplOwogCi0gICAgaWYgKG1haW5GcmFtZUltcGwoKS0+ZnJhbWVW
aWV3KCkpIHsKLSAgICAgICAgbWFpbkZyYW1lSW1wbCgpLT5mcmFtZVZpZXcoKS0+cmVzaXplKG1f
c2l6ZS53aWR0aCwgbV9zaXplLmhlaWdodCk7CisgICAgRnJhbWVWaWV3KiBmcmFtZVZpZXcgPSBt
YWluRnJhbWVJbXBsKCktPmZyYW1lVmlldygpOworICAgIGlmIChmcmFtZVZpZXcpIHsKKyAgICAg
ICAgaWYgKGlzRml4ZWRMYXlvdXRNb2RlRW5hYmxlZCgpKSB7CisgICAgICAgICAgICBEb2N1bWVu
dCogZG9jdW1lbnQgPSBtYWluRnJhbWVJbXBsKCktPmZyYW1lKCktPmRvY3VtZW50KCk7CisgICAg
ICAgICAgICBWaWV3cG9ydEFyZ3VtZW50cyB2aWV3cG9ydCA9IGRvY3VtZW50LT52aWV3cG9ydEFy
Z3VtZW50cygpOworICAgICAgICAgICAgbV9wYWdlLT5jaHJvbWUoKS0+Y2xpZW50KCktPmRpc3Bh
dGNoVmlld3BvcnRQcm9wZXJ0aWVzRGlkQ2hhbmdlKHZpZXdwb3J0KTsKKyAgICAgICAgfQorICAg
ICAgICBmcmFtZVZpZXctPnJlc2l6ZShtX3NpemUud2lkdGgsIG1fc2l6ZS5oZWlnaHQpOwogICAg
ICAgICBtYWluRnJhbWVJbXBsKCktPmZyYW1lKCktPmV2ZW50SGFuZGxlcigpLT5zZW5kUmVzaXpl
RXZlbnQoKTsKICAgICB9CiAKQEAgLTE4NDAsMTIgKzE4NDYsMTIgQEAgZG91YmxlIFdlYlZpZXc6
Onpvb21GYWN0b3JUb1pvb21MZXZlbChkb3VibGUgZmFjdG9yKQogZmxvYXQgV2ViVmlld0ltcGw6
OnBhZ2VTY2FsZUZhY3RvcigpIGNvbnN0CiB7CiAgICAgaWYgKCFwYWdlKCkpCi0gICAgICAgIHJl
dHVybiAxLjA7CisgICAgICAgIHJldHVybiAxOwogCiAgICAgcmV0dXJuIHBhZ2UoKS0+cGFnZVNj
YWxlRmFjdG9yKCk7CiB9CiAKLXZvaWQgV2ViVmlld0ltcGw6OnNjYWxlUGFnZShmbG9hdCBzY2Fs
ZUZhY3RvciwgV2ViUG9pbnQgb3JpZ2luKQordm9pZCBXZWJWaWV3SW1wbDo6c2V0UGFnZVNjYWxl
RmFjdG9yKGZsb2F0IHNjYWxlRmFjdG9yLCBXZWJQb2ludCBvcmlnaW4pCiB7CiAgICAgaWYgKCFw
YWdlKCkpCiAgICAgICAgIHJldHVybjsKQEAgLTE4NTMsNiArMTg1OSwyMiBAQCB2b2lkIFdlYlZp
ZXdJbXBsOjpzY2FsZVBhZ2UoZmxvYXQgc2NhbGVGYWN0b3IsIFdlYlBvaW50IG9yaWdpbikKICAg
ICBwYWdlKCktPnNldFBhZ2VTY2FsZUZhY3RvcihzY2FsZUZhY3Rvciwgb3JpZ2luKTsKIH0KIAor
ZmxvYXQgV2ViVmlld0ltcGw6OmRldmljZVNjYWxlRmFjdG9yKCkgY29uc3QKK3sKKyAgICBpZiAo
IXBhZ2UoKSkKKyAgICAgICAgcmV0dXJuIDE7CisgCisgICAgcmV0dXJuIHBhZ2UoKS0+ZGV2aWNl
U2NhbGVGYWN0b3IoKTsKK30KKwordm9pZCBXZWJWaWV3SW1wbDo6c2V0RGV2aWNlU2NhbGVGYWN0
b3IoZmxvYXQgc2NhbGVGYWN0b3IpCit7CisgICAgaWYgKCFwYWdlKCkpCisgICAgICAgIHJldHVy
bjsKKworICAgIHBhZ2UoKS0+c2V0RGV2aWNlU2NhbGVGYWN0b3Ioc2NhbGVGYWN0b3IpOworfQor
CiBib29sIFdlYlZpZXdJbXBsOjppc0ZpeGVkTGF5b3V0TW9kZUVuYWJsZWQoKSBjb25zdAogewog
ICAgIGlmICghcGFnZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViVmlld0ltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgK
aW5kZXggOTkxMWE1ZjhhYzBlZGI5ODkzMThlYWMxMTJhMjVlNTcwZDY5ZTFiZi4uNDllYzJiMTgx
MDA2M2ZlZmIxMzA0YTIxYWUwOWM2NWUxZWI0MzY4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJWaWV3SW1wbC5oCkBAIC0xNTgsNyArMTU4LDkgQEAgcHVibGljOgogICAgIHZpcnR1
YWwgdm9pZCB6b29tTGltaXRzQ2hhbmdlZChkb3VibGUgbWluaW11bVpvb21MZXZlbCwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG91YmxlIG1heGltdW1ab29tTGV2ZWwpOwog
ICAgIHZpcnR1YWwgZmxvYXQgcGFnZVNjYWxlRmFjdG9yKCkgY29uc3Q7Ci0gICAgdmlydHVhbCB2
b2lkIHNjYWxlUGFnZShmbG9hdCBzY2FsZUZhY3RvciwgV2ViUG9pbnQgb3JpZ2luKTsKKyAgICB2
aXJ0dWFsIHZvaWQgc2V0UGFnZVNjYWxlRmFjdG9yKGZsb2F0IHNjYWxlRmFjdG9yLCBXZWJQb2lu
dCBvcmlnaW4pOworICAgIHZpcnR1YWwgZmxvYXQgZGV2aWNlU2NhbGVGYWN0b3IoKSBjb25zdDsK
KyAgICB2aXJ0dWFsIHZvaWQgc2V0RGV2aWNlU2NhbGVGYWN0b3IoZmxvYXQpOwogICAgIHZpcnR1
YWwgYm9vbCBpc0ZpeGVkTGF5b3V0TW9kZUVuYWJsZWQoKSBjb25zdDsKICAgICB2aXJ0dWFsIHZv
aWQgZW5hYmxlRml4ZWRMYXlvdXRNb2RlKGJvb2wgZW5hYmxlKTsKICAgICB2aXJ0dWFsIFdlYlNp
emUgZml4ZWRMYXlvdXRTaXplKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy94MTEvV2ViU2NyZWVuSW5mb0ZhY3RvcnkuY3BwIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMveDExL1dlYlNjcmVlbkluZm9GYWN0b3J5LmNwcAppbmRleCA3ZTFmOTZlY2Uw
YTgwNzQ5NmMwMjI0M2YwYWJjMGIzOTZmYjg0NzhkLi5hNTY4MWFmNjJiZGY1YTMwMjhjZTlkNGQ3
ZmZjNzgyMWRmZjcwNzJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy94
MTEvV2ViU2NyZWVuSW5mb0ZhY3RvcnkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL3gxMS9XZWJTY3JlZW5JbmZvRmFjdG9yeS5jcHAKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNs
dWRlICJXZWJTY3JlZW5JbmZvLmgiCiAKICNpbmNsdWRlIDxYMTEvWGxpYi5oPgorI2luY2x1ZGUg
PHN0ZGlvLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCkBAIC00Myw2ICs0NCw3IEBAIG5hbWVz
cGFjZSBXZWJLaXQgewogLy8gZnVuY3Rpb24sIGJ1dCBpdCBhcHBlYXJzIHRvIHJldHVybiBzdGFs
ZSBkYXRhIGFmdGVyIHRoZSBzY3JlZW4gaXMgcmVzaXplZC4KIFdlYlNjcmVlbkluZm8gV2ViU2Ny
ZWVuSW5mb0ZhY3Rvcnk6OnNjcmVlbkluZm8oRGlzcGxheSogZGlzcGxheSwgaW50IHNjcmVlbk51
bWJlcikKIHsKKyAgICBjb25zdCBmbG9hdCBJbmNoZXNQZXJNaWxsaW1ldGVyID0gMjUuNDsKICAg
ICAvLyBYRGlzcGxheVdpZHRoKCkgYW5kIFhEaXNwbGF5SGVpZ2h0KCkgcmV0dXJuIGNhY2hlZCB2
YWx1ZXMuIFRvIGVuc3VyZSB0aGF0CiAgICAgLy8gd2UgcmV0dXJuIHRoZSBjb3JyZWN0IGRpbWVu
c2lvbnMgYWZ0ZXIgdGhlIHNjcmVlbiBpcyByZXNpemVkLCBxdWVyeSB0aGUKICAgICAvLyByb290
IHdpbmRvdydzIGdlb21ldHJ5IGVhY2ggdGltZS4KQEAgLTU0LDYgKzU2LDEwIEBAIFdlYlNjcmVl
bkluZm8gV2ViU2NyZWVuSW5mb0ZhY3Rvcnk6OnNjcmVlbkluZm8oRGlzcGxheSogZGlzcGxheSwg
aW50IHNjcmVlbk51bWJlCiAgICAgICAgIGRpc3BsYXksIHJvb3QsICZyb290UmV0LCAmeCwgJnks
ICZ3aWR0aCwgJmhlaWdodCwgJmJvcmRlciwgJmRlcHRoKTsKIAogICAgIFdlYlNjcmVlbkluZm8g
cmVzdWx0czsKKyAgICBpbnQgZGlzcGxheVdpZHRoID0gRGlzcGxheVdpZHRoKGRpc3BsYXksIHNj
cmVlbk51bWJlcik7CisgICAgaW50IGRpc3BsYXlXaWR0aEluTWlsbGltZXRlcnMgPSBEaXNwbGF5
V2lkdGhNTShkaXNwbGF5LCBzY3JlZW5OdW1iZXIpOworICAgIHJlc3VsdHMuZHBpID0gc3RhdGlj
X2Nhc3Q8aW50PihJbmNoZXNQZXJNaWxsaW1ldGVyICogZGlzcGxheVdpZHRoIC8gZGlzcGxheVdp
ZHRoSW5NaWxsaW1ldGVycyk7CisgICAgCiAgICAgLy8gRklYTUU6IE5vdCBhbGwgc2NyZWVucyB1
c2UgOGJwcC4KICAgICByZXN1bHRzLmRlcHRoUGVyQ29tcG9uZW50ID0gODsKICAgICByZXN1bHRz
LmRlcHRoID0gZGVwdGg7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFu
Z2VMb2cKaW5kZXggNGE1MmNhMGJlMGFiNjFmNDZhMGYyZGY1ZWY0ZDM5NGQ4NWI0N2M3NC4uMTFk
OTE1YWUyZjYxYzExNDFhZWQ3ZGM5N2FjY2VkOWU0ZWFlNmQ2NyAxMDA2NDQKLS0tIGEvVG9vbHMv
Q2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDExLTEx
LTAzICBGYWR5IFNhbXVlbCAgPGZzYW11ZWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtDaHJv
bWl1bV0gSW1wbGVtZW50IFZpZXdwb3J0IE1ldGEgdGFnIGFuZCBGaXhlZCBMYXlvdXQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTU5CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9FdmVudFNlbmRlci5jcHA6CisgICAgICAgIChFdmVudFNlbmRlcjo6c2NhbGVQ
YWdlQnkpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5jcHA6
CisgICAgICAgIChUZXN0U2hlbGw6OnJlc2V0VGVzdENvbnRyb2xsZXIpOgorCiAyMDExLTExLTAz
ICBUaG91cmF5YSBBTkRPTFNJICA8dGhvdXJheWEuYW5kb2xzaUBzdC5jb20+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgTWFydGluIFJvYmluc29uLgpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vRXZlbnRTZW5kZXIuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hy
b21pdW0vRXZlbnRTZW5kZXIuY3BwCmluZGV4IGQxYTVhMjc2Mzk5MTJkNWUyMTk5YjZjNmM3MjU1
YTMxOWE4YzIwZDcuLjk4ZGJkYTRmZDBhMjQxMDVmODVhYTFhMzVkYjA0ZGQ0OGEwYzFmNTIgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0V2ZW50U2VuZGVyLmNwcAor
KysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9FdmVudFNlbmRlci5jcHAKQEAgLTcx
Niw3ICs3MTYsNyBAQCB2b2lkIEV2ZW50U2VuZGVyOjpzY2FsZVBhZ2VCeShjb25zdCBDcHBBcmd1
bWVudExpc3QmIGFyZ3VtZW50cywgQ3BwVmFyaWFudCogcmVzdQogICAgIGZsb2F0IHNjYWxlRmFj
dG9yID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KGFyZ3VtZW50c1swXS50b0RvdWJsZSgpKTsKICAgICBp
bnQgeCA9IGFyZ3VtZW50c1sxXS50b0ludDMyKCk7CiAgICAgaW50IHkgPSBhcmd1bWVudHNbMl0u
dG9JbnQzMigpOwotICAgIHdlYnZpZXcoKS0+c2NhbGVQYWdlKHNjYWxlRmFjdG9yLCBXZWJQb2lu
dCh4LCB5KSk7CisgICAgd2VidmlldygpLT5zZXRQYWdlU2NhbGVGYWN0b3Ioc2NhbGVGYWN0b3Is
IFdlYlBvaW50KHgsIHkpKTsKICAgICByZXN1bHQtPnNldE51bGwoKTsKIH0KIApkaWZmIC0tZ2l0
IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmNwcCBiL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5jcHAKaW5kZXggMjI3NWZjNTA1YjJmY2Y1
ZjI4MDZjNjNkMDJkODQzNDUxODhjZGZhMi4uZGUyZjJjOGEyNGRiNTk4NjNmNjJhZmE2YTEwOTVj
MDJiMWI2MDgyNSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVz
dFNoZWxsLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwu
Y3BwCkBAIC0yNzAsNyArMjcwLDcgQEAgdm9pZCBUZXN0U2hlbGw6OnJlc2V0VGVzdENvbnRyb2xs
ZXIoKQogICAgIG1fZHJ0RGV2VG9vbHNBZ2VudC0+cmVzZXQoKTsKICAgICBpZiAobV9kcnREZXZU
b29sc0NsaWVudCkKICAgICAgICAgbV9kcnREZXZUb29sc0NsaWVudC0+cmVzZXQoKTsKLSAgICB3
ZWJWaWV3KCktPnNjYWxlUGFnZSgxLCBXZWJQb2ludCgwLCAwKSk7CisgICAgd2ViVmlldygpLT5z
ZXRQYWdlU2NhbGVGYWN0b3IoMSwgV2ViUG9pbnQoMCwgMCkpOwogICAgIHdlYlZpZXcoKS0+ZW5h
YmxlRml4ZWRMYXlvdXRNb2RlKGZhbHNlKTsKICAgICB3ZWJWaWV3KCktPnNldEZpeGVkTGF5b3V0
U2l6ZShXZWJTaXplKDAsIDApKTsKICAgICB3ZWJWaWV3KCktPm1haW5GcmFtZSgpLT5jbGVhck9w
ZW5lcigpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>