<?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>121725</bug_id>
          
          <creation_ts>2013-09-20 16:14:57 -0700</creation_ts>
          <short_desc>Rapidly loading pages can result in !needsLayout() assertions in FrameView::paintContents() and RenderView::paint()</short_desc>
          <delta_ts>2013-09-23 13:42: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>New Bugs</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="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>bdakin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>931646</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-09-20 16:14:57 -0700</bug_when>
    <thetext>Rapidly loading pages can result in !needsLayout() assertions in FrameView::paintContents() and RenderView::paint()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931668</commentid>
    <comment_count>1</comment_count>
      <attachid>212243</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-09-20 16:54:42 -0700</bug_when>
    <thetext>Created attachment 212243
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931669</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-09-20 16:55:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/13982161&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931683</commentid>
    <comment_count>3</comment_count>
      <attachid>212243</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-09-20 17:07:43 -0700</bug_when>
    <thetext>Comment on attachment 212243
Patch

This patch causes odd behavior on zooming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931911</commentid>
    <comment_count>4</comment_count>
      <attachid>212243</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-09-22 08:49:33 -0700</bug_when>
    <thetext>Comment on attachment 212243
Patch

This patch is good. The scale issue is a regression from r155998 (bug 121765).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>932270</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-09-23 13:42:32 -0700</bug_when>
    <thetext>https://trac.webkit.org/r156291</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>212243</attachid>
            <date>2013-09-20 16:54:42 -0700</date>
            <delta_ts>2013-09-23 13:34:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-121725-20130920165441.patch</filename>
            <type>text/plain</type>
            <size>27913</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU2MjAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTE4MmYxYTBiYmNhYmYz
MjVhODc1OTA3YWYyYmM1ZGJmMjE4M2RhZi4uM2FkZGUwNDA2MGE2MzJmMThlNzlmZmM5OTUzZmMz
N2IwZmNlZjdhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDEwMiBAQAogMjAxMy0wOS0yMCAgU2lt
b24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAorICAgICAgICBSYXBpZGx5IGxv
YWRpbmcgcGFnZXMgY2FuIHJlc3VsdCBpbiAhbmVlZHNMYXlvdXQoKSBhc3NlcnRpb25zIGluIEZy
YW1lVmlldzo6cGFpbnRDb250ZW50cygpIGFuZCBSZW5kZXJWaWV3OjpwYWludCgpCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjE3MjUKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzEzOTgyMTYxPiBBU1NFUlQoIW5lZWRzTGF5b3V0KCkpIGluIFdlYkNv
cmU6OlJlbmRlclZpZXc6OnBhaW50ICgxMjExOTYpCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAgICBMYXlvdXQgaGFzIHRvIGJlIHVwLXRvLWRh
dGUgYmVmb3JlIHdlIHBhaW50LCBhbmQgd2hlbiBjb21wb3NpdGVkIHdlIHJlbHkgb24gYQorICAg
ICAgICBDRlJ1bkxvb3BPYnNlcnZlciBvd25lZCBieSBMYXllckZsdXNoU2NoZWR1bGVyIHRvIGVu
Zm9yY2UgdGhpcy4gVGhlIGNvbnRyYWN0IGlzCisgICAgICAgIHRoYXQgY2hhbmdlcyB0byBHcmFw
aGljc0xheWVycyBhY2N1bXVsYXRlIGluIHRob3NlIGxheWVycywgYW5kIGFyZSBhbGwgcHVzaGVk
IHRvCisgICAgICAgIENBTGF5ZXJzIG9ubHkgaW5zaWRlIG9mIGZsdXNoQ29tcG9zaXRpbmdTdGF0
ZSgpLiBDQUxheWVycyBtdXN0IG5vdCBiZSB0b3VjaGVkCisgICAgICAgIGRpcmVjdGx5IG91dHNp
ZGUgb2YgZmx1c2hDb21wb3NpdGluZ1N0YXRlKCksIHNpbmNlIHRoaXMgbWF5IHRyaWdnZXIgYSBD
QSBjb21taXQKKyAgICAgICAgYW5kIHJlc3VsdGFudCBwYWludGluZyB3aXRob3V0IHVzIGhhdmlu
ZyB1cGRhdGVkIGxheW91dC4KKyAgICAgICAgCisgICAgICAgIEluIGFkZGl0aW9uLCB3ZSByZWx5
IG9uIHRoZSBDQSBjb21taXRzIG9ubHkgaGFwcGVuaW5nIGFmdGVyIG91ciBydW5sb29wIG9ic2Vy
dmVyCisgICAgICAgIGhhcyBmaXJlZCBpbiBvcmRlciBmb3IgTGF5ZXJGbHVzaFNjaGVkdWxlcidz
IHN1c3BlbmQvcmVzdW1lIHRvIHdvcmsgKHRoZXNlIGFyZSB1c2VkCisgICAgICAgIGZvciBmcmVl
emluZyB0aGUgbGF5ZXIgdHJlZSBkdXJpbmcgcGFnZSB0cmFuc2l0aW9ucykuCisgICAgICAgIAor
ICAgICAgICBIb3dldmVyLCBUaWxlQ29udHJvbGxlciB3YXMgdmlvbGF0aW5nIHRoaXMgY29udHJh
Y3QuIEl0IGNhbGxlZCByZXZhbGlkYXRlVGlsZXMoKQorICAgICAgICBhdCByYW5kb20gdGltZXMs
IGFuZCBvbiBhIHRpbWVyLiBUaGlzIHdvdWxkIHJlc3VsdCBpbiBDQSBjb21taXRzIGhhcHBlbmlu
ZyB3aGVuCisgICAgICAgIGxheWVyIGZsdXNoaW5nIHdhcyBzdXNwZW5kZWQgYXQgdGhlIExheWVy
Rmx1c2hTY2hlZHVsZXIgbGV2ZWwsIGFuZCB0aHVzIGJlZm9yZQorICAgICAgICB3ZSdkIGhhZCBh
IGNoYW5jZSB0byBkbyBsYXlvdXQuCisgICAgICAgIAorICAgICAgICBGaXggYnkgb25seSBldmVy
IHJldmFsaWRhdGluZ1RpbGVzIGluc2lkZSBvZiBmbHVzaENvbXBvc2l0aW5nU3RhdGUoKS4gQ2Fs
bHMKKyAgICAgICAgdGhhdCB1c2VkIHRvIHJlc3VsdCBpbiByZXZhbGlkYXRlVGlsZXMoKSBhdCBv
dGhlciB0aW1lcyBub3cganVzdCBzZXQgYSBiaXQKKyAgICAgICAgb24gR3JhcGhpY3NMYXllckNB
IHRvIGluZGljYXRlIHRoYXQgcmV2YWxpZGF0aW9uIGlzIHJlcXVpcmVkLCBhbmQgdGhpcyB0cmln
Z2VycworICAgICAgICBhIGxhdGVyIGZsdXNoIGxpa2UgYW55IG90aGVyIEdyYXBoaWNzTGF5ZXJD
QSBjaGFuZ2UuCisgICAgICAgIAorICAgICAgICBUaGVyZSBpcyBvbmUgZXhjZXB0aW9uIHRvIHRo
ZSByZXZhbGlkYXRlLWluc2lkZS1mbHVzaCBydWxlOiB3aGVuIHB1cmdpbmcKKyAgICAgICAgZmls
ZXMgZm9yIGJhY2tncm91bmQgdGFicyBvbiBhIHRpbWVyLCB3ZSBhcmUgb25seSBkZWFsaW5nIHdp
dGggYW4gdW5wYXJlbnRlZAorICAgICAgICBsYXllciB0cmVlLCBzbyBDQUxheWVyIG1hbmlwdWxh
dGlvbiBpcyBzYWZlIGF0IGFueSB0aW1lLgorCisgICAgICAgIFZlcnkgdGltaW5nIGRlcGVuZGVu
dCwgc28gaGFyZCB0byB0ZXN0LgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRC
YWNraW5nLmg6IEV4cG9zZSByZXZhbGlkYXRlVGlsZXMoKQorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9jZi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25DRi5j
cHA6IFJlbW92ZQorICAgICAgICBwbGF0Zm9ybUNBTGF5ZXJEaWRDcmVhdGVUaWxlcygpIG92ZXJy
aWRlLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5oOiBL
ZWVwIHRyYWNrIG9mIG1faXNDb21taXR0aW5nQ2hhbmdlcworICAgICAgICBzbyB3ZSBjYW4gYXNz
ZXJ0LiBBZGQgVGlsaW5nQXJlYUNoYW5nZWQgZmxhZy4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9jYS9HcmFwaGljc0xheWVyQ0EuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NM
YXllckNBOjpHcmFwaGljc0xheWVyQ0EpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXll
ckNBOjpyZWN1cnNpdmVDb21taXRDaGFuZ2VzKTogbm90ZVN1YmxheWVyc0NoYW5nZWQoKSBpcwor
ICAgICAgICB1c2VkIGluc2lkZSBvZiBhIGNvbW1pdCBpbiBzb21lIGNhc2VzIHRvIHRyaWdnZXIg
YSBwYXJlbnQgbGF5ZXIgdG8gdXBkYXRlCisgICAgICAgIGNoaWxkcmVuIGFmdGVyIHRoZSBjaGls
ZHJlbiBoYXZlIGJlZW4gcHJvY2Vzc2VkLiBUbyBhdm9pZCB0cnlpbmcgdG8gcG9pbnRsZXNzbHkK
KyAgICAgICAgc2NoZWR1bGUgdGhlIGZsdXNoZXIgaW5zaWRlIGEgZmx1c2gsIGFuZCBmb3Igc3Ry
b25nIGFzc2VydGlvbnMsIHVzZSBhIG5ldyBmbGFnCisgICAgICAgIHRoYXQgaW5kaWNhdGVzIHRo
YXQgZmx1c2hpbmcgaXMgbm90IHJlcXVpcmVkIGluIHRoaXMgc2l0dWF0aW9uLgorICAgICAgICBT
ZXQgdGhlIG1faXNDb21taXR0aW5nQ2hhbmdlcyBmbGFnIGFyb3VuZCBjb21taXR0aW5nIHN0YXRl
LgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllckNBOjpwbGF0Zm9ybUNBTGF5ZXJTZXRO
ZWVkc1RvUmV2YWxpZGF0ZVRpbGVzKTogV2UgdXNlZAorICAgICAgICB0byB1c2UgcGxhdGZvcm1D
QUxheWVyRGlkQ3JlYXRlVGlsZXMoKSB0byBlbnN1cmUgdGhhdCB3ZSB3b3VsZCBmbHVzaCBhZnRl
ciBhZGRpbmcKKyAgICAgICAgbmV3IHRpbGVzIHRvIGF2b2lkIGdhcmJhZ2UgZmxhc2hlcy4gTm93
IHRoYXQgd2Ugb25seSBldmVyIGNyZWF0ZSB0aWxlcyBpbnNpZGUKKyAgICAgICAgYSBmbHVzaCwg
dGhpcyBpcyBubyBsb25nZXIgbmVjZXNzYXJ5LgorICAgICAgICBUaGUgbmV3IHBsYXRmb3JtQ0FM
YXllclNldE5lZWRzVG9SZXZhbGlkYXRlVGlsZXMoKSBmdW5jdGlvbiBqdXN0IHNldHMgdGhlCisg
ICAgICAgIFRpbGluZ0FyZWFDaGFuZ2VkIGZsYWcgYW5kIHRyaWdnZXJzIGEgZmx1c2guCisgICAg
ICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyQ0E6OmNvbW1pdExheWVyQ2hhbmdlc0JlZm9yZVN1
YmxheWVycyk6IEFmdGVyIHVwZGF0aW5nCisgICAgICAgIHZpc2libGUgcmVjdCwgd2UgbG9vayBm
b3IgdGhlIFRpbGluZ0FyZWFDaGFuZ2VkIGZsYWcgdG8gdGVsbCB1cyB3aGV0aGVyIHRvCisgICAg
ICAgIHJldmFsaWRhdGUgVGlsZWRCYWNraW5nIHRpbGVzLgorICAgICAgICAoV2ViQ29yZTo6R3Jh
cGhpY3NMYXllckNBOjplbnN1cmVTdHJ1Y3R1cmFsTGF5ZXIpOiBVc2UgRG9udFNjaGVkdWxlRmx1
c2ggd2hlbiAKKyAgICAgICAgdGVsbGluZyBhIHBhcmVudCBsYXllciB0aGF0IGl0IG5lZWRzIHRv
IHJlY29uc2lkZXIgc3VibGF5ZXJzLgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllckNB
Ojp1cGRhdGVUaWxlcyk6IFRoZSBjYWxsZXIgb2YgcmV2YWxpZGF0ZVRpbGVzKCkuCisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0xheWVyQ0E6OnVwZGF0ZUNvbnRlbnRzUmVjdHMpOiBEb250U2No
ZWR1bGVGbHVzaCBhZ2Fpbi4KKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJDQTo6bm90
ZVN1YmxheWVyc0NoYW5nZWQpOiBQYXNzIHNjaGVkdWxlRmx1c2ggYWxvbmcuCisgICAgICAgIChX
ZWJDb3JlOjpHcmFwaGljc0xheWVyQ0E6Om5vdGVMYXllclByb3BlcnR5Q2hhbmdlZCk6IEhhbmRs
ZSBzY2hlZHVsZUZsdXNoLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhL1BsYXRmb3Jt
Q0FMYXllckNsaWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DQUxheWVyQ2xpZW50
OjpwbGF0Zm9ybUNBTGF5ZXJTZXROZWVkc1RvUmV2YWxpZGF0ZVRpbGVzKTogQWRkZWQKKyAgICAg
ICAgc28gdGhhdCBUaWxlQ29udHJvbGxlciBjYW4gY2FsbCBiYWNrIG91dCB0byBHcmFwaGljc0xh
eWVyQ0EuCisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNBTGF5ZXJDbGllbnQ6OmlzQ29tbWl0
dGluZ0NoYW5nZXMpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhL21hYy9UaWxlQ29u
dHJvbGxlci5oOiBOZWVkIHRvIGtlZXAgdHJhY2sgb2Ygc2Vjb25kYXJ5CisgICAgICAgIGNvdmVy
YWdlIHJlY3RzIGluIG1fc2Vjb25kYXJ5VGlsZUNvdmVyYWdlUmVjdHMuCisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvY2EvbWFjL1RpbGVDb250cm9sbGVyLm1tOgorICAgICAgICAoV2ViQ29y
ZTo6VGlsZUNvbnRyb2xsZXI6OnRpbGVDYWNoZUxheWVyQm91bmRzQ2hhbmdlZCk6IEp1c3QgdHJp
Z2dlciBhIHRpbGUgcmV2YWxpZGF0ZSwKKyAgICAgICAgd2hpY2ggd2lsbCBoYXBwZW4gbGF0ZXIg
aW4gdGhpcyBzYW1lIGNvbW1pdC4KKyAgICAgICAgKFdlYkNvcmU6OlRpbGVDb250cm9sbGVyOjpz
ZXRTY2FsZSk6IFRoaXMgaXMgY2FsbGVkIGluc2lkZSB0aGUgY29tbWl0LiBEb2VzIGFuIGV4dHJh
CisgICAgICAgIHJldmFsaWRhdGUsIHdoaWNoIGlzIG5lZWRlZCB0byBwcnVuZSB0aWxlcy4gVGhp
cyBjb3VsZCBiZSBvcHRpbWl6ZWQgaW4gZnV0dXJlLgorICAgICAgICAoV2ViQ29yZTo6VGlsZUNv
bnRyb2xsZXI6OnNldFZpc2libGVSZWN0KTogQXNzZXJ0IHRoYXQgd2UncmUgaW5zaWRlIGEgY29t
bWl0LAorICAgICAgICBhbmQgdHJpZ2dlciBhIHJldmFsaWRhdGUuCisgICAgICAgIChXZWJDb3Jl
OjpUaWxlQ29udHJvbGxlcjo6c2V0RXhwb3NlZFJlY3QpOiBUcmlnZ2VyIGEgcmV2YWxpZGF0ZS4K
KyAgICAgICAgKFdlYkNvcmU6OlRpbGVDb250cm9sbGVyOjpzZXRDbGlwc1RvRXhwb3NlZFJlY3Qp
OiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlRpbGVDb250cm9sbGVyOjpwcmVwb3B1bGF0ZVJl
Y3QpOiBTYXZlIHRoZSByZWN0IGFuZCB0cmlnZ2VyIGEgcmV2YWxpZGF0ZS4KKyAgICAgICAgKFdl
YkNvcmU6OlRpbGVDb250cm9sbGVyOjpzZXRJc0luV2luZG93KTogSWYgd2UncmUgaW4gdGhlIHdp
bmRvdywgdHJpZ2dlciBhIHJldmFsaWRhdGUKKyAgICAgICAgb3RoZXJ3aXNlIHNjaGVkdWxlIHRo
ZSB0aW1lci4KKyAgICAgICAgKFdlYkNvcmU6OlRpbGVDb250cm9sbGVyOjpyZXZhbGlkYXRlVGls
ZXMpOiBXcmFwcGVyIGZvciB0aGUgcmVhbCByZXZhbGlkYXRlVGlsZXMoKS4KKyAgICAgICAgKFdl
YkNvcmU6OlRpbGVDb250cm9sbGVyOjp0aWxlUmV2YWxpZGF0aW9uVGltZXJGaXJlZCk6IElmIHdl
J3JlIGluIHRoZSB3aW5kb3csCisgICAgICAgIHNjaGVkdWxlIGEgcmV2YWxpZGF0ZS4gT3RoZXJ3
aXNlIG91ciBsYXllciB0cmVlIGlzIGRpc2Nvbm5lY3RlZCwgYW5kIGl0J3MgT0sgdG8gY2FsbCBy
ZXZhbGlkYXRlVGlsZXMoKS4KKyAgICAgICAgKFdlYkNvcmU6OlRpbGVDb250cm9sbGVyOjpzZXRO
ZWVkc1JldmFsaWRhdGVUaWxlcyk6IENhbGwgdGhyb3VnaCB0aGUgY2xpZW50IHRvIEdyYXBoaWNz
TGF5ZXJDQQorICAgICAgICB3aGljaCB3aWxsIHNjaGVkdWxlIGEgbGF5ZXIgdHJlZSBmbHVzaC4K
KyAgICAgICAgKFdlYkNvcmU6OlRpbGVDb250cm9sbGVyOjpyZXZhbGlkYXRlVGlsZXMpOgorICAg
ICAgICAoV2ViQ29yZTo6VGlsZUNvbnRyb2xsZXI6OmVuc3VyZVRpbGVzRm9yUmVjdCk6IE1vdmUg
Y29kZSBmcm9tIHByZXBvcHVsYXRlUmVjdAorICAgICAgICBpbnRvIGhlcmU7IGVuc3VyZVRpbGVz
Rm9yUmVjdCgpIGZvciBlYWNoIHNlY29uZGFyeSByZWN0LCB0aGVuIGNsZWFyIHRoZSByZWN0cy4K
KyAgICAgICAgTm8gbmVlZCB0byBjYWxsIHBsYXRmb3JtQ0FMYXllckRpZENyZWF0ZVRpbGVzKCkg
YXQgdGhlIGVuZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vTWVkaWFQbGF5ZXJQ
cml2YXRlUXVpY2tUaW1lVmlzdWFsQ29udGV4dC5jcHA6IFJlbW92ZQorICAgICAgICBwbGF0Zm9y
bUNBTGF5ZXJEaWRDcmVhdGVUaWxlcygpIG92ZXJyaWRlLgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJD
b21wb3NpdG9yOjpzY2hlZHVsZUxheWVyRmx1c2gpOiBUaGlzIHNob3VsZCBvbmx5IGJlCisgICAg
ICAgIGNhbGxlZCB3aGVuIHdlJ3JlIG5vdCBpbnNpZGUgYSBmbHVzaCwgb3RoZXJ3aXNlIGl0IHdp
bGwgZmFpbCB0byBzY2hlZHVsZQorICAgICAgICBhbm90aGVyIG9uZS4KKworMjAxMy0wOS0yMCAg
U2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKwogICAgICAgICBTY3JvbGxi
YXJzIGRvbid0IGFwcGVhciBvbiBsb25nIHBhZ2VzIGFmdGVyIHIxNTU2NjAKICAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMTcxNAogICAgICAgICA8cmRh
cjovL3Byb2JsZW0vMTUwNDI0Nzg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9UaWxlZEJhY2tpbmcuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL1RpbGVkQmFja2luZy5oCmluZGV4IDJlNjZmNjA4NjUxMDkwYjRiNTFmMjNiZTgxMmI4MWZj
MWI4Nzc1ZmYuLjcwOWFhNTVlMTA2NmYyNmY4MjQ5MTg2MjYwNjhlYjU1ZWJjMDczOWIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZy5oCkBAIC03
MCw2ICs3MCw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgSW50U2l6ZSB0aWxlU2l6ZSgpIGNv
bnN0ID0gMDsKIAorICAgIHZpcnR1YWwgdm9pZCByZXZhbGlkYXRlVGlsZXMoKSA9IDA7CiAgICAg
dmlydHVhbCB2b2lkIGZvcmNlUmVwYWludCgpID0gMDsKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRT
Y3JvbGxpbmdQZXJmb3JtYW5jZUxvZ2dpbmdFbmFibGVkKGJvb2wpID0gMDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9jZi9NZWRpYVBs
YXllclByaXZhdGVBVkZvdW5kYXRpb25DRi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9hdmZvdW5kYXRpb24vY2YvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uQ0Yu
Y3BwCmluZGV4IDM3MjVkYmVlODgyNzQ5MjA2NWExZDZjZDYyZDI0NGQ0YmIxYzcwY2EuLjQ0ZjUz
MjkzYjgyZDE3NmE4NjU1MDdhNGMwOThjNzZiYTc4OTUwZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9jZi9NZWRpYVBsYXllclByaXZh
dGVBVkZvdW5kYXRpb25DRi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL2NmL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbkNGLmNwcApA
QCAtMTkzLDcgKzE5Myw2IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBib29sIHBsYXRmb3JtQ0FM
YXllckNvbnRlbnRzT3BhcXVlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFs
IGJvb2wgcGxhdGZvcm1DQUxheWVyRHJhd3NDb250ZW50KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7
IH0KICAgICB2aXJ0dWFsIHZvaWQgcGxhdGZvcm1DQUxheWVyTGF5ZXJEaWREaXNwbGF5KFBsYXRm
b3JtTGF5ZXIqKSB7IH0KLSAgICB2aXJ0dWFsIHZvaWQgcGxhdGZvcm1DQUxheWVyRGlkQ3JlYXRl
VGlsZXMoY29uc3QgVmVjdG9yPEZsb2F0UmVjdD4mKSB7IH0KICAgICB2aXJ0dWFsIGZsb2F0IHBs
YXRmb3JtQ0FMYXllckRldmljZVNjYWxlRmFjdG9yKCkgeyByZXR1cm4gMTsgfQogCiAgICAgQVZG
V3JhcHBlciogbV9wYXJlbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0EuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmNwcAppbmRleCAzMmM2YTNjODNlMjViY2UwMjlh
NWQzMGQ1ZTA5NTdjOWFiNTAwMGMyLi4zYWYwNDk5ZGMzNjdkMzBlNmNkMDUzMWUyZGFiNTE3ZDYw
MDhjYzlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9H
cmFwaGljc0xheWVyQ0EuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NhL0dyYXBoaWNzTGF5ZXJDQS5jcHAKQEAgLTQ0LDYgKzQ0LDcgQEAKICNpbmNsdWRlIDxRdWFy
dHpDb3JlL0NBVHJhbnNmb3JtM0QuaD4KICNpbmNsdWRlIDxsaW1pdHMuaD4KICNpbmNsdWRlIDx3
dGYvQ3VycmVudFRpbWUuaD4KKyNpbmNsdWRlIDx3dGYvVGVtcG9yYXJ5Q2hhbmdlLmg+CiAjaW5j
bHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKICNpZiBQTEFURk9STShNQUMpCkBAIC0yODcs
NiArMjg4LDcgQEAgR3JhcGhpY3NMYXllckNBOjpHcmFwaGljc0xheWVyQ0EoR3JhcGhpY3NMYXll
ckNsaWVudCogY2xpZW50KQogICAgICwgbV9pc1BhZ2VUaWxlZEJhY2tpbmdMYXllcihmYWxzZSkK
ICAgICAsIG1fcm9vdFJlbGF0aXZlU2NhbGVGYWN0b3IoMSkKICAgICAsIG1fdW5jb21taXR0ZWRD
aGFuZ2VzKDApCisgICAgLCBtX2lzQ29tbWl0dGluZ0NoYW5nZXMoZmFsc2UpCiB7CiAgICAgUGxh
dGZvcm1DQUxheWVyOjpMYXllclR5cGUgbGF5ZXJUeXBlID0gUGxhdGZvcm1DQUxheWVyOjpMYXll
clR5cGVXZWJMYXllcjsKICAgICBpZiAoY2xpZW50ICYmIGNsaWVudC0+c2hvdWxkVXNlVGlsZWRC
YWNraW5nKHRoaXMpKSB7CkBAIC0xMTAzLDcgKzExMDUsNyBAQCB2b2lkIEdyYXBoaWNzTGF5ZXJD
QTo6cmVjdXJzaXZlQ29tbWl0Q2hhbmdlcyhjb25zdCBDb21taXRTdGF0ZSYgY29tbWl0U3RhdGUs
IGNvbgogICAgICAgICBtX3Zpc2libGVUaWxlV2FzaExheWVyLT5zZXRCb3JkZXJDb2xvcih3YXNo
Qm9yZGVyQ29sb3IpOwogICAgICAgICBtX3Zpc2libGVUaWxlV2FzaExheWVyLT5zZXRCb3JkZXJX
aWR0aCg4KTsKICAgICAgICAgbV92aXNpYmxlVGlsZVdhc2hMYXllci0+c2V0QmFja2dyb3VuZENv
bG9yKHdhc2hGaWxsQ29sb3IpOwotICAgICAgICBub3RlU3VibGF5ZXJzQ2hhbmdlZCgpOworICAg
ICAgICBub3RlU3VibGF5ZXJzQ2hhbmdlZChEb250U2NoZWR1bGVGbHVzaCk7CiAgICAgfQogCiAg
ICAgaWYgKG1fdmlzaWJsZVRpbGVXYXNoTGF5ZXIpCkBAIC0xMTIzLDcgKzExMjUsMTAgQEAgdm9p
ZCBHcmFwaGljc0xheWVyQ0E6OnJlY3Vyc2l2ZUNvbW1pdENoYW5nZXMoY29uc3QgQ29tbWl0U3Rh
dGUmIGNvbW1pdFN0YXRlLCBjb24KICAgICAgICAgYmFzZVJlbGF0aXZlUG9zaXRpb24gKz0gbV9w
b3NpdGlvbjsKICAgICAKICAgICBUcmFuc2Zvcm1hdGlvbk1hdHJpeCB0cmFuc2Zvcm1Gcm9tUm9v
dCA9IHJvb3RSZWxhdGl2ZVRyYW5zZm9ybUZvclNjYWxpbmc7Ci0gICAgY29tbWl0TGF5ZXJDaGFu
Z2VzQmVmb3JlU3VibGF5ZXJzKGNoaWxkQ29tbWl0U3RhdGUsIHBhZ2VTY2FsZUZhY3RvciwgYmFz
ZVJlbGF0aXZlUG9zaXRpb24sIG9sZFZpc2libGVSZWN0LCAmdHJhbnNmb3JtRnJvbVJvb3QpOwor
ICAgIHsKKyAgICAgICAgVGVtcG9yYXJ5Q2hhbmdlPGJvb2w+IGNvbW1pdHRpbmdDaGFuZ2VzQ2hh
bmdlKG1faXNDb21taXR0aW5nQ2hhbmdlcywgdHJ1ZSk7CisgICAgICAgIGNvbW1pdExheWVyQ2hh
bmdlc0JlZm9yZVN1YmxheWVycyhjaGlsZENvbW1pdFN0YXRlLCBwYWdlU2NhbGVGYWN0b3IsIGJh
c2VSZWxhdGl2ZVBvc2l0aW9uLCBvbGRWaXNpYmxlUmVjdCwgJnRyYW5zZm9ybUZyb21Sb290KTsK
KyAgICB9CiAKICAgICBpZiAoaXNSdW5uaW5nVHJhbnNmb3JtQW5pbWF0aW9uKCkpIHsKICAgICAg
ICAgY2hpbGRDb21taXRTdGF0ZS5hbmNlc3Rvckhhc1RyYW5zZm9ybUFuaW1hdGlvbiA9IHRydWU7
CkBAIC0xMTQ5LDcgKzExNTQsMTAgQEAgdm9pZCBHcmFwaGljc0xheWVyQ0E6OnJlY3Vyc2l2ZUNv
bW1pdENoYW5nZXMoY29uc3QgQ29tbWl0U3RhdGUmIGNvbW1pdFN0YXRlLCBjb24KICAgICBpZiAo
bV9tYXNrTGF5ZXIpCiAgICAgICAgIHN0YXRpY19jYXN0PEdyYXBoaWNzTGF5ZXJDQSo+KG1fbWFz
a0xheWVyKS0+Y29tbWl0TGF5ZXJDaGFuZ2VzQWZ0ZXJTdWJsYXllcnMoY2hpbGRDb21taXRTdGF0
ZSk7CiAKLSAgICBjb21taXRMYXllckNoYW5nZXNBZnRlclN1YmxheWVycyhjaGlsZENvbW1pdFN0
YXRlKTsKKyAgICB7CisgICAgICAgIFRlbXBvcmFyeUNoYW5nZTxib29sPiBjb21taXR0aW5nQ2hh
bmdlc0NoYW5nZShtX2lzQ29tbWl0dGluZ0NoYW5nZXMsIHRydWUpOworICAgICAgICBjb21taXRM
YXllckNoYW5nZXNBZnRlclN1YmxheWVycyhjaGlsZENvbW1pdFN0YXRlKTsKKyAgICB9CiAKICAg
ICBpZiAoYWZmZWN0ZWRCeVRyYW5zZm9ybUFuaW1hdGlvbiAmJiBjbGllbnQoKSAmJiBtX2xheWVy
LT5sYXllclR5cGUoKSA9PSBQbGF0Zm9ybUNBTGF5ZXI6OkxheWVyVHlwZVRpbGVkQmFja2luZ0xh
eWVyKQogICAgICAgICBjbGllbnQoKS0+bm90aWZ5Rmx1c2hCZWZvcmVEaXNwbGF5UmVmcmVzaCh0
aGlzKTsKQEAgLTExNzMsMTQgKzExODEsOSBAQCB2b2lkIEdyYXBoaWNzTGF5ZXJDQTo6cGxhdGZv
cm1DQUxheWVyUGFpbnRDb250ZW50cyhHcmFwaGljc0NvbnRleHQmIGNvbnRleHQsIGNvbgogICAg
IHBhaW50R3JhcGhpY3NMYXllckNvbnRlbnRzKGNvbnRleHQsIGNsaXApOwogfQogCi12b2lkIEdy
YXBoaWNzTGF5ZXJDQTo6cGxhdGZvcm1DQUxheWVyRGlkQ3JlYXRlVGlsZXMoY29uc3QgVmVjdG9y
PEZsb2F0UmVjdD4mIGRpcnR5UmVjdHMpCit2b2lkIEdyYXBoaWNzTGF5ZXJDQTo6cGxhdGZvcm1D
QUxheWVyU2V0TmVlZHNUb1JldmFsaWRhdGVUaWxlcygpCiB7Ci0gICAgQVNTRVJUKG1fbGF5ZXIt
PnVzZXNUaWxlZEJhY2tpbmdMYXllcigpKTsKLQotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwg
ZGlydHlSZWN0cy5zaXplKCk7ICsraSkKLSAgICAgICAgc2V0TmVlZHNEaXNwbGF5SW5SZWN0KGRp
cnR5UmVjdHNbaV0pOwotCi0gICAgbm90ZUxheWVyUHJvcGVydHlDaGFuZ2VkKFRpbGVzQWRkZWQp
OworICAgIG5vdGVMYXllclByb3BlcnR5Q2hhbmdlZChUaWxpbmdBcmVhQ2hhbmdlZCwgbV9pc0Nv
bW1pdHRpbmdDaGFuZ2VzID8gRG9udFNjaGVkdWxlRmx1c2ggOiBTY2hlZHVsZUZsdXNoKTsKIH0K
IAogZmxvYXQgR3JhcGhpY3NMYXllckNBOjpwbGF0Zm9ybUNBTGF5ZXJEZXZpY2VTY2FsZUZhY3Rv
cigpCkBAIC0xMjcyLDYgKzEyNzUsOSBAQCB2b2lkIEdyYXBoaWNzTGF5ZXJDQTo6Y29tbWl0TGF5
ZXJDaGFuZ2VzQmVmb3JlU3VibGF5ZXJzKENvbW1pdFN0YXRlJiBjb21taXRTdGF0ZQogCiAgICAg
aWYgKG1fdW5jb21taXR0ZWRDaGFuZ2VzICYgVmlzaWJsZVJlY3RDaGFuZ2VkKQogICAgICAgICB1
cGRhdGVWaXNpYmxlUmVjdChvbGRWaXNpYmxlUmVjdCk7CisgICAgCisgICAgaWYgKG1fdW5jb21t
aXR0ZWRDaGFuZ2VzICYgVGlsaW5nQXJlYUNoYW5nZWQpIC8vIE5lZWRzIHRvIGhhcHBlbiBhZnRl
ciBWaXNpYmxlUmVjdENoYW5nZWQsIENvbnRlbnRzU2NhbGVDaGFuZ2VkCisgICAgICAgIHVwZGF0
ZVRpbGVzKCk7CiAKICAgICBpZiAobV91bmNvbW1pdHRlZENoYW5nZXMgJiBEaXJ0eVJlY3RzQ2hh
bmdlZCkKICAgICAgICAgcmVwYWludExheWVyRGlydHlSZWN0cygpOwpAQCAtMTYyMCw3ICsxNjI2
LDcgQEAgdm9pZCBHcmFwaGljc0xheWVyQ0E6OmVuc3VyZVN0cnVjdHVyYWxMYXllcihTdHJ1Y3R1
cmFsTGF5ZXJQdXJwb3NlIHB1cnBvc2UpCiAKICAgICAvLyBXZSd2ZSBjaGFuZ2VkIHRoZSBsYXll
ciB0aGF0IG91ciBwYXJlbnQgYWRkZWQgdG8gaXRzIHN1YmxheWVyIGxpc3QsIHNvIHRlbGwgaXQg
dG8gdXBkYXRlCiAgICAgLy8gc3VibGF5ZXJzIGFnYWluIGluIGl0cyBjb21taXRMYXllckNoYW5n
ZXNBZnRlclN1YmxheWVycygpLgotICAgIHN0YXRpY19jYXN0PEdyYXBoaWNzTGF5ZXJDQSo+KHBh
cmVudCgpKS0+bm90ZVN1YmxheWVyc0NoYW5nZWQoKTsKKyAgICBzdGF0aWNfY2FzdDxHcmFwaGlj
c0xheWVyQ0EqPihwYXJlbnQoKSktPm5vdGVTdWJsYXllcnNDaGFuZ2VkKERvbnRTY2hlZHVsZUZs
dXNoKTsKIAogICAgIC8vIFNldCBwcm9wZXJ0aWVzIG9mIG1fbGF5ZXIgdG8gdGhlaXIgZGVmYXVs
dCB2YWx1ZXMsIHNpbmNlIHRoZXNlIGFyZSBleHByZXNzZWQgb24gb24gdGhlIHN0cnVjdHVyYWwg
bGF5ZXIuCiAgICAgRmxvYXRQb2ludCBwb2ludChtX3NpemUud2lkdGgoKSAvIDIuMGYsIG1fc2l6
ZS5oZWlnaHQoKSAvIDIuMGYpOwpAQCAtMTc1NSw2ICsxNzYxLDE0IEBAIHZvaWQgR3JhcGhpY3NM
YXllckNBOjp1cGRhdGVWaXNpYmxlUmVjdChjb25zdCBGbG9hdFJlY3QmIG9sZFZpc2libGVSZWN0
KQogICAgIG1fc2l6ZUF0TGFzdFZpc2libGVSZWN0VXBkYXRlID0gbV9zaXplOwogfQogCit2b2lk
IEdyYXBoaWNzTGF5ZXJDQTo6dXBkYXRlVGlsZXMoKQoreworICAgIGlmICghbV9sYXllci0+dXNl
c1RpbGVkQmFja2luZ0xheWVyKCkpCisgICAgICAgIHJldHVybjsKKworICAgIHRpbGVkQmFja2lu
ZygpLT5yZXZhbGlkYXRlVGlsZXMoKTsKK30KKwogdm9pZCBHcmFwaGljc0xheWVyQ0E6OnVwZGF0
ZUJhY2tncm91bmRDb2xvcigpCiB7CiAgICAgbV9sYXllci0+c2V0QmFja2dyb3VuZENvbG9yKG1f
YmFja2dyb3VuZENvbG9yKTsKQEAgLTE4ODEsNyArMTg5NSw3IEBAIHZvaWQgR3JhcGhpY3NMYXll
ckNBOjp1cGRhdGVDb250ZW50c1JlY3RzKCkKICAgICB9CiAgICAgCiAgICAgaWYgKGdhaW5lZE9y
TG9zdENsaXBwaW5nTGF5ZXIpCi0gICAgICAgIG5vdGVTdWJsYXllcnNDaGFuZ2VkKCk7CisgICAg
ICAgIG5vdGVTdWJsYXllcnNDaGFuZ2VkKERvbnRTY2hlZHVsZUZsdXNoKTsKIAogICAgIG1fY29u
dGVudHNMYXllci0+c2V0UG9zaXRpb24oY29udGVudE9yaWdpbik7CiAgICAgbV9jb250ZW50c0xh
eWVyLT5zZXRCb3VuZHMoY29udGVudEJvdW5kcyk7CkBAIC0zMjY0LDkgKzMyNzgsOSBAQCB2b2lk
IEdyYXBoaWNzTGF5ZXJDQTo6Y29tcHV0ZVBpeGVsQWxpZ25tZW50KGZsb2F0IHBhZ2VTY2FsZUZh
Y3RvciwgY29uc3QgRmxvYXRQbwogICAgIGFuY2hvclBvaW50ID0gRmxvYXRQb2ludDNEKGFuY2hv
clBvaW50WCwgYW5jaG9yUG9pbnRZLCBtX2FuY2hvclBvaW50LnooKSAqIHBhZ2VTY2FsZUZhY3Rv
cik7CiB9CiAKLXZvaWQgR3JhcGhpY3NMYXllckNBOjpub3RlU3VibGF5ZXJzQ2hhbmdlZCgpCit2
b2lkIEdyYXBoaWNzTGF5ZXJDQTo6bm90ZVN1YmxheWVyc0NoYW5nZWQoU2NoZWR1bGVGbHVzaE9y
Tm90IHNjaGVkdWxlRmx1c2gpCiB7Ci0gICAgbm90ZUxheWVyUHJvcGVydHlDaGFuZ2VkKENoaWxk
cmVuQ2hhbmdlZCk7CisgICAgbm90ZUxheWVyUHJvcGVydHlDaGFuZ2VkKENoaWxkcmVuQ2hhbmdl
ZCwgc2NoZWR1bGVGbHVzaCk7CiAgICAgcHJvcGFnYXRlTGF5ZXJDaGFuZ2VUb1JlcGxpY2FzKCk7
CiB9CiAKQEAgLTMyNzYsMTYgKzMyOTAsMTggQEAgYm9vbCBHcmFwaGljc0xheWVyQ0E6OmNhblRo
cm90dGxlTGF5ZXJGbHVzaCgpIGNvbnN0CiAgICAgcmV0dXJuICEobV91bmNvbW1pdHRlZENoYW5n
ZXMgJiBUaWxlc0FkZGVkKTsKIH0KIAotdm9pZCBHcmFwaGljc0xheWVyQ0E6Om5vdGVMYXllclBy
b3BlcnR5Q2hhbmdlZChMYXllckNoYW5nZUZsYWdzIGZsYWdzKQordm9pZCBHcmFwaGljc0xheWVy
Q0E6Om5vdGVMYXllclByb3BlcnR5Q2hhbmdlZChMYXllckNoYW5nZUZsYWdzIGZsYWdzLCBTY2hl
ZHVsZUZsdXNoT3JOb3Qgc2NoZWR1bGVGbHVzaCkKIHsKICAgICBib29sIGhhZFVuY29tbWl0dGVk
Q2hhbmdlcyA9ICEhbV91bmNvbW1pdHRlZENoYW5nZXM7CiAgICAgYm9vbCBvbGRDYW5UaHJvdHRs
ZUxheWVyRmx1c2ggPSBjYW5UaHJvdHRsZUxheWVyRmx1c2goKTsKIAogICAgIG1fdW5jb21taXR0
ZWRDaGFuZ2VzIHw9IGZsYWdzOwogCi0gICAgYm9vbCBuZWVkc0ZsdXNoID0gIWhhZFVuY29tbWl0
dGVkQ2hhbmdlcyB8fCBvbGRDYW5UaHJvdHRsZUxheWVyRmx1c2ggIT0gY2FuVGhyb3R0bGVMYXll
ckZsdXNoKCk7Ci0gICAgaWYgKG5lZWRzRmx1c2ggJiYgbV9jbGllbnQpCi0gICAgICAgIG1fY2xp
ZW50LT5ub3RpZnlGbHVzaFJlcXVpcmVkKHRoaXMpOworICAgIGlmIChzY2hlZHVsZUZsdXNoID09
IFNjaGVkdWxlRmx1c2gpIHsKKyAgICAgICAgYm9vbCBuZWVkc0ZsdXNoID0gIWhhZFVuY29tbWl0
dGVkQ2hhbmdlcyB8fCBvbGRDYW5UaHJvdHRsZUxheWVyRmx1c2ggIT0gY2FuVGhyb3R0bGVMYXll
ckZsdXNoKCk7CisgICAgICAgIGlmIChuZWVkc0ZsdXNoICYmIG1fY2xpZW50KQorICAgICAgICAg
ICAgbV9jbGllbnQtPm5vdGlmeUZsdXNoUmVxdWlyZWQodGhpcyk7CisgICAgfQogfQogCiBkb3Vi
bGUgR3JhcGhpY3NMYXllckNBOjpiYWNraW5nU3RvcmVNZW1vcnlFc3RpbWF0ZSgpIGNvbnN0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGljc0xh
eWVyQ0EuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5
ZXJDQS5oCmluZGV4IDRhYWExNDU5Y2ZhMmVhN2Q3NjJlZmNlM2QzY2I2MWZjYzE2N2UwY2IuLjk2
ODEyNzM2NmY1ZjljZDZjMjYyMTljNDY4ZTRkMGI1YTllYmJmMmQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5oCkBAIC0x
NzIsOCArMTcyLDkgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIGJvb2wgcGxhdGZvcm1DQUxheWVy
Q29udGVudHNPcGFxdWUoKSBjb25zdCB7IHJldHVybiBjb250ZW50c09wYXF1ZSgpOyB9CiAgICAg
dmlydHVhbCBib29sIHBsYXRmb3JtQ0FMYXllckRyYXdzQ29udGVudCgpIGNvbnN0IHsgcmV0dXJu
IGRyYXdzQ29udGVudCgpOyB9CiAgICAgdmlydHVhbCB2b2lkIHBsYXRmb3JtQ0FMYXllckxheWVy
RGlkRGlzcGxheShQbGF0Zm9ybUxheWVyKiBsYXllcikgeyByZXR1cm4gbGF5ZXJEaWREaXNwbGF5
KGxheWVyKTsgfQotICAgIHZpcnR1YWwgdm9pZCBwbGF0Zm9ybUNBTGF5ZXJEaWRDcmVhdGVUaWxl
cyhjb25zdCBWZWN0b3I8RmxvYXRSZWN0PiYgZGlydHlSZWN0cykgT1ZFUlJJREU7CisgICAgdmly
dHVhbCB2b2lkIHBsYXRmb3JtQ0FMYXllclNldE5lZWRzVG9SZXZhbGlkYXRlVGlsZXMoKSBPVkVS
UklERTsKICAgICB2aXJ0dWFsIGZsb2F0IHBsYXRmb3JtQ0FMYXllckRldmljZVNjYWxlRmFjdG9y
KCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCBib29sIGlzQ29tbWl0dGluZ0NoYW5nZXMoKSBjb25z
dCBPVkVSUklERSB7IHJldHVybiBtX2lzQ29tbWl0dGluZ0NoYW5nZXM7IH0KIAogICAgIHZpcnR1
YWwgZG91YmxlIGJhY2tpbmdTdG9yZU1lbW9yeUVzdGltYXRlKCkgY29uc3Q7CiAKQEAgLTM1NSw2
ICszNTYsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgdXBkYXRlQWNjZWxlcmF0ZXNEcmF3aW5nKCk7
CiAgICAgdm9pZCB1cGRhdGVEZWJ1Z0JvcmRlcigpOwogICAgIHZvaWQgdXBkYXRlVmlzaWJsZVJl
Y3QoY29uc3QgRmxvYXRSZWN0JiBvbGRWaXNpYmxlUmVjdCk7CisgICAgdm9pZCB1cGRhdGVUaWxl
cygpOwogICAgIHZvaWQgdXBkYXRlQ29udGVudHNTY2FsZShmbG9hdCBwYWdlU2NhbGVGYWN0b3Ip
OwogICAgIAogICAgIGVudW0gU3RydWN0dXJhbExheWVyUHVycG9zZSB7CkBAIC00MTAsMTIgKzQx
MiwxNCBAQCBwcml2YXRlOgogICAgICAgICBDb250ZW50c1Zpc2liaWxpdHlDaGFuZ2VkID0gMSA8
PCAyNSwKICAgICAgICAgVmlzaWJsZVJlY3RDaGFuZ2VkID0gMSA8PCAyNiwKICAgICAgICAgRmls
dGVyc0NoYW5nZWQgPSAxIDw8IDI3LAotICAgICAgICBUaWxlc0FkZGVkID0gMSA8IDI4LAotICAg
ICAgICBEZWJ1Z0luZGljYXRvcnNDaGFuZ2VkID0gMSA8PCAyOQorICAgICAgICBUaWxpbmdBcmVh
Q2hhbmdlZCA9IDEgPDwgMjgsCisgICAgICAgIFRpbGVzQWRkZWQgPSAxIDwgMjksCisgICAgICAg
IERlYnVnSW5kaWNhdG9yc0NoYW5nZWQgPSAxIDw8IDMwCiAgICAgfTsKICAgICB0eXBlZGVmIHVu
c2lnbmVkIExheWVyQ2hhbmdlRmxhZ3M7Ci0gICAgdm9pZCBub3RlTGF5ZXJQcm9wZXJ0eUNoYW5n
ZWQoTGF5ZXJDaGFuZ2VGbGFncyBmbGFncyk7Ci0gICAgdm9pZCBub3RlU3VibGF5ZXJzQ2hhbmdl
ZCgpOworICAgIGVudW0gU2NoZWR1bGVGbHVzaE9yTm90IHsgU2NoZWR1bGVGbHVzaCwgRG9udFNj
aGVkdWxlRmx1c2ggfTsKKyAgICB2b2lkIG5vdGVMYXllclByb3BlcnR5Q2hhbmdlZChMYXllckNo
YW5nZUZsYWdzLCBTY2hlZHVsZUZsdXNoT3JOb3QgPSBTY2hlZHVsZUZsdXNoKTsKKyAgICB2b2lk
IG5vdGVTdWJsYXllcnNDaGFuZ2VkKFNjaGVkdWxlRmx1c2hPck5vdCA9IFNjaGVkdWxlRmx1c2gp
OwogICAgIHZvaWQgbm90ZUNoYW5nZXNGb3JTY2FsZVNlbnNpdGl2ZVByb3BlcnRpZXMoKTsKIAog
ICAgIHZvaWQgcmVwYWludExheWVyRGlydHlSZWN0cygpOwpAQCAtNTA1LDYgKzUwOSw3IEBAIHBy
aXZhdGU6CiAgICAgRmxvYXRTaXplIG1fcGl4ZWxBbGlnbm1lbnRPZmZzZXQ7CiAgICAgCiAgICAg
TGF5ZXJDaGFuZ2VGbGFncyBtX3VuY29tbWl0dGVkQ2hhbmdlczsKKyAgICBib29sIG1faXNDb21t
aXR0aW5nQ2hhbmdlczsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1BsYXRmb3JtQ0FMYXllckNsaWVu
dC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvUGxhdGZvcm1DQUxheWVy
Q2xpZW50LmgKaW5kZXggMTg1ZDYzNThjODU1MzlmMjUwNjY3NGRjNTY0YjMwZTU0ZTcyNDBkNi4u
NTliMTQ3ODY3MjkzOWM5ZTVhZTMwNDNiZGZiYTA2NDQxYzczNmNlYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvUGxhdGZvcm1DQUxheWVyQ2xpZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvUGxhdGZvcm1DQUxheWVy
Q2xpZW50LmgKQEAgLTU5LDkgKzU5LDExIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgcGxh
dGZvcm1DQUxheWVyRHJhd3NDb250ZW50KCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBw
bGF0Zm9ybUNBTGF5ZXJMYXllckRpZERpc3BsYXkoUGxhdGZvcm1MYXllciopID0gMDsKIAotICAg
IHZpcnR1YWwgdm9pZCBwbGF0Zm9ybUNBTGF5ZXJEaWRDcmVhdGVUaWxlcyhjb25zdCBWZWN0b3I8
RmxvYXRSZWN0PiYgZGlydHlSZWN0cykgPSAwOworICAgIHZpcnR1YWwgdm9pZCBwbGF0Zm9ybUNB
TGF5ZXJTZXROZWVkc1RvUmV2YWxpZGF0ZVRpbGVzKCkgeyB9CiAgICAgdmlydHVhbCBmbG9hdCBw
bGF0Zm9ybUNBTGF5ZXJEZXZpY2VTY2FsZUZhY3RvcigpID0gMDsKIAorICAgIHZpcnR1YWwgYm9v
bCBpc0NvbW1pdHRpbmdDaGFuZ2VzKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKwogcHJvdGVj
dGVkOgogICAgIHZpcnR1YWwgflBsYXRmb3JtQ0FMYXllckNsaWVudCgpIHt9CiB9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvbWFjL1RpbGVDb250cm9s
bGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9tYWMvVGlsZUNvbnRy
b2xsZXIuaAppbmRleCBlNjdiNTE3OGYxYWZkMDBmMTg5ODUxZTllYmMxYWE3YzY5NmZkMmNlLi4x
NDI5Njg4MTljMTQ2YjRhNWFkZjA2NmQ3ODc2NTc4ZTNkNGJiMzczIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9tYWMvVGlsZUNvbnRyb2xsZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9tYWMvVGlsZUNvbnRyb2xsZXIu
aApAQCAtMTE1LDYgKzExNSw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHNldElzSW5X
aW5kb3coYm9vbCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHNldFRpbGVDb3ZlcmFnZShU
aWxlQ292ZXJhZ2UpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgVGlsZUNvdmVyYWdlIHRpbGVDb3Zl
cmFnZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIG1fdGlsZUNvdmVyYWdlOyB9CisgICAgdmly
dHVhbCB2b2lkIHJldmFsaWRhdGVUaWxlcygpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBm
b3JjZVJlcGFpbnQoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIEludFNpemUgdGlsZVNpemUoKSBj
b25zdCBPVkVSUklERSB7IHJldHVybiBtX3RpbGVTaXplOyB9CiAgICAgdmlydHVhbCBJbnRSZWN0
IHRpbGVHcmlkRXh0ZW50KCkgY29uc3QgT1ZFUlJJREU7CkBAIC0xNDUsNyArMTQ2LDggQEAgcHJp
dmF0ZToKICAgICAKICAgICB0eXBlZGVmIHVuc2lnbmVkIFRpbGVWYWxpZGF0aW9uUG9saWN5Rmxh
Z3M7CiAKLSAgICB2b2lkIHJldmFsaWRhdGVUaWxlcyhUaWxlVmFsaWRhdGlvblBvbGljeUZsYWdz
IGZvcmVncm91bmRWYWxpZGF0aW9uUG9saWN5ID0gMCwgVGlsZVZhbGlkYXRpb25Qb2xpY3lGbGFn
cyBiYWNrZ3JvdW5kVmFsaWRhdGlvblBvbGljeSA9IDApOworICAgIHZvaWQgc2V0TmVlZHNSZXZh
bGlkYXRlVGlsZXMoKTsKKyAgICB2b2lkIHJldmFsaWRhdGVUaWxlcyhUaWxlVmFsaWRhdGlvblBv
bGljeUZsYWdzIGZvcmVncm91bmRWYWxpZGF0aW9uUG9saWN5LCBUaWxlVmFsaWRhdGlvblBvbGlj
eUZsYWdzIGJhY2tncm91bmRWYWxpZGF0aW9uUG9saWN5KTsKICAgICBlbnVtIGNsYXNzIENvdmVy
YWdlVHlwZSB7IFByaW1hcnlUaWxlcywgU2Vjb25kYXJ5VGlsZXMgfTsKIAogICAgIC8vIFJldHVy
bnMgdGhlIGJvdW5kcyBvZiB0aGUgY292ZXJlZCB0aWxlcy4KQEAgLTE3OSw2ICsxODEsOCBAQCBw
cml2YXRlOgogICAgIEZsb2F0UmVjdCBtX3Zpc2libGVSZWN0QXRMYXN0UmV2YWxpZGF0ZTsKICAg
ICBGbG9hdFJlY3QgbV9leHBvc2VkUmVjdDsgLy8gVGhlIGV4cG9zZWQgYXJlYSBvZiBjb250YWlu
aW5nIHBsYXRmb3JtIHZpZXdzLgogICAgIEludFJlY3QgbV9ib3VuZHNBdExhc3RSZXZhbGlkYXRl
OworICAgIAorICAgIFZlY3RvcjxGbG9hdFJlY3Q+IG1fc2Vjb25kYXJ5VGlsZUNvdmVyYWdlUmVj
dHM7CiAKICAgICB0eXBlZGVmIEhhc2hNYXA8VGlsZUluZGV4LCBUaWxlSW5mbz4gVGlsZU1hcDsK
ICAgICBUaWxlTWFwIG1fdGlsZXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jYS9tYWMvVGlsZUNvbnRyb2xsZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jYS9tYWMvVGlsZUNvbnRyb2xsZXIubW0KaW5kZXggNjY2MjRkMmFmZDQ3
OTAyOWI0ZWE5OGZmNTA5ZWIyNjhiOTkwYThjZi4uOTcxOGQ0MTgxNTYwYzk3Mjk0ZDMyNDQ3NTEx
M2JlZjY1ZDNlMWRhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2EvbWFjL1RpbGVDb250cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NhL21hYy9UaWxlQ29udHJvbGxlci5tbQpAQCAtMTM1LDE0ICsxMzUsOCBAQCBU
aWxlQ29udHJvbGxlcjo6flRpbGVDb250cm9sbGVyKCkKIAogdm9pZCBUaWxlQ29udHJvbGxlcjo6
dGlsZUNhY2hlTGF5ZXJCb3VuZHNDaGFuZ2VkKCkKIHsKLSAgICBpZiAobV90aWxlcy5pc0VtcHR5
KCkpIHsKLSAgICAgICAgLy8gV2UgbXVzdCByZXZhbGlkYXRlIGltbWVkaWF0ZWx5IGluc3RlYWQg
b2YgdXNpbmcgYSB0aW1lciB3aGVuIHRoZXJlIGFyZQotICAgICAgICAvLyBubyB0aWxlcyB0byBh
dm9pZCBhIGZsYXNoIHdoZW4gdHJhbnNpdGlvbmluZyBmcm9tIG9uZSBwYWdlIHRvIGFub3RoZXIu
Ci0gICAgICAgIHJldmFsaWRhdGVUaWxlcygpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0g
ICAgc2NoZWR1bGVUaWxlUmV2YWxpZGF0aW9uKDApOworICAgIEFTU0VSVChQbGF0Zm9ybUNBTGF5
ZXI6OnBsYXRmb3JtQ0FMYXllcihtX3RpbGVDYWNoZUxheWVyKS0+b3duZXIoKS0+aXNDb21taXR0
aW5nQ2hhbmdlcygpKTsKKyAgICBzZXROZWVkc1JldmFsaWRhdGVUaWxlcygpOwogfQogCiB2b2lk
IFRpbGVDb250cm9sbGVyOjpzZXROZWVkc0Rpc3BsYXkoKQpAQCAtMjMyLDYgKzIyNiw4IEBAIHZv
aWQgVGlsZUNvbnRyb2xsZXI6OmRyYXdMYXllcihXZWJUaWxlTGF5ZXIgKmxheWVyLCBDR0NvbnRl
eHRSZWYgY29udGV4dCkKIHZvaWQgVGlsZUNvbnRyb2xsZXI6OnNldFNjYWxlKENHRmxvYXQgc2Nh
bGUpCiB7CiAgICAgUGxhdGZvcm1DQUxheWVyKiBwbGF0Zm9ybUxheWVyID0gUGxhdGZvcm1DQUxh
eWVyOjpwbGF0Zm9ybUNBTGF5ZXIobV90aWxlQ2FjaGVMYXllcik7CisgICAgQVNTRVJUKHBsYXRm
b3JtTGF5ZXItPm93bmVyKCktPmlzQ29tbWl0dGluZ0NoYW5nZXMoKSk7CisKICAgICBmbG9hdCBk
ZXZpY2VTY2FsZUZhY3RvciA9IHBsYXRmb3JtTGF5ZXItPm93bmVyKCktPnBsYXRmb3JtQ0FMYXll
ckRldmljZVNjYWxlRmFjdG9yKCk7CiAKICAgICAvLyBUaGUgc2NhbGUgd2UgZ2V0IGlzIHRoZSBw
cm9kdWNlIG9mIHRoZSBwYWdlIHNjYWxlIGZhY3RvciBhbmQgZGV2aWNlIHNjYWxlIGZhY3Rvci4K
QEAgLTI0Nyw2ICsyNDMsNyBAQCB2b2lkIFRpbGVDb250cm9sbGVyOjpzZXRTY2FsZShDR0Zsb2F0
IHNjYWxlKQogICAgIG1fc2NhbGUgPSBzY2FsZTsKICAgICBbbV90aWxlQ29udGFpbmVyTGF5ZXIu
Z2V0KCkgc2V0VHJhbnNmb3JtOkNBVHJhbnNmb3JtM0RNYWtlU2NhbGUoMSAvIG1fc2NhbGUsIDEg
LyBtX3NjYWxlLCAxKV07CiAKKyAgICAvLyBGSVhNRTogd2UgbWF5IHJldmFsaWRhdGVUaWxlcyB0
d2ljZSBpbiB0aGlzIGNvbW1pdC4KICAgICByZXZhbGlkYXRlVGlsZXMoUHJ1bmVTZWNvbmRhcnlU
aWxlcywgUHJ1bmVTZWNvbmRhcnlUaWxlcyk7CiAKICAgICBmb3IgKFRpbGVNYXA6OmNvbnN0X2l0
ZXJhdG9yIGl0ID0gbV90aWxlcy5iZWdpbigpLCBlbmQgPSBtX3RpbGVzLmVuZCgpOyBpdCAhPSBl
bmQ7ICsraXQpIHsKQEAgLTI1OSw4ICsyNTYsNiBAQCB2b2lkIFRpbGVDb250cm9sbGVyOjpzZXRT
Y2FsZShDR0Zsb2F0IHNjYWxlKQogICAgICAgICBzY2FsZWRUaWxlUmVjdC5zY2FsZSgxIC8gbV9z
Y2FsZSk7CiAgICAgICAgIGRpcnR5UmVjdHMuYXBwZW5kKHNjYWxlZFRpbGVSZWN0KTsKICAgICB9
Ci0KLSAgICBwbGF0Zm9ybUxheWVyLT5vd25lcigpLT5wbGF0Zm9ybUNBTGF5ZXJEaWRDcmVhdGVU
aWxlcyhkaXJ0eVJlY3RzKTsKIH0KIAogdm9pZCBUaWxlQ29udHJvbGxlcjo6c2V0QWNjZWxlcmF0
ZXNEcmF3aW5nKGJvb2wgYWNjZWxlcmF0ZXNEcmF3aW5nKQpAQCAtMjkxLDExICsyODYsMTIgQEAg
dm9pZCBUaWxlQ29udHJvbGxlcjo6c2V0VGlsZXNPcGFxdWUoYm9vbCBvcGFxdWUpCiAKIHZvaWQg
VGlsZUNvbnRyb2xsZXI6OnNldFZpc2libGVSZWN0KGNvbnN0IEZsb2F0UmVjdCYgdmlzaWJsZVJl
Y3QpCiB7CisgICAgQVNTRVJUKFBsYXRmb3JtQ0FMYXllcjo6cGxhdGZvcm1DQUxheWVyKG1fdGls
ZUNhY2hlTGF5ZXIpLT5vd25lcigpLT5pc0NvbW1pdHRpbmdDaGFuZ2VzKCkpOwogICAgIGlmICht
X3Zpc2libGVSZWN0ID09IHZpc2libGVSZWN0KQogICAgICAgICByZXR1cm47CiAKICAgICBtX3Zp
c2libGVSZWN0ID0gdmlzaWJsZVJlY3Q7Ci0gICAgcmV2YWxpZGF0ZVRpbGVzKCk7CisgICAgc2V0
TmVlZHNSZXZhbGlkYXRlVGlsZXMoKTsKIH0KIAogYm9vbCBUaWxlQ29udHJvbGxlcjo6dGlsZXNX
b3VsZENoYW5nZUZvclZpc2libGVSZWN0KGNvbnN0IEZsb2F0UmVjdCYgbmV3VmlzaWJsZVJlY3Qp
IGNvbnN0CkBAIC0zMzMsNyArMzI5LDcgQEAgdm9pZCBUaWxlQ29udHJvbGxlcjo6c2V0RXhwb3Nl
ZFJlY3QoY29uc3QgRmxvYXRSZWN0JiBleHBvc2VkUmVjdCkKICAgICAgICAgcmV0dXJuOwogCiAg
ICAgbV9leHBvc2VkUmVjdCA9IGV4cG9zZWRSZWN0OwotICAgIHJldmFsaWRhdGVUaWxlcygpOwor
ICAgIHNldE5lZWRzUmV2YWxpZGF0ZVRpbGVzKCk7CiB9CiAKIHZvaWQgVGlsZUNvbnRyb2xsZXI6
OnNldENsaXBzVG9FeHBvc2VkUmVjdChib29sIGNsaXBzVG9FeHBvc2VkUmVjdCkKQEAgLTM0NSw3
ICszNDEsNyBAQCB2b2lkIFRpbGVDb250cm9sbGVyOjpzZXRDbGlwc1RvRXhwb3NlZFJlY3QoYm9v
bCBjbGlwc1RvRXhwb3NlZFJlY3QpCiAKICAgICAvLyBHb2luZyBmcm9tIG5vdCBjbGlwcGluZyB0
byBjbGlwcGluZywgd2UgZG9uJ3QgbmVlZCB0byByZXZhbGlkYXRlIHJpZ2h0IGF3YXkuCiAgICAg
aWYgKGNsaXBzVG9FeHBvc2VkUmVjdCkKLSAgICAgICAgcmV2YWxpZGF0ZVRpbGVzKCk7CisgICAg
ICAgIHNldE5lZWRzUmV2YWxpZGF0ZVRpbGVzKCk7CiB9CiAKIHZvaWQgVGlsZUNvbnRyb2xsZXI6
OnByZXBvcHVsYXRlUmVjdChjb25zdCBGbG9hdFJlY3QmIHJlY3QpCkBAIC0zNTYsMTEgKzM1Miw5
IEBAIHZvaWQgVGlsZUNvbnRyb2xsZXI6OnByZXBvcHVsYXRlUmVjdChjb25zdCBGbG9hdFJlY3Qm
IHJlY3QpCiAKICAgICBpZiAobV9wcmltYXJ5VGlsZUNvdmVyYWdlUmVjdC5jb250YWlucyhyZWN0
SW5UaWxlQ29vcmRzKSkKICAgICAgICAgcmV0dXJuOwotCi0gICAgZW5zdXJlVGlsZXNGb3JSZWN0
KHJlY3QsIENvdmVyYWdlVHlwZTo6U2Vjb25kYXJ5VGlsZXMpOwotCi0gICAgaWYgKG1fdGlsZWRT
Y3JvbGxpbmdJbmRpY2F0b3JMYXllcikKLSAgICAgICAgdXBkYXRlVGlsZUNvdmVyYWdlTWFwKCk7
CisgICAgCisgICAgbV9zZWNvbmRhcnlUaWxlQ292ZXJhZ2VSZWN0cy5hcHBlbmQocmVjdCk7Cisg
ICAgc2V0TmVlZHNSZXZhbGlkYXRlVGlsZXMoKTsKIH0KIAogdm9pZCBUaWxlQ29udHJvbGxlcjo6
c2V0SXNJbldpbmRvdyhib29sIGlzSW5XaW5kb3cpCkBAIC0zNzEsNyArMzY1LDcgQEAgdm9pZCBU
aWxlQ29udHJvbGxlcjo6c2V0SXNJbldpbmRvdyhib29sIGlzSW5XaW5kb3cpCiAgICAgbV9pc0lu
V2luZG93ID0gaXNJbldpbmRvdzsKIAogICAgIGlmIChtX2lzSW5XaW5kb3cpCi0gICAgICAgIHJl
dmFsaWRhdGVUaWxlcygpOworICAgICAgICBzZXROZWVkc1JldmFsaWRhdGVUaWxlcygpOwogICAg
IGVsc2UgewogICAgICAgICBjb25zdCBkb3VibGUgdGlsZVJldmFsaWRhdGlvblRpbWVvdXQgPSA0
OwogICAgICAgICBzY2hlZHVsZVRpbGVSZXZhbGlkYXRpb24odGlsZVJldmFsaWRhdGlvblRpbWVv
dXQpOwpAQCAtMzg0LDcgKzM3OCwxMyBAQCB2b2lkIFRpbGVDb250cm9sbGVyOjpzZXRUaWxlQ292
ZXJhZ2UoVGlsZUNvdmVyYWdlIGNvdmVyYWdlKQogICAgICAgICByZXR1cm47CiAKICAgICBtX3Rp
bGVDb3ZlcmFnZSA9IGNvdmVyYWdlOwotICAgIHNjaGVkdWxlVGlsZVJldmFsaWRhdGlvbigwKTsK
KyAgICBzZXROZWVkc1JldmFsaWRhdGVUaWxlcygpOworfQorCit2b2lkIFRpbGVDb250cm9sbGVy
OjpyZXZhbGlkYXRlVGlsZXMoKQoreworICAgIEFTU0VSVChQbGF0Zm9ybUNBTGF5ZXI6OnBsYXRm
b3JtQ0FMYXllcihtX3RpbGVDYWNoZUxheWVyKS0+b3duZXIoKS0+aXNDb21taXR0aW5nQ2hhbmdl
cygpKTsKKyAgICByZXZhbGlkYXRlVGlsZXMoMCwgMCk7CiB9CiAKIHZvaWQgVGlsZUNvbnRyb2xs
ZXI6OmZvcmNlUmVwYWludCgpCkBAIC01MTAsNiArNTEwLDExIEBAIHZvaWQgVGlsZUNvbnRyb2xs
ZXI6OnNjaGVkdWxlVGlsZVJldmFsaWRhdGlvbihkb3VibGUgaW50ZXJ2YWwpCiAKIHZvaWQgVGls
ZUNvbnRyb2xsZXI6OnRpbGVSZXZhbGlkYXRpb25UaW1lckZpcmVkKFRpbWVyPFRpbGVDb250cm9s
bGVyPiopCiB7CisgICAgaWYgKG1faXNJbldpbmRvdykgeworICAgICAgICBzZXROZWVkc1JldmFs
aWRhdGVUaWxlcygpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgVGlsZVZhbGlkYXRp
b25Qb2xpY3lGbGFncyBmb3JlZ3JvdW5kVmFsaWRhdGlvblBvbGljeSA9IG1fYWdncmVzc2l2ZWx5
UmV0YWluc1RpbGVzID8gMCA6IFBydW5lU2Vjb25kYXJ5VGlsZXM7CiAgICAgVGlsZVZhbGlkYXRp
b25Qb2xpY3lGbGFncyBiYWNrZ3JvdW5kVmFsaWRhdGlvblBvbGljeSA9IGZvcmVncm91bmRWYWxp
ZGF0aW9uUG9saWN5IHwgVW5wYXJlbnRBbGxUaWxlczsKIApAQCAtNjA0LDYgKzYwOSwxMiBAQCB2
b2lkIFRpbGVDb250cm9sbGVyOjpyZW1vdmVUaWxlc0luQ29ob3J0KFRpbGVDb2hvcnQgY29ob3J0
KQogICAgIH0KIH0KIAordm9pZCBUaWxlQ29udHJvbGxlcjo6c2V0TmVlZHNSZXZhbGlkYXRlVGls
ZXMoKQoreworICAgIFBsYXRmb3JtQ0FMYXllciogcGxhdGZvcm1MYXllciA9IFBsYXRmb3JtQ0FM
YXllcjo6cGxhdGZvcm1DQUxheWVyKG1fdGlsZUNhY2hlTGF5ZXIpOworICAgIHBsYXRmb3JtTGF5
ZXItPm93bmVyKCktPnBsYXRmb3JtQ0FMYXllclNldE5lZWRzVG9SZXZhbGlkYXRlVGlsZXMoKTsK
K30KKwogdm9pZCBUaWxlQ29udHJvbGxlcjo6cmV2YWxpZGF0ZVRpbGVzKFRpbGVWYWxpZGF0aW9u
UG9saWN5RmxhZ3MgZm9yZWdyb3VuZFZhbGlkYXRpb25Qb2xpY3ksIFRpbGVWYWxpZGF0aW9uUG9s
aWN5RmxhZ3MgYmFja2dyb3VuZFZhbGlkYXRpb25Qb2xpY3kpCiB7CiAgICAgLy8gSWYgdGhlIHVu
ZGVybHlpbmcgUGxhdGZvcm1MYXllciBoYXMgYmVlbiBkZXN0cm95ZWQsIGJ1dCB0aGUgV2ViVGls
ZWRCYWNraW5nTGF5ZXIgaGFzbid0CkBAIC02NzEsMTMgKzY4MiwxNyBAQCB2b2lkIFRpbGVDb250
cm9sbGVyOjpyZXZhbGlkYXRlVGlsZXMoVGlsZVZhbGlkYXRpb25Qb2xpY3lGbGFncyBmb3JlZ3Jv
dW5kVmFsaWRhdAogICAgICAgICBpZiAoIW1fYWdncmVzc2l2ZWx5UmV0YWluc1RpbGVzKQogICAg
ICAgICAgICAgc2NoZWR1bGVDb2hvcnRSZW1vdmFsKCk7CiAgICAgfQotICAgIAorCiAgICAgLy8g
RW5zdXJlIHByaW1hcnkgdGlsZSBjb3ZlcmFnZSB0aWxlcy4KICAgICBtX3ByaW1hcnlUaWxlQ292
ZXJhZ2VSZWN0ID0gZW5zdXJlVGlsZXNGb3JSZWN0KHRpbGVDb3ZlcmFnZVJlY3QsIENvdmVyYWdl
VHlwZTo6UHJpbWFyeVRpbGVzKTsKIAogICAgIGlmICh2YWxpZGF0aW9uUG9saWN5ICYgUHJ1bmVT
ZWNvbmRhcnlUaWxlcykgewogICAgICAgICByZW1vdmVBbGxTZWNvbmRhcnlUaWxlcygpOwogICAg
ICAgICBtX2NvaG9ydExpc3QuY2xlYXIoKTsKKyAgICB9IGVsc2UgeworICAgICAgICBmb3IgKHNp
emVfdCBpID0gMDsgaSA8IG1fc2Vjb25kYXJ5VGlsZUNvdmVyYWdlUmVjdHMuc2l6ZSgpOyArK2kp
CisgICAgICAgICAgICBlbnN1cmVUaWxlc0ZvclJlY3QobV9zZWNvbmRhcnlUaWxlQ292ZXJhZ2VS
ZWN0c1tpXSwgQ292ZXJhZ2VUeXBlOjpTZWNvbmRhcnlUaWxlcyk7CisgICAgICAgIG1fc2Vjb25k
YXJ5VGlsZUNvdmVyYWdlUmVjdHMuY2xlYXIoKTsKICAgICB9CiAKICAgICBpZiAobV91bnBhcmVu
dHNPZmZzY3JlZW5UaWxlcyAmJiAodmFsaWRhdGlvblBvbGljeSAmIFVucGFyZW50QWxsVGlsZXMp
KSB7CkBAIC04MzQsMTAgKzg0OSw2IEBAIEludFJlY3QgVGlsZUNvbnRyb2xsZXI6OmVuc3VyZVRp
bGVzRm9yUmVjdChjb25zdCBGbG9hdFJlY3QmIHJlY3QsIENvdmVyYWdlVHlwZSBuCiAgICAgaWYg
KHRpbGVzSW5Db2hvcnQpCiAgICAgICAgIHN0YXJ0ZWROZXdDb2hvcnQoY3VyckNvaG9ydCk7CiAK
LSAgICAvLyBUaGlzIHdpbGwgZW5zdXJlIHdlIGZsdXNoIGNvbXBvc2l0aW5nIHN0YXRlIGFuZCBk
byBsYXlvdXQgaW4gdGhpcyBydW4gbG9vcCBpdGVyYXRpb24uCi0gICAgaWYgKCFkaXJ0eVJlY3Rz
LmlzRW1wdHkoKSkKLSAgICAgICAgcGxhdGZvcm1MYXllci0+b3duZXIoKS0+cGxhdGZvcm1DQUxh
eWVyRGlkQ3JlYXRlVGlsZXMoZGlydHlSZWN0cyk7Ci0KICAgICByZXR1cm4gY292ZXJhZ2VSZWN0
OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4v
TWVkaWFQbGF5ZXJQcml2YXRlUXVpY2tUaW1lVmlzdWFsQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vTWVkaWFQbGF5ZXJQcml2YXRlUXVpY2tUaW1lVmlz
dWFsQ29udGV4dC5jcHAKaW5kZXggMGUxOTYwMjJkN2ExMGM4NTk2NDdkMWNiOTcxNjg2MWMyZGNk
MWJkZS4uMGIzNTE4NGM4YWQxYjg1MjkxYWQ5MDJiMGE0Nzc0ZWIwNGI5NzE1ZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL01lZGlhUGxheWVyUHJpdmF0
ZVF1aWNrVGltZVZpc3VhbENvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3dpbi9NZWRpYVBsYXllclByaXZhdGVRdWlja1RpbWVWaXN1YWxDb250ZXh0LmNw
cApAQCAtMTA4LDcgKzEwOCw2IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBib29sIHBsYXRmb3Jt
Q0FMYXllckNvbnRlbnRzT3BhcXVlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0
dWFsIGJvb2wgcGxhdGZvcm1DQUxheWVyRHJhd3NDb250ZW50KCkgY29uc3QgeyByZXR1cm4gZmFs
c2U7IH0KICAgICB2aXJ0dWFsIHZvaWQgcGxhdGZvcm1DQUxheWVyTGF5ZXJEaWREaXNwbGF5KFBs
YXRmb3JtTGF5ZXIqKSB7IH0KLSAgICB2aXJ0dWFsIHZvaWQgcGxhdGZvcm1DQUxheWVyRGlkQ3Jl
YXRlVGlsZXMoY29uc3QgVmVjdG9yPEZsb2F0UmVjdD4mKSB7IH0KICAgICB2aXJ0dWFsIGZsb2F0
IHBsYXRmb3JtQ0FMYXllckRldmljZVNjYWxlRmFjdG9yKCkgeyByZXR1cm4gMTsgfQogCiAgICAg
TWVkaWFQbGF5ZXJQcml2YXRlUXVpY2tUaW1lVmlzdWFsQ29udGV4dCogbV9wYXJlbnQ7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCmlu
ZGV4IDJlNmEyMjUwMDlhZGUzNjRiMTgzYjIwMTEzNjUyN2RkYWMzNTVkZDkuLjA2Y2M2YmRkZWY5
YzZlNTE4MThmZWE3ZDE5ZTMwMTZmNjQ0NzE1YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCkBAIC0zNTUsNiArMzU1LDggQEAg
dm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnNjaGVkdWxlTGF5ZXJGbHVzaE5vdygpCiAKIHZv
aWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpzY2hlZHVsZUxheWVyRmx1c2goYm9vbCBjYW5UaHJv
dHRsZSkKIHsKKyAgICBBU1NFUlQoIW1fZmx1c2hpbmdMYXllcnMpOworCiAgICAgaWYgKGNhblRo
cm90dGxlICYmIGlzVGhyb3R0bGluZ0xheWVyRmx1c2hlcygpKSB7CiAgICAgICAgIG1faGFzUGVu
ZGluZ0xheWVyRmx1c2ggPSB0cnVlOwogICAgICAgICByZXR1cm47Cg==
</data>
<flag name="review"
          id="234492"
          type_id="1"
          status="+"
          setter="dino"
    />
          </attachment>
      

    </bug>

</bugzilla>