  We consider the problem of finding maximum flows in planar graphs with
capacities on both vertices and edges and with multiple sources and sinks. We
present three algorithms when the capacities are integers. The first algorithm
runs in $O(n \log^3 n + kn)$ time when all capacities are bounded, where $n$ is
the number of vertices in the graph and $k$ is the number of terminals. This
algorithm is the first to solve the vertex-disjoint paths problem in
near-linear time when $k$ is bounded but larger than 2. The second algorithm
runs in $O(k^2(k^3 + \Delta) n \text{ polylog} (nU))$ time, where $U$ is the
largest finite capacity of a single vertex and $\Delta$ is the maximum degree
of a vertex. Finally, when $k=3$, we present an algorithm that runs in $O(n
\log n)$ time; this algorithm works even when the capacities are arbitrary
reals. Our algorithms improve on the fastest previously known algorithms when
$k$ and $\Delta$ are small and $U$ is bounded by a polynomial in $n$. Prior to
this result, the fastest algorithms ran in $O(n^2 / \log n)$ time for real
capacities and $O(n^{3/2} \log n \log U)$ for integer capacities.
