<?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>117835</bug_id>
          
          <creation_ts>2013-06-20 07:03:22 -0700</creation_ts>
          <short_desc>[CSS Regions] Move overset compute code from flow thread to named flow thread</short_desc>
          <delta_ts>2022-02-27 23:15:33 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>57312</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Radu Stavila">stavila</reporter>
          <assigned_to name="Radu Stavila">stavila</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>mihnea</cc>
    
    <cc>WebkitBugTracker</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>902143</commentid>
    <comment_count>0</comment_count>
    <who name="Radu Stavila">stavila</who>
    <bug_when>2013-06-20 07:03:22 -0700</bug_when>
    <thetext>[CSS Regions] Move overset compute code from flow thread to named flow thread</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>902555</commentid>
    <comment_count>1</comment_count>
      <attachid>205187</attachid>
    <who name="Radu Stavila">stavila</who>
    <bug_when>2013-06-21 08:33:20 -0700</bug_when>
    <thetext>Created attachment 205187
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>902565</commentid>
    <comment_count>2</comment_count>
      <attachid>205187</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-06-21 08:52:13 -0700</bug_when>
    <thetext>Comment on attachment 205187
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=205187&amp;action=review

r=me with a suggestion:

&gt; Source/WebCore/rendering/RenderRegion.cpp:136
&gt; +    ASSERT(node() &amp;&amp; node()-&gt;isElementNode());

Maybe we could add an element() helper, to avoid having to check/cast all the time.

&gt; Source/WebCore/rendering/RenderRegion.cpp:146
&gt; +    ASSERT(node() &amp;&amp; node()-&gt;isElementNode());

etc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>902574</commentid>
    <comment_count>3</comment_count>
      <attachid>205190</attachid>
    <who name="Radu Stavila">stavila</who>
    <bug_when>2013-06-21 09:11:37 -0700</bug_when>
    <thetext>Created attachment 205190
Patch (included changes requested by Kling)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>902607</commentid>
    <comment_count>4</comment_count>
      <attachid>205190</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-06-21 10:43:18 -0700</bug_when>
    <thetext>Comment on attachment 205190
Patch (included changes requested by Kling)

Clearing flags on attachment: 205190

Committed r151843: &lt;http://trac.webkit.org/changeset/151843&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>205187</attachid>
            <date>2013-06-21 08:33:20 -0700</date>
            <delta_ts>2022-02-27 23:15:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>117835.patch</filename>
            <type>text/plain</type>
            <size>12795</size>
            <attacher name="Radu Stavila">stavila</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA5YzU2MGU2Li4wMDk5MzM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMzAg
QEAKIDIwMTMtMDYtMjEgIFJhZHUgU3RhdmlsYSAgPHN0YXZpbGFAYWRvYmUuY29tPgogCisgICAg
ICAgIFtDU1MgUmVnaW9uc10gTW92ZSBvdmVyc2V0IGNvbXB1dGUgY29kZSBmcm9tIGZsb3cgdGhy
ZWFkIHRvIG5hbWVkIGZsb3cgdGhyZWFkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMTc4MzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBNb3ZlZCBjb21wdXRlT3ZlcnNldFN0YXRlRm9yUmVnaW9ucygpIGFu
ZCBvdmVyc2V0KCkgbWV0aG9kcyBmcm9tIFJlbmRlckZsb3dUaHJlYWQgdG8gUmVuZGVyTmFtZWRG
bG93VGhyZWFkLiAKKyAgICAgICAgQWRkZWQgQVNTRVJUUyBpbiBSZW5kZXJSZWdpb246OnJlZ2lv
bk92ZXJzZXRTdGF0ZSBhbmQgUmVuZGVyUmVnaW9uOjpzZXRSZWdpb25PdmVyc2V0U3RhdGUgdG8g
ZW5zdXJlCisgICAgICAgIHRoZSByZWdpb24gd2FzIGNyZWF0ZWQgZnJvbSBhbiBlbGVtZW50Lgor
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckJsb2NrOjpjb21wdXRlT3ZlcmZsb3cpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJGbG93VGhyZWFkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZsb3dUaHJlYWQ6OlJl
bmRlckZsb3dUaHJlYWQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmg6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJOYW1lZEZsb3dUaHJlYWQ6OlJlbmRlck5hbWVkRmxvd1RocmVhZCk6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJOYW1lZEZsb3dUaHJlYWQ6OmNvbXB1dGVPdmVyc2V0
U3RhdGVGb3JSZWdpb25zKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhy
ZWFkLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJOYW1lZEZsb3dUaHJlYWQ6Om92ZXJzZXQp
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJSZWdpb24uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyUmVnaW9uOjpyZWdpb25PdmVyc2V0U3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyUmVnaW9uOjpzZXRSZWdpb25PdmVyc2V0U3RhdGUpOgorCisyMDEzLTA2LTIxICBSYWR1
IFN0YXZpbGEgIDxzdGF2aWxhQGFkb2JlLmNvbT4KKwogICAgICAgICBXZWIgSW5zcGVjdG9yOiBJ
bnRlZ3JhdGUgbmV3IHJlZ2lvbk92ZXJzZXRDaGFuZ2UgZXZlbnQgaW50byBpbnNwZWN0b3IKICAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNzgzMwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAppbmRleCA2ZTAxNDAxLi5lNGY3
OGFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKQEAgLTE4MTUs
OCArMTgxNSw4IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVPdmVyZmxvdyhMYXlvdXRVbml0
IG9sZENsaWVudEFmdGVyRWRnZSwgYm9vbCByZWNvbXB1dGVGCiAgICAgLy8gQWRkIHZpc3VhbCBv
dmVyZmxvdyBmcm9tIHRoZW1lLgogICAgIGFkZFZpc3VhbE92ZXJmbG93RnJvbVRoZW1lKCk7CiAK
LSAgICBpZiAoaXNSZW5kZXJGbG93VGhyZWFkKCkpCi0gICAgICAgIHRvUmVuZGVyRmxvd1RocmVh
ZCh0aGlzKS0+Y29tcHV0ZU92ZXJzZXRTdGF0ZUZvclJlZ2lvbnMob2xkQ2xpZW50QWZ0ZXJFZGdl
KTsKKyAgICBpZiAoaXNSZW5kZXJOYW1lZEZsb3dUaHJlYWQoKSkKKyAgICAgICAgdG9SZW5kZXJO
YW1lZEZsb3dUaHJlYWQodGhpcyktPmNvbXB1dGVPdmVyc2V0U3RhdGVGb3JSZWdpb25zKG9sZENs
aWVudEFmdGVyRWRnZSk7CiB9CiAKIHZvaWQgUmVuZGVyQmxvY2s6OmNsZWFyTGF5b3V0T3ZlcmZs
b3coKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJl
YWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuY3BwCmlu
ZGV4IDhkMzRlNWIuLjNkZDIxYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJGbG93VGhyZWFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyRmxvd1RocmVhZC5jcHAKQEAgLTU1LDcgKzU1LDYgQEAgUmVuZGVyRmxvd1RocmVhZDo6UmVu
ZGVyRmxvd1RocmVhZCgpCiAgICAgLCBtX3JlZ2lvbnNJbnZhbGlkYXRlZChmYWxzZSkKICAgICAs
IG1fcmVnaW9uc0hhdmVVbmlmb3JtTG9naWNhbFdpZHRoKHRydWUpCiAgICAgLCBtX3JlZ2lvbnNI
YXZlVW5pZm9ybUxvZ2ljYWxIZWlnaHQodHJ1ZSkKLSAgICAsIG1fb3ZlcnNldCh0cnVlKQogICAg
ICwgbV9oYXNSZWdpb25zV2l0aFN0eWxpbmcoZmFsc2UpCiAgICAgLCBtX2Rpc3BhdGNoUmVnaW9u
TGF5b3V0VXBkYXRlRXZlbnQoZmFsc2UpCiAgICAgLCBtX2Rpc3BhdGNoUmVnaW9uT3ZlcnNldENo
YW5nZUV2ZW50KGZhbHNlKQpAQCAtNzQwLDU0ICs3MzksNiBAQCB2b2lkIFJlbmRlckZsb3dUaHJl
YWQ6OmFwcGx5QnJlYWtBZnRlckNvbnRlbnQoTGF5b3V0VW5pdCBjbGllbnRIZWlnaHQpCiAgICAg
YWRkRm9yY2VkUmVnaW9uQnJlYWsoY2xpZW50SGVpZ2h0LCB0aGlzLCBmYWxzZSk7CiB9CiAKLXZv
aWQgUmVuZGVyRmxvd1RocmVhZDo6Y29tcHV0ZU92ZXJzZXRTdGF0ZUZvclJlZ2lvbnMoTGF5b3V0
VW5pdCBvbGRDbGllbnRBZnRlckVkZ2UpCi17Ci0gICAgTGF5b3V0VW5pdCBoZWlnaHQgPSBvbGRD
bGllbnRBZnRlckVkZ2U7Ci0KLSAgICAvLyBGSVhNRTogdGhlIHZpc3VhbCBvdmVyZmxvdyBvZiBt
aWRkbGUgcmVnaW9uIChpZiBpdCBpcyB0aGUgbGFzdCBvbmUgdG8gY29udGFpbiBhbnkgY29udGVu
dCBpbiBhIHJlbmRlciBmbG93IHRocmVhZCkKLSAgICAvLyBtaWdodCBub3QgYmUgdGFrZW4gaW50
byBhY2NvdW50IGJlY2F1c2UgdGhlIHJlbmRlciBmbG93IHRocmVhZCBoZWlnaHQgaXMgZ3JlYXRl
ciB0aGF0IHRoYXQgcmVnaW9ucyBoZWlnaHQgKyBpdHMgdmlzdWFsIG92ZXJmbG93Ci0gICAgLy8g
YmVjYXVzZSBvZiBob3cgY29tcHV0ZUxvZ2ljYWxIZWlnaHQgaXMgaW1wbGVtZW50ZWQgZm9yIFJl
bmRlckZsb3dUaHJlYWQgKGFzIGEgc3VtIG9mIGFsbCByZWdpb25zIGhlaWdodCkuCi0gICAgLy8g
VGhpcyBtZWFucyB0aGF0IHRoZSBtaWRkbGUgcmVnaW9uIHdpbGwgYmUgbWFya2VkIGFzIGZpdCAo
ZXZlbiBpZiBpdCBoYXMgdmlzdWFsIG92ZXJmbG93IGZsb3dpbmcgaW50byB0aGUgbmV4dCByZWdp
b24pCi0gICAgaWYgKGhhc1JlbmRlck92ZXJmbG93KCkKLSAgICAgICAgJiYgKCAoaXNIb3Jpem9u
dGFsV3JpdGluZ01vZGUoKSAmJiB2aXN1YWxPdmVyZmxvd1JlY3QoKS5tYXhZKCkgPiBjbGllbnRC
b3hSZWN0KCkubWF4WSgpKQotICAgICAgICAgICAgfHwgKCFpc0hvcml6b250YWxXcml0aW5nTW9k
ZSgpICYmIHZpc3VhbE92ZXJmbG93UmVjdCgpLm1heFgoKSA+IGNsaWVudEJveFJlY3QoKS5tYXhY
KCkpKSkKLSAgICAgICAgaGVpZ2h0ID0gaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IHZpc3Vh
bE92ZXJmbG93UmVjdCgpLm1heFkoKSA6IHZpc3VhbE92ZXJmbG93UmVjdCgpLm1heFgoKTsKLQot
ICAgIFJlbmRlclJlZ2lvbiogbGFzdFJlZyA9IGxhc3RSZWdpb24oKTsKLSAgICBmb3IgKFJlbmRl
clJlZ2lvbkxpc3Q6Oml0ZXJhdG9yIGl0ZXIgPSBtX3JlZ2lvbkxpc3QuYmVnaW4oKTsgaXRlciAh
PSBtX3JlZ2lvbkxpc3QuZW5kKCk7ICsraXRlcikgewotICAgICAgICBSZW5kZXJSZWdpb24qIHJl
Z2lvbiA9ICppdGVyOwotICAgICAgICBMYXlvdXRVbml0IGZsb3dNaW4gPSBoZWlnaHQgLSAoaXNI
b3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IHJlZ2lvbi0+Zmxvd1RocmVhZFBvcnRpb25SZWN0KCku
eSgpIDogcmVnaW9uLT5mbG93VGhyZWFkUG9ydGlvblJlY3QoKS54KCkpOwotICAgICAgICBMYXlv
dXRVbml0IGZsb3dNYXggPSBoZWlnaHQgLSAoaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IHJl
Z2lvbi0+Zmxvd1RocmVhZFBvcnRpb25SZWN0KCkubWF4WSgpIDogcmVnaW9uLT5mbG93VGhyZWFk
UG9ydGlvblJlY3QoKS5tYXhYKCkpOwotICAgICAgICBSZWdpb25PdmVyc2V0U3RhdGUgcHJldmlv
dXNTdGF0ZSA9IHJlZ2lvbi0+cmVnaW9uT3ZlcnNldFN0YXRlKCk7Ci0gICAgICAgIFJlZ2lvbk92
ZXJzZXRTdGF0ZSBzdGF0ZSA9IFJlZ2lvbkZpdDsKLSAgICAgICAgaWYgKGZsb3dNaW4gPD0gMCkK
LSAgICAgICAgICAgIHN0YXRlID0gUmVnaW9uRW1wdHk7Ci0gICAgICAgIGlmIChmbG93TWF4ID4g
MCAmJiByZWdpb24gPT0gbGFzdFJlZykKLSAgICAgICAgICAgIHN0YXRlID0gUmVnaW9uT3ZlcnNl
dDsKLSAgICAgICAgcmVnaW9uLT5zZXRSZWdpb25PdmVyc2V0U3RhdGUoc3RhdGUpOwotICAgICAg
ICAvLyBkZXRlcm1pbmUgd2hldGhlciB0aGUgTmFtZWRGbG93IG9iamVjdCBzaG91bGQgZGlzcGF0
Y2ggYSByZWdpb25MYXlvdXRVcGRhdGUgZXZlbnQKLSAgICAgICAgLy8gRklYTUU6IGN1cnJlbnRs
eSBpdCBjYW5ub3QgZGV0ZXJtaW5lIHdoZXRoZXIgYSByZWdpb24gd2hvc2UgcmVnaW9uT3ZlcnNl
dCBzdGF0ZSByZW1haW5lZCBlaXRoZXIgImZpdCIgb3IgIm92ZXJzZXQiIGhhcyBhY3R1YWxseQot
ICAgICAgICAvLyBjaGFuZ2VkLCBzbyBpdCBqdXN0IGFzc3VtZXMgdGhhdCB0aGUgTmFtZWRGbG93
IHNob3VsZCBkaXNwYXRjaCB0aGUgZXZlbnQKLSAgICAgICAgaWYgKHByZXZpb3VzU3RhdGUgIT0g
c3RhdGUKLSAgICAgICAgICAgIHx8IHN0YXRlID09IFJlZ2lvbkZpdAotICAgICAgICAgICAgfHwg
c3RhdGUgPT0gUmVnaW9uT3ZlcnNldCkKLSAgICAgICAgICAgIHNldERpc3BhdGNoUmVnaW9uTGF5
b3V0VXBkYXRlRXZlbnQodHJ1ZSk7Ci0gICAgICAgIAotICAgICAgICBpZiAocHJldmlvdXNTdGF0
ZSAhPSBzdGF0ZSkKLSAgICAgICAgICAgIHNldERpc3BhdGNoUmVnaW9uT3ZlcnNldENoYW5nZUV2
ZW50KHRydWUpOwotICAgIH0KLSAgICAKLSAgICAvLyBJZiB0aGUgbnVtYmVyIG9mIHJlZ2lvbnMg
aGFzIGNoYW5nZWQgc2luY2Ugd2UgbGFzdCBjb21wdXRlZCB0aGUgb3ZlcnNldCBwcm9wZXJ0eSwg
c2NoZWR1bGUgdGhlIHJlZ2lvbk92ZXJzZXRDaGFuZ2UgZXZlbnQuCi0gICAgaWYgKHByZXZpb3Vz
UmVnaW9uQ291bnRDaGFuZ2VkKCkpIHsKLSAgICAgICAgc2V0RGlzcGF0Y2hSZWdpb25PdmVyc2V0
Q2hhbmdlRXZlbnQodHJ1ZSk7Ci0gICAgICAgIHVwZGF0ZVByZXZpb3VzUmVnaW9uQ291bnQoKTsK
LSAgICB9Ci0KLSAgICAvLyBXaXRoIHRoZSByZWdpb25zIG92ZXJmbG93IHN0YXRlIGNvbXB1dGVk
IHdlIGNhbiBhbHNvIHNldCB0aGUgb3ZlcnNldCBmbGFnIGZvciB0aGUgbmFtZWQgZmxvdy4KLSAg
ICAvLyBJZiB0aGVyZSBhcmUgbm8gdmFsaWQgcmVnaW9ucyBpbiB0aGUgY2hhaW4sIG92ZXJzZXQg
aXMgdHJ1ZS4KLSAgICBtX292ZXJzZXQgPSBsYXN0UmVnID8gbGFzdFJlZy0+cmVnaW9uT3ZlcnNl
dFN0YXRlKCkgPT0gUmVnaW9uT3ZlcnNldCA6IHRydWU7Ci19Ci0KIGJvb2wgUmVuZGVyRmxvd1Ro
cmVhZDo6cmVnaW9uSW5SYW5nZShjb25zdCBSZW5kZXJSZWdpb24qIHRhcmdldFJlZ2lvbiwgY29u
c3QgUmVuZGVyUmVnaW9uKiBzdGFydFJlZ2lvbiwgY29uc3QgUmVuZGVyUmVnaW9uKiBlbmRSZWdp
b24pIGNvbnN0CiB7CiAgICAgQVNTRVJUKHRhcmdldFJlZ2lvbik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5oIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuaAppbmRleCBmOTE3NjRkLi4wMmRmYWYyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmgKQEAgLTEzNiwxMCAr
MTM2LDYgQEAgcHVibGljOgogICAgIHZvaWQgY2xlYXJSZW5kZXJPYmplY3RDdXN0b21TdHlsZShj
b25zdCBSZW5kZXJPYmplY3QqLAogICAgICAgICBjb25zdCBSZW5kZXJSZWdpb24qIG9sZFN0YXJ0
UmVnaW9uID0gMCwgY29uc3QgUmVuZGVyUmVnaW9uKiBvbGRFbmRSZWdpb24gPSAwLAogICAgICAg
ICBjb25zdCBSZW5kZXJSZWdpb24qIG5ld1N0YXJ0UmVnaW9uID0gMCwgY29uc3QgUmVuZGVyUmVn
aW9uKiBuZXdFbmRSZWdpb24gPSAwKTsKLSAgICAKLSAgICB2b2lkIGNvbXB1dGVPdmVyc2V0U3Rh
dGVGb3JSZWdpb25zKExheW91dFVuaXQgb2xkQ2xpZW50QWZ0ZXJFZGdlKTsKLQotICAgIGJvb2wg
b3ZlcnNldCgpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcnNldDsgfQogCiAgICAgLy8gQ2hlY2sgaWYg
dGhlIG9iamVjdCBpcyBpbiByZWdpb24gYW5kIHRoZSByZWdpb24gaXMgcGFydCBvZiB0aGlzIGZs
b3cgdGhyZWFkLgogICAgIGJvb2wgb2JqZWN0SW5GbG93UmVnaW9uKGNvbnN0IFJlbmRlck9iamVj
dCosIGNvbnN0IFJlbmRlclJlZ2lvbiopIGNvbnN0OwpAQCAtMjc5LDcgKzI3NSw2IEBAIHByb3Rl
Y3RlZDoKICAgICBib29sIG1fcmVnaW9uc0ludmFsaWRhdGVkIDogMTsKICAgICBib29sIG1fcmVn
aW9uc0hhdmVVbmlmb3JtTG9naWNhbFdpZHRoIDogMTsKICAgICBib29sIG1fcmVnaW9uc0hhdmVV
bmlmb3JtTG9naWNhbEhlaWdodCA6IDE7Ci0gICAgYm9vbCBtX292ZXJzZXQgOiAxOwogICAgIGJv
b2wgbV9oYXNSZWdpb25zV2l0aFN0eWxpbmcgOiAxOwogICAgIGJvb2wgbV9kaXNwYXRjaFJlZ2lv
bkxheW91dFVwZGF0ZUV2ZW50IDogMTsKICAgICBib29sIG1fZGlzcGF0Y2hSZWdpb25PdmVyc2V0
Q2hhbmdlRXZlbnQgOiAxOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck5hbWVkRmxvd1RocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TmFtZWRGbG93VGhyZWFkLmNwcAppbmRleCBiZmIzODdjLi44OWU0YTMxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmNwcApAQCAtNTIs
NyArNTIsOCBAQCBSZW5kZXJOYW1lZEZsb3dUaHJlYWQqIFJlbmRlck5hbWVkRmxvd1RocmVhZDo6
Y3JlYXRlQW5vbnltb3VzKERvY3VtZW50KiBkb2N1bWVudAogfQogCiBSZW5kZXJOYW1lZEZsb3dU
aHJlYWQ6OlJlbmRlck5hbWVkRmxvd1RocmVhZChQYXNzUmVmUHRyPFdlYktpdE5hbWVkRmxvdz4g
bmFtZWRGbG93KQotICAgIDogbV9uYW1lZEZsb3cobmFtZWRGbG93KQorICAgIDogbV9vdmVyc2V0
KHRydWUpCisgICAgLCBtX25hbWVkRmxvdyhuYW1lZEZsb3cpCiAgICAgLCBtX3JlZ2lvbkxheW91
dFVwZGF0ZUV2ZW50VGltZXIodGhpcywgJlJlbmRlck5hbWVkRmxvd1RocmVhZDo6cmVnaW9uTGF5
b3V0VXBkYXRlRXZlbnRUaW1lckZpcmVkKQogICAgICwgbV9yZWdpb25PdmVyc2V0Q2hhbmdlRXZl
bnRUaW1lcih0aGlzLCAmUmVuZGVyTmFtZWRGbG93VGhyZWFkOjpyZWdpb25PdmVyc2V0Q2hhbmdl
RXZlbnRUaW1lckZpcmVkKQogewpAQCAtMjkzLDYgKzI5NCw1NCBAQCB2b2lkIFJlbmRlck5hbWVk
Rmxvd1RocmVhZDo6cmVtb3ZlUmVnaW9uRnJvbVRocmVhZChSZW5kZXJSZWdpb24qIHJlbmRlclJl
Z2lvbikKICAgICBpbnZhbGlkYXRlUmVnaW9ucygpOwogfQogCit2b2lkIFJlbmRlck5hbWVkRmxv
d1RocmVhZDo6Y29tcHV0ZU92ZXJzZXRTdGF0ZUZvclJlZ2lvbnMoTGF5b3V0VW5pdCBvbGRDbGll
bnRBZnRlckVkZ2UpCit7CisgICAgTGF5b3V0VW5pdCBoZWlnaHQgPSBvbGRDbGllbnRBZnRlckVk
Z2U7CisKKyAgICAvLyBGSVhNRTogdGhlIHZpc3VhbCBvdmVyZmxvdyBvZiBtaWRkbGUgcmVnaW9u
IChpZiBpdCBpcyB0aGUgbGFzdCBvbmUgdG8gY29udGFpbiBhbnkgY29udGVudCBpbiBhIHJlbmRl
ciBmbG93IHRocmVhZCkKKyAgICAvLyBtaWdodCBub3QgYmUgdGFrZW4gaW50byBhY2NvdW50IGJl
Y2F1c2UgdGhlIHJlbmRlciBmbG93IHRocmVhZCBoZWlnaHQgaXMgZ3JlYXRlciB0aGF0IHRoYXQg
cmVnaW9ucyBoZWlnaHQgKyBpdHMgdmlzdWFsIG92ZXJmbG93CisgICAgLy8gYmVjYXVzZSBvZiBo
b3cgY29tcHV0ZUxvZ2ljYWxIZWlnaHQgaXMgaW1wbGVtZW50ZWQgZm9yIFJlbmRlck5hbWVkRmxv
d1RocmVhZCAoYXMgYSBzdW0gb2YgYWxsIHJlZ2lvbnMgaGVpZ2h0KS4KKyAgICAvLyBUaGlzIG1l
YW5zIHRoYXQgdGhlIG1pZGRsZSByZWdpb24gd2lsbCBiZSBtYXJrZWQgYXMgZml0IChldmVuIGlm
IGl0IGhhcyB2aXN1YWwgb3ZlcmZsb3cgZmxvd2luZyBpbnRvIHRoZSBuZXh0IHJlZ2lvbikKKyAg
ICBpZiAoaGFzUmVuZGVyT3ZlcmZsb3coKQorICAgICAgICAmJiAoIChpc0hvcml6b250YWxXcml0
aW5nTW9kZSgpICYmIHZpc3VhbE92ZXJmbG93UmVjdCgpLm1heFkoKSA+IGNsaWVudEJveFJlY3Qo
KS5tYXhZKCkpCisgICAgICAgICAgICB8fCAoIWlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgJiYg
dmlzdWFsT3ZlcmZsb3dSZWN0KCkubWF4WCgpID4gY2xpZW50Qm94UmVjdCgpLm1heFgoKSkpKQor
ICAgICAgICBoZWlnaHQgPSBpc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gdmlzdWFsT3ZlcmZs
b3dSZWN0KCkubWF4WSgpIDogdmlzdWFsT3ZlcmZsb3dSZWN0KCkubWF4WCgpOworCisgICAgUmVu
ZGVyUmVnaW9uKiBsYXN0UmVnID0gbGFzdFJlZ2lvbigpOworICAgIGZvciAoUmVuZGVyUmVnaW9u
TGlzdDo6aXRlcmF0b3IgaXRlciA9IG1fcmVnaW9uTGlzdC5iZWdpbigpOyBpdGVyICE9IG1fcmVn
aW9uTGlzdC5lbmQoKTsgKytpdGVyKSB7CisgICAgICAgIFJlbmRlclJlZ2lvbiogcmVnaW9uID0g
Kml0ZXI7CisgICAgICAgIExheW91dFVuaXQgZmxvd01pbiA9IGhlaWdodCAtIChpc0hvcml6b250
YWxXcml0aW5nTW9kZSgpID8gcmVnaW9uLT5mbG93VGhyZWFkUG9ydGlvblJlY3QoKS55KCkgOiBy
ZWdpb24tPmZsb3dUaHJlYWRQb3J0aW9uUmVjdCgpLngoKSk7CisgICAgICAgIExheW91dFVuaXQg
Zmxvd01heCA9IGhlaWdodCAtIChpc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gcmVnaW9uLT5m
bG93VGhyZWFkUG9ydGlvblJlY3QoKS5tYXhZKCkgOiByZWdpb24tPmZsb3dUaHJlYWRQb3J0aW9u
UmVjdCgpLm1heFgoKSk7CisgICAgICAgIFJlZ2lvbk92ZXJzZXRTdGF0ZSBwcmV2aW91c1N0YXRl
ID0gcmVnaW9uLT5yZWdpb25PdmVyc2V0U3RhdGUoKTsKKyAgICAgICAgUmVnaW9uT3ZlcnNldFN0
YXRlIHN0YXRlID0gUmVnaW9uRml0OworICAgICAgICBpZiAoZmxvd01pbiA8PSAwKQorICAgICAg
ICAgICAgc3RhdGUgPSBSZWdpb25FbXB0eTsKKyAgICAgICAgaWYgKGZsb3dNYXggPiAwICYmIHJl
Z2lvbiA9PSBsYXN0UmVnKQorICAgICAgICAgICAgc3RhdGUgPSBSZWdpb25PdmVyc2V0OworICAg
ICAgICByZWdpb24tPnNldFJlZ2lvbk92ZXJzZXRTdGF0ZShzdGF0ZSk7CisgICAgICAgIC8vIGRl
dGVybWluZSB3aGV0aGVyIHRoZSBOYW1lZEZsb3cgb2JqZWN0IHNob3VsZCBkaXNwYXRjaCBhIHJl
Z2lvbkxheW91dFVwZGF0ZSBldmVudAorICAgICAgICAvLyBGSVhNRTogY3VycmVudGx5IGl0IGNh
bm5vdCBkZXRlcm1pbmUgd2hldGhlciBhIHJlZ2lvbiB3aG9zZSByZWdpb25PdmVyc2V0IHN0YXRl
IHJlbWFpbmVkIGVpdGhlciAiZml0IiBvciAib3ZlcnNldCIgaGFzIGFjdHVhbGx5CisgICAgICAg
IC8vIGNoYW5nZWQsIHNvIGl0IGp1c3QgYXNzdW1lcyB0aGF0IHRoZSBOYW1lZEZsb3cgc2hvdWxk
IGRpc3BhdGNoIHRoZSBldmVudAorICAgICAgICBpZiAocHJldmlvdXNTdGF0ZSAhPSBzdGF0ZQor
ICAgICAgICAgICAgfHwgc3RhdGUgPT0gUmVnaW9uRml0CisgICAgICAgICAgICB8fCBzdGF0ZSA9
PSBSZWdpb25PdmVyc2V0KQorICAgICAgICAgICAgc2V0RGlzcGF0Y2hSZWdpb25MYXlvdXRVcGRh
dGVFdmVudCh0cnVlKTsKKyAgICAgICAgCisgICAgICAgIGlmIChwcmV2aW91c1N0YXRlICE9IHN0
YXRlKQorICAgICAgICAgICAgc2V0RGlzcGF0Y2hSZWdpb25PdmVyc2V0Q2hhbmdlRXZlbnQodHJ1
ZSk7CisgICAgfQorICAgIAorICAgIC8vIElmIHRoZSBudW1iZXIgb2YgcmVnaW9ucyBoYXMgY2hh
bmdlZCBzaW5jZSB3ZSBsYXN0IGNvbXB1dGVkIHRoZSBvdmVyc2V0IHByb3BlcnR5LCBzY2hlZHVs
ZSB0aGUgcmVnaW9uT3ZlcnNldENoYW5nZSBldmVudC4KKyAgICBpZiAocHJldmlvdXNSZWdpb25D
b3VudENoYW5nZWQoKSkgeworICAgICAgICBzZXREaXNwYXRjaFJlZ2lvbk92ZXJzZXRDaGFuZ2VF
dmVudCh0cnVlKTsKKyAgICAgICAgdXBkYXRlUHJldmlvdXNSZWdpb25Db3VudCgpOworICAgIH0K
KworICAgIC8vIFdpdGggdGhlIHJlZ2lvbnMgb3ZlcmZsb3cgc3RhdGUgY29tcHV0ZWQgd2UgY2Fu
IGFsc28gc2V0IHRoZSBvdmVyc2V0IGZsYWcgZm9yIHRoZSBuYW1lZCBmbG93LgorICAgIC8vIElm
IHRoZXJlIGFyZSBubyB2YWxpZCByZWdpb25zIGluIHRoZSBjaGFpbiwgb3ZlcnNldCBpcyB0cnVl
LgorICAgIG1fb3ZlcnNldCA9IGxhc3RSZWcgPyBsYXN0UmVnLT5yZWdpb25PdmVyc2V0U3RhdGUo
KSA9PSBSZWdpb25PdmVyc2V0IDogdHJ1ZTsKK30KKwogdm9pZCBSZW5kZXJOYW1lZEZsb3dUaHJl
YWQ6OmNoZWNrSW52YWxpZFJlZ2lvbnMoKQogewogICAgIFZlY3RvcjxSZW5kZXJSZWdpb24qPiBu
ZXdWYWxpZFJlZ2lvbnM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTmFtZWRGbG93VGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTmFt
ZWRGbG93VGhyZWFkLmgKaW5kZXggMTUwMmJkNi4uYzBjNDkzZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQuaApAQCAtNjgsNiArNjgsOSBA
QCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGFkZFJlZ2lvblRvVGhyZWFkKFJlbmRlclJlZ2lv
biopIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCByZW1vdmVSZWdpb25Gcm9tVGhyZWFkKFJl
bmRlclJlZ2lvbiopIE9WRVJSSURFOwogCisgICAgYm9vbCBvdmVyc2V0KCkgY29uc3QgeyByZXR1
cm4gbV9vdmVyc2V0OyB9CisgICAgdm9pZCBjb21wdXRlT3ZlcnNldFN0YXRlRm9yUmVnaW9ucyhM
YXlvdXRVbml0IG9sZENsaWVudEFmdGVyRWRnZSk7CisKICAgICB2b2lkIHJlZ2lzdGVyTmFtZWRG
bG93Q29udGVudE5vZGUoTm9kZSopOwogICAgIHZvaWQgdW5yZWdpc3Rlck5hbWVkRmxvd0NvbnRl
bnROb2RlKE5vZGUqKTsKICAgICBjb25zdCBOYW1lZEZsb3dDb250ZW50Tm9kZXMmIGNvbnRlbnRO
b2RlcygpIGNvbnN0IHsgcmV0dXJuIG1fY29udGVudE5vZGVzOyB9CkBAIC0xMjEsNiArMTI0LDgg
QEAgcHJpdmF0ZToKIAogICAgIFJlbmRlclJlZ2lvbkxpc3QgbV9pbnZhbGlkUmVnaW9uTGlzdDsK
IAorICAgIGJvb2wgbV9vdmVyc2V0IDogMTsKKwogICAgIC8vIFRoZSBET00gT2JqZWN0IHRoYXQg
cmVwcmVzZW50cyBhIG5hbWVkIGZsb3cuCiAgICAgUmVmUHRyPFdlYktpdE5hbWVkRmxvdz4gbV9u
YW1lZEZsb3c7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJS
ZWdpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlZ2lvbi5jcHAKaW5k
ZXggNDBkMjY5ZS4uYzliOWEzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclJlZ2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJl
Z2lvbi5jcHAKQEAgLTEzMyw2ICsxMzMsOCBAQCBMYXlvdXRSZWN0IFJlbmRlclJlZ2lvbjo6b3Zl
cmZsb3dSZWN0Rm9yRmxvd1RocmVhZFBvcnRpb24oY29uc3QgTGF5b3V0UmVjdCYgZmxvdwogCiBS
ZWdpb25PdmVyc2V0U3RhdGUgUmVuZGVyUmVnaW9uOjpyZWdpb25PdmVyc2V0U3RhdGUoKSBjb25z
dAogeworICAgIEFTU0VSVChub2RlKCkgJiYgbm9kZSgpLT5pc0VsZW1lbnROb2RlKCkpOworCiAg
ICAgaWYgKGlzVmFsaWQoKSAmJiBub2RlKCkgJiYgbm9kZSgpLT5pc0VsZW1lbnROb2RlKCkpCiAg
ICAgICAgIHJldHVybiB0b0VsZW1lbnQobm9kZSgpKS0+cmVnaW9uT3ZlcnNldFN0YXRlKCk7CiAg
ICAgCkBAIC0xNDEsNiArMTQzLDggQEAgUmVnaW9uT3ZlcnNldFN0YXRlIFJlbmRlclJlZ2lvbjo6
cmVnaW9uT3ZlcnNldFN0YXRlKCkgY29uc3QKIAogdm9pZCBSZW5kZXJSZWdpb246OnNldFJlZ2lv
bk92ZXJzZXRTdGF0ZShSZWdpb25PdmVyc2V0U3RhdGUgc3RhdGUpCiB7CisgICAgQVNTRVJUKG5v
ZGUoKSAmJiBub2RlKCktPmlzRWxlbWVudE5vZGUoKSk7CisKICAgICBpZiAobm9kZSgpICYmIG5v
ZGUoKS0+aXNFbGVtZW50Tm9kZSgpKQogICAgICAgICB0b0VsZW1lbnQobm9kZSgpKS0+c2V0UmVn
aW9uT3ZlcnNldFN0YXRlKHN0YXRlKTsKIH0K
</data>
<flag name="review"
          id="226670"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>205190</attachid>
            <date>2013-06-21 09:11:37 -0700</date>
            <delta_ts>2013-06-21 10:43:18 -0700</delta_ts>
            <desc>Patch (included changes requested by Kling)</desc>
            <filename>117835.patch</filename>
            <type>text/plain</type>
            <size>13618</size>
            <attacher name="Radu Stavila">stavila</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA5YzU2MGU2Li41MmRmOGUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMzAg
QEAKIDIwMTMtMDYtMjEgIFJhZHUgU3RhdmlsYSAgPHN0YXZpbGFAYWRvYmUuY29tPgogCisgICAg
ICAgIFtDU1MgUmVnaW9uc10gTW92ZSBvdmVyc2V0IGNvbXB1dGUgY29kZSBmcm9tIGZsb3cgdGhy
ZWFkIHRvIG5hbWVkIGZsb3cgdGhyZWFkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMTc4MzUKKworICAgICAgICBSZXZpZXdlZCBieSBBbmRyZWFzIEts
aW5nLgorCisgICAgICAgIE1vdmVkIGNvbXB1dGVPdmVyc2V0U3RhdGVGb3JSZWdpb25zKCkgYW5k
IG92ZXJzZXQoKSBtZXRob2RzIGZyb20gUmVuZGVyRmxvd1RocmVhZCB0byBSZW5kZXJOYW1lZEZs
b3dUaHJlYWQuIAorICAgICAgICBBZGRlZCBBU1NFUlRTIGluIFJlbmRlclJlZ2lvbjo6cmVnaW9u
T3ZlcnNldFN0YXRlIGFuZCBSZW5kZXJSZWdpb246OnNldFJlZ2lvbk92ZXJzZXRTdGF0ZSB0byBl
bnN1cmUKKyAgICAgICAgdGhlIHJlZ2lvbiB3YXMgY3JlYXRlZCBmcm9tIGFuIGVsZW1lbnQuCisK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyQmxvY2s6OmNvbXB1dGVPdmVyZmxvdyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
ckZsb3dUaHJlYWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmxvd1RocmVhZDo6UmVu
ZGVyRmxvd1RocmVhZCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuaDoK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlck5hbWVkRmxvd1RocmVhZDo6UmVuZGVyTmFtZWRGbG93VGhyZWFkKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck5hbWVkRmxvd1RocmVhZDo6Y29tcHV0ZU92ZXJzZXRT
dGF0ZUZvclJlZ2lvbnMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dUaHJl
YWQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck5hbWVkRmxvd1RocmVhZDo6b3ZlcnNldCk6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclJlZ2lvbi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJSZWdpb246OnJlZ2lvbk92ZXJzZXRTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJSZWdpb246OnNldFJlZ2lvbk92ZXJzZXRTdGF0ZSk6CisKKzIwMTMtMDYtMjEgIFJhZHUg
U3RhdmlsYSAgPHN0YXZpbGFAYWRvYmUuY29tPgorCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IElu
dGVncmF0ZSBuZXcgcmVnaW9uT3ZlcnNldENoYW5nZSBldmVudCBpbnRvIGluc3BlY3RvcgogICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE3ODMzCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCmluZGV4IDZlMDE0MDEuLmU0Zjc4
YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcApAQCAtMTgxNSw4
ICsxODE1LDggQEAgdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZU92ZXJmbG93KExheW91dFVuaXQg
b2xkQ2xpZW50QWZ0ZXJFZGdlLCBib29sIHJlY29tcHV0ZUYKICAgICAvLyBBZGQgdmlzdWFsIG92
ZXJmbG93IGZyb20gdGhlbWUuCiAgICAgYWRkVmlzdWFsT3ZlcmZsb3dGcm9tVGhlbWUoKTsKIAot
ICAgIGlmIChpc1JlbmRlckZsb3dUaHJlYWQoKSkKLSAgICAgICAgdG9SZW5kZXJGbG93VGhyZWFk
KHRoaXMpLT5jb21wdXRlT3ZlcnNldFN0YXRlRm9yUmVnaW9ucyhvbGRDbGllbnRBZnRlckVkZ2Up
OworICAgIGlmIChpc1JlbmRlck5hbWVkRmxvd1RocmVhZCgpKQorICAgICAgICB0b1JlbmRlck5h
bWVkRmxvd1RocmVhZCh0aGlzKS0+Y29tcHV0ZU92ZXJzZXRTdGF0ZUZvclJlZ2lvbnMob2xkQ2xp
ZW50QWZ0ZXJFZGdlKTsKIH0KIAogdm9pZCBSZW5kZXJCbG9jazo6Y2xlYXJMYXlvdXRPdmVyZmxv
dygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVh
ZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5jcHAKaW5k
ZXggOGQzNGU1Yi4uM2RkMjFjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckZsb3dUaHJlYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJGbG93VGhyZWFkLmNwcApAQCAtNTUsNyArNTUsNiBAQCBSZW5kZXJGbG93VGhyZWFkOjpSZW5k
ZXJGbG93VGhyZWFkKCkKICAgICAsIG1fcmVnaW9uc0ludmFsaWRhdGVkKGZhbHNlKQogICAgICwg
bV9yZWdpb25zSGF2ZVVuaWZvcm1Mb2dpY2FsV2lkdGgodHJ1ZSkKICAgICAsIG1fcmVnaW9uc0hh
dmVVbmlmb3JtTG9naWNhbEhlaWdodCh0cnVlKQotICAgICwgbV9vdmVyc2V0KHRydWUpCiAgICAg
LCBtX2hhc1JlZ2lvbnNXaXRoU3R5bGluZyhmYWxzZSkKICAgICAsIG1fZGlzcGF0Y2hSZWdpb25M
YXlvdXRVcGRhdGVFdmVudChmYWxzZSkKICAgICAsIG1fZGlzcGF0Y2hSZWdpb25PdmVyc2V0Q2hh
bmdlRXZlbnQoZmFsc2UpCkBAIC03NDAsNTQgKzczOSw2IEBAIHZvaWQgUmVuZGVyRmxvd1RocmVh
ZDo6YXBwbHlCcmVha0FmdGVyQ29udGVudChMYXlvdXRVbml0IGNsaWVudEhlaWdodCkKICAgICBh
ZGRGb3JjZWRSZWdpb25CcmVhayhjbGllbnRIZWlnaHQsIHRoaXMsIGZhbHNlKTsKIH0KIAotdm9p
ZCBSZW5kZXJGbG93VGhyZWFkOjpjb21wdXRlT3ZlcnNldFN0YXRlRm9yUmVnaW9ucyhMYXlvdXRV
bml0IG9sZENsaWVudEFmdGVyRWRnZSkKLXsKLSAgICBMYXlvdXRVbml0IGhlaWdodCA9IG9sZENs
aWVudEFmdGVyRWRnZTsKLQotICAgIC8vIEZJWE1FOiB0aGUgdmlzdWFsIG92ZXJmbG93IG9mIG1p
ZGRsZSByZWdpb24gKGlmIGl0IGlzIHRoZSBsYXN0IG9uZSB0byBjb250YWluIGFueSBjb250ZW50
IGluIGEgcmVuZGVyIGZsb3cgdGhyZWFkKQotICAgIC8vIG1pZ2h0IG5vdCBiZSB0YWtlbiBpbnRv
IGFjY291bnQgYmVjYXVzZSB0aGUgcmVuZGVyIGZsb3cgdGhyZWFkIGhlaWdodCBpcyBncmVhdGVy
IHRoYXQgdGhhdCByZWdpb25zIGhlaWdodCArIGl0cyB2aXN1YWwgb3ZlcmZsb3cKLSAgICAvLyBi
ZWNhdXNlIG9mIGhvdyBjb21wdXRlTG9naWNhbEhlaWdodCBpcyBpbXBsZW1lbnRlZCBmb3IgUmVu
ZGVyRmxvd1RocmVhZCAoYXMgYSBzdW0gb2YgYWxsIHJlZ2lvbnMgaGVpZ2h0KS4KLSAgICAvLyBU
aGlzIG1lYW5zIHRoYXQgdGhlIG1pZGRsZSByZWdpb24gd2lsbCBiZSBtYXJrZWQgYXMgZml0IChl
dmVuIGlmIGl0IGhhcyB2aXN1YWwgb3ZlcmZsb3cgZmxvd2luZyBpbnRvIHRoZSBuZXh0IHJlZ2lv
bikKLSAgICBpZiAoaGFzUmVuZGVyT3ZlcmZsb3coKQotICAgICAgICAmJiAoIChpc0hvcml6b250
YWxXcml0aW5nTW9kZSgpICYmIHZpc3VhbE92ZXJmbG93UmVjdCgpLm1heFkoKSA+IGNsaWVudEJv
eFJlY3QoKS5tYXhZKCkpCi0gICAgICAgICAgICB8fCAoIWlzSG9yaXpvbnRhbFdyaXRpbmdNb2Rl
KCkgJiYgdmlzdWFsT3ZlcmZsb3dSZWN0KCkubWF4WCgpID4gY2xpZW50Qm94UmVjdCgpLm1heFgo
KSkpKQotICAgICAgICBoZWlnaHQgPSBpc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gdmlzdWFs
T3ZlcmZsb3dSZWN0KCkubWF4WSgpIDogdmlzdWFsT3ZlcmZsb3dSZWN0KCkubWF4WCgpOwotCi0g
ICAgUmVuZGVyUmVnaW9uKiBsYXN0UmVnID0gbGFzdFJlZ2lvbigpOwotICAgIGZvciAoUmVuZGVy
UmVnaW9uTGlzdDo6aXRlcmF0b3IgaXRlciA9IG1fcmVnaW9uTGlzdC5iZWdpbigpOyBpdGVyICE9
IG1fcmVnaW9uTGlzdC5lbmQoKTsgKytpdGVyKSB7Ci0gICAgICAgIFJlbmRlclJlZ2lvbiogcmVn
aW9uID0gKml0ZXI7Ci0gICAgICAgIExheW91dFVuaXQgZmxvd01pbiA9IGhlaWdodCAtIChpc0hv
cml6b250YWxXcml0aW5nTW9kZSgpID8gcmVnaW9uLT5mbG93VGhyZWFkUG9ydGlvblJlY3QoKS55
KCkgOiByZWdpb24tPmZsb3dUaHJlYWRQb3J0aW9uUmVjdCgpLngoKSk7Ci0gICAgICAgIExheW91
dFVuaXQgZmxvd01heCA9IGhlaWdodCAtIChpc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gcmVn
aW9uLT5mbG93VGhyZWFkUG9ydGlvblJlY3QoKS5tYXhZKCkgOiByZWdpb24tPmZsb3dUaHJlYWRQ
b3J0aW9uUmVjdCgpLm1heFgoKSk7Ci0gICAgICAgIFJlZ2lvbk92ZXJzZXRTdGF0ZSBwcmV2aW91
c1N0YXRlID0gcmVnaW9uLT5yZWdpb25PdmVyc2V0U3RhdGUoKTsKLSAgICAgICAgUmVnaW9uT3Zl
cnNldFN0YXRlIHN0YXRlID0gUmVnaW9uRml0OwotICAgICAgICBpZiAoZmxvd01pbiA8PSAwKQot
ICAgICAgICAgICAgc3RhdGUgPSBSZWdpb25FbXB0eTsKLSAgICAgICAgaWYgKGZsb3dNYXggPiAw
ICYmIHJlZ2lvbiA9PSBsYXN0UmVnKQotICAgICAgICAgICAgc3RhdGUgPSBSZWdpb25PdmVyc2V0
OwotICAgICAgICByZWdpb24tPnNldFJlZ2lvbk92ZXJzZXRTdGF0ZShzdGF0ZSk7Ci0gICAgICAg
IC8vIGRldGVybWluZSB3aGV0aGVyIHRoZSBOYW1lZEZsb3cgb2JqZWN0IHNob3VsZCBkaXNwYXRj
aCBhIHJlZ2lvbkxheW91dFVwZGF0ZSBldmVudAotICAgICAgICAvLyBGSVhNRTogY3VycmVudGx5
IGl0IGNhbm5vdCBkZXRlcm1pbmUgd2hldGhlciBhIHJlZ2lvbiB3aG9zZSByZWdpb25PdmVyc2V0
IHN0YXRlIHJlbWFpbmVkIGVpdGhlciAiZml0IiBvciAib3ZlcnNldCIgaGFzIGFjdHVhbGx5Ci0g
ICAgICAgIC8vIGNoYW5nZWQsIHNvIGl0IGp1c3QgYXNzdW1lcyB0aGF0IHRoZSBOYW1lZEZsb3cg
c2hvdWxkIGRpc3BhdGNoIHRoZSBldmVudAotICAgICAgICBpZiAocHJldmlvdXNTdGF0ZSAhPSBz
dGF0ZQotICAgICAgICAgICAgfHwgc3RhdGUgPT0gUmVnaW9uRml0Ci0gICAgICAgICAgICB8fCBz
dGF0ZSA9PSBSZWdpb25PdmVyc2V0KQotICAgICAgICAgICAgc2V0RGlzcGF0Y2hSZWdpb25MYXlv
dXRVcGRhdGVFdmVudCh0cnVlKTsKLSAgICAgICAgCi0gICAgICAgIGlmIChwcmV2aW91c1N0YXRl
ICE9IHN0YXRlKQotICAgICAgICAgICAgc2V0RGlzcGF0Y2hSZWdpb25PdmVyc2V0Q2hhbmdlRXZl
bnQodHJ1ZSk7Ci0gICAgfQotICAgIAotICAgIC8vIElmIHRoZSBudW1iZXIgb2YgcmVnaW9ucyBo
YXMgY2hhbmdlZCBzaW5jZSB3ZSBsYXN0IGNvbXB1dGVkIHRoZSBvdmVyc2V0IHByb3BlcnR5LCBz
Y2hlZHVsZSB0aGUgcmVnaW9uT3ZlcnNldENoYW5nZSBldmVudC4KLSAgICBpZiAocHJldmlvdXNS
ZWdpb25Db3VudENoYW5nZWQoKSkgewotICAgICAgICBzZXREaXNwYXRjaFJlZ2lvbk92ZXJzZXRD
aGFuZ2VFdmVudCh0cnVlKTsKLSAgICAgICAgdXBkYXRlUHJldmlvdXNSZWdpb25Db3VudCgpOwot
ICAgIH0KLQotICAgIC8vIFdpdGggdGhlIHJlZ2lvbnMgb3ZlcmZsb3cgc3RhdGUgY29tcHV0ZWQg
d2UgY2FuIGFsc28gc2V0IHRoZSBvdmVyc2V0IGZsYWcgZm9yIHRoZSBuYW1lZCBmbG93LgotICAg
IC8vIElmIHRoZXJlIGFyZSBubyB2YWxpZCByZWdpb25zIGluIHRoZSBjaGFpbiwgb3ZlcnNldCBp
cyB0cnVlLgotICAgIG1fb3ZlcnNldCA9IGxhc3RSZWcgPyBsYXN0UmVnLT5yZWdpb25PdmVyc2V0
U3RhdGUoKSA9PSBSZWdpb25PdmVyc2V0IDogdHJ1ZTsKLX0KLQogYm9vbCBSZW5kZXJGbG93VGhy
ZWFkOjpyZWdpb25JblJhbmdlKGNvbnN0IFJlbmRlclJlZ2lvbiogdGFyZ2V0UmVnaW9uLCBjb25z
dCBSZW5kZXJSZWdpb24qIHN0YXJ0UmVnaW9uLCBjb25zdCBSZW5kZXJSZWdpb24qIGVuZFJlZ2lv
bikgY29uc3QKIHsKICAgICBBU1NFUlQodGFyZ2V0UmVnaW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5oCmluZGV4IGY5MTc2NGQuLjAyZGZhZjIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuaApAQCAtMTM2LDEwICsx
MzYsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBjbGVhclJlbmRlck9iamVjdEN1c3RvbVN0eWxlKGNv
bnN0IFJlbmRlck9iamVjdCosCiAgICAgICAgIGNvbnN0IFJlbmRlclJlZ2lvbiogb2xkU3RhcnRS
ZWdpb24gPSAwLCBjb25zdCBSZW5kZXJSZWdpb24qIG9sZEVuZFJlZ2lvbiA9IDAsCiAgICAgICAg
IGNvbnN0IFJlbmRlclJlZ2lvbiogbmV3U3RhcnRSZWdpb24gPSAwLCBjb25zdCBSZW5kZXJSZWdp
b24qIG5ld0VuZFJlZ2lvbiA9IDApOwotICAgIAotICAgIHZvaWQgY29tcHV0ZU92ZXJzZXRTdGF0
ZUZvclJlZ2lvbnMoTGF5b3V0VW5pdCBvbGRDbGllbnRBZnRlckVkZ2UpOwotCi0gICAgYm9vbCBv
dmVyc2V0KCkgY29uc3QgeyByZXR1cm4gbV9vdmVyc2V0OyB9CiAKICAgICAvLyBDaGVjayBpZiB0
aGUgb2JqZWN0IGlzIGluIHJlZ2lvbiBhbmQgdGhlIHJlZ2lvbiBpcyBwYXJ0IG9mIHRoaXMgZmxv
dyB0aHJlYWQuCiAgICAgYm9vbCBvYmplY3RJbkZsb3dSZWdpb24oY29uc3QgUmVuZGVyT2JqZWN0
KiwgY29uc3QgUmVuZGVyUmVnaW9uKikgY29uc3Q7CkBAIC0yNzksNyArMjc1LDYgQEAgcHJvdGVj
dGVkOgogICAgIGJvb2wgbV9yZWdpb25zSW52YWxpZGF0ZWQgOiAxOwogICAgIGJvb2wgbV9yZWdp
b25zSGF2ZVVuaWZvcm1Mb2dpY2FsV2lkdGggOiAxOwogICAgIGJvb2wgbV9yZWdpb25zSGF2ZVVu
aWZvcm1Mb2dpY2FsSGVpZ2h0IDogMTsKLSAgICBib29sIG1fb3ZlcnNldCA6IDE7CiAgICAgYm9v
bCBtX2hhc1JlZ2lvbnNXaXRoU3R5bGluZyA6IDE7CiAgICAgYm9vbCBtX2Rpc3BhdGNoUmVnaW9u
TGF5b3V0VXBkYXRlRXZlbnQgOiAxOwogICAgIGJvb2wgbV9kaXNwYXRjaFJlZ2lvbk92ZXJzZXRD
aGFuZ2VFdmVudCA6IDE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTmFtZWRGbG93VGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJO
YW1lZEZsb3dUaHJlYWQuY3BwCmluZGV4IGJmYjM4N2MuLjg5ZTRhMzEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQuY3BwCkBAIC01Miw3
ICs1Miw4IEBAIFJlbmRlck5hbWVkRmxvd1RocmVhZCogUmVuZGVyTmFtZWRGbG93VGhyZWFkOjpj
cmVhdGVBbm9ueW1vdXMoRG9jdW1lbnQqIGRvY3VtZW50CiB9CiAKIFJlbmRlck5hbWVkRmxvd1Ro
cmVhZDo6UmVuZGVyTmFtZWRGbG93VGhyZWFkKFBhc3NSZWZQdHI8V2ViS2l0TmFtZWRGbG93PiBu
YW1lZEZsb3cpCi0gICAgOiBtX25hbWVkRmxvdyhuYW1lZEZsb3cpCisgICAgOiBtX292ZXJzZXQo
dHJ1ZSkKKyAgICAsIG1fbmFtZWRGbG93KG5hbWVkRmxvdykKICAgICAsIG1fcmVnaW9uTGF5b3V0
VXBkYXRlRXZlbnRUaW1lcih0aGlzLCAmUmVuZGVyTmFtZWRGbG93VGhyZWFkOjpyZWdpb25MYXlv
dXRVcGRhdGVFdmVudFRpbWVyRmlyZWQpCiAgICAgLCBtX3JlZ2lvbk92ZXJzZXRDaGFuZ2VFdmVu
dFRpbWVyKHRoaXMsICZSZW5kZXJOYW1lZEZsb3dUaHJlYWQ6OnJlZ2lvbk92ZXJzZXRDaGFuZ2VF
dmVudFRpbWVyRmlyZWQpCiB7CkBAIC0yOTMsNiArMjk0LDU0IEBAIHZvaWQgUmVuZGVyTmFtZWRG
bG93VGhyZWFkOjpyZW1vdmVSZWdpb25Gcm9tVGhyZWFkKFJlbmRlclJlZ2lvbiogcmVuZGVyUmVn
aW9uKQogICAgIGludmFsaWRhdGVSZWdpb25zKCk7CiB9CiAKK3ZvaWQgUmVuZGVyTmFtZWRGbG93
VGhyZWFkOjpjb21wdXRlT3ZlcnNldFN0YXRlRm9yUmVnaW9ucyhMYXlvdXRVbml0IG9sZENsaWVu
dEFmdGVyRWRnZSkKK3sKKyAgICBMYXlvdXRVbml0IGhlaWdodCA9IG9sZENsaWVudEFmdGVyRWRn
ZTsKKworICAgIC8vIEZJWE1FOiB0aGUgdmlzdWFsIG92ZXJmbG93IG9mIG1pZGRsZSByZWdpb24g
KGlmIGl0IGlzIHRoZSBsYXN0IG9uZSB0byBjb250YWluIGFueSBjb250ZW50IGluIGEgcmVuZGVy
IGZsb3cgdGhyZWFkKQorICAgIC8vIG1pZ2h0IG5vdCBiZSB0YWtlbiBpbnRvIGFjY291bnQgYmVj
YXVzZSB0aGUgcmVuZGVyIGZsb3cgdGhyZWFkIGhlaWdodCBpcyBncmVhdGVyIHRoYXQgdGhhdCBy
ZWdpb25zIGhlaWdodCArIGl0cyB2aXN1YWwgb3ZlcmZsb3cKKyAgICAvLyBiZWNhdXNlIG9mIGhv
dyBjb21wdXRlTG9naWNhbEhlaWdodCBpcyBpbXBsZW1lbnRlZCBmb3IgUmVuZGVyTmFtZWRGbG93
VGhyZWFkIChhcyBhIHN1bSBvZiBhbGwgcmVnaW9ucyBoZWlnaHQpLgorICAgIC8vIFRoaXMgbWVh
bnMgdGhhdCB0aGUgbWlkZGxlIHJlZ2lvbiB3aWxsIGJlIG1hcmtlZCBhcyBmaXQgKGV2ZW4gaWYg
aXQgaGFzIHZpc3VhbCBvdmVyZmxvdyBmbG93aW5nIGludG8gdGhlIG5leHQgcmVnaW9uKQorICAg
IGlmIChoYXNSZW5kZXJPdmVyZmxvdygpCisgICAgICAgICYmICggKGlzSG9yaXpvbnRhbFdyaXRp
bmdNb2RlKCkgJiYgdmlzdWFsT3ZlcmZsb3dSZWN0KCkubWF4WSgpID4gY2xpZW50Qm94UmVjdCgp
Lm1heFkoKSkKKyAgICAgICAgICAgIHx8ICghaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSAmJiB2
aXN1YWxPdmVyZmxvd1JlY3QoKS5tYXhYKCkgPiBjbGllbnRCb3hSZWN0KCkubWF4WCgpKSkpCisg
ICAgICAgIGhlaWdodCA9IGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyB2aXN1YWxPdmVyZmxv
d1JlY3QoKS5tYXhZKCkgOiB2aXN1YWxPdmVyZmxvd1JlY3QoKS5tYXhYKCk7CisKKyAgICBSZW5k
ZXJSZWdpb24qIGxhc3RSZWcgPSBsYXN0UmVnaW9uKCk7CisgICAgZm9yIChSZW5kZXJSZWdpb25M
aXN0OjppdGVyYXRvciBpdGVyID0gbV9yZWdpb25MaXN0LmJlZ2luKCk7IGl0ZXIgIT0gbV9yZWdp
b25MaXN0LmVuZCgpOyArK2l0ZXIpIHsKKyAgICAgICAgUmVuZGVyUmVnaW9uKiByZWdpb24gPSAq
aXRlcjsKKyAgICAgICAgTGF5b3V0VW5pdCBmbG93TWluID0gaGVpZ2h0IC0gKGlzSG9yaXpvbnRh
bFdyaXRpbmdNb2RlKCkgPyByZWdpb24tPmZsb3dUaHJlYWRQb3J0aW9uUmVjdCgpLnkoKSA6IHJl
Z2lvbi0+Zmxvd1RocmVhZFBvcnRpb25SZWN0KCkueCgpKTsKKyAgICAgICAgTGF5b3V0VW5pdCBm
bG93TWF4ID0gaGVpZ2h0IC0gKGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyByZWdpb24tPmZs
b3dUaHJlYWRQb3J0aW9uUmVjdCgpLm1heFkoKSA6IHJlZ2lvbi0+Zmxvd1RocmVhZFBvcnRpb25S
ZWN0KCkubWF4WCgpKTsKKyAgICAgICAgUmVnaW9uT3ZlcnNldFN0YXRlIHByZXZpb3VzU3RhdGUg
PSByZWdpb24tPnJlZ2lvbk92ZXJzZXRTdGF0ZSgpOworICAgICAgICBSZWdpb25PdmVyc2V0U3Rh
dGUgc3RhdGUgPSBSZWdpb25GaXQ7CisgICAgICAgIGlmIChmbG93TWluIDw9IDApCisgICAgICAg
ICAgICBzdGF0ZSA9IFJlZ2lvbkVtcHR5OworICAgICAgICBpZiAoZmxvd01heCA+IDAgJiYgcmVn
aW9uID09IGxhc3RSZWcpCisgICAgICAgICAgICBzdGF0ZSA9IFJlZ2lvbk92ZXJzZXQ7CisgICAg
ICAgIHJlZ2lvbi0+c2V0UmVnaW9uT3ZlcnNldFN0YXRlKHN0YXRlKTsKKyAgICAgICAgLy8gZGV0
ZXJtaW5lIHdoZXRoZXIgdGhlIE5hbWVkRmxvdyBvYmplY3Qgc2hvdWxkIGRpc3BhdGNoIGEgcmVn
aW9uTGF5b3V0VXBkYXRlIGV2ZW50CisgICAgICAgIC8vIEZJWE1FOiBjdXJyZW50bHkgaXQgY2Fu
bm90IGRldGVybWluZSB3aGV0aGVyIGEgcmVnaW9uIHdob3NlIHJlZ2lvbk92ZXJzZXQgc3RhdGUg
cmVtYWluZWQgZWl0aGVyICJmaXQiIG9yICJvdmVyc2V0IiBoYXMgYWN0dWFsbHkKKyAgICAgICAg
Ly8gY2hhbmdlZCwgc28gaXQganVzdCBhc3N1bWVzIHRoYXQgdGhlIE5hbWVkRmxvdyBzaG91bGQg
ZGlzcGF0Y2ggdGhlIGV2ZW50CisgICAgICAgIGlmIChwcmV2aW91c1N0YXRlICE9IHN0YXRlCisg
ICAgICAgICAgICB8fCBzdGF0ZSA9PSBSZWdpb25GaXQKKyAgICAgICAgICAgIHx8IHN0YXRlID09
IFJlZ2lvbk92ZXJzZXQpCisgICAgICAgICAgICBzZXREaXNwYXRjaFJlZ2lvbkxheW91dFVwZGF0
ZUV2ZW50KHRydWUpOworICAgICAgICAKKyAgICAgICAgaWYgKHByZXZpb3VzU3RhdGUgIT0gc3Rh
dGUpCisgICAgICAgICAgICBzZXREaXNwYXRjaFJlZ2lvbk92ZXJzZXRDaGFuZ2VFdmVudCh0cnVl
KTsKKyAgICB9CisgICAgCisgICAgLy8gSWYgdGhlIG51bWJlciBvZiByZWdpb25zIGhhcyBjaGFu
Z2VkIHNpbmNlIHdlIGxhc3QgY29tcHV0ZWQgdGhlIG92ZXJzZXQgcHJvcGVydHksIHNjaGVkdWxl
IHRoZSByZWdpb25PdmVyc2V0Q2hhbmdlIGV2ZW50LgorICAgIGlmIChwcmV2aW91c1JlZ2lvbkNv
dW50Q2hhbmdlZCgpKSB7CisgICAgICAgIHNldERpc3BhdGNoUmVnaW9uT3ZlcnNldENoYW5nZUV2
ZW50KHRydWUpOworICAgICAgICB1cGRhdGVQcmV2aW91c1JlZ2lvbkNvdW50KCk7CisgICAgfQor
CisgICAgLy8gV2l0aCB0aGUgcmVnaW9ucyBvdmVyZmxvdyBzdGF0ZSBjb21wdXRlZCB3ZSBjYW4g
YWxzbyBzZXQgdGhlIG92ZXJzZXQgZmxhZyBmb3IgdGhlIG5hbWVkIGZsb3cuCisgICAgLy8gSWYg
dGhlcmUgYXJlIG5vIHZhbGlkIHJlZ2lvbnMgaW4gdGhlIGNoYWluLCBvdmVyc2V0IGlzIHRydWUu
CisgICAgbV9vdmVyc2V0ID0gbGFzdFJlZyA/IGxhc3RSZWctPnJlZ2lvbk92ZXJzZXRTdGF0ZSgp
ID09IFJlZ2lvbk92ZXJzZXQgOiB0cnVlOworfQorCiB2b2lkIFJlbmRlck5hbWVkRmxvd1RocmVh
ZDo6Y2hlY2tJbnZhbGlkUmVnaW9ucygpCiB7CiAgICAgVmVjdG9yPFJlbmRlclJlZ2lvbio+IG5l
d1ZhbGlkUmVnaW9uczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJOYW1lZEZsb3dUaHJlYWQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJOYW1l
ZEZsb3dUaHJlYWQuaAppbmRleCAxNTAyYmQ2Li5jMGM0OTNlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5oCkBAIC02OCw2ICs2OCw5IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgYWRkUmVnaW9uVG9UaHJlYWQoUmVuZGVyUmVnaW9u
KikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHJlbW92ZVJlZ2lvbkZyb21UaHJlYWQoUmVu
ZGVyUmVnaW9uKikgT1ZFUlJJREU7CiAKKyAgICBib29sIG92ZXJzZXQoKSBjb25zdCB7IHJldHVy
biBtX292ZXJzZXQ7IH0KKyAgICB2b2lkIGNvbXB1dGVPdmVyc2V0U3RhdGVGb3JSZWdpb25zKExh
eW91dFVuaXQgb2xkQ2xpZW50QWZ0ZXJFZGdlKTsKKwogICAgIHZvaWQgcmVnaXN0ZXJOYW1lZEZs
b3dDb250ZW50Tm9kZShOb2RlKik7CiAgICAgdm9pZCB1bnJlZ2lzdGVyTmFtZWRGbG93Q29udGVu
dE5vZGUoTm9kZSopOwogICAgIGNvbnN0IE5hbWVkRmxvd0NvbnRlbnROb2RlcyYgY29udGVudE5v
ZGVzKCkgY29uc3QgeyByZXR1cm4gbV9jb250ZW50Tm9kZXM7IH0KQEAgLTEyMSw2ICsxMjQsOCBA
QCBwcml2YXRlOgogCiAgICAgUmVuZGVyUmVnaW9uTGlzdCBtX2ludmFsaWRSZWdpb25MaXN0Owog
CisgICAgYm9vbCBtX292ZXJzZXQgOiAxOworCiAgICAgLy8gVGhlIERPTSBPYmplY3QgdGhhdCBy
ZXByZXNlbnRzIGEgbmFtZWQgZmxvdy4KICAgICBSZWZQdHI8V2ViS2l0TmFtZWRGbG93PiBtX25h
bWVkRmxvdzsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJl
Z2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVnaW9uLmNwcAppbmRl
eCA0MGQyNjllLi5kODdjM2NlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclJlZ2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJl
Z2lvbi5jcHAKQEAgLTEzMywxNiArMTMzLDIyIEBAIExheW91dFJlY3QgUmVuZGVyUmVnaW9uOjpv
dmVyZmxvd1JlY3RGb3JGbG93VGhyZWFkUG9ydGlvbihjb25zdCBMYXlvdXRSZWN0JiBmbG93CiAK
IFJlZ2lvbk92ZXJzZXRTdGF0ZSBSZW5kZXJSZWdpb246OnJlZ2lvbk92ZXJzZXRTdGF0ZSgpIGNv
bnN0CiB7Ci0gICAgaWYgKGlzVmFsaWQoKSAmJiBub2RlKCkgJiYgbm9kZSgpLT5pc0VsZW1lbnRO
b2RlKCkpCi0gICAgICAgIHJldHVybiB0b0VsZW1lbnQobm9kZSgpKS0+cmVnaW9uT3ZlcnNldFN0
YXRlKCk7CisgICAgaWYgKGlzVmFsaWQoKSAmJiBlbGVtZW50KCkpCisgICAgICAgIHJldHVybiBl
bGVtZW50KCktPnJlZ2lvbk92ZXJzZXRTdGF0ZSgpOwogICAgIAogICAgIHJldHVybiBSZWdpb25V
bmRlZmluZWQ7CiB9CiAKIHZvaWQgUmVuZGVyUmVnaW9uOjpzZXRSZWdpb25PdmVyc2V0U3RhdGUo
UmVnaW9uT3ZlcnNldFN0YXRlIHN0YXRlKQogewotICAgIGlmIChub2RlKCkgJiYgbm9kZSgpLT5p
c0VsZW1lbnROb2RlKCkpCi0gICAgICAgIHRvRWxlbWVudChub2RlKCkpLT5zZXRSZWdpb25PdmVy
c2V0U3RhdGUoc3RhdGUpOworICAgIGlmIChlbGVtZW50KCkpCisgICAgICAgIGVsZW1lbnQoKS0+
c2V0UmVnaW9uT3ZlcnNldFN0YXRlKHN0YXRlKTsKK30KKworRWxlbWVudCogUmVuZGVyUmVnaW9u
OjplbGVtZW50KCkgY29uc3QKK3sKKyAgICBBU1NFUlQobm9kZSgpICYmIG5vZGUoKS0+aXNFbGVt
ZW50Tm9kZSgpKTsKKyAgICByZXR1cm4gdG9FbGVtZW50KG5vZGUoKSk7CiB9CiAKIExheW91dFVu
aXQgUmVuZGVyUmVnaW9uOjpwYWdlTG9naWNhbFRvcEZvck9mZnNldChMYXlvdXRVbml0IC8qIG9m
ZnNldCAqLykgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJSZWdpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZWdpb24uaAppbmRl
eCBmOGNiOGEzLi5hMzRjZDIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyUmVnaW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlZ2lv
bi5oCkBAIC04NCw2ICs4NCw4IEBAIHB1YmxpYzoKIAogICAgIFJlZ2lvbk92ZXJzZXRTdGF0ZSBy
ZWdpb25PdmVyc2V0U3RhdGUoKSBjb25zdDsKICAgICB2b2lkIHNldFJlZ2lvbk92ZXJzZXRTdGF0
ZShSZWdpb25PdmVyc2V0U3RhdGUpOworCisgICAgRWxlbWVudCogZWxlbWVudCgpIGNvbnN0Owog
ICAgIAogICAgIC8vIFRoZXNlIG1ldGhvZHMgcmVwcmVzZW50IHRoZSB3aWR0aCBhbmQgaGVpZ2h0
IG9mIGEgInBhZ2UiIGFuZCBmb3IgYSBSZW5kZXJSZWdpb24gdGhleSBhcmUganVzdCB0aGUKICAg
ICAvLyBjb250ZW50IHdpZHRoIGFuZCBjb250ZW50IGhlaWdodCBvZiBhIHJlZ2lvbi4gRm9yIFJl
bmRlclJlZ2lvblNldHMsIGhvd2V2ZXIsIHRoZXkgd2lsbCBiZSB0aGUgd2lkdGggYW5kCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>