<?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>129307</bug_id>
          
          <creation_ts>2014-02-25 06:35:37 -0800</creation_ts>
          <short_desc>[CSS Blending] Blending operation is not isolated when z-index on parent changes dynamically</short_desc>
          <delta_ts>2014-03-20 10:37:52 -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>CSS</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>AdobeTracked</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>129661</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mihai Tica">mitica</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mihnea</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>WebkitBugTracker</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>984302</commentid>
    <comment_count>0</comment_count>
    <who name="Mihai Tica">mitica</who>
    <bug_when>2014-02-25 06:35:37 -0800</bug_when>
    <thetext>Consider the following scenario:

parent element and child element having -webkit-mix-blend-mode other than normal.
Set z-index and position for the parent from Javascript. Blending is not isolated, ie the blend operation is performed with all the backdrop.
Instead, blending should only be performed with the contents of the parent element.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>984303</commentid>
    <comment_count>1</comment_count>
      <attachid>225147</attachid>
    <who name="Mihai Tica">mitica</who>
    <bug_when>2014-02-25 06:38:36 -0800</bug_when>
    <thetext>Created attachment 225147
Test case

Repaint test. Place it it fast/repaint</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>985499</commentid>
    <comment_count>2</comment_count>
    <who name="Mihai Tica">mitica</who>
    <bug_when>2014-02-28 01:01:40 -0800</bug_when>
    <thetext>*** Bug 129305 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>985542</commentid>
    <comment_count>3</comment_count>
      <attachid>225457</attachid>
    <who name="Mihai Tica">mitica</who>
    <bug_when>2014-02-28 06:45:42 -0800</bug_when>
    <thetext>Created attachment 225457
Not for review: reimplemented isolation with logic added in RenderLayerCompositor

This is a proof of concept patch.

--Implementation--
The implementation correctly handles all cases, however, it resides in RenderLayerCompositor.
An alternative implies adding blending as a descendant dependent flag, similar to https://codereview.chromium.org/23503046/diff/59001/Source/core/rendering/RenderLayer.cpp, however, going upwards provides better performance.

--Tests--
The first test test validates that the background of the body is fully painted, and m_isolatesBlending doesn&apos;t affect the root renderer.
The second tests validates that isolation is correctly handled. Note that there the third test-case fails due to https://bugs.webkit.org/show_bug.cgi?id=129480. This dependency should be fixed for all cases where RenderLayer.paintsWithTransparency should return true.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>986426</commentid>
    <comment_count>4</comment_count>
    <who name="Mihai Tica">mitica</who>
    <bug_when>2014-03-03 11:46:01 -0800</bug_when>
    <thetext>@Simon: could you please have a look over the last patch? Would this approach be ok?
If not, do you have any suggestions?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>986429</commentid>
    <comment_count>5</comment_count>
      <attachid>225457</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-03-03 11:49:21 -0800</bug_when>
    <thetext>Comment on attachment 225457
Not for review: reimplemented isolation with logic added in RenderLayerCompositor

Did you see if this logic fits into RenderLayer::updateDescendantDependentFlags()?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>986845</commentid>
    <comment_count>6</comment_count>
    <who name="Mihai Tica">mitica</who>
    <bug_when>2014-03-04 09:41:55 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 225457 [details])
&gt; Did you see if this logic fits into RenderLayer::updateDescendantDependentFlags()?

I&apos;ve investigated this and it looks like it would be feasible to use the updateDescendantDependentFlags logic.

Would using this be ok? I&apos;m guessing that hooking here implies no additional traversing, thus being more performant than the implementation from my last patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>987777</commentid>
    <comment_count>7</comment_count>
      <attachid>226015</attachid>
    <who name="Mihai Tica">mitica</who>
    <bug_when>2014-03-06 11:32:10 -0800</bug_when>
    <thetext>Created attachment 226015
First try at isolation with descedantDependentFlag</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>987842</commentid>
    <comment_count>8</comment_count>
      <attachid>226033</attachid>
    <who name="Mihai Tica">mitica</who>
    <bug_when>2014-03-06 13:42:45 -0800</bug_when>
    <thetext>Created attachment 226033
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>988148</commentid>
    <comment_count>9</comment_count>
      <attachid>226124</attachid>
    <who name="Mihai Tica">mitica</who>
    <bug_when>2014-03-07 07:06:15 -0800</bug_when>
    <thetext>Created attachment 226124
Add guards in RenderLayer.cpp</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>989559</commentid>
    <comment_count>10</comment_count>
    <who name="Mihai Tica">mitica</who>
    <bug_when>2014-03-12 01:38:22 -0700</bug_when>
    <thetext>@Simon: Could you please review this? Thanks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>991720</commentid>
    <comment_count>11</comment_count>
      <attachid>227071</attachid>
    <who name="Mihai Tica">mitica</who>
    <bug_when>2014-03-18 10:31:21 -0700</bug_when>
    <thetext>Created attachment 227071
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>991721</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-03-18 10:33:17 -0700</bug_when>
    <thetext>Attachment 227071 did not pass style-queue:


ERROR: Source/WebCore/rendering/RenderLayer.cpp:849:  Multi line control clauses should use braces.  [whitespace/braces] [4]
Total errors found: 1 in 9 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>992047</commentid>
    <comment_count>13</comment_count>
      <attachid>227167</attachid>
    <who name="Mihai Tica">mitica</who>
    <bug_when>2014-03-19 00:40:14 -0700</bug_when>
    <thetext>Created attachment 227167
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>992582</commentid>
    <comment_count>14</comment_count>
      <attachid>227167</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-03-20 10:37:47 -0700</bug_when>
    <thetext>Comment on attachment 227167
Patch

Clearing flags on attachment: 227167

Committed r165970: &lt;http://trac.webkit.org/changeset/165970&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>992583</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-03-20 10:37:52 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>225147</attachid>
            <date>2014-02-25 06:38:36 -0800</date>
            <delta_ts>2014-02-25 06:38:36 -0800</delta_ts>
            <desc>Test case</desc>
            <filename>blend-mode-separate-stacking-context.html</filename>
            <type>text/html</type>
            <size>893</size>
            <attacher name="Mihai Tica">mitica</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIEhUTUw+CjxodG1sPgo8aGVhZD4KPHN0eWxlPgogICAgZGl2IHsKICAgICAgICBt
YXJnaW46IDIwcHg7CiAgICAgICAgd2lkdGg6IDYwcHg7CiAgICAgICAgaGVpZ2h0OiA2MHB4Owog
ICAgICAgIGZsb2F0OiBsZWZ0OwogICAgfQogICAgLnBhcmVudCB7CiAgICAgICAgYmFja2dyb3Vu
ZDogeWVsbG93OwogICAgfQogICAgLnN0YWNraW5nIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRp
dmU7CiAgICAgICAgei1pbmRleDogMDsKICAgIH0KICAgIC5jaGlsZCB7CiAgICAgICAgYmFja2dy
b3VuZC1jb2xvcjogcmVkOwogICAgfQogICAgLmJsZW5kZXIgewogICAgICAgIC13ZWJraXQtbWl4
LWJsZW5kLW1vZGU6IGRpZmZlcmVuY2U7CiAgICB9Cjwvc3R5bGU+CjxzY3JpcHQgc3JjPSJyZXNv
dXJjZXMvdGV4dC1iYXNlZC1yZXBhaW50LmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2Ny
aXB0Pgo8IS0tIFJlcGFpbnQgdGVzdCB0byBlbnN1cmUgdGhhdCBzZXR0aW5nIGEgYmxlbmQgbW9k
ZSBkeW5hbWljYWxseSB0cmlnZ2VycyB0aGlzIG9wZXJhdGlvbgogICAgb25seSB3aXRoIHRoZSBj
b250ZW50cyBvZiB0aGUgbmVhcmVzdCBhbmNlc3RvciBzdGFja2luZyBjb250ZXh0LiAtLT4KPGJv
ZHkgb25sb2FkPSJydW5SZXBhaW50VGVzdCgpIj4KICAgIDxkaXYgY2xhc3M9InBhcmVudCIgaWQ9
ImZvdXJ0aCI+CiAgICAgICAgPGRpdiBjbGFzcz0iY2hpbGQgYmxlbmRlciI+PC9kaXY+CiAgICA8
L2Rpdj4KICAgIDxzY3JpcHQ+CiAgICAgICAgZnVuY3Rpb24gcmVwYWludFRlc3QoKSB7CiAgICAg
ICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmb3VydGgnKS5zdHlsZS5vcGFjaXR5ID0g
MC45OTsKICAgICAgICB9CiAgICA8L3NjcmlwdD4KPC9ib2R5Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>225457</attachid>
            <date>2014-02-28 06:45:42 -0800</date>
            <delta_ts>2014-03-06 11:32:00 -0800</delta_ts>
            <desc>Not for review: reimplemented isolation with logic added in RenderLayerCompositor</desc>
            <filename>isolationRLCProto.patch</filename>
            <type>text/plain</type>
            <size>9407</size>
            <attacher name="Mihai Tica">mitica</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY29tcG9zaXRpbmcvYmxlbmQtbW9kZS1ib2R5
LWJhY2tncm91bmQuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvY29tcG9zaXRpbmcvYmxlbmQtbW9k
ZS1ib2R5LWJhY2tncm91bmQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li4zMWVjMjY2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jb21wb3NpdGlu
Zy9ibGVuZC1tb2RlLWJvZHktYmFja2dyb3VuZC5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhRE9D
VFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KKyAgICBkaXYgeworICAgICAgICBt
YXJnaW46IDIwcHg7CisgICAgICAgIHdpZHRoOiA2MHB4OworICAgICAgICBoZWlnaHQ6IDYwcHg7
CisgICAgICAgIC13ZWJraXQtbWl4LWJsZW5kLW1vZGU6IGRpZmZlcmVuY2U7CisgICAgICAgIGJh
Y2tncm91bmQ6IHJlZDsKKyAgICB9CisgICAgYm9keSB7CisgICAgICAgIGJhY2tncm91bmQ6IGJs
dWU7CisgICAgfQorPC9zdHlsZT4KKzxib2R5PgorICAgIDxkaXYgY2xhc3M9InBhcmVudCI+PC9k
aXY+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvYmxlbmQt
bW9kZS1pc29sYXRlLXN0YWNraW5nLWNvbnRleHQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVw
YWludC9ibGVuZC1tb2RlLWlzb2xhdGUtc3RhY2tpbmctY29udGV4dC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZmYjcxMjYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L3JlcGFpbnQvYmxlbmQtbW9kZS1pc29sYXRlLXN0YWNraW5nLWNvbnRleHQu
aHRtbApAQCAtMCwwICsxLDEwMSBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgor
PHN0eWxlPgorICAgIGRpdiB7CisgICAgICAgIG1hcmdpbjogMjBweDsKKyAgICAgICAgd2lkdGg6
IDYwcHg7CisgICAgICAgIGhlaWdodDogNjBweDsKKyAgICB9CisKKyAgICAuY29udGFpbmVyIHsK
KyAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7CisgICAgICAgIGJvcmRlci1zdHlsZTogZGFzaGVk
OworICAgICAgICB3aWR0aDogNzAwcHg7CisgICAgICAgIGhlaWdodDogMTIwcHg7CisgICAgfQor
CisgICAgLnBhcmVudCB7CisgICAgICAgIGJhY2tncm91bmQ6ICMwRjA7CisgICAgfQorCisgICAg
LmNoaWxkIHsKKyAgICAgICAgYmFja2dyb3VuZDogIzAwRjsKKyAgICB9CisKKyAgICAuc3RhY2tp
bmcgeworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHotaW5kZXg6IDA7Cisg
ICAgfQorCisgICAgLnN0YWNraW5nMiB7CisgICAgICAgIG9wYWNpdHk6IDAuOTk7CisgICAgfQor
CisgICAgLmJsZW5kZXIgeworICAgICAgICAtd2Via2l0LW1peC1ibGVuZC1tb2RlOiBkaWZmZXJl
bmNlOworICAgIH0KKworICAgIC5ibGVuZGVyMiB7CisgICAgICAgIC13ZWJraXQtbWl4LWJsZW5k
LW1vZGU6IHNjcmVlbjsKKyAgICB9Cis8L3N0eWxlPgorPHNjcmlwdCBzcmM9InJlc291cmNlcy90
ZXh0LWJhc2VkLXJlcGFpbnQuanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+PC9zY3JpcHQ+Cis8
IS0tIFJlcGFpbnQgdGVzdCB0byBlbnN1cmUgdGhhdCBzZXR0aW5nIGEgYmxlbmQgbW9kZSBkeW5h
bWljYWxseSB0cmlnZ2VycyB0aGlzIG9wZXJhdGlvbgorICAgIG9ubHkgd2l0aCB0aGUgY29udGVu
dHMgb2YgdGhlIG5lYXJlc3QgYW5jZXN0b3Igc3RhY2tpbmcgY29udGV4dC4gLS0+Cis8Ym9keSBv
bmxvYWQ9InJ1blJlcGFpbnRUZXN0KCkiPgorICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+Cisg
ICAgICAgIDxwPlRlc3QgaWYgc2V0dGluZyBibGVuZCBtb2RlIGNyZWF0ZXMgaXNvbGF0aW9uLjwv
cD4KKyAgICAgICAgPGRpdiBjbGFzcz0icGFyZW50IHN0YWNraW5nIj4KKyAgICAgICAgICAgIDxk
aXYgaWQ9ImZpcnN0IiBjbGFzcz0iY2hpbGQiPjwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICA8
L2Rpdj4KKworICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgICAgIDxwPlRlc3QgaWYg
dW5zZXR0aW5nIGJsZW5kIG1vZGUgcmVtb3ZlcyBpc29sYXRpb24uPC9wPgorICAgICAgICA8ZGl2
IGNsYXNzPSJwYXJlbnQgc3RhY2tpbmciPgorICAgICAgICAgICAgPGRpdiBpZD0ic2Vjb25kIiBj
bGFzcz0iY2hpbGQgYmxlbmRlciI+PC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgIDwvZGl2Pgor
ICAgIAorICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgPHA+RkFJTDogVGVzdCBpZiBz
ZXR0aW5nIGEgcGFyZW50J3Mgc3RhY2tpbmcgY29udGV4dCBjb3JyZWN0bHkgY3JlYXRlcyBpc29s
YXRpb24uIEZpeCA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTI5NDgwIj50aGlzPC9hPiB0byBtYWtlIGl0IHdvcmsuPC9wPgorICAgICAgICA8ZGl2IGlk
PSJ0aGlyZCIgY2xhc3M9InBhcmVudCI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjaGlsZCBi
bGVuZGVyIj48L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgPC9kaXY+CisgICAgCisgICAgPGRp
diBjbGFzcz0iY29udGFpbmVyIj4KKyAgICAgICAgPHA+VGVzdCBpZiB1bnNldHRpbmcgYSBwYXJl
bnQncyBzdGFja2luZyBjb250ZXh0IGNvcnJlY3RseSByZW1vdmVzIGlzb2xhdGlvbi48L3A+Cisg
ICAgICAgIDxkaXYgaWQ9ImZvdXJ0aCIgY2xhc3M9InBhcmVudCBzdGFja2luZyI+CisgICAgICAg
ICAgICA8ZGl2IGNsYXNzPSJjaGlsZCBibGVuZGVyIj48L2Rpdj4KKyAgICAgICAgPC9kaXY+Cisg
ICAgPC9kaXY+CisgICAgCisgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICAgICAgPHA+
VGVzdCBpZiBzd2l0Y2hpbmcgYSBibGVuZCBtb2RlIHByZXNlcnZlcyBpc29sYXRpb24uPC9wPgor
ICAgICAgICA8ZGl2IGNsYXNzPSJwYXJlbnQgc3RhY2tpbmciPgorICAgICAgICAgICAgPGRpdiBp
ZD0iZmlmdGgiIGNsYXNzPSJjaGlsZCBibGVuZGVyIj48L2Rpdj4KKyAgICAgICAgPC9kaXY+Cisg
ICAgPC9kaXY+CisgICAgCisgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICAgICAgPHA+
VGVzdCBpZiBzd2l0Y2hpbmcgdGhlIHByb3BlcnR5IHRoYXQgY2F1c2VzIHRoZSBwYXJlbnQgdG8g
Y3JlYXRlIGEgc3RhY2tpbmcgY29udGV4dCBwcmVzZXJ2ZXMgaXNvbGF0aW9uLjwvcD4KKyAgICAg
ICAgPGRpdiBpZD0ic2l4dGgiIGNsYXNzPSJwYXJlbnQgc3RhY2tpbmciPgorICAgICAgICAgICAg
PGRpdiBjbGFzcz0iY2hpbGQgYmxlbmRlciI+PC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgIDwv
ZGl2PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGZ1bmN0aW9uIHJlcGFpbnRUZXN0KCkgeworICAg
ICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZpcnN0JykuY2xhc3NOYW1lID0gImNo
aWxkIGJsZW5kZXIiOworICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NlY29u
ZCcpLmNsYXNzTmFtZSA9ICJjaGlsZCI7CisKKyAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCd0aGlyZCcpLmNsYXNzTmFtZSA9ICJwYXJlbnQgc3RhY2tpbmciOworICAgICAgICAg
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZvdXJ0aCcpLmNsYXNzTmFtZSA9ICJwYXJlbnQi
OworCisgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZmlmdGgnKS5jbGFzc05h
bWUgPSAiY2hpbGQgYmxlbmRlcjIiOworCisgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgnc2l4dGgnKS5jbGFzc05hbWUgPSAicGFyZW50IHN0YWNraW5nMiI7CisgICAgICAgIH0K
KyAgICA8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXIuY3BwCmluZGV4IDkxYTkwZWIuLjNmN2NhYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyLmNwcApAQCAtMTg2LDcgKzE4Niw2IEBAIFJlbmRlckxheWVyOjpSZW5kZXJM
YXllcihSZW5kZXJMYXllck1vZGVsT2JqZWN0JiByZW5kZXJlckxheWVyTW9kZWxPYmplY3QpCiAj
aWYgRU5BQkxFKENTU19DT01QT1NJVElORykKICAgICAsIG1fYmxlbmRNb2RlKEJsZW5kTW9kZU5v
cm1hbCkKICAgICAsIG1faXNvbGF0ZXNCbGVuZGluZyhmYWxzZSkKLSAgICAsIG1fdXBkYXRlUGFy
ZW50U3RhY2tpbmdDb250ZXh0U2hvdWxkSXNvbGF0ZUJsZW5kaW5nRGlydHkoZmFsc2UpCiAjZW5k
aWYKICAgICAsIG1fcmVuZGVyZXIocmVuZGVyZXJMYXllck1vZGVsT2JqZWN0KQogICAgICwgbV9w
YXJlbnQoMCkKQEAgLTgwMywxMyArODAyLDggQEAgdm9pZCBSZW5kZXJMYXllcjo6cG9zaXRpb25O
ZXdseUNyZWF0ZWRPdmVyZmxvd0NvbnRyb2xzKCkKIAogI2lmIEVOQUJMRShDU1NfQ09NUE9TSVRJ
TkcpCiAKLXZvaWQgUmVuZGVyTGF5ZXI6OnVwZGF0ZUJsZW5kTW9kZShjb25zdCBSZW5kZXJTdHls
ZSogb2xkU3R5bGUpCit2b2lkIFJlbmRlckxheWVyOjp1cGRhdGVCbGVuZE1vZGUoKQogewotICAg
IG1fdXBkYXRlUGFyZW50U3RhY2tpbmdDb250ZXh0U2hvdWxkSXNvbGF0ZUJsZW5kaW5nRGlydHkg
PSBmYWxzZTsKLQotICAgIGlmICgoIW9sZFN0eWxlICYmIHJlbmRlcmVyKCkuc3R5bGUoKS5oYXNC
bGVuZE1vZGUoKSkgfHwgKG9sZFN0eWxlICYmIG9sZFN0eWxlLT5oYXNCbGVuZE1vZGUoKSAhPSBy
ZW5kZXJlcigpLnN0eWxlKCkuaGFzQmxlbmRNb2RlKCkpKQotICAgICAgICBtX3VwZGF0ZVBhcmVu
dFN0YWNraW5nQ29udGV4dFNob3VsZElzb2xhdGVCbGVuZGluZ0RpcnR5ID0gdHJ1ZTsKLQogICAg
IEJsZW5kTW9kZSBuZXdCbGVuZE1vZGUgPSByZW5kZXJlcigpLnN0eWxlKCkuYmxlbmRNb2RlKCk7
CiAgICAgaWYgKG5ld0JsZW5kTW9kZSAhPSBtX2JsZW5kTW9kZSkgewogICAgICAgICBtX2JsZW5k
TW9kZSA9IG5ld0JsZW5kTW9kZTsKQEAgLTgxOCwyNCArODEyLDE3IEBAIHZvaWQgUmVuZGVyTGF5
ZXI6OnVwZGF0ZUJsZW5kTW9kZShjb25zdCBSZW5kZXJTdHlsZSogb2xkU3R5bGUpCiAgICAgfQog
fQogCi12b2lkIFJlbmRlckxheWVyOjp1cGRhdGVQYXJlbnRTdGFja2luZ0NvbnRleHRTaG91bGRJ
c29sYXRlQmxlbmRpbmcoKQordm9pZCBSZW5kZXJMYXllcjo6dXBkYXRlQW5jZXN0b3JTdGFja2lu
Z0NvbnRleHRJc29sYXRlc0JsZW5kaW5nKCkKIHsKLSAgICBpZiAoIW1fdXBkYXRlUGFyZW50U3Rh
Y2tpbmdDb250ZXh0U2hvdWxkSXNvbGF0ZUJsZW5kaW5nRGlydHkpCisgICAgaWYgKCFoYXNCbGVu
ZE1vZGUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKGlzQ29tcG9zaXRlZCgpKSB7Ci0g
ICAgICAgIG1fdXBkYXRlUGFyZW50U3RhY2tpbmdDb250ZXh0U2hvdWxkSXNvbGF0ZUJsZW5kaW5n
RGlydHkgPSBmYWxzZTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGZvciAoYXV0byBh
bmNlc3RvciA9IHBhcmVudCgpOyBhbmNlc3RvciAmJiAhYW5jZXN0b3ItPmlzQ29tcG9zaXRlZCgp
ICYmICFhbmNlc3Rvci0+aXNSb290TGF5ZXIoKTsgYW5jZXN0b3IgPSBhbmNlc3Rvci0+cGFyZW50
KCkpIHsKKyAgICBmb3IgKGF1dG8gYW5jZXN0b3IgPSBwYXJlbnQoKTsgYW5jZXN0b3IgJiYgIWFu
Y2VzdG9yLT5pc0NvbXBvc2l0ZWQoKSAmJiAhYW5jZXN0b3ItPnJlbmRlcmVyKCkuaXNSb290KCk7
IGFuY2VzdG9yID0gYW5jZXN0b3ItPnBhcmVudCgpKSB7CiAgICAgICAgIGlmIChhbmNlc3Rvci0+
aXNTdGFja2luZ0NvbnRleHQoKSkgewotICAgICAgICAgICAgYW5jZXN0b3ItPm1faXNvbGF0ZXNC
bGVuZGluZyA9IHJlbmRlcmVyKCkuc3R5bGUoKS5oYXNCbGVuZE1vZGUoKTsKLSAgICAgICAgICAg
IGJyZWFrOworICAgICAgICAgICAgYW5jZXN0b3ItPm1faXNvbGF0ZXNCbGVuZGluZyA9IHRydWU7
CisgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICB9Ci0KLSAgICBtX3VwZGF0ZVBh
cmVudFN0YWNraW5nQ29udGV4dFNob3VsZElzb2xhdGVCbGVuZGluZ0RpcnR5ID0gZmFsc2U7CiB9
CiAKICNlbmRpZgpAQCAtNjU0Miw3ICs2NTI5LDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6c3R5bGVD
aGFuZ2VkKFN0eWxlRGlmZmVyZW5jZSBkaWZmLCBjb25zdCBSZW5kZXJTdHlsZSogb2xkU3R5bGUK
ICAgICB1cGRhdGVEZXNjZW5kYW50RGVwZW5kZW50RmxhZ3MoKTsKICAgICB1cGRhdGVUcmFuc2Zv
cm0oKTsKICNpZiBFTkFCTEUoQ1NTX0NPTVBPU0lUSU5HKQotICAgIHVwZGF0ZUJsZW5kTW9kZShv
bGRTdHlsZSk7CisgICAgdXBkYXRlQmxlbmRNb2RlKCk7CiAjZW5kaWYKICNpZiBFTkFCTEUoQ1NT
X0ZJTFRFUlMpCiAgICAgdXBkYXRlT3JSZW1vdmVGaWx0ZXJDbGllbnRzKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllci5oCmluZGV4IDFhMTRiMjguLjU0MTk3OTEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCkBAIC01MDMsNyArNTAzLDcgQEAgcHVibGlj
OgogICAgIHZvaWQgdXBkYXRlVHJhbnNmb3JtKCk7CiAgICAgCiAjaWYgRU5BQkxFKENTU19DT01Q
T1NJVElORykKLSAgICB2b2lkIHVwZGF0ZUJsZW5kTW9kZShjb25zdCBSZW5kZXJTdHlsZSopOwor
ICAgIHZvaWQgdXBkYXRlQmxlbmRNb2RlKCk7CiAgICAgdm9pZCB1cGRhdGVQYXJlbnRTdGFja2lu
Z0NvbnRleHRTaG91bGRJc29sYXRlQmxlbmRpbmcoKTsKICNlbmRpZgogCkBAIC03OTQsNiArNzk0
LDE5IEBAIHB1YmxpYzoKICNlbmRpZgogICAgIH0KIAorICAgIHZvaWQgc2V0SXNvbGF0ZXNCbGVu
ZGluZyhib29sIGlzb2xhdGVzQmxlbmRpbmcpCisgICAgeworI2lmIEVOQUJMRShDU1NfQ09NUE9T
SVRJTkcpCisgICAgICAgIG1faXNvbGF0ZXNCbGVuZGluZyA9IGlzb2xhdGVzQmxlbmRpbmc7Cisj
ZWxzZQorICAgICAgICBVTlVTRURfUEFSQU0oaXNvbGF0ZXNCbGVuZGluZyk7CisjZW5kaWYKKyAg
ICB9CisKKyNpZiBFTkFCTEUoQ1NTX0NPTVBPU0lUSU5HKQorICAgIHZvaWQgdXBkYXRlQW5jZXN0
b3JTdGFja2luZ0NvbnRleHRJc29sYXRlc0JsZW5kaW5nKCk7CisjZW5kaWYKKwogICAgIGJvb2wg
aXNDb21wb3NpdGVkKCkgY29uc3QgeyByZXR1cm4gbV9iYWNraW5nICE9IDA7IH0KICAgICBib29s
IGhhc0NvbXBvc2l0aW5nRGVzY2VuZGFudCgpIGNvbnN0IHsgcmV0dXJuIG1faGFzQ29tcG9zaXRp
bmdEZXNjZW5kYW50OyB9CiAgICAgYm9vbCBoYXNDb21wb3NpdGVkTWFzaygpIGNvbnN0OwpAQCAt
MTI0NSw3ICsxMjU4LDYgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoQ1NTX0NPTVBPU0lUSU5HKQog
ICAgIEJsZW5kTW9kZSBtX2JsZW5kTW9kZSA6IDU7CiAgICAgYm9vbCBtX2lzb2xhdGVzQmxlbmRp
bmcgOiAxOwotICAgIGJvb2wgbV91cGRhdGVQYXJlbnRTdGFja2luZ0NvbnRleHRTaG91bGRJc29s
YXRlQmxlbmRpbmdEaXJ0eSA6IDE7CiAjZW5kaWYKIAogICAgIFJlbmRlckxheWVyTW9kZWxPYmpl
Y3QmIG1fcmVuZGVyZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJDb21wb3NpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllckNvbXBvc2l0b3IuY3BwCmluZGV4IGZlYmE4NDIuLmY3NzdlN2UgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCkBAIC0xMDQ3
LDEwICsxMDQ3LDYgQEAgdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OmNvbXB1dGVDb21wb3Np
dGluZ1JlcXVpcmVtZW50cyhSZW5kZXJMYXllciogYW5jZXN0b3IKICAgICBsYXllci51cGRhdGVE
ZXNjZW5kYW50RGVwZW5kZW50RmxhZ3MoKTsKICAgICBsYXllci51cGRhdGVMYXllckxpc3RzSWZO
ZWVkZWQoKTsKIAotI2lmIEVOQUJMRShDU1NfQ09NUE9TSVRJTkcpCi0gICAgbGF5ZXIudXBkYXRl
UGFyZW50U3RhY2tpbmdDb250ZXh0U2hvdWxkSXNvbGF0ZUJsZW5kaW5nKCk7Ci0jZW5kaWYKLQog
ICAgIGlmIChsYXllci5pc0Zsb3dUaHJlYWRDb2xsZWN0aW5nR3JhcGhpY3NMYXllcnNVbmRlclJl
Z2lvbnMoKSkgewogICAgICAgICBSZW5kZXJGbG93VGhyZWFkJiBmbG93VGhyZWFkID0gdG9SZW5k
ZXJGbG93VGhyZWFkKGxheWVyLnJlbmRlcmVyKCkpOwogICAgICAgICBsYXllci5zZXRIYXNDb21w
b3NpdGluZ0Rlc2NlbmRhbnQoZmxvd1RocmVhZC5oYXNDb21wb3NpdGluZ1JlZ2lvbkRlc2NlbmRh
bnQoKSk7CkBAIC0xMDY4LDYgKzEwNjQsNyBAQCB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6
Y29tcHV0ZUNvbXBvc2l0aW5nUmVxdWlyZW1lbnRzKFJlbmRlckxheWVyKiBhbmNlc3RvcgogICAg
IAogICAgIC8vIENsZWFyIHRoZSBmbGFnCiAgICAgbGF5ZXIuc2V0SGFzQ29tcG9zaXRpbmdEZXNj
ZW5kYW50KGZhbHNlKTsKKyAgICBsYXllci5zZXRJc29sYXRlc0JsZW5kaW5nKGZhbHNlKTsKIAog
ICAgIFJlbmRlckxheWVyOjpJbmRpcmVjdENvbXBvc2l0aW5nUmVhc29uIGNvbXBvc2l0aW5nUmVh
c29uID0gY29tcG9zaXRpbmdTdGF0ZS5tX3N1YnRyZWVJc0NvbXBvc2l0aW5nID8gUmVuZGVyTGF5
ZXI6OkluZGlyZWN0Q29tcG9zaXRpbmdGb3JTdGFja2luZyA6IFJlbmRlckxheWVyOjpOb0luZGly
ZWN0Q29tcG9zaXRpbmdSZWFzb247CiAKQEAgLTExODgsNiArMTE4NSwxMCBAQCB2b2lkIFJlbmRl
ckxheWVyQ29tcG9zaXRvcjo6Y29tcHV0ZUNvbXBvc2l0aW5nUmVxdWlyZW1lbnRzKFJlbmRlckxh
eWVyKiBhbmNlc3RvcgogICAgIGlmIChjaGlsZFN0YXRlLm1fc3VidHJlZUhhc0JsZW5kaW5nIHx8
IGxheWVyLmhhc0JsZW5kTW9kZSgpKQogICAgICAgICBjb21wb3NpdGluZ1N0YXRlLm1fc3VidHJl
ZUhhc0JsZW5kaW5nID0gdHJ1ZTsKIAorI2lmIEVOQUJMRShDU1NfQ09NUE9TSVRJTkcpCisgICAg
bGF5ZXIudXBkYXRlQW5jZXN0b3JTdGFja2luZ0NvbnRleHRJc29sYXRlc0JsZW5kaW5nKCk7Cisj
ZW5kaWYKKwogICAgIC8vIE5vdyBjaGVjayBmb3IgcmVhc29ucyB0byBiZWNvbWUgY29tcG9zaXRl
ZCB0aGF0IGRlcGVuZCBvbiB0aGUgc3RhdGUgb2YgZGVzY2VuZGFudCBsYXllcnMuCiAgICAgUmVu
ZGVyTGF5ZXI6OkluZGlyZWN0Q29tcG9zaXRpbmdSZWFzb24gaW5kaXJlY3RDb21wb3NpdGluZ1Jl
YXNvbjsKICAgICBpZiAoIXdpbGxCZUNvbXBvc2l0ZWQgJiYgY2FuQmVDb21wb3NpdGVkKGxheWVy
KQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>226015</attachid>
            <date>2014-03-06 11:32:10 -0800</date>
            <delta_ts>2014-03-06 13:42:36 -0800</delta_ts>
            <desc>First try at isolation with descedantDependentFlag</desc>
            <filename>bug-129307-20140306213208.patch</filename>
            <type>text/plain</type>
            <size>24068</size>
            <attacher name="Mihai Tica">mitica</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY1MTgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTI2ZDFmMWM5YTZlNjVh
ZWU1NWE4ZDhiYTFmMjViYjZmNGVlNzA1Yi4uYzk4YTk1OTg2NzZmMzk4ZDVhNmU1NTg2OTM5ODk1
MjJkZWZmNGQ3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDE0LTAzLTA2ICBNaWhh
aSBUaWNhICA8bWl0aWNhQGFkb2JlLmNvbT4KKworICAgICAgICBbQ1NTIEJsZW5kaW5nXSBCbGVu
ZGluZyBvcGVyYXRpb24gaXMgbm90IGlzb2xhdGVkIHdoZW4gc2V0dGluZyB6LWluZGV4IG9uIHBh
cmVudCBmcm9tIGphdmFzY3JpcHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEyOTMwNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFJlaW1wbGVtZW50IHRoZSBsb2dpYyBiZWhpbmQgaXNvbGF0aW5nIGJsZW5k
IG1vZGVzLiBUaGUgYmxlbmRpbmcgb3BlcmF0aW9uIHNob3VsZCBiZSBsaW1pdGVkIHRvIHRoZQor
ICAgICAgICBjb250ZW50cyBvZiB0aGUgcGFyZW50IHN0YWNraW5nIGNvbnRleHQuIFRoZSBwcm9w
b3NlZCBzb2x1dGlvbiBpbXBsaWVzIGFkZGluZyBsb2dpYyBpbiB1cGRhdGVEZXNjZW5kYW50RGVw
ZW5kZW50RmxhZ3MsCisgICAgICAgIHRvIHRyYWNrIGNoaWxkIGVsZW1lbnRzIHRoYXQgaGF2ZSBi
bGVuZGluZyBhbmQgY3JlYXRlIGEgdHJhbnNwYXJlbmN5IGxheWVyIHRoYXQgdHJpZ2dlcnMgaXNv
bGF0aW9uLgorCisgICAgICAgIFRlc3RzOiBjc3MzL2NvbXBvc2l0aW5nL2JsZW5kLW1vZGUtYmFj
a2dyb3VuZC5odG1sCisgICAgICAgICAgICAgICBmYXN0L3JlcGFpbnQvYmxlbmQtbW9kZS1pc29s
YXRlLXN0YWNraW5nLWNvbnRleHQuaHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxh
eWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpSZW5kZXJMYXllcik6IFJl
bW92ZSBvbGQgbWVtYmVycywgYWRkIG5ldyBtZW1iZXJzIHRvIGNvbnN0cnVjdG9yLgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnVwZGF0ZUJsZW5kTW9kZSk6IFVwZGF0ZSBwYXJlbnQg
c3RhY2tpbmcgY29udGV4dCBpc29sYXRpb24gb24gYmxlbmQgbW9kZSBjaGFuZ2UuCisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJMYXllcjo6dXBkYXRlTm9uQ29tcG9zaXRlZFBhcmVudFN0YWNraW5n
Q29udGV4dEhhc0JsZW5kZWRDaGlsZCk6CisgICAgICAgIC0gU2V0IG1faGFzQmxlbmRlZEVsZW1l
bnRJbkNoaWxkU3RhY2tpbmdDb250ZXh0IGZvciB0aGUgbm9uIGNvbXBvc2l0ZWQgcGFyZW50IHN0
YWNraW5nIGNvbnRleHQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6ZGlydHlBbmNl
c3RvclBhcmVudFN0YWNraW5nQ29udGV4dEhhc0JsZW5kZWRFbGVtZW50KToKKyAgICAgICAgLSBT
ZXQgZmxhZyBzbyBpc29sYXRpb24gc2hvdWxkIGJlIGNvbnNpZGVyZWQgaW4gdXBkYXRlRGVzY2Vu
ZGFudERlcGVuZGVudEZsYWdzLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6Om5vbkNv
bXBvc2l0ZWRQYXJlbnRTdGFja2luZ0NvbnRleHRIYXNCbGVuZGVkQ2hpbGQpOgorICAgICAgICAt
IFJldHVybiB3aGV0aGVyIHRoZSBub24gY29tcG9zaXRlZCBwYXJlbnQgc3RhY2tpbmcgY29udGV4
dCBpc29sYXRlcyBibGVuZGluZy4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjp1cGRh
dGVEZXNjZW5kYW50RGVwZW5kZW50RmxhZ3MpOiBBZGQgbG9naWMgZm9yIGlzb2xhdGluZyBibGVu
ZGluZy4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjphZGRDaGlsZCk6IENhbGwgdG8g
dXBkYXRlTm9uQ29tcG9zaXRlZFBhcmVudFN0YWNraW5nQ29udGV4dEhhc0JsZW5kZWRDaGlsZCBp
ZiBuZWVkZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6cmVtb3ZlQ2hpbGQpOiBD
YWxsIHRvIGRpcnR5QW5jZXN0b3JQYXJlbnRTdGFja2luZ0NvbnRleHRIYXNCbGVuZGVkRWxlbWVu
dCBpZiBuZWVkZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6dXBkYXRlU3RhY2tp
bmdDb250ZXh0c0FmdGVyU3R5bGVDaGFuZ2UpOiBVcGRhdGUgaXNvbGF0aW9uIHdoZW4gYSBzdGFj
a2luZyBjb250ZXh0IHdhcyBzZXQgb3IgdW5zZXQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJM
YXllcjo6c3R5bGVDaGFuZ2VkKTogUmVtb3ZlZCBvbGRTdHlsZSBwYXJhbWV0ZXIgZnJvbSB1cGRh
dGVCbGVuZE1vZGUgY2FsbC4KKworICAgICAgICAgVXBkYXRlIHBhcmVudCBzdGFja2luZyBjb250
ZXh0IGlzb2xhdGlvbiBvbiBibGVuZCBtb2RlIGNoYW5nZS4KKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyTGF5ZXIuaDoKKyAgICAgICAgLSBBZGQgbWVtYmVycywgZ2V0dGVycyBhbmQgc2V0dGVy
cyBmb3IgdHJhY2tpbmcgd2hldGhlciB0aGUgZWxlbWVudCBoYXMgYSBibGVuZGVkIGNoaWxkOgor
ICAgICAgICAgICAgLSBtX2hhc0JsZW5kZWRFbGVtZW50SW5DaGlsZFN0YWNraW5nQ29udGV4dAor
ICAgICAgICAgICAgLSBtX2hhc0JsZW5kZWRFbGVtZW50SW5DaGlsZFN0YWNraW5nQ29udGV4dFN0
YXR1c0RpcnR5CisgICAgICAgIC0gUmVtb3ZlZCBtX3VwZGF0ZVBhcmVudFN0YWNraW5nQ29udGV4
dFNob3VsZElzb2xhdGVCbGVuZGluZ0RpcnR5IChyZXBsYWNlZCB3aXRoIG1faGFzQmxlbmRlZEVs
ZW1lbnRJbkNoaWxkU3RhY2tpbmdDb250ZXh0U3RhdHVzRGlydHkpCisgICAgICAgIC0gUmVtb3Zl
ZCBtX2lzb2xhdGVzQmxlbmRpbmcgKHJlcGxhY2VkIHdpdGggbV9oYXNCbGVuZGVkRWxlbWVudElu
Q2hpbGRTdGFja2luZ0NvbnRleHQpCisgICAgICAgIC0gVXBkYXRlZCB0aGUgaXNvbGF0ZXNCbGVu
ZGluZyBtZXRob2QgdG8gcmV0dXJuIHRydWUgb25seSB3aGVuIHRoZSBlbGVtZW50IGlzIGEgc3Rh
Y2tpbmcgY29udGV4dCBhbmQgaGFzIGEgYmxlbmRlZCBjaGlsZC4KKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxh
eWVyQ29tcG9zaXRvcjo6Y29tcHV0ZUNvbXBvc2l0aW5nUmVxdWlyZW1lbnRzKTogUmVtb3ZlZCBs
YXllci51cGRhdGVQYXJlbnRTdGFja2luZ0NvbnRleHRTaG91bGRJc29sYXRlQmxlbmRpbmcgY2Fs
bC4KKwogMjAxNC0wMy0wNiAgWmFuIERvYmVyc2VrICA8emRvYmVyc2VrQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgTW92ZSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy8gY29kZSB0byBzdGQ6OnVu
aXF1ZV9wdHIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IDMx
MDJhYzAxMGZlYzJmYzUxZjhkODc5MmU4OTBhMGU4M2IyMGRiM2QuLjRmYmRlNDU2ZTZhYzgzMDU3
YTBmMTBkM2JlMGY5NDQxMjlkZjg5MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyLmNwcApAQCAtMTg1LDggKzE4NSw4IEBAIFJlbmRlckxheWVyOjpSZW5kZXJMYXllcihS
ZW5kZXJMYXllck1vZGVsT2JqZWN0JiByZW5kZXJlckxheWVyTW9kZWxPYmplY3QpCiAjZW5kaWYK
ICNpZiBFTkFCTEUoQ1NTX0NPTVBPU0lUSU5HKQogICAgICwgbV9ibGVuZE1vZGUoQmxlbmRNb2Rl
Tm9ybWFsKQotICAgICwgbV9pc29sYXRlc0JsZW5kaW5nKGZhbHNlKQotICAgICwgbV91cGRhdGVQ
YXJlbnRTdGFja2luZ0NvbnRleHRTaG91bGRJc29sYXRlQmxlbmRpbmdEaXJ0eShmYWxzZSkKKyAg
ICAsIG1faGFzQmxlbmRlZEVsZW1lbnRJbkNoaWxkU3RhY2tpbmdDb250ZXh0KGZhbHNlKQorICAg
ICwgbV9oYXNCbGVuZGVkRWxlbWVudEluQ2hpbGRTdGFja2luZ0NvbnRleHRTdGF0dXNEaXJ0eShm
YWxzZSkKICNlbmRpZgogICAgICwgbV9yZW5kZXJlcihyZW5kZXJlckxheWVyTW9kZWxPYmplY3Qp
CiAgICAgLCBtX3BhcmVudCgwKQpAQCAtODAzLDEyICs4MDMsMTUgQEAgdm9pZCBSZW5kZXJMYXll
cjo6cG9zaXRpb25OZXdseUNyZWF0ZWRPdmVyZmxvd0NvbnRyb2xzKCkKIAogI2lmIEVOQUJMRShD
U1NfQ09NUE9TSVRJTkcpCiAKLXZvaWQgUmVuZGVyTGF5ZXI6OnVwZGF0ZUJsZW5kTW9kZShjb25z
dCBSZW5kZXJTdHlsZSogb2xkU3R5bGUpCit2b2lkIFJlbmRlckxheWVyOjp1cGRhdGVCbGVuZE1v
ZGUoKQogewotICAgIG1fdXBkYXRlUGFyZW50U3RhY2tpbmdDb250ZXh0U2hvdWxkSXNvbGF0ZUJs
ZW5kaW5nRGlydHkgPSBmYWxzZTsKLQotICAgIGlmICgoIW9sZFN0eWxlICYmIHJlbmRlcmVyKCku
c3R5bGUoKS5oYXNCbGVuZE1vZGUoKSkgfHwgKG9sZFN0eWxlICYmIG9sZFN0eWxlLT5oYXNCbGVu
ZE1vZGUoKSAhPSByZW5kZXJlcigpLnN0eWxlKCkuaGFzQmxlbmRNb2RlKCkpKQotICAgICAgICBt
X3VwZGF0ZVBhcmVudFN0YWNraW5nQ29udGV4dFNob3VsZElzb2xhdGVCbGVuZGluZ0RpcnR5ID0g
dHJ1ZTsKKyAgICBib29sIGhhZEJsZW5kTW9kZSA9IG1fYmxlbmRNb2RlICE9IEJsZW5kTW9kZU5v
cm1hbDsKKyAgICBpZiAoaGFkQmxlbmRNb2RlICE9IGhhc0JsZW5kTW9kZSgpKSB7CisgICAgICAg
IGlmIChoYXNCbGVuZE1vZGUoKSkKKyAgICAgICAgICAgIHVwZGF0ZU5vbkNvbXBvc2l0ZWRQYXJl
bnRTdGFja2luZ0NvbnRleHRIYXNCbGVuZGVkQ2hpbGQodHJ1ZSk7CisgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgIGRpcnR5QW5jZXN0b3JQYXJlbnRTdGFja2luZ0NvbnRleHRIYXNCbGVuZGVkRWxl
bWVudCgpOworICAgIH0KIAogICAgIEJsZW5kTW9kZSBuZXdCbGVuZE1vZGUgPSByZW5kZXJlcigp
LnN0eWxlKCkuYmxlbmRNb2RlKCk7CiAgICAgaWYgKG5ld0JsZW5kTW9kZSAhPSBtX2JsZW5kTW9k
ZSkgewpAQCAtODE4LDI0ICs4MjEsMzYgQEAgdm9pZCBSZW5kZXJMYXllcjo6dXBkYXRlQmxlbmRN
b2RlKGNvbnN0IFJlbmRlclN0eWxlKiBvbGRTdHlsZSkKICAgICB9CiB9CiAKLXZvaWQgUmVuZGVy
TGF5ZXI6OnVwZGF0ZVBhcmVudFN0YWNraW5nQ29udGV4dFNob3VsZElzb2xhdGVCbGVuZGluZygp
Cit2b2lkIFJlbmRlckxheWVyOjp1cGRhdGVOb25Db21wb3NpdGVkUGFyZW50U3RhY2tpbmdDb250
ZXh0SGFzQmxlbmRlZENoaWxkKGJvb2wgaGFzQmxlbmRlZENoaWxkKQogewotICAgIGlmICghbV91
cGRhdGVQYXJlbnRTdGFja2luZ0NvbnRleHRTaG91bGRJc29sYXRlQmxlbmRpbmdEaXJ0eSkKLSAg
ICAgICAgcmV0dXJuOwotCi0gICAgaWYgKGlzQ29tcG9zaXRlZCgpKSB7Ci0gICAgICAgIG1fdXBk
YXRlUGFyZW50U3RhY2tpbmdDb250ZXh0U2hvdWxkSXNvbGF0ZUJsZW5kaW5nRGlydHkgPSBmYWxz
ZTsKKyAgICBpZiAoaXNDb21wb3NpdGVkKCkpCiAgICAgICAgIHJldHVybjsKLSAgICB9CiAKLSAg
ICBmb3IgKGF1dG8gYW5jZXN0b3IgPSBwYXJlbnQoKTsgYW5jZXN0b3IgJiYgIWFuY2VzdG9yLT5p
c0NvbXBvc2l0ZWQoKSAmJiAhYW5jZXN0b3ItPmlzUm9vdExheWVyKCk7IGFuY2VzdG9yID0gYW5j
ZXN0b3ItPnBhcmVudCgpKSB7CisgICAgZm9yIChhdXRvIGFuY2VzdG9yID0gcGFyZW50KCk7IGFu
Y2VzdG9yICYmICFhbmNlc3Rvci0+aXNDb21wb3NpdGVkKCkgJiYgIWFuY2VzdG9yLT5yZW5kZXJl
cigpLmlzUm9vdCgpOyBhbmNlc3RvciA9IGFuY2VzdG9yLT5wYXJlbnQoKSkgewogICAgICAgICBp
ZiAoYW5jZXN0b3ItPmlzU3RhY2tpbmdDb250ZXh0KCkpIHsKLSAgICAgICAgICAgIGFuY2VzdG9y
LT5tX2lzb2xhdGVzQmxlbmRpbmcgPSByZW5kZXJlcigpLnN0eWxlKCkuaGFzQmxlbmRNb2RlKCk7
CisgICAgICAgICAgICBhbmNlc3Rvci0+bV9oYXNCbGVuZGVkRWxlbWVudEluQ2hpbGRTdGFja2lu
Z0NvbnRleHQgPSBoYXNCbGVuZGVkQ2hpbGQ7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
fQogICAgIH0KK30KKwordm9pZCBSZW5kZXJMYXllcjo6ZGlydHlBbmNlc3RvclBhcmVudFN0YWNr
aW5nQ29udGV4dEhhc0JsZW5kZWRFbGVtZW50KCkKK3sKKyAgICBmb3IgKGF1dG8gbGF5ZXIgPSB0
aGlzOyBsYXllciAmJiAhbGF5ZXItPmlzQ29tcG9zaXRlZCgpICYmICFsYXllci0+bV9oYXNCbGVu
ZGVkRWxlbWVudEluQ2hpbGRTdGFja2luZ0NvbnRleHRTdGF0dXNEaXJ0eTsgbGF5ZXIgPSBsYXll
ci0+cGFyZW50KCkpIHsKKyAgICAgICAgbGF5ZXItPm1faGFzQmxlbmRlZEVsZW1lbnRJbkNoaWxk
U3RhY2tpbmdDb250ZXh0U3RhdHVzRGlydHkgPSB0cnVlOworCisgICAgICAgIGlmIChsYXllci0+
aXNTdGFja2luZ0NvbnRleHQoKSkKKyAgICAgICAgICAgIGJyZWFrOworICAgIH0KK30KIAotICAg
IG1fdXBkYXRlUGFyZW50U3RhY2tpbmdDb250ZXh0U2hvdWxkSXNvbGF0ZUJsZW5kaW5nRGlydHkg
PSBmYWxzZTsKK2Jvb2wgUmVuZGVyTGF5ZXI6Om5vbkNvbXBvc2l0ZWRQYXJlbnRTdGFja2luZ0Nv
bnRleHRIYXNCbGVuZGVkQ2hpbGQoKSBjb25zdAoreworICAgIGZvciAoYXV0byBhbmNlc3RvciA9
IHBhcmVudCgpOyBhbmNlc3RvciAmJiAhYW5jZXN0b3ItPmlzQ29tcG9zaXRlZCgpICYmICFhbmNl
c3Rvci0+cmVuZGVyZXIoKS5pc1Jvb3QoKTsgYW5jZXN0b3IgPSBhbmNlc3Rvci0+cGFyZW50KCkp
CisgICAgICAgIGlmIChhbmNlc3Rvci0+aXNTdGFja2luZ0NvbnRleHQoKSkKKyAgICAgICAgICAg
IHJldHVybiBhbmNlc3Rvci0+aGFzQmxlbmRlZEVsZW1lbnRJbkNoaWxkU3RhY2tpbmdDb250ZXh0
KCk7CisKKyAgICByZXR1cm4gZmFsc2U7CiB9CiAKICNlbmRpZgpAQCAtMTA4MCwxMCArMTA5NSwx
MSBAQCB2b2lkIFJlbmRlckxheWVyOjpzZXRBbmNlc3RvckNoYWluSGFzVmlzaWJsZURlc2NlbmRh
bnQoKQogCiB2b2lkIFJlbmRlckxheWVyOjp1cGRhdGVEZXNjZW5kYW50RGVwZW5kZW50RmxhZ3Mo
SGFzaFNldDxjb25zdCBSZW5kZXJPYmplY3QqPiogb3V0T2ZGbG93RGVzY2VuZGFudENvbnRhaW5p
bmdCbG9ja3MpCiB7Ci0gICAgaWYgKG1fdmlzaWJsZURlc2NlbmRhbnRTdGF0dXNEaXJ0eSB8fCBt
X2hhc1NlbGZQYWludGluZ0xheWVyRGVzY2VuZGFudERpcnR5IHx8IG1faGFzT3V0T2ZGbG93UG9z
aXRpb25lZERlc2NlbmRhbnREaXJ0eSkgeworICAgIGlmIChtX3Zpc2libGVEZXNjZW5kYW50U3Rh
dHVzRGlydHkgfHwgbV9oYXNTZWxmUGFpbnRpbmdMYXllckRlc2NlbmRhbnREaXJ0eSB8fCBtX2hh
c091dE9mRmxvd1Bvc2l0aW9uZWREZXNjZW5kYW50RGlydHkgfHwgaGFzQmxlbmRlZEVsZW1lbnRJ
bkNoaWxkU3RhY2tpbmdDb250ZXh0U3RhdHVzRGlydHkoKSkgewogICAgICAgICBtX2hhc1Zpc2li
bGVEZXNjZW5kYW50ID0gZmFsc2U7CiAgICAgICAgIG1faGFzU2VsZlBhaW50aW5nTGF5ZXJEZXNj
ZW5kYW50ID0gZmFsc2U7CiAgICAgICAgIG1faGFzT3V0T2ZGbG93UG9zaXRpb25lZERlc2NlbmRh
bnQgPSBmYWxzZTsKKyAgICAgICAgc2V0SGFzQmxlbmRlZEVsZW1lbnRJbkNoaWxkU3RhY2tpbmdD
b250ZXh0KGZhbHNlKTsKIAogICAgICAgICBIYXNoU2V0PGNvbnN0IFJlbmRlck9iamVjdCo+IGNo
aWxkT3V0T2ZGbG93RGVzY2VuZGFudENvbnRhaW5pbmdCbG9ja3M7CiAgICAgICAgIGZvciAoUmVu
ZGVyTGF5ZXIqIGNoaWxkID0gZmlyc3RDaGlsZCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4
dFNpYmxpbmcoKSkgewpAQCAtMTEwMywxMiArMTExOSwxNCBAQCB2b2lkIFJlbmRlckxheWVyOjp1
cGRhdGVEZXNjZW5kYW50RGVwZW5kZW50RmxhZ3MoSGFzaFNldDxjb25zdCBSZW5kZXJPYmplY3Qq
PiogbwogICAgICAgICAgICAgYm9vbCBoYXNWaXNpYmxlRGVzY2VuZGFudCA9IGNoaWxkLT5tX2hh
c1Zpc2libGVDb250ZW50IHx8IGNoaWxkLT5tX2hhc1Zpc2libGVEZXNjZW5kYW50OwogICAgICAg
ICAgICAgYm9vbCBoYXNTZWxmUGFpbnRpbmdMYXllckRlc2NlbmRhbnQgPSBjaGlsZC0+aXNTZWxm
UGFpbnRpbmdMYXllcigpIHx8IGNoaWxkLT5oYXNTZWxmUGFpbnRpbmdMYXllckRlc2NlbmRhbnQo
KTsKICAgICAgICAgICAgIGJvb2wgaGFzT3V0T2ZGbG93UG9zaXRpb25lZERlc2NlbmRhbnQgPSAh
Y2hpbGRPdXRPZkZsb3dEZXNjZW5kYW50Q29udGFpbmluZ0Jsb2Nrcy5pc0VtcHR5KCk7CisgICAg
ICAgICAgICBib29sIGhhc0JsZW5kZWRFbGVtZW50SW5DaGlsZFN0YWNraW5nQ29udGV4dCA9IGNo
aWxkLT5oYXNCbGVuZE1vZGUoKSB8fCBjaGlsZC0+aGFzQmxlbmRlZEVsZW1lbnRJbkNoaWxkU3Rh
Y2tpbmdDb250ZXh0KCk7CiAKICAgICAgICAgICAgIG1faGFzVmlzaWJsZURlc2NlbmRhbnQgfD0g
aGFzVmlzaWJsZURlc2NlbmRhbnQ7CiAgICAgICAgICAgICBtX2hhc1NlbGZQYWludGluZ0xheWVy
RGVzY2VuZGFudCB8PSBoYXNTZWxmUGFpbnRpbmdMYXllckRlc2NlbmRhbnQ7CiAgICAgICAgICAg
ICBtX2hhc091dE9mRmxvd1Bvc2l0aW9uZWREZXNjZW5kYW50IHw9IGhhc091dE9mRmxvd1Bvc2l0
aW9uZWREZXNjZW5kYW50OworICAgICAgICAgICAgc2V0SGFzQmxlbmRlZEVsZW1lbnRJbkNoaWxk
U3RhY2tpbmdDb250ZXh0KHRoaXMtPmhhc0JsZW5kZWRFbGVtZW50SW5DaGlsZFN0YWNraW5nQ29u
dGV4dCgpIHwgaGFzQmxlbmRlZEVsZW1lbnRJbkNoaWxkU3RhY2tpbmdDb250ZXh0KTsKIAotICAg
ICAgICAgICAgaWYgKG1faGFzVmlzaWJsZURlc2NlbmRhbnQgJiYgbV9oYXNTZWxmUGFpbnRpbmdM
YXllckRlc2NlbmRhbnQgJiYgbV9oYXNPdXRPZkZsb3dQb3NpdGlvbmVkRGVzY2VuZGFudCkKKyAg
ICAgICAgICAgIGlmIChtX2hhc1Zpc2libGVEZXNjZW5kYW50ICYmIG1faGFzU2VsZlBhaW50aW5n
TGF5ZXJEZXNjZW5kYW50ICYmIG1faGFzT3V0T2ZGbG93UG9zaXRpb25lZERlc2NlbmRhbnQgJiYg
dGhpcy0+aGFzQmxlbmRlZEVsZW1lbnRJbkNoaWxkU3RhY2tpbmdDb250ZXh0KCkpCiAgICAgICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KIApAQCAtMTEyMiw2ICsxMTQwLDggQEAgdm9pZCBS
ZW5kZXJMYXllcjo6dXBkYXRlRGVzY2VuZGFudERlcGVuZGVudEZsYWdzKEhhc2hTZXQ8Y29uc3Qg
UmVuZGVyT2JqZWN0Kj4qIG8KICAgICAgICAgICAgIHVwZGF0ZU5lZWRzQ29tcG9zaXRlZFNjcm9s
bGluZygpOwogCiAgICAgICAgIG1faGFzT3V0T2ZGbG93UG9zaXRpb25lZERlc2NlbmRhbnREaXJ0
eSA9IGZhbHNlOworCisgICAgICAgIHNldEhhc0JsZW5kZWRFbGVtZW50SW5DaGlsZFN0YWNraW5n
Q29udGV4dFN0YXR1c0RpcnR5KGZhbHNlKTsKICAgICB9CiAKICAgICBpZiAobV92aXNpYmxlQ29u
dGVudFN0YXR1c0RpcnR5KSB7CkBAIC0xNzc3LDYgKzE3OTcsOSBAQCB2b2lkIFJlbmRlckxheWVy
OjphZGRDaGlsZChSZW5kZXJMYXllciogY2hpbGQsIFJlbmRlckxheWVyKiBiZWZvcmVDaGlsZCkK
ICAgICBpZiAoY2hpbGQtPnJlbmRlcmVyKCkuaXNPdXRPZkZsb3dQb3NpdGlvbmVkKCkgfHwgY2hp
bGQtPmhhc091dE9mRmxvd1Bvc2l0aW9uZWREZXNjZW5kYW50KCkpCiAgICAgICAgIHNldEFuY2Vz
dG9yQ2hhaW5IYXNPdXRPZkZsb3dQb3NpdGlvbmVkRGVzY2VuZGFudChjaGlsZC0+cmVuZGVyZXIo
KS5jb250YWluaW5nQmxvY2soKSk7CiAKKyAgICBpZiAoY2hpbGQtPmhhc0JsZW5kTW9kZSgpIHx8
ICghY2hpbGQtPmlzU3RhY2tpbmdDb250ZXh0KCkgJiYgY2hpbGQtPmhhc0JsZW5kZWRFbGVtZW50
SW5DaGlsZFN0YWNraW5nQ29udGV4dCgpKSkKKyAgICAgICAgY2hpbGQtPnVwZGF0ZU5vbkNvbXBv
c2l0ZWRQYXJlbnRTdGFja2luZ0NvbnRleHRIYXNCbGVuZGVkQ2hpbGQodHJ1ZSk7CisKICAgICBj
b21wb3NpdG9yKCkubGF5ZXJXYXNBZGRlZCgqdGhpcywgKmNoaWxkKTsKIH0KIApAQCAtMTgxOSw2
ICsxODQyLDkgQEAgUmVuZGVyTGF5ZXIqIFJlbmRlckxheWVyOjpyZW1vdmVDaGlsZChSZW5kZXJM
YXllciogb2xkQ2hpbGQpCiAgICAgaWYgKG9sZENoaWxkLT5pc1NlbGZQYWludGluZ0xheWVyKCkg
fHwgb2xkQ2hpbGQtPmhhc1NlbGZQYWludGluZ0xheWVyRGVzY2VuZGFudCgpKQogICAgICAgICBk
aXJ0eUFuY2VzdG9yQ2hhaW5IYXNTZWxmUGFpbnRpbmdMYXllckRlc2NlbmRhbnRTdGF0dXMoKTsK
IAorICAgIGlmIChvbGRDaGlsZC0+aGFzQmxlbmRNb2RlKCkgfHwgb2xkQ2hpbGQtPmlzb2xhdGVz
QmxlbmRpbmcoKSkKKyAgICAgICAgZGlydHlBbmNlc3RvclBhcmVudFN0YWNraW5nQ29udGV4dEhh
c0JsZW5kZWRFbGVtZW50KCk7CisKICAgICByZXR1cm4gb2xkQ2hpbGQ7CiB9CiAKQEAgLTY0MDMs
NiArNjQyOSwxMiBAQCB2b2lkIFJlbmRlckxheWVyOjp1cGRhdGVTdGFja2luZ0NvbnRleHRzQWZ0
ZXJTdHlsZUNoYW5nZShjb25zdCBSZW5kZXJTdHlsZSogb2xkUwogICAgICAgICAgICAgZGlydHla
T3JkZXJMaXN0cygpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICBjbGVhclpPcmRlckxpc3Rz
KCk7CisKKyNpZiBFTkFCTEUoQ1NTX0NPTVBPU0lUSU5HKQorICAgICAgICAgICAgbV9oYXNCbGVu
ZGVkRWxlbWVudEluQ2hpbGRTdGFja2luZ0NvbnRleHQgPSBpc1N0YWNraW5nQ29udGV4dCA/IG5v
bkNvbXBvc2l0ZWRQYXJlbnRTdGFja2luZ0NvbnRleHRIYXNCbGVuZGVkQ2hpbGQoKSA6IGZhbHNl
OworICAgICAgICAgICAgZGlydHlBbmNlc3RvclBhcmVudFN0YWNraW5nQ29udGV4dEhhc0JsZW5k
ZWRFbGVtZW50KCk7CisjZW5kaWYKKwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC02NTUz
LDcgKzY1ODUsNyBAQCB2b2lkIFJlbmRlckxheWVyOjpzdHlsZUNoYW5nZWQoU3R5bGVEaWZmZXJl
bmNlIGRpZmYsIGNvbnN0IFJlbmRlclN0eWxlKiBvbGRTdHlsZQogICAgIHVwZGF0ZURlc2NlbmRh
bnREZXBlbmRlbnRGbGFncygpOwogICAgIHVwZGF0ZVRyYW5zZm9ybSgpOwogI2lmIEVOQUJMRShD
U1NfQ09NUE9TSVRJTkcpCi0gICAgdXBkYXRlQmxlbmRNb2RlKG9sZFN0eWxlKTsKKyAgICB1cGRh
dGVCbGVuZE1vZGUoKTsKICNlbmRpZgogI2lmIEVOQUJMRShDU1NfRklMVEVSUykKICAgICB1cGRh
dGVPclJlbW92ZUZpbHRlckNsaWVudHMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyLmgKaW5kZXggZGYwNTVhOWNhNDE2NTJiOGUwNDEyNjRhZWRhYTliYjgzYmViODM4Yi4uZTMx
ZWJkMzZiMzQ4NWY5MDIxOTFkZDZmZDAxZTBlYmQ3MmYzMDdmYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyLmgKQEAgLTUwMyw4ICs1MDMsNyBAQCBwdWJsaWM6CiAgICAgdm9p
ZCB1cGRhdGVUcmFuc2Zvcm0oKTsKICAgICAKICNpZiBFTkFCTEUoQ1NTX0NPTVBPU0lUSU5HKQot
ICAgIHZvaWQgdXBkYXRlQmxlbmRNb2RlKGNvbnN0IFJlbmRlclN0eWxlKik7Ci0gICAgdm9pZCB1
cGRhdGVQYXJlbnRTdGFja2luZ0NvbnRleHRTaG91bGRJc29sYXRlQmxlbmRpbmcoKTsKKyAgICB2
b2lkIHVwZGF0ZUJsZW5kTW9kZSgpOwogI2VuZGlmCiAKICAgICBjb25zdCBMYXlvdXRTaXplJiBv
ZmZzZXRGb3JJbkZsb3dQb3NpdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fb2Zmc2V0Rm9ySW5GbG93
UG9zaXRpb247IH0KQEAgLTc5MCwxMiArNzg5LDQ4IEBAIHB1YmxpYzoKICAgICBib29sIGlzb2xh
dGVzQmxlbmRpbmcoKSBjb25zdAogICAgIHsKICNpZiBFTkFCTEUoQ1NTX0NPTVBPU0lUSU5HKQot
ICAgICAgICByZXR1cm4gbV9pc29sYXRlc0JsZW5kaW5nOworICAgICAgICByZXR1cm4gbV9oYXNC
bGVuZGVkRWxlbWVudEluQ2hpbGRTdGFja2luZ0NvbnRleHQgJiYgaXNTdGFja2luZ0NvbnRleHQo
KTsKICNlbHNlCiAgICAgICAgIHJldHVybiBmYWxzZTsKICNlbmRpZgogICAgIH0KIAorICAgIGJv
b2wgaGFzQmxlbmRlZEVsZW1lbnRJbkNoaWxkU3RhY2tpbmdDb250ZXh0KCkgY29uc3QKKyAgICB7
CisjaWYgRU5BQkxFKENTU19DT01QT1NJVElORykKKyAgICAgICAgcmV0dXJuIG1faGFzQmxlbmRl
ZEVsZW1lbnRJbkNoaWxkU3RhY2tpbmdDb250ZXh0OworI2Vsc2UKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworI2VuZGlmCisgICAgfQorCisgICAgdm9pZCBzZXRIYXNCbGVuZGVkRWxlbWVudEluQ2hp
bGRTdGFja2luZ0NvbnRleHQoYm9vbCBoYXNCbGVuZGVkRWxlbWVudEluQ2hpbGRTdGFja2luZ0Nv
bnRleHQpCisgICAgeworI2lmIEVOQUJMRShDU1NfQ09NUE9TSVRJTkcpCisgICAgICAgIG1faGFz
QmxlbmRlZEVsZW1lbnRJbkNoaWxkU3RhY2tpbmdDb250ZXh0ID0gaGFzQmxlbmRlZEVsZW1lbnRJ
bkNoaWxkU3RhY2tpbmdDb250ZXh0OworI2Vsc2UKKyAgICAgICAgVU5VU0VEX1BBUkFNKGhhc0Js
ZW5kZWRFbGVtZW50SW5DaGlsZFN0YWNraW5nQ29udGV4dCk7CisjZW5kaWYKKyAgICB9CisKKyAg
ICBib29sIGhhc0JsZW5kZWRFbGVtZW50SW5DaGlsZFN0YWNraW5nQ29udGV4dFN0YXR1c0RpcnR5
KCkgY29uc3QKKyAgICB7CisjaWYgRU5BQkxFKENTU19DT01QT1NJVElORykKKyAgICAgICAgcmV0
dXJuIG1faGFzQmxlbmRlZEVsZW1lbnRJbkNoaWxkU3RhY2tpbmdDb250ZXh0U3RhdHVzRGlydHk7
CisjZWxzZQorICAgICAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKKyAgICB9CisKKyAgICB2b2lk
IHNldEhhc0JsZW5kZWRFbGVtZW50SW5DaGlsZFN0YWNraW5nQ29udGV4dFN0YXR1c0RpcnR5KGJv
b2wgaGFzQmxlbmRlZEVsZW1lbnRJbkNoaWxkU3RhY2tpbmdDb250ZXh0U3RhdHVzRGlydHkpCisg
ICAgeworI2lmIEVOQUJMRShDU1NfQ09NUE9TSVRJTkcpCisgICAgICAgIG1faGFzQmxlbmRlZEVs
ZW1lbnRJbkNoaWxkU3RhY2tpbmdDb250ZXh0U3RhdHVzRGlydHkgPSBoYXNCbGVuZGVkRWxlbWVu
dEluQ2hpbGRTdGFja2luZ0NvbnRleHRTdGF0dXNEaXJ0eTsKKyNlbHNlCisgICAgICAgIFVOVVNF
RF9QQVJBTShoYXNCbGVuZGVkRWxlbWVudEluQ2hpbGRTdGFja2luZ0NvbnRleHQpOworI2VuZGlm
CisgICAgfQorCiAgICAgYm9vbCBpc0NvbXBvc2l0ZWQoKSBjb25zdCB7IHJldHVybiBtX2JhY2tp
bmcgIT0gMDsgfQogICAgIGJvb2wgaGFzQ29tcG9zaXRpbmdEZXNjZW5kYW50KCkgY29uc3QgeyBy
ZXR1cm4gbV9oYXNDb21wb3NpdGluZ0Rlc2NlbmRhbnQ7IH0KICAgICBib29sIGhhc0NvbXBvc2l0
ZWRNYXNrKCkgY29uc3Q7CkBAIC0xMTA5LDYgKzExNDQsMTIgQEAgcHJpdmF0ZToKICAgICB2b2lk
IHVwZGF0ZU9yUmVtb3ZlRmlsdGVyRWZmZWN0UmVuZGVyZXIoKTsKICNlbmRpZgogCisjaWYgRU5B
QkxFKENTU19DT01QT1NJVElORykKKyAgICB2b2lkIHVwZGF0ZU5vbkNvbXBvc2l0ZWRQYXJlbnRT
dGFja2luZ0NvbnRleHRIYXNCbGVuZGVkQ2hpbGQoYm9vbCBoYXNCbGVuZGVkQ2hpbGQpOworICAg
IHZvaWQgZGlydHlBbmNlc3RvclBhcmVudFN0YWNraW5nQ29udGV4dEhhc0JsZW5kZWRFbGVtZW50
KCk7CisgICAgYm9vbCBub25Db21wb3NpdGVkUGFyZW50U3RhY2tpbmdDb250ZXh0SGFzQmxlbmRl
ZENoaWxkKCkgY29uc3Q7CisjZW5kaWYKKwogICAgIHZvaWQgcGFyZW50Q2xpcFJlY3RzKGNvbnN0
IENsaXBSZWN0c0NvbnRleHQmLCBDbGlwUmVjdHMmKSBjb25zdDsKICAgICBDbGlwUmVjdCBiYWNr
Z3JvdW5kQ2xpcFJlY3QoY29uc3QgQ2xpcFJlY3RzQ29udGV4dCYpIGNvbnN0OwogCkBAIC0xMjQ2
LDggKzEyODcsOCBAQCBwcml2YXRlOgogCiAjaWYgRU5BQkxFKENTU19DT01QT1NJVElORykKICAg
ICBCbGVuZE1vZGUgbV9ibGVuZE1vZGUgOiA1OwotICAgIGJvb2wgbV9pc29sYXRlc0JsZW5kaW5n
IDogMTsKLSAgICBib29sIG1fdXBkYXRlUGFyZW50U3RhY2tpbmdDb250ZXh0U2hvdWxkSXNvbGF0
ZUJsZW5kaW5nRGlydHkgOiAxOworICAgIGJvb2wgbV9oYXNCbGVuZGVkRWxlbWVudEluQ2hpbGRT
dGFja2luZ0NvbnRleHQgOiAxOworICAgIGJvb2wgbV9oYXNCbGVuZGVkRWxlbWVudEluQ2hpbGRT
dGFja2luZ0NvbnRleHRTdGF0dXNEaXJ0eSA6IDE7CiAjZW5kaWYKIAogICAgIFJlbmRlckxheWVy
TW9kZWxPYmplY3QmIG1fcmVuZGVyZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCmluZGV4IDIxNDliMGUzNGM5MzA1YTQ1OTQ1N2E3
NDVhZDRkM2JkNzIwMmY4YmEuLmI0NTFkYmI5ODg3OGU4NzY1M2YzMTcwM2FiM2VjMTRiN2IxM2E4
ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBv
c2l0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBv
c2l0b3IuY3BwCkBAIC0xMDQ3LDEwICsxMDQ3LDYgQEAgdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0
b3I6OmNvbXB1dGVDb21wb3NpdGluZ1JlcXVpcmVtZW50cyhSZW5kZXJMYXllciogYW5jZXN0b3IK
ICAgICBsYXllci51cGRhdGVEZXNjZW5kYW50RGVwZW5kZW50RmxhZ3MoKTsKICAgICBsYXllci51
cGRhdGVMYXllckxpc3RzSWZOZWVkZWQoKTsKIAotI2lmIEVOQUJMRShDU1NfQ09NUE9TSVRJTkcp
Ci0gICAgbGF5ZXIudXBkYXRlUGFyZW50U3RhY2tpbmdDb250ZXh0U2hvdWxkSXNvbGF0ZUJsZW5k
aW5nKCk7Ci0jZW5kaWYKLQogICAgIGlmIChsYXllci5pc0Zsb3dUaHJlYWRDb2xsZWN0aW5nR3Jh
cGhpY3NMYXllcnNVbmRlclJlZ2lvbnMoKSkgewogICAgICAgICBSZW5kZXJGbG93VGhyZWFkJiBm
bG93VGhyZWFkID0gdG9SZW5kZXJGbG93VGhyZWFkKGxheWVyLnJlbmRlcmVyKCkpOwogICAgICAg
ICBsYXllci5zZXRIYXNDb21wb3NpdGluZ0Rlc2NlbmRhbnQoZmxvd1RocmVhZC5oYXNDb21wb3Np
dGluZ1JlZ2lvbkRlc2NlbmRhbnQoKSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYzhiZTQ1YTJhY2YwZmE4OTU1NjM4MGVl
ZTQxZWIyZjAzMzdiODc3NS4uYTJkNzVmODY4Mjk1Yzc1ODI3ZTZlZDZhMjBmMGRiNTc4YmYxMWJm
NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE0LTAzLTA2ICBNaWhhaSBUaWNhICA8bWl0aWNh
QGFkb2JlLmNvbT4KKworICAgICAgICBbQ1NTIEJsZW5kaW5nXSBCbGVuZGluZyBvcGVyYXRpb24g
aXMgbm90IGlzb2xhdGVkIHdoZW4gc2V0dGluZyB6LWluZGV4IG9uIHBhcmVudCBmcm9tIGphdmFz
Y3JpcHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEy
OTMwNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRl
c3QgaWYgc2V0dGluZyBvciB1bnNldHRpbmcgc3RhY2tpbmcgY29udGV4dCBvciBibGVuZCBtb2Rl
IGZyb20gc2NyaXB0IGNvcnJlY3RseSB1cGRhdGVzIGJsZW5kaW5nCisgICAgICAgIGlzb2xhdGlv
bi4gTm90ZSB0aGF0IDIgb3V0IG9mIHRoZSA4IHRlc3QgY2FzZXMgYXJlIGZhaWxpbmcgZHVlIHRv
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjk0ODAuCisKKyAgICAg
ICAgKiBjc3MzL2NvbXBvc2l0aW5nL2JsZW5kLW1vZGUtYmFja2dyb3VuZC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L3JlcGFpbnQvYmxlbmQtbW9kZS1pc29sYXRlLXN0YWNraW5nLWNvbnRl
eHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3JlcGFpbnQvYmxlbmQtbW9k
ZS1pc29sYXRlLXN0YWNraW5nLWNvbnRleHQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vbWFjL2NzczMvY29tcG9zaXRpbmcvYmxlbmQtbW9kZS1iYWNrZ3JvdW5kLWV4cGVjdGVkLnBu
ZzogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2NzczMvY29tcG9zaXRpbmcvYmxlbmQt
bW9kZS1iYWNrZ3JvdW5kLWV4cGVjdGVkLnR4dDogQWRkZWQuCisKIDIwMTQtMDMtMDUgIEppbndv
byBTb25nICA8amlud29vNy5zb25nQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQg
RUZMIGdhcmRlbmluZy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY29tcG9zaXRpbmcv
YmxlbmQtbW9kZS1iYWNrZ3JvdW5kLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2NvbXBvc2l0aW5n
L2JsZW5kLW1vZGUtYmFja2dyb3VuZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMxZWMyNjY2NGM4ZjU5ZTk3
MGQ3NzAyODg4NmExOGNlM2Y1OWNjOGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9j
c3MzL2NvbXBvc2l0aW5nL2JsZW5kLW1vZGUtYmFja2dyb3VuZC5odG1sCkBAIC0wLDAgKzEsMTgg
QEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KKyAgICBkaXYgewor
ICAgICAgICBtYXJnaW46IDIwcHg7CisgICAgICAgIHdpZHRoOiA2MHB4OworICAgICAgICBoZWln
aHQ6IDYwcHg7CisgICAgICAgIC13ZWJraXQtbWl4LWJsZW5kLW1vZGU6IGRpZmZlcmVuY2U7Cisg
ICAgICAgIGJhY2tncm91bmQ6IHJlZDsKKyAgICB9CisgICAgYm9keSB7CisgICAgICAgIGJhY2tn
cm91bmQ6IGJsdWU7CisgICAgfQorPC9zdHlsZT4KKzxib2R5PgorICAgIDxkaXYgY2xhc3M9InBh
cmVudCI+PC9kaXY+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlcGFp
bnQvYmxlbmQtbW9kZS1pc29sYXRlLXN0YWNraW5nLWNvbnRleHQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC9yZXBhaW50L2JsZW5kLW1vZGUtaXNvbGF0ZS1zdGFja2luZy1jb250ZXh0
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kODcyZWIzNTYwZDRmNmM0YWFhZmYxNjRjMWY4MzM0
OTkzMTYwN2RjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2Js
ZW5kLW1vZGUtaXNvbGF0ZS1zdGFja2luZy1jb250ZXh0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDQzIEBACitUZXN0IGlmIHNldHRpbmcgYmxlbmQgbW9kZSBjcmVhdGVzIGlzb2xhdGlvbi4KKwor
VGVzdCBpZiB1bnNldHRpbmcgYmxlbmQgbW9kZSByZW1vdmVzIGlzb2xhdGlvbi4KKworRkFJTDog
VGVzdCBpZiBzZXR0aW5nIGEgcGFyZW50J3Mgc3RhY2tpbmcgY29udGV4dCBjb3JyZWN0bHkgY3Jl
YXRlcyBpc29sYXRpb24uIEZpeCB0aGlzIGlzc3VlIGZpcnN0LgorCitUZXN0IGlmIHVuc2V0dGlu
ZyBhIHBhcmVudCdzIHN0YWNraW5nIGNvbnRleHQgY29ycmVjdGx5IHJlbW92ZXMgaXNvbGF0aW9u
LgorCitUZXN0IGlmIHN3aXRjaGluZyBhIGJsZW5kIG1vZGUgcHJlc2VydmVzIGlzb2xhdGlvbi4K
KworVGVzdCBpZiBzd2l0Y2hpbmcgdGhlIHByb3BlcnR5IHRoYXQgY2F1c2VzIHRoZSBwYXJlbnQg
dG8gY3JlYXRlIGEgc3RhY2tpbmcgY29udGV4dCBwcmVzZXJ2ZXMgaXNvbGF0aW9uLgorCitUZXN0
IGlmIHVuc2V0dGluZyBhIHBhcmVudCdzIHN0YWNraW5nIGNvbnRleHQgY29ycmVjdGx5IHVwZGF0
ZXMgaXRzIHBhcmVudCBpc29sYXRpb24uCisKK0ZBSUw6IFRlc3QgaWYgc2V0dGluZyBhIHBhcmVu
dCdzIHN0YWNraW5nIGNvbnRleHQgY29ycmVjdGx5IHVwZGF0ZXMgaXNvbGF0aW9uLiBGaXggRml4
IHRoaXMgaXNzdWUgZmlyc3QuCisKKyAocmVwYWludCByZWN0cworICAocmVjdCA0OCA1NCA2MCA2
MCkKKyAgKHJlY3QgNDggNTQgNjAgNjApCisgIChyZWN0IDQ4IDU0IDYwIDYwKQorICAocmVjdCA0
OCA1NCA2MCA2MCkKKyAgKHJlY3QgNDggMTcyIDYwIDYwKQorICAocmVjdCA0OCAxNzIgNjAgNjAp
CisgIChyZWN0IDI4IDI5MCA2MCA2MCkKKyAgKHJlY3QgMjggNDA4IDYwIDYwKQorICAocmVjdCA0
OCA0MDggNjAgNjApCisgIChyZWN0IDQ4IDQwOCA2MCA2MCkKKyAgKHJlY3QgNDggNTI2IDYwIDYw
KQorICAocmVjdCA0OCA1MjYgNjAgNjApCisgIChyZWN0IDI4IDY0NCA2MCA2MCkKKyAgKHJlY3Qg
NDggNjQ0IDYwIDYwKQorICAocmVjdCA0OCA3NjIgNjAgNjApCisgIChyZWN0IDY4IDc2MiA2MCA2
MCkKKyAgKHJlY3QgNjggNzYyIDYwIDYwKQorICAocmVjdCAyOCA4ODAgODAgNjApCisgIChyZWN0
IDI4IDQwOCA2MCA2MCkKKyAgKHJlY3QgNDggNzYyIDYwIDYwKQorICAocmVjdCAyOCAyOTAgNjAg
NjApCisgIChyZWN0IDI4IDY0NCA2MCA2MCkKKyAgKHJlY3QgODggNzYyIDIwIDYwKQorICAocmVj
dCAyOCA4ODAgODAgNjApCispCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVwYWlu
dC9ibGVuZC1tb2RlLWlzb2xhdGUtc3RhY2tpbmctY29udGV4dC5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9yZXBhaW50L2JsZW5kLW1vZGUtaXNvbGF0ZS1zdGFja2luZy1jb250ZXh0Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYTQ2NjYxMmJhNDdjY2U2YTFmMTBjZDFmNThkZGJiYzJlOGU5MWY5YQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9ibGVuZC1tb2RlLWlzb2xhdGUt
c3RhY2tpbmctY29udGV4dC5odG1sCkBAIC0wLDAgKzEsMTAyIEBACis8IURPQ1RZUEUgSFRNTD4K
KzxodG1sPgorPGhlYWQ+Cis8c3R5bGU+CisgICAgZGl2IHsKKyAgICAgICAgbWFyZ2luOiAyMHB4
OworICAgICAgICB3aWR0aDogNjBweDsKKyAgICAgICAgaGVpZ2h0OiA2MHB4OworICAgIH0KKwor
ICAgIC5wYXJlbnQgeworICAgICAgICBiYWNrZ3JvdW5kOiAjMEYwOworICAgIH0KKworICAgIC5j
aGlsZCB7CisgICAgICAgIGJhY2tncm91bmQ6ICMwMEY7CisgICAgfQorCisgICAgLnN0YWNraW5n
IHsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB6LWluZGV4OiAwOworICAg
IH0KKworICAgIC5zdGFja2luZzIgeworICAgICAgICBvcGFjaXR5OiAwLjk5OworICAgIH0KKwor
ICAgIC5ibGVuZGVyIHsKKyAgICAgICAgLXdlYmtpdC1taXgtYmxlbmQtbW9kZTogZGlmZmVyZW5j
ZTsKKyAgICB9CisKKyAgICAuYmxlbmRlcjIgeworICAgICAgICAtd2Via2l0LW1peC1ibGVuZC1t
b2RlOiBzY3JlZW47CisgICAgfQorPC9zdHlsZT4KKzxzY3JpcHQ+CisgICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQodHJ1ZSk7Cis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdGV4dC1iYXNlZC1yZXBhaW50LmpzIiB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgorPCEtLSBSZXBhaW50IHRlc3QgdG8gZW5zdXJlIHRo
YXQgc2V0dGluZyBhIGJsZW5kIG1vZGUgZHluYW1pY2FsbHkgdHJpZ2dlcnMgdGhpcyBvcGVyYXRp
b24KKyAgICBvbmx5IHdpdGggdGhlIGNvbnRlbnRzIG9mIHRoZSBuZWFyZXN0IGFuY2VzdG9yIHN0
YWNraW5nIGNvbnRleHQuIC0tPgorPGJvZHkgb25sb2FkPSJydW5SZXBhaW50VGVzdCgpIj4KKyAg
ICA8cD5UZXN0IGlmIHNldHRpbmcgYmxlbmQgbW9kZSBjcmVhdGVzIGlzb2xhdGlvbi48L3A+Cisg
ICAgPGRpdiBjbGFzcz0icGFyZW50IHN0YWNraW5nIj4KKyAgICAgICAgPGRpdiBpZD0iZmlyc3Qi
IGNsYXNzPSJjaGlsZCI+PC9kaXY+CisgICAgPC9kaXY+CisKKyAgICA8cD5UZXN0IGlmIHVuc2V0
dGluZyBibGVuZCBtb2RlIHJlbW92ZXMgaXNvbGF0aW9uLjwvcD4KKyAgICA8ZGl2IGNsYXNzPSJw
YXJlbnQgc3RhY2tpbmciPgorICAgICAgICA8ZGl2IGlkPSJzZWNvbmQiIGNsYXNzPSJjaGlsZCBi
bGVuZGVyIj48L2Rpdj4KKyAgICA8L2Rpdj4KKworICAgIDxwPkZBSUw6IFRlc3QgaWYgc2V0dGlu
ZyBhIHBhcmVudCdzIHN0YWNraW5nIGNvbnRleHQgY29ycmVjdGx5IGNyZWF0ZXMgaXNvbGF0aW9u
LiBGaXggPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEy
OTQ4MCI+dGhpcyBpc3N1ZSBmaXJzdC48L2E+PC9wPgorICAgIDxkaXYgaWQ9InRoaXJkIiBjbGFz
cz0icGFyZW50Ij4KKyAgICAgICAgPGRpdiBjbGFzcz0iY2hpbGQgYmxlbmRlciI+PC9kaXY+Cisg
ICAgPC9kaXY+CisKKyAgICA8cD5UZXN0IGlmIHVuc2V0dGluZyBhIHBhcmVudCdzIHN0YWNraW5n
IGNvbnRleHQgY29ycmVjdGx5IHJlbW92ZXMgaXNvbGF0aW9uLjwvcD4KKyAgICA8ZGl2IGlkPSJm
b3VydGgiIGNsYXNzPSJwYXJlbnQgc3RhY2tpbmciPgorICAgICAgICA8ZGl2IGNsYXNzPSJjaGls
ZCBibGVuZGVyIj48L2Rpdj4KKyAgICA8L2Rpdj4KKworICAgIDxwPlRlc3QgaWYgc3dpdGNoaW5n
IGEgYmxlbmQgbW9kZSBwcmVzZXJ2ZXMgaXNvbGF0aW9uLjwvcD4KKyAgICAgPGRpdiBjbGFzcz0i
cGFyZW50IHN0YWNraW5nIj4KKyAgICAgICAgIDxkaXYgaWQ9ImZpZnRoIiBjbGFzcz0iY2hpbGQg
YmxlbmRlciI+PC9kaXY+CisgICAgIDwvZGl2PgorCisgICAgPHA+VGVzdCBpZiBzd2l0Y2hpbmcg
dGhlIHByb3BlcnR5IHRoYXQgY2F1c2VzIHRoZSBwYXJlbnQgdG8gY3JlYXRlIGEgc3RhY2tpbmcg
Y29udGV4dCBwcmVzZXJ2ZXMgaXNvbGF0aW9uLjwvcD4KKyAgICA8ZGl2IGlkPSJzaXh0aCIgY2xh
c3M9InBhcmVudCBzdGFja2luZyI+CisgICAgICAgIDxkaXYgY2xhc3M9ImNoaWxkIGJsZW5kZXIi
PjwvZGl2PgorICAgIDwvZGl2PgorCisgICAgPHA+VGVzdCBpZiB1bnNldHRpbmcgYSBwYXJlbnQn
cyBzdGFja2luZyBjb250ZXh0IGNvcnJlY3RseSB1cGRhdGVzIGl0cyBwYXJlbnQgaXNvbGF0aW9u
LjwvcD4KKyAgICA8ZGl2IGNsYXNzPSJwYXJlbnQgc3RhY2tpbmciPgorICAgICAgICA8ZGl2IGlk
PSJzZXZlbnRoIiBjbGFzcz0icGFyZW50IHN0YWNraW5nIj4KKyAgICAgICAgICAgIDxkaXYgY2xh
c3M9ImNoaWxkIGJsZW5kZXIiPjwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKwor
ICAgIDxwPkZBSUw6IFRlc3QgaWYgc2V0dGluZyBhIHBhcmVudCdzIHN0YWNraW5nIGNvbnRleHQg
Y29ycmVjdGx5IHVwZGF0ZXMgaXNvbGF0aW9uLiBGaXggRml4IDxhIGhyZWY9Imh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjk0ODAiPnRoaXMgaXNzdWUgZmlyc3QuPC9w
PgorICAgIDxkaXYgY2xhc3M9InBhcmVudCIgaWQ9ImVpZ2h0Ij4KKyAgICAgICAgPGRpdiBjbGFz
cz0icGFyZW50Ij4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNoaWxkIGJsZW5kZXIiPjwvZGl2
PgorICAgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKyAgICA8c2NyaXB0PgorICAgICAgICBmdW5j
dGlvbiByZXBhaW50VGVzdCgpIHsKKyAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdmaXJzdCcpLmNsYXNzTmFtZSA9ICJjaGlsZCBibGVuZGVyIjsKKyAgICAgICAgICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdzZWNvbmQnKS5jbGFzc05hbWUgPSAiY2hpbGQiOworCisgICAg
ICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGhpcmQnKS5jbGFzc05hbWUgPSAicGFy
ZW50IHN0YWNraW5nIjsKKyAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmb3Vy
dGgnKS5jbGFzc05hbWUgPSAicGFyZW50IjsKKworICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ2ZpZnRoJykuY2xhc3NOYW1lID0gImNoaWxkIGJsZW5kZXIyIjsKKworICAgICAg
ICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NpeHRoJykuY2xhc3NOYW1lID0gInBhcmVu
dCBzdGFja2luZzIiOworICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NldmVu
dGgnKS5jbGFzc05hbWUgPSAicGFyZW50IjsKKyAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdlaWdodCcpLmNsYXNzTmFtZSA9ICJwYXJlbnQgc3RhY2tpbmciOworICAgICAgICB9
CisgICAgIDwvc2NyaXB0PgorIDwvYm9keT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY3NzMy9jb21wb3NpdGluZy9ibGVu
ZC1tb2RlLWJhY2tncm91bmQtZXhwZWN0ZWQucG5nIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2NzczMvY29tcG9zaXRpbmcvYmxlbmQtbW9kZS1iYWNrZ3JvdW5kLWV4cGVjdGVkLnBuZwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5kYTc0NTRmZjE1NjUwMmM2ZjVhZGI5MWQ1MjNiZDY3ZTIyYzdlMTRiCkdJVCBiaW5h
cnkgcGF0Y2gKbGl0ZXJhbCAxMDU2Mgp6Y21lQVNATj8ob2xIeWB1VkJxIWlhMHl+eVV7K3ZZVjJh
PmkxQiVRbFlicFJ6bmtCOWdDQ000NyQ9U3VGeGVWcigKeiM+VkV4JHdyQXJOb21RYyRwKXNEPTRO
Snojend8VFg2N2N3clkxRitAOSMxJlhrNzdoYVNXK29lMCVkP1otfUZTCnppPSlHQ15GMFVhKk1C
PzRzTTM9JFBiKnBHI2hNZktvQGMtSiRKaFU+YEs7e0Z6YCk0RiFYY3BHJn5TamNRSigrYQp6Mk5v
Q35CPUxfXkxjeHYmc3NKUH40PThZY2d7PSFoVExhQEdYYHBWSEYlTT1vRm47UX08cVI8c0VHblV9
NTgyRk4Kell7WUAlKi1pS0Q+LVgxditRMEFuJiN5bkA/fC0qfGQlYlp8TCVvQW4/Zz1NRVNuWChG
RVpVUnNUbzR8OThvPU9QCnpZTD1vMTU2XjtfMH1QZ044JE4/JDJwcFBJU2E+RGBOcEF3aDckblJz
XmIjNm1ebHd4bUxmbmdxJjB7NVJCdG5tagp6eFBlMlRfIX1FVU01OzB9RlMqakRnVjU4KkV1bkNu
eUcjeip4cnsrcyZTRDVYJDYwd01KWjgxLWhlZFVSZ1hhTVQKeiY4Pj51MnRBTFAqaUwrR24oR2V0
O3NUWH5oQUZvdXc4SGZxQ31kPVFRZ1FHY0JJTn1MOEhAKFlYdDAxJT54ZjcjCnpjNShNWFd5M0dl
X2xTSjJBUnpkRy0odn1mQXRLTX1hN1pYez4rWVRpJnA4ZSoyTipnPDZ4azVEamdecihXbnJxaAp6
NVdGYnAwUDJ+amJPZz48KnIxVG1wdEkkVDh6S2A2R0JUP0t3TVpaYHo4SjdQWGBPYzAxRDw2U2xv
QT9UeCYpZngKejc5Vko4VkJCPEpsUWJ2MSV5OXdnQGVvWGNeOTNSVjM+P0l3JTlJZ3E+dTZ2VShz
YmZNU2otSjk4a3xuJnNsYlhZCnpwcUM5Q2x3M087O1Q5KTI5JDwqZnhZPih2bi1VWS1YclBQKyU0
a1lxV0UjeXI0MmAyQCU0azZndFdaWDRwTjcjWQp6Uzsxa25veDtSMitJVkFSOGcwPnpIdUhnOWhT
OXpjTCpyPE51d2teOSUpJjdgYmlsK2lJJnxQTEktVmpoST4tYloKeiNUeSt1NyMldFFIanFaZ1ho
KCsqZkhNUTVMa0ZXbjJjVzUpKFY+SVVwIyRKLTxMQ19HPStGVWhOX0tTVXorclVnCnIwNjRjWUkm
PzVQYk8ybnxGe3ArUHt4TG1UIVMjSD5ReF9mSnFEVGYkUzNqM15QNjxyXyomUj5RCgpsaXRlcmFs
IDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY3Nz
My9jb21wb3NpdGluZy9ibGVuZC1tb2RlLWJhY2tncm91bmQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2NzczMvY29tcG9zaXRpbmcvYmxlbmQtbW9kZS1iYWNrZ3JvdW5k
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NjVjMWMxYzgzMWQ3NTNlYzE1OTA0Y2FlYjdlMDMw
MjA5MWI4ZmEzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Nz
czMvY29tcG9zaXRpbmcvYmxlbmQtbW9kZS1iYWNrZ3JvdW5kLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDcgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgw
LDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MTAwCisgIFJlbmRlckJs
b2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHgxMDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBh
dCAoOCwyMCkgc2l6ZSA3ODR4NjAgW2JnY29sb3I9IzAwMDBGRl0KK2xheWVyIGF0ICgyOCwyMCkg
c2l6ZSA2MHg2MAorICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMjAsMCkgc2l6ZSA2MHg2MCBbYmdj
b2xvcj0jRkYwMDAwXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>226033</attachid>
            <date>2014-03-06 13:42:45 -0800</date>
            <delta_ts>2014-03-07 07:06:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-129307-20140306234244.patch</filename>
            <type>text/plain</type>
            <size>24079</size>
            <attacher name="Mihai Tica">mitica</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY1MTgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTI2ZDFmMWM5YTZlNjVh
ZWU1NWE4ZDhiYTFmMjViYjZmNGVlNzA1Yi4uYzk4YTk1OTg2NzZmMzk4ZDVhNmU1NTg2OTM5ODk1
MjJkZWZmNGQ3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDE0LTAzLTA2ICBNaWhh
aSBUaWNhICA8bWl0aWNhQGFkb2JlLmNvbT4KKworICAgICAgICBbQ1NTIEJsZW5kaW5nXSBCbGVu
ZGluZyBvcGVyYXRpb24gaXMgbm90IGlzb2xhdGVkIHdoZW4gc2V0dGluZyB6LWluZGV4IG9uIHBh
cmVudCBmcm9tIGphdmFzY3JpcHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEyOTMwNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFJlaW1wbGVtZW50IHRoZSBsb2dpYyBiZWhpbmQgaXNvbGF0aW5nIGJsZW5k
IG1vZGVzLiBUaGUgYmxlbmRpbmcgb3BlcmF0aW9uIHNob3VsZCBiZSBsaW1pdGVkIHRvIHRoZQor
ICAgICAgICBjb250ZW50cyBvZiB0aGUgcGFyZW50IHN0YWNraW5nIGNvbnRleHQuIFRoZSBwcm9w
b3NlZCBzb2x1dGlvbiBpbXBsaWVzIGFkZGluZyBsb2dpYyBpbiB1cGRhdGVEZXNjZW5kYW50RGVw
ZW5kZW50RmxhZ3MsCisgICAgICAgIHRvIHRyYWNrIGNoaWxkIGVsZW1lbnRzIHRoYXQgaGF2ZSBi
bGVuZGluZyBhbmQgY3JlYXRlIGEgdHJhbnNwYXJlbmN5IGxheWVyIHRoYXQgdHJpZ2dlcnMgaXNv
bGF0aW9uLgorCisgICAgICAgIFRlc3RzOiBjc3MzL2NvbXBvc2l0aW5nL2JsZW5kLW1vZGUtYmFj
a2dyb3VuZC5odG1sCisgICAgICAgICAgICAgICBmYXN0L3JlcGFpbnQvYmxlbmQtbW9kZS1pc29s
YXRlLXN0YWNraW5nLWNvbnRleHQuaHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxh
eWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpSZW5kZXJMYXllcik6IFJl
bW92ZSBvbGQgbWVtYmVycywgYWRkIG5ldyBtZW1iZXJzIHRvIGNvbnN0cnVjdG9yLgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnVwZGF0ZUJsZW5kTW9kZSk6IFVwZGF0ZSBwYXJlbnQg
c3RhY2tpbmcgY29udGV4dCBpc29sYXRpb24gb24gYmxlbmQgbW9kZSBjaGFuZ2UuCisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJMYXllcjo6dXBkYXRlTm9uQ29tcG9zaXRlZFBhcmVudFN0YWNraW5n
Q29udGV4dEhhc0JsZW5kZWRDaGlsZCk6CisgICAgICAgIC0gU2V0IG1faGFzQmxlbmRlZEVsZW1l
bnRJbkNoaWxkU3RhY2tpbmdDb250ZXh0IGZvciB0aGUgbm9uIGNvbXBvc2l0ZWQgcGFyZW50IHN0
YWNraW5nIGNvbnRleHQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6ZGlydHlBbmNl
c3RvclBhcmVudFN0YWNraW5nQ29udGV4dEhhc0JsZW5kZWRFbGVtZW50KToKKyAgICAgICAgLSBT
ZXQgZmxhZyBzbyBpc29sYXRpb24gc2hvdWxkIGJlIGNvbnNpZGVyZWQgaW4gdXBkYXRlRGVzY2Vu
ZGFudERlcGVuZGVudEZsYWdzLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6Om5vbkNv
bXBvc2l0ZWRQYXJlbnRTdGFja2luZ0NvbnRleHRIYXNCbGVuZGVkQ2hpbGQpOgorICAgICAgICAt
IFJldHVybiB3aGV0aGVyIHRoZSBub24gY29tcG9zaXRlZCBwYXJlbnQgc3RhY2tpbmcgY29udGV4
dCBpc29sYXRlcyBibGVuZGluZy4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjp1cGRh
dGVEZXNjZW5kYW50RGVwZW5kZW50RmxhZ3MpOiBBZGQgbG9naWMgZm9yIGlzb2xhdGluZyBibGVu
ZGluZy4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjphZGRDaGlsZCk6IENhbGwgdG8g
dXBkYXRlTm9uQ29tcG9zaXRlZFBhcmVudFN0YWNraW5nQ29udGV4dEhhc0JsZW5kZWRDaGlsZCBp
ZiBuZWVkZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6cmVtb3ZlQ2hpbGQpOiBD
YWxsIHRvIGRpcnR5QW5jZXN0b3JQYXJlbnRTdGFja2luZ0NvbnRleHRIYXNCbGVuZGVkRWxlbWVu
dCBpZiBuZWVkZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6dXBkYXRlU3RhY2tp
bmdDb250ZXh0c0FmdGVyU3R5bGVDaGFuZ2UpOiBVcGRhdGUgaXNvbGF0aW9uIHdoZW4gYSBzdGFj
a2luZyBjb250ZXh0IHdhcyBzZXQgb3IgdW5zZXQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJM
YXllcjo6c3R5bGVDaGFuZ2VkKTogUmVtb3ZlZCBvbGRTdHlsZSBwYXJhbWV0ZXIgZnJvbSB1cGRh
dGVCbGVuZE1vZGUgY2FsbC4KKworICAgICAgICAgVXBkYXRlIHBhcmVudCBzdGFja2luZyBjb250
ZXh0IGlzb2xhdGlvbiBvbiBibGVuZCBtb2RlIGNoYW5nZS4KKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyTGF5ZXIuaDoKKyAgICAgICAgLSBBZGQgbWVtYmVycywgZ2V0dGVycyBhbmQgc2V0dGVy
cyBmb3IgdHJhY2tpbmcgd2hldGhlciB0aGUgZWxlbWVudCBoYXMgYSBibGVuZGVkIGNoaWxkOgor
ICAgICAgICAgICAgLSBtX2hhc0JsZW5kZWRFbGVtZW50SW5DaGlsZFN0YWNraW5nQ29udGV4dAor
ICAgICAgICAgICAgLSBtX2hhc0JsZW5kZWRFbGVtZW50SW5DaGlsZFN0YWNraW5nQ29udGV4dFN0
YXR1c0RpcnR5CisgICAgICAgIC0gUmVtb3ZlZCBtX3VwZGF0ZVBhcmVudFN0YWNraW5nQ29udGV4
dFNob3VsZElzb2xhdGVCbGVuZGluZ0RpcnR5IChyZXBsYWNlZCB3aXRoIG1faGFzQmxlbmRlZEVs
ZW1lbnRJbkNoaWxkU3RhY2tpbmdDb250ZXh0U3RhdHVzRGlydHkpCisgICAgICAgIC0gUmVtb3Zl
ZCBtX2lzb2xhdGVzQmxlbmRpbmcgKHJlcGxhY2VkIHdpdGggbV9oYXNCbGVuZGVkRWxlbWVudElu
Q2hpbGRTdGFja2luZ0NvbnRleHQpCisgICAgICAgIC0gVXBkYXRlZCB0aGUgaXNvbGF0ZXNCbGVu
ZGluZyBtZXRob2QgdG8gcmV0dXJuIHRydWUgb25seSB3aGVuIHRoZSBlbGVtZW50IGlzIGEgc3Rh
Y2tpbmcgY29udGV4dCBhbmQgaGFzIGEgYmxlbmRlZCBjaGlsZC4KKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxh
eWVyQ29tcG9zaXRvcjo6Y29tcHV0ZUNvbXBvc2l0aW5nUmVxdWlyZW1lbnRzKTogUmVtb3ZlZCBs
YXllci51cGRhdGVQYXJlbnRTdGFja2luZ0NvbnRleHRTaG91bGRJc29sYXRlQmxlbmRpbmcgY2Fs
bC4KKwogMjAxNC0wMy0wNiAgWmFuIERvYmVyc2VrICA8emRvYmVyc2VrQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgTW92ZSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy8gY29kZSB0byBzdGQ6OnVu
aXF1ZV9wdHIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IDMx
MDJhYzAxMGZlYzJmYzUxZjhkODc5MmU4OTBhMGU4M2IyMGRiM2QuLjRmYmRlNDU2ZTZhYzgzMDU3
YTBmMTBkM2JlMGY5NDQxMjlkZjg5MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyLmNwcApAQCAtMTg1LDggKzE4NSw4IEBAIFJlbmRlckxheWVyOjpSZW5kZXJMYXllcihS
ZW5kZXJMYXllck1vZGVsT2JqZWN0JiByZW5kZXJlckxheWVyTW9kZWxPYmplY3QpCiAjZW5kaWYK
ICNpZiBFTkFCTEUoQ1NTX0NPTVBPU0lUSU5HKQogICAgICwgbV9ibGVuZE1vZGUoQmxlbmRNb2Rl
Tm9ybWFsKQotICAgICwgbV9pc29sYXRlc0JsZW5kaW5nKGZhbHNlKQotICAgICwgbV91cGRhdGVQ
YXJlbnRTdGFja2luZ0NvbnRleHRTaG91bGRJc29sYXRlQmxlbmRpbmdEaXJ0eShmYWxzZSkKKyAg
ICAsIG1faGFzQmxlbmRlZEVsZW1lbnRJbkNoaWxkU3RhY2tpbmdDb250ZXh0KGZhbHNlKQorICAg
ICwgbV9oYXNCbGVuZGVkRWxlbWVudEluQ2hpbGRTdGFja2luZ0NvbnRleHRTdGF0dXNEaXJ0eShm
YWxzZSkKICNlbmRpZgogICAgICwgbV9yZW5kZXJlcihyZW5kZXJlckxheWVyTW9kZWxPYmplY3Qp
CiAgICAgLCBtX3BhcmVudCgwKQpAQCAtODAzLDEyICs4MDMsMTUgQEAgdm9pZCBSZW5kZXJMYXll
cjo6cG9zaXRpb25OZXdseUNyZWF0ZWRPdmVyZmxvd0NvbnRyb2xzKCkKIAogI2lmIEVOQUJMRShD
U1NfQ09NUE9TSVRJTkcpCiAKLXZvaWQgUmVuZGVyTGF5ZXI6OnVwZGF0ZUJsZW5kTW9kZShjb25z
dCBSZW5kZXJTdHlsZSogb2xkU3R5bGUpCit2b2lkIFJlbmRlckxheWVyOjp1cGRhdGVCbGVuZE1v
ZGUoKQogewotICAgIG1fdXBkYXRlUGFyZW50U3RhY2tpbmdDb250ZXh0U2hvdWxkSXNvbGF0ZUJs
ZW5kaW5nRGlydHkgPSBmYWxzZTsKLQotICAgIGlmICgoIW9sZFN0eWxlICYmIHJlbmRlcmVyKCku
c3R5bGUoKS5oYXNCbGVuZE1vZGUoKSkgfHwgKG9sZFN0eWxlICYmIG9sZFN0eWxlLT5oYXNCbGVu
ZE1vZGUoKSAhPSByZW5kZXJlcigpLnN0eWxlKCkuaGFzQmxlbmRNb2RlKCkpKQotICAgICAgICBt
X3VwZGF0ZVBhcmVudFN0YWNraW5nQ29udGV4dFNob3VsZElzb2xhdGVCbGVuZGluZ0RpcnR5ID0g
dHJ1ZTsKKyAgICBib29sIGhhZEJsZW5kTW9kZSA9IG1fYmxlbmRNb2RlICE9IEJsZW5kTW9kZU5v
cm1hbDsKKyAgICBpZiAoaGFkQmxlbmRNb2RlICE9IGhhc0JsZW5kTW9kZSgpKSB7CisgICAgICAg
IGlmIChoYXNCbGVuZE1vZGUoKSkKKyAgICAgICAgICAgIHVwZGF0ZU5vbkNvbXBvc2l0ZWRQYXJl
bnRTdGFja2luZ0NvbnRleHRIYXNCbGVuZGVkQ2hpbGQodHJ1ZSk7CisgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgIGRpcnR5QW5jZXN0b3JQYXJlbnRTdGFja2luZ0NvbnRleHRIYXNCbGVuZGVkRWxl
bWVudCgpOworICAgIH0KIAogICAgIEJsZW5kTW9kZSBuZXdCbGVuZE1vZGUgPSByZW5kZXJlcigp
LnN0eWxlKCkuYmxlbmRNb2RlKCk7CiAgICAgaWYgKG5ld0JsZW5kTW9kZSAhPSBtX2JsZW5kTW9k
ZSkgewpAQCAtODE4LDI0ICs4MjEsMzYgQEAgdm9pZCBSZW5kZXJMYXllcjo6dXBkYXRlQmxlbmRN
b2RlKGNvbnN0IFJlbmRlclN0eWxlKiBvbGRTdHlsZSkKICAgICB9CiB9CiAKLXZvaWQgUmVuZGVy
TGF5ZXI6OnVwZGF0ZVBhcmVudFN0YWNraW5nQ29udGV4dFNob3VsZElzb2xhdGVCbGVuZGluZygp
Cit2b2lkIFJlbmRlckxheWVyOjp1cGRhdGVOb25Db21wb3NpdGVkUGFyZW50U3RhY2tpbmdDb250
ZXh0SGFzQmxlbmRlZENoaWxkKGJvb2wgaGFzQmxlbmRlZENoaWxkKQogewotICAgIGlmICghbV91
cGRhdGVQYXJlbnRTdGFja2luZ0NvbnRleHRTaG91bGRJc29sYXRlQmxlbmRpbmdEaXJ0eSkKLSAg
ICAgICAgcmV0dXJuOwotCi0gICAgaWYgKGlzQ29tcG9zaXRlZCgpKSB7Ci0gICAgICAgIG1fdXBk
YXRlUGFyZW50U3RhY2tpbmdDb250ZXh0U2hvdWxkSXNvbGF0ZUJsZW5kaW5nRGlydHkgPSBmYWxz
ZTsKKyAgICBpZiAoaXNDb21wb3NpdGVkKCkpCiAgICAgICAgIHJldHVybjsKLSAgICB9CiAKLSAg
ICBmb3IgKGF1dG8gYW5jZXN0b3IgPSBwYXJlbnQoKTsgYW5jZXN0b3IgJiYgIWFuY2VzdG9yLT5p
c0NvbXBvc2l0ZWQoKSAmJiAhYW5jZXN0b3ItPmlzUm9vdExheWVyKCk7IGFuY2VzdG9yID0gYW5j
ZXN0b3ItPnBhcmVudCgpKSB7CisgICAgZm9yIChhdXRvIGFuY2VzdG9yID0gcGFyZW50KCk7IGFu
Y2VzdG9yICYmICFhbmNlc3Rvci0+aXNDb21wb3NpdGVkKCkgJiYgIWFuY2VzdG9yLT5yZW5kZXJl
cigpLmlzUm9vdCgpOyBhbmNlc3RvciA9IGFuY2VzdG9yLT5wYXJlbnQoKSkgewogICAgICAgICBp
ZiAoYW5jZXN0b3ItPmlzU3RhY2tpbmdDb250ZXh0KCkpIHsKLSAgICAgICAgICAgIGFuY2VzdG9y
LT5tX2lzb2xhdGVzQmxlbmRpbmcgPSByZW5kZXJlcigpLnN0eWxlKCkuaGFzQmxlbmRNb2RlKCk7
CisgICAgICAgICAgICBhbmNlc3Rvci0+bV9oYXNCbGVuZGVkRWxlbWVudEluQ2hpbGRTdGFja2lu
Z0NvbnRleHQgPSBoYXNCbGVuZGVkQ2hpbGQ7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
fQogICAgIH0KK30KKwordm9pZCBSZW5kZXJMYXllcjo6ZGlydHlBbmNlc3RvclBhcmVudFN0YWNr
aW5nQ29udGV4dEhhc0JsZW5kZWRFbGVtZW50KCkKK3sKKyAgICBmb3IgKGF1dG8gbGF5ZXIgPSB0
aGlzOyBsYXllciAmJiAhbGF5ZXItPmlzQ29tcG9zaXRlZCgpICYmICFsYXllci0+bV9oYXNCbGVu
ZGVkRWxlbWVudEluQ2hpbGRTdGFja2luZ0NvbnRleHRTdGF0dXNEaXJ0eTsgbGF5ZXIgPSBsYXll
ci0+cGFyZW50KCkpIHsKKyAgICAgICAgbGF5ZXItPm1faGFzQmxlbmRlZEVsZW1lbnRJbkNoaWxk
U3RhY2tpbmdDb250ZXh0U3RhdHVzRGlydHkgPSB0cnVlOworCisgICAgICAgIGlmIChsYXllci0+
aXNTdGFja2luZ0NvbnRleHQoKSkKKyAgICAgICAgICAgIGJyZWFrOworICAgIH0KK30KIAotICAg
IG1fdXBkYXRlUGFyZW50U3RhY2tpbmdDb250ZXh0U2hvdWxkSXNvbGF0ZUJsZW5kaW5nRGlydHkg
PSBmYWxzZTsKK2Jvb2wgUmVuZGVyTGF5ZXI6Om5vbkNvbXBvc2l0ZWRQYXJlbnRTdGFja2luZ0Nv
bnRleHRIYXNCbGVuZGVkQ2hpbGQoKSBjb25zdAoreworICAgIGZvciAoYXV0byBhbmNlc3RvciA9
IHBhcmVudCgpOyBhbmNlc3RvciAmJiAhYW5jZXN0b3ItPmlzQ29tcG9zaXRlZCgpICYmICFhbmNl
c3Rvci0+cmVuZGVyZXIoKS5pc1Jvb3QoKTsgYW5jZXN0b3IgPSBhbmNlc3Rvci0+cGFyZW50KCkp
CisgICAgICAgIGlmIChhbmNlc3Rvci0+aXNTdGFja2luZ0NvbnRleHQoKSkKKyAgICAgICAgICAg
IHJldHVybiBhbmNlc3Rvci0+aGFzQmxlbmRlZEVsZW1lbnRJbkNoaWxkU3RhY2tpbmdDb250ZXh0
KCk7CisKKyAgICByZXR1cm4gZmFsc2U7CiB9CiAKICNlbmRpZgpAQCAtMTA4MCwxMCArMTA5NSwx
MSBAQCB2b2lkIFJlbmRlckxheWVyOjpzZXRBbmNlc3RvckNoYWluSGFzVmlzaWJsZURlc2NlbmRh
bnQoKQogCiB2b2lkIFJlbmRlckxheWVyOjp1cGRhdGVEZXNjZW5kYW50RGVwZW5kZW50RmxhZ3Mo
SGFzaFNldDxjb25zdCBSZW5kZXJPYmplY3QqPiogb3V0T2ZGbG93RGVzY2VuZGFudENvbnRhaW5p
bmdCbG9ja3MpCiB7Ci0gICAgaWYgKG1fdmlzaWJsZURlc2NlbmRhbnRTdGF0dXNEaXJ0eSB8fCBt
X2hhc1NlbGZQYWludGluZ0xheWVyRGVzY2VuZGFudERpcnR5IHx8IG1faGFzT3V0T2ZGbG93UG9z
aXRpb25lZERlc2NlbmRhbnREaXJ0eSkgeworICAgIGlmIChtX3Zpc2libGVEZXNjZW5kYW50U3Rh
dHVzRGlydHkgfHwgbV9oYXNTZWxmUGFpbnRpbmdMYXllckRlc2NlbmRhbnREaXJ0eSB8fCBtX2hh
c091dE9mRmxvd1Bvc2l0aW9uZWREZXNjZW5kYW50RGlydHkgfHwgaGFzQmxlbmRlZEVsZW1lbnRJ
bkNoaWxkU3RhY2tpbmdDb250ZXh0U3RhdHVzRGlydHkoKSkgewogICAgICAgICBtX2hhc1Zpc2li
bGVEZXNjZW5kYW50ID0gZmFsc2U7CiAgICAgICAgIG1faGFzU2VsZlBhaW50aW5nTGF5ZXJEZXNj
ZW5kYW50ID0gZmFsc2U7CiAgICAgICAgIG1faGFzT3V0T2ZGbG93UG9zaXRpb25lZERlc2NlbmRh
bnQgPSBmYWxzZTsKKyAgICAgICAgc2V0SGFzQmxlbmRlZEVsZW1lbnRJbkNoaWxkU3RhY2tpbmdD
b250ZXh0KGZhbHNlKTsKIAogICAgICAgICBIYXNoU2V0PGNvbnN0IFJlbmRlck9iamVjdCo+IGNo
aWxkT3V0T2ZGbG93RGVzY2VuZGFudENvbnRhaW5pbmdCbG9ja3M7CiAgICAgICAgIGZvciAoUmVu
ZGVyTGF5ZXIqIGNoaWxkID0gZmlyc3RDaGlsZCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4
dFNpYmxpbmcoKSkgewpAQCAtMTEwMywxMiArMTExOSwxNCBAQCB2b2lkIFJlbmRlckxheWVyOjp1
cGRhdGVEZXNjZW5kYW50RGVwZW5kZW50RmxhZ3MoSGFzaFNldDxjb25zdCBSZW5kZXJPYmplY3Qq
PiogbwogICAgICAgICAgICAgYm9vbCBoYXNWaXNpYmxlRGVzY2VuZGFudCA9IGNoaWxkLT5tX2hh
c1Zpc2libGVDb250ZW50IHx8IGNoaWxkLT5tX2hhc1Zpc2libGVEZXNjZW5kYW50OwogICAgICAg
ICAgICAgYm9vbCBoYXNTZWxmUGFpbnRpbmdMYXllckRlc2NlbmRhbnQgPSBjaGlsZC0+aXNTZWxm
UGFpbnRpbmdMYXllcigpIHx8IGNoaWxkLT5oYXNTZWxmUGFpbnRpbmdMYXllckRlc2NlbmRhbnQo
KTsKICAgICAgICAgICAgIGJvb2wgaGFzT3V0T2ZGbG93UG9zaXRpb25lZERlc2NlbmRhbnQgPSAh
Y2hpbGRPdXRPZkZsb3dEZXNjZW5kYW50Q29udGFpbmluZ0Jsb2Nrcy5pc0VtcHR5KCk7CisgICAg
ICAgICAgICBib29sIGhhc0JsZW5kZWRFbGVtZW50SW5DaGlsZFN0YWNraW5nQ29udGV4dCA9IGNo
aWxkLT5oYXNCbGVuZE1vZGUoKSB8fCBjaGlsZC0+aGFzQmxlbmRlZEVsZW1lbnRJbkNoaWxkU3Rh
Y2tpbmdDb250ZXh0KCk7CiAKICAgICAgICAgICAgIG1faGFzVmlzaWJsZURlc2NlbmRhbnQgfD0g
aGFzVmlzaWJsZURlc2NlbmRhbnQ7CiAgICAgICAgICAgICBtX2hhc1NlbGZQYWludGluZ0xheWVy
RGVzY2VuZGFudCB8PSBoYXNTZWxmUGFpbnRpbmdMYXllckRlc2NlbmRhbnQ7CiAgICAgICAgICAg
ICBtX2hhc091dE9mRmxvd1Bvc2l0aW9uZWREZXNjZW5kYW50IHw9IGhhc091dE9mRmxvd1Bvc2l0
aW9uZWREZXNjZW5kYW50OworICAgICAgICAgICAgc2V0SGFzQmxlbmRlZEVsZW1lbnRJbkNoaWxk
U3RhY2tpbmdDb250ZXh0KHRoaXMtPmhhc0JsZW5kZWRFbGVtZW50SW5DaGlsZFN0YWNraW5nQ29u
dGV4dCgpIHwgaGFzQmxlbmRlZEVsZW1lbnRJbkNoaWxkU3RhY2tpbmdDb250ZXh0KTsKIAotICAg
ICAgICAgICAgaWYgKG1faGFzVmlzaWJsZURlc2NlbmRhbnQgJiYgbV9oYXNTZWxmUGFpbnRpbmdM
YXllckRlc2NlbmRhbnQgJiYgbV9oYXNPdXRPZkZsb3dQb3NpdGlvbmVkRGVzY2VuZGFudCkKKyAg
ICAgICAgICAgIGlmIChtX2hhc1Zpc2libGVEZXNjZW5kYW50ICYmIG1faGFzU2VsZlBhaW50aW5n
TGF5ZXJEZXNjZW5kYW50ICYmIG1faGFzT3V0T2ZGbG93UG9zaXRpb25lZERlc2NlbmRhbnQgJiYg
dGhpcy0+aGFzQmxlbmRlZEVsZW1lbnRJbkNoaWxkU3RhY2tpbmdDb250ZXh0KCkpCiAgICAgICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KIApAQCAtMTEyMiw2ICsxMTQwLDggQEAgdm9pZCBS
ZW5kZXJMYXllcjo6dXBkYXRlRGVzY2VuZGFudERlcGVuZGVudEZsYWdzKEhhc2hTZXQ8Y29uc3Qg
UmVuZGVyT2JqZWN0Kj4qIG8KICAgICAgICAgICAgIHVwZGF0ZU5lZWRzQ29tcG9zaXRlZFNjcm9s
bGluZygpOwogCiAgICAgICAgIG1faGFzT3V0T2ZGbG93UG9zaXRpb25lZERlc2NlbmRhbnREaXJ0
eSA9IGZhbHNlOworCisgICAgICAgIHNldEhhc0JsZW5kZWRFbGVtZW50SW5DaGlsZFN0YWNraW5n
Q29udGV4dFN0YXR1c0RpcnR5KGZhbHNlKTsKICAgICB9CiAKICAgICBpZiAobV92aXNpYmxlQ29u
dGVudFN0YXR1c0RpcnR5KSB7CkBAIC0xNzc3LDYgKzE3OTcsOSBAQCB2b2lkIFJlbmRlckxheWVy
OjphZGRDaGlsZChSZW5kZXJMYXllciogY2hpbGQsIFJlbmRlckxheWVyKiBiZWZvcmVDaGlsZCkK
ICAgICBpZiAoY2hpbGQtPnJlbmRlcmVyKCkuaXNPdXRPZkZsb3dQb3NpdGlvbmVkKCkgfHwgY2hp
bGQtPmhhc091dE9mRmxvd1Bvc2l0aW9uZWREZXNjZW5kYW50KCkpCiAgICAgICAgIHNldEFuY2Vz
dG9yQ2hhaW5IYXNPdXRPZkZsb3dQb3NpdGlvbmVkRGVzY2VuZGFudChjaGlsZC0+cmVuZGVyZXIo
KS5jb250YWluaW5nQmxvY2soKSk7CiAKKyAgICBpZiAoY2hpbGQtPmhhc0JsZW5kTW9kZSgpIHx8
ICghY2hpbGQtPmlzU3RhY2tpbmdDb250ZXh0KCkgJiYgY2hpbGQtPmhhc0JsZW5kZWRFbGVtZW50
SW5DaGlsZFN0YWNraW5nQ29udGV4dCgpKSkKKyAgICAgICAgY2hpbGQtPnVwZGF0ZU5vbkNvbXBv
c2l0ZWRQYXJlbnRTdGFja2luZ0NvbnRleHRIYXNCbGVuZGVkQ2hpbGQodHJ1ZSk7CisKICAgICBj
b21wb3NpdG9yKCkubGF5ZXJXYXNBZGRlZCgqdGhpcywgKmNoaWxkKTsKIH0KIApAQCAtMTgxOSw2
ICsxODQyLDkgQEAgUmVuZGVyTGF5ZXIqIFJlbmRlckxheWVyOjpyZW1vdmVDaGlsZChSZW5kZXJM
YXllciogb2xkQ2hpbGQpCiAgICAgaWYgKG9sZENoaWxkLT5pc1NlbGZQYWludGluZ0xheWVyKCkg
fHwgb2xkQ2hpbGQtPmhhc1NlbGZQYWludGluZ0xheWVyRGVzY2VuZGFudCgpKQogICAgICAgICBk
aXJ0eUFuY2VzdG9yQ2hhaW5IYXNTZWxmUGFpbnRpbmdMYXllckRlc2NlbmRhbnRTdGF0dXMoKTsK
IAorICAgIGlmIChvbGRDaGlsZC0+aGFzQmxlbmRNb2RlKCkgfHwgb2xkQ2hpbGQtPmlzb2xhdGVz
QmxlbmRpbmcoKSkKKyAgICAgICAgZGlydHlBbmNlc3RvclBhcmVudFN0YWNraW5nQ29udGV4dEhh
c0JsZW5kZWRFbGVtZW50KCk7CisKICAgICByZXR1cm4gb2xkQ2hpbGQ7CiB9CiAKQEAgLTY0MDMs
NiArNjQyOSwxMiBAQCB2b2lkIFJlbmRlckxheWVyOjp1cGRhdGVTdGFja2luZ0NvbnRleHRzQWZ0
ZXJTdHlsZUNoYW5nZShjb25zdCBSZW5kZXJTdHlsZSogb2xkUwogICAgICAgICAgICAgZGlydHla
T3JkZXJMaXN0cygpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICBjbGVhclpPcmRlckxpc3Rz
KCk7CisKKyNpZiBFTkFCTEUoQ1NTX0NPTVBPU0lUSU5HKQorICAgICAgICAgICAgbV9oYXNCbGVu
ZGVkRWxlbWVudEluQ2hpbGRTdGFja2luZ0NvbnRleHQgPSBpc1N0YWNraW5nQ29udGV4dCA/IG5v
bkNvbXBvc2l0ZWRQYXJlbnRTdGFja2luZ0NvbnRleHRIYXNCbGVuZGVkQ2hpbGQoKSA6IGZhbHNl
OworICAgICAgICAgICAgZGlydHlBbmNlc3RvclBhcmVudFN0YWNraW5nQ29udGV4dEhhc0JsZW5k
ZWRFbGVtZW50KCk7CisjZW5kaWYKKwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC02NTUz
LDcgKzY1ODUsNyBAQCB2b2lkIFJlbmRlckxheWVyOjpzdHlsZUNoYW5nZWQoU3R5bGVEaWZmZXJl
bmNlIGRpZmYsIGNvbnN0IFJlbmRlclN0eWxlKiBvbGRTdHlsZQogICAgIHVwZGF0ZURlc2NlbmRh
bnREZXBlbmRlbnRGbGFncygpOwogICAgIHVwZGF0ZVRyYW5zZm9ybSgpOwogI2lmIEVOQUJMRShD
U1NfQ09NUE9TSVRJTkcpCi0gICAgdXBkYXRlQmxlbmRNb2RlKG9sZFN0eWxlKTsKKyAgICB1cGRh
dGVCbGVuZE1vZGUoKTsKICNlbmRpZgogI2lmIEVOQUJMRShDU1NfRklMVEVSUykKICAgICB1cGRh
dGVPclJlbW92ZUZpbHRlckNsaWVudHMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyLmgKaW5kZXggZGYwNTVhOWNhNDE2NTJiOGUwNDEyNjRhZWRhYTliYjgzYmViODM4Yi4uYjcw
NzFjMmNiNzAzZGE2ZWVmMjJiN2M1ZDdhYTY5ZDlkMjIwMjI5ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyLmgKQEAgLTUwMyw4ICs1MDMsNyBAQCBwdWJsaWM6CiAgICAgdm9p
ZCB1cGRhdGVUcmFuc2Zvcm0oKTsKICAgICAKICNpZiBFTkFCTEUoQ1NTX0NPTVBPU0lUSU5HKQot
ICAgIHZvaWQgdXBkYXRlQmxlbmRNb2RlKGNvbnN0IFJlbmRlclN0eWxlKik7Ci0gICAgdm9pZCB1
cGRhdGVQYXJlbnRTdGFja2luZ0NvbnRleHRTaG91bGRJc29sYXRlQmxlbmRpbmcoKTsKKyAgICB2
b2lkIHVwZGF0ZUJsZW5kTW9kZSgpOwogI2VuZGlmCiAKICAgICBjb25zdCBMYXlvdXRTaXplJiBv
ZmZzZXRGb3JJbkZsb3dQb3NpdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fb2Zmc2V0Rm9ySW5GbG93
UG9zaXRpb247IH0KQEAgLTc5MCwxMiArNzg5LDQ4IEBAIHB1YmxpYzoKICAgICBib29sIGlzb2xh
dGVzQmxlbmRpbmcoKSBjb25zdAogICAgIHsKICNpZiBFTkFCTEUoQ1NTX0NPTVBPU0lUSU5HKQot
ICAgICAgICByZXR1cm4gbV9pc29sYXRlc0JsZW5kaW5nOworICAgICAgICByZXR1cm4gbV9oYXNC
bGVuZGVkRWxlbWVudEluQ2hpbGRTdGFja2luZ0NvbnRleHQgJiYgaXNTdGFja2luZ0NvbnRleHQo
KTsKICNlbHNlCiAgICAgICAgIHJldHVybiBmYWxzZTsKICNlbmRpZgogICAgIH0KIAorICAgIGJv
b2wgaGFzQmxlbmRlZEVsZW1lbnRJbkNoaWxkU3RhY2tpbmdDb250ZXh0KCkgY29uc3QKKyAgICB7
CisjaWYgRU5BQkxFKENTU19DT01QT1NJVElORykKKyAgICAgICAgcmV0dXJuIG1faGFzQmxlbmRl
ZEVsZW1lbnRJbkNoaWxkU3RhY2tpbmdDb250ZXh0OworI2Vsc2UKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworI2VuZGlmCisgICAgfQorCisgICAgdm9pZCBzZXRIYXNCbGVuZGVkRWxlbWVudEluQ2hp
bGRTdGFja2luZ0NvbnRleHQoYm9vbCBoYXNCbGVuZGVkRWxlbWVudEluQ2hpbGRTdGFja2luZ0Nv
bnRleHQpCisgICAgeworI2lmIEVOQUJMRShDU1NfQ09NUE9TSVRJTkcpCisgICAgICAgIG1faGFz
QmxlbmRlZEVsZW1lbnRJbkNoaWxkU3RhY2tpbmdDb250ZXh0ID0gaGFzQmxlbmRlZEVsZW1lbnRJ
bkNoaWxkU3RhY2tpbmdDb250ZXh0OworI2Vsc2UKKyAgICAgICAgVU5VU0VEX1BBUkFNKGhhc0Js
ZW5kZWRFbGVtZW50SW5DaGlsZFN0YWNraW5nQ29udGV4dCk7CisjZW5kaWYKKyAgICB9CisKKyAg
ICBib29sIGhhc0JsZW5kZWRFbGVtZW50SW5DaGlsZFN0YWNraW5nQ29udGV4dFN0YXR1c0RpcnR5
KCkgY29uc3QKKyAgICB7CisjaWYgRU5BQkxFKENTU19DT01QT1NJVElORykKKyAgICAgICAgcmV0
dXJuIG1faGFzQmxlbmRlZEVsZW1lbnRJbkNoaWxkU3RhY2tpbmdDb250ZXh0U3RhdHVzRGlydHk7
CisjZWxzZQorICAgICAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKKyAgICB9CisKKyAgICB2b2lk
IHNldEhhc0JsZW5kZWRFbGVtZW50SW5DaGlsZFN0YWNraW5nQ29udGV4dFN0YXR1c0RpcnR5KGJv
b2wgaGFzQmxlbmRlZEVsZW1lbnRJbkNoaWxkU3RhY2tpbmdDb250ZXh0U3RhdHVzRGlydHkpCisg
ICAgeworI2lmIEVOQUJMRShDU1NfQ09NUE9TSVRJTkcpCisgICAgICAgIG1faGFzQmxlbmRlZEVs
ZW1lbnRJbkNoaWxkU3RhY2tpbmdDb250ZXh0U3RhdHVzRGlydHkgPSBoYXNCbGVuZGVkRWxlbWVu
dEluQ2hpbGRTdGFja2luZ0NvbnRleHRTdGF0dXNEaXJ0eTsKKyNlbHNlCisgICAgICAgIFVOVVNF
RF9QQVJBTShoYXNCbGVuZGVkRWxlbWVudEluQ2hpbGRTdGFja2luZ0NvbnRleHRTdGF0dXNEaXJ0
eSk7CisjZW5kaWYKKyAgICB9CisKICAgICBib29sIGlzQ29tcG9zaXRlZCgpIGNvbnN0IHsgcmV0
dXJuIG1fYmFja2luZyAhPSAwOyB9CiAgICAgYm9vbCBoYXNDb21wb3NpdGluZ0Rlc2NlbmRhbnQo
KSBjb25zdCB7IHJldHVybiBtX2hhc0NvbXBvc2l0aW5nRGVzY2VuZGFudDsgfQogICAgIGJvb2wg
aGFzQ29tcG9zaXRlZE1hc2soKSBjb25zdDsKQEAgLTExMDksNiArMTE0NCwxMiBAQCBwcml2YXRl
OgogICAgIHZvaWQgdXBkYXRlT3JSZW1vdmVGaWx0ZXJFZmZlY3RSZW5kZXJlcigpOwogI2VuZGlm
CiAKKyNpZiBFTkFCTEUoQ1NTX0NPTVBPU0lUSU5HKQorICAgIHZvaWQgdXBkYXRlTm9uQ29tcG9z
aXRlZFBhcmVudFN0YWNraW5nQ29udGV4dEhhc0JsZW5kZWRDaGlsZChib29sIGhhc0JsZW5kZWRD
aGlsZCk7CisgICAgdm9pZCBkaXJ0eUFuY2VzdG9yUGFyZW50U3RhY2tpbmdDb250ZXh0SGFzQmxl
bmRlZEVsZW1lbnQoKTsKKyAgICBib29sIG5vbkNvbXBvc2l0ZWRQYXJlbnRTdGFja2luZ0NvbnRl
eHRIYXNCbGVuZGVkQ2hpbGQoKSBjb25zdDsKKyNlbmRpZgorCiAgICAgdm9pZCBwYXJlbnRDbGlw
UmVjdHMoY29uc3QgQ2xpcFJlY3RzQ29udGV4dCYsIENsaXBSZWN0cyYpIGNvbnN0OwogICAgIENs
aXBSZWN0IGJhY2tncm91bmRDbGlwUmVjdChjb25zdCBDbGlwUmVjdHNDb250ZXh0JikgY29uc3Q7
CiAKQEAgLTEyNDYsOCArMTI4Nyw4IEBAIHByaXZhdGU6CiAKICNpZiBFTkFCTEUoQ1NTX0NPTVBP
U0lUSU5HKQogICAgIEJsZW5kTW9kZSBtX2JsZW5kTW9kZSA6IDU7Ci0gICAgYm9vbCBtX2lzb2xh
dGVzQmxlbmRpbmcgOiAxOwotICAgIGJvb2wgbV91cGRhdGVQYXJlbnRTdGFja2luZ0NvbnRleHRT
aG91bGRJc29sYXRlQmxlbmRpbmdEaXJ0eSA6IDE7CisgICAgYm9vbCBtX2hhc0JsZW5kZWRFbGVt
ZW50SW5DaGlsZFN0YWNraW5nQ29udGV4dCA6IDE7CisgICAgYm9vbCBtX2hhc0JsZW5kZWRFbGVt
ZW50SW5DaGlsZFN0YWNraW5nQ29udGV4dFN0YXR1c0RpcnR5IDogMTsKICNlbmRpZgogCiAgICAg
UmVuZGVyTGF5ZXJNb2RlbE9iamVjdCYgbV9yZW5kZXJlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKaW5kZXggMjE0OWIwZTM0Yzkz
MDVhNDU5NDU3YTc0NWFkNGQzYmQ3MjAyZjhiYS4uYjQ1MWRiYjk4ODc4ZTg3NjUzZjMxNzAzYWIz
ZWMxNGI3YjEzYThlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyQ29tcG9zaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyQ29tcG9zaXRvci5jcHAKQEAgLTEwNDcsMTAgKzEwNDcsNiBAQCB2b2lkIFJlbmRlckxh
eWVyQ29tcG9zaXRvcjo6Y29tcHV0ZUNvbXBvc2l0aW5nUmVxdWlyZW1lbnRzKFJlbmRlckxheWVy
KiBhbmNlc3RvcgogICAgIGxheWVyLnVwZGF0ZURlc2NlbmRhbnREZXBlbmRlbnRGbGFncygpOwog
ICAgIGxheWVyLnVwZGF0ZUxheWVyTGlzdHNJZk5lZWRlZCgpOwogCi0jaWYgRU5BQkxFKENTU19D
T01QT1NJVElORykKLSAgICBsYXllci51cGRhdGVQYXJlbnRTdGFja2luZ0NvbnRleHRTaG91bGRJ
c29sYXRlQmxlbmRpbmcoKTsKLSNlbmRpZgotCiAgICAgaWYgKGxheWVyLmlzRmxvd1RocmVhZENv
bGxlY3RpbmdHcmFwaGljc0xheWVyc1VuZGVyUmVnaW9ucygpKSB7CiAgICAgICAgIFJlbmRlckZs
b3dUaHJlYWQmIGZsb3dUaHJlYWQgPSB0b1JlbmRlckZsb3dUaHJlYWQobGF5ZXIucmVuZGVyZXIo
KSk7CiAgICAgICAgIGxheWVyLnNldEhhc0NvbXBvc2l0aW5nRGVzY2VuZGFudChmbG93VGhyZWFk
Lmhhc0NvbXBvc2l0aW5nUmVnaW9uRGVzY2VuZGFudCgpKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBjOGJlNDVhMmFjZjBm
YTg5NTU2MzgwZWVlNDFlYjJmMDMzN2I4Nzc1Li5hMmQ3NWY4NjgyOTVjNzU4MjdlNmVkNmEyMGYw
ZGI1NzhiZjExYmY3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTQtMDMtMDYgIE1paGFpIFRp
Y2EgIDxtaXRpY2FAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1MgQmxlbmRpbmddIEJsZW5kaW5n
IG9wZXJhdGlvbiBpcyBub3QgaXNvbGF0ZWQgd2hlbiBzZXR0aW5nIHotaW5kZXggb24gcGFyZW50
IGZyb20gamF2YXNjcmlwdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTI5MzA3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVGVzdCBpZiBzZXR0aW5nIG9yIHVuc2V0dGluZyBzdGFja2luZyBjb250ZXh0IG9y
IGJsZW5kIG1vZGUgZnJvbSBzY3JpcHQgY29ycmVjdGx5IHVwZGF0ZXMgYmxlbmRpbmcKKyAgICAg
ICAgaXNvbGF0aW9uLiBOb3RlIHRoYXQgMiBvdXQgb2YgdGhlIDggdGVzdCBjYXNlcyBhcmUgZmFp
bGluZyBkdWUgdG8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyOTQ4
MC4KKworICAgICAgICAqIGNzczMvY29tcG9zaXRpbmcvYmxlbmQtbW9kZS1iYWNrZ3JvdW5kLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVwYWludC9ibGVuZC1tb2RlLWlzb2xhdGUtc3Rh
Y2tpbmctY29udGV4dC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVwYWlu
dC9ibGVuZC1tb2RlLWlzb2xhdGUtc3RhY2tpbmctY29udGV4dC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMvY3NzMy9jb21wb3NpdGluZy9ibGVuZC1tb2RlLWJhY2tncm91bmQt
ZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvY3NzMy9jb21wb3Np
dGluZy9ibGVuZC1tb2RlLWJhY2tncm91bmQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKwogMjAxNC0w
My0wNSAgSmlud29vIFNvbmcgIDxqaW53b283LnNvbmdAc2Ftc3VuZy5jb20+CiAKICAgICAgICAg
VW5yZXZpZXdlZCBFRkwgZ2FyZGVuaW5nLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9j
b21wb3NpdGluZy9ibGVuZC1tb2RlLWJhY2tncm91bmQuaHRtbCBiL0xheW91dFRlc3RzL2NzczMv
Y29tcG9zaXRpbmcvYmxlbmQtbW9kZS1iYWNrZ3JvdW5kLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzFlYzI2
NjY0YzhmNTllOTcwZDc3MDI4ODg2YTE4Y2UzZjU5Y2M4YgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2NzczMvY29tcG9zaXRpbmcvYmxlbmQtbW9kZS1iYWNrZ3JvdW5kLmh0bWwKQEAg
LTAsMCArMSwxOCBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPHN0eWxlPgor
ICAgIGRpdiB7CisgICAgICAgIG1hcmdpbjogMjBweDsKKyAgICAgICAgd2lkdGg6IDYwcHg7Cisg
ICAgICAgIGhlaWdodDogNjBweDsKKyAgICAgICAgLXdlYmtpdC1taXgtYmxlbmQtbW9kZTogZGlm
ZmVyZW5jZTsKKyAgICAgICAgYmFja2dyb3VuZDogcmVkOworICAgIH0KKyAgICBib2R5IHsKKyAg
ICAgICAgYmFja2dyb3VuZDogYmx1ZTsKKyAgICB9Cis8L3N0eWxlPgorPGJvZHk+CisgICAgPGRp
diBjbGFzcz0icGFyZW50Ij48L2Rpdj4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvcmVwYWludC9ibGVuZC1tb2RlLWlzb2xhdGUtc3RhY2tpbmctY29udGV4dC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvYmxlbmQtbW9kZS1pc29sYXRlLXN0YWNr
aW5nLWNvbnRleHQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ4NzJlYjM1NjBkNGY2YzRhYWFm
ZjE2NGMxZjgzMzQ5OTMxNjA3ZGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L3JlcGFpbnQvYmxlbmQtbW9kZS1pc29sYXRlLXN0YWNraW5nLWNvbnRleHQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNDMgQEAKK1Rlc3QgaWYgc2V0dGluZyBibGVuZCBtb2RlIGNyZWF0ZXMgaXNv
bGF0aW9uLgorCitUZXN0IGlmIHVuc2V0dGluZyBibGVuZCBtb2RlIHJlbW92ZXMgaXNvbGF0aW9u
LgorCitGQUlMOiBUZXN0IGlmIHNldHRpbmcgYSBwYXJlbnQncyBzdGFja2luZyBjb250ZXh0IGNv
cnJlY3RseSBjcmVhdGVzIGlzb2xhdGlvbi4gRml4IHRoaXMgaXNzdWUgZmlyc3QuCisKK1Rlc3Qg
aWYgdW5zZXR0aW5nIGEgcGFyZW50J3Mgc3RhY2tpbmcgY29udGV4dCBjb3JyZWN0bHkgcmVtb3Zl
cyBpc29sYXRpb24uCisKK1Rlc3QgaWYgc3dpdGNoaW5nIGEgYmxlbmQgbW9kZSBwcmVzZXJ2ZXMg
aXNvbGF0aW9uLgorCitUZXN0IGlmIHN3aXRjaGluZyB0aGUgcHJvcGVydHkgdGhhdCBjYXVzZXMg
dGhlIHBhcmVudCB0byBjcmVhdGUgYSBzdGFja2luZyBjb250ZXh0IHByZXNlcnZlcyBpc29sYXRp
b24uCisKK1Rlc3QgaWYgdW5zZXR0aW5nIGEgcGFyZW50J3Mgc3RhY2tpbmcgY29udGV4dCBjb3Jy
ZWN0bHkgdXBkYXRlcyBpdHMgcGFyZW50IGlzb2xhdGlvbi4KKworRkFJTDogVGVzdCBpZiBzZXR0
aW5nIGEgcGFyZW50J3Mgc3RhY2tpbmcgY29udGV4dCBjb3JyZWN0bHkgdXBkYXRlcyBpc29sYXRp
b24uIEZpeCBGaXggdGhpcyBpc3N1ZSBmaXJzdC4KKworIChyZXBhaW50IHJlY3RzCisgIChyZWN0
IDQ4IDU0IDYwIDYwKQorICAocmVjdCA0OCA1NCA2MCA2MCkKKyAgKHJlY3QgNDggNTQgNjAgNjAp
CisgIChyZWN0IDQ4IDU0IDYwIDYwKQorICAocmVjdCA0OCAxNzIgNjAgNjApCisgIChyZWN0IDQ4
IDE3MiA2MCA2MCkKKyAgKHJlY3QgMjggMjkwIDYwIDYwKQorICAocmVjdCAyOCA0MDggNjAgNjAp
CisgIChyZWN0IDQ4IDQwOCA2MCA2MCkKKyAgKHJlY3QgNDggNDA4IDYwIDYwKQorICAocmVjdCA0
OCA1MjYgNjAgNjApCisgIChyZWN0IDQ4IDUyNiA2MCA2MCkKKyAgKHJlY3QgMjggNjQ0IDYwIDYw
KQorICAocmVjdCA0OCA2NDQgNjAgNjApCisgIChyZWN0IDQ4IDc2MiA2MCA2MCkKKyAgKHJlY3Qg
NjggNzYyIDYwIDYwKQorICAocmVjdCA2OCA3NjIgNjAgNjApCisgIChyZWN0IDI4IDg4MCA4MCA2
MCkKKyAgKHJlY3QgMjggNDA4IDYwIDYwKQorICAocmVjdCA0OCA3NjIgNjAgNjApCisgIChyZWN0
IDI4IDI5MCA2MCA2MCkKKyAgKHJlY3QgMjggNjQ0IDYwIDYwKQorICAocmVjdCA4OCA3NjIgMjAg
NjApCisgIChyZWN0IDI4IDg4MCA4MCA2MCkKKykKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9yZXBhaW50L2JsZW5kLW1vZGUtaXNvbGF0ZS1zdGFja2luZy1jb250ZXh0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvYmxlbmQtbW9kZS1pc29sYXRlLXN0YWNraW5nLWNvbnRl
eHQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5hNDY2NjEyYmE0N2NjZTZhMWYxMGNkMWY1OGRkYmJjMmU4ZTkx
ZjlhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2JsZW5kLW1v
ZGUtaXNvbGF0ZS1zdGFja2luZy1jb250ZXh0Lmh0bWwKQEAgLTAsMCArMSwxMDIgQEAKKzwhRE9D
VFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KKyAgICBkaXYgeworICAgICAgICBt
YXJnaW46IDIwcHg7CisgICAgICAgIHdpZHRoOiA2MHB4OworICAgICAgICBoZWlnaHQ6IDYwcHg7
CisgICAgfQorCisgICAgLnBhcmVudCB7CisgICAgICAgIGJhY2tncm91bmQ6ICMwRjA7CisgICAg
fQorCisgICAgLmNoaWxkIHsKKyAgICAgICAgYmFja2dyb3VuZDogIzAwRjsKKyAgICB9CisKKyAg
ICAuc3RhY2tpbmcgeworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgIHotaW5k
ZXg6IDA7CisgICAgfQorCisgICAgLnN0YWNraW5nMiB7CisgICAgICAgIG9wYWNpdHk6IDAuOTk7
CisgICAgfQorCisgICAgLmJsZW5kZXIgeworICAgICAgICAtd2Via2l0LW1peC1ibGVuZC1tb2Rl
OiBkaWZmZXJlbmNlOworICAgIH0KKworICAgIC5ibGVuZGVyMiB7CisgICAgICAgIC13ZWJraXQt
bWl4LWJsZW5kLW1vZGU6IHNjcmVlbjsKKyAgICB9Cis8L3N0eWxlPgorPHNjcmlwdD4KKyAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCh0cnVl
KTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy90ZXh0LWJhc2VkLXJlcGFpbnQu
anMiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+PC9zY3JpcHQ+Cis8IS0tIFJlcGFpbnQgdGVzdCB0
byBlbnN1cmUgdGhhdCBzZXR0aW5nIGEgYmxlbmQgbW9kZSBkeW5hbWljYWxseSB0cmlnZ2VycyB0
aGlzIG9wZXJhdGlvbgorICAgIG9ubHkgd2l0aCB0aGUgY29udGVudHMgb2YgdGhlIG5lYXJlc3Qg
YW5jZXN0b3Igc3RhY2tpbmcgY29udGV4dC4gLS0+Cis8Ym9keSBvbmxvYWQ9InJ1blJlcGFpbnRU
ZXN0KCkiPgorICAgIDxwPlRlc3QgaWYgc2V0dGluZyBibGVuZCBtb2RlIGNyZWF0ZXMgaXNvbGF0
aW9uLjwvcD4KKyAgICA8ZGl2IGNsYXNzPSJwYXJlbnQgc3RhY2tpbmciPgorICAgICAgICA8ZGl2
IGlkPSJmaXJzdCIgY2xhc3M9ImNoaWxkIj48L2Rpdj4KKyAgICA8L2Rpdj4KKworICAgIDxwPlRl
c3QgaWYgdW5zZXR0aW5nIGJsZW5kIG1vZGUgcmVtb3ZlcyBpc29sYXRpb24uPC9wPgorICAgIDxk
aXYgY2xhc3M9InBhcmVudCBzdGFja2luZyI+CisgICAgICAgIDxkaXYgaWQ9InNlY29uZCIgY2xh
c3M9ImNoaWxkIGJsZW5kZXIiPjwvZGl2PgorICAgIDwvZGl2PgorCisgICAgPHA+RkFJTDogVGVz
dCBpZiBzZXR0aW5nIGEgcGFyZW50J3Mgc3RhY2tpbmcgY29udGV4dCBjb3JyZWN0bHkgY3JlYXRl
cyBpc29sYXRpb24uIEZpeCA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTI5NDgwIj50aGlzIGlzc3VlIGZpcnN0LjwvYT48L3A+CisgICAgPGRpdiBpZD0i
dGhpcmQiIGNsYXNzPSJwYXJlbnQiPgorICAgICAgICA8ZGl2IGNsYXNzPSJjaGlsZCBibGVuZGVy
Ij48L2Rpdj4KKyAgICA8L2Rpdj4KKworICAgIDxwPlRlc3QgaWYgdW5zZXR0aW5nIGEgcGFyZW50
J3Mgc3RhY2tpbmcgY29udGV4dCBjb3JyZWN0bHkgcmVtb3ZlcyBpc29sYXRpb24uPC9wPgorICAg
IDxkaXYgaWQ9ImZvdXJ0aCIgY2xhc3M9InBhcmVudCBzdGFja2luZyI+CisgICAgICAgIDxkaXYg
Y2xhc3M9ImNoaWxkIGJsZW5kZXIiPjwvZGl2PgorICAgIDwvZGl2PgorCisgICAgPHA+VGVzdCBp
ZiBzd2l0Y2hpbmcgYSBibGVuZCBtb2RlIHByZXNlcnZlcyBpc29sYXRpb24uPC9wPgorICAgICA8
ZGl2IGNsYXNzPSJwYXJlbnQgc3RhY2tpbmciPgorICAgICAgICAgPGRpdiBpZD0iZmlmdGgiIGNs
YXNzPSJjaGlsZCBibGVuZGVyIj48L2Rpdj4KKyAgICAgPC9kaXY+CisKKyAgICA8cD5UZXN0IGlm
IHN3aXRjaGluZyB0aGUgcHJvcGVydHkgdGhhdCBjYXVzZXMgdGhlIHBhcmVudCB0byBjcmVhdGUg
YSBzdGFja2luZyBjb250ZXh0IHByZXNlcnZlcyBpc29sYXRpb24uPC9wPgorICAgIDxkaXYgaWQ9
InNpeHRoIiBjbGFzcz0icGFyZW50IHN0YWNraW5nIj4KKyAgICAgICAgPGRpdiBjbGFzcz0iY2hp
bGQgYmxlbmRlciI+PC9kaXY+CisgICAgPC9kaXY+CisKKyAgICA8cD5UZXN0IGlmIHVuc2V0dGlu
ZyBhIHBhcmVudCdzIHN0YWNraW5nIGNvbnRleHQgY29ycmVjdGx5IHVwZGF0ZXMgaXRzIHBhcmVu
dCBpc29sYXRpb24uPC9wPgorICAgIDxkaXYgY2xhc3M9InBhcmVudCBzdGFja2luZyI+CisgICAg
ICAgIDxkaXYgaWQ9InNldmVudGgiIGNsYXNzPSJwYXJlbnQgc3RhY2tpbmciPgorICAgICAgICAg
ICAgPGRpdiBjbGFzcz0iY2hpbGQgYmxlbmRlciI+PC9kaXY+CisgICAgICAgIDwvZGl2PgorICAg
IDwvZGl2PgorCisgICAgPHA+RkFJTDogVGVzdCBpZiBzZXR0aW5nIGEgcGFyZW50J3Mgc3RhY2tp
bmcgY29udGV4dCBjb3JyZWN0bHkgdXBkYXRlcyBpc29sYXRpb24uIEZpeCBGaXggPGEgaHJlZj0i
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyOTQ4MCI+dGhpcyBpc3N1
ZSBmaXJzdC48L3A+CisgICAgPGRpdiBjbGFzcz0icGFyZW50IiBpZD0iZWlnaHQiPgorICAgICAg
ICA8ZGl2IGNsYXNzPSJwYXJlbnQiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2hpbGQgYmxl
bmRlciI+PC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgIDwvZGl2PgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGZ1bmN0aW9uIHJlcGFpbnRUZXN0KCkgeworICAgICAgICAgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ2ZpcnN0JykuY2xhc3NOYW1lID0gImNoaWxkIGJsZW5kZXIiOworICAgICAg
ICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NlY29uZCcpLmNsYXNzTmFtZSA9ICJjaGls
ZCI7CisKKyAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0aGlyZCcpLmNsYXNz
TmFtZSA9ICJwYXJlbnQgc3RhY2tpbmciOworICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ2ZvdXJ0aCcpLmNsYXNzTmFtZSA9ICJwYXJlbnQiOworCisgICAgICAgICAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgnZmlmdGgnKS5jbGFzc05hbWUgPSAiY2hpbGQgYmxlbmRlcjIi
OworCisgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2l4dGgnKS5jbGFzc05h
bWUgPSAicGFyZW50IHN0YWNraW5nMiI7CisgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgnc2V2ZW50aCcpLmNsYXNzTmFtZSA9ICJwYXJlbnQiOworICAgICAgICAgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ2VpZ2h0JykuY2xhc3NOYW1lID0gInBhcmVudCBzdGFja2luZyI7
CisgICAgICAgIH0KKyAgICAgPC9zY3JpcHQ+CisgPC9ib2R5PgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jc3MzL2NvbXBv
c2l0aW5nL2JsZW5kLW1vZGUtYmFja2dyb3VuZC1leHBlY3RlZC5wbmcgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvY3NzMy9jb21wb3NpdGluZy9ibGVuZC1tb2RlLWJhY2tncm91bmQtZXhwZWN0
ZWQucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmRhNzQ1NGZmMTU2NTAyYzZmNWFkYjkxZDUyM2JkNjdlMjJjN2Ux
NGIKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDEwNTYyCnpjbWVBU0BOPyhvbEh5YHVWQnEhaWEw
eX55VXsrdllWMmE+aTFCJVFsWWJwUnpua0I5Z0NDTTQ3JD1TdUZ4ZVZyKAp6Iz5WRXgkd3JBck5v
bVFjJHApc0Q9NE5KeiN6d3xUWDY3Y3dyWTFGK0A5IzEmWGs3N2hhU1crb2UwJWQ/Wi19RlMKemk9
KUdDXkYwVWEqTUI/NHNNMz0kUGIqcEcjaE1mS29AYy1KJEpoVT5gSzt7RnpgKTRGIVhjcEcmflNq
Y1FKKCthCnoyTm9DfkI9TF9eTGN4diZzc0pQfjQ9OFljZ3s9IWhUTGFAR1hgcFZIRiVNPW9GbjtR
fTxxUjxzRUduVX01ODJGTgp6WXtZQCUqLWlLRD4tWDF2K1EwQW4mI3luQD98LSp8ZCViWnxMJW9B
bj9nPU1FU25YKEZFWlVSc1RvNHw5OG89T1AKellMPW8xNTZeO18wfVBnTjgkTj8kMnBwUElTYT5E
YE5wQXdoNyRuUnNeYiM2bV5sd3htTGZuZ3EmMHs1UkJ0bm1qCnp4UGUyVF8hfUVVTTU7MH1GUypq
RGdWNTgqRXVuQ255RyN6KnhyeytzJlNENVgkNjB3TUpaODEtaGVkVVJnWGFNVAp6Jjg+PnUydEFM
UCppTCtHbihHZXQ7c1RYfmhBRm91dzhIZnFDfWQ9UVFnUUdjQklOfUw4SEAoWVh0MDElPnhmNyMK
emM1KE1YV3kzR2VfbFNKMkFSemRHLSh2fWZBdEtNfWE3Wlh7PitZVGkmcDhlKjJOKmc8NnhrNURq
Z15yKFducnFoCno1V0ZicDBQMn5qYk9nPjwqcjFUbXB0SSRUOHpLYDZHQlQ/S3dNWlpgejhKN1BY
YE9jMDFEPDZTbG9BP1R4JilmeAp6NzlWSjhWQkI8SmxRYnYxJXk5d2dAZW9YY145M1JWMz4/SXcl
OUlncT51NnZVKHNiZk1Tai1KOThrfG4mc2xiWFkKenBxQzlDbHczTzs7VDkpMjkkPCpmeFk+KHZu
LVVZLVhyUFArJTRrWXFXRSN5cjQyYDJAJTRrNmd0V1pYNHBONyNZCnpTOzFrbm94O1IyK0lWQVI4
ZzA+ekh1SGc5aFM5emNMKnI8TnV3a145JSkmN2BiaWwraUkmfFBMSS1WamhJPi1iWgp6I1R5K3U3
IyV0UUhqcVpnWGgoKypmSE1RNUxrRlduMmNXNSkoVj5JVXAjJEotPExDX0c9K0ZVaE5fS1NVeity
VWcKcjA2NGNZSSY/NVBiTzJufEZ7cCtQe3hMbVQhUyNIPlF4X2ZKcURUZiRTM2ozXlA2PHJfKiZS
PlEKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9jc3MzL2NvbXBvc2l0aW5nL2JsZW5kLW1vZGUtYmFja2dyb3VuZC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY3NzMy9jb21wb3NpdGluZy9ibGVuZC1tb2Rl
LWJhY2tncm91bmQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2NWMxYzFjODMxZDc1M2VjMTU5
MDRjYWViN2UwMzAyMDkxYjhmYTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvY3NzMy9jb21wb3NpdGluZy9ibGVuZC1tb2RlLWJhY2tncm91bmQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsNyBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRl
clZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHgxMDAK
KyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDEwMAorICAgIFJlbmRlckJv
ZHkge0JPRFl9IGF0ICg4LDIwKSBzaXplIDc4NHg2MCBbYmdjb2xvcj0jMDAwMEZGXQorbGF5ZXIg
YXQgKDI4LDIwKSBzaXplIDYweDYwCisgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyMCwwKSBzaXpl
IDYweDYwIFtiZ2NvbG9yPSNGRjAwMDBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>226124</attachid>
            <date>2014-03-07 07:06:15 -0800</date>
            <delta_ts>2014-03-18 10:31:09 -0700</delta_ts>
            <desc>Add guards in RenderLayer.cpp</desc>
            <filename>bug-129307-20140307170615.patch</filename>
            <type>text/plain</type>
            <size>24155</size>
            <attacher name="Mihai Tica">mitica</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY1MTgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTI2ZDFmMWM5YTZlNjVh
ZWU1NWE4ZDhiYTFmMjViYjZmNGVlNzA1Yi4uYzk4YTk1OTg2NzZmMzk4ZDVhNmU1NTg2OTM5ODk1
MjJkZWZmNGQ3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDE0LTAzLTA2ICBNaWhh
aSBUaWNhICA8bWl0aWNhQGFkb2JlLmNvbT4KKworICAgICAgICBbQ1NTIEJsZW5kaW5nXSBCbGVu
ZGluZyBvcGVyYXRpb24gaXMgbm90IGlzb2xhdGVkIHdoZW4gc2V0dGluZyB6LWluZGV4IG9uIHBh
cmVudCBmcm9tIGphdmFzY3JpcHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEyOTMwNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFJlaW1wbGVtZW50IHRoZSBsb2dpYyBiZWhpbmQgaXNvbGF0aW5nIGJsZW5k
IG1vZGVzLiBUaGUgYmxlbmRpbmcgb3BlcmF0aW9uIHNob3VsZCBiZSBsaW1pdGVkIHRvIHRoZQor
ICAgICAgICBjb250ZW50cyBvZiB0aGUgcGFyZW50IHN0YWNraW5nIGNvbnRleHQuIFRoZSBwcm9w
b3NlZCBzb2x1dGlvbiBpbXBsaWVzIGFkZGluZyBsb2dpYyBpbiB1cGRhdGVEZXNjZW5kYW50RGVw
ZW5kZW50RmxhZ3MsCisgICAgICAgIHRvIHRyYWNrIGNoaWxkIGVsZW1lbnRzIHRoYXQgaGF2ZSBi
bGVuZGluZyBhbmQgY3JlYXRlIGEgdHJhbnNwYXJlbmN5IGxheWVyIHRoYXQgdHJpZ2dlcnMgaXNv
bGF0aW9uLgorCisgICAgICAgIFRlc3RzOiBjc3MzL2NvbXBvc2l0aW5nL2JsZW5kLW1vZGUtYmFj
a2dyb3VuZC5odG1sCisgICAgICAgICAgICAgICBmYXN0L3JlcGFpbnQvYmxlbmQtbW9kZS1pc29s
YXRlLXN0YWNraW5nLWNvbnRleHQuaHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxh
eWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpSZW5kZXJMYXllcik6IFJl
bW92ZSBvbGQgbWVtYmVycywgYWRkIG5ldyBtZW1iZXJzIHRvIGNvbnN0cnVjdG9yLgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnVwZGF0ZUJsZW5kTW9kZSk6IFVwZGF0ZSBwYXJlbnQg
c3RhY2tpbmcgY29udGV4dCBpc29sYXRpb24gb24gYmxlbmQgbW9kZSBjaGFuZ2UuCisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJMYXllcjo6dXBkYXRlTm9uQ29tcG9zaXRlZFBhcmVudFN0YWNraW5n
Q29udGV4dEhhc0JsZW5kZWRDaGlsZCk6CisgICAgICAgIC0gU2V0IG1faGFzQmxlbmRlZEVsZW1l
bnRJbkNoaWxkU3RhY2tpbmdDb250ZXh0IGZvciB0aGUgbm9uIGNvbXBvc2l0ZWQgcGFyZW50IHN0
YWNraW5nIGNvbnRleHQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6ZGlydHlBbmNl
c3RvclBhcmVudFN0YWNraW5nQ29udGV4dEhhc0JsZW5kZWRFbGVtZW50KToKKyAgICAgICAgLSBT
ZXQgZmxhZyBzbyBpc29sYXRpb24gc2hvdWxkIGJlIGNvbnNpZGVyZWQgaW4gdXBkYXRlRGVzY2Vu
ZGFudERlcGVuZGVudEZsYWdzLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6Om5vbkNv
bXBvc2l0ZWRQYXJlbnRTdGFja2luZ0NvbnRleHRIYXNCbGVuZGVkQ2hpbGQpOgorICAgICAgICAt
IFJldHVybiB3aGV0aGVyIHRoZSBub24gY29tcG9zaXRlZCBwYXJlbnQgc3RhY2tpbmcgY29udGV4
dCBpc29sYXRlcyBibGVuZGluZy4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjp1cGRh
dGVEZXNjZW5kYW50RGVwZW5kZW50RmxhZ3MpOiBBZGQgbG9naWMgZm9yIGlzb2xhdGluZyBibGVu
ZGluZy4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjphZGRDaGlsZCk6IENhbGwgdG8g
dXBkYXRlTm9uQ29tcG9zaXRlZFBhcmVudFN0YWNraW5nQ29udGV4dEhhc0JsZW5kZWRDaGlsZCBp
ZiBuZWVkZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6cmVtb3ZlQ2hpbGQpOiBD
YWxsIHRvIGRpcnR5QW5jZXN0b3JQYXJlbnRTdGFja2luZ0NvbnRleHRIYXNCbGVuZGVkRWxlbWVu
dCBpZiBuZWVkZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6dXBkYXRlU3RhY2tp
bmdDb250ZXh0c0FmdGVyU3R5bGVDaGFuZ2UpOiBVcGRhdGUgaXNvbGF0aW9uIHdoZW4gYSBzdGFj
a2luZyBjb250ZXh0IHdhcyBzZXQgb3IgdW5zZXQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJM
YXllcjo6c3R5bGVDaGFuZ2VkKTogUmVtb3ZlZCBvbGRTdHlsZSBwYXJhbWV0ZXIgZnJvbSB1cGRh
dGVCbGVuZE1vZGUgY2FsbC4KKworICAgICAgICAgVXBkYXRlIHBhcmVudCBzdGFja2luZyBjb250
ZXh0IGlzb2xhdGlvbiBvbiBibGVuZCBtb2RlIGNoYW5nZS4KKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyTGF5ZXIuaDoKKyAgICAgICAgLSBBZGQgbWVtYmVycywgZ2V0dGVycyBhbmQgc2V0dGVy
cyBmb3IgdHJhY2tpbmcgd2hldGhlciB0aGUgZWxlbWVudCBoYXMgYSBibGVuZGVkIGNoaWxkOgor
ICAgICAgICAgICAgLSBtX2hhc0JsZW5kZWRFbGVtZW50SW5DaGlsZFN0YWNraW5nQ29udGV4dAor
ICAgICAgICAgICAgLSBtX2hhc0JsZW5kZWRFbGVtZW50SW5DaGlsZFN0YWNraW5nQ29udGV4dFN0
YXR1c0RpcnR5CisgICAgICAgIC0gUmVtb3ZlZCBtX3VwZGF0ZVBhcmVudFN0YWNraW5nQ29udGV4
dFNob3VsZElzb2xhdGVCbGVuZGluZ0RpcnR5IChyZXBsYWNlZCB3aXRoIG1faGFzQmxlbmRlZEVs
ZW1lbnRJbkNoaWxkU3RhY2tpbmdDb250ZXh0U3RhdHVzRGlydHkpCisgICAgICAgIC0gUmVtb3Zl
ZCBtX2lzb2xhdGVzQmxlbmRpbmcgKHJlcGxhY2VkIHdpdGggbV9oYXNCbGVuZGVkRWxlbWVudElu
Q2hpbGRTdGFja2luZ0NvbnRleHQpCisgICAgICAgIC0gVXBkYXRlZCB0aGUgaXNvbGF0ZXNCbGVu
ZGluZyBtZXRob2QgdG8gcmV0dXJuIHRydWUgb25seSB3aGVuIHRoZSBlbGVtZW50IGlzIGEgc3Rh
Y2tpbmcgY29udGV4dCBhbmQgaGFzIGEgYmxlbmRlZCBjaGlsZC4KKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxh
eWVyQ29tcG9zaXRvcjo6Y29tcHV0ZUNvbXBvc2l0aW5nUmVxdWlyZW1lbnRzKTogUmVtb3ZlZCBs
YXllci51cGRhdGVQYXJlbnRTdGFja2luZ0NvbnRleHRTaG91bGRJc29sYXRlQmxlbmRpbmcgY2Fs
bC4KKwogMjAxNC0wMy0wNiAgWmFuIERvYmVyc2VrICA8emRvYmVyc2VrQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgTW92ZSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy8gY29kZSB0byBzdGQ6OnVu
aXF1ZV9wdHIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IDMx
MDJhYzAxMGZlYzJmYzUxZjhkODc5MmU4OTBhMGU4M2IyMGRiM2QuLjdhNjZkNWI2MDRlMWFiYzNj
NDIxZjk1NjA2NWI1NGJlZmU0YTNhYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyLmNwcApAQCAtMTg1LDggKzE4NSw4IEBAIFJlbmRlckxheWVyOjpSZW5kZXJMYXllcihS
ZW5kZXJMYXllck1vZGVsT2JqZWN0JiByZW5kZXJlckxheWVyTW9kZWxPYmplY3QpCiAjZW5kaWYK
ICNpZiBFTkFCTEUoQ1NTX0NPTVBPU0lUSU5HKQogICAgICwgbV9ibGVuZE1vZGUoQmxlbmRNb2Rl
Tm9ybWFsKQotICAgICwgbV9pc29sYXRlc0JsZW5kaW5nKGZhbHNlKQotICAgICwgbV91cGRhdGVQ
YXJlbnRTdGFja2luZ0NvbnRleHRTaG91bGRJc29sYXRlQmxlbmRpbmdEaXJ0eShmYWxzZSkKKyAg
ICAsIG1faGFzQmxlbmRlZEVsZW1lbnRJbkNoaWxkU3RhY2tpbmdDb250ZXh0KGZhbHNlKQorICAg
ICwgbV9oYXNCbGVuZGVkRWxlbWVudEluQ2hpbGRTdGFja2luZ0NvbnRleHRTdGF0dXNEaXJ0eShm
YWxzZSkKICNlbmRpZgogICAgICwgbV9yZW5kZXJlcihyZW5kZXJlckxheWVyTW9kZWxPYmplY3Qp
CiAgICAgLCBtX3BhcmVudCgwKQpAQCAtODAzLDEyICs4MDMsMTUgQEAgdm9pZCBSZW5kZXJMYXll
cjo6cG9zaXRpb25OZXdseUNyZWF0ZWRPdmVyZmxvd0NvbnRyb2xzKCkKIAogI2lmIEVOQUJMRShD
U1NfQ09NUE9TSVRJTkcpCiAKLXZvaWQgUmVuZGVyTGF5ZXI6OnVwZGF0ZUJsZW5kTW9kZShjb25z
dCBSZW5kZXJTdHlsZSogb2xkU3R5bGUpCit2b2lkIFJlbmRlckxheWVyOjp1cGRhdGVCbGVuZE1v
ZGUoKQogewotICAgIG1fdXBkYXRlUGFyZW50U3RhY2tpbmdDb250ZXh0U2hvdWxkSXNvbGF0ZUJs
ZW5kaW5nRGlydHkgPSBmYWxzZTsKLQotICAgIGlmICgoIW9sZFN0eWxlICYmIHJlbmRlcmVyKCku
c3R5bGUoKS5oYXNCbGVuZE1vZGUoKSkgfHwgKG9sZFN0eWxlICYmIG9sZFN0eWxlLT5oYXNCbGVu
ZE1vZGUoKSAhPSByZW5kZXJlcigpLnN0eWxlKCkuaGFzQmxlbmRNb2RlKCkpKQotICAgICAgICBt
X3VwZGF0ZVBhcmVudFN0YWNraW5nQ29udGV4dFNob3VsZElzb2xhdGVCbGVuZGluZ0RpcnR5ID0g
dHJ1ZTsKKyAgICBib29sIGhhZEJsZW5kTW9kZSA9IG1fYmxlbmRNb2RlICE9IEJsZW5kTW9kZU5v
cm1hbDsKKyAgICBpZiAoaGFkQmxlbmRNb2RlICE9IGhhc0JsZW5kTW9kZSgpKSB7CisgICAgICAg
IGlmIChoYXNCbGVuZE1vZGUoKSkKKyAgICAgICAgICAgIHVwZGF0ZU5vbkNvbXBvc2l0ZWRQYXJl
bnRTdGFja2luZ0NvbnRleHRIYXNCbGVuZGVkQ2hpbGQodHJ1ZSk7CisgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgIGRpcnR5QW5jZXN0b3JQYXJlbnRTdGFja2luZ0NvbnRleHRIYXNCbGVuZGVkRWxl
bWVudCgpOworICAgIH0KIAogICAgIEJsZW5kTW9kZSBuZXdCbGVuZE1vZGUgPSByZW5kZXJlcigp
LnN0eWxlKCkuYmxlbmRNb2RlKCk7CiAgICAgaWYgKG5ld0JsZW5kTW9kZSAhPSBtX2JsZW5kTW9k
ZSkgewpAQCAtODE4LDI0ICs4MjEsMzYgQEAgdm9pZCBSZW5kZXJMYXllcjo6dXBkYXRlQmxlbmRN
b2RlKGNvbnN0IFJlbmRlclN0eWxlKiBvbGRTdHlsZSkKICAgICB9CiB9CiAKLXZvaWQgUmVuZGVy
TGF5ZXI6OnVwZGF0ZVBhcmVudFN0YWNraW5nQ29udGV4dFNob3VsZElzb2xhdGVCbGVuZGluZygp
Cit2b2lkIFJlbmRlckxheWVyOjp1cGRhdGVOb25Db21wb3NpdGVkUGFyZW50U3RhY2tpbmdDb250
ZXh0SGFzQmxlbmRlZENoaWxkKGJvb2wgaGFzQmxlbmRlZENoaWxkKQogewotICAgIGlmICghbV91
cGRhdGVQYXJlbnRTdGFja2luZ0NvbnRleHRTaG91bGRJc29sYXRlQmxlbmRpbmdEaXJ0eSkKKyAg
ICBpZiAoaXNDb21wb3NpdGVkKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmIChpc0NvbXBv
c2l0ZWQoKSkgewotICAgICAgICBtX3VwZGF0ZVBhcmVudFN0YWNraW5nQ29udGV4dFNob3VsZElz
b2xhdGVCbGVuZGluZ0RpcnR5ID0gZmFsc2U7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAg
ICBmb3IgKGF1dG8gYW5jZXN0b3IgPSBwYXJlbnQoKTsgYW5jZXN0b3IgJiYgIWFuY2VzdG9yLT5p
c0NvbXBvc2l0ZWQoKSAmJiAhYW5jZXN0b3ItPmlzUm9vdExheWVyKCk7IGFuY2VzdG9yID0gYW5j
ZXN0b3ItPnBhcmVudCgpKSB7CisgICAgZm9yIChhdXRvIGFuY2VzdG9yID0gcGFyZW50KCk7IGFu
Y2VzdG9yICYmICFhbmNlc3Rvci0+aXNDb21wb3NpdGVkKCkgJiYgIWFuY2VzdG9yLT5yZW5kZXJl
cigpLmlzUm9vdCgpOyBhbmNlc3RvciA9IGFuY2VzdG9yLT5wYXJlbnQoKSkgewogICAgICAgICBp
ZiAoYW5jZXN0b3ItPmlzU3RhY2tpbmdDb250ZXh0KCkpIHsKLSAgICAgICAgICAgIGFuY2VzdG9y
LT5tX2lzb2xhdGVzQmxlbmRpbmcgPSByZW5kZXJlcigpLnN0eWxlKCkuaGFzQmxlbmRNb2RlKCk7
CisgICAgICAgICAgICBhbmNlc3Rvci0+bV9oYXNCbGVuZGVkRWxlbWVudEluQ2hpbGRTdGFja2lu
Z0NvbnRleHQgPSBoYXNCbGVuZGVkQ2hpbGQ7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
fQogICAgIH0KK30KKwordm9pZCBSZW5kZXJMYXllcjo6ZGlydHlBbmNlc3RvclBhcmVudFN0YWNr
aW5nQ29udGV4dEhhc0JsZW5kZWRFbGVtZW50KCkKK3sKKyAgICBmb3IgKGF1dG8gbGF5ZXIgPSB0
aGlzOyBsYXllciAmJiAhbGF5ZXItPmlzQ29tcG9zaXRlZCgpICYmICFsYXllci0+bV9oYXNCbGVu
ZGVkRWxlbWVudEluQ2hpbGRTdGFja2luZ0NvbnRleHRTdGF0dXNEaXJ0eTsgbGF5ZXIgPSBsYXll
ci0+cGFyZW50KCkpIHsKKyAgICAgICAgbGF5ZXItPm1faGFzQmxlbmRlZEVsZW1lbnRJbkNoaWxk
U3RhY2tpbmdDb250ZXh0U3RhdHVzRGlydHkgPSB0cnVlOworCisgICAgICAgIGlmIChsYXllci0+
aXNTdGFja2luZ0NvbnRleHQoKSkKKyAgICAgICAgICAgIGJyZWFrOworICAgIH0KK30KKworYm9v
bCBSZW5kZXJMYXllcjo6bm9uQ29tcG9zaXRlZFBhcmVudFN0YWNraW5nQ29udGV4dEhhc0JsZW5k
ZWRDaGlsZCgpIGNvbnN0Cit7CisgICAgZm9yIChhdXRvIGFuY2VzdG9yID0gcGFyZW50KCk7IGFu
Y2VzdG9yICYmICFhbmNlc3Rvci0+aXNDb21wb3NpdGVkKCkgJiYgIWFuY2VzdG9yLT5yZW5kZXJl
cigpLmlzUm9vdCgpOyBhbmNlc3RvciA9IGFuY2VzdG9yLT5wYXJlbnQoKSkKKyAgICAgICAgaWYg
KGFuY2VzdG9yLT5pc1N0YWNraW5nQ29udGV4dCgpKQorICAgICAgICAgICAgcmV0dXJuIGFuY2Vz
dG9yLT5oYXNCbGVuZGVkRWxlbWVudEluQ2hpbGRTdGFja2luZ0NvbnRleHQoKTsKIAotICAgIG1f
dXBkYXRlUGFyZW50U3RhY2tpbmdDb250ZXh0U2hvdWxkSXNvbGF0ZUJsZW5kaW5nRGlydHkgPSBm
YWxzZTsKKyAgICByZXR1cm4gZmFsc2U7CiB9CiAKICNlbmRpZgpAQCAtMTA4MCwxMCArMTA5NSwx
MSBAQCB2b2lkIFJlbmRlckxheWVyOjpzZXRBbmNlc3RvckNoYWluSGFzVmlzaWJsZURlc2NlbmRh
bnQoKQogCiB2b2lkIFJlbmRlckxheWVyOjp1cGRhdGVEZXNjZW5kYW50RGVwZW5kZW50RmxhZ3Mo
SGFzaFNldDxjb25zdCBSZW5kZXJPYmplY3QqPiogb3V0T2ZGbG93RGVzY2VuZGFudENvbnRhaW5p
bmdCbG9ja3MpCiB7Ci0gICAgaWYgKG1fdmlzaWJsZURlc2NlbmRhbnRTdGF0dXNEaXJ0eSB8fCBt
X2hhc1NlbGZQYWludGluZ0xheWVyRGVzY2VuZGFudERpcnR5IHx8IG1faGFzT3V0T2ZGbG93UG9z
aXRpb25lZERlc2NlbmRhbnREaXJ0eSkgeworICAgIGlmIChtX3Zpc2libGVEZXNjZW5kYW50U3Rh
dHVzRGlydHkgfHwgbV9oYXNTZWxmUGFpbnRpbmdMYXllckRlc2NlbmRhbnREaXJ0eSB8fCBtX2hh
c091dE9mRmxvd1Bvc2l0aW9uZWREZXNjZW5kYW50RGlydHkgfHwgaGFzQmxlbmRlZEVsZW1lbnRJ
bkNoaWxkU3RhY2tpbmdDb250ZXh0U3RhdHVzRGlydHkoKSkgewogICAgICAgICBtX2hhc1Zpc2li
bGVEZXNjZW5kYW50ID0gZmFsc2U7CiAgICAgICAgIG1faGFzU2VsZlBhaW50aW5nTGF5ZXJEZXNj
ZW5kYW50ID0gZmFsc2U7CiAgICAgICAgIG1faGFzT3V0T2ZGbG93UG9zaXRpb25lZERlc2NlbmRh
bnQgPSBmYWxzZTsKKyAgICAgICAgc2V0SGFzQmxlbmRlZEVsZW1lbnRJbkNoaWxkU3RhY2tpbmdD
b250ZXh0KGZhbHNlKTsKIAogICAgICAgICBIYXNoU2V0PGNvbnN0IFJlbmRlck9iamVjdCo+IGNo
aWxkT3V0T2ZGbG93RGVzY2VuZGFudENvbnRhaW5pbmdCbG9ja3M7CiAgICAgICAgIGZvciAoUmVu
ZGVyTGF5ZXIqIGNoaWxkID0gZmlyc3RDaGlsZCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4
dFNpYmxpbmcoKSkgewpAQCAtMTEwMywxMiArMTExOSwxNCBAQCB2b2lkIFJlbmRlckxheWVyOjp1
cGRhdGVEZXNjZW5kYW50RGVwZW5kZW50RmxhZ3MoSGFzaFNldDxjb25zdCBSZW5kZXJPYmplY3Qq
PiogbwogICAgICAgICAgICAgYm9vbCBoYXNWaXNpYmxlRGVzY2VuZGFudCA9IGNoaWxkLT5tX2hh
c1Zpc2libGVDb250ZW50IHx8IGNoaWxkLT5tX2hhc1Zpc2libGVEZXNjZW5kYW50OwogICAgICAg
ICAgICAgYm9vbCBoYXNTZWxmUGFpbnRpbmdMYXllckRlc2NlbmRhbnQgPSBjaGlsZC0+aXNTZWxm
UGFpbnRpbmdMYXllcigpIHx8IGNoaWxkLT5oYXNTZWxmUGFpbnRpbmdMYXllckRlc2NlbmRhbnQo
KTsKICAgICAgICAgICAgIGJvb2wgaGFzT3V0T2ZGbG93UG9zaXRpb25lZERlc2NlbmRhbnQgPSAh
Y2hpbGRPdXRPZkZsb3dEZXNjZW5kYW50Q29udGFpbmluZ0Jsb2Nrcy5pc0VtcHR5KCk7CisgICAg
ICAgICAgICBib29sIGhhc0JsZW5kZWRFbGVtZW50SW5DaGlsZFN0YWNraW5nQ29udGV4dCA9IGNo
aWxkLT5oYXNCbGVuZE1vZGUoKSB8fCBjaGlsZC0+aGFzQmxlbmRlZEVsZW1lbnRJbkNoaWxkU3Rh
Y2tpbmdDb250ZXh0KCk7CiAKICAgICAgICAgICAgIG1faGFzVmlzaWJsZURlc2NlbmRhbnQgfD0g
aGFzVmlzaWJsZURlc2NlbmRhbnQ7CiAgICAgICAgICAgICBtX2hhc1NlbGZQYWludGluZ0xheWVy
RGVzY2VuZGFudCB8PSBoYXNTZWxmUGFpbnRpbmdMYXllckRlc2NlbmRhbnQ7CiAgICAgICAgICAg
ICBtX2hhc091dE9mRmxvd1Bvc2l0aW9uZWREZXNjZW5kYW50IHw9IGhhc091dE9mRmxvd1Bvc2l0
aW9uZWREZXNjZW5kYW50OworICAgICAgICAgICAgc2V0SGFzQmxlbmRlZEVsZW1lbnRJbkNoaWxk
U3RhY2tpbmdDb250ZXh0KHRoaXMtPmhhc0JsZW5kZWRFbGVtZW50SW5DaGlsZFN0YWNraW5nQ29u
dGV4dCgpIHwgaGFzQmxlbmRlZEVsZW1lbnRJbkNoaWxkU3RhY2tpbmdDb250ZXh0KTsKIAotICAg
ICAgICAgICAgaWYgKG1faGFzVmlzaWJsZURlc2NlbmRhbnQgJiYgbV9oYXNTZWxmUGFpbnRpbmdM
YXllckRlc2NlbmRhbnQgJiYgbV9oYXNPdXRPZkZsb3dQb3NpdGlvbmVkRGVzY2VuZGFudCkKKyAg
ICAgICAgICAgIGlmIChtX2hhc1Zpc2libGVEZXNjZW5kYW50ICYmIG1faGFzU2VsZlBhaW50aW5n
TGF5ZXJEZXNjZW5kYW50ICYmIG1faGFzT3V0T2ZGbG93UG9zaXRpb25lZERlc2NlbmRhbnQgJiYg
dGhpcy0+aGFzQmxlbmRlZEVsZW1lbnRJbkNoaWxkU3RhY2tpbmdDb250ZXh0KCkpCiAgICAgICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KIApAQCAtMTEyMiw2ICsxMTQwLDggQEAgdm9pZCBS
ZW5kZXJMYXllcjo6dXBkYXRlRGVzY2VuZGFudERlcGVuZGVudEZsYWdzKEhhc2hTZXQ8Y29uc3Qg
UmVuZGVyT2JqZWN0Kj4qIG8KICAgICAgICAgICAgIHVwZGF0ZU5lZWRzQ29tcG9zaXRlZFNjcm9s
bGluZygpOwogCiAgICAgICAgIG1faGFzT3V0T2ZGbG93UG9zaXRpb25lZERlc2NlbmRhbnREaXJ0
eSA9IGZhbHNlOworCisgICAgICAgIHNldEhhc0JsZW5kZWRFbGVtZW50SW5DaGlsZFN0YWNraW5n
Q29udGV4dFN0YXR1c0RpcnR5KGZhbHNlKTsKICAgICB9CiAKICAgICBpZiAobV92aXNpYmxlQ29u
dGVudFN0YXR1c0RpcnR5KSB7CkBAIC0xNzc3LDYgKzE3OTcsMTEgQEAgdm9pZCBSZW5kZXJMYXll
cjo6YWRkQ2hpbGQoUmVuZGVyTGF5ZXIqIGNoaWxkLCBSZW5kZXJMYXllciogYmVmb3JlQ2hpbGQp
CiAgICAgaWYgKGNoaWxkLT5yZW5kZXJlcigpLmlzT3V0T2ZGbG93UG9zaXRpb25lZCgpIHx8IGNo
aWxkLT5oYXNPdXRPZkZsb3dQb3NpdGlvbmVkRGVzY2VuZGFudCgpKQogICAgICAgICBzZXRBbmNl
c3RvckNoYWluSGFzT3V0T2ZGbG93UG9zaXRpb25lZERlc2NlbmRhbnQoY2hpbGQtPnJlbmRlcmVy
KCkuY29udGFpbmluZ0Jsb2NrKCkpOwogCisjaWYgRU5BQkxFKENTU19DT01QT1NJVElORykKKyAg
ICBpZiAoY2hpbGQtPmhhc0JsZW5kTW9kZSgpIHx8ICghY2hpbGQtPmlzU3RhY2tpbmdDb250ZXh0
KCkgJiYgY2hpbGQtPmhhc0JsZW5kZWRFbGVtZW50SW5DaGlsZFN0YWNraW5nQ29udGV4dCgpKSkK
KyAgICAgICAgY2hpbGQtPnVwZGF0ZU5vbkNvbXBvc2l0ZWRQYXJlbnRTdGFja2luZ0NvbnRleHRI
YXNCbGVuZGVkQ2hpbGQodHJ1ZSk7CisjZW5kaWYKKwogICAgIGNvbXBvc2l0b3IoKS5sYXllcldh
c0FkZGVkKCp0aGlzLCAqY2hpbGQpOwogfQogCkBAIC0xODE5LDYgKzE4NDQsMTEgQEAgUmVuZGVy
TGF5ZXIqIFJlbmRlckxheWVyOjpyZW1vdmVDaGlsZChSZW5kZXJMYXllciogb2xkQ2hpbGQpCiAg
ICAgaWYgKG9sZENoaWxkLT5pc1NlbGZQYWludGluZ0xheWVyKCkgfHwgb2xkQ2hpbGQtPmhhc1Nl
bGZQYWludGluZ0xheWVyRGVzY2VuZGFudCgpKQogICAgICAgICBkaXJ0eUFuY2VzdG9yQ2hhaW5I
YXNTZWxmUGFpbnRpbmdMYXllckRlc2NlbmRhbnRTdGF0dXMoKTsKIAorI2lmIEVOQUJMRShDU1Nf
Q09NUE9TSVRJTkcpCisgICAgaWYgKG9sZENoaWxkLT5oYXNCbGVuZE1vZGUoKSB8fCBvbGRDaGls
ZC0+aXNvbGF0ZXNCbGVuZGluZygpKQorICAgICAgICBkaXJ0eUFuY2VzdG9yUGFyZW50U3RhY2tp
bmdDb250ZXh0SGFzQmxlbmRlZEVsZW1lbnQoKTsKKyNlbmRpZgorCiAgICAgcmV0dXJuIG9sZENo
aWxkOwogfQogCkBAIC02NDAzLDYgKzY0MzMsMTIgQEAgdm9pZCBSZW5kZXJMYXllcjo6dXBkYXRl
U3RhY2tpbmdDb250ZXh0c0FmdGVyU3R5bGVDaGFuZ2UoY29uc3QgUmVuZGVyU3R5bGUqIG9sZFMK
ICAgICAgICAgICAgIGRpcnR5Wk9yZGVyTGlzdHMoKTsKICAgICAgICAgZWxzZQogICAgICAgICAg
ICAgY2xlYXJaT3JkZXJMaXN0cygpOworCisjaWYgRU5BQkxFKENTU19DT01QT1NJVElORykKKyAg
ICAgICAgICAgIG1faGFzQmxlbmRlZEVsZW1lbnRJbkNoaWxkU3RhY2tpbmdDb250ZXh0ID0gaXNT
dGFja2luZ0NvbnRleHQgPyBub25Db21wb3NpdGVkUGFyZW50U3RhY2tpbmdDb250ZXh0SGFzQmxl
bmRlZENoaWxkKCkgOiBmYWxzZTsKKyAgICAgICAgICAgIGRpcnR5QW5jZXN0b3JQYXJlbnRTdGFj
a2luZ0NvbnRleHRIYXNCbGVuZGVkRWxlbWVudCgpOworI2VuZGlmCisKICAgICAgICAgcmV0dXJu
OwogICAgIH0KIApAQCAtNjU1Myw3ICs2NTg5LDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6c3R5bGVD
aGFuZ2VkKFN0eWxlRGlmZmVyZW5jZSBkaWZmLCBjb25zdCBSZW5kZXJTdHlsZSogb2xkU3R5bGUK
ICAgICB1cGRhdGVEZXNjZW5kYW50RGVwZW5kZW50RmxhZ3MoKTsKICAgICB1cGRhdGVUcmFuc2Zv
cm0oKTsKICNpZiBFTkFCTEUoQ1NTX0NPTVBPU0lUSU5HKQotICAgIHVwZGF0ZUJsZW5kTW9kZShv
bGRTdHlsZSk7CisgICAgdXBkYXRlQmxlbmRNb2RlKCk7CiAjZW5kaWYKICNpZiBFTkFCTEUoQ1NT
X0ZJTFRFUlMpCiAgICAgdXBkYXRlT3JSZW1vdmVGaWx0ZXJDbGllbnRzKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllci5oCmluZGV4IGRmMDU1YTljYTQxNjUyYjhlMDQxMjY0YWVk
YWE5YmI4M2JlYjgzOGIuLmI3MDcxYzJjYjcwM2RhNmVlZjIyYjdjNWQ3YWE2OWQ5ZDIyMDIyOWUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCkBAIC01MDMsOCArNTAzLDcg
QEAgcHVibGljOgogICAgIHZvaWQgdXBkYXRlVHJhbnNmb3JtKCk7CiAgICAgCiAjaWYgRU5BQkxF
KENTU19DT01QT1NJVElORykKLSAgICB2b2lkIHVwZGF0ZUJsZW5kTW9kZShjb25zdCBSZW5kZXJT
dHlsZSopOwotICAgIHZvaWQgdXBkYXRlUGFyZW50U3RhY2tpbmdDb250ZXh0U2hvdWxkSXNvbGF0
ZUJsZW5kaW5nKCk7CisgICAgdm9pZCB1cGRhdGVCbGVuZE1vZGUoKTsKICNlbmRpZgogCiAgICAg
Y29uc3QgTGF5b3V0U2l6ZSYgb2Zmc2V0Rm9ySW5GbG93UG9zaXRpb24oKSBjb25zdCB7IHJldHVy
biBtX29mZnNldEZvckluRmxvd1Bvc2l0aW9uOyB9CkBAIC03OTAsMTIgKzc4OSw0OCBAQCBwdWJs
aWM6CiAgICAgYm9vbCBpc29sYXRlc0JsZW5kaW5nKCkgY29uc3QKICAgICB7CiAjaWYgRU5BQkxF
KENTU19DT01QT1NJVElORykKLSAgICAgICAgcmV0dXJuIG1faXNvbGF0ZXNCbGVuZGluZzsKKyAg
ICAgICAgcmV0dXJuIG1faGFzQmxlbmRlZEVsZW1lbnRJbkNoaWxkU3RhY2tpbmdDb250ZXh0ICYm
IGlzU3RhY2tpbmdDb250ZXh0KCk7CiAjZWxzZQogICAgICAgICByZXR1cm4gZmFsc2U7CiAjZW5k
aWYKICAgICB9CiAKKyAgICBib29sIGhhc0JsZW5kZWRFbGVtZW50SW5DaGlsZFN0YWNraW5nQ29u
dGV4dCgpIGNvbnN0CisgICAgeworI2lmIEVOQUJMRShDU1NfQ09NUE9TSVRJTkcpCisgICAgICAg
IHJldHVybiBtX2hhc0JsZW5kZWRFbGVtZW50SW5DaGlsZFN0YWNraW5nQ29udGV4dDsKKyNlbHNl
CisgICAgICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgorICAgIH0KKworICAgIHZvaWQgc2V0SGFz
QmxlbmRlZEVsZW1lbnRJbkNoaWxkU3RhY2tpbmdDb250ZXh0KGJvb2wgaGFzQmxlbmRlZEVsZW1l
bnRJbkNoaWxkU3RhY2tpbmdDb250ZXh0KQorICAgIHsKKyNpZiBFTkFCTEUoQ1NTX0NPTVBPU0lU
SU5HKQorICAgICAgICBtX2hhc0JsZW5kZWRFbGVtZW50SW5DaGlsZFN0YWNraW5nQ29udGV4dCA9
IGhhc0JsZW5kZWRFbGVtZW50SW5DaGlsZFN0YWNraW5nQ29udGV4dDsKKyNlbHNlCisgICAgICAg
IFVOVVNFRF9QQVJBTShoYXNCbGVuZGVkRWxlbWVudEluQ2hpbGRTdGFja2luZ0NvbnRleHQpOwor
I2VuZGlmCisgICAgfQorCisgICAgYm9vbCBoYXNCbGVuZGVkRWxlbWVudEluQ2hpbGRTdGFja2lu
Z0NvbnRleHRTdGF0dXNEaXJ0eSgpIGNvbnN0CisgICAgeworI2lmIEVOQUJMRShDU1NfQ09NUE9T
SVRJTkcpCisgICAgICAgIHJldHVybiBtX2hhc0JsZW5kZWRFbGVtZW50SW5DaGlsZFN0YWNraW5n
Q29udGV4dFN0YXR1c0RpcnR5OworI2Vsc2UKKyAgICAgICAgcmV0dXJuIGZhbHNlOworI2VuZGlm
CisgICAgfQorCisgICAgdm9pZCBzZXRIYXNCbGVuZGVkRWxlbWVudEluQ2hpbGRTdGFja2luZ0Nv
bnRleHRTdGF0dXNEaXJ0eShib29sIGhhc0JsZW5kZWRFbGVtZW50SW5DaGlsZFN0YWNraW5nQ29u
dGV4dFN0YXR1c0RpcnR5KQorICAgIHsKKyNpZiBFTkFCTEUoQ1NTX0NPTVBPU0lUSU5HKQorICAg
ICAgICBtX2hhc0JsZW5kZWRFbGVtZW50SW5DaGlsZFN0YWNraW5nQ29udGV4dFN0YXR1c0RpcnR5
ID0gaGFzQmxlbmRlZEVsZW1lbnRJbkNoaWxkU3RhY2tpbmdDb250ZXh0U3RhdHVzRGlydHk7Cisj
ZWxzZQorICAgICAgICBVTlVTRURfUEFSQU0oaGFzQmxlbmRlZEVsZW1lbnRJbkNoaWxkU3RhY2tp
bmdDb250ZXh0U3RhdHVzRGlydHkpOworI2VuZGlmCisgICAgfQorCiAgICAgYm9vbCBpc0NvbXBv
c2l0ZWQoKSBjb25zdCB7IHJldHVybiBtX2JhY2tpbmcgIT0gMDsgfQogICAgIGJvb2wgaGFzQ29t
cG9zaXRpbmdEZXNjZW5kYW50KCkgY29uc3QgeyByZXR1cm4gbV9oYXNDb21wb3NpdGluZ0Rlc2Nl
bmRhbnQ7IH0KICAgICBib29sIGhhc0NvbXBvc2l0ZWRNYXNrKCkgY29uc3Q7CkBAIC0xMTA5LDYg
KzExNDQsMTIgQEAgcHJpdmF0ZToKICAgICB2b2lkIHVwZGF0ZU9yUmVtb3ZlRmlsdGVyRWZmZWN0
UmVuZGVyZXIoKTsKICNlbmRpZgogCisjaWYgRU5BQkxFKENTU19DT01QT1NJVElORykKKyAgICB2
b2lkIHVwZGF0ZU5vbkNvbXBvc2l0ZWRQYXJlbnRTdGFja2luZ0NvbnRleHRIYXNCbGVuZGVkQ2hp
bGQoYm9vbCBoYXNCbGVuZGVkQ2hpbGQpOworICAgIHZvaWQgZGlydHlBbmNlc3RvclBhcmVudFN0
YWNraW5nQ29udGV4dEhhc0JsZW5kZWRFbGVtZW50KCk7CisgICAgYm9vbCBub25Db21wb3NpdGVk
UGFyZW50U3RhY2tpbmdDb250ZXh0SGFzQmxlbmRlZENoaWxkKCkgY29uc3Q7CisjZW5kaWYKKwog
ICAgIHZvaWQgcGFyZW50Q2xpcFJlY3RzKGNvbnN0IENsaXBSZWN0c0NvbnRleHQmLCBDbGlwUmVj
dHMmKSBjb25zdDsKICAgICBDbGlwUmVjdCBiYWNrZ3JvdW5kQ2xpcFJlY3QoY29uc3QgQ2xpcFJl
Y3RzQ29udGV4dCYpIGNvbnN0OwogCkBAIC0xMjQ2LDggKzEyODcsOCBAQCBwcml2YXRlOgogCiAj
aWYgRU5BQkxFKENTU19DT01QT1NJVElORykKICAgICBCbGVuZE1vZGUgbV9ibGVuZE1vZGUgOiA1
OwotICAgIGJvb2wgbV9pc29sYXRlc0JsZW5kaW5nIDogMTsKLSAgICBib29sIG1fdXBkYXRlUGFy
ZW50U3RhY2tpbmdDb250ZXh0U2hvdWxkSXNvbGF0ZUJsZW5kaW5nRGlydHkgOiAxOworICAgIGJv
b2wgbV9oYXNCbGVuZGVkRWxlbWVudEluQ2hpbGRTdGFja2luZ0NvbnRleHQgOiAxOworICAgIGJv
b2wgbV9oYXNCbGVuZGVkRWxlbWVudEluQ2hpbGRTdGFja2luZ0NvbnRleHRTdGF0dXNEaXJ0eSA6
IDE7CiAjZW5kaWYKIAogICAgIFJlbmRlckxheWVyTW9kZWxPYmplY3QmIG1fcmVuZGVyZXI7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9y
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3Bw
CmluZGV4IDIxNDliMGUzNGM5MzA1YTQ1OTQ1N2E3NDVhZDRkM2JkNzIwMmY4YmEuLmI0NTFkYmI5
ODg3OGU4NzY1M2YzMTcwM2FiM2VjMTRiN2IxM2E4ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCkBAIC0xMDQ3LDEwICsxMDQ3
LDYgQEAgdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OmNvbXB1dGVDb21wb3NpdGluZ1JlcXVp
cmVtZW50cyhSZW5kZXJMYXllciogYW5jZXN0b3IKICAgICBsYXllci51cGRhdGVEZXNjZW5kYW50
RGVwZW5kZW50RmxhZ3MoKTsKICAgICBsYXllci51cGRhdGVMYXllckxpc3RzSWZOZWVkZWQoKTsK
IAotI2lmIEVOQUJMRShDU1NfQ09NUE9TSVRJTkcpCi0gICAgbGF5ZXIudXBkYXRlUGFyZW50U3Rh
Y2tpbmdDb250ZXh0U2hvdWxkSXNvbGF0ZUJsZW5kaW5nKCk7Ci0jZW5kaWYKLQogICAgIGlmIChs
YXllci5pc0Zsb3dUaHJlYWRDb2xsZWN0aW5nR3JhcGhpY3NMYXllcnNVbmRlclJlZ2lvbnMoKSkg
ewogICAgICAgICBSZW5kZXJGbG93VGhyZWFkJiBmbG93VGhyZWFkID0gdG9SZW5kZXJGbG93VGhy
ZWFkKGxheWVyLnJlbmRlcmVyKCkpOwogICAgICAgICBsYXllci5zZXRIYXNDb21wb3NpdGluZ0Rl
c2NlbmRhbnQoZmxvd1RocmVhZC5oYXNDb21wb3NpdGluZ1JlZ2lvbkRlc2NlbmRhbnQoKSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggYzhiZTQ1YTJhY2YwZmE4OTU1NjM4MGVlZTQxZWIyZjAzMzdiODc3NS4uYTJkNzVmODY4
Mjk1Yzc1ODI3ZTZlZDZhMjBmMGRiNTc4YmYxMWJmNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisy
MDE0LTAzLTA2ICBNaWhhaSBUaWNhICA8bWl0aWNhQGFkb2JlLmNvbT4KKworICAgICAgICBbQ1NT
IEJsZW5kaW5nXSBCbGVuZGluZyBvcGVyYXRpb24gaXMgbm90IGlzb2xhdGVkIHdoZW4gc2V0dGlu
ZyB6LWluZGV4IG9uIHBhcmVudCBmcm9tIGphdmFzY3JpcHQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyOTMwNworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3QgaWYgc2V0dGluZyBvciB1bnNldHRpbmcg
c3RhY2tpbmcgY29udGV4dCBvciBibGVuZCBtb2RlIGZyb20gc2NyaXB0IGNvcnJlY3RseSB1cGRh
dGVzIGJsZW5kaW5nCisgICAgICAgIGlzb2xhdGlvbi4gTm90ZSB0aGF0IDIgb3V0IG9mIHRoZSA4
IHRlc3QgY2FzZXMgYXJlIGZhaWxpbmcgZHVlIHRvIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMjk0ODAuCisKKyAgICAgICAgKiBjc3MzL2NvbXBvc2l0aW5nL2JsZW5k
LW1vZGUtYmFja2dyb3VuZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3JlcGFpbnQvYmxl
bmQtbW9kZS1pc29sYXRlLXN0YWNraW5nLWNvbnRleHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L3JlcGFpbnQvYmxlbmQtbW9kZS1pc29sYXRlLXN0YWNraW5nLWNvbnRleHQu
aHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2NzczMvY29tcG9zaXRpbmcvYmxl
bmQtbW9kZS1iYWNrZ3JvdW5kLWV4cGVjdGVkLnBuZzogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vbWFjL2NzczMvY29tcG9zaXRpbmcvYmxlbmQtbW9kZS1iYWNrZ3JvdW5kLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisKIDIwMTQtMDMtMDUgIEppbndvbyBTb25nICA8amlud29vNy5zb25nQHNhbXN1
bmcuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgRUZMIGdhcmRlbmluZy4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2NzczMvY29tcG9zaXRpbmcvYmxlbmQtbW9kZS1iYWNrZ3JvdW5kLmh0bWwg
Yi9MYXlvdXRUZXN0cy9jc3MzL2NvbXBvc2l0aW5nL2JsZW5kLW1vZGUtYmFja2dyb3VuZC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjMxZWMyNjY2NGM4ZjU5ZTk3MGQ3NzAyODg4NmExOGNlM2Y1OWNjOGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NvbXBvc2l0aW5nL2JsZW5kLW1vZGUt
YmFja2dyb3VuZC5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+
Cis8aGVhZD4KKzxzdHlsZT4KKyAgICBkaXYgeworICAgICAgICBtYXJnaW46IDIwcHg7CisgICAg
ICAgIHdpZHRoOiA2MHB4OworICAgICAgICBoZWlnaHQ6IDYwcHg7CisgICAgICAgIC13ZWJraXQt
bWl4LWJsZW5kLW1vZGU6IGRpZmZlcmVuY2U7CisgICAgICAgIGJhY2tncm91bmQ6IHJlZDsKKyAg
ICB9CisgICAgYm9keSB7CisgICAgICAgIGJhY2tncm91bmQ6IGJsdWU7CisgICAgfQorPC9zdHls
ZT4KKzxib2R5PgorICAgIDxkaXYgY2xhc3M9InBhcmVudCI+PC9kaXY+Cis8L2JvZHk+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvYmxlbmQtbW9kZS1pc29sYXRlLXN0YWNr
aW5nLWNvbnRleHQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2JsZW5k
LW1vZGUtaXNvbGF0ZS1zdGFja2luZy1jb250ZXh0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5k
ODcyZWIzNTYwZDRmNmM0YWFhZmYxNjRjMWY4MzM0OTkzMTYwN2RjCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2JsZW5kLW1vZGUtaXNvbGF0ZS1zdGFja2luZy1j
b250ZXh0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQzIEBACitUZXN0IGlmIHNldHRpbmcgYmxl
bmQgbW9kZSBjcmVhdGVzIGlzb2xhdGlvbi4KKworVGVzdCBpZiB1bnNldHRpbmcgYmxlbmQgbW9k
ZSByZW1vdmVzIGlzb2xhdGlvbi4KKworRkFJTDogVGVzdCBpZiBzZXR0aW5nIGEgcGFyZW50J3Mg
c3RhY2tpbmcgY29udGV4dCBjb3JyZWN0bHkgY3JlYXRlcyBpc29sYXRpb24uIEZpeCB0aGlzIGlz
c3VlIGZpcnN0LgorCitUZXN0IGlmIHVuc2V0dGluZyBhIHBhcmVudCdzIHN0YWNraW5nIGNvbnRl
eHQgY29ycmVjdGx5IHJlbW92ZXMgaXNvbGF0aW9uLgorCitUZXN0IGlmIHN3aXRjaGluZyBhIGJs
ZW5kIG1vZGUgcHJlc2VydmVzIGlzb2xhdGlvbi4KKworVGVzdCBpZiBzd2l0Y2hpbmcgdGhlIHBy
b3BlcnR5IHRoYXQgY2F1c2VzIHRoZSBwYXJlbnQgdG8gY3JlYXRlIGEgc3RhY2tpbmcgY29udGV4
dCBwcmVzZXJ2ZXMgaXNvbGF0aW9uLgorCitUZXN0IGlmIHVuc2V0dGluZyBhIHBhcmVudCdzIHN0
YWNraW5nIGNvbnRleHQgY29ycmVjdGx5IHVwZGF0ZXMgaXRzIHBhcmVudCBpc29sYXRpb24uCisK
K0ZBSUw6IFRlc3QgaWYgc2V0dGluZyBhIHBhcmVudCdzIHN0YWNraW5nIGNvbnRleHQgY29ycmVj
dGx5IHVwZGF0ZXMgaXNvbGF0aW9uLiBGaXggRml4IHRoaXMgaXNzdWUgZmlyc3QuCisKKyAocmVw
YWludCByZWN0cworICAocmVjdCA0OCA1NCA2MCA2MCkKKyAgKHJlY3QgNDggNTQgNjAgNjApCisg
IChyZWN0IDQ4IDU0IDYwIDYwKQorICAocmVjdCA0OCA1NCA2MCA2MCkKKyAgKHJlY3QgNDggMTcy
IDYwIDYwKQorICAocmVjdCA0OCAxNzIgNjAgNjApCisgIChyZWN0IDI4IDI5MCA2MCA2MCkKKyAg
KHJlY3QgMjggNDA4IDYwIDYwKQorICAocmVjdCA0OCA0MDggNjAgNjApCisgIChyZWN0IDQ4IDQw
OCA2MCA2MCkKKyAgKHJlY3QgNDggNTI2IDYwIDYwKQorICAocmVjdCA0OCA1MjYgNjAgNjApCisg
IChyZWN0IDI4IDY0NCA2MCA2MCkKKyAgKHJlY3QgNDggNjQ0IDYwIDYwKQorICAocmVjdCA0OCA3
NjIgNjAgNjApCisgIChyZWN0IDY4IDc2MiA2MCA2MCkKKyAgKHJlY3QgNjggNzYyIDYwIDYwKQor
ICAocmVjdCAyOCA4ODAgODAgNjApCisgIChyZWN0IDI4IDQwOCA2MCA2MCkKKyAgKHJlY3QgNDgg
NzYyIDYwIDYwKQorICAocmVjdCAyOCAyOTAgNjAgNjApCisgIChyZWN0IDI4IDY0NCA2MCA2MCkK
KyAgKHJlY3QgODggNzYyIDIwIDYwKQorICAocmVjdCAyOCA4ODAgODAgNjApCispCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9ibGVuZC1tb2RlLWlzb2xhdGUtc3RhY2tp
bmctY29udGV4dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2JsZW5kLW1vZGUtaXNv
bGF0ZS1zdGFja2luZy1jb250ZXh0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTQ2NjYxMmJhNDdjY2U2YTFm
MTBjZDFmNThkZGJiYzJlOGU5MWY5YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvcmVwYWludC9ibGVuZC1tb2RlLWlzb2xhdGUtc3RhY2tpbmctY29udGV4dC5odG1sCkBAIC0w
LDAgKzEsMTAyIEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8c3R5bGU+Cisg
ICAgZGl2IHsKKyAgICAgICAgbWFyZ2luOiAyMHB4OworICAgICAgICB3aWR0aDogNjBweDsKKyAg
ICAgICAgaGVpZ2h0OiA2MHB4OworICAgIH0KKworICAgIC5wYXJlbnQgeworICAgICAgICBiYWNr
Z3JvdW5kOiAjMEYwOworICAgIH0KKworICAgIC5jaGlsZCB7CisgICAgICAgIGJhY2tncm91bmQ6
ICMwMEY7CisgICAgfQorCisgICAgLnN0YWNraW5nIHsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0
aXZlOworICAgICAgICB6LWluZGV4OiAwOworICAgIH0KKworICAgIC5zdGFja2luZzIgeworICAg
ICAgICBvcGFjaXR5OiAwLjk5OworICAgIH0KKworICAgIC5ibGVuZGVyIHsKKyAgICAgICAgLXdl
YmtpdC1taXgtYmxlbmQtbW9kZTogZGlmZmVyZW5jZTsKKyAgICB9CisKKyAgICAuYmxlbmRlcjIg
eworICAgICAgICAtd2Via2l0LW1peC1ibGVuZC1tb2RlOiBzY3JlZW47CisgICAgfQorPC9zdHls
ZT4KKzxzY3JpcHQ+CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVu
bmVyLmR1bXBBc1RleHQodHJ1ZSk7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMv
dGV4dC1iYXNlZC1yZXBhaW50LmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0Pgor
PCEtLSBSZXBhaW50IHRlc3QgdG8gZW5zdXJlIHRoYXQgc2V0dGluZyBhIGJsZW5kIG1vZGUgZHlu
YW1pY2FsbHkgdHJpZ2dlcnMgdGhpcyBvcGVyYXRpb24KKyAgICBvbmx5IHdpdGggdGhlIGNvbnRl
bnRzIG9mIHRoZSBuZWFyZXN0IGFuY2VzdG9yIHN0YWNraW5nIGNvbnRleHQuIC0tPgorPGJvZHkg
b25sb2FkPSJydW5SZXBhaW50VGVzdCgpIj4KKyAgICA8cD5UZXN0IGlmIHNldHRpbmcgYmxlbmQg
bW9kZSBjcmVhdGVzIGlzb2xhdGlvbi48L3A+CisgICAgPGRpdiBjbGFzcz0icGFyZW50IHN0YWNr
aW5nIj4KKyAgICAgICAgPGRpdiBpZD0iZmlyc3QiIGNsYXNzPSJjaGlsZCI+PC9kaXY+CisgICAg
PC9kaXY+CisKKyAgICA8cD5UZXN0IGlmIHVuc2V0dGluZyBibGVuZCBtb2RlIHJlbW92ZXMgaXNv
bGF0aW9uLjwvcD4KKyAgICA8ZGl2IGNsYXNzPSJwYXJlbnQgc3RhY2tpbmciPgorICAgICAgICA8
ZGl2IGlkPSJzZWNvbmQiIGNsYXNzPSJjaGlsZCBibGVuZGVyIj48L2Rpdj4KKyAgICA8L2Rpdj4K
KworICAgIDxwPkZBSUw6IFRlc3QgaWYgc2V0dGluZyBhIHBhcmVudCdzIHN0YWNraW5nIGNvbnRl
eHQgY29ycmVjdGx5IGNyZWF0ZXMgaXNvbGF0aW9uLiBGaXggPGEgaHJlZj0iaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyOTQ4MCI+dGhpcyBpc3N1ZSBmaXJzdC48L2E+
PC9wPgorICAgIDxkaXYgaWQ9InRoaXJkIiBjbGFzcz0icGFyZW50Ij4KKyAgICAgICAgPGRpdiBj
bGFzcz0iY2hpbGQgYmxlbmRlciI+PC9kaXY+CisgICAgPC9kaXY+CisKKyAgICA8cD5UZXN0IGlm
IHVuc2V0dGluZyBhIHBhcmVudCdzIHN0YWNraW5nIGNvbnRleHQgY29ycmVjdGx5IHJlbW92ZXMg
aXNvbGF0aW9uLjwvcD4KKyAgICA8ZGl2IGlkPSJmb3VydGgiIGNsYXNzPSJwYXJlbnQgc3RhY2tp
bmciPgorICAgICAgICA8ZGl2IGNsYXNzPSJjaGlsZCBibGVuZGVyIj48L2Rpdj4KKyAgICA8L2Rp
dj4KKworICAgIDxwPlRlc3QgaWYgc3dpdGNoaW5nIGEgYmxlbmQgbW9kZSBwcmVzZXJ2ZXMgaXNv
bGF0aW9uLjwvcD4KKyAgICAgPGRpdiBjbGFzcz0icGFyZW50IHN0YWNraW5nIj4KKyAgICAgICAg
IDxkaXYgaWQ9ImZpZnRoIiBjbGFzcz0iY2hpbGQgYmxlbmRlciI+PC9kaXY+CisgICAgIDwvZGl2
PgorCisgICAgPHA+VGVzdCBpZiBzd2l0Y2hpbmcgdGhlIHByb3BlcnR5IHRoYXQgY2F1c2VzIHRo
ZSBwYXJlbnQgdG8gY3JlYXRlIGEgc3RhY2tpbmcgY29udGV4dCBwcmVzZXJ2ZXMgaXNvbGF0aW9u
LjwvcD4KKyAgICA8ZGl2IGlkPSJzaXh0aCIgY2xhc3M9InBhcmVudCBzdGFja2luZyI+CisgICAg
ICAgIDxkaXYgY2xhc3M9ImNoaWxkIGJsZW5kZXIiPjwvZGl2PgorICAgIDwvZGl2PgorCisgICAg
PHA+VGVzdCBpZiB1bnNldHRpbmcgYSBwYXJlbnQncyBzdGFja2luZyBjb250ZXh0IGNvcnJlY3Rs
eSB1cGRhdGVzIGl0cyBwYXJlbnQgaXNvbGF0aW9uLjwvcD4KKyAgICA8ZGl2IGNsYXNzPSJwYXJl
bnQgc3RhY2tpbmciPgorICAgICAgICA8ZGl2IGlkPSJzZXZlbnRoIiBjbGFzcz0icGFyZW50IHN0
YWNraW5nIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNoaWxkIGJsZW5kZXIiPjwvZGl2Pgor
ICAgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKworICAgIDxwPkZBSUw6IFRlc3QgaWYgc2V0dGlu
ZyBhIHBhcmVudCdzIHN0YWNraW5nIGNvbnRleHQgY29ycmVjdGx5IHVwZGF0ZXMgaXNvbGF0aW9u
LiBGaXggRml4IDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMjk0ODAiPnRoaXMgaXNzdWUgZmlyc3QuPC9wPgorICAgIDxkaXYgY2xhc3M9InBhcmVudCIg
aWQ9ImVpZ2h0Ij4KKyAgICAgICAgPGRpdiBjbGFzcz0icGFyZW50Ij4KKyAgICAgICAgICAgIDxk
aXYgY2xhc3M9ImNoaWxkIGJsZW5kZXIiPjwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICA8L2Rp
dj4KKyAgICA8c2NyaXB0PgorICAgICAgICBmdW5jdGlvbiByZXBhaW50VGVzdCgpIHsKKyAgICAg
ICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmaXJzdCcpLmNsYXNzTmFtZSA9ICJjaGls
ZCBibGVuZGVyIjsKKyAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzZWNvbmQn
KS5jbGFzc05hbWUgPSAiY2hpbGQiOworCisgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgndGhpcmQnKS5jbGFzc05hbWUgPSAicGFyZW50IHN0YWNraW5nIjsKKyAgICAgICAgICAg
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmb3VydGgnKS5jbGFzc05hbWUgPSAicGFyZW50IjsK
KworICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZpZnRoJykuY2xhc3NOYW1l
ID0gImNoaWxkIGJsZW5kZXIyIjsKKworICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ3NpeHRoJykuY2xhc3NOYW1lID0gInBhcmVudCBzdGFja2luZzIiOworICAgICAgICAgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NldmVudGgnKS5jbGFzc05hbWUgPSAicGFyZW50IjsK
KyAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdlaWdodCcpLmNsYXNzTmFtZSA9
ICJwYXJlbnQgc3RhY2tpbmciOworICAgICAgICB9CisgICAgIDwvc2NyaXB0PgorIDwvYm9keT4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvY3NzMy9jb21wb3NpdGluZy9ibGVuZC1tb2RlLWJhY2tncm91bmQtZXhwZWN0ZWQu
cG5nIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NzczMvY29tcG9zaXRpbmcvYmxlbmQtbW9k
ZS1iYWNrZ3JvdW5kLWV4cGVjdGVkLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYTc0NTRmZjE1NjUwMmM2ZjVh
ZGI5MWQ1MjNiZDY3ZTIyYzdlMTRiCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAxMDU2Mgp6Y21l
QVNATj8ob2xIeWB1VkJxIWlhMHl+eVV7K3ZZVjJhPmkxQiVRbFlicFJ6bmtCOWdDQ000NyQ9U3VG
eGVWcigKeiM+VkV4JHdyQXJOb21RYyRwKXNEPTROSnojend8VFg2N2N3clkxRitAOSMxJlhrNzdo
YVNXK29lMCVkP1otfUZTCnppPSlHQ15GMFVhKk1CPzRzTTM9JFBiKnBHI2hNZktvQGMtSiRKaFU+
YEs7e0Z6YCk0RiFYY3BHJn5TamNRSigrYQp6Mk5vQ35CPUxfXkxjeHYmc3NKUH40PThZY2d7PSFo
VExhQEdYYHBWSEYlTT1vRm47UX08cVI8c0VHblV9NTgyRk4Kell7WUAlKi1pS0Q+LVgxditRMEFu
JiN5bkA/fC0qfGQlYlp8TCVvQW4/Zz1NRVNuWChGRVpVUnNUbzR8OThvPU9QCnpZTD1vMTU2Xjtf
MH1QZ044JE4/JDJwcFBJU2E+RGBOcEF3aDckblJzXmIjNm1ebHd4bUxmbmdxJjB7NVJCdG5tagp6
eFBlMlRfIX1FVU01OzB9RlMqakRnVjU4KkV1bkNueUcjeip4cnsrcyZTRDVYJDYwd01KWjgxLWhl
ZFVSZ1hhTVQKeiY4Pj51MnRBTFAqaUwrR24oR2V0O3NUWH5oQUZvdXc4SGZxQ31kPVFRZ1FHY0JJ
Tn1MOEhAKFlYdDAxJT54ZjcjCnpjNShNWFd5M0dlX2xTSjJBUnpkRy0odn1mQXRLTX1hN1pYez4r
WVRpJnA4ZSoyTipnPDZ4azVEamdecihXbnJxaAp6NVdGYnAwUDJ+amJPZz48KnIxVG1wdEkkVDh6
S2A2R0JUP0t3TVpaYHo4SjdQWGBPYzAxRDw2U2xvQT9UeCYpZngKejc5Vko4VkJCPEpsUWJ2MSV5
OXdnQGVvWGNeOTNSVjM+P0l3JTlJZ3E+dTZ2VShzYmZNU2otSjk4a3xuJnNsYlhZCnpwcUM5Q2x3
M087O1Q5KTI5JDwqZnhZPih2bi1VWS1YclBQKyU0a1lxV0UjeXI0MmAyQCU0azZndFdaWDRwTjcj
WQp6Uzsxa25veDtSMitJVkFSOGcwPnpIdUhnOWhTOXpjTCpyPE51d2teOSUpJjdgYmlsK2lJJnxQ
TEktVmpoST4tYloKeiNUeSt1NyMldFFIanFaZ1hoKCsqZkhNUTVMa0ZXbjJjVzUpKFY+SVVwIyRK
LTxMQ19HPStGVWhOX0tTVXorclVnCnIwNjRjWUkmPzVQYk8ybnxGe3ArUHt4TG1UIVMjSD5ReF9m
SnFEVGYkUzNqM15QNjxyXyomUj5RCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY3NzMy9jb21wb3NpdGluZy9ibGVuZC1tb2RlLWJh
Y2tncm91bmQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NzczMvY29t
cG9zaXRpbmcvYmxlbmQtbW9kZS1iYWNrZ3JvdW5kLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
NjVjMWMxYzgzMWQ3NTNlYzE1OTA0Y2FlYjdlMDMwMjA5MWI4ZmEzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NzczMvY29tcG9zaXRpbmcvYmxlbmQtbW9kZS1i
YWNrZ3JvdW5kLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAKK2xheWVyIGF0ICgwLDApIHNp
emUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MDB4MTAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgw
MHgxMDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCwyMCkgc2l6ZSA3ODR4NjAgW2JnY29s
b3I9IzAwMDBGRl0KK2xheWVyIGF0ICgyOCwyMCkgc2l6ZSA2MHg2MAorICBSZW5kZXJCbG9jayB7
RElWfSBhdCAoMjAsMCkgc2l6ZSA2MHg2MCBbYmdjb2xvcj0jRkYwMDAwXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>227071</attachid>
            <date>2014-03-18 10:31:21 -0700</date>
            <delta_ts>2014-03-19 00:43:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-129307-20140318193130.patch</filename>
            <type>text/plain</type>
            <size>23138</size>
            <attacher name="Mihai Tica">mitica</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY1MTgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTI2ZDFmMWM5YTZlNjVh
ZWU1NWE4ZDhiYTFmMjViYjZmNGVlNzA1Yi4uZGM2YWRlNmQ5MjRjYWQ4OWQyODQwMGRhN2JlMzJh
MTI3YTJlMDEyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDE0LTAzLTA2ICBNaWhh
aSBUaWNhICA8bWl0aWNhQGFkb2JlLmNvbT4KKworICAgICAgICBbQ1NTIEJsZW5kaW5nXSBCbGVu
ZGluZyBvcGVyYXRpb24gaXMgbm90IGlzb2xhdGVkIHdoZW4gc2V0dGluZyB6LWluZGV4IG9uIHBh
cmVudCBmcm9tIGphdmFzY3JpcHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEyOTMwNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFJlaW1wbGVtZW50IHRoZSBsb2dpYyBiZWhpbmQgaXNvbGF0aW5nIGJsZW5k
IG1vZGVzLiBUaGUgYmxlbmRpbmcgb3BlcmF0aW9uIHNob3VsZCBiZSBsaW1pdGVkIHRvIHRoZQor
ICAgICAgICBjb250ZW50cyBvZiB0aGUgcGFyZW50IHN0YWNraW5nIGNvbnRleHQuIFRoZSBwcm9w
b3NlZCBzb2x1dGlvbiBpbXBsaWVzIGFkZGluZyBsb2dpYyBpbiB1cGRhdGVEZXNjZW5kYW50RGVw
ZW5kZW50RmxhZ3MsCisgICAgICAgIHRvIHRyYWNrIGNoaWxkIGVsZW1lbnRzIHRoYXQgaGF2ZSBi
bGVuZGluZyBhbmQgY3JlYXRlIGEgdHJhbnNwYXJlbmN5IGxheWVyIHRoYXQgdHJpZ2dlcnMgaXNv
bGF0aW9uLgorCisgICAgICAgIFRlc3RzOiBjc3MzL2NvbXBvc2l0aW5nL2JsZW5kLW1vZGUtYmFj
a2dyb3VuZC5odG1sCisgICAgICAgICAgICAgICBmYXN0L3JlcGFpbnQvYmxlbmQtbW9kZS1pc29s
YXRlLXN0YWNraW5nLWNvbnRleHQuaHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxh
eWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpSZW5kZXJMYXllcik6IFJl
bW92ZSBvbGQgbWVtYmVycywgYWRkIG5ldyBtZW1iZXJzIHRvIGNvbnN0cnVjdG9yLgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnVwZGF0ZUJsZW5kTW9kZSk6IFVwZGF0ZSBwYXJlbnQg
c3RhY2tpbmcgY29udGV4dCBpc29sYXRpb24gb24gYmxlbmQgbW9kZSBjaGFuZ2UuCisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJMYXllcjo6dXBkYXRlTm9uQ29tcG9zaXRlZFBhcmVudFN0YWNraW5n
Q29udGV4dEhhc0JsZW5kZWRDaGlsZCk6CisgICAgICAgIC0gU2V0IG1faGFzQmxlbmRlZEVsZW1l
bnRJbkNoaWxkU3RhY2tpbmdDb250ZXh0IGZvciB0aGUgbm9uIGNvbXBvc2l0ZWQgcGFyZW50IHN0
YWNraW5nIGNvbnRleHQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6ZGlydHlBbmNl
c3RvclBhcmVudFN0YWNraW5nQ29udGV4dEhhc0JsZW5kZWRFbGVtZW50KToKKyAgICAgICAgLSBT
ZXQgZmxhZyBzbyBpc29sYXRpb24gc2hvdWxkIGJlIGNvbnNpZGVyZWQgaW4gdXBkYXRlRGVzY2Vu
ZGFudERlcGVuZGVudEZsYWdzLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6Om5vbkNv
bXBvc2l0ZWRQYXJlbnRTdGFja2luZ0NvbnRleHRIYXNCbGVuZGVkQ2hpbGQpOgorICAgICAgICAt
IFJldHVybiB3aGV0aGVyIHRoZSBub24gY29tcG9zaXRlZCBwYXJlbnQgc3RhY2tpbmcgY29udGV4
dCBpc29sYXRlcyBibGVuZGluZy4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjp1cGRh
dGVEZXNjZW5kYW50RGVwZW5kZW50RmxhZ3MpOiBBZGQgbG9naWMgZm9yIGlzb2xhdGluZyBibGVu
ZGluZy4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjphZGRDaGlsZCk6IENhbGwgdG8g
dXBkYXRlTm9uQ29tcG9zaXRlZFBhcmVudFN0YWNraW5nQ29udGV4dEhhc0JsZW5kZWRDaGlsZCBp
ZiBuZWVkZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6cmVtb3ZlQ2hpbGQpOiBD
YWxsIHRvIGRpcnR5QW5jZXN0b3JQYXJlbnRTdGFja2luZ0NvbnRleHRIYXNCbGVuZGVkRWxlbWVu
dCBpZiBuZWVkZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6dXBkYXRlU3RhY2tp
bmdDb250ZXh0c0FmdGVyU3R5bGVDaGFuZ2UpOiBVcGRhdGUgaXNvbGF0aW9uIHdoZW4gYSBzdGFj
a2luZyBjb250ZXh0IHdhcyBzZXQgb3IgdW5zZXQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJM
YXllcjo6c3R5bGVDaGFuZ2VkKTogUmVtb3ZlZCBvbGRTdHlsZSBwYXJhbWV0ZXIgZnJvbSB1cGRh
dGVCbGVuZE1vZGUgY2FsbC4KKyAgICAgICAgIFVwZGF0ZSBwYXJlbnQgc3RhY2tpbmcgY29udGV4
dCBpc29sYXRpb24gb24gYmxlbmQgbW9kZSBjaGFuZ2UuCisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlckxheWVyLmg6CisgICAgICAgIC0gQWRkIG1lbWJlcnMsIGdldHRlcnMgYW5kIHNldHRlcnMg
Zm9yIHRyYWNraW5nIHdoZXRoZXIgdGhlIGVsZW1lbnQgaGFzIGEgYmxlbmRlZCBjaGlsZDoKKyAg
ICAgICAgICAgIC0gbV9oYXNCbGVuZGVkRWxlbWVudEluQ2hpbGRTdGFja2luZ0NvbnRleHQKKyAg
ICAgICAgICAgIC0gbV9oYXNCbGVuZGVkRWxlbWVudEluQ2hpbGRTdGFja2luZ0NvbnRleHRTdGF0
dXNEaXJ0eQorICAgICAgICAtIFJlbW92ZWQgbV91cGRhdGVQYXJlbnRTdGFja2luZ0NvbnRleHRT
aG91bGRJc29sYXRlQmxlbmRpbmdEaXJ0eSAocmVwbGFjZWQgd2l0aCBtX2hhc0JsZW5kZWRFbGVt
ZW50SW5DaGlsZFN0YWNraW5nQ29udGV4dFN0YXR1c0RpcnR5KQorICAgICAgICAtIFJlbW92ZWQg
bV9pc29sYXRlc0JsZW5kaW5nIChyZXBsYWNlZCB3aXRoIG1faGFzQmxlbmRlZEVsZW1lbnRJbkNo
aWxkU3RhY2tpbmdDb250ZXh0KQorICAgICAgICAtIFVwZGF0ZWQgdGhlIGlzb2xhdGVzQmxlbmRp
bmcgbWV0aG9kIHRvIHJldHVybiB0cnVlIG9ubHkgd2hlbiB0aGUgZWxlbWVudCBpcyBhIHN0YWNr
aW5nIGNvbnRleHQgYW5kIGhhcyBhIGJsZW5kZWQgY2hpbGQuCisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXll
ckNvbXBvc2l0b3I6OmNvbXB1dGVDb21wb3NpdGluZ1JlcXVpcmVtZW50cyk6IFJlbW92ZWQgbGF5
ZXIudXBkYXRlUGFyZW50U3RhY2tpbmdDb250ZXh0U2hvdWxkSXNvbGF0ZUJsZW5kaW5nIGNhbGwu
CisKIDIwMTQtMDMtMDYgIFphbiBEb2JlcnNlayAgPHpkb2JlcnNla0BpZ2FsaWEuY29tPgogCiAg
ICAgICAgIE1vdmUgU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvIGNvZGUgdG8gc3RkOjp1bmlx
dWVfcHRyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAppbmRleCAzMTAy
YWMwMTBmZWMyZmM1MWY4ZDg3OTJlODkwYTBlODNiMjBkYjNkLi5hNWFhMzQ4MzFmOTAwZGYwYjBi
Yjg0M2E2ZmZiYWJjMTg3Yjg1OGEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllci5jcHAKQEAgLTE4NSw4ICsxODUsOCBAQCBSZW5kZXJMYXllcjo6UmVuZGVyTGF5ZXIoUmVu
ZGVyTGF5ZXJNb2RlbE9iamVjdCYgcmVuZGVyZXJMYXllck1vZGVsT2JqZWN0KQogI2VuZGlmCiAj
aWYgRU5BQkxFKENTU19DT01QT1NJVElORykKICAgICAsIG1fYmxlbmRNb2RlKEJsZW5kTW9kZU5v
cm1hbCkKLSAgICAsIG1faXNvbGF0ZXNCbGVuZGluZyhmYWxzZSkKLSAgICAsIG1fdXBkYXRlUGFy
ZW50U3RhY2tpbmdDb250ZXh0U2hvdWxkSXNvbGF0ZUJsZW5kaW5nRGlydHkoZmFsc2UpCisgICAg
LCBtX2hhc0JsZW5kZWRFbGVtZW50SW5DaGlsZFN0YWNraW5nQ29udGV4dChmYWxzZSkKKyAgICAs
IG1faGFzQmxlbmRlZEVsZW1lbnRJbkNoaWxkU3RhY2tpbmdDb250ZXh0U3RhdHVzRGlydHkoZmFs
c2UpCiAjZW5kaWYKICAgICAsIG1fcmVuZGVyZXIocmVuZGVyZXJMYXllck1vZGVsT2JqZWN0KQog
ICAgICwgbV9wYXJlbnQoMCkKQEAgLTgwMywxMiArODAzLDE1IEBAIHZvaWQgUmVuZGVyTGF5ZXI6
OnBvc2l0aW9uTmV3bHlDcmVhdGVkT3ZlcmZsb3dDb250cm9scygpCiAKICNpZiBFTkFCTEUoQ1NT
X0NPTVBPU0lUSU5HKQogCi12b2lkIFJlbmRlckxheWVyOjp1cGRhdGVCbGVuZE1vZGUoY29uc3Qg
UmVuZGVyU3R5bGUqIG9sZFN0eWxlKQordm9pZCBSZW5kZXJMYXllcjo6dXBkYXRlQmxlbmRNb2Rl
KCkKIHsKLSAgICBtX3VwZGF0ZVBhcmVudFN0YWNraW5nQ29udGV4dFNob3VsZElzb2xhdGVCbGVu
ZGluZ0RpcnR5ID0gZmFsc2U7Ci0KLSAgICBpZiAoKCFvbGRTdHlsZSAmJiByZW5kZXJlcigpLnN0
eWxlKCkuaGFzQmxlbmRNb2RlKCkpIHx8IChvbGRTdHlsZSAmJiBvbGRTdHlsZS0+aGFzQmxlbmRN
b2RlKCkgIT0gcmVuZGVyZXIoKS5zdHlsZSgpLmhhc0JsZW5kTW9kZSgpKSkKLSAgICAgICAgbV91
cGRhdGVQYXJlbnRTdGFja2luZ0NvbnRleHRTaG91bGRJc29sYXRlQmxlbmRpbmdEaXJ0eSA9IHRy
dWU7CisgICAgYm9vbCBoYWRCbGVuZE1vZGUgPSBtX2JsZW5kTW9kZSAhPSBCbGVuZE1vZGVOb3Jt
YWw7CisgICAgaWYgKGhhZEJsZW5kTW9kZSAhPSBoYXNCbGVuZE1vZGUoKSkgeworICAgICAgICBp
ZiAoaGFzQmxlbmRNb2RlKCkpCisgICAgICAgICAgICB1cGRhdGVOb25Db21wb3NpdGVkUGFyZW50
U3RhY2tpbmdDb250ZXh0SGFzQmxlbmRlZENoaWxkKHRydWUpOworICAgICAgICBlbHNlCisgICAg
ICAgICAgICBkaXJ0eUFuY2VzdG9yUGFyZW50U3RhY2tpbmdDb250ZXh0SGFzQmxlbmRlZEVsZW1l
bnQoKTsKKyAgICB9CiAKICAgICBCbGVuZE1vZGUgbmV3QmxlbmRNb2RlID0gcmVuZGVyZXIoKS5z
dHlsZSgpLmJsZW5kTW9kZSgpOwogICAgIGlmIChuZXdCbGVuZE1vZGUgIT0gbV9ibGVuZE1vZGUp
IHsKQEAgLTgxOCwyNCArODIxLDM2IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnVwZGF0ZUJsZW5kTW9k
ZShjb25zdCBSZW5kZXJTdHlsZSogb2xkU3R5bGUpCiAgICAgfQogfQogCi12b2lkIFJlbmRlckxh
eWVyOjp1cGRhdGVQYXJlbnRTdGFja2luZ0NvbnRleHRTaG91bGRJc29sYXRlQmxlbmRpbmcoKQor
dm9pZCBSZW5kZXJMYXllcjo6dXBkYXRlTm9uQ29tcG9zaXRlZFBhcmVudFN0YWNraW5nQ29udGV4
dEhhc0JsZW5kZWRDaGlsZChib29sIGhhc0JsZW5kZWRDaGlsZCkKIHsKLSAgICBpZiAoIW1fdXBk
YXRlUGFyZW50U3RhY2tpbmdDb250ZXh0U2hvdWxkSXNvbGF0ZUJsZW5kaW5nRGlydHkpCisgICAg
aWYgKGlzQ29tcG9zaXRlZCgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBpZiAoaXNDb21wb3Np
dGVkKCkpIHsKLSAgICAgICAgbV91cGRhdGVQYXJlbnRTdGFja2luZ0NvbnRleHRTaG91bGRJc29s
YXRlQmxlbmRpbmdEaXJ0eSA9IGZhbHNlOwotICAgICAgICByZXR1cm47CisgICAgZm9yIChhdXRv
IGFuY2VzdG9yID0gcGFyZW50KCk7IGFuY2VzdG9yICYmICFhbmNlc3Rvci0+aXNDb21wb3NpdGVk
KCkgJiYgIWFuY2VzdG9yLT5yZW5kZXJlcigpLmlzUm9vdCgpOyBhbmNlc3RvciA9IGFuY2VzdG9y
LT5wYXJlbnQoKSkgeworICAgICAgICBhbmNlc3Rvci0+bV9oYXNCbGVuZGVkRWxlbWVudEluQ2hp
bGRTdGFja2luZ0NvbnRleHQgPSBoYXNCbGVuZGVkQ2hpbGQ7CisKKyAgICAgICAgaWYgKGFuY2Vz
dG9yLT5pc1N0YWNraW5nQ29udGV4dCgpKQorICAgICAgICAgICAgYnJlYWs7CiAgICAgfQorfQog
Ci0gICAgZm9yIChhdXRvIGFuY2VzdG9yID0gcGFyZW50KCk7IGFuY2VzdG9yICYmICFhbmNlc3Rv
ci0+aXNDb21wb3NpdGVkKCkgJiYgIWFuY2VzdG9yLT5pc1Jvb3RMYXllcigpOyBhbmNlc3RvciA9
IGFuY2VzdG9yLT5wYXJlbnQoKSkgewotICAgICAgICBpZiAoYW5jZXN0b3ItPmlzU3RhY2tpbmdD
b250ZXh0KCkpIHsKLSAgICAgICAgICAgIGFuY2VzdG9yLT5tX2lzb2xhdGVzQmxlbmRpbmcgPSBy
ZW5kZXJlcigpLnN0eWxlKCkuaGFzQmxlbmRNb2RlKCk7Cit2b2lkIFJlbmRlckxheWVyOjpkaXJ0
eUFuY2VzdG9yUGFyZW50U3RhY2tpbmdDb250ZXh0SGFzQmxlbmRlZEVsZW1lbnQoKQoreworICAg
IGZvciAoYXV0byBsYXllciA9IHRoaXM7IGxheWVyICYmICFsYXllci0+aXNDb21wb3NpdGVkKCkg
JiYgIWxheWVyLT5tX2hhc0JsZW5kZWRFbGVtZW50SW5DaGlsZFN0YWNraW5nQ29udGV4dFN0YXR1
c0RpcnR5OyBsYXllciA9IGxheWVyLT5wYXJlbnQoKSkgeworICAgICAgICBsYXllci0+bV9oYXNC
bGVuZGVkRWxlbWVudEluQ2hpbGRTdGFja2luZ0NvbnRleHRTdGF0dXNEaXJ0eSA9IHRydWU7CisK
KyAgICAgICAgaWYgKGxheWVyLT5pc1N0YWNraW5nQ29udGV4dCgpKQogICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgIH0KICAgICB9Cit9CiAKLSAgICBtX3VwZGF0ZVBhcmVudFN0YWNraW5nQ29u
dGV4dFNob3VsZElzb2xhdGVCbGVuZGluZ0RpcnR5ID0gZmFsc2U7Citib29sIFJlbmRlckxheWVy
Ojpub25Db21wb3NpdGVkUGFyZW50U3RhY2tpbmdDb250ZXh0SGFzQmxlbmRlZENoaWxkKCkgY29u
c3QKK3sKKyAgICBmb3IgKGF1dG8gYW5jZXN0b3IgPSBwYXJlbnQoKTsgYW5jZXN0b3IgJiYgIWFu
Y2VzdG9yLT5pc0NvbXBvc2l0ZWQoKSAmJiAhYW5jZXN0b3ItPnJlbmRlcmVyKCkuaXNSb290KCk7
IGFuY2VzdG9yID0gYW5jZXN0b3ItPnBhcmVudCgpKQorICAgICAgICBpZiAoYW5jZXN0b3ItPmlz
U3RhY2tpbmdDb250ZXh0KCkpCisgICAgICAgICAgICByZXR1cm4gYW5jZXN0b3ItPmhhc0JsZW5k
ZWRFbGVtZW50SW5DaGlsZFN0YWNraW5nQ29udGV4dCgpOworCisgICAgcmV0dXJuIGZhbHNlOwog
fQogCiAjZW5kaWYKQEAgLTEwODAsMTAgKzEwOTUsMTEgQEAgdm9pZCBSZW5kZXJMYXllcjo6c2V0
QW5jZXN0b3JDaGFpbkhhc1Zpc2libGVEZXNjZW5kYW50KCkKIAogdm9pZCBSZW5kZXJMYXllcjo6
dXBkYXRlRGVzY2VuZGFudERlcGVuZGVudEZsYWdzKEhhc2hTZXQ8Y29uc3QgUmVuZGVyT2JqZWN0
Kj4qIG91dE9mRmxvd0Rlc2NlbmRhbnRDb250YWluaW5nQmxvY2tzKQogewotICAgIGlmIChtX3Zp
c2libGVEZXNjZW5kYW50U3RhdHVzRGlydHkgfHwgbV9oYXNTZWxmUGFpbnRpbmdMYXllckRlc2Nl
bmRhbnREaXJ0eSB8fCBtX2hhc091dE9mRmxvd1Bvc2l0aW9uZWREZXNjZW5kYW50RGlydHkpIHsK
KyAgICBpZiAobV92aXNpYmxlRGVzY2VuZGFudFN0YXR1c0RpcnR5IHx8IG1faGFzU2VsZlBhaW50
aW5nTGF5ZXJEZXNjZW5kYW50RGlydHkgfHwgbV9oYXNPdXRPZkZsb3dQb3NpdGlvbmVkRGVzY2Vu
ZGFudERpcnR5IHx8IGhhc0JsZW5kZWRFbGVtZW50SW5DaGlsZFN0YWNraW5nQ29udGV4dFN0YXR1
c0RpcnR5KCkpIHsKICAgICAgICAgbV9oYXNWaXNpYmxlRGVzY2VuZGFudCA9IGZhbHNlOwogICAg
ICAgICBtX2hhc1NlbGZQYWludGluZ0xheWVyRGVzY2VuZGFudCA9IGZhbHNlOwogICAgICAgICBt
X2hhc091dE9mRmxvd1Bvc2l0aW9uZWREZXNjZW5kYW50ID0gZmFsc2U7CisgICAgICAgIHNldEhh
c0JsZW5kZWRFbGVtZW50SW5DaGlsZFN0YWNraW5nQ29udGV4dChmYWxzZSk7CiAKICAgICAgICAg
SGFzaFNldDxjb25zdCBSZW5kZXJPYmplY3QqPiBjaGlsZE91dE9mRmxvd0Rlc2NlbmRhbnRDb250
YWluaW5nQmxvY2tzOwogICAgICAgICBmb3IgKFJlbmRlckxheWVyKiBjaGlsZCA9IGZpcnN0Q2hp
bGQoKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nKCkpIHsKQEAgLTExMDMsMTIg
KzExMTksMTQgQEAgdm9pZCBSZW5kZXJMYXllcjo6dXBkYXRlRGVzY2VuZGFudERlcGVuZGVudEZs
YWdzKEhhc2hTZXQ8Y29uc3QgUmVuZGVyT2JqZWN0Kj4qIG8KICAgICAgICAgICAgIGJvb2wgaGFz
VmlzaWJsZURlc2NlbmRhbnQgPSBjaGlsZC0+bV9oYXNWaXNpYmxlQ29udGVudCB8fCBjaGlsZC0+
bV9oYXNWaXNpYmxlRGVzY2VuZGFudDsKICAgICAgICAgICAgIGJvb2wgaGFzU2VsZlBhaW50aW5n
TGF5ZXJEZXNjZW5kYW50ID0gY2hpbGQtPmlzU2VsZlBhaW50aW5nTGF5ZXIoKSB8fCBjaGlsZC0+
aGFzU2VsZlBhaW50aW5nTGF5ZXJEZXNjZW5kYW50KCk7CiAgICAgICAgICAgICBib29sIGhhc091
dE9mRmxvd1Bvc2l0aW9uZWREZXNjZW5kYW50ID0gIWNoaWxkT3V0T2ZGbG93RGVzY2VuZGFudENv
bnRhaW5pbmdCbG9ja3MuaXNFbXB0eSgpOworICAgICAgICAgICAgYm9vbCBoYXNCbGVuZGVkRWxl
bWVudEluQ2hpbGRTdGFja2luZ0NvbnRleHQgPSBjaGlsZC0+aGFzQmxlbmRNb2RlKCkgfHwgY2hp
bGQtPmhhc0JsZW5kZWRFbGVtZW50SW5DaGlsZFN0YWNraW5nQ29udGV4dCgpOwogCiAgICAgICAg
ICAgICBtX2hhc1Zpc2libGVEZXNjZW5kYW50IHw9IGhhc1Zpc2libGVEZXNjZW5kYW50OwogICAg
ICAgICAgICAgbV9oYXNTZWxmUGFpbnRpbmdMYXllckRlc2NlbmRhbnQgfD0gaGFzU2VsZlBhaW50
aW5nTGF5ZXJEZXNjZW5kYW50OwogICAgICAgICAgICAgbV9oYXNPdXRPZkZsb3dQb3NpdGlvbmVk
RGVzY2VuZGFudCB8PSBoYXNPdXRPZkZsb3dQb3NpdGlvbmVkRGVzY2VuZGFudDsKKyAgICAgICAg
ICAgIHNldEhhc0JsZW5kZWRFbGVtZW50SW5DaGlsZFN0YWNraW5nQ29udGV4dCh0aGlzLT5oYXNC
bGVuZGVkRWxlbWVudEluQ2hpbGRTdGFja2luZ0NvbnRleHQoKSB8IGhhc0JsZW5kZWRFbGVtZW50
SW5DaGlsZFN0YWNraW5nQ29udGV4dCk7CiAKLSAgICAgICAgICAgIGlmIChtX2hhc1Zpc2libGVE
ZXNjZW5kYW50ICYmIG1faGFzU2VsZlBhaW50aW5nTGF5ZXJEZXNjZW5kYW50ICYmIG1faGFzT3V0
T2ZGbG93UG9zaXRpb25lZERlc2NlbmRhbnQpCisgICAgICAgICAgICBpZiAobV9oYXNWaXNpYmxl
RGVzY2VuZGFudCAmJiBtX2hhc1NlbGZQYWludGluZ0xheWVyRGVzY2VuZGFudCAmJiBtX2hhc091
dE9mRmxvd1Bvc2l0aW9uZWREZXNjZW5kYW50ICYmIHRoaXMtPmhhc0JsZW5kZWRFbGVtZW50SW5D
aGlsZFN0YWNraW5nQ29udGV4dCgpKQogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9
CiAKQEAgLTExMjIsNiArMTE0MCw4IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnVwZGF0ZURlc2NlbmRh
bnREZXBlbmRlbnRGbGFncyhIYXNoU2V0PGNvbnN0IFJlbmRlck9iamVjdCo+KiBvCiAgICAgICAg
ICAgICB1cGRhdGVOZWVkc0NvbXBvc2l0ZWRTY3JvbGxpbmcoKTsKIAogICAgICAgICBtX2hhc091
dE9mRmxvd1Bvc2l0aW9uZWREZXNjZW5kYW50RGlydHkgPSBmYWxzZTsKKworICAgICAgICBzZXRI
YXNCbGVuZGVkRWxlbWVudEluQ2hpbGRTdGFja2luZ0NvbnRleHRTdGF0dXNEaXJ0eShmYWxzZSk7
CiAgICAgfQogCiAgICAgaWYgKG1fdmlzaWJsZUNvbnRlbnRTdGF0dXNEaXJ0eSkgewpAQCAtMTc3
Nyw2ICsxNzk3LDExIEBAIHZvaWQgUmVuZGVyTGF5ZXI6OmFkZENoaWxkKFJlbmRlckxheWVyKiBj
aGlsZCwgUmVuZGVyTGF5ZXIqIGJlZm9yZUNoaWxkKQogICAgIGlmIChjaGlsZC0+cmVuZGVyZXIo
KS5pc091dE9mRmxvd1Bvc2l0aW9uZWQoKSB8fCBjaGlsZC0+aGFzT3V0T2ZGbG93UG9zaXRpb25l
ZERlc2NlbmRhbnQoKSkKICAgICAgICAgc2V0QW5jZXN0b3JDaGFpbkhhc091dE9mRmxvd1Bvc2l0
aW9uZWREZXNjZW5kYW50KGNoaWxkLT5yZW5kZXJlcigpLmNvbnRhaW5pbmdCbG9jaygpKTsKIAor
I2lmIEVOQUJMRShDU1NfQ09NUE9TSVRJTkcpCisgICAgaWYgKGNoaWxkLT5oYXNCbGVuZE1vZGUo
KSB8fCAoIWNoaWxkLT5pc1N0YWNraW5nQ29udGV4dCgpICYmIGNoaWxkLT5oYXNCbGVuZGVkRWxl
bWVudEluQ2hpbGRTdGFja2luZ0NvbnRleHQoKSkpCisgICAgICAgIGNoaWxkLT51cGRhdGVOb25D
b21wb3NpdGVkUGFyZW50U3RhY2tpbmdDb250ZXh0SGFzQmxlbmRlZENoaWxkKHRydWUpOworI2Vu
ZGlmCisKICAgICBjb21wb3NpdG9yKCkubGF5ZXJXYXNBZGRlZCgqdGhpcywgKmNoaWxkKTsKIH0K
IApAQCAtMTgxOSw2ICsxODQ0LDExIEBAIFJlbmRlckxheWVyKiBSZW5kZXJMYXllcjo6cmVtb3Zl
Q2hpbGQoUmVuZGVyTGF5ZXIqIG9sZENoaWxkKQogICAgIGlmIChvbGRDaGlsZC0+aXNTZWxmUGFp
bnRpbmdMYXllcigpIHx8IG9sZENoaWxkLT5oYXNTZWxmUGFpbnRpbmdMYXllckRlc2NlbmRhbnQo
KSkKICAgICAgICAgZGlydHlBbmNlc3RvckNoYWluSGFzU2VsZlBhaW50aW5nTGF5ZXJEZXNjZW5k
YW50U3RhdHVzKCk7CiAKKyNpZiBFTkFCTEUoQ1NTX0NPTVBPU0lUSU5HKQorICAgIGlmIChvbGRD
aGlsZC0+aGFzQmxlbmRNb2RlKCkgfHwgb2xkQ2hpbGQtPmlzb2xhdGVzQmxlbmRpbmcoKSkKKyAg
ICAgICAgZGlydHlBbmNlc3RvclBhcmVudFN0YWNraW5nQ29udGV4dEhhc0JsZW5kZWRFbGVtZW50
KCk7CisjZW5kaWYKKwogICAgIHJldHVybiBvbGRDaGlsZDsKIH0KIApAQCAtNjQwMyw2ICs2NDMz
LDEyIEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnVwZGF0ZVN0YWNraW5nQ29udGV4dHNBZnRlclN0eWxl
Q2hhbmdlKGNvbnN0IFJlbmRlclN0eWxlKiBvbGRTCiAgICAgICAgICAgICBkaXJ0eVpPcmRlckxp
c3RzKCk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIGNsZWFyWk9yZGVyTGlzdHMoKTsKKwor
I2lmIEVOQUJMRShDU1NfQ09NUE9TSVRJTkcpCisgICAgICAgICAgICBtX2hhc0JsZW5kZWRFbGVt
ZW50SW5DaGlsZFN0YWNraW5nQ29udGV4dCA9IGlzU3RhY2tpbmdDb250ZXh0ID8gbm9uQ29tcG9z
aXRlZFBhcmVudFN0YWNraW5nQ29udGV4dEhhc0JsZW5kZWRDaGlsZCgpIDogZmFsc2U7CisgICAg
ICAgICAgICBkaXJ0eUFuY2VzdG9yUGFyZW50U3RhY2tpbmdDb250ZXh0SGFzQmxlbmRlZEVsZW1l
bnQoKTsKKyNlbmRpZgorCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTY1NTMsNyArNjU4
OSw3IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnN0eWxlQ2hhbmdlZChTdHlsZURpZmZlcmVuY2UgZGlm
ZiwgY29uc3QgUmVuZGVyU3R5bGUqIG9sZFN0eWxlCiAgICAgdXBkYXRlRGVzY2VuZGFudERlcGVu
ZGVudEZsYWdzKCk7CiAgICAgdXBkYXRlVHJhbnNmb3JtKCk7CiAjaWYgRU5BQkxFKENTU19DT01Q
T1NJVElORykKLSAgICB1cGRhdGVCbGVuZE1vZGUob2xkU3R5bGUpOworICAgIHVwZGF0ZUJsZW5k
TW9kZSgpOwogI2VuZGlmCiAjaWYgRU5BQkxFKENTU19GSUxURVJTKQogICAgIHVwZGF0ZU9yUmVt
b3ZlRmlsdGVyQ2xpZW50cygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaApp
bmRleCBkZjA1NWE5Y2E0MTY1MmI4ZTA0MTI2NGFlZGFhOWJiODNiZWI4MzhiLi5iNzA3MWMyY2I3
MDNkYTZlZWYyMmI3YzVkN2FhNjlkOWQyMjAyMjllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXIuaApAQCAtNTAzLDggKzUwMyw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHVwZGF0
ZVRyYW5zZm9ybSgpOwogICAgIAogI2lmIEVOQUJMRShDU1NfQ09NUE9TSVRJTkcpCi0gICAgdm9p
ZCB1cGRhdGVCbGVuZE1vZGUoY29uc3QgUmVuZGVyU3R5bGUqKTsKLSAgICB2b2lkIHVwZGF0ZVBh
cmVudFN0YWNraW5nQ29udGV4dFNob3VsZElzb2xhdGVCbGVuZGluZygpOworICAgIHZvaWQgdXBk
YXRlQmxlbmRNb2RlKCk7CiAjZW5kaWYKIAogICAgIGNvbnN0IExheW91dFNpemUmIG9mZnNldEZv
ckluRmxvd1Bvc2l0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9vZmZzZXRGb3JJbkZsb3dQb3NpdGlv
bjsgfQpAQCAtNzkwLDEyICs3ODksNDggQEAgcHVibGljOgogICAgIGJvb2wgaXNvbGF0ZXNCbGVu
ZGluZygpIGNvbnN0CiAgICAgewogI2lmIEVOQUJMRShDU1NfQ09NUE9TSVRJTkcpCi0gICAgICAg
IHJldHVybiBtX2lzb2xhdGVzQmxlbmRpbmc7CisgICAgICAgIHJldHVybiBtX2hhc0JsZW5kZWRF
bGVtZW50SW5DaGlsZFN0YWNraW5nQ29udGV4dCAmJiBpc1N0YWNraW5nQ29udGV4dCgpOwogI2Vs
c2UKICAgICAgICAgcmV0dXJuIGZhbHNlOwogI2VuZGlmCiAgICAgfQogCisgICAgYm9vbCBoYXNC
bGVuZGVkRWxlbWVudEluQ2hpbGRTdGFja2luZ0NvbnRleHQoKSBjb25zdAorICAgIHsKKyNpZiBF
TkFCTEUoQ1NTX0NPTVBPU0lUSU5HKQorICAgICAgICByZXR1cm4gbV9oYXNCbGVuZGVkRWxlbWVu
dEluQ2hpbGRTdGFja2luZ0NvbnRleHQ7CisjZWxzZQorICAgICAgICByZXR1cm4gZmFsc2U7Cisj
ZW5kaWYKKyAgICB9CisKKyAgICB2b2lkIHNldEhhc0JsZW5kZWRFbGVtZW50SW5DaGlsZFN0YWNr
aW5nQ29udGV4dChib29sIGhhc0JsZW5kZWRFbGVtZW50SW5DaGlsZFN0YWNraW5nQ29udGV4dCkK
KyAgICB7CisjaWYgRU5BQkxFKENTU19DT01QT1NJVElORykKKyAgICAgICAgbV9oYXNCbGVuZGVk
RWxlbWVudEluQ2hpbGRTdGFja2luZ0NvbnRleHQgPSBoYXNCbGVuZGVkRWxlbWVudEluQ2hpbGRT
dGFja2luZ0NvbnRleHQ7CisjZWxzZQorICAgICAgICBVTlVTRURfUEFSQU0oaGFzQmxlbmRlZEVs
ZW1lbnRJbkNoaWxkU3RhY2tpbmdDb250ZXh0KTsKKyNlbmRpZgorICAgIH0KKworICAgIGJvb2wg
aGFzQmxlbmRlZEVsZW1lbnRJbkNoaWxkU3RhY2tpbmdDb250ZXh0U3RhdHVzRGlydHkoKSBjb25z
dAorICAgIHsKKyNpZiBFTkFCTEUoQ1NTX0NPTVBPU0lUSU5HKQorICAgICAgICByZXR1cm4gbV9o
YXNCbGVuZGVkRWxlbWVudEluQ2hpbGRTdGFja2luZ0NvbnRleHRTdGF0dXNEaXJ0eTsKKyNlbHNl
CisgICAgICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgorICAgIH0KKworICAgIHZvaWQgc2V0SGFz
QmxlbmRlZEVsZW1lbnRJbkNoaWxkU3RhY2tpbmdDb250ZXh0U3RhdHVzRGlydHkoYm9vbCBoYXNC
bGVuZGVkRWxlbWVudEluQ2hpbGRTdGFja2luZ0NvbnRleHRTdGF0dXNEaXJ0eSkKKyAgICB7Cisj
aWYgRU5BQkxFKENTU19DT01QT1NJVElORykKKyAgICAgICAgbV9oYXNCbGVuZGVkRWxlbWVudElu
Q2hpbGRTdGFja2luZ0NvbnRleHRTdGF0dXNEaXJ0eSA9IGhhc0JsZW5kZWRFbGVtZW50SW5DaGls
ZFN0YWNraW5nQ29udGV4dFN0YXR1c0RpcnR5OworI2Vsc2UKKyAgICAgICAgVU5VU0VEX1BBUkFN
KGhhc0JsZW5kZWRFbGVtZW50SW5DaGlsZFN0YWNraW5nQ29udGV4dFN0YXR1c0RpcnR5KTsKKyNl
bmRpZgorICAgIH0KKwogICAgIGJvb2wgaXNDb21wb3NpdGVkKCkgY29uc3QgeyByZXR1cm4gbV9i
YWNraW5nICE9IDA7IH0KICAgICBib29sIGhhc0NvbXBvc2l0aW5nRGVzY2VuZGFudCgpIGNvbnN0
IHsgcmV0dXJuIG1faGFzQ29tcG9zaXRpbmdEZXNjZW5kYW50OyB9CiAgICAgYm9vbCBoYXNDb21w
b3NpdGVkTWFzaygpIGNvbnN0OwpAQCAtMTEwOSw2ICsxMTQ0LDEyIEBAIHByaXZhdGU6CiAgICAg
dm9pZCB1cGRhdGVPclJlbW92ZUZpbHRlckVmZmVjdFJlbmRlcmVyKCk7CiAjZW5kaWYKIAorI2lm
IEVOQUJMRShDU1NfQ09NUE9TSVRJTkcpCisgICAgdm9pZCB1cGRhdGVOb25Db21wb3NpdGVkUGFy
ZW50U3RhY2tpbmdDb250ZXh0SGFzQmxlbmRlZENoaWxkKGJvb2wgaGFzQmxlbmRlZENoaWxkKTsK
KyAgICB2b2lkIGRpcnR5QW5jZXN0b3JQYXJlbnRTdGFja2luZ0NvbnRleHRIYXNCbGVuZGVkRWxl
bWVudCgpOworICAgIGJvb2wgbm9uQ29tcG9zaXRlZFBhcmVudFN0YWNraW5nQ29udGV4dEhhc0Js
ZW5kZWRDaGlsZCgpIGNvbnN0OworI2VuZGlmCisKICAgICB2b2lkIHBhcmVudENsaXBSZWN0cyhj
b25zdCBDbGlwUmVjdHNDb250ZXh0JiwgQ2xpcFJlY3RzJikgY29uc3Q7CiAgICAgQ2xpcFJlY3Qg
YmFja2dyb3VuZENsaXBSZWN0KGNvbnN0IENsaXBSZWN0c0NvbnRleHQmKSBjb25zdDsKIApAQCAt
MTI0Niw4ICsxMjg3LDggQEAgcHJpdmF0ZToKIAogI2lmIEVOQUJMRShDU1NfQ09NUE9TSVRJTkcp
CiAgICAgQmxlbmRNb2RlIG1fYmxlbmRNb2RlIDogNTsKLSAgICBib29sIG1faXNvbGF0ZXNCbGVu
ZGluZyA6IDE7Ci0gICAgYm9vbCBtX3VwZGF0ZVBhcmVudFN0YWNraW5nQ29udGV4dFNob3VsZElz
b2xhdGVCbGVuZGluZ0RpcnR5IDogMTsKKyAgICBib29sIG1faGFzQmxlbmRlZEVsZW1lbnRJbkNo
aWxkU3RhY2tpbmdDb250ZXh0IDogMTsKKyAgICBib29sIG1faGFzQmxlbmRlZEVsZW1lbnRJbkNo
aWxkU3RhY2tpbmdDb250ZXh0U3RhdHVzRGlydHkgOiAxOwogI2VuZGlmCiAKICAgICBSZW5kZXJM
YXllck1vZGVsT2JqZWN0JiBtX3JlbmRlcmVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAppbmRleCAyMTQ5YjBlMzRjOTMwNWE0NTk0
NTdhNzQ1YWQ0ZDNiZDcyMDJmOGJhLi5iNDUxZGJiOTg4NzhlODc2NTNmMzE3MDNhYjNlYzE0Yjdi
MTNhOGVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJD
b21wb3NpdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJD
b21wb3NpdG9yLmNwcApAQCAtMTA0NywxMCArMTA0Nyw2IEBAIHZvaWQgUmVuZGVyTGF5ZXJDb21w
b3NpdG9yOjpjb21wdXRlQ29tcG9zaXRpbmdSZXF1aXJlbWVudHMoUmVuZGVyTGF5ZXIqIGFuY2Vz
dG9yCiAgICAgbGF5ZXIudXBkYXRlRGVzY2VuZGFudERlcGVuZGVudEZsYWdzKCk7CiAgICAgbGF5
ZXIudXBkYXRlTGF5ZXJMaXN0c0lmTmVlZGVkKCk7CiAKLSNpZiBFTkFCTEUoQ1NTX0NPTVBPU0lU
SU5HKQotICAgIGxheWVyLnVwZGF0ZVBhcmVudFN0YWNraW5nQ29udGV4dFNob3VsZElzb2xhdGVC
bGVuZGluZygpOwotI2VuZGlmCi0KICAgICBpZiAobGF5ZXIuaXNGbG93VGhyZWFkQ29sbGVjdGlu
Z0dyYXBoaWNzTGF5ZXJzVW5kZXJSZWdpb25zKCkpIHsKICAgICAgICAgUmVuZGVyRmxvd1RocmVh
ZCYgZmxvd1RocmVhZCA9IHRvUmVuZGVyRmxvd1RocmVhZChsYXllci5yZW5kZXJlcigpKTsKICAg
ICAgICAgbGF5ZXIuc2V0SGFzQ29tcG9zaXRpbmdEZXNjZW5kYW50KGZsb3dUaHJlYWQuaGFzQ29t
cG9zaXRpbmdSZWdpb25EZXNjZW5kYW50KCkpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGM4YmU0NWEyYWNmMGZhODk1NTYz
ODBlZWU0MWViMmYwMzM3Yjg3NzUuLmEyZDc1Zjg2ODI5NWM3NTgyN2U2ZWQ2YTIwZjBkYjU3OGJm
MTFiZjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxNC0wMy0wNiAgTWloYWkgVGljYSAgPG1p
dGljYUBhZG9iZS5jb20+CisKKyAgICAgICAgW0NTUyBCbGVuZGluZ10gQmxlbmRpbmcgb3BlcmF0
aW9uIGlzIG5vdCBpc29sYXRlZCB3aGVuIHNldHRpbmcgei1pbmRleCBvbiBwYXJlbnQgZnJvbSBq
YXZhc2NyaXB0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMjkzMDcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBUZXN0IGlmIHNldHRpbmcgb3IgdW5zZXR0aW5nIHN0YWNraW5nIGNvbnRleHQgb3IgYmxlbmQg
bW9kZSBmcm9tIHNjcmlwdCBjb3JyZWN0bHkgdXBkYXRlcyBibGVuZGluZworICAgICAgICBpc29s
YXRpb24uIE5vdGUgdGhhdCAyIG91dCBvZiB0aGUgOCB0ZXN0IGNhc2VzIGFyZSBmYWlsaW5nIGR1
ZSB0byBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI5NDgwLgorCisg
ICAgICAgICogY3NzMy9jb21wb3NpdGluZy9ibGVuZC1tb2RlLWJhY2tncm91bmQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9yZXBhaW50L2JsZW5kLW1vZGUtaXNvbGF0ZS1zdGFja2luZy1j
b250ZXh0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9yZXBhaW50L2JsZW5k
LW1vZGUtaXNvbGF0ZS1zdGFja2luZy1jb250ZXh0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBs
YXRmb3JtL21hYy9jc3MzL2NvbXBvc2l0aW5nL2JsZW5kLW1vZGUtYmFja2dyb3VuZC1leHBlY3Rl
ZC5wbmc6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9jc3MzL2NvbXBvc2l0aW5nL2Js
ZW5kLW1vZGUtYmFja2dyb3VuZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorCiAyMDE0LTAzLTA1ICBK
aW53b28gU29uZyAgPGppbndvbzcuc29uZ0BzYW1zdW5nLmNvbT4KIAogICAgICAgICBVbnJldmll
d2VkIEVGTCBnYXJkZW5pbmcuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NvbXBvc2l0
aW5nL2JsZW5kLW1vZGUtYmFja2dyb3VuZC5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9jb21wb3Np
dGluZy9ibGVuZC1tb2RlLWJhY2tncm91bmQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMWVjMjY2NjRjOGY1
OWU5NzBkNzcwMjg4ODZhMThjZTNmNTljYzhiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvY3NzMy9jb21wb3NpdGluZy9ibGVuZC1tb2RlLWJhY2tncm91bmQuaHRtbApAQCAtMCwwICsx
LDE4IEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8c3R5bGU+CisgICAgZGl2
IHsKKyAgICAgICAgbWFyZ2luOiAyMHB4OworICAgICAgICB3aWR0aDogNjBweDsKKyAgICAgICAg
aGVpZ2h0OiA2MHB4OworICAgICAgICAtd2Via2l0LW1peC1ibGVuZC1tb2RlOiBkaWZmZXJlbmNl
OworICAgICAgICBiYWNrZ3JvdW5kOiByZWQ7CisgICAgfQorICAgIGJvZHkgeworICAgICAgICBi
YWNrZ3JvdW5kOiBibHVlOworICAgIH0KKzwvc3R5bGU+Cis8Ym9keT4KKyAgICA8ZGl2IGNsYXNz
PSJwYXJlbnQiPjwvZGl2PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9y
ZXBhaW50L2JsZW5kLW1vZGUtaXNvbGF0ZS1zdGFja2luZy1jb250ZXh0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9ibGVuZC1tb2RlLWlzb2xhdGUtc3RhY2tpbmctY29u
dGV4dC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTgwNTIwNTA3ZGM4YjU5YTFlNjI0N2Y2OTk1
NjEzNzkyMzgyMjJmZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWlu
dC9ibGVuZC1tb2RlLWlzb2xhdGUtc3RhY2tpbmctY29udGV4dC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNSBAQAorVGVzdCBpZiBzZXR0aW5nIGJsZW5kIG1vZGUgY3JlYXRlcyBpc29sYXRpb24u
CisKK1Rlc3QgaWYgdW5zZXR0aW5nIGJsZW5kIG1vZGUgcmVtb3ZlcyBpc29sYXRpb24uCisKK1Rl
c3QgaWYgdW5zZXR0aW5nIGEgcGFyZW50J3Mgc3RhY2tpbmcgY29udGV4dCBjb3JyZWN0bHkgcmVt
b3ZlcyBpc29sYXRpb24uCisKK1Rlc3QgaWYgc3dpdGNoaW5nIGEgYmxlbmQgbW9kZSBwcmVzZXJ2
ZXMgaXNvbGF0aW9uLgorCitUZXN0IGlmIHN3aXRjaGluZyB0aGUgcHJvcGVydHkgdGhhdCBjYXVz
ZXMgdGhlIHBhcmVudCB0byBjcmVhdGUgYSBzdGFja2luZyBjb250ZXh0IHByZXNlcnZlcyBpc29s
YXRpb24uCisKK1Rlc3QgaWYgdW5zZXR0aW5nIGEgcGFyZW50J3Mgc3RhY2tpbmcgY29udGV4dCBj
b3JyZWN0bHkgdXBkYXRlcyBpdHMgcGFyZW50IGlzb2xhdGlvbi4KKworKHJlcGFpbnQgcmVjdHMK
KyAgKHJlY3QgNDggNTQgNjAgNjApCisgIChyZWN0IDQ4IDU0IDYwIDYwKQorICAocmVjdCA0OCA1
NCA2MCA2MCkKKyAgKHJlY3QgNDggNTQgNjAgNjApCisgIChyZWN0IDQ4IDE3MiA2MCA2MCkKKyAg
KHJlY3QgNDggMTcyIDYwIDYwKQorICAocmVjdCAyOCAyOTAgNjAgNjApCisgIChyZWN0IDQ4IDI5
MCA2MCA2MCkKKyAgKHJlY3QgNDggMjkwIDYwIDYwKQorICAocmVjdCA0OCA0MDggNjAgNjApCisg
IChyZWN0IDQ4IDQwOCA2MCA2MCkKKyAgKHJlY3QgMjggNTI2IDYwIDYwKQorICAocmVjdCA0OCA1
MjYgNjAgNjApCisgIChyZWN0IDQ4IDY0NCA2MCA2MCkKKyAgKHJlY3QgNjggNjQ0IDYwIDYwKQor
ICAocmVjdCA2OCA2NDQgNjAgNjApCisgIChyZWN0IDI4IDI5MCA2MCA2MCkKKyAgKHJlY3QgNDgg
NjQ0IDYwIDYwKQorICAocmVjdCAyOCA1MjYgNjAgNjApCisgIChyZWN0IDg4IDY0NCAyMCA2MCkK
KykKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2JsZW5kLW1vZGUtaXNv
bGF0ZS1zdGFja2luZy1jb250ZXh0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvYmxl
bmQtbW9kZS1pc29sYXRlLXN0YWNraW5nLWNvbnRleHQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NGU3ZjUw
OGRhY2QzNGMxYzQwMGZiNWI0MjUwOThlYjBjZjVmZDY3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9yZXBhaW50L2JsZW5kLW1vZGUtaXNvbGF0ZS1zdGFja2luZy1jb250ZXh0
Lmh0bWwKQEAgLTAsMCArMSw4OSBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgor
PHN0eWxlPgorICAgIGRpdiB7CisgICAgICAgIG1hcmdpbjogMjBweDsKKyAgICAgICAgd2lkdGg6
IDYwcHg7CisgICAgICAgIGhlaWdodDogNjBweDsKKyAgICB9CisKKyAgICAucGFyZW50IHsKKyAg
ICAgICAgYmFja2dyb3VuZDogIzBGMDsKKyAgICB9CisKKyAgICAuY2hpbGQgeworICAgICAgICBi
YWNrZ3JvdW5kOiAjMDBGOworICAgIH0KKworICAgIC5zdGFja2luZyB7CisgICAgICAgIHBvc2l0
aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgei1pbmRleDogMDsKKyAgICB9CisKKyAgICAuc3RhY2tp
bmcyIHsKKyAgICAgICAgb3BhY2l0eTogMC45OTsKKyAgICB9CisKKyAgICAuYmxlbmRlciB7Cisg
ICAgICAgIC13ZWJraXQtbWl4LWJsZW5kLW1vZGU6IGRpZmZlcmVuY2U7CisgICAgfQorCisgICAg
LmJsZW5kZXIyIHsKKyAgICAgICAgLXdlYmtpdC1taXgtYmxlbmQtbW9kZTogc2NyZWVuOworICAg
IH0KKzwvc3R5bGU+Cis8c2NyaXB0PgorICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KHRydWUpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
cmVzb3VyY2VzL3RleHQtYmFzZWQtcmVwYWludC5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48
L3NjcmlwdD4KKzwhLS0gUmVwYWludCB0ZXN0IHRvIGVuc3VyZSB0aGF0IHNldHRpbmcgYSBibGVu
ZCBtb2RlIGR5bmFtaWNhbGx5IHRyaWdnZXJzIHRoaXMgb3BlcmF0aW9uCisgICAgb25seSB3aXRo
IHRoZSBjb250ZW50cyBvZiB0aGUgbmVhcmVzdCBhbmNlc3RvciBzdGFja2luZyBjb250ZXh0LiAt
LT4KKzxib2R5IG9ubG9hZD0icnVuUmVwYWludFRlc3QoKSI+CisgICAgPHA+VGVzdCBpZiBzZXR0
aW5nIGJsZW5kIG1vZGUgY3JlYXRlcyBpc29sYXRpb24uPC9wPgorICAgIDxkaXYgY2xhc3M9InBh
cmVudCBzdGFja2luZyI+CisgICAgICAgIDxkaXYgaWQ9ImZpcnN0IiBjbGFzcz0iY2hpbGQiPjwv
ZGl2PgorICAgIDwvZGl2PgorCisgICAgPHA+VGVzdCBpZiB1bnNldHRpbmcgYmxlbmQgbW9kZSBy
ZW1vdmVzIGlzb2xhdGlvbi48L3A+CisgICAgPGRpdiBjbGFzcz0icGFyZW50IHN0YWNraW5nIj4K
KyAgICAgICAgPGRpdiBpZD0ic2Vjb25kIiBjbGFzcz0iY2hpbGQgYmxlbmRlciI+PC9kaXY+Cisg
ICAgPC9kaXY+CisKKyAgICA8cD5UZXN0IGlmIHVuc2V0dGluZyBhIHBhcmVudCdzIHN0YWNraW5n
IGNvbnRleHQgY29ycmVjdGx5IHJlbW92ZXMgaXNvbGF0aW9uLjwvcD4KKyAgICA8ZGl2IGlkPSJ0
aGlyZCIgY2xhc3M9InBhcmVudCBzdGFja2luZyI+CisgICAgICAgIDxkaXYgY2xhc3M9ImNoaWxk
IGJsZW5kZXIiPjwvZGl2PgorICAgIDwvZGl2PgorCisgICAgPHA+VGVzdCBpZiBzd2l0Y2hpbmcg
YSBibGVuZCBtb2RlIHByZXNlcnZlcyBpc29sYXRpb24uPC9wPgorICAgICA8ZGl2IGNsYXNzPSJw
YXJlbnQgc3RhY2tpbmciPgorICAgICAgICAgPGRpdiBpZD0iZm91cnRoIiBjbGFzcz0iY2hpbGQg
YmxlbmRlciI+PC9kaXY+CisgICAgIDwvZGl2PgorCisgICAgPHA+VGVzdCBpZiBzd2l0Y2hpbmcg
dGhlIHByb3BlcnR5IHRoYXQgY2F1c2VzIHRoZSBwYXJlbnQgdG8gY3JlYXRlIGEgc3RhY2tpbmcg
Y29udGV4dCBwcmVzZXJ2ZXMgaXNvbGF0aW9uLjwvcD4KKyAgICA8ZGl2IGlkPSJmaWZ0aCIgY2xh
c3M9InBhcmVudCBzdGFja2luZyI+CisgICAgICAgIDxkaXYgY2xhc3M9ImNoaWxkIGJsZW5kZXIi
PjwvZGl2PgorICAgIDwvZGl2PgorCisgICAgPHA+VGVzdCBpZiB1bnNldHRpbmcgYSBwYXJlbnQn
cyBzdGFja2luZyBjb250ZXh0IGNvcnJlY3RseSB1cGRhdGVzIGl0cyBwYXJlbnQgaXNvbGF0aW9u
LjwvcD4KKyAgICA8ZGl2IGNsYXNzPSJwYXJlbnQgc3RhY2tpbmciPgorICAgICAgICA8ZGl2IGlk
PSJzaXh0aCIgY2xhc3M9InBhcmVudCBzdGFja2luZyI+CisgICAgICAgICAgICA8ZGl2IGNsYXNz
PSJjaGlsZCBibGVuZGVyIj48L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgPC9kaXY+CisKKyAg
ICA8c2NyaXB0PgorICAgICAgICBmdW5jdGlvbiByZXBhaW50VGVzdCgpIHsKKyAgICAgICAgICAg
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmaXJzdCcpLmNsYXNzTmFtZSA9ICJjaGlsZCBibGVu
ZGVyIjsKKyAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzZWNvbmQnKS5jbGFz
c05hbWUgPSAiY2hpbGQiOworCisgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
dGhpcmQnKS5jbGFzc05hbWUgPSAicGFyZW50IjsKKworICAgICAgICAgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ2ZvdXJ0aCcpLmNsYXNzTmFtZSA9ICJjaGlsZCBibGVuZGVyMiI7CisKKyAg
ICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmaWZ0aCcpLmNsYXNzTmFtZSA9ICJw
YXJlbnQgc3RhY2tpbmcyIjsKKyAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdz
aXh0aCcpLmNsYXNzTmFtZSA9ICJwYXJlbnQiOworICAgICAgICB9CisgICAgIDwvc2NyaXB0Pgor
IDwvYm9keT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvY3NzMy9jb21wb3NpdGluZy9ibGVuZC1tb2RlLWJhY2tncm91bmQt
ZXhwZWN0ZWQucG5nIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NzczMvY29tcG9zaXRpbmcv
YmxlbmQtbW9kZS1iYWNrZ3JvdW5kLWV4cGVjdGVkLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYTc0NTRmZjE1
NjUwMmM2ZjVhZGI5MWQ1MjNiZDY3ZTIyYzdlMTRiCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAx
MDU2Mgp6Y21lQVNATj8ob2xIeWB1VkJxIWlhMHl+eVV7K3ZZVjJhPmkxQiVRbFlicFJ6bmtCOWdD
Q000NyQ9U3VGeGVWcigKeiM+VkV4JHdyQXJOb21RYyRwKXNEPTROSnojend8VFg2N2N3clkxRitA
OSMxJlhrNzdoYVNXK29lMCVkP1otfUZTCnppPSlHQ15GMFVhKk1CPzRzTTM9JFBiKnBHI2hNZktv
QGMtSiRKaFU+YEs7e0Z6YCk0RiFYY3BHJn5TamNRSigrYQp6Mk5vQ35CPUxfXkxjeHYmc3NKUH40
PThZY2d7PSFoVExhQEdYYHBWSEYlTT1vRm47UX08cVI8c0VHblV9NTgyRk4Kell7WUAlKi1pS0Q+
LVgxditRMEFuJiN5bkA/fC0qfGQlYlp8TCVvQW4/Zz1NRVNuWChGRVpVUnNUbzR8OThvPU9QCnpZ
TD1vMTU2XjtfMH1QZ044JE4/JDJwcFBJU2E+RGBOcEF3aDckblJzXmIjNm1ebHd4bUxmbmdxJjB7
NVJCdG5tagp6eFBlMlRfIX1FVU01OzB9RlMqakRnVjU4KkV1bkNueUcjeip4cnsrcyZTRDVYJDYw
d01KWjgxLWhlZFVSZ1hhTVQKeiY4Pj51MnRBTFAqaUwrR24oR2V0O3NUWH5oQUZvdXc4SGZxQ31k
PVFRZ1FHY0JJTn1MOEhAKFlYdDAxJT54ZjcjCnpjNShNWFd5M0dlX2xTSjJBUnpkRy0odn1mQXRL
TX1hN1pYez4rWVRpJnA4ZSoyTipnPDZ4azVEamdecihXbnJxaAp6NVdGYnAwUDJ+amJPZz48KnIx
VG1wdEkkVDh6S2A2R0JUP0t3TVpaYHo4SjdQWGBPYzAxRDw2U2xvQT9UeCYpZngKejc5Vko4VkJC
PEpsUWJ2MSV5OXdnQGVvWGNeOTNSVjM+P0l3JTlJZ3E+dTZ2VShzYmZNU2otSjk4a3xuJnNsYlhZ
CnpwcUM5Q2x3M087O1Q5KTI5JDwqZnhZPih2bi1VWS1YclBQKyU0a1lxV0UjeXI0MmAyQCU0azZn
dFdaWDRwTjcjWQp6Uzsxa25veDtSMitJVkFSOGcwPnpIdUhnOWhTOXpjTCpyPE51d2teOSUpJjdg
YmlsK2lJJnxQTEktVmpoST4tYloKeiNUeSt1NyMldFFIanFaZ1hoKCsqZkhNUTVMa0ZXbjJjVzUp
KFY+SVVwIyRKLTxMQ19HPStGVWhOX0tTVXorclVnCnIwNjRjWUkmPzVQYk8ybnxGe3ArUHt4TG1U
IVMjSD5ReF9mSnFEVGYkUzNqM15QNjxyXyomUj5RCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY3NzMy9jb21wb3NpdGluZy9ibGVu
ZC1tb2RlLWJhY2tncm91bmQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2NzczMvY29tcG9zaXRpbmcvYmxlbmQtbW9kZS1iYWNrZ3JvdW5kLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41NjVjMWMxYzgzMWQ3NTNlYzE1OTA0Y2FlYjdlMDMwMjA5MWI4ZmEzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NzczMvY29tcG9zaXRpbmcvYmxl
bmQtbW9kZS1iYWNrZ3JvdW5kLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAKK2xheWVyIGF0
ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAor
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MTAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCww
KSBzaXplIDgwMHgxMDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCwyMCkgc2l6ZSA3ODR4
NjAgW2JnY29sb3I9IzAwMDBGRl0KK2xheWVyIGF0ICgyOCwyMCkgc2l6ZSA2MHg2MAorICBSZW5k
ZXJCbG9jayB7RElWfSBhdCAoMjAsMCkgc2l6ZSA2MHg2MCBbYmdjb2xvcj0jRkYwMDAwXQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>227167</attachid>
            <date>2014-03-19 00:40:14 -0700</date>
            <delta_ts>2014-03-20 10:37:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-129307-20140319094025.patch</filename>
            <type>text/plain</type>
            <size>23044</size>
            <attacher name="Mihai Tica">mitica</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY1MTgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTI2ZDFmMWM5YTZlNjVh
ZWU1NWE4ZDhiYTFmMjViYjZmNGVlNzA1Yi4uZGM2YWRlNmQ5MjRjYWQ4OWQyODQwMGRhN2JlMzJh
MTI3YTJlMDEyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDE0LTAzLTA2ICBNaWhh
aSBUaWNhICA8bWl0aWNhQGFkb2JlLmNvbT4KKworICAgICAgICBbQ1NTIEJsZW5kaW5nXSBCbGVu
ZGluZyBvcGVyYXRpb24gaXMgbm90IGlzb2xhdGVkIHdoZW4gc2V0dGluZyB6LWluZGV4IG9uIHBh
cmVudCBmcm9tIGphdmFzY3JpcHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEyOTMwNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFJlaW1wbGVtZW50IHRoZSBsb2dpYyBiZWhpbmQgaXNvbGF0aW5nIGJsZW5k
IG1vZGVzLiBUaGUgYmxlbmRpbmcgb3BlcmF0aW9uIHNob3VsZCBiZSBsaW1pdGVkIHRvIHRoZQor
ICAgICAgICBjb250ZW50cyBvZiB0aGUgcGFyZW50IHN0YWNraW5nIGNvbnRleHQuIFRoZSBwcm9w
b3NlZCBzb2x1dGlvbiBpbXBsaWVzIGFkZGluZyBsb2dpYyBpbiB1cGRhdGVEZXNjZW5kYW50RGVw
ZW5kZW50RmxhZ3MsCisgICAgICAgIHRvIHRyYWNrIGNoaWxkIGVsZW1lbnRzIHRoYXQgaGF2ZSBi
bGVuZGluZyBhbmQgY3JlYXRlIGEgdHJhbnNwYXJlbmN5IGxheWVyIHRoYXQgdHJpZ2dlcnMgaXNv
bGF0aW9uLgorCisgICAgICAgIFRlc3RzOiBjc3MzL2NvbXBvc2l0aW5nL2JsZW5kLW1vZGUtYmFj
a2dyb3VuZC5odG1sCisgICAgICAgICAgICAgICBmYXN0L3JlcGFpbnQvYmxlbmQtbW9kZS1pc29s
YXRlLXN0YWNraW5nLWNvbnRleHQuaHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxh
eWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpSZW5kZXJMYXllcik6IFJl
bW92ZSBvbGQgbWVtYmVycywgYWRkIG5ldyBtZW1iZXJzIHRvIGNvbnN0cnVjdG9yLgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnVwZGF0ZUJsZW5kTW9kZSk6IFVwZGF0ZSBwYXJlbnQg
c3RhY2tpbmcgY29udGV4dCBpc29sYXRpb24gb24gYmxlbmQgbW9kZSBjaGFuZ2UuCisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJMYXllcjo6dXBkYXRlTm9uQ29tcG9zaXRlZFBhcmVudFN0YWNraW5n
Q29udGV4dEhhc0JsZW5kZWRDaGlsZCk6CisgICAgICAgIC0gU2V0IG1faGFzQmxlbmRlZEVsZW1l
bnRJbkNoaWxkU3RhY2tpbmdDb250ZXh0IGZvciB0aGUgbm9uIGNvbXBvc2l0ZWQgcGFyZW50IHN0
YWNraW5nIGNvbnRleHQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6ZGlydHlBbmNl
c3RvclBhcmVudFN0YWNraW5nQ29udGV4dEhhc0JsZW5kZWRFbGVtZW50KToKKyAgICAgICAgLSBT
ZXQgZmxhZyBzbyBpc29sYXRpb24gc2hvdWxkIGJlIGNvbnNpZGVyZWQgaW4gdXBkYXRlRGVzY2Vu
ZGFudERlcGVuZGVudEZsYWdzLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6Om5vbkNv
bXBvc2l0ZWRQYXJlbnRTdGFja2luZ0NvbnRleHRIYXNCbGVuZGVkQ2hpbGQpOgorICAgICAgICAt
IFJldHVybiB3aGV0aGVyIHRoZSBub24gY29tcG9zaXRlZCBwYXJlbnQgc3RhY2tpbmcgY29udGV4
dCBpc29sYXRlcyBibGVuZGluZy4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjp1cGRh
dGVEZXNjZW5kYW50RGVwZW5kZW50RmxhZ3MpOiBBZGQgbG9naWMgZm9yIGlzb2xhdGluZyBibGVu
ZGluZy4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjphZGRDaGlsZCk6IENhbGwgdG8g
dXBkYXRlTm9uQ29tcG9zaXRlZFBhcmVudFN0YWNraW5nQ29udGV4dEhhc0JsZW5kZWRDaGlsZCBp
ZiBuZWVkZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6cmVtb3ZlQ2hpbGQpOiBD
YWxsIHRvIGRpcnR5QW5jZXN0b3JQYXJlbnRTdGFja2luZ0NvbnRleHRIYXNCbGVuZGVkRWxlbWVu
dCBpZiBuZWVkZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6dXBkYXRlU3RhY2tp
bmdDb250ZXh0c0FmdGVyU3R5bGVDaGFuZ2UpOiBVcGRhdGUgaXNvbGF0aW9uIHdoZW4gYSBzdGFj
a2luZyBjb250ZXh0IHdhcyBzZXQgb3IgdW5zZXQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJM
YXllcjo6c3R5bGVDaGFuZ2VkKTogUmVtb3ZlZCBvbGRTdHlsZSBwYXJhbWV0ZXIgZnJvbSB1cGRh
dGVCbGVuZE1vZGUgY2FsbC4KKyAgICAgICAgIFVwZGF0ZSBwYXJlbnQgc3RhY2tpbmcgY29udGV4
dCBpc29sYXRpb24gb24gYmxlbmQgbW9kZSBjaGFuZ2UuCisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlckxheWVyLmg6CisgICAgICAgIC0gQWRkIG1lbWJlcnMsIGdldHRlcnMgYW5kIHNldHRlcnMg
Zm9yIHRyYWNraW5nIHdoZXRoZXIgdGhlIGVsZW1lbnQgaGFzIGEgYmxlbmRlZCBjaGlsZDoKKyAg
ICAgICAgICAgIC0gbV9oYXNCbGVuZGVkRWxlbWVudEluQ2hpbGRTdGFja2luZ0NvbnRleHQKKyAg
ICAgICAgICAgIC0gbV9oYXNCbGVuZGVkRWxlbWVudEluQ2hpbGRTdGFja2luZ0NvbnRleHRTdGF0
dXNEaXJ0eQorICAgICAgICAtIFJlbW92ZWQgbV91cGRhdGVQYXJlbnRTdGFja2luZ0NvbnRleHRT
aG91bGRJc29sYXRlQmxlbmRpbmdEaXJ0eSAocmVwbGFjZWQgd2l0aCBtX2hhc0JsZW5kZWRFbGVt
ZW50SW5DaGlsZFN0YWNraW5nQ29udGV4dFN0YXR1c0RpcnR5KQorICAgICAgICAtIFJlbW92ZWQg
bV9pc29sYXRlc0JsZW5kaW5nIChyZXBsYWNlZCB3aXRoIG1faGFzQmxlbmRlZEVsZW1lbnRJbkNo
aWxkU3RhY2tpbmdDb250ZXh0KQorICAgICAgICAtIFVwZGF0ZWQgdGhlIGlzb2xhdGVzQmxlbmRp
bmcgbWV0aG9kIHRvIHJldHVybiB0cnVlIG9ubHkgd2hlbiB0aGUgZWxlbWVudCBpcyBhIHN0YWNr
aW5nIGNvbnRleHQgYW5kIGhhcyBhIGJsZW5kZWQgY2hpbGQuCisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXll
ckNvbXBvc2l0b3I6OmNvbXB1dGVDb21wb3NpdGluZ1JlcXVpcmVtZW50cyk6IFJlbW92ZWQgbGF5
ZXIudXBkYXRlUGFyZW50U3RhY2tpbmdDb250ZXh0U2hvdWxkSXNvbGF0ZUJsZW5kaW5nIGNhbGwu
CisKIDIwMTQtMDMtMDYgIFphbiBEb2JlcnNlayAgPHpkb2JlcnNla0BpZ2FsaWEuY29tPgogCiAg
ICAgICAgIE1vdmUgU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvIGNvZGUgdG8gc3RkOjp1bmlx
dWVfcHRyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAppbmRleCAzMTAy
YWMwMTBmZWMyZmM1MWY4ZDg3OTJlODkwYTBlODNiMjBkYjNkLi42YTgxYjBjNWI3YjgxZTUxM2Q2
ODIwMDhkOGZkMjViZGNhNWU4ZGE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllci5jcHAKQEAgLTE4NSw4ICsxODUsOCBAQCBSZW5kZXJMYXllcjo6UmVuZGVyTGF5ZXIoUmVu
ZGVyTGF5ZXJNb2RlbE9iamVjdCYgcmVuZGVyZXJMYXllck1vZGVsT2JqZWN0KQogI2VuZGlmCiAj
aWYgRU5BQkxFKENTU19DT01QT1NJVElORykKICAgICAsIG1fYmxlbmRNb2RlKEJsZW5kTW9kZU5v
cm1hbCkKLSAgICAsIG1faXNvbGF0ZXNCbGVuZGluZyhmYWxzZSkKLSAgICAsIG1fdXBkYXRlUGFy
ZW50U3RhY2tpbmdDb250ZXh0U2hvdWxkSXNvbGF0ZUJsZW5kaW5nRGlydHkoZmFsc2UpCisgICAg
LCBtX2hhc0JsZW5kZWRFbGVtZW50SW5DaGlsZFN0YWNraW5nQ29udGV4dChmYWxzZSkKKyAgICAs
IG1faGFzQmxlbmRlZEVsZW1lbnRJbkNoaWxkU3RhY2tpbmdDb250ZXh0U3RhdHVzRGlydHkoZmFs
c2UpCiAjZW5kaWYKICAgICAsIG1fcmVuZGVyZXIocmVuZGVyZXJMYXllck1vZGVsT2JqZWN0KQog
ICAgICwgbV9wYXJlbnQoMCkKQEAgLTgwMywxMiArODAzLDE1IEBAIHZvaWQgUmVuZGVyTGF5ZXI6
OnBvc2l0aW9uTmV3bHlDcmVhdGVkT3ZlcmZsb3dDb250cm9scygpCiAKICNpZiBFTkFCTEUoQ1NT
X0NPTVBPU0lUSU5HKQogCi12b2lkIFJlbmRlckxheWVyOjp1cGRhdGVCbGVuZE1vZGUoY29uc3Qg
UmVuZGVyU3R5bGUqIG9sZFN0eWxlKQordm9pZCBSZW5kZXJMYXllcjo6dXBkYXRlQmxlbmRNb2Rl
KCkKIHsKLSAgICBtX3VwZGF0ZVBhcmVudFN0YWNraW5nQ29udGV4dFNob3VsZElzb2xhdGVCbGVu
ZGluZ0RpcnR5ID0gZmFsc2U7Ci0KLSAgICBpZiAoKCFvbGRTdHlsZSAmJiByZW5kZXJlcigpLnN0
eWxlKCkuaGFzQmxlbmRNb2RlKCkpIHx8IChvbGRTdHlsZSAmJiBvbGRTdHlsZS0+aGFzQmxlbmRN
b2RlKCkgIT0gcmVuZGVyZXIoKS5zdHlsZSgpLmhhc0JsZW5kTW9kZSgpKSkKLSAgICAgICAgbV91
cGRhdGVQYXJlbnRTdGFja2luZ0NvbnRleHRTaG91bGRJc29sYXRlQmxlbmRpbmdEaXJ0eSA9IHRy
dWU7CisgICAgYm9vbCBoYWRCbGVuZE1vZGUgPSBtX2JsZW5kTW9kZSAhPSBCbGVuZE1vZGVOb3Jt
YWw7CisgICAgaWYgKGhhZEJsZW5kTW9kZSAhPSBoYXNCbGVuZE1vZGUoKSkgeworICAgICAgICBp
ZiAoaGFzQmxlbmRNb2RlKCkpCisgICAgICAgICAgICB1cGRhdGVOb25Db21wb3NpdGVkUGFyZW50
U3RhY2tpbmdDb250ZXh0SGFzQmxlbmRlZENoaWxkKHRydWUpOworICAgICAgICBlbHNlCisgICAg
ICAgICAgICBkaXJ0eUFuY2VzdG9yUGFyZW50U3RhY2tpbmdDb250ZXh0SGFzQmxlbmRlZEVsZW1l
bnQoKTsKKyAgICB9CiAKICAgICBCbGVuZE1vZGUgbmV3QmxlbmRNb2RlID0gcmVuZGVyZXIoKS5z
dHlsZSgpLmJsZW5kTW9kZSgpOwogICAgIGlmIChuZXdCbGVuZE1vZGUgIT0gbV9ibGVuZE1vZGUp
IHsKQEAgLTgxOCwyNCArODIxLDM3IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnVwZGF0ZUJsZW5kTW9k
ZShjb25zdCBSZW5kZXJTdHlsZSogb2xkU3R5bGUpCiAgICAgfQogfQogCi12b2lkIFJlbmRlckxh
eWVyOjp1cGRhdGVQYXJlbnRTdGFja2luZ0NvbnRleHRTaG91bGRJc29sYXRlQmxlbmRpbmcoKQor
dm9pZCBSZW5kZXJMYXllcjo6dXBkYXRlTm9uQ29tcG9zaXRlZFBhcmVudFN0YWNraW5nQ29udGV4
dEhhc0JsZW5kZWRDaGlsZChib29sIGhhc0JsZW5kZWRDaGlsZCkKIHsKLSAgICBpZiAoIW1fdXBk
YXRlUGFyZW50U3RhY2tpbmdDb250ZXh0U2hvdWxkSXNvbGF0ZUJsZW5kaW5nRGlydHkpCisgICAg
aWYgKGlzQ29tcG9zaXRlZCgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBpZiAoaXNDb21wb3Np
dGVkKCkpIHsKLSAgICAgICAgbV91cGRhdGVQYXJlbnRTdGFja2luZ0NvbnRleHRTaG91bGRJc29s
YXRlQmxlbmRpbmdEaXJ0eSA9IGZhbHNlOwotICAgICAgICByZXR1cm47CisgICAgZm9yIChhdXRv
IGFuY2VzdG9yID0gcGFyZW50KCk7IGFuY2VzdG9yICYmICFhbmNlc3Rvci0+aXNDb21wb3NpdGVk
KCkgJiYgIWFuY2VzdG9yLT5yZW5kZXJlcigpLmlzUm9vdCgpOyBhbmNlc3RvciA9IGFuY2VzdG9y
LT5wYXJlbnQoKSkgeworICAgICAgICBhbmNlc3Rvci0+bV9oYXNCbGVuZGVkRWxlbWVudEluQ2hp
bGRTdGFja2luZ0NvbnRleHQgPSBoYXNCbGVuZGVkQ2hpbGQ7CisKKyAgICAgICAgaWYgKGFuY2Vz
dG9yLT5pc1N0YWNraW5nQ29udGV4dCgpKQorICAgICAgICAgICAgYnJlYWs7CiAgICAgfQorfQor
Cit2b2lkIFJlbmRlckxheWVyOjpkaXJ0eUFuY2VzdG9yUGFyZW50U3RhY2tpbmdDb250ZXh0SGFz
QmxlbmRlZEVsZW1lbnQoKQoreworICAgIGZvciAoYXV0byBsYXllciA9IHRoaXM7IGxheWVyICYm
ICFsYXllci0+aXNDb21wb3NpdGVkKCkgJiYgIWxheWVyLT5tX2hhc0JsZW5kZWRFbGVtZW50SW5D
aGlsZFN0YWNraW5nQ29udGV4dFN0YXR1c0RpcnR5OyBsYXllciA9IGxheWVyLT5wYXJlbnQoKSkg
eworICAgICAgICBsYXllci0+bV9oYXNCbGVuZGVkRWxlbWVudEluQ2hpbGRTdGFja2luZ0NvbnRl
eHRTdGF0dXNEaXJ0eSA9IHRydWU7CiAKLSAgICBmb3IgKGF1dG8gYW5jZXN0b3IgPSBwYXJlbnQo
KTsgYW5jZXN0b3IgJiYgIWFuY2VzdG9yLT5pc0NvbXBvc2l0ZWQoKSAmJiAhYW5jZXN0b3ItPmlz
Um9vdExheWVyKCk7IGFuY2VzdG9yID0gYW5jZXN0b3ItPnBhcmVudCgpKSB7Ci0gICAgICAgIGlm
IChhbmNlc3Rvci0+aXNTdGFja2luZ0NvbnRleHQoKSkgewotICAgICAgICAgICAgYW5jZXN0b3It
Pm1faXNvbGF0ZXNCbGVuZGluZyA9IHJlbmRlcmVyKCkuc3R5bGUoKS5oYXNCbGVuZE1vZGUoKTsK
KyAgICAgICAgaWYgKGxheWVyLT5pc1N0YWNraW5nQ29udGV4dCgpKQogICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgIH0KICAgICB9Cit9CiAKLSAgICBtX3VwZGF0ZVBhcmVudFN0YWNraW5nQ29u
dGV4dFNob3VsZElzb2xhdGVCbGVuZGluZ0RpcnR5ID0gZmFsc2U7Citib29sIFJlbmRlckxheWVy
Ojpub25Db21wb3NpdGVkUGFyZW50U3RhY2tpbmdDb250ZXh0SGFzQmxlbmRlZENoaWxkKCkgY29u
c3QKK3sKKyAgICBmb3IgKGF1dG8gYW5jZXN0b3IgPSBwYXJlbnQoKTsgYW5jZXN0b3IgJiYgIWFu
Y2VzdG9yLT5pc0NvbXBvc2l0ZWQoKSAmJiAhYW5jZXN0b3ItPnJlbmRlcmVyKCkuaXNSb290KCk7
IGFuY2VzdG9yID0gYW5jZXN0b3ItPnBhcmVudCgpKSB7CisgICAgICAgIGlmIChhbmNlc3Rvci0+
aXNTdGFja2luZ0NvbnRleHQoKSkKKyAgICAgICAgICAgIHJldHVybiBhbmNlc3Rvci0+aGFzQmxl
bmRlZEVsZW1lbnRJbkNoaWxkU3RhY2tpbmdDb250ZXh0KCk7CisgICAgfQorCisgICAgcmV0dXJu
IGZhbHNlOwogfQogCiAjZW5kaWYKQEAgLTEwODAsMTAgKzEwOTYsMTEgQEAgdm9pZCBSZW5kZXJM
YXllcjo6c2V0QW5jZXN0b3JDaGFpbkhhc1Zpc2libGVEZXNjZW5kYW50KCkKIAogdm9pZCBSZW5k
ZXJMYXllcjo6dXBkYXRlRGVzY2VuZGFudERlcGVuZGVudEZsYWdzKEhhc2hTZXQ8Y29uc3QgUmVu
ZGVyT2JqZWN0Kj4qIG91dE9mRmxvd0Rlc2NlbmRhbnRDb250YWluaW5nQmxvY2tzKQogewotICAg
IGlmIChtX3Zpc2libGVEZXNjZW5kYW50U3RhdHVzRGlydHkgfHwgbV9oYXNTZWxmUGFpbnRpbmdM
YXllckRlc2NlbmRhbnREaXJ0eSB8fCBtX2hhc091dE9mRmxvd1Bvc2l0aW9uZWREZXNjZW5kYW50
RGlydHkpIHsKKyAgICBpZiAobV92aXNpYmxlRGVzY2VuZGFudFN0YXR1c0RpcnR5IHx8IG1faGFz
U2VsZlBhaW50aW5nTGF5ZXJEZXNjZW5kYW50RGlydHkgfHwgbV9oYXNPdXRPZkZsb3dQb3NpdGlv
bmVkRGVzY2VuZGFudERpcnR5IHx8IGhhc0JsZW5kZWRFbGVtZW50SW5DaGlsZFN0YWNraW5nQ29u
dGV4dFN0YXR1c0RpcnR5KCkpIHsKICAgICAgICAgbV9oYXNWaXNpYmxlRGVzY2VuZGFudCA9IGZh
bHNlOwogICAgICAgICBtX2hhc1NlbGZQYWludGluZ0xheWVyRGVzY2VuZGFudCA9IGZhbHNlOwog
ICAgICAgICBtX2hhc091dE9mRmxvd1Bvc2l0aW9uZWREZXNjZW5kYW50ID0gZmFsc2U7CisgICAg
ICAgIHNldEhhc0JsZW5kZWRFbGVtZW50SW5DaGlsZFN0YWNraW5nQ29udGV4dChmYWxzZSk7CiAK
ICAgICAgICAgSGFzaFNldDxjb25zdCBSZW5kZXJPYmplY3QqPiBjaGlsZE91dE9mRmxvd0Rlc2Nl
bmRhbnRDb250YWluaW5nQmxvY2tzOwogICAgICAgICBmb3IgKFJlbmRlckxheWVyKiBjaGlsZCA9
IGZpcnN0Q2hpbGQoKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nKCkpIHsKQEAg
LTExMDMsMTIgKzExMjAsMTQgQEAgdm9pZCBSZW5kZXJMYXllcjo6dXBkYXRlRGVzY2VuZGFudERl
cGVuZGVudEZsYWdzKEhhc2hTZXQ8Y29uc3QgUmVuZGVyT2JqZWN0Kj4qIG8KICAgICAgICAgICAg
IGJvb2wgaGFzVmlzaWJsZURlc2NlbmRhbnQgPSBjaGlsZC0+bV9oYXNWaXNpYmxlQ29udGVudCB8
fCBjaGlsZC0+bV9oYXNWaXNpYmxlRGVzY2VuZGFudDsKICAgICAgICAgICAgIGJvb2wgaGFzU2Vs
ZlBhaW50aW5nTGF5ZXJEZXNjZW5kYW50ID0gY2hpbGQtPmlzU2VsZlBhaW50aW5nTGF5ZXIoKSB8
fCBjaGlsZC0+aGFzU2VsZlBhaW50aW5nTGF5ZXJEZXNjZW5kYW50KCk7CiAgICAgICAgICAgICBi
b29sIGhhc091dE9mRmxvd1Bvc2l0aW9uZWREZXNjZW5kYW50ID0gIWNoaWxkT3V0T2ZGbG93RGVz
Y2VuZGFudENvbnRhaW5pbmdCbG9ja3MuaXNFbXB0eSgpOworICAgICAgICAgICAgYm9vbCBoYXNC
bGVuZGVkRWxlbWVudEluQ2hpbGRTdGFja2luZ0NvbnRleHQgPSBjaGlsZC0+aGFzQmxlbmRNb2Rl
KCkgfHwgY2hpbGQtPmhhc0JsZW5kZWRFbGVtZW50SW5DaGlsZFN0YWNraW5nQ29udGV4dCgpOwog
CiAgICAgICAgICAgICBtX2hhc1Zpc2libGVEZXNjZW5kYW50IHw9IGhhc1Zpc2libGVEZXNjZW5k
YW50OwogICAgICAgICAgICAgbV9oYXNTZWxmUGFpbnRpbmdMYXllckRlc2NlbmRhbnQgfD0gaGFz
U2VsZlBhaW50aW5nTGF5ZXJEZXNjZW5kYW50OwogICAgICAgICAgICAgbV9oYXNPdXRPZkZsb3dQ
b3NpdGlvbmVkRGVzY2VuZGFudCB8PSBoYXNPdXRPZkZsb3dQb3NpdGlvbmVkRGVzY2VuZGFudDsK
KyAgICAgICAgICAgIHNldEhhc0JsZW5kZWRFbGVtZW50SW5DaGlsZFN0YWNraW5nQ29udGV4dCh0
aGlzLT5oYXNCbGVuZGVkRWxlbWVudEluQ2hpbGRTdGFja2luZ0NvbnRleHQoKSB8IGhhc0JsZW5k
ZWRFbGVtZW50SW5DaGlsZFN0YWNraW5nQ29udGV4dCk7CiAKLSAgICAgICAgICAgIGlmIChtX2hh
c1Zpc2libGVEZXNjZW5kYW50ICYmIG1faGFzU2VsZlBhaW50aW5nTGF5ZXJEZXNjZW5kYW50ICYm
IG1faGFzT3V0T2ZGbG93UG9zaXRpb25lZERlc2NlbmRhbnQpCisgICAgICAgICAgICBpZiAobV9o
YXNWaXNpYmxlRGVzY2VuZGFudCAmJiBtX2hhc1NlbGZQYWludGluZ0xheWVyRGVzY2VuZGFudCAm
JiBtX2hhc091dE9mRmxvd1Bvc2l0aW9uZWREZXNjZW5kYW50ICYmIHRoaXMtPmhhc0JsZW5kZWRF
bGVtZW50SW5DaGlsZFN0YWNraW5nQ29udGV4dCgpKQogICAgICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICB9CiAKQEAgLTExMjIsNiArMTE0MSw4IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnVwZGF0
ZURlc2NlbmRhbnREZXBlbmRlbnRGbGFncyhIYXNoU2V0PGNvbnN0IFJlbmRlck9iamVjdCo+KiBv
CiAgICAgICAgICAgICB1cGRhdGVOZWVkc0NvbXBvc2l0ZWRTY3JvbGxpbmcoKTsKIAogICAgICAg
ICBtX2hhc091dE9mRmxvd1Bvc2l0aW9uZWREZXNjZW5kYW50RGlydHkgPSBmYWxzZTsKKworICAg
ICAgICBzZXRIYXNCbGVuZGVkRWxlbWVudEluQ2hpbGRTdGFja2luZ0NvbnRleHRTdGF0dXNEaXJ0
eShmYWxzZSk7CiAgICAgfQogCiAgICAgaWYgKG1fdmlzaWJsZUNvbnRlbnRTdGF0dXNEaXJ0eSkg
ewpAQCAtMTc3Nyw2ICsxNzk4LDExIEBAIHZvaWQgUmVuZGVyTGF5ZXI6OmFkZENoaWxkKFJlbmRl
ckxheWVyKiBjaGlsZCwgUmVuZGVyTGF5ZXIqIGJlZm9yZUNoaWxkKQogICAgIGlmIChjaGlsZC0+
cmVuZGVyZXIoKS5pc091dE9mRmxvd1Bvc2l0aW9uZWQoKSB8fCBjaGlsZC0+aGFzT3V0T2ZGbG93
UG9zaXRpb25lZERlc2NlbmRhbnQoKSkKICAgICAgICAgc2V0QW5jZXN0b3JDaGFpbkhhc091dE9m
Rmxvd1Bvc2l0aW9uZWREZXNjZW5kYW50KGNoaWxkLT5yZW5kZXJlcigpLmNvbnRhaW5pbmdCbG9j
aygpKTsKIAorI2lmIEVOQUJMRShDU1NfQ09NUE9TSVRJTkcpCisgICAgaWYgKGNoaWxkLT5oYXNC
bGVuZE1vZGUoKSB8fCAoIWNoaWxkLT5pc1N0YWNraW5nQ29udGV4dCgpICYmIGNoaWxkLT5oYXNC
bGVuZGVkRWxlbWVudEluQ2hpbGRTdGFja2luZ0NvbnRleHQoKSkpCisgICAgICAgIGNoaWxkLT51
cGRhdGVOb25Db21wb3NpdGVkUGFyZW50U3RhY2tpbmdDb250ZXh0SGFzQmxlbmRlZENoaWxkKHRy
dWUpOworI2VuZGlmCisKICAgICBjb21wb3NpdG9yKCkubGF5ZXJXYXNBZGRlZCgqdGhpcywgKmNo
aWxkKTsKIH0KIApAQCAtMTgxOSw2ICsxODQ1LDExIEBAIFJlbmRlckxheWVyKiBSZW5kZXJMYXll
cjo6cmVtb3ZlQ2hpbGQoUmVuZGVyTGF5ZXIqIG9sZENoaWxkKQogICAgIGlmIChvbGRDaGlsZC0+
aXNTZWxmUGFpbnRpbmdMYXllcigpIHx8IG9sZENoaWxkLT5oYXNTZWxmUGFpbnRpbmdMYXllckRl
c2NlbmRhbnQoKSkKICAgICAgICAgZGlydHlBbmNlc3RvckNoYWluSGFzU2VsZlBhaW50aW5nTGF5
ZXJEZXNjZW5kYW50U3RhdHVzKCk7CiAKKyNpZiBFTkFCTEUoQ1NTX0NPTVBPU0lUSU5HKQorICAg
IGlmIChvbGRDaGlsZC0+aGFzQmxlbmRNb2RlKCkgfHwgb2xkQ2hpbGQtPmlzb2xhdGVzQmxlbmRp
bmcoKSkKKyAgICAgICAgZGlydHlBbmNlc3RvclBhcmVudFN0YWNraW5nQ29udGV4dEhhc0JsZW5k
ZWRFbGVtZW50KCk7CisjZW5kaWYKKwogICAgIHJldHVybiBvbGRDaGlsZDsKIH0KIApAQCAtNjQw
Myw2ICs2NDM0LDEyIEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnVwZGF0ZVN0YWNraW5nQ29udGV4dHNB
ZnRlclN0eWxlQ2hhbmdlKGNvbnN0IFJlbmRlclN0eWxlKiBvbGRTCiAgICAgICAgICAgICBkaXJ0
eVpPcmRlckxpc3RzKCk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIGNsZWFyWk9yZGVyTGlz
dHMoKTsKKworI2lmIEVOQUJMRShDU1NfQ09NUE9TSVRJTkcpCisgICAgICAgICAgICBtX2hhc0Js
ZW5kZWRFbGVtZW50SW5DaGlsZFN0YWNraW5nQ29udGV4dCA9IGlzU3RhY2tpbmdDb250ZXh0ID8g
bm9uQ29tcG9zaXRlZFBhcmVudFN0YWNraW5nQ29udGV4dEhhc0JsZW5kZWRDaGlsZCgpIDogZmFs
c2U7CisgICAgICAgICAgICBkaXJ0eUFuY2VzdG9yUGFyZW50U3RhY2tpbmdDb250ZXh0SGFzQmxl
bmRlZEVsZW1lbnQoKTsKKyNlbmRpZgorCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTY1
NTMsNyArNjU5MCw3IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnN0eWxlQ2hhbmdlZChTdHlsZURpZmZl
cmVuY2UgZGlmZiwgY29uc3QgUmVuZGVyU3R5bGUqIG9sZFN0eWxlCiAgICAgdXBkYXRlRGVzY2Vu
ZGFudERlcGVuZGVudEZsYWdzKCk7CiAgICAgdXBkYXRlVHJhbnNmb3JtKCk7CiAjaWYgRU5BQkxF
KENTU19DT01QT1NJVElORykKLSAgICB1cGRhdGVCbGVuZE1vZGUob2xkU3R5bGUpOworICAgIHVw
ZGF0ZUJsZW5kTW9kZSgpOwogI2VuZGlmCiAjaWYgRU5BQkxFKENTU19GSUxURVJTKQogICAgIHVw
ZGF0ZU9yUmVtb3ZlRmlsdGVyQ2xpZW50cygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuaAppbmRleCBkZjA1NWE5Y2E0MTY1MmI4ZTA0MTI2NGFlZGFhOWJiODNiZWI4MzhiLi5i
NzA3MWMyY2I3MDNkYTZlZWYyMmI3YzVkN2FhNjlkOWQyMjAyMjllIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaApAQCAtNTAzLDggKzUwMyw3IEBAIHB1YmxpYzoKICAgICB2
b2lkIHVwZGF0ZVRyYW5zZm9ybSgpOwogICAgIAogI2lmIEVOQUJMRShDU1NfQ09NUE9TSVRJTkcp
Ci0gICAgdm9pZCB1cGRhdGVCbGVuZE1vZGUoY29uc3QgUmVuZGVyU3R5bGUqKTsKLSAgICB2b2lk
IHVwZGF0ZVBhcmVudFN0YWNraW5nQ29udGV4dFNob3VsZElzb2xhdGVCbGVuZGluZygpOworICAg
IHZvaWQgdXBkYXRlQmxlbmRNb2RlKCk7CiAjZW5kaWYKIAogICAgIGNvbnN0IExheW91dFNpemUm
IG9mZnNldEZvckluRmxvd1Bvc2l0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9vZmZzZXRGb3JJbkZs
b3dQb3NpdGlvbjsgfQpAQCAtNzkwLDEyICs3ODksNDggQEAgcHVibGljOgogICAgIGJvb2wgaXNv
bGF0ZXNCbGVuZGluZygpIGNvbnN0CiAgICAgewogI2lmIEVOQUJMRShDU1NfQ09NUE9TSVRJTkcp
Ci0gICAgICAgIHJldHVybiBtX2lzb2xhdGVzQmxlbmRpbmc7CisgICAgICAgIHJldHVybiBtX2hh
c0JsZW5kZWRFbGVtZW50SW5DaGlsZFN0YWNraW5nQ29udGV4dCAmJiBpc1N0YWNraW5nQ29udGV4
dCgpOwogI2Vsc2UKICAgICAgICAgcmV0dXJuIGZhbHNlOwogI2VuZGlmCiAgICAgfQogCisgICAg
Ym9vbCBoYXNCbGVuZGVkRWxlbWVudEluQ2hpbGRTdGFja2luZ0NvbnRleHQoKSBjb25zdAorICAg
IHsKKyNpZiBFTkFCTEUoQ1NTX0NPTVBPU0lUSU5HKQorICAgICAgICByZXR1cm4gbV9oYXNCbGVu
ZGVkRWxlbWVudEluQ2hpbGRTdGFja2luZ0NvbnRleHQ7CisjZWxzZQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisjZW5kaWYKKyAgICB9CisKKyAgICB2b2lkIHNldEhhc0JsZW5kZWRFbGVtZW50SW5D
aGlsZFN0YWNraW5nQ29udGV4dChib29sIGhhc0JsZW5kZWRFbGVtZW50SW5DaGlsZFN0YWNraW5n
Q29udGV4dCkKKyAgICB7CisjaWYgRU5BQkxFKENTU19DT01QT1NJVElORykKKyAgICAgICAgbV9o
YXNCbGVuZGVkRWxlbWVudEluQ2hpbGRTdGFja2luZ0NvbnRleHQgPSBoYXNCbGVuZGVkRWxlbWVu
dEluQ2hpbGRTdGFja2luZ0NvbnRleHQ7CisjZWxzZQorICAgICAgICBVTlVTRURfUEFSQU0oaGFz
QmxlbmRlZEVsZW1lbnRJbkNoaWxkU3RhY2tpbmdDb250ZXh0KTsKKyNlbmRpZgorICAgIH0KKwor
ICAgIGJvb2wgaGFzQmxlbmRlZEVsZW1lbnRJbkNoaWxkU3RhY2tpbmdDb250ZXh0U3RhdHVzRGly
dHkoKSBjb25zdAorICAgIHsKKyNpZiBFTkFCTEUoQ1NTX0NPTVBPU0lUSU5HKQorICAgICAgICBy
ZXR1cm4gbV9oYXNCbGVuZGVkRWxlbWVudEluQ2hpbGRTdGFja2luZ0NvbnRleHRTdGF0dXNEaXJ0
eTsKKyNlbHNlCisgICAgICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgorICAgIH0KKworICAgIHZv
aWQgc2V0SGFzQmxlbmRlZEVsZW1lbnRJbkNoaWxkU3RhY2tpbmdDb250ZXh0U3RhdHVzRGlydHko
Ym9vbCBoYXNCbGVuZGVkRWxlbWVudEluQ2hpbGRTdGFja2luZ0NvbnRleHRTdGF0dXNEaXJ0eSkK
KyAgICB7CisjaWYgRU5BQkxFKENTU19DT01QT1NJVElORykKKyAgICAgICAgbV9oYXNCbGVuZGVk
RWxlbWVudEluQ2hpbGRTdGFja2luZ0NvbnRleHRTdGF0dXNEaXJ0eSA9IGhhc0JsZW5kZWRFbGVt
ZW50SW5DaGlsZFN0YWNraW5nQ29udGV4dFN0YXR1c0RpcnR5OworI2Vsc2UKKyAgICAgICAgVU5V
U0VEX1BBUkFNKGhhc0JsZW5kZWRFbGVtZW50SW5DaGlsZFN0YWNraW5nQ29udGV4dFN0YXR1c0Rp
cnR5KTsKKyNlbmRpZgorICAgIH0KKwogICAgIGJvb2wgaXNDb21wb3NpdGVkKCkgY29uc3QgeyBy
ZXR1cm4gbV9iYWNraW5nICE9IDA7IH0KICAgICBib29sIGhhc0NvbXBvc2l0aW5nRGVzY2VuZGFu
dCgpIGNvbnN0IHsgcmV0dXJuIG1faGFzQ29tcG9zaXRpbmdEZXNjZW5kYW50OyB9CiAgICAgYm9v
bCBoYXNDb21wb3NpdGVkTWFzaygpIGNvbnN0OwpAQCAtMTEwOSw2ICsxMTQ0LDEyIEBAIHByaXZh
dGU6CiAgICAgdm9pZCB1cGRhdGVPclJlbW92ZUZpbHRlckVmZmVjdFJlbmRlcmVyKCk7CiAjZW5k
aWYKIAorI2lmIEVOQUJMRShDU1NfQ09NUE9TSVRJTkcpCisgICAgdm9pZCB1cGRhdGVOb25Db21w
b3NpdGVkUGFyZW50U3RhY2tpbmdDb250ZXh0SGFzQmxlbmRlZENoaWxkKGJvb2wgaGFzQmxlbmRl
ZENoaWxkKTsKKyAgICB2b2lkIGRpcnR5QW5jZXN0b3JQYXJlbnRTdGFja2luZ0NvbnRleHRIYXNC
bGVuZGVkRWxlbWVudCgpOworICAgIGJvb2wgbm9uQ29tcG9zaXRlZFBhcmVudFN0YWNraW5nQ29u
dGV4dEhhc0JsZW5kZWRDaGlsZCgpIGNvbnN0OworI2VuZGlmCisKICAgICB2b2lkIHBhcmVudENs
aXBSZWN0cyhjb25zdCBDbGlwUmVjdHNDb250ZXh0JiwgQ2xpcFJlY3RzJikgY29uc3Q7CiAgICAg
Q2xpcFJlY3QgYmFja2dyb3VuZENsaXBSZWN0KGNvbnN0IENsaXBSZWN0c0NvbnRleHQmKSBjb25z
dDsKIApAQCAtMTI0Niw4ICsxMjg3LDggQEAgcHJpdmF0ZToKIAogI2lmIEVOQUJMRShDU1NfQ09N
UE9TSVRJTkcpCiAgICAgQmxlbmRNb2RlIG1fYmxlbmRNb2RlIDogNTsKLSAgICBib29sIG1faXNv
bGF0ZXNCbGVuZGluZyA6IDE7Ci0gICAgYm9vbCBtX3VwZGF0ZVBhcmVudFN0YWNraW5nQ29udGV4
dFNob3VsZElzb2xhdGVCbGVuZGluZ0RpcnR5IDogMTsKKyAgICBib29sIG1faGFzQmxlbmRlZEVs
ZW1lbnRJbkNoaWxkU3RhY2tpbmdDb250ZXh0IDogMTsKKyAgICBib29sIG1faGFzQmxlbmRlZEVs
ZW1lbnRJbkNoaWxkU3RhY2tpbmdDb250ZXh0U3RhdHVzRGlydHkgOiAxOwogI2VuZGlmCiAKICAg
ICBSZW5kZXJMYXllck1vZGVsT2JqZWN0JiBtX3JlbmRlcmVyOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAppbmRleCAyMTQ5YjBlMzRj
OTMwNWE0NTk0NTdhNzQ1YWQ0ZDNiZDcyMDJmOGJhLi5iNDUxZGJiOTg4NzhlODc2NTNmMzE3MDNh
YjNlYzE0YjdiMTNhOGVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJDb21wb3NpdG9yLmNwcApAQCAtMTA0NywxMCArMTA0Nyw2IEBAIHZvaWQgUmVuZGVy
TGF5ZXJDb21wb3NpdG9yOjpjb21wdXRlQ29tcG9zaXRpbmdSZXF1aXJlbWVudHMoUmVuZGVyTGF5
ZXIqIGFuY2VzdG9yCiAgICAgbGF5ZXIudXBkYXRlRGVzY2VuZGFudERlcGVuZGVudEZsYWdzKCk7
CiAgICAgbGF5ZXIudXBkYXRlTGF5ZXJMaXN0c0lmTmVlZGVkKCk7CiAKLSNpZiBFTkFCTEUoQ1NT
X0NPTVBPU0lUSU5HKQotICAgIGxheWVyLnVwZGF0ZVBhcmVudFN0YWNraW5nQ29udGV4dFNob3Vs
ZElzb2xhdGVCbGVuZGluZygpOwotI2VuZGlmCi0KICAgICBpZiAobGF5ZXIuaXNGbG93VGhyZWFk
Q29sbGVjdGluZ0dyYXBoaWNzTGF5ZXJzVW5kZXJSZWdpb25zKCkpIHsKICAgICAgICAgUmVuZGVy
Rmxvd1RocmVhZCYgZmxvd1RocmVhZCA9IHRvUmVuZGVyRmxvd1RocmVhZChsYXllci5yZW5kZXJl
cigpKTsKICAgICAgICAgbGF5ZXIuc2V0SGFzQ29tcG9zaXRpbmdEZXNjZW5kYW50KGZsb3dUaHJl
YWQuaGFzQ29tcG9zaXRpbmdSZWdpb25EZXNjZW5kYW50KCkpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGM4YmU0NWEyYWNm
MGZhODk1NTYzODBlZWU0MWViMmYwMzM3Yjg3NzUuLmZhYmNhNWM1MjQwZDkwMzUxOGNkYmUyYTZk
YTQ2Mjg2YmFlMWFiN2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxNC0wMy0wNiAgTWloYWkg
VGljYSAgPG1pdGljYUBhZG9iZS5jb20+CisKKyAgICAgICAgW0NTUyBCbGVuZGluZ10gQmxlbmRp
bmcgb3BlcmF0aW9uIGlzIG5vdCBpc29sYXRlZCB3aGVuIHNldHRpbmcgei1pbmRleCBvbiBwYXJl
bnQgZnJvbSBqYXZhc2NyaXB0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMjkzMDcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBUZXN0IGlmIHNldHRpbmcgb3IgdW5zZXR0aW5nIHN0YWNraW5nIGNvbnRleHQg
b3IgYmxlbmQgbW9kZSBmcm9tIHNjcmlwdCBjb3JyZWN0bHkgdXBkYXRlcyBibGVuZGluZworICAg
ICAgICBpc29sYXRpb24uCisKKyAgICAgICAgKiBjc3MzL2NvbXBvc2l0aW5nL2JsZW5kLW1vZGUt
YmFja2dyb3VuZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3JlcGFpbnQvYmxlbmQtbW9k
ZS1pc29sYXRlLXN0YWNraW5nLWNvbnRleHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L3JlcGFpbnQvYmxlbmQtbW9kZS1pc29sYXRlLXN0YWNraW5nLWNvbnRleHQuaHRtbDog
QWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2NzczMvY29tcG9zaXRpbmcvYmxlbmQtbW9k
ZS1iYWNrZ3JvdW5kLWV4cGVjdGVkLnBuZzogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFj
L2NzczMvY29tcG9zaXRpbmcvYmxlbmQtbW9kZS1iYWNrZ3JvdW5kLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisKIDIwMTQtMDMtMDUgIEppbndvbyBTb25nICA8amlud29vNy5zb25nQHNhbXN1bmcuY29t
PgogCiAgICAgICAgIFVucmV2aWV3ZWQgRUZMIGdhcmRlbmluZy4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2NzczMvY29tcG9zaXRpbmcvYmxlbmQtbW9kZS1iYWNrZ3JvdW5kLmh0bWwgYi9MYXlv
dXRUZXN0cy9jc3MzL2NvbXBvc2l0aW5nL2JsZW5kLW1vZGUtYmFja2dyb3VuZC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjMxZWMyNjY2NGM4ZjU5ZTk3MGQ3NzAyODg4NmExOGNlM2Y1OWNjOGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NvbXBvc2l0aW5nL2JsZW5kLW1vZGUtYmFja2dy
b3VuZC5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVh
ZD4KKzxzdHlsZT4KKyAgICBkaXYgeworICAgICAgICBtYXJnaW46IDIwcHg7CisgICAgICAgIHdp
ZHRoOiA2MHB4OworICAgICAgICBoZWlnaHQ6IDYwcHg7CisgICAgICAgIC13ZWJraXQtbWl4LWJs
ZW5kLW1vZGU6IGRpZmZlcmVuY2U7CisgICAgICAgIGJhY2tncm91bmQ6IHJlZDsKKyAgICB9Cisg
ICAgYm9keSB7CisgICAgICAgIGJhY2tncm91bmQ6IGJsdWU7CisgICAgfQorPC9zdHlsZT4KKzxi
b2R5PgorICAgIDxkaXYgY2xhc3M9InBhcmVudCI+PC9kaXY+Cis8L2JvZHk+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvYmxlbmQtbW9kZS1pc29sYXRlLXN0YWNraW5nLWNv
bnRleHQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2JsZW5kLW1vZGUt
aXNvbGF0ZS1zdGFja2luZy1jb250ZXh0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lODA1MjA1
MDdkYzhiNTlhMWU2MjQ3ZjY5OTU2MTM3OTIzODIyMmZlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9yZXBhaW50L2JsZW5kLW1vZGUtaXNvbGF0ZS1zdGFja2luZy1jb250ZXh0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM1IEBACitUZXN0IGlmIHNldHRpbmcgYmxlbmQgbW9k
ZSBjcmVhdGVzIGlzb2xhdGlvbi4KKworVGVzdCBpZiB1bnNldHRpbmcgYmxlbmQgbW9kZSByZW1v
dmVzIGlzb2xhdGlvbi4KKworVGVzdCBpZiB1bnNldHRpbmcgYSBwYXJlbnQncyBzdGFja2luZyBj
b250ZXh0IGNvcnJlY3RseSByZW1vdmVzIGlzb2xhdGlvbi4KKworVGVzdCBpZiBzd2l0Y2hpbmcg
YSBibGVuZCBtb2RlIHByZXNlcnZlcyBpc29sYXRpb24uCisKK1Rlc3QgaWYgc3dpdGNoaW5nIHRo
ZSBwcm9wZXJ0eSB0aGF0IGNhdXNlcyB0aGUgcGFyZW50IHRvIGNyZWF0ZSBhIHN0YWNraW5nIGNv
bnRleHQgcHJlc2VydmVzIGlzb2xhdGlvbi4KKworVGVzdCBpZiB1bnNldHRpbmcgYSBwYXJlbnQn
cyBzdGFja2luZyBjb250ZXh0IGNvcnJlY3RseSB1cGRhdGVzIGl0cyBwYXJlbnQgaXNvbGF0aW9u
LgorCisocmVwYWludCByZWN0cworICAocmVjdCA0OCA1NCA2MCA2MCkKKyAgKHJlY3QgNDggNTQg
NjAgNjApCisgIChyZWN0IDQ4IDU0IDYwIDYwKQorICAocmVjdCA0OCA1NCA2MCA2MCkKKyAgKHJl
Y3QgNDggMTcyIDYwIDYwKQorICAocmVjdCA0OCAxNzIgNjAgNjApCisgIChyZWN0IDI4IDI5MCA2
MCA2MCkKKyAgKHJlY3QgNDggMjkwIDYwIDYwKQorICAocmVjdCA0OCAyOTAgNjAgNjApCisgIChy
ZWN0IDQ4IDQwOCA2MCA2MCkKKyAgKHJlY3QgNDggNDA4IDYwIDYwKQorICAocmVjdCAyOCA1MjYg
NjAgNjApCisgIChyZWN0IDQ4IDUyNiA2MCA2MCkKKyAgKHJlY3QgNDggNjQ0IDYwIDYwKQorICAo
cmVjdCA2OCA2NDQgNjAgNjApCisgIChyZWN0IDY4IDY0NCA2MCA2MCkKKyAgKHJlY3QgMjggMjkw
IDYwIDYwKQorICAocmVjdCA0OCA2NDQgNjAgNjApCisgIChyZWN0IDI4IDUyNiA2MCA2MCkKKyAg
KHJlY3QgODggNjQ0IDIwIDYwKQorKQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Jl
cGFpbnQvYmxlbmQtbW9kZS1pc29sYXRlLXN0YWNraW5nLWNvbnRleHQuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvcmVwYWludC9ibGVuZC1tb2RlLWlzb2xhdGUtc3RhY2tpbmctY29udGV4dC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjU0ZTdmNTA4ZGFjZDM0YzFjNDAwZmI1YjQyNTA5OGViMGNmNWZkNjcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvYmxlbmQtbW9kZS1pc29s
YXRlLXN0YWNraW5nLWNvbnRleHQuaHRtbApAQCAtMCwwICsxLDg5IEBACis8IURPQ1RZUEUgSFRN
TD4KKzxodG1sPgorPGhlYWQ+Cis8c3R5bGU+CisgICAgZGl2IHsKKyAgICAgICAgbWFyZ2luOiAy
MHB4OworICAgICAgICB3aWR0aDogNjBweDsKKyAgICAgICAgaGVpZ2h0OiA2MHB4OworICAgIH0K
KworICAgIC5wYXJlbnQgeworICAgICAgICBiYWNrZ3JvdW5kOiAjMEYwOworICAgIH0KKworICAg
IC5jaGlsZCB7CisgICAgICAgIGJhY2tncm91bmQ6ICMwMEY7CisgICAgfQorCisgICAgLnN0YWNr
aW5nIHsKKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICB6LWluZGV4OiAwOwor
ICAgIH0KKworICAgIC5zdGFja2luZzIgeworICAgICAgICBvcGFjaXR5OiAwLjk5OworICAgIH0K
KworICAgIC5ibGVuZGVyIHsKKyAgICAgICAgLXdlYmtpdC1taXgtYmxlbmQtbW9kZTogZGlmZmVy
ZW5jZTsKKyAgICB9CisKKyAgICAuYmxlbmRlcjIgeworICAgICAgICAtd2Via2l0LW1peC1ibGVu
ZC1tb2RlOiBzY3JlZW47CisgICAgfQorPC9zdHlsZT4KKzxzY3JpcHQ+CisgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQodHJ1ZSk7Cis8L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdGV4dC1iYXNlZC1yZXBhaW50LmpzIiB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgorPCEtLSBSZXBhaW50IHRlc3QgdG8gZW5zdXJl
IHRoYXQgc2V0dGluZyBhIGJsZW5kIG1vZGUgZHluYW1pY2FsbHkgdHJpZ2dlcnMgdGhpcyBvcGVy
YXRpb24KKyAgICBvbmx5IHdpdGggdGhlIGNvbnRlbnRzIG9mIHRoZSBuZWFyZXN0IGFuY2VzdG9y
IHN0YWNraW5nIGNvbnRleHQuIC0tPgorPGJvZHkgb25sb2FkPSJydW5SZXBhaW50VGVzdCgpIj4K
KyAgICA8cD5UZXN0IGlmIHNldHRpbmcgYmxlbmQgbW9kZSBjcmVhdGVzIGlzb2xhdGlvbi48L3A+
CisgICAgPGRpdiBjbGFzcz0icGFyZW50IHN0YWNraW5nIj4KKyAgICAgICAgPGRpdiBpZD0iZmly
c3QiIGNsYXNzPSJjaGlsZCI+PC9kaXY+CisgICAgPC9kaXY+CisKKyAgICA8cD5UZXN0IGlmIHVu
c2V0dGluZyBibGVuZCBtb2RlIHJlbW92ZXMgaXNvbGF0aW9uLjwvcD4KKyAgICA8ZGl2IGNsYXNz
PSJwYXJlbnQgc3RhY2tpbmciPgorICAgICAgICA8ZGl2IGlkPSJzZWNvbmQiIGNsYXNzPSJjaGls
ZCBibGVuZGVyIj48L2Rpdj4KKyAgICA8L2Rpdj4KKworICAgIDxwPlRlc3QgaWYgdW5zZXR0aW5n
IGEgcGFyZW50J3Mgc3RhY2tpbmcgY29udGV4dCBjb3JyZWN0bHkgcmVtb3ZlcyBpc29sYXRpb24u
PC9wPgorICAgIDxkaXYgaWQ9InRoaXJkIiBjbGFzcz0icGFyZW50IHN0YWNraW5nIj4KKyAgICAg
ICAgPGRpdiBjbGFzcz0iY2hpbGQgYmxlbmRlciI+PC9kaXY+CisgICAgPC9kaXY+CisKKyAgICA8
cD5UZXN0IGlmIHN3aXRjaGluZyBhIGJsZW5kIG1vZGUgcHJlc2VydmVzIGlzb2xhdGlvbi48L3A+
CisgICAgIDxkaXYgY2xhc3M9InBhcmVudCBzdGFja2luZyI+CisgICAgICAgICA8ZGl2IGlkPSJm
b3VydGgiIGNsYXNzPSJjaGlsZCBibGVuZGVyIj48L2Rpdj4KKyAgICAgPC9kaXY+CisKKyAgICA8
cD5UZXN0IGlmIHN3aXRjaGluZyB0aGUgcHJvcGVydHkgdGhhdCBjYXVzZXMgdGhlIHBhcmVudCB0
byBjcmVhdGUgYSBzdGFja2luZyBjb250ZXh0IHByZXNlcnZlcyBpc29sYXRpb24uPC9wPgorICAg
IDxkaXYgaWQ9ImZpZnRoIiBjbGFzcz0icGFyZW50IHN0YWNraW5nIj4KKyAgICAgICAgPGRpdiBj
bGFzcz0iY2hpbGQgYmxlbmRlciI+PC9kaXY+CisgICAgPC9kaXY+CisKKyAgICA8cD5UZXN0IGlm
IHVuc2V0dGluZyBhIHBhcmVudCdzIHN0YWNraW5nIGNvbnRleHQgY29ycmVjdGx5IHVwZGF0ZXMg
aXRzIHBhcmVudCBpc29sYXRpb24uPC9wPgorICAgIDxkaXYgY2xhc3M9InBhcmVudCBzdGFja2lu
ZyI+CisgICAgICAgIDxkaXYgaWQ9InNpeHRoIiBjbGFzcz0icGFyZW50IHN0YWNraW5nIj4KKyAg
ICAgICAgICAgIDxkaXYgY2xhc3M9ImNoaWxkIGJsZW5kZXIiPjwvZGl2PgorICAgICAgICA8L2Rp
dj4KKyAgICA8L2Rpdj4KKworICAgIDxzY3JpcHQ+CisgICAgICAgIGZ1bmN0aW9uIHJlcGFpbnRU
ZXN0KCkgeworICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZpcnN0JykuY2xh
c3NOYW1lID0gImNoaWxkIGJsZW5kZXIiOworICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ3NlY29uZCcpLmNsYXNzTmFtZSA9ICJjaGlsZCI7CisKKyAgICAgICAgICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCd0aGlyZCcpLmNsYXNzTmFtZSA9ICJwYXJlbnQiOworCisgICAg
ICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZm91cnRoJykuY2xhc3NOYW1lID0gImNo
aWxkIGJsZW5kZXIyIjsKKworICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Zp
ZnRoJykuY2xhc3NOYW1lID0gInBhcmVudCBzdGFja2luZzIiOworICAgICAgICAgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ3NpeHRoJykuY2xhc3NOYW1lID0gInBhcmVudCI7CisgICAgICAg
IH0KKyAgICAgPC9zY3JpcHQ+CisgPC9ib2R5PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jc3MzL2NvbXBvc2l0aW5nL2Js
ZW5kLW1vZGUtYmFja2dyb3VuZC1leHBlY3RlZC5wbmcgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvY3NzMy9jb21wb3NpdGluZy9ibGVuZC1tb2RlLWJhY2tncm91bmQtZXhwZWN0ZWQucG5nCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmRhNzQ1NGZmMTU2NTAyYzZmNWFkYjkxZDUyM2JkNjdlMjJjN2UxNGIKR0lUIGJp
bmFyeSBwYXRjaApsaXRlcmFsIDEwNTYyCnpjbWVBU0BOPyhvbEh5YHVWQnEhaWEweX55VXsrdllW
MmE+aTFCJVFsWWJwUnpua0I5Z0NDTTQ3JD1TdUZ4ZVZyKAp6Iz5WRXgkd3JBck5vbVFjJHApc0Q9
NE5KeiN6d3xUWDY3Y3dyWTFGK0A5IzEmWGs3N2hhU1crb2UwJWQ/Wi19RlMKemk9KUdDXkYwVWEq
TUI/NHNNMz0kUGIqcEcjaE1mS29AYy1KJEpoVT5gSzt7RnpgKTRGIVhjcEcmflNqY1FKKCthCnoy
Tm9DfkI9TF9eTGN4diZzc0pQfjQ9OFljZ3s9IWhUTGFAR1hgcFZIRiVNPW9GbjtRfTxxUjxzRUdu
VX01ODJGTgp6WXtZQCUqLWlLRD4tWDF2K1EwQW4mI3luQD98LSp8ZCViWnxMJW9Bbj9nPU1FU25Y
KEZFWlVSc1RvNHw5OG89T1AKellMPW8xNTZeO18wfVBnTjgkTj8kMnBwUElTYT5EYE5wQXdoNyRu
UnNeYiM2bV5sd3htTGZuZ3EmMHs1UkJ0bm1qCnp4UGUyVF8hfUVVTTU7MH1GUypqRGdWNTgqRXVu
Q255RyN6KnhyeytzJlNENVgkNjB3TUpaODEtaGVkVVJnWGFNVAp6Jjg+PnUydEFMUCppTCtHbihH
ZXQ7c1RYfmhBRm91dzhIZnFDfWQ9UVFnUUdjQklOfUw4SEAoWVh0MDElPnhmNyMKemM1KE1YV3kz
R2VfbFNKMkFSemRHLSh2fWZBdEtNfWE3Wlh7PitZVGkmcDhlKjJOKmc8NnhrNURqZ15yKFducnFo
Cno1V0ZicDBQMn5qYk9nPjwqcjFUbXB0SSRUOHpLYDZHQlQ/S3dNWlpgejhKN1BYYE9jMDFEPDZT
bG9BP1R4JilmeAp6NzlWSjhWQkI8SmxRYnYxJXk5d2dAZW9YY145M1JWMz4/SXclOUlncT51NnZV
KHNiZk1Tai1KOThrfG4mc2xiWFkKenBxQzlDbHczTzs7VDkpMjkkPCpmeFk+KHZuLVVZLVhyUFAr
JTRrWXFXRSN5cjQyYDJAJTRrNmd0V1pYNHBONyNZCnpTOzFrbm94O1IyK0lWQVI4ZzA+ekh1SGc5
aFM5emNMKnI8TnV3a145JSkmN2BiaWwraUkmfFBMSS1WamhJPi1iWgp6I1R5K3U3IyV0UUhqcVpn
WGgoKypmSE1RNUxrRlduMmNXNSkoVj5JVXAjJEotPExDX0c9K0ZVaE5fS1NVeityVWcKcjA2NGNZ
SSY/NVBiTzJufEZ7cCtQe3hMbVQhUyNIPlF4X2ZKcURUZiRTM2ozXlA2PHJfKiZSPlEKCmxpdGVy
YWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9j
c3MzL2NvbXBvc2l0aW5nL2JsZW5kLW1vZGUtYmFja2dyb3VuZC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvY3NzMy9jb21wb3NpdGluZy9ibGVuZC1tb2RlLWJhY2tncm91
bmQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2NWMxYzFjODMxZDc1M2VjMTU5MDRjYWViN2Uw
MzAyMDkxYjhmYTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
Y3NzMy9jb21wb3NpdGluZy9ibGVuZC1tb2RlLWJhY2tncm91bmQtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsNyBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHgxMDAKKyAgUmVuZGVy
QmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDEwMAorICAgIFJlbmRlckJvZHkge0JPRFl9
IGF0ICg4LDIwKSBzaXplIDc4NHg2MCBbYmdjb2xvcj0jMDAwMEZGXQorbGF5ZXIgYXQgKDI4LDIw
KSBzaXplIDYweDYwCisgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyMCwwKSBzaXplIDYweDYwIFti
Z2NvbG9yPSNGRjAwMDBdCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>