package BookPub::Import::Factory;

use strict;

use lib '/app/tools/sale_import/lib';
use lib '/app/tools/common/lib';
use lib '/app/tools/bookpub/lib';
use BookPub::Tracker::Service;
use Common::Assert;
use Common::Log;

# hashref of importers that support dynamic columns.  These need to
# live in a seperate hash because importers are instantiated to determine
# if they can parse a file.
my $dynamic_importers = {
    BookPub::Tracker::Service::KOBO() => {
        14 => "BookPub::Import::Importer::Kobo::Version14",
        17 => "BookPub::Import::Importer::Kobo::Version17",
    },
    BookPub::Tracker::Service::EBOOK() => {
        14 => "BookPub::Import::Importer::EBook::Version14",
    },
};

# hashref of Importer subclasses keyed by service_id, version_num
# example $package_for->{$service_id}->{$version_num};
my $package_for = {
    BookPub::Tracker::Service::COURSE_SMART() => {
        1  => "BookPub::Import::Importer::CourseSmart::Version1",
        2  => "BookPub::Import::Importer::CourseSmart::Version2",
        3  => "BookPub::Import::Importer::CourseSmart::Version3",
        4  => "BookPub::Import::Importer::CourseSmart::Version4",
        5  => "BookPub::Import::Importer::CourseSmart::Version5",
        6  => "BookPub::Import::Importer::CourseSmart::Version6",
        7  => "BookPub::Import::Importer::CourseSmart::Version7",
        8  => "BookPub::Import::Importer::CourseSmart",
        9  => "BookPub::Import::Importer::CourseSmart",
        10 => "BookPub::Import::Importer::CourseSmart::Version10",
        11 => "BookPub::Import::Importer::CourseSmart2",
    },
    BookPub::Tracker::Service::CREATE_SPACE() => {
        1 => "BookPub::Import::Importer::CreateSpace::Version1",
    },
    BookPub::Tracker::Service::FOLLETT() => {
        1 => "BookPub::Import::Importer::Follett::Version1",
        2 => "BookPub::Import::Importer::Follett::Version2",
        3 => "BookPub::Import::Importer::Follett::Version3",
        4 => "BookPub::Import::Importer::Follett::Version4",
        5 => "BookPub::Import::Importer::Follett::Version5",
        6 => "BookPub::Import::Importer::Follett::Version6",
        7 => "BookPub::Import::Importer::Follett",
        8 => "BookPub::Import::Importer::Follett::Version8",
        9 => "BookPub::Import::Importer::Follett::Version9",
        10 => "BookPub::Import::Importer::Follett::Version10",
    },
    BookPub::Tracker::Service::SONY() => {
        1  => "BookPub::Import::Importer::Sony::Version1",
        3  => "BookPub::Import::Importer::Sony::Version3",
        4  => "BookPub::Import::Importer::Sony::Version4",
        5  => "BookPub::Import::Importer::Sony::Version5",
        6  => "BookPub::Import::Importer::Sony::Version6",
        7  => "BookPub::Import::Importer::Sony::Version7",
        8  => "BookPub::Import::Importer::Sony::Version8",
        9  => "BookPub::Import::Importer::Sony::Version9",
        10 => "BookPub::Import::Importer::Sony::Version10",
        11 => "BookPub::Import::Importer::Sony::Version11",
        12 => "BookPub::Import::Importer::Sony::Version12",
        13 => "BookPub::Import::Importer::Sony::Version13",
    },
    BookPub::Tracker::Service::MBS_TEX() => {
        1 => "BookPub::Import::Importer::MBSTEX::Version1",
        2 => "BookPub::Import::Importer::MBSTEX::Version2",
        3 => "BookPub::Import::Importer::MBSTEX::Version3",
        4 => "BookPub::Import::Importer::MBSTEX::Version4",
        5 => "BookPub::Import::Importer::MBSTEX::Version5",
    },
    BookPub::Tracker::Service::WEB_CT() => {
        1 => "BookPub::Import::Importer::WebCT::Version1",
    },
    BookPub::Tracker::Service::BOOK_SURGE() =>
      {    # according to the website, BookSurge is becoming CreateSpace so later versions may belong under CreateSpace
        1 => "BookPub::Import::Importer::BookSurge::Version1",
      },
    BookPub::Tracker::Service::AMAZON() => {
        1  => "BookPub::Import::Importer::Amazon::Version1",
        2  => "BookPub::Import::Importer::Amazon::Version2",
        3  => "BookPub::Import::Importer::Amazon::Version3",
        4  => "BookPub::Import::Importer::Amazon::Version4",
        5  => "BookPub::Import::Importer::Amazon::Version5",
        6  => "BookPub::Import::Importer::Amazon::Version6",
        7  => "BookPub::Import::Importer::Amazon::Version7",
        8  => "BookPub::Import::Importer::Amazon::Version8",
        9  => "BookPub::Import::Importer::Amazon::Version9",
        10 => "BookPub::Import::Importer::Amazon::Version10",
        11 => "BookPub::Import::Importer::Amazon::Version11",
        12 => "BookPub::Import::Importer::Amazon::Version12",
        13 => "BookPub::Import::Importer::Amazon::Version13",
        14 => "BookPub::Import::Importer::Amazon::Version14",
        15 => "BookPub::Import::Importer::Amazon::Version15",
        16 => "BookPub::Import::Importer::Amazon::Version16",
        17 => "BookPub::Import::Importer::Amazon::Version17",
        18 => "BookPub::Import::Importer::Amazon::Version18",
        19 => "BookPub::Import::Importer::Amazon::Version19",
        20 => "BookPub::Import::Importer::Amazon::Version20",
        21 => "BookPub::Import::Importer::Amazon::Version21",
        22 => "BookPub::Import::Importer::Amazon::Version22",
        23 => "BookPub::Import::Importer::Amazon::Version23",
        24 => "BookPub::Import::Importer::Amazon::Version24",
        25 => "BookPub::Import::Importer::Amazon::Version25",
        26 => "BookPub::Import::Importer::Amazon::Version26",
        27 => "BookPub::Import::Importer::Amazon::Version27",
        28 => "BookPub::Import::Importer::Amazon::Version28",
        29 => "BookPub::Import::Importer::Amazon::Version29",
        30 => "BookPub::Import::Importer::Amazon::Version30",
        31 => "BookPub::Import::Importer::Amazon",
        32 => "BookPub::Import::Importer::Amazon::Version32",
        33 => "BookPub::Import::Importer::AmazonTax",
        34 => "BookPub::Import::Importer::AmazonTax",
        35 => "BookPub::Import::Importer::Amazon",
        36 => "BookPub::Import::Importer::Amazon::Version36",
        37 => "BookPub::Import::Importer::AmazonTax",
        38 => "BookPub::Import::Importer::Amazon::Version38",
        39 => "BookPub::Import::Importer::Amazon::Version16",
        40 => "BookPub::Import::Importer::Amazon::Version40",
        41 => "BookPub::Import::Importer::Amazon::Version41",
        42 => "BookPub::Import::Importer::Amazon::Version17",
        43 => "BookPub::Import::Importer::AmazonPOD",
        44 => "BookPub::Import::Importer::AmazonPOD",
        45 => "BookPub::Import::Importer::Amazon::Version17",
        46 => "BookPub::Import::Importer::Amazon",
        47 => "BookPub::Import::Importer::Amazon",
        48 => "BookPub::Import::Importer::Amazon::Version48",
        49 => "BookPub::Import::Importer::Amazon::Version49",
        50 => "BookPub::Import::Importer::Amazon::Version50",
        51 => "BookPub::Import::Importer::Amazon::Version51",
        52 => "BookPub::Import::Importer::Amazon::Version20",
        53 => "BookPub::Import::Importer::Amazon::Version53",
        54 => "BookPub::Import::Importer::Amazon",
        55 => "BookPub::Import::Importer::Amazon::Version20",
        56 => "BookPub::Import::Importer::Amazon::Version56",
        57 => "BookPub::Import::Importer::Amazon::Version57",
        58 => "BookPub::Import::Importer::AmazonTax",
        59 => "BookPub::Import::Importer::Amazon",
        60 => "BookPub::Import::Importer::Amazon::Version60",
        61 => "BookPub::Import::Importer::Amazon::Version61",
        62 => "BookPub::Import::Importer::Amazon",
        63 => "BookPub::Import::Importer::Amazon::Version63",
        64 => "BookPub::Import::Importer::Amazon::Version64",
        65 => "BookPub::Import::Importer::Amazon::Version8",
        66 => "BookPub::Import::Importer::Amazon::Version66",
        67 => "BookPub::Import::Importer::Amazon::Version20",
        68 => "BookPub::Import::Importer::Amazon::Version24",
        69 => "BookPub::Import::Importer::Amazon::Version25",
        70 => "BookPub::Import::Importer::Amazon::Version8",
        71 => "BookPub::Import::Importer::Amazon::Version71",
        72 => "BookPub::Import::Importer::Amazon::Version72",
        73 => "BookPub::Import::Importer::Amazon::Version20",
        74 => "BookPub::Import::Importer::Amazon::Version74",
        75 => "BookPub::Import::Importer::Amazon::Version75",
        76 => "BookPub::Import::Importer::Amazon::Version76",
        77 => "BookPub::Import::Importer::Amazon::Version20",
        78 => "BookPub::Import::Importer::AmazonTax",
        79 => "BookPub::Import::Importer::Amazon::Version8",
        80 => "BookPub::Import::Importer::Amazon",
        81 => "BookPub::Import::Importer::Amazon::Version8",
        82 => "BookPub::Import::Importer::Amazon::Version8",
        83 => "BookPub::Import::Importer::Amazon::Version83",
        84 => "BookPub::Import::Importer::Amazon::Version84",
        85 => "BookPub::Import::Importer::Amazon::Version85",
    },
    BookPub::Tracker::Service::APPLE() => {
        2 => "BookPub::Import::Importer::Apple::Version2",
        3 => "BookPub::Import::Importer::Apple::Version3",
        4 => "BookPub::Import::Importer::Apple::Version4",
    },
    BookPub::Tracker::Service::EBOOK() => {
        1  => "BookPub::Import::Importer::EBook::Version1",
        2  => "BookPub::Import::Importer::EBook::Version2",
        3  => "BookPub::Import::Importer::EBook::Version3",
        4  => "BookPub::Import::Importer::EBook::Version4",
        5  => "BookPub::Import::Importer::EBook::Version5",
        6  => "BookPub::Import::Importer::EBook::Version6",
        7  => "BookPub::Import::Importer::EBook::Version7",
        8  => "BookPub::Import::Importer::EBook::Version8",
        9  => "BookPub::Import::Importer::EBook::Version9",
        10 => "BookPub::Import::Importer::EBook::Version10",
        11 => "BookPub::Import::Importer::EBook::Version11",
        12 => "BookPub::Import::Importer::EBook::Version12",
        13 => "BookPub::Import::Importer::EBook::Version13",
        14 => "BookPub::Import::Importer::EBook::Version14",
        19 => "BookPub::Import::Importer::EBook::Version19",
    },

    # Proquest acquired eBooks.com's library division.  Versions 15 and 16 of the EBook
    # importer are now associated with the Proquest service ID.  See below - SB
    BookPub::Tracker::Service::PROQUEST() => {
        3  => "BookPub::Import::Importer::RoyaltyShare",
        15 => "BookPub::Import::Importer::EBook::Version15",
        16 => "BookPub::Import::Importer::EBook::Version16",
        17 => "BookPub::Import::Importer::EBook::Version17",
        18 => "BookPub::Import::Importer::EBook::Version18",
        20 => "BookPub::Import::Importer::EBook::Version20",
        21 => "BookPub::Import::Importer::EBook::Version21",
        22 => "BookPub::Import::Importer::EBook::Version21",
    },
    BookPub::Tracker::Service::FOLLETT_CAFESCRIBE() => {
        1 => "BookPub::Import::Importer::Follett_CafeScribe::Version1",
    },
    BookPub::Tracker::Service::FOLLETT_HIGHER_EDUCATION() => {
        1  => "BookPub::Import::Importer::Follett_Higher_Education::Version1",
        2  => "BookPub::Import::Importer::Follett_Higher_Education::Version2",
        3  => "BookPub::Import::Importer::Follett_Higher_Education::Version3",
        4  => "BookPub::Import::Importer::Follett_Higher_Education::Version4",
        5  => "BookPub::Import::Importer::Follett_Higher_Education::Version5",
        6  => "BookPub::Import::Importer::Follett_Higher_Education::Version6",
        7  => "BookPub::Import::Importer::Follett_Higher_Education::Version7",
        8  => "BookPub::Import::Importer::Follett_Higher_Education::Version8",
        9  => "BookPub::Import::Importer::Follett_Higher_Education::Version9",
        10 => "BookPub::Import::Importer::Follett_Higher_Education::Version10",
        11 => "BookPub::Import::Importer::Follett_Higher_Education::Version11",
        12 => "BookPub::Import::Importer::FollettHigherEducation",
        13 => "BookPub::Import::Importer::FollettHigherEducation",
        14 => "BookPub::Import::Importer::Follett_Higher_Education::Version14",
        15 => "BookPub::Import::Importer::Follett_Higher_Education::Version15",
        16 => "BookPub::Import::Importer::Follett_Higher_Education::Version16",
        17 => "BookPub::Import::Importer::Follett_Higher_Education::Version17",
        18 => "BookPub::Import::Importer::Follett_Higher_Education::Version18",
        19 => "BookPub::Import::Importer::Follett_Higher_Education::Version19",
        20 => "BookPub::Import::Importer::Follett_Higher_Education::Version20",
    },
    BookPub::Tracker::Service::OVERDRIVE() => {
        1  => "BookPub::Import::Importer::OverDrive::Version1",
        2  => "BookPub::Import::Importer::OverDrive::Version2",
        3  => "BookPub::Import::Importer::OverDrive::Version3",
        4  => "BookPub::Import::Importer::OverDrive::Version4",
        5  => "BookPub::Import::Importer::OverDrive::Version5",
        6  => "BookPub::Import::Importer::OverDrive::Version6",
        7  => "BookPub::Import::Importer::OverDrive::Version7",
        8  => "BookPub::Import::Importer::OverDrive::Version8",
        9  => "BookPub::Import::Importer::OverDrive::Version9",
        10 => "BookPub::Import::Importer::OverDrive::Version10",
        11 => "BookPub::Import::Importer::OverDrive::Version11",
        12 => "BookPub::Import::Importer::OverDrive::Version12",
        13 => "BookPub::Import::Importer::OverDrive",
        14 => "BookPub::Import::Importer::OverDrive",
        15 => "BookPub::Import::Importer::OverDrive",
        16 => "BookPub::Import::Importer::OverDrive",
        17 => "BookPub::Import::Importer::OverDrive::Version17",
        18 => "BookPub::Import::Importer::OverDrive",
        19 => "BookPub::Import::Importer::OverDrive::Version19",
    },
    BookPub::Tracker::Service::MOBIPOCKET() => {
        1 => "BookPub::Import::Importer::MobiPocket::Version1",
        2 => "BookPub::Import::Importer::MobiPocket::Version2",
    },
    BookPub::Tracker::Service::AUDIBLE() => {
        3  => "BookPub::Import::Importer::Audible::Version3",
        4  => "BookPub::Import::Importer::Audible::Version4",
        5  => "BookPub::Import::Importer::Audible::Version5",
        6  => "BookPub::Import::Importer::Audible",
        7  => "BookPub::Import::Importer::Audible::Version7",
        8  => "BookPub::Import::Importer::Audible::Version8",
        9  => "BookPub::Import::Importer::Audible::Version9",
        10 => "BookPub::Import::Importer::Audible::Version10",
        11 => "BookPub::Import::Importer::Audible::Version11",
        12 => "BookPub::Import::Importer::Audible::Version12",
        13 => "BookPub::Import::Importer::Audible::Version13",
        14 => "BookPub::Import::Importer::Audible::Version14",
    },
    BookPub::Tracker::Service::PREMIERAUDIOBOOKS() => {    # audiobooks.com sold their domain name to Simply Audio
                                                           # and became premieraudiobooks.com
                                                           # keeping the original (internal) importer source
                                                           # filename is simply a path of least resistance
        1 => "BookPub::Import::Importer::Audiobooks::Version1",
    },
    BookPub::Tracker::Service::BARNES_NOBLE() => {
        1  => "BookPub::Import::Importer::BarnesNoble::Version1",
        2  => "BookPub::Import::Importer::BarnesNoble::Version1",
        3  => "BookPub::Import::Importer::BarnesNoble::Version3",
        4  => "BookPub::Import::Importer::BarnesNoble::Version4",
        5  => "BookPub::Import::Importer::BarnesNoble::Version5",
        6  => "BookPub::Import::Importer::BarnesNoble::Version6",
        7  => "BookPub::Import::Importer::BarnesNoble::Version7",
        8  => "BookPub::Import::Importer::BarnesNoble::Version8",
        9  => "BookPub::Import::Importer::BarnesNoble::Version9",
        10 => "BookPub::Import::Importer::BarnesNoble::Version10",
        11 => "BookPub::Import::Importer::BarnesNoble::Version11",
        12 => "BookPub::Import::Importer::BarnesNoble::Version12",
        13 => "BookPub::Import::Importer::BarnesNoble::Version13",
    },
    BookPub::Tracker::Service::BARNES_NOBLE_EDUCATION() => {
        10 => "BookPub::Import::Importer::VitalSource::Version10",
        17 => "BookPub::Import::Importer::VitalSource::Version17",
        19 => "BookPub::Import::Importer::VitalSource::Version19",
        20 => "BookPub::Import::Importer::VitalSource::Version20",
        25 => "BookPub::Import::Importer::VitalSource::Version25",
        # 26 skip this version, since it is related to Vital Source (see BookPub::Tracker::Service::VITAL_SOURCE())
        27 => "BookPub::Import::Importer::VitalSource::Version25",
    },
    BookPub::Tracker::Service::BARNES_NOBLE_FIRST_DAY() => {
        1 => "BookPub::Import::Importer::BarnesNobleFirstDay::v1",
    },
    BookPub::Tracker::Service::PLAY_AWAY() => {
        1 => "BookPub::Import::Importer::PlayAway::Version1",
        2 => "BookPub::Import::Importer::PlayAway::Version2",
    },
    BookPub::Tracker::Service::BBC_AUDIO() => {
        2 => "BookPub::Import::Importer::BBCAudio::Version2",
        3 => "BookPub::Import::Importer::BBCAudio::Version3",
        4 => "BookPub::Import::Importer::BBCAudio::Version4",
        5 => "BookPub::Import::Importer::BBCAudio::Version5",
        6 => "BookPub::Import::Importer::BBCAudio::Version6",
        7 => "BookPub::Import::Importer::BBCAudio::Version7",
        8 => "BookPub::Import::Importer::BBCAudio",
    },
    BookPub::Tracker::Service::SCROLL_MOTION() => {
        1 => "BookPub::Import::Importer::ScrollMotion::Version1",
        2 => "BookPub::Import::Importer::ScrollMotion::Version2",
        3 => "BookPub::Import::Importer::ScrollMotion::Version3",
        4 => "BookPub::Import::Importer::ScrollMotion::Version4",
    },
    BookPub::Tracker::Service::LSI() => {
        2 => "BookPub::Import::Importer::LSI::Version2",
        3 => "BookPub::Import::Importer::LSI::Version3",
        4 => "BookPub::Import::Importer::LSI::Version4",
        5 => "BookPub::Import::Importer::IngramDigitalLSI",
    },
    BookPub::Tracker::Service::EMUSIC() => {
        1 => "BookPub::Import::Importer::eMusic::Version1",
    },
    BookPub::Tracker::Service::SIMPLY_AUDIO() => {
        1 => "BookPub::Import::Importer::SimplyAudio::Version1",
        2 => "BookPub::Import::Importer::SimplyAudio::Version2",
        3 => "BookPub::Import::Importer::SimplyAudio::Version3",
        4 => "BookPub::Import::Importer::SimplyAudio::Version4",
        5 => "BookPub::Import::Importer::SimplyAudio",
        6 => "BookPub::Import::Importer::SimplyAudio::Version6",
    },
    BookPub::Tracker::Service::SPOKEN_NETWORK() => {
        1 => "BookPub::Import::Importer::SpokenNetwork::Version1",
    },
    BookPub::Tracker::Service::KOBO() => {
        1  => "BookPub::Import::Importer::Kobo::Version1",
        2  => "BookPub::Import::Importer::Kobo::Version2",
        3  => "BookPub::Import::Importer::Kobo::Version3",
        4  => "BookPub::Import::Importer::Kobo::Version4",
        5  => "BookPub::Import::Importer::Kobo::Version5",
        6  => "BookPub::Import::Importer::Kobo::Version6",
        7  => "BookPub::Import::Importer::Kobo::Version7",
        8  => "BookPub::Import::Importer::Kobo::Version8",
        9  => "BookPub::Import::Importer::Kobo::Version9",
        10 => "BookPub::Import::Importer::Kobo::Version10",
        11 => "BookPub::Import::Importer::RandomHouse",
        12 => "BookPub::Import::Importer::Kobo::Version12",
        13 => "BookPub::Import::Importer::Kobo::Version13",
        15 => "BookPub::Import::Importer::Kobo::Version15",
        16 => "BookPub::Import::Importer::Kobo::Version16",
        18 => "BookPub::Import::Importer::Kobo::Version18",
        19 => "BookPub::Import::Importer::Kobo::Version19",
        20 => "BookPub::Import::Importer::Kobo::Version20",
        21 => "BookPub::Import::Importer::Kobo::Version21",
        22 => "BookPub::Import::Importer::Kobo::Version22",
        23 => "BookPub::Import::Importer::Kobo::Version23",
        24 => "BookPub::Import::Importer::Kobo::Version24",
        25 => "BookPub::Import::Importer::Kobo::Version25",
        26 => "BookPub::Import::Importer::Kobo::Version26",
        27 => "BookPub::Import::Importer::Kobo::Version27",
        28 => "BookPub::Import::Importer::Kobo::Version28",
        29 => "BookPub::Import::Importer::Kobo::Version29",
        30 => "BookPub::Import::Importer::Kobo::Version30",
        31 => "BookPub::Import::Importer::Kobo::Version31",
        32 => "BookPub::Import::Importer::Kobo",
        33 => "BookPub::Import::Importer::Kobo::Version23",
        34 => "BookPub::Import::Importer::KoboCredit",
        35 => "BookPub::Import::Importer::Kobo::Version35",
        36 => "BookPub::Import::Importer::Kobo::Version36",
        37 => "BookPub::Import::Importer::Kobo::Version37",
        38 => "BookPub::Import::Importer::Kobo::Version38",
        39 => "BookPub::Import::Importer::Kobo::Version39",
        40 => "BookPub::Import::Importer::Kobo::Version40",
        41 => "BookPub::Import::Importer::Kobo::Version41",
        42 => "BookPub::Import::Importer::Kobo::Version42",
        43 => "BookPub::Import::Importer::Kobo::Version43",
    },
    BookPub::Tracker::Service::KOBO_PROMOTIONS() => {
        1 => "BookPub::Import::Importer::KoboPromotions::Version1",
    },
    BookPub::Tracker::Service::FICTIONWISE() => {
        1 => "BookPub::Import::Importer::Fictionwise::Version1",
        2 => "BookPub::Import::Importer::Fictionwise::Version2",
    },
    BookPub::Tracker::Service::INGRAM_DIGITAL() => {
        3 => "BookPub::Import::Importer::IngramDigital::Version3",
        4 => "BookPub::Import::Importer::IngramDigital::Version4",
        5 => "BookPub::Import::Importer::IngramDigital::Version5",
        6 => "BookPub::Import::Importer::IngramDigital::Version6",
        7 => "BookPub::Import::Importer::IngramDigital::Version7",
    },
    BookPub::Tracker::Service::DNAML() => {
        1 => "BookPub::Import::Importer::DNAML::Version1",
        2 => "BookPub::Import::Importer::DNAML::Version2",
        3 => "BookPub::Import::Importer::DNAML::Version3",
        4 => "BookPub::Import::Importer::DNAML::Version4",
        5 => "BookPub::Import::Importer::DNAML::Version5",
        6 => "BookPub::Import::Importer::DNAML::Version6",
        7 => "BookPub::Import::Importer::DNAML::Version7",
    },
    BookPub::Tracker::Service::MORGAN_LIBRARY() => {
        3 => "BookPub::Import::Importer::RoyaltyShare",
    },
    BookPub::Tracker::Service::WILLIAM_PERKINS_LIBRARY() => {
        3 => "BookPub::Import::Importer::RoyaltyShare",
    },
    BookPub::Tracker::Service::RSFORMAT() => {
        1 => "BookPub::Import::Importer::RoyaltyShare::Version1",
        2 => "BookPub::Import::Importer::RoyaltyShare::Version2",
        3 => "BookPub::Import::Importer::RoyaltyShare",
        4 => "BookPub::Import::Importer::RoyaltyShare::Version4",
    },
    BookPub::Tracker::Service::RIPPLE() => {
        1 => "BookPub::Import::Importer::RoyaltyShare::Version1",
        2 => "BookPub::Import::Importer::Ripple::Version2",
    },
    BookPub::Tracker::Service::MOBCAST() => {
        1 => "BookPub::Import::Importer::Mobcast::Version1",
        2 => "BookPub::Import::Importer::Mobcast::Version2",
        3 => "BookPub::Import::Importer::Mobcast::Version3",
    },
    BookPub::Tracker::Service::GARDNERS() => {
        1  => "BookPub::Import::Importer::Gardners::Version1",
        2  => "BookPub::Import::Importer::Gardners::Version2",
        3  => "BookPub::Import::Importer::Gardners::Version3",
        4  => "BookPub::Import::Importer::Gardners::Version4",
        5  => "BookPub::Import::Importer::Gardners::Version5",
        6  => "BookPub::Import::Importer::Gardners::Version6",
        7  => "BookPub::Import::Importer::Gardners::Version7",
        8  => "BookPub::Import::Importer::Gardners::Version8",
        9  => "BookPub::Import::Importer::Gardners::Version9",
        10 => "BookPub::Import::Importer::Gardners::Version10",
        11 => "BookPub::Import::Importer::Gardners::Version11",
        12 => "BookPub::Import::Importer::Gardners::Version12",
        13 => "BookPub::Import::Importer::Gardners::Version13",
        14 => "BookPub::Import::Importer::Gardners::Version14",
        15 => "BookPub::Import::Importer::Gardners::Version15",
        16 => "BookPub::Import::Importer::Gardners::Version16",
    },
    BookPub::Tracker::Service::CHRISTIANBOOK() => {
        1 => "BookPub::Import::Importer::Christianbook::Version1",
        2 => "BookPub::Import::Importer::Christianbook::Version2",
        3 => "BookPub::Import::Importer::Christianbook::Version3",
    },
    BookPub::Tracker::Service::WEREAD4YOU() => {
        2 => "BookPub::Import::Importer::WeRead4You::Version2",
        3 => "BookPub::Import::Importer::WeRead4You::Version1",
    },
    BookPub::Tracker::Service::WATERSTONES() => {
        1 => "BookPub::Import::Importer::Waterstones::Version1",
    },
    BookPub::Tracker::Service::OLF() => {
        1  => "BookPub::Import::Importer::OLF::Version1",
        2  => "BookPub::Import::Importer::OLF::Version2",
        3  => "BookPub::Import::Importer::OLF::Version3",
        4  => "BookPub::Import::Importer::OLF::Version4",
        5  => "BookPub::Import::Importer::OLF::Version5",
        6  => "BookPub::Import::Importer::OLF::Version6",
        7  => "BookPub::Import::Importer::OLF::Version7",
        8  => "BookPub::Import::Importer::OLF::Version8",
        9  => "BookPub::Import::Importer::OLF",
        10 => "BookPub::Import::Importer::OLF",
        11 => "BookPub::Import::Importer::OLF::Version11",
        12 => "BookPub::Import::Importer::OLF::Version12",
        13 => "BookPub::Import::Importer::OLF::Version13",
    },
    BookPub::Tracker::Service::GOSPOKEN() => {
        1 => "BookPub::Import::Importer::GoSpoken::Version1",
    },
    BookPub::Tracker::Service::GOOGLE() => {
        1  => "BookPub::Import::Importer::Google::Version1",
        2  => "BookPub::Import::Importer::Google::Version2",
        3  => "BookPub::Import::Importer::Google::Version3",
        4  => "BookPub::Import::Importer::Google::Version4",
        5  => "BookPub::Import::Importer::Google::Version5",
        6  => "BookPub::Import::Importer::Google::Version6",
        7  => "BookPub::Import::Importer::Google::Version7",
        8  => "BookPub::Import::Importer::Google::Version8",
        9  => "BookPub::Import::Importer::Google::Version9",
        10 => "BookPub::Import::Importer::Google::Version10",
        11 => "BookPub::Import::Importer::Google::Version11",
        12 => "BookPub::Import::Importer::Google::Version12",
        13 => "BookPub::Import::Importer::Google::Version13",
        14 => "BookPub::Import::Importer::Google::Version14",
        15 => "BookPub::Import::Importer::Google::Version15",
        16 => "BookPub::Import::Importer::Google::Version16",
        17 => "BookPub::Import::Importer::Google::Version17",
        18 => "BookPub::Import::Importer::Google::Version18",
        19 => "BookPub::Import::Importer::Google::Version19",
        20 => "BookPub::Import::Importer::Google::Version20",
        21 => "BookPub::Import::Importer::Google::Version21",
        22 => "BookPub::Import::Importer::Google::Version22",
        23 => "BookPub::Import::Importer::Google::Version23",
        24 => "BookPub::Import::Importer::Google::Version24",
        25 => "BookPub::Import::Importer::Google::Version25",
    },
    BookPub::Tracker::Service::GOOGLE_PLAY() => {
        1 => "BookPub::Import::Importer::GooglePlay::Version1",
        2 => "BookPub::Import::Importer::GooglePlay::Version2",
        3 => "BookPub::Import::Importer::GooglePlay::Version2",
        4 => "BookPub::Import::Importer::GooglePlay",
    },
    BookPub::Tracker::Service::BAKERANDTAYLOR() => {
        1 => "BookPub::Import::Importer::BakerAndTaylor::Version1",
        2 => "BookPub::Import::Importer::BakerAndTaylor::Version2",
        3 => "BookPub::Import::Importer::BakerAndTaylor::Version3",
        4 => "BookPub::Import::Importer::BakerAndTaylor::Version4",
        5 => "BookPub::Import::Importer::BakerAndTaylor::Version5",
        6 => "BookPub::Import::Importer::BakerAndTaylor::Version6",
        7 => "BookPub::Import::Importer::BakerAndTaylor::Version7",
        8 => "BookPub::Import::Importer::BakerAndTaylor::Version8",
    },
    BookPub::Tracker::Service::LEARN_OUT_LOUD() => {
        1 => "BookPub::Import::Importer::LearnOutLoud::Version1",
        2 => "BookPub::Import::Importer::LearnOutLoud::Version2",
        3 => "BookPub::Import::Importer::LearnOutLoud",
    },
    BookPub::Tracker::Service::KIWITECH() => {
        1 => "BookPub::Import::Importer::KiwiTech::Version1",
    },
    BookPub::Tracker::Service::LIBRI() => {
        1 => "BookPub::Import::Importer::Libri::Version1",
        2 => "BookPub::Import::Importer::Libri",
        3 => "BookPub::Import::Importer::Libri::Version3",
        4 => "BookPub::Import::Importer::Libri::Version3",
        5 => "BookPub::Import::Importer::Libri::Version3",
    },
    BookPub::Tracker::Service::CHRISTIANAUDIO() => {
        1 => "BookPub::Import::Importer::Christianaudio::Version1",
        2 => "BookPub::Import::Importer::Christianaudio::Version2",
        3 => "BookPub::Import::Importer::Christianaudio::Version3",
        4 => "BookPub::Import::Importer::Christianaudio::Version4",
        5 => "BookPub::Import::Importer::Christianaudio::Version5",
        6 => "BookPub::Import::Importer::Christianaudio::Version6",
        7 => "BookPub::Import::Importer::Christianaudio::Version7",
        8 => "BookPub::Import::Importer::Christianaudio::Version8",
        9 => "BookPub::Import::Importer::Christianaudio::Version9",
    },
    BookPub::Tracker::Service::JONATHAN_BALL() => {
        1 => "BookPub::Import::Importer::JonathanBall::Version1",
        2 => "BookPub::Import::Importer::JonathanBall::Version2",
    },
    BookPub::Tracker::Service::ANOBII() => {
        1 => "BookPub::Import::Importer::Anobii::Version1",
        2 => "BookPub::Import::Importer::Anobii::Version2",
        3 => "BookPub::Import::Importer::SainsburysEntertainment",
        4 => "BookPub::Import::Importer::SainsburysEntertainment::Version4",
        5 => "BookPub::Import::Importer::SainsburysEntertainment",
        6 => "BookPub::Import::Importer::SainsburysEntertainment::Version6",
        7 => "BookPub::Import::Importer::SainsburysEntertainment::Version6",
        8 => "BookPub::Import::Importer::SainsburysEntertainment::Version8",
    },
    BookPub::Tracker::Service::SMARTEBOOK() => {
        1 => "BookPub::Import::Importer::SmartEbook::Version1",
    },
    BookPub::Tracker::Service::CHEGG() => {
        1  => "BookPub::Import::Importer::Chegg::Version1",
        2  => "BookPub::Import::Importer::Chegg::Version2",
        3  => "BookPub::Import::Importer::Chegg::Version3",
        4  => "BookPub::Import::Importer::Chegg::Version4",
        5  => "BookPub::Import::Importer::Chegg::Version5",
        6  => "BookPub::Import::Importer::Chegg::Version6",
        7  => "BookPub::Import::Importer::Chegg::Version7",
        8  => "BookPub::Import::Importer::Chegg::Version8",
        9  => "BookPub::Import::Importer::Chegg::Version9",
        10 => "BookPub::Import::Importer::Chegg::Version10",
        11 => "BookPub::Import::Importer::Chegg::Version11",
        12 => "BookPub::Import::Importer::Chegg::Version12",
        13 => "BookPub::Import::Importer::Chegg::Version13",
        14 => "BookPub::Import::Importer::Chegg::Version14",
        15 => "BookPub::Import::Importer::Chegg::Version15",
        16 => "BookPub::Import::Importer::Chegg::Version16",
        17 => "BookPub::Import::Importer::Chegg::Version17",
        18 => "BookPub::Import::Importer::Chegg::Version18",
        19 => "BookPub::Import::Importer::Chegg::Version19",
    },
    BookPub::Tracker::Service::RECORDED_BOOKS() => {
        1 => "BookPub::Import::Importer::RecordedBooks::Version1",
        2 => "BookPub::Import::Importer::RecordedBooks::Version2",
        3 => "BookPub::Import::Importer::RecordedBooks::Version3",
        4 => "BookPub::Import::Importer::RecordedBooks::Version4",
    },
    BookPub::Tracker::Service::DAWSON_BOOKS() => {
        1 => "BookPub::Import::Importer::DawsonBooks::Version1",
        2 => "BookPub::Import::Importer::DawsonBooks::Version2",
        3 => "BookPub::Import::Importer::DawsonBooks::Version3",
    },
    BookPub::Tracker::Service::OREILLY() => {
        1 => "BookPub::Import::Importer::OReilly::Version1",
        2 => "BookPub::Import::Importer::OReilly::Version2",
    },
    BookPub::Tracker::Service::KNO() => {
        1 => "BookPub::Import::Importer::Kno::Version1",
        2 => "BookPub::Import::Importer::Kno::Version2",
        3 => "BookPub::Import::Importer::Kno::Version3",
        4 => "BookPub::Import::Importer::Kno::Version4",
        5 => "BookPub::Import::Importer::Intel",
        6 => "BookPub::Import::Importer::Intel::Version6",
    },
    BookPub::Tracker::Service::AIDC() => {
        1 => "BookPub::Import::Importer::AIDC::Version1",
        2 => "BookPub::Import::Importer::AIDC::Version2",
    },
    BookPub::Tracker::Service::DOCSTOC() => {
        1 => "BookPub::Import::Importer::DocStoc::Version1",
    },
    BookPub::Tracker::Service::OCLC() => {
        1 => "BookPub::Import::Importer::OCLC::Version1",
        2 => "BookPub::Import::Importer::OCLC::Version2",
        3 => "BookPub::Import::Importer::OCLC::Version3",
        4 => "BookPub::Import::Importer::OCLC",
        5 => "BookPub::Import::Importer::OCLC::Version5",
    },
    BookPub::Tracker::Service::EBSCO() => {
        1 => "BookPub::Import::Importer::EBSCO::Version1",
        2 => "BookPub::Import::Importer::EBSCO",
        3 => "BookPub::Import::Importer::EBSCO2",
        4 => "BookPub::Import::Importer::EBSCO::Version4",
        5 => "BookPub::Import::Importer::EBSCO::Version5",
    },
    BookPub::Tracker::Service::WHEELERS() => {
        1 => "BookPub::Import::Importer::Wheelers::Version1",
        2 => "BookPub::Import::Importer::Wheelers::Version2",
    },
    BookPub::Tracker::Service::SCRIBD() => {
        1  => "BookPub::Import::Importer::Scribd::Version1",
        2  => "BookPub::Import::Importer::Scribd::Version2",
        3  => "BookPub::Import::Importer::Scribd::Version3",
        4  => "BookPub::Import::Importer::Scribd::Version4",
        5  => "BookPub::Import::Importer::Scribd::Version5",
        6  => "BookPub::Import::Importer::Scribd::Version6",
        7  => "BookPub::Import::Importer::Scribd",
        8  => "BookPub::Import::Importer::Scribd::Version8",
        9  => "BookPub::Import::Importer::Scribd::Version6",
        10 => "BookPub::Import::Importer::Scribd::Version10",
        11 => "BookPub::Import::Importer::Scribd::Version11",
        12 => "BookPub::Import::Importer::Scribd::Version6",
        13 => "BookPub::Import::Importer::Scribd::Version13",
        14 => "BookPub::Import::Importer::Scribd::Version14",
    },
    BookPub::Tracker::Service::INSCRIBE_DIGITAL() => {
        1 => "BookPub::Import::Importer::INscribeDigital::Version1",
        2 => "BookPub::Import::Importer::INscribeDigital::Version2",
        3 => "BookPub::Import::Importer::INscribeDigital::Version3",
        4 => "BookPub::Import::Importer::INscribeDigital::Version4",
        5 => "BookPub::Import::Importer::INscribeDigital::Version5",
    },
    BookPub::Tracker::Service::GOOGLE_PROMOTIONS() => {
        1 => "BookPub::Import::Importer::GooglePromotions::Version1",
    },
    BookPub::Tracker::Service::BOOKISH() => {
        1 => "BookPub::Import::Importer::Bookish::Version1",
    },
    BookPub::Tracker::Service::EBRARY() => {
        1 => "BookPub::Import::Importer::ebrary::Version1",
        2 => "BookPub::Import::Importer::ebrary::Version2",
        3 => "BookPub::Import::Importer::ebrary::Version3",

        #4 => "BookPub::Import::Importer::ebrary::Version4",
        5  => "BookPub::Import::Importer::ebrary::Version5",
        6  => "BookPub::Import::Importer::ebrary::Version6",
        7  => "BookPub::Import::Importer::ebrary::Version7",
        8  => "BookPub::Import::Importer::ebrary::Version8",
        9  => "BookPub::Import::Importer::ebrary::Version9",
        10 => "BookPub::Import::Importer::ebrary::Version8",
        11 => "BookPub::Import::Importer::ebrary::Version9",
        12 => "BookPub::Import::Importer::ebrary::Version8",
        13 => "BookPub::Import::Importer::ebrary::Version9",
        14 => "BookPub::Import::Importer::ebrary::Version8",
        15 => "BookPub::Import::Importer::ebrary::Version15",
        16 => "BookPub::Import::Importer::ebrary::Version16",
    },
    BookPub::Tracker::Service::PROQUEST_SUBSCRIPTION() => {
        16 => "BookPub::Import::Importer::ProQuestSubscription::v16",
        17 => "BookPub::Import::Importer::ProQuestSubscription::v17",
        18 => "BookPub::Import::Importer::ProQuestSubscription::v18",
    },
    BookPub::Tracker::Service::TUNECORE() => {
        1 => "BookPub::Import::Importer::TuneCore::Version1",
    },
    BookPub::Tracker::Service::BLACKSTONE_AUDIO() => {
        1 => "BookPub::Import::Importer::BlackstoneAudio::Version1",
        2 => "BookPub::Import::Importer::BlackstoneAudio::Version2",
        3 => "BookPub::Import::Importer::BlackstoneAudio::Version3",
        4 => "BookPub::Import::Importer::BlackstoneAudio::Version4",
        5 => "BookPub::Import::Importer::BlackstoneAudio",
        6 => "BookPub::Import::Importer::BlackstoneAudio::Version6",
    },
    BookPub::Tracker::Service::TXTR() => {
        1  => "BookPub::Import::Importer::txtr::Version1",
        2  => "BookPub::Import::Importer::txtr::Version2",
        3  => "BookPub::Import::Importer::txtr::Version3",
        4  => "BookPub::Import::Importer::txtr::Version4",
        5  => "BookPub::Import::Importer::txtr::Version5",
        6  => "BookPub::Import::Importer::txtr::Version6",
        7  => "BookPub::Import::Importer::txtr::Version7",
        8  => "BookPub::Import::Importer::txtr::Version8",
        9  => "BookPub::Import::Importer::txtr::Version9",
        10 => "BookPub::Import::Importer::txtr",
        11 => "BookPub::Import::Importer::txtr",
        12 => "BookPub::Import::Importer::txtr",
        13 => "BookPub::Import::Importer::txtr",
        14 => "BookPub::Import::Importer::txtr",
        15 => "BookPub::Import::Importer::txtr::Version15",
    },
    BookPub::Tracker::Service::DIESEL_EBOOKS() => {
        1 => "BookPub::Import::Importer::DieselEbooks::Version1",
    },
    BookPub::Tracker::Service::COPIA() => {
        1 => "BookPub::Import::Importer::Copia::Version1",
        2 => "BookPub::Import::Importer::Copia::Version2",
        3 => "BookPub::Import::Importer::Copia::Version3",
        4 => "BookPub::Import::Importer::Copia::Version4",
        5 => "BookPub::Import::Importer::Copia::Version5",
        6 => "BookPub::Import::Importer::Copia",
        7 => "BookPub::Import::Importer::Copia::Version7",
    },
    BookPub::Tracker::Service::DRAGONMOUNT() => {
        1 => "BookPub::Import::Importer::Dragonmount::Version1",
        2 => "BookPub::Import::Importer::Dragonmount::Version2",
        3 => "BookPub::Import::Importer::Dragonmount::Version3",
    },
    BookPub::Tracker::Service::BOOKSHOUT() => {
        1 => "BookPub::Import::Importer::BookShout::Version1",
        2 => "BookPub::Import::Importer::BookShout::Version2",
        3 => "BookPub::Import::Importer::BookShout::Version3",
        4 => "BookPub::Import::Importer::BookShout::Version4",
    },
    BookPub::Tracker::Service::THE_BOOK_PEOPLE() => {
        1 => "BookPub::Import::Importer::TheBookPeople::Version1",
        2 => "BookPub::Import::Importer::TheBookPeople::Version2",
        3 => "BookPub::Import::Importer::TheBookPeople::Version3",
        4 => "BookPub::Import::Importer::TheBookPeople::Version4",
    },
    BookPub::Tracker::Service::FLIPKART() => {
        1 => "BookPub::Import::Importer::Flipkart::Version1",
        2 => "BookPub::Import::Importer::Flipkart::Version1",
        3 => "BookPub::Import::Importer::Flipkart",
    },
    BookPub::Tracker::Service::ZOLA_BOOKS() => {
        1 => "BookPub::Import::Importer::ZolaBooks::Version1",
        2 => "BookPub::Import::Importer::ZolaBooks::Version2",
    },
    BookPub::Tracker::Service::IGROUP() => {
        1 => "BookPub::Import::Importer::iGroup::Version1",
        2 => "BookPub::Import::Importer::iGroup::Version2",
        3 => "BookPub::Import::Importer::iGroup::Version3",
    },
    BookPub::Tracker::Service::ZINIO() => {
        1 => "BookPub::Import::Importer::Zinio::Version1",
    },
    BookPub::Tracker::Service::VITAL_SOURCE() => {
        1  => "BookPub::Import::Importer::VitalSource::Version1",
        2  => "BookPub::Import::Importer::VitalSource::Version2",
        3  => "BookPub::Import::Importer::VitalSource::Version3",
        4  => "BookPub::Import::Importer::VitalSource::Version4",
        5  => "BookPub::Import::Importer::VitalSource",
        6  => "BookPub::Import::Importer::VitalSource::Version6",
        7  => "BookPub::Import::Importer::VitalSource::Version7",
        8  => "BookPub::Import::Importer::VitalSource::Version3",
        9  => "BookPub::Import::Importer::VitalSource::Version9",
        10 => "BookPub::Import::Importer::VitalSource::Version10",
        11 => "BookPub::Import::Importer::VitalSource",
        12 => "BookPub::Import::Importer::VitalSource::Version12",
        13 => "BookPub::Import::Importer::VitalSource::Version13",
        14 => "BookPub::Import::Importer::VitalSource::Version14",
        15 => "BookPub::Import::Importer::VitalSource::Version15",
        16 => "BookPub::Import::Importer::VitalSource::Version16",
        17 => "BookPub::Import::Importer::VitalSource::Version17",
        18 => "BookPub::Import::Importer::VitalSource::Version18",
        19 => "BookPub::Import::Importer::VitalSource::Version19",
        20 => "BookPub::Import::Importer::VitalSource::Version20",
        21 => "BookPub::Import::Importer::VitalSource::Version21", # Former Capella v1
        22 => "BookPub::Import::Importer::RoyaltyShare",           # Former Capella v3
        23 => "BookPub::Import::Importer::VitalSource::Version23", # Former Capella v4
        24 => "BookPub::Import::Importer::VitalSource::Version23",
        25 => "BookPub::Import::Importer::VitalSource::Version25", # VitalSource/Barnes&Noble Eductaion
        26 => "BookPub::Import::Importer::VitalSource::Version25", # VitalSource/Barnes&Noble Eductaion
        27 => "BookPub::Import::Importer::VitalSource::Version25", # VitalSource/Barnes&Noble Eductaion
    },
    BookPub::Tracker::Service::DE_MARQUE() => {
        1 => "BookPub::Import::Importer::DeMarque::v1",
        2 => "BookPub::Import::Importer::DeMarque::v2",
        3 => "BookPub::Import::Importer::DeMarque::v3",

    },
    BookPub::Tracker::Service::FEEDBOOKS() => {
        1 => "BookPub::Import::Importer::Feedbooks::Version1",
        2 => "BookPub::Import::Importer::Feedbooks::Version2",
        3 => "BookPub::Import::Importer::Feedbooks::Version3",
    },
    BookPub::Tracker::Service::BOOKSFREE() => {
        1 => "BookPub::Import::Importer::Booksfree::Version1",
    },
    BookPub::Tracker::Service::AUDIOBOOKSNOW() => {
        1 => "BookPub::Import::Importer::AudiobooksNow::Version1",
    },
    BookPub::Tracker::Service::AMBLINGBOOKS() => {
        1 => "BookPub::Import::Importer::AmblingBooks::Version1",
    },
    BookPub::Tracker::Service::MACKIN() => {
        1 => "BookPub::Import::Importer::Mackin::Version1",
        2 => "BookPub::Import::Importer::Mackin::Version2",
        3 => "BookPub::Import::Importer::Mackin::Version3",
        4 => "BookPub::Import::Importer::Mackin::Version4",
    },
    BookPub::Tracker::Service::COURSELOAD() => {
        1 => "BookPub::Import::Importer::Courseload::Version1",
        2 => "BookPub::Import::Importer::Courseload",
    },
    BookPub::Tracker::Service::KOORONG() => {
        1 => "BookPub::Import::Importer::Koorong::Version1",
        2 => "BookPub::Import::Importer::Koorong::Version2",
    },
    BookPub::Tracker::Service::TBS_DIRECT() => {
        1 => "BookPub::Import::Importer::TBSDirect::Version1",
        2 => "BookPub::Import::Importer::TBSDirect::Version2",
    },
    BookPub::Tracker::Service::OYSTER() => {
        1 => "BookPub::Import::Importer::Oyster::Version1",
        2 => "BookPub::Import::Importer::Oyster",
        3 => "BookPub::Import::Importer::Oyster::Version3",
        4 => "BookPub::Import::Importer::Oyster",
    },
    BookPub::Tracker::Service::JB_HIFI() => {
        1 => "BookPub::Import::Importer::JBHiFi",
    },
    BookPub::Tracker::Service::ROWMAN_COM_ESALES() => {
        1 => "BookPub::Import::Importer::RowmanComEsales",
    },
    BookPub::Tracker::Service::READBOOKS() => {
        1 => "BookPub::Import::Importer::Readbooks",
        2 => "BookPub::Import::Importer::Readbooks",
        3 => "BookPub::Import::Importer::Readbooks::Version3",
        4 => "BookPub::Import::Importer::Readbooks::Version4",
    },
    BookPub::Tracker::Service::BOLINDA_DIGITAL() => {
        1  => "BookPub::Import::Importer::BolindaDigital",
        2  => "BookPub::Import::Importer::BolindaDigital",
        3  => "BookPub::Import::Importer::BolindaDigital::Version3",
        4  => "BookPub::Import::Importer::BolindaDigital",
        5  => "BookPub::Import::Importer::BolindaDigital::Version5",
        6  => "BookPub::Import::Importer::BolindaDigital::Version6",
        7  => "BookPub::Import::Importer::BolindaDigital::Version7",
        8  => "BookPub::Import::Importer::BolindaDigital::Version8",
        9  => "BookPub::Import::Importer::BolindaDigital::Version9",
        10 => "BookPub::Import::Importer::BolindaDigital::Version10",
        11 => "BookPub::Import::Importer::BolindaDigital::Version11",
        12 => "BookPub::Import::Importer::BolindaDigital::Version12",
        13 => "BookPub::Import::Importer::BolindaDigital::Version13",
        14 => "BookPub::Import::Importer::BolindaDigital::Version14",
    },
    BookPub::Tracker::Service::DIRECT_EBOOKS() => {
        1 => "BookPub::Import::Importer::DirectEbooks",
        2 => "BookPub::Import::Importer::DirectEbooks",
    },
    BookPub::Tracker::Service::READCLOUD() => {
        1 => "BookPub::Import::Importer::ReadCloud",
        2 => "BookPub::Import::Importer::ReadCloud::Version2",
        3 => "BookPub::Import::Importer::ReadCloud::Version3",
        4 => "BookPub::Import::Importer::ReadCloud::Version4",
    },
    BookPub::Tracker::Service::MOMENTUM_BOOKS() => {
        1 => "BookPub::Import::Importer::MomentumBooks",
    },
    BookPub::Tracker::Service::ENTITLE_BOOKS() => {
        1 => "BookPub::Import::Importer::EntitleBooks",
    },
    # FINDAWAY_WORLD has been renamed to InAudio (RSD-11596)
    BookPub::Tracker::Service::IN_AUDIO() => {
        1 => "BookPub::Import::Importer::InAudio",
        2 => "BookPub::Import::Importer::InAudio",
        3 => "BookPub::Import::Importer::InAudio::Version3",
        4 => "BookPub::Import::Importer::InAudio::Version4",
        5 => "BookPub::Import::Importer::InAudio::Version5",
        6 => "BookPub::Import::Importer::InAudio::Version6",
        7 => "BookPub::Import::Importer::InAudio::Version7",
        8 => "BookPub::Import::Importer::InAudio::Version8",
    },
    BookPub::Tracker::Service::WORD() => {
        1 => "BookPub::Import::Importer::Word",
    },
    BookPub::Tracker::Service::BLINKBOX() => {
        1 => "BookPub::Import::Importer::Blinkbox",
    },
    BookPub::Tracker::Service::NUMILOG() => {
        1 => "BookPub::Import::Importer::Numilog::Version1",
        2 => "BookPub::Import::Importer::Numilog::Version2",
        3 => "BookPub::Import::Importer::Numilog::Version3",
        4 => "BookPub::Import::Importer::Numilog::Version4",
        5 => "BookPub::Import::Importer::Numilog::Version5",
    },
    BookPub::Tracker::Service::HBG() => {
        1 => "BookPub::Import::Importer::HBG::Version1",
        2 => "BookPub::Import::Importer::HBG::Version2",
        3 => "BookPub::Import::Importer::HBG::Version3",
        4 => "BookPub::Import::Importer::HBG::Version4",
    },
    BookPub::Tracker::Service::SKOOBE() => {
        1 => "BookPub::Import::Importer::Skoobe::Version1",
        2 => "BookPub::Import::Importer::Skoobe",
        3 => "BookPub::Import::Importer::Skoobe",
        4 => "BookPub::Import::Importer::Skoobe",
    },
    BookPub::Tracker::Service::MACQUARIE() => {
        1 => "BookPub::Import::Importer::Macquarie::Version1",
        2 => "BookPub::Import::Importer::Macquarie",
        3 => "BookPub::Import::Importer::Macquarie",
    },
    BookPub::Tracker::Service::BOOKSOURCE() => {
        1 => "BookPub::Import::Importer::Booksource",
        2 => "BookPub::Import::Importer::Booksource",
    },
    BookPub::Tracker::Service::LIBRIFY() => {
        1 => "BookPub::Import::Importer::Librify",
    },
    BookPub::Tracker::Service::VIRDOCS() => {
        1  => "BookPub::Import::Importer::Virdocs",
        2  => "BookPub::Import::Importer::RedShelf",
        3  => "BookPub::Import::Importer::RedShelf",
        4  => "BookPub::Import::Importer::RedShelf",
        5  => "BookPub::Import::Importer::RedShelf::Version5",
        6  => "BookPub::Import::Importer::RedShelf::Version6",
        7  => "BookPub::Import::Importer::RedShelf::Version7",
        8  => "BookPub::Import::Importer::RedShelf::Version8",
        9  => "BookPub::Import::Importer::RedShelf::Version9",
        10 => "BookPub::Import::Importer::RedShelf::Version10",
        11 => "BookPub::Import::Importer::RedShelf::Version11",
        12 => "BookPub::Import::Importer::RedShelf::Version11",
        13 => "BookPub::Import::Importer::RedShelf::Version13",
        14 => "BookPub::Import::Importer::RedShelf::Version10",
        15 => "BookPub::Import::Importer::RedShelf::Version15",
        16 => "BookPub::Import::Importer::RedShelf::Version16",
        17 => "BookPub::Import::Importer::RedShelf::Version17",
        18 => "BookPub::Import::Importer::RedShelf::Version18",
        19 => "BookPub::Import::Importer::RedShelf::Version19",
        20 => "BookPub::Import::Importer::RedShelf::Version20",
    },
    BookPub::Tracker::Service::ACX() => {
        1 => "BookPub::Import::Importer::ACX::ACX",
        2 => "BookPub::Import::Importer::ACX::ACX",
        3 => "BookPub::Import::Importer::ACX::Version3",
        # 4 => there is the RoyaltyShare format for ACX
        5 => "BookPub::Import::Importer::ACX::Version5",
    },
    BookPub::Tracker::Service::YUZU() => {
        1 => "BookPub::Import::Importer::Yuzu",
        2 => "BookPub::Import::Importer::Yuzu",
        3 => "BookPub::Import::Importer::Yuzu",
        4 => "BookPub::Import::Importer::Yuzu",
        5 => "BookPub::Import::Importer::Yuzu::Version5",
        6 => "BookPub::Import::Importer::Yuzu::Version6",
        7 => "BookPub::Import::Importer::Yuzu::Version7",
        8 => "BookPub::Import::Importer::Yuzu::Version8",
        9 => "BookPub::Import::Importer::Yuzu::Version9",
    },
    BookPub::Tracker::Service::SLICEBOOKS() => {
        1 => "BookPub::Import::Importer::Slicebooks",
        2 => "BookPub::Import::Importer::Slicebooks",
        3 => "BookPub::Import::Importer::Slicebooks",
    },
    BookPub::Tracker::Service::CATCH_GROUP() => {
        1 => "BookPub::Import::Importer::CatchGroup",
    },
    BookPub::Tracker::Service::GLOSE() => {
        1 => "BookPub::Import::Importer::Glose",
        2 => "BookPub::Import::Importer::Glose",
        3 => "BookPub::Import::Importer::Glose",
    },
    BookPub::Tracker::Service::PAN_AUSTRALIA() => {
        1 => "BookPub::Import::Importer::PanAustralia",
        2 => "BookPub::Import::Importer::PanAustralia",
    },
    BookPub::Tracker::Service::ODILO() => {
        1 => "BookPub::Import::Importer::Odilo",
        2 => "BookPub::Import::Importer::Odilo::Version2",
        3 => "BookPub::Import::Importer::Odilo::Version3",
        4 => "BookPub::Import::Importer::Odilo::Version4",
        5 => "BookPub::Import::Importer::Odilo::Version5",
        6 => "BookPub::Import::Importer::Odilo::Version6",
        # Odilo Importers v7 and v8 were retired (RSD-9637)
        9 => "BookPub::Import::Importer::Odilo::Version9",
        10 => "BookPub::Import::Importer::Odilo::Version9",
        11 => "BookPub::Import::Importer::Odilo::Version11",
    },
    BookPub::Tracker::Service::KORTEXT() => {
        1 => "BookPub::Import::Importer::Kortext",
        2 => "BookPub::Import::Importer::Kortext",
        3 => "BookPub::Import::Importer::Kortext::Version3",
        4 => "BookPub::Import::Importer::Kortext::Version3",
        5 => "BookPub::Import::Importer::Kortext::Version3",
    },
    BookPub::Tracker::Service::SAFARIBOOKS() => {
        1 => "BookPub::Import::Importer::SafariBooks",
    },
    BookPub::Tracker::Service::TWENTY_FOUR_SYMBOLS() => {
        1 => "BookPub::Import::Importer::24Symbols",
        2 => "BookPub::Import::Importer::24Symbols::Version2",
    },
    BookPub::Tracker::Service::INKLING() => {
        1 => "BookPub::Import::Importer::Inkling",
    },
    BookPub::Tracker::Service::BOOKTOPIA() => {
        1 => "BookPub::Import::Importer::Booktopia",
        2 => "BookPub::Import::Importer::Booktopia",
        3 => "BookPub::Import::Importer::Booktopia::Version3",
        4 => "BookPub::Import::Importer::Booktopia::Version4",
        5 => "BookPub::Import::Importer::Booktopia::Version3",
    },
    BookPub::Tracker::Service::PETER_PAL() => {
        1 => "BookPub::Import::Importer::PeterPal",
        2 => "BookPub::Import::Importer::PeterPal::Version2",
    },
    BookPub::Tracker::Service::BITLIT_MEDIA() => {
        1 => "BookPub::Import::Importer::BitLitMedia",
    },
    BookPub::Tracker::Service::READWELL() => {
        1 => "BookPub::Import::Importer::Readwell",
        2 => "BookPub::Import::Importer::Readwell::Version2",
        3 => "BookPub::Import::Importer::Readwell::Version3",
        4 => "BookPub::Import::Importer::Readwell::Version4",
    },
    BookPub::Tracker::Service::XANEDU() => {
        1 => "BookPub::Import::Importer::SharedBook",
    },
    BookPub::Tracker::Service::EPIC() => {
        1 => "BookPub::Import::Importer::Epic",
    },
    BookPub::Tracker::Service::BLLOON() => {
        1 => "BookPub::Import::Importer::Blloon",
    },
    BookPub::Tracker::Service::BOOKMATE() => {
        1 => "BookPub::Import::Importer::Bookmate",
    },
    BookPub::Tracker::Service::ADAMS_BOOK_COMPANY() => {
        1 => "BookPub::Import::Importer::AdamsBookCompany",
        2 => "BookPub::Import::Importer::AdamsBookCompany",
        3 => "BookPub::Import::Importer::AdamsBookCompany::Version3",
        4 => "BookPub::Import::Importer::AdamsBookCompany::Version4",
    },
    BookPub::Tracker::Service::GALE() => {
        1 => "BookPub::Import::Importer::Gale::v1",
        2 => "BookPub::Import::Importer::Gale::v2",
    },
    BookPub::Tracker::Service::CREDO() => {
        1 => "BookPub::Import::Importer::Credo",
    },
    BookPub::Tracker::Service::SHAW_DIGITAL() => {
        1 => "BookPub::Import::Importer::ShawDigital",
        2 => "BookPub::Import::Importer::ShawDigital::Version2",
    },
    BookPub::Tracker::Service::STORYTEL() => {
        1 => "BookPub::Import::Importer::Storytel",
        2 => "BookPub::Import::Importer::Storytel::Version2",
        3 => "BookPub::Import::Importer::Storytel::Version3",
        4 => "BookPub::Import::Importer::Storytel::Version4",
        5 => "BookPub::Import::Importer::Storytel::Version5",
    },
    BookPub::Tracker::Service::INKTERA() => {
        1 => "BookPub::Import::Importer::Inktera",
    },
    BookPub::Tracker::Service::UNIZIN() => {
        1  => "BookPub::Import::Importer::UnizinPOD",
        2  => "BookPub::Import::Importer::Unizin",
        3  => "BookPub::Import::Importer::Unizin::Version3",
        4  => "BookPub::Import::Importer::Unizin::Version4",
        5  => "BookPub::Import::Importer::Unizin::Version5",
        6  => "BookPub::Import::Importer::Unizin::Version6",
        7  => "BookPub::Import::Importer::Unizin",
        8  => "BookPub::Import::Importer::Unizin",
        9  => "BookPub::Import::Importer::Unizin::Version9",
        10 => "BookPub::Import::Importer::Unizin::Version10",
    },
    BookPub::Tracker::Service::VEARSA() => {
        1 => "BookPub::Import::Importer::Vearsa",
        2 => "BookPub::Import::Importer::Vearsa::Version2",
    },
    BookPub::Tracker::Service::AMIGOS() => {
        1 => "BookPub::Import::Importer::Amigos",
        2 => "BookPub::Import::Importer::Amigos::Version2",
    },
    BookPub::Tracker::Service::WEBASSIGN() => {
        2 => "BookPub::Import::Importer::WebAssign",
        3 => "BookPub::Import::Importer::WebAssign",
        4 => "BookPub::Import::Importer::WebAssign",
        5 => "BookPub::Import::Importer::WebAssign",
    },
    BookPub::Tracker::Service::TRAJECTORY() => {
        1 => "BookPub::Import::Importer::Trajectory::v1",
        2 => "BookPub::Import::Importer::Trajectory::v2",
    },
    BookPub::Tracker::Service::HUMMINGBIRD_DIGITAL() => {
        1 => "BookPub::Import::Importer::HummingbirdDigital",
        2 => "BookPub::Import::Importer::HummingbirdDigital",
        3 => "BookPub::Import::Importer::HummingbirdDigital",
        4 => "BookPub::Import::Importer::HummingbirdDigital",
    },
    BookPub::Tracker::Service::NEMCC() => {
        1 => "BookPub::Import::Importer::NEMCC::v1",
    },
    BookPub::Tracker::Service::ATHABASCA_UNIVERSITY() => {
        1 => "BookPub::Import::Importer::AthabascaUniversity::v1",
    },
    BookPub::Tracker::Service::CAPELLA() => {
        # HAS BEEN RENAMED TO VITAL_SOURCE (RSD-6811)

        #1 => "BookPub::Import::Importer::Capella::v1"   => VitalSource::Version21
        #3 => "BookPub::Import::Importer::RoyaltyShare" => VitialSource::Version22
        #4 => "BookPub::Import::Importer::Capella::v4"  => VitalSource::Version23
    },
    BookPub::Tracker::Service::GRAND_CANYON_UNIV() => {
        1 => "BookPub::Import::Importer::GrandCanyonUniv",
        2 => "BookPub::Import::Importer::GrandCanyonUniv::Version2",
        3 => "BookPub::Import::Importer::GrandCanyonUniv::Version3",
        4 => "BookPub::Import::Importer::GrandCanyonUniv::Version3",
        5 => "BookPub::Import::Importer::GrandCanyonUniv::Version5",
    },
    BookPub::Tracker::Service::TEXIDIUM() => {
        1 => "BookPub::Import::Importer::Texidium",
    },
    BookPub::Tracker::Service::ED_MAP() => {
        1 => "BookPub::Import::Importer::EDMap",
        2 => "BookPub::Import::Importer::EDMap::Version2",
        3 => "BookPub::Import::Importer::EDMap::Version3",
    },
    BookPub::Tracker::Service::SAVANT_LEARNING() => {
        1 => "BookPub::Import::Importer::SavantLearning",
        2 => "BookPub::Import::Importer::SavantLearning::Version2",
    },
    BookPub::Tracker::Service::WESTERN_INTERNATIONAL() => {
        3 => "BookPub::Import::Importer::RoyaltyShare",
        4 => "BookPub::Import::Importer::WesternInternational",
    },
    BookPub::Tracker::Service::DEVRY() => {
        1 => "BookPub::Import::Importer::DeVry",
        2 => "BookPub::Import::Importer::DeVry",
        3 => "BookPub::Import::Importer::DeVry",
        4 => "BookPub::Import::Importer::DeVry",
    },
    BookPub::Tracker::Service::CEC() => {
        3 => "BookPub::Import::Importer::RoyaltyShare",
    },
    BookPub::Tracker::Service::SHANGHAI_BOOK_TRADERS() => {
        3 => "BookPub::Import::Importer::RoyaltyShare",
    },
    BookPub::Tracker::Service::PEC() => {
        3 => "BookPub::Import::Importer::RoyaltyShare",
    },
    BookPub::Tracker::Service::ECONCORDIA() => {
        3 => "BookPub::Import::Importer::RoyaltyShare",
    },
    BookPub::Tracker::Service::ECAMPUS() => {
        1 => "BookPub::Import::Importer::eCampus",
    },
    BookPub::Tracker::Service::COPYRIGHT_CLEARANCE() => {
        1 => "BookPub::Import::Importer::CopyrightClearance",
        2 => "BookPub::Import::Importer::CopyrightClearance::Version2",
        3 => "BookPub::Import::Importer::CopyrightClearance::Version3",
    },
    BookPub::Tracker::Service::INDIANA_UNIVERSITY() => {
        1 => "BookPub::Import::Importer::IndianaUniversity",
        2 => "BookPub::Import::Importer::IndianaUniversity",
    },
    BookPub::Tracker::Service::APUS() => {
        1 => "BookPub::Import::Importer::APUS",
        2 => "BookPub::Import::Importer::APUS",
        3 => "BookPub::Import::Importer::APUS::v3",
    },
    BookPub::Tracker::Service::ZOVIO() => {
        1 => "BookPub::Import::Importer::Zovio",
        2 => "BookPub::Import::Importer::Zovio::Version2",
        3 => "BookPub::Import::Importer::Zovio::Version3",
        4 => "BookPub::Import::Importer::Zovio::Version4",
    },
    BookPub::Tracker::Service::LAUREATE() => {
        1 => "BookPub::Import::Importer::Laureate",
    },
    BookPub::Tracker::Service::BLOOMSBURY_COM() => {
        1 => "BookPub::Import::Importer::Bloomsbury::v1",
        2 => "BookPub::Import::Importer::Bloomsbury::v2",
    },
    BookPub::Tracker::Service::SNAPPLIFY => {
        1 => "BookPub::Import::Importer::Snapplify::v1",
        2 => "BookPub::Import::Importer::Snapplify::v2",
        3 => "BookPub::Import::Importer::Snapplify::v2",
    },
    BookPub::Tracker::Service::EDMC() => {
        1 => "BookPub::Import::Importer::EDMC",
    },
    BookPub::Tracker::Service::AMBASSADOR() => {
        1 => "BookPub::Import::Importer::Ambassador",
        2 => "BookPub::Import::Importer::Ambassador",
        3 => "BookPub::Import::Importer::Ambassador",
    },
    BookPub::Tracker::Service::APOLLO_GROUP() => {
        1 => "BookPub::Import::Importer::ApolloGroup",
        2 => "BookPub::Import::Importer::ApolloGroup",
    },
    BookPub::Tracker::Service::SHELFIE() => {
        1 => "BookPub::Import::Importer::Shelfie",
    },
    BookPub::Tracker::Service::FAITHLIFE() => {
        1 => "BookPub::Import::Importer::Faithlife",
        2 => "BookPub::Import::Importer::Faithlife::v2",
        3 => "BookPub::Import::Importer::Faithlife::v2",
    },
    BookPub::Tracker::Service::ONECLICKDIGITAL() => {
        1 => "BookPub::Import::Importer::OneClickdigital",
        2 => "BookPub::Import::Importer::OneClickdigital::Version2",
        3 => "BookPub::Import::Importer::OneClickdigital::Version3",
        4 => "BookPub::Import::Importer::OneClickdigital::Version4",
        5 => "BookPub::Import::Importer::OneClickdigital::Version5",
        6 => "BookPub::Import::Importer::WFHowes::v6",
        7 => "BookPub::Import::Importer::WFHowes::v7",
        8 => "BookPub::Import::Importer::WFHowes::v8",
        9 => "BookPub::Import::Importer::WFHowes::v9",
    },
    BookPub::Tracker::Service::WGU() => {
        1 => "BookPub::Import::Importer::WGU",
        2 => "BookPub::Import::Importer::WGU::Version2",
    },
    BookPub::Tracker::Service::LIBRARY_IDEAS() => {
        1 => "BookPub::Import::Importer::LibraryIdeas",
    },
    BookPub::Tracker::Service::ALEXI() => {
        1 => "BookPub::Import::Importer::Alexi",
        2 => "BookPub::Import::Importer::Alexi::Version2",
        3 => "BookPub::Import::Importer::Alexi::Version3",
        4 => "BookPub::Import::Importer::Alexi::Version4",
    },
    BookPub::Tracker::Service::PERUSALL() => {
        1 => "BookPub::Import::Importer::Perusall",
        2 => "BookPub::Import::Importer::Perusall::Version2",
        3 => "BookPub::Import::Importer::Perusall::Version3",
        4 => "BookPub::Import::Importer::Perusall::Version4",
        5 => "BookPub::Import::Importer::Perusall::Version5",
    },
    BookPub::Tracker::Service::CNPEREADING() => {
        1 => "BookPub::Import::Importer::CNPeReading::Version1",
        2 => "BookPub::Import::Importer::CNPeReading::Version2",
        3 => "BookPub::Import::Importer::CNPeReading::Version3",
    },

    # See notes about this service in bookpub/lib/BookPub/Sale/File.pm
    BookPub::Tracker::Service::CORBAN_UNIVERSITY() => {
        3 => "BookPub::Import::Importer::RoyaltyShare",
    },
    BookPub::Tracker::Service::KINOKUNIYA() => {
        1 => "BookPub::Import::Importer::Kinokuniya",
    },
    BookPub::Tracker::Service::BFC_GB() => {
        1 => "BookPub::Import::Importer::BFC",
    },
    BookPub::Tracker::Service::BFC_US() => {
        1 => "BookPub::Import::Importer::BFC",
    },
    BookPub::Tracker::Service::RM_BOOKS() => {
        1 => "BookPub::Import::Importer::RMBooks",
    },
    BookPub::Tracker::Service::LANGUAGE_WORLD() => {
        1 => "BookPub::Import::Importer::LanguageWorld",
    },
    BookPub::Tracker::Service::BOKBASEN() => {
        1 => "BookPub::Import::Importer::Bokbasen::v1",
        2 => "BookPub::Import::Importer::Bokbasen::v2",
    },
    BookPub::Tracker::Service::ACROBATIQ() => {
        1 => "BookPub::Import::Importer::Acrobatiq::v1",
        2 => "BookPub::Import::Importer::Acrobatiq::v2",
        3 => "BookPub::Import::Importer::RoyaltyShare",
    },
    BookPub::Tracker::Service::DOWNPOUR() => {
        1 => "BookPub::Import::Importer::Downpour",
        2 => "BookPub::Import::Importer::Downpour::Version2",
        3 => "BookPub::Import::Importer::Downpour::Version2",
        4 => "BookPub::Import::Importer::Downpour::Version2",
    },
    BookPub::Tracker::Service::VERBA() => {
        1 => "BookPub::Import::Importer::Verba",
    },
    BookPub::Tracker::Service::ALEXANDER_STREET() => {
        1 => "BookPub::Import::Importer::AlexanderStreet",
        2 => "BookPub::Import::Importer::AlexanderStreet::Version2",
    },
    BookPub::Tracker::Service::KNOVEL() => {
        1 => "BookPub::Import::Importer::Knovel",
    },
    BookPub::Tracker::Service::PRODEVIA_LEARNING() => {
        1 => "BookPub::Import::Importer::ProdeviaLearning",
    },

    BookPub::Tracker::Service::PERMA_BOUND() => {
        1 => "BookPub::Import::Importer::PermaBound::v1",
    },
    BookPub::Tracker::Service::LIX() => {
        1 => "BookPub::Import::Importer::Lix::v1",
    },
    BookPub::Tracker::Service::BOOKPAL() => {
        1 => "BookPub::Import::Importer::BookPal::v1",
    },
    BookPub::Tracker::Service::ADTALEM_CHAMBERLAIN() => {
        1 => "BookPub::Import::Importer::AdtalemChamberlain::v1",
        2 => "BookPub::Import::Importer::AdtalemChamberlain::v1",
    },
    BookPub::Tracker::Service::BOKSALA_STUDENTA() => {
        1 => "BookPub::Import::Importer::BoksalaStudenta::v1",
        2 => "BookPub::Import::Importer::BoksalaStudenta::v2",
        3 => "BookPub::Import::Importer::BoksalaStudenta::v3",
        4 => "BookPub::Import::Importer::BoksalaStudenta::v4",
    },
    BookPub::Tracker::Service::BAOBAB_EBOOK_SERVICES() => {
        1 => "BookPub::Import::Importer::Baobab::v1",
    },
    BookPub::Tracker::Service::PERLEGO() => {
        1 => "BookPub::Import::Importer::Perlego::Version1",
        2 => "BookPub::Import::Importer::Perlego::Version2",
        3 => "BookPub::Import::Importer::Perlego::Version3",
        4 => "BookPub::Import::Importer::Perlego::Version4",
        5 => "BookPub::Import::Importer::Perlego::Version5",
        6 => "BookPub::Import::Importer::Perlego::Version6",
        7 => "BookPub::Import::Importer::Perlego::Version5",
    },
    BookPub::Tracker::Service::HOOPLA_DIGITAL() => {
        1 => "BookPub::Import::Importer::HooplaDigital::v1",
        2 => "BookPub::Import::Importer::HooplaDigital::v2",
        3 => "BookPub::Import::Importer::HooplaDigital::v3",
        4 => "BookPub::Import::Importer::HooplaDigital::v2",
        5 => "BookPub::Import::Importer::HooplaDigital::v2",
    },
    BookPub::Tracker::Service::FRANKLIN_UNIVERSITY() => {
        1 => "BookPub::Import::Importer::FranklinUniversity::v1",
    },
    BookPub::Tracker::Service::VIVLIO() => {
        1 => "BookPub::Import::Importer::Vivlio::v1",
        2 => "BookPub::Import::Importer::Vivlio::v2",
    },
    BookPub::Tracker::Service::CSU_FULLERTON() => {
        1 => "BookPub::Import::Importer::CSUFullerton::v1",
        2 => "BookPub::Import::Importer::CSUFullerton::v2",
    },
    BookPub::Tracker::Service::ALKEM() => {
        1 => "BookPub::Import::Importer::ALKEM::v1",
    },
    BookPub::Tracker::Service::LIBRIOS() => {
        1 => "BookPub::Import::Importer::Librios::v1",
    },
    BookPub::Tracker::Service::MOFIBO() => {
        1 => "BookPub::Import::Importer::Mofibo::v1",
    },
    BookPub::Tracker::Service::LEO_DEHON_LIBRARY() => {
        3 => "BookPub::Import::Importer::RoyaltyShare",
    },
    BookPub::Tracker::Service::YOUNGSTOWN_STATE() => {
        3 => "BookPub::Import::Importer::RoyaltyShare",
    },
    BookPub::Tracker::Service::WRIGHT_STATE() => {
        3 => "BookPub::Import::Importer::RoyaltyShare",
    },
    BookPub::Tracker::Service::CATHOLIC_DISTANCE_UNIVERSITY() => {
        3 => "BookPub::Import::Importer::RoyaltyShare",
    },
    BookPub::Tracker::Service::PENN_FOSTER() => {
        3 => "BookPub::Import::Importer::RoyaltyShare",
    },
    BookPub::Tracker::Service::BOOKWIRE() => {
        1 => "BookPub::Import::Importer::Bookwire::v1",
    },
    BookPub::Tracker::Service::JUGGERNAUT() => {
        1 => "BookPub::Import::Importer::Juggernaut::v1",
    },
    BookPub::Tracker::Service::LIBRO() => {
        1 => "BookPub::Import::Importer::Libro::v1",
        2 => "BookPub::Import::Importer::Libro::v1",
        3 => "BookPub::Import::Importer::Libro::v3",
    },
    BookPub::Tracker::Service::WKU() => {
        3 => "BookPub::Import::Importer::RoyaltyShare",
    },
    BookPub::Tracker::Service::AUDIOBOOK_STORE() => {
        1 => "BookPub::Import::Importer::AudiobookStore::v1",
        2 => "BookPub::Import::Importer::AudiobookStore::v2",
    },
    BookPub::Tracker::Service::CLOUDALOUD() => {
        1 => "BookPub::Import::Importer::Cloudaloud::v1",
    },
    BookPub::Tracker::Service::COLUMBIA_SOUTHERN_UNIVERSITY() => {
        3 => "BookPub::Import::Importer::ColumbiaSouthernUniversity::v3",
    },
    BookPub::Tracker::Service::ONEWORLD_CONTENT() => {
        1 => "BookPub::Import::Importer::OneWorldContent::v1",
    },
    BookPub::Tracker::Service::NEXTORY() => {
        1 => "BookPub::Import::Importer::Nextory::v1",
    },
    BookPub::Tracker::Service::BOOKBEAT() => {
        1 => "BookPub::Import::Importer::BookBeat::v1",
        2 => "BookPub::Import::Importer::BookBeat::v2",
    },
    BookPub::Tracker::Service::ZEBRALUTION() => {
        1 => "BookPub::Import::Importer::Zebralution::v1",
        2 => "BookPub::Import::Importer::Zebralution::v2",
    },
    BookPub::Tracker::Service::RALLY_READER() => {
        1 => "BookPub::Import::Importer::RallyReader::v1",
    },
    BookPub::Tracker::Service::IZNEO() => {
        1 => "BookPub::Import::Importer::Izneo::v1",
    },
    BookPub::Tracker::Service::OPEN_ROAD_MEDIA() => {
        1 => "BookPub::Import::Importer::OpenRoadMedia::v1",
        2 => "BookPub::Import::Importer::OpenRoadMedia::v2",
        3 => "BookPub::Import::Importer::OpenRoadMedia::v3",
        4 => "BookPub::Import::Importer::OpenRoadMedia::v4",
        5 => "BookPub::Import::Importer::OpenRoadMedia::v5",
        6 => "BookPub::Import::Importer::OpenRoadMedia::v6",
    },
    BookPub::Tracker::Service::BLINKIST() => {
        1 => "BookPub::Import::Importer::Blinkist::v1",
        2 => "BookPub::Import::Importer::Blinkist::v2",
        3 => "BookPub::Import::Importer::Blinkist::v3",
        4 => "BookPub::Import::Importer::Blinkist::v4",
    },
    BookPub::Tracker::Service::FABLE() => {
        1 => "BookPub::Import::Importer::Fable::v1",
    },
    BookPub::Tracker::Service::BIBLIU() => {
        1 => "BookPub::Import::Importer::Bibliu::v1",
        2 => "BookPub::Import::Importer::Bibliu::v2",
        3 => "BookPub::Import::Importer::Bibliu::v3",
    },
    BookPub::Tracker::Service::HEKMAN_LIBRARY() => {
        4 => "BookPub::Import::Importer::RoyaltyShare::Version4",
    },
    BookPub::Tracker::Service::YOTO() => {
        1 => "BookPub::Import::Importer::Yoto::v1",
        2 => "BookPub::Import::Importer::Yoto::v2",
        3 => "BookPub::Import::Importer::Yoto::v3",
        4 => "BookPub::Import::Importer::Yoto::v4",
    },
    BookPub::Tracker::Service::CHAPTER() => {
        1 => "BookPub::Import::Importer::Chapter::v1",
    },
    BookPub::Tracker::Service::WILLO_LABS() => {
        1 => "BookPub::Import::Importer::WilloLabs::v1",
        2 => "BookPub::Import::Importer::WilloLabs::v2",
        3 => "BookPub::Import::Importer::WilloLabs::v2",
        4 => "BookPub::Import::Importer::WilloLabs::v4",
        5 => "BookPub::Import::Importer::WilloLabs::v5",
    },
    BookPub::Tracker::Service::CAMPUS_EBOOKSTORE() => {
        1 => "BookPub::Import::Importer::CampusEbookstore::v1",
        2 => "BookPub::Import::Importer::CampusEbookstore::v2",
        3 => "BookPub::Import::Importer::CampusEbookstore::v3",
        4 => "BookPub::Import::Importer::CampusEbookstore::v3",
        5 => "BookPub::Import::Importer::CampusEbookstore::v5",
        6 => "BookPub::Import::Importer::CampusEbookstore::v5",
    },
    BookPub::Tracker::Service::XIG_XAG() => {
        1 => "BookPub::Import::Importer::XigXag::v1",
        2 => "BookPub::Import::Importer::XigXag::v2",
        3 => "BookPub::Import::Importer::XigXag::v3",
    },
    BookPub::Tracker::Service::CHIRP() => {
        1 => "BookPub::Import::Importer::Chirp::v1",
    },
    BookPub::Tracker::Service::BOOK_OF_THE_MONTH() => {
        1 => "BookPub::Import::Importer::BookOfTheMonth::v1",
    },
    BookPub::Tracker::Service::SPEECHIFY() => {
        1 => "BookPub::Import::Importer::Speechify::v1",
    },
    BookPub::Tracker::Service::MARUZEN_YUSHODO() => {
        1 => "BookPub::Import::Importer::MaruzenYushodo::v1",
    },
    BookPub::Tracker::Service::CEPIEC() => {
        1 => "BookPub::Import::Importer::Cepiec::v1",
    },
    BookPub::Tracker::Service::HENI() => {
        1 => "BookPub::Import::Importer::Heni::v1",
    },
    BookPub::Tracker::Service::CAMBRIDGE_BUSINESS_PUBLISHERS() => {
        1 => "BookPub::Import::Importer::CambridgeBusinessPublishers::v1",
    },
    BookPub::Tracker::Service::ALDI() => {
        1 => "BookPub::Import::Importer::Aldi::v1",
    },
    BookPub::Tracker::Service::THOUSAND_COOKBOOKS_LTD() => {
        1 => "BookPub::Import::Importer::1000Cookbooks::v1",
    },
    BookPub::Tracker::Service::BOOKSIO() => {
        1 => "BookPub::Import::Importer::Booksio::v1",
    },
    BookPub::Tracker::Service::UAGC() => {
        1 => "BookPub::Import::Importer::UAGC::v1",
    },
    BookPub::Tracker::Service::UNIVERSITY_OF_MISSISSIPPI() => {
        1 => "BookPub::Import::Importer::RoyaltyShare::Version4",
    },
    BookPub::Tracker::Service::SOOMO_LEARNING() => {
        1 => "BookPub::Import::Importer::SoomoLearing::v1",
    },
    BookPub::Tracker::Service::SPOTIFY() => {
        1 => "BookPub::Import::Importer::Spotify::v1",
        2 => "BookPub::Import::Importer::Spotify::v2",
        3 => "BookPub::Import::Importer::Spotify::v3",
        4 => "BookPub::Import::Importer::Spotify::v4",
        5 => "BookPub::Import::Importer::Spotify::v5",
        6 => "BookPub::Import::Importer::Spotify::v6",
    },
    BookPub::Tracker::Service::CASALINI() => {
        1 => "BookPub::Import::Importer::Casalini::v1",
    },
    BookPub::Tracker::Service::SAXO() => {
        1 => "BookPub::Import::Importer::Saxo::v1",
    },
    BookPub::Tracker::Service::BOOKT() => {
        1 => "BookPub::Import::Importer::Bookt::v1",
    },
    BookPub::Tracker::Service::PANSING() => {
        1 => "BookPub::Import::Importer::Pansing::v1",
    },
    BookPub::Tracker::Service::MBS_TEXTBOOK_EXCHANGE() => {
        1 => "BookPub::Import::Importer::MBSTextbookExchange::v1",
    },
    BookPub::Tracker::Service::BUKU() => {
        1 => "BookPub::Import::Importer::RoyaltyShare::Version4",
    },
    BookPub::Tracker::Service::SKILLSOFT() => {
        1 => "BookPub::Import::Importer::RoyaltyShare::Version4",
    },
    BookPub::Tracker::Service::BLOOMSBURY_DIRECT_SALES() => {
        1 => "BookPub::Import::Importer::RoyaltyShare::Version4",
    },
    BookPub::Tracker::Service::LEGIBLE => {
        1 => "BookPub::Import::Importer::Legible::v1",
    },
    BookPub::Tracker::Service::BOOKSHOP => {
        1 => "BookPub::Import::Importer::Bookshop::v1",
        2 => "BookPub::Import::Importer::Bookshop::v2",
        3 => "BookPub::Import::Importer::Bookshop::v3",
        4 => "BookPub::Import::Importer::Bookshop::v4",
        5 => "BookPub::Import::Importer::Bookshop::v3",
    },
    BookPub::Tracker::Service::JSTOR_ITHAKA => {
        1 => "BookPub::Import::Importer::JstorIthaka::v1",
        2 => "BookPub::Import::Importer::JstorIthaka::v1",
    },
    BookPub::Tracker::Service::BACCAH_IT => {
        1 => "BookPub::Import::Importer::RoyaltyShare::Version4",
    },
    BookPub::Tracker::Service::BOX_OF_BOOKS => {
        1 => "BookPub::Import::Importer::RoyaltyShare::Version4",
    },
    BookPub::Tracker::Service::POLYTEKNISK => {
        1 => "BookPub::Import::Importer::RoyaltyShare::Version4",
    },
    BookPub::Tracker::Service::PLAYAWAY => {
        1 => "BookPub::Import::Importer::Playaway::v1",
    },

};

sub GetImporter {
    my %args = @_;

    assert( $args{service_id} );
    assert( $args{version_num} );

    my $pkg = $package_for->{ $args{service_id} }->{ $args{version_num} };
    $pkg = $dynamic_importers->{ $args{service_id} }->{ $args{version_num} } unless ( defined($pkg) );

    if ( !defined $pkg ) {
        Common::Log::Print( "!!! No Importer package found for service " . $args{service_id} . ", version " . $args{version_num} );
        return;
    }

    local $@;
    my $newObj = eval "require $pkg; $pkg->new(\%args);";
    die $@ if $@;

    return $newObj;
}

sub GetDynamicInfo {
    my %args     = @_;
    my $sheets   = $args{sheets};
    my $filename = $args{filename};

    assert($sheets);
    assert($filename);

    Log->notice(" -- GetDynamic info, filename: $filename");

    foreach my $serviceID ( keys %$dynamic_importers ) {
        Log->info("  Getting importers for service id: $serviceID");

        foreach my $version ( keys %{ $dynamic_importers->{$serviceID} } ) {
            my $pkg = $dynamic_importers->{$serviceID}->{$version};
            Log->info("  -- Testing service id: $serviceID, version: $version, importer: $pkg");

            local $@;
            my $importer = eval "require $pkg; $pkg->new(\%args);";
            die $@ if $@;

            if ( $importer->canParse( sheets => $sheets, filename => $filename ) ) {
                return ( $serviceID, $version );
            }
        }
    }
}

sub GetImporters {
    my $serviceID = shift || return;
    return $package_for->{$serviceID};
}

###
1;    # Play nicely.
###
