<?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>154953</bug_id>
          
          <creation_ts>2016-03-02 21:03:05 -0800</creation_ts>
          <short_desc>Add _WKAutomationSessionDelegate methods for opening, closing, and switching windows</short_desc>
          <delta_ts>2016-03-05 16:40:39 -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>WebKit2</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Blaze Burg">bburg</reporter>
          <assigned_to name="Timothy Hatcher">timothy</assigned_to>
          <cc>bburg</cc>
    
    <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>mattbaker</cc>
    
    <cc>nvasilyev</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1170090</commentid>
    <comment_count>0</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2016-03-02 21:03:05 -0800</bug_when>
    <thetext>Start fleshing out the commands that are currently stubbed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1170091</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-03-02 21:03:40 -0800</bug_when>
    <thetext>&lt;rdar://problem/24947489&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1170097</commentid>
    <comment_count>2</comment_count>
      <attachid>272728</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2016-03-02 21:16:14 -0800</bug_when>
    <thetext>Created attachment 272728
WIP

Start making the protocol specification closer to what is needed. Add some TODOs with blind code in WebAutomationSession for what needs to be done</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1171216</commentid>
    <comment_count>3</comment_count>
      <attachid>273087</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2016-03-05 09:25:07 -0800</bug_when>
    <thetext>Created attachment 273087
Patch 1/2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1171217</commentid>
    <comment_count>4</comment_count>
      <attachid>273088</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2016-03-05 09:25:29 -0800</bug_when>
    <thetext>Created attachment 273088
Patch 2/2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1171218</commentid>
    <comment_count>5</comment_count>
      <attachid>273087</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2016-03-05 09:46:34 -0800</bug_when>
    <thetext>Comment on attachment 273087
Patch 1/2

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

r=me

&gt; Source/WebKit2/ChangeLog:6
&gt; +

Please put the subtitle text after Reviewed By</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1171220</commentid>
    <comment_count>6</comment_count>
      <attachid>273088</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2016-03-05 10:10:28 -0800</bug_when>
    <thetext>Comment on attachment 273088
Patch 2/2

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

Other than concern about page map getting out of sync it looks good.

&gt; Source/WebKit2/UIProcess/Automation/WebAutomationSession.cpp:105
&gt; +    auto iter = m_handleWebPageMap.find(handle);

Nit: usually call this it or result

&gt; Source/WebKit2/UIProcess/Automation/WebAutomationSession.cpp:108
&gt; +    return WebProcessProxy::webPage(iter-&gt;value);

Does this return null for pages that died?

&gt; Source/WebKit2/UIProcess/Automation/WebAutomationSession.cpp:117
&gt; +    String handle = WebCore::createCanonicalUUIDString().convertToASCIIUppercase();

Nice!

&gt; Source/WebKit2/UIProcess/Automation/WebAutomationSession.cpp:133
&gt; +

Usually I try to never assign the out parameter until the very end so it is mutually exclusive to errorString being set. Not super important here though since there is no error case.

&gt; Source/WebKit2/UIProcess/Automation/WebAutomationSession.cpp:159
&gt; +        FAIL_WITH_PREDEFINED_ERROR_MESSAGE(InternalError);

You could add a more specific error code for this though its not required by spec.

&gt; Source/WebKit2/UIProcess/Automation/WebAutomationSession.cpp:175
&gt; +    page-&gt;tryClose();

There is likely some extra steps to take in case beforeunload dialog happens but we can punt for now.

&gt; Source/WebKit2/UIProcess/Automation/WebAutomationSession.h:99
&gt; +    HandleWebPageMap m_handleWebPageMap;

I think these maps could get out of sync if a process crashes or page dies in some other way not through this API.  Should we be more paranoid (I.e., recheck the process pool page list before handing out a WebPageProxy ref)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1171223</commentid>
    <comment_count>7</comment_count>
      <attachid>273088</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2016-03-05 10:15:15 -0800</bug_when>
    <thetext>Comment on attachment 273088
Patch 2/2

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

&gt;&gt; Source/WebKit2/UIProcess/Automation/WebAutomationSession.cpp:105
&gt;&gt; +    auto iter = m_handleWebPageMap.find(handle);
&gt; 
&gt; Nit: usually call this it or result

The other places I saw find being used in WebCore/WebKit mostly used iter.

&gt;&gt; Source/WebKit2/UIProcess/Automation/WebAutomationSession.cpp:108
&gt;&gt; +    return WebProcessProxy::webPage(iter-&gt;value);
&gt; 
&gt; Does this return null for pages that died?

Yep, it is a global map that is maintained by the lifetime of the page.

&gt;&gt; Source/WebKit2/UIProcess/Automation/WebAutomationSession.cpp:175
&gt;&gt; +    page-&gt;tryClose();
&gt; 
&gt; There is likely some extra steps to take in case beforeunload dialog happens but we can punt for now.

I figured the beforeunload would be covered by the alert endpoints.

&gt;&gt; Source/WebKit2/UIProcess/Automation/WebAutomationSession.h:99
&gt;&gt; +    HandleWebPageMap m_handleWebPageMap;
&gt; 
&gt; I think these maps could get out of sync if a process crashes or page dies in some other way not through this API.  Should we be more paranoid (I.e., recheck the process pool page list before handing out a WebPageProxy ref)?

The maps only store the uint64_t pageID for a WebPageProxy. We use WebProcessProxy::webPage() to look up the ID. It will not return a bad WebPageProxy ref.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1171224</commentid>
    <comment_count>8</comment_count>
      <attachid>273088</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2016-03-05 10:19:27 -0800</bug_when>
    <thetext>Comment on attachment 273088
Patch 2/2

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1171309</commentid>
    <comment_count>9</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2016-03-05 16:40:39 -0800</bug_when>
    <thetext>https://trac.webkit.org/r197620
https://trac.webkit.org/r197621</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>272728</attachid>
            <date>2016-03-02 21:16:14 -0800</date>
            <delta_ts>2016-03-05 09:25:07 -0800</delta_ts>
            <desc>WIP</desc>
            <filename>bug-154953-20160302211559.patch</filename>
            <type>text/plain</type>
            <size>9167</size>
            <attacher name="Blaze Burg">bburg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk3NDc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOWI2Zjg1ZTNjYTE5ZTc5
MGVlNjA1ZGNlMDViNDAyM2UzNGFlMzQ2Zi4uZjM3OGZjZDU3ODBmOWQwOWNjNjEwMDRlZWE2YTEx
ZmRmZDg2OWZhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE2LTAzLTAyICBCcmlh
biBCdXJnICA8YmJ1cmdAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBfV0tBdXRvbWF0aW9uU2Vz
c2lvbkRlbGVnYXRlIG1ldGhvZHMgZm9yIG9wZW5pbmcsIGNsb3NpbmcsIGFuZCBzd2l0Y2hpbmcg
d2luZG93cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTU0OTUzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBVSVByb2Nlc3MvQXV0b21hdGlvbi9BdXRvbWF0aW9uLmpzb246CisgICAgICAgICogVUlQcm9j
ZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb24uY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6Z2V0QnJvd3NpbmdDb250ZXh0cyk6CisgICAgICAgIChX
ZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uOjpjcmVhdGVCcm93c2luZ0NvbnRleHQpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6Y2xvc2VCcm93c2luZ0NvbnRleHQp
OgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6c3dpdGNoVG9Ccm93c2lu
Z0NvbnRleHQpOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6Z2V0V2lu
ZG93cyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uOjpv
cGVuV2luZG93KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Np
b246OmNsb3NlV2luZG93KTogRGVsZXRlZC4KKwogMjAxNi0wMy0wMSAgQWRhIENoYW4gIDxhZGFj
aGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBVcGRhdGUgdGhlIG1lZGlhIGVsZW1lbnQncyBwcmVz
ZW50YXRpb24gbW9kZSBwcm9wZXJseSBhZnRlciBnb2luZyBpbiBhbmQgb3V0IG9mIGZ1bGwgc2Ny
ZWVuIHZpYSB0aGUgRnVsbCBTY3JlZW4gQVBJCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQXV0b21hdGlvbi9BdXRvbWF0aW9uLmpzb24gYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQXV0b21hdGlvbi9BdXRvbWF0aW9uLmpzb24KaW5kZXggODZhNTJmODlkMTA2Zjk5NzRj
ZjNkZTkwNjVlMzQ1MTQ5YTY5NDBlNy4uZTk1NTU3YmFiZTY0N2NlOTFkNWI5MmY4YzczZTdiNGEw
MGJhYzY3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dG9tYXRpb24v
QXV0b21hdGlvbi5qc29uCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRvbWF0aW9u
L0F1dG9tYXRpb24uanNvbgpAQCAtMyw0NiArMyw1OCBAQAogICAgICJkZXNjcmlwdGlvbiI6ICJB
dXRvbWF0aW9uIGRvbWFpbiBleHBvc2VzIGNvbW1hbmRzIGZvciBhdXRvbWF0aW5nIHVzZXIgaW50
ZXJhY3Rpb25zIHdpdGggdGhlIGJyb3dzZXIuIiwKICAgICAidHlwZXMiOiBbCiAgICAgICAgIHsK
LSAgICAgICAgICAgICJpZCI6ICJPcGFxdWVXaW5kb3dIYW5kbGUiLAorICAgICAgICAgICAgImlk
IjogIkJyb3dzaW5nQ29udGV4dEhhbmRsZSIsCiAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmci
LAotICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkFuIG9wYXF1ZSBpZGVudGlmaWVyIGZvciBh
IHdpbmRvdy4iCisgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQW4gb3BhcXVlIGlkZW50aWZp
ZXIgZm9yIGEgYnJvd3NpbmcgY29udGV4dC4iCiAgICAgICAgIH0sCiAgICAgICAgIHsKICAgICAg
ICAgICAgICJpZCI6ICJFcnJvck1lc3NhZ2UiLAogICAgICAgICAgICAgInR5cGUiOiAic3RyaW5n
IiwKICAgICAgICAgICAgICJlbnVtIjogWworICAgICAgICAgICAgICAgICJJbnRlcm5hbEVycm9y
IiwKKyAgICAgICAgICAgICAgICAiV2luZG93Tm90Rm91bmQiLAogICAgICAgICAgICAgICAgICJO
b3RJbXBsZW1lbnRlZCIKICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAiZGVzY3JpcHRpb24i
OiAiVGhpcyBlbnVtIGNvbnRhaW5zIHByZWRlZmluZWQgZXJyb3IgbWVzc2FnZXMgdGhhdCBjYW4g
YmUgdXNlZCB0byBzaWduYWwgYSB3ZWxsLWRlZmluZWQgZXJyb3IgY29uZGl0aW9uLCBzdWNoIGFz
IGEgbWlzc2luZyBpbXBsZW1lbnRhdGlvbiwgdW5rbm93biB3aW5kb3cgaGFuZGxlLCBhbmQgc28g
Zm9ydGguIFRoZSBiYWNrZW5kIHNpZ25hbHMgb25lIG9mIHRoZXNlIGVycm9ycyBieSB1c2luZyBp
dCBhcyBhIHByZWZpeCBvZiB0aGUgY29tbWFuZHMncyBlcnJvciBtZXNzYWdlICh0aGUgZXJyb3JT
dHJpbmcgYXJndW1lbnQgaW4gZ2VuZXJhdGVkIEMrKyBiYWNrZW5kIGRpc3BhdGNoZXJzKS4gVGhp
cyB3aWxsIGJlIHJlcG9ydGVkIHRvIHRoZSBmcm9udGVuZCBhcyBhIHByb3RvY29sIGVycm9yIHdp
dGggYSBKU09OLVJQQyBlcnJvciBjb2RlIG9mICdTZXJ2ZXJFcnJvcicuIEl0IGlzIHVwIHRvIHRo
ZSBmcm9udGVuZCB3aGV0aGVyIGFuZCBob3cgdG8gZGVhbCB3aXRoIGVycm9ycy4iCiAgICAgICAg
IH0sCiAgICAgICAgIHsKLSAgICAgICAgICAgICJpZCI6ICJCcm93c2luZ1dpbmRvdyIsCisgICAg
ICAgICAgICAiaWQiOiAiQnJvd3NpbmdDb250ZXh0IiwKICAgICAgICAgICAgICJ0eXBlIjogIm9i
amVjdCIsCiAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQSBoYW5kbGUgcmVwcmVzZW50aW5n
IGFuIG9wZW4gd2luZG93IG9yIHRhYiBpbiB0aGUgYXV0b21hdGlvbiBzZXNzaW9uLiIsCiAgICAg
ICAgICAgICAicHJvcGVydGllcyI6IFsKLSAgICAgICAgICAgICAgICB7ICJuYW1lIjogImhhbmRs
ZSIsICIkcmVmIjogIk9wYXF1ZVdpbmRvd0hhbmRsZSIsICJkZXNjcmlwdGlvbiI6ICJPcGFxdWUg
aGFuZGxlIGZvciB0aGUgd2luZG93LiBVc2VkIGFzIGEga2V5IGZvciB3aW5kb3ctcmVsYXRlZCBj
b21tYW5kcy4iIH0sCi0gICAgICAgICAgICAgICAgeyAibmFtZSI6ICJhY3RpdmUiLCAidHlwZSI6
ICJib29sZWFuIiwgImRlc2NyaXB0aW9uIjogIldoZXRoZXIgdGhlIHdpbmRvdyBpcyBhY3RpdmUg
YXQgdGhlIHRpbWUgdGhlIGNvbW1hbmQgaXMgaGFuZGxlZC4iIH0KKyAgICAgICAgICAgICAgICB7
ICJuYW1lIjogImhhbmRsZSIsICIkcmVmIjogIkJyb3dzaW5nQ29udGV4dEhhbmRsZSIsICJkZXNj
cmlwdGlvbiI6ICJPcGFxdWUgaGFuZGxlIGZvciBhIGJyb3dzaW5nIGNvbnRleHQgKHdpbmRvdyBv
ciB0YWIpLiBVc2VkIGFzIGEga2V5IGZvciB3aW5kb3ctcmVsYXRlZCBjb21tYW5kcy4iIH0sCisg
ICAgICAgICAgICAgICAgeyAibmFtZSI6ICJhY3RpdmUiLCAidHlwZSI6ICJib29sZWFuIiwgImRl
c2NyaXB0aW9uIjogIldoZXRoZXIgdGhlIGJyb3dzaW5nIGNvbnRleHQgaGFzIGZvY3VzIGF0IHRo
ZSB0aW1lIHRoZSBjb21tYW5kIGlzIGhhbmRsZWQuIiB9CiAgICAgICAgICAgICBdCiAgICAgICAg
IH0KICAgICBdLAogICAgICJjb21tYW5kcyI6IFsKICAgICAgICAgewotICAgICAgICAgICAgIm5h
bWUiOiAiZ2V0V2luZG93cyIsCisgICAgICAgICAgICAibmFtZSI6ICJnZXRCcm93c2luZ0NvbnRl
eHRzIiwKICAgICAgICAgICAgICJyZXR1cm5zIjogWwotICAgICAgICAgICAgICAgIHsgIm5hbWUi
OiAid2luZG93cyIsICJ0eXBlIjogImFycmF5IiwgIml0ZW1zIjogeyAiJHJlZiI6ICJCcm93c2lu
Z1dpbmRvdyJ9LCAiZGVzY3JpcHRpb24iOiAiQWxsIGtub3duIHdpbmRvd3MgYW5kIHRhYnMgaW4g
dGhlIGJyb3dzaW5nIHNlc3Npb24uIiB9CisgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJjb250
ZXh0cyIsICJ0eXBlIjogImFycmF5IiwgIml0ZW1zIjogeyAiJHJlZiI6ICJCcm93c2luZ0NvbnRl
eHQiIH0gfQogICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJHZXRz
IGluZm9ybWF0aW9uIGFib3V0IGFsbCBvcGVuIHdpbmRvd3MgYW5kIHRhYnMgaW4gdGhlIGF1dG9t
YXRpb24gc2Vzc2lvbi4iCisgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRmV0Y2hlcyBpbmZv
cm1hdGlvbiBhYm91dCBhbGwgb3BlbiBicm93c2luZyBjb250ZXh0cyAod2luZG93cyBhbmQgdGFi
cykgaW4gdGhlIGF1dG9tYXRpb24gc2Vzc2lvbi4iCiAgICAgICAgIH0sCiAgICAgICAgIHsKLSAg
ICAgICAgICAgICJuYW1lIjogIm9wZW5XaW5kb3ciLAotICAgICAgICAgICAgImRlc2NyaXB0aW9u
IjogIk9wZW5zIGEgbmV3IGF1dG9tYXRpb24gd2luZG93IGluIHRoZSBjdXJyZW50IGJyb3dzaW5n
IGNvbnRleHQuIgorICAgICAgICAgICAgIm5hbWUiOiAiY3JlYXRlQnJvd3NpbmdDb250ZXh0IiwK
KyAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPcGVucyBhIG5ldyBicm93c2luZyBjb250ZXh0
IGluIHRoZSBhdXRvbWF0aW9uIHNlc3Npb24gYW5kIG1ha2VzIGl0IHRoZSBhY3RpdmUgYnJvd3Np
bmcgY29udGV4dCBmb3IgdXNlciBpbnRlcmFjdGlvbi4gVGhpcyBjb21tYW5kIGNyZWF0ZXMgYSBi
cm93c2luZyBjb250ZXh0IGluIGEgbmV3IHdpbmRvdyByYXRoZXIgdGhhbiBhZGRpbmcgYSB0YWIg
dG8gYW4gZXhpc3Rpbmcgd2luZG93LiIsCisgICAgICAgICAgICAicmV0dXJucyI6IFsKKyAgICAg
ICAgICAgICAgICB7ICJuYW1lIjogImhhbmRsZSIsICIkcmVmIiwgIkJyb3dzaW5nQ29udGV4dEhh
bmRsZSIsICJkZXNjcmlwdGlvbiI6ICJBbiBvcGFxdWUgaGFuZGxlIGZvciB0aGUgbmV3bHkgY3Jl
YXRlZCBicm93c2luZyBjb250ZXh0LiIgfQorICAgICAgICAgICAgXQorICAgICAgICB9LAorICAg
ICAgICB7CisgICAgICAgICAgICAibmFtZSI6ICJjbG9zZUJyb3dzaW5nQ29udGV4dCIsCisgICAg
ICAgICAgICAicGFyYW1ldGVycyI6IFsKKyAgICAgICAgICAgICAgICB7ICJuYW1lIjogImhhbmRs
ZSIsICIkcmVmIjogIkJyb3dzaW5nQ29udGV4dEhhbmRsZSIsICJkZXNjcmlwdGlvbiI6ICJUaGUg
aGFuZGxlIGZvciB0aGUgYnJvd3NpbmcgY29udGV4dCB0aGF0IHNob3VsZCBiZSBjbG9zZWQuIiB9
CisgICAgICAgICAgICBdLAorICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlRyeSB0byBjbG9z
ZSB0aGUgc3BlY2lmaWVkIGJyb3dzaW5nIGNvbnRleHQuIFRoaXMgY2FuIHRyaWdnZXIgYW4gdW5s
b2FkIHByb21wdCBhbmQgdGhlcmVhZnRlciBzdWNjZWVkIG9yIGZhaWwuIgogICAgICAgICB9LAog
ICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJjbG9zZVdpbmRvdyIsCisgICAgICAgICAg
ICAibmFtZSI6ICJzd2l0Y2hUb0Jyb3dzaW5nQ29udGV4dCIsCiAgICAgICAgICAgICAicGFyYW1l
dGVycyI6IFsKLSAgICAgICAgICAgICAgICB7ICJuYW1lIjogImhhbmRsZSIsICIkcmVmIjogIk9w
YXF1ZVdpbmRvd0hhbmRsZSIsICJkZXNjcmlwdGlvbiI6ICJUaGUgaGFuZGxlIGZvciB0aGUgd2lu
ZG93IHRoYXQgc2hvdWxkIGJlIGNsb3NlZC4iIH0KKyAgICAgICAgICAgICAgICB7ICJuYW1lIjog
ImhhbmRsZSIsICIkcmVmIjogIkJyb3dzaW5nQ29udGV4dEhhbmRsZSIsICJkZXNjcmlwdGlvbiI6
ICJUaGUgaGFuZGxlIGZvciB0aGUgYnJvd3NpbmcgY29udGV4dCB0aGF0IHNob3VsZCBiZSBtYWRl
IGFjdGl2ZS4iIH0KICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAi
Q2xvc2VzIHRoZSBzcGVjaWZpZWQgd2luZG93LiIKKyAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6
ICJBY3RpdmF0ZXMgdGhlIHNwZWNpZmllZCBicm93c2luZyBjb250ZXh0LiIKICAgICAgICAgfQog
ICAgIF0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRvbWF0aW9u
L1dlYkF1dG9tYXRpb25TZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRv
bWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uLmNwcAppbmRleCBlN2FlZjJmNWNhMzk2ZGM4ODFi
ZmYyMjhlZjdmMjJkNWFjZjlhOGUxLi5jNmVlNDAyYThiYTc2Mjc5YTVmYzc5OWYwNjJlYTY1ZTA4
MGRjODYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQXV0b21hdGlvbi9X
ZWJBdXRvbWF0aW9uU2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1
dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb24uY3BwCkBAIC05OSwxOSArOTksNTcgQEAgdm9p
ZCBXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6ZGlzY29ubmVjdChJbnNwZWN0b3I6OkZyb250ZW5kQ2hh
bm5lbCogY2hhbm5lbCkKIAogLy8gSW5zcGVjdG9yOjpBdXRvbWF0aW9uQmFja2VuZERpc3BhdGNo
ZXJIYW5kbGVyIEFQSQogCi12b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9uOjpnZXRXaW5kb3dzKElu
c3BlY3Rvcjo6RXJyb3JTdHJpbmcmIGVycm9yU3RyaW5nLCBSZWZQdHI8SW5zcGVjdG9yOjpQcm90
b2NvbDo6QXJyYXk8SW5zcGVjdG9yOjpQcm90b2NvbDo6QXV0b21hdGlvbjo6QnJvd3NpbmdXaW5k
b3c+PiYgb3V0X3dpbmRvd3MpCit2b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9uOjpnZXRCcm93c2lu
Z0NvbnRleHRzKEluc3BlY3Rvcjo6RXJyb3JTdHJpbmcmIGVycm9yU3RyaW5nLCBSZWZQdHI8SW5z
cGVjdG9yOjpQcm90b2NvbDo6QXJyYXk8SW5zcGVjdG9yOjpQcm90b2NvbDo6QXV0b21hdGlvbjo6
QnJvd3NpbmdDb250ZXh0cz4+JiBvdXRfY29udGV4dHMpCiB7CiAgICAgRkFJTF9XSVRIX1BSRURF
RklORURfRVJST1JfTUVTU0FHRShOb3RJbXBsZW1lbnRlZCk7CisgICAgCisgICAgLy8gVE9ETzog
d2UgbWlnaHQgd2FudCB0byBtYWtlIHRoZXNlIGRlbGVnYXRlIG1ldGhvZHMgYXN5bmNocm9ub3Vz
LiBOb3Qgc3VyZSBhYm91dCB0aGlzLgorICAgIC8vIExldCdzIHRyeSBkb2luZyBpdCBzeW5jaHJv
bm91c2x5IGZvciBub3cgc2luY2UgdGhlcmUgbWlnaHQgYmUgbW9yZSB3b3JrIHRvIG1ha2UgdGhl
CisgICAgLy8gcHJvdG9jb2wgZ2VuZXJhdG9yIHBsYXkgbmljZSB3aXRoIGFzeW5jIGNvbW1hbmRz
IGluIFdLMi4KKyAgICAKKyAgICAvLyBUT0RPOiBpdGVyYXRlIG92ZXIgYWxsIG9mIHRoZSBXZWJQ
YWdlUHJveHkgbG9va2luZyBmb3IgdGhvc2Ugd2l0aCBhdXRvbWF0aW9uRW5hYmxlZCBzZXQgdHJ1
ZS4KKyAgICAvLyBDb2xsZWN0IHRoZWlyIGRhdGEgYW5kIHNlbmQgaXQgb3V0IGluIGEgcHJvdG9j
b2wgb2JqZWN0IHBheWxvYWQuCiB9CiAKLXZvaWQgV2ViQXV0b21hdGlvblNlc3Npb246Om9wZW5X
aW5kb3coSW5zcGVjdG9yOjpFcnJvclN0cmluZyYgZXJyb3JTdHJpbmcpCit2b2lkIFdlYkF1dG9t
YXRpb25TZXNzaW9uOjpjcmVhdGVCcm93c2luZ0NvbnRleHQoSW5zcGVjdG9yOjpFcnJvclN0cmlu
ZyYgZXJyb3JTdHJpbmcpCit7CisgICAgQVNTRVJUKG1fY2xpZW50KTsKKyAgICBpZiAoIW1fY2xp
ZW50KQorICAgICAgICBGQUlMX1dJVEhfUFJFREVGSU5FRF9FUlJPUl9NRVNTQUdFKEludGVybmFs
RXJyb3IpOworCisgICAgLy8gVE9ETzogdGhpcyBuZWVkcyB0byBzZW5kIGJhY2sgdGhlIG5ldyBj
b250ZXh0J3MgaGFuZGxlIHNvIHRoYXQgd2Uga25vdyB0aGUgYWN0aXZlCisgICAgLy8gd2luZG93
J3MgaGFuZGxlIHdoZW4gYSBzZXNzaW9uIGhhcyBqdXN0IG9uZSB3aW5kb3cuCisgICAgCisgICAg
Ly8gVE9ETzogd2hvIHNob3VsZCBrZWVwIHRyYWNrIG9mIFdlYlBhZ2VQcm94eS0tPmhhbmRsZSBt
YXBwaW5nPyAob3B0aW9uIDEgc2VlbXMgYmVzdCkKKyAgICAvLyAxLiBJZiBXZWJLaXQyIGRvZXMg
aXQsIHRoZW4gZGVsZXRlQnJvd3NpbmdDb250ZXh0IGhhcyB0byB0YWtlIGEgV2ViUGFnZSBhcmd1
bWVudD8KKyAgICAvLyAyLiBJZiB0aGUgZGVsZWdhdGUgZG9lcyBpdCwgdGhlbiBob3cgZG8gd2Ug
Z2V0IHRoZSBoYW5kbGVzIHdoZW4gZW51bWVyYXRpbmcuCisgICAgbV9jbGllbnQtPmNyZWF0ZUJy
b3dzaW5nQ29udGV4dCgpOworfQorCit2b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9uOjpjbG9zZUJy
b3dzaW5nQ29udGV4dChJbnNwZWN0b3I6OkVycm9yU3RyaW5nJiBlcnJvclN0cmluZywgY29uc3Qg
U3RyaW5nJiBpbl9oYW5kbGUpCiB7CiAgICAgRkFJTF9XSVRIX1BSRURFRklORURfRVJST1JfTUVT
U0FHRShOb3RJbXBsZW1lbnRlZCk7CisKKyAgICAvLyBUT0RPOiB2YWxpZGF0ZSB0aGF0IHRoaXMg
aGFuZGxlIHJlZmVycyB0byBhIHJlYWwgY29udGV4dC4KKyAgICBXZWJQYWdlUHJveHkqIHBhZ2Ug
PSBnZXRQYWdlRm9ySGFuZGxlKGluX2hhbmRsZSk7CisgICAgaWYgKCFwYWdlKQorICAgICAgICBG
QUlMX1dJVEhfUFJFREVGSU5FRF9FUlJPUl9NRVNTQUdFKFdpbmRvd05vdEZvdW5kKTsKKyAgICAK
KyAgICAvLyBUT0RPOiBjYWxsIG91dCB0byB0aGUgZGVsZWdhdGUgdG8gY2xvc2UgdGhlIHdpbmRv
dy4KKyAgICBtX2NsaWVudC0+ZGVsZXRlQnJvd3NpbmdDb250ZXh0KHBhZ2UpOwogfQogCi12b2lk
IFdlYkF1dG9tYXRpb25TZXNzaW9uOjpjbG9zZVdpbmRvdyhJbnNwZWN0b3I6OkVycm9yU3RyaW5n
JiBlcnJvclN0cmluZywgY29uc3QgU3RyaW5nJiBpbl9oYW5kbGUpCit2b2lkIFdlYkF1dG9tYXRp
b25TZXNzaW9uOjpzd2l0Y2hUb0Jyb3dzaW5nQ29udGV4dChJbnNwZWN0b3I6OkVycm9yU3RyaW5n
JiBlcnJvclN0cmluZywgY29uc3QgU3RyaW5nJiBpbl9oYW5kbGUpCiB7CiAgICAgRkFJTF9XSVRI
X1BSRURFRklORURfRVJST1JfTUVTU0FHRShOb3RJbXBsZW1lbnRlZCk7CisKKyAgICAvLyBUT0RP
OiB2YWxpZGF0ZSB0aGF0IHRoaXMgaGFuZGxlIHJlZmVycyB0byBhIHJlYWwgY29udGV4dC4KKyAg
ICBXZWJQYWdlUHJveHkqIHBhZ2UgPSBnZXRQYWdlRm9ySGFuZGxlKGluX2hhbmRsZSk7CisgICAg
aWYgKCFwYWdlKQorICAgICAgICBGQUlMX1dJVEhfUFJFREVGSU5FRF9FUlJPUl9NRVNTQUdFKFdp
bmRvd05vdEZvdW5kKTsKKyAgICAKKyAgICAvLyBUT0RPOiBjYWxsIG91dCB0byB0aGUgZGVsZWdh
dGUgdG8gY2xvc2UgdGhlIHdpbmRvdy4KKyAgICBtX2NsaWVudC0+c3dpdGNoVG9Ccm93c2luZ0Nv
bnRleHQocGFnZSk7MTU0OTUzCiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>273087</attachid>
            <date>2016-03-05 09:25:07 -0800</date>
            <delta_ts>2016-03-05 09:46:34 -0800</delta_ts>
            <desc>Patch 1/2</desc>
            <filename>0001-Rename-Automation-protocol-methods-to-use-BrowsingCo.patch</filename>
            <type>text/plain</type>
            <size>10739</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">RnJvbSBjMjU1MDZlOGI1NTllNDQ3Yzg5NGFiYWVlMDFmMGQ0NDQ0YzhiMmIxIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBUaW1vdGh5IEhhdGNoZXIgPHRpbW90aHlAYXBwbGUuY29tPgpE
YXRlOiBTYXQsIDUgTWFyIDIwMTYgMDk6MTY6NTYgLTA4MDAKU3ViamVjdDogW1BBVENIIDEvMl0g
UmVuYW1lIEF1dG9tYXRpb24gcHJvdG9jb2wgbWV0aG9kcyB0byB1c2UKICJCcm93c2luZ0NvbnRl
eHQiIGluc3RlYWQgb2YgIldpbmRvdyIuIEFsc28gZmxlc2ggb3V0IHRoZSBwcm90b2NvbCBjb21t
YW5kcwogbW9yZSBieSBhZGRpbmcgc3dpdGNoVG9Ccm93c2luZ0NvbnRleHQgYW5kIHJldHVybiBh
IEJyb3dzaW5nQ29udGV4dEhhbmRsZSBmb3IKIGNyZWF0ZUJyb3dzaW5nQ29udGV4dC4KCmh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTQ5NTMKcmRhcjovL3Byb2JsZW0v
MjQ5NDc0ODkKClJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKKiBVSVByb2Nlc3MvQXV0b21h
dGlvbi9BdXRvbWF0aW9uLmpzb246CiogVUlQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlv
blNlc3Npb24uY3BwOgooV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6Z2V0QnJvd3NpbmdD
b250ZXh0cyk6CihXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uOjpjcmVhdGVCcm93c2luZ0Nv
bnRleHQpOgooV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6Y2xvc2VCcm93c2luZ0NvbnRl
eHQpOgooV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6c3dpdGNoVG9Ccm93c2luZ0NvbnRl
eHQpOgooV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6Z2V0V2luZG93cyk6IERlbGV0ZWQu
CihXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uOjpvcGVuV2luZG93KTogRGVsZXRlZC4KKFdl
YktpdDo6V2ViQXV0b21hdGlvblNlc3Npb246OmNsb3NlV2luZG93KTogRGVsZXRlZC4KKiBVSVBy
b2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5oOgotLS0KIFNvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMjIgKysrKysrKysrKysK
IC4uLi9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRvbWF0aW9uL0F1dG9tYXRpb24uanNvbiAgIHwgNDYg
KysrKysrKysrKysrKystLS0tLS0tLQogLi4uL1VJUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9t
YXRpb25TZXNzaW9uLmNwcCAgfCAxMSArKysrLS0KIC4uLi9VSVByb2Nlc3MvQXV0b21hdGlvbi9X
ZWJBdXRvbWF0aW9uU2Vzc2lvbi5oICAgIHwgIDcgKystLQogNCBmaWxlcyBjaGFuZ2VkLCA2MyBp
bnNlcnRpb25zKCspLCAyMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMGVkMDJmMS4uYjcx
NTU5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE2LTAzLTA1ICBUaW1vdGh5IEhh
dGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KKworICAgICAgICBSZW5hbWUgQXV0b21hdGlvbiBw
cm90b2NvbCBtZXRob2RzIHRvIHVzZSAiQnJvd3NpbmdDb250ZXh0IiBpbnN0ZWFkIG9mICJXaW5k
b3ciLgorICAgICAgICBBbHNvIGZsZXNoIG91dCB0aGUgcHJvdG9jb2wgY29tbWFuZHMgbW9yZSBi
eSBhZGRpbmcgc3dpdGNoVG9Ccm93c2luZ0NvbnRleHQKKyAgICAgICAgYW5kIHJldHVybiBhIEJy
b3dzaW5nQ29udGV4dEhhbmRsZSBmb3IgY3JlYXRlQnJvd3NpbmdDb250ZXh0LgorCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTQ5NTMKKyAgICAgICAg
cmRhcjovL3Byb2JsZW0vMjQ5NDc0ODkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BdXRvbWF0aW9uL0F1dG9tYXRpb24uanNvbjoK
KyAgICAgICAgKiBVSVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uOjpnZXRCcm93c2luZ0NvbnRl
eHRzKToKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb246OmNyZWF0ZUJyb3dz
aW5nQ29udGV4dCk6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uOjpjbG9z
ZUJyb3dzaW5nQ29udGV4dCk6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9u
Ojpzd2l0Y2hUb0Jyb3dzaW5nQ29udGV4dCk6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dG9tYXRp
b25TZXNzaW9uOjpnZXRXaW5kb3dzKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViQXV0
b21hdGlvblNlc3Npb246Om9wZW5XaW5kb3cpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpX
ZWJBdXRvbWF0aW9uU2Vzc2lvbjo6Y2xvc2VXaW5kb3cpOiBEZWxldGVkLgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uLmg6CisKIDIwMTYtMDMtMDMg
IFRpbW90aHkgSGF0Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgogCiAgICAgICAgIEluZm9ybSBX
ZWJLaXQgYW5kIFdlYkNvcmUgaWYgYSBwYWdlIGlzIGNvbnRyb2xsZWQgYnkgYXV0b21hdGlvbi4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRvbWF0aW9uL0F1dG9tYXRp
b24uanNvbiBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRvbWF0aW9uL0F1dG9tYXRpb24u
anNvbgppbmRleCA4NmE1MmY4Li44NjE0ZDE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQXV0b21hdGlvbi9BdXRvbWF0aW9uLmpzb24KKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0F1dG9tYXRpb24vQXV0b21hdGlvbi5qc29uCkBAIC0zLDQ2ICszLDU4IEBACiAg
ICAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpb24gZG9tYWluIGV4cG9zZXMgY29tbWFuZHMgZm9y
IGF1dG9tYXRpbmcgdXNlciBpbnRlcmFjdGlvbnMgd2l0aCB0aGUgYnJvd3Nlci4iLAogICAgICJ0
eXBlcyI6IFsKICAgICAgICAgewotICAgICAgICAgICAgImlkIjogIk9wYXF1ZVdpbmRvd0hhbmRs
ZSIsCisgICAgICAgICAgICAiaWQiOiAiQnJvd3NpbmdDb250ZXh0SGFuZGxlIiwKICAgICAgICAg
ICAgICJ0eXBlIjogInN0cmluZyIsCi0gICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQW4gb3Bh
cXVlIGlkZW50aWZpZXIgZm9yIGEgd2luZG93LiIKKyAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6
ICJBbiBvcGFxdWUgaWRlbnRpZmllciBmb3IgYSBicm93c2luZyBjb250ZXh0LiIKICAgICAgICAg
fSwKICAgICAgICAgewogICAgICAgICAgICAgImlkIjogIkVycm9yTWVzc2FnZSIsCiAgICAgICAg
ICAgICAidHlwZSI6ICJzdHJpbmciLAorICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlRoaXMg
ZW51bSBjb250YWlucyBwcmVkZWZpbmVkIGVycm9yIG1lc3NhZ2VzIHRoYXQgY2FuIGJlIHVzZWQg
dG8gc2lnbmFsIGEgd2VsbC1kZWZpbmVkIGVycm9yIGNvbmRpdGlvbiwgc3VjaCBhcyBhIG1pc3Np
bmcgaW1wbGVtZW50YXRpb24sIHVua25vd24gd2luZG93IGhhbmRsZSwgYW5kIHNvIGZvcnRoLiBU
aGUgYmFja2VuZCBzaWduYWxzIG9uZSBvZiB0aGVzZSBlcnJvcnMgYnkgdXNpbmcgaXQgYXMgYSBw
cmVmaXggb2YgdGhlIGNvbW1hbmRzJ3MgZXJyb3IgbWVzc2FnZSAodGhlIGVycm9yU3RyaW5nIGFy
Z3VtZW50IGluIGdlbmVyYXRlZCBDKysgYmFja2VuZCBkaXNwYXRjaGVycykuIFRoaXMgd2lsbCBi
ZSByZXBvcnRlZCB0byB0aGUgZnJvbnRlbmQgYXMgYSBwcm90b2NvbCBlcnJvciB3aXRoIGEgSlNP
Ti1SUEMgZXJyb3IgY29kZSBvZiAnU2VydmVyRXJyb3InLiBJdCBpcyB1cCB0byB0aGUgZnJvbnRl
bmQgd2hldGhlciBhbmQgaG93IHRvIGRlYWwgd2l0aCBlcnJvcnMuIiwKICAgICAgICAgICAgICJl
bnVtIjogWworICAgICAgICAgICAgICAgICJJbnRlcm5hbEVycm9yIiwKKyAgICAgICAgICAgICAg
ICAiV2luZG93Tm90Rm91bmQiLAogICAgICAgICAgICAgICAgICJOb3RJbXBsZW1lbnRlZCIKLSAg
ICAgICAgICAgIF0sCi0gICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiVGhpcyBlbnVtIGNvbnRh
aW5zIHByZWRlZmluZWQgZXJyb3IgbWVzc2FnZXMgdGhhdCBjYW4gYmUgdXNlZCB0byBzaWduYWwg
YSB3ZWxsLWRlZmluZWQgZXJyb3IgY29uZGl0aW9uLCBzdWNoIGFzIGEgbWlzc2luZyBpbXBsZW1l
bnRhdGlvbiwgdW5rbm93biB3aW5kb3cgaGFuZGxlLCBhbmQgc28gZm9ydGguIFRoZSBiYWNrZW5k
IHNpZ25hbHMgb25lIG9mIHRoZXNlIGVycm9ycyBieSB1c2luZyBpdCBhcyBhIHByZWZpeCBvZiB0
aGUgY29tbWFuZHMncyBlcnJvciBtZXNzYWdlICh0aGUgZXJyb3JTdHJpbmcgYXJndW1lbnQgaW4g
Z2VuZXJhdGVkIEMrKyBiYWNrZW5kIGRpc3BhdGNoZXJzKS4gVGhpcyB3aWxsIGJlIHJlcG9ydGVk
IHRvIHRoZSBmcm9udGVuZCBhcyBhIHByb3RvY29sIGVycm9yIHdpdGggYSBKU09OLVJQQyBlcnJv
ciBjb2RlIG9mICdTZXJ2ZXJFcnJvcicuIEl0IGlzIHVwIHRvIHRoZSBmcm9udGVuZCB3aGV0aGVy
IGFuZCBob3cgdG8gZGVhbCB3aXRoIGVycm9ycy4iCisgICAgICAgICAgICBdCiAgICAgICAgIH0s
CiAgICAgICAgIHsKLSAgICAgICAgICAgICJpZCI6ICJCcm93c2luZ1dpbmRvdyIsCisgICAgICAg
ICAgICAiaWQiOiAiQnJvd3NpbmdDb250ZXh0IiwKICAgICAgICAgICAgICJ0eXBlIjogIm9iamVj
dCIsCiAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQSBoYW5kbGUgcmVwcmVzZW50aW5nIGFu
IG9wZW4gd2luZG93IG9yIHRhYiBpbiB0aGUgYXV0b21hdGlvbiBzZXNzaW9uLiIsCiAgICAgICAg
ICAgICAicHJvcGVydGllcyI6IFsKLSAgICAgICAgICAgICAgICB7ICJuYW1lIjogImhhbmRsZSIs
ICIkcmVmIjogIk9wYXF1ZVdpbmRvd0hhbmRsZSIsICJkZXNjcmlwdGlvbiI6ICJPcGFxdWUgaGFu
ZGxlIGZvciB0aGUgd2luZG93LiBVc2VkIGFzIGEga2V5IGZvciB3aW5kb3ctcmVsYXRlZCBjb21t
YW5kcy4iIH0sCi0gICAgICAgICAgICAgICAgeyAibmFtZSI6ICJhY3RpdmUiLCAidHlwZSI6ICJi
b29sZWFuIiwgImRlc2NyaXB0aW9uIjogIldoZXRoZXIgdGhlIHdpbmRvdyBpcyBhY3RpdmUgYXQg
dGhlIHRpbWUgdGhlIGNvbW1hbmQgaXMgaGFuZGxlZC4iIH0KKyAgICAgICAgICAgICAgICB7ICJu
YW1lIjogImhhbmRsZSIsICIkcmVmIjogIkJyb3dzaW5nQ29udGV4dEhhbmRsZSIsICJkZXNjcmlw
dGlvbiI6ICJPcGFxdWUgaGFuZGxlIGZvciBhIGJyb3dzaW5nIGNvbnRleHQgKHdpbmRvdyBvciB0
YWIpLiBVc2VkIGFzIGEga2V5IGZvciB3aW5kb3ctcmVsYXRlZCBjb21tYW5kcy4iIH0sCisgICAg
ICAgICAgICAgICAgeyAibmFtZSI6ICJhY3RpdmUiLCAidHlwZSI6ICJib29sZWFuIiwgImRlc2Ny
aXB0aW9uIjogIldoZXRoZXIgdGhlIGJyb3dzaW5nIGNvbnRleHQgaGFzIGZvY3VzIGF0IHRoZSB0
aW1lIHRoZSBjb21tYW5kIGlzIGhhbmRsZWQuIiB9CiAgICAgICAgICAgICBdCiAgICAgICAgIH0K
ICAgICBdLAogICAgICJjb21tYW5kcyI6IFsKICAgICAgICAgewotICAgICAgICAgICAgIm5hbWUi
OiAiZ2V0V2luZG93cyIsCisgICAgICAgICAgICAibmFtZSI6ICJnZXRCcm93c2luZ0NvbnRleHRz
IiwKKyAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJGZXRjaGVzIGluZm9ybWF0aW9uIGFib3V0
IGFsbCBvcGVuIGJyb3dzaW5nIGNvbnRleHRzICh3aW5kb3dzIGFuZCB0YWJzKSBpbiB0aGUgYXV0
b21hdGlvbiBzZXNzaW9uLiIsCiAgICAgICAgICAgICAicmV0dXJucyI6IFsKLSAgICAgICAgICAg
ICAgICB7ICJuYW1lIjogIndpbmRvd3MiLCAidHlwZSI6ICJhcnJheSIsICJpdGVtcyI6IHsgIiRy
ZWYiOiAiQnJvd3NpbmdXaW5kb3cifSwgImRlc2NyaXB0aW9uIjogIkFsbCBrbm93biB3aW5kb3dz
IGFuZCB0YWJzIGluIHRoZSBicm93c2luZyBzZXNzaW9uLiIgfQotICAgICAgICAgICAgXSwKLSAg
ICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJHZXRzIGluZm9ybWF0aW9uIGFib3V0IGFsbCBvcGVu
IHdpbmRvd3MgYW5kIHRhYnMgaW4gdGhlIGF1dG9tYXRpb24gc2Vzc2lvbi4iCisgICAgICAgICAg
ICAgICAgeyAibmFtZSI6ICJjb250ZXh0cyIsICJ0eXBlIjogImFycmF5IiwgIml0ZW1zIjogeyAi
JHJlZiI6ICJCcm93c2luZ0NvbnRleHQiIH0sICJkZXNjcmlwdGlvbiI6ICJBbGwga25vd24gYnJv
d3NpbmcgY29udGV4dHMgYXZhaWxhYmxlIHRvIHRoZSBzZXNzaW9uLiIgfQorICAgICAgICAgICAg
XQogICAgICAgICB9LAogICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJvcGVuV2luZG93
IiwKLSAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPcGVucyBhIG5ldyBhdXRvbWF0aW9uIHdp
bmRvdyBpbiB0aGUgY3VycmVudCBicm93c2luZyBjb250ZXh0LiIKKyAgICAgICAgICAgICJuYW1l
IjogImNyZWF0ZUJyb3dzaW5nQ29udGV4dCIsCisgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAi
T3BlbnMgYSBuZXcgYnJvd3NpbmcgY29udGV4dCBpbiB0aGUgYXV0b21hdGlvbiBzZXNzaW9uIGFu
ZCBtYWtlcyBpdCB0aGUgYWN0aXZlIGJyb3dzaW5nIGNvbnRleHQgZm9yIHVzZXIgaW50ZXJhY3Rp
b24uIFRoaXMgY29tbWFuZCBjcmVhdGVzIGEgYnJvd3NpbmcgY29udGV4dCBpbiBhIG5ldyB3aW5k
b3cgcmF0aGVyIHRoYW4gYWRkaW5nIGEgdGFiIHRvIGFuIGV4aXN0aW5nIHdpbmRvdy4iLAorICAg
ICAgICAgICAgInJldHVybnMiOiBbCisgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJoYW5kbGUi
LCAiJHJlZiI6ICJCcm93c2luZ0NvbnRleHRIYW5kbGUiLCAiZGVzY3JpcHRpb24iOiAiQW4gb3Bh
cXVlIGhhbmRsZSBmb3IgdGhlIG5ld2x5IGNyZWF0ZWQgYnJvd3NpbmcgY29udGV4dC4iIH0KKyAg
ICAgICAgICAgIF0KICAgICAgICAgfSwKICAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAi
Y2xvc2VXaW5kb3ciLAorICAgICAgICAgICAgIm5hbWUiOiAiY2xvc2VCcm93c2luZ0NvbnRleHQi
LAorICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlRyeSB0byBjbG9zZSB0aGUgc3BlY2lmaWVk
IGJyb3dzaW5nIGNvbnRleHQuIFRoaXMgY2FuIHRyaWdnZXIgYW4gdW5sb2FkIHByb21wdCBhbmQg
dGhlcmVhZnRlciBzdWNjZWVkIG9yIGZhaWwuIiwKICAgICAgICAgICAgICJwYXJhbWV0ZXJzIjog
WwotICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiaGFuZGxlIiwgIiRyZWYiOiAiT3BhcXVlV2lu
ZG93SGFuZGxlIiwgImRlc2NyaXB0aW9uIjogIlRoZSBoYW5kbGUgZm9yIHRoZSB3aW5kb3cgdGhh
dCBzaG91bGQgYmUgY2xvc2VkLiIgfQotICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICJkZXNj
cmlwdGlvbiI6ICJDbG9zZXMgdGhlIHNwZWNpZmllZCB3aW5kb3cuIgorICAgICAgICAgICAgICAg
IHsgIm5hbWUiOiAiaGFuZGxlIiwgIiRyZWYiOiAiQnJvd3NpbmdDb250ZXh0SGFuZGxlIiwgImRl
c2NyaXB0aW9uIjogIlRoZSBoYW5kbGUgZm9yIHRoZSBicm93c2luZyBjb250ZXh0IHRoYXQgc2hv
dWxkIGJlIGNsb3NlZC4iIH0KKyAgICAgICAgICAgIF0KKyAgICAgICAgfSwKKyAgICAgICAgewor
ICAgICAgICAgICAgIm5hbWUiOiAic3dpdGNoVG9Ccm93c2luZ0NvbnRleHQiLAorICAgICAgICAg
ICAgImRlc2NyaXB0aW9uIjogIkFjdGl2YXRlcyB0aGUgc3BlY2lmaWVkIGJyb3dzaW5nIGNvbnRl
eHQuIiwKKyAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogWworICAgICAgICAgICAgICAgIHsgIm5h
bWUiOiAiaGFuZGxlIiwgIiRyZWYiOiAiQnJvd3NpbmdDb250ZXh0SGFuZGxlIiwgImRlc2NyaXB0
aW9uIjogIlRoZSBoYW5kbGUgZm9yIHRoZSBicm93c2luZyBjb250ZXh0IHRoYXQgc2hvdWxkIGJl
IG1hZGUgYWN0aXZlLiIgfQorICAgICAgICAgICAgXQogICAgICAgICB9CiAgICAgXQogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlv
blNlc3Npb24uY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0
b21hdGlvblNlc3Npb24uY3BwCmluZGV4IGU3YWVmMmYuLjQ2NjJhYjYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9u
U2Vzc2lvbi5jcHAKQEAgLTk5LDE3ICs5OSwyMiBAQCB2b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9u
OjpkaXNjb25uZWN0KEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsKiBjaGFubmVsKQogCiAvLyBJ
bnNwZWN0b3I6OkF1dG9tYXRpb25CYWNrZW5kRGlzcGF0Y2hlckhhbmRsZXIgQVBJCiAKLXZvaWQg
V2ViQXV0b21hdGlvblNlc3Npb246OmdldFdpbmRvd3MoSW5zcGVjdG9yOjpFcnJvclN0cmluZyYg
ZXJyb3JTdHJpbmcsIFJlZlB0cjxJbnNwZWN0b3I6OlByb3RvY29sOjpBcnJheTxJbnNwZWN0b3I6
OlByb3RvY29sOjpBdXRvbWF0aW9uOjpCcm93c2luZ1dpbmRvdz4+JiBvdXRfd2luZG93cykKK3Zv
aWQgV2ViQXV0b21hdGlvblNlc3Npb246OmdldEJyb3dzaW5nQ29udGV4dHMoSW5zcGVjdG9yOjpF
cnJvclN0cmluZyYgZXJyb3JTdHJpbmcsIFJlZlB0cjxJbnNwZWN0b3I6OlByb3RvY29sOjpBcnJh
eTxJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRvbWF0aW9uOjpCcm93c2luZ0NvbnRleHQ+PiYgY29u
dGV4dHMpCiB7CiAgICAgRkFJTF9XSVRIX1BSRURFRklORURfRVJST1JfTUVTU0FHRShOb3RJbXBs
ZW1lbnRlZCk7CiB9CiAKLXZvaWQgV2ViQXV0b21hdGlvblNlc3Npb246Om9wZW5XaW5kb3coSW5z
cGVjdG9yOjpFcnJvclN0cmluZyYgZXJyb3JTdHJpbmcpCit2b2lkIFdlYkF1dG9tYXRpb25TZXNz
aW9uOjpjcmVhdGVCcm93c2luZ0NvbnRleHQoSW5zcGVjdG9yOjpFcnJvclN0cmluZyYgZXJyb3JT
dHJpbmcsIFN0cmluZyogaGFuZGxlKQogewogICAgIEZBSUxfV0lUSF9QUkVERUZJTkVEX0VSUk9S
X01FU1NBR0UoTm90SW1wbGVtZW50ZWQpOwogfQogCi12b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9u
OjpjbG9zZVdpbmRvdyhJbnNwZWN0b3I6OkVycm9yU3RyaW5nJiBlcnJvclN0cmluZywgY29uc3Qg
U3RyaW5nJiBpbl9oYW5kbGUpCit2b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9uOjpjbG9zZUJyb3dz
aW5nQ29udGV4dChJbnNwZWN0b3I6OkVycm9yU3RyaW5nJiBlcnJvclN0cmluZywgY29uc3QgU3Ry
aW5nJiBoYW5kbGUpCit7CisgICAgRkFJTF9XSVRIX1BSRURFRklORURfRVJST1JfTUVTU0FHRShO
b3RJbXBsZW1lbnRlZCk7Cit9CisKK3ZvaWQgV2ViQXV0b21hdGlvblNlc3Npb246OnN3aXRjaFRv
QnJvd3NpbmdDb250ZXh0KEluc3BlY3Rvcjo6RXJyb3JTdHJpbmcmIGVycm9yU3RyaW5nLCBjb25z
dCBTdHJpbmcmIGhhbmRsZSkKIHsKICAgICBGQUlMX1dJVEhfUFJFREVGSU5FRF9FUlJPUl9NRVNT
QUdFKE5vdEltcGxlbWVudGVkKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uLmggYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5oCmluZGV4IDcwZWI5MjIu
LjU5YjlkZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRvbWF0aW9u
L1dlYkF1dG9tYXRpb25TZXNzaW9uLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1
dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb24uaApAQCAtNzEsOSArNzEsMTAgQEAgcHVibGlj
OgogI2VuZGlmCiAKICAgICAvLyBJbnNwZWN0b3I6OkF1dG9tYXRpb25CYWNrZW5kRGlzcGF0Y2hl
ckhhbmRsZXIgQVBJCi0gICAgdmlydHVhbCB2b2lkIGdldFdpbmRvd3MoSW5zcGVjdG9yOjpFcnJv
clN0cmluZyYsIFJlZlB0cjxJbnNwZWN0b3I6OlByb3RvY29sOjpBcnJheTxJbnNwZWN0b3I6OlBy
b3RvY29sOjpBdXRvbWF0aW9uOjpCcm93c2luZ1dpbmRvdz4+JiBvdXRfd2luZG93cykgb3ZlcnJp
ZGU7Ci0gICAgdmlydHVhbCB2b2lkIG9wZW5XaW5kb3coSW5zcGVjdG9yOjpFcnJvclN0cmluZyYp
IG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9pZCBjbG9zZVdpbmRvdyhJbnNwZWN0b3I6OkVycm9y
U3RyaW5nJiwgY29uc3QgU3RyaW5nJiBpbl9oYW5kbGUpIG92ZXJyaWRlOworICAgIHZvaWQgZ2V0
QnJvd3NpbmdDb250ZXh0cyhJbnNwZWN0b3I6OkVycm9yU3RyaW5nJiwgUmVmUHRyPEluc3BlY3Rv
cjo6UHJvdG9jb2w6OkFycmF5PEluc3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9tYXRpb246OkJyb3dz
aW5nQ29udGV4dD4+Jikgb3ZlcnJpZGU7CisgICAgdm9pZCBjcmVhdGVCcm93c2luZ0NvbnRleHQo
SW5zcGVjdG9yOjpFcnJvclN0cmluZyYsIFN0cmluZyopIG92ZXJyaWRlOworICAgIHZvaWQgY2xv
c2VCcm93c2luZ0NvbnRleHQoSW5zcGVjdG9yOjpFcnJvclN0cmluZyYsIGNvbnN0IFN0cmluZyYp
IG92ZXJyaWRlOworICAgIHZvaWQgc3dpdGNoVG9Ccm93c2luZ0NvbnRleHQoSW5zcGVjdG9yOjpF
cnJvclN0cmluZyYsIGNvbnN0IFN0cmluZyYpIG92ZXJyaWRlOwogCiBwcml2YXRlOgogICAgIHN0
ZDo6dW5pcXVlX3B0cjxBUEk6OkF1dG9tYXRpb25TZXNzaW9uQ2xpZW50PiBtX2NsaWVudDsKLS0g
CjIuNC45IChBcHBsZSBHaXQtNjApCgo=
</data>
<flag name="review"
          id="297696"
          type_id="1"
          status="+"
          setter="bburg"
    />
    <flag name="commit-queue"
          id="297697"
          type_id="3"
          status="-"
          setter="timothy"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>273088</attachid>
            <date>2016-03-05 09:25:29 -0800</date>
            <delta_ts>2016-03-05 10:19:27 -0800</delta_ts>
            <desc>Patch 2/2</desc>
            <filename>0002-Implement-the-Automation-protocol-commands-by-tracki.patch</filename>
            <type>text/plain</type>
            <size>16101</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">RnJvbSA5YTc4NGJlZDZkNzViYzliMjM2NWJkZGIyZTNlNmI3YTUzYjBjNmYzIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBUaW1vdGh5IEhhdGNoZXIgPHRpbW90aHlAYXBwbGUuY29tPgpE
YXRlOiBTYXQsIDUgTWFyIDIwMTYgMDk6MjQ6MDMgLTA4MDAKU3ViamVjdDogW1BBVENIIDIvMl0g
SW1wbGVtZW50IHRoZSBBdXRvbWF0aW9uIHByb3RvY29sIGNvbW1hbmRzIGJ5IHRyYWNraW5nCiBX
ZWJQYWdlUHJveHkgb2JqZWN0cyB0aGF0IGFyZSBjb250cm9sbGVkIGJ5IGF1dG9tYXRpb24gYW5k
IGFzc2lnbmluZyB0aGVtIGEKIFVVSUQgaGFuZGxlLgoKaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE1NDk1MwpyZGFyOi8vcHJvYmxlbS8yNDk0NzQ4OQoKUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCgoqIFVJUHJvY2Vzcy9BUEkvQVBJQXV0b21hdGlvblNlc3Npb25D
bGllbnQuaDoKKEFQSTo6QXV0b21hdGlvblNlc3Npb25DbGllbnQ6OmRpZFJlcXVlc3ROZXdXaW5k
b3cpOgpSZXR1cm4gYSBXZWJQYWdlUHJveHkgaW5zdGVhZCBvZiB2b2lkIHNvIGl0IGNhbiBiZSBh
c3NpZ25lZCBhIFVVSUQgaGFuZGxlLgoKKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS0F1dG9tYXRp
b25TZXNzaW9uRGVsZWdhdGUuaDoKUmV0dXJuIGEgV0tQYWdlUmVmIGZyb20gX2F1dG9tYXRpb25T
ZXNzaW9uRGlkUmVxdWVzdE5ld1dpbmRvdzouCgoqIFVJUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1
dG9tYXRpb25TZXNzaW9uLmNwcDoKKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb246OndlYlBh
Z2VQcm94eUZvckhhbmRsZSk6CihXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uOjpoYW5kbGVG
b3JXZWJQYWdlUHJveHkpOgooV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6Z2V0QnJvd3Np
bmdDb250ZXh0cyk6CihXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uOjpjcmVhdGVCcm93c2lu
Z0NvbnRleHQpOgooV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6Y2xvc2VCcm93c2luZ0Nv
bnRleHQpOgooV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6c3dpdGNoVG9Ccm93c2luZ0Nv
bnRleHQpOgoKKiBVSVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5oOgpB
ZGRlZCBuZXcgbWV0aG9kcyBhbmQgbWFwcyB0byB0cmFjayBwYWdlcyBhbmQgaGFuZGxlcy4KCiog
VUlQcm9jZXNzL0NvY29hL0F1dG9tYXRpb25TZXNzaW9uQ2xpZW50Lmg6CiogVUlQcm9jZXNzL0Nv
Y29hL0F1dG9tYXRpb25TZXNzaW9uQ2xpZW50Lm1tOgooV2ViS2l0OjpBdXRvbWF0aW9uU2Vzc2lv
bkNsaWVudDo6ZGlkUmVxdWVzdE5ld1dpbmRvdyk6ClJldHVybiBhIFdlYlBhZ2VQcm94eSBmcm9t
IHRoZSBXS1BhZ2VSZWYuCgoqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDogTWFrZSBzZXRGb2N1
cyBwdWJsaWMuCgoqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHA6CihXZWJLaXQ6OldlYlBy
b2Nlc3NQb29sOjpzZXRBdXRvbWF0aW9uU2Vzc2lvbik6ClNldCB0aGUgV2ViUHJvY2Vzc1Bvb2wg
b24gdGhlIFdlYkF1dG9tYXRpb25TZXNzaW9uIHNvIGl0IGNhbiBiZSB1c2VkIHRvIGZpbmQKV2Vi
UGFnZVByb3h5IG9iamVjdHMgY29udHJvbGxlZCBieSBhdXRvbWF0aW9uLgotLS0KIFNvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgNDAgKysrKysrKysr
KysKIC4uLi9VSVByb2Nlc3MvQVBJL0FQSUF1dG9tYXRpb25TZXNzaW9uQ2xpZW50LmggICAgIHwg
IDMgKy0KIC4uLi9BUEkvQ29jb2EvX1dLQXV0b21hdGlvblNlc3Npb25EZWxlZ2F0ZS5oICAgICAg
IHwgIDMgKy0KIC4uLi9VSVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5j
cHAgIHwgNzcgKysrKysrKysrKysrKysrKysrKystLQogLi4uL1VJUHJvY2Vzcy9BdXRvbWF0aW9u
L1dlYkF1dG9tYXRpb25TZXNzaW9uLmggICAgfCAxNiArKysrKwogLi4uL1VJUHJvY2Vzcy9Db2Nv
YS9BdXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5oICAgICAgfCAgNCArLQogLi4uL1VJUHJvY2Vzcy9D
b2NvYS9BdXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5tbSAgICAgfCAgNyArLQogU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oICAgICAgICAgICAgfCAgMyArLQogU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcCAgICAgICAgfCAgNCArLQogOSBmaWxl
cyBjaGFuZ2VkLCAxNDUgaW5zZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmlu
ZGV4IGI3MTU1OWYuLjYyOGI3ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsNSArMSw0NSBAQAogMjAxNi0w
My0wNSAgVGltb3RoeSBIYXRjaGVyICA8dGltb3RoeUBhcHBsZS5jb20+CiAKKyAgICAgICAgSW1w
bGVtZW50IHRoZSBBdXRvbWF0aW9uIHByb3RvY29sIGNvbW1hbmRzIGJ5IHRyYWNraW5nIFdlYlBh
Z2VQcm94eSBvYmplY3RzCisgICAgICAgIHRoYXQgYXJlIGNvbnRyb2xsZWQgYnkgYXV0b21hdGlv
biBhbmQgYXNzaWduaW5nIHRoZW0gYSBVVUlEIGhhbmRsZS4KKworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU0OTUzCisgICAgICAgIHJkYXI6Ly9wcm9i
bGVtLzI0OTQ3NDg5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSUF1dG9tYXRpb25TZXNzaW9uQ2xpZW50Lmg6CisgICAg
ICAgIChBUEk6OkF1dG9tYXRpb25TZXNzaW9uQ2xpZW50OjpkaWRSZXF1ZXN0TmV3V2luZG93KToK
KyAgICAgICAgUmV0dXJuIGEgV2ViUGFnZVByb3h5IGluc3RlYWQgb2Ygdm9pZCBzbyBpdCBjYW4g
YmUgYXNzaWduZWQgYSBVVUlEIGhhbmRsZS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29j
b2EvX1dLQXV0b21hdGlvblNlc3Npb25EZWxlZ2F0ZS5oOgorICAgICAgICBSZXR1cm4gYSBXS1Bh
Z2VSZWYgZnJvbSBfYXV0b21hdGlvblNlc3Npb25EaWRSZXF1ZXN0TmV3V2luZG93Oi4KKworICAg
ICAgICAqIFVJUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb246OndlYlBhZ2VQcm94eUZvckhhbmRs
ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uOjpoYW5kbGVGb3JXZWJQ
YWdlUHJveHkpOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6Z2V0QnJv
d3NpbmdDb250ZXh0cyk6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uOjpj
cmVhdGVCcm93c2luZ0NvbnRleHQpOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vz
c2lvbjo6Y2xvc2VCcm93c2luZ0NvbnRleHQpOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRvbWF0
aW9uU2Vzc2lvbjo6c3dpdGNoVG9Ccm93c2luZ0NvbnRleHQpOgorCisgICAgICAgICogVUlQcm9j
ZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb24uaDoKKyAgICAgICAgQWRkZWQgbmV3
IG1ldGhvZHMgYW5kIG1hcHMgdG8gdHJhY2sgcGFnZXMgYW5kIGhhbmRsZXMuCisKKyAgICAgICAg
KiBVSVByb2Nlc3MvQ29jb2EvQXV0b21hdGlvblNlc3Npb25DbGllbnQuaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvQ29jb2EvQXV0b21hdGlvblNlc3Npb25DbGllbnQubW06CisgICAgICAgIChXZWJL
aXQ6OkF1dG9tYXRpb25TZXNzaW9uQ2xpZW50OjpkaWRSZXF1ZXN0TmV3V2luZG93KToKKyAgICAg
ICAgUmV0dXJuIGEgV2ViUGFnZVByb3h5IGZyb20gdGhlIFdLUGFnZVJlZi4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDogTWFrZSBzZXRGb2N1cyBwdWJsaWMuCisKKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
cm9jZXNzUG9vbDo6c2V0QXV0b21hdGlvblNlc3Npb24pOgorICAgICAgICBTZXQgdGhlIFdlYlBy
b2Nlc3NQb29sIG9uIHRoZSBXZWJBdXRvbWF0aW9uU2Vzc2lvbiBzbyBpdCBjYW4gYmUgdXNlZCB0
byBmaW5kCisgICAgICAgIFdlYlBhZ2VQcm94eSBvYmplY3RzIGNvbnRyb2xsZWQgYnkgYXV0b21h
dGlvbi4KKworMjAxNi0wMy0wNSAgVGltb3RoeSBIYXRjaGVyICA8dGltb3RoeUBhcHBsZS5jb20+
CisKICAgICAgICAgUmVuYW1lIEF1dG9tYXRpb24gcHJvdG9jb2wgbWV0aG9kcyB0byB1c2UgIkJy
b3dzaW5nQ29udGV4dCIgaW5zdGVhZCBvZiAiV2luZG93Ii4KICAgICAgICAgQWxzbyBmbGVzaCBv
dXQgdGhlIHByb3RvY29sIGNvbW1hbmRzIG1vcmUgYnkgYWRkaW5nIHN3aXRjaFRvQnJvd3NpbmdD
b250ZXh0CiAgICAgICAgIGFuZCByZXR1cm4gYSBCcm93c2luZ0NvbnRleHRIYW5kbGUgZm9yIGNy
ZWF0ZUJyb3dzaW5nQ29udGV4dC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaAppbmRleCA3MGViYjZlLi4zZmYw
MGYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSUF1dG9tYXRp
b25TZXNzaW9uQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElB
dXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5oCkBAIC0zMCw2ICszMCw3IEBACiAKIG5hbWVzcGFjZSBX
ZWJLaXQgewogY2xhc3MgV2ViQXV0b21hdGlvblNlc3Npb247CitjbGFzcyBXZWJQYWdlUHJveHk7
CiB9CiAKIG5hbWVzcGFjZSBBUEkgewpAQCAtNDAsNyArNDEsNyBAQCBwdWJsaWM6CiAKICAgICB2
aXJ0dWFsIFN0cmluZyBzZXNzaW9uSWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIFN0cmluZygp
OyB9CiAgICAgdmlydHVhbCB2b2lkIGRpZERpc2Nvbm5lY3RGcm9tUmVtb3RlKFdlYktpdDo6V2Vi
QXV0b21hdGlvblNlc3Npb24qKSB7IH0KLSAgICB2aXJ0dWFsIHZvaWQgZGlkUmVxdWVzdE5ld1dp
bmRvdyhXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uKikgeyB9CisgICAgdmlydHVhbCBXZWJL
aXQ6OldlYlBhZ2VQcm94eSogZGlkUmVxdWVzdE5ld1dpbmRvdyhXZWJLaXQ6OldlYkF1dG9tYXRp
b25TZXNzaW9uKikgeyByZXR1cm4gbnVsbHB0cjsgfQogfTsKIAogfSAvLyBuYW1lc3BhY2UgQVBJ
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0F1dG9t
YXRpb25TZXNzaW9uRGVsZWdhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29j
b2EvX1dLQXV0b21hdGlvblNlc3Npb25EZWxlZ2F0ZS5oCmluZGV4IDI5MjQ1N2EuLjE0YzRjNTcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXV0b21h
dGlvblNlc3Npb25EZWxlZ2F0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Q29jb2EvX1dLQXV0b21hdGlvblNlc3Npb25EZWxlZ2F0ZS5oCkBAIC0yOCwxMiArMjgsMTMgQEAK
ICNpZiBXS19BUElfRU5BQkxFRAogCiAjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4K
KyNpbXBvcnQgPFdlYktpdC9XS0Jhc2UuaD4KIAogQGNsYXNzIF9XS0F1dG9tYXRpb25TZXNzaW9u
OwogCiBAcHJvdG9jb2wgX1dLQXV0b21hdGlvblNlc3Npb25EZWxlZ2F0ZSA8TlNPYmplY3Q+CiBA
b3B0aW9uYWwKLS0gKHZvaWQpX2F1dG9tYXRpb25TZXNzaW9uRGlkUmVxdWVzdE5ld1dpbmRvdzoo
X1dLQXV0b21hdGlvblNlc3Npb24gKilhdXRvbWF0aW9uU2Vzc2lvbjsKKy0gKFdLUGFnZVJlZilf
YXV0b21hdGlvblNlc3Npb25EaWRSZXF1ZXN0TmV3V2luZG93OihfV0tBdXRvbWF0aW9uU2Vzc2lv
biAqKWF1dG9tYXRpb25TZXNzaW9uOwogLSAodm9pZClfYXV0b21hdGlvblNlc3Npb25EaWREaXNj
b25uZWN0RnJvbVJlbW90ZTooX1dLQXV0b21hdGlvblNlc3Npb24gKilhdXRvbWF0aW9uU2Vzc2lv
bjsKIEBlbmQKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dG9tYXRp
b24vV2ViQXV0b21hdGlvblNlc3Npb24uY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1
dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb24uY3BwCmluZGV4IDQ2NjJhYjYuLjQzOWY4OGEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9t
YXRpb25TZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQXV0b21hdGlv
bi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5jcHAKQEAgLTI4LDggKzI4LDExIEBACiAKICNpbmNsdWRl
ICJBUElBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvclByb3Rv
Y29sT2JqZWN0cy5oIgorI2luY2x1ZGUgIldlYlByb2Nlc3NQb29sLmgiCiAjaW5jbHVkZSA8SmF2
YVNjcmlwdENvcmUvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaD4KICNpbmNsdWRlIDxKYXZh
U2NyaXB0Q29yZS9JbnNwZWN0b3JGcm9udGVuZFJvdXRlci5oPgorI2luY2x1ZGUgPFdlYkNvcmUv
VVVJRC5oPgorI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBJbnNw
ZWN0b3I7CiAKQEAgLTk3LDI2ICsxMDAsOTIgQEAgdm9pZCBXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6
ZGlzY29ubmVjdChJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCogY2hhbm5lbCkKIAogI2VuZGlm
IC8vIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQogCitXZWJQYWdlUHJveHkqIFdlYkF1dG9tYXRp
b25TZXNzaW9uOjp3ZWJQYWdlUHJveHlGb3JIYW5kbGUoY29uc3QgU3RyaW5nJiBoYW5kbGUpCit7
CisgICAgYXV0byBpdGVyID0gbV9oYW5kbGVXZWJQYWdlTWFwLmZpbmQoaGFuZGxlKTsKKyAgICBp
ZiAoaXRlciA9PSBtX2hhbmRsZVdlYlBhZ2VNYXAuZW5kKCkpCisgICAgICAgIHJldHVybiBudWxs
cHRyOworICAgIHJldHVybiBXZWJQcm9jZXNzUHJveHk6OndlYlBhZ2UoaXRlci0+dmFsdWUpOwor
fQorCitTdHJpbmcgV2ViQXV0b21hdGlvblNlc3Npb246OmhhbmRsZUZvcldlYlBhZ2VQcm94eShX
ZWJQYWdlUHJveHkqIHdlYlBhZ2VQcm94eSkKK3sKKyAgICBhdXRvIGl0ZXIgPSBtX3dlYlBhZ2VI
YW5kbGVNYXAuZmluZCh3ZWJQYWdlUHJveHktPnBhZ2VJRCgpKTsKKyAgICBpZiAoaXRlciAhPSBt
X3dlYlBhZ2VIYW5kbGVNYXAuZW5kKCkpCisgICAgICAgIHJldHVybiBpdGVyLT52YWx1ZTsKKwor
ICAgIFN0cmluZyBoYW5kbGUgPSBXZWJDb3JlOjpjcmVhdGVDYW5vbmljYWxVVUlEU3RyaW5nKCku
Y29udmVydFRvQVNDSUlVcHBlcmNhc2UoKTsKKworICAgIGF1dG8gZmlyc3RBZGRSZXN1bHQgPSBt
X3dlYlBhZ2VIYW5kbGVNYXAuYWRkKHdlYlBhZ2VQcm94eS0+cGFnZUlEKCksIGhhbmRsZSk7Cisg
ICAgUkVMRUFTRV9BU1NFUlQoZmlyc3RBZGRSZXN1bHQuaXNOZXdFbnRyeSk7CisKKyAgICBhdXRv
IHNlY29uZEFkZFJlc3VsdCA9IG1faGFuZGxlV2ViUGFnZU1hcC5hZGQoaGFuZGxlLCB3ZWJQYWdl
UHJveHktPnBhZ2VJRCgpKTsKKyAgICBSRUxFQVNFX0FTU0VSVChzZWNvbmRBZGRSZXN1bHQuaXNO
ZXdFbnRyeSk7CisKKyAgICByZXR1cm4gaGFuZGxlOworfQorCiAvLyBJbnNwZWN0b3I6OkF1dG9t
YXRpb25CYWNrZW5kRGlzcGF0Y2hlckhhbmRsZXIgQVBJCiAKIHZvaWQgV2ViQXV0b21hdGlvblNl
c3Npb246OmdldEJyb3dzaW5nQ29udGV4dHMoSW5zcGVjdG9yOjpFcnJvclN0cmluZyYgZXJyb3JT
dHJpbmcsIFJlZlB0cjxJbnNwZWN0b3I6OlByb3RvY29sOjpBcnJheTxJbnNwZWN0b3I6OlByb3Rv
Y29sOjpBdXRvbWF0aW9uOjpCcm93c2luZ0NvbnRleHQ+PiYgY29udGV4dHMpCiB7Ci0gICAgRkFJ
TF9XSVRIX1BSRURFRklORURfRVJST1JfTUVTU0FHRShOb3RJbXBsZW1lbnRlZCk7CisgICAgY29u
dGV4dHMgPSBJbnNwZWN0b3I6OlByb3RvY29sOjpBcnJheTxJbnNwZWN0b3I6OlByb3RvY29sOjpB
dXRvbWF0aW9uOjpCcm93c2luZ0NvbnRleHQ+OjpjcmVhdGUoKTsKKworICAgIGZvciAoYXV0byYg
cHJvY2VzcyA6IG1fcHJvY2Vzc1Bvb2wtPnByb2Nlc3NlcygpKSB7CisgICAgICAgIGZvciAoYXV0
byYgcGFnZSA6IHByb2Nlc3MtPnBhZ2VzKCkpIHsKKyAgICAgICAgICAgIGlmICghcGFnZS0+aXND
b250cm9sbGVkQnlBdXRvbWF0aW9uKCkpCisgICAgICAgICAgICAgICAgY29udGludWU7CisKKyAg
ICAgICAgICAgIFN0cmluZyBoYW5kbGUgPSBoYW5kbGVGb3JXZWJQYWdlUHJveHkocGFnZSk7CisK
KyAgICAgICAgICAgIGF1dG8gYnJvd3NpbmdDb250ZXh0ID0gSW5zcGVjdG9yOjpQcm90b2NvbDo6
QXV0b21hdGlvbjo6QnJvd3NpbmdDb250ZXh0OjpjcmVhdGUoKQorICAgICAgICAgICAgICAgIC5z
ZXRIYW5kbGUoaGFuZGxlRm9yV2ViUGFnZVByb3h5KHBhZ2UpKQorICAgICAgICAgICAgICAgIC5z
ZXRBY3RpdmUobV9hY3RpdmVCcm93c2luZ0NvbnRleHRIYW5kbGUgPT0gaGFuZGxlKQorICAgICAg
ICAgICAgICAgIC5yZWxlYXNlKCk7CisKKyAgICAgICAgICAgIGNvbnRleHRzLT5hZGRJdGVtKGJy
b3dzaW5nQ29udGV4dC5jb3B5UmVmKCkpOworICAgICAgICB9CisgICAgfQogfQogCiB2b2lkIFdl
YkF1dG9tYXRpb25TZXNzaW9uOjpjcmVhdGVCcm93c2luZ0NvbnRleHQoSW5zcGVjdG9yOjpFcnJv
clN0cmluZyYgZXJyb3JTdHJpbmcsIFN0cmluZyogaGFuZGxlKQogewotICAgIEZBSUxfV0lUSF9Q
UkVERUZJTkVEX0VSUk9SX01FU1NBR0UoTm90SW1wbGVtZW50ZWQpOworICAgIEFTU0VSVChtX2Ns
aWVudCk7CisgICAgaWYgKCFtX2NsaWVudCkKKyAgICAgICAgRkFJTF9XSVRIX1BSRURFRklORURf
RVJST1JfTUVTU0FHRShJbnRlcm5hbEVycm9yKTsKKworICAgIFdlYlBhZ2VQcm94eSogcGFnZSA9
IG1fY2xpZW50LT5kaWRSZXF1ZXN0TmV3V2luZG93KHRoaXMpOworICAgIGlmICghcGFnZSkKKyAg
ICAgICAgRkFJTF9XSVRIX1BSRURFRklORURfRVJST1JfTUVTU0FHRShJbnRlcm5hbEVycm9yKTsK
KworICAgIG1fYWN0aXZlQnJvd3NpbmdDb250ZXh0SGFuZGxlID0gKmhhbmRsZSA9IGhhbmRsZUZv
cldlYlBhZ2VQcm94eShwYWdlKTsKIH0KIAogdm9pZCBXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6Y2xv
c2VCcm93c2luZ0NvbnRleHQoSW5zcGVjdG9yOjpFcnJvclN0cmluZyYgZXJyb3JTdHJpbmcsIGNv
bnN0IFN0cmluZyYgaGFuZGxlKQogewotICAgIEZBSUxfV0lUSF9QUkVERUZJTkVEX0VSUk9SX01F
U1NBR0UoTm90SW1wbGVtZW50ZWQpOworICAgIFdlYlBhZ2VQcm94eSogcGFnZSA9IHdlYlBhZ2VQ
cm94eUZvckhhbmRsZShoYW5kbGUpOworICAgIGlmICghcGFnZSkKKyAgICAgICAgRkFJTF9XSVRI
X1BSRURFRklORURfRVJST1JfTUVTU0FHRShXaW5kb3dOb3RGb3VuZCk7CisKKyAgICBpZiAoaGFu
ZGxlID09IG1fYWN0aXZlQnJvd3NpbmdDb250ZXh0SGFuZGxlKQorICAgICAgICBtX2FjdGl2ZUJy
b3dzaW5nQ29udGV4dEhhbmRsZSA9IGVtcHR5U3RyaW5nKCk7CisKKyAgICAvLyBGSVhNRTogVmVy
aWZ5IHRoaXMgaXMgZW5vdWdoLiBXZSBzdGlsbCBtaWdodCB3YW50IHRvIGdvIHRocm91Z2ggdGhl
IEF1dG9tYXRpb25TZXNzaW9uQ2xpZW50CisgICAgLy8gdG8gZ2V0IGNsb3NlciB0byBhIHVzZXIg
cHJlc3NpbmcgdGhlIGNsb3NlIGJ1dHRvbi4KKyAgICBwYWdlLT50cnlDbG9zZSgpOwogfQogCiB2
b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9uOjpzd2l0Y2hUb0Jyb3dzaW5nQ29udGV4dChJbnNwZWN0
b3I6OkVycm9yU3RyaW5nJiBlcnJvclN0cmluZywgY29uc3QgU3RyaW5nJiBoYW5kbGUpCiB7Ci0g
ICAgRkFJTF9XSVRIX1BSRURFRklORURfRVJST1JfTUVTU0FHRShOb3RJbXBsZW1lbnRlZCk7Cisg
ICAgV2ViUGFnZVByb3h5KiBwYWdlID0gd2ViUGFnZVByb3h5Rm9ySGFuZGxlKGhhbmRsZSk7Cisg
ICAgaWYgKCFwYWdlKQorICAgICAgICBGQUlMX1dJVEhfUFJFREVGSU5FRF9FUlJPUl9NRVNTQUdF
KFdpbmRvd05vdEZvdW5kKTsKKworICAgIG1fYWN0aXZlQnJvd3NpbmdDb250ZXh0SGFuZGxlID0g
aGFuZGxlOworCisgICAgLy8gRklYTUU6IFZlcmlmeSB0aGlzIGlzIGVub3VnaC4gV2Ugc3RpbGwg
bWlnaHQgd2FudCB0byBnbyB0aHJvdWdoIHRoZSBBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudAorICAg
IC8vIHRvIGdldCBjbG9zZXIgYSB1c2VyIHByZXNzaW5nIGZvY3VzaW5nIHRoZSB3aW5kb3cgLyBw
YWdlLgorICAgIHBhZ2UtPnNldEZvY3VzKHRydWUpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1
dG9tYXRpb25TZXNzaW9uLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQXV0b21hdGlvbi9X
ZWJBdXRvbWF0aW9uU2Vzc2lvbi5oCmluZGV4IDU5YjlkZGEuLjgyNDczMmMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9u
LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlv
blNlc3Npb24uaApAQCAtNDYsNiArNDYsOCBAQCBjbGFzcyBGcm9udGVuZFJvdXRlcjsKIG5hbWVz
cGFjZSBXZWJLaXQgewogCiBjbGFzcyBXZWJBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudDsKK2NsYXNz
IFdlYlBhZ2VQcm94eTsKK2NsYXNzIFdlYlByb2Nlc3NQb29sOwogCiBjbGFzcyBXZWJBdXRvbWF0
aW9uU2Vzc2lvbiBmaW5hbCA6IHB1YmxpYyBBUEk6Ok9iamVjdEltcGw8QVBJOjpPYmplY3Q6OlR5
cGU6OkF1dG9tYXRpb25TZXNzaW9uPgogI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQpAQCAt
NTQsNiArNTYsOSBAQCBjbGFzcyBXZWJBdXRvbWF0aW9uU2Vzc2lvbiBmaW5hbCA6IHB1YmxpYyBB
UEk6Ok9iamVjdEltcGw8QVBJOjpPYmplY3Q6OlR5cGU6OkF1dAogICAgICwgcHVibGljIEluc3Bl
Y3Rvcjo6QXV0b21hdGlvbkJhY2tlbmREaXNwYXRjaGVySGFuZGxlcgogewogcHVibGljOgorICAg
IHR5cGVkZWYgSGFzaE1hcDx1aW50NjRfdCwgU3RyaW5nPiBXZWJQYWdlSGFuZGxlTWFwOworICAg
IHR5cGVkZWYgSGFzaE1hcDxTdHJpbmcsIHVpbnQ2NF90PiBIYW5kbGVXZWJQYWdlTWFwOworCiAg
ICAgV2ViQXV0b21hdGlvblNlc3Npb24oKTsKICAgICB+V2ViQXV0b21hdGlvblNlc3Npb24oKTsK
IApAQCAtNjIsNiArNjcsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRTZXNzaW9uSWRlbnRpZmll
cihjb25zdCBTdHJpbmcmIHNlc3Npb25JZGVudGlmaWVyKSB7IG1fc2Vzc2lvbklkZW50aWZpZXIg
PSBzZXNzaW9uSWRlbnRpZmllcjsgfQogICAgIFN0cmluZyBzZXNzaW9uSWRlbnRpZmllcigpIGNv
bnN0IHsgcmV0dXJuIG1fc2Vzc2lvbklkZW50aWZpZXI7IH0KIAorICAgIFdlYktpdDo6V2ViUHJv
Y2Vzc1Bvb2wqIHByb2Nlc3NQb29sKCkgY29uc3QgeyByZXR1cm4gbV9wcm9jZXNzUG9vbDsgfQor
ICAgIHZvaWQgc2V0UHJvY2Vzc1Bvb2woV2ViS2l0OjpXZWJQcm9jZXNzUG9vbCogcHJvY2Vzc1Bv
b2wpIHsgbV9wcm9jZXNzUG9vbCA9IHByb2Nlc3NQb29sOyB9CisKICNpZiBFTkFCTEUoUkVNT1RF
X0lOU1BFQ1RPUikKICAgICAvLyBJbnNwZWN0b3I6OlJlbW90ZUF1dG9tYXRpb25UYXJnZXQgQVBJ
CiAgICAgdmlydHVhbCBTdHJpbmcgbmFtZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fc2Vz
c2lvbklkZW50aWZpZXI7IH0KQEAgLTc3LDEyICs4NSwyMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBz
d2l0Y2hUb0Jyb3dzaW5nQ29udGV4dChJbnNwZWN0b3I6OkVycm9yU3RyaW5nJiwgY29uc3QgU3Ry
aW5nJikgb3ZlcnJpZGU7CiAKIHByaXZhdGU6CisgICAgV2ViS2l0OjpXZWJQYWdlUHJveHkqIHdl
YlBhZ2VQcm94eUZvckhhbmRsZShjb25zdCBTdHJpbmcmKTsKKyAgICBTdHJpbmcgaGFuZGxlRm9y
V2ViUGFnZVByb3h5KFdlYktpdDo6V2ViUGFnZVByb3h5Kik7CisKKyAgICBXZWJLaXQ6OldlYlBy
b2Nlc3NQb29sKiBtX3Byb2Nlc3NQb29sIHsgbnVsbHB0ciB9OwogICAgIHN0ZDo6dW5pcXVlX3B0
cjxBUEk6OkF1dG9tYXRpb25TZXNzaW9uQ2xpZW50PiBtX2NsaWVudDsKICAgICBTdHJpbmcgbV9z
ZXNzaW9uSWRlbnRpZmllciB7IEFTQ0lJTGl0ZXJhbCgiVW50aXRsZWQgU2Vzc2lvbiIpIH07CiAg
ICAgUmVmPEluc3BlY3Rvcjo6RnJvbnRlbmRSb3V0ZXI+IG1fZnJvbnRlbmRSb3V0ZXI7CiAgICAg
UmVmPEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXI+IG1fYmFja2VuZERpc3BhdGNoZXI7CiAg
ICAgUmVmPEluc3BlY3Rvcjo6QXV0b21hdGlvbkJhY2tlbmREaXNwYXRjaGVyPiBtX2RvbWFpbkRp
c3BhdGNoZXI7CiAKKyAgICBXZWJQYWdlSGFuZGxlTWFwIG1fd2ViUGFnZUhhbmRsZU1hcDsKKyAg
ICBIYW5kbGVXZWJQYWdlTWFwIG1faGFuZGxlV2ViUGFnZU1hcDsKKyAgICBTdHJpbmcgbV9hY3Rp
dmVCcm93c2luZ0NvbnRleHRIYW5kbGU7CisKICNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikK
ICAgICBJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCogbV9yZW1vdGVDaGFubmVsIHsgbnVsbHB0
ciB9OwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2Ev
QXV0b21hdGlvblNlc3Npb25DbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2Nv
YS9BdXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5oCmluZGV4IDczODJlZTMuLjk2Y2ZlMWUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9BdXRvbWF0aW9uU2Vzc2lvbkNs
aWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9BdXRvbWF0aW9uU2Vz
c2lvbkNsaWVudC5oCkBAIC00Myw4ICs0Myw4IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICAv
LyBGcm9tIEFQSTo6QXV0b21hdGlvblNlc3Npb25DbGllbnQKLSAgICB2aXJ0dWFsIHZvaWQgZGlk
UmVxdWVzdE5ld1dpbmRvdyhXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uKikgb3ZlcnJpZGU7
Ci0gICAgdmlydHVhbCB2b2lkIGRpZERpc2Nvbm5lY3RGcm9tUmVtb3RlKFdlYktpdDo6V2ViQXV0
b21hdGlvblNlc3Npb24gKikgb3ZlcnJpZGU7CisgICAgV2ViUGFnZVByb3h5KiBkaWRSZXF1ZXN0
TmV3V2luZG93KFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24qKSBvdmVycmlkZTsKKyAgICB2
b2lkIGRpZERpc2Nvbm5lY3RGcm9tUmVtb3RlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24g
Kikgb3ZlcnJpZGU7CiAKICAgICBXZWFrT2JqQ1B0cjxpZCA8X1dLQXV0b21hdGlvblNlc3Npb25E
ZWxlZ2F0ZT4+IG1fZGVsZWdhdGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9Db2NvYS9BdXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9Db2NvYS9BdXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5tbQppbmRleCA4Y2JkNjdjLi4z
OWM0ODg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvQXV0b21h
dGlvblNlc3Npb25DbGllbnQubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29h
L0F1dG9tYXRpb25TZXNzaW9uQ2xpZW50Lm1tCkBAIC0yOCw3ICsyOCw5IEBACiAKICNpZiBXS19B
UElfRU5BQkxFRAogCisjaW1wb3J0ICJXS1NoYXJlZEFQSUNhc3QuaCIKICNpbXBvcnQgIldlYkF1
dG9tYXRpb25TZXNzaW9uLmgiCisjaW1wb3J0ICJXZWJQYWdlUHJveHkuaCIKICNpbXBvcnQgIl9X
S0F1dG9tYXRpb25TZXNzaW9uRGVsZWdhdGUuaCIKICNpbXBvcnQgIl9XS0F1dG9tYXRpb25TZXNz
aW9uSW50ZXJuYWwuaCIKIApAQCAtNDEsMTAgKzQzLDExIEBAIEF1dG9tYXRpb25TZXNzaW9uQ2xp
ZW50OjpBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudChpZCA8X1dLQXV0b21hdGlvblNlc3Npb25EZWxl
Z2F0CiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMuZGlkRGlzY29ubmVjdEZyb21SZW1vdGUgPSBbZGVs
ZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihfYXV0b21hdGlvblNlc3Npb25EaWRE
aXNjb25uZWN0RnJvbVJlbW90ZTopXTsKIH0KIAotdm9pZCBBdXRvbWF0aW9uU2Vzc2lvbkNsaWVu
dDo6ZGlkUmVxdWVzdE5ld1dpbmRvdyhXZWJBdXRvbWF0aW9uU2Vzc2lvbiogc2Vzc2lvbikKK1dl
YlBhZ2VQcm94eSogQXV0b21hdGlvblNlc3Npb25DbGllbnQ6OmRpZFJlcXVlc3ROZXdXaW5kb3co
V2ViQXV0b21hdGlvblNlc3Npb24qIHNlc3Npb24pCiB7CiAgICAgaWYgKG1fZGVsZWdhdGVNZXRo
b2RzLmRpZFJlcXVlc3ROZXdXaW5kb3cpCi0gICAgICAgIFttX2RlbGVnYXRlLmdldCgpIF9hdXRv
bWF0aW9uU2Vzc2lvbkRpZFJlcXVlc3ROZXdXaW5kb3c6d3JhcHBlcigqc2Vzc2lvbildOworICAg
ICAgICByZXR1cm4gdG9JbXBsKFttX2RlbGVnYXRlLmdldCgpIF9hdXRvbWF0aW9uU2Vzc2lvbkRp
ZFJlcXVlc3ROZXdXaW5kb3c6d3JhcHBlcigqc2Vzc2lvbildKTsKKyAgICByZXR1cm4gbnVsbHB0
cjsKIH0KIAogdm9pZCBBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudDo6ZGlkRGlzY29ubmVjdEZyb21S
ZW1vdGUoV2ViQXV0b21hdGlvblNlc3Npb24qIHNlc3Npb24pCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmgKaW5kZXggZmUwZmVjMy4uOWIxZWQ4ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMTA5MCw2ICsxMDkwLDggQEAgcHVibGljOgog
CiAgICAgdm9pZCBkaWRSZXN0b3JlU2Nyb2xsUG9zaXRpb24oKTsKIAorICAgIHZvaWQgc2V0Rm9j
dXMoYm9vbCBmb2N1c2VkKTsKKwogcHJpdmF0ZToKICAgICBXZWJQYWdlUHJveHkoUGFnZUNsaWVu
dCYsIFdlYlByb2Nlc3NQcm94eSYsIHVpbnQ2NF90IHBhZ2VJRCwgUmVmPEFQSTo6UGFnZUNvbmZp
Z3VyYXRpb24+JiYpOwogICAgIHZvaWQgcGxhdGZvcm1Jbml0aWFsaXplKCk7CkBAIC0xMzI2LDcg
KzEzMjgsNiBAQCBwcml2YXRlOgogICAgIHZvaWQgaWdub3JlV29yZChjb25zdCBTdHJpbmcmIHdv
cmQpOwogICAgIHZvaWQgcmVxdWVzdENoZWNraW5nT2ZTdHJpbmcodWludDY0X3QgcmVxdWVzdElE
LCBjb25zdCBXZWJDb3JlOjpUZXh0Q2hlY2tpbmdSZXF1ZXN0RGF0YSYpOwogCi0gICAgdm9pZCBz
ZXRGb2N1cyhib29sIGZvY3VzZWQpOwogICAgIHZvaWQgdGFrZUZvY3VzKHVpbnQzMl90IGRpcmVj
dGlvbik7CiAgICAgdm9pZCBzZXRUb29sVGlwKGNvbnN0IFN0cmluZyYpOwogICAgIHZvaWQgc2V0
Q3Vyc29yKGNvbnN0IFdlYkNvcmU6OkN1cnNvciYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQcm9jZXNzUG9vbC5jcHAKaW5kZXggM2M2NjhjMi4uNjZkYmE2ZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCkBAIC0xMTE4LDggKzExMTgsMTAg
QEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6c2V0QXV0b21hdGlvblNlc3Npb24oUmVmUHRyPFdlYkF1
dG9tYXRpb25TZXNzaW9uPiYmIGF1dG9tYXQKICAgICBtX2F1dG9tYXRpb25TZXNzaW9uID0gV1RG
TW92ZShhdXRvbWF0aW9uU2Vzc2lvbik7CiAKICNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikK
LSAgICBpZiAobV9hdXRvbWF0aW9uU2Vzc2lvbikKKyAgICBpZiAobV9hdXRvbWF0aW9uU2Vzc2lv
bikgewogICAgICAgICBtX2F1dG9tYXRpb25TZXNzaW9uLT5pbml0KCk7CisgICAgICAgIG1fYXV0
b21hdGlvblNlc3Npb24tPnNldFByb2Nlc3NQb29sKHRoaXMpOworICAgIH0KICNlbmRpZgogfQog
Ci0tIAoyLjQuOSAoQXBwbGUgR2l0LTYwKQoK
</data>
<flag name="review"
          id="297698"
          type_id="1"
          status="+"
          setter="bburg"
    />
    <flag name="commit-queue"
          id="297699"
          type_id="3"
          status="-"
          setter="timothy"
    />
          </attachment>
      

    </bug>

</bugzilla>