<?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>149876</bug_id>
          
          <creation_ts>2015-10-07 08:31:25 -0700</creation_ts>
          <short_desc>[css-grid] Include freeSpace in GridSizingData struct</short_desc>
          <delta_ts>2015-10-09 05:57:21 -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>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>All</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sergio Villar Senin">svillar</reporter>
          <assigned_to name="Sergio Villar Senin">svillar</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>jfernandez</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>rego</cc>
    
    <cc>svillar</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1131299</commentid>
    <comment_count>0</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2015-10-07 08:31:25 -0700</bug_when>
    <thetext>We&apos;re passing freeSpaceForRows and freeSpaceForColumns to a bunch of functions along with the GridSizingData struct when we should really include them both in the struct as we&apos;re talking about temporary data that is only used for the layout process.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131304</commentid>
    <comment_count>1</comment_count>
      <attachid>262610</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2015-10-07 08:46:06 -0700</bug_when>
    <thetext>Created attachment 262610
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131313</commentid>
    <comment_count>2</comment_count>
      <attachid>262610</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-10-07 09:11:18 -0700</bug_when>
    <thetext>Comment on attachment 262610
Patch

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

Need a new patch; looks like this one doesn’t build.

&gt; Source/WebCore/rendering/RenderGrid.cpp:214
&gt; +    GridSizingData(unsigned gridColumnCount, unsigned gridRowCount, const LayoutUnit&amp; freeSpaceForColumns, const LayoutUnit&amp; freeSpaceForRows)

LayoutUnit is small enough that we probably want to just pass LayoutUnit, not const LayoutUnit&amp;.

&gt; Source/WebCore/rendering/RenderGrid.cpp:358
&gt; +    const_cast&lt;RenderGrid*&gt;(this)-&gt;computeUsedBreadthOfGridTracks(ForColumns, sizingData);

The const_cast in this function is strange. Doesn’t seem like the right pattern for functions with side effects. Not new to this patch, though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131603</commentid>
    <comment_count>3</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2015-10-08 05:17:15 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Comment on attachment 262610 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=262610&amp;action=review
&gt; 
&gt; Need a new patch; looks like this one doesn’t build.

Beh, I somehow committed a patch without one of the replacements.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131604</commentid>
    <comment_count>4</comment_count>
      <attachid>262688</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2015-10-08 05:20:45 -0700</bug_when>
    <thetext>Created attachment 262688
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131889</commentid>
    <comment_count>5</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2015-10-09 05:57:21 -0700</bug_when>
    <thetext>Committed r190784: &lt;http://trac.webkit.org/changeset/190784&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>262610</attachid>
            <date>2015-10-07 08:46:06 -0700</date>
            <delta_ts>2015-10-08 05:20:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149876-20151007174533.patch</filename>
            <type>text/plain</type>
            <size>12740</size>
            <attacher name="Sergio Villar Senin">svillar</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkwNjY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDBlY2E2YzA0ZmZmOTAx
YTBkNWVlYmMzNzIyNmQzNzZhZGVlZGNlNy4uNDBlYjg5NmRkZWVlYzVkOWE2M2IzYmE3YjE0NTc2
ZmMzNjZlZGFkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDE1LTEwLTA3ICBTZXJn
aW8gVmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgorCisgICAgICAgIFtjc3MtZ3Jp
ZF0gSW5jbHVkZSBmcmVlU3BhY2UgaW4gR3JpZFNpemluZ0RhdGEgc3RydWN0CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDk4NzYKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEdXJpbmcgdGhlIGxheW91dCBw
cm9jZXNzIHdlIGtlZXAgdGhlIGZyZWUgc3BhY2UgZm9yIHJvd3MgYW5kCisgICAgICAgIGNvbHVt
bnMgaW4gdHdvIHZhcmlhYmxlcyB0aGF0IGFyZSBwYXNzZWQgdG8gYSBmZXcgbWV0aG9kcworICAg
ICAgICBhbG9uZyB3aXRoIHRoZSBHcmlkU2l6aW5nRGF0YSBzdHJ1Y3QuIFRob3NlIHR3byB2YXJp
YWJsZXMKKyAgICAgICAgc2hvdWxkIGNsZWFybHkgYmUgcGFydCBvZiBHcmlkU2l6aW5nRGF0YSBh
cyB0aGV5J3JlIHRlbXBvcmFyeQorICAgICAgICB2YWx1ZXMgdXNlZCBqdXN0IGZvciB0aGUgc2Fr
ZSBvZiB0aGUgbGF5b3V0LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyByZXF1aXJlZCBhcyB0aGlz
IGlzIGp1c3QgYSByZWZhY3RvcmluZy4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJHcmlk
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckdyaWQ6OkdyaWRTaXppbmdEYXRhOjpHcmlk
U2l6aW5nRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJHcmlkOjpHcmlkU2l6aW5nRGF0
YTo6ZnJlZVNwYWNlRm9yRGlyZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckdyaWQ6
OmNvbXB1dGVJbnRyaW5zaWNMb2dpY2FsV2lkdGhzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckdyaWQ6OmNvbXB1dGVVc2VkQnJlYWR0aE9mR3JpZFRyYWNrcyk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJHcmlkOjphcHBseVN0cmV0Y2hBbGlnbm1lbnRUb1RyYWNrc0lmTmVlZGVkKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckdyaWQ6OmxheW91dEdyaWRJdGVtcyk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJHcmlkOjpwb3B1bGF0ZUdyaWRQb3NpdGlvbnMpOgorICAgICAgICAoV2Vi
Q29yZTo6Y29udGVudERpc3RyaWJ1dGlvbk9mZnNldCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJHcmlkOjpjb21wdXRlQ29udGVudFBvc2l0aW9uQW5kRGlzdHJpYnV0aW9uT2Zmc2V0KToKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyR3JpZC5oOgorCiAyMDE1LTEwLTA2ICBTaW1vbiBGcmFz
ZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIHdpbGwtY2hhbmdlIHNob3Vs
ZCB0cmlnZ2VyIHN0YWNraW5nIGNvbnRleHQgYmFzZWQgcHVyZWx5IG9uIHByb3BlcnRpZXMKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcAppbmRleCAzMWMwZDAwZjIxYjkzYWM0
NDU5YzYzZjAzOTI5NjY4MGZkMjFiNzM2Li41MTU2YmU3YjA3ZmQwMDViNDJhZGRjYjM5OTU5YmM1
Y2M0NWUzYmQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3Jp
ZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwCkBAIC0y
MTEsOSArMjExLDExIEBAIHByaXZhdGU6CiBjbGFzcyBSZW5kZXJHcmlkOjpHcmlkU2l6aW5nRGF0
YSB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR3JpZFNpemluZ0RhdGEpOwogcHVibGljOgot
ICAgIEdyaWRTaXppbmdEYXRhKHVuc2lnbmVkIGdyaWRDb2x1bW5Db3VudCwgdW5zaWduZWQgZ3Jp
ZFJvd0NvdW50KQorICAgIEdyaWRTaXppbmdEYXRhKHVuc2lnbmVkIGdyaWRDb2x1bW5Db3VudCwg
dW5zaWduZWQgZ3JpZFJvd0NvdW50LCBjb25zdCBMYXlvdXRVbml0JiBmcmVlU3BhY2VGb3JDb2x1
bW5zLCBjb25zdCBMYXlvdXRVbml0JiBmcmVlU3BhY2VGb3JSb3dzKQogICAgICAgICA6IGNvbHVt
blRyYWNrcyhncmlkQ29sdW1uQ291bnQpCiAgICAgICAgICwgcm93VHJhY2tzKGdyaWRSb3dDb3Vu
dCkKKyAgICAgICAgLCBmcmVlU3BhY2VGb3JDb2x1bW5zKGZyZWVTcGFjZUZvckNvbHVtbnMpCisg
ICAgICAgICwgZnJlZVNwYWNlRm9yUm93cyhmcmVlU3BhY2VGb3JSb3dzKQogICAgIHsKICAgICB9
CiAKQEAgLTIyNSw2ICsyMjcsMTIgQEAgcHVibGljOgogICAgIFZlY3RvcjxHcmlkVHJhY2sqPiBm
aWx0ZXJlZFRyYWNrczsKICAgICBWZWN0b3I8R3JpZFRyYWNrKj4gZ3Jvd0JleW9uZEdyb3d0aExp
bWl0c1RyYWNrczsKICAgICBWZWN0b3I8R3JpZEl0ZW1XaXRoU3Bhbj4gaXRlbXNTb3J0ZWRCeUlu
Y3JlYXNpbmdTcGFuOworCisgICAgTGF5b3V0VW5pdCYgZnJlZVNwYWNlRm9yRGlyZWN0aW9uKEdy
aWRUcmFja1NpemluZ0RpcmVjdGlvbiBkaXJlY3Rpb24pIHsgcmV0dXJuIGRpcmVjdGlvbiA9PSBG
b3JDb2x1bW5zID8gZnJlZVNwYWNlRm9yQ29sdW1ucyA6IGZyZWVTcGFjZUZvclJvd3M7IH0KKwor
cHJpdmF0ZToKKyAgICBMYXlvdXRVbml0IGZyZWVTcGFjZUZvckNvbHVtbnM7CisgICAgTGF5b3V0
VW5pdCBmcmVlU3BhY2VGb3JSb3dzOwogfTsKIAogUmVuZGVyR3JpZDo6UmVuZGVyR3JpZChFbGVt
ZW50JiBlbGVtZW50LCBSZWY8UmVuZGVyU3R5bGU+JiYgc3R5bGUpCkBAIC0zNDYsOSArMzU0LDgg
QEAgdm9pZCBSZW5kZXJHcmlkOjpjb21wdXRlSW50cmluc2ljTG9naWNhbFdpZHRocyhMYXlvdXRV
bml0JiBtaW5Mb2dpY2FsV2lkdGgsIExheW8KICAgICBpZiAoIXdhc1BvcHVsYXRlZCkKICAgICAg
ICAgY29uc3RfY2FzdDxSZW5kZXJHcmlkKj4odGhpcyktPnBsYWNlSXRlbXNPbkdyaWQoKTsKIAot
ICAgIEdyaWRTaXppbmdEYXRhIHNpemluZ0RhdGEoZ3JpZENvbHVtbkNvdW50KCksIGdyaWRSb3dD
b3VudCgpKTsKLSAgICBMYXlvdXRVbml0IGF2YWlsYWJsZUxvZ2ljYWxTcGFjZSA9IDA7Ci0gICAg
Y29uc3RfY2FzdDxSZW5kZXJHcmlkKj4odGhpcyktPmNvbXB1dGVVc2VkQnJlYWR0aE9mR3JpZFRy
YWNrcyhGb3JDb2x1bW5zLCBzaXppbmdEYXRhLCBhdmFpbGFibGVMb2dpY2FsU3BhY2UpOworICAg
IEdyaWRTaXppbmdEYXRhIHNpemluZ0RhdGEoZ3JpZENvbHVtbkNvdW50KCksIGdyaWRSb3dDb3Vu
dCgpLCAwLCAwKTsKKyAgICBjb25zdF9jYXN0PFJlbmRlckdyaWQqPih0aGlzKS0+Y29tcHV0ZVVz
ZWRCcmVhZHRoT2ZHcmlkVHJhY2tzKEZvckNvbHVtbnMsIHNpemluZ0RhdGEpOwogCiAgICAgZm9y
IChhdXRvJiBjb2x1bW4gOiBzaXppbmdEYXRhLmNvbHVtblRyYWNrcykgewogICAgICAgICBMYXlv
dXRVbml0IG1pblRyYWNrQnJlYWR0aCA9IGNvbHVtbi5iYXNlU2l6ZSgpOwpAQCAtMzgwLDggKzM4
Nyw5IEBAIHN0YXRpYyBpbmxpbmUgZG91YmxlIG5vcm1hbGl6ZWRGbGV4RnJhY3Rpb24oY29uc3Qg
R3JpZFRyYWNrJiB0cmFjaywgZG91YmxlIGZsZXhGCiAgICAgcmV0dXJuIHRyYWNrLmJhc2VTaXpl
KCkgLyBzdGQ6Om1heDxkb3VibGU+KDEsIGZsZXhGYWN0b3IpOwogfQogCi12b2lkIFJlbmRlckdy
aWQ6OmNvbXB1dGVVc2VkQnJlYWR0aE9mR3JpZFRyYWNrcyhHcmlkVHJhY2tTaXppbmdEaXJlY3Rp
b24gZGlyZWN0aW9uLCBHcmlkU2l6aW5nRGF0YSYgc2l6aW5nRGF0YSwgTGF5b3V0VW5pdCYgYXZh
aWxhYmxlTG9naWNhbFNwYWNlKQordm9pZCBSZW5kZXJHcmlkOjpjb21wdXRlVXNlZEJyZWFkdGhP
ZkdyaWRUcmFja3MoR3JpZFRyYWNrU2l6aW5nRGlyZWN0aW9uIGRpcmVjdGlvbiwgR3JpZFNpemlu
Z0RhdGEmIHNpemluZ0RhdGEpCiB7CisgICAgTGF5b3V0VW5pdCYgYXZhaWxhYmxlTG9naWNhbFNw
YWNlID0gc2l6aW5nRGF0YS5mcmVlU3BhY2VGb3JEaXJlY3Rpb24oZGlyZWN0aW9uKTsKICAgICBj
b25zdCBMYXlvdXRVbml0IGluaXRpYWxBdmFpbGFibGVMb2dpY2FsU3BhY2UgPSBhdmFpbGFibGVM
b2dpY2FsU3BhY2U7CiAgICAgVmVjdG9yPEdyaWRUcmFjaz4mIHRyYWNrcyA9IChkaXJlY3Rpb24g
PT0gRm9yQ29sdW1ucykgPyBzaXppbmdEYXRhLmNvbHVtblRyYWNrcyA6IHNpemluZ0RhdGEucm93
VHJhY2tzOwogICAgIFZlY3Rvcjx1bnNpZ25lZD4gZmxleGlibGVTaXplZFRyYWNrc0luZGV4OwpA
QCAtMTIzMiw4ICsxMjQwLDkgQEAgdm9pZCBSZW5kZXJHcmlkOjpjbGVhckdyaWQoKQogICAgIG1f
Z3JpZEl0ZW1Db29yZGluYXRlLmNsZWFyKCk7CiB9CiAKLXZvaWQgUmVuZGVyR3JpZDo6YXBwbHlT
dHJldGNoQWxpZ25tZW50VG9UcmFja3NJZk5lZWRlZChHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24g
ZGlyZWN0aW9uLCBHcmlkU2l6aW5nRGF0YSYgc2l6aW5nRGF0YSwgTGF5b3V0VW5pdCBhdmFpbGFi
bGVTcGFjZSkKK3ZvaWQgUmVuZGVyR3JpZDo6YXBwbHlTdHJldGNoQWxpZ25tZW50VG9UcmFja3NJ
Zk5lZWRlZChHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24gZGlyZWN0aW9uLCBHcmlkU2l6aW5nRGF0
YSYgc2l6aW5nRGF0YSkKIHsKKyAgICBMYXlvdXRVbml0JiBhdmFpbGFibGVTcGFjZSA9IHNpemlu
Z0RhdGEuZnJlZVNwYWNlRm9yRGlyZWN0aW9uKGRpcmVjdGlvbik7CiAgICAgaWYgKGF2YWlsYWJs
ZVNwYWNlIDw9IDAKICAgICAgICAgfHwgKGRpcmVjdGlvbiA9PSBGb3JDb2x1bW5zICYmIHN0eWxl
KCkucmVzb2x2ZWRKdXN0aWZ5Q29udGVudERpc3RyaWJ1dGlvbigpICE9IENvbnRlbnREaXN0cmli
dXRpb25TdHJldGNoKQogICAgICAgICB8fCAoZGlyZWN0aW9uID09IEZvclJvd3MgJiYgc3R5bGUo
KS5yZXNvbHZlZEFsaWduQ29udGVudERpc3RyaWJ1dGlvbigpICE9IENvbnRlbnREaXN0cmlidXRp
b25TdHJldGNoKSkKQEAgLTEyNTcsNiArMTI2Niw3IEBAIHZvaWQgUmVuZGVyR3JpZDo6YXBwbHlT
dHJldGNoQWxpZ25tZW50VG9UcmFja3NJZk5lZWRlZChHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24K
ICAgICAgICAgYXV0byYgdHJhY2sgPSB0cmFja3NbdHJhY2tJbmRleF07CiAgICAgICAgIHRyYWNr
LnNldEJhc2VTaXplKHRyYWNrLmJhc2VTaXplKCkgKyBzaXplVG9JbmNyZWFzZSk7CiAgICAgfQor
ICAgIGF2YWlsYWJsZVNwYWNlID0gMDsKIH0KIAogdm9pZCBSZW5kZXJHcmlkOjpsYXlvdXRHcmlk
SXRlbXMoKQpAQCAtMTI3MCwxNiArMTI4MCwxNiBAQCB2b2lkIFJlbmRlckdyaWQ6OmxheW91dEdy
aWRJdGVtcygpCiAgICAgYXZhaWxhYmxlU3BhY2VGb3JDb2x1bW5zIC09IGd1dHRlcnNTaXplKEZv
ckNvbHVtbnMsIGdyaWRDb2x1bW5Db3VudCgpKTsKICAgICBhdmFpbGFibGVTcGFjZUZvclJvd3Mg
LT0gZ3V0dGVyc1NpemUoRm9yUm93cywgZ3JpZFJvd0NvdW50KCkpOwogCi0gICAgR3JpZFNpemlu
Z0RhdGEgc2l6aW5nRGF0YShncmlkQ29sdW1uQ291bnQoKSwgZ3JpZFJvd0NvdW50KCkpOworICAg
IEdyaWRTaXppbmdEYXRhIHNpemluZ0RhdGEoZ3JpZENvbHVtbkNvdW50KCksIGdyaWRSb3dDb3Vu
dCgpLCBhdmFpbGFibGVTcGFjZUZvckNvbHVtbnMsIGF2YWlsYWJsZVNwYWNlRm9yUm93cyk7CiAg
ICAgY29tcHV0ZVVzZWRCcmVhZHRoT2ZHcmlkVHJhY2tzKEZvckNvbHVtbnMsIHNpemluZ0RhdGEs
IGF2YWlsYWJsZVNwYWNlRm9yQ29sdW1ucyk7CiAgICAgQVNTRVJUKHRyYWNrc0FyZVdpZGVyVGhh
bk1pblRyYWNrQnJlYWR0aChGb3JDb2x1bW5zLCBzaXppbmdEYXRhLmNvbHVtblRyYWNrcykpOwot
ICAgIGNvbXB1dGVVc2VkQnJlYWR0aE9mR3JpZFRyYWNrcyhGb3JSb3dzLCBzaXppbmdEYXRhLCBh
dmFpbGFibGVTcGFjZUZvclJvd3MpOworICAgIGNvbXB1dGVVc2VkQnJlYWR0aE9mR3JpZFRyYWNr
cyhGb3JSb3dzLCBzaXppbmdEYXRhKTsKICAgICBBU1NFUlQodHJhY2tzQXJlV2lkZXJUaGFuTWlu
VHJhY2tCcmVhZHRoKEZvclJvd3MsIHNpemluZ0RhdGEucm93VHJhY2tzKSk7CiAKLSAgICBhcHBs
eVN0cmV0Y2hBbGlnbm1lbnRUb1RyYWNrc0lmTmVlZGVkKEZvckNvbHVtbnMsIHNpemluZ0RhdGEs
IGF2YWlsYWJsZVNwYWNlRm9yQ29sdW1ucyk7Ci0gICAgYXBwbHlTdHJldGNoQWxpZ25tZW50VG9U
cmFja3NJZk5lZWRlZChGb3JSb3dzLCBzaXppbmdEYXRhLCBhdmFpbGFibGVTcGFjZUZvclJvd3Mp
OworICAgIGFwcGx5U3RyZXRjaEFsaWdubWVudFRvVHJhY2tzSWZOZWVkZWQoRm9yQ29sdW1ucywg
c2l6aW5nRGF0YSk7CisgICAgYXBwbHlTdHJldGNoQWxpZ25tZW50VG9UcmFja3NJZk5lZWRlZChG
b3JSb3dzLCBzaXppbmdEYXRhKTsKIAotICAgIHBvcHVsYXRlR3JpZFBvc2l0aW9ucyhzaXppbmdE
YXRhLCBhdmFpbGFibGVTcGFjZUZvckNvbHVtbnMsIGF2YWlsYWJsZVNwYWNlRm9yUm93cyk7Cisg
ICAgcG9wdWxhdGVHcmlkUG9zaXRpb25zKHNpemluZ0RhdGEpOwogCiAgICAgZm9yIChSZW5kZXJC
b3gqIGNoaWxkID0gZmlyc3RDaGlsZEJveCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4dFNp
YmxpbmdCb3goKSkgewogICAgICAgICAvLyBCZWNhdXNlIHRoZSBncmlkIGFyZWEgY2Fubm90IGJl
IHN0eWxlZCwgd2UgZG9uJ3QgbmVlZCB0byBhZGp1c3QKQEAgLTEzNzEsNyArMTM4MSw3IEBAIExh
eW91dFVuaXQgUmVuZGVyR3JpZDo6Z3JpZEFyZWFCcmVhZHRoRm9yQ2hpbGRJbmNsdWRpbmdBbGln
bm1lbnRPZmZzZXRzKGNvbnN0IFJlCiAgICAgcmV0dXJuIGZpbmFsVHJhY2tQb3NpdGlvbiAtIGlu
aXRpYWxUcmFja1Bvc2l0aW9uICsgdHJhY2tzW3NwYW4ucmVzb2x2ZWRGaW5hbFBvc2l0aW9uLnRv
SW50KCldLmJhc2VTaXplKCk7CiB9CiAKLXZvaWQgUmVuZGVyR3JpZDo6cG9wdWxhdGVHcmlkUG9z
aXRpb25zKEdyaWRTaXppbmdEYXRhJiBzaXppbmdEYXRhLCBMYXlvdXRVbml0IGF2YWlsYWJsZVNw
YWNlRm9yQ29sdW1ucywgTGF5b3V0VW5pdCBhdmFpbGFibGVTcGFjZUZvclJvd3MpCit2b2lkIFJl
bmRlckdyaWQ6OnBvcHVsYXRlR3JpZFBvc2l0aW9ucyhHcmlkU2l6aW5nRGF0YSYgc2l6aW5nRGF0
YSkKIHsKICAgICAvLyBTaW5jZSB3ZSBhZGQgYWxpZ25tZW50IG9mZnNldHMgYW5kIHRyYWNrIGd1
dHRlcnMsIGdyaWQgbGluZXMgYXJlIG5vdCBhbHdheXMgYWRqYWNlbnQuIEhlbmNlIHdlIHdpbGwg
aGF2ZSB0bwogICAgIC8vIGFzc3VtZSBmcm9tIG5vdyBvbiB0aGF0IHdlIGp1c3Qgc3RvcmUgcG9z
aXRpb25zIG9mIHRoZSBpbml0aWFsIGdyaWQgbGluZXMgb2YgZWFjaCB0cmFjaywKQEAgLTEzODMs
NyArMTM5Myw3IEBAIHZvaWQgUmVuZGVyR3JpZDo6cG9wdWxhdGVHcmlkUG9zaXRpb25zKEdyaWRT
aXppbmdEYXRhJiBzaXppbmdEYXRhLCBMYXlvdXRVbml0IGF2CiAgICAgdW5zaWduZWQgbnVtYmVy
T2ZMaW5lcyA9IG51bWJlck9mVHJhY2tzICsgMTsKICAgICB1bnNpZ25lZCBsYXN0TGluZSA9IG51
bWJlck9mTGluZXMgLSAxOwogICAgIHVuc2lnbmVkIG5leHRUb0xhc3RMaW5lID0gbnVtYmVyT2ZM
aW5lcyAtIDI7Ci0gICAgQ29udGVudEFsaWdubWVudERhdGEgb2Zmc2V0ID0gY29tcHV0ZUNvbnRl
bnRQb3NpdGlvbkFuZERpc3RyaWJ1dGlvbk9mZnNldChGb3JDb2x1bW5zLCBhdmFpbGFibGVTcGFj
ZUZvckNvbHVtbnMsIG51bWJlck9mVHJhY2tzKTsKKyAgICBDb250ZW50QWxpZ25tZW50RGF0YSBv
ZmZzZXQgPSBjb21wdXRlQ29udGVudFBvc2l0aW9uQW5kRGlzdHJpYnV0aW9uT2Zmc2V0KEZvckNv
bHVtbnMsIHNpemluZ0RhdGEuZnJlZVNwYWNlRm9yRGlyZWN0aW9uKEZvckNvbHVtbnMpLCBudW1i
ZXJPZlRyYWNrcyk7CiAgICAgTGF5b3V0VW5pdCB0cmFja0dhcCA9IGd1dHRlcnNTaXplKEZvckNv
bHVtbnMsIDIpOwogICAgIG1fY29sdW1uUG9zaXRpb25zLnJlc2l6ZShudW1iZXJPZkxpbmVzKTsK
ICAgICBtX2NvbHVtblBvc2l0aW9uc1swXSA9IGJvcmRlckFuZFBhZGRpbmdTdGFydCgpICsgb2Zm
c2V0LnBvc2l0aW9uT2Zmc2V0OwpAQCAtMTM5NSw3ICsxNDA1LDcgQEAgdm9pZCBSZW5kZXJHcmlk
Ojpwb3B1bGF0ZUdyaWRQb3NpdGlvbnMoR3JpZFNpemluZ0RhdGEmIHNpemluZ0RhdGEsIExheW91
dFVuaXQgYXYKICAgICBudW1iZXJPZkxpbmVzID0gbnVtYmVyT2ZUcmFja3MgKyAxOwogICAgIGxh
c3RMaW5lID0gbnVtYmVyT2ZMaW5lcyAtIDE7CiAgICAgbmV4dFRvTGFzdExpbmUgPSBudW1iZXJP
ZkxpbmVzIC0gMjsKLSAgICBvZmZzZXQgPSBjb21wdXRlQ29udGVudFBvc2l0aW9uQW5kRGlzdHJp
YnV0aW9uT2Zmc2V0KEZvclJvd3MsIGF2YWlsYWJsZVNwYWNlRm9yUm93cywgbnVtYmVyT2ZUcmFj
a3MpOworICAgIG9mZnNldCA9IGNvbXB1dGVDb250ZW50UG9zaXRpb25BbmREaXN0cmlidXRpb25P
ZmZzZXQoRm9yUm93cywgc2l6aW5nRGF0YS5mcmVlU3BhY2VGb3JEaXJlY3Rpb24oRm9yUm93cyks
IG51bWJlck9mVHJhY2tzKTsKICAgICB0cmFja0dhcCA9IGd1dHRlcnNTaXplKEZvclJvd3MsIDIp
OwogICAgIG1fcm93UG9zaXRpb25zLnJlc2l6ZShudW1iZXJPZkxpbmVzKTsKICAgICBtX3Jvd1Bv
c2l0aW9uc1swXSA9IGJvcmRlckFuZFBhZGRpbmdCZWZvcmUoKSArIG9mZnNldC5wb3NpdGlvbk9m
ZnNldDsKQEAgLTE3NTcsNyArMTc2Nyw3IEBAIHN0YXRpYyBpbmxpbmUgTGF5b3V0VW5pdCBvZmZz
ZXRUb0VuZEVkZ2UoYm9vbCBpc0xlZnRUb1JpZ2h0LCBMYXlvdXRVbml0IGF2YWlsYWJsCiAgICAg
cmV0dXJuICFpc0xlZnRUb1JpZ2h0ID8gTGF5b3V0VW5pdCgpIDogYXZhaWxhYmxlU3BhY2U7CiB9
CiAKLXN0YXRpYyBDb250ZW50QWxpZ25tZW50RGF0YSBjb250ZW50RGlzdHJpYnV0aW9uT2Zmc2V0
KExheW91dFVuaXQgYXZhaWxhYmxlRnJlZVNwYWNlLCBDb250ZW50UG9zaXRpb24mIGZhbGxiYWNr
UG9zaXRpb24sIENvbnRlbnREaXN0cmlidXRpb25UeXBlIGRpc3RyaWJ1dGlvbiwgdW5zaWduZWQg
bnVtYmVyT2ZHcmlkVHJhY2tzKQorc3RhdGljIENvbnRlbnRBbGlnbm1lbnREYXRhIGNvbnRlbnRE
aXN0cmlidXRpb25PZmZzZXQoY29uc3QgTGF5b3V0VW5pdCYgYXZhaWxhYmxlRnJlZVNwYWNlLCBD
b250ZW50UG9zaXRpb24mIGZhbGxiYWNrUG9zaXRpb24sIENvbnRlbnREaXN0cmlidXRpb25UeXBl
IGRpc3RyaWJ1dGlvbiwgdW5zaWduZWQgbnVtYmVyT2ZHcmlkVHJhY2tzKQogewogICAgIGlmIChk
aXN0cmlidXRpb24gIT0gQ29udGVudERpc3RyaWJ1dGlvbkRlZmF1bHQgJiYgZmFsbGJhY2tQb3Np
dGlvbiA9PSBDb250ZW50UG9zaXRpb25BdXRvKQogICAgICAgICBmYWxsYmFja1Bvc2l0aW9uID0g
cmVzb2x2ZUNvbnRlbnREaXN0cmlidXRpb25GYWxsYmFjayhkaXN0cmlidXRpb24pOwpAQCAtMTc4
OSw3ICsxNzk5LDcgQEAgc3RhdGljIENvbnRlbnRBbGlnbm1lbnREYXRhIGNvbnRlbnREaXN0cmli
dXRpb25PZmZzZXQoTGF5b3V0VW5pdCBhdmFpbGFibGVGcmVlU3AKICAgICByZXR1cm4gQ29udGVu
dEFsaWdubWVudERhdGE6OmRlZmF1bHRPZmZzZXRzKCk7CiB9CiAKLUNvbnRlbnRBbGlnbm1lbnRE
YXRhIFJlbmRlckdyaWQ6OmNvbXB1dGVDb250ZW50UG9zaXRpb25BbmREaXN0cmlidXRpb25PZmZz
ZXQoR3JpZFRyYWNrU2l6aW5nRGlyZWN0aW9uIGRpcmVjdGlvbiwgTGF5b3V0VW5pdCBhdmFpbGFi
bGVGcmVlU3BhY2UsIHVuc2lnbmVkIG51bWJlck9mR3JpZFRyYWNrcykgY29uc3QKK0NvbnRlbnRB
bGlnbm1lbnREYXRhIFJlbmRlckdyaWQ6OmNvbXB1dGVDb250ZW50UG9zaXRpb25BbmREaXN0cmli
dXRpb25PZmZzZXQoR3JpZFRyYWNrU2l6aW5nRGlyZWN0aW9uIGRpcmVjdGlvbiwgY29uc3QgTGF5
b3V0VW5pdCYgYXZhaWxhYmxlRnJlZVNwYWNlLCB1bnNpZ25lZCBudW1iZXJPZkdyaWRUcmFja3Mp
IGNvbnN0CiB7CiAgICAgYm9vbCBpc1Jvd0F4aXMgPSBkaXJlY3Rpb24gPT0gRm9yQ29sdW1uczsK
ICAgICBDb250ZW50UG9zaXRpb24gcG9zaXRpb24gPSBpc1Jvd0F4aXMgPyBzdHlsZSgpLnJlc29s
dmVkSnVzdGlmeUNvbnRlbnRQb3NpdGlvbigpIDogc3R5bGUoKS5yZXNvbHZlZEFsaWduQ29udGVu
dFBvc2l0aW9uKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
R3JpZC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuaAppbmRleCA1ZDNj
ZWZkMzE2N2Y5YTgwZTU3N2E1MDhlYzlhMjBkMjM5NWIwYjc5Li40ZmQ1YjhjODY3MTgwZTBiNTMy
YjNkNzc0YmFkYWU5ZmFiN2M4Yzc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyR3JpZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlk
LmgKQEAgLTY5LDcgKzY5LDcgQEAgcHJpdmF0ZToKIAogICAgIGNsYXNzIEdyaWRJdGVyYXRvcjsK
ICAgICBjbGFzcyBHcmlkU2l6aW5nRGF0YTsKLSAgICB2b2lkIGNvbXB1dGVVc2VkQnJlYWR0aE9m
R3JpZFRyYWNrcyhHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24sIEdyaWRTaXppbmdEYXRhJiwgTGF5
b3V0VW5pdCYgYXZhaWxhYmxlTG9naWNhbFNwYWNlKTsKKyAgICB2b2lkIGNvbXB1dGVVc2VkQnJl
YWR0aE9mR3JpZFRyYWNrcyhHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24sIEdyaWRTaXppbmdEYXRh
Jik7CiAgICAgYm9vbCBncmlkRWxlbWVudElzU2hyaW5rVG9GaXQoKTsKICAgICBMYXlvdXRVbml0
IGNvbXB1dGVVc2VkQnJlYWR0aE9mTWluTGVuZ3RoKEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbiwg
Y29uc3QgR3JpZExlbmd0aCYpIGNvbnN0OwogICAgIExheW91dFVuaXQgY29tcHV0ZVVzZWRCcmVh
ZHRoT2ZNYXhMZW5ndGgoR3JpZFRyYWNrU2l6aW5nRGlyZWN0aW9uLCBjb25zdCBHcmlkTGVuZ3Ro
JiwgTGF5b3V0VW5pdCB1c2VkQnJlYWR0aCkgY29uc3Q7CkBAIC04OSw3ICs4OSw3IEBAIHByaXZh
dGU6CiAgICAgR3JpZFRyYWNrU2l6aW5nRGlyZWN0aW9uIGF1dG9QbGFjZW1lbnRNaW5vckF4aXNE
aXJlY3Rpb24oKSBjb25zdDsKIAogICAgIHZvaWQgbGF5b3V0R3JpZEl0ZW1zKCk7Ci0gICAgdm9p
ZCBwb3B1bGF0ZUdyaWRQb3NpdGlvbnMoR3JpZFNpemluZ0RhdGEmLCBMYXlvdXRVbml0IGF2YWls
YWJsZVNwYWNlRm9yQ29sdW1ucywgTGF5b3V0VW5pdCBhdmFpbGFibGVTcGFjZUZvclJvd3MpOwor
ICAgIHZvaWQgcG9wdWxhdGVHcmlkUG9zaXRpb25zKEdyaWRTaXppbmdEYXRhJik7CiAgICAgdm9p
ZCBjbGVhckdyaWQoKTsKIAogICAgIGVudW0gVHJhY2tTaXplUmVzdHJpY3Rpb24gewpAQCAtMTMw
LDcgKzEzMCw3IEBAIHByaXZhdGU6CiAgICAgR3JpZEF4aXNQb3NpdGlvbiByb3dBeGlzUG9zaXRp
b25Gb3JDaGlsZChjb25zdCBSZW5kZXJCb3gmKSBjb25zdDsKICAgICBMYXlvdXRVbml0IGNvbHVt
bkF4aXNPZmZzZXRGb3JDaGlsZChjb25zdCBSZW5kZXJCb3gmKSBjb25zdDsKICAgICBMYXlvdXRV
bml0IHJvd0F4aXNPZmZzZXRGb3JDaGlsZChjb25zdCBSZW5kZXJCb3gmKSBjb25zdDsKLSAgICBD
b250ZW50QWxpZ25tZW50RGF0YSBjb21wdXRlQ29udGVudFBvc2l0aW9uQW5kRGlzdHJpYnV0aW9u
T2Zmc2V0KEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbiwgTGF5b3V0VW5pdCBhdmFpbGFibGVGcmVl
U3BhY2UsIHVuc2lnbmVkIG51bWJlck9mR3JpZFRyYWNrcykgY29uc3Q7CisgICAgQ29udGVudEFs
aWdubWVudERhdGEgY29tcHV0ZUNvbnRlbnRQb3NpdGlvbkFuZERpc3RyaWJ1dGlvbk9mZnNldChH
cmlkVHJhY2tTaXppbmdEaXJlY3Rpb24sIGNvbnN0IExheW91dFVuaXQmIGF2YWlsYWJsZUZyZWVT
cGFjZSwgdW5zaWduZWQgbnVtYmVyT2ZHcmlkVHJhY2tzKSBjb25zdDsKICAgICBMYXlvdXRQb2lu
dCBmaW5kQ2hpbGRMb2dpY2FsUG9zaXRpb24oY29uc3QgUmVuZGVyQm94JikgY29uc3Q7CiAgICAg
R3JpZENvb3JkaW5hdGUgY2FjaGVkR3JpZENvb3JkaW5hdGUoY29uc3QgUmVuZGVyQm94JikgY29u
c3Q7CiAKQEAgLTEzOCw3ICsxMzgsNyBAQCBwcml2YXRlOgogICAgIExheW91dFVuaXQgZ3JpZEFy
ZWFCcmVhZHRoRm9yQ2hpbGQoY29uc3QgUmVuZGVyQm94JiBjaGlsZCwgR3JpZFRyYWNrU2l6aW5n
RGlyZWN0aW9uLCBjb25zdCBWZWN0b3I8R3JpZFRyYWNrPiYpIGNvbnN0OwogICAgIExheW91dFVu
aXQgZ3JpZEFyZWFCcmVhZHRoRm9yQ2hpbGRJbmNsdWRpbmdBbGlnbm1lbnRPZmZzZXRzKGNvbnN0
IFJlbmRlckJveCYsIEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbiwgY29uc3QgR3JpZFNpemluZ0Rh
dGEmKSBjb25zdDsKIAotICAgIHZvaWQgYXBwbHlTdHJldGNoQWxpZ25tZW50VG9UcmFja3NJZk5l
ZWRlZChHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24sIEdyaWRTaXppbmdEYXRhJiwgTGF5b3V0VW5p
dCBhdmFpbGFibGVTcGFjZSk7CisgICAgdm9pZCBhcHBseVN0cmV0Y2hBbGlnbm1lbnRUb1RyYWNr
c0lmTmVlZGVkKEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbiwgR3JpZFNpemluZ0RhdGEmKTsKIAog
ICAgIHZpcnR1YWwgdm9pZCBwYWludENoaWxkcmVuKFBhaW50SW5mbyYgZm9yU2VsZiwgY29uc3Qg
TGF5b3V0UG9pbnQmIHBhaW50T2Zmc2V0LCBQYWludEluZm8mIGZvckNoaWxkLCBib29sIHVzZVBy
aW50UmVjdCkgb3ZlcnJpZGU7CiAgICAgYm9vbCBuZWVkVG9TdHJldGNoQ2hpbGRMb2dpY2FsSGVp
Z2h0KGNvbnN0IFJlbmRlckJveCYpIGNvbnN0Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>262688</attachid>
            <date>2015-10-08 05:20:45 -0700</date>
            <delta_ts>2015-10-08 08:39:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149876-20151008142011.patch</filename>
            <type>text/plain</type>
            <size>12787</size>
            <attacher name="Sergio Villar Senin">svillar</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkwNjY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDBlY2E2YzA0ZmZmOTAx
YTBkNWVlYmMzNzIyNmQzNzZhZGVlZGNlNy4uNDBlYjg5NmRkZWVlYzVkOWE2M2IzYmE3YjE0NTc2
ZmMzNjZlZGFkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDE1LTEwLTA3ICBTZXJn
aW8gVmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgorCisgICAgICAgIFtjc3MtZ3Jp
ZF0gSW5jbHVkZSBmcmVlU3BhY2UgaW4gR3JpZFNpemluZ0RhdGEgc3RydWN0CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDk4NzYKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEdXJpbmcgdGhlIGxheW91dCBw
cm9jZXNzIHdlIGtlZXAgdGhlIGZyZWUgc3BhY2UgZm9yIHJvd3MgYW5kCisgICAgICAgIGNvbHVt
bnMgaW4gdHdvIHZhcmlhYmxlcyB0aGF0IGFyZSBwYXNzZWQgdG8gYSBmZXcgbWV0aG9kcworICAg
ICAgICBhbG9uZyB3aXRoIHRoZSBHcmlkU2l6aW5nRGF0YSBzdHJ1Y3QuIFRob3NlIHR3byB2YXJp
YWJsZXMKKyAgICAgICAgc2hvdWxkIGNsZWFybHkgYmUgcGFydCBvZiBHcmlkU2l6aW5nRGF0YSBh
cyB0aGV5J3JlIHRlbXBvcmFyeQorICAgICAgICB2YWx1ZXMgdXNlZCBqdXN0IGZvciB0aGUgc2Fr
ZSBvZiB0aGUgbGF5b3V0LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyByZXF1aXJlZCBhcyB0aGlz
IGlzIGp1c3QgYSByZWZhY3RvcmluZy4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJHcmlk
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckdyaWQ6OkdyaWRTaXppbmdEYXRhOjpHcmlk
U2l6aW5nRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJHcmlkOjpHcmlkU2l6aW5nRGF0
YTo6ZnJlZVNwYWNlRm9yRGlyZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckdyaWQ6
OmNvbXB1dGVJbnRyaW5zaWNMb2dpY2FsV2lkdGhzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckdyaWQ6OmNvbXB1dGVVc2VkQnJlYWR0aE9mR3JpZFRyYWNrcyk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJHcmlkOjphcHBseVN0cmV0Y2hBbGlnbm1lbnRUb1RyYWNrc0lmTmVlZGVkKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckdyaWQ6OmxheW91dEdyaWRJdGVtcyk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJHcmlkOjpwb3B1bGF0ZUdyaWRQb3NpdGlvbnMpOgorICAgICAgICAoV2Vi
Q29yZTo6Y29udGVudERpc3RyaWJ1dGlvbk9mZnNldCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJHcmlkOjpjb21wdXRlQ29udGVudFBvc2l0aW9uQW5kRGlzdHJpYnV0aW9uT2Zmc2V0KToKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyR3JpZC5oOgorCiAyMDE1LTEwLTA2ICBTaW1vbiBGcmFz
ZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIHdpbGwtY2hhbmdlIHNob3Vs
ZCB0cmlnZ2VyIHN0YWNraW5nIGNvbnRleHQgYmFzZWQgcHVyZWx5IG9uIHByb3BlcnRpZXMKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcAppbmRleCAzMWMwZDAwZjIxYjkzYWM0
NDU5YzYzZjAzOTI5NjY4MGZkMjFiNzM2Li4yN2QyYjIwNTIwZThhNjFiNDA4NmNkMjAxMzRkY2Q1
MTQ2MmY2MjA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3Jp
ZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwCkBAIC0y
MTEsOSArMjExLDExIEBAIHByaXZhdGU6CiBjbGFzcyBSZW5kZXJHcmlkOjpHcmlkU2l6aW5nRGF0
YSB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR3JpZFNpemluZ0RhdGEpOwogcHVibGljOgot
ICAgIEdyaWRTaXppbmdEYXRhKHVuc2lnbmVkIGdyaWRDb2x1bW5Db3VudCwgdW5zaWduZWQgZ3Jp
ZFJvd0NvdW50KQorICAgIEdyaWRTaXppbmdEYXRhKHVuc2lnbmVkIGdyaWRDb2x1bW5Db3VudCwg
dW5zaWduZWQgZ3JpZFJvd0NvdW50LCBMYXlvdXRVbml0IGZyZWVTcGFjZUZvckNvbHVtbnMsIExh
eW91dFVuaXQgZnJlZVNwYWNlRm9yUm93cykKICAgICAgICAgOiBjb2x1bW5UcmFja3MoZ3JpZENv
bHVtbkNvdW50KQogICAgICAgICAsIHJvd1RyYWNrcyhncmlkUm93Q291bnQpCisgICAgICAgICwg
ZnJlZVNwYWNlRm9yQ29sdW1ucyhmcmVlU3BhY2VGb3JDb2x1bW5zKQorICAgICAgICAsIGZyZWVT
cGFjZUZvclJvd3MoZnJlZVNwYWNlRm9yUm93cykKICAgICB7CiAgICAgfQogCkBAIC0yMjUsNiAr
MjI3LDEyIEBAIHB1YmxpYzoKICAgICBWZWN0b3I8R3JpZFRyYWNrKj4gZmlsdGVyZWRUcmFja3M7
CiAgICAgVmVjdG9yPEdyaWRUcmFjayo+IGdyb3dCZXlvbmRHcm93dGhMaW1pdHNUcmFja3M7CiAg
ICAgVmVjdG9yPEdyaWRJdGVtV2l0aFNwYW4+IGl0ZW1zU29ydGVkQnlJbmNyZWFzaW5nU3BhbjsK
KworICAgIExheW91dFVuaXQmIGZyZWVTcGFjZUZvckRpcmVjdGlvbihHcmlkVHJhY2tTaXppbmdE
aXJlY3Rpb24gZGlyZWN0aW9uKSB7IHJldHVybiBkaXJlY3Rpb24gPT0gRm9yQ29sdW1ucyA/IGZy
ZWVTcGFjZUZvckNvbHVtbnMgOiBmcmVlU3BhY2VGb3JSb3dzOyB9CisKK3ByaXZhdGU6CisgICAg
TGF5b3V0VW5pdCBmcmVlU3BhY2VGb3JDb2x1bW5zOworICAgIExheW91dFVuaXQgZnJlZVNwYWNl
Rm9yUm93czsKIH07CiAKIFJlbmRlckdyaWQ6OlJlbmRlckdyaWQoRWxlbWVudCYgZWxlbWVudCwg
UmVmPFJlbmRlclN0eWxlPiYmIHN0eWxlKQpAQCAtMzQ2LDkgKzM1NCw4IEBAIHZvaWQgUmVuZGVy
R3JpZDo6Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMoTGF5b3V0VW5pdCYgbWluTG9naWNh
bFdpZHRoLCBMYXlvCiAgICAgaWYgKCF3YXNQb3B1bGF0ZWQpCiAgICAgICAgIGNvbnN0X2Nhc3Q8
UmVuZGVyR3JpZCo+KHRoaXMpLT5wbGFjZUl0ZW1zT25HcmlkKCk7CiAKLSAgICBHcmlkU2l6aW5n
RGF0YSBzaXppbmdEYXRhKGdyaWRDb2x1bW5Db3VudCgpLCBncmlkUm93Q291bnQoKSk7Ci0gICAg
TGF5b3V0VW5pdCBhdmFpbGFibGVMb2dpY2FsU3BhY2UgPSAwOwotICAgIGNvbnN0X2Nhc3Q8UmVu
ZGVyR3JpZCo+KHRoaXMpLT5jb21wdXRlVXNlZEJyZWFkdGhPZkdyaWRUcmFja3MoRm9yQ29sdW1u
cywgc2l6aW5nRGF0YSwgYXZhaWxhYmxlTG9naWNhbFNwYWNlKTsKKyAgICBHcmlkU2l6aW5nRGF0
YSBzaXppbmdEYXRhKGdyaWRDb2x1bW5Db3VudCgpLCBncmlkUm93Q291bnQoKSwgMCwgMCk7Cisg
ICAgY29uc3RfY2FzdDxSZW5kZXJHcmlkKj4odGhpcyktPmNvbXB1dGVVc2VkQnJlYWR0aE9mR3Jp
ZFRyYWNrcyhGb3JDb2x1bW5zLCBzaXppbmdEYXRhKTsKIAogICAgIGZvciAoYXV0byYgY29sdW1u
IDogc2l6aW5nRGF0YS5jb2x1bW5UcmFja3MpIHsKICAgICAgICAgTGF5b3V0VW5pdCBtaW5UcmFj
a0JyZWFkdGggPSBjb2x1bW4uYmFzZVNpemUoKTsKQEAgLTM4MCw4ICszODcsOSBAQCBzdGF0aWMg
aW5saW5lIGRvdWJsZSBub3JtYWxpemVkRmxleEZyYWN0aW9uKGNvbnN0IEdyaWRUcmFjayYgdHJh
Y2ssIGRvdWJsZSBmbGV4RgogICAgIHJldHVybiB0cmFjay5iYXNlU2l6ZSgpIC8gc3RkOjptYXg8
ZG91YmxlPigxLCBmbGV4RmFjdG9yKTsKIH0KIAotdm9pZCBSZW5kZXJHcmlkOjpjb21wdXRlVXNl
ZEJyZWFkdGhPZkdyaWRUcmFja3MoR3JpZFRyYWNrU2l6aW5nRGlyZWN0aW9uIGRpcmVjdGlvbiwg
R3JpZFNpemluZ0RhdGEmIHNpemluZ0RhdGEsIExheW91dFVuaXQmIGF2YWlsYWJsZUxvZ2ljYWxT
cGFjZSkKK3ZvaWQgUmVuZGVyR3JpZDo6Y29tcHV0ZVVzZWRCcmVhZHRoT2ZHcmlkVHJhY2tzKEdy
aWRUcmFja1NpemluZ0RpcmVjdGlvbiBkaXJlY3Rpb24sIEdyaWRTaXppbmdEYXRhJiBzaXppbmdE
YXRhKQogeworICAgIExheW91dFVuaXQmIGF2YWlsYWJsZUxvZ2ljYWxTcGFjZSA9IHNpemluZ0Rh
dGEuZnJlZVNwYWNlRm9yRGlyZWN0aW9uKGRpcmVjdGlvbik7CiAgICAgY29uc3QgTGF5b3V0VW5p
dCBpbml0aWFsQXZhaWxhYmxlTG9naWNhbFNwYWNlID0gYXZhaWxhYmxlTG9naWNhbFNwYWNlOwog
ICAgIFZlY3RvcjxHcmlkVHJhY2s+JiB0cmFja3MgPSAoZGlyZWN0aW9uID09IEZvckNvbHVtbnMp
ID8gc2l6aW5nRGF0YS5jb2x1bW5UcmFja3MgOiBzaXppbmdEYXRhLnJvd1RyYWNrczsKICAgICBW
ZWN0b3I8dW5zaWduZWQ+IGZsZXhpYmxlU2l6ZWRUcmFja3NJbmRleDsKQEAgLTEyMzIsOCArMTI0
MCw5IEBAIHZvaWQgUmVuZGVyR3JpZDo6Y2xlYXJHcmlkKCkKICAgICBtX2dyaWRJdGVtQ29vcmRp
bmF0ZS5jbGVhcigpOwogfQogCi12b2lkIFJlbmRlckdyaWQ6OmFwcGx5U3RyZXRjaEFsaWdubWVu
dFRvVHJhY2tzSWZOZWVkZWQoR3JpZFRyYWNrU2l6aW5nRGlyZWN0aW9uIGRpcmVjdGlvbiwgR3Jp
ZFNpemluZ0RhdGEmIHNpemluZ0RhdGEsIExheW91dFVuaXQgYXZhaWxhYmxlU3BhY2UpCit2b2lk
IFJlbmRlckdyaWQ6OmFwcGx5U3RyZXRjaEFsaWdubWVudFRvVHJhY2tzSWZOZWVkZWQoR3JpZFRy
YWNrU2l6aW5nRGlyZWN0aW9uIGRpcmVjdGlvbiwgR3JpZFNpemluZ0RhdGEmIHNpemluZ0RhdGEp
CiB7CisgICAgTGF5b3V0VW5pdCYgYXZhaWxhYmxlU3BhY2UgPSBzaXppbmdEYXRhLmZyZWVTcGFj
ZUZvckRpcmVjdGlvbihkaXJlY3Rpb24pOwogICAgIGlmIChhdmFpbGFibGVTcGFjZSA8PSAwCiAg
ICAgICAgIHx8IChkaXJlY3Rpb24gPT0gRm9yQ29sdW1ucyAmJiBzdHlsZSgpLnJlc29sdmVkSnVz
dGlmeUNvbnRlbnREaXN0cmlidXRpb24oKSAhPSBDb250ZW50RGlzdHJpYnV0aW9uU3RyZXRjaCkK
ICAgICAgICAgfHwgKGRpcmVjdGlvbiA9PSBGb3JSb3dzICYmIHN0eWxlKCkucmVzb2x2ZWRBbGln
bkNvbnRlbnREaXN0cmlidXRpb24oKSAhPSBDb250ZW50RGlzdHJpYnV0aW9uU3RyZXRjaCkpCkBA
IC0xMjU3LDYgKzEyNjYsNyBAQCB2b2lkIFJlbmRlckdyaWQ6OmFwcGx5U3RyZXRjaEFsaWdubWVu
dFRvVHJhY2tzSWZOZWVkZWQoR3JpZFRyYWNrU2l6aW5nRGlyZWN0aW9uCiAgICAgICAgIGF1dG8m
IHRyYWNrID0gdHJhY2tzW3RyYWNrSW5kZXhdOwogICAgICAgICB0cmFjay5zZXRCYXNlU2l6ZSh0
cmFjay5iYXNlU2l6ZSgpICsgc2l6ZVRvSW5jcmVhc2UpOwogICAgIH0KKyAgICBhdmFpbGFibGVT
cGFjZSA9IDA7CiB9CiAKIHZvaWQgUmVuZGVyR3JpZDo6bGF5b3V0R3JpZEl0ZW1zKCkKQEAgLTEy
NzAsMTYgKzEyODAsMTYgQEAgdm9pZCBSZW5kZXJHcmlkOjpsYXlvdXRHcmlkSXRlbXMoKQogICAg
IGF2YWlsYWJsZVNwYWNlRm9yQ29sdW1ucyAtPSBndXR0ZXJzU2l6ZShGb3JDb2x1bW5zLCBncmlk
Q29sdW1uQ291bnQoKSk7CiAgICAgYXZhaWxhYmxlU3BhY2VGb3JSb3dzIC09IGd1dHRlcnNTaXpl
KEZvclJvd3MsIGdyaWRSb3dDb3VudCgpKTsKIAotICAgIEdyaWRTaXppbmdEYXRhIHNpemluZ0Rh
dGEoZ3JpZENvbHVtbkNvdW50KCksIGdyaWRSb3dDb3VudCgpKTsKLSAgICBjb21wdXRlVXNlZEJy
ZWFkdGhPZkdyaWRUcmFja3MoRm9yQ29sdW1ucywgc2l6aW5nRGF0YSwgYXZhaWxhYmxlU3BhY2VG
b3JDb2x1bW5zKTsKKyAgICBHcmlkU2l6aW5nRGF0YSBzaXppbmdEYXRhKGdyaWRDb2x1bW5Db3Vu
dCgpLCBncmlkUm93Q291bnQoKSwgYXZhaWxhYmxlU3BhY2VGb3JDb2x1bW5zLCBhdmFpbGFibGVT
cGFjZUZvclJvd3MpOworICAgIGNvbXB1dGVVc2VkQnJlYWR0aE9mR3JpZFRyYWNrcyhGb3JDb2x1
bW5zLCBzaXppbmdEYXRhKTsKICAgICBBU1NFUlQodHJhY2tzQXJlV2lkZXJUaGFuTWluVHJhY2tC
cmVhZHRoKEZvckNvbHVtbnMsIHNpemluZ0RhdGEuY29sdW1uVHJhY2tzKSk7Ci0gICAgY29tcHV0
ZVVzZWRCcmVhZHRoT2ZHcmlkVHJhY2tzKEZvclJvd3MsIHNpemluZ0RhdGEsIGF2YWlsYWJsZVNw
YWNlRm9yUm93cyk7CisgICAgY29tcHV0ZVVzZWRCcmVhZHRoT2ZHcmlkVHJhY2tzKEZvclJvd3Ms
IHNpemluZ0RhdGEpOwogICAgIEFTU0VSVCh0cmFja3NBcmVXaWRlclRoYW5NaW5UcmFja0JyZWFk
dGgoRm9yUm93cywgc2l6aW5nRGF0YS5yb3dUcmFja3MpKTsKIAotICAgIGFwcGx5U3RyZXRjaEFs
aWdubWVudFRvVHJhY2tzSWZOZWVkZWQoRm9yQ29sdW1ucywgc2l6aW5nRGF0YSwgYXZhaWxhYmxl
U3BhY2VGb3JDb2x1bW5zKTsKLSAgICBhcHBseVN0cmV0Y2hBbGlnbm1lbnRUb1RyYWNrc0lmTmVl
ZGVkKEZvclJvd3MsIHNpemluZ0RhdGEsIGF2YWlsYWJsZVNwYWNlRm9yUm93cyk7CisgICAgYXBw
bHlTdHJldGNoQWxpZ25tZW50VG9UcmFja3NJZk5lZWRlZChGb3JDb2x1bW5zLCBzaXppbmdEYXRh
KTsKKyAgICBhcHBseVN0cmV0Y2hBbGlnbm1lbnRUb1RyYWNrc0lmTmVlZGVkKEZvclJvd3MsIHNp
emluZ0RhdGEpOwogCi0gICAgcG9wdWxhdGVHcmlkUG9zaXRpb25zKHNpemluZ0RhdGEsIGF2YWls
YWJsZVNwYWNlRm9yQ29sdW1ucywgYXZhaWxhYmxlU3BhY2VGb3JSb3dzKTsKKyAgICBwb3B1bGF0
ZUdyaWRQb3NpdGlvbnMoc2l6aW5nRGF0YSk7CiAKICAgICBmb3IgKFJlbmRlckJveCogY2hpbGQg
PSBmaXJzdENoaWxkQm94KCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT5uZXh0U2libGluZ0JveCgp
KSB7CiAgICAgICAgIC8vIEJlY2F1c2UgdGhlIGdyaWQgYXJlYSBjYW5ub3QgYmUgc3R5bGVkLCB3
ZSBkb24ndCBuZWVkIHRvIGFkanVzdApAQCAtMTM3MSw3ICsxMzgxLDcgQEAgTGF5b3V0VW5pdCBS
ZW5kZXJHcmlkOjpncmlkQXJlYUJyZWFkdGhGb3JDaGlsZEluY2x1ZGluZ0FsaWdubWVudE9mZnNl
dHMoY29uc3QgUmUKICAgICByZXR1cm4gZmluYWxUcmFja1Bvc2l0aW9uIC0gaW5pdGlhbFRyYWNr
UG9zaXRpb24gKyB0cmFja3Nbc3Bhbi5yZXNvbHZlZEZpbmFsUG9zaXRpb24udG9JbnQoKV0uYmFz
ZVNpemUoKTsKIH0KIAotdm9pZCBSZW5kZXJHcmlkOjpwb3B1bGF0ZUdyaWRQb3NpdGlvbnMoR3Jp
ZFNpemluZ0RhdGEmIHNpemluZ0RhdGEsIExheW91dFVuaXQgYXZhaWxhYmxlU3BhY2VGb3JDb2x1
bW5zLCBMYXlvdXRVbml0IGF2YWlsYWJsZVNwYWNlRm9yUm93cykKK3ZvaWQgUmVuZGVyR3JpZDo6
cG9wdWxhdGVHcmlkUG9zaXRpb25zKEdyaWRTaXppbmdEYXRhJiBzaXppbmdEYXRhKQogewogICAg
IC8vIFNpbmNlIHdlIGFkZCBhbGlnbm1lbnQgb2Zmc2V0cyBhbmQgdHJhY2sgZ3V0dGVycywgZ3Jp
ZCBsaW5lcyBhcmUgbm90IGFsd2F5cyBhZGphY2VudC4gSGVuY2Ugd2Ugd2lsbCBoYXZlIHRvCiAg
ICAgLy8gYXNzdW1lIGZyb20gbm93IG9uIHRoYXQgd2UganVzdCBzdG9yZSBwb3NpdGlvbnMgb2Yg
dGhlIGluaXRpYWwgZ3JpZCBsaW5lcyBvZiBlYWNoIHRyYWNrLApAQCAtMTM4Myw3ICsxMzkzLDcg
QEAgdm9pZCBSZW5kZXJHcmlkOjpwb3B1bGF0ZUdyaWRQb3NpdGlvbnMoR3JpZFNpemluZ0RhdGEm
IHNpemluZ0RhdGEsIExheW91dFVuaXQgYXYKICAgICB1bnNpZ25lZCBudW1iZXJPZkxpbmVzID0g
bnVtYmVyT2ZUcmFja3MgKyAxOwogICAgIHVuc2lnbmVkIGxhc3RMaW5lID0gbnVtYmVyT2ZMaW5l
cyAtIDE7CiAgICAgdW5zaWduZWQgbmV4dFRvTGFzdExpbmUgPSBudW1iZXJPZkxpbmVzIC0gMjsK
LSAgICBDb250ZW50QWxpZ25tZW50RGF0YSBvZmZzZXQgPSBjb21wdXRlQ29udGVudFBvc2l0aW9u
QW5kRGlzdHJpYnV0aW9uT2Zmc2V0KEZvckNvbHVtbnMsIGF2YWlsYWJsZVNwYWNlRm9yQ29sdW1u
cywgbnVtYmVyT2ZUcmFja3MpOworICAgIENvbnRlbnRBbGlnbm1lbnREYXRhIG9mZnNldCA9IGNv
bXB1dGVDb250ZW50UG9zaXRpb25BbmREaXN0cmlidXRpb25PZmZzZXQoRm9yQ29sdW1ucywgc2l6
aW5nRGF0YS5mcmVlU3BhY2VGb3JEaXJlY3Rpb24oRm9yQ29sdW1ucyksIG51bWJlck9mVHJhY2tz
KTsKICAgICBMYXlvdXRVbml0IHRyYWNrR2FwID0gZ3V0dGVyc1NpemUoRm9yQ29sdW1ucywgMik7
CiAgICAgbV9jb2x1bW5Qb3NpdGlvbnMucmVzaXplKG51bWJlck9mTGluZXMpOwogICAgIG1fY29s
dW1uUG9zaXRpb25zWzBdID0gYm9yZGVyQW5kUGFkZGluZ1N0YXJ0KCkgKyBvZmZzZXQucG9zaXRp
b25PZmZzZXQ7CkBAIC0xMzk1LDcgKzE0MDUsNyBAQCB2b2lkIFJlbmRlckdyaWQ6OnBvcHVsYXRl
R3JpZFBvc2l0aW9ucyhHcmlkU2l6aW5nRGF0YSYgc2l6aW5nRGF0YSwgTGF5b3V0VW5pdCBhdgog
ICAgIG51bWJlck9mTGluZXMgPSBudW1iZXJPZlRyYWNrcyArIDE7CiAgICAgbGFzdExpbmUgPSBu
dW1iZXJPZkxpbmVzIC0gMTsKICAgICBuZXh0VG9MYXN0TGluZSA9IG51bWJlck9mTGluZXMgLSAy
OwotICAgIG9mZnNldCA9IGNvbXB1dGVDb250ZW50UG9zaXRpb25BbmREaXN0cmlidXRpb25PZmZz
ZXQoRm9yUm93cywgYXZhaWxhYmxlU3BhY2VGb3JSb3dzLCBudW1iZXJPZlRyYWNrcyk7CisgICAg
b2Zmc2V0ID0gY29tcHV0ZUNvbnRlbnRQb3NpdGlvbkFuZERpc3RyaWJ1dGlvbk9mZnNldChGb3JS
b3dzLCBzaXppbmdEYXRhLmZyZWVTcGFjZUZvckRpcmVjdGlvbihGb3JSb3dzKSwgbnVtYmVyT2ZU
cmFja3MpOwogICAgIHRyYWNrR2FwID0gZ3V0dGVyc1NpemUoRm9yUm93cywgMik7CiAgICAgbV9y
b3dQb3NpdGlvbnMucmVzaXplKG51bWJlck9mTGluZXMpOwogICAgIG1fcm93UG9zaXRpb25zWzBd
ID0gYm9yZGVyQW5kUGFkZGluZ0JlZm9yZSgpICsgb2Zmc2V0LnBvc2l0aW9uT2Zmc2V0OwpAQCAt
MTc1Nyw3ICsxNzY3LDcgQEAgc3RhdGljIGlubGluZSBMYXlvdXRVbml0IG9mZnNldFRvRW5kRWRn
ZShib29sIGlzTGVmdFRvUmlnaHQsIExheW91dFVuaXQgYXZhaWxhYmwKICAgICByZXR1cm4gIWlz
TGVmdFRvUmlnaHQgPyBMYXlvdXRVbml0KCkgOiBhdmFpbGFibGVTcGFjZTsKIH0KIAotc3RhdGlj
IENvbnRlbnRBbGlnbm1lbnREYXRhIGNvbnRlbnREaXN0cmlidXRpb25PZmZzZXQoTGF5b3V0VW5p
dCBhdmFpbGFibGVGcmVlU3BhY2UsIENvbnRlbnRQb3NpdGlvbiYgZmFsbGJhY2tQb3NpdGlvbiwg
Q29udGVudERpc3RyaWJ1dGlvblR5cGUgZGlzdHJpYnV0aW9uLCB1bnNpZ25lZCBudW1iZXJPZkdy
aWRUcmFja3MpCitzdGF0aWMgQ29udGVudEFsaWdubWVudERhdGEgY29udGVudERpc3RyaWJ1dGlv
bk9mZnNldChjb25zdCBMYXlvdXRVbml0JiBhdmFpbGFibGVGcmVlU3BhY2UsIENvbnRlbnRQb3Np
dGlvbiYgZmFsbGJhY2tQb3NpdGlvbiwgQ29udGVudERpc3RyaWJ1dGlvblR5cGUgZGlzdHJpYnV0
aW9uLCB1bnNpZ25lZCBudW1iZXJPZkdyaWRUcmFja3MpCiB7CiAgICAgaWYgKGRpc3RyaWJ1dGlv
biAhPSBDb250ZW50RGlzdHJpYnV0aW9uRGVmYXVsdCAmJiBmYWxsYmFja1Bvc2l0aW9uID09IENv
bnRlbnRQb3NpdGlvbkF1dG8pCiAgICAgICAgIGZhbGxiYWNrUG9zaXRpb24gPSByZXNvbHZlQ29u
dGVudERpc3RyaWJ1dGlvbkZhbGxiYWNrKGRpc3RyaWJ1dGlvbik7CkBAIC0xNzg5LDcgKzE3OTks
NyBAQCBzdGF0aWMgQ29udGVudEFsaWdubWVudERhdGEgY29udGVudERpc3RyaWJ1dGlvbk9mZnNl
dChMYXlvdXRVbml0IGF2YWlsYWJsZUZyZWVTcAogICAgIHJldHVybiBDb250ZW50QWxpZ25tZW50
RGF0YTo6ZGVmYXVsdE9mZnNldHMoKTsKIH0KIAotQ29udGVudEFsaWdubWVudERhdGEgUmVuZGVy
R3JpZDo6Y29tcHV0ZUNvbnRlbnRQb3NpdGlvbkFuZERpc3RyaWJ1dGlvbk9mZnNldChHcmlkVHJh
Y2tTaXppbmdEaXJlY3Rpb24gZGlyZWN0aW9uLCBMYXlvdXRVbml0IGF2YWlsYWJsZUZyZWVTcGFj
ZSwgdW5zaWduZWQgbnVtYmVyT2ZHcmlkVHJhY2tzKSBjb25zdAorQ29udGVudEFsaWdubWVudERh
dGEgUmVuZGVyR3JpZDo6Y29tcHV0ZUNvbnRlbnRQb3NpdGlvbkFuZERpc3RyaWJ1dGlvbk9mZnNl
dChHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24gZGlyZWN0aW9uLCBjb25zdCBMYXlvdXRVbml0JiBh
dmFpbGFibGVGcmVlU3BhY2UsIHVuc2lnbmVkIG51bWJlck9mR3JpZFRyYWNrcykgY29uc3QKIHsK
ICAgICBib29sIGlzUm93QXhpcyA9IGRpcmVjdGlvbiA9PSBGb3JDb2x1bW5zOwogICAgIENvbnRl
bnRQb3NpdGlvbiBwb3NpdGlvbiA9IGlzUm93QXhpcyA/IHN0eWxlKCkucmVzb2x2ZWRKdXN0aWZ5
Q29udGVudFBvc2l0aW9uKCkgOiBzdHlsZSgpLnJlc29sdmVkQWxpZ25Db250ZW50UG9zaXRpb24o
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5oCmluZGV4IDVkM2NlZmQzMTY3Zjlh
ODBlNTc3YTUwOGVjOWEyMGQyMzk1YjBiNzkuLjRmZDViOGM4NjcxODBlMGI1MzJiM2Q3NzRiYWRh
ZTlmYWI3YzhjNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJH
cmlkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuaApAQCAtNjks
NyArNjksNyBAQCBwcml2YXRlOgogCiAgICAgY2xhc3MgR3JpZEl0ZXJhdG9yOwogICAgIGNsYXNz
IEdyaWRTaXppbmdEYXRhOwotICAgIHZvaWQgY29tcHV0ZVVzZWRCcmVhZHRoT2ZHcmlkVHJhY2tz
KEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbiwgR3JpZFNpemluZ0RhdGEmLCBMYXlvdXRVbml0JiBh
dmFpbGFibGVMb2dpY2FsU3BhY2UpOworICAgIHZvaWQgY29tcHV0ZVVzZWRCcmVhZHRoT2ZHcmlk
VHJhY2tzKEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbiwgR3JpZFNpemluZ0RhdGEmKTsKICAgICBi
b29sIGdyaWRFbGVtZW50SXNTaHJpbmtUb0ZpdCgpOwogICAgIExheW91dFVuaXQgY29tcHV0ZVVz
ZWRCcmVhZHRoT2ZNaW5MZW5ndGgoR3JpZFRyYWNrU2l6aW5nRGlyZWN0aW9uLCBjb25zdCBHcmlk
TGVuZ3RoJikgY29uc3Q7CiAgICAgTGF5b3V0VW5pdCBjb21wdXRlVXNlZEJyZWFkdGhPZk1heExl
bmd0aChHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24sIGNvbnN0IEdyaWRMZW5ndGgmLCBMYXlvdXRV
bml0IHVzZWRCcmVhZHRoKSBjb25zdDsKQEAgLTg5LDcgKzg5LDcgQEAgcHJpdmF0ZToKICAgICBH
cmlkVHJhY2tTaXppbmdEaXJlY3Rpb24gYXV0b1BsYWNlbWVudE1pbm9yQXhpc0RpcmVjdGlvbigp
IGNvbnN0OwogCiAgICAgdm9pZCBsYXlvdXRHcmlkSXRlbXMoKTsKLSAgICB2b2lkIHBvcHVsYXRl
R3JpZFBvc2l0aW9ucyhHcmlkU2l6aW5nRGF0YSYsIExheW91dFVuaXQgYXZhaWxhYmxlU3BhY2VG
b3JDb2x1bW5zLCBMYXlvdXRVbml0IGF2YWlsYWJsZVNwYWNlRm9yUm93cyk7CisgICAgdm9pZCBw
b3B1bGF0ZUdyaWRQb3NpdGlvbnMoR3JpZFNpemluZ0RhdGEmKTsKICAgICB2b2lkIGNsZWFyR3Jp
ZCgpOwogCiAgICAgZW51bSBUcmFja1NpemVSZXN0cmljdGlvbiB7CkBAIC0xMzAsNyArMTMwLDcg
QEAgcHJpdmF0ZToKICAgICBHcmlkQXhpc1Bvc2l0aW9uIHJvd0F4aXNQb3NpdGlvbkZvckNoaWxk
KGNvbnN0IFJlbmRlckJveCYpIGNvbnN0OwogICAgIExheW91dFVuaXQgY29sdW1uQXhpc09mZnNl
dEZvckNoaWxkKGNvbnN0IFJlbmRlckJveCYpIGNvbnN0OwogICAgIExheW91dFVuaXQgcm93QXhp
c09mZnNldEZvckNoaWxkKGNvbnN0IFJlbmRlckJveCYpIGNvbnN0OwotICAgIENvbnRlbnRBbGln
bm1lbnREYXRhIGNvbXB1dGVDb250ZW50UG9zaXRpb25BbmREaXN0cmlidXRpb25PZmZzZXQoR3Jp
ZFRyYWNrU2l6aW5nRGlyZWN0aW9uLCBMYXlvdXRVbml0IGF2YWlsYWJsZUZyZWVTcGFjZSwgdW5z
aWduZWQgbnVtYmVyT2ZHcmlkVHJhY2tzKSBjb25zdDsKKyAgICBDb250ZW50QWxpZ25tZW50RGF0
YSBjb21wdXRlQ29udGVudFBvc2l0aW9uQW5kRGlzdHJpYnV0aW9uT2Zmc2V0KEdyaWRUcmFja1Np
emluZ0RpcmVjdGlvbiwgY29uc3QgTGF5b3V0VW5pdCYgYXZhaWxhYmxlRnJlZVNwYWNlLCB1bnNp
Z25lZCBudW1iZXJPZkdyaWRUcmFja3MpIGNvbnN0OwogICAgIExheW91dFBvaW50IGZpbmRDaGls
ZExvZ2ljYWxQb3NpdGlvbihjb25zdCBSZW5kZXJCb3gmKSBjb25zdDsKICAgICBHcmlkQ29vcmRp
bmF0ZSBjYWNoZWRHcmlkQ29vcmRpbmF0ZShjb25zdCBSZW5kZXJCb3gmKSBjb25zdDsKIApAQCAt
MTM4LDcgKzEzOCw3IEBAIHByaXZhdGU6CiAgICAgTGF5b3V0VW5pdCBncmlkQXJlYUJyZWFkdGhG
b3JDaGlsZChjb25zdCBSZW5kZXJCb3gmIGNoaWxkLCBHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24s
IGNvbnN0IFZlY3RvcjxHcmlkVHJhY2s+JikgY29uc3Q7CiAgICAgTGF5b3V0VW5pdCBncmlkQXJl
YUJyZWFkdGhGb3JDaGlsZEluY2x1ZGluZ0FsaWdubWVudE9mZnNldHMoY29uc3QgUmVuZGVyQm94
JiwgR3JpZFRyYWNrU2l6aW5nRGlyZWN0aW9uLCBjb25zdCBHcmlkU2l6aW5nRGF0YSYpIGNvbnN0
OwogCi0gICAgdm9pZCBhcHBseVN0cmV0Y2hBbGlnbm1lbnRUb1RyYWNrc0lmTmVlZGVkKEdyaWRU
cmFja1NpemluZ0RpcmVjdGlvbiwgR3JpZFNpemluZ0RhdGEmLCBMYXlvdXRVbml0IGF2YWlsYWJs
ZVNwYWNlKTsKKyAgICB2b2lkIGFwcGx5U3RyZXRjaEFsaWdubWVudFRvVHJhY2tzSWZOZWVkZWQo
R3JpZFRyYWNrU2l6aW5nRGlyZWN0aW9uLCBHcmlkU2l6aW5nRGF0YSYpOwogCiAgICAgdmlydHVh
bCB2b2lkIHBhaW50Q2hpbGRyZW4oUGFpbnRJbmZvJiBmb3JTZWxmLCBjb25zdCBMYXlvdXRQb2lu
dCYgcGFpbnRPZmZzZXQsIFBhaW50SW5mbyYgZm9yQ2hpbGQsIGJvb2wgdXNlUHJpbnRSZWN0KSBv
dmVycmlkZTsKICAgICBib29sIG5lZWRUb1N0cmV0Y2hDaGlsZExvZ2ljYWxIZWlnaHQoY29uc3Qg
UmVuZGVyQm94JikgY29uc3Q7Cg==
</data>
<flag name="review"
          id="287878"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>