             minScale = maxScale
         }
         
-        maximumZoomScale = maxScale
+        maximumZoomScale = 10   // TODO
         minimumZoomScale = minScale
-        print("min scale = \(minScale), max scale = \(maxScale)")
+        print("min scale = \(minimumZoomScale), max scale = \(maximumZoomScale)")
     }
     
     // MARK: - Rotation support

        targetContentOffset: UnsafeMutablePointer<CGPoint>) {
        
        let angle = CGFloat(imageRotation)
        
        // 1. Находим прямоугольник, повернутый относительно исходного на угол angle и описанный
        // вокруг него (все вершины исходного прямоугольника лежат на сторонах искомого)

    private func scaleToFillBoundsWithImageRotatedBy(angle: Double) -> CGFloat {
        
        let pi = M_PI
        let containerSize = bounds.size
        
        var theta = fabs(angle - 2 * pi * trunc(angle / pi / 2) - pi)
        if theta > pi / 2 {
            theta = fabs(pi - theta)
        }
        
        let H = Double(containerSize.height)
        let W = Double(containerSize.width)
        let h = Double(contentSize.height)
        let w = Double(contentSize.width)
        
        let scale1 = (H * cos(theta) + W * sin(theta)) / h
        let scale2 = (H * sin(theta) + W * cos(theta)) / w
