<?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>77691</bug_id>
          
          <creation_ts>2012-02-02 16:48:44 -0800</creation_ts>
          <short_desc>Fix PlatformScreen layering violation and PlatformScreenMac&apos;s incorrect use of device scale</short_desc>
          <delta_ts>2012-02-03 11:30:03 -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>Platform</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Beth Dakin">bdakin</reporter>
          <assigned_to name="Beth Dakin">bdakin</assigned_to>
          <cc>bdakin</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>548255</commentid>
    <comment_count>0</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2012-02-02 16:48:44 -0800</bug_when>
    <thetext>Earlier this week in https://bugs.webkit.org/show_bug.cgi?id=77263 I fixed a bug where PlatformScreenMac was incorrectly relying on NSWindow. But in the process I introduced a layering violation, and just made WebKit2 do the same wrong thing as WebKit 1. Fix forthcoming. 

&lt;rdar://problem/10754850&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>548267</commentid>
    <comment_count>1</comment_count>
      <attachid>125213</attachid>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2012-02-02 17:05:31 -0800</bug_when>
    <thetext>Created attachment 125213
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>548284</commentid>
    <comment_count>2</comment_count>
      <attachid>125213</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-02-02 17:39:52 -0800</bug_when>
    <thetext>Comment on attachment 125213
Patch

Attachment 125213 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/11416070</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>548288</commentid>
    <comment_count>3</comment_count>
      <attachid>125218</attachid>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2012-02-02 17:44:23 -0800</bug_when>
    <thetext>Created attachment 125218
Patch trying to fix bots</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>548887</commentid>
    <comment_count>4</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2012-02-03 11:30:03 -0800</bug_when>
    <thetext>Thank Andy! Committed change: http://trac.webkit.org/changeset/106678</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>125213</attachid>
            <date>2012-02-02 17:05:31 -0800</date>
            <delta_ts>2012-02-02 17:44:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>for-review.txt</filename>
            <type>text/plain</type>
            <size>21146</size>
            <attacher name="Beth Dakin">bdakin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwNjYwNSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ5IEBACisyMDEyLTAyLTAyICBCZXRoIERh
a2luICA8YmRha2luQGFwcGxlLmNvbT4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9Nzc2OTEKKyAgICAgICAgRml4IFBsYXRmb3JtU2NyZWVuIGxheWVy
aW5nIHZpb2xhdGlvbiBhbmQgUGxhdGZvcm1TY3JlZW5NYWMncyBpbmNvcnJlY3QgdXNlIAorICAg
ICAgICBvZiBkZXZpY2Ugc2NhbGUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBNYWtlIHNjcmVlbkF2YWlsYWJsZVJlY3QoKSBhbmQgc2NyZWVuUmVjdCgp
IHRha2UgYSBXaWRnZXQgYWdhaW4gaW5zdGVhZCBvZiBhIAorICAgICAgICBGcmFtZVZpZXcgc2lu
Y2UgdGFraW5nIGEgRnJhbWVWaWV3IGlzIGEgbGF5ZXJpbmcgdmlvbGF0aW9uLgorICAgICAgICAq
IFdlYkNvcmUuZXhwLmluOgorICAgICAgICAqIHBsYXRmb3JtL1BsYXRmb3JtU2NyZWVuLmg6Cisg
ICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ibGFja2JlcnJ5L1BsYXRmb3Jt
U2NyZWVuQmxhY2tCZXJyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzY3JlZW5BdmFpbGFibGVS
ZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OnNjcmVlblJlY3QpOgorICAgICAgICAqIHBsYXRmb3Jt
L2Nocm9taXVtL1BsYXRmb3JtU2NyZWVuQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
c2NyZWVuUmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpzY3JlZW5BdmFpbGFibGVSZWN0KToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybVN1cHBvcnQuaDoKKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAoUGxhdGZvcm1TdXBwb3J0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9l
ZmwvUGxhdGZvcm1TY3JlZW5FZmwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2NyZWVuUmVjdCk6
CisgICAgICAgIChXZWJDb3JlOjpzY3JlZW5BdmFpbGFibGVSZWN0KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ndGsvUGxhdGZvcm1TY3JlZW5HdGsuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2NyZWVu
UmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpzY3JlZW5BdmFpbGFibGVSZWN0KToKKyAgICAgICAg
KiBwbGF0Zm9ybS9xdC9QbGF0Zm9ybVNjcmVlblF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNj
cmVlblJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6c2NyZWVuQXZhaWxhYmxlUmVjdCk6CisgICAg
ICAgICogcGxhdGZvcm0vd2luL1BsYXRmb3JtU2NyZWVuV2luLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OnNjcmVlblJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6c2NyZWVuQXZhaWxhYmxlUmVjdCk6
CisgICAgICAgICogcGxhdGZvcm0vd3gvU2NyZWVuV3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6
c2NyZWVuUmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpzY3JlZW5BdmFpbGFibGVSZWN0KToKKwor
ICAgICAgICBJdCdzIHdyb25nIGZvciB0aGUgZGV2aWNlU2NhbGVGYWN0b3IgdG8gYmUgdGFrZW4g
aW50byBjb25zaWRlcmF0aW9uIGhlcmUgYXQgCisgICAgICAgIGFsbC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9tYWMvUGxhdGZvcm1TY3JlZW5NYWMubW06CisgICAgICAgIChXZWJDb3JlOjpzY3JlZW5S
ZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OnNjcmVlbkF2YWlsYWJsZVJlY3QpOgorICAgICAgICAo
V2ViQ29yZTo6dG9Vc2VyU3BhY2UpOgorICAgICAgICAoV2ViQ29yZTo6dG9EZXZpY2VTcGFjZSk6
CisKIDIwMTItMDEtMjkgIFBhYmxvIEZsb3VyZXQgIDxwYWJsb2ZAbW90b3JvbGEuY29tPgogCiAg
ICAgICAgIFY4IGlkbCBjb2RlIGdlbmVyYXRvciBkb2Vzbid0IGhhbmRsZSBTZXJpYWxpemVkU2Ny
aXB0VmFsdWUgYXR0cmlidXRlcyBwcm9wZXJseS4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZXhwLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCShy
ZXZpc2lvbiAxMDY1NzYpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgkod29ya2lu
ZyBjb3B5KQpAQCAtMjE5LDcgKzIxOSw3IEBAIF9fWk43V2ViQ29yZTExUmVuZGVyTGF5ZXIxOXNj
cm9sbFJlY3RUb1YKIF9fWk43V2ViQ29yZTExZ2xvYmFsUG9pbnRFUks4X05TUG9pbnRQOE5TV2lu
ZG93CiBfX1pON1dlYkNvcmUxMW1lbW9yeUNhY2hlRXYKIF9fWk43V2ViQ29yZTExc3RhcnRPZldv
cmRFUktOU18xNVZpc2libGVQb3NpdGlvbkVOU185RVdvcmRTaWRlRQotX19aTjdXZWJDb3JlMTF0
b1VzZXJTcGFjZUVSSzdfTlNSZWN0UDhOU1dpbmRvd2YKK19fWk43V2ViQ29yZTExdG9Vc2VyU3Bh
Y2VFUks3X05TUmVjdFA4TlNXaW5kb3cKIF9fWk43V2ViQ29yZTExd3JpdGVUb0ZpbGVFaVBLY2kK
IF9fWk43V2ViQ29yZTEyQ2hyb21lQ2xpZW50MjNwYWludEN1c3RvbU92ZXJoYW5nQXJlYUVQTlNf
MTVHcmFwaGljc0NvbnRleHRFUktOU183SW50UmVjdEVTNV9TNV8KIF9fWk43V2ViQ29yZTEyRWRp
dGluZ1N0eWxlRDFFdgpAQCAtMzI4LDcgKzMyOCw3IEBAIF9fWk43V2ViQ29yZTEzUmVzb3VyY2VF
cnJvckMxRVA5X19DRkVycm8KIF9fWk43V2ViQ29yZTEzVHlwaW5nQ29tbWFuZDM5aW5zZXJ0UGFy
YWdyYXBoU2VwYXJhdG9ySW5RdW90ZWRDb250ZW50RVBOU184RG9jdW1lbnRFCiBfX1pON1dlYkNv
cmUxM2NyZWF0ZVdyYXBwZXJFUE4zSlNDOUV4ZWNTdGF0ZUVQTlNfMTdKU0RPTUdsb2JhbE9iamVj
dEVQTlNfNE5vZGVFCiBfX1pON1dlYkNvcmUxM2RpcmVjdG9yeU5hbWVFUktOM1dURjZTdHJpbmdF
Ci1fX1pON1dlYkNvcmUxM3RvRGV2aWNlU3BhY2VFUktOU185RmxvYXRSZWN0RVA4TlNXaW5kb3dm
CitfX1pON1dlYkNvcmUxM3RvRGV2aWNlU3BhY2VFUktOU185RmxvYXRSZWN0RVA4TlNXaW5kb3cK
IF9fWk43V2ViQ29yZTEzdG9IVE1MRWxlbWVudEVQTlNfMjFGb3JtQXNzb2NpYXRlZEVsZW1lbnRF
CiBfX1pON1dlYkNvcmUxM3RvSlNET01XaW5kb3dFTjNKU0M3SlNWYWx1ZUUKIF9fWk43V2ViQ29y
ZTE0Q2FjaGVkUmVzb3VyY2UxMnJlbW92ZUNsaWVudEVQTlNfMjBDYWNoZWRSZXNvdXJjZUNsaWVu
dEUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtU2NyZWVuLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1TY3JlZW4uaAkocmV2aXNp
b24gMTA2NTc2KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1TY3JlZW4uaAko
d29ya2luZyBjb3B5KQpAQCAtNDAsNyArNDAsNiBAQCB0eXBlZGVmIHVpbnQzMl90IFBsYXRmb3Jt
RGlzcGxheUlEOwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgRmxvYXRSZWN0Owot
ICAgIGNsYXNzIEZyYW1lVmlldzsKICAgICBjbGFzcyBXaWRnZXQ7CiAKICAgICBpbnQgc2NyZWVu
SG9yaXpvbnRhbERQSShXaWRnZXQqKTsKQEAgLTQ5LDE0ICs0OCwxNCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgaW50IHNjcmVlbkRlcHRoUGVyQ29tcG9uZW50KFdpZGdldCopOwogICAgIGJv
b2wgc2NyZWVuSXNNb25vY2hyb21lKFdpZGdldCopOwogCi0gICAgRmxvYXRSZWN0IHNjcmVlblJl
Y3QoRnJhbWVWaWV3Kik7Ci0gICAgRmxvYXRSZWN0IHNjcmVlbkF2YWlsYWJsZVJlY3QoRnJhbWVW
aWV3Kik7CisgICAgRmxvYXRSZWN0IHNjcmVlblJlY3QoV2lkZ2V0Kik7CisgICAgRmxvYXRSZWN0
IHNjcmVlbkF2YWlsYWJsZVJlY3QoV2lkZ2V0Kik7CiAKICNpZiBQTEFURk9STShNQUMpCiAgICAg
TlNTY3JlZW4gKnNjcmVlbkZvcldpbmRvdyhOU1dpbmRvdyAqKTsKIAotICAgIEZsb2F0UmVjdCB0
b1VzZXJTcGFjZShjb25zdCBOU1JlY3QmLCBOU1dpbmRvdyAqZGVzdGluYXRpb24sIGZsb2F0IGRl
dmljZVNjYWxlRmFjdG9yKTsKLSAgICBOU1JlY3QgdG9EZXZpY2VTcGFjZShjb25zdCBGbG9hdFJl
Y3QmLCBOU1dpbmRvdyAqc291cmNlLCBmbG9hdCBkZXZpY2VTY2FsZUZhY3Rvcik7CisgICAgRmxv
YXRSZWN0IHRvVXNlclNwYWNlKGNvbnN0IE5TUmVjdCYsIE5TV2luZG93ICpkZXN0aW5hdGlvbik7
CisgICAgTlNSZWN0IHRvRGV2aWNlU3BhY2UoY29uc3QgRmxvYXRSZWN0JiwgTlNXaW5kb3cgKnNv
dXJjZSk7CiAKICAgICBOU1BvaW50IGZsaXBTY3JlZW5Qb2ludChjb25zdCBOU1BvaW50JiwgTlNT
Y3JlZW4gKik7CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVy
cnkvUGxhdGZvcm1TY3JlZW5CbGFja0JlcnJ5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L1BsYXRmb3JtU2NyZWVuQmxhY2tCZXJyeS5jcHAJKHJl
dmlzaW9uIDEwNjU3NikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvUGxh
dGZvcm1TY3JlZW5CbGFja0JlcnJ5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjAsNyArMjAsNiBA
QAogI2luY2x1ZGUgIlBsYXRmb3JtU2NyZWVuLmgiCiAKICNpbmNsdWRlICJGbG9hdFJlY3QuaCIK
LSNpbmNsdWRlICJGcmFtZVZpZXcuaCIKICNpbmNsdWRlICJXaWRnZXQuaCIKIAogI2luY2x1ZGUg
PEJsYWNrQmVycnlQbGF0Zm9ybVNjcmVlbi5oPgpAQCAtNDIsMTIgKzQxLDEyIEBAIGludCBzY3Jl
ZW5EZXB0aChXaWRnZXQqKQogICAgIHJldHVybiAyNDsKIH0KIAotRmxvYXRSZWN0IHNjcmVlbkF2
YWlsYWJsZVJlY3QoRnJhbWVWaWV3KiBmcmFtZVZpZXcpCitGbG9hdFJlY3Qgc2NyZWVuQXZhaWxh
YmxlUmVjdChXaWRnZXQqIHdpZGdldCkKIHsKICAgICByZXR1cm4gRmxvYXRSZWN0KEZsb2F0UG9p
bnQoKSwgRmxvYXRTaXplKEludFNpemUoQmxhY2tCZXJyeTo6UGxhdGZvcm06OkdyYXBoaWNzOjpT
Y3JlZW46OnNpemUoKSkpKTsKIH0KIAotRmxvYXRSZWN0IHNjcmVlblJlY3QoRnJhbWVWaWV3KiBm
cmFtZVZpZXcpCitGbG9hdFJlY3Qgc2NyZWVuUmVjdChXaWRnZXQqIHdpZGdldCkKIHsKICAgICBy
ZXR1cm4gRmxvYXRSZWN0KEZsb2F0UG9pbnQoKSwgRmxvYXRTaXplKEludFNpemUoQmxhY2tCZXJy
eTo6UGxhdGZvcm06OkdyYXBoaWNzOjpTY3JlZW46OnNpemUoKSkpKTsKIH0KSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtU2NyZWVuQ2hyb21pdW0uY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtU2Ny
ZWVuQ2hyb21pdW0uY3BwCShyZXZpc2lvbiAxMDY1NzYpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybVNjcmVlbkNocm9taXVtLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzEsNyArMzEsNiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlBsYXRmb3Jt
U2NyZWVuLmgiCiAKLSNpbmNsdWRlICJGcmFtZVZpZXcuaCIKICNpbmNsdWRlICJJbnRSZWN0Lmgi
CiAjaW5jbHVkZSAiUGxhdGZvcm1TdXBwb3J0LmgiCiAKQEAgLTYyLDE0ICs2MSwxNCBAQCBib29s
IHNjcmVlbklzTW9ub2Nocm9tZShXaWRnZXQqIHdpZGdldCkKICAgICByZXR1cm4gUGxhdGZvcm1T
dXBwb3J0OjpzY3JlZW5Jc01vbm9jaHJvbWUod2lkZ2V0KTsKIH0KIAotRmxvYXRSZWN0IHNjcmVl
blJlY3QoRnJhbWVWaWV3KiBmcmFtZVZpZXcpCitGbG9hdFJlY3Qgc2NyZWVuUmVjdChXaWRnZXQq
IHdpZGdldCkKIHsKLSAgICByZXR1cm4gUGxhdGZvcm1TdXBwb3J0OjpzY3JlZW5SZWN0KGZyYW1l
Vmlldyk7CisgICAgcmV0dXJuIFBsYXRmb3JtU3VwcG9ydDo6c2NyZWVuUmVjdCh3aWRnZXQpOwog
fQogCi1GbG9hdFJlY3Qgc2NyZWVuQXZhaWxhYmxlUmVjdChGcmFtZVZpZXcqIGZyYW1lVmlldykK
K0Zsb2F0UmVjdCBzY3JlZW5BdmFpbGFibGVSZWN0KFdpZGdldCogd2lkZ2V0KQogewotICAgIHJl
dHVybiBQbGF0Zm9ybVN1cHBvcnQ6OnNjcmVlbkF2YWlsYWJsZVJlY3QoZnJhbWVWaWV3KTsKKyAg
ICByZXR1cm4gUGxhdGZvcm1TdXBwb3J0OjpzY3JlZW5BdmFpbGFibGVSZWN0KHdpZGdldCk7CiB9
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2Nocm9taXVtL1BsYXRmb3JtU3VwcG9ydC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtU3VwcG9ydC5oCShyZXZpc2lvbiAxMDY1NzYpCisr
KyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybVN1cHBvcnQuaAkod29y
a2luZyBjb3B5KQpAQCAtNzEsNyArNzEsNiBAQCBjbGFzcyBDb2xvcjsKIGNsYXNzIEN1cnNvcjsK
IGNsYXNzIERvY3VtZW50OwogY2xhc3MgRnJhbWU7Ci1jbGFzcyBGcmFtZVZpZXc7CiBjbGFzcyBH
YW1lcGFkTGlzdDsKIGNsYXNzIEdlb2xvY2F0aW9uU2VydmljZUJyaWRnZTsKIGNsYXNzIEdlb2xv
Y2F0aW9uU2VydmljZUNocm9taXVtOwpAQCAtMjQ2LDggKzI0NSw4IEBAIHB1YmxpYzoKICAgICBz
dGF0aWMgaW50IHNjcmVlbkRlcHRoKFdpZGdldCopOwogICAgIHN0YXRpYyBpbnQgc2NyZWVuRGVw
dGhQZXJDb21wb25lbnQoV2lkZ2V0Kik7CiAgICAgc3RhdGljIGJvb2wgc2NyZWVuSXNNb25vY2hy
b21lKFdpZGdldCopOwotICAgIHN0YXRpYyBJbnRSZWN0IHNjcmVlblJlY3QoRnJhbWVWaWV3Kik7
Ci0gICAgc3RhdGljIEludFJlY3Qgc2NyZWVuQXZhaWxhYmxlUmVjdChGcmFtZVZpZXcqKTsKKyAg
ICBzdGF0aWMgSW50UmVjdCBzY3JlZW5SZWN0KFdpZGdldCopOworICAgIHN0YXRpYyBJbnRSZWN0
IHNjcmVlbkF2YWlsYWJsZVJlY3QoV2lkZ2V0Kik7CiAKICAgICAvLyBTaGFyZWRUaW1lcnMgLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAg
IHN0YXRpYyB2b2lkIHNldFNoYXJlZFRpbWVyRmlyZWRGdW5jdGlvbih2b2lkICgqZnVuYykoKSk7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvUGxhdGZvcm1TY3JlZW5FZmwuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9QbGF0Zm9ybVNjcmVl
bkVmbC5jcHAJKHJldmlzaW9uIDEwNjU3NikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Vm
bC9QbGF0Zm9ybVNjcmVlbkVmbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0LDcgKzM0LDYgQEAK
ICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVNjcmVlbi5oIgogCi0jaW5j
bHVkZSAiRnJhbWVWaWV3LmgiCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRl
ICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgIldpZGdldC5oIgpAQCAtNzQsMjMgKzczLDIz
IEBAIGJvb2wgc2NyZWVuSXNNb25vY2hyb21lKFdpZGdldCopCiAgICAgcmV0dXJuIGZhbHNlOwog
fQogCi1GbG9hdFJlY3Qgc2NyZWVuUmVjdChGcmFtZVZpZXcqIGZyYW1lVmlldykKK0Zsb2F0UmVj
dCBzY3JlZW5SZWN0KFdpZGdldCogd2lkZ2V0KQogewotICAgIGlmICghZnJhbWVWaWV3KQorICAg
IGlmICghd2lkZ2V0KQogICAgICAgICByZXR1cm4gRmxvYXRSZWN0KCk7CiAKICAgICBpbnQgeCwg
eSwgdywgaDsKLSAgICBFdmFzKiBlID0gZnJhbWVWaWV3LT5ldmFzKCk7CisgICAgRXZhcyogZSA9
IHdpZGdldC0+ZXZhcygpOwogCiAgICAgZWNvcmVfZXZhc19zY3JlZW5fZ2VvbWV0cnlfZ2V0KGVj
b3JlX2V2YXNfZWNvcmVfZXZhc19nZXQoZSksICZ4LCAmeSwgJncsICZoKTsKIAogICAgIHJldHVy
biBGbG9hdFJlY3QoeCwgeSwgdywgaCk7CiB9CiAKLUZsb2F0UmVjdCBzY3JlZW5BdmFpbGFibGVS
ZWN0KEZyYW1lVmlldyogZnJhbWVWaWV3KQorRmxvYXRSZWN0IHNjcmVlbkF2YWlsYWJsZVJlY3Qo
V2lkZ2V0KiB3aWRnZXQpCiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4gc2Ny
ZWVuUmVjdChmcmFtZVZpZXcpOworICAgIHJldHVybiBzY3JlZW5SZWN0KHdpZGdldCk7CiB9CiAK
IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9QbGF0Zm9ybVNjcmVlbkd0ay5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1BsYXRmb3JtU2Ny
ZWVuR3RrLmNwcAkocmV2aXNpb24gMTA2NTc2KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3RrL1BsYXRmb3JtU2NyZWVuR3RrLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzEsNyArMzEsNiBA
QAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU2NyZWVuLmgiCiAKLSNp
bmNsdWRlICJGcmFtZVZpZXcuaCIKICNpbmNsdWRlICJHdGtWZXJzaW9uaW5nLmgiCiAjaW5jbHVk
ZSAiSG9zdFdpbmRvdy5oIgogI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCkBAIC0xMDEsOSAr
MTAwLDkgQEAgc3RhdGljIEdka1NjcmVlbiogZ2V0U2NyZWVuKEd0a1dpZGdldCogdwogICAgIHJl
dHVybiBndGtfd2lkZ2V0X2hhc19zY3JlZW4od2lkZ2V0KSA/IGd0a193aWRnZXRfZ2V0X3NjcmVl
bih3aWRnZXQpIDogZ2RrX3NjcmVlbl9nZXRfZGVmYXVsdCgpOwogfQogCi1GbG9hdFJlY3Qgc2Ny
ZWVuUmVjdChGcmFtZVZpZXcqIGZyYW1lVmlldykKK0Zsb2F0UmVjdCBzY3JlZW5SZWN0KFdpZGdl
dCogd2lkZ2V0KQogewotICAgIEd0a1dpZGdldCogY29udGFpbmVyID0gZnJhbWVWaWV3ID8gR1RL
X1dJREdFVChmcmFtZVZpZXctPnJvb3QoKS0+aG9zdFdpbmRvdygpLT5wbGF0Zm9ybVBhZ2VDbGll
bnQoKSkgOiAwOworICAgIEd0a1dpZGdldCogY29udGFpbmVyID0gd2lkZ2V0ID8gR1RLX1dJREdF
VCh3aWRnZXQtPnJvb3QoKS0+aG9zdFdpbmRvdygpLT5wbGF0Zm9ybVBhZ2VDbGllbnQoKSkgOiAw
OwogICAgIGlmIChjb250YWluZXIpCiAgICAgICAgIGNvbnRhaW5lciA9IGdldFRvcGxldmVsKGNv
bnRhaW5lcik7CiAKQEAgLTExOSwxMSArMTE4LDExIEBAIEZsb2F0UmVjdCBzY3JlZW5SZWN0KEZy
YW1lVmlldyogZnJhbWVWaWUKICAgICByZXR1cm4gRmxvYXRSZWN0KGdlb21ldHJ5LngsIGdlb21l
dHJ5LnksIGdlb21ldHJ5LndpZHRoLCBnZW9tZXRyeS5oZWlnaHQpOwogfQogCi1GbG9hdFJlY3Qg
c2NyZWVuQXZhaWxhYmxlUmVjdChGcmFtZVZpZXcqIGZyYW1lVmlldykKK0Zsb2F0UmVjdCBzY3Jl
ZW5BdmFpbGFibGVSZWN0KFdpZGdldCogd2lkZ2V0KQogewotICAgIEd0a1dpZGdldCogY29udGFp
bmVyID0gZnJhbWVWaWV3ID8gR1RLX1dJREdFVChmcmFtZVZpZXctPnJvb3QoKS0+aG9zdFdpbmRv
dygpLT5wbGF0Zm9ybVBhZ2VDbGllbnQoKSkgOiAwOworICAgIEd0a1dpZGdldCogY29udGFpbmVy
ID0gd2lkZ2V0ID8gR1RLX1dJREdFVCh3aWRnZXQtPnJvb3QoKS0+aG9zdFdpbmRvdygpLT5wbGF0
Zm9ybVBhZ2VDbGllbnQoKSkgOiAwOwogICAgIGlmIChjb250YWluZXIgJiYgIWd0a193aWRnZXRf
Z2V0X3JlYWxpemVkKGNvbnRhaW5lcikpCi0gICAgICAgIHJldHVybiBzY3JlZW5SZWN0KGZyYW1l
Vmlldyk7CisgICAgICAgIHJldHVybiBzY3JlZW5SZWN0KHdpZGdldCk7CiAKICAgICBHZGtTY3Jl
ZW4qIHNjcmVlbiA9IGNvbnRhaW5lciA/IGdldFNjcmVlbihjb250YWluZXIpIDogZ2RrX3NjcmVl
bl9nZXRfZGVmYXVsdCgpOwogICAgIGlmICghc2NyZWVuKQpJbmRleDogU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWFjL1BsYXRmb3JtU2NyZWVuTWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21hYy9QbGF0Zm9ybVNjcmVlbk1hYy5tbQkocmV2aXNpb24gMTA2NTc2
KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1BsYXRmb3JtU2NyZWVuTWFjLm1tCSh3
b3JraW5nIGNvcHkpCkBAIC0yOCw4ICsyOCw4IEBACiAKICNpbXBvcnQgIkZsb2F0UmVjdC5oIgog
I2ltcG9ydCAiRnJhbWUuaCIKLSNpbXBvcnQgIkZyYW1lVmlldy5oIgogI2ltcG9ydCAiUGFnZS5o
IgorI2ltcG9ydCAiV2lkZ2V0LmgiCiAjaW1wb3J0ICJOb3RJbXBsZW1lbnRlZC5oIgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CkBAIC02NCwxNiArNjQsMTYgQEAgYm9vbCBzY3JlZW5Jc01vbm9jaHJv
bWUoV2lkZ2V0KikKIC8vIFRoZXNlIGZ1bmN0aW9ucyBzY2FsZSBiZXR3ZWVuIHNjcmVlbiBhbmQg
cGFnZSBjb29yZGluYXRlcyBiZWNhdXNlIEphdmFTY3JpcHQvRE9NIG9wZXJhdGlvbnMgCiAvLyBh
c3N1bWUgdGhhdCB0aGUgc2NyZWVuIGFuZCB0aGUgcGFnZSBzaGFyZSB0aGUgc2FtZSBjb29yZGlu
YXRlIHN5c3RlbS4KIAotRmxvYXRSZWN0IHNjcmVlblJlY3QoRnJhbWVWaWV3KiBmcmFtZVZpZXcp
CitGbG9hdFJlY3Qgc2NyZWVuUmVjdChXaWRnZXQqIHdpZGdldCkKIHsKLSAgICBOU1dpbmRvdyAq
d2luZG93ID0gZnJhbWVWaWV3ID8gW2ZyYW1lVmlldy0+cGxhdGZvcm1XaWRnZXQoKSB3aW5kb3dd
IDogbmlsOwotICAgIHJldHVybiB0b1VzZXJTcGFjZShbc2NyZWVuRm9yV2luZG93KHdpbmRvdykg
ZnJhbWVdLCB3aW5kb3csIFdlYkNvcmU6OmRldmljZVNjYWxlRmFjdG9yKGZyYW1lVmlldy0+ZnJh
bWUoKSkpOworICAgIE5TV2luZG93ICp3aW5kb3cgPSB3aWRnZXQgPyBbd2lkZ2V0LT5wbGF0Zm9y
bVdpZGdldCgpIHdpbmRvd10gOiBuaWw7CisgICAgcmV0dXJuIHRvVXNlclNwYWNlKFtzY3JlZW5G
b3JXaW5kb3cod2luZG93KSBmcmFtZV0sIHdpbmRvdyk7CiB9CiAKLUZsb2F0UmVjdCBzY3JlZW5B
dmFpbGFibGVSZWN0KEZyYW1lVmlldyogZnJhbWVWaWV3KQorRmxvYXRSZWN0IHNjcmVlbkF2YWls
YWJsZVJlY3QoV2lkZ2V0KiB3aWRnZXQpCiB7Ci0gICAgTlNXaW5kb3cgKndpbmRvdyA9IGZyYW1l
VmlldyA/IFtmcmFtZVZpZXctPnBsYXRmb3JtV2lkZ2V0KCkgd2luZG93XSA6IG5pbDsKLSAgICBy
ZXR1cm4gdG9Vc2VyU3BhY2UoW3NjcmVlbkZvcldpbmRvdyh3aW5kb3cpIHZpc2libGVGcmFtZV0s
IHdpbmRvdywgV2ViQ29yZTo6ZGV2aWNlU2NhbGVGYWN0b3IoZnJhbWVWaWV3LT5mcmFtZSgpKSk7
CisgICAgTlNXaW5kb3cgKndpbmRvdyA9IHdpZGdldCA/IFt3aWRnZXQtPnBsYXRmb3JtV2lkZ2V0
KCkgd2luZG93XSA6IG5pbDsKKyAgICByZXR1cm4gdG9Vc2VyU3BhY2UoW3NjcmVlbkZvcldpbmRv
dyh3aW5kb3cpIHZpc2libGVGcmFtZV0sIHdpbmRvdyk7CiB9CiAKIE5TU2NyZWVuICpzY3JlZW5G
b3JXaW5kb3coTlNXaW5kb3cgKndpbmRvdykKQEAgLTg5LDE4ICs4OSwxNiBAQCBOU1NjcmVlbiAq
c2NyZWVuRm9yV2luZG93KE5TV2luZG93ICp3aW5kCiAgICAgcmV0dXJuIG5pbDsKIH0KIAotRmxv
YXRSZWN0IHRvVXNlclNwYWNlKGNvbnN0IE5TUmVjdCYgcmVjdCwgTlNXaW5kb3cgKmRlc3RpbmF0
aW9uLCBmbG9hdCBkZXZpY2VTY2FsZUZhY3RvcikKK0Zsb2F0UmVjdCB0b1VzZXJTcGFjZShjb25z
dCBOU1JlY3QmIHJlY3QsIE5TV2luZG93ICpkZXN0aW5hdGlvbikKIHsKICAgICBGbG9hdFJlY3Qg
dXNlclJlY3QgPSByZWN0OwogICAgIHVzZXJSZWN0LnNldFkoTlNNYXhZKFtzY3JlZW5Gb3JXaW5k
b3coZGVzdGluYXRpb24pIGZyYW1lXSkgLSAodXNlclJlY3QueSgpICsgdXNlclJlY3QuaGVpZ2h0
KCkpKTsgLy8gZmxpcAotICAgIHVzZXJSZWN0LnNjYWxlKDEgLyBkZXZpY2VTY2FsZUZhY3Rvcik7
IC8vIHNjYWxlIGRvd24KICAgICByZXR1cm4gdXNlclJlY3Q7CiB9CiAKLU5TUmVjdCB0b0Rldmlj
ZVNwYWNlKGNvbnN0IEZsb2F0UmVjdCYgcmVjdCwgTlNXaW5kb3cgKnNvdXJjZSwgZmxvYXQgZGV2
aWNlU2NhbGVGYWN0b3IpCitOU1JlY3QgdG9EZXZpY2VTcGFjZShjb25zdCBGbG9hdFJlY3QmIHJl
Y3QsIE5TV2luZG93ICpzb3VyY2UpCiB7CiAgICAgRmxvYXRSZWN0IGRldmljZVJlY3QgPSByZWN0
OwotICAgIGRldmljZVJlY3Quc2NhbGUoZGV2aWNlU2NhbGVGYWN0b3IpOyAvLyBzY2FsZSB1cAog
ICAgIGRldmljZVJlY3Quc2V0WShOU01heFkoW3NjcmVlbkZvcldpbmRvdyhzb3VyY2UpIGZyYW1l
XSkgLSAoZGV2aWNlUmVjdC55KCkgKyBkZXZpY2VSZWN0LmhlaWdodCgpKSk7IC8vIGZsaXAKICAg
ICByZXR1cm4gZGV2aWNlUmVjdDsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0
L1BsYXRmb3JtU2NyZWVuUXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3F0L1BsYXRmb3JtU2NyZWVuUXQuY3BwCShyZXZpc2lvbiAxMDY1NzYpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9xdC9QbGF0Zm9ybVNjcmVlblF0LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzMsNyArMzMsNiBAQAogCiAjaW5jbHVkZSAiRmxvYXRSZWN0LmgiCiAjaW5jbHVkZSAiRnJh
bWUuaCIKLSNpbmNsdWRlICJGcmFtZVZpZXcuaCIKICNpbmNsdWRlICJIb3N0V2luZG93LmgiCiAj
aW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRlICJXaWRnZXQuaCIKQEAgLTEwMiwx
NSArMTAxLDE1IEBAIGJvb2wgc2NyZWVuSXNNb25vY2hyb21lKFdpZGdldCogdykKICAgICByZXR1
cm4gUUFwcGxpY2F0aW9uOjpkZXNrdG9wKCktPnNjcmVlbihzY3JlZW5OdW1iZXIodykpLT5jb2xv
ckNvdW50KCkgPT0gMjsKIH0KIAotRmxvYXRSZWN0IHNjcmVlblJlY3QoRnJhbWVWaWV3KiBmcmFt
ZVZpZXcpCitGbG9hdFJlY3Qgc2NyZWVuUmVjdChXaWRnZXQqIHdpZGdldCkKIHsKLSAgICBRUmVj
dCByID0gUUFwcGxpY2F0aW9uOjpkZXNrdG9wKCktPnNjcmVlbkdlb21ldHJ5KHNjcmVlbk51bWJl
cihmcmFtZVZpZXcpKTsKKyAgICBRUmVjdCByID0gUUFwcGxpY2F0aW9uOjpkZXNrdG9wKCktPnNj
cmVlbkdlb21ldHJ5KHNjcmVlbk51bWJlcih3aWRnZXQpKTsKICAgICByZXR1cm4gRmxvYXRSZWN0
KHIueCgpLCByLnkoKSwgci53aWR0aCgpLCByLmhlaWdodCgpKTsKIH0KIAotRmxvYXRSZWN0IHNj
cmVlbkF2YWlsYWJsZVJlY3QoRnJhbWVWaWV3KiBmcmFtZVZpZXcpCitGbG9hdFJlY3Qgc2NyZWVu
QXZhaWxhYmxlUmVjdChXaWRnZXQqIHdpZGdldCkKIHsKLSAgICBRUmVjdCByID0gUUFwcGxpY2F0
aW9uOjpkZXNrdG9wKCktPmF2YWlsYWJsZUdlb21ldHJ5KHNjcmVlbk51bWJlcihmcmFtZVZpZXcp
KTsKKyAgICBRUmVjdCByID0gUUFwcGxpY2F0aW9uOjpkZXNrdG9wKCktPmF2YWlsYWJsZUdlb21l
dHJ5KHNjcmVlbk51bWJlcih3aWRnZXQpKTsKICAgICByZXR1cm4gRmxvYXRSZWN0KHIueCgpLCBy
LnkoKSwgci53aWR0aCgpLCByLmhlaWdodCgpKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vd2luL1BsYXRmb3JtU2NyZWVuV2luLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS93aW4vUGxhdGZvcm1TY3JlZW5XaW4uY3BwCShyZXZpc2lvbiAxMDY1
NzYpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vUGxhdGZvcm1TY3JlZW5XaW4uY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0yOSw3ICsyOSw2IEBACiAKICNpbmNsdWRlICJGbG9hdFJlY3Qu
aCIKICNpbmNsdWRlICJGcmFtZS5oIgotI2luY2x1ZGUgIkZyYW1lVmlldy5oIgogI2luY2x1ZGUg
Ikhvc3RXaW5kb3cuaCIKICNpbmNsdWRlICJJbnRSZWN0LmgiCiAjaW5jbHVkZSAiTm90SW1wbGVt
ZW50ZWQuaCIKQEAgLTEwNiwxNSArMTA1LDE1IEBAIGJvb2wgc2NyZWVuSXNNb25vY2hyb21lKFdp
ZGdldCogd2lkZ2V0KQogI2VuZGlmCiB9CiAKLUZsb2F0UmVjdCBzY3JlZW5SZWN0KEZyYW1lVmll
dyogZnJhbWVWaWV3KQorRmxvYXRSZWN0IHNjcmVlblJlY3QoV2lkZ2V0KiB3aWRnZXQpCiB7Ci0g
ICAgTU9OSVRPUklORk9FWCBtb25pdG9ySW5mbyA9IG1vbml0b3JJbmZvRm9yV2lkZ2V0KGZyYW1l
Vmlldyk7CisgICAgTU9OSVRPUklORk9FWCBtb25pdG9ySW5mbyA9IG1vbml0b3JJbmZvRm9yV2lk
Z2V0KHdpZGdldCk7CiAgICAgcmV0dXJuIG1vbml0b3JJbmZvLnJjTW9uaXRvcjsKIH0KIAotRmxv
YXRSZWN0IHNjcmVlbkF2YWlsYWJsZVJlY3QoRnJhbWVWaWV3KiBmcmFtZVZpZXcpCitGbG9hdFJl
Y3Qgc2NyZWVuQXZhaWxhYmxlUmVjdChXaWRnZXQqIHdpZGdldCkKIHsKLSAgICBNT05JVE9SSU5G
T0VYIG1vbml0b3JJbmZvID0gbW9uaXRvckluZm9Gb3JXaWRnZXQoZnJhbWVWaWV3KTsKKyAgICBN
T05JVE9SSU5GT0VYIG1vbml0b3JJbmZvID0gbW9uaXRvckluZm9Gb3JXaWRnZXQod2lkZ2V0KTsK
ICAgICByZXR1cm4gbW9uaXRvckluZm8ucmNXb3JrOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS93eC9TY3JlZW5XeC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vd3gvU2NyZWVuV3guY3BwCShyZXZpc2lvbiAxMDY1NzYpCisrKyBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS93eC9TY3JlZW5XeC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI4LDcgKzI4
LDYgQEAKICNpbmNsdWRlICJTY3JlZW4uaCIKICNpbmNsdWRlICJJbnRSZWN0LmgiCiAjaW5jbHVk
ZSAiRmxvYXRSZWN0LmgiCi0jaW5jbHVkZSAiRnJhbWVWaWV3LmgiCiAjaW5jbHVkZSAiTm90SW1w
bGVtZW50ZWQuaCIKICNpbmNsdWRlICJXaWRnZXQuaCIKIApAQCAtNDksNyArNDgsNyBAQCBpbnQg
c2NyZWVuVmVydGljYWxEUEkoV2lkZ2V0KikKICAgICByZXR1cm4gMDsKIH0KICAgICAKLUZsb2F0
UmVjdCBzY3JlZW5SZWN0KEZyYW1lVmlldyogZnJhbWVWaWV3KQorRmxvYXRSZWN0IHNjcmVlblJl
Y3QoV2lkZ2V0KiB3aWRnZXQpCiB7CiAvKgogICAgIGludCBkaXNwbGF5TnVtOwpAQCAtNzgsNyAr
NzcsNyBAQCBib29sIHNjcmVlbklzTW9ub2Nocm9tZShXaWRnZXQqIHdpZGdldCkKICAgICByZXR1
cm4gd3hDb2xvdXJEaXNwbGF5KCk7CiB9CiAKLUZsb2F0UmVjdCBzY3JlZW5BdmFpbGFibGVSZWN0
KEZyYW1lVmlldyogZnJhbWVWaWV3KQorRmxvYXRSZWN0IHNjcmVlbkF2YWlsYWJsZVJlY3QoV2lk
Z2V0KiB3aWRnZXQpCiB7CiAvKgogICAgIFdpZGdldCogd2lkZ2V0ID0gd2lkZ2V0LT53aWRnZXQo
KTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwNjYwNSkKKysrIFNvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDEyLTAyLTAyICBCZXRo
IERha2luICA8YmRha2luQGFwcGxlLmNvbT4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc2OTEKKyAgICAgICAgRml4IFBsYXRmb3JtU2NyZWVuIGxh
eWVyaW5nIHZpb2xhdGlvbiBhbmQgUGxhdGZvcm1TY3JlZW5NYWMncyBpbmNvcnJlY3QgdXNlIAor
ICAgICAgICBvZiBkZXZpY2Ugc2NhbGUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICB0b1VzZXJTcGFjZSgpIGFuZCB0b0RldmljZVNwYWNlKCkgZG9uJ3Qg
bmVlZCB0byB0YWtlIGRldmljZSBzY2FsZS4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL21hYy9X
S1ZpZXcubW06CisgICAgICAgICgtW1dLVmlldyBfY29udmVydFRvRGV2aWNlU3BhY2U6XSk6Cisg
ICAgICAgICgtW1dLVmlldyBfY29udmVydFRvVXNlclNwYWNlOl0pOgorCiAyMDEyLTAyLTAyICBK
b24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4KIAogICAgICAgICBDbGVhciBzaG93biBub3RpZmlj
YXRpb25zIHdoZW4gY29udGV4dCBpcyBubyBsb25nZXIgYWN0aXZlCkluZGV4OiBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tCShyZXZpc2lvbiAxMDY1NzYpCisrKyBT
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0JKHdvcmtpbmcgY29weSkK
QEAgLTIyNzksMTIgKzIyNzksMTIgQEAgLSAoQk9PTClfaW50ZXJwcmV0S2V5RXZlbnQ6KE5TRXZl
bnQgKilldgogCiAtIChOU1JlY3QpX2NvbnZlcnRUb0RldmljZVNwYWNlOihOU1JlY3QpcmVjdAog
ewotICAgIHJldHVybiB0b0RldmljZVNwYWNlKHJlY3QsIFtzZWxmIHdpbmRvd10sIF9kYXRhLT5f
cGFnZS0+ZGV2aWNlU2NhbGVGYWN0b3IoKSk7CisgICAgcmV0dXJuIHRvRGV2aWNlU3BhY2UocmVj
dCwgW3NlbGYgd2luZG93XSk7CiB9CiAKIC0gKE5TUmVjdClfY29udmVydFRvVXNlclNwYWNlOihO
U1JlY3QpcmVjdAogewotICAgIHJldHVybiB0b1VzZXJTcGFjZShyZWN0LCBbc2VsZiB3aW5kb3dd
LCBfZGF0YS0+X3BhZ2UtPmRldmljZVNjYWxlRmFjdG9yKCkpOworICAgIHJldHVybiB0b1VzZXJT
cGFjZShyZWN0LCBbc2VsZiB3aW5kb3ddKTsKIH0KIAogLy8gQW55IG5vbi16ZXJvIHZhbHVlIHdp
bGwgZG8sIGJ1dCB1c2luZyBzb21ldGhpbmcgcmVjb2duaXphYmxlIG1pZ2h0IGhlbHAgdXMgZGVi
dWcgc29tZSBkYXkuCkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwkocmV2aXNpb24gMTA2
NjA2KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwxNiBAQAorMjAxMi0wMi0wMiAgQmV0aCBEYWtpbiAgPGJkYWtpbkBhcHBsZS5j
b20+CisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3
NjkxCisgICAgICAgIEZpeCBQbGF0Zm9ybVNjcmVlbiBsYXllcmluZyB2aW9sYXRpb24gYW5kIFBs
YXRmb3JtU2NyZWVuTWFjJ3MgaW5jb3JyZWN0IHVzZSAKKyAgICAgICAgb2YgZGV2aWNlIHNjYWxl
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlc2Ug
dHdvIGZ1bmN0aW9ucyBub3cgdGFrZSBhIFdpZGdldCBhZ2FpbiByYXRoZXIgdGhhbiBhIEZyYW1l
Vmlldy4KKyAgICAgICAgKiBzcmMvUGxhdGZvcm1TdXBwb3J0LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlBsYXRmb3JtU3VwcG9ydDo6c2NyZWVuUmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0
Zm9ybVN1cHBvcnQ6OnNjcmVlbkF2YWlsYWJsZVJlY3QpOgorCiAyMDEyLTAyLTAyICBUb21teSBX
aWRlbmZseWNodCAgPHRvbW15d0Bnb29nbGUuY29tPgogCiAgICAgICAgIFtjaHJvbWl1bV0gTWVk
aWFTdHJlYW0gQVBJOiBBZGRpbmcgdGhlIGVtYmVkZGluZyBjb2RlIGZvciBNZWRpYVN0cmVhbUNl
bnRlcgpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvUGxhdGZvcm1TdXBwb3J0LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9QbGF0Zm9ybVN1cHBv
cnQuY3BwCShyZXZpc2lvbiAxMDY1NzYpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Q
bGF0Zm9ybVN1cHBvcnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDkyLDE3ICsxMDkyLDE3IEBA
IGJvb2wgUGxhdGZvcm1TdXBwb3J0OjpzY3JlZW5Jc01vbm9jaHJvbWUKICAgICByZXR1cm4gY2xp
ZW50LT5zY3JlZW5JbmZvKCkuaXNNb25vY2hyb21lOwogfQogCi1JbnRSZWN0IFBsYXRmb3JtU3Vw
cG9ydDo6c2NyZWVuUmVjdChGcmFtZVZpZXcqIGZyYW1lVmlldykKK0ludFJlY3QgUGxhdGZvcm1T
dXBwb3J0OjpzY3JlZW5SZWN0KFdpZGdldCogd2lkZ2V0KQogewotICAgIFdlYldpZGdldENsaWVu
dCogY2xpZW50ID0gdG9XZWJXaWRnZXRDbGllbnQoZnJhbWVWaWV3KTsKKyAgICBXZWJXaWRnZXRD
bGllbnQqIGNsaWVudCA9IHRvV2ViV2lkZ2V0Q2xpZW50KHdpZGdldCk7CiAgICAgaWYgKCFjbGll
bnQpCiAgICAgICAgIHJldHVybiBJbnRSZWN0KCk7CiAgICAgcmV0dXJuIGNsaWVudC0+c2NyZWVu
SW5mbygpLnJlY3Q7CiB9CiAKLUludFJlY3QgUGxhdGZvcm1TdXBwb3J0OjpzY3JlZW5BdmFpbGFi
bGVSZWN0KEZyYW1lVmlldyogZnJhbWVWaWV3KQorSW50UmVjdCBQbGF0Zm9ybVN1cHBvcnQ6OnNj
cmVlbkF2YWlsYWJsZVJlY3QoV2lkZ2V0KiB3aWRnZXQpCiB7Ci0gICAgV2ViV2lkZ2V0Q2xpZW50
KiBjbGllbnQgPSB0b1dlYldpZGdldENsaWVudChmcmFtZVZpZXcpOworICAgIFdlYldpZGdldENs
aWVudCogY2xpZW50ID0gdG9XZWJXaWRnZXRDbGllbnQod2lkZ2V0KTsKICAgICBpZiAoIWNsaWVu
dCkKICAgICAgICAgcmV0dXJuIEludFJlY3QoKTsKICAgICByZXR1cm4gY2xpZW50LT5zY3JlZW5J
bmZvKCkuYXZhaWxhYmxlUmVjdDsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwNjYw
NikKKysrIFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE3IEBACisyMDEyLTAyLTAyICBCZXRoIERha2luICA8YmRha2luQGFwcGxlLmNvbT4KKwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc2OTEKKyAg
ICAgICAgRml4IFBsYXRmb3JtU2NyZWVuIGxheWVyaW5nIHZpb2xhdGlvbiBhbmQgUGxhdGZvcm1T
Y3JlZW5NYWMncyBpbmNvcnJlY3QgdXNlIAorICAgICAgICBvZiBkZXZpY2Ugc2NhbGUKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICB0b1VzZXJTcGFjZSgp
IGFuZCB0b0RldmljZVNwYWNlKCkgZG9uJ3QgbmVlZCB0byB0YWtlIGRldmljZSBzY2FsZS4gQWxz
byAKKyAgICAgICAgcmVzdG9yZSBhIGNvbW1lbnQgdGhhdCBJIG5lZWRsZXNzbHkgcmVtb3ZlZC4K
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW06CisgICAgICAgIChX
ZWJDaHJvbWVDbGllbnQ6OnNldFdpbmRvd1JlY3QpOgorICAgICAgICAoV2ViQ2hyb21lQ2xpZW50
Ojp3aW5kb3dSZWN0KToKKwogMjAxMi0wMi0wMSAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUu
Y29tPgogCiAgICAgICAgIFdlYktpdC9tYWMgcGFydCBvZiA8cmRhcjovL3Byb2JsZW0vMTA0NDI2
NjM+IFBhZ2luYXRlZCBkaXNwbGF5IGRvZXMgbm90IHJlc3BlY3QgcGFnZS1icmVhay17YmVmb3Jl
LGFmdGVyfQpJbmRleDogU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0
L1dlYkNocm9tZUNsaWVudC5tbQkocmV2aXNpb24gMTA2NTc2KQorKysgU291cmNlL1dlYktpdC9t
YWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0x
NTAsMTYgKzE1MCwxOSBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6Y2hyb21lRGVzdHJveWVkKCkK
ICAgICBkZWxldGUgdGhpczsKIH0KIAorLy8gVGhlc2UgZnVuY3Rpb25zIHNjYWxlIGJldHdlZW4g
d2luZG93IGFuZCBXZWJWaWV3IGNvb3JkaW5hdGVzIGJlY2F1c2UgSmF2YVNjcmlwdC9ET00gb3Bl
cmF0aW9ucyAKKy8vIGFzc3VtZSB0aGF0IHRoZSBXZWJWaWV3IGFuZCB0aGUgd2luZG93IHNoYXJl
IHRoZSBzYW1lIGNvb3JkaW5hdGUgc3lzdGVtLgorCiB2b2lkIFdlYkNocm9tZUNsaWVudDo6c2V0
V2luZG93UmVjdChjb25zdCBGbG9hdFJlY3QmIHJlY3QpCiB7Ci0gICAgTlNSZWN0IHdpbmRvd1Jl
Y3QgPSB0b0RldmljZVNwYWNlKHJlY3QsIFttX3dlYlZpZXcgd2luZG93XSwgW21fd2ViVmlldyBf
YmFja2luZ1NjYWxlRmFjdG9yXSk7CisgICAgTlNSZWN0IHdpbmRvd1JlY3QgPSB0b0RldmljZVNw
YWNlKHJlY3QsIFttX3dlYlZpZXcgd2luZG93XSk7CiAgICAgW1ttX3dlYlZpZXcgX1VJRGVsZWdh
dGVGb3J3YXJkZXJdIHdlYlZpZXc6bV93ZWJWaWV3IHNldEZyYW1lOndpbmRvd1JlY3RdOwogfQog
CiBGbG9hdFJlY3QgV2ViQ2hyb21lQ2xpZW50Ojp3aW5kb3dSZWN0KCkKIHsKICAgICBOU1JlY3Qg
d2luZG93UmVjdCA9IFtbbV93ZWJWaWV3IF9VSURlbGVnYXRlRm9yd2FyZGVyXSB3ZWJWaWV3RnJh
bWU6bV93ZWJWaWV3XTsKLSAgICByZXR1cm4gdG9Vc2VyU3BhY2Uod2luZG93UmVjdCwgW21fd2Vi
VmlldyB3aW5kb3ddLCBbbV93ZWJWaWV3IF9iYWNraW5nU2NhbGVGYWN0b3JdKTsKKyAgICByZXR1
cm4gdG9Vc2VyU3BhY2Uod2luZG93UmVjdCwgW21fd2ViVmlldyB3aW5kb3ddKTsKIH0KIAogLy8g
RklYTUU6IFdlIG5lZWQgdG8gYWRkIEFQSSBmb3Igc2V0dGluZyBhbmQgZ2V0dGluZyB0aGlzLgo=
</data>
<flag name="commit-queue"
          id="126666"
          type_id="3"
          status="-"
          setter="webkit-ews"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>125218</attachid>
            <date>2012-02-02 17:44:23 -0800</date>
            <delta_ts>2012-02-03 11:22:31 -0800</delta_ts>
            <desc>Patch trying to fix bots</desc>
            <filename>for-review-2.txt</filename>
            <type>text/plain</type>
            <size>20819</size>
            <attacher name="Beth Dakin">bdakin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwNjYwNSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ5IEBACisyMDEyLTAyLTAyICBCZXRoIERh
a2luICA8YmRha2luQGFwcGxlLmNvbT4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9Nzc2OTEKKyAgICAgICAgRml4IFBsYXRmb3JtU2NyZWVuIGxheWVy
aW5nIHZpb2xhdGlvbiBhbmQgUGxhdGZvcm1TY3JlZW5NYWMncyBpbmNvcnJlY3QgdXNlIAorICAg
ICAgICBvZiBkZXZpY2Ugc2NhbGUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBNYWtlIHNjcmVlbkF2YWlsYWJsZVJlY3QoKSBhbmQgc2NyZWVuUmVjdCgp
IHRha2UgYSBXaWRnZXQgYWdhaW4gaW5zdGVhZCBvZiBhIAorICAgICAgICBGcmFtZVZpZXcgc2lu
Y2UgdGFraW5nIGEgRnJhbWVWaWV3IGlzIGEgbGF5ZXJpbmcgdmlvbGF0aW9uLgorICAgICAgICAq
IFdlYkNvcmUuZXhwLmluOgorICAgICAgICAqIHBsYXRmb3JtL1BsYXRmb3JtU2NyZWVuLmg6Cisg
ICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ibGFja2JlcnJ5L1BsYXRmb3Jt
U2NyZWVuQmxhY2tCZXJyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzY3JlZW5BdmFpbGFibGVS
ZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OnNjcmVlblJlY3QpOgorICAgICAgICAqIHBsYXRmb3Jt
L2Nocm9taXVtL1BsYXRmb3JtU2NyZWVuQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
c2NyZWVuUmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpzY3JlZW5BdmFpbGFibGVSZWN0KToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybVN1cHBvcnQuaDoKKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAoUGxhdGZvcm1TdXBwb3J0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9l
ZmwvUGxhdGZvcm1TY3JlZW5FZmwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2NyZWVuUmVjdCk6
CisgICAgICAgIChXZWJDb3JlOjpzY3JlZW5BdmFpbGFibGVSZWN0KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ndGsvUGxhdGZvcm1TY3JlZW5HdGsuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2NyZWVu
UmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpzY3JlZW5BdmFpbGFibGVSZWN0KToKKyAgICAgICAg
KiBwbGF0Zm9ybS9xdC9QbGF0Zm9ybVNjcmVlblF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNj
cmVlblJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6c2NyZWVuQXZhaWxhYmxlUmVjdCk6CisgICAg
ICAgICogcGxhdGZvcm0vd2luL1BsYXRmb3JtU2NyZWVuV2luLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OnNjcmVlblJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6c2NyZWVuQXZhaWxhYmxlUmVjdCk6
CisgICAgICAgICogcGxhdGZvcm0vd3gvU2NyZWVuV3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6
c2NyZWVuUmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpzY3JlZW5BdmFpbGFibGVSZWN0KToKKwor
ICAgICAgICBJdCdzIHdyb25nIGZvciB0aGUgZGV2aWNlU2NhbGVGYWN0b3IgdG8gYmUgdGFrZW4g
aW50byBjb25zaWRlcmF0aW9uIGhlcmUgYXQgCisgICAgICAgIGFsbC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9tYWMvUGxhdGZvcm1TY3JlZW5NYWMubW06CisgICAgICAgIChXZWJDb3JlOjpzY3JlZW5S
ZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OnNjcmVlbkF2YWlsYWJsZVJlY3QpOgorICAgICAgICAo
V2ViQ29yZTo6dG9Vc2VyU3BhY2UpOgorICAgICAgICAoV2ViQ29yZTo6dG9EZXZpY2VTcGFjZSk6
CisKIDIwMTItMDEtMjkgIFBhYmxvIEZsb3VyZXQgIDxwYWJsb2ZAbW90b3JvbGEuY29tPgogCiAg
ICAgICAgIFY4IGlkbCBjb2RlIGdlbmVyYXRvciBkb2Vzbid0IGhhbmRsZSBTZXJpYWxpemVkU2Ny
aXB0VmFsdWUgYXR0cmlidXRlcyBwcm9wZXJseS4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZXhwLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCShy
ZXZpc2lvbiAxMDY1NzYpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgkod29ya2lu
ZyBjb3B5KQpAQCAtMjE5LDcgKzIxOSw3IEBAIF9fWk43V2ViQ29yZTExUmVuZGVyTGF5ZXIxOXNj
cm9sbFJlY3RUb1YKIF9fWk43V2ViQ29yZTExZ2xvYmFsUG9pbnRFUks4X05TUG9pbnRQOE5TV2lu
ZG93CiBfX1pON1dlYkNvcmUxMW1lbW9yeUNhY2hlRXYKIF9fWk43V2ViQ29yZTExc3RhcnRPZldv
cmRFUktOU18xNVZpc2libGVQb3NpdGlvbkVOU185RVdvcmRTaWRlRQotX19aTjdXZWJDb3JlMTF0
b1VzZXJTcGFjZUVSSzdfTlNSZWN0UDhOU1dpbmRvd2YKK19fWk43V2ViQ29yZTExdG9Vc2VyU3Bh
Y2VFUks3X05TUmVjdFA4TlNXaW5kb3cKIF9fWk43V2ViQ29yZTExd3JpdGVUb0ZpbGVFaVBLY2kK
IF9fWk43V2ViQ29yZTEyQ2hyb21lQ2xpZW50MjNwYWludEN1c3RvbU92ZXJoYW5nQXJlYUVQTlNf
MTVHcmFwaGljc0NvbnRleHRFUktOU183SW50UmVjdEVTNV9TNV8KIF9fWk43V2ViQ29yZTEyRWRp
dGluZ1N0eWxlRDFFdgpAQCAtMzI4LDcgKzMyOCw3IEBAIF9fWk43V2ViQ29yZTEzUmVzb3VyY2VF
cnJvckMxRVA5X19DRkVycm8KIF9fWk43V2ViQ29yZTEzVHlwaW5nQ29tbWFuZDM5aW5zZXJ0UGFy
YWdyYXBoU2VwYXJhdG9ySW5RdW90ZWRDb250ZW50RVBOU184RG9jdW1lbnRFCiBfX1pON1dlYkNv
cmUxM2NyZWF0ZVdyYXBwZXJFUE4zSlNDOUV4ZWNTdGF0ZUVQTlNfMTdKU0RPTUdsb2JhbE9iamVj
dEVQTlNfNE5vZGVFCiBfX1pON1dlYkNvcmUxM2RpcmVjdG9yeU5hbWVFUktOM1dURjZTdHJpbmdF
Ci1fX1pON1dlYkNvcmUxM3RvRGV2aWNlU3BhY2VFUktOU185RmxvYXRSZWN0RVA4TlNXaW5kb3dm
CitfX1pON1dlYkNvcmUxM3RvRGV2aWNlU3BhY2VFUktOU185RmxvYXRSZWN0RVA4TlNXaW5kb3cK
IF9fWk43V2ViQ29yZTEzdG9IVE1MRWxlbWVudEVQTlNfMjFGb3JtQXNzb2NpYXRlZEVsZW1lbnRF
CiBfX1pON1dlYkNvcmUxM3RvSlNET01XaW5kb3dFTjNKU0M3SlNWYWx1ZUUKIF9fWk43V2ViQ29y
ZTE0Q2FjaGVkUmVzb3VyY2UxMnJlbW92ZUNsaWVudEVQTlNfMjBDYWNoZWRSZXNvdXJjZUNsaWVu
dEUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtU2NyZWVuLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1TY3JlZW4uaAkocmV2aXNp
b24gMTA2NTc2KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1TY3JlZW4uaAko
d29ya2luZyBjb3B5KQpAQCAtNDAsNyArNDAsNiBAQCB0eXBlZGVmIHVpbnQzMl90IFBsYXRmb3Jt
RGlzcGxheUlEOwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgRmxvYXRSZWN0Owot
ICAgIGNsYXNzIEZyYW1lVmlldzsKICAgICBjbGFzcyBXaWRnZXQ7CiAKICAgICBpbnQgc2NyZWVu
SG9yaXpvbnRhbERQSShXaWRnZXQqKTsKQEAgLTQ5LDE0ICs0OCwxNCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgaW50IHNjcmVlbkRlcHRoUGVyQ29tcG9uZW50KFdpZGdldCopOwogICAgIGJv
b2wgc2NyZWVuSXNNb25vY2hyb21lKFdpZGdldCopOwogCi0gICAgRmxvYXRSZWN0IHNjcmVlblJl
Y3QoRnJhbWVWaWV3Kik7Ci0gICAgRmxvYXRSZWN0IHNjcmVlbkF2YWlsYWJsZVJlY3QoRnJhbWVW
aWV3Kik7CisgICAgRmxvYXRSZWN0IHNjcmVlblJlY3QoV2lkZ2V0Kik7CisgICAgRmxvYXRSZWN0
IHNjcmVlbkF2YWlsYWJsZVJlY3QoV2lkZ2V0Kik7CiAKICNpZiBQTEFURk9STShNQUMpCiAgICAg
TlNTY3JlZW4gKnNjcmVlbkZvcldpbmRvdyhOU1dpbmRvdyAqKTsKIAotICAgIEZsb2F0UmVjdCB0
b1VzZXJTcGFjZShjb25zdCBOU1JlY3QmLCBOU1dpbmRvdyAqZGVzdGluYXRpb24sIGZsb2F0IGRl
dmljZVNjYWxlRmFjdG9yKTsKLSAgICBOU1JlY3QgdG9EZXZpY2VTcGFjZShjb25zdCBGbG9hdFJl
Y3QmLCBOU1dpbmRvdyAqc291cmNlLCBmbG9hdCBkZXZpY2VTY2FsZUZhY3Rvcik7CisgICAgRmxv
YXRSZWN0IHRvVXNlclNwYWNlKGNvbnN0IE5TUmVjdCYsIE5TV2luZG93ICpkZXN0aW5hdGlvbik7
CisgICAgTlNSZWN0IHRvRGV2aWNlU3BhY2UoY29uc3QgRmxvYXRSZWN0JiwgTlNXaW5kb3cgKnNv
dXJjZSk7CiAKICAgICBOU1BvaW50IGZsaXBTY3JlZW5Qb2ludChjb25zdCBOU1BvaW50JiwgTlNT
Y3JlZW4gKik7CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVy
cnkvUGxhdGZvcm1TY3JlZW5CbGFja0JlcnJ5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L1BsYXRmb3JtU2NyZWVuQmxhY2tCZXJyeS5jcHAJKHJl
dmlzaW9uIDEwNjU3NikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvUGxh
dGZvcm1TY3JlZW5CbGFja0JlcnJ5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjAsNyArMjAsNiBA
QAogI2luY2x1ZGUgIlBsYXRmb3JtU2NyZWVuLmgiCiAKICNpbmNsdWRlICJGbG9hdFJlY3QuaCIK
LSNpbmNsdWRlICJGcmFtZVZpZXcuaCIKICNpbmNsdWRlICJXaWRnZXQuaCIKIAogI2luY2x1ZGUg
PEJsYWNrQmVycnlQbGF0Zm9ybVNjcmVlbi5oPgpAQCAtNDIsMTIgKzQxLDEyIEBAIGludCBzY3Jl
ZW5EZXB0aChXaWRnZXQqKQogICAgIHJldHVybiAyNDsKIH0KIAotRmxvYXRSZWN0IHNjcmVlbkF2
YWlsYWJsZVJlY3QoRnJhbWVWaWV3KiBmcmFtZVZpZXcpCitGbG9hdFJlY3Qgc2NyZWVuQXZhaWxh
YmxlUmVjdChXaWRnZXQqIHdpZGdldCkKIHsKICAgICByZXR1cm4gRmxvYXRSZWN0KEZsb2F0UG9p
bnQoKSwgRmxvYXRTaXplKEludFNpemUoQmxhY2tCZXJyeTo6UGxhdGZvcm06OkdyYXBoaWNzOjpT
Y3JlZW46OnNpemUoKSkpKTsKIH0KIAotRmxvYXRSZWN0IHNjcmVlblJlY3QoRnJhbWVWaWV3KiBm
cmFtZVZpZXcpCitGbG9hdFJlY3Qgc2NyZWVuUmVjdChXaWRnZXQqIHdpZGdldCkKIHsKICAgICBy
ZXR1cm4gRmxvYXRSZWN0KEZsb2F0UG9pbnQoKSwgRmxvYXRTaXplKEludFNpemUoQmxhY2tCZXJy
eTo6UGxhdGZvcm06OkdyYXBoaWNzOjpTY3JlZW46OnNpemUoKSkpKTsKIH0KSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtU2NyZWVuQ2hyb21pdW0uY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtU2Ny
ZWVuQ2hyb21pdW0uY3BwCShyZXZpc2lvbiAxMDY1NzYpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybVNjcmVlbkNocm9taXVtLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzEsNyArMzEsNiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlBsYXRmb3Jt
U2NyZWVuLmgiCiAKLSNpbmNsdWRlICJGcmFtZVZpZXcuaCIKICNpbmNsdWRlICJJbnRSZWN0Lmgi
CiAjaW5jbHVkZSAiUGxhdGZvcm1TdXBwb3J0LmgiCiAKQEAgLTYyLDE0ICs2MSwxNCBAQCBib29s
IHNjcmVlbklzTW9ub2Nocm9tZShXaWRnZXQqIHdpZGdldCkKICAgICByZXR1cm4gUGxhdGZvcm1T
dXBwb3J0OjpzY3JlZW5Jc01vbm9jaHJvbWUod2lkZ2V0KTsKIH0KIAotRmxvYXRSZWN0IHNjcmVl
blJlY3QoRnJhbWVWaWV3KiBmcmFtZVZpZXcpCitGbG9hdFJlY3Qgc2NyZWVuUmVjdChXaWRnZXQq
IHdpZGdldCkKIHsKLSAgICByZXR1cm4gUGxhdGZvcm1TdXBwb3J0OjpzY3JlZW5SZWN0KGZyYW1l
Vmlldyk7CisgICAgcmV0dXJuIFBsYXRmb3JtU3VwcG9ydDo6c2NyZWVuUmVjdCh3aWRnZXQpOwog
fQogCi1GbG9hdFJlY3Qgc2NyZWVuQXZhaWxhYmxlUmVjdChGcmFtZVZpZXcqIGZyYW1lVmlldykK
K0Zsb2F0UmVjdCBzY3JlZW5BdmFpbGFibGVSZWN0KFdpZGdldCogd2lkZ2V0KQogewotICAgIHJl
dHVybiBQbGF0Zm9ybVN1cHBvcnQ6OnNjcmVlbkF2YWlsYWJsZVJlY3QoZnJhbWVWaWV3KTsKKyAg
ICByZXR1cm4gUGxhdGZvcm1TdXBwb3J0OjpzY3JlZW5BdmFpbGFibGVSZWN0KHdpZGdldCk7CiB9
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2Nocm9taXVtL1BsYXRmb3JtU3VwcG9ydC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtU3VwcG9ydC5oCShyZXZpc2lvbiAxMDY1NzYpCisr
KyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybVN1cHBvcnQuaAkod29y
a2luZyBjb3B5KQpAQCAtNzEsNyArNzEsNiBAQCBjbGFzcyBDb2xvcjsKIGNsYXNzIEN1cnNvcjsK
IGNsYXNzIERvY3VtZW50OwogY2xhc3MgRnJhbWU7Ci1jbGFzcyBGcmFtZVZpZXc7CiBjbGFzcyBH
YW1lcGFkTGlzdDsKIGNsYXNzIEdlb2xvY2F0aW9uU2VydmljZUJyaWRnZTsKIGNsYXNzIEdlb2xv
Y2F0aW9uU2VydmljZUNocm9taXVtOwpAQCAtMjQ2LDggKzI0NSw4IEBAIHB1YmxpYzoKICAgICBz
dGF0aWMgaW50IHNjcmVlbkRlcHRoKFdpZGdldCopOwogICAgIHN0YXRpYyBpbnQgc2NyZWVuRGVw
dGhQZXJDb21wb25lbnQoV2lkZ2V0Kik7CiAgICAgc3RhdGljIGJvb2wgc2NyZWVuSXNNb25vY2hy
b21lKFdpZGdldCopOwotICAgIHN0YXRpYyBJbnRSZWN0IHNjcmVlblJlY3QoRnJhbWVWaWV3Kik7
Ci0gICAgc3RhdGljIEludFJlY3Qgc2NyZWVuQXZhaWxhYmxlUmVjdChGcmFtZVZpZXcqKTsKKyAg
ICBzdGF0aWMgSW50UmVjdCBzY3JlZW5SZWN0KFdpZGdldCopOworICAgIHN0YXRpYyBJbnRSZWN0
IHNjcmVlbkF2YWlsYWJsZVJlY3QoV2lkZ2V0Kik7CiAKICAgICAvLyBTaGFyZWRUaW1lcnMgLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAg
IHN0YXRpYyB2b2lkIHNldFNoYXJlZFRpbWVyRmlyZWRGdW5jdGlvbih2b2lkICgqZnVuYykoKSk7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvUGxhdGZvcm1TY3JlZW5FZmwuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9QbGF0Zm9ybVNjcmVl
bkVmbC5jcHAJKHJldmlzaW9uIDEwNjU3NikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Vm
bC9QbGF0Zm9ybVNjcmVlbkVmbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0LDcgKzM0LDYgQEAK
ICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVNjcmVlbi5oIgogCi0jaW5j
bHVkZSAiRnJhbWVWaWV3LmgiCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRl
ICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgIldpZGdldC5oIgpAQCAtNzQsMjMgKzczLDIz
IEBAIGJvb2wgc2NyZWVuSXNNb25vY2hyb21lKFdpZGdldCopCiAgICAgcmV0dXJuIGZhbHNlOwog
fQogCi1GbG9hdFJlY3Qgc2NyZWVuUmVjdChGcmFtZVZpZXcqIGZyYW1lVmlldykKK0Zsb2F0UmVj
dCBzY3JlZW5SZWN0KFdpZGdldCogd2lkZ2V0KQogewotICAgIGlmICghZnJhbWVWaWV3KQorICAg
IGlmICghd2lkZ2V0KQogICAgICAgICByZXR1cm4gRmxvYXRSZWN0KCk7CiAKICAgICBpbnQgeCwg
eSwgdywgaDsKLSAgICBFdmFzKiBlID0gZnJhbWVWaWV3LT5ldmFzKCk7CisgICAgRXZhcyogZSA9
IHdpZGdldC0+ZXZhcygpOwogCiAgICAgZWNvcmVfZXZhc19zY3JlZW5fZ2VvbWV0cnlfZ2V0KGVj
b3JlX2V2YXNfZWNvcmVfZXZhc19nZXQoZSksICZ4LCAmeSwgJncsICZoKTsKIAogICAgIHJldHVy
biBGbG9hdFJlY3QoeCwgeSwgdywgaCk7CiB9CiAKLUZsb2F0UmVjdCBzY3JlZW5BdmFpbGFibGVS
ZWN0KEZyYW1lVmlldyogZnJhbWVWaWV3KQorRmxvYXRSZWN0IHNjcmVlbkF2YWlsYWJsZVJlY3Qo
V2lkZ2V0KiB3aWRnZXQpCiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4gc2Ny
ZWVuUmVjdChmcmFtZVZpZXcpOworICAgIHJldHVybiBzY3JlZW5SZWN0KHdpZGdldCk7CiB9CiAK
IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9QbGF0Zm9ybVNjcmVlbkd0ay5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1BsYXRmb3JtU2Ny
ZWVuR3RrLmNwcAkocmV2aXNpb24gMTA2NTc2KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3RrL1BsYXRmb3JtU2NyZWVuR3RrLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzEsNyArMzEsNiBA
QAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU2NyZWVuLmgiCiAKLSNp
bmNsdWRlICJGcmFtZVZpZXcuaCIKICNpbmNsdWRlICJHdGtWZXJzaW9uaW5nLmgiCiAjaW5jbHVk
ZSAiSG9zdFdpbmRvdy5oIgogI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCkBAIC0xMDEsOSAr
MTAwLDkgQEAgc3RhdGljIEdka1NjcmVlbiogZ2V0U2NyZWVuKEd0a1dpZGdldCogdwogICAgIHJl
dHVybiBndGtfd2lkZ2V0X2hhc19zY3JlZW4od2lkZ2V0KSA/IGd0a193aWRnZXRfZ2V0X3NjcmVl
bih3aWRnZXQpIDogZ2RrX3NjcmVlbl9nZXRfZGVmYXVsdCgpOwogfQogCi1GbG9hdFJlY3Qgc2Ny
ZWVuUmVjdChGcmFtZVZpZXcqIGZyYW1lVmlldykKK0Zsb2F0UmVjdCBzY3JlZW5SZWN0KFdpZGdl
dCogd2lkZ2V0KQogewotICAgIEd0a1dpZGdldCogY29udGFpbmVyID0gZnJhbWVWaWV3ID8gR1RL
X1dJREdFVChmcmFtZVZpZXctPnJvb3QoKS0+aG9zdFdpbmRvdygpLT5wbGF0Zm9ybVBhZ2VDbGll
bnQoKSkgOiAwOworICAgIEd0a1dpZGdldCogY29udGFpbmVyID0gd2lkZ2V0ID8gR1RLX1dJREdF
VCh3aWRnZXQtPnJvb3QoKS0+aG9zdFdpbmRvdygpLT5wbGF0Zm9ybVBhZ2VDbGllbnQoKSkgOiAw
OwogICAgIGlmIChjb250YWluZXIpCiAgICAgICAgIGNvbnRhaW5lciA9IGdldFRvcGxldmVsKGNv
bnRhaW5lcik7CiAKQEAgLTExOSwxMSArMTE4LDExIEBAIEZsb2F0UmVjdCBzY3JlZW5SZWN0KEZy
YW1lVmlldyogZnJhbWVWaWUKICAgICByZXR1cm4gRmxvYXRSZWN0KGdlb21ldHJ5LngsIGdlb21l
dHJ5LnksIGdlb21ldHJ5LndpZHRoLCBnZW9tZXRyeS5oZWlnaHQpOwogfQogCi1GbG9hdFJlY3Qg
c2NyZWVuQXZhaWxhYmxlUmVjdChGcmFtZVZpZXcqIGZyYW1lVmlldykKK0Zsb2F0UmVjdCBzY3Jl
ZW5BdmFpbGFibGVSZWN0KFdpZGdldCogd2lkZ2V0KQogewotICAgIEd0a1dpZGdldCogY29udGFp
bmVyID0gZnJhbWVWaWV3ID8gR1RLX1dJREdFVChmcmFtZVZpZXctPnJvb3QoKS0+aG9zdFdpbmRv
dygpLT5wbGF0Zm9ybVBhZ2VDbGllbnQoKSkgOiAwOworICAgIEd0a1dpZGdldCogY29udGFpbmVy
ID0gd2lkZ2V0ID8gR1RLX1dJREdFVCh3aWRnZXQtPnJvb3QoKS0+aG9zdFdpbmRvdygpLT5wbGF0
Zm9ybVBhZ2VDbGllbnQoKSkgOiAwOwogICAgIGlmIChjb250YWluZXIgJiYgIWd0a193aWRnZXRf
Z2V0X3JlYWxpemVkKGNvbnRhaW5lcikpCi0gICAgICAgIHJldHVybiBzY3JlZW5SZWN0KGZyYW1l
Vmlldyk7CisgICAgICAgIHJldHVybiBzY3JlZW5SZWN0KHdpZGdldCk7CiAKICAgICBHZGtTY3Jl
ZW4qIHNjcmVlbiA9IGNvbnRhaW5lciA/IGdldFNjcmVlbihjb250YWluZXIpIDogZ2RrX3NjcmVl
bl9nZXRfZGVmYXVsdCgpOwogICAgIGlmICghc2NyZWVuKQpJbmRleDogU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWFjL1BsYXRmb3JtU2NyZWVuTWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21hYy9QbGF0Zm9ybVNjcmVlbk1hYy5tbQkocmV2aXNpb24gMTA2NTc2
KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1BsYXRmb3JtU2NyZWVuTWFjLm1tCSh3
b3JraW5nIGNvcHkpCkBAIC0yOCw4ICsyOCw4IEBACiAKICNpbXBvcnQgIkZsb2F0UmVjdC5oIgog
I2ltcG9ydCAiRnJhbWUuaCIKLSNpbXBvcnQgIkZyYW1lVmlldy5oIgogI2ltcG9ydCAiUGFnZS5o
IgorI2ltcG9ydCAiV2lkZ2V0LmgiCiAjaW1wb3J0ICJOb3RJbXBsZW1lbnRlZC5oIgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CkBAIC02NCwxNiArNjQsMTYgQEAgYm9vbCBzY3JlZW5Jc01vbm9jaHJv
bWUoV2lkZ2V0KikKIC8vIFRoZXNlIGZ1bmN0aW9ucyBzY2FsZSBiZXR3ZWVuIHNjcmVlbiBhbmQg
cGFnZSBjb29yZGluYXRlcyBiZWNhdXNlIEphdmFTY3JpcHQvRE9NIG9wZXJhdGlvbnMgCiAvLyBh
c3N1bWUgdGhhdCB0aGUgc2NyZWVuIGFuZCB0aGUgcGFnZSBzaGFyZSB0aGUgc2FtZSBjb29yZGlu
YXRlIHN5c3RlbS4KIAotRmxvYXRSZWN0IHNjcmVlblJlY3QoRnJhbWVWaWV3KiBmcmFtZVZpZXcp
CitGbG9hdFJlY3Qgc2NyZWVuUmVjdChXaWRnZXQqIHdpZGdldCkKIHsKLSAgICBOU1dpbmRvdyAq
d2luZG93ID0gZnJhbWVWaWV3ID8gW2ZyYW1lVmlldy0+cGxhdGZvcm1XaWRnZXQoKSB3aW5kb3dd
IDogbmlsOwotICAgIHJldHVybiB0b1VzZXJTcGFjZShbc2NyZWVuRm9yV2luZG93KHdpbmRvdykg
ZnJhbWVdLCB3aW5kb3csIFdlYkNvcmU6OmRldmljZVNjYWxlRmFjdG9yKGZyYW1lVmlldy0+ZnJh
bWUoKSkpOworICAgIE5TV2luZG93ICp3aW5kb3cgPSB3aWRnZXQgPyBbd2lkZ2V0LT5wbGF0Zm9y
bVdpZGdldCgpIHdpbmRvd10gOiBuaWw7CisgICAgcmV0dXJuIHRvVXNlclNwYWNlKFtzY3JlZW5G
b3JXaW5kb3cod2luZG93KSBmcmFtZV0sIHdpbmRvdyk7CiB9CiAKLUZsb2F0UmVjdCBzY3JlZW5B
dmFpbGFibGVSZWN0KEZyYW1lVmlldyogZnJhbWVWaWV3KQorRmxvYXRSZWN0IHNjcmVlbkF2YWls
YWJsZVJlY3QoV2lkZ2V0KiB3aWRnZXQpCiB7Ci0gICAgTlNXaW5kb3cgKndpbmRvdyA9IGZyYW1l
VmlldyA/IFtmcmFtZVZpZXctPnBsYXRmb3JtV2lkZ2V0KCkgd2luZG93XSA6IG5pbDsKLSAgICBy
ZXR1cm4gdG9Vc2VyU3BhY2UoW3NjcmVlbkZvcldpbmRvdyh3aW5kb3cpIHZpc2libGVGcmFtZV0s
IHdpbmRvdywgV2ViQ29yZTo6ZGV2aWNlU2NhbGVGYWN0b3IoZnJhbWVWaWV3LT5mcmFtZSgpKSk7
CisgICAgTlNXaW5kb3cgKndpbmRvdyA9IHdpZGdldCA/IFt3aWRnZXQtPnBsYXRmb3JtV2lkZ2V0
KCkgd2luZG93XSA6IG5pbDsKKyAgICByZXR1cm4gdG9Vc2VyU3BhY2UoW3NjcmVlbkZvcldpbmRv
dyh3aW5kb3cpIHZpc2libGVGcmFtZV0sIHdpbmRvdyk7CiB9CiAKIE5TU2NyZWVuICpzY3JlZW5G
b3JXaW5kb3coTlNXaW5kb3cgKndpbmRvdykKQEAgLTg5LDE4ICs4OSwxNiBAQCBOU1NjcmVlbiAq
c2NyZWVuRm9yV2luZG93KE5TV2luZG93ICp3aW5kCiAgICAgcmV0dXJuIG5pbDsKIH0KIAotRmxv
YXRSZWN0IHRvVXNlclNwYWNlKGNvbnN0IE5TUmVjdCYgcmVjdCwgTlNXaW5kb3cgKmRlc3RpbmF0
aW9uLCBmbG9hdCBkZXZpY2VTY2FsZUZhY3RvcikKK0Zsb2F0UmVjdCB0b1VzZXJTcGFjZShjb25z
dCBOU1JlY3QmIHJlY3QsIE5TV2luZG93ICpkZXN0aW5hdGlvbikKIHsKICAgICBGbG9hdFJlY3Qg
dXNlclJlY3QgPSByZWN0OwogICAgIHVzZXJSZWN0LnNldFkoTlNNYXhZKFtzY3JlZW5Gb3JXaW5k
b3coZGVzdGluYXRpb24pIGZyYW1lXSkgLSAodXNlclJlY3QueSgpICsgdXNlclJlY3QuaGVpZ2h0
KCkpKTsgLy8gZmxpcAotICAgIHVzZXJSZWN0LnNjYWxlKDEgLyBkZXZpY2VTY2FsZUZhY3Rvcik7
IC8vIHNjYWxlIGRvd24KICAgICByZXR1cm4gdXNlclJlY3Q7CiB9CiAKLU5TUmVjdCB0b0Rldmlj
ZVNwYWNlKGNvbnN0IEZsb2F0UmVjdCYgcmVjdCwgTlNXaW5kb3cgKnNvdXJjZSwgZmxvYXQgZGV2
aWNlU2NhbGVGYWN0b3IpCitOU1JlY3QgdG9EZXZpY2VTcGFjZShjb25zdCBGbG9hdFJlY3QmIHJl
Y3QsIE5TV2luZG93ICpzb3VyY2UpCiB7CiAgICAgRmxvYXRSZWN0IGRldmljZVJlY3QgPSByZWN0
OwotICAgIGRldmljZVJlY3Quc2NhbGUoZGV2aWNlU2NhbGVGYWN0b3IpOyAvLyBzY2FsZSB1cAog
ICAgIGRldmljZVJlY3Quc2V0WShOU01heFkoW3NjcmVlbkZvcldpbmRvdyhzb3VyY2UpIGZyYW1l
XSkgLSAoZGV2aWNlUmVjdC55KCkgKyBkZXZpY2VSZWN0LmhlaWdodCgpKSk7IC8vIGZsaXAKICAg
ICByZXR1cm4gZGV2aWNlUmVjdDsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0
L1BsYXRmb3JtU2NyZWVuUXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3F0L1BsYXRmb3JtU2NyZWVuUXQuY3BwCShyZXZpc2lvbiAxMDY1NzYpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9xdC9QbGF0Zm9ybVNjcmVlblF0LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMTAyLDE1ICsxMDIsMTUgQEAgYm9vbCBzY3JlZW5Jc01vbm9jaHJvbWUoV2lkZ2V0KiB3KQog
ICAgIHJldHVybiBRQXBwbGljYXRpb246OmRlc2t0b3AoKS0+c2NyZWVuKHNjcmVlbk51bWJlcih3
KSktPmNvbG9yQ291bnQoKSA9PSAyOwogfQogCi1GbG9hdFJlY3Qgc2NyZWVuUmVjdChGcmFtZVZp
ZXcqIGZyYW1lVmlldykKK0Zsb2F0UmVjdCBzY3JlZW5SZWN0KFdpZGdldCogd2lkZ2V0KQogewot
ICAgIFFSZWN0IHIgPSBRQXBwbGljYXRpb246OmRlc2t0b3AoKS0+c2NyZWVuR2VvbWV0cnkoc2Ny
ZWVuTnVtYmVyKGZyYW1lVmlldykpOworICAgIFFSZWN0IHIgPSBRQXBwbGljYXRpb246OmRlc2t0
b3AoKS0+c2NyZWVuR2VvbWV0cnkoc2NyZWVuTnVtYmVyKHdpZGdldCkpOwogICAgIHJldHVybiBG
bG9hdFJlY3Qoci54KCksIHIueSgpLCByLndpZHRoKCksIHIuaGVpZ2h0KCkpOwogfQogCi1GbG9h
dFJlY3Qgc2NyZWVuQXZhaWxhYmxlUmVjdChGcmFtZVZpZXcqIGZyYW1lVmlldykKK0Zsb2F0UmVj
dCBzY3JlZW5BdmFpbGFibGVSZWN0KFdpZGdldCogd2lkZ2V0KQogewotICAgIFFSZWN0IHIgPSBR
QXBwbGljYXRpb246OmRlc2t0b3AoKS0+YXZhaWxhYmxlR2VvbWV0cnkoc2NyZWVuTnVtYmVyKGZy
YW1lVmlldykpOworICAgIFFSZWN0IHIgPSBRQXBwbGljYXRpb246OmRlc2t0b3AoKS0+YXZhaWxh
YmxlR2VvbWV0cnkoc2NyZWVuTnVtYmVyKHdpZGdldCkpOwogICAgIHJldHVybiBGbG9hdFJlY3Qo
ci54KCksIHIueSgpLCByLndpZHRoKCksIHIuaGVpZ2h0KCkpOwogfQogCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS93aW4vUGxhdGZvcm1TY3JlZW5XaW4uY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9QbGF0Zm9ybVNjcmVlbldpbi5jcHAJKHJldmlz
aW9uIDEwNjU3NikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9QbGF0Zm9ybVNjcmVl
bldpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwNiwxNSArMTA2LDE1IEBAIGJvb2wgc2NyZWVu
SXNNb25vY2hyb21lKFdpZGdldCogd2lkZ2V0KQogI2VuZGlmCiB9CiAKLUZsb2F0UmVjdCBzY3Jl
ZW5SZWN0KEZyYW1lVmlldyogZnJhbWVWaWV3KQorRmxvYXRSZWN0IHNjcmVlblJlY3QoV2lkZ2V0
KiB3aWRnZXQpCiB7Ci0gICAgTU9OSVRPUklORk9FWCBtb25pdG9ySW5mbyA9IG1vbml0b3JJbmZv
Rm9yV2lkZ2V0KGZyYW1lVmlldyk7CisgICAgTU9OSVRPUklORk9FWCBtb25pdG9ySW5mbyA9IG1v
bml0b3JJbmZvRm9yV2lkZ2V0KHdpZGdldCk7CiAgICAgcmV0dXJuIG1vbml0b3JJbmZvLnJjTW9u
aXRvcjsKIH0KIAotRmxvYXRSZWN0IHNjcmVlbkF2YWlsYWJsZVJlY3QoRnJhbWVWaWV3KiBmcmFt
ZVZpZXcpCitGbG9hdFJlY3Qgc2NyZWVuQXZhaWxhYmxlUmVjdChXaWRnZXQqIHdpZGdldCkKIHsK
LSAgICBNT05JVE9SSU5GT0VYIG1vbml0b3JJbmZvID0gbW9uaXRvckluZm9Gb3JXaWRnZXQoZnJh
bWVWaWV3KTsKKyAgICBNT05JVE9SSU5GT0VYIG1vbml0b3JJbmZvID0gbW9uaXRvckluZm9Gb3JX
aWRnZXQod2lkZ2V0KTsKICAgICByZXR1cm4gbW9uaXRvckluZm8ucmNXb3JrOwogfQogCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93eC9TY3JlZW5XeC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd3gvU2NyZWVuV3guY3BwCShyZXZpc2lvbiAxMDY1NzYp
CisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93eC9TY3JlZW5XeC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTI4LDcgKzI4LDYgQEAKICNpbmNsdWRlICJTY3JlZW4uaCIKICNpbmNsdWRlICJJbnRS
ZWN0LmgiCiAjaW5jbHVkZSAiRmxvYXRSZWN0LmgiCi0jaW5jbHVkZSAiRnJhbWVWaWV3LmgiCiAj
aW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRlICJXaWRnZXQuaCIKIApAQCAtNDks
NyArNDgsNyBAQCBpbnQgc2NyZWVuVmVydGljYWxEUEkoV2lkZ2V0KikKICAgICByZXR1cm4gMDsK
IH0KICAgICAKLUZsb2F0UmVjdCBzY3JlZW5SZWN0KEZyYW1lVmlldyogZnJhbWVWaWV3KQorRmxv
YXRSZWN0IHNjcmVlblJlY3QoV2lkZ2V0KiB3aWRnZXQpCiB7CiAvKgogICAgIGludCBkaXNwbGF5
TnVtOwpAQCAtNzgsNyArNzcsNyBAQCBib29sIHNjcmVlbklzTW9ub2Nocm9tZShXaWRnZXQqIHdp
ZGdldCkKICAgICByZXR1cm4gd3hDb2xvdXJEaXNwbGF5KCk7CiB9CiAKLUZsb2F0UmVjdCBzY3Jl
ZW5BdmFpbGFibGVSZWN0KEZyYW1lVmlldyogZnJhbWVWaWV3KQorRmxvYXRSZWN0IHNjcmVlbkF2
YWlsYWJsZVJlY3QoV2lkZ2V0KiB3aWRnZXQpCiB7CiAvKgogICAgIFdpZGdldCogd2lkZ2V0ID0g
d2lkZ2V0LT53aWRnZXQoKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwNjYwNSkKKysrIFNv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisy
MDEyLTAyLTAyICBCZXRoIERha2luICA8YmRha2luQGFwcGxlLmNvbT4KKworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc2OTEKKyAgICAgICAgRml4IFBs
YXRmb3JtU2NyZWVuIGxheWVyaW5nIHZpb2xhdGlvbiBhbmQgUGxhdGZvcm1TY3JlZW5NYWMncyBp
bmNvcnJlY3QgdXNlIAorICAgICAgICBvZiBkZXZpY2Ugc2NhbGUKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICB0b1VzZXJTcGFjZSgpIGFuZCB0b0Rldmlj
ZVNwYWNlKCkgZG9uJ3QgbmVlZCB0byB0YWtlIGRldmljZSBzY2FsZS4KKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL21hYy9XS1ZpZXcubW06CisgICAgICAgICgtW1dLVmlldyBfY29udmVydFRvRGV2
aWNlU3BhY2U6XSk6CisgICAgICAgICgtW1dLVmlldyBfY29udmVydFRvVXNlclNwYWNlOl0pOgor
CiAyMDEyLTAyLTAyICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4KIAogICAgICAgICBDbGVh
ciBzaG93biBub3RpZmljYXRpb25zIHdoZW4gY29udGV4dCBpcyBubyBsb25nZXIgYWN0aXZlCklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tCShyZXZpc2lv
biAxMDY1NzYpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0J
KHdvcmtpbmcgY29weSkKQEAgLTIyNzksMTIgKzIyNzksMTIgQEAgLSAoQk9PTClfaW50ZXJwcmV0
S2V5RXZlbnQ6KE5TRXZlbnQgKilldgogCiAtIChOU1JlY3QpX2NvbnZlcnRUb0RldmljZVNwYWNl
OihOU1JlY3QpcmVjdAogewotICAgIHJldHVybiB0b0RldmljZVNwYWNlKHJlY3QsIFtzZWxmIHdp
bmRvd10sIF9kYXRhLT5fcGFnZS0+ZGV2aWNlU2NhbGVGYWN0b3IoKSk7CisgICAgcmV0dXJuIHRv
RGV2aWNlU3BhY2UocmVjdCwgW3NlbGYgd2luZG93XSk7CiB9CiAKIC0gKE5TUmVjdClfY29udmVy
dFRvVXNlclNwYWNlOihOU1JlY3QpcmVjdAogewotICAgIHJldHVybiB0b1VzZXJTcGFjZShyZWN0
LCBbc2VsZiB3aW5kb3ddLCBfZGF0YS0+X3BhZ2UtPmRldmljZVNjYWxlRmFjdG9yKCkpOworICAg
IHJldHVybiB0b1VzZXJTcGFjZShyZWN0LCBbc2VsZiB3aW5kb3ddKTsKIH0KIAogLy8gQW55IG5v
bi16ZXJvIHZhbHVlIHdpbGwgZG8sIGJ1dCB1c2luZyBzb21ldGhpbmcgcmVjb2duaXphYmxlIG1p
Z2h0IGhlbHAgdXMgZGVidWcgc29tZSBkYXkuCkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVt
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
ZwkocmV2aXNpb24gMTA2NjA2KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0wMi0wMiAgQmV0aCBEYWtpbiAg
PGJkYWtpbkBhcHBsZS5jb20+CisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTc3NjkxCisgICAgICAgIEZpeCBQbGF0Zm9ybVNjcmVlbiBsYXllcmluZyB2
aW9sYXRpb24gYW5kIFBsYXRmb3JtU2NyZWVuTWFjJ3MgaW5jb3JyZWN0IHVzZSAKKyAgICAgICAg
b2YgZGV2aWNlIHNjYWxlCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVGhlc2UgdHdvIGZ1bmN0aW9ucyBub3cgdGFrZSBhIFdpZGdldCBhZ2FpbiByYXRo
ZXIgdGhhbiBhIEZyYW1lVmlldy4KKyAgICAgICAgKiBzcmMvUGxhdGZvcm1TdXBwb3J0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtU3VwcG9ydDo6c2NyZWVuUmVjdCk6CisgICAgICAg
IChXZWJDb3JlOjpQbGF0Zm9ybVN1cHBvcnQ6OnNjcmVlbkF2YWlsYWJsZVJlY3QpOgorCiAyMDEy
LTAyLTAyICBUb21teSBXaWRlbmZseWNodCAgPHRvbW15d0Bnb29nbGUuY29tPgogCiAgICAgICAg
IFtjaHJvbWl1bV0gTWVkaWFTdHJlYW0gQVBJOiBBZGRpbmcgdGhlIGVtYmVkZGluZyBjb2RlIGZv
ciBNZWRpYVN0cmVhbUNlbnRlcgpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvUGxh
dGZvcm1TdXBwb3J0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9QbGF0Zm9ybVN1cHBvcnQuY3BwCShyZXZpc2lvbiAxMDY1NzYpCisrKyBTb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9QbGF0Zm9ybVN1cHBvcnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDky
LDE3ICsxMDkyLDE3IEBAIGJvb2wgUGxhdGZvcm1TdXBwb3J0OjpzY3JlZW5Jc01vbm9jaHJvbWUK
ICAgICByZXR1cm4gY2xpZW50LT5zY3JlZW5JbmZvKCkuaXNNb25vY2hyb21lOwogfQogCi1JbnRS
ZWN0IFBsYXRmb3JtU3VwcG9ydDo6c2NyZWVuUmVjdChGcmFtZVZpZXcqIGZyYW1lVmlldykKK0lu
dFJlY3QgUGxhdGZvcm1TdXBwb3J0OjpzY3JlZW5SZWN0KFdpZGdldCogd2lkZ2V0KQogewotICAg
IFdlYldpZGdldENsaWVudCogY2xpZW50ID0gdG9XZWJXaWRnZXRDbGllbnQoZnJhbWVWaWV3KTsK
KyAgICBXZWJXaWRnZXRDbGllbnQqIGNsaWVudCA9IHRvV2ViV2lkZ2V0Q2xpZW50KHdpZGdldCk7
CiAgICAgaWYgKCFjbGllbnQpCiAgICAgICAgIHJldHVybiBJbnRSZWN0KCk7CiAgICAgcmV0dXJu
IGNsaWVudC0+c2NyZWVuSW5mbygpLnJlY3Q7CiB9CiAKLUludFJlY3QgUGxhdGZvcm1TdXBwb3J0
OjpzY3JlZW5BdmFpbGFibGVSZWN0KEZyYW1lVmlldyogZnJhbWVWaWV3KQorSW50UmVjdCBQbGF0
Zm9ybVN1cHBvcnQ6OnNjcmVlbkF2YWlsYWJsZVJlY3QoV2lkZ2V0KiB3aWRnZXQpCiB7Ci0gICAg
V2ViV2lkZ2V0Q2xpZW50KiBjbGllbnQgPSB0b1dlYldpZGdldENsaWVudChmcmFtZVZpZXcpOwor
ICAgIFdlYldpZGdldENsaWVudCogY2xpZW50ID0gdG9XZWJXaWRnZXRDbGllbnQod2lkZ2V0KTsK
ICAgICBpZiAoIWNsaWVudCkKICAgICAgICAgcmV0dXJuIEludFJlY3QoKTsKICAgICByZXR1cm4g
Y2xpZW50LT5zY3JlZW5JbmZvKCkuYXZhaWxhYmxlUmVjdDsKSW5kZXg6IFNvdXJjZS9XZWJLaXQv
bWFjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cJ
KHJldmlzaW9uIDEwNjYwNikKKysrIFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDEyLTAyLTAyICBCZXRoIERha2luICA8YmRha2lu
QGFwcGxlLmNvbT4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9Nzc2OTEKKyAgICAgICAgRml4IFBsYXRmb3JtU2NyZWVuIGxheWVyaW5nIHZpb2xhdGlv
biBhbmQgUGxhdGZvcm1TY3JlZW5NYWMncyBpbmNvcnJlY3QgdXNlIAorICAgICAgICBvZiBkZXZp
Y2Ugc2NhbGUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICB0b1VzZXJTcGFjZSgpIGFuZCB0b0RldmljZVNwYWNlKCkgZG9uJ3QgbmVlZCB0byB0YWtlIGRl
dmljZSBzY2FsZS4gQWxzbyAKKyAgICAgICAgcmVzdG9yZSBhIGNvbW1lbnQgdGhhdCBJIG5lZWRs
ZXNzbHkgcmVtb3ZlZC4KKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
bW06CisgICAgICAgIChXZWJDaHJvbWVDbGllbnQ6OnNldFdpbmRvd1JlY3QpOgorICAgICAgICAo
V2ViQ2hyb21lQ2xpZW50Ojp3aW5kb3dSZWN0KToKKwogMjAxMi0wMi0wMSAgRGFuIEJlcm5zdGVp
biAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYktpdC9tYWMgcGFydCBvZiA8cmRhcjov
L3Byb2JsZW0vMTA0NDI2NjM+IFBhZ2luYXRlZCBkaXNwbGF5IGRvZXMgbm90IHJlc3BlY3QgcGFn
ZS1icmVhay17YmVmb3JlLGFmdGVyfQpJbmRleDogU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1
cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFj
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbQkocmV2aXNpb24gMTA2NTc2KQorKysg
U291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xNTAsMTYgKzE1MCwxOSBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6Y2hy
b21lRGVzdHJveWVkKCkKICAgICBkZWxldGUgdGhpczsKIH0KIAorLy8gVGhlc2UgZnVuY3Rpb25z
IHNjYWxlIGJldHdlZW4gd2luZG93IGFuZCBXZWJWaWV3IGNvb3JkaW5hdGVzIGJlY2F1c2UgSmF2
YVNjcmlwdC9ET00gb3BlcmF0aW9ucyAKKy8vIGFzc3VtZSB0aGF0IHRoZSBXZWJWaWV3IGFuZCB0
aGUgd2luZG93IHNoYXJlIHRoZSBzYW1lIGNvb3JkaW5hdGUgc3lzdGVtLgorCiB2b2lkIFdlYkNo
cm9tZUNsaWVudDo6c2V0V2luZG93UmVjdChjb25zdCBGbG9hdFJlY3QmIHJlY3QpCiB7Ci0gICAg
TlNSZWN0IHdpbmRvd1JlY3QgPSB0b0RldmljZVNwYWNlKHJlY3QsIFttX3dlYlZpZXcgd2luZG93
XSwgW21fd2ViVmlldyBfYmFja2luZ1NjYWxlRmFjdG9yXSk7CisgICAgTlNSZWN0IHdpbmRvd1Jl
Y3QgPSB0b0RldmljZVNwYWNlKHJlY3QsIFttX3dlYlZpZXcgd2luZG93XSk7CiAgICAgW1ttX3dl
YlZpZXcgX1VJRGVsZWdhdGVGb3J3YXJkZXJdIHdlYlZpZXc6bV93ZWJWaWV3IHNldEZyYW1lOndp
bmRvd1JlY3RdOwogfQogCiBGbG9hdFJlY3QgV2ViQ2hyb21lQ2xpZW50Ojp3aW5kb3dSZWN0KCkK
IHsKICAgICBOU1JlY3Qgd2luZG93UmVjdCA9IFtbbV93ZWJWaWV3IF9VSURlbGVnYXRlRm9yd2Fy
ZGVyXSB3ZWJWaWV3RnJhbWU6bV93ZWJWaWV3XTsKLSAgICByZXR1cm4gdG9Vc2VyU3BhY2Uod2lu
ZG93UmVjdCwgW21fd2ViVmlldyB3aW5kb3ddLCBbbV93ZWJWaWV3IF9iYWNraW5nU2NhbGVGYWN0
b3JdKTsKKyAgICByZXR1cm4gdG9Vc2VyU3BhY2Uod2luZG93UmVjdCwgW21fd2ViVmlldyB3aW5k
b3ddKTsKIH0KIAogLy8gRklYTUU6IFdlIG5lZWQgdG8gYWRkIEFQSSBmb3Igc2V0dGluZyBhbmQg
Z2V0dGluZyB0aGlzLgo=
</data>
<flag name="review"
          id="126668"
          type_id="1"
          status="+"
          setter="aestes"
    />
          </attachment>
      

    </bug>

</bugzilla>