diff --git a/Signs/PDF/design_patterns/command.pdf b/Signs/PDF/design_patterns/command.pdf index c15bf8a5ef44c7bca9e417093e54e0eaa0a28596..0cc96ff1e3dba02f749a9f27590090eab7053543 GIT binary patch literal 11042 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 B%VPil