<?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>161247</bug_id>
          
          <creation_ts>2016-08-26 09:09:22 -0700</creation_ts>
          <short_desc>Check-webkit-style does not work with Objective-C blocks</short_desc>
          <delta_ts>2016-08-29 09:21:08 -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>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=160910</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jonathan Bedard">jbedard</reporter>
          <assigned_to name="Jonathan Bedard">jbedard</assigned_to>
          <cc>ap</cc>
    
    <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>glenn</cc>
    
    <cc>lforschler</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1223524</commentid>
    <comment_count>0</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2016-08-26 09:09:22 -0700</bug_when>
    <thetext>Check-webkit-style erroneously marks properly formatted lambda functions in Objective C and Objective C++ code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1223532</commentid>
    <comment_count>1</comment_count>
      <attachid>287111</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2016-08-26 09:16:10 -0700</bug_when>
    <thetext>Created attachment 287111
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1223535</commentid>
    <comment_count>2</comment_count>
      <attachid>287111</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2016-08-26 09:18:08 -0700</bug_when>
    <thetext>Comment on attachment 287111
Patch

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

&gt; Tools/ChangeLog:3
&gt; +        Check-webkit-style does not work with Lambda functions in Objective C

The official name for these is &quot;block&quot;.

https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/WorkingwithBlocks/WorkingwithBlocks.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1223536</commentid>
    <comment_count>3</comment_count>
      <attachid>287111</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2016-08-26 09:19:45 -0700</bug_when>
    <thetext>Comment on attachment 287111
Patch

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

&gt;&gt; Tools/ChangeLog:3
&gt;&gt; +        Check-webkit-style does not work with Lambda functions in Objective C
&gt; 
&gt; The official name for these is &quot;block&quot;.
&gt; 
&gt; https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/WorkingwithBlocks/WorkingwithBlocks.html

Good to know.  This patch needs updating then.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1223560</commentid>
    <comment_count>4</comment_count>
      <attachid>287116</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2016-08-26 10:04:34 -0700</bug_when>
    <thetext>Created attachment 287116
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1223564</commentid>
    <comment_count>5</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2016-08-26 10:13:22 -0700</bug_when>
    <thetext>This patch makes a best attempt to enforce WebKit style guidelines on Objective C blocks.  The trouble is that our style guidelines do not explicitly cover Objective C blocks, a few examples:

This would seem to be consistent with our handling of spaces before brackets:
    ^ {...
This would seem to be consistent with our handling of function declarations:
    ^(int arg1, int arg2) {...

The above examples follow the rules implemented by this patch, so all of the following are illegal:
    ^{...
    ^ (int arg1, int arg2) {...
    ^(int arg1, int arg2){...

Should we document these style guidelines explicitly, or just allow check-webkit-style to enforce them?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1223581</commentid>
    <comment_count>6</comment_count>
      <attachid>287120</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2016-08-26 10:41:19 -0700</bug_when>
    <thetext>Created attachment 287120
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1224017</commentid>
    <comment_count>7</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-08-27 22:04:20 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; This patch makes a best attempt to enforce WebKit style guidelines on
&gt; Objective C blocks.  The trouble is that our style guidelines do not
&gt; explicitly cover Objective C blocks, a few examples:
&gt; 
&gt; This would seem to be consistent with our handling of spaces before brackets:
&gt;     ^ {...
&gt; This would seem to be consistent with our handling of function declarations:
&gt;     ^(int arg1, int arg2) {...
&gt; 
&gt; The above examples follow the rules implemented by this patch, so all of the
&gt; following are illegal:
&gt;     ^{...
&gt;     ^ (int arg1, int arg2) {...
&gt;     ^(int arg1, int arg2){...
&gt; 
&gt; Should we document these style guidelines explicitly, or just allow
&gt; check-webkit-style to enforce them?

We should document them as well, but doing so should not hold up this patch; It&apos;s okay for check-webkit-style to catch them before they&apos;re documented.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1224183</commentid>
    <comment_count>8</comment_count>
      <attachid>287120</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-08-29 09:20:54 -0700</bug_when>
    <thetext>Comment on attachment 287120
Patch

Clearing flags on attachment: 287120

Committed r205122: &lt;http://trac.webkit.org/changeset/205122&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1224184</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-08-29 09:21:08 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>287111</attachid>
            <date>2016-08-26 09:16:10 -0700</date>
            <delta_ts>2016-08-26 10:04:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-161247-20160826091406.patch</filename>
            <type>text/plain</type>
            <size>8939</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIwNTAxMikKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDIxIEBACisyMDE2LTA4LTI2ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBDaGVjay13ZWJraXQtc3R5bGUgZG9lcyBub3Qgd29yayB3aXRoIExhbWJk
YSBmdW5jdGlvbnMgaW4gT2JqZWN0aXZlIEMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE2MTI0NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9jcHAu
cHk6CisgICAgICAgIChyZWdleF9mb3JfbGFtYmRhX2Z1bmN0aW9ucyk6IEFkZGVkIGNoZWNrIGZv
ciBPYmplY3RpdmUgQyBsYW1iZGEgZnVuY3Rpb25zLgorICAgICAgICAoY2hlY2tfc3BhY2luZ19m
b3JfZnVuY3Rpb25fY2FsbCk6IFBhc3MgZmlsZSBzdGF0ZSBmb3IgbGFtYmRhIGNoZWNrLgorICAg
ICAgICAoY2hlY2tfc3BhY2luZyk6IFBhc3MgZmlsZSBzdGF0ZSBmb3IgbGFtYmRhIGNoZWNrLgor
ICAgICAgICAoY2hlY2tfYnJhY2VzKTogUGFzcyBmaWxlIHN0YXRlIGZvciBsYW1iZGEgY2hlY2su
CisgICAgICAgIChjaGVja19zdHlsZSk6IFBhc3MgZmlsZSBzdGF0ZSBmb3IgbGFtYmRhIGNoZWNr
LgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMvY3BwX3VuaXR0ZXN0
LnB5OgorICAgICAgICAoQ3BwU3R5bGVUZXN0LnRlc3RfY3BwX2xhbWJkYV9mdW5jdGlvbnMpOiBD
aGFuZ2VkIGZyb20g4oCYdGVzdF9sYW1iZGFfZnVuY3Rpb25z4oCZLgorICAgICAgICAoQ3BwU3R5
bGVUZXN0LnRlc3Rfb2JqZWN0aXZlY19sYW1iZGFfZnVuY3Rpb25zKTogVGVzdHMgT2JqZWN0aXZl
IEMgc3R5bGUgbGFtYmRhIGZ1bmN0aW9ucy4KKyAgICAgICAgKENwcFN0eWxlVGVzdC50ZXN0X2xh
bWJkYV9mdW5jdGlvbnMpOiBDaGFuZ2VkIHRvIOKAmHRlc3RfY3BwX2xhbWJkYV9mdW5jdGlvbnPi
gJkuCisKIDIwMTYtMDgtMjYgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4K
IAogICAgICAgICBbRUZMXVtHVEtdIFJFR1JFU1NJT04oMjA0ODc3KTogRml4IHRoZSBjbGVhbiBi
dWlsZApJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9jcHAucHkK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9jcHAu
cHkJKHJldmlzaW9uIDIwNDk5MykKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hl
Y2tlcnMvY3BwLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0xMjgxLDExICsxMjgxLDExIEBAIGNsYXNz
IF9FbnVtU3RhdGUob2JqZWN0KToKICAgICAgICAgcmV0dXJuIFRydWUKIAogCi1kZWYgcmVnZXhf
Zm9yX2xhbWJkYV9mdW5jdGlvbnMobGluZSwgbGluZV9udW1iZXIsIGVycm9yKToKLSAgICByZXN1
bHQgPSBzZWFyY2gocidcc1xbLio/XF1ccycsIGxpbmUpCi0gICAgaWYgcmVzdWx0OgotICAgICAg
ICBncm91cCA9IHJlc3VsdC5ncm91cCgpCi0KK2RlZiByZWdleF9mb3JfbGFtYmRhX2Z1bmN0aW9u
cyhsaW5lLCBsaW5lX251bWJlciwgZmlsZV9zdGF0ZSwgZXJyb3IpOgorICAgIGNwcF9yZXN1bHQg
PSBzZWFyY2gocidcc1xbLio/XF1ccycsIGxpbmUpCisgICAgb2JqY19yZXN1bHQgPSBzZWFyY2go
cidcc1xeXCguKj9cKVxzJywgbGluZSkKKyAgICBpZiBjcHBfcmVzdWx0OgorICAgICAgICBncm91
cCA9IGNwcF9yZXN1bHQuZ3JvdXAoKQogICAgICAgICB0YXJnX2Vycm9yID0gTm9uZQogCiAgICAg
ICAgIGlmIHNlYXJjaChyJyhcW1xzfFxzXF18XHMsKScsIGdyb3VwKToKQEAgLTEyOTYsNiArMTI5
NiwyMCBAQCBkZWYgcmVnZXhfZm9yX2xhbWJkYV9mdW5jdGlvbnMobGluZSwgbGluCiAgICAgICAg
ICAgICBlcnJvcih0YXJnX2Vycm9yWzBdLCB0YXJnX2Vycm9yWzFdLCB0YXJnX2Vycm9yWzJdLCB0
YXJnX2Vycm9yWzNdKQogICAgICAgICByZWdleF9mb3JfbGFtYmRhX2Z1bmN0aW9ucy5fX2xhc3Rf
ZXJyb3IgPSB0YXJnX2Vycm9yCiAgICAgICAgIHJldHVybiBUcnVlCisKKyAgICBpZiBvYmpjX3Jl
c3VsdCBhbmQgZmlsZV9zdGF0ZS5pc19vYmplY3RpdmVfY19vcl9vYmplY3RpdmVfY3BwKCk6Cisg
ICAgICAgIGdyb3VwID0gb2JqY19yZXN1bHQuZ3JvdXAoKQorICAgICAgICB0YXJnX2Vycm9yID0g
Tm9uZQorCisgICAgICAgIGlmIHNlYXJjaChyJyhcKFxzfFxzXCl8XHMsKScsIGdyb3VwKToKKyAg
ICAgICAgICAgIHRhcmdfZXJyb3IgPSBbbGluZV9udW1iZXIsICd3aGl0ZXNwYWNlL2JyYWNrZXRz
JywgNCwKKyAgICAgICAgICAgICAgJ0V4dHJhIHNwYWNlIGluIGxhbWJkYSBmdW5jdGlvbiBhcmd1
bWVudHMuJ10KKworICAgICAgICBpZiB0YXJnX2Vycm9yIGFuZCByZWdleF9mb3JfbGFtYmRhX2Z1
bmN0aW9ucy5fX2xhc3RfZXJyb3IgIT0gdGFyZ19lcnJvcjoKKyAgICAgICAgICAgIGVycm9yKHRh
cmdfZXJyb3JbMF0sIHRhcmdfZXJyb3JbMV0sIHRhcmdfZXJyb3JbMl0sIHRhcmdfZXJyb3JbM10p
CisgICAgICAgIHJlZ2V4X2Zvcl9sYW1iZGFfZnVuY3Rpb25zLl9fbGFzdF9lcnJvciA9IHRhcmdf
ZXJyb3IKKyAgICAgICAgcmV0dXJuIFRydWUKKwogICAgIHJldHVybiBGYWxzZQogCiByZWdleF9m
b3JfbGFtYmRhX2Z1bmN0aW9ucy5fX2xhc3RfZXJyb3IgPSBOb25lCkBAIC0xNDUxLDcgKzE0NjUs
NyBAQCBkZWYgY2hlY2tfZm9yX25vbl9zdGFuZGFyZF9jb25zdHJ1Y3RzKGNsCiAgICAgICAgIGNs
YXNzaW5mby5icmFjZV9kZXB0aCA9IGJyYWNlX2RlcHRoCiAKIAotZGVmIGNoZWNrX3NwYWNpbmdf
Zm9yX2Z1bmN0aW9uX2NhbGwobGluZSwgbGluZV9udW1iZXIsIGVycm9yKToKK2RlZiBjaGVja19z
cGFjaW5nX2Zvcl9mdW5jdGlvbl9jYWxsKGxpbmUsIGxpbmVfbnVtYmVyLCBmaWxlX3N0YXRlLCBl
cnJvcik6CiAgICAgIiIiQ2hlY2tzIGZvciB0aGUgY29ycmVjdG5lc3Mgb2YgdmFyaW91cyBzcGFj
aW5nIGFyb3VuZCBmdW5jdGlvbiBjYWxscy4KIAogICAgIEFyZ3M6CkBAIC0xNDkwLDcgKzE1MDQs
NyBAQCBkZWYgY2hlY2tfc3BhY2luZ19mb3JfZnVuY3Rpb25fY2FsbChsaW5lCiAgICAgaWYgKCAg
IyBJZ25vcmUgY29udHJvbCBzdHJ1Y3R1cmVzLgogICAgICAgICBub3Qgc2VhcmNoKHInXGIoaWZ8
Zm9yfHdoaWxlfHN3aXRjaHxyZXR1cm58bmV3fGRlbGV0ZSlcYicsIGZ1bmN0aW9uX2NhbGwpCiAg
ICAgICAgICMgSWdub3JlIGxhbWJkYSBmdW5jdGlvbnMKLSAgICAgICAgYW5kIG5vdCByZWdleF9m
b3JfbGFtYmRhX2Z1bmN0aW9ucyhmdW5jdGlvbl9jYWxsLCBsaW5lX251bWJlciwgZXJyb3IpCisg
ICAgICAgIGFuZCBub3QgcmVnZXhfZm9yX2xhbWJkYV9mdW5jdGlvbnMoZnVuY3Rpb25fY2FsbCwg
bGluZV9udW1iZXIsIGZpbGVfc3RhdGUsIGVycm9yKQogICAgICAgICAjIElnbm9yZSBwb2ludGVy
cy9yZWZlcmVuY2VzIHRvIGZ1bmN0aW9ucy4KICAgICAgICAgYW5kIG5vdCBzZWFyY2gocicgXChb
XildK1wpXChbXildKihcKXwsJCknLCBmdW5jdGlvbl9jYWxsKQogICAgICAgICAjIElnbm9yZSBw
b2ludGVycy9yZWZlcmVuY2VzIHRvIGFycmF5cy4KQEAgLTE3NDksNyArMTc2Myw3IEBAIGRlZiBj
aGVja19mb3JfbGVha3lfcGF0dGVybnMoY2xlYW5fbGluZXMKICAgICAgICAgICAgICAgJ21lbW9y
eSBsZWFrcy4nICUgbWF0Y2hlZF9jcmVhdGVfZGMuZ3JvdXAoJ2Z1bmN0aW9uX25hbWUnKSkKIAog
Ci1kZWYgY2hlY2tfc3BhY2luZyhmaWxlX2V4dGVuc2lvbiwgY2xlYW5fbGluZXMsIGxpbmVfbnVt
YmVyLCBlcnJvcik6CitkZWYgY2hlY2tfc3BhY2luZyhmaWxlX2V4dGVuc2lvbiwgY2xlYW5fbGlu
ZXMsIGxpbmVfbnVtYmVyLCBmaWxlX3N0YXRlLCBlcnJvcik6CiAgICAgIiIiQ2hlY2tzIGZvciB0
aGUgY29ycmVjdG5lc3Mgb2YgdmFyaW91cyBzcGFjaW5nIGlzc3VlcyBpbiB0aGUgY29kZS4KIAog
ICAgIFRoaW5ncyB3ZSBjaGVjayBmb3I6IHNwYWNlcyBhcm91bmQgb3BlcmF0b3JzLCBzcGFjZXMg
YWZ0ZXIKQEAgLTE5ODksNyArMjAwMyw3IEBAIGRlZiBjaGVja19zcGFjaW5nKGZpbGVfZXh0ZW5z
aW9uLCBjbGVhbl8KICAgICAgICAgICAgICAgICAgICdEZWNsYXJhdGlvbiBoYXMgc3BhY2UgYmV0
d2VlbiAqIGFuZCB2YXJpYWJsZSBuYW1lIGluICVzJyAlIG1hdGNoZWQuZ3JvdXAoMCkuc3RyaXAo
KSkKIAogICAgICMgTmV4dCB3ZSB3aWxsIGxvb2sgZm9yIGlzc3VlcyB3aXRoIGZ1bmN0aW9uIGNh
bGxzLgotICAgIGNoZWNrX3NwYWNpbmdfZm9yX2Z1bmN0aW9uX2NhbGwobGluZSwgbGluZV9udW1i
ZXIsIGVycm9yKQorICAgIGNoZWNrX3NwYWNpbmdfZm9yX2Z1bmN0aW9uX2NhbGwobGluZSwgbGlu
ZV9udW1iZXIsIGZpbGVfc3RhdGUsIGVycm9yKQogCiAgICAgIyBFeGNlcHQgYWZ0ZXIgYW4gb3Bl
bmluZyBwYXJlbiwgXiBmb3IgYmxvY2tzLCBvciBAIGZvciBPYmplY3RpdmUtQwogICAgICMgbGl0
ZXJhbCBOU0RpY3Rpb25hcnksIHlvdSBzaG91bGQgaGF2ZSBzcGFjZXMgYmVmb3JlIHlvdXIgYnJh
Y2VzLgpAQCAtMjQzMCw3ICsyNDQ0LDcgQEAgZGVmIGNoZWNrX3N3aXRjaF9pbmRlbnRhdGlvbihj
bGVhbl9saW5lcwogICAgICAgICAgICAgYnJlYWsKIAogCi1kZWYgY2hlY2tfYnJhY2VzKGNsZWFu
X2xpbmVzLCBsaW5lX251bWJlciwgZXJyb3IpOgorZGVmIGNoZWNrX2JyYWNlcyhjbGVhbl9saW5l
cywgbGluZV9udW1iZXIsIGZpbGVfc3RhdGUsIGVycm9yKToKICAgICAiIiJMb29rcyBmb3IgbWlz
cGxhY2VkIGJyYWNlcyAoZS5nLiBhdCB0aGUgZW5kIG9mIGxpbmUpLgogCiAgICAgQXJnczoKQEAg
LTI0NTQsNyArMjQ2OCw3IEBAIGRlZiBjaGVja19icmFjZXMoY2xlYW5fbGluZXMsIGxpbmVfbnVt
YmUKICAgICAgICAgcHJldmlvdXNfbGluZSA9IGdldF9wcmV2aW91c19ub25fYmxhbmtfbGluZShj
bGVhbl9saW5lcywgbGluZV9udW1iZXIpWzBdCiAgICAgICAgIGlmICgobm90IHNlYXJjaChyJ1s7
On17KT1dXHMqJHxcKVxzKigoY29uc3R8b3ZlcnJpZGV8Y29uc3Qgb3ZlcnJpZGUpXHMqKT8oLT5c
cypcUyspP1xzKiQnLCBwcmV2aW91c19saW5lKQogICAgICAgICAgICAgIG9yIHNlYXJjaChyJ1xi
KGlmfGZvcnx3aGlsZXxzd2l0Y2h8ZWxzZXxOU19FTlVNKVxiJywgcHJldmlvdXNfbGluZSkKLSAg
ICAgICAgICAgICBvciByZWdleF9mb3JfbGFtYmRhX2Z1bmN0aW9ucyhwcmV2aW91c19saW5lLCBs
aW5lX251bWJlciwgZXJyb3IpKQorICAgICAgICAgICAgIG9yIHJlZ2V4X2Zvcl9sYW1iZGFfZnVu
Y3Rpb25zKHByZXZpb3VzX2xpbmUsIGxpbmVfbnVtYmVyLCBmaWxlX3N0YXRlLCBlcnJvcikpCiAg
ICAgICAgICAgICBhbmQgcHJldmlvdXNfbGluZS5maW5kKCcjJykgPCAwCiAgICAgICAgICAgICBh
bmQgcHJldmlvdXNfbGluZS5maW5kKCctICgnKSAhPSAwCiAgICAgICAgICAgICBhbmQgcHJldmlv
dXNfbGluZS5maW5kKCcrICgnKSAhPSAwKToKQEAgLTI0NjMsNyArMjQ3Nyw3IEBAIGRlZiBjaGVj
a19icmFjZXMoY2xlYW5fbGluZXMsIGxpbmVfbnVtYmUKICAgICBlbGlmIChzZWFyY2gocidcKVxz
KigoKGNvbnN0fG92ZXJyaWRlKVxzKikqXHMqKT97XHMqJCcsIGxpbmUpCiAgICAgICAgICAgYW5k
IGxpbmUuY291bnQoJygnKSA9PSBsaW5lLmNvdW50KCcpJykKICAgICAgICAgICBhbmQgbm90IHNl
YXJjaChyJyhccyooaWZ8Zm9yfHdoaWxlfHN3aXRjaHxOU19FTlVNfEBzeW5jaHJvbml6ZWQpfH0g
QGNhdGNoKVxiJywgbGluZSkKLSAgICAgICAgICBhbmQgbm90IHJlZ2V4X2Zvcl9sYW1iZGFfZnVu
Y3Rpb25zKGxpbmUsIGxpbmVfbnVtYmVyLCBlcnJvcikKKyAgICAgICAgICBhbmQgbm90IHJlZ2V4
X2Zvcl9sYW1iZGFfZnVuY3Rpb25zKGxpbmUsIGxpbmVfbnVtYmVyLCBmaWxlX3N0YXRlLCBlcnJv
cikKICAgICAgICAgICBhbmQgbGluZS5maW5kKCJdKCIpIDwgMAogICAgICAgICAgIGFuZCBub3Qg
bWF0Y2gocidccytbQS1aX11bQS1aXzAtOV0rXGInLCBsaW5lKSk6CiAgICAgICAgIGVycm9yKGxp
bmVfbnVtYmVyLCAnd2hpdGVzcGFjZS9icmFjZXMnLCA0LApAQCAtMjgzNSw5ICsyODQ5LDkgQEAg
ZGVmIGNoZWNrX3N0eWxlKGNsZWFuX2xpbmVzLCBsaW5lX251bWJlcgogICAgIGNoZWNrX3d0Zl9t
b3ZlKGNsZWFuX2xpbmVzLCBsaW5lX251bWJlciwgZmlsZV9zdGF0ZSwgZXJyb3IpCiAgICAgY2hl
Y2tfY3R5cGVfZnVuY3Rpb25zKGNsZWFuX2xpbmVzLCBsaW5lX251bWJlciwgZmlsZV9zdGF0ZSwg
ZXJyb3IpCiAgICAgY2hlY2tfc3dpdGNoX2luZGVudGF0aW9uKGNsZWFuX2xpbmVzLCBsaW5lX251
bWJlciwgZXJyb3IpCi0gICAgY2hlY2tfYnJhY2VzKGNsZWFuX2xpbmVzLCBsaW5lX251bWJlciwg
ZXJyb3IpCisgICAgY2hlY2tfYnJhY2VzKGNsZWFuX2xpbmVzLCBsaW5lX251bWJlciwgZmlsZV9z
dGF0ZSwgZXJyb3IpCiAgICAgY2hlY2tfZXhpdF9zdGF0ZW1lbnRfc2ltcGxpZmljYXRpb25zKGNs
ZWFuX2xpbmVzLCBsaW5lX251bWJlciwgZXJyb3IpCi0gICAgY2hlY2tfc3BhY2luZyhmaWxlX2V4
dGVuc2lvbiwgY2xlYW5fbGluZXMsIGxpbmVfbnVtYmVyLCBlcnJvcikKKyAgICBjaGVja19zcGFj
aW5nKGZpbGVfZXh0ZW5zaW9uLCBjbGVhbl9saW5lcywgbGluZV9udW1iZXIsIGZpbGVfc3RhdGUs
IGVycm9yKQogICAgIGNoZWNrX21lbWJlcl9pbml0aWFsaXphdGlvbl9saXN0KGNsZWFuX2xpbmVz
LCBsaW5lX251bWJlciwgZXJyb3IpCiAgICAgY2hlY2tfY2hlY2soY2xlYW5fbGluZXMsIGxpbmVf
bnVtYmVyLCBlcnJvcikKICAgICBjaGVja19mb3JfY29tcGFyaXNvbnNfdG9femVybyhjbGVhbl9s
aW5lcywgbGluZV9udW1iZXIsIGVycm9yKQpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS9z
dHlsZS9jaGVja2Vycy9jcHBfdW5pdHRlc3QucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9jcHBfdW5pdHRlc3QucHkJKHJldmlzaW9uIDIwNDk5
MykKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMvY3BwX3VuaXR0ZXN0
LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0xODgyLDcgKzE4ODIsNyBAQCBjbGFzcyBDcHBTdHlsZVRl
c3QoQ3BwU3R5bGVUZXN0QmFzZSk6CiAgICAgICAgIHNlbGYuYXNzZXJ0X2xpbnQoJ2ludCBtYWlu
KGludCBhcmdjLCBjaGFyKiBhZ3J2IFtdKScsICdFeHRyYSBzcGFjZSBiZWZvcmUgWy4gIFt3aGl0
ZXNwYWNlL2JyYWNrZXRzXSBbNV0nKQogICAgICAgICBzZWxmLmFzc2VydF9saW50KCcgICAgc3Ry
IFtzdHJMZW5ndGhdID0gXCdcXDBcJzsnLCAnRXh0cmEgc3BhY2UgYmVmb3JlIFsuICBbd2hpdGVz
cGFjZS9icmFja2V0c10gWzVdJykKIAotICAgIGRlZiB0ZXN0X2xhbWJkYV9mdW5jdGlvbnMoc2Vs
Zik6CisgICAgZGVmIHRlc3RfY3BwX2xhbWJkYV9mdW5jdGlvbnMoc2VsZik6CiAgICAgICAgIHNl
bGYuYXNzZXJ0X2xpbnQoJyAgICAgICAgWyZdIChUeXBlIGFyZ3VtZW50KSB7JywgJycpCiAgICAg
ICAgIHNlbGYuYXNzZXJ0X2xpbnQoJyAgICAgICAgW10geycsICcnKQogICAgICAgICBzZWxmLmFz
c2VydF9saW50KCcgICAgICAgIFsgPV0gKFR5cGUgYXJndW1lbnQpIHsnLCAnRXh0cmEgc3BhY2Ug
aW4gY2FwdHVyZSBsaXN0LiAgW3doaXRlc3BhY2UvYnJhY2tldHNdIFs0XScpCkBAIC0xODkwLDYg
KzE4OTAsMTMgQEAgY2xhc3MgQ3BwU3R5bGVUZXN0KENwcFN0eWxlVGVzdEJhc2UpOgogICAgICAg
ICBzZWxmLmFzc2VydF9saW50KCcgICAgICAgIFt2YXIgLCB2YXJfcmVmJl0geycsICdFeHRyYSBz
cGFjZSBpbiBjYXB0dXJlIGxpc3QuICBbd2hpdGVzcGFjZS9icmFja2V0c10gWzRdJykKICAgICAg
ICAgc2VsZi5hc3NlcnRfbGludCgnICAgICAgICBbdmFyLHZhcl9yZWYmXSB7JywgJ01pc3Npbmcg
c3BhY2UgYWZ0ZXIgLCAgW3doaXRlc3BhY2UvY29tbWFdIFszXScpCiAKKyAgICBkZWYgdGVzdF9v
YmplY3RpdmVjX2xhbWJkYV9mdW5jdGlvbnMoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0X2xp
bnQoJyAgICAgICAgXih2YXIsIHZhcl9yZWYpIHsnLCAnJywgJ2Zvby5tbScpCisgICAgICAgIHNl
bGYuYXNzZXJ0X2xpbnQoJyAgICAgICAgXih2YXIsIHZhcl9yZWYpIHsnLCAnJywgJ2Zvby5tJykK
KyAgICAgICAgc2VsZi5hc3NlcnRfbGludCgnICAgICAgICBeKHZhciAsIHZhcl9yZWYpIHsnLCAn
RXh0cmEgc3BhY2UgaW4gbGFtYmRhIGZ1bmN0aW9uIGFyZ3VtZW50cy4gIFt3aGl0ZXNwYWNlL2Jy
YWNrZXRzXSBbNF0nLCAnZm9vLm0nKQorICAgICAgICBzZWxmLmFzc2VydF9saW50KCcgICAgICAg
IF4odmFyLHZhcl9yZWYpIHsnLCAnTWlzc2luZyBzcGFjZSBhZnRlciAsICBbd2hpdGVzcGFjZS9j
b21tYV0gWzNdJywgJ2Zvby5tJykKKyAgICAgICAgc2VsZi5hc3NlcnRfbGludCgnICAgICAgICBe
KHZhciwgdmFyX3JlZikgeycsICdQbGFjZSBicmFjZSBvbiBpdHMgb3duIGxpbmUgZm9yIGZ1bmN0
aW9uIGRlZmluaXRpb25zLiAgW3doaXRlc3BhY2UvYnJhY2VzXSBbNF0nLCAnZm9vLmNwcCcpCisK
ICAgICBkZWYgdGVzdF9zcGFjaW5nX2Fyb3VuZF9lbHNlKHNlbGYpOgogICAgICAgICBzZWxmLmFz
c2VydF9saW50KCd9ZWxzZSB7JywgJ01pc3Npbmcgc3BhY2UgYmVmb3JlIGVsc2UnCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgJyAgW3doaXRlc3BhY2UvYnJhY2VzXSBbNV0nKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>287116</attachid>
            <date>2016-08-26 10:04:34 -0700</date>
            <delta_ts>2016-08-26 10:41:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-161247-20160826100231.patch</filename>
            <type>text/plain</type>
            <size>9607</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIwNTAxMikKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDIzIEBACisyMDE2LTA4LTI2ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBDaGVjay13ZWJraXQtc3R5bGUgZG9lcyBub3Qgd29yayB3aXRoIExhbWJk
YSBmdW5jdGlvbnMgaW4gT2JqZWN0aXZlIEMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE2MTI0NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIE5vdGUgdGhhdCB0aGUgT2JqZWN0aXZlIEMgdGVybSBmb3IgdGhp
cyB0eXBlIG9mIHN0cnVjdHVyZSBpcyBhIOKAmGJsb2NrLuKAmQorCisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9jcHAucHk6CisgICAgICAgIChyZWdleF9mb3JfbGFt
YmRhX2Z1bmN0aW9ucyk6IEFkZGVkIGNoZWNrIGZvciBPYmplY3RpdmUgQyBibG9ja3MuCisgICAg
ICAgIChjaGVja19zcGFjaW5nX2Zvcl9mdW5jdGlvbl9jYWxsKTogUGFzcyBmaWxlIHN0YXRlIGZv
ciBsYW1iZGEgY2hlY2suCisgICAgICAgIChjaGVja19zcGFjaW5nKTogUGFzcyBmaWxlIHN0YXRl
IGZvciBsYW1iZGEgY2hlY2suCisgICAgICAgIChjaGVja19icmFjZXMpOiBQYXNzIGZpbGUgc3Rh
dGUgZm9yIGxhbWJkYSBjaGVjay4KKyAgICAgICAgKGNoZWNrX3N0eWxlKTogUGFzcyBmaWxlIHN0
YXRlIGZvciBsYW1iZGEgY2hlY2suCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9zdHlsZS9j
aGVja2Vycy9jcHBfdW5pdHRlc3QucHk6CisgICAgICAgIChDcHBTdHlsZVRlc3QudGVzdF9jcHBf
bGFtYmRhX2Z1bmN0aW9ucyk6IENoYW5nZWQgZnJvbSDigJh0ZXN0X2xhbWJkYV9mdW5jdGlvbnPi
gJkuCisgICAgICAgIChDcHBTdHlsZVRlc3QudGVzdF9vYmplY3RpdmVjX2Jsb2NrKTogVGVzdHMg
T2JqZWN0aXZlIEMgYmxvY2tzLgorICAgICAgICAoQ3BwU3R5bGVUZXN0LnRlc3RfbGFtYmRhX2Z1
bmN0aW9ucyk6IENoYW5nZWQgdG8g4oCYdGVzdF9jcHBfbGFtYmRhX2Z1bmN0aW9uc+KAmS4KKwog
MjAxNi0wOC0yNiAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQub3JnPgogCiAgICAg
ICAgIFtFRkxdW0dUS10gUkVHUkVTU0lPTigyMDQ4NzcpOiBGaXggdGhlIGNsZWFuIGJ1aWxkCklu
ZGV4OiBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NwcC5weQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NwcC5weQkocmV2
aXNpb24gMjA0OTkzKQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9j
cHAucHkJKHdvcmtpbmcgY29weSkKQEAgLTEyODEsMTEgKzEyODEsMTEgQEAgY2xhc3MgX0VudW1T
dGF0ZShvYmplY3QpOgogICAgICAgICByZXR1cm4gVHJ1ZQogCiAKLWRlZiByZWdleF9mb3JfbGFt
YmRhX2Z1bmN0aW9ucyhsaW5lLCBsaW5lX251bWJlciwgZXJyb3IpOgotICAgIHJlc3VsdCA9IHNl
YXJjaChyJ1xzXFsuKj9cXVxzJywgbGluZSkKLSAgICBpZiByZXN1bHQ6Ci0gICAgICAgIGdyb3Vw
ID0gcmVzdWx0Lmdyb3VwKCkKLQorZGVmIHJlZ2V4X2Zvcl9sYW1iZGFfZnVuY3Rpb25zKGxpbmUs
IGxpbmVfbnVtYmVyLCBmaWxlX3N0YXRlLCBlcnJvcik6CisgICAgY3BwX3Jlc3VsdCA9IHNlYXJj
aChyJ1xzXFsuKj9cXVxzJywgbGluZSkKKyAgICBvYmpjX3Jlc3VsdCA9IHNlYXJjaChyJyhcc1xe
XHM/XCguKj9cKVxzfFxeXHM/XHspJywgbGluZSkKKyAgICBpZiBjcHBfcmVzdWx0OgorICAgICAg
ICBncm91cCA9IGNwcF9yZXN1bHQuZ3JvdXAoKQogICAgICAgICB0YXJnX2Vycm9yID0gTm9uZQog
CiAgICAgICAgIGlmIHNlYXJjaChyJyhcW1xzfFxzXF18XHMsKScsIGdyb3VwKToKQEAgLTEyOTYs
NiArMTI5NiwyNiBAQCBkZWYgcmVnZXhfZm9yX2xhbWJkYV9mdW5jdGlvbnMobGluZSwgbGluCiAg
ICAgICAgICAgICBlcnJvcih0YXJnX2Vycm9yWzBdLCB0YXJnX2Vycm9yWzFdLCB0YXJnX2Vycm9y
WzJdLCB0YXJnX2Vycm9yWzNdKQogICAgICAgICByZWdleF9mb3JfbGFtYmRhX2Z1bmN0aW9ucy5f
X2xhc3RfZXJyb3IgPSB0YXJnX2Vycm9yCiAgICAgICAgIHJldHVybiBUcnVlCisKKyAgICBpZiBv
YmpjX3Jlc3VsdCBhbmQgZmlsZV9zdGF0ZS5pc19vYmplY3RpdmVfY19vcl9vYmplY3RpdmVfY3Bw
KCk6CisgICAgICAgIGdyb3VwID0gb2JqY19yZXN1bHQuZ3JvdXAoKQorICAgICAgICB0YXJnX2Vy
cm9yID0gTm9uZQorCisgICAgICAgIGlmIHNlYXJjaChyJyhcKFxzfFxzXCl8XHMsKScsIGdyb3Vw
KToKKyAgICAgICAgICAgIHRhcmdfZXJyb3IgPSBbbGluZV9udW1iZXIsICd3aGl0ZXNwYWNlL2Jy
YWNrZXRzJywgNCwKKyAgICAgICAgICAgICAgJ0V4dHJhIHNwYWNlIGluIGJsb2NrIGFyZ3VtZW50
cy4nXQorICAgICAgICBpZiBzZWFyY2gocidcXlx7JywgZ3JvdXApOgorICAgICAgICAgICAgdGFy
Z19lcnJvciA9IFtsaW5lX251bWJlciwgJ3doaXRlc3BhY2UvYnJhY2tldHMnLCA0LAorICAgICAg
ICAgICAgICAnTm8gc3BhY2UgYmV0d2VlbiBeIGFuZCBibG9jayBkZWZpbml0aW9uLiddCisgICAg
ICAgIGlmIHNlYXJjaChyJ1xeXHNcKCcsIGdyb3VwKToKKyAgICAgICAgICAgIHRhcmdfZXJyb3Ig
PSBbbGluZV9udW1iZXIsICd3aGl0ZXNwYWNlL2JyYWNrZXRzJywgNCwKKyAgICAgICAgICAgICAg
J0V4dHJhIHNwYWNlIGJldHdlZW4gXiBhbmQgYmxvY2sgYXJndW1lbnRzLiddCisKKyAgICAgICAg
aWYgdGFyZ19lcnJvciBhbmQgcmVnZXhfZm9yX2xhbWJkYV9mdW5jdGlvbnMuX19sYXN0X2Vycm9y
ICE9IHRhcmdfZXJyb3I6CisgICAgICAgICAgICBlcnJvcih0YXJnX2Vycm9yWzBdLCB0YXJnX2Vy
cm9yWzFdLCB0YXJnX2Vycm9yWzJdLCB0YXJnX2Vycm9yWzNdKQorICAgICAgICByZWdleF9mb3Jf
bGFtYmRhX2Z1bmN0aW9ucy5fX2xhc3RfZXJyb3IgPSB0YXJnX2Vycm9yCisgICAgICAgIHJldHVy
biBUcnVlCisKICAgICByZXR1cm4gRmFsc2UKIAogcmVnZXhfZm9yX2xhbWJkYV9mdW5jdGlvbnMu
X19sYXN0X2Vycm9yID0gTm9uZQpAQCAtMTQ1MSw3ICsxNDcxLDcgQEAgZGVmIGNoZWNrX2Zvcl9u
b25fc3RhbmRhcmRfY29uc3RydWN0cyhjbAogICAgICAgICBjbGFzc2luZm8uYnJhY2VfZGVwdGgg
PSBicmFjZV9kZXB0aAogCiAKLWRlZiBjaGVja19zcGFjaW5nX2Zvcl9mdW5jdGlvbl9jYWxsKGxp
bmUsIGxpbmVfbnVtYmVyLCBlcnJvcik6CitkZWYgY2hlY2tfc3BhY2luZ19mb3JfZnVuY3Rpb25f
Y2FsbChsaW5lLCBsaW5lX251bWJlciwgZmlsZV9zdGF0ZSwgZXJyb3IpOgogICAgICIiIkNoZWNr
cyBmb3IgdGhlIGNvcnJlY3RuZXNzIG9mIHZhcmlvdXMgc3BhY2luZyBhcm91bmQgZnVuY3Rpb24g
Y2FsbHMuCiAKICAgICBBcmdzOgpAQCAtMTQ5MCw3ICsxNTEwLDcgQEAgZGVmIGNoZWNrX3NwYWNp
bmdfZm9yX2Z1bmN0aW9uX2NhbGwobGluZQogICAgIGlmICggICMgSWdub3JlIGNvbnRyb2wgc3Ry
dWN0dXJlcy4KICAgICAgICAgbm90IHNlYXJjaChyJ1xiKGlmfGZvcnx3aGlsZXxzd2l0Y2h8cmV0
dXJufG5ld3xkZWxldGUpXGInLCBmdW5jdGlvbl9jYWxsKQogICAgICAgICAjIElnbm9yZSBsYW1i
ZGEgZnVuY3Rpb25zCi0gICAgICAgIGFuZCBub3QgcmVnZXhfZm9yX2xhbWJkYV9mdW5jdGlvbnMo
ZnVuY3Rpb25fY2FsbCwgbGluZV9udW1iZXIsIGVycm9yKQorICAgICAgICBhbmQgbm90IHJlZ2V4
X2Zvcl9sYW1iZGFfZnVuY3Rpb25zKGZ1bmN0aW9uX2NhbGwsIGxpbmVfbnVtYmVyLCBmaWxlX3N0
YXRlLCBlcnJvcikKICAgICAgICAgIyBJZ25vcmUgcG9pbnRlcnMvcmVmZXJlbmNlcyB0byBmdW5j
dGlvbnMuCiAgICAgICAgIGFuZCBub3Qgc2VhcmNoKHInIFwoW14pXStcKVwoW14pXSooXCl8LCQp
JywgZnVuY3Rpb25fY2FsbCkKICAgICAgICAgIyBJZ25vcmUgcG9pbnRlcnMvcmVmZXJlbmNlcyB0
byBhcnJheXMuCkBAIC0xNzQ5LDcgKzE3NjksNyBAQCBkZWYgY2hlY2tfZm9yX2xlYWt5X3BhdHRl
cm5zKGNsZWFuX2xpbmVzCiAgICAgICAgICAgICAgICdtZW1vcnkgbGVha3MuJyAlIG1hdGNoZWRf
Y3JlYXRlX2RjLmdyb3VwKCdmdW5jdGlvbl9uYW1lJykpCiAKIAotZGVmIGNoZWNrX3NwYWNpbmco
ZmlsZV9leHRlbnNpb24sIGNsZWFuX2xpbmVzLCBsaW5lX251bWJlciwgZXJyb3IpOgorZGVmIGNo
ZWNrX3NwYWNpbmcoZmlsZV9leHRlbnNpb24sIGNsZWFuX2xpbmVzLCBsaW5lX251bWJlciwgZmls
ZV9zdGF0ZSwgZXJyb3IpOgogICAgICIiIkNoZWNrcyBmb3IgdGhlIGNvcnJlY3RuZXNzIG9mIHZh
cmlvdXMgc3BhY2luZyBpc3N1ZXMgaW4gdGhlIGNvZGUuCiAKICAgICBUaGluZ3Mgd2UgY2hlY2sg
Zm9yOiBzcGFjZXMgYXJvdW5kIG9wZXJhdG9ycywgc3BhY2VzIGFmdGVyCkBAIC0xOTg5LDcgKzIw
MDksNyBAQCBkZWYgY2hlY2tfc3BhY2luZyhmaWxlX2V4dGVuc2lvbiwgY2xlYW5fCiAgICAgICAg
ICAgICAgICAgICAnRGVjbGFyYXRpb24gaGFzIHNwYWNlIGJldHdlZW4gKiBhbmQgdmFyaWFibGUg
bmFtZSBpbiAlcycgJSBtYXRjaGVkLmdyb3VwKDApLnN0cmlwKCkpCiAKICAgICAjIE5leHQgd2Ug
d2lsbCBsb29rIGZvciBpc3N1ZXMgd2l0aCBmdW5jdGlvbiBjYWxscy4KLSAgICBjaGVja19zcGFj
aW5nX2Zvcl9mdW5jdGlvbl9jYWxsKGxpbmUsIGxpbmVfbnVtYmVyLCBlcnJvcikKKyAgICBjaGVj
a19zcGFjaW5nX2Zvcl9mdW5jdGlvbl9jYWxsKGxpbmUsIGxpbmVfbnVtYmVyLCBmaWxlX3N0YXRl
LCBlcnJvcikKIAogICAgICMgRXhjZXB0IGFmdGVyIGFuIG9wZW5pbmcgcGFyZW4sIF4gZm9yIGJs
b2Nrcywgb3IgQCBmb3IgT2JqZWN0aXZlLUMKICAgICAjIGxpdGVyYWwgTlNEaWN0aW9uYXJ5LCB5
b3Ugc2hvdWxkIGhhdmUgc3BhY2VzIGJlZm9yZSB5b3VyIGJyYWNlcy4KQEAgLTI0MzAsNyArMjQ1
MCw3IEBAIGRlZiBjaGVja19zd2l0Y2hfaW5kZW50YXRpb24oY2xlYW5fbGluZXMKICAgICAgICAg
ICAgIGJyZWFrCiAKIAotZGVmIGNoZWNrX2JyYWNlcyhjbGVhbl9saW5lcywgbGluZV9udW1iZXIs
IGVycm9yKToKK2RlZiBjaGVja19icmFjZXMoY2xlYW5fbGluZXMsIGxpbmVfbnVtYmVyLCBmaWxl
X3N0YXRlLCBlcnJvcik6CiAgICAgIiIiTG9va3MgZm9yIG1pc3BsYWNlZCBicmFjZXMgKGUuZy4g
YXQgdGhlIGVuZCBvZiBsaW5lKS4KIAogICAgIEFyZ3M6CkBAIC0yNDU0LDcgKzI0NzQsNyBAQCBk
ZWYgY2hlY2tfYnJhY2VzKGNsZWFuX2xpbmVzLCBsaW5lX251bWJlCiAgICAgICAgIHByZXZpb3Vz
X2xpbmUgPSBnZXRfcHJldmlvdXNfbm9uX2JsYW5rX2xpbmUoY2xlYW5fbGluZXMsIGxpbmVfbnVt
YmVyKVswXQogICAgICAgICBpZiAoKG5vdCBzZWFyY2gocidbOzp9eyk9XVxzKiR8XClccyooKGNv
bnN0fG92ZXJyaWRlfGNvbnN0IG92ZXJyaWRlKVxzKik/KC0+XHMqXFMrKT9ccyokJywgcHJldmlv
dXNfbGluZSkKICAgICAgICAgICAgICBvciBzZWFyY2gocidcYihpZnxmb3J8d2hpbGV8c3dpdGNo
fGVsc2V8TlNfRU5VTSlcYicsIHByZXZpb3VzX2xpbmUpCi0gICAgICAgICAgICAgb3IgcmVnZXhf
Zm9yX2xhbWJkYV9mdW5jdGlvbnMocHJldmlvdXNfbGluZSwgbGluZV9udW1iZXIsIGVycm9yKSkK
KyAgICAgICAgICAgICBvciByZWdleF9mb3JfbGFtYmRhX2Z1bmN0aW9ucyhwcmV2aW91c19saW5l
LCBsaW5lX251bWJlciwgZmlsZV9zdGF0ZSwgZXJyb3IpKQogICAgICAgICAgICAgYW5kIHByZXZp
b3VzX2xpbmUuZmluZCgnIycpIDwgMAogICAgICAgICAgICAgYW5kIHByZXZpb3VzX2xpbmUuZmlu
ZCgnLSAoJykgIT0gMAogICAgICAgICAgICAgYW5kIHByZXZpb3VzX2xpbmUuZmluZCgnKyAoJykg
IT0gMCk6CkBAIC0yNDYzLDcgKzI0ODMsNyBAQCBkZWYgY2hlY2tfYnJhY2VzKGNsZWFuX2xpbmVz
LCBsaW5lX251bWJlCiAgICAgZWxpZiAoc2VhcmNoKHInXClccyooKChjb25zdHxvdmVycmlkZSlc
cyopKlxzKik/e1xzKiQnLCBsaW5lKQogICAgICAgICAgIGFuZCBsaW5lLmNvdW50KCcoJykgPT0g
bGluZS5jb3VudCgnKScpCiAgICAgICAgICAgYW5kIG5vdCBzZWFyY2gocicoXHMqKGlmfGZvcnx3
aGlsZXxzd2l0Y2h8TlNfRU5VTXxAc3luY2hyb25pemVkKXx9IEBjYXRjaClcYicsIGxpbmUpCi0g
ICAgICAgICAgYW5kIG5vdCByZWdleF9mb3JfbGFtYmRhX2Z1bmN0aW9ucyhsaW5lLCBsaW5lX251
bWJlciwgZXJyb3IpCisgICAgICAgICAgYW5kIG5vdCByZWdleF9mb3JfbGFtYmRhX2Z1bmN0aW9u
cyhsaW5lLCBsaW5lX251bWJlciwgZmlsZV9zdGF0ZSwgZXJyb3IpCiAgICAgICAgICAgYW5kIGxp
bmUuZmluZCgiXSgiKSA8IDAKICAgICAgICAgICBhbmQgbm90IG1hdGNoKHInXHMrW0EtWl9dW0Et
Wl8wLTldK1xiJywgbGluZSkpOgogICAgICAgICBlcnJvcihsaW5lX251bWJlciwgJ3doaXRlc3Bh
Y2UvYnJhY2VzJywgNCwKQEAgLTI4MzUsOSArMjg1NSw5IEBAIGRlZiBjaGVja19zdHlsZShjbGVh
bl9saW5lcywgbGluZV9udW1iZXIKICAgICBjaGVja193dGZfbW92ZShjbGVhbl9saW5lcywgbGlu
ZV9udW1iZXIsIGZpbGVfc3RhdGUsIGVycm9yKQogICAgIGNoZWNrX2N0eXBlX2Z1bmN0aW9ucyhj
bGVhbl9saW5lcywgbGluZV9udW1iZXIsIGZpbGVfc3RhdGUsIGVycm9yKQogICAgIGNoZWNrX3N3
aXRjaF9pbmRlbnRhdGlvbihjbGVhbl9saW5lcywgbGluZV9udW1iZXIsIGVycm9yKQotICAgIGNo
ZWNrX2JyYWNlcyhjbGVhbl9saW5lcywgbGluZV9udW1iZXIsIGVycm9yKQorICAgIGNoZWNrX2Jy
YWNlcyhjbGVhbl9saW5lcywgbGluZV9udW1iZXIsIGZpbGVfc3RhdGUsIGVycm9yKQogICAgIGNo
ZWNrX2V4aXRfc3RhdGVtZW50X3NpbXBsaWZpY2F0aW9ucyhjbGVhbl9saW5lcywgbGluZV9udW1i
ZXIsIGVycm9yKQotICAgIGNoZWNrX3NwYWNpbmcoZmlsZV9leHRlbnNpb24sIGNsZWFuX2xpbmVz
LCBsaW5lX251bWJlciwgZXJyb3IpCisgICAgY2hlY2tfc3BhY2luZyhmaWxlX2V4dGVuc2lvbiwg
Y2xlYW5fbGluZXMsIGxpbmVfbnVtYmVyLCBmaWxlX3N0YXRlLCBlcnJvcikKICAgICBjaGVja19t
ZW1iZXJfaW5pdGlhbGl6YXRpb25fbGlzdChjbGVhbl9saW5lcywgbGluZV9udW1iZXIsIGVycm9y
KQogICAgIGNoZWNrX2NoZWNrKGNsZWFuX2xpbmVzLCBsaW5lX251bWJlciwgZXJyb3IpCiAgICAg
Y2hlY2tfZm9yX2NvbXBhcmlzb25zX3RvX3plcm8oY2xlYW5fbGluZXMsIGxpbmVfbnVtYmVyLCBl
cnJvcikKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMvY3BwX3Vu
aXR0ZXN0LnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hl
Y2tlcnMvY3BwX3VuaXR0ZXN0LnB5CShyZXZpc2lvbiAyMDQ5OTMpCisrKyBUb29scy9TY3JpcHRz
L3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NwcF91bml0dGVzdC5weQkod29ya2luZyBjb3B5KQpA
QCAtMTg4Miw3ICsxODgyLDcgQEAgY2xhc3MgQ3BwU3R5bGVUZXN0KENwcFN0eWxlVGVzdEJhc2Up
OgogICAgICAgICBzZWxmLmFzc2VydF9saW50KCdpbnQgbWFpbihpbnQgYXJnYywgY2hhciogYWdy
diBbXSknLCAnRXh0cmEgc3BhY2UgYmVmb3JlIFsuICBbd2hpdGVzcGFjZS9icmFja2V0c10gWzVd
JykKICAgICAgICAgc2VsZi5hc3NlcnRfbGludCgnICAgIHN0ciBbc3RyTGVuZ3RoXSA9IFwnXFww
XCc7JywgJ0V4dHJhIHNwYWNlIGJlZm9yZSBbLiAgW3doaXRlc3BhY2UvYnJhY2tldHNdIFs1XScp
CiAKLSAgICBkZWYgdGVzdF9sYW1iZGFfZnVuY3Rpb25zKHNlbGYpOgorICAgIGRlZiB0ZXN0X2Nw
cF9sYW1iZGFfZnVuY3Rpb25zKHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydF9saW50KCcgICAg
ICAgIFsmXSAoVHlwZSBhcmd1bWVudCkgeycsICcnKQogICAgICAgICBzZWxmLmFzc2VydF9saW50
KCcgICAgICAgIFtdIHsnLCAnJykKICAgICAgICAgc2VsZi5hc3NlcnRfbGludCgnICAgICAgICBb
ID1dIChUeXBlIGFyZ3VtZW50KSB7JywgJ0V4dHJhIHNwYWNlIGluIGNhcHR1cmUgbGlzdC4gIFt3
aGl0ZXNwYWNlL2JyYWNrZXRzXSBbNF0nKQpAQCAtMTg5MCw2ICsxODkwLDE2IEBAIGNsYXNzIENw
cFN0eWxlVGVzdChDcHBTdHlsZVRlc3RCYXNlKToKICAgICAgICAgc2VsZi5hc3NlcnRfbGludCgn
ICAgICAgICBbdmFyICwgdmFyX3JlZiZdIHsnLCAnRXh0cmEgc3BhY2UgaW4gY2FwdHVyZSBsaXN0
LiAgW3doaXRlc3BhY2UvYnJhY2tldHNdIFs0XScpCiAgICAgICAgIHNlbGYuYXNzZXJ0X2xpbnQo
JyAgICAgICAgW3Zhcix2YXJfcmVmJl0geycsICdNaXNzaW5nIHNwYWNlIGFmdGVyICwgIFt3aGl0
ZXNwYWNlL2NvbW1hXSBbM10nKQogCisgICAgZGVmIHRlc3Rfb2JqZWN0aXZlY19ibG9jayhzZWxm
KToKKyAgICAgICAgc2VsZi5hc3NlcnRfbGludCgnICAgICAgICBeKHZhciwgdmFyX3JlZikgeycs
ICcnLCAnZm9vLm1tJykKKyAgICAgICAgc2VsZi5hc3NlcnRfbGludCgnICAgICAgICBeKHZhciwg
dmFyX3JlZikgeycsICcnLCAnZm9vLm0nKQorICAgICAgICBzZWxmLmFzc2VydF9saW50KCcgICAg
ICAgIF4odmFyICwgdmFyX3JlZikgeycsICdFeHRyYSBzcGFjZSBpbiBibG9jayBhcmd1bWVudHMu
ICBbd2hpdGVzcGFjZS9icmFja2V0c10gWzRdJywgJ2Zvby5tJykKKyAgICAgICAgc2VsZi5hc3Nl
cnRfbGludCgnICAgICAgICBeKHZhcix2YXJfcmVmKSB7JywgJ01pc3Npbmcgc3BhY2UgYWZ0ZXIg
LCAgW3doaXRlc3BhY2UvY29tbWFdIFszXScsICdmb28ubScpCisgICAgICAgIHNlbGYuYXNzZXJ0
X2xpbnQoJyAgICAgICAgXih2YXIsIHZhcl9yZWYpIHsnLCAnUGxhY2UgYnJhY2Ugb24gaXRzIG93
biBsaW5lIGZvciBmdW5jdGlvbiBkZWZpbml0aW9ucy4gIFt3aGl0ZXNwYWNlL2JyYWNlc10gWzRd
JywgJ2Zvby5jcHAnKQorICAgICAgICBzZWxmLmFzc2VydF9saW50KCcgICAgICAgIF4geycsICcn
LCAnZm9vLm0nKQorICAgICAgICBzZWxmLmFzc2VydF9saW50KCcgICAgICAgIF57JywgJ05vIHNw
YWNlIGJldHdlZW4gXiBhbmQgYmxvY2sgZGVmaW5pdGlvbi4gIFt3aGl0ZXNwYWNlL2JyYWNrZXRz
XSBbNF0nLCAnZm9vLm0nKQorICAgICAgICBzZWxmLmFzc2VydF9saW50KCcgICAgICAgIF4gKGFy
ZzEsIGFyZzIpIHsnLCAnRXh0cmEgc3BhY2UgYmV0d2VlbiBeIGFuZCBibG9jayBhcmd1bWVudHMu
ICBbd2hpdGVzcGFjZS9icmFja2V0c10gWzRdJywgJ2Zvby5tJykKKwogICAgIGRlZiB0ZXN0X3Nw
YWNpbmdfYXJvdW5kX2Vsc2Uoc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0X2xpbnQoJ31lbHNl
IHsnLCAnTWlzc2luZyBzcGFjZSBiZWZvcmUgZWxzZScKICAgICAgICAgICAgICAgICAgICAgICAg
ICAnICBbd2hpdGVzcGFjZS9icmFjZXNdIFs1XScpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>287120</attachid>
            <date>2016-08-26 10:41:19 -0700</date>
            <delta_ts>2016-08-29 09:20:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-161247-20160826103915.patch</filename>
            <type>text/plain</type>
            <size>10003</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIwNTAxMikKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDIyIEBACisyMDE2LTA4LTI2ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBDaGVjay13ZWJraXQtc3R5bGUgZG9lcyBub3Qgd29yayB3aXRoIE9iamVj
dGl2ZS1DIGJsb2NrcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTYxMjQ3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NwcC5weToKKyAgICAgICAg
KHJlZ2V4X2Zvcl9sYW1iZGFfZnVuY3Rpb25zKTogQ2hhbmdlZCB0byByZWdleF9mb3JfbGFtYmRh
c19hbmRfYmxvY2tzLgorICAgICAgICAocmVnZXhfZm9yX2xhbWJkYXNfYW5kX2Jsb2Nrcyk6IEFk
ZGVkIGNoZWNrIGZvciBPYmplY3RpdmUtQyBibG9ja3MuCisgICAgICAgIChjaGVja19zcGFjaW5n
X2Zvcl9mdW5jdGlvbl9jYWxsKTogUGFzcyBmaWxlIHN0YXRlIGZvciBsYW1iZGEgY2hlY2suCisg
ICAgICAgIChjaGVja19zcGFjaW5nKTogUGFzcyBmaWxlIHN0YXRlIGZvciBsYW1iZGEgY2hlY2su
CisgICAgICAgIChjaGVja19icmFjZXMpOiBQYXNzIGZpbGUgc3RhdGUgZm9yIGxhbWJkYSBjaGVj
ay4KKyAgICAgICAgKGNoZWNrX3N0eWxlKTogUGFzcyBmaWxlIHN0YXRlIGZvciBsYW1iZGEgY2hl
Y2suCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9jcHBfdW5pdHRl
c3QucHk6CisgICAgICAgIChDcHBTdHlsZVRlc3QudGVzdF9jcHBfbGFtYmRhX2Z1bmN0aW9ucyk6
IENoYW5nZWQgZnJvbSDigJh0ZXN0X2xhbWJkYV9mdW5jdGlvbnPigJkuCisgICAgICAgIChDcHBT
dHlsZVRlc3QudGVzdF9vYmplY3RpdmVfY19ibG9jayk6IFRlc3RzIE9iamVjdGl2ZS1DIGJsb2Nr
cy4KKyAgICAgICAgKENwcFN0eWxlVGVzdC50ZXN0X2xhbWJkYV9mdW5jdGlvbnMpOiBDaGFuZ2Vk
IHRvIOKAmHRlc3RfY3BwX2xhbWJkYV9mdW5jdGlvbnPigJkuCisKIDIwMTYtMDgtMjYgIENzYWJh
IE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KIAogICAgICAgICBbRUZMXVtHVEtdIFJF
R1JFU1NJT04oMjA0ODc3KTogRml4IHRoZSBjbGVhbiBidWlsZApJbmRleDogVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9jcHAucHkKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9jcHAucHkJKHJldmlzaW9uIDIwNTAxMikKKysr
IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMvY3BwLnB5CSh3b3JraW5nIGNv
cHkpCkBAIC0xMjgxLDI0ICsxMjgxLDQ0IEBAIGNsYXNzIF9FbnVtU3RhdGUob2JqZWN0KToKICAg
ICAgICAgcmV0dXJuIFRydWUKIAogCi1kZWYgcmVnZXhfZm9yX2xhbWJkYV9mdW5jdGlvbnMobGlu
ZSwgbGluZV9udW1iZXIsIGVycm9yKToKLSAgICByZXN1bHQgPSBzZWFyY2gocidcc1xbLio/XF1c
cycsIGxpbmUpCi0gICAgaWYgcmVzdWx0OgotICAgICAgICBncm91cCA9IHJlc3VsdC5ncm91cCgp
Ci0KK2RlZiByZWdleF9mb3JfbGFtYmRhc19hbmRfYmxvY2tzKGxpbmUsIGxpbmVfbnVtYmVyLCBm
aWxlX3N0YXRlLCBlcnJvcik6CisgICAgY3BwX3Jlc3VsdCA9IHNlYXJjaChyJ1xzXFsuKj9cXVxz
JywgbGluZSkKKyAgICBvYmpjX3Jlc3VsdCA9IHNlYXJjaChyJyhcc1xeXHM/XCguKj9cKVxzfFxe
XHM/XHspJywgbGluZSkKKyAgICBpZiBjcHBfcmVzdWx0OgorICAgICAgICBncm91cCA9IGNwcF9y
ZXN1bHQuZ3JvdXAoKQogICAgICAgICB0YXJnX2Vycm9yID0gTm9uZQogCiAgICAgICAgIGlmIHNl
YXJjaChyJyhcW1xzfFxzXF18XHMsKScsIGdyb3VwKToKICAgICAgICAgICAgIHRhcmdfZXJyb3Ig
PSBbbGluZV9udW1iZXIsICd3aGl0ZXNwYWNlL2JyYWNrZXRzJywgNCwKICAgICAgICAgICAgICAg
J0V4dHJhIHNwYWNlIGluIGNhcHR1cmUgbGlzdC4nXQogCi0gICAgICAgIGlmIHRhcmdfZXJyb3Ig
YW5kIHJlZ2V4X2Zvcl9sYW1iZGFfZnVuY3Rpb25zLl9fbGFzdF9lcnJvciAhPSB0YXJnX2Vycm9y
OgorICAgICAgICBpZiB0YXJnX2Vycm9yIGFuZCByZWdleF9mb3JfbGFtYmRhc19hbmRfYmxvY2tz
Ll9fbGFzdF9lcnJvciAhPSB0YXJnX2Vycm9yOgogICAgICAgICAgICAgZXJyb3IodGFyZ19lcnJv
clswXSwgdGFyZ19lcnJvclsxXSwgdGFyZ19lcnJvclsyXSwgdGFyZ19lcnJvclszXSkKLSAgICAg
ICAgcmVnZXhfZm9yX2xhbWJkYV9mdW5jdGlvbnMuX19sYXN0X2Vycm9yID0gdGFyZ19lcnJvcgor
ICAgICAgICByZWdleF9mb3JfbGFtYmRhc19hbmRfYmxvY2tzLl9fbGFzdF9lcnJvciA9IHRhcmdf
ZXJyb3IKICAgICAgICAgcmV0dXJuIFRydWUKKworICAgIGlmIG9iamNfcmVzdWx0IGFuZCBmaWxl
X3N0YXRlLmlzX29iamVjdGl2ZV9jX29yX29iamVjdGl2ZV9jcHAoKToKKyAgICAgICAgZ3JvdXAg
PSBvYmpjX3Jlc3VsdC5ncm91cCgpCisgICAgICAgIHRhcmdfZXJyb3IgPSBOb25lCisKKyAgICAg
ICAgaWYgc2VhcmNoKHInKFwoXHN8XHNcKXxccywpJywgZ3JvdXApOgorICAgICAgICAgICAgdGFy
Z19lcnJvciA9IFtsaW5lX251bWJlciwgJ3doaXRlc3BhY2UvYnJhY2tldHMnLCA0LAorICAgICAg
ICAgICAgICAnRXh0cmEgc3BhY2UgaW4gYmxvY2sgYXJndW1lbnRzLiddCisgICAgICAgIGlmIHNl
YXJjaChyJ1xeXHsnLCBncm91cCk6CisgICAgICAgICAgICB0YXJnX2Vycm9yID0gW2xpbmVfbnVt
YmVyLCAnd2hpdGVzcGFjZS9icmFja2V0cycsIDQsCisgICAgICAgICAgICAgICdObyBzcGFjZSBi
ZXR3ZWVuIF4gYW5kIGJsb2NrIGRlZmluaXRpb24uJ10KKyAgICAgICAgaWYgc2VhcmNoKHInXF5c
c1woJywgZ3JvdXApOgorICAgICAgICAgICAgdGFyZ19lcnJvciA9IFtsaW5lX251bWJlciwgJ3do
aXRlc3BhY2UvYnJhY2tldHMnLCA0LAorICAgICAgICAgICAgICAnRXh0cmEgc3BhY2UgYmV0d2Vl
biBeIGFuZCBibG9jayBhcmd1bWVudHMuJ10KKworICAgICAgICBpZiB0YXJnX2Vycm9yIGFuZCBy
ZWdleF9mb3JfbGFtYmRhc19hbmRfYmxvY2tzLl9fbGFzdF9lcnJvciAhPSB0YXJnX2Vycm9yOgor
ICAgICAgICAgICAgZXJyb3IodGFyZ19lcnJvclswXSwgdGFyZ19lcnJvclsxXSwgdGFyZ19lcnJv
clsyXSwgdGFyZ19lcnJvclszXSkKKyAgICAgICAgcmVnZXhfZm9yX2xhbWJkYXNfYW5kX2Jsb2Nr
cy5fX2xhc3RfZXJyb3IgPSB0YXJnX2Vycm9yCisgICAgICAgIHJldHVybiBUcnVlCisKICAgICBy
ZXR1cm4gRmFsc2UKIAotcmVnZXhfZm9yX2xhbWJkYV9mdW5jdGlvbnMuX19sYXN0X2Vycm9yID0g
Tm9uZQorcmVnZXhfZm9yX2xhbWJkYXNfYW5kX2Jsb2Nrcy5fX2xhc3RfZXJyb3IgPSBOb25lCiAK
IAogZGVmIGNoZWNrX2Zvcl9ub25fc3RhbmRhcmRfY29uc3RydWN0cyhjbGVhbl9saW5lcywgbGlu
ZV9udW1iZXIsCkBAIC0xNDUxLDcgKzE0NzEsNyBAQCBkZWYgY2hlY2tfZm9yX25vbl9zdGFuZGFy
ZF9jb25zdHJ1Y3RzKGNsCiAgICAgICAgIGNsYXNzaW5mby5icmFjZV9kZXB0aCA9IGJyYWNlX2Rl
cHRoCiAKIAotZGVmIGNoZWNrX3NwYWNpbmdfZm9yX2Z1bmN0aW9uX2NhbGwobGluZSwgbGluZV9u
dW1iZXIsIGVycm9yKToKK2RlZiBjaGVja19zcGFjaW5nX2Zvcl9mdW5jdGlvbl9jYWxsKGxpbmUs
IGxpbmVfbnVtYmVyLCBmaWxlX3N0YXRlLCBlcnJvcik6CiAgICAgIiIiQ2hlY2tzIGZvciB0aGUg
Y29ycmVjdG5lc3Mgb2YgdmFyaW91cyBzcGFjaW5nIGFyb3VuZCBmdW5jdGlvbiBjYWxscy4KIAog
ICAgIEFyZ3M6CkBAIC0xNDkwLDcgKzE1MTAsNyBAQCBkZWYgY2hlY2tfc3BhY2luZ19mb3JfZnVu
Y3Rpb25fY2FsbChsaW5lCiAgICAgaWYgKCAgIyBJZ25vcmUgY29udHJvbCBzdHJ1Y3R1cmVzLgog
ICAgICAgICBub3Qgc2VhcmNoKHInXGIoaWZ8Zm9yfHdoaWxlfHN3aXRjaHxyZXR1cm58bmV3fGRl
bGV0ZSlcYicsIGZ1bmN0aW9uX2NhbGwpCiAgICAgICAgICMgSWdub3JlIGxhbWJkYSBmdW5jdGlv
bnMKLSAgICAgICAgYW5kIG5vdCByZWdleF9mb3JfbGFtYmRhX2Z1bmN0aW9ucyhmdW5jdGlvbl9j
YWxsLCBsaW5lX251bWJlciwgZXJyb3IpCisgICAgICAgIGFuZCBub3QgcmVnZXhfZm9yX2xhbWJk
YXNfYW5kX2Jsb2NrcyhmdW5jdGlvbl9jYWxsLCBsaW5lX251bWJlciwgZmlsZV9zdGF0ZSwgZXJy
b3IpCiAgICAgICAgICMgSWdub3JlIHBvaW50ZXJzL3JlZmVyZW5jZXMgdG8gZnVuY3Rpb25zLgog
ICAgICAgICBhbmQgbm90IHNlYXJjaChyJyBcKFteKV0rXClcKFteKV0qKFwpfCwkKScsIGZ1bmN0
aW9uX2NhbGwpCiAgICAgICAgICMgSWdub3JlIHBvaW50ZXJzL3JlZmVyZW5jZXMgdG8gYXJyYXlz
LgpAQCAtMTc0OSw3ICsxNzY5LDcgQEAgZGVmIGNoZWNrX2Zvcl9sZWFreV9wYXR0ZXJucyhjbGVh
bl9saW5lcwogICAgICAgICAgICAgICAnbWVtb3J5IGxlYWtzLicgJSBtYXRjaGVkX2NyZWF0ZV9k
Yy5ncm91cCgnZnVuY3Rpb25fbmFtZScpKQogCiAKLWRlZiBjaGVja19zcGFjaW5nKGZpbGVfZXh0
ZW5zaW9uLCBjbGVhbl9saW5lcywgbGluZV9udW1iZXIsIGVycm9yKToKK2RlZiBjaGVja19zcGFj
aW5nKGZpbGVfZXh0ZW5zaW9uLCBjbGVhbl9saW5lcywgbGluZV9udW1iZXIsIGZpbGVfc3RhdGUs
IGVycm9yKToKICAgICAiIiJDaGVja3MgZm9yIHRoZSBjb3JyZWN0bmVzcyBvZiB2YXJpb3VzIHNw
YWNpbmcgaXNzdWVzIGluIHRoZSBjb2RlLgogCiAgICAgVGhpbmdzIHdlIGNoZWNrIGZvcjogc3Bh
Y2VzIGFyb3VuZCBvcGVyYXRvcnMsIHNwYWNlcyBhZnRlcgpAQCAtMTk4OSw3ICsyMDA5LDcgQEAg
ZGVmIGNoZWNrX3NwYWNpbmcoZmlsZV9leHRlbnNpb24sIGNsZWFuXwogICAgICAgICAgICAgICAg
ICAgJ0RlY2xhcmF0aW9uIGhhcyBzcGFjZSBiZXR3ZWVuICogYW5kIHZhcmlhYmxlIG5hbWUgaW4g
JXMnICUgbWF0Y2hlZC5ncm91cCgwKS5zdHJpcCgpKQogCiAgICAgIyBOZXh0IHdlIHdpbGwgbG9v
ayBmb3IgaXNzdWVzIHdpdGggZnVuY3Rpb24gY2FsbHMuCi0gICAgY2hlY2tfc3BhY2luZ19mb3Jf
ZnVuY3Rpb25fY2FsbChsaW5lLCBsaW5lX251bWJlciwgZXJyb3IpCisgICAgY2hlY2tfc3BhY2lu
Z19mb3JfZnVuY3Rpb25fY2FsbChsaW5lLCBsaW5lX251bWJlciwgZmlsZV9zdGF0ZSwgZXJyb3Ip
CiAKICAgICAjIEV4Y2VwdCBhZnRlciBhbiBvcGVuaW5nIHBhcmVuLCBeIGZvciBibG9ja3MsIG9y
IEAgZm9yIE9iamVjdGl2ZS1DCiAgICAgIyBsaXRlcmFsIE5TRGljdGlvbmFyeSwgeW91IHNob3Vs
ZCBoYXZlIHNwYWNlcyBiZWZvcmUgeW91ciBicmFjZXMuCkBAIC0yNDMwLDcgKzI0NTAsNyBAQCBk
ZWYgY2hlY2tfc3dpdGNoX2luZGVudGF0aW9uKGNsZWFuX2xpbmVzCiAgICAgICAgICAgICBicmVh
awogCiAKLWRlZiBjaGVja19icmFjZXMoY2xlYW5fbGluZXMsIGxpbmVfbnVtYmVyLCBlcnJvcik6
CitkZWYgY2hlY2tfYnJhY2VzKGNsZWFuX2xpbmVzLCBsaW5lX251bWJlciwgZmlsZV9zdGF0ZSwg
ZXJyb3IpOgogICAgICIiIkxvb2tzIGZvciBtaXNwbGFjZWQgYnJhY2VzIChlLmcuIGF0IHRoZSBl
bmQgb2YgbGluZSkuCiAKICAgICBBcmdzOgpAQCAtMjQ1NCw3ICsyNDc0LDcgQEAgZGVmIGNoZWNr
X2JyYWNlcyhjbGVhbl9saW5lcywgbGluZV9udW1iZQogICAgICAgICBwcmV2aW91c19saW5lID0g
Z2V0X3ByZXZpb3VzX25vbl9ibGFua19saW5lKGNsZWFuX2xpbmVzLCBsaW5lX251bWJlcilbMF0K
ICAgICAgICAgaWYgKChub3Qgc2VhcmNoKHInWzs6fXspPV1ccyokfFwpXHMqKChjb25zdHxvdmVy
cmlkZXxjb25zdCBvdmVycmlkZSlccyopPygtPlxzKlxTKyk/XHMqJCcsIHByZXZpb3VzX2xpbmUp
CiAgICAgICAgICAgICAgb3Igc2VhcmNoKHInXGIoaWZ8Zm9yfHdoaWxlfHN3aXRjaHxlbHNlfE5T
X0VOVU0pXGInLCBwcmV2aW91c19saW5lKQotICAgICAgICAgICAgIG9yIHJlZ2V4X2Zvcl9sYW1i
ZGFfZnVuY3Rpb25zKHByZXZpb3VzX2xpbmUsIGxpbmVfbnVtYmVyLCBlcnJvcikpCisgICAgICAg
ICAgICAgb3IgcmVnZXhfZm9yX2xhbWJkYXNfYW5kX2Jsb2NrcyhwcmV2aW91c19saW5lLCBsaW5l
X251bWJlciwgZmlsZV9zdGF0ZSwgZXJyb3IpKQogICAgICAgICAgICAgYW5kIHByZXZpb3VzX2xp
bmUuZmluZCgnIycpIDwgMAogICAgICAgICAgICAgYW5kIHByZXZpb3VzX2xpbmUuZmluZCgnLSAo
JykgIT0gMAogICAgICAgICAgICAgYW5kIHByZXZpb3VzX2xpbmUuZmluZCgnKyAoJykgIT0gMCk6
CkBAIC0yNDYzLDcgKzI0ODMsNyBAQCBkZWYgY2hlY2tfYnJhY2VzKGNsZWFuX2xpbmVzLCBsaW5l
X251bWJlCiAgICAgZWxpZiAoc2VhcmNoKHInXClccyooKChjb25zdHxvdmVycmlkZSlccyopKlxz
Kik/e1xzKiQnLCBsaW5lKQogICAgICAgICAgIGFuZCBsaW5lLmNvdW50KCcoJykgPT0gbGluZS5j
b3VudCgnKScpCiAgICAgICAgICAgYW5kIG5vdCBzZWFyY2gocicoXHMqKGlmfGZvcnx3aGlsZXxz
d2l0Y2h8TlNfRU5VTXxAc3luY2hyb25pemVkKXx9IEBjYXRjaClcYicsIGxpbmUpCi0gICAgICAg
ICAgYW5kIG5vdCByZWdleF9mb3JfbGFtYmRhX2Z1bmN0aW9ucyhsaW5lLCBsaW5lX251bWJlciwg
ZXJyb3IpCisgICAgICAgICAgYW5kIG5vdCByZWdleF9mb3JfbGFtYmRhc19hbmRfYmxvY2tzKGxp
bmUsIGxpbmVfbnVtYmVyLCBmaWxlX3N0YXRlLCBlcnJvcikKICAgICAgICAgICBhbmQgbGluZS5m
aW5kKCJdKCIpIDwgMAogICAgICAgICAgIGFuZCBub3QgbWF0Y2gocidccytbQS1aX11bQS1aXzAt
OV0rXGInLCBsaW5lKSk6CiAgICAgICAgIGVycm9yKGxpbmVfbnVtYmVyLCAnd2hpdGVzcGFjZS9i
cmFjZXMnLCA0LApAQCAtMjgzNSw5ICsyODU1LDkgQEAgZGVmIGNoZWNrX3N0eWxlKGNsZWFuX2xp
bmVzLCBsaW5lX251bWJlcgogICAgIGNoZWNrX3d0Zl9tb3ZlKGNsZWFuX2xpbmVzLCBsaW5lX251
bWJlciwgZmlsZV9zdGF0ZSwgZXJyb3IpCiAgICAgY2hlY2tfY3R5cGVfZnVuY3Rpb25zKGNsZWFu
X2xpbmVzLCBsaW5lX251bWJlciwgZmlsZV9zdGF0ZSwgZXJyb3IpCiAgICAgY2hlY2tfc3dpdGNo
X2luZGVudGF0aW9uKGNsZWFuX2xpbmVzLCBsaW5lX251bWJlciwgZXJyb3IpCi0gICAgY2hlY2tf
YnJhY2VzKGNsZWFuX2xpbmVzLCBsaW5lX251bWJlciwgZXJyb3IpCisgICAgY2hlY2tfYnJhY2Vz
KGNsZWFuX2xpbmVzLCBsaW5lX251bWJlciwgZmlsZV9zdGF0ZSwgZXJyb3IpCiAgICAgY2hlY2tf
ZXhpdF9zdGF0ZW1lbnRfc2ltcGxpZmljYXRpb25zKGNsZWFuX2xpbmVzLCBsaW5lX251bWJlciwg
ZXJyb3IpCi0gICAgY2hlY2tfc3BhY2luZyhmaWxlX2V4dGVuc2lvbiwgY2xlYW5fbGluZXMsIGxp
bmVfbnVtYmVyLCBlcnJvcikKKyAgICBjaGVja19zcGFjaW5nKGZpbGVfZXh0ZW5zaW9uLCBjbGVh
bl9saW5lcywgbGluZV9udW1iZXIsIGZpbGVfc3RhdGUsIGVycm9yKQogICAgIGNoZWNrX21lbWJl
cl9pbml0aWFsaXphdGlvbl9saXN0KGNsZWFuX2xpbmVzLCBsaW5lX251bWJlciwgZXJyb3IpCiAg
ICAgY2hlY2tfY2hlY2soY2xlYW5fbGluZXMsIGxpbmVfbnVtYmVyLCBlcnJvcikKICAgICBjaGVj
a19mb3JfY29tcGFyaXNvbnNfdG9femVybyhjbGVhbl9saW5lcywgbGluZV9udW1iZXIsIGVycm9y
KQpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9jcHBfdW5pdHRl
c3QucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vy
cy9jcHBfdW5pdHRlc3QucHkJKHJldmlzaW9uIDIwNTAxMikKKysrIFRvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvc3R5bGUvY2hlY2tlcnMvY3BwX3VuaXR0ZXN0LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0x
ODgyLDcgKzE4ODIsNyBAQCBjbGFzcyBDcHBTdHlsZVRlc3QoQ3BwU3R5bGVUZXN0QmFzZSk6CiAg
ICAgICAgIHNlbGYuYXNzZXJ0X2xpbnQoJ2ludCBtYWluKGludCBhcmdjLCBjaGFyKiBhZ3J2IFtd
KScsICdFeHRyYSBzcGFjZSBiZWZvcmUgWy4gIFt3aGl0ZXNwYWNlL2JyYWNrZXRzXSBbNV0nKQog
ICAgICAgICBzZWxmLmFzc2VydF9saW50KCcgICAgc3RyIFtzdHJMZW5ndGhdID0gXCdcXDBcJzsn
LCAnRXh0cmEgc3BhY2UgYmVmb3JlIFsuICBbd2hpdGVzcGFjZS9icmFja2V0c10gWzVdJykKIAot
ICAgIGRlZiB0ZXN0X2xhbWJkYV9mdW5jdGlvbnMoc2VsZik6CisgICAgZGVmIHRlc3RfY3BwX2xh
bWJkYV9mdW5jdGlvbnMoc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0X2xpbnQoJyAgICAgICAg
WyZdIChUeXBlIGFyZ3VtZW50KSB7JywgJycpCiAgICAgICAgIHNlbGYuYXNzZXJ0X2xpbnQoJyAg
ICAgICAgW10geycsICcnKQogICAgICAgICBzZWxmLmFzc2VydF9saW50KCcgICAgICAgIFsgPV0g
KFR5cGUgYXJndW1lbnQpIHsnLCAnRXh0cmEgc3BhY2UgaW4gY2FwdHVyZSBsaXN0LiAgW3doaXRl
c3BhY2UvYnJhY2tldHNdIFs0XScpCkBAIC0xODkwLDYgKzE4OTAsMTYgQEAgY2xhc3MgQ3BwU3R5
bGVUZXN0KENwcFN0eWxlVGVzdEJhc2UpOgogICAgICAgICBzZWxmLmFzc2VydF9saW50KCcgICAg
ICAgIFt2YXIgLCB2YXJfcmVmJl0geycsICdFeHRyYSBzcGFjZSBpbiBjYXB0dXJlIGxpc3QuICBb
d2hpdGVzcGFjZS9icmFja2V0c10gWzRdJykKICAgICAgICAgc2VsZi5hc3NlcnRfbGludCgnICAg
ICAgICBbdmFyLHZhcl9yZWYmXSB7JywgJ01pc3Npbmcgc3BhY2UgYWZ0ZXIgLCAgW3doaXRlc3Bh
Y2UvY29tbWFdIFszXScpCiAKKyAgICBkZWYgdGVzdF9vYmplY3RpdmVfY19ibG9jayhzZWxmKToK
KyAgICAgICAgc2VsZi5hc3NlcnRfbGludCgnICAgICAgICBeKHZhciwgdmFyX3JlZikgeycsICcn
LCAnZm9vLm1tJykKKyAgICAgICAgc2VsZi5hc3NlcnRfbGludCgnICAgICAgICBeKHZhciwgdmFy
X3JlZikgeycsICcnLCAnZm9vLm0nKQorICAgICAgICBzZWxmLmFzc2VydF9saW50KCcgICAgICAg
IF4odmFyICwgdmFyX3JlZikgeycsICdFeHRyYSBzcGFjZSBpbiBibG9jayBhcmd1bWVudHMuICBb
d2hpdGVzcGFjZS9icmFja2V0c10gWzRdJywgJ2Zvby5tJykKKyAgICAgICAgc2VsZi5hc3NlcnRf
bGludCgnICAgICAgICBeKHZhcix2YXJfcmVmKSB7JywgJ01pc3Npbmcgc3BhY2UgYWZ0ZXIgLCAg
W3doaXRlc3BhY2UvY29tbWFdIFszXScsICdmb28ubScpCisgICAgICAgIHNlbGYuYXNzZXJ0X2xp
bnQoJyAgICAgICAgXih2YXIsIHZhcl9yZWYpIHsnLCAnUGxhY2UgYnJhY2Ugb24gaXRzIG93biBs
aW5lIGZvciBmdW5jdGlvbiBkZWZpbml0aW9ucy4gIFt3aGl0ZXNwYWNlL2JyYWNlc10gWzRdJywg
J2Zvby5jcHAnKQorICAgICAgICBzZWxmLmFzc2VydF9saW50KCcgICAgICAgIF4geycsICcnLCAn
Zm9vLm0nKQorICAgICAgICBzZWxmLmFzc2VydF9saW50KCcgICAgICAgIF57JywgJ05vIHNwYWNl
IGJldHdlZW4gXiBhbmQgYmxvY2sgZGVmaW5pdGlvbi4gIFt3aGl0ZXNwYWNlL2JyYWNrZXRzXSBb
NF0nLCAnZm9vLm0nKQorICAgICAgICBzZWxmLmFzc2VydF9saW50KCcgICAgICAgIF4gKGFyZzEs
IGFyZzIpIHsnLCAnRXh0cmEgc3BhY2UgYmV0d2VlbiBeIGFuZCBibG9jayBhcmd1bWVudHMuICBb
d2hpdGVzcGFjZS9icmFja2V0c10gWzRdJywgJ2Zvby5tJykKKwogICAgIGRlZiB0ZXN0X3NwYWNp
bmdfYXJvdW5kX2Vsc2Uoc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0X2xpbnQoJ31lbHNlIHsn
LCAnTWlzc2luZyBzcGFjZSBiZWZvcmUgZWxzZScKICAgICAgICAgICAgICAgICAgICAgICAgICAn
ICBbd2hpdGVzcGFjZS9icmFjZXNdIFs1XScpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>