Your assignment is to write a program of even length, that prints an ASCII-art square (described below), that increases its side length by 1 unit each time the original source code is pasted in the middle of the current code.
It is quite hard for me to define this task very well, so I'll give you an example:
Let's say your initial code was
CODE
and that it printed:0
Then, insert
CODE
in the middle: your code becomesCOCODEDE
and it should print:00 00
Re-insert
CODE
in the middle: your code becomesCOCOCODEDEDE
and should print:000 000 000
And so on. Your answer should theoretically work after any number of iterations, but I understand if, due to language performance limitations, it cannot run reasonably over a certain threshold.
Some rules:
You can use any printable ASCII (32-127) as the character to use for your square. Your choice needs to be constant (You should use the same character for each iteration).
The initial output square must have side-length 1.
An ascii-art square is defined as a string with N lines (separated by N-1 linefeeds / newlines), and with each line containing N copies of the chosen character.
Your output isn't allowed to contain any extraneous whitespace, other than a trailing newline.
You can use the defaults for input and output (programs or functions are allowed, but snippets are not).
The middle of your code is defined as the point where the source code can be split in two parts such that the two are equal.
Your answers will be scored by the length of your original program, in bytes. The lowest byte count wins. In case there's a tie, the answer that was submitted earlier wins.
You can use this program to apply the insertions without having to do that by hand.