build: battle_simulator

This commit is contained in:
Hide_D committed 2021-08-20 02:55:07 +09:00
1 parent 6c6a3238cb
commit a70312a90a
6 files changed
+7 -936

No files matched your search

+2 -932
View File
@@ -1,932 +1,2 @@
jQuery(function($) { (()=>{"use strict";var e,t={2890:(e,t,r)=>{r(2526),r(1817),r(1539),r(2165),r(6992),r(8783),r(3948),r(7042),r(1038);var n=r(3754),a=r.n(n),o=(r(9826),r(1058),r(1249),r(9720),r(2222),r(4678),r(2707),r(7941),r(9755)),l=r.n(o),i=(r(3734),r(9490)),c=r(3729),f=r.n(c);function u(e){return(u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function d(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function p(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&b(e,t)}function m(e){var t=g();return function(){var r,n=w(e);if(t){var a=w(this).constructor;r=Reflect.construct(n,arguments,a)}else r=n.apply(this,arguments);return _(this,r)}}function _(e,t){return!t||"object"!==u(t)&&"function"!=typeof t?v(e):t}function v(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function y(e){var t="function"==typeof Map?new Map:void 0;return(y=function(e){if(null===e||(r=e,-1===Function.toString.call(r).indexOf("[native code]")))rLine truncated
//# sourceMappingURL=battle_simulator.js.map
var $generalForm = $('.form_sample .general_detail');
var $defenderHeaderForm = $('.form_sample .card-header');
var $defenderColumn = $('.defender-column');
var defenderNoList = {};
var $attackerCard = $('.attacker_form');
var initBasicEvent = function() {
if (window.nation) {
$('.form_city_level').val(window.city.level);
$('.form_def').val(parseInt(window.city.def));
$('.form_wall').val(parseInt(window.city.wall));
$('.form_nation_type').val(window.nation.type);
$('.form_nation_level').val(window.nation.level);
$('.form_tech').val(parseInt(window.nation.tech / 1000));
if (window.nation.capital == window.city.city) {
$('.attacker_nation .form_is_capital:first').click();
$('.defender_nation .form_is_capital:first').click();
} else {
$('.attacker_nation .form_is_capital:last').click();
$('.defender_nation .form_is_capital:last').click();
}
} else {
$('.attacker_nation .form_is_capital:last').click();
$('.defender_nation .form_is_capital:last').click();
}
$('.form_injury').change(function() {
var $this = $(this);
var $general = getGeneralDetail($this);
var $helptext = $general.find('.injury_helptext');
var injury = parseInt($this.val());
//FIXME: PHP 코드와 항상 일치하도록 변경
var text = '건강';
var color = 'white';
if (injury > 60) {
text = '위독';
color = 'red';
} else if (injury > 40) {
text = '심각';
color = 'magenta';
} else if (injury > 20) {
text = '중상';
color = 'orange';
} else if (injury > 0) {
text = '경상';
color = 'yellow';
}
$helptext.html(text).css('color', color);
});
$('.export_general').click(function() {
var $btn = $(this);
var $general = getGeneralDetail($btn);
var values = exportGeneralInfo($general);
console.log(values);
});
$('.delete-defender').click(function() {
var $card = getGeneralFrame($(this));
deleteDefender($card);
});
$('.copy-defender').click(function() {
var $card = getGeneralFrame($(this));
copyDefender($card);
});
$('.add-defender').click(function() {
addDefender();
});
$('.btn-general-load').click(function() {
var $file = $(this).prev();
$file[0].click();
})
$('.form_load_general_file').on('change', function(e) {
e.preventDefault();
var $this = $(this);
var $card = getGeneralFrame($this);
var files = e.target.files;
importGeneralInfoByFile(files, $card);
return false;
});
$('.btn-general-import-server').click(function() {
var $this = $(this);
var $card = getGeneralFrame($this);
var $modal = $('#importModal');
$modal.data('target', $card);
$modal.modal('show');
});
$('.btn-general-save').click(function() {
var $this = $(this);
var $general = getGeneralDetail($this);
var generalData = exportGeneralInfo($general);
var filename = "general_{0}.json".format(generalData.name);
var saveData = JSON.stringify({
objType: 'general',
data: generalData
}, null, 4);
download(saveData, filename, 'application/json');
});
$('.btn-battle-load').click(function() {
var $file = $(this).prev();
$file[0].click();
})
$('.form_load_battle_file').on('change', function(e) {
e.preventDefault();
var $this = $(this);
var files = e.target.files;
importBattleInfoByFile(files);
return false;
});
$('.btn-battle-save').click(function() {
var battleData = exportAllData();
var filename = "battle_{0}.json".format(moment().format('YYYYMMDD_hhmmss'));
var saveData = JSON.stringify({
objType: 'battle',
data: battleData
}, null, 4);
download(saveData, filename, 'application/json');
})
var $generals = $('.general_detail');
$generals.bind('dragover dragleave', function(e) {
e.stopPropagation()
e.preventDefault()
})
$generals.bind('drop', function(e) {
e.preventDefault();
var $this = $(this);
var $card = getGeneralFrame($this);
var files = e.originalEvent.dataTransfer.files;
importGeneralInfoByFile(files, $card);
return false;
});
var $battlePad = $('.dragpad_battle');
$battlePad.bind('dragover dragleave', function(e) {
e.stopPropagation()
e.preventDefault()
})
$battlePad.bind('drop', function(e) {
e.preventDefault();
var files = e.originalEvent.dataTransfer.files;
importBattleInfoByFile(files);
return false;
});
}
var importGeneralInfo = function($general, data) {
var setVal = function(query, val) {
$general.find(query).val(val).change();
}
setVal('.form_general_name', data.name);
setVal('.form_officer_level', data.officer_level);
setVal('.form_exp_level', data.explevel);
setVal('.form_leadership', data.leadership);
setVal('.form_general_horse', data.horse);
setVal('.form_strength', data.strength);
setVal('.form_general_weap', data.weapon);
setVal('.form_intel', data.intel);
setVal('.form_general_book', data.book);
setVal('.form_general_item', data.item);
setVal('.form_injury', data.injury);
setVal('.form_rice', data.rice);
setVal('.form_general_character', data.personal);
setVal('.form_general_special_war', data.special2);
setVal('.form_crew', data.crew);
setVal('.form_crewtype', data.crewtype);
setVal('.form_atmos', data.atmos);
setVal('.form_train', data.train);
setVal('.form_dex1', data.dex1);
setVal('.form_dex2', data.dex2);
setVal('.form_dex3', data.dex3);
setVal('.form_dex4', data.dex4);
setVal('.form_dex5', data.dex5);
setVal('.form_defence_train', data.defence_train);
setVal('.form_warnum', data.warnum);
setVal('.form_killnum', data.killnum);
setVal('.form_killcrew', data.killcrew);
if (!setGeneralNo($general, data.no)) {
setGeneralNo($general, generateNewGeneralNo());
}
}
var exportGeneralInfo = function($general) {
var getInt = function(query) {
return parseInt($general.find(query).val());
}
var getVal = function(query) {
return $general.find(query).val();
}
return {
no: getGeneralNo($general),
name: getVal('.form_general_name'),
officer_level: getInt('.form_officer_level'),
explevel: getInt('.form_exp_level'),
leadership: getInt('.form_leadership'),
horse: getVal('.form_general_horse'),
strength: getInt('.form_strength'),
weapon: getVal('.form_general_weap'),
intel: getInt('.form_intel'),
book: getVal('.form_general_book'),
item: getVal('.form_general_item'),
injury: getInt('.form_injury'),
rice: getInt('.form_rice'),
personal: getVal('.form_general_character'),
special2: getVal('.form_general_special_war'),
crew: getInt('.form_crew'),
crewtype: getInt('.form_crewtype'),
atmos: getInt('.form_atmos'),
train: getInt('.form_train'),
dex1: getInt('.form_dex1'),
dex2: getInt('.form_dex2'),
dex3: getInt('.form_dex3'),
dex4: getInt('.form_dex4'),
dex5: getInt('.form_dex5'),
defence_train: getInt('.form_defence_train'),
warnum: getInt('.form_warnum'),
killnum: getInt('.form_killnum'),
killcrew: getInt('.form_killcrew'),
};
}
var importBattleInfoByFile = function(files) {
if (files === null) {
alert('파일 에러!');
return false;
}
if (files.length < 1) {
alert("파일 에러!");
return false;
}
var file = files[0];
if (file.size > 1024 * 1024) {
alert('파일이 너무 큽니다!');
return false;
}
if (file.type === '') {
alert('폴더를 업로드할 수 없습니다!');
return false;
}
var reader = new FileReader();
reader.onload = function() {
var battleData = {};
try {
battleData = JSON.parse(reader.result);
} catch (e) {
alert('올바르지 않은 파일 형식입니다');
return false;
}
if (!('objType' in battleData)) {
alert('파일 형식을 확인할 수 없습니다');
return false;
}
if (battleData.objType != 'battle') {
alert('전투 데이터가 아닙니다');
return false;
}
importBattleInfo(battleData.data);
return true;
};
try {
reader.readAsText(file);
} catch (e) {
alert('파일을 읽는데 실패했습니다.');
return false;
}
return true;
}
var importGeneralInfoByFile = function(files, $card) {
if ($card === undefined) {
$card = addDefender();
}
if (files === null) {
alert('파일 에러!');
return false;
}
if (files.length < 1) {
alert("파일 에러!");
return false;
}
var file = files[0];
if (file.size > 1024 * 1024) {
alert('파일이 너무 큽니다!');
return false;
}
if (file.type === '') {
alert('폴더를 업로드할 수 없습니다!');
return false;
}
var reader = new FileReader();
reader.onload = function() {
var generalData = {};
try {
generalData = JSON.parse(reader.result);
} catch (e) {
alert('올바르지 않은 파일 형식입니다');
return false;
}
if (!('objType' in generalData)) {
alert('파일 형식을 확인할 수 없습니다');
return false;
}
if (generalData.objType == 'battle') {
importBattleInfo(generalData.data);
return true;
}
if (generalData.objType != 'general') {
alert('장수 데이터가 아닙니다');
return false;
}
$card.find('.form_load_general_file').val('');
importGeneralInfo($card, generalData.data);
return true;
};
try {
reader.readAsText(file);
} catch (e) {
alert('파일을 읽는데 실패했습니다.');
return false;
}
return true;
}
var extendGeneralInfoForDB = function(generalData) {
var dbVal = {
nation: (generalData.no) <= 1 ? 1 : 2,
city: (generalData.no) <= 1 ? 1 : 3,
turntime: '2018-08-26 12:00',
special: defaultSpecialDomestic,
leadership_exp: 0,
strength_exp: 0,
intel_exp: 0,
gold: 10000,
dedication: 0,
recent_war: '2018-08-26 12:00',
experience: Math.pow(generalData.explevel, 2),
};
return $.extend({}, generalData, dbVal);
}
var getGeneralFrame = function($btn) {
var $card = $btn.closest('.general_form');
return $card;
}
var getGeneralDetail = function($btn) {
var $card = getGeneralFrame($btn);
var $general = $card.find('.general_detail');
return $general;
}
var getGeneralNo = function($btn) {
return parseInt(getGeneralFrame($btn).data('general_no'));
}
var setGeneralNo = function($btn, value) {
if (value == 1) {
//1번은 무조건 공격자임
return false;
}
if (value in defenderNoList) {
return false;
}
var $card = getGeneralFrame($btn);
$card.data('general_no', value);
defenderNoList[value] = $card;
return true;
}
var generateNewGeneralNo = function() {
while (true) {
var newGeneralNo = parseInt(Math.random() * (1 << 24)) + 2;
if (newGeneralNo in defenderNoList) {
continue;
}
return newGeneralNo;
}
}
var deleteGeneralNo = function($btn) {
var $card = getGeneralFrame($btn);
$card.removeData('general_no');
var generalNo = getGeneralNo($card);
delete defenderNoList[generalNo];
}
var addDefender = function($cardAfter) {
var $newCard = $('<div class="card mb-2 defender_form general_form"></div>');
if ($cardAfter === undefined) {
$defenderColumn.append($newCard);
} else {
$cardAfter.after($newCard);
}
$newCard.append($defenderHeaderForm.clone(true, true));
$newCard.append($generalForm.clone(true, true));
$newGeneral = getGeneralDetail($newCard);
setGeneralNo($newCard, generateNewGeneralNo());
return $newCard;
}
var deleteDefender = function($card) {
deleteGeneralNo($card);
$card.detach();
}
var copyDefender = function($card) {
var $general = getGeneralDetail($card);
var generalData = exportGeneralInfo($general);
var $newObj = addDefender($card);
importGeneralInfo(getGeneralDetail($newObj), generalData);
}
var importBattleInfo = function(battleData) {
$('.form_load_battle_file').val('');
console.log(battleData);
var $attackerNation = $('.attacker_nation');
var $defenderNation = $('.defender_nation');
var attackerGeneral = battleData.attackerGeneral;
var attackerCity = battleData.attackerCity;
var attackerNation = battleData.attackerNation;
var defenderGenerals = battleData.defenderGenerals;
var defenderCity = battleData.defenderCity;
var defenderNation = battleData.defenderNation;
$('#year').val(battleData.year);
$('#month').val(battleData.month);
$('#repeat_cnt').val(battleData.repeatCnt);
$('.delete-defender').click();
$attackerNation.find('.form_nation_type').val(attackerNation.type);
$attackerNation.find('.form_tech').val(Math.floor(attackerNation.tech / 1000));
$attackerNation.find('.form_nation_level').val(attackerNation.level);
if (attackerNation.capital == 1) {
$attackerNation.find('.form_is_capital:first').click();
} else {
$attackerNation.find('.form_is_capital:last').click();
}
$attackerNation.find('.form_city_level').val(attackerCity.level);
importGeneralInfo($('.attacker_form'), attackerGeneral);
$defenderNation.find('.form_nation_type').val(defenderNation.type);
$defenderNation.find('.form_tech').val(Math.floor(defenderNation.tech / 1000));
$defenderNation.find('.form_nation_level').val(defenderNation.level);
if (defenderNation.capital == 1) {
$defenderNation.find('.form_is_capital:first').click();
} else {
$defenderNation.find('.form_is_capital:last').click();
}
$defenderNation.find('.form_city_level').val(defenderCity.level);
$('#city_def').val(defenderCity.def);
$('#city_wall').val(defenderCity.wall);
$.each(defenderGenerals, function(idx, defenderGeneral) {
var $card = addDefender();
importGeneralInfo($card, defenderGeneral);
});
}
var exportAllData = function() {
var $attackerNation = $('.attacker_nation');
var $defenderNation = $('.defender_nation');
var attackerGeneral = exportGeneralInfo($('.attacker_form'));
var attackerCity = {
level: parseInt($attackerNation.find('.form_city_level').val()),
};
var attackerNation = {
type: $attackerNation.find('.form_nation_type').val(),
tech: parseInt($attackerNation.find('.form_tech').val()) * 1000,
level: parseInt($attackerNation.find('.form_nation_level').val()),
capital: $attackerNation.find('.form_is_capital:checked').val() == '1' ? 1 : 2,
}
var defenderGenerals = $('.defender_form').map(function() {
return exportGeneralInfo($(this));
}).toArray();
var defenderCity = {
def: parseInt($('#city_def').val()),
wall: parseInt($('#city_wall').val()),
level: parseInt($defenderNation.find('.form_city_level').val()),
};
var defenderNation = {
type: $defenderNation.find('.form_nation_type').val(),
tech: parseInt($defenderNation.find('.form_tech').val()) * 1000,
level: parseInt($defenderNation.find('.form_nation_level').val()),
capital: $defenderNation.find('.form_is_capital:checked').val() == '1' ? 3 : 4,
}
var year = parseInt($('#year').val());
var month = parseInt($('#month').val());
var repeatCnt = parseInt($('#repeat_cnt').val());
return {
attackerGeneral: attackerGeneral,
attackerCity: attackerCity,
attackerNation: attackerNation,
defenderGenerals: defenderGenerals,
defenderCity: defenderCity,
defenderNation: defenderNation,
year: year,
month: month,
repeatCnt: repeatCnt,
};
}
var extendAllDataForDB = function(allData) {
var defaultNation = {
nation: 0,
name: '재야',
capital: 0,
level: 0,
gold: 0,
rice: 2000,
type: 'None',
tech: 0,
gennum: 200,
};
var defaultCity = {
nation: 0,
supply: 1,
name: '도시',
pop: 500000,
agri: 10000,
comm: 10000,
secu: 10000,
def: 1000,
wall: 1000,
trust: 100,
pop_max: 600000,
agri_max: 12000,
comm_max: 12000,
secu_max: 10000,
def_max: 12000,
wall_max: 12000,
dead: 0,
state: 0,
conflict: '{}',
};
var attackerNation = $.extend({}, defaultNation, allData.attackerNation);
attackerNation.nation = 1;
attackerNation.name = '출병국';
var attackerCity = $.extend({}, defaultCity, allData.attackerCity);
attackerCity.nation = 1;
attackerCity.city = 1;
var attackerGeneral = extendGeneralInfoForDB(allData.attackerGeneral);
if (2 <= attackerGeneral.officer_level && attackerGeneral.officer_level <= 4) {
attackerGeneral.officer_city = 1;
} else {
attackerGeneral.officer_city = 0;
}
var defenderNation = $.extend({}, defaultNation, allData.defenderNation);
defenderNation.nation = 2;
defenderNation.name = '수비국';
var defenderCity = $.extend({}, defaultCity, allData.defenderCity);
defenderCity.nation = 2;
defenderCity.city = 3;
defenderCity.wall_max = parseInt(defenderCity.wall / 5 * 6);
defenderCity.def_max = parseInt(defenderCity.def / 5 * 6);
var defenderGenerals = [];
$.each(allData.defenderGenerals, function() {
var defenderGeneral = extendGeneralInfoForDB(this);
if (2 <= defenderGeneral.officer_level && defenderGeneral.officer_level <= 4) {
defenderGeneral.officer_city = 3;
} else {
defenderGeneral.officer_city = 0;
}
defenderGenerals.push(defenderGeneral);
});
return $.extend({}, allData, {
attackerGeneral: attackerGeneral,
attackerCity: attackerCity,
attackerNation: attackerNation,
defenderGenerals: defenderGenerals,
defenderCity: defenderCity,
defenderNation: defenderNation,
});
}
var parseSkillCount = function(skills) {
var result = [];
$.each(skills, function(key, value) {
result.push("{0}({1}회)".format(key, toPretty(value)));
})
if (result.length == 0) {
return '-';
}
return result.join(', ');
}
var toPretty = function(number) {
if (isInt(number)) {
number = parseInt(number);
} else {
number = parseFloat(number).toFixed(2);
}
return numberWithCommas(number);
}
var showBattleResult = function(result) {
$('#result_datetime').html(result.datetime);
$('#result_warcnt').html(toPretty(result.avgWar));
$('#result_phase').html(toPretty(result.phase));
$('#result_killed').html(toPretty(result.killed));
if (result.minKilled != result.maxKilled) {
$('#result_maxKilled').html(toPretty(result.maxKilled));
$('#result_minKilled').html(toPretty(result.minKilled));
$('#result_varKilled').show();
} else {
$('#result_varKilled').hide();
}
$('#result_dead').html(toPretty(result.dead));
if (result.minDead != result.maxDead) {
$('#result_maxDead').html(toPretty(result.maxDead));
$('#result_minDead').html(toPretty(result.minDead));
$('#result_varDead').show();
} else {
$('#result_varDead').hide();
}
$('#result_attackerRice').html(toPretty(result.attackerRice));
$('#result_defenderRice').html(toPretty(result.defenderRice));
$('#result_attackerSkills').html(parseSkillCount(result.attackerSkills));
$('.result_defenderSkills').detach();
var $summary = $('#battle_result_summary');
$.each(result.defendersSkills, function(idx, defenderSkills) {
console.log(defenderSkills);
var $result = $("<tr class='result_defenderSkills'><th>수비자{0} 스킬</th><td></td></tr>".format(idx + 1));
$result.find('td').html(parseSkillCount(defenderSkills));
$summary.append($result);
});
$('#generalBattleResultLog').html(result.lastWarLog.generalBattleResultLog);
$('#generalBattleDetailLog').html(result.lastWarLog.generalBattleDetailLog);
}
var beginBattle = function() {
var data = extendAllDataForDB(exportAllData());
console.log(data);
$.ajax({
type: 'post',
url: 'j_simulate_battle.php',
dataType: 'json',
data: {
action: 'battle',
query: JSON.stringify(data),
}
}).then(function(result) {
console.log(result);
if (!result.result) {
alert(result.reason);
return;
}
showBattleResult(result);
}, function(result) {
alert('전투 개시 실패!');
});
}
var reorderDefender = function(defenderOrder) {
$.each(defenderOrder, function(idx, generalNo) {
if (!(generalNo in defenderNoList)) {
//음..?
alert("{0}이 수비자 리스트에 없습니다. 버그인 듯 합니다.".format(generalNo));
return true;
}
var $defenderObj = defenderNoList[generalNo];
$defenderObj.detach();
$defenderColumn.append($defenderObj);
})
}
var requestReorderDefender = function() {
var data = extendAllDataForDB(exportAllData());
console.log(data);
$.ajax({
type: 'post',
url: 'j_simulate_battle.php',
dataType: 'json',
data: {
action: 'reorder',
query: JSON.stringify(data),
}
}).then(function(result) {
console.log(result);
if (!result.result) {
alert(result.reason);
return;
}
reorderDefender(result.order);
}, function(result) {
alert('재정렬 실패!');
});
}
var initGeneralList = false;
$('#importFromDB').click(function() {
var generalID = $('#modalSelector').val();
console.log(generalID);
$.post({
url: 'j_export_simulator_object.php',
dataType: 'json',
data: {
destGeneralID: generalID
}
}).then(function(data) {
if (!data.result) {
alert(data.reason);
return false;
}
var $modal = $('#importModal');
var $card = $modal.data('target');
importGeneralInfo($card, data.general);
$modal.modal('hide');
}, errUnknown);
});
$('#importModal').on('show.bs.modal', function(e) {
if (!initGeneralList) {
var $list = $('#modalSelector');
var addNation = function(generalList, nationName, color) {
generalList.sort(function(lhs, rhs) {
if (lhs.npc != rhs.npc) {
return lhs.npc - rhs.npc;
}
if (lhs.name < rhs.name) {
return -1;
}
if (lhs.name > rhs.name) {
return 1;
}
return 0;
})
var $optGroup = $('<optgroup label="{0}"></optgroup>'.format(nationName));
$optGroup.css('background-color', color);
$optGroup.css('color', isBrightColor(color) ? 'black' : 'white');
$.each(generalList, function(idx, general) {
$item = $('<option value="{0}">{1}</option>'.format(general.no, general.name));
if (general.npc) {
$item.css('color', getNpcColor(general.npc));
} else {
$item.css('color', 'white');
}
$item.css('background-color', 'black');
$optGroup.append($item);
});
$list.append($optGroup);
}
$.post({
url: 'j_get_basic_general_list.php',
dataType: 'json',
data: {
req: 2,
}
}).then(function(data) {
if (!data.result) {
alert(data.reason);
$('#importModal').modal('hide');
return false;
}
var nations = data.nation;
var myNationID = data.nationID;
$list.empty();
//자국 먼저
if (0 in data.list) {
nations[0] = {
nation: 0,
name: '재야',
color: '#000000'
};
}
addNation(combineArray(data.list[myNationID], data.column), nations[myNationID].name, nations[myNationID].color);
for (var nationID in data.list) {
if (nationID == myNationID) {
continue;
}
addNation(combineArray(data.list[nationID], data.column), nations[nationID].name, nations[nationID].color);
}
initGeneralList = true;
}, errUnknown);
}
});
initBasicEvent();
$attackerCard.append($generalForm.clone(true, true));
addDefender();
$('.btn-begin_battle').click(function() {
beginBattle();
});
$('.btn-reorder_defender').click(function() {
requestReorderDefender();
})
});
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"battle_simulator.js","mappings":"uBAAIA,E,ulFCGG,IAeMC,EAAb,yLACkB,mBADlB,YAfA,uB,IAAA,OAEI,aAAuC,MAApBC,EAAoB,uDAAF,GAAE,qBACnC,cAAMA,IAD6B,OADzB,gBACK,EAAAA,QAAAA,EAAoB,EAF3C,O,EAAA,G,EAAA,uBAKI,WACI,OAAIC,KAAKD,QACEC,KAAKC,KAAO,KAAOD,KAAKD,QAGxBC,KAAKC,U,iBAVxB,KAAkCC,SAmB5B,SAAUC,EAAUC,GACtB,GAAIA,MAAAA,EACA,MAAM,IAAIN,EAEd,OAAOM,E,+KC0OL,SAAUC,EAAmCC,EAAWC,GAC1D,IAAMC,EAA6B,GACnC,IAAK,IAAMC,KAAaF,EAEpBC,EADmBD,EAAWE,IACRH,EAAKG,GAE/B,OAAOD,EAGL,SAAUE,EAAkCC,EAAcJ,GAC5D,IAD2E,EACrEH,EAAyB,GAD4C,E,25BAAA,CAEzDO,EAAMC,QAFmD,IAE3E,2BAAgC,KAArBC,EAAqB,QACtBP,EAAOK,EAAME,GACnBT,EAAOS,GAAOR,EAAcC,EAAMC,IAJqC,8BAM3E,OAAOH,EA+BL,SAAUU,IACZC,MAAM,eChTJ,SAAUC,EAAcZ,GAC1B,GAAIA,MAAAA,EACA,MAAM,IAAIN,EAEd,OAAOM,E,ykDDAX,+CAAoD,iBA6HpDa,OAAOC,UAAUC,OAAS,WAAsC,2BAAzBC,EAAyB,yBAAzBA,EAAyB,gBAC5D,OAAOpB,KAAKqB,QAAQ,YAAY,SAAUC,EAAOC,GAC7C,YAA+B,IAAhBH,EAAKG,GAA0BH,EAAKG,GAAQC,WAAaF,MEXhF,KAAE,SAAUG,GAGR,IAAMC,EAAeD,EAAE,gCACjBE,EAAsBF,EAAE,6BACxBG,EAAkBH,EAAE,oBAEpBI,EAAsD,GAEtDC,EAAgBL,EAAE,kBAmKlBM,EAAoB,SAAUC,EAA+BC,GAC/D,IAAMC,EAAS,SAAUC,EAAeC,GACpCJ,EAASK,KAAKF,GAAOC,IAAIA,GAAKE,QAAQ,WAG1CJ,EAAO,qBAAsBD,EAAKhC,MAElCiC,EAAO,sBAAuBD,EAAKM,eACnCL,EAAO,kBAAmBD,EAAKO,UAE/BN,EAAO,mBAAoBD,EAAKQ,YAChCP,EAAO,sBAAuBD,EAAKS,OACnCR,EAAO,iBAAkBD,EAAKU,UAC9BT,EAAO,qBAAsBD,EAAKW,QAClCV,EAAO,cAAeD,EAAKY,OAC3BX,EAAO,qBAAsBD,EAAKa,MAClCZ,EAAO,qBAAsBD,EAAK3B,MAElC4B,EAAO,eAAgBD,EAAKc,QAE5Bb,EAAO,aAAcD,EAAKe,MAE1Bd,EAAO,0BAA2BD,EAAKgB,UACvCf,EAAO,4BAA6BD,EAAKiB,UAEzChB,EAAO,aAAcD,ELine truncated
+1 -1
View File
@@ -1,2 +1,2 @@
(()=>{"use strict";var e,r={609:(e,r,t)=>{t(5666),t(9826),t(2222),t(1058),t(603),t(4916),t(9714),t(1539),t(8674),t(9720),t(2526),t(1817),t(2165),t(6992),t(8783),t(3948),t(7042),t(1038),t(7941),t(7327),t(5003),t(4747),t(9337);var n=t(9755),a=t.n(n),o=(t(3734),t(9669)),i=t.n(o),u=t(1469),l=t.n(u),c=(t(1532),t(3123),t(5715)),s=t(7037),f=t.n(s);function p(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function d(e){var r,t={},n=function(e,r){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=function(e,r){if(e){if("string"==typeof e)return p(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?p(e,r):void 0}}(e))||r&&e&&"number"==typeof e.length){t&&(e=t);var n=0,a=function(){};return{s:a,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,u=!1;return{s:function(){t=t.call(e)},n:function(){var e=t.next();return i=e.done,e},e:function(e){u=!0,o=e},f:function(){try{i||null==t.return||t.return()}finally{if(u)throw o}}}}(e);try{for(n.s();!(r=n.n()).done;){var a=r.value,o=a.name,i=a.value;if(!f()(o))throw new TypeError(Line truncated (()=>{"use strict";var e,r={7609:(e,r,t)=>{t(5666),t(9826),t(2222),t(1058),t(4603),t(4916),t(9714),t(1539),t(8674),t(9720),t(2526),t(1817),t(2165),t(6992),t(8783),t(3948),t(7042),t(1038),t(7941),t(7327),t(5003),t(4747),t(9337);var n=t(9755),a=t.n(n),o=(t(3734),t(9669)),i=t.n(o),u=t(1469),l=t.n(u),c=(t(1532),t(3123),t(5715)),s=t(7037),f=t.n(s);function p(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function d(e){var r,t={},n=function(e,r){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=function(e,r){if(e){if("string"==typeof e)return p(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?p(e,r):void 0}}(e))||r&&e&&"number"==typeof e.length){t&&(e=t);var n=0,a=function(){};return{s:a,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,u=!1;return{s:function(){t=t.call(e)},n:function(){var e=t.next();return i=e.done,e},e:function(e){u=!0,o=e},f:function(){try{i||null==t.return||t.return()}finally{if(u)throw o}}}}(e);try{for(n.s();!(r=n.n()).done;){var a=r.value,o=a.name,i=a.value;if(!f()(o))throw new TypeErroLine truncated
//# sourceMappingURL=install.js.map //# sourceMappingURL=install.js.map
+1 -1
View File
@@ -1 +1 @@
{"version":3,"file":"install.js","mappings":"uBAAIA,E,waCOE,SAAUC,EAAaC,GACzB,IADgD,EAC1CC,EAAyC,GADC,E,25BAAA,CAGrBD,GAHqB,IAGhD,2BAAiC,eAAtBE,EAAsB,EAAtBA,KAAMC,EAAgB,EAAhBA,MACb,IAAI,IAASD,GACT,MAAM,IAAIE,UAAJ,UAAiBF,EAAjB,mBAEV,IAAI,IAASC,GACT,MAAM,IAAIC,UAAJ,UAAiBD,EAAjB,mBAGV,GAAY,KAATD,GAAwB,OAATA,EAGlB,GAAGA,EAAKG,OAAS,GAAuB,MAAlBH,EAAKI,OAAO,GAAlC,CACI,IAAMC,EAAUL,EAAKI,MAAM,GAAI,GAC1BC,KAAWN,EAIXA,EAAOM,GAAsBC,KAAKL,GAHnCF,EAAOM,GAAW,CAACJ,QAO3BF,EAAOC,GAAQC,GAxB6B,8BA0BhD,OAAOF,E,yYCvBJ,IAAMQ,EAAb,WAGI,WAA4BC,EAA6CC,EAA6BC,I,4FAAc,SAAxF,KAAAF,OAAAA,EAA6C,KAAAC,KAAAA,EAA6B,KAAAC,OAAAA,EAClGC,KAAKC,UAAY,IAAI,IAAOH,GAC5BE,KAAKE,OAASL,EAAOM,KAAK,U,UALlC,S,EAAA,G,EAAA,0BAQW,WACHH,KAAKE,OAAOE,YAAY,cACxBJ,KAAKE,OAAOE,YAAY,YACxBJ,KAAKH,OAAOM,KAAK,qBAAqBE,WAX9C,kCAcW,WAAoB,WAIvB,OAHAL,KAAKE,OAAOI,GAAG,UAAU,WAChB,EAAKC,cAEPP,OAlBf,uB,EAAA,yBAqBW,kIAC0BQ,KAA1B,UAAAR,KAAKD,cAAL,eAAaU,WACZT,KAAKD,OAAOU,SAAST,KAAKH,QAE1Ba,EAAYxB,EAAac,KAAKE,OAAOS,uBAEXH,KAA3B,UAAAR,KAAKD,cAAL,eAAaa,YAAwB,EACdZ,KAAKD,OAAOa,UAAUF,EAAWV,KAAKH,Q,EADxB,I,4CAAA,I,+wBACnCa,EADmC,KACxBG,EADwB,MAIpCA,EAAS,IAAIC,IAEjBC,QAAQC,IAAIN,GAZT,SAc0BV,KAAKC,UAAUM,SAASG,GAAWO,OAAM,YAAe,IAAZC,EAAY,EAAZA,OACrE,EAAKC,cACL,cAAoBC,OAAOC,KAAKH,GAAhC,eAAwC,CAApC,IAAMI,EAAM,KACRC,OAA0B,EACxBC,EAAMF,EAAOG,MAAM,KAAK,GAC9BV,QAAQC,IAAR,qBAA0BQ,EAA1B,YAAiCd,EAAUc,KAC3C,IAAME,EAASR,EAAOI,GAAQ,GAAGK,QAYjC,GAAmB,IATfJ,EADDV,EAAOe,IAAIJ,GACF,EAAK3B,OAAOM,KAAKU,EAAOgB,IAAIL,IAEhC,IAAQd,EAAUc,IACd,EAAK3B,OAAOM,KAAZ,uBAAiCqB,EAAjC,SALine truncated {"version":3,"file":"install.js","mappings":"uBAAIA,E,0aCOE,SAAUC,EAAaC,GACzB,IADgD,EAC1CC,EAAyC,GADC,E,25BAAA,CAGrBD,GAHqB,IAGhD,2BAAiC,eAAtBE,EAAsB,EAAtBA,KAAMC,EAAgB,EAAhBA,MACb,IAAI,IAASD,GACT,MAAM,IAAIE,UAAJ,UAAiBF,EAAjB,mBAEV,IAAI,IAASC,GACT,MAAM,IAAIC,UAAJ,UAAiBD,EAAjB,mBAGV,GAAY,KAATD,GAAwB,OAATA,EAGlB,GAAGA,EAAKG,OAAS,GAAuB,MAAlBH,EAAKI,OAAO,GAAlC,CACI,IAAMC,EAAUL,EAAKI,MAAM,GAAI,GAC1BC,KAAWN,EAIXA,EAAOM,GAAsBC,KAAKL,GAHnCF,EAAOM,GAAW,CAACJ,QAO3BF,EAAOC,GAAQC,GAxB6B,8BA0BhD,OAAOF,E,yYCvBJ,IAAMQ,EAAb,WAGI,WAA4BC,EAA6CC,EAA6BC,I,4FAAc,SAAxF,KAAAF,OAAAA,EAA6C,KAAAC,KAAAA,EAA6B,KAAAC,OAAAA,EAClGC,KAAKC,UAAY,IAAI,IAAOH,GAC5BE,KAAKE,OAASL,EAAOM,KAAK,U,UALlC,S,EAAA,G,EAAA,0BAQW,WACHH,KAAKE,OAAOE,YAAY,cACxBJ,KAAKE,OAAOE,YAAY,YACxBJ,KAAKH,OAAOM,KAAK,qBAAqBE,WAX9C,kCAcW,WAAoB,WAIvB,OAHAL,KAAKE,OAAOI,GAAG,UAAU,WAChB,EAAKC,cAEPP,OAlBf,uB,EAAA,yBAqBW,kIAC0BQ,KAA1B,UAAAR,KAAKD,cAAL,eAAaU,WACZT,KAAKD,OAAOU,SAAST,KAAKH,QAE1Ba,EAAYxB,EAAac,KAAKE,OAAOS,uBAEXH,KAA3B,UAAAR,KAAKD,cAAL,eAAaa,YAAwB,EACdZ,KAAKD,OAAOa,UAAUF,EAAWV,KAAKH,Q,EADxB,I,4CAAA,I,+wBACnCa,EADmC,KACxBG,EADwB,MAIpCA,EAAS,IAAIC,IAEjBC,QAAQC,IAAIN,GAZT,SAc0BV,KAAKC,UAAUM,SAASG,GAAWO,OAAM,YAAe,IAAZC,EAAY,EAAZA,OACrE,EAAKC,cACL,cAAoBC,OAAOC,KAAKH,GAAhC,eAAwC,CAApC,IAAMI,EAAM,KACRC,OAA0B,EACxBC,EAAMF,EAAOG,MAAM,KAAK,GAC9BV,QAAQC,IAAR,qBAA0BQ,EAA1B,YAAiCd,EAAUc,KAC3C,IAAME,EAASR,EAAOI,GAAQ,GAAGK,QAYjC,GAAmB,IATfJ,EADDV,EAAOe,IAAIJ,GACF,EAAK3B,OAAOM,KAAKU,EAAOgB,IAAIL,IAEhC,IAAQd,EAAUc,IACd,EAAK3B,OAAOM,KAAZ,uBAAiCqB,EAAjC,SALine truncated
+1 -1
View File
@@ -1,3 +1,3 @@
/*! For license information please see vendors.js.LICENSE.txt */ /*! For license information please see vendors.js.LICENSE.txt */
(self.webpackChunkhidche_lib=self.webpackChunkhidche_lib||[]).push([[216],{5715:(e,t,n)=>{"use strict";function r(){return(r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function i(e){return(i=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function o(e,t){return(o=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function a(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function s(e,t,n){return(s=a()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var i=new(Function.bind.apply(e,r));return n&&o(i,n.prototype),i}).apply(null,arguments)}function u(e){var t="function"==typeof Map?new Map:void 0;return(u=function(e){if(null===e||(n=e,-1===Function.toString.call(n).indexOf("[native code]")))return e;var n;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return s(e,arguments,i(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),o(r,e)})(e)}n.d(t,{Z:()=>A});var l=/%[sdLine truncated (self.webpackChunkhidche_lib=self.webpackChunkhidche_lib||[]).push([[216],{5715:(e,t,n)=>{"use strict";function r(){return(r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function i(e){return(i=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function o(e,t){return(o=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function a(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function s(e,t,n){return(s=a()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var i=new(Function.bind.apply(e,r));return n&&o(i,n.prototype),i}).apply(null,arguments)}function u(e){var t="function"==typeof Map?new Map:void 0;return(u=function(e){if(null===e||(n=e,-1===Function.toString.call(n).indexOf("[native code]")))return e;var n;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return s(e,arguments,i(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),o(r,e)})(e)}n.d(t,{Z:()=>A});var l=/%[sdLine truncated
//# sourceMappingURL=vendors.js.map //# sourceMappingURL=vendors.js.map
+1 -1
View File
@@ -1 +1 @@
{"version":3,"file":"vendors.js","mappings":";uGAAA,SAASA,IAeP,OAdAA,EAAWC,OAAOC,QAAU,SAAUC,GACpC,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CACzC,IAAIG,EAASF,UAAUD,GAEvB,IAAK,IAAII,KAAOD,EACVN,OAAOQ,UAAUC,eAAeC,KAAKJ,EAAQC,KAC/CL,EAAOK,GAAOD,EAAOC,IAK3B,OAAOL,IAGOS,MAAMC,KAAMR,WAU9B,SAASS,EAAgBC,GAIvB,OAHAD,EAAkBb,OAAOe,eAAiBf,OAAOgB,eAAiB,SAAyBF,GACzF,OAAOA,EAAEG,WAAajB,OAAOgB,eAAeF,KAEvBA,GAGzB,SAASI,EAAgBJ,EAAGK,GAM1B,OALAD,EAAkBlB,OAAOe,gBAAkB,SAAyBD,EAAGK,GAErE,OADAL,EAAEG,UAAYE,EACPL,IAGcA,EAAGK,GAG5B,SAASC,IACP,GAAuB,oBAAZC,UAA4BA,QAAQC,UAAW,OAAO,EACjE,GAAID,QAAQC,UAAUC,KAAM,OAAO,EACnC,GAAqB,mBAAVC,MAAsB,OAAO,EAExC,IAEE,OADAC,QAAQjB,UAAUkB,QAAQhB,KAAKW,QAAQC,UAAUG,QAAS,IAAI,iBACvD,EACP,MAAOE,GACP,OAAO,GAIX,SAASC,EAAWC,EAAQC,EAAMC,GAchC,OAZEH,EADER,IACWC,QAAQC,UAER,SAAoBO,EAAQC,EAAMC,GAC7C,IAAIC,EAAI,CAAC,MACTA,EAAEC,KAAKtB,MAAMqB,EAAGF,GAChB,IACII,EAAW,IADGC,SAASC,KAAKzB,MAAMkB,EAAQG,IAG9C,OADID,GAAOb,EAAgBgB,EAAUH,EAAMvB,WACpC0B,IAIOvB,MAAM,KAAMP,WAOhC,SAASiC,EAAiBN,GACxB,IAAIO,EAAwB,mBAARC,IAAqB,IAAIA,SAAQC,EA8BrD,OA5BAH,EAAmB,SAA0BN,GAC3C,GAAc,OAAVA,IARmBU,EAQkBV,GAPqB,IAAzDI,SAASO,SAAShC,KAAK+B,GAAIE,QAAQ,kBAOS,OAAOZ,EAR5D,IAA2BU,EAUvB,GAAqB,mBAAVV,EACT,MAAM,IAAIa,UAAU,sDAGtB,QAAsB,IAAXN,EAAwB,CACjC,GAAIA,EAAOO,IAAId,GAAQ,OAAOO,EAAOQ,IAAIf,GAEzCO,EAAOS,IAAIhB,EAAOiB,GAGpB,SAASA,IACP,OAAOpB,EAAWG,EAAO3B,UAAWS,EAAgBD,MAAMqC,aAW5D,OARAD,EAAQxC,UAAYR,OAAOkD,OAAOnB,EAAMvB,UAAW,CACjDyC,YAAa,CACXE,MAAOH,EACPI,YAAY,EACZC,UAAU,EACVC,cAAc,KAGXpC,EAAgB8B,EAASjB,KAGVA,oBAILine truncated {"version":3,"file":"vendors.js","mappings":";uGAAA,SAASA,IAeP,OAdAA,EAAWC,OAAOC,QAAU,SAAUC,GACpC,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CACzC,IAAIG,EAASF,UAAUD,GAEvB,IAAK,IAAII,KAAOD,EACVN,OAAOQ,UAAUC,eAAeC,KAAKJ,EAAQC,KAC/CL,EAAOK,GAAOD,EAAOC,IAK3B,OAAOL,IAGOS,MAAMC,KAAMR,WAU9B,SAASS,EAAgBC,GAIvB,OAHAD,EAAkBb,OAAOe,eAAiBf,OAAOgB,eAAiB,SAAyBF,GACzF,OAAOA,EAAEG,WAAajB,OAAOgB,eAAeF,KAEvBA,GAGzB,SAASI,EAAgBJ,EAAGK,GAM1B,OALAD,EAAkBlB,OAAOe,gBAAkB,SAAyBD,EAAGK,GAErE,OADAL,EAAEG,UAAYE,EACPL,IAGcA,EAAGK,GAG5B,SAASC,IACP,GAAuB,oBAAZC,UAA4BA,QAAQC,UAAW,OAAO,EACjE,GAAID,QAAQC,UAAUC,KAAM,OAAO,EACnC,GAAqB,mBAAVC,MAAsB,OAAO,EAExC,IAEE,OADAC,QAAQjB,UAAUkB,QAAQhB,KAAKW,QAAQC,UAAUG,QAAS,IAAI,iBACvD,EACP,MAAOE,GACP,OAAO,GAIX,SAASC,EAAWC,EAAQC,EAAMC,GAchC,OAZEH,EADER,IACWC,QAAQC,UAER,SAAoBO,EAAQC,EAAMC,GAC7C,IAAIC,EAAI,CAAC,MACTA,EAAEC,KAAKtB,MAAMqB,EAAGF,GAChB,IACII,EAAW,IADGC,SAASC,KAAKzB,MAAMkB,EAAQG,IAG9C,OADID,GAAOb,EAAgBgB,EAAUH,EAAMvB,WACpC0B,IAIOvB,MAAM,KAAMP,WAOhC,SAASiC,EAAiBN,GACxB,IAAIO,EAAwB,mBAARC,IAAqB,IAAIA,SAAQC,EA8BrD,OA5BAH,EAAmB,SAA0BN,GAC3C,GAAc,OAAVA,IARmBU,EAQkBV,GAPqB,IAAzDI,SAASO,SAAShC,KAAK+B,GAAIE,QAAQ,kBAOS,OAAOZ,EAR5D,IAA2BU,EAUvB,GAAqB,mBAAVV,EACT,MAAM,IAAIa,UAAU,sDAGtB,QAAsB,IAAXN,EAAwB,CACjC,GAAIA,EAAOO,IAAId,GAAQ,OAAOO,EAAOQ,IAAIf,GAEzCO,EAAOS,IAAIhB,EAAOiB,GAGpB,SAASA,IACP,OAAOpB,EAAWG,EAAO3B,UAAWS,EAAgBD,MAAMqC,aAW5D,OARAD,EAAQxC,UAAYR,OAAOkD,OAAOnB,EAAMvB,UAAW,CACjDyC,YAAa,CACXE,MAAOH,EACPI,YAAY,EACZC,UAAU,EACVC,cAAc,KAGXpC,EAAgB8B,EAASjB,KAGVA,oBAILine truncated