From faf59e2669a6f59619ba1c9e1443011b98e1457c Mon Sep 17 00:00:00 2001 From: BlanxxtyIS Date: Thu, 6 Jul 2023 13:09:56 +0300 Subject: [PATCH 01/21] =?UTF-8?q?=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=B0=20?= =?UTF-8?q?=D0=BD=D0=B0=D0=B4=204=20=D1=81=D0=BF=D1=80=D0=B8=D0=BD=D1=82?= =?UTF-8?q?=D0=BE=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MovieQuiz.xcodeproj/project.pbxproj | 16 +++ MovieQuiz/Helpers/UIColor+Extensions.swift | 9 +- .../Presentation/Base.lproj/Main.storyboard | 120 +++++++++++++++- .../MovieQuizViewController.swift | 128 ++++++++++++++++++ .../YP Background.colorset/Contents.json | 38 ++++++ .../Colors/YP Black.colorset/Contents.json | 38 ++++++ .../Colors/YP Gray.colorset/Contents.json | 38 ++++++ .../Colors/YP Green.colorset/Contents.json | 38 ++++++ .../Colors/YP Red.colorset/Contents.json | 38 ++++++ .../Colors/YP White.colorset/Contents.json | 38 ++++++ .../Images/Default.imageset/Contents.json | 21 +++ .../Images/Default.imageset/Default.png | Bin 0 -> 239201 bytes .../Base.lproj/LaunchScreen.storyboard | 23 +++- MovieQuiz/Resources/Info.plist | 5 + .../YS Display-Bold.ttf | Bin 0 -> 191964 bytes .../YS Display-Medium.ttf | Bin 0 -> 192040 bytes 16 files changed, 544 insertions(+), 6 deletions(-) create mode 100644 MovieQuiz/Resources/Assets.xcassets/Colors/YP Background.colorset/Contents.json create mode 100644 MovieQuiz/Resources/Assets.xcassets/Colors/YP Black.colorset/Contents.json create mode 100644 MovieQuiz/Resources/Assets.xcassets/Colors/YP Gray.colorset/Contents.json create mode 100644 MovieQuiz/Resources/Assets.xcassets/Colors/YP Green.colorset/Contents.json create mode 100644 MovieQuiz/Resources/Assets.xcassets/Colors/YP Red.colorset/Contents.json create mode 100644 MovieQuiz/Resources/Assets.xcassets/Colors/YP White.colorset/Contents.json create mode 100644 MovieQuiz/Resources/Assets.xcassets/Images/Default.imageset/Contents.json create mode 100644 MovieQuiz/Resources/Assets.xcassets/Images/Default.imageset/Default.png create mode 100644 MovieQuiz/Resources/MovieQuizFonts 13.49.58/YS Display-Bold.ttf create mode 100644 MovieQuiz/Resources/MovieQuizFonts 13.49.58/YS Display-Medium.ttf diff --git a/MovieQuiz.xcodeproj/project.pbxproj b/MovieQuiz.xcodeproj/project.pbxproj index 45ad649fa4..aaa047977e 100644 --- a/MovieQuiz.xcodeproj/project.pbxproj +++ b/MovieQuiz.xcodeproj/project.pbxproj @@ -16,6 +16,8 @@ AD5EE5DE284D7887003966EF /* UIColor+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD5EE5DD284D7887003966EF /* UIColor+Extensions.swift */; }; AD77F5742857F8810062FB14 /* Date+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD77F5732857F8810062FB14 /* Date+Extensions.swift */; }; AD7AFA552836189F00399704 /* Array+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD7AFA542836189F00399704 /* Array+Extensions.swift */; }; + F471CA812A54357F00C2E967 /* YS Display-Medium.ttf in Resources */ = {isa = PBXBuildFile; fileRef = F471CA7E2A54310300C2E967 /* YS Display-Medium.ttf */; }; + F471CA822A54358300C2E967 /* YS Display-Bold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = F471CA7D2A54310300C2E967 /* YS Display-Bold.ttf */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -30,6 +32,8 @@ AD5EE5DD284D7887003966EF /* UIColor+Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIColor+Extensions.swift"; sourceTree = ""; }; AD77F5732857F8810062FB14 /* Date+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Date+Extensions.swift"; sourceTree = ""; }; AD7AFA542836189F00399704 /* Array+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Array+Extensions.swift"; sourceTree = ""; }; + F471CA7D2A54310300C2E967 /* YS Display-Bold.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "YS Display-Bold.ttf"; sourceTree = ""; }; + F471CA7E2A54310300C2E967 /* YS Display-Medium.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "YS Display-Medium.ttf"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -55,6 +59,7 @@ 8F4738332848DE46005DF65E /* Resources */ = { isa = PBXGroup; children = ( + F471CA7C2A54310300C2E967 /* MovieQuizFonts 13.49.58 */, AD1ABABC2831907F00B3E448 /* LaunchScreen.storyboard */, AD1ABABA2831907F00B3E448 /* Assets.xcassets */, AD1ABABF2831907F00B3E448 /* Info.plist */, @@ -100,6 +105,15 @@ path = Helpers; sourceTree = ""; }; + F471CA7C2A54310300C2E967 /* MovieQuizFonts 13.49.58 */ = { + isa = PBXGroup; + children = ( + F471CA7D2A54310300C2E967 /* YS Display-Bold.ttf */, + F471CA7E2A54310300C2E967 /* YS Display-Medium.ttf */, + ); + path = "MovieQuizFonts 13.49.58"; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -161,7 +175,9 @@ files = ( AD1ABABE2831907F00B3E448 /* LaunchScreen.storyboard in Resources */, AD1ABABB2831907F00B3E448 /* Assets.xcassets in Resources */, + F471CA822A54358300C2E967 /* YS Display-Bold.ttf in Resources */, AD1ABAB92831907B00B3E448 /* Main.storyboard in Resources */, + F471CA812A54357F00C2E967 /* YS Display-Medium.ttf in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/MovieQuiz/Helpers/UIColor+Extensions.swift b/MovieQuiz/Helpers/UIColor+Extensions.swift index 1ba50d2c81..c994c8c342 100644 --- a/MovieQuiz/Helpers/UIColor+Extensions.swift +++ b/MovieQuiz/Helpers/UIColor+Extensions.swift @@ -1,3 +1,10 @@ import UIKit -extension UIColor { } +extension UIColor { + static var ypGreen: UIColor { UIColor(named: "YP Green") ?? UIColor.green } + static var ypRed: UIColor { UIColor(named: "YP Red") ?? UIColor.red } + static var ypBlack: UIColor { UIColor(named: "YP Black") ?? UIColor.black } + static var ypBackground: UIColor { UIColor(named: "YP Background") ?? UIColor.darkGray } + static var ypGray: UIColor { UIColor(named: "YP Gray") ?? UIColor.gray } + static var ypWhite: UIColor { UIColor(named: "YP White") ?? UIColor.white } +} diff --git a/MovieQuiz/Presentation/Base.lproj/Main.storyboard b/MovieQuiz/Presentation/Base.lproj/Main.storyboard index cf28943f42..ffe8d5d8d8 100644 --- a/MovieQuiz/Presentation/Base.lproj/Main.storyboard +++ b/MovieQuiz/Presentation/Base.lproj/Main.storyboard @@ -1,9 +1,10 @@ - + - + + @@ -15,13 +16,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + diff --git a/MovieQuiz/Presentation/MovieQuizViewController.swift b/MovieQuiz/Presentation/MovieQuizViewController.swift index 7aa88b8a27..23ec75e320 100644 --- a/MovieQuiz/Presentation/MovieQuizViewController.swift +++ b/MovieQuiz/Presentation/MovieQuizViewController.swift @@ -2,9 +2,137 @@ import UIKit final class MovieQuizViewController: UIViewController { // MARK: - Lifecycle + override func viewDidLoad() { super.viewDidLoad() } + + //Типы на экране + struct ViewModel { + let image: UIImage + let questions: String + let questionNumber: String + } + + //Состояние "Вопрос показан + struct QuizStepViewModel { + let image: UIImage + let question: String + let questionNumber: String + } + + //Результат квиза + struct QuizResultsViewModel { + let title: String + let text: String + let buttonText: String + } + + //Mock-данные + struct QuizQuestion { + let image: String + let text: String + let correctAnswer: Bool + } + + //Mock-Данные + private let questions: [QuizQuestion] = [ + QuizQuestion(image: "The Godfather", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: true), + QuizQuestion(image: "The Dark Knight", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: true), + QuizQuestion(image: "Kill Bill", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: true), + QuizQuestion(image: "The Avengers", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: true), + QuizQuestion(image: "Deadpool", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: true), + QuizQuestion(image: "The Green Knight", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: true), + QuizQuestion(image: "Old", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: false), + QuizQuestion(image: "The Ice Age Adventures of Buck Wild", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: false), + QuizQuestion(image: "Tesla", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: false), + QuizQuestion(image: "Vivarium", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: false)] + + //номер текущего вопроса + private var currentQuestionIndex = 0 + + //счетчик правильных ответов + private var correctAnswers = 0 + + //Конвертация из QuizQuestions -> QuizStepViewModel + private func convert(model: QuizQuestion) -> QuizStepViewModel { + let questionStep = QuizStepViewModel( + image: UIImage(named: model.image) ?? UIImage(), + question: model.text, + questionNumber: "\(currentQuestionIndex + 1) / \(questions.count)") + return questionStep + } + + //Приватный метод вывода на экран вопроса, который принимает на вход вью модель вопроса + private func show(quiz result: QuizResultsViewModel) { + let alert = UIAlertController( + title: result.title, + message: result.text, + preferredStyle: .alert) + + let action = UIAlertAction(title: result.buttonText, style: .default) { _ in + self.currentQuestionIndex = 0 + self.correctAnswers = 0 + + let firstQuestion = self.questions[self.currentQuestionIndex] + let viewModel = self.convert(model: firstQuestion) + self.show(quiz: viewModel) + } + alert.addAction(action) + self.present(alert, animated: true, completion: nil) + } + + //Меняет цвет рамки + private func showAnswerResults(isCorrect: Bool) { + if isCorrect { + correctAnswers += 1 + } + imageViev.layer.masksToBounds = true + imageViev.layer.borderWidth = 8 + imageViev.layer.borderColor = isCorrect ? UIColor.ypGreen.cgColor : UIColor.ypRed.cgColor + + DispatchQueue.main.asyncAfter(deadline: .now() + 1.0) { + self.showNextQuestionOrResults() + } + } + + @IBAction func noButtonClicked(_ sender: UIButton) { + let currentQuestion = questions[currentQuestionIndex] + let givenAnswer = false + + showAnswerResults(isCorrect: givenAnswer == currentQuestion.correctAnswer) + } + @IBAction func yesButtonClicked(_ sender: UIButton) { + let currentQuestion = questions[currentQuestionIndex] + let givenAnswer = true + + showAnswerResults(isCorrect: givenAnswer == currentQuestion.correctAnswer) + + } + + @IBOutlet private weak var imageViev: UIImageView! + @IBOutlet private weak var textLabel: UILabel! + @IBOutlet private weak var indexLabel: UILabel! + + + // логика перехода в один из сценариев + private func showNextQuestionOrResults() { + if currentQuestionIndex == questions.count - 1 { + let text = "Ваш результат: \(correctAnswers)/10" // 1 + let viewModel = QuizResultsViewModel( // 2 + title: "Этот раунд окончен!", + text: text, + buttonText: "Сыграть ещё раз") + show(quiz: viewModel) // 3 + } else { + currentQuestionIndex += 1 + let nextQuestion = questions[currentQuestionIndex] + let viewModel = convert(model: nextQuestion) + + show(quiz: viewModel) + } + } + } /* diff --git a/MovieQuiz/Resources/Assets.xcassets/Colors/YP Background.colorset/Contents.json b/MovieQuiz/Resources/Assets.xcassets/Colors/YP Background.colorset/Contents.json new file mode 100644 index 0000000000..ea40f9c935 --- /dev/null +++ b/MovieQuiz/Resources/Assets.xcassets/Colors/YP Background.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "0.600", + "blue" : "0x22", + "green" : "0x1B", + "red" : "0x1A" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "0.600", + "blue" : "0x22", + "green" : "0x1B", + "red" : "0x1A" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/MovieQuiz/Resources/Assets.xcassets/Colors/YP Black.colorset/Contents.json b/MovieQuiz/Resources/Assets.xcassets/Colors/YP Black.colorset/Contents.json new file mode 100644 index 0000000000..b15ea4c334 --- /dev/null +++ b/MovieQuiz/Resources/Assets.xcassets/Colors/YP Black.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x22", + "green" : "0x1B", + "red" : "0x1A" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x22", + "green" : "0x1B", + "red" : "0x1A" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/MovieQuiz/Resources/Assets.xcassets/Colors/YP Gray.colorset/Contents.json b/MovieQuiz/Resources/Assets.xcassets/Colors/YP Gray.colorset/Contents.json new file mode 100644 index 0000000000..0e90c63f6c --- /dev/null +++ b/MovieQuiz/Resources/Assets.xcassets/Colors/YP Gray.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0xEB", + "green" : "0xE8", + "red" : "0xE6" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0xEB", + "green" : "0xE8", + "red" : "0xE6" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/MovieQuiz/Resources/Assets.xcassets/Colors/YP Green.colorset/Contents.json b/MovieQuiz/Resources/Assets.xcassets/Colors/YP Green.colorset/Contents.json new file mode 100644 index 0000000000..183ce985ce --- /dev/null +++ b/MovieQuiz/Resources/Assets.xcassets/Colors/YP Green.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x8E", + "green" : "0xC2", + "red" : "0x60" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x8E", + "green" : "0xC2", + "red" : "0x60" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/MovieQuiz/Resources/Assets.xcassets/Colors/YP Red.colorset/Contents.json b/MovieQuiz/Resources/Assets.xcassets/Colors/YP Red.colorset/Contents.json new file mode 100644 index 0000000000..11976cadab --- /dev/null +++ b/MovieQuiz/Resources/Assets.xcassets/Colors/YP Red.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x6C", + "green" : "0x6B", + "red" : "0xF5" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x6C", + "green" : "0x6B", + "red" : "0xF5" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/MovieQuiz/Resources/Assets.xcassets/Colors/YP White.colorset/Contents.json b/MovieQuiz/Resources/Assets.xcassets/Colors/YP White.colorset/Contents.json new file mode 100644 index 0000000000..2536dc2d13 --- /dev/null +++ b/MovieQuiz/Resources/Assets.xcassets/Colors/YP White.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0xFF", + "green" : "0xFF", + "red" : "0xFF" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0xFF", + "green" : "0xFF", + "red" : "0xFF" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/MovieQuiz/Resources/Assets.xcassets/Images/Default.imageset/Contents.json b/MovieQuiz/Resources/Assets.xcassets/Images/Default.imageset/Contents.json new file mode 100644 index 0000000000..a8cd806d15 --- /dev/null +++ b/MovieQuiz/Resources/Assets.xcassets/Images/Default.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "Default.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/MovieQuiz/Resources/Assets.xcassets/Images/Default.imageset/Default.png b/MovieQuiz/Resources/Assets.xcassets/Images/Default.imageset/Default.png new file mode 100644 index 0000000000000000000000000000000000000000..1d9a073e9508c136472322ad33a60a1c3d269456 GIT binary patch literal 239201 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

Nt{KNdq_`AdsR!&x+Ah& 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�T_$HStNQDOvaAB@_MuZ#=Esw;9 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 - + - + + @@ -15,8 +16,20 @@ + + + + + + + + + + + + @@ -24,4 +37,10 @@ + + + + + + diff --git a/MovieQuiz/Resources/Info.plist b/MovieQuiz/Resources/Info.plist index dd3c9afdae..242523e8a0 100644 --- a/MovieQuiz/Resources/Info.plist +++ b/MovieQuiz/Resources/Info.plist @@ -4,6 +4,11 @@ UIApplicationSceneManifest + UIAppFonts + + YS Display-Bold + YS Display-Medium + UIApplicationSupportsMultipleScenes UISceneConfigurations diff --git a/MovieQuiz/Resources/MovieQuizFonts 13.49.58/YS Display-Bold.ttf b/MovieQuiz/Resources/MovieQuizFonts 13.49.58/YS Display-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..f9b3f03cce56e0f0883864456f8d45448ff6eabb GIT binary patch literal 191964 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 E0o#h8I{*Lx literal 0 HcmV?d00001 diff --git a/MovieQuiz/Resources/MovieQuizFonts 13.49.58/YS Display-Medium.ttf b/MovieQuiz/Resources/MovieQuizFonts 13.49.58/YS Display-Medium.ttf new file mode 100644 index 0000000000000000000000000000000000000000..cc63032e212d7277a0c1b33fefd7825fc15b3d54 GIT binary patch literal 192040 zcmeFacVJw_wLd;{SK3vt+f;V7ebslRRWGY9%j(6lC0Xv>*vJ^$7=tS|#TX2RM`#Ho z0bW8VrUZ;aaR^BW1aR^aLI?q42qAd{2q6Rr-u-^g+`C1VA$h;w_rLEmjAriKd*{xa zIc?54Gs`$*EFFJhSlXQSj?TQ-^Zv}FxiP3+KWA`Yr2XQ$ow(k_*tP5DjEuH!zWvu1 zGU?UV7|ZM)81a-ZdwlWN7~?nM`K2p1F5C3mf1ENgmK?`e{HYb&wpjQ%$vSN5ZlyT?DwX2q`OnLOt z^YCmgy}uR}n(wLuxSoe=$J&isw%@NE`~=r{KQV2?)QV;I|9SNeeD7C`#U9+aZ2P8| z*Hs$a-;U=k=Puj0>bJ?Zry1{TX6(K8O;hJ@@!h`m`%Eg|k3MbLw0YI0jjxpDGiF@M znAE@sHk`HI|JuVwL*|sH5+yaIKPb{A1jSkq$~@cvLq)fQW=>>`V}*>AF*OS!J3dV_~k5DDq>FdJLcr=tN?jF-xK`1bcosc zCCnievO+11nWQ#mkP=wF)Xlue?NSpnqnu06v)AzMADB}rmUI3vGpXLeJ2$Xc>0H(< z?PeC~e%2(_BAJkWj_XHQ6Z+T0&tu8bcGTstCRHnP)JyN<{*aPyLGEK#sgq?$*RgWx zawe(1iE*qC2Bjrvzmu8xVb(`|My})k$ujv=@I8Jr+bMCDC-t&w{yN6khm^u{`8mue zb)f8J)$9~2WbXwZ9K^rlbWdi@nHf7{hk{-xw2~1x#}UJPD>}B-InBBN!8WqZ0dP@Lhs2@;8xw z8-^{x_sm4FjZWPdKf&)TN!7vf1WW->f@vtRQ^7w1rhsekw@5FCVM*|ePQW*D4R{hv z!wK-D_f>B(i|Qu4gZTvvd`fCSei_m-q_zAO;OR}k&16=f+5)_NnYlxWU%}kr^crA? z#J<41KgIH6ZeSX&L!BP!$>2@WFw?3gSb{XF;P2mn!$`O`O5@DP{}P<$LCgou?<$sq zl+BBnL3Jm-`#RF|pf6B7=GQ6kaR~VC0j*#x0*7qD&)H`v1BVHZ1ik`ih~}gp0*4>P z^CL)vpZUPGmocX3`K5V{P9ZvqnrAWRL{rh}SHVwY8VkM$9H_zk{}p)#@?S>N9MPRf z`N)a(LMa+Qhz3K6XfZkwT}G#99EvIv%|<5yD}{auCee6CxD}lMM^gyLX5>W2(a9V9 zNT%!HTY|PvLGqmfpFI_Pk-ZtAbAh98u~L3Wp?9MB5Zxn!hr(b0bz6(6q z1)OlPc}V3*HAs0#J|wzVg5*N7^Tz?VJZ9h)6j+@NPS=-C~nQR01+=0jF2VS31`J|r#Zzk>KJ zUkkpEMDz)1XaY}|LYoBFW~B8<#6P@9^++=RxJB^RGQtT~56Srgs{s9F3pxwQA6e#@ z_&w;~&FqNacM6X1F5p9SBDw}WsuDp95@=;F@U@It*=MYg_%7eX5>@ZBq!=BZiNiA& z;F(GA9HM=q^>JKpM51@!g>0j?jR zfjUYWBn#6)jz?(4fpRyimd!U69SHBBoQ-{c}(KR zSfX?r#*>BXkB|=`C)x24WOXP%h&r0TAK=?5kjKQ|h}Qc+hbERO&1J?I8`>ngbU`P{ z1$`Go&KIL^#lXkn;6JE;xYtGrb$votDrVhy)=v5r>ODxM;HP%L$|t#lpW$9BQWNo< zP+2^m3teg{=$hVju|c%w#5X>H9!THqgEp#Fp0ne+8_$*^XLvSWq-Iu0@($l+szaz( za_)iN_ZAX#Lf{W$zd;J=k6kD~C)yzXLG3`F7uSi51zx7{qb?mOPPG92bpfs@Bbk&u z8@U-tjlLC2=L0`I!G8+5Lwt#3mZ#2% z;A9W-c<~H)n2MpDK~^c<1w3?tHlD^j?H7HZb_>LF8$mZNRwq3t+A*MfJES17$Tab6#KTKjpqtIobh*<8W=}f^GV#1P#Xhzp@!xj2c18GC9))z%u>*P z8cT=t%w$@oV|r$Q7M;bi!MAb&Lo>@m3szvRojIUOyP%8YgMSyYB38^wSSj-`FDrv~ z?}MgT$*Q0u)v#Jt2kz4V9^nUmG_w}g%Gy{v>tLO14(nobSvTupy}+}6Hoyki5F2JA zY#tkB^VtG6#>UwMW_FS-VvE@lj9~}6i0x#%*`@4Cb`86Z9bwnA8`ysU6K-O+Fz{LS zb#@#31{M|HWZz>hS6Rs|ceW?8{ju^+Qd>{@mXTf=_Nrr2ue zq8BsZ7(17}#7?l4C`JCQW#{AKM)qB{l`UiIQT{LX0{*UJTi8$7Qnrm<$PTij>;d)z z_BcDve#o9+PqOdeiTl`tz{cm<*vUBLFTUF;IJpB-TP z*yZdBym1-3njL0WvHRIW>@l{1eV;wT9%Y-^G&{x~W-%(P9x?Jgn7=f<`)!Qv9(?y< zeD5XpI{Scq$iCp!yo>MRN2DC7T6$disq}kQj7qJFQzgYD#SFwu#w>}sF6Ne)Z^t|k z^Mjb*#{4Pva7vT;fcbBhI7^~MYst2lEjEkG; z)mv@WdDg|Y3|p6NscqHUiEroqQwjuwLG;W5$ln2o)3_hONKddg(4)Vy)4Y~0t9+MI?6tg(ynwXnoz7=y{%yi5vG4F~V?J<93VU~DHrp0K93!@?(~(Xr%o?Bo%r#E^v0=+ z7(4l$lXsrHWe;O1tmtIr2k{}y`L@37{*6!=JZc@XsWd-VA#ft}X? z)7}6#c@rG}KK55$%0A>J>?82yzi}`7J1=LSa3A}am$85F3ifCA7xqtH!#?Ge>~mfX z{H$f4@hTSJ^}vfd&UhmW@&+#PCeFE^Yj``4<*i)Bo4J~|@fgs;d+Y-q$2)jD@8k)5 z4o~89c_OepnRi1Hyv#8EdzWYP1>D3JN>58yNl!?}rKfm4U&Wn#Id}7wn9()-d1=3N0J_LerF*42q+6t$ zq-&)+rMsm6l)fWym9ukr%sy^8XgN4{~e-9&H}a2^Uw5kJq7{7-|Qv;PHdwXkoq50&-F1IgN*6i+e0bRj$FYp|PWT z+H;OJw~yyot(K0X#|Oub9&gXFj*sIhb-1VK@y>NdrOz7lSzU*|8r7_t7`$PJ8m)t> zEx#2DCAR}gvNha}8j5Zw+77jhuWF#3Yl_eX8Aj7kpyT0pQ1UHGzI7U^d#b4SDEWYr zpHT7-l{}4dyysPNaUa*>K5}s%?TP!ykJ59%ylaVxhjpxNR^21awzAxvZek;H^fc4CL zXi=?L0Wp>k>|pW1y(}&WI+1FyDt#ZC*=NE^5)bP|JpVrCJoK*Kemml|F+>>$7#eE!aj&G0udBTf{ zxrs*--%F}Vx;W{0a$)i{$&Vy|lG2&7Ddo9TZR)1fXVO~JZcoom?@zxm{X|A_#{P_- zWU|bP%!$lRnYU*i%Y09Jhb~vQNq0)WP5-K4o8dWQigAN++ITW+Y1Sjz8QJ@?KhNpT zc`-LXcUSHsrVP_s({tt+^C9zt=4bP?_^&YUdP|aJm$k~e!wz3(1$PrBE- zx48GX54ms5ugY)D@6VseU!8v{|NZ>W3)BS}1?GanLT#a?u(+_Mu)T1waI$c1;f})B z3g0dKxQG=c6&Z^hMHNMl7d>0_tD=)d?-hMoY%V@nGQVVb$=xL=ExWH=UG6P!_Eq_YedqeFuc)cGqq3@UU*+-2KvhDOzG`08 ztJTJ8TXk`DRrPT7xzz`2SWSD)V9j@GduzvPpRP-*8>?Gcx2f*py36Zsulr8DwtiDX zO2fqsmp5GBaC^f&4aXXuX*kjFTEn{yA2+hbq()<-qtV;g(Ad>DukqQ&Up1a=e6R6S ze~drPpX<-}SNNO#z5X%(O8+MR#s16v*ZXhx-{U{#f5v~p|C;|@|HnM;GY@Tdh+q|WDPxGPX z8=LQFKHB_v^RvyrY8h@>+_Ju9bIW&H9&S0_^7EEgTHbE?u;q)^xK?eerM0-VrnS9w zuywL^ZR?iSJ*|gYZ*0AzP2Xl~D{ZT5>ueitTimw3ZCl&EwyWE2Zo8}P!L}#co@;x# z?Ns}=_Pg4TwLjPXTKoGQtRthNs-v~z_Kw#&YdRm96E|m9m%6K}>zTQ|bC=KEHuvD% zZ_Iso?z3}WpZigFQn#&pPxo|BM$e5s@AWS3eXTE{?_2$r{``J#e@%aLe^>ut|5*Rh z{dS9sT$9AM1a*|L6TL_n++lbN|Qvfq}RI|GP%s_Mmrg<=~FNFNQLP%7=!BHVwB9ZyTN-{&2)LvUcS5kx%DY=IxsI?r7EM zX8bojKV!ame&PJ8`K|N&=kJ(*&-`QapP7GRfpJ0cf{F$H1>Fl4FZjuV*T*KtmXEC; z`}x?f#wW*Lo2Z-UpLltpd7*3Ju7#H_d~i}bnLBx8QQD%3MXxU|UA%Ac!Nngg{&b0V zNzIbxC0$GIURtrVVd=i5zglKocJ8vDEU#F8`HGkoH?R0&Wz5Q}S6No|uDW~GgR5<; zr`Jep_N_UwHhb-swI|lTvMz0%ah+w|@Vbe0pRQ-?Ti0K+{#WM|p0nqi_ck6QrA+CkwomPu`ef6FO@H3>#d&+qd-lA*=JL(kH$Q%U_W4`RKe?rM z%hg+6+-lx>?$%4UUcEK2O~36M7ZhG_a=T^wp$p9y7GC(v9V>Udcad~a)kVD*J$uoK zi(a|t?TbFV=+lckFaBibpB_w~IW z@4J29cP=?{$us*C_UrdwzyJCJNe3=HaPq*rU;f{v-?;Sk%ewI2^kvUpo^kobm*0K) zyH~ibIQNP>t~dpSX6?a)2TxqduFSo1>6Ld}`Szj3hi*JHedx7ApI%jU)t0OFUv?RZe9fk7zH!Zq*L;3$#kJe7efZjUj_8lH9+`J! z$C1mAJb2`pBfmWIAy~1*s)C=fAH%Mzg76!dhVcwiEj^X=9g{7GPf!D&O4vQru2U+mGi9Q-bec<#-F83kkgttue zKMR8x!8c29eY^unX2b6$ECDBR(29$RK z$@3UKr}`MfqbsznMxKD7#);Yl)TE#$33-~hbBtvmkHfVVIlZAr&X60CQ@sgeaN0HY zYI~(mB%j7tjij@SWY4U&Yxwwn`+$Ap&fMLH^9J)SK{|JL?w)Jx1HRn-xlcXy)Yz?K z_uwD0r?}x(3giHUih^5sKvfO<SVB;A(KuaEkcg#@I zl168*ELFKH%_?7cRb@q~!K~teyvok}K37w@Jt4Wc zy4lv%k?E?kJG*M^OPBODcWHCSs(PDr&T_M(r@{4OUsqX9?16n!a(ZU`f_Pm- zTroJJ1dc&bZc_3RC9ex(SSEonGYYQJ=qhNafSxFbLOF$~1P#UG-2(Bsc%WJiiv_A> z0@7BLreSps-Sy#ajksHYyMC0sWd`o!nSiX_Rw`9i_$6PtS<-0r0=zCjlb>BiW?mEhLWuRcEKb`NxD0$xDmICva*VBtFbuiPK(oNvASGw z(oas;NvhI0Wm!f~XK85{a&M=%qqerAv$i&{=ZqWuwH zQWw> z4;^8C9t?ohh7_(bb6+{sDvesBc8Zz6lOEXlGPQbxAMentNtfjJxC+;`_?I+W^&l6A zJ-4#oS2ovU$SG~GZT6b1aU+@{S9XO-n-Zsq)g)?9zuVnY&}PbXYj?OkT?MA{MrTn; zjXF2m;xbpxEppTpTapU<3mi?J-0YHitF6Z4NZDLoxVYF@xv5-hP)Sn1N)`Kq>UN_x z-Ko7ey@uzz>P^|rB@Ry|@fGlAb|ZMLiWL)t;b;MDLVQJ;4oHY;@KuDY3AjlfhykC* zUc4c#PkQv1H20h}1ux`X((i%OU=yk2kcnz1fo3s*8N!TNA*@9II53@9gyEA1IC!bmXctD+bF7UarA5);ovj|630@-7-FR~y_uO|?N|2-MZjo!FJT8H<$7xx2>s zwoRL=CiJ6qdv@23>d|cuzto_lmKxF9dV(<=TXNsj;0Y>$oD9vY#E0>5@NqTD8q{f& zay&lE!G9rfz;1myK6lL%Ppo-@n_ql!_=OjS=^MeX!#A@JOH=PO*5h!P$=`_90%W0y zW*M4Q0r%sDxCiD6gqNi~(A}vu#~QL6<~&!D){wM9S8Gt)wI)}-U0+&YgTs=>Q~-;4 z4q^kqdkLlyoWhvk%_A)W0K52AmG%t6nGVIcY!VF|W<;ctn?q?zUFUBPkYUl)PoJQ9PY^h`Zbm z9$yMxpCXZzu zOk6fmGMwA8uCH%hOKvC^^WXq5JivQ38=WSRD6l!yV?{+cTaO9BV-ch(R7QZ1*n)he z!WH>riAi|NtoC$GWwnocc3gYsYN_JNO~SRqp&KAR6fiThWzzs0+^|vjHcO^PL&_u| zMI;uB7v*n~#7q$SN-}c#GHEXIU2jWavpct}Ex)-xF*dgdK?xExCD>qr zFA4CjZ={Kai(PbC0U>g@NC5Jg!GG31bYoVMpP~v6@nByen zS&SO|%Ua2O={}u1UBypq3p~LG)=&QO&0BB1wV%Hbs2LgIRe|R)KlzxS579>#&5ssD znU9Z!a5{(PC+Dp5L-RoTt&Q|B(Lb9qOT-dW1oWq|RtU{fHrQZJc&763UN+u3%lr`0 zYV7G&omD4K4*$^Ev9zImu_e`BQf2Gvn^TwVG$z4?cR29N)COcdM0qu04bMd~jX3$NBPMvu zcsLD1Zn84!Tu%!~8x?6t(xPby1ue_P(57J#%vByDw6zLS%tfh4FfCH^fta%HqnCAh zj9eabY?y8f=(YMhyUbK6OV*}+pj7QC#HWW-Ef zrYu||7#ZOy^4gW84kRZerO(c-l~&ywd$~670RM$Fxo`l@shAn?wt(*QFx+Z(Au%8X zg9t>Sg_8wnOL=h^@;ZXN?yQiX#;oZSP+EXx14e66j% zy58QphTh&MJl(#WY+skBV^W(w&{)(~YBZFz75N7;GAF)PSyok3Q&m&sQ;ENt+O zHaXn_Lj#}YmWOeX9~5YqvOt&NYF|=USPC?(7Wg?t$mpzgX7+Y>3;`t2KZVZ1-$axt zqMQ%|siqwDLf7JNVqTN+phme%dfpg6E>+>Vk{PmC1wKO>UP$eV5tvF#6E#ZSvJzhD z)FpF%Jg|!25_pogj!m!o!Q^$<(Y!d>F-gN;2KH*GRnlJL1A%CeTy?>;@N1L+?b0mFQmvI#eFU8z zp?E1#sN}fD6*cB$iK5<#eq^H`)4;H7rLGWlUZE@!s%TPFCTT|fthSwYD;;cEiJ=jvg#7k z^E_^+HoMxL>B`MWNKQnoMpAM@Zh8CZ=fk!z0gpMVp8+0yh{*~N79g-o41qYyWEdW) zG<-OW!mA}k%ZT@nKZfWtvLd8ne9gj&U`0){XvB&c%EByX0Zv7@+bwE~JS{4Cr-~Q{ zuQ!8|icmd`b#IYkQ}f^zkEbOSQD`1K=z+`7gUBoo;$=K=XL;Z<@-WS!mUMK<1Df@S z|C;c30BH%*6w+>_xbyIFbgW8r3?ZCK7p$lo5#26AX%R|Lfm2kW1$9VeqwA=3HYnKu z%bD5?)5lEp7=&HTp(aPyOV6d0)V4X6-@U7A?!HGhEd2J4Ie87^wYGAHL7g*FZfW$I zEVca}-<))NPoYXmvt*kp+=iMJR}4*jZ9_x-x@+h6ZO9IMGcDVaX7X6m)3U8;=2A=g zwVIS9P1U-uuUU8R#qH%w4^8+t43?&5*|lDe-rG}EwW!1GDR2KsTV&Jc)(lq;?3h(n@Ly>5H=~=%@Vz%`Hi-~&g!LtxIvV9q1kM#K>o~cvRU=<345H5T3-*@im zYaJOa>RH?P;m)n~b6fovZnxFAbv;AUqkW6Jdr}g6da8T9I%(A_)&APTz;EA6GL_nz zD!{=kkZHr9MH5>Eym2&08YrEte61d^e{y= z{iSE$(yHoZmkzwOb5r?9y~R>HP%1rY>D{?#^2*6lX~pTkTHDvnox8LK?q|`jMD#0> zV5vg)6dOkL`aOcl3UFnE1NtEebdA9X6U1O*fWnAf0GE?Z@w8&jB=uVPuZjOO@CY{q z{=^3Y71E>gelhRQv^i1k2dBL|@oWk81A)R(b2Eb>{_p}vipGSydM&sJvBHyC@L&N(Ql{<9{jrOZ{?Yh=f*6K9RTc*HPx+{qhv?c$!mFQi8UKj#&v=Z5fvJ&v&m`;df>6QD!1Kg%l? zS>0mZ(f;F@>Crr4K=)Z~Vo-=K0=_JY1qa=BRY168Wbe06%CvrjO)8!SG ztkqUkrt=DYX;*n(ZF*|Hp$zNt(#S%sHC_G_Gj3u6(Lxvj}>t%~% z#6C4^RI_F%GE8O4qHP<{8kJQ&89Fs&=maF1lo4;W;FkGna))zw3)UyX?4m}`Yiy4D2ln^clh6}rN z=?_;ux#B;5{`0TxlyU-d_*19f0Mh02R|x539!c~QPdq_=25(Y89f8BF*@*x~>2tK7 zNkXp)g=Ld9mB=>7scV3qbiq}DV=E5x&J~jR^eKSw57-JLaED~z3*b{^+iatuhi#i- zS@IQzu<$P{wUoAvSUuj8yjm1*apHRB+zyg>w zOG_s9BcJrl&uv-L)3b)`nsP4sO>(eW%)gE;C+Ur?9~d*^zAxlJilzHHm?G+(zSC@ zRc_PDIjx5}0=JgRQ&L*mM^n>xRl3vZNY~YmZ0Nwmcxi%~rpB7m(si11&CP4NyVtgu z%`I!YyVo?ELwso|<|r9P)b(UZ#l{>lM@EeOEA-qMQkm@aikBbak@zdT1EQ5wC<%#T zp2!tKb7hR0E43!muCk}wNoSN*#ioxgJvi9$@MYiIymRMfYqd)^w_SR4<@yCnw1GEy zTHr%zMKHzUbGB9!ty)1BIhZ#eTQiNtYlU!hhvdU78)JktsY^5sWH+>-L~`3Etk^{I ziDA!qj=;QWAY37{32G(E37dRF-g8<3&2XL5H1b4mZ(V*;s;9ow)j6s!XmI5ZH0K}L zHLzIcSnQwQWh|_>=MT3Qdis_nz(bQbnPk)^SJmX$4QcW4nRiyLSZPk3G-OqJvTcSm zO?*~qS8c;!nU2N{ja~9#&NNKe*ko%$Xxy`SRJ6b#twi=#k!&E&LrMox9o_bwT&)#>O>0gX^ZGOM8w>eQc);&p(qgkTFY*JQFmCWq=~9ea&ALf~ zhHV}~f1M?xW&t9C0Q5H65>slmt4J{L>u>*P?+d?J1-|=TX@UGbI2Khm3;wl-Y%DY7 z*R1Ae$pVFqMSv3Nz`rFNNa>IT28oG8E_W1tRk2&IyYALocJ2Ds=G%9zl9EsV4ZVI+ zYCZj9Y(|A&4f~~}bJ6cavX7qWr<8P|BP)c=|6GcOQJ?JK+D+ zkW^PGR>3o9EaLxE6ed~PfQ}_B&gGB@EPWtKu=au?p|ke!k|&-B{Fn6m-qRJm1mBr{ z)-Q=2hphBu$_%Ry3MI-bU6QFbB2AlYU`>U+g@h2a2kO~j2-(|^&@-~qr=pv_nT~glU8#f!4 zx2%~`sXjK9>fY`T+G_(mq1guvEZX7lwBlK{Jg-;H@y|2{t*gFPJ1|h&(9^TjTW7(Xv@LJ3loaxU(?uN%7cH8YT)1eV zJVwM&Q1qgiJwy7l97TahQ;ad9Qq)k0tl_^CA5KJ_QAS?^ zlj1%`D5I5JcU9FYgl+h$T>O-7yyJ?4&enz1wG(yv#K4`Jq2b!0+!rf5G#|wHi_#re z?Py%q?r?T*=<4mx%i#X*?q1q{jK ZLJyyXopDppdd`XotGO*sd|e78uMnD0^qA|9cAN;rf-K+uEv)`xMrhaUbY3t0T5*Kr}zO7 zxR2N`WRN{w4m`SN>sCoOueo>O7EhtCDH9y_*Dl}SNZ@up=5=@wx*$%G1YMHj;iALw4d~N(A{;+IKX=a_31 zgwt2pI%mzg!V@F29!=x|un_@GOSm|NXrgVMIo$5f^xd=d?=N2d)C(J=U!N|*ELR3T z`IJLxlkt$PN5qwG% z!Ot45g5UW*EU)ra3KALi7FM_d_wfmj-RlaCAATGa zgb8Rm@eG<)2sAP}W&IMVh_;rA*;N!YG5#csgrXwIa4cJNv8IF&LdSi|m}I)%X?4MmiW_IwUYd^2IC|?Z334=8)5w zqF1VxbmZrEEUq^DNWJr!P2~=q&QYFVZ(H8fw7kt`lXLrkwz#vryt7EFEuy?wOS8(V zgI&;V3C0e#iFBxtZc93pu+NEz4_YnE(lKU1JTf3!#mK&B0w9Un24mpGCzWm49>dVV-Q)1nXjh<~=etWmv% z`UjgTe+2!jCeEFq#MXuSH*3WjK`7apN>OrTO$C1tlSo2`%)ev<$W*MUrI=*0=ubnD z!FgYzmk1Sihg6oxwj?sFl4%udOH6~N#Ih=DSr=l!t* z=fL{)1A#x43tWBG4n)pXuoPQd_Qc!S$s7Mpt9Vytfv>elYl=_QXdF6wsquv!*ImDAI?2~xkrS(mi5-beuoOsn zfpxGEVy6P&orOPlVhq9#90x`k9h>qMXh?Qo5}pw|FkO+Ch3vq>%VOns2DWf@fL{^_ za%m1<-8&~B=C~rbnV%=Ug*7|&VMq*z*kB>tRl^FD2G zOvY-J68~ES*shh{!v3>KoOpVMy*dJ0vH#4*{siaoU079s-6Uy@t3wE6e6wCyS zX@?6TBL!3=Da&=EsLe!e4r+6-@vhn>yL7RHa{KfYl275RYJ)vrors;B1^)6Pz1b{{ zsT1g`(O0B5S){Q)*;;*h*_P~rauh5%c{%w$*xajv&FsfK$YGzwd1s#;=Rkag>nJ)j zh)C?o#vZ!hHrNI)z!)wfp&K59VCb{tR%GKf+C$GNxRLfDQ%*ZT;xIlEU-&XcosE*b z`#2dj^8R9|Uy5Zo8}EchZ=lVW;cdmy21M*YetYrybC&dZy9|o`(9l)h7n8n!!#VrY zcWjZ2>52(4(;)2;d<8q0nZ%{zh`fh+Is=!aG=w1VmHU(^44r6_*sr`32{t0kqD-r_ zV<}tA9Bm=D;VA>IWfLWB5_ibdD>j9?A(cZrN)>l65s2P^9dZ= z6I1h=7Wu2X4Z6;ff@)hzdcs|YCCO35hZ@}7UPFFHkEz~K+EZ!DOqrjg)!MwdR$q2c zVpfW;-wht5$9SvYi_){Nld&1cWk!uxkwg)%VuZ!ZVXE@3o_NAc%wQ}<$L)azEP}Hj zmcTO*c#7}|><$BLWaWhRIVa=Ga->Bf#!egR2@7aLJ*g_Rp`NgwHq_I;AU$A1yMahq zK@#3I6<|Rd8<%dr;f5RbJiYVwZ!P=b-WzVX?z-!mhno3F;B{^b+>0WH$FhTSq!`Sp zAE$KQMu5jrofst?&S<eFff?#YhEa zy+eo(3-Su_DcWIQEZ!(YF4xg^;wJH219Ad9cqVwEh;{s%o~kc4q)`h26E*{^shci?_`g%4$ESuTkeL%gyg=aCS6! zy)QO*%xS+er_dMgZ7a-7OxGs#C+gA@JszXQkgAC@x@+YqE0)s`L z600#5G#1x&C8c-nD=R^CPOeiYevm=JxwG~BBI$AH5eC*kYd%>zgTw*vh)qcmE-+=u zRx1)6vd&7|Su-%{(Uu}#l+|cyuFI8ca=RZlIh`gXsorifIUFXFJ(Po(vCa#AQ`I0n z4Qh1b?4rv^vBa^hVmb)5=xbgv`x1RrQrE-$)-8cwx20$Q|ZiwnwT+y7%R6u(( z5KpCCkpWqz7_7|%#mF=+AG$&1kgtzS0nX6iua+xH_t3 zor(O|tV<`zXaG4oBI`o&{rq2He$TZd^YZOWR?n+kw5ZbRcG~|n)=Q517Eevew~rj* z!~64`P6~kJtWlcB7fZKe!VeMphW-31l5Iy(Eh4|YR5%YcABGB>sIWQo3>8vC4^M@j zxhC{XTBvX$bW7AwgW?$qa^6I@AUe@0z>R|48@V;`hIBi{SxBsf-^N!7-Uh8aa~4!1 zn*#sKQt8&?TnS5F73EcVcDLJ(#BZZY+|=phT<W)YIG%t4!^9BEXA2Rx?QU+W>+l4|oE7YobkK#8FxXMjXt6RBBOrMckz2~@JE9duFD5mZHu+#B z;s>O~kaj~_OezU9;$>Jjkc8*3E@$o8c>buqa-zk_zZf0muW#J&#SQ!i*;Rw5?^LZ9 zF)%iqn0pUjh$TX5@N@QC8VcJUZ09(w2Rhq6vKNJQHnDGzW+q}xX@L_TPZD}rki1CE zNP|dAkqF85AYFr$fNhu5&jiRgTI|YRV(iQ$6p(jjdXP6E4Isth@wC@SVTtzORA6s9 z*6wD`OIph;7D+PcG7Y&|siwx%V#mfpXR_qs30P34^|)g53FbP;n3o}A=tuw`;aTWh zCoSPwf{-Bz;;;ak+GyK&woDjbf%<><4ma3r4Z~i~aHHLhoHo7sT3UFSxo)(&YP8mD zt{tta9<4KX^$repcMlHAv=z`uFATKInNeVUfr{|cBVh3?`?`RI*pDD!;T5oWYO{ca*sJ$KxSr=xrC;Vmro*HG^n5RRo0}r9H0cApGt3Z2-?J5(cLeyJvzYcsQ z*5=_jK#rnFHDXn~7S6WJ`yvf3^ z(G-ugWTc8qvDYFk#TfWJKGD6`CAM6oCF{95F2SH)a8Xi9sl4^VAgOw%l2S{eH(>Zm z&4I>PRf?3BA~s@F6q)%CV+5>4Jhy5MU`he6pqpWSmU@~qa8b<7%;#y&E{m$)su$4q2fAQN@_}9LYm8xou|vp&bQ*xLPufoNKc@IpQsvd zvQ2iGi|yH2#?%abhSoy1IXTwzdBB5&fSR@7;9bJ)GwY`&qU)atKmQQLOoX3*B3%F2 zjQYpJ^{b1cpQm4Wk-z&W)q_UxU6lv^I}e@i##3o27&=Rj6dxZDnDY8CotS8D@Ebm1 zHe;s>dsIclvjL)rax@DkBu+mNfhlxOo?X#Td~y_<4^eDBIU?;P6y6A3+>gRjbU`6) zQz+~f7qX2h0~Bb&wCjbK$$}V?owyd|I~W4)7Kp_Sd7|hv4zhF?C~jjr>bwGZXw53G z{WDN%6iXf1V1fO|*03T-Vs^}1)Ph!(t(!MzbSgK_%TCT_M5i-QeQ2Y0zq+u;VS^q^W7Yl~# z)okk5q8%agQYC61&vP|<=q|D~kY*30gIWswM6@>JnTj3ieds;#Cc>h_=j8}_DN9QgtVbjy)v*;Ww@U02;yGS-epi*Ro`PtMCA$2%RlYg| z()>u9{taVZ!ywP4LQY<#OP`QDw864zfTC$M>Vb1CQ~fB~xyI9B;Ef3jmzA~~0zZm3 zl)}42@D+Y?F(30$0iKsQP5vL6(`kK|&+^wn&2 zEi#gk_$IfCaAyM8G444z>T9Y{LA1rz&y==@qhcZ%YIY|Jh+Aswb6Hawe( zpp9rj5d#4U0t!qZ{uvK3A#YS9!+^YDkK+52gc$jAe{>X<;pB%bkMGgPyyvngAhofb(makg6uir+x{=DMxOCOa| zjdd$}=B#NY+W_I}C#p*zzntLgHS7cO!{MjC#K@={1?UFlp7012|4#&N3Ok5Y%#vTx zQT-&pLY}NpsQ_BGywWa^C0PL^S%ECcNYXTgE?z?6jnKsu3cKk7+uX5dgiI@dAnp90 z#%ORdnHU5eyy6mf$@5YoO5}&~p+s(MPHya(K}mA()tQmlQSrN~4T#DfJSQ)2RdXol zta+8iysQ~9+J?ly9TcNIXnL`tQ}aP=V_;6hz(7NNUmv8A&s$a=3Pbaic`GPvyQhcb z5QS|A4vjBaGB&nk$v9|+*1Quc(#h*EPilUABQoH$4|bq+_zhPz+dzC}<{lpfg@qkR zW*w0DWP{5?5_X`&D3Be9rk*TQn)mOX-J>5mFKX{ZY`Iz}-iaxdunu#4G6_ybqtTRq)_Qq7_MevG|A zDurE=B929*@XRv>qQ#WlYnZ(b15V1f)BpmVk{~lo{Q8DiU(;F+qay=~&nzMtaNOz( z&MHU7fCNco$FEOiII5&ly{p`0Gn;KD9E&C9;WGGlw9vo5>TJ%iSBJh3IU4-ubRs7m zl~nIA!RDH0a$pjcNnTzj1;zSxfaWLUFN)Y2&oaVz%&t5zI{BdqDMkzs!-5%7xR9U+ zM1MTwCL?#j3!cVCkH_!#=yP)Px||%zTUT0AS65P6=QA4&CX>N{Ez5xW+F&O~ur_!f z_RU4dok9u;1yu>(fr1J{8U0H`vLJbpnvuv*MhoW@^hO+0D$ccq8&~n_yj9=msxVkWg1`yV)6jy=U>00 zvVHM-_#HQYgB^u_n$8Nz!!(noqkZqG=y56#PDKbU?5(s8rRY&uTE7cgb<(!(IceGP z2AyQecDU^NBDXa$(_@K)K7`*yjrz`+=aDEvT1f49A{=~6a6PPjHTI~Zevc++8WZNE z=ENKH_@YbNqA#Xzcr6;MHrwH(?*xy+MRFC!W1VsC3B?D<&C2HgR1Bl~%bJff=&1R2 zc?3%9F2Go#aq#5=UUu3kZicyzqTu0{O(Wh3?LT_SC`J^4oNRQVa05DKk#_5mdcn_x zrsm8FJ}JXjpNO%ea}RwrxB-e8&_A=^t;F9#{WgaCeD+z8e?x#gCKT)v>N6byKVxPL zXI7jsRSyC?Xy#;c{0Vc(E-S^lZwtklus)lCK!)# zkWD|4P=x$7p>wpYt8cq)^=K_mQx9n+L_N$z52IpZ#A)9mFot?ceZB3ri_p)P zsIxCochO%XY@dJN+aMwGsK2sj57ZOqq02bMJI^SxOn6r)7J*{)cIlltX?4XVb!j=S z@1`N%qqx4lSm(@5gU*JtFYyc6`)EDL-$pC6KKux|I0F+<#&0jgTpj-H1s{&%AHnv* z-%sO5a+k7Yf{I5m9OChmlhKrNqE*U^l)O&KyTg<-D<(@Z07mS6wPa+fRczU0Q;Js7 zDUOaK8tbcnm%#%!hkV4h2fVBeo$x?Bc8RDaG931cQWx5qhkO0VConJn-tRTY%8^+L zMg9 zlF3CY@T(7{U-n}UQ9t?sdcdT9CSoVD2%*Ap4Uvcmh%pfxvG0Oa+qbV0F%d*Zc<=Mj zds5`Rh_?+GDST^t!#*|ObMPiGSr_PEtaT}jnF3Hk(m)}%$f`6l``$7;4&zuOl}(<0 z5vN+f5(Q5jY|DkvZOhr?wMoxTjYq+DJ!{jiWNAF3K1*d5rvRr9J;?C zF_0Mr#;FD3qyvSZu7T9)_}^S%{-*_9DN6Dg%oK$Pq6cD8z>F*jWUo#>u1VP~1QM6w zU3xOSxC7sERZw&!3Sw85K|VZ&es~63Pja~&QYbW0sW82_cHb?A-gc-z9sOCi@2PAv znEV9`R%bkV992J@PG36a>&nn2=q}mOoRFEAXh>|iU{8ATf|RuW;g&>wQetL8^ZY?w z!UD+Z1YV<(&tuY(pD-4{A>*pdyfVYot7xv69a;xv2+m1r8{rME@do)AGtM}4OZLi> zUaH2ZY13AuhFCX+;gB9nIl13S!$l|};HxEuuCdEIjjFLNJ9I9MbaG;3V$RgcRT~$a zK0UsJ_ewplyc+m#zWe?61ABQR_N_FwwqjgPwgY>lQlWrXvje1whfahh=4_{N{m&zK zWuREmQ97^HgWLlt;1Xy+9-so$6yOeRy{!C=$SMs%PE`{7-Xx@0!#=I4j&ZBg}o&__TUjwl+{>zNzooAMLXYPYu3lUO~RI+&EXag;W>$7|vo>E$JfN&D0GR%LHo z9v|B;#nra*uI@RTme79pAysU3Q+GGcKE^-9;IK9P4>%Ls2IhAmt%^d{V^VemeUaZ( zo(uvU60Ql4ME%@CQ zIk+6Z-XaehKj0!qU>j6XBAFj;FRwS(7}_gZ(=#&CS}WQOHF;3x2u9|TI^ zs3+8AV|Pivs6)JiQfEN^Cj8_Yenq&h02a1gkjHM+WpJzu*>mi#xU1oZBm!;5PhQObA(eyeAhInK(S&)RUx5onvC33L zx1oFq(W?Qkq>woh&Y_hODI4;B4GPVXYl&jyA3365IO5ayey{O+cQ@XBZ{xl9E)JC& z?z(r+|azT(<#nyT-!0!Gv|^^q(=`J z%K9qn=hx=&g@MmndRocBg5O1fo|uC(>+JA--!TmouVytuzj33#5nF_^u8%kfa%nMw z-%t*_z$4)a6bB`{M##sKs{8_np2}hh%y>^O8BrJdB?K9H@<7~HSVU;$NkZ~5^oY=m z94qC*WOe3&z!X01Mnp-a53VudYO%_Zd2osmXHSu&oPw?;Rh5$+`L3ps5_h{HrOa}R z?)>VyE8O|(buBF;fzAC5c|NB$R&8i3F=MMaxAt!8cG}vOw=^wk$}{BJnsO@Z^PRes zWP`IoUwhY~$x(x^zs6XqwPfjv+rU#4{}uTwCjeLYch?~Ue5-@=pl3Y+qO{0+(XCPE z`TTo((IYU9xD`pF$cKE&d(mkV%Gvj#6OJfHD$&|E+IGyvPV}u=L$$O|JG2qKzP}%v z(1WUVfxi@bETK*4lamYa-y|ZwIN~=MHnGw9m+OcX%fF-(;)P!kF-NOYz(!0h`OM_Q zNJ&E?$|YGyvW#ewEC{3`kYAJnxh(y(VHj?TAPe^;3f2R(&&hn5E_Di01Zh_(@&z2 zJw>JT2Es=Z)48>~duu1R)bO2wQw_rnfm^tyhGdO6Z&S4%cu_%P=g;&>LI%lu#>qcQ z`;gV_VRGf+c@tn;pjwN1$SQh%pnMGxUR;@>xps15@%HbeGQcopD?=jzNO}X+F$5RvJn= zOU-4OX$9JK1vvN@i`{pm?9(0xemd;`aQ7x~a#Z#HXrJoY_oaJ!re}J#o}Qk4>zV1< z_spKzlbK{DJ7gh&>;w`L5J}hx2#Oa$P(e}f;s!xPkW~;BR8UmB+^ZM8DpwJ&$d;b} z_j^uNS5GMsjAb}Rpu4|axQnieX%7L1khNNV7 zT209-Otbw;esg(NY|Kn#WJ#H3QyzpW=f)iHHwS?U-(_CiQoTfo3;i~Ix5GRR^nRPd zld00{LP}^J6btk|Bmb9ihFYMqjWL_uaMPBq%qV$?qje1$j^pHZeD0GCMq(`5o#^>T zm7bC*Wlxus5$MI>mLyy5(5jGGMgz(CH@eFMFiXhMDcQtsx@mt;&*?LYUDmf@L*L04 z%%oy+E%+DPkS~cI;;>)B|5{R7gD&Z~Y;v%$#0*P(Vkp+>CRd;?8OC-GavK$+CJJ?*5&Eg1opQ+a)@`5{g=miwPaRbEtM-Xt`(sA?V!!q&?S$SQ zZFx{!AfH43(JASNTEyo=p82T^i~h1lzY;J{NL7`=joEn$JNls<-gZ zzk&XwgBafS5Som=U>Oe}xslF%Ok%3b<7R`-uT0uw21GE7&EQuK(0a(az(r&*(a9WZ zY%<5GGOCehQ2?b8iN+*aAb7OXj8p*hR2u^Y%IuD7@C+>)MFwVPS!Q6>sv|HQq11qQ zdt@K}MglS7qx<(8^Kn4p4YVG>@d?XKgv;XVU@j>VzGY~~ynYo2%wH1@Ps#aH?N6)r zMe0@YR?eSle@wqWZL#0-137=P-SXg<W zAdfemuiCdys^_1!9jih<2lJ9_fyWF|)JP_6@Px2D$)OrC&9N#WJ0toj2QnEwbL3(z z;fi_ll)FI^R#7@bx{*y-v9(n9;H^jx{-aNS`pB)~vyaWpJT@Bml30mxDIamlgN^7o z=?;9sgYAZ|d9-*Iyw+@=4Br1(@cw=cxyFrljOc`fn|l70M!Wc~<*LQkg3sR_Y=6db zrF?!gY!0_beBjCiehOd+?mxBt2?4K=U^{)9)cxNP2_fyoL)HGMUhmixK9@f_8DN3eZI zu)SaWUit;|e)5B-<^3u@EcLfO`JA0FE%G_4opQQr{|0|{n)a{r>tH+aU)}$}GS!aS ztJ(vQ>xwPQ1jlucxHEYF+Zy}dj~mhdA@ezJOLi!+U z_I~DC)!RAV8};WfCnw)KsNSp7v7AM=bG)kk>p?$Sw!dk#i!bTxPTkM`sQVw_bAVac zGljn|<=A`ZL$NfcMpzmpUC1`2S5wn{P?^|FMT0h+D1C1ib&M#fM!-QR0t6E_Z6&Ej zVD&^mQe}hkby56|x+M+OszNJ-I4R39RwYXsqLBg9*doVDmZnlO6Xuuq_xJC=_Sz-c zFl#7?9t%x~i8=CP>;da#fC(o7JZLhPFkb{~5s?z+_bHfv0SDYq4u<@h8uB{fjDevR z%WK*l(BGmh%M?>rwGYX{&AK;XiHl4V3}jc_YK6%iucQtLVVmhQBmUz*?%t2k+j->_ zi+4wYzkUbrR&r&ODuvjkJAODGjg@nn^R+-o>G_~8+eJh#UZDrrZOztLO&U|!8X9`%Y zz?h@NJ-QB&0+=9AU9f%o-xaJrs9pK26E{}!IhOm0;+Rv_&N));5A6+YCvK?r9l`ti zwMg-f-cDNl>yYO#E=k>gB6vS?)5$fc+P^uXo}U0B@!t~1=Fkw0c%awhb5uKNw`%{o z<$;iP`qr!V&AP0x^f~b9zfeA3w`KA<1Q^yhkQ(C+vvGF6E89UkX`3P(=H>l6bzY^~ z$s1Jr185-bWupII!hT(q9M!Y=jUq(xu~rB(djZ}%WT=H^XuZ5M^!hco|-lra5@e=OIH%EHiEODk2$?yIoAgFwo>GC zuGco}_f#&v7h#ppxhi;1x4h?S?S8<+=+7?soa4ql#Af-fL_P=i6`@A)1GvX(so-wo zQa>8grpfQ%ogpV*qXPnVfQNVVjcF%-igt`0&k?M#QY`kMAsYWeX2XxlKvzy`shxQ~>s8Pw}A%_6da)D_do=`;C>sNNT-5o3IeJeT&Q3ty|ry?gg zIj20wRi2xi>?)5do4tJP+RIm#maIIscFh&5%BEaB+eSvWb-P^M+eSyW^+2))Y`{&# zg&erF{LiZ>=IaXYhg(gb!Eksu{+D6JE^eK`^4q@ANk%kt?8EY zVJ6{w>+sK8fLRXn^`)O84~F@^neR0c&@vxcBz~yg$>G_?I_-He)+_nLD4!sc;31dRqX?{g$qeJ z_Qc(5+O}@o*vNi2VXps#e%H{ZSOm|cI=sT5RYjykMIW#UhN_nO9(4vN3yTM+odjh` zWI1qUNo1`{mN=uy(xpdkR?r|W$6|)=BBcy>_sT_szRics&J7e%xyg#`Syu6m+CJUf zT;un+rd%aCwY?=>WATwWKd&Dr|=6rM6aD!NO}53Al9Gvx%`WqlVl zTZm4QW#7s$NQ<|n%=F*VBvTAZHD1TiD74ZN7# zR#P?BQt%t3hs<|7XX5N>3F8C(-SJ5YLY%+id-0C!Mv9mKe-UKSNZ5e$fsL1OpVX+i zN9QVYuU41dOf#Z6Y9*MdLKZog8|6`v!ySKS%TK|FsgPNrp7l|b&z`!8n_vYJiF0tq zB!R(!D^Jg0hQDYvW+t^#1<4twqD2;UuBbhHsBrMS(Yh{Y-m>D#-pVX%)`Y)&thw+{ zndJqx^t_S`|4`@eWLf%~Sg+oev?9%hdiBj^m8e($({yiBaZ!^eePo1{>IE%r&}~V} z+8;vym(sE@+m1<73`>qo&jIf4bIYPrzdj-qX}m&@x_KIo?vx+t@Y!-<3^Gl?W25sPF5m zZ&Uc+aZ&jwFvbVf*JT-mw%?&Wg^gs*rt+T)1g_V zzGkT!RnLLJ?)ef#WCUdrM9MD!egHBMR{DDdx1792oTUVh7Ew5O?uf6~**RX(O&lC= ztXSSssPOa6tcrqkVq()khq#JJn4UE2E$&;}TuL1D6FEOSkzU+f?C~3zNLe8VSw`>B z9=1k{D}a@hadj3NDh1>M*>Eq4gTUA50o;3~yf^4aWKvRjUpBl|N98lGT6&+kYboz@ z;@xBNzN?qs7wRX3_o5ULVz2n#YnJxWd@tutJ~JO4%oFn7YnMJ#m(MYy^1edL-^E4R zxA4sCmOe9-3VDL#7Q^zH$Cp0ST&wb#Ss2eIIiBm~efb6~L)TaF3tTD>TI$rZUFgRF z*^e8R_9N6$B@g$4j^-@BEA9~A0y=qFx$Z;cx2&Lxi%CJq&*_G%GsMR<^`e?j@}Kh8dT*J?4hc4iCS znT;2Z0$!Pv-C`kVvD&HeP8}Cd_f9$j5K2mROVwpJI*CJOTOzwrDJA8F5^`j>cfRPIc%gK8=D)e>(8*amsS=pZ)tHA=DQ1< zZ1#@w!Q~YNCH_OrgITFviP^<@yesii3J27G!QvukWqaZ58fX1jgS$FCqb|F>Ei$#yo!?ZJb+@ak z(&er$yS}Ko#J*)+%i5lz__&V5_{pBEY=m52Qc+o6RaH@f+%lwFVp!6x50=%;5u23O zkk#1vD3EWTJDpQ;=a##kL(I#b-d4zISy=Czu-=uNb^{efLr$Ydd_FLf$BI+sH1mBX zJ}s5gB(@WiBr(VbF@V?sw5pRx^TE;^drJ|fA_UYQF19IWqxW(eub;DB|fgUB&Xa3vp`u+S#4Z=)5bhk zPF`M)EAQE&!onhcNE5IZB@TQL9_9q0q;t;GLn#dsk3z0AMHA8hB{gWZAY=8FrXpym zO+09!=AiJ9kt|E_5EY`i-cFUaPP&QvZ`zHiD!Jr%A2Z9_lrjxWlPnj`^BS;a-?cY zg8%$p?G3b1W>jtYq8_p#+bA2VwnF5;yh!^S+9(IAHoO<|9`B>Pr`od6zfH1#lU^1b{g=EI2xnCQ{R2s_ln~w9vGeDjsz!V*S%J)@bWg1~4uFgKCGqi;km+@Tbgx zJZ~V%?5P>l4^tyzeQr%Vt4?dWP2cayUi>?9X?|PCT$&mJ)v!Et4Wf)zrm_$#lZOo+ z`dC7o#r!rd1}snEw*y$)7VSirCG^*(Y#nCP!>=V=y`oZN!73PKNeWOu@rpX}YjFhE z-!iVPL-P7zd7T4az<0#&@clEE7UCSP-<8+T8rR4<&F{CJa=j1U@&dj%Ul&8DRRQNh zQir8+#=5>_8uNAIAmWT6WmmzjCo=}1*hYrqzsfty?Dn$G@(tb=C}U&Gi`H!0-Q2u? z`$9p{!qz>_dw)Dd_+;RH`K-Sz?icGUfKC^KxpZ*oam{!iz`^>`Ul;q(w|}a>H2Q|8 zfuwzKeQEEB6M>(zzVvyc66Q9%r&adp1U1H`ebNnRMxW{z??L9z*AV*)`C9`BTSM?p z*RV}^>AX|MWhX(fQ5I9~ZlGEL_!5<8l_0PjEv7eP6TXEVTGl!N`$xWhmO5!vO0-_; zL>W?Z0elcN*(hC+i*siwqLKa>cWe;&&o9S zUVPgxpXkMv6L)!W^$-Y*SGTT|^;loKDD=}@8IV*t-N`6cV5d>eS3R+ z=4fS(zuf8a4U|`OrsNG5Sw%v2hO^pjub)3OIC14!&Gl<99UI)56?ihqkpmIPm7L^o z@t9PXkXf_-x;5)>-_u#O>XON(4gDpx?y|Dd=}u2cMcYfZ;@mVx^*~Mk&XJP3 zHJ8s!9-Jz5CJ0-8Sr+iPHNT+38Rx2Mm-D+*`=e;FZU%mhkhBN!D-<_m3R;~HFo%t* ziC&FkCs7hS0eg^gZDw&w^^)kn+;Mf6_Qykqh)0?wQ~Rs9)T;8~wlU7b@F8Uosp$)@ zV^B0)>T|A>raGbww2@UvPOv2)(P}@a>;mQE_tS=lJVis8z-`bc`B>X zg1R6|eWp8$ypOR80;)4s3Xq2xXu5Su<1L?PhrdD6FdeU0jfoT?&8trwl-MSThS+0W9LhU*Ka9`l( zWJHGnERh(qk$x-X*y^c~k!kJqi#h=uVQEEOr*+nCkeBvx2xhLH(}NN+%2h@aRU$W%@nEJlXg|f;y%W!q71vC^ zY-O`nL$b(0V@Szi*fow$7=Va20r7ux60e^kiC1$ol6ckSW-^IaCY+{(r4X<`?146n;s;?7S=O%~c;_3T-8hkk-;_oQ*PSc{ifNlT--!@4v!I4pmb9NihI zD&b^G+OQt{!|AhX%l8efF55p$`b!EdWIgEzkb5$j^1g=MFSQUnX8}pgVj%pn>P-YmJV)gZc)b;)cHYt`B+W0 zI{MZ%wq`pzm-+L%yImRCnT{`%3~Xv^+0BR^2Bc6u;J$u>5hyP%KN9rro3nYw?R7yAbjrWTTEUNEnZxbQ{D8Tf6?+adH<w4L;Oz40(c~5 zEGP@W73JYe#wWEO--73U3~Quat`YFWQ{|2S3q0{#mrlYp8>o&kDL>~Q12%nlMU?mn zMIE%mj0`_swv+Oq9o7f^e)vVQotx8Wr_UGqT7Z9=Vdpy&?wS^*rMOG0CX(#@FLAdy z@L%)u=S{Ba5s52iwgh0BU_T46=hZCtoL)xHLSpvK=o`7`Q~*0ov$WH^EbTG{uw67u z+Xa8us-6YA*#mOS(kD~=gf1s|2k|Oi=J_nfy~y*qV8P6Ciox_?cF5$m6JV3Jcoz=cHF-&m(!sd?FQkCeM!!rtgd z`YT;JM}czb9>e+uw5E!U8TlnOZR`6GGQOpAVq|n|#CHVo3)-e1CdMXs2DbF}pF8Yb zyLHX#^#y_NYMW*-el>3K8t}4MJboU>{U?AUxbGQichHb1596l~{0h*Ke9Om3h?d6Z zh3*%IDoN63k4lYA`p7t-v#K2$2YL1FVB`1Uqvt7bAWwmQu@fg3^8)n`>CeFEPr7+4 zw?5@>N*jEZ^mKqde5t;o=NE!>O8cYVuC2)4HaLB3U46~Mu@%d<=Xtj_owp|zF;Oq1 z{km~|X{95-cK+zh%+dMUZ2N*E`@CHm~v&8&LV!SN5d}8x^A1Mvz^-aQPs@3+r#t} z$UvE7h3`Nk(!%%)z_2nrMm7cObKZfo+JF0sH6ba^?dz+ou8B{Ivx@KRz2x%1vF$x$ z{e8b_Tj_Udo38o6VC`sqX2g!j&Zgc!-LrUhYT%8I(PiD3ZH+X-`X=DP0z|hF9%}U~ zc-VvR2+Oh;nov=~!`!OS0Th~mO?6$t?9XPxF_XrJSVBkK$;OO>(hGN^YWj|}4s?S8u zps#Bu0)G%0fj_K^esp7C+#`s;9jm!#>YsmvP7&1+mpOy{=x%TC#&9HI` zG^!XnWnAv?k=oHMORa5JD7ACJksOvRH&UFNw9Zjb(o{Fql7A>QuOhpoDA%b--SdfY z3E3?RT~9w#+Ekbv7n2frhLldH?>kB7u%E;1FON$+A8aLz(g;i zZ1m}I(^%^cvEG_PLDmh-f(0BRs7@Ig6!Db?MI;%==#=(Ek1vOwv78=XEHBCxkt+#f z5ne(Xhcz(`&%;gl?8S#_7~et{3_-EYr#4i4K>T!709xO95vu(2P(^pSeRFX^e(~A% zvhFxrMPqMSe0p?La(rb|THxf-Z{2myFSTDdN*ePjii<1q8cQ4}|FdSOCQ~3x(CW?C z?1A0lcmPaXAO?R#<`#&j9BWh_G~g2Ib0ViW)KNw@n8JY$N}Z)htWc`C0ur-r(eo7f z&~%*DE_f|&KJGscirz!_BjfwY+q6xXM>x4@*CTc?3cJkunv^wTlK@uq5cS7&p6UR= zOn*APA0~~`S(U<0On{QQBk)Yd)I;Y0OD4xc`W#FiqXxl-bXx~W3oT^jBHbV`o#M&B z1N$$&(mQxo`|l2(ONxTJP7iI^(K_9bB~}C$TL-(_4LM_2(pdK*;R~9A98)JSE*K%K zpeYpW4fuxjIuv@!R&Det)!ivRA9(Q~-U^XlvqWRw5OWI|#-XYQ8*pK!I@9i?Yd|Jk z%s0@wqs9*77SNP7ONHY!Vz+&Iatzr-#(k6V z&{Bgi8SCdUCM%XyvWm!7`W(Xm)XS5DR9IK#%#oSGqK=AT(u!`XF)3CUo!0RicTo5- z>@|$SW(RoW_7tn@G1?#&m9Su$b_>{-HTz*mv5D6&is%bYTCNlEfkPsSi5@{|zY+L2 zB8}Ib91>f_c;GV_EBxOfZ)8Em%(wXa+L^PDviK)3&#{)XsVgn5MXyiN8Rk`=d2`vBO4QP zFu_ULohpE>-xS;T91475&%s-@Y)nn&$^Sw(@F#h{_6f-svMpa^uaxB`G!IFb2fSWo z-0W%?kJO#v%&umV(`2gDE7?FNG8WwuMCVGCMSUq_p|K|c4m(I#saJGx=x5>F0_doZ zRBWy2B9F)~0FNl|{)I7c#TF_(o=V9U9zPu%5Q8t*AS|yD`s^s=H{&KgeD$4Sv4yWK zpr2Y#vBLN8VeIvIJ{I`BDBPAV^u&Vh4aW60NGDg%w1|D z4b{VBH^XR|>FT8uw@^xjY6Q9^U7CAo>b(yi=@GYx6DeLkkCRu8)@s$t;+*(e8v4m- zgeg$EQIti=k4KnP0#xk#qMm7MF*cd!K>H4ObWLz<+b}j{dnAuj+4Vn=$At~WT)w37 zDqSZx9RPQHI<>Mxf#<;Y2xG85UDiXsSG*rWo!%eTRE&Zw#p^UIXyzY?lKBUOMaq2W zpWSkRI=#v=Wb`kro?h58H@O5UHFCR38p^!5v=LD_Pmr{f8Pyo94C!tPeb|W49(=58 zsJL2H@PYK7(WST}ra{qqIk{9PO}-eUveIhBr6$EYc7jGlKlFnv|wG zM5ZldLm^2IgJi1p6lX;c&m&>}r)XugF;@w44N|C;15{c_5guQFYYJYBw@b&Kpd&TO z8p&jo+_1WGj6D+cO)1C@3ya7?pT_KTZmwW8jQJ>47oinO^o&E31HyL%JPXMuKzb%cPW zohRqHS>YjMq9^4VTdn*FDe4*X{Nb|fnMEUtJ~2VjN2y)fw)xc=C;xa*G#;dsql8#= z1?wFv19d)$bEq2_aSG0bX^?v4yva#Sxth8Z9E~K-(KyVqs0=$&)+8CsrK}?D!lxXu zkn>ENI^UsP7?;iZ=p`V4!s_ZI&Z^OKP4KUO75juG(8=t`AOzAXC zvNyG5PN7N*$gN04@>D%4R`yf+h=#MEJ`&VMQr(e;K4KH@{YS2lMvpHF_m1vy>LZJ1 z?^0HdMZ>7Uy*+YTmb2unvw!z56 zrjrOu2>h!tG7L+OtwD~>!R*gVb;GzIB|O6bNG4A0ZxV<(!{0drGTdF6pJab&aH4la zv0H1PD)`%j`!2pRaM_N629G_Yv+;rVlk)03J=lifIxB^&e>PLI#mWd;G%E0q6yb#`0 z&`?kXSCL@YqIR}#?Xl^RbDbqyn)Y508~CnhirurTWm{?P_L146tE(1VG?Q%_Zix4P4-gi-D;!`Cj+`_Oq`x$e8eqvFsx z1&v<&V6XVKf1)7^ifnA)?;_u}-Y=q(@@n0Eu%Ch(t9(9I$Xz|adrjum%+r1k?Y@q? z;a7mS|Fx(@E)CC%j%`1hMLY%P> zogz7g`x8Za{BNfz9F~hoWul1D78%moRxQ=qz}h2 zt0W7OKA0o{3xR~(>?Kl@(;<^@TzQMHKD_L13M^SmH!9IbEhC>FAOrAp366O}5 zp3)$Z9EIkx1|Oa0qoJcGi50d4t2i*a(iZrnZDn=l_Q=@CSMIbXU(xWuvB1phx8MGH zdU||%j99nplX7iw@0U5EqAdNGb9!P}w7+01r?Hi>Dg}j`#19^kPBqLS>PTfagsJaK zz)Y?mN@(CqA+0Wqwo_UIJHhir-Bt$j;`OEb)7@Sq9yqc8furC4%I^E${r2VeK6sug z|A}lz(QgJ8ZGr!JcM&*1T5>P)gqB$zpa-Oi!ZFsw83=?*t*#^x8+VtUhsgFSK5|Xm zhm%Knp-ME{z%%uW<2bpU7i6vDI9bOFECa+$1i7iI*lk27k-lW(TLuedOPTy3#If0A z6q7-7%zECZNeZA_*u=f=j;ZSQRd&}*T|<|@eOZ59U2A2{s4HuxW5d~PjXizWm$Ve8 zIa8-?PEUoqaI`SrTj)%mPR;7?@-@ZBK>3ktMoR)doXMtU&aQ4>FdP1Pn;PQ9+^JTu z$uGUPZSTA1>^&~d!4z(Xsq-Dueym|FN&6D^vmBN$)1GF?$);^uw{n`D&;`KN8pyI(mKlBA~C&54WS4Lk^pn zu!U$c!w<5fIk3voefRGF`wLe+_LH4zdHpHyx3`7BJOEehh-3IY`j%>$p$*OSFXXZg zqkbm80R(x6*#Sl9R5mFx1UPT)B7c zO^w67F>4}GRaxT81?W?P1YmHndD{ysx>p<t zbDiqu`>`&+dq41~jmqhD) zN4m}wo_~wDSKJ+#6L(Ke;)zC{EMz5#vaCh}>oYGyrq1s{B%p2V9tu8&eJvWqf<-fU zH0z0nnF)1Uzu7Tet~DEU3@|5LhaB7yPqVa`yEIQSABws8@{ILkuv&D6R4xHcUw}}X zn-6xl$Wv@{+Jj{yXSeKaJA1gSY@F)~LWaO6c`jjz3AczpNm#Bz1MmrQ z)-t&+R?>QPTDy`7m9WLV)QrTzQq-bELs2Upj?<<|$?g`v3@q$_dH?82pxBH6ioGuT zKreuQM<3Fa{cY(!K^XZ6n<}#p96{_U_BX~Ut90YEzctYQR&1Kz8hqm4&v*7$Ppmt? z#^>_c&wt65F~9!Cn;I(~4~LNqdj-0!VeUFpgAg zQvW`&c~^eRMD-IN`Fn3|dsCfw=kt>*=#C-o{p@2E^}Z_563RZ8qOVrN=0>Gn+1x0! z2w*Xfrp-+!sbRe~8%z~MrxfO#GZbI5sN|z`2&d&r39a;R$dWXo036L4YR59hqg}dh z-`6ponn(68-@GgEtFGEMKgJaJh8z;c7NZ7*H6>*_@e_-4LY}==8k6qZr0i`*KgCbj$;bCkqLV-GV<*3SY7YhXrNpz~BRQ6D($2Xw zpRK-GYl74idAY6Q)IAoHRdhiz1jl4Uk4^^b#RYYS`*8B8aq&D(UgZUKhH9L28W-a@ zS;q?~5GtZirJvw7d^B2A`Uxk-j8r;k%fOLxDAk6Lq!TQq7-Egf5YJw7QPY$oXQX;$ zH2V1;#taWu47oC=8x9{mdHAZ#wCU8$(ZQjfen;ALx&tA@a?W6T{3T%GgcauQhp_9f zvTrGeqc9ts37xRTZBC+&foHJ6?F8aqjE^p@7?r62rQ>L2-6}e{sl?pM4o8b6?QqOq zW#~@WR?;OIWrvFnHPQUCxM#k;W~Qqoa$x`dp{UZ%sp|Uqp5nhZ_xCsZ`}kqt1yazCdguX(ce+xx~39=V~RNw~Xe z+Oa^V$~sH!f$010dp4z~=$qv=HC2Wj^|rfdmgSIus;=@;(Ma|Fqqaj56!clkW`-f!ZD?mP%j6C=QPPhV?8T8_h4e-`H8kH zD9Rowf5Y>W8e0}%l7+PcD;|TBj^pHZeD0GCw7`=#WMN8JoR>R~dC=Ml@MJy(VU3}y zrNOM^VT9zH38F<{e8OIBi_f=va%)O`o$31r2lpStHseg!=)8S!E+%emY@*jCcB-l# zT1EewHT@qgu1C#}s|j0alR^#oVl7F+c4sg4aHyXEwlUJXkhPiLl5(tz^e6Qc|H&|! z!=yio`f=xnhTmA763Kj9tnAWBB0&^-9w)CF7dvrsF)v7#j^pHZfxOH)U2xxUvyQ5Z92`--!n8gnwdIHxG|r~2`Ssp2wsvxf(jImzXw0y?|J#SP5CBTbmcLr@)I)0jzO6Pu9AL{LW;Kdf!{`-Z5h2L+s^ zBVOt%%@(GxVv!@oO_01Ps1*|&be5I^owbmH#gkG?p5DAW@Y8;d`*UUOCAPo*RlM`9 zZ+&Yt;>#tK)uo`DZ-Q~KZrT5j^5x%0GI;dp(tPO{FHeWvTM{9OP|Mn>QN3T)k zU9IW4r)l%^Sgtp0Hw9!L1tIK1SDYpLpo{bwYIleRd>rM@>h@<(F!Cfo;f1xTs(o^L7!@DSc-SP95);HCFsMq>k1V6Lm%Y-vTgw&mywPv zwWsKBGj|l1nsb;L&h%4&pP4l6pqe#ZvqVSy`oNFioAs5z`!Wzw*^;i(K6S=-nPWfm zyObX0hn|R?oHr6zzKX4!&;FT4B)Gd`Evov4&_p7k7E*jRa8B2!%rPystf6AKL=Dy> zr3)9eK8}n;OF>n6hQRd8^sw^%scvmG9k9Rp)q|_Wm7;3q7ZcbEZw3t%m}iUl4CXtL zTG0pe#T@fL(ial2Q~LrsE-TkC<4}A*HnuLkbYH(HczOBNqc6QAX)*k0w4?BcV6uN$ zQL!~Bp%S`(tec=r$b>mbhtc6s4I19_GHIM*F^J+tKe^|{N{sZVCzF+yH(JfTZg_Lj z5G;m&xqd#SU3zo|HXIh)0&fQ1xSt-KbdN?qsawKklnfYtc;8J(>U}pG{;9qzMtPdP zvrfI27IfM7s+*RtNcO{y9yqaI#6R--?J%QD)-U~*P`Q9U_@5@Um-;Q~i`Im680f!xLuj5I=L_u)RBy7wjpLcqtb+u_=r9_{!w9y3rfEsl+jXrHML6n6DTM?2=JHHIe~?W`xa`uIZT*Xd0UNYa|F! zL*mKow>mx-ZppE6p-ra&6twt6daS!5NtjUb=TvqrV{6s(q?*#f77vyj8p%;qp&4k8UkV z^!kUYSAKL=W#FMT>!Sl7(Hxb_#QfyZHNJbl*3dB3oa@e96KhM2^R2loaL0waI#>Cf zfKSHa|A;r?f{|?L$A0wRzY~&W*~A?q+!`v4?n@4#E*JKQ>qu`@EDSxw6hp}iYD_xo zG@%kIDlyNmia*W*2~-ZVGQRYA$c3-sBXwxQx*#uhqV-~avzu??b_+qqjH5*oWRa)j zP_Qy*Jiup#M;L)7&L29wP~Wg{cyRE@LIaLN<->k=r1)Z_yJ@(*e5BbO5m*u7ZXS-S zT77JG?%3)|xPQ&g9-FVx_GLA$Y-?NDn04~kPXDS-LJvddJ``&iSpg3xL|9ntEJ6Pu z10JSt&>2NX1rO!fZNNjuV^>4f?!-s8DTKshA4e;rwRPYa!Py|q_o4MsexpN5>6t3B zkz!gnq@n;QVMSPW0W#!fH?CRc^)6e}*tl+4Ny)Oc{)XkTA}e;hv1uYY@LKd(oV#~p zCroyQh3e=QkMxa<^aXAhnw*3Y3&b`HaH+?->99Qf5O(G|EnOjWt5CVNn|NW`R%oU! z)GaD@#@il8gUoRR-*}uDOcG%m1vUk_FJoK|lyaFiZ; zr8rUtt-+E0v~@UAM{kk~vmFj_tk|xbSD1&Zk+xm@3J6lo%}re9{UqjFWOI4F;kTMkec_OSL3Sb1-R?T263PCj~-X3klWgRB1skyja%y_K#XU9I*)=`I-kzGA zz{<-5FKxO)l%91*jiR%%cH0OR(|B^^cmdnhoo}&hivpynL4Wko6y$b6!Frbp5lsxXMNW zA4z%#rK%{9tq&k0QkxMIkW(^WFJF6Dtogm~mc()`MrL3>7m?V|^~;?m>e9r4`W0{oVmX9bxXHi)zvU>2q>+u8RIQd6NHZgS8Pnl9%v?!m z!BlQgZt1MlX?hu^QbJUyrBsw{isb5lnLrk8) z)ELAZDlJSlpO3SLRdMC%Nj+6k7!(lVj^FmIb(4emsOsB337Wj{RQ7 zHN{zwo>Ag0%PMFticcJljCol-liu1#X+IAU!I2n0D?z10I>$ zZ;{`3N)%Zv-w|CQIa*D4$UHLM#S2B{KbxZ!uroM^VF59miKI(YfmcM`a!cS{=4h=S zm3};bU%b$Ak~vznneaa890GHMKC!06G3?K50Pu%_FOaXW)ki4iu(lMC{%jd&T~}SHx}D z5Rs8GnQGGlw^{8eSKXE_*4ar@dl%0~J>3JKWgETf`WUV^S)#O+@_PB=JC>h`w?Oxk zEgrEC_a%FHUkPe5ehpDqHM_R=1@KzR81-7D!KeDYF{U z(*y~PLMfyu^iH6?&4M+dHf89c03{8pgM64ZxKglLql~q(h98pHM#AtF9kM|qqFp5= zE_?!u;-$an=i*T`dA(@<%+%Ds$**yazLhUtfjX~w;I}oX=KL*!-!Ek`=GlMHQi<2{ zSRdrMVL6^cr5esSt%gJxvI_>%BYy|xw;o63bzG0{C}ogBHb^R$3SNui1~TA=zajTk z#~d7Uz?(gg2pS}I6yUr_QVtL9WA_+$$#~14pBG#zbFB^;V;PDnaQhO-w+wHj^!j42 zy-@@T{KI8kV`tkEO6%JTJpGLYXPwp6Gi-BC)fWvkxdWf6DXlH}b9LpyQ}x5O&WK&- zS-okq(C8AyYe=WsTQ{>ge#1H~D`7S{L;ESn$$*G1ElGSVwm$HQ^3tT|Ati!FR)Z$| z)!GE0Vnsp9m9>`)dqNTA^3d9Ap&oDyStX~8#*qdD)>tc-u*|}dDK`1Nv2&aN$$$Y% z3LfM!go_(TH{j>PTU7au68zSO`%Z41Bq=xU%?nRpqOmY8bA~in!o_ z)ss3GlMZbBZCp-8Pwmu}_&qyCOngEV@KO9UHmh<_M0raS9*M6D+)R9g*C=Sb+w!1z zTl^Hzjg_zw0CnE$MV zc@-=mmt`Si{2=)nW;SJRW;nWCPcA}Lzt3QaEpv}w34R@{y;hkhm5rn~(< z#K}t98;EnTQnS!@~g%Ngyh1PW)VJ1n((j5N@z8 zliayL@5qAVHJ2S-xOdyXPh%MP zF>H#KdtgI`GQ)u_&0!hlRbZN}f#cA;@4+sb?z^xACRi;YwW{PEqlAglU${m9A;2X{ z!Ua(A*b{~Lx!m@ATy)GmwC!7f4%gr*uwneV3eY5Vi#;uDRBWQT6|5Fz_zN{GQ1Oa{ z$|ItO$75gKcJIQ`%YHLW;0TLb`W=2p zv_pLDi+8r&c~|>gUueJk?oD^A^Sg15=fW>WtHt_rK~C94E0a+-G8d0c3&KoyR5ooM zxGM*JO$P1D!-v%(x$8@EgJ;P_Ns)`pwOA@2{toMsqAt3&;ZBz|`DAj% z4hW`I+WG#?Q!Vk%6;0)1ZAGx-H8igu@V3ltt-A64oZ2G$U~64prVx(e`na6_iP@^6 zGN*q7M4|oWsh?7+NWqclmI`X)hesV0ZTa!hwuaBi#<|8z zKVSFq`#65&uDYK+bolV}zG?Z7#3MvT05AUE$nX27z{XE~>cr}6XT*P8e9p}(zb`6{ zK%c6DK9$The`<~dU92*7QC)?BKE-+*m^zpbeMy4#I9{4xVXx?^Ts1v3G=2H_ua5Q{ z*|pxi{ME~j{%npq-doV87NtIQt_aidbe9~ZPa)aK;@jFm?Gdai7KN;~w9;N3f!YP_ z64R8mP+1MLFde+6y_CnAAV!DTxID_=(2SA@Rllfi35e5-X;(f~tY@!E*ir3r!CdnY z1T5oQ)=2Q6-6zdB(MlF4-9&FSR__jW+kk? zM?W^`$Kihh_C8LAPvxsR#j>V!-+y*8n$ZbPNOy2T2IN^cI=UR+4d6J9HT%y@kn#f6 zXDc#f9z)Lu#1ojg%?-¨K*>=dp`{@s`%Hu~rw(Po6YpR}5g9v-sa>CbZk< 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 z zezb49Yq7>wv!eMcx87~Uu6i1a={5JRuLFnZ>xcS@evY4yHFKh0;+OfA{^R~L{(OJ2 z|CawQHKxA){n_z0BT$(MZSRCiVzPO+8| zUp%4I^N6>g4X2qD8oq8^D>sT%5xtE$v?o^AR!%ddg6mLvp@n>BT*?bw`_eaR+=Z5|UFlzPZY8N!=29(o?Mf%-T+{@0rRIujB1Ka! z#VA)-8dq^@dBK%ReKSXIlqAu!_R#+&ZQ+&UUZKU}R&!6nQBUS#Zs5&Ea~mvP0S>yS zcqg&$%*FblD->_S{m|ls;STQ7uLjB;yM;qwsOlWaeQI1^Mxkb zr#3b~A72>933Uq7voK$nN7r`8Qfp$##xQe`exZHmV|6>1T-ukePx*-X4rOu6n zQTxJB7Yd_FlCTBt`WM;RSx3>qC9$-+tkwa7H)_opiQ8$A8#=#DCQP zi~krJ>R-cY;pA{?_;5HsoESb77KGEo2f}&b3+SP%!WH3;a83AXxRKgl7rqg`9xdHlQIxaRV6ry0DC$!GH7*dA^8HT+dwlqv0dr zlyG*?m|n+RD&Tj5=RV>84K4a9f3E*D`u4N_bL>10#oIyD@AK#RFTj&uLJNP{U*Nyu zFZ37j?nXB#oTFNW_xT&cnbhpPVdXCB*43~UU-(RzK_7VR0?%qge}9}kbw}sOW{Vb? zcWd=*d!QY6foG&TwP6o>#g(#pf7*YRurW~nz2SZI!AaI1r_l?iV-1`YR)%xvo!BGi zL;VZskFP=VuhSow&@WfeCs)x+*U=ZN=&75nXKthCkfw}Q_D*3p3t{u{a%@LnmMI}^ zziuI1yC?%^Phx22bBR;Cth58VgUuAQXSN?XX*YB?v#WYwTMe}N>p)^OGB@qZZt+u@ zEo*oBew<5~(`tY5WJ9iwHq2@Pd(H1-o-Ti(Aymg;Nj=KES?fl}+q%&SwqmphY-$^G z^_Re!PQZ@LeFsP!^|+#{njvt4Yrr|cZNCK zZ)n5s!x7;K_W=HU_lGb)9LcWoBk}(fE(#a9hs=LCTox{4Klx?ha<@5L9=^%0@^6N3 zv8()B`2Q8Y9lp)pa`{h%?}YELxBNSd_bpg$SG#A!cf)ttVgB9lJ$9IXFI>ys@@vEQ z-HYM-;RkMe_yPVa;rejB`?LA4h8w~S?ltpY4?hY&a&O?@H&@F}m-73lCeq!j)YQueg$`18rx5jXv+YIr!-4LHU;60D7@$i)9 zdEMPKP@3uJmVW@@I0YniCHt(|Ay1pUp?{Kqns0hIOf$sJ#T4&$Fyq4?xc`LH zHq$foIemSR`c?f&57KYyDfJLNb3MHP?V&l87Hz}rR@VFRwbyb2G+n@bZ>won>N<#; zw^d*5fK;7T(|_iy15G@e(f$ShHGd_~adc@sX|IhBN2zt>C+Q(+p>&RR*;{L?Xp{dn N!A{GCPDoVe{x2v=3FH6( literal 0 HcmV?d00001 From a71ab4c81ac40ad2a9e98e3f115244fc4f328392 Mon Sep 17 00:00:00 2001 From: BlanxxtyIS Date: Thu, 6 Jul 2023 16:08:12 +0300 Subject: [PATCH 02/21] =?UTF-8?q?=D0=B8=D1=82=D0=BE=D0=B3=204=20=D1=81?= =?UTF-8?q?=D0=BF=D1=80=D0=B8=D0=BD=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MovieQuizViewController.swift | 109 ++++++++---------- 1 file changed, 49 insertions(+), 60 deletions(-) diff --git a/MovieQuiz/Presentation/MovieQuizViewController.swift b/MovieQuiz/Presentation/MovieQuizViewController.swift index 23ec75e320..ebb9d73962 100644 --- a/MovieQuiz/Presentation/MovieQuizViewController.swift +++ b/MovieQuiz/Presentation/MovieQuizViewController.swift @@ -3,10 +3,6 @@ import UIKit final class MovieQuizViewController: UIViewController { // MARK: - Lifecycle - override func viewDidLoad() { - super.viewDidLoad() - } - //Типы на экране struct ViewModel { let image: UIImage @@ -35,6 +31,12 @@ final class MovieQuizViewController: UIViewController { let correctAnswer: Bool } + //номер текущего вопроса + private var currentQuestionIndex = 0 + + //счетчик правильных ответов + private var correctAnswers = 0 + //Mock-Данные private let questions: [QuizQuestion] = [ QuizQuestion(image: "The Godfather", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: true), @@ -48,52 +50,9 @@ final class MovieQuizViewController: UIViewController { QuizQuestion(image: "Tesla", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: false), QuizQuestion(image: "Vivarium", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: false)] - //номер текущего вопроса - private var currentQuestionIndex = 0 - - //счетчик правильных ответов - private var correctAnswers = 0 - - //Конвертация из QuizQuestions -> QuizStepViewModel - private func convert(model: QuizQuestion) -> QuizStepViewModel { - let questionStep = QuizStepViewModel( - image: UIImage(named: model.image) ?? UIImage(), - question: model.text, - questionNumber: "\(currentQuestionIndex + 1) / \(questions.count)") - return questionStep - } - - //Приватный метод вывода на экран вопроса, который принимает на вход вью модель вопроса - private func show(quiz result: QuizResultsViewModel) { - let alert = UIAlertController( - title: result.title, - message: result.text, - preferredStyle: .alert) - - let action = UIAlertAction(title: result.buttonText, style: .default) { _ in - self.currentQuestionIndex = 0 - self.correctAnswers = 0 - - let firstQuestion = self.questions[self.currentQuestionIndex] - let viewModel = self.convert(model: firstQuestion) - self.show(quiz: viewModel) - } - alert.addAction(action) - self.present(alert, animated: true, completion: nil) - } - - //Меняет цвет рамки - private func showAnswerResults(isCorrect: Bool) { - if isCorrect { - correctAnswers += 1 - } - imageViev.layer.masksToBounds = true - imageViev.layer.borderWidth = 8 - imageViev.layer.borderColor = isCorrect ? UIColor.ypGreen.cgColor : UIColor.ypRed.cgColor - - DispatchQueue.main.asyncAfter(deadline: .now() + 1.0) { - self.showNextQuestionOrResults() - } + override func viewDidLoad() { + super.viewDidLoad() + show(quiz: convert(model: questions[currentQuestionIndex])) } @IBAction func noButtonClicked(_ sender: UIButton) { @@ -118,18 +77,48 @@ final class MovieQuizViewController: UIViewController { // логика перехода в один из сценариев private func showNextQuestionOrResults() { if currentQuestionIndex == questions.count - 1 { - let text = "Ваш результат: \(correctAnswers)/10" // 1 - let viewModel = QuizResultsViewModel( // 2 - title: "Этот раунд окончен!", - text: text, - buttonText: "Сыграть ещё раз") - show(quiz: viewModel) // 3 + let result = QuizResultsViewModel(title: "Этот раунд окончен!", text: "Ваш реузальтат \(correctAnswers)/\(questions.count)", buttonText: "Сыграть еще раз?") + show(quiz: result) } else { currentQuestionIndex += 1 - let nextQuestion = questions[currentQuestionIndex] - let viewModel = convert(model: nextQuestion) - - show(quiz: viewModel) + show(quiz: convert(model: questions[currentQuestionIndex])) + } + } + + //Приватный метод вывода на экран вопроса, который принимает на вход вью модель вопроса + func show(quiz result: QuizResultsViewModel) { + let alert = UIAlertController(title: result.title, message: result.text, preferredStyle: .alert) + let action = UIAlertAction(title: result.buttonText, style: .default){_ in + self.currentQuestionIndex = 0 + self.correctAnswers = 0 + self.show(quiz: self.convert(model: self.questions[self.currentQuestionIndex])) + } + alert.addAction(action) + self.present(alert, animated: true) + } + + func show(quiz step: QuizStepViewModel) { + imageViev.image = step.image + textLabel.text = step.question + indexLabel.text = step.questionNumber + } + +//Конвертация из QuizQuestions -> QuizStepViewModel + func convert(model: QuizQuestion) -> QuizStepViewModel { + QuizStepViewModel(image: UIImage(named: model.image) ?? UIImage(), question: model.text, questionNumber: "\(currentQuestionIndex + 1)/\(questions.count)") + } + + //Меняет цвет рамки + private func showAnswerResults(isCorrect: Bool) { + if isCorrect { + correctAnswers += 1 + } + imageViev.layer.masksToBounds = true + imageViev.layer.borderWidth = 8 + imageViev.layer.borderColor = isCorrect ? UIColor.ypGreen.cgColor : UIColor.ypRed.cgColor + + DispatchQueue.main.asyncAfter(deadline: .now() + 1.0) { + self.showNextQuestionOrResults() } } From 0b55fac146cdfac95c2fc72f580a7782ab77edc3 Mon Sep 17 00:00:00 2001 From: BlanxxtyIS Date: Sun, 9 Jul 2023 14:43:31 +0300 Subject: [PATCH 03/21] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D1=8B=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Presentation/Base.lproj/Main.storyboard | 10 ++- .../MovieQuizViewController.swift | 74 ++++++++++++++++++- 2 files changed, 80 insertions(+), 4 deletions(-) diff --git a/MovieQuiz/Presentation/Base.lproj/Main.storyboard b/MovieQuiz/Presentation/Base.lproj/Main.storyboard index ffe8d5d8d8..2535239925 100644 --- a/MovieQuiz/Presentation/Base.lproj/Main.storyboard +++ b/MovieQuiz/Presentation/Base.lproj/Main.storyboard @@ -37,6 +37,9 @@ + + + @@ -71,7 +74,7 @@ - + @@ -88,7 +91,7 @@ - + @@ -121,7 +124,10 @@ + + + diff --git a/MovieQuiz/Presentation/MovieQuizViewController.swift b/MovieQuiz/Presentation/MovieQuizViewController.swift index ebb9d73962..4f16ca7673 100644 --- a/MovieQuiz/Presentation/MovieQuizViewController.swift +++ b/MovieQuiz/Presentation/MovieQuizViewController.swift @@ -52,7 +52,9 @@ final class MovieQuizViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() + screenSettings() show(quiz: convert(model: questions[currentQuestionIndex])) + } @IBAction func noButtonClicked(_ sender: UIButton) { @@ -72,7 +74,9 @@ final class MovieQuizViewController: UIViewController { @IBOutlet private weak var imageViev: UIImageView! @IBOutlet private weak var textLabel: UILabel! @IBOutlet private weak var indexLabel: UILabel! - + @IBOutlet private weak var questionLabel: UILabel! + @IBOutlet private weak var noButton: UIButton! + @IBOutlet private weak var yesButton: UIButton! // логика перехода в один из сценариев private func showNextQuestionOrResults() { @@ -84,6 +88,16 @@ final class MovieQuizViewController: UIViewController { show(quiz: convert(model: questions[currentQuestionIndex])) } } + + private func buttonsIsDisabled(){ + noButton.isEnabled = false + yesButton.isEnabled = false + } + + private func buttonsIsEnabled(){ + noButton.isEnabled = true + yesButton.isEnabled = true + } //Приватный метод вывода на экран вопроса, который принимает на вход вью модель вопроса func show(quiz result: QuizResultsViewModel) { @@ -101,6 +115,7 @@ final class MovieQuizViewController: UIViewController { imageViev.image = step.image textLabel.text = step.question indexLabel.text = step.questionNumber + screenSettings() } //Конвертация из QuizQuestions -> QuizStepViewModel @@ -121,7 +136,62 @@ final class MovieQuizViewController: UIViewController { self.showNextQuestionOrResults() } } - + + private func screenSettings() { + questionTitleLabelStyle() + counterLabelStyle() + imageViewStyle() + imageViewBorderStyle() + textLabelStyle() + yesButtonStyle() + noButtonStyle() + } + + private func questionTitleLabelStyle() { + questionLabel.font = UIFont(name: "YSDisplay-Medium", size: 20) + questionLabel.textColor = .ypWhite + } + + private func counterLabelStyle() { + indexLabel.font = UIFont(name: "YSDisplay-Medium", size: 20) + indexLabel.textColor = .ypWhite + } + + private func imageViewStyle() { + imageViev.layer.cornerRadius = 20 + imageViev.contentMode = .scaleAspectFill + imageViev.backgroundColor = .ypWhite + } + + private func textLabelStyle() { + textLabel.textColor = .ypWhite + textLabel.font = UIFont(name: "YSDisplay-Bold", size: 23) + textLabel.numberOfLines = 2 + textLabel.textAlignment = .center + } + + private func yesButtonStyle() { + yesButton.setTitle("Да", for: .normal) + yesButton.titleLabel?.font = UIFont(name: "YSDisplay-Medium", size: 20) + yesButton.setTitleColor(.ypBlack, for: .normal) + yesButton.layer.cornerRadius = 15 + yesButton.backgroundColor = .ypWhite + } + + private func noButtonStyle() { + noButton.setTitle("Нет", for: .normal) + noButton.titleLabel?.font = UIFont(name: "YSDisplay-Medium", size: 20) + noButton.setTitleColor(.ypBlack, for: .normal) + noButton.layer.cornerRadius = 15 + noButton.backgroundColor = .ypWhite + } + + private func imageViewBorderStyle() { + imageViev.layer.masksToBounds = true + imageViev.layer.borderWidth = 8 + imageViev.layer.borderColor = UIColor.clear.cgColor + imageViev.layer.cornerRadius = 20 + } } /* From bf3ea3457f34b3560796bd7be407fd84be07f980 Mon Sep 17 00:00:00 2001 From: BlanxxtyIS Date: Sun, 9 Jul 2023 16:39:33 +0300 Subject: [PATCH 04/21] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=B2=20=D1=88=D1=80=D0=B8=D1=84=D1=82=D1=8B=20=D0=B2=20info.p?= =?UTF-8?q?lst?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MovieQuiz/Resources/Info.plist | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/MovieQuiz/Resources/Info.plist b/MovieQuiz/Resources/Info.plist index 242523e8a0..3170ac9bc1 100644 --- a/MovieQuiz/Resources/Info.plist +++ b/MovieQuiz/Resources/Info.plist @@ -4,6 +4,11 @@ UIApplicationSceneManifest + UIAppFonts + + YS Display-Bold + YS Display-Medium + UIAppFonts YS Display-Bold From 048fefb184c9a488617199c6d6ee485989ea0b89 Mon Sep 17 00:00:00 2001 From: BlanxxtyIS Date: Mon, 10 Jul 2023 12:57:01 +0300 Subject: [PATCH 05/21] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D1=8F=20=D1=88=D1=80=D0=B8=D1=84=D1=82?= =?UTF-8?q?=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MovieQuiz/Resources/Info.plist | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/MovieQuiz/Resources/Info.plist b/MovieQuiz/Resources/Info.plist index 3170ac9bc1..389decae6e 100644 --- a/MovieQuiz/Resources/Info.plist +++ b/MovieQuiz/Resources/Info.plist @@ -2,18 +2,18 @@ + UIAppFonts + + YS Display-Bold.ttf + YS Display-Medium.ttf + UIApplicationSceneManifest - UIAppFonts - - YS Display-Bold - YS Display-Medium - - UIAppFonts - - YS Display-Bold - YS Display-Medium - + UIAppFonts + + YS Display-Bold + YS Display-Medium + UIApplicationSupportsMultipleScenes UISceneConfigurations From f7b11a360e07af2e73a3ea66c6352f188d48646f Mon Sep 17 00:00:00 2001 From: BlanxxtyIS Date: Mon, 10 Jul 2023 20:22:09 +0300 Subject: [PATCH 06/21] =?UTF-8?q?=D0=BF=D0=BE=20=D1=80=D0=B5=D0=BA=D0=BE?= =?UTF-8?q?=D0=BC=D0=B5=D0=BD=D0=B4=D0=B0=D1=86=D0=B8=D1=8F=D0=BC=20=D0=BD?= =?UTF-8?q?=D0=B0=D1=81=D1=82=D0=B0=D0=B2=D0=BD=D0=B8=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MovieQuiz.xcodeproj/project.pbxproj | 6 +++--- .../YS Display-Bold.ttf | Bin .../YS Display-Medium.ttf | Bin 3 files changed, 3 insertions(+), 3 deletions(-) rename MovieQuiz/Resources/{MovieQuizFonts 13.49.58 => MovieQuizFonts}/YS Display-Bold.ttf (100%) rename MovieQuiz/Resources/{MovieQuizFonts 13.49.58 => MovieQuizFonts}/YS Display-Medium.ttf (100%) diff --git a/MovieQuiz.xcodeproj/project.pbxproj b/MovieQuiz.xcodeproj/project.pbxproj index aaa047977e..5b92d247e4 100644 --- a/MovieQuiz.xcodeproj/project.pbxproj +++ b/MovieQuiz.xcodeproj/project.pbxproj @@ -59,7 +59,7 @@ 8F4738332848DE46005DF65E /* Resources */ = { isa = PBXGroup; children = ( - F471CA7C2A54310300C2E967 /* MovieQuizFonts 13.49.58 */, + F471CA7C2A54310300C2E967 /* MovieQuizFonts */, AD1ABABC2831907F00B3E448 /* LaunchScreen.storyboard */, AD1ABABA2831907F00B3E448 /* Assets.xcassets */, AD1ABABF2831907F00B3E448 /* Info.plist */, @@ -105,13 +105,13 @@ path = Helpers; sourceTree = ""; }; - F471CA7C2A54310300C2E967 /* MovieQuizFonts 13.49.58 */ = { + F471CA7C2A54310300C2E967 /* MovieQuizFonts */ = { isa = PBXGroup; children = ( F471CA7D2A54310300C2E967 /* YS Display-Bold.ttf */, F471CA7E2A54310300C2E967 /* YS Display-Medium.ttf */, ); - path = "MovieQuizFonts 13.49.58"; + path = MovieQuizFonts; sourceTree = ""; }; /* End PBXGroup section */ diff --git a/MovieQuiz/Resources/MovieQuizFonts 13.49.58/YS Display-Bold.ttf b/MovieQuiz/Resources/MovieQuizFonts/YS Display-Bold.ttf similarity index 100% rename from MovieQuiz/Resources/MovieQuizFonts 13.49.58/YS Display-Bold.ttf rename to MovieQuiz/Resources/MovieQuizFonts/YS Display-Bold.ttf diff --git a/MovieQuiz/Resources/MovieQuizFonts 13.49.58/YS Display-Medium.ttf b/MovieQuiz/Resources/MovieQuizFonts/YS Display-Medium.ttf similarity index 100% rename from MovieQuiz/Resources/MovieQuizFonts 13.49.58/YS Display-Medium.ttf rename to MovieQuiz/Resources/MovieQuizFonts/YS Display-Medium.ttf From 86e9aeada6f65debc8f727a050c0911a49168944 Mon Sep 17 00:00:00 2001 From: BlanxxtyIS Date: Wed, 19 Jul 2023 12:23:40 +0300 Subject: [PATCH 07/21] pull 5 sprint --- MovieQuiz.xcodeproj/project.pbxproj | 68 +++++++ MovieQuiz/Models/AlertModel.swift | 15 ++ MovieQuiz/Models/GameRecord.swift | 23 +++ MovieQuiz/Models/QuizQuestion.swift | 15 ++ MovieQuiz/Models/QuizResultsViewModel.swift | 15 ++ MovieQuiz/Models/QuizStepViewModel.swift | 16 ++ .../MovieQuizViewController.swift | 166 +++++++++++------- MovieQuiz/Services/AlertPresenter.swift | 30 ++++ .../Services/AlertPresenterDelegate.swift | 12 ++ .../Services/AlertPresenterProtocol.swift | 13 ++ MovieQuiz/Services/QuestionFactory.swift | 41 +++++ .../Services/QuestionFactoryDelegate.swift | 13 ++ .../Services/QuestionFactoryProtocol.swift | 13 ++ MovieQuiz/Services/StatisticService.swift | 17 ++ .../StatisticServiceImplementation.swift | 80 +++++++++ 15 files changed, 476 insertions(+), 61 deletions(-) create mode 100644 MovieQuiz/Models/AlertModel.swift create mode 100644 MovieQuiz/Models/GameRecord.swift create mode 100644 MovieQuiz/Models/QuizQuestion.swift create mode 100644 MovieQuiz/Models/QuizResultsViewModel.swift create mode 100644 MovieQuiz/Models/QuizStepViewModel.swift create mode 100644 MovieQuiz/Services/AlertPresenter.swift create mode 100644 MovieQuiz/Services/AlertPresenterDelegate.swift create mode 100644 MovieQuiz/Services/AlertPresenterProtocol.swift create mode 100644 MovieQuiz/Services/QuestionFactory.swift create mode 100644 MovieQuiz/Services/QuestionFactoryDelegate.swift create mode 100644 MovieQuiz/Services/QuestionFactoryProtocol.swift create mode 100644 MovieQuiz/Services/StatisticService.swift create mode 100644 MovieQuiz/Services/StatisticServiceImplementation.swift diff --git a/MovieQuiz.xcodeproj/project.pbxproj b/MovieQuiz.xcodeproj/project.pbxproj index 5b92d247e4..081c6dcd09 100644 --- a/MovieQuiz.xcodeproj/project.pbxproj +++ b/MovieQuiz.xcodeproj/project.pbxproj @@ -16,6 +16,19 @@ AD5EE5DE284D7887003966EF /* UIColor+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD5EE5DD284D7887003966EF /* UIColor+Extensions.swift */; }; AD77F5742857F8810062FB14 /* Date+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD77F5732857F8810062FB14 /* Date+Extensions.swift */; }; AD7AFA552836189F00399704 /* Array+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD7AFA542836189F00399704 /* Array+Extensions.swift */; }; + F45010BB2A67DE4200105895 /* QuizQuestion.swift in Sources */ = {isa = PBXBuildFile; fileRef = F45010BA2A67DE4200105895 /* QuizQuestion.swift */; }; + F45010BD2A67DE5100105895 /* QuizStepViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = F45010BC2A67DE5100105895 /* QuizStepViewModel.swift */; }; + F45010BF2A67DE5900105895 /* AlertModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = F45010BE2A67DE5900105895 /* AlertModel.swift */; }; + F45010C12A67DE6700105895 /* GameRecord.swift in Sources */ = {isa = PBXBuildFile; fileRef = F45010C02A67DE6700105895 /* GameRecord.swift */; }; + F45010C42A67DE8500105895 /* QuestionFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = F45010C32A67DE8500105895 /* QuestionFactory.swift */; }; + F45010C62A67DE9800105895 /* QuestionFactoryProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = F45010C52A67DE9800105895 /* QuestionFactoryProtocol.swift */; }; + F45010C82A67DEA000105895 /* QuestionFactoryDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = F45010C72A67DEA000105895 /* QuestionFactoryDelegate.swift */; }; + F45010CA2A67DEA900105895 /* AlertPresenter.swift in Sources */ = {isa = PBXBuildFile; fileRef = F45010C92A67DEA900105895 /* AlertPresenter.swift */; }; + F45010CC2A67DEB600105895 /* AlertPresenterProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = F45010CB2A67DEB600105895 /* AlertPresenterProtocol.swift */; }; + F45010CE2A67DEC200105895 /* AlertPresenterDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = F45010CD2A67DEC200105895 /* AlertPresenterDelegate.swift */; }; + F45010D02A67DECC00105895 /* StatisticService.swift in Sources */ = {isa = PBXBuildFile; fileRef = F45010CF2A67DECC00105895 /* StatisticService.swift */; }; + F45010D22A67DEDD00105895 /* StatisticServiceImplementation.swift in Sources */ = {isa = PBXBuildFile; fileRef = F45010D12A67DEDD00105895 /* StatisticServiceImplementation.swift */; }; + F45010D42A67DF1100105895 /* QuizResultsViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = F45010D32A67DF1100105895 /* QuizResultsViewModel.swift */; }; F471CA812A54357F00C2E967 /* YS Display-Medium.ttf in Resources */ = {isa = PBXBuildFile; fileRef = F471CA7E2A54310300C2E967 /* YS Display-Medium.ttf */; }; F471CA822A54358300C2E967 /* YS Display-Bold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = F471CA7D2A54310300C2E967 /* YS Display-Bold.ttf */; }; /* End PBXBuildFile section */ @@ -32,6 +45,19 @@ AD5EE5DD284D7887003966EF /* UIColor+Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIColor+Extensions.swift"; sourceTree = ""; }; AD77F5732857F8810062FB14 /* Date+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Date+Extensions.swift"; sourceTree = ""; }; AD7AFA542836189F00399704 /* Array+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Array+Extensions.swift"; sourceTree = ""; }; + F45010BA2A67DE4200105895 /* QuizQuestion.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QuizQuestion.swift; sourceTree = ""; }; + F45010BC2A67DE5100105895 /* QuizStepViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QuizStepViewModel.swift; sourceTree = ""; }; + F45010BE2A67DE5900105895 /* AlertModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AlertModel.swift; sourceTree = ""; }; + F45010C02A67DE6700105895 /* GameRecord.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GameRecord.swift; sourceTree = ""; }; + F45010C32A67DE8500105895 /* QuestionFactory.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QuestionFactory.swift; sourceTree = ""; }; + F45010C52A67DE9800105895 /* QuestionFactoryProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QuestionFactoryProtocol.swift; sourceTree = ""; }; + F45010C72A67DEA000105895 /* QuestionFactoryDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QuestionFactoryDelegate.swift; sourceTree = ""; }; + F45010C92A67DEA900105895 /* AlertPresenter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AlertPresenter.swift; sourceTree = ""; }; + F45010CB2A67DEB600105895 /* AlertPresenterProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AlertPresenterProtocol.swift; sourceTree = ""; }; + F45010CD2A67DEC200105895 /* AlertPresenterDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AlertPresenterDelegate.swift; sourceTree = ""; }; + F45010CF2A67DECC00105895 /* StatisticService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StatisticService.swift; sourceTree = ""; }; + F45010D12A67DEDD00105895 /* StatisticServiceImplementation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StatisticServiceImplementation.swift; sourceTree = ""; }; + F45010D32A67DF1100105895 /* QuizResultsViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QuizResultsViewModel.swift; sourceTree = ""; }; F471CA7D2A54310300C2E967 /* YS Display-Bold.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "YS Display-Bold.ttf"; sourceTree = ""; }; F471CA7E2A54310300C2E967 /* YS Display-Medium.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "YS Display-Medium.ttf"; sourceTree = ""; }; /* End PBXFileReference section */ @@ -86,6 +112,8 @@ AD1ABAB02831907B00B3E448 /* MovieQuiz */ = { isa = PBXGroup; children = ( + F45010B92A67DE2F00105895 /* Models */, + F45010C22A67DE7000105895 /* Services */, 8F4738322848DE2A005DF65E /* Presentation */, ADF0CF75283FDAA10075F54D /* Helpers */, 8F4738332848DE46005DF65E /* Resources */, @@ -105,6 +133,33 @@ path = Helpers; sourceTree = ""; }; + F45010B92A67DE2F00105895 /* Models */ = { + isa = PBXGroup; + children = ( + F45010BC2A67DE5100105895 /* QuizStepViewModel.swift */, + F45010D32A67DF1100105895 /* QuizResultsViewModel.swift */, + F45010BA2A67DE4200105895 /* QuizQuestion.swift */, + F45010BE2A67DE5900105895 /* AlertModel.swift */, + F45010C02A67DE6700105895 /* GameRecord.swift */, + ); + path = Models; + sourceTree = ""; + }; + F45010C22A67DE7000105895 /* Services */ = { + isa = PBXGroup; + children = ( + F45010C32A67DE8500105895 /* QuestionFactory.swift */, + F45010C52A67DE9800105895 /* QuestionFactoryProtocol.swift */, + F45010C72A67DEA000105895 /* QuestionFactoryDelegate.swift */, + F45010C92A67DEA900105895 /* AlertPresenter.swift */, + F45010CB2A67DEB600105895 /* AlertPresenterProtocol.swift */, + F45010CD2A67DEC200105895 /* AlertPresenterDelegate.swift */, + F45010CF2A67DECC00105895 /* StatisticService.swift */, + F45010D12A67DEDD00105895 /* StatisticServiceImplementation.swift */, + ); + path = Services; + sourceTree = ""; + }; F471CA7C2A54310300C2E967 /* MovieQuizFonts */ = { isa = PBXGroup; children = ( @@ -188,12 +243,25 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + F45010C12A67DE6700105895 /* GameRecord.swift in Sources */, + F45010CA2A67DEA900105895 /* AlertPresenter.swift in Sources */, + F45010CE2A67DEC200105895 /* AlertPresenterDelegate.swift in Sources */, AD5EE5DE284D7887003966EF /* UIColor+Extensions.swift in Sources */, AD7AFA552836189F00399704 /* Array+Extensions.swift in Sources */, + F45010CC2A67DEB600105895 /* AlertPresenterProtocol.swift in Sources */, + F45010BB2A67DE4200105895 /* QuizQuestion.swift in Sources */, + F45010C82A67DEA000105895 /* QuestionFactoryDelegate.swift in Sources */, + F45010BD2A67DE5100105895 /* QuizStepViewModel.swift in Sources */, AD1ABAB62831907B00B3E448 /* MovieQuizViewController.swift in Sources */, + F45010C62A67DE9800105895 /* QuestionFactoryProtocol.swift in Sources */, AD77F5742857F8810062FB14 /* Date+Extensions.swift in Sources */, + F45010C42A67DE8500105895 /* QuestionFactory.swift in Sources */, AD1ABAB22831907B00B3E448 /* AppDelegate.swift in Sources */, + F45010D22A67DEDD00105895 /* StatisticServiceImplementation.swift in Sources */, + F45010BF2A67DE5900105895 /* AlertModel.swift in Sources */, AD1ABAB42831907B00B3E448 /* SceneDelegate.swift in Sources */, + F45010D02A67DECC00105895 /* StatisticService.swift in Sources */, + F45010D42A67DF1100105895 /* QuizResultsViewModel.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/MovieQuiz/Models/AlertModel.swift b/MovieQuiz/Models/AlertModel.swift new file mode 100644 index 0000000000..05c1a59a7b --- /dev/null +++ b/MovieQuiz/Models/AlertModel.swift @@ -0,0 +1,15 @@ +// +// AlertModel.swift +// MovieQuiz +// +// Created by Марат Хасанов on 19.07.2023. +// + +import Foundation + +struct AlertModel { + let text: String + let message: String + let buttonText: String + let completion: () -> Void +} diff --git a/MovieQuiz/Models/GameRecord.swift b/MovieQuiz/Models/GameRecord.swift new file mode 100644 index 0000000000..3f3c13654d --- /dev/null +++ b/MovieQuiz/Models/GameRecord.swift @@ -0,0 +1,23 @@ +// +// GameRecord.swift +// MovieQuiz +// +// Created by Марат Хасанов on 19.07.2023. +// + +import Foundation + +struct GameRecord: Codable, Comparable { + + let correct: Int + let total: Int + let date: Date + + static func > (lhs: GameRecord, rhs: GameRecord) -> Bool { + return lhs.correct > rhs.correct + } + + static func < (lhs: GameRecord, rhs: GameRecord) -> Bool { + return lhs.correct < rhs.correct + } +} diff --git a/MovieQuiz/Models/QuizQuestion.swift b/MovieQuiz/Models/QuizQuestion.swift new file mode 100644 index 0000000000..ce7cd278b8 --- /dev/null +++ b/MovieQuiz/Models/QuizQuestion.swift @@ -0,0 +1,15 @@ +// +// QuizQuestion.swift +// MovieQuiz +// +// Created by Марат Хасанов on 19.07.2023. +// + +import Foundation + +//Mock-данные +struct QuizQuestion { + let image: String + let text: String + let correctAnswer: Bool +} diff --git a/MovieQuiz/Models/QuizResultsViewModel.swift b/MovieQuiz/Models/QuizResultsViewModel.swift new file mode 100644 index 0000000000..61589628e2 --- /dev/null +++ b/MovieQuiz/Models/QuizResultsViewModel.swift @@ -0,0 +1,15 @@ +// +// QuizResultsViewModel.swift +// MovieQuiz +// +// Created by Марат Хасанов on 19.07.2023. +// + +import Foundation + +//Результат квиза +struct QuizResultsViewModel { + let title: String + let text: String + let buttonText: String +} diff --git a/MovieQuiz/Models/QuizStepViewModel.swift b/MovieQuiz/Models/QuizStepViewModel.swift new file mode 100644 index 0000000000..71cca720dc --- /dev/null +++ b/MovieQuiz/Models/QuizStepViewModel.swift @@ -0,0 +1,16 @@ +// +// QuizStepViewModel.swift +// MovieQuiz +// +// Created by Марат Хасанов on 19.07.2023. +// + +import Foundation +import UIKit + +//Состояние "Вопрос показан +struct QuizStepViewModel { + let image: UIImage + let question: String + let questionNumber: String +} diff --git a/MovieQuiz/Presentation/MovieQuizViewController.swift b/MovieQuiz/Presentation/MovieQuizViewController.swift index 4f16ca7673..b01de36073 100644 --- a/MovieQuiz/Presentation/MovieQuizViewController.swift +++ b/MovieQuiz/Presentation/MovieQuizViewController.swift @@ -1,6 +1,6 @@ import UIKit -final class MovieQuizViewController: UIViewController { +final class MovieQuizViewController: UIViewController, QuestionFactoryDelegate, AlertPresenterDelegate { // MARK: - Lifecycle //Типы на экране @@ -10,64 +10,44 @@ final class MovieQuizViewController: UIViewController { let questionNumber: String } - //Состояние "Вопрос показан - struct QuizStepViewModel { - let image: UIImage - let question: String - let questionNumber: String - } - - //Результат квиза - struct QuizResultsViewModel { - let title: String - let text: String - let buttonText: String - } - - //Mock-данные - struct QuizQuestion { - let image: String - let text: String - let correctAnswer: Bool - } - //номер текущего вопроса private var currentQuestionIndex = 0 //счетчик правильных ответов private var correctAnswers = 0 - //Mock-Данные - private let questions: [QuizQuestion] = [ - QuizQuestion(image: "The Godfather", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: true), - QuizQuestion(image: "The Dark Knight", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: true), - QuizQuestion(image: "Kill Bill", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: true), - QuizQuestion(image: "The Avengers", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: true), - QuizQuestion(image: "Deadpool", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: true), - QuizQuestion(image: "The Green Knight", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: true), - QuizQuestion(image: "Old", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: false), - QuizQuestion(image: "The Ice Age Adventures of Buck Wild", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: false), - QuizQuestion(image: "Tesla", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: false), - QuizQuestion(image: "Vivarium", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: false)] + private let questionAmount: Int = 10 + + private var questionFactory: QuestionFactoryProtocol? + + private var alertPresenter: AlertPresenterProtocol? + private var statisticService: StatisticService? + + private var currentQuestion: QuizQuestion? + + override func viewDidLoad() { super.viewDidLoad() + + print(NSHomeDirectory()) + + questionFactory = QuestionFactory(delegate: self) + alertPresenter = AlertPresenter(delegate: self) + statisticService = StatisticServiceImplementation() + screenSettings() - show(quiz: convert(model: questions[currentQuestionIndex])) + questionFactory?.requestNextQuestion() } @IBAction func noButtonClicked(_ sender: UIButton) { - let currentQuestion = questions[currentQuestionIndex] - let givenAnswer = false - - showAnswerResults(isCorrect: givenAnswer == currentQuestion.correctAnswer) + setUnavailableButtons() + showAnswerResults(isCorrect: self.currentQuestion?.correctAnswer == false) } @IBAction func yesButtonClicked(_ sender: UIButton) { - let currentQuestion = questions[currentQuestionIndex] - let givenAnswer = true - - showAnswerResults(isCorrect: givenAnswer == currentQuestion.correctAnswer) + setUnavailableButtons() + showAnswerResults(isCorrect: self.currentQuestion?.correctAnswer == true) } @@ -78,14 +58,66 @@ final class MovieQuizViewController: UIViewController { @IBOutlet private weak var noButton: UIButton! @IBOutlet private weak var yesButton: UIButton! + func didReceiveNextQuestion(question: QuizQuestion?) { //MARK: + guard let question = question else { + return + } + + currentQuestion = question; + let viewModel = convert(model: question) + + DispatchQueue.main.async { [weak self] in + self?.show(quiz: viewModel) + } + show(quiz: viewModel) + } + + func showResult() { + statisticService?.updateGameStatisticService(correct: correctAnswers, amount: questionAmount) + let gameRecord = GameRecord(correct: correctAnswers, total: questionAmount, date: Date()) + + if let bestGame = statisticService?.bestGame, + gameRecord > bestGame { + statisticService?.store(correct: correctAnswers, total: questionAmount) + } + + let alertModel = AlertModel( + text: "Этот раунд окончен", + message: makeMessage(), + buttonText: "Сыграть еще раз", + completion: { [weak self] in + guard let self = self else { return } + + self.currentQuestionIndex = 0 + self.correctAnswers = 0 + self.questionFactory?.requestNextQuestion() + }) + alertPresenter?.showAlert(model: alertModel) + } + + private func makeMessage() -> String { //MARK: + guard let gamesCount = statisticService?.gamesCount, + let recordCount = statisticService?.bestGame.correct, + let recordTotal = statisticService?.bestGame.total, + let recordTime = statisticService?.bestGame.date.dateTimeString, + let average = statisticService?.totalAccuracy else { + return "Ошибка при формировании сообщения" + } + + let message = "Ваш результат: \(correctAnswers)/\(questionAmount)\n" + .appending("Количество сыгранных квизов: \(gamesCount)\n") + .appending("Рекорд: \(recordCount)/\(recordTotal) (\(recordTime))\n") + .appending("Средняя точность \(String(format: "%.2f", average))%") + return message + } + // логика перехода в один из сценариев private func showNextQuestionOrResults() { - if currentQuestionIndex == questions.count - 1 { - let result = QuizResultsViewModel(title: "Этот раунд окончен!", text: "Ваш реузальтат \(correctAnswers)/\(questions.count)", buttonText: "Сыграть еще раз?") - show(quiz: result) + if currentQuestionIndex == questionAmount - 1 { + showResult() } else { currentQuestionIndex += 1 - show(quiz: convert(model: questions[currentQuestionIndex])) + questionFactory?.requestNextQuestion() } } @@ -99,18 +131,18 @@ final class MovieQuizViewController: UIViewController { yesButton.isEnabled = true } - //Приватный метод вывода на экран вопроса, который принимает на вход вью модель вопроса - func show(quiz result: QuizResultsViewModel) { - let alert = UIAlertController(title: result.title, message: result.text, preferredStyle: .alert) - let action = UIAlertAction(title: result.buttonText, style: .default){_ in - self.currentQuestionIndex = 0 - self.correctAnswers = 0 - self.show(quiz: self.convert(model: self.questions[self.currentQuestionIndex])) - } - alert.addAction(action) - self.present(alert, animated: true) - } - +// //Приватный метод вывода на экран вопроса, который принимает на вход вью модель вопроса +// func show(quiz result: QuizResultsViewModel) { +// let alert = UIAlertController(title: result.title, message: result.text, preferredStyle: .alert) +// let action = UIAlertAction(title: result.buttonText, style: .default){_ in +// self.currentQuestionIndex = 0 +// self.correctAnswers = 0 +// self.show(quiz: self.convert(model: self.questions[self.currentQuestionIndex])) +// } +// alert.addAction(action) +// self.present(alert, animated: true) +// } +// func show(quiz step: QuizStepViewModel) { imageViev.image = step.image textLabel.text = step.question @@ -120,7 +152,7 @@ final class MovieQuizViewController: UIViewController { //Конвертация из QuizQuestions -> QuizStepViewModel func convert(model: QuizQuestion) -> QuizStepViewModel { - QuizStepViewModel(image: UIImage(named: model.image) ?? UIImage(), question: model.text, questionNumber: "\(currentQuestionIndex + 1)/\(questions.count)") + QuizStepViewModel(image: UIImage(named: model.image) ?? UIImage(), question: model.text, questionNumber: "\(currentQuestionIndex + 1)/\(questionAmount)") } //Меняет цвет рамки @@ -132,10 +164,22 @@ final class MovieQuizViewController: UIViewController { imageViev.layer.borderWidth = 8 imageViev.layer.borderColor = isCorrect ? UIColor.ypGreen.cgColor : UIColor.ypRed.cgColor - DispatchQueue.main.asyncAfter(deadline: .now() + 1.0) { + DispatchQueue.main.asyncAfter(deadline: .now() + 1.0) { [weak self] in + guard let self = self else { return } self.showNextQuestionOrResults() + self.setAvailableButtons() } } + // Доступность кнопок + private func setUnavailableButtons() { + noButton.isUserInteractionEnabled = false + yesButton.isUserInteractionEnabled = false + } + + private func setAvailableButtons() { + noButton.isUserInteractionEnabled = true + yesButton.isUserInteractionEnabled = true + } private func screenSettings() { questionTitleLabelStyle() diff --git a/MovieQuiz/Services/AlertPresenter.swift b/MovieQuiz/Services/AlertPresenter.swift new file mode 100644 index 0000000000..0d4709cf3e --- /dev/null +++ b/MovieQuiz/Services/AlertPresenter.swift @@ -0,0 +1,30 @@ +// +// AlertPresenter.swift +// MovieQuiz +// +// Created by Марат Хасанов on 19.07.2023. +// + +import Foundation +import UIKit + +class AlertPresenter: AlertPresenterProtocol { + + private weak var delegate: AlertPresenterDelegate? + + init(delegate: AlertPresenterDelegate) { + self.delegate = delegate + } + + func showAlert(model: AlertModel) { + let alert = UIAlertController( + title: model.text, + message: model.message, + preferredStyle: .alert) + let action = UIAlertAction(title: model.buttonText, style: .default) { _ in + model.completion() + } + alert.addAction(action) + (delegate as? UIViewController)?.present(alert, animated: true, completion: nil) + } +} diff --git a/MovieQuiz/Services/AlertPresenterDelegate.swift b/MovieQuiz/Services/AlertPresenterDelegate.swift new file mode 100644 index 0000000000..a3f66e9a63 --- /dev/null +++ b/MovieQuiz/Services/AlertPresenterDelegate.swift @@ -0,0 +1,12 @@ +// +// AlertPresenterDelegate.swift +// MovieQuiz +// +// Created by Марат Хасанов on 19.07.2023. +// + +import Foundation + +protocol AlertPresenterDelegate: AnyObject { + +} diff --git a/MovieQuiz/Services/AlertPresenterProtocol.swift b/MovieQuiz/Services/AlertPresenterProtocol.swift new file mode 100644 index 0000000000..967cc5ec68 --- /dev/null +++ b/MovieQuiz/Services/AlertPresenterProtocol.swift @@ -0,0 +1,13 @@ +// +// AlertPresenterProtocol.swift +// MovieQuiz +// +// Created by Марат Хасанов on 19.07.2023. +// + +import Foundation + +protocol AlertPresenterProtocol { + + func showAlert(model: AlertModel) +} diff --git a/MovieQuiz/Services/QuestionFactory.swift b/MovieQuiz/Services/QuestionFactory.swift new file mode 100644 index 0000000000..2a66834576 --- /dev/null +++ b/MovieQuiz/Services/QuestionFactory.swift @@ -0,0 +1,41 @@ +// +// QuestionFactory.swift +// MovieQuiz +// +// Created by Марат Хасанов on 19.07.2023. +// + +import Foundation + + +final class QuestionFactory: QuestionFactoryProtocol { + + private weak var delegate: QuestionFactoryDelegate? + + //Mock-Данные + private let questions: [QuizQuestion] = [ + QuizQuestion(image: "The Godfather", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: true), + QuizQuestion(image: "The Dark Knight", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: true), + QuizQuestion(image: "Kill Bill", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: true), + QuizQuestion(image: "The Avengers", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: true), + QuizQuestion(image: "Deadpool", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: true), + QuizQuestion(image: "The Green Knight", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: true), + QuizQuestion(image: "Old", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: false), + QuizQuestion(image: "The Ice Age Adventures of Buck Wild", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: false), + QuizQuestion(image: "Tesla", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: false), + QuizQuestion(image: "Vivarium", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: false)] + + init(delegate: QuestionFactoryDelegate) { + self.delegate = delegate + } + + func requestNextQuestion() { + guard let index = (0.. Date: Wed, 26 Jul 2023 12:04:48 +0300 Subject: [PATCH 08/21] =?UTF-8?q?=D0=B7=D0=B0=D0=BA=D1=80=D1=8B=D1=82?= =?UTF-8?q?=D1=8C=205=20=D1=81=D0=BF=D1=80=D0=B8=D0=BD=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MovieQuiz/Presentation/MovieQuizViewController.swift | 1 + 1 file changed, 1 insertion(+) diff --git a/MovieQuiz/Presentation/MovieQuizViewController.swift b/MovieQuiz/Presentation/MovieQuizViewController.swift index b01de36073..c24513f472 100644 --- a/MovieQuiz/Presentation/MovieQuizViewController.swift +++ b/MovieQuiz/Presentation/MovieQuizViewController.swift @@ -22,6 +22,7 @@ final class MovieQuizViewController: UIViewController, QuestionFactoryDelegate, private var alertPresenter: AlertPresenterProtocol? + private var statisticService: StatisticService? private var currentQuestion: QuizQuestion? From 6c523aed6fea83f11138441f64fa8dfdc1337c22 Mon Sep 17 00:00:00 2001 From: BlanxxtyIS Date: Wed, 2 Aug 2023 10:59:28 +0300 Subject: [PATCH 09/21] =?UTF-8?q?=D0=B3=D0=BE=D1=82=D0=BE=D0=B2=D1=8B?= =?UTF-8?q?=D0=B9=20=D0=B4=D0=BB=D1=8F=20=D1=81=D0=B4=D0=B0=D1=87=D0=B8=20?= =?UTF-8?q?=D0=BD=D0=B0=206=20=D1=81=D0=BF=D1=80=D0=B8=D0=BD=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MovieQuiz.xcodeproj/project.pbxproj | 12 +++ MovieQuiz/Models/GameRecord.swift | 11 ++- MovieQuiz/Models/MostPopularMovies.swift | 36 ++++++++ MovieQuiz/Models/QuizQuestion.swift | 2 +- .../Presentation/Base.lproj/Main.storyboard | 6 ++ .../MovieQuizViewController.swift | 43 +++++++++- MovieQuiz/Services/MoviesLoader.swift | 45 ++++++++++ MovieQuiz/Services/NetworkClient.swift | 41 +++++++++ MovieQuiz/Services/QuestionFactory.swift | 83 ++++++++++++++----- .../Services/QuestionFactoryDelegate.swift | 3 +- .../Services/QuestionFactoryProtocol.swift | 3 +- README.md | 1 + 12 files changed, 254 insertions(+), 32 deletions(-) create mode 100644 MovieQuiz/Models/MostPopularMovies.swift create mode 100644 MovieQuiz/Services/MoviesLoader.swift create mode 100644 MovieQuiz/Services/NetworkClient.swift diff --git a/MovieQuiz.xcodeproj/project.pbxproj b/MovieQuiz.xcodeproj/project.pbxproj index 081c6dcd09..b1241af30a 100644 --- a/MovieQuiz.xcodeproj/project.pbxproj +++ b/MovieQuiz.xcodeproj/project.pbxproj @@ -31,6 +31,9 @@ F45010D42A67DF1100105895 /* QuizResultsViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = F45010D32A67DF1100105895 /* QuizResultsViewModel.swift */; }; F471CA812A54357F00C2E967 /* YS Display-Medium.ttf in Resources */ = {isa = PBXBuildFile; fileRef = F471CA7E2A54310300C2E967 /* YS Display-Medium.ttf */; }; F471CA822A54358300C2E967 /* YS Display-Bold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = F471CA7D2A54310300C2E967 /* YS Display-Bold.ttf */; }; + F476112E2A7983AD006C930D /* NetworkClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = F476112D2A7983AD006C930D /* NetworkClient.swift */; }; + F47611302A7991C3006C930D /* MostPopularMovies.swift in Sources */ = {isa = PBXBuildFile; fileRef = F476112F2A7991C3006C930D /* MostPopularMovies.swift */; }; + F47611322A7A24E3006C930D /* MoviesLoader.swift in Sources */ = {isa = PBXBuildFile; fileRef = F47611312A7A24E3006C930D /* MoviesLoader.swift */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -60,6 +63,9 @@ F45010D32A67DF1100105895 /* QuizResultsViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QuizResultsViewModel.swift; sourceTree = ""; }; F471CA7D2A54310300C2E967 /* YS Display-Bold.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "YS Display-Bold.ttf"; sourceTree = ""; }; F471CA7E2A54310300C2E967 /* YS Display-Medium.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "YS Display-Medium.ttf"; sourceTree = ""; }; + F476112D2A7983AD006C930D /* NetworkClient.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkClient.swift; sourceTree = ""; }; + F476112F2A7991C3006C930D /* MostPopularMovies.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MostPopularMovies.swift; sourceTree = ""; }; + F47611312A7A24E3006C930D /* MoviesLoader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MoviesLoader.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -141,6 +147,7 @@ F45010BA2A67DE4200105895 /* QuizQuestion.swift */, F45010BE2A67DE5900105895 /* AlertModel.swift */, F45010C02A67DE6700105895 /* GameRecord.swift */, + F476112F2A7991C3006C930D /* MostPopularMovies.swift */, ); path = Models; sourceTree = ""; @@ -156,6 +163,8 @@ F45010CD2A67DEC200105895 /* AlertPresenterDelegate.swift */, F45010CF2A67DECC00105895 /* StatisticService.swift */, F45010D12A67DEDD00105895 /* StatisticServiceImplementation.swift */, + F476112D2A7983AD006C930D /* NetworkClient.swift */, + F47611312A7A24E3006C930D /* MoviesLoader.swift */, ); path = Services; sourceTree = ""; @@ -254,12 +263,15 @@ F45010BD2A67DE5100105895 /* QuizStepViewModel.swift in Sources */, AD1ABAB62831907B00B3E448 /* MovieQuizViewController.swift in Sources */, F45010C62A67DE9800105895 /* QuestionFactoryProtocol.swift in Sources */, + F476112E2A7983AD006C930D /* NetworkClient.swift in Sources */, AD77F5742857F8810062FB14 /* Date+Extensions.swift in Sources */, F45010C42A67DE8500105895 /* QuestionFactory.swift in Sources */, AD1ABAB22831907B00B3E448 /* AppDelegate.swift in Sources */, F45010D22A67DEDD00105895 /* StatisticServiceImplementation.swift in Sources */, F45010BF2A67DE5900105895 /* AlertModel.swift in Sources */, + F47611322A7A24E3006C930D /* MoviesLoader.swift in Sources */, AD1ABAB42831907B00B3E448 /* SceneDelegate.swift in Sources */, + F47611302A7991C3006C930D /* MostPopularMovies.swift in Sources */, F45010D02A67DECC00105895 /* StatisticService.swift in Sources */, F45010D42A67DF1100105895 /* QuizResultsViewModel.swift in Sources */, ); diff --git a/MovieQuiz/Models/GameRecord.swift b/MovieQuiz/Models/GameRecord.swift index 3f3c13654d..2ac2f50f59 100644 --- a/MovieQuiz/Models/GameRecord.swift +++ b/MovieQuiz/Models/GameRecord.swift @@ -8,16 +8,15 @@ import Foundation struct GameRecord: Codable, Comparable { - + + //количество правильных ответов let correct: Int + //количество вопросов квиза let total: Int let date: Date - static func > (lhs: GameRecord, rhs: GameRecord) -> Bool { - return lhs.correct > rhs.correct - } - + // метод для сравнения счета на основе правильных ответов static func < (lhs: GameRecord, rhs: GameRecord) -> Bool { - return lhs.correct < rhs.correct + lhs.correct < rhs.correct } } diff --git a/MovieQuiz/Models/MostPopularMovies.swift b/MovieQuiz/Models/MostPopularMovies.swift new file mode 100644 index 0000000000..85eb96ee66 --- /dev/null +++ b/MovieQuiz/Models/MostPopularMovies.swift @@ -0,0 +1,36 @@ +// +// MostPopularMovies.swift +// MovieQuiz +// +// Created by Марат Хасанов on 01.08.2023. +// + +import Foundation + +struct MostPopularMovies: Codable { + let errorMessage: String + let items: [MostPopularMovie] +} + +struct MostPopularMovie: Codable { + let title: String + let rating: String + let imageURL: URL + + var resizedImage: URL { + let urlString = imageURL.absoluteString + + let imageURLString = urlString.components(separatedBy: "._")[0] + "._V0_UX600.jpg" + + guard let newURL = URL(string: imageURLString) else { + return imageURL + } + return newURL + } + + private enum CodingKeys: String, CodingKey { + case title = "fullTitle" + case rating = "imDbRating" + case imageURL = "image" + } +} diff --git a/MovieQuiz/Models/QuizQuestion.swift b/MovieQuiz/Models/QuizQuestion.swift index ce7cd278b8..8fef858b72 100644 --- a/MovieQuiz/Models/QuizQuestion.swift +++ b/MovieQuiz/Models/QuizQuestion.swift @@ -9,7 +9,7 @@ import Foundation //Mock-данные struct QuizQuestion { - let image: String + let image: Data let text: String let correctAnswer: Bool } diff --git a/MovieQuiz/Presentation/Base.lproj/Main.storyboard b/MovieQuiz/Presentation/Base.lproj/Main.storyboard index 2535239925..267d8a1e98 100644 --- a/MovieQuiz/Presentation/Base.lproj/Main.storyboard +++ b/MovieQuiz/Presentation/Base.lproj/Main.storyboard @@ -111,6 +111,9 @@ + + + @@ -118,10 +121,13 @@ + + + diff --git a/MovieQuiz/Presentation/MovieQuizViewController.swift b/MovieQuiz/Presentation/MovieQuizViewController.swift index c24513f472..bfd0b7259f 100644 --- a/MovieQuiz/Presentation/MovieQuizViewController.swift +++ b/MovieQuiz/Presentation/MovieQuizViewController.swift @@ -33,13 +33,14 @@ final class MovieQuizViewController: UIViewController, QuestionFactoryDelegate, print(NSHomeDirectory()) - questionFactory = QuestionFactory(delegate: self) + questionFactory = QuestionFactory(moviesLoader: MoviesLoader(), delegate: self) alertPresenter = AlertPresenter(delegate: self) statisticService = StatisticServiceImplementation() + showLoadingIndicator() screenSettings() - - questionFactory?.requestNextQuestion() + + questionFactory?.loadData() } @IBAction func noButtonClicked(_ sender: UIButton) { @@ -58,6 +59,40 @@ final class MovieQuizViewController: UIViewController, QuestionFactoryDelegate, @IBOutlet private weak var questionLabel: UILabel! @IBOutlet private weak var noButton: UIButton! @IBOutlet private weak var yesButton: UIButton! + @IBOutlet weak var activityIndicator: UIActivityIndicatorView! + + func didLoadDataFromServer() { + activityIndicator.isHidden = true + questionFactory?.requestNextQuestion() + } + + func didFailToLoadData(with error: Error) { + showNetworkError(message: error.localizedDescription) + } + //не скрыт + private func showLoadingIndicator() { + activityIndicator.isHidden = false + activityIndicator.startAnimating() + } + //скрыт + private func hideLoadingIndicator() { + activityIndicator.isHidden = true + } + + private func showNetworkError(message: String) { + hideLoadingIndicator() + + let model = AlertModel(text: "Ошибка", message: message, buttonText: "Попробовать еще раз") { [weak self] in + guard let self = self else { return } + + self.currentQuestionIndex = 0 + self.correctAnswers = 0 + + self.questionFactory?.requestNextQuestion() + } + + alertPresenter?.showAlert(model: model) + } func didReceiveNextQuestion(question: QuizQuestion?) { //MARK: guard let question = question else { @@ -153,7 +188,7 @@ final class MovieQuizViewController: UIViewController, QuestionFactoryDelegate, //Конвертация из QuizQuestions -> QuizStepViewModel func convert(model: QuizQuestion) -> QuizStepViewModel { - QuizStepViewModel(image: UIImage(named: model.image) ?? UIImage(), question: model.text, questionNumber: "\(currentQuestionIndex + 1)/\(questionAmount)") + return QuizStepViewModel(image: UIImage(data: model.image) ?? UIImage(), question: model.text, questionNumber: "\(currentQuestionIndex + 1)/\(questionAmount)") } //Меняет цвет рамки diff --git a/MovieQuiz/Services/MoviesLoader.swift b/MovieQuiz/Services/MoviesLoader.swift new file mode 100644 index 0000000000..7c7c056e99 --- /dev/null +++ b/MovieQuiz/Services/MoviesLoader.swift @@ -0,0 +1,45 @@ +// +// MoviesLoader.swift +// MovieQuiz +// +// Created by Марат Хасанов on 02.08.2023. +// + +import Foundation + +//Протокол для загрузки фильмов +protocol MoviesLoading { + func loadMovies(handler: @escaping (Result) -> Void) +} + +struct MoviesLoader: MoviesLoading { + private let networkClient = NetworkClient() + + private var mostPopularMoviesUrl: URL { + guard let url = URL(string: "https://imdb-api.com/en/API/Top250Movies/k_zcuw1ytf") else { + preconditionFailure("Unable to construct mostPopularMoviesUrl") + } + return url + } + + + + func loadMovies(handler: @escaping (Result) -> Void) { + networkClient.fetch(url: mostPopularMoviesUrl) { result in + switch result { + case .success(let data): + do { + let mostPopularMovies = try JSONDecoder().decode(MostPopularMovies.self, from: data) + handler(.success(mostPopularMovies)) + } catch { + handler(.failure(error)) + } + case .failure(let error): + handler(.failure(error)) + } + } + + + } +} + diff --git a/MovieQuiz/Services/NetworkClient.swift b/MovieQuiz/Services/NetworkClient.swift new file mode 100644 index 0000000000..6f8f25d8f5 --- /dev/null +++ b/MovieQuiz/Services/NetworkClient.swift @@ -0,0 +1,41 @@ +// +// NetworkClient.swift +// MovieQuiz +// +// Created by Марат Хасанов on 01.08.2023. +// + +import Foundation + +/// Отвечает за загрузку данных по URL +struct NetworkClient { + + private enum NetworkError: Error { + case codeError + } + + func fetch(url: URL, handler: @escaping (Result) -> Void) { + let request = URLRequest(url: url) + + let task = URLSession.shared.dataTask(with: request) { data, response, error in + // Проверяем, пришла ли ошибка + if let error = error { + handler(.failure(error)) + return + } + + // Проверяем, что нам пришёл успешный код ответа + if let response = response as? HTTPURLResponse, + response.statusCode < 200 || response.statusCode >= 300 { + handler(.failure(NetworkError.codeError)) + return + } + + // Возвращаем данные + guard let data = data else { return } + handler(.success(data)) + } + + task.resume() + } +} diff --git a/MovieQuiz/Services/QuestionFactory.swift b/MovieQuiz/Services/QuestionFactory.swift index 2a66834576..773a49144b 100644 --- a/MovieQuiz/Services/QuestionFactory.swift +++ b/MovieQuiz/Services/QuestionFactory.swift @@ -12,30 +12,75 @@ final class QuestionFactory: QuestionFactoryProtocol { private weak var delegate: QuestionFactoryDelegate? - //Mock-Данные - private let questions: [QuizQuestion] = [ - QuizQuestion(image: "The Godfather", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: true), - QuizQuestion(image: "The Dark Knight", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: true), - QuizQuestion(image: "Kill Bill", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: true), - QuizQuestion(image: "The Avengers", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: true), - QuizQuestion(image: "Deadpool", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: true), - QuizQuestion(image: "The Green Knight", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: true), - QuizQuestion(image: "Old", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: false), - QuizQuestion(image: "The Ice Age Adventures of Buck Wild", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: false), - QuizQuestion(image: "Tesla", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: false), - QuizQuestion(image: "Vivarium", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: false)] + private let moviesLoader: MoviesLoading - init(delegate: QuestionFactoryDelegate) { + private var movies: [MostPopularMovie] = [] + + init(moviesLoader: MoviesLoading, delegate: QuestionFactoryDelegate?) { self.delegate = delegate + self.moviesLoader = moviesLoader } func requestNextQuestion() { - guard let index = (0.. Float(safeQuestionRating) + let question = QuizQuestion(image: imageData, + text: text, + correctAnswer: correctAnswer) + + DispatchQueue.main.async { [weak self] in + guard let self = self else {return} + self.delegate?.didReceiveNextQuestion(question: question) + } + } + } + func loadData() { + moviesLoader.loadMovies { [weak self] result in + DispatchQueue.main.async { + guard let self = self else { return } + + switch result { + case .success(let mostPopularMovies): + self.movies = mostPopularMovies.items + self.delegate?.didLoadDataFromServer() + case .failure(let error): + self.delegate?.didFailToLoadData(with: error) + + } + } } - let question = questions[safe: index] - delegate?.didReceiveNextQuestion(question: question) } } - +//Mock-Данные +// private let questions: [QuizQuestion] = [ +// QuizQuestion(image: "The Godfather", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: true), +// QuizQuestion(image: "The Dark Knight", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: true), +// QuizQuestion(image: "Kill Bill", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: true), +// QuizQuestion(image: "The Avengers", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: true), +// QuizQuestion(image: "Deadpool", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: true), +// QuizQuestion(image: "The Green Knight", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: true), +// QuizQuestion(image: "Old", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: false), +// QuizQuestion(image: "The Ice Age Adventures of Buck Wild", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: false), +// QuizQuestion(image: "Tesla", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: false), +// QuizQuestion(image: "Vivarium", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: false)] +// +// init(delegate: QuestionFactoryDelegate) { +// self.delegate = delegate +// } diff --git a/MovieQuiz/Services/QuestionFactoryDelegate.swift b/MovieQuiz/Services/QuestionFactoryDelegate.swift index fdfa888660..a6b29b458e 100644 --- a/MovieQuiz/Services/QuestionFactoryDelegate.swift +++ b/MovieQuiz/Services/QuestionFactoryDelegate.swift @@ -8,6 +8,7 @@ import Foundation protocol QuestionFactoryDelegate: AnyObject { - func didReceiveNextQuestion(question: QuizQuestion?) + func didLoadDataFromServer() + func didFailToLoadData(with error: Error) } diff --git a/MovieQuiz/Services/QuestionFactoryProtocol.swift b/MovieQuiz/Services/QuestionFactoryProtocol.swift index d1911e4abe..91941281be 100644 --- a/MovieQuiz/Services/QuestionFactoryProtocol.swift +++ b/MovieQuiz/Services/QuestionFactoryProtocol.swift @@ -7,7 +7,8 @@ import Foundation -protocol QuestionFactoryProtocol { +protocol QuestionFactoryProtocol: QuestionFactory { func requestNextQuestion() + func loadData() } diff --git a/README.md b/README.md index 4519e3e369..28f22f06d3 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,7 @@ MovieQuiz - это приложение с квизами о фильмах из [Макет Figma](https://www.figma.com/file/l0IMG3Eys35fUrbvArtwsR/YP-Quiz?node-id=34%3A243) [API IMDb](https://imdb-api.com/api#Top250Movies-header) +k_zcuw1ytf [Шрифты](https://code.s3.yandex.net/Mobile/iOS/Fonts/MovieQuizFonts.zip) From 1244f9505dda4926732a879b23c3392a091aafbd Mon Sep 17 00:00:00 2001 From: BlanxxtyIS Date: Tue, 8 Aug 2023 09:37:02 +0300 Subject: [PATCH 10/21] =?UTF-8?q?7=20=D1=81=D0=BF=D1=80=D0=B8=D0=BD=D1=82?= =?UTF-8?q?=20=D1=81=D1=82=D0=B0=D1=80=D0=B8=D0=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MovieQuiz.xcodeproj/project.pbxproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/MovieQuiz.xcodeproj/project.pbxproj b/MovieQuiz.xcodeproj/project.pbxproj index b1241af30a..8ea8128923 100644 --- a/MovieQuiz.xcodeproj/project.pbxproj +++ b/MovieQuiz.xcodeproj/project.pbxproj @@ -419,7 +419,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = N29P9VDV4Y; + DEVELOPMENT_TEAM = 66QMN95M53; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_FILE = MovieQuiz/Resources/Info.plist; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; @@ -449,7 +449,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = N29P9VDV4Y; + DEVELOPMENT_TEAM = 66QMN95M53; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_FILE = MovieQuiz/Resources/Info.plist; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; From 8c8182d37bae8192e3eef19ec3c1857e0c4b6a9f Mon Sep 17 00:00:00 2001 From: BlanxxtyIS Date: Tue, 8 Aug 2023 09:40:08 +0300 Subject: [PATCH 11/21] =?UTF-8?q?7=20=D1=81=D0=BF=D1=80=D0=B8=D0=BD=D1=82?= =?UTF-8?q?=D0=B8=D0=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MovieQuiz/Services/QuestionFactory.swift | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/MovieQuiz/Services/QuestionFactory.swift b/MovieQuiz/Services/QuestionFactory.swift index 773a49144b..b65ed80e42 100644 --- a/MovieQuiz/Services/QuestionFactory.swift +++ b/MovieQuiz/Services/QuestionFactory.swift @@ -68,19 +68,3 @@ final class QuestionFactory: QuestionFactoryProtocol { } } } -//Mock-Данные -// private let questions: [QuizQuestion] = [ -// QuizQuestion(image: "The Godfather", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: true), -// QuizQuestion(image: "The Dark Knight", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: true), -// QuizQuestion(image: "Kill Bill", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: true), -// QuizQuestion(image: "The Avengers", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: true), -// QuizQuestion(image: "Deadpool", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: true), -// QuizQuestion(image: "The Green Knight", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: true), -// QuizQuestion(image: "Old", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: false), -// QuizQuestion(image: "The Ice Age Adventures of Buck Wild", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: false), -// QuizQuestion(image: "Tesla", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: false), -// QuizQuestion(image: "Vivarium", text: "Рейтинг этого фильма больше чем 6?", correctAnswer: false)] -// -// init(delegate: QuestionFactoryDelegate) { -// self.delegate = delegate -// } From e58e62b86bb4ed1d46433f5c06fcc2808276d4e3 Mon Sep 17 00:00:00 2001 From: BlanxxtyIS Date: Mon, 14 Aug 2023 10:05:43 +0300 Subject: [PATCH 12/21] =?UTF-8?q?=D0=A0=D0=B5=D1=84=D0=B0=D0=BA=D1=82?= =?UTF-8?q?=D0=BE=D1=80=D0=B8=D0=BD=D0=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MovieQuiz.xcodeproj/project.pbxproj | 4 +++ .../Presentation/MovieQuizPresenter.swift | 33 +++++++++++++++++++ .../MovieQuizViewController.swift | 29 ++++++++-------- 3 files changed, 50 insertions(+), 16 deletions(-) create mode 100644 MovieQuiz/Presentation/MovieQuizPresenter.swift diff --git a/MovieQuiz.xcodeproj/project.pbxproj b/MovieQuiz.xcodeproj/project.pbxproj index 8ea8128923..ad8c3d0522 100644 --- a/MovieQuiz.xcodeproj/project.pbxproj +++ b/MovieQuiz.xcodeproj/project.pbxproj @@ -34,6 +34,7 @@ F476112E2A7983AD006C930D /* NetworkClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = F476112D2A7983AD006C930D /* NetworkClient.swift */; }; F47611302A7991C3006C930D /* MostPopularMovies.swift in Sources */ = {isa = PBXBuildFile; fileRef = F476112F2A7991C3006C930D /* MostPopularMovies.swift */; }; F47611322A7A24E3006C930D /* MoviesLoader.swift in Sources */ = {isa = PBXBuildFile; fileRef = F47611312A7A24E3006C930D /* MoviesLoader.swift */; }; + F4B050CF2A8A050A00CD72CC /* MovieQuizPresenter.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4B050CE2A8A050A00CD72CC /* MovieQuizPresenter.swift */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -66,6 +67,7 @@ F476112D2A7983AD006C930D /* NetworkClient.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkClient.swift; sourceTree = ""; }; F476112F2A7991C3006C930D /* MostPopularMovies.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MostPopularMovies.swift; sourceTree = ""; }; F47611312A7A24E3006C930D /* MoviesLoader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MoviesLoader.swift; sourceTree = ""; }; + F4B050CE2A8A050A00CD72CC /* MovieQuizPresenter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MovieQuizPresenter.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -83,6 +85,7 @@ isa = PBXGroup; children = ( AD1ABAB52831907B00B3E448 /* MovieQuizViewController.swift */, + F4B050CE2A8A050A00CD72CC /* MovieQuizPresenter.swift */, AD1ABAB72831907B00B3E448 /* Main.storyboard */, ); path = Presentation; @@ -264,6 +267,7 @@ AD1ABAB62831907B00B3E448 /* MovieQuizViewController.swift in Sources */, F45010C62A67DE9800105895 /* QuestionFactoryProtocol.swift in Sources */, F476112E2A7983AD006C930D /* NetworkClient.swift in Sources */, + F4B050CF2A8A050A00CD72CC /* MovieQuizPresenter.swift in Sources */, AD77F5742857F8810062FB14 /* Date+Extensions.swift in Sources */, F45010C42A67DE8500105895 /* QuestionFactory.swift in Sources */, AD1ABAB22831907B00B3E448 /* AppDelegate.swift in Sources */, diff --git a/MovieQuiz/Presentation/MovieQuizPresenter.swift b/MovieQuiz/Presentation/MovieQuizPresenter.swift new file mode 100644 index 0000000000..5960ce0e92 --- /dev/null +++ b/MovieQuiz/Presentation/MovieQuizPresenter.swift @@ -0,0 +1,33 @@ +// +// MovieQuizPresenter.swift +// MovieQuiz +// +// Created by Марат Хасанов on 14.08.2023. +// + +import Foundation +import UIKit + +final class MovieQuizPresenter { + + private var currentQuestionIndex: Int = 0 + let questionsAmount: Int = 10 + + func isLastQuestion() -> Bool { + currentQuestionIndex == questionsAmount - 1 + } + + func resetQuestionIndex() { + currentQuestionIndex = 0 + } + + func switchToNextQuestion() { + currentQuestionIndex += 1 + } + + func convert(model: QuizQuestion) -> QuizStepViewModel { + QuizStepViewModel(image: UIImage(data: model.image) ?? UIImage(), + question: model.text, + questionNumber: "\(currentQuestionIndex + 1)/\(questionsAmount)") + } +} diff --git a/MovieQuiz/Presentation/MovieQuizViewController.swift b/MovieQuiz/Presentation/MovieQuizViewController.swift index bfd0b7259f..76e0b136ac 100644 --- a/MovieQuiz/Presentation/MovieQuizViewController.swift +++ b/MovieQuiz/Presentation/MovieQuizViewController.swift @@ -11,12 +11,12 @@ final class MovieQuizViewController: UIViewController, QuestionFactoryDelegate, } //номер текущего вопроса - private var currentQuestionIndex = 0 +// private var currentQuestionIndex = 0 //счетчик правильных ответов private var correctAnswers = 0 - private let questionAmount: Int = 10 +// private let questionAmount: Int = 10 private var questionFactory: QuestionFactoryProtocol? @@ -27,6 +27,7 @@ final class MovieQuizViewController: UIViewController, QuestionFactoryDelegate, private var currentQuestion: QuizQuestion? + private let presenter = MovieQuizPresenter() override func viewDidLoad() { super.viewDidLoad() @@ -85,7 +86,7 @@ final class MovieQuizViewController: UIViewController, QuestionFactoryDelegate, let model = AlertModel(text: "Ошибка", message: message, buttonText: "Попробовать еще раз") { [weak self] in guard let self = self else { return } - self.currentQuestionIndex = 0 + self.presenter.resetQuestionIndex() self.correctAnswers = 0 self.questionFactory?.requestNextQuestion() @@ -100,7 +101,7 @@ final class MovieQuizViewController: UIViewController, QuestionFactoryDelegate, } currentQuestion = question; - let viewModel = convert(model: question) + let viewModel = presenter.convert(model: question) DispatchQueue.main.async { [weak self] in self?.show(quiz: viewModel) @@ -109,12 +110,13 @@ final class MovieQuizViewController: UIViewController, QuestionFactoryDelegate, } func showResult() { - statisticService?.updateGameStatisticService(correct: correctAnswers, amount: questionAmount) - let gameRecord = GameRecord(correct: correctAnswers, total: questionAmount, date: Date()) + statisticService?.store(correct: correctAnswers, total: presenter.questionsAmount) + statisticService?.updateGameStatisticService(correct: correctAnswers, amount: presenter.questionsAmount) + let gameRecord = GameRecord(correct: correctAnswers, total: presenter.questionsAmount, date: Date()) if let bestGame = statisticService?.bestGame, gameRecord > bestGame { - statisticService?.store(correct: correctAnswers, total: questionAmount) + statisticService?.store(correct: correctAnswers, total: presenter.questionsAmount) } let alertModel = AlertModel( @@ -124,7 +126,7 @@ final class MovieQuizViewController: UIViewController, QuestionFactoryDelegate, completion: { [weak self] in guard let self = self else { return } - self.currentQuestionIndex = 0 + self.presenter.resetQuestionIndex() self.correctAnswers = 0 self.questionFactory?.requestNextQuestion() }) @@ -140,7 +142,7 @@ final class MovieQuizViewController: UIViewController, QuestionFactoryDelegate, return "Ошибка при формировании сообщения" } - let message = "Ваш результат: \(correctAnswers)/\(questionAmount)\n" + let message = "Ваш результат: \(correctAnswers)/\(presenter.questionsAmount)\n" .appending("Количество сыгранных квизов: \(gamesCount)\n") .appending("Рекорд: \(recordCount)/\(recordTotal) (\(recordTime))\n") .appending("Средняя точность \(String(format: "%.2f", average))%") @@ -149,10 +151,10 @@ final class MovieQuizViewController: UIViewController, QuestionFactoryDelegate, // логика перехода в один из сценариев private func showNextQuestionOrResults() { - if currentQuestionIndex == questionAmount - 1 { + if presenter.isLastQuestion() { showResult() } else { - currentQuestionIndex += 1 + presenter.switchToNextQuestion() questionFactory?.requestNextQuestion() } } @@ -186,11 +188,6 @@ final class MovieQuizViewController: UIViewController, QuestionFactoryDelegate, screenSettings() } -//Конвертация из QuizQuestions -> QuizStepViewModel - func convert(model: QuizQuestion) -> QuizStepViewModel { - return QuizStepViewModel(image: UIImage(data: model.image) ?? UIImage(), question: model.text, questionNumber: "\(currentQuestionIndex + 1)/\(questionAmount)") - } - //Меняет цвет рамки private func showAnswerResults(isCorrect: Bool) { if isCorrect { From 179704f10306c1b5cafe71d33d09c756e9b910be Mon Sep 17 00:00:00 2001 From: BlanxxtyIS Date: Mon, 14 Aug 2023 10:29:06 +0300 Subject: [PATCH 13/21] =?UTF-8?q?=D0=A0=D0=B5=D1=84=D0=B0=D0=BA=D1=82?= =?UTF-8?q?=D0=BE=D1=80=D0=B8=D0=BD=D0=B3.=20=D0=9F=D1=80=D0=BE=D0=B4?= =?UTF-8?q?=D0=BE=D0=BB=D0=B6=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=A1=D0=BF=D1=80?= =?UTF-8?q?=D0=B8=D0=BD=D1=82=207/21:=207=20=E2=86=92=20=D0=A2=D0=B5=D0=BC?= =?UTF-8?q?=D0=B0=205/6:=20=D0=A0=D0=B5=D1=84=D0=B0=D0=BA=D1=82=D0=BE?= =?UTF-8?q?=D1=80=D0=B8=D0=BD=D0=B3=20MVP=20=E2=86=92=20=D0=A3=D1=80=D0=BE?= =?UTF-8?q?=D0=BA=206/7=20=D0=9F=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D0=B8=D0=BB?= =?UTF-8?q?=D0=B8,=20=D1=87=D1=82=D0=BE=20=D0=B2=D1=81=D1=91=20=D1=80?= =?UTF-8?q?=D0=B0=D0=B1=D0=BE=D1=82=D0=B0=D0=B5=D1=82!=20=D0=97=D0=B0?= =?UTF-8?q?=D0=BA=D0=BE=D0=BC=D0=BC=D0=B8=D1=82=D0=B8=D0=BC=20=D0=B2=20Git?= =?UTF-8?q?!?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Presentation/MovieQuizPresenter.swift | 20 +++++++++++++++++++ .../MovieQuizViewController.swift | 14 +++++++------ 2 files changed, 28 insertions(+), 6 deletions(-) diff --git a/MovieQuiz/Presentation/MovieQuizPresenter.swift b/MovieQuiz/Presentation/MovieQuizPresenter.swift index 5960ce0e92..713a09acc4 100644 --- a/MovieQuiz/Presentation/MovieQuizPresenter.swift +++ b/MovieQuiz/Presentation/MovieQuizPresenter.swift @@ -12,6 +12,8 @@ final class MovieQuizPresenter { private var currentQuestionIndex: Int = 0 let questionsAmount: Int = 10 + var currentQuestion: QuizQuestion? + weak var viewController: MovieQuizViewController? func isLastQuestion() -> Bool { currentQuestionIndex == questionsAmount - 1 @@ -30,4 +32,22 @@ final class MovieQuizPresenter { question: model.text, questionNumber: "\(currentQuestionIndex + 1)/\(questionsAmount)") } + + func yesButtonClicked() { + guard let currentQuestion = currentQuestion else { + return + } + let givenAnswer = true + //setUnavailableButtons() + viewController?.showAnswerResults(isCorrect: givenAnswer == currentQuestion.correctAnswer) + } + + func noButtonClicked() { + guard let currentQuestion = currentQuestion else { + return + } + let givenAnswer = false + //setUnavailableButtons() + viewController?.showAnswerResults(isCorrect: givenAnswer == currentQuestion.correctAnswer) + } } diff --git a/MovieQuiz/Presentation/MovieQuizViewController.swift b/MovieQuiz/Presentation/MovieQuizViewController.swift index 76e0b136ac..3e4de64192 100644 --- a/MovieQuiz/Presentation/MovieQuizViewController.swift +++ b/MovieQuiz/Presentation/MovieQuizViewController.swift @@ -31,8 +31,8 @@ final class MovieQuizViewController: UIViewController, QuestionFactoryDelegate, override func viewDidLoad() { super.viewDidLoad() - - print(NSHomeDirectory()) + presenter.viewController = self + //print(NSHomeDirectory()) questionFactory = QuestionFactory(moviesLoader: MoviesLoader(), delegate: self) alertPresenter = AlertPresenter(delegate: self) @@ -45,12 +45,14 @@ final class MovieQuizViewController: UIViewController, QuestionFactoryDelegate, } @IBAction func noButtonClicked(_ sender: UIButton) { - setUnavailableButtons() - showAnswerResults(isCorrect: self.currentQuestion?.correctAnswer == false) + presenter.currentQuestion = currentQuestion + presenter.noButtonClicked() + //setUnavailableButtons() } @IBAction func yesButtonClicked(_ sender: UIButton) { setUnavailableButtons() - showAnswerResults(isCorrect: self.currentQuestion?.correctAnswer == true) + presenter.currentQuestion = currentQuestion + presenter.yesButtonClicked() } @@ -189,7 +191,7 @@ final class MovieQuizViewController: UIViewController, QuestionFactoryDelegate, } //Меняет цвет рамки - private func showAnswerResults(isCorrect: Bool) { + func showAnswerResults(isCorrect: Bool) { if isCorrect { correctAnswers += 1 } From 5189e6a50886b62433a723d37b64c58c80a8472b Mon Sep 17 00:00:00 2001 From: BlanxxtyIS Date: Mon, 14 Aug 2023 15:00:17 +0300 Subject: [PATCH 14/21] =?UTF-8?q?=D0=9F=D0=BE=D0=B4=D0=B3=D0=BE=D1=82?= =?UTF-8?q?=D0=BE=D0=B2=D0=BA=D0=B0=20=D0=BA=20=D1=81=D0=B4=D0=B0=D1=87?= =?UTF-8?q?=D0=B5=20=D0=BD=D0=B0=20=D1=80=D0=B5=D0=B2=D1=8C=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MovieQuiz.xcodeproj/project.pbxproj | 135 ++++++++++++- .../Presentation/MovieQuizPresenter.swift | 131 ++++++++++-- .../MovieQuizViewController.swift | 191 +++++++++--------- .../MovieQuizViewControllerProtocol.swift | 20 ++ .../MovieQuizPresenterTests.swift | 24 +++ 5 files changed, 395 insertions(+), 106 deletions(-) create mode 100644 MovieQuiz/Presentation/MovieQuizViewControllerProtocol.swift create mode 100644 MovieQuizPresenterTests/MovieQuizPresenterTests.swift diff --git a/MovieQuiz.xcodeproj/project.pbxproj b/MovieQuiz.xcodeproj/project.pbxproj index ad8c3d0522..21ad11df47 100644 --- a/MovieQuiz.xcodeproj/project.pbxproj +++ b/MovieQuiz.xcodeproj/project.pbxproj @@ -35,8 +35,21 @@ F47611302A7991C3006C930D /* MostPopularMovies.swift in Sources */ = {isa = PBXBuildFile; fileRef = F476112F2A7991C3006C930D /* MostPopularMovies.swift */; }; F47611322A7A24E3006C930D /* MoviesLoader.swift in Sources */ = {isa = PBXBuildFile; fileRef = F47611312A7A24E3006C930D /* MoviesLoader.swift */; }; F4B050CF2A8A050A00CD72CC /* MovieQuizPresenter.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4B050CE2A8A050A00CD72CC /* MovieQuizPresenter.swift */; }; + F4B050D12A8A4AF500CD72CC /* MovieQuizViewControllerProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4B050D02A8A4AF500CD72CC /* MovieQuizViewControllerProtocol.swift */; }; + F4B050D92A8A4B9000CD72CC /* MovieQuizPresenterTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4B050D82A8A4B9000CD72CC /* MovieQuizPresenterTests.swift */; }; + F4B050E02A8A4C0F00CD72CC /* MovieQuizViewControllerMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4B050DF2A8A4C0F00CD72CC /* MovieQuizViewControllerMock.swift */; }; /* End PBXBuildFile section */ +/* Begin PBXContainerItemProxy section */ + F4B050DA2A8A4B9000CD72CC /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = AD1ABAA62831907B00B3E448 /* Project object */; + proxyType = 1; + remoteGlobalIDString = AD1ABAAD2831907B00B3E448; + remoteInfo = MovieQuiz; + }; +/* End PBXContainerItemProxy section */ + /* Begin PBXFileReference section */ AD1ABAAE2831907B00B3E448 /* MovieQuiz.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MovieQuiz.app; sourceTree = BUILT_PRODUCTS_DIR; }; AD1ABAB12831907B00B3E448 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; @@ -68,6 +81,10 @@ F476112F2A7991C3006C930D /* MostPopularMovies.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MostPopularMovies.swift; sourceTree = ""; }; F47611312A7A24E3006C930D /* MoviesLoader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MoviesLoader.swift; sourceTree = ""; }; F4B050CE2A8A050A00CD72CC /* MovieQuizPresenter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MovieQuizPresenter.swift; sourceTree = ""; }; + F4B050D02A8A4AF500CD72CC /* MovieQuizViewControllerProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MovieQuizViewControllerProtocol.swift; sourceTree = ""; }; + F4B050D62A8A4B9000CD72CC /* MovieQuizViewControllerMock.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MovieQuizViewControllerMock.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + F4B050D82A8A4B9000CD72CC /* MovieQuizPresenterTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MovieQuizPresenterTests.swift; sourceTree = ""; }; + F4B050DF2A8A4C0F00CD72CC /* MovieQuizViewControllerMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MovieQuizViewControllerMock.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -78,6 +95,13 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + F4B050D32A8A4B9000CD72CC /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ @@ -86,6 +110,8 @@ children = ( AD1ABAB52831907B00B3E448 /* MovieQuizViewController.swift */, F4B050CE2A8A050A00CD72CC /* MovieQuizPresenter.swift */, + F4B050D02A8A4AF500CD72CC /* MovieQuizViewControllerProtocol.swift */, + F4B050DF2A8A4C0F00CD72CC /* MovieQuizViewControllerMock.swift */, AD1ABAB72831907B00B3E448 /* Main.storyboard */, ); path = Presentation; @@ -106,6 +132,7 @@ isa = PBXGroup; children = ( AD1ABAB02831907B00B3E448 /* MovieQuiz */, + F4B050D72A8A4B9000CD72CC /* MovieQuizPresenterTests */, AD1ABAAF2831907B00B3E448 /* Products */, ); sourceTree = ""; @@ -114,6 +141,7 @@ isa = PBXGroup; children = ( AD1ABAAE2831907B00B3E448 /* MovieQuiz.app */, + F4B050D62A8A4B9000CD72CC /* MovieQuizViewControllerMock.xctest */, ); name = Products; sourceTree = ""; @@ -181,6 +209,14 @@ path = MovieQuizFonts; sourceTree = ""; }; + F4B050D72A8A4B9000CD72CC /* MovieQuizPresenterTests */ = { + isa = PBXGroup; + children = ( + F4B050D82A8A4B9000CD72CC /* MovieQuizPresenterTests.swift */, + ); + path = MovieQuizPresenterTests; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -201,6 +237,24 @@ productReference = AD1ABAAE2831907B00B3E448 /* MovieQuiz.app */; productType = "com.apple.product-type.application"; }; + F4B050D52A8A4B9000CD72CC /* MovieQuizViewControllerMock */ = { + isa = PBXNativeTarget; + buildConfigurationList = F4B050DC2A8A4B9000CD72CC /* Build configuration list for PBXNativeTarget "MovieQuizViewControllerMock" */; + buildPhases = ( + F4B050D22A8A4B9000CD72CC /* Sources */, + F4B050D32A8A4B9000CD72CC /* Frameworks */, + F4B050D42A8A4B9000CD72CC /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + F4B050DB2A8A4B9000CD72CC /* PBXTargetDependency */, + ); + name = MovieQuizViewControllerMock; + productName = MovieQuizViewControllerMock; + productReference = F4B050D62A8A4B9000CD72CC /* MovieQuizViewControllerMock.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ @@ -208,13 +262,17 @@ isa = PBXProject; attributes = { BuildIndependentTargetsInParallel = 1; - LastSwiftUpdateCheck = 1330; + LastSwiftUpdateCheck = 1430; LastUpgradeCheck = 1330; ORGANIZATIONNAME = ""; TargetAttributes = { AD1ABAAD2831907B00B3E448 = { CreatedOnToolsVersion = 13.3.1; }; + F4B050D52A8A4B9000CD72CC = { + CreatedOnToolsVersion = 14.3.1; + TestTargetID = AD1ABAAD2831907B00B3E448; + }; }; }; buildConfigurationList = AD1ABAA92831907B00B3E448 /* Build configuration list for PBXProject "MovieQuiz" */; @@ -231,6 +289,7 @@ projectRoot = ""; targets = ( AD1ABAAD2831907B00B3E448 /* MovieQuiz */, + F4B050D52A8A4B9000CD72CC /* MovieQuizViewControllerMock */, ); }; /* End PBXProject section */ @@ -248,6 +307,13 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + F4B050D42A8A4B9000CD72CC /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -257,6 +323,7 @@ files = ( F45010C12A67DE6700105895 /* GameRecord.swift in Sources */, F45010CA2A67DEA900105895 /* AlertPresenter.swift in Sources */, + F4B050D12A8A4AF500CD72CC /* MovieQuizViewControllerProtocol.swift in Sources */, F45010CE2A67DEC200105895 /* AlertPresenterDelegate.swift in Sources */, AD5EE5DE284D7887003966EF /* UIColor+Extensions.swift in Sources */, AD7AFA552836189F00399704 /* Array+Extensions.swift in Sources */, @@ -265,6 +332,7 @@ F45010C82A67DEA000105895 /* QuestionFactoryDelegate.swift in Sources */, F45010BD2A67DE5100105895 /* QuizStepViewModel.swift in Sources */, AD1ABAB62831907B00B3E448 /* MovieQuizViewController.swift in Sources */, + F4B050E02A8A4C0F00CD72CC /* MovieQuizViewControllerMock.swift in Sources */, F45010C62A67DE9800105895 /* QuestionFactoryProtocol.swift in Sources */, F476112E2A7983AD006C930D /* NetworkClient.swift in Sources */, F4B050CF2A8A050A00CD72CC /* MovieQuizPresenter.swift in Sources */, @@ -281,8 +349,24 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + F4B050D22A8A4B9000CD72CC /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + F4B050D92A8A4B9000CD72CC /* MovieQuizPresenterTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXSourcesBuildPhase section */ +/* Begin PBXTargetDependency section */ + F4B050DB2A8A4B9000CD72CC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = AD1ABAAD2831907B00B3E448 /* MovieQuiz */; + targetProxy = F4B050DA2A8A4B9000CD72CC /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + /* Begin PBXVariantGroup section */ AD1ABAB72831907B00B3E448 /* Main.storyboard */ = { isa = PBXVariantGroup; @@ -477,6 +561,46 @@ }; name = Release; }; + F4B050DD2A8A4B9000CD72CC /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = 66QMN95M53; + GENERATE_INFOPLIST_FILE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 16.4; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = ru.yandex.practicum.MovieQuizViewControllerMock; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MovieQuiz.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/MovieQuiz"; + }; + name = Debug; + }; + F4B050DE2A8A4B9000CD72CC /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = 66QMN95M53; + GENERATE_INFOPLIST_FILE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 16.4; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = ru.yandex.practicum.MovieQuizViewControllerMock; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MovieQuiz.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/MovieQuiz"; + }; + name = Release; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -498,6 +622,15 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + F4B050DC2A8A4B9000CD72CC /* Build configuration list for PBXNativeTarget "MovieQuizViewControllerMock" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + F4B050DD2A8A4B9000CD72CC /* Debug */, + F4B050DE2A8A4B9000CD72CC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; /* End XCConfigurationList section */ }; rootObject = AD1ABAA62831907B00B3E448 /* Project object */; diff --git a/MovieQuiz/Presentation/MovieQuizPresenter.swift b/MovieQuiz/Presentation/MovieQuizPresenter.swift index 713a09acc4..55f9ab61e3 100644 --- a/MovieQuiz/Presentation/MovieQuizPresenter.swift +++ b/MovieQuiz/Presentation/MovieQuizPresenter.swift @@ -8,13 +8,68 @@ import Foundation import UIKit -final class MovieQuizPresenter { +final class MovieQuizPresenter: QuestionFactoryDelegate { - private var currentQuestionIndex: Int = 0 - let questionsAmount: Int = 10 - var currentQuestion: QuizQuestion? + private let statisticService: StatisticService! + private var questionFactory: QuestionFactoryProtocol? weak var viewController: MovieQuizViewController? + private var currentQuestion: QuizQuestion? + let questionsAmount: Int = 10 + private var currentQuestionIndex: Int = 0 + var correctAnswers: Int = 0 + + init(viewController: MovieQuizViewController) { + self.viewController = viewController + + statisticService = StatisticServiceImplementation() + + questionFactory = QuestionFactory(moviesLoader: MoviesLoader(), delegate: self) + questionFactory?.loadData() + viewController.showLoadingIndicator() + } + + //MARK: - QuestionFactoryDelegate + func makeResultsMessage() -> String { + statisticService.store(correct: correctAnswers, total: questionsAmount) + + let bestGame = statisticService.bestGame + + let totalPlaysCountLine = "Количество сыгранных квизов: \(statisticService.gamesCount)" + let currentGameResultLine = "Ваш результат: \(correctAnswers)\\\(questionsAmount)" + let bestGameInfoLine = "Рекорд: \(bestGame.correct)\\\(bestGame.total)" + + " (\(bestGame.date.dateTimeString))" + let averageAccuracyLine = "Средняя точность: \(String(format: "%.2f", statisticService.totalAccuracy))%" + + let resultMessage = [ + currentGameResultLine, totalPlaysCountLine, bestGameInfoLine, averageAccuracyLine + ].joined(separator: "\n") + + return resultMessage + } + + func didLoadDataFromServer() { + viewController?.hideLoadingIndicator() + questionFactory?.requestNextQuestion() + } + + func didFailToLoadData(with error: Error) { + let message = error.localizedDescription + viewController?.showNetworkError(message: message) + } + + func didReceiveNextQuestion(question: QuizQuestion?) { + guard let question = question else { + return + } + + currentQuestion = question + let viewModel = convert(model: question) + DispatchQueue.main.async { [weak self] in + self?.viewController?.show(quiz: viewModel) + } + } + func isLastQuestion() -> Bool { currentQuestionIndex == questionsAmount - 1 } @@ -34,20 +89,72 @@ final class MovieQuizPresenter { } func yesButtonClicked() { + didAnswer(isYes: true) + } + + func noButtonClicked() { + didAnswer(isYes: false) + } + + func didAnswer(isCorrectAnswer: Bool) { + if isCorrectAnswer { + correctAnswers += 1 + } + } + + func restartGame() { + currentQuestionIndex = 0 + correctAnswers = 0 + questionFactory?.requestNextQuestion() + } + + private func didAnswer(isYes: Bool) { guard let currentQuestion = currentQuestion else { return } - let givenAnswer = true - //setUnavailableButtons() - viewController?.showAnswerResults(isCorrect: givenAnswer == currentQuestion.correctAnswer) + + let givenAnswer = isYes + proceedWithAnswer(isCorrect: givenAnswer == currentQuestion.correctAnswer) } - func noButtonClicked() { - guard let currentQuestion = currentQuestion else { + func didRecieveNextQuestion(question: QuizQuestion?) { + guard let question = question else { return } - let givenAnswer = false - //setUnavailableButtons() - viewController?.showAnswerResults(isCorrect: givenAnswer == currentQuestion.correctAnswer) + + currentQuestion = question + let viewModel = convert(model: question) + DispatchQueue.main.async { + [weak self] in + self?.viewController?.show(quiz: viewModel) + } + } + + func proceedWithAnswer(isCorrect: Bool) { + didAnswer(isCorrectAnswer: isCorrect) + + viewController?.highlightImageBorder(isCorrectAnswer: isCorrect) + + DispatchQueue.main.asyncAfter(deadline: .now() + 1.0) { [weak self] in + guard let self = self else { return } + self.proceedToNextQuestionOrResults() + } + } + + func proceedToNextQuestionOrResults() { + if self.isLastQuestion() { + let text = correctAnswers == self.questionsAmount ? + "Поздравляем, вы ответили на 10 из 10!" : + "Вы ответили на \(correctAnswers) из 10, попробуйте ещё раз!" + + let viewModel = QuizResultsViewModel( + title: "Этот раунд окончен!", + text: text, + buttonText: "Сыграть ещё раз") + viewController?.show(quiz: viewModel) + } else { + self.switchToNextQuestion() + questionFactory?.requestNextQuestion() + } } } diff --git a/MovieQuiz/Presentation/MovieQuizViewController.swift b/MovieQuiz/Presentation/MovieQuizViewController.swift index 3e4de64192..a0eed17801 100644 --- a/MovieQuiz/Presentation/MovieQuizViewController.swift +++ b/MovieQuiz/Presentation/MovieQuizViewController.swift @@ -1,6 +1,7 @@ import UIKit -final class MovieQuizViewController: UIViewController, QuestionFactoryDelegate, AlertPresenterDelegate { +final class MovieQuizViewController: UIViewController, AlertPresenterDelegate, MovieQuizViewControllerProtocol { + // MARK: - Lifecycle //Типы на экране @@ -10,48 +11,36 @@ final class MovieQuizViewController: UIViewController, QuestionFactoryDelegate, let questionNumber: String } - //номер текущего вопроса -// private var currentQuestionIndex = 0 - - //счетчик правильных ответов - private var correctAnswers = 0 - -// private let questionAmount: Int = 10 - - private var questionFactory: QuestionFactoryProtocol? + var alertPresenter: AlertPresenterProtocol? - private var alertPresenter: AlertPresenterProtocol? + var statisticService: StatisticService? + var currentQuestion: QuizQuestion? - private var statisticService: StatisticService? + private var presenter: MovieQuizPresenter! - private var currentQuestion: QuizQuestion? - - private let presenter = MovieQuizPresenter() - override func viewDidLoad() { super.viewDidLoad() - presenter.viewController = self - //print(NSHomeDirectory()) - questionFactory = QuestionFactory(moviesLoader: MoviesLoader(), delegate: self) + presenter = MovieQuizPresenter(viewController: self) + + presenter.viewController = self + alertPresenter = AlertPresenter(delegate: self) + statisticService = StatisticServiceImplementation() + showLoadingIndicator() screenSettings() - - questionFactory?.loadData() } @IBAction func noButtonClicked(_ sender: UIButton) { - presenter.currentQuestion = currentQuestion presenter.noButtonClicked() //setUnavailableButtons() } @IBAction func yesButtonClicked(_ sender: UIButton) { - setUnavailableButtons() - presenter.currentQuestion = currentQuestion + //setUnavailableButtons() presenter.yesButtonClicked() } @@ -64,61 +53,62 @@ final class MovieQuizViewController: UIViewController, QuestionFactoryDelegate, @IBOutlet private weak var yesButton: UIButton! @IBOutlet weak var activityIndicator: UIActivityIndicatorView! - func didLoadDataFromServer() { - activityIndicator.isHidden = true - questionFactory?.requestNextQuestion() - } + // func didLoadDataFromServer() { + // activityIndicator.isHidden = true + // questionFactory?.requestNextQuestion() + // } + // + // func didFailToLoadData(with error: Error) { + // showNetworkError(message: error.localizedDescription) + // } - func didFailToLoadData(with error: Error) { - showNetworkError(message: error.localizedDescription) - } //не скрыт - private func showLoadingIndicator() { + func showLoadingIndicator() { activityIndicator.isHidden = false activityIndicator.startAnimating() } //скрыт - private func hideLoadingIndicator() { + func hideLoadingIndicator() { activityIndicator.isHidden = true } - private func showNetworkError(message: String) { + func showNetworkError(message: String) { hideLoadingIndicator() - let model = AlertModel(text: "Ошибка", message: message, buttonText: "Попробовать еще раз") { [weak self] in + let alert = UIAlertController(title: "Ошибка", message: message, preferredStyle: .alert) + + let action = UIAlertAction(title: "Попробовать еще раз", style: .default) { [weak self] _ in guard let self = self else { return } - - self.presenter.resetQuestionIndex() - self.correctAnswers = 0 - - self.questionFactory?.requestNextQuestion() + self.presenter.restartGame() } - - alertPresenter?.showAlert(model: model) + alert.addAction(action) } - - func didReceiveNextQuestion(question: QuizQuestion?) { //MARK: - guard let question = question else { - return - } - - currentQuestion = question; - let viewModel = presenter.convert(model: question) + - DispatchQueue.main.async { [weak self] in - self?.show(quiz: viewModel) - } - show(quiz: viewModel) - } +// let model = AlertModel(text: "Ошибка", message: message, buttonText: "Попробовать еще раз") { [weak self] in +// guard let self = self else { return } +// +// self.presenter.resetQuestionIndex() +// self.presenter.correctAnswers = 0 +// +// self.presenter.restartGame() +// } +// +// alertPresenter?.showAlert(model: model) +// } + +// func didReceiveNextQuestion(question: QuizQuestion?) { +// presenter.didRecieveNextQuestion(question: question) +// } func showResult() { - statisticService?.store(correct: correctAnswers, total: presenter.questionsAmount) - statisticService?.updateGameStatisticService(correct: correctAnswers, amount: presenter.questionsAmount) - let gameRecord = GameRecord(correct: correctAnswers, total: presenter.questionsAmount, date: Date()) + //statisticService?.store(correct: correctAnswers, total: presenter.questionsAmount) + statisticService?.updateGameStatisticService(correct: presenter.correctAnswers, amount: presenter.questionsAmount) + let gameRecord = GameRecord(correct: presenter.correctAnswers, total: presenter.questionsAmount, date: Date()) if let bestGame = statisticService?.bestGame, gameRecord > bestGame { - statisticService?.store(correct: correctAnswers, total: presenter.questionsAmount) + statisticService?.store(correct: presenter.correctAnswers, total: presenter.questionsAmount) } let alertModel = AlertModel( @@ -129,8 +119,9 @@ final class MovieQuizViewController: UIViewController, QuestionFactoryDelegate, guard let self = self else { return } self.presenter.resetQuestionIndex() - self.correctAnswers = 0 - self.questionFactory?.requestNextQuestion() + self.presenter.correctAnswers = 0 + ///1111/self.questionFactory?.requestNextQuestion() + self.presenter.restartGame() }) alertPresenter?.showAlert(model: alertModel) } @@ -144,7 +135,7 @@ final class MovieQuizViewController: UIViewController, QuestionFactoryDelegate, return "Ошибка при формировании сообщения" } - let message = "Ваш результат: \(correctAnswers)/\(presenter.questionsAmount)\n" + let message = "Ваш результат: \(presenter.correctAnswers)\\\(presenter.questionsAmount)\n" .appending("Количество сыгранных квизов: \(gamesCount)\n") .appending("Рекорд: \(recordCount)/\(recordTotal) (\(recordTime))\n") .appending("Средняя точность \(String(format: "%.2f", average))%") @@ -152,14 +143,16 @@ final class MovieQuizViewController: UIViewController, QuestionFactoryDelegate, } // логика перехода в один из сценариев - private func showNextQuestionOrResults() { - if presenter.isLastQuestion() { - showResult() - } else { - presenter.switchToNextQuestion() - questionFactory?.requestNextQuestion() - } - } +// private func showNextQuestionOrResults() { +// if presenter.isLastQuestion() { +// let text = "Вы ответили на \(presenter.correctAnswers) из 10, попробуйте еще раз!" +// showResult() +// } else { +// presenter.switchToNextQuestion() +// //111111/questionFactory?.requestNextQuestion() +// presenter.restartGame() +// } +// } private func buttonsIsDisabled(){ noButton.isEnabled = false @@ -171,41 +164,53 @@ final class MovieQuizViewController: UIViewController, QuestionFactoryDelegate, yesButton.isEnabled = true } -// //Приватный метод вывода на экран вопроса, который принимает на вход вью модель вопроса -// func show(quiz result: QuizResultsViewModel) { -// let alert = UIAlertController(title: result.title, message: result.text, preferredStyle: .alert) -// let action = UIAlertAction(title: result.buttonText, style: .default){_ in -// self.currentQuestionIndex = 0 + //Приватный метод вывода на экран вопроса, который принимает на вход вью модель вопроса + func show(quiz result: QuizResultsViewModel) { + let message = presenter.makeResultsMessage() + + let alert = UIAlertController( + title: result.title, + message: result.text, + preferredStyle: .alert) + + let action = UIAlertAction( + title: result.buttonText, + style: .default){ [weak self] _ in + guard let self = self else { return } + self.presenter.restartGame() +// self.presenter.currentQuestionIndex = 0 // self.correctAnswers = 0 // self.show(quiz: self.convert(model: self.questions[self.currentQuestionIndex])) -// } -// alert.addAction(action) -// self.present(alert, animated: true) -// } -// + } + alert.addAction(action) + self.present(alert, animated: true, completion: nil) + } + func show(quiz step: QuizStepViewModel) { + imageViev.layer.borderColor = UIColor.clear.cgColor imageViev.image = step.image textLabel.text = step.question indexLabel.text = step.questionNumber screenSettings() } - //Меняет цвет рамки - func showAnswerResults(isCorrect: Bool) { - if isCorrect { - correctAnswers += 1 - } + func highlightImageBorder(isCorrectAnswer: Bool) { imageViev.layer.masksToBounds = true imageViev.layer.borderWidth = 8 - imageViev.layer.borderColor = isCorrect ? UIColor.ypGreen.cgColor : UIColor.ypRed.cgColor - - DispatchQueue.main.asyncAfter(deadline: .now() + 1.0) { [weak self] in - guard let self = self else { return } - self.showNextQuestionOrResults() - self.setAvailableButtons() - } + imageViev.layer.borderColor = isCorrectAnswer ? UIColor.ypGreen.cgColor : UIColor.ypRed.cgColor } - // Доступность кнопок + + //Меняет цвет рамки +// func showAnswerResults(isCorrect: Bool) { +// +// presenter.didAnswer(isYes: isCorrect) +// viewController?.highlightImageBorder(isCorrectAnswer: isCorrect) +// DispatchQueue.main.asyncAfter(deadline: .now() + 1.0) { [weak self] in +// guard let self = self else { return } +// self.showNextQuestionOrResults() +// } +// } + private func setUnavailableButtons() { noButton.isUserInteractionEnabled = false yesButton.isUserInteractionEnabled = false diff --git a/MovieQuiz/Presentation/MovieQuizViewControllerProtocol.swift b/MovieQuiz/Presentation/MovieQuizViewControllerProtocol.swift new file mode 100644 index 0000000000..19c054a064 --- /dev/null +++ b/MovieQuiz/Presentation/MovieQuizViewControllerProtocol.swift @@ -0,0 +1,20 @@ +// +// MovieQuizViewControllerProtocol.swift +// MovieQuiz +// +// Created by Марат Хасанов on 14.08.2023. +// + +import Foundation + +protocol MovieQuizViewControllerProtocol: AnyObject { + func show(quiz step: QuizStepViewModel) + func show(quiz result: QuizResultsViewModel) + + func highlightImageBorder(isCorrectAnswer: Bool) + + func showLoadingIndicator() + func hideLoadingIndicator() + + func showNetworkError(message: String) +} diff --git a/MovieQuizPresenterTests/MovieQuizPresenterTests.swift b/MovieQuizPresenterTests/MovieQuizPresenterTests.swift new file mode 100644 index 0000000000..b4100d9057 --- /dev/null +++ b/MovieQuizPresenterTests/MovieQuizPresenterTests.swift @@ -0,0 +1,24 @@ +// +// MovieQuizViewControllerMock.swift +// MovieQuizViewControllerMock +// +// Created by Марат Хасанов on 14.08.2023. +// + +import XCTest +@testable import MovieQuiz + +final class MovieQuizPresenterTests: XCTestCase { + func testPresenterConvertModel() throws { + let viewControllerMock = MovieQuizViewControllerMock() + let sut = MovieQuizPresenter(viewController: viewControllerMock) + + let emptyData = Data() + let question = QuizQuestion(image: emptyData, text: "Question Text", correctAnswer: true) + let viewModel = sut.convert(model: question) + + XCTAssertNotNil(viewModel.image) + XCTAssertEqual(viewModel.question, "Question Text") + XCTAssertEqual(viewModel.questionNumber, "1/10") + } +} From 1490d33ca6c2c3edd35bb76e4d4608eb6f3a1564 Mon Sep 17 00:00:00 2001 From: BlanxxtyIS Date: Tue, 15 Aug 2023 09:26:43 +0300 Subject: [PATCH 15/21] =?UTF-8?q?=D0=A1=D0=B4=D0=B0=D1=87=D0=B0=20=D0=BD?= =?UTF-8?q?=D0=B0=20=D1=80=D0=B5=D0=B2=D1=8C=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ArrayTests/ArrayTests.swift | 29 + ArrayTests/MoviesLoaderTests.swift | 52 ++ MovieQuiz.xcodeproj/project.pbxproj | 581 +++++++++++++++++- .../Presentation/Base.lproj/Main.storyboard | 2 + MovieQuiz/Services/MoviesLoader.swift | 4 - MovieQuiz/Services/NetworkClient.swift | 6 +- MovieQuiz/Services/StubsNetworkClient.swift | 59 ++ MovieQuizUITests/MovieQuizUITests.swift | 92 +++ .../MovieQuizViewControllerMock.swift | 50 ++ 9 files changed, 866 insertions(+), 9 deletions(-) create mode 100644 ArrayTests/ArrayTests.swift create mode 100644 ArrayTests/MoviesLoaderTests.swift create mode 100644 MovieQuiz/Services/StubsNetworkClient.swift create mode 100644 MovieQuizUITests/MovieQuizUITests.swift create mode 100644 MovieQuizViewControllerMock/MovieQuizViewControllerMock.swift diff --git a/ArrayTests/ArrayTests.swift b/ArrayTests/ArrayTests.swift new file mode 100644 index 0000000000..4c5ef70360 --- /dev/null +++ b/ArrayTests/ArrayTests.swift @@ -0,0 +1,29 @@ +// +// ArrayTests.swift +// ArrayTests +// +// Created by Марат Хасанов on 14.08.2023. +// + +import XCTest +import Foundation + +@testable import MovieQuiz + +class ArrayTests: XCTestCase { + func testGetValueInRange() throws { + let array = [1, 1, 2, 3, 5] + + let value = array[safe: 2] + + XCTAssertNotNil(value) + XCTAssertEqual(value, 2) + } + func testGetValueOutOfRange() throws { + let array = [1, 1, 2, 3, 5] + + let value = array[safe: 20] + + XCTAssertNotNil(value) + } +} diff --git a/ArrayTests/MoviesLoaderTests.swift b/ArrayTests/MoviesLoaderTests.swift new file mode 100644 index 0000000000..7faa208e01 --- /dev/null +++ b/ArrayTests/MoviesLoaderTests.swift @@ -0,0 +1,52 @@ +// +// MoviesLoaderTests.swift +// MoviesLoaderTests +// +// Created by Марат Хасанов on 14.08.2023. +// + +import XCTest +import Foundation + +@testable import MovieQuiz + +class MoviesLoaderTests: XCTestCase { + func testSuccessLoading() throws { + + let stubNetworkClient = StubNetworkClient(emulateError: false) + let loader = MoviesLoader() + + let expectation = expectation(description: "Loading expectation") + + loader.loadMovies { result in + switch result { + case .success(let movies): + + XCTAssertEqual(movies.items.count, 2) + expectation.fulfill() + case .failure(_): + XCTFail("Unexpected failure") + } + } + + waitForExpectations(timeout: 1) + } + + func testFailureLoading() throws { + let stubNetworkClient = StubNetworkClient(emulateError: true) + let loader = MoviesLoader() + + let expectation = expectation(description: "Loading expectation") + + loader.loadMovies { result in + switch result { + case .failure(let error): + XCTAssertNotNil(error) + expectation.fulfill() + case .success(_): + XCTFail("Unexpected failure") + } + } + waitForExpectations(timeout: 1) + } +} diff --git a/MovieQuiz.xcodeproj/project.pbxproj b/MovieQuiz.xcodeproj/project.pbxproj index 21ad11df47..e898753ecf 100644 --- a/MovieQuiz.xcodeproj/project.pbxproj +++ b/MovieQuiz.xcodeproj/project.pbxproj @@ -37,7 +37,11 @@ F4B050CF2A8A050A00CD72CC /* MovieQuizPresenter.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4B050CE2A8A050A00CD72CC /* MovieQuizPresenter.swift */; }; F4B050D12A8A4AF500CD72CC /* MovieQuizViewControllerProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4B050D02A8A4AF500CD72CC /* MovieQuizViewControllerProtocol.swift */; }; F4B050D92A8A4B9000CD72CC /* MovieQuizPresenterTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4B050D82A8A4B9000CD72CC /* MovieQuizPresenterTests.swift */; }; - F4B050E02A8A4C0F00CD72CC /* MovieQuizViewControllerMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4B050DF2A8A4C0F00CD72CC /* MovieQuizViewControllerMock.swift */; }; + F4B050F52A8A9E9B00CD72CC /* ArrayTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4B050F42A8A9E9B00CD72CC /* ArrayTests.swift */; }; + F4B051082A8A9FF400CD72CC /* MoviesLoaderTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4B051012A8A9FF100CD72CC /* MoviesLoaderTests.swift */; }; + F4B0510E2A8AA26F00CD72CC /* StubsNetworkClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4B0510D2A8AA26F00CD72CC /* StubsNetworkClient.swift */; }; + F4B051162A8AA2E300CD72CC /* MovieQuizUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4B051152A8AA2E300CD72CC /* MovieQuizUITests.swift */; }; + F4B051252A8AA50900CD72CC /* MovieQuizViewControllerMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4B051242A8AA50900CD72CC /* MovieQuizViewControllerMock.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -48,6 +52,41 @@ remoteGlobalIDString = AD1ABAAD2831907B00B3E448; remoteInfo = MovieQuiz; }; + F4B050E92A8A9E3400CD72CC /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = AD1ABAA62831907B00B3E448 /* Project object */; + proxyType = 1; + remoteGlobalIDString = AD1ABAAD2831907B00B3E448; + remoteInfo = MovieQuiz; + }; + F4B050F62A8A9E9B00CD72CC /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = AD1ABAA62831907B00B3E448 /* Project object */; + proxyType = 1; + remoteGlobalIDString = AD1ABAAD2831907B00B3E448; + remoteInfo = MovieQuiz; + }; + F4B051032A8A9FF100CD72CC /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = AD1ABAA62831907B00B3E448 /* Project object */; + proxyType = 1; + remoteGlobalIDString = AD1ABAAD2831907B00B3E448; + remoteInfo = MovieQuiz; + }; + F4B051192A8AA2E300CD72CC /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = AD1ABAA62831907B00B3E448 /* Project object */; + proxyType = 1; + remoteGlobalIDString = AD1ABAAD2831907B00B3E448; + remoteInfo = MovieQuiz; + }; + F4B051262A8AA50900CD72CC /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = AD1ABAA62831907B00B3E448 /* Project object */; + proxyType = 1; + remoteGlobalIDString = AD1ABAAD2831907B00B3E448; + remoteInfo = MovieQuiz; + }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ @@ -84,7 +123,16 @@ F4B050D02A8A4AF500CD72CC /* MovieQuizViewControllerProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MovieQuizViewControllerProtocol.swift; sourceTree = ""; }; F4B050D62A8A4B9000CD72CC /* MovieQuizViewControllerMock.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MovieQuizViewControllerMock.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; F4B050D82A8A4B9000CD72CC /* MovieQuizPresenterTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MovieQuizPresenterTests.swift; sourceTree = ""; }; - F4B050DF2A8A4C0F00CD72CC /* MovieQuizViewControllerMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MovieQuizViewControllerMock.swift; sourceTree = ""; }; + F4B050E52A8A9E3400CD72CC /* MovieQuizTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MovieQuizTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + F4B050F22A8A9E9B00CD72CC /* ArrayTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ArrayTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + F4B050F42A8A9E9B00CD72CC /* ArrayTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArrayTests.swift; sourceTree = ""; }; + F4B050FF2A8A9FF100CD72CC /* MoviesLoaderTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MoviesLoaderTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + F4B051012A8A9FF100CD72CC /* MoviesLoaderTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MoviesLoaderTests.swift; sourceTree = ""; }; + F4B0510D2A8AA26F00CD72CC /* StubsNetworkClient.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StubsNetworkClient.swift; sourceTree = ""; }; + F4B051132A8AA2E300CD72CC /* MovieQuizUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MovieQuizUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + F4B051152A8AA2E300CD72CC /* MovieQuizUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MovieQuizUITests.swift; sourceTree = ""; }; + F4B051222A8AA50900CD72CC /* MovieQuizViewControllerMock11.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MovieQuizViewControllerMock11.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + F4B051242A8AA50900CD72CC /* MovieQuizViewControllerMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MovieQuizViewControllerMock.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -102,6 +150,41 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + F4B050E22A8A9E3400CD72CC /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + F4B050EF2A8A9E9B00CD72CC /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + F4B050FC2A8A9FF100CD72CC /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + F4B051102A8AA2E300CD72CC /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + F4B0511F2A8AA50900CD72CC /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ @@ -111,7 +194,6 @@ AD1ABAB52831907B00B3E448 /* MovieQuizViewController.swift */, F4B050CE2A8A050A00CD72CC /* MovieQuizPresenter.swift */, F4B050D02A8A4AF500CD72CC /* MovieQuizViewControllerProtocol.swift */, - F4B050DF2A8A4C0F00CD72CC /* MovieQuizViewControllerMock.swift */, AD1ABAB72831907B00B3E448 /* Main.storyboard */, ); path = Presentation; @@ -133,6 +215,9 @@ children = ( AD1ABAB02831907B00B3E448 /* MovieQuiz */, F4B050D72A8A4B9000CD72CC /* MovieQuizPresenterTests */, + F4B050F32A8A9E9B00CD72CC /* ArrayTests */, + F4B051142A8AA2E300CD72CC /* MovieQuizUITests */, + F4B051232A8AA50900CD72CC /* MovieQuizViewControllerMock */, AD1ABAAF2831907B00B3E448 /* Products */, ); sourceTree = ""; @@ -142,6 +227,11 @@ children = ( AD1ABAAE2831907B00B3E448 /* MovieQuiz.app */, F4B050D62A8A4B9000CD72CC /* MovieQuizViewControllerMock.xctest */, + F4B050E52A8A9E3400CD72CC /* MovieQuizTests.xctest */, + F4B050F22A8A9E9B00CD72CC /* ArrayTests.xctest */, + F4B050FF2A8A9FF100CD72CC /* MoviesLoaderTests.xctest */, + F4B051132A8AA2E300CD72CC /* MovieQuizUITests.xctest */, + F4B051222A8AA50900CD72CC /* MovieQuizViewControllerMock11.xctest */, ); name = Products; sourceTree = ""; @@ -196,6 +286,7 @@ F45010D12A67DEDD00105895 /* StatisticServiceImplementation.swift */, F476112D2A7983AD006C930D /* NetworkClient.swift */, F47611312A7A24E3006C930D /* MoviesLoader.swift */, + F4B0510D2A8AA26F00CD72CC /* StubsNetworkClient.swift */, ); path = Services; sourceTree = ""; @@ -217,6 +308,31 @@ path = MovieQuizPresenterTests; sourceTree = ""; }; + F4B050F32A8A9E9B00CD72CC /* ArrayTests */ = { + isa = PBXGroup; + children = ( + F4B051012A8A9FF100CD72CC /* MoviesLoaderTests.swift */, + F4B050F42A8A9E9B00CD72CC /* ArrayTests.swift */, + ); + path = ArrayTests; + sourceTree = ""; + }; + F4B051142A8AA2E300CD72CC /* MovieQuizUITests */ = { + isa = PBXGroup; + children = ( + F4B051152A8AA2E300CD72CC /* MovieQuizUITests.swift */, + ); + path = MovieQuizUITests; + sourceTree = ""; + }; + F4B051232A8AA50900CD72CC /* MovieQuizViewControllerMock */ = { + isa = PBXGroup; + children = ( + F4B051242A8AA50900CD72CC /* MovieQuizViewControllerMock.swift */, + ); + path = MovieQuizViewControllerMock; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -255,6 +371,96 @@ productReference = F4B050D62A8A4B9000CD72CC /* MovieQuizViewControllerMock.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; + F4B050E42A8A9E3400CD72CC /* MovieQuizTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = F4B050EB2A8A9E3400CD72CC /* Build configuration list for PBXNativeTarget "MovieQuizTests" */; + buildPhases = ( + F4B050E12A8A9E3400CD72CC /* Sources */, + F4B050E22A8A9E3400CD72CC /* Frameworks */, + F4B050E32A8A9E3400CD72CC /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + F4B050EA2A8A9E3400CD72CC /* PBXTargetDependency */, + ); + name = MovieQuizTests; + productName = MovieQuizTests; + productReference = F4B050E52A8A9E3400CD72CC /* MovieQuizTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + F4B050F12A8A9E9B00CD72CC /* ArrayTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = F4B050F82A8A9E9B00CD72CC /* Build configuration list for PBXNativeTarget "ArrayTests" */; + buildPhases = ( + F4B050EE2A8A9E9B00CD72CC /* Sources */, + F4B050EF2A8A9E9B00CD72CC /* Frameworks */, + F4B050F02A8A9E9B00CD72CC /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + F4B050F72A8A9E9B00CD72CC /* PBXTargetDependency */, + ); + name = ArrayTests; + productName = ArrayTests; + productReference = F4B050F22A8A9E9B00CD72CC /* ArrayTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + F4B050FE2A8A9FF100CD72CC /* MoviesLoaderTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = F4B051052A8A9FF100CD72CC /* Build configuration list for PBXNativeTarget "MoviesLoaderTests" */; + buildPhases = ( + F4B050FB2A8A9FF100CD72CC /* Sources */, + F4B050FC2A8A9FF100CD72CC /* Frameworks */, + F4B050FD2A8A9FF100CD72CC /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + F4B051042A8A9FF100CD72CC /* PBXTargetDependency */, + ); + name = MoviesLoaderTests; + productName = MoviesLoaderTests; + productReference = F4B050FF2A8A9FF100CD72CC /* MoviesLoaderTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + F4B051122A8AA2E300CD72CC /* MovieQuizUITests */ = { + isa = PBXNativeTarget; + buildConfigurationList = F4B0511B2A8AA2E300CD72CC /* Build configuration list for PBXNativeTarget "MovieQuizUITests" */; + buildPhases = ( + F4B0510F2A8AA2E300CD72CC /* Sources */, + F4B051102A8AA2E300CD72CC /* Frameworks */, + F4B051112A8AA2E300CD72CC /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + F4B0511A2A8AA2E300CD72CC /* PBXTargetDependency */, + ); + name = MovieQuizUITests; + productName = MovieQuizUITests; + productReference = F4B051132A8AA2E300CD72CC /* MovieQuizUITests.xctest */; + productType = "com.apple.product-type.bundle.ui-testing"; + }; + F4B051212A8AA50900CD72CC /* MovieQuizViewControllerMock11 */ = { + isa = PBXNativeTarget; + buildConfigurationList = F4B051282A8AA50900CD72CC /* Build configuration list for PBXNativeTarget "MovieQuizViewControllerMock11" */; + buildPhases = ( + F4B0511E2A8AA50900CD72CC /* Sources */, + F4B0511F2A8AA50900CD72CC /* Frameworks */, + F4B051202A8AA50900CD72CC /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + F4B051272A8AA50900CD72CC /* PBXTargetDependency */, + ); + name = MovieQuizViewControllerMock11; + productName = MovieQuizViewControllerMock11; + productReference = F4B051222A8AA50900CD72CC /* MovieQuizViewControllerMock11.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ @@ -273,6 +479,26 @@ CreatedOnToolsVersion = 14.3.1; TestTargetID = AD1ABAAD2831907B00B3E448; }; + F4B050E42A8A9E3400CD72CC = { + CreatedOnToolsVersion = 14.3.1; + TestTargetID = AD1ABAAD2831907B00B3E448; + }; + F4B050F12A8A9E9B00CD72CC = { + CreatedOnToolsVersion = 14.3.1; + TestTargetID = AD1ABAAD2831907B00B3E448; + }; + F4B050FE2A8A9FF100CD72CC = { + CreatedOnToolsVersion = 14.3.1; + TestTargetID = AD1ABAAD2831907B00B3E448; + }; + F4B051122A8AA2E300CD72CC = { + CreatedOnToolsVersion = 14.3.1; + TestTargetID = AD1ABAAD2831907B00B3E448; + }; + F4B051212A8AA50900CD72CC = { + CreatedOnToolsVersion = 14.3.1; + TestTargetID = AD1ABAAD2831907B00B3E448; + }; }; }; buildConfigurationList = AD1ABAA92831907B00B3E448 /* Build configuration list for PBXProject "MovieQuiz" */; @@ -290,6 +516,11 @@ targets = ( AD1ABAAD2831907B00B3E448 /* MovieQuiz */, F4B050D52A8A4B9000CD72CC /* MovieQuizViewControllerMock */, + F4B050E42A8A9E3400CD72CC /* MovieQuizTests */, + F4B050F12A8A9E9B00CD72CC /* ArrayTests */, + F4B050FE2A8A9FF100CD72CC /* MoviesLoaderTests */, + F4B051122A8AA2E300CD72CC /* MovieQuizUITests */, + F4B051212A8AA50900CD72CC /* MovieQuizViewControllerMock11 */, ); }; /* End PBXProject section */ @@ -314,6 +545,41 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + F4B050E32A8A9E3400CD72CC /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + F4B050F02A8A9E9B00CD72CC /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + F4B050FD2A8A9FF100CD72CC /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + F4B051112A8AA2E300CD72CC /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + F4B051202A8AA50900CD72CC /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -332,7 +598,6 @@ F45010C82A67DEA000105895 /* QuestionFactoryDelegate.swift in Sources */, F45010BD2A67DE5100105895 /* QuizStepViewModel.swift in Sources */, AD1ABAB62831907B00B3E448 /* MovieQuizViewController.swift in Sources */, - F4B050E02A8A4C0F00CD72CC /* MovieQuizViewControllerMock.swift in Sources */, F45010C62A67DE9800105895 /* QuestionFactoryProtocol.swift in Sources */, F476112E2A7983AD006C930D /* NetworkClient.swift in Sources */, F4B050CF2A8A050A00CD72CC /* MovieQuizPresenter.swift in Sources */, @@ -340,6 +605,7 @@ F45010C42A67DE8500105895 /* QuestionFactory.swift in Sources */, AD1ABAB22831907B00B3E448 /* AppDelegate.swift in Sources */, F45010D22A67DEDD00105895 /* StatisticServiceImplementation.swift in Sources */, + F4B0510E2A8AA26F00CD72CC /* StubsNetworkClient.swift in Sources */, F45010BF2A67DE5900105895 /* AlertModel.swift in Sources */, F47611322A7A24E3006C930D /* MoviesLoader.swift in Sources */, AD1ABAB42831907B00B3E448 /* SceneDelegate.swift in Sources */, @@ -357,6 +623,45 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + F4B050E12A8A9E3400CD72CC /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + F4B050EE2A8A9E9B00CD72CC /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + F4B050F52A8A9E9B00CD72CC /* ArrayTests.swift in Sources */, + F4B051082A8A9FF400CD72CC /* MoviesLoaderTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + F4B050FB2A8A9FF100CD72CC /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + F4B0510F2A8AA2E300CD72CC /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + F4B051162A8AA2E300CD72CC /* MovieQuizUITests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + F4B0511E2A8AA50900CD72CC /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + F4B051252A8AA50900CD72CC /* MovieQuizViewControllerMock.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ @@ -365,6 +670,31 @@ target = AD1ABAAD2831907B00B3E448 /* MovieQuiz */; targetProxy = F4B050DA2A8A4B9000CD72CC /* PBXContainerItemProxy */; }; + F4B050EA2A8A9E3400CD72CC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = AD1ABAAD2831907B00B3E448 /* MovieQuiz */; + targetProxy = F4B050E92A8A9E3400CD72CC /* PBXContainerItemProxy */; + }; + F4B050F72A8A9E9B00CD72CC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = AD1ABAAD2831907B00B3E448 /* MovieQuiz */; + targetProxy = F4B050F62A8A9E9B00CD72CC /* PBXContainerItemProxy */; + }; + F4B051042A8A9FF100CD72CC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = AD1ABAAD2831907B00B3E448 /* MovieQuiz */; + targetProxy = F4B051032A8A9FF100CD72CC /* PBXContainerItemProxy */; + }; + F4B0511A2A8AA2E300CD72CC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = AD1ABAAD2831907B00B3E448 /* MovieQuiz */; + targetProxy = F4B051192A8AA2E300CD72CC /* PBXContainerItemProxy */; + }; + F4B051272A8AA50900CD72CC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = AD1ABAAD2831907B00B3E448 /* MovieQuiz */; + targetProxy = F4B051262A8AA50900CD72CC /* PBXContainerItemProxy */; + }; /* End PBXTargetDependency section */ /* Begin PBXVariantGroup section */ @@ -601,6 +931,204 @@ }; name = Release; }; + F4B050EC2A8A9E3400CD72CC /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = 66QMN95M53; + GENERATE_INFOPLIST_FILE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 16.4; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = ru.yandex.practicum.MovieQuizTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MovieQuiz.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/MovieQuiz"; + }; + name = Debug; + }; + F4B050ED2A8A9E3400CD72CC /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = 66QMN95M53; + GENERATE_INFOPLIST_FILE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 16.4; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = ru.yandex.practicum.MovieQuizTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MovieQuiz.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/MovieQuiz"; + }; + name = Release; + }; + F4B050F92A8A9E9B00CD72CC /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = 66QMN95M53; + GENERATE_INFOPLIST_FILE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 16.4; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = ru.yandex.practicum.ArrayTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MovieQuiz.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/MovieQuiz"; + }; + name = Debug; + }; + F4B050FA2A8A9E9B00CD72CC /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = 66QMN95M53; + GENERATE_INFOPLIST_FILE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 16.4; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = ru.yandex.practicum.ArrayTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MovieQuiz.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/MovieQuiz"; + }; + name = Release; + }; + F4B051062A8A9FF100CD72CC /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = 66QMN95M53; + GENERATE_INFOPLIST_FILE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 16.4; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = ru.yandex.practicum.MoviesLoaderTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MovieQuiz.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/MovieQuiz"; + }; + name = Debug; + }; + F4B051072A8A9FF100CD72CC /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = 66QMN95M53; + GENERATE_INFOPLIST_FILE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 16.4; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = ru.yandex.practicum.MoviesLoaderTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MovieQuiz.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/MovieQuiz"; + }; + name = Release; + }; + F4B0511C2A8AA2E300CD72CC /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = 66QMN95M53; + GENERATE_INFOPLIST_FILE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 16.4; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = ru.yandex.practicum.MovieQuizUITests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_TARGET_NAME = MovieQuiz; + }; + name = Debug; + }; + F4B0511D2A8AA2E300CD72CC /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = 66QMN95M53; + GENERATE_INFOPLIST_FILE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 16.4; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = ru.yandex.practicum.MovieQuizUITests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_TARGET_NAME = MovieQuiz; + }; + name = Release; + }; + F4B051292A8AA50900CD72CC /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = 66QMN95M53; + GENERATE_INFOPLIST_FILE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 16.4; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = ru.yandex.practicum.MovieQuizViewControllerMock11; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MovieQuiz.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/MovieQuiz"; + }; + name = Debug; + }; + F4B0512A2A8AA50900CD72CC /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = 66QMN95M53; + GENERATE_INFOPLIST_FILE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 16.4; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = ru.yandex.practicum.MovieQuizViewControllerMock11; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MovieQuiz.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/MovieQuiz"; + }; + name = Release; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -631,6 +1159,51 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + F4B050EB2A8A9E3400CD72CC /* Build configuration list for PBXNativeTarget "MovieQuizTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + F4B050EC2A8A9E3400CD72CC /* Debug */, + F4B050ED2A8A9E3400CD72CC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + F4B050F82A8A9E9B00CD72CC /* Build configuration list for PBXNativeTarget "ArrayTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + F4B050F92A8A9E9B00CD72CC /* Debug */, + F4B050FA2A8A9E9B00CD72CC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + F4B051052A8A9FF100CD72CC /* Build configuration list for PBXNativeTarget "MoviesLoaderTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + F4B051062A8A9FF100CD72CC /* Debug */, + F4B051072A8A9FF100CD72CC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + F4B0511B2A8AA2E300CD72CC /* Build configuration list for PBXNativeTarget "MovieQuizUITests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + F4B0511C2A8AA2E300CD72CC /* Debug */, + F4B0511D2A8AA2E300CD72CC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + F4B051282A8AA50900CD72CC /* Build configuration list for PBXNativeTarget "MovieQuizViewControllerMock11" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + F4B051292A8AA50900CD72CC /* Debug */, + F4B0512A2A8AA50900CD72CC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; /* End XCConfigurationList section */ }; rootObject = AD1ABAA62831907B00B3E448 /* Project object */; diff --git a/MovieQuiz/Presentation/Base.lproj/Main.storyboard b/MovieQuiz/Presentation/Base.lproj/Main.storyboard index 267d8a1e98..ce85785312 100644 --- a/MovieQuiz/Presentation/Base.lproj/Main.storyboard +++ b/MovieQuiz/Presentation/Base.lproj/Main.storyboard @@ -45,6 +45,7 @@ + @@ -84,6 +85,7 @@