You are given an m×n grid representing a data center: 0 = empty rack, 1 = secure server, 2 = compromised server. Each minute, any secure server that is orthogonally adjacent (up/down/left/right) to a compromised server becomes compromised. Return the minimum number of minutes to compromise all secure servers, or -1 if some remain forever secure. Describe your algorithm, explain why it is correct, and state time and space complexity. Include how you would handle multiple initial compromised sources and early termination.