Зарекалась же это делать, но всё равно зачем-то влезла с со своими комментариями.

diary.ru/~saviri/p63132890.htm