Spatial Crank Slider Mechanism

Input: orange crank rotating continuously.
Output: pink shaft oscillating and linearly reciprocating.
The green sleeve has two skew perpendicular holes.
Relative position between input axis and output axis is arbitrary, even skew.