<input type="hidden" id="detailslinkfield" value="/en-us/shops/search/*/?ItemId=">
<input type="hidden" id="noshopsfoundfield" value="No stores found">
<input type="hidden" id="visitwebsite" value="Visit website">
<input type="hidden" id="moredetails" value="More details">
<input type="hidden" id="mapsBaseUrl" value="https://maps.googleapis.com/maps/api/js">
<input type="hidden" id="geoCoderKey" value="AIzaSyCNAqOpdabBGRMJ2wUgbZEWYcOsiko97bo">
<section class="store-map list-is-hidden">
<span id="store-map" class="store-map__anchor"></span>
<header class="store-map__header">
<div class="store-map__heading">
<div>
<span class="store-map__count">10</span> shops nearby <strong class="store-map__area">Antwerp</strong>
</div>
</div>
<div class="store-map__switch">
<a href="#store-map" class="store-map__switch__item is-active" data-switch=".store-map__map">Map view</a>
<a href="#store-map" class="store-map__switch__item" data-switch=".store-map__list">List view</a>
</div>
</header>
<main class="store-map__main">
<div class="store-map__list">
<section class="store-list">
<nav class="store-list__content">
<ul class="store-list__list">
<li class="store-list__item">
<article class="snippet-d">
<header class="snippet-d__header">
<h3 class="snippet-d__heading">Store name</h3>
<span class="caption">5km</span>
</header>
<div class="snippet-d__main caption">Streetname lorem xx,<br>2000 Antwerpen</div>
<a href="#detail" class="snippet-d__link"></a>
<div class="snippet-d__actions actions actions--split actions--force caption">
<div class="actions__item">
<div class="snippet-d__action">
<a href="#website" class="link link--underlined">
<span class="link__label">Visit website</span>
</a>
</div>
</div>
<div class="actions__item">
<div class="snippet-d__action">
<a href="#more details" class="link link--underlined">
<span class="link__label">More details</span>
</a>
</div>
</div>
</div>
</article>
</li>
<li class="store-list__item">
<article class="snippet-d">
<header class="snippet-d__header">
<h3 class="snippet-d__heading">Store name</h3>
<span class="caption">5km</span>
</header>
<div class="snippet-d__main caption">Streetname lorem xx,<br>2000 Antwerpen</div>
<a href="#detail" class="snippet-d__link"></a>
<div class="snippet-d__actions actions actions--split actions--force caption">
<div class="actions__item">
<div class="snippet-d__action">
<a href="#website" class="link link--underlined">
<span class="link__label">Visit website</span>
</a>
</div>
</div>
<div class="actions__item">
<div class="snippet-d__action">
<a href="#more details" class="link link--underlined">
<span class="link__label">More details</span>
</a>
</div>
</div>
</div>
</article>
</li>
<li class="store-list__item">
<article class="snippet-d">
<header class="snippet-d__header">
<h3 class="snippet-d__heading">Store name</h3>
<span class="caption">5km</span>
</header>
<div class="snippet-d__main caption">Streetname lorem xx,<br>2000 Antwerpen</div>
<a href="#detail" class="snippet-d__link"></a>
<div class="snippet-d__actions actions actions--split actions--force caption">
<div class="actions__item">
<div class="snippet-d__action">
<a href="#website" class="link link--underlined">
<span class="link__label">Visit website</span>
</a>
</div>
</div>
<div class="actions__item">
<div class="snippet-d__action">
<a href="#more details" class="link link--underlined">
<span class="link__label">More details</span>
</a>
</div>
</div>
</div>
</article>
</li>
<li class="store-list__item">
<article class="snippet-d">
<header class="snippet-d__header">
<h3 class="snippet-d__heading">Store name</h3>
<span class="caption">5km</span>
</header>
<div class="snippet-d__main caption">Streetname lorem xx,<br>2000 Antwerpen</div>
<a href="#detail" class="snippet-d__link"></a>
<div class="snippet-d__actions actions actions--split actions--force caption">
<div class="actions__item">
<div class="snippet-d__action">
<a href="#website" class="link link--underlined">
<span class="link__label">Visit website</span>
</a>
</div>
</div>
<div class="actions__item">
<div class="snippet-d__action">
<a href="#more details" class="link link--underlined">
<span class="link__label">More details</span>
</a>
</div>
</div>
</div>
</article>
</li>
<li class="store-list__item">
<article class="snippet-d">
<header class="snippet-d__header">
<h3 class="snippet-d__heading">Store name</h3>
<span class="caption">5km</span>
</header>
<div class="snippet-d__main caption">Streetname lorem xx,<br>2000 Antwerpen</div>
<a href="#detail" class="snippet-d__link"></a>
<div class="snippet-d__actions actions actions--split actions--force caption">
<div class="actions__item">
<div class="snippet-d__action">
<a href="#website" class="link link--underlined">
<span class="link__label">Visit website</span>
</a>
</div>
</div>
<div class="actions__item">
<div class="snippet-d__action">
<a href="#more details" class="link link--underlined">
<span class="link__label">More details</span>
</a>
</div>
</div>
</div>
</article>
</li>
<li class="store-list__item">
<article class="snippet-d">
<header class="snippet-d__header">
<h3 class="snippet-d__heading">Store name</h3>
<span class="caption">5km</span>
</header>
<div class="snippet-d__main caption">Streetname lorem xx,<br>2000 Antwerpen</div>
<a href="#detail" class="snippet-d__link"></a>
<div class="snippet-d__actions actions actions--split actions--force caption">
<div class="actions__item">
<div class="snippet-d__action">
<a href="#website" class="link link--underlined">
<span class="link__label">Visit website</span>
</a>
</div>
</div>
<div class="actions__item">
<div class="snippet-d__action">
<a href="#more details" class="link link--underlined">
<span class="link__label">More details</span>
</a>
</div>
</div>
</div>
</article>
</li>
<li class="store-list__item">
<article class="snippet-d">
<header class="snippet-d__header">
<h3 class="snippet-d__heading">Store name</h3>
<span class="caption">5km</span>
</header>
<div class="snippet-d__main caption">Streetname lorem xx,<br>2000 Antwerpen</div>
<a href="#detail" class="snippet-d__link"></a>
<div class="snippet-d__actions actions actions--split actions--force caption">
<div class="actions__item">
<div class="snippet-d__action">
<a href="#website" class="link link--underlined">
<span class="link__label">Visit website</span>
</a>
</div>
</div>
<div class="actions__item">
<div class="snippet-d__action">
<a href="#more details" class="link link--underlined">
<span class="link__label">More details</span>
</a>
</div>
</div>
</div>
</article>
</li>
</ul>
</nav>
</section>
</div>
<div class="store-map__map view-is-active">
<div id="store-map__map">
The map will be printed here ...
</div>
</div>
</main>
<div class="store-map__actions">
<div class="actions actions--start actions--force">
<div class="actions__item">
<a href="#" class="action action--ghost action--on-light">
<span class="action__label">Show all shops worldwide</span>
<span class="action__bg"></span>
</a>
</div>
</div>
</div>
</section>
<input type="hidden" id="detailslinkfield" value="/en-us/shops/search/*/?ItemId=">
<input type="hidden" id="noshopsfoundfield" value="No stores found">
<input type="hidden" id="visitwebsite" value="Visit website">
<input type="hidden" id="moredetails" value="More details">
<input type="hidden" id="mapsBaseUrl" value="https://maps.googleapis.com/maps/api/js">
{{!-- <input type="hidden" id="geoCoderKey" value="AIzaSyC8PJLfqrmzezWxQGp-N5uYBRYN2yQehLY"> --}}
<input type="hidden" id="geoCoderKey" value="AIzaSyCNAqOpdabBGRMJ2wUgbZEWYcOsiko97bo">
<section class="store-map list-is-hidden">
<span id="store-map" class="store-map__anchor"></span>
<header class="store-map__header">
<div class="store-map__heading">
<div>
<span class="store-map__count">10</span> shops nearby <strong class="store-map__area">Antwerp</strong>
</div>
</div>
<div class="store-map__switch">
<a href="#store-map" class="store-map__switch__item is-active" data-switch=".store-map__map">Map view</a>
<a href="#store-map" class="store-map__switch__item" data-switch=".store-map__list">List view</a>
</div>
</header>
<main class="store-map__main">
<div class="store-map__list">
{{render '@store-list'}}
</div>
<div class="store-map__map view-is-active">
<div id="store-map__map">
The map will be printed here ...
</div>
</div>
</main>
<div class="store-map__actions">
<div class="actions actions--start actions--force">
<div class="actions__item">
{{render '@action' action}}
</div>
</div>
</div>
</section>
action:
type: ghost
tint: on-light
url: '#'
label: Show all shops worldwide
const STOREMAP = ((w, d, trans, undefined) => {
'use strict';
let infowindow = null;
let domain = w.location.host.indexOf('pioneerdj.com') !== -1 ? '': 'https://test1.pioneerdj.com';
const general = {
s: {
selectors: {
theWrap: '.store-map',
theOverlay: '.store-map__overlay',
theDetailsLink: '#detailslinkfield',
theMapsBaseUrl: '#mapsBaseUrl',
theGeoCoderKey: '#geoCoderKey',
theCountryOnLoad: '#countryOnLoad',
theCityOnLoad: '#cityOnLoad',
theNoShopsFound: '#noshopsfoundfield',
theVisitWebsite: '#visitwebsite',
theMoreDetails: '#moredetails',
},
classes: {
theOverlay: 'store-map__overlay',
isSearchingShops: 'is-searching-shops',
},
mapsAPI: {
baseUrl: 'https://maps.googleapis.com/maps/api/js',
key: 'AIzaSyCNAqOpdabBGRMJ2wUgbZEWYcOsiko97bo',
// key: 'AIzaSyAlzjwXom9Nn69PKd4IPs9XvuHQshb5-Mc',
callback: 'STOREMAP.build',
libraries: 'places'
},
shopsAPI: {
domain: '',
baseUrl: '/api/StoreLocator/',
params: {},
},
},
els: {},
init: async () => {
general.els.theWrap = d.querySelector(general.s.selectors.theWrap);
general.els.theMapsBaseUrl = d.querySelector(general.s.selectors.theMapsBaseUrl);
general.els.theGeoCoderKey = d.querySelector(general.s.selectors.theGeoCoderKey);
general.els.theDetailsLink = d.querySelector(general.s.selectors.theDetailsLink);
general.els.theCountryOnLoad = d.querySelector(general.s.selectors.theCountryOnLoad);
general.els.theCityOnLoad = d.querySelector(general.s.selectors.theCityOnLoad);
general.els.theNoShopsFound = d.querySelector(general.s.selectors.theNoShopsFound);
general.els.theVisitWebsite = d.querySelector(general.s.selectors.theVisitWebsite);
general.els.theMoreDetails = d.querySelector(general.s.selectors.theMoreDetails);
if (!general.els.theMapsBaseUrl && !general.els.theGeoCoderKey) {
return;
}
general.overlay.add();
general.s.mapsAPI.baseUrl = general.els.theMapsBaseUrl.value;
general.s.mapsAPI.key = general.els.theGeoCoderKey.value;
general.setLanguage();
general.addScript();
},
onLoad: async () => {
filter.init();
list.init();
const locale = await general.setLocation();
filter.setSearchValue();
const shops = await general.getShops().catch((error) => console.error(error));
map.init();
map.build();
list.build();
list.show();
},
addScript: () => {
let script;
script = d.createElement('script');
script.setAttribute('async', true);
script.setAttribute('defer', true);
script.src = `${general.s.mapsAPI.baseUrl}?key=${general.s.mapsAPI.key}&callback=${general.s.mapsAPI.callback}&language=${map.options.language}&libraries=${general.s.mapsAPI.libraries}`;
d.getElementsByTagName('head')[0].appendChild(script);
},
checkHash: () => {
if (!w.location.hash) { return false; }
const params = w.location.hash.substring(1).split('|');
map.options.country = params[0] ? decodeURIComponent(params[0]) : '';
map.options.city = params[1] ? decodeURIComponent(params[1]) : '';
map.options.center.lat = params[2] ? decodeURIComponent(params[2]) : '';
map.options.center.lng = params[3] ? decodeURIComponent(params[3]) : '';
filter.selected.category = params[4] ? decodeURIComponent(params[4]) : '';
filter.selected.product = params[5] ? decodeURIComponent(params[5]) : '';
// general.els.theCountryOnLoad.value = map.options.country;
// general.els.theCityOnLoad.value = map.options.city;
},
setLanguage: () => {
let localeArray;
if (!d.documentElement.lang) { return; }
localeArray = d.documentElement.lang.split('-');
map.options.language = localeArray[0];
},
setLocation: async () => {
if (general.checkHash()) {
return map.options;
}
const initialLocation = await general.getInitialCountry();
map.options.country = initialLocation.Country || 'United Kingdom';
map.options.city = initialLocation.City || 'London';
map.options.center.lat = parseFloat(initialLocation.Latitude) || 51.5285582;
map.options.center.lng = parseFloat(initialLocation.Longitude) || -0.2416793;
// general.els.theCountryOnLoad.value = initialLocation.Country;
// general.els.theCityOnLoad.value = initialLocation.City;
return map.options;
},
getCountryName: (addressComponents) => {
if (!addressComponents) { return; }
let countryName = '';
addressComponents.forEach((component) => {
if (component.types[0] === 'country' || component.types[0] === 'political') {
countryName = component.long_name;
}
});
return countryName;
},
getCityName: (addressComponents) => {
if (!addressComponents) { return; }
let cityName = '';
addressComponents.forEach((component) => {
if (component.types[0] === 'locality') {
cityName = component.long_name;
}
});
return cityName;
},
getInitialCountry: () => new Promise((resolve, reject) => {
const locationUrl = `${domain}/api/location/`;
fetch(locationUrl, {
method: 'POST',
})
.then(response => response.json())
.then(response => resolve(response))
.catch(() => resolve({}));
}),
getShops: () => new Promise((resolve, reject) => {
if (!filter.els.searchInput.value) {
filter.els.searchInput.reportValidity();
reject();
return;
}
const params = {
latitude: map.options.center.lat,
longitude: map.options.center.lng,
country: map.options.country,
productcategory: filter.selected.category || '',
productitem: filter.selected.product || '',
};
const query = new URLSearchParams(params);
general.overlay.show();
fetch(domain + general.s.shopsAPI.baseUrl + '?' + query.toString(), {
method: 'POST',
})
.then(response => response.json())
.then(response => {
map.shops = response;
general.overlay.hide();
map.canDrag = true;
resolve(response);
})
.catch((e) => {
reject();
});
}),
getShopCityName: (shop) => {
if (!shop) { return; }
const shopCityName = shop.StoreName + '-' + shop.City;
return shopCityName.replace(/\s+/g, '-');
},
getDetailLink: (shop) => {
if (!shop) { return; }
let storePathArray = shop.StorePath.toLowerCase().split('/shops/');
let storePath = storePathArray[1];
let link = general.els.theDetailsLink ? general.els.theDetailsLink.value : '';
link = link.replace('*', storePath);
link += `${shop.Location_ID}#${map.options.country}|${map.options.city}|${map.options.center.lat}|${map.options.center.lng}${filter.selected.category ? '|' + filter.selected.category : ''}${filter.selected.product ? '|' + filter.selected.product : ''}`;
return link;
},
overlay: {
el: null,
add: () => {
const theOverlay = d.createElement('div');
const styles = 'position: absolute; top: 0; left: 0; z-index: 3; display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; opacity: 0; pointer-events: none; background-color: rgba(255,255,255, .5);';
theOverlay.setAttribute('style', styles);
theOverlay.setAttribute('class', general.s.classes.theOverlay);
theOverlay.innerHTML = '<img style="display: block; flex: 0 0 auto; margin: 0;" src="data:image/gif;base64,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"/>';
general.overlay.el = general.els.theWrap.appendChild(theOverlay);
},
show: () => {
general.overlay.el.style.opacity = 1,
general.overlay.el.style.pointerEvents = 'all';
d.body.classList.add(general.s.classes.isSearchingShops);
},
hide: () => {
general.overlay.el.style.opacity = 0,
general.overlay.el.style.pointerEvents = 'none';
d.body.classList.remove(general.s.classes.isSearchingShops);
},
},
};
const filter = {
s: {
selectors: {
theForm: '.store-search__form',
theSubmit: '.store-search__form .action',
searchInput: '.store-search__input',
myLocationTrigger: '.store-search__link .link',
theProductsCategory: '.store-filter__categories',
theProducts: '.store-filter__products',
},
classes: {
locationIsBlocked: 'location-is-blocked',
},
api: {
domain: '',
url: '/api/StoreLocator/GetProductListOfStores/',
}
},
autocomplete: {},
els: {},
products: {},
selected: {
category: '',
product: '',
},
init: () => {
filter.els.theForm = d.querySelector(filter.s.selectors.theForm);
filter.els.theSubmit = d.querySelector(filter.s.selectors.theSubmit);
filter.els.searchInput = d.querySelector(filter.s.selectors.searchInput);
filter.els.myLocationTrigger = d.querySelector(filter.s.selectors.myLocationTrigger);
filter.els.theProductsCategory = d.querySelector(filter.s.selectors.theProductsCategory);
filter.els.theProducts = d.querySelector(filter.s.selectors.theProducts);
if (w.location.hash) {
const params = w.location.hash.split('#')[1];
const paramsArray = params.split('/');
filter.selected.category = paramsArray[1] || null;
filter.selected.product = paramsArray[2] || null;
};
filter.els.theProductsCategory && filter.setProducts();
filter.autocomplete = new google.maps.places.Autocomplete(filter.els.searchInput, {});
filter.bindIt();
},
bindIt: () => {
filter.els.theForm && filter.els.theForm.addEventListener('submit', (e) => {
if (!filter.els.searchInput.value) {
filter.els.searchInput.reportValidity();
e.preventDefault();
return false;
}
});
filter.els.theSubmit && filter.els.theSubmit.addEventListener('click', async (e) => {
if (!filter.els.searchInput.value) {
filter.els.searchInput.reportValidity();
e.preventDefault();
return false;
}
const shops = await general.getShops().catch((error) => console.error(error));
map.build();
list.build();
list.show();
});
filter.autocomplete.addListener('place_changed', async () => {
const thePlace = filter.autocomplete.getPlace();
if (!thePlace.geometry) { return; }
map.options.center.lat = thePlace.geometry.location.lat();
map.options.center.lng = thePlace.geometry.location.lng();
map.options.bounds = thePlace.geometry.viewport;
map.options.city = thePlace.vicinity;
map.options.country = general.getCountryName(thePlace.address_components);
w.dataLayer && dataLayer.push({ 'event': 'dlStoreLocatorEvent', 'dlCategory': 'Store Locator', 'dlAction': 'Search', 'dlLabel': `${map.options.country}-${map.options.city}` });
const shops = await general.getShops().catch((error) => console.error(error));
map.build();
list.build();
list.show();
});
filter.els.myLocationTrigger.addEventListener('click', async (e) => {
e.preventDefault();
const myLocation = await map.getMyLocation();
map.options.city = general.getCityName(myLocation.address_components);
map.options.country = general.getCountryName(myLocation.address_components);
filter.setSearchValue();
const shops = await general.getShops().catch((error) => console.error(error));
map.build();
list.build();
list.show();
});
filter.els.theProductsCategory && filter.els.theProductsCategory.addEventListener('change', async (e) => {
const theProductsCategory = e.target;
const theSelectedCategory = theProductsCategory.options[theProductsCategory.options.selectedIndex].value;
filter.selected.category = theSelectedCategory;
if (filter.els.theProducts) {
filter.setProduct({...filter.selected});
return;
}
const shops = await general.getShops().catch((error) => console.error(error));
map.build();
list.build();
list.show();
});
filter.els.theProducts && filter.els.theProducts.addEventListener('change', async (e) => {
filter.selected.product = filter.els.theProducts.options[filter.els.theProducts.options.selectedIndex].value;
const shops = await general.getShops().catch((error) => console.error(error));
map.build();
list.build();
list.show();
});
},
setSearchValue: () => filter.els.searchInput.value = !map.options.country ? '' : `${map.options.city}, ${map.options.country}`,
fetchProducts: () => new Promise((resolve, reject) => {
fetch(domain + filter.s.api.url)
.then(response => response.json())
.then((response) => {
resolve(JSON.parse(response));
})
.catch(reject);
// resolve(JSON.parse("[{\"ProductID\":\"{F2B214FB-24B4-4AAD-8455-16F725369F3C}\",\"ProductName\":\"CDJ-350\",\"ProductCategoryName\":\"DJ player\",\"ProductCategoryID\":\"{DA45F21A-9E2B-4837-AF88-3BA6A0D7D15E}\"},{\"ProductID\":\"{1E399755-9D6B-4033-825D-84D6D5E6C4B3}\",\"ProductName\":\"XDJ-700\",\"ProductCategoryName\":\"DJ player\",\"ProductCategoryID\":\"{DA45F21A-9E2B-4837-AF88-3BA6A0D7D15E}\"},{\"ProductID\":\"{91EAF323-4E33-46FE-ADE5-20BC2AAC0B01}\",\"ProductName\":\"DJM-250MK2\",\"ProductCategoryName\":\"DJ mixer\",\"ProductCategoryID\":\"{2F43A6FD-266F-4D95-ACA8-9D25F04002C7}\"},{\"ProductID\":\"{34E84F4B-0BD2-4492-A744-E18D9F35820F}\",\"ProductName\":\"DDJ-FLX6\",\"ProductCategoryName\":\"DJ controller\",\"ProductCategoryID\":\"{D7A7E2DF-B000-42C8-9533-543B93B3A203}\"},{\"ProductID\":\"{CD400C1B-CA62-49C2-BFD3-A4F63A95893F}\",\"ProductName\":\"DDJ-800\",\"ProductCategoryName\":\"DJ controller\",\"ProductCategoryID\":\"{D7A7E2DF-B000-42C8-9533-543B93B3A203}\"},{\"ProductID\":\"{031670A5-F1D1-4865-AD39-C16FD166ED4C}\",\"ProductName\":\"DDJ-400\",\"ProductCategoryName\":\"DJ controller\",\"ProductCategoryID\":\"{D7A7E2DF-B000-42C8-9533-543B93B3A203}\"},{\"ProductID\":\"{F608D7E7-33A3-4D7C-B937-000E6DE2B8DB}\",\"ProductName\":\"DDJ-200\",\"ProductCategoryName\":\"DJ controller\",\"ProductCategoryID\":\"{D7A7E2DF-B000-42C8-9533-543B93B3A203}\"},{\"ProductID\":\"{E3A8CA13-8077-4F38-9398-8B33620ED0D2}\",\"ProductName\":\"DDJ-SR2\",\"ProductCategoryName\":\"DJ controller\",\"ProductCategoryID\":\"{D7A7E2DF-B000-42C8-9533-543B93B3A203}\"},{\"ProductID\":\"{E066CFFB-A74B-4692-BDD1-2AD0BA7D4FBB}\",\"ProductName\":\"DDJ-SB3\",\"ProductCategoryName\":\"DJ controller\",\"ProductCategoryID\":\"{D7A7E2DF-B000-42C8-9533-543B93B3A203}\"},{\"ProductID\":\"{EF566662-846A-4F0D-8868-C2C8F5E61890}\",\"ProductName\":\"PLX-1000\",\"ProductCategoryName\":\"Turntable\",\"ProductCategoryID\":\"{8571EF32-B910-4DBD-979B-B60139ACA390}\"},{\"ProductID\":\"{2779C65B-8D51-4D5C-89A3-9EB6D64DCC69}\",\"ProductName\":\"PLX-500\",\"ProductCategoryName\":\"Turntable\",\"ProductCategoryID\":\"{8571EF32-B910-4DBD-979B-B60139ACA390}\"},{\"ProductID\":\"{01354BEC-8256-4453-A46F-55423117504E}\",\"ProductName\":\"HDJ-CUE1\",\"ProductCategoryName\":\"Headphones\",\"ProductCategoryID\":\"{44ED94F0-1627-4B62-8255-194648BCCE83}\"},{\"ProductID\":\"{FCC860EC-F656-4795-A553-2D4BFDF750A6}\",\"ProductName\":\"HDJ-CUE1BT\",\"ProductCategoryName\":\"Headphones\",\"ProductCategoryID\":\"{44ED94F0-1627-4B62-8255-194648BCCE83}\"},{\"ProductID\":\"{F9DE25BA-BC99-4304-AB81-8F44407D6183}\",\"ProductName\":\"HDJ-X10\",\"ProductCategoryName\":\"Headphones\",\"ProductCategoryID\":\"{44ED94F0-1627-4B62-8255-194648BCCE83}\"},{\"ProductID\":\"{A1D64256-C6B9-4091-A595-96549B34F009}\",\"ProductName\":\"HDJ-X7\",\"ProductCategoryName\":\"Headphones\",\"ProductCategoryID\":\"{44ED94F0-1627-4B62-8255-194648BCCE83}\"},{\"ProductID\":\"{D5BF910B-78DD-4328-A8C5-B3E669982A65}\",\"ProductName\":\"HDJ-S7\",\"ProductCategoryName\":\"Headphones\",\"ProductCategoryID\":\"{44ED94F0-1627-4B62-8255-194648BCCE83}\"},{\"ProductID\":\"{2AA66B45-F4FB-4E04-8666-14972DB6E745}\",\"ProductName\":\"HDJ-X5\",\"ProductCategoryName\":\"Headphones\",\"ProductCategoryID\":\"{44ED94F0-1627-4B62-8255-194648BCCE83}\"},{\"ProductID\":\"{03631E85-9BAA-44DB-944D-0870C34E5DC6}\",\"ProductName\":\"HDJ-X5BT\",\"ProductCategoryName\":\"Headphones\",\"ProductCategoryID\":\"{44ED94F0-1627-4B62-8255-194648BCCE83}\"},{\"ProductID\":\"{2C5FD6BC-F91F-47BA-A0AA-A1F525207E5D}\",\"ProductName\":\"HDJ-700\",\"ProductCategoryName\":\"Headphones\",\"ProductCategoryID\":\"{44ED94F0-1627-4B62-8255-194648BCCE83}\"},{\"ProductID\":\"{DAF7CCE9-4099-43C6-9AE7-A2F7FDE7035E}\",\"ProductName\":\"HRM-7\",\"ProductCategoryName\":\"Headphones\",\"ProductCategoryID\":\"{44ED94F0-1627-4B62-8255-194648BCCE83}\"},{\"ProductID\":\"{8272162F-9B0C-4115-B9E9-B9754D3836EB}\",\"ProductName\":\"HRM-6\",\"ProductCategoryName\":\"Headphones\",\"ProductCategoryID\":\"{44ED94F0-1627-4B62-8255-194648BCCE83}\"},{\"ProductID\":\"{BA917FCC-1349-48D6-88A9-6E1BE3189853}\",\"ProductName\":\"HRM-5\",\"ProductCategoryName\":\"Headphones\",\"ProductCategoryID\":\"{44ED94F0-1627-4B62-8255-194648BCCE83}\"},{\"ProductID\":\"{10989430-FFF8-428C-BB72-4BFDD8BE87B8}\",\"ProductName\":\"HDJ-HC02\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{9F7549B5-858A-4EC3-8582-7E0863B824F5}\",\"ProductName\":\"HC-CP08\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{6478E5A2-2C78-4684-BE06-2AE6E5E90178}\",\"ProductName\":\"DJC-FLX6-BAG\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{80CBC3DE-F9BF-48E7-93DA-1D00C77FEF98}\",\"ProductName\":\"DJC-200 BAG\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{D903E12D-E776-4A44-94B2-E344B3C9CC25}\",\"ProductName\":\"DJC-B-WEGO3-BAG\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{8B374770-4E2E-49E8-9663-F0D9E8C47118}\",\"ProductName\":\"DJC-800-BAG\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{D9F6E036-58EB-485B-8EE0-31336468634D}\",\"ProductName\":\"PC-HS01\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{54F13395-A530-4107-990B-20FCBAC5B8CB}\",\"ProductName\":\"PN-X05\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{A872AAA6-296B-4061-92FE-6A091A3FC1AA}\",\"ProductName\":\"RB-VS1-K\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{9E1EF5DB-AF57-44F3-8C89-0C14DE780D3A}\",\"ProductName\":\"HC-CA0501\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{2EB7641D-1EEC-46E8-9B0A-396B11DAE352}\",\"ProductName\":\"HC-CA0502\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{2E0A5E97-E9A5-440F-BDA8-CA10D24A94DB}\",\"ProductName\":\"HC-CA0601\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{1CEAE576-798C-44D0-9BF4-D7CFC4E3F719}\",\"ProductName\":\"HC-CA0602\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{BDB4839E-0A7F-4C54-9C9E-9CDF9D9E1AF9}\",\"ProductName\":\"HC-CA0603\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{5C4C5F9A-3321-419F-8A6E-EC6608B19B5D}\",\"ProductName\":\"HC-CA0701\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{887F2AE5-3826-4571-9230-82D8058825AE}\",\"ProductName\":\"HC-CA0702\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{C3E9284A-9B24-4E85-A77B-EF494BEEF95E}\",\"ProductName\":\"HC-CA0401\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{216E5C41-3A0E-4A68-9427-1CDAFFFD8550}\",\"ProductName\":\"HC-CA0402\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{96F1594E-8024-49C7-A65B-DB253FBB3AD8}\",\"ProductName\":\"HC-CA0403\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{DB0EC672-3323-4C14-BAD8-7399426966C0}\",\"ProductName\":\"HC-EP0501\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{8BDA12F6-CCC9-463D-9D18-04313BB61F38}\",\"ProductName\":\"HC-EP0601\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{106CE7A7-E5CF-4F14-BE5D-F37372856ED2}\",\"ProductName\":\"HC-EP0701\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{911FC508-8175-4D16-844D-E7C0221910E8}\",\"ProductName\":\"HC-EP0201\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{115427BD-5AFE-46CB-932F-3EC53C3A841A}\",\"ProductName\":\"HC-EP0301\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{959608AE-B97A-4562-A1DA-1F9E92B23BC9}\",\"ProductName\":\"HC-EP0302\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{CFC22F5C-EA6C-4F77-AFF1-437C294D013C}\",\"ProductName\":\"HC-EP0401\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{5BF40B88-FB70-4C3B-80BC-68C37319BAE4}\",\"ProductName\":\"HC-EP0402\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{DC3EEB35-2B9A-48BD-97DA-B32EFA2246AD}\",\"ProductName\":\"HC-HB0201\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{7127339B-0181-4FB3-AAAC-E8B4CF26C59C}\",\"ProductName\":\"HC-PA0001\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{05F09DE5-CAD2-4843-B2B8-A21956756952}\",\"ProductName\":\"DJC-RR-BAG\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{BAF22C6D-4447-407D-93C5-18FC282D2AF0}\",\"ProductName\":\"DJC-IF2-BAG\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{70C9BEB9-06B2-4E40-80B3-C587938B6C9A}\",\"ProductName\":\"DJC-700-BAG\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{58A8FD67-E4F0-489E-84EA-3DB2ACA21E14}\",\"ProductName\":\"DJC-R-BAG\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{8D1DCC5E-7FAA-45CF-95B5-43EEFB2CB594}\",\"ProductName\":\"FLT-XDJRX2\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{77D31F88-2049-4360-A98D-3405EA309E95}\",\"ProductName\":\"XDJ-RR\",\"ProductCategoryName\":\"All-in-one DJ system\",\"ProductCategoryID\":\"{AC30186B-AD65-4502-9A28-8CFC01C85F5F}\"},{\"ProductID\":\"{2320711C-819C-4A8C-AD80-6C374F611414}\",\"ProductName\":\"VM-50\",\"ProductCategoryName\":\"Monitor speakers\",\"ProductCategoryID\":\"{A2CE6988-E3FA-4D9F-B751-00C073F2CC52}\"},{\"ProductID\":\"{998DACB0-9CC0-4C1D-9CB1-F1E70B4238B5}\",\"ProductName\":\"VM-70\",\"ProductCategoryName\":\"Monitor speakers\",\"ProductCategoryID\":\"{A2CE6988-E3FA-4D9F-B751-00C073F2CC52}\"},{\"ProductID\":\"{2D5D6A3D-AE26-4E7F-ABFE-9F5F81D2BA96}\",\"ProductName\":\"VM-80\",\"ProductCategoryName\":\"Monitor speakers\",\"ProductCategoryID\":\"{A2CE6988-E3FA-4D9F-B751-00C073F2CC52}\"},{\"ProductID\":\"{8DB7D1DA-B2AF-48CF-AA44-55959C641A69}\",\"ProductName\":\"DM-40BT\",\"ProductCategoryName\":\"Monitor speakers\",\"ProductCategoryID\":\"{A2CE6988-E3FA-4D9F-B751-00C073F2CC52}\"},{\"ProductID\":\"{87B2B2DF-052E-4F2D-B39B-2C6705AB6351}\",\"ProductName\":\"DM-40\",\"ProductCategoryName\":\"Monitor speakers\",\"ProductCategoryID\":\"{A2CE6988-E3FA-4D9F-B751-00C073F2CC52}\"},{\"ProductID\":\"{2757CEF3-AEE8-4CFD-A1E6-30895F6AD422}\",\"ProductName\":\"TORAIZ-SQUID\",\"ProductCategoryName\":\"Music Production\",\"ProductCategoryID\":\"{63513C2D-E27C-44D9-8DA0-03E8C77FAB86}\"},{\"ProductID\":\"{79F0F6FB-721D-4065-ADA9-0929C035FF69}\",\"ProductName\":\"TORAIZ AS-1\",\"ProductCategoryName\":\"Music Production\",\"ProductCategoryID\":\"{63513C2D-E27C-44D9-8DA0-03E8C77FAB86}\"},{\"ProductID\":\"{10A75572-3621-43E1-8D61-19D2E33A14B9}\",\"ProductName\":\"TORAIZ SP-16\",\"ProductCategoryName\":\"Music Production\",\"ProductCategoryID\":\"{63513C2D-E27C-44D9-8DA0-03E8C77FAB86}\"},{\"ProductID\":\"{AB411B05-FFDE-4E51-AB6C-96F83FB570B8}\",\"ProductName\":\"DJC-STS1\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{81003DF8-3B96-4D4B-B20E-68DDD6753C51}\",\"ProductName\":\"CDJ-3000\",\"ProductCategoryName\":\"DJ player\",\"ProductCategoryID\":\"{DA45F21A-9E2B-4837-AF88-3BA6A0D7D15E}\"},{\"ProductID\":\"{1FF13521-161A-4234-B109-176C9F70628B}\",\"ProductName\":\"CDJ-2000NXS2\",\"ProductCategoryName\":\"DJ player\",\"ProductCategoryID\":\"{DA45F21A-9E2B-4837-AF88-3BA6A0D7D15E}\"},{\"ProductID\":\"{D0769094-19B8-4F1F-BCF2-9DF26400A6B8}\",\"ProductName\":\"CDJ-900NXS\",\"ProductCategoryName\":\"DJ player\",\"ProductCategoryID\":\"{DA45F21A-9E2B-4837-AF88-3BA6A0D7D15E}\"},{\"ProductID\":\"{592B354A-A44D-4DB7-9D4E-A9AB70838F39}\",\"ProductName\":\"CDJ-850\",\"ProductCategoryName\":\"DJ player\",\"ProductCategoryID\":\"{DA45F21A-9E2B-4837-AF88-3BA6A0D7D15E}\"},{\"ProductID\":\"{F2B214FB-24B4-4AAD-8455-16F725369F3C}\",\"ProductName\":\"CDJ-350\",\"ProductCategoryName\":\"DJ player\",\"ProductCategoryID\":\"{DA45F21A-9E2B-4837-AF88-3BA6A0D7D15E}\"},{\"ProductID\":\"{FD865730-3D6B-4F20-A019-89B617C1263C}\",\"ProductName\":\"XDJ-1000MK2\",\"ProductCategoryName\":\"DJ player\",\"ProductCategoryID\":\"{DA45F21A-9E2B-4837-AF88-3BA6A0D7D15E}\"},{\"ProductID\":\"{1E399755-9D6B-4033-825D-84D6D5E6C4B3}\",\"ProductName\":\"XDJ-700\",\"ProductCategoryName\":\"DJ player\",\"ProductCategoryID\":\"{DA45F21A-9E2B-4837-AF88-3BA6A0D7D15E}\"},{\"ProductID\":\"{EF566662-846A-4F0D-8868-C2C8F5E61890}\",\"ProductName\":\"PLX-1000\",\"ProductCategoryName\":\"Turntable\",\"ProductCategoryID\":\"{8571EF32-B910-4DBD-979B-B60139ACA390}\"},{\"ProductID\":\"{2779C65B-8D51-4D5C-89A3-9EB6D64DCC69}\",\"ProductName\":\"PLX-500\",\"ProductCategoryName\":\"Turntable\",\"ProductCategoryID\":\"{8571EF32-B910-4DBD-979B-B60139ACA390}\"},{\"ProductID\":\"{E65F16F4-B3E6-458E-8073-BADA71784F14}\",\"ProductName\":\"DJM-S7\",\"ProductCategoryName\":\"DJ mixer\",\"ProductCategoryID\":\"{2F43A6FD-266F-4D95-ACA8-9D25F04002C7}\"},{\"ProductID\":\"{4236155E-B377-439E-B302-45A6ED17D2E3}\",\"ProductName\":\"DJM-V10-LF\",\"ProductCategoryName\":\"DJ mixer\",\"ProductCategoryID\":\"{2F43A6FD-266F-4D95-ACA8-9D25F04002C7}\"},{\"ProductID\":\"{8D241DA6-6FF9-47E0-B4F8-F71DC0F2BCD8}\",\"ProductName\":\"DJM-S11\",\"ProductCategoryName\":\"DJ mixer\",\"ProductCategoryID\":\"{2F43A6FD-266F-4D95-ACA8-9D25F04002C7}\"},{\"ProductID\":\"{BBC7BBF0-B4BD-47FB-8CFA-29347FC0B0F5}\",\"ProductName\":\"DJM-V10\",\"ProductCategoryName\":\"DJ mixer\",\"ProductCategoryID\":\"{2F43A6FD-266F-4D95-ACA8-9D25F04002C7}\"},{\"ProductID\":\"{E418F670-6931-4121-9A14-502D7073D22C}\",\"ProductName\":\"DJM-900NXS2\",\"ProductCategoryName\":\"DJ mixer\",\"ProductCategoryID\":\"{2F43A6FD-266F-4D95-ACA8-9D25F04002C7}\"},{\"ProductID\":\"{1E490FA7-9D9D-44C7-8F55-B3BB7F78854B}\",\"ProductName\":\"DJM-750MK2\",\"ProductCategoryName\":\"DJ mixer\",\"ProductCategoryID\":\"{2F43A6FD-266F-4D95-ACA8-9D25F04002C7}\"},{\"ProductID\":\"{620CDBFD-2133-4625-84A9-68ACEFB8FC5C}\",\"ProductName\":\"DJM-450\",\"ProductCategoryName\":\"DJ mixer\",\"ProductCategoryID\":\"{2F43A6FD-266F-4D95-ACA8-9D25F04002C7}\"},{\"ProductID\":\"{91EAF323-4E33-46FE-ADE5-20BC2AAC0B01}\",\"ProductName\":\"DJM-250MK2\",\"ProductCategoryName\":\"DJ mixer\",\"ProductCategoryID\":\"{2F43A6FD-266F-4D95-ACA8-9D25F04002C7}\"},{\"ProductID\":\"{5D54AE85-3C56-40C8-8C80-4DBEA8B04F48}\",\"ProductName\":\"DJM-S3\",\"ProductCategoryName\":\"DJ mixer\",\"ProductCategoryID\":\"{2F43A6FD-266F-4D95-ACA8-9D25F04002C7}\"},{\"ProductID\":\"{34E84F4B-0BD2-4492-A744-E18D9F35820F}\",\"ProductName\":\"DDJ-FLX6\",\"ProductCategoryName\":\"DJ controller\",\"ProductCategoryID\":\"{D7A7E2DF-B000-42C8-9533-543B93B3A203}\"},{\"ProductID\":\"{2777E6DC-FA37-4789-A9BB-39B1B14FBFB3}\",\"ProductName\":\"DDJ-1000SRT\",\"ProductCategoryName\":\"DJ controller\",\"ProductCategoryID\":\"{D7A7E2DF-B000-42C8-9533-543B93B3A203}\"},{\"ProductID\":\"{8E2935B4-A356-4DBD-929A-EB3682A06CFC}\",\"ProductName\":\"DDJ-1000\",\"ProductCategoryName\":\"DJ controller\",\"ProductCategoryID\":\"{D7A7E2DF-B000-42C8-9533-543B93B3A203}\"},{\"ProductID\":\"{CD400C1B-CA62-49C2-BFD3-A4F63A95893F}\",\"ProductName\":\"DDJ-800\",\"ProductCategoryName\":\"DJ controller\",\"ProductCategoryID\":\"{D7A7E2DF-B000-42C8-9533-543B93B3A203}\"},{\"ProductID\":\"{031670A5-F1D1-4865-AD39-C16FD166ED4C}\",\"ProductName\":\"DDJ-400\",\"ProductCategoryName\":\"DJ controller\",\"ProductCategoryID\":\"{D7A7E2DF-B000-42C8-9533-543B93B3A203}\"},{\"ProductID\":\"{F608D7E7-33A3-4D7C-B937-000E6DE2B8DB}\",\"ProductName\":\"DDJ-200\",\"ProductCategoryName\":\"DJ controller\",\"ProductCategoryID\":\"{D7A7E2DF-B000-42C8-9533-543B93B3A203}\"},{\"ProductID\":\"{28047B69-E754-422E-A177-BCF19A9C1F96}\",\"ProductName\":\"DDJ-RZX\",\"ProductCategoryName\":\"DJ controller\",\"ProductCategoryID\":\"{D7A7E2DF-B000-42C8-9533-543B93B3A203}\"},{\"ProductID\":\"{3A5AE1FA-F17A-4CF0-9078-EA9CAB583D4B}\",\"ProductName\":\"DDJ-RZ\",\"ProductCategoryName\":\"DJ controller\",\"ProductCategoryID\":\"{D7A7E2DF-B000-42C8-9533-543B93B3A203}\"},{\"ProductID\":\"{9D58BFFB-C32E-4259-9E72-9995B1CA2F17}\",\"ProductName\":\"DDJ-XP2\",\"ProductCategoryName\":\"DJ controller\",\"ProductCategoryID\":\"{D7A7E2DF-B000-42C8-9533-543B93B3A203}\"},{\"ProductID\":\"{E3A8CA13-8077-4F38-9398-8B33620ED0D2}\",\"ProductName\":\"DDJ-SR2\",\"ProductCategoryName\":\"DJ controller\",\"ProductCategoryID\":\"{D7A7E2DF-B000-42C8-9533-543B93B3A203}\"},{\"ProductID\":\"{E066CFFB-A74B-4692-BDD1-2AD0BA7D4FBB}\",\"ProductName\":\"DDJ-SB3\",\"ProductCategoryName\":\"DJ controller\",\"ProductCategoryID\":\"{D7A7E2DF-B000-42C8-9533-543B93B3A203}\"},{\"ProductID\":\"{01354BEC-8256-4453-A46F-55423117504E}\",\"ProductName\":\"HDJ-CUE1\",\"ProductCategoryName\":\"Headphones\",\"ProductCategoryID\":\"{44ED94F0-1627-4B62-8255-194648BCCE83}\"},{\"ProductID\":\"{FCC860EC-F656-4795-A553-2D4BFDF750A6}\",\"ProductName\":\"HDJ-CUE1BT\",\"ProductCategoryName\":\"Headphones\",\"ProductCategoryID\":\"{44ED94F0-1627-4B62-8255-194648BCCE83}\"},{\"ProductID\":\"{F9DE25BA-BC99-4304-AB81-8F44407D6183}\",\"ProductName\":\"HDJ-X10\",\"ProductCategoryName\":\"Headphones\",\"ProductCategoryID\":\"{44ED94F0-1627-4B62-8255-194648BCCE83}\"},{\"ProductID\":\"{A1D64256-C6B9-4091-A595-96549B34F009}\",\"ProductName\":\"HDJ-X7\",\"ProductCategoryName\":\"Headphones\",\"ProductCategoryID\":\"{44ED94F0-1627-4B62-8255-194648BCCE83}\"},{\"ProductID\":\"{D5BF910B-78DD-4328-A8C5-B3E669982A65}\",\"ProductName\":\"HDJ-S7\",\"ProductCategoryName\":\"Headphones\",\"ProductCategoryID\":\"{44ED94F0-1627-4B62-8255-194648BCCE83}\"},{\"ProductID\":\"{2AA66B45-F4FB-4E04-8666-14972DB6E745}\",\"ProductName\":\"HDJ-X5\",\"ProductCategoryName\":\"Headphones\",\"ProductCategoryID\":\"{44ED94F0-1627-4B62-8255-194648BCCE83}\"},{\"ProductID\":\"{03631E85-9BAA-44DB-944D-0870C34E5DC6}\",\"ProductName\":\"HDJ-X5BT\",\"ProductCategoryName\":\"Headphones\",\"ProductCategoryID\":\"{44ED94F0-1627-4B62-8255-194648BCCE83}\"},{\"ProductID\":\"{2C5FD6BC-F91F-47BA-A0AA-A1F525207E5D}\",\"ProductName\":\"HDJ-700\",\"ProductCategoryName\":\"Headphones\",\"ProductCategoryID\":\"{44ED94F0-1627-4B62-8255-194648BCCE83}\"},{\"ProductID\":\"{DAF7CCE9-4099-43C6-9AE7-A2F7FDE7035E}\",\"ProductName\":\"HRM-7\",\"ProductCategoryName\":\"Headphones\",\"ProductCategoryID\":\"{44ED94F0-1627-4B62-8255-194648BCCE83}\"},{\"ProductID\":\"{8272162F-9B0C-4115-B9E9-B9754D3836EB}\",\"ProductName\":\"HRM-6\",\"ProductCategoryName\":\"Headphones\",\"ProductCategoryID\":\"{44ED94F0-1627-4B62-8255-194648BCCE83}\"},{\"ProductID\":\"{BA917FCC-1349-48D6-88A9-6E1BE3189853}\",\"ProductName\":\"HRM-5\",\"ProductCategoryName\":\"Headphones\",\"ProductCategoryID\":\"{44ED94F0-1627-4B62-8255-194648BCCE83}\"},{\"ProductID\":\"{10989430-FFF8-428C-BB72-4BFDD8BE87B8}\",\"ProductName\":\"HDJ-HC02\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{9F7549B5-858A-4EC3-8582-7E0863B824F5}\",\"ProductName\":\"HC-CP08\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{CA693F01-8A04-4C32-8D37-677E5B862114}\",\"ProductName\":\"DJC-3000-BAG\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{6478E5A2-2C78-4684-BE06-2AE6E5E90178}\",\"ProductName\":\"DJC-FLX6-BAG\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{47DB2187-DE89-4813-A7E2-17BB10E6135C}\",\"ProductName\":\"DJC-RUCKSACK\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{2A1E756C-5931-48C5-A89B-3A757DA1B19E}\",\"ProductName\":\"DJC-S11-BAG\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{0EE434DE-0D51-4D48-941E-4D9B179E6180}\",\"ProductName\":\"DJC-XZ-BAG\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{24CE8074-BA81-4EE0-9387-EED3318E6792}\",\"ProductName\":\"DJRC-MULTI1\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{1EDA6E3A-486F-41AE-BDC6-B0A2E9626027}\",\"ProductName\":\"DJRC-V10\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{80CBC3DE-F9BF-48E7-93DA-1D00C77FEF98}\",\"ProductName\":\"DJC-200 BAG\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{D903E12D-E776-4A44-94B2-E344B3C9CC25}\",\"ProductName\":\"DJC-B-WEGO3-BAG\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{8B374770-4E2E-49E8-9663-F0D9E8C47118}\",\"ProductName\":\"DJC-800-BAG\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{D9F6E036-58EB-485B-8EE0-31336468634D}\",\"ProductName\":\"PC-HS01\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{54F13395-A530-4107-990B-20FCBAC5B8CB}\",\"ProductName\":\"PN-X05\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{A872AAA6-296B-4061-92FE-6A091A3FC1AA}\",\"ProductName\":\"RB-VS1-K\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{9E1EF5DB-AF57-44F3-8C89-0C14DE780D3A}\",\"ProductName\":\"HC-CA0501\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{2EB7641D-1EEC-46E8-9B0A-396B11DAE352}\",\"ProductName\":\"HC-CA0502\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{2E0A5E97-E9A5-440F-BDA8-CA10D24A94DB}\",\"ProductName\":\"HC-CA0601\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{1CEAE576-798C-44D0-9BF4-D7CFC4E3F719}\",\"ProductName\":\"HC-CA0602\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{BDB4839E-0A7F-4C54-9C9E-9CDF9D9E1AF9}\",\"ProductName\":\"HC-CA0603\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{5C4C5F9A-3321-419F-8A6E-EC6608B19B5D}\",\"ProductName\":\"HC-CA0701\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{887F2AE5-3826-4571-9230-82D8058825AE}\",\"ProductName\":\"HC-CA0702\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{C3E9284A-9B24-4E85-A77B-EF494BEEF95E}\",\"ProductName\":\"HC-CA0401\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{216E5C41-3A0E-4A68-9427-1CDAFFFD8550}\",\"ProductName\":\"HC-CA0402\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{96F1594E-8024-49C7-A65B-DB253FBB3AD8}\",\"ProductName\":\"HC-CA0403\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{DB0EC672-3323-4C14-BAD8-7399426966C0}\",\"ProductName\":\"HC-EP0501\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{8BDA12F6-CCC9-463D-9D18-04313BB61F38}\",\"ProductName\":\"HC-EP0601\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{106CE7A7-E5CF-4F14-BE5D-F37372856ED2}\",\"ProductName\":\"HC-EP0701\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{911FC508-8175-4D16-844D-E7C0221910E8}\",\"ProductName\":\"HC-EP0201\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{115427BD-5AFE-46CB-932F-3EC53C3A841A}\",\"ProductName\":\"HC-EP0301\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{959608AE-B97A-4562-A1DA-1F9E92B23BC9}\",\"ProductName\":\"HC-EP0302\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{CFC22F5C-EA6C-4F77-AFF1-437C294D013C}\",\"ProductName\":\"HC-EP0401\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{5BF40B88-FB70-4C3B-80BC-68C37319BAE4}\",\"ProductName\":\"HC-EP0402\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{DC3EEB35-2B9A-48BD-97DA-B32EFA2246AD}\",\"ProductName\":\"HC-HB0201\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{7127339B-0181-4FB3-AAAC-E8B4CF26C59C}\",\"ProductName\":\"HC-PA0001\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{05F09DE5-CAD2-4843-B2B8-A21956756952}\",\"ProductName\":\"DJC-RR-BAG\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{77BA0C22-A6F9-4BF4-8181-ACE65833B07A}\",\"ProductName\":\"DJC-1X-BAG\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{BAF22C6D-4447-407D-93C5-18FC282D2AF0}\",\"ProductName\":\"DJC-IF2-BAG\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{9EB0CC48-61A5-4961-8D5A-61592D1883EB}\",\"ProductName\":\"DJC-RX2-BAG\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{B4DE0474-ADDD-4A3C-A455-D4D0ED652F3F}\",\"ProductName\":\"DJC-NXS2-BAG\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{C3BBC7AD-72DF-469F-A400-D299267BB0F0}\",\"ProductName\":\"DJC-1000-BAG\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{70C9BEB9-06B2-4E40-80B3-C587938B6C9A}\",\"ProductName\":\"DJC-700-BAG\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{3994209E-F354-4298-B170-473DC7DF7E73}\",\"ProductName\":\"DJC-S9-BAG\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{066134E4-FC34-4778-AFB7-127E49392ACB}\",\"ProductName\":\"DJC-TAS1-BAG\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{EF076A15-BAF4-4293-8B1D-C4B0BA84A0CF}\",\"ProductName\":\"DJC-TSP16-BAG\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{58A8FD67-E4F0-489E-84EA-3DB2ACA21E14}\",\"ProductName\":\"DJC-R-BAG\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{8D1DCC5E-7FAA-45CF-95B5-43EEFB2CB594}\",\"ProductName\":\"FLT-XDJRX2\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{13F008E7-A6B6-4AE3-BF15-ADED277391F7}\",\"ProductName\":\"FLT-450SYS\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{4EEBBF03-DFD1-4709-BCDE-1E3838AD87FC}\",\"ProductName\":\"DJC-FLTRZX\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{AB411B05-FFDE-4E51-AB6C-96F83FB570B8}\",\"ProductName\":\"DJC-STS1\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{C3B7E020-E837-4774-A166-B9ADEF27C72F}\",\"ProductName\":\"XDJ-XZ\",\"ProductCategoryName\":\"All-in-one DJ system\",\"ProductCategoryID\":\"{AC30186B-AD65-4502-9A28-8CFC01C85F5F}\"},{\"ProductID\":\"{C138B77D-E440-48AD-A088-020621DB066E}\",\"ProductName\":\"XDJ-RX2\",\"ProductCategoryName\":\"All-in-one DJ system\",\"ProductCategoryID\":\"{AC30186B-AD65-4502-9A28-8CFC01C85F5F}\"},{\"ProductID\":\"{77D31F88-2049-4360-A98D-3405EA309E95}\",\"ProductName\":\"XDJ-RR\",\"ProductCategoryName\":\"All-in-one DJ system\",\"ProductCategoryID\":\"{AC30186B-AD65-4502-9A28-8CFC01C85F5F}\"},{\"ProductID\":\"{2320711C-819C-4A8C-AD80-6C374F611414}\",\"ProductName\":\"VM-50\",\"ProductCategoryName\":\"Monitor speakers\",\"ProductCategoryID\":\"{A2CE6988-E3FA-4D9F-B751-00C073F2CC52}\"},{\"ProductID\":\"{998DACB0-9CC0-4C1D-9CB1-F1E70B4238B5}\",\"ProductName\":\"VM-70\",\"ProductCategoryName\":\"Monitor speakers\",\"ProductCategoryID\":\"{A2CE6988-E3FA-4D9F-B751-00C073F2CC52}\"},{\"ProductID\":\"{2D5D6A3D-AE26-4E7F-ABFE-9F5F81D2BA96}\",\"ProductName\":\"VM-80\",\"ProductCategoryName\":\"Monitor speakers\",\"ProductCategoryID\":\"{A2CE6988-E3FA-4D9F-B751-00C073F2CC52}\"},{\"ProductID\":\"{8DB7D1DA-B2AF-48CF-AA44-55959C641A69}\",\"ProductName\":\"DM-40BT\",\"ProductCategoryName\":\"Monitor speakers\",\"ProductCategoryID\":\"{A2CE6988-E3FA-4D9F-B751-00C073F2CC52}\"},{\"ProductID\":\"{87B2B2DF-052E-4F2D-B39B-2C6705AB6351}\",\"ProductName\":\"DM-40\",\"ProductCategoryName\":\"Monitor speakers\",\"ProductCategoryID\":\"{A2CE6988-E3FA-4D9F-B751-00C073F2CC52}\"},{\"ProductID\":\"{2757CEF3-AEE8-4CFD-A1E6-30895F6AD422}\",\"ProductName\":\"TORAIZ-SQUID\",\"ProductCategoryName\":\"Music Production\",\"ProductCategoryID\":\"{63513C2D-E27C-44D9-8DA0-03E8C77FAB86}\"},{\"ProductID\":\"{79F0F6FB-721D-4065-ADA9-0929C035FF69}\",\"ProductName\":\"TORAIZ AS-1\",\"ProductCategoryName\":\"Music Production\",\"ProductCategoryID\":\"{63513C2D-E27C-44D9-8DA0-03E8C77FAB86}\"},{\"ProductID\":\"{10A75572-3621-43E1-8D61-19D2E33A14B9}\",\"ProductName\":\"TORAIZ SP-16\",\"ProductCategoryName\":\"Music Production\",\"ProductCategoryID\":\"{63513C2D-E27C-44D9-8DA0-03E8C77FAB86}\"},{\"ProductID\":\"{49A229FA-2136-4B40-BED6-22C50804468A}\",\"ProductName\":\"RB-DMX1\",\"ProductCategoryName\":\"DJ software \u0026 Interfaces\",\"ProductCategoryID\":\"{B554DD71-67CD-4797-AB53-D57D183867C6}\"},{\"ProductID\":\"{E9C6ECC9-05F8-4AC5-A11A-074D39634FCC}\",\"ProductName\":\"INTERFACE-2\",\"ProductCategoryName\":\"DJ software \u0026 Interfaces\",\"ProductCategoryID\":\"{B554DD71-67CD-4797-AB53-D57D183867C6}\"},{\"ProductID\":\"{A00235B4-7289-4170-92D3-7BDD1C41DC6D}\",\"ProductName\":\"DJS-1000\",\"ProductCategoryName\":\"DJ sampler\",\"ProductCategoryID\":\"{993A8274-27AA-49D0-B552-A1B2E6F2493E}\"},{\"ProductID\":\"{EF305A2F-65FB-4BCA-922D-123D161F4F51}\",\"ProductName\":\"RMX-1000\",\"ProductCategoryName\":\"Remix station\",\"ProductCategoryID\":\"{B0496E38-516D-47E0-9AE0-5DC5C22C4BE7}\"},{\"ProductID\":\"{81003DF8-3B96-4D4B-B20E-68DDD6753C51}\",\"ProductName\":\"CDJ-3000\",\"ProductCategoryName\":\"DJ player\",\"ProductCategoryID\":\"{DA45F21A-9E2B-4837-AF88-3BA6A0D7D15E}\"},{\"ProductID\":\"{1FF13521-161A-4234-B109-176C9F70628B}\",\"ProductName\":\"CDJ-2000NXS2\",\"ProductCategoryName\":\"DJ player\",\"ProductCategoryID\":\"{DA45F21A-9E2B-4837-AF88-3BA6A0D7D15E}\"},{\"ProductID\":\"{D0769094-19B8-4F1F-BCF2-9DF26400A6B8}\",\"ProductName\":\"CDJ-900NXS\",\"ProductCategoryName\":\"DJ player\",\"ProductCategoryID\":\"{DA45F21A-9E2B-4837-AF88-3BA6A0D7D15E}\"},{\"ProductID\":\"{592B354A-A44D-4DB7-9D4E-A9AB70838F39}\",\"ProductName\":\"CDJ-850\",\"ProductCategoryName\":\"DJ player\",\"ProductCategoryID\":\"{DA45F21A-9E2B-4837-AF88-3BA6A0D7D15E}\"},{\"ProductID\":\"{F2B214FB-24B4-4AAD-8455-16F725369F3C}\",\"ProductName\":\"CDJ-350\",\"ProductCategoryName\":\"DJ player\",\"ProductCategoryID\":\"{DA45F21A-9E2B-4837-AF88-3BA6A0D7D15E}\"},{\"ProductID\":\"{FD865730-3D6B-4F20-A019-89B617C1263C}\",\"ProductName\":\"XDJ-1000MK2\",\"ProductCategoryName\":\"DJ player\",\"ProductCategoryID\":\"{DA45F21A-9E2B-4837-AF88-3BA6A0D7D15E}\"},{\"ProductID\":\"{1E399755-9D6B-4033-825D-84D6D5E6C4B3}\",\"ProductName\":\"XDJ-700\",\"ProductCategoryName\":\"DJ player\",\"ProductCategoryID\":\"{DA45F21A-9E2B-4837-AF88-3BA6A0D7D15E}\"},{\"ProductID\":\"{E65F16F4-B3E6-458E-8073-BADA71784F14}\",\"ProductName\":\"DJM-S7\",\"ProductCategoryName\":\"DJ mixer\",\"ProductCategoryID\":\"{2F43A6FD-266F-4D95-ACA8-9D25F04002C7}\"},{\"ProductID\":\"{4236155E-B377-439E-B302-45A6ED17D2E3}\",\"ProductName\":\"DJM-V10-LF\",\"ProductCategoryName\":\"DJ mixer\",\"ProductCategoryID\":\"{2F43A6FD-266F-4D95-ACA8-9D25F04002C7}\"},{\"ProductID\":\"{8D241DA6-6FF9-47E0-B4F8-F71DC0F2BCD8}\",\"ProductName\":\"DJM-S11\",\"ProductCategoryName\":\"DJ mixer\",\"ProductCategoryID\":\"{2F43A6FD-266F-4D95-ACA8-9D25F04002C7}\"},{\"ProductID\":\"{BBC7BBF0-B4BD-47FB-8CFA-29347FC0B0F5}\",\"ProductName\":\"DJM-V10\",\"ProductCategoryName\":\"DJ mixer\",\"ProductCategoryID\":\"{2F43A6FD-266F-4D95-ACA8-9D25F04002C7}\"},{\"ProductID\":\"{E418F670-6931-4121-9A14-502D7073D22C}\",\"ProductName\":\"DJM-900NXS2\",\"ProductCategoryName\":\"DJ mixer\",\"ProductCategoryID\":\"{2F43A6FD-266F-4D95-ACA8-9D25F04002C7}\"},{\"ProductID\":\"{1E490FA7-9D9D-44C7-8F55-B3BB7F78854B}\",\"ProductName\":\"DJM-750MK2\",\"ProductCategoryName\":\"DJ mixer\",\"ProductCategoryID\":\"{2F43A6FD-266F-4D95-ACA8-9D25F04002C7}\"},{\"ProductID\":\"{620CDBFD-2133-4625-84A9-68ACEFB8FC5C}\",\"ProductName\":\"DJM-450\",\"ProductCategoryName\":\"DJ mixer\",\"ProductCategoryID\":\"{2F43A6FD-266F-4D95-ACA8-9D25F04002C7}\"},{\"ProductID\":\"{91EAF323-4E33-46FE-ADE5-20BC2AAC0B01}\",\"ProductName\":\"DJM-250MK2\",\"ProductCategoryName\":\"DJ mixer\",\"ProductCategoryID\":\"{2F43A6FD-266F-4D95-ACA8-9D25F04002C7}\"},{\"ProductID\":\"{5D54AE85-3C56-40C8-8C80-4DBEA8B04F48}\",\"ProductName\":\"DJM-S3\",\"ProductCategoryName\":\"DJ mixer\",\"ProductCategoryID\":\"{2F43A6FD-266F-4D95-ACA8-9D25F04002C7}\"},{\"ProductID\":\"{34E84F4B-0BD2-4492-A744-E18D9F35820F}\",\"ProductName\":\"DDJ-FLX6\",\"ProductCategoryName\":\"DJ controller\",\"ProductCategoryID\":\"{D7A7E2DF-B000-42C8-9533-543B93B3A203}\"},{\"ProductID\":\"{2777E6DC-FA37-4789-A9BB-39B1B14FBFB3}\",\"ProductName\":\"DDJ-1000SRT\",\"ProductCategoryName\":\"DJ controller\",\"ProductCategoryID\":\"{D7A7E2DF-B000-42C8-9533-543B93B3A203}\"},{\"ProductID\":\"{8E2935B4-A356-4DBD-929A-EB3682A06CFC}\",\"ProductName\":\"DDJ-1000\",\"ProductCategoryName\":\"DJ controller\",\"ProductCategoryID\":\"{D7A7E2DF-B000-42C8-9533-543B93B3A203}\"},{\"ProductID\":\"{CD400C1B-CA62-49C2-BFD3-A4F63A95893F}\",\"ProductName\":\"DDJ-800\",\"ProductCategoryName\":\"DJ controller\",\"ProductCategoryID\":\"{D7A7E2DF-B000-42C8-9533-543B93B3A203}\"},{\"ProductID\":\"{031670A5-F1D1-4865-AD39-C16FD166ED4C}\",\"ProductName\":\"DDJ-400\",\"ProductCategoryName\":\"DJ controller\",\"ProductCategoryID\":\"{D7A7E2DF-B000-42C8-9533-543B93B3A203}\"},{\"ProductID\":\"{F608D7E7-33A3-4D7C-B937-000E6DE2B8DB}\",\"ProductName\":\"DDJ-200\",\"ProductCategoryName\":\"DJ controller\",\"ProductCategoryID\":\"{D7A7E2DF-B000-42C8-9533-543B93B3A203}\"},{\"ProductID\":\"{28047B69-E754-422E-A177-BCF19A9C1F96}\",\"ProductName\":\"DDJ-RZX\",\"ProductCategoryName\":\"DJ controller\",\"ProductCategoryID\":\"{D7A7E2DF-B000-42C8-9533-543B93B3A203}\"},{\"ProductID\":\"{3A5AE1FA-F17A-4CF0-9078-EA9CAB583D4B}\",\"ProductName\":\"DDJ-RZ\",\"ProductCategoryName\":\"DJ controller\",\"ProductCategoryID\":\"{D7A7E2DF-B000-42C8-9533-543B93B3A203}\"},{\"ProductID\":\"{9D58BFFB-C32E-4259-9E72-9995B1CA2F17}\",\"ProductName\":\"DDJ-XP2\",\"ProductCategoryName\":\"DJ controller\",\"ProductCategoryID\":\"{D7A7E2DF-B000-42C8-9533-543B93B3A203}\"},{\"ProductID\":\"{E3A8CA13-8077-4F38-9398-8B33620ED0D2}\",\"ProductName\":\"DDJ-SR2\",\"ProductCategoryName\":\"DJ controller\",\"ProductCategoryID\":\"{D7A7E2DF-B000-42C8-9533-543B93B3A203}\"},{\"ProductID\":\"{E066CFFB-A74B-4692-BDD1-2AD0BA7D4FBB}\",\"ProductName\":\"DDJ-SB3\",\"ProductCategoryName\":\"DJ controller\",\"ProductCategoryID\":\"{D7A7E2DF-B000-42C8-9533-543B93B3A203}\"},{\"ProductID\":\"{EF566662-846A-4F0D-8868-C2C8F5E61890}\",\"ProductName\":\"PLX-1000\",\"ProductCategoryName\":\"Turntable\",\"ProductCategoryID\":\"{8571EF32-B910-4DBD-979B-B60139ACA390}\"},{\"ProductID\":\"{2779C65B-8D51-4D5C-89A3-9EB6D64DCC69}\",\"ProductName\":\"PLX-500\",\"ProductCategoryName\":\"Turntable\",\"ProductCategoryID\":\"{8571EF32-B910-4DBD-979B-B60139ACA390}\"},{\"ProductID\":\"{01354BEC-8256-4453-A46F-55423117504E}\",\"ProductName\":\"HDJ-CUE1\",\"ProductCategoryName\":\"Headphones\",\"ProductCategoryID\":\"{44ED94F0-1627-4B62-8255-194648BCCE83}\"},{\"ProductID\":\"{FCC860EC-F656-4795-A553-2D4BFDF750A6}\",\"ProductName\":\"HDJ-CUE1BT\",\"ProductCategoryName\":\"Headphones\",\"ProductCategoryID\":\"{44ED94F0-1627-4B62-8255-194648BCCE83}\"},{\"ProductID\":\"{F9DE25BA-BC99-4304-AB81-8F44407D6183}\",\"ProductName\":\"HDJ-X10\",\"ProductCategoryName\":\"Headphones\",\"ProductCategoryID\":\"{44ED94F0-1627-4B62-8255-194648BCCE83}\"},{\"ProductID\":\"{A1D64256-C6B9-4091-A595-96549B34F009}\",\"ProductName\":\"HDJ-X7\",\"ProductCategoryName\":\"Headphones\",\"ProductCategoryID\":\"{44ED94F0-1627-4B62-8255-194648BCCE83}\"},{\"ProductID\":\"{D5BF910B-78DD-4328-A8C5-B3E669982A65}\",\"ProductName\":\"HDJ-S7\",\"ProductCategoryName\":\"Headphones\",\"ProductCategoryID\":\"{44ED94F0-1627-4B62-8255-194648BCCE83}\"},{\"ProductID\":\"{2AA66B45-F4FB-4E04-8666-14972DB6E745}\",\"ProductName\":\"HDJ-X5\",\"ProductCategoryName\":\"Headphones\",\"ProductCategoryID\":\"{44ED94F0-1627-4B62-8255-194648BCCE83}\"},{\"ProductID\":\"{03631E85-9BAA-44DB-944D-0870C34E5DC6}\",\"ProductName\":\"HDJ-X5BT\",\"ProductCategoryName\":\"Headphones\",\"ProductCategoryID\":\"{44ED94F0-1627-4B62-8255-194648BCCE83}\"},{\"ProductID\":\"{2C5FD6BC-F91F-47BA-A0AA-A1F525207E5D}\",\"ProductName\":\"HDJ-700\",\"ProductCategoryName\":\"Headphones\",\"ProductCategoryID\":\"{44ED94F0-1627-4B62-8255-194648BCCE83}\"},{\"ProductID\":\"{DAF7CCE9-4099-43C6-9AE7-A2F7FDE7035E}\",\"ProductName\":\"HRM-7\",\"ProductCategoryName\":\"Headphones\",\"ProductCategoryID\":\"{44ED94F0-1627-4B62-8255-194648BCCE83}\"},{\"ProductID\":\"{8272162F-9B0C-4115-B9E9-B9754D3836EB}\",\"ProductName\":\"HRM-6\",\"ProductCategoryName\":\"Headphones\",\"ProductCategoryID\":\"{44ED94F0-1627-4B62-8255-194648BCCE83}\"},{\"ProductID\":\"{BA917FCC-1349-48D6-88A9-6E1BE3189853}\",\"ProductName\":\"HRM-5\",\"ProductCategoryName\":\"Headphones\",\"ProductCategoryID\":\"{44ED94F0-1627-4B62-8255-194648BCCE83}\"},{\"ProductID\":\"{10989430-FFF8-428C-BB72-4BFDD8BE87B8}\",\"ProductName\":\"HDJ-HC02\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{9F7549B5-858A-4EC3-8582-7E0863B824F5}\",\"ProductName\":\"HC-CP08\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{CA693F01-8A04-4C32-8D37-677E5B862114}\",\"ProductName\":\"DJC-3000-BAG\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{6478E5A2-2C78-4684-BE06-2AE6E5E90178}\",\"ProductName\":\"DJC-FLX6-BAG\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{47DB2187-DE89-4813-A7E2-17BB10E6135C}\",\"ProductName\":\"DJC-RUCKSACK\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{2A1E756C-5931-48C5-A89B-3A757DA1B19E}\",\"ProductName\":\"DJC-S11-BAG\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{0EE434DE-0D51-4D48-941E-4D9B179E6180}\",\"ProductName\":\"DJC-XZ-BAG\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{24CE8074-BA81-4EE0-9387-EED3318E6792}\",\"ProductName\":\"DJRC-MULTI1\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{1EDA6E3A-486F-41AE-BDC6-B0A2E9626027}\",\"ProductName\":\"DJRC-V10\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{80CBC3DE-F9BF-48E7-93DA-1D00C77FEF98}\",\"ProductName\":\"DJC-200 BAG\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{D903E12D-E776-4A44-94B2-E344B3C9CC25}\",\"ProductName\":\"DJC-B-WEGO3-BAG\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{8B374770-4E2E-49E8-9663-F0D9E8C47118}\",\"ProductName\":\"DJC-800-BAG\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{D9F6E036-58EB-485B-8EE0-31336468634D}\",\"ProductName\":\"PC-HS01\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{54F13395-A530-4107-990B-20FCBAC5B8CB}\",\"ProductName\":\"PN-X05\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{A872AAA6-296B-4061-92FE-6A091A3FC1AA}\",\"ProductName\":\"RB-VS1-K\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{9E1EF5DB-AF57-44F3-8C89-0C14DE780D3A}\",\"ProductName\":\"HC-CA0501\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{2EB7641D-1EEC-46E8-9B0A-396B11DAE352}\",\"ProductName\":\"HC-CA0502\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{2E0A5E97-E9A5-440F-BDA8-CA10D24A94DB}\",\"ProductName\":\"HC-CA0601\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{1CEAE576-798C-44D0-9BF4-D7CFC4E3F719}\",\"ProductName\":\"HC-CA0602\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{BDB4839E-0A7F-4C54-9C9E-9CDF9D9E1AF9}\",\"ProductName\":\"HC-CA0603\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{5C4C5F9A-3321-419F-8A6E-EC6608B19B5D}\",\"ProductName\":\"HC-CA0701\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{887F2AE5-3826-4571-9230-82D8058825AE}\",\"ProductName\":\"HC-CA0702\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{C3E9284A-9B24-4E85-A77B-EF494BEEF95E}\",\"ProductName\":\"HC-CA0401\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{216E5C41-3A0E-4A68-9427-1CDAFFFD8550}\",\"ProductName\":\"HC-CA0402\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{96F1594E-8024-49C7-A65B-DB253FBB3AD8}\",\"ProductName\":\"HC-CA0403\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{DB0EC672-3323-4C14-BAD8-7399426966C0}\",\"ProductName\":\"HC-EP0501\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{8BDA12F6-CCC9-463D-9D18-04313BB61F38}\",\"ProductName\":\"HC-EP0601\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{106CE7A7-E5CF-4F14-BE5D-F37372856ED2}\",\"ProductName\":\"HC-EP0701\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{911FC508-8175-4D16-844D-E7C0221910E8}\",\"ProductName\":\"HC-EP0201\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{115427BD-5AFE-46CB-932F-3EC53C3A841A}\",\"ProductName\":\"HC-EP0301\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{959608AE-B97A-4562-A1DA-1F9E92B23BC9}\",\"ProductName\":\"HC-EP0302\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{CFC22F5C-EA6C-4F77-AFF1-437C294D013C}\",\"ProductName\":\"HC-EP0401\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{5BF40B88-FB70-4C3B-80BC-68C37319BAE4}\",\"ProductName\":\"HC-EP0402\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{DC3EEB35-2B9A-48BD-97DA-B32EFA2246AD}\",\"ProductName\":\"HC-HB0201\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{7127339B-0181-4FB3-AAAC-E8B4CF26C59C}\",\"ProductName\":\"HC-PA0001\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{05F09DE5-CAD2-4843-B2B8-A21956756952}\",\"ProductName\":\"DJC-RR-BAG\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{77BA0C22-A6F9-4BF4-8181-ACE65833B07A}\",\"ProductName\":\"DJC-1X-BAG\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{BAF22C6D-4447-407D-93C5-18FC282D2AF0}\",\"ProductName\":\"DJC-IF2-BAG\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{9EB0CC48-61A5-4961-8D5A-61592D1883EB}\",\"ProductName\":\"DJC-RX2-BAG\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{B4DE0474-ADDD-4A3C-A455-D4D0ED652F3F}\",\"ProductName\":\"DJC-NXS2-BAG\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{C3BBC7AD-72DF-469F-A400-D299267BB0F0}\",\"ProductName\":\"DJC-1000-BAG\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{70C9BEB9-06B2-4E40-80B3-C587938B6C9A}\",\"ProductName\":\"DJC-700-BAG\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{3994209E-F354-4298-B170-473DC7DF7E73}\",\"ProductName\":\"DJC-S9-BAG\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{066134E4-FC34-4778-AFB7-127E49392ACB}\",\"ProductName\":\"DJC-TAS1-BAG\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{EF076A15-BAF4-4293-8B1D-C4B0BA84A0CF}\",\"ProductName\":\"DJC-TSP16-BAG\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{58A8FD67-E4F0-489E-84EA-3DB2ACA21E14}\",\"ProductName\":\"DJC-R-BAG\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{8D1DCC5E-7FAA-45CF-95B5-43EEFB2CB594}\",\"ProductName\":\"FLT-XDJRX2\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{13F008E7-A6B6-4AE3-BF15-ADED277391F7}\",\"ProductName\":\"FLT-450SYS\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{4EEBBF03-DFD1-4709-BCDE-1E3838AD87FC}\",\"ProductName\":\"DJC-FLTRZX\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{AB411B05-FFDE-4E51-AB6C-96F83FB570B8}\",\"ProductName\":\"DJC-STS1\",\"ProductCategoryName\":\"Accessories\",\"ProductCategoryID\":\"{194A2B36-805F-4CFC-97E8-5D5DDFDCE12B}\"},{\"ProductID\":\"{C3B7E020-E837-4774-A166-B9ADEF27C72F}\",\"ProductName\":\"XDJ-XZ\",\"ProductCategoryName\":\"All-in-one DJ system\",\"ProductCategoryID\":\"{AC30186B-AD65-4502-9A28-8CFC01C85F5F}\"},{\"ProductID\":\"{C138B77D-E440-48AD-A088-020621DB066E}\",\"ProductName\":\"XDJ-RX2\",\"ProductCategoryName\":\"All-in-one DJ system\",\"ProductCategoryID\":\"{AC30186B-AD65-4502-9A28-8CFC01C85F5F}\"},{\"ProductID\":\"{77D31F88-2049-4360-A98D-3405EA309E95}\",\"ProductName\":\"XDJ-RR\",\"ProductCategoryName\":\"All-in-one DJ system\",\"ProductCategoryID\":\"{AC30186B-AD65-4502-9A28-8CFC01C85F5F}\"},{\"ProductID\":\"{2320711C-819C-4A8C-AD80-6C374F611414}\",\"ProductName\":\"VM-50\",\"ProductCategoryName\":\"Monitor speakers\",\"ProductCategoryID\":\"{A2CE6988-E3FA-4D9F-B751-00C073F2CC52}\"},{\"ProductID\":\"{998DACB0-9CC0-4C1D-9CB1-F1E70B4238B5}\",\"ProductName\":\"VM-70\",\"ProductCategoryName\":\"Monitor speakers\",\"ProductCategoryID\":\"{A2CE6988-E3FA-4D9F-B751-00C073F2CC52}\"},{\"ProductID\":\"{2D5D6A3D-AE26-4E7F-ABFE-9F5F81D2BA96}\",\"ProductName\":\"VM-80\",\"ProductCategoryName\":\"Monitor speakers\",\"ProductCategoryID\":\"{A2CE6988-E3FA-4D9F-B751-00C073F2CC52}\"},{\"ProductID\":\"{8DB7D1DA-B2AF-48CF-AA44-55959C641A69}\",\"ProductName\":\"DM-40BT\",\"ProductCategoryName\":\"Monitor speakers\",\"ProductCategoryID\":\"{A2CE6988-E3FA-4D9F-B751-00C073F2CC52}\"},{\"ProductID\":\"{87B2B2DF-052E-4F2D-B39B-2C6705AB6351}\",\"ProductName\":\"DM-40\",\"ProductCategoryName\":\"Monitor speakers\",\"ProductCategoryID\":\"{A2CE6988-E3FA-4D9F-B751-00C073F2CC52}\"},{\"ProductID\":\"{2757CEF3-AEE8-4CFD-A1E6-30895F6AD422}\",\"ProductName\":\"TORAIZ-SQUID\",\"ProductCategoryName\":\"Music Production\",\"ProductCategoryID\":\"{63513C2D-E27C-44D9-8DA0-03E8C77FAB86}\"},{\"ProductID\":\"{79F0F6FB-721D-4065-ADA9-0929C035FF69}\",\"ProductName\":\"TORAIZ AS-1\",\"ProductCategoryName\":\"Music Production\",\"ProductCategoryID\":\"{63513C2D-E27C-44D9-8DA0-03E8C77FAB86}\"},{\"ProductID\":\"{10A75572-3621-43E1-8D61-19D2E33A14B9}\",\"ProductName\":\"TORAIZ SP-16\",\"ProductCategoryName\":\"Music Production\",\"ProductCategoryID\":\"{63513C2D-E27C-44D9-8DA0-03E8C77FAB86}\"},{\"ProductID\":\"{49A229FA-2136-4B40-BED6-22C50804468A}\",\"ProductName\":\"RB-DMX1\",\"ProductCategoryName\":\"DJ software \u0026 Interfaces\",\"ProductCategoryID\":\"{B554DD71-67CD-4797-AB53-D57D183867C6}\"},{\"ProductID\":\"{E9C6ECC9-05F8-4AC5-A11A-074D39634FCC}\",\"ProductName\":\"INTERFACE-2\",\"ProductCategoryName\":\"DJ software \u0026 Interfaces\",\"ProductCategoryID\":\"{B554DD71-67CD-4797-AB53-D57D183867C6}\"},{\"ProductID\":\"{A00235B4-7289-4170-92D3-7BDD1C41DC6D}\",\"ProductName\":\"DJS-1000\",\"ProductCategoryName\":\"DJ sampler\",\"ProductCategoryID\":\"{993A8274-27AA-49D0-B552-A1B2E6F2493E}\"},{\"ProductID\":\"{EF305A2F-65FB-4BCA-922D-123D161F4F51}\",\"ProductName\":\"RMX-1000\",\"ProductCategoryName\":\"Remix station\",\"ProductCategoryID\":\"{B0496E38-516D-47E0-9AE0-5DC5C22C4BE7}\"}]"));
}),
setProducts: async () => {
const selected = {...filter.selected};
const products = await filter.fetchProducts().catch((error) => console.error(error));
products.forEach((product) => {
const categoryID = product.ProductCategoryID;
const categoryName = product.ProductCategoryName;
const productID = product.ProductID;
const productName = product.ProductName;
if (!filter.products[categoryID]) {
filter.products[categoryID] = {
id: categoryID,
name: categoryName,
items: [],
};
}
const existingProductsFound = filter.products[categoryID].items.filter((thisProduct) => thisProduct.id === productID);
if (existingProductsFound.length > 0) {
return;
}
filter.products[categoryID].items.push({
id: productID,
name: productName,
});
filter.els.theProductsCategory.disabled = false;
});
const theCategories = Object.values(filter.products);
theCategories.sort((a, b) => {
if (a.name > b.name) {
return 1;
}
if (a.name < b.name) {
return -1;
}
return 0;
});
let categoryIndex = 1;
filter.els.theProductsCategory.options.length = 1;
theCategories.forEach(theCategory => {
filter.els.theProductsCategory.options[categoryIndex] = new Option(theCategory.name, theCategory.id);
if (selected.category && theCategory.id === selected.category) {
filter.els.theProductsCategory.selectedIndex = categoryIndex;
};
categoryIndex++;
});
filter.els.theProducts && filter.setProduct(selected);
},
setProduct: (selected) => {
const theProducts = selected.category ? filter.products[selected.category].items : [];
let productIndex = 1;
theProducts.sort((a, b) => {
if (a.name > b.name) {
return 1;
}
if (a.name < b.name) {
return -1;
}
return 0;
});
filter.els.theProducts.options.length = 1;
filter.els.theProducts.options.selectedIndex = 0;
theProducts.forEach((theProduct) => {
filter.els.theProducts.options[productIndex] = new Option(theProduct.name, theProduct.id);
if (selected.product && theProduct.id === selected.product) {
filter.els.theProducts.selectedIndex = productIndex;
};
productIndex++;
});
filter.els.theProducts.disabled = theProducts.length <= 0;
},
};
const list = {
s: {
selectors: {
theWrap: '.store-map',
theContent: '.store-list__content',
theList: '.store-list__list',
theCount: '.store-map__count',
theArea: '.store-map__area',
theItem: '.store-list__item',
theActiveItem: '.store-list__item.is-active',
},
classes: {
listIsHidden: 'list-is-hidden',
isActive: 'is-active',
},
},
els: {},
init: () => {
list.els.theWrap = d.querySelector(list.s.selectors.theWrap);
list.els.theContent = d.querySelector(list.s.selectors.theContent);
list.els.theList = d.querySelector(list.s.selectors.theList);
list.els.theCount = d.querySelector(list.s.selectors.theCount);
list.els.theArea = d.querySelector(list.s.selectors.theArea);
},
build: () => {
let theList = [];
map.shops.length
? map.shops.forEach(shop => theList.push(list.getListItem(shop)))
: theList.push(list.getEmptyMessage());
list.setAmount(map.shops.length);
list.setCityName();
list.els.theList.innerHTML = theList.join('');
list.els.theContent.scrollTo({
top: 0,
left: 0,
behavior: 'smooth',
});
list.bindIt();
},
bindIt: () => {
list.els.theItems = list.els.theList.querySelectorAll(list.s.selectors.theItem);
[...list.els.theItems].forEach((theItem) => {
theItem.addEventListener('mouseenter', () => {
list.dehighlightItem();
theItem.classList.add(list.s.classes.isActive);
marker.animate.stop();
marker.animate.start(theItem.dataset.id);
});
theItem.addEventListener('mouseleave', () => {
});
});
},
show: () => list.els.theWrap.classList.remove(list.s.classes.listIsHidden),
highlightItem: (id) => {
if (!id) { return; }
const theItem = list.els.theContent.querySelector(`[data-id="${id}"]`);
list.dehighlightItem();
theItem && theItem.classList.add(list.s.classes.isActive);
theItem && list.els.theContent.scrollTo({
top: theItem.offsetTop,
left: 0,
behavior: 'smooth',
});
},
dehighlightItem: () => {
const theActiveItem = list.els.theContent.querySelector(list.s.selectors.theActiveItem);
theActiveItem && theActiveItem.classList.remove(list.s.classes.isActive);
},
setAmount: (amount) => list.els.theCount.innerHTML = amount,
setCityName: () => list.els.theArea.innerHTML = map.options.city || map.options.country,
getListItem: (shop) => {
const protocol = shop.Website && shop.Website.indexOf('://') === -1 ? 'http://' : '';
const websiteLink = shop.Website ? `<a href="${protocol}${shop.Website}" class="link link--underlined" target="_blank">
<span class="link__label">${general.els.theVisitWebsite ? general.els.theVisitWebsite.value : 'Visit website'}</span>
</a>` : '';
return `
<li class="store-list__item" data-id="${shop.Location_ID}" data-category="${shop.Category}">
<article class="snippet-d">
<header class="snippet-d__header">
<h3 class="snippet-d__heading">${shop.StoreName}</h3>
<span class="caption">${shop.Distance}</span>
</header>
<div class="snippet-d__main caption">
${shop.StreetName} ${shop.BuildingNumber}<br>
${shop.ZipCode} ${shop.City}
</div>
<a href="${general.getDetailLink(shop)}" class="snippet-d__link"></a>
<div class="snippet-d__actions actions actions--split actions--force caption">
<div class="actions__item">
<div class="snippet-d__action">
${websiteLink}
</div>
</div>
<div class="actions__item">
<div class="snippet-d__action">
<a href="${general.getDetailLink(shop)}" class="link link--underlined">
<span class="link__label">${general.els.theMoreDetails ? general.els.theMoreDetails.value : 'More details'}</span>
</a>
</div>
</div>
</div>
</article>
</li>
`;
},
getEmptyMessage: () => `
<li class="store-list__item">
${general.els.theNoShopsFound.value || ''}
</li>
`,
};
const map = {
s: {
selectors: {
theMapWrap: '#store-map__map',
},
classes: {},
},
el: {},
options: {
center: {
lat: 0,
lng: 0,
},
country: '',
city: '',
zoom: 5,
bounds: {},
},
shops: [],
markers: [],
clusters: null,
els: {},
init: () => {
map.els.theMapWrap = d.querySelector(map.s.selectors.theMapWrap);
if (!map.els.theMapWrap) { console.error('Map container is not found in the DOM!'); return; }
map.el = new google.maps.Map(map.els.theMapWrap, {
zoomControl: true,
mapTypeControl: false,
scaleControl: false,
streetViewControl: false,
rotateControl: false,
fullscreenControl: false,
});
map.geocoder = new google.maps.Geocoder();
map.el.addListener('dragend', async () => {
if (!map.canDrag) { return; }
map.canDrag = false;
const center = map.el.getCenter();
map.options.center.lat = center.lat(),
map.options.center.lng = center.lng();
const location = await map.getLocation({location: map.options.center});
const shops = await general.getShops();
map.options.city = general.getCityName(location.address_components);
list.setCityName();
map.build(false);
list.build();
});
return map.el;
},
build: (fit = true) => {
map.el.setCenter(map.options.center);
map.removeMarkers();
map.addMarkers();
// map.clusters = marker.cluster();
fit && map.fitToMarkers();
},
addMarkers: () => {
if (map.shops.length <= 0) {
return;
}
map.shops.forEach((shop) => {
map.markers.push(marker.add(shop));
});
return map.markers;
},
removeMarkers: () => {
marker.animate.stop();
map.markers.forEach((thisMarker) => {
marker.hide(thisMarker);
});
map.markers = [];
},
fitToMarkers: () => {
map.options.bounds = new google.maps.LatLngBounds();
for (let i = 0; i < map.markers.length; i++) {
map.options.bounds.extend(map.markers[i].getPosition());
}
map.el.fitBounds(map.options.bounds);
return map.options.bounds;
},
getLocation: (whatToSearchFor) => new Promise((resolve, reject) => {
general.overlay.show();
const geocodeParams = {
...whatToSearchFor,
// componentRestrictions:{
// country: map.options.country,
// }
};
map.geocoder.geocode(geocodeParams, (geoResult, geoStatus) => {
if (geoStatus === 'OK') {
map.options.center.lat = geoResult[0].geometry.location.lat();
map.options.center.lng = geoResult[0].geometry.location.lng();
map.options.bounds = geoResult[0].geometry.bounds;
resolve(geoResult[0]);
} else {
reject(geoStatus);
}
general.overlay.hide();
});
}),
getMyLocation: () => new Promise((resolve, reject) => {
if (!navigator.geolocation) {
reject('Browser geolocation feature is not supported!');
}
general.overlay.show();
navigator.geolocation.getCurrentPosition(
async (position) => {
const location = {
lat: position.coords.latitude,
lng: position.coords.longitude,
};
const myLocation = await map.getLocation({location: location});
resolve(myLocation);
},
() => {
filter.els.myLocationTrigger.classList.add(filter.s.classes.locationIsBlocked);
general.overlay.hide();
reject('Browser geolocation is blocked!');
}
);
}),
};
const marker = {
s: {
selectors: {},
classes: {},
},
els: {},
init: () => {},
add: (shop) => {
const markerOptions = {
map: map.el,
position: {
lat: parseFloat(shop.Latitude),
lng: parseFloat(shop.Longitude),
},
title: shop.StoreName,
category: shop.Category,
id: shop.Location_ID,
info: `<a href="${general.getDetailLink(shop)}" class="link">${shop.StoreName}</a>`,
};
const thisMarker = new google.maps.Marker(markerOptions);
thisMarker.addListener('click', () => {
marker.info(thisMarker);
list.highlightItem(thisMarker.id);
});
return thisMarker;
},
hide: (marker) => {
if (!marker) {
return;
}
marker.setVisible(false);
},
show: (marker) => {
if (!marker) {
return;
}
marker.setVisible(true);
},
info: (thisMarker) => {
if (!thisMarker) {
return;
}
if (infowindow) {
infowindow.close();
}
infowindow = new google.maps.InfoWindow({
content: thisMarker.info,
});
infowindow.open(map.el, thisMarker);
},
animate: {
start: (id) => {
if (!id) { return; }
map.markers.forEach((thisMarker) => {
if (thisMarker.id === id) {
marker.info(thisMarker);
return;
}
});
},
stop: () => infowindow && infowindow.close(),
},
cluster: () => new MarkerClusterer(map.el, map.markers, {imagePath: '/Content/graphics/m'}),
};
w.addEventListener('DOMContentLoaded', general.init);
return {
build: general.onLoad
};
})(window, window.document, window.sl_translations);
[
{
"ProductID":"{BBC7BBF0-B4BD-47FB-8CFA-29347FC0B0F5}",
"ProductName":"DJM-V10",
"ProductCategoryName":"DJ mixer",
"ProductCategoryID":"{2F43A6FD-266F-4D95-ACA8-9D25F04002C7}"
},
{
"ProductID":"{E65F16F4-B3E6-458E-8073-BADA71784F14}",
"ProductName":"DJM-S7",
"ProductCategoryName":"DJ mixer",
"ProductCategoryID":"{2F43A6FD-266F-4D95-ACA8-9D25F04002C7}"
},
{
"ProductID":"{A00235B4-7289-4170-92D3-7BDD1C41DC6D}",
"ProductName":"DJS-1000",
"ProductCategoryName":"DJ sampler",
"ProductCategoryID":"{993A8274-27AA-49D0-B552-A1B2E6F2493E}"
},
{
"ProductID":"{FCC860EC-F656-4795-A553-2D4BFDF750A6}",
"ProductName":"HDJ-CUE1BT",
"ProductCategoryName":"Headphones",
"ProductCategoryID":"{44ED94F0-1627-4B62-8255-194648BCCE83}"
},
{
"ProductID":"{AC22DB4C-62A9-4080-B094-61B41E235631}",
"ProductName":"HDJ-X10C",
"ProductCategoryName":"Headphones",
"ProductCategoryID":"{44ED94F0-1627-4B62-8255-194648BCCE83}"
},
{
"ProductID":"{4BCAF4F4-6B7E-4746-9AE2-D6AE2BEDDA8E}",
"ProductName":"DJM-TOUR1",
"ProductCategoryName":"DJ mixer",
"ProductCategoryID":"{2F43A6FD-266F-4D95-ACA8-9D25F04002C7}"
},
{
"ProductID":"{82FABB47-D032-4B94-A831-162AA32F222E}",
"ProductName":"DJM-S9",
"ProductCategoryName":"DJ mixer",
"ProductCategoryID":"{2F43A6FD-266F-4D95-ACA8-9D25F04002C7}"
},
{
"ProductID":"{91EAF323-4E33-46FE-ADE5-20BC2AAC0B01}",
"ProductName":"DJM-250MK2",
"ProductCategoryName":"DJ mixer",
"ProductCategoryID":"{2F43A6FD-266F-4D95-ACA8-9D25F04002C7}"
},
{
"ProductID":"{5D54AE85-3C56-40C8-8C80-4DBEA8B04F48}",
"ProductName":"DJM-S3",
"ProductCategoryName":"DJ mixer",
"ProductCategoryID":"{2F43A6FD-266F-4D95-ACA8-9D25F04002C7}"
},
{
"ProductID":"{CD400C1B-CA62-49C2-BFD3-A4F63A95893F}",
"ProductName":"DDJ-800",
"ProductCategoryName":"DJ controller",
"ProductCategoryID":"{D7A7E2DF-B000-42C8-9533-543B93B3A203}"
},
{
"ProductID":"{031670A5-F1D1-4865-AD39-C16FD166ED4C}",
"ProductName":"DDJ-400",
"ProductCategoryName":"DJ controller",
"ProductCategoryID":"{D7A7E2DF-B000-42C8-9533-543B93B3A203}"
},
{
"ProductID":"{5FE3B791-37E2-4F09-8573-CF24A4AE41D9}",
"ProductName":"DDJ-SZ2",
"ProductCategoryName":"DJ controller",
"ProductCategoryID":"{D7A7E2DF-B000-42C8-9533-543B93B3A203}"
},
{
"ProductID":"{F9DE25BA-BC99-4304-AB81-8F44407D6183}",
"ProductName":"HDJ-X10",
"ProductCategoryName":"Headphones",
"ProductCategoryID":"{44ED94F0-1627-4B62-8255-194648BCCE83}"
}
]
.store-map {
position: relative;
--width--store-map-list: 100%;
@media (min-width: 750px) {
--width--store-map-list: 300px;
}
@media (min-width: 1000px) {
--width--store-map-list: 325px;
}
}
.store-map:after {
transition: opacity 250ms;
position: absolute;
top: 0;
left: 0;
display: block;
width: 100%;
height: 100%;
content: '';
background-color: rgba(#fff, .7);
opacity: 0;
pointer-events: none;
.is-searching-shops & {
opacity: 1;
pointer-events: all;
}
}
.store-map__anchor {
position: absolute;
bottom: 100%;
display: block;
height: 44px;
}
.store-map__header {
transition: width 200ms;
position: sticky;
top: 45px;
z-index: 99;
display: block;
width: var(--width--store-map-list);
overflow: hidden;
.list-is-hidden & {
display: none;
width: 0;
@media (min-width: 750px) {
display: block;
}
}
@media (min-width: 750px) {
position: static;
}
}
.store-map__heading {
display: flex;
align-items: center;
width: var(--width--store-map-list);
min-height: 50px;
padding: 0 calc(var(--gap) * 4);
color: var(--color--neutrals-0);
background-color: var(--color--neutrals-8);
}
.store-map__switch {
display: flex;
align-items: center;
@media (min-width: 750px) {
display: none;
}
}
.store-map__switch__item {
display: flex;
flex: 0 0 50%;
align-items: center;
justify-content: center;
padding: calc(var(--gap) * 2) calc(var(--gap) * 4);
color: var(--color--neutrals-0);
text-decoration: none;
background-color: var(--color--neutrals-7);
&:hover {
color: var(--color--neutrals-0);
text-decoration: none;
}
&.is-active {
background-color: var(--color--neutrals-6);
}
}
.store-map__main {
@media (min-width: 750px) {
display: flex;
height: 60vh;
}
}
.store-map__list {
transition: width 200ms;
display: none;
flex: 0 0 auto;
width: var(--width--store-map-list);
overflow: hidden;
&.view-is-active {
display: flex;
}
.list-is-hidden & {
width: 0;
}
@media (min-width: 750px) {
display: flex;
}
}
.store-map__map {
display: none;
flex: 1 1 auto;
min-height: calc(100vh - 200px);
background-color: var(--color--neutrals-3);
&.view-is-active {
display: flex;
}
@media (min-width: 750px) {
display: flex;
min-height: 60vh;
margin-top: -50px;
}
}
#store-map__map {
flex: 1 1 auto;
display: flex;
align-items: center;
justify-content: center;
}
.store-map__actions {
margin-top: calc(var(--gap) * 8);
padding: 0 var(--gutter--bucket);
@media (min-width: 750px) {
margin-top: calc(var(--gap) * 10);
}
}
.gm-style .gm-style-iw-c {
border-radius: 0 !important;
padding: calc(var(--gap) * 3) calc(var(--gap) * 8);
}
.gm-style .gm-style-iw-d {
padding: 0 calc(var(--gap) * 4) calc(var(--gap) * 0) 0;
}
.gm-style .gm-style-iw-c .link {
font-weight: 700;
font-size: var(--p--2);
font-family: var(--font--main);
}
.gm-ui-hover-effect {
top: -4px !important;
right: -4px !important;
}
No notes defined.