{"id":502202,"date":"2026-11-08T20:29:00","date_gmt":"2026-11-08T17:29:00","guid":{"rendered":"https:\/\/savepearlharbor.com\/?p=502202"},"modified":"2026-11-08T20:29:00","modified_gmt":"2026-11-08T17:29:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=502202","title":{"rendered":"\u041f\u043e\u0447\u0435\u043c\u0443 \u044f \u043d\u0435 \u0434\u043e\u0432\u0435\u0440\u0438\u043b LLM \u0432\u044b\u0431\u043e\u0440 \u0430\u0440\u0445\u0438\u0432\u0430: \u043f\u043b\u0430\u043d \u043f\u043e\u0438\u0441\u043a\u0430 \u043f\u0440\u0435\u0434\u043a\u043e\u0432 \u043d\u0430 JSON-\u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a\u0430\u0445 \u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u0430\u0445"},"content":{"rendered":"<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u042f \u0434\u0435\u043b\u0430\u044e \u0441\u0435\u0440\u0432\u0438\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e \u0444\u0430\u043c\u0438\u043b\u0438\u0438, \u0434\u0435\u0441\u044f\u0442\u0438\u043b\u0435\u0442\u0438\u044e \u0440\u043e\u0436\u0434\u0435\u043d\u0438\u044f \u0438 \u0440\u0435\u0433\u0438\u043e\u043d\u0443 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u043d\u0430 \u0434\u0432\u0430 \u0432\u043e\u043f\u0440\u043e\u0441\u0430: \u043a\u0430\u043a\u0438\u0435 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u044b \u0442\u043e\u0439 \u044d\u043f\u043e\u0445\u0438 \u043c\u043e\u0433\u043b\u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c\u0441\u044f \u0438 \u0432 \u043a\u0430\u043a\u043e\u043c \u0430\u0440\u0445\u0438\u0432\u0435 \u0438\u0445 \u0438\u0441\u043a\u0430\u0442\u044c. \u041e\u0447\u0435\u0432\u0438\u0434\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 2026 \u0433\u043e\u0434\u0430, \u043e\u0434\u0438\u043d \u043f\u0440\u043e\u043c\u043f\u0442, \u044f \u043e\u0442\u0431\u0440\u043e\u0441\u0438\u043b \u0441\u043e\u0437\u043d\u0430\u0442\u0435\u043b\u044c\u043d\u043e: \u043c\u043e\u0434\u0435\u043b\u044c \u0443\u0432\u0435\u0440\u0435\u043d\u043d\u043e \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0430\u0440\u0445\u0438\u0432\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u0430\u0432\u043d\u043e \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u044b, \u0438 \u0444\u043e\u043d\u0434\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043d\u0438\u043a\u0442\u043e \u043d\u0435 \u0432\u0438\u0434\u0435\u043b. \u041d\u0438\u0436\u0435 \u2014 \u043a\u0430\u043a \u0443\u0441\u0442\u0440\u043e\u0435\u043d\u043e \u044f\u0434\u0440\u043e \u0431\u0435\u0437 \u043c\u043e\u0434\u0435\u043b\u0438 (\u0442\u0440\u0438 \u0441\u043b\u043e\u044f JSON-\u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a\u043e\u0432, \u0443 \u043a\u0430\u0436\u0434\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u0438 \u0441\u0442\u0430\u0442\u0443\u0441 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438, \u043f\u043b\u044e\u0441 \u0434\u0435\u0441\u044f\u0442\u043e\u043a \u043f\u0440\u0430\u0432\u0438\u043b), \u0433\u0434\u0435 \u043c\u043e\u0434\u0435\u043b\u044c \u0432\u0441\u0451-\u0442\u0430\u043a\u0438 \u0435\u0441\u0442\u044c \u0438 \u043f\u043e\u0447\u0435\u043c\u0443 \u0442\u0430\u043c \u043e\u043d\u0430 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u043d\u0430\u0437\u0432\u0430\u0442\u044c \u0430\u0440\u0445\u0438\u0432, \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u043e\u0447\u0435\u043d\u044c \u0437\u0430\u0445\u043e\u0447\u0435\u0442.<\/p>\n<h3>\u041f\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430: \u0447\u0442\u043e \u0437\u0434\u0435\u0441\u044c \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u043e\u0448\u0438\u0431\u043a\u043e\u0439<\/h3>\n<p>\u041d\u0430 \u0432\u0445\u043e\u0434\u0435 \u0444\u0430\u043c\u0438\u043b\u0438\u044f, \u0434\u0435\u0441\u044f\u0442\u0438\u043b\u0435\u0442\u0438\u0435 \u0438\u043b\u0438 \u0433\u043e\u0434 \u0440\u043e\u0436\u0434\u0435\u043d\u0438\u044f \u0438 \u0440\u0435\u0433\u0438\u043e\u043d. \u0412\u043c\u0435\u0441\u0442\u043e \u0440\u0435\u0433\u0438\u043e\u043d\u0430 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u0439\u0442\u0438 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442 \u043c\u0435\u0441\u0442\u0430 \u0438\u0437 \u043a\u0430\u0440\u0442\u043e\u0447\u043a\u0438 \u0434\u0440\u0435\u0432\u0430: \u00ab\u0441. \u042f\u0433\u043e\u0434\u043d\u043e\u0435, \u0421\u0442\u0430\u0432\u0440\u043e\u043f\u043e\u043b\u044c\u0441\u043a\u0438\u0439 \u0443\u0435\u0437\u0434, \u0421\u0430\u043c\u0430\u0440\u0441\u043a\u0430\u044f \u0433\u0443\u0431\u0435\u0440\u043d\u0438\u044f\u00bb. \u041d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u043f\u043b\u0430\u043d: \u0442\u0438\u043f\u044b \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0442\u043e\u0439 \u044d\u043f\u043e\u0445\u0438 \u0441 \u043f\u043e\u044f\u0441\u043d\u0435\u043d\u0438\u0435\u043c (\u043c\u0435\u0442\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043a\u043d\u0438\u0433\u0438, \u0440\u0435\u0432\u0438\u0437\u0441\u043a\u0438\u0435 \u0441\u043a\u0430\u0437\u043a\u0438, \u0437\u0430\u043f\u0438\u0441\u0438 \u0417\u0410\u0413\u0421\u2026), \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u0439 \u0433\u043e\u0441\u0430\u0440\u0445\u0438\u0432, \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u0440\u043e\u0434\u043d\u044b\u043c, \u0430 \u043f\u043e\u0441\u043b\u0435 \u0432\u0445\u043e\u0434\u0430 \u0432 \u0430\u043a\u043a\u0430\u0443\u043d\u0442 \u0435\u0449\u0451 \u0438 \u0433\u043e\u0442\u043e\u0432\u044b\u0435 \u0441\u0441\u044b\u043b\u043a\u0438 \u043f\u043e\u0438\u0441\u043a\u0430.<\/p>\n<p>\u0422\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0439 \u0442\u0440\u0438.<\/p>\n<ol>\n<li>\n<p><strong>\u0414\u0435\u0442\u0435\u0440\u043c\u0438\u043d\u0438\u0437\u043c.<\/strong> \u041e\u0434\u0438\u043d \u0432\u0445\u043e\u0434 \u0434\u0430\u0451\u0442 \u043e\u0434\u0438\u043d \u043f\u043b\u0430\u043d, \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u0438 \u0447\u0435\u0440\u0435\u0437 \u043c\u0435\u0441\u044f\u0446. \u0418\u043d\u0430\u0447\u0435 \u0436\u0430\u043b\u043e\u0431\u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u043d\u0435 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438, \u0430 \u0442\u0435\u0441\u0442 \u043d\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c.<\/p>\n<\/li>\n<li>\n<p><strong>\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c\u043e\u0441\u0442\u044c.<\/strong> \u041a\u0430\u0436\u0434\u044b\u0439 \u0444\u0430\u043a\u0442 \u0432 \u043e\u0442\u0432\u0435\u0442\u0435 \u2014 \u044d\u0442\u043e \u0437\u0430\u043f\u0438\u0441\u044c \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438, \u0443 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0435\u0441\u0442\u044c \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u0438 \u0434\u0430\u0442\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438. \u0420\u0435\u0432\u044c\u044e\u0435\u0440 \u0432\u0438\u0434\u0438\u0442 \u0444\u0430\u043a\u0442, \u0430 \u043d\u0435 \u0433\u0430\u0434\u0430\u0435\u0442, \u0447\u0442\u043e \u043c\u043e\u0434\u0435\u043b\u044c \u00ab\u0438\u043c\u0435\u043b\u0430 \u0432 \u0432\u0438\u0434\u0443\u00bb.<\/p>\n<\/li>\n<li>\n<p><strong>\u0410\u0441\u0438\u043c\u043c\u0435\u0442\u0440\u0438\u044f \u043e\u0448\u0438\u0431\u043e\u043a.<\/strong> \u041b\u0438\u0448\u043d\u044f\u044f \u0441\u0442\u0440\u043e\u043a\u0430 \u0432 \u043f\u043b\u0430\u043d\u0435 \u0441\u0442\u043e\u0438\u0442 \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0443 \u043c\u0438\u043d\u0443\u0442\u044b. \u041d\u0435\u0432\u0435\u0440\u043d\u044b\u0439 \u0430\u0440\u0445\u0438\u0432 \u0441\u0442\u043e\u0438\u0442 \u043d\u0435\u0434\u0435\u043b\u044c: \u043f\u0438\u0441\u044c\u043c\u043e, \u043d\u0435\u0440\u0435\u0434\u043a\u043e \u043f\u043b\u0430\u0442\u043d\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 \u0438 \u043e\u0442\u0432\u0435\u0442 \u00ab\u0441\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043d\u0435 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u044b\u00bb. \u0425\u0443\u0436\u0435 \u0432\u0441\u0435\u0433\u043e, \u0435\u0441\u043b\u0438 \u043f\u043e\u0441\u043b\u0435 \u0442\u0430\u043a\u043e\u0433\u043e \u043e\u0442\u0432\u0435\u0442\u0430 \u0447\u0435\u043b\u043e\u0432\u0435\u043a \u0440\u0435\u0448\u0438\u0442, \u0447\u0442\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u044b \u043d\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0441\u044c, \u0438 \u0431\u0440\u043e\u0441\u0438\u0442 \u043f\u043e\u0438\u0441\u043a.<\/p>\n<\/li>\n<\/ol>\n<p>\u0413\u0434\u0435 \u043c\u043e\u0434\u0435\u043b\u044c \u043e\u0448\u0438\u0431\u0430\u0435\u0442\u0441\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438, \u0430 \u043d\u0435 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e:<\/p>\n<ul>\n<li>\n<p><strong>\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0430\u0440\u0445\u0438\u0432\u043e\u0432.<\/strong> \u0420\u0435\u0433\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u0430\u0440\u0445\u0438\u0432\u044b \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u044b\u0432\u0430\u044e\u0442\u0441\u044f, \u043c\u0435\u043d\u044f\u044e\u0442 \u0441\u0430\u0439\u0442\u044b \u0438 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u043e\u043d\u043d\u0443\u044e \u0444\u043e\u0440\u043c\u0443. \u0412 \u0432\u0435\u0441\u0430\u0445 \u043b\u0435\u0436\u0438\u0442 \u0441\u043c\u0435\u0441\u044c \u0432\u0441\u0435\u0445 \u0432\u0435\u0440\u0441\u0438\u0439 \u0441\u0440\u0430\u0437\u0443.<\/p>\n<\/li>\n<li>\n<p><strong>\u0423\u0435\u0437\u0434 \u2260 \u0440\u0430\u0439\u043e\u043d.<\/strong> \u041b\u0438\u043f\u0435\u0446\u043a\u0438\u0439 \u0443\u0435\u0437\u0434 \u0432\u0445\u043e\u0434\u0438\u043b \u0432 \u0422\u0430\u043c\u0431\u043e\u0432\u0441\u043a\u0443\u044e \u0433\u0443\u0431\u0435\u0440\u043d\u0438\u044e. \u0412\u0442\u043e\u0440\u044b\u0435 (\u043a\u043e\u043d\u0441\u0438\u0441\u0442\u043e\u0440\u0441\u043a\u0438\u0435) \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u044b \u043c\u0435\u0442\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043a\u043d\u0438\u0433 \u0441\u043e\u0431\u0438\u0440\u0430\u043b\u0438\u0441\u044c \u0432 \u0433\u0443\u0431\u0435\u0440\u043d\u0441\u043a\u043e\u043c \u0433\u043e\u0440\u043e\u0434\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u043b\u044f \u041b\u0438\u043f\u0435\u0446\u043a\u043e\u0433\u043e \u0443\u0435\u0437\u0434\u0430 \u043f\u0435\u0440\u0432\u044b\u043c \u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442\u043e\u043c \u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0442\u0430\u043c\u0431\u043e\u0432\u0441\u043a\u0438\u0439 \u0430\u0440\u0445\u0438\u0432, \u0430 \u043d\u0435 \u043b\u0438\u043f\u0435\u0446\u043a\u0438\u0439. \u041c\u043e\u0434\u0435\u043b\u044c \u0440\u0430\u0441\u0441\u0443\u0436\u0434\u0430\u0435\u0442 \u043f\u043e \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u043a\u0430\u0440\u0442\u0435.<\/p>\n<\/li>\n<li>\n<p><strong>\u041f\u0440\u0430\u0432\u0434\u043e\u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0435 \u0448\u0438\u0444\u0440\u044b.<\/strong> \u00ab\u0424. 123, \u043e\u043f. 1, \u0434. 45\u00bb \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043a\u0430\u043a \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0430\u044f \u0441\u0441\u044b\u043b\u043a\u0430, \u0430 \u043d\u043e\u0432\u0438\u0447\u043e\u043a \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0435\u0451 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442.<\/p>\n<\/li>\n<\/ul>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u043a\u0430\u0436\u0434\u044b\u0439. \u0421\u043f\u0440\u043e\u0441\u0438\u0442\u0435 \u043b\u044e\u0431\u043e\u0439 \u0447\u0430\u0442-\u0431\u043e\u0442, \u0433\u0434\u0435 \u0438\u0441\u043a\u0430\u0442\u044c \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u0441\u0435\u043b\u0430 \u0441 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u0435\u043c \u0443\u0435\u0437\u0434\u0430. \u041f\u043e\u0442\u043e\u043c \u043e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 \u0441\u0430\u0439\u0442 \u043d\u0430\u0437\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0430\u0440\u0445\u0438\u0432\u0430 \u0438 \u0441\u0432\u0435\u0440\u044c\u0442\u0435 \u0442\u0440\u0438 \u0432\u0435\u0449\u0438: \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043b\u0438 \u0430\u0440\u0445\u0438\u0432 \u043f\u043e\u0434 \u044d\u0442\u0438\u043c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c \u0441\u0435\u0439\u0447\u0430\u0441, \u0445\u0440\u0430\u043d\u0438\u0442 \u043b\u0438 \u043e\u043d \u043c\u0435\u0442\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043a\u043d\u0438\u0433\u0438 \u044d\u0442\u043e\u0439 \u0433\u0443\u0431\u0435\u0440\u043d\u0438\u0438 \u0438 \u0435\u0441\u0442\u044c \u043b\u0438 \u043d\u0430\u0437\u0432\u0430\u043d\u043d\u044b\u0439 \u0444\u043e\u043d\u0434 \u0432 \u0435\u0433\u043e \u043f\u0443\u0442\u0435\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u0435.<\/p>\n<h3>\u0412\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b<\/h3>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p align=\"left\">\u041f\u043e\u0434\u0445\u043e\u0434<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u041e\u0434\u0438\u043d \u0432\u0445\u043e\u0434 \u2192 \u043e\u0434\u0438\u043d \u043e\u0442\u0432\u0435\u0442<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u0427\u0442\u043e \u0432\u0438\u0434\u043d\u043e \u043d\u0430 \u0440\u0435\u0432\u044c\u044e<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u0427\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0442\u0435\u0441\u0442<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u0413\u043b\u0430\u0432\u043d\u044b\u0439 \u0440\u0438\u0441\u043a<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0427\u0438\u0441\u0442\u044b\u0439 \u043f\u0440\u043e\u043c\u043f\u0442<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u043d\u0435\u0442<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0442\u0435\u043a\u0441\u0442 \u043f\u0440\u043e\u043c\u043f\u0442\u0430<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u043f\u043e\u0447\u0442\u0438 \u043d\u0438\u0447\u0435\u0433\u043e<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0432\u044b\u0434\u0443\u043c\u0430\u043d\u043d\u044b\u0439 \u0430\u0440\u0445\u0438\u0432 \u0438\u043b\u0438 \u0444\u043e\u043d\u0434<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">RAG \u043f\u043e \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a\u0443<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u043d\u0435\u0442<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u043f\u0440\u043e\u043c\u043f\u0442 \u0438 \u0432\u044b\u0431\u043e\u0440\u043a\u0443<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0447\u0442\u043e \u043d\u0443\u0436\u043d\u0430\u044f \u0437\u0430\u043f\u0438\u0441\u044c \u043f\u043e\u043f\u0430\u043b\u0430 \u0432 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0432\u0435\u0440\u043d\u0430\u044f \u0437\u0430\u043f\u0438\u0441\u044c \u043f\u043b\u044e\u0441 \u0432\u044b\u0434\u0443\u043c\u0430\u043d\u043d\u0430\u044f \u0434\u0435\u0442\u0430\u043b\u044c<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">Structured output (enum \u043a\u043e\u0434\u043e\u0432)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u043d\u0435\u0442, \u043d\u043e \u043e\u0442\u0432\u0435\u0442 \u0438\u0437 \u0441\u043f\u0438\u0441\u043a\u0430<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0441\u0445\u0435\u043c\u0443<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0447\u0442\u043e \u043e\u0442\u0432\u0435\u0442 \u0438\u0437 \u0441\u043f\u0438\u0441\u043a\u0430<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u043f\u0440\u0430\u0432\u0434\u043e\u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0439, \u043d\u043e \u043d\u0435\u0432\u0435\u0440\u043d\u044b\u0439 \u0432\u044b\u0431\u043e\u0440<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0421\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a + \u043f\u0440\u0430\u0432\u0438\u043b\u0430<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0434\u0430<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0434\u0438\u0444\u0444 JSON \u0438 \u043a\u043e\u0434\u0430<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0442\u043e\u0447\u043d\u044b\u0439 \u043f\u043b\u0430\u043d \u043d\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 \u0432\u0445\u043e\u0434<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0430\u044f \u0437\u0430\u043f\u0438\u0441\u044c, \u0433\u0440\u0443\u0431\u043e\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u043e<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0413\u0438\u0431\u0440\u0438\u0434: \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u0432 \u044f\u0434\u0440\u0435, \u043c\u043e\u0434\u0435\u043b\u044c \u043d\u0430 \u043a\u0440\u0430\u044f\u0445<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u044f\u0434\u0440\u043e \u2014 \u0434\u0430<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0434\u0438\u0444\u0444, \u0441\u0445\u0435\u043c\u0443, \u0432\u0430\u043b\u0438\u0434\u0430\u0442\u043e\u0440<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u044f\u0434\u0440\u043e \u2014 \u0442\u043e\u0447\u043d\u043e, \u043a\u0440\u0430\u044f \u2014 \u043f\u043e \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u043c \u043e\u0442\u0432\u0435\u0442\u0430\u043c<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0431\u043e\u043b\u044c\u0448\u0435 \u043a\u043e\u0434\u0430<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><strong>RAG<\/strong> \u0441\u043d\u0438\u0436\u0430\u0435\u0442 \u0440\u0438\u0441\u043a, \u043d\u043e \u043d\u0435 \u0443\u0431\u0438\u0440\u0430\u0435\u0442 \u0435\u0433\u043e. \u041c\u043e\u0434\u0435\u043b\u044c \u043f\u043e\u043b\u0443\u0447\u0438\u0442 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u0443\u044e \u0437\u0430\u043f\u0438\u0441\u044c \u043e\u0431 \u0430\u0440\u0445\u0438\u0432\u0435 \u0438 \u0432\u0441\u0451 \u0440\u0430\u0432\u043d\u043e \u043c\u043e\u0436\u0435\u0442 \u0434\u043e\u043f\u0438\u0441\u0430\u0442\u044c \u0443\u0432\u0435\u0440\u0435\u043d\u043d\u0443\u044e \u0434\u0435\u0442\u0430\u043b\u044c, \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0432 \u0437\u0430\u043f\u0438\u0441\u0438 \u043d\u0435\u0442, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u043d\u043e\u043c\u0435\u0440 \u0444\u043e\u043d\u0434\u0430. \u041b\u043e\u0432\u0438\u0442\u044c \u044d\u0442\u043e \u043f\u0440\u0438\u0434\u0451\u0442\u0441\u044f \u0441\u0432\u0435\u0440\u043a\u043e\u0439 \u0441 \u0442\u0435\u043c \u0436\u0435 \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a\u043e\u043c: \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u0438\u0441\u0442\u0438\u043d\u044b \u0432\u0441\u0451 \u0440\u0430\u0432\u043d\u043e \u043e\u043d, \u0430 \u043c\u043e\u0434\u0435\u043b\u044c \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u043d\u0435\u0434\u0435\u0442\u0435\u0440\u043c\u0438\u043d\u0438\u0437\u043c, \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0443 \u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0443 \u0444\u0430\u043c\u0438\u043b\u0438\u0438 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0443.<\/p>\n<p><strong>Structured output<\/strong> \u0441 enum \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u00ab\u0432\u044b\u0434\u0443\u043c\u0430\u043d\u043d\u044b\u0439 \u0430\u0440\u0445\u0438\u0432\u00bb: \u043c\u043e\u0434\u0435\u043b\u044c \u043c\u043e\u0436\u0435\u0442 \u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u043e\u0434 \u0438\u0437 \u0441\u043f\u0438\u0441\u043a\u0430. \u041d\u043e \u00ab\u043d\u0435 \u0442\u043e\u0442 \u043a\u043e\u0434 \u0438\u0437 \u0441\u043f\u0438\u0441\u043a\u0430\u00bb \u043e\u043d \u043d\u0435 \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u0442. \u0410 \u0441\u0430\u043c \u0432\u044b\u0431\u043e\u0440 \u00ab\u043c\u0435\u0441\u0442\u043e \u0438 \u0433\u043e\u0434\u044b \u2192 \u0430\u0440\u0445\u0438\u0432\u00bb \u2014 \u043d\u0435 \u044f\u0437\u044b\u043a\u043e\u0432\u0430\u044f \u0437\u0430\u0434\u0430\u0447\u0430, \u0430 \u043f\u043e\u0438\u0441\u043a \u043f\u043e \u0442\u0430\u0431\u043b\u0438\u0446\u0435. \u0414\u0430\u0436\u0435 \u043f\u0440\u0438 \u043d\u0443\u043b\u0435\u0432\u043e\u0439 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0435 \u043e\u0442\u0432\u0435\u0442 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0432\u0435\u0440\u0441\u0438\u0438 \u043c\u043e\u0434\u0435\u043b\u0438 \u0443 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430, \u0438 \u0435\u0451 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0432 \u043c\u043e\u0439 \u0440\u0435\u043b\u0438\u0437\u043d\u044b\u0439 \u0446\u0438\u043a\u043b \u043d\u0435 \u0432\u0445\u043e\u0434\u0438\u0442.<\/p>\n<p>\u042f \u0432\u044b\u0431\u0440\u0430\u043b \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044e\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \u0442\u0430\u0431\u043b\u0438\u0446\u044b. \u042f\u0434\u0440\u043e \u2014 \u044d\u0442\u043e \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a\u0438 \u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u0430, \u0431\u0435\u0437 \u043c\u043e\u0434\u0435\u043b\u0438. \u041c\u043e\u0434\u0435\u043b\u044c \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432 \u0442\u0440\u0451\u0445 \u0443\u0437\u043a\u0438\u0445 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f\u0445 \u043f\u043e \u043a\u0440\u0430\u044f\u043c, \u0438 \u0443 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0435\u0441\u0442\u044c \u0434\u0435\u0442\u0435\u0440\u043c\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u0441\u043b\u0443\u0447\u0430\u0439 \u0435\u0451 \u043e\u0442\u043a\u0430\u0437\u0430. \u041e\u0448\u0438\u0431\u043a\u0430 \u0432 \u043f\u0440\u0430\u0432\u0438\u043b\u0435 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0441\u044f, \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043e \u0441\u0442\u0440\u043e\u043a\u0438 JSON \u0438 \u0447\u0438\u043d\u0438\u0442\u0441\u044f \u043e\u0434\u043d\u0438\u043c \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u043c. \u041e\u0448\u0438\u0431\u043a\u0430 \u0432 \u043e\u0442\u0432\u0435\u0442\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430.<\/p>\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/extt\/a3\/71\/f6\/a371f65b9221f39ca85399b58cf46e39.png\" alt=\"\u041c\u0435\u0441\u0442\u043e \u2192 \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a \u2192 \u0430\u0440\u0445\u0438\u0432; \u0433\u043e\u0434\u044b \u2192 \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u2192 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u044b; \u0444\u0430\u043c\u0438\u043b\u0438\u044f \u2192 \u0442\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u0438 \u0441\u0441\u044b\u043b\u043a\u0438 \u043f\u043e\u0438\u0441\u043a\u0430.\" width=\"1600\" height=\"1310\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/extt\/a3\/71\/f6\/a371f65b9221f39ca85399b58cf46e39.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/extt\/a3\/71\/f6\/a371f65b9221f39ca85399b58cf46e39.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p><em>\u041c\u0435\u0441\u0442\u043e \u2192 \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a \u2192 \u0430\u0440\u0445\u0438\u0432; \u0433\u043e\u0434\u044b \u2192 \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u2192 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u044b; \u0444\u0430\u043c\u0438\u043b\u0438\u044f \u2192 \u0442\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u0438 \u0441\u0441\u044b\u043b\u043a\u0438 \u043f\u043e\u0438\u0441\u043a\u0430.<\/em><\/p>\n<h3>\u0421\u043b\u043e\u0439 1: \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a \u0433\u043e\u0441\u0430\u0440\u0445\u0438\u0432\u043e\u0432<\/h3>\n<p>\u0421\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a \u043b\u0435\u0436\u0438\u0442 \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 \u0440\u044f\u0434\u043e\u043c \u0441 \u043a\u043e\u0434\u043e\u043c, \u0430 \u043d\u0435 \u0432 \u0431\u0430\u0437\u0435. \u0422\u0430\u043a \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0437\u0430\u043f\u0438\u0441\u044c, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0441\u0435\u0440\u0432\u0438\u0441 \u043e\u0442\u0434\u0430\u0451\u0442:<\/p>\n<pre><code class=\"json\">{  \"code\": \"RU-TAM\",  \"name\": \"\u0422\u0430\u043c\u0431\u043e\u0432\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c\",  \"aliases\": [\"\u0442\u0430\u043c\u0431\u043e\u0432\"],  \"archive\": {    \"name\": \"\u0413\u043e\u0441\u0443\u0434\u0430\u0440\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0430\u0440\u0445\u0438\u0432 \u0422\u0430\u043c\u0431\u043e\u0432\u0441\u043a\u043e\u0439 \u043e\u0431\u043b\u0430\u0441\u0442\u0438\",    \"url\": \"https:\/\/tambovarchiv.ru\/\",    \"requestInfoUrl\": \"https:\/\/tambovarchiv.ru\/node\/35\",    \"verifiedFrom\": \"\u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u0430\u0439\u0442 \u043f\u043e \u043f\u043e\u0438\u0441\u043a\u0443 + \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0441\u0430\u0439\u0442\u0430\",    \"verifiedAt\": \"2026-09-27\",    \"evidence\": \"\u0422\u041e\u0413\u0411\u0423 \\\"\u0413\u043e\u0441\u0443\u0434\u0430\u0440\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0430\u0440\u0445\u0438\u0432 \u0422\u0430\u043c\u0431\u043e\u0432\u0441\u043a\u043e\u0439 \u043e\u0431\u043b\u0430\u0441\u0442\u0438\\\" | \u041c\u044b \u0431\u0435\u0440\u0435\u0436\u043d\u043e \u0445\u0440\u0430\u043d\u0438\u043c \u0438\u0441\u0442\u043e\u0440\u0438\u044e \u0434\u043b\u044f \u0412\u0430\u0441\",    \"status\": \"verified\"  }}<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper\"><\/span><\/a><\/div><\/pre>\n<p>\u0410 \u0442\u0430\u043a \u2014 \u0437\u0430\u043f\u0438\u0441\u044c, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0441\u0435\u0440\u0432\u0438\u0441 \u043d\u0435 \u043e\u0442\u0434\u0430\u0451\u0442 \u043d\u0438\u043a\u043e\u0433\u0434\u0430:<\/p>\n<pre><code class=\"json\">\"archive\": {  \"name\": \"\u0426\u0435\u043d\u0442\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u0433\u043e\u0441\u0443\u0434\u0430\u0440\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0430\u0440\u0445\u0438\u0432 \u0421\u0430\u043c\u0430\u0440\u0441\u043a\u043e\u0439 \u043e\u0431\u043b\u0430\u0441\u0442\u0438\",  \"verifiedFrom\": \"\u043d\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043e: \u0441\u0430\u0439\u0442 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 HTTP 403 \u043d\u0430 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0437\u0430\u043f\u0440\u043e\u0441; \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0430\u0440\u0445\u0438\u0432\u0430 \u0441 \u0441\u0430\u0439\u0442\u0430 \u043d\u0435 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u043e\",  \"verifiedAt\": null,  \"status\": \"unverified\"}<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u041e\u0442\u043f\u0440\u0430\u0432\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u043e\u0439 \u0441\u0442\u0430\u043b \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u043d\u0430\u0431\u043e\u0440 \u0434\u0430\u043d\u043d\u044b\u0445 \u0420\u043e\u0441\u0430\u0440\u0445\u0438\u0432\u0430 \u043e \u0433\u043e\u0441\u0430\u0440\u0445\u0438\u0432\u0430\u0445 \u0441\u0443\u0431\u044a\u0435\u043a\u0442\u043e\u0432. \u0412 \u043d\u0451\u043c 85 \u0437\u0430\u043f\u0438\u0441\u0435\u0439, \u043f\u043e \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044e \u043d\u0430 2019 \u0433\u043e\u0434. \u0414\u0430\u043b\u044c\u0448\u0435 \u043a\u0430\u0436\u0434\u044b\u0439 \u0441\u0430\u0439\u0442 \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u043b\u0441\u044f \u0438\u0437 \u0440\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u043e\u0439 \u0441\u0435\u0442\u0438, \u0438 \u0437\u0430\u043f\u0438\u0441\u044c \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0430\u0441\u044c <code>verified<\/code>, \u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0441\u043b\u0438 \u0441\u0430\u0439\u0442 \u043e\u0442\u0432\u0435\u0442\u0438\u043b 200 \u0441\u043e \u0448\u0442\u0430\u0442\u043d\u043e\u0439 \u0446\u0435\u043f\u043e\u0447\u043a\u043e\u0439 TLS (\u0438\u043b\u0438 \u043f\u043e http) \u0438 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u0431\u044b\u043b\u043e \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0430\u0440\u0445\u0438\u0432\u0430. \u0412 \u0432\u0435\u0440\u0441\u0438\u0438 \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a\u0430 \u043e\u0442 2 \u043d\u043e\u044f\u0431\u0440\u044f 2026 \u0433\u043e\u0434\u0430 \u0442\u0430\u043a\u0438\u0445 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 59. \u041e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 26 \u0445\u0440\u0430\u043d\u044f\u0442 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435, \u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442\u0430 \u043d\u0430 \u0430\u0434\u0440\u0435\u0441 \u0438 \u043f\u0440\u0438\u0447\u0438\u043d\u0443, \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u044c \u043d\u0435 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0430. \u041d\u0438 \u0432 \u043f\u043b\u0430\u043d, \u043d\u0438 \u0432 \u043f\u0438\u0441\u044c\u043c\u043e, \u043d\u0438 \u0432 \u043a\u0430\u043a\u043e\u0439 \u0434\u0440\u0443\u0433\u043e\u0439 \u0442\u0435\u043a\u0441\u0442 \u0434\u043b\u044f \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430 \u043e\u043d\u0438 \u043d\u0435 \u043f\u043e\u043f\u0430\u0434\u0430\u044e\u0442. \u0412\u043c\u0435\u0441\u0442\u043e \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0447\u0435\u043b\u043e\u0432\u0435\u043a \u0432\u0438\u0434\u0438\u0442 \u0447\u0435\u0441\u0442\u043d\u0443\u044e \u0444\u0440\u0430\u0437\u0443: \u00ab\u041d\u0430\u0439\u0434\u0438\u0442\u0435 \u0441\u0430\u0439\u0442 \u0433\u043e\u0441\u0430\u0440\u0445\u0438\u0432\u0430 \u0440\u0435\u0433\u0438\u043e\u043d\u0430\u2026\u00bb.<\/p>\n<p>\u0417\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u0440\u0438 \u0441\u0442\u0430\u0440\u0442\u0435, \u0438 \u0441 \u0431\u0438\u0442\u044b\u043c \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a\u043e\u043c \u0441\u0435\u0440\u0432\u0438\u0441 \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0435 \u043f\u043e\u0434\u043d\u0438\u043c\u0435\u0442\u0441\u044f:<\/p>\n<pre><code class=\"java\">\/\/ RegionalArchiveDirectory.validate, \u0441\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u043eif (archive.name() == null || archive.name().isBlank()        || archive.url() == null || !archive.url().matches(\"https?:\/\/.+\")        || archive.verifiedFrom() == null || archive.verifiedFrom().isBlank()) {    throw new IllegalStateException(\"Incomplete verified archive for \" + region.code());}LocalDate.parse(archive.verifiedAt()); \/\/ \u0438\u043d\u0430\u0447\u0435 IllegalStateException(\"Bad verifiedAt \u2026\")<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u0421\u0430\u043c\u044b\u0439 \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0439 \u0442\u0435\u0441\u0442 \u0432 \u044d\u0442\u043e\u043c \u0441\u043b\u043e\u0435 \u043a\u0440\u0430\u0441\u043d\u0435\u0435\u0442 \u043f\u0440\u043e\u0441\u0442\u043e \u043e\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u0431\u0435\u0437 \u0435\u0434\u0438\u043d\u043e\u0439 \u043f\u0440\u0430\u0432\u043a\u0438 \u043a\u043e\u0434\u0430:<\/p>\n<pre><code class=\"java\">assertThat(ChronoUnit.DAYS.between(LocalDate.parse(archive.verifiedAt()), LocalDate.now()))        .as(\"%s was checked more than a year ago - re-open the site\", region.code())        .isLessThanOrEqualTo(365);<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u042d\u0442\u043e \u043d\u0435\u0443\u0434\u043e\u0431\u043d\u043e, \u0438 \u0440\u043e\u0432\u043d\u043e \u044d\u0442\u043e \u043c\u043d\u0435 \u0438 \u043d\u0443\u0436\u043d\u043e. \u0421\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a \u0441\u0442\u0430\u0440\u0435\u0435\u0442, \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0435\u0433\u043e \u043d\u0438\u043a\u0442\u043e \u043d\u0435 \u0442\u0440\u043e\u0433\u0430\u043b, \u0438 \u0441\u0431\u043e\u0440\u043a\u0430 \u043d\u0430\u043f\u043e\u043c\u043d\u0438\u0442 \u043e\u0431 \u044d\u0442\u043e\u043c \u0440\u0430\u043d\u044c\u0448\u0435, \u0447\u0435\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c. \u0420\u044f\u0434\u043e\u043c \u0441\u0442\u043e\u0438\u0442 \u043d\u0438\u0436\u043d\u044f\u044f \u0433\u0440\u0430\u043d\u0438\u0446\u0430 <code>verified &gt;= 59<\/code>: \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u0430\u044f \u043c\u0430\u0441\u0441\u043e\u0432\u0430\u044f \u043f\u0440\u0430\u0432\u043a\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0440\u0430\u0437\u0436\u0430\u043b\u0443\u0435\u0442 \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0443 \u0430\u0440\u0445\u0438\u0432\u043e\u0432, \u0442\u043e\u0436\u0435 \u043d\u0435 \u043f\u0440\u043e\u0439\u0434\u0451\u0442 \u043c\u043e\u043b\u0447\u0430.<\/p>\n<h3>\u0421\u043b\u043e\u0439 2: \u0433\u0443\u0431\u0435\u0440\u043d\u0438\u0438 \u0438 \u0443\u0435\u0437\u0434\u044b<\/h3>\n<p>\u041f\u0435\u0440\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0447\u0438\u0442\u0430\u043b\u0430 \u043c\u0435\u0441\u0442\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u0430\u043a \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0439 \u0440\u0435\u0433\u0438\u043e\u043d, \u0438 \u00ab\u0421\u0442\u0430\u0432\u0440\u043e\u043f\u043e\u043b\u044c\u0441\u043a\u0438\u0439 \u0443\u0435\u0437\u0434 \u0421\u0430\u043c\u0430\u0440\u0441\u043a\u043e\u0439 \u0433\u0443\u0431\u0435\u0440\u043d\u0438\u0438\u00bb \u0443\u0435\u0437\u0436\u0430\u043b \u0432 \u0421\u0442\u0430\u0432\u0440\u043e\u043f\u043e\u043b\u044c\u0441\u043a\u0438\u0439 \u043a\u0440\u0430\u0439. \u0422\u0435\u043f\u0435\u0440\u044c \u043f\u0435\u0440\u0435\u0434 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a\u043e\u043c \u0441\u0442\u043e\u0438\u0442 \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0441\u043b\u043e\u0439. \u0412 \u043d\u0451\u043c 53 \u0437\u0430\u043f\u0438\u0441\u0438 \u043e \u0433\u0443\u0431\u0435\u0440\u043d\u0438\u044f\u0445, \u043e\u0431\u043b\u0430\u0441\u0442\u044f\u0445 \u0438 \u0433\u043e\u0440\u043e\u0434\u0430\u0445, 438 \u0443\u0435\u0437\u0434\u043e\u0432 \u0438 \u0443\u0435\u0437\u0434\u043d\u044b\u0445 \u0433\u043e\u0440\u043e\u0434\u043e\u0432 \u043f\u043e 28 \u0433\u0443\u0431\u0435\u0440\u043d\u0438\u044f\u043c, \u0430 \u0435\u0449\u0451 146 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u0438\u0437 \u0440\u0430\u0437\u043e\u0432\u043e\u0433\u043e \u0441\u043d\u0438\u043c\u043a\u0430 Wikidata (CC0). \u0417\u0430\u043f\u0438\u0441\u0438 \u0438\u0437 Wikidata \u043d\u0443\u0436\u043d\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0442\u044c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435, \u0441\u0432\u043e\u0435\u0433\u043e \u0430\u0440\u0445\u0438\u0432\u0430 \u0443 \u043d\u0438\u0445 \u043d\u0435\u0442. \u0421\u0430\u043c \u0441\u0435\u0440\u0432\u0438\u0441 \u0432 Wikidata \u043d\u0435 \u043e\u0431\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f.<\/p>\n<pre><code class=\"json\">{  \"id\": \"uezd_tambovskaya_\u043b\u0438\u043f\u0435\u0446\u043a\",  \"kind\": \"uezd\",  \"name\": \"\u041b\u0438\u043f\u0435\u0446\u043a\u0438\u0439 \u0443\u0435\u0437\u0434 \u0422\u0430\u043c\u0431\u043e\u0432\u0441\u043a\u043e\u0439 \u0433\u0443\u0431\u0435\u0440\u043d\u0438\u0438\",  \"aliases\": [\"\u043b\u0438\u043f\u0435\u0446\u043a* \u0443\u0435\u0437\u0434\", \"\u043b\u0438\u043f\u0435\u0446\u043a* \u0443.\"],  \"regionCode\": \"RU-LIP\",  \"archiveRegionCode\": \"RU-TAM\",  \"archiveUntilYear\": 1918,  \"archiveWhenYearUnknown\": true,  \"status\": \"reviewed\",  \"sources\": [\"https:\/\/ru.wikipedia.org\/wiki\/\u0422\u0430\u043c\u0431\u043e\u0432\u0441\u043a\u0430\u044f_\u0433\u0443\u0431\u0435\u0440\u043d\u0438\u044f\", \"\u043e\u0442\u0447\u0451\u0442 \u0430\u0440\u0445\u0438\u0432\u0438\u0441\u0442\u0430, \u043f. 3.3\"]}<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>(\u041f\u043e\u043b\u044f <code>userNote<\/code>, <code>noteStatus<\/code> \u0438 <code>note<\/code> \u0437\u0434\u0435\u0441\u044c \u043e\u043f\u0443\u0449\u0435\u043d\u044b.) <code>regionCode<\/code> \u2014 \u044d\u0442\u043e \u0433\u0434\u0435 \u043c\u0435\u0441\u0442\u043e \u043b\u0435\u0436\u0438\u0442 \u0441\u0435\u0433\u043e\u0434\u043d\u044f, <code>archiveRegionCode<\/code> \u2014 \u0433\u0434\u0435 \u0438\u0441\u043a\u0430\u0442\u044c \u043a\u043e\u043d\u0441\u0438\u0441\u0442\u043e\u0440\u0441\u043a\u0438\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0434\u043e <code>archiveUntilYear<\/code>. \u041f\u0441\u0435\u0432\u0434\u043e\u043d\u0438\u043c\u044b \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u044b \u043d\u0430 \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u043e\u043c \u044f\u0437\u044b\u043a\u0435. <code>\u0441\u043b\u043e\u0432\u043e*<\/code> \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u043b\u044e\u0431\u043e\u0435 \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u0435, <code>=\u0441\u043b\u043e\u0432\u043e<\/code> \u2014 \u0441\u043b\u043e\u0432\u043e \u0446\u0435\u043b\u0438\u043a\u043e\u043c, \u0430 <code>requires<\/code> \u2014 \u0441\u043b\u043e\u0432\u043e, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043e\u0431\u044f\u0437\u0430\u043d\u043e \u0441\u0442\u043e\u044f\u0442\u044c \u0440\u044f\u0434\u043e\u043c: \u00ab\u0421\u0442\u0430\u0432\u0440\u043e\u043f\u043e\u043b\u044c\u0441\u043a\u0438\u0439 \u0443\u0435\u0437\u0434\u00bb \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u043a \u0421\u0430\u043c\u0430\u0440\u0441\u043a\u043e\u0439 \u0433\u0443\u0431\u0435\u0440\u043d\u0438\u0438, \u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0441\u043b\u0438 \u0432 \u0442\u0435\u043a\u0441\u0442\u0435 \u0435\u0441\u0442\u044c \u00ab\u0441\u0430\u043c\u0430\u0440\u0441\u043a\u00bb, \u00ab\u0441\u0438\u043c\u0431\u0438\u0440\u0441\u043a\u00bb \u0438\u043b\u0438 \u00ab\u043e\u0440\u0435\u043d\u0431\u0443\u0440\u0433\u0441\u043a\u00bb. \u041f\u0440\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0441\u043e\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u044f\u0445 \u043f\u043e\u0431\u0435\u0436\u0434\u0430\u0435\u0442 \u0431\u043e\u043b\u0435\u0435 \u0442\u043e\u0447\u043d\u0430\u044f \u0435\u0434\u0438\u043d\u0438\u0446\u0430 (\u0443\u0435\u0437\u0434, \u043f\u043e\u0442\u043e\u043c \u0433\u043e\u0440\u043e\u0434, \u043f\u043e\u0442\u043e\u043c \u0433\u0443\u0431\u0435\u0440\u043d\u0438\u044f), \u0437\u0430\u0442\u0435\u043c \u0437\u0430\u043f\u0438\u0441\u044c \u0441 <code>requires<\/code>, \u0437\u0430\u0442\u0435\u043c \u0431\u043e\u043b\u0435\u0435 \u0434\u043b\u0438\u043d\u043d\u044b\u0439 \u043f\u0441\u0435\u0432\u0434\u043e\u043d\u0438\u043c. \u041f\u0435\u0440\u0435\u0434 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435\u043c \u0442\u0435\u043a\u0441\u0442 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043a \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u043e\u0440\u0444\u043e\u0433\u0440\u0430\u0444\u0438\u0438, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043a\u0430\u0440\u0442\u043e\u0447\u043a\u0438 \u0447\u0430\u0441\u0442\u043e \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u043d\u044b \u0441 \u0434\u043e\u0440\u0435\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u044b\u0445 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u043e\u0432:<\/p>\n<pre><code class=\"java\">static String fold(String text) {    return text.toLowerCase(Locale.ROOT)            .replace('\u0451', '\u0435').replace('\u0463', '\u0435').replace('\u0456', '\u0438').replace('\u0473', '\u0444').replace('\u0475', '\u0438')            .replaceAll(\"\u044a(?![\\\\p{L}])\", \"\");}<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u041a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u0441\u043b\u043e\u044f: \u0433\u0434\u0435 \u043b\u0435\u0436\u0430\u0442 \u043a\u043e\u043d\u0441\u0438\u0441\u0442\u043e\u0440\u0441\u043a\u0438\u0435 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u044b \u2014 \u044d\u0442\u043e \u0434\u0430\u043d\u043d\u044b\u0435, \u0430 \u043c\u043e\u0436\u043d\u043e \u043b\u0438 \u043d\u0430\u0437\u0432\u0430\u0442\u044c \u044d\u0442\u043e\u0442 \u0430\u0440\u0445\u0438\u0432 \u2014 \u0440\u0435\u0448\u0430\u0435\u0442 \u0435\u0433\u043e \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430.<\/p>\n<pre><code class=\"java\">Optional&lt;Region&gt; archiveRegion = historical        .flatMap(match -&gt; match.archiveRegionCode(birthFrom))        .flatMap(directory::find)        \/\/ While the region's archive is unverified, the place's own region answers - never an unconfirmed name.        .filter(found -&gt; directory.verifiedArchive(found).isPresent())        .or(() -&gt; subjectRegion);<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u041f\u0440\u0438\u043c\u0435\u0440 \u0438\u0437 \u0442\u0435\u0441\u0442\u043e\u0432. \u0411\u0443\u0437\u0443\u043b\u0443\u043a\u0441\u043a\u0438\u0439 \u0443\u0435\u0437\u0434 \u0421\u0430\u043c\u0430\u0440\u0441\u043a\u043e\u0439 \u0433\u0443\u0431\u0435\u0440\u043d\u0438\u0438 \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u041e\u0440\u0435\u043d\u0431\u0443\u0440\u0433\u0441\u043a\u043e\u0439 \u043e\u0431\u043b\u0430\u0441\u0442\u0438. \u0421\u0430\u043c\u0430\u0440\u0441\u043a\u0438\u0439 \u0430\u0440\u0445\u0438\u0432 \u0432 \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a\u0435 \u043d\u0435 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0451\u043d, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u043b\u0430\u043d \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u0439 \u043e\u0440\u0435\u043d\u0431\u0443\u0440\u0433\u0441\u043a\u0438\u0439 \u0430\u0440\u0445\u0438\u0432, \u0430 \u043d\u0435 \u0434\u043e\u0433\u0430\u0434\u043a\u0443 \u043f\u0440\u043e \u0441\u0430\u043c\u0430\u0440\u0441\u043a\u0438\u0439.<\/p>\n<p>\u0420\u0435\u0433\u0438\u043e\u043d, \u044f\u0432\u043d\u043e \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0439 \u0432 \u0444\u043e\u0440\u043c\u0435, \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0441\u043b\u043e\u0439 \u043d\u0435 \u043f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442, \u0438 \u043d\u0430 \u044d\u0442\u043e \u0435\u0441\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0442\u0435\u0441\u0442. \u0412 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u0439 \u0444\u043e\u0440\u043c\u0435 \u043d\u0430 \u0433\u043b\u0430\u0432\u043d\u043e\u0439 \u0440\u0435\u0433\u0438\u043e\u043d \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u0438\u0437 \u0441\u043f\u0438\u0441\u043a\u0430, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0441\u043b\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u043c \u0442\u0435\u043a\u0441\u0442\u0435 \u043c\u0435\u0441\u0442\u0430 \u0438\u0437 \u043a\u0430\u0440\u0442\u043e\u0447\u0435\u043a \u0434\u0440\u0435\u0432\u0430.<\/p>\n<h3>\u0421\u043b\u043e\u0439 3: \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u00ab\u0433\u043e\u0434\u044b \u2192 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u044b\u00bb<\/h3>\n<p>\u042f\u0434\u0440\u043e \u043f\u0440\u0430\u0432\u0438\u043b \u043f\u043e\u043c\u0435\u0449\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u044d\u043a\u0440\u0430\u043d. \u0421\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u043e: \u0432 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u0435 \u0440\u044f\u0434\u043e\u043c \u0442\u0435\u043a\u0441\u0442\u044b \u043a\u0430\u0440\u0442\u043e\u0447\u0435\u043a.<\/p>\n<pre><code class=\"java\">\/\/ ResearchPlanService.eras, \u0441\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u043eboolean unknown = yearFrom == null;if (unknown || yearTo &gt;= 1918)    eras.add(zags);            \/\/ \u0437\u0430\u043f\u0438\u0441\u0438 \u0417\u0410\u0413\u0421if (warYears)                     eras.add(war);             \/\/ 1941\u20131945if (unknown || yearFrom &lt;= 1918)  eras.add(metricBooks);     \/\/ \u0434\u043e 1918if (!unknown &amp;&amp; yearFrom &lt;= 1917) eras.add(confessionLists); \/\/ XVIII \u0432\u0435\u043a \u2014 1917if (!unknown &amp;&amp; yearFrom &lt;= 1897) eras.add(census1897);if (!unknown &amp;&amp; yearFrom &lt;= 1880) eras.add(revisionTales);   \/\/ 1719\u20131858<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u0424\u043e\u0440\u043c\u0430 \u043d\u0430 \u0433\u043b\u0430\u0432\u043d\u043e\u0439 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 17 \u0434\u0435\u0441\u044f\u0442\u0438\u043b\u0435\u0442\u0438\u0439, \u0441 1800-\u0445 \u043f\u043e 1960-\u0435. \u042f \u043f\u0440\u043e\u0433\u043d\u0430\u043b \u043c\u0435\u0442\u043e\u0434 \u043a\u0440\u0430\u0442\u043a\u043e\u0433\u043e \u043f\u043b\u0430\u043d\u0430 \u043f\u043e \u0432\u0441\u0435\u043c \u0441\u0435\u043c\u043d\u0430\u0434\u0446\u0430\u0442\u0438, \u0438 \u0432\u043e\u0442 \u0447\u0442\u043e \u0432\u044b\u0434\u0430\u0451\u0442 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u043a\u043e\u0434:<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p align=\"left\">\u0414\u0435\u0441\u044f\u0442\u0438\u043b\u0435\u0442\u0438\u0435 \u0440\u043e\u0436\u0434\u0435\u043d\u0438\u044f<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u044b \u0432 \u043a\u0440\u0430\u0442\u043a\u043e\u043c \u043f\u043b\u0430\u043d\u0435<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">1950-\u0435 \u2014 1960-\u0435<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0437\u0430\u043f\u0438\u0441\u0438 \u0417\u0410\u0413\u0421<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">1920-\u0435 \u2014 1940-\u0435<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0417\u0410\u0413\u0421, \u0412\u0435\u043b\u0438\u043a\u0430\u044f \u041e\u0442\u0435\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">1910-\u0435<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0417\u0410\u0413\u0421, \u0412\u0435\u043b\u0438\u043a\u0430\u044f \u041e\u0442\u0435\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f, \u043c\u0435\u0442\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043a\u043d\u0438\u0433\u0438, \u0438\u0441\u043f\u043e\u0432\u0435\u0434\u043d\u044b\u0435 \u0432\u0435\u0434\u043e\u043c\u043e\u0441\u0442\u0438<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">1900-\u0435<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0412\u0435\u043b\u0438\u043a\u0430\u044f \u041e\u0442\u0435\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f, \u043c\u0435\u0442\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043a\u043d\u0438\u0433\u0438, \u0438\u0441\u043f\u043e\u0432\u0435\u0434\u043d\u044b\u0435 \u0432\u0435\u0434\u043e\u043c\u043e\u0441\u0442\u0438<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">1890-\u0435<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0442\u043e \u0436\u0435 + \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u044c 1897 \u0433\u043e\u0434\u0430<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">1800-\u0435 \u2014 1880-\u0435<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0442\u043e \u0436\u0435 + \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u044c 1897 \u0433\u043e\u0434\u0430, \u0440\u0435\u0432\u0438\u0437\u0441\u043a\u0438\u0435 \u0441\u043a\u0430\u0437\u043a\u0438<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u0412 \u043a\u0440\u0430\u0442\u043a\u043e\u043c \u043f\u043b\u0430\u043d\u0435 \u0440\u0435\u0433\u0438\u043e\u043d \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0430\u0440\u0445\u0438\u0432, \u043d\u0430 \u043d\u0430\u0431\u043e\u0440 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u043e\u043d \u043d\u0435 \u0432\u043b\u0438\u044f\u0435\u0442. \u0412 \u043f\u043e\u043b\u043d\u043e\u043c \u043f\u043b\u0430\u043d\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0435\u0449\u0451 \u044d\u043f\u043e\u0445\u0438 (\u043f\u043e\u0445\u043e\u0437\u044f\u0439\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u043a\u043d\u0438\u0433\u0438, \u041f\u0435\u0440\u0432\u0430\u044f \u043c\u0438\u0440\u043e\u0432\u0430\u044f, \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0438 1926 \u0438 1939 \u0433\u043e\u0434\u043e\u0432) \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u0435 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0438 \u043a \u043a\u0430\u0436\u0434\u043e\u0439 \u0438\u0437 \u043d\u0438\u0445. \u0421\u0432\u044f\u0437\u044c \u00ab\u044d\u043f\u043e\u0445\u0430 \u2192 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u00bb \u0442\u043e\u0436\u0435 \u043b\u0435\u0436\u0438\u0442 \u0432 JSON, \u0432 \u043f\u043e\u043b\u0435 <code>eras<\/code>, \u0438 \u0432 \u043a\u043e\u0434\u0435 \u0435\u0451 \u043d\u0435\u0442.<\/p>\n<p><strong>\u0414\u0432\u0430 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u0445 \u0432\u0440\u0435\u043c\u0435\u043d\u0438.<\/strong> \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u044f \u0434\u0435\u0440\u0436\u0430\u043b \u0432 \u0433\u043e\u043b\u043e\u0432\u0435 \u043e\u0434\u043d\u0443 \u0433\u0440\u0430\u043d\u0438\u0446\u0443, 1918 \u0433\u043e\u0434: \u043a\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u043b \u0437\u0430\u043f\u0438\u0441\u044c, \u0446\u0435\u0440\u043a\u043e\u0432\u044c \u0438\u043b\u0438 \u0417\u0410\u0413\u0421. \u041e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u0430 \u0432\u0442\u043e\u0440\u0430\u044f: \u043a\u0442\u043e \u0445\u0440\u0430\u043d\u0438\u0442 \u0437\u0430\u043f\u0438\u0441\u044c \u0441\u0435\u0439\u0447\u0430\u0441. \u0417\u0430\u043f\u0438\u0441\u0438 \u0430\u043a\u0442\u043e\u0432 \u0433\u0440\u0430\u0436\u0434\u0430\u043d\u0441\u043a\u043e\u0433\u043e \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u0441\u0442\u043e \u043b\u0435\u0442 \u043b\u0435\u0436\u0430\u0442 \u0432 \u043e\u0440\u0433\u0430\u043d\u0430\u0445 \u0417\u0410\u0413\u0421 \u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0442\u043e\u043c \u0443\u0445\u043e\u0434\u044f\u0442 \u0432 \u0433\u043e\u0441\u0430\u0440\u0445\u0438\u0432 (143-\u0424\u0417, \u0441\u0442. 77). \u041f\u043b\u0430\u043d, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u043b \u0441\u0435\u043c\u044c\u044e \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430 1950 \u0433\u043e\u0434\u0430 \u0440\u043e\u0436\u0434\u0435\u043d\u0438\u044f \u0432 \u043e\u0431\u043b\u0430\u0441\u0442\u043d\u043e\u0439 \u0433\u043e\u0441\u0430\u0440\u0445\u0438\u0432, \u043f\u043e\u0441\u044b\u043b\u0430\u043b \u0435\u0451 \u0442\u0443\u0434\u0430, \u0433\u0434\u0435 \u0437\u0430\u043f\u0438\u0441\u0438 \u0435\u0449\u0451 \u0431\u044b\u0442\u044c \u043d\u0435 \u043c\u043e\u0436\u0435\u0442. \u0412\u0442\u043e\u0440\u0430\u044f \u043e\u0441\u044c \u2014 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f:<\/p>\n<pre><code class=\"java\">public static Placement placement(Integer yearFrom, Integer yearTo, Integer deathYear, int currentYear) {    int horizon = horizonYear(currentYear);            \/\/ currentYear - 100    if (yearFrom != null &amp;&amp; yearFrom &gt; horizon) {        return Placement.ZAGS;                          \/\/ \u0432\u0441\u0435 \u0437\u0430\u043f\u0438\u0441\u0438 \u0435\u0449\u0451 \u0432 \u0417\u0410\u0413\u0421    }    if (deathYear != null &amp;&amp; deathYear &gt; 0) {        return deathYear &gt; horizon ? Placement.ARCHIVE_THEN_ZAGS : Placement.ARCHIVE;    }    if (yearTo != null &amp;&amp; yearTo &gt; horizon - LIFETIME_YEARS) {        return Placement.ARCHIVE_THEN_ZAGS;             \/\/ \u0440\u043e\u0436\u0434\u0435\u043d\u0438\u0435 \u0432 \u0430\u0440\u0445\u0438\u0432\u0435, \u0431\u0440\u0430\u043a \u0438\u043b\u0438 \u0441\u043c\u0435\u0440\u0442\u044c \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0432 \u0417\u0410\u0413\u0421    }    return Placement.ARCHIVE;}<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u0414\u0430\u043b\u044c\u0448\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u0438\u0434\u043d\u044b \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435, \u0438 \u0438\u0445 \u0446\u0435\u043d\u0430.<\/p>\n<ul>\n<li>\n<p><strong>1910-\u0435: \u0417\u0410\u0413\u0421 \u0438 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0432\u043c\u0435\u0441\u0442\u0435.<\/strong> \u0413\u0440\u0430\u043d\u0438\u0446\u0430 \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 \u0432\u043d\u0443\u0442\u0440\u0438 \u0434\u0435\u0441\u044f\u0442\u0438\u043b\u0435\u0442\u0438\u044f, \u0430 \u0444\u043e\u0440\u043c\u0430 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0434\u0435\u0441\u044f\u0442\u0438\u043b\u0435\u0442\u0438\u0435, \u0430 \u043d\u0435 \u0433\u043e\u0434. \u041a \u0442\u043e\u043c\u0443 \u0436\u0435 \u0441\u0430\u043c\u0430 \u0433\u0440\u0430\u043d\u0438\u0446\u0430 \u0443\u0441\u043b\u043e\u0432\u043d\u0430: \u0434\u0435\u043a\u0440\u0435\u0442 \u043e \u043a\u043d\u0438\u0433\u0430\u0445 \u0430\u043a\u0442\u043e\u0432 \u0433\u0440\u0430\u0436\u0434\u0430\u043d\u0441\u043a\u043e\u0433\u043e \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u0432\u044b\u0448\u0435\u043b \u0432 \u0434\u0435\u043a\u0430\u0431\u0440\u0435 1917 \u0433\u043e\u0434\u0430, \u043a\u043e\u0434\u0435\u043a\u0441 \u2014 \u043e\u0441\u0435\u043d\u044c\u044e 1918-\u0433\u043e, \u0438 \u0447\u0430\u0441\u0442\u044c \u0446\u0435\u0440\u043a\u043e\u0432\u043d\u044b\u0445 \u043a\u043d\u0438\u0433 \u0442\u0435\u0445 \u043b\u0435\u0442 \u043e\u043a\u0430\u0437\u0430\u043b\u0430\u0441\u044c \u0432 \u0430\u0440\u0445\u0438\u0432\u0430\u0445 \u0417\u0410\u0413\u0421. \u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u043e\u0431\u0430 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430 \u0434\u0435\u0448\u0435\u0432\u043b\u0435, \u0447\u0435\u043c \u0443\u0433\u0430\u0434\u0430\u0442\u044c \u043d\u0435 \u0442\u043e\u0442.<\/p>\n<\/li>\n<li>\n<p><strong>1870-\u0435 \u0438 1880-\u0435: \u0440\u0435\u0432\u0438\u0437\u0441\u043a\u0438\u0435 \u0441\u043a\u0430\u0437\u043a\u0438.<\/strong> \u0420\u0435\u0432\u0438\u0437\u0438\u0439 \u0431\u044b\u043b\u043e \u0434\u0435\u0441\u044f\u0442\u044c, \u0441 1719 \u043f\u043e 1858 \u0433\u043e\u0434 (\u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044f\u044f \u0448\u043b\u0430 \u0432 1857\u20131859 \u0433\u043e\u0434\u0430\u0445). \u0421\u0430\u043c\u043e\u0433\u043e \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430 \u0432 \u043d\u0438\u0445 \u043d\u0435\u0442, \u0437\u0430\u0442\u043e \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0435\u0433\u043e \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u0438, \u0438 \u0442\u0435\u043a\u0441\u0442 \u043a\u0430\u0440\u0442\u043e\u0447\u043a\u0438 \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u0438\u043c\u0435\u043d\u043d\u043e \u044d\u0442\u043e. \u041f\u0440\u0430\u0432\u0438\u043b\u043e \u0441\u043e\u0437\u043d\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0449\u0435\u0434\u0440\u043e\u0435: \u043b\u0438\u0448\u043d\u044f\u044f \u0441\u0442\u0440\u043e\u043a\u0430 \u043e\u0431\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0434\u0435\u0448\u0435\u0432\u043b\u0435 \u043f\u0440\u043e\u043f\u0443\u0449\u0435\u043d\u043d\u043e\u0433\u043e \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430.<\/p>\n<\/li>\n<li>\n<p><strong>\u0412\u043e\u0435\u043d\u043d\u044b\u0439 \u0431\u043b\u043e\u043a.<\/strong> \u0414\u043e 4 \u043d\u043e\u044f\u0431\u0440\u044f \u0431\u043b\u043e\u043a \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u043b\u0441\u044f \u0440\u043e\u0436\u0434\u0451\u043d\u043d\u044b\u043c \u0432 \u043e\u043a\u043d\u0435 1875\u20131927 \u0433\u043e\u0434\u043e\u0432. \u0421\u0435\u0439\u0447\u0430\u0441 \u0443\u0441\u043b\u043e\u0432\u0438\u0435 \u043e\u0434\u043d\u043e: \u0433\u043e\u0434 \u0440\u043e\u0436\u0434\u0435\u043d\u0438\u044f \u043d\u0435 \u043f\u043e\u0437\u0436\u0435 1945-\u0433\u043e \u0438\u043b\u0438 \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u0435\u043d. \u0422\u0435\u043a\u0441\u0442 \u043a\u0430\u0440\u0442\u043e\u0447\u043a\u0438 \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043d\u0435 \u0443\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0435\u0442, \u0447\u0442\u043e \u0447\u0435\u043b\u043e\u0432\u0435\u043a \u0432\u043e\u0435\u0432\u0430\u043b: \u00ab\u0415\u0441\u043b\u0438 \u0432\u0430\u0448 \u0440\u043e\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u0438\u043a \u043c\u043e\u0433 \u0443\u0447\u0430\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0432 \u0432\u043e\u0439\u043d\u0435 \u0438\u043b\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u043b \u0432 \u0442\u044b\u043b\u0443\u2026\u00bb. \u041f\u0440\u0430\u0432\u043a\u0430 \u0443\u043c\u0435\u0441\u0442\u0438\u043b\u0430\u0441\u044c \u0432 \u043e\u0434\u043d\u0443 \u0441\u0442\u0440\u043e\u043a\u0443:<\/p>\n<pre><code class=\"diff\">-        return yearFrom == null || (yearTo &gt;= 1875 &amp;&amp; yearFrom &lt;= 1927);+        return yearFrom == null || yearFrom &lt;= LAST_WAR_BIRTH_YEAR;<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u0423 \u044d\u0442\u043e\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0435\u0441\u0442\u044c \u0446\u0435\u043d\u0430: \u0443 \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u043d\u0435\u0442 \u043d\u0438\u0436\u043d\u0435\u0439 \u0433\u0440\u0430\u043d\u0438\u0446\u044b, \u0438 \u043f\u0440\u0435\u0434\u043a\u0443 1820-\u0445 \u0441\u0442\u0440\u043e\u043a\u0430 \u043e \u0432\u043e\u0439\u043d\u0435 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430. \u042d\u0442\u043e \u043e\u0441\u043e\u0437\u043d\u0430\u043d\u043d\u044b\u0439 \u0440\u0430\u0437\u043c\u0435\u043d \u043f\u043e \u0442\u043e\u0439 \u0436\u0435 \u0430\u0441\u0438\u043c\u043c\u0435\u0442\u0440\u0438\u0438 \u043e\u0448\u0438\u0431\u043e\u043a: \u043b\u0438\u0448\u043d\u044e\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \u0447\u0435\u043b\u043e\u0432\u0435\u043a \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442 \u0437\u0430 \u0441\u0435\u043a\u0443\u043d\u0434\u0443, \u0430 \u043f\u0440\u043e\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0439 \u0431\u043b\u043e\u043a \u043c\u043e\u0436\u0435\u0442 \u0441\u0442\u043e\u0438\u0442\u044c \u0441\u0435\u043c\u044c\u0435 \u043d\u0430\u0433\u0440\u0430\u0434\u043d\u043e\u0433\u043e \u043b\u0438\u0441\u0442\u0430. \u0422\u043e\u0447\u043d\u0435\u0435 \u043e\u0442\u0441\u0435\u043a\u0430\u0442\u044c \u0448\u0443\u043c \u043c\u043e\u0436\u043d\u043e \u043f\u043e \u0433\u043e\u0434\u0443 \u0441\u043c\u0435\u0440\u0442\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432 \u043f\u043e\u043b\u043d\u043e\u043c \u043f\u043b\u0430\u043d\u0435 \u0447\u0430\u0441\u0442\u043e \u0438\u0437\u0432\u0435\u0441\u0442\u0435\u043d: \u0443\u043c\u0435\u0440\u0448\u0438\u0439 \u0434\u043e 1941 \u0433\u043e\u0434\u0430 \u0432 \u0432\u043e\u0439\u043d\u0435 \u0443\u0447\u0430\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u043d\u0435 \u043c\u043e\u0433. \u042d\u0442\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f \u043f\u0440\u0430\u0432\u043a\u0430 \u043f\u0440\u0430\u0432\u0438\u043b\u0430.<\/p>\n<\/li>\n<li>\n<p><strong>1900-\u0435: \u0432 \u0441\u043f\u0438\u0441\u043a\u0435 \u044d\u043f\u043e\u0445 \u043d\u0435\u0442 \u0417\u0410\u0413\u0421.<\/strong> \u041f\u0440\u0430\u0432\u0438\u043b\u043e \u044d\u043f\u043e\u0445 \u0441\u043c\u043e\u0442\u0440\u0438\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u0433\u043e\u0434 \u0440\u043e\u0436\u0434\u0435\u043d\u0438\u044f. \u0411\u0440\u0430\u043a \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430 1900-\u0445 \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e \u043f\u0440\u0438\u0448\u0451\u043b\u0441\u044f \u043d\u0430 \u0433\u043e\u0434\u044b \u043f\u043e\u0441\u043b\u0435 1918-\u0433\u043e \u0438 \u0437\u0430\u043f\u0438\u0441\u0430\u043d \u0443\u0436\u0435 \u0432 \u0417\u0410\u0413\u0421. \u0412 \u043f\u043b\u0430\u043d\u0435 \u043f\u043e\u0441\u043b\u0435 \u0432\u0445\u043e\u0434\u0430 \u0432\u0442\u043e\u0440\u0430\u044f \u043e\u0441\u044c \u044d\u0442\u043e \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u043e \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u0442: <code>ARCHIVE_THEN_ZAGS<\/code> \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u0432 \u0447\u0435\u043a-\u043b\u0438\u0441\u0442 \u0448\u0430\u0433 \u00ab\u041e\u0440\u0433\u0430\u043d\u044b \u0417\u0410\u0413\u0421: \u043f\u043e\u0437\u0434\u043d\u0438\u0435 \u0437\u0430\u043f\u0438\u0441\u0438 \u043e \u0431\u0440\u0430\u043a\u0435 \u0438 \u0441\u043c\u0435\u0440\u0442\u0438\u00bb. \u0412 \u043a\u0440\u0430\u0442\u043a\u043e\u043c \u043f\u043b\u0430\u043d\u0435 \u044d\u0442\u043e\u0433\u043e \u0448\u0430\u0433\u0430 \u043d\u0435\u0442, \u0438 \u044d\u0442\u043e \u043f\u0435\u0440\u0432\u044b\u0439 \u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442 \u043d\u0430 \u043f\u0440\u0430\u0432\u043a\u0443.<\/p>\n<\/li>\n<\/ul>\n<h3>\u0422\u0430\u0431\u043b\u0438\u0446\u0430 \u043a\u0430\u043a \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f<\/h3>\n<p>\u0422\u0435\u0441\u0442\u044b \u043d\u0430 \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u0435\u0441\u0442\u044c: \u0433\u0440\u0430\u043d\u0438\u0446\u044b \u043a\u0430\u0436\u0434\u043e\u0439 \u044d\u043f\u043e\u0445\u0438 \u0438\u0437 \u043f\u043e\u043b\u043d\u043e\u0433\u043e \u043f\u043b\u0430\u043d\u0430, \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u044f \u0443\u0435\u0437\u0434\u043e\u0432 \u043e\u0442 \u043d\u0430\u0447\u0430\u043b\u0430 \u0434\u043e \u043a\u043e\u043d\u0446\u0430, \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0442\u0435\u0441\u0442 \u0432\u043e\u0435\u043d\u043d\u043e\u0433\u043e \u0431\u043b\u043e\u043a\u0430 \u043d\u0430 \u0433\u043e\u0434\u044b 1850, 1874, 1928, 1935, 1945 \u0438 <code>null<\/code>. \u041d\u043e \u043e\u0434\u043d\u043e\u0433\u043e golden-\u0442\u0435\u0441\u0442\u0430 \u043d\u0430 \u0432\u0441\u044e \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0432\u044b\u0448\u0435 \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 \u043f\u043e\u043a\u0430 \u043d\u0435\u0442. \u0412\u043e\u0442 \u043a\u0430\u043a \u044f \u0431\u044b \u0435\u0433\u043e \u0437\u0430\u043a\u0440\u0435\u043f\u0438\u043b. <strong>\u042d\u0442\u043e \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u0430 \u043d\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u043a\u043e\u0434:<\/strong><\/p>\n<pre><code class=\"java\">\/\/ \u041f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0435: \u0442\u0430\u043a\u043e\u0433\u043e \u0442\u0435\u0441\u0442\u0430 \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 \u043f\u043e\u043a\u0430 \u043d\u0435\u0442.@ParameterizedTest(name = \"{0}-\u0435 \u2192 {1}\")@CsvSource(delimiter = '|', textBlock = \"\"\"    1960 | zags    1950 | zags    1940 | zags,war    1930 | zags,war    1920 | zags,war    1910 | zags,war,metric_books,confession_lists    1900 | war,metric_books,confession_lists    1890 | war,metric_books,confession_lists,census_1897    1880 | war,metric_books,confession_lists,census_1897,revision_tales    1870 | war,metric_books,confession_lists,census_1897,revision_tales    1860 | war,metric_books,confession_lists,census_1897,revision_tales    1850 | war,metric_books,confession_lists,census_1897,revision_tales    1840 | war,metric_books,confession_lists,census_1897,revision_tales    1830 | war,metric_books,confession_lists,census_1897,revision_tales    1820 | war,metric_books,confession_lists,census_1897,revision_tales    1810 | war,metric_books,confession_lists,census_1897,revision_tales    1800 | war,metric_books,confession_lists,census_1897,revision_tales    \"\"\")void teaserErasByDecade(int decade, String expected) {    Teaser teaser = service.teaser(\"\u0418\u0432\u0430\u043d\u043e\u0432\", decade, \"RU-TAM\");    assertThat(teaser.eras()).extracting(Era::code).containsExactly(expected.split(\",\"));}<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u0415\u0433\u043e \u0446\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u0432\u0438\u0434\u043d\u0430 \u043d\u0430 \u043f\u0440\u0430\u0432\u043a\u0435 \u0432\u043e\u0435\u043d\u043d\u043e\u0433\u043e \u0431\u043b\u043e\u043a\u0430: \u0432 \u0434\u0438\u0444\u0444\u0435 \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u0438\u0441\u044c \u0431\u044b \u0434\u0435\u0432\u044f\u0442\u044c \u0441\u0442\u0440\u043e\u043a: 1930-\u0435 \u0438 1940-\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0432\u043e\u0439\u043d\u0443, \u0438 \u0441\u0435\u043c\u044c \u0434\u0435\u0441\u044f\u0442\u0438\u043b\u0435\u0442\u0438\u0439 \u0441 1800-\u0445 \u043f\u043e 1860-\u0435 \u0442\u043e\u0436\u0435. \u0420\u0435\u0432\u044c\u044e\u0435\u0440 \u0443\u0432\u0438\u0434\u0435\u043b \u0431\u044b \u044d\u0442\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0446\u0435\u043b\u0438\u043a\u043e\u043c, \u0434\u043e \u0432\u044b\u043a\u0430\u0442\u0430, \u0430 \u043d\u0435 \u043f\u043e \u043e\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u044f. \u0421 \u043e\u0442\u0432\u0435\u0442\u043e\u043c \u043c\u043e\u0434\u0435\u043b\u0438 \u0442\u0430\u043a \u043d\u0435 \u0432\u044b\u0439\u0434\u0435\u0442: \u0442\u0435\u0441\u0442 \u043d\u0430 \u00ab\u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442\u00bb \u043b\u0438\u0431\u043e \u0444\u043b\u0430\u043f\u0430\u0435\u0442, \u043b\u0438\u0431\u043e \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442.<\/p>\n<h3>\u0413\u0434\u0435 \u043c\u043e\u0434\u0435\u043b\u044c \u0435\u0441\u0442\u044c \u0438 \u043f\u043e\u0447\u0435\u043c\u0443 \u043e\u043d\u0430 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u043d\u0430\u0437\u0432\u0430\u0442\u044c \u0430\u0440\u0445\u0438\u0432<\/h3>\n<p>\u0412\u0441\u0435 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0438 \u0418\u0418 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u044b \u0432 \u043e\u0434\u043d\u043e\u043c \u0440\u0435\u0435\u0441\u0442\u0440\u0435: \u043c\u043e\u0434\u0435\u043b\u044c, \u043b\u0438\u043c\u0438\u0442 \u0432\u0445\u043e\u0434\u0430 \u0432 \u0441\u0438\u043c\u0432\u043e\u043b\u0430\u0445, \u043b\u0438\u043c\u0438\u0442 \u043e\u0442\u0432\u0435\u0442\u0430 \u0432 \u0442\u043e\u043a\u0435\u043d\u0430\u0445, \u0442\u0430\u0439\u043c\u0430\u0443\u0442. \u041f\u043b\u0430\u043d\u0430 \u043a\u0430\u0441\u0430\u044e\u0442\u0441\u044f \u0442\u0440\u0438:<\/p>\n<pre><code class=\"java\">add(new Scenario(\"plan_place\",    ModelTier.LITE, 3000,  40,  5, false, false, Set.of()));add(new Scenario(\"plan_explain\",  ModelTier.LITE, 2400, 220,  8, false, false, Set.of()));add(new Scenario(\"letter_assist\", ModelTier.LITE, 3200, 420, 10, true,  false, Set.of()));<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u0412\u0441\u0435 \u0442\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u043d\u0430 YandexGPT 5 Lite \u0447\u0435\u0440\u0435\u0437 Yandex AI Studio. \u041a\u0430\u0436\u0434\u044b\u0439 \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0441\u0432\u043e\u0438\u043c \u0444\u043b\u0430\u0433\u043e\u043c, \u0438 \u0431\u0435\u0437 \u043d\u0438\u0445 \u043f\u043b\u0430\u043d \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u0442\u0430\u043a \u0436\u0435: \u044f\u0434\u0440\u043e \u043e \u043c\u043e\u0434\u0435\u043b\u0438 \u043d\u0435 \u0437\u043d\u0430\u0435\u0442.<\/p>\n<p><code><strong>plan_place<\/strong><\/code><strong>: \u043c\u043e\u0434\u0435\u043b\u044c \u043a\u0430\u043a \u043a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0432 \u0437\u0430\u043a\u0440\u044b\u0442\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a.<\/strong> \u042d\u0442\u043e \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u043c\u0435\u0441\u0442\u043e, \u0433\u0434\u0435 \u043c\u043e\u0434\u0435\u043b\u044c \u043a\u0430\u0441\u0430\u0435\u0442\u0441\u044f \u0433\u0435\u043e\u0433\u0440\u0430\u0444\u0438\u0438, \u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u0432\u0445\u043e\u0434 \u2014 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442: \u043e\u043f\u0435\u0447\u0430\u0442\u043a\u0438, \u0441\u0442\u0430\u0440\u044b\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f, \u00ab\u0441. \u041f\u043e\u043a\u0440\u043e\u0432\u0441\u043a\u043e\u0435 \u0420\u044f\u0436\u0441\u043a\u043e\u0433\u043e \u0443.\u00bb. \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0438\u0434\u0451\u0442 \u0446\u0435\u043f\u043e\u0447\u043a\u0430 \u0431\u0435\u0437 \u043c\u043e\u0434\u0435\u043b\u0438: \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a \u0440\u0435\u0433\u0438\u043e\u043d\u043e\u0432 \u0438 \u0441\u0442\u0440\u0430\u043d, \u0441\u043b\u043e\u0432\u0430\u0440\u044c \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0439, \u0440\u0435\u0433\u0438\u043e\u043d, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u044d\u0442\u0430 \u0441\u0435\u043c\u044c\u044f \u0443\u0436\u0435 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u043b\u0430 \u0434\u043b\u044f \u0442\u0430\u043a\u043e\u0433\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f, \u043e\u0431\u0449\u0438\u0439 \u043a\u044d\u0448. \u041c\u043e\u0434\u0435\u043b\u044c \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439, \u0432\u0438\u0434\u0438\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0435\u043a\u0441\u0442 \u043c\u0435\u0441\u0442\u0430 \u0438 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u043f\u043e \u0441\u0445\u0435\u043c\u0435:<\/p>\n<pre><code class=\"json\">{\"type\": \"object\", \"required\": [\"code\", \"confidence\"], \"properties\": {   \"code\":       {\"type\": \"string\", \"enum\": [\"AD\", \"AL\", \"BA\", \"\u2026\", \"unknown\"]},   \"confidence\": {\"type\": \"string\", \"enum\": [\"high\", \"low\"]}}}<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>Enum \u2014 \u044d\u0442\u043e \u043a\u043e\u0434\u044b \u0438\u0437 \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a\u0430. \u0421\u0445\u0435\u043c\u0435 \u044f \u0442\u043e\u0436\u0435 \u043d\u0435 \u0434\u043e\u0432\u0435\u0440\u044f\u044e, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u0442\u0432\u0435\u0442 \u043f\u0435\u0440\u0435\u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442\u0441\u044f:<\/p>\n<pre><code class=\"java\">String code = shortCode(node.path(\"code\").asText(\"\").trim());if (!UNKNOWN_CODE.equals(code) &amp;&amp; !offeredCodes.contains(code)) {    return Optional.empty();}<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u041e\u0442\u0432\u0435\u0442 \u043c\u043e\u0434\u0435\u043b\u0438 \u2014 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0435. \u0427\u0435\u043b\u043e\u0432\u0435\u043a \u0432\u0438\u0434\u0438\u0442 \u0432\u043e\u043f\u0440\u043e\u0441, \u0438 \u0440\u0435\u0433\u0438\u043e\u043d \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043a \u043f\u043b\u0430\u043d\u0443 \u043f\u043e\u0441\u043b\u0435 \u0435\u0433\u043e \u00ab\u0414\u0430\u00bb. \u041a\u044d\u0448\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e <code>high<\/code>, \u0430 \u043f\u043e\u0434\u0441\u043a\u0430\u0437\u043a\u0443, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0441\u0435\u043c\u044c\u0438 \u043e\u0442\u043a\u043b\u043e\u043d\u0438\u043b\u0438 \u0442\u0440\u0438 \u0440\u0430\u0437\u0430 (\u0438 \u0447\u0430\u0449\u0435, \u0447\u0435\u043c \u043f\u0440\u0438\u043d\u044f\u043b\u0438), \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e\u0442. \u0410\u0440\u0445\u0438\u0432 \u043f\u043e-\u043f\u0440\u0435\u0436\u043d\u0435\u043c\u0443 \u0431\u0435\u0440\u0451\u0442\u0441\u044f \u0438\u0437 \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a\u0430 \u043f\u043e \u043a\u043e\u0434\u0443.<\/p>\n<p><code><strong>plan_explain<\/strong><\/code><strong>: \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u0435\u0440\u0432\u0435\u0440.<\/strong> \u041c\u043e\u0434\u0435\u043b\u044c \u043e\u0431\u044a\u044f\u0441\u043d\u044f\u0435\u0442 \u043f\u0440\u043e\u0441\u0442\u044b\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u043c\u0438, \u043f\u043e\u0447\u0435\u043c\u0443 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0448\u0430\u0433 \u0438\u043c\u0435\u043d\u043d\u043e \u0442\u0430\u043a\u043e\u0439. \u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0430\u0440\u0445\u0438\u0432\u0430 \u0435\u0439 \u043f\u0438\u0441\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u0435\u0449\u0435\u043d\u043e, \u0432\u043c\u0435\u0441\u0442\u043e \u043d\u0435\u0433\u043e \u043e\u043d\u0430 \u0441\u0442\u0430\u0432\u0438\u0442 \u043f\u043b\u0435\u0439\u0441\u0445\u043e\u043b\u0434\u0435\u0440:<\/p>\n<pre><code class=\"java\">\"\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0430\u0440\u0445\u0438\u0432\u0430 \u0438\u043b\u0438 \u0431\u0430\u0437\u044b \u043d\u0435 \u043f\u0438\u0448\u0438 \u2014 \u0432\u043c\u0435\u0441\u0442\u043e \u043d\u0435\u0433\u043e \u043e\u0434\u0438\u043d \u0440\u0430\u0437 \u043f\u043e\u0441\u0442\u0430\u0432\u044c {\u0418\u0421\u0422\u041e\u0427\u041d\u0418\u041a}, \u0441\u0435\u0440\u0432\u0435\u0440 \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u0438\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435, \"        + \"\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0441\u043b\u0438 \u043d\u0438\u0436\u0435 \u0441\u043a\u0430\u0437\u0430\u043d\u043e, \u0447\u0442\u043e \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u0435\u0441\u0442\u044c.\"<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u042d\u0442\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u043f\u043e\u044f\u0432\u0438\u043b\u043e\u0441\u044c \u043f\u043e\u0441\u043b\u0435 \u0436\u0438\u0432\u043e\u0433\u043e \u043f\u0440\u043e\u0433\u043e\u043d\u0430: Lite \u0441\u0430\u043c\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043b\u0430 \u00ab\u043d\u0430\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u0430\u0440\u0445\u0438\u0432\u044b \u041a\u0430\u0437\u0430\u0445\u0441\u0442\u0430\u043d\u0430\u00bb \u0438 \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u043b\u0430 <code>{\u0418\u0421\u0422\u041e\u0427\u041d\u0418\u041a}<\/code> \u0442\u0430\u043c, \u0433\u0434\u0435 \u0443 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0433\u043e \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430 \u043d\u0435 \u0431\u044b\u043b\u043e. \u0422\u0430\u043a\u043e\u0439 \u043e\u0442\u0432\u0435\u0442 \u0441\u0435\u0440\u0432\u0435\u0440 \u043e\u0442\u043a\u043b\u043e\u043d\u044f\u0435\u0442.<\/p>\n<p><code><strong>letter_assist<\/strong><\/code><strong>: \u0434\u0432\u0430 \u0431\u043b\u043e\u043a\u0430 \u0432 \u0433\u043e\u0442\u043e\u0432\u043e\u0435 \u043f\u0438\u0441\u044c\u043c\u043e.<\/strong> \u041f\u0438\u0441\u044c\u043c\u043e \u0432 \u0430\u0440\u0445\u0438\u0432 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442 \u0434\u0435\u0442\u0435\u0440\u043c\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043a\u043e\u0434. \u041c\u043e\u0434\u0435\u043b\u044c \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u0432 \u043d\u0435\u0433\u043e \u00ab\u0427\u0442\u043e \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e \u043e \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0435\u00bb \u0438\u0437 \u0444\u0430\u043a\u0442\u043e\u0432 \u0434\u0440\u0435\u0432\u0430 \u0438 \u0444\u043e\u0440\u043c\u0443\u043b\u0438\u0440\u043e\u0432\u043a\u0443 \u043f\u0440\u043e\u0441\u044c\u0431\u044b. \u0410\u0434\u0440\u0435\u0441, \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0430\u0440\u0445\u0438\u0432\u0430 \u0438 \u043d\u043e\u043c\u0435\u0440 \u0444\u043e\u043d\u0434\u0430 \u043e\u043d\u0430 \u043d\u0435 \u043f\u0438\u0448\u0435\u0442, \u0438\u043c\u0451\u043d \u043b\u044e\u0434\u0435\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0436\u0438\u0432\u044b, \u043d\u0435 \u0432\u0438\u0434\u0438\u0442. \u0415\u0441\u043b\u0438 \u0432 \u043f\u0438\u0441\u044c\u043c\u0435 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u043e \u043c\u0435\u0441\u0442\u043e \u0434\u043b\u044f \u0432\u0441\u0442\u0430\u0432\u043a\u0438, \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0435 \u043f\u0438\u0441\u044c\u043c\u043e: \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u043e\u0435 \u043d\u0430\u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0443 \u043f\u0438\u0441\u044c\u043c\u043e \u0432 \u0430\u0440\u0445\u0438\u0432 \u0445\u0443\u0436\u0435 \u043f\u0440\u043e\u0441\u0442\u043e\u0433\u043e.<\/p>\n<p><strong>\u041e\u0442\u0432\u0435\u0442 \u043c\u043e\u0434\u0435\u043b\u0438 \u2014 \u043d\u0435\u0434\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u0439 \u0432\u0432\u043e\u0434.<\/strong> \u0412\u0441\u0435 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u0441\u044b\u043b\u0430\u044e\u0442\u0441\u044f \u043d\u0430 \u0444\u0430\u043a\u0442\u044b, \u043f\u0440\u043e\u0445\u043e\u0434\u044f\u0442 \u0447\u0435\u0440\u0435\u0437 \u043e\u0434\u0438\u043d \u0432\u0430\u043b\u0438\u0434\u0430\u0442\u043e\u0440 \u0441 \u0434\u0435\u0441\u044f\u0442\u044c\u044e \u043f\u0440\u0430\u0432\u0438\u043b\u0430\u043c\u0438 (V1\u2013V10). \u041a\u0430\u0436\u0434\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 \u043e\u0442\u0432\u0435\u0442\u0430 \u043e\u0431\u044f\u0437\u0430\u043d\u0430 \u0441\u043e\u0441\u043b\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u0438\u0437 \u0431\u043b\u043e\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445. \u041a\u0430\u0436\u0434\u043e\u0435 \u0442\u0440\u0451\u0445- \u0438\u043b\u0438 \u0447\u0435\u0442\u044b\u0440\u0451\u0445\u0437\u043d\u0430\u0447\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e \u0432 \u043d\u0435\u0439 \u0434\u043e\u043b\u0436\u043d\u043e \u0441\u0442\u043e\u044f\u0442\u044c \u0432 \u043f\u0440\u043e\u0446\u0438\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0435:<\/p>\n<pre><code class=\"java\">\/\/ V3: every 3-4 digit number must stand in a cited source.Matcher numbers = NUMBER.matcher(body);while (numbers.find()) {    if (!citedNumbers.contains(numbers.group())) {        failed.add(Rule.V3_NUMBERS);        break;    }}<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u0422\u043e \u0436\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u0434\u0435\u0439\u0441\u0442\u0432\u0443\u0435\u0442 \u0434\u043b\u044f \u0441\u043b\u043e\u0432 \u0441 \u0437\u0430\u0433\u043b\u0430\u0432\u043d\u043e\u0439 \u0431\u0443\u043a\u0432\u044b \u0432 \u0441\u0435\u0440\u0435\u0434\u0438\u043d\u0435 \u0444\u0440\u0430\u0437\u044b, \u0442\u043e \u0435\u0441\u0442\u044c \u0434\u043b\u044f \u0438\u043c\u0451\u043d \u0438 \u043c\u0435\u0441\u0442. \u0421\u0442\u0440\u043e\u043a\u0430, \u043d\u0430\u0440\u0443\u0448\u0438\u0432\u0448\u0430\u044f \u043b\u044e\u0431\u043e\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u043e, \u0432\u044b\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f. \u0415\u0441\u043b\u0438 \u0432\u044b\u0431\u0440\u043e\u0448\u0435\u043d\u043e \u0431\u043e\u043b\u044c\u0448\u0435 \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u044b \u0441\u0442\u0440\u043e\u043a, \u0432\u0435\u0441\u044c \u043e\u0442\u0432\u0435\u0442 \u0437\u0430\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0434\u0435\u0442\u0435\u0440\u043c\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c \u0448\u0430\u0431\u043b\u043e\u043d\u043e\u043c.<\/p>\n<p><strong>\u0420\u0435\u0433\u0440\u0435\u0441\u0441 \u043f\u0440\u043e\u043c\u043f\u0442\u043e\u0432.<\/strong> \u041e\u0444\u043b\u0430\u0439\u043d-\u043d\u0430\u0431\u043e\u0440 \u043f\u0440\u043e\u0433\u043e\u043d\u044f\u0435\u0442 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0438 \u043d\u0430 \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0445 \u043e\u0442\u0432\u0435\u0442\u0430\u0445. \u041a\u043b\u044e\u0447 \u0437\u0430\u043f\u0438\u0441\u0438 \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u043c\u043e\u0434\u0435\u043b\u044c, \u043e\u0431\u0430 \u043f\u0440\u043e\u043c\u043f\u0442\u0430 \u0438 JSON-\u0441\u0445\u0435\u043c\u0443, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043b\u044e\u0431\u0430\u044f \u043f\u0440\u0430\u0432\u043a\u0430 \u043f\u0440\u043e\u043c\u043f\u0442\u0430 \u0440\u043e\u043d\u044f\u0435\u0442 \u043d\u0430\u0431\u043e\u0440 \u0441 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435\u043c \u00ab\u043f\u0440\u043e\u043c\u043f\u0442 \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u0441\u044f, \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0448\u0438\u0442\u0435\u00bb. \u0422\u0430\u043a \u043a\u0430\u0436\u0434\u0430\u044f \u043f\u0440\u0430\u0432\u043a\u0430 \u043f\u0440\u043e\u043c\u043f\u0442\u0430 \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 \u0440\u0435\u0432\u044c\u044e. \u0427\u0435\u0441\u0442\u043d\u0430\u044f \u043e\u0433\u043e\u0432\u043e\u0440\u043a\u0430: \u0441\u0435\u0439\u0447\u0430\u0441 \u044d\u0442\u0438 \u0437\u0430\u043f\u0438\u0441\u0438 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u044b \u0440\u0443\u043a\u0430\u043c\u0438, \u0430 \u043d\u0435 \u0441\u043d\u044f\u0442\u044b \u0441 \u043c\u043e\u0434\u0435\u043b\u0438. \u0420\u044f\u0434\u043e\u043c \u043b\u0435\u0436\u0438\u0442 \u043d\u0430\u0431\u043e\u0440 \u0437\u0430\u0432\u0435\u0434\u043e\u043c\u043e \u043f\u043b\u043e\u0445\u0438\u0445 \u043e\u0442\u0432\u0435\u0442\u043e\u0432, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u0441\u0430\u043c \u0432\u0430\u043b\u0438\u0434\u0430\u0442\u043e\u0440. \u0416\u0438\u0432\u044b\u0435 \u043f\u0440\u043e\u0433\u043e\u043d\u044b \u0438\u0434\u0443\u0442 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e, \u0438 \u0432\u044b\u0432\u043e\u0434\u044b \u0438\u0437 \u043d\u0438\u0445 \u043e\u0441\u0435\u0434\u0430\u044e\u0442 \u0432 \u0442\u0435\u043a\u0441\u0442\u0435 \u043f\u0440\u043e\u043c\u043f\u0442\u043e\u0432.<\/p>\n<p>\u041f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0441 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u043e\u043c <code>x-data-logging-enabled: false<\/code> \u0438 \u043d\u0430\u0442\u0438\u0432\u043d\u044b\u043c \u043f\u043e\u043b\u0435\u043c <code>jsonSchema<\/code>. \u0412 \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u043e, \u0447\u0442\u043e \u0441\u0435\u043c\u0435\u0439\u043d\u044b\u0435 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b \u0438 \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0434\u043b\u044f \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u043c\u043e\u0434\u0435\u043b\u0435\u0439.<\/p>\n<p>\u041f\u043e\u0431\u043e\u0447\u043d\u044b\u0439 \u044d\u0444\u0444\u0435\u043a\u0442 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b \u043a\u0430\u0441\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u043e\u0441\u0442\u0438. \u0412 \u043f\u0443\u0442\u0438 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u043f\u043b\u0430\u043d\u0430 \u043d\u0435\u0442 \u043d\u0438 \u043c\u043e\u0434\u0435\u043b\u0438, \u043d\u0438 \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0438\u0445 HTTP-\u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432: \u0441\u0441\u044b\u043b\u043a\u0438 \u043d\u0430 \u0432\u043d\u0435\u0448\u043d\u0438\u0435 \u0431\u0430\u0437\u044b \u2014 \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e URL, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u0447\u0435\u043b\u043e\u0432\u0435\u043a. \u0417\u043d\u0430\u0447\u0438\u0442, \u0444\u0430\u043c\u0438\u043b\u0438\u044e \u043d\u0435\u0437\u0430\u0447\u0435\u043c \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0443. \u0412 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u0439 \u0444\u043e\u0440\u043c\u0435 \u043e\u043d\u0430 \u0435\u0434\u0435\u0442 \u0432 \u0442\u0435\u043b\u0435 POST, \u0430 \u043d\u0435 \u0432 \u0430\u0434\u0440\u0435\u0441\u0435, \u0438 \u043d\u0435 \u043f\u043e\u043f\u0430\u0434\u0430\u0435\u0442 \u0432 \u0436\u0443\u0440\u043d\u0430\u043b \u0434\u043e\u0441\u0442\u0443\u043f\u0430.<\/p>\n<h3>\u041f\u043e\u043f\u0443\u0442\u043d\u043e: SPA, noindex \u0438 Disallow<\/h3>\n<p>\u0420\u0430\u043d\u044c\u0448\u0435 nginx \u043e\u0442\u0434\u0430\u0432\u0430\u043b \u043e\u0431\u043e\u043b\u043e\u0447\u043a\u0443 SPA \u043d\u0430 \u043b\u044e\u0431\u043e\u0439 \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u0430\u0434\u0440\u0435\u0441. \u041a\u0430\u0436\u0434\u0430\u044f \u0441\u0441\u044b\u043b\u043a\u0430-\u043f\u0440\u0438\u0433\u043b\u0430\u0448\u0435\u043d\u0438\u0435 <code>\/invite\/&lt;id&gt;<\/code> \u0438 \u043a\u0430\u0436\u0434\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u0437\u0430\u043a\u0430\u0437\u0430 <code>\/order\/result\/&lt;id&gt;<\/code> \u043e\u0442\u0432\u0435\u0447\u0430\u043b\u0438 200 \u0441 title, description \u0438 canonical \u0433\u043b\u0430\u0432\u043d\u043e\u0439. \u0414\u043b\u044f \u043f\u043e\u0438\u0441\u043a\u043e\u0432\u0438\u043a\u0430 \u044d\u0442\u043e \u0431\u0435\u0441\u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0435 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0434\u0443\u0431\u043b\u0435\u0439.<\/p>\n<p>\u041d\u0435\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u0430\u0434\u0440\u0435\u0441 \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0439 404, \u043d\u043e \u0441 \u0442\u0435\u043b\u043e\u043c \u043e\u0431\u043e\u043b\u043e\u0447\u043a\u0438, \u0447\u0442\u043e\u0431\u044b \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u0438\u0439 \u0440\u043e\u0443\u0442\u0435\u0440 \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u0430\u043b \u0441\u0432\u043e\u044e \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443:<\/p>\n<pre><code class=\"nginx\">location \/ {    try_files $uri$br_page $uri.html$br_page $uri $uri.html $uri\/ =404;    error_page 404 @not_found_shell;   # \u0431\u0435\u0437 \"=\": \u043a\u043e\u0434 404 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f}location @not_found_shell {    add_header X-Robots-Tag \"noindex\" always;    try_files \/404.html \/app-shell.html;}<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u0415\u0441\u043b\u0438 \u0432 <code>error_page<\/code> \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c <code>=<\/code>, nginx \u0432\u043e\u0437\u044c\u043c\u0451\u0442 \u043a\u043e\u0434 \u043e\u0442\u0432\u0435\u0442\u0430 \u0438\u0437 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e location, \u0442\u043e \u0435\u0441\u0442\u044c 200, \u0432\u0435\u0434\u044c <code>\/404.html<\/code> \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442.<\/p>\n<p>\u0421\u043b\u0443\u0436\u0435\u0431\u043d\u044b\u0435 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u044b \u043e\u0442\u0432\u0435\u0447\u0430\u044e\u0442 200 \u0441 <code>X-Robots-Tag: noindex, nofollow<\/code>. \u0417\u0434\u0435\u0441\u044c \u0432\u0442\u043e\u0440\u0430\u044f \u043b\u043e\u0432\u0443\u0448\u043a\u0430. \u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442 <code>try_files<\/code> \u2014 \u044d\u0442\u043e \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 \u0440\u0435\u0434\u0438\u0440\u0435\u043a\u0442, \u0438 \u043f\u043e\u0441\u043b\u0435 \u043d\u0435\u0433\u043e \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e location \u0443\u0436\u0435 \u043d\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0443\u044e\u0442. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u043f\u0440\u043e\u0434\u0443\u0431\u043b\u0438\u0440\u043e\u0432\u0430\u043d \u0432 location \u0441\u0430\u043c\u043e\u0439 \u043e\u0431\u043e\u043b\u043e\u0447\u043a\u0438:<\/p>\n<pre><code class=\"nginx\">location ~ ^\/(?:auth|login|register|forgot-password|reset-password|payments|onboarding|invite|referral|order|branch)(?:\/|$) {    add_header X-Robots-Tag \"noindex, nofollow\" always;    try_files $uri $uri.html \/app-shell.html;}location = \/app-shell.html {    # try_files internally redirects here; headers from the original location no longer apply.    add_header X-Robots-Tag \"noindex, nofollow\" always;    # \u2026}<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043e \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0443 \u043c\u0435\u043d\u044f \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f. \u0422\u0435 \u0436\u0435 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u044b \u0437\u0430\u043a\u0440\u044b\u0442\u044b \u0432 robots.txt \u0447\u0435\u0440\u0435\u0437 <code>Disallow<\/code>. Google \u043f\u0440\u044f\u043c\u043e \u043f\u0438\u0448\u0435\u0442, \u0447\u0442\u043e <code>noindex<\/code> \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0441\u043b\u0438 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u043d\u0435 \u0437\u0430\u043a\u0440\u044b\u0442\u0430 \u0432 robots.txt: \u0438\u043d\u0430\u0447\u0435 \u0440\u043e\u0431\u043e\u0442 \u043d\u0435 \u0441\u043a\u0430\u0447\u0430\u0435\u0442 \u0435\u0451 \u0438 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 \u043d\u0435 \u0443\u0432\u0438\u0434\u0438\u0442. URL, \u043d\u0430\u0439\u0434\u0435\u043d\u043d\u044b\u0439 \u043f\u043e \u0432\u043d\u0435\u0448\u043d\u0435\u0439 \u0441\u0441\u044b\u043b\u043a\u0435, \u043c\u043e\u0436\u0435\u0442 \u043e\u0441\u0442\u0430\u0442\u044c\u0441\u044f \u0432 \u0438\u043d\u0434\u0435\u043a\u0441\u0435 \u0431\u0435\u0437 \u0441\u043d\u0438\u043f\u043f\u0435\u0442\u0430. \u0414\u043b\u044f \u043d\u043e\u0432\u044b\u0445 \u0430\u0434\u0440\u0435\u0441\u043e\u0432 \u043c\u0435\u043d\u044f \u044d\u0442\u043e \u0443\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442: \u0438\u0445 \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0435 \u0431\u0443\u0434\u0443\u0442 \u043e\u0431\u0445\u043e\u0434\u0438\u0442\u044c. \u0415\u0441\u043b\u0438 \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u0430\u0434\u0440\u0435\u0441\u0430 \u0443\u0436\u0435 \u043f\u043e\u043f\u0430\u043b\u0438 \u0432 \u0438\u043d\u0434\u0435\u043a\u0441, \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0434\u0440\u0443\u0433\u043e\u0439: \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0441\u043d\u044f\u0442\u044c <code>Disallow<\/code>, \u043e\u0442\u0434\u0430\u0432\u0430\u0442\u044c <code>noindex<\/code>, \u0434\u043e\u0436\u0434\u0430\u0442\u044c\u0441\u044f \u0432\u044b\u043f\u0430\u0434\u0435\u043d\u0438\u044f \u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0442\u043e\u043c \u0437\u0430\u043a\u0440\u044b\u0442\u044c \u043e\u0431\u0440\u0430\u0442\u043d\u043e. \u0414\u043b\u044f \u042f\u043d\u0434\u0435\u043a\u0441\u0430 \u0441\u0442\u043e\u0438\u0442 \u0435\u0449\u0451 \u043e\u0434\u043d\u0430 \u0441\u0442\u0440\u043e\u043a\u0430, \u0431\u0435\u0437 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043a\u0430\u0436\u0434\u044b\u0439 \u043a\u043b\u0438\u043a \u0438\u0437 \u0440\u0435\u043a\u043b\u0430\u043c\u044b \u043f\u043e\u0440\u043e\u0436\u0434\u0430\u0435\u0442 \u043d\u043e\u0432\u044b\u0439 \u0430\u0434\u0440\u0435\u0441 \u0432 \u0438\u043d\u0434\u0435\u043a\u0441\u0435:<\/p>\n<pre><code>Clean-param: utm_source&amp;utm_medium&amp;utm_campaign&amp;utm_content&amp;utm_term&amp;yclid&amp;gclid&amp;_openstat&amp;from&amp;partner&amp;ref&amp;returnTo<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<h3>\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f, \u043e \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u044f \u0437\u043d\u0430\u044e<\/h3>\n<ul>\n<li>\n<p><strong>\u041e\u0434\u043d\u0430 \u0433\u0440\u0430\u043d\u0438\u0446\u0430 \u0433\u043e\u0434\u0430 \u043d\u0430 \u0437\u0430\u043f\u0438\u0441\u044c, \u0430 \u043d\u0435 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u044b.<\/strong> \u0421\u0442\u0430\u0432\u0440\u043e\u043f\u043e\u043b\u044c-\u043d\u0430-\u0412\u043e\u043b\u0433\u0435 \u0431\u044b\u043b \u0432 \u041e\u0440\u0435\u043d\u0431\u0443\u0440\u0433\u0441\u043a\u043e\u0439 \u0433\u0443\u0431\u0435\u0440\u043d\u0438\u0438 \u0432 1744\u20131796 \u0433\u043e\u0434\u0430\u0445, \u0432 \u0421\u0438\u043c\u0431\u0438\u0440\u0441\u043a\u043e\u0439 \u0432 1796\u20131851-\u043c, \u0432 \u0421\u0430\u043c\u0430\u0440\u0441\u043a\u043e\u0439 \u0441 1851-\u0433\u043e. \u041c\u0435\u0442\u0440\u0438\u043a\u0438 \u0434\u043e 1851 \u0433\u043e\u0434\u0430 \u043d\u0443\u0436\u043d\u043e \u0438\u0441\u043a\u0430\u0442\u044c \u0432 \u0430\u0440\u0445\u0438\u0432\u0435 \u0421\u0438\u043c\u0431\u0438\u0440\u0441\u043a\u043e\u0439 \u043a\u043e\u043d\u0441\u0438\u0441\u0442\u043e\u0440\u0438\u0438. \u0417\u0430\u043f\u0438\u0441\u044c \u0432 \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a\u0435 \u0442\u0430\u043a \u0438 \u0433\u043e\u0432\u043e\u0440\u0438\u0442, \u0447\u0442\u043e \u0441\u043b\u043e\u0439 \u043f\u043e\u043a\u0430 \u043d\u0435 \u0440\u0430\u0437\u043b\u0438\u0447\u0430\u0435\u0442 \u0434\u0430\u0442\u0443 \u0441\u043e\u0431\u044b\u0442\u0438\u044f.<\/p>\n<\/li>\n<li>\n<p><strong>\u0423\u0435\u0437\u0434 \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d \u043a \u0440\u0435\u0433\u0438\u043e\u043d\u0443, \u0433\u0434\u0435 \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u0435\u0433\u043e \u0446\u0435\u043d\u0442\u0440.<\/strong> \u0423\u0435\u0437\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0440\u0430\u0437\u043e\u0448\u0451\u043b\u0441\u044f \u043f\u043e \u0434\u0432\u0443\u043c \u043e\u0431\u043b\u0430\u0441\u0442\u044f\u043c, \u0434\u043b\u044f \u043e\u043a\u0440\u0430\u0438\u043d\u043d\u044b\u0445 \u0441\u0451\u043b \u0434\u0430\u0451\u0442 \u043d\u0435 \u0442\u043e\u0442 \u0440\u0435\u0433\u0438\u043e\u043d. \u0412 \u043a\u0430\u0440\u0442\u043e\u0447\u043a\u0435 \u043c\u0435\u0442\u0440\u0438\u043a \u0435\u0441\u0442\u044c \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435: \u00ab\u0415\u0441\u043b\u0438 \u0441\u0435\u043b\u043e \u0440\u0430\u043d\u044c\u0448\u0435 \u043e\u0442\u043d\u043e\u0441\u0438\u043b\u043e\u0441\u044c \u043a \u0434\u0440\u0443\u0433\u043e\u0439 \u0433\u0443\u0431\u0435\u0440\u043d\u0438\u0438, \u0447\u0430\u0441\u0442\u044c \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u043c\u043e\u0436\u0435\u0442 \u0445\u0440\u0430\u043d\u0438\u0442\u044c\u0441\u044f \u0432 \u0430\u0440\u0445\u0438\u0432\u0435 \u0441\u043e\u0441\u0435\u0434\u043d\u0435\u0439 \u043e\u0431\u043b\u0430\u0441\u0442\u0438\u00bb.<\/p>\n<\/li>\n<li>\n<p><strong>\u00ab\u0413\u0443\u0431\u0435\u0440\u043d\u0441\u043a\u0438\u0439 \u0433\u043e\u0440\u043e\u0434 = \u0430\u0440\u0445\u0438\u0432 \u043a\u043e\u043d\u0441\u0438\u0441\u0442\u043e\u0440\u0438\u0438\u00bb \u2014 \u044d\u0442\u043e \u044d\u0432\u0440\u0438\u0441\u0442\u0438\u043a\u0430.<\/strong> \u0413\u0440\u0430\u043d\u0438\u0446\u044b \u0435\u043f\u0430\u0440\u0445\u0438\u0439 \u0438 \u0433\u0443\u0431\u0435\u0440\u043d\u0438\u0439 \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u043b\u0438, \u043d\u043e \u043d\u0435 \u0432\u0435\u0437\u0434\u0435. \u0424\u043e\u043d\u0434 \u043a\u043e\u043d\u0441\u0438\u0441\u0442\u043e\u0440\u0438\u0438 \u043d\u0430\u0437\u0432\u0430\u043d \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0430\u043c, \u0433\u0434\u0435 \u0443 \u043d\u0435\u0433\u043e \u0435\u0441\u0442\u044c \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a: \u0434\u043b\u044f \u041c\u043e\u0441\u043a\u0432\u044b \u044d\u0442\u043e \u0444. 203 \u0426\u0413\u0410 \u041c\u043e\u0441\u043a\u0432\u044b, \u0441\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u0439 \u043f\u043e \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0443 \u0430\u0440\u0445\u0438\u0432\u0430.<\/p>\n<\/li>\n<li>\n<p><strong>\u00ab\u041f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043e\u00bb \u0443 \u043e\u0431\u0449\u0435\u0440\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0438\u0445 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u0432 \u0441\u043b\u0430\u0431\u0435\u0435, \u0447\u0435\u043c \u0443 \u0430\u0440\u0445\u0438\u0432\u043e\u0432.<\/strong> \u0423 38 \u0438\u0437 52 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u0432 \u0441\u0442\u043e\u0438\u0442 <code>verified<\/code>, \u043d\u043e \u044d\u0442\u043e HTTP 200 \u043d\u0430 <code>curl -I -L<\/code> \u0441 \u043c\u0430\u0448\u0438\u043d\u044b \u0432\u043d\u0435 \u0420\u043e\u0441\u0441\u0438\u0438. \u0412 \u0441\u0430\u043c\u043e\u043c \u0444\u0430\u0439\u043b\u0435 \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u043e, \u0447\u0442\u043e \u043a\u0430\u0436\u0434\u0443\u044e \u0437\u0430\u043f\u0438\u0441\u044c \u043d\u0443\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0438\u0437 \u0440\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u043e\u0439 \u0441\u0435\u0442\u0438, \u0438 \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0435\u0441\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442.<\/p>\n<\/li>\n<li>\n<p><strong>\u0417\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0435 \u043e\u0442\u0432\u0435\u0442\u044b \u043c\u043e\u0434\u0435\u043b\u0438 \u043f\u043e\u043a\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u044b \u0440\u0443\u043a\u0430\u043c\u0438.<\/strong> \u041d\u0430\u0431\u043e\u0440 \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0430 \u043b\u043e\u0432\u0438\u0442 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u043c\u043f\u0442\u0430, \u043d\u043e \u043d\u0435 \u0434\u0440\u0435\u0439\u0444 \u043c\u043e\u0434\u0435\u043b\u0438.<\/p>\n<\/li>\n<\/ul>\n<h3>\u0427\u0442\u043e \u0431\u044b \u044f \u0441\u0434\u0435\u043b\u0430\u043b \u0438\u043d\u0430\u0447\u0435<\/h3>\n<ol>\n<li>\n<p><strong>\u0418\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u044b \u0441 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0434\u043d\u044f.<\/strong> \u0412\u043c\u0435\u0441\u0442\u043e \u043f\u0430\u0440\u044b <code>archiveRegionCode<\/code> \/ <code>archiveUntilYear<\/code> \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a <code>{regionCode, from, to}<\/code>. \u041c\u0438\u0433\u0440\u0430\u0446\u0438\u044f \u043e\u0434\u043d\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438 \u043d\u0430 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u044b \u0434\u0435\u0448\u0435\u0432\u043b\u0435, \u0447\u0435\u043c \u043e\u0431\u044a\u044f\u0441\u043d\u044f\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e, \u043f\u043e\u0447\u0435\u043c\u0443 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 1840 \u0433\u043e\u0434\u0430 \u0438\u0449\u0443\u0442 \u043d\u0435 \u0442\u0430\u043c.<\/p>\n<\/li>\n<li>\n<p><strong>\u0421\u043d\u0430\u0447\u0430\u043b\u0430 golden-\u0442\u0430\u0431\u043b\u0438\u0446\u0430, \u043f\u043e\u0442\u043e\u043c \u043f\u0440\u0430\u0432\u0438\u043b\u0430.<\/strong> \u0422\u0430\u0431\u043b\u0438\u0446\u0430 \u0438\u0437 \u0441\u0435\u043c\u043d\u0430\u0434\u0446\u0430\u0442\u0438 \u0441\u0442\u0440\u043e\u043a \u2014 \u043b\u0443\u0447\u0448\u0438\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442 \u043e \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0443 \u043c\u0435\u043d\u044f \u0435\u0441\u0442\u044c. \u0415\u0451 \u0441\u0442\u043e\u0438\u043b\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0434\u043e \u043f\u0435\u0440\u0432\u043e\u0439 \u0441\u0442\u0440\u043e\u0447\u043a\u0438 <code>eras()<\/code>.<\/p>\n<\/li>\n<li>\n<p><strong>\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043f\u0435\u0440\u0435\u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0438\u0437 \u0440\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u043e\u0439 \u0441\u0435\u0442\u0438.<\/strong> \u0422\u0435\u0441\u0442 \u0441\u0432\u0435\u0436\u0435\u0441\u0442\u0438 \u0433\u043e\u0432\u043e\u0440\u0438\u0442, \u0447\u0442\u043e \u0437\u0430\u043f\u0438\u0441\u044c \u0443\u0441\u0442\u0430\u0440\u0435\u043b\u0430, \u043d\u043e \u043f\u0435\u0440\u0435\u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u043f\u043e\u043a\u0430 \u0434\u0435\u043b\u0430\u0435\u0442 \u0447\u0435\u043b\u043e\u0432\u0435\u043a.<\/p>\n<\/li>\n<\/ol>\n<p>\u0421\u0442\u0435\u043a, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u0441\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u043b\u0438: \u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434 \u2014 React 18 \u0438 Vite 6, \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u043f\u0440\u0435\u0440\u0435\u043d\u0434\u0435\u0440\u044f\u0442\u0441\u044f \u043f\u0440\u0438 \u0441\u0431\u043e\u0440\u043a\u0435. \u0411\u044d\u043a\u0435\u043d\u0434 \u2014 Java 17 \u0438 Spring Boot 3.5, PostgreSQL. \u0412\u0441\u0451 \u0432 Docker Compose \u0432 Yandex Cloud: \u0441\u043d\u0430\u0440\u0443\u0436\u0438 Caddy, \u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0435 \u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434\u0430 nginx.<\/p>\n<p>\u0418\u0442\u043e\u0433 \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0439. \u041c\u043e\u0434\u0435\u043b\u044c \u0445\u043e\u0440\u043e\u0448\u043e \u043f\u0438\u0448\u0435\u0442 \u0442\u0435\u043a\u0441\u0442 \u0438 \u043f\u043b\u043e\u0445\u043e \u0434\u0435\u0440\u0436\u0438\u0442 \u0444\u0430\u043a\u0442\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f: \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0430\u0440\u0445\u0438\u0432\u043e\u0432, \u0438\u0445 \u0441\u0430\u0439\u0442\u044b, \u0433\u0440\u0430\u043d\u0438\u0446\u044b \u0443\u0435\u0437\u0434\u043e\u0432. \u0412 \u0433\u0435\u043d\u0435\u0430\u043b\u043e\u0433\u0438\u0438 \u0432\u0430\u0436\u043d\u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u0432\u0442\u043e\u0440\u0430\u044f \u0447\u0430\u0441\u0442\u044c. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0444\u0430\u043a\u0442\u044b \u043b\u0435\u0436\u0430\u0442 \u0432 \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0430\u0432\u0438\u0442 \u0447\u0435\u043b\u043e\u0432\u0435\u043a \u0447\u0435\u0440\u0435\u0437 PR, \u0430 \u043c\u043e\u0434\u0435\u043b\u044c \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0442\u0430\u043c, \u0433\u0434\u0435 \u0435\u0451 \u043e\u0442\u0432\u0435\u0442 \u043b\u0438\u0431\u043e \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u0438\u0437 \u0437\u0430\u043a\u0440\u044b\u0442\u043e\u0433\u043e \u0441\u043f\u0438\u0441\u043a\u0430, \u043b\u0438\u0431\u043e \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 \u0447\u0435\u0440\u0435\u0437 \u0432\u0430\u043b\u0438\u0434\u0430\u0442\u043e\u0440, \u0430 \u0447\u0435\u043b\u043e\u0432\u0435\u043a \u0447\u0438\u0442\u0430\u0435\u0442 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0434\u043e \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u0438\u043c \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f.<\/p>\n<p>\u0421\u0435\u0440\u0432\u0438\u0441 \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f Heritage AI, \u043a\u0440\u0430\u0442\u043a\u0438\u0439 \u043f\u043b\u0430\u043d \u0441\u0442\u0440\u043e\u0438\u0442\u0441\u044f \u0431\u0435\u0437 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438: <a href=\"https:\/\/heritageai.ru\/?utm_source=habr&amp;utm_medium=article&amp;utm_campaign=no-llm\" rel=\"noopener nofollow\">heritageai.ru<\/a>. \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0441\u043b\u043e\u043c\u0430\u0442\u044c \u0435\u0433\u043e \u043d\u0430 \u0441\u0432\u043e\u0451\u043c \u0440\u0435\u0433\u0438\u043e\u043d\u0435 \u0438 \u043d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445, \u0433\u0434\u0435 \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a \u043e\u0448\u0438\u0431\u0441\u044f. \u041e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u043d\u0443\u0436\u043d\u044b \u043c\u0435\u0441\u0442\u0430, \u0433\u0434\u0435 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u044b \u0447\u0430\u0441\u0442\u0438 \u0431\u044b\u0432\u0448\u0435\u0433\u043e \u0443\u0435\u0437\u0434\u0430 \u043b\u0435\u0436\u0430\u0442 \u0432 \u0430\u0440\u0445\u0438\u0432\u0435 \u0441\u043e\u0441\u0435\u0434\u043d\u0435\u0439 \u043e\u0431\u043b\u0430\u0441\u0442\u0438: \u043d\u0430 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u0445 \u043f\u0440\u043e\u0449\u0435 \u0441\u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u044b.<\/p>\n<\/div>\n<p>\u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/1105164\/\">https:\/\/habr.com\/ru\/articles\/1105164\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u042f \u0434\u0435\u043b\u0430\u044e \u0441\u0435\u0440\u0432\u0438\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e \u0444\u0430\u043c\u0438\u043b\u0438\u0438, \u0434\u0435\u0441\u044f\u0442\u0438\u043b\u0435\u0442\u0438\u044e \u0440\u043e\u0436\u0434\u0435\u043d\u0438\u044f \u0438 \u0440\u0435\u0433\u0438\u043e\u043d\u0443 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u043d\u0430 \u0434\u0432\u0430 \u0432\u043e\u043f\u0440\u043e\u0441\u0430: \u043a\u0430\u043a\u0438\u0435 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u044b \u0442\u043e\u0439 \u044d\u043f\u043e\u0445\u0438 \u043c\u043e\u0433\u043b\u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c\u0441\u044f \u0438 \u0432 \u043a\u0430\u043a\u043e\u043c \u0430\u0440\u0445\u0438\u0432\u0435 \u0438\u0445 \u0438\u0441\u043a\u0430\u0442\u044c. \u041e\u0447\u0435\u0432\u0438\u0434\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 2026 \u0433\u043e\u0434\u0430, \u043e\u0434\u0438\u043d \u043f\u0440\u043e\u043c\u043f\u0442, \u044f \u043e\u0442\u0431\u0440\u043e\u0441\u0438\u043b \u0441\u043e\u0437\u043d\u0430\u0442\u0435\u043b\u044c\u043d\u043e: \u043c\u043e\u0434\u0435\u043b\u044c \u0443\u0432\u0435\u0440\u0435\u043d\u043d\u043e \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0430\u0440\u0445\u0438\u0432\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u0430\u0432\u043d\u043e \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u044b, \u0438 \u0444\u043e\u043d\u0434\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043d\u0438\u043a\u0442\u043e \u043d\u0435 \u0432\u0438\u0434\u0435\u043b. \u041d\u0438\u0436\u0435 \u2014 \u043a\u0430\u043a \u0443\u0441\u0442\u0440\u043e\u0435\u043d\u043e \u044f\u0434\u0440\u043e \u0431\u0435\u0437 \u043c\u043e\u0434\u0435\u043b\u0438 (\u0442\u0440\u0438 \u0441\u043b\u043e\u044f JSON-\u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a\u043e\u0432, \u0443 \u043a\u0430\u0436\u0434\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u0438 \u0441\u0442\u0430\u0442\u0443\u0441 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438, \u043f\u043b\u044e\u0441 \u0434\u0435\u0441\u044f\u0442\u043e\u043a \u043f\u0440\u0430\u0432\u0438\u043b), \u0433\u0434\u0435 \u043c\u043e\u0434\u0435\u043b\u044c \u0432\u0441\u0451-\u0442\u0430\u043a\u0438 \u0435\u0441\u0442\u044c \u0438 \u043f\u043e\u0447\u0435\u043c\u0443 \u0442\u0430\u043c \u043e\u043d\u0430 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u043d\u0430\u0437\u0432\u0430\u0442\u044c \u0430\u0440\u0445\u0438\u0432, \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u043e\u0447\u0435\u043d\u044c \u0437\u0430\u0445\u043e\u0447\u0435\u0442.\u041f\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430: \u0447\u0442\u043e \u0437\u0434\u0435\u0441\u044c \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u043e\u0448\u0438\u0431\u043a\u043e\u0439\u041d\u0430 \u0432\u0445\u043e\u0434\u0435 \u0444\u0430\u043c\u0438\u043b\u0438\u044f, \u0434\u0435\u0441\u044f\u0442\u0438\u043b\u0435\u0442\u0438\u0435 \u0438\u043b\u0438 \u0433\u043e\u0434 \u0440\u043e\u0436\u0434\u0435\u043d\u0438\u044f \u0438 \u0440\u0435\u0433\u0438\u043e\u043d. \u0412\u043c\u0435\u0441\u0442\u043e \u0440\u0435\u0433\u0438\u043e\u043d\u0430 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u0439\u0442\u0438 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442 \u043c\u0435\u0441\u0442\u0430 \u0438\u0437 \u043a\u0430\u0440\u0442\u043e\u0447\u043a\u0438 \u0434\u0440\u0435\u0432\u0430: \u00ab\u0441. \u042f\u0433\u043e\u0434\u043d\u043e\u0435, \u0421\u0442\u0430\u0432\u0440\u043e\u043f\u043e\u043b\u044c\u0441\u043a\u0438\u0439 \u0443\u0435\u0437\u0434, \u0421\u0430\u043c\u0430\u0440\u0441\u043a\u0430\u044f \u0433\u0443\u0431\u0435\u0440\u043d\u0438\u044f\u00bb. \u041d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u043f\u043b\u0430\u043d: \u0442\u0438\u043f\u044b \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0442\u043e\u0439 \u044d\u043f\u043e\u0445\u0438 \u0441 \u043f\u043e\u044f\u0441\u043d\u0435\u043d\u0438\u0435\u043c (\u043c\u0435\u0442\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043a\u043d\u0438\u0433\u0438, \u0440\u0435\u0432\u0438\u0437\u0441\u043a\u0438\u0435 \u0441\u043a\u0430\u0437\u043a\u0438, \u0437\u0430\u043f\u0438\u0441\u0438 \u0417\u0410\u0413\u0421\u2026), \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u0439 \u0433\u043e\u0441\u0430\u0440\u0445\u0438\u0432, \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u0440\u043e\u0434\u043d\u044b\u043c, \u0430 \u043f\u043e\u0441\u043b\u0435 \u0432\u0445\u043e\u0434\u0430 \u0432 \u0430\u043a\u043a\u0430\u0443\u043d\u0442 \u0435\u0449\u0451 \u0438 \u0433\u043e\u0442\u043e\u0432\u044b\u0435 \u0441\u0441\u044b\u043b\u043a\u0438 \u043f\u043e\u0438\u0441\u043a\u0430.\u0422\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0439 \u0442\u0440\u0438.\u0414\u0435\u0442\u0435\u0440\u043c\u0438\u043d\u0438\u0437\u043c. \u041e\u0434\u0438\u043d \u0432\u0445\u043e\u0434 \u0434\u0430\u0451\u0442 \u043e\u0434\u0438\u043d \u043f\u043b\u0430\u043d, \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u0438 \u0447\u0435\u0440\u0435\u0437 \u043c\u0435\u0441\u044f\u0446. \u0418\u043d\u0430\u0447\u0435 \u0436\u0430\u043b\u043e\u0431\u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u043d\u0435 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438, \u0430 \u0442\u0435\u0441\u0442 \u043d\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c.\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c\u043e\u0441\u0442\u044c. \u041a\u0430\u0436\u0434\u044b\u0439 \u0444\u0430\u043a\u0442 \u0432 \u043e\u0442\u0432\u0435\u0442\u0435 \u2014 \u044d\u0442\u043e \u0437\u0430\u043f\u0438\u0441\u044c \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438, \u0443 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0435\u0441\u0442\u044c \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u0438 \u0434\u0430\u0442\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438. \u0420\u0435\u0432\u044c\u044e\u0435\u0440 \u0432\u0438\u0434\u0438\u0442 \u0444\u0430\u043a\u0442, \u0430 \u043d\u0435 \u0433\u0430\u0434\u0430\u0435\u0442, \u0447\u0442\u043e \u043c\u043e\u0434\u0435\u043b\u044c \u00ab\u0438\u043c\u0435\u043b\u0430 \u0432 \u0432\u0438\u0434\u0443\u00bb.\u0410\u0441\u0438\u043c\u043c\u0435\u0442\u0440\u0438\u044f \u043e\u0448\u0438\u0431\u043e\u043a. \u041b\u0438\u0448\u043d\u044f\u044f \u0441\u0442\u0440\u043e\u043a\u0430 \u0432 \u043f\u043b\u0430\u043d\u0435 \u0441\u0442\u043e\u0438\u0442 \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0443 \u043c\u0438\u043d\u0443\u0442\u044b. \u041d\u0435\u0432\u0435\u0440\u043d\u044b\u0439 \u0430\u0440\u0445\u0438\u0432 \u0441\u0442\u043e\u0438\u0442 \u043d\u0435\u0434\u0435\u043b\u044c: \u043f\u0438\u0441\u044c\u043c\u043e, \u043d\u0435\u0440\u0435\u0434\u043a\u043e \u043f\u043b\u0430\u0442\u043d\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 \u0438 \u043e\u0442\u0432\u0435\u0442 \u00ab\u0441\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043d\u0435 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u044b\u00bb. \u0425\u0443\u0436\u0435 \u0432\u0441\u0435\u0433\u043e, \u0435\u0441\u043b\u0438 \u043f\u043e\u0441\u043b\u0435 \u0442\u0430\u043a\u043e\u0433\u043e \u043e\u0442\u0432\u0435\u0442\u0430 \u0447\u0435\u043b\u043e\u0432\u0435\u043a \u0440\u0435\u0448\u0438\u0442, \u0447\u0442\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u044b \u043d\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0441\u044c, \u0438 \u0431\u0440\u043e\u0441\u0438\u0442 \u043f\u043e\u0438\u0441\u043a.\u0413\u0434\u0435 \u043c\u043e\u0434\u0435\u043b\u044c \u043e\u0448\u0438\u0431\u0430\u0435\u0442\u0441\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438, \u0430 \u043d\u0435 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e:\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0430\u0440\u0445\u0438\u0432\u043e\u0432. \u0420\u0435\u0433\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u0430\u0440\u0445\u0438\u0432\u044b \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u044b\u0432\u0430\u044e\u0442\u0441\u044f, \u043c\u0435\u043d\u044f\u044e\u0442 \u0441\u0430\u0439\u0442\u044b \u0438 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u043e\u043d\u043d\u0443\u044e \u0444\u043e\u0440\u043c\u0443. \u0412 \u0432\u0435\u0441\u0430\u0445 \u043b\u0435\u0436\u0438\u0442 \u0441\u043c\u0435\u0441\u044c \u0432\u0441\u0435\u0445 \u0432\u0435\u0440\u0441\u0438\u0439 \u0441\u0440\u0430\u0437\u0443.\u0423\u0435\u0437\u0434 \u2260 \u0440\u0430\u0439\u043e\u043d. \u041b\u0438\u043f\u0435\u0446\u043a\u0438\u0439 \u0443\u0435\u0437\u0434 \u0432\u0445\u043e\u0434\u0438\u043b \u0432 \u0422\u0430\u043c\u0431\u043e\u0432\u0441\u043a\u0443\u044e \u0433\u0443\u0431\u0435\u0440\u043d\u0438\u044e. \u0412\u0442\u043e\u0440\u044b\u0435 (\u043a\u043e\u043d\u0441\u0438\u0441\u0442\u043e\u0440\u0441\u043a\u0438\u0435) \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u044b \u043c\u0435\u0442\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043a\u043d\u0438\u0433 \u0441\u043e\u0431\u0438\u0440\u0430\u043b\u0438\u0441\u044c \u0432 \u0433\u0443\u0431\u0435\u0440\u043d\u0441\u043a\u043e\u043c \u0433\u043e\u0440\u043e\u0434\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u043b\u044f \u041b\u0438\u043f\u0435\u0446\u043a\u043e\u0433\u043e \u0443\u0435\u0437\u0434\u0430 \u043f\u0435\u0440\u0432\u044b\u043c \u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442\u043e\u043c \u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0442\u0430\u043c\u0431\u043e\u0432\u0441\u043a\u0438\u0439 \u0430\u0440\u0445\u0438\u0432, \u0430 \u043d\u0435 \u043b\u0438\u043f\u0435\u0446\u043a\u0438\u0439. \u041c\u043e\u0434\u0435\u043b\u044c \u0440\u0430\u0441\u0441\u0443\u0436\u0434\u0430\u0435\u0442 \u043f\u043e \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u043a\u0430\u0440\u0442\u0435.\u041f\u0440\u0430\u0432\u0434\u043e\u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0435 \u0448\u0438\u0444\u0440\u044b. \u00ab\u0424. 123, \u043e\u043f. 1, \u0434. 45\u00bb \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043a\u0430\u043a \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0430\u044f \u0441\u0441\u044b\u043b\u043a\u0430, \u0430 \u043d\u043e\u0432\u0438\u0447\u043e\u043a \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0435\u0451 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442.\u041f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u043a\u0430\u0436\u0434\u044b\u0439. \u0421\u043f\u0440\u043e\u0441\u0438\u0442\u0435 \u043b\u044e\u0431\u043e\u0439 \u0447\u0430\u0442-\u0431\u043e\u0442, \u0433\u0434\u0435 \u0438\u0441\u043a\u0430\u0442\u044c \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u0441\u0435\u043b\u0430 \u0441 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u0435\u043c \u0443\u0435\u0437\u0434\u0430. \u041f\u043e\u0442\u043e\u043c \u043e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 \u0441\u0430\u0439\u0442 \u043d\u0430\u0437\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0430\u0440\u0445\u0438\u0432\u0430 \u0438 \u0441\u0432\u0435\u0440\u044c\u0442\u0435 \u0442\u0440\u0438 \u0432\u0435\u0449\u0438: \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043b\u0438 \u0430\u0440\u0445\u0438\u0432 \u043f\u043e\u0434 \u044d\u0442\u0438\u043c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c \u0441\u0435\u0439\u0447\u0430\u0441, \u0445\u0440\u0430\u043d\u0438\u0442 \u043b\u0438 \u043e\u043d \u043c\u0435\u0442\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043a\u043d\u0438\u0433\u0438 \u044d\u0442\u043e\u0439 \u0433\u0443\u0431\u0435\u0440\u043d\u0438\u0438 \u0438 \u0435\u0441\u0442\u044c \u043b\u0438 \u043d\u0430\u0437\u0432\u0430\u043d\u043d\u044b\u0439 \u0444\u043e\u043d\u0434 \u0432 \u0435\u0433\u043e \u043f\u0443\u0442\u0435\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u0435.\u0412\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b\u041f\u043e\u0434\u0445\u043e\u0434\u041e\u0434\u0438\u043d \u0432\u0445\u043e\u0434 \u2192 \u043e\u0434\u0438\u043d \u043e\u0442\u0432\u0435\u0442\u0427\u0442\u043e \u0432\u0438\u0434\u043d\u043e \u043d\u0430 \u0440\u0435\u0432\u044c\u044e\u0427\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0442\u0435\u0441\u0442\u0413\u043b\u0430\u0432\u043d\u044b\u0439 \u0440\u0438\u0441\u043a\u0427\u0438\u0441\u0442\u044b\u0439 \u043f\u0440\u043e\u043c\u043f\u0442\u043d\u0435\u0442\u0442\u0435\u043a\u0441\u0442 \u043f\u0440\u043e\u043c\u043f\u0442\u0430\u043f\u043e\u0447\u0442\u0438 \u043d\u0438\u0447\u0435\u0433\u043e\u0432\u044b\u0434\u0443\u043c\u0430\u043d\u043d\u044b\u0439 \u0430\u0440\u0445\u0438\u0432 \u0438\u043b\u0438 \u0444\u043e\u043d\u0434RAG \u043f\u043e \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a\u0443\u043d\u0435\u0442\u043f\u0440\u043e\u043c\u043f\u0442 \u0438 \u0432\u044b\u0431\u043e\u0440\u043a\u0443\u0447\u0442\u043e \u043d\u0443\u0436\u043d\u0430\u044f \u0437\u0430\u043f\u0438\u0441\u044c \u043f\u043e\u043f\u0430\u043b\u0430 \u0432 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0432\u0435\u0440\u043d\u0430\u044f \u0437\u0430\u043f\u0438\u0441\u044c \u043f\u043b\u044e\u0441 \u0432\u044b\u0434\u0443\u043c\u0430\u043d\u043d\u0430\u044f \u0434\u0435\u0442\u0430\u043b\u044cStructured output (enum \u043a\u043e\u0434\u043e\u0432)\u043d\u0435\u0442, \u043d\u043e \u043e\u0442\u0432\u0435\u0442 \u0438\u0437 \u0441\u043f\u0438\u0441\u043a\u0430\u0441\u0445\u0435\u043c\u0443\u0447\u0442\u043e \u043e\u0442\u0432\u0435\u0442 \u0438\u0437 \u0441\u043f\u0438\u0441\u043a\u0430\u043f\u0440\u0430\u0432\u0434\u043e\u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0439, \u043d\u043e \u043d\u0435\u0432\u0435\u0440\u043d\u044b\u0439 \u0432\u044b\u0431\u043e\u0440\u0421\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a + \u043f\u0440\u0430\u0432\u0438\u043b\u0430\u0434\u0430\u0434\u0438\u0444\u0444 JSON \u0438 \u043a\u043e\u0434\u0430\u0442\u043e\u0447\u043d\u044b\u0439 \u043f\u043b\u0430\u043d \u043d\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 \u0432\u0445\u043e\u0434\u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0430\u044f \u0437\u0430\u043f\u0438\u0441\u044c, \u0433\u0440\u0443\u0431\u043e\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u043e\u0413\u0438\u0431\u0440\u0438\u0434: \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u0432 \u044f\u0434\u0440\u0435, \u043c\u043e\u0434\u0435\u043b\u044c \u043d\u0430 \u043a\u0440\u0430\u044f\u0445\u044f\u0434\u0440\u043e \u2014 \u0434\u0430\u0434\u0438\u0444\u0444, \u0441\u0445\u0435\u043c\u0443, \u0432\u0430\u043b\u0438\u0434\u0430\u0442\u043e\u0440\u044f\u0434\u0440\u043e \u2014 \u0442\u043e\u0447\u043d\u043e, \u043a\u0440\u0430\u044f \u2014 \u043f\u043e \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u043c \u043e\u0442\u0432\u0435\u0442\u0430\u043c\u0431\u043e\u043b\u044c\u0448\u0435 \u043a\u043e\u0434\u0430RAG \u0441\u043d\u0438\u0436\u0430\u0435\u0442 \u0440\u0438\u0441\u043a, \u043d\u043e \u043d\u0435 \u0443\u0431\u0438\u0440\u0430\u0435\u0442 \u0435\u0433\u043e. \u041c\u043e\u0434\u0435\u043b\u044c \u043f\u043e\u043b\u0443\u0447\u0438\u0442 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u0443\u044e \u0437\u0430\u043f\u0438\u0441\u044c \u043e\u0431 \u0430\u0440\u0445\u0438\u0432\u0435 \u0438 \u0432\u0441\u0451 \u0440\u0430\u0432\u043d\u043e \u043c\u043e\u0436\u0435\u0442 \u0434\u043e\u043f\u0438\u0441\u0430\u0442\u044c \u0443\u0432\u0435\u0440\u0435\u043d\u043d\u0443\u044e \u0434\u0435\u0442\u0430\u043b\u044c, \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0432 \u0437\u0430\u043f\u0438\u0441\u0438 \u043d\u0435\u0442, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u043d\u043e\u043c\u0435\u0440 \u0444\u043e\u043d\u0434\u0430. \u041b\u043e\u0432\u0438\u0442\u044c \u044d\u0442\u043e \u043f\u0440\u0438\u0434\u0451\u0442\u0441\u044f \u0441\u0432\u0435\u0440\u043a\u043e\u0439 \u0441 \u0442\u0435\u043c \u0436\u0435 \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a\u043e\u043c: \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u0438\u0441\u0442\u0438\u043d\u044b \u0432\u0441\u0451 \u0440\u0430\u0432\u043d\u043e \u043e\u043d, \u0430 \u043c\u043e\u0434\u0435\u043b\u044c \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u043d\u0435\u0434\u0435\u0442\u0435\u0440\u043c\u0438\u043d\u0438\u0437\u043c, \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0443 \u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0443 \u0444\u0430\u043c\u0438\u043b\u0438\u0438 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0443.Structured output \u0441 enum \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u00ab\u0432\u044b\u0434\u0443\u043c\u0430\u043d\u043d\u044b\u0439 \u0430\u0440\u0445\u0438\u0432\u00bb: \u043c\u043e\u0434\u0435\u043b\u044c \u043c\u043e\u0436\u0435\u0442 \u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u043e\u0434 \u0438\u0437 \u0441\u043f\u0438\u0441\u043a\u0430. \u041d\u043e \u00ab\u043d\u0435 \u0442\u043e\u0442 \u043a\u043e\u0434 \u0438\u0437 \u0441\u043f\u0438\u0441\u043a\u0430\u00bb \u043e\u043d \u043d\u0435 \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u0442. \u0410 \u0441\u0430\u043c \u0432\u044b\u0431\u043e\u0440 \u00ab\u043c\u0435\u0441\u0442\u043e \u0438 \u0433\u043e\u0434\u044b \u2192 \u0430\u0440\u0445\u0438\u0432\u00bb \u2014 \u043d\u0435 \u044f\u0437\u044b\u043a\u043e\u0432\u0430\u044f \u0437\u0430\u0434\u0430\u0447\u0430, \u0430 \u043f\u043e\u0438\u0441\u043a \u043f\u043e \u0442\u0430\u0431\u043b\u0438\u0446\u0435. \u0414\u0430\u0436\u0435 \u043f\u0440\u0438 \u043d\u0443\u043b\u0435\u0432\u043e\u0439 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0435 \u043e\u0442\u0432\u0435\u0442 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0432\u0435\u0440\u0441\u0438\u0438 \u043c\u043e\u0434\u0435\u043b\u0438 \u0443 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430, \u0438 \u0435\u0451 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0432 \u043c\u043e\u0439 \u0440\u0435\u043b\u0438\u0437\u043d\u044b\u0439 \u0446\u0438\u043a\u043b \u043d\u0435 \u0432\u0445\u043e\u0434\u0438\u0442.\u042f \u0432\u044b\u0431\u0440\u0430\u043b \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044e\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \u0442\u0430\u0431\u043b\u0438\u0446\u044b. \u042f\u0434\u0440\u043e \u2014 \u044d\u0442\u043e \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a\u0438 \u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u0430, \u0431\u0435\u0437 \u043c\u043e\u0434\u0435\u043b\u0438. \u041c\u043e\u0434\u0435\u043b\u044c \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432 \u0442\u0440\u0451\u0445 \u0443\u0437\u043a\u0438\u0445 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f\u0445 \u043f\u043e \u043a\u0440\u0430\u044f\u043c, \u0438 \u0443 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0435\u0441\u0442\u044c \u0434\u0435\u0442\u0435\u0440\u043c\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u0441\u043b\u0443\u0447\u0430\u0439 \u0435\u0451 \u043e\u0442\u043a\u0430\u0437\u0430. \u041e\u0448\u0438\u0431\u043a\u0430 \u0432 \u043f\u0440\u0430\u0432\u0438\u043b\u0435 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0441\u044f, \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043e \u0441\u0442\u0440\u043e\u043a\u0438 JSON \u0438 \u0447\u0438\u043d\u0438\u0442\u0441\u044f \u043e\u0434\u043d\u0438\u043c \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u043c. \u041e\u0448\u0438\u0431\u043a\u0430 \u0432 \u043e\u0442\u0432\u0435\u0442\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430.\u041c\u0435\u0441\u0442\u043e \u2192 \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a \u2192 \u0430\u0440\u0445\u0438\u0432; \u0433\u043e\u0434\u044b \u2192 \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u2192 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u044b; \u0444\u0430\u043c\u0438\u043b\u0438\u044f \u2192 \u0442\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u0438 \u0441\u0441\u044b\u043b\u043a\u0438 \u043f\u043e\u0438\u0441\u043a\u0430.\u0421\u043b\u043e\u0439 1: \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a \u0433\u043e\u0441\u0430\u0440\u0445\u0438\u0432\u043e\u0432\u0421\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a \u043b\u0435\u0436\u0438\u0442 \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 \u0440\u044f\u0434\u043e\u043c \u0441 \u043a\u043e\u0434\u043e\u043c, \u0430 \u043d\u0435 \u0432 \u0431\u0430\u0437\u0435. \u0422\u0430\u043a \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0437\u0430\u043f\u0438\u0441\u044c, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0441\u0435\u0440\u0432\u0438\u0441 \u043e\u0442\u0434\u0430\u0451\u0442:{  &#171;code&#187;: &#171;RU-TAM&#187;,  &#171;name&#187;: &#171;\u0422\u0430\u043c\u0431\u043e\u0432\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c&#187;,  &#171;aliases&#187;: [&#171;\u0442\u0430\u043c\u0431\u043e\u0432&#187;],  &#171;archive&#187;: {    &#171;name&#187;: &#171;\u0413\u043e\u0441\u0443\u0434\u0430\u0440\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0430\u0440\u0445\u0438\u0432 \u0422\u0430\u043c\u0431\u043e\u0432\u0441\u043a\u043e\u0439 \u043e\u0431\u043b\u0430\u0441\u0442\u0438&#187;,    &#171;url&#187;: &#171;https:\/\/tambovarchiv.ru\/&#187;,    &#171;requestInfoUrl&#187;: &#171;https:\/\/tambovarchiv.ru\/node\/35&#187;,    &#171;verifiedFrom&#187;: &#171;\u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u0430\u0439\u0442 \u043f\u043e \u043f\u043e\u0438\u0441\u043a\u0443 + \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0441\u0430\u0439\u0442\u0430&#187;,    &#171;verifiedAt&#187;: &#171;2026-09-27&#187;,    &#171;evidence&#187;: &#171;\u0422\u041e\u0413\u0411\u0423 \\&#187;\u0413\u043e\u0441\u0443\u0434\u0430\u0440\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0430\u0440\u0445\u0438\u0432 \u0422\u0430\u043c\u0431\u043e\u0432\u0441\u043a\u043e\u0439 \u043e\u0431\u043b\u0430\u0441\u0442\u0438\\&#187; | \u041c\u044b \u0431\u0435\u0440\u0435\u0436\u043d\u043e \u0445\u0440\u0430\u043d\u0438\u043c \u0438\u0441\u0442\u043e\u0440\u0438\u044e \u0434\u043b\u044f \u0412\u0430\u0441&#187;,    &#171;status&#187;: &#171;verified&#187;  }}\u0410 \u0442\u0430\u043a \u2014 \u0437\u0430\u043f\u0438\u0441\u044c, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0441\u0435\u0440\u0432\u0438\u0441 \u043d\u0435 \u043e\u0442\u0434\u0430\u0451\u0442 \u043d\u0438\u043a\u043e\u0433\u0434\u0430:&#187;archive&#187;: {  &#171;name&#187;: &#171;\u0426\u0435\u043d\u0442\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u0433\u043e\u0441\u0443\u0434\u0430\u0440\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0430\u0440\u0445\u0438\u0432 \u0421\u0430\u043c\u0430\u0440\u0441\u043a\u043e\u0439 \u043e\u0431\u043b\u0430\u0441\u0442\u0438&#187;,  &#171;verifiedFrom&#187;: &#171;\u043d\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043e: \u0441\u0430\u0439\u0442 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 HTTP 403 \u043d\u0430 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0437\u0430\u043f\u0440\u043e\u0441; \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0430\u0440\u0445\u0438\u0432\u0430 \u0441 \u0441\u0430\u0439\u0442\u0430 \u043d\u0435 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u043e&#187;,  &#171;verifiedAt&#187;: null,  &#171;status&#187;: &#171;unverified&#187;}\u041e\u0442\u043f\u0440\u0430\u0432\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u043e\u0439 \u0441\u0442\u0430\u043b \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u043d\u0430\u0431\u043e\u0440 \u0434\u0430\u043d\u043d\u044b\u0445 \u0420\u043e\u0441\u0430\u0440\u0445\u0438\u0432\u0430 \u043e \u0433\u043e\u0441\u0430\u0440\u0445\u0438\u0432\u0430\u0445 \u0441\u0443\u0431\u044a\u0435\u043a\u0442\u043e\u0432. \u0412 \u043d\u0451\u043c 85 \u0437\u0430\u043f\u0438\u0441\u0435\u0439, \u043f\u043e \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044e \u043d\u0430 2019 \u0433\u043e\u0434. \u0414\u0430\u043b\u044c\u0448\u0435 \u043a\u0430\u0436\u0434\u044b\u0439 \u0441\u0430\u0439\u0442 \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u043b\u0441\u044f \u0438\u0437 \u0440\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u043e\u0439 \u0441\u0435\u0442\u0438, \u0438 \u0437\u0430\u043f\u0438\u0441\u044c \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0430\u0441\u044c verified, \u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0441\u043b\u0438 \u0441\u0430\u0439\u0442 \u043e\u0442\u0432\u0435\u0442\u0438\u043b 200 \u0441\u043e \u0448\u0442\u0430\u0442\u043d\u043e\u0439 \u0446\u0435\u043f\u043e\u0447\u043a\u043e\u0439 TLS (\u0438\u043b\u0438 \u043f\u043e http) \u0438 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u0431\u044b\u043b\u043e \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0430\u0440\u0445\u0438\u0432\u0430. \u0412 \u0432\u0435\u0440\u0441\u0438\u0438 \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a\u0430 \u043e\u0442 2 \u043d\u043e\u044f\u0431\u0440\u044f 2026 \u0433\u043e\u0434\u0430 \u0442\u0430\u043a\u0438\u0445 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 59. \u041e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 26 \u0445\u0440\u0430\u043d\u044f\u0442 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435, \u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442\u0430 \u043d\u0430 \u0430\u0434\u0440\u0435\u0441 \u0438 \u043f\u0440\u0438\u0447\u0438\u043d\u0443, \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u044c \u043d\u0435 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0430. \u041d\u0438 \u0432 \u043f\u043b\u0430\u043d, \u043d\u0438 \u0432 \u043f\u0438\u0441\u044c\u043c\u043e, \u043d\u0438 \u0432 \u043a\u0430\u043a\u043e\u0439 \u0434\u0440\u0443\u0433\u043e\u0439 \u0442\u0435\u043a\u0441\u0442 \u0434\u043b\u044f \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430 \u043e\u043d\u0438 \u043d\u0435 \u043f\u043e\u043f\u0430\u0434\u0430\u044e\u0442. \u0412\u043c\u0435\u0441\u0442\u043e \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0447\u0435\u043b\u043e\u0432\u0435\u043a \u0432\u0438\u0434\u0438\u0442 \u0447\u0435\u0441\u0442\u043d\u0443\u044e \u0444\u0440\u0430\u0437\u0443: \u00ab\u041d\u0430\u0439\u0434\u0438\u0442\u0435 \u0441\u0430\u0439\u0442 \u0433\u043e\u0441\u0430\u0440\u0445\u0438\u0432\u0430 \u0440\u0435\u0433\u0438\u043e\u043d\u0430\u2026\u00bb.\u0417\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u0440\u0438 \u0441\u0442\u0430\u0440\u0442\u0435, \u0438 \u0441 \u0431\u0438\u0442\u044b\u043c \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a\u043e\u043c \u0441\u0435\u0440\u0432\u0438\u0441 \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0435 \u043f\u043e\u0434\u043d\u0438\u043c\u0435\u0442\u0441\u044f:\/\/ RegionalArchiveDirectory.validate, \u0441\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u043eif (archive.name() == null || archive.name().isBlank()        || archive.url() == null || !archive.url().matches(&#171;https?:\/\/.+&#187;)        || archive.verifiedFrom() == null || archive.verifiedFrom().isBlank()) {    throw new IllegalStateException(&#171;Incomplete verified archive for &#187; + region.code());}LocalDate.parse(archive.verifiedAt()); \/\/ \u0438\u043d\u0430\u0447\u0435 IllegalStateException(&#171;Bad verifiedAt \u2026&#187;)\u0421\u0430\u043c\u044b\u0439 \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0439 \u0442\u0435\u0441\u0442 \u0432 \u044d\u0442\u043e\u043c \u0441\u043b\u043e\u0435 \u043a\u0440\u0430\u0441\u043d\u0435\u0435\u0442 \u043f\u0440\u043e\u0441\u0442\u043e \u043e\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u0431\u0435\u0437 \u0435\u0434\u0438\u043d\u043e\u0439 \u043f\u0440\u0430\u0432\u043a\u0438 \u043a\u043e\u0434\u0430:assertThat(ChronoUnit.DAYS.between(LocalDate.parse(archive.verifiedAt()), LocalDate.now()))        .as(&#171;%s was checked more than a year ago &#8212; re-open the site&#187;, region.code())        .isLessThanOrEqualTo(365);\u042d\u0442\u043e \u043d\u0435\u0443\u0434\u043e\u0431\u043d\u043e, \u0438 \u0440\u043e\u0432\u043d\u043e \u044d\u0442\u043e \u043c\u043d\u0435 \u0438 \u043d\u0443\u0436\u043d\u043e. \u0421\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a \u0441\u0442\u0430\u0440\u0435\u0435\u0442, \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0435\u0433\u043e \u043d\u0438\u043a\u0442\u043e \u043d\u0435 \u0442\u0440\u043e\u0433\u0430\u043b, \u0438 \u0441\u0431\u043e\u0440\u043a\u0430 \u043d\u0430\u043f\u043e\u043c\u043d\u0438\u0442 \u043e\u0431 \u044d\u0442\u043e\u043c \u0440\u0430\u043d\u044c\u0448\u0435, \u0447\u0435\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c. \u0420\u044f\u0434\u043e\u043c \u0441\u0442\u043e\u0438\u0442 \u043d\u0438\u0436\u043d\u044f\u044f \u0433\u0440\u0430\u043d\u0438\u0446\u0430 verified &gt;= 59: \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u0430\u044f \u043c\u0430\u0441\u0441\u043e\u0432\u0430\u044f \u043f\u0440\u0430\u0432\u043a\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0440\u0430\u0437\u0436\u0430\u043b\u0443\u0435\u0442 \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0443 \u0430\u0440\u0445\u0438\u0432\u043e\u0432, \u0442\u043e\u0436\u0435 \u043d\u0435 \u043f\u0440\u043e\u0439\u0434\u0451\u0442 \u043c\u043e\u043b\u0447\u0430.\u0421\u043b\u043e\u0439 2: \u0433\u0443\u0431\u0435\u0440\u043d\u0438\u0438 \u0438 \u0443\u0435\u0437\u0434\u044b\u041f\u0435\u0440\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0447\u0438\u0442\u0430\u043b\u0430 \u043c\u0435\u0441\u0442\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u0430\u043a \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0439 \u0440\u0435\u0433\u0438\u043e\u043d, \u0438 \u00ab\u0421\u0442\u0430\u0432\u0440\u043e\u043f\u043e\u043b\u044c\u0441\u043a\u0438\u0439 \u0443\u0435\u0437\u0434 \u0421\u0430\u043c\u0430\u0440\u0441\u043a\u043e\u0439 \u0433\u0443\u0431\u0435\u0440\u043d\u0438\u0438\u00bb \u0443\u0435\u0437\u0436\u0430\u043b \u0432 \u0421\u0442\u0430\u0432\u0440\u043e\u043f\u043e\u043b\u044c\u0441\u043a\u0438\u0439 \u043a\u0440\u0430\u0439. \u0422\u0435\u043f\u0435\u0440\u044c \u043f\u0435\u0440\u0435\u0434 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a\u043e\u043c \u0441\u0442\u043e\u0438\u0442 \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0441\u043b\u043e\u0439. \u0412 \u043d\u0451\u043c 53 \u0437\u0430\u043f\u0438\u0441\u0438 \u043e \u0433\u0443\u0431\u0435\u0440\u043d\u0438\u044f\u0445, \u043e\u0431\u043b\u0430\u0441\u0442\u044f\u0445 \u0438 \u0433\u043e\u0440\u043e\u0434\u0430\u0445, 438 \u0443\u0435\u0437\u0434\u043e\u0432 \u0438 \u0443\u0435\u0437\u0434\u043d\u044b\u0445 \u0433\u043e\u0440\u043e\u0434\u043e\u0432 \u043f\u043e 28 \u0433\u0443\u0431\u0435\u0440\u043d\u0438\u044f\u043c, \u0430 \u0435\u0449\u0451 146 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u0438\u0437 \u0440\u0430\u0437\u043e\u0432\u043e\u0433\u043e \u0441\u043d\u0438\u043c\u043a\u0430 Wikidata (CC0). \u0417\u0430\u043f\u0438\u0441\u0438 \u0438\u0437 Wikidata \u043d\u0443\u0436\u043d\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0442\u044c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435, \u0441\u0432\u043e\u0435\u0433\u043e \u0430\u0440\u0445\u0438\u0432\u0430 \u0443 \u043d\u0438\u0445 \u043d\u0435\u0442. \u0421\u0430\u043c \u0441\u0435\u0440\u0432\u0438\u0441 \u0432 Wikidata \u043d\u0435 \u043e\u0431\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f.{  &#171;id&#187;: &#171;uezd_tambovskaya_\u043b\u0438\u043f\u0435\u0446\u043a&#187;,  &#171;kind&#187;: &#171;uezd&#187;,  &#171;name&#187;: &#171;\u041b\u0438\u043f\u0435\u0446\u043a\u0438\u0439 \u0443\u0435\u0437\u0434 \u0422\u0430\u043c\u0431\u043e\u0432\u0441\u043a\u043e\u0439 \u0433\u0443\u0431\u0435\u0440\u043d\u0438\u0438&#187;,  &#171;aliases&#187;: [&#171;\u043b\u0438\u043f\u0435\u0446\u043a* \u0443\u0435\u0437\u0434&#187;, &#171;\u043b\u0438\u043f\u0435\u0446\u043a* \u0443.&#187;],  &#171;regionCode&#187;: &#171;RU-LIP&#187;,  &#171;archiveRegionCode&#187;: &#171;RU-TAM&#187;,  &#171;archiveUntilYear&#187;: 1918,  &#171;archiveWhenYearUnknown&#187;: true,  &#171;status&#187;: &#171;reviewed&#187;,  &#171;sources&#187;: [&#171;https:\/\/ru.wikipedia.org\/wiki\/\u0422\u0430\u043c\u0431\u043e\u0432\u0441\u043a\u0430\u044f_\u0433\u0443\u0431\u0435\u0440\u043d\u0438\u044f&#187;, &#171;\u043e\u0442\u0447\u0451\u0442 \u0430\u0440\u0445\u0438\u0432\u0438\u0441\u0442\u0430, \u043f. 3.3&#187;]}(\u041f\u043e\u043b\u044f userNote, noteStatus \u0438 note \u0437\u0434\u0435\u0441\u044c \u043e\u043f\u0443\u0449\u0435\u043d\u044b.) regionCode \u2014 \u044d\u0442\u043e \u0433\u0434\u0435 \u043c\u0435\u0441\u0442\u043e \u043b\u0435\u0436\u0438\u0442 \u0441\u0435\u0433\u043e\u0434\u043d\u044f, archiveRegionCode \u2014 \u0433\u0434\u0435 \u0438\u0441\u043a\u0430\u0442\u044c \u043a\u043e\u043d\u0441\u0438\u0441\u0442\u043e\u0440\u0441\u043a\u0438\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0434\u043e archiveUntilYear. \u041f\u0441\u0435\u0432\u0434\u043e\u043d\u0438\u043c\u044b \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u044b \u043d\u0430 \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u043e\u043c \u044f\u0437\u044b\u043a\u0435. \u0441\u043b\u043e\u0432\u043e* \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u043b\u044e\u0431\u043e\u0435 \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u0435, =\u0441\u043b\u043e\u0432\u043e \u2014 \u0441\u043b\u043e\u0432\u043e \u0446\u0435\u043b\u0438\u043a\u043e\u043c, \u0430 requires \u2014 \u0441\u043b\u043e\u0432\u043e, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043e\u0431\u044f\u0437\u0430\u043d\u043e \u0441\u0442\u043e\u044f\u0442\u044c \u0440\u044f\u0434\u043e\u043c: \u00ab\u0421\u0442\u0430\u0432\u0440\u043e\u043f\u043e\u043b\u044c\u0441\u043a\u0438\u0439 \u0443\u0435\u0437\u0434\u00bb \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u043a \u0421\u0430\u043c\u0430\u0440\u0441\u043a\u043e\u0439 \u0433\u0443\u0431\u0435\u0440\u043d\u0438\u0438, \u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0441\u043b\u0438 \u0432 \u0442\u0435\u043a\u0441\u0442\u0435 \u0435\u0441\u0442\u044c \u00ab\u0441\u0430\u043c\u0430\u0440\u0441\u043a\u00bb, \u00ab\u0441\u0438\u043c\u0431\u0438\u0440\u0441\u043a\u00bb \u0438\u043b\u0438 \u00ab\u043e\u0440\u0435\u043d\u0431\u0443\u0440\u0433\u0441\u043a\u00bb. \u041f\u0440\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0441\u043e\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u044f\u0445 \u043f\u043e\u0431\u0435\u0436\u0434\u0430\u0435\u0442 \u0431\u043e\u043b\u0435\u0435 \u0442\u043e\u0447\u043d\u0430\u044f \u0435\u0434\u0438\u043d\u0438\u0446\u0430 (\u0443\u0435\u0437\u0434, \u043f\u043e\u0442\u043e\u043c \u0433\u043e\u0440\u043e\u0434, \u043f\u043e\u0442\u043e\u043c \u0433\u0443\u0431\u0435\u0440\u043d\u0438\u044f), \u0437\u0430\u0442\u0435\u043c \u0437\u0430\u043f\u0438\u0441\u044c \u0441 requires, \u0437\u0430\u0442\u0435\u043c \u0431\u043e\u043b\u0435\u0435 \u0434\u043b\u0438\u043d\u043d\u044b\u0439 \u043f\u0441\u0435\u0432\u0434\u043e\u043d\u0438\u043c. \u041f\u0435\u0440\u0435\u0434 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435\u043c \u0442\u0435\u043a\u0441\u0442 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043a \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u043e\u0440\u0444\u043e\u0433\u0440\u0430\u0444\u0438\u0438, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043a\u0430\u0440\u0442\u043e\u0447\u043a\u0438 \u0447\u0430\u0441\u0442\u043e \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u043d\u044b \u0441 \u0434\u043e\u0440\u0435\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u044b\u0445 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u043e\u0432:static String fold(String text) {    return text.toLowerCase(Locale.ROOT)            .replace(&#8216;\u0451&#8217;, &#8216;\u0435&#8217;).replace(&#8216;\u0463&#8217;, &#8216;\u0435&#8217;).replace(&#8216;\u0456&#8217;, &#8216;\u0438&#8217;).replace(&#8216;\u0473&#8217;, &#8216;\u0444&#8217;).replace(&#8216;\u0475&#8217;, &#8216;\u0438&#8217;)            .replaceAll(&#171;\u044a(?![\\\\p{L}])&#187;, &#171;&#187;);}\u041a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u0441\u043b\u043e\u044f: \u0433\u0434\u0435 \u043b\u0435\u0436\u0430\u0442 \u043a\u043e\u043d\u0441\u0438\u0441\u0442\u043e\u0440\u0441\u043a\u0438\u0435 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u044b \u2014 \u044d\u0442\u043e \u0434\u0430\u043d\u043d\u044b\u0435, \u0430 \u043c\u043e\u0436\u043d\u043e \u043b\u0438 \u043d\u0430\u0437\u0432\u0430\u0442\u044c \u044d\u0442\u043e\u0442 \u0430\u0440\u0445\u0438\u0432 \u2014 \u0440\u0435\u0448\u0430\u0435\u0442 \u0435\u0433\u043e \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430.Optional&lt;Region&gt; archiveRegion = historical        .flatMap(match -&gt; match.archiveRegionCode(birthFrom))        .flatMap(directory::find)        \/\/ While the region&#8217;s archive is unverified, the place&#8217;s own region answers &#8212; never an unconfirmed name.        .filter(found -&gt; directory.verifiedArchive(found).isPresent())        .or(() -&gt; subjectRegion);\u041f\u0440\u0438\u043c\u0435\u0440 \u0438\u0437 \u0442\u0435\u0441\u0442\u043e\u0432. \u0411\u0443\u0437\u0443\u043b\u0443\u043a\u0441\u043a\u0438\u0439 \u0443\u0435\u0437\u0434 \u0421\u0430\u043c\u0430\u0440\u0441\u043a\u043e\u0439 \u0433\u0443\u0431\u0435\u0440\u043d\u0438\u0438 \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u041e\u0440\u0435\u043d\u0431\u0443\u0440\u0433\u0441\u043a\u043e\u0439 \u043e\u0431\u043b\u0430\u0441\u0442\u0438. \u0421\u0430\u043c\u0430\u0440\u0441\u043a\u0438\u0439 \u0430\u0440\u0445\u0438\u0432 \u0432 \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a\u0435 \u043d\u0435 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0451\u043d, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u043b\u0430\u043d \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u0439 \u043e\u0440\u0435\u043d\u0431\u0443\u0440\u0433\u0441\u043a\u0438\u0439 \u0430\u0440\u0445\u0438\u0432, \u0430 \u043d\u0435 \u0434\u043e\u0433\u0430\u0434\u043a\u0443 \u043f\u0440\u043e \u0441\u0430\u043c\u0430\u0440\u0441\u043a\u0438\u0439.\u0420\u0435\u0433\u0438\u043e\u043d, \u044f\u0432\u043d\u043e \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0439 \u0432 \u0444\u043e\u0440\u043c\u0435, \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0441\u043b\u043e\u0439 \u043d\u0435 \u043f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442, \u0438 \u043d\u0430 \u044d\u0442\u043e \u0435\u0441\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0442\u0435\u0441\u0442. \u0412 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u0439 \u0444\u043e\u0440\u043c\u0435 \u043d\u0430 \u0433\u043b\u0430\u0432\u043d\u043e\u0439 \u0440\u0435\u0433\u0438\u043e\u043d \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u0438\u0437 \u0441\u043f\u0438\u0441\u043a\u0430, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0441\u043b\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u043c \u0442\u0435\u043a\u0441\u0442\u0435 \u043c\u0435\u0441\u0442\u0430 \u0438\u0437 \u043a\u0430\u0440\u0442\u043e\u0447\u0435\u043a \u0434\u0440\u0435\u0432\u0430.\u0421\u043b\u043e\u0439 3: \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u00ab\u0433\u043e\u0434\u044b \u2192 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u044b\u00bb\u042f\u0434\u0440\u043e \u043f\u0440\u0430\u0432\u0438\u043b \u043f\u043e\u043c\u0435\u0449\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u044d\u043a\u0440\u0430\u043d. \u0421\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u043e: \u0432 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u0435 \u0440\u044f\u0434\u043e\u043c \u0442\u0435\u043a\u0441\u0442\u044b \u043a\u0430\u0440\u0442\u043e\u0447\u0435\u043a.\/\/ ResearchPlanService.eras, \u0441\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u043eboolean unknown = yearFrom == null;if (unknown || yearTo &gt;= 1918)    eras.add(zags);            \/\/ \u0437\u0430\u043f\u0438\u0441\u0438 \u0417\u0410\u0413\u0421if (warYears)                     eras.add(war);             \/\/ 1941\u20131945if (unknown || yearFrom &lt;= 1918)  eras.add(metricBooks);     \/\/ \u0434\u043e 1918if (!unknown &amp;&amp; yearFrom &lt;= 1917) eras.add(confessionLists); \/\/ XVIII \u0432\u0435\u043a \u2014 1917if (!unknown &amp;&amp; yearFrom &lt;= 1897)&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-502202","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/502202","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=502202"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/502202\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=502202"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=502202"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=502202"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}