<?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>140637</bug_id>
          
          <creation_ts>2015-01-19 12:54:38 -0800</creation_ts>
          <short_desc>Fix EWS python unit tests and address code comments as per 140476</short_desc>
          <delta_ts>2015-01-22 20:00:49 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>140476</dependson>
          <blocked>140787</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jake Nielsen">jake.nielsen.webkit</reporter>
          <assigned_to name="Jake Nielsen">jake.nielsen.webkit</assigned_to>
          <cc>ap</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>mrobinson</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1062471</commentid>
    <comment_count>0</comment_count>
    <who name="Jake Nielsen">jake.nielsen.webkit</who>
    <bug_when>2015-01-19 12:54:38 -0800</bug_when>
    <thetext>Fix EWS python unit tests and address code comments as per 140476</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1062477</commentid>
    <comment_count>1</comment_count>
      <attachid>244920</attachid>
    <who name="Jake Nielsen">jake.nielsen.webkit</who>
    <bug_when>2015-01-19 13:05:17 -0800</bug_when>
    <thetext>Created attachment 244920
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1062480</commentid>
    <comment_count>2</comment_count>
    <who name="Jake Nielsen">jake.nielsen.webkit</who>
    <bug_when>2015-01-19 13:09:33 -0800</bug_when>
    <thetext>Martin/Carlos, is the default architecture in ews.json correct for GTK?
Gyuyoung, is the default correct for EFL?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1062503</commentid>
    <comment_count>3</comment_count>
      <attachid>244920</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2015-01-19 14:24:15 -0800</bug_when>
    <thetext>Comment on attachment 244920
Patch

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

I&apos;m unclear why we need logic for the default architecture as opposed to letting the tools that the EWS call (e.g. build-webkit) determine the default architecture. Is it not sufficient to only teach webkit-patch and the EWS to pass the specified architecture (given as a command line argument when you start the EWS) to the tools is calls? I mean, it seems weird that we have logic to determine the default architecture for the EWS code given that we have existing logic to compute a default architecture in webkitdirs.pm, which is used by build-webkit and other Perl tools.

&gt; Tools/Scripts/webkitpy/common/config/ews.json:4
&gt; +        &quot;architecture&quot;: &quot;x86&quot;,

We&apos;ll need to confirm this.

&gt; Tools/Scripts/webkitpy/common/config/ews.json:11
&gt; +        &quot;architecture&quot;: &quot;x86&quot;,

Ditto.

&gt; Tools/Scripts/webkitpy/common/config/ews.json:18
&gt; +        &quot;architecture&quot;: &quot;x86&quot;

I&apos;m surprised we don&apos;t have 64-bit hardware.

&gt; Tools/Scripts/webkitpy/port/base.py:108
&gt; +        if not self.get_option(&apos;architecture&apos;):
&gt; +            self.set_option(&apos;architecture&apos;, self.DEFAULT_ARCHITECTURE)

We can simplify this code by taking advantage of the convenience function set_option_default() that conditionally sets the value of the specified attribute to the specified value if it doesn&apos;t already have a value.

self.set_option_default(&apos;architecture&apos;, self.DEFAULT_ARCHITECTURE)

&gt; Tools/Scripts/webkitpy/tool/commands/queues.py:77
&gt; +        if not hasattr(self, &apos;architecture&apos;):

How did you come to the decision to check for the existence of the attribute architecture as opposed to setting it directly? I take it you&apos;re worried about the order of calling super() in a derived class?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1062564</commentid>
    <comment_count>4</comment_count>
    <who name="Jake Nielsen">jake.nielsen.webkit</who>
    <bug_when>2015-01-19 17:25:46 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; Comment on attachment 244920 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=244920&amp;action=review
&gt; 
&gt; I&apos;m unclear why we need logic for the default architecture as opposed to
&gt; letting the tools that the EWS call (e.g. build-webkit) determine the
&gt; default architecture. Is it not sufficient to only teach webkit-patch and
&gt; the EWS to pass the specified architecture (given as a command line argument
&gt; when you start the EWS) to the tools is calls? I mean, it seems weird that
&gt; we have logic to determine the default architecture for the EWS code given
&gt; that we have existing logic to compute a default architecture in
&gt; webkitdirs.pm, which is used by build-webkit and other Perl tools.
&gt; 
&gt; &gt; Tools/Scripts/webkitpy/common/config/ews.json:4
&gt; &gt; +        &quot;architecture&quot;: &quot;x86&quot;,
&gt; 
&gt; We&apos;ll need to confirm this.
&gt; 
&gt; &gt; Tools/Scripts/webkitpy/common/config/ews.json:11
&gt; &gt; +        &quot;architecture&quot;: &quot;x86&quot;,
&gt; 
&gt; Ditto.
&gt; 
&gt; &gt; Tools/Scripts/webkitpy/common/config/ews.json:18
&gt; &gt; +        &quot;architecture&quot;: &quot;x86&quot;
&gt; 
&gt; I&apos;m surprised we don&apos;t have 64-bit hardware.

^ I&apos;ll remove these from ews.json

&gt; 
&gt; &gt; Tools/Scripts/webkitpy/port/base.py:108
&gt; &gt; +        if not self.get_option(&apos;architecture&apos;):
&gt; &gt; +            self.set_option(&apos;architecture&apos;, self.DEFAULT_ARCHITECTURE)
&gt; 
&gt; We can simplify this code by taking advantage of the convenience function
&gt; set_option_default() that conditionally sets the value of the specified
&gt; attribute to the specified value if it doesn&apos;t already have a value.
&gt; 
&gt; self.set_option_default(&apos;architecture&apos;, self.DEFAULT_ARCHITECTURE)

I agree, that is simpler. Unfortunately we now need a state variable, so we&apos;re going to need to check for the existence of the architecture option anyway.

&gt; 
&gt; &gt; Tools/Scripts/webkitpy/tool/commands/queues.py:77
&gt; &gt; +        if not hasattr(self, &apos;architecture&apos;):
&gt; 
&gt; How did you come to the decision to check for the existence of the attribute
&gt; architecture as opposed to setting it directly? I take it you&apos;re worried
&gt; about the order of calling super() in a derived class?

Yes. In particular when the EarlyWarningSystem classes are dynamically created, they are created with the architecture attribute before the initializer runs. Without this check they get set to None erroneously.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1062571</commentid>
    <comment_count>5</comment_count>
      <attachid>244944</attachid>
    <who name="Jake Nielsen">jake.nielsen.webkit</who>
    <bug_when>2015-01-19 17:37:21 -0800</bug_when>
    <thetext>Created attachment 244944
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1062796</commentid>
    <comment_count>6</comment_count>
      <attachid>244944</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-01-20 10:36:04 -0800</bug_when>
    <thetext>Comment on attachment 244944
Patch

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

r=me with the suggested fixes.

&gt; Tools/Scripts/webkitpy/port/base.py:104
&gt; +        # This member variable shouldn&apos;t have to exist, but it will be needed until the correct
&gt; +        # default architectures for the GTK and EFL EWS bots are known.
&gt; +        # FIXME: Remove this member variable.

Please reword this as:

# FIXME: This can be removed once default architectures for GTK and EFL EWS bots are set.

&gt; Tools/Scripts/webkitpy/port/base.py:105
&gt; +        self.did_override_architecture = True

Please set this to False by default, and only set it to true when the setter is called.

&gt; Tools/Scripts/webkitpy/port/base.py:113
&gt; +            self.did_override_architecture = False

Remove this line if self.did_override_architecture defaults to False.

&gt; Tools/Scripts/webkitpy/port/ios.py:49
&gt; +    VERSION_FALLBACK_ORDER = [&apos;ios-7&apos;, &apos;ios-8&apos;, &apos;ios-9&apos;]

Remove &apos;ios-9&apos; here since we don&apos;t need a fallback for ios-9 until ios-10 exists.

&gt; Tools/Scripts/webkitpy/port/ios.py:50
&gt; +    DEFAULT_ARCHITECTURE = &apos;armv7&apos;

Nit: Put this after ARCHITECTURES but before VERSION_FALLBACK_ORDER.

&gt; Tools/Scripts/webkitpy/tool/commands/queues.py:282
&gt; +        self._port.set_architecture(self.architecture)

Should probably only set this if self.architecture is not None?

    if self.architecture:
        self._port.set_architecture(self.architecture)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1062869</commentid>
    <comment_count>7</comment_count>
      <attachid>245015</attachid>
    <who name="Jake Nielsen">jake.nielsen.webkit</who>
    <bug_when>2015-01-20 13:55:16 -0800</bug_when>
    <thetext>Created attachment 245015
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1062873</commentid>
    <comment_count>8</comment_count>
      <attachid>245015</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-01-20 14:01:03 -0800</bug_when>
    <thetext>Comment on attachment 245015
Patch

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

r=me

&gt; Tools/Scripts/webkitpy/port/ios.py:50
&gt; +    VERSION_FALLBACK_ORDER = [&apos;ios-7&apos;, &apos;ios-8&apos;, &apos;ios-9&apos;]

Talked to Jake in person; it&apos;s fine to add this for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1062892</commentid>
    <comment_count>9</comment_count>
      <attachid>245015</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-01-20 14:43:48 -0800</bug_when>
    <thetext>Comment on attachment 245015
Patch

Clearing flags on attachment: 245015

Committed r178757: &lt;http://trac.webkit.org/changeset/178757&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1062893</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-01-20 14:43:55 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>244920</attachid>
            <date>2015-01-19 13:05:17 -0800</date>
            <delta_ts>2015-01-19 17:37:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140637-20150119130524.patch</filename>
            <type>text/plain</type>
            <size>12063</size>
            <attacher name="Jake Nielsen">jake.nielsen.webkit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc4NjUzCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYmMwMDRhOGIzYzM4MjU3YWJjMjNjYmQ5MDA0NWZlYmY1
ZDhmNTcxMy4uNWNhOGRmOWQwNDJiNGVkMzI5NmE3NTQ4YWZlMDM4ZjZhMmQwYzNkZSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUx
IEBACisyMDE1LTAxLTE5ICBKYWtlIE5pZWxzZW4gIDxqYWNvYl9uaWVsc2VuQGFwcGxlLmNvbT4K
KworICAgICAgICBGaXggRVdTIHB5dGhvbiB1bml0IHRlc3RzIGFuZCBhZGRyZXNzIGNvZGUgY29t
bWVudHMgYXMgcGVyIDE0MDQ3NgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTQwNjM3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jb25maWcvZXdzLmpzb246Cisg
ICAgICAgIEFkZHMgYXBwcm9wcmlhdGUgYXJjaGl0ZWN0dXJlIHNldHRpbmdzLgorICAgICAgICAq
IFNjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlLnB5OgorICAgICAgICAoUG9ydCk6CisgICAgICAg
IChQb3J0Ll9faW5pdF9fKToKKyAgICAgICAgQWRkcyBERUZBVUxUX0FSQ0hJVEVDVFVSRSBtZW1i
ZXIuCisgICAgICAgIChQb3J0LmFyY2hpdGVjdHVyZSk6CisgICAgICAgIFJlbW92ZXMgYXJjaGl0
ZWN0dXJlIG1lbWJlciBhbmQgaW5zdGVhZCB1c2VzCisgICAgICAgIHNlbGYuZ2V0X29wdGlvbign
YXJjaGl0ZWN0dXJlJykuIEFsc28gcmVtb3ZlcyByZWR1bmRhbnQgYXJjaGl0ZWN0dXJlCisgICAg
ICAgIG1ldGhvZC4KKyAgICAgICAgKFBvcnQudGVzdF9jb25maWd1cmF0aW9uKToKKyAgICAgICAg
VXNlcyBzZWxmLmFyY2hpdGVjdHVyZSgpIGluc3RlYWQgb2Ygc2VsZi5fYXJjaGl0ZWN0dXJlLgor
ICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC9pb3MucHk6CisgICAgICAgIE92ZXJyaWRl
cyBERUZBVUxUX0FSQ0hJVEVDVFVSRS4KKyAgICAgICAgKElPU1BvcnQpOgorICAgICAgICAoSU9T
UG9ydC5kZXRlcm1pbmVfZnVsbF9wb3J0X25hbWUpOgorICAgICAgICBVc2VzIHN1YnByb2Nlc3Mu
Y2hlY2tfb3V0cHV0IGluc3RlYWQgb2YgUG9wZW4uIFVzZXMgcnN0cmlwIGluc3RlYWQgb2YKKyAg
ICAgICAgc3RyaXAuIEZpeGVzIHJlZ2V4IHRvIG5vdCBtYXRjaCBhcmJpdHJhcnkgY2hhcmFjdGVy
cyBhZnRlciB0aGUKKyAgICAgICAgcmVsZXZlbnQgZGlnaXRzIGFyZSBtYXRjaGVkLgorICAgICAg
ICAoSU9TUG9ydC5fX2luaXRfXyk6CisgICAgICAgIFJlbW92ZXMgb2xkIF9hcmNoaXRlY3R1cmUg
ZGVmYXVsdGluZyBzdHJhdGVneS4KKyAgICAgICAgKElPU1BvcnQuX2J1aWxkX2RyaXZlcl9mbGFn
cyk6CisgICAgICAgIFVzZXMgc2VsZi5hcmNoaXRlY3R1cmUoKSBpbnN0ZWFkIG9mIHNlbGYuX2Fy
Y2hpdGVjdHVyZS4KKyAgICAgICAgKElPU1NpbXVsYXRvclBvcnQpOgorICAgICAgICBPdmVycmlk
ZXMgREVGQVVMVF9BUkNISVRFQ1RVUkUuCisgICAgICAgIChJT1NTaW11bGF0b3JQb3J0Ll9faW5p
dF9fKToKKyAgICAgICAgUmVtb3ZlcyBvbGQgX2FyY2hpdGVjdHVyZSBkZWZhdWx0aW5nIHN0cmF0
ZWd5LgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC9tYWMucHk6CisgICAgICAgIChN
YWNQb3J0KToKKyAgICAgICAgT3ZlcnJpZGVzIERFRkFVTFRfQVJDSElURUNUVVJFLgorICAgICAg
ICAoTWFjUG9ydC5fX2luaXRfXyk6CisgICAgICAgIFJlbW92ZXMgb2xkIF9hcmNoaXRlY3R1cmUg
ZGVmYXVsdGluZyBzdHJhdGVneS4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29t
bWFuZHMvZWFybHl3YXJuaW5nc3lzdGVtX3VuaXR0ZXN0LnB5OgorICAgICAgICBVc2VzIGV3cy5h
cmNoaXRlY3R1cmUgcmF0aGVyIHRoYW4gdHJ5aW5nIHRvIGRpc2Nlcm4gdGhlIGNvcnJlY3QKKyAg
ICAgICAgYXJjaGl0ZWN0dXJlIHVzaW5nIGEgcG9ydCBvYmplY3QuCisgICAgICAgIChFYXJseVdh
cm5pbmdTeXN0ZW1UZXN0Ll9kZWZhdWx0X2V4cGVjdGVkX2xvZ3MpOgorICAgICAgICAqIFNjcmlw
dHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9xdWV1ZXMucHk6CisgICAgICAgIFJlbW92ZXMgdXNl
IG9mIG9wdHBhcnNlLCBhbmQgcmVtb3ZlcyB0aGUgaW1wb3J0IHN0YXRlbWVudC4KKyAgICAgICAg
KEFic3RyYWN0UXVldWUuX19pbml0X18pOgorICAgICAgICAoUGF0Y2hQcm9jZXNzaW5nUXVldWUu
YmVnaW5fd29ya19xdWV1ZSk6CisKIDIwMTUtMDEtMTkgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxh
cEBhcHBsZS5jb20+CiAKICAgICAgICAgIlVua25vd24gb3B0aW9uOiBzaGFyZWR3b3JrZXJnbG9i
YWxzY29wZWNvbnN0cnVjdG9yc2ZpbGUiIHdoZW4gcnVubmluZyBiaW5kaW5ncyB0ZXN0cy4KZGlm
ZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NvbmZpZy9ld3MuanNvbiBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NvbmZpZy9ld3MuanNvbgppbmRleCAwM2Uz
OGRkY2ViOTA4ZGZmODUzMjY4MzBkNDBiYWNmZDljOWIyNjQ2Li43M2QzZWQ2YTAyYTYxZGFiYmU0
ZWFiOTljODE1ZjIwYzdjMWRjYjUwIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2NvbW1vbi9jb25maWcvZXdzLmpzb24KKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21t
b24vY29uZmlnL2V3cy5qc29uCkBAIC0xLDE4ICsxLDIxIEBACiB7CiAgICAgIkdUSyBXSzIgRVdT
IjogewogICAgICAgICAicG9ydCI6ICJndGstd2syIiwKKyAgICAgICAgImFyY2hpdGVjdHVyZSI6
ICJ4ODYiLAogICAgICAgICAid2F0Y2hlcnMiOiBbCiAgICAgICAgICAgICAieGFuLmxvcGV6QGdt
YWlsLmNvbSIKICAgICAgICAgXQogICAgIH0sCiAgICAgIkVGTCBXSzIgRVdTIjogewogICAgICAg
ICAicG9ydCI6ICJlZmwtd2syIiwKKyAgICAgICAgImFyY2hpdGVjdHVyZSI6ICJ4ODYiLAogICAg
ICAgICAid2F0Y2hlcnMiOiBbCiAgICAgICAgICAgICAiZ3l1eW91bmcua2ltQHdlYmtpdC5vcmci
CiAgICAgICAgIF0KICAgICB9LAogICAgICJXaW4gRVdTIjogewotICAgICAgICAicG9ydCI6ICJ3
aW4iCisgICAgICAgICJwb3J0IjogIndpbiIsCisgICAgICAgICJhcmNoaXRlY3R1cmUiOiAieDg2
IgogICAgIH0sCiAgICAgImlPUyBFV1MiOiB7CiAgICAgICAgICJwb3J0IjogImlvcyIsCkBAIC0y
MCw2ICsyMyw3IEBACiAgICAgfSwKICAgICAiTWFjIEVXUyI6IHsKICAgICAgICAgInBvcnQiOiAi
bWFjIiwKKyAgICAgICAgImFyY2hpdGVjdHVyZSI6ICJ4ODZfNjQiLAogICAgICAgICAid2F0Y2hl
cnMiOiBbCiAgICAgICAgICAgICAicm5pd2FAd2Via2l0Lm9yZyIKICAgICAgICAgXSwKQEAgLTI3
LDYgKzMxLDcgQEAKICAgICB9LAogICAgICJNYWMgV0syIEVXUyI6IHsKICAgICAgICAgInBvcnQi
OiAibWFjLXdrMiIsCisgICAgICAgICJhcmNoaXRlY3R1cmUiOiAieDg2XzY0IiwKICAgICAgICAg
IndhdGNoZXJzIjogWwogICAgICAgICAgICAgInJuaXdhQHdlYmtpdC5vcmciCiAgICAgICAgIF0s
CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvYmFzZS5weSBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlLnB5CmluZGV4IGE2ZDczMzBhYWU4Y2JjODEyMTky
MDQ0NzNjNjhhOTMxZTIxOGZlZGYuLmI4ZDE5ZGI1ZWExZTRjN2FmZWFhMDY5Yzg5ZDY3Zjk3YTM5
YjEyYzUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlLnB5Cisr
KyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlLnB5CkBAIC03OCw2ICs3OCw4IEBA
IGNsYXNzIFBvcnQob2JqZWN0KToKIAogICAgIEFMTF9CVUlMRF9UWVBFUyA9ICgnZGVidWcnLCAn
cmVsZWFzZScpCiAKKyAgICBERUZBVUxUX0FSQ0hJVEVDVFVSRSA9ICd4ODYnCisKICAgICBAY2xh
c3NtZXRob2QKICAgICBkZWYgZGV0ZXJtaW5lX2Z1bGxfcG9ydF9uYW1lKGNscywgaG9zdCwgb3B0
aW9ucywgcG9ydF9uYW1lKToKICAgICAgICAgIiIiUmV0dXJuIGEgZnVsbHktc3BlY2lmaWVkIHBv
cnQgbmFtZSB0aGF0IGNhbiBiZSB1c2VkIHRvIGNvbnN0cnVjdCBvYmplY3RzLiIiIgpAQCAtOTYs
MTMgKzk4LDE1IEBAIGNsYXNzIFBvcnQob2JqZWN0KToKIAogICAgICAgICAjIFRoZXNlIGFyZSBk
ZWZhdWx0IHZhbHVlcyB0aGF0IHNob3VsZCBiZSBvdmVycmlkZGVuIGluIGEgc3ViY2xhc3Nlcy4K
ICAgICAgICAgc2VsZi5fdmVyc2lvbiA9ICcnCi0gICAgICAgIHNlbGYuX2FyY2hpdGVjdHVyZSA9
ICd4ODYnCiAKICAgICAgICAgIyBGSVhNRTogSWRlYWxseSB3ZSdkIGhhdmUgYSBwYWNrYWdlLXdp
ZGUgd2F5IHRvIGdldCBhCiAgICAgICAgICMgd2VsbC1mb3JtZWQgb3B0aW9ucyBvYmplY3QgdGhh
dCBoYWQgYWxsIG9mIHRoZSBuZWNlc3NhcnkKICAgICAgICAgIyBvcHRpb25zIGRlZmluZWQgb24g
aXQuCiAgICAgICAgIHNlbGYuX29wdGlvbnMgPSBvcHRpb25zIG9yIG9wdHBhcnNlLlZhbHVlcygp
CiAKKyAgICAgICAgaWYgbm90IHNlbGYuZ2V0X29wdGlvbignYXJjaGl0ZWN0dXJlJyk6CisgICAg
ICAgICAgICBzZWxmLnNldF9vcHRpb24oJ2FyY2hpdGVjdHVyZScsIHNlbGYuREVGQVVMVF9BUkNI
SVRFQ1RVUkUpCisKICAgICAgICAgaWYgc2VsZi5fbmFtZSBhbmQgJy13azInIGluIHNlbGYuX25h
bWU6CiAgICAgICAgICAgICBzZWxmLl9vcHRpb25zLndlYmtpdF90ZXN0X3J1bm5lciA9IFRydWUK
IApAQCAtMTI4LDcgKzEzMiw3IEBAIGNsYXNzIFBvcnQob2JqZWN0KToKICAgICAgICAgc2VsZi5f
amhidWlsZF93cmFwcGVyID0gW10KIAogICAgIGRlZiBhcmNoaXRlY3R1cmUoc2VsZik6Ci0gICAg
ICAgIHJldHVybiBzZWxmLl9hcmNoaXRlY3R1cmUKKyAgICAgICAgcmV0dXJuIHNlbGYuZ2V0X29w
dGlvbignYXJjaGl0ZWN0dXJlJykKIAogICAgIGRlZiBhZGRpdGlvbmFsX2RydF9mbGFnKHNlbGYp
OgogICAgICAgICByZXR1cm4gW10KQEAgLTcxMyw5ICs3MTcsNiBAQCBjbGFzcyBQb3J0KG9iamVj
dCk6CiAgICAgICAgIGV4cGVjdGF0aW9ucywgZGV0ZXJtaW5pbmcgc2VhcmNoIHBhdGhzLCBhbmQg
bG9nZ2luZyBpbmZvcm1hdGlvbi4iIiIKICAgICAgICAgcmV0dXJuIHNlbGYuX3ZlcnNpb24KIAot
ICAgIGRlZiBhcmNoaXRlY3R1cmUoc2VsZik6Ci0gICAgICAgIHJldHVybiBzZWxmLl9hcmNoaXRl
Y3R1cmUKLQogICAgIGRlZiBnZXRfb3B0aW9uKHNlbGYsIG5hbWUsIGRlZmF1bHRfdmFsdWU9Tm9u
ZSk6CiAgICAgICAgIHJldHVybiBnZXRhdHRyKHNlbGYuX29wdGlvbnMsIG5hbWUsIGRlZmF1bHRf
dmFsdWUpCiAKQEAgLTkyMyw3ICs5MjQsNyBAQCBjbGFzcyBQb3J0KG9iamVjdCk6CiAgICAgZGVm
IHRlc3RfY29uZmlndXJhdGlvbihzZWxmKToKICAgICAgICAgIiIiUmV0dXJucyB0aGUgY3VycmVu
dCBUZXN0Q29uZmlndXJhdGlvbiBmb3IgdGhlIHBvcnQuIiIiCiAgICAgICAgIGlmIG5vdCBzZWxm
Ll90ZXN0X2NvbmZpZ3VyYXRpb246Ci0gICAgICAgICAgICBzZWxmLl90ZXN0X2NvbmZpZ3VyYXRp
b24gPSBUZXN0Q29uZmlndXJhdGlvbihzZWxmLl92ZXJzaW9uLCBzZWxmLl9hcmNoaXRlY3R1cmUs
IHNlbGYuX29wdGlvbnMuY29uZmlndXJhdGlvbi5sb3dlcigpKQorICAgICAgICAgICAgc2VsZi5f
dGVzdF9jb25maWd1cmF0aW9uID0gVGVzdENvbmZpZ3VyYXRpb24oc2VsZi5fdmVyc2lvbiwgc2Vs
Zi5hcmNoaXRlY3R1cmUoKSwgc2VsZi5fb3B0aW9ucy5jb25maWd1cmF0aW9uLmxvd2VyKCkpCiAg
ICAgICAgIHJldHVybiBzZWxmLl90ZXN0X2NvbmZpZ3VyYXRpb24KIAogICAgICMgRklYTUU6IEJl
bG9uZ3Mgb24gYSBQbGF0Zm9ybSBvYmplY3QuCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L3BvcnQvaW9zLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2lvcy5weQpp
bmRleCA3MTBhMjdkYzczMGRhMDRjNTEyMTk4OWY0MDYwYWY5NmUxZmUxNzBlLi5jNWYwZWQ1NTJk
YTAyODkzNTUwMzU1YWZlZGNlNjRkM2VkMzEwNTBlIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L3BvcnQvaW9zLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9p
b3MucHkKQEAgLTQ3LDM0ICs0NywyOSBAQCBjbGFzcyBJT1NQb3J0KEFwcGxlUG9ydCk6CiAKICAg
ICBBUkNISVRFQ1RVUkVTID0gWydhcm12NycsICdhcm12N3MnLCAnYXJtNjQnXQogICAgIFZFUlNJ
T05fRkFMTEJBQ0tfT1JERVIgPSBbJ2lvcy03JywgJ2lvcy04J10KKyAgICBERUZBVUxUX0FSQ0hJ
VEVDVFVSRSA9ICdhcm12NycKIAogICAgIEBjbGFzc21ldGhvZAogICAgIGRlZiBkZXRlcm1pbmVf
ZnVsbF9wb3J0X25hbWUoY2xzLCBob3N0LCBvcHRpb25zLCBwb3J0X25hbWUpOgogICAgICAgICBp
ZiBwb3J0X25hbWUgPT0gY2xzLnBvcnRfbmFtZToKICAgICAgICAgICAgIHNka192ZXJzaW9uID0g
JzguMCcKICAgICAgICAgICAgIGlmIGhvc3QucGxhdGZvcm0uaXNfbWFjKCk6Ci0gICAgICAgICAg
ICAgICAgc2RrX2NvbW1hbmRfcHJvY2VzcyA9IHN1YnByb2Nlc3MuUG9wZW4oJ3hjcnVuIC0tc2Rr
IGlwaG9uZW9zIC0tc2hvdy1zZGstdmVyc2lvbicsIHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUsIHN0
ZGVycj1Ob25lLCBzaGVsbD1UcnVlKQotICAgICAgICAgICAgICAgIHNka19jb21tYW5kX291dHB1
dCA9IHNka19jb21tYW5kX3Byb2Nlc3MuY29tbXVuaWNhdGUoKVswXS5zdHJpcCgpCisgICAgICAg
ICAgICAgICAgc2RrX2NvbW1hbmRfb3V0cHV0ID0gc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoWycv
dXNyL2Jpbi94Y3J1bicsICctLXNkaycsICdpcGhvbmVvcycsICctLXNob3ctc2RrLXZlcnNpb24n
XSwgc3RkZXJyPU5vbmUpLnJzdHJpcCgpCiAgICAgICAgICAgICAgICAgaWYgc2RrX2NvbW1hbmRf
b3V0cHV0OgogICAgICAgICAgICAgICAgICAgICBzZGtfdmVyc2lvbiA9IHNka19jb21tYW5kX291
dHB1dAogCi0gICAgICAgICAgICBwb3J0X25hbWUgPSBwb3J0X25hbWUgKyAnLScgKyByZS5tYXRj
aCgnXihbMC05XSspLionLCBzZGtfdmVyc2lvbikuZ3JvdXAoMSkKKyAgICAgICAgICAgIHBvcnRf
bmFtZSA9IHBvcnRfbmFtZSArICctJyArIHJlLm1hdGNoKCdeKFswLTldKyknLCBzZGtfdmVyc2lv
bikuZ3JvdXAoMSkKIAogICAgICAgICByZXR1cm4gcG9ydF9uYW1lCiAKICAgICBkZWYgX19pbml0
X18oc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKICAgICAgICAgc3VwZXIoSU9TUG9ydCwgc2VsZiku
X19pbml0X18oKmFyZ3MsICoqa3dhcmdzKQogCi0gICAgICAgIHNlbGYuX2FyY2hpdGVjdHVyZSA9
IHNlbGYuZ2V0X29wdGlvbignYXJjaGl0ZWN0dXJlJykKLQotICAgICAgICBpZiBub3Qgc2VsZi5f
YXJjaGl0ZWN0dXJlOgotICAgICAgICAgICAgc2VsZi5fYXJjaGl0ZWN0dXJlID0gJ2FybXY3Jwot
CiAgICAgICAgIHNlbGYuX3Rlc3RpbmdfZGV2aWNlID0gTm9uZQogCiAgICAgIyBEZXNwaXRlIHRo
ZWlyIG5hbWVzLCB0aGVzZSBmbGFncyBkbyBub3QgYWN0dWFsbHkgZ2V0IHBhc3NlZCBhbGwgdGhl
IHdheSBkb3duIHRvIHdlYmtpdC1idWlsZC4KICAgICBkZWYgX2J1aWxkX2RyaXZlcl9mbGFncyhz
ZWxmKToKLSAgICAgICAgcmV0dXJuIFsnLS1zZGsnLCAnaXBob25lb3MnXSArIChbJ0FSQ0hTPSVz
JyAlIHNlbGYuX2FyY2hpdGVjdHVyZV0gaWYgc2VsZi5fYXJjaGl0ZWN0dXJlIGVsc2UgW10pCisg
ICAgICAgIHJldHVybiBbJy0tc2RrJywgJ2lwaG9uZW9zJ10gKyAoWydBUkNIUz0lcycgJSBzZWxm
LmFyY2hpdGVjdHVyZSgpXSBpZiBzZWxmLmFyY2hpdGVjdHVyZSgpIGVsc2UgW10pCiAKICAgICBk
ZWYgb3BlcmF0aW5nX3N5c3RlbShzZWxmKToKICAgICAgICAgcmV0dXJuICdpb3MnCkBAIC04Nywx
NiArODIsMTMgQEAgY2xhc3MgSU9TU2ltdWxhdG9yUG9ydChQb3J0KToKIAogICAgIEFSQ0hJVEVD
VFVSRVMgPSBbJ3g4Nl82NCcsICd4ODYnXQogCisgICAgREVGQVVMVF9BUkNISVRFQ1RVUkUgPSAn
eDg2XzY0JworCiAgICAgcmVsYXlfbmFtZSA9ICdMYXlvdXRUZXN0UmVsYXknCiAKICAgICBkZWYg
X19pbml0X18oc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKICAgICAgICAgc3VwZXIoSU9TU2ltdWxh
dG9yUG9ydCwgc2VsZikuX19pbml0X18oKmFyZ3MsICoqa3dhcmdzKQogCi0gICAgICAgIHNlbGYu
X2FyY2hpdGVjdHVyZSA9IHNlbGYuZ2V0X29wdGlvbignYXJjaGl0ZWN0dXJlJykKLQotICAgICAg
ICBpZiBub3Qgc2VsZi5fYXJjaGl0ZWN0dXJlOgotICAgICAgICAgICAgc2VsZi5fYXJjaGl0ZWN0
dXJlID0gJ3g4Nl82NCcKLQogICAgICAgICBzZWxmLl9sZWFrX2RldGVjdG9yID0gTGVha0RldGVj
dG9yKHNlbGYpCiAgICAgICAgIGlmIHNlbGYuZ2V0X29wdGlvbigibGVha3MiKToKICAgICAgICAg
ICAgICMgRHVtcFJlbmRlclRyZWUgc2xvd3MgZG93biBub3RpY2FibHkgaWYgd2UgcnVuIG1vcmUg
dGhhbiBhYm91dCAxMDAwIHRlc3RzIGluIGEgYmF0Y2gKZGlmZiAtLWdpdCBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvcG9ydC9tYWMucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbWFj
LnB5CmluZGV4IDhlMjg3MDViNzBhMjdlZTMyZTEyYjc5YjRiZjg4MzlhYTA3YWExNGMuLmQ2YjVk
MjEwYWUxMDcxM2RmYTIwODkyMzkwOTQ1Mzc3YmIyZDIwNzQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvcG9ydC9tYWMucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9w
b3J0L21hYy5weQpAQCAtNDgsMTIgKzQ4LDEwIEBAIGNsYXNzIE1hY1BvcnQoQXBwbGVQb3J0KToK
IAogICAgIEFSQ0hJVEVDVFVSRVMgPSBbJ3g4Nl82NCcsICd4ODYnXQogCisgICAgREVGQVVMVF9B
UkNISVRFQ1RVUkUgPSAneDg2XzY0JworCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGhvc3QsIHBv
cnRfbmFtZSwgKiprd2FyZ3MpOgogICAgICAgICBBcHBsZVBvcnQuX19pbml0X18oc2VsZiwgaG9z
dCwgcG9ydF9uYW1lLCAqKmt3YXJncykKLSAgICAgICAgc2VsZi5fYXJjaGl0ZWN0dXJlID0gc2Vs
Zi5nZXRfb3B0aW9uKCdhcmNoaXRlY3R1cmUnKQotCi0gICAgICAgIGlmIG5vdCBzZWxmLl9hcmNo
aXRlY3R1cmU6Ci0gICAgICAgICAgICBzZWxmLl9hcmNoaXRlY3R1cmUgPSAneDg2XzY0JwogCiAg
ICAgICAgIHNlbGYuX2xlYWtfZGV0ZWN0b3IgPSBMZWFrRGV0ZWN0b3Ioc2VsZikKICAgICAgICAg
aWYgc2VsZi5nZXRfb3B0aW9uKCJsZWFrcyIpOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS90b29sL2NvbW1hbmRzL2Vhcmx5d2FybmluZ3N5c3RlbV91bml0dGVzdC5weSBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9lYXJseXdhcm5pbmdzeXN0ZW1fdW5p
dHRlc3QucHkKaW5kZXggNmY3ZDRhYjY2NmU3Y2Q0NGQwZTNmNTE3OWY0ZmY0NzlhZmYxZDVhMi4u
ZTQzMGNjMTgwZTFkOTdkNzk0ZmM5OTdmOTYzMjk5NDIzNzEwMmEwNCAxMDA2NDQKLS0tIGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL2Vhcmx5d2FybmluZ3N5c3RlbV91bml0
dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvZWFybHl3
YXJuaW5nc3lzdGVtX3VuaXR0ZXN0LnB5CkBAIC02MCwxMyArNjAsMTAgQEAgY2xhc3MgQWJzdHJh
Y3RFYXJseVdhcm5pbmdTeXN0ZW1UZXN0KFF1ZXVlc1Rlc3QpOgogCiBjbGFzcyBFYXJseVdhcm5p
bmdTeXN0ZW1UZXN0KFF1ZXVlc1Rlc3QpOgogICAgIGRlZiBfZGVmYXVsdF9leHBlY3RlZF9sb2dz
KHNlbGYsIGV3cyk6Ci0gICAgICAgIGhvc3QgPSBIb3N0KCkKLSAgICAgICAgcmVhbF9wb3J0X25h
bWUgPSBQYXRjaFByb2Nlc3NpbmdRdWV1ZSgpLl9uZXdfcG9ydF9uYW1lX2Zyb21fb2xkKGV3cy5w
b3J0X25hbWUsIGhvc3QucGxhdGZvcm0pCi0gICAgICAgIHJlYWxfcG9ydCA9IEhvc3QoKS5wb3J0
X2ZhY3RvcnkuZ2V0KHJlYWxfcG9ydF9uYW1lKQogICAgICAgICBzdHJpbmdfcmVwbGFjZW1lbnRz
ID0gewogICAgICAgICAgICAgIm5hbWUiOiBld3MubmFtZSwKICAgICAgICAgICAgICJwb3J0Ijog
ZXdzLnBvcnRfbmFtZSwKLSAgICAgICAgICAgICJhcmNoaXRlY3R1cmUiOiByZWFsX3BvcnQuYXJj
aGl0ZWN0dXJlKCksCisgICAgICAgICAgICAiYXJjaGl0ZWN0dXJlIjogZXdzLmFyY2hpdGVjdHVy
ZSwKICAgICAgICAgfQogICAgICAgICBpZiBld3MucnVuX3Rlc3RzOgogICAgICAgICAgICAgcnVu
X3Rlc3RzX2xpbmUgPSAiUnVubmluZzogd2Via2l0LXBhdGNoIC0tc3RhdHVzLWhvc3Q9ZXhhbXBs
ZS5jb20gYnVpbGQtYW5kLXRlc3QgLS1uby1jbGVhbiAtLW5vLXVwZGF0ZSAtLXRlc3QgLS1ub24t
aW50ZXJhY3RpdmUgLS1wb3J0PSUocG9ydClzIC0tYXJjaGl0ZWN0dXJlPSUoYXJjaGl0ZWN0dXJl
KXNcbiIgJSBzdHJpbmdfcmVwbGFjZW1lbnRzCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L3Rvb2wvY29tbWFuZHMvcXVldWVzLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90
b29sL2NvbW1hbmRzL3F1ZXVlcy5weQppbmRleCAyYTYyNDE1MDI0YTZmNTFiN2Y3YmNmNjk2YmFl
NjA1OWZhZDBlOTMyLi5mMjQwODY1YTZhYzNkNDIyY2Y5ZWRiMDRlNTNjMjk5MjkwMDE5Yzg1IDEw
MDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvcXVldWVzLnB5
CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9xdWV1ZXMucHkKQEAg
LTI5LDcgKzI5LDYgQEAKIAogaW1wb3J0IGNvZGVjcwogaW1wb3J0IGxvZ2dpbmcKLWltcG9ydCBv
cHRwYXJzZQogaW1wb3J0IG9zCiBpbXBvcnQgcmUKIGltcG9ydCBzeXMKQEAgLTc1LDcgKzc0LDgg
QEAgY2xhc3MgQWJzdHJhY3RRdWV1ZShDb21tYW5kLCBRdWV1ZUVuZ2luZURlbGVnYXRlKToKICAg
ICAgICAgc2VsZi5oZWxwX3RleHQgPSAiUnVuIHRoZSAlcyIgJSBzZWxmLm5hbWUKICAgICAgICAg
Q29tbWFuZC5fX2luaXRfXyhzZWxmLCBvcHRpb25zPW9wdGlvbnNfbGlzdCkKICAgICAgICAgc2Vs
Zi5faXRlcmF0aW9uX2NvdW50ID0gMAotICAgICAgICBzZWxmLmFyY2hpdGVjdHVyZSA9IE5vbmUK
KyAgICAgICAgaWYgbm90IGhhc2F0dHIoc2VsZiwgJ2FyY2hpdGVjdHVyZScpOgorICAgICAgICAg
ICAgc2VsZi5hcmNoaXRlY3R1cmUgPSBOb25lCiAKICAgICBkZWYgX2NjX3dhdGNoZXJzKHNlbGYs
IGJ1Z19pZCk6CiAgICAgICAgIHRyeToKQEAgLTI3NywxMCArMjc3LDkgQEAgY2xhc3MgUGF0Y2hQ
cm9jZXNzaW5nUXVldWUoQWJzdHJhY3RQYXRjaFF1ZXVlKToKICAgICAgICAgc2VsZi5fZGVwcmVj
YXRlZF9wb3J0ID0gRGVwcmVjYXRlZFBvcnQucG9ydChzZWxmLnBvcnRfbmFtZSkKICAgICAgICAg
IyBGSVhNRTogVGhpcyB2aW9sYXRlcyBhYnN0cmFjdGlvbgogICAgICAgICBzZWxmLl90b29sLl9k
ZXByZWNhdGVkX3BvcnQgPSBzZWxmLl9kZXByZWNhdGVkX3BvcnQKLSAgICAgICAgcG9ydF9vcHRp
b25zID0gb3B0cGFyc2UuVmFsdWVzKCkKLSAgICAgICAgaWYgc2VsZi5hcmNoaXRlY3R1cmU6Ci0g
ICAgICAgICAgICBzZXRhdHRyKHBvcnRfb3B0aW9ucywgJ2FyY2hpdGVjdHVyZScsIHNlbGYuYXJj
aGl0ZWN0dXJlKQotICAgICAgICBzZWxmLl9wb3J0ID0gc2VsZi5fdG9vbC5wb3J0X2ZhY3Rvcnku
Z2V0KHNlbGYuX25ld19wb3J0X25hbWVfZnJvbV9vbGQoc2VsZi5wb3J0X25hbWUsIHNlbGYuX3Rv
b2wucGxhdGZvcm0pLCBwb3J0X29wdGlvbnMpCisKKyAgICAgICAgc2VsZi5fcG9ydCA9IHNlbGYu
X3Rvb2wucG9ydF9mYWN0b3J5LmdldChzZWxmLl9uZXdfcG9ydF9uYW1lX2Zyb21fb2xkKHNlbGYu
cG9ydF9uYW1lLCBzZWxmLl90b29sLnBsYXRmb3JtKSkKKyAgICAgICAgc2VsZi5fcG9ydC5zZXRf
b3B0aW9uKCdhcmNoaXRlY3R1cmUnLCBzZWxmLmFyY2hpdGVjdHVyZSkKIAogICAgIGRlZiBfdXBs
b2FkX3Jlc3VsdHNfYXJjaGl2ZV9mb3JfcGF0Y2goc2VsZiwgcGF0Y2gsIHJlc3VsdHNfYXJjaGl2
ZV96aXApOgogICAgICAgICBpZiBub3Qgc2VsZi5fcG9ydDoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>244944</attachid>
            <date>2015-01-19 17:37:21 -0800</date>
            <delta_ts>2015-01-20 13:55:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140637-20150119173728.patch</filename>
            <type>text/plain</type>
            <size>14283</size>
            <attacher name="Jake Nielsen">jake.nielsen.webkit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc4NjUzCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYmMwMDRhOGIzYzM4MjU3YWJjMjNjYmQ5MDA0NWZlYmY1
ZDhmNTcxMy4uZWE0YzBkNDM0ZWJkN2Y5N2QyZTAwMDY1NzI4NzYxZTI2ZWYzZjJmMyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2
IEBACisyMDE1LTAxLTE5ICBKYWtlIE5pZWxzZW4gIDxqYWNvYl9uaWVsc2VuQGFwcGxlLmNvbT4K
KworICAgICAgICBGaXggRVdTIHB5dGhvbiB1bml0IHRlc3RzIGFuZCBhZGRyZXNzIGNvZGUgY29t
bWVudHMgYXMgcGVyIDE0MDQ3NgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTQwNjM3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvYmFzZS5weToKKyAgICAgICAgKFBv
cnQpOgorICAgICAgICAoUG9ydC5fX2luaXRfXyk6CisgICAgICAgIEFkZHMgREVGQVVMVF9BUkNI
SVRFQ1RVUkUgbWVtYmVyLgorICAgICAgICAoUG9ydC5hcmNoaXRlY3R1cmUpOgorICAgICAgICBS
ZW1vdmVzIGFyY2hpdGVjdHVyZSBtZW1iZXIgYW5kIGluc3RlYWQgdXNlcworICAgICAgICBzZWxm
LmdldF9vcHRpb24oJ2FyY2hpdGVjdHVyZScpLiBBbHNvIHJlbW92ZXMgcmVkdW5kYW50IGFyY2hp
dGVjdHVyZQorICAgICAgICBtZXRob2QuCisgICAgICAgIChQb3J0LnNldF9hcmNoaXRlY3R1cmUp
OgorICAgICAgICBBZGRzIGEgc2V0dGVyIGZvciB0aGUgYXJjaGl0ZWN0dXJlIHZhcmlhYmxlIHRv
IGJlIGFibGUgdG8gc2V0IGEgZmxhZworICAgICAgICB1cG9uIG1vZGlmaWNhdGlvbi4KKyAgICAg
ICAgKFBvcnQudGVzdF9jb25maWd1cmF0aW9uKToKKyAgICAgICAgVXNlcyBzZWxmLmFyY2hpdGVj
dHVyZSgpIGluc3RlYWQgb2Ygc2VsZi5fYXJjaGl0ZWN0dXJlLgorICAgICAgICAqIFNjcmlwdHMv
d2Via2l0cHkvcG9ydC9pb3MucHk6CisgICAgICAgIE92ZXJyaWRlcyBERUZBVUxUX0FSQ0hJVEVD
VFVSRS4KKyAgICAgICAgKElPU1BvcnQpOgorICAgICAgICAoSU9TUG9ydC5kZXRlcm1pbmVfZnVs
bF9wb3J0X25hbWUpOgorICAgICAgICBVc2VzIHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0IGluc3Rl
YWQgb2YgUG9wZW4uIFVzZXMgcnN0cmlwIGluc3RlYWQgb2YKKyAgICAgICAgc3RyaXAuIEZpeGVz
IHJlZ2V4IHRvIG5vdCBtYXRjaCBhcmJpdHJhcnkgY2hhcmFjdGVycyBhZnRlciB0aGUKKyAgICAg
ICAgcmVsZXZlbnQgZGlnaXRzIGFyZSBtYXRjaGVkLgorICAgICAgICAoSU9TUG9ydC5fX2luaXRf
Xyk6CisgICAgICAgIFJlbW92ZXMgb2xkIF9hcmNoaXRlY3R1cmUgZGVmYXVsdGluZyBzdHJhdGVn
eS4KKyAgICAgICAgKElPU1BvcnQuX2J1aWxkX2RyaXZlcl9mbGFncyk6CisgICAgICAgIFVzZXMg
c2VsZi5hcmNoaXRlY3R1cmUoKSBpbnN0ZWFkIG9mIHNlbGYuX2FyY2hpdGVjdHVyZS4KKyAgICAg
ICAgKElPU1NpbXVsYXRvclBvcnQpOgorICAgICAgICBPdmVycmlkZXMgREVGQVVMVF9BUkNISVRF
Q1RVUkUuCisgICAgICAgIChJT1NTaW11bGF0b3JQb3J0Ll9faW5pdF9fKToKKyAgICAgICAgUmVt
b3ZlcyBvbGQgX2FyY2hpdGVjdHVyZSBkZWZhdWx0aW5nIHN0cmF0ZWd5LgorICAgICAgICAqIFNj
cmlwdHMvd2Via2l0cHkvcG9ydC9tYWMucHk6CisgICAgICAgIChNYWNQb3J0KToKKyAgICAgICAg
T3ZlcnJpZGVzIERFRkFVTFRfQVJDSElURUNUVVJFLgorICAgICAgICAoTWFjUG9ydC5fX2luaXRf
Xyk6CisgICAgICAgIFJlbW92ZXMgb2xkIF9hcmNoaXRlY3R1cmUgZGVmYXVsdGluZyBzdHJhdGVn
eS4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvZWFybHl3YXJuaW5n
c3lzdGVtLnB5OgorICAgICAgICAoQWJzdHJhY3RFYXJseVdhcm5pbmdTeXN0ZW0ucnVuX2NvbW1h
bmQpOgorICAgICAgICBDaGVja3MgdGhlIGRpZF9vdmVycmlkZV9hcmNoaXRlY3R1cmUgZmxhZyB0
byBkZXRlcm1pbmUgd2hldGhlciB0byBhZGQKKyAgICAgICAgdGhlIC0tYXJjaGl0ZWN0dXJlIG9w
dGlvbi4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvZWFybHl3YXJu
aW5nc3lzdGVtX3VuaXR0ZXN0LnB5OgorICAgICAgICBVc2VzIGV3cy5hcmNoaXRlY3R1cmUgcmF0
aGVyIHRoYW4gdHJ5aW5nIHRvIGRpc2Nlcm4gdGhlIGNvcnJlY3QKKyAgICAgICAgYXJjaGl0ZWN0
dXJlIHVzaW5nIGEgcG9ydCBvYmplY3QuCisgICAgICAgIChFYXJseVdhcm5pbmdTeXN0ZW1UZXN0
Ll9kZWZhdWx0X2V4cGVjdGVkX2xvZ3MpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdG9v
bC9jb21tYW5kcy9xdWV1ZXMucHk6CisgICAgICAgIFJlbW92ZXMgdXNlIG9mIG9wdHBhcnNlLCBh
bmQgcmVtb3ZlcyB0aGUgaW1wb3J0IHN0YXRlbWVudC4KKyAgICAgICAgKEFic3RyYWN0UXVldWUu
X19pbml0X18pOgorICAgICAgICAoUGF0Y2hQcm9jZXNzaW5nUXVldWUuYmVnaW5fd29ya19xdWV1
ZSk6CisKIDIwMTUtMDEtMTkgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CiAK
ICAgICAgICAgIlVua25vd24gb3B0aW9uOiBzaGFyZWR3b3JrZXJnbG9iYWxzY29wZWNvbnN0cnVj
dG9yc2ZpbGUiIHdoZW4gcnVubmluZyBiaW5kaW5ncyB0ZXN0cy4KZGlmZiAtLWdpdCBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9w
b3J0L2Jhc2UucHkKaW5kZXggYTZkNzMzMGFhZThjYmM4MTIxOTIwNDQ3M2M2OGE5MzFlMjE4ZmVk
Zi4uYjc1MmRmZWQ2YWM5NTQ0ZjdiNDJkNWM0YjlhZWFhZTM4NzZiMTJiZSAxMDA2NDQKLS0tIGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2Jhc2UucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9wb3J0L2Jhc2UucHkKQEAgLTc4LDYgKzc4LDggQEAgY2xhc3MgUG9ydChvYmplY3Qp
OgogCiAgICAgQUxMX0JVSUxEX1RZUEVTID0gKCdkZWJ1ZycsICdyZWxlYXNlJykKIAorICAgIERF
RkFVTFRfQVJDSElURUNUVVJFID0gJ3g4NicKKwogICAgIEBjbGFzc21ldGhvZAogICAgIGRlZiBk
ZXRlcm1pbmVfZnVsbF9wb3J0X25hbWUoY2xzLCBob3N0LCBvcHRpb25zLCBwb3J0X25hbWUpOgog
ICAgICAgICAiIiJSZXR1cm4gYSBmdWxseS1zcGVjaWZpZWQgcG9ydCBuYW1lIHRoYXQgY2FuIGJl
IHVzZWQgdG8gY29uc3RydWN0IG9iamVjdHMuIiIiCkBAIC05NiwxMyArOTgsMjEgQEAgY2xhc3Mg
UG9ydChvYmplY3QpOgogCiAgICAgICAgICMgVGhlc2UgYXJlIGRlZmF1bHQgdmFsdWVzIHRoYXQg
c2hvdWxkIGJlIG92ZXJyaWRkZW4gaW4gYSBzdWJjbGFzc2VzLgogICAgICAgICBzZWxmLl92ZXJz
aW9uID0gJycKLSAgICAgICAgc2VsZi5fYXJjaGl0ZWN0dXJlID0gJ3g4NicKKworICAgICAgICAj
IFRoaXMgbWVtYmVyIHZhcmlhYmxlIHNob3VsZG4ndCBoYXZlIHRvIGV4aXN0LCBidXQgaXQgd2ls
bCBiZSBuZWVkZWQgdW50aWwgdGhlIGNvcnJlY3QKKyAgICAgICAgIyBkZWZhdWx0IGFyY2hpdGVj
dHVyZXMgZm9yIHRoZSBHVEsgYW5kIEVGTCBFV1MgYm90cyBhcmUga25vd24uCisgICAgICAgICMg
RklYTUU6IFJlbW92ZSB0aGlzIG1lbWJlciB2YXJpYWJsZS4KKyAgICAgICAgc2VsZi5kaWRfb3Zl
cnJpZGVfYXJjaGl0ZWN0dXJlID0gVHJ1ZQogCiAgICAgICAgICMgRklYTUU6IElkZWFsbHkgd2Un
ZCBoYXZlIGEgcGFja2FnZS13aWRlIHdheSB0byBnZXQgYQogICAgICAgICAjIHdlbGwtZm9ybWVk
IG9wdGlvbnMgb2JqZWN0IHRoYXQgaGFkIGFsbCBvZiB0aGUgbmVjZXNzYXJ5CiAgICAgICAgICMg
b3B0aW9ucyBkZWZpbmVkIG9uIGl0LgogICAgICAgICBzZWxmLl9vcHRpb25zID0gb3B0aW9ucyBv
ciBvcHRwYXJzZS5WYWx1ZXMoKQogCisgICAgICAgIGlmIG5vdCBzZWxmLmdldF9vcHRpb24oJ2Fy
Y2hpdGVjdHVyZScpOgorICAgICAgICAgICAgc2VsZi5kaWRfb3ZlcnJpZGVfYXJjaGl0ZWN0dXJl
ID0gRmFsc2UKKyAgICAgICAgICAgIHNlbGYuc2V0X29wdGlvbignYXJjaGl0ZWN0dXJlJywgc2Vs
Zi5ERUZBVUxUX0FSQ0hJVEVDVFVSRSkKKwogICAgICAgICBpZiBzZWxmLl9uYW1lIGFuZCAnLXdr
MicgaW4gc2VsZi5fbmFtZToKICAgICAgICAgICAgIHNlbGYuX29wdGlvbnMud2Via2l0X3Rlc3Rf
cnVubmVyID0gVHJ1ZQogCkBAIC0xMjgsNyArMTM4LDExIEBAIGNsYXNzIFBvcnQob2JqZWN0KToK
ICAgICAgICAgc2VsZi5famhidWlsZF93cmFwcGVyID0gW10KIAogICAgIGRlZiBhcmNoaXRlY3R1
cmUoc2VsZik6Ci0gICAgICAgIHJldHVybiBzZWxmLl9hcmNoaXRlY3R1cmUKKyAgICAgICAgcmV0
dXJuIHNlbGYuZ2V0X29wdGlvbignYXJjaGl0ZWN0dXJlJykKKworICAgIGRlZiBzZXRfYXJjaGl0
ZWN0dXJlKHNlbGYsIGFyY2gpOgorICAgICAgICBzZWxmLmRpZF9vdmVycmlkZV9hcmNoaXRlY3R1
cmUgPSBUcnVlCisgICAgICAgIHNlbGYuc2V0X29wdGlvbignYXJjaGl0ZWN0dXJlJywgYXJjaCkK
IAogICAgIGRlZiBhZGRpdGlvbmFsX2RydF9mbGFnKHNlbGYpOgogICAgICAgICByZXR1cm4gW10K
QEAgLTcxMyw5ICs3MjcsNiBAQCBjbGFzcyBQb3J0KG9iamVjdCk6CiAgICAgICAgIGV4cGVjdGF0
aW9ucywgZGV0ZXJtaW5pbmcgc2VhcmNoIHBhdGhzLCBhbmQgbG9nZ2luZyBpbmZvcm1hdGlvbi4i
IiIKICAgICAgICAgcmV0dXJuIHNlbGYuX3ZlcnNpb24KIAotICAgIGRlZiBhcmNoaXRlY3R1cmUo
c2VsZik6Ci0gICAgICAgIHJldHVybiBzZWxmLl9hcmNoaXRlY3R1cmUKLQogICAgIGRlZiBnZXRf
b3B0aW9uKHNlbGYsIG5hbWUsIGRlZmF1bHRfdmFsdWU9Tm9uZSk6CiAgICAgICAgIHJldHVybiBn
ZXRhdHRyKHNlbGYuX29wdGlvbnMsIG5hbWUsIGRlZmF1bHRfdmFsdWUpCiAKQEAgLTkyMyw3ICs5
MzQsNyBAQCBjbGFzcyBQb3J0KG9iamVjdCk6CiAgICAgZGVmIHRlc3RfY29uZmlndXJhdGlvbihz
ZWxmKToKICAgICAgICAgIiIiUmV0dXJucyB0aGUgY3VycmVudCBUZXN0Q29uZmlndXJhdGlvbiBm
b3IgdGhlIHBvcnQuIiIiCiAgICAgICAgIGlmIG5vdCBzZWxmLl90ZXN0X2NvbmZpZ3VyYXRpb246
Ci0gICAgICAgICAgICBzZWxmLl90ZXN0X2NvbmZpZ3VyYXRpb24gPSBUZXN0Q29uZmlndXJhdGlv
bihzZWxmLl92ZXJzaW9uLCBzZWxmLl9hcmNoaXRlY3R1cmUsIHNlbGYuX29wdGlvbnMuY29uZmln
dXJhdGlvbi5sb3dlcigpKQorICAgICAgICAgICAgc2VsZi5fdGVzdF9jb25maWd1cmF0aW9uID0g
VGVzdENvbmZpZ3VyYXRpb24oc2VsZi5fdmVyc2lvbiwgc2VsZi5hcmNoaXRlY3R1cmUoKSwgc2Vs
Zi5fb3B0aW9ucy5jb25maWd1cmF0aW9uLmxvd2VyKCkpCiAgICAgICAgIHJldHVybiBzZWxmLl90
ZXN0X2NvbmZpZ3VyYXRpb24KIAogICAgICMgRklYTUU6IEJlbG9uZ3Mgb24gYSBQbGF0Zm9ybSBv
YmplY3QuCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvaW9zLnB5IGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2lvcy5weQppbmRleCA3MTBhMjdkYzczMGRhMDRj
NTEyMTk4OWY0MDYwYWY5NmUxZmUxNzBlLi5hZjU4ZDgxMTEzMDA4YzdkYzA0ZWM3MjQ0MjU3YzBm
MjA1NmNiYjVhIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvaW9zLnB5
CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9pb3MucHkKQEAgLTQ2LDM1ICs0Niwz
MCBAQCBjbGFzcyBJT1NQb3J0KEFwcGxlUG9ydCk6CiAgICAgcG9ydF9uYW1lID0gImlvcyIKIAog
ICAgIEFSQ0hJVEVDVFVSRVMgPSBbJ2FybXY3JywgJ2FybXY3cycsICdhcm02NCddCi0gICAgVkVS
U0lPTl9GQUxMQkFDS19PUkRFUiA9IFsnaW9zLTcnLCAnaW9zLTgnXQorICAgIFZFUlNJT05fRkFM
TEJBQ0tfT1JERVIgPSBbJ2lvcy03JywgJ2lvcy04JywgJ2lvcy05J10KKyAgICBERUZBVUxUX0FS
Q0hJVEVDVFVSRSA9ICdhcm12NycKIAogICAgIEBjbGFzc21ldGhvZAogICAgIGRlZiBkZXRlcm1p
bmVfZnVsbF9wb3J0X25hbWUoY2xzLCBob3N0LCBvcHRpb25zLCBwb3J0X25hbWUpOgogICAgICAg
ICBpZiBwb3J0X25hbWUgPT0gY2xzLnBvcnRfbmFtZToKICAgICAgICAgICAgIHNka192ZXJzaW9u
ID0gJzguMCcKICAgICAgICAgICAgIGlmIGhvc3QucGxhdGZvcm0uaXNfbWFjKCk6Ci0gICAgICAg
ICAgICAgICAgc2RrX2NvbW1hbmRfcHJvY2VzcyA9IHN1YnByb2Nlc3MuUG9wZW4oJ3hjcnVuIC0t
c2RrIGlwaG9uZW9zIC0tc2hvdy1zZGstdmVyc2lvbicsIHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUs
IHN0ZGVycj1Ob25lLCBzaGVsbD1UcnVlKQotICAgICAgICAgICAgICAgIHNka19jb21tYW5kX291
dHB1dCA9IHNka19jb21tYW5kX3Byb2Nlc3MuY29tbXVuaWNhdGUoKVswXS5zdHJpcCgpCisgICAg
ICAgICAgICAgICAgc2RrX2NvbW1hbmRfb3V0cHV0ID0gc3VicHJvY2Vzcy5jaGVja19vdXRwdXQo
WycvdXNyL2Jpbi94Y3J1bicsICctLXNkaycsICdpcGhvbmVvcycsICctLXNob3ctc2RrLXZlcnNp
b24nXSwgc3RkZXJyPU5vbmUpLnJzdHJpcCgpCiAgICAgICAgICAgICAgICAgaWYgc2RrX2NvbW1h
bmRfb3V0cHV0OgogICAgICAgICAgICAgICAgICAgICBzZGtfdmVyc2lvbiA9IHNka19jb21tYW5k
X291dHB1dAogCi0gICAgICAgICAgICBwb3J0X25hbWUgPSBwb3J0X25hbWUgKyAnLScgKyByZS5t
YXRjaCgnXihbMC05XSspLionLCBzZGtfdmVyc2lvbikuZ3JvdXAoMSkKKyAgICAgICAgICAgIHBv
cnRfbmFtZSA9IHBvcnRfbmFtZSArICctJyArIHJlLm1hdGNoKCdeKFswLTldKyknLCBzZGtfdmVy
c2lvbikuZ3JvdXAoMSkKIAogICAgICAgICByZXR1cm4gcG9ydF9uYW1lCiAKICAgICBkZWYgX19p
bml0X18oc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKICAgICAgICAgc3VwZXIoSU9TUG9ydCwgc2Vs
ZikuX19pbml0X18oKmFyZ3MsICoqa3dhcmdzKQogCi0gICAgICAgIHNlbGYuX2FyY2hpdGVjdHVy
ZSA9IHNlbGYuZ2V0X29wdGlvbignYXJjaGl0ZWN0dXJlJykKLQotICAgICAgICBpZiBub3Qgc2Vs
Zi5fYXJjaGl0ZWN0dXJlOgotICAgICAgICAgICAgc2VsZi5fYXJjaGl0ZWN0dXJlID0gJ2FybXY3
JwotCiAgICAgICAgIHNlbGYuX3Rlc3RpbmdfZGV2aWNlID0gTm9uZQogCiAgICAgIyBEZXNwaXRl
IHRoZWlyIG5hbWVzLCB0aGVzZSBmbGFncyBkbyBub3QgYWN0dWFsbHkgZ2V0IHBhc3NlZCBhbGwg
dGhlIHdheSBkb3duIHRvIHdlYmtpdC1idWlsZC4KICAgICBkZWYgX2J1aWxkX2RyaXZlcl9mbGFn
cyhzZWxmKToKLSAgICAgICAgcmV0dXJuIFsnLS1zZGsnLCAnaXBob25lb3MnXSArIChbJ0FSQ0hT
PSVzJyAlIHNlbGYuX2FyY2hpdGVjdHVyZV0gaWYgc2VsZi5fYXJjaGl0ZWN0dXJlIGVsc2UgW10p
CisgICAgICAgIHJldHVybiBbJy0tc2RrJywgJ2lwaG9uZW9zJ10gKyAoWydBUkNIUz0lcycgJSBz
ZWxmLmFyY2hpdGVjdHVyZSgpXSBpZiBzZWxmLmFyY2hpdGVjdHVyZSgpIGVsc2UgW10pCiAKICAg
ICBkZWYgb3BlcmF0aW5nX3N5c3RlbShzZWxmKToKICAgICAgICAgcmV0dXJuICdpb3MnCkBAIC04
NywxNiArODIsMTMgQEAgY2xhc3MgSU9TU2ltdWxhdG9yUG9ydChQb3J0KToKIAogICAgIEFSQ0hJ
VEVDVFVSRVMgPSBbJ3g4Nl82NCcsICd4ODYnXQogCisgICAgREVGQVVMVF9BUkNISVRFQ1RVUkUg
PSAneDg2XzY0JworCiAgICAgcmVsYXlfbmFtZSA9ICdMYXlvdXRUZXN0UmVsYXknCiAKICAgICBk
ZWYgX19pbml0X18oc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKICAgICAgICAgc3VwZXIoSU9TU2lt
dWxhdG9yUG9ydCwgc2VsZikuX19pbml0X18oKmFyZ3MsICoqa3dhcmdzKQogCi0gICAgICAgIHNl
bGYuX2FyY2hpdGVjdHVyZSA9IHNlbGYuZ2V0X29wdGlvbignYXJjaGl0ZWN0dXJlJykKLQotICAg
ICAgICBpZiBub3Qgc2VsZi5fYXJjaGl0ZWN0dXJlOgotICAgICAgICAgICAgc2VsZi5fYXJjaGl0
ZWN0dXJlID0gJ3g4Nl82NCcKLQogICAgICAgICBzZWxmLl9sZWFrX2RldGVjdG9yID0gTGVha0Rl
dGVjdG9yKHNlbGYpCiAgICAgICAgIGlmIHNlbGYuZ2V0X29wdGlvbigibGVha3MiKToKICAgICAg
ICAgICAgICMgRHVtcFJlbmRlclRyZWUgc2xvd3MgZG93biBub3RpY2FibHkgaWYgd2UgcnVuIG1v
cmUgdGhhbiBhYm91dCAxMDAwIHRlc3RzIGluIGEgYmF0Y2gKZGlmZiAtLWdpdCBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvcG9ydC9tYWMucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQv
bWFjLnB5CmluZGV4IDhlMjg3MDViNzBhMjdlZTMyZTEyYjc5YjRiZjg4MzlhYTA3YWExNGMuLmQ2
YjVkMjEwYWUxMDcxM2RmYTIwODkyMzkwOTQ1Mzc3YmIyZDIwNzQgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvcG9ydC9tYWMucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9wb3J0L21hYy5weQpAQCAtNDgsMTIgKzQ4LDEwIEBAIGNsYXNzIE1hY1BvcnQoQXBwbGVQb3J0
KToKIAogICAgIEFSQ0hJVEVDVFVSRVMgPSBbJ3g4Nl82NCcsICd4ODYnXQogCisgICAgREVGQVVM
VF9BUkNISVRFQ1RVUkUgPSAneDg2XzY0JworCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGhvc3Qs
IHBvcnRfbmFtZSwgKiprd2FyZ3MpOgogICAgICAgICBBcHBsZVBvcnQuX19pbml0X18oc2VsZiwg
aG9zdCwgcG9ydF9uYW1lLCAqKmt3YXJncykKLSAgICAgICAgc2VsZi5fYXJjaGl0ZWN0dXJlID0g
c2VsZi5nZXRfb3B0aW9uKCdhcmNoaXRlY3R1cmUnKQotCi0gICAgICAgIGlmIG5vdCBzZWxmLl9h
cmNoaXRlY3R1cmU6Ci0gICAgICAgICAgICBzZWxmLl9hcmNoaXRlY3R1cmUgPSAneDg2XzY0Jwog
CiAgICAgICAgIHNlbGYuX2xlYWtfZGV0ZWN0b3IgPSBMZWFrRGV0ZWN0b3Ioc2VsZikKICAgICAg
ICAgaWYgc2VsZi5nZXRfb3B0aW9uKCJsZWFrcyIpOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS90b29sL2NvbW1hbmRzL2Vhcmx5d2FybmluZ3N5c3RlbS5weSBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9lYXJseXdhcm5pbmdzeXN0ZW0ucHkKaW5kZXgg
NzUyNTBkODNlMzBlNDRhOWYxYjE5ZWNhMmUzNGE2ZmZhNDQwYmYxZC4uYWNiM2RmYzRkMTQxZDlk
YTkwYTk5MDczMTFjYWE5YjBjMTU5OGI1NyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS90b29sL2NvbW1hbmRzL2Vhcmx5d2FybmluZ3N5c3RlbS5weQorKysgYi9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvZWFybHl3YXJuaW5nc3lzdGVtLnB5CkBAIC0xMDgs
NyArMTA4LDcgQEAgY2xhc3MgQWJzdHJhY3RFYXJseVdhcm5pbmdTeXN0ZW0oQWJzdHJhY3RSZXZp
ZXdRdWV1ZSwgRWFybHlXYXJuaW5nU3lzdGVtVGFza0RlbGUKICAgICAgICAgcmV0dXJuIHNlbGYu
bmFtZQogCiAgICAgZGVmIHJ1bl9jb21tYW5kKHNlbGYsIGNvbW1hbmQpOgotICAgICAgICBzZWxm
LnJ1bl93ZWJraXRfcGF0Y2goY29tbWFuZCArIFtzZWxmLl9kZXByZWNhdGVkX3BvcnQuZmxhZygp
XSArIChbJy0tYXJjaGl0ZWN0dXJlPSVzJyAlIHNlbGYuX3BvcnQuYXJjaGl0ZWN0dXJlKCldIGlm
IHNlbGYuX3BvcnQuYXJjaGl0ZWN0dXJlKCkgZWxzZSBbXSkpCisgICAgICAgIHNlbGYucnVuX3dl
YmtpdF9wYXRjaChjb21tYW5kICsgW3NlbGYuX2RlcHJlY2F0ZWRfcG9ydC5mbGFnKCldICsgKFsn
LS1hcmNoaXRlY3R1cmU9JXMnICUgc2VsZi5fcG9ydC5hcmNoaXRlY3R1cmUoKV0gaWYgc2VsZi5f
cG9ydC5hcmNoaXRlY3R1cmUoKSBhbmQgc2VsZi5fcG9ydC5kaWRfb3ZlcnJpZGVfYXJjaGl0ZWN0
dXJlIGVsc2UgW10pKQogCiAgICAgZGVmIGNvbW1hbmRfcGFzc2VkKHNlbGYsIG1lc3NhZ2UsIHBh
dGNoKToKICAgICAgICAgcGFzcwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90
b29sL2NvbW1hbmRzL2Vhcmx5d2FybmluZ3N5c3RlbV91bml0dGVzdC5weSBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9lYXJseXdhcm5pbmdzeXN0ZW1fdW5pdHRlc3QucHkK
aW5kZXggNmY3ZDRhYjY2NmU3Y2Q0NGQwZTNmNTE3OWY0ZmY0NzlhZmYxZDVhMi4uYTllMmI0YTkx
YzRjYTk2NzdmZjJlNWQxMjJmNTUzZTY5MDMxYTExNiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS90b29sL2NvbW1hbmRzL2Vhcmx5d2FybmluZ3N5c3RlbV91bml0dGVzdC5weQor
KysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvZWFybHl3YXJuaW5nc3lz
dGVtX3VuaXR0ZXN0LnB5CkBAIC02MCwyNiArNjAsMjMgQEAgY2xhc3MgQWJzdHJhY3RFYXJseVdh
cm5pbmdTeXN0ZW1UZXN0KFF1ZXVlc1Rlc3QpOgogCiBjbGFzcyBFYXJseVdhcm5pbmdTeXN0ZW1U
ZXN0KFF1ZXVlc1Rlc3QpOgogICAgIGRlZiBfZGVmYXVsdF9leHBlY3RlZF9sb2dzKHNlbGYsIGV3
cyk6Ci0gICAgICAgIGhvc3QgPSBIb3N0KCkKLSAgICAgICAgcmVhbF9wb3J0X25hbWUgPSBQYXRj
aFByb2Nlc3NpbmdRdWV1ZSgpLl9uZXdfcG9ydF9uYW1lX2Zyb21fb2xkKGV3cy5wb3J0X25hbWUs
IGhvc3QucGxhdGZvcm0pCi0gICAgICAgIHJlYWxfcG9ydCA9IEhvc3QoKS5wb3J0X2ZhY3Rvcnku
Z2V0KHJlYWxfcG9ydF9uYW1lKQogICAgICAgICBzdHJpbmdfcmVwbGFjZW1lbnRzID0gewogICAg
ICAgICAgICAgIm5hbWUiOiBld3MubmFtZSwKICAgICAgICAgICAgICJwb3J0IjogZXdzLnBvcnRf
bmFtZSwKLSAgICAgICAgICAgICJhcmNoaXRlY3R1cmUiOiByZWFsX3BvcnQuYXJjaGl0ZWN0dXJl
KCksCisgICAgICAgICAgICAiYXJjaGl0ZWN0dXJlIjogIiAtLWFyY2hpdGVjdHVyZT0lcyIgJSBl
d3MuYXJjaGl0ZWN0dXJlIGlmIGV3cy5hcmNoaXRlY3R1cmUgZWxzZSAiIiwKICAgICAgICAgfQog
ICAgICAgICBpZiBld3MucnVuX3Rlc3RzOgotICAgICAgICAgICAgcnVuX3Rlc3RzX2xpbmUgPSAi
UnVubmluZzogd2Via2l0LXBhdGNoIC0tc3RhdHVzLWhvc3Q9ZXhhbXBsZS5jb20gYnVpbGQtYW5k
LXRlc3QgLS1uby1jbGVhbiAtLW5vLXVwZGF0ZSAtLXRlc3QgLS1ub24taW50ZXJhY3RpdmUgLS1w
b3J0PSUocG9ydClzIC0tYXJjaGl0ZWN0dXJlPSUoYXJjaGl0ZWN0dXJlKXNcbiIgJSBzdHJpbmdf
cmVwbGFjZW1lbnRzCisgICAgICAgICAgICBydW5fdGVzdHNfbGluZSA9ICJSdW5uaW5nOiB3ZWJr
aXQtcGF0Y2ggLS1zdGF0dXMtaG9zdD1leGFtcGxlLmNvbSBidWlsZC1hbmQtdGVzdCAtLW5vLWNs
ZWFuIC0tbm8tdXBkYXRlIC0tdGVzdCAtLW5vbi1pbnRlcmFjdGl2ZSAtLXBvcnQ9JShwb3J0KXMl
KGFyY2hpdGVjdHVyZSlzXG4iICUgc3RyaW5nX3JlcGxhY2VtZW50cwogICAgICAgICBlbHNlOgog
ICAgICAgICAgICAgcnVuX3Rlc3RzX2xpbmUgPSAiIgogICAgICAgICBzdHJpbmdfcmVwbGFjZW1l
bnRzWydydW5fdGVzdHNfbGluZSddID0gcnVuX3Rlc3RzX2xpbmUKIAogICAgICAgICBleHBlY3Rl
ZF9sb2dzID0gewogICAgICAgICAgICAgImJlZ2luX3dvcmtfcXVldWUiOiBzZWxmLl9kZWZhdWx0
X2JlZ2luX3dvcmtfcXVldWVfbG9ncyhld3MubmFtZSksCi0gICAgICAgICAgICAicHJvY2Vzc193
b3JrX2l0ZW0iOiAiIiJSdW5uaW5nOiB3ZWJraXQtcGF0Y2ggLS1zdGF0dXMtaG9zdD1leGFtcGxl
LmNvbSBjbGVhbiAtLXBvcnQ9JShwb3J0KXMgLS1hcmNoaXRlY3R1cmU9JShhcmNoaXRlY3R1cmUp
cwotUnVubmluZzogd2Via2l0LXBhdGNoIC0tc3RhdHVzLWhvc3Q9ZXhhbXBsZS5jb20gdXBkYXRl
IC0tcG9ydD0lKHBvcnQpcyAtLWFyY2hpdGVjdHVyZT0lKGFyY2hpdGVjdHVyZSlzCi1SdW5uaW5n
OiB3ZWJraXQtcGF0Y2ggLS1zdGF0dXMtaG9zdD1leGFtcGxlLmNvbSBhcHBseS1hdHRhY2htZW50
IC0tbm8tdXBkYXRlIC0tbm9uLWludGVyYWN0aXZlIDEwMDAwIC0tcG9ydD0lKHBvcnQpcyAtLWFy
Y2hpdGVjdHVyZT0lKGFyY2hpdGVjdHVyZSlzCi1SdW5uaW5nOiB3ZWJraXQtcGF0Y2ggLS1zdGF0
dXMtaG9zdD1leGFtcGxlLmNvbSBidWlsZCAtLW5vLWNsZWFuIC0tbm8tdXBkYXRlIC0tYnVpbGQt
c3R5bGU9cmVsZWFzZSAtLXBvcnQ9JShwb3J0KXMgLS1hcmNoaXRlY3R1cmU9JShhcmNoaXRlY3R1
cmUpcworICAgICAgICAgICAgInByb2Nlc3Nfd29ya19pdGVtIjogIiIiUnVubmluZzogd2Via2l0
LXBhdGNoIC0tc3RhdHVzLWhvc3Q9ZXhhbXBsZS5jb20gY2xlYW4gLS1wb3J0PSUocG9ydClzJShh
cmNoaXRlY3R1cmUpcworUnVubmluZzogd2Via2l0LXBhdGNoIC0tc3RhdHVzLWhvc3Q9ZXhhbXBs
ZS5jb20gdXBkYXRlIC0tcG9ydD0lKHBvcnQpcyUoYXJjaGl0ZWN0dXJlKXMKK1J1bm5pbmc6IHdl
YmtpdC1wYXRjaCAtLXN0YXR1cy1ob3N0PWV4YW1wbGUuY29tIGFwcGx5LWF0dGFjaG1lbnQgLS1u
by11cGRhdGUgLS1ub24taW50ZXJhY3RpdmUgMTAwMDAgLS1wb3J0PSUocG9ydClzJShhcmNoaXRl
Y3R1cmUpcworUnVubmluZzogd2Via2l0LXBhdGNoIC0tc3RhdHVzLWhvc3Q9ZXhhbXBsZS5jb20g
YnVpbGQgLS1uby1jbGVhbiAtLW5vLXVwZGF0ZSAtLWJ1aWxkLXN0eWxlPXJlbGVhc2UgLS1wb3J0
PSUocG9ydClzJShhcmNoaXRlY3R1cmUpcwogJShydW5fdGVzdHNfbGluZSlzTU9DSzogdXBkYXRl
X3N0YXR1czogJShuYW1lKXMgUGFzcwogTU9DSzogcmVsZWFzZV93b3JrX2l0ZW06ICUobmFtZSlz
IDEwMDAwCiAiIiIgJSBzdHJpbmdfcmVwbGFjZW1lbnRzLApkaWZmIC0tZ2l0IGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3F1ZXVlcy5weSBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvdG9vbC9jb21tYW5kcy9xdWV1ZXMucHkKaW5kZXggMmE2MjQxNTAyNGE2ZjUxYjdmN2Jj
ZjY5NmJhZTYwNTlmYWQwZTkzMi4uZDIxOTViMjRlYjYzM2MzZmQwOWIwYWE2ZDkzYmQxZTY3ZTZl
M2VlNiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3F1
ZXVlcy5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvcXVldWVz
LnB5CkBAIC0yOSw3ICsyOSw2IEBACiAKIGltcG9ydCBjb2RlY3MKIGltcG9ydCBsb2dnaW5nCi1p
bXBvcnQgb3B0cGFyc2UKIGltcG9ydCBvcwogaW1wb3J0IHJlCiBpbXBvcnQgc3lzCkBAIC03NSw3
ICs3NCw4IEBAIGNsYXNzIEFic3RyYWN0UXVldWUoQ29tbWFuZCwgUXVldWVFbmdpbmVEZWxlZ2F0
ZSk6CiAgICAgICAgIHNlbGYuaGVscF90ZXh0ID0gIlJ1biB0aGUgJXMiICUgc2VsZi5uYW1lCiAg
ICAgICAgIENvbW1hbmQuX19pbml0X18oc2VsZiwgb3B0aW9ucz1vcHRpb25zX2xpc3QpCiAgICAg
ICAgIHNlbGYuX2l0ZXJhdGlvbl9jb3VudCA9IDAKLSAgICAgICAgc2VsZi5hcmNoaXRlY3R1cmUg
PSBOb25lCisgICAgICAgIGlmIG5vdCBoYXNhdHRyKHNlbGYsICdhcmNoaXRlY3R1cmUnKToKKyAg
ICAgICAgICAgIHNlbGYuYXJjaGl0ZWN0dXJlID0gTm9uZQogCiAgICAgZGVmIF9jY193YXRjaGVy
cyhzZWxmLCBidWdfaWQpOgogICAgICAgICB0cnk6CkBAIC0yNzcsMTAgKzI3Nyw5IEBAIGNsYXNz
IFBhdGNoUHJvY2Vzc2luZ1F1ZXVlKEFic3RyYWN0UGF0Y2hRdWV1ZSk6CiAgICAgICAgIHNlbGYu
X2RlcHJlY2F0ZWRfcG9ydCA9IERlcHJlY2F0ZWRQb3J0LnBvcnQoc2VsZi5wb3J0X25hbWUpCiAg
ICAgICAgICMgRklYTUU6IFRoaXMgdmlvbGF0ZXMgYWJzdHJhY3Rpb24KICAgICAgICAgc2VsZi5f
dG9vbC5fZGVwcmVjYXRlZF9wb3J0ID0gc2VsZi5fZGVwcmVjYXRlZF9wb3J0Ci0gICAgICAgIHBv
cnRfb3B0aW9ucyA9IG9wdHBhcnNlLlZhbHVlcygpCi0gICAgICAgIGlmIHNlbGYuYXJjaGl0ZWN0
dXJlOgotICAgICAgICAgICAgc2V0YXR0cihwb3J0X29wdGlvbnMsICdhcmNoaXRlY3R1cmUnLCBz
ZWxmLmFyY2hpdGVjdHVyZSkKLSAgICAgICAgc2VsZi5fcG9ydCA9IHNlbGYuX3Rvb2wucG9ydF9m
YWN0b3J5LmdldChzZWxmLl9uZXdfcG9ydF9uYW1lX2Zyb21fb2xkKHNlbGYucG9ydF9uYW1lLCBz
ZWxmLl90b29sLnBsYXRmb3JtKSwgcG9ydF9vcHRpb25zKQorCisgICAgICAgIHNlbGYuX3BvcnQg
PSBzZWxmLl90b29sLnBvcnRfZmFjdG9yeS5nZXQoc2VsZi5fbmV3X3BvcnRfbmFtZV9mcm9tX29s
ZChzZWxmLnBvcnRfbmFtZSwgc2VsZi5fdG9vbC5wbGF0Zm9ybSkpCisgICAgICAgIHNlbGYuX3Bv
cnQuc2V0X2FyY2hpdGVjdHVyZShzZWxmLmFyY2hpdGVjdHVyZSkKIAogICAgIGRlZiBfdXBsb2Fk
X3Jlc3VsdHNfYXJjaGl2ZV9mb3JfcGF0Y2goc2VsZiwgcGF0Y2gsIHJlc3VsdHNfYXJjaGl2ZV96
aXApOgogICAgICAgICBpZiBub3Qgc2VsZi5fcG9ydDoK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>245015</attachid>
            <date>2015-01-20 13:55:16 -0800</date>
            <delta_ts>2015-01-20 14:43:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140637-20150120135523.patch</filename>
            <type>text/plain</type>
            <size>14181</size>
            <attacher name="Jake Nielsen">jake.nielsen.webkit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc4NjUzCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYmMwMDRhOGIzYzM4MjU3YWJjMjNjYmQ5MDA0NWZlYmY1
ZDhmNTcxMy4uZWE0YzBkNDM0ZWJkN2Y5N2QyZTAwMDY1NzI4NzYxZTI2ZWYzZjJmMyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2
IEBACisyMDE1LTAxLTE5ICBKYWtlIE5pZWxzZW4gIDxqYWNvYl9uaWVsc2VuQGFwcGxlLmNvbT4K
KworICAgICAgICBGaXggRVdTIHB5dGhvbiB1bml0IHRlc3RzIGFuZCBhZGRyZXNzIGNvZGUgY29t
bWVudHMgYXMgcGVyIDE0MDQ3NgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTQwNjM3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvYmFzZS5weToKKyAgICAgICAgKFBv
cnQpOgorICAgICAgICAoUG9ydC5fX2luaXRfXyk6CisgICAgICAgIEFkZHMgREVGQVVMVF9BUkNI
SVRFQ1RVUkUgbWVtYmVyLgorICAgICAgICAoUG9ydC5hcmNoaXRlY3R1cmUpOgorICAgICAgICBS
ZW1vdmVzIGFyY2hpdGVjdHVyZSBtZW1iZXIgYW5kIGluc3RlYWQgdXNlcworICAgICAgICBzZWxm
LmdldF9vcHRpb24oJ2FyY2hpdGVjdHVyZScpLiBBbHNvIHJlbW92ZXMgcmVkdW5kYW50IGFyY2hp
dGVjdHVyZQorICAgICAgICBtZXRob2QuCisgICAgICAgIChQb3J0LnNldF9hcmNoaXRlY3R1cmUp
OgorICAgICAgICBBZGRzIGEgc2V0dGVyIGZvciB0aGUgYXJjaGl0ZWN0dXJlIHZhcmlhYmxlIHRv
IGJlIGFibGUgdG8gc2V0IGEgZmxhZworICAgICAgICB1cG9uIG1vZGlmaWNhdGlvbi4KKyAgICAg
ICAgKFBvcnQudGVzdF9jb25maWd1cmF0aW9uKToKKyAgICAgICAgVXNlcyBzZWxmLmFyY2hpdGVj
dHVyZSgpIGluc3RlYWQgb2Ygc2VsZi5fYXJjaGl0ZWN0dXJlLgorICAgICAgICAqIFNjcmlwdHMv
d2Via2l0cHkvcG9ydC9pb3MucHk6CisgICAgICAgIE92ZXJyaWRlcyBERUZBVUxUX0FSQ0hJVEVD
VFVSRS4KKyAgICAgICAgKElPU1BvcnQpOgorICAgICAgICAoSU9TUG9ydC5kZXRlcm1pbmVfZnVs
bF9wb3J0X25hbWUpOgorICAgICAgICBVc2VzIHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0IGluc3Rl
YWQgb2YgUG9wZW4uIFVzZXMgcnN0cmlwIGluc3RlYWQgb2YKKyAgICAgICAgc3RyaXAuIEZpeGVz
IHJlZ2V4IHRvIG5vdCBtYXRjaCBhcmJpdHJhcnkgY2hhcmFjdGVycyBhZnRlciB0aGUKKyAgICAg
ICAgcmVsZXZlbnQgZGlnaXRzIGFyZSBtYXRjaGVkLgorICAgICAgICAoSU9TUG9ydC5fX2luaXRf
Xyk6CisgICAgICAgIFJlbW92ZXMgb2xkIF9hcmNoaXRlY3R1cmUgZGVmYXVsdGluZyBzdHJhdGVn
eS4KKyAgICAgICAgKElPU1BvcnQuX2J1aWxkX2RyaXZlcl9mbGFncyk6CisgICAgICAgIFVzZXMg
c2VsZi5hcmNoaXRlY3R1cmUoKSBpbnN0ZWFkIG9mIHNlbGYuX2FyY2hpdGVjdHVyZS4KKyAgICAg
ICAgKElPU1NpbXVsYXRvclBvcnQpOgorICAgICAgICBPdmVycmlkZXMgREVGQVVMVF9BUkNISVRF
Q1RVUkUuCisgICAgICAgIChJT1NTaW11bGF0b3JQb3J0Ll9faW5pdF9fKToKKyAgICAgICAgUmVt
b3ZlcyBvbGQgX2FyY2hpdGVjdHVyZSBkZWZhdWx0aW5nIHN0cmF0ZWd5LgorICAgICAgICAqIFNj
cmlwdHMvd2Via2l0cHkvcG9ydC9tYWMucHk6CisgICAgICAgIChNYWNQb3J0KToKKyAgICAgICAg
T3ZlcnJpZGVzIERFRkFVTFRfQVJDSElURUNUVVJFLgorICAgICAgICAoTWFjUG9ydC5fX2luaXRf
Xyk6CisgICAgICAgIFJlbW92ZXMgb2xkIF9hcmNoaXRlY3R1cmUgZGVmYXVsdGluZyBzdHJhdGVn
eS4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvZWFybHl3YXJuaW5n
c3lzdGVtLnB5OgorICAgICAgICAoQWJzdHJhY3RFYXJseVdhcm5pbmdTeXN0ZW0ucnVuX2NvbW1h
bmQpOgorICAgICAgICBDaGVja3MgdGhlIGRpZF9vdmVycmlkZV9hcmNoaXRlY3R1cmUgZmxhZyB0
byBkZXRlcm1pbmUgd2hldGhlciB0byBhZGQKKyAgICAgICAgdGhlIC0tYXJjaGl0ZWN0dXJlIG9w
dGlvbi4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvZWFybHl3YXJu
aW5nc3lzdGVtX3VuaXR0ZXN0LnB5OgorICAgICAgICBVc2VzIGV3cy5hcmNoaXRlY3R1cmUgcmF0
aGVyIHRoYW4gdHJ5aW5nIHRvIGRpc2Nlcm4gdGhlIGNvcnJlY3QKKyAgICAgICAgYXJjaGl0ZWN0
dXJlIHVzaW5nIGEgcG9ydCBvYmplY3QuCisgICAgICAgIChFYXJseVdhcm5pbmdTeXN0ZW1UZXN0
Ll9kZWZhdWx0X2V4cGVjdGVkX2xvZ3MpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdG9v
bC9jb21tYW5kcy9xdWV1ZXMucHk6CisgICAgICAgIFJlbW92ZXMgdXNlIG9mIG9wdHBhcnNlLCBh
bmQgcmVtb3ZlcyB0aGUgaW1wb3J0IHN0YXRlbWVudC4KKyAgICAgICAgKEFic3RyYWN0UXVldWUu
X19pbml0X18pOgorICAgICAgICAoUGF0Y2hQcm9jZXNzaW5nUXVldWUuYmVnaW5fd29ya19xdWV1
ZSk6CisKIDIwMTUtMDEtMTkgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CiAK
ICAgICAgICAgIlVua25vd24gb3B0aW9uOiBzaGFyZWR3b3JrZXJnbG9iYWxzY29wZWNvbnN0cnVj
dG9yc2ZpbGUiIHdoZW4gcnVubmluZyBiaW5kaW5ncyB0ZXN0cy4KZGlmZiAtLWdpdCBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9w
b3J0L2Jhc2UucHkKaW5kZXggYTZkNzMzMGFhZThjYmM4MTIxOTIwNDQ3M2M2OGE5MzFlMjE4ZmVk
Zi4uZGZjODM3NmRlMmEwZGMyY2FiN2U4YjI4ZTE3ZmIzNmFjNDc0M2Q3ZSAxMDA2NDQKLS0tIGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2Jhc2UucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9wb3J0L2Jhc2UucHkKQEAgLTc4LDYgKzc4LDggQEAgY2xhc3MgUG9ydChvYmplY3Qp
OgogCiAgICAgQUxMX0JVSUxEX1RZUEVTID0gKCdkZWJ1ZycsICdyZWxlYXNlJykKIAorICAgIERF
RkFVTFRfQVJDSElURUNUVVJFID0gJ3g4NicKKwogICAgIEBjbGFzc21ldGhvZAogICAgIGRlZiBk
ZXRlcm1pbmVfZnVsbF9wb3J0X25hbWUoY2xzLCBob3N0LCBvcHRpb25zLCBwb3J0X25hbWUpOgog
ICAgICAgICAiIiJSZXR1cm4gYSBmdWxseS1zcGVjaWZpZWQgcG9ydCBuYW1lIHRoYXQgY2FuIGJl
IHVzZWQgdG8gY29uc3RydWN0IG9iamVjdHMuIiIiCkBAIC05NiwxMyArOTgsMjAgQEAgY2xhc3Mg
UG9ydChvYmplY3QpOgogCiAgICAgICAgICMgVGhlc2UgYXJlIGRlZmF1bHQgdmFsdWVzIHRoYXQg
c2hvdWxkIGJlIG92ZXJyaWRkZW4gaW4gYSBzdWJjbGFzc2VzLgogICAgICAgICBzZWxmLl92ZXJz
aW9uID0gJycKLSAgICAgICAgc2VsZi5fYXJjaGl0ZWN0dXJlID0gJ3g4NicKKworICAgICAgICAj
IEZJWE1FOiBUaGlzIGNhbiBiZSByZW1vdmVkIG9uY2UgZGVmYXVsdCBhcmNoaXRlY3R1cmVzIGZv
ciBHVEsgYW5kIEVGTCBFV1MgYm90cyBhcmUgc2V0LgorICAgICAgICBzZWxmLmRpZF9vdmVycmlk
ZV9hcmNoaXRlY3R1cmUgPSBGYWxzZQogCiAgICAgICAgICMgRklYTUU6IElkZWFsbHkgd2UnZCBo
YXZlIGEgcGFja2FnZS13aWRlIHdheSB0byBnZXQgYQogICAgICAgICAjIHdlbGwtZm9ybWVkIG9w
dGlvbnMgb2JqZWN0IHRoYXQgaGFkIGFsbCBvZiB0aGUgbmVjZXNzYXJ5CiAgICAgICAgICMgb3B0
aW9ucyBkZWZpbmVkIG9uIGl0LgogICAgICAgICBzZWxmLl9vcHRpb25zID0gb3B0aW9ucyBvciBv
cHRwYXJzZS5WYWx1ZXMoKQogCisgICAgICAgIGlmIHNlbGYuZ2V0X29wdGlvbignYXJjaGl0ZWN0
dXJlJyk6CisgICAgICAgICAgICBzZWxmLmRpZF9vdmVycmlkZV9hcmNoaXRlY3R1cmUgPSBUcnVl
CisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLnNldF9vcHRpb24oJ2FyY2hpdGVjdHVy
ZScsIHNlbGYuREVGQVVMVF9BUkNISVRFQ1RVUkUpCisKICAgICAgICAgaWYgc2VsZi5fbmFtZSBh
bmQgJy13azInIGluIHNlbGYuX25hbWU6CiAgICAgICAgICAgICBzZWxmLl9vcHRpb25zLndlYmtp
dF90ZXN0X3J1bm5lciA9IFRydWUKIApAQCAtMTI4LDcgKzEzNywxMSBAQCBjbGFzcyBQb3J0KG9i
amVjdCk6CiAgICAgICAgIHNlbGYuX2poYnVpbGRfd3JhcHBlciA9IFtdCiAKICAgICBkZWYgYXJj
aGl0ZWN0dXJlKHNlbGYpOgotICAgICAgICByZXR1cm4gc2VsZi5fYXJjaGl0ZWN0dXJlCisgICAg
ICAgIHJldHVybiBzZWxmLmdldF9vcHRpb24oJ2FyY2hpdGVjdHVyZScpCisKKyAgICBkZWYgc2V0
X2FyY2hpdGVjdHVyZShzZWxmLCBhcmNoKToKKyAgICAgICAgc2VsZi5kaWRfb3ZlcnJpZGVfYXJj
aGl0ZWN0dXJlID0gVHJ1ZQorICAgICAgICBzZWxmLnNldF9vcHRpb24oJ2FyY2hpdGVjdHVyZScs
IGFyY2gpCiAKICAgICBkZWYgYWRkaXRpb25hbF9kcnRfZmxhZyhzZWxmKToKICAgICAgICAgcmV0
dXJuIFtdCkBAIC03MTMsOSArNzI2LDYgQEAgY2xhc3MgUG9ydChvYmplY3QpOgogICAgICAgICBl
eHBlY3RhdGlvbnMsIGRldGVybWluaW5nIHNlYXJjaCBwYXRocywgYW5kIGxvZ2dpbmcgaW5mb3Jt
YXRpb24uIiIiCiAgICAgICAgIHJldHVybiBzZWxmLl92ZXJzaW9uCiAKLSAgICBkZWYgYXJjaGl0
ZWN0dXJlKHNlbGYpOgotICAgICAgICByZXR1cm4gc2VsZi5fYXJjaGl0ZWN0dXJlCi0KICAgICBk
ZWYgZ2V0X29wdGlvbihzZWxmLCBuYW1lLCBkZWZhdWx0X3ZhbHVlPU5vbmUpOgogICAgICAgICBy
ZXR1cm4gZ2V0YXR0cihzZWxmLl9vcHRpb25zLCBuYW1lLCBkZWZhdWx0X3ZhbHVlKQogCkBAIC05
MjMsNyArOTMzLDcgQEAgY2xhc3MgUG9ydChvYmplY3QpOgogICAgIGRlZiB0ZXN0X2NvbmZpZ3Vy
YXRpb24oc2VsZik6CiAgICAgICAgICIiIlJldHVybnMgdGhlIGN1cnJlbnQgVGVzdENvbmZpZ3Vy
YXRpb24gZm9yIHRoZSBwb3J0LiIiIgogICAgICAgICBpZiBub3Qgc2VsZi5fdGVzdF9jb25maWd1
cmF0aW9uOgotICAgICAgICAgICAgc2VsZi5fdGVzdF9jb25maWd1cmF0aW9uID0gVGVzdENvbmZp
Z3VyYXRpb24oc2VsZi5fdmVyc2lvbiwgc2VsZi5fYXJjaGl0ZWN0dXJlLCBzZWxmLl9vcHRpb25z
LmNvbmZpZ3VyYXRpb24ubG93ZXIoKSkKKyAgICAgICAgICAgIHNlbGYuX3Rlc3RfY29uZmlndXJh
dGlvbiA9IFRlc3RDb25maWd1cmF0aW9uKHNlbGYuX3ZlcnNpb24sIHNlbGYuYXJjaGl0ZWN0dXJl
KCksIHNlbGYuX29wdGlvbnMuY29uZmlndXJhdGlvbi5sb3dlcigpKQogICAgICAgICByZXR1cm4g
c2VsZi5fdGVzdF9jb25maWd1cmF0aW9uCiAKICAgICAjIEZJWE1FOiBCZWxvbmdzIG9uIGEgUGxh
dGZvcm0gb2JqZWN0LgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2lv
cy5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9pb3MucHkKaW5kZXggNzEwYTI3ZGM3
MzBkYTA0YzUxMjE5ODlmNDA2MGFmOTZlMWZlMTcwZS4uZGM0MDc2ZGY5NDJhYzM0ZjYxNDA1MmNh
N2I1YjIzN2Q5MmQ2Mzg0YiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0
L2lvcy5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvaW9zLnB5CkBAIC00Niwz
NSArNDYsMzAgQEAgY2xhc3MgSU9TUG9ydChBcHBsZVBvcnQpOgogICAgIHBvcnRfbmFtZSA9ICJp
b3MiCiAKICAgICBBUkNISVRFQ1RVUkVTID0gWydhcm12NycsICdhcm12N3MnLCAnYXJtNjQnXQot
ICAgIFZFUlNJT05fRkFMTEJBQ0tfT1JERVIgPSBbJ2lvcy03JywgJ2lvcy04J10KKyAgICBERUZB
VUxUX0FSQ0hJVEVDVFVSRSA9ICdhcm12NycKKyAgICBWRVJTSU9OX0ZBTExCQUNLX09SREVSID0g
Wydpb3MtNycsICdpb3MtOCcsICdpb3MtOSddCiAKICAgICBAY2xhc3NtZXRob2QKICAgICBkZWYg
ZGV0ZXJtaW5lX2Z1bGxfcG9ydF9uYW1lKGNscywgaG9zdCwgb3B0aW9ucywgcG9ydF9uYW1lKToK
ICAgICAgICAgaWYgcG9ydF9uYW1lID09IGNscy5wb3J0X25hbWU6CiAgICAgICAgICAgICBzZGtf
dmVyc2lvbiA9ICc4LjAnCiAgICAgICAgICAgICBpZiBob3N0LnBsYXRmb3JtLmlzX21hYygpOgot
ICAgICAgICAgICAgICAgIHNka19jb21tYW5kX3Byb2Nlc3MgPSBzdWJwcm9jZXNzLlBvcGVuKCd4
Y3J1biAtLXNkayBpcGhvbmVvcyAtLXNob3ctc2RrLXZlcnNpb24nLCBzdGRvdXQ9c3VicHJvY2Vz
cy5QSVBFLCBzdGRlcnI9Tm9uZSwgc2hlbGw9VHJ1ZSkKLSAgICAgICAgICAgICAgICBzZGtfY29t
bWFuZF9vdXRwdXQgPSBzZGtfY29tbWFuZF9wcm9jZXNzLmNvbW11bmljYXRlKClbMF0uc3RyaXAo
KQorICAgICAgICAgICAgICAgIHNka19jb21tYW5kX291dHB1dCA9IHN1YnByb2Nlc3MuY2hlY2tf
b3V0cHV0KFsnL3Vzci9iaW4veGNydW4nLCAnLS1zZGsnLCAnaXBob25lb3MnLCAnLS1zaG93LXNk
ay12ZXJzaW9uJ10sIHN0ZGVycj1Ob25lKS5yc3RyaXAoKQogICAgICAgICAgICAgICAgIGlmIHNk
a19jb21tYW5kX291dHB1dDoKICAgICAgICAgICAgICAgICAgICAgc2RrX3ZlcnNpb24gPSBzZGtf
Y29tbWFuZF9vdXRwdXQKIAotICAgICAgICAgICAgcG9ydF9uYW1lID0gcG9ydF9uYW1lICsgJy0n
ICsgcmUubWF0Y2goJ14oWzAtOV0rKS4qJywgc2RrX3ZlcnNpb24pLmdyb3VwKDEpCisgICAgICAg
ICAgICBwb3J0X25hbWUgPSBwb3J0X25hbWUgKyAnLScgKyByZS5tYXRjaCgnXihbMC05XSspJywg
c2RrX3ZlcnNpb24pLmdyb3VwKDEpCiAKICAgICAgICAgcmV0dXJuIHBvcnRfbmFtZQogCiAgICAg
ZGVmIF9faW5pdF9fKHNlbGYsICphcmdzLCAqKmt3YXJncyk6CiAgICAgICAgIHN1cGVyKElPU1Bv
cnQsIHNlbGYpLl9faW5pdF9fKCphcmdzLCAqKmt3YXJncykKIAotICAgICAgICBzZWxmLl9hcmNo
aXRlY3R1cmUgPSBzZWxmLmdldF9vcHRpb24oJ2FyY2hpdGVjdHVyZScpCi0KLSAgICAgICAgaWYg
bm90IHNlbGYuX2FyY2hpdGVjdHVyZToKLSAgICAgICAgICAgIHNlbGYuX2FyY2hpdGVjdHVyZSA9
ICdhcm12NycKLQogICAgICAgICBzZWxmLl90ZXN0aW5nX2RldmljZSA9IE5vbmUKIAogICAgICMg
RGVzcGl0ZSB0aGVpciBuYW1lcywgdGhlc2UgZmxhZ3MgZG8gbm90IGFjdHVhbGx5IGdldCBwYXNz
ZWQgYWxsIHRoZSB3YXkgZG93biB0byB3ZWJraXQtYnVpbGQuCiAgICAgZGVmIF9idWlsZF9kcml2
ZXJfZmxhZ3Moc2VsZik6Ci0gICAgICAgIHJldHVybiBbJy0tc2RrJywgJ2lwaG9uZW9zJ10gKyAo
WydBUkNIUz0lcycgJSBzZWxmLl9hcmNoaXRlY3R1cmVdIGlmIHNlbGYuX2FyY2hpdGVjdHVyZSBl
bHNlIFtdKQorICAgICAgICByZXR1cm4gWyctLXNkaycsICdpcGhvbmVvcyddICsgKFsnQVJDSFM9
JXMnICUgc2VsZi5hcmNoaXRlY3R1cmUoKV0gaWYgc2VsZi5hcmNoaXRlY3R1cmUoKSBlbHNlIFtd
KQogCiAgICAgZGVmIG9wZXJhdGluZ19zeXN0ZW0oc2VsZik6CiAgICAgICAgIHJldHVybiAnaW9z
JwpAQCAtODcsMTYgKzgyLDEzIEBAIGNsYXNzIElPU1NpbXVsYXRvclBvcnQoUG9ydCk6CiAKICAg
ICBBUkNISVRFQ1RVUkVTID0gWyd4ODZfNjQnLCAneDg2J10KIAorICAgIERFRkFVTFRfQVJDSElU
RUNUVVJFID0gJ3g4Nl82NCcKKwogICAgIHJlbGF5X25hbWUgPSAnTGF5b3V0VGVzdFJlbGF5Jwog
CiAgICAgZGVmIF9faW5pdF9fKHNlbGYsICphcmdzLCAqKmt3YXJncyk6CiAgICAgICAgIHN1cGVy
KElPU1NpbXVsYXRvclBvcnQsIHNlbGYpLl9faW5pdF9fKCphcmdzLCAqKmt3YXJncykKIAotICAg
ICAgICBzZWxmLl9hcmNoaXRlY3R1cmUgPSBzZWxmLmdldF9vcHRpb24oJ2FyY2hpdGVjdHVyZScp
Ci0KLSAgICAgICAgaWYgbm90IHNlbGYuX2FyY2hpdGVjdHVyZToKLSAgICAgICAgICAgIHNlbGYu
X2FyY2hpdGVjdHVyZSA9ICd4ODZfNjQnCi0KICAgICAgICAgc2VsZi5fbGVha19kZXRlY3RvciA9
IExlYWtEZXRlY3RvcihzZWxmKQogICAgICAgICBpZiBzZWxmLmdldF9vcHRpb24oImxlYWtzIik6
CiAgICAgICAgICAgICAjIER1bXBSZW5kZXJUcmVlIHNsb3dzIGRvd24gbm90aWNhYmx5IGlmIHdl
IHJ1biBtb3JlIHRoYW4gYWJvdXQgMTAwMCB0ZXN0cyBpbiBhIGJhdGNoCmRpZmYgLS1naXQgYS9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbWFjLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9wb3J0L21hYy5weQppbmRleCA4ZTI4NzA1YjcwYTI3ZWUzMmUxMmI3OWI0YmY4ODM5YWEwN2Fh
MTRjLi5kNmI1ZDIxMGFlMTA3MTNkZmEyMDg5MjM5MDk0NTM3N2JiMmQyMDc0IDEwMDY0NAotLS0g
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbWFjLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvcG9ydC9tYWMucHkKQEAgLTQ4LDEyICs0OCwxMCBAQCBjbGFzcyBNYWNQb3J0KEFw
cGxlUG9ydCk6CiAKICAgICBBUkNISVRFQ1RVUkVTID0gWyd4ODZfNjQnLCAneDg2J10KIAorICAg
IERFRkFVTFRfQVJDSElURUNUVVJFID0gJ3g4Nl82NCcKKwogICAgIGRlZiBfX2luaXRfXyhzZWxm
LCBob3N0LCBwb3J0X25hbWUsICoqa3dhcmdzKToKICAgICAgICAgQXBwbGVQb3J0Ll9faW5pdF9f
KHNlbGYsIGhvc3QsIHBvcnRfbmFtZSwgKiprd2FyZ3MpCi0gICAgICAgIHNlbGYuX2FyY2hpdGVj
dHVyZSA9IHNlbGYuZ2V0X29wdGlvbignYXJjaGl0ZWN0dXJlJykKLQotICAgICAgICBpZiBub3Qg
c2VsZi5fYXJjaGl0ZWN0dXJlOgotICAgICAgICAgICAgc2VsZi5fYXJjaGl0ZWN0dXJlID0gJ3g4
Nl82NCcKIAogICAgICAgICBzZWxmLl9sZWFrX2RldGVjdG9yID0gTGVha0RldGVjdG9yKHNlbGYp
CiAgICAgICAgIGlmIHNlbGYuZ2V0X29wdGlvbigibGVha3MiKToKZGlmZiAtLWdpdCBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9lYXJseXdhcm5pbmdzeXN0ZW0ucHkgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvZWFybHl3YXJuaW5nc3lzdGVtLnB5
CmluZGV4IDc1MjUwZDgzZTMwZTQ0YTlmMWIxOWVjYTJlMzRhNmZmYTQ0MGJmMWQuLmFjYjNkZmM0
ZDE0MWQ5ZGE5MGE5OTA3MzExY2FhOWIwYzE1OThiNTcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9lYXJseXdhcm5pbmdzeXN0ZW0ucHkKKysrIGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL2Vhcmx5d2FybmluZ3N5c3RlbS5weQpA
QCAtMTA4LDcgKzEwOCw3IEBAIGNsYXNzIEFic3RyYWN0RWFybHlXYXJuaW5nU3lzdGVtKEFic3Ry
YWN0UmV2aWV3UXVldWUsIEVhcmx5V2FybmluZ1N5c3RlbVRhc2tEZWxlCiAgICAgICAgIHJldHVy
biBzZWxmLm5hbWUKIAogICAgIGRlZiBydW5fY29tbWFuZChzZWxmLCBjb21tYW5kKToKLSAgICAg
ICAgc2VsZi5ydW5fd2Via2l0X3BhdGNoKGNvbW1hbmQgKyBbc2VsZi5fZGVwcmVjYXRlZF9wb3J0
LmZsYWcoKV0gKyAoWyctLWFyY2hpdGVjdHVyZT0lcycgJSBzZWxmLl9wb3J0LmFyY2hpdGVjdHVy
ZSgpXSBpZiBzZWxmLl9wb3J0LmFyY2hpdGVjdHVyZSgpIGVsc2UgW10pKQorICAgICAgICBzZWxm
LnJ1bl93ZWJraXRfcGF0Y2goY29tbWFuZCArIFtzZWxmLl9kZXByZWNhdGVkX3BvcnQuZmxhZygp
XSArIChbJy0tYXJjaGl0ZWN0dXJlPSVzJyAlIHNlbGYuX3BvcnQuYXJjaGl0ZWN0dXJlKCldIGlm
IHNlbGYuX3BvcnQuYXJjaGl0ZWN0dXJlKCkgYW5kIHNlbGYuX3BvcnQuZGlkX292ZXJyaWRlX2Fy
Y2hpdGVjdHVyZSBlbHNlIFtdKSkKIAogICAgIGRlZiBjb21tYW5kX3Bhc3NlZChzZWxmLCBtZXNz
YWdlLCBwYXRjaCk6CiAgICAgICAgIHBhc3MKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvdG9vbC9jb21tYW5kcy9lYXJseXdhcm5pbmdzeXN0ZW1fdW5pdHRlc3QucHkgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvZWFybHl3YXJuaW5nc3lzdGVtX3VuaXR0
ZXN0LnB5CmluZGV4IDZmN2Q0YWI2NjZlN2NkNDRkMGUzZjUxNzlmNGZmNDc5YWZmMWQ1YTIuLmE5
ZTJiNGE5MWM0Y2E5Njc3ZmYyZTVkMTIyZjU1M2U2OTAzMWExMTYgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9lYXJseXdhcm5pbmdzeXN0ZW1fdW5pdHRl
c3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL2Vhcmx5d2Fy
bmluZ3N5c3RlbV91bml0dGVzdC5weQpAQCAtNjAsMjYgKzYwLDIzIEBAIGNsYXNzIEFic3RyYWN0
RWFybHlXYXJuaW5nU3lzdGVtVGVzdChRdWV1ZXNUZXN0KToKIAogY2xhc3MgRWFybHlXYXJuaW5n
U3lzdGVtVGVzdChRdWV1ZXNUZXN0KToKICAgICBkZWYgX2RlZmF1bHRfZXhwZWN0ZWRfbG9ncyhz
ZWxmLCBld3MpOgotICAgICAgICBob3N0ID0gSG9zdCgpCi0gICAgICAgIHJlYWxfcG9ydF9uYW1l
ID0gUGF0Y2hQcm9jZXNzaW5nUXVldWUoKS5fbmV3X3BvcnRfbmFtZV9mcm9tX29sZChld3MucG9y
dF9uYW1lLCBob3N0LnBsYXRmb3JtKQotICAgICAgICByZWFsX3BvcnQgPSBIb3N0KCkucG9ydF9m
YWN0b3J5LmdldChyZWFsX3BvcnRfbmFtZSkKICAgICAgICAgc3RyaW5nX3JlcGxhY2VtZW50cyA9
IHsKICAgICAgICAgICAgICJuYW1lIjogZXdzLm5hbWUsCiAgICAgICAgICAgICAicG9ydCI6IGV3
cy5wb3J0X25hbWUsCi0gICAgICAgICAgICAiYXJjaGl0ZWN0dXJlIjogcmVhbF9wb3J0LmFyY2hp
dGVjdHVyZSgpLAorICAgICAgICAgICAgImFyY2hpdGVjdHVyZSI6ICIgLS1hcmNoaXRlY3R1cmU9
JXMiICUgZXdzLmFyY2hpdGVjdHVyZSBpZiBld3MuYXJjaGl0ZWN0dXJlIGVsc2UgIiIsCiAgICAg
ICAgIH0KICAgICAgICAgaWYgZXdzLnJ1bl90ZXN0czoKLSAgICAgICAgICAgIHJ1bl90ZXN0c19s
aW5lID0gIlJ1bm5pbmc6IHdlYmtpdC1wYXRjaCAtLXN0YXR1cy1ob3N0PWV4YW1wbGUuY29tIGJ1
aWxkLWFuZC10ZXN0IC0tbm8tY2xlYW4gLS1uby11cGRhdGUgLS10ZXN0IC0tbm9uLWludGVyYWN0
aXZlIC0tcG9ydD0lKHBvcnQpcyAtLWFyY2hpdGVjdHVyZT0lKGFyY2hpdGVjdHVyZSlzXG4iICUg
c3RyaW5nX3JlcGxhY2VtZW50cworICAgICAgICAgICAgcnVuX3Rlc3RzX2xpbmUgPSAiUnVubmlu
Zzogd2Via2l0LXBhdGNoIC0tc3RhdHVzLWhvc3Q9ZXhhbXBsZS5jb20gYnVpbGQtYW5kLXRlc3Qg
LS1uby1jbGVhbiAtLW5vLXVwZGF0ZSAtLXRlc3QgLS1ub24taW50ZXJhY3RpdmUgLS1wb3J0PSUo
cG9ydClzJShhcmNoaXRlY3R1cmUpc1xuIiAlIHN0cmluZ19yZXBsYWNlbWVudHMKICAgICAgICAg
ZWxzZToKICAgICAgICAgICAgIHJ1bl90ZXN0c19saW5lID0gIiIKICAgICAgICAgc3RyaW5nX3Jl
cGxhY2VtZW50c1sncnVuX3Rlc3RzX2xpbmUnXSA9IHJ1bl90ZXN0c19saW5lCiAKICAgICAgICAg
ZXhwZWN0ZWRfbG9ncyA9IHsKICAgICAgICAgICAgICJiZWdpbl93b3JrX3F1ZXVlIjogc2VsZi5f
ZGVmYXVsdF9iZWdpbl93b3JrX3F1ZXVlX2xvZ3MoZXdzLm5hbWUpLAotICAgICAgICAgICAgInBy
b2Nlc3Nfd29ya19pdGVtIjogIiIiUnVubmluZzogd2Via2l0LXBhdGNoIC0tc3RhdHVzLWhvc3Q9
ZXhhbXBsZS5jb20gY2xlYW4gLS1wb3J0PSUocG9ydClzIC0tYXJjaGl0ZWN0dXJlPSUoYXJjaGl0
ZWN0dXJlKXMKLVJ1bm5pbmc6IHdlYmtpdC1wYXRjaCAtLXN0YXR1cy1ob3N0PWV4YW1wbGUuY29t
IHVwZGF0ZSAtLXBvcnQ9JShwb3J0KXMgLS1hcmNoaXRlY3R1cmU9JShhcmNoaXRlY3R1cmUpcwot
UnVubmluZzogd2Via2l0LXBhdGNoIC0tc3RhdHVzLWhvc3Q9ZXhhbXBsZS5jb20gYXBwbHktYXR0
YWNobWVudCAtLW5vLXVwZGF0ZSAtLW5vbi1pbnRlcmFjdGl2ZSAxMDAwMCAtLXBvcnQ9JShwb3J0
KXMgLS1hcmNoaXRlY3R1cmU9JShhcmNoaXRlY3R1cmUpcwotUnVubmluZzogd2Via2l0LXBhdGNo
IC0tc3RhdHVzLWhvc3Q9ZXhhbXBsZS5jb20gYnVpbGQgLS1uby1jbGVhbiAtLW5vLXVwZGF0ZSAt
LWJ1aWxkLXN0eWxlPXJlbGVhc2UgLS1wb3J0PSUocG9ydClzIC0tYXJjaGl0ZWN0dXJlPSUoYXJj
aGl0ZWN0dXJlKXMKKyAgICAgICAgICAgICJwcm9jZXNzX3dvcmtfaXRlbSI6ICIiIlJ1bm5pbmc6
IHdlYmtpdC1wYXRjaCAtLXN0YXR1cy1ob3N0PWV4YW1wbGUuY29tIGNsZWFuIC0tcG9ydD0lKHBv
cnQpcyUoYXJjaGl0ZWN0dXJlKXMKK1J1bm5pbmc6IHdlYmtpdC1wYXRjaCAtLXN0YXR1cy1ob3N0
PWV4YW1wbGUuY29tIHVwZGF0ZSAtLXBvcnQ9JShwb3J0KXMlKGFyY2hpdGVjdHVyZSlzCitSdW5u
aW5nOiB3ZWJraXQtcGF0Y2ggLS1zdGF0dXMtaG9zdD1leGFtcGxlLmNvbSBhcHBseS1hdHRhY2ht
ZW50IC0tbm8tdXBkYXRlIC0tbm9uLWludGVyYWN0aXZlIDEwMDAwIC0tcG9ydD0lKHBvcnQpcyUo
YXJjaGl0ZWN0dXJlKXMKK1J1bm5pbmc6IHdlYmtpdC1wYXRjaCAtLXN0YXR1cy1ob3N0PWV4YW1w
bGUuY29tIGJ1aWxkIC0tbm8tY2xlYW4gLS1uby11cGRhdGUgLS1idWlsZC1zdHlsZT1yZWxlYXNl
IC0tcG9ydD0lKHBvcnQpcyUoYXJjaGl0ZWN0dXJlKXMKICUocnVuX3Rlc3RzX2xpbmUpc01PQ0s6
IHVwZGF0ZV9zdGF0dXM6ICUobmFtZSlzIFBhc3MKIE1PQ0s6IHJlbGVhc2Vfd29ya19pdGVtOiAl
KG5hbWUpcyAxMDAwMAogIiIiICUgc3RyaW5nX3JlcGxhY2VtZW50cywKZGlmZiAtLWdpdCBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9xdWV1ZXMucHkgYi9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvcXVldWVzLnB5CmluZGV4IDJhNjI0MTUwMjRhNmY1
MWI3ZjdiY2Y2OTZiYWU2MDU5ZmFkMGU5MzIuLjIxOTU1Y2I4NDExZmM3ZmJjZjVkYzM4ZDM2MzNh
NzVlNThhNjcxY2EgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21t
YW5kcy9xdWV1ZXMucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRz
L3F1ZXVlcy5weQpAQCAtMjksNyArMjksNiBAQAogCiBpbXBvcnQgY29kZWNzCiBpbXBvcnQgbG9n
Z2luZwotaW1wb3J0IG9wdHBhcnNlCiBpbXBvcnQgb3MKIGltcG9ydCByZQogaW1wb3J0IHN5cwpA
QCAtNzUsNyArNzQsOCBAQCBjbGFzcyBBYnN0cmFjdFF1ZXVlKENvbW1hbmQsIFF1ZXVlRW5naW5l
RGVsZWdhdGUpOgogICAgICAgICBzZWxmLmhlbHBfdGV4dCA9ICJSdW4gdGhlICVzIiAlIHNlbGYu
bmFtZQogICAgICAgICBDb21tYW5kLl9faW5pdF9fKHNlbGYsIG9wdGlvbnM9b3B0aW9uc19saXN0
KQogICAgICAgICBzZWxmLl9pdGVyYXRpb25fY291bnQgPSAwCi0gICAgICAgIHNlbGYuYXJjaGl0
ZWN0dXJlID0gTm9uZQorICAgICAgICBpZiBub3QgaGFzYXR0cihzZWxmLCAnYXJjaGl0ZWN0dXJl
Jyk6CisgICAgICAgICAgICBzZWxmLmFyY2hpdGVjdHVyZSA9IE5vbmUKIAogICAgIGRlZiBfY2Nf
d2F0Y2hlcnMoc2VsZiwgYnVnX2lkKToKICAgICAgICAgdHJ5OgpAQCAtMjc3LDEwICsyNzcsMTAg
QEAgY2xhc3MgUGF0Y2hQcm9jZXNzaW5nUXVldWUoQWJzdHJhY3RQYXRjaFF1ZXVlKToKICAgICAg
ICAgc2VsZi5fZGVwcmVjYXRlZF9wb3J0ID0gRGVwcmVjYXRlZFBvcnQucG9ydChzZWxmLnBvcnRf
bmFtZSkKICAgICAgICAgIyBGSVhNRTogVGhpcyB2aW9sYXRlcyBhYnN0cmFjdGlvbgogICAgICAg
ICBzZWxmLl90b29sLl9kZXByZWNhdGVkX3BvcnQgPSBzZWxmLl9kZXByZWNhdGVkX3BvcnQKLSAg
ICAgICAgcG9ydF9vcHRpb25zID0gb3B0cGFyc2UuVmFsdWVzKCkKKworICAgICAgICBzZWxmLl9w
b3J0ID0gc2VsZi5fdG9vbC5wb3J0X2ZhY3RvcnkuZ2V0KHNlbGYuX25ld19wb3J0X25hbWVfZnJv
bV9vbGQoc2VsZi5wb3J0X25hbWUsIHNlbGYuX3Rvb2wucGxhdGZvcm0pKQogICAgICAgICBpZiBz
ZWxmLmFyY2hpdGVjdHVyZToKLSAgICAgICAgICAgIHNldGF0dHIocG9ydF9vcHRpb25zLCAnYXJj
aGl0ZWN0dXJlJywgc2VsZi5hcmNoaXRlY3R1cmUpCi0gICAgICAgIHNlbGYuX3BvcnQgPSBzZWxm
Ll90b29sLnBvcnRfZmFjdG9yeS5nZXQoc2VsZi5fbmV3X3BvcnRfbmFtZV9mcm9tX29sZChzZWxm
LnBvcnRfbmFtZSwgc2VsZi5fdG9vbC5wbGF0Zm9ybSksIHBvcnRfb3B0aW9ucykKKyAgICAgICAg
ICAgIHNlbGYuX3BvcnQuc2V0X2FyY2hpdGVjdHVyZShzZWxmLmFyY2hpdGVjdHVyZSkKIAogICAg
IGRlZiBfdXBsb2FkX3Jlc3VsdHNfYXJjaGl2ZV9mb3JfcGF0Y2goc2VsZiwgcGF0Y2gsIHJlc3Vs
dHNfYXJjaGl2ZV96aXApOgogICAgICAgICBpZiBub3Qgc2VsZi5fcG9ydDoK
</data>

          </attachment>
      

    </bug>

</bugzilla>