igv 2.12.3 → 2.12.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/igv.js CHANGED
@@ -16802,7 +16802,13 @@
16802
16802
  */
16803
16803
  let dragData$1; // Its assumed we are only dragging one element at a time.
16804
16804
 
16805
- function makeDraggable$1(target, handle) {
16805
+ let bbox = undefined;
16806
+
16807
+ function makeDraggable$1(target, handle, constraint) {
16808
+ if (constraint) {
16809
+ bbox = Object.assign({}, constraint);
16810
+ }
16811
+
16806
16812
  handle.addEventListener('mousedown', dragStart$1.bind(target));
16807
16813
  }
16808
16814
 
@@ -16838,9 +16844,12 @@
16838
16844
  event.stopPropagation();
16839
16845
  event.preventDefault();
16840
16846
  const dx = event.screenX - dragData$1.screenX;
16841
- const dy = event.screenY - dragData$1.screenY;
16842
- this.style.left = `${dragData$1.left + dx}px`;
16843
- this.style.top = `${dragData$1.top + dy}px`;
16847
+ const dy = event.screenY - dragData$1.screenY; // const left = bbox ? Math.max(bbox.minX, dragData.left + dx) : dragData.left + dx
16848
+
16849
+ const left = dragData$1.left + dx;
16850
+ const top = bbox ? Math.max(bbox.minY, dragData$1.top + dy) : dragData$1.top + dy;
16851
+ this.style.left = `${left}px`;
16852
+ this.style.top = `${top}px`;
16844
16853
  }
16845
16854
 
16846
16855
  function dragEnd$1(event) {
@@ -17203,7 +17212,7 @@
17203
17212
 
17204
17213
  return new Promise(function (resolve, reject) {
17205
17214
  // Various Google tansformations
17206
- if (isGoogleURL(url)) {
17215
+ if (isGoogleURL(url) && !isGoogleStorageSigned(url)) {
17207
17216
  if (isGoogleStorageURL(url)) {
17208
17217
  url = translateGoogleCloudURL(url);
17209
17218
  }
@@ -17230,7 +17239,7 @@
17230
17239
  const isChrome = navigator.userAgent.indexOf('Chrome') > -1;
17231
17240
  navigator.vendor.indexOf("Apple") === 0 && /\sSafari\//.test(navigator.userAgent);
17232
17241
 
17233
- if (range && isChrome && !isAmazonV4Signed(url)) {
17242
+ if (range && isChrome && !isAmazonV4Signed(url) && !isGoogleStorageSigned(url)) {
17234
17243
  // Hack to prevent caching for byte-ranges. Attempt to fix net:err-cache errors in Chrome
17235
17244
  url += url.includes("?") ? "&" : "?";
17236
17245
  url += "someRandomSeed=" + Math.random().toString(36);
@@ -17358,56 +17367,21 @@
17358
17367
 
17359
17368
  async function loadFileSlice(localfile, options) {
17360
17369
  let blob = options && options.range ? localfile.slice(options.range.start, options.range.start + options.range.size) : localfile;
17370
+ const arrayBuffer = await blob.arrayBuffer();
17361
17371
 
17362
17372
  if ("arraybuffer" === options.responseType) {
17363
- return blobToArrayBuffer(blob);
17373
+ return arrayBuffer;
17364
17374
  } else {
17365
- // binary string format, shouldn't be used anymore
17366
- return new Promise(function (resolve, reject) {
17367
- const fileReader = new FileReader();
17368
-
17369
- fileReader.onload = function (e) {
17370
- resolve(fileReader.result);
17371
- };
17372
-
17373
- fileReader.onerror = function (e) {
17374
- console.error("reject uploading local file " + localfile.name);
17375
- reject(null, fileReader);
17376
- };
17377
-
17378
- fileReader.readAsBinaryString(blob);
17379
- console.warn("Deprecated method used: readAsBinaryString");
17380
- });
17375
+ return arrayBufferToString(arrayBuffer);
17381
17376
  }
17382
17377
  }
17383
17378
 
17384
17379
  async function loadStringFromFile(localfile, options) {
17385
17380
  const blob = options.range ? localfile.slice(options.range.start, options.range.start + options.range.size) : localfile;
17386
- const arrayBuffer = await blobToArrayBuffer(blob);
17381
+ const arrayBuffer = await blob.arrayBuffer();
17387
17382
  return arrayBufferToString(arrayBuffer);
17388
17383
  }
17389
17384
 
17390
- async function blobToArrayBuffer(blob) {
17391
- if (typeof blob.arrayBuffer === 'function') {
17392
- return blob.arrayBuffer();
17393
- }
17394
-
17395
- return new Promise(function (resolve, reject) {
17396
- const fileReader = new FileReader();
17397
-
17398
- fileReader.onload = function (e) {
17399
- resolve(fileReader.result);
17400
- };
17401
-
17402
- fileReader.onerror = function (e) {
17403
- console.error("reject uploading local file " + localfile.name);
17404
- reject(null, fileReader);
17405
- };
17406
-
17407
- fileReader.readAsArrayBuffer(blob);
17408
- });
17409
- }
17410
-
17411
17385
  async function loadStringFromUrl(url, options) {
17412
17386
  options = options || {};
17413
17387
  options.responseType = "arraybuffer";
@@ -17419,6 +17393,10 @@
17419
17393
  return url.indexOf("X-Amz-Signature") > -1;
17420
17394
  }
17421
17395
 
17396
+ function isGoogleStorageSigned(url) {
17397
+ return url.indexOf("X-Goog-Signature") > -1;
17398
+ }
17399
+
17422
17400
  function getOauthToken(url) {
17423
17401
  // Google is the default provider, don't try to parse host for google URLs
17424
17402
  const host = isGoogleURL(url) ? undefined : parseUri(url).host;
@@ -19850,6 +19828,959 @@
19850
19828
  ctx.closePath();
19851
19829
  }
19852
19830
 
19831
+ var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
19832
+
19833
+ function createCommonjsModule(fn) {
19834
+ var module = { exports: {} };
19835
+ return fn(module, module.exports), module.exports;
19836
+ }
19837
+
19838
+ var check = function (it) {
19839
+ return it && it.Math == Math && it;
19840
+ }; // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
19841
+
19842
+
19843
+ var global$1 = // eslint-disable-next-line es-x/no-global-this -- safe
19844
+ check(typeof globalThis == 'object' && globalThis) || check(typeof window == 'object' && window) || // eslint-disable-next-line no-restricted-globals -- safe
19845
+ check(typeof self == 'object' && self) || check(typeof commonjsGlobal == 'object' && commonjsGlobal) || // eslint-disable-next-line no-new-func -- fallback
19846
+ function () {
19847
+ return this;
19848
+ }() || Function('return this')();
19849
+
19850
+ var fails = function (exec) {
19851
+ try {
19852
+ return !!exec();
19853
+ } catch (error) {
19854
+ return true;
19855
+ }
19856
+ };
19857
+
19858
+ var descriptors = !fails(function () {
19859
+ // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing
19860
+ return Object.defineProperty({}, 1, {
19861
+ get: function () {
19862
+ return 7;
19863
+ }
19864
+ })[1] != 7;
19865
+ });
19866
+
19867
+ var functionBindNative = !fails(function () {
19868
+ // eslint-disable-next-line es-x/no-function-prototype-bind -- safe
19869
+ var test = function () {
19870
+ /* empty */
19871
+ }.bind(); // eslint-disable-next-line no-prototype-builtins -- safe
19872
+
19873
+
19874
+ return typeof test != 'function' || test.hasOwnProperty('prototype');
19875
+ });
19876
+
19877
+ var call$2 = Function.prototype.call;
19878
+ var functionCall = functionBindNative ? call$2.bind(call$2) : function () {
19879
+ return call$2.apply(call$2, arguments);
19880
+ };
19881
+
19882
+ var $propertyIsEnumerable = {}.propertyIsEnumerable; // eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe
19883
+
19884
+ var getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor; // Nashorn ~ JDK8 bug
19885
+
19886
+ var NASHORN_BUG = getOwnPropertyDescriptor$1 && !$propertyIsEnumerable.call({
19887
+ 1: 2
19888
+ }, 1); // `Object.prototype.propertyIsEnumerable` method implementation
19889
+ // https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable
19890
+
19891
+ var f$5 = NASHORN_BUG ? function propertyIsEnumerable(V) {
19892
+ var descriptor = getOwnPropertyDescriptor$1(this, V);
19893
+ return !!descriptor && descriptor.enumerable;
19894
+ } : $propertyIsEnumerable;
19895
+ var objectPropertyIsEnumerable = {
19896
+ f: f$5
19897
+ };
19898
+
19899
+ var createPropertyDescriptor = function (bitmap, value) {
19900
+ return {
19901
+ enumerable: !(bitmap & 1),
19902
+ configurable: !(bitmap & 2),
19903
+ writable: !(bitmap & 4),
19904
+ value: value
19905
+ };
19906
+ };
19907
+
19908
+ var FunctionPrototype$2 = Function.prototype;
19909
+ var bind$1 = FunctionPrototype$2.bind;
19910
+ var call$1 = FunctionPrototype$2.call;
19911
+ var uncurryThis = functionBindNative && bind$1.bind(call$1, call$1);
19912
+ var functionUncurryThis = functionBindNative ? function (fn) {
19913
+ return fn && uncurryThis(fn);
19914
+ } : function (fn) {
19915
+ return fn && function () {
19916
+ return call$1.apply(fn, arguments);
19917
+ };
19918
+ };
19919
+
19920
+ var toString$1 = functionUncurryThis({}.toString);
19921
+ var stringSlice = functionUncurryThis(''.slice);
19922
+
19923
+ var classofRaw = function (it) {
19924
+ return stringSlice(toString$1(it), 8, -1);
19925
+ };
19926
+
19927
+ var Object$5 = global$1.Object;
19928
+ var split = functionUncurryThis(''.split); // fallback for non-array-like ES3 and non-enumerable old V8 strings
19929
+
19930
+ var indexedObject = fails(function () {
19931
+ // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
19932
+ // eslint-disable-next-line no-prototype-builtins -- safe
19933
+ return !Object$5('z').propertyIsEnumerable(0);
19934
+ }) ? function (it) {
19935
+ return classofRaw(it) == 'String' ? split(it, '') : Object$5(it);
19936
+ } : Object$5;
19937
+
19938
+ var TypeError$a = global$1.TypeError; // `RequireObjectCoercible` abstract operation
19939
+ // https://tc39.es/ecma262/#sec-requireobjectcoercible
19940
+
19941
+ var requireObjectCoercible = function (it) {
19942
+ if (it == undefined) throw TypeError$a("Can't call method on " + it);
19943
+ return it;
19944
+ };
19945
+
19946
+ var toIndexedObject = function (it) {
19947
+ return indexedObject(requireObjectCoercible(it));
19948
+ };
19949
+
19950
+ // `IsCallable` abstract operation
19951
+ // https://tc39.es/ecma262/#sec-iscallable
19952
+ var isCallable = function (argument) {
19953
+ return typeof argument == 'function';
19954
+ };
19955
+
19956
+ var isObject = function (it) {
19957
+ return typeof it == 'object' ? it !== null : isCallable(it);
19958
+ };
19959
+
19960
+ var aFunction = function (argument) {
19961
+ return isCallable(argument) ? argument : undefined;
19962
+ };
19963
+
19964
+ var getBuiltIn = function (namespace, method) {
19965
+ return arguments.length < 2 ? aFunction(global$1[namespace]) : global$1[namespace] && global$1[namespace][method];
19966
+ };
19967
+
19968
+ var objectIsPrototypeOf = functionUncurryThis({}.isPrototypeOf);
19969
+
19970
+ var engineUserAgent = getBuiltIn('navigator', 'userAgent') || '';
19971
+
19972
+ var process$2 = global$1.process;
19973
+ var Deno = global$1.Deno;
19974
+ var versions = process$2 && process$2.versions || Deno && Deno.version;
19975
+ var v8 = versions && versions.v8;
19976
+ var match, version$1;
19977
+
19978
+ if (v8) {
19979
+ match = v8.split('.'); // in old Chrome, versions of V8 isn't V8 = Chrome / 10
19980
+ // but their correct versions are not interesting for us
19981
+
19982
+ version$1 = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);
19983
+ } // BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`
19984
+ // so check `userAgent` even if `.v8` exists, but 0
19985
+
19986
+
19987
+ if (!version$1 && engineUserAgent) {
19988
+ match = engineUserAgent.match(/Edge\/(\d+)/);
19989
+
19990
+ if (!match || match[1] >= 74) {
19991
+ match = engineUserAgent.match(/Chrome\/(\d+)/);
19992
+ if (match) version$1 = +match[1];
19993
+ }
19994
+ }
19995
+
19996
+ var engineV8Version = version$1;
19997
+
19998
+ /* eslint-disable es-x/no-symbol -- required for testing */
19999
+
20000
+ var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
20001
+ var symbol = Symbol(); // Chrome 38 Symbol has incorrect toString conversion
20002
+ // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances
20003
+
20004
+ return !String(symbol) || !(Object(symbol) instanceof Symbol) || // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances
20005
+ !Symbol.sham && engineV8Version && engineV8Version < 41;
20006
+ });
20007
+
20008
+ /* eslint-disable es-x/no-symbol -- required for testing */
20009
+ var useSymbolAsUid = nativeSymbol && !Symbol.sham && typeof Symbol.iterator == 'symbol';
20010
+
20011
+ var Object$4 = global$1.Object;
20012
+ var isSymbol = useSymbolAsUid ? function (it) {
20013
+ return typeof it == 'symbol';
20014
+ } : function (it) {
20015
+ var $Symbol = getBuiltIn('Symbol');
20016
+ return isCallable($Symbol) && objectIsPrototypeOf($Symbol.prototype, Object$4(it));
20017
+ };
20018
+
20019
+ var String$4 = global$1.String;
20020
+
20021
+ var tryToString = function (argument) {
20022
+ try {
20023
+ return String$4(argument);
20024
+ } catch (error) {
20025
+ return 'Object';
20026
+ }
20027
+ };
20028
+
20029
+ var TypeError$9 = global$1.TypeError; // `Assert: IsCallable(argument) is true`
20030
+
20031
+ var aCallable = function (argument) {
20032
+ if (isCallable(argument)) return argument;
20033
+ throw TypeError$9(tryToString(argument) + ' is not a function');
20034
+ };
20035
+
20036
+ // https://tc39.es/ecma262/#sec-getmethod
20037
+
20038
+ var getMethod = function (V, P) {
20039
+ var func = V[P];
20040
+ return func == null ? undefined : aCallable(func);
20041
+ };
20042
+
20043
+ var TypeError$8 = global$1.TypeError; // `OrdinaryToPrimitive` abstract operation
20044
+ // https://tc39.es/ecma262/#sec-ordinarytoprimitive
20045
+
20046
+ var ordinaryToPrimitive = function (input, pref) {
20047
+ var fn, val;
20048
+ if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = functionCall(fn, input))) return val;
20049
+ if (isCallable(fn = input.valueOf) && !isObject(val = functionCall(fn, input))) return val;
20050
+ if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = functionCall(fn, input))) return val;
20051
+ throw TypeError$8("Can't convert object to primitive value");
20052
+ };
20053
+
20054
+ var defineProperty$1 = Object.defineProperty;
20055
+
20056
+ var setGlobal = function (key, value) {
20057
+ try {
20058
+ defineProperty$1(global$1, key, {
20059
+ value: value,
20060
+ configurable: true,
20061
+ writable: true
20062
+ });
20063
+ } catch (error) {
20064
+ global$1[key] = value;
20065
+ }
20066
+
20067
+ return value;
20068
+ };
20069
+
20070
+ var SHARED = '__core-js_shared__';
20071
+ var store$1 = global$1[SHARED] || setGlobal(SHARED, {});
20072
+ var sharedStore = store$1;
20073
+
20074
+ var shared = createCommonjsModule(function (module) {
20075
+ (module.exports = function (key, value) {
20076
+ return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
20077
+ })('versions', []).push({
20078
+ version: '3.22.4',
20079
+ mode: 'global',
20080
+ copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',
20081
+ license: 'https://github.com/zloirock/core-js/blob/v3.22.4/LICENSE',
20082
+ source: 'https://github.com/zloirock/core-js'
20083
+ });
20084
+ });
20085
+
20086
+ var Object$3 = global$1.Object; // `ToObject` abstract operation
20087
+ // https://tc39.es/ecma262/#sec-toobject
20088
+
20089
+ var toObject = function (argument) {
20090
+ return Object$3(requireObjectCoercible(argument));
20091
+ };
20092
+
20093
+ var hasOwnProperty = functionUncurryThis({}.hasOwnProperty); // `HasOwnProperty` abstract operation
20094
+ // https://tc39.es/ecma262/#sec-hasownproperty
20095
+ // eslint-disable-next-line es-x/no-object-hasown -- safe
20096
+
20097
+ var hasOwnProperty_1 = Object.hasOwn || function hasOwn(it, key) {
20098
+ return hasOwnProperty(toObject(it), key);
20099
+ };
20100
+
20101
+ var id = 0;
20102
+ var postfix = Math.random();
20103
+ var toString = functionUncurryThis(1.0.toString);
20104
+
20105
+ var uid = function (key) {
20106
+ return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);
20107
+ };
20108
+
20109
+ var WellKnownSymbolsStore = shared('wks');
20110
+ var Symbol$1 = global$1.Symbol;
20111
+ var symbolFor = Symbol$1 && Symbol$1['for'];
20112
+ var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : Symbol$1 && Symbol$1.withoutSetter || uid;
20113
+
20114
+ var wellKnownSymbol = function (name) {
20115
+ if (!hasOwnProperty_1(WellKnownSymbolsStore, name) || !(nativeSymbol || typeof WellKnownSymbolsStore[name] == 'string')) {
20116
+ var description = 'Symbol.' + name;
20117
+
20118
+ if (nativeSymbol && hasOwnProperty_1(Symbol$1, name)) {
20119
+ WellKnownSymbolsStore[name] = Symbol$1[name];
20120
+ } else if (useSymbolAsUid && symbolFor) {
20121
+ WellKnownSymbolsStore[name] = symbolFor(description);
20122
+ } else {
20123
+ WellKnownSymbolsStore[name] = createWellKnownSymbol(description);
20124
+ }
20125
+ }
20126
+
20127
+ return WellKnownSymbolsStore[name];
20128
+ };
20129
+
20130
+ var TypeError$7 = global$1.TypeError;
20131
+ var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); // `ToPrimitive` abstract operation
20132
+ // https://tc39.es/ecma262/#sec-toprimitive
20133
+
20134
+ var toPrimitive = function (input, pref) {
20135
+ if (!isObject(input) || isSymbol(input)) return input;
20136
+ var exoticToPrim = getMethod(input, TO_PRIMITIVE);
20137
+ var result;
20138
+
20139
+ if (exoticToPrim) {
20140
+ if (pref === undefined) pref = 'default';
20141
+ result = functionCall(exoticToPrim, input, pref);
20142
+ if (!isObject(result) || isSymbol(result)) return result;
20143
+ throw TypeError$7("Can't convert object to primitive value");
20144
+ }
20145
+
20146
+ if (pref === undefined) pref = 'number';
20147
+ return ordinaryToPrimitive(input, pref);
20148
+ };
20149
+
20150
+ // https://tc39.es/ecma262/#sec-topropertykey
20151
+
20152
+ var toPropertyKey = function (argument) {
20153
+ var key = toPrimitive(argument, 'string');
20154
+ return isSymbol(key) ? key : key + '';
20155
+ };
20156
+
20157
+ var document$1 = global$1.document; // typeof document.createElement is 'object' in old IE
20158
+
20159
+ var EXISTS$1 = isObject(document$1) && isObject(document$1.createElement);
20160
+
20161
+ var documentCreateElement = function (it) {
20162
+ return EXISTS$1 ? document$1.createElement(it) : {};
20163
+ };
20164
+
20165
+ var ie8DomDefine = !descriptors && !fails(function () {
20166
+ // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing
20167
+ return Object.defineProperty(documentCreateElement('div'), 'a', {
20168
+ get: function () {
20169
+ return 7;
20170
+ }
20171
+ }).a != 7;
20172
+ });
20173
+
20174
+ var $getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor; // `Object.getOwnPropertyDescriptor` method
20175
+ // https://tc39.es/ecma262/#sec-object.getownpropertydescriptor
20176
+
20177
+ var f$4 = descriptors ? $getOwnPropertyDescriptor$1 : function getOwnPropertyDescriptor(O, P) {
20178
+ O = toIndexedObject(O);
20179
+ P = toPropertyKey(P);
20180
+ if (ie8DomDefine) try {
20181
+ return $getOwnPropertyDescriptor$1(O, P);
20182
+ } catch (error) {
20183
+ /* empty */
20184
+ }
20185
+ if (hasOwnProperty_1(O, P)) return createPropertyDescriptor(!functionCall(objectPropertyIsEnumerable.f, O, P), O[P]);
20186
+ };
20187
+ var objectGetOwnPropertyDescriptor = {
20188
+ f: f$4
20189
+ };
20190
+
20191
+ // https://bugs.chromium.org/p/v8/issues/detail?id=3334
20192
+
20193
+ var v8PrototypeDefineBug = descriptors && fails(function () {
20194
+ // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing
20195
+ return Object.defineProperty(function () {
20196
+ /* empty */
20197
+ }, 'prototype', {
20198
+ value: 42,
20199
+ writable: false
20200
+ }).prototype != 42;
20201
+ });
20202
+
20203
+ var String$3 = global$1.String;
20204
+ var TypeError$6 = global$1.TypeError; // `Assert: Type(argument) is Object`
20205
+
20206
+ var anObject = function (argument) {
20207
+ if (isObject(argument)) return argument;
20208
+ throw TypeError$6(String$3(argument) + ' is not an object');
20209
+ };
20210
+
20211
+ var TypeError$5 = global$1.TypeError; // eslint-disable-next-line es-x/no-object-defineproperty -- safe
20212
+
20213
+ var $defineProperty = Object.defineProperty; // eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe
20214
+
20215
+ var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
20216
+ var ENUMERABLE = 'enumerable';
20217
+ var CONFIGURABLE$1 = 'configurable';
20218
+ var WRITABLE = 'writable'; // `Object.defineProperty` method
20219
+ // https://tc39.es/ecma262/#sec-object.defineproperty
20220
+
20221
+ var f$3 = descriptors ? v8PrototypeDefineBug ? function defineProperty(O, P, Attributes) {
20222
+ anObject(O);
20223
+ P = toPropertyKey(P);
20224
+ anObject(Attributes);
20225
+
20226
+ if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {
20227
+ var current = $getOwnPropertyDescriptor(O, P);
20228
+
20229
+ if (current && current[WRITABLE]) {
20230
+ O[P] = Attributes.value;
20231
+ Attributes = {
20232
+ configurable: CONFIGURABLE$1 in Attributes ? Attributes[CONFIGURABLE$1] : current[CONFIGURABLE$1],
20233
+ enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],
20234
+ writable: false
20235
+ };
20236
+ }
20237
+ }
20238
+
20239
+ return $defineProperty(O, P, Attributes);
20240
+ } : $defineProperty : function defineProperty(O, P, Attributes) {
20241
+ anObject(O);
20242
+ P = toPropertyKey(P);
20243
+ anObject(Attributes);
20244
+ if (ie8DomDefine) try {
20245
+ return $defineProperty(O, P, Attributes);
20246
+ } catch (error) {
20247
+ /* empty */
20248
+ }
20249
+ if ('get' in Attributes || 'set' in Attributes) throw TypeError$5('Accessors not supported');
20250
+ if ('value' in Attributes) O[P] = Attributes.value;
20251
+ return O;
20252
+ };
20253
+ var objectDefineProperty = {
20254
+ f: f$3
20255
+ };
20256
+
20257
+ var createNonEnumerableProperty = descriptors ? function (object, key, value) {
20258
+ return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
20259
+ } : function (object, key, value) {
20260
+ object[key] = value;
20261
+ return object;
20262
+ };
20263
+
20264
+ var FunctionPrototype$1 = Function.prototype; // eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe
20265
+
20266
+ var getDescriptor = descriptors && Object.getOwnPropertyDescriptor;
20267
+ var EXISTS = hasOwnProperty_1(FunctionPrototype$1, 'name'); // additional protection from minified / mangled / dropped function names
20268
+
20269
+ var PROPER = EXISTS && function something() {
20270
+ /* empty */
20271
+ }.name === 'something';
20272
+
20273
+ var CONFIGURABLE = EXISTS && (!descriptors || descriptors && getDescriptor(FunctionPrototype$1, 'name').configurable);
20274
+ var functionName = {
20275
+ EXISTS: EXISTS,
20276
+ PROPER: PROPER,
20277
+ CONFIGURABLE: CONFIGURABLE
20278
+ };
20279
+
20280
+ var functionToString = functionUncurryThis(Function.toString); // this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper
20281
+
20282
+ if (!isCallable(sharedStore.inspectSource)) {
20283
+ sharedStore.inspectSource = function (it) {
20284
+ return functionToString(it);
20285
+ };
20286
+ }
20287
+
20288
+ var inspectSource = sharedStore.inspectSource;
20289
+
20290
+ var WeakMap$1 = global$1.WeakMap;
20291
+ var nativeWeakMap = isCallable(WeakMap$1) && /native code/.test(inspectSource(WeakMap$1));
20292
+
20293
+ var keys = shared('keys');
20294
+
20295
+ var sharedKey = function (key) {
20296
+ return keys[key] || (keys[key] = uid(key));
20297
+ };
20298
+
20299
+ var hiddenKeys$1 = {};
20300
+
20301
+ var OBJECT_ALREADY_INITIALIZED = 'Object already initialized';
20302
+ var TypeError$4 = global$1.TypeError;
20303
+ var WeakMap = global$1.WeakMap;
20304
+ var set$1, get, has;
20305
+
20306
+ var enforce = function (it) {
20307
+ return has(it) ? get(it) : set$1(it, {});
20308
+ };
20309
+
20310
+ var getterFor = function (TYPE) {
20311
+ return function (it) {
20312
+ var state;
20313
+
20314
+ if (!isObject(it) || (state = get(it)).type !== TYPE) {
20315
+ throw TypeError$4('Incompatible receiver, ' + TYPE + ' required');
20316
+ }
20317
+
20318
+ return state;
20319
+ };
20320
+ };
20321
+
20322
+ if (nativeWeakMap || sharedStore.state) {
20323
+ var store = sharedStore.state || (sharedStore.state = new WeakMap());
20324
+ var wmget = functionUncurryThis(store.get);
20325
+ var wmhas = functionUncurryThis(store.has);
20326
+ var wmset = functionUncurryThis(store.set);
20327
+
20328
+ set$1 = function (it, metadata) {
20329
+ if (wmhas(store, it)) throw new TypeError$4(OBJECT_ALREADY_INITIALIZED);
20330
+ metadata.facade = it;
20331
+ wmset(store, it, metadata);
20332
+ return metadata;
20333
+ };
20334
+
20335
+ get = function (it) {
20336
+ return wmget(store, it) || {};
20337
+ };
20338
+
20339
+ has = function (it) {
20340
+ return wmhas(store, it);
20341
+ };
20342
+ } else {
20343
+ var STATE = sharedKey('state');
20344
+ hiddenKeys$1[STATE] = true;
20345
+
20346
+ set$1 = function (it, metadata) {
20347
+ if (hasOwnProperty_1(it, STATE)) throw new TypeError$4(OBJECT_ALREADY_INITIALIZED);
20348
+ metadata.facade = it;
20349
+ createNonEnumerableProperty(it, STATE, metadata);
20350
+ return metadata;
20351
+ };
20352
+
20353
+ get = function (it) {
20354
+ return hasOwnProperty_1(it, STATE) ? it[STATE] : {};
20355
+ };
20356
+
20357
+ has = function (it) {
20358
+ return hasOwnProperty_1(it, STATE);
20359
+ };
20360
+ }
20361
+
20362
+ var internalState = {
20363
+ set: set$1,
20364
+ get: get,
20365
+ has: has,
20366
+ enforce: enforce,
20367
+ getterFor: getterFor
20368
+ };
20369
+
20370
+ var makeBuiltIn_1 = createCommonjsModule(function (module) {
20371
+ var defineProperty = objectDefineProperty.f;
20372
+ var CONFIGURABLE_FUNCTION_NAME = functionName.CONFIGURABLE;
20373
+ var enforceInternalState = internalState.enforce;
20374
+ var getInternalState = internalState.get;
20375
+ var CONFIGURABLE_LENGTH = !fails(function () {
20376
+ return defineProperty(function () {
20377
+ /* empty */
20378
+ }, 'length', {
20379
+ value: 8
20380
+ }).length !== 8;
20381
+ });
20382
+ var TEMPLATE = String(String).split('String');
20383
+
20384
+ var makeBuiltIn = module.exports = function (value, name, options) {
20385
+ if (String(name).slice(0, 7) === 'Symbol(') {
20386
+ name = '[' + String(name).replace(/^Symbol\(([^)]*)\)/, '$1') + ']';
20387
+ }
20388
+
20389
+ if (options && options.getter) name = 'get ' + name;
20390
+ if (options && options.setter) name = 'set ' + name;
20391
+
20392
+ if (!hasOwnProperty_1(value, 'name') || CONFIGURABLE_FUNCTION_NAME && value.name !== name) {
20393
+ defineProperty(value, 'name', {
20394
+ value: name,
20395
+ configurable: true
20396
+ });
20397
+ }
20398
+
20399
+ if (CONFIGURABLE_LENGTH && options && hasOwnProperty_1(options, 'arity') && value.length !== options.arity) {
20400
+ defineProperty(value, 'length', {
20401
+ value: options.arity
20402
+ });
20403
+ }
20404
+
20405
+ var state = enforceInternalState(value);
20406
+
20407
+ if (!hasOwnProperty_1(state, 'source')) {
20408
+ state.source = TEMPLATE.join(typeof name == 'string' ? name : '');
20409
+ }
20410
+
20411
+ return value;
20412
+ }; // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
20413
+ // eslint-disable-next-line no-extend-native -- required
20414
+
20415
+
20416
+ Function.prototype.toString = makeBuiltIn(function toString() {
20417
+ return isCallable(this) && getInternalState(this).source || inspectSource(this);
20418
+ }, 'toString');
20419
+ });
20420
+
20421
+ var defineBuiltIn = function (O, key, value, options) {
20422
+ var unsafe = options ? !!options.unsafe : false;
20423
+ var simple = options ? !!options.enumerable : false;
20424
+ var noTargetGet = options ? !!options.noTargetGet : false;
20425
+ var name = options && options.name !== undefined ? options.name : key;
20426
+ if (isCallable(value)) makeBuiltIn_1(value, name, options);
20427
+
20428
+ if (O === global$1) {
20429
+ if (simple) O[key] = value;else setGlobal(key, value);
20430
+ return O;
20431
+ } else if (!unsafe) {
20432
+ delete O[key];
20433
+ } else if (!noTargetGet && O[key]) {
20434
+ simple = true;
20435
+ }
20436
+
20437
+ if (simple) O[key] = value;else createNonEnumerableProperty(O, key, value);
20438
+ return O;
20439
+ };
20440
+
20441
+ var ceil = Math.ceil;
20442
+ var floor = Math.floor; // `ToIntegerOrInfinity` abstract operation
20443
+ // https://tc39.es/ecma262/#sec-tointegerorinfinity
20444
+
20445
+ var toIntegerOrInfinity = function (argument) {
20446
+ var number = +argument; // eslint-disable-next-line no-self-compare -- safe
20447
+
20448
+ return number !== number || number === 0 ? 0 : (number > 0 ? floor : ceil)(number);
20449
+ };
20450
+
20451
+ var max = Math.max;
20452
+ var min$1 = Math.min; // Helper for a popular repeating case of the spec:
20453
+ // Let integer be ? ToInteger(index).
20454
+ // If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
20455
+
20456
+ var toAbsoluteIndex = function (index, length) {
20457
+ var integer = toIntegerOrInfinity(index);
20458
+ return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
20459
+ };
20460
+
20461
+ var min = Math.min; // `ToLength` abstract operation
20462
+ // https://tc39.es/ecma262/#sec-tolength
20463
+
20464
+ var toLength = function (argument) {
20465
+ return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
20466
+ };
20467
+
20468
+ // https://tc39.es/ecma262/#sec-lengthofarraylike
20469
+
20470
+ var lengthOfArrayLike = function (obj) {
20471
+ return toLength(obj.length);
20472
+ };
20473
+
20474
+ var createMethod = function (IS_INCLUDES) {
20475
+ return function ($this, el, fromIndex) {
20476
+ var O = toIndexedObject($this);
20477
+ var length = lengthOfArrayLike(O);
20478
+ var index = toAbsoluteIndex(fromIndex, length);
20479
+ var value; // Array#includes uses SameValueZero equality algorithm
20480
+ // eslint-disable-next-line no-self-compare -- NaN check
20481
+
20482
+ if (IS_INCLUDES && el != el) while (length > index) {
20483
+ value = O[index++]; // eslint-disable-next-line no-self-compare -- NaN check
20484
+
20485
+ if (value != value) return true; // Array#indexOf ignores holes, Array#includes - not
20486
+ } else for (; length > index; index++) {
20487
+ if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
20488
+ }
20489
+ return !IS_INCLUDES && -1;
20490
+ };
20491
+ };
20492
+
20493
+ var arrayIncludes = {
20494
+ // `Array.prototype.includes` method
20495
+ // https://tc39.es/ecma262/#sec-array.prototype.includes
20496
+ includes: createMethod(true),
20497
+ // `Array.prototype.indexOf` method
20498
+ // https://tc39.es/ecma262/#sec-array.prototype.indexof
20499
+ indexOf: createMethod(false)
20500
+ };
20501
+
20502
+ var indexOf = arrayIncludes.indexOf;
20503
+ var push = functionUncurryThis([].push);
20504
+
20505
+ var objectKeysInternal = function (object, names) {
20506
+ var O = toIndexedObject(object);
20507
+ var i = 0;
20508
+ var result = [];
20509
+ var key;
20510
+
20511
+ for (key in O) !hasOwnProperty_1(hiddenKeys$1, key) && hasOwnProperty_1(O, key) && push(result, key); // Don't enum bug & hidden keys
20512
+
20513
+
20514
+ while (names.length > i) if (hasOwnProperty_1(O, key = names[i++])) {
20515
+ ~indexOf(result, key) || push(result, key);
20516
+ }
20517
+
20518
+ return result;
20519
+ };
20520
+
20521
+ // IE8- don't enum bug keys
20522
+ var enumBugKeys = ['constructor', 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable', 'toLocaleString', 'toString', 'valueOf'];
20523
+
20524
+ var hiddenKeys = enumBugKeys.concat('length', 'prototype'); // `Object.getOwnPropertyNames` method
20525
+ // https://tc39.es/ecma262/#sec-object.getownpropertynames
20526
+ // eslint-disable-next-line es-x/no-object-getownpropertynames -- safe
20527
+
20528
+ var f$2 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
20529
+ return objectKeysInternal(O, hiddenKeys);
20530
+ };
20531
+
20532
+ var objectGetOwnPropertyNames = {
20533
+ f: f$2
20534
+ };
20535
+
20536
+ // eslint-disable-next-line es-x/no-object-getownpropertysymbols -- safe
20537
+ var f$1 = Object.getOwnPropertySymbols;
20538
+ var objectGetOwnPropertySymbols = {
20539
+ f: f$1
20540
+ };
20541
+
20542
+ var concat = functionUncurryThis([].concat); // all object keys, includes non-enumerable and symbols
20543
+
20544
+ var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
20545
+ var keys = objectGetOwnPropertyNames.f(anObject(it));
20546
+ var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
20547
+ return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;
20548
+ };
20549
+
20550
+ var copyConstructorProperties = function (target, source, exceptions) {
20551
+ var keys = ownKeys(source);
20552
+ var defineProperty = objectDefineProperty.f;
20553
+ var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
20554
+
20555
+ for (var i = 0; i < keys.length; i++) {
20556
+ var key = keys[i];
20557
+
20558
+ if (!hasOwnProperty_1(target, key) && !(exceptions && hasOwnProperty_1(exceptions, key))) {
20559
+ defineProperty(target, key, getOwnPropertyDescriptor(source, key));
20560
+ }
20561
+ }
20562
+ };
20563
+
20564
+ var replacement = /#|\.prototype\./;
20565
+
20566
+ var isForced = function (feature, detection) {
20567
+ var value = data[normalize$1(feature)];
20568
+ return value == POLYFILL ? true : value == NATIVE ? false : isCallable(detection) ? fails(detection) : !!detection;
20569
+ };
20570
+
20571
+ var normalize$1 = isForced.normalize = function (string) {
20572
+ return String(string).replace(replacement, '.').toLowerCase();
20573
+ };
20574
+
20575
+ var data = isForced.data = {};
20576
+ var NATIVE = isForced.NATIVE = 'N';
20577
+ var POLYFILL = isForced.POLYFILL = 'P';
20578
+ var isForced_1 = isForced;
20579
+
20580
+ var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
20581
+ /*
20582
+ options.target - name of the target object
20583
+ options.global - target is the global object
20584
+ options.stat - export as static methods of target
20585
+ options.proto - export as prototype methods of target
20586
+ options.real - real prototype method for the `pure` version
20587
+ options.forced - export even if the native feature is available
20588
+ options.bind - bind methods to the target, required for the `pure` version
20589
+ options.wrap - wrap constructors to preventing global pollution, required for the `pure` version
20590
+ options.unsafe - use the simple assignment of property instead of delete + defineProperty
20591
+ options.sham - add a flag to not completely full polyfills
20592
+ options.enumerable - export as enumerable property
20593
+ options.noTargetGet - prevent calling a getter on target
20594
+ options.name - the .name of the function if it does not match the key
20595
+ */
20596
+
20597
+ var _export = function (options, source) {
20598
+ var TARGET = options.target;
20599
+ var GLOBAL = options.global;
20600
+ var STATIC = options.stat;
20601
+ var FORCED, target, key, targetProperty, sourceProperty, descriptor;
20602
+
20603
+ if (GLOBAL) {
20604
+ target = global$1;
20605
+ } else if (STATIC) {
20606
+ target = global$1[TARGET] || setGlobal(TARGET, {});
20607
+ } else {
20608
+ target = (global$1[TARGET] || {}).prototype;
20609
+ }
20610
+
20611
+ if (target) for (key in source) {
20612
+ sourceProperty = source[key];
20613
+
20614
+ if (options.noTargetGet) {
20615
+ descriptor = getOwnPropertyDescriptor(target, key);
20616
+ targetProperty = descriptor && descriptor.value;
20617
+ } else targetProperty = target[key];
20618
+
20619
+ FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced); // contained in target
20620
+
20621
+ if (!FORCED && targetProperty !== undefined) {
20622
+ if (typeof sourceProperty == typeof targetProperty) continue;
20623
+ copyConstructorProperties(sourceProperty, targetProperty);
20624
+ } // add a flag to not completely full polyfills
20625
+
20626
+
20627
+ if (options.sham || targetProperty && targetProperty.sham) {
20628
+ createNonEnumerableProperty(sourceProperty, 'sham', true);
20629
+ }
20630
+
20631
+ defineBuiltIn(target, key, sourceProperty, options);
20632
+ }
20633
+ };
20634
+
20635
+ // https://tc39.es/ecma262/#sec-object.keys
20636
+ // eslint-disable-next-line es-x/no-object-keys -- safe
20637
+
20638
+ var objectKeys = Object.keys || function keys(O) {
20639
+ return objectKeysInternal(O, enumBugKeys);
20640
+ };
20641
+
20642
+ // https://tc39.es/ecma262/#sec-object.defineproperties
20643
+ // eslint-disable-next-line es-x/no-object-defineproperties -- safe
20644
+
20645
+ var f = descriptors && !v8PrototypeDefineBug ? Object.defineProperties : function defineProperties(O, Properties) {
20646
+ anObject(O);
20647
+ var props = toIndexedObject(Properties);
20648
+ var keys = objectKeys(Properties);
20649
+ var length = keys.length;
20650
+ var index = 0;
20651
+ var key;
20652
+
20653
+ while (length > index) objectDefineProperty.f(O, key = keys[index++], props[key]);
20654
+
20655
+ return O;
20656
+ };
20657
+ var objectDefineProperties = {
20658
+ f: f
20659
+ };
20660
+
20661
+ var html = getBuiltIn('document', 'documentElement');
20662
+
20663
+ /* global ActiveXObject -- old IE, WSH */
20664
+ var GT = '>';
20665
+ var LT = '<';
20666
+ var PROTOTYPE = 'prototype';
20667
+ var SCRIPT = 'script';
20668
+ var IE_PROTO$1 = sharedKey('IE_PROTO');
20669
+
20670
+ var EmptyConstructor = function () {
20671
+ /* empty */
20672
+ };
20673
+
20674
+ var scriptTag = function (content) {
20675
+ return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
20676
+ }; // Create object with fake `null` prototype: use ActiveX Object with cleared prototype
20677
+
20678
+
20679
+ var NullProtoObjectViaActiveX = function (activeXDocument) {
20680
+ activeXDocument.write(scriptTag(''));
20681
+ activeXDocument.close();
20682
+ var temp = activeXDocument.parentWindow.Object;
20683
+ activeXDocument = null; // avoid memory leak
20684
+
20685
+ return temp;
20686
+ }; // Create object with fake `null` prototype: use iframe Object with cleared prototype
20687
+
20688
+
20689
+ var NullProtoObjectViaIFrame = function () {
20690
+ // Thrash, waste and sodomy: IE GC bug
20691
+ var iframe = documentCreateElement('iframe');
20692
+ var JS = 'java' + SCRIPT + ':';
20693
+ var iframeDocument;
20694
+ iframe.style.display = 'none';
20695
+ html.appendChild(iframe); // https://github.com/zloirock/core-js/issues/475
20696
+
20697
+ iframe.src = String(JS);
20698
+ iframeDocument = iframe.contentWindow.document;
20699
+ iframeDocument.open();
20700
+ iframeDocument.write(scriptTag('document.F=Object'));
20701
+ iframeDocument.close();
20702
+ return iframeDocument.F;
20703
+ }; // Check for document.domain and active x support
20704
+ // No need to use active x approach when document.domain is not set
20705
+ // see https://github.com/es-shims/es5-shim/issues/150
20706
+ // variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
20707
+ // avoid IE GC bug
20708
+
20709
+
20710
+ var activeXDocument;
20711
+
20712
+ var NullProtoObject = function () {
20713
+ try {
20714
+ activeXDocument = new ActiveXObject('htmlfile');
20715
+ } catch (error) {
20716
+ /* ignore */
20717
+ }
20718
+
20719
+ NullProtoObject = typeof document != 'undefined' ? document.domain && activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) // old IE
20720
+ : NullProtoObjectViaIFrame() : NullProtoObjectViaActiveX(activeXDocument); // WSH
20721
+
20722
+ var length = enumBugKeys.length;
20723
+
20724
+ while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
20725
+
20726
+ return NullProtoObject();
20727
+ };
20728
+
20729
+ hiddenKeys$1[IE_PROTO$1] = true; // `Object.create` method
20730
+ // https://tc39.es/ecma262/#sec-object.create
20731
+ // eslint-disable-next-line es-x/no-object-create -- safe
20732
+
20733
+ var objectCreate = Object.create || function create(O, Properties) {
20734
+ var result;
20735
+
20736
+ if (O !== null) {
20737
+ EmptyConstructor[PROTOTYPE] = anObject(O);
20738
+ result = new EmptyConstructor();
20739
+ EmptyConstructor[PROTOTYPE] = null; // add "__proto__" for Object.getPrototypeOf polyfill
20740
+
20741
+ result[IE_PROTO$1] = O;
20742
+ } else result = NullProtoObject();
20743
+
20744
+ return Properties === undefined ? result : objectDefineProperties.f(result, Properties);
20745
+ };
20746
+
20747
+ var UNSCOPABLES = wellKnownSymbol('unscopables');
20748
+ var ArrayPrototype = Array.prototype; // Array.prototype[@@unscopables]
20749
+ // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
20750
+
20751
+ if (ArrayPrototype[UNSCOPABLES] == undefined) {
20752
+ objectDefineProperty.f(ArrayPrototype, UNSCOPABLES, {
20753
+ configurable: true,
20754
+ value: objectCreate(null)
20755
+ });
20756
+ } // add a key to Array.prototype[@@unscopables]
20757
+
20758
+
20759
+ var addToUnscopables = function (key) {
20760
+ ArrayPrototype[UNSCOPABLES][key] = true;
20761
+ };
20762
+
20763
+ var $includes = arrayIncludes.includes; // FF99+ bug
20764
+
20765
+ var BROKEN_ON_SPARSE = fails(function () {
20766
+ return !Array(1).includes();
20767
+ }); // `Array.prototype.includes` method
20768
+ // https://tc39.es/ecma262/#sec-array.prototype.includes
20769
+
20770
+ _export({
20771
+ target: 'Array',
20772
+ proto: true,
20773
+ forced: BROKEN_ON_SPARSE
20774
+ }, {
20775
+ includes: function includes(el
20776
+ /* , fromIndex = 0 */
20777
+ ) {
20778
+ return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);
20779
+ }
20780
+ }); // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
20781
+
20782
+ addToUnscopables('includes');
20783
+
19853
20784
  const FileFormats = {
19854
20785
  gwascatalog: {
19855
20786
  fields: ['bin', 'chr', 'start', 'end', 'name', 'pubMedID', 'author', 'pubDate', 'journal', 'title', 'trait', 'initSample', 'replSample', 'region', 'genes', 'riskAllele', 'riskAlFreq', 'pValue', 'pValueDesc', 'orOrBeta', 'ci95', 'platform', 'cnv']
@@ -19887,30 +20818,6 @@
19887
20818
  }
19888
20819
  };
19889
20820
 
19890
- /*
19891
- * The MIT License (MIT)
19892
- *
19893
- * Copyright (c) 2014 Broad Institute
19894
- *
19895
- * Permission is hereby granted, free of charge, to any person obtaining a copy
19896
- * of this software and associated documentation files (the "Software"), to deal
19897
- * in the Software without restriction, including without limitation the rights
19898
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
19899
- * copies of the Software, and to permit persons to whom the Software is
19900
- * furnished to do so, subject to the following conditions:
19901
- *
19902
- * The above copyright notice and this permission notice shall be included in
19903
- * all copies or substantial portions of the Software.
19904
- *
19905
- *
19906
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19907
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19908
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19909
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19910
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19911
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19912
- * THE SOFTWARE.
19913
- */
19914
20821
  const knownFileExtensions = new Set(["narrowpeak", "broadpeak", "regionpeak", "peaks", "bedgraph", "wig", "gff3", "gff", "gtf", "fusionjuncspan", "refflat", "seg", "aed", "bed", "vcf", "bb", "bigbed", "biginteract", "biggenepred", "bignarrowpeak", "bw", "bigwig", "bam", "tdf", "refgene", "genepred", "genepredext", "bedpe", "bp", "snp", "rmsk", "cram", "gwas", "maf", "mut"]);
19915
20822
  /**
19916
20823
  * Return a custom format object with the given name.
@@ -20670,9 +21577,18 @@
20670
21577
 
20671
21578
 
20672
21579
  getState() {
20673
- const config = typeof super.getState === 'function' ? super.getState() : {};
20674
- if (this.reversed) config.revealed = true;
20675
- if (this.frameTranslate) config.frameTranslate = true;
21580
+ const config = {
21581
+ type: "sequence"
21582
+ };
21583
+
21584
+ if (this.order !== defaultSequenceTrackOrder) {
21585
+ config.order = this.order;
21586
+ }
21587
+
21588
+ if (this.reversed) {
21589
+ config.revealed = true;
21590
+ }
21591
+
20676
21592
  return config;
20677
21593
  }
20678
21594
 
@@ -20961,7 +21877,7 @@
20961
21877
  */
20962
21878
 
20963
21879
 
20964
- function normalize$1(vector) {
21880
+ function normalize(vector) {
20965
21881
  var len = Math.sqrt(vector[0] * vector[0] + vector[1] * vector[1]);
20966
21882
  return [vector[0] / len, vector[1] / len];
20967
21883
  }
@@ -21788,8 +22704,8 @@
21788
22704
  // and connect that point to the previous point (x0, y0) by a straight line.
21789
22705
 
21790
22706
 
21791
- var unit_vec_p1_p0 = normalize$1([x0 - x1, y0 - y1]);
21792
- var unit_vec_p1_p2 = normalize$1([x2 - x1, y2 - y1]);
22707
+ var unit_vec_p1_p0 = normalize([x0 - x1, y0 - y1]);
22708
+ var unit_vec_p1_p2 = normalize([x2 - x1, y2 - y1]);
21793
22709
 
21794
22710
  if (unit_vec_p1_p0[0] * unit_vec_p1_p2[1] === unit_vec_p1_p0[1] * unit_vec_p1_p2[0]) {
21795
22711
  this.lineTo(x1, y1);
@@ -21804,7 +22720,7 @@
21804
22720
  var cos = unit_vec_p1_p0[0] * unit_vec_p1_p2[0] + unit_vec_p1_p0[1] * unit_vec_p1_p2[1];
21805
22721
  var theta = Math.acos(Math.abs(cos)); // Calculate origin
21806
22722
 
21807
- var unit_vec_p1_origin = normalize$1([unit_vec_p1_p0[0] + unit_vec_p1_p2[0], unit_vec_p1_p0[1] + unit_vec_p1_p2[1]]);
22723
+ var unit_vec_p1_origin = normalize([unit_vec_p1_p0[0] + unit_vec_p1_p2[0], unit_vec_p1_p0[1] + unit_vec_p1_p2[1]]);
21808
22724
  var len_p1_origin = radius / Math.sin(theta / 2);
21809
22725
  var x = x1 + len_p1_origin * unit_vec_p1_origin[0];
21810
22726
  var y = y1 + len_p1_origin * unit_vec_p1_origin[1]; // Calculate start angle and end angle
@@ -23113,9 +24029,9 @@
23113
24029
  }
23114
24030
  };
23115
24031
 
23116
- const _version = "2.12.3";
24032
+ const _version = "2.12.6";
23117
24033
 
23118
- function version$1() {
24034
+ function version() {
23119
24035
  return _version;
23120
24036
  }
23121
24037
 
@@ -23171,7 +24087,7 @@
23171
24087
 
23172
24088
  if (config.loadDefaultGenomes !== false) {
23173
24089
  try {
23174
- const url = DEFAULT_GENOMES_URL + `?randomSeed=${Math.random().toString(36)}&version=${version$1()}`; // prevent caching
24090
+ const url = DEFAULT_GENOMES_URL + `?randomSeed=${Math.random().toString(36)}&version=${version()}`; // prevent caching
23175
24091
 
23176
24092
  const jsonArray = await igvxhr.loadJson(url, {
23177
24093
  timeout: 5000
@@ -23181,7 +24097,7 @@
23181
24097
  console.error(e);
23182
24098
 
23183
24099
  try {
23184
- const url = BACKUP_GENOMES_URL + `?randomSeed=${Math.random().toString(36)}&version=${version$1()}`; // prevent caching
24100
+ const url = BACKUP_GENOMES_URL + `?randomSeed=${Math.random().toString(36)}&version=${version()}`; // prevent caching
23185
24101
 
23186
24102
  const jsonArray = await igvxhr.loadJson(url, {});
23187
24103
  processJson(jsonArray);
@@ -24157,7 +25073,7 @@
24157
25073
 
24158
25074
  menuItems.push({
24159
25075
  label: 'Save Image (PNG)',
24160
- click: () => this.saveImage()
25076
+ click: () => this.savePNG()
24161
25077
  });
24162
25078
  menuItems.push({
24163
25079
  label: 'Save Image (SVG)',
@@ -24523,229 +25439,16 @@
24523
25439
  return referenceFrame.start + pixel * referenceFrame.bpPerPixel;
24524
25440
  }
24525
25441
 
24526
- var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
24527
-
24528
- function createCommonjsModule(fn) {
24529
- var module = { exports: {} };
24530
- return fn(module, module.exports), module.exports;
24531
- }
24532
-
24533
- var check = function (it) {
24534
- return it && it.Math == Math && it;
24535
- }; // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
24536
-
24537
-
24538
- var global$1 = // eslint-disable-next-line es-x/no-global-this -- safe
24539
- check(typeof globalThis == 'object' && globalThis) || check(typeof window == 'object' && window) || // eslint-disable-next-line no-restricted-globals -- safe
24540
- check(typeof self == 'object' && self) || check(typeof commonjsGlobal == 'object' && commonjsGlobal) || // eslint-disable-next-line no-new-func -- fallback
24541
- function () {
24542
- return this;
24543
- }() || Function('return this')();
24544
-
24545
- var fails = function (exec) {
24546
- try {
24547
- return !!exec();
24548
- } catch (error) {
24549
- return true;
24550
- }
24551
- };
24552
-
24553
- var functionBindNative = !fails(function () {
24554
- // eslint-disable-next-line es-x/no-function-prototype-bind -- safe
24555
- var test = function () {
24556
- /* empty */
24557
- }.bind(); // eslint-disable-next-line no-prototype-builtins -- safe
24558
-
24559
-
24560
- return typeof test != 'function' || test.hasOwnProperty('prototype');
24561
- });
24562
-
24563
- var call$2 = Function.prototype.call;
24564
- var functionCall = functionBindNative ? call$2.bind(call$2) : function () {
24565
- return call$2.apply(call$2, arguments);
24566
- };
24567
-
24568
25442
  // eslint-disable-next-line es-x/no-typed-arrays -- safe
24569
25443
  var arrayBufferNative = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined';
24570
25444
 
24571
- var descriptors = !fails(function () {
24572
- // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing
24573
- return Object.defineProperty({}, 1, {
24574
- get: function () {
24575
- return 7;
24576
- }
24577
- })[1] != 7;
24578
- });
24579
-
24580
- // `IsCallable` abstract operation
24581
- // https://tc39.es/ecma262/#sec-iscallable
24582
- var isCallable = function (argument) {
24583
- return typeof argument == 'function';
24584
- };
24585
-
24586
- var isObject = function (it) {
24587
- return typeof it == 'object' ? it !== null : isCallable(it);
24588
- };
24589
-
24590
- var FunctionPrototype$2 = Function.prototype;
24591
- var bind$1 = FunctionPrototype$2.bind;
24592
- var call$1 = FunctionPrototype$2.call;
24593
- var uncurryThis = functionBindNative && bind$1.bind(call$1, call$1);
24594
- var functionUncurryThis = functionBindNative ? function (fn) {
24595
- return fn && uncurryThis(fn);
24596
- } : function (fn) {
24597
- return fn && function () {
24598
- return call$1.apply(fn, arguments);
24599
- };
24600
- };
24601
-
24602
- var TypeError$a = global$1.TypeError; // `RequireObjectCoercible` abstract operation
24603
- // https://tc39.es/ecma262/#sec-requireobjectcoercible
24604
-
24605
- var requireObjectCoercible = function (it) {
24606
- if (it == undefined) throw TypeError$a("Can't call method on " + it);
24607
- return it;
24608
- };
24609
-
24610
- var Object$5 = global$1.Object; // `ToObject` abstract operation
24611
- // https://tc39.es/ecma262/#sec-toobject
24612
-
24613
- var toObject = function (argument) {
24614
- return Object$5(requireObjectCoercible(argument));
24615
- };
24616
-
24617
- var hasOwnProperty = functionUncurryThis({}.hasOwnProperty); // `HasOwnProperty` abstract operation
24618
- // https://tc39.es/ecma262/#sec-hasownproperty
24619
- // eslint-disable-next-line es-x/no-object-hasown -- safe
24620
-
24621
- var hasOwnProperty_1 = Object.hasOwn || function hasOwn(it, key) {
24622
- return hasOwnProperty(toObject(it), key);
24623
- };
24624
-
24625
- var defineProperty$1 = Object.defineProperty;
24626
-
24627
- var setGlobal = function (key, value) {
24628
- try {
24629
- defineProperty$1(global$1, key, {
24630
- value: value,
24631
- configurable: true,
24632
- writable: true
24633
- });
24634
- } catch (error) {
24635
- global$1[key] = value;
24636
- }
24637
-
24638
- return value;
24639
- };
24640
-
24641
- var SHARED = '__core-js_shared__';
24642
- var store$1 = global$1[SHARED] || setGlobal(SHARED, {});
24643
- var sharedStore = store$1;
24644
-
24645
- var shared = createCommonjsModule(function (module) {
24646
- (module.exports = function (key, value) {
24647
- return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
24648
- })('versions', []).push({
24649
- version: '3.22.0',
24650
- mode: 'global',
24651
- copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',
24652
- license: 'https://github.com/zloirock/core-js/blob/v3.22.0/LICENSE',
24653
- source: 'https://github.com/zloirock/core-js'
24654
- });
24655
- });
24656
-
24657
- var id = 0;
24658
- var postfix = Math.random();
24659
- var toString$1 = functionUncurryThis(1.0.toString);
24660
-
24661
- var uid = function (key) {
24662
- return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString$1(++id + postfix, 36);
24663
- };
24664
-
24665
- var aFunction = function (argument) {
24666
- return isCallable(argument) ? argument : undefined;
24667
- };
24668
-
24669
- var getBuiltIn = function (namespace, method) {
24670
- return arguments.length < 2 ? aFunction(global$1[namespace]) : global$1[namespace] && global$1[namespace][method];
24671
- };
24672
-
24673
- var engineUserAgent = getBuiltIn('navigator', 'userAgent') || '';
24674
-
24675
- var process$2 = global$1.process;
24676
- var Deno = global$1.Deno;
24677
- var versions = process$2 && process$2.versions || Deno && Deno.version;
24678
- var v8 = versions && versions.v8;
24679
- var match, version;
24680
-
24681
- if (v8) {
24682
- match = v8.split('.'); // in old Chrome, versions of V8 isn't V8 = Chrome / 10
24683
- // but their correct versions are not interesting for us
24684
-
24685
- version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);
24686
- } // BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`
24687
- // so check `userAgent` even if `.v8` exists, but 0
24688
-
24689
-
24690
- if (!version && engineUserAgent) {
24691
- match = engineUserAgent.match(/Edge\/(\d+)/);
24692
-
24693
- if (!match || match[1] >= 74) {
24694
- match = engineUserAgent.match(/Chrome\/(\d+)/);
24695
- if (match) version = +match[1];
24696
- }
24697
- }
24698
-
24699
- var engineV8Version = version;
24700
-
24701
- /* eslint-disable es-x/no-symbol -- required for testing */
24702
-
24703
- var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
24704
- var symbol = Symbol(); // Chrome 38 Symbol has incorrect toString conversion
24705
- // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances
24706
-
24707
- return !String(symbol) || !(Object(symbol) instanceof Symbol) || // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances
24708
- !Symbol.sham && engineV8Version && engineV8Version < 41;
24709
- });
24710
-
24711
- /* eslint-disable es-x/no-symbol -- required for testing */
24712
- var useSymbolAsUid = nativeSymbol && !Symbol.sham && typeof Symbol.iterator == 'symbol';
24713
-
24714
- var WellKnownSymbolsStore = shared('wks');
24715
- var Symbol$1 = global$1.Symbol;
24716
- var symbolFor = Symbol$1 && Symbol$1['for'];
24717
- var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : Symbol$1 && Symbol$1.withoutSetter || uid;
24718
-
24719
- var wellKnownSymbol = function (name) {
24720
- if (!hasOwnProperty_1(WellKnownSymbolsStore, name) || !(nativeSymbol || typeof WellKnownSymbolsStore[name] == 'string')) {
24721
- var description = 'Symbol.' + name;
24722
-
24723
- if (nativeSymbol && hasOwnProperty_1(Symbol$1, name)) {
24724
- WellKnownSymbolsStore[name] = Symbol$1[name];
24725
- } else if (useSymbolAsUid && symbolFor) {
24726
- WellKnownSymbolsStore[name] = symbolFor(description);
24727
- } else {
24728
- WellKnownSymbolsStore[name] = createWellKnownSymbol(description);
24729
- }
24730
- }
24731
-
24732
- return WellKnownSymbolsStore[name];
24733
- };
24734
-
24735
25445
  var TO_STRING_TAG$2 = wellKnownSymbol('toStringTag');
24736
25446
  var test = {};
24737
25447
  test[TO_STRING_TAG$2] = 'z';
24738
25448
  var toStringTagSupport = String(test) === '[object z]';
24739
25449
 
24740
- var toString = functionUncurryThis({}.toString);
24741
- var stringSlice = functionUncurryThis(''.slice);
24742
-
24743
- var classofRaw = function (it) {
24744
- return stringSlice(toString(it), 8, -1);
24745
- };
24746
-
24747
25450
  var TO_STRING_TAG$1 = wellKnownSymbol('toStringTag');
24748
- var Object$4 = global$1.Object; // ES3 wrong here
25451
+ var Object$2 = global$1.Object; // ES3 wrong here
24749
25452
 
24750
25453
  var CORRECT_ARGUMENTS = classofRaw(function () {
24751
25454
  return arguments;
@@ -24763,331 +25466,11 @@
24763
25466
  var classof = toStringTagSupport ? classofRaw : function (it) {
24764
25467
  var O, tag, result;
24765
25468
  return it === undefined ? 'Undefined' : it === null ? 'Null' // @@toStringTag case
24766
- : typeof (tag = tryGet(O = Object$4(it), TO_STRING_TAG$1)) == 'string' ? tag // builtinTag case
25469
+ : typeof (tag = tryGet(O = Object$2(it), TO_STRING_TAG$1)) == 'string' ? tag // builtinTag case
24767
25470
  : CORRECT_ARGUMENTS ? classofRaw(O) // ES3 arguments fallback
24768
25471
  : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;
24769
25472
  };
24770
25473
 
24771
- var String$4 = global$1.String;
24772
-
24773
- var tryToString = function (argument) {
24774
- try {
24775
- return String$4(argument);
24776
- } catch (error) {
24777
- return 'Object';
24778
- }
24779
- };
24780
-
24781
- var document$1 = global$1.document; // typeof document.createElement is 'object' in old IE
24782
-
24783
- var EXISTS$1 = isObject(document$1) && isObject(document$1.createElement);
24784
-
24785
- var documentCreateElement = function (it) {
24786
- return EXISTS$1 ? document$1.createElement(it) : {};
24787
- };
24788
-
24789
- var ie8DomDefine = !descriptors && !fails(function () {
24790
- // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing
24791
- return Object.defineProperty(documentCreateElement('div'), 'a', {
24792
- get: function () {
24793
- return 7;
24794
- }
24795
- }).a != 7;
24796
- });
24797
-
24798
- // https://bugs.chromium.org/p/v8/issues/detail?id=3334
24799
-
24800
- var v8PrototypeDefineBug = descriptors && fails(function () {
24801
- // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing
24802
- return Object.defineProperty(function () {
24803
- /* empty */
24804
- }, 'prototype', {
24805
- value: 42,
24806
- writable: false
24807
- }).prototype != 42;
24808
- });
24809
-
24810
- var String$3 = global$1.String;
24811
- var TypeError$9 = global$1.TypeError; // `Assert: Type(argument) is Object`
24812
-
24813
- var anObject = function (argument) {
24814
- if (isObject(argument)) return argument;
24815
- throw TypeError$9(String$3(argument) + ' is not an object');
24816
- };
24817
-
24818
- var objectIsPrototypeOf = functionUncurryThis({}.isPrototypeOf);
24819
-
24820
- var Object$3 = global$1.Object;
24821
- var isSymbol = useSymbolAsUid ? function (it) {
24822
- return typeof it == 'symbol';
24823
- } : function (it) {
24824
- var $Symbol = getBuiltIn('Symbol');
24825
- return isCallable($Symbol) && objectIsPrototypeOf($Symbol.prototype, Object$3(it));
24826
- };
24827
-
24828
- var TypeError$8 = global$1.TypeError; // `Assert: IsCallable(argument) is true`
24829
-
24830
- var aCallable = function (argument) {
24831
- if (isCallable(argument)) return argument;
24832
- throw TypeError$8(tryToString(argument) + ' is not a function');
24833
- };
24834
-
24835
- // https://tc39.es/ecma262/#sec-getmethod
24836
-
24837
- var getMethod = function (V, P) {
24838
- var func = V[P];
24839
- return func == null ? undefined : aCallable(func);
24840
- };
24841
-
24842
- var TypeError$7 = global$1.TypeError; // `OrdinaryToPrimitive` abstract operation
24843
- // https://tc39.es/ecma262/#sec-ordinarytoprimitive
24844
-
24845
- var ordinaryToPrimitive = function (input, pref) {
24846
- var fn, val;
24847
- if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = functionCall(fn, input))) return val;
24848
- if (isCallable(fn = input.valueOf) && !isObject(val = functionCall(fn, input))) return val;
24849
- if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = functionCall(fn, input))) return val;
24850
- throw TypeError$7("Can't convert object to primitive value");
24851
- };
24852
-
24853
- var TypeError$6 = global$1.TypeError;
24854
- var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); // `ToPrimitive` abstract operation
24855
- // https://tc39.es/ecma262/#sec-toprimitive
24856
-
24857
- var toPrimitive = function (input, pref) {
24858
- if (!isObject(input) || isSymbol(input)) return input;
24859
- var exoticToPrim = getMethod(input, TO_PRIMITIVE);
24860
- var result;
24861
-
24862
- if (exoticToPrim) {
24863
- if (pref === undefined) pref = 'default';
24864
- result = functionCall(exoticToPrim, input, pref);
24865
- if (!isObject(result) || isSymbol(result)) return result;
24866
- throw TypeError$6("Can't convert object to primitive value");
24867
- }
24868
-
24869
- if (pref === undefined) pref = 'number';
24870
- return ordinaryToPrimitive(input, pref);
24871
- };
24872
-
24873
- // https://tc39.es/ecma262/#sec-topropertykey
24874
-
24875
- var toPropertyKey = function (argument) {
24876
- var key = toPrimitive(argument, 'string');
24877
- return isSymbol(key) ? key : key + '';
24878
- };
24879
-
24880
- var TypeError$5 = global$1.TypeError; // eslint-disable-next-line es-x/no-object-defineproperty -- safe
24881
-
24882
- var $defineProperty = Object.defineProperty; // eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe
24883
-
24884
- var $getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor;
24885
- var ENUMERABLE = 'enumerable';
24886
- var CONFIGURABLE$1 = 'configurable';
24887
- var WRITABLE = 'writable'; // `Object.defineProperty` method
24888
- // https://tc39.es/ecma262/#sec-object.defineproperty
24889
-
24890
- var f$4 = descriptors ? v8PrototypeDefineBug ? function defineProperty(O, P, Attributes) {
24891
- anObject(O);
24892
- P = toPropertyKey(P);
24893
- anObject(Attributes);
24894
-
24895
- if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {
24896
- var current = $getOwnPropertyDescriptor$1(O, P);
24897
-
24898
- if (current && current[WRITABLE]) {
24899
- O[P] = Attributes.value;
24900
- Attributes = {
24901
- configurable: CONFIGURABLE$1 in Attributes ? Attributes[CONFIGURABLE$1] : current[CONFIGURABLE$1],
24902
- enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],
24903
- writable: false
24904
- };
24905
- }
24906
- }
24907
-
24908
- return $defineProperty(O, P, Attributes);
24909
- } : $defineProperty : function defineProperty(O, P, Attributes) {
24910
- anObject(O);
24911
- P = toPropertyKey(P);
24912
- anObject(Attributes);
24913
- if (ie8DomDefine) try {
24914
- return $defineProperty(O, P, Attributes);
24915
- } catch (error) {
24916
- /* empty */
24917
- }
24918
- if ('get' in Attributes || 'set' in Attributes) throw TypeError$5('Accessors not supported');
24919
- if ('value' in Attributes) O[P] = Attributes.value;
24920
- return O;
24921
- };
24922
- var objectDefineProperty = {
24923
- f: f$4
24924
- };
24925
-
24926
- var createPropertyDescriptor = function (bitmap, value) {
24927
- return {
24928
- enumerable: !(bitmap & 1),
24929
- configurable: !(bitmap & 2),
24930
- writable: !(bitmap & 4),
24931
- value: value
24932
- };
24933
- };
24934
-
24935
- var createNonEnumerableProperty = descriptors ? function (object, key, value) {
24936
- return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
24937
- } : function (object, key, value) {
24938
- object[key] = value;
24939
- return object;
24940
- };
24941
-
24942
- var functionToString = functionUncurryThis(Function.toString); // this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper
24943
-
24944
- if (!isCallable(sharedStore.inspectSource)) {
24945
- sharedStore.inspectSource = function (it) {
24946
- return functionToString(it);
24947
- };
24948
- }
24949
-
24950
- var inspectSource = sharedStore.inspectSource;
24951
-
24952
- var WeakMap$1 = global$1.WeakMap;
24953
- var nativeWeakMap = isCallable(WeakMap$1) && /native code/.test(inspectSource(WeakMap$1));
24954
-
24955
- var keys = shared('keys');
24956
-
24957
- var sharedKey = function (key) {
24958
- return keys[key] || (keys[key] = uid(key));
24959
- };
24960
-
24961
- var hiddenKeys$1 = {};
24962
-
24963
- var OBJECT_ALREADY_INITIALIZED = 'Object already initialized';
24964
- var TypeError$4 = global$1.TypeError;
24965
- var WeakMap = global$1.WeakMap;
24966
- var set$1, get, has;
24967
-
24968
- var enforce = function (it) {
24969
- return has(it) ? get(it) : set$1(it, {});
24970
- };
24971
-
24972
- var getterFor = function (TYPE) {
24973
- return function (it) {
24974
- var state;
24975
-
24976
- if (!isObject(it) || (state = get(it)).type !== TYPE) {
24977
- throw TypeError$4('Incompatible receiver, ' + TYPE + ' required');
24978
- }
24979
-
24980
- return state;
24981
- };
24982
- };
24983
-
24984
- if (nativeWeakMap || sharedStore.state) {
24985
- var store = sharedStore.state || (sharedStore.state = new WeakMap());
24986
- var wmget = functionUncurryThis(store.get);
24987
- var wmhas = functionUncurryThis(store.has);
24988
- var wmset = functionUncurryThis(store.set);
24989
-
24990
- set$1 = function (it, metadata) {
24991
- if (wmhas(store, it)) throw new TypeError$4(OBJECT_ALREADY_INITIALIZED);
24992
- metadata.facade = it;
24993
- wmset(store, it, metadata);
24994
- return metadata;
24995
- };
24996
-
24997
- get = function (it) {
24998
- return wmget(store, it) || {};
24999
- };
25000
-
25001
- has = function (it) {
25002
- return wmhas(store, it);
25003
- };
25004
- } else {
25005
- var STATE = sharedKey('state');
25006
- hiddenKeys$1[STATE] = true;
25007
-
25008
- set$1 = function (it, metadata) {
25009
- if (hasOwnProperty_1(it, STATE)) throw new TypeError$4(OBJECT_ALREADY_INITIALIZED);
25010
- metadata.facade = it;
25011
- createNonEnumerableProperty(it, STATE, metadata);
25012
- return metadata;
25013
- };
25014
-
25015
- get = function (it) {
25016
- return hasOwnProperty_1(it, STATE) ? it[STATE] : {};
25017
- };
25018
-
25019
- has = function (it) {
25020
- return hasOwnProperty_1(it, STATE);
25021
- };
25022
- }
25023
-
25024
- var internalState = {
25025
- set: set$1,
25026
- get: get,
25027
- has: has,
25028
- enforce: enforce,
25029
- getterFor: getterFor
25030
- };
25031
-
25032
- var FunctionPrototype$1 = Function.prototype; // eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe
25033
-
25034
- var getDescriptor = descriptors && Object.getOwnPropertyDescriptor;
25035
- var EXISTS = hasOwnProperty_1(FunctionPrototype$1, 'name'); // additional protection from minified / mangled / dropped function names
25036
-
25037
- var PROPER = EXISTS && function something() {
25038
- /* empty */
25039
- }.name === 'something';
25040
-
25041
- var CONFIGURABLE = EXISTS && (!descriptors || descriptors && getDescriptor(FunctionPrototype$1, 'name').configurable);
25042
- var functionName = {
25043
- EXISTS: EXISTS,
25044
- PROPER: PROPER,
25045
- CONFIGURABLE: CONFIGURABLE
25046
- };
25047
-
25048
- var redefine = createCommonjsModule(function (module) {
25049
- var CONFIGURABLE_FUNCTION_NAME = functionName.CONFIGURABLE;
25050
- var getInternalState = internalState.get;
25051
- var enforceInternalState = internalState.enforce;
25052
- var TEMPLATE = String(String).split('String');
25053
- (module.exports = function (O, key, value, options) {
25054
- var unsafe = options ? !!options.unsafe : false;
25055
- var simple = options ? !!options.enumerable : false;
25056
- var noTargetGet = options ? !!options.noTargetGet : false;
25057
- var name = options && options.name !== undefined ? options.name : key;
25058
- var state;
25059
-
25060
- if (isCallable(value)) {
25061
- if (String(name).slice(0, 7) === 'Symbol(') {
25062
- name = '[' + String(name).replace(/^Symbol\(([^)]*)\)/, '$1') + ']';
25063
- }
25064
-
25065
- if (!hasOwnProperty_1(value, 'name') || CONFIGURABLE_FUNCTION_NAME && value.name !== name) {
25066
- createNonEnumerableProperty(value, 'name', name);
25067
- }
25068
-
25069
- state = enforceInternalState(value);
25070
-
25071
- if (!state.source) {
25072
- state.source = TEMPLATE.join(typeof name == 'string' ? name : '');
25073
- }
25074
- }
25075
-
25076
- if (O === global$1) {
25077
- if (simple) O[key] = value;else setGlobal(key, value);
25078
- return;
25079
- } else if (!unsafe) {
25080
- delete O[key];
25081
- } else if (!noTargetGet && O[key]) {
25082
- simple = true;
25083
- }
25084
-
25085
- if (simple) O[key] = value;else createNonEnumerableProperty(O, key, value); // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
25086
- })(Function.prototype, 'toString', function toString() {
25087
- return isCallable(this) && getInternalState(this).source || inspectSource(this);
25088
- });
25089
- });
25090
-
25091
25474
  var correctPrototypeGetter = !fails(function () {
25092
25475
  function F() {
25093
25476
  /* empty */
@@ -25099,11 +25482,11 @@
25099
25482
  });
25100
25483
 
25101
25484
  var IE_PROTO = sharedKey('IE_PROTO');
25102
- var Object$2 = global$1.Object;
25103
- var ObjectPrototype$1 = Object$2.prototype; // `Object.getPrototypeOf` method
25485
+ var Object$1 = global$1.Object;
25486
+ var ObjectPrototype$1 = Object$1.prototype; // `Object.getPrototypeOf` method
25104
25487
  // https://tc39.es/ecma262/#sec-object.getprototypeof
25105
25488
 
25106
- var objectGetPrototypeOf = correctPrototypeGetter ? Object$2.getPrototypeOf : function (O) {
25489
+ var objectGetPrototypeOf = correctPrototypeGetter ? Object$1.getPrototypeOf : function (O) {
25107
25490
  var object = toObject(O);
25108
25491
  if (hasOwnProperty_1(object, IE_PROTO)) return object[IE_PROTO];
25109
25492
  var constructor = object.constructor;
@@ -25112,7 +25495,7 @@
25112
25495
  return constructor.prototype;
25113
25496
  }
25114
25497
 
25115
- return object instanceof Object$2 ? ObjectPrototype$1 : null;
25498
+ return object instanceof Object$1 ? ObjectPrototype$1 : null;
25116
25499
  };
25117
25500
 
25118
25501
  var String$2 = global$1.String;
@@ -25221,7 +25604,7 @@
25221
25604
  }
25222
25605
 
25223
25606
  if (!TypedArrayPrototype[KEY] || forced) {
25224
- redefine(TypedArrayPrototype, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype$1[KEY] || property, options);
25607
+ defineBuiltIn(TypedArrayPrototype, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype$1[KEY] || property, options);
25225
25608
  }
25226
25609
  };
25227
25610
 
@@ -25242,7 +25625,7 @@
25242
25625
  if (!TypedArray[KEY] || forced) {
25243
25626
  // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable
25244
25627
  try {
25245
- return redefine(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[KEY] || property);
25628
+ return defineBuiltIn(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[KEY] || property);
25246
25629
  } catch (error) {
25247
25630
  /* empty */
25248
25631
  }
@@ -25253,7 +25636,7 @@
25253
25636
  TypedArrayConstructor = global$1[ARRAY];
25254
25637
 
25255
25638
  if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {
25256
- redefine(TypedArrayConstructor, KEY, property);
25639
+ defineBuiltIn(TypedArrayConstructor, KEY, property);
25257
25640
  }
25258
25641
  }
25259
25642
  };
@@ -25321,29 +25704,6 @@
25321
25704
  TypedArrayPrototype: TypedArrayPrototype
25322
25705
  };
25323
25706
 
25324
- var ceil = Math.ceil;
25325
- var floor = Math.floor; // `ToIntegerOrInfinity` abstract operation
25326
- // https://tc39.es/ecma262/#sec-tointegerorinfinity
25327
-
25328
- var toIntegerOrInfinity = function (argument) {
25329
- var number = +argument; // eslint-disable-next-line no-self-compare -- safe
25330
-
25331
- return number !== number || number === 0 ? 0 : (number > 0 ? floor : ceil)(number);
25332
- };
25333
-
25334
- var min$1 = Math.min; // `ToLength` abstract operation
25335
- // https://tc39.es/ecma262/#sec-tolength
25336
-
25337
- var toLength = function (argument) {
25338
- return argument > 0 ? min$1(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
25339
- };
25340
-
25341
- // https://tc39.es/ecma262/#sec-lengthofarraylike
25342
-
25343
- var lengthOfArrayLike = function (obj) {
25344
- return toLength(obj.length);
25345
- };
25346
-
25347
25707
  var RangeError$3 = global$1.RangeError;
25348
25708
 
25349
25709
  var toPositiveInteger = function (it) {
@@ -28914,227 +29274,6 @@
28914
29274
 
28915
29275
  }
28916
29276
 
28917
- var $propertyIsEnumerable = {}.propertyIsEnumerable; // eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe
28918
-
28919
- var getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor; // Nashorn ~ JDK8 bug
28920
-
28921
- var NASHORN_BUG = getOwnPropertyDescriptor$1 && !$propertyIsEnumerable.call({
28922
- 1: 2
28923
- }, 1); // `Object.prototype.propertyIsEnumerable` method implementation
28924
- // https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable
28925
-
28926
- var f$3 = NASHORN_BUG ? function propertyIsEnumerable(V) {
28927
- var descriptor = getOwnPropertyDescriptor$1(this, V);
28928
- return !!descriptor && descriptor.enumerable;
28929
- } : $propertyIsEnumerable;
28930
- var objectPropertyIsEnumerable = {
28931
- f: f$3
28932
- };
28933
-
28934
- var Object$1 = global$1.Object;
28935
- var split = functionUncurryThis(''.split); // fallback for non-array-like ES3 and non-enumerable old V8 strings
28936
-
28937
- var indexedObject = fails(function () {
28938
- // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
28939
- // eslint-disable-next-line no-prototype-builtins -- safe
28940
- return !Object$1('z').propertyIsEnumerable(0);
28941
- }) ? function (it) {
28942
- return classofRaw(it) == 'String' ? split(it, '') : Object$1(it);
28943
- } : Object$1;
28944
-
28945
- var toIndexedObject = function (it) {
28946
- return indexedObject(requireObjectCoercible(it));
28947
- };
28948
-
28949
- var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; // `Object.getOwnPropertyDescriptor` method
28950
- // https://tc39.es/ecma262/#sec-object.getownpropertydescriptor
28951
-
28952
- var f$2 = descriptors ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
28953
- O = toIndexedObject(O);
28954
- P = toPropertyKey(P);
28955
- if (ie8DomDefine) try {
28956
- return $getOwnPropertyDescriptor(O, P);
28957
- } catch (error) {
28958
- /* empty */
28959
- }
28960
- if (hasOwnProperty_1(O, P)) return createPropertyDescriptor(!functionCall(objectPropertyIsEnumerable.f, O, P), O[P]);
28961
- };
28962
- var objectGetOwnPropertyDescriptor = {
28963
- f: f$2
28964
- };
28965
-
28966
- var max = Math.max;
28967
- var min = Math.min; // Helper for a popular repeating case of the spec:
28968
- // Let integer be ? ToInteger(index).
28969
- // If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
28970
-
28971
- var toAbsoluteIndex = function (index, length) {
28972
- var integer = toIntegerOrInfinity(index);
28973
- return integer < 0 ? max(integer + length, 0) : min(integer, length);
28974
- };
28975
-
28976
- var createMethod = function (IS_INCLUDES) {
28977
- return function ($this, el, fromIndex) {
28978
- var O = toIndexedObject($this);
28979
- var length = lengthOfArrayLike(O);
28980
- var index = toAbsoluteIndex(fromIndex, length);
28981
- var value; // Array#includes uses SameValueZero equality algorithm
28982
- // eslint-disable-next-line no-self-compare -- NaN check
28983
-
28984
- if (IS_INCLUDES && el != el) while (length > index) {
28985
- value = O[index++]; // eslint-disable-next-line no-self-compare -- NaN check
28986
-
28987
- if (value != value) return true; // Array#indexOf ignores holes, Array#includes - not
28988
- } else for (; length > index; index++) {
28989
- if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
28990
- }
28991
- return !IS_INCLUDES && -1;
28992
- };
28993
- };
28994
-
28995
- var arrayIncludes = {
28996
- // `Array.prototype.includes` method
28997
- // https://tc39.es/ecma262/#sec-array.prototype.includes
28998
- includes: createMethod(true),
28999
- // `Array.prototype.indexOf` method
29000
- // https://tc39.es/ecma262/#sec-array.prototype.indexof
29001
- indexOf: createMethod(false)
29002
- };
29003
-
29004
- var indexOf = arrayIncludes.indexOf;
29005
- var push = functionUncurryThis([].push);
29006
-
29007
- var objectKeysInternal = function (object, names) {
29008
- var O = toIndexedObject(object);
29009
- var i = 0;
29010
- var result = [];
29011
- var key;
29012
-
29013
- for (key in O) !hasOwnProperty_1(hiddenKeys$1, key) && hasOwnProperty_1(O, key) && push(result, key); // Don't enum bug & hidden keys
29014
-
29015
-
29016
- while (names.length > i) if (hasOwnProperty_1(O, key = names[i++])) {
29017
- ~indexOf(result, key) || push(result, key);
29018
- }
29019
-
29020
- return result;
29021
- };
29022
-
29023
- // IE8- don't enum bug keys
29024
- var enumBugKeys = ['constructor', 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable', 'toLocaleString', 'toString', 'valueOf'];
29025
-
29026
- var hiddenKeys = enumBugKeys.concat('length', 'prototype'); // `Object.getOwnPropertyNames` method
29027
- // https://tc39.es/ecma262/#sec-object.getownpropertynames
29028
- // eslint-disable-next-line es-x/no-object-getownpropertynames -- safe
29029
-
29030
- var f$1 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
29031
- return objectKeysInternal(O, hiddenKeys);
29032
- };
29033
-
29034
- var objectGetOwnPropertyNames = {
29035
- f: f$1
29036
- };
29037
-
29038
- // eslint-disable-next-line es-x/no-object-getownpropertysymbols -- safe
29039
- var f = Object.getOwnPropertySymbols;
29040
- var objectGetOwnPropertySymbols = {
29041
- f: f
29042
- };
29043
-
29044
- var concat = functionUncurryThis([].concat); // all object keys, includes non-enumerable and symbols
29045
-
29046
- var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
29047
- var keys = objectGetOwnPropertyNames.f(anObject(it));
29048
- var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
29049
- return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;
29050
- };
29051
-
29052
- var copyConstructorProperties = function (target, source, exceptions) {
29053
- var keys = ownKeys(source);
29054
- var defineProperty = objectDefineProperty.f;
29055
- var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
29056
-
29057
- for (var i = 0; i < keys.length; i++) {
29058
- var key = keys[i];
29059
-
29060
- if (!hasOwnProperty_1(target, key) && !(exceptions && hasOwnProperty_1(exceptions, key))) {
29061
- defineProperty(target, key, getOwnPropertyDescriptor(source, key));
29062
- }
29063
- }
29064
- };
29065
-
29066
- var replacement = /#|\.prototype\./;
29067
-
29068
- var isForced = function (feature, detection) {
29069
- var value = data[normalize(feature)];
29070
- return value == POLYFILL ? true : value == NATIVE ? false : isCallable(detection) ? fails(detection) : !!detection;
29071
- };
29072
-
29073
- var normalize = isForced.normalize = function (string) {
29074
- return String(string).replace(replacement, '.').toLowerCase();
29075
- };
29076
-
29077
- var data = isForced.data = {};
29078
- var NATIVE = isForced.NATIVE = 'N';
29079
- var POLYFILL = isForced.POLYFILL = 'P';
29080
- var isForced_1 = isForced;
29081
-
29082
- var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
29083
- /*
29084
- options.target - name of the target object
29085
- options.global - target is the global object
29086
- options.stat - export as static methods of target
29087
- options.proto - export as prototype methods of target
29088
- options.real - real prototype method for the `pure` version
29089
- options.forced - export even if the native feature is available
29090
- options.bind - bind methods to the target, required for the `pure` version
29091
- options.wrap - wrap constructors to preventing global pollution, required for the `pure` version
29092
- options.unsafe - use the simple assignment of property instead of delete + defineProperty
29093
- options.sham - add a flag to not completely full polyfills
29094
- options.enumerable - export as enumerable property
29095
- options.noTargetGet - prevent calling a getter on target
29096
- options.name - the .name of the function if it does not match the key
29097
- */
29098
-
29099
- var _export = function (options, source) {
29100
- var TARGET = options.target;
29101
- var GLOBAL = options.global;
29102
- var STATIC = options.stat;
29103
- var FORCED, target, key, targetProperty, sourceProperty, descriptor;
29104
-
29105
- if (GLOBAL) {
29106
- target = global$1;
29107
- } else if (STATIC) {
29108
- target = global$1[TARGET] || setGlobal(TARGET, {});
29109
- } else {
29110
- target = (global$1[TARGET] || {}).prototype;
29111
- }
29112
-
29113
- if (target) for (key in source) {
29114
- sourceProperty = source[key];
29115
-
29116
- if (options.noTargetGet) {
29117
- descriptor = getOwnPropertyDescriptor(target, key);
29118
- targetProperty = descriptor && descriptor.value;
29119
- } else targetProperty = target[key];
29120
-
29121
- FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced); // contained in target
29122
-
29123
- if (!FORCED && targetProperty !== undefined) {
29124
- if (typeof sourceProperty == typeof targetProperty) continue;
29125
- copyConstructorProperties(sourceProperty, targetProperty);
29126
- } // add a flag to not completely full polyfills
29127
-
29128
-
29129
- if (options.sham || targetProperty && targetProperty.sham) {
29130
- createNonEnumerableProperty(sourceProperty, 'sham', true);
29131
- } // extend global
29132
-
29133
-
29134
- redefine(target, key, sourceProperty, options);
29135
- }
29136
- };
29137
-
29138
29277
  var FunctionPrototype = Function.prototype;
29139
29278
  var apply = FunctionPrototype.apply;
29140
29279
  var call = FunctionPrototype.call; // eslint-disable-next-line es-x/no-reflect -- safe
@@ -29154,8 +29293,6 @@
29154
29293
  };
29155
29294
  };
29156
29295
 
29157
- var html = getBuiltIn('document', 'documentElement');
29158
-
29159
29296
  var arraySlice = functionUncurryThis([].slice);
29160
29297
 
29161
29298
  var TypeError$1 = global$1.TypeError;
@@ -45486,7 +45623,11 @@
45486
45623
  */
45487
45624
 
45488
45625
  const fixColor = colorString => {
45489
- return colorString.indexOf(",") > 0 && !colorString.startsWith("rgb") ? `rgb(${colorString})` : colorString;
45626
+ if (isString$3(colorString)) {
45627
+ return colorString.indexOf(",") > 0 && !colorString.startsWith("rgb(") ? `rgb(${colorString})` : colorString;
45628
+ } else {
45629
+ return colorString;
45630
+ }
45490
45631
  };
45491
45632
  /**
45492
45633
  * A collection of properties and methods shared by all (or most) track types.
@@ -45645,7 +45786,7 @@
45645
45786
  }
45646
45787
 
45647
45788
  get supportsWholeGenome() {
45648
- return false;
45789
+ return this.config.supportsWholeGenome === true;
45649
45790
  }
45650
45791
  /**
45651
45792
  * Does the track support sample names. Current sample aware tracks include VCF (with genotypes), MUT, MAF, and SEG
@@ -56182,7 +56323,7 @@
56182
56323
  const len = Math.min(rows.length, maxRows);
56183
56324
 
56184
56325
  for (r = 0; r < len; r++) {
56185
- if (feature.start > rows[r]) {
56326
+ if (feature.start >= rows[r]) {
56186
56327
  feature.row = r;
56187
56328
  rows[r] = feature.end;
56188
56329
  break;
@@ -57655,7 +57796,7 @@
57655
57796
  }
57656
57797
 
57657
57798
  supportsWholeGenome() {
57658
- return this.reader.type === "bigwig" || this.defaultVisibilityWindow() <= 0;
57799
+ return this.reader.type === "bigwig";
57659
57800
  }
57660
57801
 
57661
57802
  async trackType() {
@@ -58913,7 +59054,15 @@
58913
59054
  }
58914
59055
 
58915
59056
  get supportsWholeGenome() {
58916
- return (this.config.indexed === false || !this.config.indexURL) && this.config.supportsWholeGenome !== false;
59057
+ if (this.config.supportsWholeGenome !== undefined) {
59058
+ return this.config.supportsWholeGenome;
59059
+ } else if (this.featureSource && typeof this.featureSource.supportsWholeGenome === 'function') {
59060
+ return this.featureSource.supportsWholeGenome();
59061
+ } else {
59062
+ if (this.visibilityWindow === undefined && (this.config.indexed === false || !this.config.indexURL)) {
59063
+ return true;
59064
+ }
59065
+ }
58917
59066
  }
58918
59067
 
58919
59068
  async getFeatures(chr, start, end, bpPerPixel) {
@@ -61289,34 +61438,10 @@
61289
61438
  }
61290
61439
  }
61291
61440
 
61292
- /*
61293
- * The MIT License (MIT)
61294
- *
61295
- * Copyright (c) 2016 University of California San Diego
61296
- * Author: Jim Robinson
61297
- *
61298
- * Permission is hereby granted, free of charge, to any person obtaining a copy
61299
- * of this software and associated documentation files (the "Software"), to deal
61300
- * in the Software without restriction, including without limitation the rights
61301
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
61302
- * copies of the Software, and to permit persons to whom the Software is
61303
- * furnished to do so, subject to the following conditions:
61304
- *
61305
- * The above copyright notice and this permission notice shall be included in
61306
- * all copies or substantial portions of the Software.
61307
- *
61308
- *
61309
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
61310
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
61311
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
61312
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
61313
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
61314
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
61315
- * THE SOFTWARE.
61316
- */
61317
61441
  const isString = isString$3;
61318
61442
  const DEFAULT_VISIBILITY_WINDOW = 1000000;
61319
61443
  const TOP_MARGIN = 10;
61444
+ const STANDARD_FIELDS = new Map([["REF", "referenceBases"], ["ALT", "alternateBases"], ["QUAL", "quality"], ["FILTER", "filter"]]);
61320
61445
 
61321
61446
  class VariantTrack extends TrackBase {
61322
61447
  constructor(config, browser) {
@@ -61358,7 +61483,6 @@
61358
61483
  this.colorTables.set(config.colorBy, new ColorTable(config.colorTable));
61359
61484
  }
61360
61485
 
61361
- this._color = config.color;
61362
61486
  this.showGenotypes = config.showGenotypes === undefined ? true : config.showGenotypes; // The number of variant rows are computed dynamically, but start with "1" by default
61363
61487
 
61364
61488
  this.variantRowCount(1);
@@ -61480,9 +61604,9 @@
61480
61604
  'fillStyle': "rgb(255, 255, 255)"
61481
61605
  });
61482
61606
  const vGap = "SQUISHED" === this.displayMode ? this.squishedVGap : this.expandedVGap;
61483
- const rc = "COLLAPSED" === this.displayMode ? 1 : this.nVariantRows;
61607
+ const rowCount = "COLLAPSED" === this.displayMode ? 1 : this.nVariantRows;
61484
61608
  const variantHeight = "SQUISHED" === this.displayMode ? this.squishedVariantHeight : this.expandedVariantHeight;
61485
- this.variantBandHeight = TOP_MARGIN + rc * (variantHeight + vGap);
61609
+ this.variantBandHeight = TOP_MARGIN + rowCount * (variantHeight + vGap);
61486
61610
  const callSets = this.callSets;
61487
61611
  const nCalls = this.getCallsetsLength();
61488
61612
 
@@ -61590,14 +61714,23 @@
61590
61714
  let variantColor;
61591
61715
 
61592
61716
  if (this.colorBy) {
61593
- const value = v.info[this.colorBy];
61594
- variantColor = this.getVariantColorTable(this.colorBy).getColor(value);
61717
+ const colorBy = this.colorBy;
61718
+ let value;
61719
+
61720
+ if (v.info.hasOwnProperty(colorBy)) {
61721
+ value = v.info[colorBy];
61722
+ } else if (STANDARD_FIELDS.has(colorBy)) {
61723
+ const key = STANDARD_FIELDS.get(colorBy);
61724
+ value = v[key];
61725
+ }
61726
+
61727
+ variantColor = this.getVariantColorTable(colorBy).getColor(value);
61595
61728
 
61596
61729
  if (!variantColor) {
61597
61730
  variantColor = "gray";
61598
61731
  }
61599
61732
  } else if (this._color) {
61600
- variantColor = this.color;
61733
+ variantColor = typeof this._color === "function" ? this._color(variant) : this._color;
61601
61734
  } else if ("NONVARIANT" === v.type) {
61602
61735
  variantColor = this.nonRefColor;
61603
61736
  } else if ("MIXED" === v.type) {
@@ -61609,10 +61742,6 @@
61609
61742
  return variantColor;
61610
61743
  }
61611
61744
 
61612
- get color() {
61613
- return this._color ? typeof this._color === "function" ? this._color(v) : this._color : this.defaultColor;
61614
- }
61615
-
61616
61745
  clickedFeatures(clickState, features) {
61617
61746
  let featureList = super.clickedFeatures(clickState, features);
61618
61747
  const vGap = this.displayMode === 'EXPANDED' ? this.expandedVGap : this.squishedVGap;
@@ -61624,7 +61753,10 @@
61624
61753
  // Variant
61625
61754
  const variantHeight = "SQUISHED" === this.displayMode ? this.squishedVariantHeight : this.expandedVariantHeight;
61626
61755
  const variantRow = Math.floor((yOffset - TOP_MARGIN) / (variantHeight + vGap));
61627
- featureList = featureList.filter(f => f.row === variantRow);
61756
+
61757
+ if ("COLLAPSED" !== this.displayMode) {
61758
+ featureList = featureList.filter(f => f.row === variantRow);
61759
+ }
61628
61760
  } else if (this.callSets) {
61629
61761
  const callSets = this.callSets;
61630
61762
  const sampleY = yOffset - this.variantBandHeight;
@@ -61632,7 +61764,7 @@
61632
61764
 
61633
61765
  if (sampleRow >= 0 && sampleRow < callSets.length) {
61634
61766
  const variantRow = Math.floor((sampleY - sampleRow * this.sampleHeight) / callHeight);
61635
- const variants = featureList.filter(f => f.row === variantRow);
61767
+ const variants = "COLLAPSED" === this.displayMode ? featureList : featureList.filter(f => f.row === variantRow);
61636
61768
  const cs = callSets[sampleRow];
61637
61769
  featureList = variants.map(v => {
61638
61770
  const call = v.calls[cs.id];
@@ -63537,30 +63669,6 @@
63537
63669
  }
63538
63670
  }
63539
63671
 
63540
- /*
63541
- * The MIT License (MIT)
63542
- *
63543
- * Copyright (c) 2014 Broad Institute
63544
- *
63545
- * Permission is hereby granted, free of charge, to any person obtaining a copy
63546
- * of this software and associated documentation files (the "Software"), to deal
63547
- * in the Software without restriction, including without limitation the rights
63548
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
63549
- * copies of the Software, and to permit persons to whom the Software is
63550
- * furnished to do so, subject to the following conditions:
63551
- *
63552
- * The above copyright notice and this permission notice shall be included in
63553
- * all copies or substantial portions of the Software.
63554
- *
63555
- *
63556
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
63557
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
63558
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
63559
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
63560
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
63561
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
63562
- * THE SOFTWARE.
63563
- */
63564
63672
  let JUNCTION_MOTIF_PALETTE = new PaletteColorTable("Dark2"); // Lock in color-to-motif mapping so it's independent of data loading order. This list may not include all possible
63565
63673
  // motif values as this varies depending on the RNA-seq pipeline. The current list is based on STAR v2.4 docs.
63566
63674
 
@@ -67568,7 +67676,7 @@
67568
67676
 
67569
67677
  toJSON() {
67570
67678
  const json = {
67571
- "version": version$1()
67679
+ "version": version()
67572
67680
  };
67573
67681
 
67574
67682
  if (this.showSampleNames !== undefined) {
@@ -68315,7 +68423,7 @@
68315
68423
  setGoogleOauthToken,
68316
68424
  setOauthToken,
68317
68425
  oauth,
68318
- version: version$1,
68426
+ version,
68319
68427
  setApiKey,
68320
68428
  doAutoscale,
68321
68429
  TrackView