gitextract_rzw9mcuf/ ├── .appveyor.yml ├── .codecov.yml ├── .gitattributes ├── .gitignore ├── .mailmap ├── CONTRIBUTING.md ├── ISSUE_TEMPLATE.md ├── LICENSE ├── README.md ├── _development/ │ ├── Pyfa_CodeStyle.xml │ ├── Pyfa_Inspections.xml │ ├── __init__.py │ ├── helpers.py │ ├── helpers_fits.py │ ├── helpers_items.py │ └── helpers_locale.py ├── config.py ├── crowdin.yml ├── db_update.py ├── dist_assets/ │ ├── cacert.pem │ ├── linux/ │ │ └── AppImageBuilder.yml │ ├── mac/ │ │ ├── pyfa.icns │ │ └── pyfa.spec │ └── win/ │ ├── dist.py │ ├── pyfa-setup.iss │ ├── pyfa.spec │ └── version_resource.py ├── docs/ │ ├── _config.yml │ ├── callback.html │ └── index.md ├── eos/ │ ├── __init__.py │ ├── calc.py │ ├── capSim.py │ ├── config.py │ ├── const.py │ ├── db/ │ │ ├── __init__.py │ │ ├── gamedata/ │ │ │ ├── __init__.py │ │ │ ├── alphaClones.py │ │ │ ├── attribute.py │ │ │ ├── category.py │ │ │ ├── dynamicAttributes.py │ │ │ ├── effect.py │ │ │ ├── group.py │ │ │ ├── implantSet.py │ │ │ ├── item.py │ │ │ ├── marketGroup.py │ │ │ ├── metaData.py │ │ │ ├── metaGroup.py │ │ │ ├── queries.py │ │ │ ├── traits.py │ │ │ └── unit.py │ │ ├── migration.py │ │ ├── migrations/ │ │ │ ├── __init__.py │ │ │ ├── upgrade1.py │ │ │ ├── upgrade10.py │ │ │ ├── upgrade11.py │ │ │ ├── upgrade12.py │ │ │ ├── upgrade13.py │ │ │ ├── upgrade14.py │ │ │ ├── upgrade15.py │ │ │ ├── upgrade16.py │ │ │ ├── upgrade17.py │ │ │ ├── upgrade18.py │ │ │ ├── upgrade19.py │ │ │ ├── upgrade2.py │ │ │ ├── upgrade20.py │ │ │ ├── upgrade21.py │ │ │ ├── upgrade22.py │ │ │ ├── upgrade23.py │ │ │ ├── upgrade24.py │ │ │ ├── upgrade25.py │ │ │ ├── upgrade26.py │ │ │ ├── upgrade27.py │ │ │ ├── upgrade28.py │ │ │ ├── upgrade29.py │ │ │ ├── upgrade3.py │ │ │ ├── upgrade30.py │ │ │ ├── upgrade31.py │ │ │ ├── upgrade32.py │ │ │ ├── upgrade33.py │ │ │ ├── upgrade34.py │ │ │ ├── upgrade35.py │ │ │ ├── upgrade36.py │ │ │ ├── upgrade37.py │ │ │ ├── upgrade38.py │ │ │ ├── upgrade39.py │ │ │ ├── upgrade4.py │ │ │ ├── upgrade40.py │ │ │ ├── upgrade41.py │ │ │ ├── upgrade42.py │ │ │ ├── upgrade43.py │ │ │ ├── upgrade44.py │ │ │ ├── upgrade45.py │ │ │ ├── upgrade46.py │ │ │ ├── upgrade47.py │ │ │ ├── upgrade48.py │ │ │ ├── upgrade49.py │ │ │ ├── upgrade5.py │ │ │ ├── upgrade6.py │ │ │ ├── upgrade7.py │ │ │ ├── upgrade8.py │ │ │ └── upgrade9.py │ │ ├── saveddata/ │ │ │ ├── __init__.py │ │ │ ├── booster.py │ │ │ ├── cargo.py │ │ │ ├── character.py │ │ │ ├── damagePattern.py │ │ │ ├── databaseRepair.py │ │ │ ├── drone.py │ │ │ ├── fighter.py │ │ │ ├── fit.py │ │ │ ├── implant.py │ │ │ ├── implantSet.py │ │ │ ├── miscData.py │ │ │ ├── module.py │ │ │ ├── mutatorDrone.py │ │ │ ├── mutatorMod.py │ │ │ ├── override.py │ │ │ ├── price.py │ │ │ ├── queries.py │ │ │ ├── skill.py │ │ │ ├── targetProfile.py │ │ │ └── user.py │ │ └── util.py │ ├── effectHandlerHelpers.py │ ├── effects.py │ ├── eqBase.py │ ├── events.py │ ├── gamedata.py │ ├── lgpl.txt │ ├── modifiedAttributeDict.py │ ├── saveddata/ │ │ ├── __init__.py │ │ ├── booster.py │ │ ├── boosterSideEffect.py │ │ ├── cargo.py │ │ ├── character.py │ │ ├── citadel.py │ │ ├── damagePattern.py │ │ ├── drone.py │ │ ├── fighter.py │ │ ├── fighterAbility.py │ │ ├── fit.py │ │ ├── implant.py │ │ ├── implantSet.py │ │ ├── miscData.py │ │ ├── mode.py │ │ ├── module.py │ │ ├── mutatedMixin.py │ │ ├── mutator.py │ │ ├── override.py │ │ ├── price.py │ │ ├── ship.py │ │ ├── ssocharacter.py │ │ ├── targetProfile.py │ │ └── user.py │ └── utils/ │ ├── __init__.py │ ├── cycles.py │ ├── default.py │ ├── float.py │ ├── pyinst_support.py │ ├── round.py │ ├── spoolSupport.py │ └── stats.py ├── graphs/ │ ├── __init__.py │ ├── calc.py │ ├── data/ │ │ ├── __init__.py │ │ ├── base/ │ │ │ ├── __init__.py │ │ │ ├── cache.py │ │ │ ├── defs.py │ │ │ ├── getter.py │ │ │ └── graph.py │ │ ├── fitCapacitor/ │ │ │ ├── __init__.py │ │ │ ├── getter.py │ │ │ └── graph.py │ │ ├── fitDamageStats/ │ │ │ ├── __init__.py │ │ │ ├── cache/ │ │ │ │ ├── __init__.py │ │ │ │ ├── projected.py │ │ │ │ └── time.py │ │ │ ├── calc/ │ │ │ │ ├── __init__.py │ │ │ │ ├── application.py │ │ │ │ └── projected.py │ │ │ ├── getter.py │ │ │ └── graph.py │ │ ├── fitEcmBurstScanresDamps/ │ │ │ ├── __init__.py │ │ │ ├── getter.py │ │ │ └── graph.py │ │ ├── fitEwarStats/ │ │ │ ├── __init__.py │ │ │ ├── getter.py │ │ │ └── graph.py │ │ ├── fitLockTime/ │ │ │ ├── __init__.py │ │ │ ├── getter.py │ │ │ └── graph.py │ │ ├── fitMobility/ │ │ │ ├── __init__.py │ │ │ ├── getter.py │ │ │ └── graph.py │ │ ├── fitRemoteReps/ │ │ │ ├── __init__.py │ │ │ ├── cache.py │ │ │ ├── calc.py │ │ │ ├── getter.py │ │ │ └── graph.py │ │ ├── fitShieldRegen/ │ │ │ ├── __init__.py │ │ │ ├── getter.py │ │ │ └── graph.py │ │ └── fitWarpTime/ │ │ ├── __init__.py │ │ ├── cache.py │ │ ├── getter.py │ │ └── graph.py │ ├── events.py │ ├── gui/ │ │ ├── __init__.py │ │ ├── canvasPanel.py │ │ ├── ctrlPanel.py │ │ ├── frame.py │ │ ├── lists.py │ │ ├── stylePickers.py │ │ └── vector.py │ ├── style.py │ └── wrapper.py ├── gui/ │ ├── __init__.py │ ├── aboutData.py │ ├── additionsPane.py │ ├── app.py │ ├── attribute_gauge.py │ ├── auxWindow.py │ ├── bitmap_loader.py │ ├── builtinAdditionPanes/ │ │ ├── __init__.py │ │ ├── boosterView.py │ │ ├── cargoView.py │ │ ├── commandView.py │ │ ├── droneView.py │ │ ├── fighterView.py │ │ ├── implantView.py │ │ ├── notesView.py │ │ └── projectedView.py │ ├── builtinContextMenus/ │ │ ├── __init__.py │ │ ├── additionsExportAll.py │ │ ├── additionsExportSelection.py │ │ ├── additionsImport.py │ │ ├── ammoToDmgPattern.py │ │ ├── boosterSideEffects.py │ │ ├── cargoAdd.py │ │ ├── cargoAddAmmo.py │ │ ├── cargoFill.py │ │ ├── commandFitAdd.py │ │ ├── damagePatternChange.py │ │ ├── droneAddStack.py │ │ ├── droneSplitStack.py │ │ ├── envEffectAdd.py │ │ ├── factorReload.py │ │ ├── fighterAbilities.py │ │ ├── fitAddBrowse.py │ │ ├── fitAddCurrentlyOpen.py │ │ ├── fitOpenNewTab.py │ │ ├── fitPilotSecurity.py │ │ ├── fitSystemSecurity.py │ │ ├── graphDmgApplyProjected.py │ │ ├── graphDmgDroneMode.py │ │ ├── graphDmgIgnoreResists.py │ │ ├── graphDroneControlRange.py │ │ ├── graphFitAmmoPicker.py │ │ ├── graphLockRange.py │ │ ├── implantSetApply.py │ │ ├── implantSetSave.py │ │ ├── itemAmountChange.py │ │ ├── itemFill.py │ │ ├── itemMarketJump.py │ │ ├── itemMutations.py │ │ ├── itemProject.py │ │ ├── itemProjectionRange.py │ │ ├── itemRemove.py │ │ ├── itemStats.py │ │ ├── itemVariationChange.py │ │ ├── moduleAmmoChange.py │ │ ├── moduleFill.py │ │ ├── moduleMutatedExport.py │ │ ├── moduleRahPattern.py │ │ ├── moduleSpool.py │ │ ├── priceOptions.py │ │ ├── resistMode.py │ │ ├── shared/ │ │ │ ├── __init__.py │ │ │ └── patterns.py │ │ ├── shipJump.py │ │ ├── shipModeChange.py │ │ ├── skillAffectors.py │ │ └── targetProfile/ │ │ ├── __init__.py │ │ ├── adder.py │ │ ├── editor.py │ │ └── switcher.py │ ├── builtinItemStatsViews/ │ │ ├── __init__.py │ │ ├── attributeGrouping.py │ │ ├── attributeSlider.py │ │ ├── helpers.py │ │ ├── itemAffectedBy.py │ │ ├── itemAttributes.py │ │ ├── itemCompare.py │ │ ├── itemDependants.py │ │ ├── itemDescription.py │ │ ├── itemEffects.py │ │ ├── itemMutator.py │ │ ├── itemProperties.py │ │ ├── itemRequirements.py │ │ └── itemTraits.py │ ├── builtinMarketBrowser/ │ │ ├── __init__.py │ │ ├── events.py │ │ ├── itemView.py │ │ ├── marketTree.py │ │ ├── metaButton.py │ │ ├── pfSearchBox.py │ │ └── searchBox.py │ ├── builtinPreferenceViews/ │ │ ├── __init__.py │ │ ├── dummyView.py │ │ ├── pyfaContextMenuPreferences.py │ │ ├── pyfaDatabasePreferences.py │ │ ├── pyfaEnginePreferences.py │ │ ├── pyfaEsiPreferences.py │ │ ├── pyfaGeneralPreferences.py │ │ ├── pyfaHTMLExportPreferences.py │ │ ├── pyfaLoggingPreferences.py │ │ ├── pyfaMarketPreferences.py │ │ ├── pyfaNetworkPreferences.py │ │ ├── pyfaStatViewPreferences.py │ │ └── pyfaUpdatePreferences.py │ ├── builtinShipBrowser/ │ │ ├── __init__.py │ │ ├── categoryItem.py │ │ ├── events.py │ │ ├── fitItem.py │ │ ├── navigationPanel.py │ │ ├── pfBitmapButton.py │ │ ├── pfBitmapFrame.py │ │ ├── pfListPane.py │ │ ├── pfStaticText.py │ │ ├── pfWidgetContainer.py │ │ ├── raceSelector.py │ │ ├── sfBrowserItem.py │ │ └── shipItem.py │ ├── builtinStatsViews/ │ │ ├── __init__.py │ │ ├── bombingViewFull.py │ │ ├── capacitorViewFull.py │ │ ├── firepowerViewFull.py │ │ ├── miningyieldViewFull.py │ │ ├── outgoingViewFull.py │ │ ├── outgoingViewMinimal.py │ │ ├── priceViewFull.py │ │ ├── priceViewMinimal.py │ │ ├── rechargeViewFull.py │ │ ├── resistancesViewFull.py │ │ ├── resourcesViewFull.py │ │ └── targetingMiscViewMinimal.py │ ├── builtinViewColumns/ │ │ ├── __init__.py │ │ ├── abilities.py │ │ ├── ammo.py │ │ ├── ammoIcon.py │ │ ├── attributeDisplay.py │ │ ├── attributeDisplayGraph.py │ │ ├── baseIcon.py │ │ ├── baseName.py │ │ ├── capacitorUse.py │ │ ├── dampScanRes.py │ │ ├── droneEhp.py │ │ ├── droneRegen.py │ │ ├── graphColor.py │ │ ├── graphLightness.py │ │ ├── graphLineStyle.py │ │ ├── heat.py │ │ ├── maxRange.py │ │ ├── misc.py │ │ ├── price.py │ │ ├── projectionRange.py │ │ ├── propertyDisplay.py │ │ ├── sideEffects.py │ │ ├── state.py │ │ └── targetResists.py │ ├── builtinViews/ │ │ ├── __init__.py │ │ ├── emptyView.py │ │ ├── entityEditor.py │ │ ├── fittingView.py │ │ └── implantEditor.py │ ├── cachingImageList.py │ ├── characterEditor.py │ ├── characterSelection.py │ ├── chrome_tabs.py │ ├── contextMenu.py │ ├── copySelectDialog.py │ ├── devTools.py │ ├── display.py │ ├── errorDialog.py │ ├── esiFittings.py │ ├── fitBrowserLite.py │ ├── fitCommands/ │ │ ├── __init__.py │ │ ├── calc/ │ │ │ ├── __init__.py │ │ │ ├── booster/ │ │ │ │ ├── __init__.py │ │ │ │ ├── add.py │ │ │ │ ├── remove.py │ │ │ │ ├── sideEffectToggleState.py │ │ │ │ └── toggleStates.py │ │ │ ├── cargo/ │ │ │ │ ├── __init__.py │ │ │ │ ├── add.py │ │ │ │ ├── changeAmount.py │ │ │ │ └── remove.py │ │ │ ├── commandFit/ │ │ │ │ ├── __init__.py │ │ │ │ ├── add.py │ │ │ │ ├── remove.py │ │ │ │ └── toggleStates.py │ │ │ ├── drone/ │ │ │ │ ├── __init__.py │ │ │ │ ├── localAdd.py │ │ │ │ ├── localChangeAmount.py │ │ │ │ ├── localChangeMutation.py │ │ │ │ ├── localRemove.py │ │ │ │ ├── localToggleStates.py │ │ │ │ ├── projectedAdd.py │ │ │ │ ├── projectedChangeAmount.py │ │ │ │ ├── projectedChangeProjectionRange.py │ │ │ │ ├── projectedChangeState.py │ │ │ │ └── projectedRemove.py │ │ │ ├── fighter/ │ │ │ │ ├── __init__.py │ │ │ │ ├── abilityToggleStates.py │ │ │ │ ├── changeAmount.py │ │ │ │ ├── localAdd.py │ │ │ │ ├── localRemove.py │ │ │ │ ├── localToggleStates.py │ │ │ │ ├── projectedAdd.py │ │ │ │ ├── projectedChangeProjectionRange.py │ │ │ │ ├── projectedChangeState.py │ │ │ │ └── projectedRemove.py │ │ │ ├── fitPilotSecurity.py │ │ │ ├── fitRename.py │ │ │ ├── fitSystemSecurity.py │ │ │ ├── implant/ │ │ │ │ ├── __init__.py │ │ │ │ ├── add.py │ │ │ │ ├── changeLocation.py │ │ │ │ ├── remove.py │ │ │ │ └── toggleStates.py │ │ │ ├── itemRebase.py │ │ │ ├── module/ │ │ │ │ ├── __init__.py │ │ │ │ ├── changeCharges.py │ │ │ │ ├── changeSpool.py │ │ │ │ ├── localAdd.py │ │ │ │ ├── localChangeMutation.py │ │ │ │ ├── localChangeStates.py │ │ │ │ ├── localClone.py │ │ │ │ ├── localRemove.py │ │ │ │ ├── localReplace.py │ │ │ │ ├── localSwap.py │ │ │ │ ├── projectedAdd.py │ │ │ │ ├── projectedChangeProjectionRange.py │ │ │ │ ├── projectedChangeStates.py │ │ │ │ └── projectedRemove.py │ │ │ ├── projectedFit/ │ │ │ │ ├── __init__.py │ │ │ │ ├── add.py │ │ │ │ ├── changeAmount.py │ │ │ │ ├── changeProjectionRange.py │ │ │ │ ├── changeState.py │ │ │ │ └── remove.py │ │ │ └── shipModeChange.py │ │ ├── gui/ │ │ │ ├── __init__.py │ │ │ ├── booster/ │ │ │ │ ├── __init__.py │ │ │ │ ├── add.py │ │ │ │ ├── changeMeta.py │ │ │ │ ├── imprt.py │ │ │ │ ├── remove.py │ │ │ │ ├── sideEffectToggleState.py │ │ │ │ └── toggleStates.py │ │ │ ├── cargo/ │ │ │ │ ├── __init__.py │ │ │ │ ├── add.py │ │ │ │ ├── changeAmount.py │ │ │ │ ├── changeMetas.py │ │ │ │ ├── imprt.py │ │ │ │ └── remove.py │ │ │ ├── commandFit/ │ │ │ │ ├── __init__.py │ │ │ │ ├── add.py │ │ │ │ ├── remove.py │ │ │ │ └── toggleStates.py │ │ │ ├── fitPilotSecurity.py │ │ │ ├── fitRename.py │ │ │ ├── fitRestrictionToggle.py │ │ │ ├── fitSystemSecurity.py │ │ │ ├── implant/ │ │ │ │ ├── __init__.py │ │ │ │ ├── add.py │ │ │ │ ├── changeLocation.py │ │ │ │ ├── changeMeta.py │ │ │ │ ├── imprt.py │ │ │ │ ├── remove.py │ │ │ │ ├── setAdd.py │ │ │ │ └── toggleStates.py │ │ │ ├── itemsRebase.py │ │ │ ├── localDrone/ │ │ │ │ ├── __init__.py │ │ │ │ ├── add.py │ │ │ │ ├── changeAmount.py │ │ │ │ ├── changeMetas.py │ │ │ │ ├── changeMutation.py │ │ │ │ ├── clone.py │ │ │ │ ├── imprt.py │ │ │ │ ├── mutatedConvert.py │ │ │ │ ├── mutatedImport.py │ │ │ │ ├── mutatedRevert.py │ │ │ │ ├── remove.py │ │ │ │ ├── stackSplit.py │ │ │ │ ├── stacksMerge.py │ │ │ │ └── toggleStates.py │ │ │ ├── localFighter/ │ │ │ │ ├── __init__.py │ │ │ │ ├── abilityToggleState.py │ │ │ │ ├── add.py │ │ │ │ ├── changeAmount.py │ │ │ │ ├── changeMetas.py │ │ │ │ ├── imprt.py │ │ │ │ ├── remove.py │ │ │ │ └── toggleStates.py │ │ │ ├── localModule/ │ │ │ │ ├── __init__.py │ │ │ │ ├── add.py │ │ │ │ ├── changeCharges.py │ │ │ │ ├── changeMetas.py │ │ │ │ ├── changeMutation.py │ │ │ │ ├── changeSpool.py │ │ │ │ ├── changeStates.py │ │ │ │ ├── clone.py │ │ │ │ ├── fillAdd.py │ │ │ │ ├── fillClone.py │ │ │ │ ├── mutatedConvert.py │ │ │ │ ├── mutatedImport.py │ │ │ │ ├── mutatedRevert.py │ │ │ │ ├── remove.py │ │ │ │ ├── replace.py │ │ │ │ └── swap.py │ │ │ ├── localModuleCargo/ │ │ │ │ ├── __init__.py │ │ │ │ ├── cargoToLocalModule.py │ │ │ │ └── localModuleToCargo.py │ │ │ ├── projectedChangeProjectionRange.py │ │ │ ├── projectedChangeStates.py │ │ │ ├── projectedDrone/ │ │ │ │ ├── __init__.py │ │ │ │ ├── add.py │ │ │ │ ├── changeAmount.py │ │ │ │ └── changeMetas.py │ │ │ ├── projectedFighter/ │ │ │ │ ├── __init__.py │ │ │ │ ├── abilityToggleState.py │ │ │ │ ├── add.py │ │ │ │ ├── changeAmount.py │ │ │ │ └── changeMetas.py │ │ │ ├── projectedFit/ │ │ │ │ ├── __init__.py │ │ │ │ ├── add.py │ │ │ │ └── changeAmount.py │ │ │ ├── projectedModule/ │ │ │ │ ├── __init__.py │ │ │ │ ├── add.py │ │ │ │ ├── changeCharges.py │ │ │ │ ├── changeMetas.py │ │ │ │ └── changeSpool.py │ │ │ ├── projectedRemove.py │ │ │ └── shipModeChange.py │ │ └── helpers.py │ ├── globalEvents.py │ ├── itemStats.py │ ├── mainFrame.py │ ├── mainMenuBar.py │ ├── marketBrowser.py │ ├── multiSwitch.py │ ├── patternEditor.py │ ├── preferenceDialog.py │ ├── preferenceView.py │ ├── propertyEditor.py │ ├── pyfa_gauge.py │ ├── setEditor.py │ ├── shipBrowser.py │ ├── ssoLogin.py │ ├── statsPane.py │ ├── statsView.py │ ├── targetProfileEditor.py │ ├── toggle_panel.py │ ├── updateDialog.py │ ├── utils/ │ │ ├── __init__.py │ │ ├── anim.py │ │ ├── anim_effects.py │ │ ├── clipboard.py │ │ ├── color.py │ │ ├── dark.py │ │ ├── draw.py │ │ ├── exportHtml.py │ │ ├── fonts.py │ │ ├── gdi.py │ │ ├── helpers_wxPython.py │ │ ├── inputs.py │ │ ├── listFormatter.py │ │ ├── numberFormatter.py │ │ ├── progressHelper.py │ │ ├── sorter.py │ │ └── staticHelpers.py │ └── viewColumn.py ├── locale/ │ ├── README.md │ ├── en_US/ │ │ └── LC_MESSAGES/ │ │ └── lang.po │ ├── es_ES/ │ │ └── LC_MESSAGES/ │ │ └── lang.po │ ├── fr_FR/ │ │ └── LC_MESSAGES/ │ │ └── lang.po │ ├── it_IT/ │ │ └── LC_MESSAGES/ │ │ └── lang.po │ ├── ja_JP/ │ │ └── LC_MESSAGES/ │ │ └── lang.po │ ├── ko_KR/ │ │ └── LC_MESSAGES/ │ │ └── lang.po │ ├── lang.pot │ ├── ru_RU/ │ │ └── LC_MESSAGES/ │ │ └── lang.po │ ├── tr_TR/ │ │ └── LC_MESSAGES/ │ │ └── lang.po │ └── zh_CN/ │ └── LC_MESSAGES/ │ └── lang.po ├── locale_test/ │ └── getTextLocale.py ├── pyfa.py ├── pyfa.spec ├── requirements.txt ├── scripts/ │ ├── __init__.py │ ├── compile_data.py │ ├── compile_lang.py │ ├── conversion.py │ ├── dump_crowdin_progress.py │ ├── dump_data.py │ ├── dump_version.py │ ├── dynamicattributes.py │ ├── effectUsedBy.py │ ├── findNonMarket.py │ ├── icons_update.py │ ├── itemDiff.py │ ├── msgfmt.py │ ├── osx-package.sh │ ├── osx-setup.sh │ ├── osx-translations.sh │ └── renders_update.py ├── service/ │ ├── __init__.py │ ├── ammo.py │ ├── attribute.py │ ├── character.py │ ├── const.py │ ├── conversions/ │ │ ├── __init__.py │ │ ├── releaseApr2020.py │ │ ├── releaseApril2016.py │ │ ├── releaseAug2019.py │ │ ├── releaseAug2020.py │ │ ├── releaseAug2022.py │ │ ├── releaseCarnyx.py │ │ ├── releaseDec2021.py │ │ ├── releaseDecember15.py │ │ ├── releaseEquinox.py │ │ ├── releaseFeb2016.py │ │ ├── releaseFeb2018.py │ │ ├── releaseFeb2020.py │ │ ├── releaseFeb2023.py │ │ ├── releaseInvasion.py │ │ ├── releaseJan2016.py │ │ ├── releaseJan2020.py │ │ ├── releaseJul2020.py │ │ ├── releaseJun2020.py │ │ ├── releaseMar2016.py │ │ ├── releaseMar2020.py │ │ ├── releaseMay2020.py │ │ ├── releaseNov2016.py │ │ ├── releaseNov2025.py │ │ ├── releaseOceanus.py │ │ ├── releaseOct2020.py │ │ ├── releaseOct2021.py │ │ ├── releaseParallax.py │ │ ├── releaseProteus.py │ │ ├── releaseSep2020.py │ │ ├── releaseSep2023.py │ │ ├── releaseSep2024.py │ │ ├── releaseSep2025.py │ │ ├── releaseTiamat.py │ │ ├── skinnedShips.py │ │ └── trigDread.py │ ├── crudeTests.py │ ├── damagePattern.py │ ├── esi.py │ ├── esiAccess.py │ ├── eveapi.py │ ├── fit.py │ ├── implantSet.py │ ├── jargon/ │ │ ├── __init__.py │ │ ├── defaults.yaml │ │ ├── header.yaml │ │ ├── jargon.py │ │ ├── loader.py │ │ └── resources.py │ ├── market.py │ ├── marketSources/ │ │ ├── __init__.py │ │ ├── cevemarket.py │ │ ├── evemarketdata.py │ │ ├── evetycoon.py │ │ └── fuzzwork.py │ ├── network.py │ ├── port/ │ │ ├── __init__.py │ │ ├── dna.py │ │ ├── efs.py │ │ ├── eft.py │ │ ├── esi.py │ │ ├── multibuy.py │ │ ├── muta.py │ │ ├── port.py │ │ ├── shared.py │ │ ├── shipstats.py │ │ └── xml.py │ ├── precalcImplantSet.py │ ├── prefetch.py │ ├── prereqsCheck.py │ ├── price.py │ ├── pycrest/ │ │ └── eve.py │ ├── server.py │ ├── settings.py │ ├── targetProfile.py │ └── update.py ├── staticdata/ │ ├── fsd_built/ │ │ ├── categories.0.json │ │ ├── dogmaattributes.0.json │ │ ├── dogmaeffects.0.json │ │ ├── dogmaunits.0.json │ │ ├── dynamicitemattributes.0.json │ │ ├── groups.0.json │ │ ├── iconids.0.json │ │ ├── marketgroups.0.json │ │ ├── metagroups.0.json │ │ ├── requiredskillsfortypes.0.json │ │ ├── typedogma.0.json │ │ ├── typedogma.1.json │ │ ├── typedogma.2.json │ │ ├── types.0.json │ │ ├── types.1.json │ │ ├── types.2.json │ │ ├── types.3.json │ │ ├── types.4.json │ │ └── types.5.json │ ├── fsd_lite/ │ │ ├── clonegrades.0.json │ │ └── dbuffcollections.0.json │ └── phobos/ │ ├── metadata.0.json │ └── traits.0.json ├── tests/ │ ├── jeffy_ja-en[99].xml │ ├── test_locale/ │ │ ├── file_dialog.py │ │ ├── readme.md │ │ ├── test_Pyfa/ │ │ │ ├── test_codec_english.py │ │ │ └── testcodec │ │ ├── test_os_walk.py │ │ ├── test_знаф/ │ │ │ ├── test_codec_russian.py │ │ │ └── testcodec │ │ ├── test_פטכש/ │ │ │ ├── test_codec_hebrew.py │ │ │ └── testcodec │ │ └── test_测试/ │ │ ├── test_codec_chinese_simplified.py │ │ └── testcodec │ ├── test_modules/ │ │ ├── test_eos/ │ │ │ ├── test_gamedata.py │ │ │ ├── test_modifiedAttributeDict.py │ │ │ ├── test_saveddata/ │ │ │ │ ├── test_booster.py │ │ │ │ └── test_fit_2.py │ │ │ └── test_utils/ │ │ │ └── test_stats.py │ │ ├── test_gui/ │ │ │ └── test_aboutData.py │ │ └── test_service/ │ │ ├── test_attribute.py │ │ └── test_fit.py │ ├── test_placeholder.py │ └── test_unread_desc.py ├── tox.ini ├── utils/ │ ├── __init__.py │ ├── cjk.py │ ├── deprecated.py │ ├── repr.py │ ├── stopwatch.py │ ├── strfunctions.py │ └── timer.py └── version.yml