function explodeTween(propertyName, tween, duration, starting) {
    var startValue = tween.start,
        endValue = tween.end;
    if (!isString(endValue) || !isString(startValue)) {
        return;
    }
    var sequence = findPattern([startValue, endValue], propertyName);
    if (!sequence && starting) {
        // This little piece will take a startValue, split out the
        // various numbers in it, then copy the endValue into the
        // startValue while replacing the numbers in it to match the
        // original start numbers as a repeating sequence.
        // Finally this function will run again with the new
        // startValue and a now matching pattern.
        var startNumbers = startValue.match(/\d\.?\d*/g) || ["0"],
            count = startNumbers.length;
        var index = 0;
        sequence = findPattern([endValue.replace(/\d+\.?\d*/g, function () {
            return startNumbers[index++ % count];
        }), endValue], propertyName);
    }
    if (sequence) {
        if (Velocity$$1.debug) {
            console.log("Velocity: Sequence found:", sequence);
        }
        sequence[0].percent = 0;
        sequence[1].percent = 1;
        tween.sequence = sequence;
        switch (tween.easing) {
            case Easings["at-start"]:
            case Easings["during"]:
            case Easings["at-end"]:
                sequence[0].easing = sequence[1].easing = tween.easing;
                break;
        }
    }
}
Convert a string-based tween with start and end strings, into a pattern
based tween with arrays.