<?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>126205</bug_id>
          
          <creation_ts>2013-12-23 23:21:21 -0800</creation_ts>
          <short_desc>Create clipping path from &lt;box&gt; value</short_desc>
          <delta_ts>2014-01-31 14:39:47 -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>http://dev.w3.org/csswg/css-shapes/#shapes-from-box-values</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>126207</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dirk Schulze">krit</reporter>
          <assigned_to name="Bem Jones-Bey">bjonesbe</assigned_to>
          <cc>bjonesbe</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kling</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>962717</commentid>
    <comment_count>0</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2013-12-23 23:21:21 -0800</bug_when>
    <thetext>If just a &lt;box&gt; value is specified a clipping path needs to be created from this box value. See CSS Shapes link.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>974220</commentid>
    <comment_count>1</comment_count>
      <attachid>222795</attachid>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2014-01-30 22:28:18 -0800</bug_when>
    <thetext>Created attachment 222795
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>974269</commentid>
    <comment_count>2</comment_count>
      <attachid>222795</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2014-01-31 05:41:42 -0800</bug_when>
    <thetext>Comment on attachment 222795
Patch

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

Some comments and questions to the patch.

&gt; Source/WebCore/rendering/RenderLayer.cpp:3784
&gt; +template &lt;class ReferenceBoxClipPathOperation&gt;
&gt; +static inline LayoutRect computeReferenceBox(const RenderObject&amp; renderer, const ReferenceBoxClipPathOperation&amp; clippingPath, const LayoutRect&amp; rootRelativeBounds)

Two questions here: Why does it need to be a template function and why can&apos;t the code be added to ReferenceBoxClipPathOperation instead?

&gt; Source/WebCore/rendering/RenderLayer.cpp:3827
&gt; +    if (!rootRelativeBoundsComputed) {
&gt; +        rootRelativeBounds = calculateLayerBounds(paintingInfo.rootLayer, &amp;offsetFromRoot, 0);
&gt; +        rootRelativeBoundsComputed = true;
&gt; +    }

Since we need this calculation for all cases now, it is ok to move it up here (was an initial reviewer request just to do it when absolutely necessary). But please remove it from the SVG clipPath code underneath as well.

&gt; Source/WebCore/rendering/RenderLayer.cpp:3844
&gt; +        // FIXME this does not properly compute the rounded corners as specified in all conditions

Real sentence please.

&gt; Source/WebCore/rendering/shapes/ShapeInfo.cpp:95
&gt; +        // FIXME this does not properly compute the rounded corners as specified in all conditions

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>974286</commentid>
    <comment_count>3</comment_count>
      <attachid>222795</attachid>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2014-01-31 07:30:06 -0800</bug_when>
    <thetext>Comment on attachment 222795
Patch

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

&gt;&gt; Source/WebCore/rendering/RenderLayer.cpp:3784
&gt;&gt; +static inline LayoutRect computeReferenceBox(const RenderObject&amp; renderer, const ReferenceBoxClipPathOperation&amp; clippingPath, const LayoutRect&amp; rootRelativeBounds)
&gt; 
&gt; Two questions here: Why does it need to be a template function and why can&apos;t the code be added to ReferenceBoxClipPathOperation instead?

1) There is no ReferenceBoxClipPathOperation class, that&apos;s just what I named the template parameter. I figured that creating the class and making the class hierarchy more complex wasn&apos;t worth it for this singe instance.

2) ClipPathOperation.h does not include RenderBox.h, and since it is only the header file, including it causes circular deps. I could create a ClipPathOperation.cpp and also a ReferenceBoxClipPathOperation class, if you think that is better than having this templated helper here.

&gt;&gt; Source/WebCore/rendering/RenderLayer.cpp:3827
&gt;&gt; +    }
&gt; 
&gt; Since we need this calculation for all cases now, it is ok to move it up here (was an initial reviewer request just to do it when absolutely necessary). But please remove it from the SVG clipPath code underneath as well.

Oops! I&apos;ll fix that.

&gt;&gt; Source/WebCore/rendering/RenderLayer.cpp:3844
&gt;&gt; +        // FIXME this does not properly compute the rounded corners as specified in all conditions
&gt; 
&gt; Real sentence please.

Ok.

&gt;&gt; Source/WebCore/rendering/shapes/ShapeInfo.cpp:95
&gt;&gt; +        // FIXME this does not properly compute the rounded corners as specified in all conditions
&gt; 
&gt; Ditto.

Ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>974287</commentid>
    <comment_count>4</comment_count>
      <attachid>222795</attachid>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2014-01-31 07:30:08 -0800</bug_when>
    <thetext>Comment on attachment 222795
Patch

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

&gt;&gt; Source/WebCore/rendering/RenderLayer.cpp:3784
&gt;&gt; +static inline LayoutRect computeReferenceBox(const RenderObject&amp; renderer, const ReferenceBoxClipPathOperation&amp; clippingPath, const LayoutRect&amp; rootRelativeBounds)
&gt; 
&gt; Two questions here: Why does it need to be a template function and why can&apos;t the code be added to ReferenceBoxClipPathOperation instead?

1) There is no ReferenceBoxClipPathOperation class, that&apos;s just what I named the template parameter. I figured that creating the class and making the class hierarchy more complex wasn&apos;t worth it for this singe instance.

2) ClipPathOperation.h does not include RenderBox.h, and since it is only the header file, including it causes circular deps. I could create a ClipPathOperation.cpp and also a ReferenceBoxClipPathOperation class, if you think that is better than having this templated helper here.

&gt;&gt; Source/WebCore/rendering/RenderLayer.cpp:3827
&gt;&gt; +    }
&gt; 
&gt; Since we need this calculation for all cases now, it is ok to move it up here (was an initial reviewer request just to do it when absolutely necessary). But please remove it from the SVG clipPath code underneath as well.

Oops! I&apos;ll fix that.

&gt;&gt; Source/WebCore/rendering/RenderLayer.cpp:3844
&gt;&gt; +        // FIXME this does not properly compute the rounded corners as specified in all conditions
&gt; 
&gt; Real sentence please.

Ok.

&gt;&gt; Source/WebCore/rendering/shapes/ShapeInfo.cpp:95
&gt;&gt; +        // FIXME this does not properly compute the rounded corners as specified in all conditions
&gt; 
&gt; Ditto.

Ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>974299</commentid>
    <comment_count>5</comment_count>
      <attachid>222815</attachid>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2014-01-31 08:23:35 -0800</bug_when>
    <thetext>Created attachment 222815
Patch

Fix comments and remove extra if statement</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>974467</commentid>
    <comment_count>6</comment_count>
      <attachid>222815</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2014-01-31 14:07:25 -0800</bug_when>
    <thetext>Comment on attachment 222815
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>974482</commentid>
    <comment_count>7</comment_count>
      <attachid>222815</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-31 14:39:44 -0800</bug_when>
    <thetext>Comment on attachment 222815
Patch

Clearing flags on attachment: 222815

Committed r163205: &lt;http://trac.webkit.org/changeset/163205&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>974483</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-31 14:39:47 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>222795</attachid>
            <date>2014-01-30 22:28:18 -0800</date>
            <delta_ts>2014-01-31 08:23:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-126205-20140130222630.patch</filename>
            <type>text/plain</type>
            <size>12235</size>
            <attacher name="Bem Jones-Bey">bjonesbe</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYzMTU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmM5NjlkZTQwOTZlNDIw
ODYwYmQwOWI5M2NkMzUzOTEwODYyMzMwYS4uMDZlZDBjYWY1ZTFmZjU1M2Q0M2NhMTRmYzY4OTk3
NWZkOTg4YjkyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE0LTAxLTMwICBCZW0g
Sm9uZXMtQmV5ICA8YmpvbmVzYmVAYWRvYmUuY29tPgorCisgICAgICAgIENyZWF0ZSBjbGlwcGlu
ZyBwYXRoIGZyb20gPGJveD4gdmFsdWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEyNjIwNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFRoaXMgaW1wbGVtZW50cyA8Ym94PiB2YWx1ZXMgZm9yIGJvcmRlciwg
Y29udGVudCwgYW5kIHBhZGRpbmcgYm94ZXMuCisgICAgICAgIFNpbmNlIG1hcmdpbiBib3ggaXMg
bm90IGltcGxlbWVudGVkIGFzIGEgcmVmZXJlbmNlIGJveCwgdGhpcyBkb2VzIG5vdAorICAgICAg
ICBpbXBsZW1lbnQgbWFyZ2luIGJveCB2YWx1ZS4KKworICAgICAgICBUZXN0czogY3NzMy9tYXNr
aW5nL2NsaXAtcGF0aC1ib3JkZXItYm94Lmh0bWwKKyAgICAgICAgICAgICAgIGNzczMvbWFza2lu
Zy9jbGlwLXBhdGgtY29udGVudC1ib3guaHRtbAorICAgICAgICAgICAgICAgY3NzMy9tYXNraW5n
L2NsaXAtcGF0aC1wYWRkaW5nLWJveC5odG1sCisKKyAgICAgICAgKiByZW5kZXJpbmcvQ2xpcFBh
dGhPcGVyYXRpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6OkJveENsaXBQYXRoT3BlcmF0aW9uOjpw
YXRoRm9yUmVmZXJlbmNlUmVjdCk6IEltcGxlbWVudC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29tcHV0ZVJlZmVyZW5jZUJveCk6IFB1
bGwgb3V0IHJlZmVyZW5jZSBib3ggY2FsY3VsYXRpb24uCisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJMYXllcjo6c2V0dXBDbGlwUGF0aCk6IEFkZCBzdXBwb3J0IGZvciA8Ym94PiB2YWx1ZXMuCisg
ICAgICAgICogcmVuZGVyaW5nL3NoYXBlcy9TaGFwZUluZm8uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U2hhcGVJbmZvPFJlbmRlclR5cGU+Ojpjb21wdXRlZFNoYXBlKTogQWRkIEZJWE1FIGNvbW1l
bnQuCisKIDIwMTQtMDEtMzAgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2FsaWEuY29t
PgogCiAgICAgICAgIFtHVEtdIFtDTWFrZV0gQWRkIHN1cHBvcnQgZm9yIGJ1aWxkaW5nIGFnYWlu
c3QgR1RLKyAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQ2xpcFBhdGhP
cGVyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9DbGlwUGF0aE9wZXJhdGlvbi5o
CmluZGV4IGNhYjkxZGQ2NzQ1YmI4NzJiNzA0ZTQ2ZGZlY2U3ZjViYzdmZTE1Y2YuLjdkNzFjNTEw
OTQzNTc1M2NjMTdiOWI3NjA5N2UxMzliMDkzM2RmNjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9DbGlwUGF0aE9wZXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9DbGlwUGF0aE9wZXJhdGlvbi5oCkBAIC0xNDIsMTEgKzE0MiwxMCBAQCBwdWJsaWM6
CiAgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgQm94Q2xpcFBhdGhPcGVyYXRpb24ocmVmZXJl
bmNlQm94KSk7CiAgICAgfQogCi0gICAgY29uc3QgUGF0aCBwYXRoRm9yUmVmZXJlbmNlUmVjdChj
b25zdCBGbG9hdFJlY3QmKSBjb25zdAorICAgIGNvbnN0IFBhdGggcGF0aEZvclJlZmVyZW5jZVJl
Y3QoY29uc3QgUm91bmRlZFJlY3QmIGJvdW5kaW5nUmVjdCkgY29uc3QKICAgICB7CiAgICAgICAg
IFBhdGggcGF0aDsKLSAgICAgICAgLy8gRklYTUU6IENyZWF0ZSBjbGlwcGluZyBwYXRoIGZyb20g
PGJveD4uCi0gICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMjYyMDUKKyAgICAgICAgcGF0aC5hZGRSb3VuZGVkUmVjdChib3VuZGluZ1JlY3QpOwogICAg
ICAgICByZXR1cm4gcGF0aDsKICAgICB9CiAgICAgTGF5b3V0Qm94IHJlZmVyZW5jZUJveCgpIGNv
bnN0IHsgcmV0dXJuIG1fcmVmZXJlbmNlQm94OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxheWVyLmNwcAppbmRleCAwZGMzMjY1YzEwZWY5ODMyMTg1NWM3NTBkMmUwNDY4MWM1NjNk
MDhlLi5lZWIzYzY0N2NjOTA1NmZlNGE4NThmZGZlYzUzMzU1ZjQ3YjM5NTcxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTM3ODAsMjUgKzM3ODAsMTMgQEAg
Ym9vbCBSZW5kZXJMYXllcjo6c2V0dXBGb250U3VicGl4ZWxRdWFudGl6YXRpb24oR3JhcGhpY3ND
b250ZXh0KiBjb250ZXh0LCBib29sJgogICAgIHJldHVybiBmYWxzZTsKIH0KIAotYm9vbCBSZW5k
ZXJMYXllcjo6c2V0dXBDbGlwUGF0aChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IExh
eWVyUGFpbnRpbmdJbmZvJiBwYWludGluZ0luZm8sIGNvbnN0IExheW91dFBvaW50JiBvZmZzZXRG
cm9tUm9vdCwgTGF5b3V0UmVjdCYgcm9vdFJlbGF0aXZlQm91bmRzLCBib29sJiByb290UmVsYXRp
dmVCb3VuZHNDb21wdXRlZCkKK3RlbXBsYXRlIDxjbGFzcyBSZWZlcmVuY2VCb3hDbGlwUGF0aE9w
ZXJhdGlvbj4KK3N0YXRpYyBpbmxpbmUgTGF5b3V0UmVjdCBjb21wdXRlUmVmZXJlbmNlQm94KGNv
bnN0IFJlbmRlck9iamVjdCYgcmVuZGVyZXIsIGNvbnN0IFJlZmVyZW5jZUJveENsaXBQYXRoT3Bl
cmF0aW9uJiBjbGlwcGluZ1BhdGgsIGNvbnN0IExheW91dFJlY3QmIHJvb3RSZWxhdGl2ZUJvdW5k
cykKIHsKLSAgICBpZiAoIXJlbmRlcmVyKCkuaGFzQ2xpcFBhdGgoKSB8fCBjb250ZXh0LT5wYWlu
dGluZ0Rpc2FibGVkKCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIFJlbmRlclN0eWxl
JiBzdHlsZSA9IHJlbmRlcmVyKCkuc3R5bGUoKTsKLSAgICBBU1NFUlQoc3R5bGUuY2xpcFBhdGgo
KSk7Ci0gICAgaWYgKHN0eWxlLmNsaXBQYXRoKCktPnR5cGUoKSA9PSBDbGlwUGF0aE9wZXJhdGlv
bjo6U2hhcGUpIHsKLSAgICAgICAgU2hhcGVDbGlwUGF0aE9wZXJhdGlvbiYgY2xpcHBpbmdQYXRo
ID0gdG9TaGFwZUNsaXBQYXRoT3BlcmF0aW9uKCooc3R5bGUuY2xpcFBhdGgoKSkpOwotCi0gICAg
ICAgIGlmICghcm9vdFJlbGF0aXZlQm91bmRzQ29tcHV0ZWQpIHsKLSAgICAgICAgICAgIHJvb3RS
ZWxhdGl2ZUJvdW5kcyA9IGNhbGN1bGF0ZUxheWVyQm91bmRzKHBhaW50aW5nSW5mby5yb290TGF5
ZXIsICZvZmZzZXRGcm9tUm9vdCwgMCk7Ci0gICAgICAgICAgICByb290UmVsYXRpdmVCb3VuZHND
b21wdXRlZCA9IHRydWU7Ci0gICAgICAgIH0KLQotICAgICAgICBMYXlvdXRSZWN0IHJlZmVyZW5j
ZUJveDsKLSAgICAgICAgaWYgKHJlbmRlcmVyKCkuaXNCb3goKSkgewotICAgICAgICAgICAgUmVu
ZGVyQm94JiBib3ggPSB0b1JlbmRlckJveChyZW5kZXJlcigpKTsKLSAgICAgICAgICAgIHN3aXRj
aCAoY2xpcHBpbmdQYXRoLnJlZmVyZW5jZUJveCgpKSB7CisgICAgTGF5b3V0UmVjdCByZWZlcmVu
Y2VCb3g7CisgICAgaWYgKHJlbmRlcmVyLmlzQm94KCkpIHsKKyAgICAgICAgY29uc3QgUmVuZGVy
Qm94JiBib3ggPSB0b1JlbmRlckJveChyZW5kZXJlcik7CisgICAgICAgIHN3aXRjaCAoY2xpcHBp
bmdQYXRoLnJlZmVyZW5jZUJveCgpKSB7CiAgICAgICAgICAgICBjYXNlIENvbnRlbnRCb3g6CiAg
ICAgICAgICAgICAgICAgcmVmZXJlbmNlQm94ID0gYm94LmNvbnRlbnRCb3hSZWN0KCk7CiAgICAg
ICAgICAgICAgICAgcmVmZXJlbmNlQm94Lm1vdmVCeShyb290UmVsYXRpdmVCb3VuZHMubG9jYXRp
b24oKSk7CkBAIC0zODEzLDIyICszODAxLDU1IEBAIGJvb2wgUmVuZGVyTGF5ZXI6OnNldHVwQ2xp
cFBhdGgoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBMYXllclBhaW50aW5nSW5mCiAg
ICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBjYXNlIE1hcmdpbkJveDoKICAgICAg
ICAgICAgICAgICAvLyBGSVhNRTogU3VwcG9ydCBtYXJnaW4tYm94LiBVc2UgYm91bmRpbmcgY2xp
ZW50IHJlY3QgZm9yIG5vdy4KKyAgICAgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3OTg0CiAgICAgICAgICAgICBjYXNlIEJvdW5kaW5nQm94
OgogICAgICAgICAgICAgY2FzZSBCb3hNaXNzaW5nOgogICAgICAgICAgICAgICAgIC8vIEZJWE1F
OiBJZiBubyByZWZlcmVuY2UgYm94IHdhcyBzcGVjaWZpZWQgdGhlIHNwZWMgZGVtYW5kcyB0byB1
c2UKICAgICAgICAgICAgICAgICAvLyB0aGUgYm9yZGVyLWJveC4gSG93ZXZlciwgdGhlIGN1cnJl
bnQgcHJlZml4ZWQgdmVyc2lvbiBvZiBjbGlwLXBhdGggdXNlcwogICAgICAgICAgICAgICAgIC8v
IGJvdW5kaW5nLWJveC4gS2VlcCBib3VuZGluZy1ib3ggZm9yIG5vdy4KICAgICAgICAgICAgICAg
ICByZWZlcmVuY2VCb3ggPSByb290UmVsYXRpdmVCb3VuZHM7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgIH0gZWxzZQotICAgICAgICAgICAgLy8gRklYTUU6IFN1cHBvcnQgZGlmZmVyZW50IHJlZmVy
ZW5jZSBib3hlcyBmb3IgaW5saW5lIGNvbnRlbnQuCi0gICAgICAgICAgICByZWZlcmVuY2VCb3gg
PSByb290UmVsYXRpdmVCb3VuZHM7CisgICAgICAgIH0KKyAgICB9IGVsc2UKKyAgICAgICAgLy8g
RklYTUU6IFN1cHBvcnQgZGlmZmVyZW50IHJlZmVyZW5jZSBib3hlcyBmb3IgaW5saW5lIGNvbnRl
bnQuCisgICAgICAgIHJlZmVyZW5jZUJveCA9IHJvb3RSZWxhdGl2ZUJvdW5kczsKKworICAgIHJl
dHVybiByZWZlcmVuY2VCb3g7Cit9CisKK2Jvb2wgUmVuZGVyTGF5ZXI6OnNldHVwQ2xpcFBhdGgo
R3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBMYXllclBhaW50aW5nSW5mbyYgcGFpbnRp
bmdJbmZvLCBjb25zdCBMYXlvdXRQb2ludCYgb2Zmc2V0RnJvbVJvb3QsIExheW91dFJlY3QmIHJv
b3RSZWxhdGl2ZUJvdW5kcywgYm9vbCYgcm9vdFJlbGF0aXZlQm91bmRzQ29tcHV0ZWQpCit7Cisg
ICAgaWYgKCFyZW5kZXJlcigpLmhhc0NsaXBQYXRoKCkgfHwgY29udGV4dC0+cGFpbnRpbmdEaXNh
YmxlZCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoIXJvb3RSZWxhdGl2ZUJv
dW5kc0NvbXB1dGVkKSB7CisgICAgICAgIHJvb3RSZWxhdGl2ZUJvdW5kcyA9IGNhbGN1bGF0ZUxh
eWVyQm91bmRzKHBhaW50aW5nSW5mby5yb290TGF5ZXIsICZvZmZzZXRGcm9tUm9vdCwgMCk7Cisg
ICAgICAgIHJvb3RSZWxhdGl2ZUJvdW5kc0NvbXB1dGVkID0gdHJ1ZTsKKyAgICB9CiAKKyAgICBS
ZW5kZXJTdHlsZSYgc3R5bGUgPSByZW5kZXJlcigpLnN0eWxlKCk7CisgICAgQVNTRVJUKHN0eWxl
LmNsaXBQYXRoKCkpOworICAgIGlmIChzdHlsZS5jbGlwUGF0aCgpLT50eXBlKCkgPT0gQ2xpcFBh
dGhPcGVyYXRpb246OlNoYXBlKSB7CisgICAgICAgIFNoYXBlQ2xpcFBhdGhPcGVyYXRpb24mIGNs
aXBwaW5nUGF0aCA9IHRvU2hhcGVDbGlwUGF0aE9wZXJhdGlvbigqKHN0eWxlLmNsaXBQYXRoKCkp
KTsKKworICAgICAgICBMYXlvdXRSZWN0IHJlZmVyZW5jZUJveCA9IGNvbXB1dGVSZWZlcmVuY2VC
b3gocmVuZGVyZXIoKSwgY2xpcHBpbmdQYXRoLCByb290UmVsYXRpdmVCb3VuZHMpOwogICAgICAg
ICBjb250ZXh0LT5zYXZlKCk7CiAgICAgICAgIGNvbnRleHQtPmNsaXBQYXRoKGNsaXBwaW5nUGF0
aC5wYXRoRm9yUmVmZXJlbmNlUmVjdChyZWZlcmVuY2VCb3gpLCBjbGlwcGluZ1BhdGgud2luZFJ1
bGUoKSk7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIAorICAgIGlmIChzdHlsZS5jbGlw
UGF0aCgpLT50eXBlKCkgPT0gQ2xpcFBhdGhPcGVyYXRpb246OkJveCkgeworICAgICAgICBCb3hD
bGlwUGF0aE9wZXJhdGlvbiYgY2xpcHBpbmdQYXRoID0gdG9Cb3hDbGlwUGF0aE9wZXJhdGlvbigq
KHN0eWxlLmNsaXBQYXRoKCkpKTsKKworICAgICAgICBMYXlvdXRSZWN0IHJlZmVyZW5jZUJveCA9
IGNvbXB1dGVSZWZlcmVuY2VCb3gocmVuZGVyZXIoKSwgY2xpcHBpbmdQYXRoLCByb290UmVsYXRp
dmVCb3VuZHMpOworICAgICAgICAvLyBGSVhNRSB0aGlzIGRvZXMgbm90IHByb3Blcmx5IGNvbXB1
dGUgdGhlIHJvdW5kZWQgY29ybmVycyBhcyBzcGVjaWZpZWQgaW4gYWxsIGNvbmRpdGlvbnMKKyAg
ICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNzk4Mgor
ICAgICAgICBjb25zdCBSb3VuZGVkUmVjdCYgc2hhcGVSZWN0ID0gcmVuZGVyZXIoKS5zdHlsZSgp
LmdldFJvdW5kZWRCb3JkZXJGb3IocmVmZXJlbmNlQm94LCAmKHJlbmRlcmVyKCkudmlldygpKSk7
CisKKyAgICAgICAgY29udGV4dC0+c2F2ZSgpOworICAgICAgICBjb250ZXh0LT5jbGlwUGF0aChj
bGlwcGluZ1BhdGgucGF0aEZvclJlZmVyZW5jZVJlY3Qoc2hhcGVSZWN0KSwgUlVMRV9OT05aRVJP
KTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCiAjaWYgRU5BQkxFKFNWRykKICAgICBp
ZiAoc3R5bGUuY2xpcFBhdGgoKS0+dHlwZSgpID09IENsaXBQYXRoT3BlcmF0aW9uOjpSZWZlcmVu
Y2UpIHsKICAgICAgICAgUmVmZXJlbmNlQ2xpcFBhdGhPcGVyYXRpb24qIHJlZmVyZW5jZUNsaXBQ
YXRoT3BlcmF0aW9uID0gc3RhdGljX2Nhc3Q8UmVmZXJlbmNlQ2xpcFBhdGhPcGVyYXRpb24qPihz
dHlsZS5jbGlwUGF0aCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
aGFwZXMvU2hhcGVJbmZvLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zaGFwZXMvU2hh
cGVJbmZvLmNwcAppbmRleCA1ZTJhZjkyYWRmMDVjYTViMDllY2Y0MDUwZjQ1MGZhZThkZmU2NjEx
Li5jZjJiM2ZjMjUxZDEzZjAwYjEzZjgzOGUyNmQ0NWQ5NjQzMDYxODJiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc2hhcGVzL1NoYXBlSW5mby5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3NoYXBlcy9TaGFwZUluZm8uY3BwCkBAIC05Miw2ICs5Miw4IEBA
IGNvbnN0IFNoYXBlJiBTaGFwZUluZm88UmVuZGVyVHlwZT46OmNvbXB1dGVkU2hhcGUoKSBjb25z
dAogICAgICAgICBicmVhazsKICAgICB9CiAgICAgY2FzZSBTaGFwZVZhbHVlOjpCb3g6IHsKKyAg
ICAgICAgLy8gRklYTUUgdGhpcyBkb2VzIG5vdCBwcm9wZXJseSBjb21wdXRlIHRoZSByb3VuZGVk
IGNvcm5lcnMgYXMgc3BlY2lmaWVkIGluIGFsbCBjb25kaXRpb25zCisgICAgICAgIC8vIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc5ODIKICAgICAgICAgY29uc3Qg
Um91bmRlZFJlY3QmIHNoYXBlUmVjdCA9IG1fcmVuZGVyZXIuc3R5bGUoKS5nZXRSb3VuZGVkQm9y
ZGVyRm9yKExheW91dFJlY3QoTGF5b3V0UG9pbnQoKSwgbV9zaGFwZUxvZ2ljYWxTaXplKSwgJiht
X3JlbmRlcmVyLnZpZXcoKSkpOwogICAgICAgICBtX3NoYXBlID0gU2hhcGU6OmNyZWF0ZUxheW91
dEJveFNoYXBlKHNoYXBlUmVjdCwgd3JpdGluZ01vZGUsIG1hcmdpbiwgcGFkZGluZyk7CiAgICAg
ICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IDFiNzNhZmRkZDFlMzY2ZTk0MTg1NDU2MmI3Mjg3MDUzNDFhYTBh
NmEuLmUyYTcxY2Y0Y2JmYTM4NWVkMDc1MjM2YzBkN2U1MWY4NDNlZGJkYzYgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMCBAQAorMjAxNC0wMS0zMCAgQmVtIEpvbmVzLUJleSAgPGJqb25lc2JlQGFkb2JlLmNv
bT4KKworICAgICAgICBDcmVhdGUgY2xpcHBpbmcgcGF0aCBmcm9tIDxib3g+IHZhbHVlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjYyMDUKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0cyBmb3IgYm9y
ZGVyLCBwYWRkaW5nIGFuZCBjb250ZW50IGJveCB2YWx1ZXMuIE1hcmdpbiBpcworICAgICAgICB1
bmltcGxlbWVudGVkIGFzIG9mIHlldC4KKworICAgICAgICAqIGNzczMvbWFza2luZy9jbGlwLXBh
dGgtYm9yZGVyLWJveC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL21hc2tp
bmcvY2xpcC1wYXRoLWJvcmRlci1ib3guaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9tYXNr
aW5nL2NsaXAtcGF0aC1jb250ZW50LWJveC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBjc3MzL21hc2tpbmcvY2xpcC1wYXRoLWNvbnRlbnQtYm94Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGNzczMvbWFza2luZy9jbGlwLXBhdGgtcGFkZGluZy1ib3gtZXhwZWN0ZWQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogY3NzMy9tYXNraW5nL2NsaXAtcGF0aC1wYWRkaW5nLWJveC5odG1sOiBB
ZGRlZC4KKwogMjAxNC0wMS0yOCAgVGltb3RoeSBIYXRjaGVyICA8dGltb3RoeUBhcHBsZS5jb20+
CiAKICAgICAgICAgQWRkIGNvbHVtbiBudW1iZXIgYW5kIGNhbGwgdGltaW5nIHN1cHBvcnQgdG8g
TGVnYWN5UHJvZmlsZXIuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL21hc2tpbmcvY2xp
cC1wYXRoLWJvcmRlci1ib3gtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvbWFza2lu
Zy9jbGlwLXBhdGgtYm9yZGVyLWJveC1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI5MzQ5OGJh
NGRjMGRiZGVjYTlhNTM0MDA1NTdhZDI0MzM3YWMzMDAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9jc3MzL21hc2tpbmcvY2xpcC1wYXRoLWJvcmRlci1ib3gtZXhwZWN0ZWQuaHRtbApA
QCAtMCwwICsxLDE1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxzdHlsZT4KKy5jbGlwIHsKKyAgICB3
aWR0aDogMTQwcHg7CisgICAgaGVpZ2h0OiAxNDBweDsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiBn
cmVlbjsKKyAgICBwYWRkaW5nOiAxMHB4OworICAgIGJvcmRlcjogMTBweCBzb2xpZCBncmVlbjsK
KyAgICBtYXJnaW46IDEwcHg7Cit9Cis8L3N0eWxlPgorPGJvZHk+Cis8ZGl2IGNsYXNzPSJjbGlw
Ij48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMv
bWFza2luZy9jbGlwLXBhdGgtYm9yZGVyLWJveC5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9tYXNr
aW5nL2NsaXAtcGF0aC1ib3JkZXItYm94Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2MwZTFiNGMzYzI5ODI1
MjUzZTJjNjkzNzU2NzRlZWZkMmIxMThmYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2NzczMvbWFza2luZy9jbGlwLXBhdGgtYm9yZGVyLWJveC5odG1sCkBAIC0wLDAgKzEsMTYgQEAK
KzwhRE9DVFlQRSBodG1sPgorPHN0eWxlPgorLmNsaXAgeworICAgIHdpZHRoOiAxNDBweDsKKyAg
ICBoZWlnaHQ6IDE0MHB4OworICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuOworICAgIHBhZGRp
bmc6IDEwcHg7CisgICAgYm9yZGVyOiAxMHB4IHNvbGlkIGdyZWVuOworICAgIG1hcmdpbjogMTBw
eDsKKyAgICAtd2Via2l0LWNsaXAtcGF0aDogYm9yZGVyLWJveDsKK30KKzwvc3R5bGU+Cis8Ym9k
eT4KKzxkaXYgY2xhc3M9ImNsaXAiPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvY3NzMy9tYXNraW5nL2NsaXAtcGF0aC1jb250ZW50LWJveC1leHBlY3Rl
ZC5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9tYXNraW5nL2NsaXAtcGF0aC1jb250ZW50LWJveC1l
eHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNkOWE0Mzk4YjExMmZhMDIwNmUxYjJiODkyZTJmYmVh
MDEwNTViNGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL21hc2tpbmcvY2xp
cC1wYXRoLWNvbnRlbnQtYm94LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxMyBAQAorPCFET0NU
WVBFIGh0bWw+Cis8c3R5bGU+CisuY2xpcCB7CisgICAgd2lkdGg6IDE0MHB4OworICAgIGhlaWdo
dDogMTQwcHg7CisgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47CisgICAgbWFyZ2luOiAzMHB4
OworfQorPC9zdHlsZT4KKzxib2R5PgorPGRpdiBjbGFzcz0iY2xpcCI+PC9kaXY+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL21hc2tpbmcvY2xpcC1wYXRo
LWNvbnRlbnQtYm94Lmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL21hc2tpbmcvY2xpcC1wYXRoLWNv
bnRlbnQtYm94Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGNmODBkNmMzY2Q1NzVkNmJiYjM0YzI0NTAwMmRh
ZDFkODhkNjkxZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvbWFza2luZy9j
bGlwLXBhdGgtY29udGVudC1ib3guaHRtbApAQCAtMCwwICsxLDE2IEBACis8IURPQ1RZUEUgaHRt
bD4KKzxzdHlsZT4KKy5jbGlwIHsKKyAgICB3aWR0aDogMTQwcHg7CisgICAgaGVpZ2h0OiAxNDBw
eDsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKKyAgICBwYWRkaW5nOiAxMHB4OworICAg
IGJvcmRlcjogMTBweCBzb2xpZCByZWQ7CisgICAgbWFyZ2luOiAxMHB4OworICAgIC13ZWJraXQt
Y2xpcC1wYXRoOiBjb250ZW50LWJveDsKK30KKzwvc3R5bGU+Cis8Ym9keT4KKzxkaXYgY2xhc3M9
ImNsaXAiPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Y3NzMy9tYXNraW5nL2NsaXAtcGF0aC1wYWRkaW5nLWJveC1leHBlY3RlZC5odG1sIGIvTGF5b3V0
VGVzdHMvY3NzMy9tYXNraW5nL2NsaXAtcGF0aC1wYWRkaW5nLWJveC1leHBlY3RlZC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjUxN2U3OGQ5ZjU1NzQ0ZjZhNzk5OGJjZTZhMTk5MjAwODc4NjE1MDkKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL21hc2tpbmcvY2xpcC1wYXRoLXBhZGRpbmct
Ym94LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxNCBAQAorPCFET0NUWVBFIGh0bWw+Cis8c3R5
bGU+CisuY2xpcCB7CisgICAgd2lkdGg6IDE0MHB4OworICAgIGhlaWdodDogMTQwcHg7CisgICAg
YmFja2dyb3VuZC1jb2xvcjogZ3JlZW47CisgICAgcGFkZGluZzogMTBweDsKKyAgICBtYXJnaW46
IDIwcHg7Cit9Cis8L3N0eWxlPgorPGJvZHk+Cis8ZGl2IGNsYXNzPSJjbGlwIj48L2Rpdj4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvbWFza2luZy9jbGlw
LXBhdGgtcGFkZGluZy1ib3guaHRtbCBiL0xheW91dFRlc3RzL2NzczMvbWFza2luZy9jbGlwLXBh
dGgtcGFkZGluZy1ib3guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MGRlMGEzY2I4ODc5M2ZlMDQ4MGRkZDlj
ZTJkOTY1NTAyYWM0ZWMwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9tYXNr
aW5nL2NsaXAtcGF0aC1wYWRkaW5nLWJveC5odG1sCkBAIC0wLDAgKzEsMTYgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPHN0eWxlPgorLmNsaXAgeworICAgIHdpZHRoOiAxNDBweDsKKyAgICBoZWlnaHQ6
IDE0MHB4OworICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuOworICAgIHBhZGRpbmc6IDEwcHg7
CisgICAgYm9yZGVyOiAxMHB4IHNvbGlkIHJlZDsKKyAgICBtYXJnaW46IDEwcHg7CisgICAgLXdl
YmtpdC1jbGlwLXBhdGg6IHBhZGRpbmctYm94OworfQorPC9zdHlsZT4KKzxib2R5PgorPGRpdiBj
bGFzcz0iY2xpcCI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>222815</attachid>
            <date>2014-01-31 08:23:35 -0800</date>
            <delta_ts>2014-01-31 14:39:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-126205-20140131082141.patch</filename>
            <type>text/plain</type>
            <size>13016</size>
            <attacher name="Bem Jones-Bey">bjonesbe</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYzMTU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmM5NjlkZTQwOTZlNDIw
ODYwYmQwOWI5M2NkMzUzOTEwODYyMzMwYS4uMDZlZDBjYWY1ZTFmZjU1M2Q0M2NhMTRmYzY4OTk3
NWZkOTg4YjkyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE0LTAxLTMwICBCZW0g
Sm9uZXMtQmV5ICA8YmpvbmVzYmVAYWRvYmUuY29tPgorCisgICAgICAgIENyZWF0ZSBjbGlwcGlu
ZyBwYXRoIGZyb20gPGJveD4gdmFsdWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEyNjIwNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFRoaXMgaW1wbGVtZW50cyA8Ym94PiB2YWx1ZXMgZm9yIGJvcmRlciwg
Y29udGVudCwgYW5kIHBhZGRpbmcgYm94ZXMuCisgICAgICAgIFNpbmNlIG1hcmdpbiBib3ggaXMg
bm90IGltcGxlbWVudGVkIGFzIGEgcmVmZXJlbmNlIGJveCwgdGhpcyBkb2VzIG5vdAorICAgICAg
ICBpbXBsZW1lbnQgbWFyZ2luIGJveCB2YWx1ZS4KKworICAgICAgICBUZXN0czogY3NzMy9tYXNr
aW5nL2NsaXAtcGF0aC1ib3JkZXItYm94Lmh0bWwKKyAgICAgICAgICAgICAgIGNzczMvbWFza2lu
Zy9jbGlwLXBhdGgtY29udGVudC1ib3guaHRtbAorICAgICAgICAgICAgICAgY3NzMy9tYXNraW5n
L2NsaXAtcGF0aC1wYWRkaW5nLWJveC5odG1sCisKKyAgICAgICAgKiByZW5kZXJpbmcvQ2xpcFBh
dGhPcGVyYXRpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6OkJveENsaXBQYXRoT3BlcmF0aW9uOjpw
YXRoRm9yUmVmZXJlbmNlUmVjdCk6IEltcGxlbWVudC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29tcHV0ZVJlZmVyZW5jZUJveCk6IFB1
bGwgb3V0IHJlZmVyZW5jZSBib3ggY2FsY3VsYXRpb24uCisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJMYXllcjo6c2V0dXBDbGlwUGF0aCk6IEFkZCBzdXBwb3J0IGZvciA8Ym94PiB2YWx1ZXMuCisg
ICAgICAgICogcmVuZGVyaW5nL3NoYXBlcy9TaGFwZUluZm8uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U2hhcGVJbmZvPFJlbmRlclR5cGU+Ojpjb21wdXRlZFNoYXBlKTogQWRkIEZJWE1FIGNvbW1l
bnQuCisKIDIwMTQtMDEtMzAgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2FsaWEuY29t
PgogCiAgICAgICAgIFtHVEtdIFtDTWFrZV0gQWRkIHN1cHBvcnQgZm9yIGJ1aWxkaW5nIGFnYWlu
c3QgR1RLKyAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQ2xpcFBhdGhP
cGVyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9DbGlwUGF0aE9wZXJhdGlvbi5o
CmluZGV4IGNhYjkxZGQ2NzQ1YmI4NzJiNzA0ZTQ2ZGZlY2U3ZjViYzdmZTE1Y2YuLjdkNzFjNTEw
OTQzNTc1M2NjMTdiOWI3NjA5N2UxMzliMDkzM2RmNjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9DbGlwUGF0aE9wZXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9DbGlwUGF0aE9wZXJhdGlvbi5oCkBAIC0xNDIsMTEgKzE0MiwxMCBAQCBwdWJsaWM6
CiAgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgQm94Q2xpcFBhdGhPcGVyYXRpb24ocmVmZXJl
bmNlQm94KSk7CiAgICAgfQogCi0gICAgY29uc3QgUGF0aCBwYXRoRm9yUmVmZXJlbmNlUmVjdChj
b25zdCBGbG9hdFJlY3QmKSBjb25zdAorICAgIGNvbnN0IFBhdGggcGF0aEZvclJlZmVyZW5jZVJl
Y3QoY29uc3QgUm91bmRlZFJlY3QmIGJvdW5kaW5nUmVjdCkgY29uc3QKICAgICB7CiAgICAgICAg
IFBhdGggcGF0aDsKLSAgICAgICAgLy8gRklYTUU6IENyZWF0ZSBjbGlwcGluZyBwYXRoIGZyb20g
PGJveD4uCi0gICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMjYyMDUKKyAgICAgICAgcGF0aC5hZGRSb3VuZGVkUmVjdChib3VuZGluZ1JlY3QpOwogICAg
ICAgICByZXR1cm4gcGF0aDsKICAgICB9CiAgICAgTGF5b3V0Qm94IHJlZmVyZW5jZUJveCgpIGNv
bnN0IHsgcmV0dXJuIG1fcmVmZXJlbmNlQm94OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxheWVyLmNwcAppbmRleCAwZGMzMjY1YzEwZWY5ODMyMTg1NWM3NTBkMmUwNDY4MWM1NjNk
MDhlLi4zNjJiNzVkYmQ2MThiZTRmMDZmODVmNTVmYTdmZDg0OTdmNTMwYTg3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTM3ODAsMjUgKzM3ODAsMTMgQEAg
Ym9vbCBSZW5kZXJMYXllcjo6c2V0dXBGb250U3VicGl4ZWxRdWFudGl6YXRpb24oR3JhcGhpY3ND
b250ZXh0KiBjb250ZXh0LCBib29sJgogICAgIHJldHVybiBmYWxzZTsKIH0KIAotYm9vbCBSZW5k
ZXJMYXllcjo6c2V0dXBDbGlwUGF0aChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IExh
eWVyUGFpbnRpbmdJbmZvJiBwYWludGluZ0luZm8sIGNvbnN0IExheW91dFBvaW50JiBvZmZzZXRG
cm9tUm9vdCwgTGF5b3V0UmVjdCYgcm9vdFJlbGF0aXZlQm91bmRzLCBib29sJiByb290UmVsYXRp
dmVCb3VuZHNDb21wdXRlZCkKK3RlbXBsYXRlIDxjbGFzcyBSZWZlcmVuY2VCb3hDbGlwUGF0aE9w
ZXJhdGlvbj4KK3N0YXRpYyBpbmxpbmUgTGF5b3V0UmVjdCBjb21wdXRlUmVmZXJlbmNlQm94KGNv
bnN0IFJlbmRlck9iamVjdCYgcmVuZGVyZXIsIGNvbnN0IFJlZmVyZW5jZUJveENsaXBQYXRoT3Bl
cmF0aW9uJiBjbGlwcGluZ1BhdGgsIGNvbnN0IExheW91dFJlY3QmIHJvb3RSZWxhdGl2ZUJvdW5k
cykKIHsKLSAgICBpZiAoIXJlbmRlcmVyKCkuaGFzQ2xpcFBhdGgoKSB8fCBjb250ZXh0LT5wYWlu
dGluZ0Rpc2FibGVkKCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIFJlbmRlclN0eWxl
JiBzdHlsZSA9IHJlbmRlcmVyKCkuc3R5bGUoKTsKLSAgICBBU1NFUlQoc3R5bGUuY2xpcFBhdGgo
KSk7Ci0gICAgaWYgKHN0eWxlLmNsaXBQYXRoKCktPnR5cGUoKSA9PSBDbGlwUGF0aE9wZXJhdGlv
bjo6U2hhcGUpIHsKLSAgICAgICAgU2hhcGVDbGlwUGF0aE9wZXJhdGlvbiYgY2xpcHBpbmdQYXRo
ID0gdG9TaGFwZUNsaXBQYXRoT3BlcmF0aW9uKCooc3R5bGUuY2xpcFBhdGgoKSkpOwotCi0gICAg
ICAgIGlmICghcm9vdFJlbGF0aXZlQm91bmRzQ29tcHV0ZWQpIHsKLSAgICAgICAgICAgIHJvb3RS
ZWxhdGl2ZUJvdW5kcyA9IGNhbGN1bGF0ZUxheWVyQm91bmRzKHBhaW50aW5nSW5mby5yb290TGF5
ZXIsICZvZmZzZXRGcm9tUm9vdCwgMCk7Ci0gICAgICAgICAgICByb290UmVsYXRpdmVCb3VuZHND
b21wdXRlZCA9IHRydWU7Ci0gICAgICAgIH0KLQotICAgICAgICBMYXlvdXRSZWN0IHJlZmVyZW5j
ZUJveDsKLSAgICAgICAgaWYgKHJlbmRlcmVyKCkuaXNCb3goKSkgewotICAgICAgICAgICAgUmVu
ZGVyQm94JiBib3ggPSB0b1JlbmRlckJveChyZW5kZXJlcigpKTsKLSAgICAgICAgICAgIHN3aXRj
aCAoY2xpcHBpbmdQYXRoLnJlZmVyZW5jZUJveCgpKSB7CisgICAgTGF5b3V0UmVjdCByZWZlcmVu
Y2VCb3g7CisgICAgaWYgKHJlbmRlcmVyLmlzQm94KCkpIHsKKyAgICAgICAgY29uc3QgUmVuZGVy
Qm94JiBib3ggPSB0b1JlbmRlckJveChyZW5kZXJlcik7CisgICAgICAgIHN3aXRjaCAoY2xpcHBp
bmdQYXRoLnJlZmVyZW5jZUJveCgpKSB7CiAgICAgICAgICAgICBjYXNlIENvbnRlbnRCb3g6CiAg
ICAgICAgICAgICAgICAgcmVmZXJlbmNlQm94ID0gYm94LmNvbnRlbnRCb3hSZWN0KCk7CiAgICAg
ICAgICAgICAgICAgcmVmZXJlbmNlQm94Lm1vdmVCeShyb290UmVsYXRpdmVCb3VuZHMubG9jYXRp
b24oKSk7CkBAIC0zODEzLDMyICszODAxLDYwIEBAIGJvb2wgUmVuZGVyTGF5ZXI6OnNldHVwQ2xp
cFBhdGgoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBMYXllclBhaW50aW5nSW5mCiAg
ICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBjYXNlIE1hcmdpbkJveDoKICAgICAg
ICAgICAgICAgICAvLyBGSVhNRTogU3VwcG9ydCBtYXJnaW4tYm94LiBVc2UgYm91bmRpbmcgY2xp
ZW50IHJlY3QgZm9yIG5vdy4KKyAgICAgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3OTg0CiAgICAgICAgICAgICBjYXNlIEJvdW5kaW5nQm94
OgogICAgICAgICAgICAgY2FzZSBCb3hNaXNzaW5nOgogICAgICAgICAgICAgICAgIC8vIEZJWE1F
OiBJZiBubyByZWZlcmVuY2UgYm94IHdhcyBzcGVjaWZpZWQgdGhlIHNwZWMgZGVtYW5kcyB0byB1
c2UKICAgICAgICAgICAgICAgICAvLyB0aGUgYm9yZGVyLWJveC4gSG93ZXZlciwgdGhlIGN1cnJl
bnQgcHJlZml4ZWQgdmVyc2lvbiBvZiBjbGlwLXBhdGggdXNlcwogICAgICAgICAgICAgICAgIC8v
IGJvdW5kaW5nLWJveC4gS2VlcCBib3VuZGluZy1ib3ggZm9yIG5vdy4KICAgICAgICAgICAgICAg
ICByZWZlcmVuY2VCb3ggPSByb290UmVsYXRpdmVCb3VuZHM7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgIH0gZWxzZQotICAgICAgICAgICAgLy8gRklYTUU6IFN1cHBvcnQgZGlmZmVyZW50IHJlZmVy
ZW5jZSBib3hlcyBmb3IgaW5saW5lIGNvbnRlbnQuCi0gICAgICAgICAgICByZWZlcmVuY2VCb3gg
PSByb290UmVsYXRpdmVCb3VuZHM7CisgICAgICAgIH0KKyAgICB9IGVsc2UKKyAgICAgICAgLy8g
RklYTUU6IFN1cHBvcnQgZGlmZmVyZW50IHJlZmVyZW5jZSBib3hlcyBmb3IgaW5saW5lIGNvbnRl
bnQuCisgICAgICAgIHJlZmVyZW5jZUJveCA9IHJvb3RSZWxhdGl2ZUJvdW5kczsKKworICAgIHJl
dHVybiByZWZlcmVuY2VCb3g7Cit9CisKK2Jvb2wgUmVuZGVyTGF5ZXI6OnNldHVwQ2xpcFBhdGgo
R3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBMYXllclBhaW50aW5nSW5mbyYgcGFpbnRp
bmdJbmZvLCBjb25zdCBMYXlvdXRQb2ludCYgb2Zmc2V0RnJvbVJvb3QsIExheW91dFJlY3QmIHJv
b3RSZWxhdGl2ZUJvdW5kcywgYm9vbCYgcm9vdFJlbGF0aXZlQm91bmRzQ29tcHV0ZWQpCit7Cisg
ICAgaWYgKCFyZW5kZXJlcigpLmhhc0NsaXBQYXRoKCkgfHwgY29udGV4dC0+cGFpbnRpbmdEaXNh
YmxlZCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoIXJvb3RSZWxhdGl2ZUJv
dW5kc0NvbXB1dGVkKSB7CisgICAgICAgIHJvb3RSZWxhdGl2ZUJvdW5kcyA9IGNhbGN1bGF0ZUxh
eWVyQm91bmRzKHBhaW50aW5nSW5mby5yb290TGF5ZXIsICZvZmZzZXRGcm9tUm9vdCwgMCk7Cisg
ICAgICAgIHJvb3RSZWxhdGl2ZUJvdW5kc0NvbXB1dGVkID0gdHJ1ZTsKKyAgICB9CisKKyAgICBS
ZW5kZXJTdHlsZSYgc3R5bGUgPSByZW5kZXJlcigpLnN0eWxlKCk7CisgICAgQVNTRVJUKHN0eWxl
LmNsaXBQYXRoKCkpOworICAgIGlmIChzdHlsZS5jbGlwUGF0aCgpLT50eXBlKCkgPT0gQ2xpcFBh
dGhPcGVyYXRpb246OlNoYXBlKSB7CisgICAgICAgIFNoYXBlQ2xpcFBhdGhPcGVyYXRpb24mIGNs
aXBwaW5nUGF0aCA9IHRvU2hhcGVDbGlwUGF0aE9wZXJhdGlvbigqKHN0eWxlLmNsaXBQYXRoKCkp
KTsKIAorICAgICAgICBMYXlvdXRSZWN0IHJlZmVyZW5jZUJveCA9IGNvbXB1dGVSZWZlcmVuY2VC
b3gocmVuZGVyZXIoKSwgY2xpcHBpbmdQYXRoLCByb290UmVsYXRpdmVCb3VuZHMpOwogICAgICAg
ICBjb250ZXh0LT5zYXZlKCk7CiAgICAgICAgIGNvbnRleHQtPmNsaXBQYXRoKGNsaXBwaW5nUGF0
aC5wYXRoRm9yUmVmZXJlbmNlUmVjdChyZWZlcmVuY2VCb3gpLCBjbGlwcGluZ1BhdGgud2luZFJ1
bGUoKSk7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIAorICAgIGlmIChzdHlsZS5jbGlw
UGF0aCgpLT50eXBlKCkgPT0gQ2xpcFBhdGhPcGVyYXRpb246OkJveCkgeworICAgICAgICBCb3hD
bGlwUGF0aE9wZXJhdGlvbiYgY2xpcHBpbmdQYXRoID0gdG9Cb3hDbGlwUGF0aE9wZXJhdGlvbigq
KHN0eWxlLmNsaXBQYXRoKCkpKTsKKworICAgICAgICBMYXlvdXRSZWN0IHJlZmVyZW5jZUJveCA9
IGNvbXB1dGVSZWZlcmVuY2VCb3gocmVuZGVyZXIoKSwgY2xpcHBpbmdQYXRoLCByb290UmVsYXRp
dmVCb3VuZHMpOworICAgICAgICAvLyBGSVhNRSBUaGlzIGRvZXMgbm90IHByb3Blcmx5IGNvbXB1
dGUgdGhlIHJvdW5kZWQgY29ybmVycyBhcyBzcGVjaWZpZWQgaW4gYWxsIGNvbmRpdGlvbnMuCisg
ICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc5ODIK
KyAgICAgICAgY29uc3QgUm91bmRlZFJlY3QmIHNoYXBlUmVjdCA9IHJlbmRlcmVyKCkuc3R5bGUo
KS5nZXRSb3VuZGVkQm9yZGVyRm9yKHJlZmVyZW5jZUJveCwgJihyZW5kZXJlcigpLnZpZXcoKSkp
OworCisgICAgICAgIGNvbnRleHQtPnNhdmUoKTsKKyAgICAgICAgY29udGV4dC0+Y2xpcFBhdGgo
Y2xpcHBpbmdQYXRoLnBhdGhGb3JSZWZlcmVuY2VSZWN0KHNoYXBlUmVjdCksIFJVTEVfTk9OWkVS
Tyk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKwogI2lmIEVOQUJMRShTVkcpCiAgICAg
aWYgKHN0eWxlLmNsaXBQYXRoKCktPnR5cGUoKSA9PSBDbGlwUGF0aE9wZXJhdGlvbjo6UmVmZXJl
bmNlKSB7CiAgICAgICAgIFJlZmVyZW5jZUNsaXBQYXRoT3BlcmF0aW9uKiByZWZlcmVuY2VDbGlw
UGF0aE9wZXJhdGlvbiA9IHN0YXRpY19jYXN0PFJlZmVyZW5jZUNsaXBQYXRoT3BlcmF0aW9uKj4o
c3R5bGUuY2xpcFBhdGgoKSk7CiAgICAgICAgIEVsZW1lbnQqIGVsZW1lbnQgPSByZW5kZXJlcigp
LmRvY3VtZW50KCkuZ2V0RWxlbWVudEJ5SWQocmVmZXJlbmNlQ2xpcFBhdGhPcGVyYXRpb24tPmZy
YWdtZW50KCkpOwogICAgICAgICBpZiAoZWxlbWVudCAmJiBlbGVtZW50LT5oYXNUYWdOYW1lKFNW
R05hbWVzOjpjbGlwUGF0aFRhZykgJiYgZWxlbWVudC0+cmVuZGVyZXIoKSkgewotICAgICAgICAg
ICAgaWYgKCFyb290UmVsYXRpdmVCb3VuZHNDb21wdXRlZCkgewotICAgICAgICAgICAgICAgIHJv
b3RSZWxhdGl2ZUJvdW5kcyA9IGNhbGN1bGF0ZUxheWVyQm91bmRzKHBhaW50aW5nSW5mby5yb290
TGF5ZXIsICZvZmZzZXRGcm9tUm9vdCwgMCk7Ci0gICAgICAgICAgICAgICAgcm9vdFJlbGF0aXZl
Qm91bmRzQ29tcHV0ZWQgPSB0cnVlOwotICAgICAgICAgICAgfQotCiAgICAgICAgICAgICAvLyBG
SVhNRTogVGhpcyBzaG91bGQgdXNlIGEgc2FmZXIgY2FzdCBzdWNoIGFzIHRvUmVuZGVyU1ZHUmVz
b3VyY2VDb250YWluZXIoKS4KICAgICAgICAgICAgIC8vIEZJWE1FOiBTaG91bGQgdGhpcyBkbyBh
IGNvbnRleHQtPnNhdmUoKSBhbmQgcmV0dXJuIHRydWUgc28gd2UgcmVzdG9yZSB0aGUgY29udGV4
dD8KICAgICAgICAgICAgIHN0YXRpY19jYXN0PFJlbmRlclNWR1Jlc291cmNlQ2xpcHBlcio+KGVs
ZW1lbnQtPnJlbmRlcmVyKCkpLT5hcHBseUNsaXBwaW5nVG9Db250ZXh0KHJlbmRlcmVyKCksIHJv
b3RSZWxhdGl2ZUJvdW5kcywgcGFpbnRpbmdJbmZvLnBhaW50RGlydHlSZWN0LCBjb250ZXh0KTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zaGFwZXMvU2hhcGVJbmZvLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zaGFwZXMvU2hhcGVJbmZvLmNwcAppbmRleCA1
ZTJhZjkyYWRmMDVjYTViMDllY2Y0MDUwZjQ1MGZhZThkZmU2NjExLi4yOTdjMDdhNzAwNjc5MjI1
YTk2ZDI4YTQ0YjhlYTIwZTU3YWQ1ZjljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc2hhcGVzL1NoYXBlSW5mby5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3NoYXBlcy9TaGFwZUluZm8uY3BwCkBAIC05Miw2ICs5Miw4IEBAIGNvbnN0IFNoYXBlJiBTaGFw
ZUluZm88UmVuZGVyVHlwZT46OmNvbXB1dGVkU2hhcGUoKSBjb25zdAogICAgICAgICBicmVhazsK
ICAgICB9CiAgICAgY2FzZSBTaGFwZVZhbHVlOjpCb3g6IHsKKyAgICAgICAgLy8gRklYTUUgVGhp
cyBkb2VzIG5vdCBwcm9wZXJseSBjb21wdXRlIHRoZSByb3VuZGVkIGNvcm5lcnMgYXMgc3BlY2lm
aWVkIGluIGFsbCBjb25kaXRpb25zLgorICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTI3OTgyCiAgICAgICAgIGNvbnN0IFJvdW5kZWRSZWN0JiBzaGFw
ZVJlY3QgPSBtX3JlbmRlcmVyLnN0eWxlKCkuZ2V0Um91bmRlZEJvcmRlckZvcihMYXlvdXRSZWN0
KExheW91dFBvaW50KCksIG1fc2hhcGVMb2dpY2FsU2l6ZSksICYobV9yZW5kZXJlci52aWV3KCkp
KTsKICAgICAgICAgbV9zaGFwZSA9IFNoYXBlOjpjcmVhdGVMYXlvdXRCb3hTaGFwZShzaGFwZVJl
Y3QsIHdyaXRpbmdNb2RlLCBtYXJnaW4sIHBhZGRpbmcpOwogICAgICAgICBicmVhazsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCAxYjczYWZkZGQxZTM2NmU5NDE4NTQ1NjJiNzI4NzA1MzQxYWEwYTZhLi5lMmE3MWNmNGNiZmEz
ODVlZDA3NTIzNmMwZDdlNTFmODQzZWRiZGM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTQt
MDEtMzAgIEJlbSBKb25lcy1CZXkgIDxiam9uZXNiZUBhZG9iZS5jb20+CisKKyAgICAgICAgQ3Jl
YXRlIGNsaXBwaW5nIHBhdGggZnJvbSA8Ym94PiB2YWx1ZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI2MjA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdHMgZm9yIGJvcmRlciwgcGFkZGluZyBhbmQg
Y29udGVudCBib3ggdmFsdWVzLiBNYXJnaW4gaXMKKyAgICAgICAgdW5pbXBsZW1lbnRlZCBhcyBv
ZiB5ZXQuCisKKyAgICAgICAgKiBjc3MzL21hc2tpbmcvY2xpcC1wYXRoLWJvcmRlci1ib3gtZXhw
ZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9tYXNraW5nL2NsaXAtcGF0aC1ib3Jk
ZXItYm94Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNzczMvbWFza2luZy9jbGlwLXBhdGgtY29u
dGVudC1ib3gtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9tYXNraW5nL2Ns
aXAtcGF0aC1jb250ZW50LWJveC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL21hc2tpbmcv
Y2xpcC1wYXRoLXBhZGRpbmctYm94LWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNz
czMvbWFza2luZy9jbGlwLXBhdGgtcGFkZGluZy1ib3guaHRtbDogQWRkZWQuCisKIDIwMTQtMDEt
MjggIFRpbW90aHkgSGF0Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBj
b2x1bW4gbnVtYmVyIGFuZCBjYWxsIHRpbWluZyBzdXBwb3J0IHRvIExlZ2FjeVByb2ZpbGVyLgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9tYXNraW5nL2NsaXAtcGF0aC1ib3JkZXItYm94
LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL21hc2tpbmcvY2xpcC1wYXRoLWJvcmRl
ci1ib3gtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iOTM0OThiYTRkYzBkYmRlY2E5YTUzNDAw
NTU3YWQyNDMzN2FjMzAwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9tYXNr
aW5nL2NsaXAtcGF0aC1ib3JkZXItYm94LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxNSBAQAor
PCFET0NUWVBFIGh0bWw+Cis8c3R5bGU+CisuY2xpcCB7CisgICAgd2lkdGg6IDE0MHB4OworICAg
IGhlaWdodDogMTQwcHg7CisgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47CisgICAgcGFkZGlu
ZzogMTBweDsKKyAgICBib3JkZXI6IDEwcHggc29saWQgZ3JlZW47CisgICAgbWFyZ2luOiAxMHB4
OworfQorPC9zdHlsZT4KKzxib2R5PgorPGRpdiBjbGFzcz0iY2xpcCI+PC9kaXY+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL21hc2tpbmcvY2xpcC1wYXRo
LWJvcmRlci1ib3guaHRtbCBiL0xheW91dFRlc3RzL2NzczMvbWFza2luZy9jbGlwLXBhdGgtYm9y
ZGVyLWJveC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNjMGUxYjRjM2MyOTgyNTI1M2UyYzY5Mzc1Njc0ZWVm
ZDJiMTE4ZmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL21hc2tpbmcvY2xp
cC1wYXRoLWJvcmRlci1ib3guaHRtbApAQCAtMCwwICsxLDE2IEBACis8IURPQ1RZUEUgaHRtbD4K
KzxzdHlsZT4KKy5jbGlwIHsKKyAgICB3aWR0aDogMTQwcHg7CisgICAgaGVpZ2h0OiAxNDBweDsK
KyAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKKyAgICBwYWRkaW5nOiAxMHB4OworICAgIGJv
cmRlcjogMTBweCBzb2xpZCBncmVlbjsKKyAgICBtYXJnaW46IDEwcHg7CisgICAgLXdlYmtpdC1j
bGlwLXBhdGg6IGJvcmRlci1ib3g7Cit9Cis8L3N0eWxlPgorPGJvZHk+Cis8ZGl2IGNsYXNzPSJj
bGlwIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Nz
czMvbWFza2luZy9jbGlwLXBhdGgtY29udGVudC1ib3gtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRl
c3RzL2NzczMvbWFza2luZy9jbGlwLXBhdGgtY29udGVudC1ib3gtZXhwZWN0ZWQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4zZDlhNDM5OGIxMTJmYTAyMDZlMWIyYjg5MmUyZmJlYTAxMDU1YjRmCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9tYXNraW5nL2NsaXAtcGF0aC1jb250ZW50LWJv
eC1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBodG1sPgorPHN0eWxl
PgorLmNsaXAgeworICAgIHdpZHRoOiAxNDBweDsKKyAgICBoZWlnaHQ6IDE0MHB4OworICAgIGJh
Y2tncm91bmQtY29sb3I6IGdyZWVuOworICAgIG1hcmdpbjogMzBweDsKK30KKzwvc3R5bGU+Cis8
Ym9keT4KKzxkaXYgY2xhc3M9ImNsaXAiPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9tYXNraW5nL2NsaXAtcGF0aC1jb250ZW50LWJveC5odG1s
IGIvTGF5b3V0VGVzdHMvY3NzMy9tYXNraW5nL2NsaXAtcGF0aC1jb250ZW50LWJveC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjhjZjgwZDZjM2NkNTc1ZDZiYmIzNGMyNDUwMDJkYWQxZDg4ZDY5MWQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL21hc2tpbmcvY2xpcC1wYXRoLWNvbnRlbnQt
Ym94Lmh0bWwKQEAgLTAsMCArMSwxNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8c3R5bGU+CisuY2xp
cCB7CisgICAgd2lkdGg6IDE0MHB4OworICAgIGhlaWdodDogMTQwcHg7CisgICAgYmFja2dyb3Vu
ZC1jb2xvcjogZ3JlZW47CisgICAgcGFkZGluZzogMTBweDsKKyAgICBib3JkZXI6IDEwcHggc29s
aWQgcmVkOworICAgIG1hcmdpbjogMTBweDsKKyAgICAtd2Via2l0LWNsaXAtcGF0aDogY29udGVu
dC1ib3g7Cit9Cis8L3N0eWxlPgorPGJvZHk+Cis8ZGl2IGNsYXNzPSJjbGlwIj48L2Rpdj4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvbWFza2luZy9jbGlw
LXBhdGgtcGFkZGluZy1ib3gtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvbWFza2lu
Zy9jbGlwLXBhdGgtcGFkZGluZy1ib3gtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MTdlNzhk
OWY1NTc0NGY2YTc5OThiY2U2YTE5OTIwMDg3ODYxNTA5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvY3NzMy9tYXNraW5nL2NsaXAtcGF0aC1wYWRkaW5nLWJveC1leHBlY3RlZC5odG1s
CkBAIC0wLDAgKzEsMTQgQEAKKzwhRE9DVFlQRSBodG1sPgorPHN0eWxlPgorLmNsaXAgeworICAg
IHdpZHRoOiAxNDBweDsKKyAgICBoZWlnaHQ6IDE0MHB4OworICAgIGJhY2tncm91bmQtY29sb3I6
IGdyZWVuOworICAgIHBhZGRpbmc6IDEwcHg7CisgICAgbWFyZ2luOiAyMHB4OworfQorPC9zdHls
ZT4KKzxib2R5PgorPGRpdiBjbGFzcz0iY2xpcCI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL21hc2tpbmcvY2xpcC1wYXRoLXBhZGRpbmctYm94
Lmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL21hc2tpbmcvY2xpcC1wYXRoLXBhZGRpbmctYm94Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uOTBkZTBhM2NiODg3OTNmZTA0ODBkZGQ5Y2UyZDk2NTUwMmFjNGVjMAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvbWFza2luZy9jbGlwLXBhdGgtcGFk
ZGluZy1ib3guaHRtbApAQCAtMCwwICsxLDE2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxzdHlsZT4K
Ky5jbGlwIHsKKyAgICB3aWR0aDogMTQwcHg7CisgICAgaGVpZ2h0OiAxNDBweDsKKyAgICBiYWNr
Z3JvdW5kLWNvbG9yOiBncmVlbjsKKyAgICBwYWRkaW5nOiAxMHB4OworICAgIGJvcmRlcjogMTBw
eCBzb2xpZCByZWQ7CisgICAgbWFyZ2luOiAxMHB4OworICAgIC13ZWJraXQtY2xpcC1wYXRoOiBw
YWRkaW5nLWJveDsKK30KKzwvc3R5bGU+Cis8Ym9keT4KKzxkaXYgY2xhc3M9ImNsaXAiPjwvZGl2
PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>