migration
This commit is contained in:
2
semester-4/СмП/lb-1/README.md
Normal file
2
semester-4/СмП/lb-1/README.md
Normal file
@ -0,0 +1,2 @@
|
||||
Викладач: Сокорчук І. П.
|
||||
Оцінка: 100
|
692
semester-4/СмП/lb-1/lib.typ
Normal file
692
semester-4/СмП/lb-1/lib.typ
Normal file
@ -0,0 +1,692 @@
|
||||
|
||||
// Academic aliases {{{1
|
||||
|
||||
/// subject abbreviations to full names
|
||||
#let subjects = (
|
||||
"БД": "Бази даних",
|
||||
"ОПНJ": "Основи програмування на Java",
|
||||
"ОС": "Операційні системи",
|
||||
"ПП": "Проектний практикум",
|
||||
"СМП": "Скриптові мови програмування",
|
||||
"Ф": "Філософія",
|
||||
)
|
||||
|
||||
/// education program abbreviations to name & number
|
||||
#let edu_programs = (
|
||||
"ПЗПІ": (
|
||||
name: "Інженерія програмного забезпечення",
|
||||
number: 121, // TODO: ПЗПІ is "F2" now
|
||||
),
|
||||
)
|
||||
|
||||
// Template formatting functions {{{1
|
||||
|
||||
/// numberless heading
|
||||
#let nheading(title) = heading(depth: 1, numbering: none, title)
|
||||
|
||||
/// fill horizontal space with a box and not an empty space
|
||||
#let hfill(width) = box(width: width, repeat(" ")) // NOTE: This is a HAIR SPACE (U+200A), not a regular space
|
||||
|
||||
/// make underlined cell with filled value
|
||||
#let uline(align: center, content) = underline[
|
||||
#if align != left { hfill(1fr) }
|
||||
#content
|
||||
#if align != right { hfill(1fr) }
|
||||
]
|
||||
|
||||
/// bold text
|
||||
#let bold(content) = text(weight: "bold")[#content]
|
||||
|
||||
/// month name from its number
|
||||
#let month_gen(month) = (
|
||||
"січня",
|
||||
"лютого",
|
||||
"березня",
|
||||
"квітня",
|
||||
"травня",
|
||||
"червня",
|
||||
"липня",
|
||||
"серпня",
|
||||
"вересня",
|
||||
"жовтня",
|
||||
"листопада",
|
||||
"грудня",
|
||||
).at(month - 1)
|
||||
|
||||
// Helper functions {{{1
|
||||
|
||||
/// captioned image with label derived from path:
|
||||
/// - "image.png" = @image
|
||||
/// - "img/image.png" = @image
|
||||
/// - "img/foo/image.png" = @foo_image
|
||||
/// - "img/foo/foo_image.png" = @foo_image
|
||||
/// the caption will be modified based on a conditional positional value:
|
||||
/// - `none`: no change
|
||||
/// - some value: "`caption` (за даними `value`)"
|
||||
/// - no value: "`caption` (рисунок виконано самостійно)"
|
||||
/// additional named arguments will be passed to original `image` function
|
||||
#let img(path, caption, ..sink) = {
|
||||
let parts = path.split(".").first().split("/")
|
||||
|
||||
let label_string = if parts.len() <= 2 or parts.at(-1).starts-with(parts.at(-2)) {
|
||||
// ("image",), (_, "image") and (.., "img", "img_image")
|
||||
parts.last()
|
||||
} else {
|
||||
// (.., "img", "image") = "img_image"
|
||||
parts.at(-2) + "_" + parts.at(-1)
|
||||
}.replace(" ", "_")
|
||||
|
||||
let caption = if sink.pos().len() == 0 {
|
||||
caption + " (рисунок виконано самостійно)"
|
||||
} else if sink.pos().first() == none {
|
||||
caption
|
||||
} else {
|
||||
[#caption (за даними #sink.pos().first())]
|
||||
}
|
||||
|
||||
[#figure(image(path, ..sink.named()), caption: caption) #label(label_string)]
|
||||
}
|
||||
|
||||
// Styling {{{1
|
||||
/// NOTE: may be wrong
|
||||
#let ua_alpha_numbering = "абвгдежиклмнпрстуфхцшщюя".split("") // 0 = "", 1 = "а"
|
||||
|
||||
// general outlook {{{2
|
||||
// spacing between lines
|
||||
#let spacing = 0.95em
|
||||
|
||||
#let style(it) = {
|
||||
set page(
|
||||
paper: "a4",
|
||||
margin: (top: 20mm, right: 10mm, bottom: 20mm, left: 25mm),
|
||||
number-align: top + right,
|
||||
numbering: (..numbers) => {
|
||||
if numbers.pos().at(0) != 1 {
|
||||
numbering("1", numbers.pos().at(0))
|
||||
}
|
||||
},
|
||||
)
|
||||
|
||||
set text(font: ("Times New Roman", "Liberation Serif"), size: 14pt, hyphenate: false, lang: "uk")
|
||||
set par(justify: true, first-line-indent: (amount: 1.25cm, all: true))
|
||||
set underline(evade: false)
|
||||
|
||||
// set 1.5 line spacing
|
||||
set block(spacing: spacing)
|
||||
set par(spacing: spacing)
|
||||
set par(leading: spacing)
|
||||
|
||||
// enums and lists {{{2
|
||||
set enum(numbering: i => { ua_alpha_numbering.at(i) + ")" }, indent: 1.25cm, body-indent: 0.5cm)
|
||||
show enum: it => {
|
||||
set enum(indent: 0em, numbering: "1)")
|
||||
it
|
||||
}
|
||||
|
||||
set list(indent: 1.35cm, body-indent: 0.5cm, marker: [--])
|
||||
|
||||
// figures {{{2
|
||||
show figure: it => {
|
||||
v(spacing * 2, weak: true)
|
||||
it
|
||||
v(spacing * 2, weak: true)
|
||||
}
|
||||
|
||||
set figure.caption(separator: [ -- ])
|
||||
show figure.where(kind: table): set figure.caption(position: top)
|
||||
show figure.caption.where(kind: table): set align(left)
|
||||
|
||||
// figure numbering
|
||||
show heading.where(level: 1): it => {
|
||||
counter(math.equation).update(0)
|
||||
counter(figure.where(kind: image)).update(0)
|
||||
counter(figure.where(kind: table)).update(0)
|
||||
counter(figure.where(kind: raw)).update(0)
|
||||
it
|
||||
}
|
||||
set math.equation(numbering: (..num) => numbering("(1.1)", counter(heading).get().at(0), num.pos().first()))
|
||||
set figure(numbering: (..num) => numbering("1.1", counter(heading).get().at(0), num.pos().first()))
|
||||
|
||||
// appearance of references to images and tables {{{2
|
||||
set ref(
|
||||
supplement: it => {
|
||||
if it == none or not it.has("kind") {
|
||||
it
|
||||
} else if it.kind == image {
|
||||
"див. рис."
|
||||
} else if it.kind == table {
|
||||
"див. таблицю"
|
||||
} else {
|
||||
it
|
||||
}
|
||||
},
|
||||
)
|
||||
show ref: it => {
|
||||
let el = it.element
|
||||
|
||||
if el == none or not el.has("kind") {
|
||||
return it
|
||||
}
|
||||
if el.kind != image and el.kind != table {
|
||||
return it
|
||||
}
|
||||
|
||||
[(#it)]
|
||||
}
|
||||
|
||||
// headings {{{2
|
||||
set heading(numbering: "1.1")
|
||||
|
||||
show heading.where(level: 1): it => {
|
||||
set align(center)
|
||||
set text(size: 14pt, weight: "semibold")
|
||||
|
||||
pagebreak(weak: true)
|
||||
upper(it)
|
||||
v(spacing * 2, weak: true)
|
||||
}
|
||||
show heading.where(level: 2): it => {
|
||||
set text(size: 14pt, weight: "regular")
|
||||
|
||||
v(spacing * 2, weak: true)
|
||||
block(width: 100%, spacing: 0em)[
|
||||
#h(1.25cm)
|
||||
#counter(heading).display(it.numbering)
|
||||
#it.body
|
||||
]
|
||||
v(spacing * 2, weak: true)
|
||||
}
|
||||
|
||||
show heading.where(level: 3): it => {
|
||||
set text(size: 14pt, weight: "regular")
|
||||
|
||||
v(spacing * 2, weak: true)
|
||||
block(width: 100%, spacing: 0em)[
|
||||
#h(1.25cm)
|
||||
#counter(heading).display(it.numbering)
|
||||
#it.body
|
||||
]
|
||||
v(spacing * 2, weak: true)
|
||||
}
|
||||
|
||||
it
|
||||
}
|
||||
|
||||
// Coursework template {{{1
|
||||
|
||||
/// DSTU 3008:2015 Template for NURE
|
||||
/// -> content
|
||||
/// - doc (content): Content to apply the template to.
|
||||
/// - title (str): Title of the document.
|
||||
/// - subject_shorthand (str): Subject short name.
|
||||
/// - department_gen (str): Department name in genitive form.
|
||||
/// - authors ((name: str, full_name_gen: str, variant: int, group: str, gender: str),): List of Authors dicts.
|
||||
/// - mentors ((name: str, gender: str, degree: str),): List of mentors dicts.
|
||||
/// - edu_program_shorthand (str): Education program shorthand.
|
||||
/// - task_list (done_date: datetime, initial_date: datetime, source: (content | str), content: (content | str), graphics: (content | str)): Task list object.
|
||||
/// - calendar_plan ( plan_table: (content | str), approval_date: datetime): Calendar plan object.
|
||||
/// - abstract (keywords: (str, ), text: (content | str)): Abstract object.
|
||||
/// - bib_path path: Path to the bibliography yaml file.
|
||||
/// - appendices (content): Content with appendices.
|
||||
#let cw-template(
|
||||
doc,
|
||||
title: "NONE",
|
||||
subject_shorthand: "NONE",
|
||||
department_gen: "Програмної інженерії",
|
||||
author: (),
|
||||
mentors: (),
|
||||
edu_program_shorthand: "ПЗПІ",
|
||||
task_list: (),
|
||||
calendar_plan: (),
|
||||
abstract: (),
|
||||
bib_path: "bibl.yml",
|
||||
appendices: (),
|
||||
) = {
|
||||
set document(title: title, author: author.name)
|
||||
|
||||
show: style
|
||||
|
||||
let bib-count = state("citation-counter", ())
|
||||
show cite: it => {
|
||||
it
|
||||
bib-count.update(((..c)) => (..c, it.key))
|
||||
}
|
||||
show bibliography: it => {
|
||||
set text(size: 0pt)
|
||||
it
|
||||
}
|
||||
|
||||
|
||||
let head_mentor = mentors.at(0)
|
||||
let edu_program = edu_programs.at(edu_program_shorthand)
|
||||
|
||||
// page 1 {{{2
|
||||
[
|
||||
#set align(center)
|
||||
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
|
||||
|
||||
ХАРКІВСЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ РАДІОЕЛЕКТРОНІКИ
|
||||
|
||||
\
|
||||
|
||||
Кафедра Програмної інженерії
|
||||
|
||||
\
|
||||
|
||||
ПОЯСНЮВАЛЬНА ЗАПИСКА
|
||||
|
||||
ДО КУРСОВОЇ РОБОТИ
|
||||
|
||||
з дисципліни: "#subjects.at(subject_shorthand, default: "NONE")"
|
||||
|
||||
Тема роботи: "#title"
|
||||
|
||||
\ \ \
|
||||
|
||||
#columns(2, gutter: 4cm)[
|
||||
#set align(left)
|
||||
|
||||
#if author.gender == "m" { [Виконав\ ] } else { [Виконала\ ] } ст. гр. #author.group
|
||||
|
||||
\
|
||||
Керівник:\
|
||||
#head_mentor.degree
|
||||
|
||||
\
|
||||
Робота захищена на оцінку
|
||||
|
||||
\
|
||||
Комісія:\
|
||||
#for mentor in mentors {
|
||||
[#mentor.degree\
|
||||
]
|
||||
}
|
||||
|
||||
#colbreak()
|
||||
#set align(left)
|
||||
|
||||
\
|
||||
#author.name
|
||||
|
||||
\ \
|
||||
#head_mentor.name
|
||||
|
||||
\
|
||||
#underline(" " * 35)
|
||||
|
||||
\ \
|
||||
#for mentor in mentors {
|
||||
[#mentor.name\
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
#v(1fr)
|
||||
|
||||
Харків -- #task_list.done_date.display("[year]")
|
||||
|
||||
#pagebreak()
|
||||
]
|
||||
|
||||
// page 2 {{{2
|
||||
{
|
||||
uline[Харківський національний університет радіоелектроніки]
|
||||
|
||||
linebreak()
|
||||
linebreak()
|
||||
|
||||
grid(
|
||||
columns: (100pt, 1fr),
|
||||
bold[
|
||||
Кафедра
|
||||
Дисципліна
|
||||
Спеціальність
|
||||
],
|
||||
{
|
||||
uline(align: left, department_gen)
|
||||
linebreak()
|
||||
uline(align: left, subjects.at(subject_shorthand))
|
||||
linebreak()
|
||||
uline(align: left, [#edu_program.number #edu_program.name])
|
||||
},
|
||||
)
|
||||
grid(
|
||||
columns: (1fr, 1fr, 1fr),
|
||||
gutter: 0.3fr,
|
||||
[#bold[Курс] #uline(2)], [#bold[Група] #uline(author.group)], [#bold[Семестр] #uline(3)],
|
||||
)
|
||||
|
||||
linebreak()
|
||||
linebreak()
|
||||
linebreak()
|
||||
|
||||
align(center, bold[ЗАВДАННЯ \ на курсову роботу студента])
|
||||
|
||||
linebreak()
|
||||
|
||||
uline(align: left)[_#author.full_name_gen _]
|
||||
|
||||
linebreak()
|
||||
linebreak()
|
||||
|
||||
bold[\1. Тема роботи:]
|
||||
uline[#title.]
|
||||
|
||||
linebreak()
|
||||
|
||||
{
|
||||
bold[\2. Строк здачі закінченої роботи:]
|
||||
uline(task_list.done_date.display("[day].[month].[year]"))
|
||||
hfill(10fr)
|
||||
}
|
||||
|
||||
linebreak()
|
||||
|
||||
bold[\3. Вихідні дані для роботи:]
|
||||
uline(task_list.source)
|
||||
|
||||
linebreak()
|
||||
|
||||
bold[\4. Зміст розрахунково-пояснювальної записки:]
|
||||
uline(task_list.content)
|
||||
|
||||
linebreak()
|
||||
|
||||
bold[\5. Перелік графічного матеріалу:]
|
||||
uline(task_list.graphics)
|
||||
|
||||
linebreak()
|
||||
|
||||
{
|
||||
bold[\6. Дата видачі завдання:]
|
||||
uline(task_list.initial_date.display("[day].[month].[year]"))
|
||||
hfill(10fr)
|
||||
}
|
||||
|
||||
pagebreak()
|
||||
}
|
||||
|
||||
// page 3 {{{2
|
||||
{
|
||||
align(center, bold[КАЛЕНДАРНИЙ ПЛАН])
|
||||
set par(first-line-indent: 0pt)
|
||||
|
||||
linebreak()
|
||||
|
||||
calendar_plan.plan_table
|
||||
|
||||
linebreak()
|
||||
|
||||
grid(
|
||||
columns: (5fr, 5fr),
|
||||
grid(
|
||||
columns: (1fr, 2fr, 1fr),
|
||||
gutter: 0.2fr,
|
||||
[
|
||||
Студент \
|
||||
Керівник \
|
||||
#align(center)["#underline[#calendar_plan.approval_date.day()]"]
|
||||
],
|
||||
[
|
||||
#uline(align: center, []) \
|
||||
#uline(align: center, []) \
|
||||
#uline(align: center, month_gen(calendar_plan.approval_date.month()))
|
||||
],
|
||||
[
|
||||
\ \
|
||||
#underline[#calendar_plan.approval_date.year()] р.
|
||||
],
|
||||
),
|
||||
[
|
||||
#author.name, \
|
||||
#head_mentor.degree
|
||||
#head_mentor.name.
|
||||
],
|
||||
)
|
||||
|
||||
pagebreak()
|
||||
}
|
||||
|
||||
// page 4 {{{2
|
||||
[
|
||||
#align(center, bold[РЕФЕРАТ]) \
|
||||
|
||||
#context [
|
||||
#let pages = counter(page).final().at(0)
|
||||
#let images = query(figure.where(kind: image)).len()
|
||||
#let tables = query(figure.where(kind: table)).len()
|
||||
#let bibs = bib-count.final().dedup().len()
|
||||
/* TODO: why this stopped working?
|
||||
#let tables = counter(figure.where(kind: table)).final().at(0)
|
||||
#let images = counter(figure.where(kind: image)).final().at(0)*/
|
||||
|
||||
#let counters = ()
|
||||
|
||||
#if pages != 0 { counters.push[#pages с.] }
|
||||
#if tables != 0 { counters.push[#tables табл.] }
|
||||
#if images != 0 { counters.push[#images рис.] }
|
||||
#if bibs != 0 { counters.push[#bibs джерел] }
|
||||
|
||||
Пояснювальна записка до курсової роботи: #counters.join(", ").
|
||||
]
|
||||
|
||||
\
|
||||
|
||||
#{
|
||||
let keywords = abstract.keywords.map(upper)
|
||||
let is_cyrillic = word => word.split("").any(char => ("А" <= char and char <= "я"))
|
||||
|
||||
let n = keywords.len()
|
||||
for i in range(n) {
|
||||
for j in range(0, n - i - 1) {
|
||||
if (
|
||||
(not is_cyrillic(keywords.at(j)) and is_cyrillic(keywords.at(j + 1)))
|
||||
or (
|
||||
is_cyrillic(keywords.at(j)) == is_cyrillic(keywords.at(j + 1)) and keywords.at(j) > keywords.at(j + 1)
|
||||
)
|
||||
) {
|
||||
(keywords.at(j), keywords.at(j + 1)) = (keywords.at(j + 1), keywords.at(j))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
keywords.join(", ")
|
||||
}
|
||||
|
||||
\
|
||||
|
||||
#abstract.text
|
||||
]
|
||||
|
||||
// page 5 {{{2
|
||||
outline(
|
||||
title: [
|
||||
ЗМІСТ
|
||||
#v(spacing * 2, weak: true)
|
||||
],
|
||||
depth: 2,
|
||||
indent: auto,
|
||||
)
|
||||
|
||||
doc
|
||||
|
||||
// bibliography {{{2
|
||||
{
|
||||
heading(depth: 1, numbering: none)[Перелік джерел посилання]
|
||||
|
||||
bibliography(
|
||||
bib_path,
|
||||
style: "ieee",
|
||||
full: true,
|
||||
title: none,
|
||||
)
|
||||
|
||||
let bib_data = yaml(bib_path)
|
||||
|
||||
let format-entry(citation) = {
|
||||
if (citation.type == "Web") {
|
||||
let date_array = citation.url.date.split("-")
|
||||
let date = datetime(
|
||||
year: int(date_array.at(0)),
|
||||
month: int(date_array.at(1)),
|
||||
day: int(date_array.at(2)),
|
||||
)
|
||||
[
|
||||
#citation.title.
|
||||
#citation.author.
|
||||
URL: #citation.url.value (дата звернення: #date.display("[day].[month].[year]")).
|
||||
]
|
||||
} else if citation.type == "Book" [
|
||||
#citation.author
|
||||
#citation.title.
|
||||
#citation.publisher,
|
||||
#citation.date.
|
||||
#citation.page-total c.
|
||||
] else [
|
||||
UNSUPPORTED BIBLIOGRAPHY ENTRY TYPE, PLEASE OPEN AN ISSUE
|
||||
]
|
||||
}
|
||||
|
||||
show enum.item: it => {
|
||||
set par(first-line-indent: 0pt)
|
||||
box(width: 1.25cm)
|
||||
box(width: 1em + 0.5cm)[#it.number.]
|
||||
it.body
|
||||
linebreak()
|
||||
}
|
||||
|
||||
context {
|
||||
for (i, citation) in query(ref.where(element: none)).map(r => str(r.target)).dedup().enumerate() {
|
||||
enum.item(
|
||||
i + 1,
|
||||
format-entry(bib_data.at(citation)),
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// appendices {{{2
|
||||
{
|
||||
counter(heading).update(0)
|
||||
|
||||
set heading(
|
||||
numbering: (i, ..nums) => {
|
||||
let char = upper(ua_alpha_numbering.at(i))
|
||||
if nums.pos().len() == 0 { char } else {
|
||||
char + "." + nums.pos().map(str).join(".")
|
||||
}
|
||||
},
|
||||
)
|
||||
|
||||
show heading.where(level: 1): it => {
|
||||
set align(center)
|
||||
set text(size: 14pt, weight: "regular")
|
||||
|
||||
pagebreak(weak: true)
|
||||
bold[ДОДАТОК #counter(heading).display(it.numbering)]
|
||||
linebreak()
|
||||
it.body
|
||||
v(spacing * 2, weak: true)
|
||||
}
|
||||
|
||||
show heading.where(level: 2): it => {
|
||||
set text(size: 14pt, weight: "regular")
|
||||
|
||||
v(spacing * 2, weak: true)
|
||||
block(width: 100%, spacing: 0em)[
|
||||
#h(1.25cm)
|
||||
#counter(heading).display(it.numbering)
|
||||
#it.body
|
||||
]
|
||||
v(spacing * 2, weak: true)
|
||||
}
|
||||
|
||||
appendices
|
||||
}
|
||||
}
|
||||
|
||||
// Laboratory work template {{{1
|
||||
|
||||
/// DSTU 3008:2015 Template for NURE
|
||||
/// -> content
|
||||
/// - doc (content): Content to apply the template to.
|
||||
/// - doctype ("ЛБ" | "ПЗ"): Document type.
|
||||
/// - title (str): Title of the document.
|
||||
/// - subject_shorthand (str): Subject short name.
|
||||
/// - department_gen (str): Department name in genitive form.
|
||||
/// - worknumber (int): Number of the work, can be omitted.
|
||||
/// - authors ((name: str, full_name_gen: str, variant: int, group: str, gender: str),): List of Authors dicts.
|
||||
/// - mentor (name: str, gender: str, degree: str): Mentors objects.
|
||||
#let lab-pz-template(
|
||||
doc,
|
||||
doctype: "NONE",
|
||||
title: "NONE",
|
||||
subject_shorthand: "NONE",
|
||||
department_gen: "Програмної інженерії",
|
||||
worknumber: 1,
|
||||
authors: (),
|
||||
mentor: (),
|
||||
) = {
|
||||
set document(title: title, author: authors.at(0).name)
|
||||
|
||||
show: style
|
||||
|
||||
context counter(heading).update(worknumber - 1)
|
||||
|
||||
// page 1 {{{2
|
||||
align(center)[
|
||||
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ \
|
||||
ХАРКІВСЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ РАДІОЕЛЕКТРОНІКИ
|
||||
|
||||
\ \
|
||||
Кафедра #department_gen
|
||||
|
||||
\ \ \
|
||||
Звіт \
|
||||
з
|
||||
#if doctype == "ЛБ" [лабораторної роботи] else [практичної роботи]
|
||||
#if worknumber != none [№ #worknumber]
|
||||
|
||||
з дисципліни: "#subjects.at(subject_shorthand, default: "UNKNOWN SUBJECT, PLEASE OPEN AN ISSUE")"
|
||||
|
||||
з теми: "#title"
|
||||
|
||||
\ \ \ \
|
||||
|
||||
#columns(2)[
|
||||
#set align(left)
|
||||
#set par(first-line-indent: 0pt)
|
||||
#if authors.len() == 1 {
|
||||
let author = authors.at(0)
|
||||
if author.gender == "m" [Виконав:\ ] else [Виконала:\ ]
|
||||
[
|
||||
ст. гр. #author.group\
|
||||
#author.name\
|
||||
]
|
||||
if author.variant != none [Варіант: №#author.variant]
|
||||
} else [
|
||||
Виконали:\
|
||||
ст. гр. #authors.at(0).group\
|
||||
#authors.map(a => [ #a.name\ ])
|
||||
]
|
||||
|
||||
#colbreak()
|
||||
#set align(right)
|
||||
|
||||
#if mentor.gender == "m" { [Перевірив:\ ] } else { [Перевірила:\ ] }
|
||||
#mentor.degree #if mentor.degree.len() >= 15 [\ ]
|
||||
#mentor.name\
|
||||
]
|
||||
|
||||
#v(1fr)
|
||||
|
||||
Харків -- #datetime.today().display("[year]")
|
||||
]
|
||||
|
||||
pagebreak(weak: true)
|
||||
|
||||
heading(title)
|
||||
doc
|
||||
}
|
||||
|
||||
// vim:sts=2:sw=2:fdl=0:fdm=marker:cms=/*%s*/
|
265
semester-4/СмП/lb-1/src/Google_TimeTable_21_04_2025.csv
Normal file
265
semester-4/СмП/lb-1/src/Google_TimeTable_21_04_2025.csv
Normal file
@ -0,0 +1,265 @@
|
||||
Subject,Start Date,Start Time,End Date,End Time,Description
|
||||
"*ОРО Зал DL *ОРО(ПЗПІ-23-)-1; №1",06/09/2025,07:45 am,06/09/2025,09:20 am,"*ОРО Зал DL *ОРО(ПЗПІ-23-)-1"
|
||||
"ІМ Конс DL ПЗПІ-23-2; №1",06/23/2025,09:30 am,06/23/2025,11:05 am,"ІМ Конс DL ПЗПІ-23-2"
|
||||
"ПрПА Пз DL ПЗПІ-23-2; №1",03/17/2025,11:15 am,03/17/2025,12:50 pm,"ПрПА Пз DL ПЗПІ-23-2"
|
||||
"ПрПА Лб DL ПЗПІ-23-2; №1",04/07/2025,11:15 am,04/07/2025,12:50 pm,"ПрПА Лб DL ПЗПІ-23-2"
|
||||
"ПрПА Лб DL ПЗПІ-23-2; №1",04/28/2025,11:15 am,04/28/2025,12:50 pm,"ПрПА Лб DL ПЗПІ-23-2"
|
||||
"ПрПА Лб DL ПЗПІ-23-2; №1",05/19/2025,11:15 am,05/19/2025,12:50 pm,"ПрПА Лб DL ПЗПІ-23-2"
|
||||
"ПрПА Лб DL ПЗПІ-23-2; №1",06/02/2025,11:15 am,06/02/2025,12:50 pm,"ПрПА Лб DL ПЗПІ-23-2"
|
||||
"ОПJа Зал DL ПЗПІ-23-2; №1",06/16/2025,11:15 am,06/16/2025,12:50 pm,"ОПJа Зал DL ПЗПІ-23-2"
|
||||
"ФВ Зал DL ПЗПІ-23-2; №2",06/23/2025,11:15 am,06/23/2025,12:50 pm,"ФВ Зал DL ПЗПІ-23-2"
|
||||
"ПрПА Пз DL ПЗПІ-23-2; №2",03/17/2025,01:10 pm,03/17/2025,02:45 pm,"ПрПА Пз DL ПЗПІ-23-2"
|
||||
"ПрПА Лб DL ПЗПІ-23-2; №2",04/07/2025,01:10 pm,04/07/2025,02:45 pm,"ПрПА Лб DL ПЗПІ-23-2"
|
||||
"ПрПА Лб DL ПЗПІ-23-2; №2",04/28/2025,01:10 pm,04/28/2025,02:45 pm,"ПрПА Лб DL ПЗПІ-23-2"
|
||||
"ПрПА Лб DL ПЗПІ-23-2; №2",05/19/2025,01:10 pm,05/19/2025,02:45 pm,"ПрПА Лб DL ПЗПІ-23-2"
|
||||
"ПрПА Лб DL ПЗПІ-23-2; №2",06/02/2025,01:10 pm,06/02/2025,02:45 pm,"ПрПА Лб DL ПЗПІ-23-2"
|
||||
"ПрПА Конс DL ПЗПІ-23-2; №2",06/16/2025,01:10 pm,06/16/2025,02:45 pm,"ПрПА Конс DL ПЗПІ-23-2"
|
||||
"ОПJа Пз DL ПЗПІ-23-2; №1",03/10/2025,02:55 pm,03/10/2025,04:30 pm,"ОПJа Пз DL ПЗПІ-23-2"
|
||||
"ОПJа Лб DL ПЗПІ-23-2; №3",03/17/2025,02:55 pm,03/17/2025,04:30 pm,"ОПJа Лб DL ПЗПІ-23-2"
|
||||
"ОПJа Лб DL ПЗПІ-23-2; №3",04/07/2025,02:55 pm,04/07/2025,04:30 pm,"ОПJа Лб DL ПЗПІ-23-2"
|
||||
"ОПJа Пз DL ПЗПІ-23-2; №1",04/21/2025,02:55 pm,04/21/2025,04:30 pm,"ОПJа Пз DL ПЗПІ-23-2"
|
||||
"ОПJа Лб DL ПЗПІ-23-2; №3",04/28/2025,02:55 pm,04/28/2025,04:30 pm,"ОПJа Лб DL ПЗПІ-23-2"
|
||||
"ОПJа Лб DL ПЗПІ-23-2; №3",05/19/2025,02:55 pm,05/19/2025,04:30 pm,"ОПJа Лб DL ПЗПІ-23-2"
|
||||
"ОПJа Лб DL ПЗПІ-23-2; №3",06/02/2025,02:55 pm,06/02/2025,04:30 pm,"ОПJа Лб DL ПЗПІ-23-2"
|
||||
"ОПJа Пз DL ПЗПІ-23-2; №2",03/10/2025,04:40 pm,03/10/2025,06:15 pm,"ОПJа Пз DL ПЗПІ-23-2"
|
||||
"ОПJа Лб DL ПЗПІ-23-2; №4",03/17/2025,04:40 pm,03/17/2025,06:15 pm,"ОПJа Лб DL ПЗПІ-23-2"
|
||||
"ОПJа Лб DL ПЗПІ-23-2; №4",04/07/2025,04:40 pm,04/07/2025,06:15 pm,"ОПJа Лб DL ПЗПІ-23-2"
|
||||
"ОПJа Пз DL ПЗПІ-23-2; №2",04/21/2025,04:40 pm,04/21/2025,06:15 pm,"ОПJа Пз DL ПЗПІ-23-2"
|
||||
"ОПJа Лб DL ПЗПІ-23-2; №4",04/28/2025,04:40 pm,04/28/2025,06:15 pm,"ОПJа Лб DL ПЗПІ-23-2"
|
||||
"ОПJа Лб DL ПЗПІ-23-2; №4",05/19/2025,04:40 pm,05/19/2025,06:15 pm,"ОПJа Лб DL ПЗПІ-23-2"
|
||||
"ОПJа Лб DL ПЗПІ-23-2; №4",06/02/2025,04:40 pm,06/02/2025,06:15 pm,"ОПJа Лб DL ПЗПІ-23-2"
|
||||
"ОС Лб DL ПЗПІ-23-2; №1",03/04/2025,07:45 am,03/04/2025,09:20 am,"ОС Лб DL ПЗПІ-23-2"
|
||||
"ОС Лб DL ПЗПІ-23-2; №1",03/18/2025,07:45 am,03/18/2025,09:20 am,"ОС Лб DL ПЗПІ-23-2"
|
||||
"ОС Лб DL ПЗПІ-23-2; №1",04/01/2025,07:45 am,04/01/2025,09:20 am,"ОС Лб DL ПЗПІ-23-2"
|
||||
"ОС Лб DL ПЗПІ-23-2; №1",04/15/2025,07:45 am,04/15/2025,09:20 am,"ОС Лб DL ПЗПІ-23-2"
|
||||
"ОС Лб DL ПЗПІ-23-2; №1",04/29/2025,07:45 am,04/29/2025,09:20 am,"ОС Лб DL ПЗПІ-23-2"
|
||||
"ОС Лб DL ПЗПІ-23-2; №1",05/13/2025,07:45 am,05/13/2025,09:20 am,"ОС Лб DL ПЗПІ-23-2"
|
||||
"ОС Лб DL ПЗПІ-23-2; №1",05/27/2025,07:45 am,05/27/2025,09:20 am,"ОС Лб DL ПЗПІ-23-2"
|
||||
"ОС Лб DL ПЗПІ-23-2; №1",06/03/2025,07:45 am,06/03/2025,09:20 am,"ОС Лб DL ПЗПІ-23-2"
|
||||
"ІМ Екз DL ПЗПІ-23-2; №1",06/24/2025,07:45 am,06/24/2025,09:20 am,"ІМ Екз DL ПЗПІ-23-2"
|
||||
"ОС Лб DL ПЗПІ-23-2; №2",03/04/2025,09:30 am,03/04/2025,11:05 am,"ОС Лб DL ПЗПІ-23-2"
|
||||
"ОС Лб DL ПЗПІ-23-2; №2",03/18/2025,09:30 am,03/18/2025,11:05 am,"ОС Лб DL ПЗПІ-23-2"
|
||||
"ОС Лб DL ПЗПІ-23-2; №2",04/01/2025,09:30 am,04/01/2025,11:05 am,"ОС Лб DL ПЗПІ-23-2"
|
||||
"ОС Лб DL ПЗПІ-23-2; №2",04/15/2025,09:30 am,04/15/2025,11:05 am,"ОС Лб DL ПЗПІ-23-2"
|
||||
"ОС Лб DL ПЗПІ-23-2; №2",04/29/2025,09:30 am,04/29/2025,11:05 am,"ОС Лб DL ПЗПІ-23-2"
|
||||
"ОС Лб DL ПЗПІ-23-2; №2",05/13/2025,09:30 am,05/13/2025,11:05 am,"ОС Лб DL ПЗПІ-23-2"
|
||||
"ОС Лб DL ПЗПІ-23-2; №2",05/27/2025,09:30 am,05/27/2025,11:05 am,"ОС Лб DL ПЗПІ-23-2"
|
||||
"ОС Лб DL ПЗПІ-23-2; №2",06/03/2025,09:30 am,06/03/2025,11:05 am,"ОС Лб DL ПЗПІ-23-2"
|
||||
"ІМ Екз DL ПЗПІ-23-2; №2",06/24/2025,09:30 am,06/24/2025,11:05 am,"ІМ Екз DL ПЗПІ-23-2"
|
||||
"ІМ Пз DL ПЗПІ-23-2; №1",02/11/2025,11:15 am,02/11/2025,12:50 pm,"ІМ Пз DL ПЗПІ-23-2"
|
||||
"ІМ Пз DL ПЗПІ-23-2; №1",02/18/2025,11:15 am,02/18/2025,12:50 pm,"ІМ Пз DL ПЗПІ-23-2"
|
||||
"Філ Пз DL ПЗПІ-23-2; №1",02/25/2025,11:15 am,02/25/2025,12:50 pm,"Філ Пз DL ПЗПІ-23-2"
|
||||
"Філ Пз DL ПЗПІ-23-2; №3",03/04/2025,11:15 am,03/04/2025,12:50 pm,"Філ Пз DL ПЗПІ-23-2"
|
||||
"ІМ Пз DL ПЗПІ-23-2; №1",03/11/2025,11:15 am,03/11/2025,12:50 pm,"ІМ Пз DL ПЗПІ-23-2"
|
||||
"Філ Пз DL ПЗПІ-23-2; №3",03/18/2025,11:15 am,03/18/2025,12:50 pm,"Філ Пз DL ПЗПІ-23-2"
|
||||
"ІМ Пз DL ПЗПІ-23-2; №1",03/25/2025,11:15 am,03/25/2025,12:50 pm,"ІМ Пз DL ПЗПІ-23-2"
|
||||
"Філ Пз DL ПЗПІ-23-2; №3",04/01/2025,11:15 am,04/01/2025,12:50 pm,"Філ Пз DL ПЗПІ-23-2"
|
||||
"ІМ Пз DL ПЗПІ-23-2; №1",04/08/2025,11:15 am,04/08/2025,12:50 pm,"ІМ Пз DL ПЗПІ-23-2"
|
||||
"Філ Пз DL ПЗПІ-23-2; №3",04/15/2025,11:15 am,04/15/2025,12:50 pm,"Філ Пз DL ПЗПІ-23-2"
|
||||
"ІМ Пз DL ПЗПІ-23-2; №1",04/22/2025,11:15 am,04/22/2025,12:50 pm,"ІМ Пз DL ПЗПІ-23-2"
|
||||
"Філ Пз DL ПЗПІ-23-2; №3",04/29/2025,11:15 am,04/29/2025,12:50 pm,"Філ Пз DL ПЗПІ-23-2"
|
||||
"ІМ Пз DL ПЗПІ-23-2; №1",05/06/2025,11:15 am,05/06/2025,12:50 pm,"ІМ Пз DL ПЗПІ-23-2"
|
||||
"Філ Пз DL ПЗПІ-23-2; №3",05/13/2025,11:15 am,05/13/2025,12:50 pm,"Філ Пз DL ПЗПІ-23-2"
|
||||
"ІМ Пз DL ПЗПІ-23-2; №1",05/20/2025,11:15 am,05/20/2025,12:50 pm,"ІМ Пз DL ПЗПІ-23-2"
|
||||
"Філ Пз DL ПЗПІ-23-2; №3",05/27/2025,11:15 am,05/27/2025,12:50 pm,"Філ Пз DL ПЗПІ-23-2"
|
||||
"ІМ Пз DL ПЗПІ-23-2; №3",06/03/2025,11:15 am,06/03/2025,12:50 pm,"ІМ Пз DL ПЗПІ-23-2"
|
||||
"ІМ Екз DL ПЗПІ-23-2; №3",06/24/2025,11:15 am,06/24/2025,12:50 pm,"ІМ Екз DL ПЗПІ-23-2"
|
||||
"ІМ Пз DL ПЗПІ-23-2; №2",02/11/2025,01:10 pm,02/11/2025,02:45 pm,"ІМ Пз DL ПЗПІ-23-2"
|
||||
"ІМ Пз DL ПЗПІ-23-2; №2",02/18/2025,01:10 pm,02/18/2025,02:45 pm,"ІМ Пз DL ПЗПІ-23-2"
|
||||
"ІМ Пз DL ПЗПІ-23-2; №2",02/25/2025,01:10 pm,02/25/2025,02:45 pm,"ІМ Пз DL ПЗПІ-23-2"
|
||||
"ІМ Пз DL ПЗПІ-23-2; №4",03/04/2025,01:10 pm,03/04/2025,02:45 pm,"ІМ Пз DL ПЗПІ-23-2"
|
||||
"ІМ Пз DL ПЗПІ-23-2; №2",03/11/2025,01:10 pm,03/11/2025,02:45 pm,"ІМ Пз DL ПЗПІ-23-2"
|
||||
"ІМ Пз DL ПЗПІ-23-2; №4",03/18/2025,01:10 pm,03/18/2025,02:45 pm,"ІМ Пз DL ПЗПІ-23-2"
|
||||
"ІМ Пз DL ПЗПІ-23-2; №2",03/25/2025,01:10 pm,03/25/2025,02:45 pm,"ІМ Пз DL ПЗПІ-23-2"
|
||||
"ІМ Пз DL ПЗПІ-23-2; №4",04/01/2025,01:10 pm,04/01/2025,02:45 pm,"ІМ Пз DL ПЗПІ-23-2"
|
||||
"ІМ Пз DL ПЗПІ-23-2; №2",04/08/2025,01:10 pm,04/08/2025,02:45 pm,"ІМ Пз DL ПЗПІ-23-2"
|
||||
"ІМ Пз DL ПЗПІ-23-2; №4",04/15/2025,01:10 pm,04/15/2025,02:45 pm,"ІМ Пз DL ПЗПІ-23-2"
|
||||
"ІМ Пз DL ПЗПІ-23-2; №2",04/22/2025,01:10 pm,04/22/2025,02:45 pm,"ІМ Пз DL ПЗПІ-23-2"
|
||||
"ІМ Пз DL ПЗПІ-23-2; №4",04/29/2025,01:10 pm,04/29/2025,02:45 pm,"ІМ Пз DL ПЗПІ-23-2"
|
||||
"ІМ Пз DL ПЗПІ-23-2; №2",05/06/2025,01:10 pm,05/06/2025,02:45 pm,"ІМ Пз DL ПЗПІ-23-2"
|
||||
"ІМ Пз DL ПЗПІ-23-2; №4",05/13/2025,01:10 pm,05/13/2025,02:45 pm,"ІМ Пз DL ПЗПІ-23-2"
|
||||
"ІМ Пз DL ПЗПІ-23-2; №2",05/20/2025,01:10 pm,05/20/2025,02:45 pm,"ІМ Пз DL ПЗПІ-23-2"
|
||||
"ІМ Пз DL ПЗПІ-23-2; №4",05/27/2025,01:10 pm,05/27/2025,02:45 pm,"ІМ Пз DL ПЗПІ-23-2"
|
||||
"ОС Пз DL ПЗПІ-23-2; №3",02/25/2025,02:55 pm,02/25/2025,04:30 pm,"ОС Пз DL ПЗПІ-23-2"
|
||||
"ОС Пз DL ПЗПІ-23-2; №3",03/11/2025,02:55 pm,03/11/2025,04:30 pm,"ОС Пз DL ПЗПІ-23-2"
|
||||
"ОС Пз DL ПЗПІ-23-2; №3",03/25/2025,02:55 pm,03/25/2025,04:30 pm,"ОС Пз DL ПЗПІ-23-2"
|
||||
"ОС Пз DL ПЗПІ-23-2; №3",04/08/2025,02:55 pm,04/08/2025,04:30 pm,"ОС Пз DL ПЗПІ-23-2"
|
||||
"ОС Пз DL ПЗПІ-23-2; №3",04/22/2025,02:55 pm,04/22/2025,04:30 pm,"ОС Пз DL ПЗПІ-23-2"
|
||||
"ОС Пз DL ПЗПІ-23-2; №3",05/06/2025,02:55 pm,05/06/2025,04:30 pm,"ОС Пз DL ПЗПІ-23-2"
|
||||
"ОС Конс DL ПЗПІ-23-2; №1",06/10/2025,04:40 pm,06/10/2025,06:15 pm,"ОС Конс DL ПЗПІ-23-2"
|
||||
"*ВІА Пз DL *ВІА(ПЗПІ-23-)-2; №1",03/19/2025,07:45 am,03/19/2025,09:20 am,"*ВІА Пз DL *ВІА(ПЗПІ-23-)-2"
|
||||
"*ВІА Лб DL *ВІА(ПЗПІ-23-)-2; №1",03/26/2025,07:45 am,03/26/2025,09:20 am,"*ВІА Лб DL *ВІА(ПЗПІ-23-)-2"
|
||||
"СмП Лб DL ПЗПІ-23-2; №1",04/02/2025,07:45 am,04/02/2025,09:20 am,"СмП Лб DL ПЗПІ-23-2"
|
||||
"*ВІА Лб DL *ВІА(ПЗПІ-23-)-2; №1",04/09/2025,07:45 am,04/09/2025,09:20 am,"*ВІА Лб DL *ВІА(ПЗПІ-23-)-2"
|
||||
"*ВІА Пз DL *ВІА(ПЗПІ-23-)-2; №1",04/23/2025,07:45 am,04/23/2025,09:20 am,"*ВІА Пз DL *ВІА(ПЗПІ-23-)-2"
|
||||
"*ВІА Лб DL *ВІА(ПЗПІ-23-)-2; №1",04/30/2025,07:45 am,04/30/2025,09:20 am,"*ВІА Лб DL *ВІА(ПЗПІ-23-)-2"
|
||||
"*ВІА Лб DL *ВІА(ПЗПІ-23-)-2; №1",05/14/2025,07:45 am,05/14/2025,09:20 am,"*ВІА Лб DL *ВІА(ПЗПІ-23-)-2"
|
||||
"*ВІА Лб DL *ВІА(ПЗПІ-23-)-2; №1",05/28/2025,07:45 am,05/28/2025,09:20 am,"*ВІА Лб DL *ВІА(ПЗПІ-23-)-2"
|
||||
"СмП Лб DL ПЗПІ-23-2; №1",06/04/2025,07:45 am,06/04/2025,09:20 am,"СмП Лб DL ПЗПІ-23-2"
|
||||
"СмП Пз DL ПЗПІ-23-2; №1",03/05/2025,09:30 am,03/05/2025,11:05 am,"СмП Пз DL ПЗПІ-23-2"
|
||||
"*ВІА Пз DL *ВІА(ПЗПІ-23-)-2; №2",03/19/2025,09:30 am,03/19/2025,11:05 am,"*ВІА Пз DL *ВІА(ПЗПІ-23-)-2"
|
||||
"*ВІА Лб DL *ВІА(ПЗПІ-23-)-2; №2",03/26/2025,09:30 am,03/26/2025,11:05 am,"*ВІА Лб DL *ВІА(ПЗПІ-23-)-2"
|
||||
"СмП Лб DL ПЗПІ-23-2; №2",04/02/2025,09:30 am,04/02/2025,11:05 am,"СмП Лб DL ПЗПІ-23-2"
|
||||
"*ВІА Лб DL *ВІА(ПЗПІ-23-)-2; №2",04/09/2025,09:30 am,04/09/2025,11:05 am,"*ВІА Лб DL *ВІА(ПЗПІ-23-)-2"
|
||||
"*ВІА Пз DL *ВІА(ПЗПІ-23-)-2; №2",04/23/2025,09:30 am,04/23/2025,11:05 am,"*ВІА Пз DL *ВІА(ПЗПІ-23-)-2"
|
||||
"*ВІА Лб DL *ВІА(ПЗПІ-23-)-2; №2",04/30/2025,09:30 am,04/30/2025,11:05 am,"*ВІА Лб DL *ВІА(ПЗПІ-23-)-2"
|
||||
"*ВІА Лб DL *ВІА(ПЗПІ-23-)-2; №2",05/14/2025,09:30 am,05/14/2025,11:05 am,"*ВІА Лб DL *ВІА(ПЗПІ-23-)-2"
|
||||
"*ВІА Лб DL *ВІА(ПЗПІ-23-)-2; №2",05/28/2025,09:30 am,05/28/2025,11:05 am,"*ВІА Лб DL *ВІА(ПЗПІ-23-)-2"
|
||||
"СмП Лб DL ПЗПІ-23-2; №2",06/04/2025,09:30 am,06/04/2025,11:05 am,"СмП Лб DL ПЗПІ-23-2"
|
||||
"ПрПА Лк DL ПЗПІ-23-1,2,3,4,5; №1",02/12/2025,11:15 am,02/12/2025,12:50 pm,"ПрПА Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ПрПА Лк DL ПЗПІ-23-1,2,3,4,5; №1",02/19/2025,11:15 am,02/19/2025,12:50 pm,"ПрПА Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ПрПА Лк DL ПЗПІ-23-1,2,3,4,5; №1",02/26/2025,11:15 am,02/26/2025,12:50 pm,"ПрПА Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ПрПА Лк DL ПЗПІ-23-1,2,3,4,5; №2",03/05/2025,11:15 am,03/05/2025,12:50 pm,"ПрПА Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ПрПА Лк DL ПЗПІ-23-1,2,3,4,5; №1",03/12/2025,11:15 am,03/12/2025,12:50 pm,"ПрПА Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ПрПА Лк DL ПЗПІ-23-1,2,3,4,5; №3",03/19/2025,11:15 am,03/19/2025,12:50 pm,"ПрПА Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ПрПА Лк DL ПЗПІ-23-1,2,3,4,5; №3",03/26/2025,11:15 am,03/26/2025,12:50 pm,"ПрПА Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ПрПА Лк DL ПЗПІ-23-1,2,3,4,5; №3",04/02/2025,11:15 am,04/02/2025,12:50 pm,"ПрПА Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"СмП Лк DL ПЗПІ-23-1,2,3,4,5; №3",04/09/2025,11:15 am,04/09/2025,12:50 pm,"СмП Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"СмП Лб DL ПЗПІ-23-2; №3",04/23/2025,11:15 am,04/23/2025,12:50 pm,"СмП Лб DL ПЗПІ-23-2"
|
||||
"СмП Лб DL ПЗПІ-23-2; №1",05/07/2025,11:15 am,05/07/2025,12:50 pm,"СмП Лб DL ПЗПІ-23-2"
|
||||
"СмП Лк DL ПЗПІ-23-1,2,3,4,5; №2",02/12/2025,01:10 pm,02/12/2025,02:45 pm,"СмП Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"СмП Лк DL ПЗПІ-23-1,2,3,4,5; №2",02/19/2025,01:10 pm,02/19/2025,02:45 pm,"СмП Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"СмП Лк DL ПЗПІ-23-1,2,3,4,5; №2",02/26/2025,01:10 pm,02/26/2025,02:45 pm,"СмП Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"СмП Лк DL ПЗПІ-23-1,2,3,4,5; №3",03/05/2025,01:10 pm,03/05/2025,02:45 pm,"СмП Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"СмП Лк DL ПЗПІ-23-1,2,3,4,5; №2",03/12/2025,01:10 pm,03/12/2025,02:45 pm,"СмП Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"СмП Лк DL ПЗПІ-23-1,2,3,4,5; №4",03/19/2025,01:10 pm,03/19/2025,02:45 pm,"СмП Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"СмП Лк DL ПЗПІ-23-1,2,3,4,5; №4",03/26/2025,01:10 pm,03/26/2025,02:45 pm,"СмП Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОПJа Лк DL ПЗПІ-23-1,2,3,4,5; №4",04/02/2025,01:10 pm,04/02/2025,02:45 pm,"ОПJа Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"СмП Лк DL ПЗПІ-23-1,2,3,4,5; №4",04/09/2025,01:10 pm,04/09/2025,02:45 pm,"СмП Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"СмП Лб DL ПЗПІ-23-2; №4",04/23/2025,01:10 pm,04/23/2025,02:45 pm,"СмП Лб DL ПЗПІ-23-2"
|
||||
"СмП Лб DL ПЗПІ-23-2; №2",05/07/2025,01:10 pm,05/07/2025,02:45 pm,"СмП Лб DL ПЗПІ-23-2"
|
||||
"ОС Екз DL ПЗПІ-23-2; №1",06/11/2025,01:10 pm,06/11/2025,02:45 pm,"ОС Екз DL ПЗПІ-23-2"
|
||||
"ПрПА Екз DL ПЗПІ-23-2; №1",06/18/2025,01:10 pm,06/18/2025,02:45 pm,"ПрПА Екз DL ПЗПІ-23-2"
|
||||
"ОС Лк DL ПЗПІ-23-1,2,3,4,5; №3",02/12/2025,02:55 pm,02/12/2025,04:30 pm,"ОС Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОС Лк DL ПЗПІ-23-1,2,3,4,5; №3",02/19/2025,02:55 pm,02/19/2025,04:30 pm,"ОС Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОС Екз DL ПЗПІ-23-2; №2",06/11/2025,02:55 pm,06/11/2025,04:30 pm,"ОС Екз DL ПЗПІ-23-2"
|
||||
"ПрПА Екз DL ПЗПІ-23-2; №2",06/18/2025,02:55 pm,06/18/2025,04:30 pm,"ПрПА Екз DL ПЗПІ-23-2"
|
||||
"ОПJа Лк DL ПЗПІ-23-1,2,3,4,5; №4",02/12/2025,04:40 pm,02/12/2025,06:15 pm,"ОПJа Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОПJа Лк DL ПЗПІ-23-1,2,3,4,5; №4",02/19/2025,04:40 pm,02/19/2025,06:15 pm,"ОПJа Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОС Екз DL ПЗПІ-23-2; №3",06/11/2025,04:40 pm,06/11/2025,06:15 pm,"ОС Екз DL ПЗПІ-23-2"
|
||||
"ПрПА Екз DL ПЗПІ-23-2; №3",06/18/2025,04:40 pm,06/18/2025,06:15 pm,"ПрПА Екз DL ПЗПІ-23-2"
|
||||
"*ВІА Зал DL *ВІА(ПЗПІ-23-)-2; №1",06/12/2025,09:30 am,06/12/2025,11:05 am,"*ВІА Зал DL *ВІА(ПЗПІ-23-)-2"
|
||||
"Філ Лк DL ПЗПІ-23-1,2,3,4,5; №1",02/13/2025,11:15 am,02/13/2025,12:50 pm,"Філ Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"Філ Лк DL ПЗПІ-23-1,2,3,4,5; №1",02/20/2025,11:15 am,02/20/2025,12:50 pm,"Філ Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"Філ Лк DL ПЗПІ-23-1,2,3,4,5; №1",02/27/2025,11:15 am,02/27/2025,12:50 pm,"Філ Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"Філ Лк DL ПЗПІ-23-1,2,3,4,5; №1",03/06/2025,11:15 am,03/06/2025,12:50 pm,"Філ Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"Філ Лк DL ПЗПІ-23-1,2,3,4,5; №1",03/13/2025,11:15 am,03/13/2025,12:50 pm,"Філ Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"Філ Лк DL ПЗПІ-23-1,2,3,4,5; №1",03/20/2025,11:15 am,03/20/2025,12:50 pm,"Філ Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"Філ Лк DL ПЗПІ-23-1,2,3,4,5; №1",03/27/2025,11:15 am,03/27/2025,12:50 pm,"Філ Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"Філ Лк DL ПЗПІ-23-1,2,3,4,5; №1",04/10/2025,11:15 am,04/10/2025,12:50 pm,"Філ Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"Філ Лк DL ПЗПІ-23-1,2,3,4,5; №1",04/17/2025,11:15 am,04/17/2025,12:50 pm,"Філ Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"Філ Лк DL ПЗПІ-23-1,2,3,4,5; №1",04/24/2025,11:15 am,04/24/2025,12:50 pm,"Філ Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"Філ Лк DL ПЗПІ-23-1,2,3,4,5; №1",05/01/2025,11:15 am,05/01/2025,12:50 pm,"Філ Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"Філ Лк DL ПЗПІ-23-1,2,3,4,5; №1",05/08/2025,11:15 am,05/08/2025,12:50 pm,"Філ Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ФВ Пз DL ПЗПІ-23-2; №1",06/05/2025,11:15 am,06/05/2025,12:50 pm,"ФВ Пз DL ПЗПІ-23-2"
|
||||
"СмП Зал DL ПЗПІ-23-2; №1",06/19/2025,11:15 am,06/19/2025,12:50 pm,"СмП Зал DL ПЗПІ-23-2"
|
||||
"ФВ Пз DL ПЗПІ-23-2; №2",02/13/2025,01:10 pm,02/13/2025,02:45 pm,"ФВ Пз DL ПЗПІ-23-2"
|
||||
"ФВ Пз DL ПЗПІ-23-2; №2",02/20/2025,01:10 pm,02/20/2025,02:45 pm,"ФВ Пз DL ПЗПІ-23-2"
|
||||
"ФВ Пз DL ПЗПІ-23-2; №2",02/27/2025,01:10 pm,02/27/2025,02:45 pm,"ФВ Пз DL ПЗПІ-23-2"
|
||||
"ФВ Пз DL ПЗПІ-23-2; №2",03/06/2025,01:10 pm,03/06/2025,02:45 pm,"ФВ Пз DL ПЗПІ-23-2"
|
||||
"ФВ Пз DL ПЗПІ-23-2; №2",03/13/2025,01:10 pm,03/13/2025,02:45 pm,"ФВ Пз DL ПЗПІ-23-2"
|
||||
"ФВ Пз DL ПЗПІ-23-2; №2",03/20/2025,01:10 pm,03/20/2025,02:45 pm,"ФВ Пз DL ПЗПІ-23-2"
|
||||
"ФВ Пз DL ПЗПІ-23-2; №2",03/27/2025,01:10 pm,03/27/2025,02:45 pm,"ФВ Пз DL ПЗПІ-23-2"
|
||||
"ФВ Пз DL ПЗПІ-23-2; №2",04/10/2025,01:10 pm,04/10/2025,02:45 pm,"ФВ Пз DL ПЗПІ-23-2"
|
||||
"ФВ Пз DL ПЗПІ-23-2; №2",04/17/2025,01:10 pm,04/17/2025,02:45 pm,"ФВ Пз DL ПЗПІ-23-2"
|
||||
"ФВ Пз DL ПЗПІ-23-2; №2",04/24/2025,01:10 pm,04/24/2025,02:45 pm,"ФВ Пз DL ПЗПІ-23-2"
|
||||
"ФВ Пз DL ПЗПІ-23-2; №2",05/01/2025,01:10 pm,05/01/2025,02:45 pm,"ФВ Пз DL ПЗПІ-23-2"
|
||||
"ФВ Пз DL ПЗПІ-23-2; №2",05/08/2025,01:10 pm,05/08/2025,02:45 pm,"ФВ Пз DL ПЗПІ-23-2"
|
||||
"ФВ Пз DL ПЗПІ-23-2; №1",05/15/2025,01:10 pm,05/15/2025,02:45 pm,"ФВ Пз DL ПЗПІ-23-2"
|
||||
"ФВ Пз DL ПЗПІ-23-2; №1",05/22/2025,01:10 pm,05/22/2025,02:45 pm,"ФВ Пз DL ПЗПІ-23-2"
|
||||
"ФВ Пз DL ПЗПІ-23-2; №1",05/29/2025,01:10 pm,05/29/2025,02:45 pm,"ФВ Пз DL ПЗПІ-23-2"
|
||||
"ФВ Пз DL ПЗПІ-23-2; №2",06/05/2025,01:10 pm,06/05/2025,02:45 pm,"ФВ Пз DL ПЗПІ-23-2"
|
||||
"*МСП Зал DL *МСП(ПЗПІ-23-)-1; №2",06/19/2025,01:10 pm,06/19/2025,02:45 pm,"*МСП Зал DL *МСП(ПЗПІ-23-)-1"
|
||||
"ОС Лк DL ПЗПІ-23-1,2,3,4,5; №3",02/13/2025,02:55 pm,02/13/2025,04:30 pm,"ОС Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОС Лк DL ПЗПІ-23-1,2,3,4,5; №3",02/20/2025,02:55 pm,02/20/2025,04:30 pm,"ОС Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОС Лк DL ПЗПІ-23-1,2,3,4,5; №3",02/27/2025,02:55 pm,02/27/2025,04:30 pm,"ОС Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОС Лк DL ПЗПІ-23-1,2,3,4,5; №3",03/06/2025,02:55 pm,03/06/2025,04:30 pm,"ОС Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОС Лк DL ПЗПІ-23-1,2,3,4,5; №3",03/13/2025,02:55 pm,03/13/2025,04:30 pm,"ОС Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОС Лк DL ПЗПІ-23-1,2,3,4,5; №3",03/20/2025,02:55 pm,03/20/2025,04:30 pm,"ОС Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОС Лк DL ПЗПІ-23-1,2,3,4,5; №3",03/27/2025,02:55 pm,03/27/2025,04:30 pm,"ОС Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОС Лк DL ПЗПІ-23-1,2,3,4,5; №3",04/10/2025,02:55 pm,04/10/2025,04:30 pm,"ОС Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОС Лк DL ПЗПІ-23-1,2,3,4,5; №3",04/17/2025,02:55 pm,04/17/2025,04:30 pm,"ОС Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОС Лк DL ПЗПІ-23-1,2,3,4,5; №3",04/24/2025,02:55 pm,04/24/2025,04:30 pm,"ОС Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОС Лк DL ПЗПІ-23-1,2,3,4,5; №3",05/01/2025,02:55 pm,05/01/2025,04:30 pm,"ОС Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОС Лк DL ПЗПІ-23-1,2,3,4,5; №3",05/08/2025,02:55 pm,05/08/2025,04:30 pm,"ОС Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОПJа Лк DL ПЗПІ-23-1,2,3,4,5; №2",05/22/2025,02:55 pm,05/22/2025,04:30 pm,"ОПJа Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОС Лк DL ПЗПІ-23-1,2,3,4,5; №4",02/13/2025,04:40 pm,02/13/2025,06:15 pm,"ОС Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОПJа Лк DL ПЗПІ-23-1,2,3,4,5; №4",02/20/2025,04:40 pm,02/20/2025,06:15 pm,"ОПJа Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОПJа Лк DL ПЗПІ-23-1,2,3,4,5; №4",02/27/2025,04:40 pm,02/27/2025,06:15 pm,"ОПJа Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОС Лк DL ПЗПІ-23-1,2,3,4,5; №4",03/06/2025,04:40 pm,03/06/2025,06:15 pm,"ОС Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОПJа Лк DL ПЗПІ-23-1,2,3,4,5; №4",03/13/2025,04:40 pm,03/13/2025,06:15 pm,"ОПJа Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОПJа Лк DL ПЗПІ-23-1,2,3,4,5; №4",03/20/2025,04:40 pm,03/20/2025,06:15 pm,"ОПJа Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОС Лк DL ПЗПІ-23-1,2,3,4,5; №4",03/27/2025,04:40 pm,03/27/2025,06:15 pm,"ОС Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОПJа Лк DL ПЗПІ-23-1,2,3,4,5; №4",04/10/2025,04:40 pm,04/10/2025,06:15 pm,"ОПJа Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОС Лк DL ПЗПІ-23-1,2,3,4,5; №4",04/17/2025,04:40 pm,04/17/2025,06:15 pm,"ОС Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОПJа Лк DL ПЗПІ-23-1,2,3,4,5; №4",04/24/2025,04:40 pm,04/24/2025,06:15 pm,"ОПJа Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОПJа Лк DL ПЗПІ-23-1,2,3,4,5; №4",05/01/2025,04:40 pm,05/01/2025,06:15 pm,"ОПJа Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОПJа Лк DL ПЗПІ-23-1,2,3,4,5; №4",05/08/2025,04:40 pm,05/08/2025,06:15 pm,"ОПJа Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОС Лк DL ПЗПІ-23-1,2,3,4,5; №3",05/22/2025,04:40 pm,05/22/2025,06:15 pm,"ОС Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"*ВІА Лк DL *ВІА(ПЗПІ-23-)-1;*ВІА(ПЗПІ-23-)-2;*ВІА(ПЗПІ-23-)-3;*ВІА(ПЗПІ-23-)-4;*ВІА(ПЗПІ-23-)-5; №1",02/14/2025,07:45 am,02/14/2025,09:20 am,"*ВІА Лк DL *ВІА(ПЗПІ-23-)-1;*ВІА(ПЗПІ-23-)-2;*ВІА(ПЗПІ-23-)-3;*ВІА(ПЗПІ-23-)-4;*ВІА(ПЗПІ-23-)-5"
|
||||
"*ВІА Лк DL *ВІА(ПЗПІ-23-)-1;*ВІА(ПЗПІ-23-)-2;*ВІА(ПЗПІ-23-)-3;*ВІА(ПЗПІ-23-)-4;*ВІА(ПЗПІ-23-)-5; №1",02/21/2025,07:45 am,02/21/2025,09:20 am,"*ВІА Лк DL *ВІА(ПЗПІ-23-)-1;*ВІА(ПЗПІ-23-)-2;*ВІА(ПЗПІ-23-)-3;*ВІА(ПЗПІ-23-)-4;*ВІА(ПЗПІ-23-)-5"
|
||||
"*ВІА Лк DL *ВІА(ПЗПІ-23-)-1;*ВІА(ПЗПІ-23-)-2;*ВІА(ПЗПІ-23-)-3;*ВІА(ПЗПІ-23-)-4;*ВІА(ПЗПІ-23-)-5; №1",02/28/2025,07:45 am,02/28/2025,09:20 am,"*ВІА Лк DL *ВІА(ПЗПІ-23-)-1;*ВІА(ПЗПІ-23-)-2;*ВІА(ПЗПІ-23-)-3;*ВІА(ПЗПІ-23-)-4;*ВІА(ПЗПІ-23-)-5"
|
||||
"*ВІА Лк DL *ВІА(ПЗПІ-23-)-1;*ВІА(ПЗПІ-23-)-2;*ВІА(ПЗПІ-23-)-3;*ВІА(ПЗПІ-23-)-4;*ВІА(ПЗПІ-23-)-5; №1",03/07/2025,07:45 am,03/07/2025,09:20 am,"*ВІА Лк DL *ВІА(ПЗПІ-23-)-1;*ВІА(ПЗПІ-23-)-2;*ВІА(ПЗПІ-23-)-3;*ВІА(ПЗПІ-23-)-4;*ВІА(ПЗПІ-23-)-5"
|
||||
"*ВІА Лк DL *ВІА(ПЗПІ-23-)-1;*ВІА(ПЗПІ-23-)-2;*ВІА(ПЗПІ-23-)-3;*ВІА(ПЗПІ-23-)-4;*ВІА(ПЗПІ-23-)-5; №1",03/14/2025,07:45 am,03/14/2025,09:20 am,"*ВІА Лк DL *ВІА(ПЗПІ-23-)-1;*ВІА(ПЗПІ-23-)-2;*ВІА(ПЗПІ-23-)-3;*ВІА(ПЗПІ-23-)-4;*ВІА(ПЗПІ-23-)-5"
|
||||
"*ВІА Лк DL *ВІА(ПЗПІ-23-)-1;*ВІА(ПЗПІ-23-)-2;*ВІА(ПЗПІ-23-)-3;*ВІА(ПЗПІ-23-)-4;*ВІА(ПЗПІ-23-)-5; №1",03/21/2025,07:45 am,03/21/2025,09:20 am,"*ВІА Лк DL *ВІА(ПЗПІ-23-)-1;*ВІА(ПЗПІ-23-)-2;*ВІА(ПЗПІ-23-)-3;*ВІА(ПЗПІ-23-)-4;*ВІА(ПЗПІ-23-)-5"
|
||||
"*ВІА Лк DL *ВІА(ПЗПІ-23-)-1;*ВІА(ПЗПІ-23-)-2;*ВІА(ПЗПІ-23-)-3;*ВІА(ПЗПІ-23-)-4;*ВІА(ПЗПІ-23-)-5; №1",03/28/2025,07:45 am,03/28/2025,09:20 am,"*ВІА Лк DL *ВІА(ПЗПІ-23-)-1;*ВІА(ПЗПІ-23-)-2;*ВІА(ПЗПІ-23-)-3;*ВІА(ПЗПІ-23-)-4;*ВІА(ПЗПІ-23-)-5"
|
||||
"*ВІА Лк DL *ВІА(ПЗПІ-23-)-1;*ВІА(ПЗПІ-23-)-2;*ВІА(ПЗПІ-23-)-3;*ВІА(ПЗПІ-23-)-4;*ВІА(ПЗПІ-23-)-5; №1",04/11/2025,07:45 am,04/11/2025,09:20 am,"*ВІА Лк DL *ВІА(ПЗПІ-23-)-1;*ВІА(ПЗПІ-23-)-2;*ВІА(ПЗПІ-23-)-3;*ВІА(ПЗПІ-23-)-4;*ВІА(ПЗПІ-23-)-5"
|
||||
"*ВІА Лк DL *ВІА(ПЗПІ-23-)-1;*ВІА(ПЗПІ-23-)-2;*ВІА(ПЗПІ-23-)-3;*ВІА(ПЗПІ-23-)-4;*ВІА(ПЗПІ-23-)-5; №1",04/18/2025,07:45 am,04/18/2025,09:20 am,"*ВІА Лк DL *ВІА(ПЗПІ-23-)-1;*ВІА(ПЗПІ-23-)-2;*ВІА(ПЗПІ-23-)-3;*ВІА(ПЗПІ-23-)-4;*ВІА(ПЗПІ-23-)-5"
|
||||
"*ВІА Лк DL *ВІА(ПЗПІ-23-)-1;*ВІА(ПЗПІ-23-)-2;*ВІА(ПЗПІ-23-)-3;*ВІА(ПЗПІ-23-)-4;*ВІА(ПЗПІ-23-)-5; №1",04/25/2025,07:45 am,04/25/2025,09:20 am,"*ВІА Лк DL *ВІА(ПЗПІ-23-)-1;*ВІА(ПЗПІ-23-)-2;*ВІА(ПЗПІ-23-)-3;*ВІА(ПЗПІ-23-)-4;*ВІА(ПЗПІ-23-)-5"
|
||||
"*ОРО Лк DL *ОРО(ПЗПІ-23-)-1; *МСП Лк DL *МСП(ПЗПІ-23-)-1;*МСП(ПЗПІ-23-)-2; *ОDS Лк DL *ОDS(ПЗПІ-23-)-1;*ОDS(ПЗПІ-23-)-2; №2",02/14/2025,09:30 am,02/14/2025,11:05 am,"*ОРО Лк DL *ОРО(ПЗПІ-23-)-1; *МСП Лк DL *МСП(ПЗПІ-23-)-1;*МСП(ПЗПІ-23-)-2; *ОDS Лк DL *ОDS(ПЗПІ-23-)-1;*ОDS(ПЗПІ-23-)-2"
|
||||
"*ОРО Лк DL *ОРО(ПЗПІ-23-)-1; *МСП Лк DL *МСП(ПЗПІ-23-)-1;*МСП(ПЗПІ-23-)-2; *ОDS Лк DL *ОDS(ПЗПІ-23-)-1;*ОDS(ПЗПІ-23-)-2; №2",02/21/2025,09:30 am,02/21/2025,11:05 am,"*ОРО Лк DL *ОРО(ПЗПІ-23-)-1; *МСП Лк DL *МСП(ПЗПІ-23-)-1;*МСП(ПЗПІ-23-)-2; *ОDS Лк DL *ОDS(ПЗПІ-23-)-1;*ОDS(ПЗПІ-23-)-2"
|
||||
"*ОРО Лк DL *ОРО(ПЗПІ-23-)-1; *МСП Лк DL *МСП(ПЗПІ-23-)-1;*МСП(ПЗПІ-23-)-2; *ОDS Лк DL *ОDS(ПЗПІ-23-)-1;*ОDS(ПЗПІ-23-)-2; №2",02/28/2025,09:30 am,02/28/2025,11:05 am,"*ОРО Лк DL *ОРО(ПЗПІ-23-)-1; *МСП Лк DL *МСП(ПЗПІ-23-)-1;*МСП(ПЗПІ-23-)-2; *ОDS Лк DL *ОDS(ПЗПІ-23-)-1;*ОDS(ПЗПІ-23-)-2"
|
||||
"*ОРО Лк DL *ОРО(ПЗПІ-23-)-1; *МСП Лк DL *МСП(ПЗПІ-23-)-1;*МСП(ПЗПІ-23-)-2; *ОDS Лк DL *ОDS(ПЗПІ-23-)-1;*ОDS(ПЗПІ-23-)-2; №2",03/07/2025,09:30 am,03/07/2025,11:05 am,"*ОРО Лк DL *ОРО(ПЗПІ-23-)-1; *МСП Лк DL *МСП(ПЗПІ-23-)-1;*МСП(ПЗПІ-23-)-2; *ОDS Лк DL *ОDS(ПЗПІ-23-)-1;*ОDS(ПЗПІ-23-)-2"
|
||||
"*ОРО Лк DL *ОРО(ПЗПІ-23-)-1; *МСП Лк DL *МСП(ПЗПІ-23-)-1;*МСП(ПЗПІ-23-)-2; *ОDS Лк DL *ОDS(ПЗПІ-23-)-1;*ОDS(ПЗПІ-23-)-2; №2",03/14/2025,09:30 am,03/14/2025,11:05 am,"*ОРО Лк DL *ОРО(ПЗПІ-23-)-1; *МСП Лк DL *МСП(ПЗПІ-23-)-1;*МСП(ПЗПІ-23-)-2; *ОDS Лк DL *ОDS(ПЗПІ-23-)-1;*ОDS(ПЗПІ-23-)-2"
|
||||
"*ОРО Лк DL *ОРО(ПЗПІ-23-)-1; *МСП Лк DL *МСП(ПЗПІ-23-)-1;*МСП(ПЗПІ-23-)-2; *ОDS Лк DL *ОDS(ПЗПІ-23-)-1;*ОDS(ПЗПІ-23-)-2; №2",03/21/2025,09:30 am,03/21/2025,11:05 am,"*ОРО Лк DL *ОРО(ПЗПІ-23-)-1; *МСП Лк DL *МСП(ПЗПІ-23-)-1;*МСП(ПЗПІ-23-)-2; *ОDS Лк DL *ОDS(ПЗПІ-23-)-1;*ОDS(ПЗПІ-23-)-2"
|
||||
"*ОРО Лк DL *ОРО(ПЗПІ-23-)-1; *МСП Лк DL *МСП(ПЗПІ-23-)-1;*МСП(ПЗПІ-23-)-2; *ОDS Лк DL *ОDS(ПЗПІ-23-)-1;*ОDS(ПЗПІ-23-)-2; №2",03/28/2025,09:30 am,03/28/2025,11:05 am,"*ОРО Лк DL *ОРО(ПЗПІ-23-)-1; *МСП Лк DL *МСП(ПЗПІ-23-)-1;*МСП(ПЗПІ-23-)-2; *ОDS Лк DL *ОDS(ПЗПІ-23-)-1;*ОDS(ПЗПІ-23-)-2"
|
||||
"*ОРО Лк DL *ОРО(ПЗПІ-23-)-1; *МСП Лк DL *МСП(ПЗПІ-23-)-1;*МСП(ПЗПІ-23-)-2; *ОDS Лк DL *ОDS(ПЗПІ-23-)-1;*ОDS(ПЗПІ-23-)-2; №2",04/11/2025,09:30 am,04/11/2025,11:05 am,"*ОРО Лк DL *ОРО(ПЗПІ-23-)-1; *МСП Лк DL *МСП(ПЗПІ-23-)-1;*МСП(ПЗПІ-23-)-2; *ОDS Лк DL *ОDS(ПЗПІ-23-)-1;*ОDS(ПЗПІ-23-)-2"
|
||||
"*ОРО Лк DL *ОРО(ПЗПІ-23-)-1; *МСП Лк DL *МСП(ПЗПІ-23-)-1;*МСП(ПЗПІ-23-)-2; *ОDS Лк DL *ОDS(ПЗПІ-23-)-1;*ОDS(ПЗПІ-23-)-2; №2",04/18/2025,09:30 am,04/18/2025,11:05 am,"*ОРО Лк DL *ОРО(ПЗПІ-23-)-1; *МСП Лк DL *МСП(ПЗПІ-23-)-1;*МСП(ПЗПІ-23-)-2; *ОDS Лк DL *ОDS(ПЗПІ-23-)-1;*ОDS(ПЗПІ-23-)-2"
|
||||
"*ОРО Лк DL *ОРО(ПЗПІ-23-)-1; *МСП Лк DL *МСП(ПЗПІ-23-)-1;*МСП(ПЗПІ-23-)-2; *ОDS Лк DL *ОDS(ПЗПІ-23-)-1;*ОDS(ПЗПІ-23-)-2; №2",04/25/2025,09:30 am,04/25/2025,11:05 am,"*ОРО Лк DL *ОРО(ПЗПІ-23-)-1; *МСП Лк DL *МСП(ПЗПІ-23-)-1;*МСП(ПЗПІ-23-)-2; *ОDS Лк DL *ОDS(ПЗПІ-23-)-1;*ОDS(ПЗПІ-23-)-2"
|
||||
"*ОРО Лк DL *ОРО(ПЗПІ-23-)-1; *ВІА Лк DL *ВІА(ПЗПІ-23-)-1;*ВІА(ПЗПІ-23-)-2;*ВІА(ПЗПІ-23-)-3;*ВІА(ПЗПІ-23-)-4;*ВІА(ПЗПІ-23-)-5; *МСП Лк DL *МСП(ПЗПІ-23-)-1;*МСП(ПЗПІ-23-)-2; №1",05/02/2025,09:30 am,05/02/2025,11:05 am,"*ОРО Лк DL *ОРО(ПЗПІ-23-)-1; *ВІА Лк DL *ВІА(ПЗПІ-23-)-1;*ВІА(ПЗПІ-23-)-2;*ВІА(ПЗПІ-23-)-3;*ВІА(ПЗПІ-23-)-4;*ВІА(ПЗПІ-23-)-5; *МСП Лк DL *МСП(ПЗПІ-23-)-1;*МСП(ПЗПІ-23-)-2"
|
||||
"*МСП Лк DL *МСП(ПЗПІ-23-)-1;*МСП(ПЗПІ-23-)-2; №1",05/09/2025,09:30 am,05/09/2025,11:05 am,"*МСП Лк DL *МСП(ПЗПІ-23-)-1;*МСП(ПЗПІ-23-)-2"
|
||||
"*МСП Пз DL *МСП(ПЗПІ-23-)-1; №1",05/23/2025,09:30 am,05/23/2025,11:05 am,"*МСП Пз DL *МСП(ПЗПІ-23-)-1"
|
||||
"*ОDS Зал DL *ОDS(ПЗПІ-23-)-1; №1",06/20/2025,09:30 am,06/20/2025,11:05 am,"*ОDS Зал DL *ОDS(ПЗПІ-23-)-1"
|
||||
"*ОРО Пз DL *ОРО(ПЗПІ-23-)-1; *МСП Пз DL *МСП(ПЗПІ-23-)-1; *ОDS Пз DL *ОDS(ПЗПІ-23-)-1; №3",03/07/2025,11:15 am,03/07/2025,12:50 pm,"*ОРО Пз DL *ОРО(ПЗПІ-23-)-1; *МСП Пз DL *МСП(ПЗПІ-23-)-1; *ОDS Пз DL *ОDS(ПЗПІ-23-)-1"
|
||||
"*ОРО Лб DL *ОРО(ПЗПІ-23-)-1; *ОDS Лб DL *ОDS(ПЗПІ-23-)-1; №3",03/21/2025,11:15 am,03/21/2025,12:50 pm,"*ОРО Лб DL *ОРО(ПЗПІ-23-)-1; *ОDS Лб DL *ОDS(ПЗПІ-23-)-1"
|
||||
"*ОРО Лб DL *ОРО(ПЗПІ-23-)-1; *МСП Лб DL *МСП(ПЗПІ-23-)-1; *ОDS Лб DL *ОDS(ПЗПІ-23-)-1; №3",04/11/2025,11:15 am,04/11/2025,12:50 pm,"*ОРО Лб DL *ОРО(ПЗПІ-23-)-1; *МСП Лб DL *МСП(ПЗПІ-23-)-1; *ОDS Лб DL *ОDS(ПЗПІ-23-)-1"
|
||||
"*МСП Лб DL *МСП(ПЗПІ-23-)-1; №3",04/18/2025,11:15 am,04/18/2025,12:50 pm,"*МСП Лб DL *МСП(ПЗПІ-23-)-1"
|
||||
"*ОРО Пз DL *ОРО(ПЗПІ-23-)-1; *ОDS Пз DL *ОDS(ПЗПІ-23-)-1; №3",04/25/2025,11:15 am,04/25/2025,12:50 pm,"*ОРО Пз DL *ОРО(ПЗПІ-23-)-1; *ОDS Пз DL *ОDS(ПЗПІ-23-)-1"
|
||||
"*ОРО Лб DL *ОРО(ПЗПІ-23-)-1; *МСП Лб DL *МСП(ПЗПІ-23-)-1; *ОDS Лб DL *ОDS(ПЗПІ-23-)-1; №2",05/02/2025,11:15 am,05/02/2025,12:50 pm,"*ОРО Лб DL *ОРО(ПЗПІ-23-)-1; *МСП Лб DL *МСП(ПЗПІ-23-)-1; *ОDS Лб DL *ОDS(ПЗПІ-23-)-1"
|
||||
"*ОРО Лк DL *ОРО(ПЗПІ-23-)-1; *ОDS Лк DL *ОDS(ПЗПІ-23-)-1;*ОDS(ПЗПІ-23-)-2; №2",05/09/2025,11:15 am,05/09/2025,12:50 pm,"*ОРО Лк DL *ОРО(ПЗПІ-23-)-1; *ОDS Лк DL *ОDS(ПЗПІ-23-)-1;*ОDS(ПЗПІ-23-)-2"
|
||||
"*ОРО Лб DL *ОРО(ПЗПІ-23-)-1; *МСП Лб DL *МСП(ПЗПІ-23-)-1; *ОDS Лб DL *ОDS(ПЗПІ-23-)-1; №2",05/23/2025,11:15 am,05/23/2025,12:50 pm,"*ОРО Лб DL *ОРО(ПЗПІ-23-)-1; *МСП Лб DL *МСП(ПЗПІ-23-)-1; *ОDS Лб DL *ОDS(ПЗПІ-23-)-1"
|
||||
"*ОРО Лб DL *ОРО(ПЗПІ-23-)-1; *МСП Лб DL *МСП(ПЗПІ-23-)-1; *ОDS Лб DL *ОDS(ПЗПІ-23-)-1; №1",06/06/2025,11:15 am,06/06/2025,12:50 pm,"*ОРО Лб DL *ОРО(ПЗПІ-23-)-1; *МСП Лб DL *МСП(ПЗПІ-23-)-1; *ОDS Лб DL *ОDS(ПЗПІ-23-)-1"
|
||||
"*ОРО Пз DL *ОРО(ПЗПІ-23-)-1; *ОDS Пз DL *ОDS(ПЗПІ-23-)-1; №4",03/07/2025,01:10 pm,03/07/2025,02:45 pm,"*ОРО Пз DL *ОРО(ПЗПІ-23-)-1; *ОDS Пз DL *ОDS(ПЗПІ-23-)-1"
|
||||
"*ОРО Лб DL *ОРО(ПЗПІ-23-)-1; *ОDS Лб DL *ОDS(ПЗПІ-23-)-1; №4",03/21/2025,01:10 pm,03/21/2025,02:45 pm,"*ОРО Лб DL *ОРО(ПЗПІ-23-)-1; *ОDS Лб DL *ОDS(ПЗПІ-23-)-1"
|
||||
"*ОРО Лб DL *ОРО(ПЗПІ-23-)-1; *МСП Лб DL *МСП(ПЗПІ-23-)-1; *ОDS Лб DL *ОDS(ПЗПІ-23-)-1; №4",04/11/2025,01:10 pm,04/11/2025,02:45 pm,"*ОРО Лб DL *ОРО(ПЗПІ-23-)-1; *МСП Лб DL *МСП(ПЗПІ-23-)-1; *ОDS Лб DL *ОDS(ПЗПІ-23-)-1"
|
||||
"*МСП Лб DL *МСП(ПЗПІ-23-)-1; №4",04/18/2025,01:10 pm,04/18/2025,02:45 pm,"*МСП Лб DL *МСП(ПЗПІ-23-)-1"
|
||||
"*ОDS Пз DL *ОDS(ПЗПІ-23-)-1; №4",04/25/2025,01:10 pm,04/25/2025,02:45 pm,"*ОDS Пз DL *ОDS(ПЗПІ-23-)-1"
|
||||
"*ОРО Лб DL *ОРО(ПЗПІ-23-)-1; *МСП Лб DL *МСП(ПЗПІ-23-)-1; *ОDS Лб DL *ОDS(ПЗПІ-23-)-1; №3",05/02/2025,01:10 pm,05/02/2025,02:45 pm,"*ОРО Лб DL *ОРО(ПЗПІ-23-)-1; *МСП Лб DL *МСП(ПЗПІ-23-)-1; *ОDS Лб DL *ОDS(ПЗПІ-23-)-1"
|
||||
"*ОРО Лб DL *ОРО(ПЗПІ-23-)-1; *МСП Лб DL *МСП(ПЗПІ-23-)-1; *ОDS Лб DL *ОDS(ПЗПІ-23-)-1; №3",05/23/2025,01:10 pm,05/23/2025,02:45 pm,"*ОРО Лб DL *ОРО(ПЗПІ-23-)-1; *МСП Лб DL *МСП(ПЗПІ-23-)-1; *ОDS Лб DL *ОDS(ПЗПІ-23-)-1"
|
||||
"*ОРО Лб DL *ОРО(ПЗПІ-23-)-1; *МСП Лб DL *МСП(ПЗПІ-23-)-1; *ОDS Лб DL *ОDS(ПЗПІ-23-)-1; №2",06/06/2025,01:10 pm,06/06/2025,02:45 pm,"*ОРО Лб DL *ОРО(ПЗПІ-23-)-1; *МСП Лб DL *МСП(ПЗПІ-23-)-1; *ОDS Лб DL *ОDS(ПЗПІ-23-)-1"
|
||||
"*ДРСД Зал DL *ДРСД(ПЗПІ-23-)-1; №1",06/21/2025,11:15 am,06/21/2025,12:50 pm,"*ДРСД Зал DL *ДРСД(ПЗПІ-23-)-1"
|
||||
"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1; №1",02/15/2025,02:55 pm,02/15/2025,04:30 pm,"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1"
|
||||
"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1; №1",02/22/2025,02:55 pm,02/22/2025,04:30 pm,"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1"
|
||||
"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1; №1",03/01/2025,02:55 pm,03/01/2025,04:30 pm,"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1"
|
||||
"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1; №1",03/08/2025,02:55 pm,03/08/2025,04:30 pm,"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1"
|
||||
"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1; №1",03/15/2025,02:55 pm,03/15/2025,04:30 pm,"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1"
|
||||
"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1; №1",03/22/2025,02:55 pm,03/22/2025,04:30 pm,"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1"
|
||||
"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1; №1",03/29/2025,02:55 pm,03/29/2025,04:30 pm,"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1"
|
||||
"*МСП Пз DL *МСП(ПЗПІ-23-)-1; *ДРСД Пз DL *ДРСД(ПЗПІ-23-)-1; №1",04/05/2025,02:55 pm,04/05/2025,04:30 pm,"*МСП Пз DL *МСП(ПЗПІ-23-)-1; *ДРСД Пз DL *ДРСД(ПЗПІ-23-)-1"
|
||||
"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1; №1",04/12/2025,02:55 pm,04/12/2025,04:30 pm,"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1"
|
||||
"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1; №1",04/19/2025,02:55 pm,04/19/2025,04:30 pm,"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1"
|
||||
"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1; №1",04/26/2025,02:55 pm,04/26/2025,04:30 pm,"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1"
|
||||
"*ДРСД Пз DL *ДРСД(ПЗПІ-23-)-1; №1",05/03/2025,02:55 pm,05/03/2025,04:30 pm,"*ДРСД Пз DL *ДРСД(ПЗПІ-23-)-1"
|
||||
"*ДРСД Лб DL *ДРСД(ПЗПІ-23-)-1; №1",05/10/2025,02:55 pm,05/10/2025,04:30 pm,"*ДРСД Лб DL *ДРСД(ПЗПІ-23-)-1"
|
||||
"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1; №2",02/15/2025,04:40 pm,02/15/2025,06:15 pm,"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1"
|
||||
"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1; №2",02/22/2025,04:40 pm,02/22/2025,06:15 pm,"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1"
|
||||
"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1; №2",03/01/2025,04:40 pm,03/01/2025,06:15 pm,"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1"
|
||||
"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1; №2",03/08/2025,04:40 pm,03/08/2025,06:15 pm,"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1"
|
||||
"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1; №2",03/15/2025,04:40 pm,03/15/2025,06:15 pm,"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1"
|
||||
"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1; №2",03/22/2025,04:40 pm,03/22/2025,06:15 pm,"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1"
|
||||
"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1; №2",03/29/2025,04:40 pm,03/29/2025,06:15 pm,"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1"
|
||||
"*ДРСД Пз DL *ДРСД(ПЗПІ-23-)-1; №2",04/05/2025,04:40 pm,04/05/2025,06:15 pm,"*ДРСД Пз DL *ДРСД(ПЗПІ-23-)-1"
|
||||
"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1; №2",04/12/2025,04:40 pm,04/12/2025,06:15 pm,"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1"
|
||||
"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1; №2",04/19/2025,04:40 pm,04/19/2025,06:15 pm,"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1"
|
||||
"*ДРСД Пз DL *ДРСД(ПЗПІ-23-)-1; №2",05/03/2025,04:40 pm,05/03/2025,06:15 pm,"*ДРСД Пз DL *ДРСД(ПЗПІ-23-)-1"
|
||||
"*ДРСД Лб DL *ДРСД(ПЗПІ-23-)-1; №2",05/10/2025,04:40 pm,05/10/2025,06:15 pm,"*ДРСД Лб DL *ДРСД(ПЗПІ-23-)-1"
|
|
265
semester-4/СмП/lb-1/src/Google_TimeTable_22_04_2025.csv
Normal file
265
semester-4/СмП/lb-1/src/Google_TimeTable_22_04_2025.csv
Normal file
@ -0,0 +1,265 @@
|
||||
Subject,Start Date,Start Time,End Date,End Time,Description
|
||||
"*ОРО Зал DL *ОРО(ПЗПІ-23-)-1; №1",06/09/2025,07:45 am,06/09/2025,09:20 am,"*ОРО Зал DL *ОРО(ПЗПІ-23-)-1"
|
||||
"ІМ Конс DL ПЗПІ-23-2; №1",06/23/2025,09:30 am,06/23/2025,11:05 am,"ІМ Конс DL ПЗПІ-23-2"
|
||||
"ПрПА Пз DL ПЗПІ-23-2; №1",03/17/2025,11:15 am,03/17/2025,12:50 pm,"ПрПА Пз DL ПЗПІ-23-2"
|
||||
"ПрПА Лб DL ПЗПІ-23-2; №1",04/07/2025,11:15 am,04/07/2025,12:50 pm,"ПрПА Лб DL ПЗПІ-23-2"
|
||||
"ПрПА Лб DL ПЗПІ-23-2; №1",04/28/2025,11:15 am,04/28/2025,12:50 pm,"ПрПА Лб DL ПЗПІ-23-2"
|
||||
"ПрПА Лб DL ПЗПІ-23-2; №1",05/19/2025,11:15 am,05/19/2025,12:50 pm,"ПрПА Лб DL ПЗПІ-23-2"
|
||||
"ПрПА Лб DL ПЗПІ-23-2; №1",06/02/2025,11:15 am,06/02/2025,12:50 pm,"ПрПА Лб DL ПЗПІ-23-2"
|
||||
"ОПJа Зал DL ПЗПІ-23-2; №1",06/16/2025,11:15 am,06/16/2025,12:50 pm,"ОПJа Зал DL ПЗПІ-23-2"
|
||||
"ФВ Зал DL ПЗПІ-23-2; №2",06/23/2025,11:15 am,06/23/2025,12:50 pm,"ФВ Зал DL ПЗПІ-23-2"
|
||||
"ПрПА Пз DL ПЗПІ-23-2; №2",03/17/2025,01:10 pm,03/17/2025,02:45 pm,"ПрПА Пз DL ПЗПІ-23-2"
|
||||
"ПрПА Лб DL ПЗПІ-23-2; №2",04/07/2025,01:10 pm,04/07/2025,02:45 pm,"ПрПА Лб DL ПЗПІ-23-2"
|
||||
"ПрПА Лб DL ПЗПІ-23-2; №2",04/28/2025,01:10 pm,04/28/2025,02:45 pm,"ПрПА Лб DL ПЗПІ-23-2"
|
||||
"ПрПА Лб DL ПЗПІ-23-2; №2",05/19/2025,01:10 pm,05/19/2025,02:45 pm,"ПрПА Лб DL ПЗПІ-23-2"
|
||||
"ПрПА Лб DL ПЗПІ-23-2; №2",06/02/2025,01:10 pm,06/02/2025,02:45 pm,"ПрПА Лб DL ПЗПІ-23-2"
|
||||
"ПрПА Конс DL ПЗПІ-23-2; №2",06/16/2025,01:10 pm,06/16/2025,02:45 pm,"ПрПА Конс DL ПЗПІ-23-2"
|
||||
"ОПJа Пз DL ПЗПІ-23-2; №1",03/10/2025,02:55 pm,03/10/2025,04:30 pm,"ОПJа Пз DL ПЗПІ-23-2"
|
||||
"ОПJа Лб DL ПЗПІ-23-2; №3",03/17/2025,02:55 pm,03/17/2025,04:30 pm,"ОПJа Лб DL ПЗПІ-23-2"
|
||||
"ОПJа Лб DL ПЗПІ-23-2; №3",04/07/2025,02:55 pm,04/07/2025,04:30 pm,"ОПJа Лб DL ПЗПІ-23-2"
|
||||
"ОПJа Пз DL ПЗПІ-23-2; №1",04/21/2025,02:55 pm,04/21/2025,04:30 pm,"ОПJа Пз DL ПЗПІ-23-2"
|
||||
"ОПJа Лб DL ПЗПІ-23-2; №3",04/28/2025,02:55 pm,04/28/2025,04:30 pm,"ОПJа Лб DL ПЗПІ-23-2"
|
||||
"ОПJа Лб DL ПЗПІ-23-2; №3",05/19/2025,02:55 pm,05/19/2025,04:30 pm,"ОПJа Лб DL ПЗПІ-23-2"
|
||||
"ОПJа Лб DL ПЗПІ-23-2; №3",06/02/2025,02:55 pm,06/02/2025,04:30 pm,"ОПJа Лб DL ПЗПІ-23-2"
|
||||
"ОПJа Пз DL ПЗПІ-23-2; №2",03/10/2025,04:40 pm,03/10/2025,06:15 pm,"ОПJа Пз DL ПЗПІ-23-2"
|
||||
"ОПJа Лб DL ПЗПІ-23-2; №4",03/17/2025,04:40 pm,03/17/2025,06:15 pm,"ОПJа Лб DL ПЗПІ-23-2"
|
||||
"ОПJа Лб DL ПЗПІ-23-2; №4",04/07/2025,04:40 pm,04/07/2025,06:15 pm,"ОПJа Лб DL ПЗПІ-23-2"
|
||||
"ОПJа Пз DL ПЗПІ-23-2; №2",04/21/2025,04:40 pm,04/21/2025,06:15 pm,"ОПJа Пз DL ПЗПІ-23-2"
|
||||
"ОПJа Лб DL ПЗПІ-23-2; №4",04/28/2025,04:40 pm,04/28/2025,06:15 pm,"ОПJа Лб DL ПЗПІ-23-2"
|
||||
"ОПJа Лб DL ПЗПІ-23-2; №4",05/19/2025,04:40 pm,05/19/2025,06:15 pm,"ОПJа Лб DL ПЗПІ-23-2"
|
||||
"ОПJа Лб DL ПЗПІ-23-2; №4",06/02/2025,04:40 pm,06/02/2025,06:15 pm,"ОПJа Лб DL ПЗПІ-23-2"
|
||||
"ОС Лб DL ПЗПІ-23-2; №1",03/04/2025,07:45 am,03/04/2025,09:20 am,"ОС Лб DL ПЗПІ-23-2"
|
||||
"ОС Лб DL ПЗПІ-23-2; №1",03/18/2025,07:45 am,03/18/2025,09:20 am,"ОС Лб DL ПЗПІ-23-2"
|
||||
"ОС Лб DL ПЗПІ-23-2; №1",04/01/2025,07:45 am,04/01/2025,09:20 am,"ОС Лб DL ПЗПІ-23-2"
|
||||
"ОС Лб DL ПЗПІ-23-2; №1",04/15/2025,07:45 am,04/15/2025,09:20 am,"ОС Лб DL ПЗПІ-23-2"
|
||||
"ОС Лб DL ПЗПІ-23-2; №1",04/29/2025,07:45 am,04/29/2025,09:20 am,"ОС Лб DL ПЗПІ-23-2"
|
||||
"ОС Лб DL ПЗПІ-23-2; №1",05/13/2025,07:45 am,05/13/2025,09:20 am,"ОС Лб DL ПЗПІ-23-2"
|
||||
"ОС Лб DL ПЗПІ-23-2; №1",05/27/2025,07:45 am,05/27/2025,09:20 am,"ОС Лб DL ПЗПІ-23-2"
|
||||
"ОС Лб DL ПЗПІ-23-2; №1",06/03/2025,07:45 am,06/03/2025,09:20 am,"ОС Лб DL ПЗПІ-23-2"
|
||||
"ІМ Екз DL ПЗПІ-23-2; №1",06/24/2025,07:45 am,06/24/2025,09:20 am,"ІМ Екз DL ПЗПІ-23-2"
|
||||
"ОС Лб DL ПЗПІ-23-2; №2",03/04/2025,09:30 am,03/04/2025,11:05 am,"ОС Лб DL ПЗПІ-23-2"
|
||||
"ОС Лб DL ПЗПІ-23-2; №2",03/18/2025,09:30 am,03/18/2025,11:05 am,"ОС Лб DL ПЗПІ-23-2"
|
||||
"ОС Лб DL ПЗПІ-23-2; №2",04/01/2025,09:30 am,04/01/2025,11:05 am,"ОС Лб DL ПЗПІ-23-2"
|
||||
"ОС Лб DL ПЗПІ-23-2; №2",04/15/2025,09:30 am,04/15/2025,11:05 am,"ОС Лб DL ПЗПІ-23-2"
|
||||
"ОС Лб DL ПЗПІ-23-2; №2",04/29/2025,09:30 am,04/29/2025,11:05 am,"ОС Лб DL ПЗПІ-23-2"
|
||||
"ОС Лб DL ПЗПІ-23-2; №2",05/13/2025,09:30 am,05/13/2025,11:05 am,"ОС Лб DL ПЗПІ-23-2"
|
||||
"ОС Лб DL ПЗПІ-23-2; №2",05/27/2025,09:30 am,05/27/2025,11:05 am,"ОС Лб DL ПЗПІ-23-2"
|
||||
"ОС Лб DL ПЗПІ-23-2; №2",06/03/2025,09:30 am,06/03/2025,11:05 am,"ОС Лб DL ПЗПІ-23-2"
|
||||
"ІМ Екз DL ПЗПІ-23-2; №2",06/24/2025,09:30 am,06/24/2025,11:05 am,"ІМ Екз DL ПЗПІ-23-2"
|
||||
"ІМ Пз DL ПЗПІ-23-2; №1",02/11/2025,11:15 am,02/11/2025,12:50 pm,"ІМ Пз DL ПЗПІ-23-2"
|
||||
"ІМ Пз DL ПЗПІ-23-2; №1",02/18/2025,11:15 am,02/18/2025,12:50 pm,"ІМ Пз DL ПЗПІ-23-2"
|
||||
"Філ Пз DL ПЗПІ-23-2; №1",02/25/2025,11:15 am,02/25/2025,12:50 pm,"Філ Пз DL ПЗПІ-23-2"
|
||||
"Філ Пз DL ПЗПІ-23-2; №3",03/04/2025,11:15 am,03/04/2025,12:50 pm,"Філ Пз DL ПЗПІ-23-2"
|
||||
"ІМ Пз DL ПЗПІ-23-2; №1",03/11/2025,11:15 am,03/11/2025,12:50 pm,"ІМ Пз DL ПЗПІ-23-2"
|
||||
"Філ Пз DL ПЗПІ-23-2; №3",03/18/2025,11:15 am,03/18/2025,12:50 pm,"Філ Пз DL ПЗПІ-23-2"
|
||||
"ІМ Пз DL ПЗПІ-23-2; №1",03/25/2025,11:15 am,03/25/2025,12:50 pm,"ІМ Пз DL ПЗПІ-23-2"
|
||||
"Філ Пз DL ПЗПІ-23-2; №3",04/01/2025,11:15 am,04/01/2025,12:50 pm,"Філ Пз DL ПЗПІ-23-2"
|
||||
"ІМ Пз DL ПЗПІ-23-2; №1",04/08/2025,11:15 am,04/08/2025,12:50 pm,"ІМ Пз DL ПЗПІ-23-2"
|
||||
"Філ Пз DL ПЗПІ-23-2; №3",04/15/2025,11:15 am,04/15/2025,12:50 pm,"Філ Пз DL ПЗПІ-23-2"
|
||||
"ІМ Пз DL ПЗПІ-23-2; №1",04/22/2025,11:15 am,04/22/2025,12:50 pm,"ІМ Пз DL ПЗПІ-23-2"
|
||||
"Філ Пз DL ПЗПІ-23-2; №3",04/29/2025,11:15 am,04/29/2025,12:50 pm,"Філ Пз DL ПЗПІ-23-2"
|
||||
"ІМ Пз DL ПЗПІ-23-2; №1",05/06/2025,11:15 am,05/06/2025,12:50 pm,"ІМ Пз DL ПЗПІ-23-2"
|
||||
"Філ Пз DL ПЗПІ-23-2; №3",05/13/2025,11:15 am,05/13/2025,12:50 pm,"Філ Пз DL ПЗПІ-23-2"
|
||||
"ІМ Пз DL ПЗПІ-23-2; №1",05/20/2025,11:15 am,05/20/2025,12:50 pm,"ІМ Пз DL ПЗПІ-23-2"
|
||||
"Філ Пз DL ПЗПІ-23-2; №3",05/27/2025,11:15 am,05/27/2025,12:50 pm,"Філ Пз DL ПЗПІ-23-2"
|
||||
"ІМ Пз DL ПЗПІ-23-2; №3",06/03/2025,11:15 am,06/03/2025,12:50 pm,"ІМ Пз DL ПЗПІ-23-2"
|
||||
"ІМ Екз DL ПЗПІ-23-2; №3",06/24/2025,11:15 am,06/24/2025,12:50 pm,"ІМ Екз DL ПЗПІ-23-2"
|
||||
"ІМ Пз DL ПЗПІ-23-2; №2",02/11/2025,01:10 pm,02/11/2025,02:45 pm,"ІМ Пз DL ПЗПІ-23-2"
|
||||
"ІМ Пз DL ПЗПІ-23-2; №2",02/18/2025,01:10 pm,02/18/2025,02:45 pm,"ІМ Пз DL ПЗПІ-23-2"
|
||||
"ІМ Пз DL ПЗПІ-23-2; №2",02/25/2025,01:10 pm,02/25/2025,02:45 pm,"ІМ Пз DL ПЗПІ-23-2"
|
||||
"ІМ Пз DL ПЗПІ-23-2; №4",03/04/2025,01:10 pm,03/04/2025,02:45 pm,"ІМ Пз DL ПЗПІ-23-2"
|
||||
"ІМ Пз DL ПЗПІ-23-2; №2",03/11/2025,01:10 pm,03/11/2025,02:45 pm,"ІМ Пз DL ПЗПІ-23-2"
|
||||
"ІМ Пз DL ПЗПІ-23-2; №4",03/18/2025,01:10 pm,03/18/2025,02:45 pm,"ІМ Пз DL ПЗПІ-23-2"
|
||||
"ІМ Пз DL ПЗПІ-23-2; №2",03/25/2025,01:10 pm,03/25/2025,02:45 pm,"ІМ Пз DL ПЗПІ-23-2"
|
||||
"ІМ Пз DL ПЗПІ-23-2; №4",04/01/2025,01:10 pm,04/01/2025,02:45 pm,"ІМ Пз DL ПЗПІ-23-2"
|
||||
"ІМ Пз DL ПЗПІ-23-2; №2",04/08/2025,01:10 pm,04/08/2025,02:45 pm,"ІМ Пз DL ПЗПІ-23-2"
|
||||
"ІМ Пз DL ПЗПІ-23-2; №4",04/15/2025,01:10 pm,04/15/2025,02:45 pm,"ІМ Пз DL ПЗПІ-23-2"
|
||||
"ІМ Пз DL ПЗПІ-23-2; №2",04/22/2025,01:10 pm,04/22/2025,02:45 pm,"ІМ Пз DL ПЗПІ-23-2"
|
||||
"ІМ Пз DL ПЗПІ-23-2; №4",04/29/2025,01:10 pm,04/29/2025,02:45 pm,"ІМ Пз DL ПЗПІ-23-2"
|
||||
"ІМ Пз DL ПЗПІ-23-2; №2",05/06/2025,01:10 pm,05/06/2025,02:45 pm,"ІМ Пз DL ПЗПІ-23-2"
|
||||
"ІМ Пз DL ПЗПІ-23-2; №4",05/13/2025,01:10 pm,05/13/2025,02:45 pm,"ІМ Пз DL ПЗПІ-23-2"
|
||||
"ІМ Пз DL ПЗПІ-23-2; №2",05/20/2025,01:10 pm,05/20/2025,02:45 pm,"ІМ Пз DL ПЗПІ-23-2"
|
||||
"ІМ Пз DL ПЗПІ-23-2; №4",05/27/2025,01:10 pm,05/27/2025,02:45 pm,"ІМ Пз DL ПЗПІ-23-2"
|
||||
"ОС Пз DL ПЗПІ-23-2; №3",02/25/2025,02:55 pm,02/25/2025,04:30 pm,"ОС Пз DL ПЗПІ-23-2"
|
||||
"ОС Пз DL ПЗПІ-23-2; №3",03/11/2025,02:55 pm,03/11/2025,04:30 pm,"ОС Пз DL ПЗПІ-23-2"
|
||||
"ОС Пз DL ПЗПІ-23-2; №3",03/25/2025,02:55 pm,03/25/2025,04:30 pm,"ОС Пз DL ПЗПІ-23-2"
|
||||
"ОС Пз DL ПЗПІ-23-2; №3",04/08/2025,02:55 pm,04/08/2025,04:30 pm,"ОС Пз DL ПЗПІ-23-2"
|
||||
"ОС Пз DL ПЗПІ-23-2; №3",04/22/2025,02:55 pm,04/22/2025,04:30 pm,"ОС Пз DL ПЗПІ-23-2"
|
||||
"ОС Пз DL ПЗПІ-23-2; №3",05/06/2025,02:55 pm,05/06/2025,04:30 pm,"ОС Пз DL ПЗПІ-23-2"
|
||||
"ОС Конс DL ПЗПІ-23-2; №1",06/10/2025,04:40 pm,06/10/2025,06:15 pm,"ОС Конс DL ПЗПІ-23-2"
|
||||
"*ВІА Пз DL *ВІА(ПЗПІ-23-)-2; №1",03/19/2025,07:45 am,03/19/2025,09:20 am,"*ВІА Пз DL *ВІА(ПЗПІ-23-)-2"
|
||||
"*ВІА Лб DL *ВІА(ПЗПІ-23-)-2; №1",03/26/2025,07:45 am,03/26/2025,09:20 am,"*ВІА Лб DL *ВІА(ПЗПІ-23-)-2"
|
||||
"СмП Лб DL ПЗПІ-23-2; №1",04/02/2025,07:45 am,04/02/2025,09:20 am,"СмП Лб DL ПЗПІ-23-2"
|
||||
"*ВІА Лб DL *ВІА(ПЗПІ-23-)-2; №1",04/09/2025,07:45 am,04/09/2025,09:20 am,"*ВІА Лб DL *ВІА(ПЗПІ-23-)-2"
|
||||
"*ВІА Пз DL *ВІА(ПЗПІ-23-)-2; №1",04/23/2025,07:45 am,04/23/2025,09:20 am,"*ВІА Пз DL *ВІА(ПЗПІ-23-)-2"
|
||||
"*ВІА Лб DL *ВІА(ПЗПІ-23-)-2; №1",04/30/2025,07:45 am,04/30/2025,09:20 am,"*ВІА Лб DL *ВІА(ПЗПІ-23-)-2"
|
||||
"*ВІА Лб DL *ВІА(ПЗПІ-23-)-2; №1",05/14/2025,07:45 am,05/14/2025,09:20 am,"*ВІА Лб DL *ВІА(ПЗПІ-23-)-2"
|
||||
"*ВІА Лб DL *ВІА(ПЗПІ-23-)-2; №1",05/28/2025,07:45 am,05/28/2025,09:20 am,"*ВІА Лб DL *ВІА(ПЗПІ-23-)-2"
|
||||
"СмП Лб DL ПЗПІ-23-2; №1",06/04/2025,07:45 am,06/04/2025,09:20 am,"СмП Лб DL ПЗПІ-23-2"
|
||||
"СмП Пз DL ПЗПІ-23-2; №1",03/05/2025,09:30 am,03/05/2025,11:05 am,"СмП Пз DL ПЗПІ-23-2"
|
||||
"*ВІА Пз DL *ВІА(ПЗПІ-23-)-2; №2",03/19/2025,09:30 am,03/19/2025,11:05 am,"*ВІА Пз DL *ВІА(ПЗПІ-23-)-2"
|
||||
"*ВІА Лб DL *ВІА(ПЗПІ-23-)-2; №2",03/26/2025,09:30 am,03/26/2025,11:05 am,"*ВІА Лб DL *ВІА(ПЗПІ-23-)-2"
|
||||
"СмП Лб DL ПЗПІ-23-2; №2",04/02/2025,09:30 am,04/02/2025,11:05 am,"СмП Лб DL ПЗПІ-23-2"
|
||||
"*ВІА Лб DL *ВІА(ПЗПІ-23-)-2; №2",04/09/2025,09:30 am,04/09/2025,11:05 am,"*ВІА Лб DL *ВІА(ПЗПІ-23-)-2"
|
||||
"*ВІА Пз DL *ВІА(ПЗПІ-23-)-2; №2",04/23/2025,09:30 am,04/23/2025,11:05 am,"*ВІА Пз DL *ВІА(ПЗПІ-23-)-2"
|
||||
"*ВІА Лб DL *ВІА(ПЗПІ-23-)-2; №2",04/30/2025,09:30 am,04/30/2025,11:05 am,"*ВІА Лб DL *ВІА(ПЗПІ-23-)-2"
|
||||
"*ВІА Лб DL *ВІА(ПЗПІ-23-)-2; №2",05/14/2025,09:30 am,05/14/2025,11:05 am,"*ВІА Лб DL *ВІА(ПЗПІ-23-)-2"
|
||||
"*ВІА Лб DL *ВІА(ПЗПІ-23-)-2; №2",05/28/2025,09:30 am,05/28/2025,11:05 am,"*ВІА Лб DL *ВІА(ПЗПІ-23-)-2"
|
||||
"СмП Лб DL ПЗПІ-23-2; №2",06/04/2025,09:30 am,06/04/2025,11:05 am,"СмП Лб DL ПЗПІ-23-2"
|
||||
"ПрПА Лк DL ПЗПІ-23-1,2,3,4,5; №1",02/12/2025,11:15 am,02/12/2025,12:50 pm,"ПрПА Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ПрПА Лк DL ПЗПІ-23-1,2,3,4,5; №1",02/19/2025,11:15 am,02/19/2025,12:50 pm,"ПрПА Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ПрПА Лк DL ПЗПІ-23-1,2,3,4,5; №1",02/26/2025,11:15 am,02/26/2025,12:50 pm,"ПрПА Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ПрПА Лк DL ПЗПІ-23-1,2,3,4,5; №2",03/05/2025,11:15 am,03/05/2025,12:50 pm,"ПрПА Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ПрПА Лк DL ПЗПІ-23-1,2,3,4,5; №1",03/12/2025,11:15 am,03/12/2025,12:50 pm,"ПрПА Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ПрПА Лк DL ПЗПІ-23-1,2,3,4,5; №3",03/19/2025,11:15 am,03/19/2025,12:50 pm,"ПрПА Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ПрПА Лк DL ПЗПІ-23-1,2,3,4,5; №3",03/26/2025,11:15 am,03/26/2025,12:50 pm,"ПрПА Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ПрПА Лк DL ПЗПІ-23-1,2,3,4,5; №3",04/02/2025,11:15 am,04/02/2025,12:50 pm,"ПрПА Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"СмП Лк DL ПЗПІ-23-1,2,3,4,5; №3",04/09/2025,11:15 am,04/09/2025,12:50 pm,"СмП Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"СмП Лб DL ПЗПІ-23-2; №3",04/23/2025,11:15 am,04/23/2025,12:50 pm,"СмП Лб DL ПЗПІ-23-2"
|
||||
"СмП Лб DL ПЗПІ-23-2; №1",05/07/2025,11:15 am,05/07/2025,12:50 pm,"СмП Лб DL ПЗПІ-23-2"
|
||||
"СмП Лк DL ПЗПІ-23-1,2,3,4,5; №2",02/12/2025,01:10 pm,02/12/2025,02:45 pm,"СмП Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"СмП Лк DL ПЗПІ-23-1,2,3,4,5; №2",02/19/2025,01:10 pm,02/19/2025,02:45 pm,"СмП Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"СмП Лк DL ПЗПІ-23-1,2,3,4,5; №2",02/26/2025,01:10 pm,02/26/2025,02:45 pm,"СмП Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"СмП Лк DL ПЗПІ-23-1,2,3,4,5; №3",03/05/2025,01:10 pm,03/05/2025,02:45 pm,"СмП Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"СмП Лк DL ПЗПІ-23-1,2,3,4,5; №2",03/12/2025,01:10 pm,03/12/2025,02:45 pm,"СмП Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"СмП Лк DL ПЗПІ-23-1,2,3,4,5; №4",03/19/2025,01:10 pm,03/19/2025,02:45 pm,"СмП Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"СмП Лк DL ПЗПІ-23-1,2,3,4,5; №4",03/26/2025,01:10 pm,03/26/2025,02:45 pm,"СмП Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОПJа Лк DL ПЗПІ-23-1,2,3,4,5; №4",04/02/2025,01:10 pm,04/02/2025,02:45 pm,"ОПJа Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"СмП Лк DL ПЗПІ-23-1,2,3,4,5; №4",04/09/2025,01:10 pm,04/09/2025,02:45 pm,"СмП Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"СмП Лб DL ПЗПІ-23-2; №4",04/23/2025,01:10 pm,04/23/2025,02:45 pm,"СмП Лб DL ПЗПІ-23-2"
|
||||
"СмП Лб DL ПЗПІ-23-2; №2",05/07/2025,01:10 pm,05/07/2025,02:45 pm,"СмП Лб DL ПЗПІ-23-2"
|
||||
"ОС Екз DL ПЗПІ-23-2; №1",06/11/2025,01:10 pm,06/11/2025,02:45 pm,"ОС Екз DL ПЗПІ-23-2"
|
||||
"ПрПА Екз DL ПЗПІ-23-2; №1",06/18/2025,01:10 pm,06/18/2025,02:45 pm,"ПрПА Екз DL ПЗПІ-23-2"
|
||||
"ОС Лк DL ПЗПІ-23-1,2,3,4,5; №3",02/12/2025,02:55 pm,02/12/2025,04:30 pm,"ОС Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОС Лк DL ПЗПІ-23-1,2,3,4,5; №3",02/19/2025,02:55 pm,02/19/2025,04:30 pm,"ОС Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОС Екз DL ПЗПІ-23-2; №2",06/11/2025,02:55 pm,06/11/2025,04:30 pm,"ОС Екз DL ПЗПІ-23-2"
|
||||
"ПрПА Екз DL ПЗПІ-23-2; №2",06/18/2025,02:55 pm,06/18/2025,04:30 pm,"ПрПА Екз DL ПЗПІ-23-2"
|
||||
"ОПJа Лк DL ПЗПІ-23-1,2,3,4,5; №4",02/12/2025,04:40 pm,02/12/2025,06:15 pm,"ОПJа Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОПJа Лк DL ПЗПІ-23-1,2,3,4,5; №4",02/19/2025,04:40 pm,02/19/2025,06:15 pm,"ОПJа Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОС Екз DL ПЗПІ-23-2; №3",06/11/2025,04:40 pm,06/11/2025,06:15 pm,"ОС Екз DL ПЗПІ-23-2"
|
||||
"ПрПА Екз DL ПЗПІ-23-2; №3",06/18/2025,04:40 pm,06/18/2025,06:15 pm,"ПрПА Екз DL ПЗПІ-23-2"
|
||||
"*ВІА Зал DL *ВІА(ПЗПІ-23-)-2; №1",06/12/2025,09:30 am,06/12/2025,11:05 am,"*ВІА Зал DL *ВІА(ПЗПІ-23-)-2"
|
||||
"Філ Лк DL ПЗПІ-23-1,2,3,4,5; №1",02/13/2025,11:15 am,02/13/2025,12:50 pm,"Філ Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"Філ Лк DL ПЗПІ-23-1,2,3,4,5; №1",02/20/2025,11:15 am,02/20/2025,12:50 pm,"Філ Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"Філ Лк DL ПЗПІ-23-1,2,3,4,5; №1",02/27/2025,11:15 am,02/27/2025,12:50 pm,"Філ Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"Філ Лк DL ПЗПІ-23-1,2,3,4,5; №1",03/06/2025,11:15 am,03/06/2025,12:50 pm,"Філ Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"Філ Лк DL ПЗПІ-23-1,2,3,4,5; №1",03/13/2025,11:15 am,03/13/2025,12:50 pm,"Філ Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"Філ Лк DL ПЗПІ-23-1,2,3,4,5; №1",03/20/2025,11:15 am,03/20/2025,12:50 pm,"Філ Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"Філ Лк DL ПЗПІ-23-1,2,3,4,5; №1",03/27/2025,11:15 am,03/27/2025,12:50 pm,"Філ Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"Філ Лк DL ПЗПІ-23-1,2,3,4,5; №1",04/10/2025,11:15 am,04/10/2025,12:50 pm,"Філ Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"Філ Лк DL ПЗПІ-23-1,2,3,4,5; №1",04/17/2025,11:15 am,04/17/2025,12:50 pm,"Філ Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"Філ Лк DL ПЗПІ-23-1,2,3,4,5; №1",04/24/2025,11:15 am,04/24/2025,12:50 pm,"Філ Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"Філ Лк DL ПЗПІ-23-1,2,3,4,5; №1",05/01/2025,11:15 am,05/01/2025,12:50 pm,"Філ Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"Філ Лк DL ПЗПІ-23-1,2,3,4,5; №1",05/08/2025,11:15 am,05/08/2025,12:50 pm,"Філ Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ФВ Пз DL ПЗПІ-23-2; №1",06/05/2025,11:15 am,06/05/2025,12:50 pm,"ФВ Пз DL ПЗПІ-23-2"
|
||||
"СмП Зал DL ПЗПІ-23-2; №1",06/19/2025,11:15 am,06/19/2025,12:50 pm,"СмП Зал DL ПЗПІ-23-2"
|
||||
"ФВ Пз DL ПЗПІ-23-2; №2",02/13/2025,01:10 pm,02/13/2025,02:45 pm,"ФВ Пз DL ПЗПІ-23-2"
|
||||
"ФВ Пз DL ПЗПІ-23-2; №2",02/20/2025,01:10 pm,02/20/2025,02:45 pm,"ФВ Пз DL ПЗПІ-23-2"
|
||||
"ФВ Пз DL ПЗПІ-23-2; №2",02/27/2025,01:10 pm,02/27/2025,02:45 pm,"ФВ Пз DL ПЗПІ-23-2"
|
||||
"ФВ Пз DL ПЗПІ-23-2; №2",03/06/2025,01:10 pm,03/06/2025,02:45 pm,"ФВ Пз DL ПЗПІ-23-2"
|
||||
"ФВ Пз DL ПЗПІ-23-2; №2",03/13/2025,01:10 pm,03/13/2025,02:45 pm,"ФВ Пз DL ПЗПІ-23-2"
|
||||
"ФВ Пз DL ПЗПІ-23-2; №2",03/20/2025,01:10 pm,03/20/2025,02:45 pm,"ФВ Пз DL ПЗПІ-23-2"
|
||||
"ФВ Пз DL ПЗПІ-23-2; №2",03/27/2025,01:10 pm,03/27/2025,02:45 pm,"ФВ Пз DL ПЗПІ-23-2"
|
||||
"ФВ Пз DL ПЗПІ-23-2; №2",04/10/2025,01:10 pm,04/10/2025,02:45 pm,"ФВ Пз DL ПЗПІ-23-2"
|
||||
"ФВ Пз DL ПЗПІ-23-2; №2",04/17/2025,01:10 pm,04/17/2025,02:45 pm,"ФВ Пз DL ПЗПІ-23-2"
|
||||
"ФВ Пз DL ПЗПІ-23-2; №2",04/24/2025,01:10 pm,04/24/2025,02:45 pm,"ФВ Пз DL ПЗПІ-23-2"
|
||||
"ФВ Пз DL ПЗПІ-23-2; №2",05/01/2025,01:10 pm,05/01/2025,02:45 pm,"ФВ Пз DL ПЗПІ-23-2"
|
||||
"ФВ Пз DL ПЗПІ-23-2; №2",05/08/2025,01:10 pm,05/08/2025,02:45 pm,"ФВ Пз DL ПЗПІ-23-2"
|
||||
"ФВ Пз DL ПЗПІ-23-2; №1",05/15/2025,01:10 pm,05/15/2025,02:45 pm,"ФВ Пз DL ПЗПІ-23-2"
|
||||
"ФВ Пз DL ПЗПІ-23-2; №1",05/22/2025,01:10 pm,05/22/2025,02:45 pm,"ФВ Пз DL ПЗПІ-23-2"
|
||||
"ФВ Пз DL ПЗПІ-23-2; №1",05/29/2025,01:10 pm,05/29/2025,02:45 pm,"ФВ Пз DL ПЗПІ-23-2"
|
||||
"ФВ Пз DL ПЗПІ-23-2; №2",06/05/2025,01:10 pm,06/05/2025,02:45 pm,"ФВ Пз DL ПЗПІ-23-2"
|
||||
"*МСП Зал DL *МСП(ПЗПІ-23-)-1; №2",06/19/2025,01:10 pm,06/19/2025,02:45 pm,"*МСП Зал DL *МСП(ПЗПІ-23-)-1"
|
||||
"ОС Лк DL ПЗПІ-23-1,2,3,4,5; №3",02/13/2025,02:55 pm,02/13/2025,04:30 pm,"ОС Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОС Лк DL ПЗПІ-23-1,2,3,4,5; №3",02/20/2025,02:55 pm,02/20/2025,04:30 pm,"ОС Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОС Лк DL ПЗПІ-23-1,2,3,4,5; №3",02/27/2025,02:55 pm,02/27/2025,04:30 pm,"ОС Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОС Лк DL ПЗПІ-23-1,2,3,4,5; №3",03/06/2025,02:55 pm,03/06/2025,04:30 pm,"ОС Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОС Лк DL ПЗПІ-23-1,2,3,4,5; №3",03/13/2025,02:55 pm,03/13/2025,04:30 pm,"ОС Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОС Лк DL ПЗПІ-23-1,2,3,4,5; №3",03/20/2025,02:55 pm,03/20/2025,04:30 pm,"ОС Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОС Лк DL ПЗПІ-23-1,2,3,4,5; №3",03/27/2025,02:55 pm,03/27/2025,04:30 pm,"ОС Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОС Лк DL ПЗПІ-23-1,2,3,4,5; №3",04/10/2025,02:55 pm,04/10/2025,04:30 pm,"ОС Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОС Лк DL ПЗПІ-23-1,2,3,4,5; №3",04/17/2025,02:55 pm,04/17/2025,04:30 pm,"ОС Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОС Лк DL ПЗПІ-23-1,2,3,4,5; №3",04/24/2025,02:55 pm,04/24/2025,04:30 pm,"ОС Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОС Лк DL ПЗПІ-23-1,2,3,4,5; №3",05/01/2025,02:55 pm,05/01/2025,04:30 pm,"ОС Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОС Лк DL ПЗПІ-23-1,2,3,4,5; №3",05/08/2025,02:55 pm,05/08/2025,04:30 pm,"ОС Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОПJа Лк DL ПЗПІ-23-1,2,3,4,5; №2",05/22/2025,02:55 pm,05/22/2025,04:30 pm,"ОПJа Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОС Лк DL ПЗПІ-23-1,2,3,4,5; №4",02/13/2025,04:40 pm,02/13/2025,06:15 pm,"ОС Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОПJа Лк DL ПЗПІ-23-1,2,3,4,5; №4",02/20/2025,04:40 pm,02/20/2025,06:15 pm,"ОПJа Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОПJа Лк DL ПЗПІ-23-1,2,3,4,5; №4",02/27/2025,04:40 pm,02/27/2025,06:15 pm,"ОПJа Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОС Лк DL ПЗПІ-23-1,2,3,4,5; №4",03/06/2025,04:40 pm,03/06/2025,06:15 pm,"ОС Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОПJа Лк DL ПЗПІ-23-1,2,3,4,5; №4",03/13/2025,04:40 pm,03/13/2025,06:15 pm,"ОПJа Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОПJа Лк DL ПЗПІ-23-1,2,3,4,5; №4",03/20/2025,04:40 pm,03/20/2025,06:15 pm,"ОПJа Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОС Лк DL ПЗПІ-23-1,2,3,4,5; №4",03/27/2025,04:40 pm,03/27/2025,06:15 pm,"ОС Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОПJа Лк DL ПЗПІ-23-1,2,3,4,5; №4",04/10/2025,04:40 pm,04/10/2025,06:15 pm,"ОПJа Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОС Лк DL ПЗПІ-23-1,2,3,4,5; №4",04/17/2025,04:40 pm,04/17/2025,06:15 pm,"ОС Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОПJа Лк DL ПЗПІ-23-1,2,3,4,5; №4",04/24/2025,04:40 pm,04/24/2025,06:15 pm,"ОПJа Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОПJа Лк DL ПЗПІ-23-1,2,3,4,5; №4",05/01/2025,04:40 pm,05/01/2025,06:15 pm,"ОПJа Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОПJа Лк DL ПЗПІ-23-1,2,3,4,5; №4",05/08/2025,04:40 pm,05/08/2025,06:15 pm,"ОПJа Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"ОС Лк DL ПЗПІ-23-1,2,3,4,5; №3",05/22/2025,04:40 pm,05/22/2025,06:15 pm,"ОС Лк DL ПЗПІ-23-1,2,3,4,5"
|
||||
"*ВІА Лк DL *ВІА(ПЗПІ-23-)-1;*ВІА(ПЗПІ-23-)-2;*ВІА(ПЗПІ-23-)-3;*ВІА(ПЗПІ-23-)-4;*ВІА(ПЗПІ-23-)-5; №1",02/14/2025,07:45 am,02/14/2025,09:20 am,"*ВІА Лк DL *ВІА(ПЗПІ-23-)-1;*ВІА(ПЗПІ-23-)-2;*ВІА(ПЗПІ-23-)-3;*ВІА(ПЗПІ-23-)-4;*ВІА(ПЗПІ-23-)-5"
|
||||
"*ВІА Лк DL *ВІА(ПЗПІ-23-)-1;*ВІА(ПЗПІ-23-)-2;*ВІА(ПЗПІ-23-)-3;*ВІА(ПЗПІ-23-)-4;*ВІА(ПЗПІ-23-)-5; №1",02/21/2025,07:45 am,02/21/2025,09:20 am,"*ВІА Лк DL *ВІА(ПЗПІ-23-)-1;*ВІА(ПЗПІ-23-)-2;*ВІА(ПЗПІ-23-)-3;*ВІА(ПЗПІ-23-)-4;*ВІА(ПЗПІ-23-)-5"
|
||||
"*ВІА Лк DL *ВІА(ПЗПІ-23-)-1;*ВІА(ПЗПІ-23-)-2;*ВІА(ПЗПІ-23-)-3;*ВІА(ПЗПІ-23-)-4;*ВІА(ПЗПІ-23-)-5; №1",02/28/2025,07:45 am,02/28/2025,09:20 am,"*ВІА Лк DL *ВІА(ПЗПІ-23-)-1;*ВІА(ПЗПІ-23-)-2;*ВІА(ПЗПІ-23-)-3;*ВІА(ПЗПІ-23-)-4;*ВІА(ПЗПІ-23-)-5"
|
||||
"*ВІА Лк DL *ВІА(ПЗПІ-23-)-1;*ВІА(ПЗПІ-23-)-2;*ВІА(ПЗПІ-23-)-3;*ВІА(ПЗПІ-23-)-4;*ВІА(ПЗПІ-23-)-5; №1",03/07/2025,07:45 am,03/07/2025,09:20 am,"*ВІА Лк DL *ВІА(ПЗПІ-23-)-1;*ВІА(ПЗПІ-23-)-2;*ВІА(ПЗПІ-23-)-3;*ВІА(ПЗПІ-23-)-4;*ВІА(ПЗПІ-23-)-5"
|
||||
"*ВІА Лк DL *ВІА(ПЗПІ-23-)-1;*ВІА(ПЗПІ-23-)-2;*ВІА(ПЗПІ-23-)-3;*ВІА(ПЗПІ-23-)-4;*ВІА(ПЗПІ-23-)-5; №1",03/14/2025,07:45 am,03/14/2025,09:20 am,"*ВІА Лк DL *ВІА(ПЗПІ-23-)-1;*ВІА(ПЗПІ-23-)-2;*ВІА(ПЗПІ-23-)-3;*ВІА(ПЗПІ-23-)-4;*ВІА(ПЗПІ-23-)-5"
|
||||
"*ВІА Лк DL *ВІА(ПЗПІ-23-)-1;*ВІА(ПЗПІ-23-)-2;*ВІА(ПЗПІ-23-)-3;*ВІА(ПЗПІ-23-)-4;*ВІА(ПЗПІ-23-)-5; №1",03/21/2025,07:45 am,03/21/2025,09:20 am,"*ВІА Лк DL *ВІА(ПЗПІ-23-)-1;*ВІА(ПЗПІ-23-)-2;*ВІА(ПЗПІ-23-)-3;*ВІА(ПЗПІ-23-)-4;*ВІА(ПЗПІ-23-)-5"
|
||||
"*ВІА Лк DL *ВІА(ПЗПІ-23-)-1;*ВІА(ПЗПІ-23-)-2;*ВІА(ПЗПІ-23-)-3;*ВІА(ПЗПІ-23-)-4;*ВІА(ПЗПІ-23-)-5; №1",03/28/2025,07:45 am,03/28/2025,09:20 am,"*ВІА Лк DL *ВІА(ПЗПІ-23-)-1;*ВІА(ПЗПІ-23-)-2;*ВІА(ПЗПІ-23-)-3;*ВІА(ПЗПІ-23-)-4;*ВІА(ПЗПІ-23-)-5"
|
||||
"*ВІА Лк DL *ВІА(ПЗПІ-23-)-1;*ВІА(ПЗПІ-23-)-2;*ВІА(ПЗПІ-23-)-3;*ВІА(ПЗПІ-23-)-4;*ВІА(ПЗПІ-23-)-5; №1",04/11/2025,07:45 am,04/11/2025,09:20 am,"*ВІА Лк DL *ВІА(ПЗПІ-23-)-1;*ВІА(ПЗПІ-23-)-2;*ВІА(ПЗПІ-23-)-3;*ВІА(ПЗПІ-23-)-4;*ВІА(ПЗПІ-23-)-5"
|
||||
"*ВІА Лк DL *ВІА(ПЗПІ-23-)-1;*ВІА(ПЗПІ-23-)-2;*ВІА(ПЗПІ-23-)-3;*ВІА(ПЗПІ-23-)-4;*ВІА(ПЗПІ-23-)-5; №1",04/18/2025,07:45 am,04/18/2025,09:20 am,"*ВІА Лк DL *ВІА(ПЗПІ-23-)-1;*ВІА(ПЗПІ-23-)-2;*ВІА(ПЗПІ-23-)-3;*ВІА(ПЗПІ-23-)-4;*ВІА(ПЗПІ-23-)-5"
|
||||
"*ВІА Лк DL *ВІА(ПЗПІ-23-)-1;*ВІА(ПЗПІ-23-)-2;*ВІА(ПЗПІ-23-)-3;*ВІА(ПЗПІ-23-)-4;*ВІА(ПЗПІ-23-)-5; №1",04/25/2025,07:45 am,04/25/2025,09:20 am,"*ВІА Лк DL *ВІА(ПЗПІ-23-)-1;*ВІА(ПЗПІ-23-)-2;*ВІА(ПЗПІ-23-)-3;*ВІА(ПЗПІ-23-)-4;*ВІА(ПЗПІ-23-)-5"
|
||||
"*ОРО Лк DL *ОРО(ПЗПІ-23-)-1; *МСП Лк DL *МСП(ПЗПІ-23-)-1;*МСП(ПЗПІ-23-)-2; *ОDS Лк DL *ОDS(ПЗПІ-23-)-1;*ОDS(ПЗПІ-23-)-2; №2",02/14/2025,09:30 am,02/14/2025,11:05 am,"*ОРО Лк DL *ОРО(ПЗПІ-23-)-1; *МСП Лк DL *МСП(ПЗПІ-23-)-1;*МСП(ПЗПІ-23-)-2; *ОDS Лк DL *ОDS(ПЗПІ-23-)-1;*ОDS(ПЗПІ-23-)-2"
|
||||
"*ОРО Лк DL *ОРО(ПЗПІ-23-)-1; *МСП Лк DL *МСП(ПЗПІ-23-)-1;*МСП(ПЗПІ-23-)-2; *ОDS Лк DL *ОDS(ПЗПІ-23-)-1;*ОDS(ПЗПІ-23-)-2; №2",02/21/2025,09:30 am,02/21/2025,11:05 am,"*ОРО Лк DL *ОРО(ПЗПІ-23-)-1; *МСП Лк DL *МСП(ПЗПІ-23-)-1;*МСП(ПЗПІ-23-)-2; *ОDS Лк DL *ОDS(ПЗПІ-23-)-1;*ОDS(ПЗПІ-23-)-2"
|
||||
"*ОРО Лк DL *ОРО(ПЗПІ-23-)-1; *МСП Лк DL *МСП(ПЗПІ-23-)-1;*МСП(ПЗПІ-23-)-2; *ОDS Лк DL *ОDS(ПЗПІ-23-)-1;*ОDS(ПЗПІ-23-)-2; №2",02/28/2025,09:30 am,02/28/2025,11:05 am,"*ОРО Лк DL *ОРО(ПЗПІ-23-)-1; *МСП Лк DL *МСП(ПЗПІ-23-)-1;*МСП(ПЗПІ-23-)-2; *ОDS Лк DL *ОDS(ПЗПІ-23-)-1;*ОDS(ПЗПІ-23-)-2"
|
||||
"*ОРО Лк DL *ОРО(ПЗПІ-23-)-1; *МСП Лк DL *МСП(ПЗПІ-23-)-1;*МСП(ПЗПІ-23-)-2; *ОDS Лк DL *ОDS(ПЗПІ-23-)-1;*ОDS(ПЗПІ-23-)-2; №2",03/07/2025,09:30 am,03/07/2025,11:05 am,"*ОРО Лк DL *ОРО(ПЗПІ-23-)-1; *МСП Лк DL *МСП(ПЗПІ-23-)-1;*МСП(ПЗПІ-23-)-2; *ОDS Лк DL *ОDS(ПЗПІ-23-)-1;*ОDS(ПЗПІ-23-)-2"
|
||||
"*ОРО Лк DL *ОРО(ПЗПІ-23-)-1; *МСП Лк DL *МСП(ПЗПІ-23-)-1;*МСП(ПЗПІ-23-)-2; *ОDS Лк DL *ОDS(ПЗПІ-23-)-1;*ОDS(ПЗПІ-23-)-2; №2",03/14/2025,09:30 am,03/14/2025,11:05 am,"*ОРО Лк DL *ОРО(ПЗПІ-23-)-1; *МСП Лк DL *МСП(ПЗПІ-23-)-1;*МСП(ПЗПІ-23-)-2; *ОDS Лк DL *ОDS(ПЗПІ-23-)-1;*ОDS(ПЗПІ-23-)-2"
|
||||
"*ОРО Лк DL *ОРО(ПЗПІ-23-)-1; *МСП Лк DL *МСП(ПЗПІ-23-)-1;*МСП(ПЗПІ-23-)-2; *ОDS Лк DL *ОDS(ПЗПІ-23-)-1;*ОDS(ПЗПІ-23-)-2; №2",03/21/2025,09:30 am,03/21/2025,11:05 am,"*ОРО Лк DL *ОРО(ПЗПІ-23-)-1; *МСП Лк DL *МСП(ПЗПІ-23-)-1;*МСП(ПЗПІ-23-)-2; *ОDS Лк DL *ОDS(ПЗПІ-23-)-1;*ОDS(ПЗПІ-23-)-2"
|
||||
"*ОРО Лк DL *ОРО(ПЗПІ-23-)-1; *МСП Лк DL *МСП(ПЗПІ-23-)-1;*МСП(ПЗПІ-23-)-2; *ОDS Лк DL *ОDS(ПЗПІ-23-)-1;*ОDS(ПЗПІ-23-)-2; №2",03/28/2025,09:30 am,03/28/2025,11:05 am,"*ОРО Лк DL *ОРО(ПЗПІ-23-)-1; *МСП Лк DL *МСП(ПЗПІ-23-)-1;*МСП(ПЗПІ-23-)-2; *ОDS Лк DL *ОDS(ПЗПІ-23-)-1;*ОDS(ПЗПІ-23-)-2"
|
||||
"*ОРО Лк DL *ОРО(ПЗПІ-23-)-1; *МСП Лк DL *МСП(ПЗПІ-23-)-1;*МСП(ПЗПІ-23-)-2; *ОDS Лк DL *ОDS(ПЗПІ-23-)-1;*ОDS(ПЗПІ-23-)-2; №2",04/11/2025,09:30 am,04/11/2025,11:05 am,"*ОРО Лк DL *ОРО(ПЗПІ-23-)-1; *МСП Лк DL *МСП(ПЗПІ-23-)-1;*МСП(ПЗПІ-23-)-2; *ОDS Лк DL *ОDS(ПЗПІ-23-)-1;*ОDS(ПЗПІ-23-)-2"
|
||||
"*ОРО Лк DL *ОРО(ПЗПІ-23-)-1; *МСП Лк DL *МСП(ПЗПІ-23-)-1;*МСП(ПЗПІ-23-)-2; *ОDS Лк DL *ОDS(ПЗПІ-23-)-1;*ОDS(ПЗПІ-23-)-2; №2",04/18/2025,09:30 am,04/18/2025,11:05 am,"*ОРО Лк DL *ОРО(ПЗПІ-23-)-1; *МСП Лк DL *МСП(ПЗПІ-23-)-1;*МСП(ПЗПІ-23-)-2; *ОDS Лк DL *ОDS(ПЗПІ-23-)-1;*ОDS(ПЗПІ-23-)-2"
|
||||
"*ОРО Лк DL *ОРО(ПЗПІ-23-)-1; *МСП Лк DL *МСП(ПЗПІ-23-)-1;*МСП(ПЗПІ-23-)-2; *ОDS Лк DL *ОDS(ПЗПІ-23-)-1;*ОDS(ПЗПІ-23-)-2; №2",04/25/2025,09:30 am,04/25/2025,11:05 am,"*ОРО Лк DL *ОРО(ПЗПІ-23-)-1; *МСП Лк DL *МСП(ПЗПІ-23-)-1;*МСП(ПЗПІ-23-)-2; *ОDS Лк DL *ОDS(ПЗПІ-23-)-1;*ОDS(ПЗПІ-23-)-2"
|
||||
"*ОРО Лк DL *ОРО(ПЗПІ-23-)-1; *ВІА Лк DL *ВІА(ПЗПІ-23-)-1;*ВІА(ПЗПІ-23-)-2;*ВІА(ПЗПІ-23-)-3;*ВІА(ПЗПІ-23-)-4;*ВІА(ПЗПІ-23-)-5; *МСП Лк DL *МСП(ПЗПІ-23-)-1;*МСП(ПЗПІ-23-)-2; №1",05/02/2025,09:30 am,05/02/2025,11:05 am,"*ОРО Лк DL *ОРО(ПЗПІ-23-)-1; *ВІА Лк DL *ВІА(ПЗПІ-23-)-1;*ВІА(ПЗПІ-23-)-2;*ВІА(ПЗПІ-23-)-3;*ВІА(ПЗПІ-23-)-4;*ВІА(ПЗПІ-23-)-5; *МСП Лк DL *МСП(ПЗПІ-23-)-1;*МСП(ПЗПІ-23-)-2"
|
||||
"*МСП Лк DL *МСП(ПЗПІ-23-)-1;*МСП(ПЗПІ-23-)-2; №1",05/09/2025,09:30 am,05/09/2025,11:05 am,"*МСП Лк DL *МСП(ПЗПІ-23-)-1;*МСП(ПЗПІ-23-)-2"
|
||||
"*МСП Пз DL *МСП(ПЗПІ-23-)-1; №1",05/23/2025,09:30 am,05/23/2025,11:05 am,"*МСП Пз DL *МСП(ПЗПІ-23-)-1"
|
||||
"*ОDS Зал DL *ОDS(ПЗПІ-23-)-1; №1",06/20/2025,09:30 am,06/20/2025,11:05 am,"*ОDS Зал DL *ОDS(ПЗПІ-23-)-1"
|
||||
"*ОРО Пз DL *ОРО(ПЗПІ-23-)-1; *МСП Пз DL *МСП(ПЗПІ-23-)-1; *ОDS Пз DL *ОDS(ПЗПІ-23-)-1; №3",03/07/2025,11:15 am,03/07/2025,12:50 pm,"*ОРО Пз DL *ОРО(ПЗПІ-23-)-1; *МСП Пз DL *МСП(ПЗПІ-23-)-1; *ОDS Пз DL *ОDS(ПЗПІ-23-)-1"
|
||||
"*ОРО Лб DL *ОРО(ПЗПІ-23-)-1; *ОDS Лб DL *ОDS(ПЗПІ-23-)-1; №3",03/21/2025,11:15 am,03/21/2025,12:50 pm,"*ОРО Лб DL *ОРО(ПЗПІ-23-)-1; *ОDS Лб DL *ОDS(ПЗПІ-23-)-1"
|
||||
"*ОРО Лб DL *ОРО(ПЗПІ-23-)-1; *МСП Лб DL *МСП(ПЗПІ-23-)-1; *ОDS Лб DL *ОDS(ПЗПІ-23-)-1; №3",04/11/2025,11:15 am,04/11/2025,12:50 pm,"*ОРО Лб DL *ОРО(ПЗПІ-23-)-1; *МСП Лб DL *МСП(ПЗПІ-23-)-1; *ОDS Лб DL *ОDS(ПЗПІ-23-)-1"
|
||||
"*МСП Лб DL *МСП(ПЗПІ-23-)-1; №3",04/18/2025,11:15 am,04/18/2025,12:50 pm,"*МСП Лб DL *МСП(ПЗПІ-23-)-1"
|
||||
"*ОРО Пз DL *ОРО(ПЗПІ-23-)-1; *ОDS Пз DL *ОDS(ПЗПІ-23-)-1; №3",04/25/2025,11:15 am,04/25/2025,12:50 pm,"*ОРО Пз DL *ОРО(ПЗПІ-23-)-1; *ОDS Пз DL *ОDS(ПЗПІ-23-)-1"
|
||||
"*ОРО Лб DL *ОРО(ПЗПІ-23-)-1; *МСП Лб DL *МСП(ПЗПІ-23-)-1; *ОDS Лб DL *ОDS(ПЗПІ-23-)-1; №2",05/02/2025,11:15 am,05/02/2025,12:50 pm,"*ОРО Лб DL *ОРО(ПЗПІ-23-)-1; *МСП Лб DL *МСП(ПЗПІ-23-)-1; *ОDS Лб DL *ОDS(ПЗПІ-23-)-1"
|
||||
"*ОРО Лк DL *ОРО(ПЗПІ-23-)-1; *ОDS Лк DL *ОDS(ПЗПІ-23-)-1;*ОDS(ПЗПІ-23-)-2; №2",05/09/2025,11:15 am,05/09/2025,12:50 pm,"*ОРО Лк DL *ОРО(ПЗПІ-23-)-1; *ОDS Лк DL *ОDS(ПЗПІ-23-)-1;*ОDS(ПЗПІ-23-)-2"
|
||||
"*ОРО Лб DL *ОРО(ПЗПІ-23-)-1; *МСП Лб DL *МСП(ПЗПІ-23-)-1; *ОDS Лб DL *ОDS(ПЗПІ-23-)-1; №2",05/23/2025,11:15 am,05/23/2025,12:50 pm,"*ОРО Лб DL *ОРО(ПЗПІ-23-)-1; *МСП Лб DL *МСП(ПЗПІ-23-)-1; *ОDS Лб DL *ОDS(ПЗПІ-23-)-1"
|
||||
"*ОРО Лб DL *ОРО(ПЗПІ-23-)-1; *МСП Лб DL *МСП(ПЗПІ-23-)-1; *ОDS Лб DL *ОDS(ПЗПІ-23-)-1; №1",06/06/2025,11:15 am,06/06/2025,12:50 pm,"*ОРО Лб DL *ОРО(ПЗПІ-23-)-1; *МСП Лб DL *МСП(ПЗПІ-23-)-1; *ОDS Лб DL *ОDS(ПЗПІ-23-)-1"
|
||||
"*ОРО Пз DL *ОРО(ПЗПІ-23-)-1; *ОDS Пз DL *ОDS(ПЗПІ-23-)-1; №4",03/07/2025,01:10 pm,03/07/2025,02:45 pm,"*ОРО Пз DL *ОРО(ПЗПІ-23-)-1; *ОDS Пз DL *ОDS(ПЗПІ-23-)-1"
|
||||
"*ОРО Лб DL *ОРО(ПЗПІ-23-)-1; *ОDS Лб DL *ОDS(ПЗПІ-23-)-1; №4",03/21/2025,01:10 pm,03/21/2025,02:45 pm,"*ОРО Лб DL *ОРО(ПЗПІ-23-)-1; *ОDS Лб DL *ОDS(ПЗПІ-23-)-1"
|
||||
"*ОРО Лб DL *ОРО(ПЗПІ-23-)-1; *МСП Лб DL *МСП(ПЗПІ-23-)-1; *ОDS Лб DL *ОDS(ПЗПІ-23-)-1; №4",04/11/2025,01:10 pm,04/11/2025,02:45 pm,"*ОРО Лб DL *ОРО(ПЗПІ-23-)-1; *МСП Лб DL *МСП(ПЗПІ-23-)-1; *ОDS Лб DL *ОDS(ПЗПІ-23-)-1"
|
||||
"*МСП Лб DL *МСП(ПЗПІ-23-)-1; №4",04/18/2025,01:10 pm,04/18/2025,02:45 pm,"*МСП Лб DL *МСП(ПЗПІ-23-)-1"
|
||||
"*ОDS Пз DL *ОDS(ПЗПІ-23-)-1; №4",04/25/2025,01:10 pm,04/25/2025,02:45 pm,"*ОDS Пз DL *ОDS(ПЗПІ-23-)-1"
|
||||
"*ОРО Лб DL *ОРО(ПЗПІ-23-)-1; *МСП Лб DL *МСП(ПЗПІ-23-)-1; *ОDS Лб DL *ОDS(ПЗПІ-23-)-1; №3",05/02/2025,01:10 pm,05/02/2025,02:45 pm,"*ОРО Лб DL *ОРО(ПЗПІ-23-)-1; *МСП Лб DL *МСП(ПЗПІ-23-)-1; *ОDS Лб DL *ОDS(ПЗПІ-23-)-1"
|
||||
"*ОРО Лб DL *ОРО(ПЗПІ-23-)-1; *МСП Лб DL *МСП(ПЗПІ-23-)-1; *ОDS Лб DL *ОDS(ПЗПІ-23-)-1; №3",05/23/2025,01:10 pm,05/23/2025,02:45 pm,"*ОРО Лб DL *ОРО(ПЗПІ-23-)-1; *МСП Лб DL *МСП(ПЗПІ-23-)-1; *ОDS Лб DL *ОDS(ПЗПІ-23-)-1"
|
||||
"*ОРО Лб DL *ОРО(ПЗПІ-23-)-1; *МСП Лб DL *МСП(ПЗПІ-23-)-1; *ОDS Лб DL *ОDS(ПЗПІ-23-)-1; №2",06/06/2025,01:10 pm,06/06/2025,02:45 pm,"*ОРО Лб DL *ОРО(ПЗПІ-23-)-1; *МСП Лб DL *МСП(ПЗПІ-23-)-1; *ОDS Лб DL *ОDS(ПЗПІ-23-)-1"
|
||||
"*ДРСД Зал DL *ДРСД(ПЗПІ-23-)-1; №1",06/21/2025,11:15 am,06/21/2025,12:50 pm,"*ДРСД Зал DL *ДРСД(ПЗПІ-23-)-1"
|
||||
"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1; №1",02/15/2025,02:55 pm,02/15/2025,04:30 pm,"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1"
|
||||
"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1; №1",02/22/2025,02:55 pm,02/22/2025,04:30 pm,"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1"
|
||||
"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1; №1",03/01/2025,02:55 pm,03/01/2025,04:30 pm,"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1"
|
||||
"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1; №1",03/08/2025,02:55 pm,03/08/2025,04:30 pm,"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1"
|
||||
"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1; №1",03/15/2025,02:55 pm,03/15/2025,04:30 pm,"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1"
|
||||
"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1; №1",03/22/2025,02:55 pm,03/22/2025,04:30 pm,"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1"
|
||||
"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1; №1",03/29/2025,02:55 pm,03/29/2025,04:30 pm,"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1"
|
||||
"*МСП Пз DL *МСП(ПЗПІ-23-)-1; *ДРСД Пз DL *ДРСД(ПЗПІ-23-)-1; №1",04/05/2025,02:55 pm,04/05/2025,04:30 pm,"*МСП Пз DL *МСП(ПЗПІ-23-)-1; *ДРСД Пз DL *ДРСД(ПЗПІ-23-)-1"
|
||||
"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1; №1",04/12/2025,02:55 pm,04/12/2025,04:30 pm,"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1"
|
||||
"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1; №1",04/19/2025,02:55 pm,04/19/2025,04:30 pm,"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1"
|
||||
"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1; №1",04/26/2025,02:55 pm,04/26/2025,04:30 pm,"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1"
|
||||
"*ДРСД Пз DL *ДРСД(ПЗПІ-23-)-1; №1",05/03/2025,02:55 pm,05/03/2025,04:30 pm,"*ДРСД Пз DL *ДРСД(ПЗПІ-23-)-1"
|
||||
"*ДРСД Лб DL *ДРСД(ПЗПІ-23-)-1; №1",05/10/2025,02:55 pm,05/10/2025,04:30 pm,"*ДРСД Лб DL *ДРСД(ПЗПІ-23-)-1"
|
||||
"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1; №2",02/15/2025,04:40 pm,02/15/2025,06:15 pm,"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1"
|
||||
"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1; №2",02/22/2025,04:40 pm,02/22/2025,06:15 pm,"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1"
|
||||
"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1; №2",03/01/2025,04:40 pm,03/01/2025,06:15 pm,"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1"
|
||||
"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1; №2",03/08/2025,04:40 pm,03/08/2025,06:15 pm,"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1"
|
||||
"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1; №2",03/15/2025,04:40 pm,03/15/2025,06:15 pm,"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1"
|
||||
"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1; №2",03/22/2025,04:40 pm,03/22/2025,06:15 pm,"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1"
|
||||
"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1; №2",03/29/2025,04:40 pm,03/29/2025,06:15 pm,"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1"
|
||||
"*ДРСД Пз DL *ДРСД(ПЗПІ-23-)-1; №2",04/05/2025,04:40 pm,04/05/2025,06:15 pm,"*ДРСД Пз DL *ДРСД(ПЗПІ-23-)-1"
|
||||
"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1; №2",04/12/2025,04:40 pm,04/12/2025,06:15 pm,"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1"
|
||||
"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1; №2",04/19/2025,04:40 pm,04/19/2025,06:15 pm,"*ДРСД Лк DL *ДРСД(ПЗПІ-23-)-1"
|
||||
"*ДРСД Пз DL *ДРСД(ПЗПІ-23-)-1; №2",05/03/2025,04:40 pm,05/03/2025,06:15 pm,"*ДРСД Пз DL *ДРСД(ПЗПІ-23-)-1"
|
||||
"*ДРСД Лб DL *ДРСД(ПЗПІ-23-)-1; №2",05/10/2025,04:40 pm,05/10/2025,06:15 pm,"*ДРСД Лб DL *ДРСД(ПЗПІ-23-)-1"
|
|
1
semester-4/СмП/lb-1/src/TimeTable_21_04_2025.csv
Normal file
1
semester-4/СмП/lb-1/src/TimeTable_21_04_2025.csv
Normal file
File diff suppressed because one or more lines are too long
1
semester-4/СмП/lb-1/src/TimeTable_22_04_2025.csv
Normal file
1
semester-4/СмП/lb-1/src/TimeTable_22_04_2025.csv
Normal file
File diff suppressed because one or more lines are too long
88
semester-4/СмП/lb-1/src/pzpi-23-2-sytnyk-yehor-task2
Executable file
88
semester-4/СмП/lb-1/src/pzpi-23-2-sytnyk-yehor-task2
Executable file
@ -0,0 +1,88 @@
|
||||
#!/bin/bash
|
||||
|
||||
error() {
|
||||
echo "Error: $1." >&2;
|
||||
exit $2;
|
||||
}
|
||||
|
||||
select_from(){
|
||||
if [ -n "$2" -a $(echo "$1" | wc -l) -eq 1 ]; then echo "$1"; return 0; fi
|
||||
|
||||
select selected in quit $1; do
|
||||
case "$selected" in
|
||||
'') continue ;;
|
||||
'quit') return 1 ;;
|
||||
*) echo "$selected"; return 0 ;;
|
||||
esac
|
||||
done
|
||||
}
|
||||
|
||||
if [ "$1" = "--version" ]; then echo 'cist converter 1.0'; exit 0; fi
|
||||
if [ "$1" = "--help" ]; then
|
||||
echo "Usage: $0 [--help | --version] | [-q|--quiet] [[академ_група] файл_із_cist.csv]"
|
||||
echo 'Convert schedule.csv from CIST format into Google Calendar format'
|
||||
echo -e " --help \t\tPrint this help message and exit"
|
||||
echo -e " --version \t\tPrint version info and exit"
|
||||
echo -e " -q, --quiet \t\tDo not print the result to stdout"
|
||||
echo -e " академ_група \t\tOptional group name"
|
||||
echo -e " файл_із_cist.csv \tCSV file to process"
|
||||
exit 0;
|
||||
fi
|
||||
|
||||
exec 3>&1;
|
||||
if [ "$1" = "-q" -o "$1" = "--quiet" ]; then exec 3>/dev/null; shift; fi
|
||||
|
||||
if [ $# -eq 2 ]; then group="$1"; shift; fi
|
||||
if [ $# -eq 1 ]; then csv="$1"; fi
|
||||
|
||||
csvs=$(ls TimeTable_??_??_20??.csv 2>/dev/null | sort)
|
||||
|
||||
if [ -z "$csv" ]; then csv=$(select_from "$csvs") || exit 0; fi
|
||||
|
||||
if [ ! -f "$csv" ]; then error "file '$csv' is not exist" 1; fi
|
||||
if [ ! -r "$csv" ]; then error "permission to read file '$csv' denied" 2; fi
|
||||
|
||||
csv_data=$( cat "$csv" | sed 's/\r/\n/g' | iconv -f cp1251 -t utf8 )
|
||||
|
||||
groups=$(
|
||||
echo "$csv_data" \
|
||||
| awk -v FPAT='[^,]*|"[^"]*"' '
|
||||
NR > 1 {
|
||||
gsub(/^"/, "", $1);
|
||||
if (split($1, res, " - ") != 1) print res[1]
|
||||
}
|
||||
' \
|
||||
| sort \
|
||||
| uniq
|
||||
)
|
||||
|
||||
if [ -z "$group" ]; then group=$(select_from "$groups" "skip") || exit 0; fi
|
||||
|
||||
if ! echo "$groups" | grep "$group"; then
|
||||
echo "No '$group' group in '$csv'."
|
||||
group=$(select_from "$groups" "skip") || exit 0;
|
||||
fi
|
||||
|
||||
echo "$csv_data" \
|
||||
| awk -v FPAT='[^,]*|"[^"]*"' -v pattern="$([ -n "$group" ] && echo "^\"$group - ")" '
|
||||
function time_fmt(time) {
|
||||
gsub(/:|"/, " ", time)
|
||||
return strftime("%I:%M %p", mktime("1970 01 01" time))
|
||||
}
|
||||
|
||||
function date_fmt(date) {
|
||||
gsub(/"/, "", date)
|
||||
split(date, dp, ".")
|
||||
return strftime("%m/%d/%Y", mktime(dp[3] " " dp[2] " " dp[1] " 00 00 00"))
|
||||
}
|
||||
|
||||
NR==1 { print "Subject,Start Date,Start Time,End Date,End Time,Description" }
|
||||
|
||||
NR!=1 && $1 ~ pattern {
|
||||
gsub(pattern "|^\"|\"$", "", $1)
|
||||
|
||||
printf("\"%s; №%d\",%s,%s,%s,%s,%s\n",
|
||||
$1, ++lessons[$2], date_fmt($2), time_fmt($3), date_fmt($4), time_fmt($5), $12)
|
||||
}
|
||||
' \
|
||||
| tee "Google_$(basename "$csv")" >&3
|
302
semester-4/СмП/lb-1/Лб_1_Ситник_ПЗПІ_23_2.typ
Normal file
302
semester-4/СмП/lb-1/Лб_1_Ситник_ПЗПІ_23_2.typ
Normal file
@ -0,0 +1,302 @@
|
||||
#import "lib.typ": *
|
||||
|
||||
#set raw(tab-size: 8)
|
||||
#show raw.where(block: true): code => {
|
||||
// set text(11pt, font: "Caladea", top-edge: 1em, bottom-edge: 0em)
|
||||
set text(11pt, top-edge: 1em, bottom-edge: 0em)
|
||||
set par(leading: 0.17em)
|
||||
|
||||
grid(
|
||||
columns: (auto, auto),
|
||||
column-gutter: 1em,
|
||||
row-gutter: 0.17em,
|
||||
align: (right, raw.align),
|
||||
..for line in code.lines {
|
||||
(
|
||||
text(fill: gray)[#line.number],
|
||||
{
|
||||
set text(weight: "semibold")
|
||||
line.body
|
||||
},
|
||||
)
|
||||
},
|
||||
)
|
||||
}
|
||||
|
||||
#show: lab-pz-template.with(
|
||||
doctype: "ЛБ",
|
||||
title: "Розробка Bash-скрипту для конвертації розкладу CIST NURE у формат Google Календар",
|
||||
subject_shorthand: "СМП",
|
||||
department_gen: "Програмної інженерії",
|
||||
authors: (
|
||||
(
|
||||
name: "Ситник Є. С.",
|
||||
full_name_gen: "Ситника Єгора Сергійовича",
|
||||
group: "ПЗПІ-23-2",
|
||||
gender: "m",
|
||||
variant: none,
|
||||
),
|
||||
),
|
||||
mentor: (
|
||||
name: "Сокорчук І. П.",
|
||||
gender: "m",
|
||||
degree: "ст. викл. каф. ПІ",
|
||||
),
|
||||
worknumber: 1,
|
||||
)
|
||||
|
||||
#v(-spacing)
|
||||
== Мета роботи
|
||||
|
||||
- Ознайомитись з основними командами Bash для роботи з файлами та текстовими даними.
|
||||
- Навчитись використовувати команди "select", "ls", "awk", "sort", "uniq", "tee", "cat", "sed", "iconv", тощо.
|
||||
- Розробити Bash-скрипт для перетворення CSV файла розкладу занять у формат для імпорту в Google Календар.
|
||||
|
||||
== Хід роботи
|
||||
|
||||
=== Огляд завдання
|
||||
|
||||
Завдання полягало у розробці скрипта для обробки експортованого з сайту cist.nure.ua розкладу занять у форматі CSV та перетворення його у формат, сумісний з Google Календарем. Скрипт повинен підтримувати різні параметри командного рядка, вибір файлів та груп студентів, а також забезпечувати належне форматування даних для успішного імпорту в Google Календар.
|
||||
|
||||
=== Реалізація
|
||||
|
||||
Реалізований Bash-скрипт складається з декількох основних функціональних блоків.
|
||||
|
||||
Спочатку реалізовано дві допоміжні функції. Функція "error()" відповідає за виведення повідомлень про помилки та завершення роботи скрипта із заданим кодом виходу. Вона приймає два параметри: текст помилки та код помилки, після чого перенаправляє текст помилки у потік помилок ("stderr") за допомогою ">&2".
|
||||
|
||||
```
|
||||
error() {
|
||||
echo "Error: $1." >&2;
|
||||
exit $2;
|
||||
}
|
||||
```
|
||||
|
||||
Функція "select_from()" забезпечує інтерактивний вибір елементів із списку через меню. Вона обробляє як випадок, коли у списку лише один елемент (автоматично його вибирає), так і випадок з декількома елементами, коли користувачу надається меню вибору. Команда "select" дозволяє створити меню для вибору опцій, з яких користувач може вибрати потрібний варіант або вийти з вибору за допомогою опції "quit".
|
||||
|
||||
```
|
||||
select_from(){
|
||||
if [ -n "$2" -a $(echo "$1" | wc -l) -eq 1 ]; then echo "$1"; return 0; fi
|
||||
|
||||
select selected in quit $1; do
|
||||
case "$selected" in
|
||||
'') continue ;;
|
||||
'quit') return 1 ;;
|
||||
*) echo "$selected"; return 0 ;;
|
||||
esac
|
||||
done
|
||||
}
|
||||
```
|
||||
|
||||
Скрипт підтримує наступні ключі командного рядка: "--version" для виведення інформації про версію скрипта, "--help" для виведення довідки про використання скрипта, та "-q" або "--quiet" для вимкнення виведення даних в стандартний потік виведення. Це реалізовано через перевірку значення першого аргументу командного рядка.
|
||||
|
||||
```
|
||||
if [ "$1" = "--version" ]; then echo 'cist converter 1.0'; exit 0; fi
|
||||
if [ "$1" = "--help" ]; then
|
||||
echo "Usage: $0 [--help | --version] | [-q|--quiet] [[академ_група] файл_із_cist.csv]"
|
||||
echo 'Convert schedule.csv from CIST format into Google Calendar format'
|
||||
echo -e " --help \t\tPrint this help message and exit"
|
||||
echo -e " --version \t\tPrint version info and exit"
|
||||
echo -e " -q, --quiet \t\tDo not print the result to stdout"
|
||||
echo -e " академ_група \t\tOptional group name"
|
||||
echo -e " файл_із_cist.csv \tCSV file to process"
|
||||
exit 0;
|
||||
fi
|
||||
```
|
||||
|
||||
Для підтримки опції "--quiet" використовується перенаправлення стандартного потоку виведення через файловий дескриптор 3. Команда "exec 3>&1" створює новий файловий дескриптор, що вказує на стандартний потік виведення, а "exec 3>/dev/null" перенаправляє його в "/dev/null" для режиму "--quiet", блокуючи виведення результату на екран.
|
||||
|
||||
```
|
||||
exec 3>&1;
|
||||
if [ "$1" = "-q" -o "$1" = "--quiet" ]; then exec 3>/dev/null; shift; fi
|
||||
```
|
||||
|
||||
Якщо файл не вказано через аргументи командного рядка, скрипт шукає доступні CSV файли в поточній директорії за шаблоном "TimeTable\_??\_??\_20??.csv" за допомогою команди "ls" та пропонує вибрати один з них, використовуючи функцію "select_from". Після вибору файлу скрипт перевіряє його наявність та права доступу, використовуючи умовні оператори з флагами "-f" (існування файлу) та "-r" (можливість читання).
|
||||
|
||||
```
|
||||
if [ -z "$csv" ]; then csv=$(select_from "$csvs") || exit 0; fi
|
||||
|
||||
if [ ! -f "$csv" ]; then error "file '$csv' is not exist" 1; fi
|
||||
if [ ! -r "$csv" ]; then error "permission to read file '$csv' denied" 2; fi
|
||||
```
|
||||
|
||||
Далі скрипт зчитує вміст файлу за допомогою команди "cat", заміняє символи повернення каретки на переноси рядків за допомогою команди "sed 's/\r/\n/g'" та конвертує текст з Windows-1251 в UTF-8 за допомогою "iconv -f cp1251 -t utf8". Потім формується список доступних академічних груп за допомогою команди "awk", яка обробляє рядки файлу CSV з використанням змінної FPAT для коректного розбиття полів даних, розділених комами. Отриманий список сортується ("sort") та з нього видаляються дублікати ("uniq").
|
||||
|
||||
```
|
||||
csv_data=$( cat "$csv" | sed 's/\r/\n/g' | iconv -f cp1251 -t utf8 )
|
||||
|
||||
groups=$(
|
||||
echo "$csv_data" \
|
||||
| awk -v FPAT='[^,]*|"[^"]*"' '
|
||||
NR > 1 {
|
||||
gsub(/^"/, "", $1);
|
||||
if (split($1, res, " - ") != 1) print res[1]
|
||||
}
|
||||
' \
|
||||
| sort \
|
||||
| uniq
|
||||
)
|
||||
```
|
||||
|
||||
Якщо група не вказана через аргументи командного рядка, скрипт пропонує вибрати групу зі списку за допомогою функції "select_from". Якщо група не знайдена у вибраному файлі, скрипт повідомляє про це користувача та пропонує вибрати іншу групу.
|
||||
|
||||
```
|
||||
if [ -z "$group" ]; then group=$(select_from "$groups" "skip") || exit 0; fi
|
||||
```
|
||||
|
||||
Основний процес перетворення даних здійснюється за допомогою команди "awk", яка обробляє CSV дані, фільтрує рядки відповідно до обраної групи, та форматує дані для Google Календаря. Всередині "awk" визначаються дві функції: "time_fmt()" для перетворення часу з формату "HH:MM:SS" у формат "HH:MM AM/PM", та "date_fmt()" для перетворення дати з формату "DD.MM.YYYY" у формат "MM/DD/YYYY". Обидві функції використовують "strftime()" та "mktime()" для конвертації форматів. Для кожного рядка, що відповідає обраній групі, скрипт форматує поля "Subject", "Start Date", "Start Time", "End Date", "End Time" та "Description" відповідно до вимог Google Календаря. Результат зберігається у файл з префіксом "Google\_" та виводиться на екран за допомогою команди "tee", якщо не вказано ключ "--quiet".
|
||||
|
||||
```
|
||||
echo "$csv_data" \
|
||||
| awk -v FPAT='[^,]*|"[^"]*"' -v pattern="$([ -n "$group" ] && echo "^\"$group - ")" '
|
||||
function time_fmt(time) {
|
||||
gsub(/:|"/, " ", time)
|
||||
return strftime("%I:%M %p", mktime("1970 01 01" time))
|
||||
}
|
||||
|
||||
function date_fmt(date) {
|
||||
gsub(/"/, "", date)
|
||||
split(date, dp, ".")
|
||||
return strftime("%m/%d/%Y", mktime(dp[3] " " dp[2] " " dp[1] " 00 00 00"))
|
||||
}
|
||||
|
||||
NR==1 { print "Subject,Start Date,Start Time,End Date,End Time,Description" }
|
||||
|
||||
NR!=1 && $1 ~ pattern {
|
||||
gsub(pattern "|^\"|\"$", "", $1)
|
||||
|
||||
printf("\"%s; №%d\",%s,%s,%s,%s,%s\n",
|
||||
$1, ++lessons[$2], date_fmt($2), time_fmt($3), date_fmt($4), time_fmt($5), $12)
|
||||
}
|
||||
' \
|
||||
| tee "Google_$(basename "$csv")" >&3
|
||||
```
|
||||
|
||||
== Висновки
|
||||
|
||||
У ході виконання лабораторної роботи було розроблено скрипт командного інтерпретатора Bash для перетворення формату CSV файлів розкладу занять із системи CIST ХНУРЕ у формат, придатний для імпорту в Google Календар.
|
||||
|
||||
Скрипт має гнучкий інтерфейс командного рядка з підтримкою різних опцій та аргументів, а також забезпечує належну обробку помилок. Він демонструє ефективне використання базових команд Bash для роботи з файлами та обробки текстових даних, включаючи "select", "ls", "awk", "sort", "uniq", "tee", "cat", "sed" та "iconv".
|
||||
|
||||
Основні навички, отримані при виконанні роботи:
|
||||
- Використання перенаправлення потоків даних в Bash
|
||||
- Створення інтерактивних меню за допомогою команди "select"
|
||||
- Обробка структурованих текстових даних за допомогою "awk"
|
||||
- Конвертація форматів дати та часу
|
||||
- Робота з кодуваннями символів
|
||||
|
||||
Розроблений скрипт повністю відповідає поставленим вимогам та може бути використаний для автоматизації процесу імпорту розкладу занять із системи CIST у Google Календар.
|
||||
|
||||
#counter(heading).update(0)
|
||||
|
||||
#set heading(
|
||||
numbering: (i, ..nums) => {
|
||||
let char = upper(ua_alpha_numbering.at(i))
|
||||
if nums.pos().len() == 0 { char } else {
|
||||
char + "." + nums.pos().map(str).join(".")
|
||||
}
|
||||
},
|
||||
)
|
||||
|
||||
#show heading.where(level: 1): it => {
|
||||
set align(center)
|
||||
set text(size: 14pt, weight: "regular")
|
||||
|
||||
pagebreak(weak: true)
|
||||
bold[ДОДАТОК #counter(heading).display(it.numbering)]
|
||||
linebreak()
|
||||
it.body
|
||||
v(spacing * 2, weak: true)
|
||||
}
|
||||
|
||||
= Повний текст розробленого скрипта
|
||||
|
||||
```
|
||||
#!/bin/bash
|
||||
|
||||
error() {
|
||||
echo "Error: $1." >&2;
|
||||
exit $2;
|
||||
}
|
||||
|
||||
select_from(){
|
||||
if [ -n "$2" -a $(echo "$1" | wc -l) -eq 1 ]; then echo "$1"; return 0; fi
|
||||
|
||||
select selected in quit $1; do
|
||||
case "$selected" in
|
||||
'') continue ;;
|
||||
'quit') return 1 ;;
|
||||
*) echo "$selected"; return 0 ;;
|
||||
esac
|
||||
done
|
||||
}
|
||||
|
||||
if [ "$1" = "--version" ]; then echo 'cist converter 1.0'; exit 0; fi
|
||||
if [ "$1" = "--help" ]; then
|
||||
echo "Usage: $0 [--help | --version] | [-q|--quiet] [[академ_група] файл_із_cist.csv]"
|
||||
echo 'Convert schedule.csv from CIST format into Google Calendar format'
|
||||
echo -e " --help \t\tPrint this help message and exit"
|
||||
echo -e " --version \t\tPrint version info and exit"
|
||||
echo -e " -q, --quiet \t\tDo not print the result to stdout"
|
||||
echo -e " академ_група \t\tOptional group name"
|
||||
echo -e " файл_із_cist.csv \tCSV file to process"
|
||||
exit 0;
|
||||
fi
|
||||
|
||||
exec 3>&1;
|
||||
if [ "$1" = "-q" -o "$1" = "--quiet" ]; then exec 3>/dev/null; shift; fi
|
||||
|
||||
if [ $# -eq 2 ]; then group="$1"; shift; fi
|
||||
if [ $# -eq 1 ]; then csv="$1"; fi
|
||||
|
||||
csvs=$(ls TimeTable_??_??_20??.csv 2>/dev/null | sort)
|
||||
|
||||
if [ -z "$csv" ]; then csv=$(select_from "$csvs") || exit 0; fi
|
||||
|
||||
if [ ! -f "$csv" ]; then error "file '$csv' is not exist" 1; fi
|
||||
if [ ! -r "$csv" ]; then error "permission to read file '$csv' denied" 2; fi
|
||||
|
||||
csv_data=$( cat "$csv" | sed 's/\r/\n/g' | iconv -f cp1251 -t utf8 )
|
||||
|
||||
groups=$(
|
||||
echo "$csv_data" \
|
||||
| awk -v FPAT='[^,]*|"[^"]*"' '
|
||||
NR > 1 {
|
||||
gsub(/^"/, "", $1);
|
||||
if (split($1, res, " - ") != 1) print res[1]
|
||||
}
|
||||
' \
|
||||
| sort \
|
||||
| uniq
|
||||
)
|
||||
|
||||
if [ -z "$group" ]; then group=$(select_from "$groups" "skip") || exit 0; fi
|
||||
|
||||
if ! echo "$groups" | grep "$group"; then
|
||||
echo "No '$group' group in '$csv'."
|
||||
group=$(select_from "$groups" "skip") || exit 0;
|
||||
fi
|
||||
|
||||
echo "$csv_data" \
|
||||
| awk -v FPAT='[^,]*|"[^"]*"' -v pattern="$([ -n "$group" ] && echo "^\"$group - ")" '
|
||||
function time_fmt(time) {
|
||||
gsub(/:|"/, " ", time)
|
||||
return strftime("%I:%M %p", mktime("1970 01 01" time))
|
||||
}
|
||||
|
||||
function date_fmt(date) {
|
||||
gsub(/"/, "", date)
|
||||
split(date, dp, ".")
|
||||
return strftime("%m/%d/%Y", mktime(dp[3] " " dp[2] " " dp[1] " 00 00 00"))
|
||||
}
|
||||
|
||||
NR==1 { print "Subject,Start Date,Start Time,End Date,End Time,Description" }
|
||||
|
||||
NR!=1 && $1 ~ pattern {
|
||||
gsub(pattern "|^\"|\"$", "", $1)
|
||||
|
||||
printf("\"%s; №%d\",%s,%s,%s,%s,%s\n",
|
||||
$1, ++lessons[$2], date_fmt($2), time_fmt($3), date_fmt($4), time_fmt($5), $12)
|
||||
}
|
||||
' \
|
||||
| tee "Google_$(basename "$csv")" >&3
|
||||
```
|
Reference in New Issue
Block a user