Task: NL2SQL (source dataset: WikiSQL)

Natural language to SQL, also known as NL2SQL, is the problem of generating a SQL query that can be executed on a input table, for a given natural language question.

You will be given an input table called "table" in the markdown format, as well as a question. Your task is to generate an SQL query that can be executed on the input table to answer the question.

Please ensure that the generated SQL only return relevant columns being specifically asked in the question (e.g., in SQL please don't return more than one columns in SELECT if only one column is needed to answer the given question, and similarly please refrain from using SELECT * unless the entire row is needed to answer the question).
 
When generating SQL code, please use the SQLite syntax to ensure that your SQL is executable on SQLite3. Use only columns that are present in the table, always use quotes around your column and table names (some column names have punctuation or special characters), and refer to the columns using the column-names exactly as they appear in the table, do not add or remove punctuation (underscore, slash, etc.)

No explanation, return the code only with the following markdown codeblock format : ```sql<SQL CODE>```. For example, ```sql
SELECT * FROM "table"
``` is a valid format.

Table:
| Team                     | Outgoing manager(s)                       | Manner of departure         | Date of vacancy   | Position in table   | Replaced by                 | Date of appointment   |
|:-------------------------|:------------------------------------------|:----------------------------|:------------------|:--------------------|:----------------------------|:----------------------|
| eintracht frankfurt      | friedhelm funkel                          | resigned                    | 21 may 2009       | off-season          | michael skibbe              | 1 july 2009           |
| hamburger sv             | martin jol                                | afc ajax purchased rights   | 26 may 2009       | off-season          | bruno labbadia              | 1 july 2009           |
| borussia mönchengladbach | hans meyer                                | retired                     | 28 may 2009       | off-season          | michael frontzeck           | 1 july 2009           |
| 1. fc köln               | christoph daum                            | contract terminated         | 2 june 2009       | off-season          | zvonimir soldo              | 1 july 2009           |
| bayer leverkusen         | bruno labbadia                            | hamburg purchased rights    | 5 june 2009       | off-season          | jupp heynckes               | 1 july 2009           |
| bayern munich            | jupp heynckes                             | end of caretaker contract   | 30 june 2009      | off-season          | louis van gaal              | 1 july 2009           |
| schalke 04               | mike büskens , youri mulder & oliver reck | end of tenure as caretakers | 30 june 2009      | off-season          | felix magath                | 1 july 2009           |
| vfl wolfsburg            | felix magath                              | end of contract             | 30 june 2009      | off-season          | armin veh                   | 1 july 2009           |
| mainz 05                 | jørn andersen                             | sacked                      | 3 august 2009     | pre-season          | thomas tuchel               | 3 august 2009         |
| hannover 96              | dieter hecking                            | resigned                    | 19 august 2009    | 14th                | andreas bergmann            | 30 august 2009        |
| vfl bochum               | marcel koller                             | sacked                      | 20 september 2009 | 17th                | frank heinemann (caretaker) | 20 september 2009     |
| hertha bsc               | lucien favre                              | sacked                      | 28 september 2009 | 18th                | friedhelm funkel            | 3 october 2009        |
| vfl bochum               | frank heinemann (caretaker)               | end as caretaker            | 27 october 2009   | 17th                | heiko herrlich              | 27 october 2009       |
| vfb stuttgart            | markus babbel                             | sacked                      | 6 december 2009   | 16th                | christian gross             | 6 december 2009       |
| 1. fc nuremberg          | michael oenning                           | sacked                      | 21 december 2009  | 17th                | dieter hecking              | 22 december 2009      |
| hannover 96              | andreas bergmann                          | sacked                      | 19 january 2010   | 16th                | mirko slomka                | 19 january 2010       |
| vfl wolfsburg            | armin veh                                 | sacked                      | 25 january 2010   | 10th                | lorenz-günther köstner      | 25 january 2010       |
| hamburger sv             | bruno labbadia                            | sacked                      | 26 april 2010     | 7th                 | ricardo moniz (interim)     | 26 april 2010         |

Question: What is the date of vacancy for the person that left because of end of caretaker contract?

table_id: 1-22133191-3
label: SELECT "Date of vacancy" FROM "table" WHERE "Manner of departure" = "End of caretaker contract"